diff --git a/build/jam/BuildFeatures b/build/jam/BuildFeatures index 2697c4679b..11b5b7861d 100644 --- a/build/jam/BuildFeatures +++ b/build/jam/BuildFeatures @@ -520,6 +520,23 @@ if [ IsPackageAvailable libwebp_devel ] { } +# ncurses +if [ IsPackageAvailable ncurses_devel ] { + ExtractBuildFeatureArchives ncurses : + file: base ncurses + runtime: lib + file: devel ncurses_devel + depends: base + library: $(developLibDir)/libncurses.so.5 + headers: $(developHeadersDir) $(developHeadersDir)/ncurses + ; + + EnableBuildFeatures ncurses ; +} else { + Echo "ncurses support not available on $(TARGET_PACKAGING_ARCH)" ; +} + + # GPL add-ons if $(HAIKU_INCLUDE_GPL_ADDONS) = 1 { EnableBuildFeatures gpl ; diff --git a/headers/libs/ncurses/curses.h b/headers/libs/ncurses/curses.h deleted file mode 100644 index 4b8a84797f..0000000000 --- a/headers/libs/ncurses/curses.h +++ /dev/null @@ -1,1336 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* $Id: curses.h.in,v 1.157 2005/07/02 16:58:28 tom Exp $ */ - -#ifndef __NCURSES_H -#define __NCURSES_H - -#define CURSES 1 -#define CURSES_H 1 - -/* This should be defined for the enhanced functionality to be visible. - * However, some of the wide-character (enhanced) functionality is missing. - * So we do not define it (yet). -#define _XOPEN_CURSES 1 - */ - -/* These are defined only in curses.h, and are used for conditional compiles */ -#define NCURSES_VERSION_MAJOR 5 -#define NCURSES_VERSION_MINOR 5 -#define NCURSES_VERSION_PATCH 20051010 - -/* This is defined in more than one ncurses header, for identification */ -#undef NCURSES_VERSION -#define NCURSES_VERSION "5.5" - -/* - * Identify the mouse encoding version. - */ -#define NCURSES_MOUSE_VERSION 1 - -/* - * Definitions to facilitate DLL's. - */ -#include - -/* - * User-definable tweak to disable the include of . - */ -#ifndef NCURSES_ENABLE_STDBOOL_H -#define NCURSES_ENABLE_STDBOOL_H 0 -#endif - -/* - * NCURSES_ATTR_T is used to quiet compiler warnings when building ncurses - * configured using --disable-macros. - */ -#ifdef NCURSES_NOMACROS -#define NCURSES_ATTR_T attr_t -#endif - -#ifndef NCURSES_ATTR_T -#define NCURSES_ATTR_T int -#endif - -/* - * Expands to 'const' if ncurses is configured using --enable-const. Note that - * doing so makes it incompatible with other implementations of X/Open Curses. - */ -#undef NCURSES_CONST -#define NCURSES_CONST /*nothing*/ - -/* - * The internal type used for color values - */ -#undef NCURSES_COLOR_T -#define NCURSES_COLOR_T short - -/* - * The internal type used for window dimensions. - */ -#undef NCURSES_SIZE_T -#define NCURSES_SIZE_T short - -/* - * NCURSES_CH_T is used in building the library, but not used otherwise in - * this header file, since that would make the normal/wide-character versions - * of the header incompatible. - */ -#undef NCURSES_CH_T -#define NCURSES_CH_T chtype - -#if 0 && defined(_LP64) -typedef unsigned chtype; -typedef unsigned mmask_t; -#else -typedef unsigned long chtype; -typedef unsigned long mmask_t; -#endif - -#include -#include -#include /* we need va_list */ -#ifdef _XOPEN_SOURCE_EXTENDED -#include /* we want wchar_t */ -#endif /* _XOPEN_SOURCE_EXTENDED */ - -/* XSI and SVr4 specify that curses implements 'bool'. However, C++ may also - * implement it. If so, we must use the C++ compiler's type to avoid conflict - * with other interfaces. - * - * A further complication is that may declare 'bool' to be a - * different type, such as an enum which is not necessarily compatible with - * C++. If we have , make 'bool' a macro, so users may #undef it. - * Otherwise, let it remain a typedef to avoid conflicts with other #define's. - * In either case, make a typedef for NCURSES_BOOL which can be used if needed - * from either C or C++. - */ - -#undef TRUE -#define TRUE 1 - -#undef FALSE -#define FALSE 0 - -typedef unsigned char NCURSES_BOOL; - -#if defined(__cplusplus) /* __cplusplus, etc. */ - -/* use the C++ compiler's bool type */ -#define NCURSES_BOOL bool - -#else /* c89, c99, etc. */ - -#if NCURSES_ENABLE_STDBOOL_H -#include -/* use whatever the C compiler decides bool really is */ -#define NCURSES_BOOL bool -#else -/* there is no predefined bool - use our own */ -#undef bool -#define bool NCURSES_BOOL -#endif - -#endif /* !__cplusplus, etc. */ - -#ifdef __cplusplus -extern "C" { -#define NCURSES_CAST(type,value) static_cast(value) -#else -#define NCURSES_CAST(type,value) (type)(value) -#endif - -/* - * XSI attributes. In the ncurses implementation, they are identical to the - * A_ attributes. - */ -#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 - -/* colors */ -extern NCURSES_EXPORT_VAR(int) COLORS; -extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS; - -#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 - -/* line graphics */ - -#if 0 -extern NCURSES_EXPORT_VAR(chtype*) _nc_acs_map(void); -#define acs_map (_nc_acs_map()) -#else -extern NCURSES_EXPORT_VAR(chtype) acs_map[]; -#endif - -#define NCURSES_ACS(c) (acs_map[NCURSES_CAST(unsigned char,c)]) - -/* VT100 symbols begin here */ -#define ACS_ULCORNER NCURSES_ACS('l') /* upper left corner */ -#define ACS_LLCORNER NCURSES_ACS('m') /* lower left corner */ -#define ACS_URCORNER NCURSES_ACS('k') /* upper right corner */ -#define ACS_LRCORNER NCURSES_ACS('j') /* lower right corner */ -#define ACS_LTEE NCURSES_ACS('t') /* tee pointing right */ -#define ACS_RTEE NCURSES_ACS('u') /* tee pointing left */ -#define ACS_BTEE NCURSES_ACS('v') /* tee pointing up */ -#define ACS_TTEE NCURSES_ACS('w') /* tee pointing down */ -#define ACS_HLINE NCURSES_ACS('q') /* horizontal line */ -#define ACS_VLINE NCURSES_ACS('x') /* vertical line */ -#define ACS_PLUS NCURSES_ACS('n') /* large plus or crossover */ -#define ACS_S1 NCURSES_ACS('o') /* scan line 1 */ -#define ACS_S9 NCURSES_ACS('s') /* scan line 9 */ -#define ACS_DIAMOND NCURSES_ACS('`') /* diamond */ -#define ACS_CKBOARD NCURSES_ACS('a') /* checker board (stipple) */ -#define ACS_DEGREE NCURSES_ACS('f') /* degree symbol */ -#define ACS_PLMINUS NCURSES_ACS('g') /* plus/minus */ -#define ACS_BULLET NCURSES_ACS('~') /* bullet */ -/* Teletype 5410v1 symbols begin here */ -#define ACS_LARROW NCURSES_ACS(',') /* arrow pointing left */ -#define ACS_RARROW NCURSES_ACS('+') /* arrow pointing right */ -#define ACS_DARROW NCURSES_ACS('.') /* arrow pointing down */ -#define ACS_UARROW NCURSES_ACS('-') /* arrow pointing up */ -#define ACS_BOARD NCURSES_ACS('h') /* board of squares */ -#define ACS_LANTERN NCURSES_ACS('i') /* lantern symbol */ -#define ACS_BLOCK NCURSES_ACS('0') /* solid square block */ -/* - * These aren't documented, but a lot of System Vs have them anyway - * (you can spot pprryyzz{{||}} in a lot of AT&T terminfo strings). - * The ACS_names may not match AT&T's, our source didn't know them. - */ -#define ACS_S3 NCURSES_ACS('p') /* scan line 3 */ -#define ACS_S7 NCURSES_ACS('r') /* scan line 7 */ -#define ACS_LEQUAL NCURSES_ACS('y') /* less/equal */ -#define ACS_GEQUAL NCURSES_ACS('z') /* greater/equal */ -#define ACS_PI NCURSES_ACS('{') /* Pi */ -#define ACS_NEQUAL NCURSES_ACS('|') /* not equal */ -#define ACS_STERLING NCURSES_ACS('}') /* UK pound sign */ - -/* - * Line drawing ACS names are of the form ACS_trbl, where t is the top, r - * is the right, b is the bottom, and l is the left. t, r, b, and l might - * be B (blank), S (single), D (double), or T (thick). The subset defined - * here only uses B and S. - */ -#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 - -#undef ERR -#define ERR (-1) - -#undef OK -#define OK (0) - -/* values for the _flags member */ -#define _SUBWIN 0x01 /* is this a sub-window? */ -#define _ENDLINE 0x02 /* is the window flush right? */ -#define _FULLWIN 0x04 /* is the window full-screen? */ -#define _SCROLLWIN 0x08 /* bottom edge is at screen bottom? */ -#define _ISPAD 0x10 /* is this window a pad? */ -#define _HASMOVED 0x20 /* has cursor moved since last refresh? */ -#define _WRAPPED 0x40 /* cursor was just wrappped */ - -/* - * this value is used in the firstchar and lastchar fields to mark - * unchanged lines - */ -#define _NOCHANGE -1 - -/* - * this value is used in the oldindex field to mark lines created by insertions - * and scrolls. - */ -#define _NEWINDEX -1 - -typedef struct screen SCREEN; -typedef struct _win_st WINDOW; - -typedef chtype attr_t; /* ...must be at least as wide as chtype */ - -#ifdef _XOPEN_SOURCE_EXTENDED - -#if 0 -#ifdef mblen /* libutf8.h defines it w/o undefining first */ -#undef mblen -#endif -#include -#endif - -#if 0 -#include /* ...to get mbstate_t, etc. */ -#endif - -#if 0 -typedef unsigned short wchar_t; -#endif - -#if 0 -typedef unsigned int wint_t; -#endif - -#define CCHARW_MAX 5 -typedef struct -{ - attr_t attr; - wchar_t chars[CCHARW_MAX]; -#if 0 - int ext_color; /* color pair, must be more than 16-bits */ -#endif -} -cchar_t; - -#endif /* _XOPEN_SOURCE_EXTENDED */ - -struct ldat; - -struct _win_st -{ - NCURSES_SIZE_T _cury, _curx; /* current cursor position */ - - /* window location and size */ - NCURSES_SIZE_T _maxy, _maxx; /* maximums of x and y, NOT window size */ - NCURSES_SIZE_T _begy, _begx; /* screen coords of upper-left-hand corner */ - - short _flags; /* window state flags */ - - /* attribute tracking */ - attr_t _attrs; /* current attribute for non-space character */ - chtype _bkgd; /* current background char/attribute pair */ - - /* option values set by user */ - 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 */ - - /* global screen state */ - NCURSES_SIZE_T _regtop; /* top line of scrolling region */ - NCURSES_SIZE_T _regbottom; /* bottom line of scrolling region */ - - /* these are used only if this is a sub-window */ - 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 */ - - /* these are used only if this is a pad */ - struct pdat - { - NCURSES_SIZE_T _pad_y, _pad_x; - NCURSES_SIZE_T _pad_top, _pad_left; - NCURSES_SIZE_T _pad_bottom, _pad_right; - } _pad; - - NCURSES_SIZE_T _yoffset; /* real begy is _begy + _yoffset */ - -#ifdef _XOPEN_SOURCE_EXTENDED - cchar_t _bkgrnd; /* current background char/attribute pair */ -#if 0 - int _color; /* current color-pair for non-space character */ -#endif -#endif -}; - -extern NCURSES_EXPORT_VAR(WINDOW *) stdscr; -extern NCURSES_EXPORT_VAR(WINDOW *) curscr; -extern NCURSES_EXPORT_VAR(WINDOW *) newscr; - -extern NCURSES_EXPORT_VAR(int) LINES; -extern NCURSES_EXPORT_VAR(int) COLS; -extern NCURSES_EXPORT_VAR(int) TABSIZE; - -/* - * This global was an undocumented feature under AIX curses. - */ -extern NCURSES_EXPORT_VAR(int) ESCDELAY; /* ESC expire time in milliseconds */ - -extern NCURSES_EXPORT_VAR(char) ttytype[]; /* needed for backward compatibility */ - -/* - * These functions are extensions - not in XSI Curses. - */ -#if 1 -extern NCURSES_EXPORT(bool) is_term_resized (int, int); -extern NCURSES_EXPORT(char *) keybound (int, int); -extern NCURSES_EXPORT(const char *) curses_version (void); -extern NCURSES_EXPORT(int) assume_default_colors (int, int); -extern NCURSES_EXPORT(int) define_key (const char *, int); -extern NCURSES_EXPORT(int) key_defined (const char *); -extern NCURSES_EXPORT(int) keyok (int, bool); -extern NCURSES_EXPORT(int) resize_term (int, int); -extern NCURSES_EXPORT(int) resizeterm (int, int); -extern NCURSES_EXPORT(int) use_default_colors (void); -extern NCURSES_EXPORT(int) use_extended_names (bool); -extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int); -#else -#define curses_version() NCURSES_VERSION -#endif - -/* - * This is an extension to support events... - */ -#if 1 -#ifdef NCURSES_WGETCH_EVENTS -#if !(defined(__BEOS__) || defined(__HAIKU__)) /* Fix _nc_timed_wait() on BEOS... */ -# define NCURSES_EVENT_VERSION 1 -#endif /* !defined(__BEOS__) */ - -/* - * Bits to set in _nc_event.data.flags - */ -# define _NC_EVENT_TIMEOUT_MSEC 1 -# define _NC_EVENT_FILE 2 -# define _NC_EVENT_FILE_READABLE 2 -# if 0 /* Not supported yet... */ -# define _NC_EVENT_FILE_WRITABLE 4 -# define _NC_EVENT_FILE_EXCEPTION 8 -# endif - -typedef struct -{ - int type; - union - { - long timeout_msec; /* _NC_EVENT_TIMEOUT_MSEC */ - struct - { - unsigned int flags; - int fd; - unsigned int result; - } fev; /* _NC_EVENT_FILE */ - } data; -} _nc_event; - -typedef struct -{ - int count; - int result_flags; /* _NC_EVENT_TIMEOUT_MSEC or _NC_EVENT_FILE_READABLE */ - _nc_event *events[1]; -} _nc_eventlist; - -extern NCURSES_EXPORT(int) wgetch_events(WINDOW *, _nc_eventlist *); /* experimental */ -extern NCURSES_EXPORT(int) wgetnstr_events(WINDOW *,char *,int,_nc_eventlist *);/* experimental */ - -#endif /* NCURSES_WGETCH_EVENTS */ -#endif /* NCURSES_EXT_FUNCS */ - -/* - * GCC (and some other compilers) define '__attribute__'; we're using this - * macro to alert the compiler to flag inconsistencies in printf/scanf-like - * function calls. Just in case '__attribute__' isn't defined, make a dummy. - * Old versions of G++ do not accept it anyway, at least not consistently with - * GCC. - */ -#if !(defined(__GNUC__) || defined(__GNUG__) || defined(__attribute__)) -#define __attribute__(p) /* nothing */ -#endif - -/* - * We cannot define these in ncurses_cfg.h, since they require parameters to be - * passed (that's non-portable). - */ -#ifndef GCC_PRINTFLIKE -#if defined(GCC_PRINTF) && !defined(printf) -#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var))) -#else -#define GCC_PRINTFLIKE(fmt,var) /*nothing*/ -#endif -#endif - -#ifndef GCC_SCANFLIKE -#if defined(GCC_SCANF) && !defined(scanf) -#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var))) -#else -#define GCC_SCANFLIKE(fmt,var) /*nothing*/ -#endif -#endif - -#ifndef GCC_NORETURN -#define GCC_NORETURN /* nothing */ -#endif - -#ifndef GCC_UNUSED -#define GCC_UNUSED /* nothing */ -#endif - -/* - * Function prototypes. This is the complete XSI Curses list of required - * functions. Those marked `generated' will have sources generated from the - * macro definitions later in this file, in order to satisfy XPG4.2 - * requirements. - */ - -extern NCURSES_EXPORT(int) addch (const chtype); /* generated */ -extern NCURSES_EXPORT(int) addchnstr (const chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) addchstr (const chtype *); /* generated */ -extern NCURSES_EXPORT(int) addnstr (const char *, int); /* generated */ -extern NCURSES_EXPORT(int) addstr (const char *); /* generated */ -extern NCURSES_EXPORT(int) attroff (NCURSES_ATTR_T); /* generated */ -extern NCURSES_EXPORT(int) attron (NCURSES_ATTR_T); /* generated */ -extern NCURSES_EXPORT(int) attrset (NCURSES_ATTR_T); /* generated */ -extern NCURSES_EXPORT(int) attr_get (attr_t *, short *, void *); /* generated */ -extern NCURSES_EXPORT(int) attr_off (attr_t, void *); /* generated */ -extern NCURSES_EXPORT(int) attr_on (attr_t, void *); /* generated */ -extern NCURSES_EXPORT(int) attr_set (attr_t, short, void *); /* generated */ -extern NCURSES_EXPORT(int) baudrate (void); /* implemented */ -extern NCURSES_EXPORT(int) beep (void); /* implemented */ -extern NCURSES_EXPORT(int) bkgd (chtype); /* generated */ -extern NCURSES_EXPORT(void) bkgdset (chtype); /* generated */ -extern NCURSES_EXPORT(int) border (chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype); /* generated */ -extern NCURSES_EXPORT(int) box (WINDOW *, chtype, chtype); /* generated */ -extern NCURSES_EXPORT(bool) can_change_color (void); /* implemented */ -extern NCURSES_EXPORT(int) cbreak (void); /* implemented */ -extern NCURSES_EXPORT(int) chgat (int, attr_t, short, const void *); /* generated */ -extern NCURSES_EXPORT(int) clear (void); /* generated */ -extern NCURSES_EXPORT(int) clearok (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) clrtobot (void); /* generated */ -extern NCURSES_EXPORT(int) clrtoeol (void); /* generated */ -extern NCURSES_EXPORT(int) color_content (short,short*,short*,short*); /* implemented */ -extern NCURSES_EXPORT(int) color_set (short,void*); /* generated */ -extern NCURSES_EXPORT(int) COLOR_PAIR (int); /* generated */ -extern NCURSES_EXPORT(int) copywin (const WINDOW*,WINDOW*,int,int,int,int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) curs_set (int); /* implemented */ -extern NCURSES_EXPORT(int) def_prog_mode (void); /* implemented */ -extern NCURSES_EXPORT(int) def_shell_mode (void); /* implemented */ -extern NCURSES_EXPORT(int) delay_output (int); /* implemented */ -extern NCURSES_EXPORT(int) delch (void); /* generated */ -extern NCURSES_EXPORT(void) delscreen (SCREEN *); /* implemented */ -extern NCURSES_EXPORT(int) delwin (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) deleteln (void); /* generated */ -extern NCURSES_EXPORT(WINDOW *) derwin (WINDOW *,int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) doupdate (void); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) dupwin (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) echo (void); /* implemented */ -extern NCURSES_EXPORT(int) echochar (const chtype); /* generated */ -extern NCURSES_EXPORT(int) erase (void); /* generated */ -extern NCURSES_EXPORT(int) endwin (void); /* implemented */ -extern NCURSES_EXPORT(char) erasechar (void); /* implemented */ -extern NCURSES_EXPORT(void) filter (void); /* implemented */ -extern NCURSES_EXPORT(int) flash (void); /* implemented */ -extern NCURSES_EXPORT(int) flushinp (void); /* implemented */ -extern NCURSES_EXPORT(chtype) getbkgd (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) getch (void); /* generated */ -extern NCURSES_EXPORT(int) getnstr (char *, int); /* generated */ -extern NCURSES_EXPORT(int) getstr (char *); /* generated */ -extern NCURSES_EXPORT(WINDOW *) getwin (FILE *); /* implemented */ -extern NCURSES_EXPORT(int) halfdelay (int); /* implemented */ -extern NCURSES_EXPORT(bool) has_colors (void); /* implemented */ -extern NCURSES_EXPORT(bool) has_ic (void); /* implemented */ -extern NCURSES_EXPORT(bool) has_il (void); /* implemented */ -extern NCURSES_EXPORT(int) hline (chtype, int); /* generated */ -extern NCURSES_EXPORT(void) idcok (WINDOW *, bool); /* implemented */ -extern NCURSES_EXPORT(int) idlok (WINDOW *, bool); /* implemented */ -extern NCURSES_EXPORT(void) immedok (WINDOW *, bool); /* implemented */ -extern NCURSES_EXPORT(chtype) inch (void); /* generated */ -extern NCURSES_EXPORT(int) inchnstr (chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) inchstr (chtype *); /* generated */ -extern NCURSES_EXPORT(WINDOW *) initscr (void); /* implemented */ -extern NCURSES_EXPORT(int) init_color (short,short,short,short); /* implemented */ -extern NCURSES_EXPORT(int) init_pair (short,short,short); /* implemented */ -extern NCURSES_EXPORT(int) innstr (char *, int); /* generated */ -extern NCURSES_EXPORT(int) insch (chtype); /* generated */ -extern NCURSES_EXPORT(int) insdelln (int); /* generated */ -extern NCURSES_EXPORT(int) insertln (void); /* generated */ -extern NCURSES_EXPORT(int) insnstr (const char *, int); /* generated */ -extern NCURSES_EXPORT(int) insstr (const char *); /* generated */ -extern NCURSES_EXPORT(int) instr (char *); /* generated */ -extern NCURSES_EXPORT(int) intrflush (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(bool) isendwin (void); /* implemented */ -extern NCURSES_EXPORT(bool) is_linetouched (WINDOW *,int); /* implemented */ -extern NCURSES_EXPORT(bool) is_wintouched (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(NCURSES_CONST char *) keyname (int); /* implemented */ -extern NCURSES_EXPORT(int) keypad (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(char) killchar (void); /* implemented */ -extern NCURSES_EXPORT(int) leaveok (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(char *) longname (void); /* implemented */ -extern NCURSES_EXPORT(int) meta (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) move (int, int); /* generated */ -extern NCURSES_EXPORT(int) mvaddch (int, int, const chtype); /* generated */ -extern NCURSES_EXPORT(int) mvaddchnstr (int, int, const chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) mvaddchstr (int, int, const chtype *); /* generated */ -extern NCURSES_EXPORT(int) mvaddnstr (int, int, const char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvaddstr (int, int, const char *); /* generated */ -extern NCURSES_EXPORT(int) mvchgat (int, int, int, attr_t, short, const void *); /* generated */ -extern NCURSES_EXPORT(int) mvcur (int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) mvdelch (int, int); /* generated */ -extern NCURSES_EXPORT(int) mvderwin (WINDOW *, int, int); /* implemented */ -extern NCURSES_EXPORT(int) mvgetch (int, int); /* generated */ -extern NCURSES_EXPORT(int) mvgetnstr (int, int, char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvgetstr (int, int, char *); /* generated */ -extern NCURSES_EXPORT(int) mvhline (int, int, chtype, int); /* generated */ -extern NCURSES_EXPORT(chtype) mvinch (int, int); /* generated */ -extern NCURSES_EXPORT(int) mvinchnstr (int, int, chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) mvinchstr (int, int, chtype *); /* generated */ -extern NCURSES_EXPORT(int) mvinnstr (int, int, char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvinsch (int, int, chtype); /* generated */ -extern NCURSES_EXPORT(int) mvinsnstr (int, int, const char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvinsstr (int, int, const char *); /* generated */ -extern NCURSES_EXPORT(int) mvinstr (int, int, char *); /* generated */ -extern NCURSES_EXPORT(int) mvprintw (int,int, const char *,...) /* implemented */ - GCC_PRINTFLIKE(3,4); -extern NCURSES_EXPORT(int) mvscanw (int,int, NCURSES_CONST char *,...) /* implemented */ - GCC_SCANFLIKE(3,4); -extern NCURSES_EXPORT(int) mvvline (int, int, chtype, int); /* generated */ -extern NCURSES_EXPORT(int) mvwaddch (WINDOW *, int, int, const chtype); /* generated */ -extern NCURSES_EXPORT(int) mvwaddchnstr (WINDOW *, int, int, const chtype *, int);/* generated */ -extern NCURSES_EXPORT(int) mvwaddchstr (WINDOW *, int, int, const chtype *); /* generated */ -extern NCURSES_EXPORT(int) mvwaddnstr (WINDOW *, int, int, const char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwaddstr (WINDOW *, int, int, const char *); /* generated */ -extern NCURSES_EXPORT(int) mvwchgat (WINDOW *, int, int, int, attr_t, short, const void *);/* generated */ -extern NCURSES_EXPORT(int) mvwdelch (WINDOW *, int, int); /* generated */ -extern NCURSES_EXPORT(int) mvwgetch (WINDOW *, int, int); /* generated */ -extern NCURSES_EXPORT(int) mvwgetnstr (WINDOW *, int, int, char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwgetstr (WINDOW *, int, int, char *); /* generated */ -extern NCURSES_EXPORT(int) mvwhline (WINDOW *, int, int, chtype, int); /* generated */ -extern NCURSES_EXPORT(int) mvwin (WINDOW *,int,int); /* implemented */ -extern NCURSES_EXPORT(chtype) mvwinch (WINDOW *, int, int); /* generated */ -extern NCURSES_EXPORT(int) mvwinchnstr (WINDOW *, int, int, chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwinchstr (WINDOW *, int, int, chtype *); /* generated */ -extern NCURSES_EXPORT(int) mvwinnstr (WINDOW *, int, int, char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwinsch (WINDOW *, int, int, chtype); /* generated */ -extern NCURSES_EXPORT(int) mvwinsnstr (WINDOW *, int, int, const char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwinsstr (WINDOW *, int, int, const char *); /* generated */ -extern NCURSES_EXPORT(int) mvwinstr (WINDOW *, int, int, char *); /* generated */ -extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...) /* implemented */ - GCC_PRINTFLIKE(4,5); -extern NCURSES_EXPORT(int) mvwscanw (WINDOW *,int,int, NCURSES_CONST char *,...) /* implemented */ - GCC_SCANFLIKE(4,5); -extern NCURSES_EXPORT(int) mvwvline (WINDOW *,int, int, chtype, int); /* generated */ -extern NCURSES_EXPORT(int) napms (int); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) newpad (int,int); /* implemented */ -extern NCURSES_EXPORT(SCREEN *) newterm (NCURSES_CONST char *,FILE *,FILE *); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) newwin (int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) nl (void); /* implemented */ -extern NCURSES_EXPORT(int) nocbreak (void); /* implemented */ -extern NCURSES_EXPORT(int) nodelay (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) noecho (void); /* implemented */ -extern NCURSES_EXPORT(int) nonl (void); /* implemented */ -extern NCURSES_EXPORT(void) noqiflush (void); /* implemented */ -extern NCURSES_EXPORT(int) noraw (void); /* implemented */ -extern NCURSES_EXPORT(int) notimeout (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) overlay (const WINDOW*,WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) overwrite (const WINDOW*,WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) pair_content (short,short*,short*); /* implemented */ -extern NCURSES_EXPORT(int) PAIR_NUMBER (int); /* generated */ -extern NCURSES_EXPORT(int) pechochar (WINDOW *, const chtype); /* implemented */ -extern NCURSES_EXPORT(int) pnoutrefresh (WINDOW*,int,int,int,int,int,int);/* implemented */ -extern NCURSES_EXPORT(int) prefresh (WINDOW *,int,int,int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) printw (const char *,...) /* implemented */ - GCC_PRINTFLIKE(1,2); -extern NCURSES_EXPORT(int) putp (const char *); /* implemented */ -extern NCURSES_EXPORT(int) putwin (WINDOW *, FILE *); /* implemented */ -extern NCURSES_EXPORT(void) qiflush (void); /* implemented */ -extern NCURSES_EXPORT(int) raw (void); /* implemented */ -extern NCURSES_EXPORT(int) redrawwin (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) refresh (void); /* generated */ -extern NCURSES_EXPORT(int) resetty (void); /* implemented */ -extern NCURSES_EXPORT(int) reset_prog_mode (void); /* implemented */ -extern NCURSES_EXPORT(int) reset_shell_mode (void); /* implemented */ -extern NCURSES_EXPORT(int) ripoffline (int, int (*)(WINDOW *, int)); /* implemented */ -extern NCURSES_EXPORT(int) savetty (void); /* implemented */ -extern NCURSES_EXPORT(int) scanw (NCURSES_CONST char *,...) /* implemented */ - GCC_SCANFLIKE(1,2); -extern NCURSES_EXPORT(int) scr_dump (const char *); /* implemented */ -extern NCURSES_EXPORT(int) scr_init (const char *); /* implemented */ -extern NCURSES_EXPORT(int) scrl (int); /* generated */ -extern NCURSES_EXPORT(int) scroll (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) scrollok (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) scr_restore (const char *); /* implemented */ -extern NCURSES_EXPORT(int) scr_set (const char *); /* implemented */ -extern NCURSES_EXPORT(int) setscrreg (int,int); /* generated */ -extern NCURSES_EXPORT(SCREEN *) set_term (SCREEN *); /* implemented */ -extern NCURSES_EXPORT(int) slk_attroff (const chtype); /* implemented */ -extern NCURSES_EXPORT(int) slk_attr_off (const attr_t, void *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) slk_attron (const chtype); /* implemented */ -extern NCURSES_EXPORT(int) slk_attr_on (attr_t,void*); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) slk_attrset (const chtype); /* implemented */ -extern NCURSES_EXPORT(attr_t) slk_attr (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_attr_set (const attr_t,short,void*); /* implemented */ -extern NCURSES_EXPORT(int) slk_clear (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_color (short); /* implemented */ -extern NCURSES_EXPORT(int) slk_init (int); /* implemented */ -extern NCURSES_EXPORT(char *) slk_label (int); /* implemented */ -extern NCURSES_EXPORT(int) slk_noutrefresh (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_refresh (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_restore (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_set (int,const char *,int); /* implemented */ -extern NCURSES_EXPORT(int) slk_touch (void); /* implemented */ -extern NCURSES_EXPORT(int) standout (void); /* generated */ -extern NCURSES_EXPORT(int) standend (void); /* generated */ -extern NCURSES_EXPORT(int) start_color (void); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) subpad (WINDOW *, int, int, int, int); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *,int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) syncok (WINDOW *, bool); /* implemented */ -extern NCURSES_EXPORT(chtype) termattrs (void); /* implemented */ -extern NCURSES_EXPORT(char *) termname (void); /* implemented */ -extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *); /* implemented */ -extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *); /* implemented */ -extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *); /* implemented */ -extern NCURSES_EXPORT(void) timeout (int); /* generated */ -extern NCURSES_EXPORT(int) touchline (WINDOW *, int, int); /* generated */ -extern NCURSES_EXPORT(int) touchwin (WINDOW *); /* generated */ -extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* implemented */ -extern NCURSES_EXPORT(int) typeahead (int); /* implemented */ -extern NCURSES_EXPORT(int) ungetch (int); /* implemented */ -extern NCURSES_EXPORT(int) untouchwin (WINDOW *); /* generated */ -extern NCURSES_EXPORT(void) use_env (bool); /* implemented */ -extern NCURSES_EXPORT(int) vidattr (chtype); /* implemented */ -extern NCURSES_EXPORT(int) vidputs (chtype, int (*)(int)); /* implemented */ -extern NCURSES_EXPORT(int) vline (chtype, int); /* generated */ -extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *,va_list); /* implemented */ -extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *,va_list); /* generated */ -extern NCURSES_EXPORT(int) vwscanw (WINDOW *, NCURSES_CONST char *,va_list); /* implemented */ -extern NCURSES_EXPORT(int) vw_scanw (WINDOW *, NCURSES_CONST char *,va_list); /* generated */ -extern NCURSES_EXPORT(int) waddch (WINDOW *, const chtype); /* implemented */ -extern NCURSES_EXPORT(int) waddchnstr (WINDOW *,const chtype *,int); /* implemented */ -extern NCURSES_EXPORT(int) waddchstr (WINDOW *,const chtype *); /* generated */ -extern NCURSES_EXPORT(int) waddnstr (WINDOW *,const char *,int); /* implemented */ -extern NCURSES_EXPORT(int) waddstr (WINDOW *,const char *); /* generated */ -extern NCURSES_EXPORT(int) wattron (WINDOW *, int); /* generated */ -extern NCURSES_EXPORT(int) wattroff (WINDOW *, int); /* generated */ -extern NCURSES_EXPORT(int) wattrset (WINDOW *, int); /* generated */ -extern NCURSES_EXPORT(int) wattr_get (WINDOW *, attr_t *, short *, void *); /* generated */ -extern NCURSES_EXPORT(int) wattr_on (WINDOW *, attr_t, void *); /* implemented */ -extern NCURSES_EXPORT(int) wattr_off (WINDOW *, attr_t, void *); /* implemented */ -extern NCURSES_EXPORT(int) wattr_set (WINDOW *, attr_t, short, void *); /* generated */ -extern NCURSES_EXPORT(int) wbkgd (WINDOW *, chtype); /* implemented */ -extern NCURSES_EXPORT(void) wbkgdset (WINDOW *,chtype); /* implemented */ -extern NCURSES_EXPORT(int) wborder (WINDOW *,chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype); /* implemented */ -extern NCURSES_EXPORT(int) wchgat (WINDOW *, int, attr_t, short, const void *);/* implemented */ -extern NCURSES_EXPORT(int) wclear (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wclrtobot (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wclrtoeol (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wcolor_set (WINDOW*,short,void*); /* implemented */ -extern NCURSES_EXPORT(void) wcursyncup (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wdelch (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wdeleteln (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) wechochar (WINDOW *, const chtype); /* implemented */ -extern NCURSES_EXPORT(int) werase (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wgetch (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int); /* implemented */ -extern NCURSES_EXPORT(int) wgetstr (WINDOW *, char *); /* generated */ -extern NCURSES_EXPORT(int) whline (WINDOW *, chtype, int); /* implemented */ -extern NCURSES_EXPORT(chtype) winch (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) winchnstr (WINDOW *, chtype *, int); /* implemented */ -extern NCURSES_EXPORT(int) winchstr (WINDOW *, chtype *); /* generated */ -extern NCURSES_EXPORT(int) winnstr (WINDOW *, char *, int); /* implemented */ -extern NCURSES_EXPORT(int) winsch (WINDOW *, chtype); /* implemented */ -extern NCURSES_EXPORT(int) winsdelln (WINDOW *,int); /* implemented */ -extern NCURSES_EXPORT(int) winsertln (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) winsnstr (WINDOW *, const char *,int); /* implemented */ -extern NCURSES_EXPORT(int) winsstr (WINDOW *, const char *); /* generated */ -extern NCURSES_EXPORT(int) winstr (WINDOW *, char *); /* generated */ -extern NCURSES_EXPORT(int) wmove (WINDOW *,int,int); /* implemented */ -extern NCURSES_EXPORT(int) wnoutrefresh (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wprintw (WINDOW *, const char *,...) /* implemented */ - GCC_PRINTFLIKE(2,3); -extern NCURSES_EXPORT(int) wredrawln (WINDOW *,int,int); /* implemented */ -extern NCURSES_EXPORT(int) wrefresh (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wscanw (WINDOW *, NCURSES_CONST char *,...) /* implemented */ - GCC_SCANFLIKE(2,3); -extern NCURSES_EXPORT(int) wscrl (WINDOW *,int); /* implemented */ -extern NCURSES_EXPORT(int) wsetscrreg (WINDOW *,int,int); /* implemented */ -extern NCURSES_EXPORT(int) wstandout (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) wstandend (WINDOW *); /* generated */ -extern NCURSES_EXPORT(void) wsyncdown (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(void) wsyncup (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(void) wtimeout (WINDOW *,int); /* implemented */ -extern NCURSES_EXPORT(int) wtouchln (WINDOW *,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) wvline (WINDOW *,chtype,int); /* implemented */ - -/* - * vid_attr() was implemented originally based on the draft of XSI curses. - */ -#ifndef _XOPEN_SOURCE_EXTENDED -#define vid_attr(a,pair,opts) vidattr(a) -#endif - -/* attributes */ - -#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) - -/* - * These apply to the first 256 color pairs. - */ -#define COLOR_PAIR(n) NCURSES_BITS(n, 0) -#define PAIR_NUMBER(a) (NCURSES_CAST(int,(((a) & A_COLOR) >> NCURSES_ATTR_SHIFT))) - -/* - * pseudo functions - */ -#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 gettmode() - -#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 getsyx(y,x) do { if(newscr->_leaveok) (y)=(x)=-1; \ - else getyx(newscr,(y),(x)); \ - } while(0) -#define setsyx(y,x) do { if((y)==-1 && (x)==-1) newscr->_leaveok=TRUE; \ - else {newscr->_leaveok=FALSE;wmove(newscr,(y),(x));} \ - } while(0) - -/* It seems older SYSV curses versions define these */ -#define getattrs(win) ((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) - -#if 0 -#define wattrset(win,at) ((win)->_color = PAIR_NUMBER(at), \ - (win)->_attrs = (at)) -#else -#define wattrset(win,at) ((win)->_attrs = (at)) -#endif - -#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) - -/* - * pseudo functions for standard screen - */ - -#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) - -/* - * mv functions - */ - -#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) - -/* - * Some wide-character functions can be implemented without the extensions. - */ -#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)) - -#if 0 -#define wattr_set(win,a,p,opts) ((win)->_attrs = ((a) & ~A_COLOR), \ - (win)->_color = (p), \ - OK) -#define wattr_get(win,a,p,opts) ((void)((a) != 0 && (*(a) = (win)->_attrs)), \ - (void)((p) != 0 && (*(p) = (win)->_color)), \ - OK) -#else -#define wattr_set(win,a,p,opts) ((win)->_attrs = (((a) & ~A_COLOR) | COLOR_PAIR(p)), OK) -#define wattr_get(win,a,p,opts) ((void)((a) != 0 && (*(a) = (win)->_attrs)), \ - (void)((p) != 0 && (*(p) = PAIR_NUMBER((win)->_attrs))), \ - OK) -#endif - -/* - * XSI curses deprecates SVr4 vwprintw/vwscanw, which are supposed to use - * varargs.h. It adds new calls vw_printw/vw_scanw, which are supposed to - * use POSIX stdarg.h. The ncurses versions of vwprintw/vwscanw already - * use stdarg.h, so... - */ -#define vw_printw vwprintw -#define vw_scanw vwscanw - -/* - * Export fallback function for use in C++ binding. - */ -#if !1 -#define vsscanf(a,b,c) _nc_vsscanf(a,b,c) -NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list); -#endif - -/* - * Pseudo-character tokens outside ASCII range. The curses wgetch() function - * will return any given one of these only if the corresponding k- capability - * is defined in your terminal's terminfo entry. - * - * Some keys (KEY_A1, etc) are arranged like this: - * a1 up a3 - * left b2 right - * c1 down c3 - * - * A few key codes do not depend upon the terminfo entry. - */ -#define KEY_CODE_YES 0400 /* A wchar_t contains a key code */ -#define KEY_MIN 0401 /* Minimum curses key */ -#define KEY_BREAK 0401 /* Break key (unreliable) */ -#define KEY_SRESET 0530 /* Soft (partial) reset (unreliable) */ -#define KEY_RESET 0531 /* Reset or hard reset (unreliable) */ -/* - * These definitions were generated by ./MKkey_defs.sh ./Caps - */ -#define KEY_DOWN 0402 /* down-arrow key */ -#define KEY_UP 0403 /* up-arrow key */ -#define KEY_LEFT 0404 /* left-arrow key */ -#define KEY_RIGHT 0405 /* right-arrow key */ -#define KEY_HOME 0406 /* home key */ -#define KEY_BACKSPACE 0407 /* backspace key */ -#define KEY_F0 0410 /* Function keys. Space for 64 */ -#define KEY_F(n) (KEY_F0+(n)) /* Value of function key n */ -#define KEY_DL 0510 /* delete-line key */ -#define KEY_IL 0511 /* insert-line key */ -#define KEY_DC 0512 /* delete-character key */ -#define KEY_IC 0513 /* insert-character key */ -#define KEY_EIC 0514 /* sent by rmir or smir in insert mode */ -#define KEY_CLEAR 0515 /* clear-screen or erase key */ -#define KEY_EOS 0516 /* clear-to-end-of-screen key */ -#define KEY_EOL 0517 /* clear-to-end-of-line key */ -#define KEY_SF 0520 /* scroll-forward key */ -#define KEY_SR 0521 /* scroll-backward key */ -#define KEY_NPAGE 0522 /* next-page key */ -#define KEY_PPAGE 0523 /* previous-page key */ -#define KEY_STAB 0524 /* set-tab key */ -#define KEY_CTAB 0525 /* clear-tab key */ -#define KEY_CATAB 0526 /* clear-all-tabs key */ -#define KEY_ENTER 0527 /* enter/send key */ -#define KEY_PRINT 0532 /* print key */ -#define KEY_LL 0533 /* lower-left key (home down) */ -#define KEY_A1 0534 /* upper left of keypad */ -#define KEY_A3 0535 /* upper right of keypad */ -#define KEY_B2 0536 /* center of keypad */ -#define KEY_C1 0537 /* lower left of keypad */ -#define KEY_C3 0540 /* lower right of keypad */ -#define KEY_BTAB 0541 /* back-tab key */ -#define KEY_BEG 0542 /* begin key */ -#define KEY_CANCEL 0543 /* cancel key */ -#define KEY_CLOSE 0544 /* close key */ -#define KEY_COMMAND 0545 /* command key */ -#define KEY_COPY 0546 /* copy key */ -#define KEY_CREATE 0547 /* create key */ -#define KEY_END 0550 /* end key */ -#define KEY_EXIT 0551 /* exit key */ -#define KEY_FIND 0552 /* find key */ -#define KEY_HELP 0553 /* help key */ -#define KEY_MARK 0554 /* mark key */ -#define KEY_MESSAGE 0555 /* message key */ -#define KEY_MOVE 0556 /* move key */ -#define KEY_NEXT 0557 /* next key */ -#define KEY_OPEN 0560 /* open key */ -#define KEY_OPTIONS 0561 /* options key */ -#define KEY_PREVIOUS 0562 /* previous key */ -#define KEY_REDO 0563 /* redo key */ -#define KEY_REFERENCE 0564 /* reference key */ -#define KEY_REFRESH 0565 /* refresh key */ -#define KEY_REPLACE 0566 /* replace key */ -#define KEY_RESTART 0567 /* restart key */ -#define KEY_RESUME 0570 /* resume key */ -#define KEY_SAVE 0571 /* save key */ -#define KEY_SBEG 0572 /* shifted begin key */ -#define KEY_SCANCEL 0573 /* shifted cancel key */ -#define KEY_SCOMMAND 0574 /* shifted command key */ -#define KEY_SCOPY 0575 /* shifted copy key */ -#define KEY_SCREATE 0576 /* shifted create key */ -#define KEY_SDC 0577 /* shifted delete-character key */ -#define KEY_SDL 0600 /* shifted delete-line key */ -#define KEY_SELECT 0601 /* select key */ -#define KEY_SEND 0602 /* shifted end key */ -#define KEY_SEOL 0603 /* shifted clear-to-end-of-line key */ -#define KEY_SEXIT 0604 /* shifted exit key */ -#define KEY_SFIND 0605 /* shifted find key */ -#define KEY_SHELP 0606 /* shifted help key */ -#define KEY_SHOME 0607 /* shifted home key */ -#define KEY_SIC 0610 /* shifted insert-character key */ -#define KEY_SLEFT 0611 /* shifted left-arrow key */ -#define KEY_SMESSAGE 0612 /* shifted message key */ -#define KEY_SMOVE 0613 /* shifted move key */ -#define KEY_SNEXT 0614 /* shifted next key */ -#define KEY_SOPTIONS 0615 /* shifted options key */ -#define KEY_SPREVIOUS 0616 /* shifted previous key */ -#define KEY_SPRINT 0617 /* shifted print key */ -#define KEY_SREDO 0620 /* shifted redo key */ -#define KEY_SREPLACE 0621 /* shifted replace key */ -#define KEY_SRIGHT 0622 /* shifted right-arrow key */ -#define KEY_SRSUME 0623 /* shifted resume key */ -#define KEY_SSAVE 0624 /* shifted save key */ -#define KEY_SSUSPEND 0625 /* shifted suspend key */ -#define KEY_SUNDO 0626 /* shifted undo key */ -#define KEY_SUSPEND 0627 /* suspend key */ -#define KEY_UNDO 0630 /* undo key */ -#define KEY_MOUSE 0631 /* Mouse event has occurred */ -#define KEY_RESIZE 0632 /* Terminal resize event */ -#define KEY_EVENT 0633 /* We were interrupted by an event */ - -#define KEY_MAX 0777 /* Maximum key value is 0633 */ -/* $Id: curses.tail,v 1.12 2005/03/27 00:09:51 tom Exp $ */ - -/* mouse interface */ - -#if NCURSES_MOUSE_VERSION > 1 -#define NCURSES_MOUSE_MASK(b,m) ((m) << (((b) - 1) * 5)) -#else -#define NCURSES_MOUSE_MASK(b,m) ((m) << (((b) - 1) * 6)) -#endif - -#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 - -/* event masks */ -#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) - -/* - * In 32 bits the version-1 scheme does not provide enough space for a 5th - * button, unless we choose to change the ABI by omitting the reserved-events. - */ -#if NCURSES_MOUSE_VERSION > 1 - -#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) - -#else - -#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 BUTTON_CTRL NCURSES_MOUSE_MASK(5, 0001L) -#define BUTTON_SHIFT NCURSES_MOUSE_MASK(5, 0002L) -#define BUTTON_ALT NCURSES_MOUSE_MASK(5, 0004L) -#define REPORT_MOUSE_POSITION NCURSES_MOUSE_MASK(5, 0010L) - -#endif - -#define ALL_MOUSE_EVENTS (REPORT_MOUSE_POSITION - 1) - -/* macros to extract single event-bits from masks */ -#define BUTTON_RELEASE(e, x) ((e) & (001 << (6 * ((x) - 1)))) -#define BUTTON_PRESS(e, x) ((e) & (002 << (6 * ((x) - 1)))) -#define BUTTON_CLICK(e, x) ((e) & (004 << (6 * ((x) - 1)))) -#define BUTTON_DOUBLE_CLICK(e, x) ((e) & (010 << (6 * ((x) - 1)))) -#define BUTTON_TRIPLE_CLICK(e, x) ((e) & (020 << (6 * ((x) - 1)))) -#define BUTTON_RESERVED_EVENT(e, x) ((e) & (040 << (6 * ((x) - 1)))) - -typedef struct -{ - short id; /* ID to distinguish multiple devices */ - int x, y, z; /* event coordinates (character-cell) */ - mmask_t bstate; /* button state bits */ -} -MEVENT; - -extern NCURSES_EXPORT(int) getmouse (MEVENT *); -extern NCURSES_EXPORT(int) ungetmouse (MEVENT *); -extern NCURSES_EXPORT(mmask_t) mousemask (mmask_t, mmask_t *); -extern NCURSES_EXPORT(bool) wenclose (const WINDOW *, int, int); -extern NCURSES_EXPORT(int) mouseinterval (int); -extern NCURSES_EXPORT(bool) wmouse_trafo (const WINDOW*, int*, int*, bool); -extern NCURSES_EXPORT(bool) mouse_trafo (int*, int*, bool); /* generated */ - -#define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen) - -/* other non-XSI functions */ - -extern NCURSES_EXPORT(int) mcprint (char *, int); /* direct data to printer */ -extern NCURSES_EXPORT(int) has_key (int); /* do we have given key? */ - -/* Debugging : use with libncurses_g.a */ - -extern NCURSES_EXPORT(void) _tracef (const char *, ...) GCC_PRINTFLIKE(1,2); -extern NCURSES_EXPORT(void) _tracedump (const char *, WINDOW *); -extern NCURSES_EXPORT(char *) _traceattr (attr_t); -extern NCURSES_EXPORT(char *) _traceattr2 (int, chtype); -extern NCURSES_EXPORT(char *) _nc_tracebits (void); -extern NCURSES_EXPORT(char *) _tracechar (int); -extern NCURSES_EXPORT(char *) _tracechtype (chtype); -extern NCURSES_EXPORT(char *) _tracechtype2 (int, chtype); -#ifdef _XOPEN_SOURCE_EXTENDED -#define _tracech_t _tracecchar_t -extern NCURSES_EXPORT(char *) _tracecchar_t (const cchar_t *); -#define _tracech_t2 _tracecchar_t2 -extern NCURSES_EXPORT(char *) _tracecchar_t2 (int, const cchar_t *); -#else -#define _tracech_t _tracechtype -#define _tracech_t2 _tracechtype2 -#endif -extern NCURSES_EXPORT(char *) _tracemouse (const MEVENT *); -extern NCURSES_EXPORT(void) trace (const unsigned int); - -/* trace masks */ -#define TRACE_DISABLE 0x0000 /* turn off tracing */ -#define TRACE_TIMES 0x0001 /* trace user and system times of updates */ -#define TRACE_TPUTS 0x0002 /* trace tputs calls */ -#define TRACE_UPDATE 0x0004 /* trace update actions, old & new screens */ -#define TRACE_MOVE 0x0008 /* trace cursor moves and scrolls */ -#define TRACE_CHARPUT 0x0010 /* trace all character outputs */ -#define TRACE_ORDINARY 0x001F /* trace all update actions */ -#define TRACE_CALLS 0x0020 /* trace all curses calls */ -#define TRACE_VIRTPUT 0x0040 /* trace virtual character puts */ -#define TRACE_IEVENT 0x0080 /* trace low-level input processing */ -#define TRACE_BITS 0x0100 /* trace state of TTY control bits */ -#define TRACE_ICALLS 0x0200 /* trace internal/nested calls */ -#define TRACE_CCALLS 0x0400 /* trace per-character calls */ -#define TRACE_DATABASE 0x0800 /* trace read/write of terminfo/termcap data */ -#define TRACE_ATTRS 0x1000 /* trace attribute updates */ - -#define TRACE_SHIFT 13 /* number of bits in the trace masks */ -#define TRACE_MAXIMUM ((1 << TRACE_SHIFT) - 1) /* maximum trace level */ - -#if defined(TRACE) || defined(NCURSES_TEST) -extern NCURSES_EXPORT_VAR(int) _nc_optimize_enable; /* enable optimizations */ -#ifdef _XOPEN_SOURCE_EXTENDED -extern NCURSES_EXPORT(const char *) _nc_viswbuf(const wchar_t *); -extern NCURSES_EXPORT(const char *) _nc_viswibuf(const wint_t *); -#endif -extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *); -#define OPTIMIZE_MVCUR 0x01 /* cursor movement optimization */ -#define OPTIMIZE_HASHMAP 0x02 /* diff hashing to detect scrolls */ -#define OPTIMIZE_SCROLL 0x04 /* scroll optimization */ -#define OPTIMIZE_ALL 0xff /* enable all optimizations (dflt) */ -#endif - -#ifdef __cplusplus - -/* these names conflict with STL */ -#undef box -#undef clear -#undef erase -#undef move -#undef refresh - -} -#endif - -#endif /* __NCURSES_H */ diff --git a/headers/libs/ncurses/ncurses.h b/headers/libs/ncurses/ncurses.h deleted file mode 100644 index a839efaf1d..0000000000 --- a/headers/libs/ncurses/ncurses.h +++ /dev/null @@ -1,6 +0,0 @@ -/* - * Copyright 2006, Haiku, Inc. All Rights Reserved. - * Distributed under the terms of the MIT License. - */ - -#include diff --git a/headers/libs/ncurses/ncurses_dll.h b/headers/libs/ncurses/ncurses_dll.h deleted file mode 100644 index de46c60508..0000000000 --- a/headers/libs/ncurses/ncurses_dll.h +++ /dev/null @@ -1,52 +0,0 @@ -/* $Id: ncurses_dll.h,v 1.4 2003/07/19 18:44:32 Charles.Wilson Exp $ */ - -#ifndef NCURSES_DLL_H_incl -#define NCURSES_DLL_H_incl 1 - -/* no longer needed on cygwin or mingw, thanks to auto-import */ -/* but this structure may be useful at some point for an MSVC build */ -/* so, for now unconditionally define the important flags */ -/* "the right way" for proper static and dll+auto-import behavior */ -#undef NCURSES_DLL -#define NCURSES_STATIC - -#if defined(__CYGWIN__) -# if defined(NCURSES_DLL) -# if defined(NCURSES_STATIC) -# undef NCURSES_STATIC -# endif -# endif -# undef NCURSES_IMPEXP -# undef NCURSES_API -# undef NCURSES_EXPORT -# undef NCURSES_EXPORT_VAR -# if defined(NCURSES_DLL) -/* building a DLL */ -# define NCURSES_IMPEXP __declspec(dllexport) -# elif defined(NCURSES_STATIC) -/* building or linking to a static library */ -# define NCURSES_IMPEXP /* nothing */ -# else -/* linking to the DLL */ -# define NCURSES_IMPEXP __declspec(dllimport) -# endif -# define NCURSES_API __cdecl -# define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API -# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type -#endif - -/* Take care of non-cygwin platforms */ -#if !defined(NCURSES_IMPEXP) -# define NCURSES_IMPEXP /* nothing */ -#endif -#if !defined(NCURSES_API) -# define NCURSES_API /* nothing */ -#endif -#if !defined(NCURSES_EXPORT) -# define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API -#endif -#if !defined(NCURSES_EXPORT_VAR) -# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type -#endif - -#endif /* NCURSES_DLL_H_incl */ diff --git a/headers/libs/ncurses/term.h b/headers/libs/ncurses/term.h deleted file mode 100644 index 0ede9672b7..0000000000 --- a/headers/libs/ncurses/term.h +++ /dev/null @@ -1,786 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/****************************************************************************/ -/* Author: Zeyd M. Ben-Halim 1992,1995 */ -/* and: Eric S. Raymond */ -/* and: Thomas E. Dickey 1995-2003 */ -/****************************************************************************/ - -/* $Id: MKterm.h.awk.in,v 1.42 2003/12/27 19:09:16 tom Exp $ */ - -/* -** term.h -- Definition of struct term -*/ - -#ifndef NCURSES_TERM_H_incl -#define NCURSES_TERM_H_incl 1 - -#undef NCURSES_VERSION -#define NCURSES_VERSION "5.5" - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H - * definition (based on the system for which this was configured). - */ - -#undef HAVE_TERMIOS_H -#define HAVE_TERMIOS_H 1 - -#undef HAVE_TCGETATTR -#define HAVE_TCGETATTR 1 - -#undef NCURSES_CONST -#define NCURSES_CONST /*nothing*/ - -#undef NCURSES_XNAMES -#define NCURSES_XNAMES 1 - -/* We will use these symbols to hide differences between - * termios/termio/sgttyb interfaces. - */ -#undef TTY -#undef SET_TTY -#undef GET_TTY - -/* Assume POSIX termio if we have the header and function */ -#if HAVE_TERMIOS_H && HAVE_TCGETATTR - -#undef TERMIOS -#define TERMIOS 1 - -#include -#define TTY struct termios - -#else /* !HAVE_TERMIOS_H */ - -#if 0 /* HAVE_TERMIO_H */ - -#undef TERMIOS -#define TERMIOS 1 - -#include -#define TTY struct termio - -/* Add definitions to make termio look like termios. - * But ifdef it, since there are some implementations - * that try to do this for us in a fake . - */ -#ifndef TCSANOW -#define TCSANOW TCSETA -#endif -#ifndef TCSADRAIN -#define TCSADRAIN TCSETAW -#endif -#ifndef TCSAFLUSH -#define TCSAFLUSH TCSETAF -#endif -#ifndef tcsetattr -#define tcsetattr(fd, cmd, arg) ioctl(fd, cmd, arg) -#endif -#ifndef tcgetattr -#define tcgetattr(fd, arg) ioctl(fd, TCGETA, arg) -#endif -#ifndef cfgetospeed -#define cfgetospeed(t) ((t)->c_cflag & CBAUD) -#endif -#ifndef TCIFLUSH -#define TCIFLUSH 0 -#endif -#ifndef TCOFLUSH -#define TCOFLUSH 1 -#endif -#ifndef TCIOFLUSH -#define TCIOFLUSH 2 -#endif -#ifndef tcflush -#define tcflush(fd, arg) ioctl(fd, TCFLSH, arg) -#endif - -#else /* !HAVE_TERMIO_H */ - -#undef TERMIOS -#include -#include -#define TTY struct sgttyb - -#endif /* HAVE_TERMIO_H */ - -#endif /* HAVE_TERMIOS_H */ - -#ifdef TERMIOS -#define GET_TTY(fd, buf) tcgetattr(fd, buf) -#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf) -#else -#define GET_TTY(fd, buf) gtty(fd, buf) -#define SET_TTY(fd, buf) stty(fd, buf) -#endif - -#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 - -/* older synonyms for some capabilities */ -#define beehive_glitch no_esc_ctlc -#define teleray_glitch dest_tabs_magic_smso -#define micro_char_size micro_col_size - -#ifdef __INTERNAL_CAPS_VISIBLE -#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] -#endif /* __INTERNAL_CAPS_VISIBLE */ - - -/* - * Predefined terminfo array sizes - */ -#define BOOLCOUNT 44 -#define NUMCOUNT 39 -#define STRCOUNT 414 - -/* used by code for comparing entries */ -#define acs_chars_index 146 - -typedef struct termtype { /* in-core form of terminfo data */ - char *term_names; /* str_table offset of term names */ - char *str_table; /* pointer to string table */ - char *Booleans; /* array of boolean values */ - short *Numbers; /* array of integer values */ - char **Strings; /* array of string offsets */ - -#if NCURSES_XNAMES - char *ext_str_table; /* pointer to extended string table */ - char **ext_Names; /* corresponding names */ - - unsigned short num_Booleans;/* count total Booleans */ - unsigned short num_Numbers; /* count total Numbers */ - unsigned short num_Strings; /* count total Strings */ - - unsigned short ext_Booleans;/* count extensions to Booleans */ - unsigned short ext_Numbers; /* count extensions to Numbers */ - unsigned short ext_Strings; /* count extensions to Strings */ -#endif /* NCURSES_XNAMES */ - -} TERMTYPE; - -typedef struct term { /* describe an actual terminal */ - TERMTYPE type; /* terminal type description */ - short Filedes; /* file description being written to */ - TTY Ottyb, /* original state of the terminal */ - Nttyb; /* current state of the terminal */ - int _baudrate; /* used to compute padding */ - char * _termname; /* used for termname() */ -} TERMINAL; - -extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term; - -#if 0 /* BROKEN_LINKER */ -#define boolnames _nc_boolnames() -#define boolcodes _nc_boolcodes() -#define boolfnames _nc_boolfnames() -#define numnames _nc_numnames() -#define numcodes _nc_numcodes() -#define numfnames _nc_numfnames() -#define strnames _nc_strnames() -#define strcodes _nc_strcodes() -#define strfnames _nc_strfnames() - -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolnames (void); -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolcodes (void); -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolfnames (void); -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numnames (void); -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numcodes (void); -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numfnames (void); -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strnames (void); -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strcodes (void); -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strfnames (void); - -#else - -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[]; -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[]; -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[]; -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[]; -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[]; -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[]; -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[]; -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[]; -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[]; - -#endif - -/* internals */ -extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf); -extern NCURSES_EXPORT(int) _nc_get_tty_mode (TTY *buf); -extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const); -extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE *); -extern NCURSES_EXPORT(char *) _nc_first_name (const char *const); -extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const); -extern NCURSES_EXPORT(int) _nc_read_termcap_entry (const char *const, TERMTYPE *const); -extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *); - -/* entry points */ -extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *); -extern NCURSES_EXPORT(int) del_curterm (TERMINAL *); - -/* miscellaneous entry points */ -extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *); -extern NCURSES_EXPORT(int) setupterm (NCURSES_CONST char *,int,int *); - -/* terminfo entry points, also declared in curses.h */ -#if !defined(__NCURSES_H) -extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *); -extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); -extern NCURSES_EXPORT_VAR(char) ttytype[]; -extern NCURSES_EXPORT(int) putp (const char *); -extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *); -extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *); -#endif /* __NCURSES_H */ - -/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */ -#if !defined(NCURSES_TERMCAP_H_incl) -#if 0 -extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **); -extern NCURSES_EXPORT(char *) tgoto (const char *, int, int); -extern NCURSES_EXPORT(int) tgetent (char *, const char *); -extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *); -extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *); -extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int)); -#endif -#endif /* NCURSES_TERMCAP_H_incl */ - -#ifdef __cplusplus -} -#endif - -#endif /* NCURSES_TERM_H_incl */ diff --git a/headers/libs/ncurses/termcap.h b/headers/libs/ncurses/termcap.h deleted file mode 100644 index ad2d13d1ee..0000000000 --- a/headers/libs/ncurses/termcap.h +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* $Id: termcap.h.in,v 1.16 2001/03/24 21:53:27 tom Exp $ */ - -#ifndef NCURSES_TERMCAP_H_incl -#define NCURSES_TERMCAP_H_incl 1 - -#undef NCURSES_VERSION -#define NCURSES_VERSION "5.5" - -#include - -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - -#include - -#undef NCURSES_CONST -#define NCURSES_CONST /*nothing*/ - -#undef NCURSES_OSPEED -#define NCURSES_OSPEED short - -extern NCURSES_EXPORT_VAR(char) PC; -extern NCURSES_EXPORT_VAR(char *) UP; -extern NCURSES_EXPORT_VAR(char *) BC; -extern NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed; - -#if !defined(NCURSES_TERM_H_incl) -extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **); -extern NCURSES_EXPORT(char *) tgoto (const char *, int, int); -extern NCURSES_EXPORT(int) tgetent (char *, const char *); -extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *); -extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *); -extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int)); -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* NCURSES_TERMCAP_H_incl */ diff --git a/headers/libs/ncurses/unctrl.h b/headers/libs/ncurses/unctrl.h deleted file mode 100644 index f2efd45d41..0000000000 --- a/headers/libs/ncurses/unctrl.h +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * unctrl.h - * - * Display a printable version of a control character. - * Control characters are displayed in caret notation (^x), DELETE is displayed - * as ^?. Printable characters are displayed as is. - */ - -/* $Id: unctrl.h.in,v 1.10 2001/03/24 21:53:25 tom Exp $ */ - -#ifndef NCURSES_UNCTRL_H_incl -#define NCURSES_UNCTRL_H_incl 1 - -#undef NCURSES_VERSION -#define NCURSES_VERSION "5.5" - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#undef unctrl -NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype); - -#ifdef __cplusplus -} -#endif - -#endif /* NCURSES_UNCTRL_H_incl */ diff --git a/src/apps/debugger/Jamfile b/src/apps/debugger/Jamfile index 678dea3ecc..7ecd9325fd 100644 --- a/src/apps/debugger/Jamfile +++ b/src/apps/debugger/Jamfile @@ -365,12 +365,13 @@ Application Debugger : Debugger_dwarf.o DebugAnalyzer_gui_table.o + [ BuildFeatureAttribute ncurses : library ] + libudis86.a debug_utils.a libcolumnlistview.a libshared.a libedit.a - libncurses.a [ TargetLibstdc++ ] be package tracker libbsd.so libdebug.so diff --git a/src/bin/Jamfile b/src/bin/Jamfile index 0da3b1a70f..26b07c7898 100644 --- a/src/bin/Jamfile +++ b/src/bin/Jamfile @@ -9,7 +9,7 @@ AddSubDirSupportedPlatforms libbe_test ; UsePrivateHeaders app interface shared storage support tracker usb ; UsePrivateSystemHeaders ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel file_cache ; -UseLibraryHeaders ncurses ; +UseBuildFeatureHeaders ncurses ; local haiku-utils_rsrc = [ FGristFiles haiku-utils.rsrc ] ; @@ -70,7 +70,8 @@ StdBinCommands # standard commands that need libncurses.a StdBinCommands top.c - : libncurses.a : $(haiku-utils_rsrc) ; + watch.c + : [ BuildFeatureAttribute ncurses : library ] : $(haiku-utils_rsrc) ; # standard commands that need libbe.so StdBinCommands @@ -231,16 +232,11 @@ StdBinCommands checkitout.cpp : be bnetapi tracker [ TargetLibsupc++ ] : $(haiku-utils_rsrc) ; -#standard commands that need libbe.so, libtracker.so and the stub catalog +#standard commands that need libbe.so, libtracker.so and the catalog stub StdBinCommands filepanel.cpp : be tracker [ TargetLibsupc++ ] localestub : $(haiku-utils_rsrc) ; -# standard commands that need libncurses.a -StdBinCommands - watch.c - : libncurses.a : $(haiku-utils_rsrc) ; - # mimeset needs libstorage_kit_mime.a StdBinCommands mimeset.cpp diff --git a/src/bin/gdb/gdb/Jamfile b/src/bin/gdb/gdb/Jamfile index c684a83159..3c7f824e09 100644 --- a/src/bin/gdb/gdb/Jamfile +++ b/src/bin/gdb/gdb/Jamfile @@ -10,7 +10,7 @@ SubDirSysHdrs [ FDirName $(HAIKU_TOP) src bin gawk intl ] ; # Use gawk's libintl for the time being. # TODO: Put a current version of intl ot src/libs and build a static lib # all interested apps can link against. -UseLibraryHeaders ncurses ; +UseBuildFeatureHeaders ncurses ; UsePrivateHeaders debug ; SubDirCcFlags -DHAVE_CONFIG_H -DLOCALEDIR=\\\"/etc/locale\\\" @@ -286,7 +286,7 @@ BinCommand gdb : gdb.c : libreadline.a libintl.a # use gawk's libintl for the time being - libncurses.a + [ BuildFeatureAttribute ncurses : library ] libdebug.so libnetwork.so diff --git a/src/bin/network/ftp/Jamfile b/src/bin/network/ftp/Jamfile index 65fcec49eb..b21487fc04 100644 --- a/src/bin/network/ftp/Jamfile +++ b/src/bin/network/ftp/Jamfile @@ -21,7 +21,8 @@ BinCommand ftp : progressbar.c ruserpass.c util.c - : libedit.a libncurses.a libutil.a libbsd.so $(TARGET_NETWORK_LIBS) + : libedit.a [ BuildFeatureAttribute ncurses : library ] libutil.a libbsd.so + $(TARGET_NETWORK_LIBS) ; # Installation -- in the test directory for the time being @@ -29,7 +30,7 @@ HaikuInstall install-networking : [ FDirName $(HAIKU_TEST_DIR) kits net ] : ftp ; -HaikuInstall install-userland-networking +HaikuInstall install-userland-networking : [ FDirName $(HAIKU_TEST_DIR) kits net userland ] : ftp : installed-userland-networking diff --git a/src/bin/network/telnet/Jamfile b/src/bin/network/telnet/Jamfile index 66595aad9d..1b83204a61 100644 --- a/src/bin/network/telnet/Jamfile +++ b/src/bin/network/telnet/Jamfile @@ -1,10 +1,11 @@ SubDir HAIKU_TOP src bin network telnet ; UseHeaders [ FDirName $(HAIKU_TOP) headers compatibility bsd ] : true ; -UseHeaders [ FDirName $(HAIKU_TOP) headers libs ncurses ] : true ; UseHeaders [ FDirName $(HAIKU_TOP) src libs ] : true ; UseHeaders [ FDirName $(HAIKU_TOP) src libs libtelnet ] : false ; +UseBuildFeatureHeaders ncurses ; + local defines = [ FDefines USE_TERMIO=1 OLD_ENVIRON=1 ENV_HACK=1 ] ; SubDirCcFlags $(defines) ; @@ -20,5 +21,6 @@ BinCommand telnet : telnet.c terminal.c utilities.c - : libncurses.a libtelnet.a libutil.a libbsd.so $(TARGET_NETWORK_LIBS) + : [ BuildFeatureAttribute ncurses : library ] libtelnet.a libutil.a + libbsd.so $(TARGET_NETWORK_LIBS) ; diff --git a/src/bin/network/telnetd/Jamfile b/src/bin/network/telnetd/Jamfile index ad3e460948..2f46cb94c6 100644 --- a/src/bin/network/telnetd/Jamfile +++ b/src/bin/network/telnetd/Jamfile @@ -1,6 +1,6 @@ SubDir HAIKU_TOP src bin network telnetd ; -UseLibraryHeaders ncurses ; +UseBuildFeatureHeaders ncurses ; UseHeaders [ FDirName $(HAIKU_TOP) headers compatibility bsd ] : true ; UseHeaders [ FDirName $(HAIKU_TOP) src libs ] : true ; UseHeaders [ FDirName $(HAIKU_TOP) src libs libtelnet ] : false ; @@ -19,5 +19,6 @@ BinCommand telnetd : telnetd.c termstat.c utility.c - : libncurses.a libtelnet.a libutil.a libbsd.so $(TARGET_NETWORK_LIBS) + : [ BuildFeatureAttribute ncurses : library ] libtelnet.a libutil.a + libbsd.so $(TARGET_NETWORK_LIBS) ; diff --git a/src/libs/Jamfile b/src/libs/Jamfile index 93ed6e661d..4387ccab5a 100644 --- a/src/libs/Jamfile +++ b/src/libs/Jamfile @@ -15,7 +15,6 @@ SubInclude HAIKU_TOP src libs iconv ; SubInclude HAIKU_TOP src libs libtelnet ; SubInclude HAIKU_TOP src libs linprog ; SubInclude HAIKU_TOP src libs mapm ; -SubInclude HAIKU_TOP src libs ncurses ; SubInclude HAIKU_TOP src libs pdflib ; SubInclude HAIKU_TOP src libs posix_error_mapper ; SubInclude HAIKU_TOP src libs print ; diff --git a/src/libs/ncurses/ANNOUNCE b/src/libs/ncurses/ANNOUNCE deleted file mode 100644 index 5a2a139850..0000000000 --- a/src/libs/ncurses/ANNOUNCE +++ /dev/null @@ -1,451 +0,0 @@ - Announcing ncurses 5.5 - - The ncurses (new curses) library is a free software emulation of - curses in System V Release 4.0, and more. It uses terminfo format, - supports pads and color and multiple highlights and forms characters - and function-key mapping, and has all the other SYSV-curses - enhancements over BSD curses. - - In mid-June 1995, the maintainer of 4.4BSD curses declared that he - considered 4.4BSD curses obsolete, and encouraged the keepers of Unix - releases such as BSD/OS, FreeBSD and NetBSD to switch over to ncurses. - - The ncurses code was developed under GNU/Linux. It has been in use for - some time with OpenBSD as the system curses library, and on FreeBSD - and NetBSD as an external package. It should port easily to any - ANSI/POSIX-conforming UNIX. It has even been ported to OS/2 Warp! - - The distribution includes the library and support utilities, including - a terminfo compiler tic(1), a decompiler infocmp(1), clear(1), - tput(1), tset(1), and a termcap conversion tool captoinfo(1). Full - manual pages are provided for the library and tools. - - The ncurses distribution is available via anonymous FTP at the GNU - distribution site [1]ftp://ftp.gnu.org/gnu/ncurses/ . - It is also available at [2]ftp://invisible-island.net/ncurses/ . - - Release Notes - - This release is designed to be upward compatible from ncurses 5.0 - through 5.4; very few applications will require recompilation, - depending on the platform. These are the highlights from the - change-log since ncurses 5.4 release. - - Interface changes: - * terminfo installs "xterm-new" as "xterm" entry rather than - "xterm-old" (aka xterm-r6). - * terminfo data is installed using the tic -x option (few systems - still use ncurses 4.2). - * modify C++ binding to work with newer C++ compilers by providing - initializers and using modern casts. Old-style header names are - still used in this release to allow compiling with not-so-old - compilers. - * modify parameter type in c++ binding for insch() and mvwinsch() to - be consistent with underlying ncurses library (was char, is - chtype). - * change NCursesWindow::err_handler() to a virtual function. - * form and menu libraries now work with wide-character data. - Applications which bypassed the form library and manipulated the - FIELD.buf data directly will not work properly with libformw, - since that no longer points to an array of char. The - set_field_buffer() and field_buffer() functions translate to/from - the actual field data. - * add symbol to curses.h which can be used to suppress include of - stdbool.h, e.g., - #define NCURSES_ENABLE_STDBOOL_H 0 - #include - - * change SP->_current_attr to a pointer, adjust ifdef's to ensure - that libtinfo.so and libtinfow.so have the same ABI. The reason - for this is that the corresponding data which belongs to the - upper-level ncurses library has a different size in each model. - * winnstr() now returns multibyte character strings for the - wide-character configuration. - * assume_default_colors() no longer requires that - use_default_colors() be called first. - * data_ahead() now works with wide-characters. - * slk_set() and slk_wset() now accept and store multibyte or - multicolumn characters. - * start_color() now returns OK if colors have already been started. - start_color() also returns ERR if it cannot allocate memory. - * pair_content() now returns -1 for consistency with init_pair() if - it corresponds to the default-color. - * unctrl() now returns null if its parameter does not correspond to - an unsigned char. - - New features and improvements: - * library - + environment variable NCURSES_NO_UTF8_ACS supports - miscellaneous terminal emulators which ignore alternate - character set escape sequences when in UTF-8 mode. - + modify initialization of key lookup table so that if an - extended capability (tic -x) string is defined, and its name - begins with 'k', ncurses will automatically treat it as a - key. - + change GPM initialization, using dl library to load it - dynamically at runtime. - + form, menu and panel libraries support debug-tracing. - * add NCURSES-Programming-HOWTO.html by Pradeep Padala (see - http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/). - * programs: - * infocmp: - + The -i option now matches 8-bit controls against its table - entries, e.g., so it can analyze the xterm-8bit entry. - + add "-x" option to infocmp like tic's "-x", for use in "-F" - comparisons. This modifies infocmp to only report extended - capabilities if the -x option is given, making this more - consistent with tic. Some scripts may break, since infocmp - previous gave this information without an option. - * tic: - + modify termcap-parsing to retain 2-character aliases at the - beginning of an entry if the "-x" option is used in tic. - + filter out long extended names when translating to termcap - format. Only two characters are permissible for termcap - capability names. - + correct translation of "%%" in terminfo format to termcap, - e.g., using "tic -C". - + modify the "-c -v" options to ignore delays when comparing - strings. Also modify it to ignore a canceled sgr string, - e.g., for terminals which cannot properly combine attributes - in one control sequence. - + add a check for improperly ended strings, i.e., where a - following line begins in column 1. - + add a check in tic for terminfo entries having an sgr0 but no - sgr string. This confuses Tru64 and HPUX curses when combined - with color, e.g., making them leave line-drawing characters - in odd places. - + add check (with debug configuration) that provides about the - runtime changes that would be made to sgr0 for termcap - applications. - * tset: - + add -c and -w options to allow user to suppress ncurses' - resizing of the terminal emulator window in the special case - where it is not able to detect the true size. - - Major bug fixes: - * improve logic in tgetent() which adjusts the termcap "me" string - to work with ISO-2022 string used in xterm-new. This is a feature - that was incompletely implemented in ncurses 5.3. ncurses attempts - to provide termcap clients with the portion of the sgr0 (termcap - "me") string that does not reset line-drawing. - * cells in the WINDOW which are continuations of a multicolumn - character are encoded differently, making repainting more - reliable. - * amend change to setupterm() in ncurses 5.4 (20030405) which would - reuse the value of cur_term if the same output was selected. This - now reuses it only when setupterm() is called from tgetent(), - which has no notion of separate SCREENs. Note that tgetent() must - be called after initscr() or newterm() to use this feature. - * make setcchar() now works when its wchar_t* parameter is pointing - to a string which contains more data than can be converted. - * win_wchnstr() now works for more than one cell. - * resizeterm() now processes all levels of window hierarchy. - * disable GPM mouse support when $TERM happens to be prefixed with - "xterm". Gpm_Open() would otherwise assert that it can deal with - mouse events in this case. - * add SP->_screen_acs_map[], used to ensure that mapping of missing - line-drawing characters is handled properly. For example, - ACS_DARROW is absent from xterm-new, and it was coincidentally - displayed the same as ACS_BTEE. - - Portability: - * configure script: - + new options: - - --enable-largefile - set compiler and linker flags to use largefile - support. - - --enable-ext-colors - Allow encoding of 256 foreground and background - colors, e.g., with the xterm-256color or - xterm-88color terminfo entries. This requires ABI 6 - because it changes the size of cchar_t. - - --enable-ext-mouse - This defines NCURSES_MOUSE_VERSION 2, and modifies - the encoding of mouse events to support wheel mice, - which may transmit buttons 4 and 5. This works with - xterm and similar terminal emulators. This requires - ABI 6 because it changes the encoding of mouse - events. - - --with-chtype - overriding of the non-LP64 model's use of chtype - - --with-mmask-t - overriding of the non-LP64 model's use of mmask_t - - --without-xterm-new - Installs "xterm-old" as the "xterm" entry of the - terminfo database. - - + The --with-termlib option now accepts a value which sets the - name of the terminfo library. This would allow a packager to - build libtinfow.so renamed to coincide with libtinfo.so - + fixes/improvements for cross-compiling: - o suppress $suffix in misc/run_tic.sh when - cross-compiling. This allows cross-compiles to use the - host's tic program to handle the "make install.data" - step. - o correct BUILD_CPPFLAGS substitution in - ncurses/Makefile.in, to allow cross-compiling from a - separate directory tree. - * library: - + add ifdef's for _LP64 in curses.h to avoid using wasteful - 64-bits for chtype and mmask_t, but add configure option - --disable-lp64 in case anyone used that configuration. - + modify C++ binding to use some C internal functions to make - it compile properly on Solaris (and other platforms). - + remove check in newwin() that prevents allocating windows - that extend beyond the screen (Solaris does this). - + check for nl_langinfo(CODESET), use it if available. This - replaces ad hoc tests of environment variables to check if - the terminal is setup for UTF-8 encoding. Applications which - do not call setlocale() should be corrected, to make them - work properly with UTF-8 encoding. - In particular, applications which assume (and do not call - setlocale()) that Latin-1 codes are printable will no longer - work in a UTF-8 locale since the ad hoc check of environment - variables to see if the locale was UTF-8 is not used when - nl_langinfo(CODESET) is available. - + use setlocale() to query the program's current locale rather - than using getenv(). This supports applications which rely - upon legacy treatment of 8-bit characters when the locale is - not initialized. - - Features of Ncurses - - The ncurses package is fully compatible with SVr4 (System V Release 4) - curses: - * All 257 of the SVr4 calls have been implemented (and are - documented). - * Full support for SVr4 curses features including keyboard mapping, - color, forms-drawing with ACS characters, and automatic - recognition of keypad and function keys. - * An emulation of the SVr4 panels library, supporting a stack of - windows with backing store, is included. - * An emulation of the SVr4 menus library, supporting a uniform but - flexible interface for menu programming, is included. - * An emulation of the SVr4 form library, supporting data collection - through on-screen forms, is included. - * Binary terminfo entries generated by the ncurses tic(1) - implementation are bit-for-bit-compatible with the entry format - SVr4 curses uses. - * The utilities have options to allow you to filter terminfo entries - for use with less capable curses/terminfo versions such as the - HP/UX and AIX ports. - - The ncurses package also has many useful extensions over SVr4: - * The API is 8-bit clean and base-level conformant with the X/OPEN - curses specification, XSI curses (that is, it implements all BASE - level features, but not all EXTENDED features). Most - EXTENDED-level features not directly concerned with wide-character - support are implemented, including many function calls not - supported under SVr4 curses (but portability of all calls is - documented so you can use the SVr4 subset only). - * Unlike SVr3 curses, ncurses can write to the rightmost-bottommost - corner of the screen if your terminal has an insert-character - capability. - * Ada95 and C++ bindings. - * Support for mouse event reporting with X Window xterm and OS/2 - console windows. - * Extended mouse support via Alessandro Rubini's gpm package. - * The function wresize() allows you to resize windows, preserving - their data. - * The function use_default_colors() allows you to use the terminal's - default colors for the default color pair, achieving the effect of - transparent colors. - * The functions keyok() and define_key() allow you to better control - the use of function keys, e.g., disabling the ncurses KEY_MOUSE, - or by defining more than one control sequence to map to a given - key code. - * Support for 16-color terminals, such as aixterm and XFree86 xterm. - * Better cursor-movement optimization. The package now features a - cursor-local-movement computation more efficient than either BSD's - or System V's. - * Super hardware scrolling support. The screen-update code - incorporates a novel, simple, and cheap algorithm that enables it - to make optimal use of hardware scrolling, line-insertion, and - line-deletion for screen-line movements. This algorithm is more - powerful than the 4.4BSD curses quickch() routine. - * Real support for terminals with the magic-cookie glitch. The - screen-update code will refrain from drawing a highlight if the - magic- cookie unattributed spaces required just before the - beginning and after the end would step on a non-space character. - It will automatically shift highlight boundaries when doing so - would make it possible to draw the highlight without changing the - visual appearance of the screen. - * It is possible to generate the library with a list of pre-loaded - fallback entries linked to it so that it can serve those terminal - types even when no terminfo tree or termcap file is accessible - (this may be useful for support of screen-oriented programs that - must run in single-user mode). - * The tic(1)/captoinfo utility provided with ncurses has the ability - to translate many termcaps from the XENIX, IBM and AT&T extension - sets. - * A BSD-like tset(1) utility is provided. - * The ncurses library and utilities will automatically read terminfo - entries from $HOME/.terminfo if it exists, and compile to that - directory if it exists and the user has no write access to the - system directory. This feature makes it easier for users to have - personal terminfo entries without giving up access to the system - terminfo directory. - * You may specify a path of directories to search for compiled - descriptions with the environment variable TERMINFO_DIRS (this - generalizes the feature provided by TERMINFO under stock System - V.) - * In terminfo source files, use capabilities may refer not just to - other entries in the same source file (as in System V) but also to - compiled entries in either the system terminfo directory or the - user's $HOME/.terminfo directory. - * A script (capconvert) is provided to help BSD users transition - from termcap to terminfo. It gathers the information in a TERMCAP - environment variable and/or a ~/.termcap local entries file and - converts it to an equivalent local terminfo tree under - $HOME/.terminfo. - * Automatic fallback to the /etc/termcap file can be compiled in - when it is not possible to build a terminfo tree. This feature is - neither fast nor cheap, you don't want to use it unless you have - to, but it's there. - * The table-of-entries utility toe makes it easy for users to see - exactly what terminal types are available on the system. - * The library meets the XSI requirement that every macro entry point - have a corresponding function which may be linked (and will be - prototype-checked) if the macro definition is disabled with - #undef. - * An HTML "Introduction to Programming with NCURSES" document - provides a narrative introduction to the curses programming - interface. - - State of the Package - - Numerous bugs present in earlier versions have been fixed; the library - is far more reliable than it used to be. Bounds checking in many - `dangerous' entry points has been improved. The code is now type-safe - according to gcc -Wall. The library has been checked for malloc leaks - and arena corruption by the Purify memory-allocation tester. - - The ncurses code has been tested with a wide variety of applications - including (versions starting with those noted): - - cdk - Curses Development Kit - [3]http://invisible-island.net/cdk/ - [4]http://www.vexus.ca/products/CDK/ - - ded - directory-editor - [5]http://invisible-island.net/ded/ - - dialog - the underlying application used in Slackware's setup, and the - basis for similar applications on GNU/Linux. - [6]http://invisible-island.net/dialog/ - - lynx - the character-screen WWW browser - [7]http://lynx.isc.org/release/ - - Midnight Commander - file manager - [8]http://www.ibiblio.org/mc/ - - mutt - mail utility - [9]http://www.mutt.org/ - - ncftp - file-transfer utility - [10]http://www.ncftp.com/ - - nvi - New vi versions 1.50 are able to use ncurses versions 1.9.7 and - later. - [11]http://www.bostic.com/vi/ - - pinfo - Lynx-like info browser. - [12]http://dione.ids.pl/~pborys/software/pinfo/ - - tin - newsreader, supporting color, MIME [13]http://www.tin.org/ - - vh-1.6 - Volks-Hypertext browser for the Jargon File - [14]http://www.debian.org/Packages/unstable/text/vh.html - - as well as some that use ncurses for the terminfo support alone: - - minicom - terminal emulator - [15]http://www.netsonic.fi/~walker/minicom.html - - vile - vi-like-emacs - [16]http://invisible-island.net/vile/ - - The ncurses distribution includes a selection of test programs - (including a few games). - -Who's Who and What's What - - Zeyd Ben-Halim started it from a previous package pcurses, written by - Pavel Curtis. Eric S. Raymond continued development. Jürgen Pfeifer - wrote most of the form and menu libraries. Ongoing work is being done - by [17]Thomas Dickey. Thomas Dickey acts as the maintainer for the - Free Software Foundation, which holds the copyright on ncurses. - Contact the current maintainers at [18]bug-ncurses@gnu.org. - - To join the ncurses mailing list, please write email to - bug-ncurses-request@gnu.org containing the line: - subscribe @ - - This list is open to anyone interested in helping with the development - and testing of this package. - - Beta versions of ncurses and patches to the current release are made - available at [19]ftp://invisible-island.net/ncurses/ . - -Future Plans - - * Extended-level XPG4 conformance, with internationalization - support. - * Ports to more systems, including DOS and Windows. - - We need people to help with these projects. If you are interested in - working on them, please join the ncurses list. - -Other Related Resources - - The distribution provides a newer version of the terminfo-format - terminal description file maintained by [20]Eric Raymond . Unlike the - older version, the termcap and terminfo data are provided in the same - file. - - You can find lots of information on terminal-related topics not - covered in the terminfo file at [21]Richard Shuford's archive . - -References - - 1. ftp://ftp.gnu.org/gnu/ncurses/ - 2. ftp://invisible-island.net/ncurses/ - 3. http://invisible-island.net/cdk/ - 4. http://www.vexus.ca/products/CDK/ - 5. http://invisible-island.net/ded/ - 6. http://invisible-island.net/dialog/ - 7. http://lynx.isc.org/release/ - 8. http://www.ibiblio.org/mc/ - 9. http://www.mutt.org/ - 10. http://www.ncftp.com/ - 11. http://www.bostic.com/vi/ - 12. http://dione.ids.pl/~pborys/software/pinfo/ - 13. http://www.tin.org/ - 14. http://www.debian.org/Packages/unstable/text/vh.html - 15. http://www.netsonic.fi/~walker/minicom.html - 16. http://invisible-island.net/vile/ - 17. mailto:dickey@invisible-island.net - 18. mailto:bug-ncurses@gnu.org - 19. ftp://invisible-island.net/ncurses/ - 20. http://www.catb.org/~esr/terminfo/ - 21. http://www.cs.utk.edu/~shuford/terminal_index.html diff --git a/src/libs/ncurses/Ada95/Makefile.in b/src/libs/ncurses/Ada95/Makefile.in deleted file mode 100644 index b1743cfa6e..0000000000 --- a/src/libs/ncurses/Ada95/Makefile.in +++ /dev/null @@ -1,67 +0,0 @@ -############################################################################## -# Copyright (c) 1998 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Juergen Pfeifer, 1996 -# -# Version Control -# $Revision: 1.15 $ -# -SHELL = /bin/sh -THIS = Makefile - -SUBDIRS = @ADA_SUBDIRS@ - -CF_MFLAGS = @cf_cv_makeflags@ -@SET_MAKE@ - -all \ -libs \ -sources \ -install \ -install.libs \ -uninstall \ -uninstall.libs :: - for d in $(SUBDIRS); do \ - (cd $$d ; $(MAKE) $(CF_MFLAGS) $@) ;\ - done - -clean \ -mostlyclean :: - for d in $(SUBDIRS); do \ - (cd $$d ; $(MAKE) $(CF_MFLAGS) $@) ;\ - done - -distclean \ -realclean :: - for d in $(SUBDIRS); do \ - (cd $$d ; $(MAKE) $(CF_MFLAGS) $@) ;\ - done - rm -f Makefile - -install.data : - @ diff --git a/src/libs/ncurses/Ada95/README b/src/libs/ncurses/Ada95/README deleted file mode 100644 index be8425969d..0000000000 --- a/src/libs/ncurses/Ada95/README +++ /dev/null @@ -1,33 +0,0 @@ -------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell copies -- --- of the Software, and to permit persons to whom the Software is furnished -- --- to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -- --- NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -- --- USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- -------------------------------------------------------------------------------- - --- Author: Juergen Pfeifer, 1996 - -The documentation is provided in HTML format in the ./html -subdirectory. The main document is named index.html - diff --git a/src/libs/ncurses/Ada95/TODO b/src/libs/ncurses/Ada95/TODO deleted file mode 100644 index 12fef7b717..0000000000 --- a/src/libs/ncurses/Ada95/TODO +++ /dev/null @@ -1,27 +0,0 @@ --- $Id: TODO,v 1.4 1999/10/20 09:18:58 tom Exp $ - --- Intensive testing - Perhaps the delivery of the Beta will help a bit. - --- Documentation - Like most WEB pages: under continuous construction - --- Style cleanup - --- Alternate functions for procedures with out params - Comfort purpose - --- Sample program - Under continuous construction (and it's not a WEB page!!!) - --- Make the binding objects a shared library - They are rather large, so it would make sense, otherwise Ada95 - would look too large, although the generated code is as compact - as C or C++. I'll wait a bit until the GNAT people provide some - better support to construct shared libraries. - --- Think about more inlining - --- Check for memory leaks. - Oh I would like it so much if the GNAT guys would put an optional - GC into their system. diff --git a/src/libs/ncurses/Ada95/gen/Makefile.in b/src/libs/ncurses/Ada95/gen/Makefile.in deleted file mode 100644 index fd79d8babd..0000000000 --- a/src/libs/ncurses/Ada95/gen/Makefile.in +++ /dev/null @@ -1,435 +0,0 @@ -############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Juergen Pfeifer, 1996 -# -# $Id: Makefile.in,v 1.49 2005/05/14 13:57:14 tom Exp $ -# -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -x = @PROG_EXT@ - -top_srcdir = @top_srcdir@ -DESTDIR = @DESTDIR@ -srcdir = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ -ADA_INCLUDE = $(DESTDIR)@ADA_INCLUDE@ -ADA_OBJECTS = $(DESTDIR)@ADA_OBJECTS@ - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ - -AWK = @AWK@ -LN_S = @LN_S@ - -CC = @CC@ -HOST_CC = @BUILD_CC@ -CFLAGS = @CFLAGS@ - -CPPFLAGS = @ACPPFLAGS@ \ - -DHAVE_CONFIG_H -I$(srcdir) - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ - -CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) - -LINK = $(HOST_CC) -LD_FLAGS = @LD_MODEL@ $(LOCAL_LIBS) @LDFLAGS@ @LIBS@ @LOCAL_LDFLAGS2@ $(LDFLAGS) @TINFO_ARGS2@ - -RANLIB = @RANLIB@ - -M4 = m4 -M4FLAGS = - -GENERATE = ./gen$x '@DFT_ARG_SUFFIX@' -DEL_ADAMODE = sed -e '/^\-\-\ \ \-\*\-\ ada\ \-\*\-.*/d' - -GNATHTML = `type -p gnathtml || type -p gnathtml.pl` -GNATHP = www.gnat.com - -################################################################################ -ALIB = @cf_ada_package@ -ABASE = $(ALIB)-curses - -ADA_SRCDIR = ../src - -GEN_FILES0 = Base_Defs - -GEN_FILES1 = Key_Definitions \ - Old_Keys \ - Character_Attribute_Set_Rep \ - AC_Rep \ - Color_Defs \ - ACS_Map \ - Linker_Options \ - Base_Defs \ - Window_Offsets \ - Version_Info \ - Trace_Defs - -GEN_FILES2 = Menu_Opt_Rep \ - Menu_Base_Defs \ - Menu_Linker_Options \ - Item_Rep - -GEN_FILES3 = Form_Opt_Rep \ - Form_Base_Defs \ - Form_Linker_Options \ - Field_Rep - -GEN_FILES4 = Mouse_Base_Defs \ - Mouse_Event_Rep \ - Mouse_Events \ - Panel_Linker_Options - -GEN_FILES5 = Chtype_Def \ - Eti_Defs - -GEN_TARGETS = $(ADA_SRCDIR)/$(ABASE).ads \ - $(ADA_SRCDIR)/$(ABASE)-aux.ads \ - $(ADA_SRCDIR)/$(ABASE)-trace.ads \ - $(ADA_SRCDIR)/$(ABASE)-menus.ads \ - $(ADA_SRCDIR)/$(ABASE)-forms.ads \ - $(ADA_SRCDIR)/$(ABASE)-mouse.ads \ - $(ADA_SRCDIR)/$(ABASE)-panels.ads \ - $(ADA_SRCDIR)/$(ABASE)-menus-menu_user_data.ads \ - $(ADA_SRCDIR)/$(ABASE)-menus-item_user_data.ads \ - $(ADA_SRCDIR)/$(ABASE)-forms-form_user_data.ads \ - $(ADA_SRCDIR)/$(ABASE)-forms-field_types.ads \ - $(ADA_SRCDIR)/$(ABASE)-forms-field_user_data.ads \ - $(ADA_SRCDIR)/$(ABASE)-panels-user_data.ads - -GEN_SRC = $(srcdir)/$(ABASE).ads.m4 \ - $(srcdir)/$(ABASE)-aux.ads.m4 \ - $(srcdir)/$(ABASE)-trace.ads.m4 \ - $(srcdir)/$(ABASE)-menus.ads.m4 \ - $(srcdir)/$(ABASE)-forms.ads.m4 \ - $(srcdir)/$(ABASE)-mouse.ads.m4 \ - $(srcdir)/$(ABASE)-panels.ads.m4 \ - $(srcdir)/$(ABASE)-menus-menu_user_data.ads.m4 \ - $(srcdir)/$(ABASE)-menus-item_user_data.ads.m4 \ - $(srcdir)/$(ABASE)-forms-form_user_data.ads.m4 \ - $(srcdir)/$(ABASE)-forms-field_types.ads.m4 \ - $(srcdir)/$(ABASE)-forms-field_user_data.ads.m4 \ - $(srcdir)/$(ABASE)-panels-user_data.ads.m4 - - -all \ -libs : $(GEN_TARGETS) - @echo made $@ - -sources: - -$(ADA_INCLUDE) \ -$(ADA_OBJECTS) : - $(top_srcdir)/mkinstalldirs $@ - -install \ -install.libs :: $(ADA_INCLUDE) - @echo installing package $(ALIB) in $(ADA_INCLUDE) - @$(top_srcdir)/tar-copy.sh '$(ALIB)[-.]*.ad?' $(ADA_SRCDIR) $(ADA_INCLUDE) - @test $(srcdir) != ./ && $(top_srcdir)/tar-copy.sh '$(ALIB)[-.]*.ad?' $(srcdir)/../src $(ADA_INCLUDE) - -install \ -install.libs :: $(ADA_OBJECTS) - @echo installing package $(ALIB) in $(ADA_OBJECTS) - @-chmod a-wx $(ADA_SRCDIR)/*.ali - @$(top_srcdir)/tar-copy.sh '$(ALIB)[-.]*.ali' $(ADA_SRCDIR) $(ADA_OBJECTS) - @-chmod u+x $(ADA_SRCDIR)/*.ali - -uninstall \ -uninstall.libs :: - @echo removing package $(ALIB) from $(ADA_INCLUDE) - -@cd $(ADA_INCLUDE) && rm -f $(ALIB)[-.]* - -uninstall \ -uninstall.libs :: - @echo removing package $(ALIB) from $(ADA_OBJECTS) - -@cd $(ADA_OBJECTS) && rm -f $(ALIB)[-.]* - -gen$x: gen.o - @ECHO_LINK@ $(LINK) $(CFLAGS_NORMAL) gen.o $(LD_FLAGS) -o $@ - -gen.o: $(srcdir)/gen.c - $(HOST_CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/gen.c - -Character_Attribute_Set_Rep: gen$x - $(GENERATE) B A >$@ - -Base_Defs: gen$x - $(GENERATE) B B >$@ - -Color_Defs: gen$x - $(GENERATE) B C >$@ - -Key_Definitions: gen$x - $(GENERATE) B K >$@ - -Old_Keys: gen$x - $(GENERATE) B O >$@ - -ACS_Map: gen$x - $(GENERATE) B M >$@ - -AC_Rep: gen$x - $(GENERATE) B R >$@ - -Linker_Options: gen$x - $(GENERATE) B L >$@ - -Version_Info: gen$x - $(GENERATE) B V >$@ - -Window_Offsets: gen$x - $(GENERATE) B D >$@ - -Trace_Defs: gen$x - $(GENERATE) B T >$@ - -Menu_Opt_Rep: gen$x - $(GENERATE) M R >$@ - -Menu_Base_Defs: gen$x - $(GENERATE) M B >$@ - -Menu_Linker_Options: gen$x - $(GENERATE) M L >$@ - -Item_Rep: gen$x - $(GENERATE) M I >$@ - -Form_Opt_Rep: gen$x - $(GENERATE) F R >$@ - -Form_Base_Defs: gen$x - $(GENERATE) F B >$@ - -Form_Linker_Options: gen$x - $(GENERATE) F L >$@ - -Field_Rep: gen$x - $(GENERATE) F I >$@ - -Mouse_Base_Defs: gen$x - $(GENERATE) P B >$@ - -Mouse_Event_Rep: gen$x - $(GENERATE) P M >$@ - -Mouse_Events: gen$x - $(GENERATE) B E >$@ - -Panel_Linker_Options: gen$x - $(GENERATE) P L >$@ - -Chtype_Def: gen$x - $(GENERATE) E C >$@ - -Eti_Defs: gen$x - $(GENERATE) E E >$@ - -$(ADA_SRCDIR)/$(ABASE).ads: $(srcdir)/$(ABASE).ads.m4 \ - $(GEN_FILES1) $(srcdir)/normal.m4 - $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \ - $(srcdir)/$(ABASE).ads.m4 |\ - $(DEL_ADAMODE) >$@ - -$(ADA_SRCDIR)/$(ABASE)-aux.ads: $(srcdir)/$(ABASE)-aux.ads.m4 \ - $(GEN_FILES5) $(srcdir)/normal.m4 - $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \ - $(srcdir)/$(ABASE)-aux.ads.m4 |\ - $(DEL_ADAMODE) >$@ - -$(ADA_SRCDIR)/$(ABASE)-trace.ads: $(srcdir)/$(ABASE)-trace.ads.m4 \ - $(GEN_FILES5) $(srcdir)/normal.m4 - $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \ - $(srcdir)/$(ABASE)-trace.ads.m4 |\ - $(DEL_ADAMODE) >$@ - -$(ADA_SRCDIR)/$(ABASE)-menus.ads: $(srcdir)/$(ABASE)-menus.ads.m4 \ - $(GEN_FILES2) $(srcdir)/normal.m4 - $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \ - $(srcdir)/$(ABASE)-menus.ads.m4 |\ - $(DEL_ADAMODE) >$@ - -$(ADA_SRCDIR)/$(ABASE)-forms.ads: $(srcdir)/$(ABASE)-forms.ads.m4 \ - $(GEN_FILES3) $(srcdir)/normal.m4 - $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \ - $(srcdir)/$(ABASE)-forms.ads.m4 |\ - $(DEL_ADAMODE) >$@ - -$(ADA_SRCDIR)/$(ABASE)-mouse.ads: $(srcdir)/$(ABASE)-mouse.ads.m4 \ - $(GEN_FILES4) $(srcdir)/normal.m4 - $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \ - $(srcdir)/$(ABASE)-mouse.ads.m4 |\ - $(DEL_ADAMODE) >$@ - -$(ADA_SRCDIR)/$(ABASE)-panels.ads: $(srcdir)/$(ABASE)-panels.ads.m4 \ - $(srcdir)/normal.m4 - $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \ - $(srcdir)/$(ABASE)-panels.ads.m4 |\ - $(DEL_ADAMODE) >$@ - -$(ADA_SRCDIR)/$(ABASE)-menus-menu_user_data.ads: \ - $(srcdir)/$(ABASE)-menus-menu_user_data.ads.m4 \ - $(srcdir)/normal.m4 - $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \ - $(srcdir)/$(ABASE)-menus-menu_user_data.ads.m4 |\ - $(DEL_ADAMODE) >$@ - -$(ADA_SRCDIR)/$(ABASE)-menus-item_user_data.ads: \ - $(srcdir)/$(ABASE)-menus-item_user_data.ads.m4 \ - $(srcdir)/normal.m4 - $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \ - $(srcdir)/$(ABASE)-menus-item_user_data.ads.m4 |\ - $(DEL_ADAMODE) >$@ - -$(ADA_SRCDIR)/$(ABASE)-forms-form_user_data.ads: \ - $(srcdir)/$(ABASE)-forms-form_user_data.ads.m4 \ - $(srcdir)/normal.m4 - $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \ - $(srcdir)/$(ABASE)-forms-form_user_data.ads.m4 |\ - $(DEL_ADAMODE) >$@ - -$(ADA_SRCDIR)/$(ABASE)-forms-field_types.ads: \ - $(srcdir)/$(ABASE)-forms-field_types.ads.m4 \ - $(srcdir)/normal.m4 - $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \ - $(srcdir)/$(ABASE)-forms-field_types.ads.m4 |\ - $(DEL_ADAMODE) >$@ - -$(ADA_SRCDIR)/$(ABASE)-forms-field_user_data.ads: \ - $(srcdir)/$(ABASE)-forms-field_user_data.ads.m4 \ - $(srcdir)/normal.m4 - $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \ - $(srcdir)/$(ABASE)-forms-field_user_data.ads.m4 |\ - $(DEL_ADAMODE) >$@ - -$(ADA_SRCDIR)/$(ABASE)-panels-user_data.ads: \ - $(srcdir)/$(ABASE)-panels-user_data.ads.m4 \ - $(srcdir)/normal.m4 - $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \ - $(srcdir)/$(ABASE)-panels-user_data.ads.m4 |\ - $(DEL_ADAMODE) >$@ - -install.progs :: - -tags: - ctags *.[ch] - -TAGS: - etags *.[ch] - -mostlyclean :: - -rm -f a.out core gen$x *.o - -rm -f $(GEN_FILES1) - -rm -f $(GEN_FILES2) - -rm -f $(GEN_FILES3) - -rm -f $(GEN_FILES4) - -rm -f $(GEN_FILES5) - -clean :: mostlyclean - -rm -f $(GEN_TARGETS) instab.tmp *.ad[bs] *.html *.ali *.tmp - -distclean :: clean - rm -f Makefile - -realclean :: distclean - -HTML_DIR = ../../doc/html/ada - -instab.tmp : table.m4 $(GEN_SRC) - @rm -f $@ - @for f in $(GEN_SRC) ; do \ - $(M4) $(M4FLAGS) -DM4MACRO=table.m4 $$f | $(DEL_ADAMODE) >> $@ ;\ - done; - -$(HTML_DIR)/table.html : instab.tmp - @-touch $@ - @-chmod +w $@ - @echo ' $@ - @echo 'PUBLIC "-//IETF//DTD HTML 3.0//EN">' >> $@ - @echo '' >> $@ - @echo '' >> $@ - @echo 'Correspondence between ncurses C and Ada functions' >>$@ - @echo '' >> $@ - @echo '' >> $@ - @echo '

Correspondence between ncurses C and Ada functions

' >>$@ - @echo '

Sorted by C function name

' >>$@ - @echo '' >>$@ - @echo '' >>$@ - @echo '' >>$@ - @sort < instab.tmp >> $@ - @echo '
C nameAda nameman page
' >>$@ - @rm -f instab.tmp - -adahtml: - @find $(HTML_DIR) -type f -exec rm -f {} \; - @mkdir -p $(HTML_DIR) - cp -p ../src/*.ad[sb] . && chmod +w *.ad[sb] - ln -sf ../src/*.ali . - for f in $(GEN_SRC); do \ - g=`basename $$f .ads.m4` ;\ - $(M4) $(M4FLAGS) -DM4MACRO=html.m4 $$f | $(DEL_ADAMODE) > $$g.ads ;\ - done - @-rm -f $(HTML_DIR)/$(ALIB)*.htm* - $(GNATHTML) -d -f $(ALIB)*.ads - for f in html/$(ALIB)*.htm*; do \ - a=`basename $$f` ; \ - sed -e 's/You may also.*body.*//' <$$f |\ - sed -e 's%GNAT%GNAT%g' |\ - sed -e 's%<A HREF%%g' |\ - sed -e 's/3X/3x/g' |\ - sed -e 's/$$\([ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxz0123456789_]*:.*\)\$$/@\1@/' |\ - sed -e 's%</A>%%g' > $$a.tmp ;\ - mv $$a.tmp $$f ;\ - done - @rm -f *.ad[sb] *.ali *.tmp - @for f in funcs.htm main.htm ; do \ - sed -e "\%\[ \]%d" < html/$$f > $$f ;\ - mv $$f html/$$f ;\ - done - @rm -f "html/funcs/ .htm" - @cp -pdrf html/* $(HTML_DIR)/ - @rm -rf html - -html : adahtml $(HTML_DIR)/table.html - @echo made $@ - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### diff --git a/src/libs/ncurses/Ada95/gen/gen.c b/src/libs/ncurses/Ada95/gen/gen.c deleted file mode 100644 index b7842a64a8..0000000000 --- a/src/libs/ncurses/Ada95/gen/gen.c +++ /dev/null @@ -1,1503 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1996 * - ****************************************************************************/ - -/* - Version Control - $Id: gen.c,v 1.40 2005/01/22 17:03:48 tom Exp $ - --------------------------------------------------------------------------*/ -/* - This program generates various record structures and constants from the - ncurses header file for the Ada95 packages. Essentially it produces - Ada95 source on stdout, which is then merged using m4 into a template - to produce the real source. - */ - -#include -#include -#include -#include -#include - -#include -#include - -#define RES_NAME "Reserved" - -static const char *model = ""; -static int little_endian = 0; - -typedef struct - { - const char *name; - unsigned long attr; - } -name_attribute_pair; - -static int -find_pos(char *s, unsigned len, int *low, int *high) -{ - unsigned int i, j; - int l = 0; - - *high = -1; - *low = 8 * len; - - for (i = 0; i < len; i++, s++) - { - if (*s) - { - for (j = 0; j < 8 * sizeof(char); j++) - - { - if (((little_endian && ((*s) & 0x01)) || - (!little_endian && ((*s) & 0x80)))) - { - if (l > *high) - *high = l; - if (l < *low) - *low = l; - } - l++; - if (little_endian) - *s >>= 1; - else - *s <<= 1; - } - } - else - l += 8; - } - return (*high >= 0 && (*low <= *high)) ? *low : -1; -} - -/* - * This helper routine generates a representation clause for a - * record type defined in the binding. - * We are only dealing with record types which are of 32 or 16 - * bit size, i.e. they fit into an (u)int or a (u)short. - */ -static void - gen_reps - (const name_attribute_pair * nap, /* array of name_attribute_pair records */ - const char *name, /* name of the represented record type */ - int len, /* size of the record in bytes */ - int bias) -{ - int i, n, l, cnt = 0, low, high; - int width = strlen(RES_NAME) + 3; - unsigned long a; - unsigned long mask = 0; - - assert(nap != NULL); - - for (i = 0; nap[i].name != (char *)0; i++) - { - cnt++; - l = strlen(nap[i].name); - if (l > width) - width = l; - } - assert(width > 0); - - printf(" type %s is\n", name); - printf(" record\n"); - for (i = 0; nap[i].name != (char *)0; i++) - { - printf(" %-*s : Boolean;\n", width, nap[i].name); - } - printf(" end record;\n"); - printf(" pragma Convention (C, %s);\n\n", name); - - printf(" for %s use\n", name); - printf(" record\n"); - - for (i = 0; nap[i].name != (char *)0; i++) - { - a = nap[i].attr; - mask |= a; - l = find_pos((char *)&a, sizeof(a), &low, &high); - if (l >= 0) - printf(" %-*s at 0 range %2d .. %2d;\n", width, nap[i].name, - low - bias, high - bias); - } - i = 1; - n = cnt; - printf(" end record;\n"); - printf(" for %s'Size use %d;\n", name, 8 * len); - printf(" -- Please note: this rep. clause is generated and may be\n"); - printf(" -- different on your system."); -} - -static void -chtype_rep(const char *name, attr_t mask) -{ - attr_t x = -1; - attr_t t = x & mask; - int low, high; - int l = find_pos((char *)&t, sizeof(t), &low, &high); - - if (l >= 0) - printf(" %-5s at 0 range %2d .. %2d;\n", name, low, high); -} - -static void -gen_chtype_rep(const char *name) -{ - printf(" for %s use\n record\n", name); - chtype_rep("Ch", A_CHARTEXT); - chtype_rep("Color", A_COLOR); - chtype_rep("Attr", (A_ATTRIBUTES & ~A_COLOR)); - printf(" end record;\n for %s'Size use %ld;\n", - name, (long)(8 * sizeof(chtype))); - - printf(" -- Please note: this rep. clause is generated and may be\n"); - printf(" -- different on your system.\n"); -} - -static void -mrep_rep(const char *name, void *rec) -{ - int low, high; - int l = find_pos((char *)rec, sizeof(MEVENT), &low, &high); - - if (l >= 0) - printf(" %-7s at 0 range %3d .. %3d;\n", name, low, high); -} - -static void -gen_mrep_rep(const char *name) -{ - MEVENT x; - - printf(" for %s use\n record\n", name); - - memset(&x, 0, sizeof(x)); - x.id = -1; - mrep_rep("Id", &x); - - memset(&x, 0, sizeof(x)); - x.x = -1; - mrep_rep("X", &x); - - memset(&x, 0, sizeof(x)); - x.y = -1; - mrep_rep("Y", &x); - - memset(&x, 0, sizeof(x)); - x.z = -1; - mrep_rep("Z", &x); - - memset(&x, 0, sizeof(x)); - x.bstate = -1; - mrep_rep("Bstate", &x); - - printf(" end record;\n"); - printf(" -- Please note: this rep. clause is generated and may be\n"); - printf(" -- different on your system.\n"); -} - -static void -gen_attr_set(const char *name) -{ - /* All of the A_xxx symbols are defined in ncurses, but not all are nonzero - * if "configure --enable-widec" is specified. - */ - static const name_attribute_pair nap[] = - { -#if A_STANDOUT - {"Stand_Out", A_STANDOUT}, -#endif -#if A_UNDERLINE - {"Under_Line", A_UNDERLINE}, -#endif -#if A_REVERSE - {"Reverse_Video", A_REVERSE}, -#endif -#if A_BLINK - {"Blink", A_BLINK}, -#endif -#if A_DIM - {"Dim_Character", A_DIM}, -#endif -#if A_BOLD - {"Bold_Character", A_BOLD}, -#endif -#if A_ALTCHARSET - {"Alternate_Character_Set", A_ALTCHARSET}, -#endif -#if A_INVIS - {"Invisible_Character", A_INVIS}, -#endif -#if A_PROTECT - {"Protected_Character", A_PROTECT}, -#endif -#if A_HORIZONTAL - {"Horizontal", A_HORIZONTAL}, -#endif -#if A_LEFT - {"Left", A_LEFT}, -#endif -#if A_LOW - {"Low", A_LOW}, -#endif -#if A_RIGHT - {"Right", A_RIGHT}, -#endif -#if A_TOP - {"Top", A_TOP}, -#endif -#if A_VERTICAL - {"Vertical", A_VERTICAL}, -#endif - {(char *)0, 0} - }; - chtype attr = A_ATTRIBUTES & ~A_COLOR; - int start = -1; - int len = 0; - int i, set; - for (i = 0; i < (int)(8 * sizeof(chtype)); i++) - - { - set = attr & 1; - if (set) - { - if (start < 0) - start = i; - if (start >= 0) - { - len++; - } - } - attr = attr >> 1; - } - gen_reps(nap, name, (len + 7) / 8, little_endian ? start : 0); -} - -static void -gen_trace(const char *name) -{ - static const name_attribute_pair nap[] = - { - {"Times", TRACE_TIMES}, - {"Tputs", TRACE_TPUTS}, - {"Update", TRACE_UPDATE}, - {"Cursor_Move", TRACE_MOVE}, - {"Character_Output", TRACE_CHARPUT}, - {"Calls", TRACE_CALLS}, - {"Virtual_Puts", TRACE_VIRTPUT}, - {"Input_Events", TRACE_IEVENT}, - {"TTY_State", TRACE_BITS}, - {"Internal_Calls", TRACE_ICALLS}, - {"Character_Calls", TRACE_CCALLS}, - {"Termcap_TermInfo", TRACE_DATABASE}, - {(char *)0, 0} - }; - gen_reps(nap, name, sizeof(int), 0); -} - -static void -gen_menu_opt_rep(const char *name) -{ - static const name_attribute_pair nap[] = - { -#ifdef O_ONEVALUE - {"One_Valued", O_ONEVALUE}, -#endif -#ifdef O_SHOWDESC - {"Show_Descriptions", O_SHOWDESC}, -#endif -#ifdef O_ROWMAJOR - {"Row_Major_Order", O_ROWMAJOR}, -#endif -#ifdef O_IGNORECASE - {"Ignore_Case", O_IGNORECASE}, -#endif -#ifdef O_SHOWMATCH - {"Show_Matches", O_SHOWMATCH}, -#endif -#ifdef O_NONCYCLIC - {"Non_Cyclic", O_NONCYCLIC}, -#endif - {(char *)0, 0} - }; - gen_reps(nap, name, sizeof(int), 0); -} - -static void -gen_item_opt_rep(const char *name) -{ - static const name_attribute_pair nap[] = - { -#ifdef O_SELECTABLE - {"Selectable", O_SELECTABLE}, -#endif - {(char *)0, 0} - }; - gen_reps(nap, name, sizeof(int), 0); -} - -static void -gen_form_opt_rep(const char *name) -{ - static const name_attribute_pair nap[] = - { -#ifdef O_NL_OVERLOAD - {"NL_Overload", O_NL_OVERLOAD}, -#endif -#ifdef O_BS_OVERLOAD - {"BS_Overload", O_BS_OVERLOAD}, -#endif - {(char *)0, 0} - }; - gen_reps(nap, name, sizeof(int), 0); -} - -/* - * Generate the representation clause for the Field_Option_Set record - */ -static void -gen_field_opt_rep(const char *name) -{ - static const name_attribute_pair nap[] = - { -#ifdef O_VISIBLE - {"Visible", O_VISIBLE}, -#endif -#ifdef O_ACTIVE - {"Active", O_ACTIVE}, -#endif -#ifdef O_PUBLIC - {"Public", O_PUBLIC}, -#endif -#ifdef O_EDIT - {"Edit", O_EDIT}, -#endif -#ifdef O_WRAP - {"Wrap", O_WRAP}, -#endif -#ifdef O_BLANK - {"Blank", O_BLANK}, -#endif -#ifdef O_AUTOSKIP - {"Auto_Skip", O_AUTOSKIP}, -#endif -#ifdef O_NULLOK - {"Null_Ok", O_NULLOK}, -#endif -#ifdef O_PASSOK - {"Pass_Ok", O_PASSOK}, -#endif -#ifdef O_STATIC - {"Static", O_STATIC}, -#endif - {(char *)0, 0} - }; - gen_reps(nap, name, sizeof(int), 0); -} - -/* - * Generate a single key code constant definition. - */ -static void -keydef(const char *name, const char *old_name, int value, int mode) -{ - if (mode == 0) /* Generate the new name */ - printf(" %-30s : constant Special_Key_Code := 8#%3o#;\n", name, value); - else - { /* generate the old name, but only if it doesn't conflict with the old - * name (Ada95 isn't case sensitive!) - */ - const char *s = old_name; - const char *t = name; - - while (*s && *t && (toupper(*s++) == toupper(*t++))); - if (*s || *t) - printf(" %-16s : Special_Key_Code renames %s;\n", old_name, name); - } -} - -/* - * Generate constants for the key codes. When called with mode==0, a - * complete list with nice constant names in proper casing style will - * be generated. Otherwise a list of old (i.e. C-style) names will be - * generated, given that the name wasn't already defined in the "nice" - * list. - */ -static void -gen_keydefs(int mode) -{ - char buf[16]; - char obuf[16]; - int i; - -#ifdef KEY_CODE_YES - keydef("Key_Code_Yes", "KEY_CODE_YES", KEY_CODE_YES, mode); -#endif -#ifdef KEY_MIN - keydef("Key_Min", "KEY_MIN", KEY_MIN, mode); -#endif -#ifdef KEY_BREAK - keydef("Key_Break", "KEY_BREAK", KEY_BREAK, mode); -#endif -#ifdef KEY_DOWN - keydef("Key_Cursor_Down", "KEY_DOWN", KEY_DOWN, mode); -#endif -#ifdef KEY_UP - keydef("Key_Cursor_Up", "KEY_UP", KEY_UP, mode); -#endif -#ifdef KEY_LEFT - keydef("Key_Cursor_Left", "KEY_LEFT", KEY_LEFT, mode); -#endif -#ifdef KEY_RIGHT - keydef("Key_Cursor_Right", "KEY_RIGHT", KEY_RIGHT, mode); -#endif -#ifdef KEY_HOME - keydef("Key_Home", "KEY_HOME", KEY_HOME, mode); -#endif -#ifdef KEY_BACKSPACE - keydef("Key_Backspace", "KEY_BACKSPACE", KEY_BACKSPACE, mode); -#endif -#ifdef KEY_F0 - keydef("Key_F0", "KEY_F0", KEY_F0, mode); -#endif -#ifdef KEY_F - for (i = 1; i <= 24; i++) - { - sprintf(buf, "Key_F%d", i); - sprintf(obuf, "KEY_F%d", i); - keydef(buf, obuf, KEY_F(i), mode); - } -#endif -#ifdef KEY_DL - keydef("Key_Delete_Line", "KEY_DL", KEY_DL, mode); -#endif -#ifdef KEY_IL - keydef("Key_Insert_Line", "KEY_IL", KEY_IL, mode); -#endif -#ifdef KEY_DC - keydef("Key_Delete_Char", "KEY_DC", KEY_DC, mode); -#endif -#ifdef KEY_IC - keydef("Key_Insert_Char", "KEY_IC", KEY_IC, mode); -#endif -#ifdef KEY_EIC - keydef("Key_Exit_Insert_Mode", "KEY_EIC", KEY_EIC, mode); -#endif -#ifdef KEY_CLEAR - keydef("Key_Clear_Screen", "KEY_CLEAR", KEY_CLEAR, mode); -#endif -#ifdef KEY_EOS - keydef("Key_Clear_End_Of_Screen", "KEY_EOS", KEY_EOS, mode); -#endif -#ifdef KEY_EOL - keydef("Key_Clear_End_Of_Line", "KEY_EOL", KEY_EOL, mode); -#endif -#ifdef KEY_SF - keydef("Key_Scroll_1_Forward", "KEY_SF", KEY_SF, mode); -#endif -#ifdef KEY_SR - keydef("Key_Scroll_1_Backward", "KEY_SR", KEY_SR, mode); -#endif -#ifdef KEY_NPAGE - keydef("Key_Next_Page", "KEY_NPAGE", KEY_NPAGE, mode); -#endif -#ifdef KEY_PPAGE - keydef("Key_Previous_Page", "KEY_PPAGE", KEY_PPAGE, mode); -#endif -#ifdef KEY_STAB - keydef("Key_Set_Tab", "KEY_STAB", KEY_STAB, mode); -#endif -#ifdef KEY_CTAB - keydef("Key_Clear_Tab", "KEY_CTAB", KEY_CTAB, mode); -#endif -#ifdef KEY_CATAB - keydef("Key_Clear_All_Tabs", "KEY_CATAB", KEY_CATAB, mode); -#endif -#ifdef KEY_ENTER - keydef("Key_Enter_Or_Send", "KEY_ENTER", KEY_ENTER, mode); -#endif -#ifdef KEY_SRESET - keydef("Key_Soft_Reset", "KEY_SRESET", KEY_SRESET, mode); -#endif -#ifdef KEY_RESET - keydef("Key_Reset", "KEY_RESET", KEY_RESET, mode); -#endif -#ifdef KEY_PRINT - keydef("Key_Print", "KEY_PRINT", KEY_PRINT, mode); -#endif -#ifdef KEY_LL - keydef("Key_Bottom", "KEY_LL", KEY_LL, mode); -#endif -#ifdef KEY_A1 - keydef("Key_Upper_Left_Of_Keypad", "KEY_A1", KEY_A1, mode); -#endif -#ifdef KEY_A3 - keydef("Key_Upper_Right_Of_Keypad", "KEY_A3", KEY_A3, mode); -#endif -#ifdef KEY_B2 - keydef("Key_Center_Of_Keypad", "KEY_B2", KEY_B2, mode); -#endif -#ifdef KEY_C1 - keydef("Key_Lower_Left_Of_Keypad", "KEY_C1", KEY_C1, mode); -#endif -#ifdef KEY_C3 - keydef("Key_Lower_Right_Of_Keypad", "KEY_C3", KEY_C3, mode); -#endif -#ifdef KEY_BTAB - keydef("Key_Back_Tab", "KEY_BTAB", KEY_BTAB, mode); -#endif -#ifdef KEY_BEG - keydef("Key_Beginning", "KEY_BEG", KEY_BEG, mode); -#endif -#ifdef KEY_CANCEL - keydef("Key_Cancel", "KEY_CANCEL", KEY_CANCEL, mode); -#endif -#ifdef KEY_CLOSE - keydef("Key_Close", "KEY_CLOSE", KEY_CLOSE, mode); -#endif -#ifdef KEY_COMMAND - keydef("Key_Command", "KEY_COMMAND", KEY_COMMAND, mode); -#endif -#ifdef KEY_COPY - keydef("Key_Copy", "KEY_COPY", KEY_COPY, mode); -#endif -#ifdef KEY_CREATE - keydef("Key_Create", "KEY_CREATE", KEY_CREATE, mode); -#endif -#ifdef KEY_END - keydef("Key_End", "KEY_END", KEY_END, mode); -#endif -#ifdef KEY_EXIT - keydef("Key_Exit", "KEY_EXIT", KEY_EXIT, mode); -#endif -#ifdef KEY_FIND - keydef("Key_Find", "KEY_FIND", KEY_FIND, mode); -#endif -#ifdef KEY_HELP - keydef("Key_Help", "KEY_HELP", KEY_HELP, mode); -#endif -#ifdef KEY_MARK - keydef("Key_Mark", "KEY_MARK", KEY_MARK, mode); -#endif -#ifdef KEY_MESSAGE - keydef("Key_Message", "KEY_MESSAGE", KEY_MESSAGE, mode); -#endif -#ifdef KEY_MOVE - keydef("Key_Move", "KEY_MOVE", KEY_MOVE, mode); -#endif -#ifdef KEY_NEXT - keydef("Key_Next", "KEY_NEXT", KEY_NEXT, mode); -#endif -#ifdef KEY_OPEN - keydef("Key_Open", "KEY_OPEN", KEY_OPEN, mode); -#endif -#ifdef KEY_OPTIONS - keydef("Key_Options", "KEY_OPTIONS", KEY_OPTIONS, mode); -#endif -#ifdef KEY_PREVIOUS - keydef("Key_Previous", "KEY_PREVIOUS", KEY_PREVIOUS, mode); -#endif -#ifdef KEY_REDO - keydef("Key_Redo", "KEY_REDO", KEY_REDO, mode); -#endif -#ifdef KEY_REFERENCE - keydef("Key_Reference", "KEY_REFERENCE", KEY_REFERENCE, mode); -#endif -#ifdef KEY_REFRESH - keydef("Key_Refresh", "KEY_REFRESH", KEY_REFRESH, mode); -#endif -#ifdef KEY_REPLACE - keydef("Key_Replace", "KEY_REPLACE", KEY_REPLACE, mode); -#endif -#ifdef KEY_RESTART - keydef("Key_Restart", "KEY_RESTART", KEY_RESTART, mode); -#endif -#ifdef KEY_RESUME - keydef("Key_Resume", "KEY_RESUME", KEY_RESUME, mode); -#endif -#ifdef KEY_SAVE - keydef("Key_Save", "KEY_SAVE", KEY_SAVE, mode); -#endif -#ifdef KEY_SBEG - keydef("Key_Shift_Begin", "KEY_SBEG", KEY_SBEG, mode); -#endif -#ifdef KEY_SCANCEL - keydef("Key_Shift_Cancel", "KEY_SCANCEL", KEY_SCANCEL, mode); -#endif -#ifdef KEY_SCOMMAND - keydef("Key_Shift_Command", "KEY_SCOMMAND", KEY_SCOMMAND, mode); -#endif -#ifdef KEY_SCOPY - keydef("Key_Shift_Copy", "KEY_SCOPY", KEY_SCOPY, mode); -#endif -#ifdef KEY_SCREATE - keydef("Key_Shift_Create", "KEY_SCREATE", KEY_SCREATE, mode); -#endif -#ifdef KEY_SDC - keydef("Key_Shift_Delete_Char", "KEY_SDC", KEY_SDC, mode); -#endif -#ifdef KEY_SDL - keydef("Key_Shift_Delete_Line", "KEY_SDL", KEY_SDL, mode); -#endif -#ifdef KEY_SELECT - keydef("Key_Select", "KEY_SELECT", KEY_SELECT, mode); -#endif -#ifdef KEY_SEND - keydef("Key_Shift_End", "KEY_SEND", KEY_SEND, mode); -#endif -#ifdef KEY_SEOL - keydef("Key_Shift_Clear_End_Of_Line", "KEY_SEOL", KEY_SEOL, mode); -#endif -#ifdef KEY_SEXIT - keydef("Key_Shift_Exit", "KEY_SEXIT", KEY_SEXIT, mode); -#endif -#ifdef KEY_SFIND - keydef("Key_Shift_Find", "KEY_SFIND", KEY_SFIND, mode); -#endif -#ifdef KEY_SHELP - keydef("Key_Shift_Help", "KEY_SHELP", KEY_SHELP, mode); -#endif -#ifdef KEY_SHOME - keydef("Key_Shift_Home", "KEY_SHOME", KEY_SHOME, mode); -#endif -#ifdef KEY_SIC - keydef("Key_Shift_Insert_Char", "KEY_SIC", KEY_SIC, mode); -#endif -#ifdef KEY_SLEFT - keydef("Key_Shift_Cursor_Left", "KEY_SLEFT", KEY_SLEFT, mode); -#endif -#ifdef KEY_SMESSAGE - keydef("Key_Shift_Message", "KEY_SMESSAGE", KEY_SMESSAGE, mode); -#endif -#ifdef KEY_SMOVE - keydef("Key_Shift_Move", "KEY_SMOVE", KEY_SMOVE, mode); -#endif -#ifdef KEY_SNEXT - keydef("Key_Shift_Next_Page", "KEY_SNEXT", KEY_SNEXT, mode); -#endif -#ifdef KEY_SOPTIONS - keydef("Key_Shift_Options", "KEY_SOPTIONS", KEY_SOPTIONS, mode); -#endif -#ifdef KEY_SPREVIOUS - keydef("Key_Shift_Previous_Page", "KEY_SPREVIOUS", KEY_SPREVIOUS, mode); -#endif -#ifdef KEY_SPRINT - keydef("Key_Shift_Print", "KEY_SPRINT", KEY_SPRINT, mode); -#endif -#ifdef KEY_SREDO - keydef("Key_Shift_Redo", "KEY_SREDO", KEY_SREDO, mode); -#endif -#ifdef KEY_SREPLACE - keydef("Key_Shift_Replace", "KEY_SREPLACE", KEY_SREPLACE, mode); -#endif -#ifdef KEY_SRIGHT - keydef("Key_Shift_Cursor_Right", "KEY_SRIGHT", KEY_SRIGHT, mode); -#endif -#ifdef KEY_SRSUME - keydef("Key_Shift_Resume", "KEY_SRSUME", KEY_SRSUME, mode); -#endif -#ifdef KEY_SSAVE - keydef("Key_Shift_Save", "KEY_SSAVE", KEY_SSAVE, mode); -#endif -#ifdef KEY_SSUSPEND - keydef("Key_Shift_Suspend", "KEY_SSUSPEND", KEY_SSUSPEND, mode); -#endif -#ifdef KEY_SUNDO - keydef("Key_Shift_Undo", "KEY_SUNDO", KEY_SUNDO, mode); -#endif -#ifdef KEY_SUSPEND - keydef("Key_Suspend", "KEY_SUSPEND", KEY_SUSPEND, mode); -#endif -#ifdef KEY_UNDO - keydef("Key_Undo", "KEY_UNDO", KEY_UNDO, mode); -#endif -#ifdef KEY_MOUSE - keydef("Key_Mouse", "KEY_MOUSE", KEY_MOUSE, mode); -#endif -#ifdef KEY_RESIZE - keydef("Key_Resize", "KEY_RESIZE", KEY_RESIZE, mode); -#endif -} - -/* - * Generate a constant with the given name. The second parameter - * is a reference to the ACS character in the acs_map[] array and - * will be translated into an index. - */ -static void -acs_def(const char *name, chtype *a) -{ - int c = a - &acs_map[0]; - - printf(" %-24s : constant Character := ", name); - if (isprint(c) && (c != '`')) - printf("'%c';\n", c); - else - printf("Character'Val (%d);\n", c); -} - -/* - * Generate the constants for the ACS characters - */ -static void -gen_acs(void) -{ -#ifdef ACS_ULCORNER - acs_def("ACS_Upper_Left_Corner", &ACS_ULCORNER); -#endif -#ifdef ACS_LLCORNER - acs_def("ACS_Lower_Left_Corner", &ACS_LLCORNER); -#endif -#ifdef ACS_URCORNER - acs_def("ACS_Upper_Right_Corner", &ACS_URCORNER); -#endif -#ifdef ACS_LRCORNER - acs_def("ACS_Lower_Right_Corner", &ACS_LRCORNER); -#endif -#ifdef ACS_LTEE - acs_def("ACS_Left_Tee", &ACS_LTEE); -#endif -#ifdef ACS_RTEE - acs_def("ACS_Right_Tee", &ACS_RTEE); -#endif -#ifdef ACS_BTEE - acs_def("ACS_Bottom_Tee", &ACS_BTEE); -#endif -#ifdef ACS_TTEE - acs_def("ACS_Top_Tee", &ACS_TTEE); -#endif -#ifdef ACS_HLINE - acs_def("ACS_Horizontal_Line", &ACS_HLINE); -#endif -#ifdef ACS_VLINE - acs_def("ACS_Vertical_Line", &ACS_VLINE); -#endif -#ifdef ACS_PLUS - acs_def("ACS_Plus_Symbol", &ACS_PLUS); -#endif -#ifdef ACS_S1 - acs_def("ACS_Scan_Line_1", &ACS_S1); -#endif -#ifdef ACS_S9 - acs_def("ACS_Scan_Line_9", &ACS_S9); -#endif -#ifdef ACS_DIAMOND - acs_def("ACS_Diamond", &ACS_DIAMOND); -#endif -#ifdef ACS_CKBOARD - acs_def("ACS_Checker_Board", &ACS_CKBOARD); -#endif -#ifdef ACS_DEGREE - acs_def("ACS_Degree", &ACS_DEGREE); -#endif -#ifdef ACS_PLMINUS - acs_def("ACS_Plus_Minus", &ACS_PLMINUS); -#endif -#ifdef ACS_BULLET - acs_def("ACS_Bullet", &ACS_BULLET); -#endif -#ifdef ACS_LARROW - acs_def("ACS_Left_Arrow", &ACS_LARROW); -#endif -#ifdef ACS_RARROW - acs_def("ACS_Right_Arrow", &ACS_RARROW); -#endif -#ifdef ACS_DARROW - acs_def("ACS_Down_Arrow", &ACS_DARROW); -#endif -#ifdef ACS_UARROW - acs_def("ACS_Up_Arrow", &ACS_UARROW); -#endif -#ifdef ACS_BOARD - acs_def("ACS_Board_Of_Squares", &ACS_BOARD); -#endif -#ifdef ACS_LANTERN - acs_def("ACS_Lantern", &ACS_LANTERN); -#endif -#ifdef ACS_BLOCK - acs_def("ACS_Solid_Block", &ACS_BLOCK); -#endif -#ifdef ACS_S3 - acs_def("ACS_Scan_Line_3", &ACS_S3); -#endif -#ifdef ACS_S7 - acs_def("ACS_Scan_Line_7", &ACS_S7); -#endif -#ifdef ACS_LEQUAL - acs_def("ACS_Less_Or_Equal", &ACS_LEQUAL); -#endif -#ifdef ACS_GEQUAL - acs_def("ACS_Greater_Or_Equal", &ACS_GEQUAL); -#endif -#ifdef ACS_PI - acs_def("ACS_PI", &ACS_PI); -#endif -#ifdef ACS_NEQUAL - acs_def("ACS_Not_Equal", &ACS_NEQUAL); -#endif -#ifdef ACS_STERLING - acs_def("ACS_Sterling", &ACS_STERLING); -#endif -} - -#define GEN_EVENT(name,value) \ - printf(" %-25s : constant Event_Mask := 8#%011lo#;\n", \ - #name, value) - -#define GEN_MEVENT(name) \ - printf(" %-25s : constant Event_Mask := 8#%011lo#;\n", \ - #name, name) - -static -void -gen_mouse_events(void) -{ - mmask_t all1 = 0; - mmask_t all2 = 0; - mmask_t all3 = 0; - mmask_t all4 = 0; - -#ifdef BUTTON1_RELEASED - GEN_MEVENT(BUTTON1_RELEASED); - all1 |= BUTTON1_RELEASED; -#endif -#ifdef BUTTON1_PRESSED - GEN_MEVENT(BUTTON1_PRESSED); - all1 |= BUTTON1_PRESSED; -#endif -#ifdef BUTTON1_CLICKED - GEN_MEVENT(BUTTON1_CLICKED); - all1 |= BUTTON1_CLICKED; -#endif -#ifdef BUTTON1_DOUBLE_CLICKED - GEN_MEVENT(BUTTON1_DOUBLE_CLICKED); - all1 |= BUTTON1_DOUBLE_CLICKED; -#endif -#ifdef BUTTON1_TRIPLE_CLICKED - GEN_MEVENT(BUTTON1_TRIPLE_CLICKED); - all1 |= BUTTON1_TRIPLE_CLICKED; -#endif -#ifdef BUTTON1_RESERVED_EVENT - GEN_MEVENT(BUTTON1_RESERVED_EVENT); - all1 |= BUTTON1_RESERVED_EVENT; -#endif -#ifdef BUTTON2_RELEASED - GEN_MEVENT(BUTTON2_RELEASED); - all2 |= BUTTON2_RELEASED; -#endif -#ifdef BUTTON2_PRESSED - GEN_MEVENT(BUTTON2_PRESSED); - all2 |= BUTTON2_PRESSED; -#endif -#ifdef BUTTON2_CLICKED - GEN_MEVENT(BUTTON2_CLICKED); - all2 |= BUTTON2_CLICKED; -#endif -#ifdef BUTTON2_DOUBLE_CLICKED - GEN_MEVENT(BUTTON2_DOUBLE_CLICKED); - all2 |= BUTTON2_DOUBLE_CLICKED; -#endif -#ifdef BUTTON2_TRIPLE_CLICKED - GEN_MEVENT(BUTTON2_TRIPLE_CLICKED); - all2 |= BUTTON2_TRIPLE_CLICKED; -#endif -#ifdef BUTTON2_RESERVED_EVENT - GEN_MEVENT(BUTTON2_RESERVED_EVENT); - all2 |= BUTTON2_RESERVED_EVENT; -#endif -#ifdef BUTTON3_RELEASED - GEN_MEVENT(BUTTON3_RELEASED); - all3 |= BUTTON3_RELEASED; -#endif -#ifdef BUTTON3_PRESSED - GEN_MEVENT(BUTTON3_PRESSED); - all3 |= BUTTON3_PRESSED; -#endif -#ifdef BUTTON3_CLICKED - GEN_MEVENT(BUTTON3_CLICKED); - all3 |= BUTTON3_CLICKED; -#endif -#ifdef BUTTON3_DOUBLE_CLICKED - GEN_MEVENT(BUTTON3_DOUBLE_CLICKED); - all3 |= BUTTON3_DOUBLE_CLICKED; -#endif -#ifdef BUTTON3_TRIPLE_CLICKED - GEN_MEVENT(BUTTON3_TRIPLE_CLICKED); - all3 |= BUTTON3_TRIPLE_CLICKED; -#endif -#ifdef BUTTON3_RESERVED_EVENT - GEN_MEVENT(BUTTON3_RESERVED_EVENT); - all3 |= BUTTON3_RESERVED_EVENT; -#endif -#ifdef BUTTON4_RELEASED - GEN_MEVENT(BUTTON4_RELEASED); - all4 |= BUTTON4_RELEASED; -#endif -#ifdef BUTTON4_PRESSED - GEN_MEVENT(BUTTON4_PRESSED); - all4 |= BUTTON4_PRESSED; -#endif -#ifdef BUTTON4_CLICKED - GEN_MEVENT(BUTTON4_CLICKED); - all4 |= BUTTON4_CLICKED; -#endif -#ifdef BUTTON4_DOUBLE_CLICKED - GEN_MEVENT(BUTTON4_DOUBLE_CLICKED); - all4 |= BUTTON4_DOUBLE_CLICKED; -#endif -#ifdef BUTTON4_TRIPLE_CLICKED - GEN_MEVENT(BUTTON4_TRIPLE_CLICKED); - all4 |= BUTTON4_TRIPLE_CLICKED; -#endif -#ifdef BUTTON4_RESERVED_EVENT - GEN_MEVENT(BUTTON4_RESERVED_EVENT); - all4 |= BUTTON4_RESERVED_EVENT; -#endif -#ifdef BUTTON_CTRL - GEN_MEVENT(BUTTON_CTRL); -#endif -#ifdef BUTTON_SHIFT - GEN_MEVENT(BUTTON_SHIFT); -#endif -#ifdef BUTTON_ALT - GEN_MEVENT(BUTTON_ALT); -#endif -#ifdef REPORT_MOUSE_POSITION - GEN_MEVENT(REPORT_MOUSE_POSITION); -#endif -#ifdef ALL_MOUSE_EVENTS - GEN_MEVENT(ALL_MOUSE_EVENTS); -#endif - - GEN_EVENT(BUTTON1_EVENTS, all1); - GEN_EVENT(BUTTON2_EVENTS, all2); - GEN_EVENT(BUTTON3_EVENTS, all3); - GEN_EVENT(BUTTON4_EVENTS, all4); -} - -/* - * Output some comment lines indicating that the file is generated. - * The name parameter is the name of the facility to be used in - * the comment. - */ -static void -prologue(const char *name) -{ - printf("-- %s binding.\n", name); - printf("-- This module is generated. Please don't change it manually!\n"); - printf("-- Run the generator instead.\n-- |"); - - printf("define(`M4_BIT_ORDER',`%s_Order_First')", - little_endian ? "Low" : "High"); -} - -/* - * Write the prologue for the curses facility and make sure that - * KEY_MIN and KEY_MAX are defined for the rest of this source. - */ -static void -basedefs(void) -{ - prologue("curses"); -#ifndef KEY_MAX -# define KEY_MAX 0777 -#endif - printf("define(`M4_KEY_MAX',`8#%o#')", KEY_MAX); -#ifndef KEY_MIN -# define KEY_MIN 0401 -#endif - if (KEY_MIN == 256) - { - fprintf(stderr, "Unexpected value for KEY_MIN: %d\n", KEY_MIN); - exit(1); - } - printf("define(`M4_SPECIAL_FIRST',`8#%o#')", KEY_MIN - 1); -} - -/* - * Write out the comment lines for the menu facility - */ -static void -menu_basedefs(void) -{ - prologue("menu"); -} - -/* - * Write out the comment lines for the form facility - */ -static void -form_basedefs(void) -{ - prologue("form"); -} - -/* - * Write out the comment lines for the mouse facility - */ -static void -mouse_basedefs(void) -{ - prologue("mouse"); -} - -/* - * Write the definition of a single color - */ -static void -color_def(const char *name, int value) -{ - printf(" %-16s : constant Color_Number := %d;\n", name, value); -} - -#define HAVE_USE_DEFAULT_COLORS 1 - -/* - * Generate all color definitions - */ -static void -gen_color(void) -{ -#ifdef HAVE_USE_DEFAULT_COLORS - color_def("Default_Color", -1); -#endif -#ifdef COLOR_BLACK - color_def("Black", COLOR_BLACK); -#endif -#ifdef COLOR_RED - color_def("Red", COLOR_RED); -#endif -#ifdef COLOR_GREEN - color_def("Green", COLOR_GREEN); -#endif -#ifdef COLOR_YELLOW - color_def("Yellow", COLOR_YELLOW); -#endif -#ifdef COLOR_BLUE - color_def("Blue", COLOR_BLUE); -#endif -#ifdef COLOR_MAGENTA - color_def("Magenta", COLOR_MAGENTA); -#endif -#ifdef COLOR_CYAN - color_def("Cyan", COLOR_CYAN); -#endif -#ifdef COLOR_WHITE - color_def("White", COLOR_WHITE); -#endif -} - -/* - * Generate the linker options for the base facility - */ -static void -gen_linkopts(void) -{ - printf(" pragma Linker_Options (\"-lncurses%s\");\n", model); -} - -/* - * Generate the linker options for the menu facility - */ -static void -gen_menu_linkopts(void) -{ - printf(" pragma Linker_Options (\"-lmenu%s\");\n", model); -} - -/* - * Generate the linker options for the form facility - */ -static void -gen_form_linkopts(void) -{ - printf(" pragma Linker_Options (\"-lform%s\");\n", model); -} - -/* - * Generate the linker options for the panel facility - */ -static void -gen_panel_linkopts(void) -{ - printf(" pragma Linker_Options (\"-lpanel%s\");\n", model); -} - -static void -gen_version_info(void) -{ - static const char *v1 = - " NC_Major_Version : constant := %d; -- Major version of the library\n"; - static const char *v2 = - " NC_Minor_Version : constant := %d; -- Minor version of the library\n"; - static const char *v3 = - " NC_Version : constant String := %c%d.%d%c; -- Version of library\n"; - - printf(v1, NCURSES_VERSION_MAJOR); - printf(v2, NCURSES_VERSION_MINOR); - printf(v3, '"', NCURSES_VERSION_MAJOR, NCURSES_VERSION_MINOR, '"'); -} - -static int -eti_gen(char *buf, int code, const char *name, int *etimin, int *etimax) -{ - sprintf(buf, " E_%-16s : constant Eti_Error := %d;\n", name, code); - if (code < *etimin) - *etimin = code; - if (code > *etimax) - *etimax = code; - return strlen(buf); -} - -#define GEN_OFFSET(member,itype) \ - if (sizeof(((WINDOW*)0)->member)==sizeof(itype)) { \ - o = offsetof(WINDOW, member); \ - if ((o%sizeof(itype) == 0)) { \ - printf(" Offset%-*s : constant Natural := %2ld; -- %s\n", \ - 12, #member, (long)(o/sizeof(itype)),#itype); \ - } \ - } - -static void -gen_offsets(void) -{ - long o; - const char *s_bool = ""; - - GEN_OFFSET(_maxy, short); - GEN_OFFSET(_maxx, short); - GEN_OFFSET(_begy, short); - GEN_OFFSET(_begx, short); - GEN_OFFSET(_cury, short); - GEN_OFFSET(_curx, short); - GEN_OFFSET(_yoffset, short); - GEN_OFFSET(_pary, int); - GEN_OFFSET(_parx, int); - if (sizeof(bool) == sizeof(char)) - { - GEN_OFFSET(_notimeout, char); - GEN_OFFSET(_clear, char); - GEN_OFFSET(_leaveok, char); - GEN_OFFSET(_scroll, char); - GEN_OFFSET(_idlok, char); - GEN_OFFSET(_idcok, char); - GEN_OFFSET(_immed, char); - GEN_OFFSET(_sync, char); - GEN_OFFSET(_use_keypad, char); - - s_bool = "char"; - } - else if (sizeof(bool) == sizeof(short)) - { - GEN_OFFSET(_notimeout, short); - GEN_OFFSET(_clear, short); - GEN_OFFSET(_leaveok, short); - GEN_OFFSET(_scroll, short); - GEN_OFFSET(_idlok, short); - GEN_OFFSET(_idcok, short); - GEN_OFFSET(_immed, short); - GEN_OFFSET(_sync, short); - GEN_OFFSET(_use_keypad, short); - - s_bool = "short"; - } - else if (sizeof(bool) == sizeof(int)) - { - GEN_OFFSET(_notimeout, int); - GEN_OFFSET(_clear, int); - GEN_OFFSET(_leaveok, int); - GEN_OFFSET(_scroll, int); - GEN_OFFSET(_idlok, int); - GEN_OFFSET(_idcok, int); - GEN_OFFSET(_immed, int); - GEN_OFFSET(_sync, int); - GEN_OFFSET(_use_keypad, int); - - s_bool = "int"; - } - printf(" Sizeof%-*s : constant Natural := %2ld; -- %s\n", - 12, "_bool", (long)sizeof(bool), "bool"); - - /* In ncurses _maxy and _maxx needs an offset for the "public" - * value - */ - printf(" Offset%-*s : constant Natural := %2d; -- %s\n", - 12, "_XY", 1, "int"); - printf("\n"); - printf(" type Curses_Bool is mod 2 ** Interfaces.C.%s'Size;\n", s_bool); -} - -/* - * main() expects two arguments on the commandline, both single characters. - * The first character denotes the facility for which we generate output. - * Possible values are - * B - Base - * M - Menus - * F - Forms - * P - Pointer Device (Mouse) - * E - ETI base definitions - * - * The second character then denotes the specific output that should be - * generated for the selected facility. - */ -int -main(int argc, char *argv[]) -{ - int x = 0x12345678; - char *s = (char *)&x; - - if (*s == 0x78) - little_endian = 1; - - if (argc != 4) - exit(1); - model = *++argv; - - switch (argv[1][0]) - { - /* --------------------------------------------------------------- */ - case 'B': /* The Base facility */ - switch (argv[2][0]) - { - case 'A': /* chtype translation into Ada95 record type */ - gen_attr_set("Character_Attribute_Set"); - break; - case 'K': /* translation of keycodes */ - gen_keydefs(0); - break; - case 'B': /* write some initial comment lines */ - basedefs(); - break; - case 'C': /* generate color constants */ - gen_color(); - break; - case 'D': /* generate displacements of fields in WINDOW struct. */ - gen_offsets(); - break; - case 'E': /* generate Mouse Event codes */ - gen_mouse_events(); - break; - case 'M': /* generate constants for the ACS characters */ - gen_acs(); - break; - case 'L': /* generate the Linker_Options pragma */ - gen_linkopts(); - break; - case 'O': /* generate definitions of the old key code names */ - gen_keydefs(1); - break; - case 'R': /* generate representation clause for Attributed character */ - gen_chtype_rep("Attributed_Character"); - break; - case 'V': /* generate version info */ - gen_version_info(); - break; - case 'T': /* generate the Trace info */ - gen_trace("Trace_Attribute_Set"); - break; - default: - break; - } - break; - /* --------------------------------------------------------------- */ - case 'M': /* The Menu facility */ - switch (argv[2][0]) - { - case 'R': /* generate representation clause for Menu_Option_Set */ - gen_menu_opt_rep("Menu_Option_Set"); - break; - case 'B': /* write some initial comment lines */ - menu_basedefs(); - break; - case 'L': /* generate the Linker_Options pragma */ - gen_menu_linkopts(); - break; - case 'I': /* generate representation clause for Item_Option_Set */ - gen_item_opt_rep("Item_Option_Set"); - break; - default: - break; - } - break; - /* --------------------------------------------------------------- */ - case 'F': /* The Form facility */ - switch (argv[2][0]) - { - case 'R': /* generate representation clause for Form_Option_Set */ - gen_form_opt_rep("Form_Option_Set"); - break; - case 'B': /* write some initial comment lines */ - form_basedefs(); - break; - case 'L': /* generate the Linker_Options pragma */ - gen_form_linkopts(); - break; - case 'I': /* generate representation clause for Field_Option_Set */ - gen_field_opt_rep("Field_Option_Set"); - break; - default: - break; - } - break; - /* --------------------------------------------------------------- */ - case 'P': /* The Pointer(=Mouse) facility */ - switch (argv[2][0]) - { - case 'B': /* write some initial comment lines */ - mouse_basedefs(); - break; - case 'M': /* generate representation clause for Mouse_Event */ - gen_mrep_rep("Mouse_Event"); - break; - case 'L': /* generate the Linker_Options pragma */ - gen_panel_linkopts(); - break; - default: - break; - } - break; - /* --------------------------------------------------------------- */ - case 'E': /* chtype size detection */ - switch (argv[2][0]) - { - case 'C': - { - const char *fmt = " type C_Chtype is new %s;\n"; - const char *afmt = " type C_AttrType is new %s;\n"; - - if (sizeof(chtype) == sizeof(int)) - { - if (sizeof(int) == sizeof(long)) - printf(fmt, "C_ULong"); - - else - printf(fmt, "C_UInt"); - } - else if (sizeof(chtype) == sizeof(long)) - { - printf(fmt, "C_ULong"); - } - else - printf("Error\n"); - - if (sizeof(attr_t) == sizeof(int)) - { - if (sizeof(int) == sizeof(long)) - printf(afmt, "C_ULong"); - - else - printf(afmt, "C_UInt"); - } - else if (sizeof(attr_t) == sizeof(long)) - { - printf(afmt, "C_ULong"); - } - else - printf("Error\n"); - - printf("define(`CF_CURSES_OK',`%d')", OK); - printf("define(`CF_CURSES_ERR',`%d')", ERR); - printf("define(`CF_CURSES_TRUE',`%d')", TRUE); - printf("define(`CF_CURSES_FALSE',`%d')", FALSE); - } - break; - case 'E': - { - char *buf = (char *)malloc(2048); - char *p = buf; - int etimin = E_OK; - int etimax = E_OK; - - if (p) - { - p += eti_gen(p, E_OK, "Ok", &etimin, &etimax); - p += eti_gen(p, E_SYSTEM_ERROR, "System_Error", &etimin, &etimax); - p += eti_gen(p, E_BAD_ARGUMENT, "Bad_Argument", &etimin, &etimax); - p += eti_gen(p, E_POSTED, "Posted", &etimin, &etimax); - p += eti_gen(p, E_CONNECTED, "Connected", &etimin, &etimax); - p += eti_gen(p, E_BAD_STATE, "Bad_State", &etimin, &etimax); - p += eti_gen(p, E_NO_ROOM, "No_Room", &etimin, &etimax); - p += eti_gen(p, E_NOT_POSTED, "Not_Posted", &etimin, &etimax); - p += eti_gen(p, E_UNKNOWN_COMMAND, - "Unknown_Command", &etimin, &etimax); - p += eti_gen(p, E_NO_MATCH, "No_Match", &etimin, &etimax); - p += eti_gen(p, E_NOT_SELECTABLE, - "Not_Selectable", &etimin, &etimax); - p += eti_gen(p, E_NOT_CONNECTED, - "Not_Connected", &etimin, &etimax); - p += eti_gen(p, E_REQUEST_DENIED, - "Request_Denied", &etimin, &etimax); - p += eti_gen(p, E_INVALID_FIELD, - "Invalid_Field", &etimin, &etimax); - p += eti_gen(p, E_CURRENT, - "Current", &etimin, &etimax); - } - printf(" subtype Eti_Error is C_Int range %d .. %d;\n\n", - etimin, etimax); - printf(buf); - } - break; - default: - break; - } - break; - /* --------------------------------------------------------------- */ - case 'V': /* plain version dump */ - { - switch (argv[2][0]) - { - case '1': /* major version */ -#ifdef NCURSES_VERSION_MAJOR - printf("%d", NCURSES_VERSION_MAJOR); -#endif - break; - case '2': /* minor version */ -#ifdef NCURSES_VERSION_MINOR - printf("%d", NCURSES_VERSION_MINOR); -#endif - break; - case '3': /* patch level */ -#ifdef NCURSES_VERSION_PATCH - printf("%d", NCURSES_VERSION_PATCH); -#endif - break; - default: - break; - } - } - break; - /* --------------------------------------------------------------- */ - default: - break; - } - return 0; -} diff --git a/src/libs/ncurses/Ada95/gen/html.m4 b/src/libs/ncurses/Ada95/gen/html.m4 deleted file mode 100644 index 0b4254d3c0..0000000000 --- a/src/libs/ncurses/Ada95/gen/html.m4 +++ /dev/null @@ -1,11 +0,0 @@ -define(`ANCHORIDX',`0')dnl -define(`MANPAGE',`define(`MANPG',$1)dnl -|===================================================================== - -- | Man page MANPG - -- |=====================================================================')dnl -define(`ANCHOR',`define(`ANCHORIDX',incr(ANCHORIDX))dnl -`#'1A NAME="AFU`_'ANCHORIDX"`#'2dnl -define(`CFUNAME',`$1')define(`AFUNAME',`$2')dnl -|') -define(`AKA',``AKA': CFUNAME')dnl -define(`ALIAS',``AKA': $1')dnl diff --git a/src/libs/ncurses/Ada95/gen/normal.m4 b/src/libs/ncurses/Ada95/gen/normal.m4 deleted file mode 100644 index f884c4653e..0000000000 --- a/src/libs/ncurses/Ada95/gen/normal.m4 +++ /dev/null @@ -1,8 +0,0 @@ -define(`MANPAGE',`define(`MANPG',$1)dnl -|===================================================================== - -- | Man page MANPG - -- |=====================================================================')dnl -define(`ANCHOR',`define(`CFUNAME',`$1')define(`AFUNAME',`$2')'dnl -|)dnl -define(`AKA',``AKA': CFUNAME')dnl -define(`ALIAS',``AKA': $1')dnl diff --git a/src/libs/ncurses/Ada95/gen/table.m4 b/src/libs/ncurses/Ada95/gen/table.m4 deleted file mode 100644 index 48ed6ce30a..0000000000 --- a/src/libs/ncurses/Ada95/gen/table.m4 +++ /dev/null @@ -1,6 +0,0 @@ -define(`ANCHORIDX',`0')dnl -define(`MANPAGE',`define(`MANPG',$1)')dnl -divert(-1)dnl -define(`ANCHOR',`divert(0)define(`ANCHORIDX',incr(ANCHORIDX))dnl -$1$2MANPG -divert(-1)') diff --git a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-aux.ads.m4 b/src/libs/ncurses/Ada95/gen/terminal_interface-curses-aux.ads.m4 deleted file mode 100644 index 4fc742a235..0000000000 --- a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-aux.ads.m4 +++ /dev/null @@ -1,104 +0,0 @@ --- -*- ada -*- -define(`HTMLNAME',`terminal_interface-curses-aux__ads.htm')dnl -include(M4MACRO)------------------------------------------------------------------------------ --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Aux -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.15 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -include(`Base_Defs') -with System; -with Interfaces.C; -with Interfaces.C.Strings; use Interfaces.C.Strings; -with Unchecked_Conversion; - -package Terminal_Interface.Curses.Aux is - pragma Preelaborate (Terminal_Interface.Curses.Aux); - - use type Interfaces.C.int; - - subtype C_Int is Interfaces.C.int; - subtype C_Short is Interfaces.C.short; - subtype C_Long_Int is Interfaces.C.long; - subtype C_Size_T is Interfaces.C.size_t; - subtype C_UInt is Interfaces.C.unsigned; - subtype C_ULong is Interfaces.C.unsigned_long; - subtype C_Char_Ptr is Interfaces.C.Strings.chars_ptr; - type C_Void_Ptr is new System.Address; -include(`Chtype_Def') - -- This is how those constants are defined in ncurses. I see them also - -- exactly like this in all ETI implementations I ever tested. So it - -- could be that this is quite general, but please check with your curses. - -- This is critical, because curses sometime mixes boolean returns with - -- returning an error status. - Curses_Ok : constant C_Int := CF_CURSES_OK; - Curses_Err : constant C_Int := CF_CURSES_ERR; - - Curses_True : constant C_Int := CF_CURSES_TRUE; - Curses_False : constant C_Int := CF_CURSES_FALSE; - - -- Eti_Error: type for error codes returned by the menu and form subsystem -include(`Eti_Defs') - procedure Eti_Exception (Code : Eti_Error); - -- Dispatch the error code and raise the appropriate exception - -- - -- - -- Some helpers - function Chtype_To_AttrChar is new - Unchecked_Conversion (Source => C_Chtype, - Target => Attributed_Character); - function AttrChar_To_Chtype is new - Unchecked_Conversion (Source => Attributed_Character, - Target => C_Chtype); - - function AttrChar_To_AttrType is new - Unchecked_Conversion (Source => Attributed_Character, - Target => C_AttrType); - - function AttrType_To_AttrChar is new - Unchecked_Conversion (Source => C_AttrType, - Target => Attributed_Character); - - procedure Fill_String (Cp : in chars_ptr; - Str : out String); - -- Fill the Str parameter with the string denoted by the chars_ptr - -- C-Style string. - - function Fill_String (Cp : chars_ptr) return String; - -- Same but as function. - -end Terminal_Interface.Curses.Aux; diff --git a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4 b/src/libs/ncurses/Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4 deleted file mode 100644 index 8819844a70..0000000000 --- a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4 +++ /dev/null @@ -1,238 +0,0 @@ --- -*- ada -*- -define(`HTMLNAME',`terminal_interface-curses-forms-field_user_data__ads.htm')dnl -include(M4MACRO)dnl ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.14 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Interfaces.C; - -package Terminal_Interface.Curses.Forms.Field_Types is - pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types); - use type Interfaces.C.int; - subtype C_Int is Interfaces.C.int; - - -- MANPAGE(`form_fieldtype.3x') - - type Field_Type is abstract tagged null record; - -- Abstract base type for all field types. A concrete field type - -- is an extension that adds some data elements describing formats or - -- boundary values for the type and validation routines. - -- For the builtin low-level fieldtypes, the validation routines are - -- already defined by the low-level C library. - -- The builtin types like Alpha or AlphaNumeric etc. are defined in - -- child packages of this package. You may use one of them as example - -- how to create you own child packages for low-level field types that - -- you may have already written in C. - - type Field_Type_Access is access all Field_Type'Class; - - -- ANCHOR(`set_field_type()',`Set_Type') - procedure Set_Field_Type (Fld : in Field; - Fld_Type : in Field_Type) is abstract; - -- AKA - -- But: we hide the vararg mechanism of the C interface. You always - -- have to pass a single Field_Type parameter. - - -- --------------------------------------------------------------------- - - -- MANPAGE(`form_field_validation.3x') - - -- ANCHOR(`field_type()',`Get_Type') - function Get_Type (Fld : in Field) return Field_Type_Access; - -- AKA - -- ALIAS(`field_arg()') - -- In Ada95 we can combine these. If you try to retrieve the field type - -- that is not defined as extension of the abstract tagged type above, - -- you will raise a Form_Exception. - -- This is not inlined - - -- +---------------------------------------------------------------------- - -- | Private Part. - -- | Most of this is used by the implementations of the child packages. - -- | -private - type Makearg_Function is access - function (Args : System.Address) return System.Address; - pragma Convention (C, Makearg_Function); - - type Copyarg_Function is access - function (Usr : System.Address) return System.Address; - pragma Convention (C, Copyarg_Function); - - type Freearg_Function is access - procedure (Usr : System.Address); - pragma Convention (C, Freearg_Function); - - type Field_Check_Function is access - function (Fld : Field; Usr : System.Address) return C_Int; - pragma Convention (C, Field_Check_Function); - - type Char_Check_Function is access - function (Ch : C_Int; Usr : System.Address) return C_Int; - pragma Convention (C, Char_Check_Function); - - type Choice_Function is access - function (Fld : Field; Usr : System.Address) return C_Int; - pragma Convention (C, Choice_Function); - - -- +---------------------------------------------------------------------- - -- | This must be in sync with the FIELDTYPE structure in form.h - -- | - type Low_Level_Field_Type is - record - Status : Interfaces.C.short; - Ref_Count : Interfaces.C.long; - Left, Right : System.Address; - Makearg : Makearg_Function; - Copyarg : Copyarg_Function; - Freearg : Freearg_Function; - Fcheck : Field_Check_Function; - Ccheck : Char_Check_Function; - Next, Prev : Choice_Function; - end record; - pragma Convention (C, Low_Level_Field_Type); - type C_Field_Type is access all Low_Level_Field_Type; - - Null_Field_Type : constant C_Field_Type := null; - - -- +---------------------------------------------------------------------- - -- | This four low-level fieldtypes are the ones associated with - -- | fieldtypes handled by this binding. Any other low-level fieldtype - -- | will result in a Form_Exception is function Get_Type. - -- | - M_Generic_Type : C_Field_Type := null; - M_Generic_Choice : C_Field_Type := null; - M_Builtin_Router : C_Field_Type := null; - M_Choice_Router : C_Field_Type := null; - - -- Two wrapper functions to access those low-level fieldtypes defined - -- in this package. - function C_Builtin_Router return C_Field_Type; - function C_Choice_Router return C_Field_Type; - - procedure Wrap_Builtin (Fld : Field; - Typ : Field_Type'Class; - Cft : C_Field_Type := C_Builtin_Router); - -- This procedure has to be called by the Set_Field_Type implementation - -- for builtin low-level fieldtypes to replace it by an Ada95 - -- conformant Field_Type object. - -- The parameter Cft must be C_Builtin_Router for regular low-level - -- fieldtypes (like TYP_ALPHA or TYP_ALNUM) and C_Choice_Router for - -- low-level fieldtypes witch choice functions (like TYP_ENUM). - -- Any other value will raise a Form_Exception. - - function Make_Arg (Args : System.Address) return System.Address; - pragma Convention (C, Make_Arg); - -- This is the Makearg_Function for the internal low-level types - -- introduced by this binding. - - function Copy_Arg (Usr : System.Address) return System.Address; - pragma Convention (C, Copy_Arg); - -- This is the Copyarg_Function for the internal low-level types - -- introduced by this binding. - - procedure Free_Arg (Usr : System.Address); - pragma Convention (C, Free_Arg); - -- This is the Freearg_Function for the internal low-level types - -- introduced by this binding. - - function Field_Check_Router (Fld : Field; - Usr : System.Address) return C_Int; - pragma Convention (C, Field_Check_Router); - -- This is the Field_Check_Function for the internal low-level types - -- introduced to wrap the low-level types by a Field_Type derived - -- type. It routes the call to the corresponding low-level validation - -- function. - - function Char_Check_Router (Ch : C_Int; - Usr : System.Address) return C_Int; - pragma Convention (C, Char_Check_Router); - -- This is the Char_Check_Function for the internal low-level types - -- introduced to wrap the low-level types by a Field_Type derived - -- type. It routes the call to the corresponding low-level validation - -- function. - - function Next_Router (Fld : Field; - Usr : System.Address) return C_Int; - pragma Convention (C, Next_Router); - -- This is the Choice_Function for the internal low-level types - -- introduced to wrap the low-level types by a Field_Type derived - -- type. It routes the call to the corresponding low-level next_choice - -- function. - - function Prev_Router (Fld : Field; - Usr : System.Address) return C_Int; - pragma Convention (C, Prev_Router); - -- This is the Choice_Function for the internal low-level types - -- introduced to wrap the low-level types by a Field_Type derived - -- type. It routes the call to the corresponding low-level prev_choice - -- function. - - -- This is the Argument structure maintained by all low-level field types - -- introduced by this binding. - type Argument is record - Typ : Field_Type_Access; -- the Field_Type creating this record - Usr : System.Address; -- original arg for builtin low-level types - Cft : C_Field_Type; -- the original low-level type - end record; - type Argument_Access is access all Argument; - - -- +---------------------------------------------------------------------- - -- | - -- | Some Imports of libform routines to deal with low-level fieldtypes. - -- | - function New_Fieldtype (Fcheck : Field_Check_Function; - Ccheck : Char_Check_Function) - return C_Field_Type; - pragma Import (C, New_Fieldtype, "new_fieldtype"); - - function Set_Fieldtype_Arg (Cft : C_Field_Type; - Mak : Makearg_Function := Make_Arg'Access; - Cop : Copyarg_Function := Copy_Arg'Access; - Fre : Freearg_Function := Free_Arg'Access) - return C_Int; - pragma Import (C, Set_Fieldtype_Arg, "set_fieldtype_arg"); - - function Set_Fieldtype_Choice (Cft : C_Field_Type; - Next, Prev : Choice_Function) - return C_Int; - pragma Import (C, Set_Fieldtype_Choice, "set_fieldtype_choice"); - -end Terminal_Interface.Curses.Forms.Field_Types; diff --git a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-forms-field_user_data.ads.m4 b/src/libs/ncurses/Ada95/gen/terminal_interface-curses-forms-field_user_data.ads.m4 deleted file mode 100644 index 41398836e5..0000000000 --- a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-forms-field_user_data.ads.m4 +++ /dev/null @@ -1,70 +0,0 @@ --- -*- ada -*- -define(`HTMLNAME',`terminal_interface-curses-forms-field_user_data__ads.htm')dnl -include(M4MACRO)dnl ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_User_Data -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.15 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- - -generic - type User is limited private; - type User_Access is access User; -package Terminal_Interface.Curses.Forms.Field_User_Data is - pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_User_Data); - - -- MANPAGE(`form_field_userptr.3x') - - -- ANCHOR(`set_field_userptr',`Set_User_Data') - procedure Set_User_Data (Fld : in Field; - Data : in User_Access); - -- AKA - pragma Inline (Set_User_Data); - - -- ANCHOR(`field_userptr',`Get_User_Data') - procedure Get_User_Data (Fld : in Field; - Data : out User_Access); - -- AKA - - -- ANCHOR(`field_userptr',`Get_User_Data') - function Get_User_Data (Fld : in Field) return User_Access; - -- AKA - -- Sama as function - pragma Inline (Get_User_Data); - -end Terminal_Interface.Curses.Forms.Field_User_Data; diff --git a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-forms-form_user_data.ads.m4 b/src/libs/ncurses/Ada95/gen/terminal_interface-curses-forms-form_user_data.ads.m4 deleted file mode 100644 index 0c4420d8f9..0000000000 --- a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-forms-form_user_data.ads.m4 +++ /dev/null @@ -1,70 +0,0 @@ --- -*- ada -*- -define(`HTMLNAME',`terminal_interface-curses-forms-form_user_data__ads.htm')dnl -include(M4MACRO)dnl ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Form_User_Data -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.14 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- - -generic - type User is limited private; - type User_Access is access User; -package Terminal_Interface.Curses.Forms.Form_User_Data is - pragma Preelaborate (Terminal_Interface.Curses.Forms.Form_User_Data); - - -- MANPAGE(`form_userptr.3x') - - -- ANCHOR(`set_form_userptr',`Set_User_Data') - procedure Set_User_Data (Frm : in Form; - Data : in User_Access); - -- AKA - pragma Inline (Set_User_Data); - - -- ANCHOR(`form_userptr',`Get_User_Data') - procedure Get_User_Data (Frm : in Form; - Data : out User_Access); - -- AKA - - -- ANCHOR(`form_userptr',`Get_User_Data') - function Get_User_Data (Frm : in Form) return User_Access; - -- AKA - -- Same as function - pragma Inline (Get_User_Data); - -end Terminal_Interface.Curses.Forms.Form_User_Data; diff --git a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-forms.ads.m4 b/src/libs/ncurses/Ada95/gen/terminal_interface-curses-forms.ads.m4 deleted file mode 100644 index e6570c28bd..0000000000 --- a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-forms.ads.m4 +++ /dev/null @@ -1,699 +0,0 @@ --- -*- ada -*- -define(`HTMLNAME',`terminal_interface-curses-forms__ads.htm')dnl -include(M4MACRO)dnl ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Form -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.27 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -include(`Form_Base_Defs') -with System; -with Ada.Characters.Latin_1; - -package Terminal_Interface.Curses.Forms is - pragma Preelaborate (Terminal_Interface.Curses.Forms); -include(`Form_Linker_Options')dnl -include(`Linker_Options') - Space : Character renames Ada.Characters.Latin_1.Space; - - type Field is private; - type Form is private; - - Null_Field : constant Field; - Null_Form : constant Form; - - type Field_Justification is (None, - Left, - Center, - Right); - - pragma Warnings (Off); -include(`Field_Rep')Dnl - - pragma Warnings (On); - - function Default_Field_Options return Field_Option_Set; - -- The initial defaults for the field options. - pragma Inline (Default_Field_Options); - - pragma Warnings (Off); -include(`Form_Opt_Rep')Dnl - - pragma Warnings (On); - - function Default_Form_Options return Form_Option_Set; - -- The initial defaults for the form options. - pragma Inline (Default_Form_Options); - - type Buffer_Number is new Natural; - - type Field_Array is array (Positive range <>) of aliased Field; - pragma Convention (C, Field_Array); - - type Field_Array_Access is access Field_Array; - - procedure Free (FA : in out Field_Array_Access; - Free_Fields : in Boolean := False); - -- Release the memory for an allocated field array - -- If Free_Fields is True, call Delete() for all the fields in - -- the array. - - subtype Form_Request_Code is Key_Code range (Key_Max + 1) .. (Key_Max + 57); - - -- The prefix F_ stands for "Form Request" - F_Next_Page : constant Form_Request_Code := Key_Max + 1; - F_Previous_Page : constant Form_Request_Code := Key_Max + 2; - F_First_Page : constant Form_Request_Code := Key_Max + 3; - F_Last_Page : constant Form_Request_Code := Key_Max + 4; - - F_Next_Field : constant Form_Request_Code := Key_Max + 5; - F_Previous_Field : constant Form_Request_Code := Key_Max + 6; - F_First_Field : constant Form_Request_Code := Key_Max + 7; - F_Last_Field : constant Form_Request_Code := Key_Max + 8; - F_Sorted_Next_Field : constant Form_Request_Code := Key_Max + 9; - F_Sorted_Previous_Field : constant Form_Request_Code := Key_Max + 10; - F_Sorted_First_Field : constant Form_Request_Code := Key_Max + 11; - F_Sorted_Last_Field : constant Form_Request_Code := Key_Max + 12; - F_Left_Field : constant Form_Request_Code := Key_Max + 13; - F_Right_Field : constant Form_Request_Code := Key_Max + 14; - F_Up_Field : constant Form_Request_Code := Key_Max + 15; - F_Down_Field : constant Form_Request_Code := Key_Max + 16; - - F_Next_Char : constant Form_Request_Code := Key_Max + 17; - F_Previous_Char : constant Form_Request_Code := Key_Max + 18; - F_Next_Line : constant Form_Request_Code := Key_Max + 19; - F_Previous_Line : constant Form_Request_Code := Key_Max + 20; - F_Next_Word : constant Form_Request_Code := Key_Max + 21; - F_Previous_Word : constant Form_Request_Code := Key_Max + 22; - F_Begin_Field : constant Form_Request_Code := Key_Max + 23; - F_End_Field : constant Form_Request_Code := Key_Max + 24; - F_Begin_Line : constant Form_Request_Code := Key_Max + 25; - F_End_Line : constant Form_Request_Code := Key_Max + 26; - F_Left_Char : constant Form_Request_Code := Key_Max + 27; - F_Right_Char : constant Form_Request_Code := Key_Max + 28; - F_Up_Char : constant Form_Request_Code := Key_Max + 29; - F_Down_Char : constant Form_Request_Code := Key_Max + 30; - - F_New_Line : constant Form_Request_Code := Key_Max + 31; - F_Insert_Char : constant Form_Request_Code := Key_Max + 32; - F_Insert_Line : constant Form_Request_Code := Key_Max + 33; - F_Delete_Char : constant Form_Request_Code := Key_Max + 34; - F_Delete_Previous : constant Form_Request_Code := Key_Max + 35; - F_Delete_Line : constant Form_Request_Code := Key_Max + 36; - F_Delete_Word : constant Form_Request_Code := Key_Max + 37; - F_Clear_EOL : constant Form_Request_Code := Key_Max + 38; - F_Clear_EOF : constant Form_Request_Code := Key_Max + 39; - F_Clear_Field : constant Form_Request_Code := Key_Max + 40; - F_Overlay_Mode : constant Form_Request_Code := Key_Max + 41; - F_Insert_Mode : constant Form_Request_Code := Key_Max + 42; - - -- Vertical Scrolling - F_ScrollForward_Line : constant Form_Request_Code := Key_Max + 43; - F_ScrollBackward_Line : constant Form_Request_Code := Key_Max + 44; - F_ScrollForward_Page : constant Form_Request_Code := Key_Max + 45; - F_ScrollBackward_Page : constant Form_Request_Code := Key_Max + 46; - F_ScrollForward_HalfPage : constant Form_Request_Code := Key_Max + 47; - F_ScrollBackward_HalfPage : constant Form_Request_Code := Key_Max + 48; - - -- Horizontal Scrolling - F_HScrollForward_Char : constant Form_Request_Code := Key_Max + 49; - F_HScrollBackward_Char : constant Form_Request_Code := Key_Max + 50; - F_HScrollForward_Line : constant Form_Request_Code := Key_Max + 51; - F_HScrollBackward_Line : constant Form_Request_Code := Key_Max + 52; - F_HScrollForward_HalfLine : constant Form_Request_Code := Key_Max + 53; - F_HScrollBackward_HalfLine : constant Form_Request_Code := Key_Max + 54; - - F_Validate_Field : constant Form_Request_Code := Key_Max + 55; - F_Next_Choice : constant Form_Request_Code := Key_Max + 56; - F_Previous_Choice : constant Form_Request_Code := Key_Max + 57; - - -- For those who like the old 'C' style request names - REQ_NEXT_PAGE : Form_Request_Code renames F_Next_Page; - REQ_PREV_PAGE : Form_Request_Code renames F_Previous_Page; - REQ_FIRST_PAGE : Form_Request_Code renames F_First_Page; - REQ_LAST_PAGE : Form_Request_Code renames F_Last_Page; - - REQ_NEXT_FIELD : Form_Request_Code renames F_Next_Field; - REQ_PREV_FIELD : Form_Request_Code renames F_Previous_Field; - REQ_FIRST_FIELD : Form_Request_Code renames F_First_Field; - REQ_LAST_FIELD : Form_Request_Code renames F_Last_Field; - REQ_SNEXT_FIELD : Form_Request_Code renames F_Sorted_Next_Field; - REQ_SPREV_FIELD : Form_Request_Code renames F_Sorted_Previous_Field; - REQ_SFIRST_FIELD : Form_Request_Code renames F_Sorted_First_Field; - REQ_SLAST_FIELD : Form_Request_Code renames F_Sorted_Last_Field; - REQ_LEFT_FIELD : Form_Request_Code renames F_Left_Field; - REQ_RIGHT_FIELD : Form_Request_Code renames F_Right_Field; - REQ_UP_FIELD : Form_Request_Code renames F_Up_Field; - REQ_DOWN_FIELD : Form_Request_Code renames F_Down_Field; - - REQ_NEXT_CHAR : Form_Request_Code renames F_Next_Char; - REQ_PREV_CHAR : Form_Request_Code renames F_Previous_Char; - REQ_NEXT_LINE : Form_Request_Code renames F_Next_Line; - REQ_PREV_LINE : Form_Request_Code renames F_Previous_Line; - REQ_NEXT_WORD : Form_Request_Code renames F_Next_Word; - REQ_PREV_WORD : Form_Request_Code renames F_Previous_Word; - REQ_BEG_FIELD : Form_Request_Code renames F_Begin_Field; - REQ_END_FIELD : Form_Request_Code renames F_End_Field; - REQ_BEG_LINE : Form_Request_Code renames F_Begin_Line; - REQ_END_LINE : Form_Request_Code renames F_End_Line; - REQ_LEFT_CHAR : Form_Request_Code renames F_Left_Char; - REQ_RIGHT_CHAR : Form_Request_Code renames F_Right_Char; - REQ_UP_CHAR : Form_Request_Code renames F_Up_Char; - REQ_DOWN_CHAR : Form_Request_Code renames F_Down_Char; - - REQ_NEW_LINE : Form_Request_Code renames F_New_Line; - REQ_INS_CHAR : Form_Request_Code renames F_Insert_Char; - REQ_INS_LINE : Form_Request_Code renames F_Insert_Line; - REQ_DEL_CHAR : Form_Request_Code renames F_Delete_Char; - REQ_DEL_PREV : Form_Request_Code renames F_Delete_Previous; - REQ_DEL_LINE : Form_Request_Code renames F_Delete_Line; - REQ_DEL_WORD : Form_Request_Code renames F_Delete_Word; - REQ_CLR_EOL : Form_Request_Code renames F_Clear_EOL; - REQ_CLR_EOF : Form_Request_Code renames F_Clear_EOF; - REQ_CLR_FIELD : Form_Request_Code renames F_Clear_Field; - REQ_OVL_MODE : Form_Request_Code renames F_Overlay_Mode; - REQ_INS_MODE : Form_Request_Code renames F_Insert_Mode; - - REQ_SCR_FLINE : Form_Request_Code renames F_ScrollForward_Line; - REQ_SCR_BLINE : Form_Request_Code renames F_ScrollBackward_Line; - REQ_SCR_FPAGE : Form_Request_Code renames F_ScrollForward_Page; - REQ_SCR_BPAGE : Form_Request_Code renames F_ScrollBackward_Page; - REQ_SCR_FHPAGE : Form_Request_Code renames F_ScrollForward_HalfPage; - REQ_SCR_BHPAGE : Form_Request_Code renames F_ScrollBackward_HalfPage; - - REQ_SCR_FCHAR : Form_Request_Code renames F_HScrollForward_Char; - REQ_SCR_BCHAR : Form_Request_Code renames F_HScrollBackward_Char; - REQ_SCR_HFLINE : Form_Request_Code renames F_HScrollForward_Line; - REQ_SCR_HBLINE : Form_Request_Code renames F_HScrollBackward_Line; - REQ_SCR_HFHALF : Form_Request_Code renames F_HScrollForward_HalfLine; - REQ_SCR_HBHALF : Form_Request_Code renames F_HScrollBackward_HalfLine; - - REQ_VALIDATION : Form_Request_Code renames F_Validate_Field; - REQ_NEXT_CHOICE : Form_Request_Code renames F_Next_Choice; - REQ_PREV_CHOICE : Form_Request_Code renames F_Previous_Choice; - - - procedure Request_Name (Key : in Form_Request_Code; - Name : out String); - - function Request_Name (Key : Form_Request_Code) return String; - -- Same as function - pragma Inline (Request_Name); - - ------------------ - -- Exceptions -- - ------------------ - Form_Exception : exception; - - -- MANPAGE(`form_field_new.3x') - - -- ANCHOR(`new_field()',`Create') - function Create (Height : Line_Count; - Width : Column_Count; - Top : Line_Position; - Left : Column_Position; - Off_Screen : Natural := 0; - More_Buffers : Buffer_Number := Buffer_Number'First) - return Field; - -- AKA - -- An overloaded Create is defined later. Pragma Inline appears there. - - -- ANCHOR(`new_field()',`New_Field') - function New_Field (Height : Line_Count; - Width : Column_Count; - Top : Line_Position; - Left : Column_Position; - Off_Screen : Natural := 0; - More_Buffers : Buffer_Number := Buffer_Number'First) - return Field renames Create; - -- AKA - pragma Inline (New_Field); - - -- ANCHOR(`free_field()',`Delete') - procedure Delete (Fld : in out Field); - -- AKA - -- Reset Fld to Null_Field - -- An overloaded Delete is defined later. Pragma Inline appears there. - - -- ANCHOR(`dup_field()',`Duplicate') - function Duplicate (Fld : Field; - Top : Line_Position; - Left : Column_Position) return Field; - -- AKA - pragma Inline (Duplicate); - - -- ANCHOR(`link_field()',`Link') - function Link (Fld : Field; - Top : Line_Position; - Left : Column_Position) return Field; - -- AKA - pragma Inline (Link); - - -- MANPAGE(`form_field_just.3x') - - -- ANCHOR(`set_field_just()',`Set_Justification') - procedure Set_Justification (Fld : in Field; - Just : in Field_Justification := None); - -- AKA - pragma Inline (Set_Justification); - - -- ANCHOR(`field_just()',`Get_Justification') - function Get_Justification (Fld : Field) return Field_Justification; - -- AKA - pragma Inline (Get_Justification); - - -- MANPAGE(`form_field_buffer.3x') - - -- ANCHOR(`set_field_buffer()',`Set_Buffer') - procedure Set_Buffer - (Fld : in Field; - Buffer : in Buffer_Number := Buffer_Number'First; - Str : in String); - -- AKA - -- Not inlined - - -- ANCHOR(`field_buffer()',`Get_Buffer') - procedure Get_Buffer - (Fld : in Field; - Buffer : in Buffer_Number := Buffer_Number'First; - Str : out String); - -- AKA - - function Get_Buffer - (Fld : in Field; - Buffer : in Buffer_Number := Buffer_Number'First) return String; - -- AKA - -- Same but as function - pragma Inline (Get_Buffer); - - -- ANCHOR(`set_field_status()',`Set_Status') - procedure Set_Status (Fld : in Field; - Status : in Boolean := True); - -- AKA - pragma Inline (Set_Status); - - -- ANCHOR(`field_status()',`Changed') - function Changed (Fld : Field) return Boolean; - -- AKA - pragma Inline (Changed); - - -- ANCHOR(`set_field_max()',`Set_Maximum_Size') - procedure Set_Maximum_Size (Fld : in Field; - Max : in Natural := 0); - -- AKA - pragma Inline (Set_Maximum_Size); - - -- MANPAGE(`form_field_opts.3x') - - -- ANCHOR(`set_field_opts()',`Set_Options') - procedure Set_Options (Fld : in Field; - Options : in Field_Option_Set); - -- AKA - -- An overloaded version is defined later. Pragma Inline appears there - - -- ANCHOR(`field_opts_on()',`Switch_Options') - procedure Switch_Options (Fld : in Field; - Options : in Field_Option_Set; - On : Boolean := True); - -- AKA - -- ALIAS(`field_opts_off()') - -- An overloaded version is defined later. Pragma Inline appears there - - -- ANCHOR(`field_opts()',`Get_Options') - procedure Get_Options (Fld : in Field; - Options : out Field_Option_Set); - -- AKA - - -- ANCHOR(`field_opts()',`Get_Options') - function Get_Options (Fld : Field := Null_Field) - return Field_Option_Set; - -- AKA - -- An overloaded version is defined later. Pragma Inline appears there - - -- MANPAGE(`form_field_attributes.3x') - - -- ANCHOR(`set_field_fore()',`Set_Foreground') - procedure Set_Foreground - (Fld : in Field; - Fore : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First); - -- AKA - pragma Inline (Set_Foreground); - - -- ANCHOR(`field_fore()',`Foreground') - procedure Foreground (Fld : in Field; - Fore : out Character_Attribute_Set); - -- AKA - - -- ANCHOR(`field_fore()',`Foreground') - procedure Foreground (Fld : in Field; - Fore : out Character_Attribute_Set; - Color : out Color_Pair); - -- AKA - pragma Inline (Foreground); - - -- ANCHOR(`set_field_back()',`Set_Background') - procedure Set_Background - (Fld : in Field; - Back : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First); - -- AKA - pragma Inline (Set_Background); - - -- ANCHOR(`field_back()',`Background') - procedure Background (Fld : in Field; - Back : out Character_Attribute_Set); - -- AKA - - -- ANCHOR(`field_back()',`Background') - procedure Background (Fld : in Field; - Back : out Character_Attribute_Set; - Color : out Color_Pair); - -- AKA - pragma Inline (Background); - - -- ANCHOR(`set_field_pad()',`Set_Pad_Character') - procedure Set_Pad_Character (Fld : in Field; - Pad : in Character := Space); - -- AKA - pragma Inline (Set_Pad_Character); - - -- ANCHOR(`field_pad()',`Pad_Character') - procedure Pad_Character (Fld : in Field; - Pad : out Character); - -- AKA - pragma Inline (Pad_Character); - - -- MANPAGE(`form_field_info.3x') - - -- ANCHOR(`field_info()',`Info') - procedure Info (Fld : in Field; - Lines : out Line_Count; - Columns : out Column_Count; - First_Row : out Line_Position; - First_Column : out Column_Position; - Off_Screen : out Natural; - Additional_Buffers : out Buffer_Number); - -- AKA - pragma Inline (Info); - - -- ANCHOR(`dynamic_field_info()',`Dynamic_Info') - procedure Dynamic_Info (Fld : in Field; - Lines : out Line_Count; - Columns : out Column_Count; - Max : out Natural); - -- AKA - pragma Inline (Dynamic_Info); - - -- MANPAGE(`form_win.3x') - - -- ANCHOR(`set_form_win()',`Set_Window') - procedure Set_Window (Frm : in Form; - Win : in Window); - -- AKA - pragma Inline (Set_Window); - - -- ANCHOR(`form_win()',`Get_Window') - function Get_Window (Frm : Form) return Window; - -- AKA - pragma Inline (Get_Window); - - -- ANCHOR(`set_form_sub()',`Set_Sub_Window') - procedure Set_Sub_Window (Frm : in Form; - Win : in Window); - -- AKA - pragma Inline (Set_Sub_Window); - - -- ANCHOR(`form_sub()',`Get_Sub_Window') - function Get_Sub_Window (Frm : Form) return Window; - -- AKA - pragma Inline (Get_Sub_Window); - - -- ANCHOR(`scale_form()',`Scale') - procedure Scale (Frm : in Form; - Lines : out Line_Count; - Columns : out Column_Count); - -- AKA - pragma Inline (Scale); - - -- MANPAGE(`form_hook.3x') - - type Form_Hook_Function is access procedure (Frm : in Form); - pragma Convention (C, Form_Hook_Function); - - -- ANCHOR(`set_field_init()',`Set_Field_Init_Hook') - procedure Set_Field_Init_Hook (Frm : in Form; - Proc : in Form_Hook_Function); - -- AKA - pragma Inline (Set_Field_Init_Hook); - - -- ANCHOR(`set_field_term()',`Set_Field_Term_Hook') - procedure Set_Field_Term_Hook (Frm : in Form; - Proc : in Form_Hook_Function); - -- AKA - pragma Inline (Set_Field_Term_Hook); - - -- ANCHOR(`set_form_init()',`Set_Form_Init_Hook') - procedure Set_Form_Init_Hook (Frm : in Form; - Proc : in Form_Hook_Function); - -- AKA - pragma Inline (Set_Form_Init_Hook); - - -- ANCHOR(`set_form_term()',`Set_Form_Term_Hook') - procedure Set_Form_Term_Hook (Frm : in Form; - Proc : in Form_Hook_Function); - -- AKA - pragma Inline (Set_Form_Term_Hook); - - -- ANCHOR(`field_init()',`Get_Field_Init_Hook') - function Get_Field_Init_Hook (Frm : Form) return Form_Hook_Function; - -- AKA - pragma Import (C, Get_Field_Init_Hook, "field_init"); - - -- ANCHOR(`field_term()',`Get_Field_Term_Hook') - function Get_Field_Term_Hook (Frm : Form) return Form_Hook_Function; - -- AKA - pragma Import (C, Get_Field_Term_Hook, "field_term"); - - -- ANCHOR(`form_init()',`Get_Form_Init_Hook') - function Get_Form_Init_Hook (Frm : Form) return Form_Hook_Function; - -- AKA - pragma Import (C, Get_Form_Init_Hook, "form_init"); - - -- ANCHOR(`form_term()',`Get_Form_Term_Hook') - function Get_Form_Term_Hook (Frm : Form) return Form_Hook_Function; - -- AKA - pragma Import (C, Get_Form_Term_Hook, "form_term"); - - -- MANPAGE(`form_field.3x') - - -- ANCHOR(`set_form_fields()',`Redefine') - procedure Redefine (Frm : in Form; - Flds : in Field_Array_Access); - -- AKA - pragma Inline (Redefine); - - -- ANCHOR(`set_form_fields()',`Set_Fields') - procedure Set_Fields (Frm : in Form; - Flds : in Field_Array_Access) renames Redefine; - -- AKA - pragma Inline (Set_Fields); - - -- ANCHOR(`form_fields()',`Fields') - function Fields (Frm : Form; - Index : Positive) return Field; - -- AKA - pragma Inline (Fields); - - -- ANCHOR(`field_count()',`Field_Count') - function Field_Count (Frm : Form) return Natural; - -- AKA - pragma Inline (Field_Count); - - -- ANCHOR(`move_field()',`Move') - procedure Move (Fld : in Field; - Line : in Line_Position; - Column : in Column_Position); - -- AKA - pragma Inline (Move); - - -- MANPAGE(`form_new.3x') - - -- ANCHOR(`new_form()',`Create') - function Create (Fields : Field_Array_Access) return Form; - -- AKA - pragma Inline (Create); - - -- ANCHOR(`new_form()',`New_Form') - function New_Form (Fields : Field_Array_Access) return Form - renames Create; - -- AKA - pragma Inline (New_Form); - - -- ANCHOR(`free_form()',`Delete') - procedure Delete (Frm : in out Form); - -- AKA - -- Reset Frm to Null_Form - pragma Inline (Delete); - - -- MANPAGE(`form_opts.3x') - - -- ANCHOR(`set_form_opts()',`Set_Options') - procedure Set_Options (Frm : in Form; - Options : in Form_Option_Set); - -- AKA - pragma Inline (Set_Options); - - -- ANCHOR(`form_opts_on()',`Switch_Options') - procedure Switch_Options (Frm : in Form; - Options : in Form_Option_Set; - On : Boolean := True); - -- AKA - -- ALIAS(`form_opts_off()') - pragma Inline (Switch_Options); - - -- ANCHOR(`form_opts()',`Get_Options') - procedure Get_Options (Frm : in Form; - Options : out Form_Option_Set); - -- AKA - - -- ANCHOR(`form_opts()',`Get_Options') - function Get_Options (Frm : Form := Null_Form) return Form_Option_Set; - -- AKA - pragma Inline (Get_Options); - - -- MANPAGE(`form_post.3x') - - -- ANCHOR(`post_form()',`Post') - procedure Post (Frm : in Form; - Post : in Boolean := True); - -- AKA - -- ALIAS(`unpost_form()') - pragma Inline (Post); - - -- MANPAGE(`form_cursor.3x') - - -- ANCHOR(`pos_form_cursor()',`Position_Cursor') - procedure Position_Cursor (Frm : Form); - -- AKA - pragma Inline (Position_Cursor); - - -- MANPAGE(`form_data.3x') - - -- ANCHOR(`data_ahead()',`Data_Ahead') - function Data_Ahead (Frm : Form) return Boolean; - -- AKA - pragma Inline (Data_Ahead); - - -- ANCHOR(`data_behind()',`Data_Behind') - function Data_Behind (Frm : Form) return Boolean; - -- AKA - pragma Inline (Data_Behind); - - -- MANPAGE(`form_driver.3x') - - type Driver_Result is (Form_Ok, - Request_Denied, - Unknown_Request, - Invalid_Field); - - -- ANCHOR(`form_driver()',`Driver') - function Driver (Frm : Form; - Key : Key_Code) return Driver_Result; - -- AKA - -- Driver not inlined - - -- MANPAGE(`form_page.3x') - - type Page_Number is new Natural; - - -- ANCHOR(`set_current_field()',`Set_Current') - procedure Set_Current (Frm : in Form; - Fld : in Field); - -- AKA - pragma Inline (Set_Current); - - -- ANCHOR(`current_field()',`Current') - function Current (Frm : in Form) return Field; - -- AKA - pragma Inline (Current); - - -- ANCHOR(`set_form_page()',`Set_Page') - procedure Set_Page (Frm : in Form; - Page : in Page_Number := Page_Number'First); - -- AKA - pragma Inline (Set_Page); - - -- ANCHOR(`form_page()',`Page') - function Page (Frm : Form) return Page_Number; - -- AKA - pragma Inline (Page); - - -- ANCHOR(`field_index()',`Get_Index') - function Get_Index (Fld : Field) return Positive; - -- AKA - -- Please note that in this binding we start the numbering of fields - -- with 1. So this is number is one more than you get from the low - -- level call. - pragma Inline (Get_Index); - - -- MANPAGE(`form_new_page.3x') - - -- ANCHOR(`set_new_page()',`Set_New_Page') - procedure Set_New_Page (Fld : in Field; - New_Page : in Boolean := True); - -- AKA - pragma Inline (Set_New_Page); - - -- ANCHOR(`new_page()',`Is_New_Page') - function Is_New_Page (Fld : Field) return Boolean; - -- AKA - pragma Inline (Is_New_Page); - - -- MANPAGE(`form_requestname.3x') - -- Not Implemented: form_request_name, form_request_by_name - ------------------------------------------------------------------------------- -private - type Field is new System.Storage_Elements.Integer_Address; - type Form is new System.Storage_Elements.Integer_Address; - - Null_Field : constant Field := 0; - Null_Form : constant Form := 0; - -end Terminal_Interface.Curses.Forms; diff --git a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-menus-item_user_data.ads.m4 b/src/libs/ncurses/Ada95/gen/terminal_interface-curses-menus-item_user_data.ads.m4 deleted file mode 100644 index 6a5ab8096b..0000000000 --- a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-menus-item_user_data.ads.m4 +++ /dev/null @@ -1,75 +0,0 @@ --- -*- ada -*- -define(`HTMLNAME',`terminal_interface-curses-menus-item_user_data__ads.htm')dnl -include(M4MACRO)dnl ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Menus.Item_User_Data -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.14 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- - -generic - type User is limited private; - type User_Access is access User; -package Terminal_Interface.Curses.Menus.Item_User_Data is - pragma Preelaborate (Terminal_Interface.Curses.Menus.Item_User_Data); - - -- The binding uses the same user pointer for menu items - -- as the low level C implementation. So you can safely - -- read or write the user pointer also with the C routines - -- - -- MANPAGE(`mitem_userptr.3x') - - -- ANCHOR(`set_item_userptr',`Set_User_Data') - procedure Set_User_Data (Itm : in Item; - Data : in User_Access); - -- AKA - pragma Inline (Set_User_Data); - - -- ANCHOR(`item_userptr',`Get_User_Data') - procedure Get_User_Data (Itm : in Item; - Data : out User_Access); - -- AKA - - -- ANCHOR(`item_userptr',`Get_User_Data') - function Get_User_Data (Itm : in Item) return User_Access; - -- AKA - -- Same as function - pragma Inline (Get_User_Data); - -end Terminal_Interface.Curses.Menus.Item_User_Data; - diff --git a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-menus-menu_user_data.ads.m4 b/src/libs/ncurses/Ada95/gen/terminal_interface-curses-menus-menu_user_data.ads.m4 deleted file mode 100644 index 696149b987..0000000000 --- a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-menus-menu_user_data.ads.m4 +++ /dev/null @@ -1,70 +0,0 @@ --- -*- ada -*- -define(`HTMLNAME',`terminal_interface-curses-menus-menu_user_data__ads.htm')dnl -include(M4MACRO)dnl ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Menus.Menu_User_Data -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.14 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- - -generic - type User is limited private; - type User_Access is access User; -package Terminal_Interface.Curses.Menus.Menu_User_Data is - pragma Preelaborate (Terminal_Interface.Curses.Menus.Menu_User_Data); - - -- MANPAGE(`menu_userptr.3x') - - -- ANCHOR(`set_menu_userptr',`Set_User_Data') - procedure Set_User_Data (Men : in Menu; - Data : in User_Access); - -- AKA - pragma Inline (Set_User_Data); - - -- ANCHOR(`menu_userptr',`Get_User_Data') - procedure Get_User_Data (Men : in Menu; - Data : out User_Access); - -- AKA - - -- ANCHOR(`menu_userptr',`Get_User_Data') - function Get_User_Data (Men : in Menu) return User_Access; - -- AKA - -- Same as function - pragma Inline (Get_User_Data); - -end Terminal_Interface.Curses.Menus.Menu_User_Data; diff --git a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-menus.ads.m4 b/src/libs/ncurses/Ada95/gen/terminal_interface-curses-menus.ads.m4 deleted file mode 100644 index 6faa0539f9..0000000000 --- a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-menus.ads.m4 +++ /dev/null @@ -1,603 +0,0 @@ --- -*- ada -*- -define(`HTMLNAME',`terminal_interface-curses-menus__ads.htm')dnl -include(M4MACRO)dnl ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Menu -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.24 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -include(`Menu_Base_Defs') -with System; -with Ada.Characters.Latin_1; - -package Terminal_Interface.Curses.Menus is - pragma Preelaborate (Terminal_Interface.Curses.Menus); -include(`Menu_Linker_Options')dnl -include(`Linker_Options') - Space : Character renames Ada.Characters.Latin_1.Space; - - type Item is private; - type Menu is private; - - --------------------------- - -- Interface constants -- - --------------------------- - Null_Item : constant Item; - Null_Menu : constant Menu; - - subtype Menu_Request_Code is Key_Code - range (Key_Max + 1) .. (Key_Max + 17); - - -- The prefix M_ stands for "Menu Request" - M_Left_Item : constant Menu_Request_Code := Key_Max + 1; - M_Right_Item : constant Menu_Request_Code := Key_Max + 2; - M_Up_Item : constant Menu_Request_Code := Key_Max + 3; - M_Down_Item : constant Menu_Request_Code := Key_Max + 4; - M_ScrollUp_Line : constant Menu_Request_Code := Key_Max + 5; - M_ScrollDown_Line : constant Menu_Request_Code := Key_Max + 6; - M_ScrollDown_Page : constant Menu_Request_Code := Key_Max + 7; - M_ScrollUp_Page : constant Menu_Request_Code := Key_Max + 8; - M_First_Item : constant Menu_Request_Code := Key_Max + 9; - M_Last_Item : constant Menu_Request_Code := Key_Max + 10; - M_Next_Item : constant Menu_Request_Code := Key_Max + 11; - M_Previous_Item : constant Menu_Request_Code := Key_Max + 12; - M_Toggle_Item : constant Menu_Request_Code := Key_Max + 13; - M_Clear_Pattern : constant Menu_Request_Code := Key_Max + 14; - M_Back_Pattern : constant Menu_Request_Code := Key_Max + 15; - M_Next_Match : constant Menu_Request_Code := Key_Max + 16; - M_Previous_Match : constant Menu_Request_Code := Key_Max + 17; - - -- For those who like the old 'C' names for the request codes - REQ_LEFT_ITEM : Menu_Request_Code renames M_Left_Item; - REQ_RIGHT_ITEM : Menu_Request_Code renames M_Right_Item; - REQ_UP_ITEM : Menu_Request_Code renames M_Up_Item; - REQ_DOWN_ITEM : Menu_Request_Code renames M_Down_Item; - REQ_SCR_ULINE : Menu_Request_Code renames M_ScrollUp_Line; - REQ_SCR_DLINE : Menu_Request_Code renames M_ScrollDown_Line; - REQ_SCR_DPAGE : Menu_Request_Code renames M_ScrollDown_Page; - REQ_SCR_UPAGE : Menu_Request_Code renames M_ScrollUp_Page; - REQ_FIRST_ITEM : Menu_Request_Code renames M_First_Item; - REQ_LAST_ITEM : Menu_Request_Code renames M_Last_Item; - REQ_NEXT_ITEM : Menu_Request_Code renames M_Next_Item; - REQ_PREV_ITEM : Menu_Request_Code renames M_Previous_Item; - REQ_TOGGLE_ITEM : Menu_Request_Code renames M_Toggle_Item; - REQ_CLEAR_PATTERN : Menu_Request_Code renames M_Clear_Pattern; - REQ_BACK_PATTERN : Menu_Request_Code renames M_Back_Pattern; - REQ_NEXT_MATCH : Menu_Request_Code renames M_Next_Match; - REQ_PREV_MATCH : Menu_Request_Code renames M_Previous_Match; - - procedure Request_Name (Key : in Menu_Request_Code; - Name : out String); - - function Request_Name (Key : Menu_Request_Code) return String; - -- Same as function - - ------------------ - -- Exceptions -- - ------------------ - - Menu_Exception : exception; - -- - -- Menu options - -- - pragma Warnings (Off); -include(`Menu_Opt_Rep')dnl - - pragma Warnings (On); - - function Default_Menu_Options return Menu_Option_Set; - -- Initial default options for a menu. - pragma Inline (Default_Menu_Options); - -- - -- Item options - -- - pragma Warnings (Off); -include(`Item_Rep')dnl - - pragma Warnings (On); - - function Default_Item_Options return Item_Option_Set; - -- Initial default options for an item. - pragma Inline (Default_Item_Options); - - -- - -- Item Array - -- - type Item_Array is array (Positive range <>) of aliased Item; - pragma Convention (C, Item_Array); - - type Item_Array_Access is access Item_Array; - - procedure Free (IA : in out Item_Array_Access; - Free_Items : Boolean := False); - -- Release the memory for an allocated item array - -- If Free_Items is True, call Delete() for all the items in - -- the array. - - -- MANPAGE(`mitem_new.3x') - - -- ANCHOR(`new_item()',`Create') - function Create (Name : String; - Description : String := "") return Item; - -- AKA - -- Not inlined. - - -- ANCHOR(`new_item()',`New_Item') - function New_Item (Name : String; - Description : String := "") return Item - renames Create; - -- AKA - - -- ANCHOR(`free_item()',`Delete') - procedure Delete (Itm : in out Item); - -- AKA - -- Resets Itm to Null_Item - - -- MANPAGE(`mitem_value.3x') - - -- ANCHOR(`set_item_value()',`Set_Value') - procedure Set_Value (Itm : in Item; - Value : in Boolean := True); - -- AKA - pragma Inline (Set_Value); - - -- ANCHOR(`item_value()',`Value') - function Value (Itm : Item) return Boolean; - -- AKA - pragma Inline (Value); - - -- MANPAGE(`mitem_visible.3x') - - -- ANCHOR(`item_visible()',`Visible') - function Visible (Itm : Item) return Boolean; - -- AKA - pragma Inline (Visible); - - -- MANPAGE(`mitem_opts.3x') - - -- ANCHOR(`set_item_opts()',`Set_Options') - procedure Set_Options (Itm : in Item; - Options : in Item_Option_Set); - -- AKA - -- An overloaded Set_Options is defined later. Pragma Inline appears there - - -- ANCHOR(`item_opts_on()',`Switch_Options') - procedure Switch_Options (Itm : in Item; - Options : in Item_Option_Set; - On : Boolean := True); - -- AKA - -- ALIAS(`item_opts_off()') - -- An overloaded Switch_Options is defined later. - -- Pragma Inline appears there - - -- ANCHOR(`item_opts()',`Get_Options') - procedure Get_Options (Itm : in Item; - Options : out Item_Option_Set); - -- AKA - - -- ANCHOR(`item_opts()',`Get_Options') - function Get_Options (Itm : Item := Null_Item) return Item_Option_Set; - -- AKA - -- An overloaded Get_Options is defined later. Pragma Inline appears there - - -- MANPAGE(`mitem_name.3x') - - -- ANCHOR(`item_name()',`Name') - procedure Name (Itm : in Item; - Name : out String); - -- AKA - function Name (Itm : Item) return String; - -- AKA - -- Implemented as function - pragma Inline (Name); - - -- ANCHOR(`item_description();',`Description') - procedure Description (Itm : in Item; - Description : out String); - -- AKA - - function Description (Itm : Item) return String; - -- AKA - -- Implemented as function - pragma Inline (Description); - - -- MANPAGE(`mitem_current.3x') - - -- ANCHOR(`set_current_item()',`Set_Current') - procedure Set_Current (Men : in Menu; - Itm : in Item); - -- AKA - pragma Inline (Set_Current); - - -- ANCHOR(`current_item()',`Current') - function Current (Men : Menu) return Item; - -- AKA - pragma Inline (Current); - - -- ANCHOR(`set_top_row()',`Set_Top_Row') - procedure Set_Top_Row (Men : in Menu; - Line : in Line_Position); - -- AKA - pragma Inline (Set_Top_Row); - - -- ANCHOR(`top_row()',`Top_Row') - function Top_Row (Men : Menu) return Line_Position; - -- AKA - pragma Inline (Top_Row); - - -- ANCHOR(`item_index()',`Get_Index') - function Get_Index (Itm : Item) return Positive; - -- AKA - -- Please note that in this binding we start the numbering of items - -- with 1. So this is number is one more than you get from the low - -- level call. - pragma Inline (Get_Index); - - -- MANPAGE(`menu_post.3x') - - -- ANCHOR(`post_menu()',`Post') - procedure Post (Men : in Menu; - Post : in Boolean := True); - -- AKA - -- ALIAS(`unpost_menu()') - pragma Inline (Post); - - -- MANPAGE(`menu_opts.3x') - - -- ANCHOR(`set_menu_opts()',`Set_Options') - procedure Set_Options (Men : in Menu; - Options : in Menu_Option_Set); - -- AKA - pragma Inline (Set_Options); - - -- ANCHOR(`menu_opts_on()',`Switch_Options') - procedure Switch_Options (Men : in Menu; - Options : in Menu_Option_Set; - On : Boolean := True); - -- AKA - -- ALIAS(`menu_opts_off()') - pragma Inline (Switch_Options); - - -- ANCHOR(`menu_opts()',`Get_Options') - procedure Get_Options (Men : in Menu; - Options : out Menu_Option_Set); - -- AKA - - -- ANCHOR(`menu_opts()',`Get_Options') - function Get_Options (Men : Menu := Null_Menu) return Menu_Option_Set; - -- AKA - pragma Inline (Get_Options); - - -- MANPAGE(`menu_win.3x') - - -- ANCHOR(`set_menu_win()',`Set_Window') - procedure Set_Window (Men : in Menu; - Win : in Window); - -- AKA - pragma Inline (Set_Window); - - -- ANCHOR(`menu_win()',`Get_Window') - function Get_Window (Men : Menu) return Window; - -- AKA - pragma Inline (Get_Window); - - -- ANCHOR(`set_menu_sub()',`Set_Sub_Window') - procedure Set_Sub_Window (Men : in Menu; - Win : in Window); - -- AKA - pragma Inline (Set_Sub_Window); - - -- ANCHOR(`menu_sub()',`Get_Sub_Window') - function Get_Sub_Window (Men : Menu) return Window; - -- AKA - pragma Inline (Get_Sub_Window); - - -- ANCHOR(`scale_menu()',`Scale') - procedure Scale (Men : in Menu; - Lines : out Line_Count; - Columns : out Column_Count); - -- AKA - pragma Inline (Scale); - - -- MANPAGE(`menu_cursor.3x') - - -- ANCHOR(`pos_menu_cursor()',`Position_Cursor') - procedure Position_Cursor (Men : Menu); - -- AKA - pragma Inline (Position_Cursor); - - -- MANPAGE(`menu_mark.3x') - - -- ANCHOR(`set_menu_mark()',`Set_Mark') - procedure Set_Mark (Men : in Menu; - Mark : in String); - -- AKA - pragma Inline (Set_Mark); - - -- ANCHOR(`menu_mark()',`Mark') - procedure Mark (Men : in Menu; - Mark : out String); - -- AKA - - function Mark (Men : Menu) return String; - -- AKA - -- Implemented as function - pragma Inline (Mark); - - -- MANPAGE(`menu_attribs.3x') - - -- ANCHOR(`set_menu_fore()',`Set_Foreground') - procedure Set_Foreground - (Men : in Menu; - Fore : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First); - -- AKA - pragma Inline (Set_Foreground); - - -- ANCHOR(`menu_fore()',`Foreground') - procedure Foreground (Men : in Menu; - Fore : out Character_Attribute_Set); - -- AKA - - -- ANCHOR(`menu_fore()',`Foreground') - procedure Foreground (Men : in Menu; - Fore : out Character_Attribute_Set; - Color : out Color_Pair); - -- AKA - pragma Inline (Foreground); - - -- ANCHOR(`set_menu_back()',`Set_Background') - procedure Set_Background - (Men : in Menu; - Back : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First); - -- AKA - pragma Inline (Set_Background); - - -- ANCHOR(`menu_back()',`Background') - procedure Background (Men : in Menu; - Back : out Character_Attribute_Set); - -- AKA - -- ANCHOR(`menu_back()',`Background') - - procedure Background (Men : in Menu; - Back : out Character_Attribute_Set; - Color : out Color_Pair); - -- AKA - pragma Inline (Background); - - -- ANCHOR(`set_menu_grey()',`Set_Grey') - procedure Set_Grey - (Men : in Menu; - Grey : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First); - -- AKA - pragma Inline (Set_Grey); - - -- ANCHOR(`menu_grey()',`Grey') - procedure Grey (Men : in Menu; - Grey : out Character_Attribute_Set); - -- AKA - - -- ANCHOR(`menu_grey()',`Grey') - procedure Grey - (Men : in Menu; - Grey : out Character_Attribute_Set; - Color : out Color_Pair); - -- AKA - pragma Inline (Grey); - - -- ANCHOR(`set_menu_pad()',`Set_Pad_Character') - procedure Set_Pad_Character (Men : in Menu; - Pad : in Character := Space); - -- AKA - pragma Inline (Set_Pad_Character); - - -- ANCHOR(`menu_pad()',`Pad_Character') - procedure Pad_Character (Men : in Menu; - Pad : out Character); - -- AKA - pragma Inline (Pad_Character); - - -- MANPAGE(`menu_spacing.3x') - - -- ANCHOR(`set_menu_spacing()',`Set_Spacing') - procedure Set_Spacing (Men : in Menu; - Descr : in Column_Position := 0; - Row : in Line_Position := 0; - Col : in Column_Position := 0); - -- AKA - pragma Inline (Set_Spacing); - - -- ANCHOR(`menu_spacing()',`Spacing') - procedure Spacing (Men : in Menu; - Descr : out Column_Position; - Row : out Line_Position; - Col : out Column_Position); - -- AKA - pragma Inline (Spacing); - - -- MANPAGE(`menu_pattern.3x') - - -- ANCHOR(`set_menu_pattern()',`Set_Pattern') - function Set_Pattern (Men : Menu; - Text : String) return Boolean; - -- AKA - -- Return TRUE if the pattern matches, FALSE otherwise - pragma Inline (Set_Pattern); - - -- ANCHOR(`menu_pattern()',`Pattern') - procedure Pattern (Men : in Menu; - Text : out String); - -- AKA - pragma Inline (Pattern); - - -- MANPAGE(`menu_format.3x') - - -- ANCHOR(`set_menu_format()',`Set_Format') - procedure Set_Format (Men : in Menu; - Lines : in Line_Count; - Columns : in Column_Count); - -- Not implemented: 0 argument for Lines or Columns; - -- instead use Format to get the current sizes - -- The default format is 16 rows, 1 column. Calling - -- set_menu_format with a null menu pointer will change this - -- default. A zero row or column argument to set_menu_format - -- is interpreted as a request not to change the current - -- value. - -- AKA - pragma Inline (Set_Format); - - -- ANCHOR(`menu_format()',`Format') - procedure Format (Men : in Menu; - Lines : out Line_Count; - Columns : out Column_Count); - -- AKA - pragma Inline (Format); - - -- MANPAGE(`menu_hook.3x') - - type Menu_Hook_Function is access procedure (Men : in Menu); - pragma Convention (C, Menu_Hook_Function); - - -- ANCHOR(`set_item_init()',`Set_Item_Init_Hook') - procedure Set_Item_Init_Hook (Men : in Menu; - Proc : in Menu_Hook_Function); - -- AKA - pragma Inline (Set_Item_Init_Hook); - - -- ANCHOR(`set_item_term()',`Set_Item_Term_Hook') - procedure Set_Item_Term_Hook (Men : in Menu; - Proc : in Menu_Hook_Function); - -- AKA - pragma Inline (Set_Item_Term_Hook); - - -- ANCHOR(`set_menu_init()',`Set_Menu_Init_Hook') - procedure Set_Menu_Init_Hook (Men : in Menu; - Proc : in Menu_Hook_Function); - -- AKA - pragma Inline (Set_Menu_Init_Hook); - - -- ANCHOR(`set_menu_term()',`Set_Menu_Term_Hook') - procedure Set_Menu_Term_Hook (Men : in Menu; - Proc : in Menu_Hook_Function); - -- AKA - pragma Inline (Set_Menu_Term_Hook); - - -- ANCHOR(`item_init()',`Get_Item_Init_Hook') - function Get_Item_Init_Hook (Men : Menu) return Menu_Hook_Function; - -- AKA - pragma Inline (Get_Item_Init_Hook); - - -- ANCHOR(`item_term()',`Get_Item_Term_Hook') - function Get_Item_Term_Hook (Men : Menu) return Menu_Hook_Function; - -- AKA - pragma Inline (Get_Item_Term_Hook); - - -- ANCHOR(`menu_init()',`Get_Menu_Init_Hook') - function Get_Menu_Init_Hook (Men : Menu) return Menu_Hook_Function; - -- AKA - pragma Inline (Get_Menu_Init_Hook); - - -- ANCHOR(`menu_term()',`Get_Menu_Term_Hook') - function Get_Menu_Term_Hook (Men : Menu) return Menu_Hook_Function; - -- AKA - pragma Inline (Get_Menu_Term_Hook); - - -- MANPAGE(`menu_items.3x') - - -- ANCHOR(`set_menu_items()',`Redefine') - procedure Redefine (Men : in Menu; - Items : in Item_Array_Access); - -- AKA - pragma Inline (Redefine); - - procedure Set_Items (Men : in Menu; - Items : in Item_Array_Access) renames Redefine; - pragma Inline (Set_Items); - - -- ANCHOR(`menu_items()',`Items') - function Items (Men : Menu; - Index : Positive) return Item; - -- AKA - pragma Inline (Items); - - -- ANCHOR(`item_count()',`Item_Count') - function Item_Count (Men : Menu) return Natural; - -- AKA - pragma Inline (Item_Count); - - -- MANPAGE(`menu_new.3x') - - -- ANCHOR(`new_menu()',`Create') - function Create (Items : Item_Array_Access) return Menu; - -- AKA - -- Not inlined - - function New_Menu (Items : Item_Array_Access) return Menu renames Create; - - -- ANCHOR(`free_menu()',`Delete') - procedure Delete (Men : in out Menu); - -- AKA - -- Reset Men to Null_Menu - -- Not inlined - - -- MANPAGE(`menu_driver.3x') - - type Driver_Result is (Menu_Ok, - Request_Denied, - Unknown_Request, - No_Match); - - -- ANCHOR(`menu_driver()',`Driver') - function Driver (Men : Menu; - Key : Key_Code) return Driver_Result; - -- AKA - -- Driver is not inlined - - -- ANCHOR(`menu_requestname.3x') - -- Not Implemented: menu_request_name, menu_request_by_name -------------------------------------------------------------------------------- -private - type Item is new System.Storage_Elements.Integer_Address; - type Menu is new System.Storage_Elements.Integer_Address; - - Null_Item : constant Item := 0; - Null_Menu : constant Menu := 0; - -end Terminal_Interface.Curses.Menus; diff --git a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-mouse.ads.m4 b/src/libs/ncurses/Ada95/gen/terminal_interface-curses-mouse.ads.m4 deleted file mode 100644 index 5ca079cf66..0000000000 --- a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-mouse.ads.m4 +++ /dev/null @@ -1,183 +0,0 @@ --- -*- ada -*- -define(`HTMLNAME',`terminal_interface-curses-mouse__ads.htm')dnl -include(M4MACRO)dnl ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Mouse -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.25 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -include(`Mouse_Base_Defs') -with System; - -package Terminal_Interface.Curses.Mouse is - pragma Preelaborate (Terminal_Interface.Curses.Mouse); - - -- MANPAGE(`curs_mouse.3x') - -- Please note, that in ncurses-1.9.9e documentation mouse support - -- is still marked as experimental. So also this binding will change - -- if the ncurses methods change. - -- - -- mouse_trafo, wmouse_trafo are implemented as Transform_Coordinates - -- in the parent package. - -- - -- Not implemented: - -- REPORT_MOUSE_POSITION (i.e. as a parameter to Register_Reportable_Event - -- or Start_Mouse) - type Event_Mask is private; - No_Events : constant Event_Mask; - All_Events : constant Event_Mask; - - type Mouse_Button is (Left, -- aka: Button 1 - Middle, -- aka: Button 2 - Right, -- aka: Button 3 - Button4, -- aka: Button 4 - Control, -- Control Key - Shift, -- Shift Key - Alt); -- ALT Key - - subtype Real_Buttons is Mouse_Button range Left .. Button4; - subtype Modifier_Keys is Mouse_Button range Control .. Alt; - - type Button_State is (Released, - Pressed, - Clicked, - Double_Clicked, - Triple_Clicked); - - type Button_States is array (Button_State) of Boolean; - pragma Pack (Button_States); - - All_Clicks : constant Button_States := (Clicked .. Triple_Clicked => True, - others => False); - All_States : constant Button_States := (others => True); - - type Mouse_Event is private; - - -- MANPAGE(`curs_mouse.3x') - - function Has_Mouse return Boolean; - -- Return true if a mouse device is supported, false otherwise. - - procedure Register_Reportable_Event - (Button : in Mouse_Button; - State : in Button_State; - Mask : in out Event_Mask); - -- Stores the event described by the button and the state in the mask. - -- Before you call this the first time, you should init the mask - -- with the Empty_Mask constant - pragma Inline (Register_Reportable_Event); - - procedure Register_Reportable_Events - (Button : in Mouse_Button; - State : in Button_States; - Mask : in out Event_Mask); - -- Register all events described by the Button and the State bitmap. - -- Before you call this the first time, you should init the mask - -- with the Empty_Mask constant - - -- ANCHOR(`mousemask()',`Start_Mouse') - -- There is one difference to mousmask(): we return the value of the - -- old mask, that means the event mask value before this call. - -- Not Implemented: The library version - -- returns a Mouse_Mask that tells which events are reported. - function Start_Mouse (Mask : Event_Mask := All_Events) - return Event_Mask; - -- AKA - pragma Inline (Start_Mouse); - - procedure End_Mouse (Mask : in Event_Mask := No_Events); - -- Terminates the mouse, restores the specified event mask - pragma Inline (End_Mouse); - - -- ANCHOR(`getmouse()',`Get_Mouse') - function Get_Mouse return Mouse_Event; - -- AKA - pragma Inline (Get_Mouse); - - procedure Get_Event (Event : in Mouse_Event; - Y : out Line_Position; - X : out Column_Position; - Button : out Mouse_Button; - State : out Button_State); - -- !!! Warning: X and Y are screen coordinates. Due to ripped of lines they - -- may not be identical to window coordinates. - -- Not Implemented: Get_Event only reports one event, the C library - -- version supports multiple events, e.g. {click-1, click-3} - pragma Inline (Get_Event); - - -- ANCHOR(`ungetmouse()',`Unget_Mouse') - procedure Unget_Mouse (Event : in Mouse_Event); - -- AKA - pragma Inline (Unget_Mouse); - - -- ANCHOR(`wenclose()',`Enclosed_In_Window') - function Enclosed_In_Window (Win : Window := Standard_Window; - Event : Mouse_Event) return Boolean; - -- AKA - -- But : use event instead of screen coordinates. - pragma Inline (Enclosed_In_Window); - - -- ANCHOR(`mouseinterval()',`Mouse_Interval') - function Mouse_Interval (Msec : Natural := 200) return Natural; - -- AKA - pragma Inline (Mouse_Interval); - -private - type Event_Mask is new Interfaces.C.unsigned_long; - - type Mouse_Event is - record - Id : Integer range Integer (Interfaces.C.short'First) .. - Integer (Interfaces.C.short'Last); - X, Y, Z : Integer range Integer (Interfaces.C.int'First) .. - Integer (Interfaces.C.int'Last); - Bstate : Event_Mask; - end record; - pragma Convention (C, Mouse_Event); - -include(`Mouse_Event_Rep') - Generation_Bit_Order : constant System.Bit_Order := System.M4_BIT_ORDER; - -- This constant may be different on your system. - -include(`Mouse_Events') - - No_Events : constant Event_Mask := 0; - All_Events : constant Event_Mask := ALL_MOUSE_EVENTS; - -end Terminal_Interface.Curses.Mouse; diff --git a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-panels-user_data.ads.m4 b/src/libs/ncurses/Ada95/gen/terminal_interface-curses-panels-user_data.ads.m4 deleted file mode 100644 index e6def9b03b..0000000000 --- a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-panels-user_data.ads.m4 +++ /dev/null @@ -1,70 +0,0 @@ --- -*- ada -*- -define(`HTMLNAME',`terminal_interface-curses-panels-user_data__ads.htm')dnl -include(M4MACRO)dnl ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Panels.User_Data -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.14 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- - -generic - type User is limited private; - type User_Access is access all User; -package Terminal_Interface.Curses.Panels.User_Data is - pragma Preelaborate (Terminal_Interface.Curses.Panels.User_Data); - - -- MANPAGE(`panel.3x') - - -- ANCHOR(`set_panel_userptr',`Set_User_Data') - procedure Set_User_Data (Pan : in Panel; - Data : in User_Access); - -- AKA - pragma Inline (Set_User_Data); - - -- ANCHOR(`panel_userptr',`Get_User_Data') - procedure Get_User_Data (Pan : in Panel; - Data : out User_Access); - -- AKA - - -- ANCHOR(`panel_userptr',`Get_User_Data') - function Get_User_Data (Pan : in Panel) return User_Access; - -- AKA - -- Same as function - pragma Inline (Get_User_Data); - -end Terminal_Interface.Curses.Panels.User_Data; diff --git a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-panels.ads.m4 b/src/libs/ncurses/Ada95/gen/terminal_interface-curses-panels.ads.m4 deleted file mode 100644 index 71252180f4..0000000000 --- a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-panels.ads.m4 +++ /dev/null @@ -1,146 +0,0 @@ --- -*- ada -*- -define(`HTMLNAME',`terminal_interface-curses-panels__ads.htm')dnl -include(M4MACRO)dnl ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Panels -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.17 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with System; - -package Terminal_Interface.Curses.Panels is - pragma Preelaborate (Terminal_Interface.Curses.Panels); -include(`Panel_Linker_Options')dnl -include(`Linker_Options') - type Panel is private; - - --------------------------- - -- Interface constants -- - --------------------------- - Null_Panel : constant Panel; - - ------------------- - -- Exceptions -- - ------------------- - - Panel_Exception : exception; - - -- MANPAGE(`panel.3x') - - -- ANCHOR(`new_panel()',`Create') - function Create (Win : Window) return Panel; - -- AKA - pragma Inline (Create); - - -- ANCHOR(`new_panel()',`New_Panel') - function New_Panel (Win : Window) return Panel renames Create; - -- AKA - pragma Inline (New_Panel); - - -- ANCHOR(`bottom_panel()',`Bottom') - procedure Bottom (Pan : in Panel); - -- AKA - pragma Inline (Bottom); - - -- ANCHOR(`top_panel()',`Top') - procedure Top (Pan : in Panel); - -- AKA - pragma Inline (Top); - - -- ANCHOR(`show_panel()',`Show') - procedure Show (Pan : in Panel); - -- AKA - pragma Inline (Show); - - -- ANCHOR(`update_panels()',`Update_Panels') - procedure Update_Panels; - -- AKA - pragma Import (C, Update_Panels, "update_panels"); - - -- ANCHOR(`hide_panel()',`Hide') - procedure Hide (Pan : in Panel); - -- AKA - pragma Inline (Hide); - - -- ANCHOR(`panel_window()',`Get_Window') - function Get_Window (Pan : Panel) return Window; - -- AKA - pragma Inline (Get_Window); - - -- ANCHOR(`panel_window()',`Panel_Window') - function Panel_Window (Pan : Panel) return Window renames Get_Window; - pragma Inline (Panel_Window); - - -- ANCHOR(`replace_panel()',`Replace') - procedure Replace (Pan : in Panel; - Win : in Window); - -- AKA - pragma Inline (Replace); - - -- ANCHOR(`move_panel()',`Move') - procedure Move (Pan : in Panel; - Line : in Line_Position; - Column : in Column_Position); - -- AKA - pragma Inline (Move); - - -- ANCHOR(`panel_hidden()',`Is_Hidden') - function Is_Hidden (Pan : Panel) return Boolean; - -- AKA - pragma Inline (Is_Hidden); - - -- ANCHOR(`panel_above()',`Above') - function Above (Pan : Panel) return Panel; - -- AKA - pragma Import (C, Above, "panel_above"); - - -- ANCHOR(`panel_below()',`Below') - function Below (Pan : Panel) return Panel; - -- AKA - pragma Import (C, Below, "panel_below"); - - -- ANCHOR(`del_panel()',`Delete') - procedure Delete (Pan : in out Panel); - -- AKA - pragma Inline (Delete); - -private - type Panel is new System.Storage_Elements.Integer_Address; - Null_Panel : constant Panel := 0; - -end Terminal_Interface.Curses.Panels; diff --git a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-trace.ads.m4 b/src/libs/ncurses/Ada95/gen/terminal_interface-curses-trace.ads.m4 deleted file mode 100644 index 546004fd49..0000000000 --- a/src/libs/ncurses/Ada95/gen/terminal_interface-curses-trace.ads.m4 +++ /dev/null @@ -1,78 +0,0 @@ --- -*- ada -*- -define(`HTMLNAME',`terminal_interface-curses-trace__ads.htm')dnl -include(M4MACRO)------------------------------------------------------------------------------ --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Trace -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control: --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- - -package Terminal_Interface.Curses.Trace is - pragma Preelaborate (Terminal_Interface.Curses.Trace); - - pragma Warnings (Off); -include(`Trace_Defs') - - pragma Warnings (On); - - Trace_Disable : constant Trace_Attribute_Set := (others => False); - - Trace_Ordinary : constant Trace_Attribute_Set := - (Times => True, - Tputs => True, - Update => True, - Cursor_Move => True, - Character_Output => True, - others => False); - Trace_Maximum : constant Trace_Attribute_Set := (others => True); - ------------------------------------------------------------------------------- - - -- MANPAGE(`curs_trace.3x') - - -- ANCHOR(`trace()',`Trace_on') - procedure Trace_On (x : Trace_Attribute_Set); - -- The debugging library has trace. - - -- ANCHOR(`_tracef()',`Trace_Put') - procedure Trace_Put (str : String); - -- AKA - - Current_Trace_Setting : Trace_Attribute_Set; - pragma Import (C, Current_Trace_Setting, "_nc_tracing"); - -end Terminal_Interface.Curses.Trace; diff --git a/src/libs/ncurses/Ada95/gen/terminal_interface-curses.ads.m4 b/src/libs/ncurses/Ada95/gen/terminal_interface-curses.ads.m4 deleted file mode 100644 index 32922f1e40..0000000000 --- a/src/libs/ncurses/Ada95/gen/terminal_interface-curses.ads.m4 +++ /dev/null @@ -1,1558 +0,0 @@ --- -*- ada -*- -define(`HTMLNAME',`terminal_interface-curses__ads.htm')dnl -include(M4MACRO)------------------------------------------------------------------------------ --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.35 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -include(`Base_Defs') -with System.Storage_Elements; -with Interfaces.C; -- We need this for some assertions. - -package Terminal_Interface.Curses is - pragma Preelaborate (Terminal_Interface.Curses); -include(`Linker_Options') -include(`Version_Info') - type Window is private; - Null_Window : constant Window; - - type Line_Position is new Natural; -- line coordinate - type Column_Position is new Natural; -- column coordinate - - subtype Line_Count is Line_Position range 1 .. Line_Position'Last; - -- Type to count lines. We do not allow null windows, so must be positive - subtype Column_Count is Column_Position range 1 .. Column_Position'Last; - -- Type to count columns. We do not allow null windows, so must be positive - - type Key_Code is new Integer; - -- That is anything including real characters, special keys and logical - -- request codes. - - -- FIXME: The "-1" should be Curses_Err - subtype Real_Key_Code is Key_Code range -1 .. M4_KEY_MAX; - -- This are the codes that potentially represent a real keystroke. - -- Not all codes may be possible on a specific terminal. To check the - -- availability of a special key, the Has_Key function is provided. - - subtype Special_Key_Code is Real_Key_Code - range M4_SPECIAL_FIRST .. Real_Key_Code'Last; - -- Type for a function- or special key number - - subtype Normal_Key_Code is Real_Key_Code range - Character'Pos (Character'First) .. Character'Pos (Character'Last); - -- This are the codes for regular (incl. non-graphical) characters. - - -- Constants for function- and special keys - -- - Key_None : constant Special_Key_Code := M4_SPECIAL_FIRST; -include(`Key_Definitions') - Key_Max : constant Special_Key_Code - := Special_Key_Code'Last; - - subtype User_Key_Code is Key_Code - range (Key_Max + 129) .. Key_Code'Last; - -- This is reserved for user defined key codes. The range between Key_Max - -- and the first user code is reserved for subsystems like menu and forms. - - -- For those who like to use the original key names we produce them were - -- they differ from the original. Please note that they may differ in - -- lower/upper case. -include(`Old_Keys')dnl - ------------------------------------------------------------------------------- - - type Color_Number is range -1 .. Integer (Interfaces.C.short'Last); - for Color_Number'Size use Interfaces.C.short'Size; - -- (n)curses uses a short for the color index - -- The model is, that a Color_Number is an index into an array of - -- (potentially) definable colors. Some of those indices are - -- predefined (see below), although they may not really exist. - -include(`Color_Defs') - type RGB_Value is range 0 .. Integer (Interfaces.C.short'Last); - for RGB_Value'Size use Interfaces.C.short'Size; - -- Some system may allow to redefine a color by setting RGB values. - - type Color_Pair is range 0 .. 255; - for Color_Pair'Size use 8; - subtype Redefinable_Color_Pair is Color_Pair range 1 .. 255; - -- (n)curses reserves 1 Byte for the color-pair number. Color Pair 0 - -- is fixed (Black & White). A color pair is simply a combination of - -- two colors described by Color_Numbers, one for the foreground and - -- the other for the background - -include(`Character_Attribute_Set_Rep') - -- (n)curses uses all but the lowest 16 Bits for Attributes. - - Normal_Video : constant Character_Attribute_Set := (others => False); - - type Attributed_Character is - record - Attr : Character_Attribute_Set; - Color : Color_Pair; - Ch : Character; - end record; - pragma Convention (C, Attributed_Character); - -- This is the counterpart for the chtype in C. - -include(`AC_Rep') - Default_Character : constant Attributed_Character - := (Ch => Character'First, - Color => Color_Pair'First, - Attr => (others => False)); -- preelaboratable Normal_Video - - type Attributed_String is array (Positive range <>) of Attributed_Character; - pragma Pack (Attributed_String); - -- In this binding we allow strings of attributed characters. - - ------------------ - -- Exceptions -- - ------------------ - Curses_Exception : exception; - Wrong_Curses_Version : exception; - - -- Those exceptions are raised by the ETI (Extended Terminal Interface) - -- subpackets for Menu and Forms handling. - -- - Eti_System_Error : exception; - Eti_Bad_Argument : exception; - Eti_Posted : exception; - Eti_Connected : exception; - Eti_Bad_State : exception; - Eti_No_Room : exception; - Eti_Not_Posted : exception; - Eti_Unknown_Command : exception; - Eti_No_Match : exception; - Eti_Not_Selectable : exception; - Eti_Not_Connected : exception; - Eti_Request_Denied : exception; - Eti_Invalid_Field : exception; - Eti_Current : exception; - - -------------------------------------------------------------------------- - -- External C variables - -- Conceptually even in C this are kind of constants, but they are - -- initialized and sometimes changed by the library routines at runtime - -- depending on the type of terminal. I believe the best way to model - -- this is to use functions. - -------------------------------------------------------------------------- - - function Lines return Line_Count; - pragma Inline (Lines); - - function Columns return Column_Count; - pragma Inline (Columns); - - function Tab_Size return Natural; - pragma Inline (Tab_Size); - - function Number_Of_Colors return Natural; - pragma Inline (Number_Of_Colors); - - function Number_Of_Color_Pairs return Natural; - pragma Inline (Number_Of_Color_Pairs); - - ACS_Map : array (Character'Val (0) .. Character'Val (127)) of - Attributed_Character; - pragma Import (C, ACS_Map, "acs_map"); - -- - -- - -- Constants for several characters from the Alternate Character Set - -- You must use this constants as indices into the ACS_Map array - -- to get the corresponding attributed character at runtime. - -- -include(`ACS_Map')dnl - - -- MANPAGE(`curs_initscr.3x') - -- | Not implemented: newterm, set_term, delscreen, curscr - - -- ANCHOR(`stdscr',`Standard_Window') - function Standard_Window return Window; - -- AKA - pragma Inline (Standard_Window); - - -- ANCHOR(`initscr()',`Init_Screen') - procedure Init_Screen; - - -- ANCHOR(`initscr()',`Init_Windows') - procedure Init_Windows renames Init_Screen; - -- AKA - pragma Inline (Init_Screen); - pragma Inline (Init_Windows); - - -- ANCHOR(`endwin()',`End_Windows') - procedure End_Windows; - -- AKA - procedure End_Screen renames End_Windows; - pragma Inline (End_Windows); - pragma Inline (End_Screen); - - -- ANCHOR(`isendwin()',`Is_End_Window') - function Is_End_Window return Boolean; - -- AKA - pragma Inline (Is_End_Window); - - -- MANPAGE(`curs_move.3x') - - -- ANCHOR(`wmove()',`Move_Cursor') - procedure Move_Cursor (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position); - -- AKA - -- ALIAS(`move()') - pragma Inline (Move_Cursor); - - -- MANPAGE(`curs_addch.3x') - - -- ANCHOR(`waddch()',`Add') - procedure Add (Win : in Window := Standard_Window; - Ch : in Attributed_Character); - -- AKA - -- ALIAS(`addch()') - - procedure Add (Win : in Window := Standard_Window; - Ch : in Character); - -- Add a single character at the current logical cursor position to - -- the window. Use the current windows attributes. - - -- ANCHOR(`mvwaddch()',`Add') - procedure Add - (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Ch : in Attributed_Character); - -- AKA - -- ALIAS(`mvaddch()') - - procedure Add - (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Ch : in Character); - -- Move to the position and add a single character into the window - -- There are more Add routines, so the Inline pragma follows later - - -- ANCHOR(`wechochar()',`Add_With_Immediate_Echo') - procedure Add_With_Immediate_Echo - (Win : in Window := Standard_Window; - Ch : in Attributed_Character); - -- AKA - -- ALIAS(`echochar()') - - procedure Add_With_Immediate_Echo - (Win : in Window := Standard_Window; - Ch : in Character); - -- Add a character and do an immediate refresh of the screen. - pragma Inline (Add_With_Immediate_Echo); - - -- MANPAGE(`curs_window.3x') - -- Not Implemented: wcursyncup - - -- ANCHOR(`newwin()',`Create') - function Create - (Number_Of_Lines : Line_Count; - Number_Of_Columns : Column_Count; - First_Line_Position : Line_Position; - First_Column_Position : Column_Position) return Window; - -- Not Implemented: Default Number_Of_Lines, Number_Of_Columns - -- the C version lets them be 0, see the man page. - -- AKA - pragma Inline (Create); - - function New_Window - (Number_Of_Lines : Line_Count; - Number_Of_Columns : Column_Count; - First_Line_Position : Line_Position; - First_Column_Position : Column_Position) return Window - renames Create; - pragma Inline (New_Window); - - -- ANCHOR(`delwin()',`Delete') - procedure Delete (Win : in out Window); - -- AKA - -- Reset Win to Null_Window - pragma Inline (Delete); - - -- ANCHOR(`subwin()',`Sub_Window') - function Sub_Window - (Win : Window := Standard_Window; - Number_Of_Lines : Line_Count; - Number_Of_Columns : Column_Count; - First_Line_Position : Line_Position; - First_Column_Position : Column_Position) return Window; - -- AKA - pragma Inline (Sub_Window); - - -- ANCHOR(`derwin()',`Derived_Window') - function Derived_Window - (Win : Window := Standard_Window; - Number_Of_Lines : Line_Count; - Number_Of_Columns : Column_Count; - First_Line_Position : Line_Position; - First_Column_Position : Column_Position) return Window; - -- AKA - pragma Inline (Derived_Window); - - -- ANCHOR(`dupwin()',`Duplicate') - function Duplicate (Win : Window) return Window; - -- AKA - pragma Inline (Duplicate); - - -- ANCHOR(`mvwin()',`Move_Window') - procedure Move_Window (Win : in Window; - Line : in Line_Position; - Column : in Column_Position); - -- AKA - pragma Inline (Move_Window); - - -- ANCHOR(`mvderwin()',`Move_Derived_Window') - procedure Move_Derived_Window (Win : in Window; - Line : in Line_Position; - Column : in Column_Position); - -- AKA - pragma Inline (Move_Derived_Window); - - -- ANCHOR(`wsyncup()',`Synchronize_Upwards') - procedure Synchronize_Upwards (Win : in Window); - -- AKA - pragma Import (C, Synchronize_Upwards, "wsyncup"); - - -- ANCHOR(`wsyncdown()',`Synchronize_Downwards') - procedure Synchronize_Downwards (Win : in Window); - -- AKA - pragma Import (C, Synchronize_Downwards, "wsyncdown"); - - -- ANCHOR(`syncok()',`Set_Synch_Mode') - procedure Set_Synch_Mode (Win : in Window := Standard_Window; - Mode : in Boolean := False); - -- AKA - pragma Inline (Set_Synch_Mode); - - -- MANPAGE(`curs_addstr.3x') - - -- ANCHOR(`waddnstr()',`Add') - procedure Add (Win : in Window := Standard_Window; - Str : in String; - Len : in Integer := -1); - -- AKA - -- ALIAS(`waddstr()') - -- ALIAS(`addnstr()') - -- ALIAS(`addstr()') - - -- ANCHOR(`mvwaddnstr()',`Add') - procedure Add (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Str : in String; - Len : in Integer := -1); - -- AKA - -- ALIAS(`mvwaddstr()') - -- ALIAS(`mvaddnstr()') - -- ALIAS(`mvaddstr()') - - -- MANPAGE(`curs_addchstr.3x') - - -- ANCHOR(`waddchnstr()',`Add') - procedure Add (Win : in Window := Standard_Window; - Str : in Attributed_String; - Len : in Integer := -1); - -- AKA - -- ALIAS(`waddchstr()') - -- ALIAS(`addchnstr()') - -- ALIAS(`addchstr()') - - -- ANCHOR(`mvwaddchnstr()',`Add') - procedure Add (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Str : in Attributed_String; - Len : in Integer := -1); - -- AKA - -- ALIAS(`mvwaddchstr()') - -- ALIAS(`mvaddchnstr()') - -- ALIAS(`mvaddchstr()') - pragma Inline (Add); - - -- MANPAGE(`curs_border.3x') - -- | Not implemented: mvhline, mvwhline, mvvline, mvwvline - -- | use Move_Cursor then Horizontal_Line or Vertical_Line - - -- ANCHOR(`wborder()',`Border') - procedure Border - (Win : in Window := Standard_Window; - Left_Side_Symbol : in Attributed_Character := Default_Character; - Right_Side_Symbol : in Attributed_Character := Default_Character; - Top_Side_Symbol : in Attributed_Character := Default_Character; - Bottom_Side_Symbol : in Attributed_Character := Default_Character; - Upper_Left_Corner_Symbol : in Attributed_Character := Default_Character; - Upper_Right_Corner_Symbol : in Attributed_Character := Default_Character; - Lower_Left_Corner_Symbol : in Attributed_Character := Default_Character; - Lower_Right_Corner_Symbol : in Attributed_Character := Default_Character - ); - -- AKA - -- ALIAS(`border()') - pragma Inline (Border); - - -- ANCHOR(`box()',`Box') - procedure Box - (Win : in Window := Standard_Window; - Vertical_Symbol : in Attributed_Character := Default_Character; - Horizontal_Symbol : in Attributed_Character := Default_Character); - -- AKA - pragma Inline (Box); - - -- ANCHOR(`whline()',`Horizontal_Line') - procedure Horizontal_Line - (Win : in Window := Standard_Window; - Line_Size : in Natural; - Line_Symbol : in Attributed_Character := Default_Character); - -- AKA - -- ALIAS(`hline()') - pragma Inline (Horizontal_Line); - - -- ANCHOR(`wvline()',`Vertical_Line') - procedure Vertical_Line - (Win : in Window := Standard_Window; - Line_Size : in Natural; - Line_Symbol : in Attributed_Character := Default_Character); - -- AKA - -- ALIAS(`vline()') - pragma Inline (Vertical_Line); - - -- MANPAGE(`curs_getch.3x') - -- Not implemented: mvgetch, mvwgetch - - -- ANCHOR(`wgetch()',`Get_Keystroke') - function Get_Keystroke (Win : Window := Standard_Window) - return Real_Key_Code; - -- AKA - -- ALIAS(`getch()') - -- Get a character from the keyboard and echo it - if enabled - to the - -- window. - -- If for any reason (i.e. a timeout) we couldn't get a character the - -- returned keycode is Key_None. - pragma Inline (Get_Keystroke); - - -- ANCHOR(`ungetch()',`Undo_Keystroke') - procedure Undo_Keystroke (Key : in Real_Key_Code); - -- AKA - pragma Inline (Undo_Keystroke); - - -- ANCHOR(`has_key()',`Has_Key') - function Has_Key (Key : Special_Key_Code) return Boolean; - -- AKA - pragma Inline (Has_Key); - - -- | - -- | Some helper functions - -- | - function Is_Function_Key (Key : Special_Key_Code) return Boolean; - -- Return True if the Key is a function key (i.e. one of F0 .. F63) - pragma Inline (Is_Function_Key); - - subtype Function_Key_Number is Integer range 0 .. 63; - -- (n)curses allows for 64 function keys. - - function Function_Key (Key : Real_Key_Code) return Function_Key_Number; - -- Return the number of the function key. If the code is not a - -- function key, a CONSTRAINT_ERROR will be raised. - pragma Inline (Function_Key); - - function Function_Key_Code (Key : Function_Key_Number) return Real_Key_Code; - -- Return the key code for a given function-key number. - pragma Inline (Function_Key_Code); - - -- MANPAGE(`curs_attr.3x') - -- | Not implemented attr_off, wattr_off, - -- | attr_on, wattr_on, attr_set, wattr_set - - -- PAIR_NUMBER - -- PAIR_NUMBER(c) is the same as c.Color - - -- ANCHOR(`standout()',`Standout') - procedure Standout (Win : Window := Standard_Window; - On : Boolean := True); - -- ALIAS(`wstandout()') - -- ALIAS(`wstandend()') - - -- ANCHOR(`wattron()',`Switch_Character_Attribute') - procedure Switch_Character_Attribute - (Win : in Window := Standard_Window; - Attr : in Character_Attribute_Set := Normal_Video; - On : in Boolean := True); -- if False we switch Off. - -- Switches those Attributes set to true in the list. - -- AKA - -- ALIAS(`wattroff()') - -- ALIAS(`attron()') - -- ALIAS(`attroff()') - - -- ANCHOR(`wattrset()',`Set_Character_Attributes') - procedure Set_Character_Attributes - (Win : in Window := Standard_Window; - Attr : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First); - -- AKA - -- ALIAS(`attrset()') - pragma Inline (Set_Character_Attributes); - - -- ANCHOR(`wattr_get()',`Get_Character_Attributes') - function Get_Character_Attribute - (Win : in Window := Standard_Window) return Character_Attribute_Set; - -- AKA - -- ALIAS(`attr_get()') - - -- ANCHOR(`wattr_get()',`Get_Character_Attribute') - function Get_Character_Attribute - (Win : in Window := Standard_Window) return Color_Pair; - -- AKA - pragma Inline (Get_Character_Attribute); - - -- ANCHOR(`wcolor_set()',`Set_Color') - procedure Set_Color (Win : in Window := Standard_Window; - Pair : in Color_Pair); - -- AKA - -- ALIAS(`color_set()') - pragma Inline (Set_Color); - - -- ANCHOR(`wchgat()',`Change_Attributes') - procedure Change_Attributes - (Win : in Window := Standard_Window; - Count : in Integer := -1; - Attr : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First); - -- AKA - -- ALIAS(`chgat()') - - -- ANCHOR(`mvwchgat()',`Change_Attributes') - procedure Change_Attributes - (Win : in Window := Standard_Window; - Line : in Line_Position := Line_Position'First; - Column : in Column_Position := Column_Position'First; - Count : in Integer := -1; - Attr : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First); - -- AKA - -- ALIAS(`mvchgat()') - pragma Inline (Change_Attributes); - - -- MANPAGE(`curs_beep.3x') - - -- ANCHOR(`beep()',`Beep') - procedure Beep; - -- AKA - pragma Inline (Beep); - - -- ANCHOR(`flash()',`Flash_Screen') - procedure Flash_Screen; - -- AKA - pragma Inline (Flash_Screen); - - -- MANPAGE(`curs_inopts.3x') - - -- | Not implemented : typeahead - -- - -- ANCHOR(`cbreak()',`Set_Cbreak_Mode') - procedure Set_Cbreak_Mode (SwitchOn : in Boolean := True); - -- AKA - -- ALIAS(`nocbreak()') - pragma Inline (Set_Cbreak_Mode); - - -- ANCHOR(`raw()',`Set_Raw_Mode') - procedure Set_Raw_Mode (SwitchOn : in Boolean := True); - -- AKA - -- ALIAS(`noraw()') - pragma Inline (Set_Raw_Mode); - - -- ANCHOR(`echo()',`Set_Echo_Mode') - procedure Set_Echo_Mode (SwitchOn : in Boolean := True); - -- AKA - -- ALIAS(`noecho()') - pragma Inline (Set_Echo_Mode); - - -- ANCHOR(`meta()',`Set_Meta_Mode') - procedure Set_Meta_Mode (Win : in Window := Standard_Window; - SwitchOn : in Boolean := True); - -- AKA - pragma Inline (Set_Meta_Mode); - - -- ANCHOR(`keypad()',`Set_KeyPad_Mode') - procedure Set_KeyPad_Mode (Win : in Window := Standard_Window; - SwitchOn : in Boolean := True); - -- AKA - pragma Inline (Set_KeyPad_Mode); - - function Get_KeyPad_Mode (Win : in Window := Standard_Window) - return Boolean; - -- This has no pendant in C. There you've to look into the WINDOWS - -- structure to get the value. Bad practice, not repeated in Ada. - - type Half_Delay_Amount is range 1 .. 255; - - -- ANCHOR(`halfdelay()',`Half_Delay') - procedure Half_Delay (Amount : in Half_Delay_Amount); - -- AKA - pragma Inline (Half_Delay); - - -- ANCHOR(`intrflush()',`Set_Flush_On_Interrupt_Mode') - procedure Set_Flush_On_Interrupt_Mode - (Win : in Window := Standard_Window; - Mode : in Boolean := True); - -- AKA - pragma Inline (Set_Flush_On_Interrupt_Mode); - - -- ANCHOR(`qiflush()',`Set_Queue_Interrupt_Mode') - procedure Set_Queue_Interrupt_Mode - (Win : in Window := Standard_Window; - Flush : in Boolean := True); - -- AKA - -- ALIAS(`noqiflush()') - pragma Inline (Set_Queue_Interrupt_Mode); - - -- ANCHOR(`nodelay()',`Set_NoDelay_Mode') - procedure Set_NoDelay_Mode - (Win : in Window := Standard_Window; - Mode : in Boolean := False); - -- AKA - pragma Inline (Set_NoDelay_Mode); - - type Timeout_Mode is (Blocking, Non_Blocking, Delayed); - - -- ANCHOR(`wtimeout()',`Set_Timeout_Mode') - procedure Set_Timeout_Mode (Win : in Window := Standard_Window; - Mode : in Timeout_Mode; - Amount : in Natural); -- in Milliseconds - -- AKA - -- ALIAS(`timeout()') - -- Instead of overloading the semantic of the sign of amount, we - -- introduce the Timeout_Mode parameter. This should improve - -- readability. For Blocking and Non_Blocking, the Amount is not - -- evaluated. - -- We don't inline this procedure. - - -- ANCHOR(`notimeout()',`Set_Escape_Time_Mode') - procedure Set_Escape_Timer_Mode - (Win : in Window := Standard_Window; - Timer_Off : in Boolean := False); - -- AKA - pragma Inline (Set_Escape_Timer_Mode); - - -- MANPAGE(`curs_outopts.3x') - - -- ANCHOR(`nl()',`Set_NL_Mode') - procedure Set_NL_Mode (SwitchOn : in Boolean := True); - -- AKA - -- ALIAS(`nonl()') - pragma Inline (Set_NL_Mode); - - -- ANCHOR(`clearok()',`Clear_On_Next_Update') - procedure Clear_On_Next_Update - (Win : in Window := Standard_Window; - Do_Clear : in Boolean := True); - -- AKA - pragma Inline (Clear_On_Next_Update); - - -- ANCHOR(`idlok()',`Use_Insert_Delete_Line') - procedure Use_Insert_Delete_Line - (Win : in Window := Standard_Window; - Do_Idl : in Boolean := True); - -- AKA - pragma Inline (Use_Insert_Delete_Line); - - -- ANCHOR(`idcok()',`Use_Insert_Delete_Character') - procedure Use_Insert_Delete_Character - (Win : in Window := Standard_Window; - Do_Idc : in Boolean := True); - -- AKA - pragma Inline (Use_Insert_Delete_Character); - - -- ANCHOR(`leaveok()',`Leave_Cursor_After_Update') - procedure Leave_Cursor_After_Update - (Win : in Window := Standard_Window; - Do_Leave : in Boolean := True); - -- AKA - pragma Inline (Leave_Cursor_After_Update); - - -- ANCHOR(`immedok()',`Immediate_Update_Mode') - procedure Immediate_Update_Mode - (Win : in Window := Standard_Window; - Mode : in Boolean := False); - -- AKA - pragma Inline (Immediate_Update_Mode); - - -- ANCHOR(`scrollok()',`Allow_Scrolling') - procedure Allow_Scrolling - (Win : in Window := Standard_Window; - Mode : in Boolean := False); - -- AKA - pragma Inline (Allow_Scrolling); - - function Scrolling_Allowed (Win : Window := Standard_Window) return Boolean; - -- There is no such function in the C interface. - pragma Inline (Scrolling_Allowed); - - -- ANCHOR(`wsetscrreg()',`Set_Scroll_Region') - procedure Set_Scroll_Region - (Win : in Window := Standard_Window; - Top_Line : in Line_Position; - Bottom_Line : in Line_Position); - -- AKA - -- ALIAS(`setscrreg()') - pragma Inline (Set_Scroll_Region); - - -- MANPAGE(`curs_refresh.3x') - - -- ANCHOR(`doupdate()',`Update_Screen') - procedure Update_Screen; - -- AKA - pragma Inline (Update_Screen); - - -- ANCHOR(`wrefresh()',`Refresh') - procedure Refresh (Win : in Window := Standard_Window); - -- AKA - -- There is an overloaded Refresh for Pads. - -- The Inline pragma appears there - -- ALIAS(`refresh()') - - -- ANCHOR(`wnoutrefresh()',`Refresh_Without_Update') - procedure Refresh_Without_Update - (Win : in Window := Standard_Window); - -- AKA - -- There is an overloaded Refresh_Without_Update for Pads. - -- The Inline pragma appears there - - -- ANCHOR(`redrawwin()',`Redraw') - procedure Redraw (Win : in Window := Standard_Window); - -- AKA - - -- ANCHOR(`wredrawln()',`Redraw') - procedure Redraw (Win : in Window := Standard_Window; - Begin_Line : in Line_Position; - Line_Count : in Positive); - -- AKA - pragma Inline (Redraw); - - -- MANPAGE(`curs_clear.3x') - - -- ANCHOR(`werase()',`Erase') - procedure Erase (Win : in Window := Standard_Window); - -- AKA - -- ALIAS(`erase()') - pragma Inline (Erase); - - -- ANCHOR(`wclear()',`Clear') - procedure Clear - (Win : in Window := Standard_Window); - -- AKA - -- ALIAS(`clear()') - pragma Inline (Clear); - - -- ANCHOR(`wclrtobot()',`Clear_To_End_Of_Screen') - procedure Clear_To_End_Of_Screen - (Win : in Window := Standard_Window); - -- AKA - -- ALIAS(`clrtobot()') - pragma Inline (Clear_To_End_Of_Screen); - - -- ANCHOR(`wclrtoeol()',`Clear_To_End_Of_Line') - procedure Clear_To_End_Of_Line - (Win : in Window := Standard_Window); - -- AKA - -- ALIAS(`clrtoeol()') - pragma Inline (Clear_To_End_Of_Line); - - -- MANPAGE(`curs_bkgd.3x') - - -- ANCHOR(`wbkgdset()',`Set_Background') - -- TODO: we could have Set_Background(Window; Character_Attribute_Set) - -- because in C it is common to see bkgdset(A_BOLD) or - -- bkgdset(COLOR_PAIR(n)) - procedure Set_Background - (Win : in Window := Standard_Window; - Ch : in Attributed_Character); - -- AKA - -- ALIAS(`bkgdset()') - pragma Inline (Set_Background); - - -- ANCHOR(`wbkgd()',`Change_Background') - procedure Change_Background - (Win : in Window := Standard_Window; - Ch : in Attributed_Character); - -- AKA - -- ALIAS(`bkgd()') - pragma Inline (Change_Background); - - -- ANCHOR(`wbkgdget()',`Get_Background') - -- ? wbkgdget is not listed in curs_bkgd, getbkgd is thpough. - function Get_Background (Win : Window := Standard_Window) - return Attributed_Character; - -- AKA - -- ALIAS(`bkgdget()') - pragma Inline (Get_Background); - - -- MANPAGE(`curs_touch.3x') - - -- ANCHOR(`untouchwin()',`Untouch') - procedure Untouch (Win : in Window := Standard_Window); - -- AKA - pragma Inline (Untouch); - - -- ANCHOR(`touchwin()',`Touch') - procedure Touch (Win : in Window := Standard_Window); - -- AKA - - -- ANCHOR(`touchline()',`Touch') - procedure Touch (Win : in Window := Standard_Window; - Start : in Line_Position; - Count : in Positive); - -- AKA - pragma Inline (Touch); - - -- ANCHOR(`wtouchln()',`Change_Line_Status') - procedure Change_Lines_Status (Win : in Window := Standard_Window; - Start : in Line_Position; - Count : in Positive; - State : in Boolean); - -- AKA - pragma Inline (Change_Lines_Status); - - -- ANCHOR(`is_linetouched()',`Is_Touched') - function Is_Touched (Win : Window := Standard_Window; - Line : Line_Position) return Boolean; - -- AKA - - -- ANCHOR(`is_wintouched()',`Is_Touched') - function Is_Touched (Win : Window := Standard_Window) return Boolean; - -- AKA - pragma Inline (Is_Touched); - - -- MANPAGE(`curs_overlay.3x') - - -- ANCHOR(`copywin()',`Copy') - procedure Copy - (Source_Window : in Window; - Destination_Window : in Window; - Source_Top_Row : in Line_Position; - Source_Left_Column : in Column_Position; - Destination_Top_Row : in Line_Position; - Destination_Left_Column : in Column_Position; - Destination_Bottom_Row : in Line_Position; - Destination_Right_Column : in Column_Position; - Non_Destructive_Mode : in Boolean := True); - -- AKA - pragma Inline (Copy); - - -- ANCHOR(`overwrite()',`Overwrite') - procedure Overwrite (Source_Window : in Window; - Destination_Window : in Window); - -- AKA - pragma Inline (Overwrite); - - -- ANCHOR(`overlay()',`Overlay') - procedure Overlay (Source_Window : in Window; - Destination_Window : in Window); - -- AKA - pragma Inline (Overlay); - - -- MANPAGE(`curs_deleteln.3x') - - -- ANCHOR(`winsdelln()',`Insert_Delete_Lines') - procedure Insert_Delete_Lines - (Win : in Window := Standard_Window; - Lines : in Integer := 1); -- default is to insert one line above - -- AKA - -- ALIAS(`insdelln()') - pragma Inline (Insert_Delete_Lines); - - -- ANCHOR(`wdeleteln()',`Delete_Line') - procedure Delete_Line (Win : in Window := Standard_Window); - -- AKA - -- ALIAS(`deleteln()') - pragma Inline (Delete_Line); - - -- ANCHOR(`winsertln()',`Insert_Line') - procedure Insert_Line (Win : in Window := Standard_Window); - -- AKA - -- ALIAS(`insertln()') - pragma Inline (Insert_Line); - - -- MANPAGE(`curs_getyx.3x') - - -- ANCHOR(`getmaxyx()',`Get_Size') - procedure Get_Size - (Win : in Window := Standard_Window; - Number_Of_Lines : out Line_Count; - Number_Of_Columns : out Column_Count); - -- AKA - pragma Inline (Get_Size); - - -- ANCHOR(`getbegyx()',`Get_Window_Position') - procedure Get_Window_Position - (Win : in Window := Standard_Window; - Top_Left_Line : out Line_Position; - Top_Left_Column : out Column_Position); - -- AKA - pragma Inline (Get_Window_Position); - - -- ANCHOR(`getyx()',`Get_Cursor_Position') - procedure Get_Cursor_Position - (Win : in Window := Standard_Window; - Line : out Line_Position; - Column : out Column_Position); - -- AKA - pragma Inline (Get_Cursor_Position); - - -- ANCHOR(`getparyx()',`Get_Origin_Relative_To_Parent') - procedure Get_Origin_Relative_To_Parent - (Win : in Window; - Top_Left_Line : out Line_Position; - Top_Left_Column : out Column_Position; - Is_Not_A_Subwindow : out Boolean); - -- AKA - -- Instead of placing -1 in the coordinates as return, we use a boolean - -- to return the info that the window has no parent. - pragma Inline (Get_Origin_Relative_To_Parent); - - -- MANPAGE(`curs_pad.3x') - - -- ANCHOR(`newpad()',`New_Pad') - function New_Pad (Lines : Line_Count; - Columns : Column_Count) return Window; - -- AKA - pragma Inline (New_Pad); - - -- ANCHOR(`subpad()',`Sub_Pad') - function Sub_Pad - (Pad : Window; - Number_Of_Lines : Line_Count; - Number_Of_Columns : Column_Count; - First_Line_Position : Line_Position; - First_Column_Position : Column_Position) return Window; - -- AKA - pragma Inline (Sub_Pad); - - -- ANCHOR(`prefresh()',`Refresh') - procedure Refresh - (Pad : in Window; - Source_Top_Row : in Line_Position; - Source_Left_Column : in Column_Position; - Destination_Top_Row : in Line_Position; - Destination_Left_Column : in Column_Position; - Destination_Bottom_Row : in Line_Position; - Destination_Right_Column : in Column_Position); - -- AKA - pragma Inline (Refresh); - - -- ANCHOR(`pnoutrefresh()',`Refresh_Without_Update') - procedure Refresh_Without_Update - (Pad : in Window; - Source_Top_Row : in Line_Position; - Source_Left_Column : in Column_Position; - Destination_Top_Row : in Line_Position; - Destination_Left_Column : in Column_Position; - Destination_Bottom_Row : in Line_Position; - Destination_Right_Column : in Column_Position); - -- AKA - pragma Inline (Refresh_Without_Update); - - -- ANCHOR(`pechochar()',`Add_Character_To_Pad_And_Echo_It') - procedure Add_Character_To_Pad_And_Echo_It - (Pad : in Window; - Ch : in Attributed_Character); - -- AKA - - procedure Add_Character_To_Pad_And_Echo_It - (Pad : in Window; - Ch : in Character); - pragma Inline (Add_Character_To_Pad_And_Echo_It); - - -- MANPAGE(`curs_scroll.3x') - - -- ANCHOR(`wscrl()',`Scroll') - procedure Scroll (Win : in Window := Standard_Window; - Amount : in Integer := 1); - -- AKA - -- ALIAS(`scroll()') - -- ALIAS(`scrl()') - pragma Inline (Scroll); - - -- MANPAGE(`curs_delch.3x') - - -- ANCHOR(`wdelch()',`Delete_Character') - procedure Delete_Character (Win : in Window := Standard_Window); - -- AKA - -- ALIAS(`delch()') - - -- ANCHOR(`mvwdelch()',`Delete_Character') - procedure Delete_Character - (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position); - -- AKA - -- ALIAS(`mvdelch()') - pragma Inline (Delete_Character); - - -- MANPAGE(`curs_inch.3x') - - -- ANCHOR(`winch()',`Peek') - function Peek (Win : Window := Standard_Window) - return Attributed_Character; - -- ALIAS(`inch()') - -- AKA - - -- ANCHOR(`mvwinch()',`Peek') - function Peek - (Win : Window := Standard_Window; - Line : Line_Position; - Column : Column_Position) return Attributed_Character; - -- AKA - -- ALIAS(`mvinch()') - -- More Peek's follow, pragma Inline appears later. - - -- MANPAGE(`curs_insch.3x') - - -- ANCHOR(`winsch()',`Insert') - procedure Insert (Win : in Window := Standard_Window; - Ch : in Attributed_Character); - -- AKA - -- ALIAS(`insch()') - - -- ANCHOR(`mvwinsch()',`Insert') - procedure Insert (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Ch : in Attributed_Character); - -- AKA - -- ALIAS(`mvinsch()') - - -- MANPAGE(`curs_insstr.3x') - - -- ANCHOR(`winsnstr()',`Insert') - procedure Insert (Win : in Window := Standard_Window; - Str : in String; - Len : in Integer := -1); - -- AKA - -- ALIAS(`winsstr()') - -- ALIAS(`insnstr()') - -- ALIAS(`insstr()') - - -- ANCHOR(`mvwinsnstr()',`Insert') - procedure Insert (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Str : in String; - Len : in Integer := -1); - -- AKA - -- ALIAS(`mvwinsstr()') - -- ALIAS(`mvinsnstr()') - -- ALIAS(`mvinsstr()') - pragma Inline (Insert); - - -- MANPAGE(`curs_instr.3x') - - -- ANCHOR(`winnstr()',`Peek') - procedure Peek (Win : in Window := Standard_Window; - Str : out String; - Len : in Integer := -1); - -- AKA - -- ALIAS(`winstr()') - -- ALIAS(`innstr()') - -- ALIAS(`instr()') - - -- ANCHOR(`mvwinnstr()',`Peek') - procedure Peek (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Str : out String; - Len : in Integer := -1); - -- AKA - -- ALIAS(`mvwinstr()') - -- ALIAS(`mvinnstr()') - -- ALIAS(`mvinstr()') - - -- MANPAGE(`curs_inchstr.3x') - - -- ANCHOR(`winchnstr()',`Peek') - procedure Peek (Win : in Window := Standard_Window; - Str : out Attributed_String; - Len : in Integer := -1); - -- AKA - -- ALIAS(`winchstr()') - -- ALIAS(`inchnstr()') - -- ALIAS(`inchstr()') - - -- ANCHOR(`mvwinchnstr()',`Peek') - procedure Peek (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Str : out Attributed_String; - Len : in Integer := -1); - -- AKA - -- ALIAS(`mvwinchstr()') - -- ALIAS(`mvinchnstr()') - -- ALIAS(`mvinchstr()') - -- We don't inline the Peek procedures - - -- MANPAGE(`curs_getstr.3x') - - -- ANCHOR(`wgetnstr()',`Get') - procedure Get (Win : in Window := Standard_Window; - Str : out String; - Len : in Integer := -1); - -- AKA - -- ALIAS(`wgetstr()') - -- ALIAS(`getnstr()') - -- ALIAS(`getstr()') - -- actually getstr is not supported because that results in buffer - -- overflows. - - -- ANCHOR(`mvwgetnstr()',`Get') - procedure Get (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Str : out String; - Len : in Integer := -1); - -- AKA - -- ALIAS(`mvwgetstr()') - -- ALIAS(`mvgetnstr()') - -- ALIAS(`mvgetstr()') - -- Get is not inlined - - -- MANPAGE(`curs_slk.3x') - - -- Not Implemented: slk_attr_on, slk_attr_off, slk_attr_set - - type Soft_Label_Key_Format is (Three_Two_Three, - Four_Four, - PC_Style, -- ncurses specific - PC_Style_With_Index); -- " - type Label_Number is new Positive range 1 .. 12; - type Label_Justification is (Left, Centered, Right); - - -- ANCHOR(`slk_init()',`Init_Soft_Label_Keys') - procedure Init_Soft_Label_Keys - (Format : in Soft_Label_Key_Format := Three_Two_Three); - -- AKA - pragma Inline (Init_Soft_Label_Keys); - - -- ANCHOR(`slk_set()',`Set_Soft_Label_Key') - procedure Set_Soft_Label_Key (Label : in Label_Number; - Text : in String; - Fmt : in Label_Justification := Left); - -- AKA - -- We don't inline this procedure - - -- ANCHOR(`slk_refresh()',`Refresh_Soft_Label_Key') - procedure Refresh_Soft_Label_Keys; - -- AKA - pragma Inline (Refresh_Soft_Label_Keys); - - -- ANCHOR(`slk_noutrefresh()',`Refresh_Soft_Label_Keys_Without_Update') - procedure Refresh_Soft_Label_Keys_Without_Update; - -- AKA - pragma Inline (Refresh_Soft_Label_Keys_Without_Update); - - -- ANCHOR(`slk_label()',`Get_Soft_Label_Key') - procedure Get_Soft_Label_Key (Label : in Label_Number; - Text : out String); - -- AKA - - -- ANCHOR(`slk_label()',`Get_Soft_Label_Key') - function Get_Soft_Label_Key (Label : in Label_Number) return String; - -- AKA - -- Same as function - pragma Inline (Get_Soft_Label_Key); - - -- ANCHOR(`slk_clear()',`Clear_Soft_Label_Keys') - procedure Clear_Soft_Label_Keys; - -- AKA - pragma Inline (Clear_Soft_Label_Keys); - - -- ANCHOR(`slk_restore()',`Restore_Soft_Label_Keys') - procedure Restore_Soft_Label_Keys; - -- AKA - pragma Inline (Restore_Soft_Label_Keys); - - -- ANCHOR(`slk_touch()',`Touch_Soft_Label_Keys') - procedure Touch_Soft_Label_Keys; - -- AKA - pragma Inline (Touch_Soft_Label_Keys); - - -- ANCHOR(`slk_attron()',`Switch_Soft_Label_Key_Attributes') - procedure Switch_Soft_Label_Key_Attributes - (Attr : in Character_Attribute_Set; - On : in Boolean := True); - -- AKA - -- ALIAS(`slk_attroff()') - pragma Inline (Switch_Soft_Label_Key_Attributes); - - -- ANCHOR(`slk_attrset()',`Set_Soft_Label_Key_Attributes') - procedure Set_Soft_Label_Key_Attributes - (Attr : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First); - -- AKA - pragma Inline (Set_Soft_Label_Key_Attributes); - - -- ANCHOR(`slk_attr()',`Get_Soft_Label_Key_Attributes') - function Get_Soft_Label_Key_Attributes return Character_Attribute_Set; - -- AKA - - -- ANCHOR(`slk_attr()',`Get_Soft_Label_Key_Attributes') - function Get_Soft_Label_Key_Attributes return Color_Pair; - -- AKA - pragma Inline (Get_Soft_Label_Key_Attributes); - - -- ANCHOR(`slk_color()',`Set_Soft_Label_Key_Color') - procedure Set_Soft_Label_Key_Color (Pair : in Color_Pair); - -- AKA - pragma Inline (Set_Soft_Label_Key_Color); - - -- MANPAGE(`keybound.3x') - -- Not Implemented: keybound - - -- MANPAGE(`keyok.3x') - - -- ANCHOR(`keyok()',`Enable_Key') - procedure Enable_Key (Key : in Special_Key_Code; - Enable : in Boolean := True); - -- AKA - pragma Inline (Enable_Key); - - -- MANPAGE(`define_key.3x') - - -- ANCHOR(`define_key()',`Define_Key') - procedure Define_Key (Definition : in String; - Key : in Special_Key_Code); - -- AKA - pragma Inline (Define_Key); - - -- MANPAGE(`curs_util.3x') - - -- | Not implemented : filter, use_env - -- | putwin, getwin are in the child package PutWin - -- - - -- ANCHOR(`keyname()',`Key_Name') - procedure Key_Name (Key : in Real_Key_Code; - Name : out String); - -- AKA - -- The external name for a real keystroke. - - -- ANCHOR(`keyname()',`Key_Name') - function Key_Name (Key : in Real_Key_Code) return String; - -- AKA - -- Same as function - -- We don't inline this routine - - -- ANCHOR(`unctrl()',`Un_Control') - procedure Un_Control (Ch : in Attributed_Character; - Str : out String); - -- AKA - - -- ANCHOR(`unctrl()',`Un_Control') - function Un_Control (Ch : in Attributed_Character) return String; - -- AKA - -- Same as function - pragma Inline (Un_Control); - - -- ANCHOR(`delay_output()',`Delay_Output') - procedure Delay_Output (Msecs : in Natural); - -- AKA - pragma Inline (Delay_Output); - - -- ANCHOR(`flushinp()',`Flush_Input') - procedure Flush_Input; - -- AKA - pragma Inline (Flush_Input); - - -- MANPAGE(`curs_termattrs.3x') - - -- ANCHOR(`baudrate()',`Baudrate') - function Baudrate return Natural; - -- AKA - pragma Inline (Baudrate); - - -- ANCHOR(`erasechar()',`Erase_Character') - function Erase_Character return Character; - -- AKA - pragma Inline (Erase_Character); - - -- ANCHOR(`killchar()',`Kill_Character') - function Kill_Character return Character; - -- AKA - pragma Inline (Kill_Character); - - -- ANCHOR(`has_ic()',`Has_Insert_Character') - function Has_Insert_Character return Boolean; - -- AKA - pragma Inline (Has_Insert_Character); - - -- ANCHOR(`has_il()',`Has_Insert_Line') - function Has_Insert_Line return Boolean; - -- AKA - pragma Inline (Has_Insert_Line); - - -- ANCHOR(`termattrs()',`Supported_Attributes') - function Supported_Attributes return Character_Attribute_Set; - -- AKA - pragma Inline (Supported_Attributes); - - -- ANCHOR(`longname()',`Long_Name') - procedure Long_Name (Name : out String); - -- AKA - - -- ANCHOR(`longname()',`Long_Name') - function Long_Name return String; - -- AKA - -- Same as function - pragma Inline (Long_Name); - - -- ANCHOR(`termname()',`Terminal_Name') - procedure Terminal_Name (Name : out String); - -- AKA - - -- ANCHOR(`termname()',`Terminal_Name') - function Terminal_Name return String; - -- AKA - -- Same as function - pragma Inline (Terminal_Name); - - -- MANPAGE(`curs_color.3x') - - -- COLOR_PAIR - -- COLOR_PAIR(n) in C is the same as - -- Attributed_Character(Ch => Nul, Color => n, Attr => Normal_Video) - -- In C you often see something like c = c | COLOR_PAIR(n); - -- This is equivalent to c.Color := n; - - -- ANCHOR(`start_color()',`Start_Color') - procedure Start_Color; - -- AKA - pragma Import (C, Start_Color, "start_color"); - - -- ANCHOR(`init_pair()',`Init_Pair') - procedure Init_Pair (Pair : in Redefinable_Color_Pair; - Fore : in Color_Number; - Back : in Color_Number); - -- AKA - pragma Inline (Init_Pair); - - -- ANCHOR(`pair_content()',`Pair_Content') - procedure Pair_Content (Pair : in Color_Pair; - Fore : out Color_Number; - Back : out Color_Number); - -- AKA - pragma Inline (Pair_Content); - - -- ANCHOR(`has_colors()',`Has_Colors') - function Has_Colors return Boolean; - -- AKA - pragma Inline (Has_Colors); - - -- ANCHOR(`init_color()',`Init_Color') - procedure Init_Color (Color : in Color_Number; - Red : in RGB_Value; - Green : in RGB_Value; - Blue : in RGB_Value); - -- AKA - pragma Inline (Init_Color); - - -- ANCHOR(`can_change_color()',`Can_Change_Color') - function Can_Change_Color return Boolean; - -- AKA - pragma Inline (Can_Change_Color); - - -- ANCHOR(`color_content()',`Color_Content') - procedure Color_Content (Color : in Color_Number; - Red : out RGB_Value; - Green : out RGB_Value; - Blue : out RGB_Value); - -- AKA - pragma Inline (Color_Content); - - -- MANPAGE(`curs_kernel.3x') - -- | Not implemented: getsyx, setsyx - -- - type Curses_Mode is (Curses, Shell); - - -- ANCHOR(`def_prog_mode()',`Save_Curses_Mode') - procedure Save_Curses_Mode (Mode : in Curses_Mode); - -- AKA - -- ALIAS(`def_shell_mode()') - pragma Inline (Save_Curses_Mode); - - -- ANCHOR(`reset_prog_mode()',`Reset_Curses_Mode') - procedure Reset_Curses_Mode (Mode : in Curses_Mode); - -- AKA - -- ALIAS(`reset_shell_mode()') - pragma Inline (Reset_Curses_Mode); - - -- ANCHOR(`savetty()',`Save_Terminal_State') - procedure Save_Terminal_State; - -- AKA - pragma Inline (Save_Terminal_State); - - -- ANCHOR(`resetty();',`Reset_Terminal_State') - procedure Reset_Terminal_State; - -- AKA - pragma Inline (Reset_Terminal_State); - - type Stdscr_Init_Proc is access - function (Win : Window; - Columns : Column_Count) return Integer; - pragma Convention (C, Stdscr_Init_Proc); - -- N.B.: the return value is actually ignored, but it seems to be - -- a good practice to return 0 if you think all went fine - -- and -1 otherwise. - - -- ANCHOR(`ripoffline()',`Rip_Off_Lines') - procedure Rip_Off_Lines (Lines : in Integer; - Proc : in Stdscr_Init_Proc); - -- AKA - -- N.B.: to be more precise, this uses a ncurses specific enhancement of - -- ripoffline(), in which the Lines argument absolute value is the - -- number of lines to be ripped of. The official ripoffline() only - -- uses the sign of Lines to rip of a single line from bottom or top. - pragma Inline (Rip_Off_Lines); - - type Cursor_Visibility is (Invisible, Normal, Very_Visible); - - -- ANCHOR(`curs_set()',`Set_Cursor_Visibility') - procedure Set_Cursor_Visibility (Visibility : in out Cursor_Visibility); - -- AKA - pragma Inline (Set_Cursor_Visibility); - - -- ANCHOR(`napms()',`Nap_Milli_Seconds') - procedure Nap_Milli_Seconds (Ms : in Natural); - -- AKA - pragma Inline (Nap_Milli_Seconds); - - -- |===================================================================== - -- | Some useful helpers. - -- |===================================================================== - type Transform_Direction is (From_Screen, To_Screen); - procedure Transform_Coordinates - (W : in Window := Standard_Window; - Line : in out Line_Position; - Column : in out Column_Position; - Dir : in Transform_Direction := From_Screen); - -- This procedure transforms screen coordinates into coordinates relative - -- to the window and vice versa, depending on the Dir parameter. - -- Screen coordinates are the position informations on the physical device. - -- An Curses_Exception will be raised if Line and Column are not in the - -- Window or if you pass the Null_Window as argument. - -- We don't inline this procedure - - -- MANPAGE(`dft_fgbg.3x') - - -- ANCHOR(`use_default_colors()',`Use_Default_Colors') - procedure Use_Default_Colors; - -- AKA - pragma Inline (Use_Default_Colors); - - -- ANCHOR(`assume_default_colors()',`Assume_Default_Colors') - procedure Assume_Default_Colors (Fore : Color_Number := Default_Color; - Back : Color_Number := Default_Color); - -- AKA - pragma Inline (Assume_Default_Colors); - - -- MANPAGE(`curs_extend.3x') - - -- ANCHOR(`curses_version()',`Curses_Version') - function Curses_Version return String; - -- AKA - - -- ANCHOR(`use_extended_names()',`Use_Extended_Names') - -- The returnvalue is the previous setting of the flag - function Use_Extended_Names (Enable : Boolean) return Boolean; - -- AKA - - -- MANPAGE(`curs_scr_dump.3x') - - -- ANCHOR(`scr_dump()',`Screen_Dump_To_File') - procedure Screen_Dump_To_File (Filename : in String); - -- AKA - - -- ANCHOR(`scr_restore()',`Screen_Restore_From_File') - procedure Screen_Restore_From_File (Filename : in String); - -- AKA - - -- ANCHOR(`scr_init()',`Screen_Init_From_File') - procedure Screen_Init_From_File (Filename : in String); - -- AKA - - -- ANCHOR(`scr_set()',`Screen_Set_File') - procedure Screen_Set_File (Filename : in String); - -- AKA - - -- MANPAGE(`curs_print.3x') - -- Not implemented: mcprint - - -- MANPAGE(`curs_printw.3x') - -- Not implemented: printw, wprintw, mvprintw, mvwprintw, vwprintw, - -- vw_printw - -- Please use the Ada style Text_IO child packages for formatted - -- printing. It doesn't make a lot of sense to map the printf style - -- C functions to Ada. - - -- MANPAGE(`curs_scanw.3x') - -- Not implemented: scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw - - - -- MANPAGE(`resizeterm.3x') - -- Not Implemented: resizeterm - - -- MANPAGE(`wresize.3x') - - -- ANCHOR(`wresize()',`Resize') - procedure Resize (Win : Window := Standard_Window; - Number_Of_Lines : Line_Count; - Number_Of_Columns : Column_Count); - -- AKA - -private - type Window is new System.Storage_Elements.Integer_Address; - Null_Window : constant Window := 0; - - -- The next constants are generated and may be different on your - -- architecture. - -- -include(`Window_Offsets')dnl - Curses_Bool_False : constant Curses_Bool := 0; - -end Terminal_Interface.Curses; diff --git a/src/libs/ncurses/Ada95/samples/Makefile.in b/src/libs/ncurses/Ada95/samples/Makefile.in deleted file mode 100644 index e88c119bc3..0000000000 --- a/src/libs/ncurses/Ada95/samples/Makefile.in +++ /dev/null @@ -1,150 +0,0 @@ -############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Juergen Pfeifer, 1996 -# -# $Id: Makefile.in,v 1.33 2005/05/28 16:11:01 tom Exp $ -# -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -x = @PROG_EXT@ - -srcdir = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ -libdir = @libdir@ -includedir = @includedir@ - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ - -AWK = @AWK@ -LN_S = @LN_S@ - -CC = @CC@ -CFLAGS = @CFLAGS@ - -CPPFLAGS = @ACPPFLAGS@ \ - -DHAVE_CONFIG_H -I$(srcdir) - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) - -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ - -CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) - -LINK = $(CC) -LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ - -RANLIB = @RANLIB@ -################################################################################ -ada_srcdir=../src - -LD_FLAGS = @LD_MODEL@ $(LOCAL_LIBS) @LDFLAGS@ @LIBS@ @LOCAL_LDFLAGS2@ $(LDFLAGS) - -ADA = @cf_ada_compiler@ -ADAFLAGS = @ADAFLAGS@ -I$(srcdir) - -ADAMAKE = @cf_ada_make@ -ADAMAKEFLAGS = -a -A$(srcdir) -A$(ada_srcdir) -A$(srcdir)/$(ada_srcdir) - -ALIB = @cf_ada_package@ -ABASE = $(ALIB)-curses - -CARGS =-cargs $(ADAFLAGS) -LARGS =-largs @TEST_ARG2@ $(LD_FLAGS) -lAdaCurses - -PROGS = tour rain ncurses - -TOUR_OBJS = tour.o sample.o sample-curses_demo.o sample-explanation.o \ - sample-form_demo.o sample-function_key_setting.o \ - sample-header_handler.o sample-helpers.o \ - sample-keyboard_handler.o sample-manifest.o sample-menu_demo.o \ - sample-menu_demo-aux.o sample-text_io_demo.o \ - sample-curses_demo-attributes.o sample-curses_demo-mouse.o \ - sample-form_demo-aux.o sample-my_field_type.o - -RAIN_OBJS = rain.o status.o - -NCURSES_OBJS = ncurses.o ncurses2-getch_test.o \ - ncurses2-acs_and_scroll.o ncurses2-m.o \ - ncurses2-acs_display.o ncurses2-menu_test.o \ - ncurses2-attr_test.o ncurses2-overlap_test.o \ - ncurses2-color_edit.o ncurses2-slk_test.o \ - ncurses2-color_test.o ncurses2-test_sgr_attributes.o \ - ncurses2-demo_forms.o ncurses2-trace_set.o \ - ncurses2-demo_pad.o ncurses2-util.o \ - ncurses2-demo_panels.o ncurses2.o \ - ncurses2-flushinp_test.o - - -all :: tour$x rain$x ncurses$x - @echo made $@ - -sources : - @echo made $@ - -libs \ -install \ -install.libs :: - @echo made $@ - -uninstall \ -uninstall.libs :: - @echo made $@ - -ncurses$x : - $(ADAMAKE) $(ADAMAKEFLAGS) ncurses $(CARGS) $(LARGS) - -tour$x : explain.msg - $(ADAMAKE) $(ADAMAKEFLAGS) tour $(CARGS) $(LARGS) - -explain.msg: $(srcdir)/explain.txt - cp $(srcdir)/explain.txt $@ - -rain$x : - $(ADAMAKE) $(ADAMAKEFLAGS) rain $(CARGS) $(LARGS) - -mostlyclean: - @echo made $@ - -clean :: mostlyclean - rm -f *.o *.ali b_t*.* *.s $(PROGS) a.out core b_*_test.c *.xr[bs] \ - explain.msg trace screendump - -distclean :: clean - rm -f Makefile - -realclean :: distclean - @echo made $@ diff --git a/src/libs/ncurses/Ada95/samples/README b/src/libs/ncurses/Ada95/samples/README deleted file mode 100644 index 6ea8a18ec6..0000000000 --- a/src/libs/ncurses/Ada95/samples/README +++ /dev/null @@ -1,6 +0,0 @@ -The intention of the demo at this point in time is not to demonstrate all -the features of (n)curses and it's subsystems, but to give some sample -sources how to use the binding at all. - -Ideally in the future we can combine both goals. - diff --git a/src/libs/ncurses/Ada95/samples/explain.txt b/src/libs/ncurses/Ada95/samples/explain.txt deleted file mode 100644 index 570f617bf9..0000000000 --- a/src/libs/ncurses/Ada95/samples/explain.txt +++ /dev/null @@ -1,186 +0,0 @@ -#VERSION -This is Version 00.90.00 of the demo package. -#MENUKEYS -In a menu you can use the following Keys in the whole application: - - - CTRL-X eXit the menu - - CTRL-N Go to next item - - CTRL-P Go to previous item - - CTRL-U Scroll up one line - - CTRL-D Scroll down one line - - CTRL-F Scroll down one page - - PAGE DOWN Scroll down one page - - PAGE UP Scroll back one page - - CTRL-B Scroll back one page - - CTRL-Y Clear pattern - - CTRL-H Delete last character from pattern - - Backspace Delete last character from pattern - - CTRL-A Next pattern match - - CTRL-E Previous pattern match - - CTRL-T Toggle item in a multi-selection menu - - CR or LF Select an item - - HOME Key Go to the first item - - F3 Quit the menu - - Cursor Down Down one item - - Cursor Up Up one item - - Cursor Left Left one item - - Cursor Right Right one item - - END Key Go to last item -#FORMKEYS - - CTRL-X eXit the form - - CTRL-F Go forward to the next field - - CTRL-B Go backward to the previous field - - CTRL-L Go to the field left of the current one - - CTRL-R Go to the field right of the current one - - CTRL-U Go to the field above the current one - - CTRL-D Go to the field below the current one - - - CTRL-W Go to the next word in the field - - CTRL-T Go to the previous word in the field - - - CTRL-A Go to the beginning of the field - - CTRL-E Go to the end of the field - - - CTRL-I Insert a blank character at the current position - - CTRL-O Insert a line - - CTRL-V Delete a character - - CTRL-H Delete previous character - - CTRL-Y Delete a line - - CTRL-G Delete a word - - CTRL-K Clear to end of field - - - CTRL-N Next choice in a choice field (Enumerations etc.) - - CTRL-P Previous choice in a choice field. -#HELP -#HELPKEYS -You may scroll with the Cursor Up/Down Keys. -You may leave the help with the Function Key labelled 'Quit'. -#INHELP -You are already in the help system. -You may leave the help with the Function Key labelled 'Quit'. -#MAIN -This is the main menu of the sample program for the ncurses Ada95 -binding. The main intention of the demo is not to demonstate or -test all the features of ncurses and it's subsystems, but to provide -to you some sample code how to use the binding with Ada95. - -You may select this options: - - * Look at some ncurses core functions - * Look at some features of the menu subsystem - * Look at some features of the form subsystem - * Look at the output of the Ada.Text_IO like functions - for ncurses. - -#MAINPAD -You may press at any place in this demo CTRL-C. This will give you a command -window. You can just type in the Label-String of a function key, then this -key will be simulated. This should help you to run the application even if -you run it on a terminal with no or only a few function keys. With CTRL-N -and CTRL-P you may browse through the possible values in the command window. -#MENU00 -Here we give you a selection of various menu demonstrations. -#MENU-PAD00 -This menu itself is a demo for a single valued, 1-column menu with -descriptions for the items, a marker and a padding character between -the item name and the description. -#MENU01 -This is a demo of the some of the menu layout options. One of them -is the spacing functionality. Just press the Key labelled "Flip" to -flip between the non-spaced and a spaced version of the menu. Please -note that this functionality is unique for ncurses and is not found -in the SVr4 menu implementation. - -This is a menu that sometimes doesn't fit into it's window and -therefore it becomes a scroll menu. - -You can also see here very nicely the pattern matching functionality -of menus. Type for example a 'J' and you will be positioned to the -next item after the current starting with a 'J'. Any more characters -you type in make the pattern more specific. With CTRL-A and CTRL-Z -(for more details press the Key labelled "Keys") you can browse -through all the items matching the pattern. - -You may change the format of the menu. Just press one of the keys -labelled "4x1", "4x2" or "4x3" to get a menu with that many rows -and columns. - -With the Keys "O-Row" or "O-Col" (they occupy the same label and -switch on selection) you can change the major order scheme for -the menu. If "O-Col" is visible, the menu is currently major -ordered by rows, you can switch to major column order by pressing -the key. If "O-Row" is visible, it's just the reverse situation. -This Key is not visible in "4x1" layout mode, because in this case -the functionality makes no sense. - -With the Keys "Multi" or "Singl" (they occupy the same label and -switch on selection) you can change whether or not the menu allows -multiple or only single selection. - -With the Keys "+Desc" or "-Desc" (they occupy the same label and -switch on selection) you can change whether or not the descriptions -for each item should be displayed. Please not that this key is -not visible in the "4x3" layout mode, because in this case the -menu wouldn't fit on a typicall 80x24 screen. - -With the Keys "Disab" or "Enab" (they occupy the same label and -switch on selection) you can dis- or enable the selectability of -the month with 31 days. -#MENU-PAD01 -You may press "Flip" to see the effect of ncurses unique menu-spacing. -The Keys "4x1", "4x2" and "4x3" will change the format of the menu. -Please note that this is a scrolling menu. You may also play with the -pattern matching functionality or try to change the format of the menu. -For more details press the Key labelled "Help". -#FORM00 -This is a demo of the forms package. -#FORM-PAD00 -Please note that this demo is far from being complete. It really shows -only a small part of the functionality of the forms package. Let's hope -the next version will have a richer demo (You wan't to contribute ?). -#NOTIMPL -Sorry this functionality of the demo is not implemented at the moment. -Remember this is a freeware project, so I can use only my very rare -free time to continue coding. If you would like to contribute, you -are very welcome ! -#CURSES00 -This is a menu where you can select some different demos of the ncurses -functionality. -#CURSES-PAD00 -Please note that this demo is far from being complete. It really shows -only a small part of the functionality of the curses package. Let's hope -the next version will have a richer demo (You wan't to contribute ?). -#MOUSEKEYS -In this demo you may use this keys: - - - Key labelled "Help" to get a help - - Key labelled "Keys" is what you are reading now - - Key labelled "Quit" to leave the demo - -You may click the mouse buttons at any location at the screen and look -at the protocol window ! -#MOUSE00 -A rather simple use of a mouse as demo. It's there just to test the -code and to provide the sample source. - -It might be of interest, that the output into the protocol window is -done by the (n)curses Text_IO subpackages. Especially the output of -the button and state names is done by Ads's enumeration IO, which -allows you to print the names of enumeration literals. That's really -nice. -#MOUSE-PAD00 -This is a very simple demo of the mouse features of ncurses. It's there -just to test whether or not the generated code for the binding really -works on the different architectures (seems so). -#ATTRIBDEMO -Again this is a more than simple demo and just here to give you the -sourcecode. -#ATTRIBKEYS -You may press one of the three well known standard keys of this demo. -#ATTRIB-PAD00 -Again this is a more than simple demo and just here to give you the -sourcecode. Feel free to contribute more. -#TEXTIO -#TEXTIOKEYS -#TEXTIO-PAD00 -#END diff --git a/src/libs/ncurses/Ada95/samples/ncurses.adb b/src/libs/ncurses/Ada95/samples/ncurses.adb deleted file mode 100644 index 19f658d563..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses.adb +++ /dev/null @@ -1,47 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with ncurses2.m; use ncurses2.m; -with GNAT.OS_Lib; use GNAT.OS_Lib; - -procedure ncurses is -begin - OS_Exit (main); -end ncurses; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-acs_and_scroll.adb b/src/libs/ncurses/Ada95/samples/ncurses2-acs_and_scroll.adb deleted file mode 100644 index 66384cae08..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-acs_and_scroll.adb +++ /dev/null @@ -1,723 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.6 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- --- Windows and scrolling tester. --- Demonstrate windows - -with Ada.Strings.Fixed; -with Ada.Strings; - -with ncurses2.util; use ncurses2.util; -with ncurses2.genericPuts; -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Mouse; use Terminal_Interface.Curses.Mouse; -with Terminal_Interface.Curses.PutWin; use Terminal_Interface.Curses.PutWin; - -with Ada.Streams.Stream_IO; use Ada.Streams.Stream_IO; -with Ada.Streams; use Ada.Streams; - -procedure ncurses2.acs_and_scroll is - - - Macro_Quit : constant Key_Code := Character'Pos ('Q') mod 16#20#; - Macro_Escape : constant Key_Code := Character'Pos ('[') mod 16#20#; - - Quit : constant Key_Code := CTRL ('Q'); - Escape : constant Key_Code := CTRL ('['); - - - Botlines : constant Line_Position := 4; - - type pair is record - y : Line_Position; - x : Column_Position; - end record; - - type Frame; - type FrameA is access Frame; - - f : File_Type; - dumpfile : constant String := "screendump"; - - procedure Outerbox (ul, lr : pair; onoff : Boolean); - function HaveKeyPad (w : Window) return Boolean; - function HaveScroll (w : Window) return Boolean; - procedure newwin_legend (curpw : Window); - procedure transient (curpw : Window; msg : String); - procedure newwin_report (win : Window := Standard_Window); - procedure selectcell (uli : Line_Position; - ulj : Column_Position; - lri : Line_Position; - lrj : Column_Position; - p : out pair; - b : out Boolean); - function getwindow return Window; - procedure newwin_move (win : Window; - dy : Line_Position; - dx : Column_Position); - function delete_framed (fp : FrameA; showit : Boolean) return FrameA; - - use Ada.Streams.Stream_IO; - - - -- A linked list - -- I wish there was a standard library linked list. Oh well. - type Frame is record - next, last : FrameA; - do_scroll : Boolean; - do_keypad : Boolean; - wind : Window; - end record; - - current : FrameA; - - c : Key_Code; - - procedure Outerbox (ul, lr : pair; onoff : Boolean) is - begin - if onoff then - -- Note the fix of an obscure bug - -- try making a 1x1 box then enlarging it, the is a blank - -- upper left corner! - Add (Line => ul.y - 1, Column => ul.x - 1, - Ch => ACS_Map (ACS_Upper_Left_Corner)); - Add (Line => ul.y - 1, Column => lr.x + 1, - Ch => ACS_Map (ACS_Upper_Right_Corner)); - Add (Line => lr.y + 1, Column => lr.x + 1, - Ch => ACS_Map (ACS_Lower_Right_Corner)); - Add (Line => lr.y + 1, Column => ul.x - 1, - Ch => ACS_Map (ACS_Lower_Left_Corner)); - - Move_Cursor (Line => ul.y - 1, Column => ul.x); - Horizontal_Line (Line_Symbol => ACS_Map (ACS_Horizontal_Line), - Line_Size => Integer (lr.x - ul.x) + 1); - Move_Cursor (Line => ul.y, Column => ul.x - 1); - Vertical_Line (Line_Symbol => ACS_Map (ACS_Vertical_Line), - Line_Size => Integer (lr.y - ul.y) + 1); - Move_Cursor (Line => lr.y + 1, Column => ul.x); - Horizontal_Line (Line_Symbol => ACS_Map (ACS_Horizontal_Line), - Line_Size => Integer (lr.x - ul.x) + 1); - Move_Cursor (Line => ul.y, Column => lr.x + 1); - Vertical_Line (Line_Symbol => ACS_Map (ACS_Vertical_Line), - Line_Size => Integer (lr.y - ul.y) + 1); - else - Add (Line => ul.y - 1, Column => ul.x - 1, Ch => ' '); - Add (Line => ul.y - 1, Column => lr.x + 1, Ch => ' '); - Add (Line => lr.y + 1, Column => lr.x + 1, Ch => ' '); - Add (Line => lr.y + 1, Column => ul.x - 1, Ch => ' '); - - Move_Cursor (Line => ul.y - 1, Column => ul.x); - Horizontal_Line (Line_Symbol => Blank2, - Line_Size => Integer (lr.x - ul.x) + 1); - Move_Cursor (Line => ul.y, Column => ul.x - 1); - Vertical_Line (Line_Symbol => Blank2, - Line_Size => Integer (lr.y - ul.y) + 1); - Move_Cursor (Line => lr.y + 1, Column => ul.x); - Horizontal_Line (Line_Symbol => Blank2, - Line_Size => Integer (lr.x - ul.x) + 1); - Move_Cursor (Line => ul.y, Column => lr.x + 1); - Vertical_Line (Line_Symbol => Blank2, - Line_Size => Integer (lr.y - ul.y) + 1); - end if; - end Outerbox; - - function HaveKeyPad (w : Window) return Boolean is - begin - return Get_KeyPad_Mode (w); - exception - when Curses_Exception => return False; - end HaveKeyPad; - - function HaveScroll (w : Window) return Boolean is - begin - return Scrolling_Allowed (w); - exception - when Curses_Exception => return False; - end HaveScroll; - - - procedure newwin_legend (curpw : Window) is - - package p is new genericPuts (200); - use p; - use p.BS; - - type string_a is access String; - - type rrr is record - msg : string_a; - code : Integer range 0 .. 3; - end record; - - legend : constant array (Positive range <>) of rrr := - ( - ( - new String'("^C = create window"), 0 - ), - ( - new String'("^N = next window"), 0 - ), - ( - new String'("^P = previous window"), 0 - ), - ( - new String'("^F = scroll forward"), 0 - ), - ( - new String'("^B = scroll backward"), 0 - ), - ( - new String'("^K = keypad(%s)"), 1 - ), - ( - new String'("^S = scrollok(%s)"), 2 - ), - ( - new String'("^W = save window to file"), 0 - ), - ( - new String'("^R = restore window"), 0 - ), - ( - new String'("^X = resize"), 0 - ), - ( - new String'("^Q%s = exit"), 3 - ) - ); - - buf : Bounded_String; - do_keypad : constant Boolean := HaveKeyPad (curpw); - do_scroll : constant Boolean := HaveScroll (curpw); - - pos : Natural; - - mypair : pair; - - use Ada.Strings.Fixed; - - begin - Move_Cursor (Line => Lines - 4, Column => 0); - for n in legend'Range loop - pos := Ada.Strings.Fixed.Index (Source => legend (n).msg.all, - Pattern => "%s"); - -- buf := (others => ' '); - buf := To_Bounded_String (legend (n).msg.all); - case legend (n).code is - when 0 => null; - when 1 => - if do_keypad then - Replace_Slice (buf, pos, pos + 1, "yes"); - else - Replace_Slice (buf, pos, pos + 1, "no"); - end if; - when 2 => - if do_scroll then - Replace_Slice (buf, pos, pos + 1, "yes"); - else - Replace_Slice (buf, pos, pos + 1, "no"); - end if; - when 3 => - if do_keypad then - Replace_Slice (buf, pos, pos + 1, "/ESC"); - else - Replace_Slice (buf, pos, pos + 1, ""); - end if; - end case; - Get_Cursor_Position (Line => mypair.y, Column => mypair.x); - if Columns < mypair.x + 3 + Column_Position (Length (buf)) then - Add (Ch => newl); - elsif n /= 1 then -- n /= legen'First - Add (Str => ", "); - end if; - myAdd (Str => buf); - end loop; - Clear_To_End_Of_Line; - end newwin_legend; - - - procedure transient (curpw : Window; msg : String) is - begin - newwin_legend (curpw); - if msg /= "" then - Add (Line => Lines - 1, Column => 0, Str => msg); - Refresh; - Nap_Milli_Seconds (1000); - end if; - - Move_Cursor (Line => Lines - 1, Column => 0); - - if HaveKeyPad (curpw) then - Add (Str => "Non-arrow"); - else - Add (Str => "All other"); - end if; - Add (str => " characters are echoed, window should "); - if not HaveScroll (curpw) then - Add (Str => "not "); - end if; - Add (str => "scroll"); - - Clear_To_End_Of_Line; - end transient; - - - procedure newwin_report (win : Window := Standard_Window) is - y : Line_Position; - x : Column_Position; - use Int_IO; - tmp2a : String (1 .. 2); - tmp2b : String (1 .. 2); - begin - if win /= Standard_Window then - transient (win, ""); - end if; - Get_Cursor_Position (win, y, x); - Move_Cursor (Line => Lines - 1, Column => Columns - 17); - Put (tmp2a, Integer (y)); - Put (tmp2b, Integer (x)); - Add (Str => "Y = " & tmp2a & " X = " & tmp2b); - if win /= Standard_Window then - Refresh; - else - Move_Cursor (win, y, x); - end if; - end newwin_report; - - procedure selectcell (uli : Line_Position; - ulj : Column_Position; - lri : Line_Position; - lrj : Column_Position; - p : out pair; - b : out Boolean) is - c : Key_Code; - res : pair; - i : Line_Position := 0; - j : Column_Position := 0; - si : constant Line_Position := lri - uli + 1; - sj : constant Column_Position := lrj - ulj + 1; - begin - res.y := uli; - res.x := ulj; - loop - Move_Cursor (Line => uli + i, Column => ulj + j); - newwin_report; - - c := Getchar; - case c is - when - Macro_Quit | - Macro_Escape => - -- on the same line macro calls interfere due to the # comment - -- this is needed because keypad off affects all windows. - -- try removing the ESCAPE and see what happens. - b := False; - return; - when KEY_UP => - i := i + si - 1; - -- same as i := i - 1 because of Modulus arithetic, - -- on Line_Position, which is a Natural - -- the C version uses this form too, interestingly. - when KEY_DOWN => - i := i + 1; - when KEY_LEFT => - j := j + sj - 1; - when KEY_RIGHT => - j := j + 1; - when Key_Mouse => - declare - event : Mouse_Event; - y : Line_Position; - x : Column_Position; - Button : Mouse_Button; - State : Button_State; - - begin - event := Get_Mouse; - Get_Event (Event => event, - Y => y, - X => x, - Button => Button, - State => State); - if y > uli and x > ulj then - i := y - uli; - j := x - ulj; - -- same as when others => - res.y := uli + i; - res.x := ulj + j; - p := res; - b := True; - return; - else - Beep; - end if; - end; - when others => - res.y := uli + i; - res.x := ulj + j; - p := res; - b := True; - return; - end case; - i := i mod si; - j := j mod sj; - end loop; - end selectcell; - - - function getwindow return Window is - rwindow : Window; - ul, lr : pair; - result : Boolean; - begin - Move_Cursor (Line => 0, Column => 0); - Clear_To_End_Of_Line; - Add (Str => "Use arrows to move cursor, anything else to mark corner 1"); - Refresh; - selectcell (2, 1, Lines - Botlines - 2, Columns - 2, ul, result); - if not result then - return Null_Window; - end if; - Add (Line => ul.y - 1, Column => ul.x - 1, - Ch => ACS_Map (ACS_Upper_Left_Corner)); - Move_Cursor (Line => 0, Column => 0); - Clear_To_End_Of_Line; - Add (Str => "Use arrows to move cursor, anything else to mark corner 2"); - Refresh; - selectcell (ul.y, ul.x, Lines - Botlines - 2, Columns - 2, lr, result); - if not result then - return Null_Window; - end if; - - rwindow := Sub_Window (Number_Of_Lines => lr.y - ul.y + 1, - Number_Of_Columns => lr.x - ul.x + 1, - First_Line_Position => ul.y, - First_Column_Position => ul.x); - - Outerbox (ul, lr, True); - Refresh; - - Refresh (rwindow); - - Move_Cursor (Line => 0, Column => 0); - Clear_To_End_Of_Line; - return rwindow; - end getwindow; - - - procedure newwin_move (win : Window; - dy : Line_Position; - dx : Column_Position) is - cur_y, max_y : Line_Position; - cur_x, max_x : Column_Position; - begin - Get_Cursor_Position (win, cur_y, cur_x); - Get_Size (win, max_y, max_x); - cur_x := Column_Position'Min (Column_Position'Max (cur_x + dx, 0), - max_x - 1); - cur_y := Line_Position'Min (Line_Position'Max (cur_y + dy, 0), - max_y - 1); - - Move_Cursor (win, Line => cur_y, Column => cur_x); - end newwin_move; - - function delete_framed (fp : FrameA; showit : Boolean) return FrameA is - np : FrameA; - begin - fp.last.next := fp.next; - fp.next.last := fp.last; - - if showit then - Erase (fp.wind); - Refresh (fp.wind); - end if; - Delete (fp.wind); - - if fp = fp.next then - np := null; - else - np := fp.next; - end if; - -- TODO free(fp); - return np; - end delete_framed; - - Mask : Event_Mask := No_Events; - Mask2 : Event_Mask; - - usescr : Window; - -begin - if Has_Mouse then - Register_Reportable_Event ( - Button => Left, - State => Clicked, - Mask => Mask); - Mask2 := Start_Mouse (Mask); - end if; - c := CTRL ('C'); - Set_Raw_Mode (SwitchOn => True); - loop - transient (Standard_Window, ""); - case c is - when Character'Pos ('c') mod 16#20# => -- Ctrl('c') - declare - neww : FrameA := new Frame'(null, null, False, False, - Null_Window); - begin - neww.wind := getwindow; - if neww.wind = Null_Window then - exit; - -- was goto breakout; ha ha ha - else - - if current = null then - neww.next := neww; - neww.last := neww; - else - neww.next := current.next; - neww.last := current; - neww.last.next := neww; - neww.next.last := neww; - end if; - current := neww; - - Set_KeyPad_Mode (current.wind, True); - current.do_keypad := HaveKeyPad (current.wind); - current.do_scroll := HaveScroll (current.wind); - end if; - end; - when Character'Pos ('N') mod 16#20# => -- Ctrl('N') - if current /= null then - current := current.next; - end if; - when Character'Pos ('P') mod 16#20# => -- Ctrl('P') - if current /= null then - current := current.last; - end if; - when Character'Pos ('F') mod 16#20# => -- Ctrl('F') - if current /= null and HaveScroll (current.wind) then - Scroll (current.wind, 1); - end if; - when Character'Pos ('B') mod 16#20# => -- Ctrl('B') - if current /= null and HaveScroll (current.wind) then - -- The C version of Scroll may return ERR which is ignored - -- we need to avoid the exception - -- with the 'and HaveScroll(current.wind)' - Scroll (current.wind, -1); - end if; - when Character'Pos ('K') mod 16#20# => -- Ctrl('K') - if current /= null then - current.do_keypad := not current.do_keypad; - Set_KeyPad_Mode (current.wind, current.do_keypad); - end if; - when Character'Pos ('S') mod 16#20# => -- Ctrl('S') - if current /= null then - current.do_scroll := not current.do_scroll; - Allow_Scrolling (current.wind, current.do_scroll); - end if; - when Character'Pos ('W') mod 16#20# => -- Ctrl('W') - if current /= current.next then - Create (f, Name => dumpfile); -- TODO error checking - if not Is_Open (f) then - raise Curses_Exception; - end if; - Put_Window (current.wind, f); - Close (f); - current := delete_framed (current, True); - end if; - when Character'Pos ('R') mod 16#20# => -- Ctrl('R') - declare - neww : FrameA := new Frame'(null, null, False, False, - Null_Window); - begin - Open (f, Mode => In_File, Name => dumpfile); - neww := new Frame'(null, null, False, False, Null_Window); - - neww.next := current.next; - neww.last := current; - neww.last.next := neww; - neww.next.last := neww; - - neww.wind := Get_Window (f); - Close (f); - - Refresh (neww.wind); - end; - when Character'Pos ('X') mod 16#20# => -- Ctrl('X') - if current /= null then - declare - tmp, ul, lr : pair; - mx : Column_Position; - my : Line_Position; - tmpbool : Boolean; - begin - Move_Cursor (Line => 0, Column => 0); - Clear_To_End_Of_Line; - Add (Str => "Use arrows to move cursor, anything else " & - "to mark new corner"); - Refresh; - - Get_Window_Position (current.wind, ul.y, ul.x); - - selectcell (ul.y, ul.x, Lines - Botlines - 2, Columns - 2, - tmp, tmpbool); - if not tmpbool then - -- the C version had a goto. I refuse gotos. - Beep; - else - Get_Size (current.wind, lr.y, lr.x); - lr.y := lr.y + ul.y - 1; - lr.x := lr.x + ul.x - 1; - Outerbox (ul, lr, False); - Refresh_Without_Update; - - Get_Size (current.wind, my, mx); - if my > tmp.y - ul.y then - Get_Cursor_Position (current.wind, lr.y, lr.x); - Move_Cursor (current.wind, tmp.y - ul.y + 1, 0); - Clear_To_End_Of_Screen (current.wind); - Move_Cursor (current.wind, lr.y, lr.x); - end if; - if mx > tmp.x - ul.x then - for i in 0 .. my - 1 loop - Move_Cursor (current.wind, i, tmp.x - ul.x + 1); - Clear_To_End_Of_Line (current.wind); - end loop; - end if; - Refresh_Without_Update (current.wind); - - lr := tmp; - -- The C version passes invalid args to resize - -- which returns an ERR. For Ada we avoid the exception. - if lr.y /= ul.y and lr.x /= ul.x then - Resize (current.wind, lr.y - ul.y + 0, - lr.x - ul.x + 0); - end if; - - Get_Window_Position (current.wind, ul.y, ul.x); - Get_Size (current.wind, lr.y, lr.x); - lr.y := lr.y + ul.y - 1; - lr.x := lr.x + ul.x - 1; - Outerbox (ul, lr, True); - Refresh_Without_Update; - - Refresh_Without_Update (current.wind); - Move_Cursor (Line => 0, Column => 0); - Clear_To_End_Of_Line; - Update_Screen; - end if; - end; - end if; - when Key_F10 => - declare tmp : pair; tmpbool : Boolean; - begin - -- undocumented --- use this to test area clears - selectcell (0, 0, Lines - 1, Columns - 1, tmp, tmpbool); - Clear_To_End_Of_Screen; - Refresh; - end; - when Key_Cursor_Up => - newwin_move (current.wind, -1, 0); - when Key_Cursor_Down => - newwin_move (current.wind, 1, 0); - when Key_Cursor_Left => - newwin_move (current.wind, 0, -1); - when Key_Cursor_Right => - newwin_move (current.wind, 0, 1); - when Key_Backspace | Key_Delete_Char => - declare - y : Line_Position; - x : Column_Position; - tmp : Line_Position; - begin - Get_Cursor_Position (current.wind, y, x); - -- x := x - 1; - -- I got tricked by the -1 = Max_Natural - 1 result - -- y := y - 1; - if not (x = 0 and y = 0) then - if x = 0 then - y := y - 1; - Get_Size (current.wind, tmp, x); - end if; - x := x - 1; - Delete_Character (current.wind, y, x); - end if; - end; - when others => - -- TODO c = '\r' ? - if current /= null then - declare - begin - Add (current.wind, Ch => Code_To_Char (c)); - exception - when Curses_Exception => null; - -- this happens if we are at the - -- lower right of a window and add a character. - end; - else - Beep; - end if; - end case; - newwin_report (current.wind); - if current /= null then - usescr := current.wind; - else - usescr := Standard_Window; - end if; - Refresh (usescr); - c := Getchar (usescr); - exit when c = Quit or (c = Escape and HaveKeyPad (usescr)); - -- TODO when does c = ERR happen? - end loop; - - -- TODO while current /= null loop - -- current := delete_framed(current, False); - -- end loop; - - Allow_Scrolling (Mode => True); - - End_Mouse (Mask2); - Set_Raw_Mode (SwitchOn => True); - Erase; - End_Windows; - -end ncurses2.acs_and_scroll; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-acs_and_scroll.ads b/src/libs/ncurses/Ada95/samples/ncurses2-acs_and_scroll.ads deleted file mode 100644 index 79e4862af0..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-acs_and_scroll.ads +++ /dev/null @@ -1,41 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -procedure ncurses2.acs_and_scroll; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-acs_display.adb b/src/libs/ncurses/Ada95/samples/ncurses2-acs_display.adb deleted file mode 100644 index 1ed4c64338..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-acs_display.adb +++ /dev/null @@ -1,234 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.4 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with ncurses2.util; use ncurses2.util; -with ncurses2.genericPuts; -with Terminal_Interface.Curses; use Terminal_Interface.Curses; - -with Ada.Strings.Unbounded; -with Ada.Strings.Fixed; - -procedure ncurses2.acs_display is - use Int_IO; - - procedure show_upper_chars (first : Integer); - function show_1_acs (N : Integer; - name : String; - code : Attributed_Character) - return Integer; - procedure show_acs_chars; - - - procedure show_upper_chars (first : Integer) is - C1 : constant Boolean := (first = 128); - last : constant Integer := first + 31; - package p is new ncurses2.genericPuts (200); - use p; - use p.BS; - use Ada.Strings.Unbounded; - - tmpa : Unbounded_String; - tmpb : BS.Bounded_String; - begin - Erase; - Switch_Character_Attribute - (Attr => (Bold_Character => True, others => False)); - Move_Cursor (Line => 0, Column => 20); - tmpa := To_Unbounded_String ("Display of "); - if C1 then - tmpa := tmpa & "C1"; - else - tmpa := tmpa & "GR"; - end if; - tmpa := tmpa & " Character Codes "; - myPut (tmpb, first); - Append (tmpa, To_String (tmpb)); - Append (tmpa, " to "); - myPut (tmpb, last); - Append (tmpa, To_String (tmpb)); - Add (Str => To_String (tmpa)); - Switch_Character_Attribute - (On => False, - Attr => (Bold_Character => True, others => False)); - Refresh; - - for code in first .. last loop - declare - row : constant Line_Position - := Line_Position (4 + ((code - first) mod 16)); - col : constant Column_Position - := Column_Position (((code - first) / 16) * - Integer (Columns) / 2); - tmp3 : String (1 .. 3); - tmpx : String (1 .. Integer (Columns / 4)); - reply : Key_Code; - begin - Put (tmp3, code); - myPut (tmpb, code, 16); - tmpa := To_Unbounded_String (tmp3 & " (" & To_String (tmpb) & ')'); - - Ada.Strings.Fixed.Move (To_String (tmpa), tmpx, - Justify => Ada.Strings.Right); - Add (Line => row, Column => col, - Str => tmpx & ' ' & ':' & ' '); - if C1 then - Set_NoDelay_Mode (Mode => True); - end if; - Add_With_Immediate_Echo (Ch => Code_To_Char (Key_Code (code))); - -- TODO check this - if C1 then - reply := Getchar; - while reply /= Key_None loop - Add (Ch => Code_To_Char (reply)); - Nap_Milli_Seconds (10); - reply := Getchar; - end loop; - Set_NoDelay_Mode (Mode => False); - end if; - end; - end loop; - end show_upper_chars; - - function show_1_acs (N : Integer; - name : String; - code : Attributed_Character) - return Integer is - height : constant Integer := 16; - row : constant Line_Position := Line_Position (4 + (N mod height)); - col : constant Column_Position := Column_Position ((N / height) * - Integer (Columns) / 2); - tmpx : String (1 .. Integer (Columns) / 3); - begin - Ada.Strings.Fixed.Move (name, tmpx, - Justify => Ada.Strings.Right, - Drop => Ada.Strings.Left); - Add (Line => row, Column => col, Str => tmpx & ' ' & ':' & ' '); - -- we need more room than C because our identifiers are longer - -- 22 chars actually - Add (Ch => code); - return N + 1; - end show_1_acs; - - procedure show_acs_chars is - n : Integer; - begin - Erase; - Switch_Character_Attribute - (Attr => (Bold_Character => True, others => False)); - Add (Line => 0, Column => 20, - Str => "Display of the ACS Character Set"); - Switch_Character_Attribute (On => False, - Attr => (Bold_Character => True, - others => False)); - Refresh; - - -- the following is useful to generate the below - -- grep '^[ ]*ACS_' ../src/terminal_interface-curses.ads | - -- awk '{print "n := show_1_acs(n, \""$1"\", ACS_Map("$1"));"}' - - n := show_1_acs (0, "ACS_Upper_Left_Corner", - ACS_Map (ACS_Upper_Left_Corner)); - n := show_1_acs (n, "ACS_Lower_Left_Corner", - ACS_Map (ACS_Lower_Left_Corner)); - n := show_1_acs (n, "ACS_Upper_Right_Corner", - ACS_Map (ACS_Upper_Right_Corner)); - n := show_1_acs (n, "ACS_Lower_Right_Corner", - ACS_Map (ACS_Lower_Right_Corner)); - n := show_1_acs (n, "ACS_Left_Tee", ACS_Map (ACS_Left_Tee)); - n := show_1_acs (n, "ACS_Right_Tee", ACS_Map (ACS_Right_Tee)); - n := show_1_acs (n, "ACS_Bottom_Tee", ACS_Map (ACS_Bottom_Tee)); - n := show_1_acs (n, "ACS_Top_Tee", ACS_Map (ACS_Top_Tee)); - n := show_1_acs (n, "ACS_Horizontal_Line", - ACS_Map (ACS_Horizontal_Line)); - n := show_1_acs (n, "ACS_Vertical_Line", ACS_Map (ACS_Vertical_Line)); - n := show_1_acs (n, "ACS_Plus_Symbol", ACS_Map (ACS_Plus_Symbol)); - n := show_1_acs (n, "ACS_Scan_Line_1", ACS_Map (ACS_Scan_Line_1)); - n := show_1_acs (n, "ACS_Scan_Line_9", ACS_Map (ACS_Scan_Line_9)); - n := show_1_acs (n, "ACS_Diamond", ACS_Map (ACS_Diamond)); - n := show_1_acs (n, "ACS_Checker_Board", ACS_Map (ACS_Checker_Board)); - n := show_1_acs (n, "ACS_Degree", ACS_Map (ACS_Degree)); - n := show_1_acs (n, "ACS_Plus_Minus", ACS_Map (ACS_Plus_Minus)); - n := show_1_acs (n, "ACS_Bullet", ACS_Map (ACS_Bullet)); - n := show_1_acs (n, "ACS_Left_Arrow", ACS_Map (ACS_Left_Arrow)); - n := show_1_acs (n, "ACS_Right_Arrow", ACS_Map (ACS_Right_Arrow)); - n := show_1_acs (n, "ACS_Down_Arrow", ACS_Map (ACS_Down_Arrow)); - n := show_1_acs (n, "ACS_Up_Arrow", ACS_Map (ACS_Up_Arrow)); - n := show_1_acs (n, "ACS_Board_Of_Squares", - ACS_Map (ACS_Board_Of_Squares)); - n := show_1_acs (n, "ACS_Lantern", ACS_Map (ACS_Lantern)); - n := show_1_acs (n, "ACS_Solid_Block", ACS_Map (ACS_Solid_Block)); - n := show_1_acs (n, "ACS_Scan_Line_3", ACS_Map (ACS_Scan_Line_3)); - n := show_1_acs (n, "ACS_Scan_Line_7", ACS_Map (ACS_Scan_Line_7)); - n := show_1_acs (n, "ACS_Less_Or_Equal", ACS_Map (ACS_Less_Or_Equal)); - n := show_1_acs (n, "ACS_Greater_Or_Equal", - ACS_Map (ACS_Greater_Or_Equal)); - n := show_1_acs (n, "ACS_PI", ACS_Map (ACS_PI)); - n := show_1_acs (n, "ACS_Not_Equal", ACS_Map (ACS_Not_Equal)); - n := show_1_acs (n, "ACS_Sterling", ACS_Map (ACS_Sterling)); - - end show_acs_chars; - - c1 : Key_Code; - c : Character := 'a'; -begin - loop - case c is - when 'a' => - show_acs_chars; - when '0' | '1' | '2' | '3' => - show_upper_chars (ctoi (c) * 32 + 128); - when others => - null; - end case; - Add (Line => Lines - 3, Column => 0, - Str => "Note: ANSI terminals may not display C1 characters."); - Add (Line => Lines - 2, Column => 0, - Str => "Select: a=ACS, 0=C1, 1,2,3=GR characters, q=quit"); - Refresh; - c1 := Getchar; - c := Code_To_Char (c1); - exit when c = 'q' or c = 'x'; - end loop; - Pause; - Erase; - End_Windows; -end ncurses2.acs_display; - diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-acs_display.ads b/src/libs/ncurses/Ada95/samples/ncurses2-acs_display.ads deleted file mode 100644 index 4e616c5e14..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-acs_display.ads +++ /dev/null @@ -1,41 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -procedure ncurses2.acs_display; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-attr_test.adb b/src/libs/ncurses/Ada95/samples/ncurses2-attr_test.adb deleted file mode 100644 index bb7769194e..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-attr_test.adb +++ /dev/null @@ -1,368 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000,2001,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.5 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with ncurses2.util; use ncurses2.util; -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Terminfo; -use Terminal_Interface.Curses.Terminfo; -with Ada.Characters.Handling; -with Ada.Strings.Fixed; - -procedure ncurses2.attr_test is - - function subset (super, sub : Character_Attribute_Set) return Boolean; - function intersect (b, a : Character_Attribute_Set) return Boolean; - function has_A_COLOR (attr : Attributed_Character) return Boolean; - function show_attr (row : Line_Position; - skip : Natural; - attr : Character_Attribute_Set; - name : String; - once : Boolean) return Line_Position; - procedure attr_getc (skip : out Integer; - fg, bg : in out Color_Number; - result : out Boolean); - - - function subset (super, sub : Character_Attribute_Set) return Boolean is - begin - if - (super.Stand_Out or not sub.Stand_Out) and - (super.Under_Line or not sub.Under_Line) and - (super.Reverse_Video or not sub.Reverse_Video) and - (super.Blink or not sub.Blink) and - (super.Dim_Character or not sub.Dim_Character) and - (super.Bold_Character or not sub.Bold_Character) and - (super.Alternate_Character_Set or not sub.Alternate_Character_Set) and - (super.Invisible_Character or not sub.Invisible_Character) -- and --- (super.Protected_Character or not sub.Protected_Character) and --- (super.Horizontal or not sub.Horizontal) and --- (super.Left or not sub.Left) and --- (super.Low or not sub.Low) and --- (super.Right or not sub.Right) and --- (super.Top or not sub.Top) and --- (super.Vertical or not sub.Vertical) - then - return True; - else - return False; - end if; - end subset; - - - function intersect (b, a : Character_Attribute_Set) return Boolean is - begin - if - (a.Stand_Out and b.Stand_Out) or - (a.Under_Line and b.Under_Line) or - (a.Reverse_Video and b.Reverse_Video) or - (a.Blink and b.Blink) or - (a.Dim_Character and b.Dim_Character) or - (a.Bold_Character and b.Bold_Character) or - (a.Alternate_Character_Set and b.Alternate_Character_Set) or - (a.Invisible_Character and b.Invisible_Character) -- or --- (a.Protected_Character and b.Protected_Character) or --- (a.Horizontal and b.Horizontal) or --- (a.Left and b.Left) or --- (a.Low and b.Low) or --- (a.Right and b.Right) or --- (a.Top and b.Top) or --- (a.Vertical and b.Vertical) - then - return True; - else - return False; - end if; - end intersect; - - function has_A_COLOR (attr : Attributed_Character) return Boolean is - begin - if attr.Color /= Color_Pair (0) then - return True; - else - return False; - end if; - end has_A_COLOR; - - -- Print some text with attributes. - function show_attr (row : Line_Position; - skip : Natural; - attr : Character_Attribute_Set; - name : String; - once : Boolean) return Line_Position is - - function make_record (n : Integer) return Character_Attribute_Set; - function make_record (n : Integer) return Character_Attribute_Set is - -- unsupported means true - a : Character_Attribute_Set := (others => False); - m : Integer; - rest : Integer; - begin - -- ncv is a bitmap with these fields - -- A_STANDOUT, - -- A_UNDERLINE, - -- A_REVERSE, - -- A_BLINK, - -- A_DIM, - -- A_BOLD, - -- A_INVIS, - -- A_PROTECT, - -- A_ALTCHARSET - -- It means no_color_video, - -- video attributes that can't be used with colors - -- see man terminfo.5 - m := n mod 2; - rest := n / 2; - if 1 = m then - a.Stand_Out := True; - end if; - m := rest mod 2; - rest := rest / 2; - if 1 = m then - a.Under_Line := True; - end if; - m := rest mod 2; - rest := rest / 2; - if 1 = m then - a.Reverse_Video := True; - end if; - m := rest mod 2; - rest := rest / 2; - if 1 = m then - a.Blink := True; - end if; - m := rest mod 2; - rest := rest / 2; - if 1 = m then - a.Bold_Character := True; - end if; - m := rest mod 2; - rest := rest / 2; - if 1 = m then - a.Invisible_Character := True; - end if; - m := rest mod 2; - rest := rest / 2; --- if 1 = m then --- a.Protected_Character := True; --- end if; - m := rest mod 2; - rest := rest / 2; - if 1 = m then - a.Alternate_Character_Set := True; - end if; - - return a; - end make_record; - - ncv : constant Integer := Get_Number ("ncv"); - - begin - Move_Cursor (Line => row, Column => 8); - Add (Str => name & " mode:"); - Move_Cursor (Line => row, Column => 24); - Add (Ch => '|'); - if skip /= 0 then - -- printw("%*s", skip, " ") - Add (Str => Ada.Strings.Fixed."*" (skip, ' ')); - end if; - if once then - Switch_Character_Attribute (Attr => attr); - else - Set_Character_Attributes (Attr => attr); - end if; - Add (Str => "abcde fghij klmno pqrst uvwxy z"); - if once then - Switch_Character_Attribute (Attr => attr, On => False); - end if; - if skip /= 0 then - Add (Str => Ada.Strings.Fixed."*" (skip, ' ')); - end if; - Add (Ch => '|'); - if attr /= Normal_Video then - declare begin - if not subset (super => Supported_Attributes, sub => attr) then - Add (Str => " (N/A)"); - elsif ncv > 0 and has_A_COLOR (Get_Background) then - declare - Color_Supported_Attributes : - constant Character_Attribute_Set := make_record (ncv); - begin - if intersect (Color_Supported_Attributes, attr) then - Add (Str => " (NCV) "); - end if; - end; - end if; - end; - end if; - return row + 2; - end show_attr; - - procedure attr_getc (skip : out Integer; fg, bg : in out Color_Number; - result : out Boolean) is - ch : constant Key_Code := Getchar; - nc : constant Color_Number := Color_Number (Number_Of_Colors); - curscr : Window; - pragma Import (C, curscr, "curscr"); - -- curscr is not implemented in the Ada binding - begin - result := True; - if Ada.Characters.Handling.Is_Digit (Character'Val (ch)) then - skip := ctoi (Code_To_Char (ch)); - elsif ch = CTRL ('L') then - Touch; - Touch (curscr); - Refresh; - elsif Has_Colors then - case ch is - -- Note the mathematical elegance compared to the C version. - when Character'Pos ('f') => fg := (fg + 1) mod nc; - when Character'Pos ('F') => fg := (fg - 1) mod nc; - when Character'Pos ('b') => bg := (bg + 1) mod nc; - when Character'Pos ('B') => bg := (bg - 1) mod nc; - when others => - result := False; - end case; - else - result := False; - end if; - end attr_getc; - - - - -- pairs could be defined as array ( Color_Number(0) .. colors - 1) of - -- array (Color_Number(0).. colors - 1) of Boolean; - pairs : array (Color_Pair'Range) of Boolean := (others => False); - fg, bg : Color_Number := Black; -- = 0; - xmc : constant Integer := Get_Number ("xmc"); - skip : Integer := xmc; - n : Integer; - - use Int_IO; - -begin - pairs (0) := True; - - if skip < 0 then - skip := 0; - end if; - n := skip; - - loop - declare - row : Line_Position := 2; - normal : Attributed_Character := Blank2; - -- ??? - begin - -- row := 2; -- weird, row is set to 0 without this. - -- TODO delete the above line, it was a gdb quirk that confused me - if Has_Colors then declare - pair : constant Color_Pair := - Color_Pair (fg * Color_Number (Number_Of_Colors) + bg); - begin - -- Go though each color pair. Assume that the number of - -- Redefinable_Color_Pairs is 8*8 with predefined Colors 0..7 - if not pairs (pair) then - Init_Pair (pair, fg, bg); - pairs (pair) := True; - end if; - normal.Color := pair; - end; - end if; - Set_Background (Ch => normal); - Erase; - - Add (Line => 0, Column => 20, - Str => "Character attribute test display"); - - row := show_attr (row, n, (Stand_Out => True, others => False), - "STANDOUT", True); - row := show_attr (row, n, (Reverse_Video => True, others => False), - "REVERSE", True); - row := show_attr (row, n, (Bold_Character => True, others => False), - "BOLD", True); - row := show_attr (row, n, (Under_Line => True, others => False), - "UNDERLINE", True); - row := show_attr (row, n, (Dim_Character => True, others => False), - "DIM", True); - row := show_attr (row, n, (Blink => True, others => False), - "BLINK", True); --- row := show_attr (row, n, (Protected_Character => True, --- others => False), "PROTECT", True); - row := show_attr (row, n, (Invisible_Character => True, - others => False), "INVISIBLE", True); - row := show_attr (row, n, Normal_Video, "NORMAL", False); - - Move_Cursor (Line => row, Column => 8); - if xmc > -1 then - Add (Str => "This terminal does have the magic-cookie glitch"); - else - Add (Str => "This terminal does not have the magic-cookie glitch"); - end if; - Move_Cursor (Line => row + 1, Column => 8); - Add (Str => "Enter a digit to set gaps on each side of " & - "displayed attributes"); - Move_Cursor (Line => row + 2, Column => 8); - Add (Str => "^L = repaint"); - if Has_Colors then - declare tmp1 : String (1 .. 1); - begin - Add (Str => ". f/F/b/F toggle colors ("); - Put (tmp1, Integer (fg)); - Add (Str => tmp1); - Add (Ch => '/'); - Put (tmp1, Integer (bg)); - Add (Str => tmp1); - Add (Ch => ')'); - end; - end if; - Refresh; - end; - - declare result : Boolean; begin - attr_getc (n, fg, bg, result); - exit when not result; - end; - end loop; - - Set_Background (Ch => Blank2); - Erase; - End_Windows; -end ncurses2.attr_test; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-attr_test.ads b/src/libs/ncurses/Ada95/samples/ncurses2-attr_test.ads deleted file mode 100644 index fb1ed185b4..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-attr_test.ads +++ /dev/null @@ -1,42 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -procedure ncurses2.attr_test; - diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-color_edit.adb b/src/libs/ncurses/Ada95/samples/ncurses2-color_edit.adb deleted file mode 100644 index a678ccf4bc..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-color_edit.adb +++ /dev/null @@ -1,263 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.4 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with ncurses2.util; use ncurses2.util; -with ncurses2.genericPuts; -with Terminal_Interface.Curses; use Terminal_Interface.Curses; - - -procedure ncurses2.color_edit is - use Int_IO; - - type RGB_Enum is (Redx, Greenx, Bluex); - - procedure change_color (current : Color_Number; - field : RGB_Enum; - value : RGB_Value; - usebase : Boolean); - - - - procedure change_color (current : Color_Number; - field : RGB_Enum; - value : RGB_Value; - usebase : Boolean) is - red, green, blue : RGB_Value; - begin - if usebase then - Color_Content (current, red, green, blue); - else - red := 0; - green := 0; - blue := 0; - end if; - - case field is - when Redx => red := red + value; - when Greenx => green := green + value; - when Bluex => blue := blue + value; - end case; - - declare - begin - Init_Color (current, red, green, blue); - exception - when Curses_Exception => Beep; - end; - - end change_color; - - - package x is new ncurses2.genericPuts (100); use x; - - tmpb : x.BS.Bounded_String; - - tmp4 : String (1 .. 4); - tmp6 : String (1 .. 6); - tmp8 : String (1 .. 8); - -- This would be easier if Ada had a Bounded_String - -- defined as a class instead of the inferior generic package, - -- then I could define Put, Add, and Get for them. Blech. - value : RGB_Value := 0; - red, green, blue : RGB_Value; - max_colors : constant Natural := Number_Of_Colors; - current : Color_Number := 0; - field : RGB_Enum := Redx; - this_c : Key_Code := 0; -begin - Refresh; - - for i in Color_Number'(0) .. Color_Number (Number_Of_Colors) loop - Init_Pair (Color_Pair (i), White, i); - end loop; - - Move_Cursor (Line => Lines - 2, Column => 0); - Add (Str => "Number: "); - myPut (tmpb, Integer (value)); - myAdd (Str => tmpb); - - loop - - Switch_Character_Attribute (On => False, - Attr => (Bold_Character => True, - others => False)); - Add (Line => 0, Column => 20, Str => "Color RGB Value Editing"); - - Switch_Character_Attribute (On => False, - Attr => (Bold_Character => True, - others => False)); - - for i in Color_Number'(0) .. Color_Number (Number_Of_Colors) loop - Move_Cursor (Line => 2 + Line_Position (i), Column => 0); - if current = i then - Add (Ch => '>'); - else - Add (Ch => ' '); - end if; - -- TODO if i <= color_names'Max then - Put (tmp8, Integer (i)); - Set_Character_Attributes (Color => Color_Pair (i)); - Add (Str => " "); - Set_Character_Attributes; - - Refresh; - - Color_Content (i, red, green, blue); - Add (Str => " R = "); - if current = i and field = Redx then - Switch_Character_Attribute (On => True, - Attr => (Stand_Out => True, - others => False)); - end if; - Put (tmp4, Integer (red)); - Add (Str => tmp4); - if current = i and field = Redx then - Set_Character_Attributes; - end if; - Add (Str => " G = "); - if current = i and field = Greenx then - Switch_Character_Attribute (On => True, - Attr => (Stand_Out => True, - others => False)); - end if; - Put (tmp4, Integer (green)); - Add (Str => tmp4); - if current = i and field = Greenx then - Set_Character_Attributes; - end if; - Add (Str => " B = "); - if current = i and field = Bluex then - Switch_Character_Attribute (On => True, - Attr => (Stand_Out => True, - others => False)); - end if; - Put (tmp4, Integer (blue)); - Add (Str => tmp4); - if current = i and field = Bluex then - Set_Character_Attributes; - end if; - Set_Character_Attributes; - Add (ch => ')'); - end loop; - Add (Line => Line_Position (Number_Of_Colors + 3), Column => 0, - Str => "Use up/down to select a color, left/right to change " & - "fields."); - Add (Line => Line_Position (Number_Of_Colors + 4), Column => 0, - Str => "Modify field by typing nnn=, nnn-, or nnn+. ? for help."); - - Move_Cursor (Line => 2 + Line_Position (current), Column => 0); - - this_c := Getchar; - if Is_Digit (this_c) then - value := 0; - end if; - - case this_c is - when KEY_UP => - current := (current - 1) mod Color_Number (max_colors); - when KEY_DOWN => - current := (current + 1) mod Color_Number (max_colors); - when KEY_RIGHT => - field := RGB_Enum'Val ((RGB_Enum'Pos (field) + 1) mod 3); - when KEY_LEFT => - field := RGB_Enum'Val ((RGB_Enum'Pos (field) - 1) mod 3); - when - Character'Pos ('0') | - Character'Pos ('1') | - Character'Pos ('2') | - Character'Pos ('3') | - Character'Pos ('4') | - Character'Pos ('5') | - Character'Pos ('6') | - Character'Pos ('7') | - Character'Pos ('8') | - Character'Pos ('9') => - value := value * 10 + RGB_Value (ctoi (Code_To_Char (this_c))); - - when Character'Pos ('+') => - change_color (current, field, value, True); - - when Character'Pos ('-') => - change_color (current, field, -value, True); - - when Character'Pos ('=') => - change_color (current, field, value, False); - - when Character'Pos ('?') => - Erase; - P (" RGB Value Editing Help"); - P (""); - P ("You are in the RGB value editor. Use the arrow keys to " & - "select one of"); - P ("the fields in one of the RGB triples of the current colors;" & - " the one"); - P ("currently selected will be reverse-video highlighted."); - P (""); - P ("To change a field, enter the digits of the new value; they" & - " are echoed"); - P ("as entered. Finish by typing `='. The change will take" & - " effect instantly."); - P ("To increment or decrement a value, use the same procedure," & - " but finish"); - P ("with a `+' or `-'."); - P (""); - P ("To quit, do `x' or 'q'"); - - Pause; - Erase; - when Character'Pos ('q') | - Character'Pos ('x') => - null; - when others => - Beep; - end case; - Move_Cursor (Line => Lines - 2, Column => 0); - Put (tmp6, Integer (value)); - Add (Str => "Number: " & tmp6); - - Clear_To_End_Of_Line; - exit when this_c = Character'Pos ('x') or - this_c = Character'Pos ('q'); - end loop; - - Erase; - End_Windows; -end ncurses2.color_edit; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-color_edit.ads b/src/libs/ncurses/Ada95/samples/ncurses2-color_edit.ads deleted file mode 100644 index 3e8e392dfe..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-color_edit.ads +++ /dev/null @@ -1,41 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -procedure ncurses2.color_edit; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-color_test.adb b/src/libs/ncurses/Ada95/samples/ncurses2-color_test.adb deleted file mode 100644 index ecbf2903b5..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-color_test.adb +++ /dev/null @@ -1,164 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with ncurses2.util; use ncurses2.util; - -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Ada.Strings.Fixed; - -procedure ncurses2.color_test is - use Int_IO; - - procedure show_color_name (y, x : Integer; color : Integer); - - color_names : constant array (0 .. 15) of String (1 .. 7) := - ( - "black", - "red", - "green", - "yellow", - "blue", - "magenta", - "cyan", - "white", - "BLACK", - "RED", - "GREEN", - "YELLOW", - "BLUE", - "MAGENTA", - "CYAN", - "WHITE" - ); - - - procedure show_color_name (y, x : Integer; color : Integer) is - tmp5 : String (1 .. 5); - begin - if Number_Of_Colors > 8 then - - Put (tmp5, color); - Add (Line => Line_Position (y), Column => Column_Position (x), - Str => tmp5); - else - Add (Line => Line_Position (y), Column => Column_Position (x), - Str => color_names (color)); - end if; - end show_color_name; - - - top, width : Integer; - hello : String (1 .. 5); - -- tmp3 : String (1 .. 3); - -- tmp2 : String (1 .. 2); - -begin - Refresh; - Add (Str => "There are "); - -- Put(tmp3, Number_Of_Colors*Number_Of_Colors); - Add (Str => Ada.Strings.Fixed.Trim (Integer'Image (Number_Of_Colors * - Number_Of_Colors), - Ada.Strings.Left)); - Add (Str => " color pairs"); - Add (Ch => newl); - - if Number_Of_Colors > 8 then - width := 4; - else - width := 8; - end if; - - if Number_Of_Colors > 8 then - hello := "Test"; - else - hello := "Hello"; - end if; - - for Bright in Boolean loop - if Number_Of_Colors > 8 then - top := 0; - else - top := Boolean'Pos (Bright) * (Number_Of_Colors + 3); - end if; - Clear_To_End_Of_Screen; - Move_Cursor (Line => Line_Position (top) + 1, Column => 0); - -- Put(tmp2, Number_Of_Colors); - Add (Str => Ada.Strings.Fixed.Trim (Integer'Image (Number_Of_Colors), - Ada.Strings.Left)); - Add (Ch => 'x'); - Add (Str => Ada.Strings.Fixed.Trim (Integer'Image (Number_Of_Colors), - Ada.Strings.Left)); - Add (Str => " matrix of foreground/background colors, bright *"); - if Bright then - Add (Str => "on"); - else - Add (Str => "off"); - end if; - Add (Ch => '*'); - - for i in 0 .. Number_Of_Colors - 1 loop - show_color_name (top + 2, (i + 1) * width, i); - end loop; - for i in 0 .. Number_Of_Colors - 1 loop - show_color_name (top + 3 + i, 0, i); - end loop; - for i in 1 .. Number_Of_Color_Pairs - 1 loop - Init_Pair (Color_Pair (i), Color_Number (i mod Number_Of_Colors), - Color_Number (i / Number_Of_Colors)); - -- attron((attr_t) COLOR_PAIR(i)) -- Huh? - Set_Color (Pair => Color_Pair (i)); - if Bright then - Switch_Character_Attribute (Attr => (Bold_Character => True, - others => False)); - end if; - Add (Line => Line_Position (top + 3 + (i / Number_Of_Colors)), - Column => Column_Position ((i mod Number_Of_Colors + 1) * - width), - Str => hello); - Set_Character_Attributes; - end loop; - if Number_Of_Colors > 8 or Bright then - Pause; - end if; - end loop; - - Erase; - End_Windows; -end ncurses2.color_test; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-color_test.ads b/src/libs/ncurses/Ada95/samples/ncurses2-color_test.ads deleted file mode 100644 index 6e663181a9..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-color_test.ads +++ /dev/null @@ -1,41 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -procedure ncurses2.color_test; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-demo_forms.adb b/src/libs/ncurses/Ada95/samples/ncurses2-demo_forms.adb deleted file mode 100644 index 2cc99daef1..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-demo_forms.adb +++ /dev/null @@ -1,497 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.4 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with ncurses2.util; use ncurses2.util; -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Forms; use Terminal_Interface.Curses.Forms; -with Terminal_Interface.Curses.Forms.Field_User_Data; -with Ada.Characters.Handling; -with Ada.Strings; -with Ada.Strings.Bounded; - -procedure ncurses2.demo_forms is - package BS is new Ada.Strings.Bounded.Generic_Bounded_Length (80); - - type myptr is access Integer; - - -- The C version stores a pointer in the userptr and - -- converts it into a long integer. - -- The correct, but inconvenient way to do it is to use a - -- pointer to long and keep the pointer constant. - -- It just adds one memory piece to allocate and deallocate (not done here) - - package StringData is new - Terminal_Interface.Curses.Forms.Field_User_Data (Integer, myptr); - - function edit_secure (me : Field; c_in : Key_Code) return Key_Code; - function form_virtualize (f : Form; w : Window) return Key_Code; - function my_form_driver (f : Form; c : Key_Code) return Boolean; - function make_label (frow : Line_Position; - fcol : Column_Position; - label : String) return Field; - function make_field (frow : Line_Position; - fcol : Column_Position; - rows : Line_Count; - cols : Column_Count; - secure : Boolean) return Field; - procedure display_form (f : Form); - procedure erase_form (f : Form); - - -- prints '*' instead of characters. - -- Not that this keeps a bug from the C version: - -- type in the psasword field then move off and back. - -- the cursor is at position one, but - -- this assumes it as at the end so text gets appended instead - -- of overwtitting. - function edit_secure (me : Field; c_in : Key_Code) return Key_Code is - rows, frow : Line_Position; - nrow : Natural; - cols, fcol : Column_Position; - nbuf : Buffer_Number; - c : Key_Code := c_in; - c2 : Character; - - use StringData; - begin - Info (me, rows, cols, frow, fcol, nrow, nbuf); - -- TODO if result = Form_Ok and nbuf > 0 then - -- C version checked the return value - -- of Info, the Ada binding throws an exception I think. - if nbuf > 0 then - declare - temp : BS.Bounded_String; - temps : String (1 .. 10); - -- TODO Get_Buffer povides no information on the field length? - len : myptr; - begin - Get_Buffer (me, 1, Str => temps); - -- strcpy(temp, field_buffer(me, 1)); - Get_User_Data (me, len); - temp := BS.To_Bounded_String (temps (1 .. len.all)); - if c <= Key_Max then - c2 := Code_To_Char (c); - if Ada.Characters.Handling.Is_Graphic (c2) then - BS.Append (temp, c2); - len.all := len.all + 1; - Set_Buffer (me, 1, BS.To_String (temp)); - c := Character'Pos ('*'); - else - c := 0; - end if; - else - case c is - when REQ_BEG_FIELD | - REQ_CLR_EOF | - REQ_CLR_EOL | - REQ_DEL_LINE | - REQ_DEL_WORD | - REQ_DOWN_CHAR | - REQ_END_FIELD | - REQ_INS_CHAR | - REQ_INS_LINE | - REQ_LEFT_CHAR | - REQ_NEW_LINE | - REQ_NEXT_WORD | - REQ_PREV_WORD | - REQ_RIGHT_CHAR | - REQ_UP_CHAR => - c := 0; -- we don't want to do inline editing - when REQ_CLR_FIELD => - if len.all /= 0 then - temp := BS.To_Bounded_String (""); - Set_Buffer (me, 1, BS.To_String (temp)); - len.all := 0; - end if; - - when REQ_DEL_CHAR | - REQ_DEL_PREV => - if len.all /= 0 then - BS.Delete (temp, BS.Length (temp), BS.Length (temp)); - Set_Buffer (me, 1, BS.To_String (temp)); - len.all := len.all - 1; - end if; - when others => null; - end case; - end if; - end; - end if; - return c; - end edit_secure; - - mode : Key_Code := REQ_INS_MODE; - - function form_virtualize (f : Form; w : Window) return Key_Code is - type lookup_t is record - code : Key_Code; - result : Key_Code; - -- should be Form_Request_Code, but we need MAX_COMMAND + 1 - end record; - - lookup : constant array (Positive range <>) of lookup_t := - ( - ( - Character'Pos ('A') mod 16#20#, REQ_NEXT_CHOICE - ), - ( - Character'Pos ('B') mod 16#20#, REQ_PREV_WORD - ), - ( - Character'Pos ('C') mod 16#20#, REQ_CLR_EOL - ), - ( - Character'Pos ('D') mod 16#20#, REQ_DOWN_FIELD - ), - ( - Character'Pos ('E') mod 16#20#, REQ_END_FIELD - ), - ( - Character'Pos ('F') mod 16#20#, REQ_NEXT_PAGE - ), - ( - Character'Pos ('G') mod 16#20#, REQ_DEL_WORD - ), - ( - Character'Pos ('H') mod 16#20#, REQ_DEL_PREV - ), - ( - Character'Pos ('I') mod 16#20#, REQ_INS_CHAR - ), - ( - Character'Pos ('K') mod 16#20#, REQ_CLR_EOF - ), - ( - Character'Pos ('L') mod 16#20#, REQ_LEFT_FIELD - ), - ( - Character'Pos ('M') mod 16#20#, REQ_NEW_LINE - ), - ( - Character'Pos ('N') mod 16#20#, REQ_NEXT_FIELD - ), - ( - Character'Pos ('O') mod 16#20#, REQ_INS_LINE - ), - ( - Character'Pos ('P') mod 16#20#, REQ_PREV_FIELD - ), - ( - Character'Pos ('R') mod 16#20#, REQ_RIGHT_FIELD - ), - ( - Character'Pos ('S') mod 16#20#, REQ_BEG_FIELD - ), - ( - Character'Pos ('U') mod 16#20#, REQ_UP_FIELD - ), - ( - Character'Pos ('V') mod 16#20#, REQ_DEL_CHAR - ), - ( - Character'Pos ('W') mod 16#20#, REQ_NEXT_WORD - ), - ( - Character'Pos ('X') mod 16#20#, REQ_CLR_FIELD - ), - ( - Character'Pos ('Y') mod 16#20#, REQ_DEL_LINE - ), - ( - Character'Pos ('Z') mod 16#20#, REQ_PREV_CHOICE - ), - ( - Character'Pos ('[') mod 16#20#, -- ESCAPE - Form_Request_Code'Last + 1 - ), - ( - Key_Backspace, REQ_DEL_PREV - ), - ( - KEY_DOWN, REQ_DOWN_CHAR - ), - ( - Key_End, REQ_LAST_FIELD - ), - ( - Key_Home, REQ_FIRST_FIELD - ), - ( - KEY_LEFT, REQ_LEFT_CHAR - ), - ( - KEY_LL, REQ_LAST_FIELD - ), - ( - Key_Next, REQ_NEXT_FIELD - ), - ( - KEY_NPAGE, REQ_NEXT_PAGE - ), - ( - KEY_PPAGE, REQ_PREV_PAGE - ), - ( - Key_Previous, REQ_PREV_FIELD - ), - ( - KEY_RIGHT, REQ_RIGHT_CHAR - ), - ( - KEY_UP, REQ_UP_CHAR - ), - ( - Character'Pos ('Q') mod 16#20#, -- QUIT - Form_Request_Code'Last + 1 -- TODO MAX_FORM_COMMAND + 1 - ) - ); - - c : Key_Code := Getchar (w); - me : constant Field := Current (f); - - begin - if c = Character'Pos (']') mod 16#20# then - if mode = REQ_INS_MODE then - mode := REQ_OVL_MODE; - else - mode := REQ_INS_MODE; - end if; - c := mode; - else - for n in lookup'Range loop - if lookup (n).code = c then - c := lookup (n).result; - exit; - end if; - end loop; - end if; - - -- Force the field that the user is typing into to be in reverse video, - -- while the other fields are shown underlined. - if c <= Key_Max then - c := edit_secure (me, c); - Set_Background (me, (Reverse_Video => True, others => False)); - elsif c <= Form_Request_Code'Last then - c := edit_secure (me, c); - Set_Background (me, (Under_Line => True, others => False)); - end if; - return c; - end form_virtualize; - - function my_form_driver (f : Form; c : Key_Code) return Boolean is - flag : constant Driver_Result := Driver (f, F_Validate_Field); - begin - if c = Form_Request_Code'Last + 1 - and flag = Form_Ok then - return True; - else - Beep; - return False; - end if; - end my_form_driver; - - function make_label (frow : Line_Position; - fcol : Column_Position; - label : String) return Field is - f : constant Field := Create (1, label'Length, frow, fcol, 0, 0); - o : Field_Option_Set := Get_Options (f); - begin - if f /= Null_Field then - Set_Buffer (f, 0, label); - o.Active := False; - Set_Options (f, o); - end if; - return f; - end make_label; - - function make_field (frow : Line_Position; - fcol : Column_Position; - rows : Line_Count; - cols : Column_Count; - secure : Boolean) return Field is - f : Field; - use StringData; - len : myptr; - begin - if secure then - f := Create (rows, cols, frow, fcol, 0, 1); - else - f := Create (rows, cols, frow, fcol, 0, 0); - end if; - - if f /= Null_Field then - Set_Background (f, (Under_Line => True, others => False)); - len := new Integer; - len.all := 0; - Set_User_Data (f, len); - end if; - return f; - end make_field; - - procedure display_form (f : Form) is - w : Window; - rows : Line_Count; - cols : Column_Count; - begin - Scale (f, rows, cols); - - w := New_Window (rows + 2, cols + 4, 0, 0); - if w /= Null_Window then - Set_Window (f, w); - Set_Sub_Window (f, Derived_Window (w, rows, cols, 1, 2)); - Box (w); -- 0,0 - Set_KeyPad_Mode (w, True); - end if; - - -- TODO if Post(f) /= Form_Ok then it's a procedure - declare - begin - Post (f); - exception - when - Eti_System_Error | - Eti_Bad_Argument | - Eti_Posted | - Eti_Connected | - Eti_Bad_State | - Eti_No_Room | - Eti_Not_Posted | - Eti_Unknown_Command | - Eti_No_Match | - Eti_Not_Selectable | - Eti_Not_Connected | - Eti_Request_Denied | - Eti_Invalid_Field | - Eti_Current => - Refresh (w); - end; - -- end if; - end display_form; - - procedure erase_form (f : Form) is - w : Window := Get_Window (f); - s : Window := Get_Sub_Window (f); - begin - Post (f, False); - Erase (w); - Refresh (w); - Delete (s); - Delete (w); - end erase_form; - - finished : Boolean := False; - f : Field_Array_Access := new Field_Array (1 .. 12); - secure : Field; - myform : Form; - w : Window; - c : Key_Code; - result : Driver_Result; -begin - Move_Cursor (Line => 18, Column => 0); - Add (Str => "Defined form-traversal keys: ^Q/ESC- exit form"); - Add (Ch => newl); - Add (Str => "^N -- go to next field ^P -- go to previous field"); - Add (Ch => newl); - Add (Str => "Home -- go to first field End -- go to last field"); - Add (Ch => newl); - Add (Str => "^L -- go to field to left ^R -- go to field to right"); - Add (Ch => newl); - Add (Str => "^U -- move upward to field ^D -- move downward to field"); - Add (Ch => newl); - Add (Str => "^W -- go to next word ^B -- go to previous word"); - Add (Ch => newl); - Add (Str => "^S -- go to start of field ^E -- go to end of field"); - Add (Ch => newl); - Add (Str => "^H -- delete previous char ^Y -- delete line"); - Add (Ch => newl); - Add (Str => "^G -- delete current word ^C -- clear to end of line"); - Add (Ch => newl); - Add (Str => "^K -- clear to end of field ^X -- clear field"); - Add (Ch => newl); - Add (Str => "Arrow keys move within a field as you would expect."); - - Add (Line => 4, Column => 57, Str => "Forms Entry Test"); - - Refresh; - - -- describe the form - f (1) := make_label (0, 15, "Sample Form"); - f (2) := make_label (2, 0, "Last Name"); - f (3) := make_field (3, 0, 1, 18, False); - f (4) := make_label (2, 20, "First Name"); - f (5) := make_field (3, 20, 1, 12, False); - f (6) := make_label (2, 34, "Middle Name"); - f (7) := make_field (3, 34, 1, 12, False); - f (8) := make_label (5, 0, "Comments"); - f (9) := make_field (6, 0, 4, 46, False); - f (10) := make_label (5, 20, "Password:"); - f (11) := make_field (5, 30, 1, 9, True); - secure := f (11); - f (12) := Null_Field; - - myform := New_Form (f); - - display_form (myform); - - w := Get_Window (myform); - Set_Raw_Mode (SwitchOn => True); - Set_NL_Mode (SwitchOn => True); -- lets us read ^M's - while not finished loop - c := form_virtualize (myform, w); - result := Driver (myform, c); - case result is - when Form_Ok => - Add (Line => 5, Column => 57, Str => Get_Buffer (secure, 1)); - Clear_To_End_Of_Line; - Refresh; - when Unknown_Request => - finished := my_form_driver (myform, c); - when others => - Beep; - end case; - end loop; - - erase_form (myform); - - -- TODO Free_Form(myform); - -- for (c = 0; f[c] != 0; c++) free_field(f[c]); - Set_Raw_Mode (SwitchOn => False); - Set_NL_Mode (SwitchOn => True); - -end ncurses2.demo_forms; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-demo_forms.ads b/src/libs/ncurses/Ada95/samples/ncurses2-demo_forms.ads deleted file mode 100644 index eabaa01b9e..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-demo_forms.ads +++ /dev/null @@ -1,41 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -procedure ncurses2.demo_forms; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-demo_pad.adb b/src/libs/ncurses/Ada95/samples/ncurses2-demo_pad.adb deleted file mode 100644 index 399a2f4b5c..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-demo_pad.adb +++ /dev/null @@ -1,679 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.5 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with ncurses2.util; use ncurses2.util; - -with Terminal_Interface.Curses; use Terminal_Interface.Curses; - -with Interfaces.C; -with System.Storage_Elements; -with System.Address_To_Access_Conversions; - -with Ada.Text_IO; --- with Ada.Real_Time; use Ada.Real_Time; --- TODO is there a way to use Real_Time or Ada.Calendar in place of --- gettimeofday? - --- Demonstrate pads. -procedure ncurses2.demo_pad is - - type timestruct is record - seconds : Integer; - microseconds : Integer; - end record; - - type myfunc is access function (w : Window) return Key_Code; - - function gettime return timestruct; - procedure do_h_line (y : Line_Position; - x : Column_Position; - c : Attributed_Character; - to : Column_Position); - procedure do_v_line (y : Line_Position; - x : Column_Position; - c : Attributed_Character; - to : Line_Position); - function padgetch (win : Window) return Key_Code; - function panner_legend (line : Line_Position) return Boolean; - procedure panner_legend (line : Line_Position); - procedure panner_h_cleanup (from_y : Line_Position; - from_x : Column_Position; - to_x : Column_Position); - procedure panner_v_cleanup (from_y : Line_Position; - from_x : Column_Position; - to_y : Line_Position); - procedure panner (pad : Window; - top_xp : Column_Position; - top_yp : Line_Position; - portyp : Line_Position; - portxp : Column_Position; - pgetc : myfunc); - - function gettime return timestruct is - - retval : timestruct; - - use Interfaces.C; - type timeval is record - tv_sec : long; - tv_usec : long; - end record; - pragma Convention (C, timeval); - - -- TODO function from_timeval is new Ada.Unchecked_Conversion( - -- timeval_a, System.Storage_Elements.Integer_Address); - -- should Interfaces.C.Pointers be used here? - - package myP is new System.Address_To_Access_Conversions (timeval); - use myP; - - t : constant Object_Pointer := new timeval; - - function gettimeofday - (TP : System.Storage_Elements.Integer_Address; - TZP : System.Storage_Elements.Integer_Address) return int; - pragma Import (C, gettimeofday, "gettimeofday"); - tmp : int; - begin - tmp := gettimeofday (System.Storage_Elements.To_Integer - (myP.To_Address (t)), - System.Storage_Elements.To_Integer - (myP.To_Address (null))); - if tmp < 0 then - retval.seconds := 0; - retval.microseconds := 0; - else - retval.seconds := Integer (t.tv_sec); - retval.microseconds := Integer (t.tv_usec); - end if; - return retval; - end gettime; - - - -- in C, The behavior of mvhline, mvvline for negative/zero length is - -- unspecified, though we can rely on negative x/y values to stop the - -- macro. Except Ada makes Line_Position(-1) = Natural - 1 so forget it. - procedure do_h_line (y : Line_Position; - x : Column_Position; - c : Attributed_Character; - to : Column_Position) is - begin - if to > x then - Move_Cursor (Line => y, Column => x); - Horizontal_Line (Line_Size => Natural (to - x), Line_Symbol => c); - end if; - end do_h_line; - - procedure do_v_line (y : Line_Position; - x : Column_Position; - c : Attributed_Character; - to : Line_Position) is - begin - if to > y then - Move_Cursor (Line => y, Column => x); - Vertical_Line (Line_Size => Natural (to - y), Line_Symbol => c); - end if; - end do_v_line; - - - - - function padgetch (win : Window) return Key_Code is - c : Key_Code; - c2 : Character; - begin - c := Getchar (win); - c2 := Code_To_Char (c); - - case c2 is - when '!' => - ShellOut (False); - return Key_Refresh; - when Character'Val (Character'Pos ('r') mod 16#20#) => -- CTRL('r') - End_Windows; - Refresh; - return Key_Refresh; - when Character'Val (Character'Pos ('l') mod 16#20#) => -- CTRL('l') - return Key_Refresh; - when 'U' => - return Key_Cursor_Up; - when 'D' => - return Key_Cursor_Down; - when 'R' => - return Key_Cursor_Right; - when 'L' => - return Key_Cursor_Left; - when '+' => - return Key_Insert_Line; - when '-' => - return Key_Delete_Line; - when '>' => - return Key_Insert_Char; - when '<' => - return Key_Delete_Char; - -- when ERR=> /* FALLTHRU */ - when 'q' => - return (Key_Exit); - when others => - return (c); - end case; - end padgetch; - - show_panner_legend : Boolean := True; - - function panner_legend (line : Line_Position) return Boolean is - legend : constant array (0 .. 3) of String (1 .. 61) := - ( - "Use arrow keys (or U,D,L,R) to pan, q to quit (?,t,s flags) ", - "Use ! to shell-out. Toggle legend:?, timer:t, scroll mark:s.", - "Use +,- (or j,k) to grow/shrink the panner vertically. ", - "Use <,> (or h,l) to grow/shrink the panner horizontally. "); - legendsize : constant := 4; - - n : constant Integer := legendsize - Integer (Lines - line); - begin - if line < Lines and n >= 0 then - Move_Cursor (Line => line, Column => 0); - if show_panner_legend then - Add (Str => legend (n)); - end if; - Clear_To_End_Of_Line; - return show_panner_legend; - end if; - return False; - end panner_legend; - - procedure panner_legend (line : Line_Position) is - begin - if not panner_legend (line) then - Beep; - end if; - end panner_legend; - - procedure panner_h_cleanup (from_y : Line_Position; - from_x : Column_Position; - to_x : Column_Position) is - begin - if not panner_legend (from_y) then - do_h_line (from_y, from_x, Blank2, to_x); - end if; - end panner_h_cleanup; - - procedure panner_v_cleanup (from_y : Line_Position; - from_x : Column_Position; - to_y : Line_Position) is - begin - if not panner_legend (from_y) then - do_v_line (from_y, from_x, Blank2, to_y); - end if; - end panner_v_cleanup; - - - procedure panner (pad : Window; - top_xp : Column_Position; - top_yp : Line_Position; - portyp : Line_Position; - portxp : Column_Position; - pgetc : myfunc) is - - function f (y : Line_Position) return Line_Position; - function f (x : Column_Position) return Column_Position; - function greater (y1, y2 : Line_Position) return Integer; - function greater (x1, x2 : Column_Position) return Integer; - - top_x : Column_Position := top_xp; - top_y : Line_Position := top_yp; - porty : Line_Position := portyp; - portx : Column_Position := portxp; - - -- f[x] returns max[x - 1, 0] - function f (y : Line_Position) return Line_Position is - begin - if y > 0 then - return y - 1; - else - return y; -- 0 - end if; - end f; - - function f (x : Column_Position) return Column_Position is - begin - if x > 0 then - return x - 1; - else - return x; -- 0 - end if; - end f; - - function greater (y1, y2 : Line_Position) return Integer is - begin - if y1 > y2 then - return 1; - else - return 0; - end if; - end greater; - - function greater (x1, x2 : Column_Position) return Integer is - begin - if x1 > x2 then - return 1; - else - return 0; - end if; - end greater; - - - pymax : Line_Position; - basey : Line_Position := 0; - pxmax : Column_Position; - basex : Column_Position := 0; - c : Key_Code; - scrollers : Boolean := True; - before, after : timestruct; - timing : Boolean := True; - - package floatio is new Ada.Text_IO.Float_IO (Long_Float); - begin - Get_Size (pad, pymax, pxmax); - Allow_Scrolling (Mode => False); -- we don't want stdscr to scroll! - - c := Key_Refresh; - loop - -- During shell-out, the user may have resized the window. Adjust - -- the port size of the pad to accommodate this. Ncurses - -- automatically resizes all of the normal windows to fit on the - -- new screen. - if top_x > Columns then - top_x := Columns; - end if; - if portx > Columns then - portx := Columns; - end if; - if top_y > Lines then - top_y := Lines; - end if; - if porty > Lines then - porty := Lines; - end if; - - case c is - when Key_Refresh | Character'Pos ('?') => - if c = Key_Refresh then - Erase; - else -- '?' - show_panner_legend := not show_panner_legend; - end if; - panner_legend (Lines - 4); - panner_legend (Lines - 3); - panner_legend (Lines - 2); - panner_legend (Lines - 1); - when Character'Pos ('t') => - timing := not timing; - if not timing then - panner_legend (Lines - 1); - end if; - when Character'Pos ('s') => - scrollers := not scrollers; - - -- Move the top-left corner of the pad, keeping the - -- bottom-right corner fixed. - when Character'Pos ('h') => - -- increase-columns: move left edge to left - if top_x <= 0 then - Beep; - else - panner_v_cleanup (top_y, top_x, porty); - top_x := top_x - 1; - end if; - - when Character'Pos ('j') => - -- decrease-lines: move top-edge down - if top_y >= porty then - Beep; - else - if top_y /= 0 then - panner_h_cleanup (top_y - 1, f (top_x), portx); - end if; - top_y := top_y + 1; - end if; - when Character'Pos ('k') => - -- increase-lines: move top-edge up - if top_y <= 0 then - Beep; - else - top_y := top_y - 1; - panner_h_cleanup (top_y, top_x, portx); - end if; - - when Character'Pos ('l') => - -- decrease-columns: move left-edge to right - if top_x >= portx then - Beep; - else - if top_x /= 0 then - panner_v_cleanup (f (top_y), top_x - 1, porty); - end if; - top_x := top_x + 1; - end if; - - -- Move the bottom-right corner of the pad, keeping the - -- top-left corner fixed. - when Key_Insert_Char => - -- increase-columns: move right-edge to right - if portx >= pxmax or portx >= Columns then - Beep; - else - panner_v_cleanup (f (top_y), portx - 1, porty); - portx := portx + 1; - -- C had ++portx instead of portx++, weird. - end if; - when Key_Insert_Line => - -- increase-lines: move bottom-edge down - if porty >= pymax or porty >= Lines then - Beep; - else - panner_h_cleanup (porty - 1, f (top_x), portx); - porty := porty + 1; - end if; - - when Key_Delete_Char => - -- decrease-columns: move bottom edge up - if portx <= top_x then - Beep; - else - portx := portx - 1; - panner_v_cleanup (f (top_y), portx, porty); - end if; - - when Key_Delete_Line => - -- decrease-lines - if porty <= top_y then - Beep; - else - porty := porty - 1; - panner_h_cleanup (porty, f (top_x), portx); - end if; - when Key_Cursor_Left => - -- pan leftwards - if basex > 0 then - basex := basex - 1; - else - Beep; - end if; - when Key_Cursor_Right => - -- pan rightwards - -- if (basex + portx - (pymax > porty) < pxmax) - if basex + portx - - Column_Position (greater (pymax, porty)) < pxmax then - -- if basex + portx < pxmax or - -- (pymax > porty and basex + portx - 1 < pxmax) then - basex := basex + 1; - else - Beep; - end if; - - when Key_Cursor_Up => - -- pan upwards - if basey > 0 then - basey := basey - 1; - else - Beep; - end if; - - when Key_Cursor_Down => - -- pan downwards - -- same as if (basey + porty - (pxmax > portx) < pymax) - if basey + porty - - Line_Position (greater (pxmax, portx)) < pymax then - -- if (basey + porty < pymax) or - -- (pxmax > portx and basey + porty - 1 < pymax) then - basey := basey + 1; - else - Beep; - end if; - - when Character'Pos ('H') | - Key_Home | - Key_Find => - basey := 0; - - when Character'Pos ('E') | - Key_End | - Key_Select => - if pymax < porty then - basey := 0; - else - basey := pymax - porty; - end if; - - when others => - Beep; - end case; - - -- more writing off the screen. - -- Interestingly, the exception is not handled if - -- we put a block around this. - -- delcare --begin - if top_y /= 0 and top_x /= 0 then - Add (Line => top_y - 1, Column => top_x - 1, - Ch => ACS_Map (ACS_Upper_Left_Corner)); - end if; - if top_x /= 0 then - do_v_line (top_y, top_x - 1, ACS_Map (ACS_Vertical_Line), porty); - end if; - if top_y /= 0 then - do_h_line (top_y - 1, top_x, ACS_Map (ACS_Horizontal_Line), portx); - end if; - -- exception when Curses_Exception => null; end; - - -- in C was ... pxmax > portx - 1 - if scrollers and pxmax >= portx then - declare - length : constant Column_Position := portx - top_x - 1; - lowend, highend : Column_Position; - begin - -- Instead of using floats, I'll use integers only. - lowend := top_x + (basex * length) / pxmax; - highend := top_x + ((basex + length) * length) / pxmax; - - do_h_line (porty - 1, top_x, ACS_Map (ACS_Horizontal_Line), - lowend); - if highend < portx then - Switch_Character_Attribute - (Attr => (Reverse_Video => True, others => False), - On => True); - do_h_line (porty - 1, lowend, Blank2, highend + 1); - Switch_Character_Attribute - (Attr => (Reverse_Video => True, others => False), - On => False); - do_h_line (porty - 1, highend + 1, - ACS_Map (ACS_Horizontal_Line), portx); - end if; - end; - else - do_h_line (porty - 1, top_x, ACS_Map (ACS_Horizontal_Line), portx); - end if; - - if scrollers and pymax >= porty then - declare - length : constant Line_Position := porty - top_y - 1; - lowend, highend : Line_Position; - begin - lowend := top_y + (basey * length) / pymax; - highend := top_y + ((basey + length) * length) / pymax; - - do_v_line (top_y, portx - 1, ACS_Map (ACS_Vertical_Line), - lowend); - if highend < porty then - Switch_Character_Attribute - (Attr => (Reverse_Video => True, others => False), - On => True); - do_v_line (lowend, portx - 1, Blank2, highend + 1); - Switch_Character_Attribute - (Attr => (Reverse_Video => True, others => False), - On => False); - do_v_line (highend + 1, portx - 1, - ACS_Map (ACS_Vertical_Line), porty); - end if; - end; - else - do_v_line (top_y, portx - 1, ACS_Map (ACS_Vertical_Line), porty); - end if; - - if top_y /= 0 then - Add (Line => top_y - 1, Column => portx - 1, - Ch => ACS_Map (ACS_Upper_Right_Corner)); - end if; - if top_x /= 0 then - Add (Line => porty - 1, Column => top_x - 1, - Ch => ACS_Map (ACS_Lower_Left_Corner)); - end if; - declare - begin - -- Here is another place where it is possible - -- to write to the corner of the screen. - Add (Line => porty - 1, Column => portx - 1, - Ch => ACS_Map (ACS_Lower_Right_Corner)); - exception - when Curses_Exception => null; - end; - - before := gettime; - - Refresh_Without_Update; - - declare - -- the C version allows the panel to have a zero height - -- wich raise the exception - begin - Refresh_Without_Update - ( - pad, - basey, basex, - top_y, top_x, - porty - Line_Position (greater (pxmax, portx)) - 1, - portx - Column_Position (greater (pymax, porty)) - 1); - exception - when Curses_Exception => null; - end; - - Update_Screen; - - if timing then declare - s : String (1 .. 7); - elapsed : Long_Float; - begin - after := gettime; - elapsed := (Long_Float (after.seconds - before.seconds) + - Long_Float (after.microseconds - before.microseconds) - / 1.0e6); - Move_Cursor (Line => Lines - 1, Column => Columns - 20); - floatio.Put (s, elapsed, Aft => 3, Exp => 0); - Add (Str => s); - Refresh; - end; - end if; - - c := pgetc (pad); - exit when c = Key_Exit; - - end loop; - - Allow_Scrolling (Mode => True); - - end panner; - - Gridsize : constant := 3; - Gridcount : Integer := 0; - - Pad_High : constant Line_Count := 200; - Pad_Wide : constant Column_Count := 200; - panpad : Window := New_Pad (Pad_High, Pad_Wide); -begin - if panpad = Null_Window then - Cannot ("cannot create requested pad"); - return; - end if; - - for i in 0 .. Pad_High - 1 loop - for j in 0 .. Pad_Wide - 1 loop - if i mod Gridsize = 0 and j mod Gridsize = 0 then - if i = 0 or j = 0 then - Add (panpad, '+'); - else - -- depends on ASCII? - Add (panpad, - Ch => Character'Val (Character'Pos ('A') + - Gridcount mod 26)); - Gridcount := Gridcount + 1; - end if; - elsif i mod Gridsize = 0 then - Add (panpad, '-'); - elsif j mod Gridsize = 0 then - Add (panpad, '|'); - else - declare - -- handle the write to the lower right corner error - begin - Add (panpad, ' '); - exception - when Curses_Exception => null; - end; - end if; - end loop; - end loop; - panner_legend (Lines - 4); - panner_legend (Lines - 3); - panner_legend (Lines - 2); - panner_legend (Lines - 1); - - Set_KeyPad_Mode (panpad, True); - -- Make the pad (initially) narrow enough that a trace file won't wrap. - -- We'll still be able to widen it during a test, since that's required - -- for testing boundaries. - - panner (panpad, 2, 2, Lines - 5, Columns - 15, padgetch'Access); - - Delete (panpad); - End_Windows; -- Hmm, Erase after End_Windows - Erase; -end ncurses2.demo_pad; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-demo_pad.ads b/src/libs/ncurses/Ada95/samples/ncurses2-demo_pad.ads deleted file mode 100644 index b996263c1c..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-demo_pad.ads +++ /dev/null @@ -1,41 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -procedure ncurses2.demo_pad; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-demo_panels.adb b/src/libs/ncurses/Ada95/samples/ncurses2-demo_panels.adb deleted file mode 100644 index 6a0b60368c..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-demo_panels.adb +++ /dev/null @@ -1,380 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.4 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with ncurses2.util; use ncurses2.util; -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Panels; use Terminal_Interface.Curses.Panels; -with Terminal_Interface.Curses.Panels.User_Data; - -with ncurses2.genericPuts; - -procedure ncurses2.demo_panels (nap_mseci : Integer) is - use Int_IO; - - function mkpanel (color : Color_Number; - rows : Line_Count; - cols : Column_Count; - tly : Line_Position; - tlx : Column_Position) return Panel; - procedure rmpanel (pan : in out Panel); - procedure pflush; - procedure wait_a_while (msec : Integer); - procedure saywhat (text : String); - procedure fill_panel (pan : Panel); - - nap_msec : Integer := nap_mseci; - - function mkpanel (color : Color_Number; - rows : Line_Count; - cols : Column_Count; - tly : Line_Position; - tlx : Column_Position) return Panel is - win : Window; - pan : Panel := Null_Panel; - begin - win := New_Window (rows, cols, tly, tlx); - if Null_Window /= win then - pan := New_Panel (win); - if pan = Null_Panel then - Delete (win); - elsif Has_Colors then - declare - fg, bg : Color_Number; - begin - if color = Blue then - fg := White; - else - fg := Black; - end if; - bg := color; - Init_Pair (Color_Pair (color), fg, bg); - Set_Background (win, (Ch => ' ', - Attr => Normal_Video, - Color => Color_Pair (color))); - end; - else - Set_Background (win, (Ch => ' ', - Attr => (Bold_Character => True, - others => False), - Color => Color_Pair (color))); - end if; - end if; - return pan; - end mkpanel; - - procedure rmpanel (pan : in out Panel) is - win : Window := Panel_Window (pan); - begin - Delete (pan); - Delete (win); - end rmpanel; - - procedure pflush is - begin - Update_Panels; - Update_Screen; - end pflush; - - procedure wait_a_while (msec : Integer) is - begin - -- The C version had some #ifdef blocks here - if msec = 1 then - Getchar; - else - Nap_Milli_Seconds (msec); - end if; - end wait_a_while; - - procedure saywhat (text : String) is - begin - Move_Cursor (Line => Lines - 1, Column => 0); - Clear_To_End_Of_Line; - Add (Str => text); - end saywhat; - - -- from sample-curses_demo.adb - type User_Data is new String (1 .. 2); - type User_Data_Access is access all User_Data; - package PUD is new Panels.User_Data (User_Data, User_Data_Access); - - use PUD; - - procedure fill_panel (pan : Panel) is - win : constant Window := Panel_Window (pan); - num : constant Character := Get_User_Data (pan) (2); - tmp6 : String (1 .. 6) := "-panx-"; - maxy : Line_Count; - maxx : Column_Count; - - begin - Move_Cursor (win, 1, 1); - tmp6 (5) := num; - Add (win, Str => tmp6); - Clear_To_End_Of_Line (win); - Box (win); - Get_Size (win, maxy, maxx); - for y in 2 .. maxy - 2 loop - for x in 1 .. maxx - 2 loop - Move_Cursor (win, y, x); - Add (win, num); - end loop; - end loop; - end fill_panel; - - modstr : constant array (0 .. 5) of String (1 .. 5) := - ("test ", - "TEST ", - "(**) ", - "*()* ", - "<--> ", - "LAST " - ); - - package p is new ncurses2.genericPuts (1024); - use p; - use p.BS; - -- the C version said register int y, x; - tmpb : BS.Bounded_String; - -begin - Refresh; - - for y in 0 .. Integer (Lines - 2) loop - for x in 0 .. Integer (Columns - 1) loop - myPut (tmpb, (y + x) mod 10); - myAdd (Str => tmpb); - end loop; - end loop; - for y in 0 .. 4 loop - declare - p1, p2, p3, p4, p5 : Panel; - U1 : constant User_Data_Access := new User_Data'("p1"); - U2 : constant User_Data_Access := new User_Data'("p2"); - U3 : constant User_Data_Access := new User_Data'("p3"); - U4 : constant User_Data_Access := new User_Data'("p4"); - U5 : constant User_Data_Access := new User_Data'("p5"); - - begin - p1 := mkpanel (Red, Lines / 2 - 2, Columns / 8 + 1, 0, 0); - Set_User_Data (p1, U1); - p2 := mkpanel (Green, Lines / 2 + 1, Columns / 7, Lines / 4, - Columns / 10); - Set_User_Data (p2, U2); - p3 := mkpanel (Yellow, Lines / 4, Columns / 10, Lines / 2, - Columns / 9); - Set_User_Data (p3, U3); - p4 := mkpanel (Blue, Lines / 2 - 2, Columns / 8, Lines / 2 - 2, - Columns / 3); - Set_User_Data (p4, U4); - p5 := mkpanel (Magenta, Lines / 2 - 2, Columns / 8, Lines / 2, - Columns / 2 - 2); - Set_User_Data (p5, U5); - - fill_panel (p1); - fill_panel (p2); - fill_panel (p3); - fill_panel (p4); - fill_panel (p5); - Hide (p4); - Hide (p5); - pflush; - saywhat ("press any key to continue"); - wait_a_while (nap_msec); - - saywhat ("h3 s1 s2 s4 s5; press any key to continue"); - Move (p1, 0, 0); - Hide (p3); - Show (p1); - Show (p2); - Show (p4); - Show (p5); - pflush; - wait_a_while (nap_msec); - - saywhat ("s1; press any key to continue"); - Show (p1); - pflush; - wait_a_while (nap_msec); - - saywhat ("s2; press any key to continue"); - Show (p2); - pflush; - wait_a_while (nap_msec); - - saywhat ("m2; press any key to continue"); - Move (p2, Lines / 3 + 1, Columns / 8); - pflush; - wait_a_while (nap_msec); - - saywhat ("s3;"); - Show (p3); - pflush; - wait_a_while (nap_msec); - - saywhat ("m3; press any key to continue"); - Move (p3, Lines / 4 + 1, Columns / 15); - pflush; - wait_a_while (nap_msec); - - saywhat ("b3; press any key to continue"); - Bottom (p3); - pflush; - wait_a_while (nap_msec); - - saywhat ("s4; press any key to continue"); - Show (p4); - pflush; - wait_a_while (nap_msec); - - saywhat ("s5; press any key to continue"); - Show (p5); - pflush; - wait_a_while (nap_msec); - - saywhat ("t3; press any key to continue"); - Top (p3); - pflush; - wait_a_while (nap_msec); - - saywhat ("t1; press any key to continue"); - Top (p1); - pflush; - wait_a_while (nap_msec); - - saywhat ("t2; press any key to continue"); - Top (p2); - pflush; - wait_a_while (nap_msec); - - saywhat ("t3; press any key to continue"); - Top (p3); - pflush; - wait_a_while (nap_msec); - - saywhat ("t4; press any key to continue"); - Top (p4); - pflush; - wait_a_while (nap_msec); - - for itmp in 0 .. 5 loop - declare - w4 : constant Window := Panel_Window (p4); - w5 : constant Window := Panel_Window (p5); - begin - - saywhat ("m4; press any key to continue"); - Move_Cursor (w4, Lines / 8, 1); - Add (w4, modstr (itmp)); - Move (p4, Lines / 6, Column_Position (itmp) * (Columns / 8)); - Move_Cursor (w5, Lines / 6, 1); - Add (w5, modstr (itmp)); - pflush; - wait_a_while (nap_msec); - - saywhat ("m5; press any key to continue"); - Move_Cursor (w4, Lines / 6, 1); - Add (w4, modstr (itmp)); - Move (p5, Lines / 3 - 1, (Column_Position (itmp) * 10) + 6); - Move_Cursor (w5, Lines / 8, 1); - Add (w5, modstr (itmp)); - pflush; - wait_a_while (nap_msec); - end; - end loop; - - saywhat ("m4; press any key to continue"); - Move (p4, Lines / 6, 6 * (Columns / 8)); - -- Move(p4, Lines / 6, itmp * (Columns / 8)); - pflush; - wait_a_while (nap_msec); - - saywhat ("t5; press any key to continue"); - Top (p5); - pflush; - wait_a_while (nap_msec); - - saywhat ("t2; press any key to continue"); - Top (p2); - pflush; - wait_a_while (nap_msec); - - saywhat ("t1; press any key to continue"); - Top (p1); - pflush; - wait_a_while (nap_msec); - - saywhat ("d2; press any key to continue"); - rmpanel (p2); - pflush; - wait_a_while (nap_msec); - - saywhat ("h3; press any key to continue"); - Hide (p3); - pflush; - wait_a_while (nap_msec); - - saywhat ("d1; press any key to continue"); - rmpanel (p1); - pflush; - wait_a_while (nap_msec); - - saywhat ("d4; press any key to continue"); - rmpanel (p4); - pflush; - wait_a_while (nap_msec); - - saywhat ("d5; press any key to continue"); - rmpanel (p5); - pflush; - wait_a_while (nap_msec); - if nap_msec = 1 then - exit; - else - nap_msec := 100; - end if; - - end; - end loop; - - Erase; - End_Windows; - -end ncurses2.demo_panels; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-demo_panels.ads b/src/libs/ncurses/Ada95/samples/ncurses2-demo_panels.ads deleted file mode 100644 index eb2878c850..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-demo_panels.ads +++ /dev/null @@ -1,41 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -procedure ncurses2.demo_panels (nap_mseci : Integer); diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-flushinp_test.adb b/src/libs/ncurses/Ada95/samples/ncurses2-flushinp_test.adb deleted file mode 100644 index 9ea98e158c..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-flushinp_test.adb +++ /dev/null @@ -1,135 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with ncurses2.util; use ncurses2.util; - -procedure ncurses2.flushinp_test (win : Window) is - - procedure Continue (win : Window); - - procedure Continue (win : Window) is - begin - Set_Echo_Mode (False); - Move_Cursor (win, 10, 1); - Add (win, 10, 1, " Press any key to continue"); - Refresh (win); - Getchar (win); - end Continue; - - h, by, sh : Line_Position; - w, bx, sw : Column_Position; - - subWin : Window; - -begin - Clear (win); - Get_Size (win, h, w); - Get_Window_Position (win, by, bx); - sw := w / 3; - sh := h / 3; - subWin := Sub_Window (win, sh, sw, by + h - sh - 2, bx + w - sw - 2); - - if Has_Colors then - Init_Pair (2, Cyan, Blue); - Change_Background (subWin, - Attributed_Character'(Ch => ' ', Color => 2, - Attr => Normal_Video)); - end if; - - Set_Character_Attributes (subWin, - (Bold_Character => True, others => False)); - Box (subWin); - Add (subWin, 2, 1, "This is a subwindow"); - Refresh (win); - - Set_Cbreak_Mode (True); - Add (win, 0, 1, "This is a test of the flushinp() call."); - - Add (win, 2, 1, "Type random keys for 5 seconds."); - Add (win, 3, 1, - "These should be discarded (not echoed) after the subwindow " & - "goes away."); - Refresh (win); - - for i in 0 .. 4 loop - Move_Cursor (subWin, 1, 1); - Add (subWin, Str => "Time = "); - Add (subWin, Str => Integer'Image (i)); - Refresh (subWin); - Nap_Milli_Seconds (1000); - Flush_Input; - end loop; - - Delete (subWin); - Erase (win); - Flash_Screen; - Refresh (win); - Nap_Milli_Seconds (1000); - - Add (win, 2, 1, - Str => "If you were still typing when the window timer expired,"); - Add (win, 3, 1, - "or else you typed nothing at all while it was running,"); - Add (win, 4, 1, - "test was invalid. You'll see garbage or nothing at all. "); - Add (win, 6, 1, "Press a key"); - Move_Cursor (win, 9, 10); - Refresh (win); - Set_Echo_Mode (True); - Getchar (win); - Flush_Input; - Add (win, 12, 0, - "If you see any key other than what you typed, flushinp() is broken."); - Continue (win); - - Move_Cursor (win, 9, 10); - Delete_Character (win); - Refresh (win); - Move_Cursor (win, 12, 0); - Clear_To_End_Of_Line; - Add (win, - "What you typed should now have been deleted; if not, wdelch() " & - "failed."); - Continue (win); - - Set_Cbreak_Mode (True); - -end ncurses2.flushinp_test; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-flushinp_test.ads b/src/libs/ncurses/Ada95/samples/ncurses2-flushinp_test.ads deleted file mode 100644 index 5376c94a54..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-flushinp_test.ads +++ /dev/null @@ -1,43 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; - -procedure ncurses2.flushinp_test (win : Terminal_Interface.Curses.Window); diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-genericputs.adb b/src/libs/ncurses/Ada95/samples/ncurses2-genericputs.adb deleted file mode 100644 index f17b209878..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-genericputs.adb +++ /dev/null @@ -1,126 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Text_IO; use Ada.Text_IO; -with Ada.Strings.Bounded; use Ada.Strings.Bounded; - -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; - -with Interfaces.C; use Interfaces.C; -with Interfaces.C.Strings; use Interfaces.C.Strings; - - -package body ncurses2.genericPuts is - - procedure myGet (Win : in Window := Standard_Window; - Str : out BS.Bounded_String; - Len : in Integer := -1) - is - use BS; - function Wgetnstr (Win : Window; - Str : char_array; - Len : int) return int; - pragma Import (C, Wgetnstr, "wgetnstr"); - - N : Integer := Len; - Txt : char_array (0 .. size_t (Max_Length)); - xStr : String (1 .. Max_Length); - Cnt : Natural; - begin - if N < 0 then - N := Max_Length; - end if; - if N > Max_Length then - raise Constraint_Error; - end if; - Txt (0) := Interfaces.C.char'First; - if Wgetnstr (Win, Txt, C_Int (N)) = Curses_Err then - raise Curses_Exception; - end if; - To_Ada (Txt, xStr, Cnt, True); - Str := To_Bounded_String (xStr (1 .. Cnt)); - end myGet; - - - - procedure myPut (Str : out BS.Bounded_String; - i : Integer; - Base : in Number_Base := 10) is - package Int_IO is new Integer_IO (Integer); use Int_IO; - tmp : String (1 .. BS.Max_Length); - begin - Put (tmp, i, Base); - Str := To_Bounded_String (tmp); - Trim (Str, Ada.Strings.Trim_End'(Ada.Strings.Left)); - end myPut; - - procedure myAdd (Str : BS.Bounded_String) is - begin - Add (Str => To_String (Str)); - end myAdd; - - -- from ncurses-aux - procedure Fill_String (Cp : in chars_ptr; - Str : out BS.Bounded_String) - is - -- Fill the string with the characters referenced by the - -- chars_ptr. - -- - Len : Natural; - begin - if Cp /= Null_Ptr then - Len := Natural (Strlen (Cp)); - if Max_Length < Len then - raise Constraint_Error; - end if; - declare - S : String (1 .. Len); - begin - S := Value (Cp); - Str := To_Bounded_String (S); - end; - else - Str := Null_Bounded_String; - end if; - - end Fill_String; - -end ncurses2.genericPuts; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-genericputs.ads b/src/libs/ncurses/Ada95/samples/ncurses2-genericputs.ads deleted file mode 100644 index eec7eba683..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-genericputs.ads +++ /dev/null @@ -1,73 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- - -with Ada.Text_IO; use Ada.Text_IO; -with Ada.Strings.Bounded; -use Ada.Strings.Bounded; -with Interfaces.C; use Interfaces.C; -with Interfaces.C.Strings; use Interfaces.C.Strings; -with Terminal_Interface.Curses; - - -generic - Max : Natural; - -- type mystring is private; - -- type myint is -package ncurses2.genericPuts is - package BS is new - Ada.Strings.Bounded.Generic_Bounded_Length (Max); - use BS; - - - procedure myGet (Win : in Terminal_Interface.Curses.Window - := Terminal_Interface.Curses.Standard_Window; - Str : out BS.Bounded_String; - Len : in Integer := -1); - - procedure myPut (Str : out BS.Bounded_String; - i : Integer; - Base : in Number_Base := 10); - -- the default should be Ada.Text_IO.Integer_IO.Default_Base - -- but Default_Base is hidden in the generic so doesn't exist! - procedure myAdd (Str : BS.Bounded_String); - - procedure Fill_String (Cp : in chars_ptr; Str : out BS.Bounded_String); -end ncurses2.genericPuts; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-getch.ads b/src/libs/ncurses/Ada95/samples/ncurses2-getch.ads deleted file mode 100644 index 21a09f3160..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-getch.ads +++ /dev/null @@ -1,41 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -procedure getch_test; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-getch_test.adb b/src/libs/ncurses/Ada95/samples/ncurses2-getch_test.adb deleted file mode 100644 index 57ceb961dc..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-getch_test.adb +++ /dev/null @@ -1,253 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.5 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- --- Character input test --- test the keypad feature - -with ncurses2.util; use ncurses2.util; - -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Mouse; use Terminal_Interface.Curses.Mouse; -with Ada.Characters.Handling; -with Ada.Strings.Bounded; - -with ncurses2.genericPuts; - -procedure ncurses2.getch_test is - use Int_IO; - - function mouse_decode (ep : Mouse_Event) return String; - - function mouse_decode (ep : Mouse_Event) return String is - Y : Line_Position; - X : Column_Position; - Button : Mouse_Button; - State : Button_State; - package BS is new Ada.Strings.Bounded.Generic_Bounded_Length (200); - use BS; - buf : Bounded_String := To_Bounded_String (""); - begin - -- Note that these bindings do not allow - -- two button states, - -- The C version can print {click-1, click-3} for example. - -- They also don't have the 'id' or z coordinate. - Get_Event (ep, Y, X, Button, State); - - -- TODO Append (buf, "id "); from C version - Append (buf, "at ("); - Append (buf, Column_Position'Image (X)); - Append (buf, ", "); - Append (buf, Line_Position'Image (Y)); - Append (buf, ") state"); - Append (buf, Mouse_Button'Image (Button)); - - Append (buf, " = "); - Append (buf, Button_State'Image (State)); - return To_String (buf); - end mouse_decode; - - - buf : String (1 .. 1024); -- TODO was BUFSIZE - n : Integer; - c : Key_Code; - blockflag : Timeout_Mode := Blocking; - firsttime : Boolean := True; - tmp2 : Event_Mask; - tmp6 : String (1 .. 6); - tmp20 : String (1 .. 20); - x : Column_Position; - y : Line_Position; - tmpx : Integer; - incount : Integer := 0; - -begin - Refresh; - tmp2 := Start_Mouse (All_Events); - Add (Str => "Delay in 10ths of a second ( for blocking input)? "); - Set_Echo_Mode (SwitchOn => True); - Get (Str => buf); - - Set_Echo_Mode (SwitchOn => False); - Set_NL_Mode (SwitchOn => False); - - if Ada.Characters.Handling.Is_Digit (buf (1)) then - Get (Item => n, From => buf, Last => tmpx); - Set_Timeout_Mode (Mode => Delayed, Amount => n * 100); - blockflag := Delayed; - end if; - - c := Character'Pos ('?'); - Set_Raw_Mode (SwitchOn => True); - loop - if not firsttime then - Add (Str => "Key pressed: "); - Put (tmp6, Integer (c), 8); - Add (Str => tmp6); - Add (Ch => ' '); - if c = Key_Mouse then declare - event : Mouse_Event; - begin - event := Get_Mouse; - Add (Str => "KEY_MOUSE, "); - Add (Str => mouse_decode (event)); - Add (Ch => newl); - end; - elsif c >= Key_Min then - Key_Name (c, tmp20); - Add (Str => tmp20); - -- I used tmp and got bitten by the length problem:-> - Add (Ch => newl); - elsif c > 16#80# then -- TODO fix, use constant if possible - declare - c2 : constant Character := Character'Val (c mod 16#80#); - begin - if Ada.Characters.Handling.Is_Graphic (c2) then - Add (Str => "M-"); - Add (Ch => c2); - else - Add (Str => "M-"); - Add (Str => Un_Control ((Ch => c2, - Color => Color_Pair'First, - Attr => Normal_Video))); - end if; - Add (Str => " (high-half character)"); - Add (Ch => newl); - end; - else declare - c2 : constant Character := Character'Val (c mod 16#80#); - begin - if Ada.Characters.Handling.Is_Graphic (c2) then - Add (Ch => c2); - Add (Str => " (ASCII printable character)"); - Add (Ch => newl); - else - Add (Str => Un_Control ((Ch => c2, - Color => Color_Pair'First, - Attr => Normal_Video))); - Add (Str => " (ASCII control character)"); - Add (Ch => newl); - end if; - end; - end if; - -- TODO I am not sure why this was in the C version - -- the delay statement scroll anyway. - Get_Cursor_Position (Line => y, Column => x); - if y >= Lines - 1 then - Move_Cursor (Line => 0, Column => 0); - end if; - Clear_To_End_Of_Line; - end if; - - firsttime := False; - if c = Character'Pos ('g') then - declare - package p is new ncurses2.genericPuts (1024); - use p; - use p.BS; - timedout : Boolean := False; - boundedbuf : Bounded_String; - begin - Add (Str => "getstr test: "); - Set_Echo_Mode (SwitchOn => True); - -- Note that if delay mode is set - -- Get can raise an exception. - -- The C version would print the string it had so far - -- also TODO get longer length string, like the C version - declare begin - myGet (Str => boundedbuf); - exception when Curses_Exception => - Add (Str => "Timed out."); - Add (Ch => newl); - timedout := True; - end; - -- note that the Ada Get will stop reading at 1024. - if not timedout then - Set_Echo_Mode (SwitchOn => False); - Add (Str => " I saw '"); - myAdd (Str => boundedbuf); - Add (Str => "'."); - Add (ch => newl); - end if; - end; - elsif c = Character'Pos ('s') then - ShellOut (True); - elsif c = Character'Pos ('x') or c = Character'Pos ('q') or - (c = Key_None and blockflag = Blocking) then - exit; - elsif c = Character'Pos ('?') then - Add (Str => "Type any key to see its keypad value. Also:"); - Add (Ch => newl); - Add (Str => "g -- triggers a getstr test"); - Add (Ch => newl); - Add (Str => "s -- shell out"); - Add (Ch => newl); - Add (Str => "q -- quit"); - Add (Ch => newl); - Add (Str => "? -- repeats this help message"); - Add (Ch => newl); - end if; - - loop - c := Getchar; - exit when c /= Key_None; - if blockflag /= Blocking then - Put (tmp6, incount); -- argh string length! - Add (Str => tmp6); - Add (Str => ": input timed out"); - Add (Ch => newl); - else - Put (tmp6, incount); - Add (Str => tmp6); - Add (Str => ": input error"); - Add (Ch => newl); - exit; - end if; - incount := incount + 1; - end loop; - end loop; - - End_Mouse (tmp2); - Set_Timeout_Mode (Mode => Blocking, Amount => 0); -- amount is ignored - Set_Raw_Mode (SwitchOn => False); - Set_NL_Mode (SwitchOn => True); - Erase; - End_Windows; -end ncurses2.getch_test; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-getch_test.ads b/src/libs/ncurses/Ada95/samples/ncurses2-getch_test.ads deleted file mode 100644 index 78a0a48c17..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-getch_test.ads +++ /dev/null @@ -1,41 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -procedure ncurses2.getch_test; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-getopt.adb b/src/libs/ncurses/Ada95/samples/ncurses2-getopt.adb deleted file mode 100644 index 5719b1b01e..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-getopt.adb +++ /dev/null @@ -1,163 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.6 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- --- A simplified version of the GNU getopt function --- copyright Free Software Foundtion - -with Ada.Strings.Fixed; -with Ada.Strings.Bounded; -with Ada.Text_IO; use Ada.Text_IO; - -package body ncurses2.getopt is - - nextchar : Natural := 0; - - -- Ncurses doesn't use the non option elements so we are spared - -- the job of computing those. - - -- also the user is not allowed to modify argv or argc - -- Doing so is Erroneous execution. - - -- longoptions are not handled. - - procedure Qgetopt (retval : out Integer; - argc : Integer; - argv : stringfunc; - -- argv will be the Argument function. - optstring : String; - optind : in out Integer; - -- ignored for ncurses, must be initialized to 1 by - -- the caller - Optarg : out stringa - -- a garbage colector would be useful here. - ) is - - package BS is new Ada.Strings.Bounded.Generic_Bounded_Length (200); - use BS; - optargx : Bounded_String; - begin - - if argc < optind then - retval := -1; - return; - end if; - - optargx := To_Bounded_String (""); - - if nextchar = 0 then - - if argv (optind) = "--" then - -- the rest are non-options, we ignore them - retval := -1; - return; - end if; - - if argv (optind)(1) /= '-' or argv (optind)'Length = 1 then - optind := optind + 1; - Optarg := new String'(argv (optind)); - retval := 1; - return; - end if; - - nextchar := 2; -- skip the one hyphen. - end if; - - -- Look at and handle the next short option-character. - declare - c : Character := argv (optind) (nextchar); - temp : constant Natural := - Ada.Strings.Fixed.Index (optstring, String'(1 => c)); - begin - if temp = 0 or c = ':' then - Put_Line (Standard_Error, - argv (optind) & ": invalid option -- " & c); - c := '?'; - return; - end if; - - if optstring (temp + 1) = ':' then - if optstring (temp + 2) = ':' then - -- This is an option that accepts an argument optionally. - if nextchar /= argv (optind)'Length then - optargx := To_Bounded_String - (argv (optind) (nextchar .. argv (optind)'Length)); - else - Optarg := null; - end if; - else - -- This is an option that requires an argument. - if nextchar /= argv (optind)'Length then - optargx := To_Bounded_String - (argv (optind) (nextchar .. argv (optind)'Length)); - optind := optind + 1; - elsif optind = argc then - Put_Line (Standard_Error, - argv (optind) & - ": option requires an argument -- " & c); - if optstring (1) = ':' then - c := ':'; - else - c := '?'; - end if; - else - -- increment it again when taking next ARGV-elt as argument. - optind := optind + 1; - optargx := To_Bounded_String (argv (optind)); - optind := optind + 1; - end if; - end if; - nextchar := 0; - else -- no argument for the option - if nextchar = argv (optind)'Length then - optind := optind + 1; - nextchar := 0; - else - nextchar := nextchar + 1; - end if; - end if; - - retval := Character'Pos (c); - Optarg := new String'(To_String (optargx)); - return; - end; - end Qgetopt; - -end ncurses2.getopt; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-getopt.ads b/src/libs/ncurses/Ada95/samples/ncurses2-getopt.ads deleted file mode 100644 index 0bd6952a7b..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-getopt.ads +++ /dev/null @@ -1,59 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package ncurses2.getopt is - - type stringa is access String; - - type stringfunc is access - function (n : Positive) return String; - - - procedure Qgetopt (retval : out Integer; - argc : Integer; - argv : stringfunc; - optstring : String; - optind : in out Integer; - -- ignored for ncurses, must be initialized to 0 - -- by the caller - Optarg : out stringa - -- a garbage collector would be useful here. - ); -end ncurses2.getopt; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-m.adb b/src/libs/ncurses/Ada95/samples/ncurses2-m.adb deleted file mode 100644 index 7b49fc52d1..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-m.adb +++ /dev/null @@ -1,460 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.5 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- --- TODO use Default_Character where appropriate - --- This is an Ada version of ncurses --- I translated this because it tests the most features. - -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Trace; use Terminal_Interface.Curses.Trace; - -with Ada.Text_IO; use Ada.Text_IO; - -with Ada.Characters.Latin_1; --- with Ada.Characters.Handling; - -with Ada.Command_Line; use Ada.Command_Line; - -with Ada.Strings.Unbounded; - - -with ncurses2.util; use ncurses2.util; -with ncurses2.getch_test; -with ncurses2.attr_test; -with ncurses2.color_test; -with ncurses2.demo_panels; -with ncurses2.color_edit; -with ncurses2.slk_test; -with ncurses2.acs_display; -with ncurses2.color_edit; -with ncurses2.acs_and_scroll; -with ncurses2.flushinp_test; -with ncurses2.test_sgr_attributes; -with ncurses2.menu_test; -with ncurses2.demo_pad; -with ncurses2.demo_forms; -with ncurses2.overlap_test; -with ncurses2.trace_set; - -with ncurses2.getopt; use ncurses2.getopt; - -package body ncurses2.m is - use Int_IO; - - function To_trace (n : Integer) return Trace_Attribute_Set; - procedure usage; - procedure Set_Terminal_Modes; - function Do_Single_Test (c : Character) return Boolean; - - function To_trace (n : Integer) return Trace_Attribute_Set is - a : Trace_Attribute_Set := (others => False); - m : Integer; - rest : Integer; - begin - m := n mod 2; - if 1 = m then - a.Times := True; - end if; - rest := n / 2; - - m := rest mod 2; - if 1 = m then - a.Tputs := True; - end if; - rest := rest / 2; - m := rest mod 2; - if 1 = m then - a.Update := True; - end if; - rest := rest / 2; - m := rest mod 2; - if 1 = m then - a.Cursor_Move := True; - end if; - rest := rest / 2; - m := rest mod 2; - if 1 = m then - a.Character_Output := True; - end if; - rest := rest / 2; - m := rest mod 2; - if 1 = m then - a.Calls := True; - end if; - rest := rest / 2; - m := rest mod 2; - if 1 = m then - a.Virtual_Puts := True; - end if; - rest := rest / 2; - m := rest mod 2; - if 1 = m then - a.Input_Events := True; - end if; - rest := rest / 2; - m := rest mod 2; - if 1 = m then - a.TTY_State := True; - end if; - rest := rest / 2; - m := rest mod 2; - if 1 = m then - a.Internal_Calls := True; - end if; - rest := rest / 2; - m := rest mod 2; - if 1 = m then - a.Character_Calls := True; - end if; - rest := rest / 2; - m := rest mod 2; - if 1 = m then - a.Termcap_TermInfo := True; - end if; - - return a; - end To_trace; - - -- these are type Stdscr_Init_Proc; - - function rip_footer ( - Win : Window; - Columns : Column_Count) return Integer; - pragma Convention (C, rip_footer); - - function rip_footer ( - Win : Window; - Columns : Column_Count) return Integer is - begin - Set_Background (Win, (Ch => ' ', - Attr => (Reverse_Video => True, others => False), - Color => 0)); - Erase (Win); - Move_Cursor (Win, 0, 0); - Add (Win, "footer:" & Columns'Img & " columns"); - Refresh_Without_Update (Win); - return 0; -- Curses_OK; - end rip_footer; - - - function rip_header ( - Win : Window; - Columns : Column_Count) return Integer; - pragma Convention (C, rip_header); - - function rip_header ( - Win : Window; - Columns : Column_Count) return Integer is - begin - Set_Background (Win, (Ch => ' ', - Attr => (Reverse_Video => True, others => False), - Color => 0)); - Erase (Win); - Move_Cursor (Win, 0, 0); - Add (Win, "header:" & Columns'Img & " columns"); - -- 'Img is a GNAT extention - Refresh_Without_Update (Win); - return 0; -- Curses_OK; - end rip_header; - - procedure usage is - -- type Stringa is access String; - use Ada.Strings.Unbounded; - -- tbl : constant array (Positive range <>) of Stringa := ( - tbl : constant array (Positive range <>) of Unbounded_String - := ( - To_Unbounded_String ("Usage: ncurses [options]"), - To_Unbounded_String (""), - To_Unbounded_String ("Options:"), - To_Unbounded_String (" -a f,b set default-colors " & - "(assumed white-on-black)"), - To_Unbounded_String (" -d use default-colors if terminal " & - "supports them"), - To_Unbounded_String (" -e fmt specify format for soft-keys " & - "test (e)"), - To_Unbounded_String (" -f rip-off footer line " & - "(can repeat)"), - To_Unbounded_String (" -h rip-off header line " & - "(can repeat)"), - To_Unbounded_String (" -s msec specify nominal time for " & - "panel-demo (default: 1, to hold)"), - To_Unbounded_String (" -t mask specify default trace-level " & - "(may toggle with ^T)") - ); - begin - for n in tbl'Range loop - Put_Line (Standard_Error, To_String (tbl (n))); - end loop; - -- exit(EXIT_FAILURE); - -- TODO should we use Set_Exit_Status and throw and exception? - end usage; - - procedure Set_Terminal_Modes is begin - Set_Raw_Mode (SwitchOn => False); - Set_Cbreak_Mode (SwitchOn => True); - Set_Echo_Mode (SwitchOn => False); - Allow_Scrolling (Mode => True); - Use_Insert_Delete_Line (Do_Idl => True); - Set_KeyPad_Mode (SwitchOn => True); - end Set_Terminal_Modes; - - - nap_msec : Integer := 1; - - function Do_Single_Test (c : Character) return Boolean is - begin - case c is - when 'a' => - getch_test; - when 'b' => - attr_test; - when 'c' => - if not Has_Colors then - Cannot ("does not support color."); - else - color_test; - end if; - when 'd' => - if not Has_Colors then - Cannot ("does not support color."); - elsif not Can_Change_Color then - Cannot ("has hardwired color values."); - else - color_edit; - end if; - when 'e' => - slk_test; - when 'f' => - acs_display; - when 'o' => - demo_panels (nap_msec); - when 'g' => - acs_and_scroll; - when 'i' => - flushinp_test (Standard_Window); - when 'k' => - test_sgr_attributes; - when 'm' => - menu_test; - when 'p' => - demo_pad; - when 'r' => - demo_forms; - when 's' => - overlap_test; - when 't' => - trace_set; - when '?' => - null; - when others => return False; - end case; - return True; - end Do_Single_Test; - - - command : Character; - my_e_param : Soft_Label_Key_Format := Four_Four; - assumed_colors : Boolean := False; - default_colors : Boolean := False; - default_fg : Color_Number := White; - default_bg : Color_Number := Black; - -- nap_msec was an unsigned long integer in the C version, - -- yet napms only takes an int! - - c : Integer; - c2 : Character; - optind : Integer := 1; -- must be initialized to one. - optarg : getopt.stringa; - - length : Integer; - tmpi : Integer; - - package myio is new Ada.Text_IO.Integer_IO (Integer); - use myio; - - save_trace : Integer := 0; - save_trace_set : Trace_Attribute_Set; - - function main return Integer is - begin - loop - Qgetopt (c, Argument_Count, Argument'Access, - "a:de:fhs:t:", optind, optarg); - exit when c = -1; - c2 := Character'Val (c); - case c2 is - when 'a' => - -- Ada doesn't have scanf, it doesn't even have a - -- regular expression library. - assumed_colors := True; - myio.Get (optarg.all, Integer (default_fg), length); - myio.Get (optarg.all (length + 2 .. optarg.all'Length), - Integer (default_bg), length); - when 'd' => - default_colors := True; - when 'e' => - myio.Get (optarg.all, tmpi, length); - if tmpi > 3 then - usage; - return 1; - end if; - my_e_param := Soft_Label_Key_Format'Val (tmpi); - when 'f' => - Rip_Off_Lines (-1, rip_footer'Access); - when 'h' => - Rip_Off_Lines (1, rip_header'Access); - when 's' => - myio.Get (optarg.all, nap_msec, length); - when 't' => - myio.Get (optarg.all, save_trace, length); - when others => - usage; - return 1; - end case; - end loop; - - -- the C version had a bunch of macros here. - - -- if (!isatty(fileno(stdin))) - -- isatty is not available in the standard Ada so skip it. - save_trace_set := To_trace (save_trace); - Trace_On (save_trace_set); - - - Init_Soft_Label_Keys (my_e_param); - - Init_Screen; - Set_Background (Ch => (Ch => Blank, - Attr => Normal_Video, - Color => Color_Pair'First)); - - if Has_Colors then - Start_Color; - if default_colors then - Use_Default_Colors; - elsif assumed_colors then - Assume_Default_Colors (default_fg, default_bg); - end if; - end if; - - Set_Terminal_Modes; - Save_Curses_Mode (Curses); - - End_Windows; - - -- TODO add macro #if blocks. - Put_Line ("Welcome to " & Curses_Version & ". Press ? for help."); - - loop - Put_Line ("This is the ncurses main menu"); - Put_Line ("a = keyboard and mouse input test"); - Put_Line ("b = character attribute test"); - Put_Line ("c = color test pattern"); - Put_Line ("d = edit RGB color values"); - Put_Line ("e = exercise soft keys"); - Put_Line ("f = display ACS characters"); - Put_Line ("g = display windows and scrolling"); - Put_Line ("i = test of flushinp()"); - Put_Line ("k = display character attributes"); - Put_Line ("m = menu code test"); - Put_Line ("o = exercise panels library"); - Put_Line ("p = exercise pad features"); - Put_Line ("q = quit"); - Put_Line ("r = exercise forms code"); - Put_Line ("s = overlapping-refresh test"); - Put_Line ("t = set trace level"); - Put_Line ("? = repeat this command summary"); - - Put ("> "); - Flush; - - command := Ada.Characters.Latin_1.NUL; - -- get_input: - -- loop - declare - Ch : Character; - begin - Get (Ch); - -- TODO if read(ch) <= 0 - -- TODO ada doesn't have an Is_Space function - command := Ch; - -- TODO if ch = '\n' or '\r' are these in Ada? - end; - -- end loop get_input; - - declare - begin - if Do_Single_Test (command) then - Flush_Input; - Set_Terminal_Modes; - Reset_Curses_Mode (Curses); - Clear; - Refresh; - End_Windows; - if command = '?' then - Put_Line ("This is the ncurses capability tester."); - Put_Line ("You may select a test from the main menu by " & - "typing the"); - Put_Line ("key letter of the choice (the letter to left " & - "of the =)"); - Put_Line ("at the > prompt. The commands `x' or `q' will " & - "exit."); - end if; - -- continue; --why continue in the C version? - end if; - exception - when Curses_Exception => End_Windows; - end; - - exit when command = 'q'; - end loop; - return 0; -- TODO ExitProgram(EXIT_SUCCESS); - end main; - -end ncurses2.m; - - - - - - - diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-m.ads b/src/libs/ncurses/Ada95/samples/ncurses2-m.ads deleted file mode 100644 index c32d895dc1..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-m.ads +++ /dev/null @@ -1,43 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package ncurses2.m is - function main return Integer; -end ncurses2.m; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-menu_test.adb b/src/libs/ncurses/Ada95/samples/ncurses2-menu_test.adb deleted file mode 100644 index 297940da6f..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-menu_test.adb +++ /dev/null @@ -1,167 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.5 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with ncurses2.util; use ncurses2.util; - -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Menus; use Terminal_Interface.Curses.Menus; -with Terminal_Interface.Curses.Mouse; use Terminal_Interface.Curses.Mouse; - -procedure ncurses2.menu_test is - function menu_virtualize (c : Key_Code) return Menu_Request_Code; - procedure xAdd (l : Line_Position; c : Column_Position; s : String); - - function menu_virtualize (c : Key_Code) return Menu_Request_Code is - begin - case c is - when Character'Pos (newl) | Key_Exit => - return Menu_Request_Code'Last + 1; -- MAX_COMMAND? TODO - when Character'Pos ('u') => - return M_ScrollUp_Line; - when Character'Pos ('d') => - return M_ScrollDown_Line; - when Character'Pos ('b') | Key_Next_Page => - return M_ScrollUp_Page; - when Character'Pos ('f') | Key_Previous_Page => - return M_ScrollDown_Page; - when Character'Pos ('n') | Key_Cursor_Down => - return M_Next_Item; - when Character'Pos ('p') | Key_Cursor_Up => - return M_Previous_Item; - when Character'Pos (' ') => - return M_Toggle_Item; - when Key_Mouse => - return c; - when others => - Beep; - return c; - end case; - end menu_virtualize; - - MENU_Y : constant Line_Count := 8; - MENU_X : constant Column_Count := 8; - - type String_Access is access String; - - animals : constant array (Positive range <>) of String_Access := - (new String'("Lions"), - new String'("Tigers"), - new String'("Bears"), - new String'("(Oh my!)"), - new String'("Newts"), - new String'("Platypi"), - new String'("Lemurs")); - - items_a : Item_Array_Access := new Item_Array (1 .. animals'Last + 1); - - tmp : Event_Mask; - - procedure xAdd (l : Line_Position; c : Column_Position; s : String) is - begin - Add (Line => l, Column => c, Str => s); - end xAdd; - - mrows : Line_Count; - mcols : Column_Count; - - menuwin : Window; - - m : Menu; - - c1 : Key_Code; - - c : Driver_Result; - r : Menu_Request_Code; -begin - tmp := Start_Mouse; - xAdd (0, 0, "This is the menu test:"); - xAdd (2, 0, " Use up and down arrow to move the select bar."); - xAdd (3, 0, " 'n' and 'p' act like arrows."); - xAdd (4, 0, " 'b' and 'f' scroll up/down (page), 'u' and 'd' (line)."); - xAdd (5, 0, " Press return to exit."); - Refresh; - - for i in animals'Range loop - items_a (i) := New_Item (animals (i).all); - end loop; - items_a (animals'Last + 1) := Null_Item; - - m := New_Menu (items_a); - - Set_Format (m, Line_Position (animals'Last + 1) / 2, 1); - Scale (m, mrows, mcols); - - menuwin := Create (mrows + 2, mcols + 2, MENU_Y, MENU_X); - Set_Window (m, menuwin); - Set_KeyPad_Mode (menuwin, True); - Box (menuwin); -- 0,0? - - Set_Sub_Window (m, Derived_Window (menuwin, mrows, mcols, 1, 1)); - - Post (m); - - loop - c1 := Getchar (menuwin); - r := menu_virtualize (c1); - c := Driver (m, r); - exit when c = Unknown_Request; -- E_UNKNOWN_COMMAND? - if c = Request_Denied then - Beep; - end if; - -- continue ? - end loop; - - Move_Cursor (Line => Lines - 2, Column => 0); - Add (Str => "You chose: "); - Add (Str => Name (Current (m))); - Add (Ch => newl); - Pause; -- the C version didn't use Pause, it spelled it out - - Post (m, False); -- unpost, not clear :-( - declare begin - Delete (menuwin); - exception when Curses_Exception => null; end; - -- menuwin has children so will raise the exception. - - Delete (m); - - End_Mouse (tmp); -end ncurses2.menu_test; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-menu_test.ads b/src/libs/ncurses/Ada95/samples/ncurses2-menu_test.ads deleted file mode 100644 index 17e5b16b3e..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-menu_test.ads +++ /dev/null @@ -1,41 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -procedure ncurses2.menu_test; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-overlap_test.adb b/src/libs/ncurses/Ada95/samples/ncurses2-overlap_test.adb deleted file mode 100644 index 37e8d4c2eb..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-overlap_test.adb +++ /dev/null @@ -1,157 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.4 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with ncurses2.util; use ncurses2.util; -with Terminal_Interface.Curses; use Terminal_Interface.Curses; - --- test effects of overlapping windows - -procedure ncurses2.overlap_test is - - procedure fillwin (win : Window; ch : Character); - procedure crosswin (win : Window; ch : Character); - - procedure fillwin (win : Window; ch : Character) is - y1 : Line_Position; - x1 : Column_Position; - begin - Get_Size (win, y1, x1); - for y in 0 .. y1 - 1 loop - Move_Cursor (win, y, 0); - for x in 0 .. x1 - 1 loop - Add (win, Ch => ch); - end loop; - end loop; - exception - when Curses_Exception => null; - -- write to lower right corner - end fillwin; - - procedure crosswin (win : Window; ch : Character) is - y1 : Line_Position; - x1 : Column_Position; - begin - Get_Size (win, y1, x1); - for y in 0 .. y1 - 1 loop - for x in 0 .. x1 - 1 loop - if ((x > (x1 - 1) / 3) and (x <= (2 * (x1 - 1)) / 3)) - or (((y > (y1 - 1) / 3) and (y <= (2 * (y1 - 1)) / 3))) then - Move_Cursor (win, y, x); - Add (win, Ch => ch); - end if; - end loop; - end loop; - end crosswin; - - -- In a 24x80 screen like some xterms are, the instructions will - -- be overwritten. - ch : Character; - win1 : Window := New_Window (9, 20, 3, 3); - win2 : Window := New_Window (9, 20, 9, 16); -begin - Set_Raw_Mode (SwitchOn => True); - Refresh; - Move_Cursor (Line => 0, Column => 0); - Add (Str => "This test shows the behavior of wnoutrefresh() with " & - "respect to"); - Add (Ch => newl); - Add (Str => "the shared region of two overlapping windows A and B. "& - "The cross"); - Add (Ch => newl); - Add (Str => "pattern in each window does not overlap the other."); - Add (Ch => newl); - - Move_Cursor (Line => 18, Column => 0); - Add (Str => "a = refresh A, then B, then doupdate. b = refresh B, " & - "then A, then doupdaute"); - Add (Ch => newl); - Add (Str => "c = fill window A with letter A. d = fill window B " & - "with letter B."); - Add (Ch => newl); - Add (Str => "e = cross pattern in window A. f = cross pattern " & - "in window B."); - Add (Ch => newl); - Add (Str => "g = clear window A. h = clear window B."); - Add (Ch => newl); - Add (Str => "i = overwrite A onto B. j = overwrite " & - "B onto A."); - Add (Ch => newl); - Add (Str => "^Q/ESC = terminate test."); - - loop - ch := Code_To_Char (Getchar); - exit when ch = CTRL ('Q') or ch = CTRL ('['); -- QUIT or ESCAPE - case ch is - when 'a' => -- refresh window A first, then B - Refresh_Without_Update (win1); - Refresh_Without_Update (win2); - Update_Screen; - when 'b' => -- refresh window B first, then A - Refresh_Without_Update (win2); - Refresh_Without_Update (win1); - Update_Screen; - when 'c' => -- fill window A so it's visible - fillwin (win1, 'A'); - when 'd' => -- fill window B so it's visible - fillwin (win2, 'B'); - when 'e' => -- cross test pattern in window A - crosswin (win1, 'A'); - when 'f' => -- cross test pattern in window B - crosswin (win2, 'B'); - when 'g' => -- clear window A - Clear (win1); - Move_Cursor (win1, 0, 0); - when 'h' => -- clear window B - Clear (win2); - Move_Cursor (win2, 0, 0); - when 'i' => -- overwrite A onto B - Overwrite (win1, win2); - when 'j' => -- overwrite B onto A - Overwrite (win2, win1); - when others => null; - end case; - end loop; - - Delete (win2); - Delete (win1); - Erase; - End_Windows; -end ncurses2.overlap_test; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-overlap_test.ads b/src/libs/ncurses/Ada95/samples/ncurses2-overlap_test.ads deleted file mode 100644 index ce6e3e6961..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-overlap_test.ads +++ /dev/null @@ -1,41 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -procedure ncurses2.overlap_test; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-slk_test.adb b/src/libs/ncurses/Ada95/samples/ncurses2-slk_test.adb deleted file mode 100644 index de4edb572c..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-slk_test.adb +++ /dev/null @@ -1,175 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.6 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with ncurses2.util; use ncurses2.util; -with Terminal_Interface.Curses; use Terminal_Interface.Curses; - -with Ada.Strings.Unbounded; -with Interfaces.C; -with Terminal_Interface.Curses.Aux; - -procedure ncurses2.slk_test is - procedure myGet (Win : in Window := Standard_Window; - Str : out Ada.Strings.Unbounded.Unbounded_String; - Len : in Integer := -1); - - procedure myGet (Win : in Window := Standard_Window; - Str : out Ada.Strings.Unbounded.Unbounded_String; - Len : in Integer := -1) - is - use Ada.Strings.Unbounded; - use Interfaces.C; - use Terminal_Interface.Curses.Aux; - - function Wgetnstr (Win : Window; - Str : char_array; - Len : int) return int; - pragma Import (C, Wgetnstr, "wgetnstr"); - - -- FIXME: how to construct "(Len > 0) ? Len : 80"? - Ask : constant Interfaces.C.size_t := Interfaces.C.size_t'Val (Len + 80); - Txt : char_array (0 .. Ask); - - begin - Txt (0) := Interfaces.C.char'First; - if Wgetnstr (Win, Txt, Txt'Length) = Curses_Err then - raise Curses_Exception; - end if; - Str := To_Unbounded_String (To_Ada (Txt, True)); - end myGet; - - - use Int_IO; - - use Ada.Strings.Unbounded; - - c : Key_Code; - buf : Unbounded_String; - c2 : Character; - fmt : Label_Justification := Centered; - tmp : Integer; - -begin - c := CTRL ('l'); - loop - Move_Cursor (Line => 0, Column => 0); - c2 := Code_To_Char (c); - case c2 is - when Character'Val (Character'Pos ('l') mod 16#20#) => -- CTRL('l') - Erase; - Switch_Character_Attribute (Attr => (Bold_Character => True, - others => False)); - Add (Line => 0, Column => 20, - Str => "Soft Key Exerciser"); - Switch_Character_Attribute (On => False, - Attr => (Bold_Character => True, - others => False)); - - Move_Cursor (Line => 2, Column => 0); - P ("Available commands are:"); - P (""); - P ("^L -- refresh screen"); - P ("a -- activate or restore soft keys"); - P ("d -- disable soft keys"); - P ("c -- set centered format for labels"); - P ("l -- set left-justified format for labels"); - P ("r -- set right-justified format for labels"); - P ("[12345678] -- set label; labels are numbered 1 through 8"); - P ("e -- erase stdscr (should not erase labels)"); - P ("s -- test scrolling of shortened screen"); - P ("x, q -- return to main menu"); - P (""); - P ("Note: if activating the soft keys causes your terminal to"); - P ("scroll up one line, your terminal auto-scrolls when anything"); - P ("is written to the last screen position. The ncurses code"); - P ("does not yet handle this gracefully."); - Refresh; - Restore_Soft_Label_Keys; - - when 'a' => - Restore_Soft_Label_Keys; - when 'e' => - Clear; - when 's' => - Add (Line => 20, Column => 0, - Str => "Press Q to stop the scrolling-test: "); - loop - c := Getchar; - c2 := Code_To_Char (c); - exit when c2 = 'Q'; - -- c = ERR? - -- TODO when c is not a character (arrow key) - -- the behavior is different from the C version. - Add (Ch => c2); - end loop; - when 'd' => - Clear_Soft_Label_Keys; - when 'l' => - fmt := Left; - when 'c' => - fmt := Centered; - when 'r' => - fmt := Right; - when '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' => - Add (Line => 20, Column => 0, - Str => "Please enter the label value: "); - Set_Echo_Mode (SwitchOn => True); - myGet (Str => buf); - Set_Echo_Mode (SwitchOn => False); - tmp := ctoi (c2); - Set_Soft_Label_Key (Label_Number (tmp), To_String (buf), fmt); - Refresh_Soft_Label_Keys; - Move_Cursor (Line => 20, Column => 0); - Clear_To_End_Of_Line; - when 'x' | 'q' => - exit; - -- the C version needed a goto, ha ha - -- breaks exit the case not the loop because fall-throuh - -- happens in C! - when others => - Beep; - end case; - c := Getchar; - -- TODO exit when c = EOF - end loop; - Erase; - End_Windows; -end ncurses2.slk_test; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-slk_test.ads b/src/libs/ncurses/Ada95/samples/ncurses2-slk_test.ads deleted file mode 100644 index 51e95871a9..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-slk_test.ads +++ /dev/null @@ -1,41 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -procedure ncurses2.slk_test; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-test_sgr_attributes.adb b/src/libs/ncurses/Ada95/samples/ncurses2-test_sgr_attributes.adb deleted file mode 100644 index 9948dc59c3..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-test_sgr_attributes.adb +++ /dev/null @@ -1,186 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with ncurses2.util; use ncurses2.util; - - --- Graphic-rendition test (adapted from vttest) - -procedure ncurses2.test_sgr_attributes is - - procedure xAdd (l : Line_Position; c : Column_Position; s : String); - - procedure xAdd (l : Line_Position; c : Column_Position; s : String) is - begin - Add (Line => l, Column => c, Str => s); - end xAdd; - - normal, current : Attributed_Character; -begin - for pass in reverse Boolean loop - if pass then - normal := (Ch => ' ', Attr => Normal_Video, Color => 0); - else - normal := (Ch => ' ', Attr => - (Reverse_Video => True, others => False), Color => 0); - end if; - - -- Use non-default colors if possible to exercise bce a little - if Has_Colors then - Init_Pair (1, White, Blue); - normal.Color := 1; - end if; - Set_Background (Ch => normal); - Erase; - xAdd (1, 20, "Graphic rendition test pattern:"); - - xAdd (4, 1, "vanilla"); - - - current := normal; - current.Attr.Bold_Character := not current.Attr.Bold_Character; - Set_Background (Ch => current); - xAdd (4, 40, "bold"); - - current := normal; - current.Attr.Under_Line := not current.Attr.Under_Line; - Set_Background (Ch => current); - xAdd (6, 6, "underline"); - - current := normal; - current.Attr.Bold_Character := not current.Attr.Bold_Character; - current.Attr.Under_Line := not current.Attr.Under_Line; - Set_Background (Ch => current); - xAdd (6, 45, "bold underline"); - - current := normal; - current.Attr.Blink := not current.Attr.Blink; - Set_Background (Ch => current); - xAdd (8, 1, "blink"); - - current := normal; - current.Attr.Blink := not current.Attr.Blink; - current.Attr.Bold_Character := not current.Attr.Bold_Character; - Set_Background (Ch => current); - xAdd (8, 40, "bold blink"); - - current := normal; - current.Attr.Under_Line := not current.Attr.Under_Line; - current.Attr.Blink := not current.Attr.Blink; - Set_Background (Ch => current); - xAdd (10, 6, "underline blink"); - - current := normal; - current.Attr.Bold_Character := not current.Attr.Bold_Character; - current.Attr.Under_Line := not current.Attr.Under_Line; - current.Attr.Blink := not current.Attr.Blink; - Set_Background (Ch => current); - xAdd (10, 45, "bold underline blink"); - - current := normal; - current.Attr.Reverse_Video := not current.Attr.Reverse_Video; - Set_Background (Ch => current); - xAdd (12, 1, "negative"); - - current := normal; - current.Attr.Bold_Character := not current.Attr.Bold_Character; - current.Attr.Reverse_Video := not current.Attr.Reverse_Video; - Set_Background (Ch => current); - xAdd (12, 40, "bold negative"); - - current := normal; - current.Attr.Under_Line := not current.Attr.Under_Line; - current.Attr.Reverse_Video := not current.Attr.Reverse_Video; - Set_Background (Ch => current); - xAdd (14, 6, "underline negative"); - - current := normal; - current.Attr.Bold_Character := not current.Attr.Bold_Character; - current.Attr.Under_Line := not current.Attr.Under_Line; - current.Attr.Reverse_Video := not current.Attr.Reverse_Video; - Set_Background (Ch => current); - xAdd (14, 45, "bold underline negative"); - - current := normal; - current.Attr.Blink := not current.Attr.Blink; - current.Attr.Reverse_Video := not current.Attr.Reverse_Video; - Set_Background (Ch => current); - xAdd (16, 1, "blink negative"); - - current := normal; - current.Attr.Bold_Character := not current.Attr.Bold_Character; - current.Attr.Blink := not current.Attr.Blink; - current.Attr.Reverse_Video := not current.Attr.Reverse_Video; - Set_Background (Ch => current); - xAdd (16, 40, "bold blink negative"); - - current := normal; - current.Attr.Under_Line := not current.Attr.Under_Line; - current.Attr.Blink := not current.Attr.Blink; - current.Attr.Reverse_Video := not current.Attr.Reverse_Video; - Set_Background (Ch => current); - xAdd (18, 6, "underline blink negative"); - - current := normal; - current.Attr.Bold_Character := not current.Attr.Bold_Character; - current.Attr.Under_Line := not current.Attr.Under_Line; - current.Attr.Blink := not current.Attr.Blink; - current.Attr.Reverse_Video := not current.Attr.Reverse_Video; - Set_Background (Ch => current); - xAdd (18, 45, "bold underline blink negative"); - - Set_Background (Ch => normal); - Move_Cursor (Line => Lines - 2, Column => 1); - if pass then - Add (Str => "Dark"); - else - Add (Str => "Light"); - end if; - Add (Str => " background. "); - Clear_To_End_Of_Line; - Pause; - end loop; - - Set_Background (Ch => Blank2); - Erase; - End_Windows; - -end ncurses2.test_sgr_attributes; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-test_sgr_attributes.ads b/src/libs/ncurses/Ada95/samples/ncurses2-test_sgr_attributes.ads deleted file mode 100644 index 241118094e..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-test_sgr_attributes.ads +++ /dev/null @@ -1,41 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -procedure ncurses2.test_sgr_attributes; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-trace_set.adb b/src/libs/ncurses/Ada95/samples/ncurses2-trace_set.adb deleted file mode 100644 index 10b605a7b2..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-trace_set.adb +++ /dev/null @@ -1,481 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses2.trace_set -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with ncurses2.util; use ncurses2.util; -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Trace; use Terminal_Interface.Curses.Trace; -with Terminal_Interface.Curses.Menus; use Terminal_Interface.Curses.Menus; - -with Ada.Strings.Bounded; - --- interactively set the trace level - -procedure ncurses2.trace_set is - - function menu_virtualize (c : Key_Code) return Menu_Request_Code; - function subset (super, sub : Trace_Attribute_Set) return Boolean; - function trace_or (a, b : Trace_Attribute_Set) return Trace_Attribute_Set; - function trace_num (tlevel : Trace_Attribute_Set) return String; - function tracetrace (tlevel : Trace_Attribute_Set) return String; - function run_trace_menu (m : Menu) return Boolean; - - function menu_virtualize (c : Key_Code) return Menu_Request_Code is - begin - case c is - when Character'Pos (newl) | Key_Exit => - return Menu_Request_Code'Last + 1; -- MAX_COMMAND? TODO - when Character'Pos ('u') => - return M_ScrollUp_Line; - when Character'Pos ('d') => - return M_ScrollDown_Line; - when Character'Pos ('b') | Key_Next_Page => - return M_ScrollUp_Page; - when Character'Pos ('f') | Key_Previous_Page => - return M_ScrollDown_Page; - when Character'Pos ('n') | Key_Cursor_Down => - return M_Next_Item; - when Character'Pos ('p') | Key_Cursor_Up => - return M_Previous_Item; - when Character'Pos (' ') => - return M_Toggle_Item; - when Key_Mouse => - return c; - when others => - Beep; - return c; - end case; - end menu_virtualize; - - - type string_a is access String; - type tbl_entry is record - name : string_a; - mask : Trace_Attribute_Set; - end record; - - t_tbl : constant array (Positive range <>) of tbl_entry := - ( - (new String'("Disable"), - Trace_Disable), - (new String'("Times"), - Trace_Attribute_Set'(Times => True, others => False)), - (new String'("Tputs"), - Trace_Attribute_Set'(Tputs => True, others => False)), - (new String'("Update"), - Trace_Attribute_Set'(Update => True, others => False)), - (new String'("Cursor_Move"), - Trace_Attribute_Set'(Cursor_Move => True, others => False)), - (new String'("Character_Output"), - Trace_Attribute_Set'(Character_Output => True, others => False)), - (new String'("Ordinary"), - Trace_Ordinary), - (new String'("Calls"), - Trace_Attribute_Set'(Calls => True, others => False)), - (new String'("Virtual_Puts"), - Trace_Attribute_Set'(Virtual_Puts => True, others => False)), - (new String'("Input_Events"), - Trace_Attribute_Set'(Input_Events => True, others => False)), - (new String'("TTY_State"), - Trace_Attribute_Set'(TTY_State => True, others => False)), - (new String'("Internal_Calls"), - Trace_Attribute_Set'(Internal_Calls => True, others => False)), - (new String'("Character_Calls"), - Trace_Attribute_Set'(Character_Calls => True, others => False)), - (new String'("Termcap_TermInfo"), - Trace_Attribute_Set'(Termcap_TermInfo => True, others => False)), - (new String'("Maximium"), - Trace_Maximum) - ); - - package BS is new Ada.Strings.Bounded.Generic_Bounded_Length (300); - - - function subset (super, sub : Trace_Attribute_Set) return Boolean is - begin - if - (super.Times or not sub.Times) and - (super.Tputs or not sub.Tputs) and - (super.Update or not sub.Update) and - (super.Cursor_Move or not sub.Cursor_Move) and - (super.Character_Output or not sub.Character_Output) and - (super.Calls or not sub.Calls) and - (super.Virtual_Puts or not sub.Virtual_Puts) and - (super.Input_Events or not sub.Input_Events) and - (super.TTY_State or not sub.TTY_State) and - (super.Internal_Calls or not sub.Internal_Calls) and - (super.Character_Calls or not sub.Character_Calls) and - (super.Termcap_TermInfo or not sub.Termcap_TermInfo) and - True then - return True; - else - return False; - end if; - end subset; - - function trace_or (a, b : Trace_Attribute_Set) return Trace_Attribute_Set is - retval : Trace_Attribute_Set := Trace_Disable; - begin - retval.Times := (a.Times or b.Times); - retval.Tputs := (a.Tputs or b.Tputs); - retval.Update := (a.Update or b.Update); - retval.Cursor_Move := (a.Cursor_Move or b.Cursor_Move); - retval.Character_Output := (a.Character_Output or b.Character_Output); - retval.Calls := (a.Calls or b.Calls); - retval.Virtual_Puts := (a.Virtual_Puts or b.Virtual_Puts); - retval.Input_Events := (a.Input_Events or b.Input_Events); - retval.TTY_State := (a.TTY_State or b.TTY_State); - retval.Internal_Calls := (a.Internal_Calls or b.Internal_Calls); - retval.Character_Calls := (a.Character_Calls or b.Character_Calls); - retval.Termcap_TermInfo := (a.Termcap_TermInfo or b.Termcap_TermInfo); - - return retval; - end trace_or; - - -- Print the hexadecimal value of the mask so - -- users can set it from the command line. - - function trace_num (tlevel : Trace_Attribute_Set) return String is - result : Integer := 0; - m : Integer := 1; - begin - - if tlevel.Times then - result := result + m; - end if; - m := m * 2; - - if tlevel.Tputs then - result := result + m; - end if; - m := m * 2; - - if tlevel.Update then - result := result + m; - end if; - m := m * 2; - - if tlevel.Cursor_Move then - result := result + m; - end if; - m := m * 2; - - if tlevel.Character_Output then - result := result + m; - end if; - m := m * 2; - - if tlevel.Calls then - result := result + m; - end if; - m := m * 2; - - if tlevel.Virtual_Puts then - result := result + m; - end if; - m := m * 2; - - if tlevel.Input_Events then - result := result + m; - end if; - m := m * 2; - - if tlevel.TTY_State then - result := result + m; - end if; - m := m * 2; - - if tlevel.Internal_Calls then - result := result + m; - end if; - m := m * 2; - - if tlevel.Character_Calls then - result := result + m; - end if; - m := m * 2; - - if tlevel.Termcap_TermInfo then - result := result + m; - end if; - m := m * 2; - return result'Img; - end trace_num; - - - function tracetrace (tlevel : Trace_Attribute_Set) return String is - - use BS; - buf : Bounded_String := To_Bounded_String (""); - begin - -- The C version prints the hexadecimal value of the mask, we - -- won't do that here because this is Ada. - - if tlevel = Trace_Disable then - Append (buf, "Trace_Disable"); - else - - - if subset (tlevel, - Trace_Attribute_Set'(Times => True, others => False)) then - Append (buf, "Times"); - Append (buf, ", "); - end if; - - if subset (tlevel, - Trace_Attribute_Set'(Tputs => True, others => False)) then - Append (buf, "Tputs"); - Append (buf, ", "); - end if; - - if subset (tlevel, - Trace_Attribute_Set'(Update => True, others => False)) then - Append (buf, "Update"); - Append (buf, ", "); - end if; - - if subset (tlevel, - Trace_Attribute_Set'(Cursor_Move => True, - others => False)) then - Append (buf, "Cursor_Move"); - Append (buf, ", "); - end if; - - if subset (tlevel, - Trace_Attribute_Set'(Character_Output => True, - others => False)) then - Append (buf, "Character_Output"); - Append (buf, ", "); - end if; - - if subset (tlevel, - Trace_Ordinary) then - Append (buf, "Ordinary"); - Append (buf, ", "); - end if; - - if subset (tlevel, - Trace_Attribute_Set'(Calls => True, others => False)) then - Append (buf, "Calls"); - Append (buf, ", "); - end if; - - if subset (tlevel, - Trace_Attribute_Set'(Virtual_Puts => True, - others => False)) then - Append (buf, "Virtual_Puts"); - Append (buf, ", "); - end if; - - if subset (tlevel, - Trace_Attribute_Set'(Input_Events => True, - others => False)) then - Append (buf, "Input_Events"); - Append (buf, ", "); - end if; - - if subset (tlevel, - Trace_Attribute_Set'(TTY_State => True, - others => False)) then - Append (buf, "TTY_State"); - Append (buf, ", "); - end if; - - if subset (tlevel, - Trace_Attribute_Set'(Internal_Calls => True, - others => False)) then - Append (buf, "Internal_Calls"); - Append (buf, ", "); - end if; - - if subset (tlevel, - Trace_Attribute_Set'(Character_Calls => True, - others => False)) then - Append (buf, "Character_Calls"); - Append (buf, ", "); - end if; - - if subset (tlevel, - Trace_Attribute_Set'(Termcap_TermInfo => True, - others => False)) then - Append (buf, "Termcap_TermInfo"); - Append (buf, ", "); - end if; - - if subset (tlevel, - Trace_Maximum) then - Append (buf, "Maximium"); - Append (buf, ", "); - end if; - end if; - - if To_String (buf) (Length (buf) - 1) = ',' then - Delete (buf, Length (buf) - 1, Length (buf)); - end if; - - return To_String (buf); - end tracetrace; - - function run_trace_menu (m : Menu) return Boolean is - i, p : Item; - changed : Boolean; - c, v : Key_Code; - begin - loop - changed := False; - c := Getchar (Get_Window (m)); - v := menu_virtualize (c); - case Driver (m, v) is - when Unknown_Request => - return False; - when others => - i := Current (m); - if i = Menus.Items (m, 1) then -- the first item - for n in t_tbl'First + 1 .. t_tbl'Last loop - if Value (i) then - Set_Value (i, False); - changed := True; - end if; - end loop; - else - for n in t_tbl'First + 1 .. t_tbl'Last loop - p := Menus.Items (m, n); - if Value (p) then - Set_Value (Menus.Items (m, 1), False); - changed := True; - exit; - end if; - end loop; - end if; - if not changed then - return True; - end if; - end case; - end loop; - end run_trace_menu; - - nc_tracing, mask : Trace_Attribute_Set; - pragma Import (C, nc_tracing, "_nc_tracing"); - items_a : Item_Array_Access := - new Item_Array (t_tbl'First .. t_tbl'Last + 1); - mrows : Line_Count; - mcols : Column_Count; - menuwin : Window; - menu_y : constant Line_Position := 8; - menu_x : constant Column_Position := 8; - ip : Item; - m : Menu; - newtrace : Trace_Attribute_Set; -begin - Add (Line => 0, Column => 0, Str => "Interactively set trace level:"); - Add (Line => 2, Column => 0, - Str => " Press space bar to toggle a selection."); - Add (Line => 3, Column => 0, - Str => " Use up and down arrow to move the select bar."); - Add (Line => 4, Column => 0, - Str => " Press return to set the trace level."); - Add (Line => 6, Column => 0, Str => "(Current trace level is "); - Add (Str => tracetrace (nc_tracing) & " numerically: " & - trace_num (nc_tracing)); - Add (Ch => ')'); - - Refresh; - - for n in t_tbl'Range loop - items_a (n) := New_Item (t_tbl (n).name.all); - end loop; - items_a (t_tbl'Last + 1) := Null_Item; - - m := New_Menu (items_a); - - Set_Format (m, 16, 2); - Scale (m, mrows, mcols); - - Switch_Options (m, (One_Valued => True, others => False), On => False); - menuwin := New_Window (mrows + 2, mcols + 2, menu_y, menu_x); - Set_Window (m, menuwin); - Set_KeyPad_Mode (menuwin, SwitchOn => True); - Box (menuwin); - - Set_Sub_Window (m, Derived_Window (menuwin, mrows, mcols, 1, 1)); - - Post (m); - - for n in t_tbl'Range loop - ip := Items (m, n); - mask := t_tbl (n).mask; - if mask = Trace_Disable then - Set_Value (ip, nc_tracing = Trace_Disable); - elsif subset (sub => mask, super => nc_tracing) then - Set_Value (ip, True); - end if; - end loop; - - while run_trace_menu (m) loop - null; - end loop; - - newtrace := Trace_Disable; - for n in t_tbl'Range loop - ip := Items (m, n); - if Value (ip) then - mask := t_tbl (n).mask; - newtrace := trace_or (newtrace, mask); - end if; - end loop; - - Trace_On (newtrace); - Trace_Put ("trace level interactively set to " & - tracetrace (nc_tracing)); - - Move_Cursor (Line => Lines - 4, Column => 0); - Add (Str => "Trace level is "); - Add (Str => tracetrace (nc_tracing)); - Add (Ch => newl); - Pause; -- was just Add(); Getchar - - Post (m, False); - -- menuwin has subwindows I think, which makes an error. - declare begin - Delete (menuwin); - exception when Curses_Exception => null; end; - - -- free_menu(m); - -- free_item() -end ncurses2.trace_set; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-trace_set.ads b/src/libs/ncurses/Ada95/samples/ncurses2-trace_set.ads deleted file mode 100644 index 7bbf8ca545..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-trace_set.ads +++ /dev/null @@ -1,41 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses2.trace_set -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -procedure ncurses2.trace_set; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-util.adb b/src/libs/ncurses/Ada95/samples/ncurses2-util.adb deleted file mode 100644 index 3e88ea8b00..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-util.adb +++ /dev/null @@ -1,201 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses2.util -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.5 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; - -with Ada.Text_IO; - -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -pragma Warnings (Off); -with Terminal_Interface.Curses.Aux; -pragma Warnings (On); - -with Terminal_Interface.Curses.Trace; use Terminal_Interface.Curses.Trace; - -with Ada.Text_IO; use Ada.Text_IO; - -with Interfaces.C; -with Interfaces.C.Strings; - -with Ada.Characters.Handling; - -with ncurses2.genericPuts; - - -package body ncurses2.util is - - -- #defines from C - -- #define CTRL(x) ((x) & 0x1f) - function CTRL (c : Character) return Key_Code is - begin - return Character'Pos (c) mod 16#20#; - -- uses a property of ASCII - -- A = 16#41#; a = 16#61#; ^A = 1 or 16#1# - end CTRL; - - function CTRL (c : Character) return Character is - begin - return Character'Val (Character'Pos (c) mod 16#20#); - -- uses a property of ASCII - -- A = 16#41#; a = 16#61#; ^A = 1 or 16#1# - end CTRL; - - save_trace : Trace_Attribute_Set; - -- Common function to allow ^T to toggle trace-mode in the middle of a test - -- so that trace-files can be made smaller. - function Getchar (win : Window := Standard_Window) return Key_Code is - c : Key_Code; - begin - -- #ifdef TRACE - c := Get_Keystroke (win); - while c = CTRL ('T') loop - -- if _nc_tracing in C - if Current_Trace_Setting /= Trace_Disable then - save_trace := Current_Trace_Setting; - Trace_Put ("TOGGLE-TRACING OFF"); - Current_Trace_Setting := Trace_Disable; - else - Current_Trace_Setting := save_trace; - end if; - Trace_On (Current_Trace_Setting); - if Current_Trace_Setting /= Trace_Disable then - Trace_Put ("TOGGLE-TRACING ON"); - end if; - end loop; - -- #else c := Get_Keystroke; - return c; - end Getchar; - - procedure Getchar (win : Window := Standard_Window) is - begin - if Getchar (win) < 0 then - Beep; - end if; - end Getchar; - - - procedure Pause is - begin - Move_Cursor (Line => Lines - 1, Column => 0); - Add (Str => "Press any key to continue... "); - Getchar; - end Pause; - - - procedure Cannot (s : String) is - use Interfaces.C; - use Interfaces.C.Strings; - use Terminal_Interface.Curses.Aux; - function getenv (x : char_array) return chars_ptr; - pragma Import (C, getenv, "getenv"); - tmp1 : char_array (0 .. 10); - package p is new ncurses2.genericPuts (1024); - use p; - use p.BS; - - tmpb : BS.Bounded_String; - - Length : size_t; - begin - To_C ("TERM", tmp1, Length); - Fill_String (getenv (tmp1), tmpb); - Add (Ch => newl); - myAdd (Str => "This " & tmpb & " terminal " & s); - Pause; - end Cannot; - - procedure ShellOut (message : Boolean) is - use Interfaces.C; - Txt : char_array (0 .. 10); - Length : size_t; - procedure system (x : char_array); - pragma Import (C, system, "system"); - begin - To_C ("sh", Txt, Length); - if message then - Add (Str => "Shelling out..."); - end if; - Save_Curses_Mode (Mode => Curses); - End_Windows; - system (Txt); - if message then - Add (Str => "returned from shellout."); - Add (Ch => newl); - end if; - Refresh; - end ShellOut; - - - - function Is_Digit (c : Key_Code) return Boolean is - begin - if c >= 16#100# then - return False; - else - return Ada.Characters.Handling.Is_Digit (Character'Val (c)); - end if; - end Is_Digit; - - procedure P (s : String) is - begin - Add (Str => s); - Add (Ch => newl); - end P; - - - function Code_To_Char (c : Key_Code) return Character is - begin - if c > Character'Pos (Character'Last) then - return Character'Val (0); - -- maybe raise exception? - else - return Character'Val (c); - end if; - end Code_To_Char; - - -- This was untestable due to a bug in GNAT (3.12p) - -- Hmm, what bug? I don't remember. - function ctoi (c : Character) return Integer is - begin - return Character'Pos (c) - Character'Pos ('0'); - end ctoi; - -end ncurses2.util; diff --git a/src/libs/ncurses/Ada95/samples/ncurses2-util.ads b/src/libs/ncurses/Ada95/samples/ncurses2-util.ads deleted file mode 100644 index 6c81e83e76..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2-util.ads +++ /dev/null @@ -1,79 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses2.util -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; - -with Ada.Text_IO; -package ncurses2.util is - - Blank : constant Character := ' '; - Blank2 : constant Attributed_Character := - (Ch => Blank, Attr => Normal_Video, Color => Color_Pair'First); - - - newl : constant Character := Character'Val (10); - - function CTRL (c : Character) return Key_Code; - - function CTRL (c : Character) return Character; - - function Getchar (win : Window := Standard_Window) return Key_Code; - - procedure Getchar (win : Window := Standard_Window); - - procedure Pause; - - - procedure Cannot (s : String); - - procedure ShellOut (message : Boolean); - - - package Int_IO is new Ada.Text_IO.Integer_IO (Integer); - - - function Is_Digit (c : Key_Code) return Boolean; - - procedure P (s : String); - - function Code_To_Char (c : Key_Code) return Character; - function ctoi (c : Character) return Integer; -end ncurses2.util; - diff --git a/src/libs/ncurses/Ada95/samples/ncurses2.ads b/src/libs/ncurses/Ada95/samples/ncurses2.ads deleted file mode 100644 index 2fe0197089..0000000000 --- a/src/libs/ncurses/Ada95/samples/ncurses2.ads +++ /dev/null @@ -1,44 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- ncurses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Eugene V. Melaragno 2000 --- Version Control --- $Revision: 1.1 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- - -package ncurses2 is - pragma Pure (ncurses2); -end ncurses2; diff --git a/src/libs/ncurses/Ada95/samples/rain.adb b/src/libs/ncurses/Ada95/samples/rain.adb deleted file mode 100644 index c576f3f38c..0000000000 --- a/src/libs/ncurses/Ada95/samples/rain.adb +++ /dev/null @@ -1,162 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Rain -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Laurent Pautet --- Modified by: Juergen Pfeifer, 1997 --- Version Control --- $Revision: 1.6 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- --- -- -with Ada.Numerics.Float_Random; use Ada.Numerics.Float_Random; -with Status; use Status; -with Terminal_Interface.Curses; use Terminal_Interface.Curses; - -procedure Rain is - - Visibility : Cursor_Visibility; - - subtype X_Position is Line_Position; - subtype Y_Position is Column_Position; - - Xpos : array (1 .. 5) of X_Position; - Ypos : array (1 .. 5) of Y_Position; - - N : Integer; - - G : Generator; - - Max_X, X : X_Position; - Max_Y, Y : Y_Position; - - procedure Next (J : in out Integer); - procedure Cursor (X : X_Position; Y : Y_Position); - - procedure Next (J : in out Integer) is - begin - if J = 5 then - J := 1; - else - J := J + 1; - end if; - end Next; - - procedure Cursor (X : X_Position; Y : Y_Position) is - begin - Move_Cursor (Line => X, Column => Y); - end Cursor; - pragma Inline (Cursor); - -begin - - Init_Screen; - Set_NL_Mode; - Set_Echo_Mode (False); - - Visibility := Invisible; - Set_Cursor_Visibility (Visibility); - - Max_X := Lines - 5; - Max_Y := Columns - 5; - - for I in Xpos'Range loop - Xpos (I) := X_Position (Float (Max_X) * Random (G)) + 2; - Ypos (I) := Y_Position (Float (Max_Y) * Random (G)) + 2; - end loop; - - N := 1; - while Process.Continue loop - - X := X_Position (Float (Max_X) * Random (G)) + 2; - Y := Y_Position (Float (Max_Y) * Random (G)) + 2; - - Cursor (X, Y); - Add (Ch => '.'); - - Cursor (Xpos (N), Ypos (N)); - Add (Ch => 'o'); - - -- - Next (N); - Cursor (Xpos (N), Ypos (N)); - Add (Ch => 'O'); - - -- - Next (N); - Cursor (Xpos (N) - 1, Ypos (N)); - Add (Ch => '-'); - Cursor (Xpos (N), Ypos (N) - 1); - Add (Str => "|.|"); - Cursor (Xpos (N) + 1, Ypos (N)); - Add (Ch => '-'); - - -- - Next (N); - Cursor (Xpos (N) - 2, Ypos (N)); - Add (Ch => '-'); - Cursor (Xpos (N) - 1, Ypos (N) - 1); - Add (Str => "/\\"); - Cursor (Xpos (N), Ypos (N) - 2); - Add (Str => "| O |"); - Cursor (Xpos (N) + 1, Ypos (N) - 1); - Add (Str => "\\/"); - Cursor (Xpos (N) + 2, Ypos (N)); - Add (Ch => '-'); - - -- - Next (N); - Cursor (Xpos (N) - 2, Ypos (N)); - Add (Ch => ' '); - Cursor (Xpos (N) - 1, Ypos (N) - 1); - Add (Str => " "); - Cursor (Xpos (N), Ypos (N) - 2); - Add (Str => " "); - Cursor (Xpos (N) + 1, Ypos (N) - 1); - Add (Str => " "); - Cursor (Xpos (N) + 2, Ypos (N)); - Add (Ch => ' '); - - Xpos (N) := X; - Ypos (N) := Y; - - Refresh; - Nap_Milli_Seconds (50); - end loop; - - Visibility := Normal; - Set_Cursor_Visibility (Visibility); - End_Windows; - -end Rain; diff --git a/src/libs/ncurses/Ada95/samples/rain.ads b/src/libs/ncurses/Ada95/samples/rain.ads deleted file mode 100644 index 3ad1912c5e..0000000000 --- a/src/libs/ncurses/Ada95/samples/rain.ads +++ /dev/null @@ -1,43 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Rain -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Laurent Pautet --- Modified by: Juergen Pfeifer, 1997 --- Version Control --- $Revision: 1.6 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- --- -- -procedure Rain; diff --git a/src/libs/ncurses/Ada95/samples/sample-curses_demo-attributes.adb b/src/libs/ncurses/Ada95/samples/sample-curses_demo-attributes.adb deleted file mode 100644 index c49f37d602..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-curses_demo-attributes.adb +++ /dev/null @@ -1,122 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Curses_Demo.Attributes -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.12 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Panels; use Terminal_Interface.Curses.Panels; - -with Sample.Manifest; use Sample.Manifest; -with Sample.Function_Key_Setting; use Sample.Function_Key_Setting; -with Sample.Keyboard_Handler; use Sample.Keyboard_Handler; -with Sample.Explanation; use Sample.Explanation; - -package body Sample.Curses_Demo.Attributes is - - procedure Demo - is - P : Panel := Create (Standard_Window); - K : Real_Key_Code; - begin - Set_Meta_Mode; - Set_KeyPad_Mode; - - Top (P); - - Push_Environment ("ATTRIBDEMO"); - Default_Labels; - Notepad ("ATTRIB-PAD00"); - - Set_Character_Attributes (Attr => (others => False)); - Add (Line => 1, Column => Columns / 2 - 10, - Str => "This is NORMAL"); - - Set_Character_Attributes (Attr => (Stand_Out => True, - others => False)); - Add (Line => 2, Column => Columns / 2 - 10, - Str => "This is Stand_Out"); - - Set_Character_Attributes (Attr => (Under_Line => True, - others => False)); - Add (Line => 3, Column => Columns / 2 - 10, - Str => "This is Under_Line"); - - Set_Character_Attributes (Attr => (Reverse_Video => True, - others => False)); - Add (Line => 4, Column => Columns / 2 - 10, - Str => "This is Reverse_Video"); - - Set_Character_Attributes (Attr => (Blink => True, - others => False)); - Add (Line => 5, Column => Columns / 2 - 10, - Str => "This is Blink"); - - Set_Character_Attributes (Attr => (Dim_Character => True, - others => False)); - Add (Line => 6, Column => Columns / 2 - 10, - Str => "This is Dim_Character"); - - Set_Character_Attributes (Attr => (Bold_Character => True, - others => False)); - Add (Line => 7, Column => Columns / 2 - 10, - Str => "This is Bold_Character"); - - Refresh_Without_Update; - Update_Panels; Update_Screen; - - loop - K := Get_Key; - if K in Special_Key_Code'Range then - case K is - when QUIT_CODE => exit; - when HELP_CODE => Explain_Context; - when EXPLAIN_CODE => Explain ("ATTRIBKEYS"); - when others => null; - end case; - end if; - end loop; - - Pop_Environment; - Clear; - Refresh_Without_Update; - Delete (P); - Update_Panels; Update_Screen; - - end Demo; - -end Sample.Curses_Demo.Attributes; diff --git a/src/libs/ncurses/Ada95/samples/sample-curses_demo-attributes.ads b/src/libs/ncurses/Ada95/samples/sample-curses_demo-attributes.ads deleted file mode 100644 index 6d9b4e8df8..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-curses_demo-attributes.ads +++ /dev/null @@ -1,45 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Curses_Demo.Attributes -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package Sample.Curses_Demo.Attributes is - - procedure Demo; - -end Sample.Curses_Demo.Attributes; diff --git a/src/libs/ncurses/Ada95/samples/sample-curses_demo-mouse.adb b/src/libs/ncurses/Ada95/samples/sample-curses_demo-mouse.adb deleted file mode 100644 index 34a0ab1156..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-curses_demo-mouse.adb +++ /dev/null @@ -1,220 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Curses_Demo.Mouse -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.13 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Panels; use Terminal_Interface.Curses.Panels; -with Terminal_Interface.Curses.Mouse; use Terminal_Interface.Curses.Mouse; -with Terminal_Interface.Curses.Text_IO; use Terminal_Interface.Curses.Text_IO; -with Terminal_Interface.Curses.Text_IO.Integer_IO; -with Terminal_Interface.Curses.Text_IO.Enumeration_IO; - -with Sample.Helpers; use Sample.Helpers; -with Sample.Manifest; use Sample.Manifest; -with Sample.Keyboard_Handler; use Sample.Keyboard_Handler; -with Sample.Function_Key_Setting; use Sample.Function_Key_Setting; -with Sample.Explanation; use Sample.Explanation; - -package body Sample.Curses_Demo.Mouse is - - package Int_IO is new - Terminal_Interface.Curses.Text_IO.Integer_IO (Integer); - use Int_IO; - - package Button_IO is new - Terminal_Interface.Curses.Text_IO.Enumeration_IO (Mouse_Button); - use Button_IO; - - package State_IO is new - Terminal_Interface.Curses.Text_IO.Enumeration_IO (Button_State); - use State_IO; - - procedure Demo is - - type Controls is array (1 .. 3) of Panel; - - Frame : Window; - Msg : Window; - Ctl : Controls; - Pan : Panel; - K : Real_Key_Code; - V : Cursor_Visibility := Invisible; - W : Window; - Note : Window; - Msg_L : constant Line_Count := 8; - Lins : Line_Position := Lines; - Cols : Column_Position; - Mask : Event_Mask; - procedure Show_Mouse_Event; - - procedure Show_Mouse_Event - is - Evt : constant Mouse_Event := Get_Mouse; - Y : Line_Position; - X : Column_Position; - Button : Mouse_Button; - State : Button_State; - W : Window; - begin - Get_Event (Evt, Y, X, Button, State); - Put (Msg, "Event at"); - Put (Msg, " X="); Put (Msg, Integer (X), 3); - Put (Msg, ", Y="); Put (Msg, Integer (Y), 3); - Put (Msg, ", Btn="); Put (Msg, Button, 10); - Put (Msg, ", Stat="); Put (Msg, State, 15); - for I in Ctl'Range loop - W := Get_Window (Ctl (I)); - if Enclosed_In_Window (W, Evt) then - Transform_Coordinates (W, Y, X, From_Screen); - Put (Msg, ",Box("); - Put (Msg, Integer (I), 1); Put (Msg, ","); - Put (Msg, Integer (Y), 1); Put (Msg, ","); - Put (Msg, Integer (X), 1); Put (Msg, ")"); - end if; - end loop; - New_Line (Msg); - Flush (Msg); - Update_Panels; Update_Screen; - end Show_Mouse_Event; - - begin - Push_Environment ("MOUSE00"); - Notepad ("MOUSE-PAD00"); - Default_Labels; - Set_Cursor_Visibility (V); - - Note := Notepad_Window; - if Note /= Null_Window then - Get_Window_Position (Note, Lins, Cols); - end if; - Frame := Create (Msg_L, Columns, Lins - Msg_L, 0); - if Has_Colors then - Set_Background (Win => Frame, - Ch => (Color => Default_Colors, - Attr => Normal_Video, - Ch => ' ')); - Set_Character_Attributes (Win => Frame, - Attr => Normal_Video, - Color => Default_Colors); - Erase (Frame); - end if; - Msg := Derived_Window (Frame, Msg_L - 2, Columns - 2, 1, 1); - Pan := Create (Frame); - - Set_Meta_Mode; - Set_KeyPad_Mode; - Mask := Start_Mouse; - - Box (Frame); - Window_Title (Frame, "Mouse Protocol"); - Refresh_Without_Update (Frame); - Allow_Scrolling (Msg, True); - - declare - Middle_Column : constant Integer := Integer (Columns) / 2; - Middle_Index : constant Natural := Ctl'First + (Ctl'Length / 2); - Width : constant Column_Count := 5; - Height : constant Line_Count := 3; - Half : constant Column_Count := Width / 2; - Space : constant Column_Count := 3; - Position : Integer; - W : Window; - begin - for I in Ctl'Range loop - Position := (Integer (I) - Integer (Middle_Index)) * - Integer (Half + Space + Width) + Middle_Column; - W := Create (Height, - Width, - 1, - Column_Position (Position)); - if Has_Colors then - Set_Background (Win => W, - Ch => (Color => Menu_Back_Color, - Attr => Normal_Video, - Ch => ' ')); - Set_Character_Attributes (Win => W, - Attr => Normal_Video, - Color => Menu_Fore_Color); - Erase (W); - end if; - Ctl (I) := Create (W); - Box (W); - Move_Cursor (W, 1, Half); - Put (W, Integer (I), 1); - Refresh_Without_Update (W); - end loop; - end; - - Update_Panels; Update_Screen; - - loop - K := Get_Key; - if K in Special_Key_Code'Range then - case K is - when QUIT_CODE => exit; - when HELP_CODE => Explain_Context; - when EXPLAIN_CODE => Explain ("MOUSEKEYS"); - when Key_Mouse => Show_Mouse_Event; - when others => null; - end case; - end if; - end loop; - - for I in Ctl'Range loop - W := Get_Window (Ctl (I)); - Clear (W); - Delete (Ctl (I)); - Delete (W); - end loop; - - Clear (Frame); - Delete (Pan); - Delete (Msg); - Delete (Frame); - - Set_Cursor_Visibility (V); - End_Mouse (Mask); - - Pop_Environment; - Update_Panels; Update_Screen; - - end Demo; - -end Sample.Curses_Demo.Mouse; - diff --git a/src/libs/ncurses/Ada95/samples/sample-curses_demo-mouse.ads b/src/libs/ncurses/Ada95/samples/sample-curses_demo-mouse.ads deleted file mode 100644 index ad78d0d0a7..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-curses_demo-mouse.ads +++ /dev/null @@ -1,45 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Curses_Demo.Mouse -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package Sample.Curses_Demo.Mouse is - - procedure Demo; - -end Sample.Curses_Demo.Mouse; diff --git a/src/libs/ncurses/Ada95/samples/sample-curses_demo.adb b/src/libs/ncurses/Ada95/samples/sample-curses_demo.adb deleted file mode 100644 index 700da7684b..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-curses_demo.adb +++ /dev/null @@ -1,143 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Curses_Demo -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.15 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Menus; use Terminal_Interface.Curses.Menus; -with Terminal_Interface.Curses.Mouse; use Terminal_Interface.Curses.Mouse; -with Terminal_Interface.Curses.Panels; use Terminal_Interface.Curses.Panels; -with Terminal_Interface.Curses.Panels.User_Data; - -with Sample.Manifest; use Sample.Manifest; -with Sample.Helpers; use Sample.Helpers; -with Sample.Function_Key_Setting; use Sample.Function_Key_Setting; - -with Sample.Explanation; use Sample.Explanation; - -with Sample.Menu_Demo.Handler; -with Sample.Curses_Demo.Mouse; -with Sample.Curses_Demo.Attributes; - -package body Sample.Curses_Demo is - - type User_Data is new Integer; - type User_Data_Access is access all User_Data; - package PUD is new Panels.User_Data (User_Data, User_Data_Access); - -- We use above instantiation of the generic User_Data package to - -- demonstrate and test the use of the user data maechanism. - - procedure Demo - is - function My_Driver (M : Menu; - K : Key_Code; - Pan : Panel) return Boolean; - package Mh is new Sample.Menu_Demo.Handler (My_Driver); - - Itm : Item_Array_Access := new Item_Array' - (New_Item ("Attributes Demo"), - New_Item ("Mouse Demo"), - Null_Item); - M : Menu := New_Menu (Itm); - U1 : constant User_Data_Access := new User_Data'(4711); - U2 : User_Data_Access; - - function My_Driver (M : Menu; - K : Key_Code; - Pan : Panel) return Boolean - is - Idx : constant Positive := Get_Index (Current (M)); - Result : Boolean := False; - begin - PUD.Set_User_Data (Pan, U1); -- set some user data, just for fun - if K in User_Key_Code'Range then - if K = QUIT then - Result := True; - elsif K = SELECT_ITEM then - if Idx in Itm'Range then - Hide (Pan); - Update_Panels; - end if; - case Idx is - when 1 => Sample.Curses_Demo.Attributes.Demo; - when 2 => Sample.Curses_Demo.Mouse.Demo; - when others => Not_Implemented; - end case; - if Idx in Itm'Range then - Top (Pan); - Show (Pan); - Update_Panels; - Update_Screen; - end if; - end if; - end if; - PUD.Get_User_Data (Pan, U2); -- get the user data - pragma Assert (U1.all = U2.all and then U1 = U2); - return Result; - end My_Driver; - - begin - - if (1 + Item_Count (M)) /= Itm'Length then - raise Constraint_Error; - end if; - - if not Has_Mouse then - declare - O : Item_Option_Set; - begin - Get_Options (Itm (2), O); - O.Selectable := False; - Set_Options (Itm (2), O); - end; - end if; - - Push_Environment ("CURSES00"); - Notepad ("CURSES-PAD00"); - Default_Labels; - Refresh_Soft_Label_Keys_Without_Update; - - Mh.Drive_Me (M, " Demo "); - Pop_Environment; - - Delete (M); - Free (Itm, True); - end Demo; - -end Sample.Curses_Demo; diff --git a/src/libs/ncurses/Ada95/samples/sample-curses_demo.ads b/src/libs/ncurses/Ada95/samples/sample-curses_demo.ads deleted file mode 100644 index ed4ad0f019..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-curses_demo.ads +++ /dev/null @@ -1,45 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Curses_Demo -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package Sample.Curses_Demo is - - procedure Demo; - -end Sample.Curses_Demo; diff --git a/src/libs/ncurses/Ada95/samples/sample-explanation.adb b/src/libs/ncurses/Ada95/samples/sample-explanation.adb deleted file mode 100644 index 66efb0db51..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-explanation.adb +++ /dev/null @@ -1,409 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Explanation -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.18 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- --- Poor mans help system. This scans a sequential file for key lines and --- then reads the lines up to the next key. Those lines are presented in --- a window as help or explanation. --- -with Ada.Text_IO; use Ada.Text_IO; -with Ada.Unchecked_Deallocation; -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Panels; use Terminal_Interface.Curses.Panels; - -with Sample.Keyboard_Handler; use Sample.Keyboard_Handler; -with Sample.Manifest; use Sample.Manifest; -with Sample.Function_Key_Setting; use Sample.Function_Key_Setting; -with Sample.Helpers; use Sample.Helpers; - -package body Sample.Explanation is - - Help_Keys : constant String := "HELPKEYS"; - In_Help : constant String := "INHELP"; - - File_Name : constant String := "explain.msg"; - F : File_Type; - - type Help_Line; - type Help_Line_Access is access Help_Line; - pragma Controlled (Help_Line_Access); - type String_Access is access String; - pragma Controlled (String_Access); - - type Help_Line is - record - Prev, Next : Help_Line_Access; - Line : String_Access; - end record; - - procedure Explain (Key : in String; - Win : in Window); - - procedure Release_String is - new Ada.Unchecked_Deallocation (String, - String_Access); - procedure Release_Help_Line is - new Ada.Unchecked_Deallocation (Help_Line, - Help_Line_Access); - - function Search (Key : String) return Help_Line_Access; - procedure Release_Help (Root : in out Help_Line_Access); - - procedure Explain (Key : in String) - is - begin - Explain (Key, Null_Window); - end Explain; - - procedure Explain (Key : in String; - Win : in Window) - is - -- Retrieve the text associated with this key and display it in this - -- window. If no window argument is passed, the routine will create - -- a temporary window and use it. - - function Filter_Key return Real_Key_Code; - procedure Unknown_Key; - procedure Redo; - procedure To_Window (C : in out Help_Line_Access; - More : in out Boolean); - - Frame : Window := Null_Window; - - W : Window := Win; - K : Real_Key_Code; - P : Panel; - - Height : Line_Count; - Width : Column_Count; - Help : Help_Line_Access := Search (Key); - Current : Help_Line_Access; - Top_Line : Help_Line_Access; - - Has_More : Boolean := True; - - procedure Unknown_Key - is - begin - Add (W, "Help message with ID "); - Add (W, Key); - Add (W, " not found."); - Add (W, Character'Val (10)); - Add (W, "Press the Function key labelled 'Quit' key to continue."); - end Unknown_Key; - - procedure Redo - is - H : Help_Line_Access := Top_Line; - begin - if Top_Line /= null then - for L in 0 .. (Height - 1) loop - Add (W, L, 0, H.Line.all); - exit when H.Next = null; - H := H.Next; - end loop; - else - Unknown_Key; - end if; - end Redo; - - function Filter_Key return Real_Key_Code - is - K : Real_Key_Code; - begin - loop - K := Get_Key (W); - if K in Special_Key_Code'Range then - case K is - when HELP_CODE => - if not Find_Context (In_Help) then - Push_Environment (In_Help, False); - Explain (In_Help, W); - Pop_Environment; - Redo; - end if; - when EXPLAIN_CODE => - if not Find_Context (Help_Keys) then - Push_Environment (Help_Keys, False); - Explain (Help_Keys, W); - Pop_Environment; - Redo; - end if; - when others => exit; - end case; - else - exit; - end if; - end loop; - return K; - end Filter_Key; - - procedure To_Window (C : in out Help_Line_Access; - More : in out Boolean) - is - L : Line_Position := 0; - begin - loop - Add (W, L, 0, C.Line.all); - L := L + 1; - exit when C.Next = null or else L = Height; - C := C.Next; - end loop; - if C.Next /= null then - pragma Assert (L = Height); - More := True; - else - More := False; - end if; - end To_Window; - - begin - if W = Null_Window then - Push_Environment ("HELP"); - Default_Labels; - Frame := New_Window (Lines - 2, Columns, 0, 0); - if Has_Colors then - Set_Background (Win => Frame, - Ch => (Ch => ' ', - Color => Help_Color, - Attr => Normal_Video)); - Set_Character_Attributes (Win => Frame, - Attr => Normal_Video, - Color => Help_Color); - Erase (Frame); - end if; - Box (Frame); - Set_Character_Attributes (Frame, (Reverse_Video => True, - others => False)); - Add (Frame, Lines - 3, 2, "Cursor Up/Down scrolls"); - Set_Character_Attributes (Frame); -- Back to default. - Window_Title (Frame, "Explanation"); - W := Derived_Window (Frame, Lines - 4, Columns - 2, 1, 1); - Refresh_Without_Update (Frame); - Get_Size (W, Height, Width); - Set_Meta_Mode (W); - Set_KeyPad_Mode (W); - Allow_Scrolling (W, True); - Set_Echo_Mode (False); - P := Create (Frame); - Top (P); - Update_Panels; - else - Clear (W); - Refresh_Without_Update (W); - end if; - - Current := Help; Top_Line := Help; - - if null = Help then - Unknown_Key; - loop - K := Filter_Key; - exit when K = QUIT_CODE; - end loop; - else - To_Window (Current, Has_More); - if Has_More then - -- This means there are more lines available, so we have to go - -- into a scroll manager. - loop - K := Filter_Key; - if K in Special_Key_Code'Range then - case K is - when Key_Cursor_Down => - if Current.Next /= null then - Move_Cursor (W, Height - 1, 0); - Scroll (W, 1); - Current := Current.Next; - Top_Line := Top_Line.Next; - Add (W, Current.Line.all); - end if; - when Key_Cursor_Up => - if Top_Line.Prev /= null then - Move_Cursor (W, 0, 0); - Scroll (W, -1); - Top_Line := Top_Line.Prev; - Current := Current.Prev; - Add (W, Top_Line.Line.all); - end if; - when QUIT_CODE => exit; - when others => null; - end case; - end if; - end loop; - else - loop - K := Filter_Key; - exit when K = QUIT_CODE; - end loop; - end if; - end if; - - Clear (W); - - if Frame /= Null_Window then - Clear (Frame); - Delete (P); - Delete (W); - Delete (Frame); - Pop_Environment; - end if; - - Update_Panels; - Update_Screen; - - Release_Help (Help); - - end Explain; - - function Search (Key : String) return Help_Line_Access - is - Last : Natural; - Buffer : String (1 .. 256); - Root : Help_Line_Access := null; - Current : Help_Line_Access; - Tail : Help_Line_Access := null; - - function Next_Line return Boolean; - - function Next_Line return Boolean - is - H_End : constant String := "#END"; - begin - Get_Line (F, Buffer, Last); - if Last = H_End'Length and then H_End = Buffer (1 .. Last) then - return False; - else - return True; - end if; - end Next_Line; - begin - Reset (F); - Outer : - loop - exit Outer when not Next_Line; - if Last = (1 + Key'Length) and then Key = Buffer (2 .. Last) - and then Buffer (1) = '#' then - loop - exit when not Next_Line; - exit when Buffer (1) = '#'; - Current := new Help_Line'(null, null, - new String'(Buffer (1 .. Last))); - if Tail = null then - Release_Help (Root); - Root := Current; - else - Tail.Next := Current; - Current.Prev := Tail; - end if; - Tail := Current; - end loop; - exit Outer; - end if; - end loop Outer; - return Root; - end Search; - - procedure Release_Help (Root : in out Help_Line_Access) - is - Next : Help_Line_Access; - begin - loop - exit when Root = null; - Next := Root.Next; - Release_String (Root.Line); - Release_Help_Line (Root); - Root := Next; - end loop; - end Release_Help; - - procedure Explain_Context - is - begin - Explain (Context); - end Explain_Context; - - procedure Notepad (Key : in String) - is - H : constant Help_Line_Access := Search (Key); - T : Help_Line_Access := H; - N : Line_Count := 1; - L : Line_Position := 0; - W : Window; - P : Panel; - begin - if H /= null then - loop - T := T.Next; - exit when T = null; - N := N + 1; - end loop; - W := New_Window (N + 2, Columns, Lines - N - 2, 0); - if Has_Colors then - Set_Background (Win => W, - Ch => (Ch => ' ', - Color => Notepad_Color, - Attr => Normal_Video)); - Set_Character_Attributes (Win => W, - Attr => Normal_Video, - Color => Notepad_Color); - Erase (W); - end if; - Box (W); - Window_Title (W, "Notepad"); - P := New_Panel (W); - T := H; - loop - Add (W, L + 1, 1, T.Line.all, Integer (Columns - 2)); - L := L + 1; - T := T.Next; - exit when T = null; - end loop; - T := H; - Release_Help (T); - Refresh_Without_Update (W); - Notepad_To_Context (P); - end if; - end Notepad; - -begin - Open (F, In_File, File_Name); -end Sample.Explanation; - diff --git a/src/libs/ncurses/Ada95/samples/sample-explanation.ads b/src/libs/ncurses/Ada95/samples/sample-explanation.ads deleted file mode 100644 index 18617ac46a..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-explanation.ads +++ /dev/null @@ -1,59 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Explanation -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.10 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- --- Poor mans help system. This scans a sequential file for key lines and --- then reads the lines up to the next key. Those lines are presented in --- a window as help or explanation. --- -package Sample.Explanation is - - procedure Explain (Key : in String); - -- Retrieve the text associated with this key and display it. - - procedure Explain_Context; - -- Explain the current context. - - procedure Notepad (Key : in String); - -- Put a note on the screen and maintain it with the context - - Explanation_Not_Found : exception; - Explanation_Error : exception; - -end Sample.Explanation; diff --git a/src/libs/ncurses/Ada95/samples/sample-form_demo-aux.adb b/src/libs/ncurses/Ada95/samples/sample-form_demo-aux.adb deleted file mode 100644 index 81c97ad0b8..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-form_demo-aux.adb +++ /dev/null @@ -1,263 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Form_Demo.Aux -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.16 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Characters.Latin_1; use Ada.Characters.Latin_1; - -with Sample.Manifest; use Sample.Manifest; -with Sample.Helpers; use Sample.Helpers; -with Sample.Keyboard_Handler; use Sample.Keyboard_Handler; -with Sample.Explanation; use Sample.Explanation; - -package body Sample.Form_Demo.Aux is - - procedure Geometry (F : in Form; - L : out Line_Count; -- Lines used for menu - C : out Column_Count; -- Columns used for menu - Y : out Line_Position; -- Proposed Line for menu - X : out Column_Position) -- Proposed Column for menu - is - begin - Scale (F, L, C); - - L := L + 2; -- count for frame at top and bottom - C := C + 2; -- " - - -- Calculate horizontal coordinate at the screen center - X := (Columns - C) / 2; - Y := 1; -- start always in line 1 - end Geometry; - - function Create (F : Form; - Title : String; - Lin : Line_Position; - Col : Column_Position) return Panel - is - W, S : Window; - L : Line_Count; - C : Column_Count; - Y : Line_Position; - X : Column_Position; - Pan : Panel; - begin - Geometry (F, L, C, Y, X); - W := New_Window (L, C, Lin, Col); - Set_Meta_Mode (W); - Set_KeyPad_Mode (W); - if Has_Colors then - Set_Background (Win => W, - Ch => (Ch => ' ', - Color => Default_Colors, - Attr => Normal_Video)); - Set_Character_Attributes (Win => W, - Color => Default_Colors, - Attr => Normal_Video); - Erase (W); - end if; - S := Derived_Window (W, L - 2, C - 2, 1, 1); - Set_Meta_Mode (S); - Set_KeyPad_Mode (S); - Box (W); - Set_Window (F, W); - Set_Sub_Window (F, S); - if Title'Length > 0 then - Window_Title (W, Title); - end if; - Pan := New_Panel (W); - Post (F); - return Pan; - end Create; - - procedure Destroy (F : in Form; - P : in out Panel) - is - W, S : Window; - begin - W := Get_Window (F); - S := Get_Sub_Window (F); - Post (F, False); - Erase (W); - Delete (P); - Set_Window (F, Null_Window); - Set_Sub_Window (F, Null_Window); - Delete (S); - Delete (W); - Update_Panels; - end Destroy; - - function Get_Request (F : Form; - P : Panel; - Handle_CRLF : Boolean := True) return Key_Code - is - W : constant Window := Get_Window (F); - K : Real_Key_Code; - Ch : Character; - begin - Top (P); - loop - K := Get_Key (W); - if K in Special_Key_Code'Range then - case K is - when HELP_CODE => Explain_Context; - when EXPLAIN_CODE => Explain ("FORMKEYS"); - when Key_Home => return F_First_Field; - when Key_End => return F_Last_Field; - when QUIT_CODE => return QUIT; - when Key_Cursor_Down => return F_Down_Char; - when Key_Cursor_Up => return F_Up_Char; - when Key_Cursor_Left => return F_Previous_Char; - when Key_Cursor_Right => return F_Next_Char; - when Key_Next_Page => return F_Next_Page; - when Key_Previous_Page => return F_Previous_Page; - when Key_Backspace => return F_Delete_Previous; - when Key_Clear_Screen => return F_Clear_Field; - when Key_Clear_End_Of_Line => return F_Clear_EOF; - when others => return K; - end case; - elsif K in Normal_Key_Code'Range then - Ch := Character'Val (K); - case Ch is - when CAN => return QUIT; -- CTRL-X - - when ACK => return F_Next_Field; -- CTRL-F - when STX => return F_Previous_Field; -- CTRL-B - when FF => return F_Left_Field; -- CTRL-L - when DC2 => return F_Right_Field; -- CTRL-R - when NAK => return F_Up_Field; -- CTRL-U - when EOT => return F_Down_Field; -- CTRL-D - - when ETB => return F_Next_Word; -- CTRL-W - when DC4 => return F_Previous_Word; -- CTRL-T - - when SOH => return F_Begin_Field; -- CTRL-A - when ENQ => return F_End_Field; -- CTRL-E - - when HT => return F_Insert_Char; -- CTRL-I - when SI => return F_Insert_Line; -- CTRL-O - when SYN => return F_Delete_Char; -- CTRL-V - when BS => return F_Delete_Previous; -- CTRL-H - when EM => return F_Delete_Line; -- CTRL-Y - when BEL => return F_Delete_Word; -- CTRL-G - when VT => return F_Clear_EOF; -- CTRL-K - - when SO => return F_Next_Choice; -- CTRL-N - when DLE => return F_Previous_Choice; -- CTRL-P - - when CR | LF => - if Handle_CRLF then - return F_New_Line; - else - return K; - end if; - when others => return K; - end case; - else - return K; - end if; - end loop; - end Get_Request; - - function Make (Top : Line_Position; - Left : Column_Position; - Text : String) return Field - is - Fld : Field; - C : constant Column_Count := Column_Count (Text'Length); - begin - Fld := New_Field (1, C, Top, Left); - Set_Buffer (Fld, 0, Text); - Switch_Options (Fld, (Active => True, others => False), False); - if Has_Colors then - Set_Background (Fld => Fld, Color => Default_Colors); - end if; - return Fld; - end Make; - - function Make (Height : Line_Count := 1; - Width : Column_Count; - Top : Line_Position; - Left : Column_Position; - Off_Screen : Natural := 0) return Field - is - Fld : constant Field := New_Field (Height, Width, Top, Left, Off_Screen); - begin - if Has_Colors then - Set_Foreground (Fld => Fld, Color => Form_Fore_Color); - Set_Background (Fld => Fld, Color => Form_Back_Color); - else - Set_Background (Fld, (Reverse_Video => True, others => False)); - end if; - return Fld; - end Make; - - function Default_Driver (F : Form; - K : Key_Code; - P : Panel) return Boolean - is - begin - if P = Null_Panel then - raise Panel_Exception; - end if; - if K in User_Key_Code'Range and then K = QUIT then - if Driver (F, F_Validate_Field) = Form_Ok then - return True; - end if; - end if; - return False; - end Default_Driver; - - function Count_Active (F : Form) return Natural - is - N : Natural := 0; - O : Field_Option_Set; - H : constant Natural := Field_Count (F); - begin - if H > 0 then - for I in 1 .. H loop - Get_Options (Fields (F, I), O); - if O.Active then - N := N + 1; - end if; - end loop; - end if; - return N; - end Count_Active; - -end Sample.Form_Demo.Aux; diff --git a/src/libs/ncurses/Ada95/samples/sample-form_demo-aux.ads b/src/libs/ncurses/Ada95/samples/sample-form_demo-aux.ads deleted file mode 100644 index 2317e14504..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-form_demo-aux.ads +++ /dev/null @@ -1,92 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Form_Demo.Aux -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Panels; use Terminal_Interface.Curses.Panels; -with Terminal_Interface.Curses.Forms; use Terminal_Interface.Curses.Forms; - -package Sample.Form_Demo.Aux is - - procedure Geometry (F : in Form; - L : out Line_Count; - C : out Column_Count; - Y : out Line_Position; - X : out Column_Position); - -- Calculate the geometry for a panel beeing able to be used to display - -- the menu. - - function Create (F : Form; - Title : String; - Lin : Line_Position; - Col : Column_Position) return Panel; - -- Create a panel decorated with a frame and the title at the specified - -- position. The dimension of the panel is derived from the menus layout. - - procedure Destroy (F : in Form; - P : in out Panel); - -- Destroy all the windowing structures associated with this menu and - -- panel. - - function Get_Request (F : Form; - P : Panel; - Handle_CRLF : Boolean := True) return Key_Code; - -- Centralized request driver for all menus in this sample. This - -- gives us a common key binding for all menus. - - function Make (Top : Line_Position; - Left : Column_Position; - Text : String) return Field; - -- create a label - - function Make (Height : Line_Count := 1; - Width : Column_Count; - Top : Line_Position; - Left : Column_Position; - Off_Screen : Natural := 0) return Field; - -- create a editable field - - function Default_Driver (F : Form; - K : Key_Code; - P : Panel) return Boolean; - - function Count_Active (F : Form) return Natural; - -- Count the number of active fields in the form - -end Sample.Form_Demo.Aux; diff --git a/src/libs/ncurses/Ada95/samples/sample-form_demo-handler.adb b/src/libs/ncurses/Ada95/samples/sample-form_demo-handler.adb deleted file mode 100644 index afe86f7111..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-form_demo-handler.adb +++ /dev/null @@ -1,98 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Form_Demo.Handler -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.13 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Sample.Form_Demo.Aux; - -package body Sample.Form_Demo.Handler is - - package Aux renames Sample.Form_Demo.Aux; - - procedure Drive_Me (F : in Form; - Title : in String := "") - is - L : Line_Count; - C : Column_Count; - Y : Line_Position; - X : Column_Position; - begin - Aux.Geometry (F, L, C, Y, X); - Drive_Me (F, Y, X, Title); - end Drive_Me; - - procedure Drive_Me (F : in Form; - Lin : in Line_Position; - Col : in Column_Position; - Title : in String := "") - is - Pan : Panel := Aux.Create (F, Title, Lin, Col); - V : Cursor_Visibility := Normal; - Handle_CRLF : Boolean := True; - - begin - Set_Cursor_Visibility (V); - if Aux.Count_Active (F) = 1 then - Handle_CRLF := False; - end if; - loop - declare - K : constant Key_Code := Aux.Get_Request (F, Pan, Handle_CRLF); - R : Driver_Result; - begin - if (K = 13 or else K = 10) and then not Handle_CRLF then - R := Unknown_Request; - else - R := Driver (F, K); - end if; - case R is - when Form_Ok => null; - when Unknown_Request => - if My_Driver (F, K, Pan) then - exit; - end if; - when others => Beep; - end case; - end; - end loop; - Set_Cursor_Visibility (V); - Aux.Destroy (F, Pan); - end Drive_Me; - -end Sample.Form_Demo.Handler; diff --git a/src/libs/ncurses/Ada95/samples/sample-form_demo-handler.ads b/src/libs/ncurses/Ada95/samples/sample-form_demo-handler.ads deleted file mode 100644 index 4a5641213e..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-form_demo-handler.ads +++ /dev/null @@ -1,64 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Form_Demo.Handler -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; -use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Panels; -use Terminal_Interface.Curses.Panels; -with Terminal_Interface.Curses.Forms; -use Terminal_Interface.Curses.Forms; - -generic - with function My_Driver (Frm : Form; - K : Key_Code; - Pan : Panel) return Boolean; -package Sample.Form_Demo.Handler is - - procedure Drive_Me (F : in Form; - Lin : in Line_Position; - Col : in Column_Position; - Title : in String := ""); - -- Position the menu at the given point and drive it. - - procedure Drive_Me (F : in Form; - Title : in String := ""); - -- Center menu and drive it. - -end Sample.Form_Demo.Handler; diff --git a/src/libs/ncurses/Ada95/samples/sample-form_demo.adb b/src/libs/ncurses/Ada95/samples/sample-form_demo.adb deleted file mode 100644 index df13813973..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-form_demo.adb +++ /dev/null @@ -1,130 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Form_Demo -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.13 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Forms; use Terminal_Interface.Curses.Forms; -with Terminal_Interface.Curses.Forms.Field_User_Data; -with Sample.My_Field_Type; use Sample.My_Field_Type; -with Sample.Explanation; use Sample.Explanation; -with Sample.Form_Demo.Aux; use Sample.Form_Demo.Aux; -with Sample.Function_Key_Setting; use Sample.Function_Key_Setting; -with Sample.Form_Demo.Handler; - -with Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada; -with Terminal_Interface.Curses.Forms.Field_Types.Enumeration; -use Terminal_Interface.Curses.Forms.Field_Types.Enumeration; -with Terminal_Interface.Curses.Forms.Field_Types.IntField; -use Terminal_Interface.Curses.Forms.Field_Types.IntField; - -package body Sample.Form_Demo is - - type User_Data is - record - Data : Integer; - end record; - type User_Access is access User_Data; - - package Fld_U is new - Terminal_Interface.Curses.Forms.Field_User_Data (User_Data, - User_Access); - - type Weekday is (Sunday, Monday, Tuesday, Wednesday, Thursday, - Friday, Saturday); - - package Weekday_Enum is new - Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada (Weekday); - - Enum_Field : constant Enumeration_Field := - Weekday_Enum.Create; - - procedure Demo - is - - Mft : My_Data := (Ch => 'X'); - - FA : Field_Array_Access := new Field_Array' - (Make (0, 14, "Sample Entry Form"), - Make (2, 0, "WeekdayEnumeration"), - Make (2, 20, "Numeric 1-10"), - Make (2, 34, "Only 'X'"), - Make (5, 0, "Multiple Lines offscreen(Scroll)"), - Make (Width => 18, Top => 3, Left => 0), - Make (Width => 12, Top => 3, Left => 20), - Make (Width => 12, Top => 3, Left => 34), - Make (Width => 46, Top => 6, Left => 0, Height => 4, Off_Screen => 2), - Null_Field - ); - - Frm : Terminal_Interface.Curses.Forms.Form := Create (FA); - - I_F : constant Integer_Field := (Precision => 0, - Lower_Limit => 1, - Upper_Limit => 10); - - F1, F2 : User_Access; - - package Fh is new Sample.Form_Demo.Handler (Default_Driver); - - begin - Push_Environment ("FORM00"); - Notepad ("FORM-PAD00"); - Default_Labels; - - Set_Field_Type (FA (6), Enum_Field); - Set_Field_Type (FA (7), I_F); - Set_Field_Type (FA (8), Mft); - - F1 := new User_Data'(Data => 4711); - Fld_U.Set_User_Data (FA (1), F1); - - Fh.Drive_Me (Frm); - - Fld_U.Get_User_Data (FA (1), F2); - pragma Assert (F1 = F2); - pragma Assert (F1.Data = F2.Data); - - Pop_Environment; - Delete (Frm); - - Free (FA, True); - end Demo; - -end Sample.Form_Demo; diff --git a/src/libs/ncurses/Ada95/samples/sample-form_demo.ads b/src/libs/ncurses/Ada95/samples/sample-form_demo.ads deleted file mode 100644 index bd33f57875..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-form_demo.ads +++ /dev/null @@ -1,45 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Form_Demo -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package Sample.Form_Demo is - - procedure Demo; - -end Sample.Form_Demo; diff --git a/src/libs/ncurses/Ada95/samples/sample-function_key_setting.adb b/src/libs/ncurses/Ada95/samples/sample-function_key_setting.adb deleted file mode 100644 index e40e4a4050..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-function_key_setting.adb +++ /dev/null @@ -1,214 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Function_Key_Setting -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.13 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Unchecked_Deallocation; -with Sample.Manifest; use Sample.Manifest; - --- This package implements a simple stack of function key label environments. --- -package body Sample.Function_Key_Setting is - - Max_Label_Length : constant Positive := 8; - Number_Of_Keys : Label_Number := Label_Number'Last; - Justification : Label_Justification := Left; - - subtype Label is String (1 .. Max_Label_Length); - type Label_Array is array (Label_Number range <>) of Label; - - type Key_Environment (N : Label_Number := Label_Number'Last); - type Env_Ptr is access Key_Environment; - pragma Controlled (Env_Ptr); - - type String_Access is access String; - pragma Controlled (String_Access); - - Active_Context : String_Access := new String'("MAIN"); - Active_Notepad : Panel := Null_Panel; - - type Key_Environment (N : Label_Number := Label_Number'Last) is - record - Prev : Env_Ptr; - Help : String_Access; - Notepad : Panel; - Labels : Label_Array (1 .. N); - end record; - - procedure Release_String is - new Ada.Unchecked_Deallocation (String, - String_Access); - - procedure Release_Environment is - new Ada.Unchecked_Deallocation (Key_Environment, - Env_Ptr); - - Top_Of_Stack : Env_Ptr := null; - - procedure Push_Environment (Key : in String; - Reset : in Boolean := True) - is - P : constant Env_Ptr := new Key_Environment (Number_Of_Keys); - begin - -- Store the current labels in the environment - for I in 1 .. Number_Of_Keys loop - Get_Soft_Label_Key (I, P.Labels (I)); - if Reset then - Set_Soft_Label_Key (I, " "); - end if; - end loop; - P.Prev := Top_Of_Stack; - -- now store active help context and notepad - P.Help := Active_Context; - P.Notepad := Active_Notepad; - -- The notepad must now vanish and the new notepad is empty. - if P.Notepad /= Null_Panel then - Hide (P.Notepad); - Update_Panels; - end if; - Active_Notepad := Null_Panel; - Active_Context := new String'(Key); - - Top_Of_Stack := P; - if Reset then - Refresh_Soft_Label_Keys_Without_Update; - end if; - end Push_Environment; - - procedure Pop_Environment - is - P : Env_Ptr := Top_Of_Stack; - begin - if Top_Of_Stack = null then - raise Function_Key_Stack_Error; - else - for I in 1 .. Number_Of_Keys loop - Set_Soft_Label_Key (I, P.Labels (I), Justification); - end loop; - pragma Assert (Active_Context /= null); - Release_String (Active_Context); - Active_Context := P.Help; - Refresh_Soft_Label_Keys_Without_Update; - Notepad_To_Context (P.Notepad); - Top_Of_Stack := P.Prev; - Release_Environment (P); - end if; - end Pop_Environment; - - function Context return String - is - begin - if Active_Context /= null then - return Active_Context.all; - else - return ""; - end if; - end Context; - - function Find_Context (Key : String) return Boolean - is - P : Env_Ptr := Top_Of_Stack; - begin - if Active_Context.all = Key then - return True; - else - loop - exit when P = null; - if P.Help.all = Key then - return True; - else - P := P.Prev; - end if; - end loop; - return False; - end if; - end Find_Context; - - procedure Notepad_To_Context (Pan : in Panel) - is - W : Window; - begin - if Active_Notepad /= Null_Panel then - W := Get_Window (Active_Notepad); - Clear (W); - Delete (Active_Notepad); - Delete (W); - end if; - Active_Notepad := Pan; - if Pan /= Null_Panel then - Top (Pan); - end if; - Update_Panels; - Update_Screen; - end Notepad_To_Context; - - procedure Initialize (Mode : Soft_Label_Key_Format := PC_Style; - Just : Label_Justification := Left) - is - begin - case Mode is - when PC_Style .. PC_Style_With_Index - => Number_Of_Keys := 12; - when others - => Number_Of_Keys := 8; - end case; - Init_Soft_Label_Keys (Mode); - Justification := Just; - end Initialize; - - procedure Default_Labels - is - begin - Set_Soft_Label_Key (FKEY_QUIT, "Quit"); - Set_Soft_Label_Key (FKEY_HELP, "Help"); - Set_Soft_Label_Key (FKEY_EXPLAIN, "Keys"); - Refresh_Soft_Label_Keys_Without_Update; - end Default_Labels; - - function Notepad_Window return Window - is - begin - if Active_Notepad /= Null_Panel then - return Get_Window (Active_Notepad); - else - return Null_Window; - end if; - end Notepad_Window; - -end Sample.Function_Key_Setting; diff --git a/src/libs/ncurses/Ada95/samples/sample-function_key_setting.ads b/src/libs/ncurses/Ada95/samples/sample-function_key_setting.ads deleted file mode 100644 index e20f619acd..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-function_key_setting.ads +++ /dev/null @@ -1,82 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Function_Key_Setting -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Panels; use Terminal_Interface.Curses.Panels; - --- This package implements a simple stack of function key label environments. --- -package Sample.Function_Key_Setting is - - procedure Push_Environment (Key : in String; - Reset : in Boolean := True); - -- Push the definition of the current function keys on an internal - -- stack. If the reset flag is true, all labels are reset while - -- pushed, so the new environment can assume a tabula rasa. - -- The Key defines the new Help Context associated with the new - -- Environment. This saves also the currently active Notepad. - - procedure Pop_Environment; - -- Pop the Definitions from the stack and make them the current ones. - -- This also restores the Help context and the previous Notepad. - - procedure Initialize (Mode : Soft_Label_Key_Format := PC_Style; - Just : Label_Justification := Left); - -- Initialize the environment - - function Context return String; - -- Return the current context identitfier - - function Find_Context (Key : String) return Boolean; - -- Look for a context, return true if it is in the stack, - -- false otherwise. - - procedure Notepad_To_Context (Pan : in Panel); - -- Add a panel representing a notepad to the current context. - - Function_Key_Stack_Error : exception; - - procedure Default_Labels; - -- Set the default labels used in all environments - - function Notepad_Window return Window; - -- Return the current notepad window or Null_Window if there is none. - -end Sample.Function_Key_Setting; diff --git a/src/libs/ncurses/Ada95/samples/sample-header_handler.adb b/src/libs/ncurses/Ada95/samples/sample-header_handler.adb deleted file mode 100644 index b187f97638..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-header_handler.adb +++ /dev/null @@ -1,181 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Header_Handler -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.14 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Calendar; use Ada.Calendar; -with Terminal_Interface.Curses.Text_IO.Integer_IO; -with Sample.Manifest; use Sample.Manifest; - --- This package handles the painting of the header line of the screen. --- -package body Sample.Header_Handler is - - package Int_IO is new - Terminal_Interface.Curses.Text_IO.Integer_IO (Integer); - use Int_IO; - - Header_Window : Window := Null_Window; - - Display_Hour : Integer := -1; -- hour last displayed - Display_Min : Integer := -1; -- minute last displayed - Display_Day : Integer := -1; -- day last displayed - Display_Month : Integer := -1; -- month last displayed - - -- This is the routine handed over to the curses library to be called - -- as initialization routine when ripping of the header lines from - -- the screen. This routine must follow C conventions. - function Init_Header_Window (Win : Window; - Columns : Column_Count) return Integer; - pragma Convention (C, Init_Header_Window); - - procedure Internal_Update_Header_Window (Do_Update : in Boolean); - - - -- The initialization must be called before Init_Screen. It steals two - -- lines from the top of the screen. - procedure Init_Header_Handler - is - begin - Rip_Off_Lines (2, Init_Header_Window'Access); - end Init_Header_Handler; - - procedure N_Out (N : in Integer); - - -- Emit a two digit number and ensure that a leading zero is generated if - -- necessary. - procedure N_Out (N : in Integer) - is - begin - if N < 10 then - Add (Header_Window, '0'); - Put (Header_Window, N, 1); - else - Put (Header_Window, N, 2); - end if; - end N_Out; - - -- Paint the header window. The input parameter is a flag indicating - -- whether or not the screen should be updated physically after painting. - procedure Internal_Update_Header_Window (Do_Update : in Boolean) - is - type Month_Name_Array is - array (Month_Number'First .. Month_Number'Last) of String (1 .. 9); - - Month_Names : constant Month_Name_Array := - ("January ", - "February ", - "March ", - "April ", - "May ", - "June ", - "July ", - "August ", - "September", - "October ", - "November ", - "December "); - - Now : constant Time := Clock; - Sec : constant Integer := Integer (Seconds (Now)); - Hour : constant Integer := Sec / 3600; - Minute : constant Integer := (Sec - Hour * 3600) / 60; - Mon : constant Month_Number := Month (Now); - D : constant Day_Number := Day (Now); - begin - if Header_Window /= Null_Window then - if Minute /= Display_Min or else Hour /= Display_Hour - or else Display_Day /= D or else Display_Month /= Mon then - Move_Cursor (Header_Window, 0, 0); - N_Out (D); Add (Header_Window, '.'); - Add (Header_Window, Month_Names (Mon)); - Move_Cursor (Header_Window, 1, 0); - N_Out (Hour); Add (Header_Window, ':'); - N_Out (Minute); - Display_Min := Minute; - Display_Hour := Hour; - Display_Month := Mon; - Display_Day := D; - Refresh_Without_Update (Header_Window); - if Do_Update then - Update_Screen; - end if; - end if; - end if; - end Internal_Update_Header_Window; - - -- This routine is called in the keyboard input timeout handler. So it will - -- periodically update the header line of the screen. - procedure Update_Header_Window - is - begin - Internal_Update_Header_Window (True); - end Update_Header_Window; - - function Init_Header_Window (Win : Window; - Columns : Column_Count) return Integer - is - Title : constant String := "Ada 95 ncurses Binding Sample"; - Pos : Column_Position; - begin - Header_Window := Win; - if Win /= Null_Window then - if Has_Colors then - Set_Background (Win => Win, - Ch => (Ch => ' ', - Color => Header_Color, - Attr => Normal_Video)); - Set_Character_Attributes (Win => Win, - Attr => Normal_Video, - Color => Header_Color); - Erase (Win); - end if; - Leave_Cursor_After_Update (Win, True); - Pos := Columns - Column_Position (Title'Length); - Add (Win, 0, Pos / 2, Title); - -- In this phase we must not allow a physical update, because - -- ncurses isn´t properly initialized at this point. - Internal_Update_Header_Window (False); - return 0; - else - return -1; - end if; - end Init_Header_Window; - -end Sample.Header_Handler; diff --git a/src/libs/ncurses/Ada95/samples/sample-header_handler.ads b/src/libs/ncurses/Ada95/samples/sample-header_handler.ads deleted file mode 100644 index aa0a0c29e9..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-header_handler.ads +++ /dev/null @@ -1,53 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Header_Handler -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; - --- This package handles the painting of the header line of the screen. --- -package Sample.Header_Handler is - - procedure Init_Header_Handler; - -- Initialize the handler for the headerlines. - - procedure Update_Header_Window; - -- Update the information in the header window - -end Sample.Header_Handler; diff --git a/src/libs/ncurses/Ada95/samples/sample-helpers.adb b/src/libs/ncurses/Ada95/samples/sample-helpers.adb deleted file mode 100644 index aed5a37405..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-helpers.adb +++ /dev/null @@ -1,69 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Helpers -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; - -with Sample.Explanation; use Sample.Explanation; - --- This package contains some conveniant helper routines used throughout --- this example. --- -package body Sample.Helpers is - - procedure Window_Title (Win : in Window; - Title : in String) - is - Height : Line_Count; - Width : Column_Count; - Pos : Column_Position := 0; - begin - Get_Size (Win, Height, Width); - if Title'Length < Width then - Pos := (Width - Title'Length) / 2; - end if; - Add (Win, 0, Pos, Title); - end Window_Title; - - procedure Not_Implemented is - begin - Explain ("NOTIMPL"); - end Not_Implemented; - -end Sample.Helpers; diff --git a/src/libs/ncurses/Ada95/samples/sample-helpers.ads b/src/libs/ncurses/Ada95/samples/sample-helpers.ads deleted file mode 100644 index c1c8e7996e..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-helpers.ads +++ /dev/null @@ -1,54 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Helpers -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; - --- This package contains some conveniant helper routines used throughout --- this example. --- -package Sample.Helpers is - - procedure Window_Title (Win : in Window; - Title : in String); - -- Put a title string into the first line of the window - - procedure Not_Implemented; - -end Sample.Helpers; diff --git a/src/libs/ncurses/Ada95/samples/sample-keyboard_handler.adb b/src/libs/ncurses/Ada95/samples/sample-keyboard_handler.adb deleted file mode 100644 index 5629ea77b7..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-keyboard_handler.adb +++ /dev/null @@ -1,195 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Keyboard_Handler -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.12 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Strings; use Ada.Strings; -with Ada.Strings.Fixed; use Ada.Strings.Fixed; -with Ada.Strings.Maps.Constants; use Ada.Strings.Maps.Constants; -with Ada.Characters.Latin_1; use Ada.Characters.Latin_1; -with Ada.Characters.Handling; use Ada.Characters.Handling; - -with Terminal_Interface.Curses.Panels; use Terminal_Interface.Curses.Panels; -with Terminal_Interface.Curses.Forms; use Terminal_Interface.Curses.Forms; -with Terminal_Interface.Curses.Forms.Field_Types.Enumeration; -use Terminal_Interface.Curses.Forms.Field_Types.Enumeration; - -with Sample.Header_Handler; use Sample.Header_Handler; -with Sample.Form_Demo.Aux; use Sample.Form_Demo.Aux; -with Sample.Manifest; use Sample.Manifest; -with Sample.Form_Demo.Handler; - --- This package contains a centralized keyboard handler used throughout --- this example. The handler establishes a timeout mechanism that provides --- periodical updates of the common header lines used in this example. --- - -package body Sample.Keyboard_Handler is - - In_Command : Boolean := False; - - function Get_Key (Win : Window := Standard_Window) return Real_Key_Code - is - K : Real_Key_Code; - - function Command return Real_Key_Code; - - - function Command return Real_Key_Code - is - function My_Driver (F : Form; - C : Key_Code; - P : Panel) return Boolean; - package Fh is new Sample.Form_Demo.Handler (My_Driver); - - type Label_Array is array (Label_Number) of String (1 .. 8); - - Labels : Label_Array; - - FA : Field_Array_Access := new Field_Array' - (Make (0, 0, "Command:"), - Make (Top => 0, Left => 9, Width => Columns - 11), - Null_Field); - - K : Real_Key_Code := Key_None; - N : Natural := 0; - - function My_Driver (F : Form; - C : Key_Code; - P : Panel) return Boolean - is - Ch : Character; - begin - if P = Null_Panel then - raise Panel_Exception; - end if; - if C in User_Key_Code'Range and then C = QUIT then - if Driver (F, F_Validate_Field) = Form_Ok then - K := Key_None; - return True; - end if; - elsif C in Normal_Key_Code'Range then - Ch := Character'Val (C); - if Ch = LF or else Ch = CR then - if Driver (F, F_Validate_Field) = Form_Ok then - declare - Buffer : String (1 .. Positive (Columns - 11)); - Cmdc : String (1 .. 8); - begin - Get_Buffer (Fld => FA (2), Str => Buffer); - Trim (Buffer, Left); - if Buffer (1) /= ' ' then - Cmdc := To_Upper (Buffer (Cmdc'Range)); - for I in Labels'Range loop - if Cmdc = Labels (I) then - K := Function_Key_Code - (Function_Key_Number (I)); - exit; - end if; - end loop; - end if; - return True; - end; - end if; - end if; - end if; - return False; - end My_Driver; - - begin - In_Command := True; - for I in Label_Number'Range loop - Get_Soft_Label_Key (I, Labels (I)); - Trim (Labels (I), Left); - Translate (Labels (I), Upper_Case_Map); - if Labels (I) (1) /= ' ' then - N := N + 1; - end if; - end loop; - if N > 0 then -- some labels were really set - declare - Enum_Info : Enumeration_Info (N); - Enum_Field : Enumeration_Field; - J : Positive := Enum_Info.Names'First; - - Frm : Form := Create (FA); - - begin - for I in Label_Number'Range loop - if Labels (I) (1) /= ' ' then - Enum_Info.Names (J) := new String'(Labels (I)); - J := J + 1; - end if; - end loop; - Enum_Field := Create (Enum_Info, True); - Set_Field_Type (FA (2), Enum_Field); - Set_Background (FA (2), Normal_Video); - - Fh.Drive_Me (Frm, Lines - 3, 0); - Delete (Frm); - Update_Panels; Update_Screen; - end; - end if; - Free (FA, True); - In_Command := False; - return K; - end Command; - - begin - Set_Timeout_Mode (Win, Delayed, 30000); - loop - K := Get_Keystroke (Win); - if K = Key_None then -- a timeout occured - Update_Header_Window; - elsif K = 3 and then not In_Command then -- CTRL-C - K := Command; - exit when K /= Key_None; - else - exit; - end if; - end loop; - return K; - end Get_Key; - - procedure Init_Keyboard_Handler is - begin - null; - end Init_Keyboard_Handler; - -end Sample.Keyboard_Handler; diff --git a/src/libs/ncurses/Ada95/samples/sample-keyboard_handler.ads b/src/libs/ncurses/Ada95/samples/sample-keyboard_handler.ads deleted file mode 100644 index ac5b1399db..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-keyboard_handler.ads +++ /dev/null @@ -1,55 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Keyboard_Handler -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; - --- This package contains a centralized keyboard handler used throughout --- this example. The handler establishes a timeout mechanism that provides --- periodical updates of the common header lines used in this example. --- -package Sample.Keyboard_Handler is - - function Get_Key (Win : Window := Standard_Window) return Real_Key_Code; - -- The central routine for handling keystrokes. - - procedure Init_Keyboard_Handler; - -- Initialize the keyboard - -end Sample.Keyboard_Handler; diff --git a/src/libs/ncurses/Ada95/samples/sample-manifest.ads b/src/libs/ncurses/Ada95/samples/sample-manifest.ads deleted file mode 100644 index bb76c4cba7..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-manifest.ads +++ /dev/null @@ -1,67 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Manifest -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; - -package Sample.Manifest is - - QUIT : constant User_Key_Code := User_Key_Code'First; - SELECT_ITEM : constant User_Key_Code := QUIT + 1; - - FKEY_HELP : constant Label_Number := 1; - HELP_CODE : constant Special_Key_Code := Key_F1; - FKEY_EXPLAIN : constant Label_Number := 2; - EXPLAIN_CODE : constant Special_Key_Code := Key_F2; - FKEY_QUIT : constant Label_Number := 3; - QUIT_CODE : constant Special_Key_Code := Key_F3; - - Menu_Marker : constant String := "=> "; - - Default_Colors : constant Redefinable_Color_Pair := 1; - Menu_Fore_Color : constant Redefinable_Color_Pair := 2; - Menu_Back_Color : constant Redefinable_Color_Pair := 3; - Menu_Grey_Color : constant Redefinable_Color_Pair := 4; - Form_Fore_Color : constant Redefinable_Color_Pair := 5; - Form_Back_Color : constant Redefinable_Color_Pair := 6; - Notepad_Color : constant Redefinable_Color_Pair := 7; - Help_Color : constant Redefinable_Color_Pair := 8; - Header_Color : constant Redefinable_Color_Pair := 9; - -end Sample.Manifest; diff --git a/src/libs/ncurses/Ada95/samples/sample-menu_demo-aux.adb b/src/libs/ncurses/Ada95/samples/sample-menu_demo-aux.adb deleted file mode 100644 index 2d2e06acce..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-menu_demo-aux.adb +++ /dev/null @@ -1,204 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Menu_Demo.Aux -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Characters.Latin_1; use Ada.Characters.Latin_1; - -with Sample.Manifest; use Sample.Manifest; -with Sample.Helpers; use Sample.Helpers; -with Sample.Keyboard_Handler; use Sample.Keyboard_Handler; -with Sample.Explanation; use Sample.Explanation; - -package body Sample.Menu_Demo.Aux is - - procedure Geometry (M : in Menu; - L : out Line_Count; - C : out Column_Count; - Y : out Line_Position; - X : out Column_Position; - Fy : out Line_Position; - Fx : out Column_Position); - - procedure Geometry (M : in Menu; - L : out Line_Count; -- Lines used for menu - C : out Column_Count; -- Columns used for menu - Y : out Line_Position; -- Proposed Line for menu - X : out Column_Position; -- Proposed Column for menu - Fy : out Line_Position; -- Vertical inner frame - Fx : out Column_Position) -- Horiz. inner frame - is - Spc_Desc : Column_Position; -- spaces between description and item - begin - Set_Mark (M, Menu_Marker); - - Spacing (M, Spc_Desc, Fy, Fx); - Scale (M, L, C); - - Fx := Fx + Column_Position (Fy - 1); -- looks a bit nicer - - L := L + 2 * Fy; -- count for frame at top and bottom - C := C + 2 * Fx; -- " - - -- Calculate horizontal coordinate at the screen center - X := (Columns - C) / 2; - Y := 1; -- always startin line 1 - - end Geometry; - - procedure Geometry (M : in Menu; - L : out Line_Count; -- Lines used for menu - C : out Column_Count; -- Columns used for menu - Y : out Line_Position; -- Proposed Line for menu - X : out Column_Position) -- Proposed Column for menu - is - Fy : Line_Position; - Fx : Column_Position; - begin - Geometry (M, L, C, Y, X, Fy, Fx); - end Geometry; - - function Create (M : Menu; - Title : String; - Lin : Line_Position; - Col : Column_Position) return Panel - is - W, S : Window; - L : Line_Count; - C : Column_Count; - Y, Fy : Line_Position; - X, Fx : Column_Position; - Pan : Panel; - begin - Geometry (M, L, C, Y, X, Fy, Fx); - W := New_Window (L, C, Lin, Col); - Set_Meta_Mode (W); - Set_KeyPad_Mode (W); - if Has_Colors then - Set_Background (Win => W, - Ch => (Ch => ' ', - Color => Menu_Back_Color, - Attr => Normal_Video)); - Set_Foreground (Men => M, Color => Menu_Fore_Color); - Set_Background (Men => M, Color => Menu_Back_Color); - Set_Grey (Men => M, Color => Menu_Grey_Color); - Erase (W); - end if; - S := Derived_Window (W, L - Fy, C - Fx, Fy, Fx); - Set_Meta_Mode (S); - Set_KeyPad_Mode (S); - Box (W); - Set_Window (M, W); - Set_Sub_Window (M, S); - if Title'Length > 0 then - Window_Title (W, Title); - end if; - Pan := New_Panel (W); - Post (M); - return Pan; - end Create; - - procedure Destroy (M : in Menu; - P : in out Panel) - is - W, S : Window; - begin - W := Get_Window (M); - S := Get_Sub_Window (M); - Post (M, False); - Erase (W); - Delete (P); - Set_Window (M, Null_Window); - Set_Sub_Window (M, Null_Window); - Delete (S); - Delete (W); - Update_Panels; - end Destroy; - - function Get_Request (M : Menu; P : Panel) return Key_Code - is - W : constant Window := Get_Window (M); - K : Real_Key_Code; - Ch : Character; - begin - Top (P); - loop - K := Get_Key (W); - if K in Special_Key_Code'Range then - case K is - when HELP_CODE => Explain_Context; - when EXPLAIN_CODE => Explain ("MENUKEYS"); - when Key_Home => return REQ_FIRST_ITEM; - when QUIT_CODE => return QUIT; - when Key_Cursor_Down => return REQ_DOWN_ITEM; - when Key_Cursor_Up => return REQ_UP_ITEM; - when Key_Cursor_Left => return REQ_LEFT_ITEM; - when Key_Cursor_Right => return REQ_RIGHT_ITEM; - when Key_End => return REQ_LAST_ITEM; - when Key_Backspace => return REQ_BACK_PATTERN; - when Key_Next_Page => return REQ_SCR_DPAGE; - when Key_Previous_Page => return REQ_SCR_UPAGE; - when others => return K; - end case; - elsif K in Normal_Key_Code'Range then - Ch := Character'Val (K); - case Ch is - when CAN => return QUIT; -- CTRL-X - when SO => return REQ_NEXT_ITEM; -- CTRL-N - when DLE => return REQ_PREV_ITEM; -- CTRL-P - when NAK => return REQ_SCR_ULINE; -- CTRL-U - when EOT => return REQ_SCR_DLINE; -- CTRL-D - when ACK => return REQ_SCR_DPAGE; -- CTRL-F - when STX => return REQ_SCR_UPAGE; -- CTRL-B - when EM => return REQ_CLEAR_PATTERN; -- CTRL-Y - when BS => return REQ_BACK_PATTERN; -- CTRL-H - when SOH => return REQ_NEXT_MATCH; -- CTRL-A - when ENQ => return REQ_PREV_MATCH; -- CTRL-E - when DC4 => return REQ_TOGGLE_ITEM; -- CTRL-T - - when CR | LF => return SELECT_ITEM; - when others => return K; - end case; - else - return K; - end if; - end loop; - end Get_Request; - -end Sample.Menu_Demo.Aux; - diff --git a/src/libs/ncurses/Ada95/samples/sample-menu_demo-aux.ads b/src/libs/ncurses/Ada95/samples/sample-menu_demo-aux.ads deleted file mode 100644 index 964e38e6e0..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-menu_demo-aux.ads +++ /dev/null @@ -1,71 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Menu_Demo.Aux -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Panels; use Terminal_Interface.Curses.Panels; -with Terminal_Interface.Curses.Menus; use Terminal_Interface.Curses.Menus; - -package Sample.Menu_Demo.Aux is - - procedure Geometry (M : in Menu; - L : out Line_Count; - C : out Column_Count; - Y : out Line_Position; - X : out Column_Position); - -- Calculate the geometry for a panel beeing able to be used to display - -- the menu. - - function Create (M : Menu; - Title : String; - Lin : Line_Position; - Col : Column_Position) return Panel; - -- Create a panel decorated with a frame and the title at the specified - -- position. The dimension of the panel is derived from the menus layout. - - procedure Destroy (M : in Menu; - P : in out Panel); - -- Destroy all the windowing structures associated with this menu and - -- panel. - - function Get_Request (M : Menu; P : Panel) return Key_Code; - -- Centralized request driver for all menus in this sample. This - -- gives us a common key binding for all menus. - -end Sample.Menu_Demo.Aux; diff --git a/src/libs/ncurses/Ada95/samples/sample-menu_demo-handler.adb b/src/libs/ncurses/Ada95/samples/sample-menu_demo-handler.adb deleted file mode 100644 index 18747e9fef..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-menu_demo-handler.adb +++ /dev/null @@ -1,108 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Menu_Demo.Handler -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.15 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Sample.Menu_Demo.Aux; -with Sample.Manifest; use Sample.Manifest; -with Terminal_Interface.Curses.Mouse; use Terminal_Interface.Curses.Mouse; - -package body Sample.Menu_Demo.Handler is - - package Aux renames Sample.Menu_Demo.Aux; - - procedure Drive_Me (M : in Menu; - Title : in String := "") - is - L : Line_Count; - C : Column_Count; - Y : Line_Position; - X : Column_Position; - begin - Aux.Geometry (M, L, C, Y, X); - Drive_Me (M, Y, X, Title); - end Drive_Me; - - procedure Drive_Me (M : in Menu; - Lin : in Line_Position; - Col : in Column_Position; - Title : in String := "") - is - Mask : Event_Mask := No_Events; - Old : Event_Mask; - Pan : Panel := Aux.Create (M, Title, Lin, Col); - V : Cursor_Visibility := Invisible; - begin - -- We are only interested in Clicks with the left button - Register_Reportable_Events (Left, All_Clicks, Mask); - Old := Start_Mouse (Mask); - Set_Cursor_Visibility (V); - loop - declare - K : Key_Code := Aux.Get_Request (M, Pan); - R : constant Driver_Result := Driver (M, K); - begin - case R is - when Menu_Ok => null; - when Unknown_Request => - declare - I : constant Item := Current (M); - O : Item_Option_Set; - begin - if K = Key_Mouse then - K := SELECT_ITEM; - end if; - Get_Options (I, O); - if K = SELECT_ITEM and then not O.Selectable then - Beep; - else - if My_Driver (M, K, Pan) then - exit; - end if; - end if; - end; - when others => Beep; - end case; - end; - end loop; - End_Mouse (Old); - Aux.Destroy (M, Pan); - end Drive_Me; - -end Sample.Menu_Demo.Handler; diff --git a/src/libs/ncurses/Ada95/samples/sample-menu_demo-handler.ads b/src/libs/ncurses/Ada95/samples/sample-menu_demo-handler.ads deleted file mode 100644 index 1a82f9fdb1..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-menu_demo-handler.ads +++ /dev/null @@ -1,64 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Menu_Demo.Handler -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; -use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Panels; -use Terminal_Interface.Curses.Panels; -with Terminal_Interface.Curses.Menus; -use Terminal_Interface.Curses.Menus; - -generic - with function My_Driver (Men : Menu; - K : Key_Code; - Pan : Panel) return Boolean; -package Sample.Menu_Demo.Handler is - - procedure Drive_Me (M : in Menu; - Lin : in Line_Position; - Col : in Column_Position; - Title : in String := ""); - -- Position the menu at the given point and drive it. - - procedure Drive_Me (M : in Menu; - Title : in String := ""); - -- Center menu and drive it. - -end Sample.Menu_Demo.Handler; diff --git a/src/libs/ncurses/Ada95/samples/sample-menu_demo.adb b/src/libs/ncurses/Ada95/samples/sample-menu_demo.adb deleted file mode 100644 index 261658f900..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-menu_demo.adb +++ /dev/null @@ -1,397 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Menu_Demo -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.17 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Panels; use Terminal_Interface.Curses.Panels; -with Terminal_Interface.Curses.Menus; use Terminal_Interface.Curses.Menus; -with Terminal_Interface.Curses.Menus.Menu_User_Data; -with Terminal_Interface.Curses.Menus.Item_User_Data; - -with Sample.Manifest; use Sample.Manifest; -with Sample.Function_Key_Setting; use Sample.Function_Key_Setting; -with Sample.Menu_Demo.Handler; -with Sample.Helpers; use Sample.Helpers; -with Sample.Explanation; use Sample.Explanation; - -package body Sample.Menu_Demo is - - package Spacing_Demo is - procedure Spacing_Test; - end Spacing_Demo; - - package body Spacing_Demo is - - procedure Spacing_Test - is - function My_Driver (M : Menu; - K : Key_Code; - P : Panel) return Boolean; - - procedure Set_Option_Key; - procedure Set_Select_Key; - procedure Set_Description_Key; - procedure Set_Hide_Key; - - package Mh is new Sample.Menu_Demo.Handler (My_Driver); - - I : Item_Array_Access := new Item_Array' - (New_Item ("January", "31 Days"), - New_Item ("February", "28/29 Days"), - New_Item ("March", "31 Days"), - New_Item ("April", "30 Days"), - New_Item ("May", "31 Days"), - New_Item ("June", "30 Days"), - New_Item ("July", "31 Days"), - New_Item ("August", "31 Days"), - New_Item ("September", "30 Days"), - New_Item ("October", "31 Days"), - New_Item ("November", "30 Days"), - New_Item ("December", "31 Days"), - Null_Item); - - M : Menu := New_Menu (I); - Flip_State : Boolean := True; - Hide_Long : Boolean := False; - - type Format_Code is (Four_By_1, Four_By_2, Four_By_3); - type Operations is (Flip, Reorder, Reformat, Reselect, Describe); - - type Change is array (Operations) of Boolean; - pragma Pack (Change); - No_Change : constant Change := Change'(others => False); - - Current_Format : Format_Code := Four_By_1; - To_Change : Change := No_Change; - - function My_Driver (M : Menu; - K : Key_Code; - P : Panel) return Boolean - is - begin - if M = Null_Menu then - raise Menu_Exception; - end if; - if P = Null_Panel then - raise Panel_Exception; - end if; - To_Change := No_Change; - if K in User_Key_Code'Range then - if K = QUIT then - return True; - end if; - end if; - if K in Special_Key_Code'Range then - case K is - when Key_F4 => - To_Change (Flip) := True; - return True; - when Key_F5 => - To_Change (Reformat) := True; - Current_Format := Four_By_1; - return True; - when Key_F6 => - To_Change (Reformat) := True; - Current_Format := Four_By_2; - return True; - when Key_F7 => - To_Change (Reformat) := True; - Current_Format := Four_By_3; - return True; - when Key_F8 => - To_Change (Reorder) := True; - return True; - when Key_F9 => - To_Change (Reselect) := True; - return True; - when Key_F10 => - if Current_Format /= Four_By_3 then - To_Change (Describe) := True; - return True; - else - return False; - end if; - when Key_F11 => - Hide_Long := not Hide_Long; - declare - O : Item_Option_Set; - begin - for J in I'Range loop - Get_Options (I (J), O); - O.Selectable := True; - if Hide_Long then - case J is - when 1 | 3 | 5 | 7 | 8 | 10 | 12 => - O.Selectable := False; - when others => null; - end case; - end if; - Set_Options (I (J), O); - end loop; - end; - return False; - when others => null; - end case; - end if; - return False; - end My_Driver; - - procedure Set_Option_Key - is - O : Menu_Option_Set; - begin - if Current_Format = Four_By_1 then - Set_Soft_Label_Key (8, ""); - else - Get_Options (M, O); - if O.Row_Major_Order then - Set_Soft_Label_Key (8, "O-Col"); - else - Set_Soft_Label_Key (8, "O-Row"); - end if; - end if; - Refresh_Soft_Label_Keys_Without_Update; - end Set_Option_Key; - - procedure Set_Select_Key - is - O : Menu_Option_Set; - begin - Get_Options (M, O); - if O.One_Valued then - Set_Soft_Label_Key (9, "Multi"); - else - Set_Soft_Label_Key (9, "Singl"); - end if; - Refresh_Soft_Label_Keys_Without_Update; - end Set_Select_Key; - - procedure Set_Description_Key - is - O : Menu_Option_Set; - begin - if Current_Format = Four_By_3 then - Set_Soft_Label_Key (10, ""); - else - Get_Options (M, O); - if O.Show_Descriptions then - Set_Soft_Label_Key (10, "-Desc"); - else - Set_Soft_Label_Key (10, "+Desc"); - end if; - end if; - Refresh_Soft_Label_Keys_Without_Update; - end Set_Description_Key; - - procedure Set_Hide_Key - is - begin - if Hide_Long then - Set_Soft_Label_Key (11, "Enab"); - else - Set_Soft_Label_Key (11, "Disab"); - end if; - Refresh_Soft_Label_Keys_Without_Update; - end Set_Hide_Key; - - begin - Push_Environment ("MENU01"); - Notepad ("MENU-PAD01"); - Default_Labels; - Set_Soft_Label_Key (4, "Flip"); - Set_Soft_Label_Key (5, "4x1"); - Set_Soft_Label_Key (6, "4x2"); - Set_Soft_Label_Key (7, "4x3"); - Set_Option_Key; - Set_Select_Key; - Set_Description_Key; - Set_Hide_Key; - - Set_Format (M, 4, 1); - loop - Mh.Drive_Me (M); - exit when To_Change = No_Change; - if To_Change (Flip) then - if Flip_State then - Flip_State := False; - Set_Spacing (M, 3, 2, 0); - else - Flip_State := True; - Set_Spacing (M); - end if; - elsif To_Change (Reformat) then - case Current_Format is - when Four_By_1 => Set_Format (M, 4, 1); - when Four_By_2 => Set_Format (M, 4, 2); - when Four_By_3 => - declare - O : Menu_Option_Set; - begin - Get_Options (M, O); - O.Show_Descriptions := False; - Set_Options (M, O); - Set_Format (M, 4, 3); - end; - end case; - Set_Option_Key; - Set_Description_Key; - elsif To_Change (Reorder) then - declare - O : Menu_Option_Set; - begin - Get_Options (M, O); - O.Row_Major_Order := not O.Row_Major_Order; - Set_Options (M, O); - Set_Option_Key; - end; - elsif To_Change (Reselect) then - declare - O : Menu_Option_Set; - begin - Get_Options (M, O); - O.One_Valued := not O.One_Valued; - Set_Options (M, O); - Set_Select_Key; - end; - elsif To_Change (Describe) then - declare - O : Menu_Option_Set; - begin - Get_Options (M, O); - O.Show_Descriptions := not O.Show_Descriptions; - Set_Options (M, O); - Set_Description_Key; - end; - else - null; - end if; - end loop; - Set_Spacing (M); - Flip_State := True; - - Pop_Environment; - pragma Assert (Get_Index (Items (M, 1)) = Get_Index (I (1))); - Delete (M); - Free (I, True); - end Spacing_Test; - end Spacing_Demo; - - procedure Demo - is - -- We use this datatype only to test the instantiation of - -- the Menu_User_Data generic package. No functionality - -- behind it. - type User_Data is new Integer; - type User_Data_Access is access User_Data; - - -- Those packages are only instantiated to test the usability. - -- No real functionality is shown in the demo. - package MUD is new Menu_User_Data (User_Data, User_Data_Access); - package IUD is new Item_User_Data (User_Data, User_Data_Access); - - function My_Driver (M : Menu; - K : Key_Code; - P : Panel) return Boolean; - - package Mh is new Sample.Menu_Demo.Handler (My_Driver); - - Itm : Item_Array_Access := new Item_Array' - (New_Item ("Menu Layout Options"), - New_Item ("Demo of Hook functions"), - Null_Item); - M : Menu := New_Menu (Itm); - - U1 : constant User_Data_Access := new User_Data'(4711); - U2 : User_Data_Access; - U3 : constant User_Data_Access := new User_Data'(4712); - U4 : User_Data_Access; - - function My_Driver (M : Menu; - K : Key_Code; - P : Panel) return Boolean - is - Idx : constant Positive := Get_Index (Current (M)); - begin - if K in User_Key_Code'Range then - if K = QUIT then - return True; - elsif K = SELECT_ITEM then - if Idx in Itm'Range then - Hide (P); - Update_Panels; - end if; - case Idx is - when 1 => Spacing_Demo.Spacing_Test; - when others => Not_Implemented; - end case; - if Idx in Itm'Range then - Top (P); - Show (P); - Update_Panels; - Update_Screen; - end if; - end if; - end if; - return False; - end My_Driver; - begin - Push_Environment ("MENU00"); - Notepad ("MENU-PAD00"); - Default_Labels; - Refresh_Soft_Label_Keys_Without_Update; - Set_Pad_Character (M, '|'); - - MUD.Set_User_Data (M, U1); - IUD.Set_User_Data (Itm (1), U3); - - Mh.Drive_Me (M); - - MUD.Get_User_Data (M, U2); - pragma Assert (U1 = U2 and U1.all = 4711); - - IUD.Get_User_Data (Itm (1), U4); - pragma Assert (U3 = U4 and U3.all = 4712); - - Pop_Environment; - Delete (M); - Free (Itm, True); - end Demo; - -end Sample.Menu_Demo; diff --git a/src/libs/ncurses/Ada95/samples/sample-menu_demo.ads b/src/libs/ncurses/Ada95/samples/sample-menu_demo.ads deleted file mode 100644 index b071afc827..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-menu_demo.ads +++ /dev/null @@ -1,45 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Menu_Demo -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package Sample.Menu_Demo is - - procedure Demo; - -end Sample.Menu_Demo; diff --git a/src/libs/ncurses/Ada95/samples/sample-my_field_type.adb b/src/libs/ncurses/Ada95/samples/sample-my_field_type.adb deleted file mode 100644 index 0dacfc3a56..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-my_field_type.adb +++ /dev/null @@ -1,69 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.My_Field_Type -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.13 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses.Forms; use Terminal_Interface.Curses.Forms; - --- This is a very simple user defined field type. It accepts only a --- defined character as input into the field. --- -package body Sample.My_Field_Type is - - -- That's simple. There are minimal field validity checks. - function Field_Check (Fld : Field; - Typ : My_Data) return Boolean - is - begin - if Fld = Null_Field or Typ.Ch = Character'Val (0) then - return False; - end if; - return True; - end Field_Check; - - -- Check exactly against the specified character. - function Character_Check (Ch : Character; - Typ : My_Data) return Boolean - is - C : constant Character := Typ.Ch; - begin - return Ch = C; - end Character_Check; - -end Sample.My_Field_Type; diff --git a/src/libs/ncurses/Ada95/samples/sample-my_field_type.ads b/src/libs/ncurses/Ada95/samples/sample-my_field_type.ads deleted file mode 100644 index 7e74c33d13..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-my_field_type.ads +++ /dev/null @@ -1,62 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.My_Field_Type -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.10 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses.Forms; use Terminal_Interface.Curses.Forms; -with Terminal_Interface.Curses.Forms.Field_Types.User; -use Terminal_Interface.Curses.Forms.Field_Types.User; - --- This is a very simple user defined field type. It accepts only a --- defined character as input into the field. --- -package Sample.My_Field_Type is - - type My_Data is new User_Defined_Field_Type with - record - Ch : Character; - end record; - - function Field_Check (Fld : Field; - Typ : My_Data) return Boolean; - - function Character_Check (Ch : Character; - Typ : My_Data) return Boolean; - -end Sample.My_Field_Type; - diff --git a/src/libs/ncurses/Ada95/samples/sample-text_io_demo.adb b/src/libs/ncurses/Ada95/samples/sample-text_io_demo.adb deleted file mode 100644 index b2448c1a9f..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-text_io_demo.adb +++ /dev/null @@ -1,181 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Text_IO_Demo -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.14 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Numerics.Generic_Elementary_Functions; -with Ada.Numerics.Complex_Types; -use Ada.Numerics.Complex_Types; - -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Panels; use Terminal_Interface.Curses.Panels; -with Terminal_Interface.Curses.Text_IO; -use Terminal_Interface.Curses.Text_IO; -with Terminal_Interface.Curses.Text_IO.Integer_IO; -with Terminal_Interface.Curses.Text_IO.Float_IO; -with Terminal_Interface.Curses.Text_IO.Enumeration_IO; -with Terminal_Interface.Curses.Text_IO.Complex_IO; -with Terminal_Interface.Curses.Text_IO.Fixed_IO; -with Terminal_Interface.Curses.Text_IO.Decimal_IO; -with Terminal_Interface.Curses.Text_IO.Modular_IO; - -with Sample.Manifest; use Sample.Manifest; -with Sample.Function_Key_Setting; use Sample.Function_Key_Setting; -with Sample.Keyboard_Handler; use Sample.Keyboard_Handler; -with Sample.Explanation; use Sample.Explanation; - -package body Sample.Text_IO_Demo is - - type Weekday is (Sunday, - Monday, - Tuesday, - Wednesday, - Thursday, - Friday, - Saturday); - - type Fix is delta 0.1 range 0.0 .. 4.0; - type Dec is delta 0.01 digits 5 range 0.0 .. 4.0; - type Md is mod 5; - - package Math is new - Ada.Numerics.Generic_Elementary_Functions (Float); - - package Int_IO is new - Terminal_Interface.Curses.Text_IO.Integer_IO (Integer); - use Int_IO; - - package Real_IO is new - Terminal_Interface.Curses.Text_IO.Float_IO (Float); - use Real_IO; - - package Enum_IO is new - Terminal_Interface.Curses.Text_IO.Enumeration_IO (Weekday); - use Enum_IO; - - package C_IO is new - Terminal_Interface.Curses.Text_IO.Complex_IO (Ada.Numerics.Complex_Types); - use C_IO; - - package F_IO is new - Terminal_Interface.Curses.Text_IO.Fixed_IO (Fix); - use F_IO; - - package D_IO is new - Terminal_Interface.Curses.Text_IO.Decimal_IO (Dec); - use D_IO; - - package M_IO is new - Terminal_Interface.Curses.Text_IO.Modular_IO (Md); - use M_IO; - - procedure Demo - is - W : Window; - P : Panel := Create (Standard_Window); - K : Real_Key_Code; - Im : constant Complex := (0.0, 1.0); - Fx : constant Fix := 3.14; - Dc : constant Dec := 2.72; - L : Md; - - begin - Push_Environment ("TEXTIO"); - Default_Labels; - Notepad ("TEXTIO-PAD00"); - - Set_Echo_Mode (False); - Set_Meta_Mode; - Set_KeyPad_Mode; - W := Sub_Window (Standard_Window, Lines - 2, Columns - 2, 1, 1); - Box; - Refresh_Without_Update; - Set_Meta_Mode (W); - Set_KeyPad_Mode (W); - Immediate_Update_Mode (W, True); - - Set_Window (W); - - for I in 1 .. 10 loop - Put ("Square root of "); - Put (Item => I, Width => 5); - Put (" is "); - Put (Item => Math.Sqrt (Float (I)), Exp => 0, Aft => 7); - New_Line; - end loop; - - for W in Weekday loop - Put (Item => W); Put (' '); - end loop; - New_Line; - - L := Md'First; - for I in 1 .. 2 loop - for J in Md'Range loop - Put (L); Put (' '); - L := L + 1; - end loop; - end loop; - New_Line; - - Put (Im); New_Line; - Put (Fx); New_Line; - Put (Dc); New_Line; - - loop - K := Get_Key; - if K in Special_Key_Code'Range then - case K is - when QUIT_CODE => exit; - when HELP_CODE => Explain_Context; - when EXPLAIN_CODE => Explain ("TEXTIOKEYS"); - when others => null; - end case; - end if; - end loop; - - Set_Window (Null_Window); - Erase; Refresh_Without_Update; - Delete (P); - Delete (W); - - Pop_Environment; - end Demo; - -end Sample.Text_IO_Demo; diff --git a/src/libs/ncurses/Ada95/samples/sample-text_io_demo.ads b/src/libs/ncurses/Ada95/samples/sample-text_io_demo.ads deleted file mode 100644 index d3f5a188ba..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample-text_io_demo.ads +++ /dev/null @@ -1,45 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample.Text_IO_Demo -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package Sample.Text_IO_Demo is - - procedure Demo; - -end Sample.Text_IO_Demo; diff --git a/src/libs/ncurses/Ada95/samples/sample.adb b/src/libs/ncurses/Ada95/samples/sample.adb deleted file mode 100644 index 962963ed1b..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample.adb +++ /dev/null @@ -1,218 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.14 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Text_IO; - -with Ada.Exceptions; use Ada.Exceptions; - -with Terminal_Interface.Curses; use Terminal_Interface.Curses; -with Terminal_Interface.Curses.Panels; use Terminal_Interface.Curses.Panels; -with Terminal_Interface.Curses.Menus; use Terminal_Interface.Curses.Menus; -with Terminal_Interface.Curses.Menus.Menu_User_Data; -with Terminal_Interface.Curses.Menus.Item_User_Data; - -with Sample.Manifest; use Sample.Manifest; -with Sample.Function_Key_Setting; use Sample.Function_Key_Setting; -with Sample.Keyboard_Handler; use Sample.Keyboard_Handler; -with Sample.Header_Handler; use Sample.Header_Handler; -with Sample.Explanation; use Sample.Explanation; - -with Sample.Menu_Demo.Handler; -with Sample.Curses_Demo; -with Sample.Form_Demo; -with Sample.Menu_Demo; -with Sample.Text_IO_Demo; - -with GNAT.OS_Lib; - -package body Sample is - - type User_Data is - record - Data : Integer; - end record; - type User_Access is access User_Data; - - package Ud is new - Terminal_Interface.Curses.Menus.Menu_User_Data - (User_Data, User_Access); - - package Id is new - Terminal_Interface.Curses.Menus.Item_User_Data - (User_Data, User_Access); - - procedure Whow is - procedure Main_Menu; - procedure Main_Menu - is - function My_Driver (M : Menu; - K : Key_Code; - Pan : Panel) return Boolean; - - package Mh is new Sample.Menu_Demo.Handler (My_Driver); - - I : Item_Array_Access := new Item_Array' - (New_Item ("Curses Core Demo"), - New_Item ("Menu Demo"), - New_Item ("Form Demo"), - New_Item ("Text IO Demo"), - Null_Item); - - M : Menu := New_Menu (I); - - D1, D2 : User_Access; - I1, I2 : User_Access; - - function My_Driver (M : Menu; - K : Key_Code; - Pan : Panel) return Boolean - is - Idx : constant Positive := Get_Index (Current (M)); - begin - if K in User_Key_Code'Range then - if K = QUIT then - return True; - elsif K = SELECT_ITEM then - if Idx in 1 .. 4 then - Hide (Pan); - Update_Panels; - end if; - case Idx is - when 1 => Sample.Curses_Demo.Demo; - when 2 => Sample.Menu_Demo.Demo; - when 3 => Sample.Form_Demo.Demo; - when 4 => Sample.Text_IO_Demo.Demo; - when others => null; - end case; - if Idx in 1 .. 4 then - Top (Pan); - Show (Pan); - Update_Panels; - Update_Screen; - end if; - end if; - end if; - return False; - end My_Driver; - - begin - - if (1 + Item_Count (M)) /= I'Length then - raise Constraint_Error; - end if; - - D1 := new User_Data'(Data => 4711); - Ud.Set_User_Data (M, D1); - - I1 := new User_Data'(Data => 1174); - Id.Set_User_Data (I (1), I1); - - Set_Spacing (Men => M, Row => 2); - - Default_Labels; - Notepad ("MAINPAD"); - - Mh.Drive_Me (M, " Demo "); - - Ud.Get_User_Data (M, D2); - pragma Assert (D1 = D2); - pragma Assert (D1.Data = D2.Data); - - Id.Get_User_Data (I (1), I2); - pragma Assert (I1 = I2); - pragma Assert (I1.Data = I2.Data); - - Delete (M); - Free (I, True); - end Main_Menu; - - begin - Initialize (PC_Style_With_Index); - Init_Header_Handler; - Init_Screen; - - if Has_Colors then - Start_Color; - - Init_Pair (Pair => Default_Colors, Fore => Black, Back => White); - Init_Pair (Pair => Menu_Back_Color, Fore => Black, Back => Cyan); - Init_Pair (Pair => Menu_Fore_Color, Fore => Red, Back => Cyan); - Init_Pair (Pair => Menu_Grey_Color, Fore => White, Back => Cyan); - Init_Pair (Pair => Notepad_Color, Fore => Black, Back => Yellow); - Init_Pair (Pair => Help_Color, Fore => Blue, Back => Cyan); - Init_Pair (Pair => Form_Back_Color, Fore => Black, Back => Cyan); - Init_Pair (Pair => Form_Fore_Color, Fore => Red, Back => Cyan); - Init_Pair (Pair => Header_Color, Fore => Black, Back => Green); - - Set_Background (Ch => (Color => Default_Colors, - Attr => Normal_Video, - Ch => ' ')); - Set_Character_Attributes (Attr => Normal_Video, - Color => Default_Colors); - Erase; - - Set_Soft_Label_Key_Attributes (Color => Header_Color); - -- This propagates the attributes to the label window - Clear_Soft_Label_Keys; Restore_Soft_Label_Keys; - end if; - - Init_Keyboard_Handler; - - Set_Echo_Mode (False); - Set_Raw_Mode; - Set_Meta_Mode; - Set_KeyPad_Mode; - - -- Initialize the Function Key Environment - -- We have some fixed key throughout this sample - Main_Menu; - End_Windows; - - exception - when Event : others => - Terminal_Interface.Curses.End_Windows; - Text_IO.Put ("Exception: "); - Text_IO.Put (Exception_Name (Event)); - Text_IO.New_Line; - GNAT.OS_Lib.OS_Exit (1); - - end Whow; - -end Sample; diff --git a/src/libs/ncurses/Ada95/samples/sample.ads b/src/libs/ncurses/Ada95/samples/sample.ads deleted file mode 100644 index 9d0647dad7..0000000000 --- a/src/libs/ncurses/Ada95/samples/sample.ads +++ /dev/null @@ -1,43 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Sample -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package Sample is - procedure Whow; -end Sample; diff --git a/src/libs/ncurses/Ada95/samples/status.adb b/src/libs/ncurses/Ada95/samples/status.adb deleted file mode 100644 index e6581317f4..0000000000 --- a/src/libs/ncurses/Ada95/samples/status.adb +++ /dev/null @@ -1,57 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Status -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Laurent Pautet --- Modified by: Juergen Pfeifer, 1997 --- Version Control --- $Revision: 1.7 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- --- This package has been contributed by Laurent Pautet -- --- -- -package body Status is - - protected body Process is - procedure Stop is - begin - Done := True; - end Stop; - function Continue return Boolean is - begin - return not Done; - end Continue; - end Process; - -end Status; diff --git a/src/libs/ncurses/Ada95/samples/status.ads b/src/libs/ncurses/Ada95/samples/status.ads deleted file mode 100644 index e9e3ee8b35..0000000000 --- a/src/libs/ncurses/Ada95/samples/status.ads +++ /dev/null @@ -1,60 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Status -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Laurent Pautet --- Modified by: Juergen Pfeifer, 1997 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- --- This package has been contributed by Laurent Pautet -- --- -- -with Ada.Interrupts.Names; - -package Status is - - pragma Warnings (Off); -- the next pragma exists since 3.11p - pragma Unreserve_All_Interrupts; - pragma Warnings (On); - - protected Process is - procedure Stop; - function Continue return Boolean; - pragma Attach_Handler (Stop, Ada.Interrupts.Names.SIGINT); - private - Done : Boolean := False; - end Process; - -end Status; diff --git a/src/libs/ncurses/Ada95/samples/tour.adb b/src/libs/ncurses/Ada95/samples/tour.adb deleted file mode 100644 index 1cc91c15d7..0000000000 --- a/src/libs/ncurses/Ada95/samples/tour.adb +++ /dev/null @@ -1,46 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- tour -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Sample; use Sample; - -procedure Tour is -begin - Whow; -end Tour; diff --git a/src/libs/ncurses/Ada95/samples/tour.ads b/src/libs/ncurses/Ada95/samples/tour.ads deleted file mode 100644 index 8888169160..0000000000 --- a/src/libs/ncurses/Ada95/samples/tour.ads +++ /dev/null @@ -1,41 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding Samples -- --- -- --- Tour -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -procedure Tour; diff --git a/src/libs/ncurses/Ada95/src/Makefile.in b/src/libs/ncurses/Ada95/src/Makefile.in deleted file mode 100644 index 634e7459ad..0000000000 --- a/src/libs/ncurses/Ada95/src/Makefile.in +++ /dev/null @@ -1,388 +0,0 @@ -############################################################################## -# Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Juergen Pfeifer, 1996 -# -# $Id: Makefile.in,v 1.30 2004/08/21 21:29:50 tom Exp $ -# -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -MODEL = ../../@DFT_OBJ_SUBDIR@ -DESTDIR = @DESTDIR@ -srcdir = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ -ADA_INCLUDE = @ADA_INCLUDE@ - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ - -AR = @AR@ -AR_OPTS = @AR_OPTS@ -AWK = @AWK@ -LN_S = @LN_S@ - -CC = @CC@ -CFLAGS = @CFLAGS@ - -CPPFLAGS = @ACPPFLAGS@ \ - -DHAVE_CONFIG_H -I$(srcdir) - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) - -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ - -CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) - -LINK = $(CC) -LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ - -RANLIB = @RANLIB@ -################################################################################ -ADA = @cf_ada_compiler@ -ADAPREP = gnatprep -ADAFLAGS = @ADAFLAGS@ -I. -I$(srcdir) - -ADAMAKE = @cf_ada_make@ -ADAMAKEFLAGS = - -CARGS = -cargs $(ADAFLAGS) -LARGS = - -ALIB = @cf_ada_package@ -ABASE = $(ALIB)-curses - -LIBALIS=$(ALIB).ali \ - $(ABASE)-aux.ali \ - $(ABASE).ali \ - $(ABASE)-terminfo.ali \ - $(ABASE)-termcap.ali \ - $(ABASE)-putwin.ali \ - $(ABASE)-trace.ali \ - $(ABASE)-mouse.ali \ - $(ABASE)-panels.ali \ - $(ABASE)-menus.ali \ - $(ABASE)-forms.ali \ - $(ABASE)-forms-field_types.ali \ - $(ABASE)-forms-field_types-alpha.ali \ - $(ABASE)-forms-field_types-alphanumeric.ali \ - $(ABASE)-forms-field_types-intfield.ali \ - $(ABASE)-forms-field_types-numeric.ali \ - $(ABASE)-forms-field_types-regexp.ali \ - $(ABASE)-forms-field_types-enumeration.ali \ - $(ABASE)-forms-field_types-ipv4_address.ali \ - $(ABASE)-forms-field_types-user.ali \ - $(ABASE)-forms-field_types-user-choice.ali \ - $(ABASE)-text_io.ali \ - $(ABASE)-text_io-aux.ali - -# Ada Library files for generic packages. Since gnat 3.10 they are -# also compiled -GENALIS=$(ABASE)-menus-menu_user_data.ali \ - $(ABASE)-menus-item_user_data.ali \ - $(ABASE)-forms-form_user_data.ali \ - $(ABASE)-forms-field_user_data.ali \ - $(ABASE)-forms-field_types-enumeration-ada.ali \ - $(ABASE)-panels-user_data.ali \ - $(ABASE)-text_io-integer_io.ali \ - $(ABASE)-text_io-float_io.ali \ - $(ABASE)-text_io-fixed_io.ali \ - $(ABASE)-text_io-decimal_io.ali \ - $(ABASE)-text_io-enumeration_io.ali \ - $(ABASE)-text_io-modular_io.ali \ - $(ABASE)-text_io-complex_io.ali - -LIBOBJS=$(ALIB).o \ - $(ABASE)-aux.o \ - $(ABASE).o \ - $(ABASE)-terminfo.o \ - $(ABASE)-termcap.o \ - $(ABASE)-putwin.o \ - $(ABASE)-trace.o \ - $(ABASE)-mouse.o \ - $(ABASE)-panels.o \ - $(ABASE)-menus.o \ - $(ABASE)-forms.o \ - $(ABASE)-forms-field_types.o \ - $(ABASE)-forms-field_types-alpha.o \ - $(ABASE)-forms-field_types-alphanumeric.o \ - $(ABASE)-forms-field_types-intfield.o \ - $(ABASE)-forms-field_types-numeric.o \ - $(ABASE)-forms-field_types-regexp.o \ - $(ABASE)-forms-field_types-enumeration.o \ - $(ABASE)-forms-field_types-ipv4_address.o \ - $(ABASE)-forms-field_types-user.o \ - $(ABASE)-forms-field_types-user-choice.o \ - $(ABASE)-text_io.o \ - $(ABASE)-text_io-aux.o - -# Ada object files for generic packages. Since gnat 3.10 they are -# also compiled -GENOBJS=$(ABASE)-menus-menu_user_data.o \ - $(ABASE)-menus-item_user_data.o \ - $(ABASE)-forms-form_user_data.o \ - $(ABASE)-forms-field_user_data.o \ - $(ABASE)-forms-field_types-enumeration-ada.o \ - $(ABASE)-panels-user_data.o \ - $(ABASE)-text_io-integer_io.o \ - $(ABASE)-text_io-float_io.o \ - $(ABASE)-text_io-fixed_io.o \ - $(ABASE)-text_io-decimal_io.o \ - $(ABASE)-text_io-enumeration_io.o \ - $(ABASE)-text_io-modular_io.o \ - $(ABASE)-text_io-complex_io.o - - -all :: libAdaCurses.a - @echo done - -libAdaCurses.a :: dotouch $(LIBOBJS) @cf_generic_objects@ - $(AR) $(AR_OPTS) $@ $(LIBOBJS) @cf_generic_objects@ - -dotouch : - @sh -c 'for f in $(LIBALIS) $(GENALIS); do test -f $$f || touch $$f; done' - -sources : - @echo made $@ - -libs \ -install \ -install.libs \ -uninstall \ -uninstall.libs :: - @echo made $@ - -generics: $(GENALIS) - @echo made $@ - -mostlyclean :: - rm -f *.o *.ali b_t*.* *.s $(PROGS) a.out core b_*_test.c *.xr[bs] *.a - -clean :: mostlyclean - rm -f $(LIBALIS) $(GENALIS) $(LIBOBJS) $(GENOBJS) $(ABASE)-trace.adb - -distclean :: clean - rm -f Makefile - -realclean :: distclean - -BASEDEPS=$(ABASE).ads $(ABASE)-aux.ads $(srcdir)/$(ABASE).adb - -$(ALIB).o: $(srcdir)/$(ALIB).ads - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ALIB).ads - - -$(ABASE)-aux.o: $(srcdir)/$(ABASE)-aux.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-aux.adb - - -$(ABASE).o: $(srcdir)/$(ABASE).adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE).adb - - -$(ABASE)-terminfo.o: \ - $(srcdir)/$(ABASE)-terminfo.ads \ - $(srcdir)/$(ABASE)-terminfo.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-terminfo.adb - - -$(ABASE)-termcap.o: \ - $(srcdir)/$(ABASE)-termcap.ads \ - $(srcdir)/$(ABASE)-termcap.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-termcap.adb - - -$(ABASE)-putwin.o: \ - $(srcdir)/$(ABASE)-putwin.ads \ - $(srcdir)/$(ABASE)-putwin.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-putwin.adb - - -$(ABASE)-trace.adb : $(srcdir)/$(ABASE)-trace.adb_p - rm -f $@ - $(ADAPREP) -DADA_TRACE=@ADA_TRACE@ -DPRAGMA_UNREF=@PRAGMA_UNREF@ $(srcdir)/$(ABASE)-trace.adb_p $@ - -$(ABASE)-trace.o: \ - $(ABASE)-trace.ads \ - $(ABASE)-trace.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(ABASE)-trace.adb - - -$(ABASE)-mouse.o: \ - $(ABASE)-mouse.ads \ - $(srcdir)/$(ABASE)-mouse.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-mouse.adb - - -$(ABASE)-panels.o: \ - $(ABASE)-panels.ads \ - $(srcdir)/$(ABASE)-panels.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-panels.adb - - -$(ABASE)-menus.o: \ - $(ABASE)-menus.ads \ - $(srcdir)/$(ABASE)-menus.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-menus.adb - - -$(ABASE)-forms.o: \ - $(ABASE)-forms.ads \ - $(srcdir)/$(ABASE)-forms.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms.adb - -$(ABASE)-forms-field_types.o: \ - $(ABASE)-forms-field_types.ads \ - $(srcdir)/$(ABASE)-forms-field_types.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types.adb - -$(ABASE)-forms-field_types-alpha.o: \ - $(srcdir)/$(ABASE)-forms-field_types-alpha.ads \ - $(srcdir)/$(ABASE)-forms-field_types-alpha.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-alpha.adb - -$(ABASE)-forms-field_types-alphanumeric.o: \ - $(srcdir)/$(ABASE)-forms-field_types-alphanumeric.ads \ - $(srcdir)/$(ABASE)-forms-field_types-alphanumeric.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-alphanumeric.adb - -$(ABASE)-forms-field_types-intfield.o: \ - $(srcdir)/$(ABASE)-forms-field_types-intfield.ads \ - $(srcdir)/$(ABASE)-forms-field_types-intfield.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-intfield.adb - -$(ABASE)-forms-field_types-numeric.o: \ - $(srcdir)/$(ABASE)-forms-field_types-numeric.ads \ - $(srcdir)/$(ABASE)-forms-field_types-numeric.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-numeric.adb - -$(ABASE)-forms-field_types-regexp.o: \ - $(srcdir)/$(ABASE)-forms-field_types-regexp.ads \ - $(srcdir)/$(ABASE)-forms-field_types-regexp.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-regexp.adb - -$(ABASE)-forms-field_types-enumeration.o: \ - $(srcdir)/$(ABASE)-forms-field_types-enumeration.ads \ - $(srcdir)/$(ABASE)-forms-field_types-enumeration.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-enumeration.adb - -$(ABASE)-forms-field_types-ipv4_address.o: \ - $(srcdir)/$(ABASE)-forms-field_types-ipv4_address.ads \ - $(srcdir)/$(ABASE)-forms-field_types-ipv4_address.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-ipv4_address.adb - -$(ABASE)-forms-field_types-user.o: \ - $(srcdir)/$(ABASE)-forms-field_types-user.ads \ - $(srcdir)/$(ABASE)-forms-field_types-user.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-user.adb - -$(ABASE)-forms-field_types-user-choice.o: \ - $(srcdir)/$(ABASE)-forms-field_types-user-choice.ads \ - $(srcdir)/$(ABASE)-forms-field_types-user-choice.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-user-choice.adb - -$(ABASE)-text_io.o: \ - $(srcdir)/$(ABASE)-text_io.ads \ - $(srcdir)/$(ABASE)-text_io.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io.adb - -$(ABASE)-text_io-aux.o: \ - $(srcdir)/$(ABASE)-text_io-aux.ads \ - $(srcdir)/$(ABASE)-text_io-aux.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-aux.adb - -$(ABASE)-menus-menu_user_data.o: \ - $(ABASE)-menus-menu_user_data.ads \ - $(srcdir)/$(ABASE)-menus-menu_user_data.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-menus-menu_user_data.adb - -$(ABASE)-menus-item_user_data.o: \ - $(ABASE)-menus-item_user_data.ads \ - $(srcdir)/$(ABASE)-menus-item_user_data.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-menus-item_user_data.adb - -$(ABASE)-forms-form_user_data.o: \ - $(ABASE)-forms-form_user_data.ads \ - $(srcdir)/$(ABASE)-forms-form_user_data.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-form_user_data.adb - -$(ABASE)-forms-field_user_data.o: \ - $(ABASE)-forms-field_user_data.ads \ - $(srcdir)/$(ABASE)-forms-field_user_data.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_user_data.adb - -$(ABASE)-forms-field_types-enumeration-ada.o: \ - $(srcdir)/$(ABASE)-forms-field_types-enumeration-ada.ads \ - $(srcdir)/$(ABASE)-forms-field_types-enumeration-ada.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-enumeration-ada.adb - -$(ABASE)-panels-user_data.o: \ - $(ABASE)-panels-user_data.ads \ - $(srcdir)/$(ABASE)-panels-user_data.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-panels-user_data.adb - -$(ABASE)-text_io-integer_io.o: \ - $(srcdir)/$(ABASE)-text_io-integer_io.ads \ - $(srcdir)/$(ABASE)-text_io-integer_io.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-integer_io.adb - -$(ABASE)-text_io-float_io.o: \ - $(srcdir)/$(ABASE)-text_io-float_io.ads \ - $(srcdir)/$(ABASE)-text_io-float_io.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-float_io.adb - -$(ABASE)-text_io-fixed_io.o: \ - $(srcdir)/$(ABASE)-text_io-fixed_io.ads \ - $(srcdir)/$(ABASE)-text_io-fixed_io.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-fixed_io.adb - -$(ABASE)-text_io-decimal_io.o: \ - $(srcdir)/$(ABASE)-text_io-decimal_io.ads \ - $(srcdir)/$(ABASE)-text_io-decimal_io.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-decimal_io.adb - -$(ABASE)-text_io-enumeration_io.o: \ - $(srcdir)/$(ABASE)-text_io-enumeration_io.ads \ - $(srcdir)/$(ABASE)-text_io-enumeration_io.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-enumeration_io.adb - -$(ABASE)-text_io-modular_io.o: \ - $(srcdir)/$(ABASE)-text_io-modular_io.ads \ - $(srcdir)/$(ABASE)-text_io-modular_io.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-modular_io.adb - -$(ABASE)-text_io-complex_io.o: \ - $(srcdir)/$(ABASE)-text_io-complex_io.ads \ - $(srcdir)/$(ABASE)-text_io-complex_io.adb $(BASEDEPS) - $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-complex_io.adb diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-aux.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-aux.adb deleted file mode 100644 index 812e8cc143..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-aux.adb +++ /dev/null @@ -1,116 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Aux -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.10 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package body Terminal_Interface.Curses.Aux is - -- - -- Some helpers - procedure Fill_String (Cp : in chars_ptr; - Str : out String) - is - -- Fill the string with the characters referenced by the - -- chars_ptr. - -- - Len : Natural; - begin - if Cp /= Null_Ptr then - Len := Natural (Strlen (Cp)); - if Str'Length < Len then - raise Constraint_Error; - end if; - declare - S : String (1 .. Len); - begin - S := Value (Cp); - Str (Str'First .. (Str'First + Len - 1)) := S (S'Range); - end; - else - Len := 0; - end if; - - if Len < Str'Length then - Str ((Str'First + Len) .. Str'Last) := (others => ' '); - end if; - - end Fill_String; - - function Fill_String (Cp : chars_ptr) return String - is - Len : Natural; - begin - if Cp /= Null_Ptr then - Len := Natural (Strlen (Cp)); - if Len = 0 then - return ""; - else - declare - S : String (1 .. Len); - begin - Fill_String (Cp, S); - return S; - end; - end if; - else - return ""; - end if; - end Fill_String; - - procedure Eti_Exception (Code : Eti_Error) - is - begin - case Code is - when E_Ok => null; - when E_System_Error => raise Eti_System_Error; - when E_Bad_Argument => raise Eti_Bad_Argument; - when E_Posted => raise Eti_Posted; - when E_Connected => raise Eti_Connected; - when E_Bad_State => raise Eti_Bad_State; - when E_No_Room => raise Eti_No_Room; - when E_Not_Posted => raise Eti_Not_Posted; - when E_Unknown_Command => raise Eti_Unknown_Command; - when E_No_Match => raise Eti_No_Match; - when E_Not_Selectable => raise Eti_Not_Selectable; - when E_Not_Connected => raise Eti_Not_Connected; - when E_Request_Denied => raise Eti_Request_Denied; - when E_Invalid_Field => raise Eti_Invalid_Field; - when E_Current => raise Eti_Current; - end case; - end Eti_Exception; - -end Terminal_Interface.Curses.Aux; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-alpha.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-alpha.adb deleted file mode 100644 index 5d1ef200e7..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-alpha.adb +++ /dev/null @@ -1,68 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.Alpha -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.8 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Interfaces.C; -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; - -package body Terminal_Interface.Curses.Forms.Field_Types.Alpha is - - use type Interfaces.C.int; - - procedure Set_Field_Type (Fld : in Field; - Typ : in Alpha_Field) - is - C_Alpha_Field_Type : C_Field_Type; - pragma Import (C, C_Alpha_Field_Type, "TYPE_ALPHA"); - - function Set_Fld_Type (F : Field := Fld; - Cft : C_Field_Type := C_Alpha_Field_Type; - Arg1 : C_Int) return C_Int; - pragma Import (C, Set_Fld_Type, "set_field_type"); - - Res : Eti_Error; - begin - Res := Set_Fld_Type (Arg1 => C_Int (Typ.Minimum_Field_Width)); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - Wrap_Builtin (Fld, Typ); - end Set_Field_Type; - -end Terminal_Interface.Curses.Forms.Field_Types.Alpha; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-alpha.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-alpha.ads deleted file mode 100644 index 6f0b79d76e..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-alpha.ads +++ /dev/null @@ -1,53 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.Alpha -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package Terminal_Interface.Curses.Forms.Field_Types.Alpha is - pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types.Alpha); - - type Alpha_Field is new Field_Type - with record - Minimum_Field_Width : Natural := 0; - end record; - - procedure Set_Field_Type (Fld : in Field; - Typ : in Alpha_Field); - pragma Inline (Set_Field_Type); - -end Terminal_Interface.Curses.Forms.Field_Types.Alpha; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-alphanumeric.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-alphanumeric.adb deleted file mode 100644 index f10321b4a7..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-alphanumeric.adb +++ /dev/null @@ -1,68 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.8 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Interfaces.C; -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; - -package body Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric is - - use type Interfaces.C.int; - - procedure Set_Field_Type (Fld : in Field; - Typ : in AlphaNumeric_Field) - is - C_AlphaNumeric_Field_Type : C_Field_Type; - pragma Import (C, C_AlphaNumeric_Field_Type, "TYPE_ALNUM"); - - function Set_Fld_Type (F : Field := Fld; - Cft : C_Field_Type := C_AlphaNumeric_Field_Type; - Arg1 : C_Int) return C_Int; - pragma Import (C, Set_Fld_Type, "set_field_type"); - - Res : Eti_Error; - begin - Res := Set_Fld_Type (Arg1 => C_Int (Typ.Minimum_Field_Width)); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - Wrap_Builtin (Fld, Typ); - end Set_Field_Type; - -end Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-alphanumeric.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-alphanumeric.ads deleted file mode 100644 index 1f21950802..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-alphanumeric.ads +++ /dev/null @@ -1,54 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric is - pragma Preelaborate - (Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric); - - type AlphaNumeric_Field is new Field_Type - with record - Minimum_Field_Width : Natural := 0; - end record; - - procedure Set_Field_Type (Fld : in Field; - Typ : in AlphaNumeric_Field); - pragma Inline (Set_Field_Type); - -end Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-enumeration-ada.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-enumeration-ada.adb deleted file mode 100644 index b3eaf447ad..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-enumeration-ada.adb +++ /dev/null @@ -1,81 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.10 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Characters.Handling; use Ada.Characters.Handling; - -package body Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada is - - function Create (Set : Type_Set := Mixed_Case; - Case_Sensitive : Boolean := False; - Must_Be_Unique : Boolean := False) - return Enumeration_Field - is - I : Enumeration_Info (T'Pos (T'Last) - T'Pos (T'First) + 1); - J : Positive := 1; - begin - I.Case_Sensitive := Case_Sensitive; - I.Match_Must_Be_Unique := Must_Be_Unique; - - for E in T'Range loop - I.Names (J) := new String'(T'Image (E)); - -- The Image attribute defaults to upper case, so we have to handle - -- only the other ones... - if Set /= Upper_Case then - I.Names (J).all := To_Lower (I.Names (J).all); - if Set = Mixed_Case then - I.Names (J)(I.Names (J).all'First) := - To_Upper (I.Names (J)(I.Names (J).all'First)); - end if; - end if; - J := J + 1; - end loop; - - return Create (I, True); - end Create; - - function Value (Fld : Field; - Buf : Buffer_Number := Buffer_Number'First) return T - is - begin - return T'Value (Get_Buffer (Fld, Buf)); - end Value; - -end Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-enumeration-ada.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-enumeration-ada.ads deleted file mode 100644 index 48fad09c2f..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-enumeration-ada.ads +++ /dev/null @@ -1,59 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.10 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -generic - type T is (<>); - -package Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada is - pragma Preelaborate - (Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada); - - function Create (Set : Type_Set := Mixed_Case; - Case_Sensitive : Boolean := False; - Must_Be_Unique : Boolean := False) - return Enumeration_Field; - - function Value (Fld : Field; - Buf : Buffer_Number := Buffer_Number'First) return T; - -- Translate the content of the fields buffer - indicated by the - -- buffer number - into an enumeration value. If the buffer is empty - -- or the content is invalid, a Constraint_Error is raises. - -end Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-enumeration.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-enumeration.adb deleted file mode 100644 index 8be20f23e8..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-enumeration.adb +++ /dev/null @@ -1,119 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.Enumeration -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.7 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Unchecked_Deallocation; -with Interfaces.C; use Interfaces.C; -with Interfaces.C.Strings; use Interfaces.C.Strings; -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; - -package body Terminal_Interface.Curses.Forms.Field_Types.Enumeration is - - function Create (Info : Enumeration_Info; - Auto_Release_Names : Boolean := False) - return Enumeration_Field - is - procedure Release_String is - new Ada.Unchecked_Deallocation (String, - String_Access); - E : Enumeration_Field; - L : constant size_t := 1 + size_t (Info.C); - S : String_Access; - begin - E.Case_Sensitive := Info.Case_Sensitive; - E.Match_Must_Be_Unique := Info.Match_Must_Be_Unique; - E.Arr := new chars_ptr_array (size_t (1) .. L); - for I in 1 .. Positive (L - 1) loop - if Info.Names (I) = null then - raise Form_Exception; - end if; - E.Arr (size_t (I)) := New_String (Info.Names (I).all); - if Auto_Release_Names then - S := Info.Names (I); - Release_String (S); - end if; - end loop; - E.Arr (L) := Null_Ptr; - return E; - end Create; - - procedure Release (Enum : in out Enumeration_Field) - is - I : size_t := 0; - P : chars_ptr; - begin - loop - P := Enum.Arr (I); - exit when P = Null_Ptr; - Free (P); - Enum.Arr (I) := Null_Ptr; - I := I + 1; - end loop; - Enum.Arr := null; - end Release; - - procedure Set_Field_Type (Fld : in Field; - Typ : in Enumeration_Field) - is - C_Enum_Type : C_Field_Type; - pragma Import (C, C_Enum_Type, "TYPE_ENUM"); - - function Set_Fld_Type (F : Field := Fld; - Cft : C_Field_Type := C_Enum_Type; - Arg1 : chars_ptr_array; - Arg2 : C_Int; - Arg3 : C_Int) return C_Int; - pragma Import (C, Set_Fld_Type, "set_field_type"); - - Res : Eti_Error; - begin - if Typ.Arr = null then - raise Form_Exception; - end if; - Res := Set_Fld_Type (Arg1 => Typ.Arr.all, - Arg2 => C_Int (Boolean'Pos (Typ.Case_Sensitive)), - Arg3 => C_Int (Boolean'Pos - (Typ.Match_Must_Be_Unique))); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - Wrap_Builtin (Fld, Typ, C_Choice_Router); - end Set_Field_Type; - -end Terminal_Interface.Curses.Forms.Field_Types.Enumeration; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-enumeration.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-enumeration.ads deleted file mode 100644 index 5a7e411ff9..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-enumeration.ads +++ /dev/null @@ -1,98 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.Enumeration -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Interfaces.C.Strings; - -package Terminal_Interface.Curses.Forms.Field_Types.Enumeration is - pragma Preelaborate - (Terminal_Interface.Curses.Forms.Field_Types.Enumeration); - - type String_Access is access String; - - -- Type_Set is used by the child package Ada - type Type_Set is (Lower_Case, Upper_Case, Mixed_Case); - - type Enum_Array is array (Positive range <>) - of String_Access; - - type Enumeration_Info (C : Positive) is - record - Names : Enum_Array (1 .. C); - Case_Sensitive : Boolean := False; - Match_Must_Be_Unique : Boolean := False; - end record; - - type Enumeration_Field is new Field_Type with private; - - function Create (Info : Enumeration_Info; - Auto_Release_Names : Boolean := False) - return Enumeration_Field; - -- Make an fieldtype from the info. Enumerations are special, because - -- they normally don't copy the enum values into a private store, so - -- we have to care for the lifetime of the info we provide. - -- The Auto_Release_Names flag may be used to automatically releases - -- the strings in the Names array of the Enumeration_Info. - - function Make_Enumeration_Type (Info : Enumeration_Info; - Auto_Release_Names : Boolean := False) - return Enumeration_Field renames Create; - - procedure Release (Enum : in out Enumeration_Field); - -- But we may want to release the field to release the memory allocated - -- by it internally. After that the Enumeration field is no longer usable. - - -- The next type defintions are all ncurses extensions. They are typically - -- not available in other curses implementations. - - procedure Set_Field_Type (Fld : in Field; - Typ : in Enumeration_Field); - pragma Inline (Set_Field_Type); - -private - type CPA_Access is access Interfaces.C.Strings.chars_ptr_array; - - type Enumeration_Field is new Field_Type with - record - Case_Sensitive : Boolean := False; - Match_Must_Be_Unique : Boolean := False; - Arr : CPA_Access := null; - end record; - -end Terminal_Interface.Curses.Forms.Field_Types.Enumeration; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-intfield.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-intfield.adb deleted file mode 100644 index 1e279b4c24..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-intfield.adb +++ /dev/null @@ -1,72 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.IntField -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.8 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Interfaces.C; -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; - -package body Terminal_Interface.Curses.Forms.Field_Types.IntField is - - use type Interfaces.C.int; - - procedure Set_Field_Type (Fld : in Field; - Typ : in Integer_Field) - is - C_Integer_Field_Type : C_Field_Type; - pragma Import (C, C_Integer_Field_Type, "TYPE_INTEGER"); - - function Set_Fld_Type (F : Field := Fld; - Cft : C_Field_Type := C_Integer_Field_Type; - Arg1 : C_Int; - Arg2 : C_Long_Int; - Arg3 : C_Long_Int) return C_Int; - pragma Import (C, Set_Fld_Type, "set_field_type"); - - Res : Eti_Error; - begin - Res := Set_Fld_Type (Arg1 => C_Int (Typ.Precision), - Arg2 => C_Long_Int (Typ.Lower_Limit), - Arg3 => C_Long_Int (Typ.Upper_Limit)); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - Wrap_Builtin (Fld, Typ); - end Set_Field_Type; - -end Terminal_Interface.Curses.Forms.Field_Types.IntField; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-intfield.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-intfield.ads deleted file mode 100644 index b285ca2556..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-intfield.ads +++ /dev/null @@ -1,55 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.IntField -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package Terminal_Interface.Curses.Forms.Field_Types.IntField is - pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types.IntField); - - type Integer_Field is new Field_Type with - record - Precision : Natural; - Lower_Limit : Integer; - Upper_Limit : Integer; - end record; - - procedure Set_Field_Type (Fld : in Field; - Typ : in Integer_Field); - pragma Inline (Set_Field_Type); - -end Terminal_Interface.Curses.Forms.Field_Types.IntField; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-ipv4_address.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-ipv4_address.adb deleted file mode 100644 index a86b5fe12c..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-ipv4_address.adb +++ /dev/null @@ -1,68 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.8 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Interfaces.C; -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; - -package body Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address is - - use type Interfaces.C.int; - - procedure Set_Field_Type (Fld : in Field; - Typ : in Internet_V4_Address_Field) - is - C_IPV4_Field_Type : C_Field_Type; - pragma Import (C, C_IPV4_Field_Type, "TYPE_IPV4"); - - function Set_Fld_Type (F : Field := Fld; - Cft : C_Field_Type := C_IPV4_Field_Type) - return C_Int; - pragma Import (C, Set_Fld_Type, "set_field_type"); - - Res : Eti_Error; - begin - Res := Set_Fld_Type; - if Res /= E_Ok then - Eti_Exception (Res); - end if; - Wrap_Builtin (Fld, Typ); - end Set_Field_Type; - -end Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-ipv4_address.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-ipv4_address.ads deleted file mode 100644 index 6d0aef0610..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-ipv4_address.ads +++ /dev/null @@ -1,51 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address is - pragma Preelaborate - (Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address); - - type Internet_V4_Address_Field is new Field_Type with null record; - - procedure Set_Field_Type (Fld : in Field; - Typ : in Internet_V4_Address_Field); - pragma Inline (Set_Field_Type); - -end Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-numeric.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-numeric.adb deleted file mode 100644 index e580df3503..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-numeric.adb +++ /dev/null @@ -1,74 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.Numeric -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.9 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Interfaces.C; -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; - -package body Terminal_Interface.Curses.Forms.Field_Types.Numeric is - - use type Interfaces.C.int; - - procedure Set_Field_Type (Fld : in Field; - Typ : in Numeric_Field) - is - type Double is new Interfaces.C.double; - - C_Numeric_Field_Type : C_Field_Type; - pragma Import (C, C_Numeric_Field_Type, "TYPE_NUMERIC"); - - function Set_Fld_Type (F : Field := Fld; - Cft : C_Field_Type := C_Numeric_Field_Type; - Arg1 : C_Int; - Arg2 : Double; - Arg3 : Double) return C_Int; - pragma Import (C, Set_Fld_Type, "set_field_type"); - - Res : Eti_Error; - begin - Res := Set_Fld_Type (Arg1 => C_Int (Typ.Precision), - Arg2 => Double (Typ.Lower_Limit), - Arg3 => Double (Typ.Upper_Limit)); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - Wrap_Builtin (Fld, Typ); - end Set_Field_Type; - -end Terminal_Interface.Curses.Forms.Field_Types.Numeric; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-numeric.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-numeric.ads deleted file mode 100644 index f211bc87bc..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-numeric.ads +++ /dev/null @@ -1,55 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.Numeric -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package Terminal_Interface.Curses.Forms.Field_Types.Numeric is - pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types.Numeric); - - type Numeric_Field is new Field_Type with - record - Precision : Natural; - Lower_Limit : Float; - Upper_Limit : Float; - end record; - - procedure Set_Field_Type (Fld : in Field; - Typ : in Numeric_Field); - pragma Inline (Set_Field_Type); - -end Terminal_Interface.Curses.Forms.Field_Types.Numeric; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-regexp.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-regexp.adb deleted file mode 100644 index cbd9e2f368..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-regexp.adb +++ /dev/null @@ -1,71 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.RegExp -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.8 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Interfaces.C; use Interfaces.C; -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; - -package body Terminal_Interface.Curses.Forms.Field_Types.RegExp is - - procedure Set_Field_Type (Fld : in Field; - Typ : in Regular_Expression_Field) - is - type Char_Ptr is access all Interfaces.C.char; - - C_Regexp_Field_Type : C_Field_Type; - pragma Import (C, C_Regexp_Field_Type, "TYPE_REGEXP"); - - function Set_Ftyp (F : Field := Fld; - Cft : C_Field_Type := C_Regexp_Field_Type; - Arg1 : Char_Ptr) return C_Int; - pragma Import (C, Set_Ftyp, "set_field_type"); - - Txt : char_array (0 .. Typ.Regular_Expression.all'Length); - Len : size_t; - Res : Eti_Error; - begin - To_C (Typ.Regular_Expression.all, Txt, Len); - Res := Set_Ftyp (Arg1 => Txt (Txt'First)'Access); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - Wrap_Builtin (Fld, Typ); - end Set_Field_Type; - -end Terminal_Interface.Curses.Forms.Field_Types.RegExp; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-regexp.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-regexp.ads deleted file mode 100644 index 1e451ab85c..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-regexp.ads +++ /dev/null @@ -1,55 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.RegExp -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package Terminal_Interface.Curses.Forms.Field_Types.RegExp is - pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types.RegExp); - - type String_Access is access String; - - type Regular_Expression_Field is new Field_Type with - record - Regular_Expression : String_Access; - end record; - - procedure Set_Field_Type (Fld : in Field; - Typ : in Regular_Expression_Field); - pragma Inline (Set_Field_Type); - -end Terminal_Interface.Curses.Forms.Field_Types.RegExp; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-user-choice.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-user-choice.adb deleted file mode 100644 index 8d2f6c4cd6..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-user-choice.adb +++ /dev/null @@ -1,111 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.User.Choice -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.13 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Unchecked_Conversion; -with Interfaces.C; -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; - -package body Terminal_Interface.Curses.Forms.Field_Types.User.Choice is - - use type Interfaces.C.int; - - function To_Argument_Access is new Ada.Unchecked_Conversion - (System.Address, Argument_Access); - - function Generic_Next (Fld : Field; - Usr : System.Address) return C_Int - is - Result : Boolean; - Udf : constant User_Defined_Field_Type_With_Choice_Access := - User_Defined_Field_Type_With_Choice_Access - (To_Argument_Access (Usr).Typ); - begin - Result := Next (Fld, Udf.all); - return C_Int (Boolean'Pos (Result)); - end Generic_Next; - - function Generic_Prev (Fld : Field; - Usr : System.Address) return C_Int - is - Result : Boolean; - Udf : constant User_Defined_Field_Type_With_Choice_Access := - User_Defined_Field_Type_With_Choice_Access - (To_Argument_Access (Usr).Typ); - begin - Result := Previous (Fld, Udf.all); - return C_Int (Boolean'Pos (Result)); - end Generic_Prev; - - -- ----------------------------------------------------------------------- - -- - function C_Generic_Choice return C_Field_Type - is - Res : Eti_Error; - T : C_Field_Type; - begin - if M_Generic_Choice = Null_Field_Type then - T := New_Fieldtype (Generic_Field_Check'Access, - Generic_Char_Check'Access); - if T = Null_Field_Type then - raise Form_Exception; - else - Res := Set_Fieldtype_Arg (T, - Make_Arg'Access, - Copy_Arg'Access, - Free_Arg'Access); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - - Res := Set_Fieldtype_Choice (T, - Generic_Next'Access, - Generic_Prev'Access); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end if; - M_Generic_Choice := T; - end if; - pragma Assert (M_Generic_Choice /= Null_Field_Type); - return M_Generic_Choice; - end C_Generic_Choice; - -end Terminal_Interface.Curses.Forms.Field_Types.User.Choice; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-user-choice.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-user-choice.ads deleted file mode 100644 index d970c3a76f..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-user-choice.ads +++ /dev/null @@ -1,96 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.User.Choice -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Interfaces.C; - -package Terminal_Interface.Curses.Forms.Field_Types.User.Choice is - pragma Preelaborate - (Terminal_Interface.Curses.Forms.Field_Types.User.Choice); - - use type Interfaces.C.int; - subtype C_Int is Interfaces.C.int; - - type User_Defined_Field_Type_With_Choice is abstract new - User_Defined_Field_Type with null record; - -- This is the root of the mechanism we use to create field types in - -- Ada95 that allow the prev/next mechanism. You should your own type - -- derive from this one and implement the Field_Check, Character_Check - -- Next and Previous functions for your own type. - - type User_Defined_Field_Type_With_Choice_Access is access all - User_Defined_Field_Type_With_Choice'Class; - - function Next - (Fld : Field; - Typ : User_Defined_Field_Type_With_Choice) return Boolean - is abstract; - -- If True is returned, the function successfully generated a next - -- value into the fields buffer. - - function Previous - (Fld : Field; - Typ : User_Defined_Field_Type_With_Choice) return Boolean - is abstract; - -- If True is returned, the function successfully generated a previous - -- value into the fields buffer. - - -- +---------------------------------------------------------------------- - -- | Private Part. - -- | -private - use type Interfaces.C.int; - - function C_Generic_Choice return C_Field_Type; - - function Generic_Next (Fld : Field; - Usr : System.Address) return C_Int; - pragma Convention (C, Generic_Next); - -- This is the generic next Choice_Function for the low-level fieldtype - -- representing all the User_Defined_Field_Type derivates. It routes - -- the call to the Next implementation for the type. - - function Generic_Prev (Fld : Field; - Usr : System.Address) return C_Int; - pragma Convention (C, Generic_Prev); - -- This is the generic prev Choice_Function for the low-level fieldtype - -- representing all the User_Defined_Field_Type derivates. It routes - -- the call to the Previous implementation for the type. - -end Terminal_Interface.Curses.Forms.Field_Types.User.Choice; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-user.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-user.adb deleted file mode 100644 index 18320ef19d..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-user.adb +++ /dev/null @@ -1,134 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.User -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.13 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Unchecked_Conversion; -with Interfaces.C; -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; - -package body Terminal_Interface.Curses.Forms.Field_Types.User is - - use type Interfaces.C.int; - - procedure Set_Field_Type (Fld : in Field; - Typ : in User_Defined_Field_Type) - is - function Allocate_Arg (T : User_Defined_Field_Type'Class) - return Argument_Access; - - function Set_Fld_Type (F : Field := Fld; - Cft : C_Field_Type := C_Generic_Type; - Arg1 : Argument_Access) - return C_Int; - pragma Import (C, Set_Fld_Type, "set_field_type"); - - Res : Eti_Error; - - function Allocate_Arg (T : User_Defined_Field_Type'Class) - return Argument_Access - is - Ptr : constant Field_Type_Access - := new User_Defined_Field_Type'Class'(T); - begin - return new Argument'(Usr => System.Null_Address, - Typ => Ptr, - Cft => Null_Field_Type); - end Allocate_Arg; - - begin - Res := Set_Fld_Type (Arg1 => Allocate_Arg (Typ)); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Field_Type; - - function To_Argument_Access is new Ada.Unchecked_Conversion - (System.Address, Argument_Access); - - function Generic_Field_Check (Fld : Field; - Usr : System.Address) return C_Int - is - Result : Boolean; - Udf : constant User_Defined_Field_Type_Access := - User_Defined_Field_Type_Access (To_Argument_Access (Usr).Typ); - begin - Result := Field_Check (Fld, Udf.all); - return C_Int (Boolean'Pos (Result)); - end Generic_Field_Check; - - function Generic_Char_Check (Ch : C_Int; - Usr : System.Address) return C_Int - is - Result : Boolean; - Udf : constant User_Defined_Field_Type_Access := - User_Defined_Field_Type_Access (To_Argument_Access (Usr).Typ); - begin - Result := Character_Check (Character'Val (Ch), Udf.all); - return C_Int (Boolean'Pos (Result)); - end Generic_Char_Check; - - -- ----------------------------------------------------------------------- - -- - function C_Generic_Type return C_Field_Type - is - Res : Eti_Error; - T : C_Field_Type; - begin - if M_Generic_Type = Null_Field_Type then - T := New_Fieldtype (Generic_Field_Check'Access, - Generic_Char_Check'Access); - if T = Null_Field_Type then - raise Form_Exception; - else - Res := Set_Fieldtype_Arg (T, - Make_Arg'Access, - Copy_Arg'Access, - Free_Arg'Access); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end if; - M_Generic_Type := T; - end if; - pragma Assert (M_Generic_Type /= Null_Field_Type); - return M_Generic_Type; - end C_Generic_Type; - -end Terminal_Interface.Curses.Forms.Field_Types.User; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-user.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-user.ads deleted file mode 100644 index 0d09fcf2a1..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types-user.ads +++ /dev/null @@ -1,97 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types.User -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Interfaces.C; - -package Terminal_Interface.Curses.Forms.Field_Types.User is - pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types.User); - use type Interfaces.C.int; - subtype C_Int is Interfaces.C.int; - - type User_Defined_Field_Type is abstract new Field_Type with null record; - -- This is the root of the mechanism we use to create field types in - -- Ada95. You should your own type derive from this one and implement - -- the Field_Check and Character_Check functions for your own type. - - type User_Defined_Field_Type_Access is access all - User_Defined_Field_Type'Class; - - function Field_Check - (Fld : Field; - Typ : User_Defined_Field_Type) return Boolean - is abstract; - -- If True is returned, the field is considered valid, otherwise it is - -- invalid. - - function Character_Check - (Ch : Character; - Typ : User_Defined_Field_Type) return Boolean - is abstract; - -- If True is returned, the character is considered as valid for the - -- field, otherwise as invalid. - - procedure Set_Field_Type (Fld : in Field; - Typ : in User_Defined_Field_Type); - -- This should work for all types derived from User_Defined_Field_Type. - -- No need to reimplement it for your derived type. - - -- +---------------------------------------------------------------------- - -- | Private Part. - -- | Used by the Choice child package. -private - use type Interfaces.C.int; - - function C_Generic_Type return C_Field_Type; - - function Generic_Field_Check (Fld : Field; - Usr : System.Address) return C_Int; - pragma Convention (C, Generic_Field_Check); - -- This is the generic Field_Check_Function for the low-level fieldtype - -- representing all the User_Defined_Field_Type derivates. It routes - -- the call to the Field_Check implementation for the type. - - function Generic_Char_Check (Ch : C_Int; - Usr : System.Address) return C_Int; - pragma Convention (C, Generic_Char_Check); - -- This is the generic Char_Check_Function for the low-level fieldtype - -- representing all the User_Defined_Field_Type derivates. It routes - -- the call to the Character_Check implementation for the type. - -end Terminal_Interface.Curses.Forms.Field_Types.User; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types.adb deleted file mode 100644 index 47efa4c249..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_types.adb +++ /dev/null @@ -1,297 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_Types -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.17 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Interfaces.C; -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; -with Ada.Unchecked_Deallocation; -with Ada.Unchecked_Conversion; --- | --- |===================================================================== --- | man page form_fieldtype.3x --- |===================================================================== --- | -package body Terminal_Interface.Curses.Forms.Field_Types is - - use type Interfaces.C.int; - use type System.Address; - - function To_Argument_Access is new Ada.Unchecked_Conversion - (System.Address, Argument_Access); - - function Get_Fieldtype (F : Field) return C_Field_Type; - pragma Import (C, Get_Fieldtype, "field_type"); - - function Get_Arg (F : Field) return System.Address; - pragma Import (C, Get_Arg, "field_arg"); - -- | - -- |===================================================================== - -- | man page form_field_validation.3x - -- |===================================================================== - -- | - -- | - -- | - function Get_Type (Fld : in Field) return Field_Type_Access - is - Low_Level : constant C_Field_Type := Get_Fieldtype (Fld); - Arg : Argument_Access; - begin - if Low_Level = Null_Field_Type then - return null; - else - if Low_Level = M_Builtin_Router or else - Low_Level = M_Generic_Type or else - Low_Level = M_Choice_Router or else - Low_Level = M_Generic_Choice then - Arg := To_Argument_Access (Get_Arg (Fld)); - if Arg = null then - raise Form_Exception; - else - return Arg.Typ; - end if; - else - raise Form_Exception; - end if; - end if; - end Get_Type; - - function Make_Arg (Args : System.Address) return System.Address - is - -- Actually args is a double indirected pointer to the arguments - -- of a C variable argument list. In theory it is now quite - -- complicated to write portable routine that reads the arguments, - -- because one has to know the growth direction of the stack and - -- the sizes of the individual arguments. - -- Fortunately we are only interested in the first argument (#0), - -- we know its size and for the first arg we don't care about - -- into which stack direction we have to proceed. We simply - -- resolve the double indirection and thats it. - type V is access all System.Address; - function To_Access is new Ada.Unchecked_Conversion (System.Address, - V); - begin - return To_Access (To_Access (Args).all).all; - end Make_Arg; - - function Copy_Arg (Usr : System.Address) return System.Address - is - begin - return Usr; - end Copy_Arg; - - procedure Free_Arg (Usr : in System.Address) - is - procedure Free_Type is new Ada.Unchecked_Deallocation - (Field_Type'Class, Field_Type_Access); - procedure Freeargs is new Ada.Unchecked_Deallocation - (Argument, Argument_Access); - - To_Be_Free : Argument_Access := To_Argument_Access (Usr); - Low_Level : C_Field_Type; - begin - if To_Be_Free /= null then - if To_Be_Free.Usr /= System.Null_Address then - Low_Level := To_Be_Free.Cft; - if Low_Level.Freearg /= null then - Low_Level.Freearg (To_Be_Free.Usr); - end if; - end if; - if To_Be_Free.Typ /= null then - Free_Type (To_Be_Free.Typ); - end if; - Freeargs (To_Be_Free); - end if; - end Free_Arg; - - - procedure Wrap_Builtin (Fld : Field; - Typ : Field_Type'Class; - Cft : C_Field_Type := C_Builtin_Router) - is - Usr_Arg : constant System.Address := Get_Arg (Fld); - Low_Level : constant C_Field_Type := Get_Fieldtype (Fld); - Arg : Argument_Access; - Res : Eti_Error; - function Set_Fld_Type (F : Field := Fld; - Cf : C_Field_Type := Cft; - Arg1 : Argument_Access) return C_Int; - pragma Import (C, Set_Fld_Type, "set_field_type"); - - begin - pragma Assert (Low_Level /= Null_Field_Type); - if Cft /= C_Builtin_Router and then Cft /= C_Choice_Router then - raise Form_Exception; - else - Arg := new Argument'(Usr => System.Null_Address, - Typ => new Field_Type'Class'(Typ), - Cft => Get_Fieldtype (Fld)); - if Usr_Arg /= System.Null_Address then - if Low_Level.Copyarg /= null then - Arg.Usr := Low_Level.Copyarg (Usr_Arg); - else - Arg.Usr := Usr_Arg; - end if; - end if; - - Res := Set_Fld_Type (Arg1 => Arg); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end if; - end Wrap_Builtin; - - function Field_Check_Router (Fld : Field; - Usr : System.Address) return C_Int - is - Arg : constant Argument_Access := To_Argument_Access (Usr); - begin - pragma Assert (Arg /= null and then Arg.Cft /= Null_Field_Type - and then Arg.Typ /= null); - if Arg.Cft.Fcheck /= null then - return Arg.Cft.Fcheck (Fld, Arg.Usr); - else - return 1; - end if; - end Field_Check_Router; - - function Char_Check_Router (Ch : C_Int; - Usr : System.Address) return C_Int - is - Arg : constant Argument_Access := To_Argument_Access (Usr); - begin - pragma Assert (Arg /= null and then Arg.Cft /= Null_Field_Type - and then Arg.Typ /= null); - if Arg.Cft.Ccheck /= null then - return Arg.Cft.Ccheck (Ch, Arg.Usr); - else - return 1; - end if; - end Char_Check_Router; - - function Next_Router (Fld : Field; - Usr : System.Address) return C_Int - is - Arg : constant Argument_Access := To_Argument_Access (Usr); - begin - pragma Assert (Arg /= null and then Arg.Cft /= Null_Field_Type - and then Arg.Typ /= null); - if Arg.Cft.Next /= null then - return Arg.Cft.Next (Fld, Arg.Usr); - else - return 1; - end if; - end Next_Router; - - function Prev_Router (Fld : Field; - Usr : System.Address) return C_Int - is - Arg : constant Argument_Access := To_Argument_Access (Usr); - begin - pragma Assert (Arg /= null and then Arg.Cft /= Null_Field_Type - and then Arg.Typ /= null); - if Arg.Cft.Prev /= null then - return Arg.Cft.Prev (Fld, Arg.Usr); - else - return 1; - end if; - end Prev_Router; - - -- ----------------------------------------------------------------------- - -- - function C_Builtin_Router return C_Field_Type - is - Res : Eti_Error; - T : C_Field_Type; - begin - if M_Builtin_Router = Null_Field_Type then - T := New_Fieldtype (Field_Check_Router'Access, - Char_Check_Router'Access); - if T = Null_Field_Type then - raise Form_Exception; - else - Res := Set_Fieldtype_Arg (T, - Make_Arg'Access, - Copy_Arg'Access, - Free_Arg'Access); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end if; - M_Builtin_Router := T; - end if; - pragma Assert (M_Builtin_Router /= Null_Field_Type); - return M_Builtin_Router; - end C_Builtin_Router; - - -- ----------------------------------------------------------------------- - -- - function C_Choice_Router return C_Field_Type - is - Res : Eti_Error; - T : C_Field_Type; - begin - if M_Choice_Router = Null_Field_Type then - T := New_Fieldtype (Field_Check_Router'Access, - Char_Check_Router'Access); - if T = Null_Field_Type then - raise Form_Exception; - else - Res := Set_Fieldtype_Arg (T, - Make_Arg'Access, - Copy_Arg'Access, - Free_Arg'Access); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - - Res := Set_Fieldtype_Choice (T, - Next_Router'Access, - Prev_Router'Access); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end if; - M_Choice_Router := T; - end if; - pragma Assert (M_Choice_Router /= Null_Field_Type); - return M_Choice_Router; - end C_Choice_Router; - -end Terminal_Interface.Curses.Forms.Field_Types; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_user_data.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_user_data.adb deleted file mode 100644 index 817ebe5927..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-field_user_data.adb +++ /dev/null @@ -1,85 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Field_User_Data -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.12 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; - --- | --- |===================================================================== --- | man page form_field_userptr.3x --- |===================================================================== --- | -package body Terminal_Interface.Curses.Forms.Field_User_Data is - -- | - -- | - -- | - use type Interfaces.C.int; - - procedure Set_User_Data (Fld : in Field; - Data : in User_Access) - is - function Set_Field_Userptr (Fld : Field; - Usr : User_Access) return C_Int; - pragma Import (C, Set_Field_Userptr, "set_field_userptr"); - - Res : constant Eti_Error := Set_Field_Userptr (Fld, Data); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_User_Data; - -- | - -- | - -- | - function Get_User_Data (Fld : in Field) return User_Access - is - function Field_Userptr (Fld : Field) return User_Access; - pragma Import (C, Field_Userptr, "field_userptr"); - begin - return Field_Userptr (Fld); - end Get_User_Data; - - procedure Get_User_Data (Fld : in Field; - Data : out User_Access) - is - begin - Data := Get_User_Data (Fld); - end Get_User_Data; - -end Terminal_Interface.Curses.Forms.Field_User_Data; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-form_user_data.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-form_user_data.adb deleted file mode 100644 index 50c6708fcf..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms-form_user_data.adb +++ /dev/null @@ -1,86 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms.Form_User_Data -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.12 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- --- | --- |===================================================================== --- | man page form__userptr.3x --- |===================================================================== --- | -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; - -package body Terminal_Interface.Curses.Forms.Form_User_Data is - - use type Interfaces.C.int; - - -- | - -- | - -- | - procedure Set_User_Data (Frm : in Form; - Data : in User_Access) - is - function Set_Form_Userptr (Frm : Form; - Data : User_Access) return C_Int; - pragma Import (C, Set_Form_Userptr, "set_form_userptr"); - - Res : constant Eti_Error := Set_Form_Userptr (Frm, Data); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_User_Data; - -- | - -- | - -- | - function Get_User_Data (Frm : in Form) return User_Access - is - function Form_Userptr (Frm : Form) return User_Access; - pragma Import (C, Form_Userptr, "form_userptr"); - begin - return Form_Userptr (Frm); - end Get_User_Data; - - procedure Get_User_Data (Frm : in Form; - Data : out User_Access) - is - begin - Data := Get_User_Data (Frm); - end Get_User_Data; - -end Terminal_Interface.Curses.Forms.Form_User_Data; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms.adb deleted file mode 100644 index e3c053c61e..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-forms.adb +++ /dev/null @@ -1,1161 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Forms -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.25 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Unchecked_Deallocation; -with Ada.Unchecked_Conversion; - -with Interfaces.C; use Interfaces.C; -with Interfaces.C.Strings; use Interfaces.C.Strings; -with Interfaces.C.Pointers; - -with Terminal_Interface.Curses.Aux; - -package body Terminal_Interface.Curses.Forms is - - use Terminal_Interface.Curses.Aux; - - type C_Field_Array is array (Natural range <>) of aliased Field; - package F_Array is new - Interfaces.C.Pointers (Natural, Field, C_Field_Array, Null_Field); - ------------------------------------------------------------------------------- - -- | - -- | - -- | - -- subtype chars_ptr is Interfaces.C.Strings.chars_ptr; - - function FOS_2_CInt is new - Ada.Unchecked_Conversion (Field_Option_Set, - C_Int); - - function CInt_2_FOS is new - Ada.Unchecked_Conversion (C_Int, - Field_Option_Set); - - function FrmOS_2_CInt is new - Ada.Unchecked_Conversion (Form_Option_Set, - C_Int); - - function CInt_2_FrmOS is new - Ada.Unchecked_Conversion (C_Int, - Form_Option_Set); - - procedure Request_Name (Key : in Form_Request_Code; - Name : out String) - is - function Form_Request_Name (Key : C_Int) return chars_ptr; - pragma Import (C, Form_Request_Name, "form_request_name"); - begin - Fill_String (Form_Request_Name (C_Int (Key)), Name); - end Request_Name; - - function Request_Name (Key : Form_Request_Code) return String - is - function Form_Request_Name (Key : C_Int) return chars_ptr; - pragma Import (C, Form_Request_Name, "form_request_name"); - begin - return Fill_String (Form_Request_Name (C_Int (Key))); - end Request_Name; ------------------------------------------------------------------------------- - -- | - -- | - -- | - -- | - -- |===================================================================== - -- | man page form_field_new.3x - -- |===================================================================== - -- | - -- | - -- | - function Create (Height : Line_Count; - Width : Column_Count; - Top : Line_Position; - Left : Column_Position; - Off_Screen : Natural := 0; - More_Buffers : Buffer_Number := Buffer_Number'First) - return Field - is - function Newfield (H, W, T, L, O, M : C_Int) return Field; - pragma Import (C, Newfield, "new_field"); - Fld : constant Field := Newfield (C_Int (Height), C_Int (Width), - C_Int (Top), C_Int (Left), - C_Int (Off_Screen), - C_Int (More_Buffers)); - begin - if Fld = Null_Field then - raise Form_Exception; - end if; - return Fld; - end Create; --- | --- | --- | - procedure Delete (Fld : in out Field) - is - function Free_Field (Fld : Field) return C_Int; - pragma Import (C, Free_Field, "free_field"); - - Res : Eti_Error; - begin - Res := Free_Field (Fld); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - Fld := Null_Field; - end Delete; - -- | - -- | - -- | - function Duplicate (Fld : Field; - Top : Line_Position; - Left : Column_Position) return Field - is - function Dup_Field (Fld : Field; - Top : C_Int; - Left : C_Int) return Field; - pragma Import (C, Dup_Field, "dup_field"); - - F : constant Field := Dup_Field (Fld, - C_Int (Top), - C_Int (Left)); - begin - if F = Null_Field then - raise Form_Exception; - end if; - return F; - end Duplicate; - -- | - -- | - -- | - function Link (Fld : Field; - Top : Line_Position; - Left : Column_Position) return Field - is - function Lnk_Field (Fld : Field; - Top : C_Int; - Left : C_Int) return Field; - pragma Import (C, Lnk_Field, "link_field"); - - F : constant Field := Lnk_Field (Fld, - C_Int (Top), - C_Int (Left)); - begin - if F = Null_Field then - raise Form_Exception; - end if; - return F; - end Link; - -- | - -- |===================================================================== - -- | man page form_field_just.3x - -- |===================================================================== - -- | - -- | - -- | - procedure Set_Justification (Fld : in Field; - Just : in Field_Justification := None) - is - function Set_Field_Just (Fld : Field; - Just : C_Int) return C_Int; - pragma Import (C, Set_Field_Just, "set_field_just"); - - Res : constant Eti_Error := - Set_Field_Just (Fld, - C_Int (Field_Justification'Pos (Just))); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Justification; - -- | - -- | - -- | - function Get_Justification (Fld : Field) return Field_Justification - is - function Field_Just (Fld : Field) return C_Int; - pragma Import (C, Field_Just, "field_just"); - begin - return Field_Justification'Val (Field_Just (Fld)); - end Get_Justification; - -- | - -- |===================================================================== - -- | man page form_field_buffer.3x - -- |===================================================================== - -- | - -- | - -- | - procedure Set_Buffer - (Fld : in Field; - Buffer : in Buffer_Number := Buffer_Number'First; - Str : in String) - is - type Char_Ptr is access all Interfaces.C.char; - function Set_Fld_Buffer (Fld : Field; - Bufnum : C_Int; - S : Char_Ptr) - return C_Int; - pragma Import (C, Set_Fld_Buffer, "set_field_buffer"); - - Txt : char_array (0 .. Str'Length); - Len : size_t; - Res : Eti_Error; - begin - To_C (Str, Txt, Len); - Res := Set_Fld_Buffer (Fld, C_Int (Buffer), Txt (Txt'First)'Access); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Buffer; - -- | - -- | - -- | - procedure Get_Buffer - (Fld : in Field; - Buffer : in Buffer_Number := Buffer_Number'First; - Str : out String) - is - function Field_Buffer (Fld : Field; - B : C_Int) return chars_ptr; - pragma Import (C, Field_Buffer, "field_buffer"); - begin - Fill_String (Field_Buffer (Fld, C_Int (Buffer)), Str); - end Get_Buffer; - - function Get_Buffer - (Fld : in Field; - Buffer : in Buffer_Number := Buffer_Number'First) return String - is - function Field_Buffer (Fld : Field; - B : C_Int) return chars_ptr; - pragma Import (C, Field_Buffer, "field_buffer"); - begin - return Fill_String (Field_Buffer (Fld, C_Int (Buffer))); - end Get_Buffer; - -- | - -- | - -- | - procedure Set_Status (Fld : in Field; - Status : in Boolean := True) - is - function Set_Fld_Status (Fld : Field; - St : C_Int) return C_Int; - pragma Import (C, Set_Fld_Status, "set_field_status"); - - Res : constant Eti_Error := Set_Fld_Status (Fld, Boolean'Pos (Status)); - begin - if Res /= E_Ok then - raise Form_Exception; - end if; - end Set_Status; - -- | - -- | - -- | - function Changed (Fld : Field) return Boolean - is - function Field_Status (Fld : Field) return C_Int; - pragma Import (C, Field_Status, "field_status"); - - Res : constant C_Int := Field_Status (Fld); - begin - if Res = Curses_False then - return False; - else - return True; - end if; - end Changed; - -- | - -- | - -- | - procedure Set_Maximum_Size (Fld : in Field; - Max : in Natural := 0) - is - function Set_Field_Max (Fld : Field; - M : C_Int) return C_Int; - pragma Import (C, Set_Field_Max, "set_max_field"); - - Res : constant Eti_Error := Set_Field_Max (Fld, C_Int (Max)); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Maximum_Size; - -- | - -- |===================================================================== - -- | man page form_field_opts.3x - -- |===================================================================== - -- | - -- | - -- | - procedure Set_Options (Fld : in Field; - Options : in Field_Option_Set) - is - function Set_Field_Opts (Fld : Field; - Opt : C_Int) return C_Int; - pragma Import (C, Set_Field_Opts, "set_field_opts"); - - Opt : constant C_Int := FOS_2_CInt (Options); - Res : Eti_Error; - begin - Res := Set_Field_Opts (Fld, Opt); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Options; - -- | - -- | - -- | - procedure Switch_Options (Fld : in Field; - Options : in Field_Option_Set; - On : Boolean := True) - is - function Field_Opts_On (Fld : Field; - Opt : C_Int) return C_Int; - pragma Import (C, Field_Opts_On, "field_opts_on"); - function Field_Opts_Off (Fld : Field; - Opt : C_Int) return C_Int; - pragma Import (C, Field_Opts_Off, "field_opts_off"); - - Err : Eti_Error; - Opt : constant C_Int := FOS_2_CInt (Options); - begin - if On then - Err := Field_Opts_On (Fld, Opt); - else - Err := Field_Opts_Off (Fld, Opt); - end if; - if Err /= E_Ok then - Eti_Exception (Err); - end if; - end Switch_Options; - -- | - -- | - -- | - procedure Get_Options (Fld : in Field; - Options : out Field_Option_Set) - is - function Field_Opts (Fld : Field) return C_Int; - pragma Import (C, Field_Opts, "field_opts"); - - Res : constant C_Int := Field_Opts (Fld); - begin - Options := CInt_2_FOS (Res); - end Get_Options; - -- | - -- | - -- | - function Get_Options (Fld : Field := Null_Field) - return Field_Option_Set - is - Fos : Field_Option_Set; - begin - Get_Options (Fld, Fos); - return Fos; - end Get_Options; - -- | - -- |===================================================================== - -- | man page form_field_attributes.3x - -- |===================================================================== - -- | - -- | - -- | - procedure Set_Foreground - (Fld : in Field; - Fore : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First) - is - function Set_Field_Fore (Fld : Field; - Attr : C_Chtype) return C_Int; - pragma Import (C, Set_Field_Fore, "set_field_fore"); - - Ch : constant Attributed_Character := (Ch => Character'First, - Color => Color, - Attr => Fore); - Res : constant Eti_Error := - Set_Field_Fore (Fld, AttrChar_To_Chtype (Ch)); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Foreground; - -- | - -- | - -- | - procedure Foreground (Fld : in Field; - Fore : out Character_Attribute_Set) - is - function Field_Fore (Fld : Field) return C_Chtype; - pragma Import (C, Field_Fore, "field_fore"); - begin - Fore := Chtype_To_AttrChar (Field_Fore (Fld)).Attr; - end Foreground; - - procedure Foreground (Fld : in Field; - Fore : out Character_Attribute_Set; - Color : out Color_Pair) - is - function Field_Fore (Fld : Field) return C_Chtype; - pragma Import (C, Field_Fore, "field_fore"); - begin - Fore := Chtype_To_AttrChar (Field_Fore (Fld)).Attr; - Color := Chtype_To_AttrChar (Field_Fore (Fld)).Color; - end Foreground; - -- | - -- | - -- | - procedure Set_Background - (Fld : in Field; - Back : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First) - is - function Set_Field_Back (Fld : Field; - Attr : C_Chtype) return C_Int; - pragma Import (C, Set_Field_Back, "set_field_back"); - - Ch : constant Attributed_Character := (Ch => Character'First, - Color => Color, - Attr => Back); - Res : constant Eti_Error := - Set_Field_Back (Fld, AttrChar_To_Chtype (Ch)); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Background; - -- | - -- | - -- | - procedure Background (Fld : in Field; - Back : out Character_Attribute_Set) - is - function Field_Back (Fld : Field) return C_Chtype; - pragma Import (C, Field_Back, "field_back"); - begin - Back := Chtype_To_AttrChar (Field_Back (Fld)).Attr; - end Background; - - procedure Background (Fld : in Field; - Back : out Character_Attribute_Set; - Color : out Color_Pair) - is - function Field_Back (Fld : Field) return C_Chtype; - pragma Import (C, Field_Back, "field_back"); - begin - Back := Chtype_To_AttrChar (Field_Back (Fld)).Attr; - Color := Chtype_To_AttrChar (Field_Back (Fld)).Color; - end Background; - -- | - -- | - -- | - procedure Set_Pad_Character (Fld : in Field; - Pad : in Character := Space) - is - function Set_Field_Pad (Fld : Field; - Ch : C_Int) return C_Int; - pragma Import (C, Set_Field_Pad, "set_field_pad"); - - Res : constant Eti_Error := Set_Field_Pad (Fld, - C_Int (Character'Pos (Pad))); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Pad_Character; - -- | - -- | - -- | - procedure Pad_Character (Fld : in Field; - Pad : out Character) - is - function Field_Pad (Fld : Field) return C_Int; - pragma Import (C, Field_Pad, "field_pad"); - begin - Pad := Character'Val (Field_Pad (Fld)); - end Pad_Character; - -- | - -- |===================================================================== - -- | man page form_field_info.3x - -- |===================================================================== - -- | - -- | - -- | - procedure Info (Fld : in Field; - Lines : out Line_Count; - Columns : out Column_Count; - First_Row : out Line_Position; - First_Column : out Column_Position; - Off_Screen : out Natural; - Additional_Buffers : out Buffer_Number) - is - type C_Int_Access is access all C_Int; - function Fld_Info (Fld : Field; - L, C, Fr, Fc, Os, Ab : C_Int_Access) - return C_Int; - pragma Import (C, Fld_Info, "field_info"); - - L, C, Fr, Fc, Os, Ab : aliased C_Int; - Res : constant Eti_Error := Fld_Info (Fld, - L'Access, C'Access, - Fr'Access, Fc'Access, - Os'Access, Ab'Access); - begin - if Res /= E_Ok then - Eti_Exception (Res); - else - Lines := Line_Count (L); - Columns := Column_Count (C); - First_Row := Line_Position (Fr); - First_Column := Column_Position (Fc); - Off_Screen := Natural (Os); - Additional_Buffers := Buffer_Number (Ab); - end if; - end Info; --- | --- | --- | - procedure Dynamic_Info (Fld : in Field; - Lines : out Line_Count; - Columns : out Column_Count; - Max : out Natural) - is - type C_Int_Access is access all C_Int; - function Dyn_Info (Fld : Field; L, C, M : C_Int_Access) return C_Int; - pragma Import (C, Dyn_Info, "dynamic_field_info"); - - L, C, M : aliased C_Int; - Res : constant Eti_Error := Dyn_Info (Fld, - L'Access, C'Access, - M'Access); - begin - if Res /= E_Ok then - Eti_Exception (Res); - else - Lines := Line_Count (L); - Columns := Column_Count (C); - Max := Natural (M); - end if; - end Dynamic_Info; - -- | - -- |===================================================================== - -- | man page form_win.3x - -- |===================================================================== - -- | - -- | - -- | - procedure Set_Window (Frm : in Form; - Win : in Window) - is - function Set_Form_Win (Frm : Form; - Win : Window) return C_Int; - pragma Import (C, Set_Form_Win, "set_form_win"); - - Res : constant Eti_Error := Set_Form_Win (Frm, Win); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Window; - -- | - -- | - -- | - function Get_Window (Frm : Form) return Window - is - function Form_Win (Frm : Form) return Window; - pragma Import (C, Form_Win, "form_win"); - - W : constant Window := Form_Win (Frm); - begin - return W; - end Get_Window; - -- | - -- | - -- | - procedure Set_Sub_Window (Frm : in Form; - Win : in Window) - is - function Set_Form_Sub (Frm : Form; - Win : Window) return C_Int; - pragma Import (C, Set_Form_Sub, "set_form_sub"); - - Res : constant Eti_Error := Set_Form_Sub (Frm, Win); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Sub_Window; - -- | - -- | - -- | - function Get_Sub_Window (Frm : Form) return Window - is - function Form_Sub (Frm : Form) return Window; - pragma Import (C, Form_Sub, "form_sub"); - - W : constant Window := Form_Sub (Frm); - begin - return W; - end Get_Sub_Window; - -- | - -- | - -- | - procedure Scale (Frm : in Form; - Lines : out Line_Count; - Columns : out Column_Count) - is - type C_Int_Access is access all C_Int; - function M_Scale (Frm : Form; Yp, Xp : C_Int_Access) return C_Int; - pragma Import (C, M_Scale, "scale_form"); - - X, Y : aliased C_Int; - Res : constant Eti_Error := M_Scale (Frm, Y'Access, X'Access); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - Lines := Line_Count (Y); - Columns := Column_Count (X); - end Scale; - -- | - -- |===================================================================== - -- | man page menu_hook.3x - -- |===================================================================== - -- | - -- | - -- | - procedure Set_Field_Init_Hook (Frm : in Form; - Proc : in Form_Hook_Function) - is - function Set_Field_Init (Frm : Form; - Proc : Form_Hook_Function) return C_Int; - pragma Import (C, Set_Field_Init, "set_field_init"); - - Res : constant Eti_Error := Set_Field_Init (Frm, Proc); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Field_Init_Hook; - -- | - -- | - -- | - procedure Set_Field_Term_Hook (Frm : in Form; - Proc : in Form_Hook_Function) - is - function Set_Field_Term (Frm : Form; - Proc : Form_Hook_Function) return C_Int; - pragma Import (C, Set_Field_Term, "set_field_term"); - - Res : constant Eti_Error := Set_Field_Term (Frm, Proc); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Field_Term_Hook; - -- | - -- | - -- | - procedure Set_Form_Init_Hook (Frm : in Form; - Proc : in Form_Hook_Function) - is - function Set_Form_Init (Frm : Form; - Proc : Form_Hook_Function) return C_Int; - pragma Import (C, Set_Form_Init, "set_form_init"); - - Res : constant Eti_Error := Set_Form_Init (Frm, Proc); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Form_Init_Hook; - -- | - -- | - -- | - procedure Set_Form_Term_Hook (Frm : in Form; - Proc : in Form_Hook_Function) - is - function Set_Form_Term (Frm : Form; - Proc : Form_Hook_Function) return C_Int; - pragma Import (C, Set_Form_Term, "set_form_term"); - - Res : constant Eti_Error := Set_Form_Term (Frm, Proc); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Form_Term_Hook; - -- | - -- |===================================================================== - -- | man page form_fields.3x - -- |===================================================================== - -- | - -- | - -- | - procedure Redefine (Frm : in Form; - Flds : in Field_Array_Access) - is - function Set_Frm_Fields (Frm : Form; - Items : System.Address) return C_Int; - pragma Import (C, Set_Frm_Fields, "set_form_fields"); - - Res : Eti_Error; - begin - pragma Assert (Flds (Flds'Last) = Null_Field); - if Flds (Flds'Last) /= Null_Field then - raise Form_Exception; - else - Res := Set_Frm_Fields (Frm, Flds (Flds'First)'Address); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end if; - end Redefine; - -- | - -- | - -- | - function Fields (Frm : Form; - Index : Positive) return Field - is - use F_Array; - - function C_Fields (Frm : Form) return Pointer; - pragma Import (C, C_Fields, "form_fields"); - - P : Pointer := C_Fields (Frm); - begin - if P = null or else Index not in 1 .. Field_Count (Frm) then - raise Form_Exception; - else - P := P + ptrdiff_t (C_Int (Index) - 1); - return P.all; - end if; - end Fields; - -- | - -- | - -- | - function Field_Count (Frm : Form) return Natural - is - function Count (Frm : Form) return C_Int; - pragma Import (C, Count, "field_count"); - begin - return Natural (Count (Frm)); - end Field_Count; - -- | - -- | - -- | - procedure Move (Fld : in Field; - Line : in Line_Position; - Column : in Column_Position) - is - function Move (Fld : Field; L, C : C_Int) return C_Int; - pragma Import (C, Move, "move_field"); - - Res : constant Eti_Error := Move (Fld, C_Int (Line), C_Int (Column)); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Move; - -- | - -- |===================================================================== - -- | man page form_new.3x - -- |===================================================================== - -- | - -- | - -- | - function Create (Fields : Field_Array_Access) return Form - is - function NewForm (Fields : System.Address) return Form; - pragma Import (C, NewForm, "new_form"); - - M : Form; - begin - pragma Assert (Fields (Fields'Last) = Null_Field); - if Fields (Fields'Last) /= Null_Field then - raise Form_Exception; - else - M := NewForm (Fields (Fields'First)'Address); - if M = Null_Form then - raise Form_Exception; - end if; - return M; - end if; - end Create; - -- | - -- | - -- | - procedure Delete (Frm : in out Form) - is - function Free (Frm : Form) return C_Int; - pragma Import (C, Free, "free_form"); - - Res : constant Eti_Error := Free (Frm); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - Frm := Null_Form; - end Delete; - -- | - -- |===================================================================== - -- | man page form_opts.3x - -- |===================================================================== - -- | - -- | - -- | - procedure Set_Options (Frm : in Form; - Options : in Form_Option_Set) - is - function Set_Form_Opts (Frm : Form; - Opt : C_Int) return C_Int; - pragma Import (C, Set_Form_Opts, "set_form_opts"); - - Opt : constant C_Int := FrmOS_2_CInt (Options); - Res : Eti_Error; - begin - Res := Set_Form_Opts (Frm, Opt); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Options; - -- | - -- | - -- | - procedure Switch_Options (Frm : in Form; - Options : in Form_Option_Set; - On : Boolean := True) - is - function Form_Opts_On (Frm : Form; - Opt : C_Int) return C_Int; - pragma Import (C, Form_Opts_On, "form_opts_on"); - function Form_Opts_Off (Frm : Form; - Opt : C_Int) return C_Int; - pragma Import (C, Form_Opts_Off, "form_opts_off"); - - Err : Eti_Error; - Opt : constant C_Int := FrmOS_2_CInt (Options); - begin - if On then - Err := Form_Opts_On (Frm, Opt); - else - Err := Form_Opts_Off (Frm, Opt); - end if; - if Err /= E_Ok then - Eti_Exception (Err); - end if; - end Switch_Options; - -- | - -- | - -- | - procedure Get_Options (Frm : in Form; - Options : out Form_Option_Set) - is - function Form_Opts (Frm : Form) return C_Int; - pragma Import (C, Form_Opts, "form_opts"); - - Res : constant C_Int := Form_Opts (Frm); - begin - Options := CInt_2_FrmOS (Res); - end Get_Options; - -- | - -- | - -- | - function Get_Options (Frm : Form := Null_Form) return Form_Option_Set - is - Fos : Form_Option_Set; - begin - Get_Options (Frm, Fos); - return Fos; - end Get_Options; - -- | - -- |===================================================================== - -- | man page form_post.3x - -- |===================================================================== - -- | - -- | - -- | - procedure Post (Frm : in Form; - Post : in Boolean := True) - is - function M_Post (Frm : Form) return C_Int; - pragma Import (C, M_Post, "post_form"); - function M_Unpost (Frm : Form) return C_Int; - pragma Import (C, M_Unpost, "unpost_form"); - - Res : Eti_Error; - begin - if Post then - Res := M_Post (Frm); - else - Res := M_Unpost (Frm); - end if; - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Post; - -- | - -- |===================================================================== - -- | man page form_cursor.3x - -- |===================================================================== - -- | - -- | - -- | - procedure Position_Cursor (Frm : Form) - is - function Pos_Form_Cursor (Frm : Form) return C_Int; - pragma Import (C, Pos_Form_Cursor, "pos_form_cursor"); - - Res : constant Eti_Error := Pos_Form_Cursor (Frm); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Position_Cursor; - -- | - -- |===================================================================== - -- | man page form_data.3x - -- |===================================================================== - -- | - -- | - -- | - function Data_Ahead (Frm : Form) return Boolean - is - function Ahead (Frm : Form) return C_Int; - pragma Import (C, Ahead, "data_ahead"); - - Res : constant C_Int := Ahead (Frm); - begin - if Res = Curses_False then - return False; - else - return True; - end if; - end Data_Ahead; - -- | - -- | - -- | - function Data_Behind (Frm : Form) return Boolean - is - function Behind (Frm : Form) return C_Int; - pragma Import (C, Behind, "data_behind"); - - Res : constant C_Int := Behind (Frm); - begin - if Res = Curses_False then - return False; - else - return True; - end if; - end Data_Behind; - -- | - -- |===================================================================== - -- | man page form_driver.3x - -- |===================================================================== - -- | - -- | - -- | - function Driver (Frm : Form; - Key : Key_Code) return Driver_Result - is - function Frm_Driver (Frm : Form; Key : C_Int) return C_Int; - pragma Import (C, Frm_Driver, "form_driver"); - - R : constant Eti_Error := Frm_Driver (Frm, C_Int (Key)); - begin - if R /= E_Ok then - if R = E_Unknown_Command then - return Unknown_Request; - elsif R = E_Invalid_Field then - return Invalid_Field; - elsif R = E_Request_Denied then - return Request_Denied; - else - Eti_Exception (R); - return Form_Ok; - end if; - else - return Form_Ok; - end if; - end Driver; - -- | - -- |===================================================================== - -- | man page form_page.3x - -- |===================================================================== - -- | - -- | - -- | - procedure Set_Current (Frm : in Form; - Fld : in Field) - is - function Set_Current_Fld (Frm : Form; Fld : Field) return C_Int; - pragma Import (C, Set_Current_Fld, "set_current_field"); - - Res : constant Eti_Error := Set_Current_Fld (Frm, Fld); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Current; - -- | - -- | - -- | - function Current (Frm : in Form) return Field - is - function Current_Fld (Frm : Form) return Field; - pragma Import (C, Current_Fld, "current_field"); - - Fld : constant Field := Current_Fld (Frm); - begin - if Fld = Null_Field then - raise Form_Exception; - end if; - return Fld; - end Current; - -- | - -- | - -- | - procedure Set_Page (Frm : in Form; - Page : in Page_Number := Page_Number'First) - is - function Set_Frm_Page (Frm : Form; Pg : C_Int) return C_Int; - pragma Import (C, Set_Frm_Page, "set_form_page"); - - Res : constant Eti_Error := Set_Frm_Page (Frm, C_Int (Page)); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Page; - -- | - -- | - -- | - function Page (Frm : Form) return Page_Number - is - function Get_Page (Frm : Form) return C_Int; - pragma Import (C, Get_Page, "form_page"); - - P : constant C_Int := Get_Page (Frm); - begin - if P < 0 then - raise Form_Exception; - else - return Page_Number (P); - end if; - end Page; - - function Get_Index (Fld : Field) return Positive - is - function Get_Fieldindex (Fld : Field) return C_Int; - pragma Import (C, Get_Fieldindex, "field_index"); - - Res : constant C_Int := Get_Fieldindex (Fld); - begin - if Res = Curses_Err then - raise Form_Exception; - end if; - return Positive (Natural (Res) + Positive'First); - end Get_Index; - - -- | - -- |===================================================================== - -- | man page form_new_page.3x - -- |===================================================================== - -- | - -- | - -- | - procedure Set_New_Page (Fld : in Field; - New_Page : in Boolean := True) - is - function Set_Page (Fld : Field; Flg : C_Int) return C_Int; - pragma Import (C, Set_Page, "set_new_page"); - - Res : constant Eti_Error := Set_Page (Fld, Boolean'Pos (New_Page)); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_New_Page; - -- | - -- | - -- | - function Is_New_Page (Fld : Field) return Boolean - is - function Is_New (Fld : Field) return C_Int; - pragma Import (C, Is_New, "new_page"); - - Res : constant C_Int := Is_New (Fld); - begin - if Res = Curses_False then - return False; - else - return True; - end if; - end Is_New_Page; - - procedure Free (FA : in out Field_Array_Access; - Free_Fields : in Boolean := False) - is - procedure Release is new Ada.Unchecked_Deallocation - (Field_Array, Field_Array_Access); - begin - if FA /= null and then Free_Fields then - for I in FA'First .. (FA'Last - 1) loop - if FA (I) /= Null_Field then - Delete (FA (I)); - end if; - end loop; - end if; - Release (FA); - end Free; - - -- |===================================================================== - - function Default_Field_Options return Field_Option_Set - is - begin - return Get_Options (Null_Field); - end Default_Field_Options; - - function Default_Form_Options return Form_Option_Set - is - begin - return Get_Options (Null_Form); - end Default_Form_Options; - -end Terminal_Interface.Curses.Forms; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-menus-item_user_data.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-menus-item_user_data.adb deleted file mode 100644 index 6c35d338fd..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-menus-item_user_data.adb +++ /dev/null @@ -1,77 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Menus.Item_User_Data -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Interfaces.C; -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; - -package body Terminal_Interface.Curses.Menus.Item_User_Data is - - use type Interfaces.C.int; - - procedure Set_User_Data (Itm : in Item; - Data : in User_Access) - is - function Set_Item_Userptr (Itm : Item; - Addr : User_Access) return C_Int; - pragma Import (C, Set_Item_Userptr, "set_item_userptr"); - - Res : constant Eti_Error := Set_Item_Userptr (Itm, Data); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_User_Data; - - function Get_User_Data (Itm : in Item) return User_Access - is - function Item_Userptr (Itm : Item) return User_Access; - pragma Import (C, Item_Userptr, "item_userptr"); - begin - return Item_Userptr (Itm); - end Get_User_Data; - - procedure Get_User_Data (Itm : in Item; - Data : out User_Access) - is - begin - Data := Get_User_Data (Itm); - end Get_User_Data; - -end Terminal_Interface.Curses.Menus.Item_User_Data; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-menus-menu_user_data.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-menus-menu_user_data.adb deleted file mode 100644 index 20b9e8665a..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-menus-menu_user_data.adb +++ /dev/null @@ -1,76 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Menus.Menu_User_Data -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.12 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; - -package body Terminal_Interface.Curses.Menus.Menu_User_Data is - - use type Interfaces.C.int; - - procedure Set_User_Data (Men : in Menu; - Data : in User_Access) - is - function Set_Menu_Userptr (Men : Menu; - Data : User_Access) return C_Int; - pragma Import (C, Set_Menu_Userptr, "set_menu_userptr"); - - Res : constant Eti_Error := Set_Menu_Userptr (Men, Data); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_User_Data; - - function Get_User_Data (Men : in Menu) return User_Access - is - function Menu_Userptr (Men : Menu) return User_Access; - pragma Import (C, Menu_Userptr, "menu_userptr"); - begin - return Menu_Userptr (Men); - end Get_User_Data; - - procedure Get_User_Data (Men : in Menu; - Data : out User_Access) - is - begin - Data := Get_User_Data (Men); - end Get_User_Data; - -end Terminal_Interface.Curses.Menus.Menu_User_Data; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-menus.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-menus.adb deleted file mode 100644 index 4f218ffbbd..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-menus.adb +++ /dev/null @@ -1,1022 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Menus -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.25 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Unchecked_Deallocation; -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; - -with Interfaces.C; use Interfaces.C; -with Interfaces.C.Strings; use Interfaces.C.Strings; -with Interfaces.C.Pointers; - -with Ada.Unchecked_Conversion; - -package body Terminal_Interface.Curses.Menus is - - type C_Item_Array is array (Natural range <>) of aliased Item; - package I_Array is new - Interfaces.C.Pointers (Natural, Item, C_Item_Array, Null_Item); - - use type System.Bit_Order; - subtype chars_ptr is Interfaces.C.Strings.chars_ptr; - - function MOS_2_CInt is new - Ada.Unchecked_Conversion (Menu_Option_Set, - C_Int); - - function CInt_2_MOS is new - Ada.Unchecked_Conversion (C_Int, - Menu_Option_Set); - - function IOS_2_CInt is new - Ada.Unchecked_Conversion (Item_Option_Set, - C_Int); - - function CInt_2_IOS is new - Ada.Unchecked_Conversion (C_Int, - Item_Option_Set); - ------------------------------------------------------------------------------- - procedure Request_Name (Key : in Menu_Request_Code; - Name : out String) - is - function Request_Name (Key : C_Int) return chars_ptr; - pragma Import (C, Request_Name, "menu_request_name"); - begin - Fill_String (Request_Name (C_Int (Key)), Name); - end Request_Name; - - function Request_Name (Key : Menu_Request_Code) return String - is - function Request_Name (Key : C_Int) return chars_ptr; - pragma Import (C, Request_Name, "menu_request_name"); - begin - return Fill_String (Request_Name (C_Int (Key))); - end Request_Name; - - function Create (Name : String; - Description : String := "") return Item - is - type Char_Ptr is access all Interfaces.C.char; - function Newitem (Name, Desc : Char_Ptr) return Item; - pragma Import (C, Newitem, "new_item"); - - type Name_String is new char_array (0 .. Name'Length); - type Name_String_Ptr is access Name_String; - pragma Controlled (Name_String_Ptr); - - type Desc_String is new char_array (0 .. Description'Length); - type Desc_String_Ptr is access Desc_String; - pragma Controlled (Desc_String_Ptr); - - Name_Str : constant Name_String_Ptr := new Name_String; - Desc_Str : constant Desc_String_Ptr := new Desc_String; - Name_Len, Desc_Len : size_t; - Result : Item; - begin - To_C (Name, Name_Str.all, Name_Len); - To_C (Description, Desc_Str.all, Desc_Len); - Result := Newitem (Name_Str.all (Name_Str.all'First)'Access, - Desc_Str.all (Desc_Str.all'First)'Access); - if Result = Null_Item then - raise Eti_System_Error; - end if; - return Result; - end Create; - - procedure Delete (Itm : in out Item) - is - function Descname (Itm : Item) return chars_ptr; - pragma Import (C, Descname, "item_description"); - function Itemname (Itm : Item) return chars_ptr; - pragma Import (C, Itemname, "item_name"); - - function Freeitem (Itm : Item) return C_Int; - pragma Import (C, Freeitem, "free_item"); - - Res : Eti_Error; - Ptr : chars_ptr; - begin - Ptr := Descname (Itm); - if Ptr /= Null_Ptr then - Interfaces.C.Strings.Free (Ptr); - end if; - Ptr := Itemname (Itm); - if Ptr /= Null_Ptr then - Interfaces.C.Strings.Free (Ptr); - end if; - Res := Freeitem (Itm); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - Itm := Null_Item; - end Delete; -------------------------------------------------------------------------------- - procedure Set_Value (Itm : in Item; - Value : in Boolean := True) - is - function Set_Item_Val (Itm : Item; - Val : C_Int) return C_Int; - pragma Import (C, Set_Item_Val, "set_item_value"); - - Res : constant Eti_Error := Set_Item_Val (Itm, Boolean'Pos (Value)); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Value; - - function Value (Itm : Item) return Boolean - is - function Item_Val (Itm : Item) return C_Int; - pragma Import (C, Item_Val, "item_value"); - begin - if Item_Val (Itm) = Curses_False then - return False; - else - return True; - end if; - end Value; - -------------------------------------------------------------------------------- - function Visible (Itm : Item) return Boolean - is - function Item_Vis (Itm : Item) return C_Int; - pragma Import (C, Item_Vis, "item_visible"); - begin - if Item_Vis (Itm) = Curses_False then - return False; - else - return True; - end if; - end Visible; -------------------------------------------------------------------------------- - procedure Set_Options (Itm : in Item; - Options : in Item_Option_Set) - is - function Set_Item_Opts (Itm : Item; - Opt : C_Int) return C_Int; - pragma Import (C, Set_Item_Opts, "set_item_opts"); - - Opt : constant C_Int := IOS_2_CInt (Options); - Res : Eti_Error; - begin - Res := Set_Item_Opts (Itm, Opt); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Options; - - procedure Switch_Options (Itm : in Item; - Options : in Item_Option_Set; - On : Boolean := True) - is - function Item_Opts_On (Itm : Item; - Opt : C_Int) return C_Int; - pragma Import (C, Item_Opts_On, "item_opts_on"); - function Item_Opts_Off (Itm : Item; - Opt : C_Int) return C_Int; - pragma Import (C, Item_Opts_Off, "item_opts_off"); - - Opt : constant C_Int := IOS_2_CInt (Options); - Err : Eti_Error; - begin - if On then - Err := Item_Opts_On (Itm, Opt); - else - Err := Item_Opts_Off (Itm, Opt); - end if; - if Err /= E_Ok then - Eti_Exception (Err); - end if; - end Switch_Options; - - procedure Get_Options (Itm : in Item; - Options : out Item_Option_Set) - is - function Item_Opts (Itm : Item) return C_Int; - pragma Import (C, Item_Opts, "item_opts"); - - Res : constant C_Int := Item_Opts (Itm); - begin - Options := CInt_2_IOS (Res); - end Get_Options; - - function Get_Options (Itm : Item := Null_Item) return Item_Option_Set - is - Ios : Item_Option_Set; - begin - Get_Options (Itm, Ios); - return Ios; - end Get_Options; -------------------------------------------------------------------------------- - procedure Name (Itm : in Item; - Name : out String) - is - function Itemname (Itm : Item) return chars_ptr; - pragma Import (C, Itemname, "item_name"); - begin - Fill_String (Itemname (Itm), Name); - end Name; - - function Name (Itm : in Item) return String - is - function Itemname (Itm : Item) return chars_ptr; - pragma Import (C, Itemname, "item_name"); - begin - return Fill_String (Itemname (Itm)); - end Name; - - procedure Description (Itm : in Item; - Description : out String) - is - function Descname (Itm : Item) return chars_ptr; - pragma Import (C, Descname, "item_description"); - begin - Fill_String (Descname (Itm), Description); - end Description; - - function Description (Itm : in Item) return String - is - function Descname (Itm : Item) return chars_ptr; - pragma Import (C, Descname, "item_description"); - begin - return Fill_String (Descname (Itm)); - end Description; -------------------------------------------------------------------------------- - procedure Set_Current (Men : in Menu; - Itm : in Item) - is - function Set_Curr_Item (Men : Menu; - Itm : Item) return C_Int; - pragma Import (C, Set_Curr_Item, "set_current_item"); - - Res : constant Eti_Error := Set_Curr_Item (Men, Itm); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Current; - - function Current (Men : Menu) return Item - is - function Curr_Item (Men : Menu) return Item; - pragma Import (C, Curr_Item, "current_item"); - - Res : constant Item := Curr_Item (Men); - begin - if Res = Null_Item then - raise Menu_Exception; - end if; - return Res; - end Current; - - procedure Set_Top_Row (Men : in Menu; - Line : in Line_Position) - is - function Set_Toprow (Men : Menu; - Line : C_Int) return C_Int; - pragma Import (C, Set_Toprow, "set_top_row"); - - Res : constant Eti_Error := Set_Toprow (Men, C_Int (Line)); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Top_Row; - - function Top_Row (Men : Menu) return Line_Position - is - function Toprow (Men : Menu) return C_Int; - pragma Import (C, Toprow, "top_row"); - - Res : constant C_Int := Toprow (Men); - begin - if Res = Curses_Err then - raise Menu_Exception; - end if; - return Line_Position (Res); - end Top_Row; - - function Get_Index (Itm : Item) return Positive - is - function Get_Itemindex (Itm : Item) return C_Int; - pragma Import (C, Get_Itemindex, "item_index"); - - Res : constant C_Int := Get_Itemindex (Itm); - begin - if Res = Curses_Err then - raise Menu_Exception; - end if; - return Positive (Natural (Res) + Positive'First); - end Get_Index; -------------------------------------------------------------------------------- - procedure Post (Men : in Menu; - Post : in Boolean := True) - is - function M_Post (Men : Menu) return C_Int; - pragma Import (C, M_Post, "post_menu"); - function M_Unpost (Men : Menu) return C_Int; - pragma Import (C, M_Unpost, "unpost_menu"); - - Res : Eti_Error; - begin - if Post then - Res := M_Post (Men); - else - Res := M_Unpost (Men); - end if; - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Post; -------------------------------------------------------------------------------- - procedure Set_Options (Men : in Menu; - Options : in Menu_Option_Set) - is - function Set_Menu_Opts (Men : Menu; - Opt : C_Int) return C_Int; - pragma Import (C, Set_Menu_Opts, "set_menu_opts"); - - Opt : constant C_Int := MOS_2_CInt (Options); - Res : Eti_Error; - begin - Res := Set_Menu_Opts (Men, Opt); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Options; - - procedure Switch_Options (Men : in Menu; - Options : in Menu_Option_Set; - On : in Boolean := True) - is - function Menu_Opts_On (Men : Menu; - Opt : C_Int) return C_Int; - pragma Import (C, Menu_Opts_On, "menu_opts_on"); - function Menu_Opts_Off (Men : Menu; - Opt : C_Int) return C_Int; - pragma Import (C, Menu_Opts_Off, "menu_opts_off"); - - Opt : constant C_Int := MOS_2_CInt (Options); - Err : Eti_Error; - begin - if On then - Err := Menu_Opts_On (Men, Opt); - else - Err := Menu_Opts_Off (Men, Opt); - end if; - if Err /= E_Ok then - Eti_Exception (Err); - end if; - end Switch_Options; - - procedure Get_Options (Men : in Menu; - Options : out Menu_Option_Set) - is - function Menu_Opts (Men : Menu) return C_Int; - pragma Import (C, Menu_Opts, "menu_opts"); - - Res : constant C_Int := Menu_Opts (Men); - begin - Options := CInt_2_MOS (Res); - end Get_Options; - - function Get_Options (Men : Menu := Null_Menu) return Menu_Option_Set - is - Mos : Menu_Option_Set; - begin - Get_Options (Men, Mos); - return Mos; - end Get_Options; -------------------------------------------------------------------------------- - procedure Set_Window (Men : in Menu; - Win : in Window) - is - function Set_Menu_Win (Men : Menu; - Win : Window) return C_Int; - pragma Import (C, Set_Menu_Win, "set_menu_win"); - - Res : constant Eti_Error := Set_Menu_Win (Men, Win); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Window; - - function Get_Window (Men : Menu) return Window - is - function Menu_Win (Men : Menu) return Window; - pragma Import (C, Menu_Win, "menu_win"); - - W : constant Window := Menu_Win (Men); - begin - return W; - end Get_Window; - - procedure Set_Sub_Window (Men : in Menu; - Win : in Window) - is - function Set_Menu_Sub (Men : Menu; - Win : Window) return C_Int; - pragma Import (C, Set_Menu_Sub, "set_menu_sub"); - - Res : constant Eti_Error := Set_Menu_Sub (Men, Win); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Sub_Window; - - function Get_Sub_Window (Men : Menu) return Window - is - function Menu_Sub (Men : Menu) return Window; - pragma Import (C, Menu_Sub, "menu_sub"); - - W : constant Window := Menu_Sub (Men); - begin - return W; - end Get_Sub_Window; - - procedure Scale (Men : in Menu; - Lines : out Line_Count; - Columns : out Column_Count) - is - type C_Int_Access is access all C_Int; - function M_Scale (Men : Menu; - Yp, Xp : C_Int_Access) return C_Int; - pragma Import (C, M_Scale, "scale_menu"); - - X, Y : aliased C_Int; - Res : constant Eti_Error := M_Scale (Men, Y'Access, X'Access); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - Lines := Line_Count (Y); - Columns := Column_Count (X); - end Scale; -------------------------------------------------------------------------------- - procedure Position_Cursor (Men : Menu) - is - function Pos_Menu_Cursor (Men : Menu) return C_Int; - pragma Import (C, Pos_Menu_Cursor, "pos_menu_cursor"); - - Res : constant Eti_Error := Pos_Menu_Cursor (Men); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Position_Cursor; - -------------------------------------------------------------------------------- - procedure Set_Mark (Men : in Menu; - Mark : in String) - is - type Char_Ptr is access all Interfaces.C.char; - function Set_Mark (Men : Menu; - Mark : Char_Ptr) return C_Int; - pragma Import (C, Set_Mark, "set_menu_mark"); - - Txt : char_array (0 .. Mark'Length); - Len : size_t; - Res : Eti_Error; - begin - To_C (Mark, Txt, Len); - Res := Set_Mark (Men, Txt (Txt'First)'Access); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Mark; - - procedure Mark (Men : in Menu; - Mark : out String) - is - function Get_Menu_Mark (Men : Menu) return chars_ptr; - pragma Import (C, Get_Menu_Mark, "menu_mark"); - begin - Fill_String (Get_Menu_Mark (Men), Mark); - end Mark; - - function Mark (Men : Menu) return String - is - function Get_Menu_Mark (Men : Menu) return chars_ptr; - pragma Import (C, Get_Menu_Mark, "menu_mark"); - begin - return Fill_String (Get_Menu_Mark (Men)); - end Mark; - -------------------------------------------------------------------------------- - procedure Set_Foreground - (Men : in Menu; - Fore : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First) - is - function Set_Menu_Fore (Men : Menu; - Attr : C_Chtype) return C_Int; - pragma Import (C, Set_Menu_Fore, "set_menu_fore"); - - Ch : constant Attributed_Character := (Ch => Character'First, - Color => Color, - Attr => Fore); - Res : constant Eti_Error := Set_Menu_Fore (Men, AttrChar_To_Chtype (Ch)); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Foreground; - - procedure Foreground (Men : in Menu; - Fore : out Character_Attribute_Set) - is - function Menu_Fore (Men : Menu) return C_Chtype; - pragma Import (C, Menu_Fore, "menu_fore"); - begin - Fore := Chtype_To_AttrChar (Menu_Fore (Men)).Attr; - end Foreground; - - procedure Foreground (Men : in Menu; - Fore : out Character_Attribute_Set; - Color : out Color_Pair) - is - function Menu_Fore (Men : Menu) return C_Chtype; - pragma Import (C, Menu_Fore, "menu_fore"); - begin - Fore := Chtype_To_AttrChar (Menu_Fore (Men)).Attr; - Color := Chtype_To_AttrChar (Menu_Fore (Men)).Color; - end Foreground; - - procedure Set_Background - (Men : in Menu; - Back : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First) - is - function Set_Menu_Back (Men : Menu; - Attr : C_Chtype) return C_Int; - pragma Import (C, Set_Menu_Back, "set_menu_back"); - - Ch : constant Attributed_Character := (Ch => Character'First, - Color => Color, - Attr => Back); - Res : constant Eti_Error := Set_Menu_Back (Men, AttrChar_To_Chtype (Ch)); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Background; - - procedure Background (Men : in Menu; - Back : out Character_Attribute_Set) - is - function Menu_Back (Men : Menu) return C_Chtype; - pragma Import (C, Menu_Back, "menu_back"); - begin - Back := Chtype_To_AttrChar (Menu_Back (Men)).Attr; - end Background; - - procedure Background (Men : in Menu; - Back : out Character_Attribute_Set; - Color : out Color_Pair) - is - function Menu_Back (Men : Menu) return C_Chtype; - pragma Import (C, Menu_Back, "menu_back"); - begin - Back := Chtype_To_AttrChar (Menu_Back (Men)).Attr; - Color := Chtype_To_AttrChar (Menu_Back (Men)).Color; - end Background; - - procedure Set_Grey (Men : in Menu; - Grey : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First) - is - function Set_Menu_Grey (Men : Menu; - Attr : C_Chtype) return C_Int; - pragma Import (C, Set_Menu_Grey, "set_menu_grey"); - - Ch : constant Attributed_Character := (Ch => Character'First, - Color => Color, - Attr => Grey); - - Res : constant Eti_Error := Set_Menu_Grey (Men, AttrChar_To_Chtype (Ch)); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Grey; - - procedure Grey (Men : in Menu; - Grey : out Character_Attribute_Set) - is - function Menu_Grey (Men : Menu) return C_Chtype; - pragma Import (C, Menu_Grey, "menu_grey"); - begin - Grey := Chtype_To_AttrChar (Menu_Grey (Men)).Attr; - end Grey; - - procedure Grey (Men : in Menu; - Grey : out Character_Attribute_Set; - Color : out Color_Pair) - is - function Menu_Grey (Men : Menu) return C_Chtype; - pragma Import (C, Menu_Grey, "menu_grey"); - begin - Grey := Chtype_To_AttrChar (Menu_Grey (Men)).Attr; - Color := Chtype_To_AttrChar (Menu_Grey (Men)).Color; - end Grey; - - procedure Set_Pad_Character (Men : in Menu; - Pad : in Character := Space) - is - function Set_Menu_Pad (Men : Menu; - Ch : C_Int) return C_Int; - pragma Import (C, Set_Menu_Pad, "set_menu_pad"); - - Res : constant Eti_Error := Set_Menu_Pad (Men, - C_Int (Character'Pos (Pad))); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Pad_Character; - - procedure Pad_Character (Men : in Menu; - Pad : out Character) - is - function Menu_Pad (Men : Menu) return C_Int; - pragma Import (C, Menu_Pad, "menu_pad"); - begin - Pad := Character'Val (Menu_Pad (Men)); - end Pad_Character; -------------------------------------------------------------------------------- - procedure Set_Spacing (Men : in Menu; - Descr : in Column_Position := 0; - Row : in Line_Position := 0; - Col : in Column_Position := 0) - is - function Set_Spacing (Men : Menu; - D, R, C : C_Int) return C_Int; - pragma Import (C, Set_Spacing, "set_menu_spacing"); - - Res : constant Eti_Error := Set_Spacing (Men, - C_Int (Descr), - C_Int (Row), - C_Int (Col)); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Spacing; - - procedure Spacing (Men : in Menu; - Descr : out Column_Position; - Row : out Line_Position; - Col : out Column_Position) - is - type C_Int_Access is access all C_Int; - function Get_Spacing (Men : Menu; - D, R, C : C_Int_Access) return C_Int; - pragma Import (C, Get_Spacing, "menu_spacing"); - - D, R, C : aliased C_Int; - Res : constant Eti_Error := Get_Spacing (Men, - D'Access, - R'Access, - C'Access); - begin - if Res /= E_Ok then - Eti_Exception (Res); - else - Descr := Column_Position (D); - Row := Line_Position (R); - Col := Column_Position (C); - end if; - end Spacing; -------------------------------------------------------------------------------- - function Set_Pattern (Men : Menu; - Text : String) return Boolean - is - type Char_Ptr is access all Interfaces.C.char; - function Set_Pattern (Men : Menu; - Pattern : Char_Ptr) return C_Int; - pragma Import (C, Set_Pattern, "set_menu_pattern"); - - S : char_array (0 .. Text'Length); - L : size_t; - Res : Eti_Error; - begin - To_C (Text, S, L); - Res := Set_Pattern (Men, S (S'First)'Access); - case Res is - when E_No_Match => return False; - when E_Ok => return True; - when others => - Eti_Exception (Res); - return False; - end case; - end Set_Pattern; - - procedure Pattern (Men : in Menu; - Text : out String) - is - function Get_Pattern (Men : Menu) return chars_ptr; - pragma Import (C, Get_Pattern, "menu_pattern"); - begin - Fill_String (Get_Pattern (Men), Text); - end Pattern; -------------------------------------------------------------------------------- - procedure Set_Format (Men : in Menu; - Lines : in Line_Count; - Columns : in Column_Count) - is - function Set_Menu_Fmt (Men : Menu; - Lin : C_Int; - Col : C_Int) return C_Int; - pragma Import (C, Set_Menu_Fmt, "set_menu_format"); - - Res : constant Eti_Error := Set_Menu_Fmt (Men, - C_Int (Lines), - C_Int (Columns)); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Format; - - procedure Format (Men : in Menu; - Lines : out Line_Count; - Columns : out Column_Count) - is - type C_Int_Access is access all C_Int; - function Menu_Fmt (Men : Menu; - Y, X : C_Int_Access) return C_Int; - pragma Import (C, Menu_Fmt, "menu_format"); - - L, C : aliased C_Int; - Res : constant Eti_Error := Menu_Fmt (Men, L'Access, C'Access); - begin - if Res /= E_Ok then - Eti_Exception (Res); - else - Lines := Line_Count (L); - Columns := Column_Count (C); - end if; - end Format; -------------------------------------------------------------------------------- - procedure Set_Item_Init_Hook (Men : in Menu; - Proc : in Menu_Hook_Function) - is - function Set_Item_Init (Men : Menu; - Proc : Menu_Hook_Function) return C_Int; - pragma Import (C, Set_Item_Init, "set_item_init"); - - Res : constant Eti_Error := Set_Item_Init (Men, Proc); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Item_Init_Hook; - - procedure Set_Item_Term_Hook (Men : in Menu; - Proc : in Menu_Hook_Function) - is - function Set_Item_Term (Men : Menu; - Proc : Menu_Hook_Function) return C_Int; - pragma Import (C, Set_Item_Term, "set_item_term"); - - Res : constant Eti_Error := Set_Item_Term (Men, Proc); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Item_Term_Hook; - - procedure Set_Menu_Init_Hook (Men : in Menu; - Proc : in Menu_Hook_Function) - is - function Set_Menu_Init (Men : Menu; - Proc : Menu_Hook_Function) return C_Int; - pragma Import (C, Set_Menu_Init, "set_menu_init"); - - Res : constant Eti_Error := Set_Menu_Init (Men, Proc); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Menu_Init_Hook; - - procedure Set_Menu_Term_Hook (Men : in Menu; - Proc : in Menu_Hook_Function) - is - function Set_Menu_Term (Men : Menu; - Proc : Menu_Hook_Function) return C_Int; - pragma Import (C, Set_Menu_Term, "set_menu_term"); - - Res : constant Eti_Error := Set_Menu_Term (Men, Proc); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end Set_Menu_Term_Hook; - - function Get_Item_Init_Hook (Men : Menu) return Menu_Hook_Function - is - function Item_Init (Men : Menu) return Menu_Hook_Function; - pragma Import (C, Item_Init, "item_init"); - begin - return Item_Init (Men); - end Get_Item_Init_Hook; - - function Get_Item_Term_Hook (Men : Menu) return Menu_Hook_Function - is - function Item_Term (Men : Menu) return Menu_Hook_Function; - pragma Import (C, Item_Term, "item_term"); - begin - return Item_Term (Men); - end Get_Item_Term_Hook; - - function Get_Menu_Init_Hook (Men : Menu) return Menu_Hook_Function - is - function Menu_Init (Men : Menu) return Menu_Hook_Function; - pragma Import (C, Menu_Init, "menu_init"); - begin - return Menu_Init (Men); - end Get_Menu_Init_Hook; - - function Get_Menu_Term_Hook (Men : Menu) return Menu_Hook_Function - is - function Menu_Term (Men : Menu) return Menu_Hook_Function; - pragma Import (C, Menu_Term, "menu_term"); - begin - return Menu_Term (Men); - end Get_Menu_Term_Hook; -------------------------------------------------------------------------------- - procedure Redefine (Men : in Menu; - Items : in Item_Array_Access) - is - function Set_Items (Men : Menu; - Items : System.Address) return C_Int; - pragma Import (C, Set_Items, "set_menu_items"); - - Res : Eti_Error; - begin - pragma Assert (Items (Items'Last) = Null_Item); - if Items (Items'Last) /= Null_Item then - raise Menu_Exception; - else - Res := Set_Items (Men, Items.all'Address); - if Res /= E_Ok then - Eti_Exception (Res); - end if; - end if; - end Redefine; - - function Item_Count (Men : Menu) return Natural - is - function Count (Men : Menu) return C_Int; - pragma Import (C, Count, "item_count"); - begin - return Natural (Count (Men)); - end Item_Count; - - function Items (Men : Menu; - Index : Positive) return Item - is - use I_Array; - - function C_Mitems (Men : Menu) return Pointer; - pragma Import (C, C_Mitems, "menu_items"); - - P : Pointer := C_Mitems (Men); - begin - if P = null or else Index not in 1 .. Item_Count (Men) then - raise Menu_Exception; - else - P := P + ptrdiff_t (C_Int (Index) - 1); - return P.all; - end if; - end Items; - -------------------------------------------------------------------------------- - function Create (Items : Item_Array_Access) return Menu - is - function Newmenu (Items : System.Address) return Menu; - pragma Import (C, Newmenu, "new_menu"); - - M : Menu; - begin - pragma Assert (Items (Items'Last) = Null_Item); - if Items (Items'Last) /= Null_Item then - raise Menu_Exception; - else - M := Newmenu (Items.all'Address); - if M = Null_Menu then - raise Menu_Exception; - end if; - return M; - end if; - end Create; - - procedure Delete (Men : in out Menu) - is - function Free (Men : Menu) return C_Int; - pragma Import (C, Free, "free_menu"); - - Res : constant Eti_Error := Free (Men); - begin - if Res /= E_Ok then - Eti_Exception (Res); - end if; - Men := Null_Menu; - end Delete; - ------------------------------------------------------------------------------- - function Driver (Men : Menu; - Key : Key_Code) return Driver_Result - is - function Driver (Men : Menu; - Key : C_Int) return C_Int; - pragma Import (C, Driver, "menu_driver"); - - R : constant Eti_Error := Driver (Men, C_Int (Key)); - begin - if R /= E_Ok then - case R is - when E_Unknown_Command => return Unknown_Request; - when E_No_Match => return No_Match; - when E_Request_Denied | - E_Not_Selectable => return Request_Denied; - when others => - Eti_Exception (R); - end case; - end if; - return Menu_Ok; - end Driver; - - procedure Free (IA : in out Item_Array_Access; - Free_Items : in Boolean := False) - is - procedure Release is new Ada.Unchecked_Deallocation - (Item_Array, Item_Array_Access); - begin - if IA /= null and then Free_Items then - for I in IA'First .. (IA'Last - 1) loop - if IA (I) /= Null_Item then - Delete (IA (I)); - end if; - end loop; - end if; - Release (IA); - end Free; - -------------------------------------------------------------------------------- - function Default_Menu_Options return Menu_Option_Set - is - begin - return Get_Options (Null_Menu); - end Default_Menu_Options; - - function Default_Item_Options return Item_Option_Set - is - begin - return Get_Options (Null_Item); - end Default_Item_Options; -------------------------------------------------------------------------------- - -end Terminal_Interface.Curses.Menus; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-mouse.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-mouse.adb deleted file mode 100644 index 10bcbf9a91..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-mouse.adb +++ /dev/null @@ -1,220 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Mouse -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.21 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with System; - -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; -with Interfaces.C; use Interfaces.C; -use Interfaces; - -package body Terminal_Interface.Curses.Mouse is - - use type System.Bit_Order; - use type Interfaces.C.int; - - function Has_Mouse return Boolean - is - function Mouse_Avail return C_Int; - pragma Import (C, Mouse_Avail, "_nc_has_mouse"); - begin - if Has_Key (Key_Mouse) or else Mouse_Avail /= 0 then - return True; - else - return False; - end if; - end Has_Mouse; - - function Get_Mouse return Mouse_Event - is - type Event_Access is access all Mouse_Event; - - function Getmouse (Ev : Event_Access) return C_Int; - pragma Import (C, Getmouse, "getmouse"); - - Event : aliased Mouse_Event; - begin - if Getmouse (Event'Access) = Curses_Err then - raise Curses_Exception; - end if; - return Event; - end Get_Mouse; - - procedure Register_Reportable_Event (Button : in Mouse_Button; - State : in Button_State; - Mask : in out Event_Mask) - is - Button_Nr : constant Natural := Mouse_Button'Pos (Button); - State_Nr : constant Natural := Button_State'Pos (State); - begin - if Button in Modifier_Keys and then State /= Pressed then - raise Curses_Exception; - else - if Button in Real_Buttons then - Mask := Mask or ((2 ** (6 * Button_Nr)) ** State_Nr); - else - Mask := Mask or (BUTTON_CTRL ** (Button_Nr - 4)); - end if; - end if; - end Register_Reportable_Event; - - procedure Register_Reportable_Events (Button : in Mouse_Button; - State : in Button_States; - Mask : in out Event_Mask) - is - begin - for S in Button_States'Range loop - if State (S) then - Register_Reportable_Event (Button, S, Mask); - end if; - end loop; - end Register_Reportable_Events; - - function Start_Mouse (Mask : Event_Mask := All_Events) - return Event_Mask - is - function MMask (M : Event_Mask; - O : access Event_Mask) return Event_Mask; - pragma Import (C, MMask, "mousemask"); - R : Event_Mask; - Old : aliased Event_Mask; - begin - R := MMask (Mask, Old'Access); - if R = No_Events then - Beep; - end if; - return Old; - end Start_Mouse; - - procedure End_Mouse (Mask : in Event_Mask := No_Events) - is - begin - if Mask /= No_Events then - Beep; - end if; - end End_Mouse; - - procedure Dispatch_Event (Mask : in Event_Mask; - Button : out Mouse_Button; - State : out Button_State); - - procedure Dispatch_Event (Mask : in Event_Mask; - Button : out Mouse_Button; - State : out Button_State) is - L : Event_Mask; - begin - Button := Alt; -- preset to non real button; - if (Mask and BUTTON1_EVENTS) /= 0 then - Button := Left; - elsif (Mask and BUTTON2_EVENTS) /= 0 then - Button := Middle; - elsif (Mask and BUTTON3_EVENTS) /= 0 then - Button := Right; - elsif (Mask and BUTTON4_EVENTS) /= 0 then - Button := Button4; - end if; - if Button in Real_Buttons then - L := 2 ** (6 * Mouse_Button'Pos (Button)); - for I in Button_State'Range loop - if (Mask and L) /= 0 then - State := I; - exit; - end if; - L := 2 * L; - end loop; - else - State := Pressed; - if (Mask and BUTTON_CTRL) /= 0 then - Button := Control; - elsif (Mask and BUTTON_SHIFT) /= 0 then - Button := Shift; - elsif (Mask and BUTTON_ALT) /= 0 then - Button := Alt; - end if; - end if; - end Dispatch_Event; - - procedure Get_Event (Event : in Mouse_Event; - Y : out Line_Position; - X : out Column_Position; - Button : out Mouse_Button; - State : out Button_State) - is - Mask : constant Event_Mask := Event.Bstate; - begin - X := Column_Position (Event.X); - Y := Line_Position (Event.Y); - Dispatch_Event (Mask, Button, State); - end Get_Event; - - procedure Unget_Mouse (Event : in Mouse_Event) - is - function Ungetmouse (Ev : Mouse_Event) return C_Int; - pragma Import (C, Ungetmouse, "ungetmouse"); - begin - if Ungetmouse (Event) = Curses_Err then - raise Curses_Exception; - end if; - end Unget_Mouse; - - function Enclosed_In_Window (Win : Window := Standard_Window; - Event : Mouse_Event) return Boolean - is - function Wenclose (Win : Window; Y : C_Int; X : C_Int) - return Curses_Bool; - pragma Import (C, Wenclose, "wenclose"); - begin - if Wenclose (Win, C_Int (Event.Y), C_Int (Event.X)) - = Curses_Bool_False then - return False; - else - return True; - end if; - end Enclosed_In_Window; - - function Mouse_Interval (Msec : Natural := 200) return Natural - is - function Mouseinterval (Msec : C_Int) return C_Int; - pragma Import (C, Mouseinterval, "mouseinterval"); - begin - return Natural (Mouseinterval (C_Int (Msec))); - end Mouse_Interval; - -end Terminal_Interface.Curses.Mouse; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-panels-user_data.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-panels-user_data.adb deleted file mode 100644 index 231efaefbc..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-panels-user_data.adb +++ /dev/null @@ -1,78 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Panels.User_Data -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Interfaces.C; -with Terminal_Interface.Curses.Aux; -use Terminal_Interface.Curses.Aux; -with Terminal_Interface.Curses.Panels; -use Terminal_Interface.Curses.Panels; - -package body Terminal_Interface.Curses.Panels.User_Data is - - use type Interfaces.C.int; - - procedure Set_User_Data (Pan : in Panel; - Data : in User_Access) - is - function Set_Panel_Userptr (Pan : Panel; - Addr : User_Access) return C_Int; - pragma Import (C, Set_Panel_Userptr, "set_panel_userptr"); - begin - if Set_Panel_Userptr (Pan, Data) = Curses_Err then - raise Panel_Exception; - end if; - end Set_User_Data; - - function Get_User_Data (Pan : in Panel) return User_Access - is - function Panel_Userptr (Pan : Panel) return User_Access; - pragma Import (C, Panel_Userptr, "panel_userptr"); - begin - return Panel_Userptr (Pan); - end Get_User_Data; - - procedure Get_User_Data (Pan : in Panel; - Data : out User_Access) - is - begin - Data := Get_User_Data (Pan); - end Get_User_Data; - -end Terminal_Interface.Curses.Panels.User_Data; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-panels.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-panels.adb deleted file mode 100644 index d7e18fa94d..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-panels.adb +++ /dev/null @@ -1,165 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Panels -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.13 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; -with Interfaces.C; - -package body Terminal_Interface.Curses.Panels is - - use type Interfaces.C.int; - - function Create (Win : Window) return Panel - is - function Newpanel (Win : Window) return Panel; - pragma Import (C, Newpanel, "new_panel"); - - Pan : Panel; - begin - Pan := Newpanel (Win); - if Pan = Null_Panel then - raise Panel_Exception; - end if; - return Pan; - end Create; - - procedure Bottom (Pan : in Panel) - is - function Bottompanel (Pan : Panel) return C_Int; - pragma Import (C, Bottompanel, "bottom_panel"); - begin - if Bottompanel (Pan) = Curses_Err then - raise Panel_Exception; - end if; - end Bottom; - - procedure Top (Pan : in Panel) - is - function Toppanel (Pan : Panel) return C_Int; - pragma Import (C, Toppanel, "top_panel"); - begin - if Toppanel (Pan) = Curses_Err then - raise Panel_Exception; - end if; - end Top; - - procedure Show (Pan : in Panel) - is - function Showpanel (Pan : Panel) return C_Int; - pragma Import (C, Showpanel, "show_panel"); - begin - if Showpanel (Pan) = Curses_Err then - raise Panel_Exception; - end if; - end Show; - - procedure Hide (Pan : in Panel) - is - function Hidepanel (Pan : Panel) return C_Int; - pragma Import (C, Hidepanel, "hide_panel"); - begin - if Hidepanel (Pan) = Curses_Err then - raise Panel_Exception; - end if; - end Hide; - - function Get_Window (Pan : Panel) return Window - is - function Panel_Win (Pan : Panel) return Window; - pragma Import (C, Panel_Win, "panel_window"); - - Win : constant Window := Panel_Win (Pan); - begin - if Win = Null_Window then - raise Panel_Exception; - end if; - return Win; - end Get_Window; - - procedure Replace (Pan : in Panel; - Win : in Window) - is - function Replace_Pan (Pan : Panel; - Win : Window) return C_Int; - pragma Import (C, Replace_Pan, "replace_panel"); - begin - if Replace_Pan (Pan, Win) = Curses_Err then - raise Panel_Exception; - end if; - end Replace; - - procedure Move (Pan : in Panel; - Line : in Line_Position; - Column : in Column_Position) - is - function Move (Pan : Panel; - Line : C_Int; - Column : C_Int) return C_Int; - pragma Import (C, Move, "move_panel"); - begin - if Move (Pan, C_Int (Line), C_Int (Column)) = Curses_Err then - raise Panel_Exception; - end if; - end Move; - - function Is_Hidden (Pan : Panel) return Boolean - is - function Panel_Hidden (Pan : Panel) return C_Int; - pragma Import (C, Panel_Hidden, "panel_hidden"); - begin - if Panel_Hidden (Pan) = Curses_False then - return False; - else - return True; - end if; - end Is_Hidden; - - procedure Delete (Pan : in out Panel) - is - function Del_Panel (Pan : Panel) return C_Int; - pragma Import (C, Del_Panel, "del_panel"); - begin - if Del_Panel (Pan) = Curses_Err then - raise Panel_Exception; - end if; - Pan := Null_Panel; - end Delete; - -end Terminal_Interface.Curses.Panels; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-putwin.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-putwin.adb deleted file mode 100644 index 986cd6b9bd..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-putwin.adb +++ /dev/null @@ -1,77 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.PutWin -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.3 $ --- Binding Version 01.00 - -with Ada.Streams.Stream_IO.C_Streams; -with Interfaces.C_Streams; -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; - -package body Terminal_Interface.Curses.PutWin is - - package ICS renames Interfaces.C_Streams; - package ACS renames Ada.Streams.Stream_IO.C_Streams; - use type C_Int; - - procedure Put_Window (Win : Window; - File : Ada.Streams.Stream_IO.File_Type) is - function putwin (Win : Window; f : ICS.FILEs) return C_Int; - pragma Import (C, putwin, "putwin"); - - R : constant C_Int := putwin (Win, ACS.C_Stream (File)); - begin - if R /= Curses_Ok then - raise Curses_Exception; - end if; - end Put_Window; - - function Get_Window (File : Ada.Streams.Stream_IO.File_Type) - return Window is - function getwin (f : ICS.FILEs) return Window; - pragma Import (C, getwin, "getwin"); - - W : constant Window := getwin (ACS.C_Stream (File)); - begin - if W = Null_Window then - raise Curses_Exception; - else - return W; - end if; - end Get_Window; - -end Terminal_Interface.Curses.PutWin; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-putwin.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-putwin.ads deleted file mode 100644 index d302bdcec4..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-putwin.ads +++ /dev/null @@ -1,50 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.PutWin -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.3 $ --- Binding Version 01.00 - -with Ada.Streams.Stream_IO; - -package Terminal_Interface.Curses.PutWin is - - procedure Put_Window (Win : Window; - File : Ada.Streams.Stream_IO.File_Type); - - function Get_Window (File : Ada.Streams.Stream_IO.File_Type) return Window; - -end Terminal_Interface.Curses.PutWin; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-termcap.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-termcap.adb deleted file mode 100644 index e62d8ef586..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-termcap.adb +++ /dev/null @@ -1,164 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Termcap -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.9 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- - -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; -with Interfaces.C; use Interfaces.C; -with Interfaces.C.Strings; use Interfaces.C.Strings; - -package body Terminal_Interface.Curses.Termcap is - - function Get_Entry (Name : String) return Boolean - is - function tgetent (name : char_array; val : char_array) - return C_Int; - pragma Import (C, tgetent, "tgetent"); - NameTxt : char_array (0 .. Name'Length); - Length : size_t; - ignored : constant char_array (0 .. 0) := (0 => nul); - result : C_Int; - begin - To_C (Name, NameTxt, Length); - result := tgetent (char_array (ignored), NameTxt); - if result = -1 then - raise Curses_Exception; - else - return Boolean'Val (result); - end if; - end Get_Entry; - ------------------------------------------------------------------------------- - function Get_Flag (Name : String) return Boolean - is - function tgetflag (id : char_array) return C_Int; - pragma Import (C, tgetflag, "tgetflag"); - Txt : char_array (0 .. Name'Length); - Length : size_t; - begin - To_C (Name, Txt, Length); - if tgetflag (Txt) = 0 then - return False; - else - return True; - end if; - end Get_Flag; - ------------------------------------------------------------------------------- - procedure Get_Number (Name : in String; - Value : out Integer; - Result : out Boolean) - is - function tgetnum (id : char_array) return C_Int; - pragma Import (C, tgetnum, "tgetnum"); - Txt : char_array (0 .. Name'Length); - Length : size_t; - begin - To_C (Name, Txt, Length); - Value := Integer (tgetnum (Txt)); - if Value = -1 then - Result := False; - else - Result := True; - end if; - end Get_Number; - ------------------------------------------------------------------------------- - procedure Get_String (Name : String; - Value : out String; - Result : out Boolean) - is - function tgetstr (id : char_array; - buf : char_array) return chars_ptr; - pragma Import (C, tgetstr, "tgetstr"); - Txt : char_array (0 .. Name'Length); - Length : size_t; - Txt2 : chars_ptr; - type t is new char_array (0 .. 1024); -- does it need to be 1024? - Return_Buffer : constant t := (others => nul); - begin - To_C (Name, Txt, Length); - Txt2 := tgetstr (Txt, char_array (Return_Buffer)); - if Txt2 = Null_Ptr then - Result := False; - else - Value := Fill_String (Txt2); - Result := True; - end if; - end Get_String; - - function Get_String (Name : String) return Boolean - is - function tgetstr (Id : char_array; - buf : char_array) return chars_ptr; - pragma Import (C, tgetstr, "tgetstr"); - Txt : char_array (0 .. Name'Length); - Length : size_t; - Txt2 : chars_ptr; - type t is new char_array (0 .. 1024); -- does it need to be 1024? - Phony_Txt : constant t := (others => nul); - begin - To_C (Name, Txt, Length); - Txt2 := tgetstr (Txt, char_array (Phony_Txt)); - if Txt2 = Null_Ptr then - return False; - else - return True; - end if; - end Get_String; - ------------------------------------------------------------------------------- - function TGoto (Cap : String; - Col : Column_Position; - Row : Line_Position) return Termcap_String is - function tgoto (cap : char_array; - col : C_Int; - row : C_Int) return chars_ptr; - pragma Import (C, tgoto); - Txt : char_array (0 .. Cap'Length); - Length : size_t; - begin - To_C (Cap, Txt, Length); - return Termcap_String (Fill_String - (tgoto (Txt, C_Int (Col), C_Int (Row)))); - end TGoto; - - -end Terminal_Interface.Curses.Termcap; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-termcap.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-termcap.ads deleted file mode 100644 index dd01396e8b..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-termcap.ads +++ /dev/null @@ -1,80 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Termcap -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.3 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- - -package Terminal_Interface.Curses.Termcap is - pragma Preelaborate (Terminal_Interface.Curses.Termcap); - - -- |===================================================================== - -- | Man page curs_termcap.3x - -- |===================================================================== - -- Not implemented: tputs (see curs_terminfo) - - type Termcap_String is new String; - - -- | - function TGoto (Cap : String; - Col : Column_Position; - Row : Line_Position) return Termcap_String; - -- AKA: tgoto() - - -- | - function Get_Entry (Name : String) return Boolean; - -- AKA: tgetent() - - -- | - function Get_Flag (Name : String) return Boolean; - -- AKA: tgetflag() - - -- | - procedure Get_Number (Name : String; - Value : out Integer; - Result : out Boolean); - -- AKA: tgetnum() - - -- | - procedure Get_String (Name : String; - Value : out String; - Result : out Boolean); - function Get_String (Name : String) return Boolean; - -- Returns True if the string is found. - -- AKA: tgetstr() - -end Terminal_Interface.Curses.Termcap; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-terminfo.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-terminfo.adb deleted file mode 100644 index 657871ce1d..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-terminfo.adb +++ /dev/null @@ -1,161 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Terminfo -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.3 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- - -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; -with Interfaces.C; use Interfaces.C; -with Interfaces.C.Strings; use Interfaces.C.Strings; -with Ada.Unchecked_Conversion; - -package body Terminal_Interface.Curses.Terminfo is - - - function Is_MinusOne_Pointer (P : in chars_ptr) return Boolean; - - function Is_MinusOne_Pointer (P : in chars_ptr) return Boolean is - type Weird_Address is new System.Storage_Elements.Integer_Address; - Invalid_Pointer : constant Weird_Address := -1; - function To_Weird is new Ada.Unchecked_Conversion - (Source => chars_ptr, Target => Weird_Address); - begin - if To_Weird (P) = Invalid_Pointer then - return True; - else - return False; - end if; - end Is_MinusOne_Pointer; - pragma Inline (Is_MinusOne_Pointer); - ------------------------------------------------------------------------------- - function Get_Flag (Name : String) return Boolean - is - function tigetflag (id : char_array) return Curses_Bool; - pragma Import (C, tigetflag); - Txt : char_array (0 .. Name'Length); - Length : size_t; - begin - To_C (Name, Txt, Length); - if tigetflag (Txt) = Curses_Bool (Curses_True) then - return True; - else - return False; - end if; - end Get_Flag; - ------------------------------------------------------------------------------- - procedure Get_String (Name : String; - Value : out Terminfo_String; - Result : out Boolean) - is - function tigetstr (id : char_array) return chars_ptr; - pragma Import (C, tigetstr, "tigetstr"); - Txt : char_array (0 .. Name'Length); - Length : size_t; - Txt2 : chars_ptr; - begin - To_C (Name, Txt, Length); - Txt2 := tigetstr (Txt); - if Txt2 = Null_Ptr then - Result := False; - elsif Is_MinusOne_Pointer (Txt2) then - raise Curses_Exception; - else - Value := Terminfo_String (Fill_String (Txt2)); - Result := True; - end if; - end Get_String; - ------------------------------------------------------------------------------- - function Has_String (Name : String) return Boolean - is - function tigetstr (id : char_array) return chars_ptr; - pragma Import (C, tigetstr, "tigetstr"); - Txt : char_array (0 .. Name'Length); - Length : size_t; - Txt2 : chars_ptr; - begin - To_C (Name, Txt, Length); - Txt2 := tigetstr (Txt); - if Txt2 = Null_Ptr then - return False; - elsif Is_MinusOne_Pointer (Txt2) then - raise Curses_Exception; - else - return True; - end if; - end Has_String; - ------------------------------------------------------------------------------- - function Get_Number (Name : String) return Integer is - function tigetstr (s : char_array) return C_Int; - pragma Import (C, tigetstr); - Txt : char_array (0 .. Name'Length); - Length : size_t; - begin - To_C (Name, Txt, Length); - return Integer (tigetstr (Txt)); - end Get_Number; - ------------------------------------------------------------------------------- - procedure Put_String (Str : Terminfo_String; - affcnt : Natural := 1; - putc : putctype := null) is - function tputs (str : char_array; - affcnt : C_Int; - putc : putctype) return C_Int; - function putp (str : char_array) return C_Int; - pragma Import (C, tputs); - pragma Import (C, putp); - Txt : char_array (0 .. Str'Length); - Length : size_t; - Err : C_Int; - begin - To_C (String (Str), Txt, Length); - if putc = null then - Err := putp (Txt); - else - Err := tputs (Txt, C_Int (affcnt), putc); - end if; - if Err = Curses_Err then - raise Curses_Exception; - end if; - end Put_String; - -end Terminal_Interface.Curses.Terminfo; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-terminfo.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-terminfo.ads deleted file mode 100644 index fb39bf1ed6..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-terminfo.ads +++ /dev/null @@ -1,81 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Terminfo -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.3 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- - -with Interfaces.C; - -package Terminal_Interface.Curses.Terminfo is - pragma Preelaborate (Terminal_Interface.Curses.Terminfo); - - -- |===================================================================== - -- | Man page curs_terminfo.3x - -- |===================================================================== - -- Not implemented: setupterm, setterm, set_curterm, del_curterm, - -- restartterm, tparm, putp, vidputs, vidattr, - -- mvcur - - type Terminfo_String is new String; - - -- | - procedure Get_String (Name : String; - Value : out Terminfo_String; - Result : out Boolean); - function Has_String (Name : String) return Boolean; - -- AKA: tigetstr() - - -- | - function Get_Flag (Name : String) return Boolean; - -- AKA: tigetflag() - - -- | - function Get_Number (Name : String) return Integer; - -- AKA: tigetnum() - - type putctype is access function (c : Interfaces.C.int) - return Interfaces.C.int; - pragma Convention (C, putctype); - - -- | - procedure Put_String (Str : Terminfo_String; - affcnt : Natural := 1; - putc : putctype := null); - -- AKA: tputs() - -end Terminal_Interface.Curses.Terminfo; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-aux.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-aux.adb deleted file mode 100644 index ecd58e0e06..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-aux.adb +++ /dev/null @@ -1,128 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO.Aux -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package body Terminal_Interface.Curses.Text_IO.Aux is - - procedure Put_Buf - (Win : in Window; - Buf : in String; - Width : in Field; - Signal : in Boolean := True; - Ljust : in Boolean := False) - is - L : Field; - Len : Field; - W : Field := Width; - LC : Line_Count; - CC : Column_Count; - Y : Line_Position; - X : Column_Position; - - procedure Output (From, To : Field); - - procedure Output (From, To : Field) - is - begin - if Len > 0 then - if W = 0 then - W := Len; - end if; - if Len > W then - -- LRM A10.6 (7) says this - W := Len; - end if; - - pragma Assert (Len <= W); - Get_Size (Win, LC, CC); - if Column_Count (Len) > CC then - if Signal then - raise Layout_Error; - else - return; - end if; - else - if Len < W and then not Ljust then - declare - Filler : constant String (1 .. (W - Len)) - := (others => ' '); - begin - Put (Win, Filler); - end; - end if; - Get_Cursor_Position (Win, Y, X); - if (X + Column_Position (Len)) > CC then - New_Line (Win); - end if; - Put (Win, Buf (From .. To)); - if Len < W and then Ljust then - declare - Filler : constant String (1 .. (W - Len)) - := (others => ' '); - begin - Put (Win, Filler); - end; - end if; - end if; - end if; - end Output; - - begin - pragma Assert (Win /= Null_Window); - if Ljust then - L := 1; - for I in 1 .. Buf'Length loop - exit when Buf (L) = ' '; - L := L + 1; - end loop; - Len := L - 1; - Output (1, Len); - else -- input buffer is not left justified - L := Buf'Length; - for I in 1 .. Buf'Length loop - exit when Buf (L) = ' '; - L := L - 1; - end loop; - Len := Buf'Length - L; - Output (L + 1, Buf'Length); - end if; - end Put_Buf; - -end Terminal_Interface.Curses.Text_IO.Aux; - diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-aux.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-aux.ads deleted file mode 100644 index e14c2e50a0..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-aux.ads +++ /dev/null @@ -1,55 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO.Aux -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.12 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -private package Terminal_Interface.Curses.Text_IO.Aux is - -- pragma Preelaborate (Aux); - - -- This routine is called from the Text_IO output routines for numeric - -- and enumeration types. - -- - procedure Put_Buf - (Win : in Window; -- The output window - Buf : in String; -- The buffer containing the text - Width : in Field; -- The width of the output field - Signal : in Boolean := True; -- If true, we raise Layout_Error - Ljust : in Boolean := False); -- The Buf is left justified - -end Terminal_Interface.Curses.Text_IO.Aux; - diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-complex_io.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-complex_io.adb deleted file mode 100644 index 3b5871e286..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-complex_io.adb +++ /dev/null @@ -1,73 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO.Complex_IO -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.10 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Terminal_Interface.Curses.Text_IO.Float_IO; - -package body Terminal_Interface.Curses.Text_IO.Complex_IO is - - package FIO is new - Terminal_Interface.Curses.Text_IO.Float_IO (Complex_Types.Real'Base); - - procedure Put - (Win : in Window; - Item : in Complex; - Fore : in Field := Default_Fore; - Aft : in Field := Default_Aft; - Exp : in Field := Default_Exp) - is - begin - Put (Win, '('); - FIO.Put (Win, Item.Re, Fore, Aft, Exp); - Put (Win, ','); - FIO.Put (Win, Item.Im, Fore, Aft, Exp); - Put (Win, ')'); - end Put; - - procedure Put - (Item : in Complex; - Fore : in Field := Default_Fore; - Aft : in Field := Default_Aft; - Exp : in Field := Default_Exp) - is - begin - Put (Get_Window, Item, Fore, Aft, Exp); - end Put; - -end Terminal_Interface.Curses.Text_IO.Complex_IO; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-complex_io.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-complex_io.ads deleted file mode 100644 index 233eb3c03b..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-complex_io.ads +++ /dev/null @@ -1,70 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO.Complex_IO -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.10 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Numerics.Generic_Complex_Types; - -generic - with package Complex_Types is new Ada.Numerics.Generic_Complex_Types (<>); - -package Terminal_Interface.Curses.Text_IO.Complex_IO is - - use Complex_Types; - - Default_Fore : Field := 2; - Default_Aft : Field := Real'Digits - 1; - Default_Exp : Field := 3; - - procedure Put - (Win : in Window; - Item : in Complex; - Fore : in Field := Default_Fore; - Aft : in Field := Default_Aft; - Exp : in Field := Default_Exp); - - procedure Put - (Item : in Complex; - Fore : in Field := Default_Fore; - Aft : in Field := Default_Aft; - Exp : in Field := Default_Exp); - -private - pragma Inline (Put); - -end Terminal_Interface.Curses.Text_IO.Complex_IO; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-decimal_io.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-decimal_io.adb deleted file mode 100644 index 02068a06cb..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-decimal_io.adb +++ /dev/null @@ -1,75 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO.Decimal_IO -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.10 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Text_IO; -with Terminal_Interface.Curses.Text_IO.Aux; - -package body Terminal_Interface.Curses.Text_IO.Decimal_IO is - - package Aux renames Terminal_Interface.Curses.Text_IO.Aux; - package DIO is new Ada.Text_IO.Decimal_IO (Num); - - procedure Put - (Win : in Window; - Item : in Num; - Fore : in Field := Default_Fore; - Aft : in Field := Default_Aft; - Exp : in Field := Default_Exp) - is - Buf : String (1 .. Field'Last); - Len : Field := Fore + 1 + Aft; - begin - if Exp > 0 then - Len := Len + 1 + Exp; - end if; - DIO.Put (Buf, Item, Aft, Exp); - Aux.Put_Buf (Win, Buf, Len, False); - end Put; - - procedure Put - (Item : in Num; - Fore : in Field := Default_Fore; - Aft : in Field := Default_Aft; - Exp : in Field := Default_Exp) is - begin - Put (Get_Window, Item, Fore, Aft, Exp); - end Put; - -end Terminal_Interface.Curses.Text_IO.Decimal_IO; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-decimal_io.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-decimal_io.ads deleted file mode 100644 index 6f6fe75b26..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-decimal_io.ads +++ /dev/null @@ -1,66 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO.Decimal_IO -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -generic - type Num is delta <> digits <>; - -package Terminal_Interface.Curses.Text_IO.Decimal_IO is - - Default_Fore : Field := Num'Fore; - Default_Aft : Field := Num'Aft; - Default_Exp : Field := 0; - - procedure Put - (Win : in Window; - Item : in Num; - Fore : in Field := Default_Fore; - Aft : in Field := Default_Aft; - Exp : in Field := Default_Exp); - - procedure Put - (Item : in Num; - Fore : in Field := Default_Fore; - Aft : in Field := Default_Aft; - Exp : in Field := Default_Exp); - -private - pragma Inline (Put); - -end Terminal_Interface.Curses.Text_IO.Decimal_IO; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-enumeration_io.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-enumeration_io.adb deleted file mode 100644 index 528873a9e6..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-enumeration_io.adb +++ /dev/null @@ -1,80 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO.Enumeration_IO -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.10 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Text_IO; -with Ada.Characters.Handling; use Ada.Characters.Handling; -with Terminal_Interface.Curses.Text_IO.Aux; - -package body Terminal_Interface.Curses.Text_IO.Enumeration_IO is - - package Aux renames Terminal_Interface.Curses.Text_IO.Aux; - package EIO is new Ada.Text_IO.Enumeration_IO (Enum); - - procedure Put - (Win : in Window; - Item : in Enum; - Width : in Field := Default_Width; - Set : in Type_Set := Default_Setting) - is - Buf : String (1 .. Field'Last); - Tset : Ada.Text_IO.Type_Set; - begin - if Set /= Mixed_Case then - Tset := Ada.Text_IO.Type_Set'Val (Type_Set'Pos (Set)); - else - Tset := Ada.Text_IO.Lower_Case; - end if; - EIO.Put (Buf, Item, Tset); - if Set = Mixed_Case then - Buf (Buf'First) := To_Upper (Buf (Buf'First)); - end if; - Aux.Put_Buf (Win, Buf, Width, True, True); - end Put; - - procedure Put - (Item : in Enum; - Width : in Field := Default_Width; - Set : in Type_Set := Default_Setting) - is - begin - Put (Get_Window, Item, Width, Set); - end Put; - -end Terminal_Interface.Curses.Text_IO.Enumeration_IO; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-enumeration_io.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-enumeration_io.ads deleted file mode 100644 index b221d7ff38..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-enumeration_io.ads +++ /dev/null @@ -1,63 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO.Enumeration_IO -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -generic - type Enum is (<>); - -package Terminal_Interface.Curses.Text_IO.Enumeration_IO is - - Default_Width : Field := 0; - Default_Setting : Type_Set := Mixed_Case; - - procedure Put - (Win : in Window; - Item : in Enum; - Width : in Field := Default_Width; - Set : in Type_Set := Default_Setting); - - procedure Put - (Item : in Enum; - Width : in Field := Default_Width; - Set : in Type_Set := Default_Setting); - -private - pragma Inline (Put); - -end Terminal_Interface.Curses.Text_IO.Enumeration_IO; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-fixed_io.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-fixed_io.adb deleted file mode 100644 index e74f148736..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-fixed_io.adb +++ /dev/null @@ -1,75 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO.Fixed_IO -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.10 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Text_IO; -with Terminal_Interface.Curses.Text_IO.Aux; - -package body Terminal_Interface.Curses.Text_IO.Fixed_IO is - - package Aux renames Terminal_Interface.Curses.Text_IO.Aux; - package FIXIO is new Ada.Text_IO.Fixed_IO (Num); - - procedure Put - (Win : in Window; - Item : in Num; - Fore : in Field := Default_Fore; - Aft : in Field := Default_Aft; - Exp : in Field := Default_Exp) - is - Buf : String (1 .. Field'Last); - Len : Field := Fore + 1 + Aft; - begin - if Exp > 0 then - Len := Len + 1 + Exp; - end if; - FIXIO.Put (Buf, Item, Aft, Exp); - Aux.Put_Buf (Win, Buf, Len, False); - end Put; - - procedure Put - (Item : in Num; - Fore : in Field := Default_Fore; - Aft : in Field := Default_Aft; - Exp : in Field := Default_Exp) is - begin - Put (Get_Window, Item, Fore, Aft, Exp); - end Put; - -end Terminal_Interface.Curses.Text_IO.Fixed_IO; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-fixed_io.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-fixed_io.ads deleted file mode 100644 index 4b8b136657..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-fixed_io.ads +++ /dev/null @@ -1,66 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO.Fixed_IO -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -generic - type Num is delta <>; - -package Terminal_Interface.Curses.Text_IO.Fixed_IO is - - Default_Fore : Field := Num'Fore; - Default_Aft : Field := Num'Aft; - Default_Exp : Field := 0; - - procedure Put - (Win : in Window; - Item : in Num; - Fore : in Field := Default_Fore; - Aft : in Field := Default_Aft; - Exp : in Field := Default_Exp); - - procedure Put - (Item : in Num; - Fore : in Field := Default_Fore; - Aft : in Field := Default_Aft; - Exp : in Field := Default_Exp); - -private - pragma Inline (Put); - -end Terminal_Interface.Curses.Text_IO.Fixed_IO; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-float_io.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-float_io.adb deleted file mode 100644 index 19d261b7a8..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-float_io.adb +++ /dev/null @@ -1,76 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO.Float_IO -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.10 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Text_IO; -with Terminal_Interface.Curses.Text_IO.Aux; - -package body Terminal_Interface.Curses.Text_IO.Float_IO is - - package Aux renames Terminal_Interface.Curses.Text_IO.Aux; - package FIO is new Ada.Text_IO.Float_IO (Num); - - procedure Put - (Win : in Window; - Item : in Num; - Fore : in Field := Default_Fore; - Aft : in Field := Default_Aft; - Exp : in Field := Default_Exp) - is - Buf : String (1 .. Field'Last); - Len : Field := Fore + 1 + Aft; - begin - if Exp > 0 then - Len := Len + 1 + Exp; - end if; - FIO.Put (Buf, Item, Aft, Exp); - Aux.Put_Buf (Win, Buf, Len, False); - end Put; - - procedure Put - (Item : in Num; - Fore : in Field := Default_Fore; - Aft : in Field := Default_Aft; - Exp : in Field := Default_Exp) - is - begin - Put (Get_Window, Item, Fore, Aft, Exp); - end Put; - -end Terminal_Interface.Curses.Text_IO.Float_IO; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-float_io.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-float_io.ads deleted file mode 100644 index 0856523543..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-float_io.ads +++ /dev/null @@ -1,66 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO.Float_IO -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -generic - type Num is digits <>; - -package Terminal_Interface.Curses.Text_IO.Float_IO is - - Default_Fore : Field := 2; - Default_Aft : Field := Num'Digits - 1; - Default_Exp : Field := 3; - - procedure Put - (Win : in Window; - Item : in Num; - Fore : in Field := Default_Fore; - Aft : in Field := Default_Aft; - Exp : in Field := Default_Exp); - - procedure Put - (Item : in Num; - Fore : in Field := Default_Fore; - Aft : in Field := Default_Aft; - Exp : in Field := Default_Exp); - -private - pragma Inline (Put); - -end Terminal_Interface.Curses.Text_IO.Float_IO; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-integer_io.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-integer_io.adb deleted file mode 100644 index e694e082ea..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-integer_io.adb +++ /dev/null @@ -1,70 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO.Integer_IO -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.10 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Text_IO; -with Terminal_Interface.Curses.Text_IO.Aux; - -package body Terminal_Interface.Curses.Text_IO.Integer_IO is - - package Aux renames Terminal_Interface.Curses.Text_IO.Aux; - package IIO is new Ada.Text_IO.Integer_IO (Num); - - procedure Put - (Win : in Window; - Item : in Num; - Width : in Field := Default_Width; - Base : in Number_Base := Default_Base) - is - Buf : String (1 .. Field'Last); - begin - IIO.Put (Buf, Item, Base); - Aux.Put_Buf (Win, Buf, Width); - end Put; - - procedure Put - (Item : in Num; - Width : in Field := Default_Width; - Base : in Number_Base := Default_Base) - is - begin - Put (Get_Window, Item, Width, Base); - end Put; - -end Terminal_Interface.Curses.Text_IO.Integer_IO; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-integer_io.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-integer_io.ads deleted file mode 100644 index d8b169a740..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-integer_io.ads +++ /dev/null @@ -1,63 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO.Integer_IO -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -generic - type Num is range <>; - -package Terminal_Interface.Curses.Text_IO.Integer_IO is - - Default_Width : Field := Num'Width; - Default_Base : Number_Base := 10; - - procedure Put - (Win : in Window; - Item : in Num; - Width : in Field := Default_Width; - Base : in Number_Base := Default_Base); - - procedure Put - (Item : in Num; - Width : in Field := Default_Width; - Base : in Number_Base := Default_Base); - -private - pragma Inline (Put); - -end Terminal_Interface.Curses.Text_IO.Integer_IO; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-modular_io.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-modular_io.adb deleted file mode 100644 index 8cc1d4a616..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-modular_io.adb +++ /dev/null @@ -1,70 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO.Modular_IO -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.10 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Text_IO; -with Terminal_Interface.Curses.Text_IO.Aux; - -package body Terminal_Interface.Curses.Text_IO.Modular_IO is - - package Aux renames Terminal_Interface.Curses.Text_IO.Aux; - package MIO is new Ada.Text_IO.Modular_IO (Num); - - procedure Put - (Win : in Window; - Item : in Num; - Width : in Field := Default_Width; - Base : in Number_Base := Default_Base) - is - Buf : String (1 .. Field'Last); - begin - MIO.Put (Buf, Item, Base); - Aux.Put_Buf (Win, Buf, Width); - end Put; - - procedure Put - (Item : in Num; - Width : in Field := Default_Width; - Base : in Number_Base := Default_Base) - is - begin - Put (Get_Window, Item, Width, Base); - end Put; - -end Terminal_Interface.Curses.Text_IO.Modular_IO; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-modular_io.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-modular_io.ads deleted file mode 100644 index 618706fc51..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io-modular_io.ads +++ /dev/null @@ -1,63 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO.Modular_IO -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.11 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -generic - type Num is mod <>; - -package Terminal_Interface.Curses.Text_IO.Modular_IO is - - Default_Width : Field := Num'Width; - Default_Base : Number_Base := 10; - - procedure Put - (Win : in Window; - Item : in Num; - Width : in Field := Default_Width; - Base : in Number_Base := Default_Base); - - procedure Put - (Item : in Num; - Width : in Field := Default_Width; - Base : in Number_Base := Default_Base); - -private - pragma Inline (Put); - -end Terminal_Interface.Curses.Text_IO.Modular_IO; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io.adb deleted file mode 100644 index 17ff28d9b2..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io.adb +++ /dev/null @@ -1,337 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.17 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package body Terminal_Interface.Curses.Text_IO is - - Default_Window : Window := Null_Window; - - procedure Set_Window (Win : in Window) - is - begin - Default_Window := Win; - end Set_Window; - - function Get_Window return Window - is - begin - if Default_Window = Null_Window then - return Standard_Window; - else - return Default_Window; - end if; - end Get_Window; - pragma Inline (Get_Window); - - procedure Flush (Win : in Window) - is - begin - Refresh (Win); - end Flush; - - procedure Flush - is - begin - Flush (Get_Window); - end Flush; - - -------------------------------------------- - -- Specification of line and page lengths -- - -------------------------------------------- - - -- There are no set routines in this package. I assume, that you allocate - -- the window with an appropriate size. - -- A scroll-window is interpreted as an page with unbounded page length, - -- i.e. it returns the conventional 0 as page length. - - function Line_Length (Win : in Window) return Count - is - N_Lines : Line_Count; - N_Cols : Column_Count; - begin - Get_Size (Win, N_Lines, N_Cols); - -- if Natural (N_Cols) > Natural (Count'Last) then - -- raise Layout_Error; - -- end if; - return Count (N_Cols); - end Line_Length; - - function Line_Length return Count - is - begin - return Line_Length (Get_Window); - end Line_Length; - - function Page_Length (Win : in Window) return Count - is - N_Lines : Line_Count; - N_Cols : Column_Count; - begin - if Scrolling_Allowed (Win) then - return 0; - else - Get_Size (Win, N_Lines, N_Cols); - -- if Natural (N_Lines) > Natural (Count'Last) then - -- raise Layout_Error; - -- end if; - return Count (N_Lines); - end if; - end Page_Length; - - function Page_Length return Count - is - begin - return Page_Length (Get_Window); - end Page_Length; - - ------------------------------------ - -- Column, Line, and Page Control -- - ------------------------------------ - procedure New_Line (Win : in Window; Spacing : in Positive_Count := 1) - is - P_Size : constant Count := Page_Length (Win); - begin - if Spacing not in Positive_Count then - raise Constraint_Error; - end if; - - for I in 1 .. Spacing loop - if P_Size > 0 and then Line (Win) >= P_Size then - New_Page (Win); - else - Add (Win, ASCII.LF); - end if; - end loop; - end New_Line; - - procedure New_Line (Spacing : in Positive_Count := 1) - is - begin - New_Line (Get_Window, Spacing); - end New_Line; - - procedure New_Page (Win : in Window) - is - begin - Clear (Win); - end New_Page; - - procedure New_Page - is - begin - New_Page (Get_Window); - end New_Page; - - procedure Set_Col (Win : in Window; To : in Positive_Count) - is - Y : Line_Position; - X1 : Column_Position; - X2 : Column_Position; - N : Natural; - begin - if To not in Positive_Count then - raise Constraint_Error; - end if; - - Get_Cursor_Position (Win, Y, X1); - N := Natural (To); N := N - 1; - X2 := Column_Position (N); - if X1 > X2 then - New_Line (Win, 1); - X1 := 0; - end if; - if X1 < X2 then - declare - Filler : constant String (Integer (X1) .. (Integer (X2) - 1)) - := (others => ' '); - begin - Put (Win, Filler); - end; - end if; - end Set_Col; - - procedure Set_Col (To : in Positive_Count) - is - begin - Set_Col (Get_Window, To); - end Set_Col; - - procedure Set_Line (Win : in Window; To : in Positive_Count) - is - Y1 : Line_Position; - Y2 : Line_Position; - X : Column_Position; - N : Natural; - begin - if To not in Positive_Count then - raise Constraint_Error; - end if; - - Get_Cursor_Position (Win, Y1, X); - N := Natural (To); N := N - 1; - Y2 := Line_Position (N); - if Y2 < Y1 then - New_Page (Win); - Y1 := 0; - end if; - if Y1 < Y2 then - New_Line (Win, Positive_Count (Y2 - Y1)); - end if; - end Set_Line; - - procedure Set_Line (To : in Positive_Count) - is - begin - Set_Line (Get_Window, To); - end Set_Line; - - function Col (Win : in Window) return Positive_Count - is - Y : Line_Position; - X : Column_Position; - N : Natural; - begin - Get_Cursor_Position (Win, Y, X); - N := Natural (X); N := N + 1; - -- if N > Natural (Count'Last) then - -- raise Layout_Error; - -- end if; - return Positive_Count (N); - end Col; - - function Col return Positive_Count - is - begin - return Col (Get_Window); - end Col; - - function Line (Win : in Window) return Positive_Count - is - Y : Line_Position; - X : Column_Position; - N : Natural; - begin - Get_Cursor_Position (Win, Y, X); - N := Natural (Y); N := N + 1; - -- if N > Natural (Count'Last) then - -- raise Layout_Error; - -- end if; - return Positive_Count (N); - end Line; - - function Line return Positive_Count - is - begin - return Line (Get_Window); - end Line; - - ----------------------- - -- Characters Output -- - ----------------------- - - procedure Put (Win : in Window; Item : in Character) - is - P_Size : constant Count := Page_Length (Win); - Y : Line_Position; - X : Column_Position; - L : Line_Count; - C : Column_Count; - begin - if P_Size > 0 then - Get_Cursor_Position (Win, Y, X); - Get_Size (Win, L, C); - if (Y + 1) = L and then (X + 1) = C then - New_Page (Win); - end if; - end if; - Add (Win, Item); - end Put; - - procedure Put (Item : in Character) - is - begin - Put (Get_Window, Item); - end Put; - - -------------------- - -- Strings-Output -- - -------------------- - - procedure Put (Win : in Window; Item : in String) - is - P_Size : constant Count := Page_Length (Win); - Y : Line_Position; - X : Column_Position; - L : Line_Count; - C : Column_Count; - begin - if P_Size > 0 then - Get_Cursor_Position (Win, Y, X); - Get_Size (Win, L, C); - if (Y + 1) = L and then (X + 1 + Item'Length) >= C then - New_Page (Win); - end if; - end if; - Add (Win, Item); - end Put; - - procedure Put (Item : in String) - is - begin - Put (Get_Window, Item); - end Put; - - procedure Put_Line - (Win : in Window; - Item : in String) - is - begin - Put (Win, Item); - New_Line (Win, 1); - end Put_Line; - - procedure Put_Line - (Item : in String) - is - begin - Put_Line (Get_Window, Item); - end Put_Line; - -end Terminal_Interface.Curses.Text_IO; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io.ads b/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io.ads deleted file mode 100644 index 2f6c48a1ed..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-text_io.ads +++ /dev/null @@ -1,136 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Text_IO -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.13 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with Ada.Text_IO; -with Ada.IO_Exceptions; - -package Terminal_Interface.Curses.Text_IO is - - use type Ada.Text_IO.Count; - subtype Count is Ada.Text_IO.Count; - subtype Positive_Count is Count range 1 .. Count'Last; - - subtype Field is Ada.Text_IO.Field; - subtype Number_Base is Integer range 2 .. 16; - - type Type_Set is (Lower_Case, Upper_Case, Mixed_Case); - - -- For most of the routines you will see a version without a Window - -- type parameter. They will operate on a default window, which can - -- be set by the user. It is initially equal to Standard_Window. - - procedure Set_Window (Win : in Window); - -- Set Win as the default window - - function Get_Window return Window; - -- Get the current default window - - procedure Flush (Win : in Window); - procedure Flush; - - -------------------------------------------- - -- Specification of line and page lengths -- - -------------------------------------------- - - -- There are no set routines in this package. I assume, that you allocate - -- the window with an appropriate size. - -- A scroll-window is interpreted as an page with unbounded page length, - -- i.e. it returns the conventional 0 as page length. - - function Line_Length (Win : in Window) return Count; - function Line_Length return Count; - - function Page_Length (Win : in Window) return Count; - function Page_Length return Count; - - ------------------------------------ - -- Column, Line, and Page Control -- - ------------------------------------ - procedure New_Line (Win : in Window; Spacing : in Positive_Count := 1); - procedure New_Line (Spacing : in Positive_Count := 1); - - procedure New_Page (Win : in Window); - procedure New_Page; - - procedure Set_Col (Win : in Window; To : in Positive_Count); - procedure Set_Col (To : in Positive_Count); - - procedure Set_Line (Win : in Window; To : in Positive_Count); - procedure Set_Line (To : in Positive_Count); - - function Col (Win : in Window) return Positive_Count; - function Col return Positive_Count; - - function Line (Win : in Window) return Positive_Count; - function Line return Positive_Count; - - ----------------------- - -- Characters-Output -- - ----------------------- - - procedure Put (Win : in Window; Item : in Character); - procedure Put (Item : in Character); - - -------------------- - -- Strings-Output -- - -------------------- - - procedure Put (Win : in Window; Item : in String); - procedure Put (Item : in String); - - procedure Put_Line - (Win : in Window; - Item : in String); - - procedure Put_Line - (Item : in String); - - -- Exceptions - - Status_Error : exception renames Ada.IO_Exceptions.Status_Error; - Mode_Error : exception renames Ada.IO_Exceptions.Mode_Error; - Name_Error : exception renames Ada.IO_Exceptions.Name_Error; - Use_Error : exception renames Ada.IO_Exceptions.Use_Error; - Device_Error : exception renames Ada.IO_Exceptions.Device_Error; - End_Error : exception renames Ada.IO_Exceptions.End_Error; - Data_Error : exception renames Ada.IO_Exceptions.Data_Error; - Layout_Error : exception renames Ada.IO_Exceptions.Layout_Error; - -end Terminal_Interface.Curses.Text_IO; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses-trace.adb_p b/src/libs/ncurses/Ada95/src/terminal_interface-curses-trace.adb_p deleted file mode 100644 index 747454a558..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses-trace.adb_p +++ /dev/null @@ -1,97 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses.Trace -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.5 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -#if ADA_TRACE then -with Interfaces.C; use Interfaces.C; -with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; -with Ada.Unchecked_Conversion; -#end if; - -package body Terminal_Interface.Curses.Trace is - -#if ADA_TRACE then - type C_TraceType is new C_UInt; - - function TraceAda_To_TraceC is new - Ada.Unchecked_Conversion (Source => Trace_Attribute_Set, - Target => C_TraceType); - - procedure Trace_On (x : Trace_Attribute_Set) is - procedure traceC (y : C_TraceType); - pragma Import (C, traceC, "trace"); - begin - traceC (TraceAda_To_TraceC (x)); - end Trace_On; - - -- 75. (12) A C function that takes a variable number of arguments can - -- correspond to several Ada subprograms, taking various specific - -- numbers and types of parameters. - - procedure Trace_Put (str : String) is - procedure tracef (format : char_array; s : char_array); - pragma Import (C, tracef, "_tracef"); - Txt : char_array (0 .. str'Length); - Length : size_t; - formatstr : constant String := "%s" & ASCII.Nul; - formattxt : char_array (0 .. formatstr'Length); - begin - To_C (formatstr, formattxt, Length); - To_C (str, Txt, Length); - tracef (formattxt, Txt); - end Trace_Put; -#else - procedure Trace_On (x : Trace_Attribute_Set) is -#if PRAGMA_UNREF - pragma Unreferenced (x); -#end if; - begin - null; - end Trace_On; - - procedure Trace_Put (str : String) is -#if PRAGMA_UNREF - pragma Unreferenced (str); -#end if; - begin - null; - end Trace_Put; -#end if; - -end Terminal_Interface.Curses.Trace; diff --git a/src/libs/ncurses/Ada95/src/terminal_interface-curses.adb b/src/libs/ncurses/Ada95/src/terminal_interface-curses.adb deleted file mode 100644 index 86ea1b5a72..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface-curses.adb +++ /dev/null @@ -1,2567 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface.Curses -- --- -- --- B O D Y -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.32 $ --- $Date: 2004/08/21 21:37:00 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -with System; - -with Terminal_Interface.Curses.Aux; -with Interfaces.C; use Interfaces.C; -with Interfaces.C.Strings; use Interfaces.C.Strings; -with Interfaces.C.Pointers; -with Ada.Characters.Handling; use Ada.Characters.Handling; -with Ada.Strings.Fixed; -with Ada.Unchecked_Conversion; - -package body Terminal_Interface.Curses is - - use Aux; - use type System.Bit_Order; - - package ASF renames Ada.Strings.Fixed; - - type chtype_array is array (size_t range <>) - of aliased Attributed_Character; - pragma Convention (C, chtype_array); - ------------------------------------------------------------------------------- - generic - type Element is (<>); - function W_Get_Element (Win : in Window; - Offset : in Natural) return Element; - - function W_Get_Element (Win : in Window; - Offset : in Natural) return Element is - type E_Array is array (Natural range <>) of aliased Element; - package C_E_Array is new - Interfaces.C.Pointers (Natural, Element, E_Array, Element'Val (0)); - use C_E_Array; - - function To_Pointer is new - Ada.Unchecked_Conversion (Window, Pointer); - - P : Pointer := To_Pointer (Win); - begin - if Win = Null_Window then - raise Curses_Exception; - else - P := P + ptrdiff_t (Offset); - return P.all; - end if; - end W_Get_Element; - - function W_Get_Int is new W_Get_Element (C_Int); - function W_Get_Short is new W_Get_Element (C_Short); - function W_Get_Byte is new W_Get_Element (Interfaces.C.unsigned_char); - - function Get_Flag (Win : Window; - Offset : Natural) return Boolean; - - function Get_Flag (Win : Window; - Offset : Natural) return Boolean - is - Res : C_Int; - begin - case Sizeof_bool is - when 1 => Res := C_Int (W_Get_Byte (Win, Offset)); - when 2 => Res := C_Int (W_Get_Short (Win, Offset)); - when 4 => Res := C_Int (W_Get_Int (Win, Offset)); - when others => raise Curses_Exception; - end case; - - case Res is - when 0 => return False; - when others => return True; - end case; - end Get_Flag; - ------------------------------------------------------------------------------- - function Key_Name (Key : in Real_Key_Code) return String - is - function Keyname (K : C_Int) return chars_ptr; - pragma Import (C, Keyname, "keyname"); - - Ch : Character; - begin - if Key <= Character'Pos (Character'Last) then - Ch := Character'Val (Key); - if Is_Control (Ch) then - return Un_Control (Attributed_Character'(Ch => Ch, - Color => Color_Pair'First, - Attr => Normal_Video)); - elsif Is_Graphic (Ch) then - declare - S : String (1 .. 1); - begin - S (1) := Ch; - return S; - end; - else - return ""; - end if; - else - return Fill_String (Keyname (C_Int (Key))); - end if; - end Key_Name; - - procedure Key_Name (Key : in Real_Key_Code; - Name : out String) - is - begin - ASF.Move (Key_Name (Key), Name); - end Key_Name; - ------------------------------------------------------------------------------- - procedure Init_Screen - is - function Initscr return Window; - pragma Import (C, Initscr, "initscr"); - - W : Window; - begin - W := Initscr; - if W = Null_Window then - raise Curses_Exception; - end if; - end Init_Screen; - - procedure End_Windows - is - function Endwin return C_Int; - pragma Import (C, Endwin, "endwin"); - begin - if Endwin = Curses_Err then - raise Curses_Exception; - end if; - end End_Windows; - - function Is_End_Window return Boolean - is - function Isendwin return Curses_Bool; - pragma Import (C, Isendwin, "isendwin"); - begin - if Isendwin = Curses_Bool_False then - return False; - else - return True; - end if; - end Is_End_Window; ------------------------------------------------------------------------------- - procedure Move_Cursor (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position) - is - function Wmove (Win : Window; - Line : C_Int; - Column : C_Int - ) return C_Int; - pragma Import (C, Wmove, "wmove"); - begin - if Wmove (Win, C_Int (Line), C_Int (Column)) = Curses_Err then - raise Curses_Exception; - end if; - end Move_Cursor; ------------------------------------------------------------------------------- - procedure Add (Win : in Window := Standard_Window; - Ch : in Attributed_Character) - is - function Waddch (W : Window; - Ch : C_Chtype) return C_Int; - pragma Import (C, Waddch, "waddch"); - begin - if Waddch (Win, AttrChar_To_Chtype (Ch)) = Curses_Err then - raise Curses_Exception; - end if; - end Add; - - procedure Add (Win : in Window := Standard_Window; - Ch : in Character) - is - begin - Add (Win, - Attributed_Character'(Ch => Ch, - Color => Color_Pair'First, - Attr => Normal_Video)); - end Add; - - procedure Add - (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Ch : in Attributed_Character) - is - function mvwaddch (W : Window; - Y : C_Int; - X : C_Int; - Ch : C_Chtype) return C_Int; - pragma Import (C, mvwaddch, "mvwaddch"); - begin - if mvwaddch (Win, C_Int (Line), - C_Int (Column), - AttrChar_To_Chtype (Ch)) = Curses_Err then - raise Curses_Exception; - end if; - end Add; - - procedure Add - (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Ch : in Character) - is - begin - Add (Win, - Line, - Column, - Attributed_Character'(Ch => Ch, - Color => Color_Pair'First, - Attr => Normal_Video)); - end Add; - - procedure Add_With_Immediate_Echo - (Win : in Window := Standard_Window; - Ch : in Attributed_Character) - is - function Wechochar (W : Window; - Ch : C_Chtype) return C_Int; - pragma Import (C, Wechochar, "wechochar"); - begin - if Wechochar (Win, AttrChar_To_Chtype (Ch)) = Curses_Err then - raise Curses_Exception; - end if; - end Add_With_Immediate_Echo; - - procedure Add_With_Immediate_Echo - (Win : in Window := Standard_Window; - Ch : in Character) - is - begin - Add_With_Immediate_Echo - (Win, - Attributed_Character'(Ch => Ch, - Color => Color_Pair'First, - Attr => Normal_Video)); - end Add_With_Immediate_Echo; ------------------------------------------------------------------------------- - function Create (Number_Of_Lines : Line_Count; - Number_Of_Columns : Column_Count; - First_Line_Position : Line_Position; - First_Column_Position : Column_Position) return Window - is - function Newwin (Number_Of_Lines : C_Int; - Number_Of_Columns : C_Int; - First_Line_Position : C_Int; - First_Column_Position : C_Int) return Window; - pragma Import (C, Newwin, "newwin"); - - W : Window; - begin - W := Newwin (C_Int (Number_Of_Lines), - C_Int (Number_Of_Columns), - C_Int (First_Line_Position), - C_Int (First_Column_Position)); - if W = Null_Window then - raise Curses_Exception; - end if; - return W; - end Create; - - procedure Delete (Win : in out Window) - is - function Wdelwin (W : Window) return C_Int; - pragma Import (C, Wdelwin, "delwin"); - begin - if Wdelwin (Win) = Curses_Err then - raise Curses_Exception; - end if; - Win := Null_Window; - end Delete; - - function Sub_Window - (Win : Window := Standard_Window; - Number_Of_Lines : Line_Count; - Number_Of_Columns : Column_Count; - First_Line_Position : Line_Position; - First_Column_Position : Column_Position) return Window - is - function Subwin - (Win : Window; - Number_Of_Lines : C_Int; - Number_Of_Columns : C_Int; - First_Line_Position : C_Int; - First_Column_Position : C_Int) return Window; - pragma Import (C, Subwin, "subwin"); - - W : Window; - begin - W := Subwin (Win, - C_Int (Number_Of_Lines), - C_Int (Number_Of_Columns), - C_Int (First_Line_Position), - C_Int (First_Column_Position)); - if W = Null_Window then - raise Curses_Exception; - end if; - return W; - end Sub_Window; - - function Derived_Window - (Win : Window := Standard_Window; - Number_Of_Lines : Line_Count; - Number_Of_Columns : Column_Count; - First_Line_Position : Line_Position; - First_Column_Position : Column_Position) return Window - is - function Derwin - (Win : Window; - Number_Of_Lines : C_Int; - Number_Of_Columns : C_Int; - First_Line_Position : C_Int; - First_Column_Position : C_Int) return Window; - pragma Import (C, Derwin, "derwin"); - - W : Window; - begin - W := Derwin (Win, - C_Int (Number_Of_Lines), - C_Int (Number_Of_Columns), - C_Int (First_Line_Position), - C_Int (First_Column_Position)); - if W = Null_Window then - raise Curses_Exception; - end if; - return W; - end Derived_Window; - - function Duplicate (Win : Window) return Window - is - function Dupwin (Win : Window) return Window; - pragma Import (C, Dupwin, "dupwin"); - - W : constant Window := Dupwin (Win); - begin - if W = Null_Window then - raise Curses_Exception; - end if; - return W; - end Duplicate; - - procedure Move_Window (Win : in Window; - Line : in Line_Position; - Column : in Column_Position) - is - function Mvwin (Win : Window; - Line : C_Int; - Column : C_Int) return C_Int; - pragma Import (C, Mvwin, "mvwin"); - begin - if Mvwin (Win, C_Int (Line), C_Int (Column)) = Curses_Err then - raise Curses_Exception; - end if; - end Move_Window; - - procedure Move_Derived_Window (Win : in Window; - Line : in Line_Position; - Column : in Column_Position) - is - function Mvderwin (Win : Window; - Line : C_Int; - Column : C_Int) return C_Int; - pragma Import (C, Mvderwin, "mvderwin"); - begin - if Mvderwin (Win, C_Int (Line), C_Int (Column)) = Curses_Err then - raise Curses_Exception; - end if; - end Move_Derived_Window; - - procedure Set_Synch_Mode (Win : in Window := Standard_Window; - Mode : in Boolean := False) - is - function Syncok (Win : Window; - Mode : Curses_Bool) return C_Int; - pragma Import (C, Syncok, "syncok"); - begin - if Syncok (Win, Curses_Bool (Boolean'Pos (Mode))) = Curses_Err then - raise Curses_Exception; - end if; - end Set_Synch_Mode; ------------------------------------------------------------------------------- - procedure Add (Win : in Window := Standard_Window; - Str : in String; - Len : in Integer := -1) - is - function Waddnstr (Win : Window; - Str : char_array; - Len : C_Int := -1) return C_Int; - pragma Import (C, Waddnstr, "waddnstr"); - - Txt : char_array (0 .. Str'Length); - Length : size_t; - begin - To_C (Str, Txt, Length); - if Waddnstr (Win, Txt, C_Int (Len)) = Curses_Err then - raise Curses_Exception; - end if; - end Add; - - procedure Add - (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Str : in String; - Len : in Integer := -1) - is - begin - Move_Cursor (Win, Line, Column); - Add (Win, Str, Len); - end Add; ------------------------------------------------------------------------------- - procedure Add - (Win : in Window := Standard_Window; - Str : in Attributed_String; - Len : in Integer := -1) - is - function Waddchnstr (Win : Window; - Str : chtype_array; - Len : C_Int := -1) return C_Int; - pragma Import (C, Waddchnstr, "waddchnstr"); - - Txt : chtype_array (0 .. Str'Length); - begin - for Length in 1 .. size_t (Str'Length) loop - Txt (Length - 1) := Str (Natural (Length)); - end loop; - Txt (Str'Length) := Default_Character; - if Waddchnstr (Win, - Txt, - C_Int (Len)) = Curses_Err then - raise Curses_Exception; - end if; - end Add; - - procedure Add - (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Str : in Attributed_String; - Len : in Integer := -1) - is - begin - Move_Cursor (Win, Line, Column); - Add (Win, Str, Len); - end Add; ------------------------------------------------------------------------------- - procedure Border - (Win : in Window := Standard_Window; - Left_Side_Symbol : in Attributed_Character := Default_Character; - Right_Side_Symbol : in Attributed_Character := Default_Character; - Top_Side_Symbol : in Attributed_Character := Default_Character; - Bottom_Side_Symbol : in Attributed_Character := Default_Character; - Upper_Left_Corner_Symbol : in Attributed_Character := Default_Character; - Upper_Right_Corner_Symbol : in Attributed_Character := Default_Character; - Lower_Left_Corner_Symbol : in Attributed_Character := Default_Character; - Lower_Right_Corner_Symbol : in Attributed_Character := Default_Character) - is - function Wborder (W : Window; - LS : C_Chtype; - RS : C_Chtype; - TS : C_Chtype; - BS : C_Chtype; - ULC : C_Chtype; - URC : C_Chtype; - LLC : C_Chtype; - LRC : C_Chtype) return C_Int; - pragma Import (C, Wborder, "wborder"); - begin - if Wborder (Win, - AttrChar_To_Chtype (Left_Side_Symbol), - AttrChar_To_Chtype (Right_Side_Symbol), - AttrChar_To_Chtype (Top_Side_Symbol), - AttrChar_To_Chtype (Bottom_Side_Symbol), - AttrChar_To_Chtype (Upper_Left_Corner_Symbol), - AttrChar_To_Chtype (Upper_Right_Corner_Symbol), - AttrChar_To_Chtype (Lower_Left_Corner_Symbol), - AttrChar_To_Chtype (Lower_Right_Corner_Symbol) - ) = Curses_Err - then - raise Curses_Exception; - end if; - end Border; - - procedure Box - (Win : in Window := Standard_Window; - Vertical_Symbol : in Attributed_Character := Default_Character; - Horizontal_Symbol : in Attributed_Character := Default_Character) - is - begin - Border (Win, - Vertical_Symbol, Vertical_Symbol, - Horizontal_Symbol, Horizontal_Symbol); - end Box; - - procedure Horizontal_Line - (Win : in Window := Standard_Window; - Line_Size : in Natural; - Line_Symbol : in Attributed_Character := Default_Character) - is - function Whline (W : Window; - Ch : C_Chtype; - Len : C_Int) return C_Int; - pragma Import (C, Whline, "whline"); - begin - if Whline (Win, - AttrChar_To_Chtype (Line_Symbol), - C_Int (Line_Size)) = Curses_Err then - raise Curses_Exception; - end if; - end Horizontal_Line; - - procedure Vertical_Line - (Win : in Window := Standard_Window; - Line_Size : in Natural; - Line_Symbol : in Attributed_Character := Default_Character) - is - function Wvline (W : Window; - Ch : C_Chtype; - Len : C_Int) return C_Int; - pragma Import (C, Wvline, "wvline"); - begin - if Wvline (Win, - AttrChar_To_Chtype (Line_Symbol), - C_Int (Line_Size)) = Curses_Err then - raise Curses_Exception; - end if; - end Vertical_Line; - ------------------------------------------------------------------------------- - function Get_Keystroke (Win : Window := Standard_Window) - return Real_Key_Code - is - function Wgetch (W : Window) return C_Int; - pragma Import (C, Wgetch, "wgetch"); - - C : constant C_Int := Wgetch (Win); - begin - if C = Curses_Err then - return Key_None; - else - return Real_Key_Code (C); - end if; - end Get_Keystroke; - - procedure Undo_Keystroke (Key : in Real_Key_Code) - is - function Ungetch (Ch : C_Int) return C_Int; - pragma Import (C, Ungetch, "ungetch"); - begin - if Ungetch (C_Int (Key)) = Curses_Err then - raise Curses_Exception; - end if; - end Undo_Keystroke; - - function Has_Key (Key : Special_Key_Code) return Boolean - is - function Haskey (Key : C_Int) return C_Int; - pragma Import (C, Haskey, "has_key"); - begin - if Haskey (C_Int (Key)) = Curses_False then - return False; - else - return True; - end if; - end Has_Key; - - function Is_Function_Key (Key : Special_Key_Code) return Boolean - is - L : constant Special_Key_Code := Special_Key_Code (Natural (Key_F0) + - Natural (Function_Key_Number'Last)); - begin - if (Key >= Key_F0) and then (Key <= L) then - return True; - else - return False; - end if; - end Is_Function_Key; - - function Function_Key (Key : Real_Key_Code) - return Function_Key_Number - is - begin - if Is_Function_Key (Key) then - return Function_Key_Number (Key - Key_F0); - else - raise Constraint_Error; - end if; - end Function_Key; - - function Function_Key_Code (Key : Function_Key_Number) return Real_Key_Code - is - begin - return Real_Key_Code (Natural (Key_F0) + Natural (Key)); - end Function_Key_Code; ------------------------------------------------------------------------------- - procedure Standout (Win : Window := Standard_Window; - On : Boolean := True) - is - function wstandout (Win : Window) return C_Int; - pragma Import (C, wstandout, "wstandout"); - function wstandend (Win : Window) return C_Int; - pragma Import (C, wstandend, "wstandend"); - - Err : C_Int; - begin - if On then - Err := wstandout (Win); - else - Err := wstandend (Win); - end if; - if Err = Curses_Err then - raise Curses_Exception; - end if; - end Standout; - - procedure Switch_Character_Attribute - (Win : in Window := Standard_Window; - Attr : in Character_Attribute_Set := Normal_Video; - On : in Boolean := True) - is - function Wattron (Win : Window; - C_Attr : C_AttrType) return C_Int; - pragma Import (C, Wattron, "wattr_on"); - function Wattroff (Win : Window; - C_Attr : C_AttrType) return C_Int; - pragma Import (C, Wattroff, "wattr_off"); - -- In Ada we use the On Boolean to control whether or not we want to - -- switch on or off the attributes in the set. - Err : C_Int; - AC : constant Attributed_Character := (Ch => Character'First, - Color => Color_Pair'First, - Attr => Attr); - begin - if On then - Err := Wattron (Win, AttrChar_To_AttrType (AC)); - else - Err := Wattroff (Win, AttrChar_To_AttrType (AC)); - end if; - if Err = Curses_Err then - raise Curses_Exception; - end if; - end Switch_Character_Attribute; - - procedure Set_Character_Attributes - (Win : in Window := Standard_Window; - Attr : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First) - is - function Wattrset (Win : Window; - C_Attr : C_AttrType) return C_Int; - pragma Import (C, Wattrset, "wattrset"); -- ??? wattr_set - begin - if Wattrset (Win, - AttrChar_To_AttrType (Attributed_Character' - (Ch => Character'First, - Color => Color, - Attr => Attr))) = Curses_Err then - raise Curses_Exception; - end if; - end Set_Character_Attributes; - - function Get_Character_Attribute (Win : Window := Standard_Window) - return Character_Attribute_Set - is - function Wattrget (Win : Window; - Atr : access C_AttrType; - Col : access C_Short; - Opt : System.Address) return C_Int; - pragma Import (C, Wattrget, "wattr_get"); - - Attr : aliased C_AttrType; - Col : aliased C_Short; - Res : constant C_Int := Wattrget (Win, Attr'Access, Col'Access, - System.Null_Address); - Ch : Attributed_Character; - begin - if Res = Curses_Ok then - Ch := AttrType_To_AttrChar (Attr); - return Ch.Attr; - else - raise Curses_Exception; - end if; - end Get_Character_Attribute; - - function Get_Character_Attribute (Win : Window := Standard_Window) - return Color_Pair - is - function Wattrget (Win : Window; - Atr : access C_AttrType; - Col : access C_Short; - Opt : System.Address) return C_Int; - pragma Import (C, Wattrget, "wattr_get"); - - Attr : aliased C_AttrType; - Col : aliased C_Short; - Res : constant C_Int := Wattrget (Win, Attr'Access, Col'Access, - System.Null_Address); - Ch : Attributed_Character; - begin - if Res = Curses_Ok then - Ch := AttrType_To_AttrChar (Attr); - return Ch.Color; - else - raise Curses_Exception; - end if; - end Get_Character_Attribute; - - procedure Set_Color (Win : in Window := Standard_Window; - Pair : in Color_Pair) - is - function Wset_Color (Win : Window; - Color : C_Short; - Opts : C_Void_Ptr) return C_Int; - pragma Import (C, Wset_Color, "wcolor_set"); - begin - if Wset_Color (Win, - C_Short (Pair), - C_Void_Ptr (System.Null_Address)) = Curses_Err then - raise Curses_Exception; - end if; - end Set_Color; - - procedure Change_Attributes - (Win : in Window := Standard_Window; - Count : in Integer := -1; - Attr : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First) - is - function Wchgat (Win : Window; - Cnt : C_Int; - Attr : C_AttrType; - Color : C_Short; - Opts : System.Address := System.Null_Address) - return C_Int; - pragma Import (C, Wchgat, "wchgat"); - - Ch : constant Attributed_Character := - (Ch => Character'First, Color => Color_Pair'First, Attr => Attr); - begin - if Wchgat (Win, C_Int (Count), AttrChar_To_AttrType (Ch), - C_Short (Color)) = Curses_Err then - raise Curses_Exception; - end if; - end Change_Attributes; - - procedure Change_Attributes - (Win : in Window := Standard_Window; - Line : in Line_Position := Line_Position'First; - Column : in Column_Position := Column_Position'First; - Count : in Integer := -1; - Attr : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First) - is - begin - Move_Cursor (Win, Line, Column); - Change_Attributes (Win, Count, Attr, Color); - end Change_Attributes; ------------------------------------------------------------------------------- - procedure Beep - is - function Beeper return C_Int; - pragma Import (C, Beeper, "beep"); - begin - if Beeper = Curses_Err then - raise Curses_Exception; - end if; - end Beep; - - procedure Flash_Screen - is - function Flash return C_Int; - pragma Import (C, Flash, "flash"); - begin - if Flash = Curses_Err then - raise Curses_Exception; - end if; - end Flash_Screen; ------------------------------------------------------------------------------- - procedure Set_Cbreak_Mode (SwitchOn : in Boolean := True) - is - function Cbreak return C_Int; - pragma Import (C, Cbreak, "cbreak"); - function NoCbreak return C_Int; - pragma Import (C, NoCbreak, "nocbreak"); - - Err : C_Int; - begin - if SwitchOn then - Err := Cbreak; - else - Err := NoCbreak; - end if; - if Err = Curses_Err then - raise Curses_Exception; - end if; - end Set_Cbreak_Mode; - - procedure Set_Raw_Mode (SwitchOn : in Boolean := True) - is - function Raw return C_Int; - pragma Import (C, Raw, "raw"); - function NoRaw return C_Int; - pragma Import (C, NoRaw, "noraw"); - - Err : C_Int; - begin - if SwitchOn then - Err := Raw; - else - Err := NoRaw; - end if; - if Err = Curses_Err then - raise Curses_Exception; - end if; - end Set_Raw_Mode; - - procedure Set_Echo_Mode (SwitchOn : in Boolean := True) - is - function Echo return C_Int; - pragma Import (C, Echo, "echo"); - function NoEcho return C_Int; - pragma Import (C, NoEcho, "noecho"); - - Err : C_Int; - begin - if SwitchOn then - Err := Echo; - else - Err := NoEcho; - end if; - if Err = Curses_Err then - raise Curses_Exception; - end if; - end Set_Echo_Mode; - - procedure Set_Meta_Mode (Win : in Window := Standard_Window; - SwitchOn : in Boolean := True) - is - function Meta (W : Window; Mode : Curses_Bool) return C_Int; - pragma Import (C, Meta, "meta"); - begin - if Meta (Win, Curses_Bool (Boolean'Pos (SwitchOn))) = Curses_Err then - raise Curses_Exception; - end if; - end Set_Meta_Mode; - - procedure Set_KeyPad_Mode (Win : in Window := Standard_Window; - SwitchOn : in Boolean := True) - is - function Keypad (W : Window; Mode : Curses_Bool) return C_Int; - pragma Import (C, Keypad, "keypad"); - begin - if Keypad (Win, Curses_Bool (Boolean'Pos (SwitchOn))) = Curses_Err then - raise Curses_Exception; - end if; - end Set_KeyPad_Mode; - - function Get_KeyPad_Mode (Win : in Window := Standard_Window) - return Boolean - is - begin - return Get_Flag (Win, Offset_use_keypad); - end Get_KeyPad_Mode; - - procedure Half_Delay (Amount : in Half_Delay_Amount) - is - function Halfdelay (Amount : C_Int) return C_Int; - pragma Import (C, Halfdelay, "halfdelay"); - begin - if Halfdelay (C_Int (Amount)) = Curses_Err then - raise Curses_Exception; - end if; - end Half_Delay; - - procedure Set_Flush_On_Interrupt_Mode - (Win : in Window := Standard_Window; - Mode : in Boolean := True) - is - function Intrflush (Win : Window; Mode : Curses_Bool) return C_Int; - pragma Import (C, Intrflush, "intrflush"); - begin - if Intrflush (Win, Curses_Bool (Boolean'Pos (Mode))) = Curses_Err then - raise Curses_Exception; - end if; - end Set_Flush_On_Interrupt_Mode; - - procedure Set_Queue_Interrupt_Mode - (Win : in Window := Standard_Window; - Flush : in Boolean := True) - is - procedure Qiflush; - pragma Import (C, Qiflush, "qiflush"); - procedure No_Qiflush; - pragma Import (C, No_Qiflush, "noqiflush"); - begin - if Win = Null_Window then - raise Curses_Exception; - end if; - if Flush then - Qiflush; - else - No_Qiflush; - end if; - end Set_Queue_Interrupt_Mode; - - procedure Set_NoDelay_Mode - (Win : in Window := Standard_Window; - Mode : in Boolean := False) - is - function Nodelay (Win : Window; Mode : Curses_Bool) return C_Int; - pragma Import (C, Nodelay, "nodelay"); - begin - if Nodelay (Win, Curses_Bool (Boolean'Pos (Mode))) = Curses_Err then - raise Curses_Exception; - end if; - end Set_NoDelay_Mode; - - procedure Set_Timeout_Mode (Win : in Window := Standard_Window; - Mode : in Timeout_Mode; - Amount : in Natural) - is - function Wtimeout (Win : Window; Amount : C_Int) return C_Int; - pragma Import (C, Wtimeout, "wtimeout"); - - Time : C_Int; - begin - case Mode is - when Blocking => Time := -1; - when Non_Blocking => Time := 0; - when Delayed => - if Amount = 0 then - raise Constraint_Error; - end if; - Time := C_Int (Amount); - end case; - if Wtimeout (Win, Time) = Curses_Err then - raise Curses_Exception; - end if; - end Set_Timeout_Mode; - - procedure Set_Escape_Timer_Mode - (Win : in Window := Standard_Window; - Timer_Off : in Boolean := False) - is - function Notimeout (Win : Window; Mode : Curses_Bool) return C_Int; - pragma Import (C, Notimeout, "notimeout"); - begin - if Notimeout (Win, Curses_Bool (Boolean'Pos (Timer_Off))) - = Curses_Err then - raise Curses_Exception; - end if; - end Set_Escape_Timer_Mode; - ------------------------------------------------------------------------------- - procedure Set_NL_Mode (SwitchOn : in Boolean := True) - is - function NL return C_Int; - pragma Import (C, NL, "nl"); - function NoNL return C_Int; - pragma Import (C, NoNL, "nonl"); - - Err : C_Int; - begin - if SwitchOn then - Err := NL; - else - Err := NoNL; - end if; - if Err = Curses_Err then - raise Curses_Exception; - end if; - end Set_NL_Mode; - - procedure Clear_On_Next_Update - (Win : in Window := Standard_Window; - Do_Clear : in Boolean := True) - is - function Clear_Ok (W : Window; Flag : Curses_Bool) return C_Int; - pragma Import (C, Clear_Ok, "clearok"); - begin - if Clear_Ok (Win, Curses_Bool (Boolean'Pos (Do_Clear))) = Curses_Err then - raise Curses_Exception; - end if; - end Clear_On_Next_Update; - - procedure Use_Insert_Delete_Line - (Win : in Window := Standard_Window; - Do_Idl : in Boolean := True) - is - function IDL_Ok (W : Window; Flag : Curses_Bool) return C_Int; - pragma Import (C, IDL_Ok, "idlok"); - begin - if IDL_Ok (Win, Curses_Bool (Boolean'Pos (Do_Idl))) = Curses_Err then - raise Curses_Exception; - end if; - end Use_Insert_Delete_Line; - - procedure Use_Insert_Delete_Character - (Win : in Window := Standard_Window; - Do_Idc : in Boolean := True) - is - function IDC_Ok (W : Window; Flag : Curses_Bool) return C_Int; - pragma Import (C, IDC_Ok, "idcok"); - begin - if IDC_Ok (Win, Curses_Bool (Boolean'Pos (Do_Idc))) = Curses_Err then - raise Curses_Exception; - end if; - end Use_Insert_Delete_Character; - - procedure Leave_Cursor_After_Update - (Win : in Window := Standard_Window; - Do_Leave : in Boolean := True) - is - function Leave_Ok (W : Window; Flag : Curses_Bool) return C_Int; - pragma Import (C, Leave_Ok, "leaveok"); - begin - if Leave_Ok (Win, Curses_Bool (Boolean'Pos (Do_Leave))) = Curses_Err then - raise Curses_Exception; - end if; - end Leave_Cursor_After_Update; - - procedure Immediate_Update_Mode - (Win : in Window := Standard_Window; - Mode : in Boolean := False) - is - function Immedok (Win : Window; Mode : Curses_Bool) return C_Int; - pragma Import (C, Immedok, "immedok"); - begin - if Immedok (Win, Curses_Bool (Boolean'Pos (Mode))) = Curses_Err then - raise Curses_Exception; - end if; - end Immediate_Update_Mode; - - procedure Allow_Scrolling - (Win : in Window := Standard_Window; - Mode : in Boolean := False) - is - function Scrollok (Win : Window; Mode : Curses_Bool) return C_Int; - pragma Import (C, Scrollok, "scrollok"); - begin - if Scrollok (Win, Curses_Bool (Boolean'Pos (Mode))) = Curses_Err then - raise Curses_Exception; - end if; - end Allow_Scrolling; - - function Scrolling_Allowed (Win : Window := Standard_Window) - return Boolean - is - begin - return Get_Flag (Win, Offset_scroll); - end Scrolling_Allowed; - - procedure Set_Scroll_Region - (Win : in Window := Standard_Window; - Top_Line : in Line_Position; - Bottom_Line : in Line_Position) - is - function Wsetscrreg (Win : Window; - Lin : C_Int; - Col : C_Int) return C_Int; - pragma Import (C, Wsetscrreg, "wsetscrreg"); - begin - if Wsetscrreg (Win, C_Int (Top_Line), C_Int (Bottom_Line)) - = Curses_Err then - raise Curses_Exception; - end if; - end Set_Scroll_Region; ------------------------------------------------------------------------------- - procedure Update_Screen - is - function Do_Update return C_Int; - pragma Import (C, Do_Update, "doupdate"); - begin - if Do_Update = Curses_Err then - raise Curses_Exception; - end if; - end Update_Screen; - - procedure Refresh (Win : in Window := Standard_Window) - is - function Wrefresh (W : Window) return C_Int; - pragma Import (C, Wrefresh, "wrefresh"); - begin - if Wrefresh (Win) = Curses_Err then - raise Curses_Exception; - end if; - end Refresh; - - procedure Refresh_Without_Update - (Win : in Window := Standard_Window) - is - function Wnoutrefresh (W : Window) return C_Int; - pragma Import (C, Wnoutrefresh, "wnoutrefresh"); - begin - if Wnoutrefresh (Win) = Curses_Err then - raise Curses_Exception; - end if; - end Refresh_Without_Update; - - procedure Redraw (Win : in Window := Standard_Window) - is - function Redrawwin (Win : Window) return C_Int; - pragma Import (C, Redrawwin, "redrawwin"); - begin - if Redrawwin (Win) = Curses_Err then - raise Curses_Exception; - end if; - end Redraw; - - procedure Redraw - (Win : in Window := Standard_Window; - Begin_Line : in Line_Position; - Line_Count : in Positive) - is - function Wredrawln (Win : Window; First : C_Int; Cnt : C_Int) - return C_Int; - pragma Import (C, Wredrawln, "wredrawln"); - begin - if Wredrawln (Win, - C_Int (Begin_Line), - C_Int (Line_Count)) = Curses_Err then - raise Curses_Exception; - end if; - end Redraw; - ------------------------------------------------------------------------------- - procedure Erase (Win : in Window := Standard_Window) - is - function Werase (W : Window) return C_Int; - pragma Import (C, Werase, "werase"); - begin - if Werase (Win) = Curses_Err then - raise Curses_Exception; - end if; - end Erase; - - procedure Clear (Win : in Window := Standard_Window) - is - function Wclear (W : Window) return C_Int; - pragma Import (C, Wclear, "wclear"); - begin - if Wclear (Win) = Curses_Err then - raise Curses_Exception; - end if; - end Clear; - - procedure Clear_To_End_Of_Screen (Win : in Window := Standard_Window) - is - function Wclearbot (W : Window) return C_Int; - pragma Import (C, Wclearbot, "wclrtobot"); - begin - if Wclearbot (Win) = Curses_Err then - raise Curses_Exception; - end if; - end Clear_To_End_Of_Screen; - - procedure Clear_To_End_Of_Line (Win : in Window := Standard_Window) - is - function Wcleareol (W : Window) return C_Int; - pragma Import (C, Wcleareol, "wclrtoeol"); - begin - if Wcleareol (Win) = Curses_Err then - raise Curses_Exception; - end if; - end Clear_To_End_Of_Line; ------------------------------------------------------------------------------- - procedure Set_Background - (Win : in Window := Standard_Window; - Ch : in Attributed_Character) - is - procedure WBackground (W : in Window; Ch : in C_Chtype); - pragma Import (C, WBackground, "wbkgdset"); - begin - WBackground (Win, AttrChar_To_Chtype (Ch)); - end Set_Background; - - procedure Change_Background - (Win : in Window := Standard_Window; - Ch : in Attributed_Character) - is - function WChangeBkgd (W : Window; Ch : C_Chtype) return C_Int; - pragma Import (C, WChangeBkgd, "wbkgd"); - begin - if WChangeBkgd (Win, AttrChar_To_Chtype (Ch)) = Curses_Err then - raise Curses_Exception; - end if; - end Change_Background; - - function Get_Background (Win : Window := Standard_Window) - return Attributed_Character - is - function Wgetbkgd (Win : Window) return C_Chtype; - pragma Import (C, Wgetbkgd, "getbkgd"); - begin - return Chtype_To_AttrChar (Wgetbkgd (Win)); - end Get_Background; ------------------------------------------------------------------------------- - procedure Change_Lines_Status (Win : in Window := Standard_Window; - Start : in Line_Position; - Count : in Positive; - State : in Boolean) - is - function Wtouchln (Win : Window; - Sta : C_Int; - Cnt : C_Int; - Chg : C_Int) return C_Int; - pragma Import (C, Wtouchln, "wtouchln"); - begin - if Wtouchln (Win, C_Int (Start), C_Int (Count), - C_Int (Boolean'Pos (State))) = Curses_Err then - raise Curses_Exception; - end if; - end Change_Lines_Status; - - procedure Touch (Win : in Window := Standard_Window) - is - Y : Line_Position; - X : Column_Position; - begin - Get_Size (Win, Y, X); - Change_Lines_Status (Win, 0, Positive (Y), True); - end Touch; - - procedure Untouch (Win : in Window := Standard_Window) - is - Y : Line_Position; - X : Column_Position; - begin - Get_Size (Win, Y, X); - Change_Lines_Status (Win, 0, Positive (Y), False); - end Untouch; - - procedure Touch (Win : in Window := Standard_Window; - Start : in Line_Position; - Count : in Positive) - is - begin - Change_Lines_Status (Win, Start, Count, True); - end Touch; - - function Is_Touched - (Win : Window := Standard_Window; - Line : Line_Position) return Boolean - is - function WLineTouched (W : Window; L : C_Int) return Curses_Bool; - pragma Import (C, WLineTouched, "is_linetouched"); - begin - if WLineTouched (Win, C_Int (Line)) = Curses_Bool_False then - return False; - else - return True; - end if; - end Is_Touched; - - function Is_Touched - (Win : Window := Standard_Window) return Boolean - is - function WWinTouched (W : Window) return Curses_Bool; - pragma Import (C, WWinTouched, "is_wintouched"); - begin - if WWinTouched (Win) = Curses_Bool_False then - return False; - else - return True; - end if; - end Is_Touched; ------------------------------------------------------------------------------- - procedure Copy - (Source_Window : in Window; - Destination_Window : in Window; - Source_Top_Row : in Line_Position; - Source_Left_Column : in Column_Position; - Destination_Top_Row : in Line_Position; - Destination_Left_Column : in Column_Position; - Destination_Bottom_Row : in Line_Position; - Destination_Right_Column : in Column_Position; - Non_Destructive_Mode : in Boolean := True) - is - function Copywin (Src : Window; - Dst : Window; - Str : C_Int; - Slc : C_Int; - Dtr : C_Int; - Dlc : C_Int; - Dbr : C_Int; - Drc : C_Int; - Ndm : C_Int) return C_Int; - pragma Import (C, Copywin, "copywin"); - begin - if Copywin (Source_Window, - Destination_Window, - C_Int (Source_Top_Row), - C_Int (Source_Left_Column), - C_Int (Destination_Top_Row), - C_Int (Destination_Left_Column), - C_Int (Destination_Bottom_Row), - C_Int (Destination_Right_Column), - Boolean'Pos (Non_Destructive_Mode) - ) = Curses_Err then - raise Curses_Exception; - end if; - end Copy; - - procedure Overwrite - (Source_Window : in Window; - Destination_Window : in Window) - is - function Overwrite (Src : Window; Dst : Window) return C_Int; - pragma Import (C, Overwrite, "overwrite"); - begin - if Overwrite (Source_Window, Destination_Window) = Curses_Err then - raise Curses_Exception; - end if; - end Overwrite; - - procedure Overlay - (Source_Window : in Window; - Destination_Window : in Window) - is - function Overlay (Src : Window; Dst : Window) return C_Int; - pragma Import (C, Overlay, "overlay"); - begin - if Overlay (Source_Window, Destination_Window) = Curses_Err then - raise Curses_Exception; - end if; - end Overlay; - ------------------------------------------------------------------------------- - procedure Insert_Delete_Lines - (Win : in Window := Standard_Window; - Lines : in Integer := 1) -- default is to insert one line above - is - function Winsdelln (W : Window; N : C_Int) return C_Int; - pragma Import (C, Winsdelln, "winsdelln"); - begin - if Winsdelln (Win, C_Int (Lines)) = Curses_Err then - raise Curses_Exception; - end if; - end Insert_Delete_Lines; - - procedure Delete_Line (Win : in Window := Standard_Window) - is - begin - Insert_Delete_Lines (Win, -1); - end Delete_Line; - - procedure Insert_Line (Win : in Window := Standard_Window) - is - begin - Insert_Delete_Lines (Win, 1); - end Insert_Line; ------------------------------------------------------------------------------- - - - procedure Get_Size - (Win : in Window := Standard_Window; - Number_Of_Lines : out Line_Count; - Number_Of_Columns : out Column_Count) - is - -- Please note: in ncurses they are one off. - -- This might be different in other implementations of curses - Y : constant C_Int := C_Int (W_Get_Short (Win, Offset_maxy)) - + C_Int (Offset_XY); - X : constant C_Int := C_Int (W_Get_Short (Win, Offset_maxx)) - + C_Int (Offset_XY); - begin - Number_Of_Lines := Line_Count (Y); - Number_Of_Columns := Column_Count (X); - end Get_Size; - - procedure Get_Window_Position - (Win : in Window := Standard_Window; - Top_Left_Line : out Line_Position; - Top_Left_Column : out Column_Position) - is - Y : constant C_Short := W_Get_Short (Win, Offset_begy); - X : constant C_Short := W_Get_Short (Win, Offset_begx); - begin - Top_Left_Line := Line_Position (Y); - Top_Left_Column := Column_Position (X); - end Get_Window_Position; - - procedure Get_Cursor_Position - (Win : in Window := Standard_Window; - Line : out Line_Position; - Column : out Column_Position) - is - Y : constant C_Short := W_Get_Short (Win, Offset_cury); - X : constant C_Short := W_Get_Short (Win, Offset_curx); - begin - Line := Line_Position (Y); - Column := Column_Position (X); - end Get_Cursor_Position; - - procedure Get_Origin_Relative_To_Parent - (Win : in Window; - Top_Left_Line : out Line_Position; - Top_Left_Column : out Column_Position; - Is_Not_A_Subwindow : out Boolean) - is - Y : constant C_Int := W_Get_Int (Win, Offset_pary); - X : constant C_Int := W_Get_Int (Win, Offset_parx); - begin - if Y = -1 then - Top_Left_Line := Line_Position'Last; - Top_Left_Column := Column_Position'Last; - Is_Not_A_Subwindow := True; - else - Top_Left_Line := Line_Position (Y); - Top_Left_Column := Column_Position (X); - Is_Not_A_Subwindow := False; - end if; - end Get_Origin_Relative_To_Parent; ------------------------------------------------------------------------------- - function New_Pad (Lines : Line_Count; - Columns : Column_Count) return Window - is - function Newpad (Lines : C_Int; Columns : C_Int) return Window; - pragma Import (C, Newpad, "newpad"); - - W : Window; - begin - W := Newpad (C_Int (Lines), C_Int (Columns)); - if W = Null_Window then - raise Curses_Exception; - end if; - return W; - end New_Pad; - - function Sub_Pad - (Pad : Window; - Number_Of_Lines : Line_Count; - Number_Of_Columns : Column_Count; - First_Line_Position : Line_Position; - First_Column_Position : Column_Position) return Window - is - function Subpad - (Pad : Window; - Number_Of_Lines : C_Int; - Number_Of_Columns : C_Int; - First_Line_Position : C_Int; - First_Column_Position : C_Int) return Window; - pragma Import (C, Subpad, "subpad"); - - W : Window; - begin - W := Subpad (Pad, - C_Int (Number_Of_Lines), - C_Int (Number_Of_Columns), - C_Int (First_Line_Position), - C_Int (First_Column_Position)); - if W = Null_Window then - raise Curses_Exception; - end if; - return W; - end Sub_Pad; - - procedure Refresh - (Pad : in Window; - Source_Top_Row : in Line_Position; - Source_Left_Column : in Column_Position; - Destination_Top_Row : in Line_Position; - Destination_Left_Column : in Column_Position; - Destination_Bottom_Row : in Line_Position; - Destination_Right_Column : in Column_Position) - is - function Prefresh - (Pad : Window; - Source_Top_Row : C_Int; - Source_Left_Column : C_Int; - Destination_Top_Row : C_Int; - Destination_Left_Column : C_Int; - Destination_Bottom_Row : C_Int; - Destination_Right_Column : C_Int) return C_Int; - pragma Import (C, Prefresh, "prefresh"); - begin - if Prefresh (Pad, - C_Int (Source_Top_Row), - C_Int (Source_Left_Column), - C_Int (Destination_Top_Row), - C_Int (Destination_Left_Column), - C_Int (Destination_Bottom_Row), - C_Int (Destination_Right_Column)) = Curses_Err then - raise Curses_Exception; - end if; - end Refresh; - - procedure Refresh_Without_Update - (Pad : in Window; - Source_Top_Row : in Line_Position; - Source_Left_Column : in Column_Position; - Destination_Top_Row : in Line_Position; - Destination_Left_Column : in Column_Position; - Destination_Bottom_Row : in Line_Position; - Destination_Right_Column : in Column_Position) - is - function Pnoutrefresh - (Pad : Window; - Source_Top_Row : C_Int; - Source_Left_Column : C_Int; - Destination_Top_Row : C_Int; - Destination_Left_Column : C_Int; - Destination_Bottom_Row : C_Int; - Destination_Right_Column : C_Int) return C_Int; - pragma Import (C, Pnoutrefresh, "pnoutrefresh"); - begin - if Pnoutrefresh (Pad, - C_Int (Source_Top_Row), - C_Int (Source_Left_Column), - C_Int (Destination_Top_Row), - C_Int (Destination_Left_Column), - C_Int (Destination_Bottom_Row), - C_Int (Destination_Right_Column)) = Curses_Err then - raise Curses_Exception; - end if; - end Refresh_Without_Update; - - procedure Add_Character_To_Pad_And_Echo_It - (Pad : in Window; - Ch : in Attributed_Character) - is - function Pechochar (Pad : Window; Ch : C_Chtype) - return C_Int; - pragma Import (C, Pechochar, "pechochar"); - begin - if Pechochar (Pad, AttrChar_To_Chtype (Ch)) = Curses_Err then - raise Curses_Exception; - end if; - end Add_Character_To_Pad_And_Echo_It; - - procedure Add_Character_To_Pad_And_Echo_It - (Pad : in Window; - Ch : in Character) - is - begin - Add_Character_To_Pad_And_Echo_It - (Pad, - Attributed_Character'(Ch => Ch, - Color => Color_Pair'First, - Attr => Normal_Video)); - end Add_Character_To_Pad_And_Echo_It; ------------------------------------------------------------------------------- - procedure Scroll (Win : in Window := Standard_Window; - Amount : in Integer := 1) - is - function Wscrl (Win : Window; N : C_Int) return C_Int; - pragma Import (C, Wscrl, "wscrl"); - - begin - if Wscrl (Win, C_Int (Amount)) = Curses_Err then - raise Curses_Exception; - end if; - end Scroll; - ------------------------------------------------------------------------------- - procedure Delete_Character (Win : in Window := Standard_Window) - is - function Wdelch (Win : Window) return C_Int; - pragma Import (C, Wdelch, "wdelch"); - begin - if Wdelch (Win) = Curses_Err then - raise Curses_Exception; - end if; - end Delete_Character; - - procedure Delete_Character - (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position) - is - function Mvwdelch (Win : Window; - Lin : C_Int; - Col : C_Int) return C_Int; - pragma Import (C, Mvwdelch, "mvwdelch"); - begin - if Mvwdelch (Win, C_Int (Line), C_Int (Column)) = Curses_Err then - raise Curses_Exception; - end if; - end Delete_Character; ------------------------------------------------------------------------------- - function Peek (Win : Window := Standard_Window) - return Attributed_Character - is - function Winch (Win : Window) return C_Chtype; - pragma Import (C, Winch, "winch"); - begin - return Chtype_To_AttrChar (Winch (Win)); - end Peek; - - function Peek - (Win : Window := Standard_Window; - Line : Line_Position; - Column : Column_Position) return Attributed_Character - is - function Mvwinch (Win : Window; - Lin : C_Int; - Col : C_Int) return C_Chtype; - pragma Import (C, Mvwinch, "mvwinch"); - begin - return Chtype_To_AttrChar (Mvwinch (Win, C_Int (Line), C_Int (Column))); - end Peek; ------------------------------------------------------------------------------- - procedure Insert (Win : in Window := Standard_Window; - Ch : in Attributed_Character) - is - function Winsch (Win : Window; Ch : C_Chtype) return C_Int; - pragma Import (C, Winsch, "winsch"); - begin - if Winsch (Win, AttrChar_To_Chtype (Ch)) = Curses_Err then - raise Curses_Exception; - end if; - end Insert; - - procedure Insert - (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Ch : in Attributed_Character) - is - function Mvwinsch (Win : Window; - Lin : C_Int; - Col : C_Int; - Ch : C_Chtype) return C_Int; - pragma Import (C, Mvwinsch, "mvwinsch"); - begin - if Mvwinsch (Win, - C_Int (Line), - C_Int (Column), - AttrChar_To_Chtype (Ch)) = Curses_Err then - raise Curses_Exception; - end if; - end Insert; ------------------------------------------------------------------------------- - procedure Insert (Win : in Window := Standard_Window; - Str : in String; - Len : in Integer := -1) - is - function Winsnstr (Win : Window; - Str : char_array; - Len : Integer := -1) return C_Int; - pragma Import (C, Winsnstr, "winsnstr"); - - Txt : char_array (0 .. Str'Length); - Length : size_t; - begin - To_C (Str, Txt, Length); - if Winsnstr (Win, Txt, Len) = Curses_Err then - raise Curses_Exception; - end if; - end Insert; - - procedure Insert - (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Str : in String; - Len : in Integer := -1) - is - function Mvwinsnstr (Win : Window; - Line : C_Int; - Column : C_Int; - Str : char_array; - Len : C_Int) return C_Int; - pragma Import (C, Mvwinsnstr, "mvwinsnstr"); - - Txt : char_array (0 .. Str'Length); - Length : size_t; - begin - To_C (Str, Txt, Length); - if Mvwinsnstr (Win, C_Int (Line), C_Int (Column), Txt, C_Int (Len)) - = Curses_Err then - raise Curses_Exception; - end if; - end Insert; ------------------------------------------------------------------------------- - procedure Peek (Win : in Window := Standard_Window; - Str : out String; - Len : in Integer := -1) - is - function Winnstr (Win : Window; - Str : char_array; - Len : C_Int) return C_Int; - pragma Import (C, Winnstr, "winnstr"); - - N : Integer := Len; - Txt : char_array (0 .. Str'Length); - Cnt : Natural; - begin - if N < 0 then - N := Str'Length; - end if; - if N > Str'Length then - raise Constraint_Error; - end if; - Txt (0) := Interfaces.C.char'First; - if Winnstr (Win, Txt, C_Int (N)) = Curses_Err then - raise Curses_Exception; - end if; - To_Ada (Txt, Str, Cnt, True); - if Cnt < Str'Length then - Str ((Str'First + Cnt) .. Str'Last) := (others => ' '); - end if; - end Peek; - - procedure Peek - (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Str : out String; - Len : in Integer := -1) - is - begin - Move_Cursor (Win, Line, Column); - Peek (Win, Str, Len); - end Peek; ------------------------------------------------------------------------------- - procedure Peek - (Win : in Window := Standard_Window; - Str : out Attributed_String; - Len : in Integer := -1) - is - function Winchnstr (Win : Window; - Str : chtype_array; -- out - Len : C_Int) return C_Int; - pragma Import (C, Winchnstr, "winchnstr"); - - N : Integer := Len; - Txt : constant chtype_array (0 .. Str'Length) - := (0 => Default_Character); - Cnt : Natural := 0; - begin - if N < 0 then - N := Str'Length; - end if; - if N > Str'Length then - raise Constraint_Error; - end if; - if Winchnstr (Win, Txt, C_Int (N)) = Curses_Err then - raise Curses_Exception; - end if; - for To in Str'Range loop - exit when Txt (size_t (Cnt)) = Default_Character; - Str (To) := Txt (size_t (Cnt)); - Cnt := Cnt + 1; - end loop; - if Cnt < Str'Length then - Str ((Str'First + Cnt) .. Str'Last) := - (others => (Ch => ' ', - Color => Color_Pair'First, - Attr => Normal_Video)); - end if; - end Peek; - - procedure Peek - (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Str : out Attributed_String; - Len : in Integer := -1) - is - begin - Move_Cursor (Win, Line, Column); - Peek (Win, Str, Len); - end Peek; ------------------------------------------------------------------------------- - procedure Get (Win : in Window := Standard_Window; - Str : out String; - Len : in Integer := -1) - is - function Wgetnstr (Win : Window; - Str : char_array; - Len : C_Int) return C_Int; - pragma Import (C, Wgetnstr, "wgetnstr"); - - N : Integer := Len; - Txt : char_array (0 .. Str'Length); - Cnt : Natural; - begin - if N < 0 then - N := Str'Length; - end if; - if N > Str'Length then - raise Constraint_Error; - end if; - Txt (0) := Interfaces.C.char'First; - if Wgetnstr (Win, Txt, C_Int (N)) = Curses_Err then - raise Curses_Exception; - end if; - To_Ada (Txt, Str, Cnt, True); - if Cnt < Str'Length then - Str ((Str'First + Cnt) .. Str'Last) := (others => ' '); - end if; - end Get; - - procedure Get - (Win : in Window := Standard_Window; - Line : in Line_Position; - Column : in Column_Position; - Str : out String; - Len : in Integer := -1) - is - begin - Move_Cursor (Win, Line, Column); - Get (Win, Str, Len); - end Get; ------------------------------------------------------------------------------- - procedure Init_Soft_Label_Keys - (Format : in Soft_Label_Key_Format := Three_Two_Three) - is - function Slk_Init (Fmt : C_Int) return C_Int; - pragma Import (C, Slk_Init, "slk_init"); - begin - if Slk_Init (Soft_Label_Key_Format'Pos (Format)) = Curses_Err then - raise Curses_Exception; - end if; - end Init_Soft_Label_Keys; - - procedure Set_Soft_Label_Key (Label : in Label_Number; - Text : in String; - Fmt : in Label_Justification := Left) - is - function Slk_Set (Label : C_Int; - Txt : char_array; - Fmt : C_Int) return C_Int; - pragma Import (C, Slk_Set, "slk_set"); - - Txt : char_array (0 .. Text'Length); - Len : size_t; - begin - To_C (Text, Txt, Len); - if Slk_Set (C_Int (Label), Txt, - C_Int (Label_Justification'Pos (Fmt))) = Curses_Err then - raise Curses_Exception; - end if; - end Set_Soft_Label_Key; - - procedure Refresh_Soft_Label_Keys - is - function Slk_Refresh return C_Int; - pragma Import (C, Slk_Refresh, "slk_refresh"); - begin - if Slk_Refresh = Curses_Err then - raise Curses_Exception; - end if; - end Refresh_Soft_Label_Keys; - - procedure Refresh_Soft_Label_Keys_Without_Update - is - function Slk_Noutrefresh return C_Int; - pragma Import (C, Slk_Noutrefresh, "slk_noutrefresh"); - begin - if Slk_Noutrefresh = Curses_Err then - raise Curses_Exception; - end if; - end Refresh_Soft_Label_Keys_Without_Update; - - procedure Get_Soft_Label_Key (Label : in Label_Number; - Text : out String) - is - function Slk_Label (Label : C_Int) return chars_ptr; - pragma Import (C, Slk_Label, "slk_label"); - begin - Fill_String (Slk_Label (C_Int (Label)), Text); - end Get_Soft_Label_Key; - - function Get_Soft_Label_Key (Label : in Label_Number) return String - is - function Slk_Label (Label : C_Int) return chars_ptr; - pragma Import (C, Slk_Label, "slk_label"); - begin - return Fill_String (Slk_Label (C_Int (Label))); - end Get_Soft_Label_Key; - - procedure Clear_Soft_Label_Keys - is - function Slk_Clear return C_Int; - pragma Import (C, Slk_Clear, "slk_clear"); - begin - if Slk_Clear = Curses_Err then - raise Curses_Exception; - end if; - end Clear_Soft_Label_Keys; - - procedure Restore_Soft_Label_Keys - is - function Slk_Restore return C_Int; - pragma Import (C, Slk_Restore, "slk_restore"); - begin - if Slk_Restore = Curses_Err then - raise Curses_Exception; - end if; - end Restore_Soft_Label_Keys; - - procedure Touch_Soft_Label_Keys - is - function Slk_Touch return C_Int; - pragma Import (C, Slk_Touch, "slk_touch"); - begin - if Slk_Touch = Curses_Err then - raise Curses_Exception; - end if; - end Touch_Soft_Label_Keys; - - procedure Switch_Soft_Label_Key_Attributes - (Attr : in Character_Attribute_Set; - On : in Boolean := True) - is - function Slk_Attron (Ch : C_Chtype) return C_Int; - pragma Import (C, Slk_Attron, "slk_attron"); - function Slk_Attroff (Ch : C_Chtype) return C_Int; - pragma Import (C, Slk_Attroff, "slk_attroff"); - - Err : C_Int; - Ch : constant Attributed_Character := (Ch => Character'First, - Attr => Attr, - Color => Color_Pair'First); - begin - if On then - Err := Slk_Attron (AttrChar_To_Chtype (Ch)); - else - Err := Slk_Attroff (AttrChar_To_Chtype (Ch)); - end if; - if Err = Curses_Err then - raise Curses_Exception; - end if; - end Switch_Soft_Label_Key_Attributes; - - procedure Set_Soft_Label_Key_Attributes - (Attr : in Character_Attribute_Set := Normal_Video; - Color : in Color_Pair := Color_Pair'First) - is - function Slk_Attrset (Ch : C_Chtype) return C_Int; - pragma Import (C, Slk_Attrset, "slk_attrset"); - - Ch : constant Attributed_Character := (Ch => Character'First, - Attr => Attr, - Color => Color); - begin - if Slk_Attrset (AttrChar_To_Chtype (Ch)) = Curses_Err then - raise Curses_Exception; - end if; - end Set_Soft_Label_Key_Attributes; - - function Get_Soft_Label_Key_Attributes return Character_Attribute_Set - is - function Slk_Attr return C_Chtype; - pragma Import (C, Slk_Attr, "slk_attr"); - - Attr : constant C_Chtype := Slk_Attr; - begin - return Chtype_To_AttrChar (Attr).Attr; - end Get_Soft_Label_Key_Attributes; - - function Get_Soft_Label_Key_Attributes return Color_Pair - is - function Slk_Attr return C_Chtype; - pragma Import (C, Slk_Attr, "slk_attr"); - - Attr : constant C_Chtype := Slk_Attr; - begin - return Chtype_To_AttrChar (Attr).Color; - end Get_Soft_Label_Key_Attributes; - - procedure Set_Soft_Label_Key_Color (Pair : in Color_Pair) - is - function Slk_Color (Color : in C_Short) return C_Int; - pragma Import (C, Slk_Color, "slk_color"); - begin - if Slk_Color (C_Short (Pair)) = Curses_Err then - raise Curses_Exception; - end if; - end Set_Soft_Label_Key_Color; - ------------------------------------------------------------------------------- - procedure Enable_Key (Key : in Special_Key_Code; - Enable : in Boolean := True) - is - function Keyok (Keycode : C_Int; - On_Off : Curses_Bool) return C_Int; - pragma Import (C, Keyok, "keyok"); - begin - if Keyok (C_Int (Key), Curses_Bool (Boolean'Pos (Enable))) - = Curses_Err then - raise Curses_Exception; - end if; - end Enable_Key; ------------------------------------------------------------------------------- - procedure Define_Key (Definition : in String; - Key : in Special_Key_Code) - is - function Defkey (Def : char_array; - Key : C_Int) return C_Int; - pragma Import (C, Defkey, "define_key"); - - Txt : char_array (0 .. Definition'Length); - Length : size_t; - begin - To_C (Definition, Txt, Length); - if Defkey (Txt, C_Int (Key)) = Curses_Err then - raise Curses_Exception; - end if; - end Define_Key; ------------------------------------------------------------------------------- - procedure Un_Control (Ch : in Attributed_Character; - Str : out String) - is - function Unctrl (Ch : C_Chtype) return chars_ptr; - pragma Import (C, Unctrl, "unctrl"); - begin - Fill_String (Unctrl (AttrChar_To_Chtype (Ch)), Str); - end Un_Control; - - function Un_Control (Ch : in Attributed_Character) return String - is - function Unctrl (Ch : C_Chtype) return chars_ptr; - pragma Import (C, Unctrl, "unctrl"); - begin - return Fill_String (Unctrl (AttrChar_To_Chtype (Ch))); - end Un_Control; - - procedure Delay_Output (Msecs : in Natural) - is - function Delayoutput (Msecs : C_Int) return C_Int; - pragma Import (C, Delayoutput, "delay_output"); - begin - if Delayoutput (C_Int (Msecs)) = Curses_Err then - raise Curses_Exception; - end if; - end Delay_Output; - - procedure Flush_Input - is - function Flushinp return C_Int; - pragma Import (C, Flushinp, "flushinp"); - begin - if Flushinp = Curses_Err then -- docu says that never happens, but... - raise Curses_Exception; - end if; - end Flush_Input; ------------------------------------------------------------------------------- - function Baudrate return Natural - is - function Baud return C_Int; - pragma Import (C, Baud, "baudrate"); - begin - return Natural (Baud); - end Baudrate; - - function Erase_Character return Character - is - function Erasechar return C_Int; - pragma Import (C, Erasechar, "erasechar"); - begin - return Character'Val (Erasechar); - end Erase_Character; - - function Kill_Character return Character - is - function Killchar return C_Int; - pragma Import (C, Killchar, "killchar"); - begin - return Character'Val (Killchar); - end Kill_Character; - - function Has_Insert_Character return Boolean - is - function Has_Ic return Curses_Bool; - pragma Import (C, Has_Ic, "has_ic"); - begin - if Has_Ic = Curses_Bool_False then - return False; - else - return True; - end if; - end Has_Insert_Character; - - function Has_Insert_Line return Boolean - is - function Has_Il return Curses_Bool; - pragma Import (C, Has_Il, "has_il"); - begin - if Has_Il = Curses_Bool_False then - return False; - else - return True; - end if; - end Has_Insert_Line; - - function Supported_Attributes return Character_Attribute_Set - is - function Termattrs return C_Chtype; - pragma Import (C, Termattrs, "termattrs"); - - Ch : constant Attributed_Character := Chtype_To_AttrChar (Termattrs); - begin - return Ch.Attr; - end Supported_Attributes; - - procedure Long_Name (Name : out String) - is - function Longname return chars_ptr; - pragma Import (C, Longname, "longname"); - begin - Fill_String (Longname, Name); - end Long_Name; - - function Long_Name return String - is - function Longname return chars_ptr; - pragma Import (C, Longname, "longname"); - begin - return Fill_String (Longname); - end Long_Name; - - procedure Terminal_Name (Name : out String) - is - function Termname return chars_ptr; - pragma Import (C, Termname, "termname"); - begin - Fill_String (Termname, Name); - end Terminal_Name; - - function Terminal_Name return String - is - function Termname return chars_ptr; - pragma Import (C, Termname, "termname"); - begin - return Fill_String (Termname); - end Terminal_Name; ------------------------------------------------------------------------------- - procedure Init_Pair (Pair : in Redefinable_Color_Pair; - Fore : in Color_Number; - Back : in Color_Number) - is - function Initpair (Pair : C_Short; - Fore : C_Short; - Back : C_Short) return C_Int; - pragma Import (C, Initpair, "init_pair"); - begin - if Integer (Pair) >= Number_Of_Color_Pairs then - raise Constraint_Error; - end if; - if Integer (Fore) >= Number_Of_Colors or else - Integer (Back) >= Number_Of_Colors then raise Constraint_Error; - end if; - if Initpair (C_Short (Pair), C_Short (Fore), C_Short (Back)) - = Curses_Err then - raise Curses_Exception; - end if; - end Init_Pair; - - procedure Pair_Content (Pair : in Color_Pair; - Fore : out Color_Number; - Back : out Color_Number) - is - type C_Short_Access is access all C_Short; - function Paircontent (Pair : C_Short; - Fp : C_Short_Access; - Bp : C_Short_Access) return C_Int; - pragma Import (C, Paircontent, "pair_content"); - - F, B : aliased C_Short; - begin - if Paircontent (C_Short (Pair), F'Access, B'Access) = Curses_Err then - raise Curses_Exception; - else - Fore := Color_Number (F); - Back := Color_Number (B); - end if; - end Pair_Content; - - function Has_Colors return Boolean - is - function Hascolors return Curses_Bool; - pragma Import (C, Hascolors, "has_colors"); - begin - if Hascolors = Curses_Bool_False then - return False; - else - return True; - end if; - end Has_Colors; - - procedure Init_Color (Color : in Color_Number; - Red : in RGB_Value; - Green : in RGB_Value; - Blue : in RGB_Value) - is - function Initcolor (Col : C_Short; - Red : C_Short; - Green : C_Short; - Blue : C_Short) return C_Int; - pragma Import (C, Initcolor, "init_color"); - begin - if Initcolor (C_Short (Color), C_Short (Red), C_Short (Green), - C_Short (Blue)) = Curses_Err then - raise Curses_Exception; - end if; - end Init_Color; - - function Can_Change_Color return Boolean - is - function Canchangecolor return Curses_Bool; - pragma Import (C, Canchangecolor, "can_change_color"); - begin - if Canchangecolor = Curses_Bool_False then - return False; - else - return True; - end if; - end Can_Change_Color; - - procedure Color_Content (Color : in Color_Number; - Red : out RGB_Value; - Green : out RGB_Value; - Blue : out RGB_Value) - is - type C_Short_Access is access all C_Short; - - function Colorcontent (Color : C_Short; R, G, B : C_Short_Access) - return C_Int; - pragma Import (C, Colorcontent, "color_content"); - - R, G, B : aliased C_Short; - begin - if Colorcontent (C_Short (Color), R'Access, G'Access, B'Access) = - Curses_Err then - raise Curses_Exception; - else - Red := RGB_Value (R); - Green := RGB_Value (G); - Blue := RGB_Value (B); - end if; - end Color_Content; - ------------------------------------------------------------------------------- - procedure Save_Curses_Mode (Mode : in Curses_Mode) - is - function Def_Prog_Mode return C_Int; - pragma Import (C, Def_Prog_Mode, "def_prog_mode"); - function Def_Shell_Mode return C_Int; - pragma Import (C, Def_Shell_Mode, "def_shell_mode"); - - Err : C_Int; - begin - case Mode is - when Curses => Err := Def_Prog_Mode; - when Shell => Err := Def_Shell_Mode; - end case; - if Err = Curses_Err then - raise Curses_Exception; - end if; - end Save_Curses_Mode; - - procedure Reset_Curses_Mode (Mode : in Curses_Mode) - is - function Reset_Prog_Mode return C_Int; - pragma Import (C, Reset_Prog_Mode, "reset_prog_mode"); - function Reset_Shell_Mode return C_Int; - pragma Import (C, Reset_Shell_Mode, "reset_shell_mode"); - - Err : C_Int; - begin - case Mode is - when Curses => Err := Reset_Prog_Mode; - when Shell => Err := Reset_Shell_Mode; - end case; - if Err = Curses_Err then - raise Curses_Exception; - end if; - end Reset_Curses_Mode; - - procedure Save_Terminal_State - is - function Savetty return C_Int; - pragma Import (C, Savetty, "savetty"); - begin - if Savetty = Curses_Err then - raise Curses_Exception; - end if; - end Save_Terminal_State; - - procedure Reset_Terminal_State - is - function Resetty return C_Int; - pragma Import (C, Resetty, "resetty"); - begin - if Resetty = Curses_Err then - raise Curses_Exception; - end if; - end Reset_Terminal_State; - - procedure Rip_Off_Lines (Lines : in Integer; - Proc : in Stdscr_Init_Proc) - is - function Ripoffline (Lines : C_Int; - Proc : Stdscr_Init_Proc) return C_Int; - pragma Import (C, Ripoffline, "_nc_ripoffline"); - begin - if Ripoffline (C_Int (Lines), Proc) = Curses_Err then - raise Curses_Exception; - end if; - end Rip_Off_Lines; - - procedure Set_Cursor_Visibility (Visibility : in out Cursor_Visibility) - is - function Curs_Set (Curs : C_Int) return C_Int; - pragma Import (C, Curs_Set, "curs_set"); - - Res : C_Int; - begin - Res := Curs_Set (Cursor_Visibility'Pos (Visibility)); - if Res /= Curses_Err then - Visibility := Cursor_Visibility'Val (Res); - end if; - end Set_Cursor_Visibility; - - procedure Nap_Milli_Seconds (Ms : in Natural) - is - function Napms (Ms : C_Int) return C_Int; - pragma Import (C, Napms, "napms"); - begin - if Napms (C_Int (Ms)) = Curses_Err then - raise Curses_Exception; - end if; - end Nap_Milli_Seconds; ------------------------------------------------------------------------------- - - function Standard_Window return Window - is - Stdscr : Window; - pragma Import (C, Stdscr, "stdscr"); - begin - return Stdscr; - end Standard_Window; - - function Lines return Line_Count - is - C_Lines : C_Int; - pragma Import (C, C_Lines, "LINES"); - begin - return Line_Count (C_Lines); - end Lines; - - function Columns return Column_Count - is - C_Columns : C_Int; - pragma Import (C, C_Columns, "COLS"); - begin - return Column_Count (C_Columns); - end Columns; - - function Tab_Size return Natural - is - C_Tab_Size : C_Int; - pragma Import (C, C_Tab_Size, "TABSIZE"); - begin - return Natural (C_Tab_Size); - end Tab_Size; - - function Number_Of_Colors return Natural - is - C_Number_Of_Colors : C_Int; - pragma Import (C, C_Number_Of_Colors, "COLORS"); - begin - return Natural (C_Number_Of_Colors); - end Number_Of_Colors; - - function Number_Of_Color_Pairs return Natural - is - C_Number_Of_Color_Pairs : C_Int; - pragma Import (C, C_Number_Of_Color_Pairs, "COLOR_PAIRS"); - begin - return Natural (C_Number_Of_Color_Pairs); - end Number_Of_Color_Pairs; ------------------------------------------------------------------------------- - procedure Transform_Coordinates - (W : in Window := Standard_Window; - Line : in out Line_Position; - Column : in out Column_Position; - Dir : in Transform_Direction := From_Screen) - is - type Int_Access is access all C_Int; - function Transform (W : Window; - Y, X : Int_Access; - Dir : Curses_Bool) return C_Int; - pragma Import (C, Transform, "wmouse_trafo"); - - X : aliased C_Int := C_Int (Column); - Y : aliased C_Int := C_Int (Line); - D : Curses_Bool := Curses_Bool_False; - R : C_Int; - begin - if Dir = To_Screen then - D := 1; - end if; - R := Transform (W, Y'Access, X'Access, D); - if R = Curses_False then - raise Curses_Exception; - else - Line := Line_Position (Y); - Column := Column_Position (X); - end if; - end Transform_Coordinates; ------------------------------------------------------------------------------- - procedure Use_Default_Colors is - function C_Use_Default_Colors return C_Int; - pragma Import (C, C_Use_Default_Colors, "use_default_colors"); - Err : constant C_Int := C_Use_Default_Colors; - begin - if Err = Curses_Err then - raise Curses_Exception; - end if; - end Use_Default_Colors; - - procedure Assume_Default_Colors (Fore : Color_Number := Default_Color; - Back : Color_Number := Default_Color) - is - function C_Assume_Default_Colors (Fore : C_Int; - Back : C_Int) return C_Int; - pragma Import (C, C_Assume_Default_Colors, "assume_default_colors"); - - Err : constant C_Int := C_Assume_Default_Colors (C_Int (Fore), - C_Int (Back)); - begin - if Err = Curses_Err then - raise Curses_Exception; - end if; - end Assume_Default_Colors; ------------------------------------------------------------------------------- - function Curses_Version return String - is - function curses_versionC return chars_ptr; - pragma Import (C, curses_versionC, "curses_version"); - Result : constant chars_ptr := curses_versionC; - begin - return Fill_String (Result); - end Curses_Version; ------------------------------------------------------------------------------- - function Use_Extended_Names (Enable : Boolean) return Boolean - is - function use_extended_namesC (e : Curses_Bool) return C_Int; - pragma Import (C, use_extended_namesC, "use_extended_names"); - - Res : constant C_Int := - use_extended_namesC (Curses_Bool (Boolean'Pos (Enable))); - begin - if Res = C_Int (Curses_Bool_False) then - return False; - else - return True; - end if; - end Use_Extended_Names; ------------------------------------------------------------------------------- - procedure Screen_Dump_To_File (Filename : in String) - is - function scr_dump (f : char_array) return C_Int; - pragma Import (C, scr_dump, "scr_dump"); - Txt : char_array (0 .. Filename'Length); - Length : size_t; - begin - To_C (Filename, Txt, Length); - if Curses_Err = scr_dump (Txt) then - raise Curses_Exception; - end if; - end Screen_Dump_To_File; - - procedure Screen_Restore_From_File (Filename : in String) - is - function scr_restore (f : char_array) return C_Int; - pragma Import (C, scr_restore, "scr_restore"); - Txt : char_array (0 .. Filename'Length); - Length : size_t; - begin - To_C (Filename, Txt, Length); - if Curses_Err = scr_restore (Txt) then - raise Curses_Exception; - end if; - end Screen_Restore_From_File; - - procedure Screen_Init_From_File (Filename : in String) - is - function scr_init (f : char_array) return C_Int; - pragma Import (C, scr_init, "scr_init"); - Txt : char_array (0 .. Filename'Length); - Length : size_t; - begin - To_C (Filename, Txt, Length); - if Curses_Err = scr_init (Txt) then - raise Curses_Exception; - end if; - end Screen_Init_From_File; - - procedure Screen_Set_File (Filename : in String) - is - function scr_set (f : char_array) return C_Int; - pragma Import (C, scr_set, "scr_set"); - Txt : char_array (0 .. Filename'Length); - Length : size_t; - begin - To_C (Filename, Txt, Length); - if Curses_Err = scr_set (Txt) then - raise Curses_Exception; - end if; - end Screen_Set_File; ------------------------------------------------------------------------------- - procedure Resize (Win : Window := Standard_Window; - Number_Of_Lines : Line_Count; - Number_Of_Columns : Column_Count) is - function wresize (win : Window; - lines : C_Int; - columns : C_Int) return C_Int; - pragma Import (C, wresize); - begin - if wresize (Win, - C_Int (Number_Of_Lines), - C_Int (Number_Of_Columns)) = Curses_Err then - raise Curses_Exception; - end if; - end Resize; ------------------------------------------------------------------------------- - -end Terminal_Interface.Curses; - diff --git a/src/libs/ncurses/Ada95/src/terminal_interface.ads b/src/libs/ncurses/Ada95/src/terminal_interface.ads deleted file mode 100644 index eaaeea9fc7..0000000000 --- a/src/libs/ncurses/Ada95/src/terminal_interface.ads +++ /dev/null @@ -1,48 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT ncurses Binding -- --- -- --- Terminal_Interface -- --- -- --- S P E C -- --- -- ------------------------------------------------------------------------------- --- Copyright (c) 1998 Free Software Foundation, Inc. -- --- -- --- Permission is hereby granted, free of charge, to any person obtaining a -- --- copy of this software and associated documentation files (the -- --- "Software"), to deal in the Software without restriction, including -- --- without limitation the rights to use, copy, modify, merge, publish, -- --- distribute, distribute with modifications, sublicense, and/or sell -- --- copies of the Software, and to permit persons to whom the Software is -- --- furnished to do so, subject to the following conditions: -- --- -- --- The above copyright notice and this permission notice shall be included -- --- in all copies or substantial portions of the Software. -- --- -- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -- --- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- --- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- --- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -- --- THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- --- -- --- Except as contained in this notice, the name(s) of the above copyright -- --- holders shall not be used in advertising or otherwise to promote the -- --- sale, use or other dealings in this Software without prior written -- --- authorization. -- ------------------------------------------------------------------------------- --- Author: Juergen Pfeifer, 1996 --- Version Control: --- $Revision: 1.12 $ --- Binding Version 01.00 ------------------------------------------------------------------------------- -package Terminal_Interface is - pragma Pure (Terminal_Interface); --- --- Everything is in the child units --- -end Terminal_Interface; - - diff --git a/src/libs/ncurses/INSTALL b/src/libs/ncurses/INSTALL deleted file mode 100644 index bc3a4f8495..0000000000 --- a/src/libs/ncurses/INSTALL +++ /dev/null @@ -1,1399 +0,0 @@ --- $Id: INSTALL,v 1.98 2005/10/09 14:09:37 tom Exp $ ---------------------------------------------------------------------- - How to install Ncurses/Terminfo on your system ---------------------------------------------------------------------- - - ************************************************************ - * READ ALL OF THIS FILE BEFORE YOU TRY TO INSTALL NCURSES. * - ************************************************************ - -You should be reading the file INSTALL in a directory called ncurses-d.d, where -d.d is the current version number. There should be several subdirectories, -including `c++', `form', `man', `menu', 'misc', `ncurses', `panel', `progs', -and `test'. See the README file for a roadmap to the package. - -If you are a Linux or FreeBSD or NetBSD distribution integrator or packager, -please read and act on the section titled IF YOU ARE A SYSTEM INTEGRATOR -below. - -If you are converting from BSD curses and do not have root access, be sure -to read the BSD CONVERSION NOTES section below. - -If you are trying to build applications using gpm with ncurses, -read the USING NCURSES WITH GPM section below. - -If you are running over the Andrew File System see the note below on -USING NCURSES WITH AFS. - -If you are cross-compiling, see the note below on BUILDING NCURSES WITH A -CROSS-COMPILER. - -If you want to build the Ada95 binding, go to the Ada95 directory and -follow the instructions there. The Ada95 binding is not covered below. - -If you are using anything but (a) Linux, or (b) one of the 4.4BSD-based -i386 Unixes, go read the Portability section in the TO-DO file before you -do anything else. - - -REQUIREMENTS: ------------- - -You will need the following to build and install ncurses under UNIX: - - * ANSI C compiler (gcc, for instance) - * sh (bash will do) - * awk (mawk or gawk will do) - * sed - * BSD or System V style install (a script is enclosed) - -Ncurses has been also built in the OS/2 EMX environment. - - -INSTALLATION PROCEDURE: ----------------------- - -1. First, decide whether you want ncurses to replace your existing library (in - which case you'll need super-user privileges) or be installed in parallel - with it. - - The --prefix option to configure changes the root directory for installing - ncurses. The default is normally in subdirectories of /usr/local, except - for systems where ncurses is normally installed as a system library, e.g., - Linux, the various BSD systems and Cygwin. Use --prefix=/usr to replace - your default curses distribution. - - The package gets installed beneath the --prefix directory as follows: - - In $(prefix)/bin: tic, infocmp, captoinfo, tset, - reset, clear, tput, toe - In $(prefix)/lib: libncurses*.* libcurses.a - In $(prefix)/share/terminfo: compiled terminal descriptions - In $(prefix)/include: C header files - Under $(prefix)/man: the manual pages - - Note that the configure script attempts to locate previous installation of - ncurses, and will set the default prefix according to where it finds the - ncurses headers. - - Do not use commands such as - - make install prefix=XXX - - to change the prefix after configuration, since the prefix value is used - for some absolute pathnames such as TERMINFO. Instead do this - - make install DESTDIR=XXX - - See also the discussion of --with-install-prefix. - -2. Type `./configure' in the top-level directory of the distribution to - configure ncurses for your operating system and create the Makefiles. - Besides --prefix, various configuration options are available to customize - the installation; use `./configure --help' to list the available options. - - If your operating system is not supported, read the PORTABILITY section in - the file ncurses/README for information on how to create a configuration - file for your system. - - The `configure' script generates makefile rules for one or more object - models and their associated libraries: - - libncurses.a (normal) - - libcurses.a (normal, a link to libncurses.a) - This gets left out if you configure with --disable-overwrite. - - libncurses.so (shared) - - libncurses_g.a (debug) - - libncurses_p.a (profile) - - libncurses.la (libtool) - - If you configure using the --enable-widec option, a "w" is appended to the - library names (e.g., libncursesw.a), and the resulting libraries support - wide-characters, e.g., via a UTF-8 locale. The corresponding header files - are compatible with the non-wide-character configuration; wide-character - features are provided by ifdef's in the header files. The wide-character - library interfaces are not binary-compatible with the non-wide-character - version. Building and running the wide-character code relies on a fairly - recent implementation of libiconv. We have built this configuration on - Linux using libiconv, sometimes requiring libutf8. - - If you do not specify any models, the normal and debug libraries will be - configured. Typing `configure' with no arguments is equivalent to: - - ./configure --with-normal --with-debug --enable-overwrite - - Typing - - ./configure --with-shared - - makes the shared libraries the default, resulting in - - ./configure --with-shared --with-normal --with-debug --enable-overwrite - - If you want only shared libraries, type - - ./configure --with-shared --without-normal --without-debug - - Rules for generating shared libraries are highly dependent upon the choice - of host system and compiler. We've been testing shared libraries on Linux - and SunOS with gcc, but more work needs to be done to make shared libraries - work on other systems. - - If you have libtool installed, you can type - - ./configure --with-libtool - - to generate the appropriate static and/or shared libraries for your - platform using libtool. - - You can make curses and terminfo fall back to an existing file of termcap - definitions by configuring with --enable-termcap. If you do this, the - library will search /etc/termcap before the terminfo database, and will - also interpret the contents of the TERM environment variable. See the - section BSD CONVERSION NOTES below. - -3. Type `make'. Ignore any warnings, no error messages should be produced. - This should compile the ncurses library, the terminfo compiler tic(1), - captoinfo(1), infocmp(1), toe(1), clear(1) tset(1), reset(1), and tput(1) - programs (see the manual pages for explanation of what they do), some test - programs, and the panels, menus, and forms libraries. - -4. Run ncurses and several other test programs in the test directory to - verify that ncurses functions correctly before doing an install that - may overwrite system files. Read the file test/README for details on - the test programs. - - NOTE: You must have installed the terminfo database, or set the - environment variable $TERMINFO to point to a SVr4-compatible terminfo - database before running the test programs. Not all vendors' terminfo - databases are SVr4-compatible, but most seem to be. Exceptions include - DEC's Digital Unix (formerly known as OSF/1). - - If you run the test programs WITHOUT installing terminfo, ncurses may - read the termcap file and cache that in $HOME/.terminfo, which will - thereafter be used instead of the terminfo database. See the comments - on "--enable-getcap-cache", to see why this is a Bad Thing. - - It is possible to configure ncurses to use other terminfo database formats. - A few are provided as examples in the include-directory (see --with-caps). - - The ncurses program is designed specifically to test the ncurses library. - You can use it to verify that the screen highlights work correctly, that - cursor addressing and window scrolling works OK, etc. - -5. Once you've tested, you can type `make install' to install libraries, - the programs, the terminfo database and the manual pages. Alternately, you - can type `make install' in each directory you want to install. In the - top-level directory, you can do a partial install using these commands: - - 'make install.progs' installs tic, infocmp, etc... - 'make install.includes' installs the headers. - 'make install.libs' installs the libraries (and the headers). - 'make install.data' installs the terminfo data. (Note: `tic' must - be installed before the terminfo data can be - compiled). - 'make install.man' installs the manual pages. - - ############################################################################ - # CAVEAT EMPTOR: `install.data' run as root will NUKE any existing # - # terminfo database. If you have any custom or unusual entries SAVE them # - # before you install ncurses. I have a file called terminfo.custom for # - # this purpose. Don't forget to run tic on the file once you're done. # - ############################################################################ - - The terminfo(5) manual page must be preprocessed with tbl(1) before - being formatted by nroff(1). Modern man(1) implementations tend to do - this by default, but you may want to look at your version's manual page - to be sure. You may also install the manual pages after preprocessing - with tbl(1) by specifying the configure option --with-manpage-tbl. - - If the system already has a curses library that you need to keep using - you'll need to distinguish between it and ncurses. See the discussion of - --disable-overwrite. If ncurses is installed outside the standard - directories (/usr/include and /usr/lib) then all your users will need to - use the -I option to compile programs and -L to link them. - - If you have another curses installed in your system and you accidentally - compile using its curses.h you'll end up with a large number of - undefined symbols at link time. - - IF YOU DO NOT HAVE ROOT: Change directory to the `progs' subdirectory - and run the `capconvert' script. This script will deduce various things - about your environment and use them to build you a private terminfo tree, - so you can use ncurses applications. - - If more than one user at your site does this, the space for the duplicate - trees is wasted. Try to get your site administrators to install a system- - wide terminfo tree instead. - - See the BSD CONVERSION NOTES section below for a few more details. - -6. The c++ directory has C++ classes that are built on top of ncurses and - panels. You must have c++ (and its libraries) installed before you can - compile and run the demo. - - Use --without-cxx-binding to tell configure to not build the C++ bindings - and demo. - - If you do not have C++, you must use the --without-cxx option to tell - the configure script to not attempt to determine the type of 'bool' - which may be supported by C++. IF YOU USE THIS OPTION, BE ADVISED THAT - YOU MAY NOT BE ABLE TO COMPILE (OR RUN) NCURSES APPLICATIONS WITH C++. - - -SUMMARY OF CONFIGURE OPTIONS: ----------------------------- - - The configure script provides a short list of its options when you type - - ./configure --help - - The --help and several options are common to all configure scripts that are - generated with autoconf. Those are all listed before the line - - --enable and --with options recognized: - - The other options are specific to this package. We list them in alphabetic - order. - - --disable-assumed-color - With ncurses 5.1, we introduced a new function, assume_default_colors() - which allows applications to specify what the default foreground and - background color are assumed to be. Most color applications use - full-screen color; but a few do not color the background. While the - assumed values can be overridden by invoking assume_default_colors(), - you may find it useful to set the assumed values to the pre-5.1 - convention, using this configure option. - - --disable-big-core - Assume machine has little memory. The configure script attempts to - determine if your machine has enough memory (about 6Mb) to compile the - terminfo database without writing portions to disk. Some allocators - return deceptive results, so you may have to override the configure - script. Or you may be building tic for a smaller machine. - - --disable-database - Use only built-in data. The ncurses libraries normally read terminfo - and termcap data from disk. You can configure ncurses to have a - built-in database, aka "fallback" entries. Embedded applications may - have no need for an external database. Some, but not all of the - programs are useful in this configuration, e.g., reset and tput versus - infocmp and tic. - - --disable-ext-funcs - Disable function-extensions. Configure ncurses without the functions - that are not specified by XSI. See ncurses/modules for the exact - list of library modules that would be suppressed. - - --disable-hashmap - Compile without hashmap scrolling-optimization code. This algorithm is - the default. - - --disable-home-terminfo - The $HOME/.terminfo directory is normally added to ncurses' search - list for reading/writing terminfo entries, since that directory is - more likely writable than the system terminfo database. Use this - option to disable the feature altogether. - - --disable-largefile - Disable compiler flags needed to use large-file interfaces. - - --disable-leaks - For testing, compile-in code that frees memory that normally would not - be freed, to simplify analysis of memory-leaks. - - --disable-lp64 - The header files will ignore use of the _LP64 symbol to make chtype - and mmask_t types 32 bits (they may be long on 64-bit hosts, for - compatibility with older releases). - - NOTE: this is potentially an ABI change, depending on existing - packages. The default for this option is "disabled" for ncurses - ABI 5, and "enabled" for ABI 6. - - --disable-macros - For testing, use functions rather than macros. The program will run - more slowly, but it is simpler to debug. This makes a header file - "nomacros.h". See also the --enable-expanded option. - - --disable-overwrite - If you are installing ncurses on a system which contains another - development version of curses, or which could be confused by the loader - for another version, we recommend that you leave out the link to - -lcurses. The ncurses library is always available as -lncurses. - Disabling overwrite also causes the ncurses header files to be - installed into a subdirectory, e.g., /usr/local/include/ncurses, - rather than the include directory. This makes it simpler to avoid - compile-time conflicts with other versions of curses.h - - --disable-root-environ - Compile with environment restriction, so certain environment variables - are not available when running as root, or via a setuid/setgid - application. These are (for example $TERMINFO) those that allow the - search path for the terminfo or termcap entry to be customized. - - --disable-scroll-hints - Compile without scroll-hints code. This option is ignored when - hashmap scrolling is configured, which is the default. - - --enable-assertions - For testing, compile-in assertion code. This is used only for a few - places where ncurses cannot easily recover by returning an error code. - - --enable-broken_linker - A few platforms have what we consider a broken linker: it cannot link - objects from an archive solely by referring to data objects in those - files, but requires a function reference. This configure option - changes several data references to functions to work around this - problem. - - NOTE: With ncurses 5.1, this may not be necessary, since we are - told that some linkers interpret uninitialized global data as a - different type of reference which behaves as described above. We have - explicitly initialized all of the global data to work around the - problem. - - --enable-bsdpad - Recognize BSD-style prefix padding. Some ancient BSD programs (such as - nethack) call tputs("50") to implement delays. - - --enable-colorfgbg - Compile with experimental $COLORFGBG code. That environment variable - is set by some terminal emulators as a hint to applications, by - advertising the default foreground and background colors. During - initialization, ncurses sets color pair 0 to match this. - - --enable-const - The curses interface as documented in XSI is rather old, in fact - including features that precede ANSI C. The prototypes generally do - not make effective use of "const". When using stricter compilers (or - gcc with appropriate warnings), you may see warnings about the mismatch - between const and non-const data. We provide a configure option which - changes the interfaces to use const - quieting these warnings and - reflecting the actual use of the parameters more closely. The ncurses - library uses the symbol NCURSES_CONST for these instances of const, - and if you have asked for compiler warnings, will add gcc's const-qual - warning. There will still be warnings due to subtle inconsistencies - in the interface, but at a lower level. - - NOTE: configuring ncurses with this option may detract from the - portability of your applications by encouraging you to use const in - places where the XSI curses interface would not allow them. Similar - issues arise when porting to SVr4 curses, which uses const in even - fewer places. - - --enable-echo - Use the option --disable-echo to make the build-log less verbose by - suppressing the display of the compile and link commands. This makes - it easier to see the compiler warnings. (You can always use "make -n" - to see the options that are used). - - --enable-expanded - For testing, generate functions for certain macros to make them visible - as such to the debugger. See also the --disable-macros option. - - --enable-ext-colors - Extend the cchar_t structure to allow more than 16 colors to be - encoded. This applies only to the wide-character (--enable-widec) - configuration. - - NOTE: using this option will make libraries which are not binary- - compatible with libncursesw 5.4. None of the interfaces change, but - applications which have an array of cchar_t's must be recompiled. - - --enable-ext-mouse - Modify the encoding of mouse state to make room for a 5th mouse button. - That allows one to use ncurses with a wheel mouse with xterm or - similar X terminal emulators. - - NOTE: using this option will make libraries which are not binary- - compatible with libncursesw 5.4. None of the interfaces change, but - applications which have mouse mask mmask_t's must be recompiled. - - --enable-getcap - Use the 4.4BSD getcap code if available, or a bundled version of it to - fetch termcap entries. Entries read in this way cannot use (make - cross-references to) the terminfo tree, but it is faster than reading - /etc/termcap. - - --enable-getcap-cache - Cache translated termcaps under the directory $HOME/.terminfo - - NOTE: this sounds good - it makes ncurses run faster the second time. - But look where the data comes from - an /etc/termcap containing lots of - entries that are not up to date. If you configure with this option and - forget to install the terminfo database before running an ncurses - application, you will end up with a hidden terminfo database that - generally does not support color and will miss some function keys. - - --enable-hard-tabs - Compile-in cursor-optimization code that uses hard-tabs. We would make - this a standard feature except for the concern that the terminfo entry - may not be accurate, or that your stty settings have disabled the use - of tabs. - - --enable-no-padding - Compile-in support for the $NCURSES_NO_PADDING environment variable, - which allows you to suppress the effect of non-mandatory padding in - terminfo entries. This is the default, unless you have disabled the - extended functions. - - --enable-rpath - Use rpath option when generating shared libraries, and with some - restrictions when linking the corresponding programs. This applies - mainly to systems using the GNU linker (read the manpage). - - --enable-safe-sprintf - Compile with experimental safe-sprintf code. You may consider using - this if you are building ncurses for a system that has neither - vsnprintf() or vsprintf(). It is slow, however. - - --enable-sigwinch - Compile support for ncurses' SIGWINCH handler. If your application has - its own SIGWINCH handler, ncurses will not use its own. The ncurses - handler causes wgetch() to return KEY_RESIZE when the screen-size - changes. This option is the default, unless you have disabled the - extended functions. - - --enable-symlinks - If your system supports symbolic links, make tic use symbolic links - rather than hard links to save diskspace when writing aliases in the - terminfo database. - - --enable-tcap-names - Compile-in support for user-definable terminal capabilities. Use the - -x option of tic and infocmp to treat unrecognized terminal - capabilities as user-defined strings. This option is the default, - unless you have disabled the extended functions. - - --enable-termcap - Compile in support for reading terminal descriptions from termcap if no - match is found in the terminfo database. See also the --enable-getcap - and --enable-getcap-cache options. - - --enable-warnings - Turn on GCC compiler warnings. There should be only a few. - - --enable-widec - Compile with wide-character code. This makes a different version of - the libraries (e.g., libncursesw.so), which stores characters as - wide-characters, - - NOTE: applications compiled with this configuration are not compatible - with those built for 8-bit characters. You cannot simply make a - symbolic link to equate libncurses.so with libncursesw.so - - NOTE: the Ada95 binding may be built against either version of the the - ncurses library, but you must decide which: the binding installs the - same set of files for either version. Currently (2002/6/22) it does - not use the extended features from the wide-character code, so it is - probably better to not install the binding for that configuration. - - --enable-xmc-glitch - Compile-in support experimental xmc (magic cookie) code. - - --with-abi-version=NUM - Override the ABI version, which is used in shared library filenames. - Normally this is the same as the release version; some ports have - special requirements for compatibility. - - --with-ada-compiler=CMD - Specify the Ada95 compiler command (default "gnatmake") - - --with-ada-include=DIR - Tell where to install the Ada includes (default: - PREFIX/lib/ada/adainclude) - - --with-ada-objects=DIR - Tell where to install the Ada objects (default: PREFIX/lib/ada/adalib) - - --with-bool=TYPE - If --without-cxx is specified, override the type used for the "bool" - declared in curses.h (normally the type is automatically chosen to - correspond with that in , or defaults to platform-specific - sizes). - - --with-build-cc=XXX - If cross-compiling, specify a host C compiler, which is needed to - compile a few utilities which generate source modules for ncurses. - If you do not give this option, the configure script checks if the - $BUILD_CC variable is set, and otherwise defaults to gcc or cc. - - --with-build-cflags=XXX - If cross-compiling, specify the host C compiler-flags. You might need - to do this if the target compiler has unusual flags which confuse the - host compiler. - - --with-build-cppflags=XXX - If cross-compiling, specify the host C preprocessor-flags. You might - need to do this if the target compiler has unusual flags which confuse - the host compiler. - - --with-build-ldflags=XXX - If cross-compiling, specify the host linker-flags. You might need to - do this if the target linker has unusual flags which confuse the host - compiler. - - --with-build-libs=XXX - If cross-compiling, the host libraries. You might need to do this if - the target environment requires unusual libraries. - - --with-caps=XXX - Specify an alternate terminfo capabilities file, which makes the - configure script look for "include/Caps.XXX". A few systems, e.g., - AIX 4.x use the same overall file-format as ncurses for terminfo - data, but use different alignments within the tables to support - legacy applications. For those systems, you can configure ncurses - to use a terminfo database which is compatible with the native - applications. - - --with-chtype=TYPE - Override type of chtype, which stores the video attributes and (if - --enable-widec is not given) a character. Prior to ncurses 5.5, this - was always unsigned long, but with ncurses 5.5, it may be unsigned. - Use this option if you need to preserve compatibility with 64-bit - executables. - - --with-database=XXX - Specify the terminfo source file to install. Usually you will wish - to install ncurses' default (misc/terminfo.src). Certain systems - have special requirements, e.g, OS/2 EMX has a customized terminfo - source file. - - --with-dbmalloc - For testing, compile and link with Conor Cahill's dbmalloc library. - - --with-debug - Generate debug-libraries (default). These are named by adding "_g" - to the root, e.g., libncurses_g.a - - --with-default-terminfo-dir=XXX - Specify the default terminfo database directory. This is normally - DATADIR/terminfo, e.g., /usr/share/terminfo. - - --with-develop - Enable experimental/development options. This does not count those - that change the interface, such as --enable-widec. - - --with-dmalloc - For testing, compile and link with Gray Watson's dmalloc library. - - --with-fallbacks=XXX - Specify a list of fallback terminal descriptions which will be - compiled into the ncurses library. See CONFIGURING FALLBACK ENTRIES. - - --with-gpm - use Alessandro Rubini's GPM library to provide mouse support on the - Linux console. Prior to ncurses 5.5, this introduced a dependency - on the GPM library. Currently ncurses uses the dlsym() function to - bind to the at runtime, so it is only necessary that the library be - present when ncurses is built. - - --with-install-prefix=XXX - Allows you to specify an alternate location for installing ncurses - after building it. The value you specify is prepended to the "real" - install location. This simplifies making binary packages. The - makefile variable DESTDIR is set by this option. It is also possible - to use - make install DESTDIR=XXX - since the makefiles pass that variable to subordinate makes. - - NOTE: a few systems build shared libraries with fixed pathnames; this - option probably will not work for those configurations. - - --with-libtool[=XXX] - Generate libraries with libtool. If this option is selected, then it - overrides all other library model specifications. Note that libtool - must already be installed, uses makefile rules dependent on GNU make, - and does not promise to follow the version numbering convention of - other shared libraries on your system. However, if the --with-shared - option does not succeed, you may get better results with this option. - - If a parameter value is given, it must be the full pathname of the - particular version of libtool, e.g., - /usr/bin/libtool-1.2.3 - - It is possible to rebuild the configure script to use the automake - macros for libtool, e.g., AC_PROG_LIBTOOL. See the comments in - aclocal.m4 for CF_PROG_LIBTOOL, and ensure that you build configure - using the appropriate patch for autoconf from - http://invisible-island.net/autoconf/ - - --with-manpage-aliases - Tell the configure script you wish to create entries in the - man-directory for aliases to manpages which list them, e.g., the - functions in the panel manpage. This is the default. You can disable - it if your man program does this. You can also disable - --with-manpage-symlinks to install files containing a ".so" command - rather than symbolic links. - - --with-manpage-format=XXX - Tell the configure script how you would like to install man-pages. The - option value must be one of these: gzip, compress, BSDI, normal, - formatted. If you do not give this option, the configure script - attempts to determine which is the case. - - --with-manpage-renames=XXX - Tell the configure script that you wish to rename the manpages while - installing. Currently the only distribution which does this is - the Linux Debian. The option value specifies the name of a file - that lists the renamed files, e.g., $srcdir/man/man_db.renames - - --with-manpage-symlinks - Tell the configure script that you wish to make symbolic links in the - man-directory for aliases to the man-pages. This is the default, but - can be disabled for systems that provide this automatically. Doing - this on systems that do not support symbolic links will result in - copying the man-page for each alias. - - --with-manpage-tbl - Tell the configure script that you with to preprocess the manpages - by running them through tbl to generate tables understandable by - nroff. - - --with-mmask-t=TYPE - Override type of mmask_t, which stores the mouse mask. Prior to - ncurses 5.5, this was always unsigned long, but with ncurses 5.5, it - may be unsigned. Use this option if you need to preserve compatibility - with 64-bit executables. - - --with-ospeed=TYPE - Override type of ospeed variable, which is part of the termcap - compatibility interface. In termcap, this is a 'short', which works - for a wide range of baudrates because ospeed is not the actual speed - but the encoded value, e.g., B9600 would be a small number such as 13. - However the encoding scheme originally allowed for values "only" up to - 38400bd. A newer set of definitions past 38400bd is not encoded as - compactly, and is not guaranteed to fit into a short (see the function - cfgetospeed(), which returns a speed_t for this reason). In practice, - applications that required knowledge of the ospeed variable, i.e., - those using termcap, do not use the higher speeds. Your application - (or system, in general) may or may not. - - --with-normal - Generate normal (i.e., static) libraries (default). - - --with-profile - Generate profile-libraries These are named by adding "_p" to the root, - e.g., libncurses_p.a - - --with-rcs-ids - Compile-in RCS identifiers. Most of the C files have an identifier. - - --with-rel-version=NUM - Override the release version, which may be used in shared library - filenames. This consists of a major and minor version number separated - by ".". Normally the major version number is the same as the ABI - version; some ports have special requirements for compatibility. - - --with-shared - Generate shared-libraries. The names given depend on the system for - which you are building, typically using a ".so" suffix, along with - symbolic links that refer to the release version. - - NOTE: Unless you override the configure script by setting the $CFLAGS - environment variable, these will not be built with the -g debugging - option. - - NOTE: For some configurations, e.g., installing a new version of - ncurses shared libraries on a machine which already has ncurses - shared libraries, you may encounter problems with the linker. - For example, it may prevent you from running the build tree's - copy of tic (for installing the terminfo database) because it - loads the system's copy of the ncurses shared libraries. In that - case, using the misc/shlib script may be helpful, since it sets - $LD_LIBRARY_PATH to point to the build tree, e.g., - ./misc/shlib make install - - --with-shlib-version=XXX - Specify whether to use the release or ABI version for shared libraries. - This is normally chosen automatically based on the type of system - which you are building on. We use it for testing the configure script. - - --with-sysmouse - use FreeBSD sysmouse interface provide mouse support on the console. - - --with-system-type=XXX - For testing, override the derived host system-type which is used to - decide things such as the linker commands used to build shared - libraries. This is normally chosen automatically based on the type of - system which you are building on. We use it for testing the configure - script. - - --with-terminfo-dirs=XXX - Specify a search-list of terminfo directories which will be compiled - into the ncurses library (default: DATADIR/terminfo) - - --with-termlib[=XXX] - When building the ncurses library, organize this as two parts: the - curses library (libncurses) and the low-level terminfo library - (libtinfo). This is done to accommodate applications that use only - the latter. The terminfo library is about half the size of the total. - - If an option value is given, that overrides the name of the terminfo - library. For instance, if the wide-character version is built, the - terminfo library would be named libtinfow. But the libtinfow interface - is upward compatible from libtinfo, so it would be possible to overlay - libtinfo.so with a "wide" version of libtinfow.so by renaming it with - this option. - - --with-termpath=XXX - Specify a search-list of termcap files which will be compiled into the - ncurses library (default: /etc/termcap:/usr/share/misc/termcap) - - --with-trace - Configure the trace() function as part of the all models of the ncurses - library. Normally it is part of the debug (libncurses_g) library only. - - --without-ada - Suppress the configure script's check for Ada95, do not build the - Ada95 binding and related demo. - - --without-curses-h - Don't install the ncurses header with the name "curses.h". Rather, - install as "ncurses.h" and modify the installed headers and manpages - accordingly. - - --without-cxx - XSI curses declares "bool" as part of the interface. C++ also declares - "bool". Neither specifies the size and type of booleans, but both - insist on the same name. We chose to accommodate this by making the - configure script check for the size and type (e.g., unsigned or signed) - that your C++ compiler uses for booleans. If you do not wish to use - ncurses with C++, use this option to tell the configure script to not - adjust ncurses bool to match C++. - - --without-cxx-binding - Suppress the configure script's check for C++, do not build the - C++ binding and related demo. - - --without-progs - Tell the configure script to suppress the build of ncurses' application - programs (e.g., tic). The test applications will still be built if you - type "make", though not if you simply do "make install". - - --without-xterm-new - Tell the configure script to use "xterm-old" for the entry used in - the terminfo database. This will work with variations such as - X11R5 and X11R6 xterm. - - -COMPATIBILITY WITH OLDER VERSIONS OF NCURSES: --------------------------------------------- - - Because ncurses implements the X/Open Curses Specification, its interface - is fairly stable. That does not mean the interface does not change. - Changes are made to the documented interfaces when we find differences - between ncurses and X/Open or implementations which they certify (such as - Solaris). We add extensions to those interfaces to solve problems not - addressed by the original curses design, but those must not conflict with - the X/Open documentation. - - Here are some of the major interface changes, and related problems which - you may encounter when building a system with different versions of - ncurses: - - 5.5 (October 10, 2005) - Interface changes: - - + terminfo installs "xterm-new" as "xterm" entry rather than - "xterm-old" (aka xterm-r6). - - + terminfo data is installed using the tic -x option (few systems - still use ncurses 4.2). - - + modify C++ binding to work with newer C++ compilers by providing - initializers and using modern casts. Old-style header names are - still used in this release to allow compiling with not-so-old - compilers. - - + form and menu libraries now work with wide-character data. - Applications which bypassed the form library and manipulated the - FIELD.buf data directly will not work properly with libformw, since - that no longer points to an array of char. The set_field_buffer() - and field_buffer() functions translate to/from the actual field - data. - - + change SP->_current_attr to a pointer, adjust ifdef's to ensure that - libtinfo.so and libtinfow.so have the same ABI. The reason for this - is that the corresponding data which belongs to the upper-level - ncurses library has a different size in each model. - - + winnstr() now returns multibyte character strings for the - wide-character configuration. - - + assume_default_colors() no longer requires that use_default_colors() - be called first. - - + data_ahead() now works with wide-characters. - - + slk_set() and slk_wset() now accept and store multibyte or - multicolumn characters. - - + start_color() now returns OK if colors have already been started. - start_color() also returns ERR if it cannot allocate memory. - - + pair_content() now returns -1 for consistency with init_pair() if it - corresponds to the default-color. - - + unctrl() now returns null if its parameter does not correspond - to an unsigned char. - - Added extensions: - Experimental mouse version 2 supports wheel mice with buttons - 4 and 5. This requires ABI 6 because it modifies the encoding - of mouse events. - - Experimental extended colors allows encoding of 256 foreground - and background colors, e.g., with the xterm-256color or - xterm-88color terminfo entries. This requires ABI 6 because - it changes the size of cchar_t. - - Added internal functions: - _nc_check_termtype2 - _nc_resolve_uses2 - _nc_retrace_cptr - _nc_retrace_cvoid_ptr - _nc_retrace_void_ptr - _nc_setup_term - - Removed internal functions: - none - - Modified internal functions: - _nc_insert_ch - _nc_save_str - _nc_trans_string - - 5.4 (February 8, 2004) - Interface changes: - - + add the remaining functions for X/Open curses wide-character support. - These are only available if the library is configured using the - --enable-widec option. - pecho_wchar() - slk_wset() - - + write getyx() and related 2-return macros in terms of getcury(), - getcurx(), etc. - - + simplify ifdef for bool declaration in curses.h - - + modify ifdef's in curses.h that disabled use of __attribute__() for - g++, since recent versions implement the cases which ncurses uses. - - + change some interfaces to use const: - define_key() - mvprintw() - mvwprintw() - printw() - vw_printw() - winsnstr() - wprintw() - - Added extensions: - key_defined() - - Added internal functions: - _nc_get_locale() - _nc_insert_ch() - _nc_is_charable() wide - _nc_locale_breaks_acs() - _nc_pathlast() - _nc_to_char() wide - _nc_to_widechar() wide - _nc_tparm_analyze() - _nc_trace_bufcat() debug - _nc_unicode_locale() - - Removed internal functions: - _nc_outstr() - _nc_sigaction() - - Modified internal functions: - _nc_remove_string() - _nc_retrace_chtype() - - 5.3 (October 12, 2002) - Interface changes: - - + change type for bool used in headers to NCURSES_BOOL, which usually - is the same as the compiler's definition for 'bool'. - - + add all but two functions for X/Open curses wide-character support. - These are only available if the library is configured using the - --enable-widec option. Missing functions are - pecho_wchar() - slk_wset() - - + add environment variable $NCURSES_ASSUMED_COLORS to modify the - assume_default_colors() extension. - - Added extensions: - is_term_resized() - resize_term() - - Added internal functions: - _nc_altcharset_name() debug - _nc_reset_colors() - _nc_retrace_bool() debug - _nc_retrace_unsigned() debug - _nc_rootname() - _nc_trace_ttymode() debug - _nc_varargs() debug - _nc_visbufn() debug - _nc_wgetch() - - Removed internal functions: - _nc_background() - - Modified internal functions: - _nc_freeall() debug - - 5.2 (October 21, 2000) - Interface changes: - - + revert termcap ospeed variable to 'short' (see discussion of the - --with-ospeed configure option). - - 5.1 (July 8, 2000) - Interface changes: - - + made the extended terminal capabilities - (configure --enable-tcap-names) a standard feature. This should - be transparent to applications that do not require it. - - + removed the trace() function and related trace support from the - production library. - - + modified curses.h.in, undef'ing some symbols to avoid conflict - with C++ STL. - - Added extensions: assume_default_colors(). - - 5.0 (October 23, 1999) - Interface changes: - - + implemented the wcolor_set() and slk_color() functions. - - + move macro winch to a function, to hide details of struct ldat - - + corrected prototypes for slk_* functions, using chtype rather than - attr_t. - - + the slk_attr_{set,off,on} functions need an additional void* - parameter according to XSI. - - + modified several prototypes to correspond with 1997 version of X/Open - Curses: [w]attr_get(), [w]attr_set(), border_set() have different - parameters. Some functions were renamed or misspelled: - erase_wchar(), in_wchntr(), mvin_wchntr(). Some developers have used - attr_get(). - - Added extensions: keybound(), curses_version(). - - Terminfo database changes: - - + change translation for termcap 'rs' to terminfo 'rs2', which is - the documented equivalent, rather than 'rs1'. - - The problems are subtler in recent releases. - - a) This release provides users with the ability to define their own - terminal capability extensions, like termcap. To accomplish this, - we redesigned the TERMTYPE struct (in term.h). Very few - applications use this struct. They must be recompiled to work with - the 5.0 library. - - a) If you use the extended terminfo names (i.e., you used configure - --enable-tcap-names), the resulting terminfo database can have some - entries which are not readable by older versions of ncurses. This - is a bug in the older versions: - - + the terminfo database stores booleans, numbers and strings in - arrays. The capabilities that are listed in the arrays are - specified by X/Open. ncurses recognizes a number of obsolete and - extended names which are stored past the end of the specified - entries. - - + a change to read_entry.c in 951001 made the library do an lseek() - call incorrectly skipping data which is already read from the - string array. This happens when the number of strings in the - terminfo data file is greater than STRCOUNT, the number of - specified and obsolete or extended strings. - - + as part of alignment with the X/Open final specification, in the - 990109 patch we added two new terminfo capabilities: - set_a_attributes and set_pglen_inch). This makes the indices for - the obsolete and extended capabilities shift up by 2. - - + the last two capabilities in the obsolete/extended list are memu - and meml, which are found in most terminfo descriptions for xterm. - - When trying to read this terminfo entry, the spurious lseek() - causes the library to attempt to read the final portion of the - terminfo data (the text of the string capabilities) 4 characters - past its starting point, and reads 4 characters too few. The - library rejects the data, and applications are unable to - initialize that terminal type. - - FIX: remove memu and meml from the xterm description. They are - obsolete, not used by ncurses. (It appears that the feature was - added to xterm to make it more like hpterm). - - This is not a problem if you do not use the -x option of tic to - create a terminfo database with extended names. Note that the - user-defined terminal capabilities are not affected by this bug, - since they are stored in a table after the older terminfo data ends, - and are invisible to the older libraries. - - c) Some developers did not wish to use the C++ binding, and used the - configure --without-cxx option. This causes problems if someone - uses the ncurses library from C++ because that configure test - determines the type for C++'s bool and makes ncurses match it, since - both C++ and curses are specified to declare bool. Calling ncurses - functions with the incorrect type for bool will cause execution - errors. In 5.0 we added a configure option "--without-cxx-binding" - which controls whether the binding itself is built and installed. - - 4.2 (March 2, 1998) - Interface changes: - - + correct prototype for termattrs() as per XPG4 version 2. - - + add placeholder prototypes for color_set(), erasewchar(), - term_attrs(), wcolor_set() as per XPG4 version 2. - - + add macros getcur[xy] getbeg[xy] getpar[xy], which are defined in - SVr4 headers. - - New extensions: keyok() and define_key(). - - Terminfo database changes: - - + corrected definition in curses.h for ACS_LANTERN, which was 'I' - rather than 'i'. - - 4.1 (May 15, 1997) - - We added these extensions: use_default_colors(). Also added - configure option --enable-const, to support the use of const where - X/Open should have, but did not, specify. - - The terminfo database content changed the representation of color for - most entries that use ANSI colors. SVr4 curses treats the setaf/setab - and setf/setb capabilities differently, interchanging the red/blue - colors in the latter. - - 4.0 (December 24, 1996) - - We bumped to version 4.0 because the newly released dynamic loader - (ld.so.1.8.5) on Linux did not load shared libraries whose ABI and REL - versions were inconsistent. At that point, ncurses ABI was 3.4 and the - REL was 1.9.9g, so we made them consistent. - - 1.9.9g (December 1, 1996) - - This fixed most of the problems with 1.9.9e, and made these interface - changes: - - + remove tparam(), which had been provided for compatibility with - some termcap. tparm() is standard, and does not conflict with - application's fallback for missing tparam(). - - + turn off hardware echo in initscr(). This changes the sense of the - echo() function, which was initialized to echoing rather than - nonechoing (the latter is specified). There were several other - corrections to the terminal I/O settings which cause applications to - behave differently. - - + implemented several functions (such as attr_on()) which were - available only as macros. - - + corrected several typos in curses.h.in (i.e., the mvXXXX macros). - - + corrected prototypes for delay_output(), - has_color, immedok() and idcok(). - - + corrected misspelled getbkgd(). Some applications used the - misspelled name. - - + added _yoffset to WINDOW. The size of WINDOW does not impact - applications, since they use only pointers to WINDOW structs. - - These changes were made to the terminfo database: - - + removed boolean 'getm' which was available as an extended name. - - We added these extensions: wresize(), resizeterm(), has_key() and - mcprint(). - - 1.9.9e (March 24, 1996) - - not recommended (a last-minute/untested change left the forms and - menus libraries unusable since they do not repaint the screen). - Foreground/background colors are combined incorrectly, working properly - only on a black background. When this was released, the X/Open - specification was available only in draft form. - - Some applications (such as lxdialog) were "fixed" to work with the - incorrect color scheme. - - -IF YOU ARE A SYSTEM INTEGRATOR: ------------------------------- - - Configuration and Installation: - - On platforms where ncurses is assumed to be installed in /usr/lib, - the configure script uses "/usr" as a default: - - Linux, FreeBSD, NetBSD, OpenBSD, Cygwin - - For other platforms, the default is "/usr/local". See the discussion - of the "--disable-overwrite" option. - - The location of the terminfo is set indirectly by the "--datadir" - configure option, e.g., /usr/share/terminfo, given a datadir of - /usr/share. You may want to override this if you are installing - ncurses libraries in nonstandard locations, but wish to share the - terminfo database. - - Normally the ncurses library is configured in a pure-terminfo mode; - that is, with the --disable-termcap option. This makes the ncurses - library smaller and faster. The ncurses library includes a termcap - emulation that queries the terminfo database, so even applications that - use raw termcap to query terminal characteristics will win (providing - you recompile and relink them!). - - If you must configure with termcap fallback enabled, you may also wish - to use the --enable-getcap option. This speeds up termcap-based - startups, at the expense of not allowing personal termcap entries to - reference the terminfo tree. See comments in - ncurses/tinfo/read_termcap.c for further details. - - Note that if you have $TERMCAP set, ncurses will use that value - to locate termcap data. In particular, running from xterm will - set $TERMCAP to the contents of the xterm's termcap entry. - If ncurses sees that, it will not examine /etc/termcap. - - Keyboard Mapping: - - The terminfo file assumes that Shift-Tab generates \E[Z (the ECMA-48 - reverse-tabulation sequence) rather than ^I. Here are the loadkeys -d - mappings that will set this up: - - keycode 15 = Tab Tab - alt keycode 15 = Meta_Tab - shift keycode 15 = F26 - string F26 ="\033[Z" - - Naming the Console Terminal - - In various systems there has been a practice of designating the system - console driver type as `console'. Please do not do this! It - complicates peoples' lives, because it can mean that several different - terminfo entries from different operating systems all logically want to - be called `console'. - - Please pick a name unique to your console driver and set that up - in the /etc/inittab table or local equivalent. Send the entry to the - terminfo maintainer (listed in the misc/terminfo file) to be included - in the terminfo file, if it's not already there. See the - term(7) manual page included with this distribution for more on - conventions for choosing type names. - - Here are some recommended primary console names: - - linux -- Linux console driver - freebsd -- FreeBSD - netbsd -- NetBSD - bsdos -- BSD/OS - - If you are responsible for integrating ncurses for one of these - distribution, please either use the recommended name or get back - to us explaining why you don't want to, so we can work out nomenclature - that will make users' lives easier rather than harder. - - -RECENT XTERM VERSIONS: ---------------------- - - The terminfo database file included with this distribution assumes you - are running a modern xterm based on XFree86 (i.e., xterm-new). The - earlier X11R6 entry (xterm-r6) and X11R5 entry (xterm-r5) is provided - as well. See the --without-xterm-new configure script option if you - are unable to update your system. - - -CONFIGURING FALLBACK ENTRIES: ----------------------------- - - In order to support operation of ncurses programs before the terminfo - tree is accessible (that is, in single-user mode or at OS installation - time) the ncurses library can be compiled to include an array of - pre-fetched fallback entries. This must be done on a machine which - has ncurses' infocmp and terminfo database installed. - - These entries are checked by setupterm() only when the conventional - fetches from the terminfo tree and the termcap fallback (if configured) - have been tried and failed. Thus, the presence of a fallback will not - shadow modifications to the on-disk entry for the same type, when that - entry is accessible. - - By default, there are no entries on the fallback list. After you have - built the ncurses suite for the first time, you can change the list - (the process needs infocmp(1)). To do so, use the script - ncurses/tinfo/MKfallback.sh. A configure script option - --with-fallbacks does this (it accepts a comma-separated list of the - names you wish, and does not require a rebuild). - - If you wanted (say) to have linux, vt100, and xterm fallbacks, you - would use the commands - - cd ncurses; - tinfo/MKfallback.sh linux vt100 xterm >fallback.c - - Then just rebuild and reinstall the library as you would normally. - You can restore the default empty fallback list with - - tinfo/MKfallback.sh >fallback.c - - The overhead for an empty fallback list is one trivial stub function. - Any non-empty fallback list is const-ed and therefore lives in sharable - text space. You can look at the comment trailing each initializer in - the generated ncurses/fallback.c file to see the core cost of the - fallbacks. A good rule of thumb for modern vt100-like entries is that - each one will cost about 2.5K of text space. - - -BSD CONVERSION NOTES: --------------------- - - If you need to support really ancient BSD programs, you probably - want to configure with the --enable-bsdpad option. What this does - is enable code in tputs() that recognizes a numeric prefix on a - capability as a request for that much trailing padding in milliseconds. - There are old BSD programs that do things like tputs("50"). - - (If you are distributing ncurses as a support-library component of - an application you probably want to put the remainder of this section - in the package README file.) - - The following note applies only if you have configured ncurses with - --enable-termcap. - -------------------------------- CUT HERE -------------------------------- - -If you are installing this application privately (either because you -have no root access or want to experiment with it before doing a root -installation), there are a couple of details you need to be aware of. -They have to do with the ncurses library, which uses terminfo rather -than termcap for describing terminal characteristics. - -Though the ncurses library is terminfo-based, it will interpret your -TERMCAP variable (if present), any local termcap files you reference -through it, and the system termcap file. However, in order to avoid -slowing down your application startup, it will only do this once per -terminal type! - -The first time you load a given terminal type from your termcap -database, the library initialization code will automatically write it -in terminfo format to a subdirectory under $HOME/.terminfo. After -that, the initialization code will find it there and do a (much -faster) terminfo fetch. - -Usually, all this means is that your home directory will silently grow -an invisible .terminfo subdirectory which will get filled in with -terminfo descriptions of terminal types as you invoke them. If anyone -ever installs a global terminfo tree on your system, this will quietly -stop happening and your $HOME/.terminfo will become redundant. - -The objective of all this logic is to make converting from BSD termcap -as painless as possible without slowing down your application (termcap -compilation is expensive). - -If you don't have a TERMCAP variable or custom personal termcap file, -you can skip the rest of this dissertation. - -If you *do* have a TERMCAP variable and/or a custom personal termcap file -that defines a terminal type, that definition will stop being visible -to this application after the first time you run it, because it will -instead see the terminfo entry that it wrote to $HOME/terminfo the -first time around. - -Subsequently, editing the TERMCAP variable or personal TERMCAP file -will have no effect unless you explicitly remove the terminfo entry -under $HOME/terminfo. If you do that, the entry will be recompiled -from your termcap resources the next time it is invoked. - -To avoid these complications, use infocmp(1) and tic(1) to edit the -terminfo directory directly. - -------------------------------- CUT HERE -------------------------------- - -USING NCURSES WITH AFS: - AFS treats each directory as a separate logical filesystem, you - can't hard-link across them. The --enable-symlinks option copes - with this by making tic use symbolic links. - -USING NCURSES WITH GPM: - Ncurses 4.1 and up can be configured to use GPM (General Purpose - Mouse) which is used on Linux console. Be aware that GPM is commonly - installed as a shared library which contains a wrapper for the curses - wgetch() function (libcurses.o). Some integrators have simplified - linking applications by combining all or part of libcurses.so into the - libgpm.so file, producing symbol conflicts with ncurses (specifically - the wgetch function). This was originally the BSD curses, but - generally whatever curses library exists on the system. - - You may be able to work around this problem by linking as follows: - - cc -o foo foo.o -lncurses -lgpm -lncurses - - but the linker may not cooperate, producing mysterious errors. - See the FAQ, as well as the discussion under the --with-gpm option: - - http://invisible-island.net/ncurses/ncurses.faq.html#using_gpm_lib - -BUILDING NCURSES WITH A CROSS-COMPILER - Ncurses can be built with a cross-compiler. Some parts must be built - with the host's compiler since they are used for building programs - (e.g., ncurses/make_hash and ncurses/make_keys) that generate tables - that are compiled into the ncurses library. The essential thing to do - is set the BUILD_CC environment variable to your host's compiler, and - run the configure script configuring for the cross-compiler. - - The configure options --with-build-cc, etc., are provided to make this - simpler. Since make_hash and make_keys use only ANSI C features, it - is normally not necessary to provide the other options such as - --with-build-libs, but they are provided for completeness. - - Note that all of the generated source-files which are part of ncurses - will be made if you use - - make sources - - This would be useful in porting to an environment which has little - support for the tools used to generate the sources, e.g., sed, awk and - Bourne-shell. - - When ncurses has been successfully cross-compiled, you may want to use - "make install" (with a suitable target directory) to construct an - install tree. Note that in this case (as with the --with-fallbacks - option), ncurses uses the development platform's tic to do the - "make install.data" portion. - -BUGS: - Send any feedback to the ncurses mailing list at - bug-ncurses@gnu.org. To subscribe send mail to - bug-ncurses-request@gnu.org with body that reads: - subscribe ncurses - - The Hacker's Guide in the doc directory includes some guidelines - on how to report bugs in ways that will get them fixed most quickly. diff --git a/src/libs/ncurses/Jamfile b/src/libs/ncurses/Jamfile deleted file mode 100644 index 297bbd67b6..0000000000 --- a/src/libs/ncurses/Jamfile +++ /dev/null @@ -1,4 +0,0 @@ -SubDir HAIKU_TOP src libs ncurses ; - -SubInclude HAIKU_TOP src libs ncurses ncurses ; -SubInclude HAIKU_TOP src libs ncurses progs ; diff --git a/src/libs/ncurses/MANIFEST b/src/libs/ncurses/MANIFEST deleted file mode 100644 index 1de68029cf..0000000000 --- a/src/libs/ncurses/MANIFEST +++ /dev/null @@ -1,1004 +0,0 @@ -./ANNOUNCE -./Ada95/Makefile.in -./Ada95/README -./Ada95/TODO -./Ada95/gen/Makefile.in -./Ada95/gen/gen.c -./Ada95/gen/html.m4 -./Ada95/gen/normal.m4 -./Ada95/gen/table.m4 -./Ada95/gen/terminal_interface-curses-aux.ads.m4 -./Ada95/gen/terminal_interface-curses-forms-field_types.ads.m4 -./Ada95/gen/terminal_interface-curses-forms-field_user_data.ads.m4 -./Ada95/gen/terminal_interface-curses-forms-form_user_data.ads.m4 -./Ada95/gen/terminal_interface-curses-forms.ads.m4 -./Ada95/gen/terminal_interface-curses-menus-item_user_data.ads.m4 -./Ada95/gen/terminal_interface-curses-menus-menu_user_data.ads.m4 -./Ada95/gen/terminal_interface-curses-menus.ads.m4 -./Ada95/gen/terminal_interface-curses-mouse.ads.m4 -./Ada95/gen/terminal_interface-curses-panels-user_data.ads.m4 -./Ada95/gen/terminal_interface-curses-panels.ads.m4 -./Ada95/gen/terminal_interface-curses-trace.ads.m4 -./Ada95/gen/terminal_interface-curses.ads.m4 -./Ada95/samples/Makefile.in -./Ada95/samples/README -./Ada95/samples/explain.txt -./Ada95/samples/ncurses.adb -./Ada95/samples/ncurses2-acs_and_scroll.adb -./Ada95/samples/ncurses2-acs_and_scroll.ads -./Ada95/samples/ncurses2-acs_display.adb -./Ada95/samples/ncurses2-acs_display.ads -./Ada95/samples/ncurses2-attr_test.adb -./Ada95/samples/ncurses2-attr_test.ads -./Ada95/samples/ncurses2-color_edit.adb -./Ada95/samples/ncurses2-color_edit.ads -./Ada95/samples/ncurses2-color_test.adb -./Ada95/samples/ncurses2-color_test.ads -./Ada95/samples/ncurses2-demo_forms.adb -./Ada95/samples/ncurses2-demo_forms.ads -./Ada95/samples/ncurses2-demo_pad.adb -./Ada95/samples/ncurses2-demo_pad.ads -./Ada95/samples/ncurses2-demo_panels.adb -./Ada95/samples/ncurses2-demo_panels.ads -./Ada95/samples/ncurses2-flushinp_test.adb -./Ada95/samples/ncurses2-flushinp_test.ads -./Ada95/samples/ncurses2-genericputs.adb -./Ada95/samples/ncurses2-genericputs.ads -./Ada95/samples/ncurses2-getch.ads -./Ada95/samples/ncurses2-getch_test.adb -./Ada95/samples/ncurses2-getch_test.ads -./Ada95/samples/ncurses2-getopt.adb -./Ada95/samples/ncurses2-getopt.ads -./Ada95/samples/ncurses2-m.adb -./Ada95/samples/ncurses2-m.ads -./Ada95/samples/ncurses2-menu_test.adb -./Ada95/samples/ncurses2-menu_test.ads -./Ada95/samples/ncurses2-overlap_test.adb -./Ada95/samples/ncurses2-overlap_test.ads -./Ada95/samples/ncurses2-slk_test.adb -./Ada95/samples/ncurses2-slk_test.ads -./Ada95/samples/ncurses2-test_sgr_attributes.adb -./Ada95/samples/ncurses2-test_sgr_attributes.ads -./Ada95/samples/ncurses2-trace_set.adb -./Ada95/samples/ncurses2-trace_set.ads -./Ada95/samples/ncurses2-util.adb -./Ada95/samples/ncurses2-util.ads -./Ada95/samples/ncurses2.ads -./Ada95/samples/rain.adb -./Ada95/samples/rain.ads -./Ada95/samples/sample-curses_demo-attributes.adb -./Ada95/samples/sample-curses_demo-attributes.ads -./Ada95/samples/sample-curses_demo-mouse.adb -./Ada95/samples/sample-curses_demo-mouse.ads -./Ada95/samples/sample-curses_demo.adb -./Ada95/samples/sample-curses_demo.ads -./Ada95/samples/sample-explanation.adb -./Ada95/samples/sample-explanation.ads -./Ada95/samples/sample-form_demo-aux.adb -./Ada95/samples/sample-form_demo-aux.ads -./Ada95/samples/sample-form_demo-handler.adb -./Ada95/samples/sample-form_demo-handler.ads -./Ada95/samples/sample-form_demo.adb -./Ada95/samples/sample-form_demo.ads -./Ada95/samples/sample-function_key_setting.adb -./Ada95/samples/sample-function_key_setting.ads -./Ada95/samples/sample-header_handler.adb -./Ada95/samples/sample-header_handler.ads -./Ada95/samples/sample-helpers.adb -./Ada95/samples/sample-helpers.ads -./Ada95/samples/sample-keyboard_handler.adb -./Ada95/samples/sample-keyboard_handler.ads -./Ada95/samples/sample-manifest.ads -./Ada95/samples/sample-menu_demo-aux.adb -./Ada95/samples/sample-menu_demo-aux.ads -./Ada95/samples/sample-menu_demo-handler.adb -./Ada95/samples/sample-menu_demo-handler.ads -./Ada95/samples/sample-menu_demo.adb -./Ada95/samples/sample-menu_demo.ads -./Ada95/samples/sample-my_field_type.adb -./Ada95/samples/sample-my_field_type.ads -./Ada95/samples/sample-text_io_demo.adb -./Ada95/samples/sample-text_io_demo.ads -./Ada95/samples/sample.adb -./Ada95/samples/sample.ads -./Ada95/samples/status.adb -./Ada95/samples/status.ads -./Ada95/samples/tour.adb -./Ada95/samples/tour.ads -./Ada95/src/Makefile.in -./Ada95/src/terminal_interface-curses-aux.adb -./Ada95/src/terminal_interface-curses-forms-field_types-alpha.adb -./Ada95/src/terminal_interface-curses-forms-field_types-alpha.ads -./Ada95/src/terminal_interface-curses-forms-field_types-alphanumeric.adb -./Ada95/src/terminal_interface-curses-forms-field_types-alphanumeric.ads -./Ada95/src/terminal_interface-curses-forms-field_types-enumeration-ada.adb -./Ada95/src/terminal_interface-curses-forms-field_types-enumeration-ada.ads -./Ada95/src/terminal_interface-curses-forms-field_types-enumeration.adb -./Ada95/src/terminal_interface-curses-forms-field_types-enumeration.ads -./Ada95/src/terminal_interface-curses-forms-field_types-intfield.adb -./Ada95/src/terminal_interface-curses-forms-field_types-intfield.ads -./Ada95/src/terminal_interface-curses-forms-field_types-ipv4_address.adb -./Ada95/src/terminal_interface-curses-forms-field_types-ipv4_address.ads -./Ada95/src/terminal_interface-curses-forms-field_types-numeric.adb -./Ada95/src/terminal_interface-curses-forms-field_types-numeric.ads -./Ada95/src/terminal_interface-curses-forms-field_types-regexp.adb -./Ada95/src/terminal_interface-curses-forms-field_types-regexp.ads -./Ada95/src/terminal_interface-curses-forms-field_types-user-choice.adb -./Ada95/src/terminal_interface-curses-forms-field_types-user-choice.ads -./Ada95/src/terminal_interface-curses-forms-field_types-user.adb -./Ada95/src/terminal_interface-curses-forms-field_types-user.ads -./Ada95/src/terminal_interface-curses-forms-field_types.adb -./Ada95/src/terminal_interface-curses-forms-field_user_data.adb -./Ada95/src/terminal_interface-curses-forms-form_user_data.adb -./Ada95/src/terminal_interface-curses-forms.adb -./Ada95/src/terminal_interface-curses-menus-item_user_data.adb -./Ada95/src/terminal_interface-curses-menus-menu_user_data.adb -./Ada95/src/terminal_interface-curses-menus.adb -./Ada95/src/terminal_interface-curses-mouse.adb -./Ada95/src/terminal_interface-curses-panels-user_data.adb -./Ada95/src/terminal_interface-curses-panels.adb -./Ada95/src/terminal_interface-curses-putwin.adb -./Ada95/src/terminal_interface-curses-putwin.ads -./Ada95/src/terminal_interface-curses-termcap.adb -./Ada95/src/terminal_interface-curses-termcap.ads -./Ada95/src/terminal_interface-curses-terminfo.adb -./Ada95/src/terminal_interface-curses-terminfo.ads -./Ada95/src/terminal_interface-curses-text_io-aux.adb -./Ada95/src/terminal_interface-curses-text_io-aux.ads -./Ada95/src/terminal_interface-curses-text_io-complex_io.adb -./Ada95/src/terminal_interface-curses-text_io-complex_io.ads -./Ada95/src/terminal_interface-curses-text_io-decimal_io.adb -./Ada95/src/terminal_interface-curses-text_io-decimal_io.ads -./Ada95/src/terminal_interface-curses-text_io-enumeration_io.adb -./Ada95/src/terminal_interface-curses-text_io-enumeration_io.ads -./Ada95/src/terminal_interface-curses-text_io-fixed_io.adb -./Ada95/src/terminal_interface-curses-text_io-fixed_io.ads -./Ada95/src/terminal_interface-curses-text_io-float_io.adb -./Ada95/src/terminal_interface-curses-text_io-float_io.ads -./Ada95/src/terminal_interface-curses-text_io-integer_io.adb -./Ada95/src/terminal_interface-curses-text_io-integer_io.ads -./Ada95/src/terminal_interface-curses-text_io-modular_io.adb -./Ada95/src/terminal_interface-curses-text_io-modular_io.ads -./Ada95/src/terminal_interface-curses-text_io.adb -./Ada95/src/terminal_interface-curses-text_io.ads -./Ada95/src/terminal_interface-curses-trace.adb_p -./Ada95/src/terminal_interface-curses.adb -./Ada95/src/terminal_interface.ads -./INSTALL -./MANIFEST -./Makefile.in -./Makefile.os2 -./NEWS -./README -./README.emx -./TO-DO -./aclocal.m4 -./announce.html.in -./c++/Makefile.in -./c++/NEWS -./c++/PROBLEMS -./c++/README-first -./c++/cursesapp.cc -./c++/cursesapp.h -./c++/cursesf.cc -./c++/cursesf.h -./c++/cursesm.cc -./c++/cursesm.h -./c++/cursesmain.cc -./c++/cursesp.cc -./c++/cursesp.h -./c++/cursespad.cc -./c++/cursesw.cc -./c++/cursesw.h -./c++/cursslk.cc -./c++/cursslk.h -./c++/demo.cc -./c++/edit_cfg.sh -./c++/etip.h.in -./c++/headers -./c++/internal.h -./c++/modules -./config.guess -./config.sub -./configure -./configure.in -./convert_configure.pl -./dist.mk -./doc/hackguide.doc -./doc/html/Ada95.html -./doc/html/NCURSES-Programming-HOWTO.html -./doc/html/ada/files.htm -./doc/html/ada/files/T.htm -./doc/html/ada/funcs.htm -./doc/html/ada/funcs/A.htm -./doc/html/ada/funcs/B.htm -./doc/html/ada/funcs/C.htm -./doc/html/ada/funcs/D.htm -./doc/html/ada/funcs/E.htm -./doc/html/ada/funcs/F.htm -./doc/html/ada/funcs/G.htm -./doc/html/ada/funcs/H.htm -./doc/html/ada/funcs/I.htm -./doc/html/ada/funcs/K.htm -./doc/html/ada/funcs/L.htm -./doc/html/ada/funcs/M.htm -./doc/html/ada/funcs/N.htm -./doc/html/ada/funcs/O.htm -./doc/html/ada/funcs/P.htm -./doc/html/ada/funcs/Q.htm -./doc/html/ada/funcs/R.htm -./doc/html/ada/funcs/S.htm -./doc/html/ada/funcs/T.htm -./doc/html/ada/funcs/U.htm -./doc/html/ada/funcs/V.htm -./doc/html/ada/funcs/W.htm -./doc/html/ada/index.htm -./doc/html/ada/main.htm -./doc/html/ada/table.html -./doc/html/ada/terminal_interface-curses-aux__adb.htm -./doc/html/ada/terminal_interface-curses-aux__ads.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm -./doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm -./doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm -./doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm -./doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm -./doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm -./doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm -./doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm -./doc/html/ada/terminal_interface-curses-forms__adb.htm -./doc/html/ada/terminal_interface-curses-forms__ads.htm -./doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm -./doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm -./doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm -./doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm -./doc/html/ada/terminal_interface-curses-menus__adb.htm -./doc/html/ada/terminal_interface-curses-menus__ads.htm -./doc/html/ada/terminal_interface-curses-mouse__adb.htm -./doc/html/ada/terminal_interface-curses-mouse__ads.htm -./doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm -./doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm -./doc/html/ada/terminal_interface-curses-panels__adb.htm -./doc/html/ada/terminal_interface-curses-panels__ads.htm -./doc/html/ada/terminal_interface-curses-putwin__adb.htm -./doc/html/ada/terminal_interface-curses-putwin__ads.htm -./doc/html/ada/terminal_interface-curses-termcap__adb.htm -./doc/html/ada/terminal_interface-curses-termcap__ads.htm -./doc/html/ada/terminal_interface-curses-terminfo__adb.htm -./doc/html/ada/terminal_interface-curses-terminfo__ads.htm -./doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm -./doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm -./doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm -./doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm -./doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm -./doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm -./doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm -./doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm -./doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm -./doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm -./doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm -./doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm -./doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm -./doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm -./doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm -./doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm -./doc/html/ada/terminal_interface-curses-text_io__adb.htm -./doc/html/ada/terminal_interface-curses-text_io__ads.htm -./doc/html/ada/terminal_interface-curses-trace__adb.htm -./doc/html/ada/terminal_interface-curses-trace__ads.htm -./doc/html/ada/terminal_interface-curses__adb.htm -./doc/html/ada/terminal_interface-curses__ads.htm -./doc/html/ada/terminal_interface__ads.htm -./doc/html/announce.html -./doc/html/hackguide.html -./doc/html/index.html -./doc/html/man/captoinfo.1m.html -./doc/html/man/clear.1.html -./doc/html/man/curs_add_wch.3x.html -./doc/html/man/curs_add_wchstr.3x.html -./doc/html/man/curs_addch.3x.html -./doc/html/man/curs_addchstr.3x.html -./doc/html/man/curs_addstr.3x.html -./doc/html/man/curs_addwstr.3x.html -./doc/html/man/curs_attr.3x.html -./doc/html/man/curs_beep.3x.html -./doc/html/man/curs_bkgd.3x.html -./doc/html/man/curs_bkgrnd.3x.html -./doc/html/man/curs_border.3x.html -./doc/html/man/curs_border_set.3x.html -./doc/html/man/curs_clear.3x.html -./doc/html/man/curs_color.3x.html -./doc/html/man/curs_delch.3x.html -./doc/html/man/curs_deleteln.3x.html -./doc/html/man/curs_extend.3x.html -./doc/html/man/curs_get_wch.3x.html -./doc/html/man/curs_get_wstr.3x.html -./doc/html/man/curs_getcchar.3x.html -./doc/html/man/curs_getch.3x.html -./doc/html/man/curs_getstr.3x.html -./doc/html/man/curs_getyx.3x.html -./doc/html/man/curs_in_wch.3x.html -./doc/html/man/curs_in_wchstr.3x.html -./doc/html/man/curs_inch.3x.html -./doc/html/man/curs_inchstr.3x.html -./doc/html/man/curs_initscr.3x.html -./doc/html/man/curs_inopts.3x.html -./doc/html/man/curs_ins_wch.3x.html -./doc/html/man/curs_ins_wstr.3x.html -./doc/html/man/curs_insch.3x.html -./doc/html/man/curs_insstr.3x.html -./doc/html/man/curs_instr.3x.html -./doc/html/man/curs_inwstr.3x.html -./doc/html/man/curs_kernel.3x.html -./doc/html/man/curs_mouse.3x.html -./doc/html/man/curs_move.3x.html -./doc/html/man/curs_outopts.3x.html -./doc/html/man/curs_overlay.3x.html -./doc/html/man/curs_pad.3x.html -./doc/html/man/curs_print.3x.html -./doc/html/man/curs_printw.3x.html -./doc/html/man/curs_refresh.3x.html -./doc/html/man/curs_scanw.3x.html -./doc/html/man/curs_scr_dump.3x.html -./doc/html/man/curs_scroll.3x.html -./doc/html/man/curs_slk.3x.html -./doc/html/man/curs_termattrs.3x.html -./doc/html/man/curs_termcap.3x.html -./doc/html/man/curs_terminfo.3x.html -./doc/html/man/curs_touch.3x.html -./doc/html/man/curs_trace.3x.html -./doc/html/man/curs_util.3x.html -./doc/html/man/curs_window.3x.html -./doc/html/man/default_colors.3x.html -./doc/html/man/define_key.3x.html -./doc/html/man/form.3x.html -./doc/html/man/form_cursor.3x.html -./doc/html/man/form_data.3x.html -./doc/html/man/form_driver.3x.html -./doc/html/man/form_field.3x.html -./doc/html/man/form_field_attributes.3x.html -./doc/html/man/form_field_buffer.3x.html -./doc/html/man/form_field_info.3x.html -./doc/html/man/form_field_just.3x.html -./doc/html/man/form_field_new.3x.html -./doc/html/man/form_field_opts.3x.html -./doc/html/man/form_field_userptr.3x.html -./doc/html/man/form_field_validation.3x.html -./doc/html/man/form_fieldtype.3x.html -./doc/html/man/form_hook.3x.html -./doc/html/man/form_new.3x.html -./doc/html/man/form_new_page.3x.html -./doc/html/man/form_opts.3x.html -./doc/html/man/form_page.3x.html -./doc/html/man/form_post.3x.html -./doc/html/man/form_requestname.3x.html -./doc/html/man/form_userptr.3x.html -./doc/html/man/form_win.3x.html -./doc/html/man/index.html -./doc/html/man/infocmp.1m.html -./doc/html/man/infotocap.1m.html -./doc/html/man/key_defined.3x.html -./doc/html/man/keybound.3x.html -./doc/html/man/keyok.3x.html -./doc/html/man/menu.3x.html -./doc/html/man/menu_attributes.3x.html -./doc/html/man/menu_cursor.3x.html -./doc/html/man/menu_driver.3x.html -./doc/html/man/menu_format.3x.html -./doc/html/man/menu_hook.3x.html -./doc/html/man/menu_items.3x.html -./doc/html/man/menu_mark.3x.html -./doc/html/man/menu_new.3x.html -./doc/html/man/menu_opts.3x.html -./doc/html/man/menu_pattern.3x.html -./doc/html/man/menu_post.3x.html -./doc/html/man/menu_requestname.3x.html -./doc/html/man/menu_spacing.3x.html -./doc/html/man/menu_userptr.3x.html -./doc/html/man/menu_win.3x.html -./doc/html/man/mitem_current.3x.html -./doc/html/man/mitem_name.3x.html -./doc/html/man/mitem_new.3x.html -./doc/html/man/mitem_opts.3x.html -./doc/html/man/mitem_userptr.3x.html -./doc/html/man/mitem_value.3x.html -./doc/html/man/mitem_visible.3x.html -./doc/html/man/ncurses.3x.html -./doc/html/man/panel.3x.html -./doc/html/man/resizeterm.3x.html -./doc/html/man/term.5.html -./doc/html/man/term.7.html -./doc/html/man/terminfo.5.html -./doc/html/man/tic.1m.html -./doc/html/man/toe.1m.html -./doc/html/man/tput.1.html -./doc/html/man/tset.1.html -./doc/html/man/wresize.3x.html -./doc/html/ncurses-intro.html -./doc/ncurses-intro.doc -./form/Makefile.in -./form/READ.ME -./form/f_trace.c -./form/fld_arg.c -./form/fld_attr.c -./form/fld_current.c -./form/fld_def.c -./form/fld_dup.c -./form/fld_ftchoice.c -./form/fld_ftlink.c -./form/fld_info.c -./form/fld_just.c -./form/fld_link.c -./form/fld_max.c -./form/fld_move.c -./form/fld_newftyp.c -./form/fld_opts.c -./form/fld_pad.c -./form/fld_page.c -./form/fld_stat.c -./form/fld_type.c -./form/fld_user.c -./form/form.h -./form/form.priv.h -./form/frm_cursor.c -./form/frm_data.c -./form/frm_def.c -./form/frm_driver.c -./form/frm_hook.c -./form/frm_opts.c -./form/frm_page.c -./form/frm_post.c -./form/frm_req_name.c -./form/frm_scale.c -./form/frm_sub.c -./form/frm_user.c -./form/frm_win.c -./form/fty_alnum.c -./form/fty_alpha.c -./form/fty_enum.c -./form/fty_int.c -./form/fty_ipv4.c -./form/fty_num.c -./form/fty_regex.c -./form/headers -./form/llib-lform -./form/llib-lformw -./form/modules -./include/Caps -./include/Caps.aix4 -./include/Caps.hpux11 -./include/Caps.keys -./include/Caps.osf1r5 -./include/Caps.uwin -./include/MKhashsize.sh -./include/MKkey_defs.sh -./include/MKncurses_def.sh -./include/MKparametrized.sh -./include/MKterm.h.awk.in -./include/Makefile.in -./include/capdefaults.c -./include/curses.h.in -./include/curses.tail -./include/curses.wide -./include/edit_cfg.sh -./include/headers -./include/nc_alloc.h -./include/nc_panel.h -./include/ncurses_cfg.hin -./include/ncurses_defs -./include/ncurses_dll.h -./include/term_entry.h -./include/termcap.h.in -./include/tic.h -./include/unctrl.h.in -./install-sh -./man/MKterminfo.sh -./man/Makefile.in -./man/captoinfo.1m -./man/clear.1 -./man/curs_add_wch.3x -./man/curs_add_wchstr.3x -./man/curs_addch.3x -./man/curs_addchstr.3x -./man/curs_addstr.3x -./man/curs_addwstr.3x -./man/curs_attr.3x -./man/curs_beep.3x -./man/curs_bkgd.3x -./man/curs_bkgrnd.3x -./man/curs_border.3x -./man/curs_border_set.3x -./man/curs_clear.3x -./man/curs_color.3x -./man/curs_delch.3x -./man/curs_deleteln.3x -./man/curs_extend.3x -./man/curs_get_wch.3x -./man/curs_get_wstr.3x -./man/curs_getcchar.3x -./man/curs_getch.3x -./man/curs_getstr.3x -./man/curs_getyx.3x -./man/curs_in_wch.3x -./man/curs_in_wchstr.3x -./man/curs_inch.3x -./man/curs_inchstr.3x -./man/curs_initscr.3x -./man/curs_inopts.3x -./man/curs_ins_wch.3x -./man/curs_ins_wstr.3x -./man/curs_insch.3x -./man/curs_insstr.3x -./man/curs_instr.3x -./man/curs_inwstr.3x -./man/curs_kernel.3x -./man/curs_mouse.3x -./man/curs_move.3x -./man/curs_outopts.3x -./man/curs_overlay.3x -./man/curs_pad.3x -./man/curs_print.3x -./man/curs_printw.3x -./man/curs_refresh.3x -./man/curs_scanw.3x -./man/curs_scr_dump.3x -./man/curs_scroll.3x -./man/curs_slk.3x -./man/curs_termattrs.3x -./man/curs_termcap.3x -./man/curs_terminfo.3x -./man/curs_touch.3x -./man/curs_trace.3x -./man/curs_util.3x -./man/curs_window.3x -./man/default_colors.3x -./man/define_key.3x -./man/form.3x -./man/form_cursor.3x -./man/form_data.3x -./man/form_driver.3x -./man/form_field.3x -./man/form_field_attributes.3x -./man/form_field_buffer.3x -./man/form_field_info.3x -./man/form_field_just.3x -./man/form_field_new.3x -./man/form_field_opts.3x -./man/form_field_userptr.3x -./man/form_field_validation.3x -./man/form_fieldtype.3x -./man/form_hook.3x -./man/form_new.3x -./man/form_new_page.3x -./man/form_opts.3x -./man/form_page.3x -./man/form_post.3x -./man/form_requestname.3x -./man/form_userptr.3x -./man/form_win.3x -./man/infocmp.1m -./man/infotocap.1m -./man/key_defined.3x -./man/keybound.3x -./man/keyok.3x -./man/make_sed.sh -./man/man_db.renames -./man/manlinks.sed -./man/menu.3x -./man/menu_attributes.3x -./man/menu_cursor.3x -./man/menu_driver.3x -./man/menu_format.3x -./man/menu_hook.3x -./man/menu_items.3x -./man/menu_mark.3x -./man/menu_new.3x -./man/menu_opts.3x -./man/menu_pattern.3x -./man/menu_post.3x -./man/menu_requestname.3x -./man/menu_spacing.3x -./man/menu_userptr.3x -./man/menu_win.3x -./man/mitem_current.3x -./man/mitem_name.3x -./man/mitem_new.3x -./man/mitem_opts.3x -./man/mitem_userptr.3x -./man/mitem_value.3x -./man/mitem_visible.3x -./man/ncurses.3x -./man/panel.3x -./man/resizeterm.3x -./man/term.5 -./man/term.7 -./man/terminfo.head -./man/terminfo.tail -./man/tic.1m -./man/toe.1m -./man/tput.1 -./man/tset.1 -./man/wresize.3x -./menu/Makefile.in -./menu/READ.ME -./menu/eti.h -./menu/headers -./menu/llib-lmenu -./menu/llib-lmenuw -./menu/m_attribs.c -./menu/m_cursor.c -./menu/m_driver.c -./menu/m_format.c -./menu/m_global.c -./menu/m_hook.c -./menu/m_item_cur.c -./menu/m_item_nam.c -./menu/m_item_new.c -./menu/m_item_opt.c -./menu/m_item_top.c -./menu/m_item_use.c -./menu/m_item_val.c -./menu/m_item_vis.c -./menu/m_items.c -./menu/m_new.c -./menu/m_opts.c -./menu/m_pad.c -./menu/m_pattern.c -./menu/m_post.c -./menu/m_req_name.c -./menu/m_scale.c -./menu/m_spacing.c -./menu/m_sub.c -./menu/m_trace.c -./menu/m_userptr.c -./menu/m_win.c -./menu/menu.h -./menu/menu.priv.h -./menu/mf_common.h -./menu/modules -./misc/Makefile.in -./misc/chkdef.cmd -./misc/cleantic.cmd -./misc/cmpdef.cmd -./misc/csort -./misc/emx.src -./misc/form.def -./misc/form.ref -./misc/gen_edit.sh -./misc/jpf-indent -./misc/makedef.cmd -./misc/makellib -./misc/menu.def -./misc/menu.ref -./misc/ncu-indent -./misc/ncurses.def -./misc/ncurses.ref -./misc/panel.def -./misc/panel.ref -./misc/run_tic.in -./misc/shlib -./misc/tabset/std -./misc/tabset/stdcrt -./misc/tabset/vt100 -./misc/tabset/vt300 -./misc/tdlint -./misc/terminfo.src -./mk-0th.awk -./mk-1st.awk -./mk-2nd.awk -./mkinstalldirs -./ncurses/Makefile.in -./ncurses/README -./ncurses/README.IZ -./ncurses/SigAction.h -./ncurses/base/MKkeyname.awk -./ncurses/base/MKlib_gen.sh -./ncurses/base/MKunctrl.awk -./ncurses/base/README -./ncurses/base/define_key.c -./ncurses/base/key_defined.c -./ncurses/base/keybound.c -./ncurses/base/keyok.c -./ncurses/base/lib_addch.c -./ncurses/base/lib_addstr.c -./ncurses/base/lib_beep.c -./ncurses/base/lib_bkgd.c -./ncurses/base/lib_box.c -./ncurses/base/lib_chgat.c -./ncurses/base/lib_clear.c -./ncurses/base/lib_clearok.c -./ncurses/base/lib_clrbot.c -./ncurses/base/lib_clreol.c -./ncurses/base/lib_color.c -./ncurses/base/lib_colorset.c -./ncurses/base/lib_delch.c -./ncurses/base/lib_delwin.c -./ncurses/base/lib_dft_fgbg.c -./ncurses/base/lib_echo.c -./ncurses/base/lib_endwin.c -./ncurses/base/lib_erase.c -./ncurses/base/lib_flash.c -./ncurses/base/lib_freeall.c -./ncurses/base/lib_getch.c -./ncurses/base/lib_getstr.c -./ncurses/base/lib_hline.c -./ncurses/base/lib_immedok.c -./ncurses/base/lib_inchstr.c -./ncurses/base/lib_initscr.c -./ncurses/base/lib_insch.c -./ncurses/base/lib_insdel.c -./ncurses/base/lib_insnstr.c -./ncurses/base/lib_instr.c -./ncurses/base/lib_isendwin.c -./ncurses/base/lib_leaveok.c -./ncurses/base/lib_mouse.c -./ncurses/base/lib_move.c -./ncurses/base/lib_mvwin.c -./ncurses/base/lib_newterm.c -./ncurses/base/lib_newwin.c -./ncurses/base/lib_nl.c -./ncurses/base/lib_overlay.c -./ncurses/base/lib_pad.c -./ncurses/base/lib_printw.c -./ncurses/base/lib_redrawln.c -./ncurses/base/lib_refresh.c -./ncurses/base/lib_restart.c -./ncurses/base/lib_scanw.c -./ncurses/base/lib_screen.c -./ncurses/base/lib_scroll.c -./ncurses/base/lib_scrollok.c -./ncurses/base/lib_scrreg.c -./ncurses/base/lib_set_term.c -./ncurses/base/lib_slk.c -./ncurses/base/lib_slkatr_set.c -./ncurses/base/lib_slkatrof.c -./ncurses/base/lib_slkatron.c -./ncurses/base/lib_slkatrset.c -./ncurses/base/lib_slkattr.c -./ncurses/base/lib_slkclear.c -./ncurses/base/lib_slkcolor.c -./ncurses/base/lib_slkinit.c -./ncurses/base/lib_slklab.c -./ncurses/base/lib_slkrefr.c -./ncurses/base/lib_slkset.c -./ncurses/base/lib_slktouch.c -./ncurses/base/lib_touch.c -./ncurses/base/lib_ungetch.c -./ncurses/base/lib_vline.c -./ncurses/base/lib_wattroff.c -./ncurses/base/lib_wattron.c -./ncurses/base/lib_winch.c -./ncurses/base/lib_window.c -./ncurses/base/memmove.c -./ncurses/base/nc_panel.c -./ncurses/base/resizeterm.c -./ncurses/base/safe_sprintf.c -./ncurses/base/sigaction.c -./ncurses/base/tries.c -./ncurses/base/version.c -./ncurses/base/vsscanf.c -./ncurses/base/wresize.c -./ncurses/curses.priv.h -./ncurses/fifo_defs.h -./ncurses/llib-lncurses -./ncurses/llib-lncursesw -./ncurses/modules -./ncurses/tinfo/MKcaptab.awk -./ncurses/tinfo/MKfallback.sh -./ncurses/tinfo/MKkeys_list.sh -./ncurses/tinfo/MKnames.awk -./ncurses/tinfo/README -./ncurses/tinfo/access.c -./ncurses/tinfo/add_tries.c -./ncurses/tinfo/alloc_entry.c -./ncurses/tinfo/alloc_ttype.c -./ncurses/tinfo/captoinfo.c -./ncurses/tinfo/comp_error.c -./ncurses/tinfo/comp_expand.c -./ncurses/tinfo/comp_hash.c -./ncurses/tinfo/comp_parse.c -./ncurses/tinfo/comp_scan.c -./ncurses/tinfo/doalloc.c -./ncurses/tinfo/free_ttype.c -./ncurses/tinfo/getenv_num.c -./ncurses/tinfo/home_terminfo.c -./ncurses/tinfo/init_keytry.c -./ncurses/tinfo/lib_acs.c -./ncurses/tinfo/lib_baudrate.c -./ncurses/tinfo/lib_cur_term.c -./ncurses/tinfo/lib_data.c -./ncurses/tinfo/lib_has_cap.c -./ncurses/tinfo/lib_kernel.c -./ncurses/tinfo/lib_longname.c -./ncurses/tinfo/lib_napms.c -./ncurses/tinfo/lib_options.c -./ncurses/tinfo/lib_print.c -./ncurses/tinfo/lib_raw.c -./ncurses/tinfo/lib_setup.c -./ncurses/tinfo/lib_termcap.c -./ncurses/tinfo/lib_termname.c -./ncurses/tinfo/lib_tgoto.c -./ncurses/tinfo/lib_ti.c -./ncurses/tinfo/lib_tparm.c -./ncurses/tinfo/lib_tputs.c -./ncurses/tinfo/lib_ttyflags.c -./ncurses/tinfo/make_keys.c -./ncurses/tinfo/name_match.c -./ncurses/tinfo/parse_entry.c -./ncurses/tinfo/read_entry.c -./ncurses/tinfo/read_termcap.c -./ncurses/tinfo/setbuf.c -./ncurses/tinfo/strings.c -./ncurses/tinfo/trim_sgr0.c -./ncurses/tinfo/write_entry.c -./ncurses/trace/README -./ncurses/trace/lib_trace.c -./ncurses/trace/lib_traceatr.c -./ncurses/trace/lib_tracebits.c -./ncurses/trace/lib_tracechr.c -./ncurses/trace/lib_tracedmp.c -./ncurses/trace/lib_tracemse.c -./ncurses/trace/trace_buf.c -./ncurses/trace/trace_tries.c -./ncurses/trace/trace_xnames.c -./ncurses/trace/varargs.c -./ncurses/trace/visbuf.c -./ncurses/tty/MKexpanded.sh -./ncurses/tty/hardscroll.c -./ncurses/tty/hashmap.c -./ncurses/tty/lib_mvcur.c -./ncurses/tty/lib_tstp.c -./ncurses/tty/lib_twait.c -./ncurses/tty/lib_vidattr.c -./ncurses/tty/tty_display.h -./ncurses/tty/tty_input.h -./ncurses/tty/tty_update.c -./ncurses/widechar/charable.c -./ncurses/widechar/lib_add_wch.c -./ncurses/widechar/lib_box_set.c -./ncurses/widechar/lib_cchar.c -./ncurses/widechar/lib_erasewchar.c -./ncurses/widechar/lib_get_wch.c -./ncurses/widechar/lib_get_wstr.c -./ncurses/widechar/lib_hline_set.c -./ncurses/widechar/lib_in_wch.c -./ncurses/widechar/lib_in_wchnstr.c -./ncurses/widechar/lib_ins_wch.c -./ncurses/widechar/lib_inwstr.c -./ncurses/widechar/lib_pecho_wchar.c -./ncurses/widechar/lib_slk_wset.c -./ncurses/widechar/lib_unget_wch.c -./ncurses/widechar/lib_vid_attr.c -./ncurses/widechar/lib_vline_set.c -./ncurses/widechar/lib_wacs.c -./ncurses/widechar/lib_wunctrl.c -./panel/Makefile.in -./panel/headers -./panel/llib-lpanel -./panel/llib-lpanelw -./panel/modules -./panel/p_above.c -./panel/p_below.c -./panel/p_bottom.c -./panel/p_delete.c -./panel/p_hidden.c -./panel/p_hide.c -./panel/p_move.c -./panel/p_new.c -./panel/p_replace.c -./panel/p_show.c -./panel/p_top.c -./panel/p_update.c -./panel/p_user.c -./panel/p_win.c -./panel/panel.c -./panel/panel.h -./panel/panel.priv.h -./progs/MKtermsort.sh -./progs/Makefile.in -./progs/capconvert -./progs/clear.c -./progs/clear.sh -./progs/dump_entry.c -./progs/dump_entry.h -./progs/infocmp.c -./progs/modules -./progs/progs.priv.h -./progs/tic.c -./progs/toe.c -./progs/tput.c -./progs/tset.c -./tack/COPYING -./tack/HISTORY -./tack/Makefile.in -./tack/README -./tack/ansi.c -./tack/charset.c -./tack/color.c -./tack/control.c -./tack/crum.c -./tack/edit.c -./tack/fun.c -./tack/init.c -./tack/menu.c -./tack/modes.c -./tack/modules -./tack/output.c -./tack/pad.c -./tack/scan.c -./tack/sync.c -./tack/sysdep.c -./tack/tack.1 -./tack/tack.c -./tack/tack.h -./tar-copy.sh -./test/Makefile.in -./test/README -./test/aclocal.m4 -./test/background.c -./test/blue.c -./test/bs.6 -./test/bs.c -./test/cardfile.c -./test/cardfile.dat -./test/color_set.c -./test/configure -./test/configure.in -./test/demo_defkey.c -./test/demo_forms.c -./test/demo_keyok.c -./test/demo_menus.c -./test/demo_panels.c -./test/demo_termcap.c -./test/ditto.c -./test/dots.c -./test/edit_field.c -./test/edit_field.h -./test/filter.c -./test/firework.c -./test/firstlast.c -./test/gdc.6 -./test/gdc.c -./test/hanoi.c -./test/hashtest.c -./test/ins_wide.c -./test/inserts.c -./test/keynames.c -./test/knight.c -./test/linux-color.dat -./test/listused.sh -./test/lrtest.c -./test/modules -./test/ncurses.c -./test/ncurses_tst.hin -./test/newdemo.c -./test/railroad.c -./test/rain.c -./test/tclock.c -./test/test.priv.h -./test/testaddch.c -./test/testcurs.c -./test/testscanw.c -./test/tracemunch -./test/view.c -./test/worm.c -./test/xmas.c -./test/xterm-16color.dat -./test/xterm-88color.dat diff --git a/src/libs/ncurses/Makefile b/src/libs/ncurses/Makefile deleted file mode 100644 index 8f4c4bf6e5..0000000000 --- a/src/libs/ncurses/Makefile +++ /dev/null @@ -1,207 +0,0 @@ -# $Id: Makefile.in,v 1.24 2005/01/29 19:30:06 tom Exp $ -############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996,1997 -# -# Master Makefile for ncurses library. - -SHELL = /bin/sh - -DESTDIR= -CF_MFLAGS = DESTDIR="$(DESTDIR)" - - - -NCURSES_MAJOR = 5 -NCURSES_MINOR = 5 -NCURSES_PATCH = 20051010 - -prefix = /usr/local -exec_prefix = ${prefix} - -bindir = ${exec_prefix}/bin -ticdir = /usr/local/share/terminfo -includedir = $(prefix)/include/ncurses -libdir = ${exec_prefix}/lib -mandir = ${prefix}/man - -INSTALL = /bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 - -DIRS_TO_MAKE = lib objects obj_g - -all :: $(DIRS_TO_MAKE) - -$(DIRS_TO_MAKE) : - mkdir $@ - -preinstall : - @ echo '' - @ echo '** Configuration summary for NCURSES $(NCURSES_MAJOR).$(NCURSES_MINOR) $(NCURSES_PATCH):' - @ echo '' - @ echo ' extended funcs: '`test 1 != 0 && echo yes || echo no` - @ echo ' xterm terminfo: 'xterm-new - @ echo '' - @ echo ' bin directory: '$(bindir) - @ echo ' lib directory: '$(libdir) - @ echo ' include directory: '$(includedir) - @ echo ' man directory: '$(mandir) - @ echo ' terminfo directory: '$(ticdir) - @ echo '' - @ test "$(includedir)" = "$(prefix)/include" || \ - echo '** Include-directory is not in a standard location' - @ test ! -f $(includedir)/termcap.h || \ - fgrep NCURSES_VERSION $(includedir)/termcap.h >/dev/null || \ - echo '** Will overwrite non-ncurses termcap.h' - @ test ! -f $(includedir)/curses.h || \ - fgrep NCURSES_VERSION $(includedir)/curses.h >/dev/null || \ - echo '** Will overwrite non-ncurses curses.h' - -# Put the common rules here so that we can easily construct the list of -# directories to visit. -all \ -clean \ -distclean \ -mostlyclean \ -realclean \ -depend \ -sources \ -tags \ -uninstall \ -install :: - cd man && $(MAKE) $(CF_MFLAGS) $@ - cd include && $(MAKE) $(CF_MFLAGS) $@ - cd ncurses && $(MAKE) $(CF_MFLAGS) $@ - cd progs && $(MAKE) $(CF_MFLAGS) $@ - cd tack && $(MAKE) $(CF_MFLAGS) $@ - cd panel && $(MAKE) $(CF_MFLAGS) $@ - cd menu && $(MAKE) $(CF_MFLAGS) $@ - cd form && $(MAKE) $(CF_MFLAGS) $@ - cd test && $(MAKE) $(CF_MFLAGS) $@ - cd misc && $(MAKE) $(CF_MFLAGS) $@ - cd c++ && $(MAKE) $(CF_MFLAGS) $@ - -libs \ -install.libs \ -uninstall.libs \ -install.includes \ -uninstall.includes :: - cd include && $(MAKE) $(CF_MFLAGS) $@ - -lint \ -libs \ -lintlib \ -install.libs \ -uninstall.libs \ -install.ncurses \ -uninstall.ncurses :: - cd ncurses && $(MAKE) $(CF_MFLAGS) $@ - -lint \ -libs \ -lintlib \ -install.libs \ -uninstall.libs \ -install.progs \ -uninstall.progs :: - cd progs && $(MAKE) $(CF_MFLAGS) $@ - -lint \ -libs \ -lintlib \ -install.libs \ -uninstall.libs \ -install.tack \ -uninstall.tack :: - cd tack && $(MAKE) $(CF_MFLAGS) $@ - -install.includes \ -uninstall.includes \ -lint \ -libs \ -lintlib \ -install.libs \ -uninstall.libs \ -install.panel \ -uninstall.panel :: - cd panel && $(MAKE) $(CF_MFLAGS) $@ - -install.includes \ -uninstall.includes \ -lint \ -libs \ -lintlib \ -install.libs \ -uninstall.libs \ -install.menu \ -uninstall.menu :: - cd menu && $(MAKE) $(CF_MFLAGS) $@ - -install.includes \ -uninstall.includes \ -lint \ -libs \ -lintlib \ -install.libs \ -uninstall.libs \ -install.form \ -uninstall.form :: - cd form && $(MAKE) $(CF_MFLAGS) $@ - -lint \ -libs \ -lintlib \ -install.libs \ -uninstall.libs \ -install.test \ -uninstall.test :: - cd test && $(MAKE) $(CF_MFLAGS) $@ - -install.includes \ -uninstall.includes \ -libs \ -lintlib \ -install.libs \ -uninstall.libs \ -install.c++ \ -uninstall.c++ :: - cd c++ && $(MAKE) $(CF_MFLAGS) $@ - -install.data \ -uninstall.data :: - cd misc && $(MAKE) $(CF_MFLAGS) $@ - -install.man \ -uninstall.man :: - cd man && $(MAKE) $(CF_MFLAGS) $@ - -distclean :: - rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h - rm -f headers.sh headers.sed - rm -rf $(DIRS_TO_MAKE) diff --git a/src/libs/ncurses/Makefile.in b/src/libs/ncurses/Makefile.in deleted file mode 100644 index cb8cd422cc..0000000000 --- a/src/libs/ncurses/Makefile.in +++ /dev/null @@ -1,97 +0,0 @@ -# $Id: Makefile.in,v 1.24 2005/01/29 19:30:06 tom Exp $ -############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996,1997 -# -# Master Makefile for ncurses library. - -SHELL = /bin/sh - -DESTDIR=@DESTDIR@ -CF_MFLAGS = @cf_cv_makeflags@ DESTDIR="$(DESTDIR)" - -@SET_MAKE@ - -NCURSES_MAJOR = @NCURSES_MAJOR@ -NCURSES_MINOR = @NCURSES_MINOR@ -NCURSES_PATCH = @NCURSES_PATCH@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -ticdir = @TERMINFO@ -includedir = @includedir@ -libdir = @libdir@ -mandir = @mandir@ - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ - -DIRS_TO_MAKE = @DIRS_TO_MAKE@ - -all :: $(DIRS_TO_MAKE) - -$(DIRS_TO_MAKE) : - mkdir $@ - -preinstall : - @ echo '' - @ echo '** Configuration summary for NCURSES $(NCURSES_MAJOR).$(NCURSES_MINOR) $(NCURSES_PATCH):' - @ echo '' - @ echo ' extended funcs: '`test @NCURSES_EXT_FUNCS@ != 0 && echo yes || echo no` - @ echo ' xterm terminfo: '@WHICH_XTERM@ - @ echo '' - @ echo ' bin directory: '$(bindir) - @ echo ' lib directory: '$(libdir) - @ echo ' include directory: '$(includedir) - @ echo ' man directory: '$(mandir) -@MAKE_TERMINFO@ @ echo ' terminfo directory: '$(ticdir) - @ echo '' - @ test "$(includedir)" = "$(prefix)/include" || \ - echo '** Include-directory is not in a standard location' - @ test ! -f $(includedir)/termcap.h || \ - fgrep NCURSES_VERSION $(includedir)/termcap.h >/dev/null || \ - echo '** Will overwrite non-ncurses termcap.h' - @ test ! -f $(includedir)/curses.h || \ - fgrep NCURSES_VERSION $(includedir)/curses.h >/dev/null || \ - echo '** Will overwrite non-ncurses curses.h' - -# Put the common rules here so that we can easily construct the list of -# directories to visit. -all \ -clean \ -distclean \ -mostlyclean \ -realclean \ -depend \ -sources \ -tags \ -uninstall \ -install :: diff --git a/src/libs/ncurses/Makefile.os2 b/src/libs/ncurses/Makefile.os2 deleted file mode 100644 index 167ff657e0..0000000000 --- a/src/libs/ncurses/Makefile.os2 +++ /dev/null @@ -1,234 +0,0 @@ -################################################################################ -# Wrapper Makefile for ncurses library under OS/2. -################################################################################ -# $Id: Makefile.os2,v 1.10 2000/10/09 23:53:57 Ilya.Zakharevich Exp $ -# -# Author: Juan Jose Garcia Ripoll . -# Webpage: http://www.arrakis.es/~worm/ -################################################################################ -# -# Notes (from I Zakharevich) -# ~~~~~~~~~~~~~~~~~~~~~~~~~~ -# I could build the library with the following sequence of commands: -# -# touch Makefile -# make -f Makefile.os2 config -# make -f Makefile.os2 CC=gcc HOSTCC=gcc CXX=gcc -# -# Ignoring the following errors: -# Invalid configuration `os2'... -# ... ac_maketemp="make": not found -# ... syntax error: `done' unexpected -# No rule to make target `lib/ncurses4.dll' -# -# You may need to run -# -# rm make.defs -# make -f Makefile.os2 make.defs -# -# if the build of misc/panel.def fails. -# -# If you do not have perl, the configuration will fail. Use autoconf to -# generate the EMX-specific configure script (see README.emx), and run the -# configure script to generate the makefiles. Then, run -# -# make -f Makefile.os2 make.dlls -# -# Notes (from J J G Ripoll) -# ~~~~~~~~~~~~~~~~~~~~~~~~~ -# The `make.defs' rule creates the new '.def' files and outputs a diagnostic -# about symbols that disappear from one release to the other, as well as -# checks about the new '.def' consistency. If there were no problems, the -# maintainer is free to replace the `.ref' files with the newer ones using the -# `save.defs' rule. So, the only tough work is ensuring that the symbols that -# disappear are not essential. -# -# I first thought about killing '_nc_*' symbols, but it seems that some of -# them --_nc_panel_hook, _nc_ada*, etc-- are needed outside ncurses.dll. -# However, the whole size of the export table will not be larger than 1k or -# so. -# -# [installation] -# -# The way things are handled in misc/Makefile is not well suited for OS/2, -# where only emx.src is needed. Thus, I've written a few wrapper rules in -# Makefile.os2 that handle installation/deinstallation. -# -# [distribution] -# -# There's also a new rule that configures and builds a sort of binary -# distribution, much like the one I prepared for 1.9.9e. It's `os2dist'. -# -################################################################################ - -all :: config - -# This is for configuring - -# What is a useful value for this? -CONFIG_OPTS = --enable-termcap -WWWGET = lynx -source -MV_F = mv -f -DLL_LN_OPTS = -Zcrtdll -Zdll -Zomf -Zmt - -config: config.cache - -config.cache: configure.cmd configure - -$(MV_F) $@ $@.ref - configure.cmd $(CONFIG_OPTS) - -configure.cmd: configure convert_configure.pl - perl convert_configure.pl configure > $@ - -convert_configure.pl: - $(WWWGET) ftp://ftp.math.ohio-state.edu/pub/users/ilya/os2/$@ > $@ - -install :: - echo *** - echo *** Do not use this command. Use install.os2 instead. - echo *** - exit 2 - -install.os2 : install.emxdata install.libs install.progs - -include ./Makefile - -all :: make.dlls - -# -# DLLs and that stuff -# - -LIBRARIES = ncurses form menu panel - -DLL_TAG = $(NCURSES_MAJOR) -LIB_TAG = _s - -DLL_ROOTS = $(addsuffix $(DLL_TAG), $(LIBRARIES)) -DLLS = $(addsuffix .dll, $(addprefix ./lib/, $(DLL_ROOTS))) - -LIB_ROOTS = $(addsuffix $(LIB_TAG), $(LIBRARIES)) -LIBS = $(addsuffix .lib, $(addprefix ./lib/, $(LIB_ROOTS))) - -LIBS_AOUT = $(addsuffix .a, $(addprefix ./lib/, $(LIB_ROOTS))) - -DEFS = $(addsuffix .def, $(addprefix ./misc/, $(LIBRARIES))) - -DLL_SIGNATURE = NCurses-$(NCURSES_MAJOR)-$(NCURSES_MINOR)-$(NCURSES_PATCH) - -./lib/%$(LIB_TAG).lib : ./misc/%.def - emximp -o $@ $< - -./lib/%$(LIB_TAG).a : ./misc/%.def - emximp -o $@ $< - -./lib/%$(DLL_TAG).dll : ./lib/%.a - emxomf -o ./lib/$*$(DLL_TAG).lib $< - if [ "$*" = "ncurses" ]; then \ - gcc $(LDFLAGS) $(DLL_LN_OPTS) ./lib/$*$(DLL_TAG).lib \ - ./misc/$*.def -o $@; \ - else \ - gcc $(LDFLAGS) $(DLL_LN_OPTS) ./lib/$*$(DLL_TAG).lib \ - ./lib/ncurses$(LIB_TAG).lib ./misc/$*.def -o $@; \ - fi - -rm -f ./lib/$*$(DLL_TAG).lib - -make.dlls : $(DEFS) $(LIBS) $(DLLS) $(LIBS_AOUT) - -$(DEFS) : make.defs - -LIBDIR = $(DESTDIR)$(libdir) -$(LIBDIR) : - mkdir -p $@ - -install.libs :: $(LIBS) $(DLLS) $(LIBDIR) - @for i in $(DLL_ROOTS); do \ - echo installing ./lib/$$i.dll as $(LIBDIR)/$$i.dll; \ - $(INSTALL_DATA) ./lib/$$i.dll $(LIBDIR)/$$i.dll; done - @for i in $(LIB_ROOTS); do \ - echo installing ./lib/$$i.lib as $(LIBDIR)/$$i.lib; \ - $(INSTALL_DATA) ./lib/$$i.lib $(LIBDIR)/$$i.lib; done - -uninstall.libs :: - -@for i in $(DLL_ROOTS); do \ - echo uninstalling $(LIBDIR)/$$i.dll; \ - rm -f $(LIBDIR)/$$i.dll; done - -@for i in $(LIB_ROOTS); do \ - echo uninstalling $(LIBDIR)/$$i.lib; \ - rm -f $(LIBDIR)/$$i.lib; done - -make.defs : - for i in $(LIBRARIES); do \ - echo LIBRARY $${i}$(DLL_TAG) INITINSTANCE TERMINSTANCE > ./misc/$$i.def; \ - echo DESCRIPTION \"$(DLL_SIGNATURE), module $$i\" >> ./misc/$$i.def; \ - echo CODE LOADONCALL >> ./misc/$$i.def; \ - echo DATA LOADONCALL NONSHARED MULTIPLE >> ./misc/$$i.def; \ - echo EXPORTS >> ./misc/$$i.def; \ - echo Creating $$i.def; \ - (cmd /C ".\\misc\\makedef.cmd ./lib/$$i.a ./misc/$$i.ref >> ./misc/$$i.def" \ - && cmd /C ".\\misc\\chkdef.cmd ./misc/$$i.def") \ - || exit 1; \ - done - touch make.defs - -save.defs : - for i in $(LIBRARIES); do \ - test -f ./misc/$$i.def && cp ./misc/$$i.def ./misc/$$i.ref; \ - done - -clean \ -os2clean :: - -rm -f $(DLLS) $(LIBS) - -realclean :: - -rm -f $(addprefix ./misc/, $(addsuffix .def, $(LIBRARIES))) - -# -# This is a simplified version of misc/Makefile -# - -TICDIR = $(DESTDIR)$(datadir)/terminfo -TABSETDIR = $(DESTDIR)$(datadir)/tabset - -$(TICDIR) : - mkdir -p $@ - -install \ -install.emxdata :: $(TICDIR) - -@rm -fr $(TICDIR)/* - echo Building terminfo database, please wait... - set TERMINFO=$(TICDIR); ./progs/tic ./misc/emx.src - echo Installing the terminfo cleaner and the sources... - cp ./misc/emx.src ./misc/cleantic.cmd $(TICDIR) - ./misc/cleantic.cmd $(TICDIR) - -uninstall \ -uninstall.emxdata :: - -cd $(TICDIR) && rm -rf * - -cd $(TABSETDIR) && rm -rf * - -# -# This is for preparing binary distributions -# - -OS2NAME=ncurses-$(NCURSES_MAJOR).$(NCURSES_MINOR)-emx - -# -# FIXME: this assumes that we can rerun the configure script, changing only -# the install-prefix. That means we cannot provide "interesting" options -# when building. -# -os2dist : - $(MAKE) -f Makefile.os2 os2clean - ./configure --without-debug --with-install-prefix=`pwd|sed -e 's@^.:@@'`/$(OS2NAME) - $(MAKE) -f Makefile.os2 $(CF_MFLAGS) install.os2 - -rm -f $(OS2NAME).zip - echo NCurses-$(NCURSES_MAJOR).$(NCURSES_MINOR)-$(NCURSES_PATCH) for emx > $(OS2NAME)/FILE_ID.DIZ - echo Binary release. >> $(OS2NAME)/FILE_ID.DIZ - zip -r $(OS2NAME).zip ./$(OS2NAME) - -clean \ -os2clean :: - -rm -rf $(OS2NAME) - -rm -f $(OS2NAME).zip - diff --git a/src/libs/ncurses/NEWS b/src/libs/ncurses/NEWS deleted file mode 100644 index 04bc845696..0000000000 --- a/src/libs/ncurses/NEWS +++ /dev/null @@ -1,7363 +0,0 @@ --- $Id: NEWS,v 1.929 2005/10/09 14:17:59 tom Exp $ - -This is a log of changes that ncurses has gone through since Zeyd started -working with Pavel Curtis' original work, pcurses, in 1992. - -Changes through 1.9.9e are recorded by Zeyd M. Ben-Halim. -Changes since 1.9.9e are recorded by Thomas Dickey. - -20051010 5.5 release for upload to ftp.gnu.org - -20051008 - + document in demo_forms.c some portability issues. - -20051001 - + document side-effect of werase() which sets the cursor position. - + save/restore the current position in form field editing to make - overlay mode work. - -20050924 - + correct header dependencies in progs, allowing parallel make (report - by Daniel Jacobowitz). - + modify CF_BUILD_CC to ensure that pre-setting $BUILD_CC overrides - the configure check for --with-build-cc (report by Daniel Jacobowitz). - + modify CF_CFG_DEFAULTS to not use /usr as the default prefix for - NetBSD. - + update config.guess and config.sub from - http://subversions.gnu.org/cgi-bin/viewcvs/config/config/ - -20050917 - + modify sed expression which computes path for /usr/lib/terminfo - symbolic link in install to ensure that it does not change unexpected - levels of the path (Gentoo #42336). - + modify default for --disable-lp64 configure option to reduce impact - on existing 64-bit builds. Enabling the _LP64 option may change the - size of chtype and mmask_t. However, for ABI 6, it is enabled by - default (report by Mike Frysinger). - + add configure script check for --enable-ext-mouse, bump ABI to 6 by - default if it is used. - + improve configure script logic for bumping ABI to omit this if the - --with-abi-version option was used. - + update address for Free Software Foundation in tack's source. - + correct wins_wch(), which was not marking the filler-cells of - multi-column characters (cf: 20041023). - -20050910 - + modify mouse initialization to ensure that Gpm_Open() is called only - once. Otherwise GPM gets confused in its initialization of signal - handlers (Debian #326709). - -20050903 - + modify logic for backspacing in a multiline form field to ensure that - it works even when the preceding line is full (report by Frank van - Vugt). - + remove comment about BUGS section of ncurses manpage (Debian #325481) - -20050827 - + document some workarounds for shared and libtool library - configurations in INSTALL (see --with-shared and --with-libtool). - + modify CF_GCC_VERSION and CF_GXX_VERSION macros to accommodate - cross-compilers which emit the platform name in their version - message, e.g., - arm-sa1100-linux-gnu-g++ (GCC) 4.0.1 - (report by Frank van Vugt). - -20050820 - + start updating documentation for upcoming 5.5 release. - + fix to make libtool and libtinfo work together again (cf: 20050122). - + fixes to allow building traces into libtinfo - + add debug trace to tic that shows if/how ncurses will write to the - lower corner of a terminal's screen. - + update llib-l* files. - -20050813 - + modify initializers in c++ binding to build with old versions of g++. - + improve special case for 20050115 repainting fix, ensuring that if - the first changed cell is not a character that the range to be - repainted is adjusted to start at a character's beginning (Debian - #316663). - -20050806 - + fixes to build on QNX 6.1 - + improve configure script checks for Intel 9.0 compiler. - + remove #include's for libc.h (obsolete). - + adjust ifdef's in curses.priv.h so that when cross-compiling to - produce comp_hash and make_keys, no dependency on wchar.h is needed. - That simplifies the build-cppflags (report by Frank van Vugt). - + move modules related to key-binding into libtinfo to fix linkage - problem caused by 20050430 changes to MKkeyname.sh (report by - Konstantin Andreev). - -20050723 - + updates/fixes for configure script macros from vile. - + make prism9's sgr string agree with the rest of the terminfo -TD - + make vt220's sgr0 string consistent with sgr string, do this for - several related cases -TD - + improve translation to termcap by filtering the 'me' (sgr0) strings - as in the runtime call to tgetent() (prompted by a discussion with - Thomas Klausner). - + improve tic check for sgr0 versus sgr(0), to help ensure that sgr0 - resets line-drawing. - -20050716 - + fix special cases for trimming sgr0 for hurd and vt220 (Debian - #318621). - + split-out _nc_trim_sgr0() from modifications made to tgetent(), to - allow it to be used by tic to provide information about the runtime - changes that would be made to sgr0 for termcap applications. - + modify make_sed.sh to make the group-name in the NAME section of - form/menu library manpage agree with the TITLE string when renaming - is done for Debian (Debian #78866). - -20050702 - + modify parameter type in c++ binding for insch() and mvwinsch() to - be consistent with underlying ncurses library (was char, is chtype). - + modify treatment of Intel compiler to allow _GNU_SOURCE to be defined - on Linux. - + improve configure check for nanosleep(), checking that it works since - some older systems such as AIX 4.3 have a nonworking version. - -20050625 - + update config.guess and config.sub from - http://subversions.gnu.org/cgi-bin/viewcvs/config/config/ - + modify misc/shlib to work in test-directory. - + suppress $suffix in misc/run_tic.sh when cross-compiling. This - allows cross-compiles to use the host's tic program to handle the - "make install.data" step. - + improve description of $LINES and $COLUMNS variables in manpages - (prompted by report by Dave Ulrick). - + improve description of cross-compiling in INSTALL - + add NCURSES-Programming-HOWTO.html by Pradeep Padala - (see http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/). - + modify configure script to obtain soname for GPM library (discussion - with Daniel Jacobowitz). - + modify configure script so that --with-chtype option will still - compute the unsigned literals suffix for constants in curses.h - (report by Daniel Jacobowitz: - + patches from Daniel Jacobowitz: - + the man_db.renames entry for tack.1 was backwards. - + tack.1 had some 1m's that should have been 1M's. - + the section for curs_inwstr.3 was wrong. - -20050619 - + correction to --with-chtype option (report by Daniel Jacobowitz). - -20050618 - + move build-time edit_man.sh and edit_man.sed scripts to top directory - to simplify reusing them for renaming tack's manpage (prompted by a - review of Debian package). - + revert minor optimization from 20041030 (Debian #313609). - + libtool-specific fixes, tested with libtool 1.4.3, 1.5.0, 1.5.6, - 1.5.10 and 1.5.18 (all work except as noted previously for the c++ - install using libtool 1.5.0): - + modify the clean-rule in c++/Makefile.in to work with IRIX64 make - program. - + use $(LIBTOOL_UNINSTALL) symbol, overlooked in 20030830 - + add configure options --with-chtype and --with-mmask-t, to allow - overriding of the non-LP64 model's use of the corresponding types. - + revise test for size of chtype (and mmask_t), which always returned - "long" due to an uninitialized variable (report by Daniel Jacobowitz). - -20050611 - + change _tracef's that used "%p" format for va_list values to ignore - that, since on some platforms those are not pointers. - + fixes for long-formats in printf's due to largefile support. - -20050604 - + fixes for termcap support: - + reset pointer to _nc_curr_token.tk_name when the input stream is - closed, which could point to free memory (cf: 20030215). - + delink TERMTYPE data which is used by the termcap reader, so that - extended names data will be freed consistently. - + free pointer to TERMTYPE data in _nc_free_termtype() rather than - its callers. - + add some entrypoints for freeing permanently allocated data via - _nc_freeall() when NO_LEAKS is defined. - + amend 20041030 change to _nc_do_color to ensure that optimization is - applied only when the terminal supports back_color_erase (bce). - -20050528 - + add sun-color terminfo entry -TD - + correct a missing assignment in c++ binding's method - NCursesPanel::UserPointer() from 20050409 changes. - + improve configure check for large-files, adding check for dirent64 - from vile. - + minor change to configure script to improve linker options for the - Ada95 tree. - -20050515 - + document error conditions for ncurses library functions (report by - Stanislav Ievlev). - + regenerated html documentation for ada binding. - see ftp://invisible-island.net/ncurses/patches/gnathtml - -20050507 - + regenerated html documentation for manpages. - + add $(BUILD_EXEEXT) suffix to invocation of make_keys in - ncurses/Makefile (Gentoo #89772). - + modify c++/demo.cc to build with g++ -fno-implicit-templates option - (patch by Mike Frysinger). - + modify tic to filter out long extended names when translating to - termcap format. Only two characters are permissible for termcap - capability names. - -20050430 - + modify terminfo entries xterm-new and rxvt to add strings for - shift-, control-cursor keys. - + workaround to allow c++ binding to compile with g++ 2.95.3, which - has a broken implementation of static_cast<> (patch by Jeff Chua). - + modify initialization of key lookup table so that if an extended - capability (tic -x) string is defined, and its name begins with 'k', - it will automatically be treated as a key. - + modify test/keynames.c to allow for the possibility of extended - key names, e.g., via define_key(), or via "tic -x". - + add test/demo_termcap.c to show the contents of given entry via the - termcap interface. - -20050423 - + minor fixes for vt100/vt52 entries -TD - + add configure option --enable-largefile - + corrected libraries used to build Ada95/gen/gen, found in testing - gcc 4.0.0. - -20050416 - + update config.guess, config.sub - + modify configure script check for _XOPEN_SOURCE, disable that on - Darwin whose header files have problems (patch by Chris Zubrzycki). - + modify form library Is_Printable_String() to use iswprint() rather - than wcwidth() for determining if a character is printable. The - latter caused it to reject menu items containing non-spacing - characters. - + modify ncurses test program's F-test to handle non-spacing characters - by combining them with a reverse-video blank. - + review/fix several gcc -Wconversion warnings. - -20050409 - + correct an off-by-one error in m_driver() for mouse-clicks used to - position the mouse to a particular item. - + implement test/demo_menus.c - + add some checks in lib_mouse to ensure SP is set. - + modify C++ binding to make 20050403 changes work with the configure - --enable-const option. - -20050403 - + modify start_color() to return ERR if it cannot allocate memory. - + address g++ compiler warnings in C++ binding by adding explicit - member initialization, assignment operators and copy constructors. - Most of the changes simply preserve the existing semantics of the - binding, which can leak memory, etc., but by making these features - visible, it provides a framework for improving the binding. - + improve C++ binding using static_cast, etc. - + modify configure script --enable-warnings to add options to g++ to - correspond to the gcc --enable-warnings. - + modify C++ binding to use some C internal functions to make it - compile properly on Solaris (and other platforms). - -20050327 - + amend change from 20050320 to limit it to configurations with a - valid locale. - + fix a bug introduced in 20050320 which broke the translation of - nonprinting characters to uparrow form (report by TAKAHASHI Tamotsu). - -20050326 - + add ifdef's for _LP64 in curses.h to avoid using wasteful 64-bits for - chtype and mmask_t, but add configure option --disable-lp64 in case - anyone used that configuration. - + update misc/shlib script to account for Mac OS X (report by Michail - Vidiassov). - + correct comparison for wrapping multibyte characters in - waddch_literal() (report by TAKAHASHI Tamotsu). - -20050320 - + add -c and -w options to tset to allow user to suppress ncurses' - resizing of the terminal emulator window in the special case where it - is not able to detect the true size (report by Win Delvaux, Debian - #300419). - + modify waddch_nosync() to account for locale zn_CH.GBK, which uses - codes 128-159 as part of multibyte characters (report by WANG - WenRui, Debian #300512). - -20050319 - + modify ncurses.c 'd' test to make it work with 88-color - configuration, i.e., by implementing scrolling. - + improve scrolling in ncurses.c 'c' and 'C' tests, e.g., for 88-color - configuration. - -20050312 - + change tracemunch to use strict checking. - + modify ncurses.c 'p' test to test line-drawing within a pad. - + implement environment variable NCURSES_NO_UTF8_ACS to support - miscellaneous terminal emulators which ignore alternate character - set escape sequences when in UTF-8 mode. - -20050305 - + change NCursesWindow::err_handler() to a virtual function (request by - Steve Beal). - + modify fty_int.c and fty_num.c to handle wide characters (report by - Wolfgang Gutjahr). - + adapt fix for fty_alpha.c to fty_alnum.c, which also handled normal - and wide characters inconsistently (report by Wolfgang Gutjahr). - + update llib-* files to reflect internal interface additions/changes. - -20050226 - + improve test/configure script, adding tests for _XOPEN_SOURCE, etc., - from lynx. - + add aixterm-16color terminfo entry -TD - + modified xterm-new terminfo entry to work with tgetent() changes -TD - + extended changes in tgetent() from 20040710 to allow the substring of - sgr0 which matches rmacs to be at the beginning of the sgr0 string - (request by Thomas Wolff, who says the visual effect in combination - with pre-20040710 ncurses is improved). - + fix off-by-one in winnstr() call which caused form field validation - of multibyte characters to ignore the last character in a field. - + correct logic in winsch() for inserting multibyte strings; the code - would clear cells after the insertion rather than push them to the - right (cf: 20040228). - + fix an inconsistency in Check_Alpha_Field() between normal and wide - character logic (report by Wolfgang Gutjahr). - -20050219 - + fix a bug in editing wide-characters in form library: deleting a - nonwide character modified the previous wide-character. - + update manpage to describe NCURSES_MOUSE_VERSION 2. - + correct manpage description of mouseinterval() (Debian #280687). - + add a note to default_colors.3x explaining why this extension was - added (Debian #295083). - + add traces to panel library. - -20050212 - + improve editing of wide-characters in form library: left/right - cursor movement, and single-character deletions work properly. - + disable GPM mouse support when $TERM happens to be prefixed with - "xterm". Gpm_Open() would otherwise assert that it can deal with - mouse events in this case. - + modify GPM mouse support so it closes the server connection when - the caller disables the mouse (report by Stanislav Ievlev). - -20050205 - + add traces for callback functions in form library. - + add experimental configure option --enable-ext-mouse, which defines - NCURSES_MOUSE_VERSION 2, and modifies the encoding of mouse events to - support wheel mice, which may transmit buttons 4 and 5. This works - with xterm and similar X terminal emulators (prompted by question by - Andreas Henningsson, this is also related to Debian #230990). - + improve configure macros CF_XOPEN_SOURCE and CF_POSIX_C_SOURCE to - avoid redefinition warnings on cygwin. - -20050129 - + merge remaining development changes for extended colors (mostly - complete, does not appear to break other configurations). - + add xterm-88color.dat (part of extended colors testing). - + improve _tracedump() handling of color pairs past 96. - + modify return-value from start_color() to return OK if colors have - already been started. - + modify curs_color.3x list error conditions for init_pair(), - pair_content() and color_content(). - + modify pair_content() to return -1 for consistency with init_pair() - if it corresponds to the default-color. - + change internal representation of default-color to allow application - to use color number 255. This does not affect the total number of - color pairs which are allowed. - + add a top-level tags rule. - -20050122 - + add a null-pointer check in wgetch() in case it is called without - first calling initscr(). - + add some null-pointer checks for SP, which is not set by libtinfo. - + modify misc/shlib to ensure that absolute pathnames are used. - + modify test/Makefile.in, etc., to link test programs only against the - libraries needed, e.g., omit form/menu/panel library for the ones - that are curses-specific. - + change SP->_current_attr to a pointer, adjust ifdef's to ensure that - libtinfo.so and libtinfow.so have the same ABI. The reason for this - is that the corresponding data which belongs to the upper-level - ncurses library has a different size in each model (report by - Stanislav Ievlev). - -20050115 - + minor fixes to allow test-compiles with g++. - + correct column value shown in tic's warnings, which did not account - for leading whitespace. - + add a check in _nc_trans_string() for improperly ended strings, i.e., - where a following line begins in column 1. - + modify _nc_save_str() to return a null pointer on buffer overflow. - + improve repainting while scrolling wide-character data (Eungkyu Song). - -20050108 - + merge some development changes to extend color capabilities. - -20050101 - + merge some development changes to extend color capabilities. - + fix manpage typo (FreeBSD report docs/75544). - + update config.guess, config.sub - > patches by Albert Chin-A-Young (for configure script): - + improved fix to make mbstate_t recognized on HPUX 11i (cf: - 20030705), making vsscanf() prototype visible on IRIX64. Tested for - on HP-UX 11i, Solaris 7, 8, 9, AIX 4.3.3, 5.2, Tru64 UNIX 4.0D, 5.1, - IRIX64 6.5, Redhat Linux 7.1, 9, and RHEL 2.1, 3.0. - + print the result of the --disable-home-terminfo option. - + use -rpath when compiling with SGI C compiler. - -20041225 - + add trace calls to remaining public functions in form and menu - libraries. - + fix check for numeric digits in test/ncurses.c 'b' and 'B' tests. - + fix typo in test/ncurses.c 'c' test from 20041218. - -20041218 - + revise test/ncurses.c 'c' color test to improve use for xterm-88color - and xterm-256color, added 'C' test using the wide-character color_set - and attr_set functions. - -20041211 - + modify configure script to work with Intel compiler. - + fix an limit-check in wadd_wchnstr() which caused labels in the - forms-demo to be one character short. - + fix typo in curs_addchstr.3x (Jared Yanovich). - + add trace calls to most functions in form and menu libraries. - + update working-position for adding wide-characters when window is - scrolled (prompted by related report by Eungkyu Song). - -20041204 - + replace some references on Linux to wcrtomb() which use it to obtain - the length of a multibyte string with _nc_wcrtomb, since wcrtomb() is - broken in glibc (see Debian #284260). - + corrected length-computation in wide-character support for - field_buffer(). - + some fixes to frm_driver.c to allow it to accept multibyte input. - + modify configure script to work with Intel 8.0 compiler. - -20041127 - + amend change to setupterm() in 20030405 which would reuse the value - of cur_term if the same output was selected. This now reuses it only - when setupterm() is called from tgetent(), which has no notion of - separate SCREENs. Note that tgetent() must be called after initscr() - or newterm() to use this feature (Redhat Bugzilla #140326). - + add a check in CF_BUILD_CC macro to ensure that developer has given - the --with-build-cc option when cross-compiling (report by Alexandre - Campo). - + improved configure script checks for _XOPEN_SOURCE and - _POSIX_C_SOURCE (fix for IRIX 5.3 from Georg Schwarz, _POSIX_C_SOURCE - updates from lynx). - + cosmetic fix to test/gdc.c to recolor the bottom edge of the box - for consistency (comment by Dan Nelson). - -20041120 - + update wsvt25 terminfo entry -TD - + modify test/ins_wide.c to test all flavors of ins_wstr(). - + ignore filler-cells in wadd_wchnstr() when adding a cchar_t array - which consists of multi-column characters, since this function - constructs them (cf: 20041023). - + modify winnstr() to return multibyte character strings for the - wide-character configuration. - -20041106 - + fixes to make slk_set() and slk_wset() accept and store multibyte - or multicolumn characters. - -20041030 - + improve color optimization a little by making _nc_do_color() check - if the old/new pairs are equivalent to the default pair 0. - + modify assume_default_colors() to not require that - use_default_colors() be called first. - -20041023 - + modify term_attrs() to use termattrs(), add the extended attributes - such as enter_horizontal_hl_mode for WA_HORIZONTAL to term_attrs(). - + add logic in waddch_literal() to clear orphaned cells when one - multi-column character partly overwrites another. - + improved logic for clearing cells when a multi-column character - must be wrapped to a new line. - + revise storage of cells for multi-column characters to correct a - problem with repainting. In the old scheme, it was possible for - doupdate() to decide that only part of a multi-column character - should be repainted since the filler cells stored only an attribute - to denote them as fillers, rather than the character value and the - attribute. - -20041016 - + minor fixes for traces. - + add SP->_screen_acs_map[], used to ensure that mapping of missing - line-drawing characters is handled properly. For example, ACS_DARROW - is absent from xterm-new, and it was coincidentally displayed the - same as ACS_BTEE. - -20041009 - + amend 20021221 workaround for broken acs to reset the sgr, rmacs - and smacs strings as well. Also modify the check for screen's - limitations in that area to allow the multi-character shift-in - and shift-out which seem to work. - + change GPM initialization, using dl library to load it dynamically - at runtime (Debian #110586). - -20041002 - + correct logic for color pair in setcchar() and getcchar() (patch by - Marcin 'Qrczak' Kowalczyk). - + add t/T commands to ncurses b/B tests to allow a different color to - be tested for the attrset part of the test than is used in the - background color. - -20040925 - + fix to make setcchar() to work when its wchar_t* parameter is - pointing to a string which contains more data than can be converted. - + modify wget_wstr() and example in ncurses.c to work if wchar_t and - wint_t are different sizes (report by Marcin 'Qrczak' Kowalczyk). - -20040918 - + remove check in wget_wch() added to fix an infinite loop, appears to - have been working around a transitory glibc bug, and interferes - with normal operation (report by Marcin 'Qrczak' Kowalczyk). - + correct wadd_wch() and wecho_wch(), which did not pass the rendition - information (report by Marcin 'Qrczak' Kowalczyk). - + fix aclocal.m4 so that the wide-character version of ncurses gets - compiled as libncursesw.5.dylib, instead of libncurses.5w.dylib - (adapted from patch by James J Ramsey). - + change configure script for --with-caps option to indicate that it - is no longer experimental. - + change configure script to reflect the fact that --enable-widec has - not been "experimental" since 5.3 (report by Bruno Lustosa). - -20040911 - + add 'B' test to ncurses.c, to exercise some wide-character functions. - -20040828 - + modify infocmp -i option to match 8-bit controls against its table - entries, e.g., so it can analyze the xterm-8bit entry. - + add morphos terminfo entry, improve amiga-8bit entry (Pavel Fedin). - + correct translation of "%%" in terminfo format to termcap, e.g., - using "tic -C" (Redhat Bugzilla #130921). - + modified configure script CF_XOPEN_SOURCE macro to ensure that if - it defines _POSIX_C_SOURCE, that it defines it to a specific value - (comp.os.stratus newsgroup comment). - -20040821 - + fixes to build with Ada95 binding with gnat 3.4 (all warnings are - fatal, and gnat does not follow the guidelines for pragmas). - However that did find a coding error in Assume_Default_Colors(). - + modify several terminfo entries to ensure xterm mouse and cursor - visibility are reset in rs2 string: hurd, putty, gnome, - konsole-base, mlterm, Eterm, screen (Debian #265784, #55637). The - xterm entries are left alone - old ones for compatibility, and the - new ones do not require this change. -TD - -20040814 - + fake a SIGWINCH in newterm() to accommodate buggy terminal emulators - and window managers (Debian #265631). - > terminfo updates -TD - + remove dch/dch1 from rxvt because they are implemented inconsistently - with the common usage of bce/ech - + remove khome from vt220 (vt220's have no home key) - + add rxvt+pcfkeys - -20040807 - + modify test/ncurses.c 'b' test, adding v/V toggles to cycle through - combinations of video attributes so that for instance bold and - underline can be tested. This made the legend too crowded, added - a help window as well. - + modify test/ncurses.c 'b' test to cycle through default colors if - the -d option is set. - + update putty terminfo entry (Robert de Bath). - -20040731 - + modify test/cardfile.c to allow it to read more data than can be - displayed. - + correct logic in resizeterm.c which kept it from processing all - levels of window hierarchy (reports by Folkert van Heusden, - Chris Share). - -20040724 - + modify "tic -cv" to ignore delays when comparing strings. Also - modify it to ignore a canceled sgr string, e.g., for terminals which - cannot properly combine attributes in one control sequence. - + corrections for gnome and konsole entries (Redhat Bugzilla #122815, - patch by Hans de Goede) - > terminfo updates -TD - + make ncsa-m rmacs/smacs consistent with sgr - + add sgr, rc/sc and ech to syscons entries - + add function-keys to decansi - + add sgr to mterm-ansi - + add sgr, civis, cnorm to emu - + correct/simplify cup in addrinfo - -20040717 - > terminfo updates -TD - + add xterm-pc-fkeys - + review/update gnome and gnome-rh90 entries (prompted by Redhat - Bugzilla #122815). - + review/update konsole entries - + add sgr, correct sgr0 for kterm and mlterm - + correct tsl string in kterm - -20040711 - + add configure option --without-xterm-new - -20040710 - + add check in wget_wch() for printable bytes that are not part of a - multibyte character. - + modify wadd_wchnstr() to render text using window's background - attributes. - + improve tic's check to compare sgr and sgr0. - + fix c++ directory's .cc.i rule. - + modify logic in tgetent() which adjusts the termcap "me" string - to work with ISO-2022 string used in xterm-new (cf: 20010908). - + modify tic's check for conflicting function keys to omit that if - converting termcap to termcap format. - + add -U option to tic and infocmp. - + add rmam/smam to linux terminfo entry (Trevor Van Bremen) - > terminfo updates -TD - + minor fixes for emu - + add emu-220 - + change wyse acsc strings to use 'i' map rather than 'I' - + fixes for avatar0 - + fixes for vp3a+ - -20040703 - + use tic -x to install terminfo database -TD - + add -x to infocmp's usage message. - + correct field used for comparing O_ROWMAJOR in set_menu_format() - (report/patch by Tony Li). - + fix a missing nul check in set_field_buffer() from 20040508 changes. - > terminfo updates -TD - + make xterm-xf86-v43 derived from xterm-xf86-v40 rather than - xterm-basic -TD - + align with xterm patch #192's use of xterm-new -TD - + update xterm-new and xterm-8bit for cvvis/cnorm strings -TD - + make xterm-new the default "xterm" entry -TD - -20040626 - + correct BUILD_CPPFLAGS substitution in ncurses/Makefile.in, to allow - cross-compiling from a separate directory tree (report/patch by - Dan Engel). - + modify is_term_resized() to ensure that window sizes are nonzero, - as documented in the manpage (report by Ian Collier). - + modify CF_XOPEN_SOURCE configure macro to make Hurd port build - (Debian #249214, report/patch by Jeff Bailey). - + configure-script mods from xterm, e.g., updates to CF_ADD_CFLAGS - + update config.guess, config.sub - > terminfo updates -TD - + add mlterm - + add xterm-xf86-v44 - + modify xterm-new aka xterm-xfree86 to accommodate luit, which - relies on G1 being used via an ISO-2022 escape sequence (report by - Juliusz Chroboczek) - + add 'hurd' entry - -20040619 - + reconsidered winsnstr(), decided after comparing other - implementations that wrapping is an X/Open documentation error. - + modify test/inserts.c to test all flavors of insstr(). - -20040605 - + add setlocale() calls to a few test programs which may require it: - demo_forms.c, filter.c, ins_wide.c, inserts.c - + correct a few misspelled function names in ncurses-intro.html (report - by Tony Li). - + correct internal name of key_defined() manpage, which conflicted with - define_key(). - -20040529 - + correct size of internal pad used for holding wide-character - field_buffer() results. - + modify data_ahead() to work with wide-characters. - -20040522 - + improve description of terminfo if-then-else expressions (suggested - by Arne Thomassen). - + improve test/ncurses.c 'd' test, allow it to use external file for - initial palette (added xterm-16color.dat and linux-color.dat), and - reset colors to the initial palette when starting/ending the test. - + change limit-check in init_color() to allow r/g/b component to - reach 1000 (cf: 20020928). - -20040516 - + modify form library to use cchar_t's rather than char's in the - wide-character configuration for storing data for field buffers. - + correct logic of win_wchnstr(), which did not work for more than - one cell. - -20040508 - + replace memset/memcpy usage in form library with for-loops to - simplify changing the datatype of FIELD.buf, part of wide-character - changes. - + fix some inconsistent use of #if/#ifdef (report by Alain Guibert). - -20040501 - + modify menu library to account for actual number of columns used by - multibyte character strings, in the wide-character configuration - (adapted from patch by Philipp Tomsich). - + add "-x" option to infocmp like tic's "-x", for use in "-F" - comparisons. This modifies infocmp to only report extended - capabilities if the -x option is given, making this more consistent - with tic. Some scripts may break, since infocmp previous gave this - information without an option. - + modify termcap-parsing to retain 2-character aliases at the beginning - of an entry if the "-x" option is used in tic. - -20040424 - + minor compiler-warning and test-program fixes. - -20040417 - + modify tic's missing-sgr warning to apply to terminfo only. - + free some memory leaks in tic. - + remove check in post_menu() that prevented menus from extending - beyond the screen (request by Max J. Werner). - + remove check in newwin() that prevents allocating windows - that extend beyond the screen. Solaris curses does this. - + add ifdef in test/color_set.c to allow it to compile with older - curses. - + add napms() calls to test/dots.c to make it not be a CPU hog. - -20040403 - + modify unctrl() to return null if its parameter does not correspond - to an unsigned char. - + add some limit-checks to guard isprint(), etc., from being used on - values that do not fit into an unsigned char (report by Sami Farin). - -20040328 - + fix a typo in the _nc_get_locale() change. - -20040327 - + modify _nc_get_locale() to use setlocale() to query the program's - current locale rather than using getenv(). This fixes a case in tin - which relies on legacy treatment of 8-bit characters when the locale - is not initialized (reported by Urs Jansen). - + add sgr string to screen's and rxvt's terminfo entries -TD. - + add a check in tic for terminfo entries having an sgr0 but no sgr - string. This confuses Tru64 and HPUX curses when combined with - color, e.g., making them leave line-drawing characters in odd places. - + correct casts used in ABSENT_BOOLEAN, CANCELLED_BOOLEAN, matches the - original definitions used in Debian package to fix PowerPC bug before - 20030802 (Debian #237629). - -20040320 - + modify PutAttrChar() and PUTC() macro to improve use of - A_ALTCHARSET attribute to prevent line-drawing characters from - being lost in situations where the locale would otherwise treat the - raw data as nonprintable (Debian #227879). - -20040313 - + fix a redefinition of CTRL() macro in test/view.c for AIX 5.2 (report - by Jim Idle). - + remove ".PP" after ".SH NAME" in a few manpages; this confuses - some apropos script (Debian #237831). - -20040306 - + modify ncurses.c 'r' test so editing commands, like inserted text, - set the field background, and the state of insert/overlay editing - mode is shown in that test. - + change syntax of dummy targets in Ada95 makefiles to work with pmake. - + correct logic in test/ncurses.c 'b' for noncolor terminals which - did not recognize a quit-command (cf: 20030419). - -20040228 - + modify _nc_insert_ch() to allow for its input to be part of a - multibyte string. - + split out lib_insnstr.c, to prepare to rewrite it. X/Open states - that this function performs wrapping, unlike all of the other - insert-functions. Currently it does not wrap. - + check for nl_langinfo(CODESET), use it if available (report by - Stanislav Ievlev). - + split-out CF_BUILD_CC macro, actually did this for lynx first. - + fixes for configure script CF_WITH_DBMALLOC and CF_WITH_DMALLOC, - which happened to work with bash, but not with Bourne shell (report - by Marco d'Itri via tin-dev). - -20040221 - + some changes to adapt the form library to wide characters, incomplete - (request by Mike Aubury). - + add symbol to curses.h which can be used to suppress include of - stdbool.h, e.g., - #define NCURSES_ENABLE_STDBOOL_H 0 - #include - (discussion on XFree86 mailing list). - -20040214 - + modify configure --with-termlib option to accept a value which sets - the name of the terminfo library. This would allow a packager to - build libtinfow.so renamed to coincide with libtinfo.so (discussion - with Stanislav Ievlev). - + improve documentation of --with-install-prefix, --prefix and - $(DESTDIR) in INSTALL (prompted by discussion with Paul Lew). - + add configure check if the compiler can use -c -o options to rename - its output file, use that to omit the 'cd' command which was used to - ensure object files are created in a separate staging directory - (prompted by comments by Johnny Wezel, Martin Mokrejs). - -20040208 5.4 release for upload to ftp.gnu.org - + update TO-DO. - -20040207 pre-release - + minor fixes to _nc_tparm_analyze(), i.e., do not count %i as a param, - and do not count %d if it follows a %p. - + correct an inconsistency between handling of codes in the 128-255 - range, e.g., as illustrated by test/ncurses.c f/F tests. In POSIX - locale, the latter did not show printable results, while the former - did. - + modify MKlib_gen.sh to compensate for broken C preprocessor on Mac - OS X, which alters "%%" to "% % " (report by Robert Simms, fix - verified by Scott Corscadden). - -20040131 pre-release - + modify SCREEN struct to align it between normal/wide curses flavors - to simplify future changes to build a single version of libtinfo - (patch by Stanislav Ievlev). - + document handling of carriage return by addch() in manpage. - + document special features of unctrl() in manpage. - + documented interface changes in INSTALL. - + corrected control-char test in lib_addch.c to account for locale - (Debian #230335, cf: 971206). - + updated test/configure.in to use AC_EXEEXT and AC_OBJEXT. - + fixes to compile Ada95 binding with Debian gnat 3.15p-4 package. - + minor configure-script fixes for older ports, e.g., BeOS R4.5. - -20040125 pre-release - + amend change to PutAttrChar() from 20030614 which computed the number - of cells for a possibly multi-cell character. The 20030614 change - forced the cell to a blank if the result from wcwidth() was not - greater than zero. However, wcwidth() called for parameters in the - range 128-255 can give this return value. The logic now simply - ensures that the number of cells is greater than zero without - modifying the displayed value. - -20040124 pre-release - + looked good for 5.4 release for upload to ftp.gnu.org (but see above) - + modify configure script check for ranlib to use AC_CHECK_TOOL, since - that works better for cross-compiling. - -20040117 pre-release - + modify lib_get_wch.c to prefer mblen/mbtowc over mbrlen/mbrtowc to - work around core dump in Solaris 8's locale support, e.g., for - zh_CN.GB18030 (report by Saravanan Bellan). - + add includes for and in configure script macro - to make check work with Tru64 4.0d. - + add terminfo entry for U/Win -TD - + add terminfo entries for SFU aka Interix aka OpenNT (Federico - Bianchi). - + modify tput's error messages to prefix them with the program name - (report by Vincent Lefevre, patch by Daniel Jacobowitz, Debian - #227586). - + correct a place in tack where exit_standout_mode was used instead of - exit_attribute_mode (patch by Jochen Voss, Debian #224443). - + modify c++/cursesf.h to use const in the Enumeration_Field method. - + remove an ambiguous (actually redundant) method from c++/cursesf.h - + make $HOME/.terminfo update optional (suggested by Stanislav Ievlev). - + improve sed script which extracts libtool's version in the - CF_WITH_LIBTOOL macro. - + add ifdef'd call to AC_PROG_LIBTOOL to CF_WITH_LIBTOOL macro (to - simplify local patch for Albert Chin-A-Young).. - + add $(CXXFLAGS) to link command in c++/Makefile.in (adapted from - patch by Albert Chin-A-Young).. - + fix a missing substitution in configure.in for "$target" needed for - HPUX .so/.sl case. - + resync CF_XOPEN_SOURCE configure macro with lynx; fixes IRIX64 and - NetBSD 1.6 conflicts with _XOPEN_SOURCE. - + make check for stdbool.h more specific, to ensure that including it - will actually define/declare bool for the configured compiler. - + rewrite ifdef's in curses.h relating NCURSES_BOOL and bool. The - intention of that is to #define NCURSES_BOOL as bool when the - compiler declares bool, and to #define bool as NCURSES_BOOL when it - does not (reported by Jim Gifford, Sam Varshavchik, cf: 20031213). - -20040110 pre-release - + change minor version to 4, i.e., ncurses 5.4 - + revised/improved terminfo entries for tvi912b, tvi920b (Benjamin C W - Sittler). - + simplified ncurses/base/version.c by defining the result from the - configure script rather than using sprintf (suggested by Stanislav - Ievlev). - + remove obsolete casts from c++/cursesw.h (reported by Stanislav - Ievlev). - + modify configure script so that when configuring for termlib, programs - such as tic are not linked with the upper-level ncurses library - (suggested by Stanislav Ievlev). - + move version.c from ncurses/base to ncurses/tinfo to allow linking - of tic, etc., using libtinfo (suggested by Stanislav Ievlev). - -20040103 - + adjust -D's to build ncursesw on OpenBSD. - + modify CF_PROG_EXT to make OS/2 build with EXEEXT. - + add pecho_wchar(). - + remove include from lib_slk_wset.c which is not needed (or - available) on older platforms. - -20031227 - + add -D's to build ncursew on FreeBSD 5.1. - + modify shared library configuration for FreeBSD 4.x/5.x to add the - soname information (request by Marc Glisse). - + modify _nc_read_tic_entry() to not use MAX_ALIAS, but PATH_MAX only - for limiting the length of a filename in the terminfo database. - + modify termname() to return the terminal name used by setupterm() - rather than $TERM, without truncating to 14 characters as documented - by X/Open (report by Stanislav Ievlev, cf: 970719). - + re-add definition for _BSD_TYPES, lost in merge (cf: 20031206). - -20031220 - + add configure option --with-manpage-format=catonly to address - behavior of BSDI, allow install of man+cat files on NetBSD, whose - behavior has diverged by requiring both to be present. - + remove leading blanks from comment-lines in manlinks.sed script to - work with Tru64 4.0d. - + add screen.linux terminfo entry (discussion on mutt-users mailing - list). - -20031213 - + add a check for tic to flag missing backslashes for termcap - continuation lines. ncurses reads the whole entry, but termcap - applications do not. - + add configure option "--with-manpage-aliases" extending - "--with-manpage-aliases" to provide the option of generating ".so" - files rather than symbolic links for manpage aliases. - + add bool definition in include/curses.h.in for configurations with no - usable C++ compiler (cf: 20030607). - + fix pathname of SigAction.h for building with --srcdir (reported by - Mike Castle). - -20031206 - + folded ncurses/base/sigaction.c into includes of ncurses/SigAction.h, - since that header is used only within ncurses/tty/lib_tstp.c, for - non-POSIX systems (discussion with Stanislav Ievlev). - + remove obsolete _nc_outstr() function (report by Stanislav Ievlev - ). - + add test/background.c and test/color_set.c - + modify color_set() function to work with color pair 0 (report by - George Andreou ). - + add configure option --with-trace, since defining TRACE seems too - awkward for some cases. - + remove a call to _nc_free_termtype() from read_termtype(), since the - corresponding buffer contents were already zeroed by a memset (cf: - 20000101). - + improve configure check for _XOPEN_SOURCE and related definitions, - adding special cases for Solaris' __EXTENSIONS__ and FreeBSD's - __BSD_TYPES (reports by Marc Glisse ). - + small fixes to compile on Solaris and IRIX64 using cc. - + correct typo in check for pre-POSIX sort options in MKkey_defs.sh - (cf: 20031101). - -20031129 - + modify _nc_gettime() to avoid a problem with arithmetic on unsigned - values (Philippe Blain). - + improve the nanosleep() logic in napms() by checking for EINTR and - restarting (Philippe Blain). - + correct expression for "%D" in lib_tgoto.c (Juha Jarvi - ). - -20031122 - + add linux-vt terminfo entry (Andrey V Lukyanov ). - + allow "\|" escape in terminfo; tic should not warn about this. - + save the full pathname of the trace-file the first time it is opened, - to avoid creating it in different directories if the application - opens and closes it while changing its working directory. - + modify configure script to provide a non-empty default for - $BROKEN_LINKER - -20031108 - + add DJGPP to special case of DOS-style drive letters potentially - appearing in TERMCAP environment variable. - + fix some spelling in comments (reports by jmc, Jonathon Gray). - + update config.guess, config.sub - -20031101 - + fix a memory leak in error-return from setupterm() (report by - Stanislav Ievlev ). - + use EXEEXT and OBJEXT consistently in makefiles. - + amend fixes for cross-compiling to use separate executable-suffix - BUILD_EXEEXT (cf: 20031018). - + modify MKkey_defs.sh to check for sort utility that does not - recognize key options, e.g., busybox (report by Peter S Mazinger - ). - + fix potential out-of-bounds indexing in _nc_infotocap() (found by - David Krause using some of the new malloc debugging features - under OpenBSD, patch by Ted Unangst). - + modify CF_LIB_SUFFIX for Itanium releases of HP-UX, which use a - ".so" suffix (patch by Jonathan Ward ). - -20031025 - + update terminfo for xterm-xfree86 -TD - + add check for multiple "tc=" clauses in a termcap to tic. - + check for missing op/oc in tic. - + correct _nc_resolve_uses() and _nc_merge_entry() to allow infocmp and - tic to show cancelled capabilities. These functions were ignoring - the state of the target entry, which should be untouched if cancelled. - + correct comment in tack/output.c (Debian #215806). - + add some null-pointer checks to lib_options.c (report by Michael - Bienia). - + regenerated html documentation. - + correction to tar-copy.sh, remove a trap command that resulted in - leaving temporary files (cf: 20030510). - + remove contact/maintainer addresses for Juergen Pfeifer (his request). - -20031018 - + updated test/configure to reflect changes for libtool (cf: 20030830). - + fix several places in tack/pad.c which tested and used the parameter- - and parameterless strings inconsistently, i.e., in pad_rin(), - pad_il(), pad_indn() and pad_dl() (Debian #215805). - + minor fixes for configure script and makefiles to cleanup executables - generated when cross-compiling for DJGPP. - + modify infocmp to omit check for $TERM for operations that do not - require it, e.g., "infocmp -e" used to build fallback list (report by - Koblinger Egmont). - -20031004 - + add terminfo entries for DJGPP. - + updated note about maintainer in ncurses-intro.html - -20030927 - + update terminfo entries for gnome terminal. - + modify tack to reset colors after each color test, correct a place - where exit_standout_mode was used instead of exit_attribute_mode. - + improve tack's bce test by making it set colors other than black - on white. - + plug a potential recursion between napms() and _nc_timed_wait() - (report by Philippe Blain). - -20030920 - + add --with-rel-version option to allow workaround to allow making - libtool on Darwin generate the "same" library names as with the - --with-shared option. The Darwin ld program does not work well - with a zero as the minor-version value (request by Chris Zubrzycki). - + modify CF_MIXEDCASE_FILENAMES macro to work with cross-compiling. - + modify tack to allow it to run from fallback terminfo data. - > Philippe Blain: - + improve PutRange() by adjusting call to EmitRange() and corresponding - return-value to not emit unchanged characters on the end of the - range. - + improve a check for changed-attribute by exiting a loop when the - change is found. - + improve logic in TransformLine(), eliminating a duplicated comparison - in the clr_bol logic. - -20030913 - > Philippe Blain: - + in ncurses/tty/lib_mvcur.c, - move the label 'nonlocal' just before the second gettimeofday() to - be able to compute the diff time when 'goto nonlocal' used. - Rename 'msec' to 'microsec' in the debug-message. - + in ncurses/tty/lib_mvcur.c, - Use _nc_outch() in carriage return/newline movement instead of - putchar() which goes to stdout. Move test for xold>0 out of loop. - + in ncurses/tinfo/setbuf.c, - Set the flag SP->_buffered at the end of operations when all has been - successful (typeMalloc can fail). - + simplify NC_BUFFERED macro by moving check inside _nc_setbuf(). - -20030906 - + modify configure script to avoid using "head -1", which does not - work if POSIXLY_CORRECT (sic) is set. - + modify run_tic.in to avoid using wrong shared libraries when - cross-compiling (Dan Kegel). - -20030830 - + alter configure script help message to make it clearer that - --with-build-cc does not specify a cross-compiler (suggested by Dan - Kegel ). - + modify configure script to accommodate libtool 1.5, as well as add an - parameter to the "--with-libtool" option which can specify the - pathname of libtool (report by Chris Zubrzycki). We note that - libtool 1.5 has more than one bug in its C++ support, so it is not - able to install libncurses++, for instance, if $DESTDIR or the option - --with-install-prefix is used. - -20030823 - > Philippe Blain: - + move assignments to SP->_cursrow, SP->_curscol into online_mvcur(). - + make baudrate computation in delay_output() consistent with the - assumption in _nc_mvcur_init(), i.e., a byte is 9 bits. - -20030816 - + modify logic in waddch_literal() to take into account zh_TW.Big5 - whose multibyte sequences may contain "printable" characters, e.g., - a "g" in the sequence "\247g" (Debian #204889, cf: 20030621). - + improve storage used by _nc_safe_strcpy() by ensuring that the size - is reset based on the initialization call, in case it were called - after other strcpy/strcat calls (report by Philippe Blain). - > Philippe Blain: - + remove an unused ifdef for REAL_ATTR & WANT_CHAR - + correct a place where _cup_cost was used rather than _cuu_cost - -20030809 - + fix a small memory leak in _nc_free_termtype(). - + close trace-file if trace() is called with a zero parameter. - + free memory allocated for soft-key strings, in delscreen(). - + fix an allocation size in safe_sprintf.c for the "*" format code. - + correct safe_sprintf.c to not return a null pointer if the format - happens to be an empty string. This applies to the "configure - --enable-safe-sprintf" option (Redhat #101486). - -20030802 - + modify casts used for ABSENT_BOOLEAN and CANCELLED_BOOLEAN (report by - Daniel Jacobowitz). - > Philippe Blain: - + change padding for change_scroll_region to not be proportional to - the size of the scroll-region. - + correct error-return in _nc_safe_strcat(). - -20030726 - + correct limit-checks in _nc_scroll_window() (report and test-case by - Thomas Graf cf: 20011020). - + re-order configure checks for _XOPEN_SOURCE to avoid conflict with - _GNU_SOURCE check. - -20030719 - + use clr_eol in preference to blanks for bce terminals, so select and - paste will have fewer trailing blanks, e.g., when using xterm - (request by Vincent Lefevre). - + correct prototype for wunctrl() in manpage. - + add configure --with-abi-version option (discussion with Charles - Wilson). - > cygwin changes from Charles Wilson: - + aclocal.m4: on cygwin, use autodetected prefix for import - and static lib, but use "cyg" for DLL. - + include/ncurses_dll.h: correct the comments to reflect current - status of cygwin/mingw port. Fix compiler warning. - + misc/run_tic.in: ensure that tic.exe can find the uninstalled - DLL, by adding the lib-directory to the PATH variable. - + misc/terminfo.src (nxterm|xterm-color): make xterm-color - primary instead of nxterm, to match XFree86's xterm.terminfo - usage and to prevent circular links. - (rxvt): add additional codes from rxvt.org. - (rxvt-color): new alias - (rxvt-xpm): new alias - (rxvt-cygwin): like rxvt, but with special acsc codes. - (rxvt-cygwin-native): ditto. rxvt may be run under XWindows, or - with a "native" MSWin GUI. Each takes different acsc codes, - which are both different from the "normal" rxvt's acsc. - (cygwin): cygwin-in-cmd.exe window. Lots of fixes. - (cygwinDBG): ditto. - + mk-1st.awk: use "cyg" for the DLL prefix, but "lib" for import - and static libs. - -20030712 - + update config.guess, config.sub - + add triples for configuring shared libraries with the Debian - GNU/FreeBSD packages (patch by Robert Millan ). - -20030705 - + modify CF_GCC_WARNINGS so it only applies to gcc, not g++. Some - platforms have installed g++ along with the native C compiler, which - would not accept gcc warning options. - + add -D_XOPEN_SOURCE=500 when configuring with --enable-widec, to - get mbstate_t declaration on HPUX 11.11 (report by David Ellement). - + add _nc_pathlast() to get rid of casts in _nc_basename() calls. - + correct a sign-extension in wadd_wch() and wecho_wchar() from - 20030628 (report by Tomohiro KUBOTA). - + work around omission of btowc() and wctob() from wide-character - support (sic) in NetBSD 1.6 using mbtowc() and wctomb() (report by - Gabor Z Papp). - + add portability note to curs_get_wstr.3x (Debian #199957). - -20030628 - + rewrite wadd_wch() and wecho_wchar() to call waddch() and wechochar() - respectively, to avoid calling waddch_noecho() with wide-character - data, since that function assumes its input is 8-bit data. - Similarly, modify waddnwstr() to call wadd_wch(). - + remove logic from waddnstr() which transformed multibyte character - strings into wide-characters. Rewrite of waddch_literal() from - 20030621 assumes its input is raw multibyte data rather than wide - characters (report by Tomohiro KUBOTA). - -20030621 - + write getyx() and related 2-return macros in terms of getcury(), - getcurx(), etc. - + modify waddch_literal() in case an application passes bytes of a - multibyte character directly to waddch(). In this case, waddch() - must reassemble the bytes into a wide-character (report by Tomohiro - KUBOTA ). - -20030614 - + modify waddch_literal() in case a multibyte value occupies more than - two cells. - + modify PutAttrChar() to compute the number of character cells that - are used in multibyte values. This fixes a problem displaying - double-width characters (report/test by Mitsuru Chinen - ). - + add a null-pointer check for result of keyname() in _tracechar() - + modify _tracechar() to work around glibc sprintf bug. - -20030607 - + add a call to setlocale() in cursesmain.cc, making demo display - properly in a UTF-8 locale. - + add a fallback definition in curses.priv.h for MB_LEN_MAX (prompted - by discussion with Gabor Z Papp). - + use macros NCURSES_ACS() and NCURSES_WACS() to hide cast needed to - appease -Wchar-subscript with g++ 3.3 (Debian #195732). - + fix a redefinition of $RANLIB in the configure script when libtool - is used, which broke configure on Mac OS X (report by Chris Zubrzycki - ). - + simplify ifdef for bool declaration in curses.h.in (suggested by - Albert Chin-A-Young). - + remove configure script check to allow -Wconversion for older - versions of gcc (suggested by Albert Chin-A-Young). - -20030531 - + regenerated html manpages. - + modify ifdef's in curses.h.in that disabled use of __attribute__() - for g++, since recent versions implement the cases which ncurses uses - (Debian #195230). - + modify _nc_get_token() to handle a case where an entry has no - description, and capabilities begin on the same line as the entry - name. - + fix a typo in ncurses_dll.h reported by gcc 3.3. - + add an entry for key_defined.3x to man_db.renames. - -20030524 - + modify setcchar() to allow converting control characters to complex - characters (report/test by Mitsuru Chinen ). - + add tkterm entry -TD - + modify parse_entry.c to allow a terminfo entry with a leading - 2-character name (report by Don Libes). - + corrected acsc in screen.teraterm, which requires a PC-style mapping. - + fix trace statements in read_entry.c to use lseek() rather than - tell(). - + fix signed/unsigned warnings from Sun's compiler (gcc should give - these warnings, but it is unpredictable). - + modify configure script to omit -Winline for gcc 3.3, since that - feature is broken. - + modify manlinks.sed to add a few functions that were overlooked since - they return function pointers: field_init, field_term, form_init, - form_term, item_init, item_term, menu_init and menu_term. - -20030517 - + prevent recursion in wgetch() via wgetnstr() if the connection cannot - be switched between cooked/raw modes because it is not a TTY (report - by Wolfgang Gutjahr ). - + change parameter of define_key() and key_defined() to const (prompted - by Debian #192860). - + add a check in test/configure for ncurses extensions, since there - are some older versions, etc., which would not compile with the - current test programs. - + corrected demo in test/ncurses.c of wgetn_wstr(), which did not - convert wchar_t string to multibyte form before printing it. - + corrections to lib_get_wstr.c: - + null-terminate buffer passed to setcchar(), which occasionally - failed. - + map special characters such as erase- and kill-characters into - key-codes so those will work as expected even if they are not - mentioned in the terminfo. - + modify PUTC() and Charable() macros to make wide-character line - drawing work for POSIX locale on Linux console (cf: 20021221). - -20030510 - + make typography for program options in manpages consistent (report - by Miloslav Trmac ). - + correct dependencies in Ada95/src/Makefile.in, so the builds with - "--srcdir" work (report by Warren L Dodge). - + correct missing definition of $(CC) in Ada95/gen/Makefile.in - (reported by Warren L Dodge ). - + fix typos and whitespace in manpages (patch by jmc - ). - -20030503 - + fix form_driver() cases for REQ_CLR_EOF, REQ_CLR_EOL, REQ_DEL_CHAR, - REQ_DEL_PREV and REQ_NEW_LINE, which did not ensure the cursor was at - the editing position before making modifications. - + add test/demo_forms and associated test/edit_field.c demos. - + modify test/configure.in to use test/modules for the list of objects - to compile rather than using the list of programs. - -20030419 - + modify logic of acsc to use the original character if no mapping is - defined, noting that Solaris does this. - + modify ncurses 'b' test to avoid using the acs_map[] array since - 20021231 changes it to no longer contain information from the acsc - string. - + modify makefile rules in c++, progs, tack and test to ensure that - the compiler flags (e.g., $CFLAGS or $CCFLAGS) are used in the link - command (report by Jose Luis Rico Botella ). - + modify soft-key initialization to use A_REVERSE if A_STANDOUT would - not be shown when colors are used, i.e., if ncv#1 is set in the - terminfo as is done in "screen". - -20030412 - + add a test for slk_color(), in ncurses.c - + fix some issues reported by valgrind in the slk_set() and slk_wset() - code, from recent rewrite. - + modify ncurses 'E' test to use show previous label via slk_label(), - as in 'e' test. - + modify wide-character versions of NewChar(), NewChar2() macros to - ensure that the whole struct is initialized. - -20030405 - + modify setupterm() to check if the terminfo and terminal-modes have - already been read. This ensures that it does not reinvoke - def_prog_mode() when an application calls more than one function, - such as tgetent() and initscr() (report by Olaf Buddenhagen). - -20030329 - + add 'E' test to ncurses.c, to exercise slk_wset(). - + correct handling of carriage-return in wgetn_wstr(), used in demo of - slk_wset(). - + first draft of slk_wset() function. - -20030322 - + improved warnings in tic when suppressing items to fit in termcap's - 1023-byte limit. - + built a list in test/README showing which externals are being used - by either programs in the test-directory or via internal library - calls. - + adjust include-options in CF_ETIP_DEFINES to avoid missing - ncurses_dll.h, fixing special definitions that may be needed for - etip.h (reported by Greg Schafer ). - -20030315 - + minor fixes for cardfile.c, to make it write the updated fields to - a file when ^W is given. - + add/use _nc_trace_bufcat() to eliminate some fixed buffer limits in - trace code. - -20030308 - + correct a case in _nc_remove_string(), used by define_key(), to avoid - infinite loop if the given string happens to be a substring of other - strings which are assigned to keys (report by John McCutchan). - + add key_defined() function, to tell which keycode a string is bound - to (discussion with John McCutchan ). - + correct keybound(), which reported definitions in the wrong table, - i.e., the list of definitions which are disabled by keyok(). - + modify demo_keydef.c to show the details it changes, and to check - for errors. - -20030301 - + restructured test/configure script, make it work for libncursesw. - + add description of link_fieldtype() to manpage (report by - L Dee Holtsclaw ). - -20030222 - + corrected ifdef's relating to configure check for wchar_t, etc. - + if the output is a socket or other non-tty device, use 1 millisecond - for the cost in mvcur; previously it was 9 milliseconds because the - baudrate was not known. - + in _nc_get_tty_mode(), initialize the TTY buffer on error, since - glibc copies uninitialized data in that case, as noted by valgrind. - + modify tput to use the same parameter analysis as tparm() does, to - provide for user-defined strings, e.g., for xterm title, a - corresponding capability might be - title=\E]2;%p1%s^G, - + modify MKlib_gen.sh to avoid passing "#" tokens through the C - preprocessor. This works around Mac OS X's preprocessor, which - insists on adding a blank on each side of the token (report/analysis - by Kevin Murphy ). - -20030215 - + add configure check for wchar_t and wint_t types, rather than rely - on preprocessor definitions. Also work around for gcc fixinclude - bug which creates a shadow copy of curses.h if it sees these symbols - apparently typedef'd. - + if database is disabled, do not generate run_tic.sh - + minor fixes for memory-leak checking when termcap is read. - -20030208 - + add checking in tic for incomplete line-drawing character mapping. - + update configure script to reflect fix for AC_PROG_GCC_TRADITIONAL, - which is broken in autoconf 2.5x for Mac OS X 10.2.3 (report by - Gerben Wierda ). - + make return value from _nc_printf_string() consistent. Before, - depending on whether --enable-safe-sprintf was used, it might not be - cached for reallocating. - -20030201 - + minor fixes for memory-leak checking in lib_tparm.c, hardscroll.c - + correct a potentially-uninitialized value if _read_termtype() does - not read as much data as expected (report by Wolfgang Rohdewald - ). - + correct several places where the aclocal.m4 macros relied on cache - variable names which were incompatible (as usual) between autoconf - 2.13 and 2.5x, causing the test for broken-linker to give incorrect - results (reports by Gerben Wierda and Thomas Esser - ). - + do not try to open gpm mouse driver if standard output is not a tty; - the gpm library does not make this check (from bug report for dialog - by David Oliveira ). - -20030125 - + modified emx.src to correspond more closely to terminfo.src, added - emx-base to the latter -TD - + add configure option for FreeBSD sysmouse, --with-sysmouse, and - implement support for that in lib_mouse.c, lib_getch.c - -20030118 - + revert 20030105 change to can_clear_with(), does not work for the - case where the update is made on cells which are blanks with - attributes, e.g., reverse. - + improve ifdef's to guard against redefinition of wchar_t and wint_t - in curses.h (report by Urs Jansen). - -20030111 - + improve mvcur() by checking if it is safe to move when video - attributes are set (msgr), and if not, reset/restore attributes - within that function rather than doing it separately in the GoTo() - function in tty_update.c (suggested by Philippe Blain). - + add a message in run_tic.in to explain more clearly what does not - work when attempting to create a symbolic link for /usr/lib/terminfo - on OS/2 and other platforms with no symbolic links (report by John - Polterak). - + change several sed scripts to avoid using "\+" since it is not a BRE - (basic regular expression). One instance caused terminfo.5 to be - misformatted on FreeBSD (from a FreeBSD bug report by Kazuo Horikawa - ). - + correct misspelled 'wint_t' in curs_get_wch.3x (Michael Elkins). - -20030105 - + improve description of terminfo operators, especially static/dynamic - variables (comments by Mark I Manning IV ). - + demonstrate use of FIELDTYPE by modifying test/ncurses 'r' test to - use the predefined TYPE_ALPHA field-type, and by defining a - specialized type for the middle initial/name. - + fix MKterminfo.sh, another workaround for POSIXLY_CORRECT misfeature - of sed 4.0 - > Philippe Blain: - + optimize can_clear_with() a little by testing first if the parameter - is indeed a "blank". - + simplify ClrBottom() a little by allowing it to use clr_eos to clear - sections as small as one line. - + improve ClrToEOL() by checking if clr_eos is available before trying - to use it. - + use tputs() rather than putp() in a few cases in tty_update.c since - the corresponding delays are proportional to the number of lines - affected: repeat_char, clr_eos, change_scroll_region. - -20021231 - + rewrite of lib_acs.c conflicts with copying of SCREEN acs_map to/from - global acs_map[] array; removed the lines that did the copying. - -20021228 - + change some overlooked tputs() calls in scrolling code to use putp() - (report by Philippe Blain). - + modify lib_getch.c to avoid recursion via wgetnstr() when the input - is not a tty and consequently mode-changes do not work (report by - ). - + rewrote lib_acs.c to allow PutAttrChar() to decide how to render - alternate-characters, i.e., to work with Linux console and UTF-8 - locale. - + correct line/column reference in adjust_window(), needed to make - special windows such as curscr track properly when resizing (report - by Lucas Gonze ). - > Philippe Blain: - + correct the value used for blank in ClrBottom() (broken in 20000708). - + correct an off-by-one in GoTo() parameter in _nc_scrolln(). - -20021221 - + change several tputs() calls in scrolling code to use putp(), to - enable padding which may be needed for some terminals (patch by - by Philippe Blain). - + use '%' as sed substitute delimiter in run_tic script to avoid - problems with pathname delimiters such as ':' and '@' (report by John - Polterak). - + implement a workaround so that line-drawing works with screen's - crippled UTF-8 support (tested with 3.9.13). This only works with - the wide-character support (--enable-widec); the normal library will - simply suppress line-drawing when running in a UTF-8 locale in screen. - -20021214 - + allow BUILD_CC and related configure script variables to be - overridden from the environment. - + make build-tools variables in ncurses/Makefile.in consistent with - the configure script variables (report by Maciej W Rozycki). - + modify ncurses/modules to allow - configure --disable-leaks --disable-ext-funcs - to build (report by Gary Samuelson). - + fix a few places in configure.in which lacked quotes (report by - Gary Samuelson ). - + correct handling of multibyte characters in waddch_literal() which - force wrapping because they are started too late on the line (report - by Sam Varshavchik). - + small fix for CF_GNAT_VERSION to ignore the help-message which - gnatmake adds to its version-message. - > Maciej W Rozycki : - + use AC_CHECK_TOOL to get proper values for AR and LD for cross - compiling. - + use $cross_compiling variable in configure script rather than - comparing $host_alias and $target alias, since "host" is - traditionally misused in autoconf to refer to the target platform. - + change configure --help message to use "build" rather than "host" - when referring to the --with-build-XXX options. - -20021206 - + modify CF_GNAT_VERSION to print gnatmake's version, and to allow for - possible gnat versions such as 3.2 (report by Chris Lingard - ). - + modify #define's for CKILL and other default control characters in - tset to use the system's default values if they are defined. - + correct interchanged defaults for kill and interrupt characters - in tset, which caused it to report unnecessarily (Debian #171583). - + repair check for missing C++ compiler, which is broken in autoconf - 2.5x by hardcoding it to g++ (report by Martin Mokrejs). - + update config.guess, config.sub (2002-11-30) - + modify configure script to skip --with-shared, etc., when the - --with-libtool option is given, since they would be ignored anyway. - + fix to allow "configure --with-libtool --with-termlib" to build. - + modify configure script to show version number of libtool, to help - with bug reports. libtool still gets confused if the installed - ncurses libraries are old, since it ignores the -L options at some - point (tested with libtool 1.3.3 and 1.4.3). - + reorder configure script's updating of $CPPFLAGS and $CFLAGS to - prevent -I options in the user's environment from introducing - conflicts with the build -I options (may be related to reports by - Patrick Ash and George Goffe). - + rename test/define_key.c to test/demo_defkey.c, test/keyok.c to - test/demo_keyok.c to allow building these with libtool. - -20021123 - + add example program test/define_key.c for define_key(). - + add example program test/keyok.c for keyok(). - + add example program test/ins_wide.c for wins_wch() and wins_wstr(). - + modify wins_wch() and wins_wstr() to interpret tabs by using the - winsch() internal function. - + modify setcchar() to allow for wchar_t input strings that have - more than one spacing character. - -20021116 - + fix a boundary check in lib_insch.c (patch by Philippe Blain). - + change type for *printw functions from NCURSES_CONST to const - (prompted by comment by Pedro Palhoto Matos , - but really from a note on X/Open's website stating that either is - acceptable, and the latter will be used in a future revision). - + add xterm-1002, xterm-1003 terminfo entries to demonstrate changes in - lib_mouse.c (20021026) -TD - + add screen-bce, screen-s entries from screen 3.9.13 (report by - Adam Lazur ) -TD - + add mterm terminfo entries -TD - -20021109 - + split-out useful fragments in terminfo for vt100 and vt220 numeric - keypad, i.e., vt100+keypad, vt100+pfkeys, vt100+fnkeys and - vt220+keypad. The last as embedded in various entries had ka3 and - kb2 interchanged (report/discussion with Leonard den Ottolander - ). - + add check in tic for keypads consistent with vt100 layout. - + improve checks in tic for color capabilities - -20021102 - + check for missing/empty/illegal terminfo name in _nc_read_entry() - (report by Martin Mokrejs, where $TERM was set to an empty string). - + rewrote lib_insch.c, combining it with lib_insstr.c so both handle - tab and other control characters consistently (report by Philippe - Blain). - + remove an #undef for KEY_EVENT from curses.tail used in the - experimental NCURSES_WGETCH_EVENTS feature. The #undef confuses - dpkg's build script (Debian #165897). - + fix MKlib_gen.sh, working around the ironically named POSIXLY_CORRECT - feature of GNU sed 4.0 (reported by Ervin Nemeth ). - -20021026 - + implement logic in lib_mouse.c to handle position reports which are - generated when XFree86 xterm is initialized with private modes 1002 - or 1003. These are returned to the application as the - REPORT_MOUSE_POSITION mask, which was not implemented. Tested both - with ncurses 'a' menu (prompted by discussion with Larry Riedel - ). - + modify lib_mouse.c to look for "XM" terminfo string, which allows - one to override the escape sequence used to enable/disable mouse - mode. In particular this works for XFree86 xterm private modes - 1002 and 1003. If "XM" is missing (note that this is an extended - name), lib_mouse uses the conventional private mode 1000. - + correct NOT_LOCAL() macro in lib_mvcur.c to refer to screen_columns - where it used screen_lines (report by Philippe Blain). - + correct makefile rules for the case when both --with-libtool and - --with-gpm are given (report by Mr E_T ). - + add note to terminfo manpage regarding the differences between - setaf/setab and setf/setb capabilities (report by Pavel Roskin). - -20021019 - + remove redundant initialization of TABSIZE in newterm(), since it is - already done in setupterm() (report by Philippe Blain). - + add test/inserts.c, to test winnstr() and winsch(). - + replace 'sort' in dist.mk with script that sets locale to POSIX. - + update URLs in announce.html.in (patch by Frederic L W Meunier). - + remove glibc add-on files, which are no longer needed (report by - Frederic L W Meunier). - -20021012 5.3 release for upload to ftp.gnu.org - + modify ifdef's in etip.h.in to allow the etip.h header to compile - with gcc 3.2 (patch by Dimitar Zhekov ). - + add logic to setupterm() to make it like initscr() and newterm(), - by checking for $NCURSES_TRACE environment variable and enabling - the debug trace in that case. - + modify setupterm() to ensure that it initializes the baudrate, for - applications such as tput (report by Frank Henigman). - + modify definition of bits used for command-line and library debug - traces to avoid overlap, using new definition TRACE_SHIFT to relate - the two. - + document tput's interpretation of parameterized strings according to - whether parameters are given, etc. (discussion with Robert De Bath). - -20021005 pre-release - + correct winnwstr() to account for non-character cells generated when - a double-width character is added (report by Michael Bienia - ). - + modify _nc_viswbuf2n() to provide better results using wctomb(). - + correct logic in _nc_varargs() which broke tracing of parameters for - formats such as "%.*s". - + correct scale factor in linux-c and linux-c-nc terminfo entries - (report Floyd Davidson). - + change tic -A option to -t, add the same option to infocmp for - consistency. - + correct "%c" implementation in lib_tparm.c, which did not map a null - character to a 128 (cf: 980620) (patch by Frank Henigman - ). - -20020928 pre-release - + modify MKkey_defs.sh to check for POSIX sort -k option, use that if - it is found, to accommodate newer utility which dropped the - compatibility support for +number options (reported by Andrey A - Chernov). - + modify linux terminfo entry to use color palette feature from - linux-c-nc entry (comments by Tomasz Wasiak and Floyd Davidson). - + restore original color definitions in endwin() if init_color() was - used, and resume those colors on the next doupdate() or refresh() - (report by Tomasz Wasiak ). - + improve debug-traces by modifying MKlib_gen.sh to generate calls - to returnBool() and returnAttr(). - + add/use _nc_visbufn() and _nc_viswbufn() to limit the debug trace - of waddnstr() and similar functions to match the parameters as used. - + add/use _nc_retrace_bool() and _nc_retrace_unsigned(). - + correct type used by _nc_retrace_chtype(). - + add debug traces to some functions in lib_mouse.c - + modify lib_addch.c to handle non-spacing characters. - + correct parameter of RemAttr() in lib_bkgd.c, which caused the c++ - demo's boxes to lose the A_ALTCHARSET flag (broken in 20020629). - + correct width computed in _tracedump(), which did not account for - the attributes (broken in 20010602). - + modify test/tracemunch to replace addresses for windows other than - curscr, newscr and stdscr with window0, window1, etc. - -20020921 pre-release - + redid fix for edit_man.sed path. - + workaround for Cygwin bug which makes subprocess writes to stdout - result in core dump. - + documented getbegx(), etc. - + minor fixes to configure script to use '%' consistently as a sed - delimiter rather than '@'. - > Philippe Blain: - + add check in lib_overlay.c to ensure that the windows to be merged - actually overlap, and in copywin(), limit the area to be touched - to the lines given for the destination window. - -20020914 pre-release - + modified curses.h so that if the wide-character version is installed - overwriting /usr/include/curses.h, and if it relied on libutf8.h, - then applications that use that header for wide-character support - must define HAVE_LIBUTF8_H. - + modify putwin(), getwin() and dupwin() to allow them to operate on - pads (request by Philippe Blain). - + correct attribute-merging in wborder(), broken in 20020216 (report - by Tomasz Wasiak ). - > Philippe Blain: - + corrected pop-counts in tparam_internal() to '!' and '~' cases. - + use sizeof(NCURSES_CH_T) in one place that used sizeof(chtype). - + remove some unused variables from mvcur test-driver. - -20020907 pre-release - + change configure script to allow install of widec-character - (ncursesw) headers to overwrite normal (ncurses) headers, since the - latter is a compatible subset of the former. - + fix path of edit_man.sed in configure script, needed to regenerate - html manpages on Debian. - + fix mismatched enums in vsscanf.c, which caused warning on Solaris. - + update README.emx to reflect current patch used for autoconf. - + change web- and ftp-site to invisible-island.net - > Philippe Blain: - + change case for 'P' in tparam_internal() to indicate that it pops - a variable from the stack. - + correct sense of precision and width in parse_format(), to avoid - confusion. - + modify lib_tparm.c, absorb really_get_space() into get_space(). - + modify getwin() and dupwin() to copy the _notimeout, _idlok and - _idcok window fields. - + better fix for _nc_set_type(), using typeMalloc(). - -20020901 pre-release - + change minor version to 3, i.e., ncurses 5.3 - + update config.guess, config.sub - + retest build with each configure option; minor ifdef fixes. - + make keyname() return a null pointer rather than "UNKNOWN STRING" to - match XSI. - + modify handling of wide line-drawing character functions to use the - normal line-drawing characters when not in UTF-8 locale. - + add check/fix to comp_parse.c to suppress warning about missing acsc - string. This happens in configurations where raw termcap information - is processed; tic already does this and other checks. - + modify tic's check for ich/ich1 versus rmir/smir to only warn about - ich1, to match xterm patch #70 notes. - + moved information for ripped-off lines into SCREEN struct to allow - use in resizeterm(). - + add experimental wgetch_events(), ifdef'd with NCURSES_WGETCH_EVENTS - (adapted from patch by Ilya Zakharevich - see ncurses/README.IZ). - + amend check in kgetch() from 20020824 to look only for function-keys, - otherwise escape sequences are not resolved properly. - > Philippe Blain: - + removed redundant assignment to SP->_checkfd from newterm(). - + check return-value of setupterm() in restartterm(). - + use sizeof(NCURSES_CH_T) in a few places that used sizeof(chtype). - + prevent dupwin() from duplicating a pad. - + prevent putwin() from writing a pad. - + use typeRealloc() or typeMalloc() in preference to direct calls on - _nc_doalloc(). - -20020824 - + add a check in kgetch() for cooked characters in the fifo to avoid - calling fifo_push() when a KEY_RESIZE is available (report/analysis - by Sam Varshavchik ). - + fix an overlooked case for bugzilla #68199 (Philippe Blain). - + ensure clearerr() is called before using ferror() e.g., in - lib_screen.c (report by Philippe Blain). - -20020817 - + modify lib_screen.c and lib_newwin.c to maintain the SCREEN-specific - pointers for curscr/stdscr/newscr when scr_save() and scr_restore() - modify the global curscr/stdscr/newscr variables. Fixes Redhat - bugzilla #68199 dated 2002-07-07. - + add checks for null pointer in calls to tparm() and tgoto() based on - FreeBSD bug report. If ncurses were built with termcap support, and - the first call to tgoto() were a zero-length string, the result would - be a null pointer, which was not handled properly. - + correct a typo in terminfo.head, which gave the octal code for colon - rather than comma. - + remove the "tic -u" option from 20020810, since it did not account - for nested "tc=" clauses, and when that was addressed, was still - unsatisfactory. - -20020810 - + add tic -A option to suppress capabilities which are commented out - when translating to termcap. - + add tic -u option to provide older behavior of "tc=" clauses. - + modified tic to expand all but the final "tc=" clause in a termcap - entry, to accommodate termcap libraries which do not handle multiple - tc clauses. - + correct typo in curs_inopts.3x regarding CS8/CS7 usage (report by - Philippe Blain). - + remove a couple of redundant uses of A_ATTRIBUTES in expressions - using AttrOf(), which already incorporates that mask (report by - Philippe Blain). - + document TABSIZE variable. - + add NCURSES_ASSUMED_COLORS environment variable, to allow users to - override compiled-in default black-on-white assumption used in - assume_default_colors(). - + correct an off-by-one comparison against max_colors in COLORFGBG - logic. - + correct a use of uninitialized memory found by valgrind (reported by - Olaf Buddenhagen ). - + modified wresize() to ensure that a failed realloc will not corrupt - the window structure, and to make subwindows fit within the resized - window (completes Debian #87678, #101699) - -20020803 - + fix an off-by-one in lib_pad.c check for limits of pad (patch by - Philippe Blain). - + revise logic for BeOS in lib_twait.c altered in 20011013 to restore - logic used by lib_getch.c's support for GPM or EMX mouse (report by - Philippe Blain) - + remove NCURSES_CONST from several prototypes in curses.wide, to make - the --enable-const --enable-widec configure options to work together - (report by George Goffe ). - -20020727 - + finish no-leak checking in cardfile.c, using this for testing changes - to resizeterm(). - + simplify _nc_freeall() using delscreen(). - -20020720 - + check error-return from _nc_set_tty_mode() in _nc_initscr() and - reset_prog_mode() (report/patch by Philippe Blain). - + regenerate configure using patch for autoconf 2.52, to address - problem with identifying C++ bool type. - + correct/improve logic to produce an exit status for errors in tput, - which did not exit with an error when told to put a string not in the - current terminfo entry (report by David Gomez ). - + modify configure script AC_OUTPUT() call to work around defect in - autoconf 2.52 which adds an ifdef'd include to the generated - configure definitions. - + remove fstat() check from scr_init(), which also fixes a missing - include for from 20020713 (reported by David Ellement, - fix suggested by Philippe Blain). - + update curs_scanw.3x manpage to note that XSI curses differs from - SVr4 curses: return-values are incompatible. - + correct several prototypes in manpages which used const - inconsistently with the curses.h file, and removed spurious const's - in a few places from curses.h, e.g., for wbkgd() (report by Glenn - Maynard ). - + change internal type used by tparm() to long, to work with LP64 model. - + modify nc_alloc.h to allow building with g++, for testing. - -20020713 - + add resize-handling to cardfile.c test program. - + altered resizeterm() to avoid having it fail when a child window - cannot be resized because it would be larger than its parent. (More - work must be done on this, but it works well enough to integrate). - + improve a limit-check in lib_refresh.c - + remove check in lib_screen.c relating dumptime to file's modification - times, since that would not necessarily work for remotely mounted - filesystems. - + modify lrtest to simplify debugging changes to resizeterm, e.g., - t/T commands to enable/disable tracing. - + updated status of multibyte support in TO-DO. - + update contact info in source-files (patch by Juergen Pfeifer). - -20020706 - + add Caps.hpux11, as an example. - + modify version_filter(), used to implement -R option for tic and - infocmp, to use computed array offsets based on the Caps.* file which - is actually configured, rather than constants which correspond to - the Caps file. - + reorganized lib_raw.c to avoid updating SP and cur_term state if the - functions fail (reported by Philippe Blain). - + add -Wundef to gcc warnings, adjust a few ifdef's to accommodate gcc. - -20020629 - + correct parameters to setcchar() in ncurses.c (cf: 20020406). - + set locale in most test programs (view.c and ncurses.c were the - only ones). - + add configure option --with-build-cppflags (report by Maksim A - Nikulin ). - + correct a typo in wide-character logic for lib_bkgnd.c (Philippe - Blain). - + modify lib_wacs.c to not cancel the acsc, smacs, rmacs strings when - in UTF-8 locale. Wide-character functions use Unicode values, while - narrow-character functions use the terminfo data. - + fix a couple of places in Ada95/samples which did not compile with - gnat 3.14 - + modify mkinstalldirs so the DOS-pathname case is locale-independent. - + fix locale problem in MKlib_gen.sh by forcing related variables to - POSIX (C), using same approach as autoconf (set variables only if - they were set before). Update MKterminfo.sh and MKtermsort.sh to - match. - -20020622 - + add charset to generated html. - + add mvterm entry, adapted from a FreeBSD bug-report by Daniel Rudy - -TD - + add rxvt-16color, ibm+16color entries -TD - + modify check in --disable-overwrite option so that it is used by - default unless the --prefix/$prefix value is not /usr, in attempt to - work around packagers, e.g., for Sun's freeware, who do not read the - INSTALL notes. - -20020615 - + modify wgetch() to allow returning ungetch'd KEY_RESIZE as a function - key code in get_wch(). - + extended resize-handling in test/ncurses 'a' menu to the entire - stack of windows created with 'w' commands. - + improve $COLORFGBG feature by interpreting an out-of-range color - value as an SGR 39 or 49, for foreground/background respectively. - + correct a typo in configure --enable-colorfgbg option, and move it - to the experimental section (cf: 20011208). - -20020601 - + add logic to dump_entry.c to remove function-key definitions that do - not fit into the 1023-byte limit for generated termcaps. This makes - hds200 fit. - + more improvements to tic's warnings, including logic to ignore - differences between delay values in sgr strings. - + move definition of KEY_RESIZE into MKkeydefs.sh script, to - accommodate Caps.osf1r5 which introduced a conflicting definition. - -20020525 - + add simple resize-handling in test/ncurses.c 'a' menu. - + fixes in keyname() and _tracechar() to handle negative values. - + make tic's warnings about mismatches in sgr strings easier to follow. - + correct tic checks for number of parameters in smgbp and smglp. - + improve scoansi terminfo entry, and add scoansi-new entry -TD - + add pcvt25-color terminfo entry -TD - + add kf13-kf48 strings to cons25w terminfo entry (reported by Stephen - Hurd in newsgroup lucky.freebsd.bugs) -TD - + add entrypoint _nc_trace_ttymode(), use this to distinguish the - Ottyb and Nttyb members of terminal (aka cur_term), for tracing. - -20020523 - + correct and simplify logic for lib_pad.c change in 20020518 (reported - by Mike Castle). - -20020518 - + fix lib_pad.c for case of drawing a double-width character which - falls off the left margin of the pad (patch by Kriang Lerdsuwanakij - ) - + modify configure script to work around broken gcc 3.1 "--version" - option, which adds unnecessary trash to the requested information. - + adjust ifdef's in case SIGWINCH is not defined, e.g., with DJGPP - (reported by Ben Decker ). - -20020511 - + implement vid_puts(), vid_attr(), term_attrs() based on the narrow- - character versions as well. - + implement erasewchar(), killwchar() based on erasechar() and - killchar(). - + modify erasechar() and killchar() to return ERR if the value was - VDISABLE. - + correct a bug in wresize() in handling subwindows (based on patch by - Roger Gammans , report by Scott Beck - ). - + improve test/tclock.c by making the second-hand update more often - if gettimeofday() is available. - -20020429 - + workaround for Solaris sed with MKlib_gen.sh (reported by Andy - Tsouladze ). - -20020427 - + correct return-value from getcchar(), making it consistent with - Solaris and Tru64. - + reorder loops that generate makefile rules for different models vs - subsets so configure --with-termlib works again. This was broken by - logic added to avoid duplicate rules in changes to accommodate cygwin - dll's (reported by George.R.Goffe@seagate.com). - + update config.guess, config.sub - -20020421 - + modify ifdef's in write_entry.c to allow use of symbolic links on - platforms with no hard links, e.g., BeOS. - + modify a few includes to allow compile with BeOS, which has stdbool.h - with a conflicting definition for 'bool' versus its OS.h definition. - + amend MKlib_gen.sh to work with gawk, which defines 'func' as an - alias for 'function'. - -20020420 - + correct form of prototype for ripoffline(). - + modify MKlib_gen.sh to test that all functions marked as implemented - can be linked. - -20020413 - + add manpages: curs_get_wstr.3x, curs_in_wchstr.3x - + implement wgetn_wstr(). - + implement win_wchnstr(). - + remove redefinition of unget_wch() in lib_gen.c (reported by - Jungshik Shin ). - -20020406 - + modified several of the test programs to allow them to compile with - vendor curses implementations (Solaris, AIX). - -20020323 - + modified test/configure to allow configuring against ncursesw. - + change WACS_xxx definition to use address, to work like Tru64 curses. - -20020317 - + add 'e' and 'm' toggles to 'a', 'A' tests in ncurses.c to demonstrate - effect of echo/noecho and meta modes. - + add 'A' test to ncurses.c to demonstrate wget_wch() and related - functions. - + add manpage: curs_get_wch.3x - + implement unget_wch(). - + implement wget_wch(). - -20020310 - + regenerated html manpages. - + add manpages: curs_in_wch.3x, curs_ins_wch.3x, curs_ins_wstr.3x - + implement wins_wch(). - + implement win_wch(). - + implement wins_nwstr(), wins_wstr(). - -20020309 - + add manpages: curs_addwstr.3x, curs_winwstr.3x - + implement winnwstr(), winwstr(). - -20020223 - + add manpages: curs_add_wchstr.3x, curs_bkgrnd.3x - + document wunctrl, key_name. - + implement key_name(). - + remove const's in lib_box.c incorrectly leftover after splitting off - lib_box_set.c - + update llib-lncurses, llib-ncursesw, fix configure script related to - these. - -20020218 - + remove quotes on "SYNOPSIS" in man/curs_box_set.3x, which resulted - in spurious symlinks on install. - -20020216 - + implement whline_set(), wvline_set(), add manpage curs_border_set. - + add subtest 'b' to 'F' and 'f' in ncurses.c to demonstrate use of - box() and box_set() functions. - + add subtest 'u' to 'F' in ncurses.c, to demonstrate use of addstr() - given UTF-8 string equivalents of WACS_xxx symbols. - + minor fixes to several manpages based on groff -ww output. - + add descriptions of external variables of termcap interface to - the manpage (report by Bruce Evans ). - > patches by Bernhard Rosenkraenzer: - + correct configure option --with-bool, which was executed as - --with-ospeed. - + add quotes for parameters of --with-bool and --with-ospeed configure - options. - > patch by Sven Verdoolaege (report by Gerhard Haering - ): - + correct typos in definitions of several wide-character macros: - waddwstr, wgetbkgrnd, mvaddwstr, mvwadd_wchnstr, mvwadd_wchnstr, - mvwaddwstr. - + pass $(CPPFLAGS) to MKlib_gen.sh, thereby fixing a missing definition - of _XOPEN_SOURCE_EXTENDED, e.g., on Solaris - -20020209 - + implement wide-acs characters for UTF-8 locales. When in UTF-8 - locale, ignore narrow version of acs. Add 'F' test to test/ncurses.c - to demonstrate. - + correct prototype in keybound manpage (noted from a Debian mailing - list item). - -20020202 - + add several cases to the wscanw() example in testcurs.c, showing the - format. - + implement a simple vsscanf() fallback function which uses the %n - conversion to help parse the input data (prompted by discussion with - Albert Chin-A-Young). - + modify mk-1st.awk and test/Makefile.in to add $(LDFLAGS) when making - shared libraries, and to use $(CFLAGS) when linking test programs - (patch by Albert Chin-A-Young). - + add a call to _nc_keypad() in keypad() to accommodate applications - such as nvi, which use curses for output but not for input (fixes - Debian #131263, cf: 20011215). - + add entrypoints to resizeterm.c which provide better control over the - process: is_term_resized() and resize_term(). The latter restores - the original design of resizeterm() before KEY_RESIZE was added in - 970906. Do this to accommodate 20010922 changes to view.c, but allow - for programs with their own sigwinch handler, such as lynx (reported - by Russell Ruby ). - -20020127 - + fix a typo in change to mk-1st.awk, which broke the shared-library - makefile rules (reported by Martin Mokrejs). - -20020126 - + update config.guess, config.sub - + finish changes needed to build dll's on cygwin. - + fix a typo in mvwchat() macro (reported by Cy ). - + add configure check for mbstate_t, needed for wide-character - configuration. On some platforms we must include to - define this (reported by Daniel Jacobowitz). - + incorporate some of the changes needed to build dll's on cygwin. - -20020112a - + workaround for awk did not work with mawk, adjusted shell script. - -20020112 - + add Caps.osf1r5, as an example. - + modify behavior of can_clear_with() so that if an application is - running in a non-bce terminals with default colors enabled, it - returns true, allowing the user to select/paste text without picking - up extraneous trailing blanks (adapted from patch by Daniel - Jacobowitz ). - + modify generated curses.h to ifdef-out prototypes for extensions if - they are disabled, and to define curses_version() as a string in that - case. This is needed to make the programs such as tic build in that - configuration. - + modified generated headers.sh to remove a gzip'd version of the - target file if it exists, in case non-gzip'd manpages are installed - into a directory where gzip'd ones exist. In that case, the latter - would be found. - + corrected a redundant initialization of signal handlers from 20010922 - changes. - + clarified bug-reporting address in terminfo.src (report by John H - DuBois III ). - > several fixes from Robert Joop: - + do not use "-v" option of awk in MKkey_defs.sh because it does not - work with SunOS nawk. - + modify definitions for libutf8 in curses.h to avoid redefinition - warnings for mblen - + quoted references to compiler in shell command in misc/Makefile, in - case it uses multiple tokens. - -20011229 - + restore special case from 20010922 changes to omit SA_RESTART when - setting up SIGWINCH handler, which is needed to allow wgetch() to be - interrupted by that signal. - + update configure macro CF_WITH_PATHLIST, to omit some double quotes - not needed with autoconf 2.52 - + revert configure script to autoconf 2.13 patched with - autoconf-2.13-19990117.patch.gz (or later) - from - ftp://invisible-island.net/autoconf/ - because autoconf 2.52 macro AC_PROG_AWK does not work on HPUX 11.0 - (report by David Ellement ). This also fixes a - different problem configuring with Mac OS X (reported by Marc Smith - ). - -20011222 - + modify include/edit_cfg.h to eliminate BROKEN_LINKER symbol from - term.h - + move prototype for _nc_vsscanf() into curses.h.in to omit - HAVE_VSSCANF symbol from curses.h, which was dependent upon the - ncurses_cfg.h file which is not installed. - + use ACS_LEN rather than SIZEOF(acs_map) in trace code of lib_acs.c, - to work with broken linker configuration, e.g., cygwin (report by - Robert Joop ). - + make napms() call _nc_timed_wait() rather than poll() or select(), - to work around broken implementations of these on cygwin. - -20011218 - + drop configure macro CF_WIDEC_SHIFT, since that was rendered obsolete - by Sven Verdoolaege's rewrite of wide-character support. This makes - libncursesw incompatible again, but makes the header files almost the - same as in the narrow-character configuration. - + simplify definitions that combine wide/narrow versions of bkgd, etc., - to eliminate differences between the wide/narrow versions of curses.h - + correct typo in configure macro CF_FUNC_VSSCANF - + correct location of call to _nc_keypad() from 20011215 changes which - prevented keypad() from being disabled (reported by Lars Hecking). - -20011215 - + rewrote ncurses 'a' test to exercise wgetch() and keypad() functions - better, e.g., by adding a 'w' command to create new windows which - may have different keypad() settings. - + corrected logic of keypad() by adding internal screen state to track - whether the terminal's keypad-mode has been set. Use this in - wgetch() to update the keypad-mode according to whether the - associated window's keypad-mode has been set with keypad(). This - corrects a related problem restoring terminal state after handling - SIGTSTP (reported by Mike Castle). - + regenerate configure using patch for autoconf 2.52 - autoconf-2.52-patch.gz - at - ftp://invisible-island.net/autoconf/ - + update config.guess, config.sub from - http://subversions.gnu.org/cgi-bin/viewcvs/config/config/ - + minor changes to quoting in configure script to allow it to work - with autoconf 2.52 - -20011208 - + modify final checks in lib_setup.c for line and col values, making - them independent. - + modify acs_map[] if configure --broken-linker is specified, to make - it use a function rather than an array (prompted by an incorrect - implementation in cygwin package). - + correct spelling of configure option --enable-colorfgbg, which - happened to work if --with-develop was set (noted in cygwin package - for ncurses). - + modify ifdef for genericerror() to compile with SUNWspro Sun WorkShop - 6 update 1 C++ 5.2 (patch by Sullivan N Beck ). - + add configure checks to see if ncurses' fallback vsscanf() will - compile either of the special cases for FILE structs, and if not, - force it to the case which simply returns an error (report by - Sullivan N Beck indicates that Solaris 8 with - 64-bits does not allow access to FILE's fields). - + modify ifdef's for c++/cursesw.cc to use the fallback vsscanf() in - the ncurses library if no better substitute for this can be found - in the C++ runtime. - + modify the build to name dynamic libraries according to the - convention used on OS X and Darwin. Rather than something like - libncurses.dylib.5.2, Darwin would name it libncurses. 5.dylib. - There are a few additional minor fixes, such as setting the library - version and compatibility version numbers (patch by Jason Evans - ). - + use 'sh' to run mkinstalldirs, to work around problems with buggy - versions of 'make' on OS/2 (report by John Polterak ). - + correct typo in manpage description of curs_set() (Debian #121548). - + replace the configure script existence-check for mkstemp() by one - that checks if the function works, needed for older glibc and - AmigaOS. - -20011201 - + modify script that generates fallbacks.c to compile a temporary - copy of the terminfo source in case the host does not contain all of - the entries requested for fallbacks (request by Greg Roelofs). - + modify configure script to accommodate systems such as Mac OS X whose - header defines a 'bool' type inconsistent with ncurses, - which normally makes 'bool' consistent with C++. Include - from curses.h to force consistent usage, define a new type - NCURSES_BOOL and related that to the exported 'bool' as either a - typedef or definition, according to whether is present - (based on a bug report for tin 1.5.9 by Aaron Adams ). - -20011124 - + added/updated terminfo entries for M$ telnet and KDE konsole -TD - -20011117 - + updated/expanded Apple_Terminal and Darwin PowerPC terminfo entries - (Benjamin C W Sittler). - + add putty terminfo entry -TD - + if configuring for wide-curses, define _XOPEN_SOURCE_EXTENDED, since - this may not otherwise be defined to make test/view.c compile. - -20011110 - + review/correct several missing/generated items in curses.wide, sorted - the lists to make subsequent diff's easier to track. - -20011103 - + add manual pages for add_wch(), echo_wchar(), getcchar(), - mvadd_wch(), mvwadd_wch(), setcchar(), wadd_wch() and wecho_wchar(). - + implement wecho_wchar() - + modify _tracedump() to handle wide-characters by mapping them to '?' - and control-characters to '.', to make the trace file readable. Also - dynamically allocate the buffer used by _tracedump() for formatting - the results. - + modify T_CALLED/T_RETURN macros to ease balancing call/return lines - in a trace by using curly braces. - + implement _nc_viscbuf(), for tracing cchar_t arrays. - + correct trace-calls in setcchar() and getcchar() functions, which - traced the return values but not the entry to each function. - + correct usage message in test/view.c, which still mentioned -u flag. - -20011027 - + modify configure script to allow building with termcap only, or with - fallbacks only. In this case, we do not build tic and toe. - + add configure --with-termpath option, to override default TERMPATH - value of /etc/termcap:/usr/share/misc/termcap. - + cosmetic change to tack: make menu descriptions agree with menu - titles. - -20011020 - + rewrote limit-checks in wscrl() and associated _nc_scroll_window(), - to ensure that if the parameter of wscrl() is larger than the size of - the scrolling region, then the scrolling region will be cleared - (report by Ben Kohlen ). - + add trace/varargs.c, using this to trace parameters in lib_printw.c - + implement _tracecchar_t2() and _tracecchar_t(). - + split-out trace/visbuf.c - + correct typo in lib_printw.c changes from 20010922 (report by Mike - Castle). - -20011013 - + modify run_tic.sh to check if the build is a cross-compile. In that - case, do not use the build's tic to install the terminfo database - (report by Rafael Rodriguez Velilla ). - + modify mouse click resolution so that mouseinterval(-1) will disable - it, e.g., to handle touchscreens via a slow connection (request by - Byron Stanoszek ). - + correct mouseinterval() default value shown in curs_mouse.3x - + remove conflicting definition of mouse_trafo() (reported by Lars - Hecking, using gcc 2.95.3). - -20011001 - + simpler fix for signal_name(), to replace the one overlooked in - 20010929 (reported by Larry Virden). - -20010929 - + add -i option to view.c, to test ncurses' check for non-default - signal handler for SIGINT, etc. - + add cases for shared-libraries on Darwin/OS X (patch by Rob Braun - ). - + modify tset to restore original I/O modes if an error is encountered. - Also modify to use buffered stderr consistently rather than mixing - with write(). - + change signal_name() function to use if-then-else rather than case - statement, since signal-values aren't really integers (reported by - Larry Virden). - + add limit checks in wredrawln(), fixing a problem where lynx was - repainting a pad which was much larger than the screen. - -20010922 - + fix: PutRange() was counting the second part of a wide character as - part of a run, resulting in a cursor position that was one too far - (patch by Sven Verdoolaege). - + modify resizeterm() to not queue a KEY_RESIZE if there was no - SIGWINCH, thereby separating the two styles of SIGWINCH handling - in test/view.c - + simplified lib_tstp.c, modify it to use SA_RESTART flag for SIGWINCH. - + eliminate several static buffers in the terminfo compiler, using - allocated buffers. - + modify MKkeyname.awk so that keyname() does not store its result into - a static buffer that is overwritten by the next call. - + reorganize the output of infocmp -E and -e options to compile cleanly - with gcc -Wwrite-strings warnings. - + remove redefinition of chgat/wchgat/mvwchgat from curses.wide - -20010915 - + add label to test/view.c, showing the name of the last key or signal - that made the screen repaint, to make it clearer when a sigwinch - does this. - + use ExitProgram() consistently in the test-programs to make it - simpler to test leaks with dmalloc, etc. - + move hashtab static data out of hashmap.c into SCREEN struct. - + make NO_LEAK code compile with revised WINDOWLIST structs. - -20010908 - + modify tgetent() to check if exit_attribute_mode resets the alternate - character set, and if so, attempt to adjust the copy of the termcap - "me" string which it will return to eliminate that part. In - particular, 'screen' would lose track of line-drawing characters - (report by Frederic L W Meunier <0@pervalidus.net>, analysis by - Michael Schroeder). - -20010901 - + specify DOCTYPE in html manpages. - + add missing macros for several "generated" functions: attr_get(), - attr_off(), attr_on(), attr_set(), chgat(), mvchgat(), mvwchgat() and - mouse_trafo(). - + modify view.c to agree with non-experimental status of ncurses' - sigwinch handler: - + change the sense of the -r option, making it default to ncurses' - sigwinch handler. - + add a note explaining what functions are unsafe in a signal - handler. - + add a -c option, to set color display, for testing. - + unset $data variable in MKterminfo.sh script, to address potential - infinite loop if shell malfunction (report by Samuel Mikes - , for bash 2.05.0 on a Linux 2.0.36 system). - + change kbs in mach terminfo entries to ^? (Marcus Brinkmann - ). - + correct logic for COLORFGBG environment variable: if rxvt is compiled - with xpm support, the variable has three fields, making it slightly - incompatible with itself. In either case, the background color is - the last field. - -20010825 - + move calls to def_shell_mode() and def_prog_mode() before loop with - callbacks in lib_set_term.c, since the c++ demo otherwise initialized - the tty modes before saving them (patch by John David Anglin - ). - + duplicate logic used to initialize trace in newterm(), in initscr() - to avoid confusing trace of initscr(). - + simplify allocation of WINDOW and WINDOWLIST structs by making the - first a part of the second rather than storing a pointer. This saves - a call to malloc for each window (discussion with Philippe Blain). - + remove unused variable 'used_ncv' from lib_vidattr.c (Philippe - Blain). - + modify c++/Makefile.in to accommodate archive programs that are - different for C++ than for C, and add cases for vendor's C++ - compilers on Solaris and IRIX (report by Albert Chin-A-Young). - + correct manpage description of criteria for deciding if the terminal - supports xterm mouse controls. - + add several configure script options to aid with cross-compiling: - --with-build-cc, --with-build-cflags, --with-build-ldflags, and - --with-build-libs (request by Greg Roelofs). - + change criteria for deciding if configure is cross-compiling from - host/build mismatch to host/target mismatch (request by Greg Roelofs - ). - + correct logic for infocmp -e and -E options which writes the data for - the ext_Names[] array. This is needed if one constructs a fallback - table for a terminfo entry which uses extended termcap names, e.g., - AX in a color xterm. - + fix undefined NCURSES_PATHSEP when configure --disable-database - option is given. - -20010811 - + fix for VALID_BOOLEAN() macro when char is not signed. - + modify 'clean' rule for C++ binding to work with Sun compiler, which - caches additional information in a subdirectory of the objects. - + added llib-ncursesw. - -20010804 - + add Caps.keys example for experimental extended function keys - (adapted from a patch by Ilya Zakharevich). - + correct parameter types of vidputs() and vidattr() to agree with - header files (report by William P Setzer). - + fix typos in several man-pages (patch by William P Setzer). - + remove unneeded ifdef for __GNUG__ in CF_CPP_VSCAN_FUNC configure - macro, which made ncurses C++ binding fail to build with other - C++ compilers such as HPUX 11.x (report by Albert Chin-A-Young). - + workaround for bug in HPUX 11.x C compiler: add a blank after - NCURSES_EXPORT macro in form.h (report by Albert Chin-A-Young) - + ignore blank lines in Caps* files in MKkey_defs.sh script (report by - Albert Chin-A-Young). - + correct definition of key_end in Caps.aix4, which left KEY_END - undefined (report by Albert Chin-A-Young). - + remove a QNX-specific fallback prototype for vsscanf(), which is - obsolete with QNX RTP. - + review/fix some of the T() and TR() macro calls, having noticed that - there was no data for delwin() in a trace of dialog because there was - no returnVoid call for wtimeout(). Also, traces in lib_twait.c are - now selected under TRACE_IEVENT rather than TRACE_CALLS. - -20010728 - + add a _nc_access() check before opening files listed via $TERMPATH. - + using modified man2html, regenerate some of the html manpages to fix - broken HREF's where the link was hyphenated. - -20010721 - + add some limit/pointer checks to -S option of tputs. - + updated/expanded Apple_Terminal and Darwin PowerPC terminfo entries - (Benjamin C W Sittler). - + add a note in curs_termcap.3x regarding a defect in the XSI - description of tgetent (based on a discussion with Urs Jansen - regarding the HPUX 11.x implementation, whose termcap interface is - not compatible with existing termcap programs). - + modify manhtml rule in dist.mk to preserve copyright notice on the - generated files, as well as to address HTML style issues reported by - tidy and weblint. Regenerated/updated corresponding html files. - + comment out use of Protected_Character and related rarely used - attributes in ncurses Ada95 test/demo to compile with wide-character - configuration. - -20010714 - + implement a simple example in C++ demo to test scanw(). - + corrected stdio function used to implement scanw() in cursesw.cc - + correct definition of RemAttr() macro from 20010602 changes, which - caused C++ SillyDemo to not show line-drawing characters. - + modify C++ binding, adding getKey() which can be overridden by user - to substitute functions other than getch() for keyboard processing - of forms and menus (patch by Juergen Pfeifer). - -20010707 - + fix some of the trace calls which needed modification to work with - new wide-character structures. - + modify magic-cookie code in tty_update.c to compile with new - wide-character structures (report by ). - + ensure that _XOPEN_SOURCE_EXTENDED is defined in curses.priv.h if - compiling for wide-character configuration. - + make addwnstr() handle non-spacing characters (patch by Sven - Verdoolaege). - -20010630 - + add configure check to define _GNU_SOURCE, needed to prop up glibc - header files. - + split-out include/curses.wide to solve spurious redefinitions caused - by defining _GNU_SOURCE, and move includes for before - to work around misdefinition of ERR in glibc 2.1.3 header - file. - + extended ospeed change to NetBSD and OpenBSD -TD - + modify logic in lib_baudrate.c for ospeed, for FreeBSD to make it - work properly for termcap applications (patch by Andrey A Chernov). - -20010623 - + correct an overlooked CharOf/UChar instance (reports by Eugene Lee - , Sven Verdoolaege). - + correct unneeded ifdef for wunctrl() (reported by Sven Verdoolaege) - -20010618 - + change overlooked several CharOf/UChar instances. - > several patches from Sven Verdoolaege: - + correct a typo in wunctrl(), which made it appear that botwc() was - needed (no such function: use btowc()). - + reimplement wide-character demo in test/view.c, using new functions. - + implement getcchar(), setcchar(), wadd_wchnstr() and related macros. - + fix a syntax problem with do/if/while in PUTC macro (curses.priv.h). - -20010616 - + add parentheses in macros for malloc in test.priv.h, fixes an - expression in view.c (report by Wolfgang Gutjahr ). - + add Caps.uwin, as an example. - + change the way curses.h is generated, making the list of function - key definitions extracted from the Caps file. - + add #undef's before possible redefinition of ERR and OK in curses.h - + modify logic in tic, toe, tput and tset which checks for basename of - argv[0] to work properly on systems such as OS/2 which have - case-independent filenames and/or program suffixes, e.g., ".ext". - -20010609 - + add a configure check, if --enable-widec is specified, for putwc(), - which may be in libutf8. - + remove some unnecessary text from curs_extend.3x and - default_colors.3x which caused man-db to make incorrect symbolic - links (Debian bug report #99550). - + add configure check if cast for _IO_va_list is needed to compile - C++ vscan code (Debian bug report #97945). - > several patches from Sven Verdoolaege: - + correct code that used non-standard auto-initialization of a struct, - which gcc allows (report by Larry Virden). - + use putwc() in PUTC() macro. - + make addstr() work for the special case where the codeset is - non-stateful (eg. UTF-8), as well as stateful codesets. - -20010603 - + correct loop expression in NEXT_CHAR macro for lib_addstr.c changes - from 20010602 (report by Mike Castle). - -20010602 - + modify mvcur() to avoid emitting newline characters when nonl() mode - is set. Normally this is not a problem since the actual terminal - mode is set to suppress nl/crlf translations, however it is useful to - allow the caller to manipulate the terminal mode to avoid staircasing - effects after spawning a process which writes messages (for lynx - 2.8.4) -TD - > several patches from Sven Verdoolaege : - + remove redundant type-conversion in fifo_push() - + correct definition of addwstr() macro in curses.h.in - + remove _nc_utf8_outch() - + rename most existing uses of CharOf() to UChar(), e.g., where it is - used to prevent sign-extension in ctype macros. - + change some chtype's to attr_t's where the corresponding variables - are used to manipulate attributes. - + UpdateAttr() was applied to both attributes (attr_t) and characters - (chtype). Modify macro and calls to it to make these distinct. - + add CharEq() macro, use in places where wide-character configuration - implementation uses a struct for cchar_t. - + moved struct ldat into curses.priv.h, to hide implementation details. - + change CharOf() macro to use it for masking A_CHARTEXT data from - chtype's. - + add L() macro to curses.priv.h, for long-character literals. - + replace several assignments from struct ldat entries to chtype or - char values with combinations of CharOf() and AttrOf() macros. - + add/use intermediate ChAttrOf() and ChCharOf() macros where we know - we are using chtype data. - + add/use lowlevel attribute manipulation macros AddAttr(), RemAttr() - and SetAttr(). - + add/use SetChar() macro, to change a cchar_t based on a character and - attributes. - + convert most internal use of chtype to NCURSES_CH_T, to simplify use - of cchar_t for wide-character configuration. Similarly, use ARG_CH_T - where a pointer would be more useful. - + add stubs for tracing cchar_t values. - + add/use macro ISBLANK() - + add/use constructors for cchar_t's: NewChar(), NewChar2(). - + add/use macros CHREF(), CHDEREF(), AttrOfD(), CharOfD() to facilitate - passing cchar_t's by address. - + add/use PUTC_DATA, PUTC() macros. - + for wide-character configuration, move the window background data to - the end of the WINDOW struct so that whether _XOPEN_SOURCE_EXTENDED - is defined or not, the offsets in the struct will not change. - + modify addch() to work with wide-characters. - + mark several wide-character functions as generated in curses.h.in - + implement wunctrl(), wadd_wch(), wbkgrndset(), wbkgrnd(), - wborder_set() and waddnwstr(). - -20010526 - + add experimental --with-caps=XXX option to customize to similar - terminfo database formats such as AIX 4.x - + add Caps.aix4 as an example. - + modify Caps to add columns for the the KEY_xxx symbols. - + modify configure --with-widec to suppress overwrite of libcurses.so - and curses.h - + add checks to toe.c to avoid being confused by files and directories - where we would expect the reverse, e.g., source-files in the - top-level terminfo levels as is the case for AIX. - -20010519 - + add top-level 'depend' rule for the C sources, assuming that the - makedepend program is available. As a side-effect, this makes - the generated sources, as in "make sources" (prompted by a report - by Mike Castle that "make -j" fails because the resulting parallel - processes race to generate ncurses/names.c). - + modify configure script so that --disable-overwrite option's action - to add a symbolic link for libcurses applies to the static library as - well as the shared library when both are configured (report by Felix - Natter ). - + add ELKS terminfo entries (Federico Bianchi - ) - + add u6 (CSR) to Eterm (Michael Jennings). - -20010512 - + modify test/ncurses.c to work with xterm-256color, which has fewer - color pairs than colors*colors (report by David Ellement - ). - -20010505 - + corrected screen.xterm-xfree86 entry. - + update comment in Caps regarding IBM (AIX) function-key definitions. - -20010421 - + modify c++/Makefile.in to link with libncurses++w.a when configured - for wide-characters (patch by Sven Verdoolaege). - + add check in _nc_trace_buf() to refrain from freeing a null pointer. - + improve CF_PROG_INSTALL macro using CF_DIRNAME. - + update config.guess, config.sub from autoconf 2.49e (alpha). - -20010414 - + add secondary check in tic.c, similar_sgr() to see if the reason - for mismatch was that the individual capabilities used a time-delay - while sgr did not. Used this to cleanup mismatches, e.g., in vt100, - and remove time-delay from Apple_Terminal entries. - + add Apple_Terminal terminfo entries (Benjamin C W Sittler - ). - + correct definitions of shifted editing keys for xterm-xfree86 -TD - + fix a bug in test/bs.c from 20010407 (patch by Erik Sigra). - + prevent relative_move() from doing an overwrite if it detects 8-bit - characters when configured for UTF-8 (reported by Sven Verdoolaege - ). - -20010407 - + add configure checks for strstream.h vscan function, and similar - stdio-based function which may be used in C++ binding for gcc 3.0 - (reports by George Goffe, Lars Hecking, Mike Castle). - + rewrite parts of configure.in which used changequote(). That feature - is broken in the latest autoconf alphas (e.g., 2.49d). - + add a missing pathname for ncurses_dll.h, needed when building in - a directory outside the source tree (patch by Sven Verdoolaege - ). - > fix 2 bugs in test/bs.c (patch by Erik Sigra ): - + no ships were ever placed in the last row or in the last column. - This made the game very easy to win, because you never had to waste - any shots there, but the computer did. - + the squares around a sunken ship that belonged to the player were not - displayed as already hit by the computer, like it does for the - player. - -20010331 - + add some examples of customizing screen's terminfo: - screen.xterm-xfree86, screen.xterm-r6, screen.teraterm -TD - + modify screen's terminfo entry to match the khome/kend in screen - 3.09.08 (Debian bug report #92215). - + correct a memory leak in forms library (report by Stefan Vogtner - , patch by Juergen Pfeifer). - -20010324 - + change symbols used to guard against repeated includes to begin - consistently with "NCURSES_" rather than a leading underscore. There - are other symbols defined in the header files which begin with a - leading underscore, but they are part of the legacy interface. - + reorder includes in c++ binding so that rcs identifiers can be - compiled-in. - + add .cc.ii rule to c++ makefile, to get preprocessor output for - debugging. - + correct configure script handling of @keyword@ substitutions when the - --with-manpage-renames option is given (cf: 20000715, fixes Debian - bug #89939). - + report stack underflow/overflow in tparm() when tic -cv option is - given. - + remove spurious "%|" operator from xterm-xfree86 terminfo entry, - (reported by Adam Costello , Debian bug #89222). - -20010310 - + cleanup of newdemo.c, fixing some ambiguous expressions noted by gcc - 2.95.2, and correcting some conflicting color pair initializations. - + add missing copyright notice for cursesw.h - + review, make minor fixes for use of '::' for referring to C-language - interface from C++ binding. - + modify configure check for g++ library slightly to accommodate - nonstandard version number, e.g., -2.7 (report by Ronald Ho - ). - + add configure check for c++ header, replace hardcoded - ifdef. - + workaround for pre-release of gcc 3.0 libstdc++, which has dropped - vscan from strstreambuf to follow standard, use wrapper for C vscanf - instead (report by George Goffe and Matt Taggart - , fixes Debian . - -20010303 - + modify interface of _nc_get_token() to pass 'silent' parameter to it, - to make quieter loading of /etc/termcap (patch by Todd C Miller). - + correct a few typos in curs_slk.3x and curs_outopts.3x manpages - (patch by Todd C Miller). - -20010224 - + compiler-warning fixes (reported by Nelson Beebe). - -20010210 - + modify screen terminfo entry to use new 3.9.8 feature allowing xterm - mouse controls -TD - -20010203 - + broaden patterns used to match OS/2 EMX in configure script to cover - variant used in newer config.guess/config.sub - + remove changequote() calls from configure script, since this feature - is broken in the autoconf 2.49c alpha, maintainers decline to fix. - + remove macro callPutChar() from tty_update.c, since this is no longer - needed (reported by Philippe Blain). - + add a null-pointer check in tic.c to handle the case when the input - file is really empty. Modify the next_char() function in comp_scan.c - to allow arbitrarily long lines, and incidentally supply a newline to - files that do not end in a newline. These changes improve tic's - recovery from attempts to read binary files, e.g., its output from - the terminfo database (reported by Bernhard Rosenkraenzer). - -20010127 - + revert change to c++/demo.cc from 20001209, which changed definition - of main() apparently to accommodate cygwin linker, but broke the demo - program. - + workaround for broken egcs 2.91.66 which calls member functions - (i.e., lines() and colors() of NCursesWindow before calling its - constructor. Add calls to initialize() in a few constructors which - did not do this already. - + use the GNAT preprocessor to make the necessary switch between TRACE - and NO_TRACE configurations (patch by Juergen Pfeifer). - > patches by Bernhard Rosenkraenzer: - + modify kterm terminfo entry to use SCS sequence to support alternate - character set (it does not work with SI/SO). - + --with-ospeed=something didn't work. configure.in checked for a - $enableval where it should check for $withval. Also, - ncurses/llib-lncurses still had a hardcoded short. - -20010114 - + correction to my merge of Tom Riddle's patch that broke tic in some - conditions (reported by Enoch Wexler ) -TD - -20010113 - + modify view.c to test halfdelay(). Like other tests, this recognizes - the 's' and space commands for stopping/starting polled input, shows - a freerunning clock in the header. If given a parameter to 's', that - makes view.c use halfdelay() with that parameter rather than - nodelay(). - + fix to allow compile with the experimental configure option - --disable-hashmap. - + modify postprocess_termcap() to avoid overwriting key_backspace, - key_left, key_down when processing a non-base entry (report/patch by - Tom Riddle). - + modify _nc_wrap_entry(), adding option to reallocate the string - table, needed in _nc_merge_entry() when merging termcap entries. - (adapted from report/patch by Tom Riddle ). - + modify a few configure script macros to keep $CFLAGS used only for - compiler options, preprocessor options in $CPPFLAGS. - -20001230 - + correct marker positions in lrtest.c after receiving a sigwinch. - + fix ifdef's in ncurses.c to build against pre-5.2 for testing. - + fixes to tclock for resizing behavior, redundant computation (report - and patch by A M Kuchling ). - -20001216 - + improved scoansi terminfo entry -TD - + modify configure script and makefile in Ada95/src to compile a stub - for the trace functions when ncurses does not provide those. - -20001209 - + add ncurses_dll.h and related definitions to support generating DLL's - with cygwin (adapted from a patch by Charles Wilson - , changed NCURSES_EXPORT macro to make it - work with 'indent'). - -20001202 - + correct prototypes for some functions in curs_termcap.3x, matching - termcap.h, which matches X/Open. - > patch by Juergen Pfeifer: - + a revised version of the Ada enhancements sent in by "H. - Nanosecond", aka Eugene V Melaragno . This - patch includes - - small fixes to the existing ncurses binding - - addition of some more low-level functions to the binding, including - termcap and terminfo functions - - An Ada implementation of the "ncurses" test application originally - written in C. - -20001125 - + modify logic in lib_setup.c to allow either lines or columns value - from terminfo to be used if the screen size cannot be determined - dynamically rather than requiring both (patch by Ehud Karni - ). - + add check in lib_tgoto.c's is_termcap() function to reject null or - empty strings (reported by Valentin Nechayev to - freebsd-bugs). - + add definition from configure script that denotes the path-separator, - which is normally a colon. The path-separator is a semicolon on - OS/2 EMX and similar systems which may use a colon within pathnames. - + alter logic to set default for --disable-overwrite option to set it - to 'yes' if the --prefix/$prefix value is not /usr/local, thereby - accommodating the most common cause of problems: gcc's nonstandard - search rules. Other locations such as /usr/local/ncurses will - default to overwriting (report by Lars Hecking ). - -20001118 - + modify default for --disable-overwrite configure option to disable - if the --prefix or $prefix value is not /usr. - + add cygwin to systems for which ncurses is installed by default into - /usr rather than /usr/local. - -20001111 - + minor optimization in comp_error.c and lib_termname.c, using - strncat() to replace strncpy() (patch by Solar Designer). - + add a use_terminfo_vars() check for $HOME/.termcap, and check for - geteuid() to use_terminfo_vars() (patch by Solar Designer - ). - + improved cygwin terminfo entry, based on patch by - . - + modify _nc_write_entry() to allow for the possibility that linking - aliases on a filesystem that ignores case would not succeed because - the source and destination differ only by case, e.g., NCR260VT300WPP0 - on cygwin (report by Neil Zanella). - + fix a typo in the curs_deleteln.3x man page (patch by Bernhard - Rosenkraenzer ). - -20001104 - + add configure option --with-ospeed to assist packagers in transition - to 5.3 change to ospeed type. - + add/use CharOf() macro to suppress sign-extension of char type on - platforms where this is a problem in ctype macros, e.g., Solaris. - + change trace output to binary format. - + correct a missing quote adjustment in CF_PATH_SYNTAX autoconf - macro, for OS/2 EMX configuration. - + rearrange a few configure macros, moving preprocessor options to - $CPPFLAGS (a now-obsolete version of autoconf did not consistently - use $CPPFLAGS in both the compile and preprocessor checks). - + add a check in relative_move() to guard against buffer overflow in - the overwrite logic. - -20001028 - + add message to configure script showing g++ version. - + resync config.guess, config.sub - + modify lib_delwin.c, making it return ERR if the window did not exist - (suggested by Neil Zanella). - + add cases for FreeBSD 3.1 to tdlint and makellib scripts, used this - to test/review ncurses library. (Would use lclint, but it doesn't - work). - + reorganized knight.c to avoid forward references. Correct screen - updates when backtracking, especially to the first cell. Add F/B/a - commands. - -20001021 5.2 release for upload to ftp.gnu.org - + update generated html files from manpages. - + modify dist.mk to use edit_man.sh to substitute autoconf'd variables - in html manpages. - + fix an uninitialized pointer in read_termcap.c (report by Todd C - Miller, from report/patch by Philip Guenther ). - + correct help-message and array limit in knight.c (patch by Brian - Raiter ). - > patch by Juergen Pfeifer: - + fix to avoid warning by GNAT-3.13p about use of inconsistent casing - for some identifiers defined in the standard package. - + cosmetic change to forms/fty_enum.c - -20001014 - + correct an off-by-one position in test/railroad.c which could cause - wrapping at the right margin. - + test/repair some issues with libtool configuration. Make - --disable-echo force libtool --silent. (Libtool does not work for - OS/2 EMX, works partly for SCO - libtool is still very specific to - gcc). - + change default of --with-manpage-tbl to "no", since for most of the - platforms which do have tbl installed, the system "man" program - understands how to run tbl automatically. - + minor improvement to force_bar() in comp_parse.c (Bernhard - Rosenkraenzer ). - + modify lib_tparm.c to use get_space() before writing terminating - null character, both for consistency as well as to ensure that if - save_char() was called immediately before, that the allocated memory - is enough (patch by Sergei Ivanov). - + add note about termcap ML capability which is duplicated between two - different capabilities: smgl and smglr (reported by Sergei Ivanov - ). - + correct parameter counts in include/Caps for dclk as well as some - printer-specific capabilities: csnm, defc, scs, scsd, smgtp, smglp. - > patch by Johnny C Lam : - + add support for building with libtool (apparently version 1.3.5, - since old versions do not handle -L../lib), using new configure - option --with-libtool. - + add configure option --with-manpage-tbl, which causes the manpages to - be preprocessed by tbl(1) prior to installation, - + add configure option --without-curses-h, which causes the - installation process to install curses.h as ncurses.h and make - appropriate changes to headers and manpages. - -20001009 - + correct order of options/parameters in run_tic.in invocation of tic, - which did not work with standard getopt() (reported by Ethan - Butterfield ). - + correct logic for 'reverse' variable in lib_vidattr.c, which was - setting it true without checking if newmode had A_REVERSE set, e.g., - using $TERM=ansi on OS/2 EMX (see 20000917). - > patch by Todd Miller: - + add a few missing use_terminfo_vars() and fixes up _nc_tgetent(). - Previously, _nc_cgetset() would still get called on cp so the - simplest thing is to set cp to NULL if !use_terminfo_vars(). - + added checks for an empty $HOME environment variable. - > patches by Ilya Zakharevich for OS/2 EMX: - + modify convert_configure.pl to support INSTALL. Change compiler - options in that script to use multithreading, needed for the mouse. - + modify OS/2 mouse support, retrying as a 2-button mouse if code fails - to set up a 3-button mouse. - + improve code for OS/2 mouse support, using _nc_timed_wait() to - replace select() call. - -20001007 - + change type of ospeed variable back to short to match its use in - legacy applications (reported by Andrey A Chernov). - + add case to configure script for --enable-rpath on IRIX (patch by - Albert Chin-A-Young). - + minor fix to position_check() function, to ensure it gets the whole - cursor report before decoding. - + add configure option --disable-assumed-color, to allow pre-5.1 - convention of default colors used for color-pair 0 to be configured - (see assume_default_colors()). - + rename configure option --enable-hashmap --disable-hashmap, and - reorder the configure options, splitting the experimental and - development - + add configure option --disable-root-environ, which tells ncurses to - disregard $TERMINFO and similar environment variables if the current - user is root, or running setuid/setgid (based on discussion with - several people). - + modified misc/run_tic.in to use tic -o, to eliminate dependency on - $TERMINFO variable for installs. - + add table entry for plab_norm to tput, so it passes in strings - for that capability. - + modify parse_format() in lib_tparm.c to ignore precision if it is - longer than 10000 (report by Jouko Pynnonen). - + rewrote limit checks in lib_mvcur.c using new functions - _nc_safe_strcat(), etc. Made other related changes to check lengths - used for strcat/strcpy (report by Jouko Pynnonen - ). - -20000930 - + modify several descriptions, including those for setaf, setab, in - include/Caps to indicate that the entries are parameterized. This - information is used to tell which strings are translated when - converting to termcap. Fixes a problem where the generated termcap - would contain a spurious "%p1" for the terminfo "%p1%d". - + modify ld -rpath options (e.g., Linux, and Solaris) to use an - absolute pathname for the build tree's lib directory (prompted by - discussion with Albert Chin-A-Young). - + modify "make install.man" and "make uninstall.man" to include tack's - man-page. - + various fixes for install scripts used to support configure --srcdir - and --with-install-prefix (reported by Matthew Clarke - ). - + make configure script checks on variables $GCC and $GXX consistently - compare against 'yes' rather than test if they are nonnull, since - either may be set to the corresponding name of the C or C++ compiler - (report/patch by Albert Chin-A-Young). - -20000923 - + modify rs2 capability in xterm-r6 and similar where cursor - save/restore bracketed the sequence for resetting video attributes. - The cursor restore would undo that (from a NetBSD bug report by John - Hawkinson ). - + using parameter check added to tic, corrected 27 typos in - terminfo.src -TD - + modify tic to verify that its inputs are really files, in case - someone tries to read a directory (or /dev/zero). - + add a check for empty buffers returned by fgets() in comp_scan.c - next_char() function, in case tic is run on a non-text file (fixes - a core dump reported by Aaron Campbell ). - + add to railroad.c some code exercising tgoto(), providing an - alternate form of display if the terminal supports cursor addressing. - + split-out tgoto() again, this time into new file lib_tgoto.c, and - implement a conventional BSD-style tgoto() which is used if the - capability string does not contain terminfo-style padding or - parameters (requested by Andrey A Chernov). - + add check to tic which reports capabilities that do not reference - the expected number of parameters. - + add error checking to infocmp's -v and -m options to ensure that - the option value is indeed a number. - + some cleanup of logic in _nc_signal_handler() to verify if SIGWINCH - handler is setup. Separated the old/new sigaction data for SIGTSTP - from the other signals. - -20000917 - + add S0, E0 extensions to screen's terminfo entry, which is another - way to solve the misconfiguration issue -TD - + completed special case for tgoto from 20000916 - -20000916 - + update xterm terminfo entries to match XFree86 xterm patch #146 -TD - + add Matrix Orbital terminfo entries (from Eric Z Ayers - ). - + add special case to lib_tparm.c to allow 'screen' program to use a - termcap-style parameter "%." to tgoto() for switching character sets. - + use LN_S substitution in run_tic.in, to work on OS/2 EMX which has - no symbolic links. - + updated notes in README.emx regarding autoconf patches. - + replace a lookup table in lib_vidattr.c used to decode no_color_video - with a logic expression (suggested by Philippe Blain). - + add a/A toggle to ncurses.c 'b' test, which clears/sets alternate - character set attribute from the displayed text. - + correct inequality in parameter analysis of rewritten lib_tparm.c - which had the effect of ignoring p9 in set_attributes (sgr), breaking - alternate character set (reported by Piotr Majka ). - + correct ifdef'ing for GCC_PRINTF, GCC_SCANF which would not compile - with Sun WorkShop compilers since these tokens were empty (cf: - 20000902, reported by Albert Chin-A-Young). - -20000909 - + correct an uninitialized parameter to open_tempfile() in tic.c which - made "tic -I" give an ambiguous error message about tmpnam. - + add special case in lib_vidattr.c to reset underline and standout for - devices that have no sgr0 defined (patch by Don Lewis - ). Note that this will not work for bold - mode, since there is no exit-bold-mode capability. - + improved patch for Make_Enum_Type (patch by Juergen Pfeifer). - + modify tparm to disallow arithmetic on strings, analyze the varargs - list to read strings as strings and numbers as numbers. - + modify tparm's internal function spop() to treat a null pointer as - an empty string. - + modify tput program so it can be renamed or invoked via a link as - 'reset' or 'init', producing the same effect as 'tput reset' or 'tput - init'. - + add private entrypoint _nc_basename(), use to consolidate related - code in progs, as well as accommodating OS/2 EMX pathnames. - + remove NCURSES_CONST line from edit_cfg.sh to compensate for its - removal (except via AC_SUBST) from configure.in, making - --enable-const work again (reported by Juergen Pfeifer). - + regen'd configure to pick up "hpux*" change from 20000902. - -20000902 - + modify tset.c to check for transformed "reset" program name, if any. - + add a check for null pointer in Make_Enum_Type() (reported by Steven - W Orr ). - + change functions _nc_parse_entry() and postprocess_termcap() to avoid - using strtok(), because it is non-reentrant (reported by Andrey A - Chernov ). - + remove "hpux10.*" case from CF_SHARED_OPTS configure script macro. - This differed from the "hpux*" case by using reversed symbolic - links, which made the 5.1 version not match the configuration of - 5.0 shared libraries (reported by Albert Chin-A-Young). - + correct a dependency in Ada95/src/Makefile.in which prevented - building with configure --srcdir (patch by H Nanosecond - ). - + modify ifdef's in curses.h.in to avoid warning if GCC_PRINTF or - GCC_SCANF was not previously defined (reported by Pavel Roskin - ). - + add MKncurses_def.sh to generate fallback definitions for - ncurses_cfg.h, to quiet gcc -Wundef warnings, modified ifdef's in - code to consistently use "#if" rather than "#ifdef". - -20000826 - + add QNX qansi entries to terminfo -TD - + add os2 entry to misc/emx.src (). - + add configure option --with-database to allow specifying a different - terminfo source-file to install. On OS/2 EMX, this defaults to - misc/emx.src - + change misc/run_tic.sh to derive it from misc/run_tic.in, to simplify - setting .exe extension on OS/2 EMX. - + add .exe extension in Ada95/gen/Makefile.in, - Ada95/samples/Makefile.in, for OS/2 EMX (reported by - ). - + add configure check for filesystems (such as OS/2 EMX) which do not - distinguish between upper/lowercase filenames, use this to fix tags - rules in makefiles. - + initialize fds[] array to 0's in _nc_timed_wait(); apparently poll() - only sets the revents members of that array when there is activity - corresponding to the related file (report by Glenn Cooper - , using Purify on Solaris 5.6). - + change configure script to use AC_CANONICAL_SYSTEM rather than - AC_CANONICAL_HOST, which means that configure --target will set - a default program-prefix. - + add note on cross-compiling to INSTALL (which does not rely on the - AC_CANONICAL_* macros). - -20000819 - + add cases for EMX OS/2 to config.guess, config.sub - + new version of config.guess, config.sub from lynx 2.8.4dev.7 - + add definitions via transform.h to allow tic and tput to check for - the transformed aliases rather than the original infotocap, etc. - + simplify transform-expressions in progs/Makefile.in, make the - uninstall rule work for transformed program names. - + change symbol used by --install-prefix configure option from - INSTALL_PREFIX to DESTDIR (the latter has become common usage - although the name is misleading). - + modify programs to use curses_version() string to report the version - of ncurses with which they are compiled rather than the - NCURSES_VERSION string. The function returns the patch level in - addition to the major and minor version numbers. - -20000812 - + modify CF_MAN_PAGES configure macro to make transformed program names - a parameter to that macro rather than embedding them in the macro. - + newer config.guess, config.sub (reference version used in lynx - 2.8.4dev.7). - + add configure option --with-default-terminfo-dir=DIR to allow - specifying the default terminfo database directory (request by Albert - Chin-A-Young). - + minor updates for terminfo.src from FreeBSD termcap change-history. - + correct notes in README and INSTALL regarding documentation files - that were moved from misc directory to doc (report by Rich Kulawiec - ). - + change most remaining unquoted parameters of 'test' in configure - script to use quotes, for instance fixing a problem in the - --disable-database option (reported by Christian Mondrup - ). - + minor adjustments to work around some of the incompatibilities/bugs - in autoconf 2.29a alpha. - + add -I/usr/local/include when --with-ncurses option is used in - test/configure script. - + correct logic in adjust_cancels(), which did not check both - alternatives when reclassifying an extended name between boolean, - number and string, causing an infinite loop in tic. - -20000730 - + correct a missing backslash in curses.priv.h - -20000729 - + change handling of non_dest_scroll_region in tty_update.c to clear - text after it is shifted in rather than before shifting out. Also - correct row computation (reported by Ruediger Kuhlmann - ). - + add/use new trace function to display chtype values from winch() and - getbkgd(). - + add trace mask TRACE_ATTRS, alter several existing _tracef calls that - trace attribute changes under TRACE_CALLS to use this. - + modify MKlib_gen.sh so that functions returning chtype will call - returnChar(). - + add returnChar() trace, for functions returning chtype. - + change indent.pro to line up parenthesis. - -20000722 - + fix a heap problem with the c++ binding (report by - , patch by Juergen Pfeifer). - + minor adjustment to ClrToEOL() to handle an out-of-bounds parameter. - + modify the check for big-core to force a couple of memory accesses, - which may work as needed for older/less-capable machines (if not, - there's still the explicit configure option). - > fixes based on diff's for Amiga and BeOS found at - http://www.mathematik.uni-karlsruhe.de/~kuhlmann/cross/ncurses/ - + alter definition of NCURSES_CONST to make it non-empty. - + add amiga-vnc terminfo entry. - + redefine 'TEXT' in menu.h for AMIGA, since it is reported to have - an (unspecified) symbol conflict. - + replaced case-statement in _nc_tracebits() for CSIZE with a table to - simplify working around implementations that define random - combinations of the related macros to zero. - + modify configure test for tcgetattr() to allow for old - implementations, e.g., on BeOS, which only defined it as a macro. - > patches by Bruno Haible: - + when checking LC_ALL/LC_CTYPE/LANG environment variables for UTF-8 - locale, ignore those which are set to an empty value, as per SUSV2. - + encode 0xFFFD in UTF-8 with 3 bytes, not 2. - + modify _nc_utf8_outch() to avoid sign-extension when checking for - out-of-range value. - -20000715 - + correct manlinks.sed script to avoid using ERE "\+", which is not - understood by older versions of sed (patch by Albert Chin-A-Young). - + implement configure script options that transform installed program - names, e.g., --program-prefix, including the manpage names and cross - references (patch by Albert Chin-A-Young ). - + correct several mismatches between manpage filename and ".TH" - directives, renaming dft_fgbg.3x to default_colors.3x and - menu_attribs.3x to menu_attributes.3x (report by Todd C Miller). - + correct missing includes for in several places, including - the C++ binding. This is not noted by gcc unless we use the - -fno-builtin option (reported by Igor Schein ). - + modified progs/tset.c and tack/sysdep.c to build with sgttyb - interface if neither termio or termios is available. Tested this - with FreeBSD 2.1.5 (which does have termios - but the sgttyb does - work). - -20000708 5.1 release for upload to ftp.gnu.org - + document configure options in INSTALL. - + add man-page for ncurses trace functions. - + correct return value shown in curs_touch.3x for is_linetouched() and - is_wintouched(), in curs_initscr.3x for isendwin(), and in - curs_termattr.3x for has_ic() and has_il(). - + add prototypes for touchline() and touchwin(), adding them to the - list of generated functions. - + modify fifo_push() to put ERR into the fifo just like other values to - return from wgetch(). It was returning without doing that, making - end-of-file condition incorrectly return a 0 (reported by Todd C - Miller). - + uncomment CC_SHARED_OPTS for progs and tack (see 971115), since they - are needed for SCO OpenServer. - + move _nc_disable_period from free_ttype.c to comp_scan.c to appease - dynamic loaders on SCO and IRIX64. - + add "-a" option to test/ncurses.c to invoke assume_default_colors() - for testing. - + correct assignment in assume_default_colors() which tells ncurses - whether to use default colors, or the assumed ones (reported by Gary - Funck ). - + review/correct logic in mk-1st.awk for making symbolic links for - shared libraries, in particular for FreeBSD, etc. - + regenerate misc/*.def files for OS/2 EMX dll's. - + correct quoting of values for CC_SHARED_OPTS in aclocal.m4 for - cases openbsd2*, openbsd*, freebsd* and netbsd* (patch by Peter - Wemm) (err in 20000610). - + minor updates to release notes, as well as adding/updating URLs for - examples cited in announce.html - > several fixes from Philippe Blain : - + correct placement of ifdef for NCURSES_XNAMES in function - _nc_free_termtype(), fixes a memory leak. - + add a call to _nc_synchook() to the end of function whline() like - that in wvline() (difference was in 1.9.4). - + make ClearScreen() a little faster by moving two instances of - UpdateAttr() out of for-loops. - + simplify ClrBottom() by eliminating the tstLine data, using for-loops - (cf: 960428). - -20000701 pre-release - + change minor version to 1, i.e., ncurses 5.1 - + add experimental configure option --enable-colorfgbg to check for - $COLORTERM variable as set by rxvt/aterm/Eterm. - + add Eterm terminfo entry (Michael Jennings ). - + modify manlinks.sed to pick aliases from the SYNOPSIS section, and - several manpages so manlinks.sed can find aliases for creating - symbolic links. - + add explanation to run_tic.sh regarding extended terminal - capabilities. - + change message format for edit_cfg.sh, since some people interpret - it as a warning. - + correct unescaped '$' in sysv5uw7*|unix_sv* rule for CF_SHARED_OPTS - configure macro (report by Thanh Ma ). - + correct logic in lib_twait.c as used by lib_mouse.c for GPM mouse - support when poll() is used rather than select() (prompted by - discussion with David Allen ). - -20000624 pre-release - + modify TransformLine() to check for cells with different color pairs - that happen to render the same display colors. - + apply $NCURSES_NO_PADDING to cost-computation in mvcur(). - + improve cost computation in PutRange() by accounting for the use - of parm_right_cursor in mvcur(). - + correct cost computation in EmitRange(), which was not using the - normalized value for cursor_address. - + newer config.guess, config.sub (reference version used in TIN 1.5.6). - -20000617 - + update config.guess, config.sub (reference version used in PCRE 3.2). - + resync changes to gnathtml against version 1.22, regenerated html - files under doc/html/ada using this (1.22.1.1). - + regenerated html files under doc/html/man after correcting top and - bottom margin options for man2html in dist.mk - + minor fixes to test programs ncurses 'i' and testcurs program to make - the subwindow's background color cover the subwindow. - + modify configure script so AC_MSG_ERROR is temporarily defined to a - warning in AC_PROG_CXX to make it recover from a missing C++ compiler - without requiring user to add --without-cxx option (from comment by - Akim Demaille to autoconf mailing list). - + modify headers.sh to avoid creating temporary files in the build - directory when installing headers (reported by Sergei Pokrovsky - ) - -20000610 - + regenerated the html files under doc/html/ada/files and - doc/html/ada/funcs with a slightly-improved gnathtml. - + add kmous capability to linux terminfo entry to allow it to use - xterm-style events provided by gpm patch by Joerg Schoen. - + make the configure macro CF_SHARED_OPTS a little smarter by testing - if -fPIC is supported by gcc rather than -fpic. The former option - allows larger symbol tables. - + update config.guess and config.sub (patches by - Kevin Buettner for elf64_ia64 - Bernd Kuemmerlen and MacOS X). - + add warning for 'tic -cv' about use of '^?' in terminfo source, which - is an extension. - -20000527 - + modify echo() behavior of getch() to match Solaris curses for - carriage return and backspace (reported by Neil Zanella). - + change _nc_flush() to a function. - + modify delscreen() to check if the output stream has been closed, and - if so, free the buffer allocated for setbuf (this provides an - ncurses-specific way to avoid a memory leak when repeatedly calling - newterm reported by Chipp C ). - + correct typo in curs_getch.3x manpage regarding noecho (reported by - David Malone ). - + add a "make libs" rule. - + make the Ada95 interface build with configure --enable-widec. - + if the configure --enable-widec option is given, append 'w' to names - of the generated libraries (e.g., libncursesw.so) to avoid conflict - with existing ncurses libraries. - -20000520 - + modify view.c to make a rudimentary viewer of UTF-8 text if ncurses - is configured with the experimental wide-character support. - + add a simple UTF-8 output driver to the experimental wide-character - support. If any of the environment variables LC_ALL, LC_CTYPE or - LANG contain the string "UTF-8", this driver will be used to - translate the output to UTF-8. This works with XFree86 xterm. - + modify configure script to allow building shared libraries on BeOS - (from a patch by by Valeriy E Ushakov). - + modify lib_addch.c to allow repeated update to the lower-right - corner, rather than displaying only the first character written until - the cursor is moved. Recent versions of SVr4 curses can update the - lower-right corner, and behave this way (reported by Neil Zanella). - + add a limit-check in _nc_do_color(), to avoid using invalid color - pair value (from bug report by Brendan O'Dea ). - -20000513 - + the tack program knows how to use smcup and rmcup but the "show caps - that can be tested" feature did not reflect this knowledge. Correct - the display in the menu tack/test/edit/c (patch by Daniel Weaver). - + xterm-16color does allow bold+colors, removed ncv#32 from that - terminfo entry. - -20000506 - + correct assignment to SP->_has_sgr_39_49 in lib_dft_fgbg.c, which - broke check for screen's AX capability (reported by Valeriy E Ushakov - ). - + change man2html rule in dist.mk to workaround bug in some - man-programs that ignores locale when rendering hyphenation. - + change web- and ftp-site to dickey.his.com - -20000429 - + move _nc_curr_token from parse_entry.c to comp_scan.c, to work around - problem linking tack on MacOS X DP3. - + include in lib_napms.c to compile on MacOS X DP3 - (reported by Gerben Wierda ). - + modify lib_vidattr.c to check for ncv fixes when pair-0 is not - default colors. - + add -d option to ncurses.c, to turn on default-colors for testing. - + add a check to _nc_makenew() to ensure that newwin() and newpad() - calls do not silently fail by passing too-large limits. - + add symbol NCURSES_SIZE_T to use rather than explicit 'short' for - internal window and pad sizes. Note that since this is visible in - the WINDOW struct, it would be an ABI change to make this an 'int' - (prompted by a question by Bastian Trompetter - , who attempted to create a 96000-line pad). - -20000422 - + add mgterm terminfo entry from NetBSD, minor adjustments to sun-ss5, - aixterm entries -TD - + modify tack/ansi.c to make it more tolerant of bad ANSI replies. An - example of an illegal ANSI resonse can be found using Microsoft's - Telnet client. A correct display can be found using a VT-4xx - terminal or XFree86 xterm with: - XTerm*VT100*decTerminalID: 450 - (patch by Daniel Weaver). - + modify gdc.c to recognize 'q' for quit, 's' for single-step and ' ' - for resume. Add '-n' option to force gdc's standard input to - /dev/null, to both illustrate the use of newterm() for specifying - alternate inputs as well as for testing signal handling. - + minor fix for configure option --with-manpage-symlinks, for target - directories that contain a period ('.') (reported by Larry Virden). - -20000415 - + minor additions to beterm entry (feedback from Rico Tudor) -TD - + corrections/updates for some IBM terminfo entries -TD - + modify _nc_screen_wrap() so that when exiting curses mode with - non-default colors, the last line on the screen will be cleared to - the screen's default colors (request by Alexander Lukyanov). - + modify ncurses.c 'r' example to set nonl(), allowing control/M to be - read for demonstrating the REQ_NEW_LINE operation (prompted by a - question by Tony L Keith" ). - + modify ncurses.c 'r' example of field_info() to work on Solaris 2.7, - documented extension of ncurses which allows a zero pointer. - + modify fmt_complex() to avoid buffer overflow in case of excess - recursion, and to recognize "%e%?" as a synonym for else-if, which - means that it will not recur for that special case. - + add logic to support $TERMCAP variable in case the USE_GETCAP symbol - is defined (patch by Todd C Miller). - + modify one of the m4 files used to generate the Ada95 sources, - to avoid using the token "symbols" (patch by Juergen Pfeifer). - -20000408 - + add terminfo entries bsdos-pc-m, bsdos-pc-mono (Jeffrey C Honig) - + correct spelling error in terminfo entry name: bq300-rv was given as - bg300-rv in esr's version. - + modify redrawwin() macro so its parameter is fully parenthesized - (fixes Debian bug report #61088). - + correct formatting error in dump_entry() which set incorrect column - value when no newline trimming was needed at the end of an entry, - before appending "use=" clauses (cf: 960406). - -20000401 - + add configure option --with-manpage-symlinks - + change unctrl() to render C1 characters (128-159) as ~@, ~A, etc. - + change makefiles so trace() function is provided only if TRACE is - defined, e.g., in the debug library. Modify related calls to - _tracechar() to use unctrl() instead. - -20000325 - + add screen's AX capability (for ECMA SGR 39 and 49) to applicable - terminfo entries, use presence of this as a check for a small - improvement in setting default colors. - + improve logic in _nc_do_color() implementing assume_default_colors() - by passing in previous color pair info to eliminate redundant call to - set_original_colors(). (Part of this is from a patch by Alexander - Lukyanov). - + modify warning in _nc_trans_string() about a possibly too-long string - to do this once only rather than for each character past the - threshold (600). Change interface of _nc_trans_string() to allow - check for buffer overflow. - + correct use of memset in _nc_read_entry_source() to initialize ENTRY - struct each time before reading new data into it, rather than once - per loop (cf: 990301). This affects multi-entry in-core operations - such as "infocmp -Fa". - -20000319 - + remove a spurious pointer increment in _nc_infotocap() changes from - 20000311. Add check for '.' in format of number, since that also - is not permitted in termcap. - + correct typo in rxvt-basic terminfo from temporary change made while - integrating 20000318. - -20000318 - + revert part of the vt220 change (request by Todd C Miller). - + add ansi-* terminfo entries from Eric's version. - + add -a option to tic and infocmp, which retains commented-out - capabilities during source translation/comparison, e.g., captoinfo - and infotocap. - + modify cardfile.c to display an empty card if no input data file is - found, fixes a core dump in that case (reported by Bruno Haible). - + correct bracketing in CF_MATH_LIB configure macro, which gave wrong - result for OS/2 EMX. - + supply required parameter for _nc_resolve_uses() call in - read_termcap.c, overlooked in 20000311 (reported by Todd C Miller). - > patches by Bruno Haible : - + fix a compiler warning in fty_enum.c - + correct LIB_PREFIX expression for DEPS_CURSES in progs, tack - makefiles, which resulted in redundant linking (cf: 20000122). - -20000311 - + make ifdef's for BROKEN_LINKER consistent (patch by Todd C Miller). - + improved tack/README (patch by Daniel Weaver). - + modify tput.c to ensure that unspecified parameters are passed to - tparm() as 0's. - + add a few checks in infocmp to guard against buffer overflow when - displaying string capabilities. - + add check for zero-uses in infocmp's file_comparison() function - before calling _nc_align_termtype(). Otherwise one parameter is - indexed past the end of the uses-array. - + add an option -q to infocmp to specify the less verbose output, - keeping the existing format as the default, though not retaining the - previous behavior that made the -F option compare each entry to - itself. - + adapted patch by Eric Raymond to make infocmp -F less verbose - (the submitted patch was unusable because it did not compile - properly): - + modify write_entry.c to ensure that absent or cancelled booleans - are written as FALSE, for consistency with infocmp which now - assumes this. Note that for the small-core configuration, tic - may not produce the same result as before. - + change some private library interfaces used by infocmp, e.g., - _nc_resolve_uses(). - + add a check in _nc_infotocap() to ensure that cm-style capabilities - accept only %d codes when converting the format from terminfo to - termcap. - + modify ENTRY struct to separate the data in 'parent' into the name - and link values (the original idea to merge both into 'parent' was - not good). - + discard repair_acsc(tterm); - > patch by Juergen Pfeifer: - + drop support for gnat 3.10 - + move generated documentation and html files under ./doc directory, - adding makefile rules for this to dist.mk - -20000304 - + correct conflicting use of tparm() in 20000226 change to tic, which - made it check only one entry at a time. - + fix errors in ncurses-intro.html and hackguide.html shown by Dave - Raggett's tidy. - + make the example in ncurses-intro.html do something plausible, and - corrected misleading comment (reported by Neil Zanella). - + modify pnoutrefresh() to set newscr->_leaveok as wnoutrefresh() does, - to fix a case where the cursor position was not updated as in - Solaris (patch by David Mosberger ). - + add a limit-check for wresize() to ensure that a subwindow does not - address out of bounds. - + correct offsets used for subwindows in wresize() (patch by Michael - Andres ). - + regenerate html'ized manual pages with man2html 3.0.1 (patch by - Juergen Pfeifer). This generated a file with a space in its name, - which I removed. - + fix a few spelling errors in tack. - + modify tack/Makefile.in to match linker options of progs/Makefile.in; - otherwise it does not build properly for older HPUX shared library - configurations. - + add several terminfo entries from esr's "11.0". - -20000226 - + make 'tput flash' work properly for xterm by flushing output in - delay_output() when using napms(), and modifying xterm's terminfo to - specify no padding character. Otherwise, xterm's reported baud rate - can mislead ncurses into producing too few padding characters - (Debian #58530). - + add a check to tic for consistency between sgr and the separate - capabilities such as smso, use this to check/correct several - terminfo entries (Debian #58530). - + add a check to tic if cvvis is the same as cnorm, adjusted several - terminfo entries to remove the conflict (Debian #58530). - + correct prototype shown in attr_set()/wattr_set() manpages (fixes - Debian #53962). - + minor clarification for curs_set() and leaveok() manpages. - + use mkstemp() for creating temporary file for tic's processing of - $TERMCAP contents (fixes Debian #56465). - + correct two errors from integrating Alexander's changes: did not - handle the non-bce case properly in can_erase_with() (noted by - Alexander), and left fg/bg uninitialized in the pair-zero case of - _nc_do_color() (reported by Dr Werner Fink and - Ismael Cordeiro ). - -20000219 - + store default-color code consistently as C_MASK, even if given as - -1 for convenience (adapted from patches by Alexander Lukyanov). - > patches by Alexander Lukyanov: - + change can_clear_with() macro to accommodate logic for - assume_default_colors(), making most of the FILL_BCE logic - unnecessary. Made can_clear_with() an inline function to make it - simpler to read. - -20000212 - + corrected form of recent copyright dates. - + minor corrections to xterm-xf86-v333 terminfo entry -TD - > patches by Alexander Lukyanov: - + reworded dft_fgbg.3x to avoid assuming that the terminal's default - colors are white on black. - + fix initialization of tstLine so that it is filled with current blank - character in any case. Previously it was possible to have it filled - with old blank. The wrong over-optimization was introduced in 991002 - patch. (it is not very critical as the only bad effect is not using - clr_eos for clearing if blank has changed). - -20000205 - + minor corrections/updates to several terminfo entries: rxvt-basic, - vt520, vt525, ibm5151, xterm-xf86-v40 -TD - + modify ifdef's for poll() to allow it to use , thereby - allowing poll() to be used on Linux. - + add CF_FUNC_POLL macro to check if poll() is able to select from - standard input. If not we will not use it, preferring select() - (adapted from patch by Michael Pakovic ). - + update CF_SHARED_OPTS macro for SCO Unixware 7.1 to allow building - shared libraries (reported/tested by Thanh ). - + override $LANGUAGE in build to avoid incorrect ordering of keynames. - + correct CF_MATH_LIB parameter, must be sin(x), not sqrt(x). - -20000122 - + resync CF_CHECK_ERRNO and CF_LIB_PREFIX macros from tin and xterm. - + modify CF_MATH_LIB configure macro to parameterize the test function - used, for reuse in dialog and similar packages. - + correct tests for file-descriptors in OS/2 EMX mouse support. A - negative value could be used by FD_SET, causing the select() call - to wait indefinitely. - -20000115 - + additional fixes for non-bce terminals (handling of delete_character) - to work when assume_default_colors() is not specified. - + modify warning message from _nc_parse_entry() regarding extended - capability names to print only if tic/infocmp/toe have the -v flag - set, and not at all in ordinary user applications. Otherwise, this - warning would be shown for screen's extended capabilities in programs - that use the termcap interface (reported by Todd C Miller). - + modify use of _nc_tracing from programs such as tic so their debug - level is not in the same range as values set by trace() function. - + small panel header cleanup (patch by Juergen Pfeifer). - + add 'railroad' demo for termcap interface. - + modify 'tic' to write its usage message to stderr (patch by Todd C - Miller). - -20000108 - + add prototype for erase() to curses.h.in, needed to make test - programs build with c++/g++. - + add .c.i and .c.h suffix rules to generated makefiles, for debugging. - + correct install rule for tack.1; it assumed that file was in the - current directory (reported by Mike Castle ). - + modify terminfo/termcap translation to suppress acsc before trying - sgr if the entry would be too large (patch by Todd C Miller). - + document a special case of incompatiblity between ncurses 4.2 and - 5.0, add a section for this in INSTALL. - + add TRACE_DATABASE flag for trace(). - -20000101 - + update mach, add mach-color terminfo entries based on Debian diffs - for ncurses 5.0 -TD - + add entries for xterm-hp, xterm-vt220, xterm-vt52 and xterm-noapp - terminfo entries -TD - + change OTrs capabilities to rs2 in terminfo.src -TD - + add obsolete and extended capabilities to 'screen' terminfo -TD - + corrected conversion from terminfo rs2 to termcap rs (cf: 980704) - + make conversion to termcap ug (underline glitch) more consistently - applied. - + fix out-of-scope use of 'personal[]' buffer in 'toe' (this error - was in the original pre-1.9.7 version, when $HOME/.terminfo was - introduced). - + modify 'toe' to ignore terminfo directories to which it has no - permissions. - + modify read_termtype(), fixing 'toe', which could dump core when it - found an incomplete entry such as "dumb" because it did not - initialize its buffer for _nc_read_file_entry(). - + use -fPIC rather than -fpic for shared libraries on Linux, not - needed for i386 but some ports (from Debian diffs for 5.0). - + use explicit VALID_NUMERIC() checks in a few places that had been - overlooked, and add a check to ensure that init_tabs is nonzero, - to avoid divide-by-zero (reported by Todd C Miller). - + minor fix for CF_ANSI_CC_CHECK configure macro, for HPUX 10.x (from - tin). - -19991218 - + reorder tests during mouse initialization to allow for gpm to run in - xterm, or for xterm to be used under OS/2 EMX. Also drop test for - $DISPLAY in favor of kmous=\E[M or $TERM containing "xterm" (report - by Christian Weisgerber ). - + modify raw() and noraw() to clear/restore IEXTEN flag which affects - stty lnext on systems such as FreeBSD (report by Bruce Evans - , via Jason Evans ). - + fix a potential (but unlikely) buffer overflow in failed() function - of tset.c (reported by Todd C Miller). - + add manual-page for ncurses extensions, documented curses_version(), - use_extended_names(). - -19991211 - + treat as untranslatable to termcap those terminfo strings which - contain non-decimal formatting, e.g., hexadecimal or octal. - + correct commented-out capabilities that cannot be translated to - termcap, which did not check if a colon must be escaped. - + correct termcap translation for "%>" and "%+", which did not check - if a colon must be escaped, for instance. - + use save_string/save_char for _nc_captoinfo() to eliminate fixed - buffer (originally for _nc_infotocap() in 960301 -TD). - + correct expression used for terminfo equivalent of termcap %B, - adjust regent100 entry which uses this. - + some cleanup and commenting of ad hoc cases in _nc_infotocap(). - + eliminate a fixed-buffer in tic, used for translating comments. - + add manpage for infotocap - -19991204 - + add kvt and gnome terminfo entries -TD - + correct translation of "%%" by infotocap, which was emitted as "%". - + add "obsolete" termcap strings to terminfo.src - + modify infocmp to default to showing obsolete capabilities rather - than terminfo only. - + modify write_entry.c so that if extended names (i.e., configure - --enable-tcap-names) are active, then tic will also write "obsolete" - capabilities that are present in the terminfo source. - + modify tic so that when running as captoinfo or infotocap, it - initializes the output format as in -C and -I options, respectively. - + improve infocmp and tic -f option by splitting long strings that do - not have if-then-else construct, but do have parameters, e.g., the - initc for xterm-88color. - + refine MKtermsort.sh slightly by using bool for the *_from_termcap - arrays. - -19991127 - + additional fixes for non-bce terminals (handling of clear_screen, - clr_eol, clr_eos, scrolling) to work when assume_default_colors() is - not specified. - + several small changes to xterm terminfo entries -TD. - + move logic for _nc_windows in lib_freeall.c inside check for nonnull - SP, since it is part of that struct. - + remove obsolete shlib-versions, which was unintentionally re-added - in 970927. - + modify infocmp -e, -E options to ensure that generated fallback.c - type for Booleans agrees with term.h (reported by Eric Norum - ). - + correct configure script's use of $LIB_PREFIX, which did not work - for installing the c++ directory if $libdir did not end with "/lib" - (reported by Huy Le ). - + modify infocmp so -L and -f options work together. - + modify the initialization of SP->_color_table[] in start_color() so - that color_content() will return usable values for COLORS greater - than 8. - + modify ncurses 'd' test in case COLORS is greater than 16, e.g., for - xterm-88color, to limit the displayed/computed colors to 16. - > patch by Juergen Pfeifer: - + simplify coding of the panel library according to suggestions by - Philippe Blain. - + improve macro coding for a few macros in curses.priv.h - -19991113 - + modify treatment of color pair 0 so that if ncurses is configured - to support default colors, and they are not active, then ncurses - will set that explicitly, not relying on orig_colors or orig_pair. - + add new extension, assume_default_colors() to provide better control - over the use of default colors. - + modify test programs to use more-specific ifdef's for existence of - wresize(), resizeterm() and use_default_colors(). - + modify configure script to add specific ifdef's for some functions - that are included when --enable-ext-funcs is in effect, so their - existence can be ifdef'd in the test programs. - + reorder some configure options, moving those extensions that have - evolved from experimental status into a new section. - + change configure --enable-tcap-names to enable this by default. - -19991106 - + install tack's manpage (reported by Robert Weiner - ) - + correct worm.c's handling of KEY_RESIZE (patch by Frank Heckenbach). - + modify curses.h.in, undef'ing some symbols to avoid conflict with C++ - STL (reported by Matt Gerassimoff ) - -19991030 - + modify linux terminfo entry to indicate that dim does not mix with - color (reported by Klaus Weide ). - + correct several typos in terminfo entries related to missing '[' - in CSI's -TD - + fix several compiler warnings in c++ binding (reported by Tim - Mooney for alphaev56-dec-osf4.0f - + rename parameter of _nc_free_entries() to accommodate lint. - + correct lint rule for tack, used incorrect list of source files. - + add case to config.guess, config.sub for Rhapsody. - + improve configure tests for libg++ and libstdc++ by omitting the - math library (which is missing on Rhapsody), and improved test for - the math library itself (adapted from path by Nelson H. F. Beebe). - + explicitly initialize to zero several data items which were - implicitly initialized, e.g., cur_term. If not explicitly - initialized, their storage type is C (common), and causes problems - linking on Rhapsody 5.5 using gcc 2.7.2.1 (reported by Nelson H. F. - Beebe). - + modify Ada95 binding to not include the linker option for Ada - bindings in the Ada headers, but in the Makefiles instead (patch by - Juergen Pfeifer). - -19991023 5.0 release for upload to ftp.gnu.org - + effective with release of 5.0, change NCURSES_VERSION_PATCH to - 4-digit year. - + add function curses_version(), to return ncurses library version - (request by Bob van der Poel). - + remove rmam, smam from cygwin terminfo entry. - + modify FreeBSD cons25 terminfo entry to add cnorm and cvvis, as well - as update ncv to indicate that 'dim' conflicts with colors. - + modify configure script to use symbolic links for FreeBSD shared - libraries by default. - + correct ranf() function in rain and worm programs to ensure it does - not return 1.0 - + hide the cursor in hanoi.c if it is running automatically. - + amend lrtest.c to account for optimizations that exploit margin - wrapping. - + add a simple terminfo demo, dots.c - + modify SIGINT/SIGQUIT handler to set a flag used in _nc_outch() to - tell it to use write() rather than putc(), since the latter is not - safe in a signal handler according to POSIX. - + add/use internal macros _nc_flush() and NC_OUTPUT to hide details - of output-file pointer in ncurses library. - + uncomment CC_SHARED_OPTS (see 971115), since they are needed for SCO - OpenServer. - + correct CC_SHARED_OPTS for building shared libraries for SCO - OpenServer. - + remove usleep() from alternatives in napms(), since it may interact - with alarm(), causing a process to be interrupted by SIGALRM (with - advice from Bela Lubkin). - + modify terminal_interface-curses-forms.ads.m4 to build/work with - GNAT 3.10 (patch by Juergen Pfeifer). - + remove part of CF_GPP_LIBRARY configure-script macro, which did not - work with gcc 2.7.2.3 - + minor fix to test/tclock.c to avoid beeping more than once per second - + add 's' and ' ' decoding to test/rain.c - -991016 pre-release - + corrected BeOS code for lib_twait.c, making nodelay() function work. - -991009 pre-release - + correct ncurses' value for cursor-column in PutCharLR(), which was - off-by-one in one case (patch by Ilya Zakharevich). - + fix some minor errors in position_check() debugging code, found while - using this to validate the PutCharLR() patch. - + modify firework, lrtest, worm examples to be resizable, and to - recognize 'q' for quit, 's' for single-step and ' ' for resume. - + restore reverted change to terminal_interface-curses-forms.ads.m4, - add a note on building with gnat 3.10p to Ada95/TODO. - + add a copy of the standalone configure script for the test-directory - to simplify testing on SCO and Solaris. - -991002 pre-release - + minor fixes for _nc_msec_cost(), color_content(), pair_content(), - _nc_freewin(), ClrBottom() and onscreen_mvcur() (analysis by Philippe - Blain, comments by Alexander Lukyanov). - + simplify definition of PANEL and eliminate internal functions - _nc_calculate_obscure(), _nc_free_obscure() and _nc_override(), - (patch by Juergen Pfeifer, based on analysis by Philippe Blain - )). - + change renaming of dft_fgbg.3x to use_default_colors.3ncurses in - man_db.renames, since Debian is not concerned with 14-character - filename limitation (from Debian bug report by Josip Rodin - ). - + corrected scoansi terminfo entry by testing with scoterm and console. - + revert change from 990614 to terminal_interface-curses-forms.ads.m4, - since this does not work for gnat 3.10p - + modify tclock example to be resizable (if ncurses' sigwinch handler - is used), and in color. - + use $(CC) rather than 'gcc' in MK_SHARED_LIB symbols, used for Linux - shared library rules. - -990925 pre-release - + add newer NetBSD console terminfo entries - + add amiga-8bit terminfo entry (from Henning 'Faroul' Peters - ) - + remove -lcurses -ltermcap from configure script's check for the gpm - library, since they are not really necessary (a properly configured - gpm library has no dependency on any curses library), and if the - curses library is not installed, this would cause the test to fail. - + modify tic's -C option so that terminfo "use=" clauses are translated - to "tc=" clauses even when running it as captoinfo. - + modify CF_STDCPP_LIBRARY configure macro to perform its check only - for GNU C++, since that library conflicts with SGI's libC on IRIX-6.2 - + modify CF_SHARED_OPTS configure macro to support build on NetBSD with - ELF libraries (patch by Bernd Ernesti ). - + correct a problem in libpanel, where the _nc_top_panel variable was - not set properly when bottom_panel() is called to hide a panel which - is the only one on the stack (report/analysis by Michael Andres - , patch by Juergen Pfeifer). - -990918 pre-release - + add acsc string to HP 70092 terminfo entry (patch by Joerg Wunsch - ). - + add top-level uninstall.data and uninstall.man makefile rules. - + correct logic of CF_LINK_FUNCS configure script, from BeOS changes so - that hard-links work on Unix again. - + change default value of cf_cv_builtin_bool to 1 as suggested by - Jeremy Buhler, making it less likely that a conflicting declaration - of bool will be seen when compiling with C++. - -990911 pre-release - + improved configure checks for builtin.h - + minor changes to C++ binding (remove static initializations, and make - configure-test for parameter initializations) for features not - allowed by vendor's C++ compilers (reported by Martin Mokrejs, this - applies to SGI, though I found SCO has the same characteristics). - + corrected quoting of ETIP_xxx definitions which support old versions - of g++, e.g., those using -lg++ - + remove 'L' code from safe_sprintf.c, since 'long double' is not - widely portable. safe_sprintf.c is experimental, however, and - exists mainly as a fallback for systems without snprintf (reported - by Martin Mokrejs , for IRIX 6.2) - + modify definition of _nc_tinfo_fkeys in broken-linker configuration - so that it is not unnecessarily made extern (Jeffrey C Honig). - -990904 pre-release - + move definition for builtin.h in configure tests to specific check - for libg++, since qt uses the same filename incompatibly. - + correct logic of lib_termcap.c tgetstr function, which did not copy - the result to the buffer parameter. Testing shows Solaris does - update this, though of course tgetent's buffer is untouched (from - mpc.lists.freebsd.current newsgroup item by Peter Edwards - ). - + corrected beterm terminfo entry, which lists some capabilities which - are not actually provided by the BeOS Terminal. - + add special logic to replace select() calls on BeOS, whose select() - function works only for sockets. - + correct missing escape in mkterm.h.awk.in, which caused part - of the copyright noticed to be omitted (reported by Peter - Wemm ). - > several small changes to make the c++ binding and demo work on OS/2 - EMX (related to a clean reinstall of EMX): - + correct library-prefix for c++ binding; none is needed. - + add $x suffix to make_hash and make_keys so 'make distclean' works. - + correct missing $x suffix for tack, c++ demo executables. - + split CF_CXX_LIBRARY into CF_GPP_LIBRARY (for -lg++) and - CF_STDCPP_LIBRARY (for -lstdc++) - -990828 pre-release - + add cygwin terminfo entry -TD - + modify CF_PROG_EXT configure macro to set .exe extension for cygwin. - + add configure option --without-cxx-binding, modifying the existing - --without-cxx option to check only for the C++ compiler - characteristics. Whether or not the C++ binding is needed, the - configure script checks for the size/type of bool, to make ncurses - match. Otherwise C++ applications cannot use ncurses. - -990821 pre-release - + updated configure macros CF_MAKEFLAGS, CF_CHECK_ERRNO - + minor corrections to beterm terminfo entry. - + modify lib_setup.c to reject values of $TERM which have a '/' in - them. - + add ifdef's to guard against CS5, CS6, CS7, CS8 being zero, as more - than one is on BeOS. That would break a switch statement. - + add configure macro CF_LINK_FUNCS to detect and work around BeOS's - nonfunctional link(). - + improved configure macros CF_BOOL_DECL and CF_BOOL_SIZE to detect - BeOS's bool, which is declared as an unsigned char. - -990814 pre-release - + add ms-vt100 terminfo entry -TD - + minor fixes for misc/emx.src, based on testing with tack. - + minor fix for test/ncurses.c, test 'a', in case ncv is not set. - -990731 pre-release - + minor correction for 'screen' terminfo entry. - + clarify description of errret values for setupterm in manpage. - + modify tput to allow it to emit capabilities for hardcopy terminals - (patch by Goran Uddeborg ). - + modify the 'o' (panel) test in ncurses.c to show the panels in color - or at least in bold, to test Juergen's change to wrefresh(). - > patches by Juergen Pfeifer: - + Fixes a problem using wbkgdset() with panels. It has actually - nothing to with panels but is a problem in the implementation of - wrefresh(). Whenever a window changes its background attribute to - something different than newscr's background attribute, the whole - window is touched to force a copy to newscr. This is an unwanted - side-effect of wrefresh() and it is actually not necessary. A - changed background attribute affects only further outputs of - background it doesn't mean anything to the current content of the - window. So there is no need to force a copy. (reported by Frank - Heckenbach ). - + an upward compatible enhancement of the NCursesPad class in the C++ - binding. It allows one to add a "viewport" window to a pad and then - to use panning to view the pad through the viewport window. - -990724 pre-release - + suppress a call to def_prog_mode() in the SIGTSTP handler if the - signal was received while not in curses mode, e.g., endwin() was - called in preparation for spawning a shell command (reported by Frank - Heckenbach ) - + corrected/enhanced xterm-r5, xterm+sl, xterm+sl-twm terminfo entries. - + change test for xterm mouse capability: it now checks only if the - user's $DISPLAY variable is set in conjunction with the kmous - capability being present in the terminfo. Before, it checked if any - of "xterm", "rxvt" or "kterm" were substrings of the terminal name. - However, some emulators which are incompatible with xterm in other - ways do support the xterm mouse capability. - + reviewed and made minor changes in ncurses to quiet g++ warnings - about shadowed or uninitialized variables. g++ incorrectly warns - about uninitialized variables because it does not take into account - short-circuit expression evaluation. - + change ncurses 'b' test to start in color pair 0 and to show in the - right margin those attributes which are suppressed by no_color_video, - i.e., "(NCV)". - + modify ifdef's in curses.h so that __attribute__ is not redefined - when compiling with g++, but instead disabled the macros derived for - __attribute__ since g++ does not consistently recognize the same - keywords as gcc (reported by Stephan K Zitz ). - + update dependencies for term.h in ncurses/modules (reported by - Ilya Zakharevich). - -990710 pre-release - + modify the form demo in ncurses.c to illustrate how to manipulate the - field appearance, e.g, for highlighting or translating the field - contents. - + correct logic in write_entry from split-out of home_terminfo in - 980919, which prevented update of $HOME/.terminfo (reported by Philip - Spencer ). - -990703 pre-release - + modify linux terminfo description to make use of kernel 2.2.x mods - that support cursor style, e.g., to implement cvvis (patch by Frank - Heckenbach ) - + add special-case in setupterm to retain previously-saved terminal - settings in cur_term, which happens when curses and termcap calls are - mixed (from report by Bjorn Helgaas ). - + suppress initialization of key-tries in _nc_keypad() if we are only - disabling keypad mode, e.g., in endwin() called when keypad() was - not. - + modify the Ada95 makefile to ensure that always the Ada files from - the development tree are used for building and not the eventually - installed ones (patch by Juergen Pfeifer). - -990626 pre-release - + use TTY definition in tack/sysdep.c rather than struct termios - (reported by Philippe De Muyter). - + add a fallback for strstr, used in lib_mvcur.c and tack/edit.c, - not present on sysV68 (reported by Philippe De Muyter). - + correct definition in comp_hash.c to build with configure - --with-rcs-ids option. - -990619 pre-release - + modified ifdef's for sigaction and sigvec to ensure we do not try to - handle SIGTSTP if neither is available (from report by Philippe De - Muyter). - > patch by Philippe De Muyter: - + in tic.c, use `unlink' if `remove' is not available. - + use only `unsigned' as fallback value for `speed_t'. Some files used - `short' instead. - -990616 pre-release - + fix some compiler warnings in tack. - + add a check for predefined bool type in CC, based on report that - BeOS predefines a bool type. - + correct logic for infocmp -e option (i.e., the configure - --with-fallbacks option), which I'd not updated when implementing - extended names (cf: 990301). The new implementation adds a -E - option to infocmp. - > patch by Juergen Pfeifer: - + introduce the private type Curses_Bool in the Ada95 binding - implementation. This is to clearly represent the use of "bool" also - in the binding. It should have no effect on the generated code. - + improve the man page for field_buffer() to tell the people, that the - whole buffer including leading/trailing spaces is returned. This is - a common source of confusion, so it's better to document it clearly. - -990614 pre-release - > patch by Juergen Pfeifer: - + use pragma PreElaborate in several places. - + change a few System.Address uses to more specific types. - + change interface version-number to 1.0 - + regenerate Ada95 HTML files. - -990612 pre-release - + modify lib_endwin.c to avoid calling reset_shell_mode(), return ERR - if it appears that curses was never initialized, e.g., by initscr(). - For instance, this guards against setting the terminal modes to - strange values if endwin() is called after setupterm(). In the same - context, Solaris curses will dump core. - + modify logic that avoids a conflict in lib_vidattr.c between sgr0 and - equivalent values in rmso or rmul by ensuring we do not modify the - data which would be returned by the terminfo or termcap interfaces - (reported by Brad Pepers , cf: 960706). - + add a null-pointer check for SP in lib_vidattr.c to logic that checks - for magic cookies. - + improve fallback declaration of 'bool' when the --without-cxx option - is given, by using a 'char' on i386 and related hosts (from - discussion with Alexander Lukyanov). - -990605 pre-release - + include time.h in lib_napms.c if nanosleep is used (patch by - R Lindsay Todd ). - + add an "#undef bool" to curses.h, in case someone tries to define it, - e.g., perl. - + add check to tparm to guard against divide by zero (reported by Aaron - Campbell ). - -990516 pre-release - + minor fix to build tack on CLIX (mismatched const). - > patch by Juergen Pfeifer: - + change Juergen's old email address with new one in the files where it - is referenced. The Ada95 HTML pages are regenerated. - + update MANIFEST to list the tack files. - -990509 pre-release - + minor fixes to make 'tack' build/link on NeXT (reported by Francisco - A. Tomei Torres). - -990417 pre-release - + add 'tack' program (which is GPL'd), updating it to work with the - modified TERMTYPE struct and making a fix to support setaf/setab - capabilities. Note that the tack program is not part of the - ncurses libraries, but an application which can be distributed with - ncurses. The configure script will ignore the directory if it is - omitted, however. - + modify gpm mouse support so that buttons 2 and 3 are used for - select/paste only when shift key is pressed, making them available - for use by an application (patch by Klaus Weide). - + add complete list of function keys to scoansi terminfo entry - TD - -990410 pre-release - + add a simple test program cardfile.c to illustrate how to read form - fields, and showing forms within panels. - + change shared-library versioning for the Hurd to be like Linux rather - than *BSD (patch by Mark Kettenis ). - + add linux-lat terminfo entry. - + back-out _nc_access check in read_termcap.c (both incorrect and - unnecessary, except to guard against a small window where the file's - ownership may change). - -990403 pre-release - + remove conflicting _nc_free_termtype() function from test module - lib_freeall.c - + use _nc_access check in read_termcap.c for termpaths[] array (noted - by Jeremy Buhler, indicating that Alan Cox made a similar patch). - > patch by Juergen Pfeifer: - + modify menu creation to not inherit status flag from the default menu - which says that the associated marker string has been allocated and - should be freed (bug reported by Marek Paliwoda" - ) - -990327 pre-release (alpha.gnu.org:/gnu/ncurses-5.0-beta1.tar.gz) - + minor fixes to xterm-xfree86 terminfo entry - TD. - + split up an expression in configure script check for ldconfig to - workaround limitation of BSD/OS sh (reported by Jeff Haas - ). - + correct a typo in man/form_hook.3x (Todd C Miller). - -990318 pre-release - + parenthesize and undef 'index' symbol in c++ binding and demo, to - accommodate its definition on NeXT (reported by Francisco A. Tomei - Torres). - + add sigismember() to base/sigaction.c compatibility to link on NeXT - (reported by Francisco A. Tomei Torres). - + further refinements to inequality in hashmap.c to cover a case with - ^U in nvi (patch by Alexander Lukyanov). - -990316 pre-release - + add fallback definition for getcwd, to link on NeXT. - + add a copy of cur_term to tic.c to make it link properly on NeXT - (reported by Francisco A. Tomei Torres). - + change inequality in hashmap.c which checks the distance traveled by - a chunk so that ^D command in nvi (scrolls 1/2 screen) will use - scrolling logic (patch by Alexander Lukyanov, reported by Jeffrey - C Honig). - -990314 pre-release - + modify lib_color.c to handle a special case where the curscr - attributes have been made obsolete (patch by Alexander Lukyanov). - + update BSD/OS console terminfo entries to use klone+sgr and - klone+color (patch by Jeffrey C Honig). - + update glibc addon configure script for extended capabilities. - + correct a couple of warnings in the --enable-const configuration. - + make comp_hash build properly with _nc_strdup(), on NeXT (reported by - Francisco A. Tomei Torres ). - -990313 pre-release - + correct typos in linux-c initc string - TD - + add 'crt' terminfo entry, update xterm-xfree86 entry - TD - + remove a spurious argument to tparm() in lib_sklrefr.c (patch by - Alexander Lukyanov). - -990307 pre-release - + back-out change to wgetch because it causes a problem with ^Z - handling in lynx (reported by Kim DeVaughn). - -990306 pre-release - + add -G option to tic and infocmp, to reverse the -g option. - + recode functions in name_match.c to avoid use of strncpy, which - caused a 4-fold slowdown in tic (cf: 980530). - + correct a few warnings about sign-extension in recent changes. - > patch by Juergen Pfeifer: - + fixes suggested by Jeff Bradbury : - + improved parameter checking in new_fieldtype(). - + fixed a typo in wgetch() timeout handling. - + allow slk_init() to be called per newterm call. The internal SLK - state is stored in the SCREEN struct after every newterm() and then - reset for the next newterm. - + fix the problem that a slk_refresh() refreshes stdscr if the - terminal has true SLKs. - + update HTML documentation for Ada binding. - -990301 pre-release - + remove 'bool' casts from definitions of TRUE/FALSE so that statements - such as "#if TRUE" work. This was originally done to allow for a C++ - compiler which would warn of implicit conversions between enum and - int, but is not needed for g++ (reported by Kim DeVaughn). - + add use_extended_names() function to allow applications to suppress - read of the extended capabilities. - + add configure option --enable-tcap-names to support logic which - allows ncurses' tic to define new (i.e., extended) terminal - capabilities. This is activated by the tic -x switch. The infocmp - program automatically shows or compares extended capabilities. - Note: This changes the Strings and similar arrays in the TERMTYPE - struct so that applications which manipulate it must be recompiled. - + use macros typeMalloc, typeCalloc and typeRealloc consistently - throughout ncurses library. - + add _nc_strdup() to doalloc.c. - + modify define_key() to allow multiple strings to be bound to the - same keycode. - + correct logic error in _nc_remove_string, from 990220. - > patch by Juergen Pfeifer, for Ada95 binding: - + regenerate some of the html documentation - + minor cleanup in terminal_interface-curses.adb - -990220 pre-release - + resolve ambiguity of kend/kll/kslt and khome/kfnd/kich1 strings in - xterm and ncsa terminfo entries by removing the unneeded ones. Note - that some entries will return kend & khome versus kslt and kfnd, for - PC-style keyboards versus strict vt220 compatiblity - TD - + add function keybound(), which returns the definition associated with - a given keycode. - + modify define_key() to undefine the given string when no keycode is - given. - + modify keyok() so it works properly if there is more than one string - defined for a keycode. - + add check to tic to warn about terminfo descriptions that contain - more than one key assigned to the same string. This is shown only if - the verbose (-v) option is given. Moved related logic (tic -v) from - comp_parse.c into the tic program. - + add/use _nc_trace_tries() to show the function keys that will be - recognized. - + rename init_acs to _nc_init_acs (request by Alexander Lukyanov). - > patch by Juergen Pfeifer, for Ada95 binding: - + remove all the *_adabind.c from ncurses, menu and form projects. - Those little helper routines have all been implemented in Ada and are - no longer required. - + The option handling routines in menu and form have been made more - save. They now make sure that the unused bits in options are always - zero. - + modify configuration scripts to - + use gnatmake as default compiler name. This is a safer choice than - gcc, because some GNAT implementations use other names for the - compilerdriver to avoid conflicts. - + use new default installation locations for the Ada files according - to the proposed GNU Ada filesystem standard (for Linux). - + simplify the Makefiles for the Ada binding - + rename ada_include directory to src. - -990213 - + enable sigwinch handler by default. - + disable logic that allows setbuf to be turned off/on, because some - implementations will overrun the buffer after it has been disabled - once. - -990206 - + suppress sc/rc capabilities from terminal description if they appear - in smcup/rmcup. This affects only scrolling optimization, to fix a - problem reported by several people with xterm's alternate screen, - though the problem is more general. - > patch by Juergen Pfeifer, for Ada95 binding: - + removed all pragma Preelaborate() stuff, because the just released - gnat-3.11p complains on some constructs. - + fixed some upper/lower case notations because gnat-3.11p found - inconsistent use. - + used a new method to generate the HTML documentation of the Ada95 - binding. This invalidates nearly the whole ./Ada95/html subtree. - Nearly all current files in this subtree are removed - -990130 - + cache last result from _nc_baudrate, for performance (suggested by - Alexander Lukyanov). - + modify ClrUpdate() function to workaround a problem in nvi, which - uses redrawwin in SIGTSTP handling. Jeffrey C Honig reported that - ncurses repainted the screen with nulls before resuming normal - operation (patch by Alexander Lukyanov). - + generalize is_xterm() function a little by letting xterm/rxvt/kterm - be any substring rather than the prefix. - + modify lib_data.c to initialize SP. Some linkers, e.g., IBM's, will - not link a module if the only symbols exported from the module are - uninitialized ones (patch by Ilya Zakharevich, who says that he has - seen messages claiming this behaviour conforms to the standard.) - + move call on _nc_signal_handler past _nc_initscr, to avoid a small - window where Nttyb hasn't yet been filled (reported by Klaus Weide). - + modify lib_tstp.c to block SIGTTOU when handling SIGTSTP, fixes a - problem where ncurses applications which were run via a shell script - would hang when given a ^Z. Also, check if the terminal's process - group is consistent, i.e., a shell has not taken ownership of it, - before deciding to save the current terminal settings in the SIGTSTP - handler (patch by Klaus Weide). - + correct spelling of ACS_ names in curs_border.3x (reported by Bob van - der Poel ). - + correct a couple of typos in the macros supporting the configure - --with-shlib-version option. - -990123 - + modify fty_regex.c to compile on HAVE_REGEXPR_H_FUNCS machine (patch - by Kimio Ishii ). - + rename BSDI console terminfo entries: bsdos to bsdos-pc-nobold, and - bsdos-bold to bsdos-pc (patch by Jeffrey C Honig). - + modify tput to accept termcap names as an alternative to terminfo - names (patch by Jeffrey C Honig). - + correct a typo in term.7 (Todd C Miller). - + add configure --with-shlib-version option to allow installing shared - libraries named according to release or ABI versions. This - parameterizes some existing logic in the configure script, and is - intended for compatiblity upgrades on Digital Unix, which used - versioned libraries in ncurses 4.2, but no longer does (cf: 980425). - + resync configure script against autoconf 2.13 + patches - + minor improvements for teraterm terminfo entry based on the program's - source distribution. - -990116 - + change default for configure --enable-big-core to assume machines do - have enough memory to resolve terminfo.src in-memory. - + correct name of ncurses library in TEST_ARGS when configuring with - debug library. - + minor fixes to compile ncurses library with broken-linker with g++. - + add --enable-broken-linker configure option, default to environment - variable $BROKEN_LINKER (request by Jeffrey C Honig). - + change key_names[] array to static since it is not part of the curses - interface (reported by Jeffrey C Honig ). - -990110 - + add Tera Term terminfo entry - TD - -990109 - + reviewed/corrected macros in curses.h as per XSI document. - + provide support for termcap PC variable by copying it from terminfo - data and using it as the padding character in tputs (reported by - Alexander Lukyanov). - + corrected iris-ansi and iris-ansi-ap terminfo entries for kent and - kf9-kf12 capabilities, as well as adding kcbt. - + document the mouse handling mechanism in menu_driver and make a small - change in menu_driver's return codes to provide more consistency - (patch by Juergen Pfeifer). - + add fallback definition for NCURSES_CONST to termcap.h.in (reported - by Uchiyama Yasushi ). - + move lib_restart.c to ncurses/base, since it uses curses functions - directly, and therefore cannot be used in libtinfo.so - + rename micro_char_size to micro_col_size, adding #define to retain - old name. - + add set_a_attributes and set_pglen_inch to terminfo structure, as per - XSI and Solaris 2.5. - + minor makefile files to build ncurses test_progs - + update html files in misc directory to reflect changes since 4.2 - -990102 - + disable scroll hints when hashmap is enabled (patch by Alexander - Lukyanov). - + move logic for tic's verify of -e option versus -I and -C so that the - terminfo data is not processed if we cannot handle -e (reported by - Steven Schwartz . - + add test-driver traces to terminfo and termcap functions. - + provide support for termcap ospeed variable by copying it from the - internal cur_term member, and using ospeed as the baudrate reference - for the delay_output and tputs functions. If an application does not - set ospeed, the library behaves as before, except that _nc_timed_wait - is no longer used, or needed, since ospeed always has a value. But - the application can modify ospeed to adjust the output of padding - characters (from a bug report for screen 3.7.6 and email from Michael - Schroeder ). - + removed some unused ifdef's as part of Alexander's restructuring. - + reviewed/updated curses.h, term.h against X/Open Curses Issue 4 - Version 2. This includes making some parameters NCURSES_CONST - rather than const, e.g., in termcap.h. - + change linux terminfo entry to use ncv#2, since underline does not - work with color - -981226 - + miscellaneous corrections for curses.h to match XSI. - + change --enable-no-padding configure option to be normally enabled. - + add section to ncurses manpage for environment variables. - + investigated Debian bug report that pertains to screen 3.7.4/3.7.6 - changes, found no sign of problems on Linux (or on SunOS, Solaris) - running screen built with ncurses. - + check if tmp_fp is opened in tic.c before closing it (patch by Pavel - Roskin ). - + correct several font specification typos in man-pages. - -981220 - + correct default value for BUILD_CC (reported by Larry Virden). - -981219 - + modify _nc_set_writedir() to set a flag in _nc_tic_dir() to prevent - it from changing the terminfo directory after chdir'ing to it. - Otherwise, a relative path in $TERMINFO would confuse tic (from a - Debian bug report). - + correct/update ncsa terminfo entry (report by Larry Virden). - + update xterm-xfree86 terminfo to current (patch 90), smcur/rmcur - changes - + add Mathew Vernon's mach console entries to terminfo.src - + more changes, moving functions, as part of Alexander's restructuring. - + modify configure script for GNU/Hurd share-library support, introduce - BUILD_CC variable for cross compiling (patch by Uchiyama Yasushi - ) - -981212 - + add environment variable NCURSES_NO_SETBUF to allow disabling the - setbuf feature, for testing purposes. - + correct ifdef's for termcap.h versus term.h that suppress redundant - declarations of prototypes (reported by H.J.Lu). - + modify Makefile.os2 to add linker flags which allow multiple copies - of an application to coexist (reported by Ilya Zakharevich). - + update Makefile.glibc and associated configure script so that ncurses - builds as a glibc add-on with the new directory configuration - (reported by H.J.Lu). - -981205 - + modify gen_reps() function in gen.c to work properly on SunOS - (sparc), which is a left-to-right architecture. - + modify relative_move and tputs to avoid an interaction with the - BSD-style padding. The relative_move function could produce a string - to replace on the screen which began with a numeric character, which - was then interpreted by tputs as padding. Now relative_move will not - generate a string with a leading digit in that case (overwrite). - Also, tputs will only interpret padding if the string begins with a - digit; as coded it permitted a string to begin with a decimal point - or asterisk (reported by Larry Virden). - > patches by Juergen Pfeifer: - + fix a typo in m_driver.c mouse handling and improves the error - handling. - + fix broken mouse handling in the Ada95 binding - + make the Ada95 sample application menus work with the new menu mouse - support - + improve the mouse handling introduced by Ilya; it now handles menus - with spacing. - + repair a minor bug in the menu_driver code discovered during this - rework. - + add new function wmouse_trafo() to hide implementation details of - _yoffset member of WINDOW struct needed for mouse coordinate - transformation. - -981128 - + modify Ada95/gen/gen.c to avoid using return-value of sprintf, since - some older implementations (e.g., SunOS 4.x) return the buffer - address rather than its length. - > patch by Rick Ohnemus: - + modify demo.cc to get it to compile with newer versions of egcs. - + trim a space that appears at the end of the table preprocessor lines - ('\" t). This space prevents some versions of man from displaying - the pages - changed to remove all trailing whitespace (TD) - + finally, 'make clean' does not remove panel objects. - > patches by Ilya Zakharevich: - + allow remapping of OS/2 mouse buttons using environment variable - MOUSE_BUTTONS_123 with the default value 132. - + add mouse support to ncurses menus. - -981121 - + modify misc/makedef.cmd to report old-style .def file symbols, and to - generate the .def files sorted by increasing names rather than the - reverse. - + add misc/*.ref which are J.J.G.Ripoll's dll definition files (renamed - from misc/*.old), and updated based on the entrypoint coding he used - for an older version of ncurses. - + add README.emx, to document how to build on OS/2 EMX. - + updates for config.guess, config.sub from Lynx - > patches by Ilya Zakharevich: - + minor fixes for mouse handling mode: - a) Do not initialize mouse if the request is to have no mouse; - b) Allow switching of OS/2 VIO mouse on and off. - + modify Makefile.os2 to support alternative means of generating - configure script, by translating Unix script with Perl. - > patches by Juergen Pfeifer: - + Updates MANIFEST to reflect changes in source structure - + Eliminates a problem introduced with my last patch for the C++ - binding in the panels code. It removes the update() call done in the - panel destructor. - + Changes in the Ada95 binding to better support systems where - sizeof(chtype)!=sizeof(int) (e.g. DEC Alpha). - -981114 - + modify install-script for manpages to skip over .orig and .rej files - (request by Larry Virden). - > patches/discussion by Alexander Lukyanov: - + move base-library sources into ncurses/base and tty (serial terminal) - sources into ncurses/tty, as part of Alexander Lukyanov's proposed - changes to ncurses library. - + copy _tracemouse() into ncurses.c so that lib_tracemse.c need not - be linked into the normal ncurses library. - + move macro winch to a function, to hide details of struct ldat - > patches by Juergen Pfeifer: - + fix a potential compile problem in cursesw.cc - + some Ada95 cosmetics - + fix a gen.c problem when compiling on 64-Bit machines - + fix Ada95/gen/Makefile.in "-L" linker switch - + modify Ada95 makefiles to use the INSTALL_PREFIX setting. - -981107 - + ifdef'd out lib_freeall.c when not configured. - + rename _tracebits() to _nc_tracebits(). - + move terminfo-library sources into ncurses/tinfo, and trace-support - functions into ncurses/trace as part of Alexander Lukyanov's proposed - changes to ncurses library. - + modify generated term.h to always specify its own definitions for - HAVE_TERMIOS_H, etc., to guard against inclusion by programs with - broken configure scripts. - -981031 - + modify terminfo parsing to accept octal and hexadecimal constants, - like Solaris. - + remove an autoconf 2.10 artifact from the configure script's check - for "-g" compiler options. (Though harmless, this confused someone - at Debian, who recently issued a patch that results in the opposite - effect). - + add configure option --with-ada-compiler to accommodate installations - that do not use gcc as the driver for GNAT (patch by Juergen - Pfeifer). - -981017 - + ensure ./man exists in configure script, needed when configuring - with --srcdir option. - + modify infocmp "-r" option to remove limit on formatted termcap - output, which makes it more like Solaris' version. - + modify captoinfo to treat no-argument case more like Solaris' - version, which uses the contents of $TERMCAP as the entry to format. - + modify mk-2nd.awk to handle subdirectories, e.g., ncurses/tty - (patch by Alexander V Lukyanov). - -981010 - + modify --with-terminfo-dirs option so that the default value is the - ${datadir} value, unless $TERMINFO_DIRS is already set. This gets - rid of a hardcoded list of candidate directories in the configure - script. - + add some error-checking to _nc_read_file_entry() to ensure that - strings are properly terminated (Todd C Miller). - + rename manpage file curs_scr_dmp.3x to curs_scr_dump.3x, to - correspond with contents (reported by Neil Zanella - ). - + remove redundant configure check for C++ which did not work when $CXX - was specified with a full pathname (reported by Andreas Jaeger). - + corrected bcopy/memmove check; the macro was not standalone. - -981003 - + remove unnecessary portion of OS/2 EMX mouse change from - check_pending() (reported by Alexander V Lukyanov). - -980926 - + implement mouse support for OS/2 EMX (adapted from patch against - 4.2(?) by Ilya Zakharevich). - + add configure-check for bcopy/memmove, for 980919 changes to hashmap. - + merge Data General terminfo from Hasufin - TD - + merge AIX 3.2.5 terminfo descriptions for IBM terminals, replaces - some older entries - TD - + modify tic to compile into %'char' form in preference to %{number}, - since that is a little more efficient. - + minor correction to infocmp to avoid displaying "difference" between - two capabilities that are rendered in equivalent forms. - + add -g option to tic/infocmp to force character constants to be - displayed in quoted form. Otherwise their decimal values are shown. - + modify setupterm so that cancelled strings are treated the same as - absent strings, cancelled and absent booleans false (does not affect - tic, infocmp). - + modify tic, infocmp to discard redundant i3, r3 strings when output - to termcap format. - > patch by Alexander V Lukyanov: - + improve performance of tparm, now it takes 19% instead of 25% when - profiling worm. - + rename maxlen/minlen to prec/width for better readability. - + use format string for printing strings. - + use len argument correctly in save_text, and pass it to save_number. - -980919 - + make test_progs compile (but hashmap does not function). - + correct NC_BUFFERED macro, used in lib_mvcur test-driver, modify - associated logic to avoid freeing the SP->_setbuf data. - + add modules home_terminfo and getenv_num to libtinfo. - + move write_entry to libtinfo, to work with termcap caching. - + minor fixes to blue.c to build with atac. - + remove softscroll.c module; no longer needed for testing. - > patches by Todd C Miller: - + use strtol(3) instead of atoi(3) when parsing env variables so we can - detect a bogus (non-numeric) value. - + check for terminal names > MAX_NAME_SIZE in a few more places when - dealing with env variables again. - + fix a MAX_NAME_SIZE that should be MAX_NAME_SIZE+1 - + use sizeof instead of strlen(3) on PRIVATE_INFO since it is a fixed - string #define (compile time vs runtime). - + when setting errno to ENOMEM, set it right before the return, not - before code that could, possibly, set errno to a different value. - > patches by Alexander V Lukyanov: - + use default background in update_cost_from_blank() - + disable scroll-hints when hashmap is configured. - + improve integration of hashmap scrolling code, by adding oldhash and - newhash data to SP struct. - + invoke del_curterm from delscreen. - + modify del_curterm to set cur_term to null if it matches the - function's parameter which is deleted. - + modify lib_doupdate to prefer parm_ich to the enter_insert_mode and - exit_insert_mode combination, adjusting InsCharCost to check - enter_insert_mode, exit_insert_mode and insert_padding. Add - insert_padding in insert mode after each char. This adds new costs - to the SP struct. - -980912 - + modify test-driver in lib_mvcur.s to use _nc_setbuffer, for - consistent treatment. - + modify ncurses to restore output to unbuffered on endwin, and resume - buffering in refresh (see lib_set_term.c and NC_BUFFERED macro). - + corrected HTML version numbers (according to the W3C validator, they - never were HTML 2.0-compliant, but are acceptable 3.0). - -980905 - + modify MKterminfo.sh to generate terminfo.5 with tables sorted by - capability name, as in SVr4. - + modified term.h, termcap.h headers to avoid redundant declarations. - + change 'u_int' type in tset.c to unsigned, making this compile on - Sequent PRX 4.1 (reported by Michael Sterrett ). - -980829 - + corrections to mailing addresses, and moving the magic line that - causes the man program to invoke tbl to the first line of each - manpage (patch by Rick Ohnemus ). - + add Makefile.os2 and supporting scripts to generate dll's on OS/2 EMX - (from J.J.G.Ripoll, with further integration by TD). - + correct a typo in icl6404 terminfo entry. - + add xtermm and xtermc terminfo entries. - > from esr's terminfo version: - + Added Francesco Potorti's tuned Wyse 99 entries. - + dtterm enacs correction from Alexander V Lukyanov. - + Add ncsa-ns, ncsa-m-ns and ncsa-m entries from esr version. - -980822 - + document AT&T acs characters in terminfo.5 manpage. - + use EMX _scrsize() function if terminfo and environment do not - declare the screen size (reported by Ilya Zakharevich - ). - + remove spurious '\' characters from eterm and osborne terminfo - entries (prompted by an old Debian bug report). - + correct reversed malloc/realloc calls in _nc_doalloc (reported by - Hans-Joachim Widmaier ). - + correct misplaced parenthesis which caused file-descriptor from - opening termcap to be lost, from 980725 changes (reported by Andreas - Jaeger). - -980815 - + modify lib_setup.c to eliminate unneeded include of - when termios is not used (patch by Todd C Miller). - + add function _nc_doalloc, to ensure that failed realloc calls do not - leak memory (reported by Todd C Miller). - + improved ncsa-telnet terminfo entry. - -980809 - + correct missing braces around a trace statement in read_entry.c, - from 980808 (reported by Kim DeVaughn and Liviu - Daia). - -980808 - + fix missing include in ditto.c (reported by Bernhard - Rosenkraenzer ) - + add NCSA telnet terminfo entries from Francesco Potorti - , from Debian bug reports. - + make handling of $LINES and $COLUMNS variables more compatible with - Solaris by allowing them to individually override the window size - as obtained via ioctl. - -980801 - + modify lib_vidattr.c to allow for terminal types (e.g., xterm-color) - which may reset all attributes in the 'op' capability, so that colors - are set before turning on bold and other attributes, but still after - turning attributes off. - + add 'ditto.c' to test directory to illustrate use of newterm for - initializing multiple screens. - + modify _nc_write_entry() to recover from failed attempt to link alias - for a terminfo on a filesystem which does not preserve character case - (reported by Peter L Jordan ). - -980725 - + updated versions of config.guess and config.sub based on automake 1.3 - + change name-comparisons in lib_termcap to compare no more than 2 - characters (gleaned from Debian distribution of 1.9.9g-8.8, verified - with Solaris curses). - + fix typo in curs_insstr.3x (patch by Todd C Miller) - + use 'access()' to check if ncurses library should be permitted to - open or modify files with fopen/open/link/unlink/remove calls, in - case the calling application is running in setuid mode (request by - Cristian Gafton , responding to Duncan Simpson - ). - + arm100 terminfo entries from Dave Millen ). - + qnxt2 and minitel terminfo entries from esr's version. - -980718 - + use -R option with ldconfig on FreeBSD because otherwise it resets - the search path to /usr/lib (reported by Dan Nelson). - + add -soname option when building shared libraries on OpenBSD 2.x - (request by QingLong). - + add configure options --with-manpage-format and - --with-manpage-renames (request by QingLong). - + correct conversion of CANCELLED_NUMERIC in write_object(), which was - omitting the high-order byte, producing a 254 in the compiled - terminfo. - + modify return-values of tgetflag, tgetnum, tgetstr, tigetflag, - tigetnum and tigetstr to be compatible with Solaris (gleaned from - Debian distribution of 1.9.9g-8.8). - + modify _nc_syserr_abort to abort only when compiled for debugging, - otherwise simply exit with an error. - -980711 - + modify Ada95 'gen' program to use appropriate library suffix (e.g., - "_g" for a debug build). - + update Ada95 'make clean' rule to include generics .ali files - + add a configure test to ensure that if GNAT is found, that it can - compile/link working Ada95 program. - + flush output in beep and flash functions, fixing a problem with - getstr (patch by Alexander V Lukyanov) - + fix egcs 1.0.2 warning for etip.h (patch by Chris Johns). - + correct ifdef/brace nesting in lib_sprintf.c (patch by Bernhard - Rosenkraenzer ). - + correct typo in wattr_get macro from 980509 fixes (patch by Dan - Nelson). - -980704 - + merge changes from current XFree86 xterm terminfo descriptions. - + add configure option '--without-ada'. - + add a smart-default for termcap 'ac' to terminfo 'acs_chars' which - corresponds to vt100. - + change translation for termcap 'rs' to terminfo 'rs2', which is - the documented equivalent, rather than 'rs1'. - -980627 - + slow 'worm' down a little, for very fast machines. - + corrected firstchar/lastchar computation in lib_hline.c - + simplify some expressions with CHANGED_CELL, CHANGED_RANGE and - CHANGED_TO_EOL macros. - + modify init_pair so that if a color-pair is reinitialized, we will - repaint the areas of the screen whose color changes, like SVr4 curses - (reported by Christian Maurer ). - + modify getsyx/setsyx macros to comply with SVr4 man-page which - says that leaveok() affects their behavior (report by Darryl Miles, - patch by Alexander V Lukyanov). - -980620 - + review terminfo.5 against Solaris 2.6 curses version, corrected - several minor errors/omissions. - + implement tparm %l format. - + implement tparm printf-style width and precision for %s, %d, %x, %o - as per XSI. - + implement tparm dynamic variables (reported by Xiaodan Tang). - -980613 - + update man-page for for wattr_set, wattr_get (cf: 980509) - + correct limits in hashtest, which would cause nonprinting characters - to be written to large screens. - + correct configure script, when --without-cxx was specified: the - wrong variable was used for cf_cv_type_of_bool. Compilers up to gcc - 2.8 tolerated the missing 'int'. - + remove the hardcoded name "gcc" for the GNU Ada compiler. The - compiler's name might be something like "egcs" (patch by Juergen - Pfeifer). - + correct curs_addch.3x, which implied that echochar could directly - display control characters (patch by Alexander V Lukyanov). - + fix typos in ncurses-intro.html (patch by Sidik Isani - ) - -980606 - + add configure test for conflicting use of exception in math.h and - other headers. - + minor optimization to 'hash()' function in hashmap.c, reduces its - time by 10%. - + correct form of LD_SHARED_OPTS for HP-UX 10.x (patch by Tim Mooney). - + fix missing quotes for 'print' in MKunctrl.awk script (reported by - Mihai Budiu ). - > patch by Alexander V Lukyanov: - + correct problem on Solaris (with poll() function) where getch could - hang indefinitely even if timeout(x) was called. This turned out to - be because milliseconds was not updated before 'goto retry' in - _nc_timed_wait. - + simplified the function _nc_timed_wait and fixed another bug, which - was the assumption of !GOOD_SELECT && HAVE_GETTIMEOFDAY in *timeleft - assignment. - + removed the cycle on EINTR, as it seems to be useless. - -980530 - + add makefile-rule for test/keynames - + modify run_tic.sh and shlib to ensure that user's .profile does not - override the $PATH used to run tic (patch by Tim Mooney). - + restore LD_SHARED_OPTS to $(LD_SHARED_FLAGS) when linking programs, - needed for HP-UX shared-library path (recommended by Tim Mooney). - + remove special case of HP-UX -L options, use +b options to embed - $(libdir) in the shared libraries (recommended by Tim Mooney). - + add checks for some possible buffer overflows and unchecked - malloc/realloc/calloc/strdup return values (patch by Todd C Miller - ) - -980523 - + correct maxx/maxy expression for num_columns/num_lines in derwin - (patch by Alexander V Lukyanov). - + add /usr/share/lib/terminfo and /usr/lib/terminfo as compatibilty - fallbacks to _nc_read_entry(), along with --with-terminfo-dirs - configure option (suggested by Mike Hopkirk). - + modify config.guess to recognize Unixware 2.1 and 7 (patch by Mike - Hopkirk ). - + suppress definition of CC_SHARED_OPTS in LDFLAGS_SHARED in c++ - Makefile.in, since this conflicts when g++ is used with HP-UX - compiler (reported by Tim Mooney). - + parenthesize 'strcpy' calls in c++ binding to workaround redefinition - in some C++ implementations (reported by several people running - egcs with glibc 2.0.93, analysis by Andreas Jaeger. - -980516 - + modify write_entry.c so that it will not attempt to link aliases - with embedded '/', but give only a warning. - + put -L$(libdir) first when linking programs, except for HP-UX. - + modify comp_scan.c to handle SVr4 terminfo description for att477, - which contains a colon in the description field. - + modify configure script to support SCO osr5.0.5 shared libraries - (from comp.unix.sco.programmer newsgroup item by Mike Hopkirk - ). - + eliminate extra GoTo call in lib_doupdate.c (patch by Alexander V. - Lukyanov). - + minor adjustments of const/NCURSES_CONST from IRIX compile. - + add updates based on esr's 980509 version of terminfo.src. - -980509 - + correct macros for wattr_set, wattr_get, separate wattrset macro from - these to preserve behavior that allows attributes to be combined with - color pair numbers. - + add configure option --enable-no-padding, to allow environment - variable $NCURSES_NO_PADDING to eliminate non-mandatory padding, - thereby making terminal emulators (e.g., for vt100) a little more - efficient (request by Daniel Eisenbud ). - + modify configure script to embed ABI in shared libraries for HP-UX - 10.x (detailed request by Tim Mooney). - + add test/example of the 'filter()' function. - + add nxterm and xterm-color terminfo description (request by Cristian - Gafton ). - + modify rxvt terminfo description to clear alternate screen before - switching back to normal screen, for compatibility with applications - which use xterm (reported by Manoj Kasichainula ). - + modify linux terminfo description to reset color palette (reported - by Telford Tendys ). - + correction to doupdate, for case where terminal does not support - insert/delete character. The logic did not check that there was a - difference in alignment of changes to old/new screens before - repainting the whole non-blank portion of the line. Modified to fall - through into logic that reduces by the portion which does not differ - (reported by Daniel Eisenbud ). - + minor performance improvement to wnoutrefresh by moving some - comparisons out of inner loop. - -980425 - + modify configure script to substitute NCURSES_CONST in curses.h - + updated terminfo entries for xterm-xf86-v40, xterm-16color, - xterm-8bit to correspond to XFree86 3.9Ag. - + remove restriction that forces ncurses to use setaf/setab if the - number of colors is greater than 8. (see 970524 for xterm-16color). - + change order of -L options (so that $(libdir) is searched first) when - linking tic and other programs, to workaround HP's linker. - Otherwise, the -L../lib is embedded when linking against shared - libraries and the installed program does not run (reported by Ralf - Hildebrandt). - + modify configuration of shared libraries on Digital Unix so that - versioning is embedded in the library, rather than implied by - links (patch by Tim Mooney). - -980418 - + modify etip.h to avoid conflict with math.h on HP-UX 9.03 with gcc - 2.8.1 which redefines 'exception' (reported by Ralf Hildebrandt - ). - + correct configure tests in CF_SHARED_OPTS which used $CC value to - check for gcc, rather than autoconf's $GCC value. This did not - work properly if the full pathname of the compiler were given - (reported by Michael Yount ). - + revise check for compiler options to force ANSI mode since repeating - an option such as -Aa causes HP's compiler to fail on its own headers - (reported by Clint Olsen ). - -980411 - + ifdef'd has_key() and mcprint() as extended functions. - + modified several prototypes to correspond with 1997 version of - X/Open Curses (affects ABI since developers have used attr_get). - + remove spurious trailing blanks in glibc addon-scripts (patch by - H.J.Lu). - + insert a few braces at locations where gcc-2.8.x asks to use them to - avoid ambigous else's, use -fpic rather than -fPIC for Linux (patch - by Juergen Pfeifer). - -980404 - + split SHLIB_LIST into SHLIB_DIRS/SHLIB_LIST to keep -L options - before -l to accommodate Solaris' linker (reported by Larry Virden). - -980328 - + modify lib_color.c to eliminate dependency on orig_colors and - orig_pair, since SVr4 curses does not require these either, but - uses them when they are available. - + add detailed usage-message to infocmp. - + correct a typo in att6386 entry (a "%?" which was "?"). - + add -f option to infocmp and tic, which formats the terminfo - if/then/else/endif so that they are readable (with newlines and - tabs). - + fixes for glibc addon scripts (patch by H.J.Lu). - -980321 - + revise configure macro CF_SPEED_TYPE so that termcap.h has speed_t - declared (from Adam J. Richter ) - + remove spurious curs_set() call from leaveok() (J.T.Conklin). - + corrected handling leaveok() in doupdate() (patch by Alexander V. - Lukyanov). - + improved version of wredrawln (patch by Alexander V. Lukyanov). - + correct c++/Makefile.in so install target do not have embedded ../lib - to confuse it (patch by Thomas Graf ). - + add warning to preinstall rule which checks if the installer would - overwrite a curses.h or termcap.h that is not derived from ncurses. - (The recommended configuration for developers who need both is to - use --disable-overwrite). - + modify preinstall rule in top-level Makefile to avoid implicit - use of 'sh', to accommodate Ultrix 4.4 (reported by Joao Palhoto - Matos , patch by Thomas Esser - ) - + refine ifdef's for TRACE so that libncurses has fewer dependencies - on libtinfo when TRACE is disabled. - + modify configure script so that if the --with-termlib option is used - to generate a separate terminfo library, we chain it to the ncurses - library with a "-l" option (reported by Darryl Miles and Ian T. - Zimmerman). - -980314 - + correct limits and window in wredrawln function (reported/analysis by - Alexander V. Lukyanov). - + correct sed expression in configure script for --with-fallback - option (patch by Jesse Thilo). - + correct some places in configure script where $enableval was used - rather than $withval (patch by Darryl Miles ). - + modify some man-pages so no '.' or '..' falls between TH and SH - macros, to accommodate man_db program (reported by Ian T. Zimmerman - ). - + terminfo.src 10.2.1 from Eric's webpage. - > several changes by Juergen Pfeifer: - + add copyright notices (and rcs id's) on remaining man-pages. - + corrected prototypes for slk_* functions, using chtype rather than - attr_t. - + implemented the wcolor_set() and slk_color() functions - + the slk_attr_{set,off,on} functions need an additional void* - parameter according to XSI. - + fix the C++ and Ada95 binding as well as the man pages to - reflect above enhancements. - -980307 - + use 'stat()' rather than 'access()' in toe.c to check for the - existence of $HOME/.terminfo, since it may be a file. - + suppress configure CF_CXX_LIBRARY check if we are not using g++ - 2.7.x, since this is not needed with g++ 2.8 or egcs (patch by - Juergen Pfeifer). - + turn on hashmap scrolling code by default, intend to remedy defects - by 4.3 release. - + minor corrections to terminfo.src changelog. - -980302 4.2 release for upload to prep.ai.mit.edu - + correct Florian's email address in ncurses-intro.html - + terminfo.src 10.2.0 from Eric. - -980228 pre-release - + add linux-koi8r replace linux-koi8, which is not KOI8 (patch by - QingLong ). - + minor documentation fixes (patch by Juergen Pfeifer). - + add setlocale() call to ncurses.c (reported by Claes G. Lindblad - ). - + correct sign-extension in lib_insstr.c (reported by Sotiris - Vassilopoulos ) - -980221 pre-release - + regenerated some documentation overlooked in 980214 patch - (ncurses-intro.doc, curs_outopts.3x.html) - + minor ifdef change to C++ binding to work with gcc 2.8.0 (patch by - Juergen Pfeifer). - + change maintainer's mailing address to florian@gnu.org, change - tentative mailing list address to bug-ncurses-request@gnu.org (patch - by Florian La Roche). - + add definition of $(REL_VERSION) to c++/Makefile.in (reported by Gran - Hasse ). - + restore version numbers to Ada95 binding, accidentally deleted by - copyright patch (patch by Juergen Pfeifer). - -980214 pre-release - + remove ncurses.lsm from MANIFEST so that it won't be used in FSF - distributions, though it is retained in development. - + correct scaling of milliseconds to nanoseconds in lib_napms.c (patch - by Jeremy Buhler). - + update mailing-list information (bug-ncurses@gnu.org). - + update announcement for upcoming 4.2 release. - + modify -lm test to check for 'sin()' rather than 'floor()' - + remove spurious commas from terminfo.src descriptions. - + change copyright notices to Free Software Foundation - -980207 - + minor fixes for autoconf macros CF_ERRNO, CF_HELP_MESSAGE and - CF_SIZECHANGE - + modify Makefile.glibc so that $(objpfx) is defined (H.J.Lu). - + ifdef-out true-return from _nc_mouse_inline() which depends on - merge of QNX patch (pending 4.2 release). - > patch by J.T.Conklin, to split off seldom-used modules in ncurses - (reduces size by up to 2.6kb): - + move functionality of _nc_usleep into napms, add configuration case - for nanosleep(). - + moved wchgat() from lib_addch.c to lib_chgat.c - + moved clearok(), immedok(), leaveok(), and scrollok() from - lib_options.c to lib_clearok.c, lib_immedok.c, lib_leaveok.c and - lib_scrollok.c. - + moved napms() from lib_kernel.c to lib_napms.c - + moved echo() and noecho() from lib_raw.c to lib_echo.c - + moved nl() and nonl() from lib_raw.c to lib_nl.c - -980131 - + corrected conversion in tclock.c (cf: 971018). - + updates to Makefile.glibc and associated Linux configure script - (patch by H.J.Lu). - + workaround a quoting problem on SunOS with tar-copy.sh - + correct init_pair() calls in worm.c to work when use_default_colors() - is not available. - + include in CF_SYS_TIME_SELECT to work with FreeBSD - 2.1.5 - + add ncv capability to FreeBSD console (cons25w), making reverse - work with color. - + correct sense of configure-test for sys/time.h inclusion with - sys/select.h - + fixes for Ada95/ada_include/Makefile.in to work with --srcdir option. - + remove unused/obsolete test-program rules from progs/Makefile.in - (the rules in ncurses/Makefile.in work). - + remove shared-library loader flags from test/Makefile.in, etc. - + simplify test/configure.in using new version of autoconf to create - test/ncurses_cfg.h - + suppress suffix rules in test/Makefile.in, provide explicit - dependency to work with --srcdir option and less capable 'make' - programs. - > adapted from patch for QNX by Xiaodan Tang: - + initialize %P and %g variables set/used in tparm, and also ensure - that empty strings don't return a null result from tparam_internal - + add QNX-specific prototype for vsscanf() - + move initialization of SP->_keytry from init_keytry() to newterm() to - avoid resetting it via a keyok() call by mouse_activate(). - + reorganized some functions in lib_mouse() to use case-statements. - + remove sgr string from qnx terminfo entry since it is reported to - turn off attributes inconsistently. - -980124 - + add f/F/b/B commands to ncurses 'b' test to toggle colors, providing - test for no_color_video. - + adjusted emx.src to use no_color_video, now works with ncurses 'b' - and 'k' tests. - + implement no_color_video attribute, and as a special case, reverse - colors when the reverse attribute cannot be combined with color. - + check for empty string in $TERM variable (reported by Brett Michaels - ). - > from reports by Fred Fish: - + add configure-test for isascii - + add configure-test for -lm library. - + modify CF_BOOL_SIZE to check if C++ bool types are unsigned. - > patches by J.J.G.Ripoll - + add configure/makefile variables to support .exe extension on - OS/2 EMX (requires additional autoconf patches). - + explicitly initialize variables in lib_data.c to appease OS/2 linker - > patches by Fred Fish - + misc/Makefile.in (install.data): Avoid trying to install the CVS - directory. - + aclocal.m4 (install.includes): Remove files in the include directory - where we are going to install new ones, not the original source - files. - + misc/terminfo.src: Add entry for "beterm", derived from termcap - distributed with BeOS PR2 using captoinfo. - + aclocal.m4: Wrap $cf_cv_type_of_bool with quotes (contains space) - + aclocal.m4: Assume bool types are unsigned. - + progs/infocmp.c: workaround mwcc 32k function data limit - -980117 - + correct initialization of color-pair (from 970524) in xmas.c, which - was using only one color-pair for all colors (reported by - J.J.G.Ripoll). - + add multithread options for objects build on EMX, for compatibility - with XFree86. - + split up an expression in MKlib_gen.sh to work around a problem on - OS/2 EMX, with 'ash' (patch by J.J.G.Ripoll). - + change terminfo entries xterm (xterm-xf86-v40), xterm-8bit rs1 to use - hard reset. - + rename terminfo entry xterm-xf86-v39t to xterm-xf86-v40 - + remove bold/underline from sun console entries since they're not - implemented. - + correct _tracef calls in _tracedump(), which did not separate format - from parameters. - + correct getopt string for tic "-o" option, and add it to man-page - synopsis (reported by Darren Hiebert ). - + correct typo in panel/Makefile.in, reversed if-statement in scrolling - optimization (Alexander V. Lukyanov). - + test for 'remove()', use 'unlink() if not found (patch by Philippe De - Muyter ). - > patches by Juergen Pfeifer: - + Improve a feature of the forms driver. For invisible fields - (O_VISIBLE off) only the contents but not the attributes are cleared. - We now clear both. (Reported by Javier Kohan - ) - + The man page form_field_opts.3x makes now clear, that invisible - fields are also always inactive. - + adjust ifdef's to compile the C++ binding with the just released - gcc-2.8.0 c++ and the corresponding new C++ libraries. - -980110 - + correct "?" command in ncurses.c; it was performing non-screen writes - while the program was in screen mode. (It "worked" in 1.9.9e because - that version sets OPOST and OCRNL incorrectly). - + return error from functions in lib_kernel, lib_raw and lib_ti if - cur_term is null, or if underlying I/O fails. - + amend change to tputs() so that it does not return an error if - cur_term is null, since some applications depend on being able to use - tputs without initializing the terminal (reported by Christian J. - Robinson ). - -980103 - + add a copy of emx.src from J.J.G.Ripoll's OS/2 EMX version of ncurses - 1.9.9e, together with fixes/additions for the "ansi" terminal type. - + add tic check for save/restore cursor if change_scroll_region is - defined (from O'Reilly book). - + modify read_termcap.c to handle EMX-style pathnames (reported by - J.J.G.Ripoll). - + modify lib_raw.c to use EMX's setmode (from J.J.G.Ripoll, who says - EMX's curses does this). - + modify _nc_tic_expand() to generate \0 rather than \200. - + move/revise 'expand()' from dump_entry.c to ncurses library as - _nc_tic_expand(), for use by tack. - + decode \a as \007 for terminfo, as per XSI. - + correct translation of terminfo "^@", to \200, like \0. - + modify next_char() to treat the same as , for - cross-platform compatibility. - + use new version of autoconf (971230) to work around limited - environment on CLIX, due to the way autoconf builds --help message. - > patch by Juergen Pfeifer: - + check that the Ada95 binding runs against the correct version of - ncurses. - + insert constants about the library version into the main spec-file of - the Ada95 binding. - -971227 - + modify open/fopen calls to use binary mode, needed for EMX. - + modify configure script to work with autoconf 2.10 mods for OS/2 - EMX from J.J.G.Ripoll. - + generated ncurses_cfg.h with patch (971222) to autoconf 2.12 which - bypasses limited sed buffer length. - > several changes from Juan Jose Garcia Ripoll - (J.J.G.Ripoll) to support OS/2 EMX: - + add a _scrolling flag to SP, to set when we encounter a terminal - that simply cannot scroll. - + corrected logic in _nc_add_to_try(), by ensuring that strings with - embedded \200 characters are matched. - + don't assume the host has 'link()' function, for linking terminfo - entries. - -971220 - + if there's no ioctl's to support sigwinch handler, disable it. - + add configure option --disable-ext-funcs to remove the extended - functions from the build. - + add configure option --with-termlib to generate the terminfo - functions as a separate library. - + add 'sources' rule to facilitate cross-compiling. - + review/fix order of mostlyclean/clean/distclean rules. - + modify install-rule for headers to first remove old header, in - case there was a symbolic link that confuses the install script. - + corrected substitution for NCURSES_CONST in term.h (cf: 971108) - + add null pointer checks in wnoutrefresh(), overlap() (patch by - Xiaodan Tang ) - + correct tputs(), which could dereference a null cur_term if invoked - before terminal is initialized (patch by Christopher Seawood - ) - > patch by Juergen Pfeifer: - + makes better use of "pragma Inline" in the Ada95 binding - + resynchronizes the generated html manpages - -971213 - + additional fixes for man-pages section-references - + add (for debugging) a check for ich/ich1 conflict with smir/rmir - to tic, etc. - + remove hpa/vpa from rxvt terminal description because they are not - implemented correctly, added sgr0. - + change ncurses 's' to use raw mode, so ^Q works (reported by Rudolf - Leitgeb ) - -971206 - + modify protection when installing libraries to (normally) not - executable. HP-UX shared libraries are an exception. - + add configure check for 'tack'. - + implement script for renaming section-references in man-page install, - for Debian configuration. - + add validity-check for SP in trace code in baudrate() (reported by - Daniel Weaver). - > patch by Alexander V. Lukyanov (fixes to match sol25 curses) - + modify 'overlay()' so that copy applies target window background to - characters. - + correct 'mvwin()' so that it does not clear the previous locations. - + correct lib_acs.c so that 8-bit character is not sign expanded in - case of wide characters in chtype. - + correct control-char test in lib_addch.c for use with wide chars - + use attribute in the chtype when adding a control character in - lib_addch.c control char was added with current attribute - -971129 - + save/restore errno in _tracef() function - + change treatment of initialize_color to use a range of 0..1000 - (recommended by Daniel Weaver). - + set umask in mkinstalldirs, fixing problems reported by users who - have set root's umask to 077. - + correct bug in tic that caused capabilities to be reprinted at the - end of output when they had embedded comments. - + rewrote wredrawln to correspond to XSI, and split-out since it is - not often used (from report by Alexander V. Lukyanov, 970825) - + rewrote Dan Nelson's change to make it portable, as well as to - correct logic for handling backslashes. - + add code to _nc_tgetent() to make it work more like a real tgetent(). - It removes all empty fields, and removes all but the first in a group - of duplicate caps. The code was pulled from the BSD libtermcap code - in termcap.c (patch by Dan Nelson - + don't include --enable-widec in the --with-develop configure option, - since it is not binary-compatible with 4.1 (noted by Alexander V. - Lukyanov) - > patch by Juergen Pfeifer: - + further improvements of the usage of elaboration pragmas in the Ada95 - binding - + enhanced Ada95 sample to use the user_data mechanism for panels. - + a fix for the configuration script to make gnat-3.10 the required - version. - + resync of the html version of the manpages - -971122 - > fixes/updates for terminfo.src: - + add vt220-js, pilot, rbcomm, datapoint entries from esr's 27-jun-97 - version. - + add hds200 description (Walter Skorski) - + add EMX 0.9b descriptions - + correct rmso/smso capabilities in wy30-mc and wy50-mc (Daniel Weaver) - + rename xhpterm back to hpterm. - > patch by Juergen Pfeifer: - + Improves the usage of elaboration pragmas for the Ada95 binding. - + Adds a translation of the test/rain.c into Ada95 to the samples. - This has been contributed to the project by Laurent Pautet - (pautet@gnat.com) - -971115 - + increase MAX_NAME_SIZE to 512 to handle extremely long alias list - in HP-UX terminfo. - + correction & simplification of delay computation in tputs, based on - comments from Daniel Weaver. - + replace test for SCO with more precise header tests. - + add configure test for unsigned literals, use in NCURSES_BITS macro. - + comment-out the -PIC, etc., flags from c++, progs and test makefiles - since they probably are not needed, and are less efficient (noted by. - Ju"rgen Fluk) - + add -L$(libdir) to loader options, after -L../lib so that loaders - that record this information will tend to do the right thing if - the programs are moved around after installing them (suggested by. - Ju"rgen Fluk). - + add -R option to loader options for programs for Solaris if the - --enable-rpath option is specified for the libraries. - -971112 - + correct installed filename for shared libraries on *BSD (reported by - Ju"rgen Fluk). - -971108 - + cleanup logic for deciding when tputs() should call delay_output(), - based on comments from Daniel Weaver. - + modified tputs() to avoid use of float. - + correct use of trailpad in tputs(), which used the wrong variable - in call to delay_output(). - + correct inverted expression for null-count in delay_output() - (analysis by Daniel Weaver). - + apply --enable-rpath option to Solaris (requested by Larry Virden). - + correct substitution of EXTRA_CFLAGS for gcc 2.6.3 - + correct check for error-return by _nc_tgetent(), which returns 0 - for success. - + add configure test for BSD 4.4 cgetent() function, modify - read_termcap.c to use the host's version of that if found, using the - terminal database on FreeBSD (reported by Peter Wemm). - + add u8, u9 strings to sun-il description for Daniel Weaver. - + use NCURSES_CONST in panel's user-pointer. - + modify edit_cfg.sh and MKterm.h.awk.in to substitute NCURSES_CONST - so that will work on NeXT. - + use _nc_set_screen() rather than assignments to SP to fix port to - NeXT (reported by Francisco A. Tomei Torres). - -971101 - + force mandatory padding in bell and flash_screen, as specified in - XSI. - + don't allow padding_baud_rate to override mandatory delays (reported - by Daniel Weaver). - + modify delay_output() to use _nc_timed_wait() if no baudrate has been - defined, or if the cur_term pointer is not initialized. XSI treats - this as unspecified. (requested by Daniel Weaver). - + change getcap-cache ifdef's to eliminate unnecessary chdir/mkdir - when that feature is not configured. - + remove _nc_err_abort() calls when write_entry.c finds a directory but - cannot write to it, e.g., when translating part/all of /etc/termcap - (reported by Andreas Jaeger ). - (this dates back to 951102, in 1.9.7a). - + minor ifdef fixes to compile with atac and glibc 2.0.5c - + add check for -lgen when configuring regexpr.h - + modify Solaris shared-library option "-d y" to "-dy" to workaround - incompatibility of gcc 2.7.2 vs vendor's tools. - -971026 - + correct ifdef's for struct winsize vs struct ttysize in lib_setup.c - to compile on SCO. - + remove dangling backslash in panel/Makefile.in - + modify MKkeyname.awk to work with SCO's nawk, which dumps core in the - length() function. - + correct length of allocation in _nc_add_to_try(), to allow for - trailing null. - + correct logic in _nc_remove_key(), which was discarding too many - nodes (patch by Alexander V. Lukyanov) - -971025 - + add definition for $(REL_VERSION) to test/Makefile.in, so *BSD - shared libraries link properly (see 970524). - + modify Linux shared-library generation to include library - dependencies (e.g., -lncurses and -lgpm) in the forms, menu and - panel libraries (suggested by Juergen Pfeifer). - + modify configure script to use config.guess and config.sub rather - than uname, which is unreliable on some systems. - + updated Makefile.glibc, test-built with glibc 2.0.5c - + modify keyname() to return values consistent with SVr4 curses (patch - by Ju"rgen Fluk). - > changes requested by Daniel Weaver: - + modify delay_output() so that it uses the same output function as - tputs() if called from that function. - + move _baudrate from SCREEN to TERMINAL so that low-level use of - tputs works when SP is not set. - > patch by Juergen Pfeifer: - + factor lib_menu and lib_form into smaller modules - + clean up the interface between panel and SCREEN - + minor changes to the Ada95 mouse support implemenation - + minor bugfix in C++ binding to ripoff windows - + fix a few Ada95 html documentation pages - -971018 - + split-out lib_ungetch.c, make runtime link to resizeterm() to - decouple those modules from lib_restart.c - + add xterm-xf86-v39t description to terminfo.src - + reset SP->_endwin in lib_tstp.c cleanup() function after calling - endwin() to avoid unnecessary repainting if the application has - established an atexit function, etc. Encountered this problem in - the c++ demo, whose destructors repaint the screen. - + combine _nc_get_screensize() and resizeterm() calls as new function - _nc_update_screensize(). - + minor fixes to allow compile with g++ (suggested by Nelson H. F. - Beebe). - + implement install-rules for Ada95 makefiles. - + use screen_lines or MAXLINES as needed where LINES was coded, - as well as screen_columns for COLS, in the ncurses library. - > patch by Alexander V. Lukyanov: - + modify logic for ripped-off lines to handle several SCREENs. - > patch by Juergen Pfeifer: - + factors lib_slk.c into some smaller modules - + factors panel.c into some smaller modules - + puts the static information about the current panel stack into the - SCREEN structure to allow different panel stacks on different - screens. - + preliminary fix for an error adjusting LINES to account for - ripped-off lines. - -971011 - + move _nc_max_click_interval and other mouse interface items to SCREEN - struct so that they are associated with a single terminal, and also - save memory when the application does not need a mouse (roughly 3k vs - 0.5k on Linux). - + modify mouseinterval() so that a negative parameter queries the - click-interval without modifying it. - + modify ncurses 'i' test to work with ncurses' apparent extension from - SVr4, i.e., allows nocbreak+noecho (analysis by Alexander V. - Lukyanov). - + add configure options --with-ada-includes and --with-ada-objects, - to drive Ada95 binding install (not yet implemented). - + install C++ binding as -lncurses++ and associated headers with the - other ncurses headers. - + fix header uninstall if configure --srcdir is used. - > minor interface changes (request by Daniel Weaver , - to support 'tack' program): - + export functions _nc_trans_string() and _nc_msec_cost(). - + add variable _nc_nulls_sent, to record the number of padding - characters output in delay_output(). - + move tests for generic_type and hard_copy terminals in setupterm() - to the end of that function so that the library will still be - initialized, though not generally useful for curses programs. - > patches by Alexander V. Lukyanov: - + modify ClrBottom() to avoid using clr_eos if there is only one line - to erase. - + typo in configure --help. - > patch by J.T.Conklin (with minor resync against Juergen's changes) - + split-out lib_flash.c from lib_beep.c - + split-out lib_hline.c and lib_vline.c from lib_box.c - + split-out lib_wattron.c, lib_wattroff.c from lib_addch.c - -971005 - > patch by Juergen Pfeifer: - + correct source/target of c++/edit_cfg.sh - -971004 - + add color, mouse support to kterm terminfo entry. - + modify lib_mouse.c to recognize rxvt, kterm, color_xterm also as - providing "xterm"-style mouse. - + updated rxvt's terminfo description to correspond to 2.21b, with - fixes for the acsc (the box1 capability is incorrect, ech1 does not - work). - + fix logic in parse_entry.c that discarded acsc when 'synthesizing' - an entry from equivalents in XENIX or AIX. This lets ncurses handle - the distribution copy of rxvt's terminfo. - + modify acsc capability for linux and linux-koi8 terminfo descriptions - (from Pavel Roskin ). - + corrected definition in curses.h for ACS_LANTERN, which was 'I' - rather than 'i' (see 970802). - + updated terminfo.src with reformatted acsc entries, and repaired the - trashed entries with spurious '\' characters that this exposed. - + add logic to dump_entry.c to reformat acsc entries into canonical - form (sorted, unique mapping). - + add configure script to generate c++/etip.h - + add configure --with-develop option, to enable by default most of the - experimental options (requested by Alexander V. Lukyanov). - + rename 'deinstall' to 'uninstall', following GNU convention - (suggested by Alexander V. Lukyanov). - > patches by Alexander V. Lukyanov: - + modify tactics 2 and 5 in onscreen_mvcur(), to allow them on the last - line of the screen, since carriage return will not cause a newline. - + remove clause from PutCharLR() that would try to use - eat_newline_glitch since that apparently does not work on some - terminals (e.g., M$ telnet). - + correct a limit check in scroll_csr_backward() - > patches by Juergen Pfeifer: - + adds dummy implementations of methods above() and below() to the - NCursesPanel class. - + fixes missing returncode in NCursesWindow::ripoffline() - + fixes missing returncode in TestApplication::run() in demo.cc - + We should at least give a comment in etip.h why it is currently a - problem to install the C++ binding somewhere - + makes the WINDOW* argument of wenclose() a const. - + modifies several of the routines in lib_adabind.c to use a const - WINDOW* argument. - -970927 - + add 'deinstall' rules. - + use explicit assignments in configure --without-progs option to - work around autoconf bug which doesn't always set $withval. - + check for ldconfig, don't try to run it if not found. - + implement simple/unoptimized case in lib_doupdate.c to handle - display with magic cookie glitch, tested with ncurses.c program. - + correct missing _tracef in getmouse(), to balance the returnCode - macro. - + simplify show_attr() in ncurses.c using termattrs(). - > patches by Juergen Pfeifer: - + provides missing inlines for mvw[hv]line in cursesw.h of the C++ - binding - + fixes a typo in a comment of frm_driver.c - + Enhances Ada95 Makefiles to fulfill the requirement of GNAT-3.10 that - generics should be compiled. Proper fixes to the configuration - scripts are also provided. - -970920 - + several modifications to the configure script (requested by Ward - Horner): - + add configure options --without-progs, to suppress the build of the - utility programs, e.g., for cross-compiling. - + add $(HOSTCCFLAGS) and $(HOSTLDFLAGS) symbols to ncurses - Makefile.in, to simplify setup for cross compiling. - + add logic in configure script to recognize "--target=vxworks", and - generate load/install actions for VxWorks objects. - + move typedef for sigaction_t into SigAction.h to work around problem - generating lint library. - + modify fty_regex.c to reflect renaming of ifdef's for regular - expressions. - + simplify ifdef in lib_setup.c for TIOCGWINSZ since that symbol may - reside in . - + merge testcurs.c with version from PDCurses 2.3, clarifying some of - the more obscure tests, which rely upon color. - + use macros getbegyx() and getmaxyx() in newdemo.c and testcurs.c - + modify ncurses.c to use getbegyx() and getmaxyx() macros to cover up - implementation difference wrt SVr4 curses, allow 's' test to work. - + add missing endwin() to testscanw.c program (reported by Fausto - Saporito ). - + fixes/updates for Makefile.glibc and related files under sysdeps - (patch by H.J.Lu). - > patches by Juergen Pfeifer: - + add checks for null pointers, especially WINDOW's throughout the - ncurses library. - + solve a problem with wrong calculation of panel overlapping (reported - by Ward Horner): - + make sure that a panel's window isn't a pad. - + do more error checking in module lib_touch.c - + missing files for Ada95 binding from the last patch - + synch. of generated html pages (RCS-Id's were wrong in html files) - + support for Key_Resize in Ada binding - + changed documentation style in ./c++/cursesm.h - > patches by Alexander V. Lukyanov: - + undo attempt to do recursive inlining for PutChar(), noting that it - did not improve timing measurably, but inflated the size of - lib_doupdate.o - -970913 - + modify rain.c to use color. - + correct scroll_csr_backward() to match scroll_csr_forward(). - + minor adjustment to llib-lncurses, to work with Solaris 2.5.1 - + minor fixes to sysdeps/unix/sysv/linux/configure to reflect renaming - of configure cache variables in 970906. - + correct logic involving changes to O_VISIBLE option in - Synchronize_Options function in frm_driver.c (Tony Hoffmann - ) - + add $(HOSTCC) symbol to ncurses Makefile.in, to simplify setup for - cross compiling (suggested by Chris Johns). - + modify ifdef in lib_setup.c to only include if we can - use it to support screen-size calculation (reported by Chris Johns). - + #undef unctrl to avoid symbol conflict in port to RTEMS (reported by - Chris Johns ) - > patches by Juergen Pfeifer: - + simplified, made minor corrections to Ada95 binding to form - fieldtype. - + The C++ binding has been enhanced: - + Improve NCursesWindow class: added additional methods to cover - more ncurses functionality. Make refresh() and noutrefresh() - virtual members to allow different implementation in the - NCursesPanel class. - + CAUTION: changed order of parameters in vline() and hline() of - NCursesWindow class. - + Make refresh() in NCursesPanel non-static, it is now a - reimplementation of refresh() in the base class. Added - noutrefresh() to NCursesPanel. - + Added NCursesForm and related classes to support libform - functionality. - + Moved most of configuration related stuff from cursesw.h to etip.h - + Added NCursesApplication class to support easy configuration of - menu and forms related attributes as well as ripped of title lines - and Soft-Label-Keys for an application. - + Support of Auto-Cleanup for a menu's fieldlist. - + Change of return type for current_item() and operator[] for menus. - + Enhanced demo. - + Fixed a bug in form/fld_def.c: take into account that copyarg and - freearg for a fieldtype may be NULL, makearg must not be NULL - + Fixed a bug in form/fld_type.c: in set_fieldtype_arg() makearg must - not be NULL, copyarg and freearg may be NULL. - + Fixed a bug in form/frm_def.c: Allow Disconnect_Fields() if it is - already disconnected. - + Enhance form/frm_driver.c: Allow growth of dynamic fields also on - navigation requests. - + Fixed a bug in form/fty_enum.c: wrong position of postincrement in - case-insensitiva comparision routine. - + Enhanced form/lib_adabind.c with function _nc_get_field() to get a - forms field by index. - + Enhanced menu/m_adabind.c with function _nc_get_item() to get a menus - item by index. - + Fixed in curses.h.in: make chtype argument for pechochar() constant. - Mark wbkgdset() as implemented, remove wbkgdset macro, because it was - broken (didn't handle colors correctly). - + Enhanced lib_mouse.c: added _nc_has_mouse() function - + Added _nc_has_mouse() prototype to curses.priv.h - + Modified lib_bkgd.c: hopefully correct implementation of wbkgdset(); - streamlined implementation of wbkgd() - + Modified lib_mvwin.c: Disable move of a pad. Implement (costly) - move of subwindows. Fixed update behaviour of movements of regular - windows. - + Fixed lib_pad.c: make chtype argument of pechochar() const. - + Fixed lib_window.c: dupwin() is not(!) in every bit a really clone - of the original. Subwindows become regular windows by doing a - dupwin(). - + Improved manpage form_fieldtype.3x - > patches by Alexander V. Lukyanov: - + simplify the PutChar() handling of exit_am_mode, because we already - know that auto_right_margin is true. - + add a check in PutChar() for ability to insert to the case of - shifting character to LR corner. - + in terminal initialization by _nc_screen_resume(), make sure that - terminal right margin mode is known. - + move logic that invokes touchline(), or does the equivalent, into - _nc_scroll_window(). - + modify scrolling logic use of insert/delete line capability, assuming - that they affect the screen contents only within the current - scrolling region. - + modify rain.c to demonstrate SIGWINCH handler. - + remove logic from getch() that would return an ERR if the application - called getch() when the cursor was at the lower-right corner of the - physical screen, and the terminal does not have insert-character - ability. - + change view.c so that it breaks out of getch() loop if a KEY_RESIZE - is read, and modify logic in getch() so this fix will yield the - desired behavior, i.e., the screen is repainted automatically when - the terminal window is resized. - -970906 - + add configure option --enable-sigwinch - + modify view.c to test KEY_RESIZE logic, with "-r" option. - + modify testcurs.c to eliminate misleading display wrt cursor type - by testing if the terminal supports cnorm, civis, cvvis. - + several fixes for m68k/NeXT 4.0, to bring cur_term, _nc_curr_line and - _nc_curr_col variables into linked programs: move these variables, - making new modules lib_cur_term and trace_buf (reported by Francisco - Alberto Tomei Torres ). - > patches by Alexander V. Lukyanov: - + add pseudo-functionkey KEY_RESIZE which is returned by getch() when - the SIGWINCH handler has been called since the last call to - doupdate(). - + modify lib_twait.c to hide EINTR only if HIDE_EINTR is defined. - + add SIGWINCH handler to ncurses library which is used if there is no - application SIGWINCH handler in effect when the screen is - initialized. - + make linked list of all SCREEN structures. - + move curses.h include before definition of SCREEN to use types in - that structure. - + correction to ensure that wgetstr uses only a newline to force a - scroll (970831). - -970831 - + add experimental configure option --enable-safe-sprintf; the normal - mode now allocates a buffer as large as the screen for the - lib_printw.c functions. - + modify wgetch to refresh screen when reading ungetch'd characters, - since the application may require this - SVr4 does this. - + refine treatment of newline in wgetstr to echo only when this would - force the screen to scroll. - -970830 - + remove override in wgetstr() that forces keypad(), since SVr4 does - not do this. - + correct y-reference for erasure in wgetstr() when a wrap forces a - scroll. - + correct x-position in waddch() after a wrap forces a scroll. - + echo newline in wgetstr(), making testscanw.c scroll properly when - scanw is done. - + modify vwscanw() to avoid potential buffer overflow. - + rewrote lib_printw.c to eliminate fixed-buffer limits. - > patches by Alexander V. Lukyanov: - + correct an error in handling cooked mode in wgetch(); processing - was in the wrong order. - + simplified logic in wgetch() that handles backspace, etc., by using - wechochar(). - + correct wechochar() so that it interprets the output character as - in waddch(). - + modify pechochar() to use prefresh() rather than doupdate(), since - the latter does not guarantee immediate refresh of the pad. - + modify pechochar() so that if called with a non-pad WINDOW, will - invoke wechochar() instead. - + modify fifo indices to allow fifo to be longer than 127 bytes. - -970823 - + add xterm-8bit to terminfo.src - + moved logic for SP->_fifohold inside check_pending() to make it - work properly when we add calls to that function. - + ensure that bool functions return only TRUE or FALSE, and TRUE/FALSE - are assigned to bool values (patch by H.J.Lu). - > patches by Alexander V. Lukyanov: - + several fixes to getch: - 1. Separate cooked and raw keys in fifo - 2. Fix the case of ungetch'ed KEY_MOUSE - 3. wrap the code for hiding EINTR with ifdef HIDE_EINTR - 4. correctly handle input errors (i.e., EINTR) without loss of raw - keys - 5. recognize ESC KEY_LEFT and similar - 6. correctly handle the case of receiption of KEY_MOUSE from gpm - + correct off-by-one indexing error in _nc_mouse_parse(), that caused - single mouse events (press/release) to be ignored in favor of - composed events (click). Improves on a fix from integrating gpm - support in 961229. - + add another call to check_pending, before scrolling, for - line-breakout optimization - + improve hashmap.c by - 1. fixed loop condition in grow_hunks() - 2. not marking lines with offset 0 - 3. fixed condition of 'too far' criteria, thus one-line hunks are - ignored and two lines interchanged won't pass. - + rewrote/simplified _nc_scroll_optimize() by separating into two - passes, forward/backward, looking for chunks moving only in the given - direction. - + move logic that emits sgr0 when initializing the screen to - _nc_screen_init(), now invoked from newterm. - + move cursor-movement cleanup from endwin() into _nc_mvcur_wrap() - function and screen cleanup (i.e., color) into _nc_screen_wrap() - function. - + add new functions _nc_screen_init(), _nc_screen_resume() and - _nc_screen_wrap(). - + rename _nc_mvcur_scrolln() to _nc_scrolln(). - + add a copy of acs_map[] to the SCREEN structure, where it can be - stored/retrieved via set_term(). - + move variables _nc_idcok, _nc_idlok, _nc_windows into the SCREEN - structure. - -970816 - + implement experimental _nc_perform_scroll(). - + modify newterm (actually _nc_setupscreen()) to emit an sgr0 when - initializing the screen, as does SVr4 (reported by Alexander V. - Lukyanov). - + added test_progs rule to ncurses/Makefile. - + modify test/configure.in to check if initscr is already in $LIBS - before looking for (n)curses library. - + correct version-number in configure script for OSF1 shared-library - options (patch by Tim Mooney). - + add -DNDEBUG to CPPFLAGS for --enable-assertions (as Juergen - originally patched) since the c++ demo files do not necessarily - include ncurses_cfg.h - + supply default value for --enable-assertions option in configure - script (reported by Kriang Lerdsuwanakij ). - > patches by Alexander V. Lukyanov: - + correct/simplify logic of werase(), wclrtoeol() and wclrbot(). See - example firstlast.c - + optimize waddch_literal() and waddch_nosync() by factoring out - common subexpressions. - + correct sense of NDEBUG ifdef for CHECK_POSITION macro. - + corrections to render_char(), to make handling of colored blanks - match SVr4 curses, as well as to correct a bug that xor'd space - against the background character. - + replaced hash function with a faster one (timed it) - + rewrote the hashmap algorithm to be one-pass, this avoids multiple - cost_effective() calls on the same lines. - + modified cost_effective() so it is now slightly more precise. - > patches by H.J.Lu for glibc integration: - + add modules define_key, keyok, name_match, tries - + add makefile rules for some of the unit tests in ncurses (mvcur, - captoinfo, hardscroll, hashmap). - + update Linux configure-script for wide-character definitions. - -970809 - + modify _tracebits() to show the character size (e.g., CS8). - + modify tparm() to emit '\200' where the generated string would have a - null (reported by From: Ian Dall for - terminal type ncr7900). - + modify install process so that ldconfig is not invoked if the - package is built with an install-prefix. - + correct test program for chtype size (reported by Tim Mooney). - + add configure option --disable-scroll-hints, using this to ifdef the - logic that computes indices for _nc_scroll_optimize(). - + add module ncurses/softscroll.c, to perform single-stage computation - of scroll indices used in _nc_scroll_optimize(). This is faster than - the existing scrolling algorithm, but tends to make too-small hunks. - + eliminate fixed buffer size in _nc_linedump(). - + minor fixes to lib_doupdate.c to add tradeoff between clr_eol (el) - and clr_bol (el1), refine logic in ClrUpdate() and ClrBottom() (patch - by Alexander V. Lukyanov). - + add test/testaddch.c, from a pending patch by Alexander V. Lukyanov. - + correct processing of "configure --enable-assertions" option (patch - by Juergen Pfeifer). - -970802 - + add '-s' (single-step) option too test/hashtest.c, correct an error - in loop limit for '-f' (footer option), toggle scrollok() when - writing footer to avoid wrap at lower-right corner. - + correct behavior of clrtoeol() immediately after wrapping cursor, - which was not clearing the line at the cursor position (reported by - Liviu Daia ). - + corrected mapping for ACS_LANTERN, which was 'I' rather than 'i' - (reported by Klaus Weide ). - + many corrections to make progs/capconvert work, as well as make it - reasonably portable and integrated with ncurses 4.1 (reported by Dave - Furstenau ). - -970726 - + add flag SP->_fifohold, corresponding logic to modify the behavior of - the line breakout logic so that if the application does not read - input, refreshes will not be stopped, but only slowed. - + generate slk_attr_off(), slk_attr_on(), slk_attr_set(), vid_attr(), - ifdef'd for wide-character support, since ncurses' WA_xxx attribute - masks are identical with the A_xxx masks. - + modify MKlib_gen.sh to generate ifdef'd functions to support optional - configuration of wide-characters. - + modify tset to behave more like SVr4's tset, which does not modify - the settings of intr, quit or erase unless they are given as command - options (reported by Nelson H. F. Beebe ). - + modify tset to look in /etc/ttys or /etc/ttytype if the configuration - does not have getttynam(). - + extend baudrate table in tset.c to match baudrate() function. - + add table entries for 230400 and 460800 bd to baudrate() function. - + improve breakout logic by allowing it before the first line updated, - which is what SVr4 curses does (patch by Alexander V. Lukyanov). - + correct initialization of vcost in relative_move(), for cursor-down - case (patch by Alexander V. Lukyanov). - > nits gleaned from Debian distribution of 1.9.9g-3: - + install symbolic link for intotocap. - + reference libc directly when making shared libraries. - + correct renaming of curs_scr_dmp.3x in man_db.renames. - + guard tgetflag() and other termcap functions against null cur_term - pointer. - -970719 - + corrected initial state of software echo (error in 970405, reported - by Alexander V. Lukyanov). - + reviewed/added messages to configure script, so that all non-test - options should be accompanied by a message. - + add configure check for long filenames, using this to determine if - it is safe to allow long aliases for terminal descriptions as does - SVr4. - + add configure options for widec (wide character), hashmap (both - experimental). - > patch by Alexander V. Lukyanov: - + hashmap.c - improved by heuristic, so that scroll test works much - better when csr is not available. - + hardscroll.c - patched so that it continues to scroll other chunks - after failure to scroll one. - + lib_doupdate.c - _nc_mvcur_scrolln extended to handle more cases; csr - is avoided as it is relative costly. Fixed wrong coordinates in one - case and wrong string in TRACE. - > patch by Juergen Pfeifer: - + modify C++ binding to compile on AIX 4.x with the IBM C-SET++ - compiler. - -970712 - + remove alternate character set from kterm terminfo entry; it uses the - shift-out control for a purpose incompatible with curses, i.e., font - switching. - + disentangle 'xterm' terminfo entry from some derived entries that - should be based on xterm-r6 instead. - + add cbt to xterm-xf86-xv32 terminfo entry; I added the emulation for - XFree86 3.1.2F, but overlooked its use in terminfo then - T.Dickey. - + correct logic in lib_mvcur.c that uses back_tab. - -970706 - + correct change from 970628 to ClrUpdate() in lib_doupdate.c so that - contents of curscr are saved in newscr before clearing the screen. - This is needed to make repainting work with the present logic of - TransformLine(). - + use napms() rather than sleep() in tset.c to avoid interrupting I/O. - -970705 - + add limit checks to _nc_read_file_entry() to guard against overflow - of buffer when reading incompatible terminfo format, e.g, from OSF/1. - + correct some loop-variable errors in xmc support in lib_doupdate.c - + modify ncurses 'b' test to add gaps, specified by user, to allow - investigation of interaction with xmc (magic cookie) code. - + correct typo in 970524 mods to xmas.c, had omitted empty parameter - list from has_colors(), which gcc ignores, but SVr4 does not - (reported by Larry Virden). - + correct rmso capability in wy50-mc description. - + add configure option "--enable-hard-tabs", renamed TABS_OK ifdef to - USE_HARD_TABS. - > patch by Juergen Pfeifer: - + Add bindings for keyok() and define_key() to the Ada95 packages. - + Improve man pages menu_post.3x and menu_format.3x - + Fix the HTML pages in the Ada95/html directory to reflect the above - changes. - -970628 - + modify change from 970101 to ClrUpdate() in lib_doupdate.c so that - pending changes to both curscr and newscr are flushed properly. - This fixes a case where the first scrolling operation in nvi would - cause the screen to be cleared unnecessarily and repainted before - doing the indexing, i.e., by repeatedly pressing 'j' (reported by - Juergen Pfeifer). - + correct error in trans_string() which added embedded newlines in a - terminfo description to the stored strings. - + remove spurious newlines from sgr in wyse50 (and several other) - terminfo descriptions. - + add configure option for experimental xmc (magic cookie) code, - "--enable-xmc-glitch". When disabled (the default), attributes that - would store a magic cookie are suppressed in vidputs(). The magic - cookie code is far from workable at this stage; the configuration - option is a stopgap. - + move _nc_initscr() from lib_initscr.c to lib_newterm.c - + correct path for invoking make_keys (a missing "./"). - -970621 - + correct sign-extension problem with "infocmp -e", which corrupted - acsc values computed for linux fallback data. - + correct dependency on ncurses/names.c (a missing "./"). - + modify configure script to use '&&' even for cd'ing to existing - directories to work around broken shell interpreters. - + correct a loop-limit in _nc_hash_map() (patch by Alexander V. - Lukyanov). - -970615 - + restore logic in _nc_scroll_optimize() which marks as touched the - lines in curscr that are shifted. - + add new utility 'make_keys' to compute keys.tries as a table rather - than a series of function calls. - + correct include-dependency for tic.h used by name_match - + removed buffer-allocation for name and description from m_item_new.c, - since this might result in incompatibilities with SVr4. Also fixed - the corresponding Ada95 binding module (patch by Juergen Pfeifer, - from report by Avery Pennarun ) - + removed the mechanism to timestamp the generated Ada95 sources. This - resulted always in generating patches for the HTML doc, even when - nothing really changed (patch by Juergen Pfeifer). - + improve man page mitem_new.3x (patch by Juergen Pfeifer). - -970614 - + remove ech capability from rxvt description because it does not work. - + add missing case logic for infocmp -I option (reported by Lorenzo M. - Catucci ) - + correct old bug in pnoutrefresh() unmasked by fix in 970531; this - caused glitches in the ncurses 'p' test since the area outside the - pad was not compared when setting up indices for _nc_scroll_optimize. - + rewrote tracebits() to workaround misdefinition of TOSTOP on Ultrix - 4.4, as well as to eliminate fixed-size buffer (reported by Chris - Tanner ) - + correct prototype for termattrs() as per XPG4 version 2. - + add placeholder prototypes for color_set(), erasewchar(), - term_attrs(), wcolor_set() as per XPG4 version 2. - + correct attribution for progs/progs.priv.h and lib_twait.c - + improve line-breakout logic by checking based on changed lines rather - than total lines (patch by Alexander V. Lukyanov). - + correct loop limits for table-lookup of enumerated value in form - (patch by Juergen Pfeifer). - + improve threshhold computation for determining when to call ClrToEOL - (patch by Alexander V. Lukyanov). - -970531 - + add configure option --disable-database to force the library to - use only the fallback data. - + add configure option --with-fallbacks, to specify list of fallback - terminal descriptions. - + add a symbolic link for ncurses.h during install; too many programs - still assume there's an ncurses.h - + add new terminfo.src entry for xterm-xf86-v33. - + restore terminfo.src entry for emu to using setf/setb, since it is - not, after all, generating ANSI sequences. Corrected missing comma - that caused setf/setb entries to merge. - + modify mousemask() to use keyok() to enable/disable KEY_MOUSE, so - that applications can disable ncurses' mouse and supply their own - handler. - + add extensions keyok() and define_key(). These are designed to allow - the user's application better control over the use of function keys, - e.g., disabling the ncurses KEY_MOUSE. (The define_key idea was from - a mailing-list thread started by kjahds@kjahds.com Nov'1995). - + restore original behavior in ncurses 'g' test, i.e., explicitly - set the keypad mode rather than use the default, since it confuses - people. - + rewrote the newdemo banner so it's readable (reported by Hugh - Daniel). - + tidy up exit from hashtest (reported by Hugh Daniel). - + restore check for ^Q in ncurses 'g' test broken in 970510 (reported - by Hugh Daniel) - + correct tput program, checking return-value of setupterm (patch by - Florian La Roche). - + correct logic in pnoutrefresh() and pechochar() functions (reported - by Kriang Lerdsuwanakij ). The computation - of 'wide' date to eric's #283 (1.9.9), and the pechochar bug to the - original implementation (1.9.6). - + correct typo in vt102-w terminfo.src entry (patch by Robert Wuest - ) - + move calls of _nc_background() out of various loops, as its return - value will be the same for the whole window being operated on (patch - by J.T.Conklin). - + add macros getcur[xy] getbeg[xy] getpar[xy], which are defined in - SVr4 headers (patch by J.T.Conklin ) - + modify glibc addon-configure scripts (patch by H.J.Lu). - + correct a bug in hashmap.c: the size used for clearing the hashmap - table was incorrect, causing stack corruption for large values of - LINES, e.g., >MAXLINES/2 (patch by Alexander V. Lukyanov). - + eric's terminfo 9.13.23 & 9.13.24 changes: replaced minitel-2 entry, - added MGR, ansi-nt (note: the changes described for 9.13.24 have not - been applied). - > several changes by Juergen Pfeifer: - + correct a missing error-return in form_driver.c when wrapping of a - field is not possible. - + correct logic in form_driver.c for configurations that do not have - memccpy() (reported by Sidik Isani ) - + change several c++ binding functions to inline. - + modify c++ menu binding to inherit from panels, for proper - initialization. - + correct freeing of menu items in c++ binding. - + modify c++ binding to reflect removal of const from user data pointer - in forms/menus libraries. - -970524 - + add description of xterm-16color. - + modify name of shared-library on *BSD to end with $(REL_VERSION) - rather than $(ABI_VERSION) to match actual convention on FreeBSD - (cf: 960713). - + add OpenBSD to shared-library case, same as NetBSD and FreeBSD - (reported by Hugh Daniel ). - + corrected include-dependency in menu/Makefile so that "make install" - works properly w/o first doing "make". - + add fallback definition for isascii, used in infocmp. - + modify xmas to use color, and to exit right away when a key is - pressed. - + modify gdc so that the scrolled digits function as described (there - was no time delay between the stages, and the digits overwrote the - bounding box without tidying up). - + modify lib_color.c to use setaf/setab only for the ANSI color codes - 0 through 7. Using 16 colors requires setf/setb. - + modify ncurses 'c' test to work with 16 colors, as well as the normal - 8 colors. - + remove const qualifier from user data pointer in forms and menus - libraries (patch by Juergen Pfeifer). - + rewrote 'waddchnstr()' to avoid using the _nc_waddch_nosync() - function, thereby not interpreting tabs, etc., as per spec (patch by - Alexander V. Lukyanov). - -970517 - + suppress check for pre-existing ncurses header if the --prefix - option is specified. - + add configure options "--with-system-type" and - "--with-system-release" to assist in checking the generated - makefiles. - + add configure option "--enable-rpath" to allow installers to specify - that programs linked against shared libraries will have their library - path embedded, allowing installs into nonstandard locations. - + add flags to OSF1 shared-library options to specify version and - symbol file (patch by Tim Mooney ) - + add missing definition for ABI_VERSION to c++/Makefile.in (reported - by Satoshi Adachi ). - + modify link flags to accommodate HP-UX linker which embeds absolute - pathnames in executables linked against shared libraries (reported by - Jason Evans , solved by Alan Shutko - ). - + drop unnecessary check for attribute-change in onscreen_mvcur() since - mvcur() is the only caller within the library, and that check in turn - is exercised only from lib_doupdate.c (patch by Alexander V. - Lukyanov). - + add 'blank' parameter to _nc_scroll_window() so _nc_mvcur_scrolln() - can use the background of stdscr as a parameter to that function - (patch by Alexander V. Lukyanov). - + moved _nc_mvcur_scrolln() from lib_mvcur.c to lib_doupdate.c, to use - the latter's internal functions, as well as to eliminate unnecessary - cursor save/restore operations (patch by Alexander V. Lukyanov). - + omit parameter of ClrUpdate(), since it is called only for newscr, - further optimized/reduced by using ClearScreen() and TransformLine() - to get rid of duplicate code (patch by Alexander V. Lukyanov). - + modify scrolling algorithm in _nc_scroll_optimize() to reject hunks - that are smaller than the distance to be moved (patch by Alexander V. - Lukyanov). - + correct a place where the panel library was not ifdef'd in ncurses.c - (Juergen Pfeifer) - + documentation fixes (Juergen Pfeifer) - -970515 4.1 release for upload to prep.ai.mit.edu - + re-tag changes since 970505 as 4.1 release. - -970510 - + modify ncurses 'g' test to allow mouse input - + modify default xterm description to include mouse. - + modify configure script to add -Wwrite-strings if gcc warnings are - enabled while configuring --enable-const (and fixed related - warnings). - + add toggle, status display for keypad mode to ncurses 'g' test to - verify that keypad and scrollok are not inherited from parent window - during a call to newwin. - + correction to MKexpanded.sh to make it work when configure --srcdir - is used (reported by H.J.Lu). - + revise test for bool-type, ensuring that it checks if builtin.h is - available before including it, adding test for sizeof(bool) equal - to sizeof(short), and warning user if the size cannot be determined - (reported by Alexander V. Lukyanov). - + add files to support configuration of ncurses as an add-on library - for GNU libc (patch by H.J.Lu ) - -970506 - + correct buffer overrun in lib_traceatr.c - + modify change to lib_vidattr.c to avoid redundant orig_pair. - + turn on 'echo()' in hanoi.c, since it is initially off. - + rename local 'errno' variable in etip.h to avoid conflict with global - (H.J.Lu). - + modify configure script to cache LD, AR, AR_OPTS (patch by H.J.Lu - ) - -970505 4.1 pre-release - + regenerate the misc directory html dumps without the link list, which - is not useful. - + correct dependency in form directory makefile which caused - unnecessary recompiles. - + correct substitution for ABI_VERSION in test-makefile - + modify install rules for shared-library targets to remove the target - before installing, since some install programs do not properly handle - overwrite of symbolic links. - + change order of top-level targets so that 'include' immediate - precedes the 'ncurses' directory, reducing the time between new - headers and new libraries (requested by Larry Virden). - + modify lib_vidattr.c so that colors are turned off only before - modifying other attributes, turned on after others. This makes the - hanoi.c program display correctly on FreeBSD console. - + modify debug code in panel library to print user-data addresses - rather than the strings which they (may) point to. - + add check to ensure that C++ binding and demo are not built with g++ - versions below 2.7, since the binding uses templates. - + modify c++ binding and demo to build and run with SGI's c++ compiler. - (It also compiles with the Sun SparcWorks compiler, but the demo does - not link, due to a vtbl problem). - + corrections to demo.cc, to fix out-of-scope variables (Juergen - Pfeifer). - -970503 - + correct memory leak in _nc_trace_buf(). - + add configure test for regexpr.h, for Unixware 1.x. - + correct missing "./" prefixing names of generated files in ncurses - directory. - + use single-quotes in configure scripts assignments for MK_SHARED_LIB - to workaround shell bug on FreeBSD 2.1.5 - + remove tabs from intermediate #define's for GCC_PRINTF, GCC_SCANF - that caused incorrect result in ncurses_cfg.h - + correct initialization in lib_trace.c, which omitted version info. - + remove ech, el1 attributes from cons25w description; they appear to - malfunction in FreeBSD 2.1.5 - + correct color attributes in terminfo.src and lib_color.c to match - SVr4 behavior by interchanging codes 1,4, 3,6 in the setf/setb - capabilities. - + use curs_set() rather than checks via tigetstr() for test programs - that hide the cursor: firework, rain, worm. - + ensure that if the terminal lacks change_scroll_region, parm_index - and parm_rindex are used only to scroll the whole screen (patch by - Peter Wemm). - + correct curs_set() logic, which did not return ERR if the requested - attributes did not exist, nor did it assume an unknown initial state - for the cursor (patch by Alexander V. Lukyanov). - + combine IDcTransformLine and NoIDcTransformLine to new TransformLine - function in lib_doupdate.c (patch by Alexander V. Lukyanov). - + correct hashmap.c, which did not update index information (patch by - Alexander V. Lukyanov). - + patch by Juergen Pfeifer for C++ binding and demo (see c++/NEWS) - + correct index in lib_instr.c (Juergen Pfeifer). - + correct typo in 970426 patch from Tom's cleanup of lib_overlay.c - (Juergen Pfeifer). - -970426 - + corrected cost computation in PutRange(), which was using - milliseconds compared to characters by adding two new members to the - SCREEN struct, _hpa_ch_cost and _cup_ch_cost. - + drop ncurses/lib_unctrl.c, add ncurses/MKunctrl.awk to generate a - const array of strings (suggested by Alexander V. Lukyanov, though - with a perl script 970118). - + rewrote ncurses 'b' test to better exercise magic-cookie (xmc), as - well as noting the attributes that are not supported by a terminal. - + trace the computation of cost values in lib_mvcur.c - + modify _nc_visbuf() to use octal rather than hex, corrected sign - extension bug in that function that caused buffer overflow. - + modify trace in lib_acs.c to use _nc_visbuf(). - + suppress trace within _traceattr2(). - + correct logic of _tracechtype2(), which did not account for repeats - or redefinition within an acsc string. - + modify debug-library version baudrate() to use environment variable - $BAUDRATE to override speed computation. This is needed for - regression testing. - + correct problems shown by "weblint -pedantic". - + update mailing-list information (now ncurses@bsdi.com). - -970419 - + Improve form_field_validation.3x manpage to better describe the - precision parameter for TYPE_NUMERIC and TYPE_INTEGER. Provide more - precise information how the range checking can be avoided. (patch by - Juergen Pfeifer, reported by Bryan Henderson) - + change type of min/max value of form types TYPE_INTEGER to long to - match SVr4 documentation. - + set the form window to stdscr in set_form_win() so that form_win() - won't return null (patch by Juergen Pfeifer, reported by Bryan - Henderson ). - -970412 - + corrected ifdef'ing of inline (from 970321) for TRACE vs C++. - + corrected toggle_attr_off() macro (patch by Andries.Brouwer). - + modify treatment of empty token in $MANPATH to /usr/man (reported by - ) - + modify traces that record functions-called so that chtype and attr_t - values are expressed symbolically, to simplify reuse of generated - test-scripts on SVr4 regression testing. - + add new trace functions _traceattr2() and _tracechtype2() - -970405 - + add configure option --enable-const, to support the use of 'const' - where XSI should have, but did not, specify. This defines - NCURSES_CONST, which is an empty token otherwise, for strict - compatibility. - + make processing of configure options more verbose by echoing the - --enable/--with values. - + add configure option --enable-big-core - + set initial state of software echo off as per XSI. - + check for C++ builtin.h header - + correct computation of absolute-path for $INSTALL that dropped "-c" - parameter from the expression. - + rename config.h to ncurses_cfg.h to avoid naming-conflict when - ncurses is integrated into larger systems (from diffs by H.J.Lu for - libc). - + correct inequality in lib_doupdate.c that caused a single-char to not - be updated when the char on the right-margin was not blank, idcok() - was true (patch by Alexander V. Lukyanov 970124, also reported by - Kriang Lerdsuwanakij 970329). - + modify 'clean' rule in include/Makefile so that files created by - configure script are removed in 'distclean' rule instead. - -970328 - + correct array limit in tparam_internal(), add case to interpret "%x" - (patch by Andreas Schwab) - + rewrote number-parsing in ncurses.c 'd' test; it did not reset the - value properly when non-numeric characters were given (reported by - Andreas Schwab ) - -970321 - + move definition of __INTERNAL_CAPS_VISIBLE before include for - progs.priv.h (patch by David MacKenzie). - + add configuration summary, reordered check for default include - directory to better accommodate a case where installer is configuring - a second copy of ncurses (reported by Klaus Weide - ) - + moved the #define for 'inline' as an empty token from the - $(CFLAGS_DEBUG) symbol into config.h, to avoid redefinition warning - (reported by Ward Horner). - + modify test for bool builtin type to use 'unsigned' rather than - 'unknown' when cross-compiling (reported by Ward Horner). - -970315 - + add header dependencies so that "make install.libs" will succeed - even if "make all" is not done first. - + moved some macros from lib_doupdate.c to curses.priv.h to use in - expanded functions with ATAC. - + correct implementation of lib_instr.c; both XSI and SVr4 agree that - the winnstr functions can return more characters than will fit on one - line. - -970308 - + modify script that generates lib_gen.c to support traces of called & - return. - + add new configure option "--disable-macros", for testing calls within - lib_gen.c - + corrected logic that screens level-checking of called/return traces. - -970301 - + use new configure macro NC_SUBST to replace AC_PATH_PROG, better - addressing request by Ward Horner. - + check for cross-compiling before trying to invoke the autoconf - AC_FUNC_SETVBUF_REVERSED macro (reported by Ward Horner) - + correct/simplify loop in _nc_visbuf(), 970201 changes omitted - a pointer-increment. - + eliminate obsolete symbol SHARED_ABI from dist.mk (noted by - Florian La Roche). - -970215 - + add configure option --enable-expanded, together with code that - implements an expanded form of certain complex macros, for testing - with ATAC. - + disable CHECK_POSITION unless --with-assertions is configured - (Alexander Lukyanov pointed out that this is redundant). - + use keyname() to show traced chtype values where applicable rather - than _tracechar(), which truncates the value to 8-bits. - + minor fixes to TRACE_ICALLS, added T_CREATE, TRACE_CCALLS macros. - + modify makefiles in progs and test directories to avoid using C - preprocessor options on link commands (reported by Ward Horner) - + correct ifdef/include-order for nc_alloc.h vs lib_freeall.c (reported - by Ward Horner) - + modify ifdef's to use configure-defined symbols consistently - (reported by Ward Horner) - + add/use new makefile symbols AR, AR_OPTS and LD to assist in non-UNIX - ports (reported by Ward Horner ) - + rename struct try to struct tries, to avoid name conflict with C++ - (reported by Gary Johnson). - + modify worm.c to hide cursor while running. - + add -Wcast-qual to gcc warnings, fix accordingly. - + use PutChar rather than PutAttrChar in ClrToEOL to properly handle - wrapping (Alexander Lukyanov). - + correct spurious echoing of input in hanoi.c from eric's #291 & #292 - patches (reported by Vernon C. Hoxie ). - + extend IRIX configuration to IRIX64 - + supply missing install.libs rule needed after restructuring - test/Makefile.in - -970208 - + modify "make mostlyclean" to leave automatically-generated source - in the ncurses directory, for use in cross-compiles. - + autogenerated object-dependencies for test directory - + add configure option --with-rcs-ids - + modify configuration scripts to generate major/minor/patch versions - (suggested by Alexander Lukyanov). - + supply missing va_end's in lib_scanw.c - + use stream I/O for trace-output, to eliminate fixed-size buffer - + add TRACE_ICALLS definition/support to lib_trace.c - + modify Ada95 binding to work with GNAT 3.09 (Juergen Pfeifer). - -970201 - + add/modify traces for called/return values to simplify extraction - for test scripts. - + changed _nc_visbuf to quote its result, and to dynamically allocate - the returned buffer. - + invoke ldconfig after installing shared library - + modify install so that overwrite applies to shared library -lcurses - in preference to static library (reported by Zeyd 960928). - + correct missing ';' in 961221 mod to overwrite option use of $(LN_S). - + fixes to allow "make install" to work without first doing a "make - all" (suggested by Larry Virden). - -970125 - + correct order of #ifdef for TABS_OK. - + instrumented toe.c to test memory-leaks. - + correct memory-deallocation in toe.c (patch by Jesse Thilo). - + include in configuration test for regex.h (patch by - Andreas Schwab) - + make infocmp recognize -I option, for SVr4 compatibility (reported by - Andreas Schwab ) - -970118 - + add extension 'use_default_colors()', modified test applications that - use default background (firework, gdc, hanoi, knight, worm) to - demonstrate. - + correct some limit checks in lib_doupdate.c exposed while running - worm. - + use typeCalloc macro for readability. - + add/use definition for CONST to accommodate testing with Solaris - (SVr4) curses, which doesn't use 'const' in its prototypes. - + modify ifdef's in test/hashtest.c and test/view.c to compile with - Solaris curses. - + modify _tracedump() to pad pad colors & attrs lines to match change - in 970101 showing first/last changes. - + corrected location of terminating null on dynamically allocated forms - fields (patch by Per Foreby). - -970111 - + added headers to make view.c compile on SCO with the resizeterm() - code (i.e., struct winsize) - though this compiles, I don't have a - suitable test configuration since SIGWINCH doesn't pass my network to - that machine - T.Dickey. - + update test/configure.in to supply some default substitutions. - + modify configure script to add -lncurses after -lgpm to fix problem - linking against static libraries. - + add a missing noraw() to test/ncurses.c (places noted by Jeremy - Buhler) - + add a missing wclear() to test/testcurs.c (patch by Jeremy Buhler - ) - + modify headers to accommodate compilers that don't allow duplicate - "#define" lines for NCURSES_VERSION (reported by Larry W. Virden - ) - + fix formatting glitch in curs_getch.3x (patch by Jesse Thilo). - + modify lib_doupdate to make el, el1 and ed optimization use the - can_clear_with macro, and change EmitRange to allow leaving cursor at - the middle of interval, rather than always at the end (patch by - Alexander Lukyanov originally 960929, resync 970106). - -970104 - + workaround defect in autoconf 2.12 (which terminates configuration - if no C++ compiler is found) by adding an option --without-cxx. - + modify several man-pages to use tbl, where .nf/.fi was used (reported - by Jesse Thilo). - + correct font-codes in some man-pages (patch by Jesse Thilo - ) - + use configure script's knowledge of existence of g++ library for the - c++ Makefile (reported by Paul Jackson). - + correct misleading description of --datadir configuration option - (reported by Paul Jackson ) - -970101 - + several corrections to _nc_mvcur_scrolln(), prompted by a bug report - from Peter Wemm: - > the logic for non_dest_scroll_region was interchanged between the - forward & reverse scrolling cases. - > multiple returns from the function allowed certain conditions to do - part of an operation before discovering that it couldn't be - completed, returning an error without restoring the cursor. - > some returns were ERR, where the function had completed the - operation, because the insert/delete line logic was improperly - tested (this was probably the case Peter saw). - > contrary to comments, some scrolling cases were tested after the - insert/delete line method. - + modify _tracedump() to show first/last changes. - + modify param of ClrUpdate() in lib_doupdate.c to 'newscr', fixes - refresh problem (reported by Peter Wemm) that caused nvi to not show - result of ":r !ls" until a ^L was typed. - -961229 (internal alpha) - + correct some of the writable-strings warnings (reported by Gary - Johnson ). Note that most of the remaining ones - are part of the XSI specification, and can't be "fixed". - + improve include-dependencies in form, menu, panel directories. - + correct logic of delay_output(), which would return early if - there is data on stdin. - + modify interface & logic of _nc_timed_wait() to support 2 file - descriptors, needed for GPM. - + integrate patch by Andrew Kuchling for GPM (mouse) - support, correcting logic in wgetch() and _nc_mouse_parse() which - prevented patch from working properly. - + improve performance of panel algorithm (Juergen Pfeifer 961203). - + strip RCS id's from generated .html files in Ada95 subtree. - + resync with generated .html files (Juergen Pfeifer 961223). - + terminfo.src 10.1.0 from Eric. - -961224 4.0 release - + release as 4.0 to accommodate Linux ld.so.1.8.5 - + correct syntax/spelling, regenerated .doc files from .html using - lynx 2.5 - + refined forms/menus makefiles (Juergen Pfeifer 961223). - -961221 - snapshot - + remove logic in read_entry.c that attempts to refine errno by using - 'access()' for the directory (from patch by Florian La Roche). - + correct configure test/substitution that inhibits generating - include-path to /usr/include if gcc is used (reported by Florian La - Roche). - + modify setupterm() to allocate new TERMINAL for each call, just as - solaris' curses does (Alexander Lukyanov 960829). - + corrected memory leaks in read_entry.c - + add configure options --with-dbmalloc, --with-dmalloc, and - --disable-leaks, tested by instrumenting infocmp, ncurses programs. - + move #include's for stdlib.h and string.h to *.priv.h to accommodate - use of dbmalloc. - + modify use of $(LN_S) to follow recommendation in autoconf 2.12, - i.e., set current directory before linking. - + split-out panel.priv.h, improve dependencies for forms, menus - (Juergen Pfeifer 961204). - + modify _nc_freewin() to reset globals curscr/newscr/stdscr when - freeing the corresponding WINDOW (Purify). - + modify delwin() to return ERR if the window to be deleted has - subwindows, needed as a side-effect of resizeterm() (Purify). Tested - and found that SVr4 curses behaves this way. - + implement logic for _nc_freeall(), bringing stub up to date. - -961215 - + modify wbkgd() so that it doesn't set nulls in the rendered text, - even if its argument doesn't specify a character (fixes test case by - Juergen Pfeifer for bug-report). - + set window-attributes in wbkgd(), to simplify comparison against - Solaris curses, which does this. - -961214 - snapshot - + replace most constants in ncurses 'o' test by expressions, making it - work with wider range of screen sizes. - + add options to ncurses.c to specify 'e' test softkey format, and the - number of header/footer lines to rip-off. - + add ^R (repaint after resize), ^L (refresh) commands to ncurses 'p' - test. - + add shell-out (!) command to ncurses 'p' test to allow test of - resize between endwin/refresh. - + correct line-wrap case in mvcur() by emitting carriage return, - overlooked in 960928, but needed due to SVr4 compatibility changes to - terminal modes in 960907. - + correct logic in wresize that causes new lines to be allocated, - broken for the special case of increasing rows only in 960907's fix - for subwindows. - + modify configure script to generate $(LDFLAGS) with -L and -l options - in preference to explicit library filenames. (NOTE: this may - require further amending, since I vaguely recall a dynamic loader - that did not work properly without the full names, but it should be - handled as an exception to the rule, since some linkers do bulk - inclusion of libraries when given the full name - T.Dickey). - + modify configure script to allow user-supplied $CFLAGS to set the - debug-option in all libraries (requested by lots of people). - + use return consistently from main(), rather than exit (reported by - Florian La Roche). - + add --enable-getcap-cache option to configure, normally disabled - (requested by Florian La Roche). - + make configure test for gettimeofday() and possibly -lbsd more - efficient (requested by Florian La Roche florian@knorke.saar.de) - + minor adjustments to Ada95 binding (patches by Juergen Pfeifer) - + correct attributes after emitting orig_pair in lib_vidattr.c (patch - by lav@yars.free.net). - -961208 - + corrected README wrt Ada95 (Juergen Pfeifer) - -961207 - snapshot - + integrate resizeterm() into doupdate(), so that if screen size - changes between endwin/refresh, ncurses will resize windows to fit - (this needs additional testing with pads and softkeys). - + add, for memory-leak testing, _nc_freeall() entrypoint to free all - data used in ncurses library. - + initialize _nc_idcok, _nc_idlok statically to resolve discrepancy - between initscr() and newwin() initialization (reported by - lav@yars.free.net). - + test built VERSION=4.0, SHARED_ABI=4 with Linux ld.so.1.8.5 - (set beta versions to those values -- NOTE that subsequent pre-4.0 - beta may not be interchangeable). - + modify configure script to work with autoconf 2.12 - -961130 1.9.9g release - + add copyright notices to configuration scripts (written by Thomas - Dickey). - -961127 - > patch by Juergen Pfeifer (mostly for panel): - + cosmetic improvement for a few routines in the ncurses core library - to avoid warning messages. - + the panel overlap detection was broken - + the panel_window() function was not fool-proof. - + Some inlining... - + Cosmetic changes (also to avoid warning messages when compiling with - -DTRACE). - -961126 - > patch by Juergen Pfeifer: - + eliminates warning messages for the compile of libform. - + inserts Per Foreby's new field type TYPE_IPV4 into libform. - + Updates man page and the Ada95 binding to reflect this. - + Improves inlining in libmenu and libform. - -961120 - + improve the use of the "const" qualifier in the - panel library (Juergen Pfeifer) - + change set_panel_userptr() and panel_userptr() to use void* - (Juergen Pfeifer) - -961119 - + change ABI to 3.4 - + package with 961119 version of Ada95 binding (fixes for gnat-3.07). - (Juergen Pfeifer) - + correct initialization of the stdscr pseudo panel in panel library - (Juergen Pfeifer) - + use MODULE_ID (rcs keywords) in forms and menus libraries (Juergen - Pfeifer). - > patch #324 by Eric. - + typo in curs_termcap man page (reported by Hendrik Reichel - <106065.2344@compuserve.com>) - + change default xterm entry to xterm-r6. - + add entry for color_xterm - -961116 - snapshot - + lint found several functions that had only #define implementations - (e.g., attr_off), modified curses.h.in to generate them as per XSI - Curses requirement that every macro be available as a function. - + add check in infocmp.c to guard against string compare of - CANCELLED_STRING values. - + modify firework.c, rain.c to hide cursor while running. - + correct missing va_end in lib_tparm.c - + modify hanoi.c to work on non-color terminals, and to use timing - delays when in autoplay mode. - + correct 'echochar()' to refresh immediately (reported by Adrian - Garside 94ajg2@eng.cam.ac.uk) - > patch #322 by eric: - + reorganize terminfo.src entries for xterm. - -961109 - snapshot - + corrected error in line-breakout logic (lib_doupdate.c) - + modified newdemo to use wgetch(win) rather than getch() to eliminate - a spurious clear-screen. - + corrected ifdef's for 'poll()' configuration. - + added modules to ncurses, form, menu for Ada95 binding (Juergen - Pfeifer). - + modify set_field_buffer() to allow assignment of string longer than - the initial buffer length, and to return the complete string rather - than only the initial size (Juergen Pfeifer and Per Foreby - ). - -961102 - snapshot - + configure for 'poll()' in preference to 'select()', since older - systems are more likely to have a broken 'select()'. - + modified render_char() to avoid OR'ing colors. - + minor fixes to testcurs.c, newdemo.c test programs: ifdef'd out the - resize test, use wbkgd and corrected box() parameters. - + make flushinp() test work in ncurses.c by using napms() instead of - sleep(). - + undo Eric's changes to xterm-x11r6 (it no longer matched the X11R6.1 - distribution, as stated) - + terminfo 9.13.18 (resync by Eric) - + check for getenv("HOME") returning null (Eric). - + change buffer used to decode xterm-mouse commands to unsigned to - handle displays wider than 128 chars (Juergen Pfeifer). - + correct typo curs_outopts.3x (Juergen Pfeifer). - + correct limit-checking in wenclose() (Juergen Pfeifer). - + correction to Peter Wemm's newwin change (Thomas Fehr - ). - + corrections to logic that combines colors and attributes; they must - not be OR'd (Juergen Pfeifer, extending from report/patch by Rick - Marshall). - -961026 - snapshot - + reset flags in 'getwin()' that might cause refresh to attempt to - manipulate the non-existent parent of a window that is read from a - file (lib_screen.c). - + restructure _nc_timed_wait() to log more information, and to try to - recover from badly-behaved 'select()' calls (still testing this). - + move define for GOOD_SELECT into configure script. - + corrected extra '\' character inserted before ',' in comp_scan.c - + corrected expansion of %-format characters in dump_entry.c; some were - rendered as octal constants. - + modify dump_entry.c to make terminfo output more readable and like - SVr4, by using "\s" for spaces (leading/trailing only), "\," for - comma, "\^" and "\:" as well. - + corrected some memory leaks in ncurses.c, and a minor logic error - in the top-level command-parser. - + correction for label format 4 (PC style with info line), a - slk_clear(), slk_restore() sequence didn't redraw the info line - (Juergen Pfeifer). - + modified the slk window (if simulated) to inherit the background and - default character attributes from stdscr (Juergen Pfeifer). - + corrected limit-check in set_top_row (Juergen Pfeifer). - -961019 - snapshot - + correct loop-limit in wnoutrefresh(), bug exposed during pipe-testing - had '.lastchar' entry one beyond '._maxx'. - + modify ncurses test-program to work with data piped to it. - + corrected pathname computation in run_tic.sh, removing extra "../" - (reported by Tim Mooney). - + modified configure script to use previous install's location for - curses.h - + added NetBSD and FreeBSD to platforms that use --prefix=/usr as - a default. - -961013 - + revised xterm terminfo descriptions to reflect the several versions - that are available. - + corrected a pointer reference in dump_entry.c that didn't test if - the pointer was -1. - -961005 - snapshot - + correct _nc_mvcur_scrolln for terminals w/o scrolling region. - + add -x option to hashtest to control whether it allows writes to the - lower-right corner. - + ifdef'd (NCURSES_TEST) the logic for _nc_optimize_enable to make it - simpler to construct tests (for double-check of _nc_hash_map tests). - + correct ifdef's for c++ in curses.h - + change default xterm type to xterm-x11r6. - + correct quoting in configure that made man-pages installed with - $datadir instead of actual terminfo path. - + correct whitespace in include/Caps, which caused kf11, clr_eol and - clr_end to be omitted from terminfo.5 - + fix memory leaks in delscreen() (adapted from Alexander Lukyanov). - + improve appearance of marker in multi-selection menu (Juergen - Pfeifer) - + fix behaviour for forms with all fields inactive (Juergen - Pfeifer) - + document 'field_index()' (Juergen Pfeifer) - > patch #321 by eric: - + add some more XENIX keycap translations to include/Caps. - + modify newwin to set initial state of each line to 'touched' - (from patch by Peter Wemm ) - + in SET_TTY, replace TCSANOW with TCSADRAIN (Alexander Lukyanov). - -960928 - snapshot - + ifdef'd out _nc_hash_map (still slower) - + add graphic characters to vt52 description. - + use PutAttrChar in ClrToEOL to ensure proper background, position. - + simplify/correct logic in 'mvcur()' that does wrapping; it was - updating the position w/o actually moving the cursor, which broke - relative moves. - + ensure that 'doupdate()' sets the .oldindex values back to a sane - state; this was causing a spurious refresh in ncurses 'r'. - + add logic to configure (from vile) to guard against builders who - don't remove config.cache & config.status when doing new builds. - + corrected logic for 'repeat_char' in EmitRange (from #317), which - did not follow the 2-parameter scheme specified in XSI. - + corrected logic of wrefresh, wnoutrefresh broken in #319, making - clearok work properly (from report by Michael Elkins). - + corrected problem with endwin introduced by #314 (removing the - scrolling-region reset) that broke ncurses.c tests. - + corrected order of args in AC_CHECK_LIB (from report by Ami Fischman - ). - + corrected formatting of terminfo.5 tables (Juergen Ehling) - > patch 320 by eric: - + change ABI to 3.3 - + emit a carriage-return in 'endwin()' to workaround a kernel bug in - BSDI. (requested by Mike Karels ) - + reverse the default o configure --enable-termcap (consensus). - > patch 319 by eric: - + modified logic for clearok and related functions (from report by - Michael Elkins) - untested - > patch 318 by eric: - + correction to #317. - > patch 317 by eric: - + re-add _nc_hash_map - + modify EmitRange to maintain position as per original design. - + add hashtest.c, program to time the hashmap optimization. - > patch 316 by eric: - + add logic to deal with magic-cookie (how was this tested?) - (lib_doupdate.c). - + add ncurses.c driver for magic-cookie, some fixes to ncurses.c - > patch 315 by eric: - + merged A. Lukyanov's patch to use ech and rep - untested - (lib_doupdate.c). - + modified handling of interrupted system calls - untested - (lib_getch.c, lib_twait.c). - + new function _nc_mvcur_resume() - + fix return value for 'overlay()', 'overwrite()' - -960914 - snapshot - + implement subwindow-logic in wresize, minor fixes to ncurses 'g' - test. - + corrected bracketing of fallback.c (reported/suggested fix by Juergen - Ehling ). - + update xterm-color to reflect XFree86 3.1.3G release. - + correct broken dtterm description from #314 patch (e.g., spurious - newline. The 'pairs' change might work, but no one's tested it - either ;-) - + clarify the documentation for the builtin form fieldtypes (Juergen - Pfeifer) - > patch 314 by eric: - + Enhancement suggested by A. Lukyanov -- reset scroll region on - startup rather than at wrapup time. - + Fix suggested by A. Lukyanov, make storage of palette tables - and their size counts per-screen for multi-terminal applications. - + Improved error reporting for infotocap translation errors. - + Update terminfo.src to 9.13.14. - -960907 - snapshot - + rewrote wgetstr to make it erase control chars and also fix bogus use - of _nc_outstr which caused the display to not wrap properly (display - problem reported by John M. Flinchbaugh ) - + modify ncurses 'f' test to accommodate terminal responses to C1 codes - (and split up this screen to accommodate non-ANSI terminals). - + test enter_insert_mode and exit_insert_mode in has_ic(). - + removed bogus logic in mvcur that assumes nl/nonl set output modes - (XSI says they are input modes; SVr4 implements this). - + added macros SET_TTY, GET_TTY to term.h - + correct getstr() logic that altered terminal modes w/o restoring. - + disable ICRNL, etc., during initialization to match SVr4, removing - the corresponding logic from raw, cbreak, etc. - + disable ONLCR during initialization, to match SVr4 (this is needed - for cursor optimization when the cursor-down is a newline). - + replaced Eric's imitation of wresize with my original (his didn't - work). - -960831 - snapshot - + memory leaks (Alexander V. Lukyanov). - + modified pnoutrefresh() to be more tolerant of too-large screen - size (reported by Michael Elkins). - + correct handling of terminfo files with no strings (Philippe De - Muyter) - + correct "tic -s" to take into account -I, -C options. - + modify ncurses 'f' test to not print codes 80 through 9F, since they - are considered control codes by ANSI terminals. - -960824 - snapshot - + correct speed variable-type in 'tgetent()' (reported by Peter Wemm) - + make "--enable-getcap" configuration-option work (reported by - Peter Wemm ) - -960820 - + correct err in 960817 that changed return-value of tigetflag() - (reported by Alexander V. Lukyanov). - + modify infocmp to use library default search-path for terminfo - directory (Alexander V. Lukyanov). - -960817 - snapshot - + corrected an err in mvcur that broke resizing-behavior. - + correct fall-thru behavior of _nc_read_entry(), which was not finding - descriptions that existed in directories past the first one searched - (reported by Alexander V. Lukyanov) - + corrected typo in dtterm description. - > patch 313 by eric: - + add dtterm description - + clarify ncurses 'i' test (drop vscanf subtest) - -960810 - snapshot - + correct nl()/nonl() to work as per SVr4 & XSI. - + minor fixes to ncurses.c (use 'noraw()', mvscanw return-code) - + refine configure-test for -g option (Tim Mooney). - + correct interaction between O_BLANK and NEW_LINE request in form - library (Juergen Pfeifer) - -960804 - + revised fix to tparm; previous fix reversed parameter order. - > patch 312 by eric: - correct terminfo.src corrupted by #310 - > patch 311 by eric: - + fix idlok() and idcok() and the default of the idlok switch. - -960803 - snapshot - + corrected tparm to handle capability strings without explicit pop - (reported by William P Setzer) - + add fallback def for GCC_NORETURN, GCC_UNUSED for termcap users - (reported by Tim Mooney). - > patch 310 by eric: - + documentation and prototyping errors for has_color, immedok and idcok - (reported by William P Setzer ) - + updated qnx terminfo entry (by Michael Hunter) - -960730 - + eliminate quoted includes in ncurses subdirectory, ensure config.h - is included first. - + newterm initializes terminal settings the same as initscr (reported - by Tim Mooney). - -960727 - snapshot - + call cbreak() in initscr(), as per XSI & SVr4. - + turn off hardware echo in initscr() as per XSI & SVr4 - > patch 309 by eric: - + terminfo changes (9.3.10), from BRL - + add more checks to terminfo parser. - + add more symbols to infocmp. - -960720 - snapshot - + save previous-attribute in lib_vidattr.c if SP is null (reported by - Ju"rgen Fluk ) - + corrected calls on _nc_render so that background character is set - as per XSI. - + corrected wbkgdset macro (XSI allows background character to be - null), and tests that use it. - + more corrections to terminfo (xterm & rxvt) - + undid change to mcprint prototype (cannot use size_t in curses.h - because not all systems declare it in the headers that we can safely - include therein). - + move the ifdefs for errno into curses.priv.h - > patch 308 by eric: - + terminfo changes (9.3.8) - + modified logic of error-reporting in terminfo parser - -960713 - snapshot - + always check for since ISC needs it to declare - fd_set (Juergen Pfeifer) - + install shared-libraries on NetBSD/FreeBSD with ABI-version (reported - by several people: Juergen Pfeifer, Mike Long) - + add LOCAL_LDFLAGS2 symbol (Juergen Pfeifer) - + corrected prototype for delay_output() -- bump ABI to 3.2 - + terminfo patches #306/307 from Eric. - + moved logic that filters out rmul and rmso from setupterm to newterm - where it is less likely to interfere with termcap applications. - -960707 - + rollback Eric's #305 change to terminfo.src (it breaks existing - applications, e.g., 'less 290'). - + correct path of edit_man.sh, and fix typo that made all man-pages - preformatted. - + restore man/menu_requestname.3x omitted in Zeyd's resync (oops). - + auto-configure the GCC_PRINTFLIKE/GCC_SCANFLIKE macros (reported by - Philippe De Muyter). - -960706 - snapshot - + make lib_vidattr.c more readable using macros. - + filter out rmul, rmso that conflict with sgr0 when reading terminal - descriptions. - + added sanity-checking of various paired string attributes (Eric). - + work around autoconf bug, force $INSTALL to absolute path. - (reported by Zeyd). - + modify man-page install for BSDI to install preformatted .0 files - (reported by David MacKenzie). - + add/use gcc __attribute__ for printf and scanf in curses.h - + added SGR attributes test-case to ncurses - + revised ncurses 't' logic to show trace-disable effect in the menu. - + use getopt in ncurses program to process -s and -t options. - + make ncurses 'p' legend toggle with '?' - + disable scrollok during the ncurses 'p' test; if it is enabled the - stdscr will scroll when putting the box-corners in the lower-right - of the screen. - -960629 - snapshot - + check return code of _nc_mvcur_scrolln() in _nc_scroll_optimize() for - terminals with no scrolling-support (reported by Nikolay Shadrin - ) - + added ^S scrollok-toggle to ncurses 'g' test. - + added ^T trace-toggle to ncurses tests. - + modified ncurses test program to use ^Q or ESC consistently for - terminating tests (rather than ^D), and to use control keys rather - than function keys in 'g' test. - + corrected misplaced wclrtoeol calls in addch to accommodate wrapping - (reported by Philippe De Muyter). - + modify lib_doupdate.c to use effective costs to tradeoff between - delete-character/insert-character vs normal updating (reported by - David MacKenzie). - + compute effective costs for screen update operations (e.g., clr_eos, - delete_character). - + corrected error in knight.c exposed by wrap fixes in 960622; the - msgwin needed scrollok set. - + corrected last change to IDcTransformLine logic to avoid conflict - between PutRange and InsStr - + modified run_tic.sh to not use /usr/tmp (reported by David - MacKenzie), and further revised it and aclocal.m4 to use $TMPDIR if - set. - + corrected off-by-one in RoomFor call in read_entry.c - -960622 - snapshot - + modified logic that wraps cursor in addch to follow the XSI spec, - (implemented in SVr4) which states that the cursor position is - updated when wrapping. Renamed _NEED_WRAP to _WRAPPED to reflect the - actual semantics. - + added -s option to tic, to provide better diagnostics in run_tic.sh - + improved error-recovery for tabset install. - + change ABI to 3.1 (dropped tparam, corrected getbkgd(), added - _yoffset to WINDOW). - + modified initialization of SP->_ofp so that init_acs() is called with - the "right" file pointer (reported by Rick Marshall - + documentation fixes (Juergen Pfeifer). - + corrected, using new SCREEN and WINDOW members, the behavior of - ncurses if one uses ripoffline() to remove a line from the top of the - screen (Juergen Pfeifer). - + modified autoconf scripts to prepare for Ada95 (GNAT) binding to - ncurses (Juergen Pfeifer). - + incorrect buffer-size in _nc_read_entry, reported by Eric Raymond. - -960617 - + corrected two logic errors in read_entry.c, write_entry.c (called by - tic, the write/read of terminfo entries used inconsistent rules for - locating the entries; the $TERMINFO_DIRS code would find only the - first entry in a list). - + refined pathname computation in run_tic.sh and shlib. - + corrected initialization of $IP in misc/run_tic.sh - -960615 - snapshot - + ifdef'd out _nc_hash_map() call because it does not improve speed. - + display version of gcc if configure script identifies it. - + modify configure script to use /usr as Linux's default prefix. - + modify run_tic.sh to use shlib script, fixes some problems installing - with a shared-library configuration. - + adjusted configure script so that it doesn't run tests with the - warnings turned on, which makes config.log hard to read. - + added 'lint' rule to top-level Makefile. - + added configure option '--with-install-prefix' for use by system - builders to install into staging locations (from request by - charles@comm.polymtl.ca) - + corrected autoconfigure for Debian man program; it's not installed - as "man_db". - + set noecho in 'worm'; it was ifdef'd for debug only - + updated test/configure.in for timing-display in ncurses 'p' test - + corrected misspelled 'getbkgd()'. - + corrected wbkgdset to work like observed syvr4 (sets A_CHARTEXT part - to blank if no character given, copies attributes to window's - attributes). - + modified lib_doupdate.c to use lower-level SP's current_attr state - instead of curscr's state, since it is redundant. - + correction to IDcTransformLine logic which controls where InsStr is - invoked (refined by lav@yars.free.net). - > patches 303 by eric - + conditionally include Chris Torek's hash function _nc_hash_map(). - + better fix for nvi refresh-bug (Rick Marshall) - + fix for bug in handling of interrupted keystroke waits, - (Werner Fleck). - -960601 - snapshot - + auto-configure man-page compression-format and renames for Debian. - + corrected several typos in curses.h.in (i.e., the mvXXXX macros). - + re-order curses.priv.h for lint. - + added rules for lintlib, lint - + corrected ifdef for BROKEN_LINKER in MKnames.awk.in - + corrected missing INSTALL_DATA in misc/Makefile.in - + flush output when changing cursor-visibility (Rick Marshall) - + fix a minor bug in the _nc_ripoff() routine and improve error - checking when creating the label window (Juergen Pfeifer). - + enhancement to the control over the new PC-style soft key format. - allow caller now to select whether or not one wants to have - the index-line; see curs_slk.3x for documentation (Juergen Pfeifer). - + typos, don't use inline with -g (Philippe De Muyter) - + fixes for menus & wattr-, slk-functions (Juergen Pfeifer) - -960526 - snapshot - + removed --with-ticdir option altogether, maintain compatibility with - existing applications via symbolic link in run_tic.sh - + patch for termio.h, signal (Philippe De Muyter) - + auto-configure gcc warning options rather than infer from version. - + auto-configure __attribute__ for different gcc versions. - + corrected special use of clearok() in hardscroll.c by resetting flag - in wrefresh(). - + include stdlib.h before defs for EXIT_SUCCESS, for OSF/1. - + include sys/types.h in case stdlib.h does not declare size_t. - + fixes for makefile (Tim Mooney) - + fixes for menus & forms (Juergen.Pfeifer@T-Online.de) - -960518 - snapshot - + revised ncurses.c panner test, let pad abut all 4 sides of screen. - + refined case in lib_doupdate.c for ClrToEOL(). - + corrected prior change for PutRange (Alexander V. Lukyanov: - lav@yars.free.net). - + autoconf mods (Tim Mooney: mooney@dogbert.cc.ndsu.NoDak.edu). - + locale fix for forms (Philippe De Muyter: phdemuyt@ulb.ac.be) - + renamed "--with-datadir" option to "--with-ticdir" to avoid - confusion, and made this check for the /usr/lib/terminfo pre-existing - directory. - > patches 299-301 by eric: - + added hashmap.c - + mods to tracing, especially for ACS chars. - + corrected off-by-one in IDCtransform. - + corrected intermittent mouse bug by using return-value from read(). - + mods to parse_entry.c, for smarter defaults. - -960512 - + use getopt in 'tic'; added -L option and modified -e option to allow - list from a file. - -960511 - + don't use fixed buffer-size in tparm(). - + modified tic to create terminfo directory if it doesn't exist. - + added -T options to tic and infocmp (for testing/analysis) - + refined the length criteria for termcap and terminfo - + optimize lib_doupdate with memcpy, PutRange - > patches 297, 298 by eric - + implement TERMINFO_DIRS, and -o option of tic - + added TRACE_IEVENT - + removed boolean version of 'getm' - + added lib_print.c (for Rick Marshall) - + added has_key() - + added 't' to ncurses.c test. - + moved delay_output() to lib_tputs.c - + removed tparam() (was added in 1.9.9, but conflicts with emacs and - is not part of X/Open Curses). - + misc cursor & optimization fixes. - -960504 - snapshot - + modified ncurses 'p' test to allow full-screen range for panner size. - + fixes for locale (phdm@labauto1.ulb.ac.be) - + don't use fixed buffer-size in fmt_entry(). - + added usage-message to 'infocmp'. - + modified install.includes rules to prepend subdirectory-name to - "#include" if needed. - -960430 - + protect wrefresh, wnoutrefresh from invocation with pad argument. - + corrected default CCFLAGS in test/Makefile. - -960428 - snapshot - + implemented logic to support terminals with background color erase - (e.g., rxvt and the newer color xterm). - + improved screen update logic (off-by-one logic error; use clr_eos if - possible) - -960426 - snapshot - + change ncurses 'a' test to run in raw mode. - + make TIOCGWINSZ configure test less stringent, in case user - configures via terminal that cannot get screen size. - > patches 295, 296 by eric: - + new "-e" option of tic. - + fix for "infocmp -e". - + restore working-directory in read_termcap.c - + split lib_kernel.c, lib_setup.c and names.c in order to reduce - overhead for programs that use only termcap features. - -960418 - snapshot - + use autoconf 2.9 - + fix for AIX 3.2.5 (must define _POSIX_SOURCE to get termios struct - definitions via , modified macros in lib_raw.c to avoid - K&R-style substitution) - > patches 293, 294 by eric: - + mods to wgetch() in cooked mode - + corrected askuser() logic in tset - + correct interaction of endwin() with mouse processing - + added trace support for TTY flags - -960406 - + fixes for NeXT, ISC and HPUX auto-configure - + autogenerate development header-dependencies (config.h, *.priv.h) - + corrected single-column formatting of "use=" (e.g., in tic) - + modify tic to read full terminfo-names - + corrected divide-by-zero that caused hang (or worse) when redirecting - output - + modify tic to generate directories only as-needed (and corrected - instance of use of data from function that had already returned). - -### ncurses-1.9.8a -> 1.9.9e - -* fixed broken wsyncup()/wysncdown(), as a result wnoutrefresh() now has - copy-changed-lines behavior. -* added and documented wresize() function. -* more fixes to LOWER-RIGHT corner handling. -* changed the line-breakout optimization code to allow some lines to be - emitted before the first check. -* added option for tic to use symbolic instead of hard links (for AFS) -* fix to restore auto-wrap mode. -* trace level can be controlled by environment variable. -* better handling of NULs in terminal descriptions. -* improved compatibility with observed SVR4 behavior. -* the refresh behavior of over-lapping windows is now more efficient and - behaves like SVR4. -* use autoconf 2.7, which results in a working setup for SCO 5.0. -* support for ESCDELAY. -* small fixes for menu/form code. -* the test directory has its own configure. -* fixes to pads when optimizing scrolling. -* fixed several off-by-one bugs. -* fixes for termcap->terminfo translation; less restrictions more correct - behavior. - -### ncurses-1.9.7 -> 1.9.8a - -* teach infocmp -i to recognize ECMA highlight sequences -* infocmp now dumps all SVr4 termcaps (not just the SVr4 ones) on -C -* support infocmp -RBSD. -* satisfy XSI Curses requirement that every macro be available as a function. -* This represents the last big change to the public interface of ncurses. The - ABI_VERSION has now been set at 3.0 and should stay there barring any great - catastrophies or acts of God. -* The C++ has been cleaned up in reaction to the changes to satisfy XSI's - requirements. -* libncurses now gets linked to libcurses to help seamless emulation - (replacement) of a vendor's curses. --disable-overwrite turns this behavior - off. - -### ncurses-1.9.6 -> 1.9.7 - -* corrected return values of setupterm() -* Fixed some bugs in tput (it does padding now) -* fixed a bug in tic that made it do the wrong thing on entries with more than - one `use' capability. -* corrected the screen-size calculation at startup time to alter the - numeric capabilities as per SVr4, not just LINES and COLS. -* toe(1) introduced; does what infocmp -T used to. -* tic(1) can now translate AIX box1 and font[0123] capabilities. -* tic uses much less core, the dotic.sh kluge can go away now. -* fix read_entry() and write_entry() to pass through cancelled capabilities OK. -* Add $HOME/.terminfo as source/target directory for terminfo entries. -* termcap compilation now automatically dumps an entry to $HOME/.terminfo. -* added -h option to toe(1). -* added -R option to tic(1) and infocmp(1). -* added fallback-entry-list feature. -* added -i option to infocmp(1). -* do a better job at detecting if we're on SCO. - -### ncurses-1.9.5 -> 1.9.6 - -* handling of TERMCAP environment variables now works correctly. -* various changes to shorten termcap translations to less that 1024 chars. -* tset(1) added -* mouse support for xterm. -* most data tables are now const and accordingly live in shareable text space. -* Obey the XPG4/SVr4 practice that echo() is initally off. -* tic is much better at translating XENIX and AIX termcap entries now. -* tic can interpret ko capabilities now. -* integrated Juergen Pfeifer's forms library. -* taught write_entry() how not to write more than it needs to; this change - reduces the size of the terminfo tree by a full 26%! -* infocmp -T option added. -* better warnings about historical tic quirks from tic. - -### ncurses 1.9.4 -> 1.9.5 - -* menus library is now included with documentation. -* lib_mvcur has been carefully profiled and tuned. -* Fixed a ^Z-handling bug that was tanking lynx(1). -* HJ Lu's patches for ELF shared libraries under Linux -* terminfo.src 9.8.2 -* tweaks for compiling in seperate directories. -* Thomas Dickey's patches to support NeXT's brain-dead linker -* Eric Raymond's patches to fix problems with long termcap entries. -* more support for shared libraries under SunOS and IRIX. - -### ncurses 1.9.3 -> 1.9.4 - -* fixed an undefined-order-of-evaluation bug in lib_acs.c -* systematically gave non-API public functions and data an _nc_ prefix. -* integrated Juergen Pfeifer's menu code into the distribution. -* totally rewrote the knight test game's interface - -### ncurses 1.9.2c -> 1.9.3 - -* fixed the TERMCAP_FILE Support. -* fixed off-by-one errors in scrolling code -* added tracemunch to the test tools -* took steps to cut the running time of make install.data - -### ncurses 1.9.2c -> 1.9.2d - -* revised 'configure' script to produce libraries for normal, debug, - profile and shared object models. - -### ncurses 1.9.1 -> 1.9.2 - -* use 'autoconf' to implement 'configure' script. -* panels support added -* tic now checks for excessively long termcap entries when doing translation -* first cut at eliminating namespace pollution. - -### ncurses 1.8.9 -> 1.9 - -* cleanup gcc warnings for the following: use size_t where 'int' is not - appropriate, fixed some shadowed variables, change attr_t to compatible with - chtype, use attr_t in some places where it was confused with 'int'. -* use chtype/attr_t casts as appropriate to ensure portability of masking - operations. -* added-back waddchnstr() to lib_addstr.c (it had been deleted). -* supplied missing prototypes in curses.h -* include in lib_termcap.c to ensure that the prototypes - are consistent (they weren't). -* corrected prototype of tputs in -* rewrote varargs parsing in lib_tparm.c (to avoid referencing memory - that may be out of bounds on the stack) -- Purify found this. -* ensure that TRACE is defined in lib_trace.c (to solve prototype - warnings from gcc). -* corrected scrolling-region size in 'mvcur_wrap()' -* more spelling fixes -* use 'calloc()' to allocate WINDOW struct in lib_newwin.c (Purify). -* set default value for SP->_ofp in lib_set_term.c (otherwise SunOS dumps - core in init_acs()). -* include in write_entry.c (most "braindead" includes declare errno - in that file). - -### ncurses 1.8.8 -> 1.8.9 - -* compile (mostly) clean with gcc 2.5.8 -Wall -Wstrict-prototypes - -Wmissing-prototypes -Wconversion and using __attribute__ to flush out - non-portable use of "%x" for pointers, or for chtype data (which is declared - as a long). -* modified doupdate to ensure that typahead was turned on before attempting - select-call (otherwise, some implementations hang). -* added trace mask TRACE_FIFO, use this in lib_getch.c to allow finer - resolution of traces. -* improved bounds checking on several critical functions. -* the data directory has been replaced by the new master terminfo file. -* -F file-comparison option added to infocmp. -* compatibility with XSI Curses is now documented in the man bages. -* wsyncup/wsyncdown functions are reliable now; subwindow code in general - is much less flaky. -* capabilities ~msgr, tilde_glitch, insert_padding, generic_type, no_pad_char, - memory_above, memory_below, and hard_copy are now used properly. -* cursor-movement optimization has been completely rewritten. -* vertical-movement optimization now uses hardware scrolling, il, dl. - -### ncurses 1.8.7 -> 1.8.8 -* untic no longer exists, infocmp replaces it. -* tic can understand termcap now, especially if it is called captoinfo. -* The Linux Standard Console terminfo entry is called linux insead of console. - It also uses the kernel's new method of changing charsets. -* initscr() will EXIT upon error (as the docs say) This wil mostly happen if - you try to run on an undefined terminal. -* I can get things running on AIX but tic can't compile terminfo. I have to - compile entries on another machine. Volunteers to hunt this bug are welcome. -* wbkgd() and wbkgdset() can be used to set a windows background to color. - wclear()/werase() DO NOT use the current attribute to clear the screen. - This is the way SVR4 curses works. PDCurses 2.1 is broken in this respect, - though PDCurses 2.2 has been fixed. -* cleaned up the test/ directory. -* test/worm will segfault after quite a while. -* many spelling corrections courtesy of Thomas E. Dickey - -### ncurses 1.8.6 -> 1.8.7 -* cleaned up programs in test/ directory. -* fixed wbkgdset() macro. -* modified getstr() to stop it from advancing cursor in noecho mode. -* modified linux terminfo entry to work with the latest kernel to get - the correct alternate character set. -* also added a linux-mono entry for those running on monochrome screens. -* changed initscr() so that it behaves like the man page says it does. - this fixes the problem with programs in test/ crashing with SIGSEV if - a terminal is undefined. -* modified addch() to avoid using any term.h #define's -* removed duplicate tgoto() in lib_tparm.c -* modified dump_entry.c so that infocmp deals correctly with ',' in acsc -* modified delwin() to correctly handle deleting subwindows. -* fixed Makefile.dist to stop installing an empty curses.h -* fixed a couple of out-of-date notes in man pages. - -### ncurses 1.8.5 -> 1.8.6 -* Implemented wbkgd(), bkgd(), bkgdset(), and wbkgdset(). -* The handling of attributes has been improved and now does not turn off color - if other attributes are turned off. -* scrolling code is improved. Scrolling in subwindows is still broken. -* Fixes to several bugs that manifest them on platforms other than Linux. -* The default to meta now depends on the status of the terminal when ncurses - is started. -* The interface to the tracing facility has changed. Instead of the pair of - functions traceon() and traceoff(), there is just one function trace() which - takes a trace mask argument. The trace masks, defined in curses.h, are - as follows: - - #define TRACE_DISABLE 0x00 /* turn off tracing */ - #define TRACE_ORDINARY 0x01 /* ordinary trace mode */ - #define TRACE_CHARPUT 0x02 /* also trace all character outputs */ - #define TRACE_MAXIMUM 0x0f /* maximum trace level */ - - More trace masks may be added, or these may be changed, in future releases. -* The pad code has been improved and the pad test code in test/ncurses.c has - been improved. -* The prototype ansi entry has been changed to work with a wider variety - of emulators. -* Fix to the prototype ansi entry that enables it to work with PC emulators - that treat trailing ";m" in a highlight sequence as ";0m"; this doesn't - break operation with any emulators. -* There are now working infocmp, captoinfo, tput, and tclear utilities. -* tic can now compile entries in termcap syntax. -* Core-dump bug in pnoutrefresh fixed. -* We now recognize and compile all the nonstandard capabilities in Ross - Ridge's mytinfo package (rendering it obsolete). -* General cleanup and documentation improvements. -* Fixes and additions to the installation-documentation files. -* Take cursor to normal mode on endwin. - -### ncurses 1.8.4 -> 1.8.5 -* serious bugs in updating screen which caused erratic non-display, - fixed. -* fixed initialization for getch() related variable which cause - unpredictable results. -* fixed another doupdate bug which only appeared if you have - parm_char. -* implemented redrawln() and redrawwin(). -* implemented winsnstr() and related functions. -* cleaned up insertln() and deleteln() and implemented (w)insdeln(). -* changed Makefile.dist so that installation of man pages will - take note of the terminfo directory. -* fixed Configure (removed the mysterious 'X'). -* Eric S. Raymond fixed the script.* files so that they work with - stock awk. - -#### ncurses 1.8.3 -> 1.8.4 #### #### -* fixed bug in refreshing the screen after return from shell_mode. - There are still problems but they don't manifest themselves on - my machine (Linux 0.99.14f). -* added wgetnstr() and modified things accordingly. -* fixed the script.src script.test to work with awk not just gawk. -* Configure can now take an argument of the target system. -* added test/ncurses.c which replaces several other programs and - performs more testing. -[Thanks to Eric S Raymond for the last 4] -* more fixes to lib_overlay.c and added test/over.c to illustrate - how it works. -* fixed ungetch() to take int instead of ch. -* fixes to cure wgetch() if flushinp() is called. - -One note I forgot to mention in 1.8.3 is that tracing is off by -default starting in the version. If you want tracing output, put -traceon(); in your code and link with -ldcurses. - -#### ncurses 1.8.2 -> ncurses 1.8.3 #### #### -MAJOR CHANGES: -1) The order of capabilities has been changed in order to achieve -binary compatibility with SVR4 terminfo database. This has the -unfortunate effect of breaking application currently linked with -ncurses. To ensure correct behavior, recompile all such programs. -Most programs using color or newer capabilities will break, others -will probably continue to work ok. - -2) Pavel Curtis has renounced his copyright to the public domain. -This means that his original sources (posted to comp.sources.unix, -volume 1) are now in the public domain. The current sources are -NOT in the public domain, they are copyrighted by me. I'm -entertaining ideas on what the new terms ncurses is released under. - -3) Eric S. Raymond has supplied a complete set of man pages for -ncurses in ?roff format. They will eventually replace most of the -current docs. Both sets are included in this release. - -Other changes and notes from 1.8.2 include: -* SIGSEGV during scrolling no longer occurs. -* Other problems with scrolling and use of idl have been corrected. -* lib_getch.c has been re-written and should perform flawlessly. - please use test/getch.c and any other programs to test this. -* ripoffline() is implemented (Thanks to Eric) and slk_ functions - changed accordingly. -* I've added support for terminals that scroll if you write in the - bottom-right corner. -* fixed more bugs in pads code. If anybody has a program that uses - pads I'd love a copy. -* correct handling for terminal with back_color_erase capability - (such as Linux console, and most PC terminals) -* ^Z handling apparently didn't work (I should never trust code - sent me to me without extensive testing). It now seems to be - fixed. Let me know if you have problems. -* I've added support for Apollo and NeXT, but it may still be - incomplete, especially when dealing with the lack of POSIX - features. -* scrolling should be more efficient on terminals with idl - capabilities. Please see src/lib_scroll.c for more notes. -* The line drawing routines were offset by 1 at both ends. This - is now fixed. -* added a few missing prototypes and macros (e.g. setterm()) -* fixed code in src/lib_overlay.c which used to crash. -* added a few more programs in test/ The ones from the PDCurses - package are useful, especially if you have SVR4 proper. I'm - interested in the results you get on such a systems (Eric? ;-). - They already exposed certain bugs in ncurses. -* See src/README for porting notes. -* The C++ code should really replace ncurses.h instead of working - around it. It should avoid name-space clashes with nterm.h (use - rows instead of lines, etc.) -* The C++ should compile ok. I've added explicit rules to the - Makefile because no C++ defaults are documented on the suns. -* The docs say that echo() and nocbreak() are mutually exclusive. - At the moment ncurses will switch to cbreak() if the case above - occurs. Should it continue to do so? How about echo() and noraw()? -* PDCurses seem to assume that wclear() will use current attribute - when clearing the screen. According to Eric this is not the case - with SVR4. -* I have discovered, to my chagrin, SunOS 4.x (and probably other systems) - * doesn't have vsscanf and God knows what else! I've will do a vsscanf(). -* I've also found out that the src/script.* rely on gawk and will not - work with stock awk or even with nawk. Any changes are welcome. -* Linux is more tolerant of NULL dereferences than most systems. This - fact was exposed by hanoi. -* ncurses still seems inefficient in drawing the screen on a serial - link between Linux and suns. The padding may be the culprit. -* There seems to be one lingering problem with doupdate() after shelling - out. Despite the fact the it is sending out the correct information - to the terminal, nothing takes effect until you press ^L or another - refresh takes place. And yes, output does get flushed. - -#### ncurses 1.8.1 -> ncurses 1.8.2 #### Nov 28, 1993 #### - -* added support for SVR4 and BSDI's BSD/386. -* major update and fix to scrolling routine. -* MORE fixes to stuff in lib_getch.c. -* cleaned-up configuration options and can now generate - Config.* files through an awk script. -* changed setupterm() so it can be called more than once, - add added set_curterm(), del_curterm(). -* a few minor cleanups. -* added more prototypes in curses.h - -#### ncurses 1.8 -> ncurses 1.8.1 #### Nov 4, 1993 #### - -* added support for NeXTStep 3.0 -* added termcap emulation (not well tested). -* more complete C++ interface to ncurses. -* fixed overlay(), overwrite(), and added copywin(). -* a couple of bug fixes. -* a few code cleanups. - -#### ncurses 0.7.2/0.7.3 -> ncurses 1.8 #### Aug 31, 1993 #### - -* The annoying message "can't open file." was due to missing - terminfo entry for the used terminal. It has now been - replaced by a hopefully more helpful message. -* Problems with running on serial lines are now fixed. -* Added configuration files for SunOS, Linux, HP/UX, Ultrix, - 386bsd/BSDI (if you have others send'em to me) -* Cleaner Makefile. -* The documentation in manual.doc is now more uptodate. -* update optimization and support for hp terminals, and 386bsd - console driver(s). -* mvcur optimization for terminals without cursor addressing - (doesn't work on Linux) -* if cursor moved since last update, getch() will refresh the - screen before working. -* getch() & alarm() can now live together. in 0.7.3 a signal - interrupted getch() (bug or feature?) now the getch is - restarted. -* scanw() et all were sick, now fixed. -* support for 8-bit input (use meta()). -* added default screen size to all terminfos. -* added c++ Ncursesw class. -* several minor bug fixes. - -#### ncurses 0.7.2 -> ncurses 0.7.3 #### May 27, 1993 #### - -* Config file to cope with different platforms (386BSD, BSDI, Ultrix, SunOS) -* more fixes to lib_getch.c -* changes related to Config - -#### ncurses 0.7 -> ncurses 0.7.2 #### May 22, 1993 #### - -* docs updated slightly (color usage is now documented). -* yet another fix for getch(), this one fixes problems with ESC being swallowed - if another character is typed before the 1 second timeout. -* Hopefully, addstr() and addch() are 8-bit clean. -* fixed lib_tparm.c to use stdarg.h (should run on suns now) -* order of capabilities changed to reflect that specified in SYSV - this will allow for binary-compatibility with existing terminfo dbs. -* added halfdelay() -* fixed problems with asc_init() -* added A_PROTECT and A_INVIS -* cleaned up vidputs() -* general cleanup of the code -* more attention to portability to other systems -* added terminfos for hp70092 (wont work until changes to lib_update.c are - made) and 386BSD pcvt drivers. - -Thanks to Hellmuth Michaelis for his help. -optimization code is slated for the next major release, stay tuned! - -#### ncurses 0.6/0.61 -> ncurses 0.7 #### April 1, 1993 -Please note that the next release will be called 1.8. If you want to know about -the rationale drop me a line. - -Included are several test programs in test/. -I've split up the panels library, reversi, tetris, sokoban. They are now -available separately from netcom.com:pub/zmbenhal/ - -* color and ACS support is now fully compatible with SYSV at the terminfo - level. -* Capabilities now includes as many SYSV caps I could find. -* tigetflag,tigetnum,tigetstr functions added. -* boolnames, boolfnames, boolcodes numnames, numfnames, numcodes, - strnames, strfnames, strcodes arrays are now added. -* keyname() is added. -* All function keys can be defined in terminfo entries. -* fixed lin_tparm.c to behave properly. -* terminfo entries for vt* and xterm are included (improvements are welcome) -* more automation in handling caps and keys. -* included fixes from 0.6.1 -* added a few more missing functions. -* fixed a couple of minor bugs. -* updated docs JUST a little (still miles behind in documenting the newer - features). - -#### ncurses 0.6 -> ncurses 0.61 #### - -1) Included the missing data/console. - -2) allow attributes when drawing boxes. - -3) corrected usage of win->_delay value. - -4) fixed a bug in lib_getch.c. if it didn't recognize a sequence it would - simply return the last character in the sequence. The correct - behavior is to return the entire sequence one character at a time. - -#### ncurses0.5 -> ncurses0.6 #### March 1, 1993 #### -* removed _numchngd from struct _win_st and made appropriate changes. -* rewritten kgetch() to remove problems with interaction between alarm and - read(). It caused SIGSEGV every now and then. -* fixed a bug that miscounted the numbers of columns when updating. - (in lib_doupdate.c(ClrUpdate() -- iterate to columns not columns-1) -* fixed a bug that cause the lower-right corner to be incorrect. - (in lib_doupdate.c(putChar() -- check against columns not columns-1) -* made resize() and cleanup() static to lib_newterm.c -* added notimeout(). -* added timeout() define in curses.h -* added more function prototypes and fixed napms. -* added use_env(). -* moved screen size detection to lib_setup.c. -* fixed newterm() to confirm to prototype. -* removed SIGWINCH support as SYSV does not define its semantics. -* cleaned-up lib_touch.c -* added waddnstr() and relatives. -* added slk_* support. -* fixed a bug in wdeleteln(). -* added PANEL library. -* modified Makefile for smoother installation. -* terminfo.h is really term.h - -#### ncurses 0.4 -> ncurses 0.5 #### Feb 14, 1993 #### -* changed _win_st structure to allow support for missing functionality. -* Addition of terminfo support for all KEY_*. -* Support for nodelay(), timeout(), notimeout(). -* fixed a bug with the keypad char reading that did not return ESC until - another key is pressed. -* nl mapping no longer occur on output (as should be) - fixed bug '\n' no causing a LF. -* fixed bug that reset terminal colors regardless of whether we use color - or not. -* Better support for ACS (not quite complete). -* fixed bug in wvline(). -* added curs_set(). -* changed from signal() to sigaction(). -* re-included the contents of important.patch into source. - -#### ncurses 0.3 -> ncurses 0.4 #### Feb 3, 1993 #### -* Addition of more KEY_* definitions. -* Addition of function prototypes. -* Addition of several missing functions. -* No more crashes if screen size is undefined (use SIGWINCH handler). -* added a handler to cleanup after SIGSEGV (hopefully never needed). -* changed SRCDIR from /etc/term to /usr/lib/terminfo. -* renamed compile/dump to tic/untic. -* New scrolling code. -* fixed bug that reversed the sense of nl() and nonl(). - -#### ncurses 0.2 -> ncurses 0.3 #### Jan 20, 1993 #### -* more support for color and graphics see test/ for examples. -* fixed various files to allow correct update after shelling out. -* more fixes for updates. -* no more core dumps if you don't have a terminfo entry. -* support for LINES and COLUMNS environment variables. -* support for SIGWINCH signal. -* added a handler for SIGINT for clean exits. - -#### ncurses 0.1 -> ncurses 0.2 #### Aug 14, 1992 #### -* support for color. -* support for PC graphic characters. -* lib_trace.c updated to use stdarg.h and vprintf routines. -* added gdc.c (Great Digital Clock) as an example of using color. - -#### ncurses -> ncurses 0.1 #### Jul 31, 1992 #### -* replacing sgtty stuff by termios stuff. -* ANSIfication of some functions. -* Disabling cost analysis 'cause it's incorrect. -* A quick hack for a terminfo entry. diff --git a/src/libs/ncurses/README b/src/libs/ncurses/README deleted file mode 100644 index 37cb8d2b5c..0000000000 --- a/src/libs/ncurses/README +++ /dev/null @@ -1,183 +0,0 @@ --- $Id: README,v 1.22 2004/08/07 23:42:43 tom Exp $ -------------------------------------------------------------------------------- - README file for the ncurses package - -See the file ANNOUNCE for a summary of ncurses features and ports. -See the file INSTALL for instructions on how to build and install ncurses. -See the file NEWS for a release history and bug-fix notes. -See the file TO-DO for things that still need doing, including known bugs. - -Browse the file misc/ncurses-intro.html for narrative descriptions of how -to use ncurses and the panel, menu, and form libraries. - -Browse the file doc/html/hackguide.html for a tour of the package internals. - -ROADMAP AND PACKAGE OVERVIEW: - -You should be reading this file in a directory called: ncurses-d.d, where d.d -is the current version number (see the dist.mk file in this directory for -that). There should be a number of subdirectories, including `c++', `form', -`man', `menu', `misc', `ncurses', `panel', `progs', `test', 'tack' and `Ada95'. -(The 'tack' program may be distributed separately). - -A full build/install of this package typically installs several libraries, a -handful of utilities, and a database hierarchy. Here is an inventory of the -pieces: - -The libraries are: - - libncurses.a (normal) - libncurses.so (shared) - libncurses_g.a (debug and trace code enabled) - libncurses_p.a (profiling enabled) - - libpanel.a (normal) - libpanel.so (shared) - libpanel_g.a (debug and trace code enabled) - - libmenu.a (normal) - libmenu.so (shared) - libmenu_g.a (debug enabled) - - libform.a (normal) - libform.so (shared) - libform_g.a (debug enabled) - -If you configure using the --enable-widec option, a "w" is appended to the -library names (e.g., libncursesw.a), and the resulting libraries support -wide-characters, e.g., via a UTF-8 locale. The corresponding header files -are compatible with the non-wide-character configuration; wide-character -features are provided by ifdef's in the header files. The wide-character -library interfaces are not binary-compatible with the non-wide-character -version. - -The ncurses libraries implement the curses API. The panel, menu and forms -libraries implement clones of the SVr4 panel, menu and forms APIs. The source -code for these lives in the `ncurses', `panel', `menu', and `form' directories -respectively. - -In the `c++' directory, you'll find code that defines an interface to the -curses, forms, menus and panels library packaged as C++ classes, and a demo program in C++ -to test it. These class definition modules are not installed by the 'make -install.libs' rule as libncurses++. - -In the `Ada95' directory, you'll find code and documentation for an -Ada95 binding of the curses API, to be used with the GNAT compiler. -This binding is built by a normal top-level `make' if configure detects -an usable version of GNAT (3.11 or above). It is not installed automatically. -See the Ada95 directory for more build and installation instructions and -for documentation of the binding. - -To do its job, the ncurses code needs your terminal type to be set in the -environment variable TERM (normally set by your OS; under UNIX, getty(1) -typically does this, but you can override it in your .profile); and, it needs a -database of terminal descriptions in which to look up your terminal type's -capabilities. - -In older (V7/BSD) versions of curses, the database was a flat text file, -/etc/termcap; in newer (USG/USL) versions, the database is a hierarchy of -fast-loading binary description blocks under /usr/lib/terminfo. These binary -blocks are compiled from an improved editable text representation called -`terminfo' format (documented in man/terminfo.5). The ncurses library can use -either /etc/termcap or the compiled binary terminfo blocks, but prefers the -second form. - -In the `misc' directory, there is a text file terminfo.src, in editable -terminfo format, which can be used to generate the terminfo binaries (that's -what make install.data does). If the package was built with the ---enable-termcap option enabled, and the ncurses library cannot find a terminfo -description for your terminal, it will fall back to the termcap file supplied -with your system (which the ncurses package installation leaves strictly -alone). - -The utilities are as follows: - - tic -- terminfo source to binary compiler - infocmp -- terminfo binary to source decompiler/comparator - clear -- emits clear-screen for current terminal - tput -- shell-script access to terminal capabilities. - toe -- table of entries utility - tset -- terminal-initialization utility - -The first two (tic and infocmp) are used for manipulating terminfo -descriptions; the next two (clear and tput) are for use in shell scripts. The -last (tset) is provided for 4.4BSD compatibility. The source code for all of -these lives in the `progs' directory. - -Detailed documentation for all libraries and utilities can be found in the -`man' and `doc' directories. An HTML introduction to ncurses, panels, and -menus programming lives in the `doc/html' directory. Manpages in HTML format -are under `doc/html/man'. - -The `test' directory contains programs that can be used to verify or -demonstrate the functions of the ncurses libraries. See test/README for -descriptions of these programs. Notably, the `ncurses' utility is designed to -help you systematically exercise the library functions. - -AUTHORS: - -Pavel Curtis: - wrote the original ncurses - -Zeyd M. Ben-Halim: - port of original to Linux and many enhancements. - -Thomas Dickey (maintainer for 1.9.9g through 4.1, resuming with FSF's 5.0): - configuration scripts, porting, mods to adhere to XSI Curses in the - areas of background color, terminal modes. Also memory leak testing, - the wresize, default colors and key definition extensions and numerous - bug fixes (more than half of those enumerated in NEWS beginning with - the internal release 1.8.9). - -Florian La Roche (official maintainer for FSF's ncurses 4.2) - Beginning with release 4.2, ncurses is distributed under an MIT-style - license. - -Eric S. Raymond: - the man pages, infocmp(1), tput(1), clear(1), captoinfo(1), tset(1), - toe(1), most of tic(1), trace levels, the HTML intro, wgetnstr() and - many other entry points, the cursor-movement optimization, the - scroll-pack optimizer for vertical motions, the mouse interface and - xterm mouse support, and the ncurses test program. - -Juergen Pfeifer - The menu and form libraries, C++ bindings for ncurses, menus, forms and - panels, as well as the Ada95 binding. Ongoing support for panel. - -CONTRIBUTORS: - -Alexander V. Lukyanov - for numerous fixes and improvements to the optimization logic. - -David MacKenzie - for first-class bug-chasing and methodical testing. - -Ross Ridge - for the code that hacks termcap parameterized strings into terminfo. - -Warren Tucker and Gerhard Fuernkranz, - for writing and sending the panel library. - -Hellmuth Michaelis, - for many patches and testing the optimization code. - -Eric Newton, Ulrich Drepper, and Anatoly Ivasyuk: - the C++ code. - -Jonathan Ross, - for lessons in using sed. - -Keith Bostic (maintainer of 4.4BSD curses) - for help, criticism, comments, bug-finding, and being willing to - deep-six BSD curses for this one when it grew up. - -Richard Stallman, - for his commitment to making ncurses free software. - -Countless other people have contributed by reporting bugs, sending fixes, -suggesting improvements, and generally whining about ncurses :-) - -BUGS: - See the INSTALL file for bug and developer-list addresses. - The Hacker's Guide in the doc directory includes some guidelines - on how to report bugs in ways that will get them fixed most quickly. diff --git a/src/libs/ncurses/README.emx b/src/libs/ncurses/README.emx deleted file mode 100644 index 3a5ca1a1e2..0000000000 --- a/src/libs/ncurses/README.emx +++ /dev/null @@ -1,45 +0,0 @@ --- $Id: README.emx,v 1.7 2005/08/27 17:04:26 tom Exp $ --- Author: Thomas Dickey -------------------------------------------------------------------------------- - -You can build ncurses on OS/2 in the EMX environment. But you must build and -acquire tools. Not all of the tools distributed with EMX work properly, and -some additional ones are required. - -First, the configure script distributed with ncurses will not run as-is in EMX. -You can generate a new one if you have autoconf built for EMX. You will need -the EMX development tools, of course. Get these programs to start: - - GNU m4 program (version 1.4) - GNU autoconf (version 2.13). - GNU patch (version 2.5) - -Apply the autoconf patches from - - http://invisible-island.net/autoconf - ftp://invisible-island.net/autoconf - -These are ordered by date: - - autoconf-2.13-20030927.patch.gz - autoconf-2.13-20030927-emx.patch.gz - -I built my development environment for ncurses using EMX 0.9c at the end of -1997. Much of the EMX patch for autoconf was done originally by J.J.G.Ripoll, -using a similar environment (he prefers using the 'ash' shell). Newer versions -may fix these problems: - - + The pdksh program distributed at Hobbes and Leo (with a 1996 date) is - defective. It does not process "here documents" correctly (which - renders it useless for running the autoconf script). I built my own - copy of pdksh 5.2.13, which does have the bug corrected (documented - in the change log for pdksh). - - + I also built from sources (because the distributed binaries did not - work) the cmp, diff programs. - - Other required utilities such as ar, cat, chmod, cp, gawk, grep, mv, - ls, rm, mkdir, sed, sort and tr worked. - -Once you have autoconf patched and installed, run 'autoconf' from the top-level -directory of ncurses to generate the EMX-specific configure script. diff --git a/src/libs/ncurses/TO-DO b/src/libs/ncurses/TO-DO deleted file mode 100644 index caefedd8a9..0000000000 --- a/src/libs/ncurses/TO-DO +++ /dev/null @@ -1,171 +0,0 @@ --- $Id: TO-DO,v 1.45 2005/08/20 20:53:04 tom Exp $ - -SHORT-TERM TO-DO ITEMS: - -Known Problems: - -+ libtool does not work with GNAT. - -+ The screen optimization has been tested only in an ad hoc manner. We should - develop a good set of regression tests to cover lib_doupdate.c and - lib_mvcur.c. - -+ Magic cookie support does not work, since the logic does not take into - account refresh. Also, the initial optimize does not adjust the current - location when a cookie is emitted. - -+ Scrolling optimization has holes: for example, it forces repaints of the - screen between calls to refresh(). - -+ SVr4 uses slightly different rules for determining when softkeys are shown. - For example, they are initially displayed (before the ncurses 'e' test - activates them), and a touchwin can apparently also force them to be - displayed. - -+ The code departs from perfect 8-bit cleanness in one respect; you cannot - specify a character \200 as part of a capability string, because the - terminfo library interprets \200 as a request to embed NUL (\000) at that - point. This is a legacy terminfo property we can't mess with. - -+ The window classes defined in the c++ subdirectory need documentation. Some - C++ programmer could earn a lot of good karma by doing this... - -+ The resizeterm() function does not handle ripped-off lines such as that done - for the slk_XXX functions. - -Portability (or lack thereof): - -+ Users of older System V UNIXes (but not Solaris, and probably not SVr4) may - trip over a known problem with the signal-handling code which causes abrupt - termination of ncurses applications following resume from a ^Z suspend (this - problem was first seen running lynx). You will not see this problem if you - are running Linux or one of the 4.4BSD derivatives like FreeBSD, NetBSD, or - BSDI. For details, see the analysis in the header comment of - ncurses/tty/lib_tstp.c . - -+ In theory, vwprintw and vwscanf are supposed to use the older varargs.h - interface for handling variadic argument lists. Linux doesn't have - varargs.h, it has the newer X/Open-standard stdargs.h equivalent. So these - functions use stdargs instead. This is unlikely to be a problem unless - you're building ncurses on a System V old enough to only have varargs.h. - (Solaris 2.5.1 uses the stdarg.h binding as well). - -+ If you're using a BSD earlier than 4.4BSD, or a Linux old enough not to have - a native vsscanf(3) in its library, vwscanw() will not work. You lose. (It - should work on any System V, however). If you want to fix this, add an - implementation to ncurses/vsscanf.c. - -+ The C++ binding fails to build with a few C++ compilers, mainly with - configure script problems with vsscanf(). - -+ terminfo.5 does not format with the SunOS (and most other platform's) tbl - utility because it relies on a diversion for each table entry. Get the - groff package. - -Untested features: - -+ The code for the HP color model using set_color_pair is untested. - -+ The code for handling soft labels on a terminal type with built-in support - for them (num_labels > 0, label_height, label_width, label_format, label_off, - label_on, plab_norm, lab_f*) has not been tested. The label_format and - lab_f* capabilities aren't presently used. - -LONGER-TERM TO-DO ITEMS: - -1. Extended COSE conformance - -There is an XPG4 standard recently released which describes a superset -of the SVr4 API. The library is BASE conformant with this standard. -We would like to make ncurses fully conformant at the EXTENDED level -supporting internationalization. - -2. DOS port - -Only a few of the files in the library depend on the terminfo format. -It should be possible to further kernelize the package, then rewrite -a small number of core files to produce a functionally-compatible -port that would do updates to a memory-mapped screen area. The first -result of this would be a DOS port. - -3. X port - -It would be nice if ncurses could recognize when it was running under X and -maintain its own window. With this feature, all ncurses programs would -automatically become X programs. The challenge is to handle resize events -properly. - -4. Unused capabilities - -The currently unused capabilities fall naturally into several groups: - -A. Status-line capabilities: - - Booleans: has_status_line, status_line_esc_ok. - Numerics: width_status_line. - Strings: dis_status_line, from_status_line, to_status_line. - -System V Release 1 curses made no use of these at all. SVr4's use, if -any, is unknown. From the AT&T termcap file it looks like curses, in general, -shouldn't use them; terminal variants with status lines have their line count -decremented by 1, suggesting that curses is supposed to leave the status line -alone. - -B. Printer capabilities: - - Boolean: col_addr_glitch, cr_cancels_micro_mode, has_print_wheel, - row_addr_glitch, semi_auto_right_margin, cpi_changes_res, - lpi_changes_res. - Numeric: buffer_capacity, dot_horz_spacing, dot_vert_spacing, - max_micro_address, max_micro_jump, micro_col_size, - micro_line_size, number_of_pins, output_res_char, - output_res_line, output_res_horz_inch, print_rate, - wide_char_size, bit_image_entwining, bit_image_type. - String: down_half_line, form_feed, up_half_line, set_left_margin, - set_right_margin, clear_margins, change_char_pitch - ... set_page_length (all the SVr4 printer caps), - -Curses doesn't use these. - -C. Printer-control capabilities: - - Boolean: prtr_silent. - Strings: print_screen, prtr_on, prtr_off, prtr_non. - -Curses doesn't use these. - -D. Dialer strings: - - Strings: hangup, dial_phone, quick_dial, tone, pulse, flash_hook, - fixed_pause, wait_tone. - -Curses doesn't use these. - -E. Window and virtual-terminal capabilities: - - Numerics: maximum_windows, virtual_terminal. - Strings: req_for_input, create_window, goto_window, set_window. - -These seem to be fossils from some AT&T experiments on character-based -window systems that never escaped the lab. The virtual_terminal cap had -something to do with building terminal emulations into tty line disciplines. - -F. Unused VDT capabilities: - - Booleans: erase_overstrike, has_meta_key, insert_null_glitch, - move_insert, dest_tabs_magic_smso, transparent_underline, - needs_xon_xoff, hard_cursor. - Numerics: lines_of_memory, buttons. - Strings: pkey_key, pkey_local, pkey_xmit, underline_char, - enter_xon_mode, exit_xon_mode, xon_character, xoff_character, - display_clock, remove_clock, user[0-5], display_pc_char, - enter_scancode_mode, exit_scancode_mode, pc_term_options, - scancode_escape, alt_scancode_esc. - -These are the potentially important ones for ncurses. Notes: - - i) ncurses doesn't need move_insert; it never uses cup/hpa/vpa while - insert_mode is on. - - ii) We probably don't care about dest_tabs_magic_smso; only - Telerays used it and they're all long obsolete. diff --git a/src/libs/ncurses/aclocal.m4 b/src/libs/ncurses/aclocal.m4 deleted file mode 100644 index b544ca6222..0000000000 --- a/src/libs/ncurses/aclocal.m4 +++ /dev/null @@ -1,4578 +0,0 @@ -dnl*************************************************************************** -dnl Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * -dnl * -dnl Permission is hereby granted, free of charge, to any person obtaining a * -dnl copy of this software and associated documentation files (the * -dnl "Software"), to deal in the Software without restriction, including * -dnl without limitation the rights to use, copy, modify, merge, publish, * -dnl distribute, distribute with modifications, sublicense, and/or sell * -dnl copies of the Software, and to permit persons to whom the Software is * -dnl furnished to do so, subject to the following conditions: * -dnl * -dnl The above copyright notice and this permission notice shall be included * -dnl in all copies or substantial portions of the Software. * -dnl * -dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -dnl * -dnl Except as contained in this notice, the name(s) of the above copyright * -dnl holders shall not be used in advertising or otherwise to promote the * -dnl sale, use or other dealings in this Software without prior written * -dnl authorization. * -dnl*************************************************************************** -dnl -dnl Author: Thomas E. Dickey 1995-on -dnl -dnl $Id: aclocal.m4,v 1.373 2005/09/24 21:58:59 tom Exp $ -dnl Macros used in NCURSES auto-configuration script. -dnl -dnl See http://invisible-island.net/autoconf/ for additional information. -dnl -dnl --------------------------------------------------------------------------- -dnl --------------------------------------------------------------------------- -dnl AM_LANGINFO_CODESET version: 3 updated: 2002/10/27 23:21:42 -dnl ------------------- -dnl Inserted as requested by gettext 0.10.40 -dnl File from /usr/share/aclocal -dnl codeset.m4 -dnl ==================== -dnl serial AM1 -dnl -dnl From Bruno Haible. -AC_DEFUN([AM_LANGINFO_CODESET], -[ - AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, - [AC_TRY_LINK([#include ], - [char* cs = nl_langinfo(CODESET);], - am_cv_langinfo_codeset=yes, - am_cv_langinfo_codeset=no) - ]) - if test $am_cv_langinfo_codeset = yes; then - AC_DEFINE(HAVE_LANGINFO_CODESET, 1, - [Define if you have and nl_langinfo(CODESET).]) - fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ADA_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15 -dnl ------------------- -dnl Construct the list of include-options for the C programs in the Ada95 -dnl binding. -AC_DEFUN([CF_ADA_INCLUDE_DIRS], -[ -ACPPFLAGS="-I. -I../../include $ACPPFLAGS" -if test "$srcdir" != "."; then - ACPPFLAGS="-I\$(srcdir)/../../include $ACPPFLAGS" -fi -if test "$GCC" != yes; then - ACPPFLAGS="$ACPPFLAGS -I\$(includedir)" -elif test "$includedir" != "/usr/include"; then - if test "$includedir" = '${prefix}/include' ; then - if test $prefix != /usr ; then - ACPPFLAGS="$ACPPFLAGS -I\$(includedir)" - fi - else - ACPPFLAGS="$ACPPFLAGS -I\$(includedir)" - fi -fi -AC_SUBST(ACPPFLAGS) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ADD_CFLAGS version: 7 updated: 2004/04/25 17:48:30 -dnl ------------- -dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS -dnl The second parameter if given makes this macro verbose. -dnl -dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS, -dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily -dnl confused by the quotes (which require backslashes to keep them usable). -AC_DEFUN([CF_ADD_CFLAGS], -[ -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $1 -do -case $cf_fix_cppflags in -no) - case $cf_add_cflags in #(vi - -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi - case $cf_add_cflags in - -D*) - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test $cf_fix_cppflags = yes ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - fi - ;; - esac - case "$CPPFLAGS" in - *$cf_add_cflags) #(vi - ;; - *) #(vi - cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" - ;; - esac - ;; - *) - cf_new_cflags="$cf_new_cflags $cf_add_cflags" - ;; - esac - ;; -yes) - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - ifelse($2,,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)]) - CFLAGS="$CFLAGS $cf_new_cflags" -fi - -if test -n "$cf_new_cppflags" ; then - ifelse($2,,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)]) - CPPFLAGS="$cf_new_cppflags $CPPFLAGS" -fi - -if test -n "$cf_new_extra_cppflags" ; then - ifelse($2,,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)]) - EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" -fi - -AC_SUBST(EXTRA_CPPFLAGS) - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34 -dnl ---------------- -dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES' -dnl in the sharutils 4.2 distribution. -AC_DEFUN([CF_ANSI_CC_CHECK], -[ -AC_CACHE_CHECK(for ${CC-cc} option to accept ANSI C, cf_cv_ansi_cc,[ -cf_cv_ansi_cc=no -cf_save_CFLAGS="$CFLAGS" -cf_save_CPPFLAGS="$CPPFLAGS" -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX -Aa -D_HPUX_SOURCE -# SVR4 -Xc -# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes) -for cf_arg in "-DCC_HAS_PROTOS" \ - "" \ - -qlanglvl=ansi \ - -std1 \ - -Ae \ - "-Aa -D_HPUX_SOURCE" \ - -Xc -do - CF_ADD_CFLAGS($cf_arg) - AC_TRY_COMPILE( -[ -#ifndef CC_HAS_PROTOS -#if !defined(__STDC__) || (__STDC__ != 1) -choke me -#endif -#endif -],[ - int test (int i, double x); - struct s1 {int (*f) (int a);}; - struct s2 {int (*f) (double a);};], - [cf_cv_ansi_cc="$cf_arg"; break]) -done -CFLAGS="$cf_save_CFLAGS" -CPPFLAGS="$cf_save_CPPFLAGS" -]) - -if test "$cf_cv_ansi_cc" != "no"; then -if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then - CF_ADD_CFLAGS($cf_cv_ansi_cc) -else - AC_DEFINE(CC_HAS_PROTOS) -fi -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ANSI_CC_REQD version: 3 updated: 1997/09/06 13:40:44 -dnl --------------- -dnl For programs that must use an ANSI compiler, obtain compiler options that -dnl will make it recognize prototypes. We'll do preprocessor checks in other -dnl macros, since tools such as unproto can fake prototypes, but only part of -dnl the preprocessor. -AC_DEFUN([CF_ANSI_CC_REQD], -[AC_REQUIRE([CF_ANSI_CC_CHECK]) -if test "$cf_cv_ansi_cc" = "no"; then - AC_ERROR( -[Your compiler does not appear to recognize prototypes. -You have the following choices: - a. adjust your compiler options - b. get an up-to-date compiler - c. use a wrapper such as unproto]) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_BOOL_DECL version: 8 updated: 2004/01/30 15:51:18 -dnl ------------ -dnl Test if 'bool' is a builtin type in the configured C++ compiler. Some -dnl older compilers (e.g., gcc 2.5.8) don't support 'bool' directly; gcc -dnl 2.6.3 does, in anticipation of the ANSI C++ standard. -dnl -dnl Treat the configuration-variable specially here, since we're directly -dnl substituting its value (i.e., 1/0). -dnl -dnl $1 is the shell variable to store the result in, if not $cv_cv_builtin_bool -AC_DEFUN([CF_BOOL_DECL], -[ -AC_MSG_CHECKING(if we should include stdbool.h) - -AC_CACHE_VAL(cf_cv_header_stdbool_h,[ - AC_TRY_COMPILE([],[bool foo = false], - [cf_cv_header_stdbool_h=0], - [AC_TRY_COMPILE([ -#if (!defined(__BEOS__) && !defined(__HAIKU__)) -#include -#endif -],[bool foo = false], - [cf_cv_header_stdbool_h=1], - [cf_cv_header_stdbool_h=0])])]) - -if test "$cf_cv_header_stdbool_h" = 1 -then AC_MSG_RESULT(yes) -else AC_MSG_RESULT(no) -fi - -AC_MSG_CHECKING([for builtin bool type]) - -AC_CACHE_VAL(ifelse($1,,cf_cv_builtin_bool,[$1]),[ - AC_TRY_COMPILE([ -#include -#include -],[bool x = false], - [ifelse($1,,cf_cv_builtin_bool,[$1])=1], - [ifelse($1,,cf_cv_builtin_bool,[$1])=0]) - ]) - -if test "$ifelse($1,,cf_cv_builtin_bool,[$1])" = 1 -then AC_MSG_RESULT(yes) -else AC_MSG_RESULT(no) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_BOOL_SIZE version: 10 updated: 2002/02/23 20:38:31 -dnl ------------ -dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type). -dnl Don't bother looking for bool.h, since it's been deprecated. -dnl -dnl If the current compiler is C rather than C++, we get the bool definition -dnl from . -AC_DEFUN([CF_BOOL_SIZE], -[ -AC_MSG_CHECKING([for size of bool]) -AC_CACHE_VAL(cf_cv_type_of_bool,[ - rm -f cf_test.out - AC_TRY_RUN([ -#include -#include - -#if defined(__cplusplus) - -#ifdef HAVE_GXX_BUILTIN_H -#include -#elif HAVE_GPP_BUILTIN_H -#include -#elif HAVE_BUILTIN_H -#include -#endif - -#else - -#if $cf_cv_header_stdbool_h -#include -#endif - -#endif - -main() -{ - FILE *fp = fopen("cf_test.out", "w"); - if (fp != 0) { - bool x = true; - if ((bool)(-x) >= 0) - fputs("unsigned ", fp); - if (sizeof(x) == sizeof(int)) fputs("int", fp); - else if (sizeof(x) == sizeof(char)) fputs("char", fp); - else if (sizeof(x) == sizeof(short))fputs("short",fp); - else if (sizeof(x) == sizeof(long)) fputs("long", fp); - fclose(fp); - } - exit(0); -} - ], - [cf_cv_type_of_bool=`cat cf_test.out` - if test -z "$cf_cv_type_of_bool"; then - cf_cv_type_of_bool=unknown - fi], - [cf_cv_type_of_bool=unknown], - [cf_cv_type_of_bool=unknown]) - ]) - rm -f cf_test.out -AC_MSG_RESULT($cf_cv_type_of_bool) -if test "$cf_cv_type_of_bool" = unknown ; then - case .$NCURSES_BOOL in #(vi - .auto|.) NCURSES_BOOL=unsigned;; - esac - AC_MSG_WARN(Assuming $NCURSES_BOOL for type of bool) - cf_cv_type_of_bool=$NCURSES_BOOL -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_BUILD_CC version: 5 updated: 2005/09/24 17:55:52 -dnl ----------- -dnl If we're cross-compiling, allow the user to override the tools and their -dnl options. The configure script is oriented toward identifying the host -dnl compiler, etc., but we need a build compiler to generate parts of the -dnl source. -dnl -dnl $1 = default for $CPPFLAGS -dnl $2 = default for $LIBS -AC_DEFUN([CF_BUILD_CC],[ -AC_REQUIRE([CF_PROG_EXT]) -if test "$cross_compiling" = yes ; then - - # defaults that we might want to override - : ${BUILD_CFLAGS:=''} - : ${BUILD_CPPFLAGS:='ifelse([$1],,,[$1])'} - : ${BUILD_LDFLAGS:=''} - : ${BUILD_LIBS:='ifelse([$2],,,[$2])'} - : ${BUILD_EXEEXT:='$x'} - : ${BUILD_OBJEXT:='o'} - - AC_ARG_WITH(build-cc, - [ --with-build-cc=XXX the build C compiler ($BUILD_CC)], - [BUILD_CC="$withval"], - [AC_CHECK_PROGS(BUILD_CC, gcc cc cl)]) - AC_MSG_CHECKING(for native build C compiler) - AC_MSG_RESULT($BUILD_CC) - - AC_MSG_CHECKING(for native build C preprocessor) - AC_ARG_WITH(build-cpp, - [ --with-build-cpp=XXX the build C preprocessor ($BUILD_CPP)], - [BUILD_CPP="$withval"], - [BUILD_CPP='$(BUILD_CC) -E']) - AC_MSG_RESULT($BUILD_CPP) - - AC_MSG_CHECKING(for native build C flags) - AC_ARG_WITH(build-cflags, - [ --with-build-cflags=XXX the build C compiler-flags ($BUILD_CFLAGS)], - [BUILD_CFLAGS="$withval"]) - AC_MSG_RESULT($BUILD_CFLAGS) - - AC_MSG_CHECKING(for native build C preprocessor-flags) - AC_ARG_WITH(build-cppflags, - [ --with-build-cppflags=XXX the build C preprocessor-flags ($BUILD_CPPFLAGS)], - [BUILD_CPPFLAGS="$withval"]) - AC_MSG_RESULT($BUILD_CPPFLAGS) - - AC_MSG_CHECKING(for native build linker-flags) - AC_ARG_WITH(build-ldflags, - [ --with-build-ldflags=XXX the build linker-flags ($BUILD_LDFLAGS)], - [BUILD_LDFLAGS="$withval"]) - AC_MSG_RESULT($BUILD_LDFLAGS) - - AC_MSG_CHECKING(for native build linker-libraries) - AC_ARG_WITH(build-libs, - [ --with-build-libs=XXX the build libraries ($(BUILD_LIBS)], - [BUILD_LIBS="$withval"]) - AC_MSG_RESULT($BUILD_LIBS) - - # this assumes we're on Unix. - BUILD_EXEEXT= - BUILD_OBJEXT=o - - : ${BUILD_CC:='$(CC)'} - - if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '$(CC)' ) ; then - AC_MSG_ERROR([Cross-build requires two compilers. -Use --with-build-cc to specify the native compiler.]) - fi - -else - : ${BUILD_CC:='$(CC)'} - : ${BUILD_CPP:='$(CPP)'} - : ${BUILD_CFLAGS:='$(CFLAGS)'} - : ${BUILD_CPPFLAGS:='$(CPPFLAGS)'} - : ${BUILD_LDFLAGS:='$(LDFLAGS)'} - : ${BUILD_LIBS:='$(LIBS)'} - : ${BUILD_EXEEXT:='$x'} - : ${BUILD_OBJEXT:='o'} -fi - -AC_SUBST(BUILD_CC) -AC_SUBST(BUILD_CPP) -AC_SUBST(BUILD_CFLAGS) -AC_SUBST(BUILD_CPPFLAGS) -AC_SUBST(BUILD_LDFLAGS) -AC_SUBST(BUILD_LIBS) -AC_SUBST(BUILD_EXEEXT) -AC_SUBST(BUILD_OBJEXT) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CFG_DEFAULTS version: 7 updated: 2005/09/24 16:15:00 -dnl --------------- -dnl Determine the default configuration into which we'll install ncurses. This -dnl can be overridden by the user's command-line options. There's two items to -dnl look for: -dnl 1. the prefix (e.g., /usr) -dnl 2. the header files (e.g., /usr/include/ncurses) -dnl We'll look for a previous installation of ncurses and use the same defaults. -dnl -dnl We don't use AC_PREFIX_DEFAULT, because it gets evaluated too soon, and -dnl we don't use AC_PREFIX_PROGRAM, because we cannot distinguish ncurses's -dnl programs from a vendor's. -AC_DEFUN([CF_CFG_DEFAULTS], -[ -AC_MSG_CHECKING(for prefix) -if test "x$prefix" = "xNONE" ; then - case "$cf_cv_system_name" in - # non-vendor systems don't have a conflict - openbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu) - prefix=/usr - ;; - *) prefix=$ac_default_prefix - ;; - esac -fi -AC_MSG_RESULT($prefix) - -if test "x$prefix" = "xNONE" ; then -AC_MSG_CHECKING(for default include-directory) -test -n "$verbose" && echo 1>&AC_FD_MSG -for cf_symbol in \ - $includedir \ - $includedir/ncurses \ - $prefix/include \ - $prefix/include/ncurses \ - /usr/local/include \ - /usr/local/include/ncurses \ - /usr/include \ - /usr/include/ncurses -do - cf_dir=`eval echo $cf_symbol` - if test -f $cf_dir/curses.h ; then - if ( fgrep NCURSES_VERSION $cf_dir/curses.h 2>&1 >/dev/null ) ; then - includedir="$cf_symbol" - test -n "$verbose" && echo $ac_n " found " 1>&AC_FD_MSG - break - fi - fi - test -n "$verbose" && echo " tested $cf_dir" 1>&AC_FD_MSG -done -AC_MSG_RESULT($includedir) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CGETENT version: 3 updated: 2000/08/12 23:18:52 -dnl ---------- -dnl Check if the terminal-capability database functions are available. If not, -dnl ncurses has a much-reduced version. -AC_DEFUN([CF_CGETENT],[ -AC_MSG_CHECKING(for terminal-capability database functions) -AC_CACHE_VAL(cf_cv_cgetent,[ -AC_TRY_LINK([ -#include ],[ - char temp[128]; - char *buf = temp; - char *db_array = temp; - cgetent(&buf, /* int *, */ &db_array, "vt100"); - cgetcap(buf, "tc", '='); - cgetmatch(buf, "tc"); - ], - [cf_cv_cgetent=yes], - [cf_cv_cgetent=no]) -]) -AC_MSG_RESULT($cf_cv_cgetent) -test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CHECK_CACHE version: 10 updated: 2004/05/23 13:03:31 -dnl -------------- -dnl Check if we're accidentally using a cache from a different machine. -dnl Derive the system name, as a check for reusing the autoconf cache. -dnl -dnl If we've packaged config.guess and config.sub, run that (since it does a -dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow -dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM -dnl which is useful in cross-compiles. -dnl -dnl Note: we would use $ac_config_sub, but that is one of the places where -dnl autoconf 2.5x broke compatibility with autoconf 2.13 -AC_DEFUN([CF_CHECK_CACHE], -[ -if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then - ifelse([$1],,[AC_CANONICAL_HOST],[$1]) - system_name="$host_os" -else - system_name="`(uname -s -r) 2>/dev/null`" - if test -z "$system_name" ; then - system_name="`(hostname) 2>/dev/null`" - fi -fi -test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name") -AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"]) - -test -z "$system_name" && system_name="$cf_cv_system_name" -test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name) - -if test ".$system_name" != ".$cf_cv_system_name" ; then - AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)) - AC_ERROR("Please remove config.cache and try again.") -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CHECK_ERRNO version: 9 updated: 2001/12/30 18:03:23 -dnl -------------- -dnl Check for data that is usually declared in or , e.g., -dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it -dnl ourselves. -dnl -dnl $1 = the name to check -AC_DEFUN([CF_CHECK_ERRNO], -[ -AC_CACHE_CHECK(if external $1 is declared, cf_cv_dcl_$1,[ - AC_TRY_COMPILE([ -#ifdef HAVE_STDLIB_H -#include -#endif -#include -#include -#include ], - [long x = (long) $1], - [cf_cv_dcl_$1=yes], - [cf_cv_dcl_$1=no]) -]) - -if test "$cf_cv_dcl_$1" = no ; then - CF_UPPER(cf_result,decl_$1) - AC_DEFINE_UNQUOTED($cf_result) -fi - -# It's possible (for near-UNIX clones) that the data doesn't exist -CF_CHECK_EXTERN_DATA($1,int) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CHECK_EXTERN_DATA version: 3 updated: 2001/12/30 18:03:23 -dnl -------------------- -dnl Check for existence of external data in the current set of libraries. If -dnl we can modify it, it's real enough. -dnl $1 = the name to check -dnl $2 = its type -AC_DEFUN([CF_CHECK_EXTERN_DATA], -[ -AC_CACHE_CHECK(if external $1 exists, cf_cv_have_$1,[ - AC_TRY_LINK([ -#undef $1 -extern $2 $1; -], - [$1 = 2], - [cf_cv_have_$1=yes], - [cf_cv_have_$1=no]) -]) - -if test "$cf_cv_have_$1" = yes ; then - CF_UPPER(cf_result,have_$1) - AC_DEFINE_UNQUOTED($cf_result) -fi - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18 -dnl ----------------- -dnl Check if the C++ compiler accepts duplicate parameter initialization. This -dnl is a late feature for the standard and is not in some recent compilers -dnl (1999/9/11). -AC_DEFUN([CF_CPP_PARAM_INIT], -[ -if test -n "$CXX"; then -AC_CACHE_CHECK(if $CXX accepts parameter initialization,cf_cv_cpp_param_init,[ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_RUN([ -class TEST { -private: - int value; -public: - TEST(int x = 1); - ~TEST(); -}; - -TEST::TEST(int x = 1) // some compilers do not like second initializer -{ - value = x; -} -void main() { } -], - [cf_cv_cpp_param_init=yes], - [cf_cv_cpp_param_init=no], - [cf_cv_cpp_param_init=unknown]) - AC_LANG_RESTORE -]) -fi -test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CPP_STATIC_CAST version: 1 updated: 2005/07/23 16:52:43 -dnl ------------------ -dnl Check if the C++ compiler accepts static_cast in generics. This appears to -dnl not be supported in g++ before 3.0 -AC_DEFUN([CF_CPP_STATIC_CAST], -[ -if test -n "$CXX"; then - -AC_CACHE_CHECK(if $CXX accepts static_cast,cf_cv_cpp_static_cast,[ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - - AC_TRY_COMPILE([ -class NCursesPanel -{ -public: - NCursesPanel(int nlines, - int ncols, - int begin_y = 0, - int begin_x = 0) - { - } - - ~NCursesPanel(); -}; - -template class NCursesUserPanel : public NCursesPanel -{ -public: - NCursesUserPanel (int nlines, - int ncols, - int begin_y = 0, - int begin_x = 0, - const T* p_UserData = static_cast(0)) - : NCursesPanel (nlines, ncols, begin_y, begin_x) - { - }; - NCursesUserPanel(const T* p_UserData = static_cast(0)) : NCursesPanel() - { - }; - - virtual ~NCursesUserPanel() {}; -}; -],[ - const char* p_UserData = static_cast(0)], - [cf_cv_cpp_static_cast=yes], - [cf_cv_cpp_static_cast=no]) - - AC_LANG_RESTORE -]) - -fi - -test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CPP_VSCAN_FUNC version: 5 updated: 2001/12/02 01:39:28 -dnl ----------------- -dnl Check if the g++ compiler supports vscan function (not a standard feature). -AC_DEFUN([CF_CPP_VSCAN_FUNC], -[ -if test -n "$CXX"; then - -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -AC_CHECK_HEADERS(strstream.h) - -AC_CACHE_CHECK(if $CXX supports vscan function,cf_cv_cpp_vscan_func,[ - for cf_vscan_func in strstream strstream_cast stdio - do - case $cf_vscan_func in #(vi - stdio) cf_vscan_defs=USE_STDIO_VSCAN ;; #(vi - strstream) cf_vscan_defs=USE_STRSTREAM_VSCAN ;; - strstream_cast) cf_vscan_defs=USE_STRSTREAM_VSCAN_CAST ;; - esac - AC_TRY_LINK([ -#include -#include -#define $cf_vscan_defs 1 -#if defined(USE_STDIO_VSCAN) -#elif defined(HAVE_STRSTREAM_H) && defined(USE_STRSTREAM_VSCAN) -#include -#endif - -int scanw(const char* fmt, ...) -{ - int result = -1; - char buf[BUFSIZ]; - - va_list args; - va_start(args, fmt); -#if defined(USE_STDIO_VSCAN) - if (::vsscanf(buf, fmt, args) != -1) - result = 0; -#elif defined(USE_STRSTREAM_VSCAN) - strstreambuf ss(buf, sizeof(buf)); - if (ss.vscan(fmt, args) != -1) - result = 0; -#elif defined(USE_STRSTREAM_VSCAN_CAST) - strstreambuf ss(buf, sizeof(buf)); - if (ss.vscan(fmt, (_IO_va_list)args) != -1) - result = 0; -#else -#error case $cf_vscan_func failed -#endif - va_end(args); - return result; -} -],[int tmp, foo = scanw("%d", &tmp)], - [cf_cv_cpp_vscan_func=$cf_vscan_func; break], - [cf_cv_cpp_vscan_func=no]) - test "$cf_cv_cpp_vscan_func" != no && break - done -]) - -AC_LANG_RESTORE -fi - -case $cf_cv_cpp_vscan_func in #(vi -stdio) #(vi - AC_DEFINE(CPP_HAS_VSCAN_FUNC) - AC_DEFINE(USE_STDIO_VSCAN) - ;; -strstream) - AC_DEFINE(CPP_HAS_VSCAN_FUNC) - AC_DEFINE(USE_STRSTREAM_VSCAN) - ;; -strstream_cast) - AC_DEFINE(CPP_HAS_VSCAN_FUNC) - AC_DEFINE(USE_STRSTREAM_VSCAN_CAST) - ;; -esac -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52 -dnl ---------- -dnl "dirname" is not portable, so we fake it with a shell script. -AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl -dnl --------------------------------------------------------------------------- -dnl CF_DIRS_TO_MAKE version: 3 updated: 2002/02/23 20:38:31 -dnl --------------- -AC_DEFUN([CF_DIRS_TO_MAKE], -[ -DIRS_TO_MAKE="lib" -for cf_item in $cf_list_models -do - CF_OBJ_SUBDIR($cf_item,cf_subdir) - for cf_item2 in $DIRS_TO_MAKE - do - test $cf_item2 = $cf_subdir && break - done - test ".$cf_item2" != ".$cf_subdir" && DIRS_TO_MAKE="$DIRS_TO_MAKE $cf_subdir" -done -for cf_dir in $DIRS_TO_MAKE -do - test ! -d $cf_dir && mkdir $cf_dir -done -AC_SUBST(DIRS_TO_MAKE) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39 -dnl -------- -dnl Check if 'errno' is declared in -AC_DEFUN([CF_ERRNO], -[ -CF_CHECK_ERRNO(errno) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ETIP_DEFINES version: 3 updated: 2003/03/22 19:13:43 -dnl --------------- -dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between -dnl math.h and builtin.h, only for ncurses -AC_DEFUN([CF_ETIP_DEFINES], -[ -AC_MSG_CHECKING(for special defines needed for etip.h) -cf_save_CXXFLAGS="$CXXFLAGS" -cf_result="none" -for cf_math in "" MATH_H -do -for cf_excp in "" MATH_EXCEPTION -do - CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include" - test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}" - test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}" -AC_TRY_COMPILE([ -#include -],[],[ - test -n "$cf_math" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_math}) - test -n "$cf_excp" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_excp}) - cf_result="$cf_math $cf_excp" - break -],[]) -done -done -AC_MSG_RESULT($cf_result) -CXXFLAGS="$cf_save_CXXFLAGS" -]) -dnl --------------------------------------------------------------------------- -dnl CF_FUNC_DLSYM version: 1 updated: 2004/06/16 20:52:45 -dnl ------------- -dnl Test for dlsym() and related functions, as well as libdl. -dnl -dnl Sets -dnl $cf_have_dlsym -dnl $cf_have_libdl -AC_DEFUN([CF_FUNC_DLSYM],[ -cf_have_dlsym=no -AC_CHECK_FUNC(dlsym,cf_have_dlsym=yes,[ - -cf_have_libdl=no -AC_CHECK_LIB(dl,dlsym,[ - cf_have_dlsym=yes - cf_have_libdl=yes])]) - -if test "$cf_have_dlsym" = yes ; then - test "$cf_have_libdl" = yes && LIBS="-ldl $LIBS" - - AC_MSG_CHECKING(whether able to link to dl*() functions) - AC_TRY_LINK([#include ],[ - void *obj; - if ((obj = dlopen("filename", 0)) != 0) { - if (dlsym(obj, "symbolname") == 0) { - dlclose(obj); - } - }],[ - AC_DEFINE(HAVE_LIBDL)],[ - AC_MSG_ERROR(Cannot link test program for libdl)]) - AC_MSG_RESULT(ok) -else - AC_MSG_ERROR(Cannot find dlsym function) -fi -]) -dnl --------------------------------------------------------------------------- -dnl CF_FUNC_MEMMOVE version: 5 updated: 2000/08/12 23:18:52 -dnl --------------- -dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither -dnl is found, add our own version of memmove to the list of objects. -AC_DEFUN([CF_FUNC_MEMMOVE], -[ -AC_CHECK_FUNC(memmove,,[ -AC_CHECK_FUNC(bcopy,[ - AC_CACHE_CHECK(if bcopy does overlapping moves,cf_cv_good_bcopy,[ - AC_TRY_RUN([ -int main() { - static char data[] = "abcdefghijklmnopqrstuwwxyz"; - char temp[40]; - bcopy(data, temp, sizeof(data)); - bcopy(temp+10, temp, 15); - bcopy(temp+5, temp+15, 10); - exit (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz")); -} - ], - [cf_cv_good_bcopy=yes], - [cf_cv_good_bcopy=no], - [cf_cv_good_bcopy=unknown]) - ]) - ],[cf_cv_good_bcopy=no]) - if test "$cf_cv_good_bcopy" = yes ; then - AC_DEFINE(USE_OK_BCOPY) - else - AC_DEFINE(USE_MY_MEMMOVE) - fi -])])dnl -dnl --------------------------------------------------------------------------- -dnl CF_FUNC_NANOSLEEP version: 1 updated: 2005/07/02 15:38:12 -dnl ----------------- -dnl Check for existence of workable nanosleep() function. Some systems, e.g., -dnl AIX 4.x, provide a non-working version. -AC_DEFUN([CF_FUNC_NANOSLEEP],[ -AC_CACHE_CHECK(if nanosleep really works,cf_cv_func_nanosleep,[ -AC_TRY_RUN([ -#include -#include -#include - -#ifdef HAVE_SYS_TIME_H -#include -#endif - -int main() { - struct timespec ts1, ts2; - int code; - ts1.tv_sec = 0; - ts1.tv_nsec = 750000000; - ts2.tv_sec = 0; - ts2.tv_nsec = 0; - errno = 0; - code = nanosleep(&ts1, &ts2); /* on failure errno is ENOSYS. */ - exit(code != 0); -} -], - [cf_cv_func_nanosleep=yes], - [cf_cv_func_nanosleep=no], - [cf_cv_func_nanosleep=unknown])]) - -test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP) -]) -dnl --------------------------------------------------------------------------- -dnl CF_FUNC_POLL version: 2 updated: 2000/02/06 01:38:04 -dnl ------------ -dnl See if the poll function really works. Some platforms have poll(), but -dnl it does not work for terminals or files. -AC_DEFUN([CF_FUNC_POLL],[ -AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[ -AC_TRY_RUN([ -#include -#ifdef HAVE_POLL_H -#include -#else -#include -#endif -int main() { - struct pollfd myfds; - int ret; - - myfds.fd = 0; - myfds.events = POLLIN; - - ret = poll(&myfds, 1, 100); - exit(ret != 0); -}], - [cf_cv_working_poll=yes], - [cf_cv_working_poll=no], - [cf_cv_working_poll=unknown])]) -test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_FUNC_TERMIOS version: 2 updated: 2000/07/22 23:37:24 -dnl --------------- -dnl Some old/broken variations define tcgetattr() only as a macro in -dnl termio(s).h -AC_DEFUN([CF_FUNC_TERMIOS],[ -AC_REQUIRE([CF_STRUCT_TERMIOS]) -AC_CACHE_CHECK(for tcgetattr, cf_cv_have_tcgetattr,[ -AC_TRY_LINK([ -#include -#ifdef HAVE_UNISTD_H -#include -#endif -#ifdef HAVE_TERMIOS_H -#include -#define TTY struct termios -#else -#ifdef HAVE_TERMIO_H -#include -#define TTY struct termio -#endif -#endif -],[ -TTY foo; -tcgetattr(1, &foo);], -[cf_cv_have_tcgetattr=yes], -[cf_cv_have_tcgetattr=no])]) -test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_FUNC_VSSCANF version: 3 updated: 2001/12/19 00:50:10 -dnl --------------- -dnl Check for vsscanf() function, which is in c9x but generally not in earlier -dnl versions of C. It is in the GNU C library, and can often be simulated by -dnl other functions. -AC_DEFUN([CF_FUNC_VSSCANF], -[ -AC_CACHE_CHECK(for vsscanf function or workaround,cf_cv_func_vsscanf,[ -AC_TRY_LINK([ -#include -#include ],[ - va_list ap; - vsscanf("from", "%d", ap)],[cf_cv_func_vsscanf=vsscanf],[ -AC_TRY_LINK([ -#include -#include ],[ - FILE strbuf; - char *str = "from"; - - strbuf._flag = _IOREAD; - strbuf._ptr = strbuf._base = (unsigned char *) str; - strbuf._cnt = strlen(str); - strbuf._file = _NFILE; - return (vfscanf(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=vfscanf],[ -AC_TRY_LINK([ -#include -#include ],[ - FILE strbuf; - char *str = "from"; - - strbuf._flag = _IOREAD; - strbuf._ptr = strbuf._base = (unsigned char *) str; - strbuf._cnt = strlen(str); - strbuf._file = _NFILE; - return (_doscan(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=_doscan],[ -cf_cv_func_vsscanf=no])])])]) - -case $cf_cv_func_vsscanf in #(vi -vsscanf) AC_DEFINE(HAVE_VSSCANF);; #(vi -vfscanf) AC_DEFINE(HAVE_VFSCANF);; #(vi -_doscan) AC_DEFINE(HAVE__DOSCAN);; -esac - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_GCC_ATTRIBUTES version: 10 updated: 2005/05/28 13:16:28 -dnl ----------------- -dnl Test for availability of useful gcc __attribute__ directives to quiet -dnl compiler warnings. Though useful, not all are supported -- and contrary -dnl to documentation, unrecognized directives cause older compilers to barf. -AC_DEFUN([CF_GCC_ATTRIBUTES], -[ -if test "$GCC" = yes -then -cat > conftest.i < conftest.$ac_ext <&AC_FD_CC - case $cf_attribute in - scanf|printf) - cat >conftest.h <conftest.h <>confdefs.h - fi - done -else - fgrep define conftest.i >>confdefs.h -fi -rm -rf conftest* -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_GCC_VERSION version: 4 updated: 2005/08/27 09:53:42 -dnl -------------- -dnl Find version of gcc -AC_DEFUN([CF_GCC_VERSION],[ -AC_REQUIRE([AC_PROG_CC]) -GCC_VERSION=none -if test "$GCC" = yes ; then - AC_MSG_CHECKING(version of $CC) - GCC_VERSION="`${CC} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`" - test -z "$GCC_VERSION" && GCC_VERSION=unknown - AC_MSG_RESULT($GCC_VERSION) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_GCC_WARNINGS version: 20 updated: 2005/08/06 18:37:29 -dnl --------------- -dnl Check if the compiler supports useful warning options. There's a few that -dnl we don't use, simply because they're too noisy: -dnl -dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x) -dnl -Wredundant-decls (system headers make this too noisy) -dnl -Wtraditional (combines too many unrelated messages, only a few useful) -dnl -Wwrite-strings (too noisy, but should review occasionally). This -dnl is enabled for ncurses using "--enable-const". -dnl -pedantic -dnl -dnl Parameter: -dnl $1 is an optional list of gcc warning flags that a particular -dnl application might want to use, e.g., "no-unused" for -dnl -Wno-unused -dnl Special: -dnl If $with_ext_const is "yes", add a check for -Wwrite-strings -dnl -AC_DEFUN([CF_GCC_WARNINGS], -[ -AC_REQUIRE([CF_GCC_VERSION]) -CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS) - -cat > conftest.$ac_ext <>conftest.ads <>conftest.adb <&AC_FD_CC 2>&1 ) ; then -ifelse($3,, :,[ $3]) -ifelse($4,,,[else - $4]) -fi -rm -f conftest* -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_GNAT_TRY_RUN version: 3 updated: 2004/08/21 19:02:08 -dnl --------------- -dnl Verify that a test program compiles and runs with GNAT -dnl $cf_ada_make is set to the program that compiles/links -dnl $ADAFLAGS may be set to the GNAT flags. -dnl -dnl $1 is the text of the spec -dnl $2 is the text of the body -dnl $3 is the shell command to execute if successful -dnl $4 is the shell command to execute if not successful -AC_DEFUN([CF_GNAT_TRY_RUN], -[ -rm -f conftest* -cat >>conftest.ads <>conftest.adb <&AC_FD_CC 2>&1 ) ; then - if ( ./conftest 1>&AC_FD_CC 2>&1 ) ; then -ifelse($3,, :,[ $3]) -ifelse($4,,,[ else - $4]) - fi -ifelse($4,,,[else - $4]) -fi -rm -f conftest* -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_GNAT_VERSION version: 11 updated: 2003/09/06 19:42:09 -dnl --------------- -dnl Verify version of GNAT. -AC_DEFUN([CF_GNAT_VERSION], -[ -AC_MSG_CHECKING(for gnat version) -cf_gnat_version=`${cf_ada_make-gnatmake} -v 2>&1 | grep '[[0-9]].[[0-9]][[0-9]]*' |\ - sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'` -AC_MSG_RESULT($cf_gnat_version) - -case $cf_gnat_version in - 3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*) - cf_cv_prog_gnat_correct=yes - ;; - *) echo Unsupported GNAT version $cf_gnat_version. Required is 3.11 or better. Disabling Ada95 binding. - cf_cv_prog_gnat_correct=no - ;; -esac -case $cf_gnat_version in - 3.[[1-9]]*|[[4-9]].*) - cf_compile_generics=generics - cf_generic_objects="\$(GENOBJS)" - ;; - *) cf_compile_generics= - cf_generic_objects= - ;; -esac -]) -dnl --------------------------------------------------------------------------- -dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07 -dnl ------------- -dnl Check if we must define _GNU_SOURCE to get a reasonable value for -dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect -dnl (or misfeature) of glibc2, which breaks portability of many applications, -dnl since it is interwoven with GNU extensions. -dnl -dnl Well, yes we could work around it... -AC_DEFUN([CF_GNU_SOURCE], -[ -AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[ -AC_TRY_COMPILE([#include ],[ -#ifndef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_gnu_source=no], - [cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" - AC_TRY_COMPILE([#include ],[ -#ifdef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_gnu_source=no], - [cf_cv_gnu_source=yes]) - CPPFLAGS="$cf_save" - ]) -]) -test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_GPP_LIBRARY version: 8 updated: 2003/02/02 01:41:46 -dnl -------------- -dnl If we're trying to use g++, test if libg++ is installed (a rather common -dnl problem :-). If we have the compiler but no library, we'll be able to -dnl configure, but won't be able to build the c++ demo program. -AC_DEFUN([CF_GPP_LIBRARY], -[ -cf_cxx_library=unknown -case $cf_cv_system_name in #(vi -os2*) #(vi - cf_gpp_libname=gpp - ;; -*) - cf_gpp_libname=g++ - ;; -esac -if test "$GXX" = yes; then - AC_MSG_CHECKING([for lib$cf_gpp_libname]) - cf_save="$LIBS" - LIBS="$LIBS -l$cf_gpp_libname" - AC_TRY_LINK([ -#include <$cf_gpp_libname/builtin.h> - ], - [two_arg_error_handler_t foo2 = lib_error_handler], - [cf_cxx_library=yes - CXXLIBS="$CXXLIBS -l$cf_gpp_libname" - if test "$cf_gpp_libname" = cpp ; then - AC_DEFINE(HAVE_GPP_BUILTIN_H) - else - AC_DEFINE(HAVE_GXX_BUILTIN_H) - fi], - [AC_TRY_LINK([ -#include - ], - [two_arg_error_handler_t foo2 = lib_error_handler], - [cf_cxx_library=yes - CXXLIBS="$CXXLIBS -l$cf_gpp_libname" - AC_DEFINE(HAVE_BUILTIN_H)], - [cf_cxx_library=no])]) - LIBS="$cf_save" - AC_MSG_RESULT($cf_cxx_library) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_GXX_VERSION version: 5 updated: 2005/08/27 09:53:42 -dnl -------------- -dnl Check for version of g++ -AC_DEFUN([CF_GXX_VERSION],[ -AC_REQUIRE([AC_PROG_CPP]) -GXX_VERSION=none -if test "$GXX" = yes; then - AC_MSG_CHECKING(version of g++) - GXX_VERSION="`${CXX-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`" - test -z "$GXX_VERSION" && GXX_VERSION=unknown - AC_MSG_RESULT($GXX_VERSION) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_GXX_WARNINGS version: 5 updated: 2005/08/13 14:54:38 -dnl --------------- -dnl Check if the compiler supports useful warning options. -dnl -dnl Most of gcc's options apply to g++, except: -dnl -Wbad-function-cast -dnl -Wmissing-declarations -dnl -Wnested-externs -dnl -dnl Omit a few (for now): -dnl -Winline -dnl -dnl Parameter: -dnl $1 is an optional list of g++ warning flags that a particular -dnl application might want to use, e.g., "no-unused" for -dnl -Wno-unused -dnl Special: -dnl If $with_ext_const is "yes", add a check for -Wwrite-strings -dnl -AC_DEFUN([CF_GXX_WARNINGS], -[ - -CF_INTEL_COMPILER(GXX,INTEL_CPLUSPLUS,CXXFLAGS) - -AC_REQUIRE([CF_GXX_VERSION]) - -AC_LANG_SAVE -AC_LANG_CPLUSPLUS - -cat > conftest.$ac_ext <],[int x = isascii(' ')], - [cf_cv_have_isascii=yes], - [cf_cv_have_isascii=no]) -])dnl -AC_MSG_RESULT($cf_cv_have_isascii) -test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_LARGEFILE version: 5 updated: 2005/07/17 11:03:36 -dnl ------------ -dnl Add checks for large file support. -AC_DEFUN([CF_LARGEFILE],[ -ifdef([AC_FUNC_FSEEKO],[ - AC_FUNC_FSEEKO - AC_SYS_LARGEFILE - - # Normally we would collect these definitions in the config.h, - # but (like _XOPEN_SOURCE), some environments rely on having these - # defined before any of the system headers are included. Another - # case comes up with C++, e.g., on AIX the compiler compiles the - # header files by themselves before looking at the body files it is - # told to compile. For ncurses, those header files do not include - # the config.h - test "$ac_cv_sys_large_files" != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES " - test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE " - - AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[ - AC_TRY_COMPILE([ -#include -#include - ],[ - /* if transitional largefile support is setup, this is true */ - extern struct dirent64 * readdir(DIR *); - struct dirent64 *x = readdir((DIR *)0); - struct dirent *y = readdir((DIR *)0); - int z = x - y; - ], - [cf_cv_struct_dirent64=yes], - [cf_cv_struct_dirent64=no]) - ]) - test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64) -]) -]) -dnl --------------------------------------------------------------------------- -dnl CF_LIBUTF8 version: 2 updated: 2002/01/19 22:51:32 -dnl ---------- -dnl Check for libutf8 -AC_DEFUN([CF_LIBUTF8], -[ -AC_CACHE_CHECK(for putwc in libutf8,cf_cv_libutf8,[ - cf_save_LIBS="$LIBS" - LIBS="-lutf8 $LIBS" -AC_TRY_LINK([ -#include ],[putwc(0,0);], - [cf_cv_libutf8=yes], - [cf_cv_libutf8=no]) - LIBS="$cf_save_LIBS" -]) - -if test "$cf_cv_libutf8" = yes ; then - AC_DEFINE(HAVE_LIBUTF8_H) - LIBS="-lutf8 $LIBS" -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_LIB_PREFIX version: 7 updated: 2001/01/12 01:23:48 -dnl ------------- -dnl Compute the library-prefix for the given host system -dnl $1 = variable to set -AC_DEFUN([CF_LIB_PREFIX], -[ - case $cf_cv_system_name in - OS/2*) LIB_PREFIX='' ;; - os2*) LIB_PREFIX='' ;; - *) LIB_PREFIX='lib' ;; - esac -ifelse($1,,,[$1=$LIB_PREFIX]) - AC_SUBST(LIB_PREFIX) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_LIB_RULES version: 36 updated: 2005/05/28 13:16:28 -dnl ------------ -dnl Append definitions and rules for the given models to the subdirectory -dnl Makefiles, and the recursion rule for the top-level Makefile. If the -dnl subdirectory is a library-source directory, modify the LIBRARIES list in -dnl the corresponding makefile to list the models that we'll generate. -dnl -dnl For shared libraries, make a list of symbolic links to construct when -dnl generating each library. The convention used for Linux is the simplest -dnl one: -dnl lib.so -> -dnl lib.so. -> -dnl lib.so.. -AC_DEFUN([CF_LIB_RULES], -[ -CF_LIB_PREFIX(cf_prefix) -AC_REQUIRE([CF_SUBST_NCURSES_VERSION]) -for cf_dir in $SRC_SUBDIRS -do - if test -f $srcdir/$cf_dir/modules; then - - IMPORT_LIB= - SHARED_LIB= - LIBS_TO_MAKE= - for cf_item in $CF_LIST_MODELS - do - CF_LIB_SUFFIX($cf_item,cf_suffix) - if test $cf_item = shared ; then - if test "$cf_cv_do_symlinks" = yes ; then - case "$cf_cv_shlib_version" in #(vi - rel) #(vi - case "$cf_cv_system_name" in #(vi - darwin*) - case .${LIB_SUFFIX} in - .w*) - cf_suffix=`echo $cf_suffix | sed 's/^w//'` - cf_suffix=w'.$(REL_VERSION)'"$cf_suffix" - ;; - *) - cf_suffix='.$(REL_VERSION)'"$cf_suffix" - ;; - esac - ;; #(vi - *) cf_suffix="$cf_suffix"'.$(REL_VERSION)' ;; - esac - ;; - abi) - case "$cf_cv_system_name" in #(vi - darwin*) - case .${LIB_SUFFIX} in - .w*) - cf_suffix=`echo $cf_suffix | sed 's/^w//'` - cf_suffix=w'.$(ABI_VERSION)'"$cf_suffix" - ;; - *) - cf_suffix='.$(ABI_VERSION)'"$cf_suffix" - ;; - esac - ;; #(vi - *) cf_suffix="$cf_suffix"'.$(ABI_VERSION)' ;; - esac - ;; - esac - fi - # cygwin needs import library, and has unique naming convention - # use autodetected ${cf_prefix} for import lib and static lib, but - # use 'cyg' prefix for shared lib. - if test $cf_cv_shlib_version = cygdll ; then - SHARED_LIB="../lib/cyg${cf_dir}\$(ABI_VERSION).dll" - IMPORT_LIB="../lib/${cf_prefix}${cf_dir}.dll.a" - LIBS_TO_MAKE="$LIBS_TO_MAKE \$(SHARED_LIB) \$(IMPORT_LIB)" - continue - fi - fi - LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}" - done - - if test $cf_dir = ncurses ; then - cf_subsets="$LIB_SUBSETS" - cf_termlib=`echo "$cf_subsets" |sed -e 's/ .*$//'` - if test "$cf_termlib" != "$cf_subsets" ; then - cf_item=`echo $LIBS_TO_MAKE |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g` - LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE" - fi - else - cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'` - fi - - sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \ - -e "s%@IMPORT_LIB@%$IMPORT_LIB%" \ - -e "s%@SHARED_LIB@%$SHARED_LIB%" \ - $cf_dir/Makefile >$cf_dir/Makefile.out - mv $cf_dir/Makefile.out $cf_dir/Makefile - - $AWK -f $srcdir/mk-0th.awk \ - libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \ - $srcdir/$cf_dir/modules >>$cf_dir/Makefile - - for cf_subset in $cf_subsets - do - cf_subdirs= - for cf_item in $CF_LIST_MODELS - do - echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})" - CF_UPPER(cf_ITEM,$cf_item) - CF_LIB_SUFFIX($cf_item,cf_suffix) - CF_OBJ_SUBDIR($cf_item,cf_subdir) - - # Test for case where we build libtinfo with a different name. - cf_libname=$cf_dir - if test $cf_dir = ncurses ; then - case $cf_subset in - *base*) - ;; - termlib*) - cf_libname=$TINFO_LIB_SUFFIX - if test -n "${DFT_ARG_SUFFIX}" ; then - # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX - cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"` - fi - ;; - esac - fi - - # These dependencies really are for development, not - # builds, but they are useful in porting, too. - cf_depend="../include/ncurses_cfg.h" - if test "$srcdir" = "."; then - cf_reldir="." - else - cf_reldir="\$(srcdir)" - fi - - if test -f $srcdir/$cf_dir/$cf_dir.priv.h; then - cf_depend="$cf_depend $cf_reldir/$cf_dir.priv.h" - elif test -f $srcdir/$cf_dir/curses.priv.h; then - cf_depend="$cf_depend $cf_reldir/curses.priv.h" - fi - - cf_dir_suffix= - old_cf_suffix="$cf_suffix" - if test "$cf_cv_shlib_version_infix" = yes ; then - if test -n "$LIB_SUFFIX" ; then - case $LIB_SUFFIX in - w*) - cf_libname=`echo $cf_libname | sed 's/w$//'` - cf_suffix=`echo $cf_suffix | sed 's/^w//'` - cf_dir_suffix=w - ;; - esac - fi - fi - - $AWK -f $srcdir/mk-1st.awk \ - name=${cf_libname}${cf_dir_suffix} \ - traces=$LIB_TRACING \ - MODEL=$cf_ITEM \ - model=$cf_subdir \ - prefix=$cf_prefix \ - suffix=$cf_suffix \ - subset=$cf_subset \ - ShlibVer=$cf_cv_shlib_version \ - ShlibVerInfix=$cf_cv_shlib_version_infix \ - DoLinks=$cf_cv_do_symlinks \ - rmSoLocs=$cf_cv_rm_so_locs \ - ldconfig="$LDCONFIG" \ - overwrite=$WITH_OVERWRITE \ - depend="$cf_depend" \ - host="$host" \ - $srcdir/$cf_dir/modules >>$cf_dir/Makefile - - cf_suffix="$old_cf_suffix" - - for cf_subdir2 in $cf_subdirs lib - do - test $cf_subdir = $cf_subdir2 && break - done - test "${cf_subset}.${cf_subdir2}" != "${cf_subset}.${cf_subdir}" && \ - $AWK -f $srcdir/mk-2nd.awk \ - name=$cf_dir \ - traces=$LIB_TRACING \ - MODEL=$cf_ITEM \ - model=$cf_subdir \ - subset=$cf_subset \ - srcdir=$srcdir \ - echo=$WITH_ECHO \ - crenames=$cf_cv_prog_CC_c_o \ - cxxrenames=$cf_cv_prog_CXX_c_o \ - $srcdir/$cf_dir/modules >>$cf_dir/Makefile - cf_subdirs="$cf_subdirs $cf_subdir" - done - done - fi - - echo ' cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) [$]@' >>Makefile -done - -for cf_dir in $SRC_SUBDIRS -do - if test -f $cf_dir/Makefile ; then - case "$cf_dir" in - Ada95) #(vi - echo 'libs \' >> Makefile - echo 'install.libs \' >> Makefile - echo 'uninstall.libs ::' >> Makefile - echo ' cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) [$]@' >> Makefile - ;; - esac - fi - - if test -f $srcdir/$cf_dir/modules; then - echo >> Makefile - if test -f $srcdir/$cf_dir/headers; then -cat >> Makefile <> Makefile -fi -cat >> Makefile <> Makefile <> Makefile <> Makefile <headers.sh <>headers.sh </<\$END\/\$NAME>/" >> \$TMPSED - done - ;; -*) - echo "" >> \$TMPSED - ;; -esac -CF_EOF -else - cat >>headers.sh <//" >> \$TMPSED - NAME=ncurses.h - fi - echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED - done - ;; -*) - echo "s///" >> \$TMPSED - ;; -esac -CF_EOF -fi -cat >>headers.sh < \$TMPSRC -NAME=\`basename \$SRC\` -CF_EOF -if test $WITH_CURSES_H != yes; then - cat >>headers.sh <>headers.sh <>$cf_dir/Makefile <>$cf_dir/Makefile - j=$i - done - echo " $j" >>$cf_dir/Makefile - for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"` - do - echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f `basename $i`) ; ../headers.sh \$(INSTALL_DATA) \$(DESTDIR)\$(includedir) \$(srcdir) $i" >>$cf_dir/Makefile - test $i = curses.h && test $WITH_CURSES_H = yes && echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h && \$(LN_S) curses.h ncurses.h)" >>$cf_dir/Makefile - done - - cat >>$cf_dir/Makefile <>$cf_dir/Makefile - test $i = curses.h && echo " -@ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h)" >>$cf_dir/Makefile - done - fi - - if test -f $srcdir/$cf_dir/modules; then - if test "$cf_dir" != "c++" ; then - cat >>$cf_dir/Makefile <<"CF_EOF" -depend : $(AUTO_SRC) - makedepend -- $(CPPFLAGS) -- $(C_SRC) - -# DO NOT DELETE THIS LINE -- make depend depends on it. -CF_EOF - fi - fi -done - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_LIB_SONAME version: 2 updated: 2005/06/25 16:05:47 -dnl ------------- -dnl Find the and soname for the given shared library. Set the cache variable -dnl cf_cv_$3_soname to this, unless it is not found. Then set the cache -dnl variable to "unknown". -dnl -dnl $1 = headers -dnl $2 = code -dnl $3 = library name -AC_DEFUN([CF_LIB_SONAME], -[ -AC_CACHE_CHECK(for soname of $3 library,cf_cv_$3_soname,[ - -cf_cv_$3_soname=unknown -if test "$cross_compiling" != yes ; then -cat >conftest.$ac_ext </dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep lib$3.` - test -z "$cf_cv_$3_soname" && cf_cv_$3_soname=unknown - fi - fi -rm -f conftest* -LIBS="$cf_save_LIBS" -fi -]) -]) -dnl --------------------------------------------------------------------------- -dnl CF_LIB_SUFFIX version: 13 updated: 2003/11/01 16:09:07 -dnl ------------- -dnl Compute the library file-suffix from the given model name -dnl $1 = model name -dnl $2 = variable to set -dnl The variable $LIB_SUFFIX, if set, prepends the variable to set. -AC_DEFUN([CF_LIB_SUFFIX], -[ - AC_REQUIRE([CF_SUBST_NCURSES_VERSION]) - case $1 in - libtool) $2='.la' ;; - normal) $2='.a' ;; - debug) $2='_g.a' ;; - profile) $2='_p.a' ;; - shared) - case $cf_cv_system_name in - cygwin*) $2='.dll' ;; - darwin*) $2='.dylib' ;; - hpux*) - case $target in - ia64*) $2='.so' ;; - *) $2='.sl' ;; - esac - ;; - *) $2='.so' ;; - esac - esac - test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}" -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49 -dnl ----------- -dnl Compute the string to append to -library from the given model name -dnl $1 = model name -dnl $2 = variable to set -dnl The variable $LIB_SUFFIX, if set, prepends the variable to set. -AC_DEFUN([CF_LIB_TYPE], -[ - case $1 in - libtool) $2='' ;; - normal) $2='' ;; - debug) $2='_g' ;; - profile) $2='_p' ;; - shared) $2='' ;; - esac - test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}" -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_LINK_DATAONLY version: 6 updated: 2003/02/02 01:41:46 -dnl ---------------- -dnl Some systems have a non-ANSI linker that doesn't pull in modules that have -dnl only data (i.e., no functions), for example NeXT. On those systems we'll -dnl have to provide wrappers for global tables to ensure they're linked -dnl properly. -AC_DEFUN([CF_LINK_DATAONLY], -[ -AC_MSG_CHECKING([if data-only library module links]) -AC_CACHE_VAL(cf_cv_link_dataonly,[ - rm -f conftest.a - cat >conftest.$ac_ext <&AC_FD_CC 1>/dev/null - fi - rm -f conftest.$ac_ext data.o - cat >conftest.$ac_ext <&AC_FD_CC 1>/dev/null - fi - rm -f conftest.$ac_ext func.o - ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null - cf_saveLIBS="$LIBS" - LIBS="conftest.a $LIBS" - AC_TRY_RUN([ - int main() - { - extern int testfunc(); - exit (!testfunc()); - } - ], - [cf_cv_link_dataonly=yes], - [cf_cv_link_dataonly=no], - [cf_cv_link_dataonly=unknown]) - LIBS="$cf_saveLIBS" - ]) -AC_MSG_RESULT($cf_cv_link_dataonly) - -if test "$cf_cv_link_dataonly" = no ; then - AC_DEFINE(BROKEN_LINKER) - BROKEN_LINKER=1 -fi - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_LINK_FUNCS version: 5 updated: 2003/02/02 01:41:46 -dnl ------------- -dnl Most Unix systems have both link and symlink, a few don't have symlink. -dnl A few non-Unix systems implement symlink, but not link. -dnl A few non-systems implement neither (or have nonfunctional versions). -AC_DEFUN([CF_LINK_FUNCS], -[ -AC_CHECK_FUNCS( \ - remove \ - unlink ) - -if test "$cross_compiling" = yes ; then - AC_CHECK_FUNCS( \ - link \ - symlink ) -else - AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[ - cf_cv_link_funcs= - for cf_func in link symlink ; do - AC_TRY_RUN([ -#include -#include -#ifdef HAVE_UNISTD_H -#include -#endif -int main() -{ - int fail = 0; - char *src = "config.log"; - char *dst = "conftest.chk"; - struct stat src_sb; - struct stat dst_sb; - - stat(src, &src_sb); - fail = ($cf_func("config.log", "conftest.chk") < 0) - || (stat(dst, &dst_sb) < 0) - || (dst_sb.st_mtime != src_sb.st_mtime); -#ifdef HAVE_UNLINK - unlink(dst); -#else - remove(dst); -#endif - exit (fail); -} - ],[ - cf_cv_link_funcs="$cf_cv_link_funcs $cf_func" - eval 'ac_cv_func_'$cf_func'=yes'],[ - eval 'ac_cv_func_'$cf_func'=no'],[ - eval 'ac_cv_func_'$cf_func'=error']) - done - test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no - ]) - test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK) - test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_MAKEFLAGS version: 9 updated: 2001/12/30 18:17:27 -dnl ------------ -dnl Some 'make' programs support $(MAKEFLAGS), some $(MFLAGS), to pass 'make' -dnl options to lower-levels. It's very useful for "make -n" -- if we have it. -dnl (GNU 'make' does both, something POSIX 'make', which happens to make the -dnl $(MAKEFLAGS) variable incompatible because it adds the assignments :-) -AC_DEFUN([CF_MAKEFLAGS], -[ -AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[ - cf_cv_makeflags='' - for cf_option in '-$(MAKEFLAGS)' '$(MFLAGS)' - do - cat >cf_makeflags.tmp </dev/null` - case "$cf_result" in - .*k) - cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null` - case "$cf_result" in - .*CC=*) cf_cv_makeflags= - ;; - *) cf_cv_makeflags=$cf_option - ;; - esac - break - ;; - *) echo no match "$cf_result" - ;; - esac - done - rm -f cf_makeflags.tmp -]) - -AC_SUBST(cf_cv_makeflags) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_MAKE_TAGS version: 2 updated: 2000/10/04 09:18:40 -dnl ------------ -dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have -dnl a monocase filesystem. -AC_DEFUN([CF_MAKE_TAGS],[ -AC_REQUIRE([CF_MIXEDCASE_FILENAMES]) -AC_CHECK_PROG(MAKE_LOWER_TAGS, ctags, yes, no) - -if test "$cf_cv_mixedcase" = yes ; then - AC_CHECK_PROG(MAKE_UPPER_TAGS, etags, yes, no) -else - MAKE_UPPER_TAGS=no -fi - -if test "$MAKE_UPPER_TAGS" = yes ; then - MAKE_UPPER_TAGS= -else - MAKE_UPPER_TAGS="#" -fi -AC_SUBST(MAKE_UPPER_TAGS) - -if test "$MAKE_LOWER_TAGS" = yes ; then - MAKE_LOWER_TAGS= -else - MAKE_LOWER_TAGS="#" -fi -AC_SUBST(MAKE_LOWER_TAGS) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_MANPAGE_FORMAT version: 7 updated: 2003/12/20 19:30:34 -dnl ----------------- -dnl Option to allow user to override automatic configuration of manpage format. -dnl There are several special cases: -dnl -dnl gzip - man checks for, can display gzip'd files -dnl compress - man checks for, can display compressed files -dnl BSDI - files in the cat-directories are suffixed ".0" -dnl formatted - installer should format (put files in cat-directory) -dnl catonly - installer should only format, e.g., for a turnkey system. -dnl -dnl There are other configurations which this macro does not test, e.g., HPUX's -dnl compressed manpages (but uncompressed manpages are fine, and HPUX's naming -dnl convention would not match our use). -AC_DEFUN([CF_MANPAGE_FORMAT], -[ -AC_REQUIRE([CF_PATHSEP]) -AC_MSG_CHECKING(format of man-pages) - -AC_ARG_WITH(manpage-format, - [ --with-manpage-format specify manpage-format: gzip/compress/BSDI/normal and - optionally formatted/catonly, e.g., gzip,formatted], - [MANPAGE_FORMAT=$withval], - [MANPAGE_FORMAT=unknown]) - -test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=unknown -MANPAGE_FORMAT=`echo "$MANPAGE_FORMAT" | sed -e 's/,/ /g'` - -cf_unknown= - -case $MANPAGE_FORMAT in -unknown) - if test -z "$MANPATH" ; then - MANPATH="/usr/man:/usr/share/man" - fi - - # look for the 'date' man-page (it's most likely to be installed!) - MANPAGE_FORMAT= - cf_preform=no - cf_catonly=yes - cf_example=date - - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATHSEP}" - for cf_dir in $MANPATH; do - test -z "$cf_dir" && cf_dir=/usr/man - for cf_name in $cf_dir/man*/$cf_example.[[01]]* $cf_dir/cat*/$cf_example.[[01]]* $cf_dir/man*/$cf_example $cf_dir/cat*/$cf_example - do - cf_test=`echo $cf_name | sed -e 's/*//'` - if test "x$cf_test" = "x$cf_name" ; then - - case "$cf_name" in - *.gz) MANPAGE_FORMAT="$MANPAGE_FORMAT gzip";; - *.Z) MANPAGE_FORMAT="$MANPAGE_FORMAT compress";; - *.0) MANPAGE_FORMAT="$MANPAGE_FORMAT BSDI";; - *) MANPAGE_FORMAT="$MANPAGE_FORMAT normal";; - esac - - case "$cf_name" in - $cf_dir/man*) - cf_catonly=no - ;; - $cf_dir/cat*) - cf_preform=yes - ;; - esac - break - fi - - # if we found a match in either man* or cat*, stop looking - if test -n "$MANPAGE_FORMAT" ; then - cf_found=no - test "$cf_preform" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT formatted" - test "$cf_catonly" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT catonly" - case "$cf_name" in - $cf_dir/cat*) - cf_found=yes - ;; - esac - test $cf_found=yes && break - fi - done - # only check the first directory in $MANPATH where we find manpages - if test -n "$MANPAGE_FORMAT" ; then - break - fi - done - # if we did not find the example, just assume it is normal - test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=normal - IFS="$ac_save_ifs" - ;; -*) - for cf_option in $MANPAGE_FORMAT; do - case $cf_option in #(vi - gzip|compress|BSDI|normal|formatted|catonly) - ;; - *) - cf_unknown="$cf_unknown $cf_option" - ;; - esac - done - ;; -esac - -AC_MSG_RESULT($MANPAGE_FORMAT) -if test -n "$cf_unknown" ; then - AC_MSG_WARN(Unexpected manpage-format $cf_unknown) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_MANPAGE_RENAMES version: 7 updated: 2005/06/18 18:51:57 -dnl ------------------ -dnl The Debian people have their own naming convention for manpages. This -dnl option lets us override the name of the file containing renaming, or -dnl disable it altogether. -AC_DEFUN([CF_MANPAGE_RENAMES], -[ -AC_MSG_CHECKING(for manpage renaming) - -AC_ARG_WITH(manpage-renames, - [ --with-manpage-renames specify manpage-renaming], - [MANPAGE_RENAMES=$withval], - [MANPAGE_RENAMES=yes]) - -case ".$MANPAGE_RENAMES" in #(vi -.no) #(vi - ;; -.|.yes) - # Debian 'man' program? - if test -f /etc/debian_version ; then - MANPAGE_RENAMES=`cd $srcdir && pwd`/man/man_db.renames - else - MANPAGE_RENAMES=no - fi - ;; -esac - -if test "$MANPAGE_RENAMES" != no ; then - if test -f $srcdir/man/$MANPAGE_RENAMES ; then - MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES - elif test ! -f $MANPAGE_RENAMES ; then - AC_MSG_ERROR(not a filename: $MANPAGE_RENAMES) - fi - - test ! -d man && mkdir man - - # Construct a sed-script to perform renaming within man-pages - if test -n "$MANPAGE_RENAMES" ; then - test ! -d man && mkdir man - sh $srcdir/man/make_sed.sh $MANPAGE_RENAMES >./edit_man.sed - fi -fi - -AC_MSG_RESULT($MANPAGE_RENAMES) -AC_SUBST(MANPAGE_RENAMES) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_MANPAGE_SYMLINKS version: 4 updated: 2003/12/13 18:01:58 -dnl ------------------- -dnl Some people expect each tool to make all aliases for manpages in the -dnl man-directory. This accommodates the older, less-capable implementations -dnl of 'man', and is optional. -AC_DEFUN([CF_MANPAGE_SYMLINKS], -[ -AC_MSG_CHECKING(if manpage aliases will be installed) - -AC_ARG_WITH(manpage-aliases, - [ --with-manpage-aliases specify manpage-aliases using .so], - [MANPAGE_ALIASES=$withval], - [MANPAGE_ALIASES=yes]) - -AC_MSG_RESULT($MANPAGE_ALIASES) - -if test "$LN_S" = "ln -s"; then - cf_use_symlinks=yes -else - cf_use_symlinks=no -fi - -MANPAGE_SYMLINKS=no -if test "$MANPAGE_ALIASES" = yes ; then -AC_MSG_CHECKING(if manpage symlinks should be used) - -AC_ARG_WITH(manpage-symlinks, - [ --with-manpage-symlinks specify manpage-aliases using symlinks], - [MANPAGE_SYMLINKS=$withval], - [MANPAGE_SYMLINKS=$cf_use_symlinks]) - -if test "$$cf_use_symlinks" = no; then -if test "$MANPAGE_SYMLINKS" = yes ; then - AC_MSG_WARN(cannot make symlinks, will use .so files) - MANPAGE_SYMLINKS=no -fi -fi - -AC_MSG_RESULT($MANPAGE_SYMLINKS) -fi - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_MANPAGE_TBL version: 3 updated: 2002/01/19 22:51:32 -dnl -------------- -dnl This option causes manpages to be run through tbl(1) to generate tables -dnl correctly. -AC_DEFUN([CF_MANPAGE_TBL], -[ -AC_MSG_CHECKING(for manpage tbl) - -AC_ARG_WITH(manpage-tbl, - [ --with-manpage-tbl specify manpage processing with tbl], - [MANPAGE_TBL=$withval], - [MANPAGE_TBL=no]) - -AC_MSG_RESULT($MANPAGE_TBL) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_MAN_PAGES version: 29 updated: 2005/06/18 19:42:52 -dnl ------------ -dnl Try to determine if the man-pages on the system are compressed, and if -dnl so, what format is used. Use this information to construct a script that -dnl will install man-pages. -AC_DEFUN([CF_MAN_PAGES], -[ -CF_HELP_MESSAGE(Options to Specify How Manpages are Installed:) -CF_MANPAGE_FORMAT -CF_MANPAGE_RENAMES -CF_MANPAGE_SYMLINKS -CF_MANPAGE_TBL - - if test "$prefix" = "NONE" ; then - cf_prefix="$ac_default_prefix" - else - cf_prefix="$prefix" - fi - - case "$MANPAGE_FORMAT" in # (vi - *catonly*) # (vi - cf_format=yes - cf_inboth=no - ;; - *formatted*) # (vi - cf_format=yes - cf_inboth=yes - ;; - *) - cf_format=no - cf_inboth=no - ;; - esac - -test ! -d man && mkdir man - -cf_so_strip= -cf_compress= -case "$MANPAGE_FORMAT" in #(vi -*compress*) #(vi - cf_so_strip="Z" - cf_compress=compress - ;; -*gzip*) #(vi - cf_so_strip="gz" - cf_compress=gzip - ;; -esac - -cf_edit_man=./edit_man.sh - -cat >$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP -CF_EOF -else -cat >>$cf_edit_man <\$TMP -CF_EOF -fi - -cat >>$cf_edit_man <\$TMP.out - mv \$TMP.out \$TMP -fi -CF_EOF - -if test $with_curses_h != yes ; then -cat >>$cf_edit_man <\$TMP.out - mv \$TMP.out \$TMP -CF_EOF -fi - -cat >>$cf_edit_man <\$TMP.out - mv \$TMP.out \$TMP - fi -CF_EOF - -if test -n "$cf_compress" ; then -cat >>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP -CF_EOF -if test -n "$cf_compress" ; then -cat >>$cf_edit_man <>$cf_edit_man < - #include - ], - [double x = rand(); printf("result = %g\n", ]ifelse($2,,sin(x),$2)[)], - [cf_cv_need_libm=no], - [cf_cv_need_libm=yes])]) -if test "$cf_cv_need_libm" = yes -then -ifelse($1,,[ - LIBS="$LIBS -lm" -],[$1=-lm]) -fi -]) -dnl --------------------------------------------------------------------------- -dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55 -dnl ---------------------- -dnl Check if the file-system supports mixed-case filenames. If we're able to -dnl create a lowercase name and see it as uppercase, it doesn't support that. -AC_DEFUN([CF_MIXEDCASE_FILENAMES], -[ -AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[ -if test "$cross_compiling" = yes ; then - case $target_alias in #(vi - *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi - cf_cv_mixedcase=no - ;; - *) - cf_cv_mixedcase=yes - ;; - esac -else - rm -f conftest CONFTEST - echo test >conftest - if test -f CONFTEST ; then - cf_cv_mixedcase=no - else - cf_cv_mixedcase=yes - fi - rm -f conftest CONFTEST -fi -]) -test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_MKSTEMP version: 3 updated: 2001/11/08 20:59:59 -dnl ---------- -dnl Check for a working mkstemp. This creates two files, checks that they are -dnl successfully created and distinct (AmigaOS apparently fails on the last). -AC_DEFUN([CF_MKSTEMP],[ -AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[ -rm -f conftest* -AC_TRY_RUN([ -#include -#include -#include -#include -#include -int main() -{ - char *tmpl = "conftestXXXXXX"; - char name[2][80]; - int n; - int result = 0; - int fd; - struct stat sb; - - umask(077); - for (n = 0; n < 2; ++n) { - strcpy(name[n], tmpl); - if ((fd = mkstemp(name[n])) >= 0) { - if (!strcmp(name[n], tmpl) - || stat(name[n], &sb) != 0 - || (sb.st_mode & S_IFMT) != S_IFREG - || (sb.st_mode & 077) != 0) { - result = 1; - } - close(fd); - } - } - if (result == 0 - && !strcmp(name[0], name[1])) - result = 1; - exit(result); -} -],[cf_cv_func_mkstemp=yes -],[cf_cv_func_mkstemp=no -],[AC_CHECK_FUNC(mkstemp) -]) -]) -if test "$cf_cv_func_mkstemp" = yes ; then - AC_DEFINE(HAVE_MKSTEMP) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_MSG_LOG version: 3 updated: 1997/09/07 14:05:52 -dnl ---------- -dnl Write a debug message to config.log, along with the line number in the -dnl configure script. -AC_DEFUN([CF_MSG_LOG],[ -echo "(line __oline__) testing $* ..." 1>&AC_FD_CC -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_ABI_6 version: 1 updated: 2005/09/17 18:42:49 -dnl ---------------- -dnl Set ncurses' ABI to 6 unless overridden by explicit configure option, and -dnl warn about this. -AC_DEFUN([CF_NCURSES_ABI_6],[ -if test "${with_abi_version+set}" != set; then - case $cf_cv_rel_version in - 5.*) - cf_cv_rel_version=6.0 - cf_cv_abi_version=6 - AC_MSG_WARN(Overriding ABI version to $cf_cv_abi_version) - ;; - esac -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49 -dnl ---------------- -dnl Check if the given variable is a number. If not, report an error. -dnl $1 is the variable -dnl $2 is the message -AC_DEFUN([CF_NUMBER_SYNTAX],[ -if test -n "$1" ; then - case $1 in #(vi - [[0-9]]*) #(vi - ;; - *) - AC_MSG_ERROR($2 is not a number: $1) - ;; - esac -else - AC_MSG_ERROR($2 value is empty) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31 -dnl ------------- -dnl Compute the object-directory name from the given model name -AC_DEFUN([CF_OBJ_SUBDIR], -[ - case $1 in - libtool) $2='obj_lo' ;; - normal) $2='objects' ;; - debug) $2='obj_g' ;; - profile) $2='obj_p' ;; - shared) - case $cf_cv_system_name in #(vi - cygwin) #(vi - $2='objects' ;; - *) - $2='obj_s' ;; - esac - esac -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PATHSEP version: 3 updated: 2001/01/12 01:23:53 -dnl ---------- -dnl Provide a value for the $PATH and similar separator -AC_DEFUN([CF_PATHSEP], -[ - case $cf_cv_system_name in - os2*) PATHSEP=';' ;; - *) PATHSEP=':' ;; - esac -ifelse($1,,,[$1=$PATHSEP]) - AC_SUBST(PATHSEP) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PATH_SYNTAX version: 9 updated: 2002/09/17 23:03:38 -dnl -------------- -dnl Check the argument to see that it looks like a pathname. Rewrite it if it -dnl begins with one of the prefix/exec_prefix variables, and then again if the -dnl result begins with 'NONE'. This is necessary to work around autoconf's -dnl delayed evaluation of those symbols. -AC_DEFUN([CF_PATH_SYNTAX],[ -case ".[$]$1" in #(vi -.\[$]\(*\)*|.\'*\'*) #(vi - ;; -..|./*|.\\*) #(vi - ;; -.[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX - ;; -.\[$]{*prefix}*) #(vi - eval $1="[$]$1" - case ".[$]$1" in #(vi - .NONE/*) - $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%` - ;; - esac - ;; #(vi -.NONE/*) - $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%` - ;; -*) - ifelse($2,,[AC_ERROR([expected a pathname, not \"[$]$1\"])],$2) - ;; -esac -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_POSIX_C_SOURCE version: 6 updated: 2005/07/14 20:25:10 -dnl ----------------- -dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed. -dnl -dnl POSIX.1-1990 _POSIX_SOURCE -dnl POSIX.1-1990 and _POSIX_SOURCE and -dnl POSIX.2-1992 C-Language _POSIX_C_SOURCE=2 -dnl Bindings Option -dnl POSIX.1b-1993 _POSIX_C_SOURCE=199309L -dnl POSIX.1c-1996 _POSIX_C_SOURCE=199506L -dnl X/Open 2000 _POSIX_C_SOURCE=200112L -dnl -dnl Parameters: -dnl $1 is the nominal value for _POSIX_C_SOURCE -AC_DEFUN([CF_POSIX_C_SOURCE], -[ -cf_POSIX_C_SOURCE=ifelse($1,,199506L,$1) - -cf_save_CFLAGS="$CFLAGS" -cf_save_CPPFLAGS="$CPPFLAGS" - -CF_REMOVE_DEFINE(cf_trim_CFLAGS,$cf_save_CFLAGS,_POSIX_C_SOURCE) -CF_REMOVE_DEFINE(cf_trim_CPPFLAGS,$cf_save_CPPFLAGS,_POSIX_C_SOURCE) - -AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[ - CF_MSG_LOG(if the symbol is already defined go no further) - AC_TRY_COMPILE([#include ],[ -#ifndef _POSIX_C_SOURCE -make an error -#endif], - [cf_cv_posix_c_source=no], - [cf_want_posix_source=no - case .$cf_POSIX_C_SOURCE in #(vi - .[[12]]??*) #(vi - cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" - ;; - .2) #(vi - cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" - cf_want_posix_source=yes - ;; - .*) - cf_want_posix_source=yes - ;; - esac - if test "$cf_want_posix_source" = yes ; then - AC_TRY_COMPILE([#include ],[ -#ifdef _POSIX_SOURCE -make an error -#endif],[], - cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE") - fi - CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE) - CFLAGS="$cf_trim_CFLAGS" - CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source" - CF_MSG_LOG(if the second compile does not leave our definition intact error) - AC_TRY_COMPILE([#include ],[ -#ifndef _POSIX_C_SOURCE -make an error -#endif],, - [cf_cv_posix_c_source=no]) - CFLAGS="$cf_save_CFLAGS" - CPPFLAGS="$cf_save_CPPFLAGS" - ]) -]) - -if test "$cf_cv_posix_c_source" != no ; then - CFLAGS="$cf_trim_CFLAGS" - CPPFLAGS="$cf_trim_CPPFLAGS" - if test "$cf_cv_cc_u_d_options" = yes ; then - cf_temp_posix_c_source=`echo "$cf_cv_posix_c_source" | \ - sed -e 's/-D/-U/g' -e 's/=[[^ ]]*//g'` - CPPFLAGS="$CPPFLAGS $cf_temp_posix_c_source" - fi - CPPFLAGS="$CPPFLAGS $cf_cv_posix_c_source" -fi - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PREDEFINE version: 1 updated: 2003/07/26 17:53:56 -dnl ------------ -dnl Add definitions to CPPFLAGS to ensure they're predefined for all compiles. -dnl -dnl $1 = symbol to test -dnl $2 = value (if any) to use for a predefinition -AC_DEFUN([CF_PREDEFINE], -[ -AC_MSG_CHECKING(if we must define $1) -AC_TRY_COMPILE([#include -],[ -#ifndef $1 -make an error -#endif],[cf_result=no],[cf_result=yes]) -AC_MSG_RESULT($cf_result) - -if test "$cf_result" = yes ; then - CPPFLAGS="$CPPFLAGS ifelse($2,,-D$1,[-D$1=$2])" -elif test "x$2" != "x" ; then - AC_MSG_CHECKING(checking for compatible value versus $2) - AC_TRY_COMPILE([#include -],[ -#if $1-$2 < 0 -make an error -#endif],[cf_result=yes],[cf_result=no]) - AC_MSG_RESULT($cf_result) - if test "$cf_result" = no ; then - # perhaps we can override it - try... - CPPFLAGS="$CPPFLAGS -D$1=$2" - fi -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PROG_CC_C_O version: 1 updated: 2004/02/14 15:00:43 -dnl -------------- -dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that -dnl the output file can be renamed, and allows for a shell variable that can -dnl be used later. The parameter is either CC or CXX. The result is the -dnl cache variable: -dnl $cf_cv_prog_CC_c_o -dnl $cf_cv_prog_CXX_c_o -AC_DEFUN([CF_PROG_CC_C_O], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_MSG_CHECKING([whether [$]$1 understands -c and -o together]) -AC_CACHE_VAL(cf_cv_prog_$1_c_o, -[ -cat > conftest.$ac_ext < -int main() -{ - return 0; -} -CF_EOF -# We do the test twice because some compilers refuse to overwrite an -# existing .o file with -o, though they will create one. -ac_try='[$]$1 -c conftest.$ac_ext -o conftest2.$ac_objext >&AC_FD_CC' -if AC_TRY_EVAL(ac_try) && - test -f conftest2.$ac_objext && AC_TRY_EVAL(ac_try); -then - eval cf_cv_prog_$1_c_o=yes -else - eval cf_cv_prog_$1_c_o=no -fi -rm -f conftest* -])dnl -if test $cf_cv_prog_$1_c_o = yes; then - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PROG_CC_U_D version: 1 updated: 2005/07/14 16:59:30 -dnl -------------- -dnl Check if C (preprocessor) -U and -D options are processed in the order -dnl given rather than by type of option. Some compilers insist on apply all -dnl of the -U options after all of the -D options. Others allow mixing them, -dnl and may predefine symbols that conflict with those we define. -AC_DEFUN([CF_PROG_CC_U_D], -[ -AC_CACHE_CHECK(if $CC -U and -D options work together,cf_cv_cc_u_d_options,[ - cf_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-UU_D_OPTIONS -DU_D_OPTIONS -DD_U_OPTIONS -UD_U_OPTIONS" - AC_TRY_COMPILE([],[ -#ifndef U_D_OPTIONS -make an undefined-error -#endif -#ifdef D_U_OPTIONS -make a defined-error -#endif - ],[ - cf_cv_cc_u_d_options=yes],[ - cf_cv_cc_u_d_options=no]) - CPPFLAGS="$cf_save_CPPFLAGS" -]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18 -dnl ----------- -dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX. -AC_DEFUN([CF_PROG_EXT], -[ -AC_REQUIRE([CF_CHECK_CACHE]) -case $cf_cv_system_name in -os2*) - CFLAGS="$CFLAGS -Zmt" - CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__" - CXXFLAGS="$CXXFLAGS -Zmt" - # autoconf's macro sets -Zexe and suffix both, which conflict:w - LDFLAGS="$LDFLAGS -Zmt -Zcrtdll" - ac_cv_exeext=.exe - ;; -esac - -AC_EXEEXT -AC_OBJEXT - -PROG_EXT="$EXEEXT" -AC_SUBST(PROG_EXT) -test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT") -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PROG_INSTALL version: 5 updated: 2002/12/21 22:46:07 -dnl --------------- -dnl Force $INSTALL to be an absolute-path. Otherwise, edit_man.sh and the -dnl misc/tabset install won't work properly. Usually this happens only when -dnl using the fallback mkinstalldirs script -AC_DEFUN([CF_PROG_INSTALL], -[AC_PROG_INSTALL -case $INSTALL in -/*) - ;; -*) - CF_DIRNAME(cf_dir,$INSTALL) - test -z "$cf_dir" && cf_dir=. - INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'` - ;; -esac -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PROG_LDCONFIG version: 1 updated: 2003/09/20 17:07:55 -dnl ---------------- -dnl Check for ldconfig, needed to fixup shared libraries that would be built -dnl and then used in the install. -AC_DEFUN([CF_PROG_LDCONFIG],[ -if test "$cross_compiling" = yes ; then - LDCONFIG=: -else -case "$cf_cv_system_name" in #(vi -freebsd*) #(vi - test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R" - ;; -*) LDPATH=$PATH:/sbin:/usr/sbin - AC_PATH_PROG(LDCONFIG,ldconfig,,$LDPATH) - ;; -esac -fi -AC_SUBST(LDCONFIG) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_REGEX version: 3 updated: 1997/11/01 14:26:01 -dnl -------- -dnl Attempt to determine if we've got one of the flavors of regular-expression -dnl code that we can support. -AC_DEFUN([CF_REGEX], -[ -AC_MSG_CHECKING([for regular-expression headers]) -AC_CACHE_VAL(cf_cv_regex,[ -AC_TRY_LINK([#include -#include ],[ - regex_t *p; - int x = regcomp(p, "", 0); - int y = regexec(p, "", 0, 0, 0); - regfree(p); - ],[cf_cv_regex="regex.h"],[ - AC_TRY_LINK([#include ],[ - char *p = compile("", "", "", 0); - int x = step("", ""); - ],[cf_cv_regex="regexp.h"],[ - cf_save_LIBS="$LIBS" - LIBS="-lgen $LIBS" - AC_TRY_LINK([#include ],[ - char *p = compile("", "", ""); - int x = step("", ""); - ],[cf_cv_regex="regexpr.h"],[LIBS="$cf_save_LIBS"])])]) -]) -AC_MSG_RESULT($cf_cv_regex) -case $cf_cv_regex in - regex.h) AC_DEFINE(HAVE_REGEX_H_FUNCS) ;; - regexp.h) AC_DEFINE(HAVE_REGEXP_H_FUNCS) ;; - regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS) ;; -esac -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_REMOVE_DEFINE version: 2 updated: 2005/07/09 16:12:18 -dnl ---------------- -dnl Remove all -U and -D options that refer to the given symbol from a list -dnl of C compiler options. This works around the problem that not all -dnl compilers process -U and -D options from left-to-right, so a -U option -dnl cannot be used to cancel the effect of a preceding -D option. -dnl -dnl $1 = target (which could be the same as the source variable) -dnl $2 = source (including '$') -dnl $3 = symbol to remove -define([CF_REMOVE_DEFINE], -[ -# remove $3 symbol from $2 -$1=`echo "$2" | \ - sed -e 's/-[[UD]]$3\(=[[^ ]]*\)\?[[ ]]/ /g' \ - -e 's/-[[UD]]$3\(=[[^ ]]*\)\?[$]//g'` -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_SHARED_OPTS version: 31 updated: 2005/01/01 16:39:44 -dnl -------------- -dnl Attempt to determine the appropriate CC/LD options for creating a shared -dnl library. -dnl -dnl Note: $(LOCAL_LDFLAGS) is used to link executables that will run within the -dnl build-tree, i.e., by making use of the libraries that are compiled in ../lib -dnl We avoid compiling-in a ../lib path for the shared library since that can -dnl lead to unexpected results at runtime. -dnl $(LOCAL_LDFLAGS2) has the same intention but assumes that the shared libraries -dnl are compiled in ../../lib -dnl -dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure -dnl to install symbolic links to the rel/abi versions of shared libraries. -dnl -dnl The variable 'cf_cv_shlib_version' controls whether we use the rel or abi -dnl version when making symbolic links. -dnl -dnl The variable 'cf_cv_shlib_version_infix' controls whether shared library -dnl version numbers are infix (ex: libncurses..dylib) or postfix -dnl (ex: libncurses.so.). -dnl -dnl Some loaders leave 'so_locations' lying around. It's nice to clean up. -AC_DEFUN([CF_SHARED_OPTS], -[ - AC_REQUIRE([CF_SUBST_NCURSES_VERSION]) - LOCAL_LDFLAGS= - LOCAL_LDFLAGS2= - LD_SHARED_OPTS= - INSTALL_LIB="-m 644" - - cf_cv_do_symlinks=no - - AC_MSG_CHECKING(if release/abi version should be used for shared libs) - AC_ARG_WITH(shlib-version, - [ --with-shlib-version=X Specify rel or abi version for shared libs], - [test -z "$withval" && withval=auto - case $withval in #(vi - yes) #(vi - cf_cv_shlib_version=auto - ;; - rel|abi|auto|no) #(vi - cf_cv_shlib_version=$withval - ;; - *) - AC_ERROR([option value must be one of: rel, abi, auto or no]) - ;; - esac - ],[cf_cv_shlib_version=auto]) - AC_MSG_RESULT($cf_cv_shlib_version) - - cf_cv_rm_so_locs=no - - # Some less-capable ports of gcc support only -fpic - CC_SHARED_OPTS= - if test "$GCC" = yes - then - AC_MSG_CHECKING(which $CC option to use) - cf_save_CFLAGS="$CFLAGS" - for CC_SHARED_OPTS in -fPIC -fpic '' - do - CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS" - AC_TRY_COMPILE([#include ],[int x = 1],[break],[]) - done - AC_MSG_RESULT($CC_SHARED_OPTS) - CFLAGS="$cf_save_CFLAGS" - fi - - cf_cv_shlib_version_infix=no - - case $cf_cv_system_name in - beos*) - MK_SHARED_LIB='$(CC) -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0' - ;; - cygwin*) - CC_SHARED_OPTS= - MK_SHARED_LIB='$(CC) -shared -Wl,--out-implib=$(IMPORT_LIB) -Wl,--export-all-symbols -o $(SHARED_LIB)' - cf_cv_shlib_version=cygdll - cf_cv_shlib_version_infix=cygdll - ;; - darwin*) - EXTRA_CFLAGS="-no-cpp-precomp" - CC_SHARED_OPTS="-dynamic" - MK_SHARED_LIB='$(CC) -dynamiclib -install_name $(DESTDIR)$(libdir)/`basename $[@]` -compatibility_version $(ABI_VERSION) -current_version $(ABI_VERSION) -o $[@]' - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi - cf_cv_shlib_version_infix=yes - ;; - hpux*) - # (tested with gcc 2.7.2 -- I don't have c89) - if test "$GCC" = yes; then - LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)' - else - CC_SHARED_OPTS='+Z' - LD_SHARED_OPTS='-Wl,+b,$(libdir)' - fi - MK_SHARED_LIB='$(LD) +b $(libdir) -b -o $[@]' - # HP-UX shared libraries must be executable, and should be - # readonly to exploit a quirk in the memory manager. - INSTALL_LIB="-m 555" - ;; - irix*) - if test "$cf_cv_ld_rpath" = yes ; then - if test "$GCC" = yes; then - cf_ld_rpath_opt="-Wl,-rpath," - EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS" - else - cf_ld_rpath_opt="-rpath " - EXTRA_LDFLAGS="-rpath \$(libdir) $EXTRA_LDFLAGS" - fi - fi - # tested with IRIX 5.2 and 'cc'. - if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - fi - MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $[@]` -o $[@]' - cf_cv_rm_so_locs=yes - ;; - linux*|gnu*|k*bsd*-gnu) - if test "$DFT_LWR_MODEL" = "shared" ; then - LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - fi - if test "$cf_cv_ld_rpath" = yes ; then - cf_ld_rpath_opt="-Wl,-rpath," - EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS" - fi - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION),-stats,-lc -o $[@]' - ;; - openbsd2*) - CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - MK_SHARED_LIB='$(LD) -Bshareable -soname,`basename $[@].$(ABI_VERSION)` -o $[@]' - ;; - freebsd[[45]]*) - CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - MK_SHARED_LIB='$(LD) -Bshareable -soname=`basename $[@]` -o $[@]' - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - -# This doesn't work - I keep getting spurious references to needing -# libncurses.so.5.3 when ldd says it's resolved. LOCAL_LDFLAGS2 seems to be -# no longer used anyway. And the rpath logic isn't relative - so I have to -# add the local and install lib-directories: -# -# if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then -# LOCAL_LDFLAGS="-rpath `pwd`/lib" -# LOCAL_LDFLAGS2="-rpath \$(libdir) $LOCAL_LDFLAGS" -# cf_ld_rpath_opt="-rpath " -# EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS" -# fi - ;; - openbsd*|freebsd*) - CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - MK_SHARED_LIB='$(LD) -Bshareable -o $[@]' - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - ;; - netbsd*) - CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - test "$cf_cv_ld_rpath" = yes && cf_ld_rpath_opt="-Wl,-rpath," - if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then - LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS" - MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]' - if test "$cf_cv_shlib_version" = auto; then - if test ! -f /usr/libexec/ld.elf_so; then - cf_cv_shlib_version=rel - fi - fi - else - MK_SHARED_LIB='$(LD) -Bshareable -o $[@]' - fi - ;; - osf*|mls+*) - # tested with OSF/1 V3.2 and 'cc' - # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't - # link with shared libs). - MK_SHARED_LIB='$(LD) -set_version $(REL_VERSION):$(ABI_VERSION) -expect_unresolved "*" -shared -soname `basename $[@]`' - case $host_os in - osf4*) - MK_SHARED_LIB="${MK_SHARED_LIB} -msym" - ;; - esac - MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]' - if test "$DFT_LWR_MODEL" = "shared" ; then - LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - fi - if test "$cf_cv_ld_rpath" = yes ; then - cf_ld_rpath_opt="-rpath" - # EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS" - fi - cf_cv_rm_so_locs=yes - ;; - sco3.2v5*) # (also uw2* and UW7) hops 13-Apr-98 - # tested with osr5.0.5 - if test "$GCC" != yes; then - CC_SHARED_OPTS='-belf -KPIC' - fi - MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o [$]@' - if test "$cf_cv_ld_rpath" = yes ; then - # only way is to set LD_RUN_PATH but no switch for it - RUN_PATH=$libdir - fi - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - LINK_PROGS='LD_RUN_PATH=$(libdir)' - LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib' - ;; - sunos4*) - # tested with SunOS 4.1.1 and gcc 2.7.0 - if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - fi - MK_SHARED_LIB='$(LD) -assert pure-text -o $[@]' - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - ;; - solaris2*) - # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2 - if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - fi - MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]' - if test "$DFT_LWR_MODEL" = "shared" ; then - LOCAL_LDFLAGS="-R `pwd`/lib:\$(libdir)" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - fi - if test "$cf_cv_ld_rpath" = yes ; then - cf_ld_rpath_opt="-R" - EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS" - fi - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - ;; - sysv5uw7*|unix_sv*) - # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc) - if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - fi - MK_SHARED_LIB='$(LD) -d y -G -o [$]@' - ;; - *) - CC_SHARED_OPTS='unknown' - MK_SHARED_LIB='echo unknown' - ;; - esac - - # This works if the last tokens in $MK_SHARED_LIB are the -o target. - case "$cf_cv_shlib_version" in #(vi - rel|abi) - case "$MK_SHARED_LIB" in #(vi - *'-o $[@]') - test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes - ;; - *) - AC_MSG_WARN(ignored --with-shlib-version) - ;; - esac - ;; - esac - - if test -n "$cf_ld_rpath_opt" ; then - AC_MSG_CHECKING(if we need a space after rpath option) - cf_save_LIBS="$LIBS" - LIBS="$LIBS ${cf_ld_rpath_opt}$libdir" - AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes) - LIBS="$cf_save_LIBS" - AC_MSG_RESULT($cf_rpath_space) - test "$cf_rpath_space" = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt " - MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\$(libdir)" - fi - - AC_SUBST(CC_SHARED_OPTS) - AC_SUBST(LD_SHARED_OPTS) - AC_SUBST(MK_SHARED_LIB) - AC_SUBST(LINK_PROGS) - AC_SUBST(LINK_TESTS) - AC_SUBST(EXTRA_LDFLAGS) - AC_SUBST(LOCAL_LDFLAGS) - AC_SUBST(LOCAL_LDFLAGS2) - AC_SUBST(INSTALL_LIB) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16 -dnl ------------- -dnl Check for definitions & structures needed for window size-changing -dnl FIXME: check that this works with "snake" (HP-UX 10.x) -AC_DEFUN([CF_SIZECHANGE], -[ -AC_REQUIRE([CF_STRUCT_TERMIOS]) -AC_CACHE_CHECK(declaration of size-change, cf_cv_sizechange,[ - cf_cv_sizechange=unknown - cf_save_CPPFLAGS="$CPPFLAGS" - -for cf_opts in "" "NEED_PTEM_H" -do - - CPPFLAGS="$cf_save_CPPFLAGS" - test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts" - AC_TRY_COMPILE([#include -#ifdef HAVE_TERMIOS_H -#include -#else -#ifdef HAVE_TERMIO_H -#include -#endif -#endif -#ifdef NEED_PTEM_H -/* This is a workaround for SCO: they neglected to define struct winsize in - * termios.h -- it's only in termio.h and ptem.h - */ -#include -#include -#endif -#if !defined(sun) || !defined(HAVE_TERMIOS_H) -#include -#endif -],[ -#ifdef TIOCGSIZE - struct ttysize win; /* FIXME: what system is this? */ - int y = win.ts_lines; - int x = win.ts_cols; -#else -#ifdef TIOCGWINSZ - struct winsize win; - int y = win.ws_row; - int x = win.ws_col; -#else - no TIOCGSIZE or TIOCGWINSZ -#endif /* TIOCGWINSZ */ -#endif /* TIOCGSIZE */ - ], - [cf_cv_sizechange=yes], - [cf_cv_sizechange=no]) - - CPPFLAGS="$cf_save_CPPFLAGS" - if test "$cf_cv_sizechange" = yes ; then - echo "size-change succeeded ($cf_opts)" >&AC_FD_CC - test -n "$cf_opts" && cf_cv_sizechange="$cf_opts" - break - fi -done -]) -if test "$cf_cv_sizechange" != no ; then - AC_DEFINE(HAVE_SIZECHANGE) - case $cf_cv_sizechange in #(vi - NEED*) - AC_DEFINE_UNQUOTED($cf_cv_sizechange ) - ;; - esac -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_SRC_MODULES version: 18 updated: 2005/05/28 12:58:54 -dnl -------------- -dnl For each parameter, test if the source-directory exists, and if it contains -dnl a 'modules' file. If so, add to the list $cf_cv_src_modules which we'll -dnl use in CF_LIB_RULES. -dnl -dnl This uses the configured value to make the lists SRC_SUBDIRS and -dnl SUB_MAKEFILES which are used in the makefile-generation scheme. -AC_DEFUN([CF_SRC_MODULES], -[ -AC_MSG_CHECKING(for src modules) - -# dependencies and linker-arguments for test-programs -TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEPS" -TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEP2" -if test "$DFT_LWR_MODEL" = "libtool"; then - TEST_ARGS="${TEST_DEPS}" - TEST_ARG2="${TEST_DEP2}" -else - TEST_ARGS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS" - TEST_ARG2="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARG2" -fi - -cf_cv_src_modules= -for cf_dir in $1 -do - if test -f $srcdir/$cf_dir/modules; then - - # We may/may not have tack in the distribution, though the - # makefile is. - if test $cf_dir = tack ; then - if test ! -f $srcdir/${cf_dir}/${cf_dir}.h; then - continue - fi - fi - - if test -z "$cf_cv_src_modules"; then - cf_cv_src_modules=$cf_dir - else - cf_cv_src_modules="$cf_cv_src_modules $cf_dir" - fi - - # Make the ncurses_cfg.h file record the library interface files as - # well. These are header files that are the same name as their - # directory. Ncurses is the only library that does not follow - # that pattern. - if test $cf_dir = tack ; then - continue - elif test -f $srcdir/${cf_dir}/${cf_dir}.h; then - CF_UPPER(cf_have_include,$cf_dir) - AC_DEFINE_UNQUOTED(HAVE_${cf_have_include}_H) - AC_DEFINE_UNQUOTED(HAVE_LIB${cf_have_include}) - TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEPS" - TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEP2" - if test "$DFT_LWR_MODEL" = "libtool"; then - TEST_ARGS="${TEST_DEPS}" - TEST_ARG2="${TEST_DEP2}" - else - TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS" - TEST_ARG2="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARG2" - fi - fi - fi -done -AC_MSG_RESULT($cf_cv_src_modules) - -TEST_ARGS="-L${LIB_DIR} $TEST_ARGS" -TEST_ARG2="-L${LIB_2ND} $TEST_ARG2" - -AC_SUBST(TEST_ARGS) -AC_SUBST(TEST_DEPS) - -AC_SUBST(TEST_ARG2) -AC_SUBST(TEST_DEP2) - -SRC_SUBDIRS="man include" -for cf_dir in $cf_cv_src_modules -do - SRC_SUBDIRS="$SRC_SUBDIRS $cf_dir" -done -SRC_SUBDIRS="$SRC_SUBDIRS test" -test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc" -test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++" - -ADA_SUBDIRS= -if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then - SRC_SUBDIRS="$SRC_SUBDIRS Ada95" - ADA_SUBDIRS="gen src samples" -fi - -SUB_MAKEFILES= -for cf_dir in $SRC_SUBDIRS -do - SUB_MAKEFILES="$SUB_MAKEFILES $cf_dir/Makefile" -done - -if test -n "$ADA_SUBDIRS"; then - for cf_dir in $ADA_SUBDIRS - do - SUB_MAKEFILES="$SUB_MAKEFILES Ada95/$cf_dir/Makefile" - done - AC_SUBST(ADA_SUBDIRS) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_STDCPP_LIBRARY version: 5 updated: 2000/08/12 23:18:52 -dnl ----------------- -dnl Check for -lstdc++, which is GNU's standard C++ library. -AC_DEFUN([CF_STDCPP_LIBRARY], -[ -if test -n "$GXX" ; then -case $cf_cv_system_name in #(vi -os2*) #(vi - cf_stdcpp_libname=stdcpp - ;; -*) - cf_stdcpp_libname=stdc++ - ;; -esac -AC_CACHE_CHECK(for library $cf_stdcpp_libname,cf_cv_libstdcpp,[ - cf_save="$LIBS" - LIBS="$LIBS -l$cf_stdcpp_libname" -AC_TRY_LINK([ -#include ],[ -char buf[80]; -strstreambuf foo(buf, sizeof(buf)) -], - [cf_cv_libstdcpp=yes], - [cf_cv_libstdcpp=no]) - LIBS="$cf_save" -]) -test "$cf_cv_libstdcpp" = yes && CXXLIBS="$CXXLIBS -l$cf_stdcpp_libname" -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_STRIP_G_OPT version: 3 updated: 2002/12/21 19:25:52 -dnl -------------- -dnl Remove "-g" option from the compiler options -AC_DEFUN([CF_STRIP_G_OPT], -[$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl -dnl --------------------------------------------------------------------------- -dnl CF_STRUCT_SIGACTION version: 3 updated: 2000/08/12 23:18:52 -dnl ------------------- -dnl Check if we need _POSIX_SOURCE defined to use struct sigaction. We'll only -dnl do this if we've found the sigaction function. -dnl -dnl If needed, define SVR4_ACTION. -AC_DEFUN([CF_STRUCT_SIGACTION],[ -if test "$ac_cv_func_sigaction" = yes; then -AC_MSG_CHECKING(whether sigaction needs _POSIX_SOURCE) -AC_TRY_COMPILE([ -#include -#include ], - [struct sigaction act], - [sigact_bad=no], - [ -AC_TRY_COMPILE([ -#define _POSIX_SOURCE -#include -#include ], - [struct sigaction act], - [sigact_bad=yes - AC_DEFINE(SVR4_ACTION)], - [sigact_bad=unknown])]) -AC_MSG_RESULT($sigact_bad) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_STRUCT_TERMIOS version: 5 updated: 2000/11/04 12:22:46 -dnl ----------------- -dnl Some machines require _POSIX_SOURCE to completely define struct termios. -dnl If so, define SVR4_TERMIO -AC_DEFUN([CF_STRUCT_TERMIOS],[ -AC_CHECK_HEADERS( \ -termio.h \ -termios.h \ -unistd.h \ -) -if test "$ISC" = yes ; then - AC_CHECK_HEADERS( sys/termio.h ) -fi -if test "$ac_cv_header_termios_h" = yes ; then - case "$CFLAGS $CPPFLAGS" in - *-D_POSIX_SOURCE*) - termios_bad=dunno ;; - *) termios_bad=maybe ;; - esac - if test "$termios_bad" = maybe ; then - AC_MSG_CHECKING(whether termios.h needs _POSIX_SOURCE) - AC_TRY_COMPILE([#include ], - [struct termios foo; int x = foo.c_iflag], - termios_bad=no, [ - AC_TRY_COMPILE([ -#define _POSIX_SOURCE -#include ], - [struct termios foo; int x = foo.c_iflag], - termios_bad=unknown, - termios_bad=yes AC_DEFINE(SVR4_TERMIO)) - ]) - AC_MSG_RESULT($termios_bad) - fi -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_SUBST version: 2 updated: 1997/09/06 23:41:28 -dnl -------- -dnl Shorthand macro for substituting things that the user may override -dnl with an environment variable. -dnl -dnl $1 = long/descriptive name -dnl $2 = environment variable -dnl $3 = default value -AC_DEFUN([CF_SUBST], -[AC_CACHE_VAL(cf_cv_subst_$2,[ -AC_MSG_CHECKING(for $1 (symbol $2)) -test -z "[$]$2" && $2=$3 -AC_MSG_RESULT([$]$2) -AC_SUBST($2) -cf_cv_subst_$2=[$]$2]) -$2=${cf_cv_subst_$2} -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_SUBST_NCURSES_VERSION version: 7 updated: 2003/06/07 16:22:51 -dnl ------------------------ -dnl Get the version-number for use in shared-library naming, etc. -AC_DEFUN([CF_SUBST_NCURSES_VERSION], -[ -NCURSES_MAJOR="`egrep '^NCURSES_MAJOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`" -NCURSES_MINOR="`egrep '^NCURSES_MINOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`" -NCURSES_PATCH="`egrep '^NCURSES_PATCH[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`" -cf_cv_abi_version=${NCURSES_MAJOR} -cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR} -dnl Show the computed version, for logging -cf_cv_timestamp=`date` -AC_MSG_RESULT(Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)) -dnl We need these values in the generated headers -AC_SUBST(NCURSES_MAJOR) -AC_SUBST(NCURSES_MINOR) -AC_SUBST(NCURSES_PATCH) -dnl We need these values in the generated makefiles -AC_SUBST(cf_cv_rel_version) -AC_SUBST(cf_cv_abi_version) -AC_SUBST(cf_cv_builtin_bool) -AC_SUBST(cf_cv_header_stdbool_h) -AC_SUBST(cf_cv_type_of_bool)dnl -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40 -dnl ------------------ -dnl Check if we can include with ; this breaks on -dnl older SCO configurations. -AC_DEFUN([CF_SYS_TIME_SELECT], -[ -AC_MSG_CHECKING(if sys/time.h works with sys/select.h) -AC_CACHE_VAL(cf_cv_sys_time_select,[ -AC_TRY_COMPILE([ -#include -#ifdef HAVE_SYS_TIME_H -#include -#endif -#ifdef HAVE_SYS_SELECT_H -#include -#endif -],[],[cf_cv_sys_time_select=yes], - [cf_cv_sys_time_select=no]) - ]) -AC_MSG_RESULT($cf_cv_sys_time_select) -test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_TYPEOF_CHTYPE version: 6 updated: 2005/06/25 16:16:34 -dnl ---------------- -dnl Determine the type we should use for chtype (and attr_t, which is treated -dnl as the same thing). We want around 32 bits, so on most machines want a -dnl long, but on newer 64-bit machines, probably want an int. If we're using -dnl wide characters, we have to have a type compatible with that, as well. -AC_DEFUN([CF_TYPEOF_CHTYPE], -[ -AC_MSG_CHECKING([for type of chtype]) -AC_CACHE_VAL(cf_cv_typeof_chtype,[ - AC_TRY_RUN([ -#define WANT_BITS 31 -#include -int main() -{ - FILE *fp = fopen("cf_test.out", "w"); - if (fp != 0) { - char *result = "long"; - if (sizeof(unsigned long) > sizeof(unsigned int)) { - int n; - unsigned int x, y; - for (n = 0; n < WANT_BITS; n++) { - x = (1 << n); - y = (x >> n); - if (y != 1 || x == 0) { - x = 0; - break; - } - } - /* - * If x is nonzero, an int is big enough for the bits - * that we want. - */ - result = (x != 0) ? "int" : "long"; - } - fputs(result, fp); - fclose(fp); - } - exit(0); -} - ], - [cf_cv_typeof_chtype=`cat cf_test.out`], - [cf_cv_typeof_chtype=long], - [cf_cv_typeof_chtype=long]) - rm -f cf_test.out - ]) -AC_MSG_RESULT($cf_cv_typeof_chtype) - -AC_SUBST(cf_cv_typeof_chtype) -AC_DEFINE_UNQUOTED(TYPEOF_CHTYPE,$cf_cv_typeof_chtype) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_TYPE_SIGACTION version: 3 updated: 2000/08/12 23:18:52 -dnl ----------------- -dnl -AC_DEFUN([CF_TYPE_SIGACTION], -[ -AC_MSG_CHECKING([for type sigaction_t]) -AC_CACHE_VAL(cf_cv_type_sigaction,[ - AC_TRY_COMPILE([ -#include ], - [sigaction_t x], - [cf_cv_type_sigaction=yes], - [cf_cv_type_sigaction=no])]) -AC_MSG_RESULT($cf_cv_type_sigaction) -test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_UNSIGNED_LITERALS version: 2 updated: 1998/02/07 22:10:16 -dnl -------------------- -dnl Test if the compiler supports 'U' and 'L' suffixes. Only old compilers -dnl won't, but they're still there. -AC_DEFUN([CF_UNSIGNED_LITERALS], -[ -AC_MSG_CHECKING([if unsigned literals are legal]) -AC_CACHE_VAL(cf_cv_unsigned_literals,[ - AC_TRY_COMPILE([],[long x = 1L + 1UL + 1U + 1], - [cf_cv_unsigned_literals=yes], - [cf_cv_unsigned_literals=no]) - ]) -AC_MSG_RESULT($cf_cv_unsigned_literals) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59 -dnl -------- -dnl Make an uppercase version of a variable -dnl $1=uppercase($2) -AC_DEFUN([CF_UPPER], -[ -$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14 -dnl ---------- -dnl Use AC_VERBOSE w/o the warnings -AC_DEFUN([CF_VERBOSE], -[test -n "$verbose" && echo " $1" 1>&AC_FD_MSG -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WCHAR_TYPE version: 2 updated: 2004/01/17 19:18:20 -dnl ------------- -dnl Check if type wide-character type $1 is declared, and if so, which header -dnl file is needed. The second parameter is used to set a shell variable when -dnl the type is not found. The first parameter sets a shell variable for the -dnl opposite sense. -AC_DEFUN([CF_WCHAR_TYPE], -[ -# This is needed on Tru64 5.0 to declare $1 -AC_CACHE_CHECK(if we must include wchar.h to declare $1,cf_cv_$1,[ -AC_TRY_COMPILE([ -#include -#include -#include -#ifdef HAVE_LIBUTF8_H -#include -#endif], - [$1 state], - [cf_cv_$1=no], - [AC_TRY_COMPILE([ -#include -#include -#include -#include -#ifdef HAVE_LIBUTF8_H -#include -#endif], - [$1 value], - [cf_cv_$1=yes], - [cf_cv_$1=unknown])])]) - -if test "$cf_cv_$1" = yes ; then - AC_DEFINE(NEED_WCHAR_H) - NEED_WCHAR_H=1 -fi - -ifelse($2,,,[ -# if we do not find $1 in either place, use substitution to provide a fallback. -if test "$cf_cv_$1" = unknown ; then - $2=1 -fi -]) -ifelse($3,,,[ -# if we find $1 in either place, use substitution to provide a fallback. -if test "$cf_cv_$1" != unknown ; then - $3=1 -fi -]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_ABI_VERSION version: 1 updated: 2003/09/20 18:12:49 -dnl ------------------- -dnl Allow library's ABI to be overridden. Generally this happens when a -dnl packager has incremented the ABI past that used in the original package, -dnl and wishes to keep doing this. -dnl -dnl $1 is the package name, if any, to derive a corresponding {package}_ABI -dnl symbol. -AC_DEFUN([CF_WITH_ABI_VERSION],[ -test -z "$cf_cv_abi_version" && cf_cv_abi_version=0 -AC_ARG_WITH(abi-version, -[ --with-abi-version=XXX override derived ABI version], -[AC_MSG_WARN(overriding ABI version $cf_cv_abi_version to $withval) - cf_cv_abi_version=$withval]) - CF_NUMBER_SYNTAX($cf_cv_abi_version,ABI version) -ifelse($1,,,[ -$1_ABI=$cf_cv_abi_version -]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_DBMALLOC version: 4 updated: 2004/02/28 05:49:27 -dnl ---------------- -dnl Configure-option for dbmalloc. The optional parameter is used to override -dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests. -AC_DEFUN([CF_WITH_DBMALLOC],[ -AC_MSG_CHECKING(if you want to link with dbmalloc for testing) -AC_ARG_WITH(dbmalloc, - [ --with-dbmalloc use Conor Cahill's dbmalloc library], - [with_dbmalloc=$withval], - [with_dbmalloc=no]) -AC_MSG_RESULT($with_dbmalloc) -if test "$with_dbmalloc" = yes ; then - AC_CHECK_HEADER(dbmalloc.h, - [AC_CHECK_LIB(dbmalloc,[debug_malloc]ifelse($1,,[],[,$1]))]) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_DMALLOC version: 4 updated: 2004/02/28 05:49:27 -dnl --------------- -dnl Configure-option for dmalloc. The optional parameter is used to override -dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests. -AC_DEFUN([CF_WITH_DMALLOC],[ -AC_MSG_CHECKING(if you want to link with dmalloc for testing) -AC_ARG_WITH(dmalloc, - [ --with-dmalloc use Gray Watson's dmalloc library], - [with_dmalloc=$withval], - [with_dmalloc=no]) -AC_MSG_RESULT($with_dmalloc) -if test "$with_dmalloc" = yes ; then - AC_CHECK_HEADER(dmalloc.h, - [AC_CHECK_LIB(dmalloc,[dmalloc_debug]ifelse($1,,[],[,$1]))]) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_GPM version: 1 updated: 2005/06/25 15:47:45 -dnl ----------- -AC_DEFUN([CF_WITH_GPM], -[ -AC_MSG_CHECKING(if you want to link with the GPM mouse library) -AC_ARG_WITH(gpm, - [ --with-gpm use Alessandro Rubini's GPM library], - [with_gpm=$withval], - [with_gpm=maybe]) -AC_MSG_RESULT($with_gpm) -if test "$with_gpm" != no ; then - AC_CHECK_LIB(gpm,Gpm_Open,[ - AC_CHECK_HEADER(gpm.h,[ - AC_DEFINE(HAVE_GPM_H) - with_gpm=yes - ],[ - if test "$with_gpm" = yes ; then - AC_ERROR(Cannot find GPM header) - fi - ]) - ],[ - if test "$with_gpm" = yes ; then - AC_ERROR(Cannot link with GPM library) - fi - with_gpm=no - ]) -fi -]) -dnl --------------------------------------------------------------------------- -dnl CF_WITH_LIBTOOL version: 9 updated: 2004/01/16 14:55:37 -dnl --------------- -dnl Provide a configure option to incorporate libtool. Define several useful -dnl symbols for the makefile rules. -dnl -dnl The reference to AC_PROG_LIBTOOL does not normally work, since it uses -dnl macros from libtool.m4 which is in the aclocal directory of automake. -dnl Following is a simple script which turns on the AC_PROG_LIBTOOL macro. -dnl But that still does not work properly since the macro is expanded outside -dnl the CF_WITH_LIBTOOL macro: -dnl -dnl #!/bin/sh -dnl ACLOCAL=`aclocal --print-ac-dir` -dnl if test -z "$ACLOCAL" ; then -dnl echo cannot find aclocal directory -dnl exit 1 -dnl elif test ! -f $ACLOCAL/libtool.m4 ; then -dnl echo cannot find libtool.m4 file -dnl exit 1 -dnl fi -dnl -dnl LOCAL=aclocal.m4 -dnl ORIG=aclocal.m4.orig -dnl -dnl trap "mv $ORIG $LOCAL" 0 1 2 5 15 -dnl rm -f $ORIG -dnl mv $LOCAL $ORIG -dnl -dnl # sed the LIBTOOL= assignment to omit the current directory? -dnl sed -e 's/^LIBTOOL=.*/LIBTOOL=${LIBTOOL-libtool}/' $ACLOCAL/libtool.m4 >>$LOCAL -dnl cat $ORIG >>$LOCAL -dnl -dnl autoconf-257 $* -dnl -AC_DEFUN([CF_WITH_LIBTOOL], -[ -ifdef([AC_PROG_LIBTOOL],,[ -LIBTOOL= -]) -# common library maintenance symbols that are convenient for libtool scripts: -LIB_CREATE='$(AR) -cr' -LIB_OBJECT='$(OBJECTS)' -LIB_SUFFIX=.a -LIB_PREP="$RANLIB" - -# symbols used to prop libtool up to enable it to determine what it should be -# doing: -LIB_CLEAN= -LIB_COMPILE= -LIB_LINK= -LIB_INSTALL= -LIB_UNINSTALL= - -AC_MSG_CHECKING(if you want to build libraries with libtool) -AC_ARG_WITH(libtool, - [ --with-libtool generate libraries with libtool], - [with_libtool=$withval], - [with_libtool=no]) -AC_MSG_RESULT($with_libtool) -if test "$with_libtool" != "no"; then -ifdef([AC_PROG_LIBTOOL],[ - # missing_content_AC_PROG_LIBTOOL{{ - AC_PROG_LIBTOOL - # missing_content_AC_PROG_LIBTOOL}} -],[ - if test "$with_libtool" != "yes" ; then - CF_PATH_SYNTAX(with_libtool) - LIBTOOL=$with_libtool - else - AC_PATH_PROG(LIBTOOL,libtool) - fi - if test -z "$LIBTOOL" ; then - AC_MSG_ERROR(Cannot find libtool) - fi -])dnl - LIB_CREATE='$(LIBTOOL) --mode=link $(CC) -rpath $(DESTDIR)$(libdir) -version-info `cut -f1 $(srcdir)/VERSION` -o' - LIB_OBJECT='$(OBJECTS:.o=.lo)' - LIB_SUFFIX=.la - LIB_CLEAN='$(LIBTOOL) --mode=clean' - LIB_COMPILE='$(LIBTOOL) --mode=compile' - LIB_LINK='$(LIBTOOL) --mode=link' - LIB_INSTALL='$(LIBTOOL) --mode=install' - LIB_UNINSTALL='$(LIBTOOL) --mode=uninstall' - LIB_PREP=: - - # Show the version of libtool - AC_MSG_CHECKING(version of libtool) - - # Save the version in a cache variable - this is not entirely a good - # thing, but the version string from libtool is very ugly, and for - # bug reports it might be useful to have the original string. - cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'` - AC_MSG_RESULT($cf_cv_libtool_version) - if test -z "$cf_cv_libtool_version" ; then - AC_MSG_ERROR(This is not libtool) - fi - - # special hack to add --tag option for C++ compiler - case $cf_cv_libtool_version in - 1.[[5-9]]*|[[2-9]]*) - LIBTOOL_CXX="$LIBTOOL --tag=CXX" - ;; - *) - LIBTOOL_CXX="$LIBTOOL" - ;; - esac -else - LIBTOOL="" - LIBTOOL_CXX="" -fi - -test -z "$LIBTOOL" && ECHO_LT= - -AC_SUBST(LIBTOOL) -AC_SUBST(LIBTOOL_CXX) - -AC_SUBST(LIB_CREATE) -AC_SUBST(LIB_OBJECT) -AC_SUBST(LIB_SUFFIX) -AC_SUBST(LIB_PREP) - -AC_SUBST(LIB_CLEAN) -AC_SUBST(LIB_COMPILE) -AC_SUBST(LIB_LINK) -AC_SUBST(LIB_INSTALL) -AC_SUBST(LIB_UNINSTALL) - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_PATH version: 6 updated: 1998/10/11 00:40:17 -dnl ------------ -dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just -dnl defaulting to yes/no. -dnl -dnl $1 = option name -dnl $2 = help-text -dnl $3 = environment variable to set -dnl $4 = default value, shown in the help-message, must be a constant -dnl $5 = default value, if it's an expression & cannot be in the help-message -dnl -AC_DEFUN([CF_WITH_PATH], -[AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),, -ifelse($4,,[withval="${$3}"],[withval="${$3-ifelse($5,,$4,$5)}"]))dnl -CF_PATH_SYNTAX(withval) -eval $3="$withval" -AC_SUBST($3)dnl -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_PATHLIST version: 5 updated: 2001/12/10 01:28:30 -dnl ---------------- -dnl Process an option specifying a list of colon-separated paths. -dnl -dnl $1 = option name -dnl $2 = help-text -dnl $3 = environment variable to set -dnl $4 = default value, shown in the help-message, must be a constant -dnl $5 = default value, if it's an expression & cannot be in the help-message -dnl $6 = flag to tell if we want to define or substitute -dnl -AC_DEFUN([CF_WITH_PATHLIST],[ -AC_REQUIRE([CF_PATHSEP]) -AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),, -ifelse($4,,[withval=${$3}],[withval=${$3-ifelse($5,,$4,$5)}]))dnl - -IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${PATHSEP}" -cf_dst_path= -for cf_src_path in $withval -do - CF_PATH_SYNTAX(cf_src_path) - test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}:" - cf_dst_path="${cf_dst_path}${cf_src_path}" -done -IFS="$ac_save_ifs" - -ifelse($6,define,[ -# Strip single quotes from the value, e.g., when it was supplied as a literal -# for $4 or $5. -case $cf_dst_path in #(vi -\'*) - cf_dst_path=`echo $cf_dst_path |sed -e s/\'// -e s/\'\$//` - ;; -esac -cf_dst_path=`echo "$cf_dst_path" | sed -e 's/\\\\/\\\\\\\\/g'` -]) - -eval '$3="$cf_dst_path"' -AC_SUBST($3)dnl - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_REL_VERSION version: 1 updated: 2003/09/20 18:12:49 -dnl ------------------- -dnl Allow library's release-version to be overridden. Generally this happens when a -dnl packager has incremented the release-version past that used in the original package, -dnl and wishes to keep doing this. -dnl -dnl $1 is the package name, if any, to derive corresponding {package}_MAJOR -dnl and {package}_MINOR symbols -dnl symbol. -AC_DEFUN([CF_WITH_REL_VERSION],[ -test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0 -AC_ARG_WITH(rel-version, -[ --with-rel-version=XXX override derived release version], -[AC_MSG_WARN(overriding release version $cf_cv_rel_version to $withval) - cf_cv_rel_version=$withval]) -ifelse($1,,[ - CF_NUMBER_SYNTAX($cf_cv_rel_version,Release version) -],[ - $1_MAJOR=`echo "$cf_cv_rel_version" | sed -e 's/\..*//'` - $1_MINOR=`echo "$cf_cv_rel_version" | sed -e 's/^[[^.]]*//' -e 's/^\.//' -e 's/\..*//'` - CF_NUMBER_SYNTAX([$]$1_MAJOR,Release major-version) - CF_NUMBER_SYNTAX([$]$1_MINOR,Release minor-version) -]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_SYSMOUSE version: 2 updated: 2003/03/22 19:13:43 -dnl ---------------- -dnl If we can compile with sysmouse, make it available unless it is not wanted. -AC_DEFUN([CF_WITH_SYSMOUSE],[ -# not everyone has "test -c" -if test -c /dev/sysmouse 2>/dev/null ; then -AC_MSG_CHECKING(if you want to use sysmouse) -AC_ARG_WITH(sysmouse, - [ --with-sysmouse use sysmouse (FreeBSD console)], - [cf_with_sysmouse=$withval], - [cf_with_sysmouse=maybe]) - if test "$cf_with_sysmouse" != no ; then - AC_TRY_COMPILE([ -#include -#if (__FreeBSD_version >= 400017) -#include -#include -#else -#include -#endif -],[ - struct mouse_info the_mouse; - ioctl(0, CONS_MOUSECTL, &the_mouse); -],[cf_with_sysmouse=yes],[cf_with_sysmouse=no]) - fi -AC_MSG_RESULT($cf_with_sysmouse) -test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 22 updated: 2005/08/06 18:06:32 -dnl --------------- -dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, -dnl or adapt to the vendor's definitions to get equivalent functionality. -dnl -dnl Parameters: -dnl $1 is the nominal value for _XOPEN_SOURCE -dnl $2 is the nominal value for _POSIX_C_SOURCE -AC_DEFUN([CF_XOPEN_SOURCE],[ - -AC_REQUIRE([CF_PROG_CC_U_D]) - -cf_XOPEN_SOURCE=ifelse($1,,500,$1) -cf_POSIX_C_SOURCE=ifelse($2,,199506L,$2) - -case $host_os in #(vi -aix[[45]]*) #(vi - CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE" - ;; -darwin*) #(vi - # setting _XOPEN_SOURCE breaks things on Darwin - ;; -freebsd*) #(vi - # 5.x headers associate - # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L - # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L - cf_POSIX_C_SOURCE=200112L - cf_XOPEN_SOURCE=600 - CPPFLAGS="$CPPFLAGS -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - ;; -hpux*) #(vi - CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE" - ;; -irix[[56]].*) #(vi - CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE" - ;; -linux*|gnu*) #(vi - CF_GNU_SOURCE - ;; -mirbsd*) #(vi - # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks - ;; -netbsd*) #(vi - # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw - ;; -openbsd*) #(vi - # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw - ;; -osf[[45]]*) #(vi - CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE" - ;; -nto-qnx*) #(vi - CPPFLAGS="$CPPFLAGS -D_QNX_SOURCE" - ;; -sco*) #(vi - # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer - ;; -solaris*) #(vi - CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__" - ;; -*) - AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ - AC_TRY_COMPILE([#include ],[ -#ifndef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - AC_TRY_COMPILE([#include ],[ -#ifdef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) - CPPFLAGS="$cf_save" - ]) -]) - if test "$cf_cv_xopen_source" != no ; then - CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE) - CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE) - test "$cf_cv_cc_u_d_options" = yes && \ - CPPFLAGS="$CPPFLAGS -U_XOPEN_SOURCE" - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_cv_xopen_source" - fi - CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) - ;; -esac -]) diff --git a/src/libs/ncurses/announce.html.in b/src/libs/ncurses/announce.html.in deleted file mode 100644 index 82079c368c..0000000000 --- a/src/libs/ncurses/announce.html.in +++ /dev/null @@ -1,545 +0,0 @@ - - - - -Announcing ncurses @VERSION@ - - - - - -

Announcing ncurses @VERSION@

- -The ncurses (new curses) library is a free software emulation of -curses in System V Release 4.0, and more. It uses terminfo format, -supports pads and color -and multiple highlights and forms characters and function-key mapping, -and has all the other SYSV-curses enhancements over BSD curses.

- -In mid-June 1995, the maintainer of 4.4BSD curses declared that he -considered 4.4BSD curses obsolete, and encouraged the keepers of -Unix releases such as BSD/OS, FreeBSD and NetBSD to switch over to -ncurses.

- -The ncurses code was developed under GNU/Linux. -It has been in use for some time with OpenBSD as the system curses library, -and on FreeBSD and NetBSD as an external package. -It should port easily to any ANSI/POSIX-conforming UNIX. -It has even been ported to OS/2 Warp!

- -The distribution includes the library and support utilities, including a -terminfo compiler tic(1), a decompiler infocmp(1), clear(1), tput(1), tset(1), -and a termcap conversion tool captoinfo(1). Full manual pages are provided for -the library and tools.

- -The ncurses distribution is available via anonymous FTP at -the GNU distribution site -ftp://ftp.gnu.org/gnu/ncurses/ . -
It is also available at -ftp://invisible-island.net/ncurses/ . - -

Release Notes

- -This release is designed to be upward compatible from ncurses 5.0 through 5.4; -very few applications will require recompilation, depending on the platform. -These are the highlights from the change-log since ncurses 5.4 release. -

-Interface changes: -

    -
  • terminfo installs "xterm-new" as "xterm" entry rather than - "xterm-old" (aka xterm-r6). - -
  • terminfo data is installed using the tic -x option (few systems - still use ncurses 4.2). - -
  • modify C++ binding to work with newer C++ compilers by providing - initializers and using modern casts. Old-style header names are - still used in this release to allow compiling with not-so-old - compilers. - -
  • modify parameter type in c++ binding for insch() and mvwinsch() to - be consistent with underlying ncurses library (was char, is chtype). - -
  • change NCursesWindow::err_handler() to a virtual function. - -
  • form and menu libraries now work with wide-character data. - Applications which bypassed the form library and manipulated the - FIELD.buf data directly will not work properly with libformw, - since that no longer points to an array of char. The - set_field_buffer() and field_buffer() functions translate to/from - the actual field data. - - -
  • add symbol to curses.h which can be used to suppress include of - stdbool.h, e.g., -
    -                #define NCURSES_ENABLE_STDBOOL_H 0
    -                #include <curses.h>
    -          
    - -
  • change SP->_current_attr to a pointer, adjust ifdef's to ensure - that libtinfo.so and libtinfow.so have the same ABI. The reason - for this is that the corresponding data which belongs to the - upper-level ncurses library has a different size in each model. - -
  • winnstr() now returns multibyte character strings for the - wide-character configuration. - -
  • assume_default_colors() no longer requires that - use_default_colors() be called first. - -
  • data_ahead() now works with wide-characters. - -
  • slk_set() and slk_wset() now accept and store multibyte or - multicolumn characters. - -
  • start_color() now returns OK if colors have - already been started. - start_color() also returns ERR if it cannot allocate memory. - -
  • pair_content() now returns -1 for consistency with init_pair() - if it corresponds to the default-color. - -
  • unctrl() now returns null if its parameter does not correspond - to an unsigned char. - -
-New features and improvements: -
    -
  • library -
      -
    • environment variable NCURSES_NO_UTF8_ACS supports - miscellaneous terminal emulators which ignore alternate - character set escape sequences when in UTF-8 mode. - -
    • modify initialization of key lookup table so that if an extended - capability (tic -x) string is defined, and its name begins with 'k', - ncurses will automatically treat it as a key. - -
    • change GPM initialization, using dl library to load it - dynamically at runtime. - -
    • form, menu and panel libraries support debug-tracing. - -
    - -
  • add NCURSES-Programming-HOWTO.html by Pradeep Padala - (see http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/). - -
  • programs: - -
  • infocmp: -
      -
    • The -i option now matches 8-bit controls against its table - entries, e.g., so it can analyze the xterm-8bit entry. - -
    • add "-x" option to infocmp like tic's "-x", for use in "-F" - comparisons. This modifies infocmp to only report extended - capabilities if the -x option is given, making this more - consistent with tic. Some scripts may break, since infocmp - previous gave this information without an option. - -
    - -
  • tic: - -
      - -
    • modify termcap-parsing to retain 2-character aliases at the - beginning of an entry if the "-x" option is used in tic. - -
    • filter out long extended names when translating to termcap - format. Only two characters are permissible for termcap - capability names. - -
    • correct translation of "%%" in terminfo format to termcap, - e.g., using "tic -C". - -
    • modify the "-c -v" options to ignore delays when comparing - strings. Also modify it to ignore a canceled sgr string, - e.g., for terminals which cannot properly combine attributes - in one control sequence. - -
    • add a check for improperly ended strings, i.e., where a - following line begins in column 1. - -
    • add a check in tic for terminfo entries having an sgr0 but no - sgr string. This confuses Tru64 and HPUX curses when combined - with color, e.g., making them leave line-drawing characters in - odd places. - -
    • add check (with debug configuration) that provides about the - runtime changes that would be made to sgr0 for termcap - applications. - -
    - -
  • tset: - -
      - -
    • add -c and -w options to allow user to suppress ncurses' - resizing of the terminal emulator window in the special case - where it is not able to detect the true size. - -
    - -
-Major bug fixes: -
    - -
  • improve logic in tgetent() which adjusts the termcap "me" string - to work with ISO-2022 string used in xterm-new. - This is a feature that was incompletely implemented in ncurses 5.3. - ncurses attempts to provide termcap clients with the portion of - the sgr0 (termcap "me") string that does not reset line-drawing. - -
  • cells in the WINDOW which are continuations of a multicolumn - character are encoded differently, making repainting more - reliable. - -
  • amend change to setupterm() in ncurses 5.4 (20030405) which would - reuse the value of cur_term if the same output was selected. This - now reuses it only when setupterm() is called from tgetent(), - which has no notion of separate SCREENs. Note that tgetent() must - be called after initscr() or newterm() to use this feature. - -
  • make setcchar() now works when its wchar_t* parameter is - pointing to a string which contains more data than can be converted. - -
  • win_wchnstr() now works for more than one cell. - -
  • resizeterm() now processes all levels of window hierarchy. - -
  • disable GPM mouse support when $TERM happens to be prefixed with - "xterm". Gpm_Open() would otherwise assert that it can deal with - mouse events in this case. - -
  • add SP->_screen_acs_map[], used to ensure that mapping of missing - line-drawing characters is handled properly. For example, ACS_DARROW - is absent from xterm-new, and it was coincidentally displayed the - same as ACS_BTEE. - -
- -Portability: -
    -
  • configure script: -
      -
    • new options: -
      -
      --enable-largefile -
      set compiler and linker flags to use largefile support. - -
      --enable-ext-colors -
      Allow encoding of 256 foreground - and background colors, e.g., with the xterm-256color or - xterm-88color terminfo entries. - This requires ABI 6 because it changes the size of cchar_t. - -
      --enable-ext-mouse -
      This defines NCURSES_MOUSE_VERSION 2, and modifies the encoding of - mouse events to support wheel mice, which may transmit buttons - 4 and 5. This works with xterm and similar terminal - emulators. - This requires ABI 6 because it changes the encoding of - mouse events. - -
      --with-chtype -
      overriding of the non-LP64 model's use of chtype - -
      --with-mmask-t -
      overriding of the non-LP64 model's use of mmask_t - -
      --without-xterm-new -
      Installs "xterm-old" as the "xterm" entry of the terminfo - database. - -
      - -
    • The --with-termlib option now accepts a value which sets - the name of the terminfo library. This would allow a packager to - build libtinfow.so renamed to coincide with libtinfo.so - -
    • fixes/improvements for cross-compiling: - -
        -
      • suppress $suffix in misc/run_tic.sh when cross-compiling. - This allows cross-compiles to use the host's tic program to - handle the "make install.data" step. - -
      • correct BUILD_CPPFLAGS substitution in ncurses/Makefile.in, to allow - cross-compiling from a separate directory tree. - -
      - -
    - -
  • library: -
      - -
    • add ifdef's for _LP64 in curses.h to avoid using wasteful - 64-bits for chtype and mmask_t, but add configure option - --disable-lp64 in case anyone used that configuration. - -
    • modify C++ binding to use some C internal functions to make it - compile properly on Solaris (and other platforms). - -
    • remove check in newwin() that prevents allocating windows that - extend beyond the screen (Solaris does this). - -
    • check for nl_langinfo(CODESET), use it if available. - This replaces ad hoc tests of environment variables to - check if the terminal is setup for UTF-8 encoding. - Applications which do not call setlocale() - should be corrected, to make them work properly with - UTF-8 encoding. -
      - In particular, applications which assume (and - do not call setlocale()) that - Latin-1 codes are printable will no longer work in - a UTF-8 locale since the ad hoc check of environment - variables to see if the locale was UTF-8 is not used - when nl_langinfo(CODESET) is available. - -
    • use setlocale() to query the program's current locale rather - than using getenv(). This supports applications which rely - upon legacy treatment of 8-bit characters when the locale is - not initialized. - -
    -
- -

Features of Ncurses

- -The ncurses package is fully compatible with SVr4 (System V Release 4) curses: - -
    -
  • All 257 of the SVr4 calls have been implemented (and are documented). -
  • Full support for SVr4 curses features including keyboard mapping, color, -forms-drawing with ACS characters, and automatic recognition of keypad -and function keys. -
  • An emulation of the SVr4 panels library, supporting -a stack of windows with backing store, is included. -
  • An emulation of the SVr4 menus library, supporting -a uniform but flexible interface for menu programming, is included. -
  • An emulation of the SVr4 form library, supporting -data collection through on-screen forms, is included. -
  • Binary terminfo entries generated by the ncurses tic(1) implementation -are bit-for-bit-compatible with the entry format SVr4 curses uses. -
  • The utilities have options to allow you to filter terminfo -entries for use with less capable curses/terminfo -versions such as the HP/UX and AIX ports.
- -The ncurses package also has many useful extensions over SVr4: - -
    -
  • The API is 8-bit clean and base-level conformant with the X/OPEN curses -specification, XSI curses (that is, it implements all BASE level features, -but not all EXTENDED features). Most EXTENDED-level features not directly -concerned with wide-character support are implemented, including many -function calls not supported under SVr4 curses (but portability of all -calls is documented so you can use the SVr4 subset only). -
  • Unlike SVr3 curses, ncurses can write to the rightmost-bottommost corner -of the screen if your terminal has an insert-character capability. -
  • Ada95 and C++ bindings. -
  • Support for mouse event reporting with X Window xterm and OS/2 console windows. -
  • Extended mouse support via Alessandro Rubini's gpm package. -
  • The function wresize() allows you to resize windows, preserving -their data. -
  • The function use_default_colors() allows you to -use the terminal's default colors for the default color pair, -achieving the effect of transparent colors. -
  • The functions keyok() -and define_key() allow -you to better control the use of function keys, -e.g., disabling the ncurses KEY_MOUSE, -or by defining more than one control sequence to map to a given key code. -
  • Support for 16-color terminals, such as aixterm and XFree86 xterm. -
  • Better cursor-movement optimization. The package now features a -cursor-local-movement computation more efficient than either BSD's -or System V's. -
  • Super hardware scrolling support. The screen-update code incorporates -a novel, simple, and cheap algorithm that enables it to make optimal -use of hardware scrolling, line-insertion, and line-deletion -for screen-line movements. This algorithm is more powerful than -the 4.4BSD curses quickch() routine. -
  • Real support for terminals with the magic-cookie glitch. The -screen-update code will refrain from drawing a highlight if the magic- -cookie unattributed spaces required just before the beginning and -after the end would step on a non-space character. It will -automatically shift highlight boundaries when doing so would make it -possible to draw the highlight without changing the visual appearance -of the screen. -
  • It is possible to generate the library with a list of pre-loaded -fallback entries linked to it so that it can serve those terminal types even -when no terminfo tree or termcap file is accessible (this may be useful -for support of screen-oriented programs that must run in single-user mode). -
  • The tic(1)/captoinfo utility provided with ncurses has the -ability to translate many termcaps from the XENIX, IBM and -AT&T extension sets. -
  • A BSD-like tset(1) utility is provided. -
  • The ncurses library and utilities will automatically read terminfo -entries from $HOME/.terminfo if it exists, and compile to that directory -if it exists and the user has no write access to the system directory. -This feature makes it easier for users to have personal terminfo entries -without giving up access to the system terminfo directory. -
  • You may specify a path of directories to search for compiled -descriptions with the environment variable TERMINFO_DIRS (this -generalizes the feature provided by TERMINFO under stock System V.) -
  • In terminfo source files, use capabilities may refer not just to -other entries in the same source file (as in System V) but also to -compiled entries in either the system terminfo directory or the user's -$HOME/.terminfo directory. -
  • A script (capconvert) is provided to help BSD users -transition from termcap to terminfo. It gathers the information in a -TERMCAP environment variable and/or a ~/.termcap local entries file -and converts it to an equivalent local terminfo tree under $HOME/.terminfo. -
  • Automatic fallback to the /etc/termcap file can be compiled in -when it is not possible to build a terminfo tree. This feature is neither -fast nor cheap, you don't want to use it unless you have to, -but it's there. -
  • The table-of-entries utility toe makes it easy for users to -see exactly what terminal types are available on the system. -
  • The library meets the XSI requirement that every macro entry -point have a corresponding function which may be linked (and will be -prototype-checked) if the macro definition is disabled with -#undef. -
  • An HTML "Introduction to Programming with NCURSES" document provides -a narrative introduction to the curses programming interface. -
- -

State of the Package

- -Numerous bugs present in earlier versions have been fixed; the -library is far more reliable than it used to be. Bounds checking in many -`dangerous' entry points has been improved. The code is now type-safe -according to gcc -Wall. The library has been checked for malloc leaks and -arena corruption by the Purify memory-allocation tester.

- -The ncurses code has been tested with a wide variety of applications -including (versions starting with those noted): -

-
cdk -
Curses Development Kit -
-http://invisible-island.net/cdk/ -
-http://www.vexus.ca/products/CDK/ -
ded -
directory-editor -
-http://invisible-island.net/ded/ -
dialog -
the underlying application used in Slackware's setup, and the basis -for similar applications on GNU/Linux. -
-http://invisible-island.net/dialog/ -
lynx -
the character-screen WWW browser -
-http://lynx.isc.org/release/ -
Midnight Commander -
file manager -
-http://www.ibiblio.org/mc/ -
mutt -
mail utility -
-http://www.mutt.org/ -
ncftp -
file-transfer utility -
-http://www.ncftp.com/ -
nvi -
New vi versions 1.50 are able to use ncurses versions 1.9.7 and later. -
-http://www.bostic.com/vi/ -
-
pinfo -
Lynx-like info browser. -http://dione.ids.pl/~pborys/software/pinfo/ -
tin -
newsreader, supporting color, MIME -http://www.tin.org/ -
vh-1.6 -
Volks-Hypertext browser for the Jargon File -
-http://www.debian.org/Packages/unstable/text/vh.html -
-as well as some that use ncurses for the terminfo support alone: -
-
minicom -
terminal emulator -
-http://www.netsonic.fi/~walker/minicom.html -
vile -
vi-like-emacs -
-http://invisible-island.net/vile/ -
-

- -The ncurses distribution includes a selection of test programs (including -a few games). - -

Who's Who and What's What

- -Zeyd Ben-Halim -started it from a previous package pcurses, written by Pavel Curtis. -Eric S. Raymond -continued development. -Jürgen Pfeifer wrote most of the form and menu libraries. -Ongoing work is being done by -Thomas Dickey. -Thomas Dickey -acts as the maintainer for the Free Software Foundation, -which holds the copyright on ncurses. -Contact the current maintainers at -bug-ncurses@gnu.org. -

- -To join the ncurses mailing list, please write email to -bug-ncurses-request@gnu.org containing the line: -

-             subscribe <name>@<host.domain>
-
- -This list is open to anyone interested in helping with the development and -testing of this package.

- -Beta versions of ncurses and patches to the current release are made available at -ftp://invisible-island.net/ncurses/ . - -

Future Plans

-
    -
  • Extended-level XPG4 conformance, with internationalization support. -
  • Ports to more systems, including DOS and Windows. -
-We need people to help with these projects. If you are interested in working -on them, please join the ncurses list. - -

Other Related Resources

- -The distribution provides a newer version of the terminfo-format -terminal description file maintained by -Eric Raymond . -Unlike the older version, the termcap and terminfo data are provided -in the same file.

- -You can find lots of information on terminal-related topics -not covered in the terminfo file at -Richard Shuford's -archive . - - - diff --git a/src/libs/ncurses/c++/Makefile b/src/libs/ncurses/c++/Makefile deleted file mode 100644 index 4366fab81c..0000000000 --- a/src/libs/ncurses/c++/Makefile +++ /dev/null @@ -1,466 +0,0 @@ -# $Id: Makefile.in,v 1.77 2005/06/12 22:52:56 tom Exp $ -############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey -# -# Simple makefile for c++ window class demo - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh - -CF_MFLAGS = - -x = -o = .o - -MODEL = ../objects -DESTDIR = -srcdir = . -prefix = /usr/local -exec_prefix = ${prefix} -libdir = ${exec_prefix}/lib -includedir = $(prefix)/include/ncurses - -LIBTOOL = -LIBTOOL_CLEAN = -LIBTOOL_COMPILE = -LIBTOOL_LINK = -LIBTOOL_INSTALL = -LIBTOOL_UNINSTALL = - -INSTALL = /bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 - -AR = ar -AR_OPTS = rv - -CXX_AR = $(AR) -CXX_AR_OPTS = $(AR_OPTS) -RANLIB = ranlib - -CXX = /boot/develop/bin/g++ -CPP = /boot/develop/bin/g++ -E -CXXFLAGS = -O2 -CXXLIBS = -lstdc++ - -INCDIR = ../include -CPPFLAGS = -I../c++ -I$(INCDIR) -I$(srcdir) -DHAVE_CONFIG_H -I. -I../include -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=199506L -DNDEBUG -I$(includedir) - -CCFLAGS = $(CPPFLAGS) $(CXXFLAGS) - -CFLAGS_LIBTOOL = $(CCFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) -g -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) -fPIC - -CFLAGS_DEFAULT = $(CFLAGS_NORMAL) - -NCURSES_MAJOR = 5 -NCURSES_MINOR = 5 -REL_VERSION = 5.5 -ABI_VERSION = 5 - -LINK = $(LIBTOOL_LINK) $(CXX) -SHLIB_DIRS = -L../lib -SHLIB_LIST = $(SHLIB_DIRS) -lncurses - -LIBROOT = ncurses++ - -LIBNAME_LIBTOOL = lib$(LIBROOT).la -LIBNAME_NORMAL = lib$(LIBROOT).a -LIBNAME = lib$(LIBROOT).a - -LINK_FLAGS = -L../lib -l$(LIBROOT) - -LINK_LIBTOOL = -L../lib ../lib/$(LIBNAME) -LINK_NORMAL = $(LINK_FLAGS) -LINK_DEBUG = $(LINK_FLAGS) -LINK_PROFILE = $(LINK_FLAGS) -LINK_SHARED = $(LINK_FLAGS) - -LDFLAGS = -L../lib -lform -lmenu -lpanel -lncurses \ - $(CXXLIBS) - -LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL) -LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL) -LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG) -LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE) -LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) - -LDFLAGS_DEFAULT = $(LINK_NORMAL) $(LDFLAGS_NORMAL) - -AUTO_SRC = \ - etip.h - -all \ -libs :: $(AUTO_SRC) ../lib/$(LIBNAME) - -all :: demo$x - -sources : $(AUTO_SRC) - -depend : - -tags: - ctags *.[h] *.cc - -# Build a conventional library for installing, since a shared library would -# pull in all of the ncurses libraries (panel, menu, form, ncurses) as direct -# dependencies. -LIB_OBJS = \ - $(MODEL)/cursesf$o \ - $(MODEL)/cursesm$o \ - $(MODEL)/cursesw$o \ - $(MODEL)/cursespad$o \ - $(MODEL)/cursesp$o \ - $(MODEL)/cursslk$o \ - $(MODEL)/cursesapp$o \ - $(MODEL)/cursesmain$o - -../lib/$(LIBNAME_NORMAL) : $(LIB_OBJS) - $(CXX_AR) $(CXX_AR_OPTS) $@ $? - $(RANLIB) $@ - -../lib/$(LIBNAME_LIBTOOL) : $(LIB_OBJS) - cd ../lib && $(LIBTOOL_LINK) $(CXX) $(CXXFLAGS) \ - -o $(LIBNAME) $(LIB_OBJS:$o=.lo) \ - -rpath $(INSTALL_PREFIX)$(libdir) \ - -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(SHLIB_LIST) - -OBJS_DEMO = $(MODEL)/demo$o - -$(MODEL)/demo$o : $(srcdir)/demo.cc \ - $(cursesf_h) $(cursesm_h) $(cursesapp_h) - -demo$x: $(OBJS_DEMO) \ - ../lib/$(LIBNAME) \ - ../lib/libform.a ../lib/libmenu.a ../lib/libpanel.a ../lib/libncurses.a - $(LINK) -o $@ $(OBJS_DEMO) $(LDFLAGS_DEFAULT) - -etip.h: $(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh - cp $(srcdir)/etip.h.in $@ - sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@ - -$(DESTDIR)$(libdir) : - sh $(srcdir)/../mkinstalldirs $@ - -install \ -install.libs:: ../lib/$(LIBNAME) $(DESTDIR)$(libdir) - $(LIBTOOL_INSTALL) $(INSTALL) ../lib/$(LIBNAME) $(DESTDIR)$(libdir)/$(LIBNAME) - -uninstall \ -uninstall.libs:: - -$(LIBTOOL_UNINSTALL) rm -f $(DESTDIR)$(libdir)/$(LIBNAME) - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.ii *.ln *.atac trace - -clean :: mostlyclean - -sh -c "if test -n '$x' ; then $(MAKE) clean x=''; fi" - -rm -rf $(MODEL)/SunWS_cache - -$(LIBTOOL_CLEAN) rm -f demo$x $(AUTO_SRC) ../lib/$(LIBNAME) $(LIB_OBJS) $(OBJS_DEMO) - -rm -rf .libs - -distclean :: clean - -rm -f Makefile - -realclean :: distclean - -############################################################################### - -cursesw_h = $(srcdir)/cursesw.h \ - etip.h \ - $(INCDIR)/curses.h - -cursesp_h = $(srcdir)/cursesp.h \ - $(cursesw_h) \ - $(INCDIR)/panel.h - -cursesf_h = $(srcdir)/cursesf.h \ - $(cursesp_h) \ - $(INCDIR)/form.h - -cursesm_h = $(srcdir)/cursesm.h \ - $(cursesp_h) \ - $(INCDIR)/menu.h - -cursslk_h = $(srcdir)/cursslk.h \ - $(cursesw_h) - -cursesapp_h = $(srcdir)/cursesapp.h \ - $(cursslk_h) - -$(INCDIR)/form.h : - cd ../form && $(MAKE) $@ - -$(INCDIR)/menu.h : - cd ../menu && $(MAKE) $@ - -$(INCDIR)/panel.h : - cd ../panel && $(MAKE) $@ - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### - -# generated by mk-0th.awk -# libname: c++ -# subsets: termlib+ext_tinfo+base+ext_funcs - -.SUFFIXES: .c .cc .h .i .ii -.c.i : - $(CPP) $(CPPFLAGS) $< >$@ -.cc.ii : - $(CPP) $(CPPFLAGS) $< >$@ -.h.i : - $(CPP) $(CPPFLAGS) $< >$@ - -C_SRC = \ - $(srcdir)/cursesf.cc \ - $(srcdir)/cursesm.cc \ - $(srcdir)/cursesp.cc \ - $(srcdir)/cursesw.cc \ - $(srcdir)/cursespad.cc \ - $(srcdir)/cursslk.cc \ - $(srcdir)/cursesapp.cc \ - $(srcdir)/cursesmain.cc \ - $(srcdir)/demo.cc - -lintlib : - @echo no action needed - -# generated by mk-1st.awk (subset=termlib+ext_tinfo+base+ext_funcs) -# name: c++ -# traces: DEBUG -# MODEL: NORMAL -# model: objects -# prefix: lib -# suffix: .a -# subset: termlib+ext_tinfo+base+ext_funcs -# ShlibVer: auto -# ShlibVerInfix: no -# DoLinks: no -# rmSoLocs: no -# ldconfig: -# overwrite: no -# depend: ../include/ncurses_cfg.h -# host: i586-pc-beos - -NORMAL_OBJS = \ - ../objects/cursesf$o \ - ../objects/cursesm$o \ - ../objects/cursesp$o \ - ../objects/cursesw$o \ - ../objects/cursespad$o \ - ../objects/cursslk$o \ - ../objects/cursesapp$o \ - ../objects/cursesmain$o \ - ../objects/demo$o - -$(NORMAL_OBJS) : ../include/ncurses_cfg.h - -mostlyclean:: - -rm -f $(NORMAL_OBJS) - -clean :: - -rm -f $(NORMAL_OBJS) - -# generated by mk-2nd.awk -# model: objects -# MODEL: NORMAL -# echo: yes -# subset: termlib+ext_tinfo+base+ext_funcs -# crenames: yes -# cxxrenames: yes -# traces: DEBUG -# srcdir: . - -../objects/cursesf$o : $(srcdir)/cursesf.cc \ - $(cursesf_h) \ - $(cursesapp_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesf.cc -o ../objects/cursesf$o - -../objects/cursesm$o : $(srcdir)/cursesm.cc \ - $(cursesm_h) \ - $(cursesapp_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesm.cc -o ../objects/cursesm$o - -../objects/cursesp$o : $(srcdir)/cursesp.cc \ - $(cursesp_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesp.cc -o ../objects/cursesp$o - -../objects/cursesw$o : $(srcdir)/cursesw.cc \ - $(cursesw_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesw.cc -o ../objects/cursesw$o - -../objects/cursespad$o : $(srcdir)/cursespad.cc \ - $(cursesw_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursespad.cc -o ../objects/cursespad$o - -../objects/cursslk$o : $(srcdir)/cursslk.cc \ - $(cursslk_h) \ - $(cursesapp_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursslk.cc -o ../objects/cursslk$o - -../objects/cursesapp$o : $(srcdir)/cursesapp.cc \ - $(cursesapp_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesapp.cc -o ../objects/cursesapp$o - -../objects/cursesmain$o : $(srcdir)/cursesmain.cc \ - $(cursesapp_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesmain.cc -o ../objects/cursesmain$o - -../objects/demo$o : $(srcdir)/demo.cc \ - $(cursesf_h) \ - $(cursesm_h) \ - $(cursesapp_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/demo.cc -o ../objects/demo$o - - -# generated by mk-1st.awk (subset=termlib+ext_tinfo+base+ext_funcs) -# name: c++ -# traces: DEBUG -# MODEL: DEBUG -# model: obj_g -# prefix: lib -# suffix: _g.a -# subset: termlib+ext_tinfo+base+ext_funcs -# ShlibVer: auto -# ShlibVerInfix: no -# DoLinks: no -# rmSoLocs: no -# ldconfig: -# overwrite: no -# depend: ../include/ncurses_cfg.h -# host: i586-pc-beos - -DEBUG_OBJS = \ - ../obj_g/cursesf$o \ - ../obj_g/cursesm$o \ - ../obj_g/cursesp$o \ - ../obj_g/cursesw$o \ - ../obj_g/cursespad$o \ - ../obj_g/cursslk$o \ - ../obj_g/cursesapp$o \ - ../obj_g/cursesmain$o \ - ../obj_g/demo$o - -$(DEBUG_OBJS) : ../include/ncurses_cfg.h - -mostlyclean:: - -rm -f $(DEBUG_OBJS) - -clean :: - -rm -f $(DEBUG_OBJS) - -# generated by mk-2nd.awk -# model: obj_g -# MODEL: DEBUG -# echo: yes -# subset: termlib+ext_tinfo+base+ext_funcs -# crenames: yes -# cxxrenames: yes -# traces: DEBUG -# srcdir: . - -../obj_g/cursesf$o : $(srcdir)/cursesf.cc \ - $(cursesf_h) \ - $(cursesapp_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/cursesf.cc -o ../obj_g/cursesf$o - -../obj_g/cursesm$o : $(srcdir)/cursesm.cc \ - $(cursesm_h) \ - $(cursesapp_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/cursesm.cc -o ../obj_g/cursesm$o - -../obj_g/cursesp$o : $(srcdir)/cursesp.cc \ - $(cursesp_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/cursesp.cc -o ../obj_g/cursesp$o - -../obj_g/cursesw$o : $(srcdir)/cursesw.cc \ - $(cursesw_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/cursesw.cc -o ../obj_g/cursesw$o - -../obj_g/cursespad$o : $(srcdir)/cursespad.cc \ - $(cursesw_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/cursespad.cc -o ../obj_g/cursespad$o - -../obj_g/cursslk$o : $(srcdir)/cursslk.cc \ - $(cursslk_h) \ - $(cursesapp_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/cursslk.cc -o ../obj_g/cursslk$o - -../obj_g/cursesapp$o : $(srcdir)/cursesapp.cc \ - $(cursesapp_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/cursesapp.cc -o ../obj_g/cursesapp$o - -../obj_g/cursesmain$o : $(srcdir)/cursesmain.cc \ - $(cursesapp_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/cursesmain.cc -o ../obj_g/cursesmain$o - -../obj_g/demo$o : $(srcdir)/demo.cc \ - $(cursesf_h) \ - $(cursesm_h) \ - $(cursesapp_h) - $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/demo.cc -o ../obj_g/demo$o - -$(DESTDIR)$(includedir) : - sh $(srcdir)/../mkinstalldirs $@ - -install \ -install.libs \ -install.includes :: $(AUTO_SRC) $(DESTDIR)$(includedir) \ - $(srcdir)/cursesapp.h \ - $(srcdir)/cursesf.h \ - $(srcdir)/cursesm.h \ - $(srcdir)/cursesp.h \ - $(srcdir)/cursesw.h \ - $(srcdir)/cursslk.h \ - etip.h - @ (cd $(DESTDIR)$(includedir) && rm -f cursesapp.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/cursesapp.h - @ (cd $(DESTDIR)$(includedir) && rm -f cursesf.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/cursesf.h - @ (cd $(DESTDIR)$(includedir) && rm -f cursesm.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/cursesm.h - @ (cd $(DESTDIR)$(includedir) && rm -f cursesp.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/cursesp.h - @ (cd $(DESTDIR)$(includedir) && rm -f cursesw.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/cursesw.h - @ (cd $(DESTDIR)$(includedir) && rm -f cursslk.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/cursslk.h - @ (cd $(DESTDIR)$(includedir) && rm -f etip.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) etip.h - -uninstall \ -uninstall.libs \ -uninstall.includes :: - -@ (cd $(DESTDIR)$(includedir) && rm -f cursesapp.h) - -@ (cd $(DESTDIR)$(includedir) && rm -f cursesf.h) - -@ (cd $(DESTDIR)$(includedir) && rm -f cursesm.h) - -@ (cd $(DESTDIR)$(includedir) && rm -f cursesp.h) - -@ (cd $(DESTDIR)$(includedir) && rm -f cursesw.h) - -@ (cd $(DESTDIR)$(includedir) && rm -f cursslk.h) - -@ (cd $(DESTDIR)$(includedir) && rm -f etip.h) diff --git a/src/libs/ncurses/c++/Makefile.in b/src/libs/ncurses/c++/Makefile.in deleted file mode 100644 index 746e7acd20..0000000000 --- a/src/libs/ncurses/c++/Makefile.in +++ /dev/null @@ -1,233 +0,0 @@ -# $Id: Makefile.in,v 1.77 2005/06/12 22:52:56 tom Exp $ -############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey -# -# Simple makefile for c++ window class demo - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh - -CF_MFLAGS = @cf_cv_makeflags@ -@SET_MAKE@ -x = @EXEEXT@ -o = .@OBJEXT@ - -MODEL = ../@DFT_OBJ_SUBDIR@ -DESTDIR = @DESTDIR@ -srcdir = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ -libdir = @libdir@ -includedir = @includedir@ - -LIBTOOL = @LIBTOOL_CXX@ -LIBTOOL_CLEAN = @LIB_CLEAN@ -LIBTOOL_COMPILE = @LIB_COMPILE@ -LIBTOOL_LINK = @LIB_LINK@ -LIBTOOL_INSTALL = @LIB_INSTALL@ -LIBTOOL_UNINSTALL = @LIB_UNINSTALL@ - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ - -AR = @AR@ -AR_OPTS = @AR_OPTS@ - -CXX_AR = @CXX_AR@ -CXX_AR_OPTS = @CXX_AR_OPTS@ -RANLIB = @LIB_PREP@ - -CXX = @CXX@ -CPP = @CXXCPP@ -CXXFLAGS = @CXXFLAGS@ @EXTRA_CXXFLAGS@ -CXXLIBS = @CXXLIBS@ - -INCDIR = ../include -CPPFLAGS = -I../c++ -I$(INCDIR) -I$(srcdir) -DHAVE_CONFIG_H @CPPFLAGS@ - -CCFLAGS = $(CPPFLAGS) $(CXXFLAGS) - -CFLAGS_LIBTOOL = $(CCFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) @CXX_G_OPT@ -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ - -CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) - -NCURSES_MAJOR = @NCURSES_MAJOR@ -NCURSES_MINOR = @NCURSES_MINOR@ -REL_VERSION = @cf_cv_rel_version@ -ABI_VERSION = @cf_cv_abi_version@ - -LINK = @LINK_PROGS@ $(LIBTOOL_LINK) $(CXX) @CXXLDFLAGS@ -SHLIB_DIRS = -L../lib -SHLIB_LIST = $(SHLIB_DIRS) -lncurses@LIB_SUFFIX@ @SHLIB_LIST@ - -LIBROOT = ncurses++ - -LIBNAME_LIBTOOL = @LIB_PREFIX@$(LIBROOT)@LIB_SUFFIX@.la -LIBNAME_NORMAL = @LIB_PREFIX@$(LIBROOT)@LIB_SUFFIX@.a -LIBNAME = @LIB_PREFIX@$(LIBROOT)@CXX_LIB_SUFFIX@ - -LINK_FLAGS = @EXTRA_LDFLAGS@ -L../lib -l$(LIBROOT)@LIB_SUFFIX@ - -LINK_LIBTOOL = @EXTRA_LDFLAGS@ -L../lib ../lib/$(LIBNAME) -LINK_NORMAL = $(LINK_FLAGS) -LINK_DEBUG = $(LINK_FLAGS) -LINK_PROFILE = $(LINK_FLAGS) -LINK_SHARED = $(LINK_FLAGS) - -LDFLAGS = @TEST_ARGS@ @LDFLAGS@ \ - @LD_MODEL@ @LIBS@ @LOCAL_LDFLAGS@ $(CXXLIBS) - -LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL) -LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL) -LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG) -LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE) -LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@ - -LDFLAGS_DEFAULT = $(LINK_@DFT_UPR_MODEL@) $(LDFLAGS_@DFT_UPR_MODEL@) - -AUTO_SRC = \ - etip.h - -all \ -libs :: $(AUTO_SRC) ../lib/$(LIBNAME) - -all :: demo$x - -sources : $(AUTO_SRC) - -depend : - -tags: - ctags *.[h] *.cc - -# Build a conventional library for installing, since a shared library would -# pull in all of the ncurses libraries (panel, menu, form, ncurses) as direct -# dependencies. -LIB_OBJS = \ - $(MODEL)/cursesf$o \ - $(MODEL)/cursesm$o \ - $(MODEL)/cursesw$o \ - $(MODEL)/cursespad$o \ - $(MODEL)/cursesp$o \ - $(MODEL)/cursslk$o \ - $(MODEL)/cursesapp$o \ - $(MODEL)/cursesmain$o - -../lib/$(LIBNAME_NORMAL) : $(LIB_OBJS) - $(CXX_AR) $(CXX_AR_OPTS) $@ $? - $(RANLIB) $@ - -../lib/$(LIBNAME_LIBTOOL) : $(LIB_OBJS) - cd ../lib && $(LIBTOOL_LINK) $(CXX) $(CXXFLAGS) \ - -o $(LIBNAME) $(LIB_OBJS:$o=.lo) \ - -rpath $(INSTALL_PREFIX)$(libdir) \ - -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(SHLIB_LIST) - -OBJS_DEMO = $(MODEL)/demo$o - -$(MODEL)/demo$o : $(srcdir)/demo.cc \ - $(cursesf_h) $(cursesm_h) $(cursesapp_h) - -demo$x: $(OBJS_DEMO) \ - ../lib/$(LIBNAME) \ - @TEST_DEPS@ - @ECHO_LINK@ $(LINK) -o $@ $(OBJS_DEMO) $(LDFLAGS_DEFAULT) - -etip.h: $(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh - cp $(srcdir)/etip.h.in $@ - sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@ - -$(DESTDIR)$(libdir) : - sh $(srcdir)/../mkinstalldirs $@ - -install \ -install.libs:: ../lib/$(LIBNAME) $(DESTDIR)$(libdir) - $(LIBTOOL_INSTALL) $(INSTALL) ../lib/$(LIBNAME) $(DESTDIR)$(libdir)/$(LIBNAME) - -uninstall \ -uninstall.libs:: - -$(LIBTOOL_UNINSTALL) rm -f $(DESTDIR)$(libdir)/$(LIBNAME) - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.ii *.ln *.atac trace - -clean :: mostlyclean - -sh -c "if test -n '$x' ; then $(MAKE) clean x=''; fi" - -rm -rf $(MODEL)/SunWS_cache - -$(LIBTOOL_CLEAN) rm -f demo$x $(AUTO_SRC) ../lib/$(LIBNAME) $(LIB_OBJS) $(OBJS_DEMO) - -rm -rf .libs - -distclean :: clean - -rm -f Makefile - -realclean :: distclean - -############################################################################### - -cursesw_h = $(srcdir)/cursesw.h \ - etip.h \ - $(INCDIR)/curses.h - -cursesp_h = $(srcdir)/cursesp.h \ - $(cursesw_h) \ - $(INCDIR)/panel.h - -cursesf_h = $(srcdir)/cursesf.h \ - $(cursesp_h) \ - $(INCDIR)/form.h - -cursesm_h = $(srcdir)/cursesm.h \ - $(cursesp_h) \ - $(INCDIR)/menu.h - -cursslk_h = $(srcdir)/cursslk.h \ - $(cursesw_h) - -cursesapp_h = $(srcdir)/cursesapp.h \ - $(cursslk_h) - -$(INCDIR)/form.h : - cd ../form && $(MAKE) $@ - -$(INCDIR)/menu.h : - cd ../menu && $(MAKE) $@ - -$(INCDIR)/panel.h : - cd ../panel && $(MAKE) $@ - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### diff --git a/src/libs/ncurses/c++/NEWS b/src/libs/ncurses/c++/NEWS deleted file mode 100644 index 299292d18a..0000000000 --- a/src/libs/ncurses/c++/NEWS +++ /dev/null @@ -1,42 +0,0 @@ -This is a log of changes that the ncurses C++ binding has gone -through starting with the integration of menu and forms integration -into the binding. - -990731 + Improve support for pads. A viewport window may now be added to - a pad. It will then be possible to use a builtin panning mechanism - to view the pad. - -970908 + Improve NCursesWindow class: added additional methods to - cover more ncurses functionality. Make refresh() and - noutrefresh() virtual members to allow different implementation - in the NCursesPanel class. - + CAUTION: changed order of parameters in vline() and hline() of - NCursesWindow class. - + Make refresh() in NCursesPanel non-static, it is now a - reimplementation of refresh() in the base class. Added - noutrefresh() to NCursesPanel. - + Added NCursesForm and related classes to support libform - functionality. - + Moved most of configuration related stuff from cursesw.h to - etip.h - + Added NCursesApplication class to support easy configuration - of menu and forms related attributes as well as ripped of - title lines and Soft-Label-Keys for an application. - + Support of Auto-Cleanup for a menus fieldlist. - + Change of return type for current_item() and operator[] for - menus. - + Enhanced demo. -970502 - + Introduced the THROW and THROWS functions/macros to prepare - a smoother transition to real exception handling. - + Exception classes provided in etip.h - + Added the NCursesMenu class to support libmenu functionality. - + The inheritace relation between NCursesWindow and NCursesColorWindow - was kind of brain damage. Monochrome is a special case of colored, so - the relation should be just the opposite. This would allow all - derived classes like NCursesPanel, NCursesMenu or NCursesForm to - have colors. - To resolve that design flaw I put the color functionality into the - NCursesWindow class and it can be switched on by the static member - useColors(). NCursesColorWindow is still there for compatibility - reasons. diff --git a/src/libs/ncurses/c++/PROBLEMS b/src/libs/ncurses/c++/PROBLEMS deleted file mode 100644 index 81c1ebaf89..0000000000 --- a/src/libs/ncurses/c++/PROBLEMS +++ /dev/null @@ -1,5 +0,0 @@ -This is a list of open problems. This mainly lists known missing pieces -and design flaws. - -1. Testing!!! -2. Better demo program diff --git a/src/libs/ncurses/c++/README-first b/src/libs/ncurses/c++/README-first deleted file mode 100644 index ff1e5c5d96..0000000000 --- a/src/libs/ncurses/c++/README-first +++ /dev/null @@ -1,60 +0,0 @@ --- $Id: README-first,v 1.7 2003/10/25 15:13:23 tom Exp $ -------------------------------------------------------------------------------- - C++ interface to ncurses routines ------------------------------------------------------------------------ - -This directory contains the source code for several C++ classes which -ease the use of writing ncurses-based programs. The code is derived -from the libg++ CursesWindow class but enhanced for ncurses. - -The classes simplify the use of window specific functions by -encapsulating them in the window object. Function overloading is -used in order to narrow the interface. E.g. you don't have the -distinction between `printw' and `mvprintw' anymore. - -A second benefit is the removal of all #defines which are included in -the curses.h file. This is a steady cause of trouble because many -common identifiers are used. Instead now all #defines are inline -functions which also allows strict type checking of arguments. - -The next enhancement is color support. It was originally provided by a -derived class. This caused some trouble if you think about Panels or -Menus and Forms with colors. We decided to put color support into the -base class so that any derived class may use color support also. -The implementation chosen here is directed to unrestricted use -of mixes of color and monochrome windows. The original NCursesColorWindow -class is maintained for compatibility reasons. - -The last point to mention is the support of other packages that are -distributed with the ncurses package: the panels library, the menu library -and the form library. This support is provided by the NCursesPanel class, -which is also derived from the NCursesWindow class and the NCursesMenu -and NCursesForm classes which are derived from NCursesPanel. This allows -building interfaces with windows. - -Please see the example program for a quick introduction. - -Note that at this point, there is no documentation for these classes. -Hopefully some will be written in the not too distant future. For now, -to find out how to use the classes, read the code and the example program. - -Suggestions for enhancements and contributions of code (and docs) are -welcome. Please let us know which functionality you miss. - - ATTENTION LINUX USERS: There is currently some discussion of - replacing the BSD curses in the Linux libc with ncurses. If - this is done we could perhaps include these classes in the Linux - libg++ replacing the original CursesWindow class (and renaming it - to CursesWindow). This could be done because NCursesWindow can - be made easily to a superset of the CursesWindow class. - - -Original author: - Eric Newton for FSF's libg++ - -Authors of first ncurses based release (NCursesWindow, NCursesPanel): - Ulrich Drepper - and Anatoly Ivasyuk - -Author of this release: - Juergen Pfeifer diff --git a/src/libs/ncurses/c++/cursesapp.cc b/src/libs/ncurses/c++/cursesapp.cc deleted file mode 100644 index 6871a69a39..0000000000 --- a/src/libs/ncurses/c++/cursesapp.cc +++ /dev/null @@ -1,155 +0,0 @@ -// * this is for making emacs happy: -*-Mode: C++;-*- -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - ****************************************************************************/ - -#include "internal.h" -#include "cursesapp.h" - -MODULE_ID("$Id: cursesapp.cc,v 1.13 2005/04/03 12:25:23 tom Exp $") - -void -NCursesApplication::init(bool bColors) -{ - if (bColors) - NCursesWindow::useColors(); - - if (Root_Window->colors() > 1) { - b_Colors = TRUE; - Root_Window->setcolor(1); - Root_Window->setpalette(COLOR_YELLOW,COLOR_BLUE); - Root_Window->setcolor(2); - Root_Window->setpalette(COLOR_CYAN,COLOR_BLUE); - Root_Window->setcolor(3); - Root_Window->setpalette(COLOR_BLACK,COLOR_BLUE); - Root_Window->setcolor(4); - Root_Window->setpalette(COLOR_BLACK,COLOR_CYAN); - Root_Window->setcolor(5); - Root_Window->setpalette(COLOR_BLUE,COLOR_YELLOW); - Root_Window->setcolor(6); - Root_Window->setpalette(COLOR_BLACK,COLOR_GREEN); - } - else - b_Colors = FALSE; - - Root_Window->bkgd(' '|window_backgrounds()); -} - -NCursesApplication* NCursesApplication::theApp = 0; -NCursesWindow* NCursesApplication::titleWindow = 0; -NCursesApplication::SLK_Link* NCursesApplication::slk_stack = 0; - -NCursesApplication::~NCursesApplication() -{ - Soft_Label_Key_Set* S; - - delete titleWindow; - while( (S=top()) ) { - pop(); - delete S; - } - delete Root_Window; - ::endwin(); -} - -int NCursesApplication::rinit(NCursesWindow& w) -{ - titleWindow = &w; - return OK; -} - -void NCursesApplication::push(Soft_Label_Key_Set& S) -{ - SLK_Link* L = new SLK_Link; - assert(L != 0); - L->prev = slk_stack; - L->SLKs = &S; - slk_stack = L; - if (Root_Window) - S.show(); -} - -bool NCursesApplication::pop() -{ - if (slk_stack) { - SLK_Link* L = slk_stack; - slk_stack = slk_stack->prev; - delete L; - if (Root_Window && top()) - top()->show(); - } - return (slk_stack ? FALSE : TRUE); -} - -Soft_Label_Key_Set* NCursesApplication::top() const -{ - if (slk_stack) - return slk_stack->SLKs; - else - return static_cast(0); -} - -int NCursesApplication::operator()(void) -{ - bool bColors = b_Colors; - Soft_Label_Key_Set* S = 0; - - int ts = titlesize(); - if (ts>0) - NCursesWindow::ripoffline(ts,rinit); - Soft_Label_Key_Set::Label_Layout fmt = useSLKs(); - if (fmt!=Soft_Label_Key_Set::None) { - S = new Soft_Label_Key_Set(fmt); - assert(S != 0); - init_labels(*S); - } - - Root_Window = new NCursesWindow(::stdscr); - init(bColors); - - if (ts>0) - title(); - if (fmt!=Soft_Label_Key_Set::None) { - push(*S); - } - - return run(); -} - -NCursesApplication::NCursesApplication(bool bColors) - : b_Colors(bColors), - Root_Window(NULL) -{ - if (theApp) - THROW(new NCursesException("Application object already created.")); - else - theApp = this; -} diff --git a/src/libs/ncurses/c++/cursesapp.h b/src/libs/ncurses/c++/cursesapp.h deleted file mode 100644 index 7e995d2e39..0000000000 --- a/src/libs/ncurses/c++/cursesapp.h +++ /dev/null @@ -1,176 +0,0 @@ -// * This makes emacs happy -*-Mode: C++;-*- -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - ****************************************************************************/ - -// $Id: cursesapp.h,v 1.11 2005/05/28 21:57:44 tom Exp $ - -#ifndef NCURSES_CURSESAPP_H_incl -#define NCURSES_CURSESAPP_H_incl - -#include - -class NCURSES_IMPEXP NCursesApplication { -public: - typedef struct _slk_link { // This structure is used to maintain - struct _slk_link* prev; // a stack of SLKs - Soft_Label_Key_Set* SLKs; - } SLK_Link; -private: - static int rinit(NCursesWindow& w); // Internal Init function for title - static NCursesApplication* theApp; // Global ref. to the application - - static SLK_Link* slk_stack; - -protected: - static NCursesWindow* titleWindow; // The Title Window (if any) - - bool b_Colors; // Is this a color application? - NCursesWindow* Root_Window; // This is the stdscr equiv. - - // Initialization of attributes; - // Rewrite this in your derived class if you prefer other settings - virtual void init(bool bColors); - - // The number of lines for the title window. Default is no title window - // You may rewrite this in your derived class - virtual int titlesize() const { - return 0; - } - - // This method is called to put something into the title window initially - // You may rewrite this in your derived class - virtual void title() { - } - - // The layout used for the Soft Label Keys. Default is to have no SLKs. - // You may rewrite this in your derived class - virtual Soft_Label_Key_Set::Label_Layout useSLKs() const { - return Soft_Label_Key_Set::None; - } - - // This method is called to initialize the SLKs. Default is nothing. - // You may rewrite this in your derived class - virtual void init_labels(Soft_Label_Key_Set& S) const { - } - - // Your derived class must implement this method. The return value must - // be the exit value of your application. - virtual int run() = 0; - - // The constructor is protected, so you may use it in your derived - // class constructor. The argument tells whether or not you want colors. - NCursesApplication(bool wantColors = FALSE); - - NCursesApplication& operator=(const NCursesApplication& rhs) - { - if (this != &rhs) { - *this = rhs; - } - return *this; - } - - NCursesApplication(const NCursesApplication& rhs) - : b_Colors(rhs.b_Colors), - Root_Window(rhs.Root_Window) - { - } - -public: - virtual ~NCursesApplication(); - - // Get a pointer to the current application object - static NCursesApplication* getApplication() { - return theApp; - } - - // This method runs the application and returns its exit value - int operator()(void); - - // Process the commandline arguments. The default implementation simply - // ignores them. Your derived class may rewrite this. - virtual void handleArgs(int argc, char* argv[]) { - } - - // Does this application use colors? - inline bool useColors() const { - return b_Colors; - } - - // Push the Key Set S onto the SLK Stack. S then becomes the current set - // of Soft Labelled Keys. - void push(Soft_Label_Key_Set& S); - - // Throw away the current set of SLKs and make the previous one the - // new current set. - bool pop(); - - // Retrieve the current set of Soft Labelled Keys. - Soft_Label_Key_Set* top() const; - - // Attributes to use for menu and forms foregrounds - virtual chtype foregrounds() const { - return b_Colors ? COLOR_PAIR(1) : A_BOLD; - } - - // Attributes to use for menu and forms backgrounds - virtual chtype backgrounds() const { - return b_Colors ? COLOR_PAIR(2) : A_NORMAL; - } - - // Attributes to use for inactive (menu) elements - virtual chtype inactives() const { - return b_Colors ? (COLOR_PAIR(3)|A_DIM) : A_DIM; - } - - // Attributes to use for (form) labels and SLKs - virtual chtype labels() const { - return b_Colors ? COLOR_PAIR(4) : A_NORMAL; - } - - // Attributes to use for form backgrounds - virtual chtype dialog_backgrounds() const { - return b_Colors ? COLOR_PAIR(4) : A_NORMAL; - } - - // Attributes to use as default for (form) window backgrounds - virtual chtype window_backgrounds() const { - return b_Colors ? COLOR_PAIR(5) : A_NORMAL; - } - - // Attributes to use for the title window - virtual chtype screen_titles() const { - return b_Colors ? COLOR_PAIR(6) : A_BOLD; - } - -}; - -#endif /* NCURSES_CURSESAPP_H_incl */ diff --git a/src/libs/ncurses/c++/cursesf.cc b/src/libs/ncurses/c++/cursesf.cc deleted file mode 100644 index aaf1202ca9..0000000000 --- a/src/libs/ncurses/c++/cursesf.cc +++ /dev/null @@ -1,454 +0,0 @@ -// * this is for making emacs happy: -*-Mode: C++;-*- -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - ****************************************************************************/ - -#include "internal.h" -#include "cursesf.h" -#include "cursesapp.h" - -MODULE_ID("$Id: cursesf.cc,v 1.21 2005/08/13 18:09:06 tom Exp $") - -NCursesFormField::~NCursesFormField () -{ - if (field) - OnError(::free_field (field)); -} - -/* Construct a FIELD* array from an array of NCursesFormField - * objects. - */ -FIELD** -NCursesForm::mapFields(NCursesFormField* nfields[]) -{ - int fieldCount = 0,lcv; - FIELD** old_fields; - - assert(nfields != 0); - - for (lcv=0; nfields[lcv]->field; ++lcv) - ++fieldCount; - - FIELD** fields = new FIELD*[fieldCount + 1]; - - for (lcv=0;nfields[lcv]->field;++lcv) { - fields[lcv] = nfields[lcv]->field; - } - fields[lcv] = NULL; - - my_fields = nfields; - - if (form && (old_fields = ::form_fields(form))) { - ::set_form_fields(form, static_cast(0)); - delete[] old_fields; - } - return fields; -} - -void NCursesForm::setDefaultAttributes() -{ - NCursesApplication* S = NCursesApplication::getApplication(); - - int n = count(); - if (n > 0) { - for(int i=0; ioptions() & (O_EDIT|O_ACTIVE))==(O_EDIT|O_ACTIVE)) { - if (S) { - f->set_foreground(S->foregrounds()); - f->set_background(S->backgrounds()); - } - f->set_pad_character('_'); - } - else { - if (S) - f->set_background(S->labels()); - } - } - } - - if (S) { - bkgd(' '|S->dialog_backgrounds()); - if (sub) - sub->bkgd(' '|S->dialog_backgrounds()); - } -} - -void -NCursesForm::InitForm(NCursesFormField* nfields[], - bool with_frame, - bool autoDelete_Fields) -{ - int mrows, mcols; - - keypad(TRUE); - meta(TRUE); - - b_framed = with_frame; - b_autoDelete = autoDelete_Fields; - - form = static_cast(0); - form = ::new_form(mapFields(nfields)); - if (!form) - OnError (E_SYSTEM_ERROR); - - UserHook* hook = new UserHook; - hook->m_user = NULL; - hook->m_back = this; - hook->m_owner = form; - ::set_form_userptr(form, reinterpret_cast(hook)); - - ::set_form_init (form, _nc_xx_frm_init); - ::set_form_term (form, _nc_xx_frm_term); - ::set_field_init (form, _nc_xx_fld_init); - ::set_field_term (form, _nc_xx_fld_term); - - scale(mrows, mcols); - ::set_form_win(form, w); - - if (with_frame) { - if ((mrows > height()-2) || (mcols > width()-2)) - OnError(E_NO_ROOM); - sub = new NCursesWindow(*this,mrows,mcols,1,1,'r'); - ::set_form_sub(form, sub->w); - b_sub_owner = TRUE; - } - else { - sub = static_cast(0); - b_sub_owner = FALSE; - } - options_on(O_NL_OVERLOAD); - setDefaultAttributes(); -} - -NCursesForm::~NCursesForm() -{ - UserHook* hook = reinterpret_cast(::form_userptr(form)); - delete hook; - if (b_sub_owner) { - delete sub; - ::set_form_sub(form, static_cast(0)); - } - if (form) { - FIELD** fields = ::form_fields(form); - int cnt = count(); - - OnError(::set_form_fields(form, static_cast(0))); - - if (b_autoDelete) { - if (cnt>0) { - for (int i=0; i <= cnt; i++) - delete my_fields[i]; - } - delete[] my_fields; - } - - ::free_form(form); - // It's essential to do this after free_form() - delete[] fields; - } -} - -void -NCursesForm::setSubWindow(NCursesWindow& nsub) -{ - if (!isDescendant(nsub)) - OnError(E_SYSTEM_ERROR); - else { - if (b_sub_owner) - delete sub; - sub = ⊄ - ::set_form_sub(form,sub->w); - } -} - -/* Internal hook functions. They will route the hook - * calls to virtual methods of the NCursesForm class, - * so in C++ providing a hook is done simply by - * implementing a virtual method in a derived class - */ -void -_nc_xx_frm_init(FORM *f) -{ - NCursesForm::getHook(f)->On_Form_Init(); -} - -void -_nc_xx_frm_term(FORM *f) -{ - NCursesForm::getHook(f)->On_Form_Termination(); -} - -void -_nc_xx_fld_init(FORM *f) -{ - NCursesForm* F = NCursesForm::getHook(f); - F->On_Field_Init (*(F->current_field ())); -} - -void -_nc_xx_fld_term(FORM *f) -{ - NCursesForm* F = NCursesForm::getHook(f); - F->On_Field_Termination (*(F->current_field ())); -} - -void -NCursesForm::On_Form_Init() -{ -} - -void -NCursesForm::On_Form_Termination() -{ -} - -void -NCursesForm::On_Field_Init(NCursesFormField& field) -{ -} - -void -NCursesForm::On_Field_Termination(NCursesFormField& field) -{ -} - -// call the form driver and do basic error checking. -int -NCursesForm::driver (int c) -{ - int res = ::form_driver (form, c); - switch (res) { - case E_OK: - case E_REQUEST_DENIED: - case E_INVALID_FIELD: - case E_UNKNOWN_COMMAND: - break; - default: - OnError (res); - } - return (res); -} - -void NCursesForm::On_Request_Denied(int c) const -{ - ::beep(); -} - -void NCursesForm::On_Invalid_Field(int c) const -{ - ::beep(); -} - -void NCursesForm::On_Unknown_Command(int c) const -{ - ::beep(); -} - -static const int CMD_QUIT = MAX_COMMAND + 1; - -NCursesFormField* -NCursesForm::operator()(void) -{ - int drvCmnd; - int err; - int c; - - post(); - show(); - refresh(); - - while (((drvCmnd = virtualize((c=getKey()))) != CMD_QUIT)) { - switch((err=driver(drvCmnd))) { - case E_REQUEST_DENIED: - On_Request_Denied(c); - break; - case E_INVALID_FIELD: - On_Invalid_Field(c); - break; - case E_UNKNOWN_COMMAND: - On_Unknown_Command(c); - break; - case E_OK: - break; - default: - OnError(err); - } - } - - unpost(); - hide(); - refresh(); - return my_fields[::field_index (::current_field (form))]; -} - -// Provide a default key virtualization. Translate the keyboard -// code c into a form request code. -// The default implementation provides a hopefully straightforward -// mapping for the most common keystrokes and form requests. -int -NCursesForm::virtualize(int c) -{ - switch(c) { - - case KEY_HOME : return(REQ_FIRST_FIELD); - case KEY_END : return(REQ_LAST_FIELD); - - case KEY_DOWN : return(REQ_DOWN_CHAR); - case KEY_UP : return(REQ_UP_CHAR); - case KEY_LEFT : return(REQ_PREV_CHAR); - case KEY_RIGHT : return(REQ_NEXT_CHAR); - - case KEY_NPAGE : return(REQ_NEXT_PAGE); - case KEY_PPAGE : return(REQ_PREV_PAGE); - - case KEY_BACKSPACE : return(REQ_DEL_PREV); - case KEY_ENTER : return(REQ_NEW_LINE); - case KEY_CLEAR : return(REQ_CLR_FIELD); - - case CTRL('X') : return(CMD_QUIT); // eXit - - case CTRL('F') : return(REQ_NEXT_FIELD); // Forward - case CTRL('B') : return(REQ_PREV_FIELD); // Backward - case CTRL('L') : return(REQ_LEFT_FIELD); // Left - case CTRL('R') : return(REQ_RIGHT_FIELD); // Right - case CTRL('U') : return(REQ_UP_FIELD); // Up - case CTRL('D') : return(REQ_DOWN_FIELD); // Down - - case CTRL('W') : return(REQ_NEXT_WORD); - case CTRL('T') : return(REQ_PREV_WORD); - - case CTRL('A') : return(REQ_BEG_FIELD); - case CTRL('E') : return(REQ_END_FIELD); - - case CTRL('I') : return(REQ_INS_CHAR); - case CTRL('M') : - case CTRL('J') : return(REQ_NEW_LINE); - case CTRL('O') : return(REQ_INS_LINE); - case CTRL('V') : return(REQ_DEL_CHAR); - case CTRL('H') : return(REQ_DEL_PREV); - case CTRL('Y') : return(REQ_DEL_LINE); - case CTRL('G') : return(REQ_DEL_WORD); - case CTRL('K') : return(REQ_CLR_EOF); - - case CTRL('N') : return(REQ_NEXT_CHOICE); - case CTRL('P') : return(REQ_PREV_CHOICE); - - default: - return(c); - } -} -// -// ------------------------------------------------------------------------- -// User Defined Fieldtypes -// ------------------------------------------------------------------------- -// -bool _nc_xx_fld_fcheck(FIELD *f, const void *u) -{ - NCursesFormField* F = reinterpret_cast(const_cast(u)); - assert(F != 0); - UserDefinedFieldType* udf = reinterpret_cast(F->fieldtype()); - assert(udf != 0); - return udf->field_check(*F); -} - -bool _nc_xx_fld_ccheck(int c, const void *u) -{ - NCursesFormField* F = reinterpret_cast(const_cast(u)); - assert(F != 0); - UserDefinedFieldType* udf = - reinterpret_cast(F->fieldtype()); - assert(udf != 0); - return udf->char_check(c); -} - -void* _nc_xx_fld_makearg(va_list* va) -{ - return va_arg(*va,NCursesFormField*); -} - -FIELDTYPE* UserDefinedFieldType::generic_fieldtype = - ::new_fieldtype(_nc_xx_fld_fcheck, - _nc_xx_fld_ccheck); - -FIELDTYPE* UserDefinedFieldType_With_Choice::generic_fieldtype_with_choice = - ::new_fieldtype(_nc_xx_fld_fcheck, - _nc_xx_fld_ccheck); - -bool _nc_xx_next_choice(FIELD *f, const void *u) -{ - NCursesFormField* F = reinterpret_cast(const_cast(u)); - assert(F != 0); - UserDefinedFieldType_With_Choice* udf = - reinterpret_cast(F->fieldtype()); - assert(udf != 0); - return udf->next(*F); -} - -bool _nc_xx_prev_choice(FIELD *f, const void *u) -{ - NCursesFormField* F = reinterpret_cast(const_cast(u)); - assert(F != 0); - UserDefinedFieldType_With_Choice* udf = - reinterpret_cast(F->fieldtype()); - assert(udf != 0); - return udf->previous(*F); -} - -class UDF_Init -{ -private: - int code; - static UDF_Init* I; - -public: - UDF_Init() - : code(0) - { - code = ::set_fieldtype_arg(UserDefinedFieldType::generic_fieldtype, - _nc_xx_fld_makearg, - NULL, - NULL); - if (code==E_OK) - code = ::set_fieldtype_arg - (UserDefinedFieldType_With_Choice::generic_fieldtype_with_choice, - _nc_xx_fld_makearg, - NULL, - NULL); - if (code==E_OK) - code = ::set_fieldtype_choice - (UserDefinedFieldType_With_Choice::generic_fieldtype_with_choice, - _nc_xx_next_choice, - _nc_xx_prev_choice); - } -}; - -UDF_Init* UDF_Init::I = new UDF_Init(); diff --git a/src/libs/ncurses/c++/cursesf.h b/src/libs/ncurses/c++/cursesf.h deleted file mode 100644 index 70a30c370e..0000000000 --- a/src/libs/ncurses/c++/cursesf.h +++ /dev/null @@ -1,967 +0,0 @@ -// * This makes emacs happy -*-Mode: C++;-*- -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - ****************************************************************************/ - -// $Id: cursesf.h,v 1.28 2005/08/13 18:08:24 tom Exp $ - -#ifndef NCURSES_CURSESF_H_incl -#define NCURSES_CURSESF_H_incl 1 - -#include - -#ifndef __EXT_QNX -#include -#endif - -extern "C" { -# include -} -// -// ------------------------------------------------------------------------- -// The abstract base class for buitin and user defined Fieldtypes. -// ------------------------------------------------------------------------- -// -class NCURSES_IMPEXP NCursesFormField; // forward declaration - -// Class to represent builtin field types as well as C++ written new -// fieldtypes (see classes UserDefineFieldType... -class NCURSES_IMPEXP NCursesFieldType -{ - friend class NCursesFormField; - -protected: - FIELDTYPE* fieldtype; - - inline void OnError(int err) const THROWS(NCursesFormException) { - if (err!=E_OK) - THROW(new NCursesFormException (err)); - } - - NCursesFieldType(FIELDTYPE *f) : fieldtype(f) { - } - - virtual ~NCursesFieldType() {} - - // Set the fields f fieldtype to this one. - virtual void set(NCursesFormField& f) = 0; - -public: - NCursesFieldType() - : fieldtype(STATIC_CAST(FIELDTYPE*)(0)) - { - } - - NCursesFieldType& operator=(const NCursesFieldType& rhs) - { - if (this != &rhs) { - *this = rhs; - } - return *this; - } - - NCursesFieldType(const NCursesFieldType& rhs) - : fieldtype(rhs.fieldtype) - { - } - -}; - -// -// ------------------------------------------------------------------------- -// The class representing a forms field, wrapping the lowlevel FIELD struct -// ------------------------------------------------------------------------- -// -class NCURSES_IMPEXP NCursesFormField -{ - friend class NCursesForm; - -protected: - FIELD *field; // lowlevel structure - NCursesFieldType* ftype; // Associated field type - - // Error handler - inline void OnError (int err) const THROWS(NCursesFormException) { - if (err != E_OK) - THROW(new NCursesFormException (err)); - } - -public: - // Create a 'Null' field. Can be used to delimit a field list - NCursesFormField() - : field(STATIC_CAST(FIELD*)(0)), - ftype(STATIC_CAST(NCursesFieldType*)(0)) - { - } - - // Create a new field - NCursesFormField (int rows, - int ncols, - int first_row = 0, - int first_col = 0, - int offscreen_rows = 0, - int additional_buffers = 0) - : field(0), - ftype(STATIC_CAST(NCursesFieldType*)(0)) - { - field = ::new_field(rows, ncols, first_row, first_col, - offscreen_rows, additional_buffers); - if (!field) - OnError(errno); - } - - NCursesFormField& operator=(const NCursesFormField& rhs) - { - if (this != &rhs) { - *this = rhs; - } - return *this; - } - - NCursesFormField(const NCursesFormField& rhs) - : field(rhs.field), ftype(rhs.ftype) - { - } - - virtual ~NCursesFormField (); - - // Duplicate the field at a new position - inline NCursesFormField* dup(int first_row, int first_col) - { - NCursesFormField* f = new NCursesFormField(); - if (!f) - OnError(E_SYSTEM_ERROR); - else { - f->ftype = ftype; - f->field = ::dup_field(field,first_row,first_col); - if (!f->field) - OnError(errno); - } - return f; - } - - // Link the field to a new location - inline NCursesFormField* link(int first_row, int first_col) { - NCursesFormField* f = new NCursesFormField(); - if (!f) - OnError(E_SYSTEM_ERROR); - else { - f->ftype = ftype; - f->field = ::link_field(field,first_row,first_col); - if (!f->field) - OnError(errno); - } - return f; - } - - // Get the lowlevel field representation - inline FIELD* get_field() const { - return field; - } - - // Retrieve info about the field - inline void info(int& rows, int& ncols, - int& first_row, int& first_col, - int& offscreen_rows, int& additional_buffers) const { - OnError(::field_info(field, &rows, &ncols, - &first_row, &first_col, - &offscreen_rows, &additional_buffers)); - } - - // Retrieve info about the fields dynamic properties. - inline void dynamic_info(int& dynamic_rows, int& dynamic_cols, - int& max_growth) const { - OnError(::dynamic_field_info(field, &dynamic_rows, &dynamic_cols, - &max_growth)); - } - - // For a dynamic field you may set the maximum growth limit. - // A zero means unlimited growth. - inline void set_maximum_growth(int growth = 0) { - OnError(::set_max_field(field,growth)); - } - - // Move the field to a new position - inline void move(int row, int col) { - OnError(::move_field(field,row,col)); - } - - // Mark the field to start a new page - inline void new_page(bool pageFlag = FALSE) { - OnError(::set_new_page(field,pageFlag)); - } - - // Retrieve whether or not the field starts a new page. - inline bool is_new_page() const { - return ::new_page(field); - } - - // Set the justification for the field - inline void set_justification(int just) { - OnError(::set_field_just(field,just)); - } - - // Retrieve the fields justification - inline int justification() const { - return ::field_just(field); - } - // Set the foreground attribute for the field - inline void set_foreground(chtype foreground) { - OnError(::set_field_fore(field,foreground)); - } - - // Retrieve the fields foreground attribute - inline chtype fore() const { - return ::field_fore(field); - } - - // Set the background attribute for the field - inline void set_background(chtype background) { - OnError(::set_field_back(field,background)); - } - - // Retrieve the fields background attribute - inline chtype back() const { - return ::field_back(field); - } - - // Set the padding character for the field - inline void set_pad_character(int padding) { - OnError(::set_field_pad(field, padding)); - } - - // Retrieve the fields padding character - inline int pad() const { - return ::field_pad(field); - } - - // Switch on the fields options - inline void options_on (Field_Options opts) { - OnError (::field_opts_on (field, opts)); - } - - // Switch off the fields options - inline void options_off (Field_Options opts) { - OnError (::field_opts_off (field, opts)); - } - - // Retrieve the fields options - inline Field_Options options () const { - return ::field_opts (field); - } - - // Set the fields options - inline void set_options (Field_Options opts) { - OnError (::set_field_opts (field, opts)); - } - - // Mark the field as changed - inline void set_changed(bool changeFlag = TRUE) { - OnError(::set_field_status(field,changeFlag)); - } - - // Test whether or not the field is marked as changed - inline bool changed() const { - return ::field_status(field); - } - - // Return the index of the field in the field array of a form - // or -1 if the field is not associated to a form - inline int (index)() const { - return ::field_index(field); - } - - // Store a value in a fields buffer. The default buffer is nr. 0 - inline void set_value(const char *val, int buffer = 0) { - OnError(::set_field_buffer(field,buffer,val)); - } - - // Retrieve the value of a fields buffer. The default buffer is nr. 0 - inline char* value(int buffer = 0) const { - return ::field_buffer(field,buffer); - } - - // Set the validation type of the field. - inline void set_fieldtype(NCursesFieldType& f) { - ftype = &f; - f.set(*this); // A good friend may do that... - } - - // Retrieve the validation type of the field. - inline NCursesFieldType* fieldtype() const { - return ftype; - } - -}; - - // This are the built-in hook functions in this C++ binding. In C++ we use - // virtual member functions (see below On_..._Init and On_..._Termination) - // to provide this functionality in an object oriented manner. -extern "C" { - void _nc_xx_frm_init(FORM *); - void _nc_xx_frm_term(FORM *); - void _nc_xx_fld_init(FORM *); - void _nc_xx_fld_term(FORM *); -} - -// -// ------------------------------------------------------------------------- -// The class representing a form, wrapping the lowlevel FORM struct -// ------------------------------------------------------------------------- -// -class NCURSES_IMPEXP NCursesForm : public NCursesPanel -{ -protected: - FORM* form; // the lowlevel structure - -private: - NCursesWindow* sub; // the subwindow object - bool b_sub_owner; // is this our own subwindow? - bool b_framed; // has the form a border? - bool b_autoDelete; // Delete fields when deleting form? - - NCursesFormField** my_fields; // The array of fields for this form - - // This structure is used for the form's user data field to link the - // FORM* to the C++ object and to provide extra space for a user pointer. - typedef struct { - void* m_user; // the pointer for the user's data - const NCursesForm* m_back; // backward pointer to C++ object - const FORM* m_owner; - } UserHook; - - // Get the backward pointer to the C++ object from a FORM - static inline NCursesForm* getHook(const FORM *f) { - UserHook* hook = reinterpret_cast(::form_userptr(f)); - assert(hook != 0 && hook->m_owner==f); - return const_cast(hook->m_back); - } - - friend void _nc_xx_frm_init(FORM *); - friend void _nc_xx_frm_term(FORM *); - friend void _nc_xx_fld_init(FORM *); - friend void _nc_xx_fld_term(FORM *); - - // Calculate FIELD* array for the menu - FIELD** mapFields(NCursesFormField* nfields[]); - -protected: - // internal routines - inline void set_user(void *user) { - UserHook* uptr = reinterpret_cast(::form_userptr (form)); - assert (uptr != 0 && uptr->m_back==this && uptr->m_owner==form); - uptr->m_user = user; - } - - inline void *get_user() { - UserHook* uptr = reinterpret_cast(::form_userptr (form)); - assert (uptr != 0 && uptr->m_back==this && uptr->m_owner==form); - return uptr->m_user; - } - - void InitForm (NCursesFormField* Fields[], - bool with_frame, - bool autoDeleteFields); - - inline void OnError (int err) const THROWS(NCursesFormException) { - if (err != E_OK) - THROW(new NCursesFormException (err)); - } - - // this wraps the form_driver call. - virtual int driver (int c) ; - - // 'Internal' constructor, builds an object without association to a - // field array. - NCursesForm( int nlines, - int ncols, - int begin_y = 0, - int begin_x = 0) - : NCursesPanel(nlines, ncols, begin_y, begin_x), - form (STATIC_CAST(FORM*)(0)), - sub(0), - b_sub_owner(0), - b_framed(0), - b_autoDelete(0), - my_fields(0) - { - } - -public: - // Create form for the default panel. - NCursesForm (NCursesFormField* Fields[], - bool with_frame=FALSE, // reserve space for a frame? - bool autoDelete_Fields=FALSE) // do automatic cleanup? - : NCursesPanel(), - form(0), - sub(0), - b_sub_owner(0), - b_framed(0), - b_autoDelete(0), - my_fields(0) - { - InitForm(Fields, with_frame, autoDelete_Fields); - } - - // Create a form in a panel with the given position and size. - NCursesForm (NCursesFormField* Fields[], - int nlines, - int ncols, - int begin_y, - int begin_x, - bool with_frame=FALSE, // reserve space for a frame? - bool autoDelete_Fields=FALSE) // do automatic cleanup? - : NCursesPanel(nlines, ncols, begin_y, begin_x), - form(0), - sub(0), - b_sub_owner(0), - b_framed(0), - b_autoDelete(0), - my_fields(0) - { - InitForm(Fields, with_frame, autoDelete_Fields); - } - - NCursesForm& operator=(const NCursesForm& rhs) - { - if (this != &rhs) { - *this = rhs; - NCursesPanel::operator=(rhs); - } - return *this; - } - - NCursesForm(const NCursesForm& rhs) - : NCursesPanel(rhs), - form(rhs.form), - sub(rhs.sub), - b_sub_owner(rhs.b_sub_owner), - b_framed(rhs.b_framed), - b_autoDelete(rhs.b_autoDelete), - my_fields(rhs.my_fields) - { - } - - virtual ~NCursesForm(); - - // Set the default attributes for the form - virtual void setDefaultAttributes(); - - // Retrieve current field of the form. - inline NCursesFormField* current_field() const { - return my_fields[::field_index(::current_field(form))]; - } - - // Set the forms subwindow - void setSubWindow(NCursesWindow& sub); - - // Set these fields for the form - inline void setFields(NCursesFormField* Fields[]) { - OnError(::set_form_fields(form,mapFields(Fields))); - } - - // Remove the form from the screen - inline void unpost (void) { - OnError (::unpost_form (form)); - } - - // Post the form to the screen if flag is true, unpost it otherwise - inline void post(bool flag = TRUE) { - OnError (flag ? ::post_form(form) : ::unpost_form (form)); - } - - // Decorations - inline void frame(const char *title=NULL, const char* btitle=NULL) { - if (b_framed) - NCursesPanel::frame(title,btitle); - else - OnError(E_SYSTEM_ERROR); - } - - inline void boldframe(const char *title=NULL, const char* btitle=NULL) { - if (b_framed) - NCursesPanel::boldframe(title,btitle); - else - OnError(E_SYSTEM_ERROR); - } - - inline void label(const char *topLabel, const char *bottomLabel) { - if (b_framed) - NCursesPanel::label(topLabel,bottomLabel); - else - OnError(E_SYSTEM_ERROR); - } - - // ----- - // Hooks - // ----- - - // Called after the form gets repositioned in its window. - // This is especially true if the form is posted. - virtual void On_Form_Init(); - - // Called before the form gets repositioned in its window. - // This is especially true if the form is unposted. - virtual void On_Form_Termination(); - - // Called after the field became the current field - virtual void On_Field_Init(NCursesFormField& field); - - // Called before this field is left as current field. - virtual void On_Field_Termination(NCursesFormField& field); - - // Calculate required window size for the form. - void scale(int& rows, int& ncols) const { - OnError(::scale_form(form,&rows,&ncols)); - } - - // Retrieve number of fields in the form. - int count() const { - return ::field_count(form); - } - - // Make the page the current page of the form. - void set_page(int pageNum) { - OnError(::set_form_page(form, pageNum)); - } - - // Retrieve current page number - int page() const { - return ::form_page(form); - } - - // Switch on the forms options - inline void options_on (Form_Options opts) { - OnError (::form_opts_on (form, opts)); - } - - // Switch off the forms options - inline void options_off (Form_Options opts) { - OnError (::form_opts_off (form, opts)); - } - - // Retrieve the forms options - inline Form_Options options () const { - return ::form_opts (form); - } - - // Set the forms options - inline void set_options (Form_Options opts) { - OnError (::set_form_opts (form, opts)); - } - - // Are there more data in the current field after the data shown - inline bool data_ahead() const { - return ::data_ahead(form); - } - - // Are there more data in the current field before the data shown - inline bool data_behind() const { - return ::data_behind(form); - } - - // Position the cursor to the current field - inline void position_cursor () { - OnError (::pos_form_cursor (form)); - } - // Set the current field - inline void set_current(NCursesFormField& F) { - OnError (::set_current_field(form, F.field)); - } - - // Provide a default key virtualization. Translate the keyboard - // code c into a form request code. - // The default implementation provides a hopefully straightforward - // mapping for the most common keystrokes and form requests. - virtual int virtualize(int c); - - // Operators - inline NCursesFormField* operator[](int i) const { - if ( (i < 0) || (i >= ::field_count (form)) ) - OnError (E_BAD_ARGUMENT); - return my_fields[i]; - } - - // Perform the menu's operation - // Return the field where you left the form. - virtual NCursesFormField* operator()(void); - - // Exception handlers. The default is a Beep. - virtual void On_Request_Denied(int c) const; - virtual void On_Invalid_Field(int c) const; - virtual void On_Unknown_Command(int c) const; - -}; - -// -// ------------------------------------------------------------------------- -// This is the typical C++ typesafe way to allow to attach -// user data to a field of a form. Its assumed that the user -// data belongs to some class T. Use T as template argument -// to create a UserField. -// ------------------------------------------------------------------------- -template class NCURSES_IMPEXP NCursesUserField : public NCursesFormField -{ -public: - NCursesUserField (int rows, - int ncols, - int first_row = 0, - int first_col = 0, - const T* p_UserData = STATIC_CAST(T*)(0), - int offscreen_rows = 0, - int additional_buffers = 0) - : NCursesFormField (rows, ncols, - first_row, first_col, - offscreen_rows, additional_buffers) { - if (field) - OnError(::set_field_userptr(field, STATIC_CAST(void *)(p_UserData))); - } - - virtual ~NCursesUserField() {}; - - inline const T* UserData (void) const { - return reinterpret_cast(::field_userptr (field)); - } - - inline virtual void setUserData(const T* p_UserData) { - if (field) - OnError (::set_field_userptr (field, STATIC_CAST(void *)(p_UserData))); - } -}; -// -// ------------------------------------------------------------------------- -// The same mechanism is used to attach user data to a form -// ------------------------------------------------------------------------- -// -template class NCURSES_IMPEXP NCursesUserForm : public NCursesForm -{ -protected: - // 'Internal' constructor, builds an object without association to a - // field array. - NCursesUserForm( int nlines, - int ncols, - int begin_y = 0, - int begin_x = 0, - const T* p_UserData = STATIC_CAST(T*)(0)) - : NCursesForm(nlines,ncols,begin_y,begin_x) { - if (form) - set_user (const_cast(p_UserData)); - } - -public: - NCursesUserForm (NCursesFormField Fields[], - const T* p_UserData = STATIC_CAST(T*)(0), - bool with_frame=FALSE, - bool autoDelete_Fields=FALSE) - : NCursesForm (Fields, with_frame, autoDelete_Fields) { - if (form) - set_user (const_cast(p_UserData)); - }; - - NCursesUserForm (NCursesFormField Fields[], - int nlines, - int ncols, - int begin_y = 0, - int begin_x = 0, - const T* p_UserData = STATIC_CAST(T*)(0), - bool with_frame=FALSE, - bool autoDelete_Fields=FALSE) - : NCursesForm (Fields, nlines, ncols, begin_y, begin_x, - with_frame, autoDelete_Fields) { - if (form) - set_user (const_cast(p_UserData)); - }; - - virtual ~NCursesUserForm() { - }; - - inline T* UserData (void) const { - return reinterpret_cast(get_user ()); - }; - - inline virtual void setUserData (const T* p_UserData) { - if (form) - set_user (const_cast(p_UserData)); - } - -}; -// -// ------------------------------------------------------------------------- -// Builtin Fieldtypes -// ------------------------------------------------------------------------- -// -class NCURSES_IMPEXP Alpha_Field : public NCursesFieldType -{ -private: - int min_field_width; - - void set(NCursesFormField& f) { - OnError(::set_field_type(f.get_field(),fieldtype,min_field_width)); - } - -public: - Alpha_Field(int width) - : NCursesFieldType(TYPE_ALPHA), - min_field_width(width) { - } -}; - -class NCURSES_IMPEXP Alphanumeric_Field : public NCursesFieldType -{ -private: - int min_field_width; - - void set(NCursesFormField& f) { - OnError(::set_field_type(f.get_field(),fieldtype,min_field_width)); - } - -public: - Alphanumeric_Field(int width) - : NCursesFieldType(TYPE_ALNUM), - min_field_width(width) { - } -}; - -class NCURSES_IMPEXP Integer_Field : public NCursesFieldType -{ -private: - int precision; - long lower_limit, upper_limit; - - void set(NCursesFormField& f) { - OnError(::set_field_type(f.get_field(),fieldtype, - precision,lower_limit,upper_limit)); - } - -public: - Integer_Field(int prec, long low=0L, long high=0L) - : NCursesFieldType(TYPE_INTEGER), - precision(prec), lower_limit(low), upper_limit(high) { - } -}; - -class NCURSES_IMPEXP Numeric_Field : public NCursesFieldType -{ -private: - int precision; - double lower_limit, upper_limit; - - void set(NCursesFormField& f) { - OnError(::set_field_type(f.get_field(),fieldtype, - precision,lower_limit,upper_limit)); - } - -public: - Numeric_Field(int prec, double low=0.0, double high=0.0) - : NCursesFieldType(TYPE_NUMERIC), - precision(prec), lower_limit(low), upper_limit(high) { - } -}; - -class NCURSES_IMPEXP Regular_Expression_Field : public NCursesFieldType -{ -private: - char* regex; - - void set(NCursesFormField& f) { - OnError(::set_field_type(f.get_field(),fieldtype,regex)); - } - - void copy_regex(const char *source) - { - regex = new char[1 + ::strlen(source)]; - (::strcpy)(regex, source); - } - -public: - Regular_Expression_Field(const char *expr) - : NCursesFieldType(TYPE_REGEXP), - regex(NULL) - { - copy_regex(expr); - } - - Regular_Expression_Field& operator=(const Regular_Expression_Field& rhs) - { - if (this != &rhs) { - *this = rhs; - copy_regex(rhs.regex); - NCursesFieldType::operator=(rhs); - } - return *this; - } - - Regular_Expression_Field(const Regular_Expression_Field& rhs) - : NCursesFieldType(rhs), - regex(NULL) - { - copy_regex(rhs.regex); - } - - ~Regular_Expression_Field() { - delete[] regex; - } -}; - -class NCURSES_IMPEXP Enumeration_Field : public NCursesFieldType -{ -private: - const char** list; - int case_sensitive; - int non_unique_matches; - - void set(NCursesFormField& f) { - OnError(::set_field_type(f.get_field(),fieldtype, - list,case_sensitive,non_unique_matches)); - } -public: - Enumeration_Field(const char* enums[], - bool case_sens=FALSE, - bool non_unique=FALSE) - : NCursesFieldType(TYPE_ENUM), - list(enums), - case_sensitive(case_sens ? -1 : 0), - non_unique_matches(non_unique ? -1 : 0) { - } - - Enumeration_Field& operator=(const Enumeration_Field& rhs) - { - if (this != &rhs) { - *this = rhs; - NCursesFieldType::operator=(rhs); - } - return *this; - } - - Enumeration_Field(const Enumeration_Field& rhs) - : NCursesFieldType(rhs), - list(rhs.list), - case_sensitive(rhs.case_sensitive), - non_unique_matches(rhs.non_unique_matches) - { - } -}; - -class NCURSES_IMPEXP IPV4_Address_Field : public NCursesFieldType -{ -private: - void set(NCursesFormField& f) { - OnError(::set_field_type(f.get_field(),fieldtype)); - } - -public: - IPV4_Address_Field() : NCursesFieldType(TYPE_IPV4) { - } -}; - -extern "C" { - bool _nc_xx_fld_fcheck(FIELD *, const void*); - bool _nc_xx_fld_ccheck(int c, const void *); - void* _nc_xx_fld_makearg(va_list*); -} - -// -// ------------------------------------------------------------------------- -// Abstract base class for User-Defined Fieldtypes -// ------------------------------------------------------------------------- -// -class NCURSES_IMPEXP UserDefinedFieldType : public NCursesFieldType -{ - friend class UDF_Init; // Internal helper to set up statics -private: - // For all C++ defined fieldtypes we need only one generic lowlevel - // FIELDTYPE* element. - static FIELDTYPE* generic_fieldtype; - -protected: - // This are the functions required by the low level libforms functions - // to construct a fieldtype. - friend bool _nc_xx_fld_fcheck(FIELD *, const void*); - friend bool _nc_xx_fld_ccheck(int c, const void *); - friend void* _nc_xx_fld_makearg(va_list*); - - void set(NCursesFormField& f) { - OnError(::set_field_type(f.get_field(),fieldtype,&f)); - } - -protected: - // Redefine this function to do a field validation. The argument - // is a reference to the field you should validate. - virtual bool field_check(NCursesFormField& f) = 0; - - // Redefine this function to do a character validation. The argument - // is the character to be validated. - virtual bool char_check (int c) = 0; - -public: - UserDefinedFieldType() : NCursesFieldType(generic_fieldtype) { - } -}; - -extern "C" { - bool _nc_xx_next_choice(FIELD*, const void *); - bool _nc_xx_prev_choice(FIELD*, const void *); -} - -// -// ------------------------------------------------------------------------- -// Abstract base class for User-Defined Fieldtypes with Choice functions -// ------------------------------------------------------------------------- -// -class NCURSES_IMPEXP UserDefinedFieldType_With_Choice : public UserDefinedFieldType -{ - friend class UDF_Init; // Internal helper to set up statics -private: - // For all C++ defined fieldtypes with choice functions we need only one - // generic lowlevel FIELDTYPE* element. - static FIELDTYPE* generic_fieldtype_with_choice; - - // This are the functions required by the low level libforms functions - // to construct a fieldtype with choice functions. - friend bool _nc_xx_next_choice(FIELD*, const void *); - friend bool _nc_xx_prev_choice(FIELD*, const void *); - -protected: - // Redefine this function to do the retrieval of the next choice value. - // The argument is a reference to the field tobe examined. - virtual bool next (NCursesFormField& f) = 0; - - // Redefine this function to do the retrieval of the previous choice value. - // The argument is a reference to the field tobe examined. - virtual bool previous(NCursesFormField& f) = 0; - -public: - UserDefinedFieldType_With_Choice() { - fieldtype = generic_fieldtype_with_choice; - } -}; - -#endif /* NCURSES_CURSESF_H_incl */ diff --git a/src/libs/ncurses/c++/cursesm.cc b/src/libs/ncurses/c++/cursesm.cc deleted file mode 100644 index c253a67999..0000000000 --- a/src/libs/ncurses/c++/cursesm.cc +++ /dev/null @@ -1,407 +0,0 @@ -// * this is for making emacs happy: -*-Mode: C++;-*- -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - ****************************************************************************/ - -#include "internal.h" -#include "cursesm.h" -#include "cursesapp.h" - -MODULE_ID("$Id: cursesm.cc,v 1.22 2005/04/02 20:39:05 tom Exp $") - -NCursesMenuItem::~NCursesMenuItem() -{ - if (item) - OnError(::free_item(item)); -} - -bool -NCursesMenuItem::action() -{ - return FALSE; -} - -NCursesMenuCallbackItem::~NCursesMenuCallbackItem() -{ -} - -bool -NCursesMenuCallbackItem::action() -{ - if (p_fct) - return p_fct (*this); - else - return FALSE; -} - -/* Internal hook functions. They will route the hook - * calls to virtual methods of the NCursesMenu class, - * so in C++ providing a hook is done simply by - * implementing a virtual method in a derived class - */ -void -_nc_xx_mnu_init(MENU *m) -{ - NCursesMenu::getHook(m)->On_Menu_Init(); -} - -void -_nc_xx_mnu_term(MENU *m) -{ - NCursesMenu::getHook(m)->On_Menu_Termination(); -} - -void -_nc_xx_itm_init(MENU *m) -{ - NCursesMenu* M = NCursesMenu::getHook(m); - M->On_Item_Init (*(M->current_item ())); -} - -void -_nc_xx_itm_term(MENU *m) -{ - NCursesMenu* M = NCursesMenu::getHook(m); - M->On_Item_Termination (*(M->current_item ())); -} - -/* Construct an ITEM* array from an array of NCursesMenuItem - * objects. - */ -ITEM** -NCursesMenu::mapItems(NCursesMenuItem* nitems[]) -{ - int itemCount = 0,lcv; - - for (lcv=0; nitems[lcv]->item; ++lcv) - ++itemCount; - - ITEM** itemArray = new ITEM*[itemCount + 1]; - - for (lcv=0;nitems[lcv]->item;++lcv) { - itemArray[lcv] = nitems[lcv]->item; - } - itemArray[lcv] = NULL; - - my_items = nitems; - - if (menu) - delete[] ::menu_items(menu); - return itemArray; -} - -void -NCursesMenu::InitMenu(NCursesMenuItem* nitems[], - bool with_frame, - bool autoDelete_Items) -{ - int mrows, mcols; - - keypad(TRUE); - meta(TRUE); - - b_framed = with_frame; - b_autoDelete = autoDelete_Items; - - menu = static_cast(0); - menu = ::new_menu(mapItems(nitems)); - if (!menu) - OnError (E_SYSTEM_ERROR); - - UserHook* hook = new UserHook; - hook->m_user = NULL; - hook->m_back = this; - hook->m_owner = menu; - ::set_menu_userptr(menu, static_cast(hook)); - - ::set_menu_init (menu, _nc_xx_mnu_init); - ::set_menu_term (menu, _nc_xx_mnu_term); - ::set_item_init (menu, _nc_xx_itm_init); - ::set_item_term (menu, _nc_xx_itm_term); - - scale(mrows, mcols); - ::set_menu_win(menu, w); - - if (with_frame) { - if ((mrows > height()-2) || (mcols > width()-2)) - OnError(E_NO_ROOM); - sub = new NCursesWindow(*this,mrows,mcols,1,1,'r'); - ::set_menu_sub(menu, sub->w); - b_sub_owner = TRUE; - } - else { - sub = static_cast(0); - b_sub_owner = FALSE; - } - setDefaultAttributes(); -} - -void -NCursesMenu::setDefaultAttributes() -{ - NCursesApplication* S = NCursesApplication::getApplication(); - if (S) { - ::set_menu_fore(menu, S->foregrounds()); - ::set_menu_back(menu, S->backgrounds()); - ::set_menu_grey(menu, S->inactives()); - } -} - -NCursesMenu::~NCursesMenu() -{ - UserHook* hook = reinterpret_cast(::menu_userptr(menu)); - delete hook; - if (b_sub_owner) { - delete sub; - ::set_menu_sub(menu, static_cast(0)); - } - if (menu) { - ITEM** itms = ::menu_items(menu); - int cnt = count(); - - OnError(::set_menu_items(menu, static_cast(0))); - - if (b_autoDelete) { - if (cnt>0) { - for (int i=0; i <= cnt; i++) - delete my_items[i]; - } - delete[] my_items; - } - - ::free_menu(menu); - // It's essential to do this after free_menu() - delete[] itms; - } -} - -void -NCursesMenu::setSubWindow(NCursesWindow& nsub) -{ - if (!isDescendant(nsub)) - OnError(E_SYSTEM_ERROR); - else { - if (b_sub_owner) - delete sub; - sub = ⊄ - ::set_menu_sub(menu,sub->w); - } -} - -bool -NCursesMenu::set_pattern (const char *pat) -{ - int res = ::set_menu_pattern (menu, pat); - switch(res) { - case E_OK: - break; - case E_NO_MATCH: - return FALSE; - default: - OnError (res); - } - return TRUE; -} - -// call the menu driver and do basic error checking. -int -NCursesMenu::driver (int c) -{ - int res = ::menu_driver (menu, c); - switch (res) { - case E_OK: - case E_REQUEST_DENIED: - case E_NOT_SELECTABLE: - case E_UNKNOWN_COMMAND: - case E_NO_MATCH: - break; - default: - OnError (res); - } - return (res); -} - -static const int CMD_QUIT = MAX_COMMAND + 1; -static const int CMD_ACTION = MAX_COMMAND + 2; -// -// ------------------------------------------------------------------------- -// Provide a default key virtualization. Translate the keyboard -// code c into a menu request code. -// The default implementation provides a hopefully straightforward -// mapping for the most common keystrokes and menu requests. -// ------------------------------------------------------------------------- -int -NCursesMenu::virtualize(int c) -{ - switch(c) { - case CTRL('X') : return(CMD_QUIT); // eXit - - case KEY_DOWN : return(REQ_DOWN_ITEM); - case CTRL('N') : return(REQ_NEXT_ITEM); // Next - case KEY_UP : return(REQ_UP_ITEM); - case CTRL('P') : return(REQ_PREV_ITEM); // Previous - - case CTRL('U') : return(REQ_SCR_ULINE); // Up - case CTRL('D') : return(REQ_SCR_DLINE); // Down - case CTRL('F') : return(REQ_SCR_DPAGE); // Forward - case CTRL('B') : return(REQ_SCR_UPAGE); // Backward - - case CTRL('Y') : return(REQ_CLEAR_PATTERN); - case CTRL('H') : return(REQ_BACK_PATTERN); - case CTRL('A') : return(REQ_NEXT_MATCH); - case CTRL('E') : return(REQ_PREV_MATCH); - case CTRL('T') : return(REQ_TOGGLE_ITEM); - - case CTRL('J') : - case CTRL('M') : return(CMD_ACTION); - - case KEY_HOME : return(REQ_FIRST_ITEM); - case KEY_LEFT : return(REQ_LEFT_ITEM); - case KEY_RIGHT : return(REQ_RIGHT_ITEM); - case KEY_END : return(REQ_LAST_ITEM); - case KEY_BACKSPACE : return(REQ_BACK_PATTERN); - case KEY_NPAGE : return(REQ_SCR_DPAGE); - case KEY_PPAGE : return(REQ_SCR_UPAGE); - - default: - return(c); - } -} - -NCursesMenuItem* -NCursesMenu::operator()(void) -{ - int drvCmnd; - int err; - int c; - bool b_action = FALSE; - - post(); - show(); - refresh(); - - while (!b_action && ((drvCmnd = virtualize((c=getKey()))) != CMD_QUIT)) { - - switch((err=driver(drvCmnd))) { - case E_REQUEST_DENIED: - On_Request_Denied(c); - break; - case E_NOT_SELECTABLE: - On_Not_Selectable(c); - break; - case E_UNKNOWN_COMMAND: - if (drvCmnd == CMD_ACTION) { - if (options() & O_ONEVALUE) { - NCursesMenuItem* itm = current_item(); - assert(itm != 0); - if (itm->options() & O_SELECTABLE) - { - b_action = itm->action(); - refresh(); - } - else - On_Not_Selectable(c); - } - else { - int n = count(); - for(int i=0; ivalue()) { - b_action |= itm->action(); - refresh(); - } - } - } - } else - On_Unknown_Command(c); - break; - case E_NO_MATCH: - On_No_Match(c); - break; - case E_OK: - break; - default: - OnError(err); - } - } - - unpost(); - hide(); - refresh(); - if (options() & O_ONEVALUE) - return my_items[::item_index (::current_item (menu))]; - else - return NULL; -} - -void -NCursesMenu::On_Menu_Init() -{ -} - -void -NCursesMenu::On_Menu_Termination() -{ -} - -void -NCursesMenu::On_Item_Init(NCursesMenuItem& item) -{ -} - -void -NCursesMenu::On_Item_Termination(NCursesMenuItem& item) -{ -} - -void -NCursesMenu::On_Request_Denied(int c) const -{ - ::beep(); -} - -void -NCursesMenu::On_Not_Selectable(int c) const -{ - ::beep(); -} - -void -NCursesMenu::On_No_Match(int c) const -{ - ::beep(); -} - -void -NCursesMenu::On_Unknown_Command(int c) const -{ - ::beep(); -} diff --git a/src/libs/ncurses/c++/cursesm.h b/src/libs/ncurses/c++/cursesm.h deleted file mode 100644 index d9c2273e6f..0000000000 --- a/src/libs/ncurses/c++/cursesm.h +++ /dev/null @@ -1,672 +0,0 @@ -// * This makes emacs happy -*-Mode: C++;-*- -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - ****************************************************************************/ - -// $Id: cursesm.h,v 1.25 2005/08/13 18:10:36 tom Exp $ - -#ifndef NCURSES_CURSESM_H_incl -#define NCURSES_CURSESM_H_incl 1 - -#include - -extern "C" { -# include -} -// -// ------------------------------------------------------------------------- -// This wraps the ITEM type of -// ------------------------------------------------------------------------- -// -class NCURSES_IMPEXP NCursesMenuItem -{ - friend class NCursesMenu; - -protected: - ITEM *item; - - inline void OnError (int err) const THROWS(NCursesMenuException) { - if (err != E_OK) - THROW(new NCursesMenuException (err)); - } - -public: - NCursesMenuItem (const char* p_name = NULL, - const char* p_descript = NULL) - : item(0) - { - item = p_name ? ::new_item (p_name, p_descript) : STATIC_CAST(ITEM*)(0); - if (p_name && !item) - OnError (E_SYSTEM_ERROR); - } - // Create an item. If you pass both parameters as NULL, a delimiting - // item is constructed which can be used to terminate a list of - // NCursesMenu objects. - - NCursesMenuItem& operator=(const NCursesMenuItem& rhs) - { - if (this != &rhs) { - *this = rhs; - } - return *this; - } - - NCursesMenuItem(const NCursesMenuItem& rhs) - : item(0) - { - } - - virtual ~NCursesMenuItem (); - // Release the items memory - - inline const char* name () const { - return ::item_name (item); - } - // Name of the item - - inline const char* description () const { - return ::item_description (item); - } - // Description of the item - - inline int (index) (void) const { - return ::item_index (item); - } - // Index of the item in an item array (or -1) - - inline void options_on (Item_Options opts) { - OnError (::item_opts_on (item, opts)); - } - // Switch on the items options - - inline void options_off (Item_Options opts) { - OnError (::item_opts_off (item, opts)); - } - // Switch off the item's option - - inline Item_Options options () const { - return ::item_opts (item); - } - // Retrieve the items options - - inline void set_options (Item_Options opts) { - OnError (::set_item_opts (item, opts)); - } - // Set the items options - - inline void set_value (bool f) { - OnError (::set_item_value (item,f)); - } - // Set/Reset the items selection state - - inline bool value () const { - return ::item_value (item); - } - // Retrieve the items selection state - - inline bool visible () const { - return ::item_visible (item); - } - // Retrieve visibility of the item - - virtual bool action(); - // Perform an action associated with this item; you may use this in an - // user supplied driver for a menu; you may derive from this class and - // overload action() to supply items with different actions. - // If an action returns true, the menu will be exited. The default action - // is to do nothing. -}; - -// Prototype for an items callback function. -typedef bool ITEMCALLBACK(NCursesMenuItem&); - -// If you don't like to create a child class for individual items to -// overload action(), you may use this class and provide a callback -// function pointer for items. -class NCURSES_IMPEXP NCursesMenuCallbackItem : public NCursesMenuItem -{ -private: - ITEMCALLBACK* p_fct; - -public: - NCursesMenuCallbackItem(ITEMCALLBACK* fct = NULL, - const char* p_name = NULL, - const char* p_descript = NULL ) - : NCursesMenuItem (p_name, p_descript), - p_fct (fct) { - } - - NCursesMenuCallbackItem& operator=(const NCursesMenuCallbackItem& rhs) - { - if (this != &rhs) { - *this = rhs; - } - return *this; - } - - NCursesMenuCallbackItem(const NCursesMenuCallbackItem& rhs) - : NCursesMenuItem(rhs), - p_fct(0) - { - } - - virtual ~NCursesMenuCallbackItem(); - - bool action(); -}; - - // This are the built-in hook functions in this C++ binding. In C++ we use - // virtual member functions (see below On_..._Init and On_..._Termination) - // to provide this functionality in an object oriented manner. -extern "C" { - void _nc_xx_mnu_init(MENU *); - void _nc_xx_mnu_term(MENU *); - void _nc_xx_itm_init(MENU *); - void _nc_xx_itm_term(MENU *); -} - -// -// ------------------------------------------------------------------------- -// This wraps the MENU type of -// ------------------------------------------------------------------------- -// -class NCURSES_IMPEXP NCursesMenu : public NCursesPanel -{ -protected: - MENU *menu; - -private: - NCursesWindow* sub; // the subwindow object - bool b_sub_owner; // is this our own subwindow? - bool b_framed; // has the menu a border? - bool b_autoDelete; // Delete items when deleting menu? - - NCursesMenuItem** my_items; // The array of items for this menu - - // This structure is used for the menu's user data field to link the - // MENU* to the C++ object and to provide extra space for a user pointer. - typedef struct { - void* m_user; // the pointer for the user's data - const NCursesMenu* m_back; // backward pointer to C++ object - const MENU* m_owner; - } UserHook; - - // Get the backward pointer to the C++ object from a MENU - static inline NCursesMenu* getHook(const MENU *m) { - UserHook* hook = STATIC_CAST(UserHook*)(::menu_userptr(m)); - assert(hook != 0 && hook->m_owner==m); - return const_cast(hook->m_back); - } - - friend void _nc_xx_mnu_init(MENU *); - friend void _nc_xx_mnu_term(MENU *); - friend void _nc_xx_itm_init(MENU *); - friend void _nc_xx_itm_term(MENU *); - - // Calculate ITEM* array for the menu - ITEM** mapItems(NCursesMenuItem* nitems[]); - -protected: - // internal routines - inline void set_user(void *user) { - UserHook* uptr = STATIC_CAST(UserHook*)(::menu_userptr (menu)); - assert (uptr != 0 && uptr->m_back==this && uptr->m_owner==menu); - uptr->m_user = user; - } - - inline void *get_user() { - UserHook* uptr = STATIC_CAST(UserHook*)(::menu_userptr (menu)); - assert (uptr != 0 && uptr->m_back==this && uptr->m_owner==menu); - return uptr->m_user; - } - - void InitMenu (NCursesMenuItem* menu[], - bool with_frame, - bool autoDeleteItems); - - inline void OnError (int err) const THROWS(NCursesMenuException) { - if (err != E_OK) - THROW(new NCursesMenuException (this, err)); - } - - // this wraps the menu_driver call. - virtual int driver (int c) ; - - // 'Internal' constructor to create a menu without association to - // an array of items. - NCursesMenu( int nlines, - int ncols, - int begin_y = 0, - int begin_x = 0) - : NCursesPanel(nlines,ncols,begin_y,begin_x), - menu (STATIC_CAST(MENU*)(0)), - sub(0), - b_sub_owner(0), - b_framed(0), - b_autoDelete(0), - my_items(0) - { - } - -public: - // Make a full window size menu - NCursesMenu (NCursesMenuItem* Items[], - bool with_frame=FALSE, // Reserve space for a frame? - bool autoDelete_Items=FALSE) // Autocleanup of Items? - : NCursesPanel(), - menu(0), - sub(0), - b_sub_owner(0), - b_framed(0), - b_autoDelete(0), - my_items(0) - { - InitMenu(Items, with_frame, autoDelete_Items); - } - - // Make a menu with a window of this size. - NCursesMenu (NCursesMenuItem* Items[], - int nlines, - int ncols, - int begin_y = 0, - int begin_x = 0, - bool with_frame=FALSE, // Reserve space for a frame? - bool autoDelete_Items=FALSE) // Autocleanup of Items? - : NCursesPanel(nlines, ncols, begin_y, begin_x), - menu(0), - sub(0), - b_sub_owner(0), - b_framed(0), - b_autoDelete(0), - my_items(0) - { - InitMenu(Items, with_frame, autoDelete_Items); - } - - NCursesMenu& operator=(const NCursesMenu& rhs) - { - if (this != &rhs) { - *this = rhs; - NCursesPanel::operator=(rhs); - } - return *this; - } - - NCursesMenu(const NCursesMenu& rhs) - : NCursesPanel(rhs), - menu(rhs.menu), - sub(rhs.sub), - b_sub_owner(rhs.b_sub_owner), - b_framed(rhs.b_framed), - b_autoDelete(rhs.b_autoDelete), - my_items(rhs.my_items) - { - } - - virtual ~NCursesMenu (); - - // Retrieve the menus subwindow - inline NCursesWindow& subWindow() const { - assert(sub!=NULL); - return *sub; - } - - // Set the menus subwindow - void setSubWindow(NCursesWindow& sub); - - // Set these items for the menu - inline void setItems(NCursesMenuItem* Items[]) { - OnError(::set_menu_items(menu,mapItems(Items))); - } - - // Remove the menu from the screen - inline void unpost (void) { - OnError (::unpost_menu (menu)); - } - - // Post the menu to the screen if flag is true, unpost it otherwise - inline void post(bool flag = TRUE) { - flag ? OnError (::post_menu(menu)) : OnError (::unpost_menu (menu)); - } - - // Get the numer of rows and columns for this menu - inline void scale (int& mrows, int& mcols) const { - OnError (::scale_menu (menu, &mrows, &mcols)); - } - - // Set the format of this menu - inline void set_format(int mrows, int mcols) { - OnError (::set_menu_format(menu, mrows, mcols)); - } - - // Get the format of this menu - inline void menu_format(int& rows,int& ncols) { - ::menu_format(menu,&rows,&ncols); - } - - // Items of the menu - inline NCursesMenuItem* items() const { - return *my_items; - } - - // Get the number of items in this menu - inline int count() const { - return ::item_count(menu); - } - - // Get the current item (i.e. the one the cursor is located) - inline NCursesMenuItem* current_item() const { - return my_items[::item_index(::current_item(menu))]; - } - - // Get the marker string - inline const char* mark() const { - return ::menu_mark(menu); - } - - // Set the marker string - inline void set_mark(const char *marker) { - OnError (::set_menu_mark (menu, marker)); - } - - // Get the name of the request code c - inline static const char* request_name(int c) { - return ::menu_request_name(c); - } - - // Get the current pattern - inline char* pattern() const { - return ::menu_pattern(menu); - } - - // true if there is a pattern match, false otherwise. - bool set_pattern (const char *pat); - - // set the default attributes for the menu - // i.e. set fore, back and grey attribute - virtual void setDefaultAttributes(); - - // Get the menus background attributes - inline chtype back() const { - return ::menu_back(menu); - } - - // Get the menus foreground attributes - inline chtype fore() const { - return ::menu_fore(menu); - } - - // Get the menus grey attributes (used for unselectable items) - inline chtype grey() const { - return ::menu_grey(menu); - } - - // Set the menus background attributes - inline chtype set_background(chtype a) { - return ::set_menu_back(menu,a); - } - - // Set the menus foreground attributes - inline chtype set_foreground(chtype a) { - return ::set_menu_fore(menu,a); - } - - // Set the menus grey attributes (used for unselectable items) - inline chtype set_grey(chtype a) { - return ::set_menu_grey(menu,a); - } - - inline void options_on (Menu_Options opts) { - OnError (::menu_opts_on (menu,opts)); - } - - inline void options_off(Menu_Options opts) { - OnError (::menu_opts_off(menu,opts)); - } - - inline Menu_Options options() const { - return ::menu_opts(menu); - } - - inline void set_options (Menu_Options opts) { - OnError (::set_menu_opts (menu,opts)); - } - - inline int pad() const { - return ::menu_pad(menu); - } - - inline void set_pad (int padch) { - OnError (::set_menu_pad (menu, padch)); - } - - // Position the cursor to the current item - inline void position_cursor () const { - OnError (::pos_menu_cursor (menu)); - } - - // Set the current item - inline void set_current(NCursesMenuItem& I) { - OnError (::set_current_item(menu, I.item)); - } - - // Get the current top row of the menu - inline int top_row (void) const { - return ::top_row (menu); - } - - // Set the current top row of the menu - inline void set_top_row (int row) { - OnError (::set_top_row (menu, row)); - } - - // spacing control - // Set the spacing for the menu - inline void setSpacing(int spc_description, - int spc_rows, - int spc_columns) { - OnError(::set_menu_spacing(menu, - spc_description, - spc_rows, - spc_columns)); - } - - // Get the spacing info for the menu - inline void Spacing(int& spc_description, - int& spc_rows, - int& spc_columns) const { - OnError(::menu_spacing(menu, - &spc_description, - &spc_rows, - &spc_columns)); - } - - // Decorations - inline void frame(const char *title=NULL, const char* btitle=NULL) { - if (b_framed) - NCursesPanel::frame(title,btitle); - else - OnError(E_SYSTEM_ERROR); - } - - inline void boldframe(const char *title=NULL, const char* btitle=NULL) { - if (b_framed) - NCursesPanel::boldframe(title,btitle); - else - OnError(E_SYSTEM_ERROR); - } - - inline void label(const char *topLabel, const char *bottomLabel) { - if (b_framed) - NCursesPanel::label(topLabel,bottomLabel); - else - OnError(E_SYSTEM_ERROR); - } - - // ----- - // Hooks - // ----- - - // Called after the menu gets repositioned in its window. - // This is especially true if the menu is posted. - virtual void On_Menu_Init(); - - // Called before the menu gets repositioned in its window. - // This is especially true if the menu is unposted. - virtual void On_Menu_Termination(); - - // Called after the item became the current item - virtual void On_Item_Init(NCursesMenuItem& item); - - // Called before this item is left as current item. - virtual void On_Item_Termination(NCursesMenuItem& item); - - // Provide a default key virtualization. Translate the keyboard - // code c into a menu request code. - // The default implementation provides a hopefully straightforward - // mapping for the most common keystrokes and menu requests. - virtual int virtualize(int c); - - - // Operators - inline NCursesMenuItem* operator[](int i) const { - if ( (i < 0) || (i >= ::item_count (menu)) ) - OnError (E_BAD_ARGUMENT); - return (my_items[i]); - } - - // Perform the menu's operation - // Return the item where you left the selection mark for a single - // selection menu, or NULL for a multivalued menu. - virtual NCursesMenuItem* operator()(void); - - // -------------------- - // Exception handlers - // Called by operator() - // -------------------- - - // Called if the request is denied - virtual void On_Request_Denied(int c) const; - - // Called if the item is not selectable - virtual void On_Not_Selectable(int c) const; - - // Called if pattern doesn't match - virtual void On_No_Match(int c) const; - - // Called if the command is unknown - virtual void On_Unknown_Command(int c) const; - -}; -// -// ------------------------------------------------------------------------- -// This is the typical C++ typesafe way to allow to attach -// user data to an item of a menu. Its assumed that the user -// data belongs to some class T. Use T as template argument -// to create a UserItem. -// ------------------------------------------------------------------------- -// -template class NCURSES_IMPEXP NCursesUserItem : public NCursesMenuItem -{ -public: - NCursesUserItem (const char* p_name, - const char* p_descript = NULL, - const T* p_UserData = STATIC_CAST(T*)(0)) - : NCursesMenuItem (p_name, p_descript) { - if (item) - OnError (::set_item_userptr (item, const_cast(reinterpret_cast(p_UserData)))); - } - - virtual ~NCursesUserItem() {} - - inline const T* UserData (void) const { - return reinterpret_cast(::item_userptr (item)); - }; - - inline virtual void setUserData(const T* p_UserData) { - if (item) - OnError (::set_item_userptr (item, const_cast(reinterpret_cast(p_UserData)))); - } -}; -// -// ------------------------------------------------------------------------- -// The same mechanism is used to attach user data to a menu -// ------------------------------------------------------------------------- -// -template class NCURSES_IMPEXP NCursesUserMenu : public NCursesMenu -{ -protected: - NCursesUserMenu( int nlines, - int ncols, - int begin_y = 0, - int begin_x = 0, - const T* p_UserData = STATIC_CAST(T*)(0)) - : NCursesMenu(nlines,ncols,begin_y,begin_x) { - if (menu) - set_user (const_cast(p_UserData)); - } - -public: - NCursesUserMenu (NCursesMenuItem Items[], - const T* p_UserData = STATIC_CAST(T*)(0), - bool with_frame=FALSE, - bool autoDelete_Items=FALSE) - : NCursesMenu (Items, with_frame, autoDelete_Items) { - if (menu) - set_user (const_cast(p_UserData)); - }; - - NCursesUserMenu (NCursesMenuItem Items[], - int nlines, - int ncols, - int begin_y = 0, - int begin_x = 0, - const T* p_UserData = STATIC_CAST(T*)(0), - bool with_frame=FALSE) - : NCursesMenu (Items, nlines, ncols, begin_y, begin_x, with_frame) { - if (menu) - set_user (const_cast(p_UserData)); - }; - - virtual ~NCursesUserMenu() { - }; - - inline T* UserData (void) const { - return reinterpret_cast(get_user ()); - }; - - inline virtual void setUserData (const T* p_UserData) { - if (menu) - set_user (const_cast(p_UserData)); - } -}; - -#endif /* NCURSES_CURSESM_H_incl */ diff --git a/src/libs/ncurses/c++/cursesmain.cc b/src/libs/ncurses/c++/cursesmain.cc deleted file mode 100644 index d10035b5f0..0000000000 --- a/src/libs/ncurses/c++/cursesmain.cc +++ /dev/null @@ -1,65 +0,0 @@ -// * this is for making emacs happy: -*-Mode: C++;-*- -/**************************************************************************** - * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - ****************************************************************************/ - -#include "internal.h" -#include "cursesapp.h" - -MODULE_ID("$Id: cursesmain.cc,v 1.11 2003/10/25 14:53:13 tom Exp $") - -#if HAVE_LOCALE_H -#include -#else -#define setlocale(name,string) /* nothing */ -#endif - -/* This is the default implementation of main() for a NCursesApplication. - * You only have to instantiate a static NCursesApplication object in your - * main application source file and link this module with your application. - */ -int main(int argc, char* argv[]) -{ - setlocale(LC_ALL, ""); - - NCursesApplication* A = NCursesApplication::getApplication(); - if (!A) - return(1); - else { - int res; - - A->handleArgs(argc,argv); - ::endwin(); - res = (*A)(); - ::endwin(); - return(res); - } -} diff --git a/src/libs/ncurses/c++/cursesp.cc b/src/libs/ncurses/c++/cursesp.cc deleted file mode 100644 index 9c4eab6954..0000000000 --- a/src/libs/ncurses/c++/cursesp.cc +++ /dev/null @@ -1,138 +0,0 @@ -// * this is for making emacs happy: -*-Mode: C++;-*- -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1993, 1997 * - ****************************************************************************/ - -#include "internal.h" -#include "cursesp.h" - -MODULE_ID("$Id: cursesp.cc,v 1.25 2005/08/06 22:12:36 tom Exp $") - -NCursesPanel* NCursesPanel::dummy = static_cast(0); - -void NCursesPanel::init() -{ - p = ::new_panel(w); - if (!p) - OnError(ERR); - - UserHook* hook = new UserHook; - hook->m_user = NULL; - hook->m_back = this; - hook->m_owner = p; - ::set_panel_userptr(p, reinterpret_cast(hook)); -} - -NCursesPanel::~NCursesPanel() -{ - UserHook* hook = UserPointer(); - assert(hook != 0 && hook->m_back==this && hook->m_owner==p); - delete hook; - ::del_panel(p); - ::update_panels(); -} - -void -NCursesPanel::redraw() -{ - PANEL *pan; - - pan = ::panel_above(NULL); - while (pan) { - ::touchwin(panel_window(pan)); - pan = ::panel_above(pan); - } - ::update_panels(); - ::doupdate(); -} - -int -NCursesPanel::refresh() -{ - ::update_panels(); - return ::doupdate(); -} - -int -NCursesPanel::noutrefresh() -{ - ::update_panels(); - return OK; -} - -void -NCursesPanel::boldframe(const char *title, const char* btitle) -{ - standout(); - frame(title, btitle); - standend(); -} - -void -NCursesPanel::frame(const char *title,const char *btitle) -{ - int err = OK; - if (!title && !btitle) { - err = box(); - } - else { - err = box(); - if (err==OK) - label(title,btitle); - } - OnError(err); -} - -void -NCursesPanel::label(const char *tLabel, const char *bLabel) -{ - if (tLabel) - centertext(0,tLabel); - if (bLabel) - centertext(maxy(),bLabel); -} - -void -NCursesPanel::centertext(int row,const char *labelText) -{ - if (labelText) { - int x = (maxx() - ::strlen(labelText)) / 2; - if (x<0) - x=0; - OnError(addstr(row, x, labelText, width())); - } -} - -int -NCursesPanel::getKey(void) -{ - return getch(); -} diff --git a/src/libs/ncurses/c++/cursesp.h b/src/libs/ncurses/c++/cursesp.h deleted file mode 100644 index adb54455a1..0000000000 --- a/src/libs/ncurses/c++/cursesp.h +++ /dev/null @@ -1,265 +0,0 @@ -// * This makes emacs happy -*-Mode: C++;-*- -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - ****************************************************************************/ - -#ifndef NCURSES_CURSESP_H_incl -#define NCURSES_CURSESP_H_incl 1 - -// $Id: cursesp.h,v 1.26 2005/08/13 18:09:21 tom Exp $ - -#include - -extern "C" { -# include -} - -class NCURSES_IMPEXP NCursesPanel - : public NCursesWindow -{ -protected: - PANEL *p; - static NCursesPanel *dummy; - -private: - // This structure is used for the panel's user data field to link the - // PANEL* to the C++ object and to provide extra space for a user pointer. - typedef struct { - void* m_user; // the pointer for the user's data - const NCursesPanel* m_back; // backward pointer to C++ object - const PANEL* m_owner; // the panel itself - } UserHook; - - inline UserHook *UserPointer() - { - UserHook* uptr = reinterpret_cast( - const_cast(::panel_userptr (p))); - return uptr; - } - - void init(); // Initialize the panel object - -protected: - void set_user(void *user) - { - UserHook* uptr = UserPointer(); - assert (uptr != 0 && uptr->m_back==this && uptr->m_owner==p); - uptr->m_user = user; - } - // Set the user pointer of the panel. - - void *get_user() - { - UserHook* uptr = UserPointer(); - assert (uptr != 0 && uptr->m_back==this && uptr->m_owner==p); - return uptr->m_user; - } - - void OnError (int err) const THROWS((NCursesPanelException)) - { - if (err==ERR) - THROW(new NCursesPanelException (this, err)); - } - // If err is equal to the curses error indicator ERR, an error handler - // is called. - - // Get a keystroke. Default implementation calls getch() - virtual int getKey(void); - -public: - NCursesPanel(int nlines, - int ncols, - int begin_y = 0, - int begin_x = 0) - : NCursesWindow(nlines,ncols,begin_y,begin_x), p(0) - { - init(); - } - // Create a panel with this size starting at the requested position. - - NCursesPanel() - : NCursesWindow(::stdscr), p(0) - { - init(); - } - // This constructor creates the default Panel associated with the - // ::stdscr window - - NCursesPanel& operator=(const NCursesPanel& rhs) - { - if (this != &rhs) { - *this = rhs; - NCursesWindow::operator=(rhs); - } - return *this; - } - - NCursesPanel(const NCursesPanel& rhs) - : NCursesWindow(rhs), - p(rhs.p) - { - } - - virtual ~NCursesPanel(); - - // basic manipulation - inline void hide() - { - OnError (::hide_panel(p)); - } - // Hide the panel. It stays in the stack but becomes invisible. - - inline void show() - { - OnError (::show_panel(p)); - } - // Show the panel, i.e. make it visible. - - inline void top() - { - OnError (::top_panel(p)); - } - // Make this panel the top panel in the stack. - - inline void bottom() - { - OnError (::bottom_panel(p)); - } - // Make this panel the bottom panel in the stack. - // N.B.: The panel associated with ::stdscr is always on the bottom. So - // actually bottom() makes the panel the first above ::stdscr. - - virtual int mvwin(int y, int x) - { - OnError(::move_panel(p, y, x)); - return OK; - } - - inline bool hidden() const - { - return (::panel_hidden (p) ? TRUE : FALSE); - } - // Return TRUE if the panel is hidden, FALSE otherwise. - -/* The functions panel_above() and panel_below() are not reflected in - the NCursesPanel class. The reason for this is, that we cannot - assume that a panel retrieved by those operations is one wrapped - by a C++ class. Although this situation might be handled, we also - need a reverse mapping from PANEL to NCursesPanel which needs some - redesign of the low level stuff. At the moment, we define them in the - interface but they will always produce an error. */ - inline NCursesPanel& above() const - { - OnError(ERR); - return *dummy; - } - - inline NCursesPanel& below() const - { - OnError(ERR); - return *dummy; - } - - // Those two are rewrites of the corresponding virtual members of - // NCursesWindow - virtual int refresh(); - // Propagate all panel changes to the virtual screen and update the - // physical screen. - - virtual int noutrefresh(); - // Propagate all panel changes to the virtual screen. - - static void redraw(); - // Redraw all panels. - - // decorations - virtual void frame(const char* title=NULL, - const char* btitle=NULL); - // Put a frame around the panel and put the title centered in the top line - // and btitle in the bottom line. - - virtual void boldframe(const char* title=NULL, - const char* btitle=NULL); - // Same as frame(), but use highlighted attributes. - - virtual void label(const char* topLabel, - const char* bottomLabel); - // Put the title centered in the top line and btitle in the bottom line. - - virtual void centertext(int row,const char* label); - // Put the label text centered in the specified row. -}; - -/* We use templates to provide a typesafe mechanism to associate - * user data with a panel. A NCursesUserPanel is a panel - * associated with some user data of type T. - */ -template class NCursesUserPanel : public NCursesPanel -{ -public: - NCursesUserPanel (int nlines, - int ncols, - int begin_y = 0, - int begin_x = 0, - const T* p_UserData = STATIC_CAST(T*)(0)) - : NCursesPanel (nlines, ncols, begin_y, begin_x) - { - if (p) - set_user (const_cast(p_UserData)); - }; - // This creates an user panel of the requested size with associated - // user data pointed to by p_UserData. - - NCursesUserPanel(const T* p_UserData = STATIC_CAST(T*)(0)) : NCursesPanel() - { - if (p) - set_user(const_cast(p_UserData)); - }; - // This creates an user panel associated with the ::stdscr and user data - // pointed to by p_UserData. - - virtual ~NCursesUserPanel() {}; - - T* UserData (void) const - { - return reinterpret_cast(get_user ()); - }; - // Retrieve the user data associated with the panel. - - virtual void setUserData (const T* p_UserData) - { - if (p) - set_user (const_cast(p_UserData)); - } - // Associate the user panel with the user data pointed to by p_UserData. -}; - -#endif /* NCURSES_CURSESP_H_incl */ diff --git a/src/libs/ncurses/c++/cursespad.cc b/src/libs/ncurses/c++/cursespad.cc deleted file mode 100644 index d875a815c7..0000000000 --- a/src/libs/ncurses/c++/cursespad.cc +++ /dev/null @@ -1,280 +0,0 @@ -// * this is for making emacs happy: -*-Mode: C++;-*- -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1999 * - ****************************************************************************/ - -#include "internal.h" - -#include - -#include "etip.h" -#include "cursesw.h" - -MODULE_ID("$Id: cursespad.cc,v 1.11 2005/07/23 20:51:23 tom Exp $") - -NCursesPad::NCursesPad(int nlines, int ncols) - : NCursesWindow(), - viewWin(static_cast(0)), - viewSub(static_cast(0)), - h_gridsize(0), v_gridsize(0), - min_row(0), min_col(0) -{ - w = ::newpad(nlines, ncols); - if (static_cast(0) == w) { - count--; - err_handler("Cannot construct window"); - } - alloced = TRUE; -} - - -int NCursesPad::driver (int key) -{ - // Default implementation - switch(key) { - case KEY_UP: - // ======= - return REQ_PAD_UP; - case KEY_DOWN: - // ========= - return REQ_PAD_DOWN; - case KEY_LEFT: - // ========= - return REQ_PAD_LEFT; - case KEY_RIGHT: - // ========== - return REQ_PAD_RIGHT; - case KEY_EXIT: - // ========= - case CTRL('X'): - // ========== - return REQ_PAD_EXIT; - - default: return(key); - } -} - - -void NCursesPad::operator()(void) -{ - NCursesWindow* W = Win(); - - if (static_cast(0) != W) { - int Width = W->width(); - int Height = W->height(); - - int req = REQ_PAD_REFRESH; - - W->keypad(TRUE); - W->meta(TRUE); - refresh(); - - do { - bool changed = FALSE; - - switch (req) { - case REQ_PAD_REFRESH: - // ================ - changed = TRUE; - break; - case REQ_PAD_LEFT: - // ============= - if (min_col > 0) { - changed = TRUE; - if (min_col < h_gridsize) - min_col = 0; - else - min_col -= h_gridsize; - } - else - OnNavigationError(req); - break; - case REQ_PAD_RIGHT: - // ============== - if (min_col < (width() - Width - 1)) { - changed = TRUE; - if (min_col > (width() - Width - h_gridsize - 1)) - min_col = width() - Width - 1; - else - min_col += h_gridsize; - } - else - OnNavigationError(req); - break; - case REQ_PAD_UP: - // =========== - if (min_row > 0) { - changed = TRUE; - if (min_row < v_gridsize) - min_row = 0; - else - min_row -= v_gridsize; - } - else - OnNavigationError(req); - break; - case REQ_PAD_DOWN: - // ============= - if (min_row < (height() - Height - 1)) { - changed = TRUE; - if (min_row > (height() - Height - v_gridsize - 1)) - min_row = height() - Height - 1; - else - min_row += v_gridsize; - } - else - OnNavigationError(req); - break; - - default: - OnUnknownOperation(req); - } - - if (changed) { - noutrefresh(); - W->syncup(); - OnOperation(req); - viewWin->refresh(); - } - } while( (req=driver(W->getch())) != REQ_PAD_EXIT ); - } -} - - -int NCursesPad::refresh() -{ - int res = noutrefresh(); - if (res==OK && (static_cast(0) != viewWin)) { - res = (viewWin->refresh()); - } - return(res); -} - -int NCursesPad::noutrefresh() -{ - int res = OK; - NCursesWindow* W = Win(); - if (static_cast(0) != W) { - int high = W->maxy(); - int wide = W->maxx(); - res = copywin(*W, min_row, min_col, - 0, 0, high, wide, - FALSE); - if (res==OK) { - W->syncup(); - res = viewWin->noutrefresh(); - } - } - return (res); -} - -void NCursesPad::setWindow(NCursesWindow& view, - int v_grid NCURSES_PARAM_INIT(1), - int h_grid NCURSES_PARAM_INIT(1)) -{ - viewWin = &view; - min_row = min_col = 0; - if (h_grid <=0 || v_grid <= 0) - err_handler("Illegal Gridsize"); - else { - h_gridsize = h_grid; - v_gridsize = v_grid; - } -} - -void NCursesPad::setSubWindow(NCursesWindow& sub) -{ - if (static_cast(0) == viewWin) - err_handler("Pad has no viewport"); - if (!viewWin->isDescendant(sub)) - THROW(new NCursesException("NCursesFramePad", E_SYSTEM_ERROR)); - viewSub = ⊂ -} - -void NCursesFramedPad::OnOperation(int pad_req) -{ - NCursesWindow* W = Win(); - NCursesWindow* W2 = getWindow(); - - if ((static_cast(0) != W) && (static_cast(0) != W2)) { - int Width = W->width(); - int Height = W->height(); - int i, row, col, h_len, v_len; - - h_len = (Width*Width + width() - 1)/width(); - if (h_len==0) - h_len = 1; - if (h_len > Width) - h_len = Width; - - v_len = (Height*Height + height() - 1)/height(); - if (v_len==0) - v_len = 1; - if (v_len > Height) - v_len = Height; - - col = (min_col * Width + width() - 1) / width(); - if (col + h_len > Width) - col = Width - h_len; - - row = (min_row * Height + height() - 1) / height(); - if (row + v_len > Height) - row = Height - v_len; - - W2->vline(1,Width+1,Height); - W2->attron(A_REVERSE); - if (v_len>=2) { - W2->addch(row+1,Width+1,ACS_UARROW); - for(i=2;iaddch(row+i,Width+1,' '); - W2->addch(row+v_len,Width+1,ACS_DARROW); - } - else { - for(i=1;i<=v_len;i++) - W2->addch(row+i,Width+1,' '); - } - W2->attroff(A_REVERSE); - - W2->hline(Height+1,1,Width); - W2->attron(A_REVERSE); - if (h_len >= 2) { - W2->addch(Height+1,col+1,ACS_LARROW); - for(i=2;iaddch(Height+1,col+i,' '); - W2->addch(Height+1,col+h_len,ACS_RARROW); - } - else { - for(i=1;i<=h_len;i++) - W2->addch(Height+1,col+i,' '); - } - W2->attroff(A_REVERSE); - } -} diff --git a/src/libs/ncurses/c++/cursesw.cc b/src/libs/ncurses/c++/cursesw.cc deleted file mode 100644 index 106202a537..0000000000 --- a/src/libs/ncurses/c++/cursesw.cc +++ /dev/null @@ -1,467 +0,0 @@ -// * this is for making emacs happy: -*-Mode: C++;-*- - -/* - Copyright (C) 1989 Free Software Foundation - written by Eric Newton (newton@rocky.oswego.edu) - - This file is part of the GNU C++ Library. This library is free - software; you can redistribute it and/or modify it under the terms of - the GNU Library General Public License as published by the Free - Software Foundation; either version 2 of the License, or (at your - option) any later version. This library is distributed in the hope - that it will be useful, but WITHOUT ANY WARRANTY; without even the - implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. See the GNU Library General Public License for more details. - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free Software - Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - - modified by Ulrich Drepper (drepper@karlsruhe.gmd.de) - and Anatoly Ivasyuk (anatoly@nick.csh.rit.edu) - - modified by Juergen Pfeifer - and Thomas Dickey (noting that more than 70% of this file has been changed) -*/ - -#include "internal.h" -#include "cursesw.h" - -MODULE_ID("$Id: cursesw.cc,v 1.32 2005/08/13 18:12:17 tom Exp $") - -#define COLORS_NEED_INITIALIZATION -1 -#define COLORS_NOT_INITIALIZED 0 -#define COLORS_MONOCHROME 1 -#define COLORS_ARE_REALLY_THERE 2 - -// declare static variables for the class -long NCursesWindow::count = 0L; -bool NCursesWindow::b_initialized = FALSE; - -/* - * The ncurses library has a fallback for vsscanf(), which may work... - */ -#if !(USE_STRSTREAM_VSCAN || USE_STRSTREAM_VSCAN_CAST) -# undef USE_STDIO_VSCAN -# define USE_STDIO_VSCAN 1 -#endif - -#if defined(__GNUG__) -# ifndef _IO_va_list -# define _IO_va_list char * -# endif -#endif - -int -NCursesWindow::scanw(const char* fmt, ...) -{ - int result = ERR; - char buf[BUFSIZ]; - - if (::wgetnstr(w, buf, sizeof(buf)) != ERR) { - va_list args; - va_start(args, fmt); -#if USE_STDIO_VSCAN - if (::vsscanf(buf, fmt, args) != -1) - result = OK; -#elif USE_STRSTREAM_VSCAN /* powerpc, os390 */ - strstreambuf ss(buf, sizeof(buf)); - if (ss.vscan(fmt, args) != -1) - result = OK; -#elif USE_STRSTREAM_VSCAN_CAST /* pre-gcc 3.0 */ - strstreambuf ss(buf, sizeof(buf)); - if (ss.vscan(fmt, (_IO_va_list)args) != -1) - result = OK; -#endif - va_end(args); - } - return result; -} - - -int -NCursesWindow::scanw(int y, int x, const char* fmt, ...) -{ - int result = ERR; - char buf[BUFSIZ]; - - if (::wmove(w, y, x) != ERR) { - if (::wgetnstr(w, buf, sizeof(buf)) != ERR) { - va_list args; - va_start(args, fmt); -#if USE_STDIO_VSCAN - if (::vsscanf(buf, fmt, args) != -1) - result = OK; -#elif USE_STRSTREAM_VSCAN /* powerpc, os390 */ - strstreambuf ss(buf, sizeof(buf)); - if (ss.vscan(fmt, args) != -1) - result = OK; -#elif USE_STRSTREAM_VSCAN_CAST /* pre-gcc 3.0 */ - strstreambuf ss(buf, sizeof(buf)); - if (ss.vscan(fmt, (_IO_va_list)args) != -1) - result = OK; -#endif - va_end(args); - } - } - return result; -} - - -int -NCursesWindow::printw(const char * fmt, ...) -{ - va_list args; - va_start(args, fmt); - char buf[BUFSIZ]; - ::vsprintf(buf, fmt, args); - va_end(args); - return waddstr(w, buf); -} - - -int -NCursesWindow::printw(int y, int x, const char * fmt, ...) -{ - va_list args; - va_start(args, fmt); - int result = ::wmove(w, y, x); - if (result == OK) { - char buf[BUFSIZ]; - ::vsprintf(buf, fmt, args); - result = waddstr(w, buf); - } - va_end(args); - return result; -} - - -void -NCursesWindow::init(void) -{ - leaveok(0); - keypad(1); - meta(1); -} - -void -NCursesWindow::err_handler(const char *msg) const THROWS(NCursesException) -{ - THROW(new NCursesException(msg)); -} - -void -NCursesWindow::initialize() -{ - if (!b_initialized) { - ::initscr(); - b_initialized = TRUE; - if (colorInitialized==COLORS_NEED_INITIALIZATION) { - colorInitialized=COLORS_NOT_INITIALIZED; - useColors(); - } - ::noecho(); - ::cbreak(); - } -} - -NCursesWindow::NCursesWindow() - : w(0), alloced(0), par(0), subwins(0), sib(0) -{ - initialize(); - - w = static_cast(0); - init(); - alloced = FALSE; - subwins = par = sib = 0; - count++; -} - -NCursesWindow::NCursesWindow(int nlines, int ncols, int begin_y, int begin_x) - : w(0), alloced(0), par(0), subwins(0), sib(0) -{ - initialize(); - - w = ::newwin(nlines, ncols, begin_y, begin_x); - if (w == 0) { - err_handler("Cannot construct window"); - } - init(); - - alloced = TRUE; - subwins = par = sib = 0; - count++; -} - -NCursesWindow::NCursesWindow(WINDOW* &window) - : w(0), alloced(0), par(0), subwins(0), sib(0) -{ - initialize(); - - w = window; - init(); - alloced = FALSE; - subwins = par = sib = 0; - count++; -} - -NCursesWindow::NCursesWindow(NCursesWindow& win, int l, int c, - int begin_y, int begin_x, char absrel) - : w(0), alloced(0), par(0), subwins(0), sib(0) -{ - initialize(); - if (absrel == 'a') { // absolute origin - begin_y -= win.begy(); - begin_x -= win.begx(); - } - - // Even though we treat subwindows as a tree, the standard curses - // library needs the `subwin' call to link to the parent in - // order to correctly perform refreshes, etc. - // Friendly enough, this also works for pads. - w = ::derwin(win.w, l, c, begin_y, begin_x); - if (w == 0) { - err_handler("Cannot construct subwindow"); - } - - par = &win; - sib = win.subwins; - win.subwins = this; - subwins = 0; - alloced = TRUE; - count++; -} - -NCursesWindow::NCursesWindow(NCursesWindow& win, - bool do_box NCURSES_PARAM_INIT(TRUE)) - : w(0), alloced(0), par(0), subwins(0), sib(0) -{ - initialize(); - int myHeight = win.height(); - int myWidth = win.width(); - w = :: derwin(win.w, myHeight - 2, myWidth - 2, 1, 1); - if (w == 0) { - err_handler("Cannot construct subwindow"); - } - - par = &win; - sib = win.subwins; - win.subwins = this; - subwins = 0; - alloced = TRUE; - count++; - - if (do_box) { - win.box(); - win.touchwin(); - } -} - -NCursesWindow NCursesWindow::Clone() -{ - WINDOW *d = ::dupwin(w); - NCursesWindow W(d); - W.subwins = subwins; - W.sib = sib; - W.par = par; - W.alloced = alloced; - return W; -} - -typedef int (*RIPOFFINIT)(NCursesWindow&); -static RIPOFFINIT R_INIT[5]; // There can't be more -static int r_init_idx = 0; -static RIPOFFINIT* prip = R_INIT; - -NCursesWindow::NCursesWindow(WINDOW *win, int ncols) - : w(0), alloced(0), par(0), subwins(0), sib(0) -{ - initialize(); - w = win; - assert((w->_maxx+1)==ncols); - alloced = FALSE; - subwins = par = sib = 0; -} - -int _nc_xx_ripoff_init(WINDOW *w, int ncols) -{ - int res = ERR; - - RIPOFFINIT init = *prip++; - if (init) { - NCursesWindow* W = new NCursesWindow(w,ncols); - res = init(*W); - } - return res; -} - -int NCursesWindow::ripoffline(int ripoff_lines, - int (*init)(NCursesWindow& win)) -{ - int code = ::_nc_ripoffline(ripoff_lines,_nc_xx_ripoff_init); - if (code==OK && init && ripoff_lines) { - R_INIT[r_init_idx++] = init; - } - return code; -} - -bool -NCursesWindow::isDescendant(NCursesWindow& win) -{ - for (NCursesWindow* p = subwins; p != NULL; p = p->sib) { - if (p==&win) - return TRUE; - else { - if (p->isDescendant(win)) - return TRUE; - } - } - return FALSE; -} - -void -NCursesWindow::kill_subwindows() -{ - for (NCursesWindow* p = subwins; p != 0; p = p->sib) { - p->kill_subwindows(); - if (p->alloced) { - if (p->w != 0) - ::delwin(p->w); - p->alloced = FALSE; - } - p->w = 0; // cause a run-time error if anyone attempts to use... - } -} - - -NCursesWindow::~NCursesWindow() -{ - kill_subwindows(); - - if (par != 0) { // Snip us from the parent's list of subwindows. - NCursesWindow * win = par->subwins; - NCursesWindow * trail = 0; - for (;;) { - if (win == 0) - break; - else if (win == this) { - if (trail != 0) - trail->sib = win->sib; - else - par->subwins = win->sib; - break; - } else { - trail = win; - win = win->sib; - } - } - } - - if (alloced && w != 0) - ::delwin(w); - - if (alloced) { - --count; - if (count == 0) { - ::endwin(); - } - else if (count < 0) { // cannot happen! - err_handler("Too many windows destroyed"); - } - } -} - -// --------------------------------------------------------------------- -// Color stuff -// -int NCursesWindow::colorInitialized = COLORS_NOT_INITIALIZED; - -void -NCursesWindow::useColors(void) -{ - if (colorInitialized == COLORS_NOT_INITIALIZED) { - if (b_initialized) { - if (::has_colors()) { - ::start_color(); - colorInitialized = COLORS_ARE_REALLY_THERE; - } - else - colorInitialized = COLORS_MONOCHROME; - } - else - colorInitialized = COLORS_NEED_INITIALIZATION; - } -} - -short -NCursesWindow::getcolor(int getback) const -{ - short fore, back; - - if (colorInitialized==COLORS_ARE_REALLY_THERE) { - if (::pair_content(static_cast(PAIR_NUMBER(w->_attrs)), &fore, &back)) - err_handler("Can't get color pair"); - } - else { - // Monochrome means white on black - back = COLOR_BLACK; - fore = COLOR_WHITE; - } - return getback ? back : fore; -} - -int NCursesWindow::NumberOfColors() -{ - if (colorInitialized==COLORS_ARE_REALLY_THERE) - return COLORS; - else - return 1; // monochrome (actually there are two ;-) -} - -short -NCursesWindow::getcolor() const -{ - if (colorInitialized==COLORS_ARE_REALLY_THERE) - return PAIR_NUMBER(w->_attrs); - else - return 0; // we only have pair zero -} - -int -NCursesWindow::setpalette(short fore, short back, short pair) -{ - if (colorInitialized==COLORS_ARE_REALLY_THERE) - return ::init_pair(pair, fore, back); - else - return OK; -} - -int -NCursesWindow::setpalette(short fore, short back) -{ - if (colorInitialized==COLORS_ARE_REALLY_THERE) - return setpalette(fore, back, static_cast(PAIR_NUMBER(w->_attrs))); - else - return OK; -} - - -int -NCursesWindow::setcolor(short pair) -{ - if (colorInitialized==COLORS_ARE_REALLY_THERE) { - if ((pair < 1) || (pair > COLOR_PAIRS)) - err_handler("Can't set color pair"); - - attroff(A_COLOR); - attrset(COLOR_PAIR(pair)); - } - return OK; -} - -#if HAVE_HAS_KEY -bool NCursesWindow::has_mouse() const -{ - return ((::has_key(KEY_MOUSE) || ::_nc_has_mouse()) - ? TRUE : FALSE); -} -#endif diff --git a/src/libs/ncurses/c++/cursesw.h b/src/libs/ncurses/c++/cursesw.h deleted file mode 100644 index 13f87a6800..0000000000 --- a/src/libs/ncurses/c++/cursesw.h +++ /dev/null @@ -1,1436 +0,0 @@ -// * This makes emacs happy -*-Mode: C++;-*- -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -#ifndef NCURSES_CURSESW_H_incl -#define NCURSES_CURSESW_H_incl 1 - -// $Id: cursesw.h,v 1.38 2005/07/23 20:51:39 tom Exp $ - -#include -#include - -#include - -#if HAVE_STRSTREAM_H && (USE_STRSTREAM_VSCAN||USE_STRSTREAM_VSCAN_CAST) -#include -#endif - -extern "C" { -# include -} - -/* SCO 3.2v4 curses.h includes term.h, which defines lines as a macro. - Undefine it here, because NCursesWindow uses lines as a method. */ -#undef lines - -/* "Convert" macros to inlines. We'll define it as another symbol to avoid - * conflict with library symbols. - */ -#undef UNDEF -#define UNDEF(name) CUR_ ##name - -#ifdef addch -inline int UNDEF(addch)(chtype ch) { return addch(ch); } -#undef addch -#define addch UNDEF(addch) -#endif - -#ifdef echochar -inline int UNDEF(echochar)(chtype ch) { return echochar(ch); } -#undef echochar -#define echochar UNDEF(echochar) -#endif - -#ifdef insdelln -inline int UNDEF(insdelln)(int n) { return insdelln(n); } -#undef insdelln -#define insdelln UNDEF(insdelln) -#endif - -#ifdef addstr -inline int UNDEF(addstr)(const char * str) { return addstr(str); } -#undef addstr -#define addstr UNDEF(addstr) -#endif - -#ifdef attron -inline int UNDEF(attron)(chtype at) { return attron(at); } -#undef attron -#define attron UNDEF(attron) -#endif - -#ifdef attroff -inline int UNDEF(attroff)(chtype at) { return attroff(at); } -#undef attroff -#define attroff UNDEF(attroff) -#endif - -#ifdef attrset -inline chtype UNDEF(attrset)(chtype at) { return attrset(at); } -#undef attrset -#define attrset UNDEF(attrset) -#endif - -#ifdef color_set -inline chtype UNDEF(color_set)(short p, void* opts) { return color_set(p, opts); } -#undef color_set -#define color_set UNDEF(color_set) -#endif - -#ifdef border -inline int UNDEF(border)(chtype ls, chtype rs, chtype ts, chtype bs, chtype tl, chtype tr, chtype bl, chtype br) -{ return border(ls, rs, ts, bs, tl, tr, bl, br); } -#undef border -#define border UNDEF(border) -#endif - -#ifdef box -inline int UNDEF(box)(WINDOW *win, int v, int h) { return box(win, v, h); } -#undef box -#define box UNDEF(box) -#endif - -#ifdef mvwhline -inline int UNDEF(mvwhline)(WINDOW *win, int y, int x, chtype c, int n) { - return mvwhline(win, y, x, c, n); } -#undef mvwhline -#define mvwhline UNDEF(mvwhline) -#endif - -#ifdef mvwvline -inline int UNDEF(mvwvline)(WINDOW *win, int y, int x, chtype c, int n) { - return mvwvline(win, y, x, c, n); } -#undef mvwvline -#define mvwvline UNDEF(mvwvline) -#endif - -#ifdef clear -inline int UNDEF(clear)() { return clear(); } -#undef clear -#define clear UNDEF(clear) -#endif - -#ifdef clearok -inline int UNDEF(clearok)(WINDOW* win, bool bf) { return clearok(win, bf); } -#undef clearok -#define clearok UNDEF(clearok) -#else -extern "C" NCURSES_IMPEXP int NCURSES_API clearok(WINDOW*, bool); -#endif - -#ifdef clrtobot -inline int UNDEF(clrtobot)() { return clrtobot(); } -#undef clrtobot -#define clrtobot UNDEF(clrtobot) -#endif - -#ifdef clrtoeol -inline int UNDEF(clrtoeol)() { return clrtoeol(); } -#undef clrtoeol -#define clrtoeol UNDEF(clrtoeol) -#endif - -#ifdef delch -inline int UNDEF(delch)() { return delch(); } -#undef delch -#define delch UNDEF(delch) -#endif - -#ifdef deleteln -inline int UNDEF(deleteln)() { return deleteln(); } -#undef deleteln -#define deleteln UNDEF(deleteln) -#endif - -#ifdef erase -inline int UNDEF(erase)() { return erase(); } -#undef erase -#define erase UNDEF(erase) -#endif - -#ifdef flushok -inline int UNDEF(flushok)(WINDOW* _win, bool _bf) { - return flushok(_win, _bf); } -#undef flushok -#define flushok UNDEF(flushok) -#else -#define _no_flushok -#endif - -#ifdef getch -inline int UNDEF(getch)() { return getch(); } -#undef getch -#define getch UNDEF(getch) -#endif - -#ifdef getstr -inline int UNDEF(getstr)(char *_str) { return getstr(_str); } -#undef getstr -#define getstr UNDEF(getstr) -#endif - -#ifdef instr -inline int UNDEF(instr)(char *_str) { return instr(_str); } -#undef instr -#define instr UNDEF(instr) -#endif - -#ifdef innstr -inline int UNDEF(innstr)(char *_str, int n) { return innstr(_str, n); } -#undef innstr -#define innstr UNDEF(innstr) -#endif - -#ifdef mvwinnstr -inline int UNDEF(mvwinnstr)(WINDOW *win, int y, int x, char *_str, int n) { - return mvwinnstr(win, y, x, _str, n); } -#undef mvwinnstr -#define mvwinnstr UNDEF(mvwinnstr) -#endif - -#ifdef mvinnstr -inline int UNDEF(mvinnstr)(int y, int x, char *_str, int n) { - return mvinnstr(y, x, _str, n); } -#undef mvinnstr -#define mvinnstr UNDEF(mvinnstr) -#endif - -#ifdef winsstr -inline int UNDEF(winsstr)(WINDOW *w, const char *_str) { - return winsstr(w, _str); } -#undef winsstr -#define winsstr UNDEF(winsstr) -#endif - -#ifdef mvwinsstr -inline int UNDEF(mvwinsstr)(WINDOW *w, int y, int x, const char *_str) { - return mvwinsstr(w, y, x, _str); } -#undef mvwinsstr -#define mvwinsstr UNDEF(mvwinsstr) -#endif - -#ifdef insstr -inline int UNDEF(insstr)(const char *_str) { - return insstr(_str); } -#undef insstr -#define insstr UNDEF(insstr) -#endif - -#ifdef mvinsstr -inline int UNDEF(mvinsstr)(int y, int x, const char *_str) { - return mvinsstr(y, x, _str); } -#undef mvinsstr -#define mvinsstr UNDEF(mvinsstr) -#endif - -#ifdef insnstr -inline int UNDEF(insnstr)(const char *_str, int n) { - return insnstr(_str, n); } -#undef insnstr -#define insnstr UNDEF(insnstr) -#endif - -#ifdef mvwinsnstr -inline int UNDEF(mvwinsnstr)(WINDOW *w, int y, int x, const char *_str, int n) { - return mvwinsnstr(w, y, x, _str, n); } -#undef mvwinsnstr -#define mvwinsnstr UNDEF(mvwinsnstr) -#endif - -#ifdef mvinsnstr -inline int UNDEF(mvinsnstr)(int y, int x, const char *_str, int n) { - return mvinsnstr(y, x, _str, n); } -#undef mvinsnstr -#define mvinsnstr UNDEF(mvinsnstr) -#endif - -#ifdef getnstr -inline int UNDEF(getnstr)(char *_str, int n) { return getnstr(_str, n); } -#undef getnstr -#define getnstr UNDEF(getnstr) -#endif - -#ifdef getyx -inline void UNDEF(getyx)(const WINDOW* win, int& y, int& x) { - getyx(win, y, x); } -#undef getyx -#define getyx UNDEF(getyx) -#endif - -#ifdef getbegyx -inline void UNDEF(getbegyx)(WINDOW* win, int& y, int& x) { getbegyx(win, y, x); } -#undef getbegyx -#define getbegyx UNDEF(getbegyx) -#endif - -#ifdef getmaxyx -inline void UNDEF(getmaxyx)(WINDOW* win, int& y, int& x) { getmaxyx(win, y, x); } -#undef getmaxyx -#define getmaxyx UNDEF(getmaxyx) -#endif - -#ifdef hline -inline int UNDEF(hline)(chtype ch, int n) { return hline(ch, n); } -#undef hline -#define hline UNDEF(hline) -#endif - -#ifdef inch -inline chtype UNDEF(inch)() { return inch(); } -#undef inch -#define inch UNDEF(inch) -#endif - -#ifdef insch -inline int UNDEF(insch)(chtype c) { return insch(c); } -#undef insch -#define insch UNDEF(insch) -#endif - -#ifdef insertln -inline int UNDEF(insertln)() { return insertln(); } -#undef insertln -#define insertln UNDEF(insertln) -#endif - -#ifdef leaveok -inline int UNDEF(leaveok)(WINDOW* win, bool bf) { return leaveok(win, bf); } -#undef leaveok -#define leaveok UNDEF(leaveok) -#else -extern "C" NCURSES_IMPEXP int NCURSES_API leaveok(WINDOW* win, bool bf); -#endif - -#ifdef move -inline int UNDEF(move)(int x, int y) { return move(x, y); } -#undef move -#define move UNDEF(move) -#endif - -#ifdef refresh -inline int UNDEF(refresh)() { return refresh(); } -#undef refresh -#define refresh UNDEF(refresh) -#endif - -#ifdef redrawwin -inline int UNDEF(redrawwin)(WINDOW *win) { return redrawwin(win); } -#undef redrawwin -#define redrawwin UNDEF(redrawwin) -#endif - -#ifdef scrl -inline int UNDEF(scrl)(int l) { return scrl(l); } -#undef scrl -#define scrl UNDEF(scrl) -#endif - -#ifdef scroll -inline int UNDEF(scroll)(WINDOW *win) { return scroll(win); } -#undef scroll -#define scroll UNDEF(scroll) -#endif - -#ifdef scrollok -inline int UNDEF(scrollok)(WINDOW* win, bool bf) { return scrollok(win, bf); } -#undef scrollok -#define scrollok UNDEF(scrollok) -#else -#if defined(__NCURSES_H) -extern "C" NCURSES_IMPEXP int NCURSES_API scrollok(WINDOW*, bool); -#else -extern "C" NCURSES_IMPEXP int NCURSES_API scrollok(WINDOW*, char); -#endif -#endif - -#ifdef setscrreg -inline int UNDEF(setscrreg)(int t, int b) { return setscrreg(t, b); } -#undef setscrreg -#define setscrreg UNDEF(setscrreg) -#endif - -#ifdef standend -inline int UNDEF(standend)() { return standend(); } -#undef standend -#define standend UNDEF(standend) -#endif - -#ifdef standout -inline int UNDEF(standout)() { return standout(); } -#undef standout -#define standout UNDEF(standout) -#endif - -#ifdef subpad -inline WINDOW *UNDEF(subpad)(WINDOW *p, int l, int c, int y, int x) -{ return derwin(p, l, c, y, x); } -#undef subpad -#define subpad UNDEF(subpad) -#endif - -#ifdef timeout -inline void UNDEF(timeout)(int delay) { timeout(delay); } -#undef timeout -#define timeout UNDEF(timeout) -#endif - -#ifdef touchline -inline int UNDEF(touchline)(WINDOW *win, int s, int c) -{ return touchline(win, s, c); } -#undef touchline -#define touchline UNDEF(touchline) -#endif - -#ifdef touchwin -inline int UNDEF(touchwin)(WINDOW *win) { return touchwin(win); } -#undef touchwin -#define touchwin UNDEF(touchwin) -#endif - -#ifdef untouchwin -inline int UNDEF(untouchwin)(WINDOW *win) { return untouchwin(win); } -#undef untouchwin -#define untouchwin UNDEF(untouchwin) -#endif - -#ifdef vline -inline int UNDEF(vline)(chtype ch, int n) { return vline(ch, n); } -#undef vline -#define vline UNDEF(vline) -#endif - -#ifdef waddstr -inline int UNDEF(waddstr)(WINDOW *win, char *str) { return waddstr(win, str); } -#undef waddstr -#define waddstr UNDEF(waddstr) -#endif - -#ifdef waddchstr -inline int UNDEF(waddchstr)(WINDOW *win, chtype *at) { return waddchstr(win, at); } -#undef waddchstr -#define waddchstr UNDEF(waddchstr) -#endif - -#ifdef wstandend -inline int UNDEF(wstandend)(WINDOW *win) { return wstandend(win); } -#undef wstandend -#define wstandend UNDEF(wstandend) -#endif - -#ifdef wstandout -inline int UNDEF(wstandout)(WINDOW *win) { return wstandout(win); } -#undef wstandout -#define wstandout UNDEF(wstandout) -#endif - - -#ifdef wattroff -inline int UNDEF(wattroff)(WINDOW *win, int att) { return wattroff(win, att); } -#undef wattroff -#define wattroff UNDEF(wattroff) -#endif - -#ifdef chgat -inline int UNDEF(chgat)(int n, attr_t attr, short color, const void *opts) { - return chgat(n, attr, color, opts); } -#undef chgat -#define chgat UNDEF(chgat) -#endif - -#ifdef mvchgat -inline int UNDEF(mvchgat)(int y, int x, int n, - attr_t attr, short color, const void *opts) { - return mvchgat(y, x, n, attr, color, opts); } -#undef mvchgat -#define mvchgat UNDEF(mvchgat) -#endif - -#ifdef mvwchgat -inline int UNDEF(mvwchgat)(WINDOW *win, int y, int x, int n, - attr_t attr, short color, const void *opts) { - return mvwchgat(win, y, x, n, attr, color, opts); } -#undef mvwchgat -#define mvwchgat UNDEF(mvwchgat) -#endif - -#ifdef wattrset -inline int UNDEF(wattrset)(WINDOW *win, int att) { return wattrset(win, att); } -#undef wattrset -#define wattrset UNDEF(wattrset) -#endif - -#ifdef winch -inline chtype UNDEF(winch)(const WINDOW* win) { return winch(win); } -#undef winch -#define winch UNDEF(winch) -#endif - -#ifdef mvwaddch -inline int UNDEF(mvwaddch)(WINDOW *win, int y, int x, const chtype ch) -{ return mvwaddch(win, y, x, ch); } -#undef mvwaddch -#define mvwaddch UNDEF(mvwaddch) -#endif - -#ifdef mvwaddchnstr -inline int UNDEF(mvwaddchnstr)(WINDOW *win, int y, int x, chtype *str, int n) -{ return mvwaddchnstr(win, y, x, str, n); } -#undef mvwaddchnstr -#define mvwaddchnstr UNDEF(mvwaddchnstr) -#endif - -#ifdef mvwaddchstr -inline int UNDEF(mvwaddchstr)(WINDOW *win, int y, int x, chtype *str) -{ return mvwaddchstr(win, y, x, str); } -#undef mvwaddchstr -#define mvwaddchstr UNDEF(mvwaddchstr) -#endif - -#ifdef addnstr -inline int UNDEF(addnstr)(const char *str, int n) -{ return addnstr(str, n); } -#undef addnstr -#define addnstr UNDEF(addnstr) -#endif - -#ifdef mvwaddnstr -inline int UNDEF(mvwaddnstr)(WINDOW *win, int y, int x, const char *str, int n) -{ return mvwaddnstr(win, y, x, str, n); } -#undef mvwaddnstr -#define mvwaddnstr UNDEF(mvwaddnstr) -#endif - -#ifdef mvwaddstr -inline int UNDEF(mvwaddstr)(WINDOW *win, int y, int x, const char * str) -{ return mvwaddstr(win, y, x, str); } -#undef mvwaddstr -#define mvwaddstr UNDEF(mvwaddstr) -#endif - -#ifdef mvwdelch -inline int UNDEF(mvwdelch)(WINDOW *win, int y, int x) -{ return mvwdelch(win, y, x); } -#undef mvwdelch -#define mvwdelch UNDEF(mvwdelch) -#endif - -#ifdef mvwgetch -inline int UNDEF(mvwgetch)(WINDOW *win, int y, int x) { return mvwgetch(win, y, x);} -#undef mvwgetch -#define mvwgetch UNDEF(mvwgetch) -#endif - -#ifdef mvwgetstr -inline int UNDEF(mvwgetstr)(WINDOW *win, int y, int x, char *str) -{return mvwgetstr(win, y, x, str);} -#undef mvwgetstr -#define mvwgetstr UNDEF(mvwgetstr) -#endif - -#ifdef mvwgetnstr -inline int UNDEF(mvwgetnstr)(WINDOW *win, int y, int x, char *str, int n) -{return mvwgetnstr(win, y, x, str, n);} -#undef mvwgetnstr -#define mvwgetnstr UNDEF(mvwgetnstr) -#endif - -#ifdef mvwinch -inline chtype UNDEF(mvwinch)(WINDOW *win, int y, int x) { - return mvwinch(win, y, x);} -#undef mvwinch -#define mvwinch UNDEF(mvwinch) -#endif - -#ifdef mvwinsch -inline int UNDEF(mvwinsch)(WINDOW *win, int y, int x, chtype c) -{ return mvwinsch(win, y, x, c); } -#undef mvwinsch -#define mvwinsch UNDEF(mvwinsch) -#endif - -#ifdef mvaddch -inline int UNDEF(mvaddch)(int y, int x, chtype ch) -{ return mvaddch(y, x, ch); } -#undef mvaddch -#define mvaddch UNDEF(mvaddch) -#endif - -#ifdef mvaddnstr -inline int UNDEF(mvaddnstr)(int y, int x, const char *str, int n) -{ return mvaddnstr(y, x, str, n); } -#undef mvaddnstr -#define mvaddnstr UNDEF(mvaddnstr) -#endif - -#ifdef mvaddstr -inline int UNDEF(mvaddstr)(int y, int x, const char * str) -{ return mvaddstr(y, x, str); } -#undef mvaddstr -#define mvaddstr UNDEF(mvaddstr) -#endif - -#ifdef mvdelch -inline int UNDEF(mvdelch)(int y, int x) { return mvdelch(y, x);} -#undef mvdelch -#define mvdelch UNDEF(mvdelch) -#endif - -#ifdef mvgetch -inline int UNDEF(mvgetch)(int y, int x) { return mvgetch(y, x);} -#undef mvgetch -#define mvgetch UNDEF(mvgetch) -#endif - -#ifdef mvgetstr -inline int UNDEF(mvgetstr)(int y, int x, char *str) {return mvgetstr(y, x, str);} -#undef mvgetstr -#define mvgetstr UNDEF(mvgetstr) -#endif - -#ifdef mvgetnstr -inline int UNDEF(mvgetnstr)(int y, int x, char *str, int n) { - return mvgetnstr(y, x, str, n);} -#undef mvgetnstr -#define mvgetnstr UNDEF(mvgetnstr) -#endif - -#ifdef mvinch -inline chtype UNDEF(mvinch)(int y, int x) { return mvinch(y, x);} -#undef mvinch -#define mvinch UNDEF(mvinch) -#endif - -#ifdef mvinsch -inline int UNDEF(mvinsch)(int y, int x, chtype c) -{ return mvinsch(y, x, c); } -#undef mvinsch -#define mvinsch UNDEF(mvinsch) -#endif - -#ifdef napms -inline void UNDEF(napms)(unsigned long x) { napms(x); } -#undef napms -#define napms UNDEF(napms) -#endif - -#ifdef fixterm -inline int UNDEF(fixterm)(void) { return fixterm(); } -#undef fixterm -#define fixterm UNDEF(fixterm) -#endif - -#ifdef resetterm -inline int UNDEF(resetterm)(void) { return resetterm(); } -#undef resetterm -#define resetterm UNDEF(resetterm) -#endif - -#ifdef saveterm -inline int UNDEF(saveterm)(void) { return saveterm(); } -#undef saveterm -#define saveterm UNDEF(saveterm) -#endif - -#ifdef crmode -inline int UNDEF(crmode)(void) { return crmode(); } -#undef crmode -#define crmode UNDEF(crmode) -#endif - -#ifdef nocrmode -inline int UNDEF(nocrmode)(void) { return nocrmode(); } -#undef nocrmode -#define nocrmode UNDEF(nocrmode) -#endif - -#ifdef getbkgd -inline chtype UNDEF(getbkgd)(const WINDOW *win) { return getbkgd(win); } -#undef getbkgd -#define getbkgd UNDEF(getbkgd) -#endif - -#ifdef bkgd -inline int UNDEF(bkgd)(chtype ch) { return bkgd(ch); } -#undef bkgd -#define bkgd UNDEF(bkgd) -#endif - -#ifdef bkgdset -inline void UNDEF(bkgdset)(chtype ch) { bkgdset(ch); } -#undef bkgdset -#define bkgdset UNDEF(bkgdset) -#endif - -/* - * - * C++ class for windows. - * - */ - -extern "C" int _nc_ripoffline(int, int (*init)(WINDOW*, int)); -extern "C" int _nc_xx_ripoff_init(WINDOW *, int); -extern "C" int _nc_has_mouse(void); - -class NCURSES_IMPEXP NCursesWindow -{ - friend class NCursesMenu; - friend class NCursesForm; - -private: - static bool b_initialized; - static void initialize(); - friend int _nc_xx_ripoff_init(WINDOW *, int); - - void init(); - - short getcolor(int getback) const; - - static int setpalette(short fore, short back, short pair); - static int colorInitialized; - - // This private constructor is only used during the initialization - // of windows generated by ripoffline() calls. - NCursesWindow(WINDOW* win, int ncols); - -protected: - virtual void err_handler(const char *) const THROWS(NCursesException); - // Signal an error with the given message text. - - static long count; // count of all active windows: - // We rely on the c++ promise that - // all otherwise uninitialized - // static class vars are set to 0 - - WINDOW* w; // the curses WINDOW - - bool alloced; // TRUE if we own the WINDOW - - NCursesWindow* par; // parent, if subwindow - NCursesWindow* subwins; // head of subwindows list - NCursesWindow* sib; // next subwindow of parent - - void kill_subwindows(); // disable all subwindows - // Destroy all subwindows. - - /* Only for use by derived classes. They are then in charge to - fill the member variables correctly. */ - NCursesWindow(); - -public: - NCursesWindow(WINDOW* &window); // useful only for stdscr - - NCursesWindow(int nlines, // number of lines - int ncols, // number of columns - int begin_y, // line origin - int begin_x); // col origin - - NCursesWindow(NCursesWindow& par,// parent window - int nlines, // number of lines - int ncols, // number of columns - int begin_y, // absolute or relative - int begin_x, // origins: - char absrel = 'a');// if `a', begin_y & begin_x are - // absolute screen pos, else if `r', they are relative to par origin - - NCursesWindow(NCursesWindow& par,// parent window - bool do_box = TRUE); - // this is the very common case that we want to create the subwindow that - // is two lines and two columns smaller and begins at (1,1). - // We may automatically request the box around it. - - NCursesWindow& operator=(const NCursesWindow& rhs) - { - if (this != &rhs) - *this = rhs; - return *this; - } - - NCursesWindow(const NCursesWindow& rhs) - : w(rhs.w), alloced(rhs.alloced), par(rhs.par), subwins(rhs.subwins), sib(rhs.sib) - { - } - - virtual ~NCursesWindow(); - - NCursesWindow Clone(); - // Make an exact copy of the window. - - // Initialization. - static void useColors(void); - // Call this routine very early if you want to have colors. - - static int ripoffline(int ripoff_lines, - int (*init)(NCursesWindow& win)); - // This function is used to generate a window of ripped-of lines. - // If the argument is positive, lines are removed from the top, if it - // is negative lines are removed from the bottom. This enhances the - // lowlevel ripoffline() function because it uses the internal - // implementation that allows to remove more than just a single line. - // This function must be called before any other ncurses function. The - // creation of the window is deferred until ncurses gets initialized. - // The initialization function is then called. - - // ------------------------------------------------------------------------- - // terminal status - // ------------------------------------------------------------------------- - int lines() const { initialize(); return LINES; } - // Number of lines on terminal, *not* window - - int cols() const { initialize(); return COLS; } - // Number of cols on terminal, *not* window - - int tabsize() const { initialize(); return TABSIZE; } - // Size of a tab on terminal, *not* window - - static int NumberOfColors(); - // Number of available colors - - int colors() const { return NumberOfColors(); } - // Number of available colors - - // ------------------------------------------------------------------------- - // window status - // ------------------------------------------------------------------------- - int height() const { return maxy() + 1; } - // Number of lines in this window - - int width() const { return maxx() + 1; } - // Number of columns in this window - - int begx() const { return w->_begx; } - // Column of top left corner relative to stdscr - - int begy() const { return w->_begy; } - // Line of top left corner relative to stdscr - - int maxx() const { return w->_maxx; } - // Largest x coord in window - - int maxy() const { return w->_maxy; } - // Largest y coord in window - - short getcolor() const; - // Actual color pair - - short foreground() const { return getcolor(0); } - // Actual foreground color - - short background() const { return getcolor(1); } - // Actual background color - - int setpalette(short fore, short back); - // Set color palette entry - - int setcolor(short pair); - // Set actually used palette entry - - // ------------------------------------------------------------------------- - // window positioning - // ------------------------------------------------------------------------- - virtual int mvwin(int begin_y, int begin_x) { - return ::mvwin(w, begin_y, begin_x); } - // Move window to new position with the new position as top left corner. - // This is virtual because it is redefined in NCursesPanel. - - // ------------------------------------------------------------------------- - // coordinate positioning - // ------------------------------------------------------------------------- - int move(int y, int x) { return ::wmove(w, y, x); } - // Move cursor the this position - - void getyx(int& y, int& x) const { ::getyx(w, y, x); } - // Get current position of the cursor - - int mvcur(int oldrow, int oldcol, int newrow, int newcol) const { - return ::mvcur(oldrow, oldcol, newrow, newcol); } - // Perform lowlevel cursor motion that takes effect immediately. - - // ------------------------------------------------------------------------- - // input - // ------------------------------------------------------------------------- - int getch() { return ::wgetch(w); } - // Get a keystroke from the window. - - int getch(int y, int x) { return ::mvwgetch(w, y, x); } - // Move cursor to position and get a keystroke from the window - - int getstr(char* str, int n=-1) { - return ::wgetnstr(w, str, n); } - // Read a series of characters into str until a newline or carriage return - // is received. Read at most n characters. If n is negative, the limit is - // ignored. - - int getstr(int y, int x, char* str, int n=-1) { - return ::mvwgetnstr(w, y, x, str, n); } - // Move the cursor to the requested position and then perform the getstr() - // as described above. - - int instr(char *s, int n=-1) { return ::winnstr(w, s, n); } - // Get a string of characters from the window into the buffer s. Retrieve - // at most n characters, if n is negative retrieve all characters up to the - // end of the current line. Attributes are stripped from the characters. - - int instr(int y, int x, char *s, int n=-1) { - return ::mvwinnstr(w, y, x, s, n); } - // Move the cursor to the requested position and then perform the instr() - // as described above. - - int scanw(const char* fmt, ...) - // Perform a scanw function from the window. -#if __GNUG__ >= 2 - __attribute__ ((format (scanf, 2, 3))); -#else - ; -#endif - - int scanw(int y, int x, const char* fmt, ...) - // Move the cursor to the requested position and then perform a scanw - // from the window. -#if __GNUG__ >= 2 - __attribute__ ((format (scanf, 4, 5))); -#else - ; -#endif - - // ------------------------------------------------------------------------- - // output - // ------------------------------------------------------------------------- - int addch(const chtype ch) { return ::waddch(w, ch); } - // Put attributed character to the window. - - int addch(int y, int x, const chtype ch) { - return ::mvwaddch(w, y, x, ch); } - // Move cursor to the requested position and then put attributed character - // to the window. - - int echochar(const chtype ch) { return ::wechochar(w, ch); } - // Put attributed character to the window and refresh it immediately. - - int addstr(const char* str, int n=-1) { - return ::waddnstr(w, str, n); } - // Write the string str to the window, stop writing if the terminating - // NUL or the limit n is reached. If n is negative, it is ignored. - - int addstr(int y, int x, const char * str, int n=-1) { - return ::mvwaddnstr(w, y, x, str, n); } - // Move the cursor to the requested position and then perform the addstr - // as described above. - - int printw(const char* fmt, ...) - // Do a formatted print to the window. -#if (__GNUG__ >= 2) && !defined(printf) - __attribute__ ((format (printf, 2, 3))); -#else - ; -#endif - - int printw(int y, int x, const char * fmt, ...) - // Move the cursor and then do a formatted print to the window. -#if (__GNUG__ >= 2) && !defined(printf) - __attribute__ ((format (printf, 4, 5))); -#else - ; -#endif - - chtype inch() const { return ::winch(w); } - // Retrieve attributed character under the current cursor position. - - chtype inch(int y, int x) { return ::mvwinch(w, y, x); } - // Move cursor to requested position and then retrieve attributed character - // at this position. - - int insch(chtype ch) { return ::winsch(w, ch); } - // Insert attributed character into the window before current cursor - // position. - - int insch(int y, int x, chtype ch) { - return ::mvwinsch(w, y, x, ch); } - // Move cursor to requested position and then insert the attributed - // character before that position. - - int insertln() { return ::winsdelln(w, 1); } - // Insert an empty line above the current line. - - int insdelln(int n=1) { return ::winsdelln(w, n); } - // If n>0 insert that many lines above the current line. If n<0 delete - // that many lines beginning with the current line. - - int insstr(const char *s, int n=-1) { - return ::winsnstr(w, s, n); } - // Insert the string into the window before the current cursor position. - // Insert stops at end of string or when the limit n is reached. If n is - // negative, it is ignored. - - int insstr(int y, int x, const char *s, int n=-1) { - return ::mvwinsnstr(w, y, x, s, n); } - // Move the cursor to the requested position and then perform the insstr() - // as described above. - - int attron (chtype at) { return ::wattron (w, at); } - // Switch on the window attributes; - - int attroff(chtype at) { return ::wattroff(w, static_cast(at)); } - // Switch off the window attributes; - - int attrset(chtype at) { return ::wattrset(w, static_cast(at)); } - // Set the window attributes; - - int color_set(short color_pair_number, void* opts=NULL) { - return ::wcolor_set(w, color_pair_number, opts); } - // Set the window color attribute; - - int chgat(int n, attr_t attr, short color, const void *opts=NULL) { - return ::wchgat(w, n, attr, color, opts); } - // Change the attributes of the next n characters in the current line. If - // n is negative or greater than the number of remaining characters in the - // line, the attributes will be changed up to the end of the line. - - int chgat(int y, int x, - int n, attr_t attr, short color, const void *opts=NULL) { - return ::mvwchgat(w, y, x, n, attr, color, opts); } - // Move the cursor to the requested position and then perform chgat() as - // described above. - - // ------------------------------------------------------------------------- - // background - // ------------------------------------------------------------------------- - chtype getbkgd() const { return ::getbkgd(w); } - // Get current background setting. - - int bkgd(const chtype ch) { return ::wbkgd(w, ch); } - // Set the background property and apply it to the window. - - void bkgdset(chtype ch) { ::wbkgdset(w, ch); } - // Set the background property. - - // ------------------------------------------------------------------------- - // borders - // ------------------------------------------------------------------------- - int box(chtype vert=0, chtype hor=0) { - return ::wborder(w, vert, vert, hor, hor, 0, 0, 0, 0); } - // Draw a box around the window with the given vertical and horizontal - // drawing characters. If you specify a zero as character, curses will try - // to find a "nice" character. - - int border(chtype left=0, chtype right=0, - chtype top =0, chtype bottom=0, - chtype top_left =0, chtype top_right=0, - chtype bottom_left =0, chtype bottom_right=0) { - return ::wborder(w, left, right, top, bottom, top_left, top_right, - bottom_left, bottom_right); } - // Draw a border around the window with the given characters for the - // various parts of the border. If you pass zero for a character, curses - // will try to find "nice" characters. - - // ------------------------------------------------------------------------- - // lines and boxes - // ------------------------------------------------------------------------- - int hline(int len, chtype ch=0) { return ::whline(w, ch, len); } - // Draw a horizontal line of len characters with the given character. If - // you pass zero for the character, curses will try to find a "nice" one. - - int hline(int y, int x, int len, chtype ch=0) { - return ::mvwhline(w, y, x, ch, len); } - // Move the cursor to the requested position and then draw a horizontal line. - - int vline(int len, chtype ch=0) { return ::wvline(w, ch, len); } - // Draw a vertical line of len characters with the given character. If - // you pass zero for the character, curses will try to find a "nice" one. - - int vline(int y, int x, int len, chtype ch=0) { - return ::mvwvline(w, y, x, ch, len); } - // Move the cursor to the requested position and then draw a vertical line. - - // ------------------------------------------------------------------------- - // erasure - // ------------------------------------------------------------------------- - int erase() { return ::werase(w); } - // Erase the window. - - int clear() { return ::wclear(w); } - // Clear the window. - - int clearok(bool bf) { return ::clearok(w, bf); } - // Set/Reset the clear flag. If set, the next refresh() will clear the - // screen. - - int clrtobot() { return ::wclrtobot(w); } - // Clear to the end of the window. - - int clrtoeol() { return ::wclrtoeol(w); } - // Clear to the end of the line. - - int delch() { return ::wdelch(w); } - // Delete character under the cursor. - - int delch(int y, int x) { return ::mvwdelch(w, y, x); } - // Move cursor to requested position and delete the character under the - // cursor. - - int deleteln() { return ::winsdelln(w, -1); } - // Delete the current line. - - // ------------------------------------------------------------------------- - // screen control - // ------------------------------------------------------------------------- - int scroll(int amount=1) { return ::wscrl(w, amount); } - // Scroll amount lines. If amount is positive, scroll up, otherwise - // scroll down. - - int scrollok(bool bf) { return ::scrollok(w, bf); } - // If bf is TRUE, window scrolls if cursor is moved off the bottom - // edge of the window or a scrolling region, otherwise the cursor is left - // at the bottom line. - - int setscrreg(int from, int to) { - return ::wsetscrreg(w, from, to); } - // Define a soft scrolling region. - - int idlok(bool bf) { return ::idlok(w, bf); } - // If bf is TRUE, use insert/delete line hardware support if possible. - // Otherwise do it in software. - - - void idcok(bool bf) { ::idcok(w, bf); } - // If bf is TRUE, use insert/delete character hardware support if possible. - // Otherwise do it in software. - - int touchwin() { return ::wtouchln(w, 0, height(), 1); } - // Mark the whole window as modified. - - int untouchwin() { return ::wtouchln(w, 0, height(), 0); } - // Mark the whole window as unmodified. - - int touchln(int s, int cnt, bool changed=TRUE) { - return ::wtouchln(w, s, cnt, static_cast(changed ? 1 : 0)); } - // Mark cnt lines beginning from line s as changed or unchanged, depending - // on the value of the changed flag. - - bool is_linetouched(int line) const { - return (::is_linetouched(w, line) ? TRUE:FALSE); } - // Return TRUE if line is marked as changed, FALSE otherwise - - bool is_wintouched() const { - return (::is_wintouched(w) ? TRUE:FALSE); } - // Return TRUE if window is marked as changed, FALSE otherwise - - int leaveok(bool bf) { return ::leaveok(w, bf); } - // If bf is TRUE, curses will leave the cursor after an update whereever - // it is after the update. - - int redrawln(int from, int n) { return ::wredrawln(w, from, n); } - // Redraw n lines starting from the requested line - - int redrawwin() { return ::wredrawln(w, 0, height()); } - // Redraw the whole window - - int doupdate() { return ::doupdate(); } - // Do all outputs to make the physical screen looking like the virtual one - - void syncdown() { ::wsyncdown(w); } - // Propagate the changes down to all descendant windows - - void syncup() { ::wsyncup(w); } - // Propagate the changes up in the hierarchy - - void cursyncup() { ::wcursyncup(w); } - // Position the cursor in all ancestor windows corresponding to our setting - - int syncok(bool bf) { return ::syncok(w, bf); } - // If called with bf=TRUE, syncup() is called whenever the window is changed - -#ifndef _no_flushok - int flushok(bool bf) { return ::flushok(w, bf); } -#endif - - void immedok(bool bf) { ::immedok(w, bf); } - // If called with bf=TRUE, any change in the window will cause an - // automatic immediate refresh() - - int keypad(bool bf) { return ::keypad(w, bf); } - // If called with bf=TRUE, the application will interpret function keys. - - int meta(bool bf) { return ::meta(w, bf); } - // If called with bf=TRUE, keys may generate 8-Bit characters. Otherwise - // 7-Bit characters are generated. - - int standout() { return ::wstandout(w); } - // Enable "standout" attributes - - int standend() { return ::wstandend(w); } - // Disable "standout" attributes - - // ------------------------------------------------------------------------- - // The next two are virtual, because we redefine them in the - // NCursesPanel class. - // ------------------------------------------------------------------------- - virtual int refresh() { return ::wrefresh(w); } - // Propagate the changes in this window to the virtual screen and call - // doupdate(). This is redefined in NCursesPanel. - - virtual int noutrefresh() { return ::wnoutrefresh(w); } - // Propagate the changes in this window to the virtual screen. This is - // redefined in NCursesPanel. - - // ------------------------------------------------------------------------- - // multiple window control - // ------------------------------------------------------------------------- - int overlay(NCursesWindow& win) { - return ::overlay(w, win.w); } - // Overlay this window over win. - - int overwrite(NCursesWindow& win) { - return ::overwrite(w, win.w); } - // Overwrite win with this window. - - int copywin(NCursesWindow& win, - int sminrow, int smincol, - int dminrow, int dmincol, - int dmaxrow, int dmaxcol, bool overlaywin=TRUE) { - return ::copywin(w, win.w, sminrow, smincol, dminrow, dmincol, - dmaxrow, dmaxcol, static_cast(overlaywin ? 1 : 0)); } - // Overlay or overwrite the rectangle in win given by dminrow,dmincol, - // dmaxrow,dmaxcol with the rectangle in this window beginning at - // sminrow,smincol. - - // ------------------------------------------------------------------------- - // Mouse related - // ------------------------------------------------------------------------- - bool has_mouse() const; - // Return TRUE if terminal supports a mouse, FALSE otherwise - - // ------------------------------------------------------------------------- - // traversal support - // ------------------------------------------------------------------------- - NCursesWindow* child() { return subwins; } - // Get the first child window. - - NCursesWindow* sibling() { return sib; } - // Get the next child of my parent. - - NCursesWindow* parent() { return par; } - // Get my parent. - - bool isDescendant(NCursesWindow& win); - // Return TRUE if win is a descendant of this. -}; - -// ------------------------------------------------------------------------- -// We leave this here for compatibility reasons. -// ------------------------------------------------------------------------- -class NCURSES_IMPEXP NCursesColorWindow : public NCursesWindow -{ -public: - NCursesColorWindow(WINDOW* &window) // useful only for stdscr - : NCursesWindow(window) { - useColors(); } - - NCursesColorWindow(int nlines, // number of lines - int ncols, // number of columns - int begin_y, // line origin - int begin_x) // col origin - : NCursesWindow(nlines, ncols, begin_y, begin_x) { - useColors(); } - - NCursesColorWindow(NCursesWindow& parentWin,// parent window - int nlines, // number of lines - int ncols, // number of columns - int begin_y, // absolute or relative - int begin_x, // origins: - char absrel = 'a') // if `a', by & bx are - : NCursesWindow(parentWin, - nlines, ncols, // absolute screen pos, - begin_y, begin_x, // else if `r', they are - absrel ) { // relative to par origin - useColors(); } -}; - -// These enum definitions really belong inside the NCursesPad class, but only -// recent compilers support that feature. - - typedef enum { - REQ_PAD_REFRESH = KEY_MAX + 1, - REQ_PAD_UP, - REQ_PAD_DOWN, - REQ_PAD_LEFT, - REQ_PAD_RIGHT, - REQ_PAD_EXIT - } Pad_Request; - - const Pad_Request PAD_LOW = REQ_PAD_REFRESH; // lowest op-code - const Pad_Request PAD_HIGH = REQ_PAD_EXIT; // highest op-code - -// ------------------------------------------------------------------------- -// Pad Support. We allow an association of a pad with a "real" window -// through which the pad may be viewed. -// ------------------------------------------------------------------------- -class NCURSES_IMPEXP NCursesPad : public NCursesWindow -{ -private: - NCursesWindow* viewWin; // the "viewport" window - NCursesWindow* viewSub; // the "viewport" subwindow - - int h_gridsize, v_gridsize; - -protected: - int min_row, min_col; // top left row/col of the pads display area - - NCursesWindow* Win(void) const { - // Get the window into which the pad should be copied (if any) - return (viewSub?viewSub:(viewWin?viewWin:0)); - } - - NCursesWindow* getWindow(void) const { - return viewWin; - } - - NCursesWindow* getSubWindow(void) const { - return viewSub; - } - - virtual int driver (int key); // Virtualize keystroke key - // The driver translates the keystroke c into an Pad_Request - - virtual void OnUnknownOperation(int pad_req) { - ::beep(); - } - // This is called if the driver returns an unknown op-code - - virtual void OnNavigationError(int pad_req) { - ::beep(); - } - // This is called if a navigation request couldn't be satisfied - - virtual void OnOperation(int pad_req) { - }; - // OnOperation is called if a Pad_Operation was executed and just before - // the refresh() operation is done. - -public: - NCursesPad(int nlines, int ncols); - // create a pad with the given size - - NCursesPad& operator=(const NCursesPad& rhs) - { - if (this != &rhs) { - *this = rhs; - NCursesWindow::operator=(rhs); - } - return *this; - } - - NCursesPad(const NCursesPad& rhs) - : NCursesWindow(rhs), - viewWin(rhs.viewWin), - viewSub(rhs.viewSub), - h_gridsize(rhs.h_gridsize), - v_gridsize(rhs.v_gridsize), - min_row(rhs.min_row), - min_col(rhs.min_col) - { - } - - virtual ~NCursesPad() {} - - int echochar(const chtype ch) { return ::pechochar(w, ch); } - // Put the attributed character onto the pad and immediately do a - // prefresh(). - - int refresh(); - // If a viewport is defined the pad is displayed in this window, otherwise - // this is a noop. - - int refresh(int pminrow, int pmincol, - int sminrow, int smincol, - int smaxrow, int smaxcol) { - return ::prefresh(w, pminrow, pmincol, - sminrow, smincol, smaxrow, smaxcol); - } - // The coordinates sminrow,smincol,smaxrow,smaxcol describe a rectangle - // on the screen. refresh copies a rectangle of this size beginning - // with top left corner pminrow,pmincol onto the screen and calls doupdate(). - - int noutrefresh(); - // If a viewport is defined the pad is displayed in this window, otherwise - // this is a noop. - - int noutrefresh(int pminrow, int pmincol, - int sminrow, int smincol, - int smaxrow, int smaxcol) { - return ::pnoutrefresh(w, pminrow, pmincol, - sminrow, smincol, smaxrow, smaxcol); - } - // Does the same as refresh() but without calling doupdate(). - - virtual void setWindow(NCursesWindow& view, int v_grid = 1, int h_grid = 1); - // Add the window "view" as viewing window to the pad. - - virtual void setSubWindow(NCursesWindow& sub); - // Use the subwindow "sub" of the viewport window for the actual viewing. - // The full viewport window is usually used to provide some decorations - // like frames, titles etc. - - virtual void operator() (void); - // Perform Pad's operation -}; - -// A FramedPad is constructed always with a viewport window. This viewport -// will be framed (by a box() command) and the interior of the box is the -// viewport subwindow. On the frame we display scrollbar sliders. -class NCURSES_IMPEXP NCursesFramedPad : public NCursesPad -{ -protected: - virtual void OnOperation(int pad_req); - -public: - NCursesFramedPad(NCursesWindow& win, int nlines, int ncols, - int v_grid = 1, int h_grid = 1) - : NCursesPad(nlines, ncols) { - NCursesPad::setWindow(win, v_grid, h_grid); - NCursesPad::setSubWindow(*(new NCursesWindow(win))); - } - // Construct the FramedPad with the given Window win as viewport. - - virtual ~NCursesFramedPad() { - delete getSubWindow(); - } - - void setWindow(NCursesWindow& view, int v_grid = 1, int h_grid = 1) { - err_handler("Operation not allowed"); - } - // Disable this call; the viewport is already defined - - void setSubWindow(NCursesWindow& sub) { - err_handler("Operation not allowed"); - } - // Disable this call; the viewport subwindow is already defined - -}; - -#endif /* NCURSES_CURSESW_H_incl */ diff --git a/src/libs/ncurses/c++/cursslk.cc b/src/libs/ncurses/c++/cursslk.cc deleted file mode 100644 index cfbc9da42d..0000000000 --- a/src/libs/ncurses/c++/cursslk.cc +++ /dev/null @@ -1,132 +0,0 @@ -// * this is for making emacs happy: -*-Mode: C++;-*- -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - ****************************************************************************/ - -#include "internal.h" -#include "cursslk.h" -#include "cursesapp.h" - -MODULE_ID("$Id: cursslk.cc,v 1.15 2005/08/06 22:12:36 tom Exp $") - -Soft_Label_Key_Set::Soft_Label_Key& - Soft_Label_Key_Set::Soft_Label_Key::operator=(char *text) -{ - delete[] label; - label = new char[1 + ::strlen(text)]; - (::strcpy)(label,text); - return *this; -} - -long Soft_Label_Key_Set::count = 0L; -int Soft_Label_Key_Set::num_labels = 0; - -Soft_Label_Key_Set::Label_Layout - Soft_Label_Key_Set::format = None; - -void Soft_Label_Key_Set::init() -{ - slk_array = new Soft_Label_Key[num_labels]; - for(int i=0; i < num_labels; i++) { - slk_array[i].num = i+1; - } - b_attrInit = FALSE; -} - -Soft_Label_Key_Set::Soft_Label_Key_Set() - : b_attrInit(FALSE), - slk_array(NULL) -{ - if (format==None) - Error("No default SLK layout"); - init(); -} - -Soft_Label_Key_Set::Soft_Label_Key_Set(Soft_Label_Key_Set::Label_Layout fmt) - : b_attrInit(FALSE), - slk_array(NULL) -{ - if (fmt==None) - Error("Invalid SLK Layout"); - if (count++==0) { - format = fmt; - if (ERR == ::slk_init(static_cast(fmt))) - Error("slk_init"); - num_labels = (fmt>=PC_Style?12:8); - } - else if (fmt!=format) - Error("All SLKs must have same layout"); - init(); -} - -Soft_Label_Key_Set::~Soft_Label_Key_Set() { - if (!::isendwin()) - clear(); - delete[] slk_array; - count--; -} - -Soft_Label_Key_Set::Soft_Label_Key& Soft_Label_Key_Set::operator[](int i) { - if (i<1 || i>num_labels) - Error("Invalid Label index"); - return slk_array[i-1]; -} - -void Soft_Label_Key_Set::activate_label(int i, bool bf) { - if (!b_attrInit) { - NCursesApplication* A = NCursesApplication::getApplication(); - if (A) attrset(A->labels()); - b_attrInit = TRUE; - } - Soft_Label_Key& K = (*this)[i]; - if (ERR==::slk_set(K.num,bf?K.label:"",K.format)) - Error("slk_set"); - noutrefresh(); -} - -void Soft_Label_Key_Set::activate_labels(bool bf) -{ - if (!b_attrInit) { - NCursesApplication* A = NCursesApplication::getApplication(); - if (A) attrset(A->labels()); - b_attrInit = TRUE; - } - for(int i=1; i <= num_labels; i++) { - Soft_Label_Key& K = (*this)[i]; - if (ERR==::slk_set(K.num,bf?K.label:"",K.format)) - Error("slk_set"); - } - if (bf) - restore(); - else - clear(); - noutrefresh(); -} diff --git a/src/libs/ncurses/c++/cursslk.h b/src/libs/ncurses/c++/cursslk.h deleted file mode 100644 index 091695eef2..0000000000 --- a/src/libs/ncurses/c++/cursslk.h +++ /dev/null @@ -1,238 +0,0 @@ -// * this is for making emacs happy: -*-Mode: C++;-*- -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - ****************************************************************************/ - -// $Id: cursslk.h,v 1.13 2005/05/28 21:58:18 tom Exp $ - -#ifndef NCURSES_CURSSLK_H_incl -#define NCURSES_CURSSLK_H_incl - -#include - -class NCURSES_IMPEXP Soft_Label_Key_Set { -public: - // This inner class represents the attributes of a Soft Label Key (SLK) - class NCURSES_IMPEXP Soft_Label_Key { - friend class Soft_Label_Key_Set; - public: - typedef enum { Left=0, Center=1, Right=2 } Justification; - - private: - char *label; // The Text of the Label - Justification format; // The Justification - int num; // The number of the Label - - Soft_Label_Key() : label(NULL), format(Left), num(-1) { - } - - virtual ~Soft_Label_Key() { - delete[] label; - }; - - public: - // Set the text of the Label - Soft_Label_Key& operator=(char *text); - - // Set the Justification of the Label - Soft_Label_Key& operator=(Justification just) { - format = just; - return *this; - } - - // Retrieve the text of the label - inline char* operator()(void) const { - return label; - } - - Soft_Label_Key& operator=(const Soft_Label_Key& rhs) - { - if (this != &rhs) { - *this = rhs; - } - return *this; - } - - Soft_Label_Key(const Soft_Label_Key& rhs) - : label(NULL), - format(rhs.format), - num(rhs.num) - { - *this = rhs.label; - } - }; - -public: - typedef enum { - None = -1, - Three_Two_Three = 0, - Four_Four = 1, - PC_Style = 2, - PC_Style_With_Index = 3 - } Label_Layout; - -private: - static long NCURSES_IMPEXP count; // Number of Key Sets - static Label_Layout NCURSES_IMPEXP format; // Layout of the Key Sets - static int NCURSES_IMPEXP num_labels; // Number Of Labels in Key Sets - bool NCURSES_IMPEXP b_attrInit; // Are attributes initialized - - Soft_Label_Key *slk_array; // The array of SLK's - - // Init the Key Set - void init(); - - // Activate or Deactivate Label# i, Label counting starts with 1! - void activate_label(int i, bool bf=TRUE); - - // Activate of Deactivate all Labels - void activate_labels(bool bf); - -protected: - inline void Error (const char* msg) const THROWS(NCursesException) { - THROW(new NCursesException (msg)); - } - - // Remove SLK's from screen - void clear() { - if (ERR==::slk_clear()) - Error("slk_clear"); - } - - // Restore them - void restore() { - if (ERR==::slk_restore()) - Error("slk_restore"); - } - -public: - - // Construct a Key Set, use the most comfortable layout as default. - // You must create a Soft_Label_Key_Set before you create any object of - // the NCursesWindow, NCursesPanel or derived classes. (Actually before - // ::initscr() is called). - Soft_Label_Key_Set(Label_Layout fmt); - - // This constructor assumes, that you already constructed a Key Set - // with a layout by the constructor above. This layout will be reused. - NCURSES_IMPEXP Soft_Label_Key_Set(); - - Soft_Label_Key_Set& operator=(const Soft_Label_Key_Set& rhs) - { - if (this != &rhs) { - *this = rhs; - init(); // allocate a new slk_array[] - } - return *this; - } - - Soft_Label_Key_Set(const Soft_Label_Key_Set& rhs) - : b_attrInit(rhs.b_attrInit), - slk_array(NULL) - { - init(); // allocate a new slk_array[] - } - - virtual ~Soft_Label_Key_Set(); - - // Get Label# i. Label counting starts with 1! - NCURSES_IMPEXP Soft_Label_Key& operator[](int i); - - // Retrieve number of Labels - inline int labels() const { return num_labels; } - - // Refresh the SLK portion of the screen - inline void refresh() { - if (ERR==::slk_refresh()) - Error("slk_refresh"); - } - - // Mark the SLK portion of the screen for refresh, defer actual refresh - // until next update call. - inline void noutrefresh() { - if (ERR==::slk_noutrefresh()) - Error("slk_noutrefresh"); - } - - // Mark the whole SLK portion of the screen as modified - inline void touch() { - if (ERR==::slk_touch()) - Error("slk_touch"); - } - - // Activate Label# i - inline void show(int i) { - activate_label(i,FALSE); - activate_label(i,TRUE); - } - - // Hide Label# i - inline void hide(int i) { - activate_label(i,FALSE); - } - - // Show all Labels - inline void show() { - activate_labels(FALSE); - activate_labels(TRUE); - } - - // Hide all Labels - inline void hide() { - activate_labels(FALSE); - } - - inline void attron(attr_t attrs) { - if (ERR==::slk_attron(attrs)) - Error("slk_attron"); - } - - inline void attroff(attr_t attrs) { - if (ERR==::slk_attroff(attrs)) - Error("slk_attroff"); - } - - inline void attrset(attr_t attrs) { - if (ERR==::slk_attrset(attrs)) - Error("slk_attrset"); - } - - inline void color(short color_pair_number) { - if (ERR==::slk_color(color_pair_number)) - Error("slk_color"); - } - - inline attr_t attr() const { - return ::slk_attr(); - } -}; - -#endif /* NCURSES_CURSSLK_H_incl */ diff --git a/src/libs/ncurses/c++/demo.cc b/src/libs/ncurses/c++/demo.cc deleted file mode 100644 index ffc46373b3..0000000000 --- a/src/libs/ncurses/c++/demo.cc +++ /dev/null @@ -1,531 +0,0 @@ -/* - * Silly demo program for the NCursesPanel class. - * - * written by Anatoly Ivasyuk (anatoly@nick.csh.rit.edu) - * - * Demo code for NCursesMenu and NCursesForm written by - * Juergen Pfeifer - * - * $Id: demo.cc,v 1.32 2005/08/13 18:14:44 tom Exp $ - */ - -#include "internal.h" -#include "cursesapp.h" -#include "cursesm.h" -#include "cursesf.h" - -extern "C" unsigned int sleep(unsigned int); - -#undef index // needed for NeXT - -// -// ------------------------------------------------------------------------- -// -class SillyDemo -{ - public: - void run(int sleeptime) { - - NCursesPanel *std = new NCursesPanel(); - - // Make a few small demo panels - - NCursesPanel *u = new NCursesPanel(8,20,12,4); - NCursesPanel *v = new NCursesPanel(8,20,10,6); - NCursesPanel *w = new NCursesPanel(8,20,8,8); - NCursesPanel *x = new NCursesPanel(8,20,6,10); - NCursesPanel *y = new NCursesPanel(8,20,4,12); - NCursesPanel *z = new NCursesPanel(8,30,2,14); - - // Draw something on the main screen, so we can see what happens - // when panels get moved or deleted. - - std->box(); - std->move(std->height()/2,1); - std->hline(std->width()-2); - std->move(1,std->width()/2); - std->vline(std->height()-2); - std->addch(0,std->width()/2,ACS_TTEE); - std->addch(std->height()-1,std->width()/2,ACS_BTEE); - std->addch(std->height()/2,0,ACS_LTEE); - std->addch(std->height()/2,std->width()-1,ACS_RTEE); - std->addch(std->height()/2,std->width()/2,ACS_PLUS); - - // Draw frames with titles around panels so that we can see where - // the panels are located. - u->boldframe("Win U"); - v->frame("Win V"); - w->boldframe("Win W"); - x->frame("Win X"); - y->boldframe("Win Y"); - z->frame("Win Z"); - if (NCursesApplication::getApplication()->useColors()) { - u->bkgd(' '|COLOR_PAIR(1)); - w->bkgd(' '|COLOR_PAIR(1)); - y->bkgd(' '|COLOR_PAIR(1)); - v->bkgd(' '|COLOR_PAIR(2)); - x->bkgd(' '|COLOR_PAIR(2)); - z->bkgd(' '|COLOR_PAIR(2)); - } - - // A refresh to any valid panel updates all panels and refreshes - // the screen. Using std is just convenient - We know it's always - // valid until the end of the program. - - std->refresh(); - sleep(sleeptime); - - // Show what happens when panels are deleted and moved. - - sleep(sleeptime); - delete u; - std->refresh(); - - sleep(sleeptime); - delete z; - std->refresh(); - - sleep(sleeptime); - delete v; - std->refresh(); - - // show how it looks when a panel moves - sleep(sleeptime); - y->mvwin(5,30); - std->refresh(); - - sleep(sleeptime); - delete y; - std->refresh(); - - // show how it looks when you raise a panel - sleep(sleeptime); - w->top(); - std->refresh(); - - sleep(sleeptime); - delete w; - std->refresh(); - - sleep(sleeptime); - delete x; - - std->clear(); - std->refresh(); - - // Don't forget to clean up the main screen. Since this is the - // last thing using NCursesWindow, this has the effect of - // shutting down ncurses and restoring the terminal state. - - sleep(sleeptime); - delete std; - } -}; - -class UserData -{ -private: - int u; -public: - UserData(int x) : u(x) {} - int sleeptime() const { return u; } -}; -// -// ------------------------------------------------------------------------- -// -template class MyAction : public NCursesUserItem -{ -public: - MyAction (const char* p_name, - const T* p_UserData) - : NCursesUserItem(p_name, static_cast(0), p_UserData) - {} - - virtual ~MyAction() {} - - bool action() { - SillyDemo a; - a.run(NCursesUserItem::UserData()->sleeptime()); - return FALSE; - } -}; - -template class MyAction; -template class NCURSES_IMPEXP NCursesUserItem; - -class QuitItem : public NCursesMenuItem -{ -public: - QuitItem() : NCursesMenuItem("Quit") { - } - - bool action() { - return TRUE; - } -}; -// -// ------------------------------------------------------------------------- -// -class Label : public NCursesFormField -{ -public: - Label(const char* title, - int row, int col) - : NCursesFormField(1, static_cast(::strlen(title)), row, col) { - set_value(title); - options_off(O_EDIT|O_ACTIVE); - } -}; -// -// ------------------------------------------------------------------------- -// -class MyFieldType : public UserDefinedFieldType -{ -private: - int chk; -protected: - bool field_check(NCursesFormField& f) { - return TRUE; - } - bool char_check(int c) { - return (c==chk?TRUE:FALSE); - } -public: - MyFieldType(int x) : chk(x) { - } -}; -// -// ------------------------------------------------------------------------- -// -class TestForm : public NCursesForm -{ -private: - NCursesFormField** F; - MyFieldType* mft; - Integer_Field *ift; - Enumeration_Field *eft; - - static const char *weekdays[]; - -public: - TestForm() - : NCursesForm(13, 51, (lines() - 15)/2, (cols() - 53)/2), - F(0), - mft(0), - ift(0), - eft(0) - { - - F = new NCursesFormField*[10]; - mft = new MyFieldType('X'); - ift = new Integer_Field(0,1,10); - eft = new Enumeration_Field(weekdays); - - F[0] = new Label("Demo Entry Form",0,16); - F[1] = new Label("Weekday Enum",2,1); - F[2] = new Label("Number(1-10)",2,21); - F[3] = new Label("Only 'X'",2,35); - F[4] = new Label("Multiline Field (Dynamic and Scrollable)",5,1); - F[5] = new NCursesFormField(1,18,3,1); - F[6] = new NCursesFormField(1,12,3,21); - F[7] = new NCursesFormField(1,12,3,35); - F[8] = new NCursesFormField(4,46,6,1,2); - F[9] = new NCursesFormField(); - - InitForm(F,TRUE,TRUE); - boldframe(); - - F[5]->set_fieldtype(*eft); - F[6]->set_fieldtype(*ift); - - F[7]->set_fieldtype(*mft); - F[7]->set_maximum_growth(20); // max. 20 characters - F[7]->options_off(O_STATIC); // make field dynamic - - F[8]->set_maximum_growth(10); // max. 10 lines - F[8]->options_off(O_STATIC); // make field dynamic - } - - TestForm& operator=(const TestForm& rhs) - { - if (this != &rhs) { - *this = rhs; - } - return *this; - } - - TestForm(const TestForm& rhs) - : NCursesForm(rhs), F(0), mft(0), ift(0), eft(0) - { - } - - ~TestForm() { - delete mft; - delete ift; - delete eft; - } -}; - -const char* TestForm::weekdays[] = { - "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", - "Friday", "Saturday", NULL }; -// -// ------------------------------------------------------------------------- -// -class FormAction : public NCursesMenuItem -{ -public: - FormAction(const char *s) : NCursesMenuItem(s) { - } - - bool action() { - TestForm F; - Soft_Label_Key_Set* S = new Soft_Label_Key_Set; - for(int i=1; i <= S->labels(); i++) { - char buf[5]; - ::sprintf(buf,"Frm%02d",i); - (*S)[i] = buf; // Text - (*S)[i] = Soft_Label_Key_Set::Soft_Label_Key::Left; // Justification - } - NCursesApplication::getApplication()->push(*S); - F(); - NCursesApplication::getApplication()->pop(); - return FALSE; - } -}; -// -// ------------------------------------------------------------------------- -// -class PadAction : public NCursesMenuItem -{ -public: - PadAction(const char* s) : NCursesMenuItem(s) { - } - - bool action() { - const int GRIDSIZE = 3; - const int PADSIZE = 200; - unsigned gridcount = 0; - - NCursesPanel std; - NCursesPanel P(std.lines()-2,std.cols()-2,1,1); - NCursesFramedPad FP(P,PADSIZE,PADSIZE); - - for (int i=0; i < PADSIZE; i++) { - for (int j=0; j < PADSIZE; j++) { - if (i % GRIDSIZE == 0 && j % GRIDSIZE == 0) { - if (i==0 || j==0) - FP.addch('+'); - else - FP.addch(static_cast('A' + (gridcount++ % 26))); - } - else if (i % GRIDSIZE == 0) - FP.addch('-'); - else if (j % GRIDSIZE == 0) - FP.addch('|'); - else - FP.addch(' '); - } - } - - P.label("Pad Demo",NULL); - FP(); - P.clear(); - return FALSE; - } -}; - -// -// ------------------------------------------------------------------------- -// -class PassiveItem : public NCursesMenuItem -{ -public: - PassiveItem(const char* text) : NCursesMenuItem(text) { - options_off(O_SELECTABLE); - } -}; - -// -// ------------------------------------------------------------------------- -// -class ScanAction : public NCursesMenuItem -{ -public: - ScanAction(const char* s) : NCursesMenuItem(s) { - } - - bool action() { - NCursesPanel *std = new NCursesPanel(); - - NCursesPanel *w = new NCursesPanel(std->lines() - 2, std->cols() - 2, 1, 1); - w->box(); - w->refresh(); - - NCursesPanel *s = new NCursesPanel(w->lines() - 6, w->cols() - 6, 3, 3); - s->scrollok(TRUE); - ::echo(); - - s->printw("Enter decimal integers. The running total will be shown\n"); - int nvalue = -1; - int result = 0; - while (nvalue != 0) { - nvalue = 0; - s->scanw("%d", &nvalue); - if (nvalue != 0) { - s->printw("%d: ", result += nvalue); - } - s->refresh(); - } - s->printw("\nPress any key to continue..."); - s->getch(); - - delete s; - delete w; - delete std; - ::noecho(); - return FALSE; - } -}; - -// -// ------------------------------------------------------------------------- -// -class MyMenu : public NCursesMenu -{ -private: - NCursesPanel* P; - NCursesMenuItem** I; - UserData *u; - #define n_items 7 - -public: - MyMenu () - : NCursesMenu (n_items+2, 8, (lines()-10)/2, (cols()-10)/2), - P(0), I(0), u(0) - { - u = new UserData(1); - I = new NCursesMenuItem*[1+n_items]; - I[0] = new PassiveItem("One"); - I[1] = new PassiveItem("Two"); - I[2] = new MyAction ("Silly", u); - I[3] = new FormAction("Form"); - I[4] = new PadAction("Pad"); - I[5] = new ScanAction("Scan"); - I[6] = new QuitItem(); - I[7] = new NCursesMenuItem(); // Terminating empty item - - InitMenu(I,TRUE,TRUE); - - P = new NCursesPanel(1,n_items,LINES-1,1); - boldframe("Demo","Silly"); - P->show(); - } - - MyMenu& operator=(const MyMenu& rhs) - { - if (this != &rhs) { - *this = rhs; - } - return *this; - } - - MyMenu(const MyMenu& rhs) - : NCursesMenu(rhs), P(0), I(0), u(0) - { - } - - ~MyMenu() - { - P->hide(); - delete P; - delete u; - } - - virtual void On_Menu_Init() - { - NCursesWindow W(::stdscr); - P->move(0,0); - P->clrtoeol(); - for(int i=1; i<=count(); i++) - P->addch('0' + i); - P->bkgd(W.getbkgd()); - refresh(); - } - - virtual void On_Menu_Termination() - { - P->move(0,0); - P->clrtoeol(); - refresh(); - } - - virtual void On_Item_Init(NCursesMenuItem& item) - { - P->move(0,item.index()); - P->attron(A_REVERSE); - P->printw("%1d",1+item.index()); - P->attroff(A_REVERSE); - refresh(); - } - - virtual void On_Item_Termination(NCursesMenuItem& item) - { - P->move(0,item.index()); - P->attroff(A_REVERSE); - P->printw("%1d",1+item.index()); - refresh(); - } -}; -// -// ------------------------------------------------------------------------- -// -class TestApplication : public NCursesApplication -{ -protected: - int titlesize() const { return 1; } - void title(); - Soft_Label_Key_Set::Label_Layout useSLKs() const { - return Soft_Label_Key_Set::PC_Style_With_Index; - } - void init_labels(Soft_Label_Key_Set& S) const; - -public: - TestApplication() : NCursesApplication(TRUE) { - } - - int run(); -}; - -void TestApplication::init_labels(Soft_Label_Key_Set& S) const -{ - for(int i=1; i <= S.labels(); i++) { - char buf[5]; - ::sprintf(buf,"Key%02d",i); - S[i] = buf; // Text - S[i] = Soft_Label_Key_Set::Soft_Label_Key::Left; // Justification - } -} - -void TestApplication::title() -{ - const char * const titleText = "Simple C++ Binding Demo"; - const int len = ::strlen(titleText); - - titleWindow->bkgd(screen_titles()); - titleWindow->addstr(0,(titleWindow->cols() - len)/2, titleText); - titleWindow->noutrefresh(); -} - - -int TestApplication::run() -{ - MyMenu M; - M(); - return 0; -} - -// -// ------------------------------------------------------------------------- -// -static TestApplication Demo; diff --git a/src/libs/ncurses/c++/edit_cfg.sh b/src/libs/ncurses/c++/edit_cfg.sh deleted file mode 100755 index b56321f130..0000000000 --- a/src/libs/ncurses/c++/edit_cfg.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh -# $Id: edit_cfg.sh,v 1.14 2005/04/30 21:00:22 tom Exp $ -############################################################################## -# Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1997 -# -# Edit the default value of the etip.h file based on the autoconf-generated -# values: -# -# $1 = ncurses_cfg.h -# $2 = etip.h -# -echo "substituting autoconf'd values from $1 into $2" -for name in \ - CPP_HAS_PARAM_INIT \ - CPP_HAS_STATIC_CAST \ - ETIP_NEEDS_MATH_EXCEPTION \ - ETIP_NEEDS_MATH_H \ - HAVE_BUILTIN_H \ - HAVE_GPP_BUILTIN_H \ - HAVE_GXX_BUILTIN_H \ - HAVE_STRSTREAM_H \ - HAVE_TYPEINFO \ - HAVE_VALUES_H \ - USE_STRSTREAM_VSCAN \ - USE_STRSTREAM_VSCAN_CAST -do - rm -f $2.bak - mv $2 $2.bak - if ( grep "[ ]$name[ ]1" $1 2>&1 >/dev/null) - then - value=1 - sed -e 's/define '$name'.*$/define '$name' 1/' $2.bak >$2 - else - value=0 - sed -e 's/define '$name'.*$/define '$name' 0/' $2.bak >$2 - fi - if (cmp -s $2 $2.bak) - then - echo '... '$name $value - mv $2.bak $2 - else - echo '... '$name $value - rm -f $2.bak - fi -done diff --git a/src/libs/ncurses/c++/etip.h b/src/libs/ncurses/c++/etip.h deleted file mode 100644 index 9833b2821d..0000000000 --- a/src/libs/ncurses/c++/etip.h +++ /dev/null @@ -1,364 +0,0 @@ -// * This makes emacs happy -*-Mode: C++;-*- -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - ****************************************************************************/ - -// $Id: etip.h.in,v 1.32 2005/08/06 19:55:57 tom Exp $ - -#ifndef NCURSES_ETIP_H_incl -#define NCURSES_ETIP_H_incl 1 - -// These are substituted at configure/build time -#ifndef HAVE_BUILTIN_H -#define HAVE_BUILTIN_H 0 -#endif - -#ifndef HAVE_GXX_BUILTIN_H -#define HAVE_GXX_BUILTIN_H 0 -#endif - -#ifndef HAVE_GPP_BUILTIN_H -#define HAVE_GPP_BUILTIN_H 0 -#endif - -#ifndef HAVE_STRSTREAM_H -#define HAVE_STRSTREAM_H 1 -#endif - -#ifndef HAVE_TYPEINFO -#define HAVE_TYPEINFO 1 -#endif - -#ifndef HAVE_VALUES_H -#define HAVE_VALUES_H 0 -#endif - -#ifndef ETIP_NEEDS_MATH_H -#define ETIP_NEEDS_MATH_H 0 -#endif - -#ifndef ETIP_NEEDS_MATH_EXCEPTION -#define ETIP_NEEDS_MATH_EXCEPTION 0 -#endif - -#ifndef CPP_HAS_PARAM_INIT -#define CPP_HAS_PARAM_INIT 1 -#endif - -#ifndef CPP_HAS_STATIC_CAST -#define CPP_HAS_STATIC_CAST 0 -#endif - -#ifndef USE_STRSTREAM_VSCAN -#define USE_STRSTREAM_VSCAN 1 -#endif - -#ifndef USE_STRSTREAM_VSCAN_CAST -#define USE_STRSTREAM_VSCAN 1 -#endif - -#ifdef __GNUG__ -# if ((__GNUG__ <= 2) && (__GNUC_MINOR__ < 8)) -# if HAVE_TYPEINFO -# include -# endif -# endif -#endif - -#if defined(__GNUG__) -# if HAVE_BUILTIN_H || HAVE_GXX_BUILTIN_H || HAVE_GPP_BUILTIN_H -# if ETIP_NEEDS_MATH_H -# if ETIP_NEEDS_MATH_EXCEPTION -# undef exception -# define exception math_exception -# endif -# include -# endif -# undef exception -# define exception builtin_exception -# if HAVE_GPP_BUILTIN_H -# include -# elif HAVE_GXX_BUILTIN_H -# include -# else -# include -# endif -# undef exception -# endif -#elif defined (__SUNPRO_CC) -# include -#endif - -#include - -extern "C" { -#if HAVE_VALUES_H -# include -#endif - -#include -#include -#include -} - -// Language features -#if CPP_HAS_PARAM_INIT -#define NCURSES_PARAM_INIT(value) = value -#else -#define NCURSES_PARAM_INIT(value) /*nothing*/ -#endif - -#if CPP_HAS_STATIC_CAST -#define STATIC_CAST(s) static_cast -#else -#define STATIC_CAST(s) (s) -#endif - -// Forward Declarations -class NCURSES_IMPEXP NCursesPanel; -class NCURSES_IMPEXP NCursesMenu; -class NCURSES_IMPEXP NCursesForm; - -class NCURSES_IMPEXP NCursesException -{ -public: - const char *message; - int errorno; - - NCursesException (const char* msg, int err) - : message(msg), errorno (err) - {}; - - NCursesException (const char* msg) - : message(msg), errorno (E_SYSTEM_ERROR) - {}; - - NCursesException& operator=(const NCursesException& rhs) - { - errorno = rhs.errorno; - return *this; - } - - NCursesException(const NCursesException& rhs) - : message(rhs.message), errorno(rhs.errorno) - { - } - - virtual const char *classname() const { - return "NCursesWindow"; - } - - virtual ~NCursesException() - { - } -}; - -class NCURSES_IMPEXP NCursesPanelException : public NCursesException -{ -public: - const NCursesPanel* p; - - NCursesPanelException (const char *msg, int err) : - NCursesException (msg, err), - p (NULL) - {}; - - NCursesPanelException (const NCursesPanel* panel, - const char *msg, - int err) : - NCursesException (msg, err), - p (panel) - {}; - - NCursesPanelException (int err) : - NCursesException ("panel library error", err), - p (NULL) - {}; - - NCursesPanelException (const NCursesPanel* panel, - int err) : - NCursesException ("panel library error", err), - p (panel) - {}; - - NCursesPanelException& operator=(const NCursesPanelException& rhs) - { - if (this != &rhs) { - NCursesException::operator=(rhs); - p = rhs.p; - } - return *this; - } - - NCursesPanelException(const NCursesPanelException& rhs) - : NCursesException(rhs), p(rhs.p) - { - } - - virtual const char *classname() const { - return "NCursesPanel"; - } - - virtual ~NCursesPanelException() - { - } -}; - -class NCURSES_IMPEXP NCursesMenuException : public NCursesException -{ -public: - const NCursesMenu* m; - - NCursesMenuException (const char *msg, int err) : - NCursesException (msg, err), - m (NULL) - {}; - - NCursesMenuException (const NCursesMenu* menu, - const char *msg, - int err) : - NCursesException (msg, err), - m (menu) - {}; - - NCursesMenuException (int err) : - NCursesException ("menu library error", err), - m (NULL) - {}; - - NCursesMenuException (const NCursesMenu* menu, - int err) : - NCursesException ("menu library error", err), - m (menu) - {}; - - NCursesMenuException& operator=(const NCursesMenuException& rhs) - { - if (this != &rhs) { - NCursesException::operator=(rhs); - m = rhs.m; - } - return *this; - } - - NCursesMenuException(const NCursesMenuException& rhs) - : NCursesException(rhs), m(rhs.m) - { - } - - virtual const char *classname() const { - return "NCursesMenu"; - } - - virtual ~NCursesMenuException() - { - } -}; - -class NCURSES_IMPEXP NCursesFormException : public NCursesException -{ -public: - const NCursesForm* f; - - NCursesFormException (const char *msg, int err) : - NCursesException (msg, err), - f (NULL) - {}; - - NCursesFormException (const NCursesForm* form, - const char *msg, - int err) : - NCursesException (msg, err), - f (form) - {}; - - NCursesFormException (int err) : - NCursesException ("form library error", err), - f (NULL) - {}; - - NCursesFormException (const NCursesForm* form, - int err) : - NCursesException ("form library error", err), - f (form) - {}; - - NCursesFormException& operator=(const NCursesFormException& rhs) - { - if (this != &rhs) { - NCursesException::operator=(rhs); - f = rhs.f; - } - return *this; - } - - NCursesFormException(const NCursesFormException& rhs) - : NCursesException(rhs), f(rhs.f) - { - } - - virtual const char *classname() const { - return "NCursesForm"; - } - - virtual ~NCursesFormException() - { - } -}; - -#if !((defined(__GNUG__) && defined(__EXCEPTIONS)) || defined(__SUNPRO_CC)) -# include - extern "C" void exit(int); -#endif - -inline void THROW(const NCursesException *e) { -#if defined(__GNUG__) && defined(__EXCEPTIONS) -# if ((__GNUG__ <= 2) && (__GNUC_MINOR__ < 8)) - (*lib_error_handler)(e?e->classname():"",e?e->message:""); -#else - throw *e; -#endif -#elif defined(__SUNPRO_CC) -# if !defined(__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT < 5) - genericerror(1, ((e != 0) ? (char *)(e->message) : "")); -#else - throw *e; -#endif -#else - if (e) - cerr << e->message << endl; - exit(0); -#endif -} - -#define THROWS(s) - -#endif /* NCURSES_ETIP_H_incl */ diff --git a/src/libs/ncurses/c++/etip.h.in b/src/libs/ncurses/c++/etip.h.in deleted file mode 100644 index 482f8eb4b8..0000000000 --- a/src/libs/ncurses/c++/etip.h.in +++ /dev/null @@ -1,364 +0,0 @@ -// * This makes emacs happy -*-Mode: C++;-*- -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - ****************************************************************************/ - -// $Id: etip.h.in,v 1.32 2005/08/06 19:55:57 tom Exp $ - -#ifndef NCURSES_ETIP_H_incl -#define NCURSES_ETIP_H_incl 1 - -// These are substituted at configure/build time -#ifndef HAVE_BUILTIN_H -#define HAVE_BUILTIN_H 0 -#endif - -#ifndef HAVE_GXX_BUILTIN_H -#define HAVE_GXX_BUILTIN_H 0 -#endif - -#ifndef HAVE_GPP_BUILTIN_H -#define HAVE_GPP_BUILTIN_H 0 -#endif - -#ifndef HAVE_STRSTREAM_H -#define HAVE_STRSTREAM_H 0 -#endif - -#ifndef HAVE_TYPEINFO -#define HAVE_TYPEINFO 0 -#endif - -#ifndef HAVE_VALUES_H -#define HAVE_VALUES_H 0 -#endif - -#ifndef ETIP_NEEDS_MATH_H -#define ETIP_NEEDS_MATH_H 0 -#endif - -#ifndef ETIP_NEEDS_MATH_EXCEPTION -#define ETIP_NEEDS_MATH_EXCEPTION 0 -#endif - -#ifndef CPP_HAS_PARAM_INIT -#define CPP_HAS_PARAM_INIT 0 -#endif - -#ifndef CPP_HAS_STATIC_CAST -#define CPP_HAS_STATIC_CAST 0 // workaround for g++ 2.95.3 -#endif - -#ifndef USE_STRSTREAM_VSCAN -#define USE_STRSTREAM_VSCAN 0 -#endif - -#ifndef USE_STRSTREAM_VSCAN_CAST -#define USE_STRSTREAM_VSCAN_CAST 0 -#endif - -#ifdef __GNUG__ -# if ((__GNUG__ <= 2) && (__GNUC_MINOR__ < 8)) -# if HAVE_TYPEINFO -# include -# endif -# endif -#endif - -#if defined(__GNUG__) -# if HAVE_BUILTIN_H || HAVE_GXX_BUILTIN_H || HAVE_GPP_BUILTIN_H -# if ETIP_NEEDS_MATH_H -# if ETIP_NEEDS_MATH_EXCEPTION -# undef exception -# define exception math_exception -# endif -# include -# endif -# undef exception -# define exception builtin_exception -# if HAVE_GPP_BUILTIN_H -# include -# elif HAVE_GXX_BUILTIN_H -# include -# else -# include -# endif -# undef exception -# endif -#elif defined (__SUNPRO_CC) -# include -#endif - -#include - -extern "C" { -#if HAVE_VALUES_H -# include -#endif - -#include -#include -#include -} - -// Language features -#if CPP_HAS_PARAM_INIT -#define NCURSES_PARAM_INIT(value) = value -#else -#define NCURSES_PARAM_INIT(value) /*nothing*/ -#endif - -#if CPP_HAS_STATIC_CAST -#define STATIC_CAST(s) static_cast -#else -#define STATIC_CAST(s) (s) -#endif - -// Forward Declarations -class NCURSES_IMPEXP NCursesPanel; -class NCURSES_IMPEXP NCursesMenu; -class NCURSES_IMPEXP NCursesForm; - -class NCURSES_IMPEXP NCursesException -{ -public: - const char *message; - int errorno; - - NCursesException (const char* msg, int err) - : message(msg), errorno (err) - {}; - - NCursesException (const char* msg) - : message(msg), errorno (E_SYSTEM_ERROR) - {}; - - NCursesException& operator=(const NCursesException& rhs) - { - errorno = rhs.errorno; - return *this; - } - - NCursesException(const NCursesException& rhs) - : message(rhs.message), errorno(rhs.errorno) - { - } - - virtual const char *classname() const { - return "NCursesWindow"; - } - - virtual ~NCursesException() - { - } -}; - -class NCURSES_IMPEXP NCursesPanelException : public NCursesException -{ -public: - const NCursesPanel* p; - - NCursesPanelException (const char *msg, int err) : - NCursesException (msg, err), - p (NULL) - {}; - - NCursesPanelException (const NCursesPanel* panel, - const char *msg, - int err) : - NCursesException (msg, err), - p (panel) - {}; - - NCursesPanelException (int err) : - NCursesException ("panel library error", err), - p (NULL) - {}; - - NCursesPanelException (const NCursesPanel* panel, - int err) : - NCursesException ("panel library error", err), - p (panel) - {}; - - NCursesPanelException& operator=(const NCursesPanelException& rhs) - { - if (this != &rhs) { - NCursesException::operator=(rhs); - p = rhs.p; - } - return *this; - } - - NCursesPanelException(const NCursesPanelException& rhs) - : NCursesException(rhs), p(rhs.p) - { - } - - virtual const char *classname() const { - return "NCursesPanel"; - } - - virtual ~NCursesPanelException() - { - } -}; - -class NCURSES_IMPEXP NCursesMenuException : public NCursesException -{ -public: - const NCursesMenu* m; - - NCursesMenuException (const char *msg, int err) : - NCursesException (msg, err), - m (NULL) - {}; - - NCursesMenuException (const NCursesMenu* menu, - const char *msg, - int err) : - NCursesException (msg, err), - m (menu) - {}; - - NCursesMenuException (int err) : - NCursesException ("menu library error", err), - m (NULL) - {}; - - NCursesMenuException (const NCursesMenu* menu, - int err) : - NCursesException ("menu library error", err), - m (menu) - {}; - - NCursesMenuException& operator=(const NCursesMenuException& rhs) - { - if (this != &rhs) { - NCursesException::operator=(rhs); - m = rhs.m; - } - return *this; - } - - NCursesMenuException(const NCursesMenuException& rhs) - : NCursesException(rhs), m(rhs.m) - { - } - - virtual const char *classname() const { - return "NCursesMenu"; - } - - virtual ~NCursesMenuException() - { - } -}; - -class NCURSES_IMPEXP NCursesFormException : public NCursesException -{ -public: - const NCursesForm* f; - - NCursesFormException (const char *msg, int err) : - NCursesException (msg, err), - f (NULL) - {}; - - NCursesFormException (const NCursesForm* form, - const char *msg, - int err) : - NCursesException (msg, err), - f (form) - {}; - - NCursesFormException (int err) : - NCursesException ("form library error", err), - f (NULL) - {}; - - NCursesFormException (const NCursesForm* form, - int err) : - NCursesException ("form library error", err), - f (form) - {}; - - NCursesFormException& operator=(const NCursesFormException& rhs) - { - if (this != &rhs) { - NCursesException::operator=(rhs); - f = rhs.f; - } - return *this; - } - - NCursesFormException(const NCursesFormException& rhs) - : NCursesException(rhs), f(rhs.f) - { - } - - virtual const char *classname() const { - return "NCursesForm"; - } - - virtual ~NCursesFormException() - { - } -}; - -#if !((defined(__GNUG__) && defined(__EXCEPTIONS)) || defined(__SUNPRO_CC)) -# include - extern "C" void exit(int); -#endif - -inline void THROW(const NCursesException *e) { -#if defined(__GNUG__) && defined(__EXCEPTIONS) -# if ((__GNUG__ <= 2) && (__GNUC_MINOR__ < 8)) - (*lib_error_handler)(e?e->classname():"",e?e->message:""); -#else - throw *e; -#endif -#elif defined(__SUNPRO_CC) -# if !defined(__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT < 5) - genericerror(1, ((e != 0) ? (char *)(e->message) : "")); -#else - throw *e; -#endif -#else - if (e) - cerr << e->message << endl; - exit(0); -#endif -} - -#define THROWS(s) - -#endif /* NCURSES_ETIP_H_incl */ diff --git a/src/libs/ncurses/c++/headers b/src/libs/ncurses/c++/headers deleted file mode 100644 index 3470386adf..0000000000 --- a/src/libs/ncurses/c++/headers +++ /dev/null @@ -1,39 +0,0 @@ -# C++ headers -# $Id: headers,v 1.2 1998/02/11 12:13:40 tom Exp $ -############################################################################## -# Copyright (c) 1998 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1997 -# -$(srcdir)/cursesapp.h -$(srcdir)/cursesf.h -$(srcdir)/cursesm.h -$(srcdir)/cursesp.h -$(srcdir)/cursesw.h -$(srcdir)/cursslk.h -etip.h diff --git a/src/libs/ncurses/c++/internal.h b/src/libs/ncurses/c++/internal.h deleted file mode 100644 index 7eb47cdc26..0000000000 --- a/src/libs/ncurses/c++/internal.h +++ /dev/null @@ -1,53 +0,0 @@ -// * This makes emacs happy -*-Mode: C++;-*- -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - ****************************************************************************/ - -// $Id: internal.h,v 1.12 2005/08/06 22:12:25 tom Exp $ - -#ifndef NCURSES_CPLUS_INTERNAL_H -#define NCURSES_CPLUS_INTERNAL_H 1 - -#include - -#if USE_RCS_IDS -#define MODULE_ID(id) static const char Ident[] = id; -#else -#define MODULE_ID(id) /*nothing*/ -#endif - -#define CTRL(x) ((x) & 0x1f) - -#ifndef __EXT_QNX -#include -#endif - -#endif /* NCURSES_CPLUS_INTERNAL_H */ diff --git a/src/libs/ncurses/c++/modules b/src/libs/ncurses/c++/modules deleted file mode 100644 index 0709805847..0000000000 --- a/src/libs/ncurses/c++/modules +++ /dev/null @@ -1,43 +0,0 @@ -# Program modules -# $Id: modules,v 1.6 1999/07/31 09:46:54 juergen Exp $ -############################################################################## -# Copyright (c) 1998 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1995,1997 -# - -@ base -cursesf c++ $(srcdir) $(cursesf_h) $(cursesapp_h) -cursesm c++ $(srcdir) $(cursesm_h) $(cursesapp_h) -cursesp c++ $(srcdir) $(cursesp_h) -cursesw c++ $(srcdir) $(cursesw_h) -cursespad c++ $(srcdir) $(cursesw_h) -cursslk c++ $(srcdir) $(cursslk_h) $(cursesapp_h) -cursesapp c++ $(srcdir) $(cursesapp_h) -cursesmain c++ $(srcdir) $(cursesapp_h) -demo c++ $(srcdir) $(cursesf_h) $(cursesm_h) $(cursesapp_h) diff --git a/src/libs/ncurses/config.guess b/src/libs/ncurses/config.guess deleted file mode 100755 index d0d57f6945..0000000000 --- a/src/libs/ncurses/config.guess +++ /dev/null @@ -1,1465 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. - -timestamp='2005-09-19' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerppc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - i*:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - x86:Interix*:[34]*) - echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' - exit ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #ifdef __INTEL_COMPILER - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/src/libs/ncurses/config.status b/src/libs/ncurses/config.status deleted file mode 100755 index 668614ede1..0000000000 --- a/src/libs/ncurses/config.status +++ /dev/null @@ -1,1338 +0,0 @@ -#! /bin/sh -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -SHELL=${CONFIG_SHELL-/bin/sh} -ac_cs_invocation="$0 $@" - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# Name of the executable. -as_me=`echo "$0" |sed 's,.*[\\/],,'` - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -as_executable_p="test -f" - -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - -# NLS nuisances. -$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } -$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } -$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } -$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } -$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } -$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } -$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } -$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } - -exec 6>&1 - -config_files=" include/MKterm.h.awk include/curses.head:include/curses.h.in include/termcap.h include/unctrl.h man/Makefile include/Makefile ncurses/Makefile progs/Makefile tack/Makefile panel/Makefile menu/Makefile form/Makefile test/Makefile misc/Makefile c++/Makefile misc/run_tic.sh:misc/run_tic.in Makefile" -config_headers=" include/ncurses_cfg.h:include/ncurses_cfg.hin" -config_commands=" default" - -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number, then exit - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." -ac_cs_version="\ -config.status -configured by ./configure, generated by GNU Autoconf 2.52.20030208, - with options \"\" - -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." -srcdir=. -INSTALL="/bin/install -c" -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "x$1" : 'x\([^=]*\)='` - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` - shift - set dummy "$ac_option" "$ac_optarg" ${1+"$@"} - shift - ;; - -*);; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_need_defaults=false;; - esac - - case $1 in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running /bin/sh ./configure " " --no-create --no-recursion" - exec /bin/sh ./configure --no-create --no-recursion ;; - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:14237: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - shift - CONFIG_FILES="$CONFIG_FILES $1" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - shift - CONFIG_HEADERS="$CONFIG_HEADERS $1" - ac_need_defaults=false;; - - # This is an error. - -*) { { echo "$as_me:14256: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" ;; - - esac - shift -done - -exec 5>>config.log -cat >&5 << _ACEOF - -## ----------------------- ## -## Running config.status. ## -## ----------------------- ## - -This file was extended by $as_me 2.52.20030208, executed with - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - > $ac_cs_invocation -on `(hostname || uname -n) 2>/dev/null | sed 1q` - -_ACEOF -# -# INIT-COMMANDS section. -# - -### Special initialization commands, used to pass information from the -### configuration-run into config.status - -AWK="gawk" -CF_LIST_MODELS=" normal debug" -DFT_ARG_SUFFIX="" -DFT_LWR_MODEL="normal" -LDCONFIG="" -LIB_NAME="ncurses" -LIB_SUBSETS="termlib+ext_tinfo+base+ext_funcs" -LIB_SUFFIX="" -LIB_TRACING="DEBUG" -MAKE_TERMINFO="" -NCURSES_OSPEED="short" -SRC_SUBDIRS="man include ncurses progs tack panel menu form test misc c++" -TERMINFO="/usr/local/share/terminfo" -TINFO_ARG_SUFFIX="" -TINFO_LIB_SUFFIX="" -TINFO_NAME="tinfo" -WITH_CURSES_H="yes" -WITH_ECHO="yes" -WITH_OVERWRITE="no" -cf_cv_abi_version="5" -cf_cv_do_symlinks="no" -cf_cv_enable_lp64="0" -cf_cv_prog_CC_c_o=yes -cf_cv_prog_CXX_c_o=yes -cf_cv_rel_version="5.5" -cf_cv_rm_so_locs="no" -cf_cv_shlib_version="auto" -cf_cv_shlib_version_infix="no" -cf_cv_system_name="beos" -cf_with_cxx_binding="yes" -host="i586-pc-beos" -target="i586-pc-beos" - -for ac_config_target in $ac_config_targets -do - case "$ac_config_target" in - # Handling of arguments. - "include/MKterm.h.awk" ) CONFIG_FILES="$CONFIG_FILES include/MKterm.h.awk" ;; - "include/curses.head" ) CONFIG_FILES="$CONFIG_FILES include/curses.head:include/curses.h.in" ;; - "include/termcap.h" ) CONFIG_FILES="$CONFIG_FILES include/termcap.h" ;; - "include/unctrl.h" ) CONFIG_FILES="$CONFIG_FILES include/unctrl.h" ;; - "$SUB_MAKEFILES" ) CONFIG_FILES="$CONFIG_FILES $SUB_MAKEFILES" ;; - "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; - "include/ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/ncurses_cfg.h:include/ncurses_cfg.hin" ;; - *) { { echo "$as_me:14342: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Create a temporary directory, and hook for its removal unless debugging. -$debug || -{ - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} - -# Create a (secure) tmp directory for tmp files. -: ${TMPDIR=/tmp} -{ - tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=$TMPDIR/cs$$-$RANDOM - (umask 077 && mkdir $tmp) -} || -{ - echo "$me: cannot create a temporary directory in $TMPDIR" >&2 - { (exit 1); exit 1; } -} - - -# -# CONFIG_FILES section. -# - -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "$CONFIG_FILES"; then - # Protect against being on the right side of a sed subst in config.status. - sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g; - s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF -s,@SHELL@,/bin/sh,;t t -s,@exec_prefix@,${prefix},;t t -s,@prefix@,/usr/local,;t t -s,@program_transform_name@,s,x,x,,;t t -s,@bindir@,${exec_prefix}/bin,;t t -s,@sbindir@,${exec_prefix}/sbin,;t t -s,@libexecdir@,${exec_prefix}/libexec,;t t -s,@datadir@,${prefix}/share,;t t -s,@sysconfdir@,${prefix}/etc,;t t -s,@sharedstatedir@,${prefix}/com,;t t -s,@localstatedir@,${prefix}/var,;t t -s,@libdir@,${exec_prefix}/lib,;t t -s,@includedir@,$(prefix)/include/ncurses,;t t -s,@oldincludedir@,/usr/include,;t t -s,@infodir@,${prefix}/info,;t t -s,@mandir@,${prefix}/man,;t t -s,@PACKAGE_NAME@,,;t t -s,@PACKAGE_TARNAME@,,;t t -s,@PACKAGE_VERSION@,,;t t -s,@PACKAGE_STRING@,,;t t -s,@PACKAGE_BUGREPORT@,,;t t -s,@build_alias@,,;t t -s,@host_alias@,,;t t -s,@target_alias@,,;t t -s,@ECHO_C@,,;t t -s,@ECHO_N@,-n,;t t -s,@ECHO_T@,,;t t -s,@PATH_SEPARATOR@,:,;t t -s,@DEFS@,-DHAVE_CONFIG_H,;t t -s,@LIBS@,,;t t -s,@NCURSES_MAJOR@,5,;t t -s,@NCURSES_MINOR@,5,;t t -s,@NCURSES_PATCH@,20051010,;t t -s,@cf_cv_rel_version@,5.5,;t t -s,@cf_cv_abi_version@,5,;t t -s,@cf_cv_builtin_bool@,1,;t t -s,@cf_cv_header_stdbool_h@,0,;t t -s,@cf_cv_type_of_bool@,unsigned char,;t t -s,@build@,i586-pc-beos,;t t -s,@build_cpu@,i586,;t t -s,@build_vendor@,pc,;t t -s,@build_os@,beos,;t t -s,@host@,i586-pc-beos,;t t -s,@host_cpu@,i586,;t t -s,@host_vendor@,pc,;t t -s,@host_os@,beos,;t t -s,@target@,i586-pc-beos,;t t -s,@target_cpu@,i586,;t t -s,@target_vendor@,pc,;t t -s,@target_os@,beos,;t t -s,@CC@,gcc,;t t -s,@CFLAGS@,-O2,;t t -s,@LDFLAGS@,,;t t -s,@CPPFLAGS@,-I. -I../include -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=199506L -DNDEBUG -I$(includedir),;t t -s,@ac_ct_CC@,gcc,;t t -s,@EXEEXT@,,;t t -s,@OBJEXT@,o,;t t -s,@CPP@,gcc -E,;t t -s,@EXTRA_CPPFLAGS@,,;t t -s,@PROG_EXT@,,;t t -s,@LDCONFIG@,,;t t -s,@CXX@,/boot/develop/bin/g++,;t t -s,@CXXFLAGS@,-O2,;t t -s,@ac_ct_CXX@,g++,;t t -s,@AWK@,gawk,;t t -s,@SET_MAKE@,,;t t -s,@INSTALL_PROGRAM@,${INSTALL},;t t -s,@INSTALL_SCRIPT@,${INSTALL},;t t -s,@INSTALL_DATA@,${INSTALL} -m 644,;t t -s,@LN_S@,ln -s,;t t -s,@MAKE_LOWER_TAGS@,,;t t -s,@MAKE_UPPER_TAGS@,,;t t -s,@LINT@,,;t t -s,@MAN@,,;t t -s,@LINT_OPTS@,,;t t -s,@RANLIB@,ranlib,;t t -s,@ac_ct_RANLIB@,ranlib,;t t -s,@LD@,ld,;t t -s,@ac_ct_LD@,ld,;t t -s,@AR@,ar,;t t -s,@ac_ct_AR@,ar,;t t -s,@AR_OPTS@,rv,;t t -s,@cf_cv_makeflags@,,;t t -s,@DESTDIR@,,;t t -s,@BUILD_CC@,$(CC),;t t -s,@BUILD_CPP@,$(CPP),;t t -s,@BUILD_CFLAGS@,$(CFLAGS),;t t -s,@BUILD_CPPFLAGS@,$(CPPFLAGS),;t t -s,@BUILD_LDFLAGS@,$(LDFLAGS),;t t -s,@BUILD_LIBS@,$(LIBS),;t t -s,@BUILD_EXEEXT@,$x,;t t -s,@BUILD_OBJEXT@,o,;t t -s,@cf_list_models@, normal debug,;t t -s,@LIBTOOL@,,;t t -s,@LIBTOOL_CXX@,,;t t -s,@LIB_CREATE@,$(AR) -cr,;t t -s,@LIB_OBJECT@,$(OBJECTS),;t t -s,@LIB_SUFFIX@,,;t t -s,@LIB_PREP@,ranlib,;t t -s,@LIB_CLEAN@,,;t t -s,@LIB_COMPILE@,,;t t -s,@LIB_LINK@,,;t t -s,@LIB_INSTALL@,,;t t -s,@LIB_UNINSTALL@,,;t t -s,@DFT_LWR_MODEL@,normal,;t t -s,@DFT_UPR_MODEL@,NORMAL,;t t -s,@TINFO_NAME@,tinfo,;t t -s,@LIB_NAME@,ncurses,;t t -s,@LIB_PREFIX@,lib,;t t -s,@CC_G_OPT@,-g,;t t -s,@CXX_G_OPT@,-g,;t t -s,@LD_MODEL@,,;t t -s,@CC_SHARED_OPTS@,-fPIC,;t t -s,@LD_SHARED_OPTS@,,;t t -s,@MK_SHARED_LIB@,$(CC) -o $@ -Xlinker -soname=`basename $@` -nostart -e 0,;t t -s,@LINK_PROGS@,,;t t -s,@LINK_TESTS@,,;t t -s,@EXTRA_LDFLAGS@,,;t t -s,@LOCAL_LDFLAGS@,,;t t -s,@LOCAL_LDFLAGS2@,,;t t -s,@INSTALL_LIB@,-m 644,;t t -s,@TERMINFO_SRC@,${top_srcdir}/misc/terminfo.src,;t t -s,@PATHSEP@,:,;t t -s,@FALLBACK_LIST@,,;t t -s,@WHICH_XTERM@,xterm-new,;t t -s,@TERMINFO_DIRS@,/usr/local/share/terminfo,;t t -s,@TERMINFO@,/usr/local/share/terminfo,;t t -s,@MAKE_TERMINFO@,,;t t -s,@TERMPATH@,,;t t -s,@BROKEN_LINKER@,0,;t t -s,@NCURSES_CH_T@,chtype,;t t -s,@NCURSES_LIBUTF8@,0,;t t -s,@NEED_WCHAR_H@,0,;t t -s,@NCURSES_MBSTATE_T@,0,;t t -s,@NCURSES_WCHAR_T@,0,;t t -s,@NCURSES_WINT_T@,0,;t t -s,@NCURSES_OK_WCHAR_T@,,;t t -s,@NCURSES_OK_WINT_T@,,;t t -s,@cf_cv_enable_lp64@,0,;t t -s,@NCURSES_BOOL@,auto,;t t -s,@TERMINFO_CAPS@,Caps,;t t -s,@NCURSES_OSPEED@,short,;t t -s,@MANPAGE_RENAMES@,no,;t t -s,@NCURSES_EXT_FUNCS@,1,;t t -s,@NCURSES_CONST@,/*nothing*/,;t t -s,@NCURSES_XNAMES@,1,;t t -s,@NCURSES_EXT_COLORS@,0,;t t -s,@NCURSES_MOUSE_VERSION@,1,;t t -s,@ECHO_LINK@,,;t t -s,@EXTRA_CFLAGS@,,;t t -s,@EXTRA_CXXFLAGS@,,;t t -s,@ADA_TRACE@,FALSE,;t t -s,@MATH_LIB@,,;t t -s,@cf_cv_typeof_chtype@,long,;t t -s,@cf_cv_1UL@,1UL,;t t -s,@cf_cv_typeof_mmask_t@,long,;t t -s,@HAVE_VSSCANF@,1,;t t -s,@CXXCPP@,/boot/develop/bin/g++ -E,;t t -s,@CXXLDFLAGS@,,;t t -s,@CXX_AR@,$(AR),;t t -s,@CXX_AR_OPTS@,$(AR_OPTS),;t t -s,@CXXLIBS@, -lstdc++,;t t -s,@USE_CXX_BOOL@,defined(__cplusplus),;t t -s,@gnat_exists@,no,;t t -s,@M4_exists@,,;t t -s,@cf_ada_make@,,;t t -s,@cf_ada_compiler@,,;t t -s,@cf_ada_package@,,;t t -s,@ADAFLAGS@,,;t t -s,@cf_compile_generics@,,;t t -s,@cf_generic_objects@,,;t t -s,@PRAGMA_UNREF@,,;t t -s,@ADA_INCLUDE@,,;t t -s,@ADA_OBJECTS@,,;t t -s,@ACPPFLAGS@,-I. -I../../include -I$(includedir),;t t -s,@DFT_ARG_SUFFIX@,,;t t -s,@DFT_DEP_SUFFIX@,.a,;t t -s,@DFT_OBJ_SUBDIR@,objects,;t t -s,@CXX_LIB_SUFFIX@,.a,;t t -s,@TINFO_ARG_SUFFIX@,,;t t -s,@TINFO_DEP_SUFFIX@,,;t t -s,@TINFO_LIB_SUFFIX@,,;t t -s,@TINFO_ARGS@,-L../lib -lncurses,;t t -s,@TINFO_ARGS2@,-L../../lib -lncurses,;t t -s,@TINFO_LIST@,,;t t -s,@SHLIB_LIST@,,;t t -s,@TEST_ARGS@,-L../lib -lform -lmenu -lpanel -lncurses ,;t t -s,@TEST_DEPS@,../lib/libform.a ../lib/libmenu.a ../lib/libpanel.a ../lib/libncurses.a ,;t t -s,@TEST_ARG2@,-L../../lib -lform -lmenu -lpanel -lncurses ,;t t -s,@TEST_DEP2@,../../lib/libform.a ../../lib/libmenu.a ../../lib/libpanel.a ../../lib/libncurses.a ,;t t -s,@ADA_SUBDIRS@,,;t t -s,@DIRS_TO_MAKE@,lib objects obj_g,;t t -CEOF - - # Split the substitutions into bite-sized pieces for seds with - # small command number limits, like on Digital OSF/1 and HP-UX. - ac_max_sed_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # Line after last line for current file. - ac_more_lines=: - ac_sed_cmds= - while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false - else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_lines` - fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat - fi -fi # test -n "$CONFIG_FILES" - -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || mkdir "$as_incr_dir" - ;; - esac -done; } - - ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'` - else - ac_dir_suffix= ac_dots= - fi - - case $srcdir in - .) ac_srcdir=. - if test -z "$ac_dots"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_dots$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_dots$srcdir ;; - esac - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_dots$INSTALL ;; - esac - - if test x"$ac_file" != x-; then - { echo "$as_me:14700: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated automatically by config.status. */ - configure_input="Generated automatically from `echo $ac_file_in | - sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:14718: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:14731: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } - sed "/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/; -s/:*\${srcdir}:*/:/; -s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; -s/:*$//; -s/^[^=]*=[ ]*$//; -} - -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s,@configure_input@,$configure_input,;t t -s,@srcdir@,$ac_srcdir,;t t -s,@top_srcdir@,$ac_top_srcdir,;t t -s,@INSTALL@,$ac_INSTALL,;t t -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out - rm -f $tmp/stdin - if test x"$ac_file" != x-; then - mv $tmp/out $ac_file - else - cat $tmp/out - rm -f $tmp/out - fi - -done - -# -# CONFIG_HEADER section. -# - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='[ ].*$,\1#\2' -ac_dC=' ' -ac_dD=',;t' -# ac_i turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_iA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_iB='\([ ]\),\1#\2define\3' -ac_iC=' ' -ac_iD='\4,;t' -# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='$,\1#\2define\3' -ac_uC=' ' -ac_uD=',;t' - -for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - test x"$ac_file" != x- && { echo "$as_me:14797: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:14808: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:14821: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } - # Remove the trailing spaces. - sed 's/[ ]*$//' $ac_file_inputs >$tmp/in - - rm -f conftest.frag - cat >> conftest.frag <> conftest.frag <> conftest.frag <> conftest.edit < $tmp/out -rm -f $tmp/in -mv $tmp/out $tmp/in -rm -f conftest.edit conftest.frag - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated automatically by config.status. */ - if test x"$ac_file" = x-; then - echo "/* Generated automatically by configure. */" >$tmp/config.h - else - echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h - fi - cat $tmp/in >>$tmp/config.h - rm -f $tmp/in - if test x"$ac_file" != x-; then - if cmp -s $ac_file $tmp/config.h 2>/dev/null; then - { echo "$as_me:14879: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} - else - ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || mkdir "$as_incr_dir" - ;; - esac -done; } - - fi - rm -f $ac_file - mv $tmp/config.h $ac_file - fi - else - cat $tmp/config.h - rm -f $tmp/config.h - fi -done - -# -# CONFIG_COMMANDS section. -# -for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue - ac_dest=`echo "$ac_file" | sed 's,:.*,,'` - ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` - - case $ac_dest in - default ) - - case $cf_cv_system_name in - OS/2*) LIB_PREFIX='' ;; - os2*) LIB_PREFIX='' ;; - *) LIB_PREFIX='lib' ;; - esac -cf_prefix=$LIB_PREFIX - -for cf_dir in $SRC_SUBDIRS -do - if test -f $srcdir/$cf_dir/modules; then - - IMPORT_LIB= - SHARED_LIB= - LIBS_TO_MAKE= - for cf_item in $CF_LIST_MODELS - do - - case $cf_item in - libtool) cf_suffix='.la' ;; - normal) cf_suffix='.a' ;; - debug) cf_suffix='_g.a' ;; - profile) cf_suffix='_p.a' ;; - shared) - case $cf_cv_system_name in - cygwin*) cf_suffix='.dll' ;; - darwin*) cf_suffix='.dylib' ;; - hpux*) - case $target in - ia64*) cf_suffix='.so' ;; - *) cf_suffix='.sl' ;; - esac - ;; - *) cf_suffix='.so' ;; - esac - esac - test -n "$LIB_SUFFIX" && cf_suffix="${LIB_SUFFIX}${cf_suffix}" - - if test $cf_item = shared ; then - if test "$cf_cv_do_symlinks" = yes ; then - case "$cf_cv_shlib_version" in #(vi - rel) #(vi - case "$cf_cv_system_name" in #(vi - darwin*) - case .${LIB_SUFFIX} in - .w*) - cf_suffix=`echo $cf_suffix | sed 's/^w//'` - cf_suffix=w'.$(REL_VERSION)'"$cf_suffix" - ;; - *) - cf_suffix='.$(REL_VERSION)'"$cf_suffix" - ;; - esac - ;; #(vi - *) cf_suffix="$cf_suffix"'.$(REL_VERSION)' ;; - esac - ;; - abi) - case "$cf_cv_system_name" in #(vi - darwin*) - case .${LIB_SUFFIX} in - .w*) - cf_suffix=`echo $cf_suffix | sed 's/^w//'` - cf_suffix=w'.$(ABI_VERSION)'"$cf_suffix" - ;; - *) - cf_suffix='.$(ABI_VERSION)'"$cf_suffix" - ;; - esac - ;; #(vi - *) cf_suffix="$cf_suffix"'.$(ABI_VERSION)' ;; - esac - ;; - esac - fi - # cygwin needs import library, and has unique naming convention - # use autodetected ${cf_prefix} for import lib and static lib, but - # use 'cyg' prefix for shared lib. - if test $cf_cv_shlib_version = cygdll ; then - SHARED_LIB="../lib/cyg${cf_dir}\$(ABI_VERSION).dll" - IMPORT_LIB="../lib/${cf_prefix}${cf_dir}.dll.a" - LIBS_TO_MAKE="$LIBS_TO_MAKE \$(SHARED_LIB) \$(IMPORT_LIB)" - continue - fi - fi - LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}" - done - - if test $cf_dir = ncurses ; then - cf_subsets="$LIB_SUBSETS" - cf_termlib=`echo "$cf_subsets" |sed -e 's/ .*$//'` - if test "$cf_termlib" != "$cf_subsets" ; then - cf_item=`echo $LIBS_TO_MAKE |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g` - LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE" - fi - else - cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'` - fi - - sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \ - -e "s%@IMPORT_LIB@%$IMPORT_LIB%" \ - -e "s%@SHARED_LIB@%$SHARED_LIB%" \ - $cf_dir/Makefile >$cf_dir/Makefile.out - mv $cf_dir/Makefile.out $cf_dir/Makefile - - $AWK -f $srcdir/mk-0th.awk \ - libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \ - $srcdir/$cf_dir/modules >>$cf_dir/Makefile - - for cf_subset in $cf_subsets - do - cf_subdirs= - for cf_item in $CF_LIST_MODELS - do - echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})" - -cf_ITEM=`echo "$cf_item" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - case $cf_item in - libtool) cf_suffix='.la' ;; - normal) cf_suffix='.a' ;; - debug) cf_suffix='_g.a' ;; - profile) cf_suffix='_p.a' ;; - shared) - case $cf_cv_system_name in - cygwin*) cf_suffix='.dll' ;; - darwin*) cf_suffix='.dylib' ;; - hpux*) - case $target in - ia64*) cf_suffix='.so' ;; - *) cf_suffix='.sl' ;; - esac - ;; - *) cf_suffix='.so' ;; - esac - esac - test -n "$LIB_SUFFIX" && cf_suffix="${LIB_SUFFIX}${cf_suffix}" - - case $cf_item in - libtool) cf_subdir='obj_lo' ;; - normal) cf_subdir='objects' ;; - debug) cf_subdir='obj_g' ;; - profile) cf_subdir='obj_p' ;; - shared) - case $cf_cv_system_name in #(vi - cygwin) #(vi - cf_subdir='objects' ;; - *) - cf_subdir='obj_s' ;; - esac - esac - - # Test for case where we build libtinfo with a different name. - cf_libname=$cf_dir - if test $cf_dir = ncurses ; then - case $cf_subset in - *base*) - ;; - termlib*) - cf_libname=$TINFO_LIB_SUFFIX - if test -n "${DFT_ARG_SUFFIX}" ; then - # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX - cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"` - fi - ;; - esac - fi - - # These dependencies really are for development, not - # builds, but they are useful in porting, too. - cf_depend="../include/ncurses_cfg.h" - if test "$srcdir" = "."; then - cf_reldir="." - else - cf_reldir="\$(srcdir)" - fi - - if test -f $srcdir/$cf_dir/$cf_dir.priv.h; then - cf_depend="$cf_depend $cf_reldir/$cf_dir.priv.h" - elif test -f $srcdir/$cf_dir/curses.priv.h; then - cf_depend="$cf_depend $cf_reldir/curses.priv.h" - fi - - cf_dir_suffix= - old_cf_suffix="$cf_suffix" - if test "$cf_cv_shlib_version_infix" = yes ; then - if test -n "$LIB_SUFFIX" ; then - case $LIB_SUFFIX in - w*) - cf_libname=`echo $cf_libname | sed 's/w$//'` - cf_suffix=`echo $cf_suffix | sed 's/^w//'` - cf_dir_suffix=w - ;; - esac - fi - fi - - $AWK -f $srcdir/mk-1st.awk \ - name=${cf_libname}${cf_dir_suffix} \ - traces=$LIB_TRACING \ - MODEL=$cf_ITEM \ - model=$cf_subdir \ - prefix=$cf_prefix \ - suffix=$cf_suffix \ - subset=$cf_subset \ - ShlibVer=$cf_cv_shlib_version \ - ShlibVerInfix=$cf_cv_shlib_version_infix \ - DoLinks=$cf_cv_do_symlinks \ - rmSoLocs=$cf_cv_rm_so_locs \ - ldconfig="$LDCONFIG" \ - overwrite=$WITH_OVERWRITE \ - depend="$cf_depend" \ - host="$host" \ - $srcdir/$cf_dir/modules >>$cf_dir/Makefile - - cf_suffix="$old_cf_suffix" - - for cf_subdir2 in $cf_subdirs lib - do - test $cf_subdir = $cf_subdir2 && break - done - test "${cf_subset}.${cf_subdir2}" != "${cf_subset}.${cf_subdir}" && \ - $AWK -f $srcdir/mk-2nd.awk \ - name=$cf_dir \ - traces=$LIB_TRACING \ - MODEL=$cf_ITEM \ - model=$cf_subdir \ - subset=$cf_subset \ - srcdir=$srcdir \ - echo=$WITH_ECHO \ - crenames=$cf_cv_prog_CC_c_o \ - cxxrenames=$cf_cv_prog_CXX_c_o \ - $srcdir/$cf_dir/modules >>$cf_dir/Makefile - cf_subdirs="$cf_subdirs $cf_subdir" - done - done - fi - - echo ' cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) $@' >>Makefile -done - -for cf_dir in $SRC_SUBDIRS -do - if test -f $cf_dir/Makefile ; then - case "$cf_dir" in - Ada95) #(vi - echo 'libs \' >> Makefile - echo 'install.libs \' >> Makefile - echo 'uninstall.libs ::' >> Makefile - echo ' cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) $@' >> Makefile - ;; - esac - fi - - if test -f $srcdir/$cf_dir/modules; then - echo >> Makefile - if test -f $srcdir/$cf_dir/headers; then -cat >> Makefile <> Makefile -fi -cat >> Makefile <> Makefile <> Makefile <> Makefile <headers.sh <>headers.sh </<\$END\/\$NAME>/" >> \$TMPSED - done - ;; -*) - echo "" >> \$TMPSED - ;; -esac -CF_EOF -else - cat >>headers.sh <//" >> \$TMPSED - NAME=ncurses.h - fi - echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED - done - ;; -*) - echo "s///" >> \$TMPSED - ;; -esac -CF_EOF -fi -cat >>headers.sh < \$TMPSRC -NAME=\`basename \$SRC\` -CF_EOF -if test $WITH_CURSES_H != yes; then - cat >>headers.sh <>headers.sh <>$cf_dir/Makefile <>$cf_dir/Makefile - j=$i - done - echo " $j" >>$cf_dir/Makefile - for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"` - do - echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f `basename $i`) ; ../headers.sh \$(INSTALL_DATA) \$(DESTDIR)\$(includedir) \$(srcdir) $i" >>$cf_dir/Makefile - test $i = curses.h && test $WITH_CURSES_H = yes && echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h && \$(LN_S) curses.h ncurses.h)" >>$cf_dir/Makefile - done - - cat >>$cf_dir/Makefile <>$cf_dir/Makefile - test $i = curses.h && echo " -@ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h)" >>$cf_dir/Makefile - done - fi - - if test -f $srcdir/$cf_dir/modules; then - if test "$cf_dir" != "c++" ; then - cat >>$cf_dir/Makefile <<"CF_EOF" -depend : $(AUTO_SRC) - makedepend -- $(CPPFLAGS) -- $(C_SRC) - -# DO NOT DELETE THIS LINE -- make depend depends on it. -CF_EOF - fi - fi -done - - ;; - esac -done - -{ (exit 0); exit 0; } diff --git a/src/libs/ncurses/config.sub b/src/libs/ncurses/config.sub deleted file mode 100755 index 1c366dfde9..0000000000 --- a/src/libs/ncurses/config.sub +++ /dev/null @@ -1,1579 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. - -timestamp='2005-07-08' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ - kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64vr | mips64vrel \ - | mips64orion | mips64orionel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | ms1 \ - | msp430 \ - | ns16k | ns32k \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b \ - | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ - | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) - basic_machine=$basic_machine-unknown - ;; - m32c) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | ms1-* \ - | msp430-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tron-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ - | ymp-* \ - | z8k-*) - ;; - m32c-*) - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16c) - basic_machine=cr16c-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/src/libs/ncurses/configure b/src/libs/ncurses/configure deleted file mode 100755 index e836ccaff2..0000000000 --- a/src/libs/ncurses/configure +++ /dev/null @@ -1,15404 +0,0 @@ -#! /bin/sh -# From configure.in Revision: 1.351 . -# Guess values for system-dependent variables and create Makefiles. -# Generated by Autoconf 2.52.20030208. -# -# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# Name of the executable. -as_me=`echo "$0" |sed 's,.*[\\/],,'` - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -as_executable_p="test -f" - -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - -# NLS nuisances. -$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } -$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } -$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } -$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } -$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } -$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } -$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } -$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -exec 6>&1 - -# -# Initializations. -# -ac_default_prefix=/usr/local -cross_compiling=no -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Maximum number of lines to put in a shell here document. -# This variable seems obsolete. It should probably be removed, and -# only ac_max_sed_lines should be used. -: ${ac_max_here_lines=38} - -ac_unique_file="ncurses/base/lib_initscr.c" - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= - -ac_prev= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_option in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - eval "enable_$ac_feature=no" ;; - - -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "enable_$ac_feature='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package| sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "with_$ac_package='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/-/_/g'` - eval "with_$ac_package=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$ac_envvar='$ac_optarg'" - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -# Be sure to have absolute paths. -for ac_var in exec_prefix prefix -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -# Be sure to have absolute paths. -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* ) ;; - *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: should be removed in autoconf 3.0. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo "$ac_prog" | sed 's%[\\/][^\\/][^\\/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "$as_me: error: cannot find sources in $ac_confdir or .." >&2 - { (exit 1); exit 1; }; } - else - { echo "$as_me: error: cannot find sources in $srcdir" >&2 - { (exit 1); exit 1; }; } - fi -fi -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` -ac_env_build_alias_set=${build_alias+set} -ac_env_build_alias_value=$build_alias -ac_cv_env_build_alias_set=${build_alias+set} -ac_cv_env_build_alias_value=$build_alias -ac_env_host_alias_set=${host_alias+set} -ac_env_host_alias_value=$host_alias -ac_cv_env_host_alias_set=${host_alias+set} -ac_cv_env_host_alias_value=$host_alias -ac_env_target_alias_set=${target_alias+set} -ac_env_target_alias_value=$target_alias -ac_cv_env_target_alias_set=${target_alias+set} -ac_cv_env_target_alias_value=$target_alias -ac_env_CC_set=${CC+set} -ac_env_CC_value=$CC -ac_cv_env_CC_set=${CC+set} -ac_cv_env_CC_value=$CC -ac_env_CFLAGS_set=${CFLAGS+set} -ac_env_CFLAGS_value=$CFLAGS -ac_cv_env_CFLAGS_set=${CFLAGS+set} -ac_cv_env_CFLAGS_value=$CFLAGS -ac_env_LDFLAGS_set=${LDFLAGS+set} -ac_env_LDFLAGS_value=$LDFLAGS -ac_cv_env_LDFLAGS_set=${LDFLAGS+set} -ac_cv_env_LDFLAGS_value=$LDFLAGS -ac_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_env_CPPFLAGS_value=$CPPFLAGS -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_cv_env_CPPFLAGS_value=$CPPFLAGS -ac_env_CPP_set=${CPP+set} -ac_env_CPP_value=$CPP -ac_cv_env_CPP_set=${CPP+set} -ac_cv_env_CPP_value=$CPP -ac_env_CXX_set=${CXX+set} -ac_env_CXX_value=$CXX -ac_cv_env_CXX_set=${CXX+set} -ac_cv_env_CXX_value=$CXX -ac_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_env_CXXFLAGS_value=$CXXFLAGS -ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_cv_env_CXXFLAGS_value=$CXXFLAGS -ac_env_CXXCPP_set=${CXXCPP+set} -ac_env_CXXCPP_value=$CXXCPP -ac_cv_env_CXXCPP_set=${CXXCPP+set} -ac_cv_env_CXXCPP_value=$CXXCPP - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat < if you have libraries in a - nonstandard directory - CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have - headers in a nonstandard directory - CPP C preprocessor - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CXXCPP C++ preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -EOF -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - ac_popdir=`pwd` - for ac_subdir in : $ac_subdirs_all; do test "x$ac_subdir" = x: && continue - cd $ac_subdir - # A "../" for each directory in /$ac_subdir. - ac_dots=`echo $ac_subdir | - sed 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g'` - - case $srcdir in - .) # No --srcdir option. We are building in place. - ac_sub_srcdir=$srcdir ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_sub_srcdir=$srcdir/$ac_subdir ;; - *) # Relative path. - ac_sub_srcdir=$ac_dots$srcdir/$ac_subdir ;; - esac - - # Check for guested configure; otherwise get Cygnus style configure. - if test -f $ac_sub_srcdir/configure.gnu; then - echo - $SHELL $ac_sub_srcdir/configure.gnu --help=recursive - elif test -f $ac_sub_srcdir/configure; then - echo - $SHELL $ac_sub_srcdir/configure --help=recursive - elif test -f $ac_sub_srcdir/configure.ac || - test -f $ac_sub_srcdir/configure.in; then - echo - $ac_configure --help - else - echo "$as_me: WARNING: no configuration information is in $ac_subdir" >&2 - fi - cd $ac_popdir - done -fi - -test -n "$ac_init_help" && exit 0 -if $ac_init_version; then - cat <<\EOF - -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -EOF - exit 0 -fi -exec 5>config.log -cat >&5 </dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -hostinfo = `(hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -PATH = $PATH - -_ASUNAME -} >&5 - -cat >&5 <\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - ac_sep=" " ;; - *) ac_configure_args="$ac_configure_args$ac_sep$ac_arg" - ac_sep=" " ;; - esac - # Get rid of the leading space. -done - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - echo >&5 - echo "## ----------------- ##" >&5 - echo "## Cache variables. ##" >&5 - echo "## ----------------- ##" >&5 - echo >&5 - # The following way of writing the cache mishandles newlines in values, -{ - (set) 2>&1 | - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) - sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" - ;; - *) - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} >&5 - sed "/^$/d" confdefs.h >conftest.log - if test -s conftest.log; then - echo >&5 - echo "## ------------ ##" >&5 - echo "## confdefs.h. ##" >&5 - echo "## ------------ ##" >&5 - echo >&5 - cat conftest.log >&5 - fi - (echo; echo) >&5 - test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" >&5 - echo "$as_me: exit $exit_status" >&5 - rm -rf conftest* confdefs* core core.* *.core conf$$* $ac_clean_files && - exit $exit_status - ' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo >confdefs.h - -# Let the site file select an alternate cache file if it wants to. -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - { echo "$as_me:947: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} - cat "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { echo "$as_me:958: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . $cache_file;; - *) . ./$cache_file;; - esac - fi -else - { echo "$as_me:966: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val="\$ac_cv_env_${ac_var}_value" - eval ac_new_val="\$ac_env_${ac_var}_value" - case $ac_old_set,$ac_new_set in - set,) - { echo "$as_me:982: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { echo "$as_me:986: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:992: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:994: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:996: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: - fi;; - esac - # Pass precious variables to config.status. It doesn't matter if - # we pass some twice (in addition to the command line arguments). - if test "$ac_new_set" = set; then - case $ac_new_val in - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` - ac_configure_args="$ac_configure_args '$ac_arg'" - ;; - *) ac_configure_args="$ac_configure_args $ac_var=$ac_new_val" - ;; - esac - fi -done -if $ac_cache_corrupted; then - { echo "$as_me:1015: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:1017: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac -echo "#! $SHELL" >conftest.sh -echo "exit 0" >>conftest.sh -chmod +x conftest.sh -if { (echo "$as_me:1037: PATH=\".;.\"; conftest.sh") >&5 - (PATH=".;."; conftest.sh) 2>&5 - ac_status=$? - echo "$as_me:1040: \$? = $ac_status" >&5 - (exit $ac_status); }; then - ac_path_separator=';' -else - ac_path_separator=: -fi -PATH_SEPARATOR="$ac_path_separator" -rm -f conftest.sh - -ac_config_headers="$ac_config_headers include/ncurses_cfg.h:include/ncurses_cfg.hin" - -NCURSES_MAJOR="`egrep '^NCURSES_MAJOR[ ]*=' $srcdir/dist.mk | sed -e 's/^[^0-9]*//'`" -NCURSES_MINOR="`egrep '^NCURSES_MINOR[ ]*=' $srcdir/dist.mk | sed -e 's/^[^0-9]*//'`" -NCURSES_PATCH="`egrep '^NCURSES_PATCH[ ]*=' $srcdir/dist.mk | sed -e 's/^[^0-9]*//'`" -cf_cv_abi_version=${NCURSES_MAJOR} -cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR} -cf_cv_timestamp=`date` -echo "$as_me:1057: result: Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&5 -echo "${ECHO_T}Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&6 - -test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0 - -# Check whether --with-rel-version or --without-rel-version was given. -if test "${with_rel_version+set}" = set; then - withval="$with_rel_version" - { echo "$as_me:1065: WARNING: overriding release version $cf_cv_rel_version to $withval" >&5 -echo "$as_me: WARNING: overriding release version $cf_cv_rel_version to $withval" >&2;} - cf_cv_rel_version=$withval -fi; - - NCURSES_MAJOR=`echo "$cf_cv_rel_version" | sed -e 's/\..*//'` - NCURSES_MINOR=`echo "$cf_cv_rel_version" | sed -e 's/^[^.]*//' -e 's/^\.//' -e 's/\..*//'` - -if test -n "$NCURSES_MAJOR" ; then - case $NCURSES_MAJOR in #(vi - [0-9]*) #(vi - ;; - *) - { { echo "$as_me:1078: error: Release major-version is not a number: $NCURSES_MAJOR" >&5 -echo "$as_me: error: Release major-version is not a number: $NCURSES_MAJOR" >&2;} - { (exit 1); exit 1; }; } - ;; - esac -else - { { echo "$as_me:1084: error: Release major-version value is empty" >&5 -echo "$as_me: error: Release major-version value is empty" >&2;} - { (exit 1); exit 1; }; } -fi - -if test -n "$NCURSES_MINOR" ; then - case $NCURSES_MINOR in #(vi - [0-9]*) #(vi - ;; - *) - { { echo "$as_me:1094: error: Release minor-version is not a number: $NCURSES_MINOR" >&5 -echo "$as_me: error: Release minor-version is not a number: $NCURSES_MINOR" >&2;} - { (exit 1); exit 1; }; } - ;; - esac -else - { { echo "$as_me:1100: error: Release minor-version value is empty" >&5 -echo "$as_me: error: Release minor-version value is empty" >&2;} - { (exit 1); exit 1; }; } -fi - -test -z "$cf_cv_abi_version" && cf_cv_abi_version=0 - -# Check whether --with-abi-version or --without-abi-version was given. -if test "${with_abi_version+set}" = set; then - withval="$with_abi_version" - { echo "$as_me:1110: WARNING: overriding ABI version $cf_cv_abi_version to $withval" >&5 -echo "$as_me: WARNING: overriding ABI version $cf_cv_abi_version to $withval" >&2;} - cf_cv_abi_version=$withval -fi; - -if test -n "$cf_cv_abi_version" ; then - case $cf_cv_abi_version in #(vi - [0-9]*) #(vi - ;; - *) - { { echo "$as_me:1120: error: ABI version is not a number: $cf_cv_abi_version" >&5 -echo "$as_me: error: ABI version is not a number: $cf_cv_abi_version" >&2;} - { (exit 1); exit 1; }; } - ;; - esac -else - { { echo "$as_me:1126: error: ABI version value is empty" >&5 -echo "$as_me: error: ABI version value is empty" >&2;} - { (exit 1); exit 1; }; } -fi - -ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f $ac_dir/shtool; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { echo "$as_me:1148: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 -echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} - { (exit 1); exit 1; }; } -fi -ac_config_guess="$SHELL $ac_aux_dir/config.guess" -ac_config_sub="$SHELL $ac_aux_dir/config.sub" -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. - -# Make sure we can run config.sub. -$ac_config_sub sun4 >/dev/null 2>&1 || - { { echo "$as_me:1158: error: cannot run $ac_config_sub" >&5 -echo "$as_me: error: cannot run $ac_config_sub" >&2;} - { (exit 1); exit 1; }; } - -echo "$as_me:1162: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6 -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_build_alias=$build_alias -test -z "$ac_cv_build_alias" && - ac_cv_build_alias=`$ac_config_guess` -test -z "$ac_cv_build_alias" && - { { echo "$as_me:1171: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || - { { echo "$as_me:1175: error: $ac_config_sub $ac_cv_build_alias failed." >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:1180: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6 -build=$ac_cv_build -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -echo "$as_me:1187: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6 -if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_host_alias=$host_alias -test -z "$ac_cv_host_alias" && - ac_cv_host_alias=$ac_cv_build_alias -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || - { { echo "$as_me:1196: error: $ac_config_sub $ac_cv_host_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:1201: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6 -host=$ac_cv_host -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then - echo "$as_me:1209: checking target system type" >&5 -echo $ECHO_N "checking target system type... $ECHO_C" >&6 -if test "${ac_cv_target+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_target_alias=$target_alias -test "x$ac_cv_target_alias" = "x" && - ac_cv_target_alias=$ac_cv_host_alias -ac_cv_target=`$ac_config_sub $ac_cv_target_alias` || - { { echo "$as_me:1218: error: $ac_config_sub $ac_cv_target_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:1223: result: $ac_cv_target" >&5 -echo "${ECHO_T}$ac_cv_target" >&6 -target=$ac_cv_target -target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -test -n "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - system_name="$host_os" -else - system_name="`(uname -s -r) 2>/dev/null`" - if test -z "$system_name" ; then - system_name="`(hostname) 2>/dev/null`" - fi -fi -test -n "$system_name" && cat >>confdefs.h <&6 -else - cf_cv_system_name="$system_name" -fi - -test -z "$system_name" && system_name="$cf_cv_system_name" -test -n "$cf_cv_system_name" && echo "$as_me:1254: result: Configuring for $cf_cv_system_name" >&5 -echo "${ECHO_T}Configuring for $cf_cv_system_name" >&6 - -if test ".$system_name" != ".$cf_cv_system_name" ; then - echo "$as_me:1258: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5 -echo "${ECHO_T}Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&6 - { { echo "$as_me:1260: error: \"Please remove config.cache and try again.\"" >&5 -echo "$as_me: error: \"Please remove config.cache and try again.\"" >&2;} - { (exit 1); exit 1; }; } -fi - -# Check whether --with-system-type or --without-system-type was given. -if test "${with_system_type+set}" = set; then - withval="$with_system_type" - { echo "$as_me:1268: WARNING: overriding system type to $withval" >&5 -echo "$as_me: WARNING: overriding system type to $withval" >&2;} - cf_cv_system_name=$withval -fi; - -### Save the given $CFLAGS to allow user-override. -cf_user_CFLAGS="$CFLAGS" - -### Default install-location - -echo "$as_me:1278: checking for prefix" >&5 -echo $ECHO_N "checking for prefix... $ECHO_C" >&6 -if test "x$prefix" = "xNONE" ; then - case "$cf_cv_system_name" in - # non-vendor systems don't have a conflict - openbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu) - prefix=/usr - ;; - *) prefix=$ac_default_prefix - ;; - esac -fi -echo "$as_me:1290: result: $prefix" >&5 -echo "${ECHO_T}$prefix" >&6 - -if test "x$prefix" = "xNONE" ; then -echo "$as_me:1294: checking for default include-directory" >&5 -echo $ECHO_N "checking for default include-directory... $ECHO_C" >&6 -test -n "$verbose" && echo 1>&6 -for cf_symbol in \ - $includedir \ - $includedir/ncurses \ - $prefix/include \ - $prefix/include/ncurses \ - /usr/local/include \ - /usr/local/include/ncurses \ - /usr/include \ - /usr/include/ncurses -do - cf_dir=`eval echo $cf_symbol` - if test -f $cf_dir/curses.h ; then - if ( fgrep NCURSES_VERSION $cf_dir/curses.h 2>&1 >/dev/null ) ; then - includedir="$cf_symbol" - test -n "$verbose" && echo $ac_n " found " 1>&6 - break - fi - fi - test -n "$verbose" && echo " tested $cf_dir" 1>&6 -done -echo "$as_me:1317: result: $includedir" >&5 -echo "${ECHO_T}$includedir" >&6 -fi - -### Checks for programs. -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:1330: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="${ac_tool_prefix}gcc" -echo "$as_me:1345: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1353: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1356: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo "$as_me:1365: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="gcc" -echo "$as_me:1380: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:1388: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:1391: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:1404: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="${ac_tool_prefix}cc" -echo "$as_me:1419: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1427: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1430: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:1439: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="cc" -echo "$as_me:1454: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:1462: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:1465: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:1478: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue -fi -ac_cv_prog_CC="cc" -echo "$as_me:1498: found $ac_dir/$ac_word" >&5 -break -done - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - set dummy "$ac_dir/$ac_word" ${1+"$@"} - shift - ac_cv_prog_CC="$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1520: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1523: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:1534: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="$ac_tool_prefix$ac_prog" -echo "$as_me:1549: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1557: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1560: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:1573: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="$ac_prog" -echo "$as_me:1588: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:1596: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:1599: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_CC" && break -done - - CC=$ac_ct_CC -fi - -fi - -test -z "$CC" && { { echo "$as_me:1611: error: no acceptable cc found in \$PATH" >&5 -echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} - { (exit 1); exit 1; }; } - -# Provide some information about the compiler. -echo "$as_me:1616:" \ - "checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:1619: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:1622: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:1624: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:1627: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:1629: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:1632: \$? = $ac_status" >&5 - (exit $ac_status); } - -cat >conftest.$ac_ext <<_ACEOF -#line 1636 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -echo "$as_me:1652: checking for C compiler default output" >&5 -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:1655: \"$ac_link_default\"") >&5 - (eval $ac_link_default) 2>&5 - ac_status=$? - echo "$as_me:1658: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Find the output, starting from the most likely. This scheme is -# not robust to junk in `.', hence go to wildcards (a.*) only as a last -# resort. -for ac_file in `ls a.exe conftest.exe 2>/dev/null; - ls a.out conftest 2>/dev/null; - ls a.* conftest.* 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; - a.out ) # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool --akim. - export ac_cv_exeext - break;; - * ) break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:1681: error: C compiler cannot create executables" >&5 -echo "$as_me: error: C compiler cannot create executables" >&2;} - { (exit 77); exit 77; }; } -fi - -ac_exeext=$ac_cv_exeext -echo "$as_me:1687: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6 - -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:1692: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (eval echo "$as_me:1698: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1701: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:1708: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&5 -echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -echo "$as_me:1716: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -rm -f a.out a.exe conftest$ac_cv_exeext -ac_clean_files=$ac_clean_files_save -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:1723: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:1725: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6 - -echo "$as_me:1728: checking for executable suffix" >&5 -echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 -if { (eval echo "$as_me:1730: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:1733: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; - * ) break;; - esac -done -else - { { echo "$as_me:1749: error: cannot compute EXEEXT: cannot compile and link" >&5 -echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest$ac_cv_exeext -echo "$as_me:1755: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6 - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -echo "$as_me:1761: checking for object suffix" >&5 -echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 -if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 1767 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (eval echo "$as_me:1779: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1782: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:1794: error: cannot compute OBJEXT: cannot compile" >&5 -echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -echo "$as_me:1801: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6 -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -echo "$as_me:1805: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 1811 "configure" -#include "confdefs.h" - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:1826: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1829: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1832: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1835: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_compiler_gnu=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:1847: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -CFLAGS="-g" -echo "$as_me:1853: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 1859 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:1871: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1874: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1877: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1880: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_prog_cc_g=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:1890: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -#ifndef __cplusplus - choke me -#endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:1917: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1920: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1923: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1926: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ - ''\ - '#include ' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -#line 1938 "configure" -#include "confdefs.h" -#include -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:1951: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1954: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1957: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1960: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -continue -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line 1970 "configure" -#include "confdefs.h" -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:1982: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1985: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1988: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1991: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -GCC_VERSION=none -if test "$GCC" = yes ; then - echo "$as_me:2020: checking version of $CC" >&5 -echo $ECHO_N "checking version of $CC... $ECHO_C" >&6 - GCC_VERSION="`${CC} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`" - test -z "$GCC_VERSION" && GCC_VERSION=unknown - echo "$as_me:2024: result: $GCC_VERSION" >&5 -echo "${ECHO_T}$GCC_VERSION" >&6 -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:2033: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line 2054 "configure" -#include "confdefs.h" -#include - Syntax error -_ACEOF -if { (eval echo "$as_me:2059: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2065: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line 2088 "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:2092: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2098: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -echo "$as_me:2135: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line 2145 "configure" -#include "confdefs.h" -#include - Syntax error -_ACEOF -if { (eval echo "$as_me:2150: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2156: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line 2179 "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:2183: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2189: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:2217: error: C preprocessor \"$CPP\" fails sanity check" >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -if test $ac_cv_c_compiler_gnu = yes; then - echo "$as_me:2229: checking whether $CC needs -traditional" >&5 -echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6 -if test "${ac_cv_prog_gcc_traditional+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_pattern="Autoconf.*'x'" - cat >conftest.$ac_ext <<_ACEOF -#line 2236 "configure" -#include "confdefs.h" -#include -int Autoconf = TIOCGETP; -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "$ac_pattern" >/dev/null 2>&1; then - ac_cv_prog_gcc_traditional=yes -else - ac_cv_prog_gcc_traditional=no -fi -rm -f conftest* - - if test $ac_cv_prog_gcc_traditional = no; then - cat >conftest.$ac_ext <<_ACEOF -#line 2251 "configure" -#include "confdefs.h" -#include -int Autoconf = TCGETA; -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "$ac_pattern" >/dev/null 2>&1; then - ac_cv_prog_gcc_traditional=yes -fi -rm -f conftest* - - fi -fi -echo "$as_me:2264: result: $ac_cv_prog_gcc_traditional" >&5 -echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6 - if test $ac_cv_prog_gcc_traditional = yes; then - CC="$CC -traditional" - fi -fi - -echo "$as_me:2271: checking whether $CC understands -c and -o together" >&5 -echo $ECHO_N "checking whether $CC understands -c and -o together... $ECHO_C" >&6 -if test "${cf_cv_prog_CC_c_o+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat > conftest.$ac_ext < -int main() -{ - return 0; -} -CF_EOF -# We do the test twice because some compilers refuse to overwrite an -# existing .o file with -o, though they will create one. -ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' -if { (eval echo "$as_me:2287: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2290: \$? = $ac_status" >&5 - (exit $ac_status); } && - test -f conftest2.$ac_objext && { (eval echo "$as_me:2292: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2295: \$? = $ac_status" >&5 - (exit $ac_status); }; -then - eval cf_cv_prog_CC_c_o=yes -else - eval cf_cv_prog_CC_c_o=no -fi -rm -f conftest* - -fi -if test $cf_cv_prog_CC_c_o = yes; then - echo "$as_me:2306: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:2309: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -echo "$as_me:2313: checking for POSIXized ISC" >&5 -echo $ECHO_N "checking for POSIXized ISC... $ECHO_C" >&6 -if test -d /etc/conf/kconfig.d && - grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 -then - echo "$as_me:2318: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - ISC=yes # If later tests want to check for ISC. - -cat >>confdefs.h <<\EOF -#define _POSIX_SOURCE 1 -EOF - - if test "$GCC" = yes; then - CC="$CC -posix" - else - CC="$CC -Xp" - fi -else - echo "$as_me:2332: result: no" >&5 -echo "${ECHO_T}no" >&6 - ISC= -fi - -echo "$as_me:2337: checking for ${CC-cc} option to accept ANSI C" >&5 -echo $ECHO_N "checking for ${CC-cc} option to accept ANSI C... $ECHO_C" >&6 -if test "${cf_cv_ansi_cc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cf_cv_ansi_cc=no -cf_save_CFLAGS="$CFLAGS" -cf_save_CPPFLAGS="$CPPFLAGS" -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX -Aa -D_HPUX_SOURCE -# SVR4 -Xc -# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes) -for cf_arg in "-DCC_HAS_PROTOS" \ - "" \ - -qlanglvl=ansi \ - -std1 \ - -Ae \ - "-Aa -D_HPUX_SOURCE" \ - -Xc -do - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_arg -do -case $cf_fix_cppflags in -no) - case $cf_add_cflags in #(vi - -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi - case $cf_add_cflags in - -D*) - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test $cf_fix_cppflags = yes ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - fi - ;; - esac - case "$CPPFLAGS" in - *$cf_add_cflags) #(vi - ;; - *) #(vi - cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" - ;; - esac - ;; - *) - cf_new_cflags="$cf_new_cflags $cf_add_cflags" - ;; - esac - ;; -yes) - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - CFLAGS="$CFLAGS $cf_new_cflags" -fi - -if test -n "$cf_new_cppflags" ; then - - CPPFLAGS="$cf_new_cppflags $CPPFLAGS" -fi - -if test -n "$cf_new_extra_cppflags" ; then - - EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" -fi - - cat >conftest.$ac_ext <<_ACEOF -#line 2431 "configure" -#include "confdefs.h" - -#ifndef CC_HAS_PROTOS -#if !defined(__STDC__) || (__STDC__ != 1) -choke me -#endif -#endif - -int -main () -{ - - int test (int i, double x); - struct s1 {int (*f) (int a);}; - struct s2 {int (*f) (double a);}; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2452: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2455: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2458: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2461: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_ansi_cc="$cf_arg"; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -CFLAGS="$cf_save_CFLAGS" -CPPFLAGS="$cf_save_CPPFLAGS" - -fi -echo "$as_me:2474: result: $cf_cv_ansi_cc" >&5 -echo "${ECHO_T}$cf_cv_ansi_cc" >&6 - -if test "$cf_cv_ansi_cc" != "no"; then -if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_cv_ansi_cc -do -case $cf_fix_cppflags in -no) - case $cf_add_cflags in #(vi - -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi - case $cf_add_cflags in - -D*) - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test $cf_fix_cppflags = yes ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - fi - ;; - esac - case "$CPPFLAGS" in - *$cf_add_cflags) #(vi - ;; - *) #(vi - cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" - ;; - esac - ;; - *) - cf_new_cflags="$cf_new_cflags $cf_add_cflags" - ;; - esac - ;; -yes) - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - CFLAGS="$CFLAGS $cf_new_cflags" -fi - -if test -n "$cf_new_cppflags" ; then - - CPPFLAGS="$cf_new_cppflags $CPPFLAGS" -fi - -if test -n "$cf_new_extra_cppflags" ; then - - EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" -fi - -else - cat >>confdefs.h <<\EOF -#define CC_HAS_PROTOS 1 -EOF - -fi -fi - -if test "$cf_cv_ansi_cc" = "no"; then - { { echo "$as_me:2557: error: Your compiler does not appear to recognize prototypes. -You have the following choices: - a. adjust your compiler options - b. get an up-to-date compiler - c. use a wrapper such as unproto" >&5 -echo "$as_me: error: Your compiler does not appear to recognize prototypes. -You have the following choices: - a. adjust your compiler options - b. get an up-to-date compiler - c. use a wrapper such as unproto" >&2;} - { (exit 1); exit 1; }; } -fi - -case $cf_cv_system_name in -os2*) - CFLAGS="$CFLAGS -Zmt" - CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__" - CXXFLAGS="$CXXFLAGS -Zmt" - # autoconf's macro sets -Zexe and suffix both, which conflict:w - LDFLAGS="$LDFLAGS -Zmt -Zcrtdll" - ac_cv_exeext=.exe - ;; -esac - -PROG_EXT="$EXEEXT" - -test -n "$PROG_EXT" && cat >>confdefs.h <&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_LDCONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $LDCONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_LDCONFIG="$LDCONFIG" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$LDPATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_LDCONFIG="$ac_dir/$ac_word" - echo "$as_me:2614: found $ac_dir/$ac_word" >&5 - break -fi -done - - ;; -esac -fi -LDCONFIG=$ac_cv_path_LDCONFIG - -if test -n "$LDCONFIG"; then - echo "$as_me:2625: result: $LDCONFIG" >&5 -echo "${ECHO_T}$LDCONFIG" >&6 -else - echo "$as_me:2628: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - ;; -esac -fi - -echo "$as_me:2636: checking if you want to ensure bool is consistent with C++" >&5 -echo $ECHO_N "checking if you want to ensure bool is consistent with C++... $ECHO_C" >&6 - -# Check whether --with-cxx or --without-cxx was given. -if test "${with_cxx+set}" = set; then - withval="$with_cxx" - cf_with_cxx=$withval -else - cf_with_cxx=yes -fi; -echo "$as_me:2646: result: $cf_with_cxx" >&5 -echo "${ECHO_T}$cf_with_cxx" >&6 -if test "X$cf_with_cxx" = Xno ; then - CXX="" - GXX="" -else - # with autoconf 2.13, we can change the error to a warning: - ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:2663: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" -echo "$as_me:2678: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - echo "$as_me:2686: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 -else - echo "$as_me:2689: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:2702: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CXX="$ac_prog" -echo "$as_me:2717: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - echo "$as_me:2725: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6 -else - echo "$as_me:2728: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_CXX" && break -done -test -n "$ac_ct_CXX" || ac_ct_CXX="g++" - - CXX=$ac_ct_CXX -fi - -# Provide some information about the compiler. -echo "$as_me:2740:" \ - "checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:2743: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:2746: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:2748: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:2751: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:2753: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:2756: \$? = $ac_status" >&5 - (exit $ac_status); } - -echo "$as_me:2759: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 2765 "configure" -#include "confdefs.h" - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2780: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2783: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2786: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2789: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_compiler_gnu=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:2801: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 -GXX=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -CXXFLAGS="-g" -echo "$as_me:2807: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 2813 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2825: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2828: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2831: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2834: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cxx_g=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_prog_cxx_g=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:2844: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -for ac_declaration in \ - ''\ - '#include ' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -#line 2871 "configure" -#include "confdefs.h" -#include -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2884: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2887: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2890: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2893: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -continue -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line 2903 "configure" -#include "confdefs.h" -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2915: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2918: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2921: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2924: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - # autoconf 2.5x removed the error - by hardcoding it to g++. - if test "$CXX" = "g++" ; then - # Extract the first word of "g++", so it can be a program name with args. -set dummy g++; ac_word=$2 -echo "$as_me:2950: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $CXX in - [\\/]* | ?:[\\/]*) - ac_cv_path_CXX="$CXX" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_CXX="$ac_dir/$ac_word" - echo "$as_me:2967: found $ac_dir/$ac_word" >&5 - break -fi -done - - ;; -esac -fi -CXX=$ac_cv_path_CXX - -if test -n "$CXX"; then - echo "$as_me:2978: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 -else - echo "$as_me:2981: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - fi - if test "$CXX" = "g++" ; then - { echo "$as_me:2987: WARNING: ignoring hardcoded g++" >&5 -echo "$as_me: WARNING: ignoring hardcoded g++" >&2;} - cf_with_cxx=no; CXX=""; GXX=""; - fi -fi - -GXX_VERSION=none -if test "$GXX" = yes; then - echo "$as_me:2995: checking version of g++" >&5 -echo $ECHO_N "checking version of g++... $ECHO_C" >&6 - GXX_VERSION="`${CXX-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`" - test -z "$GXX_VERSION" && GXX_VERSION=unknown - echo "$as_me:2999: result: $GXX_VERSION" >&5 -echo "${ECHO_T}$GXX_VERSION" >&6 -fi - -case $GXX_VERSION in -1*|2.[0-6]*) - GXX=""; CXX=""; ac_cv_cxx_compiler_gnu=no - cf_cxx_library=no - { echo "$as_me:3007: WARNING: templates do not work" >&5 -echo "$as_me: WARNING: templates do not work" >&2;} - ;; -esac - -echo "$as_me:3012: checking if you want to build C++ binding and demo" >&5 -echo $ECHO_N "checking if you want to build C++ binding and demo... $ECHO_C" >&6 - -# Check whether --with-cxx-binding or --without-cxx-binding was given. -if test "${with_cxx_binding+set}" = set; then - withval="$with_cxx_binding" - cf_with_cxx_binding=$withval -else - cf_with_cxx_binding=$cf_with_cxx -fi; -echo "$as_me:3022: result: $cf_with_cxx_binding" >&5 -echo "${ECHO_T}$cf_with_cxx_binding" >&6 - -echo "$as_me:3025: checking if you want to build with Ada95" >&5 -echo $ECHO_N "checking if you want to build with Ada95... $ECHO_C" >&6 - -# Check whether --with-ada or --without-ada was given. -if test "${with_ada+set}" = set; then - withval="$with_ada" - cf_with_ada=$withval -else - cf_with_ada=yes -fi; -echo "$as_me:3035: result: $cf_with_ada" >&5 -echo "${ECHO_T}$cf_with_ada" >&6 - -echo "$as_me:3038: checking if you want to build programs such as tic" >&5 -echo $ECHO_N "checking if you want to build programs such as tic... $ECHO_C" >&6 - -# Check whether --with-progs or --without-progs was given. -if test "${with_progs+set}" = set; then - withval="$with_progs" - cf_with_progs=$withval -else - cf_with_progs=yes -fi; -echo "$as_me:3048: result: $cf_with_progs" >&5 -echo "${ECHO_T}$cf_with_progs" >&6 - -echo "$as_me:3051: checking if you wish to install curses.h" >&5 -echo $ECHO_N "checking if you wish to install curses.h... $ECHO_C" >&6 - -# Check whether --with-curses-h or --without-curses-h was given. -if test "${with_curses_h+set}" = set; then - withval="$with_curses_h" - with_curses_h=$withval -else - with_curses_h=yes -fi; -echo "$as_me:3061: result: $with_curses_h" >&5 -echo "${ECHO_T}$with_curses_h" >&6 - -modules_to_build="ncurses" -if test "X$cf_with_progs" != Xno ; then -modules_to_build="$modules_to_build progs tack" -fi -modules_to_build="$modules_to_build panel menu form" - -test "$program_prefix" != NONE && - program_transform_name="s,^,$program_prefix,;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s,\$,$program_suffix,;$program_transform_name" -# Double any \ or $. echo might interpret backslashes. -# By default was `s,x,x', remove it if useless. -cat <<\_ACEOF >conftest.sed -s/[\\$]/&&/g;s/;s,x,x,$// -_ACEOF -program_transform_name=`echo $program_transform_name | sed -f conftest.sed` -rm conftest.sed - -for ac_prog in mawk gawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:3087: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_AWK="$ac_prog" -echo "$as_me:3102: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - echo "$as_me:3110: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6 -else - echo "$as_me:3113: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$AWK" && break -done - -echo "$as_me:3120: checking whether ${MAKE-make} sets \${MAKE}" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.make <<\EOF -all: - @echo 'ac_maketemp="${MAKE}"' -EOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftest.make -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$as_me:3140: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - SET_MAKE= -else - echo "$as_me:3144: result: no" >&5 -echo "${ECHO_T}no" >&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# ./install, which can be erroneously created by make from ./install.sh. -echo "$as_me:3161: checking for a BSD compatible install" >&5 -echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6 -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_save_IFS=$IFS; IFS=$ac_path_separator - for ac_dir in $PATH; do - IFS=$ac_save_IFS - # Account for people who put trailing slashes in PATH elements. - case $ac_dir/ in - / | ./ | .// | /cC/* \ - | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* \ - | /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if $as_executable_p "$ac_dir/$ac_prog"; then - if test $ac_prog = install && - grep dspmsg "$ac_dir/$ac_prog" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$ac_dir/$ac_prog" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 - fi - fi - done - ;; - esac - done - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL=$ac_install_sh - fi -fi -echo "$as_me:3210: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6 - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -case $INSTALL in -/*) - ;; -*) - cf_dir=`echo $INSTALL | sed -e 's%/[^/]*$%%'` - test -z "$cf_dir" && cf_dir=. - INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'` - ;; -esac - -echo "$as_me:3231: checking for long file names" >&5 -echo $ECHO_N "checking for long file names... $ECHO_C" >&6 -if test "${ac_cv_sys_long_file_names+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_sys_long_file_names=yes -# Test for long file names in all the places we know might matter: -# . the current directory, where building will happen -# $prefix/lib where we will be installing things -# $exec_prefix/lib likewise -# eval it to expand exec_prefix. -# $TMPDIR if set, where it might want to write temporary files -# if $TMPDIR is not set: -# /tmp where it might want to write temporary files -# /var/tmp likewise -# /usr/tmp likewise -if test -n "$TMPDIR" && test -d "$TMPDIR" && test -w "$TMPDIR"; then - ac_tmpdirs=$TMPDIR -else - ac_tmpdirs='/tmp /var/tmp /usr/tmp' -fi -for ac_dir in . $ac_tmpdirs `eval echo $prefix/lib $exec_prefix/lib` ; do - test -d $ac_dir || continue - test -w $ac_dir || continue # It is less confusing to not echo anything here. - ac_xdir=$ac_dir/cf$$ - (umask 077 && mkdir $ac_xdir 2>/dev/null) || continue - ac_tf1=$ac_xdir/conftest9012345 - ac_tf2=$ac_xdir/conftest9012346 - (echo 1 >$ac_tf1) 2>/dev/null - (echo 2 >$ac_tf2) 2>/dev/null - ac_val=`cat $ac_tf1 2>/dev/null` - if test ! -f $ac_tf1 || test "$ac_val" != 1; then - ac_cv_sys_long_file_names=no - rm -rf $ac_xdir 2>/dev/null - break - fi - rm -rf $ac_xdir 2>/dev/null -done -fi -echo "$as_me:3270: result: $ac_cv_sys_long_file_names" >&5 -echo "${ECHO_T}$ac_cv_sys_long_file_names" >&6 -if test $ac_cv_sys_long_file_names = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_LONG_FILE_NAMES 1 -EOF - -fi - -echo "$as_me:3280: checking if filesystem supports mixed-case filenames" >&5 -echo $ECHO_N "checking if filesystem supports mixed-case filenames... $ECHO_C" >&6 -if test "${cf_cv_mixedcase+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -if test "$cross_compiling" = yes ; then - case $target_alias in #(vi - *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi - cf_cv_mixedcase=no - ;; - *) - cf_cv_mixedcase=yes - ;; - esac -else - rm -f conftest CONFTEST - echo test >conftest - if test -f CONFTEST ; then - cf_cv_mixedcase=no - else - cf_cv_mixedcase=yes - fi - rm -f conftest CONFTEST -fi - -fi -echo "$as_me:3307: result: $cf_cv_mixedcase" >&5 -echo "${ECHO_T}$cf_cv_mixedcase" >&6 -test "$cf_cv_mixedcase" = yes && cat >>confdefs.h <<\EOF -#define MIXEDCASE_FILENAMES 1 -EOF - -echo "$as_me:3313: checking whether ln -s works" >&5 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - echo "$as_me:3317: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:3320: result: no, using $LN_S" >&5 -echo "${ECHO_T}no, using $LN_S" >&6 -fi - -# Extract the first word of "ctags", so it can be a program name with args. -set dummy ctags; ac_word=$2 -echo "$as_me:3326: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_MAKE_LOWER_TAGS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$MAKE_LOWER_TAGS"; then - ac_cv_prog_MAKE_LOWER_TAGS="$MAKE_LOWER_TAGS" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_MAKE_LOWER_TAGS="yes" -echo "$as_me:3341: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_MAKE_LOWER_TAGS" && ac_cv_prog_MAKE_LOWER_TAGS="no" -fi -fi -MAKE_LOWER_TAGS=$ac_cv_prog_MAKE_LOWER_TAGS -if test -n "$MAKE_LOWER_TAGS"; then - echo "$as_me:3350: result: $MAKE_LOWER_TAGS" >&5 -echo "${ECHO_T}$MAKE_LOWER_TAGS" >&6 -else - echo "$as_me:3353: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -if test "$cf_cv_mixedcase" = yes ; then - # Extract the first word of "etags", so it can be a program name with args. -set dummy etags; ac_word=$2 -echo "$as_me:3360: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_MAKE_UPPER_TAGS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$MAKE_UPPER_TAGS"; then - ac_cv_prog_MAKE_UPPER_TAGS="$MAKE_UPPER_TAGS" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_MAKE_UPPER_TAGS="yes" -echo "$as_me:3375: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_MAKE_UPPER_TAGS" && ac_cv_prog_MAKE_UPPER_TAGS="no" -fi -fi -MAKE_UPPER_TAGS=$ac_cv_prog_MAKE_UPPER_TAGS -if test -n "$MAKE_UPPER_TAGS"; then - echo "$as_me:3384: result: $MAKE_UPPER_TAGS" >&5 -echo "${ECHO_T}$MAKE_UPPER_TAGS" >&6 -else - echo "$as_me:3387: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -else - MAKE_UPPER_TAGS=no -fi - -if test "$MAKE_UPPER_TAGS" = yes ; then - MAKE_UPPER_TAGS= -else - MAKE_UPPER_TAGS="#" -fi - -if test "$MAKE_LOWER_TAGS" = yes ; then - MAKE_LOWER_TAGS= -else - MAKE_LOWER_TAGS="#" -fi - -for ac_prog in tdlint lint alint -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:3411: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_LINT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$LINT"; then - ac_cv_prog_LINT="$LINT" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_LINT="$ac_prog" -echo "$as_me:3426: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -LINT=$ac_cv_prog_LINT -if test -n "$LINT"; then - echo "$as_me:3434: result: $LINT" >&5 -echo "${ECHO_T}$LINT" >&6 -else - echo "$as_me:3437: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$LINT" && break -done - -for ac_prog in man man_db -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:3448: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_MAN+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$MAN"; then - ac_cv_prog_MAN="$MAN" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_MAN="$ac_prog" -echo "$as_me:3463: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -MAN=$ac_cv_prog_MAN -if test -n "$MAN"; then - echo "$as_me:3471: result: $MAN" >&5 -echo "${ECHO_T}$MAN" >&6 -else - echo "$as_me:3474: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$MAN" && break -done - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -echo "$as_me:3484: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" -echo "$as_me:3499: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - echo "$as_me:3507: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6 -else - echo "$as_me:3510: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo "$as_me:3519: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_RANLIB="ranlib" -echo "$as_me:3534: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB="':'" -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - echo "$as_me:3543: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6 -else - echo "$as_me:3546: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - RANLIB=$ac_ct_RANLIB -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args. -set dummy ${ac_tool_prefix}ld; ac_word=$2 -echo "$as_me:3558: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$LD"; then - ac_cv_prog_LD="$LD" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_LD="${ac_tool_prefix}ld" -echo "$as_me:3573: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -LD=$ac_cv_prog_LD -if test -n "$LD"; then - echo "$as_me:3581: result: $LD" >&5 -echo "${ECHO_T}$LD" >&6 -else - echo "$as_me:3584: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_LD"; then - ac_ct_LD=$LD - # Extract the first word of "ld", so it can be a program name with args. -set dummy ld; ac_word=$2 -echo "$as_me:3593: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_LD"; then - ac_cv_prog_ac_ct_LD="$ac_ct_LD" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_LD="ld" -echo "$as_me:3608: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_ac_ct_LD" && ac_cv_prog_ac_ct_LD="ld" -fi -fi -ac_ct_LD=$ac_cv_prog_ac_ct_LD -if test -n "$ac_ct_LD"; then - echo "$as_me:3617: result: $ac_ct_LD" >&5 -echo "${ECHO_T}$ac_ct_LD" >&6 -else - echo "$as_me:3620: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - LD=$ac_ct_LD -else - LD="$ac_cv_prog_LD" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -echo "$as_me:3632: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_AR="${ac_tool_prefix}ar" -echo "$as_me:3647: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - echo "$as_me:3655: result: $AR" >&5 -echo "${ECHO_T}$AR" >&6 -else - echo "$as_me:3658: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -echo "$as_me:3667: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_AR="ar" -echo "$as_me:3682: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="ar" -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - echo "$as_me:3691: result: $ac_ct_AR" >&5 -echo "${ECHO_T}$ac_ct_AR" >&6 -else - echo "$as_me:3694: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - AR=$ac_ct_AR -else - AR="$ac_cv_prog_AR" -fi - -if test "${cf_cv_subst_AR_OPTS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -echo "$as_me:3707: checking for archiver options (symbol AR_OPTS)" >&5 -echo $ECHO_N "checking for archiver options (symbol AR_OPTS)... $ECHO_C" >&6 -test -z "$AR_OPTS" && AR_OPTS=rv -echo "$as_me:3710: result: $AR_OPTS" >&5 -echo "${ECHO_T}$AR_OPTS" >&6 - -cf_cv_subst_AR_OPTS=$AR_OPTS -fi - -AR_OPTS=${cf_cv_subst_AR_OPTS} - -echo "$as_me:3718: checking for makeflags variable" >&5 -echo $ECHO_N "checking for makeflags variable... $ECHO_C" >&6 -if test "${cf_cv_makeflags+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_cv_makeflags='' - for cf_option in '-$(MAKEFLAGS)' '$(MFLAGS)' - do - cat >cf_makeflags.tmp </dev/null` - case "$cf_result" in - .*k) - cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null` - case "$cf_result" in - .*CC=*) cf_cv_makeflags= - ;; - *) cf_cv_makeflags=$cf_option - ;; - esac - break - ;; - *) echo no match "$cf_result" - ;; - esac - done - rm -f cf_makeflags.tmp - -fi -echo "$as_me:3751: result: $cf_cv_makeflags" >&5 -echo "${ECHO_T}$cf_cv_makeflags" >&6 - -echo "$as_me:3754: checking if you have specified an install-prefix" >&5 -echo $ECHO_N "checking if you have specified an install-prefix... $ECHO_C" >&6 - -# Check whether --with-install-prefix or --without-install-prefix was given. -if test "${with_install_prefix+set}" = set; then - withval="$with_install_prefix" - case "$withval" in #(vi - yes|no) #(vi - ;; - *) DESTDIR="$withval" - ;; - esac -fi; -echo "$as_me:3767: result: $DESTDIR" >&5 -echo "${ECHO_T}$DESTDIR" >&6 - -############################################################################### - -# If we're cross-compiling, allow the user to override the tools and their -# options. The configure script is oriented toward identifying the host -# compiler, etc., but we need a build compiler to generate parts of the source. - -if test "$cross_compiling" = yes ; then - - # defaults that we might want to override - : ${BUILD_CFLAGS:=''} - : ${BUILD_CPPFLAGS:=''} - : ${BUILD_LDFLAGS:=''} - : ${BUILD_LIBS:=''} - : ${BUILD_EXEEXT:='$x'} - : ${BUILD_OBJEXT:='o'} - -# Check whether --with-build-cc or --without-build-cc was given. -if test "${with_build_cc+set}" = set; then - withval="$with_build_cc" - BUILD_CC="$withval" -else - for ac_prog in gcc cc cl -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:3795: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_BUILD_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$BUILD_CC"; then - ac_cv_prog_BUILD_CC="$BUILD_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_BUILD_CC="$ac_prog" -echo "$as_me:3810: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -BUILD_CC=$ac_cv_prog_BUILD_CC -if test -n "$BUILD_CC"; then - echo "$as_me:3818: result: $BUILD_CC" >&5 -echo "${ECHO_T}$BUILD_CC" >&6 -else - echo "$as_me:3821: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$BUILD_CC" && break -done - -fi; - echo "$as_me:3829: checking for native build C compiler" >&5 -echo $ECHO_N "checking for native build C compiler... $ECHO_C" >&6 - echo "$as_me:3831: result: $BUILD_CC" >&5 -echo "${ECHO_T}$BUILD_CC" >&6 - - echo "$as_me:3834: checking for native build C preprocessor" >&5 -echo $ECHO_N "checking for native build C preprocessor... $ECHO_C" >&6 - -# Check whether --with-build-cpp or --without-build-cpp was given. -if test "${with_build_cpp+set}" = set; then - withval="$with_build_cpp" - BUILD_CPP="$withval" -else - BUILD_CPP='$(BUILD_CC) -E' -fi; - echo "$as_me:3844: result: $BUILD_CPP" >&5 -echo "${ECHO_T}$BUILD_CPP" >&6 - - echo "$as_me:3847: checking for native build C flags" >&5 -echo $ECHO_N "checking for native build C flags... $ECHO_C" >&6 - -# Check whether --with-build-cflags or --without-build-cflags was given. -if test "${with_build_cflags+set}" = set; then - withval="$with_build_cflags" - BUILD_CFLAGS="$withval" -fi; - echo "$as_me:3855: result: $BUILD_CFLAGS" >&5 -echo "${ECHO_T}$BUILD_CFLAGS" >&6 - - echo "$as_me:3858: checking for native build C preprocessor-flags" >&5 -echo $ECHO_N "checking for native build C preprocessor-flags... $ECHO_C" >&6 - -# Check whether --with-build-cppflags or --without-build-cppflags was given. -if test "${with_build_cppflags+set}" = set; then - withval="$with_build_cppflags" - BUILD_CPPFLAGS="$withval" -fi; - echo "$as_me:3866: result: $BUILD_CPPFLAGS" >&5 -echo "${ECHO_T}$BUILD_CPPFLAGS" >&6 - - echo "$as_me:3869: checking for native build linker-flags" >&5 -echo $ECHO_N "checking for native build linker-flags... $ECHO_C" >&6 - -# Check whether --with-build-ldflags or --without-build-ldflags was given. -if test "${with_build_ldflags+set}" = set; then - withval="$with_build_ldflags" - BUILD_LDFLAGS="$withval" -fi; - echo "$as_me:3877: result: $BUILD_LDFLAGS" >&5 -echo "${ECHO_T}$BUILD_LDFLAGS" >&6 - - echo "$as_me:3880: checking for native build linker-libraries" >&5 -echo $ECHO_N "checking for native build linker-libraries... $ECHO_C" >&6 - -# Check whether --with-build-libs or --without-build-libs was given. -if test "${with_build_libs+set}" = set; then - withval="$with_build_libs" - BUILD_LIBS="$withval" -fi; - echo "$as_me:3888: result: $BUILD_LIBS" >&5 -echo "${ECHO_T}$BUILD_LIBS" >&6 - - # this assumes we're on Unix. - BUILD_EXEEXT= - BUILD_OBJEXT=o - - : ${BUILD_CC:='$(CC)'} - - if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '$(CC)' ) ; then - { { echo "$as_me:3898: error: Cross-build requires two compilers. -Use --with-build-cc to specify the native compiler." >&5 -echo "$as_me: error: Cross-build requires two compilers. -Use --with-build-cc to specify the native compiler." >&2;} - { (exit 1); exit 1; }; } - fi - -else - : ${BUILD_CC:='$(CC)'} - : ${BUILD_CPP:='$(CPP)'} - : ${BUILD_CFLAGS:='$(CFLAGS)'} - : ${BUILD_CPPFLAGS:='$(CPPFLAGS)'} - : ${BUILD_LDFLAGS:='$(LDFLAGS)'} - : ${BUILD_LIBS:='$(LIBS)'} - : ${BUILD_EXEEXT:='$x'} - : ${BUILD_OBJEXT:='o'} -fi - -############################################################################### - -### Options to allow the user to specify the set of libraries which are used. -### Use "--without-normal --with-shared" to allow the default model to be -### shared, for example. -cf_list_models="" - -LIBTOOL= - -# common library maintenance symbols that are convenient for libtool scripts: -LIB_CREATE='$(AR) -cr' -LIB_OBJECT='$(OBJECTS)' -LIB_SUFFIX=.a -LIB_PREP="$RANLIB" - -# symbols used to prop libtool up to enable it to determine what it should be -# doing: -LIB_CLEAN= -LIB_COMPILE= -LIB_LINK= -LIB_INSTALL= -LIB_UNINSTALL= - -echo "$as_me:3939: checking if you want to build libraries with libtool" >&5 -echo $ECHO_N "checking if you want to build libraries with libtool... $ECHO_C" >&6 - -# Check whether --with-libtool or --without-libtool was given. -if test "${with_libtool+set}" = set; then - withval="$with_libtool" - with_libtool=$withval -else - with_libtool=no -fi; -echo "$as_me:3949: result: $with_libtool" >&5 -echo "${ECHO_T}$with_libtool" >&6 -if test "$with_libtool" != "no"; then - - if test "$with_libtool" != "yes" ; then - -case ".$with_libtool" in #(vi -.\$\(*\)*|.\'*\'*) #(vi - ;; -..|./*|.\\*) #(vi - ;; -.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX - ;; -.\${*prefix}*) #(vi - eval with_libtool="$with_libtool" - case ".$with_libtool" in #(vi - .NONE/*) - with_libtool=`echo $with_libtool | sed -e s%NONE%$ac_default_prefix%` - ;; - esac - ;; #(vi -.NONE/*) - with_libtool=`echo $with_libtool | sed -e s%NONE%$ac_default_prefix%` - ;; -*) - { { echo "$as_me:3974: error: expected a pathname, not \"$with_libtool\"" >&5 -echo "$as_me: error: expected a pathname, not \"$with_libtool\"" >&2;} - { (exit 1); exit 1; }; } - ;; -esac - - LIBTOOL=$with_libtool - else - # Extract the first word of "libtool", so it can be a program name with args. -set dummy libtool; ac_word=$2 -echo "$as_me:3984: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_LIBTOOL+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $LIBTOOL in - [\\/]* | ?:[\\/]*) - ac_cv_path_LIBTOOL="$LIBTOOL" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_LIBTOOL="$ac_dir/$ac_word" - echo "$as_me:4001: found $ac_dir/$ac_word" >&5 - break -fi -done - - ;; -esac -fi -LIBTOOL=$ac_cv_path_LIBTOOL - -if test -n "$LIBTOOL"; then - echo "$as_me:4012: result: $LIBTOOL" >&5 -echo "${ECHO_T}$LIBTOOL" >&6 -else - echo "$as_me:4015: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - fi - if test -z "$LIBTOOL" ; then - { { echo "$as_me:4021: error: Cannot find libtool" >&5 -echo "$as_me: error: Cannot find libtool" >&2;} - { (exit 1); exit 1; }; } - fi - LIB_CREATE='$(LIBTOOL) --mode=link $(CC) -rpath $(DESTDIR)$(libdir) -version-info `cut -f1 $(srcdir)/VERSION` -o' - LIB_OBJECT='$(OBJECTS:.o=.lo)' - LIB_SUFFIX=.la - LIB_CLEAN='$(LIBTOOL) --mode=clean' - LIB_COMPILE='$(LIBTOOL) --mode=compile' - LIB_LINK='$(LIBTOOL) --mode=link' - LIB_INSTALL='$(LIBTOOL) --mode=install' - LIB_UNINSTALL='$(LIBTOOL) --mode=uninstall' - LIB_PREP=: - - # Show the version of libtool - echo "$as_me:4036: checking version of libtool" >&5 -echo $ECHO_N "checking version of libtool... $ECHO_C" >&6 - - # Save the version in a cache variable - this is not entirely a good - # thing, but the version string from libtool is very ugly, and for - # bug reports it might be useful to have the original string. - cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '2,$d' -e 's/([^)]*)//g' -e 's/^[^1-9]*//' -e 's/[^0-9.].*//'` - echo "$as_me:4043: result: $cf_cv_libtool_version" >&5 -echo "${ECHO_T}$cf_cv_libtool_version" >&6 - if test -z "$cf_cv_libtool_version" ; then - { { echo "$as_me:4046: error: This is not libtool" >&5 -echo "$as_me: error: This is not libtool" >&2;} - { (exit 1); exit 1; }; } - fi - - # special hack to add --tag option for C++ compiler - case $cf_cv_libtool_version in - 1.[5-9]*|[2-9]*) - LIBTOOL_CXX="$LIBTOOL --tag=CXX" - ;; - *) - LIBTOOL_CXX="$LIBTOOL" - ;; - esac -else - LIBTOOL="" - LIBTOOL_CXX="" -fi - -test -z "$LIBTOOL" && ECHO_LT= - -if test "$with_libtool" != "no" ; then - -cf_list_models="$cf_list_models libtool" - -else - -echo "$as_me:4073: checking if you want to build shared libraries" >&5 -echo $ECHO_N "checking if you want to build shared libraries... $ECHO_C" >&6 - -# Check whether --with-shared or --without-shared was given. -if test "${with_shared+set}" = set; then - withval="$with_shared" - with_shared=$withval -else - with_shared=no -fi; -echo "$as_me:4083: result: $with_shared" >&5 -echo "${ECHO_T}$with_shared" >&6 -test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared" - -echo "$as_me:4087: checking if you want to build static libraries" >&5 -echo $ECHO_N "checking if you want to build static libraries... $ECHO_C" >&6 - -# Check whether --with-normal or --without-normal was given. -if test "${with_normal+set}" = set; then - withval="$with_normal" - with_normal=$withval -else - with_normal=yes -fi; -echo "$as_me:4097: result: $with_normal" >&5 -echo "${ECHO_T}$with_normal" >&6 -test "$with_normal" = "yes" && cf_list_models="$cf_list_models normal" - -echo "$as_me:4101: checking if you want to build debug libraries" >&5 -echo $ECHO_N "checking if you want to build debug libraries... $ECHO_C" >&6 - -# Check whether --with-debug or --without-debug was given. -if test "${with_debug+set}" = set; then - withval="$with_debug" - with_debug=$withval -else - with_debug=yes -fi; -echo "$as_me:4111: result: $with_debug" >&5 -echo "${ECHO_T}$with_debug" >&6 -test "$with_debug" = "yes" && cf_list_models="$cf_list_models debug" - -echo "$as_me:4115: checking if you want to build profiling libraries" >&5 -echo $ECHO_N "checking if you want to build profiling libraries... $ECHO_C" >&6 - -# Check whether --with-profile or --without-profile was given. -if test "${with_profile+set}" = set; then - withval="$with_profile" - with_profile=$withval -else - with_profile=no -fi; -echo "$as_me:4125: result: $with_profile" >&5 -echo "${ECHO_T}$with_profile" >&6 -test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile" - -fi - -############################################################################### - -echo "$as_me:4133: checking for specified models" >&5 -echo $ECHO_N "checking for specified models... $ECHO_C" >&6 -test -z "$cf_list_models" && cf_list_models=normal -test "$with_libtool" != "no" && cf_list_models=libtool -echo "$as_me:4137: result: $cf_list_models" >&5 -echo "${ECHO_T}$cf_list_models" >&6 - -### Use the first model as the default, and save its suffix for use in building -### up test-applications. -echo "$as_me:4142: checking for default model" >&5 -echo $ECHO_N "checking for default model... $ECHO_C" >&6 -DFT_LWR_MODEL=`echo "$cf_list_models" | $AWK '{print $1}'` -echo "$as_me:4145: result: $DFT_LWR_MODEL" >&5 -echo "${ECHO_T}$DFT_LWR_MODEL" >&6 - -DFT_UPR_MODEL=`echo "$DFT_LWR_MODEL" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - -TINFO_NAME=tinfo - -LIB_NAME=ncurses - -LIB_DIR=../lib -LIB_2ND=../../lib - - case $cf_cv_system_name in - OS/2*) LIB_PREFIX='' ;; - os2*) LIB_PREFIX='' ;; - *) LIB_PREFIX='lib' ;; - esac -cf_prefix=$LIB_PREFIX - -LIB_PREFIX=$cf_prefix - -LIB_SUFFIX= - -############################################################################### - -echo "$as_me:4170: checking if you want to build a separate terminfo library" >&5 -echo $ECHO_N "checking if you want to build a separate terminfo library... $ECHO_C" >&6 - -# Check whether --with-termlib or --without-termlib was given. -if test "${with_termlib+set}" = set; then - withval="$with_termlib" - with_termlib=$withval -else - with_termlib=no -fi; -echo "$as_me:4180: result: $with_termlib" >&5 -echo "${ECHO_T}$with_termlib" >&6 - -### Checks for special libraries, must be done up-front. - -echo "$as_me:4185: checking if you want to link with dbmalloc for testing" >&5 -echo $ECHO_N "checking if you want to link with dbmalloc for testing... $ECHO_C" >&6 - -# Check whether --with-dbmalloc or --without-dbmalloc was given. -if test "${with_dbmalloc+set}" = set; then - withval="$with_dbmalloc" - with_dbmalloc=$withval -else - with_dbmalloc=no -fi; -echo "$as_me:4195: result: $with_dbmalloc" >&5 -echo "${ECHO_T}$with_dbmalloc" >&6 -if test "$with_dbmalloc" = yes ; then - echo "$as_me:4198: checking for dbmalloc.h" >&5 -echo $ECHO_N "checking for dbmalloc.h... $ECHO_C" >&6 -if test "${ac_cv_header_dbmalloc_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 4204 "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:4208: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:4214: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_cv_header_dbmalloc_h=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_header_dbmalloc_h=no -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:4233: result: $ac_cv_header_dbmalloc_h" >&5 -echo "${ECHO_T}$ac_cv_header_dbmalloc_h" >&6 -if test $ac_cv_header_dbmalloc_h = yes; then - -echo "$as_me:4237: checking for debug_malloc in -ldbmalloc" >&5 -echo $ECHO_N "checking for debug_malloc in -ldbmalloc... $ECHO_C" >&6 -if test "${ac_cv_lib_dbmalloc_debug_malloc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldbmalloc $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 4245 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char debug_malloc (); -int -main () -{ -debug_malloc (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4264: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4267: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4270: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4273: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dbmalloc_debug_malloc=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_dbmalloc_debug_malloc=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:4284: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5 -echo "${ECHO_T}$ac_cv_lib_dbmalloc_debug_malloc" >&6 -if test $ac_cv_lib_dbmalloc_debug_malloc = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking if you want to link with dmalloc for testing... $ECHO_C" >&6 - -# Check whether --with-dmalloc or --without-dmalloc was given. -if test "${with_dmalloc+set}" = set; then - withval="$with_dmalloc" - with_dmalloc=$withval -else - with_dmalloc=no -fi; -echo "$as_me:4309: result: $with_dmalloc" >&5 -echo "${ECHO_T}$with_dmalloc" >&6 -if test "$with_dmalloc" = yes ; then - echo "$as_me:4312: checking for dmalloc.h" >&5 -echo $ECHO_N "checking for dmalloc.h... $ECHO_C" >&6 -if test "${ac_cv_header_dmalloc_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 4318 "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:4322: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:4328: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_cv_header_dmalloc_h=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_header_dmalloc_h=no -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:4347: result: $ac_cv_header_dmalloc_h" >&5 -echo "${ECHO_T}$ac_cv_header_dmalloc_h" >&6 -if test $ac_cv_header_dmalloc_h = yes; then - -echo "$as_me:4351: checking for dmalloc_debug in -ldmalloc" >&5 -echo $ECHO_N "checking for dmalloc_debug in -ldmalloc... $ECHO_C" >&6 -if test "${ac_cv_lib_dmalloc_dmalloc_debug+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldmalloc $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 4359 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dmalloc_debug (); -int -main () -{ -dmalloc_debug (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4378: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4381: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4384: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4387: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dmalloc_dmalloc_debug=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_dmalloc_dmalloc_debug=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:4398: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5 -echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_debug" >&6 -if test $ac_cv_lib_dmalloc_dmalloc_debug = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking if you want to link with the GPM mouse library... $ECHO_C" >&6 - -# Check whether --with-gpm or --without-gpm was given. -if test "${with_gpm+set}" = set; then - withval="$with_gpm" - with_gpm=$withval -else - with_gpm=maybe -fi; -echo "$as_me:4425: result: $with_gpm" >&5 -echo "${ECHO_T}$with_gpm" >&6 -if test "$with_gpm" != no ; then - echo "$as_me:4428: checking for Gpm_Open in -lgpm" >&5 -echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6 -if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgpm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 4436 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char Gpm_Open (); -int -main () -{ -Gpm_Open (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4455: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4458: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4461: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4464: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_gpm_Gpm_Open=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_gpm_Gpm_Open=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:4475: result: $ac_cv_lib_gpm_Gpm_Open" >&5 -echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6 -if test $ac_cv_lib_gpm_Gpm_Open = yes; then - - echo "$as_me:4479: checking for gpm.h" >&5 -echo $ECHO_N "checking for gpm.h... $ECHO_C" >&6 -if test "${ac_cv_header_gpm_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 4485 "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:4489: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:4495: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_cv_header_gpm_h=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_header_gpm_h=no -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:4514: result: $ac_cv_header_gpm_h" >&5 -echo "${ECHO_T}$ac_cv_header_gpm_h" >&6 -if test $ac_cv_header_gpm_h = yes; then - - cat >>confdefs.h <<\EOF -#define HAVE_GPM_H 1 -EOF - - with_gpm=yes - -else - - if test "$with_gpm" = yes ; then - { { echo "$as_me:4527: error: Cannot find GPM header" >&5 -echo "$as_me: error: Cannot find GPM header" >&2;} - { (exit 1); exit 1; }; } - fi - -fi - -else - - if test "$with_gpm" = yes ; then - { { echo "$as_me:4537: error: Cannot link with GPM library" >&5 -echo "$as_me: error: Cannot link with GPM library" >&2;} - { (exit 1); exit 1; }; } - fi - with_gpm=no - -fi - -fi - -if test "$with_gpm" = yes ; then - -cf_have_dlsym=no -echo "$as_me:4550: checking for dlsym" >&5 -echo $ECHO_N "checking for dlsym... $ECHO_C" >&6 -if test "${ac_cv_func_dlsym+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 4556 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlsym (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlsym (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_dlsym) || defined (__stub___dlsym) -choke me -#else -f = dlsym; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4587: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4590: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4593: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4596: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_dlsym=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_dlsym=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:4606: result: $ac_cv_func_dlsym" >&5 -echo "${ECHO_T}$ac_cv_func_dlsym" >&6 -if test $ac_cv_func_dlsym = yes; then - cf_have_dlsym=yes -else - -cf_have_libdl=no -echo "$as_me:4613: checking for dlsym in -ldl" >&5 -echo $ECHO_N "checking for dlsym in -ldl... $ECHO_C" >&6 -if test "${ac_cv_lib_dl_dlsym+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 4621 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlsym (); -int -main () -{ -dlsym (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4640: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4643: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4646: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4649: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dl_dlsym=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_dl_dlsym=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:4660: result: $ac_cv_lib_dl_dlsym" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlsym" >&6 -if test $ac_cv_lib_dl_dlsym = yes; then - - cf_have_dlsym=yes - cf_have_libdl=yes -fi - -fi - -if test "$cf_have_dlsym" = yes ; then - test "$cf_have_libdl" = yes && LIBS="-ldl $LIBS" - - echo "$as_me:4673: checking whether able to link to dl*() functions" >&5 -echo $ECHO_N "checking whether able to link to dl*() functions... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 4676 "configure" -#include "confdefs.h" -#include -int -main () -{ - - void *obj; - if ((obj = dlopen("filename", 0)) != 0) { - if (dlsym(obj, "symbolname") == 0) { - dlclose(obj); - } - } - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4694: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4697: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4700: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4703: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - cat >>confdefs.h <<\EOF -#define HAVE_LIBDL 1 -EOF - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - { { echo "$as_me:4714: error: Cannot link test program for libdl" >&5 -echo "$as_me: error: Cannot link test program for libdl" >&2;} - { (exit 1); exit 1; }; } -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - echo "$as_me:4719: result: ok" >&5 -echo "${ECHO_T}ok" >&6 -else - { { echo "$as_me:4722: error: Cannot find dlsym function" >&5 -echo "$as_me: error: Cannot find dlsym function" >&2;} - { (exit 1); exit 1; }; } -fi - -echo "$as_me:4727: checking for soname of gpm library" >&5 -echo $ECHO_N "checking for soname of gpm library... $ECHO_C" >&6 -if test "${cf_cv_gpm_soname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cf_cv_gpm_soname=unknown -if test "$cross_compiling" != yes ; then -cat >conftest.$ac_ext < -int main() -{ -if (Gpm_Open(0,0)) Gpm_Close(); -return 0; -} -CF_EOF -cf_save_LIBS="$LIBS" - LIBS="-lgpm $LIBS" - if { (eval echo "$as_me:4745: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4748: \$? = $ac_status" >&5 - (exit $ac_status); } ; then - if { (eval echo "$as_me:4750: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4753: \$? = $ac_status" >&5 - (exit $ac_status); } ; then - cf_cv_gpm_soname=`ldd conftest$ac_exeext 2>/dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep libgpm.` - test -z "$cf_cv_gpm_soname" && cf_cv_gpm_soname=unknown - fi - fi -rm -f conftest* -LIBS="$cf_save_LIBS" -fi - -fi -echo "$as_me:4764: result: $cf_cv_gpm_soname" >&5 -echo "${ECHO_T}$cf_cv_gpm_soname" >&6 - - test "$cf_cv_gpm_soname" != "unknown" && cat >>confdefs.h <>confdefs.h <<\EOF -#define HAVE_LIBGPM 1 -EOF - - echo "$as_me:4776: checking for Gpm_Wgetch in -lgpm" >&5 -echo $ECHO_N "checking for Gpm_Wgetch in -lgpm... $ECHO_C" >&6 -if test "${ac_cv_lib_gpm_Gpm_Wgetch+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgpm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 4784 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char Gpm_Wgetch (); -int -main () -{ -Gpm_Wgetch (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4803: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4806: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4809: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4812: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_gpm_Gpm_Wgetch=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_gpm_Gpm_Wgetch=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:4823: result: $ac_cv_lib_gpm_Gpm_Wgetch" >&5 -echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Wgetch" >&6 -if test $ac_cv_lib_gpm_Gpm_Wgetch = yes; then - - { echo "$as_me:4827: WARNING: GPM library is already linked with curses - read the FAQ" >&5 -echo "$as_me: WARNING: GPM library is already linked with curses - read the FAQ" >&2;} - -fi - -fi - -# not everyone has "test -c" -if test -c /dev/sysmouse 2>/dev/null ; then -echo "$as_me:4836: checking if you want to use sysmouse" >&5 -echo $ECHO_N "checking if you want to use sysmouse... $ECHO_C" >&6 - -# Check whether --with-sysmouse or --without-sysmouse was given. -if test "${with_sysmouse+set}" = set; then - withval="$with_sysmouse" - cf_with_sysmouse=$withval -else - cf_with_sysmouse=maybe -fi; - if test "$cf_with_sysmouse" != no ; then - cat >conftest.$ac_ext <<_ACEOF -#line 4848 "configure" -#include "confdefs.h" - -#include -#if (__FreeBSD_version >= 400017) -#include -#include -#else -#include -#endif - -int -main () -{ - - struct mouse_info the_mouse; - ioctl(0, CONS_MOUSECTL, &the_mouse); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4871: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4874: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4877: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4880: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_with_sysmouse=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_with_sysmouse=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext - fi -echo "$as_me:4890: result: $cf_with_sysmouse" >&5 -echo "${ECHO_T}$cf_with_sysmouse" >&6 -test "$cf_with_sysmouse" = yes && cat >>confdefs.h <<\EOF -#define USE_SYSMOUSE 1 -EOF - -fi - -if test X"$CC_G_OPT" = X"" ; then - CC_G_OPT='-g' - test -n "$GCC" && test "${ac_cv_prog_cc_g}" != yes && CC_G_OPT='' -fi - -if test X"$CXX_G_OPT" = X"" ; then - CXX_G_OPT='-g' - test -n "$GXX" && test "${ac_cv_prog_cxx_g}" != yes && CXX_G_OPT='' -fi - -echo "$as_me:4908: checking for default loader flags" >&5 -echo $ECHO_N "checking for default loader flags... $ECHO_C" >&6 -case $DFT_LWR_MODEL in -libtool) LD_MODEL='' ;; -normal) LD_MODEL='' ;; -debug) LD_MODEL=$CC_G_OPT ;; -profile) LD_MODEL='-pg';; -shared) LD_MODEL='' ;; -esac -echo "$as_me:4917: result: $LD_MODEL" >&5 -echo "${ECHO_T}$LD_MODEL" >&6 - -echo "$as_me:4920: checking if rpath option should be used" >&5 -echo $ECHO_N "checking if rpath option should be used... $ECHO_C" >&6 - -# Check whether --enable-rpath or --disable-rpath was given. -if test "${enable_rpath+set}" = set; then - enableval="$enable_rpath" - cf_cv_ld_rpath=$enableval -else - cf_cv_ld_rpath=no -fi; -echo "$as_me:4930: result: $cf_cv_ld_rpath" >&5 -echo "${ECHO_T}$cf_cv_ld_rpath" >&6 - - LOCAL_LDFLAGS= - LOCAL_LDFLAGS2= - LD_SHARED_OPTS= - INSTALL_LIB="-m 644" - - cf_cv_do_symlinks=no - - echo "$as_me:4940: checking if release/abi version should be used for shared libs" >&5 -echo $ECHO_N "checking if release/abi version should be used for shared libs... $ECHO_C" >&6 - -# Check whether --with-shlib-version or --without-shlib-version was given. -if test "${with_shlib_version+set}" = set; then - withval="$with_shlib_version" - test -z "$withval" && withval=auto - case $withval in #(vi - yes) #(vi - cf_cv_shlib_version=auto - ;; - rel|abi|auto|no) #(vi - cf_cv_shlib_version=$withval - ;; - *) - { { echo "$as_me:4955: error: option value must be one of: rel, abi, auto or no" >&5 -echo "$as_me: error: option value must be one of: rel, abi, auto or no" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - cf_cv_shlib_version=auto -fi; - echo "$as_me:4964: result: $cf_cv_shlib_version" >&5 -echo "${ECHO_T}$cf_cv_shlib_version" >&6 - - cf_cv_rm_so_locs=no - - # Some less-capable ports of gcc support only -fpic - CC_SHARED_OPTS= - if test "$GCC" = yes - then - echo "$as_me:4973: checking which $CC option to use" >&5 -echo $ECHO_N "checking which $CC option to use... $ECHO_C" >&6 - cf_save_CFLAGS="$CFLAGS" - for CC_SHARED_OPTS in -fPIC -fpic '' - do - CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS" - cat >conftest.$ac_ext <<_ACEOF -#line 4980 "configure" -#include "confdefs.h" -#include -int -main () -{ -int x = 1 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4992: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4995: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4998: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5001: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done - echo "$as_me:5010: result: $CC_SHARED_OPTS" >&5 -echo "${ECHO_T}$CC_SHARED_OPTS" >&6 - CFLAGS="$cf_save_CFLAGS" - fi - - cf_cv_shlib_version_infix=no - - case $cf_cv_system_name in - beos*) - MK_SHARED_LIB='$(CC) -o $@ -Xlinker -soname=`basename $@` -nostart -e 0' - ;; - cygwin*) - CC_SHARED_OPTS= - MK_SHARED_LIB='$(CC) -shared -Wl,--out-implib=$(IMPORT_LIB) -Wl,--export-all-symbols -o $(SHARED_LIB)' - cf_cv_shlib_version=cygdll - cf_cv_shlib_version_infix=cygdll - ;; - darwin*) - EXTRA_CFLAGS="-no-cpp-precomp" - CC_SHARED_OPTS="-dynamic" - MK_SHARED_LIB='$(CC) -dynamiclib -install_name $(DESTDIR)$(libdir)/`basename $@` -compatibility_version $(ABI_VERSION) -current_version $(ABI_VERSION) -o $@' - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi - cf_cv_shlib_version_infix=yes - ;; - hpux*) - # (tested with gcc 2.7.2 -- I don't have c89) - if test "$GCC" = yes; then - LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)' - else - CC_SHARED_OPTS='+Z' - LD_SHARED_OPTS='-Wl,+b,$(libdir)' - fi - MK_SHARED_LIB='$(LD) +b $(libdir) -b -o $@' - # HP-UX shared libraries must be executable, and should be - # readonly to exploit a quirk in the memory manager. - INSTALL_LIB="-m 555" - ;; - irix*) - if test "$cf_cv_ld_rpath" = yes ; then - if test "$GCC" = yes; then - cf_ld_rpath_opt="-Wl,-rpath," - EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS" - else - cf_ld_rpath_opt="-rpath " - EXTRA_LDFLAGS="-rpath \$(libdir) $EXTRA_LDFLAGS" - fi - fi - # tested with IRIX 5.2 and 'cc'. - if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - fi - MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $@` -o $@' - cf_cv_rm_so_locs=yes - ;; - linux*|gnu*|k*bsd*-gnu) - if test "$DFT_LWR_MODEL" = "shared" ; then - LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - fi - if test "$cf_cv_ld_rpath" = yes ; then - cf_ld_rpath_opt="-Wl,-rpath," - EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS" - fi - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $@ .$(REL_VERSION)`.$(ABI_VERSION),-stats,-lc -o $@' - ;; - openbsd2*) - CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - MK_SHARED_LIB='$(LD) -Bshareable -soname,`basename $@.$(ABI_VERSION)` -o $@' - ;; - freebsd[45]*) - CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - MK_SHARED_LIB='$(LD) -Bshareable -soname=`basename $@` -o $@' - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - -# This doesn't work - I keep getting spurious references to needing -# libncurses.so.5.3 when ldd says it's resolved. LOCAL_LDFLAGS2 seems to be -# no longer used anyway. And the rpath logic isn't relative - so I have to -# add the local and install lib-directories: -# -# if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then -# LOCAL_LDFLAGS="-rpath `pwd`/lib" -# LOCAL_LDFLAGS2="-rpath \$(libdir) $LOCAL_LDFLAGS" -# cf_ld_rpath_opt="-rpath " -# EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS" -# fi - ;; - openbsd*|freebsd*) - CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - MK_SHARED_LIB='$(LD) -Bshareable -o $@' - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - ;; - netbsd*) - CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - test "$cf_cv_ld_rpath" = yes && cf_ld_rpath_opt="-Wl,-rpath," - if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then - LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS" - MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $@ .$(REL_VERSION)`.$(ABI_VERSION) -o $@' - if test "$cf_cv_shlib_version" = auto; then - if test ! -f /usr/libexec/ld.elf_so; then - cf_cv_shlib_version=rel - fi - fi - else - MK_SHARED_LIB='$(LD) -Bshareable -o $@' - fi - ;; - osf*|mls+*) - # tested with OSF/1 V3.2 and 'cc' - # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't - # link with shared libs). - MK_SHARED_LIB='$(LD) -set_version $(REL_VERSION):$(ABI_VERSION) -expect_unresolved "*" -shared -soname `basename $@`' - case $host_os in - osf4*) - MK_SHARED_LIB="${MK_SHARED_LIB} -msym" - ;; - esac - MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $@' - if test "$DFT_LWR_MODEL" = "shared" ; then - LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - fi - if test "$cf_cv_ld_rpath" = yes ; then - cf_ld_rpath_opt="-rpath" - # EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS" - fi - cf_cv_rm_so_locs=yes - ;; - sco3.2v5*) # (also uw2* and UW7) hops 13-Apr-98 - # tested with osr5.0.5 - if test "$GCC" != yes; then - CC_SHARED_OPTS='-belf -KPIC' - fi - MK_SHARED_LIB='$(LD) -dy -G -h `basename $@ .$(REL_VERSION)`.$(ABI_VERSION) -o $@' - if test "$cf_cv_ld_rpath" = yes ; then - # only way is to set LD_RUN_PATH but no switch for it - RUN_PATH=$libdir - fi - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - LINK_PROGS='LD_RUN_PATH=$(libdir)' - LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib' - ;; - sunos4*) - # tested with SunOS 4.1.1 and gcc 2.7.0 - if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - fi - MK_SHARED_LIB='$(LD) -assert pure-text -o $@' - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - ;; - solaris2*) - # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2 - if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - fi - MK_SHARED_LIB='$(LD) -dy -G -h `basename $@ .$(REL_VERSION)`.$(ABI_VERSION) -o $@' - if test "$DFT_LWR_MODEL" = "shared" ; then - LOCAL_LDFLAGS="-R `pwd`/lib:\$(libdir)" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - fi - if test "$cf_cv_ld_rpath" = yes ; then - cf_ld_rpath_opt="-R" - EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS" - fi - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - ;; - sysv5uw7*|unix_sv*) - # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc) - if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - fi - MK_SHARED_LIB='$(LD) -d y -G -o $@' - ;; - *) - CC_SHARED_OPTS='unknown' - MK_SHARED_LIB='echo unknown' - ;; - esac - - # This works if the last tokens in $MK_SHARED_LIB are the -o target. - case "$cf_cv_shlib_version" in #(vi - rel|abi) - case "$MK_SHARED_LIB" in #(vi - *'-o $@') - test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes - ;; - *) - { echo "$as_me:5199: WARNING: ignored --with-shlib-version" >&5 -echo "$as_me: WARNING: ignored --with-shlib-version" >&2;} - ;; - esac - ;; - esac - - if test -n "$cf_ld_rpath_opt" ; then - echo "$as_me:5207: checking if we need a space after rpath option" >&5 -echo $ECHO_N "checking if we need a space after rpath option... $ECHO_C" >&6 - cf_save_LIBS="$LIBS" - LIBS="$LIBS ${cf_ld_rpath_opt}$libdir" - cat >conftest.$ac_ext <<_ACEOF -#line 5212 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:5224: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:5227: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:5230: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5233: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_rpath_space=no -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_rpath_space=yes -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - LIBS="$cf_save_LIBS" - echo "$as_me:5243: result: $cf_rpath_space" >&5 -echo "${ECHO_T}$cf_rpath_space" >&6 - test "$cf_rpath_space" = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt " - MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\$(libdir)" - fi - -if test "$CC_SHARED_OPTS" = "unknown"; then - for model in $cf_list_models; do - if test "$model" = "shared"; then - { { echo "$as_me:5252: error: Shared libraries are not supported in this version" >&5 -echo "$as_me: error: Shared libraries are not supported in this version" >&2;} - { (exit 1); exit 1; }; } - fi - done -fi - -############################################################################### - -### use option --disable-overwrite to leave out the link to -lcurses -echo "$as_me:5262: checking if you wish to install ncurses overwriting curses" >&5 -echo $ECHO_N "checking if you wish to install ncurses overwriting curses... $ECHO_C" >&6 - -# Check whether --enable-overwrite or --disable-overwrite was given. -if test "${enable_overwrite+set}" = set; then - enableval="$enable_overwrite" - with_overwrite=$enableval -else - if test "$prefix" = "/usr" ; then with_overwrite=yes; else with_overwrite=no; fi -fi; -echo "$as_me:5272: result: $with_overwrite" >&5 -echo "${ECHO_T}$with_overwrite" >&6 - -echo "$as_me:5275: checking if external terminfo-database is used" >&5 -echo $ECHO_N "checking if external terminfo-database is used... $ECHO_C" >&6 - -# Check whether --enable-database or --disable-database was given. -if test "${enable_database+set}" = set; then - enableval="$enable_database" - use_database=$enableval -else - use_database=yes -fi; -echo "$as_me:5285: result: $use_database" >&5 -echo "${ECHO_T}$use_database" >&6 - -case $host_os in #(vi -os2*) #(vi - TERMINFO_SRC='${top_srcdir}/misc/emx.src' - ;; -*) #(vi - TERMINFO_SRC='${top_srcdir}/misc/terminfo.src' - ;; -esac - - case $cf_cv_system_name in - os2*) PATHSEP=';' ;; - *) PATHSEP=':' ;; - esac - -if test "$use_database" != no ; then - cat >>confdefs.h <<\EOF -#define USE_DATABASE 1 -EOF - - echo "$as_me:5307: checking which terminfo source-file will be installed" >&5 -echo $ECHO_N "checking which terminfo source-file will be installed... $ECHO_C" >&6 - -# Check whether --enable-database or --disable-database was given. -if test "${enable_database+set}" = set; then - enableval="$enable_database" - TERMINFO_SRC=$withval -fi; - echo "$as_me:5315: result: $TERMINFO_SRC" >&5 -echo "${ECHO_T}$TERMINFO_SRC" >&6 -fi - -echo "$as_me:5319: checking for list of fallback descriptions" >&5 -echo $ECHO_N "checking for list of fallback descriptions... $ECHO_C" >&6 - -# Check whether --with-fallbacks or --without-fallbacks was given. -if test "${with_fallbacks+set}" = set; then - withval="$with_fallbacks" - with_fallback=$withval -else - with_fallback= -fi; -echo "$as_me:5329: result: $with_fallback" >&5 -echo "${ECHO_T}$with_fallback" >&6 -FALLBACK_LIST=`echo "$with_fallback" | sed -e 's/,/ /g'` - -echo "$as_me:5333: checking if you want modern xterm or antique" >&5 -echo $ECHO_N "checking if you want modern xterm or antique... $ECHO_C" >&6 - -# Check whether --with-xterm-new or --without-xterm-new was given. -if test "${with_xterm_new+set}" = set; then - withval="$with_xterm_new" - with_xterm_new=$withval -else - with_xterm_new=yes -fi; -case $with_xterm_new in -no) with_xterm_new=xterm-old;; -*) with_xterm_new=xterm-new;; -esac -echo "$as_me:5347: result: $with_xterm_new" >&5 -echo "${ECHO_T}$with_xterm_new" >&6 -WHICH_XTERM=$with_xterm_new - -MAKE_TERMINFO= -if test "$use_database" = no ; then - TERMINFO="${datadir}/terminfo" - MAKE_TERMINFO="#" -else - -echo "$as_me:5357: checking for list of terminfo directories" >&5 -echo $ECHO_N "checking for list of terminfo directories... $ECHO_C" >&6 - -# Check whether --with-terminfo-dirs or --without-terminfo-dirs was given. -if test "${with_terminfo_dirs+set}" = set; then - withval="$with_terminfo_dirs" - -else - withval=${TERMINFO_DIRS-${datadir}/terminfo} -fi; -IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${PATHSEP}" -cf_dst_path= -for cf_src_path in $withval -do - -case ".$cf_src_path" in #(vi -.\$\(*\)*|.\'*\'*) #(vi - ;; -..|./*|.\\*) #(vi - ;; -.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX - ;; -.\${*prefix}*) #(vi - eval cf_src_path="$cf_src_path" - case ".$cf_src_path" in #(vi - .NONE/*) - cf_src_path=`echo $cf_src_path | sed -e s%NONE%$ac_default_prefix%` - ;; - esac - ;; #(vi -.NONE/*) - cf_src_path=`echo $cf_src_path | sed -e s%NONE%$ac_default_prefix%` - ;; -*) - { { echo "$as_me:5391: error: expected a pathname, not \"$cf_src_path\"" >&5 -echo "$as_me: error: expected a pathname, not \"$cf_src_path\"" >&2;} - { (exit 1); exit 1; }; } - ;; -esac - - test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}:" - cf_dst_path="${cf_dst_path}${cf_src_path}" -done -IFS="$ac_save_ifs" - -eval 'TERMINFO_DIRS="$cf_dst_path"' - -echo "$as_me:5404: result: $TERMINFO_DIRS" >&5 -echo "${ECHO_T}$TERMINFO_DIRS" >&6 -test -n "$TERMINFO_DIRS" && cat >>confdefs.h <&5 -echo $ECHO_N "checking for default terminfo directory... $ECHO_C" >&6 - -# Check whether --with-default-terminfo-dir or --without-default-terminfo-dir was given. -if test "${with_default_terminfo_dir+set}" = set; then - withval="$with_default_terminfo_dir" - -else - withval="${TERMINFO-${datadir}/terminfo}" -fi; -case ".$withval" in #(vi -.\$\(*\)*|.\'*\'*) #(vi - ;; -..|./*|.\\*) #(vi - ;; -.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX - ;; -.\${*prefix}*) #(vi - eval withval="$withval" - case ".$withval" in #(vi - .NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; - esac - ;; #(vi -.NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; -*) - { { echo "$as_me:5439: error: expected a pathname, not \"$withval\"" >&5 -echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;} - { (exit 1); exit 1; }; } - ;; -esac - -eval TERMINFO="$withval" - -echo "$as_me:5447: result: $TERMINFO" >&5 -echo "${ECHO_T}$TERMINFO" >&6 -cat >>confdefs.h <&5 -echo $ECHO_N "checking if big-core option selected... $ECHO_C" >&6 - -# Check whether --enable-big-core or --disable-big-core was given. -if test "${enable_big_core+set}" = set; then - enableval="$enable_big_core" - with_big_core=$enableval -else - if test "$cross_compiling" = yes; then - with_big_core=no -else - cat >conftest.$ac_ext <<_ACEOF -#line 5469 "configure" -#include "confdefs.h" - -#include -#include -int main() { - unsigned long n = 6000000L; - char *s = malloc(n); - if (s != 0) - s[0] = s[n-1] = 0; - exit(s == 0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:5483: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:5486: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:5488: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5491: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - with_big_core=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -with_big_core=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi; -echo "$as_me:5503: result: $with_big_core" >&5 -echo "${ECHO_T}$with_big_core" >&6 -test "$with_big_core" = "yes" && cat >>confdefs.h <<\EOF -#define HAVE_BIG_CORE 1 -EOF - -### use option --enable-termcap to compile in the termcap fallback support -echo "$as_me:5510: checking if you want termcap-fallback support" >&5 -echo $ECHO_N "checking if you want termcap-fallback support... $ECHO_C" >&6 - -# Check whether --enable-termcap or --disable-termcap was given. -if test "${enable_termcap+set}" = set; then - enableval="$enable_termcap" - with_termcap=$enableval -else - with_termcap=no -fi; -echo "$as_me:5520: result: $with_termcap" >&5 -echo "${ECHO_T}$with_termcap" >&6 - -if test "$with_termcap" != "yes" ; then - if test "$use_database" = no ; then - if test -z "$with_fallback" ; then - { { echo "$as_me:5526: error: You have disabled the database w/o specifying fallbacks" >&5 -echo "$as_me: error: You have disabled the database w/o specifying fallbacks" >&2;} - { (exit 1); exit 1; }; } - fi - fi - cat >>confdefs.h <<\EOF -#define PURE_TERMINFO 1 -EOF - -else - -cat >>confdefs.h <<\EOF -#define USE_TERMCAP 1 -EOF - -echo "$as_me:5541: checking for list of termcap files" >&5 -echo $ECHO_N "checking for list of termcap files... $ECHO_C" >&6 - -# Check whether --with-termpath or --without-termpath was given. -if test "${with_termpath+set}" = set; then - withval="$with_termpath" - -else - withval=${TERMPATH-/etc/termcap:/usr/share/misc/termcap} -fi; -IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${PATHSEP}" -cf_dst_path= -for cf_src_path in $withval -do - -case ".$cf_src_path" in #(vi -.\$\(*\)*|.\'*\'*) #(vi - ;; -..|./*|.\\*) #(vi - ;; -.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX - ;; -.\${*prefix}*) #(vi - eval cf_src_path="$cf_src_path" - case ".$cf_src_path" in #(vi - .NONE/*) - cf_src_path=`echo $cf_src_path | sed -e s%NONE%$ac_default_prefix%` - ;; - esac - ;; #(vi -.NONE/*) - cf_src_path=`echo $cf_src_path | sed -e s%NONE%$ac_default_prefix%` - ;; -*) - { { echo "$as_me:5575: error: expected a pathname, not \"$cf_src_path\"" >&5 -echo "$as_me: error: expected a pathname, not \"$cf_src_path\"" >&2;} - { (exit 1); exit 1; }; } - ;; -esac - - test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}:" - cf_dst_path="${cf_dst_path}${cf_src_path}" -done -IFS="$ac_save_ifs" - -eval 'TERMPATH="$cf_dst_path"' - -echo "$as_me:5588: result: $TERMPATH" >&5 -echo "${ECHO_T}$TERMPATH" >&6 -test -n "$TERMPATH" && cat >>confdefs.h <&5 -echo $ECHO_N "checking if fast termcap-loader is needed... $ECHO_C" >&6 - -# Check whether --enable-getcap or --disable-getcap was given. -if test "${enable_getcap+set}" = set; then - enableval="$enable_getcap" - with_getcap=$enableval -else - with_getcap=no -fi; -echo "$as_me:5605: result: $with_getcap" >&5 -echo "${ECHO_T}$with_getcap" >&6 -test "$with_getcap" = "yes" && cat >>confdefs.h <<\EOF -#define USE_GETCAP 1 -EOF - -echo "$as_me:5611: checking if translated termcaps will be cached in ~/.terminfo" >&5 -echo $ECHO_N "checking if translated termcaps will be cached in ~/.terminfo... $ECHO_C" >&6 - -# Check whether --enable-getcap-cache or --disable-getcap-cache was given. -if test "${enable_getcap_cache+set}" = set; then - enableval="$enable_getcap_cache" - with_getcap_cache=$enableval -else - with_getcap_cache=no -fi; -echo "$as_me:5621: result: $with_getcap_cache" >&5 -echo "${ECHO_T}$with_getcap_cache" >&6 -test "$with_getcap_cache" = "yes" && cat >>confdefs.h <<\EOF -#define USE_GETCAP_CACHE 1 -EOF - -fi - -### Use option --disable-home-terminfo to completely remove ~/.terminfo -echo "$as_me:5630: checking if ~/.terminfo is wanted" >&5 -echo $ECHO_N "checking if ~/.terminfo is wanted... $ECHO_C" >&6 - -# Check whether --enable-home-terminfo or --disable-home-terminfo was given. -if test "${enable_home_terminfo+set}" = set; then - enableval="$enable_home_terminfo" - with_home_terminfo=$enableval -else - with_home_terminfo=yes -fi; -echo "$as_me:5640: result: $with_home_terminfo" >&5 -echo "${ECHO_T}$with_home_terminfo" >&6 -test "$with_home_terminfo" = "yes" && cat >>confdefs.h <<\EOF -#define USE_HOME_TERMINFO 1 -EOF - -echo "$as_me:5646: checking if you want to use restrict environment when running as root" >&5 -echo $ECHO_N "checking if you want to use restrict environment when running as root... $ECHO_C" >&6 - -# Check whether --enable-root-environ or --disable-root-environ was given. -if test "${enable_root_environ+set}" = set; then - enableval="$enable_root_environ" - with_root_environ=$enableval -else - with_root_environ=yes -fi; -echo "$as_me:5656: result: $with_root_environ" >&5 -echo "${ECHO_T}$with_root_environ" >&6 -test "$with_root_environ" = yes && cat >>confdefs.h <<\EOF -#define USE_ROOT_ENVIRON 1 -EOF - -### Use option --enable-symlinks to make tic use symlinks, not hard links -### to reduce storage requirements for the terminfo database. - -for ac_func in \ - remove \ - unlink -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:5670: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 5676 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:5707: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:5710: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:5713: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5716: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:5726: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 5749 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:5780: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:5783: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:5786: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5789: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:5799: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking if link/symlink functions work... $ECHO_C" >&6 -if test "${cf_cv_link_funcs+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_cv_link_funcs= - for cf_func in link symlink ; do - if test "$cross_compiling" = yes; then - - eval 'ac_cv_func_'$cf_func'=error' -else - cat >conftest.$ac_ext <<_ACEOF -#line 5823 "configure" -#include "confdefs.h" - -#include -#include -#ifdef HAVE_UNISTD_H -#include -#endif -int main() -{ - int fail = 0; - char *src = "config.log"; - char *dst = "conftest.chk"; - struct stat src_sb; - struct stat dst_sb; - - stat(src, &src_sb); - fail = ($cf_func("config.log", "conftest.chk") < 0) - || (stat(dst, &dst_sb) < 0) - || (dst_sb.st_mtime != src_sb.st_mtime); -#ifdef HAVE_UNLINK - unlink(dst); -#else - remove(dst); -#endif - exit (fail); -} - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:5853: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:5856: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:5858: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5861: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - cf_cv_link_funcs="$cf_cv_link_funcs $cf_func" - eval 'ac_cv_func_'$cf_func'=yes' -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - eval 'ac_cv_func_'$cf_func'=no' -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - done - test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no - -fi -echo "$as_me:5879: result: $cf_cv_link_funcs" >&5 -echo "${ECHO_T}$cf_cv_link_funcs" >&6 - test "$ac_cv_func_link" = yes && cat >>confdefs.h <<\EOF -#define HAVE_LINK 1 -EOF - - test "$ac_cv_func_symlink" = yes && cat >>confdefs.h <<\EOF -#define HAVE_SYMLINK 1 -EOF - -fi - -with_links=no -with_symlinks=no - -if test "$ac_cv_func_link" != yes ; then - echo "$as_me:5895: checking if tic should use symbolic links" >&5 -echo $ECHO_N "checking if tic should use symbolic links... $ECHO_C" >&6 - if test "$ac_cv_func_symlink" = yes ; then - with_symlinks=yes - else - with_symlinks=no - fi - echo "$as_me:5902: result: $with_symlinks" >&5 -echo "${ECHO_T}$with_symlinks" >&6 -elif test "$ac_cv_func_symlink" != yes ; then - echo "$as_me:5905: checking if tic should use hard links" >&5 -echo $ECHO_N "checking if tic should use hard links... $ECHO_C" >&6 - if test "$ac_cv_func_link" = yes ; then - with_links=yes - else - with_links=no - fi - echo "$as_me:5912: result: $with_links" >&5 -echo "${ECHO_T}$with_links" >&6 -else - echo "$as_me:5915: checking if tic should use symbolic links" >&5 -echo $ECHO_N "checking if tic should use symbolic links... $ECHO_C" >&6 - -# Check whether --enable-symlinks or --disable-symlinks was given. -if test "${enable_symlinks+set}" = set; then - enableval="$enable_symlinks" - with_symlinks=$enableval -else - with_symlinks=no -fi; - echo "$as_me:5925: result: $with_symlinks" >&5 -echo "${ECHO_T}$with_symlinks" >&6 -fi - -test "$with_links" = yes && cat >>confdefs.h <<\EOF -#define USE_LINKS 1 -EOF - -test "$with_symlinks" = yes && cat >>confdefs.h <<\EOF -#define USE_SYMLINKS 1 -EOF - -### use option --enable-broken-linker to force on use of broken-linker support -echo "$as_me:5938: checking if you want broken-linker support code" >&5 -echo $ECHO_N "checking if you want broken-linker support code... $ECHO_C" >&6 - -# Check whether --enable-broken_linker or --disable-broken_linker was given. -if test "${enable_broken_linker+set}" = set; then - enableval="$enable_broken_linker" - with_broken_linker=$enableval -else - with_broken_linker=${BROKEN_LINKER-no} -fi; -echo "$as_me:5948: result: $with_broken_linker" >&5 -echo "${ECHO_T}$with_broken_linker" >&6 - -BROKEN_LINKER=0 -if test "$with_broken_linker" = yes ; then - cat >>confdefs.h <<\EOF -#define BROKEN_LINKER 1 -EOF - - BROKEN_LINKER=1 -elif test "$DFT_LWR_MODEL" = shared ; then - case $cf_cv_system_name in #(vi - cygwin*) - cat >>confdefs.h <<\EOF -#define BROKEN_LINKER 1 -EOF - - BROKEN_LINKER=1 - test -n "$verbose" && echo " cygwin linker is broken anyway" 1>&6 - - ;; - esac -fi - -### use option --enable-widec to turn on use of wide-character support -NCURSES_CH_T=chtype -NCURSES_LIBUTF8=0 - -NEED_WCHAR_H=0 -NCURSES_MBSTATE_T=0 -NCURSES_WCHAR_T=0 -NCURSES_WINT_T=0 - -# Check to define _XOPEN_SOURCE "automatically" - -echo "$as_me:5983: checking if $CC -U and -D options work together" >&5 -echo $ECHO_N "checking if $CC -U and -D options work together... $ECHO_C" >&6 -if test "${cf_cv_cc_u_d_options+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-UU_D_OPTIONS -DU_D_OPTIONS -DD_U_OPTIONS -UD_U_OPTIONS" - cat >conftest.$ac_ext <<_ACEOF -#line 5992 "configure" -#include "confdefs.h" - -int -main () -{ - -#ifndef U_D_OPTIONS -make an undefined-error -#endif -#ifdef D_U_OPTIONS -make a defined-error -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6011: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6014: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6017: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6020: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - cf_cv_cc_u_d_options=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - cf_cv_cc_u_d_options=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext - CPPFLAGS="$cf_save_CPPFLAGS" - -fi -echo "$as_me:6034: result: $cf_cv_cc_u_d_options" >&5 -echo "${ECHO_T}$cf_cv_cc_u_d_options" >&6 - -cf_XOPEN_SOURCE=500 -cf_POSIX_C_SOURCE=199506L - -case $host_os in #(vi -aix[45]*) #(vi - CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE" - ;; -darwin*) #(vi - # setting _XOPEN_SOURCE breaks things on Darwin - ;; -freebsd*) #(vi - # 5.x headers associate - # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L - # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L - cf_POSIX_C_SOURCE=200112L - cf_XOPEN_SOURCE=600 - CPPFLAGS="$CPPFLAGS -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - ;; -hpux*) #(vi - CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE" - ;; -irix[56].*) #(vi - CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE" - ;; -linux*|gnu*) #(vi - -echo "$as_me:6063: checking if we must define _GNU_SOURCE" >&5 -echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6 -if test "${cf_cv_gnu_source+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -#line 6070 "configure" -#include "confdefs.h" -#include -int -main () -{ - -#ifndef _XOPEN_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6085: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6088: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6091: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6094: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_gnu_source=no -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" - cat >conftest.$ac_ext <<_ACEOF -#line 6103 "configure" -#include "confdefs.h" -#include -int -main () -{ - -#ifdef _XOPEN_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6118: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6121: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6124: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6127: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_gnu_source=no -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_gnu_source=yes -fi -rm -f conftest.$ac_objext conftest.$ac_ext - CPPFLAGS="$cf_save" - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -fi -echo "$as_me:6142: result: $cf_cv_gnu_source" >&5 -echo "${ECHO_T}$cf_cv_gnu_source" >&6 -test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" - - ;; -mirbsd*) #(vi - # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks - ;; -netbsd*) #(vi - # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw - ;; -openbsd*) #(vi - # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw - ;; -osf[45]*) #(vi - CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE" - ;; -nto-qnx*) #(vi - CPPFLAGS="$CPPFLAGS -D_QNX_SOURCE" - ;; -sco*) #(vi - # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer - ;; -solaris*) #(vi - CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__" - ;; -*) - echo "$as_me:6169: checking if we should define _XOPEN_SOURCE" >&5 -echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6 -if test "${cf_cv_xopen_source+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -#line 6176 "configure" -#include "confdefs.h" -#include -int -main () -{ - -#ifndef _XOPEN_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6191: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6194: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6197: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6200: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_xopen_source=no -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - cat >conftest.$ac_ext <<_ACEOF -#line 6209 "configure" -#include "confdefs.h" -#include -int -main () -{ - -#ifdef _XOPEN_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6224: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6227: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6230: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6233: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_xopen_source=no -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_xopen_source=$cf_XOPEN_SOURCE -fi -rm -f conftest.$ac_objext conftest.$ac_ext - CPPFLAGS="$cf_save" - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -fi -echo "$as_me:6248: result: $cf_cv_xopen_source" >&5 -echo "${ECHO_T}$cf_cv_xopen_source" >&6 - if test "$cf_cv_xopen_source" != no ; then - -# remove _XOPEN_SOURCE symbol from $CFLAGS -CFLAGS=`echo "$CFLAGS" | \ - sed -e 's/-[UD]_XOPEN_SOURCE\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]_XOPEN_SOURCE\(=[^ ]*\)\?$//g'` - -# remove _XOPEN_SOURCE symbol from $CPPFLAGS -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]_XOPEN_SOURCE\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]_XOPEN_SOURCE\(=[^ ]*\)\?$//g'` - - test "$cf_cv_cc_u_d_options" = yes && \ - CPPFLAGS="$CPPFLAGS -U_XOPEN_SOURCE" - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_cv_xopen_source" - fi - -cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE - -cf_save_CFLAGS="$CFLAGS" -cf_save_CPPFLAGS="$CPPFLAGS" - -# remove _POSIX_C_SOURCE symbol from $cf_save_CFLAGS -cf_trim_CFLAGS=`echo "$cf_save_CFLAGS" | \ - sed -e 's/-[UD]_POSIX_C_SOURCE\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]_POSIX_C_SOURCE\(=[^ ]*\)\?$//g'` - -# remove _POSIX_C_SOURCE symbol from $cf_save_CPPFLAGS -cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \ - sed -e 's/-[UD]_POSIX_C_SOURCE\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]_POSIX_C_SOURCE\(=[^ ]*\)\?$//g'` - -echo "$as_me:6282: checking if we should define _POSIX_C_SOURCE" >&5 -echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6 -if test "${cf_cv_posix_c_source+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -echo "(line 6288) testing if the symbol is already defined go no further ..." 1>&5 - - cat >conftest.$ac_ext <<_ACEOF -#line 6291 "configure" -#include "confdefs.h" -#include -int -main () -{ - -#ifndef _POSIX_C_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6306: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6309: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6312: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6315: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_posix_c_source=no -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_want_posix_source=no - case .$cf_POSIX_C_SOURCE in #(vi - .[12]??*) #(vi - cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" - ;; - .2) #(vi - cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" - cf_want_posix_source=yes - ;; - .*) - cf_want_posix_source=yes - ;; - esac - if test "$cf_want_posix_source" = yes ; then - cat >conftest.$ac_ext <<_ACEOF -#line 6336 "configure" -#include "confdefs.h" -#include -int -main () -{ - -#ifdef _POSIX_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6351: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6354: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6357: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6360: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE" -fi -rm -f conftest.$ac_objext conftest.$ac_ext - fi - -echo "(line 6371) testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5 - - CFLAGS="$cf_trim_CFLAGS" - CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source" - -echo "(line 6376) testing if the second compile does not leave our definition intact error ..." 1>&5 - - cat >conftest.$ac_ext <<_ACEOF -#line 6379 "configure" -#include "confdefs.h" -#include -int -main () -{ - -#ifndef _POSIX_C_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6394: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6397: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6400: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6403: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_posix_c_source=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext - CFLAGS="$cf_save_CFLAGS" - CPPFLAGS="$cf_save_CPPFLAGS" - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -fi -echo "$as_me:6419: result: $cf_cv_posix_c_source" >&5 -echo "${ECHO_T}$cf_cv_posix_c_source" >&6 - -if test "$cf_cv_posix_c_source" != no ; then - CFLAGS="$cf_trim_CFLAGS" - CPPFLAGS="$cf_trim_CPPFLAGS" - if test "$cf_cv_cc_u_d_options" = yes ; then - cf_temp_posix_c_source=`echo "$cf_cv_posix_c_source" | \ - sed -e 's/-D/-U/g' -e 's/=[^ ]*//g'` - CPPFLAGS="$CPPFLAGS $cf_temp_posix_c_source" - fi - CPPFLAGS="$CPPFLAGS $cf_cv_posix_c_source" -fi - - ;; -esac - -# Checks for CODESET support. - - echo "$as_me:6438: checking for nl_langinfo and CODESET" >&5 -echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6 -if test "${am_cv_langinfo_codeset+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 6444 "configure" -#include "confdefs.h" -#include -int -main () -{ -char* cs = nl_langinfo(CODESET); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6456: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6459: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6462: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6465: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - am_cv_langinfo_codeset=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -am_cv_langinfo_codeset=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - -fi -echo "$as_me:6476: result: $am_cv_langinfo_codeset" >&5 -echo "${ECHO_T}$am_cv_langinfo_codeset" >&6 - if test $am_cv_langinfo_codeset = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_LANGINFO_CODESET 1 -EOF - - fi - -# use these variables to work around a defect in gcc's fixincludes. -NCURSES_OK_WCHAR_T= -NCURSES_OK_WINT_T= - -echo "$as_me:6490: checking if you want wide-character code" >&5 -echo $ECHO_N "checking if you want wide-character code... $ECHO_C" >&6 - -# Check whether --enable-widec or --disable-widec was given. -if test "${enable_widec+set}" = set; then - enableval="$enable_widec" - with_widec=$enableval -else - with_widec=no -fi; -echo "$as_me:6500: result: $with_widec" >&5 -echo "${ECHO_T}$with_widec" >&6 -if test "$with_widec" = yes ; then - LIB_SUFFIX="w${LIB_SUFFIX}" - cat >>confdefs.h <<\EOF -#define USE_WIDEC_SUPPORT 1 -EOF - -echo "$as_me:6508: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5 -echo $ECHO_N "checking if we must define _XOPEN_SOURCE_EXTENDED... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line 6511 "configure" -#include "confdefs.h" -#include - -int -main () -{ - -#ifndef _XOPEN_SOURCE_EXTENDED -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6527: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6530: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6533: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6536: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_result=no -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_result=yes -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:6545: result: $cf_result" >&5 -echo "${ECHO_T}$cf_result" >&6 - -if test "$cf_result" = yes ; then - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" -elif test "x" != "x" ; then - echo "$as_me:6551: checking checking for compatible value versus " >&5 -echo $ECHO_N "checking checking for compatible value versus ... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 6554 "configure" -#include "confdefs.h" -#include - -int -main () -{ - -#if _XOPEN_SOURCE_EXTENDED- < 0 -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6570: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6573: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6576: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6579: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_result=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_result=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext - echo "$as_me:6588: result: $cf_result" >&5 -echo "${ECHO_T}$cf_result" >&6 - if test "$cf_result" = no ; then - # perhaps we can override it - try... - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED=" - fi -fi - - # with_overwrite=no - NCURSES_CH_T=cchar_t - -for ac_func in putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:6602: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 6608 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6639: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6642: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6645: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6648: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:6658: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking for putwc in libutf8... $ECHO_C" >&6 -if test "${cf_cv_libutf8+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_save_LIBS="$LIBS" - LIBS="-lutf8 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 6679 "configure" -#include "confdefs.h" - -#include -int -main () -{ -putwc(0,0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6692: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6695: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6698: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6701: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_libutf8=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_libutf8=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - LIBS="$cf_save_LIBS" - -fi -echo "$as_me:6713: result: $cf_cv_libutf8" >&5 -echo "${ECHO_T}$cf_cv_libutf8" >&6 - -if test "$cf_cv_libutf8" = yes ; then - cat >>confdefs.h <<\EOF -#define HAVE_LIBUTF8_H 1 -EOF - - LIBS="-lutf8 $LIBS" -fi - - if test "$cf_cv_libutf8" = yes ; then - NCURSES_LIBUTF8=1 - fi - fi - -# This is needed on Tru64 5.0 to declare mbstate_t -echo "$as_me:6730: checking if we must include wchar.h to declare mbstate_t" >&5 -echo $ECHO_N "checking if we must include wchar.h to declare mbstate_t... $ECHO_C" >&6 -if test "${cf_cv_mbstate_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -#line 6737 "configure" -#include "confdefs.h" - -#include -#include -#include -#ifdef HAVE_LIBUTF8_H -#include -#endif -int -main () -{ -mbstate_t state - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6755: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6758: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6761: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6764: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_mbstate_t=no -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cat >conftest.$ac_ext <<_ACEOF -#line 6771 "configure" -#include "confdefs.h" - -#include -#include -#include -#include -#ifdef HAVE_LIBUTF8_H -#include -#endif -int -main () -{ -mbstate_t value - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6790: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6793: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6796: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6799: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_mbstate_t=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_mbstate_t=unknown -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:6811: result: $cf_cv_mbstate_t" >&5 -echo "${ECHO_T}$cf_cv_mbstate_t" >&6 - -if test "$cf_cv_mbstate_t" = yes ; then - cat >>confdefs.h <<\EOF -#define NEED_WCHAR_H 1 -EOF - - NEED_WCHAR_H=1 -fi - -# if we do not find mbstate_t in either place, use substitution to provide a fallback. -if test "$cf_cv_mbstate_t" = unknown ; then - NCURSES_MBSTATE_T=1 -fi - -# This is needed on Tru64 5.0 to declare wchar_t -echo "$as_me:6828: checking if we must include wchar.h to declare wchar_t" >&5 -echo $ECHO_N "checking if we must include wchar.h to declare wchar_t... $ECHO_C" >&6 -if test "${cf_cv_wchar_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -#line 6835 "configure" -#include "confdefs.h" - -#include -#include -#include -#ifdef HAVE_LIBUTF8_H -#include -#endif -int -main () -{ -wchar_t state - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6853: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6856: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6859: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6862: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_wchar_t=no -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cat >conftest.$ac_ext <<_ACEOF -#line 6869 "configure" -#include "confdefs.h" - -#include -#include -#include -#include -#ifdef HAVE_LIBUTF8_H -#include -#endif -int -main () -{ -wchar_t value - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6888: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6891: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6894: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6897: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_wchar_t=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_wchar_t=unknown -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:6909: result: $cf_cv_wchar_t" >&5 -echo "${ECHO_T}$cf_cv_wchar_t" >&6 - -if test "$cf_cv_wchar_t" = yes ; then - cat >>confdefs.h <<\EOF -#define NEED_WCHAR_H 1 -EOF - - NEED_WCHAR_H=1 -fi - -# if we do not find wchar_t in either place, use substitution to provide a fallback. -if test "$cf_cv_wchar_t" = unknown ; then - NCURSES_WCHAR_T=1 -fi - -# if we find wchar_t in either place, use substitution to provide a fallback. -if test "$cf_cv_wchar_t" != unknown ; then - NCURSES_OK_WCHAR_T=1 -fi - -# This is needed on Tru64 5.0 to declare wint_t -echo "$as_me:6931: checking if we must include wchar.h to declare wint_t" >&5 -echo $ECHO_N "checking if we must include wchar.h to declare wint_t... $ECHO_C" >&6 -if test "${cf_cv_wint_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -#line 6938 "configure" -#include "confdefs.h" - -#include -#include -#include -#ifdef HAVE_LIBUTF8_H -#include -#endif -int -main () -{ -wint_t state - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6956: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6959: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6962: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6965: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_wint_t=no -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cat >conftest.$ac_ext <<_ACEOF -#line 6972 "configure" -#include "confdefs.h" - -#include -#include -#include -#include -#ifdef HAVE_LIBUTF8_H -#include -#endif -int -main () -{ -wint_t value - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6991: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6994: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6997: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7000: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_wint_t=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_wint_t=unknown -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:7012: result: $cf_cv_wint_t" >&5 -echo "${ECHO_T}$cf_cv_wint_t" >&6 - -if test "$cf_cv_wint_t" = yes ; then - cat >>confdefs.h <<\EOF -#define NEED_WCHAR_H 1 -EOF - - NEED_WCHAR_H=1 -fi - -# if we do not find wint_t in either place, use substitution to provide a fallback. -if test "$cf_cv_wint_t" = unknown ; then - NCURSES_WINT_T=1 -fi - -# if we find wint_t in either place, use substitution to provide a fallback. -if test "$cf_cv_wint_t" != unknown ; then - NCURSES_OK_WINT_T=1 -fi - - if test "$NCURSES_MBSTATE_T" != 0; then - cat >>confdefs.h <<\EOF -#define NEED_MBSTATE_T_DEF 1 -EOF - - fi -fi - -### use option --disable-lp64 to allow long chtype -case $cf_cv_abi_version in -[345]*) - default_with_lp64=no - ;; -*) - default_with_lp64=yes - ;; -esac - -echo "$as_me:7051: checking whether to enable _LP64 definition in curses.h" >&5 -echo $ECHO_N "checking whether to enable _LP64 definition in curses.h... $ECHO_C" >&6 - -# Check whether --enable-lp64 or --disable-lp64 was given. -if test "${enable_lp64+set}" = set; then - enableval="$enable_lp64" - with_lp64=$enableval -else - with_lp64=$default_with_lp64 -fi; -echo "$as_me:7061: result: $with_lp64" >&5 -echo "${ECHO_T}$with_lp64" >&6 - -if test "$with_lp64" = yes ; then - cf_cv_enable_lp64=1 -else - cf_cv_enable_lp64=0 -fi - - echo "$as_me:7070: checking for _LARGEFILE_SOURCE value needed for large files" >&5 -echo $ECHO_N "checking for _LARGEFILE_SOURCE value needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_largefile_source+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - while :; do - ac_cv_sys_largefile_source=no - cat >conftest.$ac_ext <<_ACEOF -#line 7078 "configure" -#include "confdefs.h" -#include -int -main () -{ -return !fseeko; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:7090: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7093: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7096: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7099: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line 7108 "configure" -#include "confdefs.h" -#define _LARGEFILE_SOURCE 1 -#include -int -main () -{ -return !fseeko; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:7121: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7124: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7127: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7130: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sys_largefile_source=1; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - break -done -fi -echo "$as_me:7141: result: $ac_cv_sys_largefile_source" >&5 -echo "${ECHO_T}$ac_cv_sys_largefile_source" >&6 -if test "$ac_cv_sys_largefile_source" != no; then - -cat >>confdefs.h <&5 -echo $ECHO_N "checking for fseeko... $ECHO_C" >&6 -if test "${ac_cv_func_fseeko+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 7161 "configure" -#include "confdefs.h" -#include -int -main () -{ -return fseeko && fseeko (stdin, 0, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:7173: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7176: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:7179: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7182: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_fseeko=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_fseeko=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:7192: result: $ac_cv_func_fseeko" >&5 -echo "${ECHO_T}$ac_cv_func_fseeko" >&6 -if test $ac_cv_func_fseeko = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_FSEEKO 1 -EOF - -fi - -# Check whether --enable-largefile or --disable-largefile was given. -if test "${enable_largefile+set}" = set; then - enableval="$enable_largefile" - -fi; -if test "$enable_largefile" != no; then - - echo "$as_me:7209: checking for special C compiler options needed for large files" >&5 -echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_largefile_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - ac_save_CC=$CC - while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - cat >conftest.$ac_ext <<_ACEOF -#line 7221 "configure" -#include "confdefs.h" -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF - rm -f conftest.$ac_objext -if { (eval echo "$as_me:7241: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7244: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7247: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7250: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext - CC="$CC -n32" - rm -f conftest.$ac_objext -if { (eval echo "$as_me:7260: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7263: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7266: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7269: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sys_largefile_CC=' -n32'; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext - break - done - CC=$ac_save_CC - rm -f conftest.$ac_ext - fi -fi -echo "$as_me:7283: result: $ac_cv_sys_largefile_CC" >&5 -echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6 - if test "$ac_cv_sys_largefile_CC" != no; then - CC=$CC$ac_cv_sys_largefile_CC - fi - - echo "$as_me:7289: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_file_offset_bits+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - while :; do - ac_cv_sys_file_offset_bits=no - cat >conftest.$ac_ext <<_ACEOF -#line 7297 "configure" -#include "confdefs.h" -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:7317: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7320: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7323: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7326: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line 7335 "configure" -#include "confdefs.h" -#define _FILE_OFFSET_BITS 64 -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:7356: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7359: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7362: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7365: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sys_file_offset_bits=64; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - break -done -fi -echo "$as_me:7376: result: $ac_cv_sys_file_offset_bits" >&5 -echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6 -if test "$ac_cv_sys_file_offset_bits" != no; then - -cat >>confdefs.h <&5 -echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_large_files+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - while :; do - ac_cv_sys_large_files=no - cat >conftest.$ac_ext <<_ACEOF -#line 7394 "configure" -#include "confdefs.h" -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:7414: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7417: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7420: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7423: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line 7432 "configure" -#include "confdefs.h" -#define _LARGE_FILES 1 -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:7453: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7456: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7459: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7462: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sys_large_files=1; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - break -done -fi -echo "$as_me:7473: result: $ac_cv_sys_large_files" >&5 -echo "${ECHO_T}$ac_cv_sys_large_files" >&6 -if test "$ac_cv_sys_large_files" != no; then - -cat >>confdefs.h <&5 -echo $ECHO_N "checking whether to use struct dirent64... $ECHO_C" >&6 -if test "${cf_cv_struct_dirent64+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -#line 7502 "configure" -#include "confdefs.h" - -#include -#include - -int -main () -{ - - /* if transitional largefile support is setup, this is true */ - extern struct dirent64 * readdir(DIR *); - struct dirent64 *x = readdir((DIR *)0); - struct dirent *y = readdir((DIR *)0); - int z = x - y; - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:7523: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7526: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7529: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7532: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_struct_dirent64=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_struct_dirent64=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -fi -echo "$as_me:7543: result: $cf_cv_struct_dirent64" >&5 -echo "${ECHO_T}$cf_cv_struct_dirent64" >&6 - test "$cf_cv_struct_dirent64" = yes && cat >>confdefs.h <<\EOF -#define HAVE_STRUCT_DIRENT64 1 -EOF - -### use option --with-bool to override bool's type -echo "$as_me:7550: checking for type of bool" >&5 -echo $ECHO_N "checking for type of bool... $ECHO_C" >&6 - -# Check whether --with-bool or --without-bool was given. -if test "${with_bool+set}" = set; then - withval="$with_bool" - NCURSES_BOOL="$withval" -else - NCURSES_BOOL=auto -fi; -echo "$as_me:7560: result: $NCURSES_BOOL" >&5 -echo "${ECHO_T}$NCURSES_BOOL" >&6 - -echo "$as_me:7563: checking for alternate terminal capabilities file" >&5 -echo $ECHO_N "checking for alternate terminal capabilities file... $ECHO_C" >&6 - -# Check whether --with-caps or --without-caps was given. -if test "${with_caps+set}" = set; then - withval="$with_caps" - TERMINFO_CAPS=Caps.$withval -else - TERMINFO_CAPS=Caps -fi; -test -f ${srcdir}/include/${TERMINFO_CAPS} || TERMINFO_CAPS=Caps -echo "$as_me:7574: result: $TERMINFO_CAPS" >&5 -echo "${ECHO_T}$TERMINFO_CAPS" >&6 - -### use option --with-chtype to override chtype's type -echo "$as_me:7578: checking for type of chtype" >&5 -echo $ECHO_N "checking for type of chtype... $ECHO_C" >&6 - -# Check whether --with-chtype or --without-chtype was given. -if test "${with_chtype+set}" = set; then - withval="$with_chtype" - NCURSES_CHTYPE="$withval" -else - NCURSES_CHTYPE=auto -fi; -echo "$as_me:7588: result: $NCURSES_CHTYPE" >&5 -echo "${ECHO_T}$NCURSES_CHTYPE" >&6 - -### use option --with-ospeed to override ospeed's type -echo "$as_me:7592: checking for type of ospeed" >&5 -echo $ECHO_N "checking for type of ospeed... $ECHO_C" >&6 - -# Check whether --with-ospeed or --without-ospeed was given. -if test "${with_ospeed+set}" = set; then - withval="$with_ospeed" - NCURSES_OSPEED="$withval" -else - NCURSES_OSPEED=short -fi; -echo "$as_me:7602: result: $NCURSES_OSPEED" >&5 -echo "${ECHO_T}$NCURSES_OSPEED" >&6 - -### use option --with-mmask-t to override mmask_t's type -echo "$as_me:7606: checking for type of mmask_t" >&5 -echo $ECHO_N "checking for type of mmask_t... $ECHO_C" >&6 - -# Check whether --with-mmask-t or --without-mmask-t was given. -if test "${with_mmask_t+set}" = set; then - withval="$with_mmask_t" - NCURSES_MMASK_T="$withval" -else - NCURSES_MMASK_T=auto -fi; -echo "$as_me:7616: result: $NCURSES_MMASK_T" >&5 -echo "${ECHO_T}$NCURSES_MMASK_T" >&6 - -### use option --enable-bsdpad to have tputs process BSD-style prefix padding -echo "$as_me:7620: checking if tputs should process BSD-style prefix padding" >&5 -echo $ECHO_N "checking if tputs should process BSD-style prefix padding... $ECHO_C" >&6 - -# Check whether --enable-bsdpad or --disable-bsdpad was given. -if test "${enable_bsdpad+set}" = set; then - enableval="$enable_bsdpad" - with_bsdpad=$enableval -else - with_bsdpad=no -fi; -echo "$as_me:7630: result: $with_bsdpad" >&5 -echo "${ECHO_T}$with_bsdpad" >&6 -test "$with_bsdpad" = yes && cat >>confdefs.h <<\EOF -#define BSD_TPUTS 1 -EOF - -### Enable compiling-in rcs id's -echo "$as_me:7637: checking if RCS identifiers should be compiled-in" >&5 -echo $ECHO_N "checking if RCS identifiers should be compiled-in... $ECHO_C" >&6 - -# Check whether --with-rcs-ids or --without-rcs-ids was given. -if test "${with_rcs_ids+set}" = set; then - withval="$with_rcs_ids" - with_rcs_ids=$withval -else - with_rcs_ids=no -fi; -echo "$as_me:7647: result: $with_rcs_ids" >&5 -echo "${ECHO_T}$with_rcs_ids" >&6 -test "$with_rcs_ids" = yes && cat >>confdefs.h <<\EOF -#define USE_RCS_IDS 1 -EOF - -############################################################################### - -echo "$as_me:7655: checking format of man-pages" >&5 -echo $ECHO_N "checking format of man-pages... $ECHO_C" >&6 - -# Check whether --with-manpage-format or --without-manpage-format was given. -if test "${with_manpage_format+set}" = set; then - withval="$with_manpage_format" - MANPAGE_FORMAT=$withval -else - MANPAGE_FORMAT=unknown -fi; - -test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=unknown -MANPAGE_FORMAT=`echo "$MANPAGE_FORMAT" | sed -e 's/,/ /g'` - -cf_unknown= - -case $MANPAGE_FORMAT in -unknown) - if test -z "$MANPATH" ; then - MANPATH="/usr/man:/usr/share/man" - fi - - # look for the 'date' man-page (it's most likely to be installed!) - MANPAGE_FORMAT= - cf_preform=no - cf_catonly=yes - cf_example=date - - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATHSEP}" - for cf_dir in $MANPATH; do - test -z "$cf_dir" && cf_dir=/usr/man - for cf_name in $cf_dir/man*/$cf_example.[01]* $cf_dir/cat*/$cf_example.[01]* $cf_dir/man*/$cf_example $cf_dir/cat*/$cf_example - do - cf_test=`echo $cf_name | sed -e 's/*//'` - if test "x$cf_test" = "x$cf_name" ; then - - case "$cf_name" in - *.gz) MANPAGE_FORMAT="$MANPAGE_FORMAT gzip";; - *.Z) MANPAGE_FORMAT="$MANPAGE_FORMAT compress";; - *.0) MANPAGE_FORMAT="$MANPAGE_FORMAT BSDI";; - *) MANPAGE_FORMAT="$MANPAGE_FORMAT normal";; - esac - - case "$cf_name" in - $cf_dir/man*) - cf_catonly=no - ;; - $cf_dir/cat*) - cf_preform=yes - ;; - esac - break - fi - - # if we found a match in either man* or cat*, stop looking - if test -n "$MANPAGE_FORMAT" ; then - cf_found=no - test "$cf_preform" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT formatted" - test "$cf_catonly" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT catonly" - case "$cf_name" in - $cf_dir/cat*) - cf_found=yes - ;; - esac - test $cf_found=yes && break - fi - done - # only check the first directory in $MANPATH where we find manpages - if test -n "$MANPAGE_FORMAT" ; then - break - fi - done - # if we did not find the example, just assume it is normal - test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=normal - IFS="$ac_save_ifs" - ;; -*) - for cf_option in $MANPAGE_FORMAT; do - case $cf_option in #(vi - gzip|compress|BSDI|normal|formatted|catonly) - ;; - *) - cf_unknown="$cf_unknown $cf_option" - ;; - esac - done - ;; -esac - -echo "$as_me:7744: result: $MANPAGE_FORMAT" >&5 -echo "${ECHO_T}$MANPAGE_FORMAT" >&6 -if test -n "$cf_unknown" ; then - { echo "$as_me:7747: WARNING: Unexpected manpage-format $cf_unknown" >&5 -echo "$as_me: WARNING: Unexpected manpage-format $cf_unknown" >&2;} -fi - -echo "$as_me:7751: checking for manpage renaming" >&5 -echo $ECHO_N "checking for manpage renaming... $ECHO_C" >&6 - -# Check whether --with-manpage-renames or --without-manpage-renames was given. -if test "${with_manpage_renames+set}" = set; then - withval="$with_manpage_renames" - MANPAGE_RENAMES=$withval -else - MANPAGE_RENAMES=yes -fi; - -case ".$MANPAGE_RENAMES" in #(vi -.no) #(vi - ;; -.|.yes) - # Debian 'man' program? - if test -f /etc/debian_version ; then - MANPAGE_RENAMES=`cd $srcdir && pwd`/man/man_db.renames - else - MANPAGE_RENAMES=no - fi - ;; -esac - -if test "$MANPAGE_RENAMES" != no ; then - if test -f $srcdir/man/$MANPAGE_RENAMES ; then - MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES - elif test ! -f $MANPAGE_RENAMES ; then - { { echo "$as_me:7779: error: not a filename: $MANPAGE_RENAMES" >&5 -echo "$as_me: error: not a filename: $MANPAGE_RENAMES" >&2;} - { (exit 1); exit 1; }; } - fi - - test ! -d man && mkdir man - - # Construct a sed-script to perform renaming within man-pages - if test -n "$MANPAGE_RENAMES" ; then - test ! -d man && mkdir man - sh $srcdir/man/make_sed.sh $MANPAGE_RENAMES >./edit_man.sed - fi -fi - -echo "$as_me:7793: result: $MANPAGE_RENAMES" >&5 -echo "${ECHO_T}$MANPAGE_RENAMES" >&6 - -echo "$as_me:7796: checking if manpage aliases will be installed" >&5 -echo $ECHO_N "checking if manpage aliases will be installed... $ECHO_C" >&6 - -# Check whether --with-manpage-aliases or --without-manpage-aliases was given. -if test "${with_manpage_aliases+set}" = set; then - withval="$with_manpage_aliases" - MANPAGE_ALIASES=$withval -else - MANPAGE_ALIASES=yes -fi; - -echo "$as_me:7807: result: $MANPAGE_ALIASES" >&5 -echo "${ECHO_T}$MANPAGE_ALIASES" >&6 - -if test "$LN_S" = "ln -s"; then - cf_use_symlinks=yes -else - cf_use_symlinks=no -fi - -MANPAGE_SYMLINKS=no -if test "$MANPAGE_ALIASES" = yes ; then -echo "$as_me:7818: checking if manpage symlinks should be used" >&5 -echo $ECHO_N "checking if manpage symlinks should be used... $ECHO_C" >&6 - -# Check whether --with-manpage-symlinks or --without-manpage-symlinks was given. -if test "${with_manpage_symlinks+set}" = set; then - withval="$with_manpage_symlinks" - MANPAGE_SYMLINKS=$withval -else - MANPAGE_SYMLINKS=$cf_use_symlinks -fi; - -if test "$$cf_use_symlinks" = no; then -if test "$MANPAGE_SYMLINKS" = yes ; then - { echo "$as_me:7831: WARNING: cannot make symlinks" >&5 -echo "$as_me: WARNING: cannot make symlinks" >&2;} - MANPAGE_SYMLINKS=no -fi -fi - -echo "$as_me:7837: result: $MANPAGE_SYMLINKS" >&5 -echo "${ECHO_T}$MANPAGE_SYMLINKS" >&6 -fi - -echo "$as_me:7841: checking for manpage tbl" >&5 -echo $ECHO_N "checking for manpage tbl... $ECHO_C" >&6 - -# Check whether --with-manpage-tbl or --without-manpage-tbl was given. -if test "${with_manpage_tbl+set}" = set; then - withval="$with_manpage_tbl" - MANPAGE_TBL=$withval -else - MANPAGE_TBL=no -fi; - -echo "$as_me:7852: result: $MANPAGE_TBL" >&5 -echo "${ECHO_T}$MANPAGE_TBL" >&6 - - if test "$prefix" = "NONE" ; then - cf_prefix="$ac_default_prefix" - else - cf_prefix="$prefix" - fi - - case "$MANPAGE_FORMAT" in # (vi - *catonly*) # (vi - cf_format=yes - cf_inboth=no - ;; - *formatted*) # (vi - cf_format=yes - cf_inboth=yes - ;; - *) - cf_format=no - cf_inboth=no - ;; - esac - -test ! -d man && mkdir man - -cf_so_strip= -cf_compress= -case "$MANPAGE_FORMAT" in #(vi -*compress*) #(vi - cf_so_strip="Z" - cf_compress=compress - ;; -*gzip*) #(vi - cf_so_strip="gz" - cf_compress=gzip - ;; -esac - -cf_edit_man=./edit_man.sh - -cat >$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP -CF_EOF -else -cat >>$cf_edit_man <\$TMP -CF_EOF -fi - -cat >>$cf_edit_man <\$TMP.out - mv \$TMP.out \$TMP -fi -CF_EOF - -if test $with_curses_h != yes ; then -cat >>$cf_edit_man <\$TMP.out - mv \$TMP.out \$TMP -CF_EOF -fi - -cat >>$cf_edit_man <\$TMP.out - mv \$TMP.out \$TMP - fi -CF_EOF - -if test -n "$cf_compress" ; then -cat >>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP -CF_EOF -if test -n "$cf_compress" ; then -cat >>$cf_edit_man <>$cf_edit_man <&5 -echo $ECHO_N "checking if you want to build with function extensions... $ECHO_C" >&6 - -# Check whether --enable-ext-funcs or --disable-ext-funcs was given. -if test "${enable_ext_funcs+set}" = set; then - enableval="$enable_ext_funcs" - with_ext_funcs=$enableval -else - with_ext_funcs=yes -fi; -echo "$as_me:8151: result: $with_ext_funcs" >&5 -echo "${ECHO_T}$with_ext_funcs" >&6 -if test "$with_ext_funcs" = yes ; then - NCURSES_EXT_FUNCS=1 - cat >>confdefs.h <<\EOF -#define HAVE_CURSES_VERSION 1 -EOF - - cat >>confdefs.h <<\EOF -#define HAVE_HAS_KEY 1 -EOF - - cat >>confdefs.h <<\EOF -#define HAVE_RESIZETERM 1 -EOF - - cat >>confdefs.h <<\EOF -#define HAVE_RESIZE_TERM 1 -EOF - - cat >>confdefs.h <<\EOF -#define HAVE_USE_DEFAULT_COLORS 1 -EOF - - cat >>confdefs.h <<\EOF -#define HAVE_WRESIZE 1 -EOF - - cat >>confdefs.h <<\EOF -#define NCURSES_EXT_FUNCS 1 -EOF - -else - NCURSES_EXT_FUNCS=0 -fi - -### use option --enable-const to turn on use of const beyond that in XSI. -echo "$as_me:8188: checking for extended use of const keyword" >&5 -echo $ECHO_N "checking for extended use of const keyword... $ECHO_C" >&6 - -# Check whether --enable-const or --disable-const was given. -if test "${enable_const+set}" = set; then - enableval="$enable_const" - with_ext_const=$enableval -else - with_ext_const=no -fi; -echo "$as_me:8198: result: $with_ext_const" >&5 -echo "${ECHO_T}$with_ext_const" >&6 -NCURSES_CONST='/*nothing*/' -if test "$with_ext_const" = yes ; then - NCURSES_CONST=const -fi - -echo "$as_me:8205: checking if you want \$NCURSES_NO_PADDING code" >&5 -echo $ECHO_N "checking if you want \$NCURSES_NO_PADDING code... $ECHO_C" >&6 - -# Check whether --enable-no-padding or --disable-no-padding was given. -if test "${enable_no_padding+set}" = set; then - enableval="$enable_no_padding" - with_no_padding=$enableval -else - with_no_padding=$with_ext_funcs -fi; -echo "$as_me:8215: result: $with_no_padding" >&5 -echo "${ECHO_T}$with_no_padding" >&6 -test "$with_no_padding" = yes && cat >>confdefs.h <<\EOF -#define NCURSES_NO_PADDING 1 -EOF - -### use option --enable-sigwinch to turn on use of SIGWINCH logic -echo "$as_me:8222: checking if you want SIGWINCH handler" >&5 -echo $ECHO_N "checking if you want SIGWINCH handler... $ECHO_C" >&6 - -# Check whether --enable-sigwinch or --disable-sigwinch was given. -if test "${enable_sigwinch+set}" = set; then - enableval="$enable_sigwinch" - with_sigwinch=$enableval -else - with_sigwinch=$with_ext_funcs -fi; -echo "$as_me:8232: result: $with_sigwinch" >&5 -echo "${ECHO_T}$with_sigwinch" >&6 -test "$with_sigwinch" = yes && cat >>confdefs.h <<\EOF -#define USE_SIGWINCH 1 -EOF - -### use option --enable-tcap-names to allow user to define new capabilities -echo "$as_me:8239: checking if you want user-definable terminal capabilities like termcap" >&5 -echo $ECHO_N "checking if you want user-definable terminal capabilities like termcap... $ECHO_C" >&6 - -# Check whether --enable-tcap-names or --disable-tcap-names was given. -if test "${enable_tcap_names+set}" = set; then - enableval="$enable_tcap_names" - with_tcap_names=$enableval -else - with_tcap_names=$with_ext_funcs -fi; -echo "$as_me:8249: result: $with_tcap_names" >&5 -echo "${ECHO_T}$with_tcap_names" >&6 -NCURSES_XNAMES=0 -test "$with_tcap_names" = yes && NCURSES_XNAMES=1 - -############################################################################### -# These options are relatively safe to experiment with. - -echo "$as_me:8257: checking if you want all development code" >&5 -echo $ECHO_N "checking if you want all development code... $ECHO_C" >&6 - -# Check whether --with-develop or --without-develop was given. -if test "${with_develop+set}" = set; then - withval="$with_develop" - with_develop=$withval -else - with_develop=no -fi; -echo "$as_me:8267: result: $with_develop" >&5 -echo "${ECHO_T}$with_develop" >&6 - -### use option --enable-hard-tabs to turn on use of hard-tabs optimize -echo "$as_me:8271: checking if you want hard-tabs code" >&5 -echo $ECHO_N "checking if you want hard-tabs code... $ECHO_C" >&6 - -# Check whether --enable-hard-tabs or --disable-hard-tabs was given. -if test "${enable_hard_tabs+set}" = set; then - enableval="$enable_hard_tabs" - with_hardtabs=$enableval -else - with_hardtabs=$with_develop -fi; -echo "$as_me:8281: result: $with_hardtabs" >&5 -echo "${ECHO_T}$with_hardtabs" >&6 -test "$with_hardtabs" = yes && cat >>confdefs.h <<\EOF -#define USE_HARD_TABS 1 -EOF - -### use option --enable-xmc-glitch to turn on use of magic-cookie optimize -echo "$as_me:8288: checking if you want limited support for xmc" >&5 -echo $ECHO_N "checking if you want limited support for xmc... $ECHO_C" >&6 - -# Check whether --enable-xmc-glitch or --disable-xmc-glitch was given. -if test "${enable_xmc_glitch+set}" = set; then - enableval="$enable_xmc_glitch" - with_xmc_glitch=$enableval -else - with_xmc_glitch=$with_develop -fi; -echo "$as_me:8298: result: $with_xmc_glitch" >&5 -echo "${ECHO_T}$with_xmc_glitch" >&6 -test "$with_xmc_glitch" = yes && cat >>confdefs.h <<\EOF -#define USE_XMC_SUPPORT 1 -EOF - -############################################################################### -# These are just experimental, probably should not be in a package: - -echo "$as_me:8307: checking if you do not want to assume colors are white-on-black" >&5 -echo $ECHO_N "checking if you do not want to assume colors are white-on-black... $ECHO_C" >&6 - -# Check whether --enable-assumed-color or --disable-assumed-color was given. -if test "${enable_assumed_color+set}" = set; then - enableval="$enable_assumed_color" - with_assumed_color=$enableval -else - with_assumed_color=yes -fi; -echo "$as_me:8317: result: $with_assumed_color" >&5 -echo "${ECHO_T}$with_assumed_color" >&6 -test "$with_assumed_color" = yes && cat >>confdefs.h <<\EOF -#define USE_ASSUMED_COLOR 1 -EOF - -### use option --enable-hashmap to turn on use of hashmap scrolling logic -echo "$as_me:8324: checking if you want hashmap scrolling-optimization code" >&5 -echo $ECHO_N "checking if you want hashmap scrolling-optimization code... $ECHO_C" >&6 - -# Check whether --enable-hashmap or --disable-hashmap was given. -if test "${enable_hashmap+set}" = set; then - enableval="$enable_hashmap" - with_hashmap=$enableval -else - with_hashmap=yes -fi; -echo "$as_me:8334: result: $with_hashmap" >&5 -echo "${ECHO_T}$with_hashmap" >&6 -test "$with_hashmap" = yes && cat >>confdefs.h <<\EOF -#define USE_HASHMAP 1 -EOF - -### use option --enable-colorfgbg to turn on use of $COLORFGBG environment -echo "$as_me:8341: checking if you want colorfgbg code" >&5 -echo $ECHO_N "checking if you want colorfgbg code... $ECHO_C" >&6 - -# Check whether --enable-colorfgbg or --disable-colorfgbg was given. -if test "${enable_colorfgbg+set}" = set; then - enableval="$enable_colorfgbg" - with_colorfgbg=$enableval -else - with_colorfgbg=no -fi; -echo "$as_me:8351: result: $with_colorfgbg" >&5 -echo "${ECHO_T}$with_colorfgbg" >&6 -test "$with_colorfgbg" = yes && cat >>confdefs.h <<\EOF -#define USE_COLORFGBG 1 -EOF - -### use option --enable-ext-colors to turn on use of colors beyond 16. -echo "$as_me:8358: checking if you want to use experimental extended colors" >&5 -echo $ECHO_N "checking if you want to use experimental extended colors... $ECHO_C" >&6 - -# Check whether --enable-ext-colors or --disable-ext-colors was given. -if test "${enable_ext_colors+set}" = set; then - enableval="$enable_ext_colors" - with_ext_colors=$enableval -else - with_ext_colors=no -fi; -echo "$as_me:8368: result: $with_ext_colors" >&5 -echo "${ECHO_T}$with_ext_colors" >&6 -NCURSES_EXT_COLORS=0 -if test "$with_ext_colors" = yes ; then - if test "$with_widec" != yes ; then - { echo "$as_me:8373: WARNING: This option applies only to wide-character library" >&5 -echo "$as_me: WARNING: This option applies only to wide-character library" >&2;} - else - # cannot be ABI 5 since it changes sizeof(cchar_t) - -if test "${with_abi_version+set}" != set; then - case $cf_cv_rel_version in - 5.*) - cf_cv_rel_version=6.0 - cf_cv_abi_version=6 - { echo "$as_me:8383: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5 -echo "$as_me: WARNING: Overriding ABI version to $cf_cv_abi_version" >&2;} - ;; - esac -fi - - fi - NCURSES_EXT_COLORS=1 - cat >>confdefs.h <<\EOF -#define NCURSES_EXT_COLORS 1 -EOF - -fi - -### use option --enable-ext-mouse to modify coding to support 5-button mice -echo "$as_me:8398: checking if you want to use experimental extended mouse encoding" >&5 -echo $ECHO_N "checking if you want to use experimental extended mouse encoding... $ECHO_C" >&6 - -# Check whether --enable-ext-mouse or --disable-ext-mouse was given. -if test "${enable_ext_mouse+set}" = set; then - enableval="$enable_ext_mouse" - with_ext_mouse=$enableval -else - with_ext_mouse=no -fi; -echo "$as_me:8408: result: $with_ext_mouse" >&5 -echo "${ECHO_T}$with_ext_mouse" >&6 -NCURSES_MOUSE_VERSION=1 -if test "$with_ext_mouse" = yes ; then - NCURSES_MOUSE_VERSION=2 - -if test "${with_abi_version+set}" != set; then - case $cf_cv_rel_version in - 5.*) - cf_cv_rel_version=6.0 - cf_cv_abi_version=6 - { echo "$as_me:8419: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5 -echo "$as_me: WARNING: Overriding ABI version to $cf_cv_abi_version" >&2;} - ;; - esac -fi - -fi - -echo "$as_me:8427: checking if you want experimental safe-sprintf code" >&5 -echo $ECHO_N "checking if you want experimental safe-sprintf code... $ECHO_C" >&6 - -# Check whether --enable-safe-sprintf or --disable-safe-sprintf was given. -if test "${enable_safe_sprintf+set}" = set; then - enableval="$enable_safe_sprintf" - with_safe_sprintf=$enableval -else - with_safe_sprintf=no -fi; -echo "$as_me:8437: result: $with_safe_sprintf" >&5 -echo "${ECHO_T}$with_safe_sprintf" >&6 -test "$with_safe_sprintf" = yes && cat >>confdefs.h <<\EOF -#define USE_SAFE_SPRINTF 1 -EOF - -### use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic -# when hashmap is used scroll hints are useless -if test "$with_hashmap" = no ; then -echo "$as_me:8446: checking if you want to experiment without scrolling-hints code" >&5 -echo $ECHO_N "checking if you want to experiment without scrolling-hints code... $ECHO_C" >&6 - -# Check whether --enable-scroll-hints or --disable-scroll-hints was given. -if test "${enable_scroll_hints+set}" = set; then - enableval="$enable_scroll_hints" - with_scroll_hints=$enableval -else - with_scroll_hints=yes -fi; -echo "$as_me:8456: result: $with_scroll_hints" >&5 -echo "${ECHO_T}$with_scroll_hints" >&6 -test "$with_scroll_hints" = yes && cat >>confdefs.h <<\EOF -#define USE_SCROLL_HINTS 1 -EOF - -fi - -############################################################################### - -### use option --disable-echo to suppress full display compiling commands -echo "$as_me:8467: checking if you want to display full commands during build" >&5 -echo $ECHO_N "checking if you want to display full commands during build... $ECHO_C" >&6 - -# Check whether --enable-echo or --disable-echo was given. -if test "${enable_echo+set}" = set; then - enableval="$enable_echo" - with_echo=$enableval -else - with_echo=yes -fi; -if test "$with_echo" = yes; then - ECHO_LINK= -else - ECHO_LINK='@ echo linking $@ ... ;' - test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent" -fi -echo "$as_me:8483: result: $with_echo" >&5 -echo "${ECHO_T}$with_echo" >&6 - -### use option --enable-warnings to turn on all gcc warnings -echo "$as_me:8487: checking if you want to see compiler warnings" >&5 -echo $ECHO_N "checking if you want to see compiler warnings... $ECHO_C" >&6 - -# Check whether --enable-warnings or --disable-warnings was given. -if test "${enable_warnings+set}" = set; then - enableval="$enable_warnings" - with_warnings=$enableval -fi; -echo "$as_me:8495: result: $with_warnings" >&5 -echo "${ECHO_T}$with_warnings" >&6 - -if test -n "$with_warnings"; then - ADAFLAGS="$ADAFLAGS -gnatg" - -INTEL_COMPILER=no - -if test "$GCC" = yes ; then - case $host_os in - linux*|gnu*) - echo "$as_me:8506: checking if this is really Intel C compiler" >&5 -echo $ECHO_N "checking if this is really Intel C compiler... $ECHO_C" >&6 - cf_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -no-gcc" - cat >conftest.$ac_ext <<_ACEOF -#line 8511 "configure" -#include "confdefs.h" - -int -main () -{ - -#ifdef __INTEL_COMPILER -#else -make an error -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:8528: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8531: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8534: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8537: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - INTEL_COMPILER=yes -cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc" - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - CFLAGS="$cf_save_CFLAGS" - echo "$as_me:8548: result: $INTEL_COMPILER" >&5 -echo "${ECHO_T}$INTEL_COMPILER" >&6 - ;; - esac -fi - -cat > conftest.$ac_ext <&5 -echo "$as_me: checking for $CC warning options..." >&6;} - cf_save_CFLAGS="$CFLAGS" - EXTRA_CFLAGS="-Wall" - for cf_opt in \ - wd1419 \ - wd1682 \ - wd1683 \ - wd1684 \ - wd193 \ - wd279 \ - wd593 \ - wd810 \ - wd869 \ - wd981 - do - CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" - if { (eval echo "$as_me:8590: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8593: \$? = $ac_status" >&5 - (exit $ac_status); }; then - test -n "$verbose" && echo "$as_me:8595: result: ... -$cf_opt" >&5 -echo "${ECHO_T}... -$cf_opt" >&6 - EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt" - fi - done - CFLAGS="$cf_save_CFLAGS" - -elif test "$GCC" = yes -then - { echo "$as_me:8604: checking for $CC warning options..." >&5 -echo "$as_me: checking for $CC warning options..." >&6;} - cf_save_CFLAGS="$CFLAGS" - EXTRA_CFLAGS="-W -Wall" - cf_warn_CONST="" - test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings" - for cf_opt in \ - Wbad-function-cast \ - Wcast-align \ - Wcast-qual \ - Winline \ - Wmissing-declarations \ - Wmissing-prototypes \ - Wnested-externs \ - Wpointer-arith \ - Wshadow \ - Wstrict-prototypes \ - Wundef $cf_warn_CONST - do - CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" - if { (eval echo "$as_me:8624: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8627: \$? = $ac_status" >&5 - (exit $ac_status); }; then - test -n "$verbose" && echo "$as_me:8629: result: ... -$cf_opt" >&5 -echo "${ECHO_T}... -$cf_opt" >&6 - case $cf_opt in #(vi - Wcast-qual) #(vi - CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES" - ;; - Winline) #(vi - case $GCC_VERSION in - 3.3*) - test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6 - - continue;; - esac - ;; - esac - EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt" - fi - done - CFLAGS="$cf_save_CFLAGS" -fi -rm -f conftest* - - if test "$cf_with_cxx" = yes ; then - -INTEL_CPLUSPLUS=no - -if test "$GCC" = yes ; then - case $host_os in - linux*|gnu*) - echo "$as_me:8658: checking if this is really Intel C++ compiler" >&5 -echo $ECHO_N "checking if this is really Intel C++ compiler... $ECHO_C" >&6 - cf_save_CFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -no-gcc" - cat >conftest.$ac_ext <<_ACEOF -#line 8663 "configure" -#include "confdefs.h" - -int -main () -{ - -#ifdef __INTEL_COMPILER -#else -make an error -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:8680: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8683: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8686: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8689: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - INTEL_CPLUSPLUS=yes -cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc" - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$cf_save_CFLAGS" - echo "$as_me:8700: result: $INTEL_CPLUSPLUS" >&5 -echo "${ECHO_T}$INTEL_CPLUSPLUS" >&6 - ;; - esac -fi - -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -cat > conftest.$ac_ext <&5 -echo "$as_me: checking for $CC warning options..." >&6;} - cf_save_CXXFLAGS="$CXXFLAGS" - EXTRA_CXXFLAGS="-Wall" - for cf_opt in \ - wd1419 \ - wd1682 \ - wd1683 \ - wd1684 \ - wd193 \ - wd279 \ - wd593 \ - wd810 \ - wd869 \ - wd981 - do - CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -$cf_opt" - if { (eval echo "$as_me:8748: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8751: \$? = $ac_status" >&5 - (exit $ac_status); }; then - test -n "$verbose" && echo "$as_me:8753: result: ... -$cf_opt" >&5 -echo "${ECHO_T}... -$cf_opt" >&6 - EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt" - fi - done - CXXFLAGS="$cf_save_CXXFLAGS" - -elif test "$GXX" = yes -then - { echo "$as_me:8762: checking for $CXX warning options..." >&5 -echo "$as_me: checking for $CXX warning options..." >&6;} - cf_save_CXXFLAGS="$CXXFLAGS" - EXTRA_CXXFLAGS="-W -Wall" - cf_gxx_extra_warnings="" - test "$with_ext_const" = yes && cf_gxx_extra_warnings="Wwrite-strings" - case "$GCC_VERSION" in - [1-2].*) - ;; - *) - cf_gxx_extra_warnings="$cf_gxx_extra_warnings Weffc++" - ;; - esac - for cf_opt in \ - Wabi \ - fabi-version=0 \ - Woverloaded-virtual \ - Wsign-promo \ - Wsynth \ - Wold-style-cast \ - Wcast-align \ - Wcast-qual \ - Wmissing-prototypes \ - Wpointer-arith \ - Wshadow \ - Wstrict-prototypes \ - Wundef $cf_gxx_extra_warnings Wno-unused - do - CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -Werror -$cf_opt" - if { (eval echo "$as_me:8791: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8794: \$? = $ac_status" >&5 - (exit $ac_status); }; then - test -n "$verbose" && echo "$as_me:8796: result: ... -$cf_opt" >&5 -echo "${ECHO_T}... -$cf_opt" >&6 - EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt" - else - test -n "$verbose" && echo "$as_me:8800: result: ... no -$cf_opt" >&5 -echo "${ECHO_T}... no -$cf_opt" >&6 - fi - done - CXXFLAGS="$cf_save_CXXFLAGS" -fi - -rm -f conftest* -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - fi -fi - -if test "$GCC" = yes -then -cat > conftest.i <&5 -echo "$as_me: checking for $CC __attribute__ directives..." >&6;} -cat > conftest.$ac_ext <&5 - case $cf_attribute in - scanf|printf) - cat >conftest.h <conftest.h <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8879: \$? = $ac_status" >&5 - (exit $ac_status); }; then - test -n "$verbose" && echo "$as_me:8881: result: ... $cf_attribute" >&5 -echo "${ECHO_T}... $cf_attribute" >&6 - cat conftest.h >>confdefs.h - fi - done -else - fgrep define conftest.i >>confdefs.h -fi -rm -rf conftest* -fi - -### use option --enable-assertions to turn on generation of assertion code -echo "$as_me:8893: checking if you want to enable runtime assertions" >&5 -echo $ECHO_N "checking if you want to enable runtime assertions... $ECHO_C" >&6 - -# Check whether --enable-assertions or --disable-assertions was given. -if test "${enable_assertions+set}" = set; then - enableval="$enable_assertions" - with_assertions=$enableval -else - with_assertions=no -fi; -echo "$as_me:8903: result: $with_assertions" >&5 -echo "${ECHO_T}$with_assertions" >&6 -if test -n "$GCC" -then - if test "$with_assertions" = no - then - cat >>confdefs.h <<\EOF -#define NDEBUG 1 -EOF - - CPPFLAGS="$CPPFLAGS -DNDEBUG" - else - ADAFLAGS="$ADAFLAGS -gnata" - fi -fi - -### use option --disable-leaks to suppress "permanent" leaks, for testing - -# Check whether --enable-leaks or --disable-leaks was given. -if test "${enable_leaks+set}" = set; then - enableval="$enable_leaks" - test "$enableval" = no && cat >>confdefs.h <<\EOF -#define NO_LEAKS 1 -EOF - -fi; -cat >>confdefs.h <<\EOF -#define HAVE_NC_ALLOC_H 1 -EOF - -### use option --enable-expanded to generate certain macros as functions - -# Check whether --enable-expanded or --disable-expanded was given. -if test "${enable_expanded+set}" = set; then - enableval="$enable_expanded" - test "$enableval" = yes && cat >>confdefs.h <<\EOF -#define NCURSES_EXPANDED 1 -EOF - -fi; - -### use option --disable-macros to suppress macros in favor of functions - -# Check whether --enable-macros or --disable-macros was given. -if test "${enable_macros+set}" = set; then - enableval="$enable_macros" - test "$enableval" = no && cat >>confdefs.h <<\EOF -#define NCURSES_NOMACROS 1 -EOF - -fi; - -# Normally we only add trace() to the debug-library. Allow this to be -# extended to all models of the ncurses library: -cf_all_traces=no -case "$CFLAGS $CPPFLAGS" in -*-DTRACE*) - cf_all_traces=yes - ;; -esac - -echo "$as_me:8964: checking whether to add trace feature to all models" >&5 -echo $ECHO_N "checking whether to add trace feature to all models... $ECHO_C" >&6 - -# Check whether --with-trace or --without-trace was given. -if test "${with_trace+set}" = set; then - withval="$with_trace" - cf_with_trace=$withval -else - cf_with_trace=$cf_all_traces -fi; -echo "$as_me:8974: result: $cf_with_trace" >&5 -echo "${ECHO_T}$cf_with_trace" >&6 - -if test "$cf_with_trace" = yes ; then - LIB_TRACING=all - ADA_TRACE=TRUE - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in -DTRACE -do -case $cf_fix_cppflags in -no) - case $cf_add_cflags in #(vi - -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi - case $cf_add_cflags in - -D*) - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test $cf_fix_cppflags = yes ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - fi - ;; - esac - case "$CPPFLAGS" in - *$cf_add_cflags) #(vi - ;; - *) #(vi - cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" - ;; - esac - ;; - *) - cf_new_cflags="$cf_new_cflags $cf_add_cflags" - ;; - esac - ;; -yes) - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - CFLAGS="$CFLAGS $cf_new_cflags" -fi - -if test -n "$cf_new_cppflags" ; then - - CPPFLAGS="$cf_new_cppflags $CPPFLAGS" -fi - -if test -n "$cf_new_extra_cppflags" ; then - - EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" -fi - -else - LIB_TRACING=DEBUG - ADA_TRACE=FALSE -fi - -### Checks for libraries. -echo "$as_me:9055: checking for gettimeofday" >&5 -echo $ECHO_N "checking for gettimeofday... $ECHO_C" >&6 -if test "${ac_cv_func_gettimeofday+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9061 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char gettimeofday (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gettimeofday (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_gettimeofday) || defined (__stub___gettimeofday) -choke me -#else -f = gettimeofday; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9092: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9095: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9098: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9101: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_gettimeofday=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_gettimeofday=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:9111: result: $ac_cv_func_gettimeofday" >&5 -echo "${ECHO_T}$ac_cv_func_gettimeofday" >&6 -if test $ac_cv_func_gettimeofday = yes; then - cat >>confdefs.h <<\EOF -#define HAVE_GETTIMEOFDAY 1 -EOF - -else - -echo "$as_me:9120: checking for gettimeofday in -lbsd" >&5 -echo $ECHO_N "checking for gettimeofday in -lbsd... $ECHO_C" >&6 -if test "${ac_cv_lib_bsd_gettimeofday+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lbsd $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 9128 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gettimeofday (); -int -main () -{ -gettimeofday (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9147: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9150: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9153: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9156: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_bsd_gettimeofday=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_bsd_gettimeofday=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:9167: result: $ac_cv_lib_bsd_gettimeofday" >&5 -echo "${ECHO_T}$ac_cv_lib_bsd_gettimeofday" >&6 -if test $ac_cv_lib_bsd_gettimeofday = yes; then - cat >>confdefs.h <<\EOF -#define HAVE_GETTIMEOFDAY 1 -EOF - - LIBS="$LIBS -lbsd" -fi - -fi - -echo "$as_me:9179: checking if -lm needed for math functions" >&5 -echo $ECHO_N "checking if -lm needed for math functions... $ECHO_C" >&6 -if test "${cf_cv_need_libm+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -#line 9186 "configure" -#include "confdefs.h" - - #include - #include - -int -main () -{ -double x = rand(); printf("result = %g\n", sin(x)) - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9201: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9204: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9207: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9210: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_need_libm=no -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_need_libm=yes -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:9220: result: $cf_cv_need_libm" >&5 -echo "${ECHO_T}$cf_cv_need_libm" >&6 -if test "$cf_cv_need_libm" = yes -then -MATH_LIB=-lm -fi - -### Checks for header files. -echo "$as_me:9228: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9234 "configure" -#include "confdefs.h" -#include -#include -#include -#include - -_ACEOF -if { (eval echo "$as_me:9242: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:9248: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_header_stdc=no -fi -rm -f conftest.err conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line 9270 "configure" -#include "confdefs.h" -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line 9288 "configure" -#include "confdefs.h" -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -#line 9309 "configure" -#include "confdefs.h" -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:9335: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9338: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:9340: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9343: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_header_stdc=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -fi -echo "$as_me:9356: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF - -fi - -ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do - as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -echo "$as_me:9369: checking for $ac_hdr that defines DIR" >&5 -echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9375 "configure" -#include "confdefs.h" -#include -#include <$ac_hdr> - -int -main () -{ -if ((DIR *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:9390: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:9393: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:9396: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9399: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_Header=no" -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:9409: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking for opendir in -ldir... $ECHO_C" >&6 -if test "${ac_cv_lib_dir_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldir $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 9430 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main () -{ -opendir (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9449: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9452: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9455: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9458: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dir_opendir=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_dir_opendir=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:9469: result: $ac_cv_lib_dir_opendir" >&5 -echo "${ECHO_T}$ac_cv_lib_dir_opendir" >&6 -if test $ac_cv_lib_dir_opendir = yes; then - LIBS="$LIBS -ldir" -fi - -else - echo "$as_me:9476: checking for opendir in -lx" >&5 -echo $ECHO_N "checking for opendir in -lx... $ECHO_C" >&6 -if test "${ac_cv_lib_x_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lx $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 9484 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main () -{ -opendir (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9503: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9506: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9509: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9512: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_x_opendir=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_x_opendir=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:9523: result: $ac_cv_lib_x_opendir" >&5 -echo "${ECHO_T}$ac_cv_lib_x_opendir" >&6 -if test $ac_cv_lib_x_opendir = yes; then - LIBS="$LIBS -lx" -fi - -fi - -echo "$as_me:9531: checking whether time.h and sys/time.h may both be included" >&5 -echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 -if test "${ac_cv_header_time+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9537 "configure" -#include "confdefs.h" -#include -#include -#include - -int -main () -{ -if ((struct tm *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:9553: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:9556: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:9559: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9562: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_time=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_header_time=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:9572: result: $ac_cv_header_time" >&5 -echo "${ECHO_T}$ac_cv_header_time" >&6 -if test $ac_cv_header_time = yes; then - -cat >>confdefs.h <<\EOF -#define TIME_WITH_SYS_TIME 1 -EOF - -fi - -echo "$as_me:9582: checking for regular-expression headers" >&5 -echo $ECHO_N "checking for regular-expression headers... $ECHO_C" >&6 -if test "${cf_cv_regex+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -#line 9589 "configure" -#include "confdefs.h" -#include -#include -int -main () -{ - - regex_t *p; - int x = regcomp(p, "", 0); - int y = regexec(p, "", 0, 0, 0); - regfree(p); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9607: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9610: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9613: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9616: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_regex="regex.h" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -#line 9624 "configure" -#include "confdefs.h" -#include -int -main () -{ - - char *p = compile("", "", "", 0); - int x = step("", ""); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9639: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9642: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9645: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9648: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_regex="regexp.h" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - cf_save_LIBS="$LIBS" - LIBS="-lgen $LIBS" - cat >conftest.$ac_ext <<_ACEOF -#line 9658 "configure" -#include "confdefs.h" -#include -int -main () -{ - - char *p = compile("", "", ""); - int x = step("", ""); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9673: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9676: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9679: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9682: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_regex="regexpr.h" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -LIBS="$cf_save_LIBS" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - -fi - -echo "$as_me:9698: result: $cf_cv_regex" >&5 -echo "${ECHO_T}$cf_cv_regex" >&6 -case $cf_cv_regex in - regex.h) cat >>confdefs.h <<\EOF -#define HAVE_REGEX_H_FUNCS 1 -EOF - ;; - regexp.h) cat >>confdefs.h <<\EOF -#define HAVE_REGEXP_H_FUNCS 1 -EOF - ;; - regexpr.h) cat >>confdefs.h <<\EOF -#define HAVE_REGEXPR_H_FUNCS 1 -EOF - ;; -esac - -for ac_header in \ -fcntl.h \ -getopt.h \ -limits.h \ -locale.h \ -poll.h \ -sys/bsdtypes.h \ -sys/ioctl.h \ -sys/param.h \ -sys/poll.h \ -sys/select.h \ -sys/time.h \ -sys/times.h \ -ttyent.h \ -unistd.h \ -wctype.h \ - -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:9734: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9740 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:9744: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:9750: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:9769: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h < to declare fd_set -if test "$ISC" = yes ; then - -echo "$as_me:9783: checking for main in -lcposix" >&5 -echo $ECHO_N "checking for main in -lcposix... $ECHO_C" >&6 -if test "${ac_cv_lib_cposix_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcposix $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 9791 "configure" -#include "confdefs.h" - -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9803: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9806: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9809: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9812: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_cposix_main=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_cposix_main=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:9823: result: $ac_cv_lib_cposix_main" >&5 -echo "${ECHO_T}$ac_cv_lib_cposix_main" >&6 -if test $ac_cv_lib_cposix_main = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking for bzero in -linet... $ECHO_C" >&6 -if test "${ac_cv_lib_inet_bzero+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-linet $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 9842 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char bzero (); -int -main () -{ -bzero (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9861: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9864: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9867: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9870: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_inet_bzero=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_inet_bzero=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:9881: result: $ac_cv_lib_inet_bzero" >&5 -echo "${ECHO_T}$ac_cv_lib_inet_bzero" >&6 -if test $ac_cv_lib_inet_bzero = yes; then - LIBS="$LIBS -linet" -fi -fi - -echo "$as_me:9888: checking if sys/time.h works with sys/select.h" >&5 -echo $ECHO_N "checking if sys/time.h works with sys/select.h... $ECHO_C" >&6 -if test "${cf_cv_sys_time_select+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -#line 9895 "configure" -#include "confdefs.h" - -#include -#ifdef HAVE_SYS_TIME_H -#include -#endif -#ifdef HAVE_SYS_SELECT_H -#include -#endif - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:9915: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:9918: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:9921: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9924: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_sys_time_select=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_sys_time_select=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -fi - -echo "$as_me:9936: result: $cf_cv_sys_time_select" >&5 -echo "${ECHO_T}$cf_cv_sys_time_select" >&6 -test "$cf_cv_sys_time_select" = yes && cat >>confdefs.h <<\EOF -#define HAVE_SYS_TIME_SELECT 1 -EOF - -### checks for compiler characteristics -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -echo "$as_me:9949: checking for $CC option to accept ANSI C" >&5 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_stdc=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -#line 9957 "configure" -#include "confdefs.h" -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX 10.20 and later -Ae -# HP-UX older versions -Aa -D_HPUX_SOURCE -# SVR4 -Xc -D__EXTENSIONS__ -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (eval echo "$as_me:10006: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10009: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10012: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10015: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_stdc=$ac_arg -break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext -done -rm -f conftest.$ac_ext conftest.$ac_objext -CC=$ac_save_CC - -fi - -case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:10032: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 ;; - *) - echo "$as_me:10035: result: $ac_cv_prog_cc_stdc" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 - CC="$CC $ac_cv_prog_cc_stdc" ;; -esac - -echo "$as_me:10040: checking for an ANSI C-conforming const" >&5 -echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 -if test "${ac_cv_c_const+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10046 "configure" -#include "confdefs.h" - -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset x; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *ccp; - char **p; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - ccp = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++ccp; - p = (char**) ccp; - ccp = (char const *const *) p; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - } -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10104: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10107: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10110: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10113: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_const=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_c_const=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:10123: result: $ac_cv_c_const" >&5 -echo "${ECHO_T}$ac_cv_c_const" >&6 -if test $ac_cv_c_const = no; then - -cat >>confdefs.h <<\EOF -#define const -EOF - -fi - -echo "$as_me:10133: checking for inline" >&5 -echo $ECHO_N "checking for inline... $ECHO_C" >&6 -if test "${ac_cv_c_inline+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat >conftest.$ac_ext <<_ACEOF -#line 10141 "configure" -#include "confdefs.h" -#ifndef __cplusplus -static $ac_kw int static_foo () {return 0; } -$ac_kw int foo () {return 0; } -#endif - -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10150: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10153: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10156: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10159: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_inline=$ac_kw; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done - -fi -echo "$as_me:10170: result: $ac_cv_c_inline" >&5 -echo "${ECHO_T}$ac_cv_c_inline" >&6 -case $ac_cv_c_inline in - inline | yes) ;; - no) -cat >>confdefs.h <<\EOF -#define inline -EOF - ;; - *) cat >>confdefs.h <>confdefs.h <<\EOF -#define CC_HAS_INLINE_FUNCS 1 -EOF - -if test $NCURSES_CHTYPE = auto ; then - -echo "$as_me:10191: checking for type of chtype" >&5 -echo $ECHO_N "checking for type of chtype... $ECHO_C" >&6 -if test "${cf_cv_typeof_chtype+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - if test "$cross_compiling" = yes; then - cf_cv_typeof_chtype=long -else - cat >conftest.$ac_ext <<_ACEOF -#line 10201 "configure" -#include "confdefs.h" - -#define WANT_BITS 31 -#include -int main() -{ - FILE *fp = fopen("cf_test.out", "w"); - if (fp != 0) { - char *result = "long"; - if (sizeof(unsigned long) > sizeof(unsigned int)) { - int n; - unsigned int x, y; - for (n = 0; n < WANT_BITS; n++) { - x = (1 << n); - y = (x >> n); - if (y != 1 || x == 0) { - x = 0; - break; - } - } - /* - * If x is nonzero, an int is big enough for the bits - * that we want. - */ - result = (x != 0) ? "int" : "long"; - } - fputs(result, fp); - fclose(fp); - } - exit(0); -} - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:10236: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10239: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:10241: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10244: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_typeof_chtype=`cat cf_test.out` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_typeof_chtype=long -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - rm -f cf_test.out - -fi - -echo "$as_me:10259: result: $cf_cv_typeof_chtype" >&5 -echo "${ECHO_T}$cf_cv_typeof_chtype" >&6 - -cat >>confdefs.h <&5 -echo $ECHO_N "checking if unsigned literals are legal... $ECHO_C" >&6 -if test "${cf_cv_unsigned_literals+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -#line 10277 "configure" -#include "confdefs.h" - -int -main () -{ -long x = 1L + 1UL + 1U + 1 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10289: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10292: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10295: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10298: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_unsigned_literals=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_unsigned_literals=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -fi - -echo "$as_me:10310: result: $cf_cv_unsigned_literals" >&5 -echo "${ECHO_T}$cf_cv_unsigned_literals" >&6 - -cf_cv_1UL="1" -test "$cf_cv_unsigned_literals" = yes && cf_cv_1UL="${cf_cv_1UL}U" -test "$cf_cv_typeof_chtype" = long && cf_cv_1UL="${cf_cv_1UL}L" - -if test $NCURSES_MMASK_T = auto ; then - cf_cv_typeof_mmask_t=long -else - cf_cv_typeof_mmask_t=$NCURSES_MMASK_T -fi - -### Checks for external-data - -echo "$as_me:10325: checking if external errno is declared" >&5 -echo $ECHO_N "checking if external errno is declared... $ECHO_C" >&6 -if test "${cf_cv_dcl_errno+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -#line 10332 "configure" -#include "confdefs.h" - -#ifdef HAVE_STDLIB_H -#include -#endif -#include -#include -#include -int -main () -{ -long x = (long) errno - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10350: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10353: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10356: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10359: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_dcl_errno=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_dcl_errno=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -fi -echo "$as_me:10370: result: $cf_cv_dcl_errno" >&5 -echo "${ECHO_T}$cf_cv_dcl_errno" >&6 - -if test "$cf_cv_dcl_errno" = no ; then - -cf_result=`echo "decl_errno" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - cat >>confdefs.h <&5 -echo $ECHO_N "checking if external errno exists... $ECHO_C" >&6 -if test "${cf_cv_have_errno+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -#line 10392 "configure" -#include "confdefs.h" - -#undef errno -extern int errno; - -int -main () -{ -errno = 2 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10407: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10410: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10413: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10416: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_have_errno=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_have_errno=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - -fi -echo "$as_me:10427: result: $cf_cv_have_errno" >&5 -echo "${ECHO_T}$cf_cv_have_errno" >&6 - -if test "$cf_cv_have_errno" = yes ; then - -cf_result=`echo "have_errno" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - cat >>confdefs.h <&5 -echo $ECHO_N "checking if data-only library module links... $ECHO_C" >&6 -if test "${cf_cv_link_dataonly+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - rm -f conftest.a - cat >conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10454: \$? = $ac_status" >&5 - (exit $ac_status); } ; then - mv conftest.o data.o && \ - ( $AR $AR_OPTS conftest.a data.o ) 2>&5 1>/dev/null - fi - rm -f conftest.$ac_ext data.o - cat >conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10477: \$? = $ac_status" >&5 - (exit $ac_status); }; then - mv conftest.o func.o && \ - ( $AR $AR_OPTS conftest.a func.o ) 2>&5 1>/dev/null - fi - rm -f conftest.$ac_ext func.o - ( eval $RANLIB conftest.a ) 2>&5 >/dev/null - cf_saveLIBS="$LIBS" - LIBS="conftest.a $LIBS" - if test "$cross_compiling" = yes; then - cf_cv_link_dataonly=unknown -else - cat >conftest.$ac_ext <<_ACEOF -#line 10490 "configure" -#include "confdefs.h" - - int main() - { - extern int testfunc(); - exit (!testfunc()); - } - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:10501: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10504: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:10506: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10509: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_link_dataonly=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_link_dataonly=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - LIBS="$cf_saveLIBS" - -fi - -echo "$as_me:10524: result: $cf_cv_link_dataonly" >&5 -echo "${ECHO_T}$cf_cv_link_dataonly" >&6 - -if test "$cf_cv_link_dataonly" = no ; then - cat >>confdefs.h <<\EOF -#define BROKEN_LINKER 1 -EOF - - BROKEN_LINKER=1 -fi - -### Checks for library functions. - -for ac_func in \ -getcwd \ -getegid \ -geteuid \ -getttynam \ -issetugid \ -poll \ -remove \ -select \ -setbuf \ -setbuffer \ -setvbuf \ -sigaction \ -sigvec \ -strdup \ -strstr \ -tcgetpgrp \ -times \ -vsnprintf \ - -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:10559: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10565 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10596: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10599: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10602: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10605: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10615: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking for terminal-capability database functions... $ECHO_C" >&6 -if test "${cf_cv_cgetent+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -#line 10634 "configure" -#include "confdefs.h" - -#include -int -main () -{ - - char temp[128]; - char *buf = temp; - char *db_array = temp; - cgetent(&buf, /* int *, */ &db_array, "vt100"); - cgetcap(buf, "tc", '='); - cgetmatch(buf, "tc"); - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10654: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10657: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10660: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10663: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_cgetent=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_cgetent=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - -fi - -echo "$as_me:10675: result: $cf_cv_cgetent" >&5 -echo "${ECHO_T}$cf_cv_cgetent" >&6 -test "$cf_cv_cgetent" = yes && cat >>confdefs.h <<\EOF -#define HAVE_BSD_CGETENT 1 -EOF - -fi - -echo "$as_me:10683: checking for isascii" >&5 -echo $ECHO_N "checking for isascii... $ECHO_C" >&6 -if test "${cf_cv_have_isascii+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -#line 10690 "configure" -#include "confdefs.h" -#include -int -main () -{ -int x = isascii(' ') - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10702: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10705: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10708: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10711: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_have_isascii=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_have_isascii=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - -fi -echo "$as_me:10722: result: $cf_cv_have_isascii" >&5 -echo "${ECHO_T}$cf_cv_have_isascii" >&6 -test "$cf_cv_have_isascii" = yes && cat >>confdefs.h <<\EOF -#define HAVE_ISASCII 1 -EOF - -if test "$ac_cv_func_sigaction" = yes; then -echo "$as_me:10729: checking whether sigaction needs _POSIX_SOURCE" >&5 -echo $ECHO_N "checking whether sigaction needs _POSIX_SOURCE... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line 10732 "configure" -#include "confdefs.h" - -#include -#include -int -main () -{ -struct sigaction act - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10746: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10749: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10752: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10755: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - sigact_bad=no -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - -cat >conftest.$ac_ext <<_ACEOF -#line 10763 "configure" -#include "confdefs.h" - -#define _POSIX_SOURCE -#include -#include -int -main () -{ -struct sigaction act - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10778: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10781: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10784: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10787: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - sigact_bad=yes - cat >>confdefs.h <<\EOF -#define SVR4_ACTION 1 -EOF - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -sigact_bad=unknown -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:10802: result: $sigact_bad" >&5 -echo "${ECHO_T}$sigact_bad" >&6 -fi - -echo "$as_me:10806: checking if nanosleep really works" >&5 -echo $ECHO_N "checking if nanosleep really works... $ECHO_C" >&6 -if test "${cf_cv_func_nanosleep+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -if test "$cross_compiling" = yes; then - cf_cv_func_nanosleep=unknown -else - cat >conftest.$ac_ext <<_ACEOF -#line 10816 "configure" -#include "confdefs.h" - -#include -#include -#include - -#ifdef HAVE_SYS_TIME_H -#include -#endif - -int main() { - struct timespec ts1, ts2; - int code; - ts1.tv_sec = 0; - ts1.tv_nsec = 750000000; - ts2.tv_sec = 0; - ts2.tv_nsec = 0; - errno = 0; - code = nanosleep(&ts1, &ts2); /* on failure errno is ENOSYS. */ - exit(code != 0); -} - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:10841: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10844: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:10846: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10849: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_func_nanosleep=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_func_nanosleep=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -echo "$as_me:10861: result: $cf_cv_func_nanosleep" >&5 -echo "${ECHO_T}$cf_cv_func_nanosleep" >&6 - -test "$cf_cv_func_nanosleep" = "yes" && cat >>confdefs.h <<\EOF -#define HAVE_NANOSLEEP 1 -EOF - -for ac_header in \ -termio.h \ -termios.h \ -unistd.h \ - -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:10875: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10881 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:10885: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:10891: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:10910: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10931 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:10935: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:10941: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:10960: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking whether termios.h needs _POSIX_SOURCE... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 10981 "configure" -#include "confdefs.h" -#include -int -main () -{ -struct termios foo; int x = foo.c_iflag - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:10993: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10996: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10999: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11002: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - termios_bad=no -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -#line 11010 "configure" -#include "confdefs.h" - -#define _POSIX_SOURCE -#include -int -main () -{ -struct termios foo; int x = foo.c_iflag - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:11024: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:11027: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11030: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11033: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - termios_bad=unknown -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -termios_bad=yes cat >>confdefs.h <<\EOF -#define SVR4_TERMIO 1 -EOF - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -fi -rm -f conftest.$ac_objext conftest.$ac_ext - echo "$as_me:11048: result: $termios_bad" >&5 -echo "${ECHO_T}$termios_bad" >&6 - fi -fi - -echo "$as_me:11053: checking for tcgetattr" >&5 -echo $ECHO_N "checking for tcgetattr... $ECHO_C" >&6 -if test "${cf_cv_have_tcgetattr+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -#line 11060 "configure" -#include "confdefs.h" - -#include -#ifdef HAVE_UNISTD_H -#include -#endif -#ifdef HAVE_TERMIOS_H -#include -#define TTY struct termios -#else -#ifdef HAVE_TERMIO_H -#include -#define TTY struct termio -#endif -#endif - -int -main () -{ - -TTY foo; -tcgetattr(1, &foo); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11088: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11091: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11094: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11097: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_have_tcgetattr=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_have_tcgetattr=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11107: result: $cf_cv_have_tcgetattr" >&5 -echo "${ECHO_T}$cf_cv_have_tcgetattr" >&6 -test "$cf_cv_have_tcgetattr" = yes && cat >>confdefs.h <<\EOF -#define HAVE_TCGETATTR 1 -EOF - -echo "$as_me:11113: checking for vsscanf function or workaround" >&5 -echo $ECHO_N "checking for vsscanf function or workaround... $ECHO_C" >&6 -if test "${cf_cv_func_vsscanf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -#line 11120 "configure" -#include "confdefs.h" - -#include -#include -int -main () -{ - - va_list ap; - vsscanf("from", "%d", ap) - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11136: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11139: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11142: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11145: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_func_vsscanf=vsscanf -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - -cat >conftest.$ac_ext <<_ACEOF -#line 11153 "configure" -#include "confdefs.h" - -#include -#include -int -main () -{ - - FILE strbuf; - char *str = "from"; - - strbuf._flag = _IOREAD; - strbuf._ptr = strbuf._base = (unsigned char *) str; - strbuf._cnt = strlen(str); - strbuf._file = _NFILE; - return (vfscanf(&strbuf, "%d", ap)) - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11175: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11178: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11181: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11184: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_func_vsscanf=vfscanf -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - -cat >conftest.$ac_ext <<_ACEOF -#line 11192 "configure" -#include "confdefs.h" - -#include -#include -int -main () -{ - - FILE strbuf; - char *str = "from"; - - strbuf._flag = _IOREAD; - strbuf._ptr = strbuf._base = (unsigned char *) str; - strbuf._cnt = strlen(str); - strbuf._file = _NFILE; - return (_doscan(&strbuf, "%d", ap)) - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11214: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11217: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11220: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11223: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_func_vsscanf=_doscan -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 - -cf_cv_func_vsscanf=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11238: result: $cf_cv_func_vsscanf" >&5 -echo "${ECHO_T}$cf_cv_func_vsscanf" >&6 - -case $cf_cv_func_vsscanf in #(vi -vsscanf) cat >>confdefs.h <<\EOF -#define HAVE_VSSCANF 1 -EOF -;; #(vi -vfscanf) cat >>confdefs.h <<\EOF -#define HAVE_VFSCANF 1 -EOF -;; #(vi -_doscan) cat >>confdefs.h <<\EOF -#define HAVE__DOSCAN 1 -EOF -;; -esac - -echo "$as_me:11256: checking for working mkstemp" >&5 -echo $ECHO_N "checking for working mkstemp... $ECHO_C" >&6 -if test "${cf_cv_func_mkstemp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -rm -f conftest* -if test "$cross_compiling" = yes; then - echo "$as_me:11264: checking for mkstemp" >&5 -echo $ECHO_N "checking for mkstemp... $ECHO_C" >&6 -if test "${ac_cv_func_mkstemp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11270 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char mkstemp (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char mkstemp (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_mkstemp) || defined (__stub___mkstemp) -choke me -#else -f = mkstemp; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11301: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11304: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11307: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11310: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_mkstemp=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_mkstemp=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11320: result: $ac_cv_func_mkstemp" >&5 -echo "${ECHO_T}$ac_cv_func_mkstemp" >&6 - -else - cat >conftest.$ac_ext <<_ACEOF -#line 11325 "configure" -#include "confdefs.h" - -#include -#include -#include -#include -#include -int main() -{ - char *tmpl = "conftestXXXXXX"; - char name[2][80]; - int n; - int result = 0; - int fd; - struct stat sb; - - umask(077); - for (n = 0; n < 2; ++n) { - strcpy(name[n], tmpl); - if ((fd = mkstemp(name[n])) >= 0) { - if (!strcmp(name[n], tmpl) - || stat(name[n], &sb) != 0 - || (sb.st_mode & S_IFMT) != S_IFREG - || (sb.st_mode & 077) != 0) { - result = 1; - } - close(fd); - } - } - if (result == 0 - && !strcmp(name[0], name[1])) - result = 1; - exit(result); -} - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:11363: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11366: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:11368: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11371: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_func_mkstemp=yes - -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_func_mkstemp=no - -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - -fi -echo "$as_me:11386: result: $cf_cv_func_mkstemp" >&5 -echo "${ECHO_T}$cf_cv_func_mkstemp" >&6 -if test "$cf_cv_func_mkstemp" = yes ; then - cat >>confdefs.h <<\EOF -#define HAVE_MKSTEMP 1 -EOF - -fi - -# setup for prototype of fallback for vsscanf() -if test "$cf_cv_func_vsscanf" = vsscanf ; then - HAVE_VSSCANF=1 -else - HAVE_VSSCANF=0 -fi - -if test "$cross_compiling" = yes ; then - { echo "$as_me:11403: WARNING: cross compiling: assume setvbuf params not reversed" >&5 -echo "$as_me: WARNING: cross compiling: assume setvbuf params not reversed" >&2;} -else - echo "$as_me:11406: checking whether setvbuf arguments are reversed" >&5 -echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6 -if test "${ac_cv_func_setvbuf_reversed+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - { { echo "$as_me:11412: error: cannot run test program while cross compiling" >&5 -echo "$as_me: error: cannot run test program while cross compiling" >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -#line 11417 "configure" -#include "confdefs.h" -#include -/* If setvbuf has the reversed format, exit 0. */ -int -main () -{ - /* This call has the arguments reversed. - A reversed system may check and see that the address of main - is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */ - if (setvbuf(stdout, _IOLBF, (char *) main, BUFSIZ) != 0) - exit(1); - putc('\r', stdout); - exit(0); /* Non-reversed systems segv here. */ -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:11434: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11437: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:11439: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11442: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_setvbuf_reversed=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_setvbuf_reversed=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -rm -f core core.* *.core -fi -echo "$as_me:11455: result: $ac_cv_func_setvbuf_reversed" >&5 -echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6 -if test $ac_cv_func_setvbuf_reversed = yes; then - -cat >>confdefs.h <<\EOF -#define SETVBUF_REVERSED 1 -EOF - -fi - -fi -echo "$as_me:11466: checking return type of signal handlers" >&5 -echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 -if test "${ac_cv_type_signal+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11472 "configure" -#include "confdefs.h" -#include -#include -#ifdef signal -# undef signal -#endif -#ifdef __cplusplus -extern "C" void (*signal (int, void (*)(int)))(int); -#else -void (*signal ()) (); -#endif - -int -main () -{ -int i; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:11494: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:11497: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11500: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11503: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_signal=void -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_signal=int -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:11513: result: $ac_cv_type_signal" >&5 -echo "${ECHO_T}$ac_cv_type_signal" >&6 - -cat >>confdefs.h <&5 -echo $ECHO_N "checking for type sigaction_t... $ECHO_C" >&6 -if test "${cf_cv_type_sigaction+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -#line 11527 "configure" -#include "confdefs.h" - -#include -int -main () -{ -sigaction_t x - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:11540: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:11543: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11546: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11549: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_type_sigaction=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_type_sigaction=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi - -echo "$as_me:11560: result: $cf_cv_type_sigaction" >&5 -echo "${ECHO_T}$cf_cv_type_sigaction" >&6 -test "$cf_cv_type_sigaction" = yes && cat >>confdefs.h <<\EOF -#define HAVE_TYPE_SIGACTION 1 -EOF - -echo "$as_me:11566: checking declaration of size-change" >&5 -echo $ECHO_N "checking declaration of size-change... $ECHO_C" >&6 -if test "${cf_cv_sizechange+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_cv_sizechange=unknown - cf_save_CPPFLAGS="$CPPFLAGS" - -for cf_opts in "" "NEED_PTEM_H" -do - - CPPFLAGS="$cf_save_CPPFLAGS" - test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts" - cat >conftest.$ac_ext <<_ACEOF -#line 11581 "configure" -#include "confdefs.h" -#include -#ifdef HAVE_TERMIOS_H -#include -#else -#ifdef HAVE_TERMIO_H -#include -#endif -#endif -#ifdef NEED_PTEM_H -/* This is a workaround for SCO: they neglected to define struct winsize in - * termios.h -- it's only in termio.h and ptem.h - */ -#include -#include -#endif -#if !defined(sun) || !defined(HAVE_TERMIOS_H) -#include -#endif - -int -main () -{ - -#ifdef TIOCGSIZE - struct ttysize win; /* FIXME: what system is this? */ - int y = win.ts_lines; - int x = win.ts_cols; -#else -#ifdef TIOCGWINSZ - struct winsize win; - int y = win.ws_row; - int x = win.ws_col; -#else - no TIOCGSIZE or TIOCGWINSZ -#endif /* TIOCGWINSZ */ -#endif /* TIOCGSIZE */ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:11625: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:11628: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11631: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11634: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_sizechange=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_sizechange=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext - - CPPFLAGS="$cf_save_CPPFLAGS" - if test "$cf_cv_sizechange" = yes ; then - echo "size-change succeeded ($cf_opts)" >&5 - test -n "$cf_opts" && cf_cv_sizechange="$cf_opts" - break - fi -done - -fi -echo "$as_me:11653: result: $cf_cv_sizechange" >&5 -echo "${ECHO_T}$cf_cv_sizechange" >&6 -if test "$cf_cv_sizechange" != no ; then - cat >>confdefs.h <<\EOF -#define HAVE_SIZECHANGE 1 -EOF - - case $cf_cv_sizechange in #(vi - NEED*) - cat >>confdefs.h <&5 -echo $ECHO_N "checking for memmove... $ECHO_C" >&6 -if test "${ac_cv_func_memmove+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11676 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char memmove (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char memmove (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_memmove) || defined (__stub___memmove) -choke me -#else -f = memmove; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11707: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11710: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11713: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11716: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_memmove=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_memmove=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11726: result: $ac_cv_func_memmove" >&5 -echo "${ECHO_T}$ac_cv_func_memmove" >&6 -if test $ac_cv_func_memmove = yes; then - : -else - -echo "$as_me:11732: checking for bcopy" >&5 -echo $ECHO_N "checking for bcopy... $ECHO_C" >&6 -if test "${ac_cv_func_bcopy+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11738 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char bcopy (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char bcopy (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_bcopy) || defined (__stub___bcopy) -choke me -#else -f = bcopy; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11769: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11772: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11775: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11778: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_bcopy=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_bcopy=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11788: result: $ac_cv_func_bcopy" >&5 -echo "${ECHO_T}$ac_cv_func_bcopy" >&6 -if test $ac_cv_func_bcopy = yes; then - - echo "$as_me:11792: checking if bcopy does overlapping moves" >&5 -echo $ECHO_N "checking if bcopy does overlapping moves... $ECHO_C" >&6 -if test "${cf_cv_good_bcopy+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - if test "$cross_compiling" = yes; then - cf_cv_good_bcopy=unknown -else - cat >conftest.$ac_ext <<_ACEOF -#line 11802 "configure" -#include "confdefs.h" - -int main() { - static char data[] = "abcdefghijklmnopqrstuwwxyz"; - char temp[40]; - bcopy(data, temp, sizeof(data)); - bcopy(temp+10, temp, 15); - bcopy(temp+5, temp+15, 10); - exit (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz")); -} - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:11816: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11819: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:11821: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11824: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_good_bcopy=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_good_bcopy=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - -fi -echo "$as_me:11837: result: $cf_cv_good_bcopy" >&5 -echo "${ECHO_T}$cf_cv_good_bcopy" >&6 - -else - cf_cv_good_bcopy=no -fi - - if test "$cf_cv_good_bcopy" = yes ; then - cat >>confdefs.h <<\EOF -#define USE_OK_BCOPY 1 -EOF - - else - cat >>confdefs.h <<\EOF -#define USE_MY_MEMMOVE 1 -EOF - - fi - -fi - -echo "$as_me:11858: checking if poll really works" >&5 -echo $ECHO_N "checking if poll really works... $ECHO_C" >&6 -if test "${cf_cv_working_poll+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -if test "$cross_compiling" = yes; then - cf_cv_working_poll=unknown -else - cat >conftest.$ac_ext <<_ACEOF -#line 11868 "configure" -#include "confdefs.h" - -#include -#ifdef HAVE_POLL_H -#include -#else -#include -#endif -int main() { - struct pollfd myfds; - int ret; - - myfds.fd = 0; - myfds.events = POLLIN; - - ret = poll(&myfds, 1, 100); - exit(ret != 0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:11889: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11892: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:11894: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11897: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_working_poll=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_working_poll=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -echo "$as_me:11909: result: $cf_cv_working_poll" >&5 -echo "${ECHO_T}$cf_cv_working_poll" >&6 -test "$cf_cv_working_poll" = "yes" && cat >>confdefs.h <<\EOF -#define HAVE_WORKING_POLL 1 -EOF - -if test -z "$cf_user_CFLAGS" ; then - CFLAGS=`echo ${CFLAGS} | sed -e 's%-g %%' -e 's%-g$%%'` - CXXFLAGS=`echo ${CXXFLAGS} | sed -e 's%-g %%' -e 's%-g$%%'` -fi - -# Just in case, check if the C compiler has a bool type. - -echo "$as_me:11922: checking if we should include stdbool.h" >&5 -echo $ECHO_N "checking if we should include stdbool.h... $ECHO_C" >&6 - -if test "${cf_cv_header_stdbool_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -#line 11930 "configure" -#include "confdefs.h" - -int -main () -{ -bool foo = false - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:11942: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:11945: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11948: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11951: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_header_stdbool_h=0 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cat >conftest.$ac_ext <<_ACEOF -#line 11958 "configure" -#include "confdefs.h" - -#if (!defined(__BEOS__) && !defined(__HAIKU__)) -#include -#endif - -int -main () -{ -bool foo = false - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:11974: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:11977: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11980: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11983: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_header_stdbool_h=1 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_header_stdbool_h=0 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi - -if test "$cf_cv_header_stdbool_h" = 1 -then echo "$as_me:11997: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else echo "$as_me:11999: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -echo "$as_me:12003: checking for builtin bool type" >&5 -echo $ECHO_N "checking for builtin bool type... $ECHO_C" >&6 - -if test "${cf_cv_cc_bool_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -#line 12011 "configure" -#include "confdefs.h" - -#include -#include - -int -main () -{ -bool x = false - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:12026: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:12029: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12032: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12035: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_cc_bool_type=1 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_cc_bool_type=0 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -fi - -if test "$cf_cv_cc_bool_type" = 1 -then echo "$as_me:12048: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else echo "$as_me:12050: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -# Check for C++ compiler characteristics (and ensure that it's there!) -if test -n "$CXX" ; then - ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -if test -n "$GXX" ; then -case $cf_cv_system_name in #(vi -os2*) #(vi - cf_stdcpp_libname=stdcpp - ;; -*) - cf_stdcpp_libname=stdc++ - ;; -esac -echo "$as_me:12071: checking for library $cf_stdcpp_libname" >&5 -echo $ECHO_N "checking for library $cf_stdcpp_libname... $ECHO_C" >&6 -if test "${cf_cv_libstdcpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_save="$LIBS" - LIBS="$LIBS -l$cf_stdcpp_libname" -cat >conftest.$ac_ext <<_ACEOF -#line 12080 "configure" -#include "confdefs.h" - -#include -int -main () -{ - -char buf[80]; -strstreambuf foo(buf, sizeof(buf)) - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12096: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12099: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12102: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12105: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_libstdcpp=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_libstdcpp=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - LIBS="$cf_save" - -fi -echo "$as_me:12117: result: $cf_cv_libstdcpp" >&5 -echo "${ECHO_T}$cf_cv_libstdcpp" >&6 -test "$cf_cv_libstdcpp" = yes && CXXLIBS="$CXXLIBS -l$cf_stdcpp_libname" -fi - - echo "$as_me:12122: checking whether $CXX understands -c and -o together" >&5 -echo $ECHO_N "checking whether $CXX understands -c and -o together... $ECHO_C" >&6 -if test "${cf_cv_prog_CXX_c_o+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat > conftest.$ac_ext < -int main() -{ - return 0; -} -CF_EOF -# We do the test twice because some compilers refuse to overwrite an -# existing .o file with -o, though they will create one. -ac_try='$CXX -c conftest.$ac_ext -o conftest2.$ac_objext >&5' -if { (eval echo "$as_me:12138: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12141: \$? = $ac_status" >&5 - (exit $ac_status); } && - test -f conftest2.$ac_objext && { (eval echo "$as_me:12143: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12146: \$? = $ac_status" >&5 - (exit $ac_status); }; -then - eval cf_cv_prog_CXX_c_o=yes -else - eval cf_cv_prog_CXX_c_o=no -fi -rm -f conftest* - -fi -if test $cf_cv_prog_CXX_c_o = yes; then - echo "$as_me:12157: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:12160: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - case $GXX_VERSION in - 1*|2.0-6*) - cf_cxx_library=yes - ;; - *-2.7*|2.7*) - -cf_cxx_library=unknown -case $cf_cv_system_name in #(vi -os2*) #(vi - cf_gpp_libname=gpp - ;; -*) - cf_gpp_libname=g++ - ;; -esac -if test "$GXX" = yes; then - echo "$as_me:12180: checking for lib$cf_gpp_libname" >&5 -echo $ECHO_N "checking for lib$cf_gpp_libname... $ECHO_C" >&6 - cf_save="$LIBS" - LIBS="$LIBS -l$cf_gpp_libname" - cat >conftest.$ac_ext <<_ACEOF -#line 12185 "configure" -#include "confdefs.h" - -#include <$cf_gpp_libname/builtin.h> - -int -main () -{ -two_arg_error_handler_t foo2 = lib_error_handler - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12199: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12202: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12205: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12208: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cxx_library=yes - CXXLIBS="$CXXLIBS -l$cf_gpp_libname" - if test "$cf_gpp_libname" = cpp ; then - cat >>confdefs.h <<\EOF -#define HAVE_GPP_BUILTIN_H 1 -EOF - - else - cat >>confdefs.h <<\EOF -#define HAVE_GXX_BUILTIN_H 1 -EOF - - fi -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cat >conftest.$ac_ext <<_ACEOF -#line 12227 "configure" -#include "confdefs.h" - -#include - -int -main () -{ -two_arg_error_handler_t foo2 = lib_error_handler - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12241: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12244: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12247: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12250: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cxx_library=yes - CXXLIBS="$CXXLIBS -l$cf_gpp_libname" - cat >>confdefs.h <<\EOF -#define HAVE_BUILTIN_H 1 -EOF - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cxx_library=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - LIBS="$cf_save" - echo "$as_me:12267: result: $cf_cxx_library" >&5 -echo "${ECHO_T}$cf_cxx_library" >&6 -fi - - ;; - *) - cf_cxx_library=no - ;; - esac - - ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:12282: checking how to run the C++ preprocessor" >&5 -echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 -if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line 12299 "configure" -#include "confdefs.h" -#include - Syntax error -_ACEOF -if { (eval echo "$as_me:12304: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:12310: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line 12333 "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:12337: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:12343: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -echo "$as_me:12380: result: $CXXCPP" >&5 -echo "${ECHO_T}$CXXCPP" >&6 -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line 12390 "configure" -#include "confdefs.h" -#include - Syntax error -_ACEOF -if { (eval echo "$as_me:12395: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:12401: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line 12424 "configure" -#include "confdefs.h" -#include -_ACEOF -if { (eval echo "$as_me:12428: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:12434: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:12462: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -for ac_header in typeinfo -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:12476: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 12482 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:12486: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:12492: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:12511: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking if we should include stdbool.h... $ECHO_C" >&6 - -if test "${cf_cv_header_stdbool_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -#line 12529 "configure" -#include "confdefs.h" - -int -main () -{ -bool foo = false - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:12541: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:12544: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12547: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12550: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_header_stdbool_h=0 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cat >conftest.$ac_ext <<_ACEOF -#line 12557 "configure" -#include "confdefs.h" - -#if (!defined(__BEOS__) && !defined(__HAIKU__)) -#include -#endif - -int -main () -{ -bool foo = false - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:12573: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:12576: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12579: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12582: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_header_stdbool_h=1 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_header_stdbool_h=0 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi - -if test "$cf_cv_header_stdbool_h" = 1 -then echo "$as_me:12596: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else echo "$as_me:12598: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -echo "$as_me:12602: checking for builtin bool type" >&5 -echo $ECHO_N "checking for builtin bool type... $ECHO_C" >&6 - -if test "${cf_cv_builtin_bool+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -#line 12610 "configure" -#include "confdefs.h" - -#include -#include - -int -main () -{ -bool x = false - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:12625: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:12628: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12631: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12634: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_builtin_bool=1 -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_builtin_bool=0 -fi -rm -f conftest.$ac_objext conftest.$ac_ext - -fi - -if test "$cf_cv_builtin_bool" = 1 -then echo "$as_me:12647: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else echo "$as_me:12649: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -echo "$as_me:12653: checking for size of bool" >&5 -echo $ECHO_N "checking for size of bool... $ECHO_C" >&6 -if test "${cf_cv_type_of_bool+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - rm -f cf_test.out - if test "$cross_compiling" = yes; then - cf_cv_type_of_bool=unknown -else - cat >conftest.$ac_ext <<_ACEOF -#line 12664 "configure" -#include "confdefs.h" - -#include -#include - -#if defined(__cplusplus) - -#ifdef HAVE_GXX_BUILTIN_H -#include -#elif HAVE_GPP_BUILTIN_H -#include -#elif HAVE_BUILTIN_H -#include -#endif - -#else - -#if $cf_cv_header_stdbool_h -#include -#endif - -#endif - -main() -{ - FILE *fp = fopen("cf_test.out", "w"); - if (fp != 0) { - bool x = true; - if ((bool)(-x) >= 0) - fputs("unsigned ", fp); - if (sizeof(x) == sizeof(int)) fputs("int", fp); - else if (sizeof(x) == sizeof(char)) fputs("char", fp); - else if (sizeof(x) == sizeof(short))fputs("short",fp); - else if (sizeof(x) == sizeof(long)) fputs("long", fp); - fclose(fp); - } - exit(0); -} - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:12706: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12709: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:12711: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12714: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_type_of_bool=`cat cf_test.out` - if test -z "$cf_cv_type_of_bool"; then - cf_cv_type_of_bool=unknown - fi -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_type_of_bool=unknown -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - -fi - - rm -f cf_test.out -echo "$as_me:12732: result: $cf_cv_type_of_bool" >&5 -echo "${ECHO_T}$cf_cv_type_of_bool" >&6 -if test "$cf_cv_type_of_bool" = unknown ; then - case .$NCURSES_BOOL in #(vi - .auto|.) NCURSES_BOOL=unsigned;; - esac - { echo "$as_me:12738: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5 -echo "$as_me: WARNING: Assuming $NCURSES_BOOL for type of bool" >&2;} - cf_cv_type_of_bool=$NCURSES_BOOL -fi - -echo "$as_me:12743: checking for special defines needed for etip.h" >&5 -echo $ECHO_N "checking for special defines needed for etip.h... $ECHO_C" >&6 -cf_save_CXXFLAGS="$CXXFLAGS" -cf_result="none" -for cf_math in "" MATH_H -do -for cf_excp in "" MATH_EXCEPTION -do - CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include" - test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}" - test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}" -cat >conftest.$ac_ext <<_ACEOF -#line 12755 "configure" -#include "confdefs.h" - -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:12769: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:12772: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12775: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12778: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - - test -n "$cf_math" && cat >>confdefs.h <>confdefs.h <&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -done -echo "$as_me:12799: result: $cf_result" >&5 -echo "${ECHO_T}$cf_result" >&6 -CXXFLAGS="$cf_save_CXXFLAGS" - -if test -n "$CXX"; then -echo "$as_me:12804: checking if $CXX accepts parameter initialization" >&5 -echo $ECHO_N "checking if $CXX accepts parameter initialization... $ECHO_C" >&6 -if test "${cf_cv_cpp_param_init+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - if test "$cross_compiling" = yes; then - cf_cv_cpp_param_init=unknown -else - cat >conftest.$ac_ext <<_ACEOF -#line 12820 "configure" -#include "confdefs.h" - -class TEST { -private: - int value; -public: - TEST(int x = 1); - ~TEST(); -}; - -TEST::TEST(int x = 1) // some compilers do not like second initializer -{ - value = x; -} -void main() { } - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:12839: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12842: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:12844: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12847: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_cpp_param_init=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_cpp_param_init=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -fi -echo "$as_me:12865: result: $cf_cv_cpp_param_init" >&5 -echo "${ECHO_T}$cf_cv_cpp_param_init" >&6 -fi -test "$cf_cv_cpp_param_init" = yes && cat >>confdefs.h <<\EOF -#define CPP_HAS_PARAM_INIT 1 -EOF - -if test -n "$CXX"; then - -echo "$as_me:12874: checking if $CXX accepts static_cast" >&5 -echo $ECHO_N "checking if $CXX accepts static_cast... $ECHO_C" >&6 -if test "${cf_cv_cpp_static_cast+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - cat >conftest.$ac_ext <<_ACEOF -#line 12887 "configure" -#include "confdefs.h" - -class NCursesPanel -{ -public: - NCursesPanel(int nlines, - int ncols, - int begin_y = 0, - int begin_x = 0) - { - } - - ~NCursesPanel(); -}; - -template class NCursesUserPanel : public NCursesPanel -{ -public: - NCursesUserPanel (int nlines, - int ncols, - int begin_y = 0, - int begin_x = 0, - const T* p_UserData = static_cast(0)) - : NCursesPanel (nlines, ncols, begin_y, begin_x) - { - }; - NCursesUserPanel(const T* p_UserData = static_cast(0)) : NCursesPanel() - { - }; - - virtual ~NCursesUserPanel() {}; -}; - -int -main () -{ - - const char* p_UserData = static_cast(0) - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:12931: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:12934: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12937: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12940: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_cpp_static_cast=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_cpp_static_cast=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext - - ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -fi -echo "$as_me:12957: result: $cf_cv_cpp_static_cast" >&5 -echo "${ECHO_T}$cf_cv_cpp_static_cast" >&6 - -fi - -test "$cf_cv_cpp_static_cast" = yes && cat >>confdefs.h <<\EOF -#define CPP_HAS_STATIC_CAST 1 -EOF - -if test -n "$CXX"; then - -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -for ac_header in strstream.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:12977: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 12983 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:12987: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:12993: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:13012: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <&5 -echo $ECHO_N "checking if $CXX supports vscan function... $ECHO_C" >&6 -if test "${cf_cv_cpp_vscan_func+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - for cf_vscan_func in strstream strstream_cast stdio - do - case $cf_vscan_func in #(vi - stdio) cf_vscan_defs=USE_STDIO_VSCAN ;; #(vi - strstream) cf_vscan_defs=USE_STRSTREAM_VSCAN ;; - strstream_cast) cf_vscan_defs=USE_STRSTREAM_VSCAN_CAST ;; - esac - cat >conftest.$ac_ext <<_ACEOF -#line 13036 "configure" -#include "confdefs.h" - -#include -#include -#define $cf_vscan_defs 1 -#if defined(USE_STDIO_VSCAN) -#elif defined(HAVE_STRSTREAM_H) && defined(USE_STRSTREAM_VSCAN) -#include -#endif - -int scanw(const char* fmt, ...) -{ - int result = -1; - char buf[BUFSIZ]; - - va_list args; - va_start(args, fmt); -#if defined(USE_STDIO_VSCAN) - if (::vsscanf(buf, fmt, args) != -1) - result = 0; -#elif defined(USE_STRSTREAM_VSCAN) - strstreambuf ss(buf, sizeof(buf)); - if (ss.vscan(fmt, args) != -1) - result = 0; -#elif defined(USE_STRSTREAM_VSCAN_CAST) - strstreambuf ss(buf, sizeof(buf)); - if (ss.vscan(fmt, (_IO_va_list)args) != -1) - result = 0; -#else -#error case $cf_vscan_func failed -#endif - va_end(args); - return result; -} - -int -main () -{ -int tmp, foo = scanw("%d", &tmp) - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:13081: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:13084: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:13087: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13090: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_cpp_vscan_func=$cf_vscan_func; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_cpp_vscan_func=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - test "$cf_cv_cpp_vscan_func" != no && break - done - -fi -echo "$as_me:13103: result: $cf_cv_cpp_vscan_func" >&5 -echo "${ECHO_T}$cf_cv_cpp_vscan_func" >&6 - -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -fi - -case $cf_cv_cpp_vscan_func in #(vi -stdio) #(vi - cat >>confdefs.h <<\EOF -#define CPP_HAS_VSCAN_FUNC 1 -EOF - - cat >>confdefs.h <<\EOF -#define USE_STDIO_VSCAN 1 -EOF - - ;; -strstream) - cat >>confdefs.h <<\EOF -#define CPP_HAS_VSCAN_FUNC 1 -EOF - - cat >>confdefs.h <<\EOF -#define USE_STRSTREAM_VSCAN 1 -EOF - - ;; -strstream_cast) - cat >>confdefs.h <<\EOF -#define CPP_HAS_VSCAN_FUNC 1 -EOF - - cat >>confdefs.h <<\EOF -#define USE_STRSTREAM_VSCAN_CAST 1 -EOF - - ;; -esac - - CXX_AR='$(AR)' - CXX_AR_OPTS='$(AR_OPTS)' - case $cf_cv_system_name in #(vi - irix*) #(vi - if test "$GXX" != yes ; then - CXX_AR='$(CXX)' - CXX_AR_OPTS='-ar -o' - fi - ;; - sco3.2v5*) #(vi - CXXLDFLAGS="-u main" - ;; - solaris2*) - if test "$GXX" != yes ; then - CXX_AR='$(CXX)' - CXX_AR_OPTS='-xar -o' - fi - ;; - esac - -else - cf_cxx_library=no - cf_cv_builtin_bool=1 - - # Just because we are not configuring against C++ right now does not - # mean that a user will not want to use C++. Some distributors disable - # the C++ portion of this configuration as a shortcut (or just to avoid - # compiling the demo in the c++ directory). So we need a reasonable - # default for the 'bool' type. - # - # Caveat: since the storage of the bool type is not standardized, it - # may change. - - if test "$NCURSES_BOOL" != auto ; then - cf_cv_type_of_bool=$NCURSES_AUTO - else - if test "$cf_cv_header_stdbool_h" = 1 ; then - -echo "$as_me:13185: checking for size of bool" >&5 -echo $ECHO_N "checking for size of bool... $ECHO_C" >&6 -if test "${cf_cv_type_of_bool+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - rm -f cf_test.out - if test "$cross_compiling" = yes; then - cf_cv_type_of_bool=unknown -else - cat >conftest.$ac_ext <<_ACEOF -#line 13196 "configure" -#include "confdefs.h" - -#include -#include - -#if defined(__cplusplus) - -#ifdef HAVE_GXX_BUILTIN_H -#include -#elif HAVE_GPP_BUILTIN_H -#include -#elif HAVE_BUILTIN_H -#include -#endif - -#else - -#if $cf_cv_header_stdbool_h -#include -#endif - -#endif - -main() -{ - FILE *fp = fopen("cf_test.out", "w"); - if (fp != 0) { - bool x = true; - if ((bool)(-x) >= 0) - fputs("unsigned ", fp); - if (sizeof(x) == sizeof(int)) fputs("int", fp); - else if (sizeof(x) == sizeof(char)) fputs("char", fp); - else if (sizeof(x) == sizeof(short))fputs("short",fp); - else if (sizeof(x) == sizeof(long)) fputs("long", fp); - fclose(fp); - } - exit(0); -} - -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:13238: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:13241: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:13243: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13246: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_type_of_bool=`cat cf_test.out` - if test -z "$cf_cv_type_of_bool"; then - cf_cv_type_of_bool=unknown - fi -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_type_of_bool=unknown -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - -fi - - rm -f cf_test.out -echo "$as_me:13264: result: $cf_cv_type_of_bool" >&5 -echo "${ECHO_T}$cf_cv_type_of_bool" >&6 -if test "$cf_cv_type_of_bool" = unknown ; then - case .$NCURSES_BOOL in #(vi - .auto|.) NCURSES_BOOL=unsigned;; - esac - { echo "$as_me:13270: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5 -echo "$as_me: WARNING: Assuming $NCURSES_BOOL for type of bool" >&2;} - cf_cv_type_of_bool=$NCURSES_BOOL -fi - - else - echo "$as_me:13276: checking for fallback type of bool" >&5 -echo $ECHO_N "checking for fallback type of bool... $ECHO_C" >&6 - case "$host_cpu" in #(vi - i?86) cf_cv_type_of_bool=char ;; #(vi - *) cf_cv_type_of_bool=int ;; - esac - echo "$as_me:13282: result: $cf_cv_type_of_bool" >&5 -echo "${ECHO_T}$cf_cv_type_of_bool" >&6 - fi - fi -fi - -# If the C compiler did not declare bool, and we did not determine that the C++ -# compiler does not declare bool, turn on an ifdef in curses.h that makes the -# ncurses library use the same type as C++ bool. Note that this allows one to -# specify the type of bool in a configure-script option and postpone -# integration with the C++ compiler provided that the types are compatible. -USE_CXX_BOOL=1 -if test $cf_cv_cc_bool_type = 1 -then - # oops: C has a bool. Unlikely, but C++ could differ. - USE_CXX_BOOL=0 -elif test $cf_cv_builtin_bool = 0 -then - # C++ has no bool - USE_CXX_BOOL=0 -else - # this is the normal case - USE_CXX_BOOL='defined(__cplusplus)' -fi - -if test "$cf_with_ada" != "no" ; then -cf_ada_make=gnatmake -# Extract the first word of "$cf_ada_make", so it can be a program name with args. -set dummy $cf_ada_make; ac_word=$2 -echo "$as_me:13311: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_gnat_exists+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$gnat_exists"; then - ac_cv_prog_gnat_exists="$gnat_exists" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_gnat_exists="yes" -echo "$as_me:13326: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_gnat_exists" && ac_cv_prog_gnat_exists="no" -fi -fi -gnat_exists=$ac_cv_prog_gnat_exists -if test -n "$gnat_exists"; then - echo "$as_me:13335: result: $gnat_exists" >&5 -echo "${ECHO_T}$gnat_exists" >&6 -else - echo "$as_me:13338: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -if test "$ac_cv_prog_gnat_exists" = no; then - cf_ada_make= -else - -echo "$as_me:13346: checking for gnat version" >&5 -echo $ECHO_N "checking for gnat version... $ECHO_C" >&6 -cf_gnat_version=`${cf_ada_make-gnatmake} -v 2>&1 | grep '[0-9].[0-9][0-9]*' |\ - sed -e '2,$d' -e 's/[^0-9 \.]//g' -e 's/^[ ]*//' -e 's/ .*//'` -echo "$as_me:13350: result: $cf_gnat_version" >&5 -echo "${ECHO_T}$cf_gnat_version" >&6 - -case $cf_gnat_version in - 3.1[1-9]*|3.[2-9]*|[4-9].*) - cf_cv_prog_gnat_correct=yes - ;; - *) echo Unsupported GNAT version $cf_gnat_version. Required is 3.11 or better. Disabling Ada95 binding. - cf_cv_prog_gnat_correct=no - ;; -esac -case $cf_gnat_version in - 3.[1-9]*|[4-9].*) - cf_compile_generics=generics - cf_generic_objects="\$(GENOBJS)" - ;; - *) cf_compile_generics= - cf_generic_objects= - ;; -esac - - # Extract the first word of "m4", so it can be a program name with args. -set dummy m4; ac_word=$2 -echo "$as_me:13373: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_M4_exists+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$M4_exists"; then - ac_cv_prog_M4_exists="$M4_exists" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_M4_exists="yes" -echo "$as_me:13388: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_M4_exists" && ac_cv_prog_M4_exists="no" -fi -fi -M4_exists=$ac_cv_prog_M4_exists -if test -n "$M4_exists"; then - echo "$as_me:13397: result: $M4_exists" >&5 -echo "${ECHO_T}$M4_exists" >&6 -else - echo "$as_me:13400: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - if test "$ac_cv_prog_M4_exists" = no; then - cf_cv_prog_gnat_correct=no - echo Ada95 binding required program m4 not found. Ada95 binding disabled. - fi - if test "$cf_cv_prog_gnat_correct" = yes; then - echo "$as_me:13409: checking if GNAT works" >&5 -echo $ECHO_N "checking if GNAT works... $ECHO_C" >&6 - -rm -f conftest* -cat >>conftest.ads <>conftest.adb <&5 2>&1 ) ; then - if ( ./conftest 1>&5 2>&1 ) ; then - cf_cv_prog_gnat_correct=yes - else - cf_cv_prog_gnat_correct=no - fi -else - cf_cv_prog_gnat_correct=no -fi -rm -f conftest* - - echo "$as_me:13437: result: $cf_cv_prog_gnat_correct" >&5 -echo "${ECHO_T}$cf_cv_prog_gnat_correct" >&6 - fi -fi -if test "$cf_cv_prog_gnat_correct" = yes; then - ADAFLAGS="-O3 -gnatpn $ADAFLAGS" - - echo "$as_me:13444: checking if GNAT pragma Unreferenced works" >&5 -echo $ECHO_N "checking if GNAT pragma Unreferenced works... $ECHO_C" >&6 - -rm -f conftest* -cat >>conftest.ads <>conftest.adb <&5 2>&1 ) ; then - cf_cv_pragma_unreferenced=yes -else - cf_cv_pragma_unreferenced=no -fi -rm -f conftest* - - echo "$as_me:13471: result: $cf_cv_pragma_unreferenced" >&5 -echo "${ECHO_T}$cf_cv_pragma_unreferenced" >&6 - - # if the pragma is supported, use it (needed in the Trace code). - if test $cf_cv_pragma_unreferenced = yes ; then - PRAGMA_UNREF=TRUE - else - PRAGMA_UNREF=FALSE - fi - -# Check whether --with-ada-compiler or --without-ada-compiler was given. -if test "${with_ada_compiler+set}" = set; then - withval="$with_ada_compiler" - cf_ada_compiler=$withval -else - cf_ada_compiler=gnatmake -fi; - - cf_ada_package=terminal_interface - -# Check whether --with-ada-include or --without-ada-include was given. -if test "${with_ada_include+set}" = set; then - withval="$with_ada_include" - -else - withval="${ADA_INCLUDE-$prefix/lib/ada/adainclude}" -fi; -case ".$withval" in #(vi -.\$\(*\)*|.\'*\'*) #(vi - ;; -..|./*|.\\*) #(vi - ;; -.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX - ;; -.\${*prefix}*) #(vi - eval withval="$withval" - case ".$withval" in #(vi - .NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; - esac - ;; #(vi -.NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; -*) - { { echo "$as_me:13517: error: expected a pathname, not \"$withval\"" >&5 -echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;} - { (exit 1); exit 1; }; } - ;; -esac - -eval ADA_INCLUDE="$withval" - -# Check whether --with-ada-objects or --without-ada-objects was given. -if test "${with_ada_objects+set}" = set; then - withval="$with_ada_objects" - -else - withval="${ADA_OBJECTS-$prefix/lib/ada/adalib}" -fi; -case ".$withval" in #(vi -.\$\(*\)*|.\'*\'*) #(vi - ;; -..|./*|.\\*) #(vi - ;; -.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX - ;; -.\${*prefix}*) #(vi - eval withval="$withval" - case ".$withval" in #(vi - .NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; - esac - ;; #(vi -.NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; -*) - { { echo "$as_me:13551: error: expected a pathname, not \"$withval\"" >&5 -echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;} - { (exit 1); exit 1; }; } - ;; -esac - -eval ADA_OBJECTS="$withval" - -fi -fi - -### Construct the library-subsets, if any, from this set of keywords: -### none, base, ext_funcs, ext_tinfo, termlib, widechar (see CF_LIB_RULES). -echo "$as_me:13564: checking for library subsets" >&5 -echo $ECHO_N "checking for library subsets... $ECHO_C" >&6 -if test "$with_termlib" != no ; then - LIB_SUBSETS="termlib" - test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo" - LIB_SUBSETS="${LIB_SUBSETS} " -else - LIB_SUBSETS="termlib+" - test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}ext_tinfo+" -fi -LIB_SUBSETS="${LIB_SUBSETS}base" -test "$with_widec" = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar" -test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs" -echo "$as_me:13577: result: $LIB_SUBSETS" >&5 -echo "${ECHO_T}$LIB_SUBSETS" >&6 - -### Construct the list of include-directories to be generated - -CPPFLAGS="-I. -I../include $CPPFLAGS" -if test "$srcdir" != "."; then - CPPFLAGS="-I\$(srcdir)/../include $CPPFLAGS" -fi -if test "$GCC" != yes; then - CPPFLAGS="$CPPFLAGS -I\$(includedir)" -elif test "$includedir" != "/usr/include"; then - if test "$includedir" = '${prefix}/include' ; then - if test $prefix != /usr ; then - CPPFLAGS="$CPPFLAGS -I\$(includedir)" - fi - else - CPPFLAGS="$CPPFLAGS -I\$(includedir)" - fi -fi - -ACPPFLAGS="-I. -I../../include $ACPPFLAGS" -if test "$srcdir" != "."; then - ACPPFLAGS="-I\$(srcdir)/../../include $ACPPFLAGS" -fi -if test "$GCC" != yes; then - ACPPFLAGS="$ACPPFLAGS -I\$(includedir)" -elif test "$includedir" != "/usr/include"; then - if test "$includedir" = '${prefix}/include' ; then - if test $prefix != /usr ; then - ACPPFLAGS="$ACPPFLAGS -I\$(includedir)" - fi - else - ACPPFLAGS="$ACPPFLAGS -I\$(includedir)" - fi -fi - -### Build up pieces for makefile rules -echo "$as_me:13615: checking default library suffix" >&5 -echo $ECHO_N "checking default library suffix... $ECHO_C" >&6 - - case $DFT_LWR_MODEL in - libtool) DFT_ARG_SUFFIX='' ;; - normal) DFT_ARG_SUFFIX='' ;; - debug) DFT_ARG_SUFFIX='_g' ;; - profile) DFT_ARG_SUFFIX='_p' ;; - shared) DFT_ARG_SUFFIX='' ;; - esac - test -n "$LIB_SUFFIX" && DFT_ARG_SUFFIX="${LIB_SUFFIX}${DFT_ARG_SUFFIX}" -echo "$as_me:13626: result: $DFT_ARG_SUFFIX" >&5 -echo "${ECHO_T}$DFT_ARG_SUFFIX" >&6 - -echo "$as_me:13629: checking default library-dependency suffix" >&5 -echo $ECHO_N "checking default library-dependency suffix... $ECHO_C" >&6 - - case $DFT_LWR_MODEL in - libtool) DFT_DEP_SUFFIX='.la' ;; - normal) DFT_DEP_SUFFIX='.a' ;; - debug) DFT_DEP_SUFFIX='_g.a' ;; - profile) DFT_DEP_SUFFIX='_p.a' ;; - shared) - case $cf_cv_system_name in - cygwin*) DFT_DEP_SUFFIX='.dll' ;; - darwin*) DFT_DEP_SUFFIX='.dylib' ;; - hpux*) - case $target in - ia64*) DFT_DEP_SUFFIX='.so' ;; - *) DFT_DEP_SUFFIX='.sl' ;; - esac - ;; - *) DFT_DEP_SUFFIX='.so' ;; - esac - esac - test -n "$LIB_SUFFIX" && DFT_DEP_SUFFIX="${LIB_SUFFIX}${DFT_DEP_SUFFIX}" -if test $DFT_LWR_MODEL = shared ; then - case $cf_cv_system_name in #(vi - cygwin*) - DFT_DEP_SUFFIX=".dll.a" - ;; - esac -fi -echo "$as_me:13658: result: $DFT_DEP_SUFFIX" >&5 -echo "${ECHO_T}$DFT_DEP_SUFFIX" >&6 - -echo "$as_me:13661: checking default object directory" >&5 -echo $ECHO_N "checking default object directory... $ECHO_C" >&6 - - case $DFT_LWR_MODEL in - libtool) DFT_OBJ_SUBDIR='obj_lo' ;; - normal) DFT_OBJ_SUBDIR='objects' ;; - debug) DFT_OBJ_SUBDIR='obj_g' ;; - profile) DFT_OBJ_SUBDIR='obj_p' ;; - shared) - case $cf_cv_system_name in #(vi - cygwin) #(vi - DFT_OBJ_SUBDIR='objects' ;; - *) - DFT_OBJ_SUBDIR='obj_s' ;; - esac - esac -echo "$as_me:13677: result: $DFT_OBJ_SUBDIR" >&5 -echo "${ECHO_T}$DFT_OBJ_SUBDIR" >&6 - -# libtool thinks it can make c++ shared libraries (perhaps only g++) -if test "$cf_with_cxx" = yes ; then -echo "$as_me:13682: checking c++ library-dependency suffix" >&5 -echo $ECHO_N "checking c++ library-dependency suffix... $ECHO_C" >&6 -if test "$with_libtool" != "no"; then - CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX -else - - case normal in - libtool) CXX_LIB_SUFFIX='.la' ;; - normal) CXX_LIB_SUFFIX='.a' ;; - debug) CXX_LIB_SUFFIX='_g.a' ;; - profile) CXX_LIB_SUFFIX='_p.a' ;; - shared) - case $cf_cv_system_name in - cygwin*) CXX_LIB_SUFFIX='.dll' ;; - darwin*) CXX_LIB_SUFFIX='.dylib' ;; - hpux*) - case $target in - ia64*) CXX_LIB_SUFFIX='.so' ;; - *) CXX_LIB_SUFFIX='.sl' ;; - esac - ;; - *) CXX_LIB_SUFFIX='.so' ;; - esac - esac - test -n "$LIB_SUFFIX" && CXX_LIB_SUFFIX="${LIB_SUFFIX}${CXX_LIB_SUFFIX}" -fi -echo "$as_me:13708: result: $CXX_LIB_SUFFIX" >&5 -echo "${ECHO_T}$CXX_LIB_SUFFIX" >&6 - -fi - -### Set up low-level terminfo dependencies for makefiles. -TINFO_LIST="$SHLIB_LIST" -if test "$with_termlib" != no ; then - - if test "$with_termlib" != yes ; then - TINFO_NAME=$with_termlib - TINFO_ARG_SUFFIX="${with_termlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" - TINFO_DEP_SUFFIX="${with_termlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" - TINFO_LIB_SUFFIX="${with_termlib}" - else - TINFO_ARG_SUFFIX="${TINFO_NAME}${DFT_ARG_SUFFIX}" - TINFO_DEP_SUFFIX="${TINFO_NAME}${DFT_DEP_SUFFIX}" - TINFO_LIB_SUFFIX="${TINFO_NAME}${LIB_SUFFIX}" - fi - - TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${TINFO_DEP_SUFFIX}" - TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${TINFO_DEP_SUFFIX}" - if test "$DFT_LWR_MODEL" = "libtool"; then - TEST_ARGS="${TEST_DEPS}" - TEST_ARG2="${TEST_DEP2}" - TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS" - else - TEST_ARGS="-l${TINFO_ARG_SUFFIX}" - TEST_ARG2="-l${TINFO_ARG_SUFFIX}" - TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS" - SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}" - fi -else - TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}" -fi - -# needed for Ada95 -TINFO_ARGS2=`echo "$TINFO_ARGS" | sed -e 's,-L\.\./,-L../../,'` - -echo "$as_me:13747: checking where we will install curses.h" >&5 -echo $ECHO_N "checking where we will install curses.h... $ECHO_C" >&6 -test "$with_overwrite" = no && \ -test "x$includedir" = 'x${prefix}/include' && \ - includedir='$(prefix)/include/ncurses'${LIB_SUFFIX} -echo "$as_me:13752: result: $includedir" >&5 -echo "${ECHO_T}$includedir" >&6 - -### Resolve a conflict between normal and wide-curses by forcing applications -### that will need libutf8 to add it to their configure script. -if test "$with_overwrite" != no ; then -if test "$NCURSES_LIBUTF8" = 1 ; then - NCURSES_LIBUTF8='defined(HAVE_LIBUTF8_H)' - { echo "$as_me:13760: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&5 -echo "$as_me: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&2;} -fi -fi - -### predefined stuff for the test programs -cat >>confdefs.h <<\EOF -#define HAVE_SLK_COLOR 1 -EOF - -### Construct the list of subdirectories for which we'll customize makefiles -### with the appropriate compile-rules. - -echo "$as_me:13773: checking for src modules" >&5 -echo $ECHO_N "checking for src modules... $ECHO_C" >&6 - -# dependencies and linker-arguments for test-programs -TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEPS" -TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEP2" -if test "$DFT_LWR_MODEL" = "libtool"; then - TEST_ARGS="${TEST_DEPS}" - TEST_ARG2="${TEST_DEP2}" -else - TEST_ARGS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS" - TEST_ARG2="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARG2" -fi - -cf_cv_src_modules= -for cf_dir in $modules_to_build -do - if test -f $srcdir/$cf_dir/modules; then - - # We may/may not have tack in the distribution, though the - # makefile is. - if test $cf_dir = tack ; then - if test ! -f $srcdir/${cf_dir}/${cf_dir}.h; then - continue - fi - fi - - if test -z "$cf_cv_src_modules"; then - cf_cv_src_modules=$cf_dir - else - cf_cv_src_modules="$cf_cv_src_modules $cf_dir" - fi - - # Make the ncurses_cfg.h file record the library interface files as - # well. These are header files that are the same name as their - # directory. Ncurses is the only library that does not follow - # that pattern. - if test $cf_dir = tack ; then - continue - elif test -f $srcdir/${cf_dir}/${cf_dir}.h; then - -cf_have_include=`echo "$cf_dir" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - cat >>confdefs.h <>confdefs.h <&5 -echo "${ECHO_T}$cf_cv_src_modules" >&6 - -TEST_ARGS="-L${LIB_DIR} $TEST_ARGS" -TEST_ARG2="-L${LIB_2ND} $TEST_ARG2" - -SRC_SUBDIRS="man include" -for cf_dir in $cf_cv_src_modules -do - SRC_SUBDIRS="$SRC_SUBDIRS $cf_dir" -done -SRC_SUBDIRS="$SRC_SUBDIRS test" -test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc" -test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++" - -ADA_SUBDIRS= -if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then - SRC_SUBDIRS="$SRC_SUBDIRS Ada95" - ADA_SUBDIRS="gen src samples" -fi - -SUB_MAKEFILES= -for cf_dir in $SRC_SUBDIRS -do - SUB_MAKEFILES="$SUB_MAKEFILES $cf_dir/Makefile" -done - -if test -n "$ADA_SUBDIRS"; then - for cf_dir in $ADA_SUBDIRS - do - SUB_MAKEFILES="$SUB_MAKEFILES Ada95/$cf_dir/Makefile" - done - -fi - -DIRS_TO_MAKE="lib" -for cf_item in $cf_list_models -do - - case $cf_item in - libtool) cf_subdir='obj_lo' ;; - normal) cf_subdir='objects' ;; - debug) cf_subdir='obj_g' ;; - profile) cf_subdir='obj_p' ;; - shared) - case $cf_cv_system_name in #(vi - cygwin) #(vi - cf_subdir='objects' ;; - *) - cf_subdir='obj_s' ;; - esac - esac - - for cf_item2 in $DIRS_TO_MAKE - do - test $cf_item2 = $cf_subdir && break - done - test ".$cf_item2" != ".$cf_subdir" && DIRS_TO_MAKE="$DIRS_TO_MAKE $cf_subdir" -done -for cf_dir in $DIRS_TO_MAKE -do - test ! -d $cf_dir && mkdir $cf_dir -done - -cat >>confdefs.h <>confdefs.h <confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overriden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -{ - (set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} | - sed ' - t clear - : clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - : end' >>confcache -if cmp -s $cache_file confcache; then :; else - if test -w $cache_file; then - test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" - cat confcache >$cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/; -s/:*\${srcdir}:*/:/; -s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; -s/:*$//; -s/^[^=]*=[ ]*$//; -}' -fi - -DEFS=-DHAVE_CONFIG_H - -: ${CONFIG_STATUS=./config.status} -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:14061: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF -#! $SHELL -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -SHELL=\${CONFIG_SHELL-$SHELL} -ac_cs_invocation="\$0 \$@" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# Name of the executable. -as_me=`echo "$0" |sed 's,.*[\\/],,'` - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -as_executable_p="test -f" - -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - -# NLS nuisances. -$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } -$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } -$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } -$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } -$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } -$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } -$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } -$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } - -exec 6>&1 - -_ACEOF - -# Files that config.status was made for. -if test -n "$ac_config_files"; then - echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_headers"; then - echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_links"; then - echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_commands"; then - echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS -fi - -cat >>$CONFIG_STATUS <<\EOF - -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number, then exit - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." -EOF - -cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "x$1" : 'x\([^=]*\)='` - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` - shift - set dummy "$ac_option" "$ac_optarg" ${1+"$@"} - shift - ;; - -*);; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_need_defaults=false;; - esac - - case $1 in - # Handling of the options. -EOF -cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:14237: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - shift - CONFIG_FILES="$CONFIG_FILES $1" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - shift - CONFIG_HEADERS="$CONFIG_HEADERS $1" - ac_need_defaults=false;; - - # This is an error. - -*) { { echo "$as_me:14256: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" ;; - - esac - shift -done - -exec 5>>config.log -cat >&5 << _ACEOF - -## ----------------------- ## -## Running config.status. ## -## ----------------------- ## - -This file was extended by $as_me 2.52.20030208, executed with - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - > $ac_cs_invocation -on `(hostname || uname -n) 2>/dev/null | sed 1q` - -_ACEOF -EOF - -cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF -for ac_config_target in $ac_config_targets -do - case "$ac_config_target" in - # Handling of arguments. - "include/MKterm.h.awk" ) CONFIG_FILES="$CONFIG_FILES include/MKterm.h.awk" ;; - "include/curses.head" ) CONFIG_FILES="$CONFIG_FILES include/curses.head:include/curses.h.in" ;; - "include/termcap.h" ) CONFIG_FILES="$CONFIG_FILES include/termcap.h" ;; - "include/unctrl.h" ) CONFIG_FILES="$CONFIG_FILES include/unctrl.h" ;; - "$SUB_MAKEFILES" ) CONFIG_FILES="$CONFIG_FILES $SUB_MAKEFILES" ;; - "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; - "include/ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/ncurses_cfg.h:include/ncurses_cfg.hin" ;; - *) { { echo "$as_me:14342: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Create a temporary directory, and hook for its removal unless debugging. -$debug || -{ - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} - -# Create a (secure) tmp directory for tmp files. -: ${TMPDIR=/tmp} -{ - tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=$TMPDIR/cs$$-$RANDOM - (umask 077 && mkdir $tmp) -} || -{ - echo "$me: cannot create a temporary directory in $TMPDIR" >&2 - { (exit 1); exit 1; } -} - -EOF - -cat >>$CONFIG_STATUS <\$tmp/subs.sed <<\\CEOF -s,@SHELL@,$SHELL,;t t -s,@exec_prefix@,$exec_prefix,;t t -s,@prefix@,$prefix,;t t -s,@program_transform_name@,$program_transform_name,;t t -s,@bindir@,$bindir,;t t -s,@sbindir@,$sbindir,;t t -s,@libexecdir@,$libexecdir,;t t -s,@datadir@,$datadir,;t t -s,@sysconfdir@,$sysconfdir,;t t -s,@sharedstatedir@,$sharedstatedir,;t t -s,@localstatedir@,$localstatedir,;t t -s,@libdir@,$libdir,;t t -s,@includedir@,$includedir,;t t -s,@oldincludedir@,$oldincludedir,;t t -s,@infodir@,$infodir,;t t -s,@mandir@,$mandir,;t t -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t -s,@build_alias@,$build_alias,;t t -s,@host_alias@,$host_alias,;t t -s,@target_alias@,$target_alias,;t t -s,@ECHO_C@,$ECHO_C,;t t -s,@ECHO_N@,$ECHO_N,;t t -s,@ECHO_T@,$ECHO_T,;t t -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -s,@DEFS@,$DEFS,;t t -s,@LIBS@,$LIBS,;t t -s,@NCURSES_MAJOR@,$NCURSES_MAJOR,;t t -s,@NCURSES_MINOR@,$NCURSES_MINOR,;t t -s,@NCURSES_PATCH@,$NCURSES_PATCH,;t t -s,@cf_cv_rel_version@,$cf_cv_rel_version,;t t -s,@cf_cv_abi_version@,$cf_cv_abi_version,;t t -s,@cf_cv_builtin_bool@,$cf_cv_builtin_bool,;t t -s,@cf_cv_header_stdbool_h@,$cf_cv_header_stdbool_h,;t t -s,@cf_cv_type_of_bool@,$cf_cv_type_of_bool,;t t -s,@build@,$build,;t t -s,@build_cpu@,$build_cpu,;t t -s,@build_vendor@,$build_vendor,;t t -s,@build_os@,$build_os,;t t -s,@host@,$host,;t t -s,@host_cpu@,$host_cpu,;t t -s,@host_vendor@,$host_vendor,;t t -s,@host_os@,$host_os,;t t -s,@target@,$target,;t t -s,@target_cpu@,$target_cpu,;t t -s,@target_vendor@,$target_vendor,;t t -s,@target_os@,$target_os,;t t -s,@CC@,$CC,;t t -s,@CFLAGS@,$CFLAGS,;t t -s,@LDFLAGS@,$LDFLAGS,;t t -s,@CPPFLAGS@,$CPPFLAGS,;t t -s,@ac_ct_CC@,$ac_ct_CC,;t t -s,@EXEEXT@,$EXEEXT,;t t -s,@OBJEXT@,$OBJEXT,;t t -s,@CPP@,$CPP,;t t -s,@EXTRA_CPPFLAGS@,$EXTRA_CPPFLAGS,;t t -s,@PROG_EXT@,$PROG_EXT,;t t -s,@LDCONFIG@,$LDCONFIG,;t t -s,@CXX@,$CXX,;t t -s,@CXXFLAGS@,$CXXFLAGS,;t t -s,@ac_ct_CXX@,$ac_ct_CXX,;t t -s,@AWK@,$AWK,;t t -s,@SET_MAKE@,$SET_MAKE,;t t -s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t -s,@INSTALL_DATA@,$INSTALL_DATA,;t t -s,@LN_S@,$LN_S,;t t -s,@MAKE_LOWER_TAGS@,$MAKE_LOWER_TAGS,;t t -s,@MAKE_UPPER_TAGS@,$MAKE_UPPER_TAGS,;t t -s,@LINT@,$LINT,;t t -s,@MAN@,$MAN,;t t -s,@LINT_OPTS@,$LINT_OPTS,;t t -s,@RANLIB@,$RANLIB,;t t -s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t -s,@LD@,$LD,;t t -s,@ac_ct_LD@,$ac_ct_LD,;t t -s,@AR@,$AR,;t t -s,@ac_ct_AR@,$ac_ct_AR,;t t -s,@AR_OPTS@,$AR_OPTS,;t t -s,@cf_cv_makeflags@,$cf_cv_makeflags,;t t -s,@DESTDIR@,$DESTDIR,;t t -s,@BUILD_CC@,$BUILD_CC,;t t -s,@BUILD_CPP@,$BUILD_CPP,;t t -s,@BUILD_CFLAGS@,$BUILD_CFLAGS,;t t -s,@BUILD_CPPFLAGS@,$BUILD_CPPFLAGS,;t t -s,@BUILD_LDFLAGS@,$BUILD_LDFLAGS,;t t -s,@BUILD_LIBS@,$BUILD_LIBS,;t t -s,@BUILD_EXEEXT@,$BUILD_EXEEXT,;t t -s,@BUILD_OBJEXT@,$BUILD_OBJEXT,;t t -s,@cf_list_models@,$cf_list_models,;t t -s,@LIBTOOL@,$LIBTOOL,;t t -s,@LIBTOOL_CXX@,$LIBTOOL_CXX,;t t -s,@LIB_CREATE@,$LIB_CREATE,;t t -s,@LIB_OBJECT@,$LIB_OBJECT,;t t -s,@LIB_SUFFIX@,$LIB_SUFFIX,;t t -s,@LIB_PREP@,$LIB_PREP,;t t -s,@LIB_CLEAN@,$LIB_CLEAN,;t t -s,@LIB_COMPILE@,$LIB_COMPILE,;t t -s,@LIB_LINK@,$LIB_LINK,;t t -s,@LIB_INSTALL@,$LIB_INSTALL,;t t -s,@LIB_UNINSTALL@,$LIB_UNINSTALL,;t t -s,@DFT_LWR_MODEL@,$DFT_LWR_MODEL,;t t -s,@DFT_UPR_MODEL@,$DFT_UPR_MODEL,;t t -s,@TINFO_NAME@,$TINFO_NAME,;t t -s,@LIB_NAME@,$LIB_NAME,;t t -s,@LIB_PREFIX@,$LIB_PREFIX,;t t -s,@CC_G_OPT@,$CC_G_OPT,;t t -s,@CXX_G_OPT@,$CXX_G_OPT,;t t -s,@LD_MODEL@,$LD_MODEL,;t t -s,@CC_SHARED_OPTS@,$CC_SHARED_OPTS,;t t -s,@LD_SHARED_OPTS@,$LD_SHARED_OPTS,;t t -s,@MK_SHARED_LIB@,$MK_SHARED_LIB,;t t -s,@LINK_PROGS@,$LINK_PROGS,;t t -s,@LINK_TESTS@,$LINK_TESTS,;t t -s,@EXTRA_LDFLAGS@,$EXTRA_LDFLAGS,;t t -s,@LOCAL_LDFLAGS@,$LOCAL_LDFLAGS,;t t -s,@LOCAL_LDFLAGS2@,$LOCAL_LDFLAGS2,;t t -s,@INSTALL_LIB@,$INSTALL_LIB,;t t -s,@TERMINFO_SRC@,$TERMINFO_SRC,;t t -s,@PATHSEP@,$PATHSEP,;t t -s,@FALLBACK_LIST@,$FALLBACK_LIST,;t t -s,@WHICH_XTERM@,$WHICH_XTERM,;t t -s,@TERMINFO_DIRS@,$TERMINFO_DIRS,;t t -s,@TERMINFO@,$TERMINFO,;t t -s,@MAKE_TERMINFO@,$MAKE_TERMINFO,;t t -s,@TERMPATH@,$TERMPATH,;t t -s,@BROKEN_LINKER@,$BROKEN_LINKER,;t t -s,@NCURSES_CH_T@,$NCURSES_CH_T,;t t -s,@NCURSES_LIBUTF8@,$NCURSES_LIBUTF8,;t t -s,@NEED_WCHAR_H@,$NEED_WCHAR_H,;t t -s,@NCURSES_MBSTATE_T@,$NCURSES_MBSTATE_T,;t t -s,@NCURSES_WCHAR_T@,$NCURSES_WCHAR_T,;t t -s,@NCURSES_WINT_T@,$NCURSES_WINT_T,;t t -s,@NCURSES_OK_WCHAR_T@,$NCURSES_OK_WCHAR_T,;t t -s,@NCURSES_OK_WINT_T@,$NCURSES_OK_WINT_T,;t t -s,@cf_cv_enable_lp64@,$cf_cv_enable_lp64,;t t -s,@NCURSES_BOOL@,$NCURSES_BOOL,;t t -s,@TERMINFO_CAPS@,$TERMINFO_CAPS,;t t -s,@NCURSES_OSPEED@,$NCURSES_OSPEED,;t t -s,@MANPAGE_RENAMES@,$MANPAGE_RENAMES,;t t -s,@NCURSES_EXT_FUNCS@,$NCURSES_EXT_FUNCS,;t t -s,@NCURSES_CONST@,$NCURSES_CONST,;t t -s,@NCURSES_XNAMES@,$NCURSES_XNAMES,;t t -s,@NCURSES_EXT_COLORS@,$NCURSES_EXT_COLORS,;t t -s,@NCURSES_MOUSE_VERSION@,$NCURSES_MOUSE_VERSION,;t t -s,@ECHO_LINK@,$ECHO_LINK,;t t -s,@EXTRA_CFLAGS@,$EXTRA_CFLAGS,;t t -s,@EXTRA_CXXFLAGS@,$EXTRA_CXXFLAGS,;t t -s,@ADA_TRACE@,$ADA_TRACE,;t t -s,@MATH_LIB@,$MATH_LIB,;t t -s,@cf_cv_typeof_chtype@,$cf_cv_typeof_chtype,;t t -s,@cf_cv_1UL@,$cf_cv_1UL,;t t -s,@cf_cv_typeof_mmask_t@,$cf_cv_typeof_mmask_t,;t t -s,@HAVE_VSSCANF@,$HAVE_VSSCANF,;t t -s,@CXXCPP@,$CXXCPP,;t t -s,@CXXLDFLAGS@,$CXXLDFLAGS,;t t -s,@CXX_AR@,$CXX_AR,;t t -s,@CXX_AR_OPTS@,$CXX_AR_OPTS,;t t -s,@CXXLIBS@,$CXXLIBS,;t t -s,@USE_CXX_BOOL@,$USE_CXX_BOOL,;t t -s,@gnat_exists@,$gnat_exists,;t t -s,@M4_exists@,$M4_exists,;t t -s,@cf_ada_make@,$cf_ada_make,;t t -s,@cf_ada_compiler@,$cf_ada_compiler,;t t -s,@cf_ada_package@,$cf_ada_package,;t t -s,@ADAFLAGS@,$ADAFLAGS,;t t -s,@cf_compile_generics@,$cf_compile_generics,;t t -s,@cf_generic_objects@,$cf_generic_objects,;t t -s,@PRAGMA_UNREF@,$PRAGMA_UNREF,;t t -s,@ADA_INCLUDE@,$ADA_INCLUDE,;t t -s,@ADA_OBJECTS@,$ADA_OBJECTS,;t t -s,@ACPPFLAGS@,$ACPPFLAGS,;t t -s,@DFT_ARG_SUFFIX@,$DFT_ARG_SUFFIX,;t t -s,@DFT_DEP_SUFFIX@,$DFT_DEP_SUFFIX,;t t -s,@DFT_OBJ_SUBDIR@,$DFT_OBJ_SUBDIR,;t t -s,@CXX_LIB_SUFFIX@,$CXX_LIB_SUFFIX,;t t -s,@TINFO_ARG_SUFFIX@,$TINFO_ARG_SUFFIX,;t t -s,@TINFO_DEP_SUFFIX@,$TINFO_DEP_SUFFIX,;t t -s,@TINFO_LIB_SUFFIX@,$TINFO_LIB_SUFFIX,;t t -s,@TINFO_ARGS@,$TINFO_ARGS,;t t -s,@TINFO_ARGS2@,$TINFO_ARGS2,;t t -s,@TINFO_LIST@,$TINFO_LIST,;t t -s,@SHLIB_LIST@,$SHLIB_LIST,;t t -s,@TEST_ARGS@,$TEST_ARGS,;t t -s,@TEST_DEPS@,$TEST_DEPS,;t t -s,@TEST_ARG2@,$TEST_ARG2,;t t -s,@TEST_DEP2@,$TEST_DEP2,;t t -s,@ADA_SUBDIRS@,$ADA_SUBDIRS,;t t -s,@DIRS_TO_MAKE@,$DIRS_TO_MAKE,;t t -CEOF - -EOF - - cat >>$CONFIG_STATUS <<\EOF - # Split the substitutions into bite-sized pieces for seds with - # small command number limits, like on Digital OSF/1 and HP-UX. - ac_max_sed_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # Line after last line for current file. - ac_more_lines=: - ac_sed_cmds= - while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false - else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_lines` - fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat - fi -fi # test -n "$CONFIG_FILES" - -EOF -cat >>$CONFIG_STATUS <<\EOF -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || mkdir "$as_incr_dir" - ;; - esac -done; } - - ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'` - else - ac_dir_suffix= ac_dots= - fi - - case $srcdir in - .) ac_srcdir=. - if test -z "$ac_dots"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_dots$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_dots$srcdir ;; - esac - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_dots$INSTALL ;; - esac - - if test x"$ac_file" != x-; then - { echo "$as_me:14700: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated automatically by config.status. */ - configure_input="Generated automatically from `echo $ac_file_in | - sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:14718: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:14731: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } -EOF -cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s,@configure_input@,$configure_input,;t t -s,@srcdir@,$ac_srcdir,;t t -s,@top_srcdir@,$ac_top_srcdir,;t t -s,@INSTALL@,$ac_INSTALL,;t t -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out - rm -f $tmp/stdin - if test x"$ac_file" != x-; then - mv $tmp/out $ac_file - else - cat $tmp/out - rm -f $tmp/out - fi - -done -EOF -cat >>$CONFIG_STATUS <<\EOF - -# -# CONFIG_HEADER section. -# - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='[ ].*$,\1#\2' -ac_dC=' ' -ac_dD=',;t' -# ac_i turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_iA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_iB='\([ ]\),\1#\2define\3' -ac_iC=' ' -ac_iD='\4,;t' -# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='$,\1#\2define\3' -ac_uC=' ' -ac_uD=',;t' - -for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - test x"$ac_file" != x- && { echo "$as_me:14797: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:14808: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:14821: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } - # Remove the trailing spaces. - sed 's/[ ]*$//' $ac_file_inputs >$tmp/in - -EOF - -# Transform confdefs.h into a list of #define's. We won't use it as a sed -# script, but as data to insert where we see @DEFS@. We expect AC_SAVE_DEFS to -# be either 'cat' or 'sort'. -cat confdefs.h | uniq >conftest.vals - -# Break up conftest.vals because some shells have a limit on -# the size of here documents, and old seds have small limits too. - -rm -f conftest.tail -echo ' rm -f conftest.frag' >> $CONFIG_STATUS -while grep . conftest.vals >/dev/null -do - # Write chunks of a limited-size here document to conftest.frag. - echo ' cat >> conftest.frag <> $CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS - echo 'CEOF' >> $CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail - rm -f conftest.vals - mv conftest.tail conftest.vals -done -rm -f conftest.vals - -# Run sed to substitute the contents of conftest.frag into $tmp/in at the -# marker @DEFS@. -echo ' cat >> conftest.edit < $tmp/out -rm -f $tmp/in -mv $tmp/out $tmp/in -rm -f conftest.edit conftest.frag -' >> $CONFIG_STATUS - -cat >>$CONFIG_STATUS <<\EOF - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated automatically by config.status. */ - if test x"$ac_file" = x-; then - echo "/* Generated automatically by configure. */" >$tmp/config.h - else - echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h - fi - cat $tmp/in >>$tmp/config.h - rm -f $tmp/in - if test x"$ac_file" != x-; then - if cmp -s $ac_file $tmp/config.h 2>/dev/null; then - { echo "$as_me:14879: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} - else - ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || mkdir "$as_incr_dir" - ;; - esac -done; } - - fi - rm -f $ac_file - mv $tmp/config.h $ac_file - fi - else - cat $tmp/config.h - rm -f $tmp/config.h - fi -done -EOF -cat >>$CONFIG_STATUS <<\EOF - -# -# CONFIG_COMMANDS section. -# -for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue - ac_dest=`echo "$ac_file" | sed 's,:.*,,'` - ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` - - case $ac_dest in - default ) - - case $cf_cv_system_name in - OS/2*) LIB_PREFIX='' ;; - os2*) LIB_PREFIX='' ;; - *) LIB_PREFIX='lib' ;; - esac -cf_prefix=$LIB_PREFIX - -for cf_dir in $SRC_SUBDIRS -do - if test -f $srcdir/$cf_dir/modules; then - - IMPORT_LIB= - SHARED_LIB= - LIBS_TO_MAKE= - for cf_item in $CF_LIST_MODELS - do - - case $cf_item in - libtool) cf_suffix='.la' ;; - normal) cf_suffix='.a' ;; - debug) cf_suffix='_g.a' ;; - profile) cf_suffix='_p.a' ;; - shared) - case $cf_cv_system_name in - cygwin*) cf_suffix='.dll' ;; - darwin*) cf_suffix='.dylib' ;; - hpux*) - case $target in - ia64*) cf_suffix='.so' ;; - *) cf_suffix='.sl' ;; - esac - ;; - *) cf_suffix='.so' ;; - esac - esac - test -n "$LIB_SUFFIX" && cf_suffix="${LIB_SUFFIX}${cf_suffix}" - - if test $cf_item = shared ; then - if test "$cf_cv_do_symlinks" = yes ; then - case "$cf_cv_shlib_version" in #(vi - rel) #(vi - case "$cf_cv_system_name" in #(vi - darwin*) - case .${LIB_SUFFIX} in - .w*) - cf_suffix=`echo $cf_suffix | sed 's/^w//'` - cf_suffix=w'.$(REL_VERSION)'"$cf_suffix" - ;; - *) - cf_suffix='.$(REL_VERSION)'"$cf_suffix" - ;; - esac - ;; #(vi - *) cf_suffix="$cf_suffix"'.$(REL_VERSION)' ;; - esac - ;; - abi) - case "$cf_cv_system_name" in #(vi - darwin*) - case .${LIB_SUFFIX} in - .w*) - cf_suffix=`echo $cf_suffix | sed 's/^w//'` - cf_suffix=w'.$(ABI_VERSION)'"$cf_suffix" - ;; - *) - cf_suffix='.$(ABI_VERSION)'"$cf_suffix" - ;; - esac - ;; #(vi - *) cf_suffix="$cf_suffix"'.$(ABI_VERSION)' ;; - esac - ;; - esac - fi - # cygwin needs import library, and has unique naming convention - # use autodetected ${cf_prefix} for import lib and static lib, but - # use 'cyg' prefix for shared lib. - if test $cf_cv_shlib_version = cygdll ; then - SHARED_LIB="../lib/cyg${cf_dir}\$(ABI_VERSION).dll" - IMPORT_LIB="../lib/${cf_prefix}${cf_dir}.dll.a" - LIBS_TO_MAKE="$LIBS_TO_MAKE \$(SHARED_LIB) \$(IMPORT_LIB)" - continue - fi - fi - LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}" - done - - if test $cf_dir = ncurses ; then - cf_subsets="$LIB_SUBSETS" - cf_termlib=`echo "$cf_subsets" |sed -e 's/ .*$//'` - if test "$cf_termlib" != "$cf_subsets" ; then - cf_item=`echo $LIBS_TO_MAKE |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g` - LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE" - fi - else - cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'` - fi - - sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \ - -e "s%@IMPORT_LIB@%$IMPORT_LIB%" \ - -e "s%@SHARED_LIB@%$SHARED_LIB%" \ - $cf_dir/Makefile >$cf_dir/Makefile.out - mv $cf_dir/Makefile.out $cf_dir/Makefile - - $AWK -f $srcdir/mk-0th.awk \ - libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \ - $srcdir/$cf_dir/modules >>$cf_dir/Makefile - - for cf_subset in $cf_subsets - do - cf_subdirs= - for cf_item in $CF_LIST_MODELS - do - echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})" - -cf_ITEM=`echo "$cf_item" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - case $cf_item in - libtool) cf_suffix='.la' ;; - normal) cf_suffix='.a' ;; - debug) cf_suffix='_g.a' ;; - profile) cf_suffix='_p.a' ;; - shared) - case $cf_cv_system_name in - cygwin*) cf_suffix='.dll' ;; - darwin*) cf_suffix='.dylib' ;; - hpux*) - case $target in - ia64*) cf_suffix='.so' ;; - *) cf_suffix='.sl' ;; - esac - ;; - *) cf_suffix='.so' ;; - esac - esac - test -n "$LIB_SUFFIX" && cf_suffix="${LIB_SUFFIX}${cf_suffix}" - - case $cf_item in - libtool) cf_subdir='obj_lo' ;; - normal) cf_subdir='objects' ;; - debug) cf_subdir='obj_g' ;; - profile) cf_subdir='obj_p' ;; - shared) - case $cf_cv_system_name in #(vi - cygwin) #(vi - cf_subdir='objects' ;; - *) - cf_subdir='obj_s' ;; - esac - esac - - # Test for case where we build libtinfo with a different name. - cf_libname=$cf_dir - if test $cf_dir = ncurses ; then - case $cf_subset in - *base*) - ;; - termlib*) - cf_libname=$TINFO_LIB_SUFFIX - if test -n "${DFT_ARG_SUFFIX}" ; then - # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX - cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"` - fi - ;; - esac - fi - - # These dependencies really are for development, not - # builds, but they are useful in porting, too. - cf_depend="../include/ncurses_cfg.h" - if test "$srcdir" = "."; then - cf_reldir="." - else - cf_reldir="\$(srcdir)" - fi - - if test -f $srcdir/$cf_dir/$cf_dir.priv.h; then - cf_depend="$cf_depend $cf_reldir/$cf_dir.priv.h" - elif test -f $srcdir/$cf_dir/curses.priv.h; then - cf_depend="$cf_depend $cf_reldir/curses.priv.h" - fi - - cf_dir_suffix= - old_cf_suffix="$cf_suffix" - if test "$cf_cv_shlib_version_infix" = yes ; then - if test -n "$LIB_SUFFIX" ; then - case $LIB_SUFFIX in - w*) - cf_libname=`echo $cf_libname | sed 's/w$//'` - cf_suffix=`echo $cf_suffix | sed 's/^w//'` - cf_dir_suffix=w - ;; - esac - fi - fi - - $AWK -f $srcdir/mk-1st.awk \ - name=${cf_libname}${cf_dir_suffix} \ - traces=$LIB_TRACING \ - MODEL=$cf_ITEM \ - model=$cf_subdir \ - prefix=$cf_prefix \ - suffix=$cf_suffix \ - subset=$cf_subset \ - ShlibVer=$cf_cv_shlib_version \ - ShlibVerInfix=$cf_cv_shlib_version_infix \ - DoLinks=$cf_cv_do_symlinks \ - rmSoLocs=$cf_cv_rm_so_locs \ - ldconfig="$LDCONFIG" \ - overwrite=$WITH_OVERWRITE \ - depend="$cf_depend" \ - host="$host" \ - $srcdir/$cf_dir/modules >>$cf_dir/Makefile - - cf_suffix="$old_cf_suffix" - - for cf_subdir2 in $cf_subdirs lib - do - test $cf_subdir = $cf_subdir2 && break - done - test "${cf_subset}.${cf_subdir2}" != "${cf_subset}.${cf_subdir}" && \ - $AWK -f $srcdir/mk-2nd.awk \ - name=$cf_dir \ - traces=$LIB_TRACING \ - MODEL=$cf_ITEM \ - model=$cf_subdir \ - subset=$cf_subset \ - srcdir=$srcdir \ - echo=$WITH_ECHO \ - crenames=$cf_cv_prog_CC_c_o \ - cxxrenames=$cf_cv_prog_CXX_c_o \ - $srcdir/$cf_dir/modules >>$cf_dir/Makefile - cf_subdirs="$cf_subdirs $cf_subdir" - done - done - fi - - echo ' cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) $@' >>Makefile -done - -for cf_dir in $SRC_SUBDIRS -do - if test -f $cf_dir/Makefile ; then - case "$cf_dir" in - Ada95) #(vi - echo 'libs \' >> Makefile - echo 'install.libs \' >> Makefile - echo 'uninstall.libs ::' >> Makefile - echo ' cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) $@' >> Makefile - ;; - esac - fi - - if test -f $srcdir/$cf_dir/modules; then - echo >> Makefile - if test -f $srcdir/$cf_dir/headers; then -cat >> Makefile <> Makefile -fi -cat >> Makefile <> Makefile <> Makefile <> Makefile <headers.sh <>headers.sh </<\$END\/\$NAME>/" >> \$TMPSED - done - ;; -*) - echo "" >> \$TMPSED - ;; -esac -CF_EOF -else - cat >>headers.sh <//" >> \$TMPSED - NAME=ncurses.h - fi - echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED - done - ;; -*) - echo "s///" >> \$TMPSED - ;; -esac -CF_EOF -fi -cat >>headers.sh < \$TMPSRC -NAME=\`basename \$SRC\` -CF_EOF -if test $WITH_CURSES_H != yes; then - cat >>headers.sh <>headers.sh <>$cf_dir/Makefile <>$cf_dir/Makefile - j=$i - done - echo " $j" >>$cf_dir/Makefile - for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"` - do - echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f `basename $i`) ; ../headers.sh \$(INSTALL_DATA) \$(DESTDIR)\$(includedir) \$(srcdir) $i" >>$cf_dir/Makefile - test $i = curses.h && test $WITH_CURSES_H = yes && echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h && \$(LN_S) curses.h ncurses.h)" >>$cf_dir/Makefile - done - - cat >>$cf_dir/Makefile <>$cf_dir/Makefile - test $i = curses.h && echo " -@ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h)" >>$cf_dir/Makefile - done - fi - - if test -f $srcdir/$cf_dir/modules; then - if test "$cf_dir" != "c++" ; then - cat >>$cf_dir/Makefile <<"CF_EOF" -depend : $(AUTO_SRC) - makedepend -- $(CPPFLAGS) -- $(C_SRC) - -# DO NOT DELETE THIS LINE -- make depend depends on it. -CF_EOF - fi - fi -done - - ;; - esac -done -EOF - -cat >>$CONFIG_STATUS <<\EOF - -{ (exit 0); exit 0; } -EOF -chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - exec 5>/dev/null - $SHELL $CONFIG_STATUS || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } -fi -${MAKE-make} preinstall diff --git a/src/libs/ncurses/configure.in b/src/libs/ncurses/configure.in deleted file mode 100644 index 10a189ce09..0000000000 --- a/src/libs/ncurses/configure.in +++ /dev/null @@ -1,1489 +0,0 @@ -dnl*************************************************************************** -dnl Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * -dnl * -dnl Permission is hereby granted, free of charge, to any person obtaining a * -dnl copy of this software and associated documentation files (the * -dnl "Software"), to deal in the Software without restriction, including * -dnl without limitation the rights to use, copy, modify, merge, publish, * -dnl distribute, distribute with modifications, sublicense, and/or sell * -dnl copies of the Software, and to permit persons to whom the Software is * -dnl furnished to do so, subject to the following conditions: * -dnl * -dnl The above copyright notice and this permission notice shall be included * -dnl in all copies or substantial portions of the Software. * -dnl * -dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -dnl * -dnl Except as contained in this notice, the name(s) of the above copyright * -dnl holders shall not be used in advertising or otherwise to promote the * -dnl sale, use or other dealings in this Software without prior written * -dnl authorization. * -dnl*************************************************************************** -dnl -dnl Author: Thomas E. Dickey 1995-on -dnl -dnl $Id: configure.in,v 1.351 2005/09/17 22:41:48 tom Exp $ -dnl Process this file with autoconf to produce a configure script. -dnl -dnl See http://invisible-island.net/autoconf/ for additional information. -dnl -dnl --------------------------------------------------------------------------- -AC_PREREQ(2.13.20020210) -AC_REVISION($Revision: 1.351 $) -AC_INIT(ncurses/base/lib_initscr.c) -AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin) - -CF_SUBST_NCURSES_VERSION - -CF_WITH_REL_VERSION(NCURSES) -CF_WITH_ABI_VERSION - -CF_CHECK_CACHE([AC_CANONICAL_SYSTEM]) -AC_ARG_WITH(system-type, -[ --with-system-type=XXX test: override derived host system-type], -[AC_MSG_WARN(overriding system type to $withval) - cf_cv_system_name=$withval]) - -### Save the given $CFLAGS to allow user-override. -cf_user_CFLAGS="$CFLAGS" - -### Default install-location -CF_CFG_DEFAULTS - -### Checks for programs. -AC_PROG_CC -CF_GCC_VERSION - -AC_PROG_CPP -AC_PROG_GCC_TRADITIONAL -CF_PROG_CC_C_O(CC) -AC_ISC_POSIX -CF_ANSI_CC_REQD -CF_PROG_EXT -CF_PROG_LDCONFIG - -dnl DEFECT in autoconf 2.12: an attempt to set policy, this breaks the -dnl configure script by not letting us test if C++ -dnl is present, making this option necessary. -AC_MSG_CHECKING(if you want to ensure bool is consistent with C++) -AC_ARG_WITH(cxx, - [ --without-cxx do not adjust ncurses bool to match C++], - [cf_with_cxx=$withval], - [cf_with_cxx=yes]) -AC_MSG_RESULT($cf_with_cxx) -if test "X$cf_with_cxx" = Xno ; then - CXX="" - GXX="" -else - # with autoconf 2.13, we can change the error to a warning: - pushdef([AC_MSG_ERROR], - [AC_MSG_RESULT(no) - AC_MSG_WARN([You don't have any C++ compiler, too bad]) - cf_with_cxx=no; CXX=""; GXX="";])dnl - AC_PROG_CXX - popdef([AC_MSG_ERROR])dnl - # autoconf 2.5x removed the error - by hardcoding it to g++. - if test "$CXX" = "g++" ; then - AC_PATH_PROG(CXX,g++) - fi - if test "$CXX" = "g++" ; then - AC_MSG_WARN(ignoring hardcoded g++) - cf_with_cxx=no; CXX=""; GXX=""; - fi -fi - -CF_GXX_VERSION -case $GXX_VERSION in -1*|2.[[0-6]]*) - GXX=""; CXX=""; ac_cv_prog_gxx=no - cf_cxx_library=no - AC_MSG_WARN(templates do not work) - ;; -esac - -AC_MSG_CHECKING(if you want to build C++ binding and demo) -AC_ARG_WITH(cxx-binding, - [ --without-cxx-binding do not build C++ binding and demo], - [cf_with_cxx_binding=$withval], - [cf_with_cxx_binding=$cf_with_cxx]) -AC_MSG_RESULT($cf_with_cxx_binding) - -AC_MSG_CHECKING(if you want to build with Ada95) -AC_ARG_WITH(ada, - [ --without-ada suppress check for Ada95, don't build demo], - [cf_with_ada=$withval], - [cf_with_ada=yes]) -AC_MSG_RESULT($cf_with_ada) - -AC_MSG_CHECKING(if you want to build programs such as tic) -AC_ARG_WITH(progs, - [ --without-progs suppress build with programs (e.g., tic)], - [cf_with_progs=$withval], - [cf_with_progs=yes]) -AC_MSG_RESULT($cf_with_progs) - -AC_MSG_CHECKING(if you wish to install curses.h) -AC_ARG_WITH(curses-h, - [ --without-curses-h install curses.h as ncurses.h only], - [with_curses_h=$withval], - [with_curses_h=yes]) -AC_MSG_RESULT($with_curses_h) - -modules_to_build="ncurses" -if test "X$cf_with_progs" != Xno ; then -modules_to_build="$modules_to_build progs tack" -fi -modules_to_build="$modules_to_build panel menu form" - -AC_ARG_PROGRAM -AC_PROG_AWK -AC_PROG_MAKE_SET -CF_PROG_INSTALL -AC_SYS_LONG_FILE_NAMES -CF_MIXEDCASE_FILENAMES -AC_PROG_LN_S -CF_MAKE_TAGS -AC_CHECK_PROGS(LINT, tdlint lint alint) -AC_CHECK_PROGS(MAN, man man_db) -AC_SUBST(LINT_OPTS) - -dnl These are standard among *NIX systems, but not when cross-compiling -AC_CHECK_TOOL(RANLIB, ranlib, ':') -AC_CHECK_TOOL(LD, ld, ld) -AC_CHECK_TOOL(AR, ar, ar) -CF_SUBST(archiver options,AR_OPTS,rv) - -CF_MAKEFLAGS - -dnl Special option for use by system-builders: the install-prefix is used to -dnl adjust the location into which the actual install is done, so that an -dnl archive can be built without modifying the host system's configuration. -AC_MSG_CHECKING(if you have specified an install-prefix) -AC_ARG_WITH(install-prefix, - [ --with-install-prefix prefixes actual install-location ($DESTDIR)], - [case "$withval" in #(vi - yes|no) #(vi - ;; - *) DESTDIR="$withval" - ;; - esac]) -AC_MSG_RESULT($DESTDIR) -AC_SUBST(DESTDIR) - -############################################################################### -CF_HELP_MESSAGE(Build-Tools Needed to Compile Temporary Applications for Cross-compiling:) -# If we're cross-compiling, allow the user to override the tools and their -# options. The configure script is oriented toward identifying the host -# compiler, etc., but we need a build compiler to generate parts of the source. -CF_BUILD_CC - -############################################################################### -CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:) - -### Options to allow the user to specify the set of libraries which are used. -### Use "--without-normal --with-shared" to allow the default model to be -### shared, for example. -cf_list_models="" -AC_SUBST(cf_list_models)dnl the complete list of models ("normal debug") - -CF_WITH_LIBTOOL -if test "$with_libtool" != "no" ; then - -cf_list_models="$cf_list_models libtool" - -else - -AC_MSG_CHECKING(if you want to build shared libraries) -AC_ARG_WITH(shared, - [ --with-shared generate shared-libraries], - [with_shared=$withval], - [with_shared=no]) -AC_MSG_RESULT($with_shared) -test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared" - -AC_MSG_CHECKING(if you want to build static libraries) -AC_ARG_WITH(normal, - [ --with-normal generate normal-libraries (default)], - [with_normal=$withval], - [with_normal=yes]) -AC_MSG_RESULT($with_normal) -test "$with_normal" = "yes" && cf_list_models="$cf_list_models normal" - -AC_MSG_CHECKING(if you want to build debug libraries) -AC_ARG_WITH(debug, - [ --with-debug generate debug-libraries (default)], - [with_debug=$withval], - [with_debug=yes]) -AC_MSG_RESULT($with_debug) -test "$with_debug" = "yes" && cf_list_models="$cf_list_models debug" - -AC_MSG_CHECKING(if you want to build profiling libraries) -AC_ARG_WITH(profile, - [ --with-profile generate profile-libraries], - [with_profile=$withval], - [with_profile=no]) -AC_MSG_RESULT($with_profile) -test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile" - -fi - -############################################################################### - -AC_MSG_CHECKING(for specified models) -test -z "$cf_list_models" && cf_list_models=normal -dnl If we use libtool to generate libraries, then it must be the only -dnl specified model. -test "$with_libtool" != "no" && cf_list_models=libtool -AC_MSG_RESULT($cf_list_models) - -### Use the first model as the default, and save its suffix for use in building -### up test-applications. -AC_MSG_CHECKING(for default model) -DFT_LWR_MODEL=`echo "$cf_list_models" | $AWK '{print $1}'` -AC_MSG_RESULT($DFT_LWR_MODEL) - -CF_UPPER(DFT_UPR_MODEL,$DFT_LWR_MODEL)dnl - -AC_SUBST(DFT_LWR_MODEL)dnl the default model ("normal") -AC_SUBST(DFT_UPR_MODEL)dnl the default model ("NORMAL") - -TINFO_NAME=tinfo -AC_SUBST(TINFO_NAME) - -LIB_NAME=ncurses -AC_SUBST(LIB_NAME) - -LIB_DIR=../lib -LIB_2ND=../../lib - -CF_LIB_PREFIX(cf_prefix) -LIB_PREFIX=$cf_prefix -AC_SUBST(LIB_PREFIX) - -LIB_SUFFIX= -AC_SUBST(LIB_SUFFIX) - -############################################################################### - -AC_MSG_CHECKING(if you want to build a separate terminfo library) -AC_ARG_WITH(termlib, - [ --with-termlib generate separate terminfo library], - [with_termlib=$withval], - [with_termlib=no]) -AC_MSG_RESULT($with_termlib) - -### Checks for special libraries, must be done up-front. -CF_WITH_DBMALLOC -CF_WITH_DMALLOC - -SHLIB_LIST="" -CF_WITH_GPM -if test "$with_gpm" = yes ; then - CF_FUNC_DLSYM - CF_LIB_SONAME([#include ],[if (Gpm_Open(0,0)) Gpm_Close();],gpm) - test "$cf_cv_gpm_soname" != "unknown" && AC_DEFINE_UNQUOTED(LIBGPM_SONAME,"$cf_cv_gpm_soname") - SHLIB_LIST="-ldl $SHLIB_LIST" - AC_DEFINE(HAVE_LIBGPM) - AC_CHECK_LIB(gpm,Gpm_Wgetch,[ - AC_MSG_WARN(GPM library is already linked with curses - read the FAQ) - ]) -fi - -CF_WITH_SYSMOUSE - -dnl Not all ports of gcc support the -g option - -if test X"$CC_G_OPT" = X"" ; then - CC_G_OPT='-g' - test -n "$GCC" && test "${ac_cv_prog_cc_g}" != yes && CC_G_OPT='' -fi -AC_SUBST(CC_G_OPT) - -if test X"$CXX_G_OPT" = X"" ; then - CXX_G_OPT='-g' - test -n "$GXX" && test "${ac_cv_prog_cxx_g}" != yes && CXX_G_OPT='' -fi -AC_SUBST(CXX_G_OPT) - -AC_MSG_CHECKING(for default loader flags) -case $DFT_LWR_MODEL in -libtool) LD_MODEL='' ;; -normal) LD_MODEL='' ;; -debug) LD_MODEL=$CC_G_OPT ;; -profile) LD_MODEL='-pg';; -shared) LD_MODEL='' ;; -esac -AC_SUBST(LD_MODEL)dnl the type of link (e.g., -g or -pg) -AC_MSG_RESULT($LD_MODEL) - -AC_MSG_CHECKING(if rpath option should be used) -AC_ARG_ENABLE(rpath, -[ --enable-rpath use rpath option when generating shared libraries], -[cf_cv_ld_rpath=$enableval], -[cf_cv_ld_rpath=no]) -AC_MSG_RESULT($cf_cv_ld_rpath) - -CF_SHARED_OPTS -if test "$CC_SHARED_OPTS" = "unknown"; then - for model in $cf_list_models; do - if test "$model" = "shared"; then - AC_ERROR(Shared libraries are not supported in this version) - fi - done -fi - -############################################################################### -CF_HELP_MESSAGE(Fine-Tuning Your Configuration:) - -### use option --disable-overwrite to leave out the link to -lcurses -AC_MSG_CHECKING(if you wish to install ncurses overwriting curses) -AC_ARG_ENABLE(overwrite, - [ --disable-overwrite leave out the link to -lcurses], - [with_overwrite=$enableval], - [if test "$prefix" = "/usr" ; then with_overwrite=yes; else with_overwrite=no; fi]) -AC_MSG_RESULT($with_overwrite) - -AC_MSG_CHECKING(if external terminfo-database is used) -AC_ARG_ENABLE(database, - [ --disable-database do not use terminfo, only fallbacks/termcap], - [use_database=$enableval], - [use_database=yes]) -AC_MSG_RESULT($use_database) - -case $host_os in #(vi -os2*) #(vi - TERMINFO_SRC='${top_srcdir}/misc/emx.src' - ;; -*) #(vi - TERMINFO_SRC='${top_srcdir}/misc/terminfo.src' - ;; -esac -AC_SUBST(TERMINFO_SRC) - -CF_PATHSEP -if test "$use_database" != no ; then - AC_DEFINE(USE_DATABASE) - AC_MSG_CHECKING(which terminfo source-file will be installed) - AC_ARG_ENABLE(database, - [ --with-database=XXX specify terminfo source to install], - [TERMINFO_SRC=$withval]) - AC_MSG_RESULT($TERMINFO_SRC) -fi - -AC_MSG_CHECKING(for list of fallback descriptions) -AC_ARG_WITH(fallbacks, - [ --with-fallbacks=XXX specify list of fallback terminal descriptions], - [with_fallback=$withval], - [with_fallback=]) -AC_MSG_RESULT($with_fallback) -FALLBACK_LIST=`echo "$with_fallback" | sed -e 's/,/ /g'` -AC_SUBST(FALLBACK_LIST) - -AC_MSG_CHECKING(if you want modern xterm or antique) -AC_ARG_WITH(xterm-new, - [ --without-xterm-new specify if xterm terminfo should be old version], - [with_xterm_new=$withval], - [with_xterm_new=yes]) -case $with_xterm_new in -no) with_xterm_new=xterm-old;; -*) with_xterm_new=xterm-new;; -esac -AC_MSG_RESULT($with_xterm_new) -WHICH_XTERM=$with_xterm_new -AC_SUBST(WHICH_XTERM) - -MAKE_TERMINFO= -if test "$use_database" = no ; then - TERMINFO="${datadir}/terminfo" - MAKE_TERMINFO="#" -else - -AC_MSG_CHECKING(for list of terminfo directories) -CF_WITH_PATHLIST(terminfo-dirs, - [ --with-terminfo-dirs=XXX specify list of terminfo directories], - TERMINFO_DIRS, - DATADIR/terminfo, - ${datadir}/terminfo) -AC_MSG_RESULT($TERMINFO_DIRS) -test -n "$TERMINFO_DIRS" && AC_DEFINE_UNQUOTED(TERMINFO_DIRS,"$TERMINFO_DIRS") - -AC_MSG_CHECKING(for default terminfo directory) -CF_WITH_PATH(default-terminfo-dir, - [ --with-default-terminfo-dir=DIR default terminfo directory], - TERMINFO, - DATADIR/terminfo, - ${datadir}/terminfo) -AC_MSG_RESULT($TERMINFO) -AC_DEFINE_UNQUOTED(TERMINFO,"$TERMINFO") - -fi - -AC_SUBST(TERMINFO) -AC_SUBST(MAKE_TERMINFO) - -### use option --disable-big-core to make tic run on small machines -### We need 4Mb, check if we can allocate 50% more than that. -AC_MSG_CHECKING(if big-core option selected) -AC_ARG_ENABLE(big-core, - [ --disable-big-core assume machine has little memory], - [with_big_core=$enableval], - [AC_TRY_RUN([ -#include -#include -int main() { - unsigned long n = 6000000L; - char *s = malloc(n); - if (s != 0) - s[0] = s[n-1] = 0; - exit(s == 0); -}], - [with_big_core=yes], - [with_big_core=no], - [with_big_core=no])]) -AC_MSG_RESULT($with_big_core) -test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE) - -### use option --enable-termcap to compile in the termcap fallback support -AC_MSG_CHECKING(if you want termcap-fallback support) -AC_ARG_ENABLE(termcap, - [ --enable-termcap compile in termcap fallback support], - [with_termcap=$enableval], - [with_termcap=no]) -AC_MSG_RESULT($with_termcap) - -if test "$with_termcap" != "yes" ; then - if test "$use_database" = no ; then - if test -z "$with_fallback" ; then - AC_ERROR(You have disabled the database w/o specifying fallbacks) - fi - fi - AC_DEFINE(PURE_TERMINFO) -else - -AC_DEFINE(USE_TERMCAP) -AC_MSG_CHECKING(for list of termcap files) -CF_WITH_PATHLIST(termpath, - [ --with-termpath=XXX specify list of termcap files], - TERMPATH, - /etc/termcap:/usr/share/misc/termcap) -AC_MSG_RESULT($TERMPATH) -test -n "$TERMPATH" && AC_DEFINE_UNQUOTED(TERMPATH,"$TERMPATH") - -### use option --enable-getcap to use a hacked getcap for reading termcaps -AC_MSG_CHECKING(if fast termcap-loader is needed) -AC_ARG_ENABLE(getcap, - [ --enable-getcap fast termcap load, no xrefs to terminfo], - [with_getcap=$enableval], - [with_getcap=no]) -AC_MSG_RESULT($with_getcap) -test "$with_getcap" = "yes" && AC_DEFINE(USE_GETCAP) - -AC_MSG_CHECKING(if translated termcaps will be cached in ~/.terminfo) -AC_ARG_ENABLE(getcap-cache, - [ --enable-getcap-cache cache translated termcaps in ~/.terminfo], - [with_getcap_cache=$enableval], - [with_getcap_cache=no]) -AC_MSG_RESULT($with_getcap_cache) -test "$with_getcap_cache" = "yes" && AC_DEFINE(USE_GETCAP_CACHE) - -fi - -### Use option --disable-home-terminfo to completely remove ~/.terminfo -AC_MSG_CHECKING(if ~/.terminfo is wanted) -AC_ARG_ENABLE(home-terminfo, - [ --disable-home-terminfo drop ~/.terminfo from terminfo search-path], - [with_home_terminfo=$enableval], - [with_home_terminfo=yes]) -AC_MSG_RESULT($with_home_terminfo) -test "$with_home_terminfo" = "yes" && AC_DEFINE(USE_HOME_TERMINFO) - -AC_MSG_CHECKING(if you want to use restrict environment when running as root) -AC_ARG_ENABLE(root-environ, - [ --disable-root-environ limit environment when running as root], - [with_root_environ=$enableval], - [with_root_environ=yes]) -AC_MSG_RESULT($with_root_environ) -test "$with_root_environ" = yes && AC_DEFINE(USE_ROOT_ENVIRON) - -### Use option --enable-symlinks to make tic use symlinks, not hard links -### to reduce storage requirements for the terminfo database. -CF_LINK_FUNCS - -with_links=no -with_symlinks=no - -if test "$ac_cv_func_link" != yes ; then - AC_MSG_CHECKING(if tic should use symbolic links) - if test "$ac_cv_func_symlink" = yes ; then - with_symlinks=yes - else - with_symlinks=no - fi - AC_MSG_RESULT($with_symlinks) -elif test "$ac_cv_func_symlink" != yes ; then - AC_MSG_CHECKING(if tic should use hard links) - if test "$ac_cv_func_link" = yes ; then - with_links=yes - else - with_links=no - fi - AC_MSG_RESULT($with_links) -else - AC_MSG_CHECKING(if tic should use symbolic links) - AC_ARG_ENABLE(symlinks, - [ --enable-symlinks make tic use symbolic links not hard links], - [with_symlinks=$enableval], - [with_symlinks=no]) - AC_MSG_RESULT($with_symlinks) -fi - -test "$with_links" = yes && AC_DEFINE(USE_LINKS) -test "$with_symlinks" = yes && AC_DEFINE(USE_SYMLINKS) - -### use option --enable-broken-linker to force on use of broken-linker support -AC_MSG_CHECKING(if you want broken-linker support code) -AC_ARG_ENABLE(broken_linker, - [ --enable-broken_linker compile with broken-linker support code], - [with_broken_linker=$enableval], - [with_broken_linker=${BROKEN_LINKER-no}]) -AC_MSG_RESULT($with_broken_linker) - -BROKEN_LINKER=0 -if test "$with_broken_linker" = yes ; then - AC_DEFINE(BROKEN_LINKER) - BROKEN_LINKER=1 -elif test "$DFT_LWR_MODEL" = shared ; then - case $cf_cv_system_name in #(vi - cygwin*) - AC_DEFINE(BROKEN_LINKER) - BROKEN_LINKER=1 - CF_VERBOSE(cygwin linker is broken anyway) - ;; - esac -fi -AC_SUBST(BROKEN_LINKER) - -### use option --enable-widec to turn on use of wide-character support -NCURSES_CH_T=chtype -NCURSES_LIBUTF8=0 - -NEED_WCHAR_H=0 -NCURSES_MBSTATE_T=0 -NCURSES_WCHAR_T=0 -NCURSES_WINT_T=0 - -# Check to define _XOPEN_SOURCE "automatically" -CF_XOPEN_SOURCE - -# Checks for CODESET support. -AM_LANGINFO_CODESET - -# use these variables to work around a defect in gcc's fixincludes. -NCURSES_OK_WCHAR_T= -NCURSES_OK_WINT_T= - -AC_MSG_CHECKING(if you want wide-character code) -AC_ARG_ENABLE(widec, - [ --enable-widec compile with wide-char/UTF-8 code], - [with_widec=$enableval], - [with_widec=no]) -AC_MSG_RESULT($with_widec) -if test "$with_widec" = yes ; then - LIB_SUFFIX="w${LIB_SUFFIX}" - AC_DEFINE(USE_WIDEC_SUPPORT) - CF_PREDEFINE(_XOPEN_SOURCE_EXTENDED) - # with_overwrite=no - NCURSES_CH_T=cchar_t - AC_CHECK_FUNCS(putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc) - if test "$ac_cv_func_putwc" != yes ; then - CF_LIBUTF8 - if test "$cf_cv_libutf8" = yes ; then - NCURSES_LIBUTF8=1 - fi - fi - CF_WCHAR_TYPE(mbstate_t, NCURSES_MBSTATE_T) - CF_WCHAR_TYPE(wchar_t, NCURSES_WCHAR_T, NCURSES_OK_WCHAR_T) - CF_WCHAR_TYPE(wint_t, NCURSES_WINT_T, NCURSES_OK_WINT_T) - - if test "$NCURSES_MBSTATE_T" != 0; then - AC_DEFINE(NEED_MBSTATE_T_DEF) - fi -fi -AC_SUBST(NCURSES_CH_T) -AC_SUBST(NCURSES_LIBUTF8) - -AC_SUBST(NEED_WCHAR_H) -AC_SUBST(NCURSES_MBSTATE_T) -AC_SUBST(NCURSES_WCHAR_T) -AC_SUBST(NCURSES_WINT_T) - -AC_SUBST(NCURSES_OK_WCHAR_T) -AC_SUBST(NCURSES_OK_WINT_T) - -### use option --disable-lp64 to allow long chtype -case $cf_cv_abi_version in -[[345]]*) - default_with_lp64=no - ;; -*) - default_with_lp64=yes - ;; -esac - -AC_MSG_CHECKING(whether to enable _LP64 definition in curses.h) -AC_ARG_ENABLE(lp64, - [ --disable-lp64 allow chtype to be long (ignore _LP64)], - [with_lp64=$enableval], - [with_lp64=$default_with_lp64]) -AC_MSG_RESULT($with_lp64) - -if test "$with_lp64" = yes ; then - cf_cv_enable_lp64=1 -else - cf_cv_enable_lp64=0 -fi -AC_SUBST(cf_cv_enable_lp64) - -CF_LARGEFILE - -### use option --with-bool to override bool's type -AC_MSG_CHECKING(for type of bool) -AC_ARG_WITH(bool, - [ --with-bool=TYPE override fallback type of bool variable], - [NCURSES_BOOL="$withval"], - [NCURSES_BOOL=auto]) -AC_MSG_RESULT($NCURSES_BOOL) -AC_SUBST(NCURSES_BOOL) - -AC_MSG_CHECKING(for alternate terminal capabilities file) -AC_ARG_WITH(caps, - [ --with-caps=alt compile with alternate Caps file], - [TERMINFO_CAPS=Caps.$withval], - [TERMINFO_CAPS=Caps]) -test -f ${srcdir}/include/${TERMINFO_CAPS} || TERMINFO_CAPS=Caps -AC_MSG_RESULT($TERMINFO_CAPS) -AC_SUBST(TERMINFO_CAPS) - -### use option --with-chtype to override chtype's type -AC_MSG_CHECKING(for type of chtype) -AC_ARG_WITH(chtype, - [ --with-chtype=TYPE override type of chtype], - [NCURSES_CHTYPE="$withval"], - [NCURSES_CHTYPE=auto]) -AC_MSG_RESULT($NCURSES_CHTYPE) - -### use option --with-ospeed to override ospeed's type -AC_MSG_CHECKING(for type of ospeed) -AC_ARG_WITH(ospeed, - [ --with-ospeed=TYPE override type of ospeed variable], - [NCURSES_OSPEED="$withval"], - [NCURSES_OSPEED=short]) -AC_MSG_RESULT($NCURSES_OSPEED) -AC_SUBST(NCURSES_OSPEED) - -### use option --with-mmask-t to override mmask_t's type -AC_MSG_CHECKING(for type of mmask_t) -AC_ARG_WITH(mmask-t, - [ --with-mmask-t=TYPE override type of mmask_t], - [NCURSES_MMASK_T="$withval"], - [NCURSES_MMASK_T=auto]) -AC_MSG_RESULT($NCURSES_MMASK_T) - -### use option --enable-bsdpad to have tputs process BSD-style prefix padding -AC_MSG_CHECKING(if tputs should process BSD-style prefix padding) -AC_ARG_ENABLE(bsdpad, - [ --enable-bsdpad recognize BSD-style prefix padding], - [with_bsdpad=$enableval], - [with_bsdpad=no]) -AC_MSG_RESULT($with_bsdpad) -test "$with_bsdpad" = yes && AC_DEFINE(BSD_TPUTS) - -### Enable compiling-in rcs id's -AC_MSG_CHECKING(if RCS identifiers should be compiled-in) -AC_ARG_WITH(rcs-ids, - [ --with-rcs-ids compile-in RCS identifiers], - [with_rcs_ids=$withval], - [with_rcs_ids=no]) -AC_MSG_RESULT($with_rcs_ids) -test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS) - -############################################################################### -CF_MAN_PAGES([ captoinfo clear infocmp infotocap tic toe tput ]) - -############################################################################### -CF_HELP_MESSAGE(Extensions:) - -### Note that some functions (such as const) are normally disabled anyway. -AC_MSG_CHECKING(if you want to build with function extensions) -AC_ARG_ENABLE(ext-funcs, - [ --disable-ext-funcs disable function-extensions], - [with_ext_funcs=$enableval], - [with_ext_funcs=yes]) -AC_MSG_RESULT($with_ext_funcs) -if test "$with_ext_funcs" = yes ; then - NCURSES_EXT_FUNCS=1 - AC_DEFINE(HAVE_CURSES_VERSION) - AC_DEFINE(HAVE_HAS_KEY) - AC_DEFINE(HAVE_RESIZETERM) - AC_DEFINE(HAVE_RESIZE_TERM) - AC_DEFINE(HAVE_USE_DEFAULT_COLORS) - AC_DEFINE(HAVE_WRESIZE) - AC_DEFINE(NCURSES_EXT_FUNCS) -else - NCURSES_EXT_FUNCS=0 -fi -AC_SUBST(NCURSES_EXT_FUNCS) - -### use option --enable-const to turn on use of const beyond that in XSI. -AC_MSG_CHECKING(for extended use of const keyword) -AC_ARG_ENABLE(const, - [ --enable-const compile with extra/non-standard const], - [with_ext_const=$enableval], - [with_ext_const=no]) -AC_MSG_RESULT($with_ext_const) -NCURSES_CONST='/*nothing*/' -if test "$with_ext_const" = yes ; then - NCURSES_CONST=const -fi -AC_SUBST(NCURSES_CONST) - -AC_MSG_CHECKING(if you want \$NCURSES_NO_PADDING code) -AC_ARG_ENABLE(no-padding, - [ --enable-no-padding compile with $NCURSES_NO_PADDING code], - [with_no_padding=$enableval], - [with_no_padding=$with_ext_funcs]) -AC_MSG_RESULT($with_no_padding) -test "$with_no_padding" = yes && AC_DEFINE(NCURSES_NO_PADDING) - -### use option --enable-sigwinch to turn on use of SIGWINCH logic -AC_MSG_CHECKING(if you want SIGWINCH handler) -AC_ARG_ENABLE(sigwinch, - [ --enable-sigwinch compile with SIGWINCH handler], - [with_sigwinch=$enableval], - [with_sigwinch=$with_ext_funcs]) -AC_MSG_RESULT($with_sigwinch) -test "$with_sigwinch" = yes && AC_DEFINE(USE_SIGWINCH) - -### use option --enable-tcap-names to allow user to define new capabilities -AC_MSG_CHECKING(if you want user-definable terminal capabilities like termcap) -AC_ARG_ENABLE(tcap-names, - [ --enable-tcap-names compile with user-definable terminal capabilities], - [with_tcap_names=$enableval], - [with_tcap_names=$with_ext_funcs]) -AC_MSG_RESULT($with_tcap_names) -NCURSES_XNAMES=0 -test "$with_tcap_names" = yes && NCURSES_XNAMES=1 -AC_SUBST(NCURSES_XNAMES) - -############################################################################### -# These options are relatively safe to experiment with. -CF_HELP_MESSAGE(Development Code:) -AC_MSG_CHECKING(if you want all development code) -AC_ARG_WITH(develop, - [ --with-develop enable all development options], - [with_develop=$withval], - [with_develop=no]) -AC_MSG_RESULT($with_develop) - -### use option --enable-hard-tabs to turn on use of hard-tabs optimize -AC_MSG_CHECKING(if you want hard-tabs code) -AC_ARG_ENABLE(hard-tabs, - [ --enable-hard-tabs compile with hard-tabs code], - [with_hardtabs=$enableval], - [with_hardtabs=$with_develop]) -AC_MSG_RESULT($with_hardtabs) -test "$with_hardtabs" = yes && AC_DEFINE(USE_HARD_TABS) - -### use option --enable-xmc-glitch to turn on use of magic-cookie optimize -AC_MSG_CHECKING(if you want limited support for xmc) -AC_ARG_ENABLE(xmc-glitch, - [ --enable-xmc-glitch compile with limited support for xmc], - [with_xmc_glitch=$enableval], - [with_xmc_glitch=$with_develop]) -AC_MSG_RESULT($with_xmc_glitch) -test "$with_xmc_glitch" = yes && AC_DEFINE(USE_XMC_SUPPORT) - -############################################################################### -# These are just experimental, probably should not be in a package: -CF_HELP_MESSAGE(Experimental Code:) - -AC_MSG_CHECKING(if you do not want to assume colors are white-on-black) -AC_ARG_ENABLE(assumed-color, - [ --disable-assumed-color do not assume anything about default-colors], - [with_assumed_color=$enableval], - [with_assumed_color=yes]) -AC_MSG_RESULT($with_assumed_color) -test "$with_assumed_color" = yes && AC_DEFINE(USE_ASSUMED_COLOR) - -### use option --enable-hashmap to turn on use of hashmap scrolling logic -AC_MSG_CHECKING(if you want hashmap scrolling-optimization code) -AC_ARG_ENABLE(hashmap, - [ --disable-hashmap compile without hashmap scrolling-optimization], - [with_hashmap=$enableval], - [with_hashmap=yes]) -AC_MSG_RESULT($with_hashmap) -test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP) - -### use option --enable-colorfgbg to turn on use of $COLORFGBG environment -AC_MSG_CHECKING(if you want colorfgbg code) -AC_ARG_ENABLE(colorfgbg, - [ --enable-colorfgbg compile with $COLORFGBG code], - [with_colorfgbg=$enableval], - [with_colorfgbg=no]) -AC_MSG_RESULT($with_colorfgbg) -test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG) - -### use option --enable-ext-colors to turn on use of colors beyond 16. -AC_MSG_CHECKING(if you want to use experimental extended colors) -AC_ARG_ENABLE(ext-colors, - [ --enable-ext-colors compile for experimental 256-color support], - [with_ext_colors=$enableval], - [with_ext_colors=no]) -AC_MSG_RESULT($with_ext_colors) -NCURSES_EXT_COLORS=0 -if test "$with_ext_colors" = yes ; then - if test "$with_widec" != yes ; then - AC_MSG_WARN(This option applies only to wide-character library) - else - # cannot be ABI 5 since it changes sizeof(cchar_t) - CF_NCURSES_ABI_6 - fi - NCURSES_EXT_COLORS=1 - AC_DEFINE(NCURSES_EXT_COLORS) -fi -AC_SUBST(NCURSES_EXT_COLORS) - -### use option --enable-ext-mouse to modify coding to support 5-button mice -AC_MSG_CHECKING(if you want to use experimental extended mouse encoding) -AC_ARG_ENABLE(ext-mouse, - [ --enable-ext-mouse compile for experimental mouse-encoding], - [with_ext_mouse=$enableval], - [with_ext_mouse=no]) -AC_MSG_RESULT($with_ext_mouse) -NCURSES_MOUSE_VERSION=1 -if test "$with_ext_mouse" = yes ; then - NCURSES_MOUSE_VERSION=2 - CF_NCURSES_ABI_6 -fi -AC_SUBST(NCURSES_MOUSE_VERSION) - -AC_MSG_CHECKING(if you want experimental safe-sprintf code) -AC_ARG_ENABLE(safe-sprintf, - [ --enable-safe-sprintf compile with experimental safe-sprintf code], - [with_safe_sprintf=$enableval], - [with_safe_sprintf=no]) -AC_MSG_RESULT($with_safe_sprintf) -test "$with_safe_sprintf" = yes && AC_DEFINE(USE_SAFE_SPRINTF) - -### use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic -# when hashmap is used scroll hints are useless -if test "$with_hashmap" = no ; then -AC_MSG_CHECKING(if you want to experiment without scrolling-hints code) -AC_ARG_ENABLE(scroll-hints, - [ --disable-scroll-hints compile without scroll-hints code], - [with_scroll_hints=$enableval], - [with_scroll_hints=yes]) -AC_MSG_RESULT($with_scroll_hints) -test "$with_scroll_hints" = yes && AC_DEFINE(USE_SCROLL_HINTS) -fi - -############################################################################### -CF_HELP_MESSAGE(Testing/development Options:) - -### use option --disable-echo to suppress full display compiling commands -AC_MSG_CHECKING(if you want to display full commands during build) -AC_ARG_ENABLE(echo, - [ --enable-echo build: display "compiling" commands (default)], - [with_echo=$enableval], - [with_echo=yes]) -if test "$with_echo" = yes; then - ECHO_LINK= -else - ECHO_LINK='@ echo linking $@ ... ;' - test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent" -fi -AC_MSG_RESULT($with_echo) -AC_SUBST(ECHO_LINK) - -### use option --enable-warnings to turn on all gcc warnings -AC_MSG_CHECKING(if you want to see compiler warnings) -AC_ARG_ENABLE(warnings, - [ --enable-warnings build: turn on GCC compiler warnings], - [with_warnings=$enableval]) -AC_MSG_RESULT($with_warnings) - -if test -n "$with_warnings"; then - ADAFLAGS="$ADAFLAGS -gnatg" - CF_GCC_WARNINGS - if test "$cf_with_cxx" = yes ; then - CF_GXX_WARNINGS(Wno-unused) - fi -fi -CF_GCC_ATTRIBUTES - -### use option --enable-assertions to turn on generation of assertion code -AC_MSG_CHECKING(if you want to enable runtime assertions) -AC_ARG_ENABLE(assertions, - [ --enable-assertions test: turn on generation of assertion code], - [with_assertions=$enableval], - [with_assertions=no]) -AC_MSG_RESULT($with_assertions) -if test -n "$GCC" -then - if test "$with_assertions" = no - then - AC_DEFINE(NDEBUG) - CPPFLAGS="$CPPFLAGS -DNDEBUG" - else - ADAFLAGS="$ADAFLAGS -gnata" - fi -fi - -### use option --disable-leaks to suppress "permanent" leaks, for testing -AC_ARG_ENABLE(leaks, - [ --disable-leaks test: suppress permanent memory-leaks], - [test "$enableval" = no && AC_DEFINE(NO_LEAKS)]) -AC_DEFINE(HAVE_NC_ALLOC_H) - -### use option --enable-expanded to generate certain macros as functions -AC_ARG_ENABLE(expanded, - [ --enable-expanded test: generate functions for certain macros], - [test "$enableval" = yes && AC_DEFINE(NCURSES_EXPANDED)]) - -### use option --disable-macros to suppress macros in favor of functions -AC_ARG_ENABLE(macros, - [ --disable-macros test: use functions rather than macros], - [test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS)]) - -# Normally we only add trace() to the debug-library. Allow this to be -# extended to all models of the ncurses library: -cf_all_traces=no -case "$CFLAGS $CPPFLAGS" in -*-DTRACE*) - cf_all_traces=yes - ;; -esac - -AC_MSG_CHECKING(whether to add trace feature to all models) -AC_ARG_WITH(trace, -[ --with-trace test: add trace() function to all models of ncurses], -[cf_with_trace=$withval], -[cf_with_trace=$cf_all_traces]) -AC_MSG_RESULT($cf_with_trace) - -if test "$cf_with_trace" = yes ; then - LIB_TRACING=all - ADA_TRACE=TRUE - CF_ADD_CFLAGS(-DTRACE) -else - LIB_TRACING=DEBUG - ADA_TRACE=FALSE -fi - -AC_SUBST(ADA_TRACE) - -### Checks for libraries. -AC_CHECK_FUNC(gettimeofday, - AC_DEFINE(HAVE_GETTIMEOFDAY),[ - -AC_CHECK_LIB(bsd, gettimeofday, - AC_DEFINE(HAVE_GETTIMEOFDAY) - LIBS="$LIBS -lbsd")])dnl CLIX: bzero, select, gettimeofday - -CF_MATH_LIB(MATH_LIB,sin(x)) -AC_SUBST(MATH_LIB) - -### Checks for header files. -AC_STDC_HEADERS -AC_HEADER_DIRENT -AC_HEADER_TIME -CF_REGEX - -dnl These are some other potentially nonportable headers. -AC_CHECK_HEADERS( \ -fcntl.h \ -getopt.h \ -limits.h \ -locale.h \ -poll.h \ -sys/bsdtypes.h \ -sys/ioctl.h \ -sys/param.h \ -sys/poll.h \ -sys/select.h \ -sys/time.h \ -sys/times.h \ -ttyent.h \ -unistd.h \ -wctype.h \ -) - -# check for ISC (this may also define _POSIX_SOURCE) -# Note: even non-Posix ISC needs to declare fd_set -if test "$ISC" = yes ; then - AC_CHECK_LIB(cposix,main) - AC_CHECK_LIB(inet,bzero,LIBS="$LIBS -linet")dnl also 'select()' -fi - -CF_SYS_TIME_SELECT - -### checks for compiler characteristics -AC_LANG_C -AC_C_CONST -AC_C_INLINE -test "$ac_cv_c_inline" != no && AC_DEFINE(CC_HAS_INLINE_FUNCS) - -if test $NCURSES_CHTYPE = auto ; then - CF_TYPEOF_CHTYPE -else - cf_cv_typeof_chtype=$NCURSES_CHTYPE -fi -AC_SUBST(cf_cv_typeof_chtype) - -CF_UNSIGNED_LITERALS -cf_cv_1UL="1" -test "$cf_cv_unsigned_literals" = yes && cf_cv_1UL="${cf_cv_1UL}U" -test "$cf_cv_typeof_chtype" = long && cf_cv_1UL="${cf_cv_1UL}L" -AC_SUBST(cf_cv_1UL) - -if test $NCURSES_MMASK_T = auto ; then - cf_cv_typeof_mmask_t=long -else - cf_cv_typeof_mmask_t=$NCURSES_MMASK_T -fi -AC_SUBST(cf_cv_typeof_mmask_t) - -### Checks for external-data -CF_ERRNO -CF_LINK_DATAONLY - -### Checks for library functions. -AC_CHECK_FUNCS( \ -getcwd \ -getegid \ -geteuid \ -getttynam \ -issetugid \ -poll \ -remove \ -select \ -setbuf \ -setbuffer \ -setvbuf \ -sigaction \ -sigvec \ -strdup \ -strstr \ -tcgetpgrp \ -times \ -vsnprintf \ -) -if test "$with_getcap" = "yes" ; then - CF_CGETENT -fi - -CF_ISASCII -CF_STRUCT_SIGACTION -CF_FUNC_NANOSLEEP -CF_FUNC_TERMIOS -CF_FUNC_VSSCANF -CF_MKSTEMP - -# setup for prototype of fallback for vsscanf() -if test "$cf_cv_func_vsscanf" = vsscanf ; then - HAVE_VSSCANF=1 -else - HAVE_VSSCANF=0 -fi -AC_SUBST(HAVE_VSSCANF) - -dnl FIXME (may need this) AC_SYS_RESTARTABLE_SYSCALLS -if test "$cross_compiling" = yes ; then - AC_MSG_WARN(cross compiling: assume setvbuf params not reversed) -else - AC_FUNC_SETVBUF_REVERSED -fi -AC_TYPE_SIGNAL -CF_TYPE_SIGACTION -CF_SIZECHANGE -CF_FUNC_MEMMOVE -CF_FUNC_POLL - -dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS -if test -z "$cf_user_CFLAGS" ; then - CF_STRIP_G_OPT(CFLAGS) - CF_STRIP_G_OPT(CXXFLAGS) -fi - -# Just in case, check if the C compiler has a bool type. -CF_BOOL_DECL(cf_cv_cc_bool_type) - -# Check for C++ compiler characteristics (and ensure that it's there!) -if test -n "$CXX" ; then - AC_LANG_CPLUSPLUS - CF_STDCPP_LIBRARY - CF_PROG_CC_C_O(CXX) - - case $GXX_VERSION in - 1*|2.[0-6]*) - cf_cxx_library=yes - ;; - *-2.7*|2.7*) - CF_GPP_LIBRARY - ;; - *) - cf_cxx_library=no - ;; - esac - - AC_CHECK_HEADERS(typeinfo) - - CF_BOOL_DECL - CF_BOOL_SIZE - CF_ETIP_DEFINES - CF_CPP_PARAM_INIT - CF_CPP_STATIC_CAST - CF_CPP_VSCAN_FUNC - - CXX_AR='$(AR)' - CXX_AR_OPTS='$(AR_OPTS)' - case $cf_cv_system_name in #(vi - irix*) #(vi - if test "$GXX" != yes ; then - CXX_AR='$(CXX)' - CXX_AR_OPTS='-ar -o' - fi - ;; - sco3.2v5*) #(vi - CXXLDFLAGS="-u main" - ;; - solaris2*) - if test "$GXX" != yes ; then - CXX_AR='$(CXX)' - CXX_AR_OPTS='-xar -o' - fi - ;; - esac - AC_SUBST(CXXLDFLAGS) - AC_SUBST(CXX_AR) - AC_SUBST(CXX_AR_OPTS) -else - cf_cxx_library=no - cf_cv_builtin_bool=1 - - # Just because we are not configuring against C++ right now does not - # mean that a user will not want to use C++. Some distributors disable - # the C++ portion of this configuration as a shortcut (or just to avoid - # compiling the demo in the c++ directory). So we need a reasonable - # default for the 'bool' type. - # - # Caveat: since the storage of the bool type is not standardized, it - # may change. - - if test "$NCURSES_BOOL" != auto ; then - cf_cv_type_of_bool=$NCURSES_AUTO - else - if test "$cf_cv_header_stdbool_h" = 1 ; then - CF_BOOL_SIZE - else - AC_MSG_CHECKING(for fallback type of bool) - case "$host_cpu" in #(vi - i?86) cf_cv_type_of_bool=char ;; #(vi - *) cf_cv_type_of_bool=int ;; - esac - AC_MSG_RESULT($cf_cv_type_of_bool) - fi - fi -fi -AC_SUBST(CXXLIBS) - -# If the C compiler did not declare bool, and we did not determine that the C++ -# compiler does not declare bool, turn on an ifdef in curses.h that makes the -# ncurses library use the same type as C++ bool. Note that this allows one to -# specify the type of bool in a configure-script option and postpone -# integration with the C++ compiler provided that the types are compatible. -USE_CXX_BOOL=1 -if test $cf_cv_cc_bool_type = 1 -then - # oops: C has a bool. Unlikely, but C++ could differ. - USE_CXX_BOOL=0 -elif test $cf_cv_builtin_bool = 0 -then - # C++ has no bool - USE_CXX_BOOL=0 -else - # this is the normal case - USE_CXX_BOOL='defined(__cplusplus)' -fi -AC_SUBST(USE_CXX_BOOL) - -CF_HELP_MESSAGE(Ada95 Binding Options:) - -dnl Check for availability of GNU Ada Translator (GNAT). -dnl At the moment we support no other Ada95 compiler. -if test "$cf_with_ada" != "no" ; then -cf_ada_make=gnatmake -AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no) -if test "$ac_cv_prog_gnat_exists" = no; then - cf_ada_make= -else - CF_GNAT_VERSION - AC_CHECK_PROG(M4_exists, m4, yes, no) - if test "$ac_cv_prog_M4_exists" = no; then - cf_cv_prog_gnat_correct=no - echo Ada95 binding required program m4 not found. Ada95 binding disabled. - fi - if test "$cf_cv_prog_gnat_correct" = yes; then - AC_MSG_CHECKING(if GNAT works) - CF_GNAT_TRY_RUN([procedure conftest;], -[with Text_IO; -with GNAT.OS_Lib; -procedure conftest is -begin - Text_IO.Put ("Hello World"); - Text_IO.New_Line; - GNAT.OS_Lib.OS_Exit (0); -end conftest;],[cf_cv_prog_gnat_correct=yes],[cf_cv_prog_gnat_correct=no]) - AC_MSG_RESULT($cf_cv_prog_gnat_correct) - fi -fi -if test "$cf_cv_prog_gnat_correct" = yes; then - ADAFLAGS="-O3 -gnatpn $ADAFLAGS" - - AC_MSG_CHECKING(if GNAT pragma Unreferenced works) - CF_GNAT_TRY_LINK([procedure conftest;], -[with Text_IO; -with GNAT.OS_Lib; -procedure conftest is - test : Integer; - pragma Unreferenced (test); -begin - test := 1; - Text_IO.Put ("Hello World"); - Text_IO.New_Line; - GNAT.OS_Lib.OS_Exit (0); -end conftest;],[cf_cv_pragma_unreferenced=yes],[cf_cv_pragma_unreferenced=no]) - AC_MSG_RESULT($cf_cv_pragma_unreferenced) - - # if the pragma is supported, use it (needed in the Trace code). - if test $cf_cv_pragma_unreferenced = yes ; then - PRAGMA_UNREF=TRUE - else - PRAGMA_UNREF=FALSE - fi - - AC_ARG_WITH(ada-compiler, - [ --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)], - [cf_ada_compiler=$withval], - [cf_ada_compiler=gnatmake]) - - cf_ada_package=terminal_interface - - AC_SUBST(cf_ada_make) - AC_SUBST(cf_ada_compiler) - AC_SUBST(cf_ada_package) - AC_SUBST(ADAFLAGS) - AC_SUBST(cf_compile_generics) - AC_SUBST(cf_generic_objects) - AC_SUBST(PRAGMA_UNREF) - - CF_WITH_PATH(ada-include, - [ --with-ada-include=DIR Ada includes are in DIR], - ADA_INCLUDE, - PREFIX/lib/ada/adainclude, - [$]prefix/lib/ada/adainclude) - AC_SUBST(ADA_INCLUDE) - - CF_WITH_PATH(ada-objects, - [ --with-ada-objects=DIR Ada objects are in DIR], - ADA_OBJECTS, - PREFIX/lib/ada/adalib, - [$]prefix/lib/ada/adalib) - AC_SUBST(ADA_OBJECTS) - -fi -fi - -### Construct the library-subsets, if any, from this set of keywords: -### none, base, ext_funcs, ext_tinfo, termlib, widechar (see CF_LIB_RULES). -AC_MSG_CHECKING(for library subsets) -if test "$with_termlib" != no ; then - LIB_SUBSETS="termlib" - test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo" - LIB_SUBSETS="${LIB_SUBSETS} " -else - LIB_SUBSETS="termlib+" - test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}ext_tinfo+" -fi -LIB_SUBSETS="${LIB_SUBSETS}base" -test "$with_widec" = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar" -test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs" -AC_MSG_RESULT($LIB_SUBSETS) - -### Construct the list of include-directories to be generated -CF_INCLUDE_DIRS -CF_ADA_INCLUDE_DIRS - -### Build up pieces for makefile rules -AC_MSG_CHECKING(default library suffix) -CF_LIB_TYPE($DFT_LWR_MODEL,DFT_ARG_SUFFIX)dnl -AC_SUBST(DFT_ARG_SUFFIX)dnl the string to append to "-lncurses" ("") -AC_MSG_RESULT($DFT_ARG_SUFFIX) - -AC_MSG_CHECKING(default library-dependency suffix) -CF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_DEP_SUFFIX)dnl -if test $DFT_LWR_MODEL = shared ; then - case $cf_cv_system_name in #(vi - cygwin*) - DFT_DEP_SUFFIX=".dll.a" - ;; - esac -fi -AC_SUBST(DFT_DEP_SUFFIX)dnl the corresponding library-suffix (".a") -AC_MSG_RESULT($DFT_DEP_SUFFIX) - -AC_MSG_CHECKING(default object directory) -CF_OBJ_SUBDIR($DFT_LWR_MODEL,DFT_OBJ_SUBDIR)dnl -AC_SUBST(DFT_OBJ_SUBDIR)dnl the default object-directory ("obj") -AC_MSG_RESULT($DFT_OBJ_SUBDIR) - -# libtool thinks it can make c++ shared libraries (perhaps only g++) -if test "$cf_with_cxx" = yes ; then -AC_MSG_CHECKING(c++ library-dependency suffix) -if test "$with_libtool" != "no"; then - CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX -else - CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX)dnl we normally make a static library -fi -AC_MSG_RESULT($CXX_LIB_SUFFIX) -AC_SUBST(CXX_LIB_SUFFIX) -fi - -### Set up low-level terminfo dependencies for makefiles. -TINFO_LIST="$SHLIB_LIST" -if test "$with_termlib" != no ; then - - if test "$with_termlib" != yes ; then - TINFO_NAME=$with_termlib - TINFO_ARG_SUFFIX="${with_termlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" - TINFO_DEP_SUFFIX="${with_termlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" - TINFO_LIB_SUFFIX="${with_termlib}" - else - TINFO_ARG_SUFFIX="${TINFO_NAME}${DFT_ARG_SUFFIX}" - TINFO_DEP_SUFFIX="${TINFO_NAME}${DFT_DEP_SUFFIX}" - TINFO_LIB_SUFFIX="${TINFO_NAME}${LIB_SUFFIX}" - fi - - TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${TINFO_DEP_SUFFIX}" - TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${TINFO_DEP_SUFFIX}" - if test "$DFT_LWR_MODEL" = "libtool"; then - TEST_ARGS="${TEST_DEPS}" - TEST_ARG2="${TEST_DEP2}" - TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS" - else - TEST_ARGS="-l${TINFO_ARG_SUFFIX}" - TEST_ARG2="-l${TINFO_ARG_SUFFIX}" - TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS" - SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}" - fi -else - TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}" -fi -AC_SUBST(TINFO_ARG_SUFFIX) -AC_SUBST(TINFO_DEP_SUFFIX) -AC_SUBST(TINFO_LIB_SUFFIX) -AC_SUBST(TINFO_ARGS) - -# needed for Ada95 -TINFO_ARGS2=`echo "$TINFO_ARGS" | sed -e 's,-L\.\./,-L../../,'` -AC_SUBST(TINFO_ARGS2) - -AC_MSG_CHECKING(where we will install curses.h) -test "$with_overwrite" = no && \ -test "x$includedir" = 'x${prefix}/include' && \ - includedir='$(prefix)/include/ncurses'${LIB_SUFFIX} -AC_MSG_RESULT($includedir) - -### Resolve a conflict between normal and wide-curses by forcing applications -### that will need libutf8 to add it to their configure script. -if test "$with_overwrite" != no ; then -if test "$NCURSES_LIBUTF8" = 1 ; then - NCURSES_LIBUTF8='defined(HAVE_LIBUTF8_H)' - AC_MSG_WARN(Wide-character applications must define HAVE_LIBUTF8_H to include curses.h) -fi -fi - -AC_SUBST(TINFO_LIST) -AC_SUBST(SHLIB_LIST) - -### predefined stuff for the test programs -AC_DEFINE(HAVE_SLK_COLOR) - -### Construct the list of subdirectories for which we'll customize makefiles -### with the appropriate compile-rules. - -CF_SRC_MODULES($modules_to_build) -CF_DIRS_TO_MAKE - -AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATHSEP') - -AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}") - -### Now that we're done running tests, add the compiler-warnings, if any -CF_ADD_CFLAGS($EXTRA_CFLAGS) - -################################################################################ -test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in" -AC_OUTPUT( \ - include/MKterm.h.awk \ - include/curses.head:include/curses.h.in \ - include/termcap.h \ - include/unctrl.h \ - $SUB_MAKEFILES \ - Makefile,[ -CF_LIB_RULES -],[ -### Special initialization commands, used to pass information from the -### configuration-run into config.status - -AWK="$AWK" -CF_LIST_MODELS="$cf_list_models" -DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX" -DFT_LWR_MODEL="$DFT_LWR_MODEL" -LDCONFIG="$LDCONFIG" -LIB_NAME="$LIB_NAME" -LIB_SUBSETS="$LIB_SUBSETS" -LIB_SUFFIX="$LIB_SUFFIX" -LIB_TRACING="$LIB_TRACING" -MAKE_TERMINFO="$MAKE_TERMINFO" -NCURSES_OSPEED="$NCURSES_OSPEED" -SRC_SUBDIRS="$SRC_SUBDIRS" -TERMINFO="$TERMINFO" -TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX" -TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX" -TINFO_NAME="$TINFO_NAME" -WITH_CURSES_H="$with_curses_h" -WITH_ECHO="$with_echo" -WITH_OVERWRITE="$with_overwrite" -cf_cv_abi_version="$cf_cv_abi_version" -cf_cv_do_symlinks="$cf_cv_do_symlinks" -cf_cv_enable_lp64="$cf_cv_enable_lp64" -cf_cv_prog_CC_c_o=$cf_cv_prog_CC_c_o -cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o -cf_cv_rel_version="$cf_cv_rel_version" -cf_cv_rm_so_locs="$cf_cv_rm_so_locs" -cf_cv_shlib_version="$cf_cv_shlib_version" -cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix" -cf_cv_system_name="$cf_cv_system_name" -cf_with_cxx_binding="$cf_with_cxx_binding" -host="$host" -target="$target" - -],cat)dnl -${MAKE-make} preinstall diff --git a/src/libs/ncurses/convert_configure.pl b/src/libs/ncurses/convert_configure.pl deleted file mode 100644 index dea92ca5d8..0000000000 --- a/src/libs/ncurses/convert_configure.pl +++ /dev/null @@ -1,90 +0,0 @@ -extproc perl -S -w - -# The converted script is written to stdout, so run this script as -# convert_configure configure > configure.cmd -# -# When the converted script runs, it expects that /tmp dir is -# available (so we create it). -# -# run the result like this: -# .\configure - -# Some frequent manual intervention: -# a) Some makefiles hardwire SHELL = /bin/sh ==> change to: sh -# b) Some makefiles recognize that exe files terminate on .exe -# You need to give this script -no-zexe option... - -shift, $no_zexe = 1 if @ARGV and $ARGV[0] eq '-no-zexe'; - -mkdir '/tmp', 0777 unless -d '/tmp'; - -print <) { - if (/for\s+(\w+)\s+in\s*\$(PATH|ac_dummy)\s*;/) { - $checking_path = 1; - $varname = $1; - $subst= < $@ - -ANNOUNCE : doc/html/announce.html - $(DUMP) doc/html/announce.html > $@ - -doc/ncurses-intro.doc: doc/html/ncurses-intro.html - $(DUMP2) doc/html/ncurses-intro.html > $@ -doc/hackguide.doc: doc/html/hackguide.html - $(DUMP2) doc/html/hackguide.html > $@ - -# This is the original command: -# MANPROG = tbl | nroff -man -# -# This happens to work for groff 1.18.1 on Debian. At some point groff's -# maintainer changed the line-length (we do not want/need that here). -# -# The distributed html files are formatted using -# configure --without-manpage-renames -MANPROG = tbl | nroff -mandoc -rLL=65n -rLT=71n -Tascii - -manhtml: - @rm -f doc/html/man/*.html - @mkdir -p doc/html/man - @rm -f subst.tmp ; - @for f in man/*.[0-9]*; do \ - m=`basename $$f` ;\ - x=`echo $$m | awk -F. '{print $$2;}'` ;\ - xu=`echo $$x | dd conv=ucase 2>/dev/null` ;\ - if [ "$${x}" != "$${xu}" ]; then \ - echo "s/$${xu}/$${x}/g" >> subst.tmp ;\ - fi ;\ - done - # change some things to make weblint happy: - @echo 's///g' >> subst.tmp - @echo 's/<\/B>/<\/STRONG>/g' >> subst.tmp - @echo 's///g' >> subst.tmp - @echo 's/<\/I>/<\/EM>/g' >> subst.tmp - @misc/csort < subst.tmp | uniq > subst.sed - @echo '/<\/TITLE>/a\' >> subst.sed - @echo '\' >> subst.sed - @echo '' >> subst.sed - @rm -f subst.tmp - @for f in man/*.[0-9]* ; do \ - m=`basename $$f` ;\ - T=`egrep '^.TH' $$f|sed -e 's/^.TH //' -e s'/"//g' -e 's/[ ]\+$$//'` ; \ - g=$${m}.html ;\ - if [ -f doc/html/$$g ]; then chmod +w doc/html/$$g; fi;\ - echo "Converting $$m to HTML" ;\ - echo '' > doc/html/man/$$g ;\ - echo '' >> doc/html/man/$$g ;\ - ./edit_man.sh normal editing /usr/man man $$f | $(MANPROG) | tr '\255' '-' | $(MAN2HTML) -title "$$T" | \ - sed -f subst.sed |\ - sed -e 's/"curses.3x.html"/"ncurses.3x.html"/g' \ - >> doc/html/man/$$g ;\ - done - @rm -f subst.sed - -# -# Please note that this target can only be properly built if the build of the -# Ada95 subdir has been done. The reason is, that the gnathtml tool uses the -# .ali files generated by the Ada95 compiler during the build process. These -# .ali files contain cross referencing information required by gnathtml. -adahtml: - if [ ! -z "$(GNATHTML)" ]; then \ - (cd ./Ada95/gen ; make html) ;\ - fi - -# This only works on a clean source tree, of course. -MANIFEST: - -rm -f $@ - touch $@ - find . -type f -print |misc/csort | fgrep -v .lsm |fgrep -v .spec >$@ - -TAGS: - etags */*.[ch] - -# Makefile ends here diff --git a/src/libs/ncurses/doc/hackguide.doc b/src/libs/ncurses/doc/hackguide.doc deleted file mode 100644 index fbc8f0725a..0000000000 --- a/src/libs/ncurses/doc/hackguide.doc +++ /dev/null @@ -1,686 +0,0 @@ - A Hacker's Guide to NCURSES - - Contents - - * Abstract - * Objective of the Package - + Why System V Curses? - + How to Design Extensions - * Portability and Configuration - * Documentation Conventions - * How to Report Bugs - * A Tour of the Ncurses Library - + Library Overview - + The Engine Room - + Keyboard Input - + Mouse Events - + Output and Screen Updating - * The Forms and Menu Libraries - * A Tour of the Terminfo Compiler - + Translation of Non-use Capabilities - + Use Capability Resolution - + Source-Form Translation - * Other Utilities - * Style Tips for Developers - * Porting Hints - - Abstract - - This document is a hacker's tour of the ncurses library and utilities. - It discusses design philosophy, implementation methods, and the - conventions used for coding and documentation. It is recommended - reading for anyone who is interested in porting, extending or - improving the package. - - Objective of the Package - - The objective of the ncurses package is to provide a free software API - for character-cell terminals and terminal emulators with the following - characteristics: - * Source-compatible with historical curses implementations - (including the original BSD curses and System V curses. - * Conformant with the XSI Curses standard issued as part of XPG4 by - X/Open. - * High-quality -- stable and reliable code, wide portability, good - packaging, superior documentation. - * Featureful -- should eliminate as much of the drudgery of C - interface programming as possible, freeing programmers to think at - a higher level of design. - - These objectives are in priority order. So, for example, source - compatibility with older version must trump featurefulness -- we - cannot add features if it means breaking the portion of the API - corresponding to historical curses versions. - -Why System V Curses? - - We used System V curses as a model, reverse-engineering their API, in - order to fulfill the first two objectives. - - System V curses implementations can support BSD curses programs with - just a recompilation, so by capturing the System V API we also capture - BSD's. - - More importantly for the future, the XSI Curses standard issued by - X/Open is explicitly and closely modeled on System V. So conformance - with System V took us most of the way to base-level XSI conformance. - -How to Design Extensions - - The third objective (standards conformance) requires that it be easy - to condition source code using ncurses so that the absence of - nonstandard extensions does not break the code. - - Accordingly, we have a policy of associating with each nonstandard - extension a feature macro, so that ncurses client code can use this - macro to condition in or out the code that requires the ncurses - extension. - - For example, there is a macro NCURSES_MOUSE_VERSION which XSI Curses - does not define, but which is defined in the ncurses library header. - You can use this to condition the calls to the mouse API calls. - - Portability and Configuration - - Code written for ncurses may assume an ANSI-standard C compiler and - POSIX-compatible OS interface. It may also assume the presence of a - System-V-compatible select(2) call. - - We encourage (but do not require) developers to make the code friendly - to less-capable UNIX environments wherever possible. - - We encourage developers to support OS-specific optimizations and - methods not available under POSIX/ANSI, provided only that: - * All such code is properly conditioned so the build process does - not attempt to compile it under a plain ANSI/POSIX environment. - * Adding such implementation methods does not introduce - incompatibilities in the ncurses API between platforms. - - We use GNU autoconf(1) as a tool to deal with portability issues. The - right way to leverage an OS-specific feature is to modify the autoconf - specification files (configure.in and aclocal.m4) to set up a new - feature macro, which you then use to condition your code. - - Documentation Conventions - - There are three kinds of documentation associated with this package. - Each has a different preferred format: - * Package-internal files (README, INSTALL, TO-DO etc.) - * Manual pages. - * Everything else (i.e., narrative documentation). - - Our conventions are simple: - 1. Maintain package-internal files in plain text. The expected viewer - for them more(1) or an editor window; there's no point in - elaborate mark-up. - 2. Mark up manual pages in the man macros. These have to be viewable - through traditional man(1) programs. - 3. Write everything else in HTML. - - When in doubt, HTMLize a master and use lynx(1) to generate plain - ASCII (as we do for the announcement document). - - The reason for choosing HTML is that it's (a) well-adapted for on-line - browsing through viewers that are everywhere; (b) more easily readable - as plain text than most other mark-ups, if you don't have a viewer; - and (c) carries enough information that you can generate a - nice-looking printed version from it. Also, of course, it make - exporting things like the announcement document to WWW pretty trivial. - - How to Report Bugs - - The reporting address for bugs is bug-ncurses@gnu.org. This is a - majordomo list; to join, write to bug-ncurses-request@gnu.org with a - message containing the line: - subscribe @ - - The ncurses code is maintained by a small group of volunteers. While - we try our best to fix bugs promptly, we simply don't have a lot of - hours to spend on elementary hand-holding. We rely on intelligent - cooperation from our users. If you think you have found a bug in - ncurses, there are some steps you can take before contacting us that - will help get the bug fixed quickly. - - In order to use our bug-fixing time efficiently, we put people who - show us they've taken these steps at the head of our queue. This means - that if you don't, you'll probably end up at the tail end and have to - wait a while. - 1. Develop a recipe to reproduce the bug. - Bugs we can reproduce are likely to be fixed very quickly, often - within days. The most effective single thing you can do to get a - quick fix is develop a way we can duplicate the bad behavior -- - ideally, by giving us source for a small, portable test program - that breaks the library. (Even better is a keystroke recipe using - one of the test programs provided with the distribution.) - 2. Try to reproduce the bug on a different terminal type. - In our experience, most of the behaviors people report as library - bugs are actually due to subtle problems in terminal descriptions. - This is especially likely to be true if you're using a traditional - asynchronous terminal or PC-based terminal emulator, rather than - xterm or a UNIX console entry. - It's therefore extremely helpful if you can tell us whether or not - your problem reproduces on other terminal types. Usually you'll - have both a console type and xterm available; please tell us - whether or not your bug reproduces on both. - If you have xterm available, it is also good to collect xterm - reports for different window sizes. This is especially true if you - normally use an unusual xterm window size -- a surprising number - of the bugs we've seen are either triggered or masked by these. - 3. Generate and examine a trace file for the broken behavior. - Recompile your program with the debugging versions of the - libraries. Insert a trace() call with the argument set to - TRACE_UPDATE. (See "Writing Programs with NCURSES" for details on - trace levels.) Reproduce your bug, then look at the trace file to - see what the library was actually doing. - Another frequent cause of apparent bugs is application coding - errors that cause the wrong things to be put on the virtual - screen. Looking at the virtual-screen dumps in the trace file will - tell you immediately if this is happening, and save you from the - possible embarrassment of being told that the bug is in your code - and is your problem rather than ours. - If the virtual-screen dumps look correct but the bug persists, - it's possible to crank up the trace level to give more and more - information about the library's update actions and the control - sequences it issues to perform them. The test directory of the - distribution contains a tool for digesting these logs to make them - less tedious to wade through. - Often you'll find terminfo problems at this stage by noticing that - the escape sequences put out for various capabilities are wrong. - If not, you're likely to learn enough to be able to characterize - any bug in the screen-update logic quite exactly. - 4. Report details and symptoms, not just interpretations. - If you do the preceding two steps, it is very likely that you'll - discover the nature of the problem yourself and be able to send us - a fix. This will create happy feelings all around and earn you - good karma for the first time you run into a bug you really can't - characterize and fix yourself. - If you're still stuck, at least you'll know what to tell us. - Remember, we need details. If you guess about what is safe to - leave out, you are too likely to be wrong. - If your bug produces a bad update, include a trace file. Try to - make the trace at the least voluminous level that pins down the - bug. Logs that have been through tracemunch are OK, it doesn't - throw away any information (actually they're better than - un-munched ones because they're easier to read). - If your bug produces a core-dump, please include a symbolic stack - trace generated by gdb(1) or your local equivalent. - Tell us about every terminal on which you've reproduced the bug -- - and every terminal on which you can't. Ideally, sent us terminfo - sources for all of these (yours might differ from ours). - Include your ncurses version and your OS/machine type, of course! - You can find your ncurses version in the curses.h file. - - If your problem smells like a logic error or in cursor movement or - scrolling or a bad capability, there are a couple of tiny test frames - for the library algorithms in the progs directory that may help you - isolate it. These are not part of the normal build, but do have their - own make productions. - - The most important of these is mvcur, a test frame for the - cursor-movement optimization code. With this program, you can see - directly what control sequences will be emitted for any given cursor - movement or scroll/insert/delete operations. If you think you've got a - bad capability identified, you can disable it and test again. The - program is command-driven and has on-line help. - - If you think the vertical-scroll optimization is broken, or just want - to understand how it works better, build hashmap and read the header - comments of hardscroll.c and hashmap.c; then try it out. You can also - test the hardware-scrolling optimization separately with hardscroll. - - There's one other interactive tester, tctest, that exercises - translation between termcap and terminfo formats. If you have a - serious need to run this, you probably belong on our development team! - - A Tour of the Ncurses Library - -Library Overview - - Most of the library is superstructure -- fairly trivial convenience - interfaces to a small set of basic functions and data structures used - to manipulate the virtual screen (in particular, none of this code - does any I/O except through calls to more fundamental modules - described below). The files - - lib_addch.c lib_bkgd.c lib_box.c lib_chgat.c lib_clear.c - lib_clearok.c lib_clrbot.c lib_clreol.c lib_colorset.c lib_data.c - lib_delch.c lib_delwin.c lib_echo.c lib_erase.c lib_gen.c - lib_getstr.c lib_hline.c lib_immedok.c lib_inchstr.c lib_insch.c - lib_insdel.c lib_insstr.c lib_instr.c lib_isendwin.c lib_keyname.c - lib_leaveok.c lib_move.c lib_mvwin.c lib_overlay.c lib_pad.c - lib_printw.c lib_redrawln.c lib_scanw.c lib_screen.c lib_scroll.c - lib_scrollok.c lib_scrreg.c lib_set_term.c lib_slk.c - lib_slkatr_set.c lib_slkatrof.c lib_slkatron.c lib_slkatrset.c - lib_slkattr.c lib_slkclear.c lib_slkcolor.c lib_slkinit.c - lib_slklab.c lib_slkrefr.c lib_slkset.c lib_slktouch.c lib_touch.c - lib_unctrl.c lib_vline.c lib_wattroff.c lib_wattron.c lib_window.c - - are all in this category. They are very unlikely to need change, - barring bugs or some fundamental reorganization in the underlying data - structures. - - These files are used only for debugging support: - - lib_trace.c lib_traceatr.c lib_tracebits.c lib_tracechr.c - lib_tracedmp.c lib_tracemse.c trace_buf.c - - It is rather unlikely you will ever need to change these, unless you - want to introduce a new debug trace level for some reasoon. - - There is another group of files that do direct I/O via tputs(), - computations on the terminal capabilities, or queries to the OS - environment, but nevertheless have only fairly low complexity. These - include: - - lib_acs.c lib_beep.c lib_color.c lib_endwin.c lib_initscr.c - lib_longname.c lib_newterm.c lib_options.c lib_termcap.c lib_ti.c - lib_tparm.c lib_tputs.c lib_vidattr.c read_entry.c. - - They are likely to need revision only if ncurses is being ported to an - environment without an underlying terminfo capability representation. - - These files have serious hooks into the tty driver and signal - facilities: - - lib_kernel.c lib_baudrate.c lib_raw.c lib_tstp.c lib_twait.c - - If you run into porting snafus moving the package to another UNIX, the - problem is likely to be in one of these files. The file lib_print.c - uses sleep(2) and also falls in this category. - - Almost all of the real work is done in the files - - hardscroll.c hashmap.c lib_addch.c lib_doupdate.c lib_getch.c - lib_mouse.c lib_mvcur.c lib_refresh.c lib_setup.c lib_vidattr.c - - Most of the algorithmic complexity in the library lives in these - files. If there is a real bug in ncurses itself, it's probably here. - We'll tour some of these files in detail below (see The Engine Room). - - Finally, there is a group of files that is actually most of the - terminfo compiler. The reason this code lives in the ncurses library - is to support fallback to /etc/termcap. These files include - - alloc_entry.c captoinfo.c comp_captab.c comp_error.c comp_hash.c - comp_parse.c comp_scan.c parse_entry.c read_termcap.c write_entry.c - - We'll discuss these in the compiler tour. - -The Engine Room - - Keyboard Input - - All ncurses input funnels through the function wgetch(), defined in - lib_getch.c. This function is tricky; it has to poll for keyboard and - mouse events and do a running match of incoming input against the set - of defined special keys. - - The central data structure in this module is a FIFO queue, used to - match multiple-character input sequences against special-key - capabilities; also to implement pushback via ungetch(). - - The wgetch() code distinguishes between function key sequences and the - same sequences typed manually by doing a timed wait after each input - character that could lead a function key sequence. If the entire - sequence takes less than 1 second, it is assumed to have been - generated by a function key press. - - Hackers bruised by previous encounters with variant select(2) calls - may find the code in lib_twait.c interesting. It deals with the - problem that some BSD selects don't return a reliable time-left value. - The function timed_wait() effectively simulates a System V select. - - Mouse Events - - If the mouse interface is active, wgetch() polls for mouse events each - call, before it goes to the keyboard for input. It is up to - lib_mouse.c how the polling is accomplished; it may vary for different - devices. - - Under xterm, however, mouse event notifications come in via the - keyboard input stream. They are recognized by having the kmous - capability as a prefix. This is kind of klugey, but trying to wire in - recognition of a mouse key prefix without going through the - function-key machinery would be just too painful, and this turns out - to imply having the prefix somewhere in the function-key capabilities - at terminal-type initialization. - - This kluge only works because kmous isn't actually used by any - historic terminal type or curses implementation we know of. Best guess - is it's a relic of some forgotten experiment in-house at Bell Labs - that didn't leave any traces in the publicly-distributed System V - terminfo files. If System V or XPG4 ever gets serious about using it - again, this kluge may have to change. - - Here are some more details about mouse event handling: - - The lib_mouse()code is logically split into a lower level that accepts - event reports in a device-dependent format and an upper level that - parses mouse gestures and filters events. The mediating data structure - is a circular queue of event structures. - - Functionally, the lower level's job is to pick up primitive events and - put them on the circular queue. This can happen in one of two ways: - either (a) _nc_mouse_event() detects a series of incoming mouse - reports and queues them, or (b) code in lib_getch.c detects the kmous - prefix in the keyboard input stream and calls _nc_mouse_inline to - queue up a series of adjacent mouse reports. - - In either case, _nc_mouse_parse() should be called after the series is - accepted to parse the digested mouse reports (low-level events) into a - gesture (a high-level or composite event). - - Output and Screen Updating - - With the single exception of character echoes during a wgetnstr() call - (which simulates cooked-mode line editing in an ncurses window), the - library normally does all its output at refresh time. - - The main job is to go from the current state of the screen (as - represented in the curscr window structure) to the desired new state - (as represented in the newscr window structure), while doing as little - I/O as possible. - - The brains of this operation are the modules hashmap.c, hardscroll.c - and lib_doupdate.c; the latter two use lib_mvcur.c. Essentially, what - happens looks like this: - - The hashmap.c module tries to detect vertical motion changes between - the real and virtual screens. This information is represented by the - oldindex members in the newscr structure. These are modified by - vertical-motion and clear operations, and both are re-initialized - after each update. To this change-journalling information, the hashmap - code adds deductions made using a modified Heckel algorithm on hash - values generated from the line contents. - - The hardscroll.c module computes an optimum set of scroll, insertion, - and deletion operations to make the indices match. It calls - _nc_mvcur_scrolln() in lib_mvcur.c to do those motions. - - Then lib_doupdate.c goes to work. Its job is to do line-by-line - transformations of curscr lines to newscr lines. Its main tool is the - routine mvcur() in lib_mvcur.c. This routine does cursor-movement - optimization, attempting to get from given screen location A to given - location B in the fewest output characters posible. - - If you want to work on screen optimizations, you should use the fact - that (in the trace-enabled version of the library) enabling the - TRACE_TIMES trace level causes a report to be emitted after each - screen update giving the elapsed time and a count of characters - emitted during the update. You can use this to tell when an update - optimization improves efficiency. - - In the trace-enabled version of the library, it is also possible to - disable and re-enable various optimizations at runtime by tweaking the - variable _nc_optimize_enable. See the file include/curses.h.in for - mask values, near the end. - - The Forms and Menu Libraries - - The forms and menu libraries should work reliably in any environment - you can port ncurses to. The only portability issue anywhere in them - is what flavor of regular expressions the built-in form field type - TYPE_REGEXP will recognize. - - The configuration code prefers the POSIX regex facility, modeled on - System V's, but will settle for BSD regexps if the former isn't - available. - - Historical note: the panels code was written primarily to assist in - porting u386mon 2.0 (comp.sources.misc v14i001-4) to systems lacking - panels support; u386mon 2.10 and beyond use it. This version has been - slightly cleaned up for ncurses. - - A Tour of the Terminfo Compiler - - The ncurses implementation of tic is rather complex internally; it has - to do a trying combination of missions. This starts with the fact - that, in addition to its normal duty of compiling terminfo sources - into loadable terminfo binaries, it has to be able to handle termcap - syntax and compile that too into terminfo entries. - - The implementation therefore starts with a table-driven, dual-mode - lexical analyzer (in comp_scan.c). The lexer chooses its mode (termcap - or terminfo) based on the first `,' or `:' it finds in each entry. The - lexer does all the work of recognizing capability names and values; - the grammar above it is trivial, just "parse entries till you run out - of file". - -Translation of Non-use Capabilities - - Translation of most things besides use capabilities is pretty - straightforward. The lexical analyzer's tokenizer hands each - capability name to a hash function, which drives a table lookup. The - table entry yields an index which is used to look up the token type in - another table, and controls interpretation of the value. - - One possibly interesting aspect of the implementation is the way the - compiler tables are initialized. All the tables are generated by - various awk/sed/sh scripts from a master table include/Caps; these - scripts actually write C initializers which are linked to the - compiler. Furthermore, the hash table is generated in the same way, so - it doesn't have to be generated at compiler startup time (another - benefit of this organization is that the hash table can be in - shareable text space). - - Thus, adding a new capability is usually pretty trivial, just a matter - of adding one line to the include/Caps file. We'll have more to say - about this in the section on Source-Form Translation. - -Use Capability Resolution - - The background problem that makes tic tricky isn't the capability - translation itself, it's the resolution of use capabilities. Older - versions would not handle forward use references for this reason (that - is, a using terminal always had to follow its use target in the source - file). By doing this, they got away with a simple implementation - tactic; compile everything as it blows by, then resolve uses from - compiled entries. - - This won't do for ncurses. The problem is that that the whole - compilation process has to be embeddable in the ncurses library so - that it can be called by the startup code to translate termcap entries - on the fly. The embedded version can't go promiscuously writing - everything it translates out to disk -- for one thing, it will - typically be running with non-root permissions. - - So our tic is designed to parse an entire terminfo file into a - doubly-linked circular list of entry structures in-core, and then do - use resolution in-memory before writing everything out. This design - has other advantages: it makes forward and back use-references equally - easy (so we get the latter for free), and it makes checking for name - collisions before they're written out easy to do. - - And this is exactly how the embedded version works. But the - stand-alone user-accessible version of tic partly reverts to the - historical strategy; it writes to disk (not keeping in core) any entry - with no use references. - - This is strictly a core-economy kluge, implemented because the - terminfo master file is large enough that some core-poor systems swap - like crazy when you compile it all in memory...there have been reports - of this process taking three hours, rather than the twenty seconds or - less typical on the author's development box. - - So. The executable tic passes the entry-parser a hook that immediately - writes out the referenced entry if it has no use capabilities. The - compiler main loop refrains from adding the entry to the in-core list - when this hook fires. If some other entry later needs to reference an - entry that got written immediately, that's OK; the resolution code - will fetch it off disk when it can't find it in core. - - Name collisions will still be detected, just not as cleanly. The - write_entry() code complains before overwriting an entry that - postdates the time of tic's first call to write_entry(), Thus it will - complain about overwriting entries newly made during the tic run, but - not about overwriting ones that predate it. - -Source-Form Translation - - Another use of tic is to do source translation between various termcap - and terminfo formats. There are more variants out there than you might - think; the ones we know about are described in the captoinfo(1) manual - page. - - The translation output code (dump_entry() in ncurses/dump_entry.c) is - shared with the infocmp(1) utility. It takes the same internal - representation used to generate the binary form and dumps it to - standard output in a specified format. - - The include/Caps file has a header comment describing ways you can - specify source translations for nonstandard capabilities just by - altering the master table. It's possible to set up capability aliasing - or tell the compiler to plain ignore a given capability without - writing any C code at all. - - For circumstances where you need to do algorithmic translation, there - are functions in parse_entry.c called after the parse of each entry - that are specifically intended to encapsulate such translations. This, - for example, is where the AIX box1 capability get translated to an - acsc string. - - Other Utilities - - The infocmp utility is just a wrapper around the same entry-dumping - code used by tic for source translation. Perhaps the one interesting - aspect of the code is the use of a predicate function passed in to - dump_entry() to control which capabilities are dumped. This is - necessary in order to handle both the ordinary De-compilation case and - entry difference reporting. - - The tput and clear utilities just do an entry load followed by a - tputs() of a selected capability. - - Style Tips for Developers - - See the TO-DO file in the top-level directory of the source - distribution for additions that would be particularly useful. - - The prefix _nc_ should be used on library public functions that are - not part of the curses API in order to prevent pollution of the - application namespace. If you have to add to or modify the function - prototypes in curses.h.in, read ncurses/MKlib_gen.sh first so you can - avoid breaking XSI conformance. Please join the ncurses mailing list. - See the INSTALL file in the top level of the distribution for details - on the list. - - Look for the string FIXME in source files to tag minor bugs and - potential problems that could use fixing. - - Don't try to auto-detect OS features in the main body of the C code. - That's the job of the configuration system. - - To hold down complexity, do make your code data-driven. Especially, if - you can drive logic from a table filtered out of include/Caps, do it. - If you find you need to augment the data in that file in order to - generate the proper table, that's still preferable to ad-hoc code -- - that's why the fifth field (flags) is there. - - Have fun! - - Porting Hints - - The following notes are intended to be a first step towards DOS and - Macintosh ports of the ncurses libraries. - - The following library modules are `pure curses'; they operate only on - the curses internal structures, do all output through other curses - calls (not including tputs() and putp()) and do not call any other - UNIX routines such as signal(2) or the stdio library. Thus, they - should not need to be modified for single-terminal ports. - - lib_addch.c lib_addstr.c lib_bkgd.c lib_box.c lib_clear.c - lib_clrbot.c lib_clreol.c lib_delch.c lib_delwin.c lib_erase.c - lib_inchstr.c lib_insch.c lib_insdel.c lib_insstr.c lib_keyname.c - lib_move.c lib_mvwin.c lib_newwin.c lib_overlay.c lib_pad.c - lib_printw.c lib_refresh.c lib_scanw.c lib_scroll.c lib_scrreg.c - lib_set_term.c lib_touch.c lib_tparm.c lib_tputs.c lib_unctrl.c - lib_window.c panel.c - - This module is pure curses, but calls outstr(): - - lib_getstr.c - - These modules are pure curses, except that they use tputs() and - putp(): - - lib_beep.c lib_color.c lib_endwin.c lib_options.c lib_slk.c - lib_vidattr.c - - This modules assist in POSIX emulation on non-POSIX systems: - - sigaction.c - signal calls - - The following source files will not be needed for a - single-terminal-type port. - - alloc_entry.c captoinfo.c clear.c comp_captab.c comp_error.c - comp_hash.c comp_main.c comp_parse.c comp_scan.c dump_entry.c - infocmp.c parse_entry.c read_entry.c tput.c write_entry.c - - The following modules will use open()/read()/write()/close()/lseek() - on files, but no other OS calls. - - lib_screen.c - used to read/write screen dumps - - lib_trace.c - used to write trace data to the logfile - - Modules that would have to be modified for a port start here: - - The following modules are `pure curses' but contain assumptions - inappropriate for a memory-mapped port. - - lib_longname.c - assumes there may be multiple terminals - - lib_acs.c - assumes acs_map as a double indirection - - lib_mvcur.c - assumes cursor moves have variable cost - - lib_termcap.c - assumes there may be multiple terminals - - lib_ti.c - assumes there may be multiple terminals - - The following modules use UNIX-specific calls: - - lib_doupdate.c - input checking - - lib_getch.c - read() - - lib_initscr.c - getenv() - - lib_newterm.c - lib_baudrate.c - lib_kernel.c - various tty-manipulation and system calls - - lib_raw.c - various tty-manipulation calls - - lib_setup.c - various tty-manipulation calls - - lib_restart.c - various tty-manipulation calls - - lib_tstp.c - signal-manipulation calls - - lib_twait.c - gettimeofday(), select(). - _________________________________________________________________ - - - Eric S. Raymond - - (Note: This is not the bug address!) diff --git a/src/libs/ncurses/doc/html/Ada95.html b/src/libs/ncurses/doc/html/Ada95.html deleted file mode 100644 index 043b9de5d2..0000000000 --- a/src/libs/ncurses/doc/html/Ada95.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - -Ada95 Binding for ncurses - - -

Ada95 Binding for ncurses

-by Jürgen Pfeifer. - -
-

General Remarks

-
    -
  • This document describes Version 01.00 of the binding.
  • -
  • The functionality is modeled to be compatible with the ncurses -package, a clone of the SVr4 curses model.
    -I did the development on an Intel box running the latest stable release of -Linux, ncurses and the most recent released -GNU Ada Translator -gnat versions. For any older versions of ncurses and gnat -it is not guaranteed to work.
  • -
  • You must have the m4 macroprocessor to build this package. -If you don't have this program, you can get the FSF version -here.
  • -
  • Ada programs are supposed to be readable. One of my -favorite methods to make code readable is to use expressive -names for the identifiers. You can find a list of a mapping -of the cryptic curses names to the Ada names in this table.
  • -
  • This is not a typical one-to-one interface mapping. It is -close to one-to-one on the functional level. Each (n)curses function -has it's counterpart with a more or less similar formal parameter list -in the binding. It is not one-to-one with respect to the datatypes. -I tried to make records out of the flat chtype and similar structures, -so you don't have to do bit operations to mark an attributed character -as bold. Just make the boolean member bold of the record -true. The binding also hides the structures like WINDOW, PANEL, MENU, FORM -etc. ! It's a pure functional API.
  • -
  • I try to do as much error checking as possible and feasible -in the binding. I will raise an Ada exception when something -went wrong in the low-level curses. This has the effect that - at least -first time in my life - (n)curses programs have now a very rigid error -checking, but - thanks to Ada - you don't have to code the orgiastic -error checking style of C.
  • -
  • Support for wide characters is currently not in the binding, as it -is not really in ncurses at this point in time.
  • -
- -

Limitations

-
    -
  • I provide no SCREEN datatype and functions to set a new screen. -If you need this (mostly for debugging I guess), write a small -C routine doing all this and import it into your Ada program.
  • -
  • I provide no functions to switch on/off curses tracing options. -Same suggestion as above.
  • -
  • Although Ada95 is an OO Language, this binding doesn't provide -an OO abstraction of the (n)curses functionality. As mentioned above -it's a thin binding for the (n)curses functions. But without any -doubt it would be nice to build on top of this an OO abstraction -of (n)curses functionality.
    -The only exception is the method how fieldtypes are represented in -this Binding. We provide an abstract tagged type Field_Type from -which the various fieldtypes are derived.
  • -
  • I currently do not support the link_fieldtype functionality of the -forms subsystem.
  • -
  • The *_IO packages are currently output only.
  • -
- -

Hierarchy of packages

- -If you want to navigate through the html pages of the package specs, click here. -

Implementation Details

-

Behind the abstraction

-All the new types like Window, Panel, -Menu, Form etc. are just -opaque representations of the pointers to the corresponding -low level (n)curses structures like -WINDOW *, PANEL *, -MENU * or FORM *. -So you can safely pass them to C routines that expect a pointer -to one of those structures. -

Extended ripoffline() usage

-The official documentation of (n)curses says, that the line parameter -determines only whether or not exactly one line is -stolen from the top or bottom of the screen. So essentially only the -sign of the parameter is evaluated. ncurses has internally implemented -it in a way, that uses the line parameter also to control the amount of -lines to steal. This mechanism is used in the Rip_Off_Lines -routine of the binding. -

How user defined field types work

-TBD -

Enumeration fields handling

-The (n)curses documentation says, that the String arrays to be passed to -an TYPE_ENUM fieldtype must not be automatic variables. This is not true -in this binding, because it is internally arranged to safely copy these -values. -

Using other Ada compilers

-This should basically not be a problem. -

Port to other curses implementations

-Basically it should not be too hard to make all this run on a regular SVr4 -implementation of curses. The problems are probably these:
-
    -
  • ncurses has some additional features which are presented in this binding. You -have two choices to deal with this: -
      -
    • Emulate the feature in this binding
    • -
    • Raise an exception for non implemented features
    • -
    -Most likely you will follow a mixed approach. Some features are easy to simulate, -others will be hard if not impossible.
  • -
-I'm quite sure I forgot something. - - diff --git a/src/libs/ncurses/doc/html/NCURSES-Programming-HOWTO.html b/src/libs/ncurses/doc/html/NCURSES-Programming-HOWTO.html deleted file mode 100644 index 3a1010635f..0000000000 --- a/src/libs/ncurses/doc/html/NCURSES-Programming-HOWTO.html +++ /dev/null @@ -1,6413 +0,0 @@ - - - - -NCURSES Programming HOWTO - - - -
-
-

NCURSES Programming -HOWTO

-

Pradeep Padala

- -

v1.9, 2005-06-20

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Revision -History
Revision 1.92005-06-20Revised by: ppadala
The license has been changed to the -MIT-style license used by NCURSES. Note that the programs are also -re-licensed under this.
Revision 1.82005-06-17Revised by: ppadala
Lots of updates. Added references and -perl examples. Changes to examples. Many grammatical and stylistic -changes to the content. Changes to NCURSES history.
Revision 1.7.12002-06-25Revised by: ppadala
Added a README file for building and -instructions for building from source.
Revision 1.72002-06-25Revised by: ppadala
Added "Other formats" section and made -a lot of fancy changes to the programs. Inlining of programs is -gone.
Revision 1.6.12002-02-24Revised by: ppadala
Removed the old Changelog section, -cleaned the makefiles
Revision 1.62002-02-16Revised by: ppadala
Corrected a lot of spelling mistakes, -added ACS variables section
Revision 1.52002-01-05Revised by: ppadala
Changed structure to present proper -TOC
Revision 1.3.12001-07-26Revised by: ppadala
Corrected maintainers paragraph, -Corrected stable release number
Revision 1.32001-07-24Revised by: ppadala
Added copyright notices to main -document (LDP license) and programs (GPL), Corrected -printw_example.
Revision 1.22001-06-05Revised by: ppadala
Incorporated ravi's changes. Mainly to -introduction, menu, form, justforfun sections
Revision 1.12001-05-22Revised by: ppadala
Added "a word about window" section, -Added scanw_example.
-
-
-
-

This document is intended to be an "All in One" guide for -programming with ncurses and its sister libraries. We graduate from -a simple "Hello World" program to more complex form manipulation. -No prior experience in ncurses is assumed. Send comments to -this -address

-
-
-
-
-
-
Table of Contents
-
1. Introduction
-
-
-
1.1. What is NCURSES?
-
1.2. What we can do with -NCURSES
-
1.3. Where to get it
-
1.4. Purpose/Scope of the document
-
1.5. About the Programs
-
1.6. Other Formats of the -document
-
1.7. Credits
-
1.8. Wish List
-
1.9. Copyright
-
-
-
2. Hello World !!!
-
-
-
2.1. Compiling With the NCURSES -Library
-
2.2. Dissection
-
-
-
3. The Gory Details
-
4. Initialization
-
-
-
4.1. Initialization functions
-
4.2. raw() and cbreak()
-
4.3. echo() and noecho()
-
4.4. keypad()
-
4.5. halfdelay()
-
4.6. Miscellaneous Initialization -functions
-
4.7. An Example
-
-
-
5. A Word about Windows
-
6. Output functions
-
-
-
6.1. addch() class of functions
-
6.2. mvaddch(), waddch() and -mvwaddch()
-
6.3. printw() class of -functions
-
6.4. addstr() class of -functions
-
6.5. A word of caution
-
-
-
7. Input functions
-
-
-
7.1. getch() class of functions
-
7.2. scanw() class of functions
-
7.3. getstr() class of -functions
-
7.4. Some examples
-
-
-
8. Attributes
-
-
-
8.1. The details
-
8.2. attron() vs attrset()
-
8.3. attr_get()
-
8.4. attr_ functions
-
8.5. wattr functions
-
8.6. chgat() functions
-
-
-
9. Windows
-
-
-
9.1. The basics
-
9.2. Let there be a Window !!!
-
9.3. Explanation
-
9.4. The other stuff in the -example
-
9.5. Other Border -functions
-
-
-
10. Colors
-
-
-
10.1. The basics
-
10.2. Changing Color -Definitions
-
10.3. Color Content
-
-
-
11. Interfacing with the key board
-
-
-
11.1. The Basics
-
11.2. A Simple Key Usage -example
-
-
-
12. Interfacing with the mouse
-
-
-
12.1. The Basics
-
12.2. Getting the events
-
12.3. Putting it all Together
-
12.4. Miscellaneous -Functions
-
-
-
13. Screen Manipulation
-
-
-
13.1. getyx() functions
-
13.2. Screen Dumping
-
13.3. Window Dumping
-
-
-
14. Miscellaneous features
-
-
-
14.1. curs_set()
-
14.2. Temporarily Leaving Curses -mode
-
14.3. ACS_ variables
-
-
-
15. Other libraries
-
16. Panel Library
-
-
-
16.1. The Basics
-
16.2. Compiling With the Panels -Library
-
16.3. Panel Window Browsing
-
16.4. Using User Pointers
-
16.5. Moving and Resizing -Panels
-
16.6. Hiding and Showing -Panels
-
16.7. panel_above() and panel_below() -Functions
-
-
-
17. Menus Library
-
-
-
17.1. The Basics
-
17.2. Compiling With the Menu -Library
-
17.3. Menu Driver: The work horse of the -menu system
-
17.4. Menu Windows
-
17.5. Scrolling Menus
-
17.6. Multi Columnar Menus
-
17.7. Multi Valued Menus
-
17.8. Menu Options
-
17.9. The useful User Pointer
-
-
-
18. Forms Library
-
-
-
18.1. The Basics
-
18.2. Compiling With the Forms -Library
-
18.3. Playing with Fields
-
18.4. Form Windows
-
18.5. Field Validation
-
18.6. Form Driver: The work horse of the -forms system
-
-
-
19. Tools and Widget Libraries
-
-
-
19.1. CDK (Curses Development Kit)
-
19.2. The dialog
-
19.3. Perl Curses Modules CURSES::FORM -and CURSES::WIDGETS
-
-
-
20. Just For Fun !!!
-
-
-
20.1. The Game of Life
-
20.2. Magic Square
-
20.3. Towers of Hanoi
-
20.4. Queens Puzzle
-
20.5. Shuffle
-
20.6. Typing Tutor
-
-
-
21. References
-
-
-
-

1. -Introduction

-

In the olden days of teletype terminals, terminals were away -from computers and were connected to them through serial cables. -The terminals could be configured by sending a series of bytes. All -the capabilities (such as moving the cursor to a new location, -erasing part of the screen, scrolling the screen, changing modes -etc.) of terminals could be accessed through these series of bytes. -These control seeuqnces are usually called escape sequences, -because they start with an escape(0x1B) character. Even today, with -proper emulation, we can send escape sequences to the emulator and -achieve the same effect on a terminal window.

-

Suppose you wanted to print a line in color. Try typing this on -your console.

- - - - -
-
-echo "^[[0;31;40mIn Color"
-
-

The first character is an escape character, which looks like two -characters ^ and [. To be able to print it, you have to press -CTRL+V and then the ESC key. All the others are normal printable -characters. You should be able to see the string "In Color" in red. -It stays that way and to revert back to the original mode type -this.

- - - - -
-
-echo "^[[0;37;40m"
-
-

Now, what do these magic characters mean? Difficult to -comprehend? They might even be different for different terminals. -So the designers of UNIX invented a mechanism named termcap. It is a file that lists all the -capabilities of a particular terminal, along with the escape -sequences needed to achieve a particular effect. In the later -years, this was replaced by terminfo. -Without delving too much into details, this mechanism allows -application programs to query the terminfo database and obtain the -control characters to be sent to a terminal or terminal -emulator.

-
-
-

1.1. What is -NCURSES?

-

You might be wondering, what the import of all this technical -gibberish is. In the above scenario, every application program is -supposed to query the terminfo and perform the necessary stuff -(sending control characters etc.). It soon became difficult to -manage this complexity and this gave birth to 'CURSES'. Curses is a -pun on the name "cursor optimization". The Curses library forms a -wrapper over working with raw terminal codes, and provides highly -flexible and efficient API (Application Programming Interface). It -provides functions to move the cursor, create windows, produce -colors, play with mouse etc. The application programs need not -worry about the underlying terminal capabilities.

-

So what is NCURSES? NCURSES is a clone of the original System V -Release 4.0 (SVr4) curses. It is a freely distributable library, -fully compatible with older version of curses. In short, it is a -library of functions that manages an application's display on -character-cell terminals. In the remainder of the document, the -terms curses and ncurses are used interchangeably.

-

A detailed history of NCURSES can be found in the NEWS file from -the source distribution. The current package is maintained by -Thomas Dickey. -You can contact the maintainers at bug-ncurses@gnu.org.

-
-
-
-

1.2. What -we can do with NCURSES

-

NCURSES not only creates a wrapper over terminal capabilities, -but also gives a robust framework to create nice looking UI (User -Interface)s in text mode. It provides functions to create windows -etc. Its sister libraries panel, menu and form provide an extension -to the basic curses library. These libraries usually come along -with curses. One can create applications that contain multiple -windows, menus, panels and forms. Windows can be managed -independently, can provide 'scrollability' and even can be -hidden.

-

Menus provide the user with an easy command selection option. -Forms allow the creation of easy-to-use data entry and display -windows. Panels extend the capabilities of ncurses to deal with -overlapping and stacked windows.

-

These are just some of the basic things we can do with ncurses. -As we move along, We will see all the capabilities of these -libraries.

-
-
-
-

1.3. -Where to get it

-

All right, now that you know what you can do with ncurses, you -must be rearing to get started. NCURSES is usually shipped with -your installation. In case you don't have the library or want to -compile it on your own, read on.

-

Compiling the package

-

NCURSES can be obtained from ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses.tar.gz or any -of the ftp sites mentioned in http://www.gnu.org/order/ftp.html.

-

Read the README and INSTALL files for details on to how to -install it. It usually involves the following operations.

- - - - -
-
-    tar zxvf ncurses<version>.tar.gz  # unzip and untar the archive
-    cd ncurses<version>               # cd to the directory
-    ./configure                             # configure the build according to your 
-                                            # environment
-    make                                    # make it
-    su root                                 # become root
-    make install                            # install it
-
-

Using the RPM

-

NCURSES RPM can be found and downloaded from http://rpmfind.net . The RPM -can be installed with the following command after becoming -root.

- - - - -
-
-    rpm -i <downloaded rpm>
-
-
-
-
-

1.4. Purpose/Scope -of the document

-

This document is intended to be a "All in One" guide for -programming with ncurses and its sister libraries. We graduate from -a simple "Hello World" program to more complex form manipulation. -No prior experience in ncurses is assumed. The writing is informal, -but a lot of detail is provided for each of the examples.

-
-
-
-

1.5. -About the Programs

-

All the programs in the document are available in zipped form -here. Unzip and untar it. The directory structure -looks like this.

- - - - -
-
-ncurses
-   |
-   |----> JustForFun     -- just for fun programs
-   |----> basics         -- basic programs
-   |----> demo           -- output files go into this directory after make
-   |          |
-   |          |----> exe -- exe files of all example programs
-   |----> forms          -- programs related to form library
-   |----> menus          -- programs related to menus library
-   |----> panels         -- programs related to panels library
-   |----> perl           -- perl equivalents of the examples (contributed
-   |                            by Anuradha Ratnaweera)
-   |----> Makefile       -- the top level Makefile
-   |----> README         -- the top level README file. contains instructions
-   |----> COPYING        -- copyright notice
-
-

The individual directories contain the following files.

- - - - -
-
-Description of files in each directory
---------------------------------------
-JustForFun
-    |
-    |----> hanoi.c   -- The Towers of Hanoi Solver
-    |----> life.c    -- The Game of Life demo
-    |----> magic.c   -- An Odd Order Magic Square builder 
-    |----> queens.c  -- The famous N-Queens Solver
-    |----> shuffle.c -- A fun game, if you have time to kill
-    |----> tt.c      -- A very trivial typing tutor
-
-  basics
-    |
-    |----> acs_vars.c            -- ACS_ variables example
-    |----> hello_world.c         -- Simple "Hello World" Program
-    |----> init_func_example.c   -- Initialization functions example
-    |----> key_code.c            -- Shows the scan code of the key pressed
-    |----> mouse_menu.c          -- A menu accessible by mouse
-    |----> other_border.c        -- Shows usage of other border functions apa
-    |                               -- rt from box()
-    |----> printw_example.c      -- A very simple printw() example
-    |----> scanw_example.c       -- A very simple getstr() example
-    |----> simple_attr.c         -- A program that can print a c file with 
-    |                               -- comments in attribute
-    |----> simple_color.c        -- A simple example demonstrating colors
-    |----> simple_key.c          -- A menu accessible with keyboard UP, DOWN 
-    |                               -- arrows
-    |----> temp_leave.c          -- Demonstrates temporarily leaving curses mode
-    |----> win_border.c          -- Shows Creation of windows and borders
-    |----> with_chgat.c          -- chgat() usage example
-
-  forms 
-    |
-    |----> form_attrib.c     -- Usage of field attributes
-    |----> form_options.c    -- Usage of field options
-    |----> form_simple.c     -- A simple form example
-    |----> form_win.c        -- Demo of windows associated with forms
-
-  menus 
-    |
-    |----> menu_attrib.c     -- Usage of menu attributes
-    |----> menu_item_data.c  -- Usage of item_name() etc.. functions
-    |----> menu_multi_column.c    -- Creates multi columnar menus
-    |----> menu_scroll.c     -- Demonstrates scrolling capability of menus
-    |----> menu_simple.c     -- A simple menu accessed by arrow keys
-    |----> menu_toggle.c     -- Creates multi valued menus and explains
-    |                           -- REQ_TOGGLE_ITEM
-    |----> menu_userptr.c    -- Usage of user pointer
-    |----> menu_win.c        -- Demo of windows associated with menus
-
-  panels 
-    |
-    |----> panel_browse.c    -- Panel browsing through tab. Usage of user 
-    |                           -- pointer
-    |----> panel_hide.c      -- Hiding and Un hiding of panels
-    |----> panel_resize.c    -- Moving and resizing of panels
-    |----> panel_simple.c    -- A simple panel example
-
-  perl
-    |----> 01-10.pl          -- Perl equivalents of first ten example programs
-
-

There is a top level Makefile included in the main directory. It -builds all the files and puts the ready-to-use exes in demo/exe -directory. You can also do selective make by going into the -corresponding directory. Each directory contains a README file -explaining the purpose of each c file in the directory.

-

For every example, I have included path name for the file -relative to the examples directory.

-

If you prefer browsing individual programs, point your browser -to http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs/

-

All the programs are released under the same license that is -used by ncurses (MIT-style). This gives you the ability to do -pretty much anything other than claiming them as yours. Feel free -to use them in your programs as appropriate.

-
-
-
-

1.6. -Other Formats of the document

-

This howto is also availabe in various other formats on the -tldp.org site. Here are the links to other formats of this -document.

- -
-
-

1.6.2. -Building from source

-

If above links are broken or if you want to experiment with sgml -read on.

- - - - -
-
-
    Get both the source and the tar,gzipped programs, available at
-        http://cvsview.tldp.org/index.cgi/LDP/howto/docbook/
-        NCURSES-HOWTO/NCURSES-Programming-HOWTO.sgml
-        http://cvsview.tldp.org/index.cgi/LDP/howto/docbook/
-        NCURSES-HOWTO/ncurses_programs.tar.gz
-
-    Unzip ncurses_programs.tar.gz with
-    tar zxvf ncurses_programs.tar.gz
-
-    Use jade to create various formats. For example if you just want to create
-    the multiple html files, you would use
-        jade -t sgml -i html -d <path to docbook html stylesheet>
-        NCURSES-Programming-HOWTO.sgml
-    to get pdf, first create a single html file of the HOWTO with 
-        jade -t sgml -i html -d <path to docbook html stylesheet> -V nochunks
-        NCURSES-Programming-HOWTO.sgml > NCURSES-ONE-BIG-FILE.html
-    then use htmldoc to get pdf file with
-        htmldoc --size universal -t pdf --firstpage p1 -f <output file name.pdf>
-        NCURSES-ONE-BIG-FILE.html
-    for ps, you would use
-        htmldoc --size universal -t ps --firstpage p1 -f <output file name.ps>
-        NCURSES-ONE-BIG-FILE.html
-
-

See LDP Author guide for more details. If all else failes, -mail me at ppadala@gmail.com

-
-
-
-
-

1.7. -Credits

-

I thank Sharath and Emre Akbas for helping me with few sections. -The introduction was initially written by sharath. I rewrote it -with few excerpts taken from his initial work. Emre helped in -writing printw and scanw sections.

-

Perl equivalents of the example programs are contributed by -Anuradha -Ratnaweera.

-

Then comes Ravi Parimi, my dearest friend, who has been on this -project before even one line was written. He constantly bombarded -me with suggestions and patiently reviewed the whole text. He also -checked each program on Linux and Solaris.

-
-
-
-

1.8. Wish -List

-

This is the wish list, in the order of priority. If you have a -wish or you want to work on completing the wish, mail me.

-
    -
  • -

    Add examples to last parts of forms section.

    -
  • -
  • -

    Prepare a Demo showing all the programs and allow the user to -browse through description of each program. Let the user compile -and see the program in action. A dialog based interface is -preferred.

    -
  • -
  • -

    Add debug info. _tracef, _tracemouse stuff.

    -
  • -
  • -

    Accessing termcap, terminfo using functions provided by ncurses -package.

    -
  • -
  • -

    Working on two terminals simultaneously.

    -
  • -
  • -

    Add more stuff to miscellaneous section.

    -
  • -
-
-
-
-

1.9. -Copyright

-

Copyright © 2001 by Pradeep Padala.

-

Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, copy, -modify, merge, publish, distribute, distribute with modifications, -sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions:

-

The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software.

-

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE.

-

Except as contained in this notice, the name(s) of the above -copyright holders shall not be used in advertising or otherwise to -promote the sale, use or other dealings in this Software without -prior written authorization.

-
-
-
-
-

2. Hello -World !!!

-

Welcome to the world of curses. Before we plunge into the -library and look into its various features, let's write a simple -program and say hello to the world.

-
-
-

2.1. -Compiling With the NCURSES Library

-

To use ncurses library functions, you have to include ncurses.h -in your programs. To link the program with ncurses the flag --lncurses should be added.

- - - - -
-
-    #include <ncurses.h>
-    .
-    .
-    .
-
-    compile and link: gcc <program file> -lncurses
-
-
-

Example 1. The Hello World !!! Program

- - - - -
-
-#include <ncurses.h>
-
-int main()
-{       
-        initscr();                      /* Start curses mode              */
-        printw("Hello World !!!");      /* Print Hello World              */
-        refresh();                      /* Print it on to the real screen */
-        getch();                        /* Wait for user input */
-        endwin();                       /* End curses mode                */
-
-        return 0;
-}
-
-
-
-
-
-

2.2. -Dissection

-

The above program prints "Hello World !!!" to the screen and -exits. This program shows how to initialize curses and do screen -manipulation and end curses mode. Let's dissect it line by -line.

-
-
-

2.2.1. -About initscr()

-

The function initscr() initializes the terminal in curses mode. -In some implementations, it clears the screen and presents a blank -screen. To do any screen manipulation using curses package this has -to be called first. This function initializes the curses system and -allocates memory for our present window (called stdscr) and some other data-structures. Under -extreme cases this function might fail due to insufficient memory -to allocate memory for curses library's data structures.

-

After this is done, we can do a variety of initializations to -customize our curses settings. These details will be explained -later .

-
-
-
-

2.2.2. -The mysterious refresh()

-

The next line printw prints the string "Hello World !!!" on to -the screen. This function is analogous to normal printf in all -respects except that it prints the data on a window called stdscr -at the current (y,x) co-ordinates. Since our present co-ordinates -are at 0,0 the string is printed at the left hand corner of the -window.

-

This brings us to that mysterious refresh(). Well, when we -called printw the data is actually written to an imaginary window, -which is not updated on the screen yet. The job of printw is to -update a few flags and data structures and write the data to a -buffer corresponding to stdscr. In order to show it on the screen, -we need to call refresh() and tell the curses system to dump the -contents on the screen.

-

The philosophy behind all this is to allow the programmer to do -multiple updates on the imaginary screen or windows and do a -refresh once all his screen update is done. refresh() checks the -window and updates only the portion which has been changed. This -improves performance and offers greater flexibility too. But, it is -sometimes frustrating to beginners. A common mistake committed by -beginners is to forget to call refresh() after they did some update -through printw() class of functions. I still forget to add it -sometimes :-)

-
-
-
-

2.2.3. -About endwin()

-

And finally don't forget to end the curses mode. Otherwise your -terminal might behave strangely after the program quits. endwin() -frees the memory taken by curses sub-system and its data structures -and puts the terminal in normal mode. This function must be called -after you are done with the curses mode.

-
-
-
-
-
-

3. The Gory -Details

-

Now that we have seen how to write a simple curses program let's -get into the details. There are many functions that help customize -what you see on screen and many features which can be put to full -use.

-

Here we go...

-
-
-
-

4. -Initialization

-

We now know that to initialize curses system the function -initscr() has to be called. There are functions which can be called -after this initialization to customize our curses session. We may -ask the curses system to set the terminal in raw mode or initialize -color or initialize the mouse etc.. Let's discuss some of the -functions that are normally called immediately after initscr();

- -
-
-

4.2. raw() and -cbreak()

-

Normally the terminal driver buffers the characters a user types -until a new line or carriage return is encountered. But most -programs require that the characters be available as soon as the -user types them. The above two functions are used to disable line -buffering. The difference between these two functions is in the way -control characters like suspend (CTRL-Z), interrupt and quit -(CTRL-C) are passed to the program. In the raw() mode these -characters are directly passed to the program without generating a -signal. In the cbreak() mode these -control characters are interpreted as any other character by the -terminal driver. I personally prefer to use raw() as I can exercise -greater control over what the user does.

-
-
-
-

4.3. echo() -and noecho()

-

These functions control the echoing of characters typed by the -user to the terminal. noecho() switches -off echoing. The reason you might want to do this is to gain more -control over echoing or to suppress unnecessary echoing while -taking input from the user through the getch() etc. functions. Most -of the interactive programs call noecho() at initialization and do the echoing of -characters in a controlled manner. It gives the programmer the -flexibility of echoing characters at any place in the window -without updating current (y,x) co-ordinates.

-
-
-
-

4.4. -keypad()

-

This is my favorite initialization function. It enables the -reading of function keys like F1, F2, arrow keys etc. Almost every -interactive program enables this, as arrow keys are a major part of -any User Interface. Do keypad(stdscr, -TRUE) to enable this feature for the regular screen (stdscr). -You will learn more about key management in later sections of this -document.

-
-
-
-

4.5. -halfdelay()

-

This function, though not used very often, is a useful one at -times. halfdelay()is called to enable the half-delay mode, which is -similar to the cbreak() mode in that characters typed are -immediately available to program. However, it waits for 'X' tenths -of a second for input and then returns ERR, if no input is -available. 'X' is the timeout value passed to the function -halfdelay(). This function is useful when you want to ask the user -for input, and if he doesn't respond with in certain time, we can -do some thing else. One possible example is a timeout at the -password prompt.

-
-
-
-

4.6. -Miscellaneous Initialization functions

-

There are few more functions which are called at initialization -to customize curses behavior. They are not used as extensively as -those mentioned above. Some of them are explained where -appropriate.

-
-
-
-

4.7. An -Example

-

Let's write a program which will clarify the usage of these -functions.

-
-

Example 2. Initialization Function Usage example

- - - - -
-
-#include <ncurses.h>
-
-int main()
-{       int ch;
-
-        initscr();                      /* Start curses mode            */
-        raw();                          /* Line buffering disabled      */
-        keypad(stdscr, TRUE);           /* We get F1, F2 etc..          */
-        noecho();                       /* Don't echo() while we do getch */
-
-        printw("Type any character to see it in bold\n");
-        ch = getch();                   /* If raw() hadn't been called
-                                         * we have to press enter before it
-                                         * gets to the program          */
-        if(ch == KEY_F(1))              /* Without keypad enabled this will */
-                printw("F1 Key pressed");/*  not get to us either       */
-                                        /* Without noecho() some ugly escape
-                                         * charachters might have been printed
-                                         * on screen                    */
-        else
-        {       printw("The pressed key is ");
-                attron(A_BOLD);
-                printw("%c", ch);
-                attroff(A_BOLD);
-        }
-        refresh();                      /* Print it on to the real screen */
-        getch();                        /* Wait for user input */
-        endwin();                       /* End curses mode                */
-
-        return 0;
-}
-
-
-

This program is self-explanatory. But I used functions which -aren't explained yet. The function getch() is used to get a character from user. It is -equivalent to normal getchar() except -that we can disable the line buffering to avoid <enter> after -input. Look for more about getch()and -reading keys in the key management section . -The functions attron and attroff are used to switch some attributes -on and off respectively. In the example I used them to print the -character in bold. These functions are explained in detail -later.

-
-
-
-
-

5. A -Word about Windows

-

Before we plunge into the myriad ncurses functions, let me clear -few things about windows. Windows are explained in detail in -following sections

-

A Window is an imaginary screen defined by curses system. A -window does not mean a bordered window which you usually see on -Win9X platforms. When curses is initialized, it creates a default -window named stdscr which represents -your 80x25 (or the size of window in which you are running) screen. -If you are doing simple tasks like printing few strings, reading -input etc., you can safely use this single window for all of your -purposes. You can also create windows and call functions which -explicitly work on the specified window.

-

For example, if you call

- - - - -
-
-    printw("Hi There !!!");
-    refresh();
-
-

It prints the string on stdscr at the present cursor position. -Similarly the call to refresh(), works on stdscr only.

-

Say you have created windows then you -have to call a function with a 'w' added to the usual function.

- - - - -
-
-    wprintw(win, "Hi There !!!");
-    wrefresh(win);
-
-

As you will see in the rest of the document, naming of functions -follow the same convention. For each function there usually are -three more functions.

- - - - -
-
-    printw(string);        /* Print on stdscr at present cursor position */
-    mvprintw(y, x, string);/* Move to (y, x) then print string     */
-    wprintw(win, string);  /* Print on window win at present cursor position */
-                           /* in the window */
-    mvwprintw(win, y, x, string);   /* Move to (y, x) relative to window */
-                                    /* co-ordinates and then print         */
-
-

Usually the w-less functions are macros which expand to -corresponding w-function with stdscr as the window parameter.

-
-
-
-

6. Output -functions

-

I guess you can't wait any more to see some action. Back to our -odyssey of curses functions. Now that curses is initialized, let's -interact with world.

-

There are three classes of functions which you can use to do -output on screen.

-
    -
  1. -

    addch() class: Print single character with attributes

    -
  2. -
  3. -

    printw() class: Print formatted output similar to printf()

    -
  4. -
  5. -

    addstr() class: Print strings

    -
  6. -
-

These functions can be used interchangeably and it's a matter of -style as to which class is used. Let's see each one in detail.

-
-
-

6.1. addch() -class of functions

-

These functions put a single character into the current cursor -location and advance the position of the cursor. You can give the -character to be printed but they usually are used to print a -character with some attributes. Attributes are explained in detail -in later sections of the document. If a -character is associated with an attribute(bold, reverse video -etc.), when curses prints the character, it is printed in that -attribute.

-

In order to combine a character with some attributes, you have -two options:

-
    -
  • -

    By OR'ing a single character with the desired attribute macros. -These attribute macros could be found in the header file -ncurses.h. For example, you want to -print a character ch(of type char) bold and underlined, you would -call addch() as below.

    - - - - -
    -
    -    addch(ch | A_BOLD | A_UNDERLINE);
    -
    -
  • -
  • -

    By using functions like attrset(),attron(),attroff(). These functions are -explained in the Attributes section. Briefly, -they manipulate the current attributes of the given window. Once -set, the character printed in the window are associated with the -attributes until it is turned off.

    -
  • -
-

Additionally, curses provides some -special characters for character-based graphics. You can draw -tables, horizontal or vertical lines, etc. You can find all -avaliable characters in the header file ncurses.h. Try looking for macros beginning with -ACS_ in this file.

-
-
-
-

6.2. mvaddch(), -waddch() and mvwaddch()

-

mvaddch() is used to move the cursor -to a given point, and then print. Thus, the calls:

- - - - -
-
-    move(row,col);    /* moves the cursor to rowth row and colth column */
-    addch(ch);
-
-can be replaced by - - - - -
-
-    mvaddch(row,col,ch);
-
-

waddch() is similar to addch(), except that it adds a character into the -given window. (Note that addch() adds a -character into the window stdscr.)

-

In a similar fashion mvwaddch() -function is used to add a character into the given window at the -given coordinates.

-

Now, we are familiar with the basic output function addch(). But, if we want to print a string, it -would be very annoying to print it character by character. -Fortunately, ncurses provides -printf-like or puts-like functions.

-
-
-
-

6.3. -printw() class of functions

-

These functions are similar to printf() with the added capability of printing at -any position on the screen.

-
-
-

6.3.1. printw() and mvprintw

-

These two functions work much like printf(). mvprintw() can -be used to move the cursor to a position and then print. If you -want to move the cursor first and then print using printw() function, use move() first and then use printw() though I see no point why one should avoid -using mvprintw(), you have the -flexibility to manipulate.

-
-
-
-

6.3.2. wprintw() and mvwprintw

-

These two functions are similar to above two except that they -print in the corresponding window given as argument.

-
-
-
-

6.3.3. -vwprintw()

-

This function is similar to vprintf(). This can be used when variable number of -arguments are to be printed.

-
-
-
-

6.3.4. A Simple printw example

-
-

Example 3. A Simple printw example

- - - - -
-
-#include <ncurses.h>                   /* ncurses.h includes stdio.h */  
-#include <string.h> 
- 
-int main()
-{
- char mesg[]="Just a string";           /* message to be appeared on the screen */
- int row,col;                           /* to store the number of rows and *
-                                         * the number of colums of the screen */
- initscr();                             /* start the curses mode */
- getmaxyx(stdscr,row,col);              /* get the number of rows and columns */
- mvprintw(row/2,(col-strlen(mesg))/2,"%s",mesg);
-                                        /* print the message at the center of the screen */
- mvprintw(row-2,0,"This screen has %d rows and %d columns\n",row,col);
- printw("Try resizing your window(if possible) and then run this program again");
- refresh();
- getch();
- endwin();
-
- return 0;
-}
-
-
-

Above program demonstrates how easy it is to use printw. You just feed the coordinates and the -message to be appeared on the screen, then it does what you -want.

-

The above program introduces us to a new function getmaxyx(), a macro defined in ncurses.h. It gives the number of columns and the -number of rows in a given window. getmaxyx() does this by updating the variables -given to it. Since getmaxyx() is not a -function we don't pass pointers to it, we just give two integer -variables.

-
-
-
-
-

6.4. -addstr() class of functions

-

addstr() is used to put a character -string into a given window. This function is similar to calling -addch() once for each character in a -given string. This is true for all output functions. There are -other functions from this family such as mvaddstr(),mvwaddstr() and waddstr(), which obey the naming convention of -curses.(e.g. mvaddstr() is similar to the respective calls move() -and then addstr().) Another function of this family is addnstr(), -which takes an integer parameter(say n) additionally. This function -puts at most n characters into the screen. If n is negative, then -the entire string will be added.

-
-
-
-

6.5. A word of -caution

-

All these functions take y co-ordinate first and then x in their -arguments. A common mistake by beginners is to pass x,y in that -order. If you are doing too many manipulations of (y,x) -co-ordinates, think of dividing the screen into windows and -manipulate each one separately. Windows are explained in the -windows section.

-
-
-
-
-

7. Input -functions

-

Well, printing without taking input, is boring. Let's see -functions which allow us to get input from user. These functions -also can be divided into three categories.

-
    -
  1. -

    getch() class: Get a character

    -
  2. -
  3. -

    scanw() class: Get formatted input

    -
  4. -
  5. -

    getstr() class: Get strings

    -
  6. -
-
-
-

7.1. getch() -class of functions

-

These functions read a single character from the terminal. But -there are several subtle facts to consider. For example if you -don't use the function cbreak(), curses will not read your input -characters contiguously but will begin read them only after a new -line or an EOF is encountered. In order to avoid this, the cbreak() -function must used so that characters are immediately available to -your program. Another widely used function is noecho(). As the name -suggests, when this function is set (used), the characters that are -keyed in by the user will not show up on the screen. The two -functions cbreak() and noecho() are typical examples of key -management. Functions of this genre are explained in the key management section .

-
-
-
-

7.2. scanw() -class of functions

-

These functions are similar to scanf() with the added capability of getting the -input from any location on the screen.

-
-
-

7.2.1. -scanw() and mvscanw

-

The usage of these functions is similar to that of sscanf(), where the line to be scanned is provided -by wgetstr() function. That is, these -functions call to wgetstr() -function(explained below) and uses the resulting line for a -scan.

-
-
-
-

7.2.2. wscanw() and mvwscanw()

-

These are similar to above two functions except that they read -from a window, which is supplied as one of the arguments to these -functions.

-
-
-
-

7.2.3. -vwscanw()

-

This function is similar to vscanf(). -This can be used when a variable number of arguments are to be -scanned.

-
-
-
-
-

7.3. -getstr() class of functions

-

These functions are used to get strings from the terminal. In -essence, this function performs the same task as would be achieved -by a series of calls to getch() until a -newline, carriage return, or end-of-file is received. The resulting -string of characters are pointed to by str, which is a character pointer provided by the -user.

-
-
-
-

7.4. Some -examples

-
-

Example 4. A Simple scanw example

- - - - -
-
-#include <ncurses.h>                   /* ncurses.h includes stdio.h */  
-#include <string.h> 
- 
-int main()
-{
- char mesg[]="Enter a string: ";                /* message to be appeared on the screen */
- char str[80];
- int row,col;                           /* to store the number of rows and *
-                                         * the number of colums of the screen */
- initscr();                             /* start the curses mode */
- getmaxyx(stdscr,row,col);              /* get the number of rows and columns */
- mvprintw(row/2,(col-strlen(mesg))/2,"%s",mesg);
-                                /* print the message at the center of the screen */
- getstr(str);
- mvprintw(LINES - 2, 0, "You Entered: %s", str);
- getch();
- endwin();
-
- return 0;
-}
-
-
-
-
-
-
-

8. -Attributes

-

We have seen an example of how attributes can be used to print -characters with some special effects. Attributes, when set -prudently, can present information in an easy, understandable -manner. The following program takes a C file as input and prints -the file with comments in bold. Scan through the code.

-
-

Example 5. A Simple Attributes example

- - - - -
-
-/* pager functionality by Joseph Spainhour" <spainhou@bellsouth.net> */
-#include <ncurses.h>
-#include <stdlib.h>
-
-int main(int argc, char *argv[])
-{ 
-  int ch, prev, row, col;
-  prev = EOF;
-  FILE *fp;
-  int y, x;
-
-  if(argc != 2)
-  {
-    printf("Usage: %s <a c file name>\n", argv[0]);
-    exit(1);
-  }
-  fp = fopen(argv[1], "r");
-  if(fp == NULL)
-  {
-    perror("Cannot open input file");
-    exit(1);
-  }
-  initscr();                            /* Start curses mode */
-  getmaxyx(stdscr, row, col);           /* find the boundaries of the screeen */
-  while((ch = fgetc(fp)) != EOF)        /* read the file till we reach the end */
-  {
-    getyx(stdscr, y, x);                /* get the current curser position */
-    if(y == (row - 1))                  /* are we are at the end of the screen */
-    {
-      printw("<-Press Any Key->");      /* tell the user to press a key */
-      getch();
-      clear();                          /* clear the screen */
-      move(0, 0);                       /* start at the beginning of the screen */
-    }
-    if(prev == '/' && ch == '*')        /* If it is / and * then only
-                                         * switch bold on */    
-    {
-      attron(A_BOLD);                   /* cut bold on */
-      getyx(stdscr, y, x);              /* get the current curser position */
-      move(y, x - 1);                   /* back up one space */
-      printw("%c%c", '/', ch);          /* The actual printing is done here */
-    }
-    else
-      printw("%c", ch);
-    refresh();
-    if(prev == '*' && ch == '/')
-      attroff(A_BOLD);                  /* Switch it off once we got *
-                                         * and then / */
-    prev = ch;
-  }
-  endwin();                             /* End curses mode */
-  fclose(fp);
-  return 0;
-}
-
-
-

Don't worry about all those initialization and other crap. -Concentrate on the while loop. It reads each character in the file -and searches for the pattern /*. Once it spots the pattern, it -switches the BOLD attribute on with attron() . When we get the pattern */ it is -switched off by attroff() .

-

The above program also introduces us to two useful functions -getyx() and move(). The first function gets the co-ordinates of -the present cursor into the variables y, x. Since getyx() is a -macro we don't have to pass pointers to variables. The function -move() moves the cursor to the -co-ordinates given to it.

-

The above program is really a simple one which doesn't do much. -On these lines one could write a more useful program which reads a -C file, parses it and prints it in different colors. One could even -extend it to other languages as well.

-
-
-

8.1. -The details

-

Let's get into more details of attributes. The functions -attron(), attroff(), attrset() , and -their sister functions attr_get() etc.. -can be used to switch attributes on/off , get attributes and -produce a colorful display.

-

The functions attron and attroff take a bit-mask of attributes -and switch them on or off, respectively. The following video -attributes, which are defined in <curses.h> can be passed to -these functions.

- - - - -
-
-    
-    A_NORMAL        Normal display (no highlight)
-    A_STANDOUT      Best highlighting mode of the terminal.
-    A_UNDERLINE     Underlining
-    A_REVERSE       Reverse video
-    A_BLINK         Blinking
-    A_DIM           Half bright
-    A_BOLD          Extra bright or bold
-    A_PROTECT       Protected mode
-    A_INVIS         Invisible or blank mode
-    A_ALTCHARSET    Alternate character set
-    A_CHARTEXT      Bit-mask to extract a character
-    COLOR_PAIR(n)   Color-pair number n 
-    
-
-

The last one is the most colorful one :-) Colors are explained -in the next sections.

-

We can OR(|) any number of above attributes to get a combined -effect. If you wanted reverse video with blinking characters you -can use

- - - - -
-
-    attron(A_REVERSE | A_BLINK);
-
-
-
-
-

8.2. attron() vs attrset()

-

Then what is the difference between attron() and attrset()? -attrset sets the attributes of window whereas attron just switches -on the attribute given to it. So attrset() fully overrides whatever -attributes the window previously had and sets it to the new -attribute(s). Similarly attroff() just switches off the -attribute(s) given to it as an argument. This gives us the -flexibility of managing attributes easily.But if you use them -carelessly you may loose track of what attributes the window has -and garble the display. This is especially true while managing -menus with colors and highlighting. So decide on a consistent -policy and stick to it. You can always use standend() which is equivalent to attrset(A_NORMAL) which turns off all attributes -and brings you to normal mode.

-
-
-
-

8.3. -attr_get()

-

The function attr_get() gets the current attributes and color -pair of the window. Though we might not use this as often as the -above functions, this is useful in scanning areas of screen. Say we -wanted to do some complex update on screen and we are not sure what -attribute each character is associated with. Then this function can -be used with either attrset or attron to produce the desired -effect.

-
-
-
-

8.4. attr_ -functions

-

There are series of functions like attr_set(), attr_on etc.. -These are similar to above functions except that they take -parameters of type attr_t.

-
-
-
-

8.5. wattr -functions

-

For each of the above functions we have a corresponding function -with 'w' which operates on a particular window. The above functions -operate on stdscr.

-
-
-
-

8.6. chgat() -functions

-

The function chgat() is listed in the end of the man page -curs_attr. It actually is a useful one. This function can be used -to set attributes for a group of characters without moving. I mean -it !!! without moving the cursor :-) It changes the attributes of a -given number of characters starting at the current cursor -location.

-

We can give -1 as the character count to update till end of -line. If you want to change attributes of characters from current -position to end of line, just use this.

- - - - -
-
-    chgat(-1, A_REVERSE, 0, NULL);
-
-

This function is useful when changing attributes for characters -that are already on the screen. Move to the character from which -you want to change and change the attribute.

-

Other functions wchgat(), mvchgat(), wchgat() behave similarly -except that the w functions operate on the particular window. The -mv functions first move the cursor then perform the work given to -them. Actually chgat is a macro which is replaced by a wchgat() -with stdscr as the window. Most of the "w-less" functions are -macros.

-
-

Example 6. Chgat() Usage example

- - - - -
-
-#include <ncurses.h>
-
-int main(int argc, char *argv[])
-{       initscr();                      /* Start curses mode            */
-        start_color();                  /* Start color functionality    */
-        
-        init_pair(1, COLOR_CYAN, COLOR_BLACK);
-        printw("A Big string which i didn't care to type fully ");
-        mvchgat(0, 0, -1, A_BLINK, 1, NULL);    
-        /* 
-         * First two parameters specify the position at which to start 
-         * Third parameter number of characters to update. -1 means till 
-         * end of line
-         * Forth parameter is the normal attribute you wanted to give 
-         * to the charcter
-         * Fifth is the color index. It is the index given during init_pair()
-         * use 0 if you didn't want color
-         * Sixth one is always NULL 
-         */
-        refresh();
-        getch();
-        endwin();                       /* End curses mode                */
-        return 0;
-}
-
-
-

This example also introduces us to the color world of curses. -Colors will be explained in detail later. Use 0 for no color.

-
-
-
-
-

9. -Windows

-

Windows form the most important concept in curses. You have seen -the standard window stdscr above where all the functions implicitly -operated on this window. Now to make design even a simplest GUI, -you need to resort to windows. The main reason you may want to use -windows is to manipulate parts of the screen separately, for better -efficiency, by updating only the windows that need to be changed -and for a better design. I would say the last reason is the most -important in going for windows. You should always strive for a -better and easy-to-manage design in your programs. If you are -writing big, complex GUIs this is of pivotal importance before you -start doing anything.

-
-
-

9.1. The -basics

-

A Window can be created by calling the function newwin(). It doesn't create any thing on the screen -actually. It allocates memory for a structure to manipulate the -window and updates the structure with data regarding the window -like it's size, beginy, beginx etc.. Hence in curses, a window is -just an abstraction of an imaginary window, which can be -manipulated independent of other parts of screen. The function -newwin() returns a pointer to structure WINDOW, which can be passed -to window related functions like wprintw() etc.. Finally the window -can be destroyed with delwin(). It will deallocate the memory -associated with the window structure.

-
-
-
-

9.2. Let -there be a Window !!!

-

What fun is it, if a window is created and we can't see it. So -the fun part begins by displaying the window. The function -box() can be used to draw a border -around the window. Let's explore these functions in more detail in -this example.

-
-

Example 7. Window Border example

- - - - -
-
-#include <ncurses.h>
-
-
-WINDOW *create_newwin(int height, int width, int starty, int startx);
-void destroy_win(WINDOW *local_win);
-
-int main(int argc, char *argv[])
-{       WINDOW *my_win;
-        int startx, starty, width, height;
-        int ch;
-
-        initscr();                      /* Start curses mode            */
-        cbreak();                       /* Line buffering disabled, Pass on
-                                         * everty thing to me           */
-        keypad(stdscr, TRUE);           /* I need that nifty F1         */
-
-        height = 3;
-        width = 10;
-        starty = (LINES - height) / 2;  /* Calculating for a center placement */
-        startx = (COLS - width) / 2;    /* of the window                */
-        printw("Press F1 to exit");
-        refresh();
-        my_win = create_newwin(height, width, starty, startx);
-
-        while((ch = getch()) != KEY_F(1))
-        {       switch(ch)
-                {       case KEY_LEFT:
-                                destroy_win(my_win);
-                                my_win = create_newwin(height, width, starty,--startx);
-                                break;
-                        case KEY_RIGHT:
-                                destroy_win(my_win);
-                                my_win = create_newwin(height, width, starty,++startx);
-                                break;
-                        case KEY_UP:
-                                destroy_win(my_win);
-                                my_win = create_newwin(height, width, --starty,startx);
-                                break;
-                        case KEY_DOWN:
-                                destroy_win(my_win);
-                                my_win = create_newwin(height, width, ++starty,startx);
-                                break;  
-                }
-        }
-                
-        endwin();                       /* End curses mode                */
-        return 0;
-}
-
-WINDOW *create_newwin(int height, int width, int starty, int startx)
-{       WINDOW *local_win;
-
-        local_win = newwin(height, width, starty, startx);
-        box(local_win, 0 , 0);          /* 0, 0 gives default characters 
-                                         * for the vertical and horizontal
-                                         * lines                        */
-        wrefresh(local_win);            /* Show that box                */
-
-        return local_win;
-}
-
-void destroy_win(WINDOW *local_win)
-{       
-        /* box(local_win, ' ', ' '); : This won't produce the desired
-         * result of erasing the window. It will leave it's four corners 
-         * and so an ugly remnant of window. 
-         */
-        wborder(local_win, ' ', ' ', ' ',' ',' ',' ',' ',' ');
-        /* The parameters taken are 
-         * 1. win: the window on which to operate
-         * 2. ls: character to be used for the left side of the window 
-         * 3. rs: character to be used for the right side of the window 
-         * 4. ts: character to be used for the top side of the window 
-         * 5. bs: character to be used for the bottom side of the window 
-         * 6. tl: character to be used for the top left corner of the window 
-         * 7. tr: character to be used for the top right corner of the window 
-         * 8. bl: character to be used for the bottom left corner of the window 
-         * 9. br: character to be used for the bottom right corner of the window
-         */
-        wrefresh(local_win);
-        delwin(local_win);
-}
-
-
-
-
-
-

9.3. -Explanation

-

Don't scream. I know it's a big example. But I have to explain -some important things here :-). This program creates a rectangular -window that can be moved with left, right, up, down arrow keys. It -repeatedly creates and destroys windows as user press a key. Don't -go beyond the screen limits. Checking for those limits is left as -an exercise for the reader. Let's dissect it by line by line.

-

The create_newwin() function creates -a window with newwin() and displays a -border around it with box. The function destroy_win() first erases the window from screen -by painting a border with ' ' character and then calling -delwin() to deallocate memory related to -it. Depending on the key the user presses, starty or startx is -changed and a new window is created.

-

In the destroy_win, as you can see, I used wborder instead of -box. The reason is written in the comments (You missed it. I know. -Read the code :-)). wborder draws a border around the window with -the characters given to it as the 4 corner points and the 4 lines. -To put it clearly, if you have called wborder as below:

- - - - -
-
-    wborder(win, '|', '|', '-', '-', '+', '+', '+', '+');
-
-

it produces some thing like

- - - - -
-
-    +------------+
-    |            |
-    |            |
-    |            |
-    |            |
-    |            |
-    |            |
-    +------------+
-
-
-
-
-

9.4. The -other stuff in the example

-

You can also see in the above examples, that I have used the -variables COLS, LINES which are initialized to the screen sizes -after initscr(). They can be useful in finding screen dimensions -and finding the center co-ordinate of the screen as above. The -function getch() as usual gets the key -from keyboard and according to the key it does the corresponding -work. This type of switch- case is very common in any GUI based -programs.

-
-
-
-

9.5. Other Border functions

-

Above program is grossly inefficient in that with each press of -a key, a window is destroyed and another is created. So let's write -a more efficient program which uses other border related -functions.

-

The following program uses mvhline() -and mvvline() to achieve similar effect. -These two functions are simple. They create a horizontal or -vertical line of the specified length at the specified -position.

-
-

Example 8. More border functions

- - - - -
-
-#include <ncurses.h>
-
-typedef struct _win_border_struct {
-        chtype  ls, rs, ts, bs, 
-                tl, tr, bl, br;
-}WIN_BORDER;
-
-typedef struct _WIN_struct {
-
-        int startx, starty;
-        int height, width;
-        WIN_BORDER border;
-}WIN;
-
-void init_win_params(WIN *p_win);
-void print_win_params(WIN *p_win);
-void create_box(WIN *win, bool flag);
-
-int main(int argc, char *argv[])
-{       WIN win;
-        int ch;
-
-        initscr();                      /* Start curses mode            */
-        start_color();                  /* Start the color functionality */
-        cbreak();                       /* Line buffering disabled, Pass on
-                                         * everty thing to me           */
-        keypad(stdscr, TRUE);           /* I need that nifty F1         */
-        noecho();
-        init_pair(1, COLOR_CYAN, COLOR_BLACK);
-
-        /* Initialize the window parameters */
-        init_win_params(&win);
-        print_win_params(&win);
-
-        attron(COLOR_PAIR(1));
-        printw("Press F1 to exit");
-        refresh();
-        attroff(COLOR_PAIR(1));
-        
-        create_box(&win, TRUE);
-        while((ch = getch()) != KEY_F(1))
-        {       switch(ch)
-                {       case KEY_LEFT:
-                                create_box(&win, FALSE);
-                                --win.startx;
-                                create_box(&win, TRUE);
-                                break;
-                        case KEY_RIGHT:
-                                create_box(&win, FALSE);
-                                ++win.startx;
-                                create_box(&win, TRUE);
-                                break;
-                        case KEY_UP:
-                                create_box(&win, FALSE);
-                                --win.starty;
-                                create_box(&win, TRUE);
-                                break;
-                        case KEY_DOWN:
-                                create_box(&win, FALSE);
-                                ++win.starty;
-                                create_box(&win, TRUE);
-                                break;  
-                }
-        }
-        endwin();                       /* End curses mode                */
-        return 0;
-}
-void init_win_params(WIN *p_win)
-{
-        p_win->height = 3;
-        p_win->width = 10;
-        p_win->starty = (LINES - p_win->height)/2;      
-        p_win->startx = (COLS - p_win->width)/2;
-
-        p_win->border.ls = '|';
-        p_win->border.rs = '|';
-        p_win->border.ts = '-';
-        p_win->border.bs = '-';
-        p_win->border.tl = '+';
-        p_win->border.tr = '+';
-        p_win->border.bl = '+';
-        p_win->border.br = '+';
-
-}
-void print_win_params(WIN *p_win)
-{
-#ifdef _DEBUG
-        mvprintw(25, 0, "%d %d %d %d", p_win->startx, p_win->starty, 
-                                p_win->width, p_win->height);
-        refresh();
-#endif
-}
-void create_box(WIN *p_win, bool flag)
-{       int i, j;
-        int x, y, w, h;
-
-        x = p_win->startx;
-        y = p_win->starty;
-        w = p_win->width;
-        h = p_win->height;
-
-        if(flag == TRUE)
-        {       mvaddch(y, x, p_win->border.tl);
-                mvaddch(y, x + w, p_win->border.tr);
-                mvaddch(y + h, x, p_win->border.bl);
-                mvaddch(y + h, x + w, p_win->border.br);
-                mvhline(y, x + 1, p_win->border.ts, w - 1);
-                mvhline(y + h, x + 1, p_win->border.bs, w - 1);
-                mvvline(y + 1, x, p_win->border.ls, h - 1);
-                mvvline(y + 1, x + w, p_win->border.rs, h - 1);
-
-        }
-        else
-                for(j = y; j <= y + h; ++j)
-                        for(i = x; i <= x + w; ++i)
-                                mvaddch(j, i, ' ');
-                                
-        refresh();
-
-}
-
-
-
-
-
-
-

10. Colors

-
-

10.1. The -basics

-

Life seems dull with no colors. Curses has a nice mechanism to -handle colors. Let's get into the thick of the things with a small -program.

-
-

Example 9. A Simple Color example

- - - - -
-
-#include <ncurses.h>
-
-void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string);
-int main(int argc, char *argv[])
-{       initscr();                      /* Start curses mode            */
-        if(has_colors() == FALSE)
-        {       endwin();
-                printf("Your terminal does not support color\n");
-                exit(1);
-        }
-        start_color();                  /* Start color                  */
-        init_pair(1, COLOR_RED, COLOR_BLACK);
-
-        attron(COLOR_PAIR(1));
-        print_in_middle(stdscr, LINES / 2, 0, 0, "Viola !!! In color ...");
-        attroff(COLOR_PAIR(1));
-        getch();
-        endwin();
-}
-void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string)
-{       int length, x, y;
-        float temp;
-
-        if(win == NULL)
-                win = stdscr;
-        getyx(win, y, x);
-        if(startx != 0)
-                x = startx;
-        if(starty != 0)
-                y = starty;
-        if(width == 0)
-                width = 80;
-
-        length = strlen(string);
-        temp = (width - length)/ 2;
-        x = startx + (int)temp;
-        mvwprintw(win, y, x, "%s", string);
-        refresh();
-}
-
-
-
-

As you can see, to start using color, you should first call the -function start_color(). After that, you -can use color capabilities of your terminals using various -functions. To find out whether a terminal has color capabilities or -not, you can use has_colors() function, -which returns FALSE if the terminal does not support color.

-

Curses initializes all the colors supported by terminal when -start_color() is called. These can be accessed by the define -constants like COLOR_BLACK etc. Now to -actually start using colors, you have to define pairs. Colors are -always used in pairs. That means you have to use the function -init_pair() to define the foreground and -background for the pair number you give. After that that pair -number can be used as a normal attribute with COLOR_PAIR()function. This may seem to be -cumbersome at first. But this elegant solution allows us to manage -color pairs very easily. To appreciate it, you have to look into -the the source code of "dialog", a utility for displaying dialog -boxes from shell scripts. The developers have defined foreground -and background combinations for all the colors they might need and -initialized at the beginning. This makes it very easy to set -attributes just by accessing a pair which we already have defined -as a constant.

-

The following colors are defined in curses.h. You can use these as parameters for -various color functions.

- - - - -
-
-        COLOR_BLACK   0
-        COLOR_RED     1
-        COLOR_GREEN   2
-        COLOR_YELLOW  3
-        COLOR_BLUE    4
-        COLOR_MAGENTA 5
-        COLOR_CYAN    6
-        COLOR_WHITE   7
-
-
-
-
-

10.2. Changing Color Definitions

-

The function init_color()can be used -to change the rgb values for the colors defined by curses -initially. Say you wanted to lighten the intensity of red color by -a minuscule. Then you can use this function as

- - - - -
-
-    init_color(COLOR_RED, 700, 0, 0);
-    /* param 1     : color name
-     * param 2, 3, 4 : rgb content min = 0, max = 1000 */
-
-

If your terminal cannot change the color definitions, the -function returns ERR. The function can_change_color() can be used to find out whether -the terminal has the capability of changing color content or not. -The rgb content is scaled from 0 to 1000. Initially RED color is -defined with content 1000(r), 0(g), 0(b).

-
-
-
-

10.3. -Color Content

-

The functions color_content() and -pair_content() can be used to find the -color content and foreground, background combination for the -pair.

-
-
-
-
-

11. Interfacing with the -key board

-
-

11.1. The -Basics

-

No GUI is complete without a strong user interface and to -interact with the user, a curses program should be sensitive to key -presses or the mouse actions done by the user. Let's deal with the -keys first.

-

As you have seen in almost all of the above examples, it's very -easy to get key input from the user. A simple way of getting key -presses is to use getch() function. The -cbreak mode should be enabled to read keys when you are interested -in reading individual key hits rather than complete lines of text -(which usually end with a carriage return). keypad should be -enabled to get the Functions keys, arrow keys etc. See the -initialization section for details.

-

getch() returns an integer -corresponding to the key pressed. If it is a normal character, the -integer value will be equivalent to the character. Otherwise it -returns a number which can be matched with the constants defined in -curses.h. For example if the user -presses F1, the integer returned is 265. This can be checked using -the macro KEY_F() defined in curses.h. This makes reading keys -portable and easy to manage.

-

For example, if you call getch() like this

- - - - -
-
-    int ch;
-
-    ch = getch();
-
-

getch() will wait for the user to press a key, (unless you -specified a timeout) and when user presses a key, the corresponding -integer is returned. Then you can check the value returned with the -constants defined in curses.h to match against the keys you -want.

-

The following code piece will do that job.

- - - - -
-
-    if(ch == KEY_LEFT)
-        printw("Left arrow is pressed\n");
-
-

Let's write a small program which creates a menu which can be -navigated by up and down arrows.

-
-
-
-

11.2. A -Simple Key Usage example

-
-

Example 10. A Simple Key Usage example

- - - - -
-
-#include <stdio.h>
-#include <ncurses.h>
-
-#define WIDTH 30
-#define HEIGHT 10 
-
-int startx = 0;
-int starty = 0;
-
-char *choices[] = { 
-                        "Choice 1",
-                        "Choice 2",
-                        "Choice 3",
-                        "Choice 4",
-                        "Exit",
-                  };
-int n_choices = sizeof(choices) / sizeof(char *);
-void print_menu(WINDOW *menu_win, int highlight);
-
-int main()
-{       WINDOW *menu_win;
-        int highlight = 1;
-        int choice = 0;
-        int c;
-
-        initscr();
-        clear();
-        noecho();
-        cbreak();       /* Line buffering disabled. pass on everything */
-        startx = (80 - WIDTH) / 2;
-        starty = (24 - HEIGHT) / 2;
-                
-        menu_win = newwin(HEIGHT, WIDTH, starty, startx);
-        keypad(menu_win, TRUE);
-        mvprintw(0, 0, "Use arrow keys to go up and down, Press enter to select a choice");
-        refresh();
-        print_menu(menu_win, highlight);
-        while(1)
-        {       c = wgetch(menu_win);
-                switch(c)
-                {       case KEY_UP:
-                                if(highlight == 1)
-                                        highlight = n_choices;
-                                else
-                                        --highlight;
-                                break;
-                        case KEY_DOWN:
-                                if(highlight == n_choices)
-                                        highlight = 1;
-                                else 
-                                        ++highlight;
-                                break;
-                        case 10:
-                                choice = highlight;
-                                break;
-                        default:
-                                mvprintw(24, 0, "Charcter pressed is = %3d Hopefully it can be printed as '%c'", c, c);
-                                refresh();
-                                break;
-                }
-                print_menu(menu_win, highlight);
-                if(choice != 0) /* User did a choice come out of the infinite loop */
-                        break;
-        }       
-        mvprintw(23, 0, "You chose choice %d with choice string %s\n", choice, choices[choice - 1]);
-        clrtoeol();
-        refresh();
-        endwin();
-        return 0;
-}
-
-
-void print_menu(WINDOW *menu_win, int highlight)
-{
-        int x, y, i;    
-
-        x = 2;
-        y = 2;
-        box(menu_win, 0, 0);
-        for(i = 0; i < n_choices; ++i)
-        {       if(highlight == i + 1) /* High light the present choice */
-                {       wattron(menu_win, A_REVERSE); 
-                        mvwprintw(menu_win, y, x, "%s", choices[i]);
-                        wattroff(menu_win, A_REVERSE);
-                }
-                else
-                        mvwprintw(menu_win, y, x, "%s", choices[i]);
-                ++y;
-        }
-        wrefresh(menu_win);
-}
-
-
-
-
-
-
-
-

12. Interfacing with -the mouse

-

Now that you have seen how to get keys, lets do the same thing -from mouse. Usually each UI allows the user to interact with both -keyboard and mouse.

-
-
-

12.1. The -Basics

-

Before you do any thing else, the events you want to receive -have to be enabled with mousemask().

- - - - -
-
-    mousemask(  mmask_t newmask,    /* The events you want to listen to */
-                mmask_t *oldmask)    /* The old events mask                */
-
-

The first parameter to above function is a bit mask of events -you would like to listen. By default, all the events are turned -off. The bit mask ALL_MOUSE_EVENTS can -be used to get all the events.

-

The following are all the event masks:

- - - - -
-
-    Name            Description
-       ---------------------------------------------------------------------
-       BUTTON1_PRESSED          mouse button 1 down
-       BUTTON1_RELEASED         mouse button 1 up
-       BUTTON1_CLICKED          mouse button 1 clicked
-       BUTTON1_DOUBLE_CLICKED   mouse button 1 double clicked
-       BUTTON1_TRIPLE_CLICKED   mouse button 1 triple clicked
-       BUTTON2_PRESSED          mouse button 2 down
-       BUTTON2_RELEASED         mouse button 2 up
-       BUTTON2_CLICKED          mouse button 2 clicked
-       BUTTON2_DOUBLE_CLICKED   mouse button 2 double clicked
-       BUTTON2_TRIPLE_CLICKED   mouse button 2 triple clicked
-       BUTTON3_PRESSED          mouse button 3 down
-       BUTTON3_RELEASED         mouse button 3 up
-       BUTTON3_CLICKED          mouse button 3 clicked
-       BUTTON3_DOUBLE_CLICKED   mouse button 3 double clicked
-       BUTTON3_TRIPLE_CLICKED   mouse button 3 triple clicked
-       BUTTON4_PRESSED          mouse button 4 down
-       BUTTON4_RELEASED         mouse button 4 up
-       BUTTON4_CLICKED          mouse button 4 clicked
-       BUTTON4_DOUBLE_CLICKED   mouse button 4 double clicked
-       BUTTON4_TRIPLE_CLICKED   mouse button 4 triple clicked
-       BUTTON_SHIFT             shift was down during button state change
-       BUTTON_CTRL              control was down during button state change
-       BUTTON_ALT               alt was down during button state change
-       ALL_MOUSE_EVENTS         report all button state changes
-       REPORT_MOUSE_POSITION    report mouse movement
-
-
-
-
-

12.2. -Getting the events

-

Once a class of mouse events have been enabled, getch() class of -functions return KEY_MOUSE every time some mouse event happens. -Then the mouse event can be retrieved with getmouse().

-

The code approximately looks like this:

- - - - -
-
-    MEVENT event;
-
-    ch = getch();
-    if(ch == KEY_MOUSE)
-        if(getmouse(&event) == OK)
-            .    /* Do some thing with the event */
-            .
-            .
-
-

getmouse() returns the event into the pointer given to it. It's -a structure which contains

- - - - -
-
-    typedef struct
-    {
-        short id;         /* ID to distinguish multiple devices */
-        int x, y, z;      /* event coordinates */
-        mmask_t bstate;   /* button state bits */
-    }    
-
-

The bstate is the main variable we -are interested in. It tells the button state of the mouse.

-

Then with a code snippet like the following, we can find out -what happened.

- - - - -
-
-    if(event.bstate & BUTTON1_PRESSED)
-        printw("Left Button Pressed");
-
-
-
-
-

12.3. -Putting it all Together

-

That's pretty much interfacing with mouse. Let's create the same -menu and enable mouse interaction. To make things simpler, key -handling is removed.

-
-

Example 11. Access the menu with mouse !!!

- - - - -
-
-#include <ncurses.h>
-
-#define WIDTH 30
-#define HEIGHT 10 
-
-int startx = 0;
-int starty = 0;
-
-char *choices[] = {     "Choice 1",
-                        "Choice 2",
-                        "Choice 3",
-                        "Choice 4",
-                        "Exit",
-                  };
-
-int n_choices = sizeof(choices) / sizeof(char *);
-
-void print_menu(WINDOW *menu_win, int highlight);
-void report_choice(int mouse_x, int mouse_y, int *p_choice);
-
-int main()
-{       int c, choice = 0;
-        WINDOW *menu_win;
-        MEVENT event;
-
-        /* Initialize curses */
-        initscr();
-        clear();
-        noecho();
-        cbreak();       //Line buffering disabled. pass on everything
-
-        /* Try to put the window in the middle of screen */
-        startx = (80 - WIDTH) / 2;
-        starty = (24 - HEIGHT) / 2;
-        
-        attron(A_REVERSE);
-        mvprintw(23, 1, "Click on Exit to quit (Works best in a virtual console)");
-        refresh();
-        attroff(A_REVERSE);
-
-        /* Print the menu for the first time */
-        menu_win = newwin(HEIGHT, WIDTH, starty, startx);
-        print_menu(menu_win, 1);
-        /* Get all the mouse events */
-        mousemask(ALL_MOUSE_EVENTS, NULL);
-        
-        while(1)
-        {       c = wgetch(menu_win);
-                switch(c)
-                {       case KEY_MOUSE:
-                        if(getmouse(&event) == OK)
-                        {       /* When the user clicks left mouse button */
-                                if(event.bstate & BUTTON1_PRESSED)
-                                {       report_choice(event.x + 1, event.y + 1, &choice);
-                                        if(choice == -1) //Exit chosen
-                                                goto end;
-                                        mvprintw(22, 1, "Choice made is : %d String Chosen is \"%10s\"", choice, choices[choice - 1]);
-                                        refresh(); 
-                                }
-                        }
-                        print_menu(menu_win, choice);
-                        break;
-                }
-        }               
-end:
-        endwin();
-        return 0;
-}
-
-
-void print_menu(WINDOW *menu_win, int highlight)
-{
-        int x, y, i;    
-
-        x = 2;
-        y = 2;
-        box(menu_win, 0, 0);
-        for(i = 0; i < n_choices; ++i)
-        {       if(highlight == i + 1)
-                {       wattron(menu_win, A_REVERSE); 
-                        mvwprintw(menu_win, y, x, "%s", choices[i]);
-                        wattroff(menu_win, A_REVERSE);
-                }
-                else
-                        mvwprintw(menu_win, y, x, "%s", choices[i]);
-                ++y;
-        }
-        wrefresh(menu_win);
-}
-
-/* Report the choice according to mouse position */
-void report_choice(int mouse_x, int mouse_y, int *p_choice)
-{       int i,j, choice;
-
-        i = startx + 2;
-        j = starty + 3;
-        
-        for(choice = 0; choice < n_choices; ++choice)
-                if(mouse_y == j + choice && mouse_x >= i && mouse_x <= i + strlen(choices[choice]))
-                {       if(choice == n_choices - 1)
-                                *p_choice = -1;         
-                        else
-                                *p_choice = choice + 1; 
-                        break;
-                }
-}
-
-
-
-
-
-

12.4. Miscellaneous Functions

-

The functions mouse_trafo() and wmouse_trafo() can be used to -convert to mouse co-ordinates to screen relative co-ordinates. See -curs_mouse(3X) man page for details.

-

The mouseinterval function sets the maximum time (in thousands -of a second) that can elapse between press and release events in -order for them to be recognized as a click. This function returns -the previous interval value. The default is one fifth of a -second.

-
-
-
-
-

13. Screen -Manipulation

-

In this section, we will look into some functions, which allow -us to manage the screen efficiently and to write some fancy -programs. This is especially important in writing games.

-
-
-

13.1. getyx() -functions

-

The function getyx() can be used to -find out the present cursor co-ordinates. It will fill the values -of x and y co-ordinates in the arguments given to it. Since getyx() -is a macro you don't have to pass the address of the variables. It -can be called as

- - - - -
-
-    getyx(win, y, x);
-    /* win: window pointer
-     *   y, x: y, x co-ordinates will be put into this variables 
-     */
-
-

The function getparyx() gets the beginning co-ordinates of the -sub window relative to the main window. This is some times useful -to update a sub window. When designing fancy stuff like writing -multiple menus, it becomes difficult to store the menu positions, -their first option co-ordinates etc. A simple solution to this -problem, is to create menus in sub windows and later find the -starting co-ordinates of the menus by using getparyx().

-

The functions getbegyx() and getmaxyx() store current window's -beginning and maximum co-ordinates. These functions are useful in -the same way as above in managing the windows and sub windows -effectively.

-
-
-
-

13.2. Screen -Dumping

-

While writing games, some times it becomes necessary to store -the state of the screen and restore it back to the same state. The -function scr_dump() can be used to dump the screen contents to a -file given as an argument. Later it can be restored by scr_restore -function. These two simple functions can be used effectively to -maintain a fast moving game with changing scenarios.

-
-
-
-

13.3. Window -Dumping

-

To store and restore windows, the functions putwin() and getwin() -can be used. putwin() puts the present -window state into a file, which can be later restored by -getwin().

-

The function copywin() can be used to -copy a window completely onto another window. It takes the source -and destination windows as parameters and according to the -rectangle specified, it copies the rectangular region from source -to destination window. It's last parameter specifies whether to -overwrite or just overlay the contents on to the destination -window. If this argument is true, then the copying is -non-destructive.

-
-
-
-
-

14. Miscellaneous -features

-

Now you know enough features to write a good curses program, -with all bells and whistles. There are some miscellaneous functions -which are useful in various cases. Let's go headlong into some of -those.

-
-
-

14.1. -curs_set()

-

This function can be used to make the cursor invisible. The -parameter to this function should be

- - - - -
-
-    0 : invisible      or
-    1 : normal    or
-    2 : very visible.
-
-
-
-
-

14.2. -Temporarily Leaving Curses mode

-

Some times you may want to get back to cooked mode (normal line -buffering mode) temporarily. In such a case you will first need to -save the tty modes with a call to def_prog_mode() and then call endwin() to end the curses mode. This will leave -you in the original tty mode. To get back to curses once you are -done, call reset_prog_mode() . This -function returns the tty to the state stored by def_prog_mode(). Then do refresh(), and you are -back to the curses mode. Here is an example showing the sequence of -things to be done.

-
-

Example 12. Temporarily Leaving Curses Mode

- - - - -
-
-#include <ncurses.h>
-
-int main()
-{       
-        initscr();                      /* Start curses mode              */
-        printw("Hello World !!!\n");    /* Print Hello World              */
-        refresh();                      /* Print it on to the real screen */
-        def_prog_mode();                /* Save the tty modes             */
-        endwin();                       /* End curses mode temporarily    */
-        system("/bin/sh");              /* Do whatever you like in cooked mode */
-        reset_prog_mode();              /* Return to the previous tty mode*/
-                                        /* stored by def_prog_mode()      */
-        refresh();                      /* Do refresh() to restore the    */
-                                        /* Screen contents                */
-        printw("Another String\n");     /* Back to curses use the full    */
-        refresh();                      /* capabilities of curses         */
-        endwin();                       /* End curses mode                */
-
-        return 0;
-}
-
-
-
-
-
-

14.3. ACS_ -variables

-

If you have ever programmed in DOS, you know about those nifty -characters in extended character set. They are printable only on -some terminals. NCURSES functions like box() use these characters. All these variables -start with ACS meaning alternative character set. You might have -noticed me using these characters in some of the programs above. -Here's an example showing all the characters.

-
-

Example 13. ACS Variables Example

- - - - -
-
-#include <ncurses.h>
-
-int main()
-{
-        initscr();
-
-        printw("Upper left corner           "); addch(ACS_ULCORNER); printw("\n"); 
-        printw("Lower left corner           "); addch(ACS_LLCORNER); printw("\n");
-        printw("Lower right corner          "); addch(ACS_LRCORNER); printw("\n");
-        printw("Tee pointing right          "); addch(ACS_LTEE); printw("\n");
-        printw("Tee pointing left           "); addch(ACS_RTEE); printw("\n");
-        printw("Tee pointing up             "); addch(ACS_BTEE); printw("\n");
-        printw("Tee pointing down           "); addch(ACS_TTEE); printw("\n");
-        printw("Horizontal line             "); addch(ACS_HLINE); printw("\n");
-        printw("Vertical line               "); addch(ACS_VLINE); printw("\n");
-        printw("Large Plus or cross over    "); addch(ACS_PLUS); printw("\n");
-        printw("Scan Line 1                 "); addch(ACS_S1); printw("\n");
-        printw("Scan Line 3                 "); addch(ACS_S3); printw("\n");
-        printw("Scan Line 7                 "); addch(ACS_S7); printw("\n");
-        printw("Scan Line 9                 "); addch(ACS_S9); printw("\n");
-        printw("Diamond                     "); addch(ACS_DIAMOND); printw("\n");
-        printw("Checker board (stipple)     "); addch(ACS_CKBOARD); printw("\n");
-        printw("Degree Symbol               "); addch(ACS_DEGREE); printw("\n");
-        printw("Plus/Minus Symbol           "); addch(ACS_PLMINUS); printw("\n");
-        printw("Bullet                      "); addch(ACS_BULLET); printw("\n");
-        printw("Arrow Pointing Left         "); addch(ACS_LARROW); printw("\n");
-        printw("Arrow Pointing Right        "); addch(ACS_RARROW); printw("\n");
-        printw("Arrow Pointing Down         "); addch(ACS_DARROW); printw("\n");
-        printw("Arrow Pointing Up           "); addch(ACS_UARROW); printw("\n");
-        printw("Board of squares            "); addch(ACS_BOARD); printw("\n");
-        printw("Lantern Symbol              "); addch(ACS_LANTERN); printw("\n");
-        printw("Solid Square Block          "); addch(ACS_BLOCK); printw("\n");
-        printw("Less/Equal sign             "); addch(ACS_LEQUAL); printw("\n");
-        printw("Greater/Equal sign          "); addch(ACS_GEQUAL); printw("\n");
-        printw("Pi                          "); addch(ACS_PI); printw("\n");
-        printw("Not equal                   "); addch(ACS_NEQUAL); printw("\n");
-        printw("UK pound sign               "); addch(ACS_STERLING); printw("\n");
-
-        refresh();
-        getch();
-        endwin();
-
-        return 0;
-}
-
-
-
-
-
-
-

15. Other -libraries

-

Apart from the curses library, there are few text mode -libraries, which provide more functionality and a lot of features. -The following sections explain three standard libraries which are -usually distributed along with curses.

-
-
-
-

16. Panel -Library

-

Now that you are proficient in curses, you wanted to do some -thing big. You created a lot of overlapping windows to give a -professional windows-type look. Unfortunately, it soon becomes -difficult to manage these. The multiple refreshes, updates plunge -you into a nightmare. The overlapping windows create blotches, -whenever you forget to refresh the windows in the proper order.

-

Don't despair. There's an elegant solution provided in panels -library. In the words of developers of ncurses

-

When your interface design is such that windows may dive -deeper into the visibility stack or pop to the top at runtime, the -resulting book-keeping can be tedious and difficult to get right. -Hence the panels library.

-

If you have lot of overlapping windows, then panels library is -the way to go. It obviates the need of doing series of -wnoutrefresh(), doupdate() and relieves the burden of doing it -correctly(bottom up). The library maintains information about the -order of windows, their overlapping and update the screen properly. -So why wait? Let's take a close peek into panels.

-
-
-

16.1. The -Basics

-

Panel object is a window that is implicitly treated as part of a -deck including all other panel objects. The deck is treated as a -stack with the top panel being completely visible and the other -panels may or may not be obscured according to their positions. So -the basic idea is to create a stack of overlapping panels and use -panels library to display them correctly. There is a function -similar to refresh() which, when called , displays panels in the -correct order. Functions are provided to hide or show panels, move -panels, change its size etc.. The overlapping problem is managed by -the panels library during all the calls to these functions.

-

The general flow of a panel program goes like this:

-
    -
  1. -

    Create the windows (with newwin()) to be attached to the -panels.

    -
  2. -
  3. -

    Create panels with the chosen visibility order. Stack them up -according to the desired visibility. The function new_panel() is -used to created panels.

    -
  4. -
  5. -

    Call update_panels() to write the panels to the virtual screen -in correct visibility order. Do a doupdate() to show it on the -screen.

    -
  6. -
  7. -

    Mainpulate the panels with show_panel(), hide_panel(), -move_panel() etc. Make use of helper functions like panel_hidden() -and panel_window(). Make use of user pointer to store custom data -for a panel. Use the functions set_panel_userptr() and -panel_userptr() to set and get the user pointer for a panel.

    -
  8. -
  9. -

    When you are done with the panel use del_panel() to delete the -panel.

    -
  10. -
-

Let's make the concepts clear, with some programs. The following -is a simple program which creates 3 overlapping panels and shows -them on the screen.

-
-
-
-

16.2. -Compiling With the Panels Library

-

To use panels library functions, you have to include panel.h and -to link the program with panels library the flag -lpanel should be -added along with -lncurses in that order.

- - - - -
-
-    #include <panel.h>
-    .
-    .
-    .
-
-    compile and link: gcc <program file> -lpanel -lncurses
-
-
-

Example 14. Panel basics

- - - - -
-
-#include <panel.h>
-
-int main()
-{       WINDOW *my_wins[3];
-        PANEL  *my_panels[3];
-        int lines = 10, cols = 40, y = 2, x = 4, i;
-
-        initscr();
-        cbreak();
-        noecho();
-
-        /* Create windows for the panels */
-        my_wins[0] = newwin(lines, cols, y, x);
-        my_wins[1] = newwin(lines, cols, y + 1, x + 5);
-        my_wins[2] = newwin(lines, cols, y + 2, x + 10);
-
-        /* 
-         * Create borders around the windows so that you can see the effect
-         * of panels
-         */
-        for(i = 0; i < 3; ++i)
-                box(my_wins[i], 0, 0);
-
-        /* Attach a panel to each window */     /* Order is bottom up */
-        my_panels[0] = new_panel(my_wins[0]);   /* Push 0, order: stdscr-0 */
-        my_panels[1] = new_panel(my_wins[1]);   /* Push 1, order: stdscr-0-1 */
-        my_panels[2] = new_panel(my_wins[2]);   /* Push 2, order: stdscr-0-1-2 */
-
-        /* Update the stacking order. 2nd panel will be on top */
-        update_panels();
-
-        /* Show it on the screen */
-        doupdate();
-        
-        getch();
-        endwin();
-}
-
-
-
-

As you can see, above program follows a simple flow as -explained. The windows are created with newwin() and then they are -attached to panels with new_panel(). As we attach one panel after -another, the stack of panels gets updated. To put them on screen -update_panels() and doupdate() are called.

-
-
-
-

16.3. -Panel Window Browsing

-

A slightly complicated example is given below. This program -creates 3 windows which can be cycled through using tab. Have a -look at the code.

-
-

Example 15. Panel Window Browsing Example

- - - - -
-
-#include <panel.h>
-
-#define NLINES 10
-#define NCOLS 40
-
-void init_wins(WINDOW **wins, int n);
-void win_show(WINDOW *win, char *label, int label_color);
-void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color);
-
-int main()
-{       WINDOW *my_wins[3];
-        PANEL  *my_panels[3];
-        PANEL  *top;
-        int ch;
-
-        /* Initialize curses */
-        initscr();
-        start_color();
-        cbreak();
-        noecho();
-        keypad(stdscr, TRUE);
-
-        /* Initialize all the colors */
-        init_pair(1, COLOR_RED, COLOR_BLACK);
-        init_pair(2, COLOR_GREEN, COLOR_BLACK);
-        init_pair(3, COLOR_BLUE, COLOR_BLACK);
-        init_pair(4, COLOR_CYAN, COLOR_BLACK);
-
-        init_wins(my_wins, 3);
-        
-        /* Attach a panel to each window */     /* Order is bottom up */
-        my_panels[0] = new_panel(my_wins[0]);   /* Push 0, order: stdscr-0 */
-        my_panels[1] = new_panel(my_wins[1]);   /* Push 1, order: stdscr-0-1 */
-        my_panels[2] = new_panel(my_wins[2]);   /* Push 2, order: stdscr-0-1-2 */
-
-        /* Set up the user pointers to the next panel */
-        set_panel_userptr(my_panels[0], my_panels[1]);
-        set_panel_userptr(my_panels[1], my_panels[2]);
-        set_panel_userptr(my_panels[2], my_panels[0]);
-
-        /* Update the stacking order. 2nd panel will be on top */
-        update_panels();
-
-        /* Show it on the screen */
-        attron(COLOR_PAIR(4));
-        mvprintw(LINES - 2, 0, "Use tab to browse through the windows (F1 to Exit)");
-        attroff(COLOR_PAIR(4));
-        doupdate();
-
-        top = my_panels[2];
-        while((ch = getch()) != KEY_F(1))
-        {       switch(ch)
-                {       case 9:
-                                top = (PANEL *)panel_userptr(top);
-                                top_panel(top);
-                                break;
-                }
-                update_panels();
-                doupdate();
-        }
-        endwin();
-        return 0;
-}
-
-/* Put all the windows */
-void init_wins(WINDOW **wins, int n)
-{       int x, y, i;
-        char label[80];
-
-        y = 2;
-        x = 10;
-        for(i = 0; i < n; ++i)
-        {       wins[i] = newwin(NLINES, NCOLS, y, x);
-                sprintf(label, "Window Number %d", i + 1);
-                win_show(wins[i], label, i + 1);
-                y += 3;
-                x += 7;
-        }
-}
-
-/* Show the window with a border and a label */
-void win_show(WINDOW *win, char *label, int label_color)
-{       int startx, starty, height, width;
-
-        getbegyx(win, starty, startx);
-        getmaxyx(win, height, width);
-
-        box(win, 0, 0);
-        mvwaddch(win, 2, 0, ACS_LTEE); 
-        mvwhline(win, 2, 1, ACS_HLINE, width - 2); 
-        mvwaddch(win, 2, width - 1, ACS_RTEE); 
-        
-        print_in_middle(win, 1, 0, width, label, COLOR_PAIR(label_color));
-}
-
-void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{       int length, x, y;
-        float temp;
-
-        if(win == NULL)
-                win = stdscr;
-        getyx(win, y, x);
-        if(startx != 0)
-                x = startx;
-        if(starty != 0)
-                y = starty;
-        if(width == 0)
-                width = 80;
-
-        length = strlen(string);
-        temp = (width - length)/ 2;
-        x = startx + (int)temp;
-        wattron(win, color);
-        mvwprintw(win, y, x, "%s", string);
-        wattroff(win, color);
-        refresh();
-}
-
-
-
-
-
-

16.4. -Using User Pointers

-

In the above example I used user pointers to find out the next -window in the cycle. We can attach custom information to the panel -by specifying a user pointer, which can point to any information -you want to store. In this case I stored the pointer to the next -panel in the cycle. User pointer for a panel can be set with the -function set_panel_userptr(). It can be -accessed using the function panel_userptr() which will return the user pointer -for the panel given as argument. After finding the next panel in -the cycle It's brought to the top by the function top_panel(). This -function brings the panel given as argument to the top of the panel -stack.

-
-
-
-

16.5. Moving and Resizing Panels

-

The function move_panel() can be used -to move a panel to the desired location. It does not change the -position of the panel in the stack. Make sure that you use -move_panel() instead mvwin() on the window associated with the -panel.

-

Resizing a panel is slightly complex. There is no straight -forward function just to resize the window associated with a panel. -A solution to resize a panel is to create a new window with the -desired sizes, change the window associated with the panel using -replace_panel(). Don't forget to delete the old window. The window -associated with a panel can be found by using the function -panel_window().

-

The following program shows these concepts, in supposedly simple -program. You can cycle through the window with <TAB> as -usual. To resize or move the active panel press 'r' for resize 'm' -for moving. Then use arrow keys to resize or move it to the desired -way and press enter to end your resizing or moving. This example -makes use of user data to get the required data to do the -operations.

-
-

Example 16. Panel Moving and Resizing example

- - - - -
-
-#include <panel.h>
-
-typedef struct _PANEL_DATA {
-        int x, y, w, h;
-        char label[80]; 
-        int label_color;
-        PANEL *next;
-}PANEL_DATA;
-
-#define NLINES 10
-#define NCOLS 40
-
-void init_wins(WINDOW **wins, int n);
-void win_show(WINDOW *win, char *label, int label_color);
-void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color);
-void set_user_ptrs(PANEL **panels, int n);
-
-int main()
-{       WINDOW *my_wins[3];
-        PANEL  *my_panels[3];
-        PANEL_DATA  *top;
-        PANEL *stack_top;
-        WINDOW *temp_win, *old_win;
-        int ch;
-        int newx, newy, neww, newh;
-        int size = FALSE, move = FALSE;
-
-        /* Initialize curses */
-        initscr();
-        start_color();
-        cbreak();
-        noecho();
-        keypad(stdscr, TRUE);
-
-        /* Initialize all the colors */
-        init_pair(1, COLOR_RED, COLOR_BLACK);
-        init_pair(2, COLOR_GREEN, COLOR_BLACK);
-        init_pair(3, COLOR_BLUE, COLOR_BLACK);
-        init_pair(4, COLOR_CYAN, COLOR_BLACK);
-
-        init_wins(my_wins, 3);
-        
-        /* Attach a panel to each window */     /* Order is bottom up */
-        my_panels[0] = new_panel(my_wins[0]);   /* Push 0, order: stdscr-0 */
-        my_panels[1] = new_panel(my_wins[1]);   /* Push 1, order: stdscr-0-1 */
-        my_panels[2] = new_panel(my_wins[2]);   /* Push 2, order: stdscr-0-1-2 */
-
-        set_user_ptrs(my_panels, 3);
-        /* Update the stacking order. 2nd panel will be on top */
-        update_panels();
-
-        /* Show it on the screen */
-        attron(COLOR_PAIR(4));
-        mvprintw(LINES - 3, 0, "Use 'm' for moving, 'r' for resizing");
-        mvprintw(LINES - 2, 0, "Use tab to browse through the windows (F1 to Exit)");
-        attroff(COLOR_PAIR(4));
-        doupdate();
-
-        stack_top = my_panels[2];
-        top = (PANEL_DATA *)panel_userptr(stack_top);
-        newx = top->x;
-        newy = top->y;
-        neww = top->w;
-        newh = top->h;
-        while((ch = getch()) != KEY_F(1))
-        {       switch(ch)
-                {       case 9:         /* Tab */
-                                top = (PANEL_DATA *)panel_userptr(stack_top);
-                                top_panel(top->next);
-                                stack_top = top->next;
-                                top = (PANEL_DATA *)panel_userptr(stack_top);
-                                newx = top->x;
-                                newy = top->y;
-                                neww = top->w;
-                                newh = top->h;
-                                break;
-                        case 'r':       /* Re-Size*/
-                                size = TRUE;
-                                attron(COLOR_PAIR(4));
-                                mvprintw(LINES - 4, 0, "Entered Resizing :Use Arrow Keys to resize and press <ENTER> to end resizing");
-                                refresh();
-                                attroff(COLOR_PAIR(4));
-                                break;
-                        case 'm':       /* Move */
-                                attron(COLOR_PAIR(4));
-                                mvprintw(LINES - 4, 0, "Entered Moving: Use Arrow Keys to Move and press <ENTER> to end moving");
-                                refresh();
-                                attroff(COLOR_PAIR(4));
-                                move = TRUE;
-                                break;
-                        case KEY_LEFT:
-                                if(size == TRUE)
-                                {       --newx;
-                                        ++neww;
-                                }
-                                if(move == TRUE)
-                                        --newx;
-                                break;
-                        case KEY_RIGHT:
-                                if(size == TRUE)
-                                {       ++newx;
-                                        --neww;
-                                }
-                                if(move == TRUE)
-                                        ++newx;
-                                break;
-                        case KEY_UP:
-                                if(size == TRUE)
-                                {       --newy;
-                                        ++newh;
-                                }
-                                if(move == TRUE)
-                                        --newy;
-                                break;
-                        case KEY_DOWN:
-                                if(size == TRUE)
-                                {       ++newy;
-                                        --newh;
-                                }
-                                if(move == TRUE)
-                                        ++newy;
-                                break;
-                        case 10:        /* Enter */
-                                move(LINES - 4, 0);
-                                clrtoeol();
-                                refresh();
-                                if(size == TRUE)
-                                {       old_win = panel_window(stack_top);
-                                        temp_win = newwin(newh, neww, newy, newx);
-                                        replace_panel(stack_top, temp_win);
-                                        win_show(temp_win, top->label, top->label_color); 
-                                        delwin(old_win);
-                                        size = FALSE;
-                                }
-                                if(move == TRUE)
-                                {       move_panel(stack_top, newy, newx);
-                                        move = FALSE;
-                                }
-                                break;
-                        
-                }
-                attron(COLOR_PAIR(4));
-                mvprintw(LINES - 3, 0, "Use 'm' for moving, 'r' for resizing");
-                mvprintw(LINES - 2, 0, "Use tab to browse through the windows (F1 to Exit)");
-                attroff(COLOR_PAIR(4));
-                refresh();      
-                update_panels();
-                doupdate();
-        }
-        endwin();
-        return 0;
-}
-
-/* Put all the windows */
-void init_wins(WINDOW **wins, int n)
-{       int x, y, i;
-        char label[80];
-
-        y = 2;
-        x = 10;
-        for(i = 0; i < n; ++i)
-        {       wins[i] = newwin(NLINES, NCOLS, y, x);
-                sprintf(label, "Window Number %d", i + 1);
-                win_show(wins[i], label, i + 1);
-                y += 3;
-                x += 7;
-        }
-}
-
-/* Set the PANEL_DATA structures for individual panels */
-void set_user_ptrs(PANEL **panels, int n)
-{       PANEL_DATA *ptrs;
-        WINDOW *win;
-        int x, y, w, h, i;
-        char temp[80];
-        
-        ptrs = (PANEL_DATA *)calloc(n, sizeof(PANEL_DATA));
-
-        for(i = 0;i < n; ++i)
-        {       win = panel_window(panels[i]);
-                getbegyx(win, y, x);
-                getmaxyx(win, h, w);
-                ptrs[i].x = x;
-                ptrs[i].y = y;
-                ptrs[i].w = w;
-                ptrs[i].h = h;
-                sprintf(temp, "Window Number %d", i + 1);
-                strcpy(ptrs[i].label, temp);
-                ptrs[i].label_color = i + 1;
-                if(i + 1 == n)
-                        ptrs[i].next = panels[0];
-                else
-                        ptrs[i].next = panels[i + 1];
-                set_panel_userptr(panels[i], &ptrs[i]);
-        }
-}
-
-/* Show the window with a border and a label */
-void win_show(WINDOW *win, char *label, int label_color)
-{       int startx, starty, height, width;
-
-        getbegyx(win, starty, startx);
-        getmaxyx(win, height, width);
-
-        box(win, 0, 0);
-        mvwaddch(win, 2, 0, ACS_LTEE); 
-        mvwhline(win, 2, 1, ACS_HLINE, width - 2); 
-        mvwaddch(win, 2, width - 1, ACS_RTEE); 
-        
-        print_in_middle(win, 1, 0, width, label, COLOR_PAIR(label_color));
-}
-
-void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{       int length, x, y;
-        float temp;
-
-        if(win == NULL)
-                win = stdscr;
-        getyx(win, y, x);
-        if(startx != 0)
-                x = startx;
-        if(starty != 0)
-                y = starty;
-        if(width == 0)
-                width = 80;
-
-        length = strlen(string);
-        temp = (width - length)/ 2;
-        x = startx + (int)temp;
-        wattron(win, color);
-        mvwprintw(win, y, x, "%s", string);
-        wattroff(win, color);
-        refresh();
-}
-
-
-

Concentrate on the main while loop. Once it finds out the type -of key pressed, it takes appropriate action. If 'r' is pressed -resizing mode is started. After this the new sizes are updated as -the user presses the arrow keys. When the user presses -<ENTER> present selection ends and panel is resized by using -the concept explained. While in resizing mode the program doesn't -show how the window is getting resized. It's left as an exercise to -the reader to print a dotted border while it gets resized to a new -position.

-

When the user presses 'm' the move mode starts. This is a bit -simpler than resizing. As the arrow keys are pressed the new -position is updated and pressing of <ENTER> causes the panel -to be moved by calling the function move_panel().

-

In this program the user data which is represented as -PANEL_DATA, plays very important role in finding the associated -information with a panel. As written in the comments, the -PANEL_DATA stores the panel sizes, label, label color and a pointer -to the next panel in the cycle.

-
-
-
-

16.6. -Hiding and Showing Panels

-

A Panel can be hidden by using the function hide_panel(). This -function merely removes it form the stack of panels, thus hiding it -on the screen once you do update_panels() and doupdate(). It -doesn't destroy the PANEL structure associated with the hidden -panel. It can be shown again by using the show_panel() -function.

-

The following program shows the hiding of panels. Press 'a' or -'b' or 'c' to show or hide first, second and third windows -respectively. It uses a user data with a small variable hide, which -keeps track of whether the window is hidden or not. For some reason -the function panel_hidden() which tells -whether a panel is hidden or not is not working. A bug report was -also presented by Michael Andres here

-
-

Example 17. Panel Hiding and Showing example

- - - - -
-
-#include <panel.h>
-
-typedef struct _PANEL_DATA {
-        int hide;       /* TRUE if panel is hidden */
-}PANEL_DATA;
-
-#define NLINES 10
-#define NCOLS 40
-
-void init_wins(WINDOW **wins, int n);
-void win_show(WINDOW *win, char *label, int label_color);
-void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color);
-
-int main()
-{       WINDOW *my_wins[3];
-        PANEL  *my_panels[3];
-        PANEL_DATA panel_datas[3];
-        PANEL_DATA *temp;
-        int ch;
-
-        /* Initialize curses */
-        initscr();
-        start_color();
-        cbreak();
-        noecho();
-        keypad(stdscr, TRUE);
-
-        /* Initialize all the colors */
-        init_pair(1, COLOR_RED, COLOR_BLACK);
-        init_pair(2, COLOR_GREEN, COLOR_BLACK);
-        init_pair(3, COLOR_BLUE, COLOR_BLACK);
-        init_pair(4, COLOR_CYAN, COLOR_BLACK);
-
-        init_wins(my_wins, 3);
-        
-        /* Attach a panel to each window */     /* Order is bottom up */
-        my_panels[0] = new_panel(my_wins[0]);   /* Push 0, order: stdscr-0 */
-        my_panels[1] = new_panel(my_wins[1]);   /* Push 1, order: stdscr-0-1 */
-        my_panels[2] = new_panel(my_wins[2]);   /* Push 2, order: stdscr-0-1-2 */
-
-        /* Initialize panel datas saying that nothing is hidden */
-        panel_datas[0].hide = FALSE;
-        panel_datas[1].hide = FALSE;
-        panel_datas[2].hide = FALSE;
-
-        set_panel_userptr(my_panels[0], &panel_datas[0]);
-        set_panel_userptr(my_panels[1], &panel_datas[1]);
-        set_panel_userptr(my_panels[2], &panel_datas[2]);
-
-        /* Update the stacking order. 2nd panel will be on top */
-        update_panels();
-
-        /* Show it on the screen */
-        attron(COLOR_PAIR(4));
-        mvprintw(LINES - 3, 0, "Show or Hide a window with 'a'(first window)  'b'(Second Window)  'c'(Third Window)");
-        mvprintw(LINES - 2, 0, "F1 to Exit");
-
-        attroff(COLOR_PAIR(4));
-        doupdate();
-        
-        while((ch = getch()) != KEY_F(1))
-        {       switch(ch)
-                {       case 'a':                       
-                                temp = (PANEL_DATA *)panel_userptr(my_panels[0]);
-                                if(temp->hide == FALSE)
-                                {       hide_panel(my_panels[0]);
-                                        temp->hide = TRUE;
-                                }
-                                else
-                                {       show_panel(my_panels[0]);
-                                        temp->hide = FALSE;
-                                }
-                                break;
-                        case 'b':
-                                temp = (PANEL_DATA *)panel_userptr(my_panels[1]);
-                                if(temp->hide == FALSE)
-                                {       hide_panel(my_panels[1]);
-                                        temp->hide = TRUE;
-                                }
-                                else
-                                {       show_panel(my_panels[1]);
-                                        temp->hide = FALSE;
-                                }
-                                break;
-                        case 'c':
-                                temp = (PANEL_DATA *)panel_userptr(my_panels[2]);
-                                if(temp->hide == FALSE)
-                                {       hide_panel(my_panels[2]);
-                                        temp->hide = TRUE;
-                                }
-                                else
-                                {       show_panel(my_panels[2]);
-                                        temp->hide = FALSE;
-                                }
-                                break;
-                }
-                update_panels();
-                doupdate();
-        }
-        endwin();
-        return 0;
-}
-
-/* Put all the windows */
-void init_wins(WINDOW **wins, int n)
-{       int x, y, i;
-        char label[80];
-
-        y = 2;
-        x = 10;
-        for(i = 0; i < n; ++i)
-        {       wins[i] = newwin(NLINES, NCOLS, y, x);
-                sprintf(label, "Window Number %d", i + 1);
-                win_show(wins[i], label, i + 1);
-                y += 3;
-                x += 7;
-        }
-}
-
-/* Show the window with a border and a label */
-void win_show(WINDOW *win, char *label, int label_color)
-{       int startx, starty, height, width;
-
-        getbegyx(win, starty, startx);
-        getmaxyx(win, height, width);
-
-        box(win, 0, 0);
-        mvwaddch(win, 2, 0, ACS_LTEE); 
-        mvwhline(win, 2, 1, ACS_HLINE, width - 2); 
-        mvwaddch(win, 2, width - 1, ACS_RTEE); 
-        
-        print_in_middle(win, 1, 0, width, label, COLOR_PAIR(label_color));
-}
-
-void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{       int length, x, y;
-        float temp;
-
-        if(win == NULL)
-                win = stdscr;
-        getyx(win, y, x);
-        if(startx != 0)
-                x = startx;
-        if(starty != 0)
-                y = starty;
-        if(width == 0)
-                width = 80;
-
-        length = strlen(string);
-        temp = (width - length)/ 2;
-        x = startx + (int)temp;
-        wattron(win, color);
-        mvwprintw(win, y, x, "%s", string);
-        wattroff(win, color);
-        refresh();
-}
-
-
-
-
-
-

16.7. -panel_above() and panel_below() Functions

-

The functions panel_above() and -panel_below() can be used to find out -the panel above and below a panel. If the argument to these -functions is NULL, then they return a pointer to bottom panel and -top panel respectively.

-
-
-
-
-

17. Menus -Library

-

The menus library provides a nice extension to basic curses, -through which you can create menus. It provides a set of functions -to create menus. But they have to be customized to give a nicer -look, with colors etc. Let's get into the details.

-

A menu is a screen display that assists the user to choose some -subset of a given set of items. To put it simple, a menu is a -collection of items from which one or more items can be chosen. -Some readers might not be aware of multiple item selection -capability. Menu library provides functionality to write menus from -which the user can chose more than one item as the preferred -choice. This is dealt with in a later section. Now it is time for -some rudiments.

-
-
-

17.1. The -Basics

-

To create menus, you first create items, and then post the menu -to the display. After that, all the processing of user responses is -done in an elegant function menu_driver() which is the work horse -of any menu program.

-

The general flow of control of a menu program looks like -this.

-
    -
  1. -

    Initialize curses

    -
  2. -
  3. -

    Create items using new_item(). You can specify a name and -description for the items.

    -
  4. -
  5. -

    Create the menu with new_menu() by specifying the items to be -attached with.

    -
  6. -
  7. -

    Post the menu with menu_post() and refresh the screen.

    -
  8. -
  9. -

    Process the user requests with a loop and do necessary updates -to menu with menu_driver.

    -
  10. -
  11. -

    Unpost the menu with menu_unpost()

    -
  12. -
  13. -

    Free the memory allocated to menu by free_menu()

    -
  14. -
  15. -

    Free the memory allocated to the items with free_item()

    -
  16. -
  17. -

    End curses

    -
  18. -
-

Let's see a program which prints a simple menu and updates the -current selection with up, down arrows.

-
-
-
-

17.2. -Compiling With the Menu Library

-

To use menu library functions, you have to include menu.h and to -link the program with menu library the flag -lmenu should be added -along with -lncurses in that order.

- - - - -
-
-    #include <menu.h>
-    .
-    .
-    .
-
-    compile and link: gcc <program file> -lmenu -lncurses
-
-
-

Example 18. Menu Basics

- - - - -
-
-#include <curses.h>
-#include <menu.h>
-
-#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD   4
-
-char *choices[] = {
-                        "Choice 1",
-                        "Choice 2",
-                        "Choice 3",
-                        "Choice 4",
-                        "Exit",
-                  };
-
-int main()
-{       ITEM **my_items;
-        int c;                          
-        MENU *my_menu;
-        int n_choices, i;
-        ITEM *cur_item;
-        
-        
-        initscr();
-        cbreak();
-        noecho();
-        keypad(stdscr, TRUE);
-        
-        n_choices = ARRAY_SIZE(choices);
-        my_items = (ITEM **)calloc(n_choices + 1, sizeof(ITEM *));
-
-        for(i = 0; i < n_choices; ++i)
-                my_items[i] = new_item(choices[i], choices[i]);
-        my_items[n_choices] = (ITEM *)NULL;
-
-        my_menu = new_menu((ITEM **)my_items);
-        mvprintw(LINES - 2, 0, "F1 to Exit");
-        post_menu(my_menu);
-        refresh();
-
-        while((c = getch()) != KEY_F(1))
-        {   switch(c)
-            {   case KEY_DOWN:
-                        menu_driver(my_menu, REQ_DOWN_ITEM);
-                                break;
-                        case KEY_UP:
-                                menu_driver(my_menu, REQ_UP_ITEM);
-                                break;
-                }
-        }       
-
-        free_item(my_items[0]);
-        free_item(my_items[1]);
-        free_menu(my_menu);
-        endwin();
-}
-        
-
-
-

This program demonstrates the basic concepts involved in -creating a menu using menus library. First we create the items -using new_item() and then attach them to the menu with new_menu() -function. After posting the menu and refreshing the screen, the -main processing loop starts. It reads user input and takes -corresponding action. The function menu_driver() is the main work -horse of the menu system. The second parameter to this function -tells what's to be done with the menu. According to the parameter, -menu_driver() does the corresponding task. The value can be either -a menu navigational request, an ascii character, or a KEY_MOUSE -special key associated with a mouse event.

-

The menu_driver accepts following navigational requests.

- - - - -
-
-
     REQ_LEFT_ITEM         Move left to an item.
-     REQ_RIGHT_ITEM      Move right to an item.
-     REQ_UP_ITEM         Move up to an item.
-     REQ_DOWN_ITEM       Move down to an item.
-     REQ_SCR_ULINE       Scroll up a line.
-     REQ_SCR_DLINE          Scroll down a line.
-     REQ_SCR_DPAGE          Scroll down a page.
-     REQ_SCR_UPAGE         Scroll up a page.
-     REQ_FIRST_ITEM     Move to the first item.
-     REQ_LAST_ITEM         Move to the last item.
-     REQ_NEXT_ITEM         Move to the next item.
-     REQ_PREV_ITEM         Move to the previous item. 
-     REQ_TOGGLE_ITEM     Select/deselect an item.
-     REQ_CLEAR_PATTERN     Clear the menu pattern buffer.
-     REQ_BACK_PATTERN      Delete the previous character from the pattern buffer.
-     REQ_NEXT_MATCH     Move to the next item matching the pattern match.
-     REQ_PREV_MATCH     Move to the previous item matching the pattern match.
-
-

Don't get overwhelmed by the number of options. We will see them -slowly one after another. The options of interest in this example -are REQ_UP_ITEM and REQ_DOWN_ITEM. These two options when passed to -menu_driver, menu driver updates the current item to one item up or -down respectively.

-
-
-
-

17.3. Menu -Driver: The work horse of the menu system

-

As you have seen in the above example, menu_driver plays an -important role in updating the menu. It is very important to -understand various options it takes and what they do. As explained -above, the second parameter to menu_driver() can be either a -navigational request, a printable character or a KEY_MOUSE key. -Let's dissect the different navigational requests.

-
    -
  • -

    REQ_LEFT_ITEM and REQ_RIGHT_ITEM

    -

    A Menu can be displayed with multiple columns for more than one -item. This can be done by using the menu_format()function. When a multi columnar menu -is displayed these requests cause the menu driver to move the -current selection to left or right.

    -
  • -
  • -

    REQ_UP_ITEM and REQ_DOWN_ITEM

    -

    These two options you have seen in the above example. These -options when given, makes the menu_driver to move the current -selection to an item up or down.

    -
  • -
  • -

    REQ_SCR_* options

    -

    The four options REQ_SCR_ULINE, REQ_SCR_DLINE, REQ_SCR_DPAGE, -REQ_SCR_UPAGE are related to scrolling. If all the items in the -menu cannot be displayed in the menu sub window, then the menu is -scrollable. These requests can be given to the menu_driver to do -the scrolling either one line up, down or one page down or up -respectively.

    -
  • -
  • -

    REQ_FIRST_ITEM, REQ_LAST_ITEM, REQ_NEXT_ITEM and -REQ_PREV_ITEM

    -

    These requests are self explanatory.

    -
  • -
  • -

    REQ_TOGGLE_ITEM

    -

    This request when given, toggles the present selection. This -option is to be used only in a multi valued menu. So to use this -request the option O_ONEVALUE must be off. This option can be made -off or on with set_menu_opts().

    -
  • -
  • -

    Pattern Requests

    -

    Every menu has an associated pattern buffer, which is used to -find the nearest match to the ascii characters entered by the user. -Whenever ascii characters are given to menu_driver, it puts in to -the pattern buffer. It also tries to find the nearest match to the -pattern in the items list and moves current selection to that item. -The request REQ_CLEAR_PATTERN clears the pattern buffer. The -request REQ_BACK_PATTERN deletes the previous character in the -pattern buffer. In case the pattern matches more than one item then -the matched items can be cycled through REQ_NEXT_MATCH and -REQ_PREV_MATCH which move the current selection to the next and -previous matches respectively.

    -
  • -
  • -

    Mouse Requests

    -

    In case of KEY_MOUSE requests, according to the mouse position -an action is taken accordingly. The action to be taken is explained -in the man page as,

    - - - - -
    -
    -       If  the  second argument is the KEY_MOUSE special key, the
    -       associated mouse event is translated into one of the above
    -       pre-defined  requests.   Currently only clicks in the user
    -       window (e.g. inside the menu display area or  the  decora­
    -       tion  window)  are handled. If you click above the display
    -       region of the menu, a REQ_SCR_ULINE is generated,  if  you
    -       doubleclick  a  REQ_SCR_UPAGE  is  generated  and  if  you
    -       tripleclick a REQ_FIRST_ITEM is generated.  If  you  click
    -       below  the  display region of the menu, a REQ_SCR_DLINE is
    -       generated, if you doubleclick a REQ_SCR_DPAGE is generated
    -       and  if  you  tripleclick a REQ_LAST_ITEM is generated. If
    -       you click at an item inside the display area of the  menu,
    -       the menu cursor is positioned to that item.
    -
    -
  • -
-

Each of the above requests will be explained in the following -lines with several examples whenever appropriate.

-
-
-
-

17.4. Menu -Windows

-

Every menu created is associated with a window and a sub window. -The menu window displays any title or border associated with the -menu. The menu sub window displays the menu items currently -available for selection. But we didn't specify any window or sub -window in the simple example. When a window is not specified, -stdscr is taken as the main window, and then menu system calculates -the sub window size required for the display of items. Then items -are displayed in the calculated sub window. So let's play with -these windows and display a menu with a border and a title.

-
-

Example 19. Menu Windows Usage example

- - - - -
-
-#include <menu.h>
-
-#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD   4
-
-char *choices[] = {
-                        "Choice 1",
-                        "Choice 2",
-                        "Choice 3",
-                        "Choice 4",
-                        "Exit",
-                        (char *)NULL,
-                  };
-void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color);
-
-int main()
-{       ITEM **my_items;
-        int c;                          
-        MENU *my_menu;
-        WINDOW *my_menu_win;
-        int n_choices, i;
-        
-        /* Initialize curses */
-        initscr();
-        start_color();
-        cbreak();
-        noecho();
-        keypad(stdscr, TRUE);
-        init_pair(1, COLOR_RED, COLOR_BLACK);
-
-        /* Create items */
-        n_choices = ARRAY_SIZE(choices);
-        my_items = (ITEM **)calloc(n_choices, sizeof(ITEM *));
-        for(i = 0; i < n_choices; ++i)
-                my_items[i] = new_item(choices[i], choices[i]);
-
-        /* Crate menu */
-        my_menu = new_menu((ITEM **)my_items);
-
-        /* Create the window to be associated with the menu */
-        my_menu_win = newwin(10, 40, 4, 4);
-        keypad(my_menu_win, TRUE);
-     
-        /* Set main window and sub window */
-        set_menu_win(my_menu, my_menu_win);
-        set_menu_sub(my_menu, derwin(my_menu_win, 6, 38, 3, 1));
-
-        /* Set menu mark to the string " * " */
-        set_menu_mark(my_menu, " * ");
-
-        /* Print a border around the main window and print a title */
-        box(my_menu_win, 0, 0);
-        print_in_middle(my_menu_win, 1, 0, 40, "My Menu", COLOR_PAIR(1));
-        mvwaddch(my_menu_win, 2, 0, ACS_LTEE);
-        mvwhline(my_menu_win, 2, 1, ACS_HLINE, 38);
-        mvwaddch(my_menu_win, 2, 39, ACS_RTEE);
-        mvprintw(LINES - 2, 0, "F1 to exit");
-        refresh();
-        
-        /* Post the menu */
-        post_menu(my_menu);
-        wrefresh(my_menu_win);
-
-        while((c = wgetch(my_menu_win)) != KEY_F(1))
-        {       switch(c)
-                {       case KEY_DOWN:
-                                menu_driver(my_menu, REQ_DOWN_ITEM);
-                                break;
-                        case KEY_UP:
-                                menu_driver(my_menu, REQ_UP_ITEM);
-                                break;
-                }
-                wrefresh(my_menu_win);
-        }       
-
-        /* Unpost and free all the memory taken up */
-        unpost_menu(my_menu);
-        free_menu(my_menu);
-        for(i = 0; i < n_choices; ++i)
-                free_item(my_items[i]);
-        endwin();
-}
-
-void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{       int length, x, y;
-        float temp;
-
-        if(win == NULL)
-                win = stdscr;
-        getyx(win, y, x);
-        if(startx != 0)
-                x = startx;
-        if(starty != 0)
-                y = starty;
-        if(width == 0)
-                width = 80;
-
-        length = strlen(string);
-        temp = (width - length)/ 2;
-        x = startx + (int)temp;
-        wattron(win, color);
-        mvwprintw(win, y, x, "%s", string);
-        wattroff(win, color);
-        refresh();
-}
-
-
-

This example creates a menu with a title, border, a fancy line -separating title and the items. As you can see, in order to attach -a window to a menu the function set_menu_win() has to be used. Then -we attach the sub window also. This displays the items in the sub -window. You can also set the mark string which gets displayed to -the left of the selected item with set_menu_mark().

-
-
-
-

17.5. -Scrolling Menus

-

If the sub window given for a window is not big enough to show -all the items, then the menu will be scrollable. When you are on -the last item in the present list, if you send REQ_DOWN_ITEM, it -gets translated into REQ_SCR_DLINE and the menu scrolls by one -item. You can manually give REQ_SCR_ operations to do scrolling. -Let's see how it can be done.

-
-

Example 20. Scrolling Menus example

- - - - -
-
-#include <curses.h>
-#include <menu.h>
-
-#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD   4
-
-char *choices[] = {
-                        "Choice 1",
-                        "Choice 2",
-                        "Choice 3",
-                        "Choice 4",
-                        "Choice 5",
-                        "Choice 6",
-                        "Choice 7",
-                        "Choice 8",
-                        "Choice 9",
-                        "Choice 10",
-                        "Exit",
-                        (char *)NULL,
-                  };
-void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color);
-
-int main()
-{       ITEM **my_items;
-        int c;                          
-        MENU *my_menu;
-        WINDOW *my_menu_win;
-        int n_choices, i;
-        
-        /* Initialize curses */
-        initscr();
-        start_color();
-        cbreak();
-        noecho();
-        keypad(stdscr, TRUE);
-        init_pair(1, COLOR_RED, COLOR_BLACK);
-        init_pair(2, COLOR_CYAN, COLOR_BLACK);
-
-        /* Create items */
-        n_choices = ARRAY_SIZE(choices);
-        my_items = (ITEM **)calloc(n_choices, sizeof(ITEM *));
-        for(i = 0; i < n_choices; ++i)
-                my_items[i] = new_item(choices[i], choices[i]);
-
-        /* Crate menu */
-        my_menu = new_menu((ITEM **)my_items);
-
-        /* Create the window to be associated with the menu */
-        my_menu_win = newwin(10, 40, 4, 4);
-        keypad(my_menu_win, TRUE);
-     
-        /* Set main window and sub window */
-        set_menu_win(my_menu, my_menu_win);
-        set_menu_sub(my_menu, derwin(my_menu_win, 6, 38, 3, 1));
-        set_menu_format(my_menu, 5, 1);
-                        
-        /* Set menu mark to the string " * " */
-        set_menu_mark(my_menu, " * ");
-
-        /* Print a border around the main window and print a title */
-        box(my_menu_win, 0, 0);
-        print_in_middle(my_menu_win, 1, 0, 40, "My Menu", COLOR_PAIR(1));
-        mvwaddch(my_menu_win, 2, 0, ACS_LTEE);
-        mvwhline(my_menu_win, 2, 1, ACS_HLINE, 38);
-        mvwaddch(my_menu_win, 2, 39, ACS_RTEE);
-        
-        /* Post the menu */
-        post_menu(my_menu);
-        wrefresh(my_menu_win);
-        
-        attron(COLOR_PAIR(2));
-        mvprintw(LINES - 2, 0, "Use PageUp and PageDown to scoll down or up a page of items");
-        mvprintw(LINES - 1, 0, "Arrow Keys to navigate (F1 to Exit)");
-        attroff(COLOR_PAIR(2));
-        refresh();
-
-        while((c = wgetch(my_menu_win)) != KEY_F(1))
-        {       switch(c)
-                {       case KEY_DOWN:
-                                menu_driver(my_menu, REQ_DOWN_ITEM);
-                                break;
-                        case KEY_UP:
-                                menu_driver(my_menu, REQ_UP_ITEM);
-                                break;
-                        case KEY_NPAGE:
-                                menu_driver(my_menu, REQ_SCR_DPAGE);
-                                break;
-                        case KEY_PPAGE:
-                                menu_driver(my_menu, REQ_SCR_UPAGE);
-                                break;
-                }
-                wrefresh(my_menu_win);
-        }       
-
-        /* Unpost and free all the memory taken up */
-        unpost_menu(my_menu);
-        free_menu(my_menu);
-        for(i = 0; i < n_choices; ++i)
-                free_item(my_items[i]);
-        endwin();
-}
-
-void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{       int length, x, y;
-        float temp;
-
-        if(win == NULL)
-                win = stdscr;
-        getyx(win, y, x);
-        if(startx != 0)
-                x = startx;
-        if(starty != 0)
-                y = starty;
-        if(width == 0)
-                width = 80;
-
-        length = strlen(string);
-        temp = (width - length)/ 2;
-        x = startx + (int)temp;
-        wattron(win, color);
-        mvwprintw(win, y, x, "%s", string);
-        wattroff(win, color);
-        refresh();
-}
-
-
-

This program is self-explanatory. In this example the number of -choices has been increased to ten, which is larger than our sub -window size which can hold 6 items. This message has to be -explicitly conveyed to the menu system with the function -set_menu_format(). In here we specify the number of rows and -columns we want to be displayed for a single page. We can specify -any number of items to be shown, in the rows variables, if it is -less than the height of the sub window. If the key pressed by the -user is a PAGE UP or PAGE DOWN, the menu is scrolled a page due to -the requests (REQ_SCR_DPAGE and REQ_SCR_UPAGE) given to -menu_driver().

-
-
-
-

17.6. -Multi Columnar Menus

-

In the above example you have seen how to use the function -set_menu_format(). I didn't mention what the cols variable (third -parameter) does. Well, If your sub window is wide enough, you can -opt to display more than one item per row. This can be specified in -the cols variable. To make things simpler, the following example -doesn't show descriptions for the items.

-
-

Example 21. Milt Columnar Menus Example

- - - - -
-
-#include <curses.h>
-#include <menu.h>
-
-#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD   4
-
-char *choices[] = {
-                        "Choice 1", "Choice 2", "Choice 3", "Choice 4", "Choice 5",
-                        "Choice 6", "Choice 7", "Choice 8", "Choice 9", "Choice 10",
-                        "Choice 11", "Choice 12", "Choice 13", "Choice 14", "Choice 15",
-                        "Choice 16", "Choice 17", "Choice 18", "Choice 19", "Choice 20",
-                        "Exit",
-                        (char *)NULL,
-                  };
-
-int main()
-{       ITEM **my_items;
-        int c;                          
-        MENU *my_menu;
-        WINDOW *my_menu_win;
-        int n_choices, i;
-        
-        /* Initialize curses */
-        initscr();
-        start_color();
-        cbreak();
-        noecho();
-        keypad(stdscr, TRUE);
-        init_pair(1, COLOR_RED, COLOR_BLACK);
-        init_pair(2, COLOR_CYAN, COLOR_BLACK);
-
-        /* Create items */
-        n_choices = ARRAY_SIZE(choices);
-        my_items = (ITEM **)calloc(n_choices, sizeof(ITEM *));
-        for(i = 0; i < n_choices; ++i)
-                my_items[i] = new_item(choices[i], choices[i]);
-
-        /* Crate menu */
-        my_menu = new_menu((ITEM **)my_items);
-
-        /* Set menu option not to show the description */
-        menu_opts_off(my_menu, O_SHOWDESC);
-
-        /* Create the window to be associated with the menu */
-        my_menu_win = newwin(10, 70, 4, 4);
-        keypad(my_menu_win, TRUE);
-     
-        /* Set main window and sub window */
-        set_menu_win(my_menu, my_menu_win);
-        set_menu_sub(my_menu, derwin(my_menu_win, 6, 68, 3, 1));
-        set_menu_format(my_menu, 5, 3);
-        set_menu_mark(my_menu, " * ");
-
-        /* Print a border around the main window and print a title */
-        box(my_menu_win, 0, 0);
-        
-        attron(COLOR_PAIR(2));
-        mvprintw(LINES - 3, 0, "Use PageUp and PageDown to scroll");
-        mvprintw(LINES - 2, 0, "Use Arrow Keys to navigate (F1 to Exit)");
-        attroff(COLOR_PAIR(2));
-        refresh();
-
-        /* Post the menu */
-        post_menu(my_menu);
-        wrefresh(my_menu_win);
-        
-        while((c = wgetch(my_menu_win)) != KEY_F(1))
-        {       switch(c)
-                {       case KEY_DOWN:
-                                menu_driver(my_menu, REQ_DOWN_ITEM);
-                                break;
-                        case KEY_UP:
-                                menu_driver(my_menu, REQ_UP_ITEM);
-                                break;
-                        case KEY_LEFT:
-                                menu_driver(my_menu, REQ_LEFT_ITEM);
-                                break;
-                        case KEY_RIGHT:
-                                menu_driver(my_menu, REQ_RIGHT_ITEM);
-                                break;
-                        case KEY_NPAGE:
-                                menu_driver(my_menu, REQ_SCR_DPAGE);
-                                break;
-                        case KEY_PPAGE:
-                                menu_driver(my_menu, REQ_SCR_UPAGE);
-                                break;
-                }
-                wrefresh(my_menu_win);
-        }       
-
-        /* Unpost and free all the memory taken up */
-        unpost_menu(my_menu);
-        free_menu(my_menu);
-        for(i = 0; i < n_choices; ++i)
-                free_item(my_items[i]);
-        endwin();
-}
-
-
-

Watch the function call to set_menu_format(). It specifies the -number of columns to be 3, thus displaying 3 items per row. We have -also switched off the showing descriptions with the function -menu_opts_off(). There are couple of functions set_menu_opts(), -menu_opts_on() and menu_opts() which can be used to manipulate menu -options. The following menu options can be specified.

- - - - -
-
-       O_ONEVALUE
-            Only one item can be selected for this menu.
-
-       O_SHOWDESC
-            Display  the  item  descriptions  when  the  menu  is
-            posted.
-
-       O_ROWMAJOR
-            Display the menu in row-major order.
-
-       O_IGNORECASE
-            Ignore the case when pattern-matching.
-
-       O_SHOWMATCH
-            Move the cursor to within the item  name  while  pat­
-            tern-matching.
-
-       O_NONCYCLIC
-            Don't   wrap   around  next-item  and  previous-item,
-            requests to the other end of the menu.
-
-

All options are on by default. You can switch specific -attributes on or off with menu_opts_on() and menu_opts_off() -functions. You can also use set_menu_opts() to directly specify the -options. The argument to this function should be a OR ed value of -some of those above constants. The function menu_opts() can be used -to find out a menu's present options.

-
-
-
-

17.7. Multi Valued Menus

-

You might be wondering what if you switch off the option -O_ONEVALUE. Then the menu becomes multi-valued. That means you can -select more than one item. This brings us to the request -REQ_TOGGLE_ITEM. Let's see it in action.

-
-

Example 22. Multi Valued Menus example

- - - - -
-
-#include <curses.h>
-#include <menu.h>
-
-#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD   4
-
-char *choices[] = {
-                        "Choice 1",
-                        "Choice 2",
-                        "Choice 3",
-                        "Choice 4",
-                        "Choice 5",
-                        "Choice 6",
-                        "Choice 7",
-                        "Exit",
-                  };
-
-int main()
-{       ITEM **my_items;
-        int c;                          
-        MENU *my_menu;
-        int n_choices, i;
-        ITEM *cur_item;
-        
-        /* Initialize curses */ 
-        initscr();
-        cbreak();
-        noecho();
-        keypad(stdscr, TRUE);
-
-        /* Initialize items */
-        n_choices = ARRAY_SIZE(choices);
-        my_items = (ITEM **)calloc(n_choices + 1, sizeof(ITEM *));
-        for(i = 0; i < n_choices; ++i)
-                my_items[i] = new_item(choices[i], choices[i]);
-        my_items[n_choices] = (ITEM *)NULL;
-
-        my_menu = new_menu((ITEM **)my_items);
-
-        /* Make the menu multi valued */
-        menu_opts_off(my_menu, O_ONEVALUE);
-
-        mvprintw(LINES - 3, 0, "Use <SPACE> to select or unselect an item.");
-        mvprintw(LINES - 2, 0, "<ENTER> to see presently selected items(F1 to Exit)");
-        post_menu(my_menu);
-        refresh();
-
-        while((c = getch()) != KEY_F(1))
-        {       switch(c)
-                {       case KEY_DOWN:
-                                menu_driver(my_menu, REQ_DOWN_ITEM);
-                                break;
-                        case KEY_UP:
-                                menu_driver(my_menu, REQ_UP_ITEM);
-                                break;
-                        case ' ':
-                                menu_driver(my_menu, REQ_TOGGLE_ITEM);
-                                break;
-                        case 10:        /* Enter */
-                        {       char temp[200];
-                                ITEM **items;
-
-                                items = menu_items(my_menu);
-                                temp[0] = '\0';
-                                for(i = 0; i < item_count(my_menu); ++i)
-                                        if(item_value(items[i]) == TRUE)
-                                        {       strcat(temp, item_name(items[i]));
-                                                strcat(temp, " ");
-                                        }
-                                move(20, 0);
-                                clrtoeol();
-                                mvprintw(20, 0, temp);
-                                refresh();
-                        }
-                        break;
-                }
-        }       
-
-        free_item(my_items[0]);
-        free_item(my_items[1]);
-        free_menu(my_menu);
-        endwin();
-}
-        
-
-
-

Whew, A lot of new functions. Let's take them one after another. -Firstly, the REQ_TOGGLE_ITEM. In a multi-valued menu, the user -should be allowed to select or un select more than one item. The -request REQ_TOGGLE_ITEM toggles the present selection. In this case -when space is pressed REQ_TOGGLE_ITEM request is sent to -menu_driver to achieve the result.

-

Now when the user presses <ENTER> we show the items he -presently selected. First we find out the items associated with the -menu using the function menu_items(). Then we loop through the -items to find out if the item is selected or not. The function -item_value() returns TRUE if an item is selected. The function -item_count() returns the number of items in the menu. The item name -can be found with item_name(). You can also find the description -associated with an item using item_description().

-
-
-
-

17.8. Menu -Options

-

Well, by this time you must be itching for some difference in -your menu, with lots of functionality. I know. You want Colors !!!. -You want to create nice menus similar to those text mode dos -games. The functions set_menu_fore() and set_menu_back() can be -used to change the attribute of the selected item and unselected -item. The names are misleading. They don't change menu's foreground -or background which would have been useless.

-

The function set_menu_grey() can be used to set the display -attribute for the non-selectable items in the menu. This brings us -to the interesting option for an item the one and only -O_SELECTABLE. We can turn it off by the function item_opts_off() -and after that that item is not selectable. It's like a grayed item -in those fancy windows menus. Let's put these concepts in practice -with this example

-
-

Example 23. Menu Options example

- - - - -
-
-#include <menu.h>
-
-#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD   4
-
-char *choices[] = {
-                        "Choice 1",
-                        "Choice 2",
-                        "Choice 3",
-                        "Choice 4",
-                        "Choice 5",
-                        "Choice 6",
-                        "Choice 7",
-                        "Exit",
-                  };
-
-int main()
-{       ITEM **my_items;
-        int c;                          
-        MENU *my_menu;
-        int n_choices, i;
-        ITEM *cur_item;
-        
-        /* Initialize curses */ 
-        initscr();
-        start_color();
-        cbreak();
-        noecho();
-        keypad(stdscr, TRUE);
-        init_pair(1, COLOR_RED, COLOR_BLACK);
-        init_pair(2, COLOR_GREEN, COLOR_BLACK);
-        init_pair(3, COLOR_MAGENTA, COLOR_BLACK);
-
-        /* Initialize items */
-        n_choices = ARRAY_SIZE(choices);
-        my_items = (ITEM **)calloc(n_choices + 1, sizeof(ITEM *));
-        for(i = 0; i < n_choices; ++i)
-                my_items[i] = new_item(choices[i], choices[i]);
-        my_items[n_choices] = (ITEM *)NULL;
-        item_opts_off(my_items[3], O_SELECTABLE);
-        item_opts_off(my_items[6], O_SELECTABLE);
-
-        /* Create menu */
-        my_menu = new_menu((ITEM **)my_items);
-
-        /* Set fore ground and back ground of the menu */
-        set_menu_fore(my_menu, COLOR_PAIR(1) | A_REVERSE);
-        set_menu_back(my_menu, COLOR_PAIR(2));
-        set_menu_grey(my_menu, COLOR_PAIR(3));
-
-        /* Post the menu */
-        mvprintw(LINES - 3, 0, "Press <ENTER> to see the option selected");
-        mvprintw(LINES - 2, 0, "Up and Down arrow keys to naviage (F1 to Exit)");
-        post_menu(my_menu);
-        refresh();
-
-        while((c = getch()) != KEY_F(1))
-        {       switch(c)
-                {       case KEY_DOWN:
-                                menu_driver(my_menu, REQ_DOWN_ITEM);
-                                break;
-                        case KEY_UP:
-                                menu_driver(my_menu, REQ_UP_ITEM);
-                                break;
-                        case 10: /* Enter */
-                                move(20, 0);
-                                clrtoeol();
-                                mvprintw(20, 0, "Item selected is : %s", 
-                                                item_name(current_item(my_menu)));
-                                pos_menu_cursor(my_menu);
-                                break;
-                }
-        }       
-        unpost_menu(my_menu);
-        for(i = 0; i < n_choices; ++i)
-                free_item(my_items[i]);
-        free_menu(my_menu);
-        endwin();
-}
-        
-
-
-
-
-
-

17.9. The -useful User Pointer

-

We can associate a user pointer with each item in the menu. It -works the same way as user pointer in panels. It's not touched by -menu system. You can store any thing you like in that. I usually -use it to store the function to be executed when the menu option is -chosen (It's selected and may be the user pressed -<ENTER>);

-
-

Example 24. Menu User Pointer Usage

- - - - -
-
-#include <curses.h>
-#include <menu.h>
-
-#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD   4
-
-char *choices[] = {
-                        "Choice 1",
-                        "Choice 2",
-                        "Choice 3",
-                        "Choice 4",
-                        "Choice 5",
-                        "Choice 6",
-                        "Choice 7",
-                        "Exit",
-                  };
-void func(char *name);
-
-int main()
-{       ITEM **my_items;
-        int c;                          
-        MENU *my_menu;
-        int n_choices, i;
-        ITEM *cur_item;
-        
-        /* Initialize curses */ 
-        initscr();
-        start_color();
-        cbreak();
-        noecho();
-        keypad(stdscr, TRUE);
-        init_pair(1, COLOR_RED, COLOR_BLACK);
-        init_pair(2, COLOR_GREEN, COLOR_BLACK);
-        init_pair(3, COLOR_MAGENTA, COLOR_BLACK);
-
-        /* Initialize items */
-        n_choices = ARRAY_SIZE(choices);
-        my_items = (ITEM **)calloc(n_choices + 1, sizeof(ITEM *));
-        for(i = 0; i < n_choices; ++i)
-        {       my_items[i] = new_item(choices[i], choices[i]);
-                /* Set the user pointer */
-                set_item_userptr(my_items[i], func);
-        }
-        my_items[n_choices] = (ITEM *)NULL;
-
-        /* Create menu */
-        my_menu = new_menu((ITEM **)my_items);
-
-        /* Post the menu */
-        mvprintw(LINES - 3, 0, "Press <ENTER> to see the option selected");
-        mvprintw(LINES - 2, 0, "Up and Down arrow keys to naviage (F1 to Exit)");
-        post_menu(my_menu);
-        refresh();
-
-        while((c = getch()) != KEY_F(1))
-        {       switch(c)
-                {       case KEY_DOWN:
-                                menu_driver(my_menu, REQ_DOWN_ITEM);
-                                break;
-                        case KEY_UP:
-                                menu_driver(my_menu, REQ_UP_ITEM);
-                                break;
-                        case 10: /* Enter */
-                        {       ITEM *cur;
-                                void (*p)(char *);
-
-                                cur = current_item(my_menu);
-                                p = item_userptr(cur);
-                                p((char *)item_name(cur));
-                                pos_menu_cursor(my_menu);
-                                break;
-                        }
-                        break;
-                }
-        }       
-        unpost_menu(my_menu);
-        for(i = 0; i < n_choices; ++i)
-                free_item(my_items[i]);
-        free_menu(my_menu);
-        endwin();
-}
-
-void func(char *name)
-{       move(20, 0);
-        clrtoeol();
-        mvprintw(20, 0, "Item selected is : %s", name);
-}       
-
-
-
-
-
-
-

18. Forms -Library

-

Well. If you have seen those forms on web pages which take input -from users and do various kinds of things, you might be wondering -how would any one create such forms in text mode display. It's -quite difficult to write those nifty forms in plain ncurses. Forms -library tries to provide a basic frame work to build and maintain -forms with ease. It has lot of features(functions) which manage -validation, dynamic expansion of fields etc.. Let's see it in full -flow.

-

A form is a collection of fields; each field can be either a -label(static text) or a data-entry location. The forms also library -provides functions to divide forms into multiple pages.

-
-
-

18.1. The -Basics

-

Forms are created in much the same way as menus. First the -fields related to the form are created with new_field(). You can -set options for the fields, so that they can be displayed with some -fancy attributes, validated before the field looses focus etc.. -Then the fields are attached to form. After this, the form can be -posted to display and is ready to receive inputs. On the similar -lines to menu_driver(), the form is manipulated with form_driver(). -We can send requests to form_driver to move focus to a certain -field, move cursor to end of the field etc.. After the user enters -values in the fields and validation done, form can be unposted and -memory allocated can be freed.

-

The general flow of control of a forms program looks like -this.

-
    -
  1. -

    Initialize curses

    -
  2. -
  3. -

    Create fields using new_field(). You can specify the height and -width of the field, and its position on the form.

    -
  4. -
  5. -

    Create the forms with new_form() by specifying the fields to be -attached with.

    -
  6. -
  7. -

    Post the form with form_post() and refresh the screen.

    -
  8. -
  9. -

    Process the user requests with a loop and do necessary updates -to form with form_driver.

    -
  10. -
  11. -

    Unpost the menu with form_unpost()

    -
  12. -
  13. -

    Free the memory allocated to menu by free_form()

    -
  14. -
  15. -

    Free the memory allocated to the items with free_field()

    -
  16. -
  17. -

    End curses

    -
  18. -
-

As you can see, working with forms library is much similar to -handling menu library. The following examples will explore various -aspects of form processing. Let's start the journey with a simple -example. first.

-
-
-
-

18.2. -Compiling With the Forms Library

-

To use forms library functions, you have to include form.h and -to link the program with forms library the flag -lform should be -added along with -lncurses in that order.

- - - - -
-
-    #include <form.h>
-    .
-    .
-    .
-
-    compile and link: gcc <program file> -lform -lncurses
-
-
-

Example 25. Forms Basics

- - - - -
-
-#include <form.h>
-
-int main()
-{       FIELD *field[3];
-        FORM  *my_form;
-        int ch;
-        
-        /* Initialize curses */
-        initscr();
-        cbreak();
-        noecho();
-        keypad(stdscr, TRUE);
-
-        /* Initialize the fields */
-        field[0] = new_field(1, 10, 4, 18, 0, 0);
-        field[1] = new_field(1, 10, 6, 18, 0, 0);
-        field[2] = NULL;
-
-        /* Set field options */
-        set_field_back(field[0], A_UNDERLINE);  /* Print a line for the option  */
-        field_opts_off(field[0], O_AUTOSKIP);   /* Don't go to next field when this */
-                                                /* Field is filled up           */
-        set_field_back(field[1], A_UNDERLINE); 
-        field_opts_off(field[1], O_AUTOSKIP);
-
-        /* Create the form and post it */
-        my_form = new_form(field);
-        post_form(my_form);
-        refresh();
-        
-        mvprintw(4, 10, "Value 1:");
-        mvprintw(6, 10, "Value 2:");
-        refresh();
-
-        /* Loop through to get user requests */
-        while((ch = getch()) != KEY_F(1))
-        {       switch(ch)
-                {       case KEY_DOWN:
-                                /* Go to next field */
-                                form_driver(my_form, REQ_NEXT_FIELD);
-                                /* Go to the end of the present buffer */
-                                /* Leaves nicely at the last character */
-                                form_driver(my_form, REQ_END_LINE);
-                                break;
-                        case KEY_UP:
-                                /* Go to previous field */
-                                form_driver(my_form, REQ_PREV_FIELD);
-                                form_driver(my_form, REQ_END_LINE);
-                                break;
-                        default:
-                                /* If this is a normal character, it gets */
-                                /* Printed                                */    
-                                form_driver(my_form, ch);
-                                break;
-                }
-        }
-
-        /* Un post form and free the memory */
-        unpost_form(my_form);
-        free_form(my_form);
-        free_field(field[0]);
-        free_field(field[1]); 
-
-        endwin();
-        return 0;
-}
-
-
-

Above example is pretty straight forward. It creates two fields -with new_field(). new_field() takes -height, width, starty, startx, number of offscreen rows and number -of additional working buffers. The fifth argument number of -offscreen rows specifies how much of the field to be shown. If it -is zero, the entire field is always displayed otherwise the form -will be scrollable when the user accesses not displayed parts of -the field. The forms library allocates one buffer per field to -store the data user enters. Using the last parameter to new_field() -we can specify it to allocate some additional buffers. These can be -used for any purpose you like.

-

After creating the fields, back ground attribute of both of them -is set to an underscore with set_field_back(). The AUTOSKIP option -is turned off using field_opts_off(). If this option is turned on, -focus will move to the next field in the form once the active field -is filled up completely.

-

After attaching the fields to the form, it is posted. Here on, -user inputs are processed in the while loop, by making -corresponding requests to form_driver. The details of all the -requests to the form_driver() are explained later.

-
-
-
-

18.3. -Playing with Fields

-

Each form field is associated with a lot of attributes. They can -be manipulated to get the required effect and to have fun !!!. So -why wait?

-
-
-

18.3.1. -Fetching Size and Location of Field

-

The parameters we have given at the time of creation of a field -can be retrieved with field_info(). It returns height, width, -starty, startx, number of offscreen rows, and number of additional -buffers into the parameters given to it. It is a sort of inverse of -new_field().

- - - - -
-
-int field_info(     FIELD *field,              /* field from which to fetch */
-                    int *height, *int width,   /* field size */ 
-                    int *top, int *left,       /* upper left corner */
-                    int *offscreen,            /* number of offscreen rows */
-                    int *nbuf);                /* number of working buffers */
-
-
-
-
-

18.3.2. Moving -the field

-

The location of the field can be moved to a different position -with move_field().

- - - - -
-
-int move_field(    FIELD *field,              /* field to alter */
-                   int top, int left);        /* new upper-left corner */
-
-

As usual, the changed position can be queried with -field_infor().

-
-
-
-

18.3.3. -Field Justification

-

The justification to be done for the field can be fixed using -the function set_field_just().

- - - - -
-
-    int set_field_just(FIELD *field,          /* field to alter */
-               int justmode);         /* mode to set */
-    int field_just(FIELD *field);          /* fetch justify mode of field */
-
-

The justification mode valued accepted and returned by these -functions are NO_JUSTIFICATION, JUSTIFY_RIGHT, JUSTIFY_LEFT, or -JUSTIFY_CENTER.

-
-
-
-

18.3.4. Field Display Attributes

-

As you have seen, in the above example, display attribute for -the fields can be set with set_field_fore() and setfield_back(). -These functions set foreground and background attribute of the -fields. You can also specify a pad character which will be filled -in the unfilled portion of the field. The pad character is set with -a call to set_field_pad(). Default pad value is a space. The -functions field_fore(), field_back, field_pad() can be used to -query the present foreground, background attributes and pad -character for the field. The following list gives the usage of -functions.

- - - - -
-
-
int set_field_fore(FIELD *field,        /* field to alter */
-                   chtype attr);        /* attribute to set */ 
-
-chtype field_fore(FIELD *field);        /* field to query */
-                                        /* returns foreground attribute */
-
-int set_field_back(FIELD *field,        /* field to alter */
-                   chtype attr);        /* attribute to set */ 
-
-chtype field_back(FIELD *field);        /* field to query */
-                                        /* returns background attribute */
-
-int set_field_pad(FIELD *field,         /* field to alter */
-                  int pad);             /* pad character to set */ 
-
-chtype field_pad(FIELD *field);         /* field to query */  
-                                        /* returns present pad character */
-
-

Though above functions seem quite simple, using colors with -set_field_fore() may be frustrating in the beginning. Let me first -explain about foreground and background attributes of a field. The -foreground attribute is associated with the character. That means a -character in the field is printed with the attribute you have set -with set_field_fore(). Background attribute is the attribute used -to fill background of field, whether any character is there or not. -So what about colors? Since colors are always defined in pairs, -what is the right way to display colored fields? Here's an example -clarifying color attributes.

-
-

Example 26. Form Attributes example

- - - - -
-
-#include <form.h>
-
-int main()
-{       FIELD *field[3];
-        FORM  *my_form;
-        int ch;
-        
-        /* Initialize curses */
-        initscr();
-        start_color();
-        cbreak();
-        noecho();
-        keypad(stdscr, TRUE);
-
-        /* Initialize few color pairs */
-        init_pair(1, COLOR_WHITE, COLOR_BLUE);
-        init_pair(2, COLOR_WHITE, COLOR_BLUE);
-
-        /* Initialize the fields */
-        field[0] = new_field(1, 10, 4, 18, 0, 0);
-        field[1] = new_field(1, 10, 6, 18, 0, 0);
-        field[2] = NULL;
-
-        /* Set field options */
-        set_field_fore(field[0], COLOR_PAIR(1));/* Put the field with blue background */
-        set_field_back(field[0], COLOR_PAIR(2));/* and white foreground (characters */
-                                                /* are printed in white         */
-        field_opts_off(field[0], O_AUTOSKIP);   /* Don't go to next field when this */
-                                                /* Field is filled up           */
-        set_field_back(field[1], A_UNDERLINE); 
-        field_opts_off(field[1], O_AUTOSKIP);
-
-        /* Create the form and post it */
-        my_form = new_form(field);
-        post_form(my_form);
-        refresh();
-        
-        set_current_field(my_form, field[0]); /* Set focus to the colored field */
-        mvprintw(4, 10, "Value 1:");
-        mvprintw(6, 10, "Value 2:");
-        mvprintw(LINES - 2, 0, "Use UP, DOWN arrow keys to switch between fields");
-        refresh();
-
-        /* Loop through to get user requests */
-        while((ch = getch()) != KEY_F(1))
-        {       switch(ch)
-                {       case KEY_DOWN:
-                                /* Go to next field */
-                                form_driver(my_form, REQ_NEXT_FIELD);
-                                /* Go to the end of the present buffer */
-                                /* Leaves nicely at the last character */
-                                form_driver(my_form, REQ_END_LINE);
-                                break;
-                        case KEY_UP:
-                                /* Go to previous field */
-                                form_driver(my_form, REQ_PREV_FIELD);
-                                form_driver(my_form, REQ_END_LINE);
-                                break;
-                        default:
-                                /* If this is a normal character, it gets */
-                                /* Printed                                */    
-                                form_driver(my_form, ch);
-                                break;
-                }
-        }
-
-        /* Un post form and free the memory */
-        unpost_form(my_form);
-        free_form(my_form);
-        free_field(field[0]);
-        free_field(field[1]); 
-
-        endwin();
-        return 0;
-}
-
-
-

Play with the color pairs and try to understand the foreground -and background attributes. In my programs using color attributes, I -usually set only the background with set_field_back(). Curses -simply doesn't allow defining individual color attributes.

-
-
-
-

18.3.5. Field Option Bits

-

There is also a large collection of field option bits you can -set to control various aspects of forms processing. You can -manipulate them with these functions:

- - - - -
-
-int set_field_opts(FIELD *field,          /* field to alter */
-                   int attr);             /* attribute to set */ 
-
-int field_opts_on(FIELD *field,           /* field to alter */
-                  int attr);              /* attributes to turn on */ 
-
-int field_opts_off(FIELD *field,          /* field to alter */
-                  int attr);              /* attributes to turn off */ 
-
-int field_opts(FIELD *field);             /* field to query */ 
-
-

The function set_field_opts() can be used to directly set -attributes of a field or you can choose to switch a few attributes -on and off with field_opts_on() and field_opts_off() selectively. -Anytime you can query the attributes of a field with field_opts(). -The following is the list of available options. By default, all -options are on.

-
-
-
O_VISIBLE
-
-

Controls whether the field is visible on the screen. Can be used -during form processing to hide or pop up fields depending on the -value of parent fields.

-
-
O_ACTIVE
-
-

Controls whether the field is active during forms processing -(i.e. visited by form navigation keys). Can be used to make labels -or derived fields with buffer values alterable by the forms -application, not the user.

-
-
O_PUBLIC
-
-

Controls whether data is displayed during field entry. If this -option is turned off on a field, the library will accept and edit -data in that field, but it will not be displayed and the visible -field cursor will not move. You can turn off the O_PUBLIC bit to -define password fields.

-
-
O_EDIT
-
-

Controls whether the field's data can be modified. When this -option is off, all editing requests except REQ_PREV_CHOICE and REQ_NEXT_CHOICEwill fail. Such read-only fields may -be useful for help messages.

-
-
O_WRAP
-
-

Controls word-wrapping in multi-line fields. Normally, when any -character of a (blank-separated) word reaches the end of the -current line, the entire word is wrapped to the next line (assuming -there is one). When this option is off, the word will be split -across the line break.

-
-
O_BLANK
-
-

Controls field blanking. When this option is on, entering a -character at the first field position erases the entire field -(except for the just-entered character).

-
-
O_AUTOSKIP
-
-

Controls automatic skip to next field when this one fills. -Normally, when the forms user tries to type more data into a field -than will fit, the editing location jumps to next field. When this -option is off, the user's cursor will hang at the end of the field. -This option is ignored in dynamic fields that have not reached -their size limit.

-
-
O_NULLOK
-
-

Controls whether validation is applied to blank fields. -Normally, it is not; the user can leave a field blank without -invoking the usual validation check on exit. If this option is off -on a field, exit from it will invoke a validation check.

-
-
O_PASSOK
-
-

Controls whether validation occurs on every exit, or only after -the field is modified. Normally the latter is true. Setting -O_PASSOK may be useful if your field's validation function may -change during forms processing.

-
-
O_STATIC
-
-

Controls whether the field is fixed to its initial dimensions. -If you turn this off, the field becomes dynamic and will stretch to -fit entered data.

-
-
-
-

A field's options cannot be changed while the field is currently -selected. However, options may be changed on posted fields that are -not current.

-

The option values are bit-masks and can be composed with -logical-or in the obvious way. You have seen the usage of switching -off O_AUTOSKIP option. The following example clarifies usage of -some more options. Other options are explained where -appropriate.

-
-

Example 27. Field Options Usage example

- - - - -
-
-#include <form.h>
-
-#define STARTX 15
-#define STARTY 4
-#define WIDTH 25
-
-#define N_FIELDS 3
-
-int main()
-{       FIELD *field[N_FIELDS];
-        FORM  *my_form;
-        int ch, i;
-        
-        /* Initialize curses */
-        initscr();
-        cbreak();
-        noecho();
-        keypad(stdscr, TRUE);
-
-        /* Initialize the fields */
-        for(i = 0; i < N_FIELDS - 1; ++i)
-                field[i] = new_field(1, WIDTH, STARTY + i * 2, STARTX, 0, 0);
-        field[N_FIELDS - 1] = NULL;
-
-        /* Set field options */
-        set_field_back(field[1], A_UNDERLINE);  /* Print a line for the option  */
-        
-        field_opts_off(field[0], O_ACTIVE); /* This field is a static label */
-        field_opts_off(field[1], O_PUBLIC); /* This filed is like a password field*/
-        field_opts_off(field[1], O_AUTOSKIP); /* To avoid entering the same field */
-                                              /* after last character is entered */
-        
-        /* Create the form and post it */
-        my_form = new_form(field);
-        post_form(my_form);
-        refresh();
-        
-        set_field_just(field[0], JUSTIFY_CENTER); /* Center Justification */
-        set_field_buffer(field[0], 0, "This is a static Field"); 
-                                                  /* Initialize the field  */
-        mvprintw(STARTY, STARTX - 10, "Field 1:");
-        mvprintw(STARTY + 2, STARTX - 10, "Field 2:");
-        refresh();
-
-        /* Loop through to get user requests */
-        while((ch = getch()) != KEY_F(1))
-        {       switch(ch)
-                {       case KEY_DOWN:
-                                /* Go to next field */
-                                form_driver(my_form, REQ_NEXT_FIELD);
-                                /* Go to the end of the present buffer */
-                                /* Leaves nicely at the last character */
-                                form_driver(my_form, REQ_END_LINE);
-                                break;
-                        case KEY_UP:
-                                /* Go to previous field */
-                                form_driver(my_form, REQ_PREV_FIELD);
-                                form_driver(my_form, REQ_END_LINE);
-                                break;
-                        default:
-                                /* If this is a normal character, it gets */
-                                /* Printed                                */    
-                                form_driver(my_form, ch);
-                                break;
-                }
-        }
-
-        /* Un post form and free the memory */
-        unpost_form(my_form);
-        free_form(my_form);
-        free_field(field[0]);
-        free_field(field[1]); 
-
-        endwin();
-        return 0;
-}
-
-
-

This example, though useless, shows the usage of options. If -used properly, they can present information very effectively in a -form. The second field being not O_PUBLIC, does not show the -characters you are typing.

-
-
-
-

18.3.6. -Field Status

-

The field status specifies whether the field has got edited or -not. It is initially set to FALSE and when user enters something -and the data buffer gets modified it becomes TRUE. So a field's -status can be queried to find out whether it has been modified or -not. The following functions can assist in those operations.

- - - - -
-
-int set_field_status(FIELD *field,      /* field to alter */
-                   int status);         /* status to set */
-
-int field_status(FIELD *field);         /* fetch status of field */
-
-

It's better to check the field's status only after after leaving -the field, as data buffer might not have been updated yet as the -validation is still due. To guarantee that right status is -returned, call field_status() either (1) in the field's exit -validation check routine, (2) from the field's or form's -initialization or termination hooks, or (3) just after a -REQ_VALIDATION request has been processed by the forms driver

-
-
-
-

18.3.7. -Field User Pointer

-

Every field structure contains one pointer that can be used by -the user for various purposes. It is not touched by forms library -and can be used for any purpose by the user. The following -functions set and fetch user pointer.

- - - - -
-
-int set_field_userptr(FIELD *field,   
-           char *userptr);      /* the user pointer you wish to associate */
-                                /* with the field    */
-
-char *field_userptr(FIELD *field);      /* fetch user pointer of the field */
-
-
-
-
-

18.3.8. Variable-Sized Fields

-

If you want a dynamically changing field with variable width, -this is the feature you want to put to full use. This will allow -the user to enter more data than the original size of the field and -let the field grow. According to the field orientation it will -scroll horizontally or vertically to incorporate the new data.

-

To make a field dynamically growable, the option O_STATIC should -be turned off. This can be done with a

- - - - -
-
-    field_opts_off(field_pointer, O_STATIC);
-
-

But it's usually not advisable to allow a field to grow -infinitely. You can set a maximum limit to the growth of the field -with

- - - - -
-
-int set_max_field(FIELD *field,    /* Field on which to operate */
-                  int max_growth); /* maximum growth allowed for the field */
-
-

The field info for a dynamically growable field can be retrieved -by

- - - - -
-
-int dynamic_field_info( FIELD *field,     /* Field on which to operate */
-            int   *prows,     /* number of rows will be filled in this */
-            int   *pcols,     /* number of columns will be filled in this*/
-            int   *pmax)      /* maximum allowable growth will be filled */
-                              /* in this */
-
-Though field_info work as usual, it is advisable to use this -function to get the proper attributes of a dynamically growable -field. -

Recall the library routine new_field; a new field created with -height set to one will be defined to be a one line field. A new -field created with height greater than one will be defined to be a -multi line field.

-

A one line field with O_STATIC turned off (dynamically growable -field) will contain a single fixed row, but the number of columns -can increase if the user enters more data than the initial field -will hold. The number of columns displayed will remain fixed and -the additional data will scroll horizontally.

-

A multi line field with O_STATIC turned off (dynamically -growable field) will contain a fixed number of columns, but the -number of rows can increase if the user enters more data than the -initial field will hold. The number of rows displayed will remain -fixed and the additional data will scroll vertically.

-

The above two paragraphs pretty much describe a dynamically -growable field's behavior. The way other parts of forms library -behaves is described below:

-
    -
  1. -

    The field option O_AUTOSKIP will be ignored if the option -O_STATIC is off and there is no maximum growth specified for the -field. Currently, O_AUTOSKIP generates an automatic REQ_NEXT_FIELD -form driver request when the user types in the last character -position of a field. On a growable field with no maximum growth -specified, there is no last character position. If a maximum growth -is specified, the O_AUTOSKIP option will work as normal if the -field has grown to its maximum size.

    -
  2. -
  3. -

    The field justification will be ignored if the option O_STATIC -is off. Currently, set_field_just can be used to JUSTIFY_LEFT, -JUSTIFY_RIGHT, JUSTIFY_CENTER the contents of a one line field. A -growable one line field will, by definition, grow and scroll -horizontally and may contain more data than can be justified. The -return from field_just will be unchanged.

    -
  4. -
  5. -

    The overloaded form driver request REQ_NEW_LINE will operate the -same way regardless of the O_NL_OVERLOAD form option if the field -option O_STATIC is off and there is no maximum growth specified for -the field. Currently, if the form option O_NL_OVERLOAD is on, -REQ_NEW_LINE implicitly generates a REQ_NEXT_FIELD if called from -the last line of a field. If a field can grow without bound, there -is no last line, so REQ_NEW_LINE will never implicitly generate a -REQ_NEXT_FIELD. If a maximum growth limit is specified and the -O_NL_OVERLOAD form option is on, REQ_NEW_LINE will only implicitly -generate REQ_NEXT_FIELD if the field has grown to its maximum size -and the user is on the last line.

    -
  6. -
  7. -

    The library call dup_field will work as usual; it will duplicate -the field, including the current buffer size and contents of the -field being duplicated. Any specified maximum growth will also be -duplicated.

    -
  8. -
  9. -

    The library call link_field will work as usual; it will -duplicate all field attributes and share buffers with the field -being linked. If the O_STATIC field option is subsequently changed -by a field sharing buffers, how the system reacts to an attempt to -enter more data into the field than the buffer will currently hold -will depend on the setting of the option in the current field.

    -
  10. -
  11. -

    The library call field_info will work as usual; the variable -nrow will contain the value of the original call to new_field. The -user should use dynamic_field_info, described above, to query the -current size of the buffer.

    -
  12. -
-

Some of the above points make sense only after explaining form -driver. We will be looking into that in next few sections.

-
-
-
-
-

18.4. Form -Windows

-

The form windows concept is pretty much similar to menu windows. -Every form is associated with a main window and a sub window. The -form main window displays any title or border associated or -whatever the user wishes. Then the sub window contains all the -fields and displays them according to their position. This gives -the flexibility of manipulating fancy form displaying very -easily.

-

Since this is pretty much similar to menu windows, I am -providing an example with out much explanation. The functions are -similar and they work the same way.

-
-

Example 28. Form Windows Example

- - - - -
-
-#include <form.h>
-
-void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color);
-
-int main()
-{
-        FIELD *field[3];
-        FORM  *my_form;
-        WINDOW *my_form_win;
-        int ch, rows, cols;
-        
-        /* Initialize curses */
-        initscr();
-        start_color();
-        cbreak();
-        noecho();
-        keypad(stdscr, TRUE);
-
-        /* Initialize few color pairs */
-        init_pair(1, COLOR_RED, COLOR_BLACK);
-
-        /* Initialize the fields */
-        field[0] = new_field(1, 10, 6, 1, 0, 0);
-        field[1] = new_field(1, 10, 8, 1, 0, 0);
-        field[2] = NULL;
-
-        /* Set field options */
-        set_field_back(field[0], A_UNDERLINE);
-        field_opts_off(field[0], O_AUTOSKIP); /* Don't go to next field when this */
-                                              /* Field is filled up             */
-        set_field_back(field[1], A_UNDERLINE); 
-        field_opts_off(field[1], O_AUTOSKIP);
-        
-        /* Create the form and post it */
-        my_form = new_form(field);
-        
-        /* Calculate the area required for the form */
-        scale_form(my_form, &rows, &cols);
-
-        /* Create the window to be associated with the form */
-        my_form_win = newwin(rows + 4, cols + 4, 4, 4);
-        keypad(my_form_win, TRUE);
-
-        /* Set main window and sub window */
-        set_form_win(my_form, my_form_win);
-        set_form_sub(my_form, derwin(my_form_win, rows, cols, 2, 2));
-
-        /* Print a border around the main window and print a title */
-        box(my_form_win, 0, 0);
-        print_in_middle(my_form_win, 1, 0, cols + 4, "My Form", COLOR_PAIR(1));
-        
-        post_form(my_form);
-        wrefresh(my_form_win);
-
-        mvprintw(LINES - 2, 0, "Use UP, DOWN arrow keys to switch between fields");
-        refresh();
-
-        /* Loop through to get user requests */
-        while((ch = wgetch(my_form_win)) != KEY_F(1))
-        {       switch(ch)
-                {       case KEY_DOWN:
-                                /* Go to next field */
-                                form_driver(my_form, REQ_NEXT_FIELD);
-                                /* Go to the end of the present buffer */
-                                /* Leaves nicely at the last character */
-                                form_driver(my_form, REQ_END_LINE);
-                                break;
-                        case KEY_UP:
-                                /* Go to previous field */
-                                form_driver(my_form, REQ_PREV_FIELD);
-                                form_driver(my_form, REQ_END_LINE);
-                                break;
-                        default:
-                                /* If this is a normal character, it gets */
-                                /* Printed                                */    
-                                form_driver(my_form, ch);
-                                break;
-                }
-        }
-
-        /* Un post form and free the memory */
-        unpost_form(my_form);
-        free_form(my_form);
-        free_field(field[0]);
-        free_field(field[1]); 
-
-        endwin();
-        return 0;
-}
-
-void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{       int length, x, y;
-        float temp;
-
-        if(win == NULL)
-                win = stdscr;
-        getyx(win, y, x);
-        if(startx != 0)
-                x = startx;
-        if(starty != 0)
-                y = starty;
-        if(width == 0)
-                width = 80;
-
-        length = strlen(string);
-        temp = (width - length)/ 2;
-        x = startx + (int)temp;
-        wattron(win, color);
-        mvwprintw(win, y, x, "%s", string);
-        wattroff(win, color);
-        refresh();
-}
-
-
-
-
-
-

18.5. -Field Validation

-

By default, a field will accept any data input by the user. It -is possible to attach validation to the field. Then any attempt by -the user to leave the field, while it contains data that doesn't -match the validation type will fail. Some validation types also -have a character-validity check for each time a character is -entered in the field.

-

Validation can be attached to a field with the following -function.

- - - - -
-
-int set_field_type(FIELD *field,          /* field to alter */
-                   FIELDTYPE *ftype,      /* type to associate */
-                   ...);                  /* additional arguments*/
-
-Once set, the validation type for a field can be queried with - - - - -
-
-FIELDTYPE *field_type(FIELD *field);      /* field to query */
-
-

The form driver validates the data in a field only when data is -entered by the end-user. Validation does not occur when

-
    -
  • -

    the application program changes the field value by calling -set_field_buffer.

    -
  • -
  • -

    linked field values are changed indirectly -- by changing the -field to which they are linked

    -
  • -
-

The following are the pre-defined validation types. You can also -specify custom validation, though it's a bit tricky and -cumbersome.

-

TYPE_ALPHA

-

This field type accepts alphabetic data; no blanks, no digits, -no special characters (this is checked at character-entry time). It -is set up with:

- - - - -
-
-int set_field_type(FIELD *field,          /* field to alter */
-                   TYPE_ALPHA,            /* type to associate */
-                   int width);            /* maximum width of field */
-
-

The width argument sets a minimum width of data. The user has to -enter at-least width number of characters before he can leave the -field. Typically you'll want to set this to the field width; if -it's greater than the field width, the validation check will always -fail. A minimum width of zero makes field completion optional.

-

TYPE_ALNUM

-

This field type accepts alphabetic data and digits; no blanks, -no special characters (this is checked at character-entry time). It -is set up with:

- - - - -
-
-int set_field_type(FIELD *field,          /* field to alter */
-                   TYPE_ALNUM,            /* type to associate */
-                   int width);            /* maximum width of field */
-
-

The width argument sets a minimum width of data. As with -TYPE_ALPHA, typically you'll want to set this to the field width; -if it's greater than the field width, the validation check will -always fail. A minimum width of zero makes field completion -optional.

-

TYPE_ENUM

-

This type allows you to restrict a field's values to be among a -specified set of string values (for example, the two-letter postal -codes for U.S. states). It is set up with:

- - - - -
-
-int set_field_type(FIELD *field,          /* field to alter */
-                   TYPE_ENUM,             /* type to associate */
-                   char **valuelist;      /* list of possible values */
-                   int checkcase;         /* case-sensitive? */
-                   int checkunique);      /* must specify uniquely? */
-
-

The valuelist parameter must point at a NULL-terminated list of -valid strings. The checkcase argument, if true, makes comparison -with the string case-sensitive.

-

When the user exits a TYPE_ENUM field, the validation procedure -tries to complete the data in the buffer to a valid entry. If a -complete choice string has been entered, it is of course valid. But -it is also possible to enter a prefix of a valid string and have it -completed for you.

-

By default, if you enter such a prefix and it matches more than -one value in the string list, the prefix will be completed to the -first matching value. But the checkunique argument, if true, -requires prefix matches to be unique in order to be valid.

-

The REQ_NEXT_CHOICE and REQ_PREV_CHOICE input requests can be -particularly useful with these fields.

-

TYPE_INTEGER

-

This field type accepts an integer. It is set up as follows:

- - - - -
-
-int set_field_type(FIELD *field,          /* field to alter */
-                   TYPE_INTEGER,          /* type to associate */
-                   int padding,           /* # places to zero-pad to */
-                   int vmin, int vmax);   /* valid range */
-
-

Valid characters consist of an optional leading minus and -digits. The range check is performed on exit. If the range maximum -is less than or equal to the minimum, the range is ignored.

-

If the value passes its range check, it is padded with as many -leading zero digits as necessary to meet the padding argument.

-

A TYPE_INTEGER value buffer can conveniently be interpreted with -the C library function atoi(3).

-

TYPE_NUMERIC

-

This field type accepts a decimal number. It is set up as -follows:

- - - - -
-
-int set_field_type(FIELD *field,          /* field to alter */
-                   TYPE_NUMERIC,          /* type to associate */
-                   int padding,           /* # places of precision */
-                   int vmin, int vmax);   /* valid range */
-
-

Valid characters consist of an optional leading minus and -digits. possibly including a decimal point. The range check is -performed on exit. If the range maximum is less than or equal to -the minimum, the range is ignored.

-

If the value passes its range check, it is padded with as many -trailing zero digits as necessary to meet the padding argument.

-

A TYPE_NUMERIC value buffer can conveniently be interpreted with -the C library function atof(3).

-

TYPE_REGEXP

-

This field type accepts data matching a regular expression. It -is set up as follows:

- - - - -
-
-int set_field_type(FIELD *field,          /* field to alter */
-                   TYPE_REGEXP,           /* type to associate */
-                   char *regexp);         /* expression to match */
-
-

The syntax for regular expressions is that of regcomp(3). The -check for regular-expression match is performed on exit.

-
-
-
-

18.6. Form -Driver: The work horse of the forms system

-

As in the menu system, form_driver() plays a very important role -in forms system. All types of requests to forms system should be -funneled through form_driver().

- - - - -
-
-int form_driver(FORM *form,     /* form on which to operate     */
-                int request)    /* form request code         */
-
-

As you have seen some of the examples above, you have to be in a -loop looking for user input and then decide whether it's a field -data or a form request. The form requests are then passed to -form_driver() to do the work.

-

The requests roughly can be divided into following categories. -Different requests and their usage is explained below:

-
-
-

18.6.1. Page -Navigation Requests

-

These requests cause page-level moves through the form, -triggering display of a new form screen. A form can be made of -multiple pages. If you have a big form with lot of fields and -logical sections, then you can divide the form into pages. The -function set_new_page() to set a new page at the field -specified.

- - - - -
-
-int set_new_page(FIELD *field,/* Field at which page break to be set or unset */
-         bool new_page_flag); /* should be TRUE to put a break */
-
-

The following requests allow you to move to different pages

-
    -
  • -

    REQ_NEXT_PAGE Move to the next form page.

    -
  • -
  • -

    REQ_PREV_PAGE Move to the previous form page.

    -
  • -
  • -

    REQ_FIRST_PAGE Move to the first form page.

    -
  • -
  • -

    REQ_LAST_PAGE Move to the last form page.

    -
  • -
-

These requests treat the list as cyclic; that is, REQ_NEXT_PAGE -from the last page goes to the first, and REQ_PREV_PAGE from the -first page goes to the last.

-
-
-
-

18.6.2. Inter-Field Navigation Requests

-

These requests handle navigation between fields on the same -page.

-
    -
  • -

    REQ_NEXT_FIELD Move to next field.

    -
  • -
  • -

    REQ_PREV_FIELD Move to previous field.

    -
  • -
  • -

    REQ_FIRST_FIELD Move to the first field.

    -
  • -
  • -

    REQ_LAST_FIELD Move to the last field.

    -
  • -
  • -

    REQ_SNEXT_FIELD Move to sorted next field.

    -
  • -
  • -

    REQ_SPREV_FIELD Move to sorted previous field.

    -
  • -
  • -

    REQ_SFIRST_FIELD Move to the sorted first field.

    -
  • -
  • -

    REQ_SLAST_FIELD Move to the sorted last field.

    -
  • -
  • -

    REQ_LEFT_FIELD Move left to field.

    -
  • -
  • -

    REQ_RIGHT_FIELD Move right to field.

    -
  • -
  • -

    REQ_UP_FIELD Move up to field.

    -
  • -
  • -

    REQ_DOWN_FIELD Move down to field.

    -
  • -
-

These requests treat the list of fields on a page as cyclic; -that is, REQ_NEXT_FIELD from the last field goes to the first, and -REQ_PREV_FIELD from the first field goes to the last. The order of -the fields for these (and the REQ_FIRST_FIELD and REQ_LAST_FIELD -requests) is simply the order of the field pointers in the form -array (as set up by new_form() or set_form_fields()

-

It is also possible to traverse the fields as if they had been -sorted in screen-position order, so the sequence goes left-to-right -and top-to-bottom. To do this, use the second group of four -sorted-movement requests.

-

Finally, it is possible to move between fields using visual -directions up, down, right, and left. To accomplish this, use the -third group of four requests. Note, however, that the position of a -form for purposes of these requests is its upper-left corner.

-

For example, suppose you have a multi-line field B, and two -single-line fields A and C on the same line with B, with A to the -left of B and C to the right of B. A REQ_MOVE_RIGHT from A will go -to B only if A, B, and C all share the same first line; otherwise -it will skip over B to C.

-
-
-
-

18.6.3. Intra-Field Navigation Requests

-

These requests drive movement of the edit cursor within the -currently selected field.

-
    -
  • -

    REQ_NEXT_CHAR Move to next character.

    -
  • -
  • -

    REQ_PREV_CHAR Move to previous character.

    -
  • -
  • -

    REQ_NEXT_LINE Move to next line.

    -
  • -
  • -

    REQ_PREV_LINE Move to previous line.

    -
  • -
  • -

    REQ_NEXT_WORD Move to next word.

    -
  • -
  • -

    REQ_PREV_WORD Move to previous word.

    -
  • -
  • -

    REQ_BEG_FIELD Move to beginning of field.

    -
  • -
  • -

    REQ_END_FIELD Move to end of field.

    -
  • -
  • -

    REQ_BEG_LINE Move to beginning of line.

    -
  • -
  • -

    REQ_END_LINE Move to end of line.

    -
  • -
  • -

    REQ_LEFT_CHAR Move left in field.

    -
  • -
  • -

    REQ_RIGHT_CHAR Move right in field.

    -
  • -
  • -

    REQ_UP_CHAR Move up in field.

    -
  • -
  • -

    REQ_DOWN_CHAR Move down in field.

    -
  • -
-

Each word is separated from the previous and next characters by -whitespace. The commands to move to beginning and end of line or -field look for the first or last non-pad character in their -ranges.

-
-
-
-

18.6.4. -Scrolling Requests

-

Fields that are dynamic and have grown and fields explicitly -created with offscreen rows are scrollable. One-line fields scroll -horizontally; multi-line fields scroll vertically. Most scrolling -is triggered by editing and intra-field movement (the library -scrolls the field to keep the cursor visible). It is possible to -explicitly request scrolling with the following requests:

-
    -
  • -

    REQ_SCR_FLINE Scroll vertically forward a line.

    -
  • -
  • -

    REQ_SCR_BLINE Scroll vertically backward a line.

    -
  • -
  • -

    REQ_SCR_FPAGE Scroll vertically forward a page.

    -
  • -
  • -

    REQ_SCR_BPAGE Scroll vertically backward a page.

    -
  • -
  • -

    REQ_SCR_FHPAGE Scroll vertically forward half a -page.

    -
  • -
  • -

    REQ_SCR_BHPAGE Scroll vertically backward half a -page.

    -
  • -
  • -

    REQ_SCR_FCHAR Scroll horizontally forward a -character.

    -
  • -
  • -

    REQ_SCR_BCHAR Scroll horizontally backward a -character.

    -
  • -
  • -

    REQ_SCR_HFLINE Scroll horizontally one field width -forward.

    -
  • -
  • -

    REQ_SCR_HBLINE Scroll horizontally one field width -backward.

    -
  • -
  • -

    REQ_SCR_HFHALF Scroll horizontally one half field width -forward.

    -
  • -
  • -

    REQ_SCR_HBHALF Scroll horizontally one half field width -backward.

    -
  • -
-

For scrolling purposes, a page of a field is the height of its -visible part.

-
-
-
-

18.6.5. Editing -Requests

-

When you pass the forms driver an ASCII character, it is treated -as a request to add the character to the field's data buffer. -Whether this is an insertion or a replacement depends on the -field's edit mode (insertion is the default.

-

The following requests support editing the field and changing -the edit mode:

-
    -
  • -

    REQ_INS_MODE Set insertion mode.

    -
  • -
  • -

    REQ_OVL_MODE Set overlay mode.

    -
  • -
  • -

    REQ_NEW_LINE New line request (see below for -explanation).

    -
  • -
  • -

    REQ_INS_CHAR Insert space at character location.

    -
  • -
  • -

    REQ_INS_LINE Insert blank line at character -location.

    -
  • -
  • -

    REQ_DEL_CHAR Delete character at cursor.

    -
  • -
  • -

    REQ_DEL_PREV Delete previous word at cursor.

    -
  • -
  • -

    REQ_DEL_LINE Delete line at cursor.

    -
  • -
  • -

    REQ_DEL_WORD Delete word at cursor.

    -
  • -
  • -

    REQ_CLR_EOL Clear to end of line.

    -
  • -
  • -

    REQ_CLR_EOF Clear to end of field.

    -
  • -
  • -

    REQ_CLR_FIELD Clear entire field.

    -
  • -
-

The behavior of the REQ_NEW_LINE and REQ_DEL_PREV requests is -complicated and partly controlled by a pair of forms options. The -special cases are triggered when the cursor is at the beginning of -a field, or on the last line of the field.

-

First, we consider REQ_NEW_LINE:

-

The normal behavior of REQ_NEW_LINE in insert mode is to break -the current line at the position of the edit cursor, inserting the -portion of the current line after the cursor as a new line -following the current and moving the cursor to the beginning of -that new line (you may think of this as inserting a newline in the -field buffer).

-

The normal behavior of REQ_NEW_LINE in overlay mode is to clear -the current line from the position of the edit cursor to end of -line. The cursor is then moved to the beginning of the next -line.

-

However, REQ_NEW_LINE at the beginning of a field, or on the -last line of a field, instead does a REQ_NEXT_FIELD. O_NL_OVERLOAD -option is off, this special action is disabled.

-

Now, let us consider REQ_DEL_PREV:

-

The normal behavior of REQ_DEL_PREV is to delete the previous -character. If insert mode is on, and the cursor is at the start of -a line, and the text on that line will fit on the previous one, it -instead appends the contents of the current line to the previous -one and deletes the current line (you may think of this as deleting -a newline from the field buffer).

-

However, REQ_DEL_PREV at the beginning of a field is instead -treated as a REQ_PREV_FIELD.

-

If the O_BS_OVERLOAD option is off, this special action is -disabled and the forms driver just returns E_REQUEST_DENIED.

-
-
-
-

18.6.6. Order -Requests

-

If the type of your field is ordered, and has associated -functions for getting the next and previous values of the type from -a given value, there are requests that can fetch that value into -the field buffer:

-
    -
  • -

    REQ_NEXT_CHOICE Place the successor value of the -current value in the buffer.

    -
  • -
  • -

    REQ_PREV_CHOICE Place the predecessor value of the -current value in the buffer.

    -
  • -
-

Of the built-in field types, only TYPE_ENUM has built-in -successor and predecessor functions. When you define a field type -of your own (see Custom Validation Types), you can associate our -own ordering functions.

-
-
-
-

18.6.7. Application Commands

-

Form requests are represented as integers above the curses value -greater than KEY_MAX and less than or equal to the constant -MAX_COMMAND. A value within this range gets ignored by -form_driver(). So this can be used for any purpose by the -application. It can be treated as an application specific action -and take corresponding action.

-
-
-
-
-
-

19. Tools and Widget -Libraries

-

Now that you have seen the capabilities of ncurses and its -sister libraries, you are rolling your sleeves up and gearing for a -project that heavily manipulates screen. But wait.. It can be -pretty difficult to write and maintain complex GUI widgets in plain -ncurses or even with the additional libraries. There are some -ready-to-use tools and widget libraries that can be used instead of -writing your own widgets. You can use some of them, get ideas from -the code, or even extend them.

-
-
-

19.1. CDK (Curses -Development Kit)

-

In the author's words

-

CDK stands for 'Curses Development Kit' and it currently -contains 21 ready to use widgets which facilitate the speedy -development of full screen curses programs.

-

The kit provides some useful widgets, which can be used in your -programs directly. It's pretty well written and the documentation -is very good. The examples in the examples directory can be a good -place to start for beginners. The CDK can be downloaded from -http://invisible-island.net/cdk/ . Follow the -instructions in README file to install it.

-
-
-

19.1.1. -Widget List

-

The following is the list of widgets provided with cdk and their -description.

- - - - -
-
-Widget Type           Quick Description
-===========================================================================
-Alphalist             Allows a user to select from a list of words, with
-                      the ability to narrow the search list by typing in a
-                      few characters of the desired word.
-Buttonbox             This creates a multiple button widget. 
-Calendar              Creates a little simple calendar widget.
-Dialog                Prompts the user with a message, and the user
-                      can pick an answer from the buttons provided.
-Entry                 Allows the user to enter various types of information.
-File Selector         A file selector built from Cdk base widgets. This
-                      example shows how to create more complicated widgets
-                      using the Cdk widget library.
-Graph                 Draws a graph.
-Histogram             Draws a histogram.
-Item List             Creates a pop up field which allows the user to select
-                      one of several choices in a small field. Very useful
-                      for things like days of the week or month names.
-Label                 Displays messages in a pop up box, or the label can be
-                      considered part of the screen.
-Marquee               Displays a message in a scrolling marquee.
-Matrix                Creates a complex matrix with lots of options.
-Menu                  Creates a pull-down menu interface.
-Multiple Line Entry   A multiple line entry field. Very useful
-                      for long fields. (like a description
-                      field)
-Radio List            Creates a radio button list.
-Scale                 Creates a numeric scale. Used for allowing a user to
-                      pick a numeric value and restrict them to a range of 
-                      values.
-Scrolling List        Creates a scrolling list/menu list.
-Scrolling Window      Creates a scrolling log file viewer. Can add 
-                      information into the window while its running. 
-                      A good widget for displaying the progress of
-                      something. (akin to a console window)
-Selection List        Creates a multiple option selection list.
-Slider                Akin to the scale widget, this widget provides a
-                      visual slide bar to represent the numeric value.
-Template              Creates a entry field with character sensitive 
-                      positions. Used for pre-formatted fields like
-                      dates and phone numbers.
-Viewer                This is a file/information viewer. Very useful
-                      when you need to display loads of information.
-===========================================================================
-
-

A few of the widgets are modified by Thomas Dickey in recent -versions.

-
-
-
-

19.1.2. Some -Attractive Features

-

Apart from making our life easier with readily usable widgets, -cdk solves one frustrating problem with printing multi colored -strings, justified strings elegantly. Special formatting tags can -be embedded in the strings which are passed to CDK functions. For -Example

-

If the string

- - - - -
-
-"</B/1>This line should have a yellow foreground and a blue
-background.<!1>"
-
-

given as a parameter to newCDKLabel(), it prints the line with -yellow foreground and blue background. There are other tags -available for justifying string, embedding special drawing -characters etc.. Please refer to the man page cdk_display(3X) for -details. The man page explains the usage with nice examples.

-
-
-
-

19.1.3. Conclusion

-

All in all, CDK is a well-written package of widgets, which if -used properly can form a strong frame work for developing complex -GUI.

-
-
-
-
-

19.2. The -dialog

-

Long long ago, in September 1994, when few people knew linux, -Jeff Tranter wrote an article on dialog in Linux Journal. He starts the -article with these words..

-

Linux is based on the Unix operating system, but also -features a number of unique and useful kernel features and -application programs that often go beyond what is available under -Unix. One little-known gem is "dialog", a utility for creating -professional-looking dialog boxes from within shell scripts. This -article presents a tutorial introduction to the dialog utility, and -shows examples of how and where it can be used

-

As he explains, dialog is a real gem in making -professional-looking dialog boxes with ease. It creates a variety -of dialog boxes, menus, check lists etc.. It is usually installed -by default. If not, you can download it from Thomas -Dickey's site.

-

The above-mentioned article gives a very good overview of its -uses and capabilites. The man page has more details. It can be used -in variety of situations. One good example is building of linux -kernel in text mode. Linux kernel uses a modified version of dialog -tailored for its needs.

-

dialog was initially designed to be used with shell scripts. If -you want to use its functionality in a c program, then you can use -libdialog. The documentation regarding this is sparse. Definitive -reference is the dialog.h header file which comes with the library. -You may need to hack here and there to get the required output. The -source is easily customizable. I have used it on a number of -occasions by modifying the code.

-
-
-
-

19.3. Perl -Curses Modules CURSES::FORM and CURSES::WIDGETS

-

The perl module Curses, Curses::Form and Curses::Widgets give -access to curses from perl. If you have curses and basic perl is -installed, you can get these modules from CPAN All Modules page. Get the three zipped modules in -the Curses category. Once installed you can use these modules from -perl scripts like any other module. For more information on perl -modules see perlmod man page. The above modules come with good -documentation and they have some demo scripts to test the -functionality. Though the widgets provided are very rudimentary, -these modules provide good access to curses library from perl.

-

Some of my code examples are converted to perl by Anuradha -Ratnaweera and they are available in the perl directory.

-

For more information see man pages Curses(3) , Curses::Form(3) -and Curses::Widgets(3). These pages are installed only when the -above modules are acquired and installed.

-
-
-
-
-

20. Just For -Fun !!!

-

This section contains few programs written by me just for fun. -They don't signify a better programming practice or the best way of -using ncurses. They are provided here so as to allow beginners to -get ideas and add more programs to this section. If you have -written a couple of nice, simple programs in curses and want them -to included here, contact me.

-
-
-

20.1. The -Game of Life

-

Game of life is a wonder of math. In Paul Callahan's words

- - - - -
-
-The Game of Life (or simply Life) is not a game in the conventional sense. There
-are no players, and no winning or losing. Once the "pieces" are placed in the
-starting position, the rules determine everything that happens later.
-Nevertheless, Life is full of surprises! In most cases, it is impossible to look
-at a starting position (or pattern) and see what will happen in the future. The
-only way to find out is to follow the rules of the game.
-
-

This program starts with a simple inverted U pattern and shows -how wonderful life works. There is a lot of room for improvement in -the program. You can let the user enter pattern of his choice or -even take input from a file. You can also change rules and play -with a lot of variations. Search on google for interesting information on game of -life.

-

File Path: JustForFun/life.c

-
-
-
-

20.2. Magic -Square

-

Magic Square, another wonder of math, is very simple to -understand but very difficult to make. In a magic square sum of the -numbers in each row, each column is equal. Even diagnol sum can be -equal. There are many variations which have special properties.

-

This program creates a simple magic square of odd order.

-

File Path: JustForFun/magic.c

-
-
-
-

20.3. Towers of -Hanoi

-

The famous towers of hanoi solver. The aim of the game is to -move the disks on the first peg to last peg, using middle peg as a -temporary stay. The catch is not to place a larger disk over a -small disk at any time.

-

File Path: JustForFun/hanoi.c

-
-
-
-

20.4. Queens -Puzzle

-

The objective of the famous N-Queen puzzle is to put N queens on -a N X N chess board without attacking each other.

-

This program solves it with a simple backtracking technique.

-

File Path: JustForFun/queens.c

-
-
-
-

20.5. -Shuffle

-

A fun game, if you have time to kill.

-

File Path: JustForFun/shuffle.c

-
-
-
-

20.6. Typing Tutor

-

A simple typing tutor, I created more out of need than for ease -of use. If you know how to put your fingers correctly on the -keyboard, but lack practice, this can be helpful.

-

File Path: JustForFun/tt.c

-
-
-
-
-

21. References

- -
-
- - diff --git a/src/libs/ncurses/doc/html/ada/files.htm b/src/libs/ncurses/doc/html/ada/files.htm deleted file mode 100644 index a3bad641f8..0000000000 --- a/src/libs/ncurses/doc/html/ada/files.htm +++ /dev/null @@ -1,6 +0,0 @@ - - - -

Files

-[T] - diff --git a/src/libs/ncurses/doc/html/ada/files/T.htm b/src/libs/ncurses/doc/html/ada/files/T.htm deleted file mode 100644 index d9d6950b81..0000000000 --- a/src/libs/ncurses/doc/html/ada/files/T.htm +++ /dev/null @@ -1,78 +0,0 @@ - -T - -

Files - T

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs.htm b/src/libs/ncurses/doc/html/ada/funcs.htm deleted file mode 100644 index 9a2da6189d..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs.htm +++ /dev/null @@ -1,27 +0,0 @@ - - - -

Functions/Procedures

-[A] -[B] -[C] -[D] -[E] -[F] -[G] -[H] -[I] -[K] -[L] -[M] -[N] -[O] -[P] -[Q] -[R] -[S] -[T] -[U] -[V] -[W] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/A.htm b/src/libs/ncurses/doc/html/ada/funcs/A.htm deleted file mode 100644 index 1c0b6dd706..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/A.htm +++ /dev/null @@ -1,9 +0,0 @@ - -A - -

Functions - A

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/B.htm b/src/libs/ncurses/doc/html/ada/funcs/B.htm deleted file mode 100644 index ab8c51b363..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/B.htm +++ /dev/null @@ -1,11 +0,0 @@ - -B - -

Functions - B

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/C.htm b/src/libs/ncurses/doc/html/ada/funcs/C.htm deleted file mode 100644 index 251e23237a..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/C.htm +++ /dev/null @@ -1,34 +0,0 @@ - -C - -

Functions - C

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/D.htm b/src/libs/ncurses/doc/html/ada/funcs/D.htm deleted file mode 100644 index 2e3f6c5912..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/D.htm +++ /dev/null @@ -1,22 +0,0 @@ - -D - -

Functions - D

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/E.htm b/src/libs/ncurses/doc/html/ada/funcs/E.htm deleted file mode 100644 index 85fc2323a6..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/E.htm +++ /dev/null @@ -1,10 +0,0 @@ - -E - -

Functions - E

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/F.htm b/src/libs/ncurses/doc/html/ada/funcs/F.htm deleted file mode 100644 index 4ab9adf0fd..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/F.htm +++ /dev/null @@ -1,43 +0,0 @@ - -F - -

Functions - F

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/G.htm b/src/libs/ncurses/doc/html/ada/funcs/G.htm deleted file mode 100644 index e739131f28..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/G.htm +++ /dev/null @@ -1,33 +0,0 @@ - -G - -

Functions - G

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/H.htm b/src/libs/ncurses/doc/html/ada/funcs/H.htm deleted file mode 100644 index 638ba4cb2e..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/H.htm +++ /dev/null @@ -1,14 +0,0 @@ - -H - -

Functions - H

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/I.htm b/src/libs/ncurses/doc/html/ada/funcs/I.htm deleted file mode 100644 index b0e1b12ce6..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/I.htm +++ /dev/null @@ -1,29 +0,0 @@ - -I - -

Functions - I

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/K.htm b/src/libs/ncurses/doc/html/ada/funcs/K.htm deleted file mode 100644 index d159d302e6..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/K.htm +++ /dev/null @@ -1,11 +0,0 @@ - -K - -

Functions - K

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/L.htm b/src/libs/ncurses/doc/html/ada/funcs/L.htm deleted file mode 100644 index cfb06183cb..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/L.htm +++ /dev/null @@ -1,15 +0,0 @@ - -L - -

Functions - L

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/M.htm b/src/libs/ncurses/doc/html/ada/funcs/M.htm deleted file mode 100644 index 2e592e0fe9..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/M.htm +++ /dev/null @@ -1,43 +0,0 @@ - -M - -

Functions - M

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/N.htm b/src/libs/ncurses/doc/html/ada/funcs/N.htm deleted file mode 100644 index 3b584cc6ca..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/N.htm +++ /dev/null @@ -1,28 +0,0 @@ - -N - -

Functions - N

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/O.htm b/src/libs/ncurses/doc/html/ada/funcs/O.htm deleted file mode 100644 index ca0d40704a..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/O.htm +++ /dev/null @@ -1,10 +0,0 @@ - -O - -

Functions - O

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/P.htm b/src/libs/ncurses/doc/html/ada/funcs/P.htm deleted file mode 100644 index 1fdb8218f9..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/P.htm +++ /dev/null @@ -1,44 +0,0 @@ - -P - -

Functions - P

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/Q.htm b/src/libs/ncurses/doc/html/ada/funcs/Q.htm deleted file mode 100644 index 1ae992bda0..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/Q.htm +++ /dev/null @@ -1,8 +0,0 @@ - -Q - -

Functions - Q

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/R.htm b/src/libs/ncurses/doc/html/ada/funcs/R.htm deleted file mode 100644 index ebe8a1e26d..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/R.htm +++ /dev/null @@ -1,20 +0,0 @@ - -R - -

Functions - R

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/S.htm b/src/libs/ncurses/doc/html/ada/funcs/S.htm deleted file mode 100644 index 7ac0fc0530..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/S.htm +++ /dev/null @@ -1,98 +0,0 @@ - -S - -

Functions - S

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/T.htm b/src/libs/ncurses/doc/html/ada/funcs/T.htm deleted file mode 100644 index 61d2a91e04..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/T.htm +++ /dev/null @@ -1,31 +0,0 @@ - -T - -

Functions - T

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/U.htm b/src/libs/ncurses/doc/html/ada/funcs/U.htm deleted file mode 100644 index b4c513eebc..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/U.htm +++ /dev/null @@ -1,12 +0,0 @@ - -U - -

Functions - U

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/V.htm b/src/libs/ncurses/doc/html/ada/funcs/V.htm deleted file mode 100644 index dbe65f8230..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/V.htm +++ /dev/null @@ -1,8 +0,0 @@ - -V - -

Functions - V

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/funcs/W.htm b/src/libs/ncurses/doc/html/ada/funcs/W.htm deleted file mode 100644 index 3256beb130..0000000000 --- a/src/libs/ncurses/doc/html/ada/funcs/W.htm +++ /dev/null @@ -1,56 +0,0 @@ - -W - -

Functions - W

-[index] - diff --git a/src/libs/ncurses/doc/html/ada/index.htm b/src/libs/ncurses/doc/html/ada/index.htm deleted file mode 100644 index 4a13484de6..0000000000 --- a/src/libs/ncurses/doc/html/ada/index.htm +++ /dev/null @@ -1,39 +0,0 @@ - - -Source Browser - - -<H2 ALIGN=CENTER>Files</H2> -<A HREF="files/T.htm">[T]</A> -<HR> -<H2 ALIGN=CENTER>Functions/Procedures</H2> -<A HREF="funcs/A.htm">[A]</A> -<A HREF="funcs/B.htm">[B]</A> -<A HREF="funcs/C.htm">[C]</A> -<A HREF="funcs/D.htm">[D]</A> -<A HREF="funcs/E.htm">[E]</A> -<A HREF="funcs/F.htm">[F]</A> -<A HREF="funcs/G.htm">[G]</A> -<A HREF="funcs/H.htm">[H]</A> -<A HREF="funcs/I.htm">[I]</A> -<A HREF="funcs/K.htm">[K]</A> -<A HREF="funcs/L.htm">[L]</A> -<A HREF="funcs/M.htm">[M]</A> -<A HREF="funcs/N.htm">[N]</A> -<A HREF="funcs/O.htm">[O]</A> -<A HREF="funcs/P.htm">[P]</A> -<A HREF="funcs/Q.htm">[Q]</A> -<A HREF="funcs/R.htm">[R]</A> -<A HREF="funcs/S.htm">[S]</A> -<A HREF="funcs/T.htm">[T]</A> -<A HREF="funcs/U.htm">[U]</A> -<A HREF="funcs/V.htm">[V]</A> -<A HREF="funcs/W.htm">[W]</A> - - - - - - - - diff --git a/src/libs/ncurses/doc/html/ada/main.htm b/src/libs/ncurses/doc/html/ada/main.htm deleted file mode 100644 index 701fe7d143..0000000000 --- a/src/libs/ncurses/doc/html/ada/main.htm +++ /dev/null @@ -1,69 +0,0 @@ - - - -

[No frame version is here]

Files

-[T] -

Functions/Procedures

-[A] -[B] -[C] -[D] -[E] -[F] -[G] -[H] -[I] -[K] -[L] -[M] -[N] -[O] -[P] -[Q] -[R] -[S] -[T] -[U] -[V] -[W] -
-You should start your browsing with one of these files: - - diff --git a/src/libs/ncurses/doc/html/ada/table.html b/src/libs/ncurses/doc/html/ada/table.html deleted file mode 100644 index a71e143a3a..0000000000 --- a/src/libs/ncurses/doc/html/ada/table.html +++ /dev/null @@ -1,339 +0,0 @@ - - - -Correspondence between ncurses C and Ada functions - - -

Correspondence between ncurses C and Ada functions

-

Sorted by C function name

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C nameAda nameman page
_tracef()Trace_Putcurs_trace.3x
assume_default_colors()Assume_Default_Colorsdft_fgbg.3x
baudrate()Baudratecurs_termattrs.3x
beep()Beepcurs_beep.3x
bottom_panel()Bottompanel.3x
box()Boxcurs_border.3x
can_change_color()Can_Change_Colorcurs_color.3x
cbreak()Set_Cbreak_Modecurs_inopts.3x
clearok()Clear_On_Next_Updatecurs_outopts.3x
color_content()Color_Contentcurs_color.3x
copywin()Copycurs_overlay.3x
current_field()Currentform_page.3x
current_item()Currentmitem_current.3x
curs_set()Set_Cursor_Visibilitycurs_kernel.3x
curses_version()Curses_Versioncurs_extend.3x
data_ahead()Data_Aheadform_data.3x
data_behind()Data_Behindform_data.3x
def_prog_mode()Save_Curses_Modecurs_kernel.3x
define_key()Define_Keydefine_key.3x
del_panel()Deletepanel.3x
delay_output()Delay_Outputcurs_util.3x
delwin()Deletecurs_window.3x
derwin()Derived_Windowcurs_window.3x
doupdate()Update_Screencurs_refresh.3x
dup_field()Duplicateform_field_new.3x
dupwin()Duplicatecurs_window.3x
dynamic_field_info()Dynamic_Infoform_field_info.3x
echo()Set_Echo_Modecurs_inopts.3x
endwin()End_Windowscurs_initscr.3x
erasechar()Erase_Charactercurs_termattrs.3x
field_back()Backgroundform_field_attributes.3x
field_back()Backgroundform_field_attributes.3x
field_buffer()Get_Bufferform_field_buffer.3x
field_count()Field_Countform_field.3x
field_fore()Foregroundform_field_attributes.3x
field_fore()Foregroundform_field_attributes.3x
field_index()Get_Indexform_page.3x
field_info()Infoform_field_info.3x
field_init()Get_Field_Init_Hookform_hook.3x
field_just()Get_Justificationform_field_just.3x
field_opts()Get_Optionsform_field_opts.3x
field_opts()Get_Optionsform_field_opts.3x
field_opts_on()Switch_Optionsform_field_opts.3x
field_pad()Pad_Characterform_field_attributes.3x
field_status()Changedform_field_buffer.3x
field_term()Get_Field_Term_Hookform_hook.3x
field_type()Get_Typeform_field_validation.3x
field_userptrGet_User_Dataform_field_userptr.3x
field_userptrGet_User_Dataform_field_userptr.3x
flash()Flash_Screencurs_beep.3x
flushinp()Flush_Inputcurs_util.3x
form_driver()Driverform_driver.3x
form_fields()Fieldsform_field.3x
form_init()Get_Form_Init_Hookform_hook.3x
form_opts()Get_Optionsform_opts.3x
form_opts()Get_Optionsform_opts.3x
form_opts_on()Switch_Optionsform_opts.3x
form_page()Pageform_page.3x
form_sub()Get_Sub_Windowform_win.3x
form_term()Get_Form_Term_Hookform_hook.3x
form_userptrGet_User_Dataform_userptr.3x
form_userptrGet_User_Dataform_userptr.3x
form_win()Get_Windowform_win.3x
free_field()Deleteform_field_new.3x
free_form()Deleteform_new.3x
free_item()Deletemitem_new.3x
free_menu()Deletemenu_new.3x
getbegyx()Get_Window_Positioncurs_getyx.3x
getmaxyx()Get_Sizecurs_getyx.3x
getmouse()Get_Mousecurs_mouse.3x
getparyx()Get_Origin_Relative_To_Parentcurs_getyx.3x
getyx()Get_Cursor_Positioncurs_getyx.3x
halfdelay()Half_Delaycurs_inopts.3x
has_colors()Has_Colorscurs_color.3x
has_ic()Has_Insert_Charactercurs_termattrs.3x
has_il()Has_Insert_Linecurs_termattrs.3x
has_key()Has_Keycurs_getch.3x
hide_panel()Hidepanel.3x
idcok()Use_Insert_Delete_Charactercurs_outopts.3x
idlok()Use_Insert_Delete_Linecurs_outopts.3x
immedok()Immediate_Update_Modecurs_outopts.3x
init_color()Init_Colorcurs_color.3x
init_pair()Init_Paircurs_color.3x
initscr()Init_Screencurs_initscr.3x
initscr()Init_Windowscurs_initscr.3x
intrflush()Set_Flush_On_Interrupt_Modecurs_inopts.3x
is_linetouched()Is_Touchedcurs_touch.3x
is_wintouched()Is_Touchedcurs_touch.3x
isendwin()Is_End_Windowcurs_initscr.3x
item_count()Item_Countmenu_items.3x
item_description();Descriptionmitem_name.3x
item_index()Get_Indexmitem_current.3x
item_init()Get_Item_Init_Hookmenu_hook.3x
item_name()Namemitem_name.3x
item_opts()Get_Optionsmitem_opts.3x
item_opts()Get_Optionsmitem_opts.3x
item_opts_on()Switch_Optionsmitem_opts.3x
item_term()Get_Item_Term_Hookmenu_hook.3x
item_userptrGet_User_Datamitem_userptr.3x
item_userptrGet_User_Datamitem_userptr.3x
item_value()Valuemitem_value.3x
item_visible()Visiblemitem_visible.3x
keyname()Key_Namecurs_util.3x
keyname()Key_Namecurs_util.3x
keyok()Enable_Keykeyok.3x
keypad()Set_KeyPad_Modecurs_inopts.3x
killchar()Kill_Charactercurs_termattrs.3x
leaveok()Leave_Cursor_After_Updatecurs_outopts.3x
link_field()Linkform_field_new.3x
longname()Long_Namecurs_termattrs.3x
longname()Long_Namecurs_termattrs.3x
menu_back()Backgroundmenu_attribs.3x
menu_back()Backgroundmenu_attribs.3x
menu_driver()Drivermenu_driver.3x
menu_fore()Foregroundmenu_attribs.3x
menu_fore()Foregroundmenu_attribs.3x
menu_format()Formatmenu_format.3x
menu_grey()Greymenu_attribs.3x
menu_grey()Greymenu_attribs.3x
menu_init()Get_Menu_Init_Hookmenu_hook.3x
menu_items()Itemsmenu_items.3x
menu_mark()Markmenu_mark.3x
menu_opts()Get_Optionsmenu_opts.3x
menu_opts()Get_Optionsmenu_opts.3x
menu_opts_on()Switch_Optionsmenu_opts.3x
menu_pad()Pad_Charactermenu_attribs.3x
menu_pattern()Patternmenu_pattern.3x
menu_requestname.3xmenu_driver.3x
menu_spacing()Spacingmenu_spacing.3x
menu_sub()Get_Sub_Windowmenu_win.3x
menu_term()Get_Menu_Term_Hookmenu_hook.3x
menu_userptrGet_User_Datamenu_userptr.3x
menu_userptrGet_User_Datamenu_userptr.3x
menu_win()Get_Windowmenu_win.3x
meta()Set_Meta_Modecurs_inopts.3x
mouseinterval()Mouse_Intervalcurs_mouse.3x
mousemask()Start_Mousecurs_mouse.3x
move_field()Moveform_field.3x
move_panel()Movepanel.3x
mvderwin()Move_Derived_Windowcurs_window.3x
mvwaddch()Addcurs_addch.3x
mvwaddchnstr()Addcurs_addchstr.3x
mvwaddnstr()Addcurs_addstr.3x
mvwchgat()Change_Attributescurs_attr.3x
mvwdelch()Delete_Charactercurs_delch.3x
mvwgetnstr()Getcurs_getstr.3x
mvwin()Move_Windowcurs_window.3x
mvwinch()Peekcurs_inch.3x
mvwinchnstr()Peekcurs_inchstr.3x
mvwinnstr()Peekcurs_instr.3x
mvwinsch()Insertcurs_insch.3x
mvwinsnstr()Insertcurs_insstr.3x
napms()Nap_Milli_Secondscurs_kernel.3x
new_field()Createform_field_new.3x
new_field()New_Fieldform_field_new.3x
new_form()Createform_new.3x
new_form()New_Formform_new.3x
new_item()Createmitem_new.3x
new_item()New_Itemmitem_new.3x
new_menu()Createmenu_new.3x
new_page()Is_New_Pageform_new_page.3x
new_panel()Createpanel.3x
new_panel()New_Panelpanel.3x
newpad()New_Padcurs_pad.3x
newwin()Createcurs_window.3x
nl()Set_NL_Modecurs_outopts.3x
nodelay()Set_NoDelay_Modecurs_inopts.3x
notimeout()Set_Escape_Time_Modecurs_inopts.3x
overlay()Overlaycurs_overlay.3x
overwrite()Overwritecurs_overlay.3x
pair_content()Pair_Contentcurs_color.3x
panel_above()Abovepanel.3x
panel_below()Belowpanel.3x
panel_hidden()Is_Hiddenpanel.3x
panel_userptrGet_User_Datapanel.3x
panel_userptrGet_User_Datapanel.3x
panel_window()Get_Windowpanel.3x
panel_window()Panel_Windowpanel.3x
pechochar()Add_Character_To_Pad_And_Echo_Itcurs_pad.3x
pnoutrefresh()Refresh_Without_Updatecurs_pad.3x
pos_form_cursor()Position_Cursorform_cursor.3x
pos_menu_cursor()Position_Cursormenu_cursor.3x
post_form()Postform_post.3x
post_menu()Postmenu_post.3x
prefresh()Refreshcurs_pad.3x
qiflush()Set_Queue_Interrupt_Modecurs_inopts.3x
raw()Set_Raw_Modecurs_inopts.3x
redrawwin()Redrawcurs_refresh.3x
replace_panel()Replacepanel.3x
reset_prog_mode()Reset_Curses_Modecurs_kernel.3x
resetty();Reset_Terminal_Statecurs_kernel.3x
ripoffline()Rip_Off_Linescurs_kernel.3x
savetty()Save_Terminal_Statecurs_kernel.3x
scale_form()Scaleform_win.3x
scale_menu()Scalemenu_win.3x
scr_dump()Screen_Dump_To_Filecurs_scr_dump.3x
scr_init()Screen_Init_From_Filecurs_scr_dump.3x
scr_restore()Screen_Restore_From_Filecurs_scr_dump.3x
scr_set()Screen_Set_Filecurs_scr_dump.3x
scrollok()Allow_Scrollingcurs_outopts.3x
set_current_field()Set_Currentform_page.3x
set_current_item()Set_Currentmitem_current.3x
set_field_back()Set_Backgroundform_field_attributes.3x
set_field_buffer()Set_Bufferform_field_buffer.3x
set_field_fore()Set_Foregroundform_field_attributes.3x
set_field_init()Set_Field_Init_Hookform_hook.3x
set_field_just()Set_Justificationform_field_just.3x
set_field_max()Set_Maximum_Sizeform_field_buffer.3x
set_field_opts()Set_Optionsform_field_opts.3x
set_field_pad()Set_Pad_Characterform_field_attributes.3x
set_field_status()Set_Statusform_field_buffer.3x
set_field_term()Set_Field_Term_Hookform_hook.3x
set_field_type()Set_Typeform_fieldtype.3x
set_field_userptrSet_User_Dataform_field_userptr.3x
set_form_fields()Redefineform_field.3x
set_form_fields()Set_Fieldsform_field.3x
set_form_init()Set_Form_Init_Hookform_hook.3x
set_form_opts()Set_Optionsform_opts.3x
set_form_page()Set_Pageform_page.3x
set_form_sub()Set_Sub_Windowform_win.3x
set_form_term()Set_Form_Term_Hookform_hook.3x
set_form_userptrSet_User_Dataform_userptr.3x
set_form_win()Set_Windowform_win.3x
set_item_init()Set_Item_Init_Hookmenu_hook.3x
set_item_opts()Set_Optionsmitem_opts.3x
set_item_term()Set_Item_Term_Hookmenu_hook.3x
set_item_userptrSet_User_Datamitem_userptr.3x
set_item_value()Set_Valuemitem_value.3x
set_menu_back()Set_Backgroundmenu_attribs.3x
set_menu_fore()Set_Foregroundmenu_attribs.3x
set_menu_format()Set_Formatmenu_format.3x
set_menu_grey()Set_Greymenu_attribs.3x
set_menu_init()Set_Menu_Init_Hookmenu_hook.3x
set_menu_items()Redefinemenu_items.3x
set_menu_mark()Set_Markmenu_mark.3x
set_menu_opts()Set_Optionsmenu_opts.3x
set_menu_pad()Set_Pad_Charactermenu_attribs.3x
set_menu_pattern()Set_Patternmenu_pattern.3x
set_menu_spacing()Set_Spacingmenu_spacing.3x
set_menu_sub()Set_Sub_Windowmenu_win.3x
set_menu_term()Set_Menu_Term_Hookmenu_hook.3x
set_menu_userptrSet_User_Datamenu_userptr.3x
set_menu_win()Set_Windowmenu_win.3x
set_new_page()Set_New_Pageform_new_page.3x
set_panel_userptrSet_User_Datapanel.3x
set_top_row()Set_Top_Rowmitem_current.3x
show_panel()Showpanel.3x
slk_attr()Get_Soft_Label_Key_Attributescurs_slk.3x
slk_attr()Get_Soft_Label_Key_Attributescurs_slk.3x
slk_attron()Switch_Soft_Label_Key_Attributescurs_slk.3x
slk_attrset()Set_Soft_Label_Key_Attributescurs_slk.3x
slk_clear()Clear_Soft_Label_Keyscurs_slk.3x
slk_color()Set_Soft_Label_Key_Colorcurs_slk.3x
slk_init()Init_Soft_Label_Keyscurs_slk.3x
slk_label()Get_Soft_Label_Keycurs_slk.3x
slk_label()Get_Soft_Label_Keycurs_slk.3x
slk_noutrefresh()Refresh_Soft_Label_Keys_Without_Updatecurs_slk.3x
slk_refresh()Refresh_Soft_Label_Keycurs_slk.3x
slk_restore()Restore_Soft_Label_Keyscurs_slk.3x
slk_set()Set_Soft_Label_Keycurs_slk.3x
slk_touch()Touch_Soft_Label_Keyscurs_slk.3x
standout()Standoutcurs_attr.3x
start_color()Start_Colorcurs_color.3x
stdscrStandard_Windowcurs_initscr.3x
subpad()Sub_Padcurs_pad.3x
subwin()Sub_Windowcurs_window.3x
syncok()Set_Synch_Modecurs_window.3x
termattrs()Supported_Attributescurs_termattrs.3x
termname()Terminal_Namecurs_termattrs.3x
termname()Terminal_Namecurs_termattrs.3x
top_panel()Toppanel.3x
top_row()Top_Rowmitem_current.3x
touchline()Touchcurs_touch.3x
touchwin()Touchcurs_touch.3x
trace()Trace_oncurs_trace.3x
unctrl()Un_Controlcurs_util.3x
unctrl()Un_Controlcurs_util.3x
ungetch()Undo_Keystrokecurs_getch.3x
ungetmouse()Unget_Mousecurs_mouse.3x
untouchwin()Untouchcurs_touch.3x
update_panels()Update_Panelspanel.3x
use_default_colors()Use_Default_Colorsdft_fgbg.3x
use_extended_names()Use_Extended_Namescurs_extend.3x
waddch()Addcurs_addch.3x
waddchnstr()Addcurs_addchstr.3x
waddnstr()Addcurs_addstr.3x
wattr_get()Get_Character_Attributescurs_attr.3x
wattr_get()Get_Character_Attributecurs_attr.3x
wattron()Switch_Character_Attributecurs_attr.3x
wattrset()Set_Character_Attributescurs_attr.3x
wbkgd()Change_Backgroundcurs_bkgd.3x
wbkgdget()Get_Backgroundcurs_bkgd.3x
wbkgdset()Set_Backgroundcurs_bkgd.3x
wborder()Bordercurs_border.3x
wchgat()Change_Attributescurs_attr.3x
wclear()Clearcurs_clear.3x
wclrtobot()Clear_To_End_Of_Screencurs_clear.3x
wclrtoeol()Clear_To_End_Of_Linecurs_clear.3x
wcolor_set()Set_Colorcurs_attr.3x
wdelch()Delete_Charactercurs_delch.3x
wdeleteln()Delete_Linecurs_deleteln.3x
wechochar()Add_With_Immediate_Echocurs_addch.3x
wenclose()Enclosed_In_Windowcurs_mouse.3x
werase()Erasecurs_clear.3x
wgetch()Get_Keystrokecurs_getch.3x
wgetnstr()Getcurs_getstr.3x
whline()Horizontal_Linecurs_border.3x
winch()Peekcurs_inch.3x
winchnstr()Peekcurs_inchstr.3x
winnstr()Peekcurs_instr.3x
winsch()Insertcurs_insch.3x
winsdelln()Insert_Delete_Linescurs_deleteln.3x
winsertln()Insert_Linecurs_deleteln.3x
winsnstr()Insertcurs_insstr.3x
wmove()Move_Cursorcurs_move.3x
wnoutrefresh()Refresh_Without_Updatecurs_refresh.3x
wredrawln()Redrawcurs_refresh.3x
wrefresh()Refreshcurs_refresh.3x
wresize()Resizewresize.3x
wscrl()Scrollcurs_scroll.3x
wsetscrreg()Set_Scroll_Regioncurs_outopts.3x
wsyncdown()Synchronize_Downwardscurs_window.3x
wsyncup()Synchronize_Upwardscurs_window.3x
wtimeout()Set_Timeout_Modecurs_inopts.3x
wtouchln()Change_Line_Statuscurs_touch.3x
wvline()Vertical_Linecurs_border.3x
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-aux__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-aux__adb.htm deleted file mode 100644 index a6dacec98c..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-aux__adb.htm +++ /dev/null @@ -1,122 +0,0 @@ - -terminal_interface-curses-aux.adb - -

File : terminal_interface-curses-aux.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                      Terminal_Interface.Curses.Aux                       --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.10 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-package body Terminal_Interface.Curses.Aux is
-   --
-   --  Some helpers
-   procedure Fill_String (Cp  : in  chars_ptr;
-                          Str : out String)
-   is
-      --  Fill the string with the characters referenced by the
-      --  chars_ptr.
-      --
-      Len : Natural;
-   begin
-      if Cp /= Null_Ptr then
-         Len := Natural (Strlen (Cp));
-         if Str'Length < Len then
-            raise Constraint_Error;
-         end if;
-         declare
-            S : String (1 .. Len);
-         begin
-            S := Value (Cp);
-            Str (Str'First .. (Str'First + Len - 1)) := S (S'Range);
-         end;
-      else
-         Len := 0;
-      end if;
-
-      if Len < Str'Length then
-         Str ((Str'First + Len) .. Str'Last) := (others => ' ');
-      end if;
-
-   end Fill_String;
-
-   function Fill_String (Cp : chars_ptr) return String
-   is
-      Len : Natural;
-   begin
-      if Cp /= Null_Ptr then
-         Len := Natural (Strlen (Cp));
-         if Len = 0 then
-            return "";
-         else
-            declare
-               S : String (1 .. Len);
-            begin
-               Fill_String (Cp, S);
-               return S;
-            end;
-         end if;
-      else
-         return "";
-      end if;
-   end Fill_String;
-
-   procedure Eti_Exception (Code : Eti_Error)
-   is
-   begin
-      case Code is
-         when E_Ok              => null;
-         when E_System_Error    => raise Eti_System_Error;
-         when E_Bad_Argument    => raise Eti_Bad_Argument;
-         when E_Posted          => raise Eti_Posted;
-         when E_Connected       => raise Eti_Connected;
-         when E_Bad_State       => raise Eti_Bad_State;
-         when E_No_Room         => raise Eti_No_Room;
-         when E_Not_Posted      => raise Eti_Not_Posted;
-         when E_Unknown_Command => raise Eti_Unknown_Command;
-         when E_No_Match        => raise Eti_No_Match;
-         when E_Not_Selectable  => raise Eti_Not_Selectable;
-         when E_Not_Connected   => raise Eti_Not_Connected;
-         when E_Request_Denied  => raise Eti_Request_Denied;
-         when E_Invalid_Field   => raise Eti_Invalid_Field;
-         when E_Current         => raise Eti_Current;
-      end case;
-   end Eti_Exception;
-
-end Terminal_Interface.Curses.Aux;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-aux__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-aux__ads.htm deleted file mode 100644 index e81c3325d9..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-aux__ads.htm +++ /dev/null @@ -1,131 +0,0 @@ - -terminal_interface-curses-aux.ads - -

File : terminal_interface-curses-aux.ads


-
-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                       Terminal_Interface.Curses.Aux                      --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.15 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
---  curses binding.
---  This module is generated. Please don't change it manually!
---  Run the generator instead.
---  |
-with System;
-with Interfaces.C;
-with Interfaces.C.Strings; use Interfaces.C.Strings;
-with Unchecked_Conversion;
-
-package Terminal_Interface.Curses.Aux is
-   pragma Preelaborate (Terminal_Interface.Curses.Aux);
-
-   use type Interfaces.C.int;
-
-   subtype C_Int      is Interfaces.C.int;
-   subtype C_Short    is Interfaces.C.short;
-   subtype C_Long_Int is Interfaces.C.long;
-   subtype C_Size_T   is Interfaces.C.size_t;
-   subtype C_UInt     is Interfaces.C.unsigned;
-   subtype C_ULong    is Interfaces.C.unsigned_long;
-   subtype C_Char_Ptr is Interfaces.C.Strings.chars_ptr;
-   type    C_Void_Ptr is new System.Address;
-   type    C_Chtype   is new C_ULong;
-   type    C_AttrType is new C_ULong;
-
-   --  This is how those constants are defined in ncurses. I see them also
-   --  exactly like this in all ETI implementations I ever tested. So it
-   --  could be that this is quite general, but please check with your curses.
-   --  This is critical, because curses sometime mixes boolean returns with
-   --  returning an error status.
-   Curses_Ok    : constant C_Int := 0;
-   Curses_Err   : constant C_Int := -1;
-
-   Curses_True  : constant C_Int := 1;
-   Curses_False : constant C_Int := 0;
-
-   --  Eti_Error: type for error codes returned by the menu and form subsystem
-   subtype Eti_Error is C_Int range -14 .. 0;
-
-   E_Ok               : constant Eti_Error := 0;
-   E_System_Error     : constant Eti_Error := -1;
-   E_Bad_Argument     : constant Eti_Error := -2;
-   E_Posted           : constant Eti_Error := -3;
-   E_Connected        : constant Eti_Error := -4;
-   E_Bad_State        : constant Eti_Error := -5;
-   E_No_Room          : constant Eti_Error := -6;
-   E_Not_Posted       : constant Eti_Error := -7;
-   E_Unknown_Command  : constant Eti_Error := -8;
-   E_No_Match         : constant Eti_Error := -9;
-   E_Not_Selectable   : constant Eti_Error := -10;
-   E_Not_Connected    : constant Eti_Error := -11;
-   E_Request_Denied   : constant Eti_Error := -12;
-   E_Invalid_Field    : constant Eti_Error := -13;
-   E_Current          : constant Eti_Error := -14;
-
-   procedure Eti_Exception (Code : Eti_Error);
-   --  Dispatch the error code and raise the appropriate exception
-   --
-   --
-   --  Some helpers
-   function Chtype_To_AttrChar is new
-     Unchecked_Conversion (Source => C_Chtype,
-                           Target => Attributed_Character);
-   function AttrChar_To_Chtype is new
-     Unchecked_Conversion (Source => Attributed_Character,
-                           Target => C_Chtype);
-
-   function AttrChar_To_AttrType is new
-     Unchecked_Conversion (Source => Attributed_Character,
-                           Target => C_AttrType);
-
-   function AttrType_To_AttrChar is new
-     Unchecked_Conversion (Source => C_AttrType,
-                           Target => Attributed_Character);
-
-   procedure Fill_String (Cp  : in  chars_ptr;
-                          Str : out String);
-   --  Fill the Str parameter with the string denoted by the chars_ptr
-   --  C-Style string.
-
-   function Fill_String (Cp : chars_ptr) return String;
-   --  Same but as function.
-
-end Terminal_Interface.Curses.Aux;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm deleted file mode 100644 index fb26df8c59..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm +++ /dev/null @@ -1,74 +0,0 @@ - -terminal_interface-curses-forms-field_types-alpha.adb - -

File : terminal_interface-curses-forms-field_types-alpha.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---              Terminal_Interface.Curses.Forms.Field_Types.Alpha           --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.8 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Interfaces.C;
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-
-package body Terminal_Interface.Curses.Forms.Field_Types.Alpha is
-
-   use type Interfaces.C.int;
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in Alpha_Field)
-   is
-      C_Alpha_Field_Type : C_Field_Type;
-      pragma Import (C, C_Alpha_Field_Type, "TYPE_ALPHA");
-
-      function Set_Fld_Type (F    : Field := Fld;
-                             Cft  : C_Field_Type := C_Alpha_Field_Type;
-                             Arg1 : C_Int) return C_Int;
-      pragma Import (C, Set_Fld_Type, "set_field_type");
-
-      Res : Eti_Error;
-   begin
-      Res := Set_Fld_Type (Arg1 => C_Int (Typ.Minimum_Field_Width));
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-      Wrap_Builtin (Fld, Typ);
-   end Set_Field_Type;
-
-end Terminal_Interface.Curses.Forms.Field_Types.Alpha;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm deleted file mode 100644 index 6c671b3be1..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm +++ /dev/null @@ -1,59 +0,0 @@ - -terminal_interface-curses-forms-field_types-alpha.ads - -

File : terminal_interface-curses-forms-field_types-alpha.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---              Terminal_Interface.Curses.Forms.Field_Types.Alpha           --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-package Terminal_Interface.Curses.Forms.Field_Types.Alpha is
-   pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types.Alpha);
-
-   type Alpha_Field is new Field_Type
-     with record
-        Minimum_Field_Width : Natural := 0;
-     end record;
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in Alpha_Field);
-   pragma Inline (Set_Field_Type);
-
-end Terminal_Interface.Curses.Forms.Field_Types.Alpha;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm deleted file mode 100644 index 3c8f13a4c3..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm +++ /dev/null @@ -1,74 +0,0 @@ - -terminal_interface-curses-forms-field_types-alphanumeric.adb - -

File : terminal_interface-curses-forms-field_types-alphanumeric.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---          Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric        --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.8 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Interfaces.C;
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-
-package body Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric is
-
-   use type Interfaces.C.int;
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in AlphaNumeric_Field)
-   is
-      C_AlphaNumeric_Field_Type : C_Field_Type;
-      pragma Import (C, C_AlphaNumeric_Field_Type, "TYPE_ALNUM");
-
-      function Set_Fld_Type (F    : Field := Fld;
-                             Cft  : C_Field_Type := C_AlphaNumeric_Field_Type;
-                             Arg1 : C_Int) return C_Int;
-      pragma Import (C, Set_Fld_Type, "set_field_type");
-
-      Res : Eti_Error;
-   begin
-      Res := Set_Fld_Type (Arg1 => C_Int (Typ.Minimum_Field_Width));
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-      Wrap_Builtin (Fld, Typ);
-   end Set_Field_Type;
-
-end Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm deleted file mode 100644 index c8ec89336f..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm +++ /dev/null @@ -1,60 +0,0 @@ - -terminal_interface-curses-forms-field_types-alphanumeric.ads - -

File : terminal_interface-curses-forms-field_types-alphanumeric.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---          Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric        --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-package Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric is
-   pragma Preelaborate
-     (Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric);
-
-   type AlphaNumeric_Field is new Field_Type
-     with record
-        Minimum_Field_Width : Natural := 0;
-     end record;
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in AlphaNumeric_Field);
-   pragma Inline (Set_Field_Type);
-
-end Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm deleted file mode 100644 index cdd62757b8..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm +++ /dev/null @@ -1,87 +0,0 @@ - -terminal_interface-curses-forms-field_types-enumeration-ada.adb - -

File : terminal_interface-curses-forms-field_types-enumeration-ada.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---         Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada      --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998,2004 Free Software Foundation, Inc.                   --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.10 @
---  @Date: 2004/08/21 21:37:00 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Ada.Characters.Handling; use Ada.Characters.Handling;
-
-package body Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada is
-
-   function Create (Set            : Type_Set := Mixed_Case;
-                    Case_Sensitive : Boolean  := False;
-                    Must_Be_Unique : Boolean  := False)
-                    return Enumeration_Field
-   is
-      I : Enumeration_Info (T'Pos (T'Last) - T'Pos (T'First) + 1);
-      J : Positive := 1;
-   begin
-      I.Case_Sensitive := Case_Sensitive;
-      I.Match_Must_Be_Unique := Must_Be_Unique;
-
-      for E in T'Range loop
-         I.Names (J) := new String'(T'Image (E));
-         --  The Image attribute defaults to upper case, so we have to handle
-         --  only the other ones...
-         if Set /= Upper_Case then
-            I.Names (J).all := To_Lower (I.Names (J).all);
-            if Set = Mixed_Case then
-               I.Names (J)(I.Names (J).all'First) :=
-                 To_Upper (I.Names (J)(I.Names (J).all'First));
-            end if;
-         end if;
-         J := J + 1;
-      end loop;
-
-      return Create (I, True);
-   end Create;
-
-   function Value (Fld : Field;
-                   Buf : Buffer_Number := Buffer_Number'First) return T
-   is
-   begin
-      return T'Value (Get_Buffer (Fld, Buf));
-   end Value;
-
-end Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm deleted file mode 100644 index d3bc6ff595..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm +++ /dev/null @@ -1,65 +0,0 @@ - -terminal_interface-curses-forms-field_types-enumeration-ada.ads - -

File : terminal_interface-curses-forms-field_types-enumeration-ada.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---         Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada      --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.10 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-generic
-   type T is (<>);
-
-package Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada is
-   pragma Preelaborate
-     (Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada);
-
-   function Create (Set            : Type_Set := Mixed_Case;
-                    Case_Sensitive : Boolean  := False;
-                    Must_Be_Unique : Boolean  := False)
-                    return Enumeration_Field;
-
-   function Value (Fld : Field;
-                   Buf : Buffer_Number := Buffer_Number'First) return T;
-   --  Translate the content of the fields buffer - indicated by the
-   --  buffer number - into an enumeration value. If the buffer is empty
-   --  or the content is invalid, a Constraint_Error is raises.
-
-end Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm deleted file mode 100644 index 4be45305ec..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm +++ /dev/null @@ -1,125 +0,0 @@ - -terminal_interface-curses-forms-field_types-enumeration.adb - -

File : terminal_interface-curses-forms-field_types-enumeration.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---          Terminal_Interface.Curses.Forms.Field_Types.Enumeration         --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.7 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Ada.Unchecked_Deallocation;
-with Interfaces.C; use Interfaces.C;
-with Interfaces.C.Strings; use Interfaces.C.Strings;
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-
-package body Terminal_Interface.Curses.Forms.Field_Types.Enumeration is
-
-   function Create (Info               : Enumeration_Info;
-                    Auto_Release_Names : Boolean := False)
-                    return Enumeration_Field
-   is
-      procedure Release_String is
-        new Ada.Unchecked_Deallocation (String,
-                                        String_Access);
-      E : Enumeration_Field;
-      L : constant size_t := 1 + size_t (Info.C);
-      S : String_Access;
-   begin
-      E.Case_Sensitive       := Info.Case_Sensitive;
-      E.Match_Must_Be_Unique := Info.Match_Must_Be_Unique;
-      E.Arr := new chars_ptr_array (size_t (1) .. L);
-      for I in 1 .. Positive (L - 1) loop
-         if Info.Names (I) = null then
-            raise Form_Exception;
-         end if;
-         E.Arr (size_t (I)) := New_String (Info.Names (I).all);
-         if Auto_Release_Names then
-            S := Info.Names (I);
-            Release_String (S);
-         end if;
-      end loop;
-      E.Arr (L) := Null_Ptr;
-      return E;
-   end Create;
-
-   procedure Release (Enum : in out Enumeration_Field)
-   is
-      I : size_t := 0;
-      P : chars_ptr;
-   begin
-      loop
-         P := Enum.Arr (I);
-         exit when P = Null_Ptr;
-         Free (P);
-         Enum.Arr (I) := Null_Ptr;
-         I := I + 1;
-      end loop;
-      Enum.Arr := null;
-   end Release;
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in Enumeration_Field)
-   is
-      C_Enum_Type : C_Field_Type;
-      pragma Import (C, C_Enum_Type, "TYPE_ENUM");
-
-      function Set_Fld_Type (F    : Field := Fld;
-                             Cft  : C_Field_Type := C_Enum_Type;
-                             Arg1 : chars_ptr_array;
-                             Arg2 : C_Int;
-                             Arg3 : C_Int) return C_Int;
-      pragma Import (C, Set_Fld_Type, "set_field_type");
-
-      Res : Eti_Error;
-   begin
-      if Typ.Arr = null then
-         raise Form_Exception;
-      end if;
-      Res := Set_Fld_Type (Arg1 => Typ.Arr.all,
-                           Arg2 => C_Int (Boolean'Pos (Typ.Case_Sensitive)),
-                           Arg3 => C_Int (Boolean'Pos
-                                          (Typ.Match_Must_Be_Unique)));
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-      Wrap_Builtin (Fld, Typ, C_Choice_Router);
-   end Set_Field_Type;
-
-end Terminal_Interface.Curses.Forms.Field_Types.Enumeration;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm deleted file mode 100644 index 8ff65ab55a..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm +++ /dev/null @@ -1,104 +0,0 @@ - -terminal_interface-curses-forms-field_types-enumeration.ads - -

File : terminal_interface-curses-forms-field_types-enumeration.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---           Terminal_Interface.Curses.Forms.Field_Types.Enumeration        --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Interfaces.C.Strings;
-
-package Terminal_Interface.Curses.Forms.Field_Types.Enumeration is
-   pragma Preelaborate
-     (Terminal_Interface.Curses.Forms.Field_Types.Enumeration);
-
-   type String_Access is access String;
-
-   --  Type_Set is used by the child package Ada
-   type Type_Set is (Lower_Case, Upper_Case, Mixed_Case);
-
-   type Enum_Array is array (Positive range <>)
-     of String_Access;
-
-   type Enumeration_Info (C : Positive) is
-      record
-         Names                : Enum_Array (1 .. C);
-         Case_Sensitive       : Boolean := False;
-         Match_Must_Be_Unique : Boolean := False;
-      end record;
-
-   type Enumeration_Field is new Field_Type with private;
-
-   function Create (Info : Enumeration_Info;
-                    Auto_Release_Names : Boolean := False)
-                    return Enumeration_Field;
-   --  Make an fieldtype from the info. Enumerations are special, because
-   --  they normally don't copy the enum values into a private store, so
-   --  we have to care for the lifetime of the info we provide.
-   --  The Auto_Release_Names flag may be used to automatically releases
-   --  the strings in the Names array of the Enumeration_Info.
-
-   function Make_Enumeration_Type (Info : Enumeration_Info;
-                                   Auto_Release_Names : Boolean := False)
-                                   return Enumeration_Field renames Create;
-
-   procedure Release (Enum : in out Enumeration_Field);
-   --  But we may want to release the field to release the memory allocated
-   --  by it internally. After that the Enumeration field is no longer usable.
-
-   --  The next type defintions are all ncurses extensions. They are typically
-   --  not available in other curses implementations.
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in Enumeration_Field);
-   pragma Inline (Set_Field_Type);
-
-private
-   type CPA_Access is access Interfaces.C.Strings.chars_ptr_array;
-
-   type Enumeration_Field is new Field_Type with
-      record
-         Case_Sensitive       : Boolean := False;
-         Match_Must_Be_Unique : Boolean := False;
-         Arr                  : CPA_Access := null;
-      end record;
-
-end Terminal_Interface.Curses.Forms.Field_Types.Enumeration;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm deleted file mode 100644 index 88e3fafb94..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm +++ /dev/null @@ -1,78 +0,0 @@ - -terminal_interface-curses-forms-field_types-intfield.adb - -

File : terminal_interface-curses-forms-field_types-intfield.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---            Terminal_Interface.Curses.Forms.Field_Types.IntField          --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.8 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Interfaces.C;
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-
-package body Terminal_Interface.Curses.Forms.Field_Types.IntField is
-
-   use type Interfaces.C.int;
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in Integer_Field)
-   is
-      C_Integer_Field_Type : C_Field_Type;
-      pragma Import (C, C_Integer_Field_Type, "TYPE_INTEGER");
-
-      function Set_Fld_Type (F    : Field := Fld;
-                             Cft  : C_Field_Type := C_Integer_Field_Type;
-                             Arg1 : C_Int;
-                             Arg2 : C_Long_Int;
-                             Arg3 : C_Long_Int) return C_Int;
-      pragma Import (C, Set_Fld_Type, "set_field_type");
-
-      Res : Eti_Error;
-   begin
-      Res := Set_Fld_Type (Arg1 => C_Int (Typ.Precision),
-                           Arg2 => C_Long_Int (Typ.Lower_Limit),
-                           Arg3 => C_Long_Int (Typ.Upper_Limit));
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-      Wrap_Builtin (Fld, Typ);
-   end Set_Field_Type;
-
-end Terminal_Interface.Curses.Forms.Field_Types.IntField;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm deleted file mode 100644 index 041af8ccfa..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm +++ /dev/null @@ -1,61 +0,0 @@ - -terminal_interface-curses-forms-field_types-intfield.ads - -

File : terminal_interface-curses-forms-field_types-intfield.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---            Terminal_Interface.Curses.Forms.Field_Types.IntField          --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-package Terminal_Interface.Curses.Forms.Field_Types.IntField is
-   pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types.IntField);
-
-   type Integer_Field is new Field_Type with
-      record
-         Precision   : Natural;
-         Lower_Limit : Integer;
-         Upper_Limit : Integer;
-      end record;
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in Integer_Field);
-   pragma Inline (Set_Field_Type);
-
-end Terminal_Interface.Curses.Forms.Field_Types.IntField;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm deleted file mode 100644 index 9c324f0109..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm +++ /dev/null @@ -1,74 +0,0 @@ - -terminal_interface-curses-forms-field_types-ipv4_address.adb - -

File : terminal_interface-curses-forms-field_types-ipv4_address.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---          Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address        --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.8 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Interfaces.C;
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-
-package body Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address is
-
-   use type Interfaces.C.int;
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in Internet_V4_Address_Field)
-   is
-      C_IPV4_Field_Type : C_Field_Type;
-      pragma Import (C, C_IPV4_Field_Type, "TYPE_IPV4");
-
-      function Set_Fld_Type (F    : Field := Fld;
-                             Cft  : C_Field_Type := C_IPV4_Field_Type)
-                             return C_Int;
-      pragma Import (C, Set_Fld_Type, "set_field_type");
-
-      Res : Eti_Error;
-   begin
-      Res := Set_Fld_Type;
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-      Wrap_Builtin (Fld, Typ);
-   end Set_Field_Type;
-
-end Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm deleted file mode 100644 index b738ce4e5a..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm +++ /dev/null @@ -1,57 +0,0 @@ - -terminal_interface-curses-forms-field_types-ipv4_address.ads - -

File : terminal_interface-curses-forms-field_types-ipv4_address.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---          Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address        --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-package Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address is
-   pragma Preelaborate
-     (Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address);
-
-   type Internet_V4_Address_Field is new Field_Type with null record;
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in Internet_V4_Address_Field);
-   pragma Inline (Set_Field_Type);
-
-end Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm deleted file mode 100644 index 8cc540cbfb..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm +++ /dev/null @@ -1,80 +0,0 @@ - -terminal_interface-curses-forms-field_types-numeric.adb - -

File : terminal_interface-curses-forms-field_types-numeric.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---            Terminal_Interface.Curses.Forms.Field_Types.Numeric           --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.9 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Interfaces.C;
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-
-package body Terminal_Interface.Curses.Forms.Field_Types.Numeric is
-
-   use type Interfaces.C.int;
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in Numeric_Field)
-   is
-      type Double is new Interfaces.C.double;
-
-      C_Numeric_Field_Type : C_Field_Type;
-      pragma Import (C, C_Numeric_Field_Type, "TYPE_NUMERIC");
-
-      function Set_Fld_Type (F    : Field := Fld;
-                             Cft  : C_Field_Type := C_Numeric_Field_Type;
-                             Arg1 : C_Int;
-                             Arg2 : Double;
-                             Arg3 : Double) return C_Int;
-      pragma Import (C, Set_Fld_Type, "set_field_type");
-
-      Res : Eti_Error;
-   begin
-      Res := Set_Fld_Type (Arg1 => C_Int (Typ.Precision),
-                           Arg2 => Double (Typ.Lower_Limit),
-                           Arg3 => Double (Typ.Upper_Limit));
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-      Wrap_Builtin (Fld, Typ);
-   end Set_Field_Type;
-
-end Terminal_Interface.Curses.Forms.Field_Types.Numeric;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm deleted file mode 100644 index 8178088964..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm +++ /dev/null @@ -1,61 +0,0 @@ - -terminal_interface-curses-forms-field_types-numeric.ads - -

File : terminal_interface-curses-forms-field_types-numeric.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---             Terminal_Interface.Curses.Forms.Field_Types.Numeric          --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-package Terminal_Interface.Curses.Forms.Field_Types.Numeric is
-   pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types.Numeric);
-
-   type Numeric_Field is new Field_Type with
-      record
-         Precision   : Natural;
-         Lower_Limit : Float;
-         Upper_Limit : Float;
-      end record;
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in Numeric_Field);
-   pragma Inline (Set_Field_Type);
-
-end Terminal_Interface.Curses.Forms.Field_Types.Numeric;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm deleted file mode 100644 index 72bf7fc22f..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm +++ /dev/null @@ -1,77 +0,0 @@ - -terminal_interface-curses-forms-field_types-regexp.adb - -

File : terminal_interface-curses-forms-field_types-regexp.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---             Terminal_Interface.Curses.Forms.Field_Types.RegExp           --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.8 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Interfaces.C; use Interfaces.C;
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-
-package body Terminal_Interface.Curses.Forms.Field_Types.RegExp is
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in Regular_Expression_Field)
-   is
-      type Char_Ptr is access all Interfaces.C.char;
-
-      C_Regexp_Field_Type : C_Field_Type;
-      pragma Import (C, C_Regexp_Field_Type, "TYPE_REGEXP");
-
-      function Set_Ftyp (F    : Field := Fld;
-                         Cft  : C_Field_Type := C_Regexp_Field_Type;
-                         Arg1 : Char_Ptr) return C_Int;
-      pragma Import (C, Set_Ftyp, "set_field_type");
-
-      Txt : char_array (0 .. Typ.Regular_Expression.all'Length);
-      Len : size_t;
-      Res : Eti_Error;
-   begin
-      To_C (Typ.Regular_Expression.all, Txt, Len);
-      Res := Set_Ftyp (Arg1 => Txt (Txt'First)'Access);
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-      Wrap_Builtin (Fld, Typ);
-   end Set_Field_Type;
-
-end Terminal_Interface.Curses.Forms.Field_Types.RegExp;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm deleted file mode 100644 index ec2d741c08..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm +++ /dev/null @@ -1,61 +0,0 @@ - -terminal_interface-curses-forms-field_types-regexp.ads - -

File : terminal_interface-curses-forms-field_types-regexp.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---              Terminal_Interface.Curses.Forms.Field_Types.RegExp          --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-package Terminal_Interface.Curses.Forms.Field_Types.RegExp is
-   pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types.RegExp);
-
-   type String_Access is access String;
-
-   type Regular_Expression_Field is new Field_Type with
-      record
-         Regular_Expression : String_Access;
-      end record;
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in Regular_Expression_Field);
-   pragma Inline (Set_Field_Type);
-
-end Terminal_Interface.Curses.Forms.Field_Types.RegExp;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm deleted file mode 100644 index 1a84c5f683..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm +++ /dev/null @@ -1,117 +0,0 @@ - -terminal_interface-curses-forms-field_types-user-choice.adb - -

File : terminal_interface-curses-forms-field_types-user-choice.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---          Terminal_Interface.Curses.Forms.Field_Types.User.Choice         --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998,2004 Free Software Foundation, Inc.                   --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.13 @
---  @Date: 2004/08/21 21:37:00 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Ada.Unchecked_Conversion;
-with Interfaces.C;
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-
-package body Terminal_Interface.Curses.Forms.Field_Types.User.Choice is
-
-   use type Interfaces.C.int;
-
-   function To_Argument_Access is new Ada.Unchecked_Conversion
-     (System.Address, Argument_Access);
-
-   function Generic_Next (Fld : Field;
-                          Usr : System.Address) return C_Int
-   is
-      Result : Boolean;
-      Udf    : constant User_Defined_Field_Type_With_Choice_Access :=
-        User_Defined_Field_Type_With_Choice_Access
-        (To_Argument_Access (Usr).Typ);
-   begin
-      Result := Next (Fld, Udf.all);
-      return C_Int (Boolean'Pos (Result));
-   end Generic_Next;
-
-   function Generic_Prev (Fld : Field;
-                          Usr : System.Address) return C_Int
-   is
-      Result : Boolean;
-      Udf    : constant User_Defined_Field_Type_With_Choice_Access :=
-        User_Defined_Field_Type_With_Choice_Access
-        (To_Argument_Access (Usr).Typ);
-   begin
-      Result := Previous (Fld, Udf.all);
-      return C_Int (Boolean'Pos (Result));
-   end Generic_Prev;
-
-   --  -----------------------------------------------------------------------
-   --
-   function C_Generic_Choice return C_Field_Type
-   is
-      Res : Eti_Error;
-      T   : C_Field_Type;
-   begin
-      if M_Generic_Choice = Null_Field_Type then
-         T := New_Fieldtype (Generic_Field_Check'Access,
-                             Generic_Char_Check'Access);
-         if T = Null_Field_Type then
-            raise Form_Exception;
-         else
-            Res := Set_Fieldtype_Arg (T,
-                                      Make_Arg'Access,
-                                      Copy_Arg'Access,
-                                      Free_Arg'Access);
-            if Res /= E_Ok then
-               Eti_Exception (Res);
-            end if;
-
-            Res := Set_Fieldtype_Choice (T,
-                                         Generic_Next'Access,
-                                         Generic_Prev'Access);
-            if Res /= E_Ok then
-               Eti_Exception (Res);
-            end if;
-         end if;
-         M_Generic_Choice := T;
-      end if;
-      pragma Assert (M_Generic_Choice /= Null_Field_Type);
-      return M_Generic_Choice;
-   end C_Generic_Choice;
-
-end Terminal_Interface.Curses.Forms.Field_Types.User.Choice;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm deleted file mode 100644 index ff68b28d0b..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm +++ /dev/null @@ -1,102 +0,0 @@ - -terminal_interface-curses-forms-field_types-user-choice.ads - -

File : terminal_interface-curses-forms-field_types-user-choice.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---           Terminal_Interface.Curses.Forms.Field_Types.User.Choice        --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Interfaces.C;
-
-package Terminal_Interface.Curses.Forms.Field_Types.User.Choice is
-   pragma Preelaborate
-     (Terminal_Interface.Curses.Forms.Field_Types.User.Choice);
-
-   use type Interfaces.C.int;
-   subtype C_Int is Interfaces.C.int;
-
-   type User_Defined_Field_Type_With_Choice is abstract new
-     User_Defined_Field_Type with null record;
-   --  This is the root of the mechanism we use to create field types in
-   --  Ada95 that allow the prev/next mechanism. You should your own type
-   --  derive from this one and implement the Field_Check, Character_Check
-   --  Next and Previous functions for your own type.
-
-   type User_Defined_Field_Type_With_Choice_Access is access all
-     User_Defined_Field_Type_With_Choice'Class;
-
-   function Next
-     (Fld : Field;
-      Typ : User_Defined_Field_Type_With_Choice) return Boolean
-      is abstract;
-   --  If True is returned, the function successfully generated a next
-   --  value into the fields buffer.
-
-   function Previous
-     (Fld : Field;
-      Typ : User_Defined_Field_Type_With_Choice) return Boolean
-      is abstract;
-   --  If True is returned, the function successfully generated a previous
-   --  value into the fields buffer.
-
-   --  +----------------------------------------------------------------------
-   --  | Private Part.
-   --  |
-private
-   use type Interfaces.C.int;
-
-   function C_Generic_Choice return C_Field_Type;
-
-   function Generic_Next (Fld : Field;
-                          Usr : System.Address) return C_Int;
-   pragma Convention (C, Generic_Next);
-   --  This is the generic next Choice_Function for the low-level fieldtype
-   --  representing all the User_Defined_Field_Type derivates. It routes
-   --  the call to the Next implementation for the type.
-
-   function Generic_Prev (Fld : Field;
-                          Usr : System.Address) return C_Int;
-   pragma Convention (C, Generic_Prev);
-   --  This is the generic prev Choice_Function for the low-level fieldtype
-   --  representing all the User_Defined_Field_Type derivates. It routes
-   --  the call to the Previous implementation for the type.
-
-end Terminal_Interface.Curses.Forms.Field_Types.User.Choice;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm deleted file mode 100644 index 2a66031cf0..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm +++ /dev/null @@ -1,140 +0,0 @@ - -terminal_interface-curses-forms-field_types-user.adb - -

File : terminal_interface-curses-forms-field_types-user.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---              Terminal_Interface.Curses.Forms.Field_Types.User            --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998,2004 Free Software Foundation, Inc.                   --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.13 @
---  @Date: 2004/08/21 21:37:00 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Ada.Unchecked_Conversion;
-with Interfaces.C;
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-
-package body Terminal_Interface.Curses.Forms.Field_Types.User is
-
-   use type Interfaces.C.int;
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in User_Defined_Field_Type)
-   is
-      function Allocate_Arg (T : User_Defined_Field_Type'Class)
-                             return Argument_Access;
-
-      function Set_Fld_Type (F    : Field := Fld;
-                             Cft  : C_Field_Type := C_Generic_Type;
-                             Arg1 : Argument_Access)
-                             return C_Int;
-      pragma Import (C, Set_Fld_Type, "set_field_type");
-
-      Res : Eti_Error;
-
-      function Allocate_Arg (T : User_Defined_Field_Type'Class)
-                             return Argument_Access
-      is
-         Ptr : constant Field_Type_Access
-             := new User_Defined_Field_Type'Class'(T);
-      begin
-         return new Argument'(Usr => System.Null_Address,
-                              Typ => Ptr,
-                              Cft => Null_Field_Type);
-      end Allocate_Arg;
-
-   begin
-      Res := Set_Fld_Type (Arg1 => Allocate_Arg (Typ));
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Field_Type;
-
-   function To_Argument_Access is new Ada.Unchecked_Conversion
-     (System.Address, Argument_Access);
-
-   function Generic_Field_Check (Fld : Field;
-                                 Usr : System.Address) return C_Int
-   is
-      Result : Boolean;
-      Udf    : constant User_Defined_Field_Type_Access :=
-        User_Defined_Field_Type_Access (To_Argument_Access (Usr).Typ);
-   begin
-      Result := Field_Check (Fld, Udf.all);
-      return C_Int (Boolean'Pos (Result));
-   end Generic_Field_Check;
-
-   function Generic_Char_Check (Ch  : C_Int;
-                                Usr : System.Address) return C_Int
-   is
-      Result : Boolean;
-      Udf    : constant User_Defined_Field_Type_Access :=
-        User_Defined_Field_Type_Access (To_Argument_Access (Usr).Typ);
-   begin
-      Result := Character_Check (Character'Val (Ch), Udf.all);
-      return C_Int (Boolean'Pos (Result));
-   end Generic_Char_Check;
-
-   --  -----------------------------------------------------------------------
-   --
-   function C_Generic_Type return C_Field_Type
-   is
-      Res : Eti_Error;
-      T   : C_Field_Type;
-   begin
-      if M_Generic_Type = Null_Field_Type then
-         T := New_Fieldtype (Generic_Field_Check'Access,
-                             Generic_Char_Check'Access);
-         if T = Null_Field_Type then
-            raise Form_Exception;
-         else
-            Res := Set_Fieldtype_Arg (T,
-                                      Make_Arg'Access,
-                                      Copy_Arg'Access,
-                                      Free_Arg'Access);
-            if Res /= E_Ok then
-               Eti_Exception (Res);
-            end if;
-         end if;
-         M_Generic_Type := T;
-      end if;
-      pragma Assert (M_Generic_Type /= Null_Field_Type);
-      return M_Generic_Type;
-   end C_Generic_Type;
-
-end Terminal_Interface.Curses.Forms.Field_Types.User;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm deleted file mode 100644 index d7ce06a24e..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm +++ /dev/null @@ -1,103 +0,0 @@ - -terminal_interface-curses-forms-field_types-user.ads - -

File : terminal_interface-curses-forms-field_types-user.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---               Terminal_Interface.Curses.Forms.Field_Types.User           --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Interfaces.C;
-
-package Terminal_Interface.Curses.Forms.Field_Types.User is
-   pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types.User);
-   use type Interfaces.C.int;
-   subtype C_Int is Interfaces.C.int;
-
-   type User_Defined_Field_Type is abstract new Field_Type with null record;
-   --  This is the root of the mechanism we use to create field types in
-   --  Ada95. You should your own type derive from this one and implement
-   --  the Field_Check and Character_Check functions for your own type.
-
-   type User_Defined_Field_Type_Access is access all
-     User_Defined_Field_Type'Class;
-
-   function Field_Check
-     (Fld : Field;
-      Typ : User_Defined_Field_Type) return Boolean
-      is abstract;
-   --  If True is returned, the field is considered valid, otherwise it is
-   --  invalid.
-
-   function Character_Check
-     (Ch  : Character;
-      Typ : User_Defined_Field_Type) return Boolean
-      is abstract;
-   --  If True is returned, the character is considered as valid for the
-   --  field, otherwise as invalid.
-
-   procedure Set_Field_Type (Fld : in Field;
-                             Typ : in User_Defined_Field_Type);
-   --  This should work for all types derived from User_Defined_Field_Type.
-   --  No need to reimplement it for your derived type.
-
-   --  +----------------------------------------------------------------------
-   --  | Private Part.
-   --  | Used by the Choice child package.
-private
-   use type Interfaces.C.int;
-
-   function C_Generic_Type   return C_Field_Type;
-
-   function Generic_Field_Check (Fld : Field;
-                                 Usr : System.Address) return C_Int;
-   pragma Convention (C, Generic_Field_Check);
-   --  This is the generic Field_Check_Function for the low-level fieldtype
-   --  representing all the User_Defined_Field_Type derivates. It routes
-   --  the call to the Field_Check implementation for the type.
-
-   function Generic_Char_Check (Ch  : C_Int;
-                                Usr : System.Address) return C_Int;
-   pragma Convention (C, Generic_Char_Check);
-   --  This is the generic Char_Check_Function for the low-level fieldtype
-   --  representing all the User_Defined_Field_Type derivates. It routes
-   --  the call to the Character_Check implementation for the type.
-
-end Terminal_Interface.Curses.Forms.Field_Types.User;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm deleted file mode 100644 index 46ba8ef99d..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm +++ /dev/null @@ -1,303 +0,0 @@ - -terminal_interface-curses-forms-field_types.adb - -

File : terminal_interface-curses-forms-field_types.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                 Terminal_Interface.Curses.Forms.Field_Types              --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998,2004 Free Software Foundation, Inc.                   --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.17 @
---  @Date: 2004/08/21 21:37:00 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Interfaces.C;
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-with Ada.Unchecked_Deallocation;
-with Ada.Unchecked_Conversion;
---  |
---  |=====================================================================
---  | man page form_fieldtype.3x
---  |=====================================================================
---  |
-package body Terminal_Interface.Curses.Forms.Field_Types is
-
-   use type Interfaces.C.int;
-   use type System.Address;
-
-   function To_Argument_Access is new Ada.Unchecked_Conversion
-     (System.Address, Argument_Access);
-
-   function Get_Fieldtype (F : Field) return C_Field_Type;
-   pragma Import (C, Get_Fieldtype, "field_type");
-
-   function Get_Arg (F : Field) return System.Address;
-   pragma Import (C, Get_Arg, "field_arg");
-   --  |
-   --  |=====================================================================
-   --  | man page form_field_validation.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   function Get_Type (Fld : in Field) return Field_Type_Access
-   is
-      Low_Level : constant C_Field_Type := Get_Fieldtype (Fld);
-      Arg : Argument_Access;
-   begin
-      if Low_Level = Null_Field_Type then
-         return null;
-      else
-         if Low_Level = M_Builtin_Router or else
-           Low_Level = M_Generic_Type or else
-           Low_Level = M_Choice_Router or else
-           Low_Level = M_Generic_Choice then
-            Arg := To_Argument_Access (Get_Arg (Fld));
-            if Arg = null then
-               raise Form_Exception;
-            else
-               return Arg.Typ;
-            end if;
-         else
-            raise Form_Exception;
-         end if;
-      end if;
-   end Get_Type;
-
-   function Make_Arg (Args : System.Address) return System.Address
-   is
-      --  Actually args is a double indirected pointer to the arguments
-      --  of a C variable argument list. In theory it is now quite
-      --  complicated to write portable routine that reads the arguments,
-      --  because one has to know the growth direction of the stack and
-      --  the sizes of the individual arguments.
-      --  Fortunately we are only interested in the first argument (#0),
-      --  we know its size and for the first arg we don't care about
-      --  into which stack direction we have to proceed. We simply
-      --  resolve the double indirection and thats it.
-      type V is access all System.Address;
-      function To_Access is new Ada.Unchecked_Conversion (System.Address,
-                                                          V);
-   begin
-      return To_Access (To_Access (Args).all).all;
-   end Make_Arg;
-
-   function Copy_Arg (Usr : System.Address) return System.Address
-   is
-   begin
-      return Usr;
-   end Copy_Arg;
-
-   procedure Free_Arg (Usr : in System.Address)
-   is
-      procedure Free_Type is new Ada.Unchecked_Deallocation
-        (Field_Type'Class, Field_Type_Access);
-      procedure Freeargs is new Ada.Unchecked_Deallocation
-        (Argument, Argument_Access);
-
-      To_Be_Free : Argument_Access := To_Argument_Access (Usr);
-      Low_Level  : C_Field_Type;
-   begin
-      if To_Be_Free /= null then
-         if To_Be_Free.Usr /= System.Null_Address then
-            Low_Level := To_Be_Free.Cft;
-            if Low_Level.Freearg /= null then
-               Low_Level.Freearg (To_Be_Free.Usr);
-            end if;
-         end if;
-         if To_Be_Free.Typ /= null then
-            Free_Type (To_Be_Free.Typ);
-         end if;
-         Freeargs (To_Be_Free);
-      end if;
-   end Free_Arg;
-
-
-   procedure Wrap_Builtin (Fld : Field;
-                           Typ : Field_Type'Class;
-                           Cft : C_Field_Type := C_Builtin_Router)
-   is
-      Usr_Arg   : constant System.Address := Get_Arg (Fld);
-      Low_Level : constant C_Field_Type := Get_Fieldtype (Fld);
-      Arg : Argument_Access;
-      Res : Eti_Error;
-      function Set_Fld_Type (F    : Field := Fld;
-                             Cf   : C_Field_Type := Cft;
-                             Arg1 : Argument_Access) return C_Int;
-      pragma Import (C, Set_Fld_Type, "set_field_type");
-
-   begin
-      pragma Assert (Low_Level /= Null_Field_Type);
-      if Cft /= C_Builtin_Router and then Cft /= C_Choice_Router then
-         raise Form_Exception;
-      else
-         Arg := new Argument'(Usr => System.Null_Address,
-                              Typ => new Field_Type'Class'(Typ),
-                              Cft => Get_Fieldtype (Fld));
-         if Usr_Arg /= System.Null_Address then
-            if Low_Level.Copyarg /= null then
-               Arg.Usr := Low_Level.Copyarg (Usr_Arg);
-            else
-               Arg.Usr := Usr_Arg;
-            end if;
-         end if;
-
-         Res := Set_Fld_Type (Arg1 => Arg);
-         if Res /= E_Ok then
-            Eti_Exception (Res);
-         end if;
-      end if;
-   end Wrap_Builtin;
-
-   function Field_Check_Router (Fld : Field;
-                                Usr : System.Address) return C_Int
-   is
-      Arg  : constant Argument_Access := To_Argument_Access (Usr);
-   begin
-      pragma Assert (Arg /= null and then Arg.Cft /= Null_Field_Type
-                     and then Arg.Typ /= null);
-      if Arg.Cft.Fcheck /= null then
-         return Arg.Cft.Fcheck (Fld, Arg.Usr);
-      else
-         return 1;
-      end if;
-   end Field_Check_Router;
-
-   function Char_Check_Router (Ch  : C_Int;
-                               Usr : System.Address) return C_Int
-   is
-      Arg  : constant Argument_Access := To_Argument_Access (Usr);
-   begin
-      pragma Assert (Arg /= null and then Arg.Cft /= Null_Field_Type
-                     and then Arg.Typ /= null);
-      if Arg.Cft.Ccheck /= null then
-         return Arg.Cft.Ccheck (Ch, Arg.Usr);
-      else
-         return 1;
-      end if;
-   end Char_Check_Router;
-
-   function Next_Router (Fld : Field;
-                         Usr : System.Address) return C_Int
-   is
-      Arg  : constant Argument_Access := To_Argument_Access (Usr);
-   begin
-      pragma Assert (Arg /= null and then Arg.Cft /= Null_Field_Type
-                     and then Arg.Typ /= null);
-      if Arg.Cft.Next /= null then
-         return Arg.Cft.Next (Fld, Arg.Usr);
-      else
-         return 1;
-      end if;
-   end Next_Router;
-
-   function Prev_Router (Fld : Field;
-                         Usr : System.Address) return C_Int
-   is
-      Arg  : constant Argument_Access := To_Argument_Access (Usr);
-   begin
-      pragma Assert (Arg /= null and then Arg.Cft /= Null_Field_Type
-                     and then Arg.Typ /= null);
-      if Arg.Cft.Prev /= null then
-         return Arg.Cft.Prev (Fld, Arg.Usr);
-      else
-         return 1;
-      end if;
-   end Prev_Router;
-
-   --  -----------------------------------------------------------------------
-   --
-   function C_Builtin_Router return C_Field_Type
-   is
-      Res : Eti_Error;
-      T   : C_Field_Type;
-   begin
-      if M_Builtin_Router = Null_Field_Type then
-         T := New_Fieldtype (Field_Check_Router'Access,
-                             Char_Check_Router'Access);
-         if T = Null_Field_Type then
-            raise Form_Exception;
-         else
-            Res := Set_Fieldtype_Arg (T,
-                                      Make_Arg'Access,
-                                      Copy_Arg'Access,
-                                      Free_Arg'Access);
-            if Res /= E_Ok then
-               Eti_Exception (Res);
-            end if;
-         end if;
-         M_Builtin_Router := T;
-      end if;
-      pragma Assert (M_Builtin_Router /= Null_Field_Type);
-      return M_Builtin_Router;
-   end C_Builtin_Router;
-
-   --  -----------------------------------------------------------------------
-   --
-   function C_Choice_Router return C_Field_Type
-   is
-      Res : Eti_Error;
-      T   : C_Field_Type;
-   begin
-      if M_Choice_Router = Null_Field_Type then
-         T := New_Fieldtype (Field_Check_Router'Access,
-                             Char_Check_Router'Access);
-         if T = Null_Field_Type then
-            raise Form_Exception;
-         else
-            Res := Set_Fieldtype_Arg (T,
-                                      Make_Arg'Access,
-                                      Copy_Arg'Access,
-                                      Free_Arg'Access);
-            if Res /= E_Ok then
-               Eti_Exception (Res);
-            end if;
-
-            Res := Set_Fieldtype_Choice (T,
-                                         Next_Router'Access,
-                                         Prev_Router'Access);
-            if Res /= E_Ok then
-               Eti_Exception (Res);
-            end if;
-         end if;
-         M_Choice_Router := T;
-      end if;
-      pragma Assert (M_Choice_Router /= Null_Field_Type);
-      return M_Choice_Router;
-   end C_Choice_Router;
-
-end Terminal_Interface.Curses.Forms.Field_Types;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm deleted file mode 100644 index 86927ddb74..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm +++ /dev/null @@ -1,246 +0,0 @@ - -terminal_interface-curses-forms-field_types.ads - -

File : terminal_interface-curses-forms-field_types.ads


-
-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                 Terminal_Interface.Curses.Forms.Field_Types              --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.14 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Interfaces.C;
-
-package Terminal_Interface.Curses.Forms.Field_Types is
-   pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_Types);
-   use type Interfaces.C.int;
-   subtype C_Int is Interfaces.C.int;
-
-   --  |=====================================================================
-   --  | Man page form_fieldtype.3x
-   --  |=====================================================================
-
-   type Field_Type is abstract tagged null record;
-   --  Abstract base type for all field types. A concrete field type
-   --  is an extension that adds some data elements describing formats or
-   --  boundary values for the type and validation routines.
-   --  For the builtin low-level fieldtypes, the validation routines are
-   --  already defined by the low-level C library.
-   --  The builtin types like Alpha or AlphaNumeric etc. are defined in
-   --  child packages of this package. You may use one of them as example
-   --  how to create you own child packages for low-level field types that
-   --  you may have already written in C.
-
-   type Field_Type_Access is access all Field_Type'Class;
-
-   --  #1A NAME="AFU_1"#2|
-   procedure Set_Field_Type (Fld      : in Field;
-                             Fld_Type : in Field_Type) is abstract;
-   --  AKA: set_field_type()
-   --  But: we hide the vararg mechanism of the C interface. You always
-   --       have to pass a single Field_Type parameter.
-
-   --  ---------------------------------------------------------------------
-
-   --  |=====================================================================
-   --  | Man page form_field_validation.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_2"#2|
-   function Get_Type (Fld : in Field) return Field_Type_Access;
-   --  AKA: field_type()
-   --  AKA: field_arg()
-   --  In Ada95 we can combine these. If you try to retrieve the field type
-   --  that is not defined as extension of the abstract tagged type above,
-   --  you will raise a Form_Exception.
-   --  This is not inlined
-
-   --  +----------------------------------------------------------------------
-   --  | Private Part.
-   --  | Most of this is used by the implementations of the child packages.
-   --  |
-private
-   type Makearg_Function is access
-     function (Args : System.Address) return System.Address;
-   pragma Convention (C, Makearg_Function);
-
-   type Copyarg_Function is access
-     function (Usr : System.Address) return System.Address;
-   pragma Convention (C, Copyarg_Function);
-
-   type Freearg_Function is access
-     procedure (Usr : System.Address);
-   pragma Convention (C, Freearg_Function);
-
-   type Field_Check_Function is access
-     function (Fld : Field; Usr : System.Address) return C_Int;
-   pragma Convention (C, Field_Check_Function);
-
-   type Char_Check_Function is access
-     function (Ch : C_Int; Usr : System.Address) return C_Int;
-   pragma Convention (C, Char_Check_Function);
-
-   type Choice_Function is access
-     function (Fld : Field; Usr : System.Address) return C_Int;
-   pragma Convention (C, Choice_Function);
-
-   --  +----------------------------------------------------------------------
-   --  | This must be in sync with the FIELDTYPE structure in form.h
-   --  |
-   type Low_Level_Field_Type is
-      record
-         Status :              Interfaces.C.short;
-         Ref_Count :           Interfaces.C.long;
-         Left, Right :         System.Address;
-         Makearg :             Makearg_Function;
-         Copyarg :             Copyarg_Function;
-         Freearg :             Freearg_Function;
-         Fcheck :              Field_Check_Function;
-         Ccheck :              Char_Check_Function;
-         Next, Prev :          Choice_Function;
-      end record;
-   pragma Convention (C, Low_Level_Field_Type);
-   type C_Field_Type is access all Low_Level_Field_Type;
-
-   Null_Field_Type   : constant C_Field_Type := null;
-
-   --  +----------------------------------------------------------------------
-   --  | This four low-level fieldtypes are the ones associated with
-   --  | fieldtypes handled by this binding. Any other low-level fieldtype
-   --  | will result in a Form_Exception is function Get_Type.
-   --  |
-   M_Generic_Type   : C_Field_Type := null;
-   M_Generic_Choice : C_Field_Type := null;
-   M_Builtin_Router : C_Field_Type := null;
-   M_Choice_Router  : C_Field_Type := null;
-
-   --  Two wrapper functions to access those low-level fieldtypes defined
-   --  in this package.
-   function C_Builtin_Router return C_Field_Type;
-   function C_Choice_Router  return C_Field_Type;
-
-   procedure Wrap_Builtin (Fld : Field;
-                           Typ : Field_Type'Class;
-                           Cft : C_Field_Type := C_Builtin_Router);
-   --  This procedure has to be called by the Set_Field_Type implementation
-   --  for builtin low-level fieldtypes to replace it by an Ada95
-   --  conformant Field_Type object.
-   --  The parameter Cft must be C_Builtin_Router for regular low-level
-   --  fieldtypes (like TYP_ALPHA or TYP_ALNUM) and C_Choice_Router for
-   --  low-level fieldtypes witch choice functions (like TYP_ENUM).
-   --  Any other value will raise a Form_Exception.
-
-   function Make_Arg (Args : System.Address) return System.Address;
-   pragma Convention (C, Make_Arg);
-   --  This is the Makearg_Function for the internal low-level types
-   --  introduced by this binding.
-
-   function Copy_Arg (Usr : System.Address) return System.Address;
-   pragma Convention (C, Copy_Arg);
-   --  This is the Copyarg_Function for the internal low-level types
-   --  introduced by this binding.
-
-   procedure Free_Arg (Usr : System.Address);
-   pragma Convention (C, Free_Arg);
-   --  This is the Freearg_Function for the internal low-level types
-   --  introduced by this binding.
-
-   function Field_Check_Router (Fld : Field;
-                                Usr : System.Address) return C_Int;
-   pragma Convention (C, Field_Check_Router);
-   --  This is the Field_Check_Function for the internal low-level types
-   --  introduced to wrap the low-level types by a Field_Type derived
-   --  type. It routes the call to the corresponding low-level validation
-   --  function.
-
-   function Char_Check_Router (Ch : C_Int;
-                               Usr : System.Address) return C_Int;
-   pragma Convention (C, Char_Check_Router);
-   --  This is the Char_Check_Function for the internal low-level types
-   --  introduced to wrap the low-level types by a Field_Type derived
-   --  type. It routes the call to the corresponding low-level validation
-   --  function.
-
-   function Next_Router (Fld : Field;
-                         Usr : System.Address) return C_Int;
-   pragma Convention (C, Next_Router);
-   --  This is the Choice_Function for the internal low-level types
-   --  introduced to wrap the low-level types by a Field_Type derived
-   --  type. It routes the call to the corresponding low-level next_choice
-   --  function.
-
-   function Prev_Router (Fld : Field;
-                         Usr : System.Address) return C_Int;
-   pragma Convention (C, Prev_Router);
-   --  This is the Choice_Function for the internal low-level types
-   --  introduced to wrap the low-level types by a Field_Type derived
-   --  type. It routes the call to the corresponding low-level prev_choice
-   --  function.
-
-   --  This is the Argument structure maintained by all low-level field types
-   --  introduced by this binding.
-   type Argument is record
-      Typ : Field_Type_Access;   --  the Field_Type creating this record
-      Usr : System.Address;      --  original arg for builtin low-level types
-      Cft : C_Field_Type;        --  the original low-level type
-   end record;
-   type Argument_Access is access all Argument;
-
-   --  +----------------------------------------------------------------------
-   --  |
-   --  | Some Imports of libform routines to deal with low-level fieldtypes.
-   --  |
-   function New_Fieldtype (Fcheck : Field_Check_Function;
-                           Ccheck : Char_Check_Function)
-     return C_Field_Type;
-   pragma Import (C, New_Fieldtype, "new_fieldtype");
-
-   function Set_Fieldtype_Arg (Cft : C_Field_Type;
-                               Mak : Makearg_Function := Make_Arg'Access;
-                               Cop : Copyarg_Function := Copy_Arg'Access;
-                               Fre : Freearg_Function := Free_Arg'Access)
-     return C_Int;
-   pragma Import (C, Set_Fieldtype_Arg, "set_fieldtype_arg");
-
-   function Set_Fieldtype_Choice (Cft : C_Field_Type;
-                                  Next, Prev : Choice_Function)
-     return C_Int;
-   pragma Import (C, Set_Fieldtype_Choice, "set_fieldtype_choice");
-
-end Terminal_Interface.Curses.Forms.Field_Types;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm deleted file mode 100644 index 5cc2b6102f..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm +++ /dev/null @@ -1,91 +0,0 @@ - -terminal_interface-curses-forms-field_user_data.adb - -

File : terminal_interface-curses-forms-field_user_data.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---               Terminal_Interface.Curses.Forms.Field_User_Data            --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.12 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Terminal_Interface.Curses.Aux; use  Terminal_Interface.Curses.Aux;
-
---  |
---  |=====================================================================
---  | man page form_field_userptr.3x
---  |=====================================================================
---  |
-package body Terminal_Interface.Curses.Forms.Field_User_Data is
-   --  |
-   --  |
-   --  |
-   use type Interfaces.C.int;
-
-   procedure Set_User_Data (Fld  : in Field;
-                            Data : in User_Access)
-   is
-      function Set_Field_Userptr (Fld : Field;
-                                  Usr : User_Access) return C_Int;
-      pragma Import (C, Set_Field_Userptr, "set_field_userptr");
-
-      Res : constant Eti_Error := Set_Field_Userptr (Fld, Data);
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_User_Data;
-   --  |
-   --  |
-   --  |
-   function Get_User_Data (Fld  : in  Field) return User_Access
-   is
-      function Field_Userptr (Fld : Field) return User_Access;
-      pragma Import (C, Field_Userptr, "field_userptr");
-   begin
-      return Field_Userptr (Fld);
-   end Get_User_Data;
-
-   procedure Get_User_Data (Fld  : in  Field;
-                            Data : out User_Access)
-   is
-   begin
-      Data := Get_User_Data (Fld);
-   end Get_User_Data;
-
-end Terminal_Interface.Curses.Forms.Field_User_Data;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm deleted file mode 100644 index f506ab5dae..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm +++ /dev/null @@ -1,76 +0,0 @@ - -terminal_interface-curses-forms-field_user_data.ads - -

File : terminal_interface-curses-forms-field_user_data.ads


-
-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---               Terminal_Interface.Curses.Forms.Field_User_Data            --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.15 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-
-generic
-   type User is limited private;
-   type User_Access is access User;
-package Terminal_Interface.Curses.Forms.Field_User_Data is
-   pragma Preelaborate (Terminal_Interface.Curses.Forms.Field_User_Data);
-
-   --  |=====================================================================
-   --  | Man page form_field_userptr.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_1"#2|
-   procedure Set_User_Data (Fld  : in Field;
-                            Data : in User_Access);
-   --  AKA: set_field_userptr
-   pragma Inline (Set_User_Data);
-
-   --  #1A NAME="AFU_2"#2|
-   procedure Get_User_Data (Fld  : in  Field;
-                            Data : out User_Access);
-   --  AKA: field_userptr
-
-   --  #1A NAME="AFU_3"#2|
-   function Get_User_Data (Fld  : in  Field) return User_Access;
-   --  AKA: field_userptr
-   --  Sama as function
-   pragma Inline (Get_User_Data);
-
-end Terminal_Interface.Curses.Forms.Field_User_Data;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm deleted file mode 100644 index fcb25bf19d..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm +++ /dev/null @@ -1,92 +0,0 @@ - -terminal_interface-curses-forms-form_user_data.adb - -

File : terminal_interface-curses-forms-form_user_data.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                Terminal_Interface.Curses.Forms.Form_User_Data            --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.12 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
---  |
---  |=====================================================================
---  | man page form__userptr.3x
---  |=====================================================================
---  |
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-
-package body Terminal_Interface.Curses.Forms.Form_User_Data is
-
-   use type Interfaces.C.int;
-
-   --  |
-   --  |
-   --  |
-   procedure Set_User_Data (Frm  : in Form;
-                            Data : in User_Access)
-   is
-      function Set_Form_Userptr (Frm  : Form;
-                                 Data : User_Access)  return C_Int;
-      pragma Import (C, Set_Form_Userptr, "set_form_userptr");
-
-      Res : constant Eti_Error := Set_Form_Userptr (Frm, Data);
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_User_Data;
-   --  |
-   --  |
-   --  |
-   function Get_User_Data (Frm  : in  Form) return User_Access
-   is
-      function Form_Userptr (Frm : Form) return User_Access;
-      pragma Import (C, Form_Userptr, "form_userptr");
-   begin
-      return Form_Userptr (Frm);
-   end Get_User_Data;
-
-   procedure Get_User_Data (Frm  : in  Form;
-                            Data : out User_Access)
-   is
-   begin
-      Data := Get_User_Data (Frm);
-   end Get_User_Data;
-
-end Terminal_Interface.Curses.Forms.Form_User_Data;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm deleted file mode 100644 index 5948120a63..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm +++ /dev/null @@ -1,76 +0,0 @@ - -terminal_interface-curses-forms-form_user_data.ads - -

File : terminal_interface-curses-forms-form_user_data.ads


-
-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                Terminal_Interface.Curses.Forms.Form_User_Data            --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.14 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-
-generic
-   type User is limited private;
-   type User_Access is access User;
-package Terminal_Interface.Curses.Forms.Form_User_Data is
-   pragma Preelaborate (Terminal_Interface.Curses.Forms.Form_User_Data);
-
-   --  |=====================================================================
-   --  | Man page form_userptr.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_1"#2|
-   procedure Set_User_Data (Frm  : in Form;
-                            Data : in User_Access);
-   --  AKA: set_form_userptr
-   pragma Inline (Set_User_Data);
-
-   --  #1A NAME="AFU_2"#2|
-   procedure Get_User_Data (Frm  : in  Form;
-                            Data : out User_Access);
-   --  AKA: form_userptr
-
-   --  #1A NAME="AFU_3"#2|
-   function Get_User_Data (Frm  : in  Form) return User_Access;
-   --  AKA: form_userptr
-   --  Same as function
-   pragma Inline (Get_User_Data);
-
-end Terminal_Interface.Curses.Forms.Form_User_Data;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms__adb.htm deleted file mode 100644 index cb5ab3110e..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms__adb.htm +++ /dev/null @@ -1,1167 +0,0 @@ - -terminal_interface-curses-forms.adb - -

File : terminal_interface-curses-forms.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                      Terminal_Interface.Curses.Forms                     --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998,2004 Free Software Foundation, Inc.                   --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.25 @
---  @Date: 2004/08/21 21:37:00 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Ada.Unchecked_Deallocation;
-with Ada.Unchecked_Conversion;
-
-with Interfaces.C; use Interfaces.C;
-with Interfaces.C.Strings; use Interfaces.C.Strings;
-with Interfaces.C.Pointers;
-
-with Terminal_Interface.Curses.Aux;
-
-package body Terminal_Interface.Curses.Forms is
-
-   use Terminal_Interface.Curses.Aux;
-
-   type C_Field_Array is array (Natural range <>) of aliased Field;
-   package F_Array is new
-     Interfaces.C.Pointers (Natural, Field, C_Field_Array, Null_Field);
-
-------------------------------------------------------------------------------
-   --  |
-   --  |
-   --  |
-   --  subtype chars_ptr is Interfaces.C.Strings.chars_ptr;
-
-   function FOS_2_CInt is new
-     Ada.Unchecked_Conversion (Field_Option_Set,
-                               C_Int);
-
-   function CInt_2_FOS is new
-     Ada.Unchecked_Conversion (C_Int,
-                               Field_Option_Set);
-
-   function FrmOS_2_CInt is new
-     Ada.Unchecked_Conversion (Form_Option_Set,
-                               C_Int);
-
-   function CInt_2_FrmOS is new
-     Ada.Unchecked_Conversion (C_Int,
-                               Form_Option_Set);
-
-   procedure Request_Name (Key  : in Form_Request_Code;
-                                Name : out String)
-   is
-      function Form_Request_Name (Key : C_Int) return chars_ptr;
-      pragma Import (C, Form_Request_Name, "form_request_name");
-   begin
-      Fill_String (Form_Request_Name (C_Int (Key)), Name);
-   end Request_Name;
-
-   function Request_Name (Key : Form_Request_Code) return String
-   is
-      function Form_Request_Name (Key : C_Int) return chars_ptr;
-      pragma Import (C, Form_Request_Name, "form_request_name");
-   begin
-      return Fill_String (Form_Request_Name (C_Int (Key)));
-   end Request_Name;
-------------------------------------------------------------------------------
-   --  |
-   --  |
-   --  |
-   --  |
-   --  |=====================================================================
-   --  | man page form_field_new.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   function Create (Height       : Line_Count;
-                    Width        : Column_Count;
-                    Top          : Line_Position;
-                    Left         : Column_Position;
-                    Off_Screen   : Natural := 0;
-                    More_Buffers : Buffer_Number := Buffer_Number'First)
-                    return Field
-   is
-      function Newfield (H, W, T, L, O, M : C_Int) return Field;
-      pragma Import (C, Newfield, "new_field");
-      Fld : constant Field := Newfield (C_Int (Height), C_Int (Width),
-                                        C_Int (Top), C_Int (Left),
-                                        C_Int (Off_Screen),
-                                        C_Int (More_Buffers));
-   begin
-      if Fld = Null_Field then
-         raise Form_Exception;
-      end if;
-      return Fld;
-   end Create;
---  |
---  |
---  |
-   procedure Delete (Fld : in out Field)
-   is
-      function Free_Field (Fld : Field) return C_Int;
-      pragma Import (C, Free_Field, "free_field");
-
-      Res : Eti_Error;
-   begin
-      Res := Free_Field (Fld);
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-      Fld := Null_Field;
-   end Delete;
-   --  |
-   --  |
-   --  |
-   function Duplicate (Fld  : Field;
-                       Top  : Line_Position;
-                       Left : Column_Position) return Field
-   is
-      function Dup_Field (Fld  : Field;
-                          Top  : C_Int;
-                          Left : C_Int) return Field;
-      pragma Import (C, Dup_Field, "dup_field");
-
-      F : constant Field := Dup_Field (Fld,
-                                       C_Int (Top),
-                                       C_Int (Left));
-   begin
-      if F = Null_Field then
-         raise Form_Exception;
-      end if;
-      return F;
-   end Duplicate;
-   --  |
-   --  |
-   --  |
-   function Link (Fld  : Field;
-                  Top  : Line_Position;
-                  Left : Column_Position) return Field
-   is
-      function Lnk_Field (Fld  : Field;
-                          Top  : C_Int;
-                          Left : C_Int) return Field;
-      pragma Import (C, Lnk_Field, "link_field");
-
-      F : constant Field := Lnk_Field (Fld,
-                                       C_Int (Top),
-                                       C_Int (Left));
-   begin
-      if F = Null_Field then
-         raise Form_Exception;
-      end if;
-      return F;
-   end Link;
-   --  |
-   --  |=====================================================================
-   --  | man page form_field_just.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   procedure Set_Justification (Fld  : in Field;
-                                Just : in Field_Justification := None)
-   is
-      function Set_Field_Just (Fld  : Field;
-                               Just : C_Int) return C_Int;
-      pragma Import (C, Set_Field_Just, "set_field_just");
-
-      Res : constant Eti_Error :=
-        Set_Field_Just (Fld,
-                        C_Int (Field_Justification'Pos (Just)));
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Justification;
-   --  |
-   --  |
-   --  |
-   function Get_Justification (Fld : Field) return Field_Justification
-   is
-      function Field_Just (Fld : Field) return C_Int;
-      pragma Import (C, Field_Just, "field_just");
-   begin
-      return Field_Justification'Val (Field_Just (Fld));
-   end Get_Justification;
-   --  |
-   --  |=====================================================================
-   --  | man page form_field_buffer.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   procedure Set_Buffer
-     (Fld    : in Field;
-      Buffer : in Buffer_Number := Buffer_Number'First;
-      Str    : in String)
-   is
-      type Char_Ptr is access all Interfaces.C.char;
-      function Set_Fld_Buffer (Fld    : Field;
-                                 Bufnum : C_Int;
-                                 S      : Char_Ptr)
-        return C_Int;
-      pragma Import (C, Set_Fld_Buffer, "set_field_buffer");
-
-      Txt : char_array (0 .. Str'Length);
-      Len : size_t;
-      Res : Eti_Error;
-   begin
-      To_C (Str, Txt, Len);
-      Res := Set_Fld_Buffer (Fld, C_Int (Buffer), Txt (Txt'First)'Access);
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Buffer;
-   --  |
-   --  |
-   --  |
-   procedure Get_Buffer
-     (Fld    : in Field;
-      Buffer : in Buffer_Number := Buffer_Number'First;
-      Str    : out String)
-   is
-      function Field_Buffer (Fld : Field;
-                             B   : C_Int) return chars_ptr;
-      pragma Import (C, Field_Buffer, "field_buffer");
-   begin
-      Fill_String (Field_Buffer (Fld, C_Int (Buffer)), Str);
-   end Get_Buffer;
-
-   function Get_Buffer
-     (Fld    : in Field;
-      Buffer : in Buffer_Number := Buffer_Number'First) return String
-   is
-      function Field_Buffer (Fld : Field;
-                             B   : C_Int) return chars_ptr;
-      pragma Import (C, Field_Buffer, "field_buffer");
-   begin
-      return Fill_String (Field_Buffer (Fld, C_Int (Buffer)));
-   end Get_Buffer;
-   --  |
-   --  |
-   --  |
-   procedure Set_Status (Fld    : in Field;
-                         Status : in Boolean := True)
-   is
-      function Set_Fld_Status (Fld : Field;
-                               St  : C_Int) return C_Int;
-      pragma Import (C, Set_Fld_Status, "set_field_status");
-
-      Res : constant Eti_Error := Set_Fld_Status (Fld, Boolean'Pos (Status));
-   begin
-      if Res /= E_Ok then
-         raise Form_Exception;
-      end if;
-   end Set_Status;
-   --  |
-   --  |
-   --  |
-   function Changed (Fld : Field) return Boolean
-   is
-      function Field_Status (Fld : Field) return C_Int;
-      pragma Import (C, Field_Status, "field_status");
-
-      Res : constant C_Int := Field_Status (Fld);
-   begin
-      if Res = Curses_False then
-         return False;
-      else
-         return True;
-      end if;
-   end Changed;
-   --  |
-   --  |
-   --  |
-   procedure Set_Maximum_Size (Fld : in Field;
-                               Max : in Natural := 0)
-   is
-      function Set_Field_Max (Fld : Field;
-                              M   : C_Int) return C_Int;
-      pragma Import (C, Set_Field_Max, "set_max_field");
-
-      Res : constant Eti_Error := Set_Field_Max (Fld, C_Int (Max));
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Maximum_Size;
-   --  |
-   --  |=====================================================================
-   --  | man page form_field_opts.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   procedure Set_Options (Fld     : in Field;
-                          Options : in Field_Option_Set)
-   is
-      function Set_Field_Opts (Fld : Field;
-                               Opt : C_Int) return C_Int;
-      pragma Import (C, Set_Field_Opts, "set_field_opts");
-
-      Opt : constant C_Int := FOS_2_CInt (Options);
-      Res : Eti_Error;
-   begin
-      Res := Set_Field_Opts (Fld, Opt);
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Options;
-   --  |
-   --  |
-   --  |
-   procedure Switch_Options (Fld     : in Field;
-                             Options : in Field_Option_Set;
-                             On      : Boolean := True)
-   is
-      function Field_Opts_On (Fld : Field;
-                              Opt : C_Int) return C_Int;
-      pragma Import (C, Field_Opts_On, "field_opts_on");
-      function Field_Opts_Off (Fld : Field;
-                               Opt : C_Int) return C_Int;
-      pragma Import (C, Field_Opts_Off, "field_opts_off");
-
-      Err : Eti_Error;
-      Opt : constant C_Int := FOS_2_CInt (Options);
-   begin
-      if On then
-         Err := Field_Opts_On (Fld, Opt);
-      else
-         Err := Field_Opts_Off (Fld, Opt);
-      end if;
-      if Err /= E_Ok then
-         Eti_Exception (Err);
-      end if;
-   end Switch_Options;
-   --  |
-   --  |
-   --  |
-   procedure Get_Options (Fld     : in  Field;
-                          Options : out Field_Option_Set)
-   is
-      function Field_Opts (Fld : Field) return C_Int;
-      pragma Import (C, Field_Opts, "field_opts");
-
-      Res : constant C_Int := Field_Opts (Fld);
-   begin
-      Options := CInt_2_FOS (Res);
-   end Get_Options;
-   --  |
-   --  |
-   --  |
-   function Get_Options (Fld : Field := Null_Field)
-                         return Field_Option_Set
-   is
-      Fos : Field_Option_Set;
-   begin
-      Get_Options (Fld, Fos);
-      return Fos;
-   end Get_Options;
-   --  |
-   --  |=====================================================================
-   --  | man page form_field_attributes.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   procedure Set_Foreground
-     (Fld   : in Field;
-      Fore  : in Character_Attribute_Set := Normal_Video;
-      Color : in Color_Pair := Color_Pair'First)
-   is
-      function Set_Field_Fore (Fld  : Field;
-                               Attr : C_Chtype) return C_Int;
-      pragma Import (C, Set_Field_Fore, "set_field_fore");
-
-      Ch : constant Attributed_Character := (Ch    => Character'First,
-                                             Color => Color,
-                                             Attr  => Fore);
-      Res : constant Eti_Error :=
-        Set_Field_Fore (Fld, AttrChar_To_Chtype (Ch));
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Foreground;
-   --  |
-   --  |
-   --  |
-   procedure Foreground (Fld  : in  Field;
-                         Fore : out Character_Attribute_Set)
-   is
-      function Field_Fore (Fld : Field) return C_Chtype;
-      pragma Import (C, Field_Fore, "field_fore");
-   begin
-      Fore := Chtype_To_AttrChar (Field_Fore (Fld)).Attr;
-   end Foreground;
-
-   procedure Foreground (Fld   : in  Field;
-                         Fore  : out Character_Attribute_Set;
-                         Color : out Color_Pair)
-   is
-      function Field_Fore (Fld : Field) return C_Chtype;
-      pragma Import (C, Field_Fore, "field_fore");
-   begin
-      Fore  := Chtype_To_AttrChar (Field_Fore (Fld)).Attr;
-      Color := Chtype_To_AttrChar (Field_Fore (Fld)).Color;
-   end Foreground;
-   --  |
-   --  |
-   --  |
-   procedure Set_Background
-     (Fld   : in Field;
-      Back  : in Character_Attribute_Set := Normal_Video;
-      Color : in Color_Pair := Color_Pair'First)
-   is
-      function Set_Field_Back (Fld  : Field;
-                               Attr : C_Chtype) return C_Int;
-      pragma Import (C, Set_Field_Back, "set_field_back");
-
-      Ch : constant Attributed_Character := (Ch    => Character'First,
-                                             Color => Color,
-                                             Attr  => Back);
-      Res : constant Eti_Error :=
-        Set_Field_Back (Fld, AttrChar_To_Chtype (Ch));
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Background;
-   --  |
-   --  |
-   --  |
-   procedure Background (Fld  : in  Field;
-                         Back : out Character_Attribute_Set)
-   is
-      function Field_Back (Fld : Field) return C_Chtype;
-      pragma Import (C, Field_Back, "field_back");
-   begin
-      Back := Chtype_To_AttrChar (Field_Back (Fld)).Attr;
-   end Background;
-
-   procedure Background (Fld   : in  Field;
-                         Back  : out Character_Attribute_Set;
-                         Color : out Color_Pair)
-   is
-      function Field_Back (Fld : Field) return C_Chtype;
-      pragma Import (C, Field_Back, "field_back");
-   begin
-      Back  := Chtype_To_AttrChar (Field_Back (Fld)).Attr;
-      Color := Chtype_To_AttrChar (Field_Back (Fld)).Color;
-   end Background;
-   --  |
-   --  |
-   --  |
-   procedure Set_Pad_Character (Fld : in Field;
-                                Pad : in Character := Space)
-   is
-      function Set_Field_Pad (Fld : Field;
-                              Ch  : C_Int) return C_Int;
-      pragma Import (C, Set_Field_Pad, "set_field_pad");
-
-      Res : constant Eti_Error := Set_Field_Pad (Fld,
-                                                 C_Int (Character'Pos (Pad)));
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Pad_Character;
-   --  |
-   --  |
-   --  |
-   procedure Pad_Character (Fld : in  Field;
-                            Pad : out Character)
-   is
-      function Field_Pad (Fld : Field) return C_Int;
-      pragma Import (C, Field_Pad, "field_pad");
-   begin
-      Pad := Character'Val (Field_Pad (Fld));
-   end Pad_Character;
-   --  |
-   --  |=====================================================================
-   --  | man page form_field_info.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   procedure Info (Fld                : in  Field;
-                   Lines              : out Line_Count;
-                   Columns            : out Column_Count;
-                   First_Row          : out Line_Position;
-                   First_Column       : out Column_Position;
-                   Off_Screen         : out Natural;
-                   Additional_Buffers : out Buffer_Number)
-   is
-      type C_Int_Access is access all C_Int;
-      function Fld_Info (Fld : Field;
-                         L, C, Fr, Fc, Os, Ab : C_Int_Access)
-                         return C_Int;
-      pragma Import (C, Fld_Info, "field_info");
-
-      L, C, Fr, Fc, Os, Ab : aliased C_Int;
-      Res : constant Eti_Error := Fld_Info (Fld,
-                                            L'Access, C'Access,
-                                            Fr'Access, Fc'Access,
-                                            Os'Access, Ab'Access);
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      else
-         Lines              := Line_Count (L);
-         Columns            := Column_Count (C);
-         First_Row          := Line_Position (Fr);
-         First_Column       := Column_Position (Fc);
-         Off_Screen         := Natural (Os);
-         Additional_Buffers := Buffer_Number (Ab);
-      end if;
-   end Info;
---  |
---  |
---  |
-   procedure Dynamic_Info (Fld     : in Field;
-                           Lines   : out Line_Count;
-                           Columns : out Column_Count;
-                           Max     : out Natural)
-   is
-      type C_Int_Access is access all C_Int;
-      function Dyn_Info (Fld : Field; L, C, M : C_Int_Access) return C_Int;
-      pragma Import (C, Dyn_Info, "dynamic_field_info");
-
-      L, C, M : aliased C_Int;
-      Res : constant Eti_Error := Dyn_Info (Fld,
-                                            L'Access, C'Access,
-                                            M'Access);
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      else
-         Lines   := Line_Count (L);
-         Columns := Column_Count (C);
-         Max     := Natural (M);
-      end if;
-   end Dynamic_Info;
-   --  |
-   --  |=====================================================================
-   --  | man page form_win.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   procedure Set_Window (Frm : in Form;
-                         Win : in Window)
-   is
-      function Set_Form_Win (Frm : Form;
-                             Win : Window) return C_Int;
-      pragma Import (C, Set_Form_Win, "set_form_win");
-
-      Res : constant Eti_Error := Set_Form_Win (Frm, Win);
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Window;
-   --  |
-   --  |
-   --  |
-   function Get_Window (Frm : Form) return Window
-   is
-      function Form_Win (Frm : Form) return Window;
-      pragma Import (C, Form_Win, "form_win");
-
-      W : constant Window := Form_Win (Frm);
-   begin
-      return W;
-   end Get_Window;
-   --  |
-   --  |
-   --  |
-   procedure Set_Sub_Window (Frm : in Form;
-                             Win : in Window)
-   is
-      function Set_Form_Sub (Frm : Form;
-                             Win : Window) return C_Int;
-      pragma Import (C, Set_Form_Sub, "set_form_sub");
-
-      Res : constant Eti_Error := Set_Form_Sub (Frm, Win);
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Sub_Window;
-   --  |
-   --  |
-   --  |
-   function Get_Sub_Window (Frm : Form) return Window
-   is
-      function Form_Sub (Frm : Form) return Window;
-      pragma Import (C, Form_Sub, "form_sub");
-
-      W : constant Window := Form_Sub (Frm);
-   begin
-      return W;
-   end Get_Sub_Window;
-   --  |
-   --  |
-   --  |
-   procedure Scale (Frm     : in Form;
-                    Lines   : out Line_Count;
-                    Columns : out Column_Count)
-   is
-      type C_Int_Access is access all C_Int;
-      function M_Scale (Frm : Form; Yp, Xp : C_Int_Access) return C_Int;
-      pragma Import (C, M_Scale, "scale_form");
-
-      X, Y : aliased C_Int;
-      Res  : constant Eti_Error := M_Scale (Frm, Y'Access, X'Access);
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-      Lines := Line_Count (Y);
-      Columns := Column_Count (X);
-   end Scale;
-   --  |
-   --  |=====================================================================
-   --  | man page menu_hook.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   procedure Set_Field_Init_Hook (Frm  : in Form;
-                                  Proc : in Form_Hook_Function)
-   is
-      function Set_Field_Init (Frm  : Form;
-                               Proc : Form_Hook_Function) return C_Int;
-      pragma Import (C, Set_Field_Init, "set_field_init");
-
-      Res : constant Eti_Error := Set_Field_Init (Frm, Proc);
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Field_Init_Hook;
-   --  |
-   --  |
-   --  |
-   procedure Set_Field_Term_Hook (Frm  : in Form;
-                                  Proc : in Form_Hook_Function)
-   is
-      function Set_Field_Term (Frm  : Form;
-                               Proc : Form_Hook_Function) return C_Int;
-      pragma Import (C, Set_Field_Term, "set_field_term");
-
-      Res : constant Eti_Error := Set_Field_Term (Frm, Proc);
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Field_Term_Hook;
-   --  |
-   --  |
-   --  |
-   procedure Set_Form_Init_Hook (Frm  : in Form;
-                                 Proc : in Form_Hook_Function)
-   is
-      function Set_Form_Init (Frm  : Form;
-                              Proc : Form_Hook_Function) return C_Int;
-      pragma Import (C, Set_Form_Init, "set_form_init");
-
-      Res : constant Eti_Error := Set_Form_Init (Frm, Proc);
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Form_Init_Hook;
-   --  |
-   --  |
-   --  |
-   procedure Set_Form_Term_Hook (Frm  : in Form;
-                                 Proc : in Form_Hook_Function)
-   is
-      function Set_Form_Term (Frm  : Form;
-                              Proc : Form_Hook_Function) return C_Int;
-      pragma Import (C, Set_Form_Term, "set_form_term");
-
-      Res : constant Eti_Error := Set_Form_Term (Frm, Proc);
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Form_Term_Hook;
-   --  |
-   --  |=====================================================================
-   --  | man page form_fields.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   procedure Redefine (Frm  : in Form;
-                       Flds : in Field_Array_Access)
-   is
-      function Set_Frm_Fields (Frm   : Form;
-                               Items : System.Address) return C_Int;
-      pragma Import (C, Set_Frm_Fields, "set_form_fields");
-
-      Res : Eti_Error;
-   begin
-      pragma Assert (Flds (Flds'Last) = Null_Field);
-      if Flds (Flds'Last) /= Null_Field then
-         raise Form_Exception;
-      else
-         Res := Set_Frm_Fields (Frm, Flds (Flds'First)'Address);
-         if  Res /= E_Ok then
-            Eti_Exception (Res);
-         end if;
-      end if;
-   end Redefine;
-   --  |
-   --  |
-   --  |
-   function Fields (Frm   : Form;
-                    Index : Positive) return Field
-   is
-      use F_Array;
-
-      function C_Fields (Frm : Form) return Pointer;
-      pragma Import (C, C_Fields, "form_fields");
-
-      P : Pointer := C_Fields (Frm);
-   begin
-      if P = null or else Index not in 1 .. Field_Count (Frm) then
-         raise Form_Exception;
-      else
-         P := P + ptrdiff_t (C_Int (Index) - 1);
-         return P.all;
-      end if;
-   end Fields;
-   --  |
-   --  |
-   --  |
-   function Field_Count (Frm : Form) return Natural
-   is
-      function Count (Frm : Form) return C_Int;
-      pragma Import (C, Count, "field_count");
-   begin
-      return Natural (Count (Frm));
-   end Field_Count;
-   --  |
-   --  |
-   --  |
-   procedure Move (Fld    : in Field;
-                   Line   : in Line_Position;
-                   Column : in Column_Position)
-   is
-      function Move (Fld : Field; L, C : C_Int) return C_Int;
-      pragma Import (C, Move, "move_field");
-
-      Res : constant Eti_Error := Move (Fld, C_Int (Line), C_Int (Column));
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Move;
-   --  |
-   --  |=====================================================================
-   --  | man page form_new.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   function Create (Fields : Field_Array_Access) return Form
-   is
-      function NewForm (Fields : System.Address) return Form;
-      pragma Import (C, NewForm, "new_form");
-
-      M   : Form;
-   begin
-      pragma Assert (Fields (Fields'Last) = Null_Field);
-      if Fields (Fields'Last) /= Null_Field then
-         raise Form_Exception;
-      else
-         M := NewForm (Fields (Fields'First)'Address);
-         if M = Null_Form then
-            raise Form_Exception;
-         end if;
-         return M;
-      end if;
-   end Create;
-   --  |
-   --  |
-   --  |
-   procedure Delete (Frm : in out Form)
-   is
-      function Free (Frm : Form) return C_Int;
-      pragma Import (C, Free, "free_form");
-
-      Res : constant Eti_Error := Free (Frm);
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-      Frm := Null_Form;
-   end Delete;
-   --  |
-   --  |=====================================================================
-   --  | man page form_opts.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   procedure Set_Options (Frm     : in Form;
-                          Options : in Form_Option_Set)
-   is
-      function Set_Form_Opts (Frm : Form;
-                              Opt : C_Int) return C_Int;
-      pragma Import (C, Set_Form_Opts, "set_form_opts");
-
-      Opt : constant C_Int := FrmOS_2_CInt (Options);
-      Res : Eti_Error;
-   begin
-      Res := Set_Form_Opts (Frm, Opt);
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Options;
-   --  |
-   --  |
-   --  |
-   procedure Switch_Options (Frm     : in Form;
-                             Options : in Form_Option_Set;
-                             On      : Boolean := True)
-   is
-      function Form_Opts_On (Frm : Form;
-                             Opt : C_Int) return C_Int;
-      pragma Import (C, Form_Opts_On, "form_opts_on");
-      function Form_Opts_Off (Frm : Form;
-                              Opt : C_Int) return C_Int;
-      pragma Import (C, Form_Opts_Off, "form_opts_off");
-
-      Err : Eti_Error;
-      Opt : constant C_Int := FrmOS_2_CInt (Options);
-   begin
-      if On then
-         Err := Form_Opts_On (Frm, Opt);
-      else
-         Err := Form_Opts_Off (Frm, Opt);
-      end if;
-      if Err /= E_Ok then
-         Eti_Exception (Err);
-      end if;
-   end Switch_Options;
-   --  |
-   --  |
-   --  |
-   procedure Get_Options (Frm     : in  Form;
-                          Options : out Form_Option_Set)
-   is
-      function Form_Opts (Frm : Form) return C_Int;
-      pragma Import (C, Form_Opts, "form_opts");
-
-      Res : constant C_Int := Form_Opts (Frm);
-   begin
-      Options := CInt_2_FrmOS (Res);
-   end Get_Options;
-   --  |
-   --  |
-   --  |
-   function Get_Options (Frm : Form := Null_Form) return Form_Option_Set
-   is
-      Fos : Form_Option_Set;
-   begin
-      Get_Options (Frm, Fos);
-      return Fos;
-   end Get_Options;
-   --  |
-   --  |=====================================================================
-   --  | man page form_post.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   procedure Post (Frm  : in Form;
-                   Post : in Boolean := True)
-   is
-      function M_Post (Frm : Form) return C_Int;
-      pragma Import (C, M_Post, "post_form");
-      function M_Unpost (Frm : Form) return C_Int;
-      pragma Import (C, M_Unpost, "unpost_form");
-
-      Res : Eti_Error;
-   begin
-      if Post then
-         Res := M_Post (Frm);
-      else
-         Res := M_Unpost (Frm);
-      end if;
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Post;
-   --  |
-   --  |=====================================================================
-   --  | man page form_cursor.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   procedure Position_Cursor (Frm : Form)
-   is
-      function Pos_Form_Cursor (Frm : Form) return C_Int;
-      pragma Import (C, Pos_Form_Cursor, "pos_form_cursor");
-
-      Res : constant Eti_Error := Pos_Form_Cursor (Frm);
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Position_Cursor;
-   --  |
-   --  |=====================================================================
-   --  | man page form_data.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   function Data_Ahead (Frm : Form) return Boolean
-   is
-      function Ahead (Frm : Form) return C_Int;
-      pragma Import (C, Ahead, "data_ahead");
-
-      Res : constant C_Int := Ahead (Frm);
-   begin
-      if Res = Curses_False then
-         return False;
-      else
-         return True;
-      end if;
-   end Data_Ahead;
-   --  |
-   --  |
-   --  |
-   function Data_Behind (Frm : Form) return Boolean
-   is
-      function Behind (Frm : Form) return C_Int;
-      pragma Import (C, Behind, "data_behind");
-
-      Res : constant C_Int := Behind (Frm);
-   begin
-      if Res = Curses_False then
-         return False;
-      else
-         return True;
-      end if;
-   end Data_Behind;
-   --  |
-   --  |=====================================================================
-   --  | man page form_driver.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   function Driver (Frm : Form;
-                    Key : Key_Code) return Driver_Result
-   is
-      function Frm_Driver (Frm : Form; Key : C_Int) return C_Int;
-      pragma Import (C, Frm_Driver, "form_driver");
-
-      R : constant Eti_Error := Frm_Driver (Frm, C_Int (Key));
-   begin
-      if R /= E_Ok then
-         if R = E_Unknown_Command then
-            return Unknown_Request;
-         elsif R = E_Invalid_Field then
-            return Invalid_Field;
-         elsif R = E_Request_Denied then
-            return Request_Denied;
-         else
-            Eti_Exception (R);
-            return Form_Ok;
-         end if;
-      else
-         return Form_Ok;
-      end if;
-   end Driver;
-   --  |
-   --  |=====================================================================
-   --  | man page form_page.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   procedure Set_Current (Frm : in Form;
-                          Fld : in Field)
-   is
-      function Set_Current_Fld (Frm : Form; Fld : Field) return C_Int;
-      pragma Import (C, Set_Current_Fld, "set_current_field");
-
-      Res : constant Eti_Error := Set_Current_Fld (Frm, Fld);
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Current;
-   --  |
-   --  |
-   --  |
-   function Current (Frm : in Form) return Field
-   is
-      function Current_Fld (Frm : Form) return Field;
-      pragma Import (C, Current_Fld, "current_field");
-
-      Fld : constant Field := Current_Fld (Frm);
-   begin
-      if Fld = Null_Field then
-         raise Form_Exception;
-      end if;
-      return Fld;
-   end Current;
-   --  |
-   --  |
-   --  |
-   procedure Set_Page (Frm  : in Form;
-                       Page : in Page_Number := Page_Number'First)
-   is
-      function Set_Frm_Page (Frm : Form; Pg : C_Int) return C_Int;
-      pragma Import (C, Set_Frm_Page, "set_form_page");
-
-      Res : constant Eti_Error := Set_Frm_Page (Frm, C_Int (Page));
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Page;
-   --  |
-   --  |
-   --  |
-   function Page (Frm : Form) return Page_Number
-   is
-      function Get_Page (Frm : Form) return C_Int;
-      pragma Import (C, Get_Page, "form_page");
-
-      P : constant C_Int := Get_Page (Frm);
-   begin
-      if P < 0 then
-         raise Form_Exception;
-      else
-         return Page_Number (P);
-      end if;
-   end Page;
-
-   function Get_Index (Fld : Field) return Positive
-   is
-      function Get_Fieldindex (Fld : Field) return C_Int;
-      pragma Import (C, Get_Fieldindex, "field_index");
-
-      Res : constant C_Int := Get_Fieldindex (Fld);
-   begin
-      if Res = Curses_Err then
-         raise Form_Exception;
-      end if;
-      return Positive (Natural (Res) + Positive'First);
-   end Get_Index;
-
-   --  |
-   --  |=====================================================================
-   --  | man page form_new_page.3x
-   --  |=====================================================================
-   --  |
-   --  |
-   --  |
-   procedure Set_New_Page (Fld      : in Field;
-                           New_Page : in Boolean := True)
-   is
-      function Set_Page (Fld : Field; Flg : C_Int) return C_Int;
-      pragma Import (C, Set_Page, "set_new_page");
-
-      Res : constant Eti_Error := Set_Page (Fld, Boolean'Pos (New_Page));
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_New_Page;
-   --  |
-   --  |
-   --  |
-   function Is_New_Page (Fld : Field) return Boolean
-   is
-      function Is_New (Fld : Field) return C_Int;
-      pragma Import (C, Is_New, "new_page");
-
-      Res : constant C_Int := Is_New (Fld);
-   begin
-      if Res = Curses_False then
-         return False;
-      else
-         return True;
-      end if;
-   end Is_New_Page;
-
-   procedure Free (FA          : in out Field_Array_Access;
-                   Free_Fields : in Boolean := False)
-   is
-      procedure Release is new Ada.Unchecked_Deallocation
-        (Field_Array, Field_Array_Access);
-   begin
-      if FA /= null and then Free_Fields then
-         for I in FA'First .. (FA'Last - 1) loop
-            if FA (I) /= Null_Field then
-               Delete (FA (I));
-            end if;
-         end loop;
-      end if;
-      Release (FA);
-   end Free;
-
-   --  |=====================================================================
-
-   function Default_Field_Options return Field_Option_Set
-   is
-   begin
-      return Get_Options (Null_Field);
-   end Default_Field_Options;
-
-   function Default_Form_Options return Form_Option_Set
-   is
-   begin
-      return Get_Options (Null_Form);
-   end Default_Form_Options;
-
-end Terminal_Interface.Curses.Forms;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms__ads.htm deleted file mode 100644 index f06515f4dd..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-forms__ads.htm +++ /dev/null @@ -1,787 +0,0 @@ - -terminal_interface-curses-forms.ads - -

File : terminal_interface-curses-forms.ads


-
-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                      Terminal_Interface.Curses.Form                      --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.27 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
---  form binding.
---  This module is generated. Please don't change it manually!
---  Run the generator instead.
---  |
-with System;
-with Ada.Characters.Latin_1;
-
-package Terminal_Interface.Curses.Forms is
-   pragma Preelaborate (Terminal_Interface.Curses.Forms);
-   pragma Linker_Options ("-lform");
-   pragma Linker_Options ("-lncurses");
-
-   Space : Character renames Ada.Characters.Latin_1.Space;
-
-   type Field        is private;
-   type Form         is private;
-
-   Null_Field        : constant Field;
-   Null_Form         : constant Form;
-
-   type Field_Justification is (None,
-                                Left,
-                                Center,
-                                Right);
-
-   pragma Warnings (Off);
-   type Field_Option_Set is
-      record
-         Visible     : Boolean;
-         Active      : Boolean;
-         Public      : Boolean;
-         Edit        : Boolean;
-         Wrap        : Boolean;
-         Blank       : Boolean;
-         Auto_Skip   : Boolean;
-         Null_Ok     : Boolean;
-         Pass_Ok     : Boolean;
-         Static      : Boolean;
-      end record;
-   pragma Convention (C, Field_Option_Set);
-
-   for Field_Option_Set use
-      record
-         Visible     at 0 range  0 ..  0;
-         Active      at 0 range  1 ..  1;
-         Public      at 0 range  2 ..  2;
-         Edit        at 0 range  3 ..  3;
-         Wrap        at 0 range  4 ..  4;
-         Blank       at 0 range  5 ..  5;
-         Auto_Skip   at 0 range  6 ..  6;
-         Null_Ok     at 0 range  7 ..  7;
-         Pass_Ok     at 0 range  8 ..  8;
-         Static      at 0 range  9 ..  9;
-      end record;
-   for Field_Option_Set'Size use 32;
-   --  Please note: this rep. clause is generated and may be
-   --               different on your system.Dnl
-
-   pragma Warnings (On);
-
-   function Default_Field_Options return Field_Option_Set;
-   --  The initial defaults for the field options.
-   pragma Inline (Default_Field_Options);
-
-   pragma Warnings (Off);
-   type Form_Option_Set is
-      record
-         NL_Overload : Boolean;
-         BS_Overload : Boolean;
-      end record;
-   pragma Convention (C, Form_Option_Set);
-
-   for Form_Option_Set use
-      record
-         NL_Overload at 0 range  0 ..  0;
-         BS_Overload at 0 range  1 ..  1;
-      end record;
-   for Form_Option_Set'Size use 32;
-   --  Please note: this rep. clause is generated and may be
-   --               different on your system.Dnl
-
-   pragma Warnings (On);
-
-   function Default_Form_Options return Form_Option_Set;
-   --  The initial defaults for the form options.
-   pragma Inline (Default_Form_Options);
-
-   type Buffer_Number is new Natural;
-
-   type Field_Array is array (Positive range <>) of aliased Field;
-   pragma Convention (C, Field_Array);
-
-   type Field_Array_Access is access Field_Array;
-
-   procedure Free (FA          : in out Field_Array_Access;
-                   Free_Fields : in Boolean := False);
-   --  Release the memory for an allocated field array
-   --  If Free_Fields is True, call Delete() for all the fields in
-   --  the array.
-
-   subtype Form_Request_Code is Key_Code range (Key_Max + 1) .. (Key_Max + 57);
-
-   --  The prefix F_ stands for "Form Request"
-   F_Next_Page                : constant Form_Request_Code := Key_Max + 1;
-   F_Previous_Page            : constant Form_Request_Code := Key_Max + 2;
-   F_First_Page               : constant Form_Request_Code := Key_Max + 3;
-   F_Last_Page                : constant Form_Request_Code := Key_Max + 4;
-
-   F_Next_Field               : constant Form_Request_Code := Key_Max + 5;
-   F_Previous_Field           : constant Form_Request_Code := Key_Max + 6;
-   F_First_Field              : constant Form_Request_Code := Key_Max + 7;
-   F_Last_Field               : constant Form_Request_Code := Key_Max + 8;
-   F_Sorted_Next_Field        : constant Form_Request_Code := Key_Max + 9;
-   F_Sorted_Previous_Field    : constant Form_Request_Code := Key_Max + 10;
-   F_Sorted_First_Field       : constant Form_Request_Code := Key_Max + 11;
-   F_Sorted_Last_Field        : constant Form_Request_Code := Key_Max + 12;
-   F_Left_Field               : constant Form_Request_Code := Key_Max + 13;
-   F_Right_Field              : constant Form_Request_Code := Key_Max + 14;
-   F_Up_Field                 : constant Form_Request_Code := Key_Max + 15;
-   F_Down_Field               : constant Form_Request_Code := Key_Max + 16;
-
-   F_Next_Char                : constant Form_Request_Code := Key_Max + 17;
-   F_Previous_Char            : constant Form_Request_Code := Key_Max + 18;
-   F_Next_Line                : constant Form_Request_Code := Key_Max + 19;
-   F_Previous_Line            : constant Form_Request_Code := Key_Max + 20;
-   F_Next_Word                : constant Form_Request_Code := Key_Max + 21;
-   F_Previous_Word            : constant Form_Request_Code := Key_Max + 22;
-   F_Begin_Field              : constant Form_Request_Code := Key_Max + 23;
-   F_End_Field                : constant Form_Request_Code := Key_Max + 24;
-   F_Begin_Line               : constant Form_Request_Code := Key_Max + 25;
-   F_End_Line                 : constant Form_Request_Code := Key_Max + 26;
-   F_Left_Char                : constant Form_Request_Code := Key_Max + 27;
-   F_Right_Char               : constant Form_Request_Code := Key_Max + 28;
-   F_Up_Char                  : constant Form_Request_Code := Key_Max + 29;
-   F_Down_Char                : constant Form_Request_Code := Key_Max + 30;
-
-   F_New_Line                 : constant Form_Request_Code := Key_Max + 31;
-   F_Insert_Char              : constant Form_Request_Code := Key_Max + 32;
-   F_Insert_Line              : constant Form_Request_Code := Key_Max + 33;
-   F_Delete_Char              : constant Form_Request_Code := Key_Max + 34;
-   F_Delete_Previous          : constant Form_Request_Code := Key_Max + 35;
-   F_Delete_Line              : constant Form_Request_Code := Key_Max + 36;
-   F_Delete_Word              : constant Form_Request_Code := Key_Max + 37;
-   F_Clear_EOL                : constant Form_Request_Code := Key_Max + 38;
-   F_Clear_EOF                : constant Form_Request_Code := Key_Max + 39;
-   F_Clear_Field              : constant Form_Request_Code := Key_Max + 40;
-   F_Overlay_Mode             : constant Form_Request_Code := Key_Max + 41;
-   F_Insert_Mode              : constant Form_Request_Code := Key_Max + 42;
-
-   --  Vertical Scrolling
-   F_ScrollForward_Line       : constant Form_Request_Code := Key_Max + 43;
-   F_ScrollBackward_Line      : constant Form_Request_Code := Key_Max + 44;
-   F_ScrollForward_Page       : constant Form_Request_Code := Key_Max + 45;
-   F_ScrollBackward_Page      : constant Form_Request_Code := Key_Max + 46;
-   F_ScrollForward_HalfPage   : constant Form_Request_Code := Key_Max + 47;
-   F_ScrollBackward_HalfPage  : constant Form_Request_Code := Key_Max + 48;
-
-   --  Horizontal Scrolling
-   F_HScrollForward_Char      : constant Form_Request_Code := Key_Max + 49;
-   F_HScrollBackward_Char     : constant Form_Request_Code := Key_Max + 50;
-   F_HScrollForward_Line      : constant Form_Request_Code := Key_Max + 51;
-   F_HScrollBackward_Line     : constant Form_Request_Code := Key_Max + 52;
-   F_HScrollForward_HalfLine  : constant Form_Request_Code := Key_Max + 53;
-   F_HScrollBackward_HalfLine : constant Form_Request_Code := Key_Max + 54;
-
-   F_Validate_Field           : constant Form_Request_Code := Key_Max + 55;
-   F_Next_Choice              : constant Form_Request_Code := Key_Max + 56;
-   F_Previous_Choice          : constant Form_Request_Code := Key_Max + 57;
-
-   --  For those who like the old 'C' style request names
-   REQ_NEXT_PAGE    : Form_Request_Code renames F_Next_Page;
-   REQ_PREV_PAGE    : Form_Request_Code renames F_Previous_Page;
-   REQ_FIRST_PAGE   : Form_Request_Code renames F_First_Page;
-   REQ_LAST_PAGE    : Form_Request_Code renames F_Last_Page;
-
-   REQ_NEXT_FIELD   : Form_Request_Code renames F_Next_Field;
-   REQ_PREV_FIELD   : Form_Request_Code renames F_Previous_Field;
-   REQ_FIRST_FIELD  : Form_Request_Code renames F_First_Field;
-   REQ_LAST_FIELD   : Form_Request_Code renames F_Last_Field;
-   REQ_SNEXT_FIELD  : Form_Request_Code renames F_Sorted_Next_Field;
-   REQ_SPREV_FIELD  : Form_Request_Code renames F_Sorted_Previous_Field;
-   REQ_SFIRST_FIELD : Form_Request_Code renames F_Sorted_First_Field;
-   REQ_SLAST_FIELD  : Form_Request_Code renames F_Sorted_Last_Field;
-   REQ_LEFT_FIELD   : Form_Request_Code renames F_Left_Field;
-   REQ_RIGHT_FIELD  : Form_Request_Code renames F_Right_Field;
-   REQ_UP_FIELD     : Form_Request_Code renames F_Up_Field;
-   REQ_DOWN_FIELD   : Form_Request_Code renames F_Down_Field;
-
-   REQ_NEXT_CHAR    : Form_Request_Code renames F_Next_Char;
-   REQ_PREV_CHAR    : Form_Request_Code renames F_Previous_Char;
-   REQ_NEXT_LINE    : Form_Request_Code renames F_Next_Line;
-   REQ_PREV_LINE    : Form_Request_Code renames F_Previous_Line;
-   REQ_NEXT_WORD    : Form_Request_Code renames F_Next_Word;
-   REQ_PREV_WORD    : Form_Request_Code renames F_Previous_Word;
-   REQ_BEG_FIELD    : Form_Request_Code renames F_Begin_Field;
-   REQ_END_FIELD    : Form_Request_Code renames F_End_Field;
-   REQ_BEG_LINE     : Form_Request_Code renames F_Begin_Line;
-   REQ_END_LINE     : Form_Request_Code renames F_End_Line;
-   REQ_LEFT_CHAR    : Form_Request_Code renames F_Left_Char;
-   REQ_RIGHT_CHAR   : Form_Request_Code renames F_Right_Char;
-   REQ_UP_CHAR      : Form_Request_Code renames F_Up_Char;
-   REQ_DOWN_CHAR    : Form_Request_Code renames F_Down_Char;
-
-   REQ_NEW_LINE     : Form_Request_Code renames F_New_Line;
-   REQ_INS_CHAR     : Form_Request_Code renames F_Insert_Char;
-   REQ_INS_LINE     : Form_Request_Code renames F_Insert_Line;
-   REQ_DEL_CHAR     : Form_Request_Code renames F_Delete_Char;
-   REQ_DEL_PREV     : Form_Request_Code renames F_Delete_Previous;
-   REQ_DEL_LINE     : Form_Request_Code renames F_Delete_Line;
-   REQ_DEL_WORD     : Form_Request_Code renames F_Delete_Word;
-   REQ_CLR_EOL      : Form_Request_Code renames F_Clear_EOL;
-   REQ_CLR_EOF      : Form_Request_Code renames F_Clear_EOF;
-   REQ_CLR_FIELD    : Form_Request_Code renames F_Clear_Field;
-   REQ_OVL_MODE     : Form_Request_Code renames F_Overlay_Mode;
-   REQ_INS_MODE     : Form_Request_Code renames F_Insert_Mode;
-
-   REQ_SCR_FLINE    : Form_Request_Code renames F_ScrollForward_Line;
-   REQ_SCR_BLINE    : Form_Request_Code renames F_ScrollBackward_Line;
-   REQ_SCR_FPAGE    : Form_Request_Code renames F_ScrollForward_Page;
-   REQ_SCR_BPAGE    : Form_Request_Code renames F_ScrollBackward_Page;
-   REQ_SCR_FHPAGE   : Form_Request_Code renames F_ScrollForward_HalfPage;
-   REQ_SCR_BHPAGE   : Form_Request_Code renames F_ScrollBackward_HalfPage;
-
-   REQ_SCR_FCHAR    : Form_Request_Code renames F_HScrollForward_Char;
-   REQ_SCR_BCHAR    : Form_Request_Code renames F_HScrollBackward_Char;
-   REQ_SCR_HFLINE   : Form_Request_Code renames F_HScrollForward_Line;
-   REQ_SCR_HBLINE   : Form_Request_Code renames F_HScrollBackward_Line;
-   REQ_SCR_HFHALF   : Form_Request_Code renames F_HScrollForward_HalfLine;
-   REQ_SCR_HBHALF   : Form_Request_Code renames F_HScrollBackward_HalfLine;
-
-   REQ_VALIDATION   : Form_Request_Code renames F_Validate_Field;
-   REQ_NEXT_CHOICE  : Form_Request_Code renames F_Next_Choice;
-   REQ_PREV_CHOICE  : Form_Request_Code renames F_Previous_Choice;
-
-
-   procedure Request_Name (Key  : in Form_Request_Code;
-                           Name : out String);
-
-   function  Request_Name (Key : Form_Request_Code) return String;
-   --  Same as function
-   pragma Inline (Request_Name);
-
-   ------------------
-   --  Exceptions  --
-   ------------------
-   Form_Exception : exception;
-
-   --  |=====================================================================
-   --  | Man page form_field_new.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_1"#2|
-   function Create (Height       : Line_Count;
-                    Width        : Column_Count;
-                    Top          : Line_Position;
-                    Left         : Column_Position;
-                    Off_Screen   : Natural := 0;
-                    More_Buffers : Buffer_Number := Buffer_Number'First)
-                    return Field;
-   --  AKA: new_field()
-   --  An overloaded Create is defined later. Pragma Inline appears there.
-
-   --  #1A NAME="AFU_2"#2|
-   function New_Field (Height       : Line_Count;
-                       Width        : Column_Count;
-                       Top          : Line_Position;
-                       Left         : Column_Position;
-                       Off_Screen   : Natural := 0;
-                       More_Buffers : Buffer_Number := Buffer_Number'First)
-                       return Field renames Create;
-   --  AKA: new_field()
-   pragma Inline (New_Field);
-
-   --  #1A NAME="AFU_3"#2|
-   procedure Delete (Fld : in out Field);
-   --  AKA: free_field()
-   --  Reset Fld to Null_Field
-   --  An overloaded Delete is defined later. Pragma Inline appears there.
-
-   --  #1A NAME="AFU_4"#2|
-   function Duplicate (Fld  : Field;
-                       Top  : Line_Position;
-                       Left : Column_Position) return Field;
-   --  AKA: dup_field()
-   pragma Inline (Duplicate);
-
-   --  #1A NAME="AFU_5"#2|
-   function Link (Fld  : Field;
-                  Top  : Line_Position;
-                  Left : Column_Position) return Field;
-   --  AKA: link_field()
-   pragma Inline (Link);
-
-   --  |=====================================================================
-   --  | Man page form_field_just.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_6"#2|
-   procedure Set_Justification (Fld  : in Field;
-                                Just : in Field_Justification := None);
-   --  AKA: set_field_just()
-   pragma Inline (Set_Justification);
-
-   --  #1A NAME="AFU_7"#2|
-   function Get_Justification (Fld : Field) return Field_Justification;
-   --  AKA: field_just()
-   pragma Inline (Get_Justification);
-
-   --  |=====================================================================
-   --  | Man page form_field_buffer.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_8"#2|
-   procedure Set_Buffer
-     (Fld    : in Field;
-      Buffer : in Buffer_Number := Buffer_Number'First;
-      Str    : in String);
-   --  AKA: set_field_buffer()
-   --  Not inlined
-
-   --  #1A NAME="AFU_9"#2|
-   procedure Get_Buffer
-     (Fld    : in Field;
-      Buffer : in Buffer_Number := Buffer_Number'First;
-      Str    : out String);
-   --  AKA: field_buffer()
-
-   function Get_Buffer
-     (Fld    : in Field;
-      Buffer : in Buffer_Number := Buffer_Number'First) return String;
-   --  AKA: field_buffer()
-   --  Same but as function
-   pragma Inline (Get_Buffer);
-
-   --  #1A NAME="AFU_10"#2|
-   procedure Set_Status (Fld    : in Field;
-                         Status : in Boolean := True);
-   --  AKA: set_field_status()
-   pragma Inline (Set_Status);
-
-   --  #1A NAME="AFU_11"#2|
-   function Changed (Fld : Field) return Boolean;
-   --  AKA: field_status()
-   pragma Inline (Changed);
-
-   --  #1A NAME="AFU_12"#2|
-   procedure Set_Maximum_Size (Fld : in Field;
-                               Max : in Natural := 0);
-   --  AKA: set_field_max()
-   pragma Inline (Set_Maximum_Size);
-
-   --  |=====================================================================
-   --  | Man page form_field_opts.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_13"#2|
-   procedure Set_Options (Fld     : in Field;
-                          Options : in Field_Option_Set);
-   --  AKA: set_field_opts()
-   --  An overloaded version is defined later. Pragma Inline appears there
-
-   --  #1A NAME="AFU_14"#2|
-   procedure Switch_Options (Fld     : in Field;
-                             Options : in Field_Option_Set;
-                             On      : Boolean := True);
-   --  AKA: field_opts_on()
-   --  AKA: field_opts_off()
-   --  An overloaded version is defined later. Pragma Inline appears there
-
-   --  #1A NAME="AFU_15"#2|
-   procedure Get_Options (Fld     : in  Field;
-                          Options : out Field_Option_Set);
-   --  AKA: field_opts()
-
-   --  #1A NAME="AFU_16"#2|
-   function Get_Options (Fld : Field := Null_Field)
-                         return Field_Option_Set;
-   --  AKA: field_opts()
-   --  An overloaded version is defined later. Pragma Inline appears there
-
-   --  |=====================================================================
-   --  | Man page form_field_attributes.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_17"#2|
-   procedure Set_Foreground
-     (Fld   : in Field;
-      Fore  : in Character_Attribute_Set := Normal_Video;
-      Color : in Color_Pair := Color_Pair'First);
-   --  AKA: set_field_fore()
-   pragma Inline (Set_Foreground);
-
-   --  #1A NAME="AFU_18"#2|
-   procedure Foreground (Fld  : in  Field;
-                         Fore : out Character_Attribute_Set);
-   --  AKA: field_fore()
-
-   --  #1A NAME="AFU_19"#2|
-   procedure Foreground (Fld   : in  Field;
-                         Fore  : out Character_Attribute_Set;
-                         Color : out Color_Pair);
-   --  AKA: field_fore()
-   pragma Inline (Foreground);
-
-   --  #1A NAME="AFU_20"#2|
-   procedure Set_Background
-     (Fld   : in Field;
-      Back  : in Character_Attribute_Set := Normal_Video;
-      Color : in Color_Pair := Color_Pair'First);
-   --  AKA: set_field_back()
-   pragma Inline (Set_Background);
-
-   --  #1A NAME="AFU_21"#2|
-   procedure Background (Fld  : in  Field;
-                         Back : out Character_Attribute_Set);
-   --  AKA: field_back()
-
-   --  #1A NAME="AFU_22"#2|
-   procedure Background (Fld   : in  Field;
-                         Back  : out Character_Attribute_Set;
-                         Color : out Color_Pair);
-   --  AKA: field_back()
-   pragma Inline (Background);
-
-   --  #1A NAME="AFU_23"#2|
-   procedure Set_Pad_Character (Fld : in Field;
-                                Pad : in Character := Space);
-   --  AKA: set_field_pad()
-   pragma Inline (Set_Pad_Character);
-
-   --  #1A NAME="AFU_24"#2|
-   procedure Pad_Character (Fld : in  Field;
-                            Pad : out Character);
-   --  AKA: field_pad()
-   pragma Inline (Pad_Character);
-
-   --  |=====================================================================
-   --  | Man page form_field_info.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_25"#2|
-   procedure Info (Fld                : in  Field;
-                   Lines              : out Line_Count;
-                   Columns            : out Column_Count;
-                   First_Row          : out Line_Position;
-                   First_Column       : out Column_Position;
-                   Off_Screen         : out Natural;
-                   Additional_Buffers : out Buffer_Number);
-   --  AKA: field_info()
-   pragma Inline (Info);
-
-   --  #1A NAME="AFU_26"#2|
-   procedure Dynamic_Info (Fld     : in Field;
-                           Lines   : out Line_Count;
-                           Columns : out Column_Count;
-                           Max     : out Natural);
-   --  AKA: dynamic_field_info()
-   pragma Inline (Dynamic_Info);
-
-   --  |=====================================================================
-   --  | Man page form_win.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_27"#2|
-   procedure Set_Window (Frm : in Form;
-                         Win : in Window);
-   --  AKA: set_form_win()
-   pragma Inline (Set_Window);
-
-   --  #1A NAME="AFU_28"#2|
-   function Get_Window (Frm : Form) return Window;
-   --  AKA: form_win()
-   pragma Inline (Get_Window);
-
-   --  #1A NAME="AFU_29"#2|
-   procedure Set_Sub_Window (Frm : in Form;
-                             Win : in Window);
-   --  AKA: set_form_sub()
-   pragma Inline (Set_Sub_Window);
-
-   --  #1A NAME="AFU_30"#2|
-   function Get_Sub_Window (Frm : Form) return Window;
-   --  AKA: form_sub()
-   pragma Inline (Get_Sub_Window);
-
-   --  #1A NAME="AFU_31"#2|
-   procedure Scale (Frm     : in Form;
-                    Lines   : out Line_Count;
-                    Columns : out Column_Count);
-   --  AKA: scale_form()
-   pragma Inline (Scale);
-
-   --  |=====================================================================
-   --  | Man page form_hook.3x
-   --  |=====================================================================
-
-   type Form_Hook_Function is access procedure (Frm : in Form);
-   pragma Convention (C, Form_Hook_Function);
-
-   --  #1A NAME="AFU_32"#2|
-   procedure Set_Field_Init_Hook (Frm  : in Form;
-                                  Proc : in Form_Hook_Function);
-   --  AKA: set_field_init()
-   pragma Inline (Set_Field_Init_Hook);
-
-   --  #1A NAME="AFU_33"#2|
-   procedure Set_Field_Term_Hook (Frm  : in Form;
-                                  Proc : in Form_Hook_Function);
-   --  AKA: set_field_term()
-   pragma Inline (Set_Field_Term_Hook);
-
-   --  #1A NAME="AFU_34"#2|
-   procedure Set_Form_Init_Hook (Frm  : in Form;
-                                 Proc : in Form_Hook_Function);
-   --  AKA: set_form_init()
-   pragma Inline (Set_Form_Init_Hook);
-
-   --  #1A NAME="AFU_35"#2|
-   procedure Set_Form_Term_Hook (Frm  : in Form;
-                                 Proc : in Form_Hook_Function);
-   --  AKA: set_form_term()
-   pragma Inline (Set_Form_Term_Hook);
-
-   --  #1A NAME="AFU_36"#2|
-   function Get_Field_Init_Hook (Frm : Form) return Form_Hook_Function;
-   --  AKA: field_init()
-   pragma Import (C, Get_Field_Init_Hook, "field_init");
-
-   --  #1A NAME="AFU_37"#2|
-   function Get_Field_Term_Hook (Frm : Form) return Form_Hook_Function;
-   --  AKA: field_term()
-   pragma Import (C, Get_Field_Term_Hook, "field_term");
-
-   --  #1A NAME="AFU_38"#2|
-   function Get_Form_Init_Hook (Frm : Form) return Form_Hook_Function;
-   --  AKA: form_init()
-   pragma Import (C, Get_Form_Init_Hook, "form_init");
-
-   --  #1A NAME="AFU_39"#2|
-   function Get_Form_Term_Hook (Frm : Form) return Form_Hook_Function;
-   --  AKA: form_term()
-   pragma Import (C, Get_Form_Term_Hook, "form_term");
-
-   --  |=====================================================================
-   --  | Man page form_field.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_40"#2|
-   procedure Redefine (Frm  : in Form;
-                       Flds : in Field_Array_Access);
-   --  AKA: set_form_fields()
-   pragma Inline (Redefine);
-
-   --  #1A NAME="AFU_41"#2|
-   procedure Set_Fields (Frm  : in Form;
-                         Flds : in Field_Array_Access) renames Redefine;
-   --  AKA: set_form_fields()
-   pragma Inline (Set_Fields);
-
-   --  #1A NAME="AFU_42"#2|
-   function Fields (Frm   : Form;
-                    Index : Positive) return Field;
-   --  AKA: form_fields()
-   pragma Inline (Fields);
-
-   --  #1A NAME="AFU_43"#2|
-   function Field_Count (Frm : Form) return Natural;
-   --  AKA: field_count()
-   pragma Inline (Field_Count);
-
-   --  #1A NAME="AFU_44"#2|
-   procedure Move (Fld    : in Field;
-                   Line   : in Line_Position;
-                   Column : in Column_Position);
-   --  AKA: move_field()
-   pragma Inline (Move);
-
-   --  |=====================================================================
-   --  | Man page form_new.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_45"#2|
-   function Create (Fields : Field_Array_Access) return Form;
-   --  AKA: new_form()
-   pragma Inline (Create);
-
-   --  #1A NAME="AFU_46"#2|
-   function New_Form (Fields : Field_Array_Access) return Form
-     renames Create;
-   --  AKA: new_form()
-   pragma Inline (New_Form);
-
-   --  #1A NAME="AFU_47"#2|
-   procedure Delete (Frm : in out Form);
-   --  AKA: free_form()
-   --  Reset Frm to Null_Form
-   pragma Inline (Delete);
-
-   --  |=====================================================================
-   --  | Man page form_opts.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_48"#2|
-   procedure Set_Options (Frm     : in Form;
-                          Options : in Form_Option_Set);
-   --  AKA: set_form_opts()
-   pragma Inline (Set_Options);
-
-   --  #1A NAME="AFU_49"#2|
-   procedure Switch_Options (Frm     : in Form;
-                             Options : in Form_Option_Set;
-                             On      : Boolean := True);
-   --  AKA: form_opts_on()
-   --  AKA: form_opts_off()
-   pragma Inline (Switch_Options);
-
-   --  #1A NAME="AFU_50"#2|
-   procedure Get_Options (Frm     : in  Form;
-                          Options : out Form_Option_Set);
-   --  AKA: form_opts()
-
-   --  #1A NAME="AFU_51"#2|
-   function Get_Options (Frm : Form := Null_Form) return Form_Option_Set;
-   --  AKA: form_opts()
-   pragma Inline (Get_Options);
-
-   --  |=====================================================================
-   --  | Man page form_post.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_52"#2|
-   procedure Post (Frm  : in Form;
-                   Post : in Boolean := True);
-   --  AKA: post_form()
-   --  AKA: unpost_form()
-   pragma Inline (Post);
-
-   --  |=====================================================================
-   --  | Man page form_cursor.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_53"#2|
-   procedure Position_Cursor (Frm : Form);
-   --  AKA: pos_form_cursor()
-   pragma Inline (Position_Cursor);
-
-   --  |=====================================================================
-   --  | Man page form_data.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_54"#2|
-   function Data_Ahead (Frm : Form) return Boolean;
-   --  AKA: data_ahead()
-   pragma Inline (Data_Ahead);
-
-   --  #1A NAME="AFU_55"#2|
-   function Data_Behind (Frm : Form) return Boolean;
-   --  AKA: data_behind()
-   pragma Inline (Data_Behind);
-
-   --  |=====================================================================
-   --  | Man page form_driver.3x
-   --  |=====================================================================
-
-   type Driver_Result is (Form_Ok,
-                          Request_Denied,
-                          Unknown_Request,
-                          Invalid_Field);
-
-   --  #1A NAME="AFU_56"#2|
-   function Driver (Frm : Form;
-                    Key : Key_Code) return Driver_Result;
-   --  AKA: form_driver()
-   --  Driver not inlined
-
-   --  |=====================================================================
-   --  | Man page form_page.3x
-   --  |=====================================================================
-
-   type Page_Number is new Natural;
-
-   --  #1A NAME="AFU_57"#2|
-   procedure Set_Current (Frm : in Form;
-                          Fld : in Field);
-   --  AKA: set_current_field()
-   pragma Inline (Set_Current);
-
-   --  #1A NAME="AFU_58"#2|
-   function Current (Frm : in Form) return Field;
-   --  AKA: current_field()
-   pragma Inline (Current);
-
-   --  #1A NAME="AFU_59"#2|
-   procedure Set_Page (Frm  : in Form;
-                       Page : in Page_Number := Page_Number'First);
-   --  AKA: set_form_page()
-   pragma Inline (Set_Page);
-
-   --  #1A NAME="AFU_60"#2|
-   function Page (Frm : Form) return Page_Number;
-   --  AKA: form_page()
-   pragma Inline (Page);
-
-   --  #1A NAME="AFU_61"#2|
-   function Get_Index (Fld : Field) return Positive;
-   --  AKA: field_index()
-   --  Please note that in this binding we start the numbering of fields
-   --  with 1. So this is number is one more than you get from the low
-   --  level call.
-   pragma Inline (Get_Index);
-
-   --  |=====================================================================
-   --  | Man page form_new_page.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_62"#2|
-   procedure Set_New_Page (Fld      : in Field;
-                           New_Page : in Boolean := True);
-   --  AKA: set_new_page()
-   pragma Inline (Set_New_Page);
-
-   --  #1A NAME="AFU_63"#2|
-   function Is_New_Page (Fld : Field) return Boolean;
-   --  AKA: new_page()
-   pragma Inline (Is_New_Page);
-
-   --  |=====================================================================
-   --  | Man page form_requestname.3x
-   --  |=====================================================================
-   --  Not Implemented: form_request_name, form_request_by_name
-
-------------------------------------------------------------------------------
-private
-   type Field is new System.Storage_Elements.Integer_Address;
-   type Form  is new System.Storage_Elements.Integer_Address;
-
-   Null_Field : constant Field := 0;
-   Null_Form  : constant Form  := 0;
-
-end Terminal_Interface.Curses.Forms;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm deleted file mode 100644 index 6e6f93abe7..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm +++ /dev/null @@ -1,83 +0,0 @@ - -terminal_interface-curses-menus-item_user_data.adb - -

File : terminal_interface-curses-menus-item_user_data.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---               Terminal_Interface.Curses.Menus.Item_User_Data             --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Interfaces.C;
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-
-package body Terminal_Interface.Curses.Menus.Item_User_Data is
-
-   use type Interfaces.C.int;
-
-   procedure Set_User_Data (Itm  : in Item;
-                            Data : in User_Access)
-   is
-      function Set_Item_Userptr (Itm  : Item;
-                                 Addr : User_Access)  return C_Int;
-      pragma Import (C, Set_Item_Userptr, "set_item_userptr");
-
-      Res : constant Eti_Error := Set_Item_Userptr (Itm, Data);
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_User_Data;
-
-   function Get_User_Data (Itm  : in  Item) return User_Access
-   is
-      function Item_Userptr (Itm : Item) return User_Access;
-      pragma Import (C, Item_Userptr, "item_userptr");
-   begin
-      return Item_Userptr (Itm);
-   end Get_User_Data;
-
-   procedure Get_User_Data (Itm  : in  Item;
-                            Data : out User_Access)
-   is
-   begin
-      Data := Get_User_Data (Itm);
-   end Get_User_Data;
-
-end Terminal_Interface.Curses.Menus.Item_User_Data;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm deleted file mode 100644 index dc1dad5591..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm +++ /dev/null @@ -1,81 +0,0 @@ - -terminal_interface-curses-menus-item_user_data.ads - -

File : terminal_interface-curses-menus-item_user_data.ads


-
-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---               Terminal_Interface.Curses.Menus.Item_User_Data             --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.14 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-
-generic
-   type User is limited private;
-   type User_Access is access User;
-package Terminal_Interface.Curses.Menus.Item_User_Data is
-   pragma Preelaborate (Terminal_Interface.Curses.Menus.Item_User_Data);
-
-   --  The binding uses the same user pointer for menu items
-   --  as the low level C implementation. So you can safely
-   --  read or write the user pointer also with the C routines
-   --
-   --  |=====================================================================
-   --  | Man page mitem_userptr.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_1"#2|
-   procedure Set_User_Data (Itm  : in Item;
-                            Data : in User_Access);
-   --  AKA: set_item_userptr
-   pragma Inline (Set_User_Data);
-
-   --  #1A NAME="AFU_2"#2|
-   procedure Get_User_Data (Itm  : in  Item;
-                            Data : out User_Access);
-   --  AKA: item_userptr
-
-   --  #1A NAME="AFU_3"#2|
-   function Get_User_Data (Itm  : in  Item) return User_Access;
-   --  AKA: item_userptr
-   --  Same as function
-   pragma Inline (Get_User_Data);
-
-end Terminal_Interface.Curses.Menus.Item_User_Data;
-
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm deleted file mode 100644 index 77d45a7207..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm +++ /dev/null @@ -1,82 +0,0 @@ - -terminal_interface-curses-menus-menu_user_data.adb - -

File : terminal_interface-curses-menus-menu_user_data.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---               Terminal_Interface.Curses.Menus.Menu_User_Data             --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.12 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-
-package body Terminal_Interface.Curses.Menus.Menu_User_Data is
-
-   use type Interfaces.C.int;
-
-   procedure Set_User_Data (Men  : in Menu;
-                            Data : in User_Access)
-   is
-      function Set_Menu_Userptr (Men  : Menu;
-                                 Data : User_Access)  return C_Int;
-      pragma Import (C, Set_Menu_Userptr, "set_menu_userptr");
-
-      Res : constant Eti_Error := Set_Menu_Userptr (Men, Data);
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_User_Data;
-
-   function Get_User_Data (Men  : in  Menu) return User_Access
-   is
-      function Menu_Userptr (Men : Menu) return User_Access;
-      pragma Import (C, Menu_Userptr, "menu_userptr");
-   begin
-      return Menu_Userptr (Men);
-   end Get_User_Data;
-
-   procedure Get_User_Data (Men  : in  Menu;
-                            Data : out User_Access)
-   is
-   begin
-      Data := Get_User_Data (Men);
-   end Get_User_Data;
-
-end Terminal_Interface.Curses.Menus.Menu_User_Data;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm deleted file mode 100644 index 8eb56535df..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm +++ /dev/null @@ -1,76 +0,0 @@ - -terminal_interface-curses-menus-menu_user_data.ads - -

File : terminal_interface-curses-menus-menu_user_data.ads


-
-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---               Terminal_Interface.Curses.Menus.Menu_User_Data             --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.14 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-
-generic
-   type User is limited private;
-   type User_Access is access User;
-package Terminal_Interface.Curses.Menus.Menu_User_Data is
-   pragma Preelaborate (Terminal_Interface.Curses.Menus.Menu_User_Data);
-
-   --  |=====================================================================
-   --  | Man page menu_userptr.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_1"#2|
-   procedure Set_User_Data (Men  : in Menu;
-                            Data : in User_Access);
-   --  AKA: set_menu_userptr
-   pragma Inline (Set_User_Data);
-
-   --  #1A NAME="AFU_2"#2|
-   procedure Get_User_Data (Men  : in  Menu;
-                            Data : out User_Access);
-   --  AKA: menu_userptr
-
-   --  #1A NAME="AFU_3"#2|
-   function Get_User_Data (Men  : in  Menu) return User_Access;
-   --  AKA: menu_userptr
-   --  Same as function
-   pragma Inline (Get_User_Data);
-
-end Terminal_Interface.Curses.Menus.Menu_User_Data;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus__adb.htm deleted file mode 100644 index 428f57dc58..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus__adb.htm +++ /dev/null @@ -1,1028 +0,0 @@ - -terminal_interface-curses-menus.adb - -

File : terminal_interface-curses-menus.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                      Terminal_Interface.Curses.Menus                     --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998,2004 Free Software Foundation, Inc.                   --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.25 @
---  @Date: 2004/08/21 21:37:00 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Ada.Unchecked_Deallocation;
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-
-with Interfaces.C; use Interfaces.C;
-with Interfaces.C.Strings; use Interfaces.C.Strings;
-with Interfaces.C.Pointers;
-
-with Ada.Unchecked_Conversion;
-
-package body Terminal_Interface.Curses.Menus is
-
-   type C_Item_Array is array (Natural range <>) of aliased Item;
-   package I_Array is new
-     Interfaces.C.Pointers (Natural, Item, C_Item_Array, Null_Item);
-
-   use type System.Bit_Order;
-   subtype chars_ptr is Interfaces.C.Strings.chars_ptr;
-
-   function MOS_2_CInt is new
-     Ada.Unchecked_Conversion (Menu_Option_Set,
-                               C_Int);
-
-   function CInt_2_MOS is new
-     Ada.Unchecked_Conversion (C_Int,
-                               Menu_Option_Set);
-
-   function IOS_2_CInt is new
-     Ada.Unchecked_Conversion (Item_Option_Set,
-                               C_Int);
-
-   function CInt_2_IOS is new
-     Ada.Unchecked_Conversion (C_Int,
-                               Item_Option_Set);
-
-------------------------------------------------------------------------------
-   procedure Request_Name (Key  : in Menu_Request_Code;
-                           Name : out String)
-   is
-      function Request_Name (Key : C_Int) return chars_ptr;
-      pragma Import (C, Request_Name, "menu_request_name");
-   begin
-      Fill_String (Request_Name (C_Int (Key)), Name);
-   end Request_Name;
-
-   function Request_Name (Key : Menu_Request_Code) return String
-   is
-      function Request_Name (Key : C_Int) return chars_ptr;
-      pragma Import (C, Request_Name, "menu_request_name");
-   begin
-      return Fill_String (Request_Name (C_Int (Key)));
-   end Request_Name;
-
-   function Create (Name        : String;
-                    Description : String := "") return Item
-   is
-      type Char_Ptr is access all Interfaces.C.char;
-      function Newitem (Name, Desc : Char_Ptr) return Item;
-      pragma Import (C, Newitem, "new_item");
-
-      type Name_String is new char_array (0 .. Name'Length);
-      type Name_String_Ptr is access Name_String;
-      pragma Controlled (Name_String_Ptr);
-
-      type Desc_String is new char_array (0 .. Description'Length);
-      type Desc_String_Ptr is access Desc_String;
-      pragma Controlled (Desc_String_Ptr);
-
-      Name_Str : constant Name_String_Ptr := new Name_String;
-      Desc_Str : constant Desc_String_Ptr := new Desc_String;
-      Name_Len, Desc_Len : size_t;
-      Result : Item;
-   begin
-      To_C (Name, Name_Str.all, Name_Len);
-      To_C (Description, Desc_Str.all, Desc_Len);
-      Result := Newitem (Name_Str.all (Name_Str.all'First)'Access,
-                         Desc_Str.all (Desc_Str.all'First)'Access);
-      if Result = Null_Item then
-         raise Eti_System_Error;
-      end if;
-      return Result;
-   end Create;
-
-   procedure Delete (Itm : in out Item)
-   is
-      function Descname (Itm  : Item) return chars_ptr;
-      pragma Import (C, Descname, "item_description");
-      function Itemname (Itm  : Item) return chars_ptr;
-      pragma Import (C, Itemname, "item_name");
-
-      function Freeitem (Itm : Item) return C_Int;
-      pragma Import (C, Freeitem, "free_item");
-
-      Res : Eti_Error;
-      Ptr : chars_ptr;
-   begin
-      Ptr := Descname (Itm);
-      if Ptr /= Null_Ptr then
-         Interfaces.C.Strings.Free (Ptr);
-      end if;
-      Ptr := Itemname (Itm);
-      if Ptr /= Null_Ptr then
-         Interfaces.C.Strings.Free (Ptr);
-      end if;
-      Res := Freeitem (Itm);
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-      Itm := Null_Item;
-   end Delete;
--------------------------------------------------------------------------------
-   procedure Set_Value (Itm   : in Item;
-                        Value : in Boolean := True)
-   is
-      function Set_Item_Val (Itm : Item;
-                             Val : C_Int) return C_Int;
-      pragma Import (C, Set_Item_Val, "set_item_value");
-
-      Res : constant Eti_Error := Set_Item_Val (Itm, Boolean'Pos (Value));
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Value;
-
-   function Value (Itm : Item) return Boolean
-   is
-      function Item_Val (Itm : Item) return C_Int;
-      pragma Import (C, Item_Val, "item_value");
-   begin
-      if Item_Val (Itm) = Curses_False then
-         return False;
-      else
-         return True;
-      end if;
-   end Value;
-
--------------------------------------------------------------------------------
-   function Visible (Itm : Item) return Boolean
-   is
-      function Item_Vis (Itm : Item) return C_Int;
-      pragma Import (C, Item_Vis, "item_visible");
-   begin
-      if Item_Vis (Itm) = Curses_False then
-         return False;
-      else
-         return True;
-      end if;
-   end Visible;
--------------------------------------------------------------------------------
-   procedure Set_Options (Itm     : in Item;
-                          Options : in Item_Option_Set)
-   is
-      function Set_Item_Opts (Itm : Item;
-                              Opt : C_Int) return C_Int;
-      pragma Import (C, Set_Item_Opts, "set_item_opts");
-
-      Opt : constant C_Int := IOS_2_CInt (Options);
-      Res : Eti_Error;
-   begin
-      Res := Set_Item_Opts (Itm, Opt);
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Options;
-
-   procedure Switch_Options (Itm     : in Item;
-                             Options : in Item_Option_Set;
-                             On      : Boolean := True)
-   is
-      function Item_Opts_On (Itm : Item;
-                             Opt : C_Int) return C_Int;
-      pragma Import (C, Item_Opts_On, "item_opts_on");
-      function Item_Opts_Off (Itm : Item;
-                              Opt : C_Int) return C_Int;
-      pragma Import (C, Item_Opts_Off, "item_opts_off");
-
-      Opt : constant C_Int := IOS_2_CInt (Options);
-      Err : Eti_Error;
-   begin
-      if On then
-         Err := Item_Opts_On (Itm, Opt);
-      else
-         Err := Item_Opts_Off (Itm, Opt);
-      end if;
-      if Err /= E_Ok then
-         Eti_Exception (Err);
-      end if;
-   end Switch_Options;
-
-   procedure Get_Options (Itm     : in  Item;
-                          Options : out Item_Option_Set)
-   is
-      function Item_Opts (Itm : Item) return C_Int;
-      pragma Import (C, Item_Opts, "item_opts");
-
-      Res : constant C_Int := Item_Opts (Itm);
-   begin
-      Options := CInt_2_IOS (Res);
-   end Get_Options;
-
-   function Get_Options (Itm : Item := Null_Item) return Item_Option_Set
-   is
-      Ios : Item_Option_Set;
-   begin
-      Get_Options (Itm, Ios);
-      return Ios;
-   end Get_Options;
--------------------------------------------------------------------------------
-   procedure Name (Itm  : in Item;
-                   Name : out String)
-   is
-      function Itemname (Itm : Item) return chars_ptr;
-      pragma Import (C, Itemname, "item_name");
-   begin
-      Fill_String (Itemname (Itm), Name);
-   end Name;
-
-   function Name (Itm : in Item) return String
-   is
-      function Itemname (Itm : Item) return chars_ptr;
-      pragma Import (C, Itemname, "item_name");
-   begin
-      return Fill_String (Itemname (Itm));
-   end Name;
-
-   procedure Description (Itm         : in Item;
-                          Description : out String)
-   is
-      function Descname (Itm  : Item) return chars_ptr;
-      pragma Import (C, Descname, "item_description");
-   begin
-      Fill_String (Descname (Itm), Description);
-   end Description;
-
-   function Description (Itm : in Item) return String
-   is
-      function Descname (Itm  : Item) return chars_ptr;
-      pragma Import (C, Descname, "item_description");
-   begin
-      return Fill_String (Descname (Itm));
-   end Description;
--------------------------------------------------------------------------------
-   procedure Set_Current (Men : in Menu;
-                          Itm : in Item)
-   is
-      function Set_Curr_Item (Men : Menu;
-                              Itm : Item) return C_Int;
-      pragma Import (C, Set_Curr_Item, "set_current_item");
-
-      Res : constant Eti_Error := Set_Curr_Item (Men, Itm);
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Current;
-
-   function Current (Men : Menu) return Item
-   is
-      function Curr_Item (Men : Menu) return Item;
-      pragma Import (C, Curr_Item, "current_item");
-
-      Res : constant Item := Curr_Item (Men);
-   begin
-      if Res = Null_Item then
-         raise Menu_Exception;
-      end if;
-      return Res;
-   end Current;
-
-   procedure Set_Top_Row (Men  : in Menu;
-                          Line : in Line_Position)
-   is
-      function Set_Toprow (Men  : Menu;
-                           Line : C_Int) return C_Int;
-      pragma Import (C, Set_Toprow, "set_top_row");
-
-      Res : constant Eti_Error := Set_Toprow (Men, C_Int (Line));
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Top_Row;
-
-   function Top_Row (Men : Menu) return Line_Position
-   is
-      function Toprow (Men : Menu) return C_Int;
-      pragma Import (C, Toprow, "top_row");
-
-      Res : constant C_Int := Toprow (Men);
-   begin
-      if Res = Curses_Err then
-         raise Menu_Exception;
-      end if;
-      return Line_Position (Res);
-   end Top_Row;
-
-   function Get_Index (Itm : Item) return Positive
-   is
-      function Get_Itemindex (Itm : Item) return C_Int;
-      pragma Import (C, Get_Itemindex, "item_index");
-
-      Res : constant C_Int := Get_Itemindex (Itm);
-   begin
-      if Res = Curses_Err then
-         raise Menu_Exception;
-      end if;
-      return Positive (Natural (Res) + Positive'First);
-   end Get_Index;
--------------------------------------------------------------------------------
-   procedure Post (Men  : in Menu;
-                   Post : in Boolean := True)
-   is
-      function M_Post (Men : Menu) return C_Int;
-      pragma Import (C, M_Post, "post_menu");
-      function M_Unpost (Men : Menu) return C_Int;
-      pragma Import (C, M_Unpost, "unpost_menu");
-
-      Res : Eti_Error;
-   begin
-      if Post then
-         Res := M_Post (Men);
-      else
-         Res := M_Unpost (Men);
-      end if;
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Post;
--------------------------------------------------------------------------------
-   procedure Set_Options (Men     : in Menu;
-                          Options : in Menu_Option_Set)
-   is
-      function Set_Menu_Opts (Men : Menu;
-                              Opt : C_Int) return C_Int;
-      pragma Import (C, Set_Menu_Opts, "set_menu_opts");
-
-      Opt : constant C_Int := MOS_2_CInt (Options);
-      Res : Eti_Error;
-   begin
-      Res := Set_Menu_Opts (Men, Opt);
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Options;
-
-   procedure Switch_Options (Men     : in Menu;
-                             Options : in Menu_Option_Set;
-                             On      : in Boolean := True)
-   is
-      function Menu_Opts_On (Men : Menu;
-                             Opt : C_Int) return C_Int;
-      pragma Import (C, Menu_Opts_On, "menu_opts_on");
-      function Menu_Opts_Off (Men : Menu;
-                              Opt : C_Int) return C_Int;
-      pragma Import (C, Menu_Opts_Off, "menu_opts_off");
-
-      Opt : constant C_Int := MOS_2_CInt (Options);
-      Err : Eti_Error;
-   begin
-      if On then
-         Err := Menu_Opts_On  (Men, Opt);
-      else
-         Err := Menu_Opts_Off (Men, Opt);
-      end if;
-      if Err /= E_Ok then
-         Eti_Exception (Err);
-      end if;
-   end Switch_Options;
-
-   procedure Get_Options (Men     : in  Menu;
-                               Options : out Menu_Option_Set)
-   is
-      function Menu_Opts (Men : Menu) return C_Int;
-      pragma Import (C, Menu_Opts, "menu_opts");
-
-      Res : constant C_Int := Menu_Opts (Men);
-   begin
-      Options := CInt_2_MOS (Res);
-   end Get_Options;
-
-   function Get_Options (Men : Menu := Null_Menu) return Menu_Option_Set
-   is
-      Mos : Menu_Option_Set;
-   begin
-      Get_Options (Men, Mos);
-      return Mos;
-   end Get_Options;
--------------------------------------------------------------------------------
-   procedure Set_Window (Men : in Menu;
-                         Win : in Window)
-   is
-      function Set_Menu_Win (Men : Menu;
-                             Win : Window) return C_Int;
-      pragma Import (C, Set_Menu_Win, "set_menu_win");
-
-      Res : constant Eti_Error := Set_Menu_Win (Men, Win);
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Window;
-
-   function Get_Window (Men : Menu) return Window
-   is
-      function Menu_Win (Men : Menu) return Window;
-      pragma Import (C, Menu_Win, "menu_win");
-
-      W : constant Window := Menu_Win (Men);
-   begin
-      return W;
-   end Get_Window;
-
-   procedure Set_Sub_Window (Men : in Menu;
-                             Win : in Window)
-   is
-      function Set_Menu_Sub (Men : Menu;
-                             Win : Window) return C_Int;
-      pragma Import (C, Set_Menu_Sub, "set_menu_sub");
-
-      Res : constant Eti_Error := Set_Menu_Sub (Men, Win);
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Sub_Window;
-
-   function Get_Sub_Window (Men : Menu) return Window
-   is
-      function Menu_Sub (Men : Menu) return Window;
-      pragma Import (C, Menu_Sub, "menu_sub");
-
-      W : constant Window := Menu_Sub (Men);
-   begin
-      return W;
-   end Get_Sub_Window;
-
-   procedure Scale (Men     : in Menu;
-                    Lines   : out Line_Count;
-                    Columns : out Column_Count)
-   is
-      type C_Int_Access is access all C_Int;
-      function M_Scale (Men    : Menu;
-                        Yp, Xp : C_Int_Access) return C_Int;
-      pragma Import (C, M_Scale, "scale_menu");
-
-      X, Y : aliased C_Int;
-      Res  : constant Eti_Error := M_Scale (Men, Y'Access, X'Access);
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-      Lines := Line_Count (Y);
-      Columns := Column_Count (X);
-   end Scale;
--------------------------------------------------------------------------------
-   procedure Position_Cursor (Men : Menu)
-   is
-      function Pos_Menu_Cursor (Men : Menu) return C_Int;
-      pragma Import (C, Pos_Menu_Cursor, "pos_menu_cursor");
-
-      Res : constant Eti_Error := Pos_Menu_Cursor (Men);
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Position_Cursor;
-
--------------------------------------------------------------------------------
-   procedure Set_Mark (Men  : in Menu;
-                       Mark : in String)
-   is
-      type Char_Ptr is access all Interfaces.C.char;
-      function Set_Mark (Men  : Menu;
-                         Mark : Char_Ptr) return C_Int;
-      pragma Import (C, Set_Mark, "set_menu_mark");
-
-      Txt : char_array (0 .. Mark'Length);
-      Len : size_t;
-      Res : Eti_Error;
-   begin
-      To_C (Mark, Txt, Len);
-      Res := Set_Mark (Men, Txt (Txt'First)'Access);
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Mark;
-
-   procedure Mark (Men  : in  Menu;
-                   Mark : out String)
-   is
-      function Get_Menu_Mark (Men : Menu) return chars_ptr;
-      pragma Import (C, Get_Menu_Mark, "menu_mark");
-   begin
-      Fill_String (Get_Menu_Mark (Men), Mark);
-   end Mark;
-
-   function Mark (Men : Menu) return String
-   is
-      function Get_Menu_Mark (Men : Menu) return chars_ptr;
-      pragma Import (C, Get_Menu_Mark, "menu_mark");
-   begin
-      return Fill_String (Get_Menu_Mark (Men));
-   end Mark;
-
--------------------------------------------------------------------------------
-   procedure Set_Foreground
-     (Men   : in Menu;
-      Fore  : in Character_Attribute_Set := Normal_Video;
-      Color : in Color_Pair := Color_Pair'First)
-   is
-      function Set_Menu_Fore (Men  : Menu;
-                              Attr : C_Chtype) return C_Int;
-      pragma Import (C, Set_Menu_Fore, "set_menu_fore");
-
-      Ch : constant Attributed_Character := (Ch    => Character'First,
-                                             Color => Color,
-                                             Attr  => Fore);
-      Res : constant Eti_Error := Set_Menu_Fore (Men, AttrChar_To_Chtype (Ch));
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Foreground;
-
-   procedure Foreground (Men  : in  Menu;
-                         Fore : out Character_Attribute_Set)
-   is
-      function Menu_Fore (Men : Menu) return C_Chtype;
-      pragma Import (C, Menu_Fore, "menu_fore");
-   begin
-      Fore := Chtype_To_AttrChar (Menu_Fore (Men)).Attr;
-   end Foreground;
-
-   procedure Foreground (Men   : in  Menu;
-                         Fore  : out Character_Attribute_Set;
-                         Color : out Color_Pair)
-   is
-      function Menu_Fore (Men : Menu) return C_Chtype;
-      pragma Import (C, Menu_Fore, "menu_fore");
-   begin
-      Fore  := Chtype_To_AttrChar (Menu_Fore (Men)).Attr;
-      Color := Chtype_To_AttrChar (Menu_Fore (Men)).Color;
-   end Foreground;
-
-   procedure Set_Background
-     (Men   : in Menu;
-      Back  : in Character_Attribute_Set := Normal_Video;
-      Color : in Color_Pair := Color_Pair'First)
-   is
-      function Set_Menu_Back (Men  : Menu;
-                              Attr : C_Chtype) return C_Int;
-      pragma Import (C, Set_Menu_Back, "set_menu_back");
-
-      Ch : constant Attributed_Character := (Ch    => Character'First,
-                                             Color => Color,
-                                             Attr  => Back);
-      Res : constant Eti_Error := Set_Menu_Back (Men, AttrChar_To_Chtype (Ch));
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Background;
-
-   procedure Background (Men  : in  Menu;
-                         Back : out Character_Attribute_Set)
-   is
-      function Menu_Back (Men : Menu) return C_Chtype;
-      pragma Import (C, Menu_Back, "menu_back");
-   begin
-      Back := Chtype_To_AttrChar (Menu_Back (Men)).Attr;
-   end Background;
-
-   procedure Background (Men   : in  Menu;
-                         Back  : out Character_Attribute_Set;
-                         Color : out Color_Pair)
-   is
-      function Menu_Back (Men : Menu) return C_Chtype;
-      pragma Import (C, Menu_Back, "menu_back");
-   begin
-      Back  := Chtype_To_AttrChar (Menu_Back (Men)).Attr;
-      Color := Chtype_To_AttrChar (Menu_Back (Men)).Color;
-   end Background;
-
-   procedure Set_Grey (Men   : in Menu;
-                       Grey  : in Character_Attribute_Set := Normal_Video;
-                       Color : in Color_Pair := Color_Pair'First)
-   is
-      function Set_Menu_Grey (Men  : Menu;
-                              Attr : C_Chtype) return C_Int;
-      pragma Import (C, Set_Menu_Grey, "set_menu_grey");
-
-      Ch : constant Attributed_Character := (Ch    => Character'First,
-                                             Color => Color,
-                                             Attr  => Grey);
-
-      Res : constant Eti_Error := Set_Menu_Grey (Men, AttrChar_To_Chtype (Ch));
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Grey;
-
-   procedure Grey (Men  : in  Menu;
-                   Grey : out Character_Attribute_Set)
-   is
-      function Menu_Grey (Men : Menu) return C_Chtype;
-      pragma Import (C, Menu_Grey, "menu_grey");
-   begin
-      Grey := Chtype_To_AttrChar (Menu_Grey (Men)).Attr;
-   end Grey;
-
-   procedure Grey (Men  : in  Menu;
-                   Grey : out Character_Attribute_Set;
-                   Color : out Color_Pair)
-   is
-      function Menu_Grey (Men : Menu) return C_Chtype;
-      pragma Import (C, Menu_Grey, "menu_grey");
-   begin
-      Grey  := Chtype_To_AttrChar (Menu_Grey (Men)).Attr;
-      Color := Chtype_To_AttrChar (Menu_Grey (Men)).Color;
-   end Grey;
-
-   procedure Set_Pad_Character (Men : in Menu;
-                                Pad : in Character := Space)
-   is
-      function Set_Menu_Pad (Men : Menu;
-                             Ch  : C_Int) return C_Int;
-      pragma Import (C, Set_Menu_Pad, "set_menu_pad");
-
-      Res : constant Eti_Error := Set_Menu_Pad (Men,
-                                                C_Int (Character'Pos (Pad)));
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Pad_Character;
-
-   procedure Pad_Character (Men : in  Menu;
-                            Pad : out Character)
-   is
-      function Menu_Pad (Men : Menu) return C_Int;
-      pragma Import (C, Menu_Pad, "menu_pad");
-   begin
-      Pad := Character'Val (Menu_Pad (Men));
-   end Pad_Character;
--------------------------------------------------------------------------------
-   procedure Set_Spacing (Men   : in Menu;
-                          Descr : in Column_Position := 0;
-                          Row   : in Line_Position   := 0;
-                          Col   : in Column_Position := 0)
-   is
-      function Set_Spacing (Men     : Menu;
-                            D, R, C : C_Int) return C_Int;
-      pragma Import (C, Set_Spacing, "set_menu_spacing");
-
-      Res : constant Eti_Error := Set_Spacing (Men,
-                                               C_Int (Descr),
-                                               C_Int (Row),
-                                               C_Int (Col));
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Spacing;
-
-   procedure Spacing (Men   : in Menu;
-                      Descr : out Column_Position;
-                      Row   : out Line_Position;
-                      Col   : out Column_Position)
-   is
-      type C_Int_Access is access all C_Int;
-      function Get_Spacing (Men     : Menu;
-                            D, R, C : C_Int_Access) return C_Int;
-      pragma Import (C, Get_Spacing, "menu_spacing");
-
-      D, R, C : aliased C_Int;
-      Res : constant Eti_Error := Get_Spacing (Men,
-                                               D'Access,
-                                               R'Access,
-                                               C'Access);
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      else
-         Descr := Column_Position (D);
-         Row   := Line_Position (R);
-         Col   := Column_Position (C);
-      end if;
-   end Spacing;
--------------------------------------------------------------------------------
-   function Set_Pattern (Men  : Menu;
-                         Text : String) return Boolean
-   is
-      type Char_Ptr is access all Interfaces.C.char;
-      function Set_Pattern (Men     : Menu;
-                            Pattern : Char_Ptr) return C_Int;
-      pragma Import (C, Set_Pattern, "set_menu_pattern");
-
-      S   : char_array (0 .. Text'Length);
-      L   : size_t;
-      Res : Eti_Error;
-   begin
-      To_C (Text, S, L);
-      Res := Set_Pattern (Men, S (S'First)'Access);
-      case Res is
-         when E_No_Match => return False;
-         when E_Ok       => return True;
-         when others =>
-            Eti_Exception (Res);
-            return False;
-      end case;
-   end Set_Pattern;
-
-   procedure Pattern (Men  : in  Menu;
-                      Text : out String)
-   is
-      function Get_Pattern (Men : Menu) return chars_ptr;
-      pragma Import (C, Get_Pattern, "menu_pattern");
-   begin
-      Fill_String (Get_Pattern (Men), Text);
-   end Pattern;
--------------------------------------------------------------------------------
-   procedure Set_Format (Men     : in Menu;
-                         Lines   : in Line_Count;
-                         Columns : in Column_Count)
-   is
-      function Set_Menu_Fmt (Men : Menu;
-                             Lin : C_Int;
-                             Col : C_Int) return C_Int;
-      pragma Import (C, Set_Menu_Fmt, "set_menu_format");
-
-      Res : constant Eti_Error := Set_Menu_Fmt (Men,
-                                                C_Int (Lines),
-                                                C_Int (Columns));
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Format;
-
-   procedure Format (Men     : in  Menu;
-                     Lines   : out Line_Count;
-                     Columns : out Column_Count)
-   is
-      type C_Int_Access is access all C_Int;
-      function Menu_Fmt (Men  : Menu;
-                         Y, X : C_Int_Access) return C_Int;
-      pragma Import (C, Menu_Fmt, "menu_format");
-
-      L, C : aliased C_Int;
-      Res  : constant Eti_Error := Menu_Fmt (Men, L'Access, C'Access);
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      else
-         Lines   := Line_Count (L);
-         Columns := Column_Count (C);
-      end if;
-   end Format;
--------------------------------------------------------------------------------
-   procedure Set_Item_Init_Hook (Men  : in Menu;
-                                 Proc : in Menu_Hook_Function)
-   is
-      function Set_Item_Init (Men  : Menu;
-                              Proc : Menu_Hook_Function) return C_Int;
-      pragma Import (C, Set_Item_Init, "set_item_init");
-
-      Res : constant Eti_Error := Set_Item_Init (Men, Proc);
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Item_Init_Hook;
-
-   procedure Set_Item_Term_Hook (Men  : in Menu;
-                                 Proc : in Menu_Hook_Function)
-   is
-      function Set_Item_Term (Men  : Menu;
-                              Proc : Menu_Hook_Function) return C_Int;
-      pragma Import (C, Set_Item_Term, "set_item_term");
-
-      Res : constant Eti_Error := Set_Item_Term (Men, Proc);
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Item_Term_Hook;
-
-   procedure Set_Menu_Init_Hook (Men  : in Menu;
-                                 Proc : in Menu_Hook_Function)
-   is
-      function Set_Menu_Init (Men  : Menu;
-                              Proc : Menu_Hook_Function) return C_Int;
-      pragma Import (C, Set_Menu_Init, "set_menu_init");
-
-      Res : constant Eti_Error := Set_Menu_Init (Men, Proc);
-   begin
-      if  Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Menu_Init_Hook;
-
-   procedure Set_Menu_Term_Hook (Men  : in Menu;
-                                 Proc : in Menu_Hook_Function)
-   is
-      function Set_Menu_Term (Men  : Menu;
-                              Proc : Menu_Hook_Function) return C_Int;
-      pragma Import (C, Set_Menu_Term, "set_menu_term");
-
-      Res : constant Eti_Error := Set_Menu_Term (Men, Proc);
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-   end Set_Menu_Term_Hook;
-
-   function Get_Item_Init_Hook (Men : Menu) return Menu_Hook_Function
-   is
-      function Item_Init (Men : Menu) return Menu_Hook_Function;
-      pragma Import (C, Item_Init, "item_init");
-   begin
-      return Item_Init (Men);
-   end Get_Item_Init_Hook;
-
-   function Get_Item_Term_Hook (Men : Menu) return Menu_Hook_Function
-   is
-      function Item_Term (Men : Menu) return Menu_Hook_Function;
-      pragma Import (C, Item_Term, "item_term");
-   begin
-      return Item_Term (Men);
-   end Get_Item_Term_Hook;
-
-   function Get_Menu_Init_Hook (Men : Menu) return Menu_Hook_Function
-   is
-      function Menu_Init (Men : Menu) return Menu_Hook_Function;
-      pragma Import (C, Menu_Init, "menu_init");
-   begin
-      return Menu_Init (Men);
-   end Get_Menu_Init_Hook;
-
-   function Get_Menu_Term_Hook (Men : Menu) return Menu_Hook_Function
-   is
-      function Menu_Term (Men : Menu) return Menu_Hook_Function;
-      pragma Import (C, Menu_Term, "menu_term");
-   begin
-      return Menu_Term (Men);
-   end Get_Menu_Term_Hook;
--------------------------------------------------------------------------------
-   procedure Redefine (Men   : in Menu;
-                       Items : in Item_Array_Access)
-   is
-      function Set_Items (Men   : Menu;
-                          Items : System.Address) return C_Int;
-      pragma Import (C, Set_Items, "set_menu_items");
-
-      Res : Eti_Error;
-   begin
-      pragma Assert (Items (Items'Last) = Null_Item);
-      if Items (Items'Last) /= Null_Item then
-         raise Menu_Exception;
-      else
-         Res := Set_Items (Men, Items.all'Address);
-         if  Res /= E_Ok then
-            Eti_Exception (Res);
-         end if;
-      end if;
-   end Redefine;
-
-   function Item_Count (Men : Menu) return Natural
-   is
-      function Count (Men : Menu) return C_Int;
-      pragma Import (C, Count, "item_count");
-   begin
-      return Natural (Count (Men));
-   end Item_Count;
-
-   function Items (Men   : Menu;
-                   Index : Positive) return Item
-   is
-      use I_Array;
-
-      function C_Mitems (Men : Menu) return Pointer;
-      pragma Import (C, C_Mitems, "menu_items");
-
-      P : Pointer := C_Mitems (Men);
-   begin
-      if P = null or else Index not in 1 .. Item_Count (Men) then
-         raise Menu_Exception;
-      else
-         P := P + ptrdiff_t (C_Int (Index) - 1);
-         return P.all;
-      end if;
-   end Items;
-
--------------------------------------------------------------------------------
-   function Create (Items : Item_Array_Access) return Menu
-   is
-      function Newmenu (Items : System.Address) return Menu;
-      pragma Import (C, Newmenu, "new_menu");
-
-      M   : Menu;
-   begin
-      pragma Assert (Items (Items'Last) = Null_Item);
-      if Items (Items'Last) /= Null_Item then
-         raise Menu_Exception;
-      else
-         M := Newmenu (Items.all'Address);
-         if M = Null_Menu then
-            raise Menu_Exception;
-         end if;
-         return M;
-      end if;
-   end Create;
-
-   procedure Delete (Men : in out Menu)
-   is
-      function Free (Men : Menu) return C_Int;
-      pragma Import (C, Free, "free_menu");
-
-      Res : constant Eti_Error := Free (Men);
-   begin
-      if Res /= E_Ok then
-         Eti_Exception (Res);
-      end if;
-      Men := Null_Menu;
-   end Delete;
-
-------------------------------------------------------------------------------
-   function Driver (Men : Menu;
-                    Key : Key_Code) return Driver_Result
-   is
-      function Driver (Men : Menu;
-                       Key : C_Int) return C_Int;
-      pragma Import (C, Driver, "menu_driver");
-
-      R : constant Eti_Error := Driver (Men, C_Int (Key));
-   begin
-      if R /= E_Ok then
-         case R is
-            when E_Unknown_Command  => return Unknown_Request;
-            when E_No_Match         => return No_Match;
-            when E_Request_Denied |
-                 E_Not_Selectable   => return Request_Denied;
-            when others =>
-               Eti_Exception (R);
-         end case;
-      end if;
-      return Menu_Ok;
-   end Driver;
-
-   procedure Free (IA         : in out Item_Array_Access;
-                   Free_Items : in Boolean := False)
-   is
-      procedure Release is new Ada.Unchecked_Deallocation
-        (Item_Array, Item_Array_Access);
-   begin
-      if IA /= null and then Free_Items then
-         for I in IA'First .. (IA'Last - 1) loop
-            if IA (I) /= Null_Item then
-               Delete (IA (I));
-            end if;
-         end loop;
-      end if;
-      Release (IA);
-   end Free;
-
--------------------------------------------------------------------------------
-   function Default_Menu_Options return Menu_Option_Set
-   is
-   begin
-      return Get_Options (Null_Menu);
-   end Default_Menu_Options;
-
-   function Default_Item_Options return Item_Option_Set
-   is
-   begin
-      return Get_Options (Null_Item);
-   end Default_Item_Options;
--------------------------------------------------------------------------------
-
-end Terminal_Interface.Curses.Menus;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus__ads.htm deleted file mode 100644 index 537c4ac52a..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-menus__ads.htm +++ /dev/null @@ -1,681 +0,0 @@ - -terminal_interface-curses-menus.ads - -

File : terminal_interface-curses-menus.ads


-
-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                      Terminal_Interface.Curses.Menu                      --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.24 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
---  menu binding.
---  This module is generated. Please don't change it manually!
---  Run the generator instead.
---  |
-with System;
-with Ada.Characters.Latin_1;
-
-package Terminal_Interface.Curses.Menus is
-   pragma Preelaborate (Terminal_Interface.Curses.Menus);
-   pragma Linker_Options ("-lmenu");
-   pragma Linker_Options ("-lncurses");
-
-   Space : Character renames Ada.Characters.Latin_1.Space;
-
-   type Item is private;
-   type Menu is private;
-
-   ---------------------------
-   --  Interface constants  --
-   ---------------------------
-   Null_Item : constant Item;
-   Null_Menu : constant Menu;
-
-   subtype Menu_Request_Code is Key_Code
-     range (Key_Max + 1) .. (Key_Max + 17);
-
-   --  The prefix M_ stands for "Menu Request"
-   M_Left_Item       : constant Menu_Request_Code := Key_Max + 1;
-   M_Right_Item      : constant Menu_Request_Code := Key_Max + 2;
-   M_Up_Item         : constant Menu_Request_Code := Key_Max + 3;
-   M_Down_Item       : constant Menu_Request_Code := Key_Max + 4;
-   M_ScrollUp_Line   : constant Menu_Request_Code := Key_Max + 5;
-   M_ScrollDown_Line : constant Menu_Request_Code := Key_Max + 6;
-   M_ScrollDown_Page : constant Menu_Request_Code := Key_Max + 7;
-   M_ScrollUp_Page   : constant Menu_Request_Code := Key_Max + 8;
-   M_First_Item      : constant Menu_Request_Code := Key_Max + 9;
-   M_Last_Item       : constant Menu_Request_Code := Key_Max + 10;
-   M_Next_Item       : constant Menu_Request_Code := Key_Max + 11;
-   M_Previous_Item   : constant Menu_Request_Code := Key_Max + 12;
-   M_Toggle_Item     : constant Menu_Request_Code := Key_Max + 13;
-   M_Clear_Pattern   : constant Menu_Request_Code := Key_Max + 14;
-   M_Back_Pattern    : constant Menu_Request_Code := Key_Max + 15;
-   M_Next_Match      : constant Menu_Request_Code := Key_Max + 16;
-   M_Previous_Match  : constant Menu_Request_Code := Key_Max + 17;
-
-   --  For those who like the old 'C' names for the request codes
-   REQ_LEFT_ITEM     : Menu_Request_Code renames M_Left_Item;
-   REQ_RIGHT_ITEM    : Menu_Request_Code renames M_Right_Item;
-   REQ_UP_ITEM       : Menu_Request_Code renames M_Up_Item;
-   REQ_DOWN_ITEM     : Menu_Request_Code renames M_Down_Item;
-   REQ_SCR_ULINE     : Menu_Request_Code renames M_ScrollUp_Line;
-   REQ_SCR_DLINE     : Menu_Request_Code renames M_ScrollDown_Line;
-   REQ_SCR_DPAGE     : Menu_Request_Code renames M_ScrollDown_Page;
-   REQ_SCR_UPAGE     : Menu_Request_Code renames M_ScrollUp_Page;
-   REQ_FIRST_ITEM    : Menu_Request_Code renames M_First_Item;
-   REQ_LAST_ITEM     : Menu_Request_Code renames M_Last_Item;
-   REQ_NEXT_ITEM     : Menu_Request_Code renames M_Next_Item;
-   REQ_PREV_ITEM     : Menu_Request_Code renames M_Previous_Item;
-   REQ_TOGGLE_ITEM   : Menu_Request_Code renames M_Toggle_Item;
-   REQ_CLEAR_PATTERN : Menu_Request_Code renames M_Clear_Pattern;
-   REQ_BACK_PATTERN  : Menu_Request_Code renames M_Back_Pattern;
-   REQ_NEXT_MATCH    : Menu_Request_Code renames M_Next_Match;
-   REQ_PREV_MATCH    : Menu_Request_Code renames M_Previous_Match;
-
-   procedure Request_Name (Key  : in Menu_Request_Code;
-                           Name : out String);
-
-   function  Request_Name (Key : Menu_Request_Code) return String;
-   --  Same as function
-
-   ------------------
-   --  Exceptions  --
-   ------------------
-
-   Menu_Exception : exception;
-   --
-   --  Menu options
-   --
-   pragma Warnings (Off);
-   type Menu_Option_Set is
-      record
-         One_Valued        : Boolean;
-         Show_Descriptions : Boolean;
-         Row_Major_Order   : Boolean;
-         Ignore_Case       : Boolean;
-         Show_Matches      : Boolean;
-         Non_Cyclic        : Boolean;
-      end record;
-   pragma Convention (C, Menu_Option_Set);
-
-   for Menu_Option_Set use
-      record
-         One_Valued        at 0 range  0 ..  0;
-         Show_Descriptions at 0 range  1 ..  1;
-         Row_Major_Order   at 0 range  2 ..  2;
-         Ignore_Case       at 0 range  3 ..  3;
-         Show_Matches      at 0 range  4 ..  4;
-         Non_Cyclic        at 0 range  5 ..  5;
-      end record;
-   for Menu_Option_Set'Size use 32;
-   --  Please note: this rep. clause is generated and may be
-   --               different on your system.
-   pragma Warnings (On);
-
-   function Default_Menu_Options return Menu_Option_Set;
-   --  Initial default options for a menu.
-   pragma Inline (Default_Menu_Options);
-   --
-   --  Item options
-   --
-   pragma Warnings (Off);
-   type Item_Option_Set is
-      record
-         Selectable  : Boolean;
-      end record;
-   pragma Convention (C, Item_Option_Set);
-
-   for Item_Option_Set use
-      record
-         Selectable  at 0 range  0 ..  0;
-      end record;
-   for Item_Option_Set'Size use 32;
-   --  Please note: this rep. clause is generated and may be
-   --               different on your system.
-   pragma Warnings (On);
-
-   function Default_Item_Options return Item_Option_Set;
-   --  Initial default options for an item.
-   pragma Inline (Default_Item_Options);
-
-   --
-   --  Item Array
-   --
-   type Item_Array is array (Positive range <>) of aliased Item;
-   pragma Convention (C, Item_Array);
-
-   type Item_Array_Access is access Item_Array;
-
-   procedure Free (IA         : in out Item_Array_Access;
-                   Free_Items : Boolean := False);
-   --  Release the memory for an allocated item array
-   --  If Free_Items is True, call Delete() for all the items in
-   --  the array.
-
-   --  |=====================================================================
-   --  | Man page mitem_new.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_1"#2|
-   function Create (Name        : String;
-                    Description : String := "") return Item;
-   --  AKA: new_item()
-   --  Not inlined.
-
-   --  #1A NAME="AFU_2"#2|
-   function New_Item (Name        : String;
-                      Description : String := "") return Item
-     renames Create;
-   --  AKA: new_item()
-
-   --  #1A NAME="AFU_3"#2|
-   procedure Delete (Itm : in out Item);
-   --  AKA: free_item()
-   --  Resets Itm to Null_Item
-
-   --  |=====================================================================
-   --  | Man page mitem_value.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_4"#2|
-   procedure Set_Value (Itm   : in Item;
-                        Value : in Boolean := True);
-   --  AKA: set_item_value()
-   pragma Inline (Set_Value);
-
-   --  #1A NAME="AFU_5"#2|
-   function Value (Itm : Item) return Boolean;
-   --  AKA: item_value()
-   pragma Inline (Value);
-
-   --  |=====================================================================
-   --  | Man page mitem_visible.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_6"#2|
-   function Visible (Itm : Item) return Boolean;
-   --  AKA: item_visible()
-   pragma Inline (Visible);
-
-   --  |=====================================================================
-   --  | Man page mitem_opts.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_7"#2|
-   procedure Set_Options (Itm     : in Item;
-                          Options : in Item_Option_Set);
-   --  AKA: set_item_opts()
-   --  An overloaded Set_Options is defined later. Pragma Inline appears there
-
-   --  #1A NAME="AFU_8"#2|
-   procedure Switch_Options (Itm     : in Item;
-                             Options : in Item_Option_Set;
-                             On      : Boolean := True);
-   --  AKA: item_opts_on()
-   --  AKA: item_opts_off()
-   --  An overloaded Switch_Options is defined later.
-   --  Pragma Inline appears there
-
-   --  #1A NAME="AFU_9"#2|
-   procedure Get_Options (Itm     : in  Item;
-                          Options : out Item_Option_Set);
-   --  AKA: item_opts()
-
-   --  #1A NAME="AFU_10"#2|
-   function Get_Options (Itm : Item := Null_Item) return Item_Option_Set;
-   --  AKA: item_opts()
-   --  An overloaded Get_Options is defined later. Pragma Inline appears there
-
-   --  |=====================================================================
-   --  | Man page mitem_name.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_11"#2|
-   procedure Name (Itm  : in Item;
-                   Name : out String);
-   --  AKA: item_name()
-   function  Name (Itm : Item) return String;
-   --  AKA: item_name()
-   --  Implemented as function
-   pragma Inline (Name);
-
-   --  #1A NAME="AFU_12"#2|
-   procedure Description (Itm         : in Item;
-                          Description : out String);
-   --  AKA: item_description();
-
-   function  Description (Itm : Item) return String;
-   --  AKA: item_description();
-   --  Implemented as function
-   pragma Inline (Description);
-
-   --  |=====================================================================
-   --  | Man page mitem_current.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_13"#2|
-   procedure Set_Current (Men : in Menu;
-                          Itm : in Item);
-   --  AKA: set_current_item()
-   pragma Inline (Set_Current);
-
-   --  #1A NAME="AFU_14"#2|
-   function Current (Men : Menu) return Item;
-   --  AKA: current_item()
-   pragma Inline (Current);
-
-   --  #1A NAME="AFU_15"#2|
-   procedure Set_Top_Row (Men  : in Menu;
-                          Line : in Line_Position);
-   --  AKA: set_top_row()
-   pragma Inline (Set_Top_Row);
-
-   --  #1A NAME="AFU_16"#2|
-   function Top_Row (Men : Menu) return Line_Position;
-   --  AKA: top_row()
-   pragma Inline (Top_Row);
-
-   --  #1A NAME="AFU_17"#2|
-   function Get_Index (Itm : Item) return Positive;
-   --  AKA: item_index()
-   --  Please note that in this binding we start the numbering of items
-   --  with 1. So this is number is one more than you get from the low
-   --  level call.
-   pragma Inline (Get_Index);
-
-   --  |=====================================================================
-   --  | Man page menu_post.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_18"#2|
-   procedure Post (Men  : in Menu;
-                   Post : in Boolean := True);
-   --  AKA: post_menu()
-   --  AKA: unpost_menu()
-   pragma Inline (Post);
-
-   --  |=====================================================================
-   --  | Man page menu_opts.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_19"#2|
-   procedure Set_Options (Men     : in Menu;
-                          Options : in Menu_Option_Set);
-   --  AKA: set_menu_opts()
-   pragma Inline (Set_Options);
-
-   --  #1A NAME="AFU_20"#2|
-   procedure Switch_Options (Men     : in Menu;
-                             Options : in Menu_Option_Set;
-                             On      : Boolean := True);
-   --  AKA: menu_opts_on()
-   --  AKA: menu_opts_off()
-   pragma Inline (Switch_Options);
-
-   --  #1A NAME="AFU_21"#2|
-   procedure Get_Options (Men     : in  Menu;
-                          Options : out Menu_Option_Set);
-   --  AKA: menu_opts()
-
-   --  #1A NAME="AFU_22"#2|
-   function Get_Options (Men : Menu := Null_Menu) return Menu_Option_Set;
-   --  AKA: menu_opts()
-   pragma Inline (Get_Options);
-
-   --  |=====================================================================
-   --  | Man page menu_win.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_23"#2|
-   procedure Set_Window (Men : in Menu;
-                         Win : in Window);
-   --  AKA: set_menu_win()
-   pragma Inline (Set_Window);
-
-   --  #1A NAME="AFU_24"#2|
-   function Get_Window (Men : Menu) return Window;
-   --  AKA: menu_win()
-   pragma Inline (Get_Window);
-
-   --  #1A NAME="AFU_25"#2|
-   procedure Set_Sub_Window (Men : in Menu;
-                             Win : in Window);
-   --  AKA: set_menu_sub()
-   pragma Inline (Set_Sub_Window);
-
-   --  #1A NAME="AFU_26"#2|
-   function Get_Sub_Window (Men : Menu) return Window;
-   --  AKA: menu_sub()
-   pragma Inline (Get_Sub_Window);
-
-   --  #1A NAME="AFU_27"#2|
-   procedure Scale (Men     : in Menu;
-                    Lines   : out Line_Count;
-                    Columns : out Column_Count);
-   --  AKA: scale_menu()
-   pragma Inline (Scale);
-
-   --  |=====================================================================
-   --  | Man page menu_cursor.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_28"#2|
-   procedure Position_Cursor (Men : Menu);
-   --  AKA: pos_menu_cursor()
-   pragma Inline (Position_Cursor);
-
-   --  |=====================================================================
-   --  | Man page menu_mark.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_29"#2|
-   procedure Set_Mark (Men  : in Menu;
-                       Mark : in String);
-   --  AKA: set_menu_mark()
-   pragma Inline (Set_Mark);
-
-   --  #1A NAME="AFU_30"#2|
-   procedure Mark (Men  : in  Menu;
-                   Mark : out String);
-   --  AKA: menu_mark()
-
-   function  Mark (Men : Menu) return String;
-   --  AKA: menu_mark()
-   --  Implemented as function
-   pragma Inline (Mark);
-
-   --  |=====================================================================
-   --  | Man page menu_attribs.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_31"#2|
-   procedure Set_Foreground
-     (Men   : in Menu;
-      Fore  : in Character_Attribute_Set := Normal_Video;
-      Color : in Color_Pair := Color_Pair'First);
-   --  AKA: set_menu_fore()
-   pragma Inline (Set_Foreground);
-
-   --  #1A NAME="AFU_32"#2|
-   procedure Foreground (Men   : in  Menu;
-                         Fore  : out Character_Attribute_Set);
-   --  AKA: menu_fore()
-
-   --  #1A NAME="AFU_33"#2|
-   procedure Foreground (Men   : in  Menu;
-                         Fore  : out Character_Attribute_Set;
-                         Color : out Color_Pair);
-   --  AKA: menu_fore()
-   pragma Inline (Foreground);
-
-   --  #1A NAME="AFU_34"#2|
-   procedure Set_Background
-     (Men   : in Menu;
-      Back  : in Character_Attribute_Set := Normal_Video;
-      Color : in Color_Pair := Color_Pair'First);
-   --  AKA: set_menu_back()
-   pragma Inline (Set_Background);
-
-   --  #1A NAME="AFU_35"#2|
-   procedure Background (Men  : in  Menu;
-                         Back : out Character_Attribute_Set);
-   --  AKA: menu_back()
-   --  #1A NAME="AFU_36"#2|
-
-   procedure Background (Men   : in  Menu;
-                         Back  : out Character_Attribute_Set;
-                         Color : out Color_Pair);
-   --  AKA: menu_back()
-   pragma Inline (Background);
-
-   --  #1A NAME="AFU_37"#2|
-   procedure Set_Grey
-     (Men   : in Menu;
-      Grey  : in Character_Attribute_Set := Normal_Video;
-      Color : in Color_Pair := Color_Pair'First);
-   --  AKA: set_menu_grey()
-   pragma Inline (Set_Grey);
-
-   --  #1A NAME="AFU_38"#2|
-   procedure Grey (Men  : in  Menu;
-                   Grey : out Character_Attribute_Set);
-   --  AKA: menu_grey()
-
-   --  #1A NAME="AFU_39"#2|
-   procedure Grey
-     (Men   : in  Menu;
-      Grey  : out Character_Attribute_Set;
-      Color : out Color_Pair);
-   --  AKA: menu_grey()
-   pragma Inline (Grey);
-
-   --  #1A NAME="AFU_40"#2|
-   procedure Set_Pad_Character (Men : in Menu;
-                                Pad : in Character := Space);
-   --  AKA: set_menu_pad()
-   pragma Inline (Set_Pad_Character);
-
-   --  #1A NAME="AFU_41"#2|
-   procedure Pad_Character (Men : in  Menu;
-                            Pad : out Character);
-   --  AKA: menu_pad()
-   pragma Inline (Pad_Character);
-
-   --  |=====================================================================
-   --  | Man page menu_spacing.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_42"#2|
-   procedure Set_Spacing (Men   : in Menu;
-                          Descr : in Column_Position := 0;
-                          Row   : in Line_Position   := 0;
-                          Col   : in Column_Position := 0);
-   --  AKA: set_menu_spacing()
-   pragma Inline (Set_Spacing);
-
-   --  #1A NAME="AFU_43"#2|
-   procedure Spacing (Men   : in Menu;
-                      Descr : out Column_Position;
-                      Row   : out Line_Position;
-                      Col   : out Column_Position);
-   --  AKA: menu_spacing()
-   pragma Inline (Spacing);
-
-   --  |=====================================================================
-   --  | Man page menu_pattern.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_44"#2|
-   function Set_Pattern (Men  : Menu;
-                         Text : String) return Boolean;
-   --  AKA: set_menu_pattern()
-   --  Return TRUE if the pattern matches, FALSE otherwise
-   pragma Inline (Set_Pattern);
-
-   --  #1A NAME="AFU_45"#2|
-   procedure Pattern (Men  : in  Menu;
-                      Text : out String);
-   --  AKA: menu_pattern()
-   pragma Inline (Pattern);
-
-   --  |=====================================================================
-   --  | Man page menu_format.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_46"#2|
-   procedure Set_Format (Men     : in Menu;
-                         Lines   : in Line_Count;
-                         Columns : in Column_Count);
-   --  Not implemented: 0 argument for Lines or Columns;
-   --  instead use Format to get the current sizes
-   --      The  default    is  16  rows,  1  column.    Calling
-   --      set_menu_format  with a null menu pointer will change this
-   --      default.  A zero row or column argument to set_menu_format
-   --      is  interpreted  as  a  request  not to change the current
-   --      value.
-   --  AKA: set_menu_format()
-   pragma Inline (Set_Format);
-
-   --  #1A NAME="AFU_47"#2|
-   procedure Format (Men     : in  Menu;
-                     Lines   : out Line_Count;
-                     Columns : out Column_Count);
-   --  AKA: menu_format()
-   pragma Inline (Format);
-
-   --  |=====================================================================
-   --  | Man page menu_hook.3x
-   --  |=====================================================================
-
-   type Menu_Hook_Function is access procedure (Men : in Menu);
-   pragma Convention (C, Menu_Hook_Function);
-
-   --  #1A NAME="AFU_48"#2|
-   procedure Set_Item_Init_Hook (Men  : in Menu;
-                                 Proc : in Menu_Hook_Function);
-   --  AKA: set_item_init()
-   pragma Inline (Set_Item_Init_Hook);
-
-   --  #1A NAME="AFU_49"#2|
-   procedure Set_Item_Term_Hook (Men  : in Menu;
-                                 Proc : in Menu_Hook_Function);
-   --  AKA: set_item_term()
-   pragma Inline (Set_Item_Term_Hook);
-
-   --  #1A NAME="AFU_50"#2|
-   procedure Set_Menu_Init_Hook (Men  : in Menu;
-                                 Proc : in Menu_Hook_Function);
-   --  AKA: set_menu_init()
-   pragma Inline (Set_Menu_Init_Hook);
-
-   --  #1A NAME="AFU_51"#2|
-   procedure Set_Menu_Term_Hook (Men  : in Menu;
-                                 Proc : in Menu_Hook_Function);
-   --  AKA: set_menu_term()
-   pragma Inline (Set_Menu_Term_Hook);
-
-   --  #1A NAME="AFU_52"#2|
-   function Get_Item_Init_Hook (Men : Menu) return Menu_Hook_Function;
-   --  AKA: item_init()
-   pragma Inline (Get_Item_Init_Hook);
-
-   --  #1A NAME="AFU_53"#2|
-   function Get_Item_Term_Hook (Men : Menu) return Menu_Hook_Function;
-   --  AKA: item_term()
-   pragma Inline (Get_Item_Term_Hook);
-
-   --  #1A NAME="AFU_54"#2|
-   function Get_Menu_Init_Hook (Men : Menu) return Menu_Hook_Function;
-   --  AKA: menu_init()
-   pragma Inline (Get_Menu_Init_Hook);
-
-   --  #1A NAME="AFU_55"#2|
-   function Get_Menu_Term_Hook (Men : Menu) return Menu_Hook_Function;
-   --  AKA: menu_term()
-   pragma Inline (Get_Menu_Term_Hook);
-
-   --  |=====================================================================
-   --  | Man page menu_items.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_56"#2|
-   procedure Redefine (Men   : in Menu;
-                       Items : in Item_Array_Access);
-   --  AKA: set_menu_items()
-   pragma Inline (Redefine);
-
-   procedure Set_Items (Men   : in Menu;
-                        Items : in Item_Array_Access) renames Redefine;
-   pragma Inline (Set_Items);
-
-   --  #1A NAME="AFU_57"#2|
-   function Items (Men   : Menu;
-                   Index : Positive) return Item;
-   --  AKA: menu_items()
-   pragma Inline (Items);
-
-   --  #1A NAME="AFU_58"#2|
-   function Item_Count (Men : Menu) return Natural;
-   --  AKA: item_count()
-   pragma Inline (Item_Count);
-
-   --  |=====================================================================
-   --  | Man page menu_new.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_59"#2|
-   function Create (Items : Item_Array_Access) return Menu;
-   --  AKA: new_menu()
-   --  Not inlined
-
-   function New_Menu (Items : Item_Array_Access) return Menu renames Create;
-
-   --  #1A NAME="AFU_60"#2|
-   procedure Delete (Men : in out Menu);
-   --  AKA: free_menu()
-   --  Reset Men to Null_Menu
-   --  Not inlined
-
-   --  |=====================================================================
-   --  | Man page menu_driver.3x
-   --  |=====================================================================
-
-   type Driver_Result is (Menu_Ok,
-                          Request_Denied,
-                          Unknown_Request,
-                          No_Match);
-
-   --  #1A NAME="AFU_61"#2|
-   function Driver (Men : Menu;
-                    Key : Key_Code) return Driver_Result;
-   --  AKA: menu_driver()
-   --  Driver is not inlined
-
-   --  #1A NAME="AFU_62"#2|
-   --  Not Implemented: menu_request_name, menu_request_by_name
--------------------------------------------------------------------------------
-private
-   type Item   is new System.Storage_Elements.Integer_Address;
-   type Menu   is new System.Storage_Elements.Integer_Address;
-
-   Null_Item : constant Item := 0;
-   Null_Menu : constant Menu := 0;
-
-end Terminal_Interface.Curses.Menus;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-mouse__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-mouse__adb.htm deleted file mode 100644 index b63ba32c81..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-mouse__adb.htm +++ /dev/null @@ -1,226 +0,0 @@ - -terminal_interface-curses-mouse.adb - -

File : terminal_interface-curses-mouse.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                     Terminal_Interface.Curses.Mouse                      --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998,2004 Free Software Foundation, Inc.                   --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.21 @
---  @Date: 2004/08/21 21:37:00 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with System;
-
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-with Interfaces.C; use Interfaces.C;
-use Interfaces;
-
-package body Terminal_Interface.Curses.Mouse is
-
-   use type System.Bit_Order;
-   use type Interfaces.C.int;
-
-   function Has_Mouse return Boolean
-   is
-      function Mouse_Avail return C_Int;
-      pragma Import (C, Mouse_Avail, "_nc_has_mouse");
-   begin
-      if Has_Key (Key_Mouse) or else Mouse_Avail /= 0 then
-         return True;
-      else
-         return False;
-      end if;
-   end Has_Mouse;
-
-   function Get_Mouse return Mouse_Event
-   is
-      type Event_Access is access all Mouse_Event;
-
-      function Getmouse (Ev : Event_Access) return C_Int;
-      pragma Import (C, Getmouse, "getmouse");
-
-      Event : aliased Mouse_Event;
-   begin
-      if Getmouse (Event'Access) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-      return Event;
-   end Get_Mouse;
-
-   procedure Register_Reportable_Event (Button : in Mouse_Button;
-                                        State  : in Button_State;
-                                        Mask   : in out Event_Mask)
-   is
-      Button_Nr : constant Natural := Mouse_Button'Pos (Button);
-      State_Nr  : constant Natural := Button_State'Pos (State);
-   begin
-      if Button in Modifier_Keys and then State /= Pressed then
-         raise Curses_Exception;
-      else
-         if Button in Real_Buttons then
-            Mask := Mask or ((2 ** (6 * Button_Nr)) ** State_Nr);
-         else
-            Mask := Mask or (BUTTON_CTRL ** (Button_Nr - 4));
-         end if;
-      end if;
-   end Register_Reportable_Event;
-
-   procedure Register_Reportable_Events (Button : in Mouse_Button;
-                                         State  : in Button_States;
-                                         Mask   : in out Event_Mask)
-   is
-   begin
-      for S in Button_States'Range loop
-         if State (S) then
-            Register_Reportable_Event (Button, S, Mask);
-         end if;
-      end loop;
-   end Register_Reportable_Events;
-
-   function Start_Mouse (Mask : Event_Mask := All_Events)
-                         return Event_Mask
-   is
-      function MMask (M : Event_Mask;
-                      O : access Event_Mask) return Event_Mask;
-      pragma Import (C, MMask, "mousemask");
-      R   : Event_Mask;
-      Old : aliased Event_Mask;
-   begin
-      R := MMask (Mask, Old'Access);
-      if R = No_Events then
-         Beep;
-      end if;
-      return Old;
-   end Start_Mouse;
-
-   procedure End_Mouse (Mask : in Event_Mask := No_Events)
-   is
-   begin
-      if Mask /= No_Events then
-         Beep;
-      end if;
-   end End_Mouse;
-
-   procedure Dispatch_Event (Mask   : in  Event_Mask;
-                             Button : out Mouse_Button;
-                             State  : out Button_State);
-
-   procedure Dispatch_Event (Mask   : in  Event_Mask;
-                             Button : out Mouse_Button;
-                             State  : out Button_State) is
-      L : Event_Mask;
-   begin
-      Button := Alt;  --  preset to non real button;
-      if (Mask and BUTTON1_EVENTS) /= 0 then
-         Button := Left;
-      elsif (Mask and BUTTON2_EVENTS) /= 0 then
-         Button := Middle;
-      elsif (Mask and BUTTON3_EVENTS) /= 0 then
-         Button := Right;
-      elsif (Mask and BUTTON4_EVENTS) /= 0 then
-         Button := Button4;
-      end if;
-      if Button in Real_Buttons then
-         L := 2 ** (6 * Mouse_Button'Pos (Button));
-         for I in Button_State'Range loop
-            if (Mask and L) /= 0 then
-               State := I;
-               exit;
-            end if;
-            L := 2 * L;
-         end loop;
-      else
-         State := Pressed;
-         if (Mask and BUTTON_CTRL) /= 0 then
-            Button := Control;
-         elsif (Mask and BUTTON_SHIFT) /= 0 then
-            Button := Shift;
-         elsif (Mask and BUTTON_ALT) /= 0 then
-            Button := Alt;
-         end if;
-      end if;
-   end Dispatch_Event;
-
-   procedure Get_Event (Event  : in  Mouse_Event;
-                        Y      : out Line_Position;
-                        X      : out Column_Position;
-                        Button : out Mouse_Button;
-                        State  : out Button_State)
-   is
-      Mask  : constant Event_Mask := Event.Bstate;
-   begin
-      X := Column_Position (Event.X);
-      Y := Line_Position   (Event.Y);
-      Dispatch_Event (Mask, Button, State);
-   end Get_Event;
-
-   procedure Unget_Mouse (Event : in Mouse_Event)
-   is
-      function Ungetmouse (Ev : Mouse_Event) return C_Int;
-      pragma Import (C, Ungetmouse, "ungetmouse");
-   begin
-      if Ungetmouse (Event) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Unget_Mouse;
-
-   function Enclosed_In_Window (Win    : Window := Standard_Window;
-                                Event  : Mouse_Event) return Boolean
-   is
-      function Wenclose (Win : Window; Y : C_Int; X : C_Int)
-                         return Curses_Bool;
-      pragma Import (C, Wenclose, "wenclose");
-   begin
-      if Wenclose (Win, C_Int (Event.Y), C_Int (Event.X))
-        = Curses_Bool_False then
-         return False;
-      else
-         return True;
-      end if;
-   end Enclosed_In_Window;
-
-   function Mouse_Interval (Msec : Natural := 200) return Natural
-   is
-      function Mouseinterval (Msec : C_Int) return C_Int;
-      pragma Import (C, Mouseinterval, "mouseinterval");
-   begin
-      return Natural (Mouseinterval (C_Int (Msec)));
-   end Mouse_Interval;
-
-end Terminal_Interface.Curses.Mouse;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-mouse__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-mouse__ads.htm deleted file mode 100644 index bbcb28e38f..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-mouse__ads.htm +++ /dev/null @@ -1,237 +0,0 @@ - -terminal_interface-curses-mouse.ads - -

File : terminal_interface-curses-mouse.ads


-
-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                      Terminal_Interface.Curses.Mouse                     --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998,2004 Free Software Foundation, Inc.                   --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.25 @
---  @Date: 2004/08/21 21:37:00 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
---  mouse binding.
---  This module is generated. Please don't change it manually!
---  Run the generator instead.
---  |
-with System;
-
-package Terminal_Interface.Curses.Mouse is
-   pragma Preelaborate (Terminal_Interface.Curses.Mouse);
-
-   --  |=====================================================================
-   --  | Man page curs_mouse.3x
-   --  |=====================================================================
-   --  Please note, that in ncurses-1.9.9e documentation mouse support
-   --  is still marked as experimental. So also this binding will change
-   --  if the ncurses methods change.
-   --
-   --  mouse_trafo, wmouse_trafo are implemented as Transform_Coordinates
-   --  in the parent package.
-   --
-   --  Not implemented:
-   --  REPORT_MOUSE_POSITION (i.e. as a parameter to Register_Reportable_Event
-   --  or Start_Mouse)
-   type Event_Mask is private;
-   No_Events  : constant Event_Mask;
-   All_Events : constant Event_Mask;
-
-   type Mouse_Button is (Left,     -- aka: Button 1
-                         Middle,   -- aka: Button 2
-                         Right,    -- aka: Button 3
-                         Button4,  -- aka: Button 4
-                         Control,  -- Control Key
-                         Shift,    -- Shift Key
-                         Alt);     -- ALT Key
-
-   subtype Real_Buttons  is Mouse_Button range Left .. Button4;
-   subtype Modifier_Keys is Mouse_Button range Control .. Alt;
-
-   type Button_State is (Released,
-                         Pressed,
-                         Clicked,
-                         Double_Clicked,
-                         Triple_Clicked);
-
-   type Button_States is array (Button_State) of Boolean;
-   pragma Pack (Button_States);
-
-   All_Clicks : constant Button_States := (Clicked .. Triple_Clicked => True,
-                                           others => False);
-   All_States : constant Button_States := (others => True);
-
-   type Mouse_Event is private;
-
-   --  |=====================================================================
-   --  | Man page curs_mouse.3x
-   --  |=====================================================================
-
-   function Has_Mouse return Boolean;
-   --  Return true if a mouse device is supported, false otherwise.
-
-   procedure Register_Reportable_Event
-     (Button : in Mouse_Button;
-      State  : in Button_State;
-      Mask   : in out Event_Mask);
-   --  Stores the event described by the button and the state in the mask.
-   --  Before you call this the first time, you should init the mask
-   --  with the Empty_Mask constant
-   pragma Inline (Register_Reportable_Event);
-
-   procedure Register_Reportable_Events
-     (Button : in Mouse_Button;
-      State  : in Button_States;
-      Mask   : in out Event_Mask);
-   --  Register all events described by the Button and the State bitmap.
-   --  Before you call this the first time, you should init the mask
-   --  with the Empty_Mask constant
-
-   --  #1A NAME="AFU_1"#2|
-   --  There is one difference to mousmask(): we return the value of the
-   --  old mask, that means the event mask value before this call.
-   --  Not Implemented: The library version
-   --  returns a Mouse_Mask that tells which events are reported.
-   function Start_Mouse (Mask : Event_Mask := All_Events)
-                         return Event_Mask;
-   --  AKA: mousemask()
-   pragma Inline (Start_Mouse);
-
-   procedure End_Mouse (Mask : in Event_Mask := No_Events);
-   --  Terminates the mouse, restores the specified event mask
-   pragma Inline (End_Mouse);
-
-   --  #1A NAME="AFU_2"#2|
-   function Get_Mouse return Mouse_Event;
-   --  AKA: getmouse()
-   pragma Inline (Get_Mouse);
-
-   procedure Get_Event (Event  : in  Mouse_Event;
-                        Y      : out Line_Position;
-                        X      : out Column_Position;
-                        Button : out Mouse_Button;
-                        State  : out Button_State);
-   --  !!! Warning: X and Y are screen coordinates. Due to ripped of lines they
-   --  may not be identical to window coordinates.
-   --  Not Implemented: Get_Event only reports one event, the C library
-   --  version supports multiple events, e.g. {click-1, click-3}
-   pragma Inline (Get_Event);
-
-   --  #1A NAME="AFU_3"#2|
-   procedure Unget_Mouse (Event : in Mouse_Event);
-   --  AKA: ungetmouse()
-   pragma Inline (Unget_Mouse);
-
-   --  #1A NAME="AFU_4"#2|
-   function Enclosed_In_Window (Win    : Window := Standard_Window;
-                                Event  : Mouse_Event) return Boolean;
-   --  AKA: wenclose()
-   --  But : use event instead of screen coordinates.
-   pragma Inline (Enclosed_In_Window);
-
-   --  #1A NAME="AFU_5"#2|
-   function Mouse_Interval (Msec : Natural := 200) return Natural;
-   --  AKA: mouseinterval()
-   pragma Inline (Mouse_Interval);
-
-private
-   type Event_Mask is new Interfaces.C.unsigned_long;
-
-   type Mouse_Event is
-      record
-         Id      : Integer range Integer (Interfaces.C.short'First) ..
-                                 Integer (Interfaces.C.short'Last);
-         X, Y, Z : Integer range Integer (Interfaces.C.int'First) ..
-                                 Integer (Interfaces.C.int'Last);
-         Bstate  : Event_Mask;
-      end record;
-   pragma Convention (C, Mouse_Event);
-
-   for Mouse_Event use
-      record
-         Id      at 0 range   0 ..  15;
-         X       at 0 range  32 ..  63;
-         Y       at 0 range  64 ..  95;
-         Z       at 0 range  96 .. 127;
-         Bstate  at 0 range 128 .. 159;
-      end record;
-      --  Please note: this rep. clause is generated and may be
-      --               different on your system.
-
-   Generation_Bit_Order : constant System.Bit_Order := System.Low_Order_First;
-   --  This constant may be different on your system.
-
-   BUTTON1_RELEASED          : constant Event_Mask := 8#00000000001#;
-   BUTTON1_PRESSED           : constant Event_Mask := 8#00000000002#;
-   BUTTON1_CLICKED           : constant Event_Mask := 8#00000000004#;
-   BUTTON1_DOUBLE_CLICKED    : constant Event_Mask := 8#00000000010#;
-   BUTTON1_TRIPLE_CLICKED    : constant Event_Mask := 8#00000000020#;
-   BUTTON1_RESERVED_EVENT    : constant Event_Mask := 8#00000000040#;
-   BUTTON2_RELEASED          : constant Event_Mask := 8#00000000100#;
-   BUTTON2_PRESSED           : constant Event_Mask := 8#00000000200#;
-   BUTTON2_CLICKED           : constant Event_Mask := 8#00000000400#;
-   BUTTON2_DOUBLE_CLICKED    : constant Event_Mask := 8#00000001000#;
-   BUTTON2_TRIPLE_CLICKED    : constant Event_Mask := 8#00000002000#;
-   BUTTON2_RESERVED_EVENT    : constant Event_Mask := 8#00000004000#;
-   BUTTON3_RELEASED          : constant Event_Mask := 8#00000010000#;
-   BUTTON3_PRESSED           : constant Event_Mask := 8#00000020000#;
-   BUTTON3_CLICKED           : constant Event_Mask := 8#00000040000#;
-   BUTTON3_DOUBLE_CLICKED    : constant Event_Mask := 8#00000100000#;
-   BUTTON3_TRIPLE_CLICKED    : constant Event_Mask := 8#00000200000#;
-   BUTTON3_RESERVED_EVENT    : constant Event_Mask := 8#00000400000#;
-   BUTTON4_RELEASED          : constant Event_Mask := 8#00001000000#;
-   BUTTON4_PRESSED           : constant Event_Mask := 8#00002000000#;
-   BUTTON4_CLICKED           : constant Event_Mask := 8#00004000000#;
-   BUTTON4_DOUBLE_CLICKED    : constant Event_Mask := 8#00010000000#;
-   BUTTON4_TRIPLE_CLICKED    : constant Event_Mask := 8#00020000000#;
-   BUTTON4_RESERVED_EVENT    : constant Event_Mask := 8#00040000000#;
-   BUTTON_CTRL               : constant Event_Mask := 8#00100000000#;
-   BUTTON_SHIFT              : constant Event_Mask := 8#00200000000#;
-   BUTTON_ALT                : constant Event_Mask := 8#00400000000#;
-   REPORT_MOUSE_POSITION     : constant Event_Mask := 8#01000000000#;
-   ALL_MOUSE_EVENTS          : constant Event_Mask := 8#00777777777#;
-   BUTTON1_EVENTS            : constant Event_Mask := 8#00000000077#;
-   BUTTON2_EVENTS            : constant Event_Mask := 8#00000007700#;
-   BUTTON3_EVENTS            : constant Event_Mask := 8#00000770000#;
-   BUTTON4_EVENTS            : constant Event_Mask := 8#00077000000#;
-
-
-   No_Events  : constant Event_Mask := 0;
-   All_Events : constant Event_Mask := ALL_MOUSE_EVENTS;
-
-end Terminal_Interface.Curses.Mouse;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm deleted file mode 100644 index 93fab0c9d7..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm +++ /dev/null @@ -1,84 +0,0 @@ - -terminal_interface-curses-panels-user_data.adb - -

File : terminal_interface-curses-panels-user_data.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                 Terminal_Interface.Curses.Panels.User_Data               --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Interfaces.C;
-with Terminal_Interface.Curses.Aux;
-use  Terminal_Interface.Curses.Aux;
-with Terminal_Interface.Curses.Panels;
-use  Terminal_Interface.Curses.Panels;
-
-package body Terminal_Interface.Curses.Panels.User_Data is
-
-   use type Interfaces.C.int;
-
-   procedure Set_User_Data (Pan  : in Panel;
-                            Data : in User_Access)
-   is
-      function Set_Panel_Userptr (Pan  : Panel;
-                                  Addr : User_Access) return C_Int;
-      pragma Import (C, Set_Panel_Userptr, "set_panel_userptr");
-   begin
-      if Set_Panel_Userptr (Pan, Data) = Curses_Err then
-         raise Panel_Exception;
-      end if;
-   end Set_User_Data;
-
-   function Get_User_Data (Pan  : in  Panel) return User_Access
-   is
-      function Panel_Userptr (Pan : Panel) return User_Access;
-      pragma Import (C, Panel_Userptr, "panel_userptr");
-   begin
-      return Panel_Userptr (Pan);
-   end Get_User_Data;
-
-   procedure Get_User_Data (Pan  : in  Panel;
-                            Data : out User_Access)
-   is
-   begin
-      Data := Get_User_Data (Pan);
-   end Get_User_Data;
-
-end Terminal_Interface.Curses.Panels.User_Data;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm deleted file mode 100644 index a65cf68c70..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm +++ /dev/null @@ -1,76 +0,0 @@ - -terminal_interface-curses-panels-user_data.ads - -

File : terminal_interface-curses-panels-user_data.ads


-
-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                 Terminal_Interface.Curses.Panels.User_Data               --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.14 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-
-generic
-   type User is limited private;
-   type User_Access is access all User;
-package Terminal_Interface.Curses.Panels.User_Data is
-   pragma Preelaborate (Terminal_Interface.Curses.Panels.User_Data);
-
-   --  |=====================================================================
-   --  | Man page panel.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_1"#2|
-   procedure Set_User_Data (Pan  : in Panel;
-                            Data : in User_Access);
-   --  AKA: set_panel_userptr
-   pragma Inline (Set_User_Data);
-
-   --  #1A NAME="AFU_2"#2|
-   procedure Get_User_Data (Pan  : in  Panel;
-                            Data : out User_Access);
-   --  AKA: panel_userptr
-
-   --  #1A NAME="AFU_3"#2|
-   function Get_User_Data (Pan  : in  Panel) return User_Access;
-   --  AKA: panel_userptr
-   --  Same as function
-   pragma Inline (Get_User_Data);
-
-end Terminal_Interface.Curses.Panels.User_Data;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-panels__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-panels__adb.htm deleted file mode 100644 index 85e0a28985..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-panels__adb.htm +++ /dev/null @@ -1,171 +0,0 @@ - -terminal_interface-curses-panels.adb - -

File : terminal_interface-curses-panels.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                      Terminal_Interface.Curses.Panels                    --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998,2004 Free Software Foundation, Inc.                   --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.13 @
---  @Date: 2004/08/21 21:37:00 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-with Interfaces.C;
-
-package body Terminal_Interface.Curses.Panels is
-
-   use type Interfaces.C.int;
-
-   function Create (Win : Window) return Panel
-   is
-      function Newpanel (Win : Window) return Panel;
-      pragma Import (C, Newpanel, "new_panel");
-
-      Pan : Panel;
-   begin
-      Pan := Newpanel (Win);
-      if Pan = Null_Panel then
-         raise Panel_Exception;
-      end if;
-      return Pan;
-   end Create;
-
-   procedure Bottom (Pan : in Panel)
-   is
-      function Bottompanel (Pan : Panel) return C_Int;
-      pragma Import (C, Bottompanel, "bottom_panel");
-   begin
-      if Bottompanel (Pan) = Curses_Err then
-         raise Panel_Exception;
-      end if;
-   end Bottom;
-
-   procedure Top (Pan : in Panel)
-   is
-      function Toppanel (Pan : Panel) return C_Int;
-      pragma Import (C, Toppanel, "top_panel");
-   begin
-      if Toppanel (Pan) = Curses_Err then
-         raise Panel_Exception;
-      end if;
-   end Top;
-
-   procedure Show (Pan : in Panel)
-   is
-      function Showpanel (Pan : Panel) return C_Int;
-      pragma Import (C, Showpanel, "show_panel");
-   begin
-      if Showpanel (Pan) = Curses_Err then
-         raise Panel_Exception;
-      end if;
-   end Show;
-
-   procedure Hide (Pan : in Panel)
-   is
-      function Hidepanel (Pan : Panel) return C_Int;
-      pragma Import (C, Hidepanel, "hide_panel");
-   begin
-      if Hidepanel (Pan) = Curses_Err then
-         raise Panel_Exception;
-      end if;
-   end Hide;
-
-   function Get_Window (Pan : Panel) return Window
-   is
-      function Panel_Win (Pan : Panel) return Window;
-      pragma Import (C, Panel_Win, "panel_window");
-
-      Win : constant Window := Panel_Win (Pan);
-   begin
-      if Win = Null_Window then
-         raise Panel_Exception;
-      end if;
-      return Win;
-   end Get_Window;
-
-   procedure Replace (Pan : in Panel;
-                      Win : in Window)
-   is
-      function Replace_Pan (Pan : Panel;
-                            Win : Window) return C_Int;
-      pragma Import (C, Replace_Pan, "replace_panel");
-   begin
-      if Replace_Pan (Pan, Win) = Curses_Err then
-         raise Panel_Exception;
-      end if;
-   end Replace;
-
-   procedure Move (Pan    : in Panel;
-                   Line   : in Line_Position;
-                   Column : in Column_Position)
-   is
-      function Move (Pan    : Panel;
-                     Line   : C_Int;
-                     Column : C_Int) return C_Int;
-      pragma Import (C, Move, "move_panel");
-   begin
-      if Move (Pan, C_Int (Line), C_Int (Column)) = Curses_Err then
-         raise Panel_Exception;
-      end if;
-   end Move;
-
-   function Is_Hidden (Pan : Panel) return Boolean
-   is
-      function Panel_Hidden (Pan : Panel) return C_Int;
-      pragma Import (C, Panel_Hidden, "panel_hidden");
-   begin
-      if Panel_Hidden (Pan) = Curses_False then
-         return False;
-      else
-         return True;
-      end if;
-   end Is_Hidden;
-
-   procedure Delete (Pan : in out Panel)
-   is
-      function Del_Panel (Pan : Panel) return C_Int;
-      pragma Import (C, Del_Panel, "del_panel");
-   begin
-      if Del_Panel (Pan) = Curses_Err then
-         raise Panel_Exception;
-      end if;
-      Pan := Null_Panel;
-   end Delete;
-
-end Terminal_Interface.Curses.Panels;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-panels__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-panels__ads.htm deleted file mode 100644 index 7fa7cbb4cd..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-panels__ads.htm +++ /dev/null @@ -1,153 +0,0 @@ - -terminal_interface-curses-panels.ads - -

File : terminal_interface-curses-panels.ads


-
-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                      Terminal_Interface.Curses.Panels                    --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.17 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with System;
-
-package Terminal_Interface.Curses.Panels is
-   pragma Preelaborate (Terminal_Interface.Curses.Panels);
-   pragma Linker_Options ("-lpanel");
-   pragma Linker_Options ("-lncurses");
-
-   type Panel is private;
-
-   ---------------------------
-   --  Interface constants  --
-   ---------------------------
-   Null_Panel : constant Panel;
-
-   -------------------
-   --  Exceptions   --
-   -------------------
-
-   Panel_Exception : exception;
-
-   --  |=====================================================================
-   --  | Man page panel.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_1"#2|
-   function Create (Win : Window) return Panel;
-   --  AKA: new_panel()
-   pragma Inline (Create);
-
-   --  #1A NAME="AFU_2"#2|
-   function New_Panel (Win : Window) return Panel renames Create;
-   --  AKA: new_panel()
-   pragma Inline (New_Panel);
-
-   --  #1A NAME="AFU_3"#2|
-   procedure Bottom (Pan : in Panel);
-   --  AKA: bottom_panel()
-   pragma Inline (Bottom);
-
-   --  #1A NAME="AFU_4"#2|
-   procedure Top (Pan : in Panel);
-   --  AKA: top_panel()
-   pragma Inline (Top);
-
-   --  #1A NAME="AFU_5"#2|
-   procedure Show (Pan : in Panel);
-   --  AKA: show_panel()
-   pragma Inline (Show);
-
-   --  #1A NAME="AFU_6"#2|
-   procedure Update_Panels;
-   --  AKA: update_panels()
-   pragma Import (C, Update_Panels, "update_panels");
-
-   --  #1A NAME="AFU_7"#2|
-   procedure Hide (Pan : in Panel);
-   --  AKA: hide_panel()
-   pragma Inline (Hide);
-
-   --  #1A NAME="AFU_8"#2|
-   function Get_Window (Pan : Panel) return Window;
-   --  AKA: panel_window()
-   pragma Inline (Get_Window);
-
-   --  #1A NAME="AFU_9"#2|
-   function Panel_Window (Pan : Panel) return Window renames Get_Window;
-   pragma Inline (Panel_Window);
-
-   --  #1A NAME="AFU_10"#2|
-   procedure Replace (Pan : in Panel;
-                      Win : in Window);
-   --  AKA: replace_panel()
-   pragma Inline (Replace);
-
-   --  #1A NAME="AFU_11"#2|
-   procedure Move (Pan    : in Panel;
-                   Line   : in Line_Position;
-                   Column : in Column_Position);
-   --  AKA: move_panel()
-   pragma Inline (Move);
-
-   --  #1A NAME="AFU_12"#2|
-   function Is_Hidden (Pan : Panel) return Boolean;
-   --  AKA: panel_hidden()
-   pragma Inline (Is_Hidden);
-
-   --  #1A NAME="AFU_13"#2|
-   function Above (Pan : Panel) return Panel;
-   --  AKA: panel_above()
-   pragma Import (C, Above, "panel_above");
-
-   --  #1A NAME="AFU_14"#2|
-   function Below (Pan : Panel) return Panel;
-   --  AKA: panel_below()
-   pragma Import (C, Below, "panel_below");
-
-   --  #1A NAME="AFU_15"#2|
-   procedure Delete (Pan : in out Panel);
-   --  AKA: del_panel()
-   pragma Inline (Delete);
-
-private
-      type Panel is new System.Storage_Elements.Integer_Address;
-      Null_Panel : constant Panel := 0;
-
-end Terminal_Interface.Curses.Panels;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-putwin__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-putwin__adb.htm deleted file mode 100644 index 8ff5608f18..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-putwin__adb.htm +++ /dev/null @@ -1,83 +0,0 @@ - -terminal_interface-curses-putwin.adb - -

File : terminal_interface-curses-putwin.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                    Terminal_Interface.Curses.PutWin                      --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 2000 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.3 @
---  Binding Version 01.00
-
-with Ada.Streams.Stream_IO.C_Streams;
-with Interfaces.C_Streams;
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-
-package body Terminal_Interface.Curses.PutWin is
-
-   package ICS renames Interfaces.C_Streams;
-   package ACS renames Ada.Streams.Stream_IO.C_Streams;
-   use type C_Int;
-
-   procedure Put_Window (Win  : Window;
-                         File : Ada.Streams.Stream_IO.File_Type) is
-      function putwin (Win : Window; f : ICS.FILEs) return C_Int;
-      pragma Import (C, putwin, "putwin");
-
-      R : constant C_Int := putwin (Win, ACS.C_Stream (File));
-   begin
-      if R /= Curses_Ok then
-         raise Curses_Exception;
-      end if;
-   end Put_Window;
-
-   function Get_Window (File : Ada.Streams.Stream_IO.File_Type)
-                        return Window is
-      function getwin (f : ICS.FILEs) return Window;
-      pragma Import (C, getwin, "getwin");
-
-      W : constant Window := getwin (ACS.C_Stream (File));
-   begin
-      if W = Null_Window then
-         raise Curses_Exception;
-      else
-         return W;
-      end if;
-   end Get_Window;
-
-end Terminal_Interface.Curses.PutWin;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-putwin__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-putwin__ads.htm deleted file mode 100644 index 9850bff3c4..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-putwin__ads.htm +++ /dev/null @@ -1,56 +0,0 @@ - -terminal_interface-curses-putwin.ads - -

File : terminal_interface-curses-putwin.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                    Terminal_Interface.Curses.PutWin                      --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 2000 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.3 @
---  Binding Version 01.00
-
-with Ada.Streams.Stream_IO;
-
-package Terminal_Interface.Curses.PutWin is
-
-   procedure Put_Window (Win  : Window;
-                         File : Ada.Streams.Stream_IO.File_Type);
-
-   function Get_Window (File  : Ada.Streams.Stream_IO.File_Type) return Window;
-
-end Terminal_Interface.Curses.PutWin;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-termcap__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-termcap__adb.htm deleted file mode 100644 index 1f9df443b1..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-termcap__adb.htm +++ /dev/null @@ -1,170 +0,0 @@ - -terminal_interface-curses-termcap.adb - -

File : terminal_interface-curses-termcap.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                    Terminal_Interface.Curses.Termcap                     --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 2000,2004 Free Software Foundation, Inc.                   --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.9 @
---  @Date: 2004/08/21 21:37:00 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-with Interfaces.C; use Interfaces.C;
-with Interfaces.C.Strings; use Interfaces.C.Strings;
-
-package body Terminal_Interface.Curses.Termcap is
-
-   function Get_Entry (Name : String) return Boolean
-   is
-      function tgetent (name : char_array; val : char_array)
-                        return C_Int;
-      pragma Import (C, tgetent, "tgetent");
-      NameTxt : char_array (0 .. Name'Length);
-      Length  : size_t;
-      ignored : constant char_array (0 .. 0) := (0 => nul);
-      result  : C_Int;
-   begin
-      To_C (Name, NameTxt, Length);
-      result := tgetent (char_array (ignored), NameTxt);
-      if result = -1 then
-         raise Curses_Exception;
-      else
-         return Boolean'Val (result);
-      end if;
-   end Get_Entry;
-
-------------------------------------------------------------------------------
-   function Get_Flag (Name : String) return Boolean
-   is
-      function tgetflag (id : char_array) return C_Int;
-      pragma Import (C, tgetflag, "tgetflag");
-      Txt    : char_array (0 .. Name'Length);
-      Length : size_t;
-   begin
-      To_C (Name, Txt, Length);
-      if tgetflag (Txt) = 0 then
-         return False;
-      else
-         return True;
-      end if;
-   end Get_Flag;
-
-------------------------------------------------------------------------------
-   procedure Get_Number (Name   : in  String;
-                         Value  : out Integer;
-                         Result : out Boolean)
-   is
-      function tgetnum (id : char_array) return C_Int;
-      pragma Import (C, tgetnum, "tgetnum");
-      Txt    : char_array (0 .. Name'Length);
-      Length : size_t;
-   begin
-      To_C (Name, Txt, Length);
-      Value := Integer (tgetnum (Txt));
-      if Value = -1 then
-         Result := False;
-      else
-         Result :=  True;
-      end if;
-   end Get_Number;
-
-------------------------------------------------------------------------------
-   procedure Get_String (Name   : String;
-                         Value  : out String;
-                         Result : out Boolean)
-   is
-      function tgetstr (id  : char_array;
-                        buf : char_array) return chars_ptr;
-      pragma Import (C, tgetstr, "tgetstr");
-      Txt    : char_array (0 .. Name'Length);
-      Length : size_t;
-      Txt2   : chars_ptr;
-      type t is new char_array (0 .. 1024); --  does it need to be 1024?
-      Return_Buffer : constant t := (others => nul);
-   begin
-      To_C (Name, Txt, Length);
-      Txt2 := tgetstr (Txt, char_array (Return_Buffer));
-      if Txt2 = Null_Ptr then
-         Result := False;
-      else
-         Value := Fill_String (Txt2);
-         Result := True;
-      end if;
-   end Get_String;
-
-   function Get_String (Name : String) return Boolean
-   is
-      function tgetstr (Id  : char_array;
-                        buf : char_array) return chars_ptr;
-      pragma Import (C, tgetstr, "tgetstr");
-      Txt    : char_array (0 .. Name'Length);
-      Length : size_t;
-      Txt2   : chars_ptr;
-      type t is new char_array (0 .. 1024); --  does it need to be 1024?
-      Phony_Txt : constant t := (others => nul);
-   begin
-      To_C (Name, Txt, Length);
-      Txt2 := tgetstr (Txt, char_array (Phony_Txt));
-      if Txt2 = Null_Ptr then
-         return False;
-      else
-         return True;
-      end if;
-   end Get_String;
-
-------------------------------------------------------------------------------
-   function TGoto (Cap : String;
-                   Col : Column_Position;
-                   Row : Line_Position) return Termcap_String is
-      function tgoto (cap : char_array;
-                      col : C_Int;
-                      row : C_Int) return chars_ptr;
-      pragma Import (C, tgoto);
-      Txt    : char_array (0 .. Cap'Length);
-      Length : size_t;
-   begin
-      To_C (Cap, Txt, Length);
-      return Termcap_String (Fill_String
-                             (tgoto (Txt, C_Int (Col), C_Int (Row))));
-   end TGoto;
-
-
-end Terminal_Interface.Curses.Termcap;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-termcap__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-termcap__ads.htm deleted file mode 100644 index 0ccbd20ac9..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-termcap__ads.htm +++ /dev/null @@ -1,86 +0,0 @@ - -terminal_interface-curses-termcap.ads - -

File : terminal_interface-curses-termcap.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                     Terminal_Interface.Curses.Termcap                    --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 2000 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.3 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-
-package Terminal_Interface.Curses.Termcap is
-   pragma Preelaborate (Terminal_Interface.Curses.Termcap);
-
-   --  |=====================================================================
-   --  | Man page curs_termcap.3x
-   --  |=====================================================================
-   --  Not implemented:  tputs (see curs_terminfo)
-
-   type Termcap_String is new String;
-
-   --  |
-   function TGoto (Cap : String;
-                   Col : Column_Position;
-                   Row : Line_Position) return Termcap_String;
-   --  AKA: tgoto()
-
-   --  |
-   function Get_Entry (Name : String) return Boolean;
-   --  AKA: tgetent()
-
-   --  |
-   function Get_Flag (Name : String) return Boolean;
-   --  AKA: tgetflag()
-
-   --  |
-   procedure Get_Number (Name   : String;
-                         Value  : out Integer;
-                         Result : out Boolean);
-   --  AKA: tgetnum()
-
-   --  |
-   procedure Get_String (Name   : String;
-                         Value  : out String;
-                         Result : out Boolean);
-   function Get_String (Name : String) return Boolean;
-   --  Returns True if the string is found.
-   --  AKA: tgetstr()
-
-end Terminal_Interface.Curses.Termcap;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-terminfo__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-terminfo__adb.htm deleted file mode 100644 index 57c68ba3fb..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-terminfo__adb.htm +++ /dev/null @@ -1,167 +0,0 @@ - -terminal_interface-curses-terminfo.adb - -

File : terminal_interface-curses-terminfo.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                    Terminal_Interface.Curses.Terminfo                    --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 2000 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.3 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-
-with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;
-with Interfaces.C; use Interfaces.C;
-with Interfaces.C.Strings; use Interfaces.C.Strings;
-with Ada.Unchecked_Conversion;
-
-package body Terminal_Interface.Curses.Terminfo is
-
-
-   function Is_MinusOne_Pointer (P : in chars_ptr) return Boolean;
-
-   function Is_MinusOne_Pointer (P : in chars_ptr) return Boolean is
-      type Weird_Address is new System.Storage_Elements.Integer_Address;
-      Invalid_Pointer : constant Weird_Address := -1;
-      function To_Weird is new Ada.Unchecked_Conversion
-        (Source => chars_ptr, Target => Weird_Address);
-   begin
-      if To_Weird (P) = Invalid_Pointer then
-         return True;
-      else
-         return False;
-      end if;
-   end Is_MinusOne_Pointer;
-   pragma Inline (Is_MinusOne_Pointer);
-
-------------------------------------------------------------------------------
-   function Get_Flag (Name : String) return Boolean
-   is
-      function tigetflag (id : char_array) return Curses_Bool;
-      pragma Import (C, tigetflag);
-      Txt    : char_array (0 .. Name'Length);
-      Length : size_t;
-   begin
-      To_C (Name, Txt, Length);
-      if tigetflag (Txt) = Curses_Bool (Curses_True) then
-         return True;
-      else
-         return False;
-      end if;
-   end Get_Flag;
-
-------------------------------------------------------------------------------
-   procedure Get_String (Name   : String;
-                         Value  : out Terminfo_String;
-                         Result : out Boolean)
-   is
-      function tigetstr (id : char_array) return chars_ptr;
-      pragma Import (C, tigetstr, "tigetstr");
-      Txt    : char_array (0 .. Name'Length);
-      Length : size_t;
-      Txt2 : chars_ptr;
-   begin
-      To_C (Name, Txt, Length);
-      Txt2 := tigetstr (Txt);
-      if Txt2 = Null_Ptr then
-         Result := False;
-      elsif Is_MinusOne_Pointer (Txt2) then
-         raise Curses_Exception;
-      else
-         Value  := Terminfo_String (Fill_String (Txt2));
-         Result := True;
-      end if;
-   end Get_String;
-
-------------------------------------------------------------------------------
-   function Has_String (Name : String) return Boolean
-   is
-      function tigetstr (id : char_array) return chars_ptr;
-      pragma Import (C, tigetstr, "tigetstr");
-      Txt    : char_array (0 .. Name'Length);
-      Length : size_t;
-      Txt2 : chars_ptr;
-   begin
-      To_C (Name, Txt, Length);
-      Txt2 := tigetstr (Txt);
-      if Txt2 = Null_Ptr then
-         return False;
-      elsif Is_MinusOne_Pointer (Txt2) then
-         raise Curses_Exception;
-      else
-         return True;
-      end if;
-   end Has_String;
-
-------------------------------------------------------------------------------
-   function Get_Number (Name : String) return Integer is
-      function tigetstr (s : char_array) return C_Int;
-      pragma Import (C, tigetstr);
-      Txt    : char_array (0 .. Name'Length);
-      Length : size_t;
-   begin
-      To_C (Name, Txt, Length);
-      return Integer (tigetstr (Txt));
-   end Get_Number;
-
-------------------------------------------------------------------------------
-   procedure Put_String (Str    : Terminfo_String;
-                         affcnt : Natural := 1;
-                         putc   : putctype := null) is
-      function tputs (str    : char_array;
-                      affcnt : C_Int;
-                      putc   : putctype) return C_Int;
-      function putp (str : char_array) return C_Int;
-      pragma Import (C, tputs);
-      pragma Import (C, putp);
-      Txt    : char_array (0 .. Str'Length);
-      Length : size_t;
-      Err : C_Int;
-   begin
-      To_C (String (Str), Txt, Length);
-      if putc = null then
-         Err := putp (Txt);
-      else
-         Err := tputs (Txt, C_Int (affcnt), putc);
-      end if;
-      if Err = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Put_String;
-
-end Terminal_Interface.Curses.Terminfo;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-terminfo__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-terminfo__ads.htm deleted file mode 100644 index f5c534e475..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-terminfo__ads.htm +++ /dev/null @@ -1,87 +0,0 @@ - -terminal_interface-curses-terminfo.ads - -

File : terminal_interface-curses-terminfo.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                     Terminal_Interface.Curses.Terminfo                   --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 2000 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.3 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-
-with Interfaces.C;
-
-package Terminal_Interface.Curses.Terminfo is
-   pragma Preelaborate (Terminal_Interface.Curses.Terminfo);
-
-   --  |=====================================================================
-   --  | Man page curs_terminfo.3x
-   --  |=====================================================================
-   --  Not implemented:  setupterm, setterm, set_curterm, del_curterm,
-   --                    restartterm, tparm, putp, vidputs,  vidattr,
-   --                    mvcur
-
-   type Terminfo_String is new String;
-
-   --  |
-   procedure Get_String (Name   : String;
-                         Value  : out Terminfo_String;
-                         Result : out Boolean);
-   function Has_String (Name : String) return Boolean;
-   --  AKA: tigetstr()
-
-   --  |
-   function Get_Flag (Name : String) return Boolean;
-   --  AKA: tigetflag()
-
-   --  |
-   function Get_Number (Name : String) return Integer;
-   --  AKA: tigetnum()
-
-   type putctype is access function (c : Interfaces.C.int)
-                                    return Interfaces.C.int;
-   pragma Convention (C, putctype);
-
-   --  |
-   procedure Put_String (Str    : Terminfo_String;
-                         affcnt : Natural := 1;
-                         putc   : putctype := null);
-   --  AKA: tputs()
-
-end Terminal_Interface.Curses.Terminfo;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm deleted file mode 100644 index 30ae2ce2fb..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm +++ /dev/null @@ -1,134 +0,0 @@ - -terminal_interface-curses-text_io-aux.adb - -

File : terminal_interface-curses-text_io-aux.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                   Terminal_Interface.Curses.Text_IO.Aux                  --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-package body Terminal_Interface.Curses.Text_IO.Aux is
-
-   procedure Put_Buf
-     (Win    : in Window;
-      Buf    : in String;
-      Width  : in Field;
-      Signal : in Boolean := True;
-      Ljust  : in Boolean := False)
-   is
-      L   : Field;
-      Len : Field;
-      W   : Field := Width;
-      LC  : Line_Count;
-      CC  : Column_Count;
-      Y   : Line_Position;
-      X   : Column_Position;
-
-      procedure Output (From, To : Field);
-
-      procedure Output (From, To : Field)
-      is
-      begin
-         if Len > 0 then
-            if W = 0 then
-               W := Len;
-            end if;
-            if Len > W then
-               --  LRM A10.6 (7) says this
-               W := Len;
-            end if;
-
-            pragma Assert (Len <= W);
-            Get_Size (Win, LC, CC);
-            if Column_Count (Len) > CC then
-               if Signal then
-                  raise Layout_Error;
-               else
-                  return;
-               end if;
-            else
-               if Len < W and then not Ljust then
-                  declare
-                     Filler : constant String (1 .. (W - Len))
-                       := (others => ' ');
-                  begin
-                     Put (Win, Filler);
-                  end;
-               end if;
-               Get_Cursor_Position (Win, Y, X);
-               if (X + Column_Position (Len)) > CC then
-                  New_Line (Win);
-               end if;
-               Put (Win, Buf (From .. To));
-               if Len < W and then Ljust then
-                  declare
-                     Filler : constant String (1 .. (W - Len))
-                       := (others => ' ');
-                  begin
-                     Put (Win, Filler);
-                  end;
-               end if;
-            end if;
-         end if;
-      end Output;
-
-   begin
-      pragma Assert (Win /= Null_Window);
-      if Ljust then
-         L := 1;
-         for I in 1 .. Buf'Length loop
-            exit when Buf (L) = ' ';
-            L := L + 1;
-         end loop;
-         Len := L - 1;
-         Output (1, Len);
-      else  -- input buffer is not left justified
-         L := Buf'Length;
-         for I in 1 .. Buf'Length loop
-            exit when Buf (L) = ' ';
-            L := L - 1;
-         end loop;
-         Len := Buf'Length - L;
-         Output (L + 1, Buf'Length);
-      end if;
-   end Put_Buf;
-
-end Terminal_Interface.Curses.Text_IO.Aux;
-
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm deleted file mode 100644 index 9dbb494b9a..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm +++ /dev/null @@ -1,61 +0,0 @@ - -terminal_interface-curses-text_io-aux.ads - -

File : terminal_interface-curses-text_io-aux.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                   Terminal_Interface.Curses.Text_IO.Aux                  --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.12 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-private package Terminal_Interface.Curses.Text_IO.Aux is
-   --  pragma Preelaborate (Aux);
-
-   --  This routine is called from the Text_IO output routines for numeric
-   --  and enumeration types.
-   --
-   procedure Put_Buf
-     (Win    : in Window;               -- The output window
-      Buf    : in String;               -- The buffer containing the text
-      Width  : in Field;                -- The width of the output field
-      Signal : in Boolean := True;      -- If true, we raise Layout_Error
-      Ljust  : in Boolean := False);    -- The Buf is left justified
-
-end Terminal_Interface.Curses.Text_IO.Aux;
-
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm deleted file mode 100644 index ce5f059dd1..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm +++ /dev/null @@ -1,79 +0,0 @@ - -terminal_interface-curses-text_io-complex_io.adb - -

File : terminal_interface-curses-text_io-complex_io.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---               Terminal_Interface.Curses.Text_IO.Complex_IO               --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.10 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Terminal_Interface.Curses.Text_IO.Float_IO;
-
-package body Terminal_Interface.Curses.Text_IO.Complex_IO is
-
-   package FIO is new
-     Terminal_Interface.Curses.Text_IO.Float_IO (Complex_Types.Real'Base);
-
-   procedure Put
-     (Win  : in Window;
-      Item : in Complex;
-      Fore : in Field := Default_Fore;
-      Aft  : in Field := Default_Aft;
-      Exp  : in Field := Default_Exp)
-   is
-   begin
-      Put (Win, '(');
-      FIO.Put (Win, Item.Re, Fore, Aft, Exp);
-      Put (Win, ',');
-      FIO.Put (Win, Item.Im, Fore, Aft, Exp);
-      Put (Win, ')');
-   end Put;
-
-   procedure Put
-     (Item : in Complex;
-      Fore : in Field := Default_Fore;
-      Aft  : in Field := Default_Aft;
-      Exp  : in Field := Default_Exp)
-   is
-   begin
-      Put (Get_Window, Item, Fore, Aft, Exp);
-   end Put;
-
-end Terminal_Interface.Curses.Text_IO.Complex_IO;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm deleted file mode 100644 index f8ab75b47d..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm +++ /dev/null @@ -1,76 +0,0 @@ - -terminal_interface-curses-text_io-complex_io.ads - -

File : terminal_interface-curses-text_io-complex_io.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---               Terminal_Interface.Curses.Text_IO.Complex_IO               --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.10 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Ada.Numerics.Generic_Complex_Types;
-
-generic
-   with package Complex_Types is new Ada.Numerics.Generic_Complex_Types (<>);
-
-package Terminal_Interface.Curses.Text_IO.Complex_IO is
-
-   use Complex_Types;
-
-   Default_Fore : Field := 2;
-   Default_Aft  : Field := Real'Digits - 1;
-   Default_Exp  : Field := 3;
-
-   procedure Put
-     (Win  : in Window;
-      Item : in Complex;
-      Fore : in Field := Default_Fore;
-      Aft  : in Field := Default_Aft;
-      Exp  : in Field := Default_Exp);
-
-   procedure Put
-     (Item : in Complex;
-      Fore : in Field := Default_Fore;
-      Aft  : in Field := Default_Aft;
-      Exp  : in Field := Default_Exp);
-
-private
-   pragma Inline (Put);
-
-end Terminal_Interface.Curses.Text_IO.Complex_IO;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm deleted file mode 100644 index 94c7e87fd1..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm +++ /dev/null @@ -1,81 +0,0 @@ - -terminal_interface-curses-text_io-decimal_io.adb - -

File : terminal_interface-curses-text_io-decimal_io.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---               Terminal_Interface.Curses.Text_IO.Decimal_IO               --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.10 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Ada.Text_IO;
-with Terminal_Interface.Curses.Text_IO.Aux;
-
-package body Terminal_Interface.Curses.Text_IO.Decimal_IO is
-
-   package Aux renames Terminal_Interface.Curses.Text_IO.Aux;
-   package DIO is new Ada.Text_IO.Decimal_IO (Num);
-
-   procedure Put
-     (Win  : in Window;
-      Item : in Num;
-      Fore : in Field := Default_Fore;
-      Aft  : in Field := Default_Aft;
-      Exp  : in Field := Default_Exp)
-   is
-      Buf : String (1 .. Field'Last);
-      Len : Field := Fore + 1 + Aft;
-   begin
-      if Exp > 0 then
-         Len := Len + 1 + Exp;
-      end if;
-      DIO.Put (Buf, Item, Aft, Exp);
-      Aux.Put_Buf (Win, Buf, Len, False);
-   end Put;
-
-   procedure Put
-     (Item  : in Num;
-      Fore : in Field := Default_Fore;
-      Aft  : in Field := Default_Aft;
-      Exp  : in Field := Default_Exp) is
-   begin
-      Put (Get_Window, Item, Fore, Aft, Exp);
-   end Put;
-
-end Terminal_Interface.Curses.Text_IO.Decimal_IO;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm deleted file mode 100644 index 78fa1c8f75..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm +++ /dev/null @@ -1,72 +0,0 @@ - -terminal_interface-curses-text_io-decimal_io.ads - -

File : terminal_interface-curses-text_io-decimal_io.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---               Terminal_Interface.Curses.Text_IO.Decimal_IO               --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-generic
-   type Num is delta <> digits <>;
-
-package Terminal_Interface.Curses.Text_IO.Decimal_IO is
-
-   Default_Fore : Field := Num'Fore;
-   Default_Aft  : Field := Num'Aft;
-   Default_Exp  : Field := 0;
-
-   procedure Put
-     (Win  : in Window;
-      Item : in Num;
-      Fore : in Field := Default_Fore;
-      Aft  : in Field := Default_Aft;
-      Exp  : in Field := Default_Exp);
-
-   procedure Put
-     (Item  : in Num;
-      Fore : in Field := Default_Fore;
-      Aft  : in Field := Default_Aft;
-      Exp  : in Field := Default_Exp);
-
-private
-   pragma Inline (Put);
-
-end Terminal_Interface.Curses.Text_IO.Decimal_IO;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm deleted file mode 100644 index 78402d1994..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm +++ /dev/null @@ -1,86 +0,0 @@ - -terminal_interface-curses-text_io-enumeration_io.adb - -

File : terminal_interface-curses-text_io-enumeration_io.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---             Terminal_Interface.Curses.Text_IO.Enumeration_IO             --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.10 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Ada.Text_IO;
-with Ada.Characters.Handling; use Ada.Characters.Handling;
-with Terminal_Interface.Curses.Text_IO.Aux;
-
-package body Terminal_Interface.Curses.Text_IO.Enumeration_IO is
-
-   package Aux renames Terminal_Interface.Curses.Text_IO.Aux;
-   package EIO is new Ada.Text_IO.Enumeration_IO (Enum);
-
-   procedure Put
-     (Win   : in Window;
-      Item  : in Enum;
-      Width : in Field := Default_Width;
-      Set   : in Type_Set := Default_Setting)
-   is
-      Buf  : String (1 .. Field'Last);
-      Tset : Ada.Text_IO.Type_Set;
-   begin
-      if Set /= Mixed_Case then
-         Tset := Ada.Text_IO.Type_Set'Val (Type_Set'Pos (Set));
-      else
-         Tset := Ada.Text_IO.Lower_Case;
-      end if;
-      EIO.Put (Buf, Item, Tset);
-      if Set = Mixed_Case then
-         Buf (Buf'First) := To_Upper (Buf (Buf'First));
-      end if;
-      Aux.Put_Buf (Win, Buf, Width, True, True);
-   end Put;
-
-   procedure Put
-     (Item  : in Enum;
-      Width : in Field := Default_Width;
-      Set   : in Type_Set := Default_Setting)
-   is
-   begin
-      Put (Get_Window, Item, Width, Set);
-   end Put;
-
-end Terminal_Interface.Curses.Text_IO.Enumeration_IO;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm deleted file mode 100644 index 6ade4e289b..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm +++ /dev/null @@ -1,69 +0,0 @@ - -terminal_interface-curses-text_io-enumeration_io.ads - -

File : terminal_interface-curses-text_io-enumeration_io.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---             Terminal_Interface.Curses.Text_IO.Enumeration_IO             --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-generic
-   type Enum is (<>);
-
-package Terminal_Interface.Curses.Text_IO.Enumeration_IO is
-
-   Default_Width : Field := 0;
-   Default_Setting : Type_Set := Mixed_Case;
-
-   procedure Put
-     (Win   : in Window;
-      Item  : in Enum;
-      Width : in Field := Default_Width;
-      Set   : in Type_Set := Default_Setting);
-
-   procedure Put
-     (Item  : in Enum;
-      Width : in Field := Default_Width;
-      Set   : in Type_Set := Default_Setting);
-
-private
-   pragma Inline (Put);
-
-end Terminal_Interface.Curses.Text_IO.Enumeration_IO;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm deleted file mode 100644 index 7d285b1125..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm +++ /dev/null @@ -1,81 +0,0 @@ - -terminal_interface-curses-text_io-fixed_io.adb - -

File : terminal_interface-curses-text_io-fixed_io.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                Terminal_Interface.Curses.Text_IO.Fixed_IO                --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.10 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Ada.Text_IO;
-with Terminal_Interface.Curses.Text_IO.Aux;
-
-package body Terminal_Interface.Curses.Text_IO.Fixed_IO is
-
-   package Aux renames Terminal_Interface.Curses.Text_IO.Aux;
-   package FIXIO is new Ada.Text_IO.Fixed_IO (Num);
-
-   procedure Put
-     (Win  : in Window;
-      Item : in Num;
-      Fore : in Field := Default_Fore;
-      Aft  : in Field := Default_Aft;
-      Exp  : in Field := Default_Exp)
-   is
-      Buf : String (1 .. Field'Last);
-      Len : Field := Fore + 1 + Aft;
-   begin
-      if Exp > 0 then
-         Len := Len + 1 + Exp;
-      end if;
-      FIXIO.Put (Buf, Item, Aft, Exp);
-      Aux.Put_Buf (Win, Buf, Len, False);
-   end Put;
-
-   procedure Put
-     (Item  : in Num;
-      Fore : in Field := Default_Fore;
-      Aft  : in Field := Default_Aft;
-      Exp  : in Field := Default_Exp) is
-   begin
-      Put (Get_Window, Item, Fore, Aft, Exp);
-   end Put;
-
-end Terminal_Interface.Curses.Text_IO.Fixed_IO;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm deleted file mode 100644 index 02aecf06ea..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm +++ /dev/null @@ -1,72 +0,0 @@ - -terminal_interface-curses-text_io-fixed_io.ads - -

File : terminal_interface-curses-text_io-fixed_io.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                Terminal_Interface.Curses.Text_IO.Fixed_IO                --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-generic
-   type Num is delta <>;
-
-package Terminal_Interface.Curses.Text_IO.Fixed_IO is
-
-   Default_Fore : Field := Num'Fore;
-   Default_Aft  : Field := Num'Aft;
-   Default_Exp  : Field := 0;
-
-   procedure Put
-     (Win  : in Window;
-      Item : in Num;
-      Fore : in Field := Default_Fore;
-      Aft  : in Field := Default_Aft;
-      Exp  : in Field := Default_Exp);
-
-   procedure Put
-     (Item  : in Num;
-      Fore : in Field := Default_Fore;
-      Aft  : in Field := Default_Aft;
-      Exp  : in Field := Default_Exp);
-
-private
-   pragma Inline (Put);
-
-end Terminal_Interface.Curses.Text_IO.Fixed_IO;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm deleted file mode 100644 index 48ae17aaeb..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm +++ /dev/null @@ -1,82 +0,0 @@ - -terminal_interface-curses-text_io-float_io.adb - -

File : terminal_interface-curses-text_io-float_io.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                Terminal_Interface.Curses.Text_IO.Float_IO                --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.10 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Ada.Text_IO;
-with Terminal_Interface.Curses.Text_IO.Aux;
-
-package body Terminal_Interface.Curses.Text_IO.Float_IO is
-
-   package Aux renames Terminal_Interface.Curses.Text_IO.Aux;
-   package FIO is new Ada.Text_IO.Float_IO (Num);
-
-   procedure Put
-     (Win  : in Window;
-      Item : in Num;
-      Fore : in Field := Default_Fore;
-      Aft  : in Field := Default_Aft;
-      Exp  : in Field := Default_Exp)
-   is
-      Buf : String (1 .. Field'Last);
-      Len : Field := Fore + 1 + Aft;
-   begin
-      if Exp > 0 then
-         Len := Len + 1 + Exp;
-      end if;
-      FIO.Put (Buf, Item, Aft, Exp);
-      Aux.Put_Buf (Win, Buf, Len, False);
-   end Put;
-
-   procedure Put
-     (Item : in Num;
-      Fore : in Field := Default_Fore;
-      Aft  : in Field := Default_Aft;
-      Exp  : in Field := Default_Exp)
-   is
-   begin
-      Put (Get_Window, Item, Fore, Aft, Exp);
-   end Put;
-
-end Terminal_Interface.Curses.Text_IO.Float_IO;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm deleted file mode 100644 index b56b8be176..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm +++ /dev/null @@ -1,72 +0,0 @@ - -terminal_interface-curses-text_io-float_io.ads - -

File : terminal_interface-curses-text_io-float_io.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                Terminal_Interface.Curses.Text_IO.Float_IO                --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-generic
-   type Num is digits <>;
-
-package Terminal_Interface.Curses.Text_IO.Float_IO is
-
-   Default_Fore : Field := 2;
-   Default_Aft  : Field := Num'Digits - 1;
-   Default_Exp  : Field := 3;
-
-   procedure Put
-     (Win  : in Window;
-      Item : in Num;
-      Fore : in Field := Default_Fore;
-      Aft  : in Field := Default_Aft;
-      Exp  : in Field := Default_Exp);
-
-   procedure Put
-     (Item  : in Num;
-      Fore : in Field := Default_Fore;
-      Aft  : in Field := Default_Aft;
-      Exp  : in Field := Default_Exp);
-
-private
-   pragma Inline (Put);
-
-end Terminal_Interface.Curses.Text_IO.Float_IO;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm deleted file mode 100644 index ce2a28e345..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm +++ /dev/null @@ -1,76 +0,0 @@ - -terminal_interface-curses-text_io-integer_io.adb - -

File : terminal_interface-curses-text_io-integer_io.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---               Terminal_Interface.Curses.Text_IO.Integer_IO               --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.10 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Ada.Text_IO;
-with Terminal_Interface.Curses.Text_IO.Aux;
-
-package body Terminal_Interface.Curses.Text_IO.Integer_IO is
-
-   package Aux renames Terminal_Interface.Curses.Text_IO.Aux;
-   package IIO is new Ada.Text_IO.Integer_IO (Num);
-
-   procedure Put
-     (Win   : in Window;
-      Item  : in Num;
-      Width : in Field := Default_Width;
-      Base  : in Number_Base := Default_Base)
-   is
-      Buf : String (1 .. Field'Last);
-   begin
-      IIO.Put (Buf, Item, Base);
-      Aux.Put_Buf (Win, Buf, Width);
-   end Put;
-
-   procedure Put
-     (Item  : in Num;
-      Width : in Field := Default_Width;
-      Base  : in Number_Base := Default_Base)
-   is
-   begin
-      Put (Get_Window, Item, Width, Base);
-   end Put;
-
-end Terminal_Interface.Curses.Text_IO.Integer_IO;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm deleted file mode 100644 index e3be554543..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm +++ /dev/null @@ -1,69 +0,0 @@ - -terminal_interface-curses-text_io-integer_io.ads - -

File : terminal_interface-curses-text_io-integer_io.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---               Terminal_Interface.Curses.Text_IO.Integer_IO               --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-generic
-   type Num is range <>;
-
-package Terminal_Interface.Curses.Text_IO.Integer_IO is
-
-   Default_Width : Field := Num'Width;
-   Default_Base  : Number_Base := 10;
-
-   procedure Put
-     (Win   : in Window;
-      Item  : in Num;
-      Width : in Field := Default_Width;
-      Base  : in Number_Base := Default_Base);
-
-   procedure Put
-     (Item  : in Num;
-      Width : in Field := Default_Width;
-      Base  : in Number_Base := Default_Base);
-
-private
-   pragma Inline (Put);
-
-end Terminal_Interface.Curses.Text_IO.Integer_IO;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm deleted file mode 100644 index 3360009796..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm +++ /dev/null @@ -1,76 +0,0 @@ - -terminal_interface-curses-text_io-modular_io.adb - -

File : terminal_interface-curses-text_io-modular_io.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---               Terminal_Interface.Curses.Text_IO.Modular_IO               --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.10 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Ada.Text_IO;
-with Terminal_Interface.Curses.Text_IO.Aux;
-
-package body Terminal_Interface.Curses.Text_IO.Modular_IO is
-
-   package Aux renames Terminal_Interface.Curses.Text_IO.Aux;
-   package MIO is new Ada.Text_IO.Modular_IO (Num);
-
-   procedure Put
-     (Win   : in Window;
-      Item  : in Num;
-      Width : in Field := Default_Width;
-      Base  : in Number_Base := Default_Base)
-   is
-      Buf : String (1 .. Field'Last);
-   begin
-      MIO.Put (Buf, Item, Base);
-      Aux.Put_Buf (Win, Buf, Width);
-   end Put;
-
-   procedure Put
-     (Item  : in Num;
-      Width : in Field := Default_Width;
-      Base  : in Number_Base := Default_Base)
-   is
-   begin
-      Put (Get_Window, Item, Width, Base);
-   end Put;
-
-end Terminal_Interface.Curses.Text_IO.Modular_IO;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm deleted file mode 100644 index 8ab3f51444..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm +++ /dev/null @@ -1,69 +0,0 @@ - -terminal_interface-curses-text_io-modular_io.ads - -

File : terminal_interface-curses-text_io-modular_io.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---               Terminal_Interface.Curses.Text_IO.Modular_IO               --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.11 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-generic
-   type Num is mod <>;
-
-package Terminal_Interface.Curses.Text_IO.Modular_IO is
-
-   Default_Width : Field := Num'Width;
-   Default_Base  : Number_Base := 10;
-
-   procedure Put
-     (Win   : in Window;
-      Item  : in Num;
-      Width : in Field := Default_Width;
-      Base  : in Number_Base := Default_Base);
-
-   procedure Put
-     (Item  : in Num;
-      Width : in Field := Default_Width;
-      Base  : in Number_Base := Default_Base);
-
-private
-   pragma Inline (Put);
-
-end Terminal_Interface.Curses.Text_IO.Modular_IO;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io__adb.htm deleted file mode 100644 index cca6461d2c..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io__adb.htm +++ /dev/null @@ -1,343 +0,0 @@ - -terminal_interface-curses-text_io.adb - -

File : terminal_interface-curses-text_io.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                     Terminal_Interface.Curses.Text_IO                    --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998,2004 Free Software Foundation, Inc.                   --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.17 @
---  @Date: 2004/08/21 21:37:00 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-package body Terminal_Interface.Curses.Text_IO is
-
-   Default_Window : Window := Null_Window;
-
-   procedure Set_Window (Win : in Window)
-   is
-   begin
-      Default_Window := Win;
-   end Set_Window;
-
-   function Get_Window return Window
-   is
-   begin
-      if Default_Window = Null_Window then
-         return Standard_Window;
-      else
-         return Default_Window;
-      end if;
-   end Get_Window;
-   pragma Inline (Get_Window);
-
-   procedure Flush (Win : in Window)
-   is
-   begin
-      Refresh (Win);
-   end Flush;
-
-   procedure Flush
-   is
-   begin
-      Flush (Get_Window);
-   end Flush;
-
-   --------------------------------------------
-   -- Specification of line and page lengths --
-   --------------------------------------------
-
-   --  There are no set routines in this package. I assume, that you allocate
-   --  the window with an appropriate size.
-   --  A scroll-window is interpreted as an page with unbounded page length,
-   --  i.e. it returns the conventional 0 as page length.
-
-   function Line_Length (Win : in Window) return Count
-   is
-      N_Lines : Line_Count;
-      N_Cols  : Column_Count;
-   begin
-      Get_Size (Win, N_Lines, N_Cols);
-      --  if Natural (N_Cols) > Natural (Count'Last) then
-      --     raise Layout_Error;
-      --  end if;
-      return Count (N_Cols);
-   end Line_Length;
-
-   function Line_Length return Count
-   is
-   begin
-      return Line_Length (Get_Window);
-   end Line_Length;
-
-   function Page_Length (Win : in Window) return Count
-   is
-      N_Lines : Line_Count;
-      N_Cols  : Column_Count;
-   begin
-      if Scrolling_Allowed (Win) then
-         return 0;
-      else
-         Get_Size (Win, N_Lines, N_Cols);
-         --  if Natural (N_Lines) > Natural (Count'Last) then
-         --     raise Layout_Error;
-         --  end if;
-         return Count (N_Lines);
-      end if;
-   end Page_Length;
-
-   function Page_Length return Count
-   is
-   begin
-      return Page_Length (Get_Window);
-   end Page_Length;
-
-   ------------------------------------
-   -- Column, Line, and Page Control --
-   ------------------------------------
-   procedure New_Line (Win : in Window; Spacing : in Positive_Count := 1)
-   is
-      P_Size : constant Count := Page_Length (Win);
-   begin
-      if Spacing not in Positive_Count then
-         raise Constraint_Error;
-      end if;
-
-      for I in 1 .. Spacing loop
-         if P_Size > 0 and then Line (Win) >= P_Size then
-            New_Page (Win);
-         else
-            Add (Win, ASCII.LF);
-         end if;
-      end loop;
-   end New_Line;
-
-   procedure New_Line (Spacing : in Positive_Count := 1)
-   is
-   begin
-      New_Line (Get_Window, Spacing);
-   end New_Line;
-
-   procedure New_Page (Win : in Window)
-   is
-   begin
-      Clear (Win);
-   end New_Page;
-
-   procedure New_Page
-   is
-   begin
-      New_Page (Get_Window);
-   end New_Page;
-
-   procedure Set_Col (Win : in Window;  To : in Positive_Count)
-   is
-      Y  : Line_Position;
-      X1 : Column_Position;
-      X2 : Column_Position;
-      N  : Natural;
-   begin
-      if To not in Positive_Count then
-         raise Constraint_Error;
-      end if;
-
-      Get_Cursor_Position (Win, Y, X1);
-      N  := Natural (To); N := N - 1;
-      X2 := Column_Position (N);
-      if X1 > X2 then
-         New_Line (Win, 1);
-         X1 := 0;
-      end if;
-      if X1 < X2 then
-         declare
-            Filler : constant String (Integer (X1) .. (Integer (X2) - 1))
-              := (others => ' ');
-         begin
-            Put (Win, Filler);
-         end;
-      end if;
-   end Set_Col;
-
-   procedure Set_Col (To : in Positive_Count)
-   is
-   begin
-      Set_Col (Get_Window, To);
-   end Set_Col;
-
-   procedure Set_Line (Win : in Window; To : in Positive_Count)
-   is
-      Y1 : Line_Position;
-      Y2 : Line_Position;
-      X  : Column_Position;
-      N  : Natural;
-   begin
-      if To not in Positive_Count then
-         raise Constraint_Error;
-      end if;
-
-      Get_Cursor_Position (Win, Y1, X);
-      N  := Natural (To); N := N - 1;
-      Y2 := Line_Position (N);
-      if Y2 < Y1 then
-         New_Page (Win);
-         Y1 := 0;
-      end if;
-      if Y1 < Y2 then
-         New_Line (Win, Positive_Count (Y2 - Y1));
-      end if;
-   end Set_Line;
-
-   procedure Set_Line (To : in Positive_Count)
-   is
-   begin
-      Set_Line (Get_Window, To);
-   end Set_Line;
-
-   function Col (Win : in Window) return Positive_Count
-   is
-      Y : Line_Position;
-      X : Column_Position;
-      N : Natural;
-   begin
-      Get_Cursor_Position (Win, Y, X);
-      N := Natural (X); N := N + 1;
-      --  if N > Natural (Count'Last) then
-      --     raise Layout_Error;
-      --  end if;
-      return Positive_Count (N);
-   end Col;
-
-   function Col return Positive_Count
-   is
-   begin
-      return Col (Get_Window);
-   end Col;
-
-   function Line (Win : in Window) return Positive_Count
-   is
-      Y : Line_Position;
-      X : Column_Position;
-      N : Natural;
-   begin
-      Get_Cursor_Position (Win, Y, X);
-      N := Natural (Y); N := N + 1;
-      --  if N > Natural (Count'Last) then
-      --     raise Layout_Error;
-      --  end if;
-      return Positive_Count (N);
-   end Line;
-
-   function Line return Positive_Count
-   is
-   begin
-      return Line (Get_Window);
-   end Line;
-
-   -----------------------
-   -- Characters Output --
-   -----------------------
-
-   procedure Put (Win  : in Window; Item : in Character)
-   is
-      P_Size : constant Count := Page_Length (Win);
-      Y : Line_Position;
-      X : Column_Position;
-      L : Line_Count;
-      C : Column_Count;
-   begin
-      if P_Size > 0 then
-         Get_Cursor_Position (Win, Y, X);
-         Get_Size (Win, L, C);
-         if (Y + 1) = L and then (X + 1) = C then
-            New_Page (Win);
-         end if;
-      end if;
-      Add (Win, Item);
-   end Put;
-
-   procedure Put (Item : in Character)
-   is
-   begin
-      Put (Get_Window, Item);
-   end Put;
-
-   --------------------
-   -- Strings-Output --
-   --------------------
-
-   procedure Put (Win  : in Window; Item : in String)
-   is
-      P_Size : constant Count := Page_Length (Win);
-      Y : Line_Position;
-      X : Column_Position;
-      L : Line_Count;
-      C : Column_Count;
-   begin
-      if P_Size > 0 then
-         Get_Cursor_Position (Win, Y, X);
-         Get_Size (Win, L, C);
-         if (Y + 1) = L and then (X + 1 + Item'Length) >= C then
-            New_Page (Win);
-         end if;
-      end if;
-      Add (Win, Item);
-   end Put;
-
-   procedure Put (Item : in String)
-   is
-   begin
-      Put (Get_Window, Item);
-   end Put;
-
-   procedure Put_Line
-     (Win  : in Window;
-      Item : in String)
-   is
-   begin
-      Put (Win, Item);
-      New_Line (Win, 1);
-   end Put_Line;
-
-   procedure Put_Line
-     (Item : in String)
-   is
-   begin
-      Put_Line (Get_Window, Item);
-   end Put_Line;
-
-end Terminal_Interface.Curses.Text_IO;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io__ads.htm deleted file mode 100644 index dca55d2493..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-text_io__ads.htm +++ /dev/null @@ -1,142 +0,0 @@ - -terminal_interface-curses-text_io.ads - -

File : terminal_interface-curses-text_io.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                     Terminal_Interface.Curses.Text_IO                    --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.13 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with Ada.Text_IO;
-with Ada.IO_Exceptions;
-
-package Terminal_Interface.Curses.Text_IO is
-
-   use type Ada.Text_IO.Count;
-   subtype Count is Ada.Text_IO.Count;
-   subtype Positive_Count is Count range 1 .. Count'Last;
-
-   subtype Field is Ada.Text_IO.Field;
-   subtype Number_Base is Integer range 2 .. 16;
-
-   type Type_Set is (Lower_Case, Upper_Case, Mixed_Case);
-
-   --  For most of the routines you will see a version without a Window
-   --  type parameter. They will operate on a default window, which can
-   --  be set by the user. It is initially equal to Standard_Window.
-
-   procedure Set_Window (Win : in Window);
-   --  Set Win as the default window
-
-   function Get_Window return Window;
-   --  Get the current default window
-
-   procedure Flush (Win : in Window);
-   procedure Flush;
-
-   --------------------------------------------
-   -- Specification of line and page lengths --
-   --------------------------------------------
-
-   --  There are no set routines in this package. I assume, that you allocate
-   --  the window with an appropriate size.
-   --  A scroll-window is interpreted as an page with unbounded page length,
-   --  i.e. it returns the conventional 0 as page length.
-
-   function Line_Length (Win : in Window) return Count;
-   function Line_Length return Count;
-
-   function Page_Length (Win : in Window) return Count;
-   function Page_Length return Count;
-
-   ------------------------------------
-   -- Column, Line, and Page Control --
-   ------------------------------------
-   procedure New_Line (Win : in Window; Spacing : in Positive_Count := 1);
-   procedure New_Line (Spacing : in Positive_Count := 1);
-
-   procedure New_Page (Win : in Window);
-   procedure New_Page;
-
-   procedure Set_Col (Win : in Window;  To : in Positive_Count);
-   procedure Set_Col (To : in Positive_Count);
-
-   procedure Set_Line (Win : in Window; To : in Positive_Count);
-   procedure Set_Line (To : in Positive_Count);
-
-   function Col (Win : in Window) return Positive_Count;
-   function Col return Positive_Count;
-
-   function Line (Win : in Window) return Positive_Count;
-   function Line return Positive_Count;
-
-   -----------------------
-   -- Characters-Output --
-   -----------------------
-
-   procedure Put (Win  : in Window; Item : in Character);
-   procedure Put (Item : in Character);
-
-   --------------------
-   -- Strings-Output --
-   --------------------
-
-   procedure Put (Win  : in Window; Item : in String);
-   procedure Put (Item : in String);
-
-   procedure Put_Line
-     (Win  : in Window;
-      Item : in String);
-
-   procedure Put_Line
-     (Item : in String);
-
-   --  Exceptions
-
-   Status_Error : exception renames Ada.IO_Exceptions.Status_Error;
-   Mode_Error   : exception renames Ada.IO_Exceptions.Mode_Error;
-   Name_Error   : exception renames Ada.IO_Exceptions.Name_Error;
-   Use_Error    : exception renames Ada.IO_Exceptions.Use_Error;
-   Device_Error : exception renames Ada.IO_Exceptions.Device_Error;
-   End_Error    : exception renames Ada.IO_Exceptions.End_Error;
-   Data_Error   : exception renames Ada.IO_Exceptions.Data_Error;
-   Layout_Error : exception renames Ada.IO_Exceptions.Layout_Error;
-
-end Terminal_Interface.Curses.Text_IO;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-trace__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-trace__adb.htm deleted file mode 100644 index 04dae6b930..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-trace__adb.htm +++ /dev/null @@ -1,60 +0,0 @@ - -terminal_interface-curses-trace.adb - -

File : terminal_interface-curses-trace.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                      Terminal_Interface.Curses.Trace                     --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 2000,2004 Free Software Foundation, Inc.                   --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.5 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-
-package body Terminal_Interface.Curses.Trace is
-
-   procedure Trace_On (x : Trace_Attribute_Set) is
-   begin
-      null;
-   end Trace_On;
-
-   procedure Trace_Put (str : String) is
-   begin
-      null;
-   end Trace_Put;
-
-end Terminal_Interface.Curses.Trace;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-trace__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses-trace__ads.htm deleted file mode 100644 index 936924c079..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses-trace__ads.htm +++ /dev/null @@ -1,119 +0,0 @@ - -terminal_interface-curses-trace.ads - -

File : terminal_interface-curses-trace.ads


-
-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                      Terminal_Interface.Curses.Trace                     --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 2000 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author: Eugene V. Melaragno <aldomel@ix.netcom.com> 2000
---  Version Control:
---  @Revision: 1.1 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-
-package Terminal_Interface.Curses.Trace is
-   pragma Preelaborate (Terminal_Interface.Curses.Trace);
-
-   pragma Warnings (Off);
-   type Trace_Attribute_Set is
-      record
-         Times            : Boolean;
-         Tputs            : Boolean;
-         Update           : Boolean;
-         Cursor_Move      : Boolean;
-         Character_Output : Boolean;
-         Calls            : Boolean;
-         Virtual_Puts     : Boolean;
-         Input_Events     : Boolean;
-         TTY_State        : Boolean;
-         Internal_Calls   : Boolean;
-         Character_Calls  : Boolean;
-         Termcap_TermInfo : Boolean;
-      end record;
-   pragma Convention (C, Trace_Attribute_Set);
-
-   for Trace_Attribute_Set use
-      record
-         Times            at 0 range  0 ..  0;
-         Tputs            at 0 range  1 ..  1;
-         Update           at 0 range  2 ..  2;
-         Cursor_Move      at 0 range  3 ..  3;
-         Character_Output at 0 range  4 ..  4;
-         Calls            at 0 range  5 ..  5;
-         Virtual_Puts     at 0 range  6 ..  6;
-         Input_Events     at 0 range  7 ..  7;
-         TTY_State        at 0 range  8 ..  8;
-         Internal_Calls   at 0 range  9 ..  9;
-         Character_Calls  at 0 range 10 .. 10;
-         Termcap_TermInfo at 0 range 11 .. 11;
-      end record;
-   for Trace_Attribute_Set'Size use 32;
-   --  Please note: this rep. clause is generated and may be
-   --               different on your system.
-
-   pragma Warnings (On);
-
-   Trace_Disable  : constant Trace_Attribute_Set := (others => False);
-
-   Trace_Ordinary : constant Trace_Attribute_Set :=
-     (Times            => True,
-      Tputs            => True,
-      Update           => True,
-      Cursor_Move      => True,
-      Character_Output => True,
-      others           => False);
-   Trace_Maximum : constant Trace_Attribute_Set := (others => True);
-
-------------------------------------------------------------------------------
-
-   --  |=====================================================================
-   --  | Man page curs_trace.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_1"#2|
-   procedure Trace_On (x : Trace_Attribute_Set);
-   --  The debugging library has trace.
-
-   --  #1A NAME="AFU_2"#2|
-   procedure Trace_Put (str : String);
-   --  AKA: _tracef()
-
-   Current_Trace_Setting : Trace_Attribute_Set;
-   pragma Import (C, Current_Trace_Setting, "_nc_tracing");
-
-end Terminal_Interface.Curses.Trace;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses__adb.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses__adb.htm deleted file mode 100644 index 5081cf6223..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses__adb.htm +++ /dev/null @@ -1,2573 +0,0 @@ - -terminal_interface-curses.adb - -

File : terminal_interface-curses.adb


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                        Terminal_Interface.Curses                         --
---                                                                          --
---                                 B O D Y                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998,2004 Free Software Foundation, Inc.                   --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author: Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.32 @
---  @Date: 2004/08/21 21:37:00 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-with System;
-
-with Terminal_Interface.Curses.Aux;
-with Interfaces.C;                  use Interfaces.C;
-with Interfaces.C.Strings;          use Interfaces.C.Strings;
-with Interfaces.C.Pointers;
-with Ada.Characters.Handling;       use Ada.Characters.Handling;
-with Ada.Strings.Fixed;
-with Ada.Unchecked_Conversion;
-
-package body Terminal_Interface.Curses is
-
-   use Aux;
-   use type System.Bit_Order;
-
-   package ASF renames Ada.Strings.Fixed;
-
-   type chtype_array is array (size_t range <>)
-      of aliased Attributed_Character;
-   pragma Convention (C, chtype_array);
-
-------------------------------------------------------------------------------
-   generic
-      type Element is (<>);
-   function W_Get_Element (Win    : in Window;
-                           Offset : in Natural) return Element;
-
-   function W_Get_Element (Win    : in Window;
-                           Offset : in Natural) return Element is
-      type E_Array is array (Natural range <>) of aliased Element;
-      package C_E_Array is new
-        Interfaces.C.Pointers (Natural, Element, E_Array, Element'Val (0));
-      use C_E_Array;
-
-      function To_Pointer is new
-        Ada.Unchecked_Conversion (Window, Pointer);
-
-      P : Pointer := To_Pointer (Win);
-   begin
-      if Win = Null_Window then
-         raise Curses_Exception;
-      else
-         P := P + ptrdiff_t (Offset);
-         return P.all;
-      end if;
-   end W_Get_Element;
-
-   function W_Get_Int   is new W_Get_Element (C_Int);
-   function W_Get_Short is new W_Get_Element (C_Short);
-   function W_Get_Byte  is new W_Get_Element (Interfaces.C.unsigned_char);
-
-   function Get_Flag (Win    : Window;
-                      Offset : Natural) return Boolean;
-
-   function Get_Flag (Win    : Window;
-                      Offset : Natural) return Boolean
-   is
-      Res : C_Int;
-   begin
-      case Sizeof_bool is
-         when 1 => Res := C_Int (W_Get_Byte  (Win, Offset));
-         when 2 => Res := C_Int (W_Get_Short (Win, Offset));
-         when 4 => Res := C_Int (W_Get_Int   (Win, Offset));
-         when others => raise Curses_Exception;
-      end case;
-
-      case Res is
-         when 0       => return False;
-         when others  => return True;
-      end case;
-   end Get_Flag;
-
-------------------------------------------------------------------------------
-   function Key_Name (Key : in Real_Key_Code) return String
-   is
-      function Keyname (K : C_Int) return chars_ptr;
-      pragma Import (C, Keyname, "keyname");
-
-      Ch : Character;
-   begin
-      if Key <= Character'Pos (Character'Last) then
-         Ch := Character'Val (Key);
-         if Is_Control (Ch) then
-            return Un_Control (Attributed_Character'(Ch    => Ch,
-                                                     Color => Color_Pair'First,
-                                                     Attr  => Normal_Video));
-         elsif Is_Graphic (Ch) then
-            declare
-               S : String (1 .. 1);
-            begin
-               S (1) := Ch;
-               return S;
-            end;
-         else
-            return "";
-         end if;
-      else
-         return Fill_String (Keyname (C_Int (Key)));
-      end if;
-   end Key_Name;
-
-   procedure Key_Name (Key  : in  Real_Key_Code;
-                       Name : out String)
-   is
-   begin
-      ASF.Move (Key_Name (Key), Name);
-   end Key_Name;
-
-------------------------------------------------------------------------------
-   procedure Init_Screen
-   is
-      function Initscr return Window;
-      pragma Import (C, Initscr, "initscr");
-
-      W : Window;
-   begin
-      W := Initscr;
-      if W = Null_Window then
-         raise Curses_Exception;
-      end if;
-   end Init_Screen;
-
-   procedure End_Windows
-   is
-      function Endwin return C_Int;
-      pragma Import (C, Endwin, "endwin");
-   begin
-      if Endwin = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end End_Windows;
-
-   function Is_End_Window return Boolean
-   is
-      function Isendwin return Curses_Bool;
-      pragma Import (C, Isendwin, "isendwin");
-   begin
-      if Isendwin = Curses_Bool_False then
-         return False;
-      else
-         return True;
-      end if;
-   end Is_End_Window;
-------------------------------------------------------------------------------
-   procedure Move_Cursor (Win    : in Window := Standard_Window;
-                          Line   : in Line_Position;
-                          Column : in Column_Position)
-   is
-      function Wmove (Win    : Window;
-                      Line   : C_Int;
-                      Column : C_Int
-                     ) return C_Int;
-      pragma Import (C, Wmove, "wmove");
-   begin
-      if Wmove (Win, C_Int (Line), C_Int (Column)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Move_Cursor;
-------------------------------------------------------------------------------
-   procedure Add (Win : in Window := Standard_Window;
-                  Ch  : in Attributed_Character)
-   is
-      function Waddch (W  : Window;
-                       Ch : C_Chtype) return C_Int;
-      pragma Import (C, Waddch, "waddch");
-   begin
-      if Waddch (Win, AttrChar_To_Chtype (Ch)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Add;
-
-   procedure Add (Win : in Window := Standard_Window;
-                  Ch  : in Character)
-   is
-   begin
-      Add (Win,
-           Attributed_Character'(Ch    => Ch,
-                                 Color => Color_Pair'First,
-                                 Attr  => Normal_Video));
-   end Add;
-
-   procedure Add
-     (Win    : in Window := Standard_Window;
-      Line   : in Line_Position;
-      Column : in Column_Position;
-      Ch     : in Attributed_Character)
-   is
-      function mvwaddch (W  : Window;
-                         Y  : C_Int;
-                         X  : C_Int;
-                         Ch : C_Chtype) return C_Int;
-      pragma Import (C, mvwaddch, "mvwaddch");
-   begin
-      if mvwaddch (Win, C_Int (Line),
-                   C_Int (Column),
-                   AttrChar_To_Chtype (Ch)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Add;
-
-   procedure Add
-     (Win    : in Window := Standard_Window;
-      Line   : in Line_Position;
-      Column : in Column_Position;
-      Ch     : in Character)
-   is
-   begin
-      Add (Win,
-           Line,
-           Column,
-           Attributed_Character'(Ch    => Ch,
-                                 Color => Color_Pair'First,
-                                 Attr  => Normal_Video));
-   end Add;
-
-   procedure Add_With_Immediate_Echo
-     (Win : in Window := Standard_Window;
-      Ch  : in Attributed_Character)
-   is
-      function Wechochar (W  : Window;
-                          Ch : C_Chtype) return C_Int;
-      pragma Import (C, Wechochar, "wechochar");
-   begin
-      if Wechochar (Win, AttrChar_To_Chtype (Ch)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Add_With_Immediate_Echo;
-
-   procedure Add_With_Immediate_Echo
-     (Win : in Window := Standard_Window;
-      Ch  : in Character)
-   is
-   begin
-      Add_With_Immediate_Echo
-        (Win,
-         Attributed_Character'(Ch    => Ch,
-                               Color => Color_Pair'First,
-                               Attr  => Normal_Video));
-   end Add_With_Immediate_Echo;
-------------------------------------------------------------------------------
-   function Create (Number_Of_Lines       : Line_Count;
-                    Number_Of_Columns     : Column_Count;
-                    First_Line_Position   : Line_Position;
-                    First_Column_Position : Column_Position) return Window
-   is
-      function Newwin (Number_Of_Lines       : C_Int;
-                       Number_Of_Columns     : C_Int;
-                       First_Line_Position   : C_Int;
-                       First_Column_Position : C_Int) return Window;
-      pragma Import (C, Newwin, "newwin");
-
-      W : Window;
-   begin
-      W := Newwin (C_Int (Number_Of_Lines),
-                   C_Int (Number_Of_Columns),
-                   C_Int (First_Line_Position),
-                   C_Int (First_Column_Position));
-      if W = Null_Window then
-         raise Curses_Exception;
-      end if;
-      return W;
-   end Create;
-
-   procedure Delete (Win : in out Window)
-   is
-      function Wdelwin (W : Window) return C_Int;
-      pragma Import (C, Wdelwin, "delwin");
-   begin
-      if Wdelwin (Win) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-      Win := Null_Window;
-   end Delete;
-
-   function Sub_Window
-     (Win                   : Window := Standard_Window;
-      Number_Of_Lines       : Line_Count;
-      Number_Of_Columns     : Column_Count;
-      First_Line_Position   : Line_Position;
-      First_Column_Position : Column_Position) return Window
-   is
-      function Subwin
-        (Win                   : Window;
-         Number_Of_Lines       : C_Int;
-         Number_Of_Columns     : C_Int;
-         First_Line_Position   : C_Int;
-         First_Column_Position : C_Int) return Window;
-      pragma Import (C, Subwin, "subwin");
-
-      W : Window;
-   begin
-      W := Subwin (Win,
-                   C_Int (Number_Of_Lines),
-                   C_Int (Number_Of_Columns),
-                   C_Int (First_Line_Position),
-                   C_Int (First_Column_Position));
-      if W = Null_Window then
-         raise Curses_Exception;
-      end if;
-      return W;
-   end Sub_Window;
-
-   function Derived_Window
-     (Win                   : Window := Standard_Window;
-      Number_Of_Lines       : Line_Count;
-      Number_Of_Columns     : Column_Count;
-      First_Line_Position   : Line_Position;
-      First_Column_Position : Column_Position) return Window
-   is
-      function Derwin
-        (Win                   : Window;
-         Number_Of_Lines       : C_Int;
-         Number_Of_Columns     : C_Int;
-         First_Line_Position   : C_Int;
-         First_Column_Position : C_Int) return Window;
-      pragma Import (C, Derwin, "derwin");
-
-      W : Window;
-   begin
-      W := Derwin (Win,
-                   C_Int (Number_Of_Lines),
-                   C_Int (Number_Of_Columns),
-                   C_Int (First_Line_Position),
-                   C_Int (First_Column_Position));
-      if W = Null_Window then
-         raise Curses_Exception;
-      end if;
-      return W;
-   end Derived_Window;
-
-   function Duplicate (Win : Window) return Window
-   is
-      function Dupwin (Win : Window) return Window;
-      pragma Import (C, Dupwin, "dupwin");
-
-      W : constant Window := Dupwin (Win);
-   begin
-      if W = Null_Window then
-         raise Curses_Exception;
-      end if;
-      return W;
-   end Duplicate;
-
-   procedure Move_Window (Win    : in Window;
-                          Line   : in Line_Position;
-                          Column : in Column_Position)
-   is
-      function Mvwin (Win    : Window;
-                      Line   : C_Int;
-                      Column : C_Int) return C_Int;
-      pragma Import (C, Mvwin, "mvwin");
-   begin
-      if Mvwin (Win, C_Int (Line), C_Int (Column)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Move_Window;
-
-   procedure Move_Derived_Window (Win    : in Window;
-                                  Line   : in Line_Position;
-                                  Column : in Column_Position)
-   is
-      function Mvderwin (Win    : Window;
-                         Line   : C_Int;
-                         Column : C_Int) return C_Int;
-      pragma Import (C, Mvderwin, "mvderwin");
-   begin
-      if Mvderwin (Win, C_Int (Line), C_Int (Column)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Move_Derived_Window;
-
-   procedure Set_Synch_Mode (Win  : in Window  := Standard_Window;
-                             Mode : in Boolean := False)
-   is
-      function Syncok (Win  : Window;
-                       Mode : Curses_Bool) return C_Int;
-      pragma Import (C, Syncok, "syncok");
-   begin
-      if Syncok (Win, Curses_Bool (Boolean'Pos (Mode))) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_Synch_Mode;
-------------------------------------------------------------------------------
-   procedure Add (Win : in Window := Standard_Window;
-                  Str : in String;
-                  Len : in Integer := -1)
-   is
-      function Waddnstr (Win : Window;
-                         Str : char_array;
-                         Len : C_Int := -1) return C_Int;
-      pragma Import (C, Waddnstr, "waddnstr");
-
-      Txt    : char_array (0 .. Str'Length);
-      Length : size_t;
-   begin
-      To_C (Str, Txt, Length);
-      if Waddnstr (Win, Txt, C_Int (Len)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Add;
-
-   procedure Add
-     (Win    : in Window := Standard_Window;
-      Line   : in Line_Position;
-      Column : in Column_Position;
-      Str    : in String;
-      Len    : in Integer := -1)
-   is
-   begin
-      Move_Cursor (Win, Line, Column);
-      Add (Win, Str, Len);
-   end Add;
-------------------------------------------------------------------------------
-   procedure Add
-     (Win : in Window := Standard_Window;
-      Str : in Attributed_String;
-      Len : in Integer := -1)
-   is
-      function Waddchnstr (Win : Window;
-                           Str : chtype_array;
-                           Len : C_Int := -1) return C_Int;
-      pragma Import (C, Waddchnstr, "waddchnstr");
-
-      Txt : chtype_array (0 .. Str'Length);
-   begin
-      for Length in 1 .. size_t (Str'Length) loop
-         Txt (Length - 1) := Str (Natural (Length));
-      end loop;
-      Txt (Str'Length) := Default_Character;
-      if Waddchnstr (Win,
-                     Txt,
-                     C_Int (Len)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Add;
-
-   procedure Add
-     (Win    : in Window := Standard_Window;
-      Line   : in Line_Position;
-      Column : in Column_Position;
-      Str    : in Attributed_String;
-      Len    : in Integer := -1)
-   is
-   begin
-      Move_Cursor (Win, Line, Column);
-      Add (Win, Str, Len);
-   end Add;
-------------------------------------------------------------------------------
-   procedure Border
-     (Win                       : in Window := Standard_Window;
-      Left_Side_Symbol          : in Attributed_Character := Default_Character;
-      Right_Side_Symbol         : in Attributed_Character := Default_Character;
-      Top_Side_Symbol           : in Attributed_Character := Default_Character;
-      Bottom_Side_Symbol        : in Attributed_Character := Default_Character;
-      Upper_Left_Corner_Symbol  : in Attributed_Character := Default_Character;
-      Upper_Right_Corner_Symbol : in Attributed_Character := Default_Character;
-      Lower_Left_Corner_Symbol  : in Attributed_Character := Default_Character;
-      Lower_Right_Corner_Symbol : in Attributed_Character := Default_Character)
-   is
-      function Wborder (W   : Window;
-                        LS  : C_Chtype;
-                        RS  : C_Chtype;
-                        TS  : C_Chtype;
-                        BS  : C_Chtype;
-                        ULC : C_Chtype;
-                        URC : C_Chtype;
-                        LLC : C_Chtype;
-                        LRC : C_Chtype) return C_Int;
-      pragma Import (C, Wborder, "wborder");
-   begin
-      if Wborder (Win,
-                  AttrChar_To_Chtype (Left_Side_Symbol),
-                  AttrChar_To_Chtype (Right_Side_Symbol),
-                  AttrChar_To_Chtype (Top_Side_Symbol),
-                  AttrChar_To_Chtype (Bottom_Side_Symbol),
-                  AttrChar_To_Chtype (Upper_Left_Corner_Symbol),
-                  AttrChar_To_Chtype (Upper_Right_Corner_Symbol),
-                  AttrChar_To_Chtype (Lower_Left_Corner_Symbol),
-                  AttrChar_To_Chtype (Lower_Right_Corner_Symbol)
-                  ) = Curses_Err
-      then
-         raise Curses_Exception;
-      end if;
-   end Border;
-
-   procedure Box
-     (Win               : in Window := Standard_Window;
-      Vertical_Symbol   : in Attributed_Character := Default_Character;
-      Horizontal_Symbol : in Attributed_Character := Default_Character)
-   is
-   begin
-      Border (Win,
-              Vertical_Symbol, Vertical_Symbol,
-              Horizontal_Symbol, Horizontal_Symbol);
-   end Box;
-
-   procedure Horizontal_Line
-     (Win         : in Window := Standard_Window;
-      Line_Size   : in Natural;
-      Line_Symbol : in Attributed_Character := Default_Character)
-   is
-      function Whline (W   : Window;
-                       Ch  : C_Chtype;
-                       Len : C_Int) return C_Int;
-      pragma Import (C, Whline, "whline");
-   begin
-      if Whline (Win,
-                 AttrChar_To_Chtype (Line_Symbol),
-                 C_Int (Line_Size)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Horizontal_Line;
-
-   procedure Vertical_Line
-     (Win         : in Window := Standard_Window;
-      Line_Size   : in Natural;
-      Line_Symbol : in Attributed_Character := Default_Character)
-   is
-      function Wvline (W   : Window;
-                       Ch  : C_Chtype;
-                       Len : C_Int) return C_Int;
-      pragma Import (C, Wvline, "wvline");
-   begin
-      if Wvline (Win,
-                 AttrChar_To_Chtype (Line_Symbol),
-                 C_Int (Line_Size)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Vertical_Line;
-
-------------------------------------------------------------------------------
-   function Get_Keystroke (Win : Window := Standard_Window)
-     return Real_Key_Code
-   is
-      function Wgetch (W : Window) return C_Int;
-      pragma Import (C, Wgetch, "wgetch");
-
-      C : constant C_Int := Wgetch (Win);
-   begin
-      if C = Curses_Err then
-         return Key_None;
-      else
-         return Real_Key_Code (C);
-      end if;
-   end Get_Keystroke;
-
-   procedure Undo_Keystroke (Key : in Real_Key_Code)
-   is
-      function Ungetch (Ch : C_Int) return C_Int;
-      pragma Import (C, Ungetch, "ungetch");
-   begin
-      if Ungetch (C_Int (Key)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Undo_Keystroke;
-
-   function Has_Key (Key : Special_Key_Code) return Boolean
-   is
-      function Haskey (Key : C_Int) return C_Int;
-      pragma Import (C, Haskey, "has_key");
-   begin
-      if Haskey (C_Int (Key)) = Curses_False then
-         return False;
-      else
-         return True;
-      end if;
-   end Has_Key;
-
-   function Is_Function_Key (Key : Special_Key_Code) return Boolean
-   is
-      L : constant Special_Key_Code  := Special_Key_Code (Natural (Key_F0) +
-        Natural (Function_Key_Number'Last));
-   begin
-      if (Key >= Key_F0) and then (Key <= L) then
-         return True;
-      else
-         return False;
-      end if;
-   end Is_Function_Key;
-
-   function Function_Key (Key : Real_Key_Code)
-                          return Function_Key_Number
-   is
-   begin
-      if Is_Function_Key (Key) then
-         return Function_Key_Number (Key - Key_F0);
-      else
-         raise Constraint_Error;
-      end if;
-   end Function_Key;
-
-   function Function_Key_Code (Key : Function_Key_Number) return Real_Key_Code
-   is
-   begin
-      return Real_Key_Code (Natural (Key_F0) + Natural (Key));
-   end Function_Key_Code;
-------------------------------------------------------------------------------
-   procedure Standout (Win : Window  := Standard_Window;
-                       On  : Boolean := True)
-   is
-      function wstandout (Win : Window) return C_Int;
-      pragma Import (C, wstandout, "wstandout");
-      function wstandend (Win : Window) return C_Int;
-      pragma Import (C, wstandend, "wstandend");
-
-      Err : C_Int;
-   begin
-      if On then
-         Err := wstandout (Win);
-      else
-         Err := wstandend (Win);
-      end if;
-      if Err = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Standout;
-
-   procedure Switch_Character_Attribute
-     (Win  : in Window := Standard_Window;
-      Attr : in Character_Attribute_Set := Normal_Video;
-      On   : in Boolean := True)
-   is
-      function Wattron (Win    : Window;
-                        C_Attr : C_AttrType) return C_Int;
-      pragma Import (C, Wattron, "wattr_on");
-      function Wattroff (Win    : Window;
-                         C_Attr : C_AttrType) return C_Int;
-      pragma Import (C, Wattroff, "wattr_off");
-      --  In Ada we use the On Boolean to control whether or not we want to
-      --  switch on or off the attributes in the set.
-      Err : C_Int;
-      AC  : constant Attributed_Character := (Ch    => Character'First,
-                                              Color => Color_Pair'First,
-                                              Attr  => Attr);
-   begin
-      if On then
-         Err := Wattron  (Win, AttrChar_To_AttrType (AC));
-      else
-         Err := Wattroff (Win, AttrChar_To_AttrType (AC));
-      end if;
-      if Err = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Switch_Character_Attribute;
-
-   procedure Set_Character_Attributes
-     (Win   : in Window := Standard_Window;
-      Attr  : in Character_Attribute_Set := Normal_Video;
-      Color : in Color_Pair := Color_Pair'First)
-   is
-      function Wattrset (Win    : Window;
-                         C_Attr : C_AttrType) return C_Int;
-      pragma Import (C, Wattrset, "wattrset"); -- ??? wattr_set
-   begin
-      if Wattrset (Win,
-                   AttrChar_To_AttrType (Attributed_Character'
-                                         (Ch    => Character'First,
-                                          Color => Color,
-                                          Attr  => Attr))) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_Character_Attributes;
-
-   function Get_Character_Attribute (Win : Window := Standard_Window)
-                                     return Character_Attribute_Set
-   is
-      function Wattrget (Win : Window;
-                         Atr : access C_AttrType;
-                         Col : access C_Short;
-                         Opt : System.Address) return C_Int;
-      pragma Import (C, Wattrget, "wattr_get");
-
-      Attr : aliased C_AttrType;
-      Col  : aliased C_Short;
-      Res  : constant C_Int := Wattrget (Win, Attr'Access, Col'Access,
-                                         System.Null_Address);
-      Ch   : Attributed_Character;
-   begin
-      if Res = Curses_Ok then
-         Ch := AttrType_To_AttrChar (Attr);
-         return Ch.Attr;
-      else
-         raise Curses_Exception;
-      end if;
-   end Get_Character_Attribute;
-
-   function Get_Character_Attribute (Win : Window := Standard_Window)
-                                     return Color_Pair
-   is
-      function Wattrget (Win : Window;
-                         Atr : access C_AttrType;
-                         Col : access C_Short;
-                         Opt : System.Address) return C_Int;
-      pragma Import (C, Wattrget, "wattr_get");
-
-      Attr : aliased C_AttrType;
-      Col  : aliased C_Short;
-      Res  : constant C_Int := Wattrget (Win, Attr'Access, Col'Access,
-                                         System.Null_Address);
-      Ch   : Attributed_Character;
-   begin
-      if Res = Curses_Ok then
-         Ch := AttrType_To_AttrChar (Attr);
-         return Ch.Color;
-      else
-         raise Curses_Exception;
-      end if;
-   end Get_Character_Attribute;
-
-   procedure Set_Color (Win  : in Window := Standard_Window;
-                        Pair : in Color_Pair)
-   is
-      function Wset_Color (Win   : Window;
-                           Color : C_Short;
-                           Opts  : C_Void_Ptr) return C_Int;
-      pragma Import (C, Wset_Color, "wcolor_set");
-   begin
-      if Wset_Color (Win,
-                     C_Short (Pair),
-                     C_Void_Ptr (System.Null_Address)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_Color;
-
-   procedure Change_Attributes
-     (Win   : in Window := Standard_Window;
-      Count : in Integer := -1;
-      Attr  : in Character_Attribute_Set := Normal_Video;
-      Color : in Color_Pair := Color_Pair'First)
-   is
-      function Wchgat (Win   : Window;
-                       Cnt   : C_Int;
-                       Attr  : C_AttrType;
-                       Color : C_Short;
-                       Opts  : System.Address := System.Null_Address)
-                       return C_Int;
-      pragma Import (C, Wchgat, "wchgat");
-
-      Ch : constant Attributed_Character :=
-        (Ch => Character'First, Color => Color_Pair'First, Attr => Attr);
-   begin
-      if Wchgat (Win, C_Int (Count), AttrChar_To_AttrType (Ch),
-                 C_Short (Color)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Change_Attributes;
-
-   procedure Change_Attributes
-     (Win    : in Window := Standard_Window;
-      Line   : in Line_Position := Line_Position'First;
-      Column : in Column_Position := Column_Position'First;
-      Count  : in Integer := -1;
-      Attr   : in Character_Attribute_Set := Normal_Video;
-      Color  : in Color_Pair := Color_Pair'First)
-   is
-   begin
-      Move_Cursor (Win, Line, Column);
-      Change_Attributes (Win, Count, Attr, Color);
-   end Change_Attributes;
-------------------------------------------------------------------------------
-   procedure Beep
-   is
-      function Beeper return C_Int;
-      pragma Import (C, Beeper, "beep");
-   begin
-      if Beeper = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Beep;
-
-   procedure Flash_Screen
-   is
-      function Flash return C_Int;
-      pragma Import (C, Flash, "flash");
-   begin
-      if Flash = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Flash_Screen;
-------------------------------------------------------------------------------
-   procedure Set_Cbreak_Mode (SwitchOn : in Boolean := True)
-   is
-      function Cbreak return C_Int;
-      pragma Import (C, Cbreak, "cbreak");
-      function NoCbreak return C_Int;
-      pragma Import (C, NoCbreak, "nocbreak");
-
-      Err : C_Int;
-   begin
-      if SwitchOn then
-         Err := Cbreak;
-      else
-         Err := NoCbreak;
-      end if;
-      if Err = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_Cbreak_Mode;
-
-   procedure Set_Raw_Mode (SwitchOn : in Boolean := True)
-   is
-      function Raw return C_Int;
-      pragma Import (C, Raw, "raw");
-      function NoRaw return C_Int;
-      pragma Import (C, NoRaw, "noraw");
-
-      Err : C_Int;
-   begin
-      if SwitchOn then
-         Err := Raw;
-      else
-         Err := NoRaw;
-      end if;
-      if Err = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_Raw_Mode;
-
-   procedure Set_Echo_Mode (SwitchOn : in Boolean := True)
-   is
-      function Echo return C_Int;
-      pragma Import (C, Echo, "echo");
-      function NoEcho return C_Int;
-      pragma Import (C, NoEcho, "noecho");
-
-      Err : C_Int;
-   begin
-      if SwitchOn then
-         Err := Echo;
-      else
-         Err := NoEcho;
-      end if;
-      if Err = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_Echo_Mode;
-
-   procedure Set_Meta_Mode (Win      : in Window := Standard_Window;
-                            SwitchOn : in Boolean := True)
-   is
-      function Meta (W : Window; Mode : Curses_Bool) return C_Int;
-      pragma Import (C, Meta, "meta");
-   begin
-      if Meta (Win, Curses_Bool (Boolean'Pos (SwitchOn))) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_Meta_Mode;
-
-   procedure Set_KeyPad_Mode (Win      : in Window := Standard_Window;
-                              SwitchOn : in Boolean := True)
-   is
-      function Keypad (W : Window; Mode : Curses_Bool) return C_Int;
-      pragma Import (C, Keypad, "keypad");
-   begin
-      if Keypad (Win, Curses_Bool (Boolean'Pos (SwitchOn))) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_KeyPad_Mode;
-
-   function Get_KeyPad_Mode (Win : in Window := Standard_Window)
-                             return Boolean
-   is
-   begin
-      return Get_Flag (Win, Offset_use_keypad);
-   end Get_KeyPad_Mode;
-
-   procedure Half_Delay (Amount : in Half_Delay_Amount)
-   is
-      function Halfdelay (Amount : C_Int) return C_Int;
-      pragma Import (C, Halfdelay, "halfdelay");
-   begin
-      if Halfdelay (C_Int (Amount)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Half_Delay;
-
-   procedure Set_Flush_On_Interrupt_Mode
-     (Win  : in Window := Standard_Window;
-      Mode : in Boolean := True)
-   is
-      function Intrflush (Win : Window; Mode : Curses_Bool) return C_Int;
-      pragma Import (C, Intrflush, "intrflush");
-   begin
-      if Intrflush (Win, Curses_Bool (Boolean'Pos (Mode))) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_Flush_On_Interrupt_Mode;
-
-   procedure Set_Queue_Interrupt_Mode
-     (Win   : in Window := Standard_Window;
-      Flush : in Boolean := True)
-   is
-      procedure Qiflush;
-      pragma Import (C, Qiflush, "qiflush");
-      procedure No_Qiflush;
-      pragma Import (C, No_Qiflush, "noqiflush");
-   begin
-      if Win = Null_Window then
-         raise Curses_Exception;
-      end if;
-      if Flush then
-         Qiflush;
-      else
-         No_Qiflush;
-      end if;
-   end Set_Queue_Interrupt_Mode;
-
-   procedure Set_NoDelay_Mode
-     (Win  : in Window := Standard_Window;
-      Mode : in Boolean := False)
-   is
-      function Nodelay (Win : Window; Mode : Curses_Bool) return C_Int;
-      pragma Import (C, Nodelay, "nodelay");
-   begin
-      if Nodelay (Win, Curses_Bool (Boolean'Pos (Mode))) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_NoDelay_Mode;
-
-   procedure Set_Timeout_Mode (Win    : in Window := Standard_Window;
-                               Mode   : in Timeout_Mode;
-                               Amount : in Natural)
-   is
-      function Wtimeout (Win : Window; Amount : C_Int) return C_Int;
-      pragma Import (C, Wtimeout, "wtimeout");
-
-      Time : C_Int;
-   begin
-      case Mode is
-         when Blocking     => Time := -1;
-         when Non_Blocking => Time := 0;
-         when Delayed      =>
-            if Amount = 0 then
-               raise Constraint_Error;
-            end if;
-            Time := C_Int (Amount);
-      end case;
-      if Wtimeout (Win, Time) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_Timeout_Mode;
-
-   procedure Set_Escape_Timer_Mode
-     (Win       : in Window := Standard_Window;
-      Timer_Off : in Boolean := False)
-   is
-      function Notimeout (Win : Window; Mode : Curses_Bool) return C_Int;
-      pragma Import (C, Notimeout, "notimeout");
-   begin
-      if Notimeout (Win, Curses_Bool (Boolean'Pos (Timer_Off)))
-        = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_Escape_Timer_Mode;
-
-------------------------------------------------------------------------------
-   procedure Set_NL_Mode (SwitchOn : in Boolean := True)
-   is
-      function NL return C_Int;
-      pragma Import (C, NL, "nl");
-      function NoNL return C_Int;
-      pragma Import (C, NoNL, "nonl");
-
-      Err : C_Int;
-   begin
-      if SwitchOn then
-         Err := NL;
-      else
-         Err := NoNL;
-      end if;
-      if Err = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_NL_Mode;
-
-   procedure Clear_On_Next_Update
-     (Win      : in Window := Standard_Window;
-      Do_Clear : in Boolean := True)
-   is
-      function Clear_Ok (W : Window; Flag : Curses_Bool) return C_Int;
-      pragma Import (C, Clear_Ok, "clearok");
-   begin
-      if Clear_Ok (Win, Curses_Bool (Boolean'Pos (Do_Clear))) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Clear_On_Next_Update;
-
-   procedure Use_Insert_Delete_Line
-     (Win    : in Window := Standard_Window;
-      Do_Idl : in Boolean := True)
-   is
-      function IDL_Ok (W : Window; Flag : Curses_Bool) return C_Int;
-      pragma Import (C, IDL_Ok, "idlok");
-   begin
-      if IDL_Ok (Win, Curses_Bool (Boolean'Pos (Do_Idl))) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Use_Insert_Delete_Line;
-
-   procedure Use_Insert_Delete_Character
-     (Win    : in Window := Standard_Window;
-      Do_Idc : in Boolean := True)
-   is
-      function IDC_Ok (W : Window; Flag : Curses_Bool) return C_Int;
-      pragma Import (C, IDC_Ok, "idcok");
-   begin
-      if IDC_Ok (Win, Curses_Bool (Boolean'Pos (Do_Idc))) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Use_Insert_Delete_Character;
-
-   procedure Leave_Cursor_After_Update
-     (Win      : in Window := Standard_Window;
-      Do_Leave : in Boolean := True)
-   is
-      function Leave_Ok (W : Window; Flag : Curses_Bool) return C_Int;
-      pragma Import (C, Leave_Ok, "leaveok");
-   begin
-      if Leave_Ok (Win, Curses_Bool (Boolean'Pos (Do_Leave))) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Leave_Cursor_After_Update;
-
-   procedure Immediate_Update_Mode
-     (Win  : in Window := Standard_Window;
-      Mode : in Boolean := False)
-   is
-      function Immedok (Win : Window; Mode : Curses_Bool) return C_Int;
-      pragma Import (C, Immedok, "immedok");
-   begin
-      if Immedok (Win, Curses_Bool (Boolean'Pos (Mode))) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Immediate_Update_Mode;
-
-   procedure Allow_Scrolling
-     (Win  : in Window  := Standard_Window;
-      Mode : in Boolean := False)
-   is
-      function Scrollok (Win : Window; Mode : Curses_Bool) return C_Int;
-      pragma Import (C, Scrollok, "scrollok");
-   begin
-      if Scrollok (Win, Curses_Bool (Boolean'Pos (Mode))) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Allow_Scrolling;
-
-   function Scrolling_Allowed (Win : Window := Standard_Window)
-                               return Boolean
-   is
-   begin
-      return Get_Flag (Win, Offset_scroll);
-   end Scrolling_Allowed;
-
-   procedure Set_Scroll_Region
-     (Win         : in Window := Standard_Window;
-      Top_Line    : in Line_Position;
-      Bottom_Line : in Line_Position)
-   is
-      function Wsetscrreg (Win : Window;
-                           Lin : C_Int;
-                           Col : C_Int) return C_Int;
-      pragma Import (C, Wsetscrreg, "wsetscrreg");
-   begin
-      if Wsetscrreg (Win, C_Int (Top_Line), C_Int (Bottom_Line))
-        = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_Scroll_Region;
-------------------------------------------------------------------------------
-   procedure Update_Screen
-   is
-      function Do_Update return C_Int;
-      pragma Import (C, Do_Update, "doupdate");
-   begin
-      if Do_Update = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Update_Screen;
-
-   procedure Refresh (Win : in Window := Standard_Window)
-   is
-      function Wrefresh (W : Window) return C_Int;
-      pragma Import (C, Wrefresh, "wrefresh");
-   begin
-      if Wrefresh (Win) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Refresh;
-
-   procedure Refresh_Without_Update
-     (Win : in Window := Standard_Window)
-   is
-      function Wnoutrefresh (W : Window) return C_Int;
-      pragma Import (C, Wnoutrefresh, "wnoutrefresh");
-   begin
-      if Wnoutrefresh (Win) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Refresh_Without_Update;
-
-   procedure Redraw (Win : in Window := Standard_Window)
-   is
-      function Redrawwin (Win : Window) return C_Int;
-      pragma Import (C, Redrawwin, "redrawwin");
-   begin
-      if Redrawwin (Win) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Redraw;
-
-   procedure Redraw
-     (Win        : in Window := Standard_Window;
-      Begin_Line : in Line_Position;
-      Line_Count : in Positive)
-   is
-      function Wredrawln (Win : Window; First : C_Int; Cnt : C_Int)
-                          return C_Int;
-      pragma Import (C, Wredrawln, "wredrawln");
-   begin
-      if Wredrawln (Win,
-                    C_Int (Begin_Line),
-                    C_Int (Line_Count)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Redraw;
-
-------------------------------------------------------------------------------
-   procedure Erase (Win : in Window := Standard_Window)
-   is
-      function Werase (W : Window) return C_Int;
-      pragma Import (C, Werase, "werase");
-   begin
-      if Werase (Win) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Erase;
-
-   procedure Clear (Win : in Window := Standard_Window)
-   is
-      function Wclear (W : Window) return C_Int;
-      pragma Import (C, Wclear, "wclear");
-   begin
-      if Wclear (Win) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Clear;
-
-   procedure Clear_To_End_Of_Screen (Win : in Window := Standard_Window)
-   is
-      function Wclearbot (W : Window) return C_Int;
-      pragma Import (C, Wclearbot, "wclrtobot");
-   begin
-      if Wclearbot (Win) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Clear_To_End_Of_Screen;
-
-   procedure Clear_To_End_Of_Line (Win : in Window := Standard_Window)
-   is
-      function Wcleareol (W : Window) return C_Int;
-      pragma Import (C, Wcleareol, "wclrtoeol");
-   begin
-      if Wcleareol (Win) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Clear_To_End_Of_Line;
-------------------------------------------------------------------------------
-   procedure Set_Background
-     (Win : in Window := Standard_Window;
-      Ch  : in Attributed_Character)
-   is
-      procedure WBackground (W : in Window; Ch : in C_Chtype);
-      pragma Import (C, WBackground, "wbkgdset");
-   begin
-      WBackground (Win, AttrChar_To_Chtype (Ch));
-   end Set_Background;
-
-   procedure Change_Background
-     (Win : in Window := Standard_Window;
-      Ch  : in Attributed_Character)
-   is
-      function WChangeBkgd (W : Window; Ch : C_Chtype) return C_Int;
-      pragma Import (C, WChangeBkgd, "wbkgd");
-   begin
-      if WChangeBkgd (Win, AttrChar_To_Chtype (Ch)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Change_Background;
-
-   function Get_Background (Win : Window := Standard_Window)
-     return Attributed_Character
-   is
-      function Wgetbkgd (Win : Window) return C_Chtype;
-      pragma Import (C, Wgetbkgd, "getbkgd");
-   begin
-      return Chtype_To_AttrChar (Wgetbkgd (Win));
-   end Get_Background;
-------------------------------------------------------------------------------
-   procedure Change_Lines_Status (Win   : in Window := Standard_Window;
-                                  Start : in Line_Position;
-                                  Count : in Positive;
-                                  State : in Boolean)
-   is
-      function Wtouchln (Win : Window;
-                         Sta : C_Int;
-                         Cnt : C_Int;
-                         Chg : C_Int) return C_Int;
-      pragma Import (C, Wtouchln, "wtouchln");
-   begin
-      if Wtouchln (Win, C_Int (Start), C_Int (Count),
-                   C_Int (Boolean'Pos (State))) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Change_Lines_Status;
-
-   procedure Touch (Win : in Window := Standard_Window)
-   is
-      Y : Line_Position;
-      X : Column_Position;
-   begin
-      Get_Size (Win, Y, X);
-      Change_Lines_Status (Win, 0, Positive (Y), True);
-   end Touch;
-
-   procedure Untouch (Win : in Window := Standard_Window)
-   is
-      Y : Line_Position;
-      X : Column_Position;
-   begin
-      Get_Size (Win, Y, X);
-      Change_Lines_Status (Win, 0, Positive (Y), False);
-   end Untouch;
-
-   procedure Touch (Win   : in Window := Standard_Window;
-                    Start : in Line_Position;
-                    Count : in Positive)
-   is
-   begin
-      Change_Lines_Status (Win, Start, Count, True);
-   end Touch;
-
-   function Is_Touched
-     (Win  : Window := Standard_Window;
-      Line : Line_Position) return Boolean
-   is
-      function WLineTouched (W : Window; L : C_Int) return Curses_Bool;
-      pragma Import (C, WLineTouched, "is_linetouched");
-   begin
-      if WLineTouched (Win, C_Int (Line)) = Curses_Bool_False then
-         return False;
-      else
-         return True;
-      end if;
-   end Is_Touched;
-
-   function Is_Touched
-     (Win : Window := Standard_Window) return Boolean
-   is
-      function WWinTouched (W : Window) return Curses_Bool;
-      pragma Import (C, WWinTouched, "is_wintouched");
-   begin
-      if WWinTouched (Win) = Curses_Bool_False then
-         return False;
-      else
-         return True;
-      end if;
-   end Is_Touched;
-------------------------------------------------------------------------------
-   procedure Copy
-     (Source_Window            : in Window;
-      Destination_Window       : in Window;
-      Source_Top_Row           : in Line_Position;
-      Source_Left_Column       : in Column_Position;
-      Destination_Top_Row      : in Line_Position;
-      Destination_Left_Column  : in Column_Position;
-      Destination_Bottom_Row   : in Line_Position;
-      Destination_Right_Column : in Column_Position;
-      Non_Destructive_Mode     : in Boolean := True)
-   is
-      function Copywin (Src : Window;
-                        Dst : Window;
-                        Str : C_Int;
-                        Slc : C_Int;
-                        Dtr : C_Int;
-                        Dlc : C_Int;
-                        Dbr : C_Int;
-                        Drc : C_Int;
-                        Ndm : C_Int) return C_Int;
-      pragma Import (C, Copywin, "copywin");
-   begin
-      if Copywin (Source_Window,
-                  Destination_Window,
-                  C_Int (Source_Top_Row),
-                  C_Int (Source_Left_Column),
-                  C_Int (Destination_Top_Row),
-                  C_Int (Destination_Left_Column),
-                  C_Int (Destination_Bottom_Row),
-                  C_Int (Destination_Right_Column),
-                  Boolean'Pos (Non_Destructive_Mode)
-                ) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Copy;
-
-   procedure Overwrite
-     (Source_Window      : in Window;
-      Destination_Window : in Window)
-   is
-      function Overwrite (Src : Window; Dst : Window) return C_Int;
-      pragma Import (C, Overwrite, "overwrite");
-   begin
-      if Overwrite (Source_Window, Destination_Window) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Overwrite;
-
-   procedure Overlay
-     (Source_Window      : in Window;
-      Destination_Window : in Window)
-   is
-      function Overlay (Src : Window; Dst : Window) return C_Int;
-      pragma Import (C, Overlay, "overlay");
-   begin
-      if Overlay (Source_Window, Destination_Window) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Overlay;
-
-------------------------------------------------------------------------------
-   procedure Insert_Delete_Lines
-     (Win   : in Window := Standard_Window;
-      Lines : in Integer       := 1) -- default is to insert one line above
-   is
-      function Winsdelln (W : Window; N : C_Int) return C_Int;
-      pragma Import (C, Winsdelln, "winsdelln");
-   begin
-      if Winsdelln (Win, C_Int (Lines)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Insert_Delete_Lines;
-
-   procedure Delete_Line (Win : in Window := Standard_Window)
-   is
-   begin
-      Insert_Delete_Lines (Win, -1);
-   end Delete_Line;
-
-   procedure Insert_Line (Win : in Window := Standard_Window)
-   is
-   begin
-      Insert_Delete_Lines (Win, 1);
-   end Insert_Line;
-------------------------------------------------------------------------------
-
-
-   procedure Get_Size
-     (Win               : in Window := Standard_Window;
-      Number_Of_Lines   : out Line_Count;
-      Number_Of_Columns : out Column_Count)
-   is
-      --  Please note: in ncurses they are one off.
-      --  This might be different in other implementations of curses
-      Y : constant C_Int := C_Int (W_Get_Short (Win, Offset_maxy))
-                          + C_Int (Offset_XY);
-      X : constant C_Int := C_Int (W_Get_Short (Win, Offset_maxx))
-                          + C_Int (Offset_XY);
-   begin
-      Number_Of_Lines   := Line_Count (Y);
-      Number_Of_Columns := Column_Count (X);
-   end Get_Size;
-
-   procedure Get_Window_Position
-     (Win             : in Window := Standard_Window;
-      Top_Left_Line   : out Line_Position;
-      Top_Left_Column : out Column_Position)
-   is
-      Y : constant C_Short := W_Get_Short (Win, Offset_begy);
-      X : constant C_Short := W_Get_Short (Win, Offset_begx);
-   begin
-      Top_Left_Line   := Line_Position (Y);
-      Top_Left_Column := Column_Position (X);
-   end Get_Window_Position;
-
-   procedure Get_Cursor_Position
-     (Win    : in  Window := Standard_Window;
-      Line   : out Line_Position;
-      Column : out Column_Position)
-   is
-      Y : constant C_Short := W_Get_Short (Win, Offset_cury);
-      X : constant C_Short := W_Get_Short (Win, Offset_curx);
-   begin
-      Line   := Line_Position (Y);
-      Column := Column_Position (X);
-   end Get_Cursor_Position;
-
-   procedure Get_Origin_Relative_To_Parent
-     (Win                : in  Window;
-      Top_Left_Line      : out Line_Position;
-      Top_Left_Column    : out Column_Position;
-      Is_Not_A_Subwindow : out Boolean)
-   is
-      Y : constant C_Int := W_Get_Int (Win, Offset_pary);
-      X : constant C_Int := W_Get_Int (Win, Offset_parx);
-   begin
-      if Y = -1 then
-         Top_Left_Line   := Line_Position'Last;
-         Top_Left_Column := Column_Position'Last;
-         Is_Not_A_Subwindow := True;
-      else
-         Top_Left_Line   := Line_Position (Y);
-         Top_Left_Column := Column_Position (X);
-         Is_Not_A_Subwindow := False;
-      end if;
-   end Get_Origin_Relative_To_Parent;
-------------------------------------------------------------------------------
-   function New_Pad (Lines   : Line_Count;
-                     Columns : Column_Count) return Window
-   is
-      function Newpad (Lines : C_Int; Columns : C_Int) return Window;
-      pragma Import (C, Newpad, "newpad");
-
-      W : Window;
-   begin
-      W := Newpad (C_Int (Lines), C_Int (Columns));
-      if W = Null_Window then
-         raise Curses_Exception;
-      end if;
-      return W;
-   end New_Pad;
-
-   function Sub_Pad
-     (Pad                   : Window;
-      Number_Of_Lines       : Line_Count;
-      Number_Of_Columns     : Column_Count;
-      First_Line_Position   : Line_Position;
-      First_Column_Position : Column_Position) return Window
-   is
-      function Subpad
-        (Pad                   : Window;
-         Number_Of_Lines       : C_Int;
-         Number_Of_Columns     : C_Int;
-         First_Line_Position   : C_Int;
-         First_Column_Position : C_Int) return Window;
-      pragma Import (C, Subpad, "subpad");
-
-      W : Window;
-   begin
-      W := Subpad (Pad,
-                   C_Int (Number_Of_Lines),
-                   C_Int (Number_Of_Columns),
-                   C_Int (First_Line_Position),
-                   C_Int (First_Column_Position));
-      if W = Null_Window then
-         raise Curses_Exception;
-      end if;
-      return W;
-   end Sub_Pad;
-
-   procedure Refresh
-     (Pad                      : in Window;
-      Source_Top_Row           : in Line_Position;
-      Source_Left_Column       : in Column_Position;
-      Destination_Top_Row      : in Line_Position;
-      Destination_Left_Column  : in Column_Position;
-      Destination_Bottom_Row   : in Line_Position;
-      Destination_Right_Column : in Column_Position)
-   is
-      function Prefresh
-        (Pad                      : Window;
-         Source_Top_Row           : C_Int;
-         Source_Left_Column       : C_Int;
-         Destination_Top_Row      : C_Int;
-         Destination_Left_Column  : C_Int;
-         Destination_Bottom_Row   : C_Int;
-         Destination_Right_Column : C_Int) return C_Int;
-      pragma Import (C, Prefresh, "prefresh");
-   begin
-      if Prefresh (Pad,
-                   C_Int (Source_Top_Row),
-                   C_Int (Source_Left_Column),
-                   C_Int (Destination_Top_Row),
-                   C_Int (Destination_Left_Column),
-                   C_Int (Destination_Bottom_Row),
-                   C_Int (Destination_Right_Column)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Refresh;
-
-   procedure Refresh_Without_Update
-     (Pad                      : in Window;
-      Source_Top_Row           : in Line_Position;
-      Source_Left_Column       : in Column_Position;
-      Destination_Top_Row      : in Line_Position;
-      Destination_Left_Column  : in Column_Position;
-      Destination_Bottom_Row   : in Line_Position;
-      Destination_Right_Column : in Column_Position)
-   is
-      function Pnoutrefresh
-        (Pad                      : Window;
-         Source_Top_Row           : C_Int;
-         Source_Left_Column       : C_Int;
-         Destination_Top_Row      : C_Int;
-         Destination_Left_Column  : C_Int;
-         Destination_Bottom_Row   : C_Int;
-         Destination_Right_Column : C_Int) return C_Int;
-      pragma Import (C, Pnoutrefresh, "pnoutrefresh");
-   begin
-      if Pnoutrefresh (Pad,
-                       C_Int (Source_Top_Row),
-                       C_Int (Source_Left_Column),
-                       C_Int (Destination_Top_Row),
-                       C_Int (Destination_Left_Column),
-                       C_Int (Destination_Bottom_Row),
-                       C_Int (Destination_Right_Column)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Refresh_Without_Update;
-
-   procedure Add_Character_To_Pad_And_Echo_It
-     (Pad : in Window;
-      Ch  : in Attributed_Character)
-   is
-      function Pechochar (Pad : Window; Ch : C_Chtype)
-                          return C_Int;
-      pragma Import (C, Pechochar, "pechochar");
-   begin
-      if Pechochar (Pad, AttrChar_To_Chtype (Ch)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Add_Character_To_Pad_And_Echo_It;
-
-   procedure Add_Character_To_Pad_And_Echo_It
-     (Pad : in Window;
-      Ch  : in Character)
-   is
-   begin
-      Add_Character_To_Pad_And_Echo_It
-        (Pad,
-         Attributed_Character'(Ch    => Ch,
-                               Color => Color_Pair'First,
-                               Attr  => Normal_Video));
-   end Add_Character_To_Pad_And_Echo_It;
-------------------------------------------------------------------------------
-   procedure Scroll (Win    : in Window := Standard_Window;
-                     Amount : in Integer := 1)
-   is
-      function Wscrl (Win : Window; N : C_Int) return C_Int;
-      pragma Import (C, Wscrl, "wscrl");
-
-   begin
-      if Wscrl (Win, C_Int (Amount)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Scroll;
-
-------------------------------------------------------------------------------
-   procedure Delete_Character (Win : in Window := Standard_Window)
-   is
-      function Wdelch (Win : Window) return C_Int;
-      pragma Import (C, Wdelch, "wdelch");
-   begin
-      if Wdelch (Win) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Delete_Character;
-
-   procedure Delete_Character
-     (Win    : in Window := Standard_Window;
-      Line   : in Line_Position;
-      Column : in Column_Position)
-   is
-      function Mvwdelch (Win : Window;
-                         Lin : C_Int;
-                         Col : C_Int) return C_Int;
-      pragma Import (C, Mvwdelch, "mvwdelch");
-   begin
-      if Mvwdelch (Win, C_Int (Line), C_Int (Column)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Delete_Character;
-------------------------------------------------------------------------------
-   function Peek (Win : Window := Standard_Window)
-     return Attributed_Character
-   is
-      function Winch (Win : Window) return C_Chtype;
-      pragma Import (C, Winch, "winch");
-   begin
-      return Chtype_To_AttrChar (Winch (Win));
-   end Peek;
-
-   function Peek
-     (Win    : Window := Standard_Window;
-      Line   : Line_Position;
-      Column : Column_Position) return Attributed_Character
-   is
-      function Mvwinch (Win : Window;
-                        Lin : C_Int;
-                        Col : C_Int) return C_Chtype;
-      pragma Import (C, Mvwinch, "mvwinch");
-   begin
-      return Chtype_To_AttrChar (Mvwinch (Win, C_Int (Line), C_Int (Column)));
-   end Peek;
-------------------------------------------------------------------------------
-   procedure Insert (Win : in Window := Standard_Window;
-                     Ch  : in Attributed_Character)
-   is
-      function Winsch (Win : Window; Ch : C_Chtype) return C_Int;
-      pragma Import (C, Winsch, "winsch");
-   begin
-      if Winsch (Win, AttrChar_To_Chtype (Ch)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Insert;
-
-   procedure Insert
-     (Win    : in Window := Standard_Window;
-      Line   : in Line_Position;
-      Column : in Column_Position;
-      Ch     : in Attributed_Character)
-   is
-      function Mvwinsch (Win : Window;
-                         Lin : C_Int;
-                         Col : C_Int;
-                         Ch  : C_Chtype) return C_Int;
-      pragma Import (C, Mvwinsch, "mvwinsch");
-   begin
-      if Mvwinsch (Win,
-                   C_Int (Line),
-                   C_Int (Column),
-                   AttrChar_To_Chtype (Ch)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Insert;
-------------------------------------------------------------------------------
-   procedure Insert (Win : in Window := Standard_Window;
-                     Str : in String;
-                     Len : in Integer := -1)
-   is
-      function Winsnstr (Win : Window;
-                         Str : char_array;
-                         Len : Integer := -1) return C_Int;
-      pragma Import (C, Winsnstr, "winsnstr");
-
-      Txt    : char_array (0 .. Str'Length);
-      Length : size_t;
-   begin
-      To_C (Str, Txt, Length);
-      if Winsnstr (Win, Txt, Len) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Insert;
-
-   procedure Insert
-     (Win    : in Window := Standard_Window;
-      Line   : in Line_Position;
-      Column : in Column_Position;
-      Str    : in String;
-      Len    : in Integer := -1)
-   is
-      function Mvwinsnstr (Win    : Window;
-                           Line   : C_Int;
-                           Column : C_Int;
-                           Str    : char_array;
-                           Len    : C_Int) return C_Int;
-      pragma Import (C, Mvwinsnstr, "mvwinsnstr");
-
-      Txt    : char_array (0 .. Str'Length);
-      Length : size_t;
-   begin
-      To_C (Str, Txt, Length);
-      if Mvwinsnstr (Win, C_Int (Line), C_Int (Column), Txt, C_Int (Len))
-        = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Insert;
-------------------------------------------------------------------------------
-   procedure Peek (Win : in  Window := Standard_Window;
-                   Str : out String;
-                   Len : in  Integer := -1)
-   is
-      function Winnstr (Win : Window;
-                        Str : char_array;
-                        Len : C_Int) return C_Int;
-      pragma Import (C, Winnstr, "winnstr");
-
-      N   : Integer := Len;
-      Txt : char_array (0 .. Str'Length);
-      Cnt : Natural;
-   begin
-      if N < 0 then
-         N := Str'Length;
-      end if;
-      if N > Str'Length then
-         raise Constraint_Error;
-      end if;
-      Txt (0) := Interfaces.C.char'First;
-      if Winnstr (Win, Txt, C_Int (N)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-      To_Ada (Txt, Str, Cnt, True);
-      if Cnt < Str'Length then
-         Str ((Str'First + Cnt) .. Str'Last) := (others => ' ');
-      end if;
-   end Peek;
-
-   procedure Peek
-     (Win    : in  Window := Standard_Window;
-      Line   : in  Line_Position;
-      Column : in  Column_Position;
-      Str    : out String;
-      Len    : in  Integer := -1)
-   is
-   begin
-      Move_Cursor (Win, Line, Column);
-      Peek (Win, Str, Len);
-   end Peek;
-------------------------------------------------------------------------------
-   procedure Peek
-     (Win : in  Window := Standard_Window;
-      Str : out Attributed_String;
-      Len : in  Integer := -1)
-   is
-      function Winchnstr (Win : Window;
-                          Str : chtype_array;             -- out
-                          Len : C_Int) return C_Int;
-      pragma Import (C, Winchnstr, "winchnstr");
-
-      N   : Integer := Len;
-      Txt : constant chtype_array (0 .. Str'Length)
-          := (0 => Default_Character);
-      Cnt : Natural := 0;
-   begin
-      if N < 0 then
-         N := Str'Length;
-      end if;
-      if N > Str'Length then
-         raise Constraint_Error;
-      end if;
-      if Winchnstr (Win, Txt, C_Int (N)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-      for To in Str'Range loop
-         exit when Txt (size_t (Cnt)) = Default_Character;
-         Str (To) := Txt (size_t (Cnt));
-         Cnt := Cnt + 1;
-      end loop;
-      if Cnt < Str'Length then
-         Str ((Str'First + Cnt) .. Str'Last) :=
-           (others => (Ch => ' ',
-                       Color => Color_Pair'First,
-                       Attr => Normal_Video));
-      end if;
-   end Peek;
-
-   procedure Peek
-     (Win    : in  Window := Standard_Window;
-      Line   : in  Line_Position;
-      Column : in  Column_Position;
-      Str    : out Attributed_String;
-      Len    : in Integer := -1)
-   is
-   begin
-      Move_Cursor (Win, Line, Column);
-      Peek (Win, Str, Len);
-   end Peek;
-------------------------------------------------------------------------------
-   procedure Get (Win : in  Window := Standard_Window;
-                  Str : out String;
-                  Len : in  Integer := -1)
-   is
-      function Wgetnstr (Win : Window;
-                         Str : char_array;
-                         Len : C_Int) return C_Int;
-      pragma Import (C, Wgetnstr, "wgetnstr");
-
-      N   : Integer := Len;
-      Txt : char_array (0 .. Str'Length);
-      Cnt : Natural;
-   begin
-      if N < 0 then
-         N := Str'Length;
-      end if;
-      if N > Str'Length then
-         raise Constraint_Error;
-      end if;
-      Txt (0) := Interfaces.C.char'First;
-      if Wgetnstr (Win, Txt, C_Int (N)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-      To_Ada (Txt, Str, Cnt, True);
-      if Cnt < Str'Length then
-         Str ((Str'First + Cnt) .. Str'Last) := (others => ' ');
-      end if;
-   end Get;
-
-   procedure Get
-     (Win    : in  Window := Standard_Window;
-      Line   : in  Line_Position;
-      Column : in  Column_Position;
-      Str    : out String;
-      Len    : in  Integer := -1)
-   is
-   begin
-      Move_Cursor (Win, Line, Column);
-      Get (Win, Str, Len);
-   end Get;
-------------------------------------------------------------------------------
-   procedure Init_Soft_Label_Keys
-     (Format : in Soft_Label_Key_Format := Three_Two_Three)
-   is
-      function Slk_Init (Fmt : C_Int) return C_Int;
-      pragma Import (C, Slk_Init, "slk_init");
-   begin
-      if Slk_Init (Soft_Label_Key_Format'Pos (Format)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Init_Soft_Label_Keys;
-
-   procedure Set_Soft_Label_Key (Label : in Label_Number;
-                                 Text  : in String;
-                                 Fmt   : in Label_Justification := Left)
-   is
-      function Slk_Set (Label : C_Int;
-                        Txt   : char_array;
-                        Fmt   : C_Int) return C_Int;
-      pragma Import (C, Slk_Set, "slk_set");
-
-      Txt : char_array (0 .. Text'Length);
-      Len : size_t;
-   begin
-      To_C (Text, Txt, Len);
-      if Slk_Set (C_Int (Label), Txt,
-                  C_Int (Label_Justification'Pos (Fmt))) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_Soft_Label_Key;
-
-   procedure Refresh_Soft_Label_Keys
-   is
-      function Slk_Refresh return C_Int;
-      pragma Import (C, Slk_Refresh, "slk_refresh");
-   begin
-      if Slk_Refresh = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Refresh_Soft_Label_Keys;
-
-   procedure Refresh_Soft_Label_Keys_Without_Update
-   is
-      function Slk_Noutrefresh return C_Int;
-      pragma Import (C, Slk_Noutrefresh, "slk_noutrefresh");
-   begin
-      if Slk_Noutrefresh = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Refresh_Soft_Label_Keys_Without_Update;
-
-   procedure Get_Soft_Label_Key (Label : in Label_Number;
-                                 Text  : out String)
-   is
-      function Slk_Label (Label : C_Int) return chars_ptr;
-      pragma Import (C, Slk_Label, "slk_label");
-   begin
-      Fill_String (Slk_Label (C_Int (Label)), Text);
-   end Get_Soft_Label_Key;
-
-   function Get_Soft_Label_Key (Label : in Label_Number) return String
-   is
-      function Slk_Label (Label : C_Int) return chars_ptr;
-      pragma Import (C, Slk_Label, "slk_label");
-   begin
-      return Fill_String (Slk_Label (C_Int (Label)));
-   end Get_Soft_Label_Key;
-
-   procedure Clear_Soft_Label_Keys
-   is
-      function Slk_Clear return C_Int;
-      pragma Import (C, Slk_Clear, "slk_clear");
-   begin
-      if Slk_Clear = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Clear_Soft_Label_Keys;
-
-   procedure Restore_Soft_Label_Keys
-   is
-      function Slk_Restore return C_Int;
-      pragma Import (C, Slk_Restore, "slk_restore");
-   begin
-      if Slk_Restore = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Restore_Soft_Label_Keys;
-
-   procedure Touch_Soft_Label_Keys
-   is
-      function Slk_Touch return C_Int;
-      pragma Import (C, Slk_Touch, "slk_touch");
-   begin
-      if Slk_Touch = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Touch_Soft_Label_Keys;
-
-   procedure Switch_Soft_Label_Key_Attributes
-     (Attr : in Character_Attribute_Set;
-      On   : in Boolean := True)
-   is
-      function Slk_Attron (Ch : C_Chtype) return C_Int;
-      pragma Import (C, Slk_Attron, "slk_attron");
-      function Slk_Attroff (Ch : C_Chtype) return C_Int;
-      pragma Import (C, Slk_Attroff, "slk_attroff");
-
-      Err : C_Int;
-      Ch  : constant Attributed_Character := (Ch    => Character'First,
-                                              Attr  => Attr,
-                                              Color => Color_Pair'First);
-   begin
-      if On then
-         Err := Slk_Attron  (AttrChar_To_Chtype (Ch));
-      else
-         Err := Slk_Attroff (AttrChar_To_Chtype (Ch));
-      end if;
-      if Err = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Switch_Soft_Label_Key_Attributes;
-
-   procedure Set_Soft_Label_Key_Attributes
-     (Attr  : in Character_Attribute_Set := Normal_Video;
-      Color : in Color_Pair := Color_Pair'First)
-   is
-      function Slk_Attrset (Ch : C_Chtype) return C_Int;
-      pragma Import (C, Slk_Attrset, "slk_attrset");
-
-      Ch : constant Attributed_Character := (Ch    => Character'First,
-                                             Attr  => Attr,
-                                             Color => Color);
-   begin
-      if Slk_Attrset (AttrChar_To_Chtype (Ch)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_Soft_Label_Key_Attributes;
-
-   function Get_Soft_Label_Key_Attributes return Character_Attribute_Set
-   is
-      function Slk_Attr return C_Chtype;
-      pragma Import (C, Slk_Attr, "slk_attr");
-
-      Attr : constant C_Chtype := Slk_Attr;
-   begin
-      return Chtype_To_AttrChar (Attr).Attr;
-   end Get_Soft_Label_Key_Attributes;
-
-   function Get_Soft_Label_Key_Attributes return Color_Pair
-   is
-      function Slk_Attr return C_Chtype;
-      pragma Import (C, Slk_Attr, "slk_attr");
-
-      Attr : constant C_Chtype := Slk_Attr;
-   begin
-      return Chtype_To_AttrChar (Attr).Color;
-   end Get_Soft_Label_Key_Attributes;
-
-   procedure Set_Soft_Label_Key_Color (Pair : in Color_Pair)
-   is
-      function Slk_Color (Color : in C_Short) return C_Int;
-      pragma Import (C, Slk_Color, "slk_color");
-   begin
-      if Slk_Color (C_Short (Pair)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Set_Soft_Label_Key_Color;
-
-------------------------------------------------------------------------------
-   procedure Enable_Key (Key    : in Special_Key_Code;
-                         Enable : in Boolean := True)
-   is
-      function Keyok (Keycode : C_Int;
-                      On_Off  : Curses_Bool) return C_Int;
-      pragma Import (C, Keyok, "keyok");
-   begin
-      if Keyok (C_Int (Key), Curses_Bool (Boolean'Pos (Enable)))
-        = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Enable_Key;
-------------------------------------------------------------------------------
-   procedure Define_Key (Definition : in String;
-                         Key        : in Special_Key_Code)
-   is
-      function Defkey (Def : char_array;
-                       Key : C_Int) return C_Int;
-      pragma Import (C, Defkey, "define_key");
-
-      Txt    : char_array (0 .. Definition'Length);
-      Length : size_t;
-   begin
-      To_C (Definition, Txt, Length);
-      if Defkey (Txt, C_Int (Key)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Define_Key;
-------------------------------------------------------------------------------
-   procedure Un_Control (Ch  : in Attributed_Character;
-                         Str : out String)
-   is
-      function Unctrl (Ch : C_Chtype) return chars_ptr;
-      pragma Import (C, Unctrl, "unctrl");
-   begin
-      Fill_String (Unctrl (AttrChar_To_Chtype (Ch)), Str);
-   end Un_Control;
-
-   function Un_Control (Ch : in Attributed_Character) return String
-   is
-      function Unctrl (Ch : C_Chtype) return chars_ptr;
-      pragma Import (C, Unctrl, "unctrl");
-   begin
-      return Fill_String (Unctrl (AttrChar_To_Chtype (Ch)));
-   end Un_Control;
-
-   procedure Delay_Output (Msecs : in Natural)
-   is
-      function Delayoutput (Msecs : C_Int) return C_Int;
-      pragma Import (C, Delayoutput, "delay_output");
-   begin
-      if Delayoutput (C_Int (Msecs)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Delay_Output;
-
-   procedure Flush_Input
-   is
-      function Flushinp return C_Int;
-      pragma Import (C, Flushinp, "flushinp");
-   begin
-      if Flushinp = Curses_Err then  -- docu says that never happens, but...
-         raise Curses_Exception;
-      end if;
-   end Flush_Input;
-------------------------------------------------------------------------------
-   function Baudrate return Natural
-   is
-      function Baud return C_Int;
-      pragma Import (C, Baud, "baudrate");
-   begin
-      return Natural (Baud);
-   end Baudrate;
-
-   function Erase_Character return Character
-   is
-      function Erasechar return C_Int;
-      pragma Import (C, Erasechar, "erasechar");
-   begin
-      return Character'Val (Erasechar);
-   end Erase_Character;
-
-   function Kill_Character return Character
-   is
-      function Killchar return C_Int;
-      pragma Import (C, Killchar, "killchar");
-   begin
-      return Character'Val (Killchar);
-   end Kill_Character;
-
-   function Has_Insert_Character return Boolean
-   is
-      function Has_Ic return Curses_Bool;
-      pragma Import (C, Has_Ic, "has_ic");
-   begin
-      if Has_Ic = Curses_Bool_False then
-         return False;
-      else
-         return True;
-      end if;
-   end Has_Insert_Character;
-
-   function Has_Insert_Line return Boolean
-   is
-      function Has_Il return Curses_Bool;
-      pragma Import (C, Has_Il, "has_il");
-   begin
-      if Has_Il = Curses_Bool_False then
-         return False;
-      else
-         return True;
-      end if;
-   end Has_Insert_Line;
-
-   function Supported_Attributes return Character_Attribute_Set
-   is
-      function Termattrs return C_Chtype;
-      pragma Import (C, Termattrs, "termattrs");
-
-      Ch : constant Attributed_Character := Chtype_To_AttrChar (Termattrs);
-   begin
-      return Ch.Attr;
-   end Supported_Attributes;
-
-   procedure Long_Name (Name : out String)
-   is
-      function Longname return chars_ptr;
-      pragma Import (C, Longname, "longname");
-   begin
-      Fill_String (Longname, Name);
-   end Long_Name;
-
-   function Long_Name return String
-   is
-      function Longname return chars_ptr;
-      pragma Import (C, Longname, "longname");
-   begin
-      return Fill_String (Longname);
-   end Long_Name;
-
-   procedure Terminal_Name (Name : out String)
-   is
-      function Termname return chars_ptr;
-      pragma Import (C, Termname, "termname");
-   begin
-      Fill_String (Termname, Name);
-   end Terminal_Name;
-
-   function Terminal_Name return String
-   is
-      function Termname return chars_ptr;
-      pragma Import (C, Termname, "termname");
-   begin
-      return Fill_String (Termname);
-   end Terminal_Name;
-------------------------------------------------------------------------------
-   procedure Init_Pair (Pair : in Redefinable_Color_Pair;
-                        Fore : in Color_Number;
-                        Back : in Color_Number)
-   is
-      function Initpair (Pair : C_Short;
-                         Fore : C_Short;
-                         Back : C_Short) return C_Int;
-      pragma Import (C, Initpair, "init_pair");
-   begin
-      if Integer (Pair) >= Number_Of_Color_Pairs then
-         raise Constraint_Error;
-      end if;
-      if Integer (Fore) >= Number_Of_Colors or else
-        Integer (Back) >= Number_Of_Colors then raise Constraint_Error;
-      end if;
-      if Initpair (C_Short (Pair), C_Short (Fore), C_Short (Back))
-        = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Init_Pair;
-
-   procedure Pair_Content (Pair : in Color_Pair;
-                           Fore : out Color_Number;
-                           Back : out Color_Number)
-   is
-      type C_Short_Access is access all C_Short;
-      function Paircontent (Pair : C_Short;
-                            Fp   : C_Short_Access;
-                            Bp   : C_Short_Access) return C_Int;
-      pragma Import (C, Paircontent, "pair_content");
-
-      F, B : aliased C_Short;
-   begin
-      if Paircontent (C_Short (Pair), F'Access, B'Access) = Curses_Err then
-         raise Curses_Exception;
-      else
-         Fore := Color_Number (F);
-         Back := Color_Number (B);
-      end if;
-   end Pair_Content;
-
-   function Has_Colors return Boolean
-   is
-      function Hascolors return Curses_Bool;
-      pragma Import (C, Hascolors, "has_colors");
-   begin
-      if Hascolors = Curses_Bool_False then
-         return False;
-      else
-         return True;
-      end if;
-   end Has_Colors;
-
-   procedure Init_Color (Color : in Color_Number;
-                         Red   : in RGB_Value;
-                         Green : in RGB_Value;
-                         Blue  : in RGB_Value)
-   is
-      function Initcolor (Col   : C_Short;
-                          Red   : C_Short;
-                          Green : C_Short;
-                          Blue  : C_Short) return C_Int;
-      pragma Import (C, Initcolor, "init_color");
-   begin
-      if Initcolor (C_Short (Color), C_Short (Red), C_Short (Green),
-                    C_Short (Blue)) = Curses_Err then
-            raise Curses_Exception;
-      end if;
-   end Init_Color;
-
-   function Can_Change_Color return Boolean
-   is
-      function Canchangecolor return Curses_Bool;
-      pragma Import (C, Canchangecolor, "can_change_color");
-   begin
-      if Canchangecolor = Curses_Bool_False then
-         return False;
-      else
-         return True;
-      end if;
-   end Can_Change_Color;
-
-   procedure Color_Content (Color : in  Color_Number;
-                            Red   : out RGB_Value;
-                            Green : out RGB_Value;
-                            Blue  : out RGB_Value)
-   is
-      type C_Short_Access is access all C_Short;
-
-      function Colorcontent (Color : C_Short; R, G, B : C_Short_Access)
-                             return C_Int;
-      pragma Import (C, Colorcontent, "color_content");
-
-      R, G, B : aliased C_Short;
-   begin
-      if Colorcontent (C_Short (Color), R'Access, G'Access, B'Access) =
-        Curses_Err then
-         raise Curses_Exception;
-      else
-         Red   := RGB_Value (R);
-         Green := RGB_Value (G);
-         Blue  := RGB_Value (B);
-      end if;
-   end Color_Content;
-
-------------------------------------------------------------------------------
-   procedure Save_Curses_Mode (Mode : in Curses_Mode)
-   is
-      function Def_Prog_Mode return C_Int;
-      pragma Import (C, Def_Prog_Mode, "def_prog_mode");
-      function Def_Shell_Mode return C_Int;
-      pragma Import (C, Def_Shell_Mode, "def_shell_mode");
-
-      Err : C_Int;
-   begin
-      case Mode is
-         when Curses => Err := Def_Prog_Mode;
-         when Shell  => Err := Def_Shell_Mode;
-      end case;
-      if Err = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Save_Curses_Mode;
-
-   procedure Reset_Curses_Mode (Mode : in Curses_Mode)
-   is
-      function Reset_Prog_Mode return C_Int;
-      pragma Import (C, Reset_Prog_Mode, "reset_prog_mode");
-      function Reset_Shell_Mode return C_Int;
-      pragma Import (C, Reset_Shell_Mode, "reset_shell_mode");
-
-      Err : C_Int;
-   begin
-      case Mode is
-         when Curses => Err := Reset_Prog_Mode;
-         when Shell  => Err := Reset_Shell_Mode;
-      end case;
-      if Err = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Reset_Curses_Mode;
-
-   procedure Save_Terminal_State
-   is
-      function Savetty return C_Int;
-      pragma Import (C, Savetty, "savetty");
-   begin
-      if Savetty = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Save_Terminal_State;
-
-   procedure Reset_Terminal_State
-   is
-      function Resetty return C_Int;
-      pragma Import (C, Resetty, "resetty");
-   begin
-      if Resetty = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Reset_Terminal_State;
-
-   procedure Rip_Off_Lines (Lines : in Integer;
-                            Proc  : in Stdscr_Init_Proc)
-   is
-      function Ripoffline (Lines : C_Int;
-                           Proc  : Stdscr_Init_Proc) return C_Int;
-      pragma Import (C, Ripoffline, "_nc_ripoffline");
-   begin
-      if Ripoffline (C_Int (Lines), Proc) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Rip_Off_Lines;
-
-   procedure Set_Cursor_Visibility (Visibility : in out Cursor_Visibility)
-   is
-      function Curs_Set (Curs : C_Int) return C_Int;
-      pragma Import (C, Curs_Set, "curs_set");
-
-      Res : C_Int;
-   begin
-      Res := Curs_Set (Cursor_Visibility'Pos (Visibility));
-      if Res /= Curses_Err then
-         Visibility := Cursor_Visibility'Val (Res);
-      end if;
-   end Set_Cursor_Visibility;
-
-   procedure Nap_Milli_Seconds (Ms : in Natural)
-   is
-      function Napms (Ms : C_Int) return C_Int;
-      pragma Import (C, Napms, "napms");
-   begin
-      if Napms (C_Int (Ms)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Nap_Milli_Seconds;
-------------------------------------------------------------------------------
-
-   function Standard_Window return Window
-   is
-      Stdscr : Window;
-      pragma Import (C, Stdscr, "stdscr");
-   begin
-      return Stdscr;
-   end Standard_Window;
-
-   function Lines return Line_Count
-   is
-      C_Lines : C_Int;
-      pragma Import (C, C_Lines, "LINES");
-   begin
-      return Line_Count (C_Lines);
-   end Lines;
-
-   function Columns return Column_Count
-   is
-      C_Columns : C_Int;
-      pragma Import (C, C_Columns, "COLS");
-   begin
-      return Column_Count (C_Columns);
-   end Columns;
-
-   function Tab_Size return Natural
-   is
-      C_Tab_Size : C_Int;
-      pragma Import (C, C_Tab_Size, "TABSIZE");
-   begin
-      return Natural (C_Tab_Size);
-   end Tab_Size;
-
-   function Number_Of_Colors return Natural
-   is
-      C_Number_Of_Colors : C_Int;
-      pragma Import (C, C_Number_Of_Colors, "COLORS");
-   begin
-      return Natural (C_Number_Of_Colors);
-   end Number_Of_Colors;
-
-   function Number_Of_Color_Pairs return Natural
-   is
-      C_Number_Of_Color_Pairs : C_Int;
-      pragma Import (C, C_Number_Of_Color_Pairs, "COLOR_PAIRS");
-   begin
-      return Natural (C_Number_Of_Color_Pairs);
-   end Number_Of_Color_Pairs;
-------------------------------------------------------------------------------
-   procedure Transform_Coordinates
-     (W      : in Window := Standard_Window;
-      Line   : in out Line_Position;
-      Column : in out Column_Position;
-      Dir    : in Transform_Direction := From_Screen)
-   is
-      type Int_Access is access all C_Int;
-      function Transform (W    : Window;
-                          Y, X : Int_Access;
-                          Dir  : Curses_Bool) return C_Int;
-      pragma Import (C, Transform, "wmouse_trafo");
-
-      X : aliased C_Int := C_Int (Column);
-      Y : aliased C_Int := C_Int (Line);
-      D : Curses_Bool := Curses_Bool_False;
-      R : C_Int;
-   begin
-      if Dir = To_Screen then
-         D := 1;
-      end if;
-      R := Transform (W, Y'Access, X'Access, D);
-      if R = Curses_False then
-         raise Curses_Exception;
-      else
-         Line   := Line_Position (Y);
-         Column := Column_Position (X);
-      end if;
-   end Transform_Coordinates;
-------------------------------------------------------------------------------
-   procedure Use_Default_Colors is
-      function C_Use_Default_Colors return C_Int;
-      pragma Import (C, C_Use_Default_Colors, "use_default_colors");
-      Err : constant C_Int := C_Use_Default_Colors;
-   begin
-      if Err = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Use_Default_Colors;
-
-   procedure Assume_Default_Colors (Fore : Color_Number := Default_Color;
-                                    Back : Color_Number := Default_Color)
-   is
-      function C_Assume_Default_Colors (Fore : C_Int;
-                                        Back : C_Int) return C_Int;
-      pragma Import (C, C_Assume_Default_Colors, "assume_default_colors");
-
-      Err : constant C_Int := C_Assume_Default_Colors (C_Int (Fore),
-                                                       C_Int (Back));
-   begin
-      if Err = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Assume_Default_Colors;
-------------------------------------------------------------------------------
-   function Curses_Version return String
-   is
-      function curses_versionC return chars_ptr;
-      pragma Import (C, curses_versionC, "curses_version");
-      Result : constant chars_ptr := curses_versionC;
-   begin
-      return Fill_String (Result);
-   end Curses_Version;
-------------------------------------------------------------------------------
-   function Use_Extended_Names (Enable : Boolean) return Boolean
-   is
-      function use_extended_namesC (e : Curses_Bool) return C_Int;
-      pragma Import (C, use_extended_namesC, "use_extended_names");
-
-      Res : constant C_Int :=
-         use_extended_namesC (Curses_Bool (Boolean'Pos (Enable)));
-   begin
-      if Res = C_Int (Curses_Bool_False) then
-         return False;
-      else
-         return True;
-      end if;
-   end Use_Extended_Names;
-------------------------------------------------------------------------------
-   procedure Screen_Dump_To_File (Filename : in String)
-   is
-      function scr_dump (f : char_array) return C_Int;
-      pragma Import (C, scr_dump, "scr_dump");
-      Txt    : char_array (0 .. Filename'Length);
-      Length : size_t;
-   begin
-      To_C (Filename, Txt, Length);
-      if Curses_Err = scr_dump (Txt) then
-         raise Curses_Exception;
-      end if;
-   end Screen_Dump_To_File;
-
-   procedure Screen_Restore_From_File (Filename : in String)
-   is
-      function scr_restore (f : char_array) return C_Int;
-      pragma Import (C, scr_restore, "scr_restore");
-      Txt    : char_array (0 .. Filename'Length);
-      Length : size_t;
-   begin
-      To_C (Filename, Txt, Length);
-      if Curses_Err = scr_restore (Txt)  then
-         raise Curses_Exception;
-      end if;
-   end Screen_Restore_From_File;
-
-   procedure Screen_Init_From_File (Filename : in String)
-   is
-      function scr_init (f : char_array) return C_Int;
-      pragma Import (C, scr_init, "scr_init");
-      Txt    : char_array (0 .. Filename'Length);
-      Length : size_t;
-   begin
-      To_C (Filename, Txt, Length);
-      if Curses_Err = scr_init (Txt) then
-         raise Curses_Exception;
-      end if;
-   end Screen_Init_From_File;
-
-   procedure Screen_Set_File (Filename : in String)
-   is
-      function scr_set (f : char_array) return C_Int;
-      pragma Import (C, scr_set, "scr_set");
-      Txt    : char_array (0 .. Filename'Length);
-      Length : size_t;
-   begin
-      To_C (Filename, Txt, Length);
-      if Curses_Err = scr_set (Txt) then
-         raise Curses_Exception;
-      end if;
-   end Screen_Set_File;
-------------------------------------------------------------------------------
-   procedure Resize (Win               : Window := Standard_Window;
-                     Number_Of_Lines   : Line_Count;
-                     Number_Of_Columns : Column_Count) is
-      function wresize (win     : Window;
-                        lines   : C_Int;
-                        columns : C_Int) return C_Int;
-      pragma Import (C, wresize);
-   begin
-      if wresize (Win,
-                  C_Int (Number_Of_Lines),
-                  C_Int (Number_Of_Columns)) = Curses_Err then
-         raise Curses_Exception;
-      end if;
-   end Resize;
-------------------------------------------------------------------------------
-
-end Terminal_Interface.Curses;
-
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface-curses__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface-curses__ads.htm deleted file mode 100644 index 42d647531b..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface-curses__ads.htm +++ /dev/null @@ -1,1941 +0,0 @@ - -terminal_interface-curses.ads - -

File : terminal_interface-curses.ads


-
-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                         Terminal_Interface.Curses                        --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998,2004 Free Software Foundation, Inc.                   --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.35 @
---  @Date: 2004/08/21 21:37:00 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
---  curses binding.
---  This module is generated. Please don't change it manually!
---  Run the generator instead.
---  |
-with System.Storage_Elements;
-with Interfaces.C;   --  We need this for some assertions.
-
-package Terminal_Interface.Curses is
-   pragma Preelaborate (Terminal_Interface.Curses);
-   pragma Linker_Options ("-lncurses");
-
-   NC_Major_Version : constant := 5; --  Major version of the library
-   NC_Minor_Version : constant := 5; --  Minor version of the library
-   NC_Version : constant String := "5.5";  --  Version of library
-
-   type Window is private;
-   Null_Window : constant Window;
-
-   type Line_Position   is new Natural; --  line coordinate
-   type Column_Position is new Natural; --  column coordinate
-
-   subtype Line_Count   is Line_Position   range 1 .. Line_Position'Last;
-   --  Type to count lines. We do not allow null windows, so must be positive
-   subtype Column_Count is Column_Position range 1 .. Column_Position'Last;
-   --  Type to count columns. We do not allow null windows, so must be positive
-
-   type Key_Code is new Integer;
-   --  That is anything including real characters, special keys and logical
-   --  request codes.
-
-   --  FIXME: The "-1" should be Curses_Err
-   subtype Real_Key_Code is Key_Code range -1 .. 8#777#;
-   --  This are the codes that potentially represent a real keystroke.
-   --  Not all codes may be possible on a specific terminal. To check the
-   --  availability of a special key, the Has_Key function is provided.
-
-   subtype Special_Key_Code is Real_Key_Code
-     range 8#400# .. Real_Key_Code'Last;
-   --  Type for a function- or special key number
-
-   subtype Normal_Key_Code is Real_Key_Code range
-     Character'Pos (Character'First) .. Character'Pos (Character'Last);
-   --  This are the codes for regular (incl. non-graphical) characters.
-
-   --  Constants for function- and special keys
-   --
-   Key_None                       : constant Special_Key_Code := 8#400#;
-   Key_Code_Yes                   : constant Special_Key_Code := 8#400#;
-   Key_Min                        : constant Special_Key_Code := 8#401#;
-   Key_Break                      : constant Special_Key_Code := 8#401#;
-   Key_Cursor_Down                : constant Special_Key_Code := 8#402#;
-   Key_Cursor_Up                  : constant Special_Key_Code := 8#403#;
-   Key_Cursor_Left                : constant Special_Key_Code := 8#404#;
-   Key_Cursor_Right               : constant Special_Key_Code := 8#405#;
-   Key_Home                       : constant Special_Key_Code := 8#406#;
-   Key_Backspace                  : constant Special_Key_Code := 8#407#;
-   Key_F0                         : constant Special_Key_Code := 8#410#;
-   Key_F1                         : constant Special_Key_Code := 8#411#;
-   Key_F2                         : constant Special_Key_Code := 8#412#;
-   Key_F3                         : constant Special_Key_Code := 8#413#;
-   Key_F4                         : constant Special_Key_Code := 8#414#;
-   Key_F5                         : constant Special_Key_Code := 8#415#;
-   Key_F6                         : constant Special_Key_Code := 8#416#;
-   Key_F7                         : constant Special_Key_Code := 8#417#;
-   Key_F8                         : constant Special_Key_Code := 8#420#;
-   Key_F9                         : constant Special_Key_Code := 8#421#;
-   Key_F10                        : constant Special_Key_Code := 8#422#;
-   Key_F11                        : constant Special_Key_Code := 8#423#;
-   Key_F12                        : constant Special_Key_Code := 8#424#;
-   Key_F13                        : constant Special_Key_Code := 8#425#;
-   Key_F14                        : constant Special_Key_Code := 8#426#;
-   Key_F15                        : constant Special_Key_Code := 8#427#;
-   Key_F16                        : constant Special_Key_Code := 8#430#;
-   Key_F17                        : constant Special_Key_Code := 8#431#;
-   Key_F18                        : constant Special_Key_Code := 8#432#;
-   Key_F19                        : constant Special_Key_Code := 8#433#;
-   Key_F20                        : constant Special_Key_Code := 8#434#;
-   Key_F21                        : constant Special_Key_Code := 8#435#;
-   Key_F22                        : constant Special_Key_Code := 8#436#;
-   Key_F23                        : constant Special_Key_Code := 8#437#;
-   Key_F24                        : constant Special_Key_Code := 8#440#;
-   Key_Delete_Line                : constant Special_Key_Code := 8#510#;
-   Key_Insert_Line                : constant Special_Key_Code := 8#511#;
-   Key_Delete_Char                : constant Special_Key_Code := 8#512#;
-   Key_Insert_Char                : constant Special_Key_Code := 8#513#;
-   Key_Exit_Insert_Mode           : constant Special_Key_Code := 8#514#;
-   Key_Clear_Screen               : constant Special_Key_Code := 8#515#;
-   Key_Clear_End_Of_Screen        : constant Special_Key_Code := 8#516#;
-   Key_Clear_End_Of_Line          : constant Special_Key_Code := 8#517#;
-   Key_Scroll_1_Forward           : constant Special_Key_Code := 8#520#;
-   Key_Scroll_1_Backward          : constant Special_Key_Code := 8#521#;
-   Key_Next_Page                  : constant Special_Key_Code := 8#522#;
-   Key_Previous_Page              : constant Special_Key_Code := 8#523#;
-   Key_Set_Tab                    : constant Special_Key_Code := 8#524#;
-   Key_Clear_Tab                  : constant Special_Key_Code := 8#525#;
-   Key_Clear_All_Tabs             : constant Special_Key_Code := 8#526#;
-   Key_Enter_Or_Send              : constant Special_Key_Code := 8#527#;
-   Key_Soft_Reset                 : constant Special_Key_Code := 8#530#;
-   Key_Reset                      : constant Special_Key_Code := 8#531#;
-   Key_Print                      : constant Special_Key_Code := 8#532#;
-   Key_Bottom                     : constant Special_Key_Code := 8#533#;
-   Key_Upper_Left_Of_Keypad       : constant Special_Key_Code := 8#534#;
-   Key_Upper_Right_Of_Keypad      : constant Special_Key_Code := 8#535#;
-   Key_Center_Of_Keypad           : constant Special_Key_Code := 8#536#;
-   Key_Lower_Left_Of_Keypad       : constant Special_Key_Code := 8#537#;
-   Key_Lower_Right_Of_Keypad      : constant Special_Key_Code := 8#540#;
-   Key_Back_Tab                   : constant Special_Key_Code := 8#541#;
-   Key_Beginning                  : constant Special_Key_Code := 8#542#;
-   Key_Cancel                     : constant Special_Key_Code := 8#543#;
-   Key_Close                      : constant Special_Key_Code := 8#544#;
-   Key_Command                    : constant Special_Key_Code := 8#545#;
-   Key_Copy                       : constant Special_Key_Code := 8#546#;
-   Key_Create                     : constant Special_Key_Code := 8#547#;
-   Key_End                        : constant Special_Key_Code := 8#550#;
-   Key_Exit                       : constant Special_Key_Code := 8#551#;
-   Key_Find                       : constant Special_Key_Code := 8#552#;
-   Key_Help                       : constant Special_Key_Code := 8#553#;
-   Key_Mark                       : constant Special_Key_Code := 8#554#;
-   Key_Message                    : constant Special_Key_Code := 8#555#;
-   Key_Move                       : constant Special_Key_Code := 8#556#;
-   Key_Next                       : constant Special_Key_Code := 8#557#;
-   Key_Open                       : constant Special_Key_Code := 8#560#;
-   Key_Options                    : constant Special_Key_Code := 8#561#;
-   Key_Previous                   : constant Special_Key_Code := 8#562#;
-   Key_Redo                       : constant Special_Key_Code := 8#563#;
-   Key_Reference                  : constant Special_Key_Code := 8#564#;
-   Key_Refresh                    : constant Special_Key_Code := 8#565#;
-   Key_Replace                    : constant Special_Key_Code := 8#566#;
-   Key_Restart                    : constant Special_Key_Code := 8#567#;
-   Key_Resume                     : constant Special_Key_Code := 8#570#;
-   Key_Save                       : constant Special_Key_Code := 8#571#;
-   Key_Shift_Begin                : constant Special_Key_Code := 8#572#;
-   Key_Shift_Cancel               : constant Special_Key_Code := 8#573#;
-   Key_Shift_Command              : constant Special_Key_Code := 8#574#;
-   Key_Shift_Copy                 : constant Special_Key_Code := 8#575#;
-   Key_Shift_Create               : constant Special_Key_Code := 8#576#;
-   Key_Shift_Delete_Char          : constant Special_Key_Code := 8#577#;
-   Key_Shift_Delete_Line          : constant Special_Key_Code := 8#600#;
-   Key_Select                     : constant Special_Key_Code := 8#601#;
-   Key_Shift_End                  : constant Special_Key_Code := 8#602#;
-   Key_Shift_Clear_End_Of_Line    : constant Special_Key_Code := 8#603#;
-   Key_Shift_Exit                 : constant Special_Key_Code := 8#604#;
-   Key_Shift_Find                 : constant Special_Key_Code := 8#605#;
-   Key_Shift_Help                 : constant Special_Key_Code := 8#606#;
-   Key_Shift_Home                 : constant Special_Key_Code := 8#607#;
-   Key_Shift_Insert_Char          : constant Special_Key_Code := 8#610#;
-   Key_Shift_Cursor_Left          : constant Special_Key_Code := 8#611#;
-   Key_Shift_Message              : constant Special_Key_Code := 8#612#;
-   Key_Shift_Move                 : constant Special_Key_Code := 8#613#;
-   Key_Shift_Next_Page            : constant Special_Key_Code := 8#614#;
-   Key_Shift_Options              : constant Special_Key_Code := 8#615#;
-   Key_Shift_Previous_Page        : constant Special_Key_Code := 8#616#;
-   Key_Shift_Print                : constant Special_Key_Code := 8#617#;
-   Key_Shift_Redo                 : constant Special_Key_Code := 8#620#;
-   Key_Shift_Replace              : constant Special_Key_Code := 8#621#;
-   Key_Shift_Cursor_Right         : constant Special_Key_Code := 8#622#;
-   Key_Shift_Resume               : constant Special_Key_Code := 8#623#;
-   Key_Shift_Save                 : constant Special_Key_Code := 8#624#;
-   Key_Shift_Suspend              : constant Special_Key_Code := 8#625#;
-   Key_Shift_Undo                 : constant Special_Key_Code := 8#626#;
-   Key_Suspend                    : constant Special_Key_Code := 8#627#;
-   Key_Undo                       : constant Special_Key_Code := 8#630#;
-   Key_Mouse                      : constant Special_Key_Code := 8#631#;
-   Key_Resize                     : constant Special_Key_Code := 8#632#;
-
-   Key_Max                        : constant Special_Key_Code
-     := Special_Key_Code'Last;
-
-   subtype User_Key_Code is Key_Code
-     range (Key_Max + 129) .. Key_Code'Last;
-   --  This is reserved for user defined key codes. The range between Key_Max
-   --  and the first user code is reserved for subsystems like menu and forms.
-
-   --  For those who like to use the original key names we produce them were
-   --  they differ from the original. Please note that they may differ in
-   --  lower/upper case.
-   KEY_DOWN         : Special_Key_Code renames Key_Cursor_Down;
-   KEY_UP           : Special_Key_Code renames Key_Cursor_Up;
-   KEY_LEFT         : Special_Key_Code renames Key_Cursor_Left;
-   KEY_RIGHT        : Special_Key_Code renames Key_Cursor_Right;
-   KEY_DL           : Special_Key_Code renames Key_Delete_Line;
-   KEY_IL           : Special_Key_Code renames Key_Insert_Line;
-   KEY_DC           : Special_Key_Code renames Key_Delete_Char;
-   KEY_IC           : Special_Key_Code renames Key_Insert_Char;
-   KEY_EIC          : Special_Key_Code renames Key_Exit_Insert_Mode;
-   KEY_CLEAR        : Special_Key_Code renames Key_Clear_Screen;
-   KEY_EOS          : Special_Key_Code renames Key_Clear_End_Of_Screen;
-   KEY_EOL          : Special_Key_Code renames Key_Clear_End_Of_Line;
-   KEY_SF           : Special_Key_Code renames Key_Scroll_1_Forward;
-   KEY_SR           : Special_Key_Code renames Key_Scroll_1_Backward;
-   KEY_NPAGE        : Special_Key_Code renames Key_Next_Page;
-   KEY_PPAGE        : Special_Key_Code renames Key_Previous_Page;
-   KEY_STAB         : Special_Key_Code renames Key_Set_Tab;
-   KEY_CTAB         : Special_Key_Code renames Key_Clear_Tab;
-   KEY_CATAB        : Special_Key_Code renames Key_Clear_All_Tabs;
-   KEY_ENTER        : Special_Key_Code renames Key_Enter_Or_Send;
-   KEY_SRESET       : Special_Key_Code renames Key_Soft_Reset;
-   KEY_LL           : Special_Key_Code renames Key_Bottom;
-   KEY_A1           : Special_Key_Code renames Key_Upper_Left_Of_Keypad;
-   KEY_A3           : Special_Key_Code renames Key_Upper_Right_Of_Keypad;
-   KEY_B2           : Special_Key_Code renames Key_Center_Of_Keypad;
-   KEY_C1           : Special_Key_Code renames Key_Lower_Left_Of_Keypad;
-   KEY_C3           : Special_Key_Code renames Key_Lower_Right_Of_Keypad;
-   KEY_BTAB         : Special_Key_Code renames Key_Back_Tab;
-   KEY_BEG          : Special_Key_Code renames Key_Beginning;
-   KEY_SBEG         : Special_Key_Code renames Key_Shift_Begin;
-   KEY_SCANCEL      : Special_Key_Code renames Key_Shift_Cancel;
-   KEY_SCOMMAND     : Special_Key_Code renames Key_Shift_Command;
-   KEY_SCOPY        : Special_Key_Code renames Key_Shift_Copy;
-   KEY_SCREATE      : Special_Key_Code renames Key_Shift_Create;
-   KEY_SDC          : Special_Key_Code renames Key_Shift_Delete_Char;
-   KEY_SDL          : Special_Key_Code renames Key_Shift_Delete_Line;
-   KEY_SEND         : Special_Key_Code renames Key_Shift_End;
-   KEY_SEOL         : Special_Key_Code renames Key_Shift_Clear_End_Of_Line;
-   KEY_SEXIT        : Special_Key_Code renames Key_Shift_Exit;
-   KEY_SFIND        : Special_Key_Code renames Key_Shift_Find;
-   KEY_SHELP        : Special_Key_Code renames Key_Shift_Help;
-   KEY_SHOME        : Special_Key_Code renames Key_Shift_Home;
-   KEY_SIC          : Special_Key_Code renames Key_Shift_Insert_Char;
-   KEY_SLEFT        : Special_Key_Code renames Key_Shift_Cursor_Left;
-   KEY_SMESSAGE     : Special_Key_Code renames Key_Shift_Message;
-   KEY_SMOVE        : Special_Key_Code renames Key_Shift_Move;
-   KEY_SNEXT        : Special_Key_Code renames Key_Shift_Next_Page;
-   KEY_SOPTIONS     : Special_Key_Code renames Key_Shift_Options;
-   KEY_SPREVIOUS    : Special_Key_Code renames Key_Shift_Previous_Page;
-   KEY_SPRINT       : Special_Key_Code renames Key_Shift_Print;
-   KEY_SREDO        : Special_Key_Code renames Key_Shift_Redo;
-   KEY_SREPLACE     : Special_Key_Code renames Key_Shift_Replace;
-   KEY_SRIGHT       : Special_Key_Code renames Key_Shift_Cursor_Right;
-   KEY_SRSUME       : Special_Key_Code renames Key_Shift_Resume;
-   KEY_SSAVE        : Special_Key_Code renames Key_Shift_Save;
-   KEY_SSUSPEND     : Special_Key_Code renames Key_Shift_Suspend;
-   KEY_SUNDO        : Special_Key_Code renames Key_Shift_Undo;
-
-------------------------------------------------------------------------------
-
-   type Color_Number is range -1 .. Integer (Interfaces.C.short'Last);
-   for Color_Number'Size use Interfaces.C.short'Size;
-   --  (n)curses uses a short for the color index
-   --  The model is, that a Color_Number is an index into an array of
-   --  (potentially) definable colors. Some of those indices are
-   --  predefined (see below), although they may not really exist.
-
-   Default_Color    : constant Color_Number := -1;
-   Black            : constant Color_Number := 0;
-   Red              : constant Color_Number := 1;
-   Green            : constant Color_Number := 2;
-   Yellow           : constant Color_Number := 3;
-   Blue             : constant Color_Number := 4;
-   Magenta          : constant Color_Number := 5;
-   Cyan             : constant Color_Number := 6;
-   White            : constant Color_Number := 7;
-
-   type RGB_Value is range 0 .. Integer (Interfaces.C.short'Last);
-   for RGB_Value'Size use Interfaces.C.short'Size;
-   --  Some system may allow to redefine a color by setting RGB values.
-
-   type Color_Pair is range 0 .. 255;
-   for Color_Pair'Size use 8;
-   subtype Redefinable_Color_Pair is Color_Pair range 1 .. 255;
-   --  (n)curses reserves 1 Byte for the color-pair number. Color Pair 0
-   --  is fixed (Black & White). A color pair is simply a combination of
-   --  two colors described by Color_Numbers, one for the foreground and
-   --  the other for the background
-
-   type Character_Attribute_Set is
-      record
-         Stand_Out               : Boolean;
-         Under_Line              : Boolean;
-         Reverse_Video           : Boolean;
-         Blink                   : Boolean;
-         Dim_Character           : Boolean;
-         Bold_Character          : Boolean;
-         Alternate_Character_Set : Boolean;
-         Invisible_Character     : Boolean;
-         Protected_Character     : Boolean;
-         Horizontal              : Boolean;
-         Left                    : Boolean;
-         Low                     : Boolean;
-         Right                   : Boolean;
-         Top                     : Boolean;
-         Vertical                : Boolean;
-      end record;
-   pragma Convention (C, Character_Attribute_Set);
-
-   for Character_Attribute_Set use
-      record
-         Stand_Out               at 0 range  0 ..  0;
-         Under_Line              at 0 range  1 ..  1;
-         Reverse_Video           at 0 range  2 ..  2;
-         Blink                   at 0 range  3 ..  3;
-         Dim_Character           at 0 range  4 ..  4;
-         Bold_Character          at 0 range  5 ..  5;
-         Alternate_Character_Set at 0 range  6 ..  6;
-         Invisible_Character     at 0 range  7 ..  7;
-         Protected_Character     at 0 range  8 ..  8;
-         Horizontal              at 0 range  9 ..  9;
-         Left                    at 0 range 10 .. 10;
-         Low                     at 0 range 11 .. 11;
-         Right                   at 0 range 12 .. 12;
-         Top                     at 0 range 13 .. 13;
-         Vertical                at 0 range 14 .. 14;
-      end record;
-   for Character_Attribute_Set'Size use 16;
-   --  Please note: this rep. clause is generated and may be
-   --               different on your system.
-   --  (n)curses uses all but the lowest 16 Bits for Attributes.
-
-   Normal_Video : constant Character_Attribute_Set := (others => False);
-
-   type Attributed_Character is
-      record
-         Attr  : Character_Attribute_Set;
-         Color : Color_Pair;
-         Ch    : Character;
-      end record;
-   pragma Convention (C, Attributed_Character);
-   --  This is the counterpart for the chtype in C.
-
-   for Attributed_Character use
-      record
-         Ch    at 0 range  0 ..  7;
-         Color at 0 range  8 .. 15;
-         Attr  at 0 range 16 .. 31;
-      end record;
-   for Attributed_Character'Size use 32;
-      --  Please note: this rep. clause is generated and may be
-      --               different on your system.
-
-   Default_Character : constant Attributed_Character
-     := (Ch    => Character'First,
-         Color => Color_Pair'First,
-         Attr  => (others => False));  --  preelaboratable Normal_Video
-
-   type Attributed_String is array (Positive range <>) of Attributed_Character;
-   pragma Pack (Attributed_String);
-   --  In this binding we allow strings of attributed characters.
-
-   ------------------
-   --  Exceptions  --
-   ------------------
-   Curses_Exception     : exception;
-   Wrong_Curses_Version : exception;
-
-   --  Those exceptions are raised by the ETI (Extended Terminal Interface)
-   --  subpackets for Menu and Forms handling.
-   --
-   Eti_System_Error    : exception;
-   Eti_Bad_Argument    : exception;
-   Eti_Posted          : exception;
-   Eti_Connected       : exception;
-   Eti_Bad_State       : exception;
-   Eti_No_Room         : exception;
-   Eti_Not_Posted      : exception;
-   Eti_Unknown_Command : exception;
-   Eti_No_Match        : exception;
-   Eti_Not_Selectable  : exception;
-   Eti_Not_Connected   : exception;
-   Eti_Request_Denied  : exception;
-   Eti_Invalid_Field   : exception;
-   Eti_Current         : exception;
-
-   --------------------------------------------------------------------------
-   --  External C variables
-   --  Conceptually even in C this are kind of constants, but they are
-   --  initialized and sometimes changed by the library routines at runtime
-   --  depending on the type of terminal. I believe the best way to model
-   --  this is to use functions.
-   --------------------------------------------------------------------------
-
-   function Lines            return Line_Count;
-   pragma Inline (Lines);
-
-   function Columns          return Column_Count;
-   pragma Inline (Columns);
-
-   function Tab_Size         return Natural;
-   pragma Inline (Tab_Size);
-
-   function Number_Of_Colors return Natural;
-   pragma Inline (Number_Of_Colors);
-
-   function Number_Of_Color_Pairs return Natural;
-   pragma Inline (Number_Of_Color_Pairs);
-
-   ACS_Map : array (Character'Val (0) .. Character'Val (127)) of
-     Attributed_Character;
-   pragma Import (C, ACS_Map, "acs_map");
-   --
-   --
-   --  Constants for several characters from the Alternate Character Set
-   --  You must use this constants as indices into the ACS_Map array
-   --  to get the corresponding attributed character at runtime.
-   --
-   ACS_Upper_Left_Corner    : constant Character := 'l';
-   ACS_Lower_Left_Corner    : constant Character := 'm';
-   ACS_Upper_Right_Corner   : constant Character := 'k';
-   ACS_Lower_Right_Corner   : constant Character := 'j';
-   ACS_Left_Tee             : constant Character := 't';
-   ACS_Right_Tee            : constant Character := 'u';
-   ACS_Bottom_Tee           : constant Character := 'v';
-   ACS_Top_Tee              : constant Character := 'w';
-   ACS_Horizontal_Line      : constant Character := 'q';
-   ACS_Vertical_Line        : constant Character := 'x';
-   ACS_Plus_Symbol          : constant Character := 'n';
-   ACS_Scan_Line_1          : constant Character := 'o';
-   ACS_Scan_Line_9          : constant Character := 's';
-   ACS_Diamond              : constant Character := Character'Val (96);
-   ACS_Checker_Board        : constant Character := 'a';
-   ACS_Degree               : constant Character := 'f';
-   ACS_Plus_Minus           : constant Character := 'g';
-   ACS_Bullet               : constant Character := '~';
-   ACS_Left_Arrow           : constant Character := ',';
-   ACS_Right_Arrow          : constant Character := '+';
-   ACS_Down_Arrow           : constant Character := '.';
-   ACS_Up_Arrow             : constant Character := '-';
-   ACS_Board_Of_Squares     : constant Character := 'h';
-   ACS_Lantern              : constant Character := 'i';
-   ACS_Solid_Block          : constant Character := '0';
-   ACS_Scan_Line_3          : constant Character := 'p';
-   ACS_Scan_Line_7          : constant Character := 'r';
-   ACS_Less_Or_Equal        : constant Character := 'y';
-   ACS_Greater_Or_Equal     : constant Character := 'z';
-   ACS_PI                   : constant Character := '{';
-   ACS_Not_Equal            : constant Character := '|';
-   ACS_Sterling             : constant Character := '}';
-
-   --  |=====================================================================
-   --  | Man page curs_initscr.3x
-   --  |=====================================================================
-   --  | Not implemented: newterm, set_term, delscreen, curscr
-
-   --  #1A NAME="AFU_1"#2|
-   function Standard_Window return Window;
-   --  AKA: stdscr
-   pragma Inline (Standard_Window);
-
-   --  #1A NAME="AFU_2"#2|
-   procedure Init_Screen;
-
-   --  #1A NAME="AFU_3"#2|
-   procedure Init_Windows renames Init_Screen;
-   --  AKA: initscr()
-   pragma Inline (Init_Screen);
-   pragma Inline (Init_Windows);
-
-   --  #1A NAME="AFU_4"#2|
-   procedure End_Windows;
-   --  AKA: endwin()
-   procedure End_Screen renames End_Windows;
-   pragma Inline (End_Windows);
-   pragma Inline (End_Screen);
-
-   --  #1A NAME="AFU_5"#2|
-   function Is_End_Window return Boolean;
-   --  AKA: isendwin()
-   pragma Inline (Is_End_Window);
-
-   --  |=====================================================================
-   --  | Man page curs_move.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_6"#2|
-   procedure Move_Cursor (Win    : in Window := Standard_Window;
-                          Line   : in Line_Position;
-                          Column : in Column_Position);
-   --  AKA: wmove()
-   --  AKA: move()
-   pragma Inline (Move_Cursor);
-
-   --  |=====================================================================
-   --  | Man page curs_addch.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_7"#2|
-   procedure Add (Win :  in Window := Standard_Window;
-                  Ch  :  in Attributed_Character);
-   --  AKA: waddch()
-   --  AKA: addch()
-
-   procedure Add (Win :  in Window := Standard_Window;
-                  Ch  :  in Character);
-   --  Add a single character at the current logical cursor position to
-   --  the window. Use the current windows attributes.
-
-   --  #1A NAME="AFU_8"#2|
-   procedure Add
-     (Win    : in Window := Standard_Window;
-      Line   : in Line_Position;
-      Column : in Column_Position;
-      Ch     : in Attributed_Character);
-   --  AKA: mvwaddch()
-   --  AKA: mvaddch()
-
-   procedure Add
-     (Win    : in Window := Standard_Window;
-      Line   : in Line_Position;
-      Column : in Column_Position;
-      Ch     : in Character);
-   --  Move to the position and add a single character into the window
-   --  There are more Add routines, so the Inline pragma follows later
-
-   --  #1A NAME="AFU_9"#2|
-   procedure Add_With_Immediate_Echo
-     (Win : in Window := Standard_Window;
-      Ch  : in Attributed_Character);
-   --  AKA: wechochar()
-   --  AKA: echochar()
-
-   procedure Add_With_Immediate_Echo
-     (Win : in Window := Standard_Window;
-      Ch  : in Character);
-   --  Add a character and do an immediate refresh of the screen.
-   pragma Inline (Add_With_Immediate_Echo);
-
-   --  |=====================================================================
-   --  | Man page curs_window.3x
-   --  |=====================================================================
-   --  Not Implemented: wcursyncup
-
-   --  #1A NAME="AFU_10"#2|
-   function Create
-     (Number_Of_Lines       : Line_Count;
-      Number_Of_Columns     : Column_Count;
-      First_Line_Position   : Line_Position;
-      First_Column_Position : Column_Position) return Window;
-   --  Not Implemented: Default Number_Of_Lines, Number_Of_Columns
-   --  the C version lets them be 0, see the man page.
-   --  AKA: newwin()
-   pragma Inline (Create);
-
-   function New_Window
-     (Number_Of_Lines       : Line_Count;
-      Number_Of_Columns     : Column_Count;
-      First_Line_Position   : Line_Position;
-      First_Column_Position : Column_Position) return Window
-     renames Create;
-   pragma Inline (New_Window);
-
-   --  #1A NAME="AFU_11"#2|
-   procedure Delete (Win : in out Window);
-   --  AKA: delwin()
-   --  Reset Win to Null_Window
-   pragma Inline (Delete);
-
-   --  #1A NAME="AFU_12"#2|
-   function Sub_Window
-     (Win                   : Window := Standard_Window;
-      Number_Of_Lines       : Line_Count;
-      Number_Of_Columns     : Column_Count;
-      First_Line_Position   : Line_Position;
-      First_Column_Position : Column_Position) return Window;
-   --  AKA: subwin()
-   pragma Inline (Sub_Window);
-
-   --  #1A NAME="AFU_13"#2|
-   function Derived_Window
-     (Win                   : Window := Standard_Window;
-      Number_Of_Lines       : Line_Count;
-      Number_Of_Columns     : Column_Count;
-      First_Line_Position   : Line_Position;
-      First_Column_Position : Column_Position) return Window;
-   --  AKA: derwin()
-   pragma Inline (Derived_Window);
-
-   --  #1A NAME="AFU_14"#2|
-   function Duplicate (Win : Window) return Window;
-   --  AKA: dupwin()
-   pragma Inline (Duplicate);
-
-   --  #1A NAME="AFU_15"#2|
-   procedure Move_Window (Win    : in Window;
-                          Line   : in Line_Position;
-                          Column : in Column_Position);
-   --  AKA: mvwin()
-   pragma Inline (Move_Window);
-
-   --  #1A NAME="AFU_16"#2|
-   procedure Move_Derived_Window (Win    : in Window;
-                                  Line   : in Line_Position;
-                                  Column : in Column_Position);
-   --  AKA: mvderwin()
-   pragma Inline (Move_Derived_Window);
-
-   --  #1A NAME="AFU_17"#2|
-   procedure Synchronize_Upwards (Win : in Window);
-   --  AKA: wsyncup()
-   pragma Import (C, Synchronize_Upwards, "wsyncup");
-
-   --  #1A NAME="AFU_18"#2|
-   procedure Synchronize_Downwards (Win : in Window);
-   --  AKA: wsyncdown()
-   pragma Import (C, Synchronize_Downwards, "wsyncdown");
-
-   --  #1A NAME="AFU_19"#2|
-   procedure Set_Synch_Mode (Win  : in Window := Standard_Window;
-                             Mode : in Boolean := False);
-   --  AKA: syncok()
-   pragma Inline (Set_Synch_Mode);
-
-   --  |=====================================================================
-   --  | Man page curs_addstr.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_20"#2|
-   procedure Add (Win : in Window := Standard_Window;
-                  Str : in String;
-                  Len : in Integer := -1);
-   --  AKA: waddnstr()
-   --  AKA: waddstr()
-   --  AKA: addnstr()
-   --  AKA: addstr()
-
-   --  #1A NAME="AFU_21"#2|
-   procedure Add (Win    : in Window := Standard_Window;
-                  Line   : in Line_Position;
-                  Column : in Column_Position;
-                  Str    : in String;
-                  Len    : in Integer := -1);
-   --  AKA: mvwaddnstr()
-   --  AKA: mvwaddstr()
-   --  AKA: mvaddnstr()
-   --  AKA: mvaddstr()
-
-   --  |=====================================================================
-   --  | Man page curs_addchstr.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_22"#2|
-   procedure Add (Win : in Window := Standard_Window;
-                  Str : in Attributed_String;
-                  Len : in Integer := -1);
-   --  AKA: waddchnstr()
-   --  AKA: waddchstr()
-   --  AKA: addchnstr()
-   --  AKA: addchstr()
-
-   --  #1A NAME="AFU_23"#2|
-   procedure Add (Win    : in Window := Standard_Window;
-                  Line   : in Line_Position;
-                  Column : in Column_Position;
-                  Str    : in Attributed_String;
-                  Len    : in Integer := -1);
-   --  AKA: mvwaddchnstr()
-   --  AKA: mvwaddchstr()
-   --  AKA: mvaddchnstr()
-   --  AKA: mvaddchstr()
-   pragma Inline (Add);
-
-   --  |=====================================================================
-   --  | Man page curs_border.3x
-   --  |=====================================================================
-   --  | Not implemented: mvhline,  mvwhline, mvvline, mvwvline
-   --  | use Move_Cursor then Horizontal_Line or Vertical_Line
-
-   --  #1A NAME="AFU_24"#2|
-   procedure Border
-     (Win                       : in Window := Standard_Window;
-      Left_Side_Symbol          : in Attributed_Character := Default_Character;
-      Right_Side_Symbol         : in Attributed_Character := Default_Character;
-      Top_Side_Symbol           : in Attributed_Character := Default_Character;
-      Bottom_Side_Symbol        : in Attributed_Character := Default_Character;
-      Upper_Left_Corner_Symbol  : in Attributed_Character := Default_Character;
-      Upper_Right_Corner_Symbol : in Attributed_Character := Default_Character;
-      Lower_Left_Corner_Symbol  : in Attributed_Character := Default_Character;
-      Lower_Right_Corner_Symbol : in Attributed_Character := Default_Character
-     );
-   --  AKA: wborder()
-   --  AKA: border()
-   pragma Inline (Border);
-
-   --  #1A NAME="AFU_25"#2|
-   procedure Box
-     (Win               : in Window := Standard_Window;
-      Vertical_Symbol   : in Attributed_Character := Default_Character;
-      Horizontal_Symbol : in Attributed_Character := Default_Character);
-   --  AKA: box()
-   pragma Inline (Box);
-
-   --  #1A NAME="AFU_26"#2|
-   procedure Horizontal_Line
-     (Win         : in Window := Standard_Window;
-      Line_Size   : in Natural;
-      Line_Symbol : in Attributed_Character := Default_Character);
-   --  AKA: whline()
-   --  AKA: hline()
-   pragma Inline (Horizontal_Line);
-
-   --  #1A NAME="AFU_27"#2|
-   procedure Vertical_Line
-     (Win         : in Window := Standard_Window;
-      Line_Size   : in Natural;
-      Line_Symbol : in Attributed_Character := Default_Character);
-   --  AKA: wvline()
-   --  AKA: vline()
-   pragma Inline (Vertical_Line);
-
-   --  |=====================================================================
-   --  | Man page curs_getch.3x
-   --  |=====================================================================
-   --  Not implemented: mvgetch, mvwgetch
-
-   --  #1A NAME="AFU_28"#2|
-   function Get_Keystroke (Win : Window := Standard_Window)
-                           return Real_Key_Code;
-   --  AKA: wgetch()
-   --  AKA: getch()
-   --  Get a character from the keyboard and echo it - if enabled - to the
-   --  window.
-   --  If for any reason (i.e. a timeout) we couldn't get a character the
-   --  returned keycode is Key_None.
-   pragma Inline (Get_Keystroke);
-
-   --  #1A NAME="AFU_29"#2|
-   procedure Undo_Keystroke (Key : in Real_Key_Code);
-   --  AKA: ungetch()
-   pragma Inline (Undo_Keystroke);
-
-   --  #1A NAME="AFU_30"#2|
-   function Has_Key (Key : Special_Key_Code) return Boolean;
-   --  AKA: has_key()
-   pragma Inline (Has_Key);
-
-   --  |
-   --  | Some helper functions
-   --  |
-   function Is_Function_Key (Key : Special_Key_Code) return Boolean;
-   --  Return True if the Key is a function key (i.e. one of F0 .. F63)
-   pragma Inline (Is_Function_Key);
-
-   subtype Function_Key_Number is Integer range 0 .. 63;
-   --  (n)curses allows for 64 function keys.
-
-   function Function_Key (Key : Real_Key_Code) return Function_Key_Number;
-   --  Return the number of the function key. If the code is not a
-   --  function key, a CONSTRAINT_ERROR will be raised.
-   pragma Inline (Function_Key);
-
-   function Function_Key_Code (Key : Function_Key_Number) return Real_Key_Code;
-   --  Return the key code for a given function-key number.
-   pragma Inline (Function_Key_Code);
-
-   --  |=====================================================================
-   --  | Man page curs_attr.3x
-   --  |=====================================================================
-   --  | Not implemented attr_off,  wattr_off,
-   --  |  attr_on, wattr_on, attr_set, wattr_set
-
-   --  PAIR_NUMBER
-   --  PAIR_NUMBER(c) is the same as c.Color
-
-   --  #1A NAME="AFU_31"#2|
-   procedure Standout (Win : Window  := Standard_Window;
-                       On  : Boolean := True);
-   --  AKA: wstandout()
-   --  AKA: wstandend()
-
-   --  #1A NAME="AFU_32"#2|
-   procedure Switch_Character_Attribute
-     (Win  : in Window := Standard_Window;
-      Attr : in Character_Attribute_Set := Normal_Video;
-      On   : in Boolean := True); --  if False we switch Off.
-   --  Switches those Attributes set to true in the list.
-   --  AKA: wattron()
-   --  AKA: wattroff()
-   --  AKA: attron()
-   --  AKA: attroff()
-
-   --  #1A NAME="AFU_33"#2|
-   procedure Set_Character_Attributes
-     (Win   : in Window := Standard_Window;
-      Attr  : in Character_Attribute_Set := Normal_Video;
-      Color : in Color_Pair := Color_Pair'First);
-   --  AKA: wattrset()
-   --  AKA: attrset()
-   pragma Inline (Set_Character_Attributes);
-
-   --  #1A NAME="AFU_34"#2|
-   function Get_Character_Attribute
-     (Win : in Window := Standard_Window) return Character_Attribute_Set;
-   --  AKA: wattr_get()
-   --  AKA: attr_get()
-
-   --  #1A NAME="AFU_35"#2|
-   function Get_Character_Attribute
-     (Win : in Window := Standard_Window) return Color_Pair;
-   --  AKA: wattr_get()
-   pragma Inline (Get_Character_Attribute);
-
-   --  #1A NAME="AFU_36"#2|
-   procedure Set_Color (Win  : in Window := Standard_Window;
-                        Pair : in Color_Pair);
-   --  AKA: wcolor_set()
-   --  AKA: color_set()
-   pragma Inline (Set_Color);
-
-   --  #1A NAME="AFU_37"#2|
-   procedure Change_Attributes
-     (Win   : in Window := Standard_Window;
-      Count : in Integer := -1;
-      Attr  : in Character_Attribute_Set := Normal_Video;
-      Color : in Color_Pair := Color_Pair'First);
-   --  AKA: wchgat()
-   --  AKA: chgat()
-
-   --  #1A NAME="AFU_38"#2|
-   procedure Change_Attributes
-     (Win    : in Window := Standard_Window;
-      Line   : in Line_Position := Line_Position'First;
-      Column : in Column_Position := Column_Position'First;
-      Count  : in Integer := -1;
-      Attr   : in Character_Attribute_Set := Normal_Video;
-      Color  : in Color_Pair := Color_Pair'First);
-   --  AKA: mvwchgat()
-   --  AKA: mvchgat()
-   pragma Inline (Change_Attributes);
-
-   --  |=====================================================================
-   --  | Man page curs_beep.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_39"#2|
-   procedure Beep;
-   --  AKA: beep()
-   pragma Inline (Beep);
-
-   --  #1A NAME="AFU_40"#2|
-   procedure Flash_Screen;
-   --  AKA: flash()
-   pragma Inline (Flash_Screen);
-
-   --  |=====================================================================
-   --  | Man page curs_inopts.3x
-   --  |=====================================================================
-
-   --  | Not implemented : typeahead
-   --
-   --  #1A NAME="AFU_41"#2|
-   procedure Set_Cbreak_Mode (SwitchOn : in Boolean := True);
-   --  AKA: cbreak()
-   --  AKA: nocbreak()
-   pragma Inline (Set_Cbreak_Mode);
-
-   --  #1A NAME="AFU_42"#2|
-   procedure Set_Raw_Mode (SwitchOn : in Boolean := True);
-   --  AKA: raw()
-   --  AKA: noraw()
-   pragma Inline (Set_Raw_Mode);
-
-   --  #1A NAME="AFU_43"#2|
-   procedure Set_Echo_Mode (SwitchOn : in Boolean := True);
-   --  AKA: echo()
-   --  AKA: noecho()
-   pragma Inline (Set_Echo_Mode);
-
-   --  #1A NAME="AFU_44"#2|
-   procedure Set_Meta_Mode (Win      : in Window := Standard_Window;
-                            SwitchOn : in Boolean := True);
-   --  AKA: meta()
-   pragma Inline (Set_Meta_Mode);
-
-   --  #1A NAME="AFU_45"#2|
-   procedure Set_KeyPad_Mode (Win      : in Window := Standard_Window;
-                              SwitchOn : in Boolean := True);
-   --  AKA: keypad()
-   pragma Inline (Set_KeyPad_Mode);
-
-   function Get_KeyPad_Mode (Win : in Window := Standard_Window)
-                             return Boolean;
-   --  This has no pendant in C. There you've to look into the WINDOWS
-   --  structure to get the value. Bad practice, not repeated in Ada.
-
-   type Half_Delay_Amount is range 1 .. 255;
-
-   --  #1A NAME="AFU_46"#2|
-   procedure Half_Delay (Amount : in Half_Delay_Amount);
-   --  AKA: halfdelay()
-   pragma Inline (Half_Delay);
-
-   --  #1A NAME="AFU_47"#2|
-   procedure Set_Flush_On_Interrupt_Mode
-     (Win  : in Window := Standard_Window;
-      Mode : in Boolean := True);
-   --  AKA: intrflush()
-   pragma Inline (Set_Flush_On_Interrupt_Mode);
-
-   --  #1A NAME="AFU_48"#2|
-   procedure Set_Queue_Interrupt_Mode
-     (Win   : in Window := Standard_Window;
-      Flush : in Boolean := True);
-   --  AKA: qiflush()
-   --  AKA: noqiflush()
-   pragma Inline (Set_Queue_Interrupt_Mode);
-
-   --  #1A NAME="AFU_49"#2|
-   procedure Set_NoDelay_Mode
-     (Win  : in Window := Standard_Window;
-      Mode : in Boolean := False);
-   --  AKA: nodelay()
-   pragma Inline (Set_NoDelay_Mode);
-
-   type Timeout_Mode is (Blocking, Non_Blocking, Delayed);
-
-   --  #1A NAME="AFU_50"#2|
-   procedure Set_Timeout_Mode (Win    : in Window := Standard_Window;
-                               Mode   : in Timeout_Mode;
-                               Amount : in Natural); --  in Milliseconds
-   --  AKA: wtimeout()
-   --  AKA: timeout()
-   --  Instead of overloading the semantic of the sign of amount, we
-   --  introduce the Timeout_Mode parameter. This should improve
-   --  readability. For Blocking and Non_Blocking, the Amount is not
-   --  evaluated.
-   --  We don't inline this procedure.
-
-   --  #1A NAME="AFU_51"#2|
-   procedure Set_Escape_Timer_Mode
-     (Win       : in Window := Standard_Window;
-      Timer_Off : in Boolean := False);
-   --  AKA: notimeout()
-   pragma Inline (Set_Escape_Timer_Mode);
-
-   --  |=====================================================================
-   --  | Man page curs_outopts.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_52"#2|
-   procedure Set_NL_Mode (SwitchOn : in Boolean := True);
-   --  AKA: nl()
-   --  AKA: nonl()
-   pragma Inline (Set_NL_Mode);
-
-   --  #1A NAME="AFU_53"#2|
-   procedure Clear_On_Next_Update
-     (Win      : in Window := Standard_Window;
-      Do_Clear : in Boolean := True);
-   --  AKA: clearok()
-   pragma Inline (Clear_On_Next_Update);
-
-   --  #1A NAME="AFU_54"#2|
-   procedure Use_Insert_Delete_Line
-     (Win    : in Window := Standard_Window;
-      Do_Idl : in Boolean := True);
-   --  AKA: idlok()
-   pragma Inline (Use_Insert_Delete_Line);
-
-   --  #1A NAME="AFU_55"#2|
-   procedure Use_Insert_Delete_Character
-     (Win    : in Window := Standard_Window;
-      Do_Idc : in Boolean := True);
-   --  AKA: idcok()
-   pragma Inline (Use_Insert_Delete_Character);
-
-   --  #1A NAME="AFU_56"#2|
-   procedure Leave_Cursor_After_Update
-     (Win      : in Window := Standard_Window;
-      Do_Leave : in Boolean := True);
-   --  AKA: leaveok()
-   pragma Inline (Leave_Cursor_After_Update);
-
-   --  #1A NAME="AFU_57"#2|
-   procedure Immediate_Update_Mode
-     (Win  : in Window := Standard_Window;
-      Mode : in Boolean := False);
-   --  AKA: immedok()
-   pragma Inline (Immediate_Update_Mode);
-
-   --  #1A NAME="AFU_58"#2|
-   procedure Allow_Scrolling
-     (Win  : in Window := Standard_Window;
-      Mode : in Boolean := False);
-   --  AKA: scrollok()
-   pragma Inline (Allow_Scrolling);
-
-   function Scrolling_Allowed (Win : Window := Standard_Window) return Boolean;
-   --  There is no such function in the C interface.
-   pragma Inline (Scrolling_Allowed);
-
-   --  #1A NAME="AFU_59"#2|
-   procedure Set_Scroll_Region
-     (Win         : in Window := Standard_Window;
-      Top_Line    : in Line_Position;
-      Bottom_Line : in Line_Position);
-   --  AKA: wsetscrreg()
-   --  AKA: setscrreg()
-   pragma Inline (Set_Scroll_Region);
-
-   --  |=====================================================================
-   --  | Man page curs_refresh.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_60"#2|
-   procedure Update_Screen;
-   --  AKA: doupdate()
-   pragma Inline (Update_Screen);
-
-   --  #1A NAME="AFU_61"#2|
-   procedure Refresh (Win : in Window := Standard_Window);
-   --  AKA: wrefresh()
-   --  There is an overloaded Refresh for Pads.
-   --  The Inline pragma appears there
-   --  AKA: refresh()
-
-   --  #1A NAME="AFU_62"#2|
-   procedure Refresh_Without_Update
-     (Win : in Window := Standard_Window);
-   --  AKA: wnoutrefresh()
-   --  There is an overloaded Refresh_Without_Update for Pads.
-   --  The Inline pragma appears there
-
-   --  #1A NAME="AFU_63"#2|
-   procedure Redraw (Win : in Window := Standard_Window);
-   --  AKA: redrawwin()
-
-   --  #1A NAME="AFU_64"#2|
-   procedure Redraw (Win        : in Window := Standard_Window;
-                     Begin_Line : in Line_Position;
-                     Line_Count : in Positive);
-   --  AKA: wredrawln()
-   pragma Inline (Redraw);
-
-   --  |=====================================================================
-   --  | Man page curs_clear.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_65"#2|
-   procedure Erase (Win : in Window := Standard_Window);
-   --  AKA: werase()
-   --  AKA: erase()
-   pragma Inline (Erase);
-
-   --  #1A NAME="AFU_66"#2|
-   procedure Clear
-     (Win : in Window := Standard_Window);
-   --  AKA: wclear()
-   --  AKA: clear()
-   pragma Inline (Clear);
-
-   --  #1A NAME="AFU_67"#2|
-   procedure Clear_To_End_Of_Screen
-     (Win : in Window := Standard_Window);
-   --  AKA: wclrtobot()
-   --  AKA: clrtobot()
-   pragma Inline (Clear_To_End_Of_Screen);
-
-   --  #1A NAME="AFU_68"#2|
-   procedure Clear_To_End_Of_Line
-     (Win : in Window := Standard_Window);
-   --  AKA: wclrtoeol()
-   --  AKA: clrtoeol()
-   pragma Inline (Clear_To_End_Of_Line);
-
-   --  |=====================================================================
-   --  | Man page curs_bkgd.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_69"#2|
-   --  TODO: we could have Set_Background(Window; Character_Attribute_Set)
-   --  because in C it is common to see bkgdset(A_BOLD) or
-   --  bkgdset(COLOR_PAIR(n))
-   procedure Set_Background
-     (Win : in Window := Standard_Window;
-      Ch  : in Attributed_Character);
-   --  AKA: wbkgdset()
-   --  AKA: bkgdset()
-   pragma Inline (Set_Background);
-
-   --  #1A NAME="AFU_70"#2|
-   procedure Change_Background
-     (Win : in Window := Standard_Window;
-      Ch  : in Attributed_Character);
-   --  AKA: wbkgd()
-   --  AKA: bkgd()
-   pragma Inline (Change_Background);
-
-   --  #1A NAME="AFU_71"#2|
-   --  ? wbkgdget is not listed in curs_bkgd, getbkgd is thpough.
-   function Get_Background (Win : Window := Standard_Window)
-     return Attributed_Character;
-   --  AKA: wbkgdget()
-   --  AKA: bkgdget()
-   pragma Inline (Get_Background);
-
-   --  |=====================================================================
-   --  | Man page curs_touch.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_72"#2|
-   procedure Untouch (Win : in Window := Standard_Window);
-   --  AKA: untouchwin()
-   pragma Inline (Untouch);
-
-   --  #1A NAME="AFU_73"#2|
-   procedure Touch (Win : in Window := Standard_Window);
-   --  AKA: touchwin()
-
-   --  #1A NAME="AFU_74"#2|
-   procedure Touch (Win   : in Window := Standard_Window;
-                    Start : in Line_Position;
-                    Count : in Positive);
-   --  AKA: touchline()
-   pragma Inline (Touch);
-
-   --  #1A NAME="AFU_75"#2|
-   procedure Change_Lines_Status (Win   : in Window := Standard_Window;
-                                  Start : in Line_Position;
-                                  Count : in Positive;
-                                  State : in Boolean);
-   --  AKA: wtouchln()
-   pragma Inline (Change_Lines_Status);
-
-   --  #1A NAME="AFU_76"#2|
-   function Is_Touched (Win  : Window := Standard_Window;
-                        Line : Line_Position) return Boolean;
-   --  AKA: is_linetouched()
-
-   --  #1A NAME="AFU_77"#2|
-   function Is_Touched (Win : Window := Standard_Window) return Boolean;
-   --  AKA: is_wintouched()
-   pragma Inline (Is_Touched);
-
-   --  |=====================================================================
-   --  | Man page curs_overlay.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_78"#2|
-   procedure Copy
-     (Source_Window            : in Window;
-      Destination_Window       : in Window;
-      Source_Top_Row           : in Line_Position;
-      Source_Left_Column       : in Column_Position;
-      Destination_Top_Row      : in Line_Position;
-      Destination_Left_Column  : in Column_Position;
-      Destination_Bottom_Row   : in Line_Position;
-      Destination_Right_Column : in Column_Position;
-      Non_Destructive_Mode     : in Boolean := True);
-   --  AKA: copywin()
-   pragma Inline (Copy);
-
-   --  #1A NAME="AFU_79"#2|
-   procedure Overwrite (Source_Window      : in Window;
-                        Destination_Window : in Window);
-   --  AKA: overwrite()
-   pragma Inline (Overwrite);
-
-   --  #1A NAME="AFU_80"#2|
-   procedure Overlay (Source_Window      : in Window;
-                      Destination_Window : in Window);
-   --  AKA: overlay()
-   pragma Inline (Overlay);
-
-   --  |=====================================================================
-   --  | Man page curs_deleteln.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_81"#2|
-   procedure Insert_Delete_Lines
-     (Win   : in Window  := Standard_Window;
-      Lines : in Integer := 1); --  default is to insert one line above
-   --  AKA: winsdelln()
-   --  AKA: insdelln()
-   pragma Inline (Insert_Delete_Lines);
-
-   --  #1A NAME="AFU_82"#2|
-   procedure Delete_Line (Win : in Window := Standard_Window);
-   --  AKA: wdeleteln()
-   --  AKA: deleteln()
-   pragma Inline (Delete_Line);
-
-   --  #1A NAME="AFU_83"#2|
-   procedure Insert_Line (Win : in Window := Standard_Window);
-   --  AKA: winsertln()
-   --  AKA: insertln()
-   pragma Inline (Insert_Line);
-
-   --  |=====================================================================
-   --  | Man page curs_getyx.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_84"#2|
-   procedure Get_Size
-     (Win               : in Window := Standard_Window;
-      Number_Of_Lines   : out Line_Count;
-      Number_Of_Columns : out Column_Count);
-   --  AKA: getmaxyx()
-   pragma Inline (Get_Size);
-
-   --  #1A NAME="AFU_85"#2|
-   procedure Get_Window_Position
-     (Win             : in Window := Standard_Window;
-      Top_Left_Line   : out Line_Position;
-      Top_Left_Column : out Column_Position);
-   --  AKA: getbegyx()
-   pragma Inline (Get_Window_Position);
-
-   --  #1A NAME="AFU_86"#2|
-   procedure Get_Cursor_Position
-     (Win    : in  Window := Standard_Window;
-      Line   : out Line_Position;
-      Column : out Column_Position);
-   --  AKA: getyx()
-   pragma Inline (Get_Cursor_Position);
-
-   --  #1A NAME="AFU_87"#2|
-   procedure Get_Origin_Relative_To_Parent
-     (Win                : in  Window;
-      Top_Left_Line      : out Line_Position;
-      Top_Left_Column    : out Column_Position;
-      Is_Not_A_Subwindow : out Boolean);
-   --  AKA: getparyx()
-   --  Instead of placing -1 in the coordinates as return, we use a boolean
-   --  to return the info that the window has no parent.
-   pragma Inline (Get_Origin_Relative_To_Parent);
-
-   --  |=====================================================================
-   --  | Man page curs_pad.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_88"#2|
-   function New_Pad (Lines   : Line_Count;
-                     Columns : Column_Count) return Window;
-   --  AKA: newpad()
-   pragma Inline (New_Pad);
-
-   --  #1A NAME="AFU_89"#2|
-   function Sub_Pad
-     (Pad                   : Window;
-      Number_Of_Lines       : Line_Count;
-      Number_Of_Columns     : Column_Count;
-      First_Line_Position   : Line_Position;
-      First_Column_Position : Column_Position) return Window;
-   --  AKA: subpad()
-   pragma Inline (Sub_Pad);
-
-   --  #1A NAME="AFU_90"#2|
-   procedure Refresh
-     (Pad                      : in Window;
-      Source_Top_Row           : in Line_Position;
-      Source_Left_Column       : in Column_Position;
-      Destination_Top_Row      : in Line_Position;
-      Destination_Left_Column  : in Column_Position;
-      Destination_Bottom_Row   : in Line_Position;
-      Destination_Right_Column : in Column_Position);
-   --  AKA: prefresh()
-   pragma Inline (Refresh);
-
-   --  #1A NAME="AFU_91"#2|
-   procedure Refresh_Without_Update
-     (Pad                      : in Window;
-      Source_Top_Row           : in Line_Position;
-      Source_Left_Column       : in Column_Position;
-      Destination_Top_Row      : in Line_Position;
-      Destination_Left_Column  : in Column_Position;
-      Destination_Bottom_Row   : in Line_Position;
-      Destination_Right_Column : in Column_Position);
-   --  AKA: pnoutrefresh()
-   pragma Inline (Refresh_Without_Update);
-
-   --  #1A NAME="AFU_92"#2|
-   procedure Add_Character_To_Pad_And_Echo_It
-     (Pad : in Window;
-      Ch  : in Attributed_Character);
-   --  AKA: pechochar()
-
-   procedure Add_Character_To_Pad_And_Echo_It
-     (Pad : in Window;
-      Ch  : in Character);
-   pragma Inline (Add_Character_To_Pad_And_Echo_It);
-
-   --  |=====================================================================
-   --  | Man page curs_scroll.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_93"#2|
-   procedure Scroll (Win    : in Window  := Standard_Window;
-                     Amount : in Integer := 1);
-   --  AKA: wscrl()
-   --  AKA: scroll()
-   --  AKA: scrl()
-   pragma Inline (Scroll);
-
-   --  |=====================================================================
-   --  | Man page curs_delch.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_94"#2|
-   procedure Delete_Character (Win : in Window := Standard_Window);
-   --  AKA: wdelch()
-   --  AKA: delch()
-
-   --  #1A NAME="AFU_95"#2|
-   procedure Delete_Character
-     (Win    : in Window := Standard_Window;
-      Line   : in Line_Position;
-      Column : in Column_Position);
-   --  AKA: mvwdelch()
-   --  AKA: mvdelch()
-   pragma Inline (Delete_Character);
-
-   --  |=====================================================================
-   --  | Man page curs_inch.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_96"#2|
-   function Peek (Win : Window := Standard_Window)
-     return Attributed_Character;
-   --  AKA: inch()
-   --  AKA: winch()
-
-   --  #1A NAME="AFU_97"#2|
-   function Peek
-     (Win    : Window := Standard_Window;
-      Line   : Line_Position;
-      Column : Column_Position) return Attributed_Character;
-   --  AKA: mvwinch()
-   --  AKA: mvinch()
-   --  More Peek's follow, pragma Inline appears later.
-
-   --  |=====================================================================
-   --  | Man page curs_insch.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_98"#2|
-   procedure Insert (Win : in Window := Standard_Window;
-                     Ch  : in Attributed_Character);
-   --  AKA: winsch()
-   --  AKA: insch()
-
-   --  #1A NAME="AFU_99"#2|
-   procedure Insert (Win    : in Window := Standard_Window;
-                     Line   : in Line_Position;
-                     Column : in Column_Position;
-                     Ch     : in Attributed_Character);
-   --  AKA: mvwinsch()
-   --  AKA: mvinsch()
-
-   --  |=====================================================================
-   --  | Man page curs_insstr.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_100"#2|
-   procedure Insert (Win : in Window := Standard_Window;
-                     Str : in String;
-                     Len : in Integer := -1);
-   --  AKA: winsnstr()
-   --  AKA: winsstr()
-   --  AKA: insnstr()
-   --  AKA: insstr()
-
-   --  #1A NAME="AFU_101"#2|
-   procedure Insert (Win    : in Window := Standard_Window;
-                     Line   : in Line_Position;
-                     Column : in Column_Position;
-                     Str    : in String;
-                     Len    : in Integer := -1);
-   --  AKA: mvwinsnstr()
-   --  AKA: mvwinsstr()
-   --  AKA: mvinsnstr()
-   --  AKA: mvinsstr()
-   pragma Inline (Insert);
-
-   --  |=====================================================================
-   --  | Man page curs_instr.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_102"#2|
-   procedure Peek (Win : in  Window := Standard_Window;
-                   Str : out String;
-                   Len : in  Integer := -1);
-   --  AKA: winnstr()
-   --  AKA: winstr()
-   --  AKA: innstr()
-   --  AKA: instr()
-
-   --  #1A NAME="AFU_103"#2|
-   procedure Peek (Win    : in  Window := Standard_Window;
-                   Line   : in  Line_Position;
-                   Column : in  Column_Position;
-                   Str    : out String;
-                   Len    : in  Integer := -1);
-   --  AKA: mvwinnstr()
-   --  AKA: mvwinstr()
-   --  AKA: mvinnstr()
-   --  AKA: mvinstr()
-
-   --  |=====================================================================
-   --  | Man page curs_inchstr.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_104"#2|
-   procedure Peek (Win : in  Window := Standard_Window;
-                   Str : out Attributed_String;
-                   Len : in  Integer := -1);
-   --  AKA: winchnstr()
-   --  AKA: winchstr()
-   --  AKA: inchnstr()
-   --  AKA: inchstr()
-
-   --  #1A NAME="AFU_105"#2|
-   procedure Peek (Win    : in  Window := Standard_Window;
-                   Line   : in  Line_Position;
-                   Column : in  Column_Position;
-                   Str    : out Attributed_String;
-                   Len    : in  Integer := -1);
-   --  AKA: mvwinchnstr()
-   --  AKA: mvwinchstr()
-   --  AKA: mvinchnstr()
-   --  AKA: mvinchstr()
-   --  We don't inline the Peek procedures
-
-   --  |=====================================================================
-   --  | Man page curs_getstr.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_106"#2|
-   procedure Get (Win : in  Window := Standard_Window;
-                  Str : out String;
-                  Len : in  Integer := -1);
-   --  AKA: wgetnstr()
-   --  AKA: wgetstr()
-   --  AKA: getnstr()
-   --  AKA: getstr()
-   --  actually getstr is not supported because that results in buffer
-   --  overflows.
-
-   --  #1A NAME="AFU_107"#2|
-   procedure Get (Win    : in  Window := Standard_Window;
-                  Line   : in  Line_Position;
-                  Column : in  Column_Position;
-                  Str    : out String;
-                  Len    : in  Integer := -1);
-   --  AKA: mvwgetnstr()
-   --  AKA: mvwgetstr()
-   --  AKA: mvgetnstr()
-   --  AKA: mvgetstr()
-   --  Get is not inlined
-
-   --  |=====================================================================
-   --  | Man page curs_slk.3x
-   --  |=====================================================================
-
-   --  Not Implemented: slk_attr_on, slk_attr_off, slk_attr_set
-
-   type Soft_Label_Key_Format is (Three_Two_Three,
-                                  Four_Four,
-                                  PC_Style,              --  ncurses specific
-                                  PC_Style_With_Index);  --  "
-   type Label_Number is new Positive range 1 .. 12;
-   type Label_Justification is (Left, Centered, Right);
-
-   --  #1A NAME="AFU_108"#2|
-   procedure Init_Soft_Label_Keys
-     (Format : in Soft_Label_Key_Format := Three_Two_Three);
-   --  AKA: slk_init()
-   pragma Inline (Init_Soft_Label_Keys);
-
-   --  #1A NAME="AFU_109"#2|
-   procedure Set_Soft_Label_Key (Label : in Label_Number;
-                                 Text  : in String;
-                                 Fmt   : in Label_Justification := Left);
-   --  AKA: slk_set()
-   --  We don't inline this procedure
-
-   --  #1A NAME="AFU_110"#2|
-   procedure Refresh_Soft_Label_Keys;
-   --  AKA: slk_refresh()
-   pragma Inline (Refresh_Soft_Label_Keys);
-
-   --  #1A NAME="AFU_111"#2|
-   procedure Refresh_Soft_Label_Keys_Without_Update;
-   --  AKA: slk_noutrefresh()
-   pragma Inline (Refresh_Soft_Label_Keys_Without_Update);
-
-   --  #1A NAME="AFU_112"#2|
-   procedure Get_Soft_Label_Key (Label : in Label_Number;
-                                 Text  : out String);
-   --  AKA: slk_label()
-
-   --  #1A NAME="AFU_113"#2|
-   function Get_Soft_Label_Key (Label : in Label_Number) return String;
-   --  AKA: slk_label()
-   --  Same as function
-   pragma Inline (Get_Soft_Label_Key);
-
-   --  #1A NAME="AFU_114"#2|
-   procedure Clear_Soft_Label_Keys;
-   --  AKA: slk_clear()
-   pragma Inline (Clear_Soft_Label_Keys);
-
-   --  #1A NAME="AFU_115"#2|
-   procedure Restore_Soft_Label_Keys;
-   --  AKA: slk_restore()
-   pragma Inline (Restore_Soft_Label_Keys);
-
-   --  #1A NAME="AFU_116"#2|
-   procedure Touch_Soft_Label_Keys;
-   --  AKA: slk_touch()
-   pragma Inline (Touch_Soft_Label_Keys);
-
-   --  #1A NAME="AFU_117"#2|
-   procedure Switch_Soft_Label_Key_Attributes
-     (Attr : in Character_Attribute_Set;
-      On   : in Boolean := True);
-   --  AKA: slk_attron()
-   --  AKA: slk_attroff()
-   pragma Inline (Switch_Soft_Label_Key_Attributes);
-
-   --  #1A NAME="AFU_118"#2|
-   procedure Set_Soft_Label_Key_Attributes
-     (Attr  : in Character_Attribute_Set := Normal_Video;
-      Color : in Color_Pair := Color_Pair'First);
-   --  AKA: slk_attrset()
-   pragma Inline (Set_Soft_Label_Key_Attributes);
-
-   --  #1A NAME="AFU_119"#2|
-   function Get_Soft_Label_Key_Attributes return Character_Attribute_Set;
-   --  AKA: slk_attr()
-
-   --  #1A NAME="AFU_120"#2|
-   function Get_Soft_Label_Key_Attributes return Color_Pair;
-   --  AKA: slk_attr()
-   pragma Inline (Get_Soft_Label_Key_Attributes);
-
-   --  #1A NAME="AFU_121"#2|
-   procedure Set_Soft_Label_Key_Color (Pair : in Color_Pair);
-   --  AKA: slk_color()
-   pragma Inline (Set_Soft_Label_Key_Color);
-
-   --  |=====================================================================
-   --  | Man page keybound.3x
-   --  |=====================================================================
-   --  Not Implemented: keybound
-
-   --  |=====================================================================
-   --  | Man page keyok.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_122"#2|
-   procedure Enable_Key (Key    : in Special_Key_Code;
-                         Enable : in Boolean := True);
-   --  AKA: keyok()
-   pragma Inline (Enable_Key);
-
-   --  |=====================================================================
-   --  | Man page define_key.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_123"#2|
-   procedure Define_Key (Definition : in String;
-                         Key        : in Special_Key_Code);
-   --  AKA: define_key()
-   pragma Inline (Define_Key);
-
-   --  |=====================================================================
-   --  | Man page curs_util.3x
-   --  |=====================================================================
-
-   --  | Not implemented : filter, use_env
-   --  | putwin, getwin are in the child package PutWin
-   --
-
-   --  #1A NAME="AFU_124"#2|
-   procedure Key_Name (Key  : in  Real_Key_Code;
-                       Name : out String);
-   --  AKA: keyname()
-   --  The external name for a real keystroke.
-
-   --  #1A NAME="AFU_125"#2|
-   function Key_Name (Key  : in  Real_Key_Code) return String;
-   --  AKA: keyname()
-   --  Same as function
-   --  We don't inline this routine
-
-   --  #1A NAME="AFU_126"#2|
-   procedure Un_Control (Ch  : in Attributed_Character;
-                         Str : out String);
-   --  AKA: unctrl()
-
-   --  #1A NAME="AFU_127"#2|
-   function Un_Control (Ch  : in Attributed_Character) return String;
-   --  AKA: unctrl()
-   --  Same as function
-   pragma Inline (Un_Control);
-
-   --  #1A NAME="AFU_128"#2|
-   procedure Delay_Output (Msecs : in Natural);
-   --  AKA: delay_output()
-   pragma Inline (Delay_Output);
-
-   --  #1A NAME="AFU_129"#2|
-   procedure Flush_Input;
-   --  AKA: flushinp()
-   pragma Inline (Flush_Input);
-
-   --  |=====================================================================
-   --  | Man page curs_termattrs.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_130"#2|
-   function Baudrate return Natural;
-   --  AKA: baudrate()
-   pragma Inline (Baudrate);
-
-   --  #1A NAME="AFU_131"#2|
-   function Erase_Character return Character;
-   --  AKA: erasechar()
-   pragma Inline (Erase_Character);
-
-   --  #1A NAME="AFU_132"#2|
-   function Kill_Character return Character;
-   --  AKA: killchar()
-   pragma Inline (Kill_Character);
-
-   --  #1A NAME="AFU_133"#2|
-   function Has_Insert_Character return Boolean;
-   --  AKA: has_ic()
-   pragma Inline (Has_Insert_Character);
-
-   --  #1A NAME="AFU_134"#2|
-   function Has_Insert_Line return Boolean;
-   --  AKA: has_il()
-   pragma Inline (Has_Insert_Line);
-
-   --  #1A NAME="AFU_135"#2|
-   function Supported_Attributes return Character_Attribute_Set;
-   --  AKA: termattrs()
-   pragma Inline (Supported_Attributes);
-
-   --  #1A NAME="AFU_136"#2|
-   procedure Long_Name (Name : out String);
-   --  AKA: longname()
-
-   --  #1A NAME="AFU_137"#2|
-   function Long_Name return String;
-   --  AKA: longname()
-   --  Same as function
-   pragma Inline (Long_Name);
-
-   --  #1A NAME="AFU_138"#2|
-   procedure Terminal_Name (Name : out String);
-   --  AKA: termname()
-
-   --  #1A NAME="AFU_139"#2|
-   function Terminal_Name return String;
-   --  AKA: termname()
-   --  Same as function
-   pragma Inline (Terminal_Name);
-
-   --  |=====================================================================
-   --  | Man page curs_color.3x
-   --  |=====================================================================
-
-   --  COLOR_PAIR
-   --  COLOR_PAIR(n) in C is the same as
-   --  Attributed_Character(Ch => Nul, Color => n, Attr => Normal_Video)
-   --  In C you often see something like c = c | COLOR_PAIR(n);
-   --  This is equivalent to c.Color := n;
-
-   --  #1A NAME="AFU_140"#2|
-   procedure Start_Color;
-   --  AKA: start_color()
-   pragma Import (C, Start_Color, "start_color");
-
-   --  #1A NAME="AFU_141"#2|
-   procedure Init_Pair (Pair : in Redefinable_Color_Pair;
-                        Fore : in Color_Number;
-                        Back : in Color_Number);
-   --  AKA: init_pair()
-   pragma Inline (Init_Pair);
-
-   --  #1A NAME="AFU_142"#2|
-   procedure Pair_Content (Pair : in Color_Pair;
-                           Fore : out Color_Number;
-                           Back : out Color_Number);
-   --  AKA: pair_content()
-   pragma Inline (Pair_Content);
-
-   --  #1A NAME="AFU_143"#2|
-   function Has_Colors return Boolean;
-   --  AKA: has_colors()
-   pragma Inline (Has_Colors);
-
-   --  #1A NAME="AFU_144"#2|
-   procedure Init_Color (Color : in Color_Number;
-                         Red   : in RGB_Value;
-                         Green : in RGB_Value;
-                         Blue  : in RGB_Value);
-   --  AKA: init_color()
-   pragma Inline (Init_Color);
-
-   --  #1A NAME="AFU_145"#2|
-   function Can_Change_Color return Boolean;
-   --  AKA: can_change_color()
-   pragma Inline (Can_Change_Color);
-
-   --  #1A NAME="AFU_146"#2|
-   procedure Color_Content (Color : in  Color_Number;
-                            Red   : out RGB_Value;
-                            Green : out RGB_Value;
-                            Blue  : out RGB_Value);
-   --  AKA: color_content()
-   pragma Inline (Color_Content);
-
-   --  |=====================================================================
-   --  | Man page curs_kernel.3x
-   --  |=====================================================================
-   --  | Not implemented: getsyx, setsyx
-   --
-   type Curses_Mode is (Curses, Shell);
-
-   --  #1A NAME="AFU_147"#2|
-   procedure Save_Curses_Mode (Mode : in Curses_Mode);
-   --  AKA: def_prog_mode()
-   --  AKA: def_shell_mode()
-   pragma Inline (Save_Curses_Mode);
-
-   --  #1A NAME="AFU_148"#2|
-   procedure Reset_Curses_Mode (Mode : in Curses_Mode);
-   --  AKA: reset_prog_mode()
-   --  AKA: reset_shell_mode()
-   pragma Inline (Reset_Curses_Mode);
-
-   --  #1A NAME="AFU_149"#2|
-   procedure Save_Terminal_State;
-   --  AKA: savetty()
-   pragma Inline (Save_Terminal_State);
-
-   --  #1A NAME="AFU_150"#2|
-   procedure Reset_Terminal_State;
-   --  AKA: resetty();
-   pragma Inline (Reset_Terminal_State);
-
-   type Stdscr_Init_Proc is access
-      function (Win     : Window;
-                Columns : Column_Count) return Integer;
-   pragma Convention (C, Stdscr_Init_Proc);
-   --  N.B.: the return value is actually ignored, but it seems to be
-   --        a good practice to return 0 if you think all went fine
-   --        and -1 otherwise.
-
-   --  #1A NAME="AFU_151"#2|
-   procedure Rip_Off_Lines (Lines : in Integer;
-                            Proc  : in Stdscr_Init_Proc);
-   --  AKA: ripoffline()
-   --  N.B.: to be more precise, this uses a ncurses specific enhancement of
-   --        ripoffline(), in which the Lines argument absolute value is the
-   --        number of lines to be ripped of. The official ripoffline() only
-   --        uses the sign of Lines to rip of a single line from bottom or top.
-   pragma Inline (Rip_Off_Lines);
-
-   type Cursor_Visibility is (Invisible, Normal, Very_Visible);
-
-   --  #1A NAME="AFU_152"#2|
-   procedure Set_Cursor_Visibility (Visibility : in out Cursor_Visibility);
-   --  AKA: curs_set()
-   pragma Inline (Set_Cursor_Visibility);
-
-   --  #1A NAME="AFU_153"#2|
-   procedure Nap_Milli_Seconds (Ms : in Natural);
-   --  AKA: napms()
-   pragma Inline (Nap_Milli_Seconds);
-
-   --  |=====================================================================
-   --  | Some useful helpers.
-   --  |=====================================================================
-   type Transform_Direction is (From_Screen, To_Screen);
-   procedure Transform_Coordinates
-     (W      : in Window := Standard_Window;
-      Line   : in out Line_Position;
-      Column : in out Column_Position;
-      Dir    : in Transform_Direction := From_Screen);
-   --  This procedure transforms screen coordinates into coordinates relative
-   --  to the window and vice versa, depending on the Dir parameter.
-   --  Screen coordinates are the position informations on the physical device.
-   --  An Curses_Exception will be raised if Line and Column are not in the
-   --  Window or if you pass the Null_Window as argument.
-   --  We don't inline this procedure
-
-   --  |=====================================================================
-   --  | Man page dft_fgbg.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_154"#2|
-   procedure Use_Default_Colors;
-   --  AKA: use_default_colors()
-   pragma Inline (Use_Default_Colors);
-
-   --  #1A NAME="AFU_155"#2|
-   procedure Assume_Default_Colors (Fore : Color_Number := Default_Color;
-                                    Back : Color_Number := Default_Color);
-   --  AKA: assume_default_colors()
-   pragma Inline (Assume_Default_Colors);
-
-   --  |=====================================================================
-   --  | Man page curs_extend.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_156"#2|
-   function Curses_Version return String;
-   --  AKA: curses_version()
-
-   --  #1A NAME="AFU_157"#2|
-   --  The returnvalue is the previous setting of the flag
-   function Use_Extended_Names (Enable : Boolean) return Boolean;
-   --  AKA: use_extended_names()
-
-   --  |=====================================================================
-   --  | Man page curs_scr_dump.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_158"#2|
-   procedure Screen_Dump_To_File (Filename : in String);
-   --  AKA: scr_dump()
-
-   --  #1A NAME="AFU_159"#2|
-   procedure Screen_Restore_From_File (Filename : in String);
-   --  AKA: scr_restore()
-
-   --  #1A NAME="AFU_160"#2|
-   procedure Screen_Init_From_File (Filename : in String);
-   --  AKA: scr_init()
-
-   --  #1A NAME="AFU_161"#2|
-   procedure Screen_Set_File (Filename : in String);
-   --  AKA: scr_set()
-
-   --  |=====================================================================
-   --  | Man page curs_print.3x
-   --  |=====================================================================
-   --  Not implemented:  mcprint
-
-   --  |=====================================================================
-   --  | Man page curs_printw.3x
-   --  |=====================================================================
-   --  Not implemented: printw,  wprintw, mvprintw, mvwprintw, vwprintw,
-   --                   vw_printw
-   --  Please use the Ada style Text_IO child packages for formatted
-   --  printing. It doesn't make a lot of sense to map the printf style
-   --  C functions to Ada.
-
-   --  |=====================================================================
-   --  | Man page curs_scanw.3x
-   --  |=====================================================================
-   --  Not implemented: scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw
-
-
-   --  |=====================================================================
-   --  | Man page resizeterm.3x
-   --  |=====================================================================
-   --  Not Implemented: resizeterm
-
-   --  |=====================================================================
-   --  | Man page wresize.3x
-   --  |=====================================================================
-
-   --  #1A NAME="AFU_162"#2|
-   procedure Resize (Win               : Window := Standard_Window;
-                     Number_Of_Lines   : Line_Count;
-                     Number_Of_Columns : Column_Count);
-   --  AKA: wresize()
-
-private
-   type Window is new System.Storage_Elements.Integer_Address;
-   Null_Window : constant Window := 0;
-
-   --  The next constants are generated and may be different on your
-   --  architecture.
-   --
-   Offset_maxy        : constant Natural :=  2; --  short
-   Offset_maxx        : constant Natural :=  3; --  short
-   Offset_begy        : constant Natural :=  4; --  short
-   Offset_begx        : constant Natural :=  5; --  short
-   Offset_cury        : constant Natural :=  0; --  short
-   Offset_curx        : constant Natural :=  1; --  short
-   Offset_yoffset     : constant Natural := 36; --  short
-   Offset_pary        : constant Natural := 13; --  int
-   Offset_parx        : constant Natural := 12; --  int
-   Offset_notimeout   : constant Natural := 24; --  char
-   Offset_clear       : constant Natural := 25; --  char
-   Offset_leaveok     : constant Natural := 26; --  char
-   Offset_scroll      : constant Natural := 27; --  char
-   Offset_idlok       : constant Natural := 28; --  char
-   Offset_idcok       : constant Natural := 29; --  char
-   Offset_immed       : constant Natural := 30; --  char
-   Offset_sync        : constant Natural := 31; --  char
-   Offset_use_keypad  : constant Natural := 32; --  char
-   Sizeof_bool        : constant Natural :=  1; --  bool
-   Offset_XY          : constant Natural :=  1; --  int
-
-   type Curses_Bool is mod 2 ** Interfaces.C.char'Size;
-   Curses_Bool_False : constant Curses_Bool := 0;
-
-end Terminal_Interface.Curses;
-
diff --git a/src/libs/ncurses/doc/html/ada/terminal_interface__ads.htm b/src/libs/ncurses/doc/html/ada/terminal_interface__ads.htm deleted file mode 100644 index 7a229213ce..0000000000 --- a/src/libs/ncurses/doc/html/ada/terminal_interface__ads.htm +++ /dev/null @@ -1,54 +0,0 @@ - -terminal_interface.ads - -

File : terminal_interface.ads


-
-------------------------------------------------------------------------------
---                                                                          --
---                           GNAT ncurses Binding                           --
---                                                                          --
---                            Terminal_Interface                            --
---                                                                          --
---                                 S P E C                                  --
---                                                                          --
-------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc.                        --
---                                                                          --
--- Permission is hereby granted, free of charge, to any person obtaining a  --
--- copy of this software and associated documentation files (the            --
--- "Software"), to deal in the Software without restriction, including      --
--- without limitation the rights to use, copy, modify, merge, publish,      --
--- distribute, distribute with modifications, sublicense, and/or sell       --
--- copies of the Software, and to permit persons to whom the Software is    --
--- furnished to do so, subject to the following conditions:                 --
---                                                                          --
--- The above copyright notice and this permission notice shall be included  --
--- in all copies or substantial portions of the Software.                   --
---                                                                          --
--- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --
--- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --
--- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --
--- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --
--- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --
--- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --
---                                                                          --
--- Except as contained in this notice, the name(s) of the above copyright   --
--- holders shall not be used in advertising or otherwise to promote the     --
--- sale, use or other dealings in this Software without prior written       --
--- authorization.                                                           --
-------------------------------------------------------------------------------
---  Author:  Juergen Pfeifer, 1996
---  Version Control:
---  @Revision: 1.12 @
---  Binding Version 01.00
-------------------------------------------------------------------------------
-package Terminal_Interface is
-   pragma Pure (Terminal_Interface);
---
---  Everything is in the child units
---
-end Terminal_Interface;
-
-
-
diff --git a/src/libs/ncurses/doc/html/announce.html b/src/libs/ncurses/doc/html/announce.html deleted file mode 100644 index d85b72f718..0000000000 --- a/src/libs/ncurses/doc/html/announce.html +++ /dev/null @@ -1,545 +0,0 @@ - - - - -Announcing ncurses 5.5 - - - - - -

Announcing ncurses 5.5

- -The ncurses (new curses) library is a free software emulation of -curses in System V Release 4.0, and more. It uses terminfo format, -supports pads and color -and multiple highlights and forms characters and function-key mapping, -and has all the other SYSV-curses enhancements over BSD curses.

- -In mid-June 1995, the maintainer of 4.4BSD curses declared that he -considered 4.4BSD curses obsolete, and encouraged the keepers of -Unix releases such as BSD/OS, FreeBSD and NetBSD to switch over to -ncurses.

- -The ncurses code was developed under GNU/Linux. -It has been in use for some time with OpenBSD as the system curses library, -and on FreeBSD and NetBSD as an external package. -It should port easily to any ANSI/POSIX-conforming UNIX. -It has even been ported to OS/2 Warp!

- -The distribution includes the library and support utilities, including a -terminfo compiler tic(1), a decompiler infocmp(1), clear(1), tput(1), tset(1), -and a termcap conversion tool captoinfo(1). Full manual pages are provided for -the library and tools.

- -The ncurses distribution is available via anonymous FTP at -the GNU distribution site -ftp://ftp.gnu.org/gnu/ncurses/ . -
It is also available at -ftp://invisible-island.net/ncurses/ . - -

Release Notes

- -This release is designed to be upward compatible from ncurses 5.0 through 5.4; -very few applications will require recompilation, depending on the platform. -These are the highlights from the change-log since ncurses 5.4 release. -

-Interface changes: -

    -
  • terminfo installs "xterm-new" as "xterm" entry rather than - "xterm-old" (aka xterm-r6). - -
  • terminfo data is installed using the tic -x option (few systems - still use ncurses 4.2). - -
  • modify C++ binding to work with newer C++ compilers by providing - initializers and using modern casts. Old-style header names are - still used in this release to allow compiling with not-so-old - compilers. - -
  • modify parameter type in c++ binding for insch() and mvwinsch() to - be consistent with underlying ncurses library (was char, is chtype). - -
  • change NCursesWindow::err_handler() to a virtual function. - -
  • form and menu libraries now work with wide-character data. - Applications which bypassed the form library and manipulated the - FIELD.buf data directly will not work properly with libformw, - since that no longer points to an array of char. The - set_field_buffer() and field_buffer() functions translate to/from - the actual field data. - - -
  • add symbol to curses.h which can be used to suppress include of - stdbool.h, e.g., -
    -                #define NCURSES_ENABLE_STDBOOL_H 0
    -                #include <curses.h>
    -          
    - -
  • change SP->_current_attr to a pointer, adjust ifdef's to ensure - that libtinfo.so and libtinfow.so have the same ABI. The reason - for this is that the corresponding data which belongs to the - upper-level ncurses library has a different size in each model. - -
  • winnstr() now returns multibyte character strings for the - wide-character configuration. - -
  • assume_default_colors() no longer requires that - use_default_colors() be called first. - -
  • data_ahead() now works with wide-characters. - -
  • slk_set() and slk_wset() now accept and store multibyte or - multicolumn characters. - -
  • start_color() now returns OK if colors have - already been started. - start_color() also returns ERR if it cannot allocate memory. - -
  • pair_content() now returns -1 for consistency with init_pair() - if it corresponds to the default-color. - -
  • unctrl() now returns null if its parameter does not correspond - to an unsigned char. - -
-New features and improvements: -
    -
  • library -
      -
    • environment variable NCURSES_NO_UTF8_ACS supports - miscellaneous terminal emulators which ignore alternate - character set escape sequences when in UTF-8 mode. - -
    • modify initialization of key lookup table so that if an extended - capability (tic -x) string is defined, and its name begins with 'k', - ncurses will automatically treat it as a key. - -
    • change GPM initialization, using dl library to load it - dynamically at runtime. - -
    • form, menu and panel libraries support debug-tracing. - -
    - -
  • add NCURSES-Programming-HOWTO.html by Pradeep Padala - (see http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/). - -
  • programs: - -
  • infocmp: -
      -
    • The -i option now matches 8-bit controls against its table - entries, e.g., so it can analyze the xterm-8bit entry. - -
    • add "-x" option to infocmp like tic's "-x", for use in "-F" - comparisons. This modifies infocmp to only report extended - capabilities if the -x option is given, making this more - consistent with tic. Some scripts may break, since infocmp - previous gave this information without an option. - -
    - -
  • tic: - -
      - -
    • modify termcap-parsing to retain 2-character aliases at the - beginning of an entry if the "-x" option is used in tic. - -
    • filter out long extended names when translating to termcap - format. Only two characters are permissible for termcap - capability names. - -
    • correct translation of "%%" in terminfo format to termcap, - e.g., using "tic -C". - -
    • modify the "-c -v" options to ignore delays when comparing - strings. Also modify it to ignore a canceled sgr string, - e.g., for terminals which cannot properly combine attributes - in one control sequence. - -
    • add a check for improperly ended strings, i.e., where a - following line begins in column 1. - -
    • add a check in tic for terminfo entries having an sgr0 but no - sgr string. This confuses Tru64 and HPUX curses when combined - with color, e.g., making them leave line-drawing characters in - odd places. - -
    • add check (with debug configuration) that provides about the - runtime changes that would be made to sgr0 for termcap - applications. - -
    - -
  • tset: - -
      - -
    • add -c and -w options to allow user to suppress ncurses' - resizing of the terminal emulator window in the special case - where it is not able to detect the true size. - -
    - -
-Major bug fixes: -
    - -
  • improve logic in tgetent() which adjusts the termcap "me" string - to work with ISO-2022 string used in xterm-new. - This is a feature that was incompletely implemented in ncurses 5.3. - ncurses attempts to provide termcap clients with the portion of - the sgr0 (termcap "me") string that does not reset line-drawing. - -
  • cells in the WINDOW which are continuations of a multicolumn - character are encoded differently, making repainting more - reliable. - -
  • amend change to setupterm() in ncurses 5.4 (20030405) which would - reuse the value of cur_term if the same output was selected. This - now reuses it only when setupterm() is called from tgetent(), - which has no notion of separate SCREENs. Note that tgetent() must - be called after initscr() or newterm() to use this feature. - -
  • make setcchar() now works when its wchar_t* parameter is - pointing to a string which contains more data than can be converted. - -
  • win_wchnstr() now works for more than one cell. - -
  • resizeterm() now processes all levels of window hierarchy. - -
  • disable GPM mouse support when $TERM happens to be prefixed with - "xterm". Gpm_Open() would otherwise assert that it can deal with - mouse events in this case. - -
  • add SP->_screen_acs_map[], used to ensure that mapping of missing - line-drawing characters is handled properly. For example, ACS_DARROW - is absent from xterm-new, and it was coincidentally displayed the - same as ACS_BTEE. - -
- -Portability: -
    -
  • configure script: -
      -
    • new options: -
      -
      --enable-largefile -
      set compiler and linker flags to use largefile support. - -
      --enable-ext-colors -
      Allow encoding of 256 foreground - and background colors, e.g., with the xterm-256color or - xterm-88color terminfo entries. - This requires ABI 6 because it changes the size of cchar_t. - -
      --enable-ext-mouse -
      This defines NCURSES_MOUSE_VERSION 2, and modifies the encoding of - mouse events to support wheel mice, which may transmit buttons - 4 and 5. This works with xterm and similar terminal - emulators. - This requires ABI 6 because it changes the encoding of - mouse events. - -
      --with-chtype -
      overriding of the non-LP64 model's use of chtype - -
      --with-mmask-t -
      overriding of the non-LP64 model's use of mmask_t - -
      --without-xterm-new -
      Installs "xterm-old" as the "xterm" entry of the terminfo - database. - -
      - -
    • The --with-termlib option now accepts a value which sets - the name of the terminfo library. This would allow a packager to - build libtinfow.so renamed to coincide with libtinfo.so - -
    • fixes/improvements for cross-compiling: - -
        -
      • suppress $suffix in misc/run_tic.sh when cross-compiling. - This allows cross-compiles to use the host's tic program to - handle the "make install.data" step. - -
      • correct BUILD_CPPFLAGS substitution in ncurses/Makefile.in, to allow - cross-compiling from a separate directory tree. - -
      - -
    - -
  • library: -
      - -
    • add ifdef's for _LP64 in curses.h to avoid using wasteful - 64-bits for chtype and mmask_t, but add configure option - --disable-lp64 in case anyone used that configuration. - -
    • modify C++ binding to use some C internal functions to make it - compile properly on Solaris (and other platforms). - -
    • remove check in newwin() that prevents allocating windows that - extend beyond the screen (Solaris does this). - -
    • check for nl_langinfo(CODESET), use it if available. - This replaces ad hoc tests of environment variables to - check if the terminal is setup for UTF-8 encoding. - Applications which do not call setlocale() - should be corrected, to make them work properly with - UTF-8 encoding. -
      - In particular, applications which assume (and - do not call setlocale()) that - Latin-1 codes are printable will no longer work in - a UTF-8 locale since the ad hoc check of environment - variables to see if the locale was UTF-8 is not used - when nl_langinfo(CODESET) is available. - -
    • use setlocale() to query the program's current locale rather - than using getenv(). This supports applications which rely - upon legacy treatment of 8-bit characters when the locale is - not initialized. - -
    -
- -

Features of Ncurses

- -The ncurses package is fully compatible with SVr4 (System V Release 4) curses: - -
    -
  • All 257 of the SVr4 calls have been implemented (and are documented). -
  • Full support for SVr4 curses features including keyboard mapping, color, -forms-drawing with ACS characters, and automatic recognition of keypad -and function keys. -
  • An emulation of the SVr4 panels library, supporting -a stack of windows with backing store, is included. -
  • An emulation of the SVr4 menus library, supporting -a uniform but flexible interface for menu programming, is included. -
  • An emulation of the SVr4 form library, supporting -data collection through on-screen forms, is included. -
  • Binary terminfo entries generated by the ncurses tic(1) implementation -are bit-for-bit-compatible with the entry format SVr4 curses uses. -
  • The utilities have options to allow you to filter terminfo -entries for use with less capable curses/terminfo -versions such as the HP/UX and AIX ports.
- -The ncurses package also has many useful extensions over SVr4: - -
    -
  • The API is 8-bit clean and base-level conformant with the X/OPEN curses -specification, XSI curses (that is, it implements all BASE level features, -but not all EXTENDED features). Most EXTENDED-level features not directly -concerned with wide-character support are implemented, including many -function calls not supported under SVr4 curses (but portability of all -calls is documented so you can use the SVr4 subset only). -
  • Unlike SVr3 curses, ncurses can write to the rightmost-bottommost corner -of the screen if your terminal has an insert-character capability. -
  • Ada95 and C++ bindings. -
  • Support for mouse event reporting with X Window xterm and OS/2 console windows. -
  • Extended mouse support via Alessandro Rubini's gpm package. -
  • The function wresize() allows you to resize windows, preserving -their data. -
  • The function use_default_colors() allows you to -use the terminal's default colors for the default color pair, -achieving the effect of transparent colors. -
  • The functions keyok() -and define_key() allow -you to better control the use of function keys, -e.g., disabling the ncurses KEY_MOUSE, -or by defining more than one control sequence to map to a given key code. -
  • Support for 16-color terminals, such as aixterm and XFree86 xterm. -
  • Better cursor-movement optimization. The package now features a -cursor-local-movement computation more efficient than either BSD's -or System V's. -
  • Super hardware scrolling support. The screen-update code incorporates -a novel, simple, and cheap algorithm that enables it to make optimal -use of hardware scrolling, line-insertion, and line-deletion -for screen-line movements. This algorithm is more powerful than -the 4.4BSD curses quickch() routine. -
  • Real support for terminals with the magic-cookie glitch. The -screen-update code will refrain from drawing a highlight if the magic- -cookie unattributed spaces required just before the beginning and -after the end would step on a non-space character. It will -automatically shift highlight boundaries when doing so would make it -possible to draw the highlight without changing the visual appearance -of the screen. -
  • It is possible to generate the library with a list of pre-loaded -fallback entries linked to it so that it can serve those terminal types even -when no terminfo tree or termcap file is accessible (this may be useful -for support of screen-oriented programs that must run in single-user mode). -
  • The tic(1)/captoinfo utility provided with ncurses has the -ability to translate many termcaps from the XENIX, IBM and -AT&T extension sets. -
  • A BSD-like tset(1) utility is provided. -
  • The ncurses library and utilities will automatically read terminfo -entries from $HOME/.terminfo if it exists, and compile to that directory -if it exists and the user has no write access to the system directory. -This feature makes it easier for users to have personal terminfo entries -without giving up access to the system terminfo directory. -
  • You may specify a path of directories to search for compiled -descriptions with the environment variable TERMINFO_DIRS (this -generalizes the feature provided by TERMINFO under stock System V.) -
  • In terminfo source files, use capabilities may refer not just to -other entries in the same source file (as in System V) but also to -compiled entries in either the system terminfo directory or the user's -$HOME/.terminfo directory. -
  • A script (capconvert) is provided to help BSD users -transition from termcap to terminfo. It gathers the information in a -TERMCAP environment variable and/or a ~/.termcap local entries file -and converts it to an equivalent local terminfo tree under $HOME/.terminfo. -
  • Automatic fallback to the /etc/termcap file can be compiled in -when it is not possible to build a terminfo tree. This feature is neither -fast nor cheap, you don't want to use it unless you have to, -but it's there. -
  • The table-of-entries utility toe makes it easy for users to -see exactly what terminal types are available on the system. -
  • The library meets the XSI requirement that every macro entry -point have a corresponding function which may be linked (and will be -prototype-checked) if the macro definition is disabled with -#undef. -
  • An HTML "Introduction to Programming with NCURSES" document provides -a narrative introduction to the curses programming interface. -
- -

State of the Package

- -Numerous bugs present in earlier versions have been fixed; the -library is far more reliable than it used to be. Bounds checking in many -`dangerous' entry points has been improved. The code is now type-safe -according to gcc -Wall. The library has been checked for malloc leaks and -arena corruption by the Purify memory-allocation tester.

- -The ncurses code has been tested with a wide variety of applications -including (versions starting with those noted): -

-
cdk -
Curses Development Kit -
-http://invisible-island.net/cdk/ -
-http://www.vexus.ca/products/CDK/ -
ded -
directory-editor -
-http://invisible-island.net/ded/ -
dialog -
the underlying application used in Slackware's setup, and the basis -for similar applications on GNU/Linux. -
-http://invisible-island.net/dialog/ -
lynx -
the character-screen WWW browser -
-http://lynx.isc.org/release/ -
Midnight Commander -
file manager -
-http://www.ibiblio.org/mc/ -
mutt -
mail utility -
-http://www.mutt.org/ -
ncftp -
file-transfer utility -
-http://www.ncftp.com/ -
nvi -
New vi versions 1.50 are able to use ncurses versions 1.9.7 and later. -
-http://www.bostic.com/vi/ -
-
pinfo -
Lynx-like info browser. -http://dione.ids.pl/~pborys/software/pinfo/ -
tin -
newsreader, supporting color, MIME -http://www.tin.org/ -
vh-1.6 -
Volks-Hypertext browser for the Jargon File -
-http://www.debian.org/Packages/unstable/text/vh.html -
-as well as some that use ncurses for the terminfo support alone: -
-
minicom -
terminal emulator -
-http://www.netsonic.fi/~walker/minicom.html -
vile -
vi-like-emacs -
-http://invisible-island.net/vile/ -
-

- -The ncurses distribution includes a selection of test programs (including -a few games). - -

Who's Who and What's What

- -Zeyd Ben-Halim -started it from a previous package pcurses, written by Pavel Curtis. -Eric S. Raymond -continued development. -Jürgen Pfeifer wrote most of the form and menu libraries. -Ongoing work is being done by -Thomas Dickey. -Thomas Dickey -acts as the maintainer for the Free Software Foundation, -which holds the copyright on ncurses. -Contact the current maintainers at -bug-ncurses@gnu.org. -

- -To join the ncurses mailing list, please write email to -bug-ncurses-request@gnu.org containing the line: -

-             subscribe <name>@<host.domain>
-
- -This list is open to anyone interested in helping with the development and -testing of this package.

- -Beta versions of ncurses and patches to the current release are made available at -ftp://invisible-island.net/ncurses/ . - -

Future Plans

-
    -
  • Extended-level XPG4 conformance, with internationalization support. -
  • Ports to more systems, including DOS and Windows. -
-We need people to help with these projects. If you are interested in working -on them, please join the ncurses list. - -

Other Related Resources

- -The distribution provides a newer version of the terminfo-format -terminal description file maintained by -Eric Raymond . -Unlike the older version, the termcap and terminfo data are provided -in the same file.

- -You can find lots of information on terminal-related topics -not covered in the terminfo file at -Richard Shuford's -archive . - - - diff --git a/src/libs/ncurses/doc/html/hackguide.html b/src/libs/ncurses/doc/html/hackguide.html deleted file mode 100644 index db6b5c04c2..0000000000 --- a/src/libs/ncurses/doc/html/hackguide.html +++ /dev/null @@ -1,891 +0,0 @@ - - - - -A Hacker's Guide to Ncurses Internals - - - - - - -

A Hacker's Guide to NCURSES

- -

Contents

- - -

Abstract

- -This document is a hacker's tour of the ncurses library and utilities. -It discusses design philosophy, implementation methods, and the -conventions used for coding and documentation. It is recommended -reading for anyone who is interested in porting, extending or improving the -package. - -

Objective of the Package

- -The objective of the ncurses package is to provide a free software API for -character-cell terminals and terminal emulators with the following -characteristics: - -
    -
  • Source-compatible with historical curses implementations (including - the original BSD curses and System V curses. -
  • Conformant with the XSI Curses standard issued as part of XPG4 by - X/Open. -
  • High-quality -- stable and reliable code, wide portability, good - packaging, superior documentation. -
  • Featureful -- should eliminate as much of the drudgery of C interface - programming as possible, freeing programmers to think at a higher - level of design. -
- -These objectives are in priority order. So, for example, source -compatibility with older version must trump featurefulness -- we cannot -add features if it means breaking the portion of the API corresponding -to historical curses versions. - -

Why System V Curses?

- -We used System V curses as a model, reverse-engineering their API, in -order to fulfill the first two objectives.

- -System V curses implementations can support BSD curses programs with -just a recompilation, so by capturing the System V API we also -capture BSD's.

- -More importantly for the future, the XSI Curses standard issued by X/Open -is explicitly and closely modeled on System V. So conformance with -System V took us most of the way to base-level XSI conformance. - -

How to Design Extensions

- -The third objective (standards conformance) requires that it be easy to -condition source code using ncurses so that the absence of nonstandard -extensions does not break the code.

- -Accordingly, we have a policy of associating with each nonstandard extension -a feature macro, so that ncurses client code can use this macro to condition -in or out the code that requires the ncurses extension.

- -For example, there is a macro NCURSES_MOUSE_VERSION which XSI Curses -does not define, but which is defined in the ncurses library header. -You can use this to condition the calls to the mouse API calls. - -

Portability and Configuration

- -Code written for ncurses may assume an ANSI-standard C compiler and -POSIX-compatible OS interface. It may also assume the presence of a -System-V-compatible select(2) call.

- -We encourage (but do not require) developers to make the code friendly -to less-capable UNIX environments wherever possible.

- -We encourage developers to support OS-specific optimizations and methods -not available under POSIX/ANSI, provided only that: - -

    -
  • All such code is properly conditioned so the build process does not - attempt to compile it under a plain ANSI/POSIX environment. -
  • Adding such implementation methods does not introduce incompatibilities - in the ncurses API between platforms. -
- -We use GNU autoconf(1) as a tool to deal with portability issues. -The right way to leverage an OS-specific feature is to modify the autoconf -specification files (configure.in and aclocal.m4) to set up a new feature -macro, which you then use to condition your code. - -

Documentation Conventions

- -There are three kinds of documentation associated with this package. Each -has a different preferred format: - -
    -
  • Package-internal files (README, INSTALL, TO-DO etc.) -
  • Manual pages. -
  • Everything else (i.e., narrative documentation). -
- -Our conventions are simple: -
    -
  1. Maintain package-internal files in plain text. - The expected viewer for them more(1) or an editor window; there's - no point in elaborate mark-up. - -
  2. Mark up manual pages in the man macros. These have to be viewable - through traditional man(1) programs. - -
  3. Write everything else in HTML. -
- -When in doubt, HTMLize a master and use lynx(1) to generate -plain ASCII (as we do for the announcement document).

- -The reason for choosing HTML is that it's (a) well-adapted for on-line -browsing through viewers that are everywhere; (b) more easily readable -as plain text than most other mark-ups, if you don't have a viewer; and (c) -carries enough information that you can generate a nice-looking printed -version from it. Also, of course, it make exporting things like the -announcement document to WWW pretty trivial. - -

How to Report Bugs

- -The reporting address for bugs is -bug-ncurses@gnu.org. -This is a majordomo list; to join, write -to bug-ncurses-request@gnu.org with a message containing the line: -
-             subscribe <name>@<host.domain>
-
- -The ncurses code is maintained by a small group of -volunteers. While we try our best to fix bugs promptly, we simply -don't have a lot of hours to spend on elementary hand-holding. We rely -on intelligent cooperation from our users. If you think you have -found a bug in ncurses, there are some steps you can take -before contacting us that will help get the bug fixed quickly.

- -In order to use our bug-fixing time efficiently, we put people who -show us they've taken these steps at the head of our queue. This -means that if you don't, you'll probably end up at the tail end and -have to wait a while. - -

    -
  1. Develop a recipe to reproduce the bug. -

    -Bugs we can reproduce are likely to be fixed very quickly, often -within days. The most effective single thing you can do to get a -quick fix is develop a way we can duplicate the bad behavior -- -ideally, by giving us source for a small, portable test program that -breaks the library. (Even better is a keystroke recipe using one of -the test programs provided with the distribution.) - -

  2. Try to reproduce the bug on a different terminal type.

    - -In our experience, most of the behaviors people report as library bugs -are actually due to subtle problems in terminal descriptions. This is -especially likely to be true if you're using a traditional -asynchronous terminal or PC-based terminal emulator, rather than xterm -or a UNIX console entry.

    - -It's therefore extremely helpful if you can tell us whether or not your -problem reproduces on other terminal types. Usually you'll have both -a console type and xterm available; please tell us whether or not your -bug reproduces on both.

    - -If you have xterm available, it is also good to collect xterm reports for -different window sizes. This is especially true if you normally use an -unusual xterm window size -- a surprising number of the bugs we've seen -are either triggered or masked by these. - -

  3. Generate and examine a trace file for the broken behavior.

    - -Recompile your program with the debugging versions of the libraries. -Insert a trace() call with the argument set to TRACE_UPDATE. -(See "Writing Programs with -NCURSES" for details on trace levels.) -Reproduce your bug, then look at the trace file to see what the library -was actually doing.

    - -Another frequent cause of apparent bugs is application coding errors -that cause the wrong things to be put on the virtual screen. Looking -at the virtual-screen dumps in the trace file will tell you immediately if -this is happening, and save you from the possible embarrassment of being -told that the bug is in your code and is your problem rather than ours.

    - -If the virtual-screen dumps look correct but the bug persists, it's -possible to crank up the trace level to give more and more information -about the library's update actions and the control sequences it issues -to perform them. The test directory of the distribution contains a -tool for digesting these logs to make them less tedious to wade -through.

    - -Often you'll find terminfo problems at this stage by noticing that the -escape sequences put out for various capabilities are wrong. If not, -you're likely to learn enough to be able to characterize any bug in -the screen-update logic quite exactly. - -

  4. Report details and symptoms, not just interpretations.

    - -If you do the preceding two steps, it is very likely that you'll discover -the nature of the problem yourself and be able to send us a fix. This -will create happy feelings all around and earn you good karma for the first -time you run into a bug you really can't characterize and fix yourself.

    - -If you're still stuck, at least you'll know what to tell us. Remember, we -need details. If you guess about what is safe to leave out, you are too -likely to be wrong.

    - -If your bug produces a bad update, include a trace file. Try to make -the trace at the least voluminous level that pins down the -bug. Logs that have been through tracemunch are OK, it doesn't throw -away any information (actually they're better than un-munched ones because -they're easier to read).

    - -If your bug produces a core-dump, please include a symbolic stack trace -generated by gdb(1) or your local equivalent.

    - -Tell us about every terminal on which you've reproduced the bug -- and -every terminal on which you can't. Ideally, sent us terminfo sources -for all of these (yours might differ from ours).

    - -Include your ncurses version and your OS/machine type, of course! You can -find your ncurses version in the curses.h file. -

- -If your problem smells like a logic error or in cursor movement or -scrolling or a bad capability, there are a couple of tiny test frames -for the library algorithms in the progs directory that may help you -isolate it. These are not part of the normal build, but do have their -own make productions.

- -The most important of these is mvcur, a test frame for the -cursor-movement optimization code. With this program, you can see -directly what control sequences will be emitted for any given cursor -movement or scroll/insert/delete operations. If you think you've got -a bad capability identified, you can disable it and test again. The -program is command-driven and has on-line help.

- -If you think the vertical-scroll optimization is broken, or just want to -understand how it works better, build hashmap and read the -header comments of hardscroll.c and hashmap.c; then try -it out. You can also test the hardware-scrolling optimization separately -with hardscroll.

- -There's one other interactive tester, tctest, that exercises -translation between termcap and terminfo formats. If you have a serious -need to run this, you probably belong on our development team! - -

A Tour of the Ncurses Library

- -

Library Overview

- -Most of the library is superstructure -- fairly trivial convenience -interfaces to a small set of basic functions and data structures used -to manipulate the virtual screen (in particular, none of this code -does any I/O except through calls to more fundamental modules -described below). The files -
- -lib_addch.c -lib_bkgd.c -lib_box.c -lib_chgat.c -lib_clear.c -lib_clearok.c -lib_clrbot.c -lib_clreol.c -lib_colorset.c -lib_data.c -lib_delch.c -lib_delwin.c -lib_echo.c -lib_erase.c -lib_gen.c -lib_getstr.c -lib_hline.c -lib_immedok.c -lib_inchstr.c -lib_insch.c -lib_insdel.c -lib_insstr.c -lib_instr.c -lib_isendwin.c -lib_keyname.c -lib_leaveok.c -lib_move.c -lib_mvwin.c -lib_overlay.c -lib_pad.c -lib_printw.c -lib_redrawln.c -lib_scanw.c -lib_screen.c -lib_scroll.c -lib_scrollok.c -lib_scrreg.c -lib_set_term.c -lib_slk.c -lib_slkatr_set.c -lib_slkatrof.c -lib_slkatron.c -lib_slkatrset.c -lib_slkattr.c -lib_slkclear.c -lib_slkcolor.c -lib_slkinit.c -lib_slklab.c -lib_slkrefr.c -lib_slkset.c -lib_slktouch.c -lib_touch.c -lib_unctrl.c -lib_vline.c -lib_wattroff.c -lib_wattron.c -lib_window.c - -
-are all in this category. They are very -unlikely to need change, barring bugs or some fundamental -reorganization in the underlying data structures.

- -These files are used only for debugging support: -

- -lib_trace.c -lib_traceatr.c -lib_tracebits.c -lib_tracechr.c -lib_tracedmp.c -lib_tracemse.c -trace_buf.c - -
-It is rather unlikely you will ever need to change these, unless -you want to introduce a new debug trace level for some reasoon.

- -There is another group of files that do direct I/O via tputs(), -computations on the terminal capabilities, or queries to the OS -environment, but nevertheless have only fairly low complexity. These -include: -

- -lib_acs.c -lib_beep.c -lib_color.c -lib_endwin.c -lib_initscr.c -lib_longname.c -lib_newterm.c -lib_options.c -lib_termcap.c -lib_ti.c -lib_tparm.c -lib_tputs.c -lib_vidattr.c -read_entry.c. - -
-They are likely to need revision only if -ncurses is being ported to an environment without an underlying -terminfo capability representation.

- -These files -have serious hooks into -the tty driver and signal facilities: -

- -lib_kernel.c -lib_baudrate.c -lib_raw.c -lib_tstp.c -lib_twait.c - -
-If you run into porting snafus -moving the package to another UNIX, the problem is likely to be in one -of these files. -The file lib_print.c uses sleep(2) and also -falls in this category.

- -Almost all of the real work is done in the files -

- -hardscroll.c -hashmap.c -lib_addch.c -lib_doupdate.c -lib_getch.c -lib_mouse.c -lib_mvcur.c -lib_refresh.c -lib_setup.c -lib_vidattr.c - -
-Most of the algorithmic complexity in the -library lives in these files. -If there is a real bug in ncurses itself, it's probably here. -We'll tour some of these files in detail -below (see The Engine Room).

- -Finally, there is a group of files that is actually most of the -terminfo compiler. The reason this code lives in the ncurses -library is to support fallback to /etc/termcap. These files include -

- -alloc_entry.c -captoinfo.c -comp_captab.c -comp_error.c -comp_hash.c -comp_parse.c -comp_scan.c -parse_entry.c -read_termcap.c -write_entry.c - -
-We'll discuss these in the compiler tour. - -

The Engine Room

- -

Keyboard Input

- -All ncurses input funnels through the function -wgetch(), defined in lib_getch.c. This function is -tricky; it has to poll for keyboard and mouse events and do a running -match of incoming input against the set of defined special keys.

- -The central data structure in this module is a FIFO queue, used to -match multiple-character input sequences against special-key -capabilities; also to implement pushback via ungetch().

- -The wgetch() code distinguishes between function key -sequences and the same sequences typed manually by doing a timed wait -after each input character that could lead a function key sequence. -If the entire sequence takes less than 1 second, it is assumed to have -been generated by a function key press.

- -Hackers bruised by previous encounters with variant select(2) -calls may find the code in lib_twait.c interesting. It deals -with the problem that some BSD selects don't return a reliable -time-left value. The function timed_wait() effectively -simulates a System V select. - -

Mouse Events

- -If the mouse interface is active, wgetch() polls for mouse -events each call, before it goes to the keyboard for input. It is -up to lib_mouse.c how the polling is accomplished; it may vary -for different devices.

- -Under xterm, however, mouse event notifications come in via the keyboard -input stream. They are recognized by having the kmous capability -as a prefix. This is kind of klugey, but trying to wire in recognition of -a mouse key prefix without going through the function-key machinery would -be just too painful, and this turns out to imply having the prefix somewhere -in the function-key capabilities at terminal-type initialization.

- -This kluge only works because kmous isn't actually used by any -historic terminal type or curses implementation we know of. Best -guess is it's a relic of some forgotten experiment in-house at Bell -Labs that didn't leave any traces in the publicly-distributed System V -terminfo files. If System V or XPG4 ever gets serious about using it -again, this kluge may have to change.

- -Here are some more details about mouse event handling:

- -The lib_mouse()code is logically split into a lower level that -accepts event reports in a device-dependent format and an upper level that -parses mouse gestures and filters events. The mediating data structure is a -circular queue of event structures.

- -Functionally, the lower level's job is to pick up primitive events and -put them on the circular queue. This can happen in one of two ways: -either (a) _nc_mouse_event() detects a series of incoming -mouse reports and queues them, or (b) code in lib_getch.c detects the -kmous prefix in the keyboard input stream and calls _nc_mouse_inline -to queue up a series of adjacent mouse reports.

- -In either case, _nc_mouse_parse() should be called after the -series is accepted to parse the digested mouse reports (low-level -events) into a gesture (a high-level or composite event). - -

Output and Screen Updating

- -With the single exception of character echoes during a wgetnstr() -call (which simulates cooked-mode line editing in an ncurses window), -the library normally does all its output at refresh time.

- -The main job is to go from the current state of the screen (as represented -in the curscr window structure) to the desired new state (as -represented in the newscr window structure), while doing as -little I/O as possible.

- -The brains of this operation are the modules hashmap.c, -hardscroll.c and lib_doupdate.c; the latter two use -lib_mvcur.c. Essentially, what happens looks like this:

- -The hashmap.c module tries to detect vertical motion -changes between the real and virtual screens. This information -is represented by the oldindex members in the newscr structure. -These are modified by vertical-motion and clear operations, and both are -re-initialized after each update. To this change-journalling -information, the hashmap code adds deductions made using a modified Heckel -algorithm on hash values generated from the line contents.

- -The hardscroll.c module computes an optimum set of scroll, -insertion, and deletion operations to make the indices match. It calls -_nc_mvcur_scrolln() in lib_mvcur.c to do those motions.

- -Then lib_doupdate.c goes to work. Its job is to do line-by-line -transformations of curscr lines to newscr lines. Its main -tool is the routine mvcur() in lib_mvcur.c. This routine -does cursor-movement optimization, attempting to get from given screen -location A to given location B in the fewest output characters posible.

- -If you want to work on screen optimizations, you should use the fact -that (in the trace-enabled version of the library) enabling the -TRACE_TIMES trace level causes a report to be emitted after -each screen update giving the elapsed time and a count of characters -emitted during the update. You can use this to tell when an update -optimization improves efficiency.

- -In the trace-enabled version of the library, it is also possible to disable -and re-enable various optimizations at runtime by tweaking the variable -_nc_optimize_enable. See the file include/curses.h.in -for mask values, near the end. - -

The Forms and Menu Libraries

- -The forms and menu libraries should work reliably in any environment you -can port ncurses to. The only portability issue anywhere in them is what -flavor of regular expressions the built-in form field type TYPE_REGEXP -will recognize.

- -The configuration code prefers the POSIX regex facility, modeled on -System V's, but will settle for BSD regexps if the former isn't available.

- -Historical note: the panels code was written primarily to assist in -porting u386mon 2.0 (comp.sources.misc v14i001-4) to systems lacking -panels support; u386mon 2.10 and beyond use it. This version has been -slightly cleaned up for ncurses. - -

A Tour of the Terminfo Compiler

- -The ncurses implementation of tic is rather complex -internally; it has to do a trying combination of missions. This starts -with the fact that, in addition to its normal duty of compiling -terminfo sources into loadable terminfo binaries, it has to be able to -handle termcap syntax and compile that too into terminfo entries.

- -The implementation therefore starts with a table-driven, dual-mode -lexical analyzer (in comp_scan.c). The lexer chooses its -mode (termcap or terminfo) based on the first `,' or `:' it finds in -each entry. The lexer does all the work of recognizing capability -names and values; the grammar above it is trivial, just "parse entries -till you run out of file". - -

Translation of Non-use Capabilities

- -Translation of most things besides use capabilities is pretty -straightforward. The lexical analyzer's tokenizer hands each capability -name to a hash function, which drives a table lookup. The table entry -yields an index which is used to look up the token type in another table, -and controls interpretation of the value.

- -One possibly interesting aspect of the implementation is the way the -compiler tables are initialized. All the tables are generated by various -awk/sed/sh scripts from a master table include/Caps; these -scripts actually write C initializers which are linked to the compiler. -Furthermore, the hash table is generated in the same way, so it doesn't -have to be generated at compiler startup time (another benefit of this -organization is that the hash table can be in shareable text space).

- -Thus, adding a new capability is usually pretty trivial, just a matter -of adding one line to the include/Caps file. We'll have more -to say about this in the section on Source-Form -Translation. - -

Use Capability Resolution

- -The background problem that makes tic tricky isn't the capability -translation itself, it's the resolution of use capabilities. Older -versions would not handle forward use references for this reason -(that is, a using terminal always had to follow its use target in the -source file). By doing this, they got away with a simple implementation -tactic; compile everything as it blows by, then resolve uses from compiled -entries.

- -This won't do for ncurses. The problem is that that the whole -compilation process has to be embeddable in the ncurses library -so that it can be called by the startup code to translate termcap -entries on the fly. The embedded version can't go promiscuously writing -everything it translates out to disk -- for one thing, it will typically -be running with non-root permissions.

- -So our tic is designed to parse an entire terminfo file into a -doubly-linked circular list of entry structures in-core, and then do -use resolution in-memory before writing everything out. This -design has other advantages: it makes forward and back use-references -equally easy (so we get the latter for free), and it makes checking for -name collisions before they're written out easy to do.

- -And this is exactly how the embedded version works. But the stand-alone -user-accessible version of tic partly reverts to the historical -strategy; it writes to disk (not keeping in core) any entry with no -use references.

- -This is strictly a core-economy kluge, implemented because the -terminfo master file is large enough that some core-poor systems swap -like crazy when you compile it all in memory...there have been reports of -this process taking three hours, rather than the twenty seconds -or less typical on the author's development box.

- -So. The executable tic passes the entry-parser a hook that -immediately writes out the referenced entry if it has no use -capabilities. The compiler main loop refrains from adding the entry -to the in-core list when this hook fires. If some other entry later -needs to reference an entry that got written immediately, that's OK; -the resolution code will fetch it off disk when it can't find it in -core.

- -Name collisions will still be detected, just not as cleanly. The -write_entry() code complains before overwriting an entry that -postdates the time of tic's first call to -write_entry(), Thus it will complain about overwriting -entries newly made during the tic run, but not about -overwriting ones that predate it. - -

Source-Form Translation

- -Another use of tic is to do source translation between various termcap -and terminfo formats. There are more variants out there than you might -think; the ones we know about are described in the captoinfo(1) -manual page.

- -The translation output code (dump_entry() in -ncurses/dump_entry.c) is shared with the infocmp(1) -utility. It takes the same internal representation used to generate -the binary form and dumps it to standard output in a specified -format.

- -The include/Caps file has a header comment describing ways you -can specify source translations for nonstandard capabilities just by -altering the master table. It's possible to set up capability aliasing -or tell the compiler to plain ignore a given capability without writing -any C code at all.

- -For circumstances where you need to do algorithmic translation, there -are functions in parse_entry.c called after the parse of each -entry that are specifically intended to encapsulate such -translations. This, for example, is where the AIX box1 capability -get translated to an acsc string. - -

Other Utilities

- -The infocmp utility is just a wrapper around the same -entry-dumping code used by tic for source translation. Perhaps -the one interesting aspect of the code is the use of a predicate -function passed in to dump_entry() to control which -capabilities are dumped. This is necessary in order to handle both -the ordinary De-compilation case and entry difference reporting.

- -The tput and clear utilities just do an entry load -followed by a tputs() of a selected capability. - -

Style Tips for Developers

- -See the TO-DO file in the top-level directory of the source distribution -for additions that would be particularly useful.

- -The prefix _nc_ should be used on library public functions that are -not part of the curses API in order to prevent pollution of the -application namespace. - -If you have to add to or modify the function prototypes in curses.h.in, -read ncurses/MKlib_gen.sh first so you can avoid breaking XSI conformance. - -Please join the ncurses mailing list. See the INSTALL file in the -top level of the distribution for details on the list.

- -Look for the string FIXME in source files to tag minor bugs -and potential problems that could use fixing.

- -Don't try to auto-detect OS features in the main body of the C code. -That's the job of the configuration system.

- -To hold down complexity, do make your code data-driven. Especially, -if you can drive logic from a table filtered out of -include/Caps, do it. If you find you need to augment the -data in that file in order to generate the proper table, that's still -preferable to ad-hoc code -- that's why the fifth field (flags) is -there.

- -Have fun! - -

Porting Hints

- -The following notes are intended to be a first step towards DOS and Macintosh -ports of the ncurses libraries.

- -The following library modules are `pure curses'; they operate only on -the curses internal structures, do all output through other curses -calls (not including tputs() and putp()) and do not -call any other UNIX routines such as signal(2) or the stdio library. -Thus, they should not need to be modified for single-terminal -ports. - -

- -lib_addch.c -lib_addstr.c -lib_bkgd.c -lib_box.c -lib_clear.c -lib_clrbot.c -lib_clreol.c -lib_delch.c -lib_delwin.c -lib_erase.c -lib_inchstr.c -lib_insch.c -lib_insdel.c -lib_insstr.c -lib_keyname.c -lib_move.c -lib_mvwin.c -lib_newwin.c -lib_overlay.c -lib_pad.c -lib_printw.c -lib_refresh.c -lib_scanw.c -lib_scroll.c -lib_scrreg.c -lib_set_term.c -lib_touch.c -lib_tparm.c -lib_tputs.c -lib_unctrl.c -lib_window.c -panel.c - -
-

- -This module is pure curses, but calls outstr(): - -

- -lib_getstr.c - -
-

- -These modules are pure curses, except that they use tputs() -and putp(): - -

- -lib_beep.c -lib_color.c -lib_endwin.c -lib_options.c -lib_slk.c -lib_vidattr.c - -
-

- -This modules assist in POSIX emulation on non-POSIX systems: -

-
sigaction.c -
signal calls -
- -The following source files will not be needed for a -single-terminal-type port. - -
- -alloc_entry.c -captoinfo.c -clear.c -comp_captab.c -comp_error.c -comp_hash.c -comp_main.c -comp_parse.c -comp_scan.c -dump_entry.c -infocmp.c -parse_entry.c -read_entry.c -tput.c -write_entry.c - -
-

- -The following modules will use open()/read()/write()/close()/lseek() on files, -but no other OS calls. - -

-
lib_screen.c -
used to read/write screen dumps -
lib_trace.c -
used to write trace data to the logfile -
- -Modules that would have to be modified for a port start here:

- -The following modules are `pure curses' but contain assumptions inappropriate -for a memory-mapped port. - -

-
lib_longname.c
assumes there may be multiple terminals -
lib_acs.c
assumes acs_map as a double indirection -
lib_mvcur.c
assumes cursor moves have variable cost -
lib_termcap.c
assumes there may be multiple terminals -
lib_ti.c
assumes there may be multiple terminals -
- -The following modules use UNIX-specific calls: - -
-
lib_doupdate.c
input checking -
lib_getch.c
read() -
lib_initscr.c
getenv() -
lib_newterm.c -
lib_baudrate.c -
lib_kernel.c
various tty-manipulation and system calls -
lib_raw.c
various tty-manipulation calls -
lib_setup.c
various tty-manipulation calls -
lib_restart.c
various tty-manipulation calls -
lib_tstp.c
signal-manipulation calls -
lib_twait.c
gettimeofday(), select(). -
- -
-
Eric S. Raymond <esr@snark.thyrsus.com>
-(Note: This is not the bug address!) - - diff --git a/src/libs/ncurses/doc/html/index.html b/src/libs/ncurses/doc/html/index.html deleted file mode 100644 index 3fbd24c513..0000000000 --- a/src/libs/ncurses/doc/html/index.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - -Welcome to ncurses - - - - -

Welcome to ncurses

-From this index page you have access to these further documents -

-We also have HTML versions of all the ncurses manpages. - - - diff --git a/src/libs/ncurses/doc/html/man/captoinfo.1m.html b/src/libs/ncurses/doc/html/man/captoinfo.1m.html deleted file mode 100644 index f64f91da7e..0000000000 --- a/src/libs/ncurses/doc/html/man/captoinfo.1m.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - -captoinfo 1m - - - - -

captoinfo 1m

-
-
-
-captoinfo(1m)                                             captoinfo(1m)
-
-
-
-
-
-

NAME

-       captoinfo  - convert a termcap description into a terminfo
-       description
-
-
-
-

SYNOPSIS

-       captoinfo [-vn width]  [-V] [-1] [-w width] file . . .
-
-
-
-

DESCRIPTION

-       captoinfo looks in file  for  termcap  descriptions.   For
-       each  one  found,  an  equivalent  terminfo description is
-       written to standard output.  Termcap tc  capabilities  are
-       translated directly to terminfo use capabilities.
-
-       If no file is given, then the environment variable TERMCAP
-       is used for the filename or entry.  If TERMCAP is  a  full
-       pathname to a file, only the terminal whose name is speci-
-       fied in the environment variable TERM  is  extracted  from
-       that  file.   If  the  environment variable TERMCAP is not
-       set, then the file /usr/share/terminfo is read.
-
-       -v   print out tracing information on  standard  error  as
-            the program runs.
-
-       -V   print  out the version of the program in use on stan-
-            dard error and exit.
-
-       -1   cause the fields to print out one to a line.   Other-
-            wise, the fields will be printed several to a line to
-            a maximum width of 60 characters.
-
-       -w   change the output to width characters.
-
-
-
-

FILES

-       /usr/share/terminfo Compiled     terminal      description
-                           database.
-
-
-
-

TRANSLATIONS FROM NONSTANDARD CAPABILITIES

-       Some  obsolete nonstandard capabilities will automatically
-       be translated into  standard  (SVr4/XSI  Curses)  terminfo
-       capabilities  by  captoinfo.   Whenever one of these auto-
-       matic translations is done,  the  program  will  issue  an
-       notification to stderr, inviting the user to check that it
-       has not mistakenly translated  a  completely  unknown  and
-       random capability and/or syntax error.
-
-
-       Nonstd   Std    From           Terminfo
-        name    name                 capability
-       -----------------------------------------------
-       BO       mr     AT&T    enter_reverse_mode
-       CI       vi     AT&T    cursor_invisible
-       CV       ve     AT&T    cursor_normal
-       DS       mh     AT&T    enter_dim_mode
-       EE       me     AT&T    exit_attribute_mode
-       FE       LF     AT&T    label_on
-       FL       LO     AT&T    label_off
-       XS       mk     AT&T    enter_secure_mode
-       EN       @7     XENIX   key_end
-       GE       ae     XENIX   exit_alt_charset_mode
-       GS       as     XENIX   enter_alt_charset_mode
-       HM       kh     XENIX   key_home
-
-       LD       kL     XENIX   key_dl
-       PD       kN     XENIX   key_npage
-       PN       po     XENIX   prtr_off
-       PS       pf     XENIX   prtr_on
-       PU       kP     XENIX   key_ppage
-       RT       @8     XENIX   kent
-       UP       ku     XENIX   kcuu1
-       KA       k;     Tek     key_f10
-       KB       F1     Tek     key_f11
-       KC       F2     Tek     key_f12
-       KD       F3     Tek     key_f13
-       KE       F4     Tek     key_f14
-       KF       F5     Tek     key_f15
-       BC       Sb     Tek     set_background
-       FC       Sf     Tek     set_foreground
-       HS       mh     Iris    enter_dim_mode
-
-       XENIX  termcap  also used to have a set of extension capa-
-       bilities for forms drawing, designed to take advantage  of
-       the IBM PC high-half graphics.  They were as follows:
-
-
-       Cap          Graphic
-       -----------------------------
-       G2    upper left
-       G3    lower left
-       G1    upper right
-       G4    lower right
-       GR    pointing right
-       GL    pointing left
-       GU    pointing up
-       GD    pointing down
-       GH    horizontal line
-       GV    vertical line
-       GC    intersection
-       G6    upper left
-       G7    lower left
-       G5    upper right
-       G8    lower right
-       Gr    tee pointing right
-       Gr    tee pointing left
-       Gu    tee pointing up
-       Gd    tee pointing down
-       Gh    horizontal line
-       Gv    vertical line
-       Gc    intersection
-       GG    acs magic cookie count
-
-       If  the  single-line  capabilities occur in an entry, they
-       will automatically be composed into an acsc  string.   The
-       double-line capabilities and GG are discarded with a warn-
-       ing message.
-
-       IBM's AIX has a terminfo facility descended from SVr1 ter-
-       minfo but incompatible with the SVr4 format. The following
-       AIX extensions are automatically translated:
-
-
-        IBM    XSI
-       -------------
-       ksel    kslt
-       kbtab   kcbt
-       font0   s0ds
-       font1   s1ds
-       font2   s2ds
-
-       font3   s3ds
-
-       Additionally, the AIX box1 capability  will  be  automati-
-       cally translated to an acsc string.
-
-       Hewlett-Packard's  terminfo  library supports two nonstan-
-       dard terminfo capabilities meml  (memory  lock)  and  memu
-       (memory  unlock).   These will be discarded with a warning
-       message.
-
-
-
-

NOTES

-       This utility is actually a link to tic(1m), running in  -I
-       mode.  You can use other tic options such as -f and  -x.
-
-       The  trace  option isn't identical to SVr4's.  Under SVr4,
-       instead of following the -v with  a  trace  level  n,  you
-       repeat it n times.
-
-
-
-

SEE ALSO

-       curses(3x), infocmp(1m), terminfo(5)
-
-
-
-

AUTHOR

-       Eric S. Raymond <esr@snark.thyrsus.com>
-
-
-
-                                                          captoinfo(1m)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/clear.1.html b/src/libs/ncurses/doc/html/man/clear.1.html deleted file mode 100644 index f2bd1d3aea..0000000000 --- a/src/libs/ncurses/doc/html/man/clear.1.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - -clear 1 - - - - -

clear 1

-
-
-
-clear(1)                                                       clear(1)
-
-
-
-
-
-

NAME

-       clear - clear the terminal screen
-
-
-
-

SYNOPSIS

-       clear
-
-
-
-

DESCRIPTION

-       clear clears your screen if this is possible.  It looks in
-       the environment for the terminal type and then in the ter-
-       minfo database to figure out how to clear the screen.
-
-
-
-

SEE ALSO

-       tput(1), terminfo(5)
-
-
-
-                                                               clear(1)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_add_wch.3x.html b/src/libs/ncurses/doc/html/man/curs_add_wch.3x.html deleted file mode 100644 index 02cbae7fa2..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_add_wch.3x.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - -curs_add_wch 3x - - - - -

curs_add_wch 3x

-
-
-
-curs_add_wch(3x)                                       curs_add_wch(3x)
-
-
-
-
-
-

NAME

-       add_wch,   wadd_wch,  mvadd_wch,  mvwadd_wch,  echo_wchar,
-       wecho_wchar - add a complex character and rendition  to  a
-       curses window, then advance the cursor
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int add_wch( const cchar_t *wch );
-       int wadd_wch( WINDOW *win, const cchar_t *wch );
-       int mvadd_wch( int y, int x, const cchar_t *wch );
-       int  mvwadd_wch(  WINDOW *win, int y, int x, const cchar_t
-       *wch );
-       int echo_wchar( const cchar_t *wch );
-       int wecho_wchar( WINDOW *win, const cchar_t *wch );
-
-
-
-

DESCRIPTION

-       The add_wch, wadd_wch, mvadd_wch, and mvwadd_wch functions
-       put the complex character wch into the given window at its
-       current position, which is then advanced.  These functions
-       perform  wrapping and special-character processing as fol-
-       lows:
-
-       -    If wch refers to a spacing character, then any previ-
-            ous  character  at  that  location is removed.  A new
-            character specified by wch is placed at that location
-            with  rendition  specified  by  wch.  The cursor then
-            advances to the next spacing character on the screen.
-
-       -    If  wch refers to a non-spacing character, all previ-
-            ous characters at that location are  preserved.   The
-            non-spacing  characters of wch are added to the spac-
-            ing complex character, and the rendition specified by
-            wch is ignored.
-
-       -    If  the  character  part  of  wch  is a tab, newline,
-            backspace or other control character, the  window  is
-            updated  and  the  cursor  moves as if addch(3x) were
-            called.
-
-       The echo_wchar function is functionally  equivalent  to  a
-       call to add_wch followed by a call to refresh.  Similarly,
-       the wecho_wchar is functionally equivalent to  a  call  to
-       wadd_wch  followed  by  a call to wrefresh.  The knowledge
-       that only a single character is being output is taken into
-       consideration and, for non-control characters, a consider-
-       able performance gain might be seen by  using  the  *echo*
-       functions instead of their equivalents.
-
-
-
-

RETURN VALUES

-       All routines return the integer ERR upon failure and OK on
-       success.
-
-
-
-

NOTES

-       Note that add_wch, mvadd_wch, mvwadd_wch,  and  echo_wchar
-       may be macros.
-
-
-
-

PORTABILITY

-       All  these functions are described in the XSI Curses stan-
-       dard, Issue 4.  The defaults specified  for  forms-drawing
-       characters apply in the POSIX locale.
-
-       XSI  documents  constants  beginning  with WACS_ which are
-       used for line-drawing.  Those  are  not  currently  imple-
-       mented in ncurses.
-
-
-
-

SEE ALSO

-       curses(3x),  curs_attr_get(3x),  curs_clear(3x), curs_out-
-       opts(3x), curs_refresh(3x), putwc(3)
-
-
-
-                                                       curs_add_wch(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_add_wchstr.3x.html b/src/libs/ncurses/doc/html/man/curs_add_wchstr.3x.html deleted file mode 100644 index 11d93b1d60..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_add_wchstr.3x.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - -curs_add_wchstr 3x - - - - -

curs_add_wchstr 3x

-
-
-
-curs_add_wchstr(3x)                                 curs_add_wchstr(3x)
-
-
-
-
-
-

NAME

-       add_wchstr,    add_wchnstr,   wadd_wchstr,   wadd_wchnstr,
-       mvadd_wchstr, mvadd_wchnstr, mvwadd_wchstr, mvwadd_wchnstr
-       - add an array of complex characters (and attributes) to a
-       curses window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int add_wchstr(const cchar_t *wchstr);
-       int add_wchnstr(const cchar_t *wchstr, int n);
-       int wadd_wchstr(WINDOW * win, const cchar_t *wchstr);
-       int wadd_wchnstr(WINDOW * win, const cchar_t *wchstr, int n);
-       int mvadd_wchstr(int y, int x, const cchar_t *wchstr);
-       int mvadd_wchnstr(int y, int x, const cchar_t *wchstr, int n);
-       int mvwadd_wchstr(WINDOW *win, int y, int x, const cchar_t *wchstr);
-       int mvwadd_wchnstr(WINDOW *win, int y, int x, const cchar_t *wchstr, int n);
-
-
-
-

DESCRIPTION

-       These routines copy the array of complex characters wchstr
-       into  the  window image structure at and after the current
-       cursor position.  The four routines with  n  as  the  last
-       argument  copy  at  most n elements, but no more than will
-       fit on the line.  If n=-1 then the whole array is  copied,
-       to  the  maximum number of characters that will fit on the
-       line.
-
-       The window cursor is not advanced.   These  routines  work
-       faster than waddnstr.  On the other hand, they do not per-
-       form checking (such as for the newline, backspace, or car-
-       riage  return characters), they do not advance the current
-       cursor position, they do not expand other control  charac-
-       ters  to  ^-escapes,  and  they  truncate the string if it
-       crosses the right margin, rather than wrapping  it  around
-       to the new line.
-
-       These  routines  end  successfully  on encountering a null
-       cchar_t, or when they have filled the current line.  If  a
-       complex  character cannot completely fit at the end of the
-       current line, the remaining columns are  filled  with  the
-       background character and rendition.
-
-
-
-

NOTES

-       All functions except wadd_wchnstr may be macros.
-
-
-
-

RETURN VALUES

-       All routines return the integer ERR upon failure and OK on
-       success.
-
-
-
-

PORTABILITY

-       All these entry points are described  in  the  XSI  Curses
-       standard, Issue 4.
-
-
-
-

SEE ALSO

-       curses(3x), curs_addchstr(3x), curs_addwstr(3x)
-
-
-
-                                                    curs_add_wchstr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_addch.3x.html b/src/libs/ncurses/doc/html/man/curs_addch.3x.html deleted file mode 100644 index d5ce2fe20f..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_addch.3x.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - -curs_addch 3x - - - - -

curs_addch 3x

-
-
-
-curs_addch(3x)                                           curs_addch(3x)
-
-
-
-
-
-

NAME

-       addch,  waddch,  mvaddch,  mvwaddch, echochar, wechochar -
-       add a character (with attributes) to a curses window, then
-       advance the cursor
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int addch(const chtype ch);
-       int waddch(WINDOW *win, const chtype ch);
-       int mvaddch(int y, int x, const chtype ch);
-       int mvwaddch(WINDOW *win, int y, int x, const chtype ch);
-       int echochar(const chtype ch);
-       int wechochar(WINDOW *win, const chtype ch);
-
-
-
-

DESCRIPTION

-       The  addch,  waddch, mvaddch and mvwaddch routines put the
-       character ch into the given window at its  current  window
-       position,  which  is then advanced.  They are analogous to
-       putchar in stdio(3).  If the advance is at the right  mar-
-       gin,  the  cursor  automatically wraps to the beginning of
-       the next line.  At the bottom  of  the  current  scrolling
-       region,  if  scrollok  is enabled, the scrolling region is
-       scrolled up one line.
-
-       If ch is a tab, newline, or backspace, the cursor is moved
-       appropriately within the window.  Backspace moves the cur-
-       sor one character left; at the left edge of  a  window  it
-       does  nothing.   Newline  does  a clrtoeol, then moves the
-       cursor to  the  window  left  margin  on  the  next  line,
-       scrolling  the  window if on the last line.  Tabs are con-
-       sidered to be at every eighth column.   The  tab  interval
-       may be altered by setting the TABSIZE variable.
-
-       If ch is any control character other than tab, newline, or
-       backspace, it is drawn  in  ^X  notation.   Calling  winch
-       after adding a control character does not return the char-
-       acter itself, but instead returns the ^-representation  of
-       the control character.
-
-       Video attributes can be combined with a character argument
-       passed to addch or related functions by logical-ORing them
-       into  the  character.   (Thus, text, including attributes,
-       can be copied from one place to  another  using  inch  and
-       addch.)   See  the curs_attr(3x) page for values of prede-
-       fined video attribute constants that can be usefully OR'ed
-       into characters.
-
-       The  echochar  and  wechochar routines are equivalent to a
-       call to addch followed by a call to refresh, or a call  to
-       waddch followed by a call to wrefresh.  The knowledge that
-       only a single character is being output is used  and,  for
-       non-control  characters,  a  considerable performance gain
-       may be seen by  using  these  routines  instead  of  their
-       equivalents.
-
-   Line Graphics
-       The  following  variables  may be used to add line drawing
-       characters to the screen with routines of the  addch  fam-
-       ily.   The  default  character listed below is used if the
-       acsc  capability  doesn't   define   a   terminal-specific
-       replacement for it (but see the EXTENSIONS section below).
-       The names are taken from VT100 nomenclature.
-
-
-       Name           Default   Description
-       --------------------------------------------------
-       ACS_BLOCK      #         solid square block
-       ACS_BOARD      #         board of squares
-       ACS_BTEE       +         bottom tee
-       ACS_BULLET     o         bullet
-       ACS_CKBOARD    :         checker board (stipple)
-       ACS_DARROW     v         arrow pointing down
-       ACS_DEGREE     '         degree symbol
-       ACS_DIAMOND    +         diamond
-       ACS_GEQUAL     >         greater-than-or-equal-to
-       ACS_HLINE      -         horizontal line
-       ACS_LANTERN    #         lantern symbol
-       ACS_LARROW     <         arrow pointing left
-       ACS_LEQUAL     <         less-than-or-equal-to
-       ACS_LLCORNER   +         lower left-hand corner
-       ACS_LRCORNER   +         lower right-hand corner
-       ACS_LTEE       +         left tee
-       ACS_NEQUAL     !         not-equal
-       ACS_PI         *         greek pi
-       ACS_PLMINUS    #         plus/minus
-       ACS_PLUS       +         plus
-       ACS_RARROW     >         arrow pointing right
-       ACS_RTEE       +         right tee
-       ACS_S1         -         scan line 1
-       ACS_S3         -         scan line 3
-       ACS_S7         -         scan line 7
-       ACS_S9         _         scan line 9
-       ACS_STERLING   f         pound-sterling symbol
-       ACS_TTEE       +         top tee
-       ACS_UARROW     ^         arrow pointing up
-       ACS_ULCORNER   +         upper left-hand corner
-       ACS_URCORNER   +         upper right-hand corner
-       ACS_VLINE      |         vertical line
-
-
-
-

RETURN VALUE

-       All routines return the integer ERR upon failure and OK on
-       success  (the  SVr4 manuals specify only "an integer value
-       other than ERR") upon successful completion, unless other-
-       wise noted in the preceding routine descriptions.
-
-
-
-

NOTES

-       Note  that  addch,  mvaddch, mvwaddch, and echochar may be
-       macros.
-
-
-
-

PORTABILITY

-       All these functions are described in the XSI Curses  stan-
-       dard,  Issue  4.  The defaults specified for forms-drawing
-       characters apply in the POSIX locale.
-
-       Some ACS symbols (ACS_S3, ACS_S7, ACS_LEQUAL,  ACS_GEQUAL,
-       ACS_PI,  ACS_NEQUAL,  ACS_STERLING) were not documented in
-       any publicly released System V.   However,  many  publicly
-       available  terminfos  include  acsc strings in which their
-       key characters (pryz{|}) are embedded, and  a  second-hand
-       list  of  their  character descriptions has come to light.
-       The  ACS-prefixed  names  for  them  were   invented   for
-       ncurses(3x).
-
-       The  TABSIZE  variable  is implemented in some versions of
-       curses, but is not part of X/Open curses.
-
-       If ch is a carriage return, the cursor  is  moved  to  the
-       beginning  of the current row of the window.  This is true
-       of other implementations, but is not documented.
-
-
-
-

SEE ALSO

-       curses(3x), curs_attr(3x), curs_clear(3x),  curs_inch(3x),
-       curs_outopts(3x), curs_refresh(3x), putc(3S).
-
-
-
-                                                         curs_addch(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_addchstr.3x.html b/src/libs/ncurses/doc/html/man/curs_addchstr.3x.html deleted file mode 100644 index dae7b70a55..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_addchstr.3x.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - -curs_addchstr 3x - - - - -

curs_addchstr 3x

-
-
-
-curs_addchstr(3x)                                     curs_addchstr(3x)
-
-
-
-
-
-

NAME

-       addchstr, addchnstr, waddchstr, waddchnstr, mvaddchstr,
-       mvaddchnstr, mvwaddchstr, mvwaddchnstr - add a string of
-       characters (and attributes) to a curses window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int addchstr(const chtype *chstr);
-       int addchnstr(const chtype *chstr, int n);
-       int waddchstr(WINDOW *win, const chtype *chstr);
-       int waddchnstr(WINDOW *win, const chtype *chstr, int n);
-       int mvaddchstr(int y, int x, const chtype *chstr);
-       int mvaddchnstr(int y, int x, const chtype *chstr, int n);
-       int mvwaddchstr(WINDOW *win, int y, int  x,  const  chtype
-       *chstr);
-       int  mvwaddchnstr(WINDOW  *win, int y, int x, const chtype
-       *chstr, int n);
-
-
-
-

DESCRIPTION

-       These routines copy chstr into the window image  structure
-       at  and  after the current cursor position.  The four rou-
-       tines with n as the last argument copy at most n elements,
-       but  no  more than will fit on the line.  If n=-1 then the
-       whole string is copied, to the maximum number  of  charac-
-       ters that will fit on the line.
-
-       The window cursor is not advanced, and these routines work
-       faster than waddnstr.  On the other hand, they do not per-
-       form  any  kind  of  checking  (such  as  for the newline,
-       backspace, or carriage return characters), they do not ad-
-       vance the current cursor position, they do not expand oth-
-       er control characters to ^-escapes, and they truncate  the
-       string  if  it crosses the right margin, rather then wrap-
-       ping it around to the new line.
-
-
-
-

RETURN VALUES

-       All routines return the integer ERR upon failure and OK on
-       success  (the  SVr4 manuals specify only "an integer value
-       other than ERR") upon successful completion, unless other-
-       wise noted in the preceding routine descriptions.
-
-       X/Open  does not define any error conditions.  This imple-
-       mentation returns an error if the window pointer is  null.
-
-
-
-

NOTES

-       Note that all routines except waddchnstr may be macros.
-
-
-
-

PORTABILITY

-       These  entry  points are described in the XSI Curses stan-
-       dard, Issue 4.
-
-
-
-

SEE ALSO

-       curses(3x).
-
-
-
-                                                      curs_addchstr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_addstr.3x.html b/src/libs/ncurses/doc/html/man/curs_addstr.3x.html deleted file mode 100644 index ccc93a3e79..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_addstr.3x.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - -curs_addstr 3x - - - - -

curs_addstr 3x

-
-
-
-curs_addstr(3x)                                         curs_addstr(3x)
-
-
-
-
-
-

NAME

-       addstr, addnstr, waddstr, waddnstr, mvaddstr, mvaddnstr,
-       mvwaddstr, mvwaddnstr - add a string of characters to a
-       curses window and advance cursor
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int addstr(const char *str);
-       int addnstr(const char *str, int n);
-       int waddstr(WINDOW *win, const char *str);
-       int waddnstr(WINDOW *win, const char *str, int n);
-       int mvaddstr(int y, int x, const char *str);
-       int mvaddnstr(int y, int x, const char *str, int n);
-       int mvwaddstr(WINDOW *win, int y, int x, const char *str);
-       int mvwaddnstr(WINDOW *win, int y, int x, const char *str, int n);
-
-
-
-

DESCRIPTION

-       These routines write the characters of the (null-terminat-
-       ed) character string str on the given window.  It is simi-
-       lar  to  calling  waddch  once  for  each character in the
-       string.  The four routines with n  as  the  last  argument
-       write  at  most n characters.  If n is -1, then the entire
-       string will be added, up to the maximum number of  charac-
-       ters  that  will  fit  on the line, or until a terminating
-       null is reached.
-
-
-
-

RETURN VALUE

-       All routines return the integer ERR upon failure and OK on
-       success  (the  SVr4 manuals specify only "an integer value
-       other than ERR") upon successful completion.
-
-       X/Open does not define any error conditions.  This  imple-
-       mentation  returns  an error if the window pointer is null
-       or if the string pointer is null or if  the  corresponding
-       calls to waddch return an error.
-
-
-
-

NOTES

-       Note  that  all  of  these  routines  except  waddstr  and
-       waddnstr may be macros.
-
-
-
-

PORTABILITY

-       All these entry points are described  in  the  XSI  Curses
-       standard,  Issue  4.  The XSI errors EILSEQ and EOVERFLOW,
-       associated with extended-level conformance,  are  not  yet
-       detected.
-
-
-
-

SEE ALSO

-       curses(3x), curs_addch(3x).
-
-
-
-                                                        curs_addstr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_addwstr.3x.html b/src/libs/ncurses/doc/html/man/curs_addwstr.3x.html deleted file mode 100644 index 5bfd04e605..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_addwstr.3x.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - -curs_addwstr 3x - - - - -

curs_addwstr 3x

-
-
-
-curs_addwstr(3x)                                       curs_addwstr(3x)
-
-
-
-
-
-

NAME

-       addwstr, addnwstr, waddwstr, waddnwstr, mvaddwstr,
-       mvaddnwstr, mvwaddwstr, mvwaddnwstr - add a string of wide
-       characters to a curses window and advance cursor
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int addwstr(const wchar_t *wstr);
-       int addnwstr(const wchar_t *wstr, int n);
-       int waddwstr(WINDOW *win, const wchar_t *wstr);
-       int waddnwstr(WINDOW *win, const wchar_t *wstr, int n);
-       int mvaddwstr(int y, int x, const wchar_t *wstr);
-       int mvaddnwstr(int y, int x, const wchar_t *wstr, int n);
-       int mvwaddwstr(WINDOW *win, int y, int x, const wchar_t *wstr);
-       int mvwaddnwstr(WINDOW *win, int y, int x, const wchar_t *wstr, int n);
-
-
-
-

DESCRIPTION

-       These routines write the characters of the (null-terminat-
-       ed) wchar_t character string wstr on the given window.  It
-       is  similar  to constructing a cchar_t for each wchar_t in
-       the  string,  then  calling  wadd_wch  for  the  resulting
-       cchar_t.
-
-       The mv routines perform cursor movement once, before writ-
-       ing any characters.  Thereafter, the cursor is advanced as
-       a side-effect of writing to the window.
-
-       The  four  routines  with  n as the last argument write at
-       most n wchar_t characters.  If n is -1,  then  the  entire
-       string  will be added, up to the maximum number of charac-
-       ters that will fit on the line,  or  until  a  terminating
-       null is reached.
-
-
-
-

RETURN VALUES

-       All routines return the integer ERR upon failure and OK on
-       success.
-
-
-
-

NOTES

-       Note that all of these routines except  waddnwstr  may  be
-       macros.
-
-
-
-

PORTABILITY

-       All  these  entry  points  are described in the XSI Curses
-       standard, Issue 4.
-
-
-
-

SEE ALSO

-       Functions: curses(3x), curs_add_wch(3x)
-
-
-
-                                                       curs_addwstr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_attr.3x.html b/src/libs/ncurses/doc/html/man/curs_attr.3x.html deleted file mode 100644 index c8aefaea55..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_attr.3x.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - -curs_attr 3x - - - - -

curs_attr 3x

-
-
-
-curs_attr(3x)                                             curs_attr(3x)
-
-
-
-
-
-

NAME

-       attroff, wattroff, attron, wattron, attrset, wattrset,
-       color_set, wcolor_set, standend, wstandend, standout,
-       wstandout, attr_get, wattr_get, attr_off, wattr_off,
-       attr_on, wattr_on, attr_set, wattr_set, chgat, wchgat,
-       mvchgat, mvwchgat, PAIR_NUMBER - curses character and
-       window attribute control routines
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-       int attroff(int attrs);
-       int wattroff(WINDOW *win, int attrs);
-       int attron(int attrs);
-       int wattron(WINDOW *win, int attrs);
-       int attrset(int attrs);
-       int wattrset(WINDOW *win, int attrs);
-       int color_set(short color_pair_number, void* opts);
-       int wcolor_set(WINDOW *win, short color_pair_number,
-             void* opts);
-       int standend(void);
-       int wstandend(WINDOW *win);
-       int standout(void);
-       int wstandout(WINDOW *win);
-       int attr_get(attr_t *attrs, short *pair, void *opts);
-       int wattr_get(WINDOW *win, attr_t *attrs, short *pair,
-              void *opts);
-       int attr_off(attr_t attrs, void *opts);
-       int wattr_off(WINDOW *win, attr_t attrs, void *opts);
-       int attr_on(attr_t attrs, void *opts);
-       int wattr_on(WINDOW *win, attr_t attrs, void *opts);
-       int attr_set(attr_t attrs, short pair, void *opts);
-       int wattr_set(WINDOW *win, attr_t attrs, short pair,  void
-       *opts);
-       int chgat(int n, attr_t attr, short color,
-             const void *opts)
-       int wchgat(WINDOW *win, int n, attr_t attr,
-             short color, const void *opts)
-       int mvchgat(int y, int x, int n, attr_t attr,
-             short color, const void *opts)
-       int mvwchgat(WINDOW *win, int y, int x, int n,
-             attr_t attr, short color, const void *opts)
-
-
-
-

DESCRIPTION

-       These  routines  manipulate  the current attributes of the
-       named window.  The current attributes of a window apply to
-       all characters that are written into the window with wadd-
-       ch, waddstr and wprintw.  Attributes are a property of the
-       character,   and  move  with  the  character  through  any
-       scrolling and insert/delete line/character operations.  To
-       the  extent  possible,  they  are displayed as appropriate
-       modifications to the graphic rendition of  characters  put
-       on the screen.
-
-       The  routine  attrset  sets  the current attributes of the
-       given window to attrs.  The routine attroff turns off  the
-       named  attributes  without turning any other attributes on
-       or off.  The routine attron turns on the named  attributes
-       without affecting any others.  The routine standout is the
-       same as attron(A_STANDOUT).  The routine standend  is  the
-       same as attrset(A_NORMAL) or attrset(0), that is, it turns
-       off all attributes.
-
-       The attrset and related routines do  not  affect  the  at-
-       tributes  used  when  erasing portions of the window.  See
-       curs_bkgd(3x) for functions which  modify  the  attributes
-       used for erasing and clearing.
-
-       The  routine color_set sets the current color of the given
-       window to the foreground/background combination  described
-       by  the  color_pair_number. The parameter opts is reserved
-       for future use, applications must supply a null pointer.
-
-       The routine wattr_get returns the  current  attribute  and
-       color pair for the given window; attr_get returns the cur-
-       rent attribute and color pair for stdscr.   The  remaining
-       attr_*  functions  operate  exactly like the corresponding
-       attr* functions, except that they take arguments  of  type
-       attr_t rather than int.
-
-       The routine chgat changes the attributes of a given number
-       of characters starting at the current cursor  location  of
-       stdscr.   It  does not update the cursor and does not per-
-       form wrapping.  A character count of -1  or  greater  than
-       the  remaining window width means to change attributes all
-       the way to the end of the current line.  The wchgat  func-
-       tion generalizes this to any window; the mvwchgat function
-       does a cursor move before acting.  In these functions, the
-       color  argument is a color-pair index (as in the first ar-
-       gument of init_pair, see curs_color(3x)).  The opts  argu-
-       ment is not presently used, but is reserved for the future
-       (leave it NULL).  Note that changing the  attributes  does
-       not imply that a subsequent refresh will update the screen
-       to match, since the character  values  are  not  modified.
-       Use  touchwin to force the screen to match the updated at-
-       tributes.
-
-   Attributes
-       The following video attributes, defined in <curses.h>, can
-       be passed to the routines attron, attroff, and attrset, or
-       OR'd with the characters passed to addch.
-
-
-        A_NORMAL        Normal display (no highlight)
-        A_STANDOUT      Best highlighting mode of the terminal.
-        A_UNDERLINE     Underlining
-        A_REVERSE       Reverse video
-        A_BLINK         Blinking
-        A_DIM           Half bright
-        A_BOLD          Extra bright or bold
-        A_PROTECT       Protected mode
-        A_INVIS         Invisible or blank mode
-        A_ALTCHARSET    Alternate character set
-        A_CHARTEXT      Bit-mask to extract a character
-        COLOR_PAIR(n)   Color-pair number n
-
-       The following macro is the reverse of COLOR_PAIR(n):
-
-       PAIR_NUMBER(attrs) Returns the pair number associated
-                          with the COLOR_PAIR(n) attribute.
-
-       The return values of many of these routines are not  mean-
-       ingful (they are implemented as macro-expanded assignments
-       and simply return their argument).  The SVr4  manual  page
-       claims (falsely) that these routines always return 1.
-
-
-
-

NOTES

-       Note  that  attroff,  wattroff,  attron, wattron, attrset,
-       wattrset, standend and standout may be macros.
-
-       COLOR_PAIR values can only be OR'd with attributes if  the
-       pair  number  is  less  than 256.  The alternate functions
-       such as color_set can pass a color  pair  value  directly.
-       However,  ncurses  ABI 4 and 5 simply OR this value within
-       the alternate functions.  You must use ncurses  ABI  6  to
-       support more than 256 color pairs.
-
-
-
-

PORTABILITY

-       These  functions are supported in the XSI Curses standard,
-       Issue 4.  The standard  defined  the  dedicated  type  for
-       highlights,  attr_t,  which is not defined in SVr4 curses.
-       The functions taking attr_t arguments  are  not  supported
-       under SVr4.
-
-       The XSI Curses standard states that whether the tradition-
-       al functions  attron/attroff/attrset  can  manipulate  at-
-       tributes  other  than  A_BLINK,  A_BOLD, A_DIM, A_REVERSE,
-       A_STANDOUT, or A_UNDERLINE is "unspecified".   Under  this
-       implementation  as  well  as  SVr4 curses, these functions
-       correctly manipulate all other  highlights  (specifically,
-       A_ALTCHARSET, A_PROTECT, and A_INVIS).
-
-       XSI  Curses added the new entry points, attr_get, attr_on,
-       attr_off, attr_set, wattr_on, wattr_off,  wattr_get,  wat-
-       tr_set.   These  are intended to work with a new series of
-       highlight macros prefixed with WA_.
-
-
-        WA_NORMAL       Normal display (no highlight)
-        WA_STANDOUT     Best highlighting mode of the terminal.
-        WA_UNDERLINE    Underlining
-        WA_REVERSE      Reverse video
-        WA_BLINK        Blinking
-        WA_DIM          Half bright
-        WA_BOLD         Extra bright or bold
-        WA_ALTCHARSET   Alternate character set
-
-       The XSI curses standard specifies that each pair of corre-
-       sponding  A_  and WA_-using functions operates on the same
-       current-highlight information.
-
-       The XSI standard extended conformance level adds new high-
-       lights A_HORIZONTAL, A_LEFT, A_LOW, A_RIGHT, A_TOP, A_VER-
-       TICAL (and corresponding WA_ macros for each)  which  this
-       implementation does not yet support.
-
-
-
-

RETURN VALUE

-       All  routines  return the integer OK on success, or ERR on
-       failure.
-
-       X/Open does not define any error conditions.
-
-       This implementation returns an error if the window pointer
-       is  null.  The wcolor_set function returns an error if the
-       color  pair  parameter  is  outside  the   range   0..COL-
-       OR_PAIRS-1.
-
-
-
-

SEE ALSO

-       curses(3x),        curs_addch(3x),        curs_addstr(3x),
-       curs_bkgd(3x), curs_printw(3x)
-
-
-
-                                                          curs_attr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_beep.3x.html b/src/libs/ncurses/doc/html/man/curs_beep.3x.html deleted file mode 100644 index 271acc1a9b..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_beep.3x.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - -curs_beep 3x - - - - -

curs_beep 3x

-
-
-
-curs_beep(3x)                                             curs_beep(3x)
-
-
-
-
-
-

NAME

-       beep, flash - curses bell and screen flash routines
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int beep(void);
-       int flash(void);
-
-
-
-

DESCRIPTION

-       The beep and flash routines are used to alert the terminal
-       user.  The routine beep sounds an  audible  alarm  on  the
-       terminal,  if  possible;  otherwise  it flashes the screen
-       (visible bell).  The routine flash flashes the screen, and
-       if  that  is  not  possible, sounds the alert.  If neither
-       alert is possible, nothing happens.  Nearly all  terminals
-       have  an  audible  alert (bell or beep), but only some can
-       flash the screen.
-
-
-
-

RETURN VALUE

-       These routines return OK if they  succeed  in  beeping  or
-       flashing, ERR otherwise.
-
-
-
-

EXTENSIONS

-       SVr4's  beep  and flash routines always returned OK, so it
-       was not possible to tell when the beep or flash failed.
-
-
-
-

PORTABILITY

-       These functions are described in the XSI Curses  standard,
-       Issue  4.  Like SVr4, it specifies that they always return
-       OK.
-
-
-
-

SEE ALSO

-       curses(3x)
-
-
-
-                                                          curs_beep(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_bkgd.3x.html b/src/libs/ncurses/doc/html/man/curs_bkgd.3x.html deleted file mode 100644 index e73f90f963..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_bkgd.3x.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - -curs_bkgd 3x - - - - -

curs_bkgd 3x

-
-
-
-curs_bkgd(3x)                                             curs_bkgd(3x)
-
-
-
-
-
-

NAME

-       bkgdset,  wbkgdset,  bkgd,  wbkgd, getbkgd - curses window
-       background manipulation routines
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       void bkgdset(chtype ch);
-       void wbkgdset(WINDOW *win, chtype ch);
-       int bkgd(chtype ch);
-       int wbkgd(WINDOW *win, chtype ch);
-       chtype getbkgd(WINDOW *win);
-
-
-
-

DESCRIPTION

-       The bkgdset and wbkgdset  routines  manipulate  the  back-
-       ground  of  the  named window.  The window background is a
-       chtype consisting of any combination of attributes  (i.e.,
-       rendition)  and  a  character.   The attribute part of the
-       background is combined (OR'ed) with all non-blank  charac-
-       ters  that  are written into the window with waddch.  Both
-       the character and attribute parts of  the  background  are
-       combined   with  the  blank  characters.   The  background
-       becomes a property of the character  and  moves  with  the
-       character   through   any   scrolling   and  insert/delete
-       line/character operations.
-
-       To the extent  possible  on  a  particular  terminal,  the
-       attribute  part  of  the  background  is  displayed as the
-       graphic rendition of the character put on the screen.
-
-       The bkgd and wbkgd functions set the  background  property
-       of  the  current  or  specified window and then apply this
-       setting to every character position in that window:
-
-              The rendition of every character on the  screen  is
-              changed to the new background rendition.
-
-              Wherever  the  former background character appears,
-              it is changed to the new background character.
-
-       The getbkgd function returns the  given  window's  current
-       background character/attribute pair.
-
-
-
-

RETURN VALUE

-       The  routines  bkgd  and wbkgd return the integer OK.  The
-       SVr4.0 manual says "or a non-negative integer  if  immedok
-       is set", but this appears to be an error.
-
-
-
-

NOTES

-       Note that bkgdset and bkgd may be macros.
-
-
-
-

PORTABILITY

-       These  functions are described in the XSI Curses standard,
-       Issue 4.  It specifies that bkgd and wbkgd return  ERR  on
-       failure.  but gives no failure conditions.
-
-
-
-

SEE ALSO

-       curses(3x),   curs_addch(3x),   curs_attr(3x),   curs_out-
-       opts(3x)
-
-
-
-                                                          curs_bkgd(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_bkgrnd.3x.html b/src/libs/ncurses/doc/html/man/curs_bkgrnd.3x.html deleted file mode 100644 index d83bd63307..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_bkgrnd.3x.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - -curs_bkgrnd 3x - - - - -

curs_bkgrnd 3x

-
-
-
-curs_bkgrnd(3x)                                         curs_bkgrnd(3x)
-
-
-
-
-
-

NAME

-       bkgrnd,  wbkgrnd,  bkgrndset, wbkgrndset, getbkgrnd, wget-
-       bkgrnd - curses  window  complex  background  manipulation
-       routines
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int bkgrnd( const cchar_t *wch);
-       int wbkgrnd( WINDOW *win, const cchar_t *wch);
-       void bkgrndset(const cchar_t *wch );
-       void wbkgrndset(WINDOW *win, const cchar_t *wch);
-       int getbkgrnd(cchar_t *wch);
-       int wgetbkgrnd(WINDOW *win, cchar_t *wch);
-
-
-
-

DESCRIPTION

-       The bkgrndset and wbkgrndset routines manipulate the back-
-       ground of the named window.  The window  background  is  a
-       cchar_t consisting of any combination of attributes (i.e.,
-       rendition) and a complex character.  The attribute part of
-       the  background  is  combined  (OR'ed)  with all non-blank
-       characters that are written into the window  with  waddch.
-       Both  the  character and attribute parts of the background
-       are combined with the blank  characters.   The  background
-       becomes  a  property  of  the character and moves with the
-       character  through   any   scrolling   and   insert/delete
-       line/character operations.
-
-       To  the  extent  possible  on  a  particular terminal, the
-       attribute part of  the  background  is  displayed  as  the
-       graphic rendition of the character put on the screen.
-
-       The  bkgrnd and wbkgrnd functions set the background prop-
-       erty of the current or specified  window  and  then  apply
-       this setting to every character position in that window:
-
-              The  rendition  of every character on the screen is
-              changed to the new background rendition.
-
-              Wherever the former background  character  appears,
-              it is changed to the new background character.
-
-       The  getbkgrnd function returns the given window's current
-       background character/attribute pair via the wch pointer.
-
-
-
-
-

NOTES

-       Note that bkgrnd, bkgrndset, and getbkgrnd may be  macros.
-
-
-
-

RETURN VALUES

-       The  bkgrndset  and  wbkgrndset  routines  do not return a
-       value.
-
-       Upon successful completion, the other functions return OK.
-       Otherwise,  they  return  ERR.   A  null window pointer is
-       treated as an error.
-
-
-
-

SEE ALSO

-       curses(3x), curs_bkgd(3x)
-
-
-
-                                                        curs_bkgrnd(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_border.3x.html b/src/libs/ncurses/doc/html/man/curs_border.3x.html deleted file mode 100644 index 5a93d88936..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_border.3x.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - -curs_border 3x - - - - -

curs_border 3x

-
-
-
-curs_border(3x)                                         curs_border(3x)
-
-
-
-
-
-

NAME

-       border, wborder, box, hline, whline, vline, wvline,
-       mvhline, mvwhline, mvvline, mvwvline - create curses
-       borders, horizontal and vertical lines
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-       int border(chtype ls, chtype rs, chtype ts, chtype bs,
-          chtype tl, chtype tr, chtype bl, chtype br);
-       int wborder(WINDOW *win, chtype ls, chtype rs,
-          chtype ts, chtype bs, chtype tl, chtype tr,
-          chtype bl, chtype br);
-       int box(WINDOW *win, chtype verch, chtype horch);
-       int hline(chtype ch, int n);
-       int whline(WINDOW *win, chtype ch, int n);
-       int vline(chtype ch, int n);
-       int wvline(WINDOW *win, chtype ch, int n);
-       mvhline(int y, int x, chtype ch, int n);
-       mvwhline(WINDOW *, int y, int x, chtype ch, int n);
-       int mvvline(int y, int x, chtype ch, int n);
-       int mvwvline(WINDOW *, int y, int x, chtype ch, int n);
-
-
-
-

DESCRIPTION

-       The border, wborder and box routines draw a box around the
-       edges of a window.  Other than the window,  each  argument
-       is a character with attributes:
-              ls - left side,
-              rs - right side,
-              ts - top side,
-              bs - bottom side,
-              tl - top left-hand corner,
-              tr - top right-hand corner,
-              bl - bottom left-hand corner, and
-              br - bottom right-hand corner.
-       If  any of these arguments is zero, then the corresponding
-       default values (defined in curses.h) are used instead:
-              ACS_VLINE,
-              ACS_VLINE,
-              ACS_HLINE,
-              ACS_HLINE,
-              ACS_ULCORNER,
-              ACS_URCORNER,
-              ACS_LLCORNER,
-              ACS_LRCORNER.
-
-       box(win, verch, horch) is a shorthand  for  the  following
-       call:  wborder(win,  verch,  verch, horch, horch, 0, 0, 0,
-       0).
-
-       The hline and whline functions draw a horizontal (left  to
-       right)  line using ch starting at the current cursor posi-
-       tion in the window.  The current cursor  position  is  not
-       changed.   The  line  is  at most n characters long, or as
-       many as fit into the window.
-
-       The vline and wvline functions draw  a  vertical  (top  to
-       bottom) line using ch starting at the current cursor posi-
-       tion in the window.  The current cursor  position  is  not
-       changed.   The  line  is  at most n characters long, or as
-       many as fit into the window.
-
-
-
-

RETURN VALUE

-       All routines return the integer  OK.   The  SVr4.0  manual
-       says  "or  a  non-negative integer if immedok is set", but
-       this appears to be an error.
-
-       X/Open does not define any error conditions.  This  imple-
-       mentation  returns an error if the window pointer is null.
-
-
-
-

NOTES

-       The borders generated by these functions are  inside  bor-
-       ders (this is also true of SVr4 curses, though the fact is
-       not documented).
-
-       Note that border and box may be macros.
-
-
-
-

PORTABILITY

-       These functions are described in the XSI Curses  standard,
-       Issue  4.   The standard specifies that they return ERR on
-       failure, but specifies no error conditions.
-
-
-
-

SEE ALSO

-       curses(3x), curs_outopts(3x).
-
-
-
-                                                        curs_border(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_border_set.3x.html b/src/libs/ncurses/doc/html/man/curs_border_set.3x.html deleted file mode 100644 index 415e8103bb..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_border_set.3x.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - -curs_border_set 3x - - - - -

curs_border_set 3x

-
-
-
-curs_border_set(3x)                                 curs_border_set(3x)
-
-
-
-
-
-

NAME

-       border_set, wborder_set, box_set, hline_set, whline_set,
-       mvhline_set, mvwhline_set, vline_set, wvline_set,
-       mvvline_set, mvwvline_set - create curses borders or lines
-       using complex characters and renditions
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int border_set(
-          const cchar_t *ls, const cchar_t *rs,
-          const cchar_t *ts, const cchar_t *bs,
-          const cchar_t *tl, const cchar_t *tr,
-          const cchar_t *bl, const cchar_t *br );
-       int wborder_set(
-          WINDOW *win,
-          const cchar_t *ls, const cchar_t *rs,
-          const cchar_t *ts, const cchar_t *bs,
-          const cchar_t *tl, const cchar_t *tr,
-          const cchar_t *bl, const cchar_t *br);
-       int box_set(
-          WINDOW *win,
-          const cchar_t *verch,
-          const cchar_t *horch);
-       int hline_set(
-          const cchar_t *wch, int n);
-       int whline_set(
-          WINDOW *win,
-          const cchar_t *wch, int n);
-       int mvhline_set(
-          int y, int x,
-          const cchar_t *wch, int n);
-       int mvwhline_set(
-          WINDOW *win,
-          int y, int x,
-          const cchar_t *wch, int n);
-       int vline_set(
-          const cchar_t *wch, int n);
-       int wvline_set(
-          WINDOW *win,
-          const cchar_t *wch, int n);
-       int mvvline_set(
-          int y, int x,
-          const cchar_t *wch, int n);
-       int mvwvline_set(
-          WINDOW *win,
-          int y, int x,
-          const cchar_t *wch, int n);
-
-
-
-

DESCRIPTION

-       The border_set and wborder_set  functions  draw  a  border
-       around  the  edges  of  the  current  or specified window.
-       These functions do not change the cursor position, and  do
-       not wrap.
-
-       Other  than the window, each argument is a complex charac-
-       ter with attributes:
-              ls - left side,
-              rs - right side,
-              ts - top side,
-              bs - bottom side,
-              tl - top left-hand corner,
-              tr - top right-hand corner,
-              bl - bottom left-hand corner, and
-              br - bottom right-hand corner.
-
-       If any of these arguments is zero, then the  corresponding
-       default values (defined in curses.h) are used instead:
-              WACS_VLINE,
-              WACS_VLINE,
-              WACS_HLINE,
-              WACS_HLINE,
-              WACS_ULCORNER,
-              WACS_URCORNER,
-              WACS_LLCORNER, and
-              WACS_LRCORNER.
-
-       box_set(win, verch, horch); is a shorthand for the follow-
-       ing call:
-
-       wborder_set(win, verch, verch,
-           horch, horch, NULL, NULL, NULL, NULL);
-
-       The *line_set functions use wch to draw a line starting at
-       the current cursor position in the window.  The line is at
-       most n characters long or as many as fit into the  window.
-       The current cursor position is not changed.
-
-       The  hline_set,  mvhline_set, mvwhline_set, and whline_set
-       functions draw a line proceeding toward the last column of
-       the same line.
-
-       The  vline_set,  mvvline_set, mvwvline_set, and wvline_set
-       functions draw a line proceeding toward the last  line  of
-       the window.
-
-
-
-

NOTES

-       Note that border_set, hline_set, mvhline_set, mvvline_set,
-       mvwhline_set, mvwvline_set, and vline_set may be macros.
-
-
-
-

RETURN VALUES

-       Upon successful completion,  these  functions  return  OK.
-       Otherwise, they return ERR.
-
-       Functions  using  a window parameter return an error if it
-       is null.
-
-
-
-

SEE ALSO

-       ncurses(3x), curs_border(3x), curs_outopts(3x)
-
-
-
-                                                    curs_border_set(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_clear.3x.html b/src/libs/ncurses/doc/html/man/curs_clear.3x.html deleted file mode 100644 index e70f775728..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_clear.3x.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - -curs_clear 3x - - - - -

curs_clear 3x

-
-
-
-curs_clear(3x)                                           curs_clear(3x)
-
-
-
-
-
-

NAME

-       erase, werase, clear, wclear, clrtobot, wclrtobot,
-       clrtoeol, wclrtoeol - clear all or part of a curses window
-
-
-
-

SYNOPSIS

-       # include <curses.h>
-
-       int erase(void);
-       int werase(WINDOW *win);
-       int clear(void);
-       int wclear(WINDOW *win);
-       int clrtobot(void);
-       int wclrtobot(WINDOW *win);
-       int clrtoeol(void);
-       int wclrtoeol(WINDOW *win);
-
-
-
-

DESCRIPTION

-       The  erase  and werase routines copy blanks to every posi-
-       tion in the window, clearing the screen.
-
-       The clear and wclear routines are like erase  and  werase,
-       but  they also call clearok, so that the screen is cleared
-       completely on the next call to wrefresh  for  that  window
-       and repainted from scratch.
-
-       The  clrtobot and wclrtobot routines erase from the cursor
-       to the end of screen.  That is, they erase all lines below
-       the  cursor  in the window.  Also, the current line to the
-       right of the cursor, inclusive, is erased.
-
-       The clrtoeol and wclrtoeol routines erase the current line
-       to  the  right of the cursor, inclusive, to the end of the
-       current line.
-
-       Blanks created by erasure have the current background ren-
-       dition (as set by wbkgdset) merged into them.
-
-
-
-

RETURN VALUE

-       All  routines  return the integer OK on success and ERR on
-       failure.  The SVr4.0 manual says "or a non-negative  inte-
-       ger if immedok is set", but this appears to be an error.
-
-       X/Open  defines  no error conditions.  In this implementa-
-       tion, functions using a window pointer parameter return an
-       error if it is null.
-
-
-
-

NOTES

-       Note that erase, werase, clear, wclear, clrtobot, and clr-
-       toeol may be macros.
-
-
-
-

PORTABILITY

-       These functions are described in the XSI Curses  standard,
-       Issue  4.   The standard specifies that they return ERR on
-       failure, but specifies no error conditions.
-
-       Some historic curses implementations had,  as  an  undocu-
-       mented  feature,  the  ability  to  do  the  equivalent of
-       clearok(..., 1) by saying touchwin(stdscr)  or  clear(std-
-       scr).  This will not work under ncurses.
-
-       This  implementation, and others such as Solaris, sets the
-       current position to 0,0 after  erasing  via  werase()  and
-       wclear().   That fact is not documented in other implemen-
-       tations, and may not be true of implementations which were
-       not derived from SVr4 source.
-
-
-
-

SEE ALSO

-       curses(3x), curs_outopts(3x), curs_refresh(3x)
-
-
-
-                                                         curs_clear(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_color.3x.html b/src/libs/ncurses/doc/html/man/curs_color.3x.html deleted file mode 100644 index 8840f1dfe6..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_color.3x.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - -curs_color 3x - - - - -

curs_color 3x

-
-
-
-curs_color(3x)                                           curs_color(3x)
-
-
-
-
-
-

NAME

-       start_color, init_pair, init_color, has_colors,
-       can_change_color, color_content, pair_content, COLOR_PAIR
-       - curses color manipulation routines
-
-
-
-

SYNOPSIS

-       # include <curses.h>
-       int start_color(void);
-       int init_pair(short pair, short f, short b);
-       int init_color(short color, short r, short g, short b);
-       bool has_colors(void);
-       bool can_change_color(void);
-       int  color_content(short  color, short *r, short *g, short
-       *b);
-       int pair_content(short pair, short *f, short *b);
-
-
-
-

DESCRIPTION

-   Overview
-       curses support color attributes on terminals with that ca-
-       pability.   To  use  these  routines  start_color  must be
-       called, usually right after initscr.   Colors  are  always
-       used  in pairs (referred to as color-pairs).  A color-pair
-       consists of a foreground  color  (for  characters)  and  a
-       background color (for the blank field on which the charac-
-       ters are displayed).  A programmer  initializes  a  color-
-       pair  with  the routine init_pair.  After it has been ini-
-       tialized, COLOR_PAIR(n), a macro  defined  in  <curses.h>,
-       can  be  used  as a new video attribute.  If a terminal is
-       capable of redefining colors, the programmer can  use  the
-       routine  init_color  to  change the definition of a color.
-       The routines has_colors and can_change_color  return  TRUE
-       or  FALSE, depending on whether the terminal has color ca-
-       pabilities and whether the programmer can change the  col-
-       ors.  The routine color_content allows a programmer to ex-
-       tract the amounts of red, green, and blue components in an
-       initialized color.  The routine pair_content allows a pro-
-       grammer to find out how a given  color-pair  is  currently
-       defined.
-
-   Routine Descriptions
-       The start_color routine requires no arguments.  It must be
-       called if the programmer wants to use colors,  and  before
-       any  other  color  manipulation  routine is called.  It is
-       good practice to call this routine  right  after  initscr.
-       start_color  initializes  eight  basic colors (black, red,
-       green, yellow, blue, magenta, cyan, and  white),  and  two
-       global  variables,  COLORS  and  COLOR_PAIRS (respectively
-       defining the maximum number of colors and color-pairs  the
-       terminal can support).  It also restores the colors on the
-       terminal to the values they had when the terminal was just
-       turned  on.   The init_pair routine changes the definition
-       of a color-pair.  It takes three arguments: the number  of
-       the color-pair to be changed, the foreground color number,
-       and the background color number.   For  portable  applica-
-       tions:
-
-       -    The value of the first argument must be between 1 and
-            COLOR_PAIRS-1.
-
-       -    The value of the second and third arguments  must  be
-            between  0 and COLORS.  Color pair 0 is assumed to be
-            white on black, but is actually whatever the terminal
-            implements before color is initialized.  It cannot be
-            modified by the application.
-
-       If the color-pair was previously initialized,  the  screen
-       is  refreshed  and  all occurrences of that color-pair are
-       changed to the new definition.  As an  extension,  ncurses
-       allows you to set color pair 0 via the assume_default_col-
-       ors routine, or to specify the use of default colors (col-
-       or  number  -1) if you first invoke the use_default_colors
-       routine.  The init_color routine changes the definition of
-       a color.  It takes four arguments: the number of the color
-       to be changed  followed  by  three  RGB  values  (for  the
-       amounts of red, green, and blue components).  The value of
-       the first argument must be between 0 and COLORS.  (See the
-       section  Colors for the default color index.)  Each of the
-       last three arguments must be a value between 0  and  1000.
-       When  init_color is used, all occurrences of that color on
-       the screen immediately change to the new definition.   The
-       has_colors routine requires no arguments.  It returns TRUE
-       if the terminal can manipulate colors; otherwise,  it  re-
-       turns  FALSE.   This routine facilitates writing terminal-
-       independent programs.  For example, a programmer  can  use
-       it  to decide whether to use color or some other video at-
-       tribute.  The can_change_color routine requires  no  argu-
-       ments.   It  returns  TRUE if the terminal supports colors
-       and can change their definitions; other, it returns FALSE.
-       This routine facilitates writing terminal-independent pro-
-       grams.  The color_content routine gives programmers a  way
-       to  find  the  intensity of the red, green, and blue (RGB)
-       components in a color.  It requires  four  arguments:  the
-       color  number,  and  three addresses of shorts for storing
-       the information about the amounts of red, green, and  blue
-       components in the given color.  The value of the first ar-
-       gument must be between 0 and COLORS.  The values that  are
-       stored at the addresses pointed to by the last three argu-
-       ments are between  0  (no  component)  and  1000  (maximum
-       amount  of  component).   The  pair_content routine allows
-       programmers to find out what  colors  a  given  color-pair
-       consists  of.  It requires three arguments: the color-pair
-       number, and two addresses of shorts for storing the  fore-
-       ground and the background color numbers.  The value of the
-       first argument must be between 1 and  COLOR_PAIRS-1.   The
-       values  that are stored at the addresses pointed to by the
-       second and third arguments are between 0 and COLORS.
-
-   Colors
-       In <curses.h> the following macros are defined.  These are
-       the  default colors.  curses also assumes that COLOR_BLACK
-       is the default background color for all terminals.
-             COLOR_BLACK
-             COLOR_RED
-             COLOR_GREEN
-             COLOR_YELLOW
-             COLOR_BLUE
-             COLOR_MAGENTA
-             COLOR_CYAN
-             COLOR_WHITE
-
-
-
-

RETURN VALUE

-       The routines can_change_color()  and  has_colors()  return
-       TRUE  or FALSE.  All other routines return the integer ERR
-       upon failure and an OK (SVr4 specifies  only  "an  integer
-       value other than ERR") upon successful completion.
-
-       X/Open  defines  no error conditions.  This implementation
-       will return ERR on attempts to use  color  values  outside
-       the range 0 to COLORS-1 (except for the default colors ex-
-       tension), or use color pairs outside the range 0  to  COL-
-       OR_PAIR-1.  Color values used in init_color must be in the
-       range 0 to 1000.  An error is returned from all  functions
-       if the terminal has not been initialized.  An error is re-
-       turned from  secondary  functions  such  as  init_pair  if
-       start_color was not called.
-
-              init_color
-                   returns an error if the terminal does not sup-
-                   port  this  feature,  e.g.,  if  the  initial-
-                   ize_color capability is absent from the termi-
-                   nal description.
-
-              start_color
-                   returns an error If the color table cannot  be
-                   allocated.
-
-
-
-

NOTES

-       In  the  ncurses implementation, there is a separate color
-       activation flag, color palette, color pairs table, and as-
-       sociated  COLORS  and  COLOR_PAIRS counts for each screen;
-       the start_color function only affects the current  screen.
-       The SVr4/XSI interface is not really designed with this in
-       mind, and historical  implementations  may  use  a  single
-       shared color palette.  Note that setting an implicit back-
-       ground color via a color pair affects only character cells
-       that  a  character write operation explicitly touches.  To
-       change the background color used when parts  of  a  window
-       are  blanked  by  erasing  or  scrolling  operations,  see
-       curs_bkgd(3x).  Several caveats apply on 386 and  486  ma-
-       chines with VGA-compatible graphics:
-
-       -    COLOR_YELLOW  is  actually brown.  To get yellow, use
-            COLOR_YELLOW combined with the A_BOLD attribute.
-
-       -    The A_BLINK attribute  should  in  theory  cause  the
-            background  to  go bright.  This often fails to work,
-            and even some cards for which it mostly  works  (such
-            as  the  Paradise and compatibles) do the wrong thing
-            when you try to set a bright "yellow" background (you
-            get a blinking yellow foreground instead).
-
-       -    Color RGB values are not settable.
-
-
-
-

PORTABILITY

-       This  implementation  satisfies XSI Curses's minimum maxi-
-       mums for COLORS and COLOR_PAIRS.
-
-       The init_pair routine accepts  negative  values  of  fore-
-       ground   and  background  color  to  support  the  use_de-
-       fault_colors extension, but only if that routine has  been
-       first invoked.
-
-       The  assumption that COLOR_BLACK is the default background
-       color for all terminals can  be  modified  using  the  as-
-       sume_default_colors extension.
-
-       This  implementation  checks  the  pointers, e.g., for the
-       values returned by  color_content  and  pair_content,  and
-       will treat those as optional parameters when null.
-
-
-
-

SEE ALSO

-       curses(3x),  curs_initscr(3x), curs_attr(3x), default_col-
-       ors(3x)
-
-
-
-                                                         curs_color(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_delch.3x.html b/src/libs/ncurses/doc/html/man/curs_delch.3x.html deleted file mode 100644 index f723f68f8e..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_delch.3x.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - -curs_delch 3x - - - - -

curs_delch 3x

-
-
-
-curs_delch(3x)                                           curs_delch(3x)
-
-
-
-
-
-

NAME

-       delch,  wdelch, mvdelch, mvwdelch - delete character under
-       the cursor in a curses window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int delch(void);
-       int wdelch(WINDOW *win);
-       int mvdelch(int y, int x);
-       int mvwdelch(WINDOW *win, int y, int x);
-
-
-
-

DESCRIPTION

-       These routines delete the character under the cursor;  all
-       characters to the right of the cursor on the same line are
-       moved to the left one position and the last  character  on
-       the line is filled with a blank.  The cursor position does
-       not change (after moving to y, x,  if  specified).   (This
-       does  not  imply use of the hardware delete character fea-
-       ture.)
-
-
-
-

RETURN VALUE

-       All routines return the integer ERR upon failure and an OK
-       (SVr4  specifies  only  "an integer value other than ERR")
-       upon successful completion.
-
-
-
-

NOTES

-       Note that delch, mvdelch, and mvwdelch may be macros.
-
-
-
-

PORTABILITY

-       These functions are described in the XSI Curses  standard,
-       Issue  4.   The standard specifies that they return ERR on
-       failure, but specifies no error conditions.
-
-
-
-

SEE ALSO

-       curses(3x)
-
-
-
-                                                         curs_delch(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_deleteln.3x.html b/src/libs/ncurses/doc/html/man/curs_deleteln.3x.html deleted file mode 100644 index 5b98ca6891..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_deleteln.3x.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - -curs_deleteln 3x - - - - -

curs_deleteln 3x

-
-
-
-curs_deleteln(3x)                                     curs_deleteln(3x)
-
-
-
-
-
-

NAME

-       deleteln,  wdeleteln,  insdelln, winsdelln, insertln, win-
-       sertln - delete and insert lines in a curses window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int deleteln(void);
-       int wdeleteln(WINDOW *win);
-       int insdelln(int n);
-       int winsdelln(WINDOW *win, int n);
-       int insertln(void);
-       int winsertln(WINDOW *win);
-
-
-
-

DESCRIPTION

-       The deleteln and wdeleteln routines delete the line  under
-       the cursor in the window; all lines below the current line
-       are moved up one line.  The bottom line of the  window  is
-       cleared.  The cursor position does not change.
-
-       The  insdelln  and  winsdelln  routines,  for  positive n,
-       insert n lines into the specified window above the current
-       line.   The  n  bottom  lines  are  lost.  For negative n,
-       delete n lines (starting with the one under  the  cursor),
-       and  move  the remaining lines up.  The bottom n lines are
-       cleared.  The current cursor position remains the same.
-
-       The insertln and winsertln routines insert  a  blank  line
-       above the current line and the bottom line is lost.
-
-
-
-

RETURN VALUE

-       All routines return the integer ERR upon failure and an OK
-       (SVr4 specifies only "an integer value  other  than  ERR")
-       upon successful completion.
-
-       X/Open  defines  no error conditions.  In this implementa-
-       tion, if  the  window  parameter  is  null,  an  error  is
-       returned.
-
-
-
-

PORTABILITY

-       These  functions are described in the XSI Curses standard,
-       Issue 4.  The standard specifies that they return  ERR  on
-       failure, but specifies no error conditions.
-
-
-
-

NOTES

-       Note that all but winsdelln may be macros.
-
-       These  routines  do  not require a hardware line delete or
-       insert feature in the terminal.  In fact, they  won't  use
-       hardware  line  delete/insert  unless idlok(..., TRUE) has
-       been set on the current window.
-
-
-
-

SEE ALSO

-       curses(3x)
-
-
-
-                                                      curs_deleteln(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_extend.3x.html b/src/libs/ncurses/doc/html/man/curs_extend.3x.html deleted file mode 100644 index 60bb563a76..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_extend.3x.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - -curs_extend 3x - - - - -

curs_extend 3x

-
-
-
-curs_extend(3x)                                         curs_extend(3x)
-
-
-
-
-
-

NAME

-       curses_version,  use_extended_names - miscellaneous curses
-       extensions
-
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       const char * curses_version(void);
-       int use_extended_names(bool enable);
-
-
-
-

DESCRIPTION

-       These functions are extensions to the curses library which
-       do not fit easily into other categories.
-
-       Use  curses_version() to get the version number, including
-       patch level of the library, e.g., 5.0.19991023
-
-       The use_extended_names()  function  controls  whether  the
-       calling  application  is  able to use user-defined or non-
-       standard names which may be  compiled  into  the  terminfo
-       description, i.e., via the terminfo or termcap interfaces.
-       Normally these names are  available  for  use,  since  the
-       essential  decision  is made by using the -x option of tic
-       to compile extended terminal definitions.  However you can
-       disable  this  feature  to ensure compatibility with other
-       implementations of curses.
-
-
-
-

PORTABILITY

-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
-
-
-
-

SEE ALSO

-       curs_getch(3x),       curs_mouse(3x),      curs_print(3x),
-       default_colors(3x),     define_key(3x),      keybound(3x),
-       keyok(3x), resizeterm(3x), wresize(3x).
-
-
-
-

AUTHOR

-       Thomas Dickey.
-
-
-
-                                                        curs_extend(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_get_wch.3x.html b/src/libs/ncurses/doc/html/man/curs_get_wch.3x.html deleted file mode 100644 index f205b89d61..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_get_wch.3x.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - -curs_get_wch 3x - - - - -

curs_get_wch 3x

-
-
-
-curs_get_wch(3x)                                       curs_get_wch(3x)
-
-
-
-
-
-

NAME

-       get_wch,  wget_wch, mvget_wch, mvwget_wch, unget_wch - get
-       (or push back) a wide character from curses terminal  key-
-       board
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int get_wch(wint_t *wch);
-       int wget_wch(WINDOW *win, wint_t *wch);
-       int mvget_wch(int y, int x, wint_t *wch);
-       int mvwget_wch(WINDOW *win, int y, int x, wint_t *wch);
-       int unget_wch(const wchar_t wch);
-
-
-
-

DESCRIPTION

-       The get_wch, wget_wch, mvget_wch, and mvwget_wch functions
-       read a character from the  terminal  associated  with  the
-       current  or  specified  window.   In  no-delay mode, if no
-       input is waiting, the value ERR  is  returned.   In  delay
-       mode,  the  program  waits  until  the  system passes text
-       through to the  program.   Depending  on  the  setting  of
-       cbreak,  this  is  after  one  character (cbreak mode), or
-       after the first newline (nocbreak  mode).   In  half-delay
-       mode,  the  program waits until the user types a character
-       or the specified timeout interval has elapsed.
-
-       Unless noecho has been set, these routines echo the  char-
-       acter into the designated window.
-
-       If  the window is not a pad and has been moved or modified
-       since the last call to wrefresh, wrefresh will  be  called
-       before another character is read.
-
-       If  keypad  is  enabled,  these  functions  respond to the
-       pressing of a function key by setting the  object  pointed
-       to  by  wch  to  the  corresponding  KEY_ value defined in
-       <curses.h> and returning  KEY_CODE_YES.   If  a  character
-       (such as escape) that could be the beginning of a function
-       key is received, curses sets a timer.  If the remainder of
-       the  sequence  does  arrive  within  the  designated time,
-       curses passes through  the  character;  otherwise,  curses
-       returns  the  function  key  value.  For this reason, many
-       terminals experience a  delay  between  the  time  a  user
-       presses the escape key and the time the escape is returned
-       to the program.
-
-       The unget_wch function pushes the wide character wch  back
-       onto the head of the input queue, so the wide character is
-       returned by the next call to get_wch.  The pushback of one
-       character  is  guaranteed.  If the program calls unget_wch
-       too many times without an intervening call to get_wch, the
-       operation may fail.
-
-
-
-

NOTES

-       The  header  file  <curses.h>  automatically  includes the
-       header file <stdio.h>.
-
-       Applications should not define the escape key by itself as
-       a single-character function.
-
-       When  using  get_wch,  wget_wch, mvget_wch, or mvwget_wch,
-       applications should not use nocbreak mode and echo mode at
-       the  same  time.  Depending on the state of the tty driver
-       when each character is  typed,  the  program  may  produce
-       undesirable results.
-
-       All functions except wget_wch and unget_wch may be macros.
-
-
-
-

RETURN VALUES

-       When get_wch, wget_wch, mvget_wch,  and  mvwget_wch  func-
-       tions  successfully report the pressing of a function key,
-       they return KEY_CODE_YES.  When they successfully report a
-       wide  character,  they  return OK.  Otherwise, they return
-       ERR.
-
-       Upon successful completion, unget_wch returns OK.   Other-
-       wise, the function returns ERR.
-
-
-
-

SEE ALSO

-       curses(3x),        curs_getch(3x),       curs_ins_wch(3x),
-       curs_inopts(3x), curs_move(3x), curs_refresh(3x)
-
-
-
-                                                       curs_get_wch(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_get_wstr.3x.html b/src/libs/ncurses/doc/html/man/curs_get_wstr.3x.html deleted file mode 100644 index 98c230eab2..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_get_wstr.3x.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - -curs_get_wstr 3x - - - - -

curs_get_wstr 3x

-
-
-
-curs_get_wstr(3x)                                     curs_get_wstr(3x)
-
-
-
-
-
-

NAME

-       get_wstr, getn_wstr, wget_wstr, wgetn_wstr, mvget_wstr,
-       mvgetn_wstr, mvwget_wstr, mvwgetn_wstr - get an array of
-       wide characters from a curses terminal keyboard
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int get_wstr(wint_t *wstr);
-       int getn_wstr(wint_t *wstr, int n);
-       int wget_wstr(WINDOW *win, wint_t *wstr);
-       int wgetn_wstr(WINDOW *win, wint_t *wstr, int n);
-       int mvget_wstr(int y, int x, wint_t *wstr);
-       int mvgetn_wstr(int y, int x, wint_t *wstr, int n);
-       int mvwget_wstr(WINDOW *win, int y, int x, wint_t *wstr);
-       int mvwgetn_wstr(WINDOW *win, int y, int x, wint_t *wstr, int n);
-
-
-
-

DESCRIPTION

-       The  effect  of get_wstr is as though a series of calls to
-       get_wch were made, until a newline, other end-of-line,  or
-       end-of-file condition is processed.  An end-of-file condi-
-       tion is represented by WEOF, as defined in <wchar.h>.  The
-       newline  and end-of-line conditions are represented by the
-       \n wchar_t value.  In all instances, the end of the string
-       is  terminated  by a null wchar_t.  The routine places re-
-       sulting values in the area pointed to by wstr.
-
-       The user's erase and kill characters are interpreted.   If
-       keypad   mode   is   on   for  the  window,  KEY_LEFT  and
-       KEY_BACKSPACE are both considered equivalent to the user's
-       kill character.
-
-       Characters  input are echoed only if echo is currently on.
-       In that case, backspace is echoed as deletion of the  pre-
-       vious character (typically a left motion).
-
-       The  effect of wget_wstr is as though a series of calls to
-       wget_wch were made.
-
-       The effect of mvget_wstr is as though a call to  move  and
-       then a series of calls to get_wch were made.
-
-       The effect of mvwget_wstr is as though a call to wmove and
-       then a series of calls to wget_wch were made.
-
-       The getn_wstr, mvgetn_wstr, mvwgetn_wstr,  and  wgetn_wstr
-       functions  are  identical  to  the  get_wstr,  mvget_wstr,
-       mvwget_wstr, and wget_wstr functions, respectively, except
-       that  the *n_* versions read at most n characters, letting
-       the application prevent overflow of the input buffer.
-
-
-
-

NOTES

-       Using get_wstr, mvget_wstr, mvwget_wstr, or  wget_wstr  to
-       read  a  line  that overflows the array pointed to by wstr
-       causes  undefined  results.    The   use   of   getn_wstr,
-       mvgetn_wstr, mvwgetn_wstr, or wgetn_wstr, respectively, is
-       recommended.
-
-       These functions cannot return KEY_ values because there is
-       no  way  to  distinguish a KEY_ value from a valid wchar_t
-       value.
-
-       All of these routines except wgetn_wstr may be macros.
-
-
-
-

RETURN VALUES

-       All of these functions return OK upon  successful  comple-
-       tion.  Otherwise, they return ERR.
-
-       Functions  using  a window parameter return an error if it
-       is null.
-
-              wgetn_wstr
-                   returns an error if  the  associated  call  to
-                   wget_wch failed.
-
-
-
-

PORTABILITY

-       These  functions are described in The Single Unix Specifi-
-       cation, Version 2.  No error conditions are defined.  This
-       implementation  returns ERR if the window pointer is null,
-       or if the lower-level wget_wch call returns  an  ERR.   In
-       the  latter  case,  an  ERR  return  without other data is
-       treated as an end-of-file condition, and the returned  ar-
-       ray contains a WEOF followed by a null wchar_t.
-
-       X/Open  curses  documents these functions to pass an array
-       of wchar_t, but all of the vendors  implement  this  using
-       wint_t.
-
-
-
-

SEE ALSO

-       Functions:  curses(3x), curs_get_wch(3x), curs_getstr(3x).
-
-
-
-                                                      curs_get_wstr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_getcchar.3x.html b/src/libs/ncurses/doc/html/man/curs_getcchar.3x.html deleted file mode 100644 index 9f8ca2f0da..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_getcchar.3x.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - -curs_getcchar 3x - - - - -

curs_getcchar 3x

-
-
-
-curs_getcchar(3x)                                     curs_getcchar(3x)
-
-
-
-
-
-

NAME

-       getcchar,  setcchar - Get a wide character string and ren-
-       dition from a cchar_t or set a cchar_t from a wide-charac-
-       ter string
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int getcchar(
-               const cchar_t *wcval,
-               wchar_t *wch,
-               attr_t *attrs,
-               short *color_pair,
-               void *opts );
-
-       int setcchar(
-               cchar_t *wcval,
-               const wchar_t *wch,
-               const attr_t attrs,
-               short color_pair,
-               void *opts );
-
-
-
-

DESCRIPTION

-       The  getcchar  function  gets  a wide-character string and
-       rendition from a cchar_t argument.  When wch is not a null
-       pointer, the getcchar function does the following:
-
-       -    Extracts information from a cchar_t value wcval
-
-       -    Stores  the  character  attributes  in  the  location
-            pointed to by attrs
-
-       -    Stores the color-pair in the location pointed  to  by
-            color_pair
-
-       -    Stores  the  wide-character string, characters refer-
-            enced by wcval, into the array pointed to by wch.
-
-       When wch is a null pointer, the getcchar function does the
-       following:
-
-       -    Obtains  the  number of wide characters pointed to by
-            wcval
-
-       -    Does not change  the  data  referenced  by  attrs  or
-            color_pair
-
-       The  setcchar function initializes the location pointed to
-       by wcval by using:
-
-       -    The character attributes in attrs
-
-       -    The color pair in color_pair
-
-       -    The wide-character string pointed  to  by  wch.   The
-            string  must be L'\0' terminated, contain at most one
-            character with strictly positive width, which must be
-            the  first,  and  contain  no  characters of negative
-            width.
-
-
-
-

NOTES

-       The opts argument is reserved for future use.   Currently,
-       an application must provide a null pointer as opts.
-
-       The  wcval  argument may be a value generated by a call to
-       setcchar or by a function that has a cchar_t output  argu-
-       ment.   If  wcval  is  constructed by any other means, the
-       effect is unspecified.
-
-
-
-

RETURN VALUES

-       When wch is a null pointer, getcchar returns the number of
-       wide  characters  referenced  by wcval, including the null
-       terminator.
-
-       When wch is not a null pointer, getcchar returns  OK  upon
-       successful completion, and ERR otherwise.
-
-       Upon  successful  completion, setcchar returns OK.  Other-
-       wise, it returns ERR.
-
-
-
-

SEE ALSO

-       Functions:  curses(3x),  wcwidth(3x),   curs_attr_get(3x),
-       can_change_color(3x).
-
-
-
-                                                      curs_getcchar(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_getch.3x.html b/src/libs/ncurses/doc/html/man/curs_getch.3x.html deleted file mode 100644 index e96ff12ba1..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_getch.3x.html +++ /dev/null @@ -1,335 +0,0 @@ - - - - -curs_getch 3x - - - - -

curs_getch 3x

-
-
-
-curs_getch(3x)                                           curs_getch(3x)
-
-
-
-
-
-

NAME

-       getch, wgetch, mvgetch, mvwgetch, ungetch, has_key - get
-       (or push back) characters from curses terminal keyboard
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int getch(void);
-       int wgetch(WINDOW *win);
-       int mvgetch(int y, int x);
-       int mvwgetch(WINDOW *win, int y, int x);
-       int ungetch(int ch);
-       int has_key(int ch);
-
-
-
-

DESCRIPTION

-       The getch, wgetch, mvgetch and mvwgetch, routines  read  a
-       character  from the window.  In no-delay mode, if no input
-       is waiting, the value ERR is returned.  In delay mode, the
-       program  waits until the system passes text through to the
-       program.  Depending on the setting of cbreak, this is  af-
-       ter  one  character (cbreak mode), or after the first new-
-       line (nocbreak mode).  In  half-delay  mode,  the  program
-       waits  until a character is typed or the specified timeout
-       has been reached.
-
-       Unless noecho has been set, then the character  will  also
-       be echoed into the designated window according to the fol-
-       lowing rules: If the character is the current erase  char-
-       acter,  left  arrow, or backspace, the cursor is moved one
-       space to the left and that screen position is erased as if
-       delch had been called.  If the character value is any oth-
-       er KEY_ define, the user is  alerted  with  a  beep  call.
-       Otherwise the character is simply output to the screen.
-
-       If the window is not a pad, and it has been moved or modi-
-       fied since the last call to  wrefresh,  wrefresh  will  be
-       called before another character is read.
-
-       If  keypad is TRUE, and a function key is pressed, the to-
-       ken for that function key is returned instead of  the  raw
-       characters.   Possible function keys are defined in <curs-
-       es.h> as macros with values outside  the  range  of  8-bit
-       characters  whose  names begin with KEY_. Thus, a variable
-       intended to hold the return value of a function  key  must
-       be of short size or larger.
-
-       When a character that could be the beginning of a function
-       key is received (which, on modern terminals, means an  es-
-       cape character), curses sets a timer.  If the remainder of
-       the sequence does not come in within the designated  time,
-       the  character  is passed through; otherwise, the function
-       key value is returned.  For this  reason,  many  terminals
-       experience a delay between the time a user presses the es-
-       cape key and the escape is returned to the program.
-
-       The ungetch routine places ch back onto the input queue to
-       be returned by the next call to wgetch.  There is just one
-       input queue for all windows.
-
-
-   Function Keys
-       The following function keys, defined in <curses.h>,  might
-       be  returned  by  getch  if keypad has been enabled.  Note
-       that not all of these are  necessarily  supported  on  any
-       particular terminal.
-
-
-            Name            Key name
-            KEY_BREAK       Break key
-            KEY_DOWN        The four arrow keys ...
-            KEY_UP
-            KEY_LEFT
-            KEY_RIGHT
-            KEY_HOME        Home key (upward+left arrow)
-            KEY_BACKSPACE   Backspace
-            KEY_F0          Function keys; space for 64 keys
-                            is reserved.
-            KEY_F(n)        For 0 <= n <= 63
-            KEY_DL          Delete line
-            KEY_IL          Insert line
-            KEY_DC          Delete character
-            KEY_IC          Insert char or enter insert mode
-            KEY_EIC         Exit insert char mode
-            KEY_CLEAR       Clear screen
-            KEY_EOS         Clear to end of screen
-            KEY_EOL         Clear to end of line
-            KEY_SF          Scroll 1 line forward
-            KEY_SR          Scroll 1 line backward (reverse)
-            KEY_NPAGE       Next page
-            KEY_PPAGE       Previous page
-            KEY_STAB        Set tab
-            KEY_CTAB        Clear tab
-            KEY_CATAB       Clear all tabs
-            KEY_ENTER       Enter or send
-            KEY_SRESET      Soft (partial) reset
-            KEY_RESET       Reset or hard reset
-            KEY_PRINT       Print or copy
-            KEY_LL          Home down or bottom (lower left)
-            KEY_A1          Upper left of keypad
-            KEY_A3          Upper right of keypad
-            KEY_B2          Center of keypad
-            KEY_C1          Lower left of keypad
-            KEY_C3          Lower right of keypad
-            KEY_BTAB        Back tab key
-            KEY_BEG         Beg(inning) key
-            KEY_CANCEL      Cancel key
-            KEY_CLOSE       Close key
-            KEY_COMMAND     Cmd (command) key
-            KEY_COPY        Copy key
-            KEY_CREATE      Create key
-            KEY_END         End key
-            KEY_EXIT        Exit key
-            KEY_FIND        Find key
-            KEY_HELP        Help key
-            KEY_MARK        Mark key
-            KEY_MESSAGE     Message key
-            KEY_MOUSE       Mouse event read
-            KEY_MOVE        Move key
-            KEY_NEXT        Next object key
-            KEY_OPEN        Open key
-            KEY_OPTIONS     Options key
-            KEY_PREVIOUS    Previous object key
-            KEY_REDO        Redo key
-            KEY_REFERENCE   Ref(erence) key
-            KEY_REFRESH     Refresh key
-            KEY_REPLACE     Replace key
-            KEY_RESIZE      Screen resized
-            KEY_RESTART     Restart key
-            KEY_RESUME      Resume key
-
-            KEY_SAVE        Save key
-            KEY_SBEG        Shifted beginning key
-            KEY_SCANCEL     Shifted cancel key
-            KEY_SCOMMAND    Shifted command key
-            KEY_SCOPY       Shifted copy key
-            KEY_SCREATE     Shifted create key
-            KEY_SDC         Shifted delete char key
-            KEY_SDL         Shifted delete line key
-            KEY_SELECT      Select key
-            KEY_SEND        Shifted end key
-            KEY_SEOL        Shifted clear line key
-            KEY_SEXIT       Shifted exit key
-            KEY_SFIND       Shifted find key
-            KEY_SHELP       Shifted help key
-            KEY_SHOME       Shifted home key
-            KEY_SIC         Shifted input key
-            KEY_SLEFT       Shifted left arrow key
-            KEY_SMESSAGE    Shifted message key
-            KEY_SMOVE       Shifted move key
-            KEY_SNEXT       Shifted next key
-            KEY_SOPTIONS    Shifted options key
-            KEY_SPREVIOUS   Shifted prev key
-            KEY_SPRINT      Shifted print key
-            KEY_SREDO       Shifted redo key
-            KEY_SREPLACE    Shifted replace key
-            KEY_SRIGHT      Shifted right arrow
-            KEY_SRSUME      Shifted resume key
-            KEY_SSAVE       Shifted save key
-            KEY_SSUSPEND    Shifted suspend key
-            KEY_SUNDO       Shifted undo key
-            KEY_SUSPEND     Suspend key
-            KEY_UNDO        Undo key
-
-       Keypad is arranged like this:
-
-
-                         +-----+------+-------+
-                         | A1  |  up  |  A3   |
-                         +-----+------+-------+
-                         |left |  B2  | right |
-                         +-----+------+-------+
-                         | C1  | down |  C3   |
-                         +-----+------+-------+
-       The has_key routine takes a key value from the above list,
-       and returns TRUE or FALSE according to whether the current
-       terminal type recognizes a key with that value.  Note that
-       a  few  values  do  not  correspond  to  a real key, e.g.,
-       KEY_RESIZE and KEY_MOUSE.  See resizeterm(3x) for more de-
-       tails  about  KEY_RESIZE, and curs_mouse(3x) for a discus-
-       sion of KEY_MOUSE.
-
-
-
-
-

RETURN VALUE

-       All routines return the integer ERR upon  failure  and  an
-       integer value other than ERR (OK in the case of ungetch())
-       upon successful completion.
-
-              ungetch
-                   returns an error if there is no more  room  in
-                   the FIFO.
-
-              wgetch
-                   returns  an  error  if  the  window pointer is
-                   null, or if its timeout expires without having
-                   any data.
-
-
-
-

NOTES

-       Use of the escape key by a programmer for a single charac-
-       ter function is discouraged, as it will cause a  delay  of
-       up to one second while the keypad code looks for a follow-
-       ing function-key sequence.
-
-       Note that some keys may be the same as commonly used  con-
-       trol keys, e.g., KEY_ENTER versus control/M, KEY_BACKSPACE
-       versus control/H.  Some curses implementations may  differ
-       according  to  whether  they treat these control keys spe-
-       cially (and ignore the terminfo), or use the terminfo def-
-       initions.   Ncurses  uses  the terminfo definition.  If it
-       says  that  KEY_ENTER  is  control/M,  getch  will  return
-       KEY_ENTER when you press control/M.
-
-       When  using  getch, wgetch, mvgetch, or mvwgetch, nocbreak
-       mode (nocbreak) and echo mode (echo) should not be used at
-       the  same  time.  Depending on the state of the tty driver
-       when each character is typed, the program may produce  un-
-       desirable results.
-
-       Note that getch, mvgetch, and mvwgetch may be macros.
-
-       Historically, the set of keypad macros was largely defined
-       by the extremely function-key-rich keyboard  of  the  AT&T
-       7300,  aka  3B1,  aka Safari 4.  Modern personal computers
-       usually have only a small subset of these.   IBM  PC-style
-       consoles   typically  support  little  more  than  KEY_UP,
-       KEY_DOWN,   KEY_LEFT,   KEY_RIGHT,   KEY_HOME,    KEY_END,
-       KEY_NPAGE, KEY_PPAGE, and function keys 1 through 12.  The
-       Ins key is usually mapped to KEY_IC.
-
-
-
-

PORTABILITY

-       The *get* functions are described in the XSI Curses  stan-
-       dard,  Issue  4.   They  read single-byte characters only.
-       The standard specifies that they return  ERR  on  failure,
-       but specifies no error conditions.
-
-       The  echo  behavior of these functions on input of KEY_ or
-       backspace characters was not specified in the  SVr4  docu-
-       mentation.  This description is adopted from the XSI Curs-
-       es standard.
-
-       The behavior of getch and friends in the presence of  han-
-       dled  signals  is  unspecified  in the SVr4 and XSI Curses
-       documentation.  Under historical  curses  implementations,
-       it  varied depending on whether the operating system's im-
-       plementation  of  handled  signal  receipt  interrupts   a
-       read(2)  call in progress or not, and also (in some imple-
-       mentations) depending on whether an input timeout or  non-
-       blocking mode has been set.
-
-       Programmers concerned about portability should be prepared
-       for either of two cases: (a) signal receipt does  not  in-
-       terrupt  getch;  (b)  signal  receipt interrupts getch and
-       causes it to return ERR with errno set  to  EINTR.   Under
-       the  ncurses  implementation, handled signals never inter-
-       rupt getch.
-
-       The has_key function is unique to ncurses.   We  recommend
-       that  any  code  using it be conditionalized on the NCURS-
-       ES_VERSION feature macro.
-
-
-
-

SEE ALSO

-       curses(3x),        curs_inopts(3x),        curs_mouse(3x),
-       curs_move(3x), curs_refresh(3x), resizeterm(3x).
-
-
-
-                                                         curs_getch(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_getstr.3x.html b/src/libs/ncurses/doc/html/man/curs_getstr.3x.html deleted file mode 100644 index fd264d2810..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_getstr.3x.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - -curs_getstr 3x - - - - -

curs_getstr 3x

-
-
-
-curs_getstr(3x)                                         curs_getstr(3x)
-
-
-
-
-
-

NAME

-       getstr, getnstr, wgetstr, wgetnstr, mvgetstr, mvgetnstr,
-       mvwgetstr, mvwgetnstr - accept character strings from
-       curses terminal keyboard
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int getstr(char *str);
-       int getnstr(char *str, int n);
-       int wgetstr(WINDOW *win, char *str);
-       int wgetnstr(WINDOW *win, char *str, int n);
-       int mvgetstr(int y, int x, char *str);
-       int mvwgetstr(WINDOW *win, int y, int x, char *str);
-       int mvgetnstr(int y, int x, char *str, int n);
-       int mvwgetnstr(WINDOW *, int y, int x, char *str, int n);
-
-
-
-

DESCRIPTION

-       The  function getstr is equivalent to a series of calls to
-       getch, until a newline or carriage return is received (the
-       terminating  character  is  not  included  in the returned
-       string).  The resulting value is placed in the area point-
-       ed to by the character pointer str.
-
-       wgetnstr  reads  at  most  n characters, thus preventing a
-       possible overflow of the input buffer.  Any attempt to en-
-       ter more characters (other than the terminating newline or
-       carriage return) causes a beep.  Function keys also  cause
-       a  beep  and are ignored.  The getnstr function reads from
-       the stdscr default window.
-
-       The user's erase and kill characters are interpreted.   If
-       keypad   mode   is   on   for  the  window,  KEY_LEFT  and
-       KEY_BACKSPACE are both considered equivalent to the user's
-       kill character.
-
-       Characters  input are echoed only if echo is currently on.
-       In that case, backspace is echoed as deletion of the  pre-
-       vious character (typically a left motion).
-
-
-
-

RETURN VALUE

-       All routines return the integer ERR upon failure and an OK
-       (SVr4 specifies only "an integer value  other  than  ERR")
-       upon successful completion.
-
-       X/Open defines no error conditions.
-
-       In this implementation, these functions return an error if
-       the window pointer is null,  or  if  its  timeout  expires
-       without having any data.
-
-
-
-

NOTES

-       Note that getstr, mvgetstr, and mvwgetstr may be macros.
-
-
-
-

PORTABILITY

-       These  functions are described in the XSI Curses standard,
-       Issue 4.  They  read  single-byte  characters  only.   The
-       standard  does  not define any error conditions.  This im-
-       plementation returns ERR if the window pointer is null, or
-       if the lower-level wgetch call returns an ERR.
-
-       SVr3  and early SVr4 curses implementations did not reject
-       function keys; the SVr4.0 documentation claimed that "spe-
-       cial  keys"  (such  as  function keys, "home" key, "clear"
-       key, etc.) are "interpreted", without giving details.   It
-       lied.   In  fact,  the  `character'  value appended to the
-       string by those implementations was  predictable  but  not
-       useful  (being,  in  fact, the low-order eight bits of the
-       key's KEY_ value).
-
-       The functions  getnstr,  mvgetnstr,  and  mvwgetnstr  were
-       present but not documented in SVr4.
-
-
-
-

SEE ALSO

-       curses(3x), curs_getch(3x).
-
-
-
-                                                        curs_getstr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_getyx.3x.html b/src/libs/ncurses/doc/html/man/curs_getyx.3x.html deleted file mode 100644 index ac0101203e..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_getyx.3x.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - -curs_getyx 3x - - - - -

curs_getyx 3x

-
-
-
-curs_getyx(3x)                                           curs_getyx(3x)
-
-
-
-
-
-

NAME

-       getyx,  getparyx,  getbegyx,  getmaxyx - get curses cursor
-       and window coordinates
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       void getyx(WINDOW *win, int y, int x);
-       void getparyx(WINDOW *win, int y, int x);
-       void getbegyx(WINDOW *win, int y, int x);
-       void getmaxyx(WINDOW *win, int y, int x);
-
-
-
-

DESCRIPTION

-       The getyx macro places the current cursor position of  the
-       given window in the two integer variables y and x.
-
-       If  win  is  a  subwindow,  the  getparyx macro places the
-       beginning coordinates of the  subwindow  relative  to  the
-       parent  window into two integer variables y and x.  Other-
-       wise, -1 is placed into y and x.
-
-       Like getyx, the getbegyx and  getmaxyx  macros  store  the
-       current  beginning  coordinates  and size of the specified
-       window.
-
-
-
-

RETURN VALUE

-       The return values of these  macros  are  undefined  (i.e.,
-       they  should not be used as the right-hand side of assign-
-       ment statements).
-
-
-
-

NOTES

-       All of these interfaces are macros.  A "&" is  not  neces-
-       sary before the variables y and x.
-
-
-
-

PORTABILITY

-       The  getyx,  getparyx, getbegyx and getmaxyx functions are
-       described in the XSI Curses standard, Issue 4.
-
-       This  implementation  also  provides   getbegx,   getbegy,
-       getcurx,  getcury,  getmaxx,  getmaxy, getparx and getpary
-       for compatibility with older versions of curses.
-
-
-
-

SEE ALSO

-       curses(3x)
-
-
-
-                                                         curs_getyx(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_in_wch.3x.html b/src/libs/ncurses/doc/html/man/curs_in_wch.3x.html deleted file mode 100644 index 7673f3178f..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_in_wch.3x.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - -curs_in_wch 3x - - - - -

curs_in_wch 3x

-
-
-
-curs_in_wch(3x)                                         curs_in_wch(3x)
-
-
-
-
-
-

NAME

-       in_wch,  mvin_wch,  mvwin_wch, win_wch - extract a complex
-       character and rendition from a window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int in_wch(cchar_t *wcval);
-       int mvin_wch(int y, int x, cchar_t *wcval);
-       int mvwin_wch(WINDOW *win, int y, int x, cchar_t *wcval);
-       int win_wch(WINDOW *win, cchar_t *wcval);
-
-
-
-

DESCRIPTION

-       These functions extract the complex character  and  rendi-
-       tion  from  the  current position in the named window into
-       the cchar_t object referenced by wcval.
-
-
-
-

RETURN VALUE

-       No errors are defined in the XSI  Curses  standard.   This
-       implementation  checks  for  null pointers, returns ERR in
-       that case.  Also, the mv routines check for  error  moving
-       the  cursor,  returning  ERR in that case.  Otherwise they
-       return OK
-
-
-
-

NOTES

-       Note that all of these routines may be macros.
-
-
-
-

PORTABILITY

-       These functions are described in the XSI Curses  standard,
-       Issue 4.
-
-
-
-

SEE ALSO

-       curses(3x), curs_inch(3x).
-
-
-
-                                                        curs_in_wch(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_in_wchstr.3x.html b/src/libs/ncurses/doc/html/man/curs_in_wchstr.3x.html deleted file mode 100644 index bbc2a568d5..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_in_wchstr.3x.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - -curs_in_wchstr 3x - - - - -

curs_in_wchstr 3x

-
-
-
-curs_in_wchstr(3x)                                   curs_in_wchstr(3x)
-
-
-
-
-
-

NAME

-       in_wchstr, in_wchnstr, win_wchstr, win_wchnstr,
-       mvin_wchstr, mvin_wchnstr, mvwin_wchstr, mvwin_wchnstr -
-       get an array of complex characters and renditions from a
-       curses window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int in_wchstr(cchar_t *wchstr);
-       int in_wchnstr(cchar_t *wchstr, int n);
-       int win_wchstr(WINDOW *win, cchar_t *wchstr);
-       int win_wchnstr(WINDOW *win, cchar_t *wchstr, int n);
-       int mvin_wchstr(int y, int x, cchar_t *wchstr);
-       int mvin_wchnstr(int y, int x, cchar_t *wchstr, int n);
-       int mvwin_wchstr(WINDOW *win, int y, int x, cchar_t *wchstr);
-       int mvwin_wchnstr(WINDOW *win, int y, int x, cchar_t *wchstr, int n);
-
-
-
-

DESCRIPTION

-       These functions return an array of complex  characters  in
-       wchstr,  starting  at  the  current cursor position in the
-       named window.  Attributes (rendition) are stored with  the
-       characters.
-
-       The  in_wchnstr, mvin_wchnstr, mvwin_wchnstr and win_wchn-
-       str fill the array with at most n cchar_t elements.
-
-
-
-

NOTES

-       Note that all routines except win_wchnstr may be macros.
-
-       Reading a line that overflows the array pointed to by wch-
-       str  with in_wchstr, mvin_wchstr, mvwin_wchstr or win_wch-
-       str  causes  undefined  results.  Therefore,  the  use  of
-       in_wchnstr, mvin_wchnstr, mvwin_wchnstr, or win_wchnstr is
-       recommended.
-
-
-
-

RETURN VALUES

-       Upon successful completion,  these  functions  return  OK.
-       Otherwise, they return ERR.
-
-
-
-

PORTABILITY

-       The  XSI  Curses defines no error conditions.  This imple-
-       mentation checks for null pointers, returning ERR in  that
-       case.
-
-
-
-

SEE ALSO

-       Functions:  curses(3x),  curs_in_wch(3x),  curs_instr(3x),
-       curs_inwstr(3x)
-
-
-
-                                                     curs_in_wchstr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_inch.3x.html b/src/libs/ncurses/doc/html/man/curs_inch.3x.html deleted file mode 100644 index 8db494d2f4..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_inch.3x.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - -curs_inch 3x - - - - -

curs_inch 3x

-
-
-
-curs_inch(3x)                                             curs_inch(3x)
-
-
-
-
-
-

NAME

-       inch,  winch,  mvinch,  mvwinch  -  get  a  character  and
-       attributes from a curses window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       chtype inch(void);
-       chtype winch(WINDOW *win);
-       chtype mvinch(int y, int x);
-       chtype mvwinch(WINDOW *win, int y, int x);
-
-
-
-

DESCRIPTION

-       These routines return the character, of  type  chtype,  at
-       the   current  position  in  the  named  window.   If  any
-       attributes are set for that  position,  their  values  are
-       OR'ed  into  the  value  returned.   Constants  defined in
-       <curses.h> can be used with the & (logical  AND)  operator
-       to extract the character or attributes alone.
-
-
-   Attributes
-       The  following  bit-masks  may  be  AND-ed with characters
-       returned by winch.
-
-
-       A_CHARTEXT     Bit-mask to extract character
-       A_ATTRIBUTES   Bit-mask to extract attributes
-       A_COLOR        Bit-mask to extract color-pair field information
-
-
-
-

NOTES

-       Note that all of these routines may be macros.
-
-
-
-

PORTABILITY

-       These functions are described in the XSI Curses  standard,
-       Issue 4.
-
-
-
-

SEE ALSO

-       curses(3x).
-
-
-
-                                                          curs_inch(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_inchstr.3x.html b/src/libs/ncurses/doc/html/man/curs_inchstr.3x.html deleted file mode 100644 index 3b0cbbe4de..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_inchstr.3x.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - -curs_inchstr 3x - - - - -

curs_inchstr 3x

-
-
-
-curs_inchstr(3x)                                       curs_inchstr(3x)
-
-
-
-
-
-

NAME

-       inchstr, inchnstr, winchstr, winchnstr, mvinchstr,
-       mvinchnstr, mvwinchstr, mvwinchnstr - get a string of
-       characters (and attributes) from a curses window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int inchstr(chtype *chstr);
-       int inchnstr(chtype *chstr, int n);
-       int winchstr(WINDOW *win, chtype *chstr);
-       int winchnstr(WINDOW *win, chtype *chstr, int n);
-       int mvinchstr(int y, int x, chtype *chstr);
-       int mvinchnstr(int y, int x, chtype *chstr, int n);
-       int mvwinchstr(WINDOW *win, int y, int x, chtype *chstr);
-       int  mvwinchnstr(WINDOW *win, int y, int x, chtype *chstr,
-       int n);
-
-
-
-

DESCRIPTION

-       These routines return a NULL-terminated  array  of  chtype
-       quantities, starting at the current cursor position in the
-       named window and ending at the right margin of the window.
-       The  four  functions with n as the last argument, return a
-       leading substring at most n characters long (exclusive  of
-       the  trailing (chtype)0).  Constants defined in <curses.h>
-       can be used with the & (logical AND) operator  to  extract
-       the  character or the attribute alone from any position in
-       the chstr [see curs_inch(3x)].
-
-
-
-

RETURN VALUE

-       All routines return the integer ERR upon  failure  and  an
-       integer  value  other  than ERR upon successful completion
-       (the number of  characters  retrieved,  exclusive  of  the
-       trailing 0).
-
-       No  error  conditions are defined.  If the chstr parameter
-       is null, no data is returned, and the return value is  ze-
-       ro.
-
-
-
-

NOTES

-       Note  that  all  routines  except winchnstr may be macros.
-       SVr4 does not document whether the result string is 0-ter-
-       minated; it does not document whether a length limit argu-
-       ment includes any trailing 0; and it does not document the
-       meaning of the return value.
-
-
-
-

PORTABILITY

-       These  functions are described in the XSI Curses standard,
-       Issue 4.  It is no more specific than the SVr4  documenta-
-       tion on the trailing 0.  It does specify that the success-
-       ful return of the functions is OK.
-
-
-
-

SEE ALSO

-       curses(3x), curs_inch(3x).
-
-
-
-                                                       curs_inchstr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_initscr.3x.html b/src/libs/ncurses/doc/html/man/curs_initscr.3x.html deleted file mode 100644 index f5fd544174..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_initscr.3x.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - -curs_initscr 3x - - - - -

curs_initscr 3x

-
-
-
-curs_initscr(3x)                                       curs_initscr(3x)
-
-
-
-
-
-

NAME

-       initscr, newterm, endwin, isendwin, set_term, delscreen -
-       curses screen initialization and manipulation routines
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       WINDOW *initscr(void);
-       int endwin(void);
-       bool isendwin(void);
-       SCREEN *newterm(char *type, FILE *outfd, FILE *infd);
-       SCREEN *set_term(SCREEN *new);
-       void delscreen(SCREEN* sp);
-
-
-
-

DESCRIPTION

-       initscr is normally the first curses routine to call  when
-       initializing  a program.  A few special routines sometimes
-       need to be called before it; these are  slk_init,  filter,
-       ripoffline,  use_env.  For multiple-terminal applications,
-       newterm may be called before initscr.
-
-       The initscr code determines the terminal type and initial-
-       izes  all curses data structures.  initscr also causes the
-       first call to refresh to clear the screen.  If errors  oc-
-       cur,  initscr writes an appropriate error message to stan-
-       dard error and exits; otherwise, a pointer is returned  to
-       stdscr.
-
-       A  program  that  outputs to more than one terminal should
-       use the newterm  routine  for  each  terminal  instead  of
-       initscr.  A program that needs to inspect capabilities, so
-       it can continue to run in a line-oriented mode if the ter-
-       minal cannot support a screen-oriented program, would also
-       use newterm.  The routine newterm should  be  called  once
-       for each terminal.  It returns a variable of type SCREEN *
-       which should be saved as a  reference  to  that  terminal.
-       The  arguments  are the type of the terminal to be used in
-       place of $TERM, a file pointer for output to the terminal,
-       and  another  file pointer for input from the terminal (if
-       type is NULL, $TERM will be used).  The program must  also
-       call  endwin  for  each terminal being used before exiting
-       from curses.  If newterm is called more than once for  the
-       same  terminal, the first terminal referred to must be the
-       last one for which endwin is called.
-
-       A program should always call endwin before exiting or  es-
-       caping  from  curses  mode  temporarily.  This routine re-
-       stores tty modes, moves the cursor to the lower  left-hand
-       corner  of  the  screen  and  resets the terminal into the
-       proper non-visual mode.  Calling refresh or doupdate after
-       a  temporary  escape  causes  the program to resume visual
-       mode.
-
-       The isendwin routine  returns  TRUE  if  endwin  has  been
-       called without any subsequent calls to wrefresh, and FALSE
-       otherwise.
-
-       The set_term routine is used to switch  between  different
-       terminals.   The screen reference new becomes the new cur-
-       rent terminal.  The previous terminal is returned  by  the
-       routine.   This  is  the  only  routine  which manipulates
-       SCREEN pointers; all other routines affect only  the  cur-
-       rent terminal.
-
-       The  delscreen  routine  frees storage associated with the
-       SCREEN data structure.  The endwin  routine  does  not  do
-       this, so delscreen should be called after endwin if a par-
-       ticular SCREEN is no longer needed.
-
-
-
-

RETURN VALUE

-       endwin returns the integer ERR upon failure  and  OK  upon
-       successful completion.
-
-       Routines that return pointers always return NULL on error.
-
-       X/Open defines no error conditions.  In  this  implementa-
-       tion  endwin returns an error if the terminal was not ini-
-       tialized.
-
-
-
-

NOTES

-       Note that initscr and newterm may be macros.
-
-
-
-

PORTABILITY

-       These functions are described in the XSI Curses  standard,
-       Issue 4.  It specifies that portable applications must not
-       call initscr more than once.
-
-       Old versions of curses, e.g., BSD 4.4, may have returned a
-       null  pointer  from  initscr  when  an  error is detected,
-       rather than exiting.  It is safe but  redundant  to  check
-       the return value of initscr in XSI Curses.
-
-
-
-

SEE ALSO

-       curses(3x),       curs_kernel(3x),       curs_refresh(3x),
-       curs_slk(3x), curs_util(3x)
-
-
-
-                                                       curs_initscr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_inopts.3x.html b/src/libs/ncurses/doc/html/man/curs_inopts.3x.html deleted file mode 100644 index 7eec3eda04..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_inopts.3x.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - -curs_inopts 3x - - - - -

curs_inopts 3x

-
-
-
-curs_inopts(3x)                                         curs_inopts(3x)
-
-
-
-
-
-

NAME

-       cbreak, nocbreak, echo, noecho, halfdelay, intrflush,
-       keypad, meta, nodelay, notimeout, raw, noraw, noqiflush,
-       qiflush, timeout, wtimeout, typeahead - curses input
-       options
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int cbreak(void);
-       int nocbreak(void);
-       int echo(void);
-       int noecho(void);
-       int halfdelay(int tenths);
-       int intrflush(WINDOW *win, bool bf);
-       int keypad(WINDOW *win, bool bf);
-       int meta(WINDOW *win, bool bf);
-       int nodelay(WINDOW *win, bool bf);
-       int raw(void);
-       int noraw(void);
-       void noqiflush(void);
-       void qiflush(void);
-       int notimeout(WINDOW *win, bool bf);
-       void timeout(int delay);
-       void wtimeout(WINDOW *win, int delay);
-       int typeahead(int fd);
-
-
-
-

DESCRIPTION

-       Normally, the tty driver buffers typed characters until  a
-       newline  or  carriage return is typed.  The cbreak routine
-       disables line buffering and erase/kill  character-process-
-       ing  (interrupt  and flow control characters are unaffect-
-       ed), making  characters  typed  by  the  user  immediately
-       available  to  the  program.  The nocbreak routine returns
-       the terminal to normal (cooked) mode.
-
-       Initially the terminal may or may not be in  cbreak  mode,
-       as the mode is inherited; therefore, a program should call
-       cbreak or nocbreak explicitly.  Most interactive  programs
-       using  curses set the cbreak mode.  Note that cbreak over-
-       rides raw.  [See curs_getch(3x) for a  discussion  of  how
-       these routines interact with echo and noecho.]
-
-       The  echo  and  noecho routines control whether characters
-       typed by the user are echoed by getch as they  are  typed.
-       Echoing by the tty driver is always disabled, but initial-
-       ly getch is in echo mode, so characters typed are  echoed.
-       Authors  of  most  interactive programs prefer to do their
-       own echoing in a controlled area of the screen, or not  to
-       echo  at  all,  so they disable echoing by calling noecho.
-       [See curs_getch(3x) for a discussion of how these routines
-       interact with cbreak and nocbreak.]
-
-       The  halfdelay  routine is used for half-delay mode, which
-       is similar to cbreak mode in that characters typed by  the
-       user  are  immediately available to the program.  However,
-       after blocking for tenths tenths of seconds,  ERR  is  re-
-       turned  if  nothing  has  been typed.  The value of tenths
-       must be a number between 1 and 255.  Use nocbreak to leave
-       half-delay mode.
-
-       If  the intrflush option is enabled, (bf is TRUE), when an
-       interrupt key  is  pressed  on  the  keyboard  (interrupt,
-       break,  quit)  all  output in the tty driver queue will be
-       flushed, giving the effect of faster response to  the  in-
-       terrupt, but causing curses to have the wrong idea of what
-       is on the screen.  Disabling (bf  is  FALSE),  the  option
-       prevents  the flush.  The default for the option is inher-
-       ited from the tty driver settings.  The window argument is
-       ignored.
-
-       The  keypad option enables the keypad of the user's termi-
-       nal.  If enabled (bf is TRUE), the user can press a  func-
-       tion  key (such as an arrow key) and wgetch returns a sin-
-       gle value representing the function key, as  in  KEY_LEFT.
-       If  disabled (bf is FALSE), curses does not treat function
-       keys specially and the program has to interpret the escape
-       sequences  itself.   If  the keypad in the terminal can be
-       turned on (made to transmit) and off (made to work  local-
-       ly),  turning on this option causes the terminal keypad to
-       be turned on when wgetch is called.  The default value for
-       keypad is false.
-
-       Initially, whether the terminal returns 7 or 8 significant
-       bits on input depends on the control mode of the tty driv-
-       er  [see  termio(7)].  To force 8 bits to be returned, in-
-       voke meta(win, TRUE); this is equivalent, under POSIX,  to
-       setting  the CS8 flag on the terminal.  To force 7 bits to
-       be returned, invoke meta(win, FALSE); this is  equivalent,
-       under POSIX, to setting the CS7 flag on the terminal.  The
-       window argument, win, is always ignored.  If the  terminfo
-       capabilities  smm (meta_on) and rmm (meta_off) are defined
-       for the  terminal,  smm  is  sent  to  the  terminal  when
-       meta(win,  TRUE)  is called and rmm is sent when meta(win,
-       FALSE) is called.
-
-       The nodelay option causes getch to be a non-blocking call.
-       If  no input is ready, getch returns ERR.  If disabled (bf
-       is FALSE), getch waits until a key is pressed.
-
-       While interpreting an input escape sequence, wgetch sets a
-       timer  while  waiting  for the next character.  If notime-
-       out(win, TRUE) is called,  then  wgetch  does  not  set  a
-       timer.  The purpose of the timeout is to differentiate be-
-       tween sequences received from a  function  key  and  those
-       typed by a user.
-
-       The  raw and noraw routines place the terminal into or out
-       of raw mode.  Raw mode is similar to cbreak mode, in  that
-       characters typed are immediately passed through to the us-
-       er program.  The differences are that in raw mode, the in-
-       terrupt,  quit,  suspend,  and flow control characters are
-       all passed through uninterpreted, instead of generating  a
-       signal.   The  behavior  of the BREAK key depends on other
-       bits in the tty driver that are not set by curses.
-
-       When the noqiflush routine is used, normal flush of  input
-       and  output queues associated with the INTR, QUIT and SUSP
-       characters will not be done [see termio(7)].  When qiflush
-       is  called,  the queues will be flushed when these control
-       characters are read.  You may want to call noqiflush()  in
-       a  signal handler if you want output to continue as though
-       the interrupt had not occurred, after the handler exits.
-
-       The timeout and wtimeout routines  set  blocking  or  non-
-       blocking  read  for a given window.  If delay is negative,
-       blocking read is used (i.e., waits  indefinitely  for  in-
-       put).   If  delay  is zero, then non-blocking read is used
-       (i.e., read returns ERR if no input is waiting).  If delay
-       is  positive, then read blocks for delay milliseconds, and
-       returns ERR if there is still no input.  Hence, these rou-
-       tines  provide the same functionality as nodelay, plus the
-       additional capability of being able to block for only  de-
-       lay milliseconds (where delay is positive).
-
-       The  curses library does ``line-breakout optimization'' by
-       looking for  typeahead  periodically  while  updating  the
-       screen.   If  input is found, and it is coming from a tty,
-       the current update is postponed until refresh or  doupdate
-       is  called again.  This allows faster response to commands
-       typed in advance.  Normally, the input FILE pointer passed
-       to  newterm,  or  stdin in the case that initscr was used,
-       will be used to do this typeahead checking.  The typeahead
-       routine  specifies  that  the  file descriptor fd is to be
-       used to check for typeahead instead.  If fd is -1, then no
-       typeahead checking is done.
-
-
-
-

RETURN VALUE

-       All  routines that return an integer return ERR upon fail-
-       ure and OK (SVr4 specifies only "an  integer  value  other
-       than  ERR")  upon  successful completion, unless otherwise
-       noted in the preceding routine descriptions.
-
-       X/Open does not define any error conditions.  In this  im-
-       plementation,  functions  with a window parameter will re-
-       turn an error if it is null.  Any function will  also  re-
-       turn an error if the terminal was not initialized.  Also,
-
-              halfdelay
-                   returns  an  error if its parameter is outside
-                   the range 1..255.
-
-
-
-

PORTABILITY

-       These functions are described in the XSI Curses  standard,
-       Issue 4.
-
-       The  ncurses  library obeys the XPG4 standard and the his-
-       torical practice of the AT&T  curses  implementations,  in
-       that  the  echo bit is cleared when curses initializes the
-       terminal state.  BSD curses differed from  this  slightly;
-       it left the echo bit on at initialization, but the BSD raw
-       call turned it off as a side-effect.  For best  portabili-
-       ty,  set  echo or noecho explicitly just after initializa-
-       tion, even if your program remains in cooked mode.
-
-
-
-

NOTES

-       Note that echo, noecho, halfdelay, intrflush, meta,  node-
-       lay,  notimeout, noqiflush, qiflush, timeout, and wtimeout
-       may be macros.
-
-       The noraw and nocbreak calls follow historical practice in
-       that  they  attempt  to  restore to normal (`cooked') mode
-       from raw and cbreak modes respectively.  Mixing  raw/noraw
-       and  cbreak/nocbreak  calls  leads  to  tty driver control
-       states that are hard to predict or understand; it  is  not
-       recommended.
-
-
-
-

SEE ALSO

-       curses(3x), curs_getch(3x), curs_initscr(3x), termio(7)
-
-
-
-                                                        curs_inopts(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_ins_wch.3x.html b/src/libs/ncurses/doc/html/man/curs_ins_wch.3x.html deleted file mode 100644 index 9da6970f63..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_ins_wch.3x.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - -curs_ins_wch 3x - - - - -

curs_ins_wch 3x

-
-
-
-curs_ins_wch(3x)                                       curs_ins_wch(3x)
-
-
-
-
-
-

NAME

-       ins_wch,  mvins_wch,  mvwins_wch, wins_wch - insert a com-
-       plex character and rendition into a window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int ins_wch(const cchar_t *wch);
-       int wins_wch(WINDOW *win, const cchar_t *wch);
-       int mvins_wch(int y, int x, const cchar_t *wch);
-       int mvwins_wch(WINDOW *win, int y, int  x,  const  cchar_t
-       *wch);
-
-
-
-

DESCRIPTION

-       These routines, insert the complex character wch with ren-
-       dition before the character under the cursor.  All charac-
-       ters to the right of the cursor are moved one space to the
-       right, with the possibility of the rightmost character  on
-       the  line  being  lost.   The insertion operation does not
-       change the cursor position.
-
-
-
-

RETURN VALUE

-       If successful, these functions return OK.   If  not,  they
-       return ERR.
-
-
-
-

ERRORS

-       No errors are defined.
-
-
-
-

SEE ALSO

-       curses(3x), curs_insch(3x).
-
-
-
-                                                       curs_ins_wch(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_ins_wstr.3x.html b/src/libs/ncurses/doc/html/man/curs_ins_wstr.3x.html deleted file mode 100644 index 3d81870411..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_ins_wstr.3x.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - -curs_ins_wstr 3x - - - - -

curs_ins_wstr 3x

-
-
-
-curs_ins_wstr(3x)                                     curs_ins_wstr(3x)
-
-
-
-
-
-

NAME

-       ins_wstr, ins_nwstr, wins_wstr, wins_nwstr, mvins_wstr,
-       mvins_nwstr, mvwins_wstr, mvwins_nwstr - insert a wide-
-       character string into a curses window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int ins_wstr(const wchar_t *wstr);
-       int ins_nwstr(const wchar_t *wstr, int n);
-       int wins_wstr(WINDOW *win, const wchar_t *wstr);
-       int wins_nwstr(WINDOW *win, const wchar_t *wstr, int n);
-       int mvins_wstr(int y, int x, const wchar_t *wstr);
-       int mvins_nwstr(int y, int x, const wchar_t *wstr, int n);
-       int mvwins_wstr(WINDOW *win, int y, int x, const wchar_t *wstr);
-       int mvwins_nwstr(WINDOW *win, int y, int x, const wchar_t *wstr, int n);
-
-
-
-

DESCRIPTION

-       These  routines insert a wchar_t character string (as many
-       characters as will fit on the line) before  the  character
-       under the cursor.  All characters to the right of the cur-
-       sor are shifted right, with the possibility of the  right-
-       most  characters  on  the line being lost.  No wrapping is
-       performed.  The cursor position  does  not  change  (after
-       moving  to  y, x, if specified).  The four routines with n
-       as the last argument insert a leading substring of at most
-       n  wchar_t  characters.   If  n is less than 1, the entire
-       string is inserted.
-
-       If a character in wstr is a tab, newline, carriage  return
-       or backspace, the cursor is moved appropriately within the
-       window.  A newline also does  a  clrtoeol  before  moving.
-       Tabs  are  considered  to be at every eighth column.  If a
-       character in wstr is  another  control  character,  it  is
-       drawn  in the ^X notation.  Calling win_wch after adding a
-       control character (and moving to it,  if  necessary)  does
-       not  return  the  control character, but instead returns a
-       character in the ^-representation of the  control  charac-
-       ter.
-
-
-
-

NOTES

-       Note that all but wins_nwstr may be macros.
-
-       If the first character in the string is a nonspacing char-
-       acter, these functions will fail.   XSI  does  not  define
-       what  will happen if a nonspacing character follows a con-
-       trol character.
-
-
-
-

RETURN VALUES

-       Upon successful completion,  these  functions  return  OK.
-       Otherwise, they return ERR.
-
-
-
-

SEE ALSO

-       curses(3x),        curs_insstr(3x),       curs_in_wch(3x),
-       curs_ins_wch(3x).
-
-
-
-                                                      curs_ins_wstr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_insch.3x.html b/src/libs/ncurses/doc/html/man/curs_insch.3x.html deleted file mode 100644 index ed909f3149..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_insch.3x.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - -curs_insch 3x - - - - -

curs_insch 3x

-
-
-
-curs_insch(3x)                                           curs_insch(3x)
-
-
-
-
-
-

NAME

-       insch,  winsch,  mvinsch,  mvwinsch  -  insert a character
-       before cursor in a curses window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int insch(chtype ch);
-       int winsch(WINDOW *win, chtype ch);
-       int mvinsch(int y, int x, chtype ch);
-       int mvwinsch(WINDOW *win, int y, int x, chtype ch);
-
-
-
-

DESCRIPTION

-       These routines insert the character ch before the  charac-
-       ter  under the cursor.  All characters to the right of the
-       cursor are moved one space to the right, with  the  possi-
-       bility  of the rightmost character on the line being lost.
-       The insertion operation does not change the  cursor  posi-
-       tion.
-
-
-
-

RETURN VALUE

-       All  routines that return an integer return ERR upon fail-
-       ure and OK (SVr4 specifies only "an  integer  value  other
-       than  ERR")  upon  successful completion, unless otherwise
-       noted in the preceding routine descriptions.
-
-
-
-

NOTES

-       These routines do not necessarily imply use of a  hardware
-       insert character feature.
-
-       Note that insch, mvinsch, and mvwinsch may be macros.
-
-
-
-

PORTABILITY

-       These  functions are described in the XSI Curses standard,
-       Issue 4.
-
-
-
-

SEE ALSO

-       curses(3x).
-
-
-
-                                                         curs_insch(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_insstr.3x.html b/src/libs/ncurses/doc/html/man/curs_insstr.3x.html deleted file mode 100644 index 78d7743555..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_insstr.3x.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - -curs_insstr 3x - - - - -

curs_insstr 3x

-
-
-
-curs_insstr(3x)                                         curs_insstr(3x)
-
-
-
-
-
-

NAME

-       insstr,  insnstr,  winsstr, winsnstr, mvinsstr, mvinsnstr,
-       mvwinsstr, mvwinsnstr - insert string before cursor  in  a
-       curses window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-       int insstr(const char *str);
-       int insnstr(const char *str, int n);
-       int winsstr(WINDOW *win, const char *str);
-       int winsnstr(WINDOW *win, const char *str, int n);
-       int mvinsstr(int y, int x, const char *str);
-       int mvinsnstr(int y, int x, const char *str, int n);
-       int mvwinsstr(WINDOW *win, int y, int x, const char *str);
-       int mvwinsnstr(WINDOW *win, int y, int x, const char *str,
-       int n);
-
-
-
-

DESCRIPTION

-       These  routines insert a character string (as many charac-
-       ters as will fit on the line) before the  character  under
-       the cursor.  All characters to the right of the cursor are
-       shifted right with the possibility of the rightmost  char-
-       acters  on  the line being lost.  The cursor position does
-       not change (after moving to  y,  x,  if  specified).   The
-       functions  with  n  as  the last argument insert a leading
-       substring of at most n  characters.   If  n<=0,  then  the
-       entire string is inserted.
-
-       Special characters are handled as in addch.
-
-
-
-

RETURN VALUE

-       All  routines that return an integer return ERR upon fail-
-       ure and OK (SVr4 specifies only "an  integer  value  other
-       than  ERR")  upon  successful completion, unless otherwise
-       noted in the preceding routine descriptions.
-
-       X/Open defines no error conditions.  In  this  implementa-
-       tion, if the window parameter is null or the str parameter
-       is null, an error is returned.
-
-
-
-

NOTES

-       Note that all but winsnstr may be macros.
-
-
-
-

PORTABILITY

-       These functions are described in the XSI Curses  standard,
-       Issue 4, which adds const qualifiers to the arguments.
-
-       The  Single  Unix  Specification,  Version  2  states that
-       insnstr and winsnstr perform wrapping.  This  is  probably
-       an error, since it makes this group of functions inconsis-
-       tent.  Also, no implementation of  curses  documents  this
-       inconsistency.
-
-
-
-

SEE ALSO

-       curses(3x), unctrl(3x), curs_clear(3x), curs_inch(3x).
-
-
-
-                                                        curs_insstr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_instr.3x.html b/src/libs/ncurses/doc/html/man/curs_instr.3x.html deleted file mode 100644 index c0b34cecc9..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_instr.3x.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - -curs_instr 3x - - - - -

curs_instr 3x

-
-
-
-curs_instr(3x)                                           curs_instr(3x)
-
-
-
-
-
-

NAME

-       instr,  innstr, winstr, winnstr, mvinstr, mvinnstr, mvwin-
-       str, mvwinnstr - get a string of characters from a  curses
-       window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int instr(char *str);
-       int innstr(char *str, int n);
-       int winstr(WINDOW *win, char *str);
-       int winnstr(WINDOW *win, char *str, int n);
-       int mvinstr(int y, int x, char *str);
-       int mvinnstr(int y, int x, char *str, int n);
-       int mvwinstr(WINDOW *win, int y, int x, char *str);
-       int  mvwinnstr(WINDOW  *win,  int y, int x, char *str, int
-       n);
-
-
-
-

DESCRIPTION

-       These routines return  a  string  of  characters  in  str,
-       extracted  starting  at the current cursor position in the
-       named window.  Attributes are stripped  from  the  charac-
-       ters.   The  four  functions  with  n as the last argument
-       return a leading  substring  at  most  n  characters  long
-       (exclusive of the trailing NUL).
-
-
-
-

RETURN VALUE

-       All  of the functions return ERR upon failure, or the num-
-       ber of characters actually read into the string.
-
-       X/Open defines no error conditions.  In  this  implementa-
-       tion, if the window parameter is null or the str parameter
-       is null, a zero is returned.
-
-
-
-

NOTES

-       Note that all routines except winnstr may be macros.
-
-
-
-

PORTABILITY

-       SVr4 does not document whether a length limit includes  or
-       excludes the trailing NUL.
-
-       The  ncurses library extends the XSI description by allow-
-       ing a negative value for n.  In this case,  the  functions
-       return the string ending at the right margin.
-
-
-
-

SEE ALSO

-       curses(3x).
-
-
-
-
-                                                         curs_instr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_inwstr.3x.html b/src/libs/ncurses/doc/html/man/curs_inwstr.3x.html deleted file mode 100644 index 224c6d57cf..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_inwstr.3x.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - -curs_inwstr 3x - - - - -

curs_inwstr 3x

-
-
-
-curs_inwstr(3x)                                         curs_inwstr(3x)
-
-
-
-
-
-

NAME

-       inwstr,  innwstr,  winwstr, winnwstr, mvinwstr, mvinnwstr,
-       mvwinwstr, mvwinnwstr - get a string of wchar_t characters
-       from a curses window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int inwstr(wchar_t *str);
-       int innwstr(wchar_t *str, int n);
-       int winwstr(WINDOW *win, wchar_t *str);
-       int winnwstr(WINDOW *win, wchar_t *str, int n);
-       int mvinwstr(int y, int x, wchar_t *str);
-       int mvinnwstr(int y, int x, wchar_t *str, int n);
-       int mvwinwstr(WINDOW *win, int y, int x, wchar_t *str);
-       int mvwinnwstr(WINDOW *win, int y, int x, wchar_t *str, int n);
-
-
-
-

DESCRIPTION

-       These  routines  return  a string of wchar_t characters in
-       wstr, extracted starting at the current cursor position in
-       the  named window.  Attributes are stripped from the char-
-       acters.  The four functions with n as  the  last  argument
-       return a leading substring at most n bytes long (exclusive
-       of the trailing NUL).  Transfer stops at the  end  of  the
-       current  line,  or  when  n  bytes have been stored at the
-       location referenced by wstr.
-
-       If the size n is not large  enough  to  store  a  complete
-       character, an error is generated.
-
-
-
-

NOTES

-       Note that all routines except winnwstr may be macros.
-
-
-
-

RETURN VALUES

-       All routines return ERR upon failure. Upon successful com-
-       pletion, the *inwstr routines return OK, and the  *innwstr
-       routines  return  the  number  of characters read into the
-       string.
-
-
-
-

SEE ALSO

-       Functions: curses(3x), curs_instr(3x), curs_in_wchstr(3x)
-
-
-
-                                                        curs_inwstr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_kernel.3x.html b/src/libs/ncurses/doc/html/man/curs_kernel.3x.html deleted file mode 100644 index 11f41d3162..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_kernel.3x.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - -curs_kernel 3x - - - - -

curs_kernel 3x

-
-
-
-curs_kernel(3x)                                         curs_kernel(3x)
-
-
-
-
-
-

NAME

-       def_prog_mode, def_shell_mode, reset_prog_mode,
-       reset_shell_mode, resetty, savetty, getsyx, setsyx,
-       ripoffline, curs_set, napms - low-level curses routines
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int def_prog_mode(void);
-       int def_shell_mode(void);
-       int reset_prog_mode(void);
-       int reset_shell_mode(void);
-       int resetty(void);
-       int savetty(void);
-       void getsyx(int y, int x);
-       void setsyx(int y, int x);
-       int ripoffline(int line, int (*init)(WINDOW *, int));
-       int curs_set(int visibility);
-       int napms(int ms);
-
-
-
-

DESCRIPTION

-       The  following  routines  give low-level access to various
-       curses capabilities.  Theses routines typically  are  used
-       inside library routines.
-
-       The  def_prog_mode  and  def_shell_mode  routines save the
-       current terminal modes as the  "program"  (in  curses)  or
-       "shell"   (not  in  curses)  state  for  use  by  the  re-
-       set_prog_mode and reset_shell_mode routines.  This is done
-       automatically by initscr.  There is one such save area for
-       each screen context allocated by newterm().
-
-       The reset_prog_mode and reset_shell_mode routines  restore
-       the  terminal  to "program" (in curses) or "shell" (out of
-       curses) state.  These are  done  automatically  by  endwin
-       and,  after  an  endwin, by doupdate, so they normally are
-       not called.
-
-       The resetty and savetty  routines  save  and  restore  the
-       state  of  the  terminal modes.  savetty saves the current
-       state in a buffer and resetty restores the state  to  what
-       it was at the last call to savetty.
-
-       The  getsyx routine returns the current coordinates of the
-       virtual screen cursor in y and x.  If leaveok is currently
-       TRUE,  then -1,-1 is returned.  If lines have been removed
-       from the top of the screen, using ripoffline, y and x  in-
-       clude  these lines; therefore, y and x should be used only
-       as arguments for setsyx.
-
-       The setsyx routine sets the virtual screen cursor to y, x.
-       If y and x are both -1, then leaveok is set.  The two rou-
-       tines getsyx and setsyx are designed to be used by  a  li-
-       brary  routine,  which manipulates curses windows but does
-       not want to change the current position of  the  program's
-       cursor.   The library routine would call getsyx at the be-
-       ginning, do its manipulation of  its  own  windows,  do  a
-       wnoutrefresh  on  its  windows, call setsyx, and then call
-       doupdate.
-
-       The ripoffline routine provides access to the same facili-
-       ty  that  slk_init  [see  curs_slk(3x)] uses to reduce the
-       size of the screen.   ripoffline  must  be  called  before
-       initscr or newterm is called.  If line is positive, a line
-       is removed from the top of stdscr; if line is negative,  a
-       line is removed from the bottom.  When this is done inside
-       initscr, the routine init (supplied by the user) is called
-       with  two arguments: a window pointer to the one-line win-
-       dow that has been allocated and an integer with the number
-       of columns in the window.  Inside this initialization rou-
-       tine, the integer variables LINES  and  COLS  (defined  in
-       <curses.h>) are not guaranteed to be accurate and wrefresh
-       or doupdate must not be called.  It is allowable  to  call
-       wnoutrefresh during the initialization routine.
-
-       ripoffline  can  be called up to five times before calling
-       initscr or newterm.
-
-       The curs_set routine sets the cursor state is set  to  in-
-       visible,  normal,  or very visible for visibility equal to
-       0, 1, or 2 respectively.  If  the  terminal  supports  the
-       visibility  requested,  the  previous  cursor state is re-
-       turned; otherwise, ERR is returned.
-
-       The napms routine is used to sleep for ms milliseconds.
-
-
-
-

RETURN VALUE

-       Except for curs_set, these routines always return OK.
-
-       curs_set returns the previous cursor state, or ERR if  the
-       requested visibility is not supported.
-
-       X/Open  defines  no error conditions.  In this implementa-
-       tion
-
-              def_prog_mode, def_shell_mode, reset_prog_mode, re-
-              set_shell_mode
-                   return an error if the terminal was  not  ini-
-                   tialized,  or  if  the  I/O call to obtain the
-                   terminal settings fails.
-
-              ripoffline
-                   returns an error  if  the  maximum  number  of
-                   ripped-off  lines exceeds the maximum (NRIPS =
-                   5).
-
-
-
-

NOTES

-       Note that getsyx is a macro, so & is not necessary  before
-       the variables y and x.
-
-       Older  SVr4  man  pages  warn  that  the  return  value of
-       curs_set "is currently  incorrect".   This  implementation
-       gets  it  right, but it may be unwise to count on the cor-
-       rectness of the return value anywhere else.
-
-       Both ncurses and SVr4 will  call  curs_set  in  endwin  if
-       curs_set  has  been  called  to make the cursor other than
-       normal, i.e., either invisible or very visible.  There  is
-       no  way  for ncurses to determine the initial cursor state
-       to restore that.
-
-
-
-

PORTABILITY

-       The functions setsyx and getsyx are not described  in  the
-       XSI  Curses standard, Issue 4.  All other functions are as
-       described in XSI Curses.
-
-       The SVr4 documentation describes setsyx and getsyx as hav-
-       ing  return  type  int.  This  is  misleading, as they are
-       macros with no documented semantics for the return  value.
-
-
-
-

SEE ALSO

-       curses(3x),  curs_initscr(3x),  curs_outopts(3x), curs_re-
-       fresh(3x), curs_scr_dump(3x), curs_slk(3x)
-
-
-
-                                                        curs_kernel(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_mouse.3x.html b/src/libs/ncurses/doc/html/man/curs_mouse.3x.html deleted file mode 100644 index 522c1a7c47..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_mouse.3x.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - -curs_mouse 3x - - - - -

curs_mouse 3x

-
-
-
-curs_mouse(3x)                                           curs_mouse(3x)
-
-
-
-
-
-

NAME

-       getmouse, ungetmouse, mousemask, wenclose, mouse_trafo,
-       wmouse_trafo, mouseinterval - mouse interface through
-       curses
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       typedef unsigned long mmask_t;
-
-       typedef struct
-       {
-           short id;         /* ID to distinguish multiple devices */
-           int x, y, z;      /* event coordinates */
-           mmask_t bstate;   /* button state bits */
-       }
-       MEVENT;
-       int getmouse(MEVENT *event);
-       int ungetmouse(MEVENT *event);
-       mmask_t mousemask(mmask_t newmask, mmask_t *oldmask);
-       bool wenclose(const WINDOW *win, int y, int x);
-       bool mouse_trafo(int* pY, int* pX, bool to_screen);
-       bool wmouse_trafo(const WINDOW* win, int* pY, int* pX,
-            bool to_screen);
-       int mouseinterval(int erval);
-
-
-
-

DESCRIPTION

-       These  functions provide an interface to mouse events from
-       ncurses(3x).  Mouse events are  represented  by  KEY_MOUSE
-       pseudo-key values in the wgetch input stream.
-
-       To  make mouse events visible, use the mousemask function.
-       This will set the mouse events to  be  reported.   By  de-
-       fault,  no  mouse  events are reported.  The function will
-       return a mask to indicate which  of  the  specified  mouse
-       events  can be reported; on complete failure it returns 0.
-       If oldmask is non-NULL, this function fills the  indicated
-       location  with  the  previous  value of the given window's
-       mouse event mask.
-
-       As a side effect, setting a zero mousemask  may  turn  off
-       the  mouse pointer; setting a nonzero mask may turn it on.
-       Whether this happens is device-dependent.
-
-       Here are the mouse event type masks which may be defined:
-
-
-       Name                     Description
-       ---------------------------------------------------------------------
-       BUTTON1_PRESSED          mouse button 1 down
-       BUTTON1_RELEASED         mouse button 1 up
-       BUTTON1_CLICKED          mouse button 1 clicked
-       BUTTON1_DOUBLE_CLICKED   mouse button 1 double clicked
-       BUTTON1_TRIPLE_CLICKED   mouse button 1 triple clicked
-       ---------------------------------------------------------------------
-       BUTTON2_PRESSED          mouse button 2 down
-       BUTTON2_RELEASED         mouse button 2 up
-       BUTTON2_CLICKED          mouse button 2 clicked
-       BUTTON2_DOUBLE_CLICKED   mouse button 2 double clicked
-       BUTTON2_TRIPLE_CLICKED   mouse button 2 triple clicked
-       ---------------------------------------------------------------------
-
-       BUTTON3_PRESSED          mouse button 3 down
-       BUTTON3_RELEASED         mouse button 3 up
-       BUTTON3_CLICKED          mouse button 3 clicked
-       BUTTON3_DOUBLE_CLICKED   mouse button 3 double clicked
-       BUTTON3_TRIPLE_CLICKED   mouse button 3 triple clicked
-       ---------------------------------------------------------------------
-       BUTTON4_PRESSED          mouse button 4 down
-       BUTTON4_RELEASED         mouse button 4 up
-       BUTTON4_CLICKED          mouse button 4 clicked
-       BUTTON4_DOUBLE_CLICKED   mouse button 4 double clicked
-       BUTTON4_TRIPLE_CLICKED   mouse button 4 triple clicked
-       ---------------------------------------------------------------------
-       BUTTON5_PRESSED          mouse button 5 down
-       BUTTON5_RELEASED         mouse button 5 up
-       BUTTON5_CLICKED          mouse button 5 clicked
-       BUTTON5_DOUBLE_CLICKED   mouse button 5 double clicked
-       BUTTON5_TRIPLE_CLICKED   mouse button 5 triple clicked
-       ---------------------------------------------------------------------
-       BUTTON_SHIFT             shift was down during button state change
-       BUTTON_CTRL              control was down during button state change
-       BUTTON_ALT               alt was down during button state change
-       ALL_MOUSE_EVENTS         report all button state changes
-       REPORT_MOUSE_POSITION    report mouse movement
-       ---------------------------------------------------------------------
-
-       Once a class of mouse events have been made visible  in  a
-       window, calling the wgetch function on that window may re-
-       turn KEY_MOUSE as an indicator that a mouse event has been
-       queued.   To read the event data and pop the event off the
-       queue, call getmouse.  This function will return OK  if  a
-       mouse  event  is actually visible in the given window, ERR
-       otherwise.  When getmouse returns OK, the  data  deposited
-       as  y  and  x  in  the event structure coordinates will be
-       screen-relative character-cell coordinates.  The  returned
-       state  mask  will have exactly one bit set to indicate the
-       event type.
-
-       The ungetmouse function behaves  analogously  to  ungetch.
-       It  pushes a KEY_MOUSE event onto the input queue, and as-
-       sociates with that event the given state data and  screen-
-       relative character-cell coordinates.
-
-       The  wenclose  function  tests  whether  a  given  pair of
-       screen-relative character-cell coordinates is enclosed  by
-       a  given  window, returning TRUE if it is and FALSE other-
-       wise.  It is useful for determining  what  subset  of  the
-       screen windows enclose the location of a mouse event.
-
-       The wmouse_trafo function transforms a given pair of coor-
-       dinates from stdscr-relative coordinates  to  screen-rela-
-       tive  coordinates  or  vice  versa.  Please remember, that
-       stdscr-relative coordinates are not  always  identical  to
-       screen-relative  coordinates  due  to the mechanism to re-
-       serve lines on top or bottom of the screen for other  pur-
-       poses  (ripoff()  call,  see also slk_...  functions).  If
-       the parameter to_screen is TRUE, the pointers pY, pX  must
-       reference  the coordinates of a location inside the window
-       win.  They are converted  to  screen-relative  coordinates
-       and  returned through the pointers.  If the conversion was
-       successful, the function returns TRUE.  If one of the  pa-
-       rameters  was  NULL or the location is not inside the win-
-       dow, FALSE is returned.  If to_screen is FALSE, the point-
-       ers  pY,  pX  must  reference screen-relative coordinates.
-       They are converted to stdscr-relative coordinates  if  the
-       window win encloses this point.  In this case the function
-       returns TRUE.  If one of the parameters  is  NULL  or  the
-       point is not inside the window, FALSE is returned.  Please
-       notice, that the referenced coordinates are only  replaced
-       by  the  converted  coordinates  if the transformation was
-       successful.
-
-       The mouseinterval function sets the maximum time (in thou-
-       sands  of  a second) that can elapse between press and re-
-       lease events for them to be recognized as  a  click.   Use
-       mouseinterval(0)  to disable click resolution.  This func-
-       tion returns the previous interval value.  Use mouseinter-
-       val(-1)  to  obtain the interval without altering it.  The
-       default is one sixth of a second.
-
-       Note that mouse events will be ignored when  input  is  in
-       cooked mode, and will cause an error beep when cooked mode
-       is being simulated in a window by a function such as  get-
-       str that expects a linefeed for input-loop termination.
-
-
-
-

RETURN VALUE

-       getmouse  and ungetmouse return the integer ERR upon fail-
-       ure or OK upon successful completion.
-
-              getmouse
-                   returns an error.  If no mouse driver was ini-
-                   tialized, or if the mask parameter is zero,
-
-              ungetmouse
-                   returns an error if the FIFO is full.
-
-       mousemask returns the mask of reportable events.
-
-       mouseinterval  returns the previous interval value, unless
-       the terminal was not initialized.  In that  case,  it  re-
-       turns the maximum interval value (166).
-
-       wenclose  and wmouse_trafo are boolean functions returning
-       TRUE or FALSE depending on their test result.
-
-
-
-

PORTABILITY

-       These calls were designed for  ncurses(3x),  and  are  not
-       found in SVr4 curses, 4.4BSD curses, or any other previous
-       version of curses.
-
-       The feature macro NCURSES_MOUSE_VERSION is provided so the
-       preprocessor  can  be  used to test whether these features
-       are present.  If the interface is changed,  the  value  of
-       NCURSES_MOUSE_VERSION  will  be incremented.  These values
-       for NCURSES_MOUSE_VERSION may be specified when  configur-
-       ing ncurses:
-
-              1  has  definitions  for reserved events.  The mask
-                 uses 28 bits.
-
-              2  adds definitions for button 5, removes the defi-
-                 nitions  for  reserved events.  The mask uses 29
-                 bits.
-
-       The order of the MEVENT structure members is  not  guaran-
-       teed.   Additional fields may be added to the structure in
-       the future.
-
-       Under ncurses(3x), these calls are implemented  using  ei-
-       ther  xterm's built-in mouse-tracking API or platform-spe-
-       cific drivers including
-              Alessandro Rubini's gpm server.
-              FreeBSD sysmouse
-              OS/2 EMX
-       If you  are  using  an  unsupported  configuration,  mouse
-       events will not be visible to ncurses(3x) (and the wmouse-
-       mask function will always return 0).
-
-       If the terminfo entry contains a XM string, this  is  used
-       in  the xterm mouse driver to control the way the terminal
-       is initialized for mouse operation.  The default, if XM is
-       not found, corresponds to private mode 1000 of xterm:
-              \E[?1000%?%p1%{1}%=%th%el%;
-       The z member in the event structure is not presently used.
-       It is intended for use with touch screens  (which  may  be
-       pressure-sensitive)   or   with   3D-mice/trackballs/power
-       gloves.
-
-
-
-

BUGS

-       Mouse events under xterm will not in fact be ignored  dur-
-       ing  cooked mode, if they have been enabled by wmousemask.
-       Instead, the xterm mouse report sequence  will  appear  in
-       the string read.
-
-       Mouse events under xterm will not be detected correctly in
-       a window with its keypad bit off, since  they  are  inter-
-       preted  as  a  variety of function key.  Your terminfo de-
-       scription must have kmous set to "\E[M" (the beginning  of
-       the response from xterm for mouse clicks).
-
-       Because  there  are  no  standard  terminal responses that
-       would serve to identify terminals which support the  xterm
-       mouse  protocol,  ncurses assumes that if your $TERM envi-
-       ronment variable contains "xterm", or kmous is defined  in
-       the terminal description, then the terminal may send mouse
-       events.
-
-
-
-

SEE ALSO

-       curses(3x).
-
-
-
-                                                         curs_mouse(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_move.3x.html b/src/libs/ncurses/doc/html/man/curs_move.3x.html deleted file mode 100644 index 3aeeb4a709..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_move.3x.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - -curs_move 3x - - - - -

curs_move 3x

-
-
-
-curs_move(3x)                                             curs_move(3x)
-
-
-
-
-
-

NAME

-       move, wmove - move curses window cursor
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int move(int y, int x);
-       int wmove(WINDOW *win, int y, int x);
-
-
-
-

DESCRIPTION

-       These  routines move the cursor associated with the window
-       to line y and column x.  This routine does  not  move  the
-       physical  cursor  of the terminal until refresh is called.
-       The position specified is relative to the upper  left-hand
-       corner of the window, which is (0,0).
-
-
-
-

RETURN VALUE

-       These routines return ERR upon failure and OK (SVr4 speci-
-       fies only "an integer value other than ERR") upon success-
-       ful completion.
-
-       Specifically,  they  return an error if the window pointer
-       is null, or if the position is outside the window.
-
-
-
-

NOTES

-       Note that move may be a macro.
-
-
-
-

PORTABILITY

-       These functions are described in the XSI Curses  standard,
-       Issue 4.
-
-
-
-

SEE ALSO

-       curses(3x), curs_refresh(3x)
-
-
-
-                                                          curs_move(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_outopts.3x.html b/src/libs/ncurses/doc/html/man/curs_outopts.3x.html deleted file mode 100644 index 1ff83a9437..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_outopts.3x.html +++ /dev/null @@ -1,233 +0,0 @@ - - - - -curs_outopts 3x - - - - -

curs_outopts 3x

-
-
-
-curs_outopts(3x)                                       curs_outopts(3x)
-
-
-
-
-
-

NAME

-       clearok, idlok, idcok, immedok, leaveok, setscrreg,
-       wsetscrreg, scrollok, nl, nonl - curses output options
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int clearok(WINDOW *win, bool bf);
-       int idlok(WINDOW *win, bool bf);
-       void idcok(WINDOW *win, bool bf);
-       void immedok(WINDOW *win, bool bf);
-       int leaveok(WINDOW *win, bool bf);
-       int setscrreg(int top, int bot);
-       int wsetscrreg(WINDOW *win, int top, int bot);
-       int scrollok(WINDOW *win, bool bf);
-       int nl(void);
-       int nonl(void);
-
-
-
-

DESCRIPTION

-       These routines set options that change the style of output
-       within  curses.   All  options are initially FALSE, unless
-       otherwise stated.  It is not necessary to turn  these  op-
-       tions off before calling endwin.
-
-       If  clearok is called with TRUE as argument, the next call
-       to wrefresh with this window will clear  the  screen  com-
-       pletely  and  redraw the entire screen from scratch.  This
-       is useful when the contents of the screen  are  uncertain,
-       or  in  some  cases for a more pleasing visual effect.  If
-       the win argument to clearok is the global variable curscr,
-       the  next  call  to  wrefresh  with  any window causes the
-       screen to be cleared and repainted from scratch.
-
-       If idlok is called with TRUE as  second  argument,  curses
-       considers using the hardware insert/delete line feature of
-       terminals so equipped.  Calling idlok with FALSE as second
-       argument  disables  use  of  line  insertion and deletion.
-       This option should be  enabled  only  if  the  application
-       needs  insert/delete  line, for example, for a screen edi-
-       tor.  It is disabled by default because insert/delete line
-       tends  to  be  visually annoying when used in applications
-       where it isn't really needed.  If insert/delete line  can-
-       not  be  used,  curses redraws the changed portions of all
-       lines.
-
-       If idcok is called with FALSE as second  argument,  curses
-       no longer considers using the hardware insert/delete char-
-       acter feature of terminals so equipped.  Use of  character
-       insert/delete  is  enabled by default.  Calling idcok with
-       TRUE as second argument re-enables use of character inser-
-       tion and deletion.
-
-       If  immedok is called with TRUE as argument, any change in
-       the window image, such as the ones caused by waddch, wclr-
-       tobot,  wscrl,  etc.,  automatically  cause a call to wre-
-       fresh.  However, it may degrade performance  considerably,
-       due  to repeated calls to wrefresh.  It is disabled by de-
-       fault.
-
-       Normally, the hardware cursor is left at the  location  of
-       the window cursor being refreshed.  The leaveok option al-
-       lows the cursor to be left wherever the update happens  to
-       leave  it.  It is useful for applications where the cursor
-       is not used, since it reduces the need for cursor motions.
-
-       The  setscrreg  and wsetscrreg routines allow the applica-
-       tion programmer to set a software scrolling  region  in  a
-       window.   top  and bot are the line numbers of the top and
-       bottom margin of the scrolling region.  (Line 0 is the top
-       line  of the window.)  If this option and scrollok are en-
-       abled, an attempt to move off the bottom margin line caus-
-       es all lines in the scrolling region to scroll one line in
-       the direction of the first line.  Only  the  text  of  the
-       window  is  scrolled.   (Note  that this has nothing to do
-       with the use of a physical scrolling region capability  in
-       the terminal, like that in the VT100.  If idlok is enabled
-       and the terminal has either  a  scrolling  region  or  in-
-       sert/delete line capability, they will probably be used by
-       the output routines.)
-
-       The scrollok option controls what happens when the  cursor
-       of  a  window  is  moved  off  the  edge  of the window or
-       scrolling region, either as a result of a  newline  action
-       on  the  bottom  line, or typing the last character of the
-       last line.  If disabled, (bf is FALSE), the cursor is left
-       on  the bottom line.  If enabled, (bf is TRUE), the window
-       is scrolled up one line (Note that  to  get  the  physical
-       scrolling  effect on the terminal, it is also necessary to
-       call idlok).
-
-       The nl and nonl routines control  whether  the  underlying
-       display  device  translates the return key into newline on
-       input, and whether it translates newline into  return  and
-       line-feed  on output (in either case, the call addch('\n')
-       does the equivalent of return and line feed on the virtual
-       screen).   Initially, these translations do occur.  If you
-       disable them using nonl, curses will be able to make  bet-
-       ter  use  of the line-feed capability, resulting in faster
-       cursor motion.  Also, curses will then be able  to  detect
-       the return key.
-
-
-
-

RETURN VALUE

-       The functions setscrreg and wsetscrreg return OK upon suc-
-       cess and ERR upon failure.  All other routines that return
-       an integer always return OK.
-
-       X/Open does not define any error conditions.
-
-       In this implementation, those functions that have a window
-       pointer will return an error  if  the  window  pointer  is
-       null.
-
-              wclrtoeol
-                   returns  an  error  if  the cursor position is
-                   about to wrap.
-
-              wsetscrreg
-                   returns an error if the scrolling region  lim-
-                   its extend outside the window.
-
-       X/Open  does not define any error conditions.  This imple-
-       mentation returns an error if the window pointer is  null.
-
-
-
-

PORTABILITY

-       These  functions are described in the XSI Curses standard,
-       Issue 4.
-
-       The XSI Curses standard is ambiguous on  the  question  of
-       whether  raw()  should  disable the CRLF translations con-
-       trolled by nl() and nonl().  BSD curses did turn off these
-       translations;  AT&T  curses (at least as late as SVr1) did
-       not.  We choose to do so, on the theory that a  programmer
-       requesting  raw  input wants a clean (ideally 8-bit clean)
-       connection that the operating system will not alter.
-
-       Some historic curses implementations had,  as  an  undocu-
-       mented  feature,  the  ability  to  do  the  equivalent of
-       clearok(..., 1) by saying touchwin(stdscr)  or  clear(std-
-       scr).  This will not work under ncurses.
-
-       Earlier  System  V  curses  implementations specified that
-       with scrollok enabled, any window modification  triggering
-       a  scroll also forced a physical refresh.  XSI Curses does
-       not require this, and ncurses avoids doing it  to  perform
-       better vertical-motion optimization at wrefresh time.
-
-       The  XSI  Curses standard does not mention that the cursor
-       should be made invisible  as  a  side-effect  of  leaveok.
-       SVr4  curses  documentation  does  this, but the code does
-       not.  Use curs_set to make the cursor invisible.
-
-
-
-

NOTES

-       Note that clearok, leaveok, scrollok, idcok, nl, nonl  and
-       setscrreg may be macros.
-
-       The immedok routine is useful for windows that are used as
-       terminal emulators.
-
-
-
-

SEE ALSO

-       curses(3x),        curs_addch(3x),         curs_clear(3x),
-       curs_initscr(3x), curs_scroll(3x), curs_refresh(3x)
-
-
-
-                                                       curs_outopts(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_overlay.3x.html b/src/libs/ncurses/doc/html/man/curs_overlay.3x.html deleted file mode 100644 index 6b77631bda..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_overlay.3x.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - -curs_overlay 3x - - - - -

curs_overlay 3x

-
-
-
-curs_overlay(3x)                                       curs_overlay(3x)
-
-
-
-
-
-

NAME

-       overlay, overwrite, copywin - overlay and manipulate
-       overlapped curses windows
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int overlay(const WINDOW *srcwin, WINDOW *dstwin);
-       int overwrite(const WINDOW *srcwin, WINDOW *dstwin);
-       int copywin(const  WINDOW  *srcwin,  WINDOW  *dstwin,  int
-       sminrow,
-             int smincol, int dminrow, int dmincol, int dmaxrow,
-             int dmaxcol, int overlay);
-
-
-
-

DESCRIPTION

-       The  overlay  and overwrite routines overlay srcwin on top
-       of dstwin.  scrwin and dstwin are not required to  be  the
-       same  size;  only  text  where  the two windows overlap is
-       copied.  The difference is that overlay is non-destructive
-       (blanks  are not copied) whereas overwrite is destructive.
-
-       The copywin routine provides a finer granularity  of  con-
-       trol over the overlay and overwrite routines.  Like in the
-       prefresh routine, a rectangle is specified in the destina-
-       tion  window,  (dminrow,  dmincol) and (dmaxrow, dmaxcol),
-       and the upper-left-corner coordinates of the  source  win-
-       dow, (sminrow, smincol).  If the argument overlay is true,
-       then copying is non-destructive, as in overlay.
-
-
-
-

RETURN VALUE

-       Routines that return an integer return ERR  upon  failure,
-       and  OK  (SVr4 only specifies "an integer value other than
-       ERR") upon successful completion.
-
-       X/Open defines no error conditions.  In  this  implementa-
-       tion,  copywin,  overlay  and overwrite return an error if
-       either of the window pointers are null, or if some part of
-       the window would be placed off-screen.
-
-
-
-

NOTES

-       Note that overlay and overwrite may be macros.
-
-
-
-

PORTABILITY

-       The XSI Curses standard, Issue 4 describes these functions
-       (adding the const qualifiers).  It further specifies their
-       behavior in the presence of characters with multibyte ren-
-       ditions (not yet supported in this implementation).
-
-
-
-

SEE ALSO

-       curses(3x), curs_pad(3x), curs_refresh(3x)
-
-
-
-                                                       curs_overlay(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_pad.3x.html b/src/libs/ncurses/doc/html/man/curs_pad.3x.html deleted file mode 100644 index e4971813ba..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_pad.3x.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - -curs_pad 3x - - - - -

curs_pad 3x

-
-
-
-curs_pad(3x)                                               curs_pad(3x)
-
-
-
-
-
-

NAME

-       newpad, subpad, prefresh, pnoutrefresh, pechochar,
-       pecho_wchar - create and display curses pads
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       WINDOW *newpad(int nlines, int ncols);
-       WINDOW *subpad(WINDOW *orig, int nlines, int ncols,
-             int begin_y, int begin_x);
-       int prefresh(WINDOW *pad, int pminrow, int pmincol,
-             int sminrow, int smincol, int smaxrow, int smaxcol);
-       int pnoutrefresh(WINDOW *pad, int pminrow, int pmincol,
-             int sminrow, int smincol, int smaxrow, int smaxcol);
-       int pechochar(WINDOW *pad, chtype ch);
-       int pecho_wchar(WINDOW *pad, const cchar_t *wch);
-
-
-
-

DESCRIPTION

-       The newpad routine creates and returns a pointer to a  new
-       pad data structure with the given number of lines, nlines,
-       and columns, ncols.  A pad is like a window,  except  that
-       it is not restricted by the screen size, and is not neces-
-       sarily associated with a particular part  of  the  screen.
-       Pads can be used when a large window is needed, and only a
-       part of the window will be on the screen at one time.  Au-
-       tomatic refreshes of pads (e.g., from scrolling or echoing
-       of input) do not occur.  It is not legal to call  wrefresh
-       with  a  pad  as  an  argument;  the  routines prefresh or
-       pnoutrefresh should be called instead.   Note  that  these
-       routines require additional parameters to specify the part
-       of the pad to be displayed and the location on the  screen
-       to be used for the display.
-
-       The subpad routine creates and returns a pointer to a sub-
-       window within a  pad  with  the  given  number  of  lines,
-       nlines,  and  columns,  ncols.   Unlike subwin, which uses
-       screen coordinates, the window is  at  position  (begin_x,
-       begin_y)  on the pad.  The window is made in the middle of
-       the window orig, so that changes made to one window affect
-       both windows.  During the use of this routine, it will of-
-       ten be necessary to call touchwin or touchline on orig be-
-       fore calling prefresh.
-
-       The  prefresh  and  pnoutrefresh routines are analogous to
-       wrefresh and wnoutrefresh except that they relate to  pads
-       instead  of windows.  The additional parameters are needed
-       to indicate what part of the pad and screen are  involved.
-       pminrow  and pmincol specify the upper left-hand corner of
-       the rectangle to be displayed in the pad.  sminrow,  smin-
-       col, smaxrow, and smaxcol specify the edges of the rectan-
-       gle to be displayed on the screen.  The  lower  right-hand
-       corner of the rectangle to be displayed in the pad is cal-
-       culated from the screen coordinates, since the  rectangles
-       must  be  the same size.  Both rectangles must be entirely
-       contained within their  respective  structures.   Negative
-       values of pminrow, pmincol, sminrow, or smincol are treat-
-       ed as if they were zero.
-
-       The pechochar routine is functionally equivalent to a call
-       to  addch  followed by a call to refresh, a call to waddch
-       followed by a call to wrefresh, or a call to  waddch  fol-
-       lowed  by  a  call to prefresh.  The knowledge that only a
-       single character is being output is taken into  considera-
-       tion  and, for non-control characters, a considerable per-
-       formance gain might be seen by using  these  routines  in-
-       stead of their equivalents.  In the case of pechochar, the
-       last location of the pad on the screen is reused  for  the
-       arguments to prefresh.
-
-       The  pecho_wchar  function is the analogous wide-character
-       form of pechochar.  It outputs one character to a pad  and
-       immediately  refreshes the pad.  It does this by a call to
-       wadd_wch followed by a call to prefresh.
-
-
-
-

RETURN VALUE

-       Routines that return an integer return  ERR  upon  failure
-       and  OK  (SVr4 only specifies "an integer value other than
-       ERR") upon successful completion.
-
-       Routines that return pointers return NULL  on  error,  and
-       set errno to ENOMEM.
-
-       X/Open  does not define any error conditions.  In this im-
-       plementation
-
-              prefresh and pnoutrefresh
-                   return an error if the window pointer is null,
-                   or if the window is not really a pad or if the
-                   area to refresh extends off-screen or  if  the
-                   minimum coordinates are greater than the maxi-
-                   mum.
-
-              pechochar
-                   returns an error if the window is not really a
-                   pad,  and the associated call to wechochar re-
-                   turns an error.
-
-              pecho_wchar
-                   returns an error if the window is not really a
-                   pad,  and  the  associated call to wecho_wchar
-                   returns an error.
-
-
-
-

NOTES

-       Note that pechochar may be a macro.
-
-
-
-

PORTABILITY

-       The XSI Curses standard, Issue  4  describes  these  func-
-       tions.
-
-
-
-

SEE ALSO

-       curses(3x),  curs_refresh(3x),  curs_touch(3x),  curs_add-
-       ch(3x).
-
-
-
-                                                           curs_pad(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_print.3x.html b/src/libs/ncurses/doc/html/man/curs_print.3x.html deleted file mode 100644 index 4261dbe378..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_print.3x.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - -curs_print 3x - - - - -

curs_print 3x

-
-
-
-curs_print(3x)                                           curs_print(3x)
-
-
-
-
-
-

NAME

-       mcprint - ship binary data to printer
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int mcprint(char *data, int len);
-
-
-
-

DESCRIPTION

-       This  function  uses the mc5p or mc4 and mc5 capabilities,
-       if they are present, to  ship  given  data  to  a  printer
-       attached to the terminal.
-
-       Note  that  the mcprint code has no way to do flow control
-       with the printer or to know how  much  buffering  it  has.
-       Your  application  is  responsible for keeping the rate of
-       writes to the printer below its continuous throughput rate
-       (typically  about  half  of its nominal cps rating).  Dot-
-       matrix printers and 6-page-per-minute lasers can typically
-       handle  80cps,  so a good conservative rule of thumb is to
-       sleep for a second after shipping each 80-character  line.
-
-
-
-
-

RETURN VALUE

-       The  mcprint  function  returns ERR if the write operation
-       aborted for some reason.  In this case, errno will contain
-       either  an  error  associated  with write(2) or one of the
-       following:
-
-       ENODEV
-            Capabilities for printer redirection do not exist.
-
-       ENOMEM
-            Couldn't allocate sufficient  memory  to  buffer  the
-            printer write.
-
-            When mcprint succeeds, it returns the number of char-
-            acters actually sent to the printer.
-
-
-
-

PORTABILITY

-       The mcprint call was designed for ncurses(3x), and is  not
-       found in SVr4 curses, 4.4BSD curses, or any other previous
-       version of curses.
-
-
-
-

BUGS

-       Padding in the mc5p, mc4 and mc5 capabilities will not  be
-       interpreted.
-
-
-
-

SEE ALSO

-       curses(3x)
-
-
-
-                                                         curs_print(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_printw.3x.html b/src/libs/ncurses/doc/html/man/curs_printw.3x.html deleted file mode 100644 index d9fe3600cc..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_printw.3x.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - -curs_printw 3x - - - - -

curs_printw 3x

-
-
-
-curs_printw(3x)                                         curs_printw(3x)
-
-
-
-
-
-

NAME

-       printw, wprintw, mvprintw, mvwprintw, vwprintw, vw_printw
-       - print formatted output in curses windows
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int printw(const char *fmt, ...);
-       int wprintw(WINDOW *win, const char *fmt, ...);
-       int mvprintw(int y, int x, const char *fmt, ...);
-       int mvwprintw(WINDOW *win, int y, int x, const char  *fmt,
-       ...);
-       int  vwprintw(WINDOW  *win,  const char *fmt, va_list var-
-       glist);
-       int vw_printw(WINDOW *win, const char *fmt,  va_list  var-
-       glist);
-
-
-
-

DESCRIPTION

-       The  printw,  wprintw, mvprintw and mvwprintw routines are
-       analogous to printf  [see  printf(3S)].   In  effect,  the
-       string that would be output by printf is output instead as
-       though waddstr were used on the given window.
-
-       The vwprintw  and  wv_printw  routines  are  analogous  to
-       vprintf  [see  printf(3S)]  and  perform a wprintw using a
-       variable argument list.  The third argument is a  va_list,
-       a   pointer   to  a  list  of  arguments,  as  defined  in
-       <stdarg.h>.
-
-
-
-

RETURN VALUE

-       Routines that return an integer return  ERR  upon  failure
-       and  OK  (SVr4 only specifies "an integer value other than
-       ERR") upon successful completion.
-
-       X/Open defines no error conditions.  In  this  implementa-
-       tion,  an  error  may  be  returned  if it cannot allocate
-       enough memory for the buffer used to format  the  results.
-       It will return an error if the window pointer is null.
-
-
-
-

PORTABILITY

-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.  The function vwprintw is marked TO  BE  WITHDRAWN,
-       and  is  to  be replaced by a function vw_printw using the
-       <stdarg.h> interface.  The Single Unix Specification, Ver-
-       sion  2  states  that  vw_printw  is preferred to vwprintw
-       since the latter  requires  including  <varargs.h>,  which
-       cannot  be  used in the same file as <stdarg.h>.  This im-
-       plementation uses <stdarg.h> for both, because that header
-       is included in <curses.h>.
-
-
-
-

SEE ALSO

-       curses(3x), printf(3S), vprintf(3S)
-
-
-
-                                                        curs_printw(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_refresh.3x.html b/src/libs/ncurses/doc/html/man/curs_refresh.3x.html deleted file mode 100644 index e169d954bf..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_refresh.3x.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - -curs_refresh 3x - - - - -

curs_refresh 3x

-
-
-
-curs_refresh(3x)                                       curs_refresh(3x)
-
-
-
-
-
-

NAME

-       doupdate, redrawwin, refresh, wnoutrefresh, wredrawln,
-       wrefresh - refresh curses windows and lines
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int refresh(void);
-       int wrefresh(WINDOW *win);
-       int wnoutrefresh(WINDOW *win);
-       int doupdate(void);
-       int redrawwin(WINDOW *win);
-       int wredrawln(WINDOW *win, int beg_line, int num_lines);
-
-
-
-

DESCRIPTION

-       The refresh and wrefresh  routines  (or  wnoutrefresh  and
-       doupdate)  must be called to get actual output to the ter-
-       minal, as other routines  merely  manipulate  data  struc-
-       tures.   The  routine  wrefresh copies the named window to
-       the physical terminal screen, taking into account what  is
-       already there to do optimizations.  The refresh routine is
-       the same, using stdscr  as  the  default  window.   Unless
-       leaveok  has been enabled, the physical cursor of the ter-
-       minal is left at the location of the cursor for that  win-
-       dow.
-
-       The  wnoutrefresh and doupdate routines allow multiple up-
-       dates with more efficiency than wrefresh alone.  In  addi-
-       tion  to  all the window structures, curses keeps two data
-       structures representing the terminal  screen:  a  physical
-       screen,  describing  what is actually on the screen, and a
-       virtual screen, describing what the  programmer  wants  to
-       have on the screen.
-
-       The  routine wrefresh works by first calling wnoutrefresh,
-       which copies the named window to the virtual  screen,  and
-       then  calling  doupdate, which compares the virtual screen
-       to the physical screen and does the actual update.  If the
-       programmer wishes to output several windows at once, a se-
-       ries of calls to wrefresh results in alternating calls  to
-       wnoutrefresh  and doupdate, causing several bursts of out-
-       put to the screen.  By first calling wnoutrefresh for each
-       window, it is then possible to call doupdate once, result-
-       ing in only one burst of output, with fewer total  charac-
-       ters transmitted and less CPU time used.  If the win argu-
-       ment to wrefresh is the global variable curscr, the screen
-       is immediately cleared and repainted from scratch.
-
-       The phrase "copies the named window to the virtual screen"
-       above is ambiguous.  What actually  happens  is  that  all
-       touched  (changed)  lines  in the window are copied to the
-       virtual screen.  This affects programs that  use  overlap-
-       ping  windows;  it  means that if two windows overlap, you
-       can refresh them in either order and  the  overlap  region
-       will be modified only when it is explicitly changed.  (But
-       see the section on PORTABILITY below for a  warning  about
-       exploiting this behavior.)
-
-       The wredrawln routine indicates to curses that some screen
-       lines are corrupted and should be thrown away before  any-
-       thing  is  written  over  them.   It touches the indicated
-       lines (marking them  changed).   The  routine  redrawwin()
-       touches the entire window.
-
-
-
-

RETURN VALUE

-       Routines  that  return an integer return ERR upon failure,
-       and OK (SVr4 only specifies "an integer value  other  than
-       ERR") upon successful completion.
-
-       X/Open  does not define any error conditions.  In this im-
-       plementation
-
-              wnoutrefresh
-                   returns an error  if  the  window  pointer  is
-                   null, or if the window is really a pad.
-
-              wredrawln
-                   returns  an  error  if  the associated call to
-                   touchln returns an error.
-
-
-
-

NOTES

-       Note that refresh and redrawwin may be macros.
-
-
-
-

PORTABILITY

-       The XSI Curses standard, Issue  4  describes  these  func-
-       tions.
-
-       Whether  wnoutrefresh()  copies  to the virtual screen the
-       entire contents of a window or just its  changed  portions
-       has never been well-documented in historic curses versions
-       (including SVr4).  It might be unwise to  rely  on  either
-       behavior  in  programs  that  might have to be linked with
-       other curses implementations.  Instead, you can do an  ex-
-       plicit  touchwin() before the wnoutrefresh() call to guar-
-       antee an entire-contents copy anywhere.
-
-
-
-

SEE ALSO

-       curses(3x), curs_outopts(3x)
-
-
-
-                                                       curs_refresh(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_scanw.3x.html b/src/libs/ncurses/doc/html/man/curs_scanw.3x.html deleted file mode 100644 index a832d73df4..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_scanw.3x.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - -curs_scanw 3x - - - - -

curs_scanw 3x

-
-
-
-curs_scanw(3x)                                           curs_scanw(3x)
-
-
-
-
-
-

NAME

-       scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw - con-
-       vert formatted input from a curses window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int scanw(char *fmt, ...);
-       int wscanw(WINDOW *win, char *fmt, ...);
-       int mvscanw(int y, int x, char *fmt, ...);
-       int mvwscanw(WINDOW *win, int y, int x, char *fmt, ...);
-       int vw_scanw(WINDOW *win, char *fmt, va_list varglist);
-       int vwscanw(WINDOW *win, char *fmt, va_list varglist);
-
-
-
-

DESCRIPTION

-       The scanw, wscanw and mvscanw routines  are  analogous  to
-       scanf [see scanf(3S)].  The effect of these routines is as
-       though wgetstr were called on the window, and the  result-
-       ing line used as input for sscanf(3).  Fields which do not
-       map to a variable in the fmt field are lost.
-
-       The vwscanw and vw_scanw routines are analogous to vscanf.
-       They perform a wscanw using a variable argument list.  The
-       third argument is a va_list, a pointer to a list of  argu-
-       ments, as defined in <stdarg.h>.
-
-
-
-

RETURN VALUE

-       vwscanw returns ERR on failure and an integer equal to the
-       number of fields scanned on success.
-
-       Applications may use the  return  value  from  the  scanw,
-       wscanw,  mvscanw  and  mvwscanw  routines to determine the
-       number of fields which were mapped in the call.
-
-
-
-

PORTABILITY

-       The XSI Curses standard, Issue  4  describes  these  func-
-       tions.   The  function  vwscanw is marked TO BE WITHDRAWN,
-       and is to be replaced by a  function  vw_scanw  using  the
-       <stdarg.h> interface.  The Single Unix Specification, Ver-
-       sion 2 states that vw_scanw  is preferred to vwscanw since
-       the latter requires including <varargs.h>, which cannot be
-       used in the same file as <stdarg.h>.  This  implementation
-       uses  <stdarg.h> for both, because that header is included
-       in <curses.h>.
-
-       Both XSI and The  Single  Unix  Specification,  Version  2
-       state  that  these  functions return ERR or OK.  Since the
-       underlying scanf can return the number of  items  scanned,
-       and the SVr4 code was documented to use this feature, this
-       is probably an editing error which was introduced in  XSI,
-       rather  than  being done intentionally.  Portable applica-
-       tions should only test if the return value is  ERR,  since
-       the  OK value (zero) is likely to be misleading.  One pos-
-       sible way to get useful results would be  to  use  a  "%n"
-       conversion  at the end of the format string to ensure that
-       something was processed.
-
-
-
-

SEE ALSO

-       curses(3x), curs_getstr(3x), curs_printw(3x), scanf(3S)
-
-
-
-                                                         curs_scanw(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_scr_dump.3x.html b/src/libs/ncurses/doc/html/man/curs_scr_dump.3x.html deleted file mode 100644 index 8be145e859..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_scr_dump.3x.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - -curs_scr_dump 3x - - - - -

curs_scr_dump 3x

-
-
-
-curs_scr_dump(3x)                                     curs_scr_dump(3x)
-
-
-
-
-
-

NAME

-       scr_dump, scr_restore, scr_init, scr_set - read (write) a
-       curses screen from (to) a file
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int scr_dump(const char *filename);
-       int scr_restore(const char *filename);
-       int scr_init(const char *filename);
-       int scr_set(const char *filename);
-
-
-
-

DESCRIPTION

-       The scr_dump routine dumps the  current  contents  of  the
-       virtual screen to the file filename.
-
-       The  scr_restore  routine  sets  the virtual screen to the
-       contents of filename, which must have been  written  using
-       scr_dump.   The  next call to doupdate restores the screen
-       to the way it looked in the dump file.
-
-       The scr_init routine reads in the contents of filename and
-       uses  them  to initialize the curses data structures about
-       what the terminal currently has on its screen.  If the da-
-       ta is determined to be valid, curses bases its next update
-       of the screen on this information rather than clearing the
-       screen  and starting from scratch.  scr_init is used after
-       initscr or a system call to share the screen with  another
-       process  which  has done a scr_dump after its endwin call.
-       The data is declared invalid if the terminfo  capabilities
-       rmcup and nrrmc exist; also if the terminal has been writ-
-       ten to since the preceding scr_dump call.
-
-       The scr_set routine is a combination  of  scr_restore  and
-       scr_init.   It  tells  the program that the information in
-       filename is what is currently on the screen, and also what
-       the  program  wants on the screen.  This can be thought of
-       as a screen inheritance function.
-
-       To read (write) a window from (to) a file, use the  getwin
-       and putwin routines [see curs_util(3x)].
-
-
-
-

RETURN VALUE

-       All  routines  return  the integer ERR upon failure and OK
-       upon success.
-
-       X/Open defines no error conditions.  In  this  implementa-
-       tion,  each  will  return  an  error if the file cannot be
-       opened.
-
-
-
-

NOTES

-       Note  that  scr_init,  scr_set,  and  scr_restore  may  be
-       macros.
-
-
-
-

PORTABILITY

-       The  XSI  Curses  standard, Issue 4, describes these func-
-       tions (adding the const qualifiers).
-
-       The SVr4 docs merely say under scr_init that the dump data
-       is  also  considered invalid "if the time-stamp of the tty
-       is old" but do not define "old".
-
-
-
-

SEE ALSO

-       curses(3x),      curs_initscr(3x),       curs_refresh(3x),
-       curs_util(3x), system(3S)
-
-
-
-                                                      curs_scr_dump(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_scroll.3x.html b/src/libs/ncurses/doc/html/man/curs_scroll.3x.html deleted file mode 100644 index 375205d99a..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_scroll.3x.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - -curs_scroll 3x - - - - -

curs_scroll 3x

-
-
-
-curs_scroll(3x)                                         curs_scroll(3x)
-
-
-
-
-
-

NAME

-       scroll, scrl, wscrl - scroll a curses window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int scroll(WINDOW *win);
-       int scrl(int n);
-       int wscrl(WINDOW *win, int n);
-
-
-
-

DESCRIPTION

-       The  scroll  routine scrolls the window up one line.  This
-       involves moving the lines in the  window  data  structure.
-       As  an optimization, if the scrolling region of the window
-       is the entire screen, the physical screen may be  scrolled
-       at the same time.
-
-       For  positive  n,  the  scrl and wscrl routines scroll the
-       window up n lines (line i+n becomes i);  otherwise  scroll
-       the  window  down n lines.  This involves moving the lines
-       in the window character image structure.  The current cur-
-       sor position is not changed.
-
-       For these functions to work, scrolling must be enabled via
-       scrollok.
-
-
-
-

RETURN VALUE

-       These routines return ERR upon failure, and OK (SVr4  only
-       specifies "an integer value other than ERR") upon success-
-       ful completion.
-
-       X/Open defines no error conditions.
-
-       This implementation returns an error if the window pointer
-       is  null,  or  if  scrolling is not enabled in the window,
-       e.g., with scrollok.
-
-
-
-

NOTES

-       Note that scrl and scroll may be macros.
-
-       The SVr4 documentation says that the optimization of phys-
-       ically  scrolling  immediately if the scroll region is the
-       entire screen "is"  performed,  not  "may  be"  performed.
-       This  implementation  deliberately does not guarantee that
-       this will occur, to leave open the possibility of  smarter
-       optimization  of  multiple  scroll actions on the next up-
-       date.
-
-       Neither the SVr4 nor the XSI documentation specify whether
-       the current attribute or current color-pair of blanks gen-
-       erated by the scroll function is zeroed.  Under  this  im-
-       plementation it is.
-
-
-
-

PORTABILITY

-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.
-
-
-
-

SEE ALSO

-       curses(3x), curs_outopts(3x)
-
-
-
-                                                        curs_scroll(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_slk.3x.html b/src/libs/ncurses/doc/html/man/curs_slk.3x.html deleted file mode 100644 index d2f0d98c9f..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_slk.3x.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - -curs_slk 3x - - - - -

curs_slk 3x

-
-
-
-curs_slk(3x)                                               curs_slk(3x)
-
-
-
-
-
-

NAME

-       slk_init, slk_set, slk_refresh, slk_noutrefresh,
-       slk_label, slk_clear, slk_restore, slk_touch, slk_attron,
-       slk_attrset, slk_attroff, slk_attr_on, slk_attr_set,
-       slk_attr_off, slk_attr, slk_color - curses soft label
-       routines
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int slk_init(int fmt);
-       int slk_set(int labnum, const char *label, int fmt);
-       int slk_refresh(void);
-       int slk_noutrefresh(void);
-       char *slk_label(int labnum);
-       int slk_clear(void);
-       int slk_restore(void);
-       int slk_touch(void);
-       int slk_attron(const chtype attrs);
-       int slk_attroff(const chtype attrs);
-       int slk_attrset(const chtype attrs);
-       int slk_attr_on(attr_t attrs, void* opts);
-       int slk_attr_off(const attr_t attrs, void * opts);
-       int slk_attr_set(const attr_t attrs,
-            short color_pair_number, void* opts);
-       attr_t slk_attr(void);
-       int slk_color(short color_pair_number);
-
-
-
-

DESCRIPTION

-       The slk* functions manipulate the set of soft function-key
-       labels that exist on many terminals.  For those  terminals
-       that do not have soft labels, curses takes over the bottom
-       line of stdscr, reducing the size of stdscr and the  vari-
-       able  LINES.  curses standardizes on eight labels of up to
-       eight characters each. In addition to  this,  the  ncurses
-       implementation  supports  a mode where it simulates 12 la-
-       bels of up to five characters each. This  is  most  common
-       for  todays  PC  like  enduser  devices.  Please note that
-       ncurses simulates this mode by taking over up to two lines
-       at  the  bottom  of  the screen, it doesn't try to use any
-       hardware support for this mode.
-
-       The slk_init routine must  be  called  before  initscr  or
-       newterm is called.  If initscr eventually uses a line from
-       stdscr to emulate the soft labels, then fmt determines how
-       the  labels  are arranged on the screen.  Setting fmt to 0
-       indicates a 3-2-3 arrangement of the labels, 1 indicates a
-       4-4 arrangement and 2 indicates the PC like 4-4-4 mode. If
-       fmt is set to 3, it is again the PC like 4-4-4  mode,  but
-       in  addition  an index line is generated, helping the user
-       to identify the key numbers easily.
-
-       The slk_set routine requires labnum to be a label  number,
-       from 1 to 8 (resp. 12); label must be the string to be put
-       on the label, up  to  eight  (resp.  five)  characters  in
-       length.   A  null string or a null pointer sets up a blank
-       label. fmt is either 0, 1, or 2,  indicating  whether  the
-       label  is  to be left-justified, centered, or right-justi-
-       fied, respectively, within the label.
-
-       The slk_refresh and slk_noutrefresh routines correspond to
-       the wrefresh and wnoutrefresh routines.
-
-       The  slk_label routine returns the current label for label
-       number labnum, with leading and trailing blanks  stripped.
-
-       The  slk_clear  routine  clears  the  soft labels from the
-       screen.
-
-       The slk_restore routine restores the soft  labels  to  the
-       screen after a slk_clear has been performed.
-
-       The  slk_touch  routine  forces  all the soft labels to be
-       output the next time a slk_noutrefresh is performed.
-
-       The slk_attron, slk_attrset, slk_attroff and slk_attr rou-
-       tines correspond to attron, attrset, attroff and attr_get.
-       They have an effect only if soft labels are  simulated  on
-       the  bottom line of the screen.  The default highlight for
-       soft keys is A_STANDOUT (as in System V curses, which does
-       not document this fact).
-
-       The  slk_color routine corresponds to color_set. It has an
-       effect only if soft labels are  simulated  on  the  bottom
-       line of the screen.
-
-
-
-
-

RETURN VALUE

-       These routines return ERR upon failure and OK (SVr4 speci-
-       fies only "an integer value other than ERR") upon success-
-       ful completion.
-
-       X/Open  defines  no error conditions.  In this implementa-
-       tion
-
-              slk_attr
-                   returns the attribute used for the soft  keys.
-
-              slk_attroff, slk_attron, slk_clear,
-              slk_noutrefresh, slk_refresh, slk_touch
-                   return  an  error if the terminal or the soft-
-                   keys were not initialized.
-
-              slk_attrset
-                   returns an error if the terminal or the  soft-
-                   keys were not initialized.
-
-              slk_attr_set
-                   returns  an error if the terminal or the soft-
-                   keys were not initialized, or the  color  pair
-                   is outside the range 0..COLOR_PAIRS-1, or opts
-                   is not null.
-
-              slk_color
-                   returns an error if the terminal or the  soft-
-                   keys  were  not initialized, or the color pair
-                   is outside the range 0..COLOR_PAIRS-1.
-
-              slk_init
-                   returns an error if the  format  parameter  is
-                   outside the range 0..3.
-
-              slk_label
-                   returns NULL on error.
-
-              slk_set
-                   returns  an error if the terminal or the soft-
-                   keys were not initialized, or the  labnum  pa-
-                   rameter  is outside the range of label counts,
-                   or if the  format  parameter  is  outside  the
-                   range 0..2, or if memory for the labels cannot
-                   be allocated.
-
-
-
-

NOTES

-       Most applications would use slk_noutrefresh because a wre-
-       fresh is likely to follow soon.
-
-
-
-

PORTABILITY

-       The  XSI  Curses  standard, Issue 4, describes these func-
-       tions.  It changes the argument type of the  attribute-ma-
-       nipulation  functions slk_attron, slk_attroff, slk_attrset
-       to be attr_t, and adds const qualifiers. The format  codes
-       2  and 3 for slk_init() and the function slk_attr are spe-
-       cific to ncurses.
-
-
-
-

SEE ALSO

-       curses(3x),  curs_attr(3x),   curs_initscr(3x),   curs_re-
-       fresh(3x)
-
-
-
-                                                           curs_slk(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_termattrs.3x.html b/src/libs/ncurses/doc/html/man/curs_termattrs.3x.html deleted file mode 100644 index 9b9cdae96f..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_termattrs.3x.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - -curs_termattrs 3x - - - - -

curs_termattrs 3x

-
-
-
-curs_termattrs(3x)                                   curs_termattrs(3x)
-
-
-
-
-
-

NAME

-       baudrate, erasechar, erasewchar, has_ic, has_il, killchar,
-       killwchar, longname,  term_attrs,  termattrs,  termname  -
-       curses environment query routines
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int baudrate(void);
-       char erasechar(void);
-       int erasewchar(wchar_t *ch);
-       bool has_ic(void);
-       bool has_il(void);
-       char killchar(void);
-       int killwchar(wchar_t *ch);
-       char *longname(void);
-       attr_t term_attrs(void);
-       chtype termattrs(void);
-       char *termname(void);
-
-
-
-

DESCRIPTION

-       The  baudrate routine returns the output speed of the ter-
-       minal.  The number returned is in  bits  per  second,  for
-       example 9600, and is an integer.
-
-       The  erasechar  routine  returns  the user's current erase
-       character.
-
-       The erasewchar routine stores the current erase  character
-       in  the  location referenced by ch.  If no erase character
-       has been defined, the routine fails and the location  ref-
-       erenced by ch is not changed.
-
-       The has_ic routine is true if the terminal has insert- and
-       delete- character capabilities.
-
-       The has_il routine is true if the terminal has insert- and
-       delete-line  capabilities,  or  can  simulate  them  using
-       scrolling regions.  This might be used to determine if  it
-       would  be  appropriate to turn on physical scrolling using
-       scrollok.
-
-       The killchar routine returns the user's current line  kill
-       character.
-
-       The killwchar routine stores the current line-kill charac-
-       ter in the location referenced by  ch.   If  no  line-kill
-       character  has  been  defined,  the  routine fails and the
-       location referenced by ch is not changed.
-
-       The longname routine returns a pointer to  a  static  area
-       containing  a verbose description of the current terminal.
-       The maximum length of a verbose description is 128 charac-
-       ters.   It  is  defined  only after the call to initscr or
-       newterm.  The area is overwritten by each call to  newterm
-       and  is  not  restored by set_term, so the value should be
-       saved between calls to newterm if longname is going to  be
-       used with multiple terminals.
-
-       If a given terminal doesn't support a video attribute that
-       an application program is trying to use, curses  may  sub-
-       stitute a different video attribute for it.  The termattrs
-       and term_attrs functions return a logical OR of all  video
-       attributes supported by the terminal using A_ and WA_ con-
-       stants respectively.  This information is  useful  when  a
-       curses  program needs complete control over the appearance
-       of the screen.
-
-       The termname routine returns the  terminal  name  used  by
-       setupterm.
-
-
-
-

RETURN VALUE

-       longname and termname return NULL on error.
-
-       Routines  that  return  an integer return ERR upon failure
-       and OK (SVr4 only specifies "an integer value  other  than
-       ERR") upon successful completion.
-
-
-
-

NOTES

-       Note that termattrs may be a macro.
-
-
-
-

PORTABILITY

-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.  It changes the return type of termattrs to the new
-       type  attr_t.  Most versions of curses truncate the result
-       returned by termname to 14 characters.
-
-
-
-

SEE ALSO

-       curses(3x), curs_initscr(3x), curs_outopts(3x)
-
-
-
-                                                     curs_termattrs(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_termcap.3x.html b/src/libs/ncurses/doc/html/man/curs_termcap.3x.html deleted file mode 100644 index 9a168994c2..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_termcap.3x.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - -curs_termcap 3x - - - - -

curs_termcap 3x

-
-
-
-curs_termcap(3x)                                       curs_termcap(3x)
-
-
-
-
-
-

NAME

-       tgetent, tgetflag, tgetnum, tgetstr, tgoto, tputs - direct
-       curses interface to the terminfo capability database
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-       #include <term.h>
-       extern char PC; extern char * UP; extern char * BC; extern
-       short ospeed;
-       int tgetent(char *bp, const char *name);
-       int tgetflag(char *id);
-       int tgetnum(char *id);
-       char *tgetstr(char *id, char **area);
-       char *tgoto(const char *cap, int col, int row);
-       int tputs(const char *str, int affcnt, int (*putc)(int));
-
-
-
-

DESCRIPTION

-       These  routines  are included as a conversion aid for pro-
-       grams that use the termcap library.  Their parameters  are
-       the  same and the routines are emulated using the terminfo
-       database.  Thus, they can only be used to query the  capa-
-       bilities  of  entries  for which a terminfo entry has been
-       compiled.
-
-       The tgetent routine loads the entry for name.  It  returns
-       1  on  success, 0 if there is no such entry, and -1 if the
-       terminfo database  could  not  be  found.   The  emulation
-       ignores the buffer pointer bp.
-
-       The  tgetflag  routine  gets  the boolean entry for id, or
-       zero if it is not available.
-
-       The tgetnum routine gets the numeric entry for id,  or  -1
-       if it is not available.
-
-       The  tgetstr  routine  returns the string entry for id, or
-       zero if it is not available.   Use  tputs  to  output  the
-       returned  string.  The return value will also be copied to
-       the buffer pointed to by area, and the area value will  be
-       updated to point past the null ending this value.
-
-       Only the first two characters of the id parameter of tget-
-       flag, tgetnum and tgetstr are compared in lookups.
-
-       The tgoto routine instantiates  the  parameters  into  the
-       given  capability.   The output from this routine is to be
-       passed to tputs.
-
-       The tputs routine is described  on  the  curs_terminfo(3x)
-       manual page.  It can retrieve capabilities by either term-
-       cap or terminfo name.
-
-       The variables PC, UP and BC are set by tgetent to the ter-
-       minfo   entry's   data   for   pad_char,   cursor_up   and
-       backspace_if_not_bs, respectively.   UP  is  not  used  by
-       ncurses.  PC is used in the tdelay_output function.  BC is
-       used in the tgoto emulation.  The variable ospeed  is  set
-       by ncurses in a system-specific coding to reflect the ter-
-       minal speed.
-
-
-
-
-

RETURN VALUE

-       Except where explicitly noted,  routines  that  return  an
-       integer   return  ERR  upon  failure  and  OK  (SVr4  only
-       specifies "an integer value other than ERR") upon success-
-       ful completion.
-
-       Routines that return pointers return NULL on error.
-
-
-
-

BUGS

-       If you call tgetstr to fetch ca or any other parameterized
-       string, be aware that it  will  be  returned  in  terminfo
-       notation,  not  the older and not-quite-compatible termcap
-       notation.  This won't cause problems if all you do with it
-       is  call  tgoto or tparm, which both expand terminfo-style
-       strings as terminfo.  (The tgoto function,  if  configured
-       to  support  termcap,  will  check if the string is indeed
-       terminfo-style by looking for "%p" parameters  or  "$<..>"
-       delays,  and  invoke  a termcap-style parser if the string
-       does not appear to be terminfo).
-
-       Because terminfo conventions for representing  padding  in
-       string  capabilities  differ  from termcap's, tputs("50");
-       will put out a literal "50" rather than  busy-waiting  for
-       50 milliseconds.  Cope with it.
-
-       Note  that termcap has nothing analogous to terminfo's sgr
-       string.  One consequence of this is that termcap  applica-
-       tions  assume me (terminfo sgr0) does not reset the alter-
-       nate character set.  This implementation checks  for,  and
-       modifies the data shown to the termcap interface to accom-
-       modate termcap's limitation in this respect.
-
-
-
-

PORTABILITY

-       The XSI Curses standard, Issue  4  describes  these  func-
-       tions.   However,  they are marked TO BE WITHDRAWN and may
-       be removed in future versions.
-
-       Neither the XSI Curses standard nor  the  SVr4  man  pages
-       documented  the return values of tgetent correctly, though
-       all three were in fact returned ever since SVr1.  In  par-
-       ticular,  an  omission in the XSI Curses documentation has
-       been misinterpreted to mean that  tgetent  returns  OK  or
-       ERR.  Because the purpose of these functions is to provide
-       compatibility with the termcap library, that is  a  defect
-       in XCurses, Issue 4, Version 2 rather than in ncurses.
-
-       External  variables  are  provided  for support of certain
-       termcap applications.  However, termcap applications'  use
-       of those variables is poorly documented, e.g., not distin-
-       guishing between input and output.   In  particular,  some
-       applications are reported to declare and/or modify ospeed.
-
-
-
-

SEE ALSO

-       curses(3x), terminfo(5), putc(3S).
-
-
-
-                                                       curs_termcap(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_terminfo.3x.html b/src/libs/ncurses/doc/html/man/curs_terminfo.3x.html deleted file mode 100644 index 14361b3298..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_terminfo.3x.html +++ /dev/null @@ -1,325 +0,0 @@ - - - - -curs_terminfo 3x - - - - -

curs_terminfo 3x

-
-
-
-curs_terminfo(3x)                                     curs_terminfo(3x)
-
-
-
-
-
-

NAME

-       del_curterm, mvcur, putp, restartterm, set_curterm,
-       setterm, setupterm, tigetflag, tigetnum, tigetstr, tparm,
-       tputs, vid_attr, vid_puts, vidattr, vidputs - curses
-       interfaces to terminfo database
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-       #include <term.h>
-
-       int setupterm(char *term, int fildes, int *errret);
-       int setterm(char *term);
-       TERMINAL *set_curterm(TERMINAL *nterm);
-       int del_curterm(TERMINAL *oterm);
-       int restartterm(const char *term, int fildes, int *errret);
-       char *tparm(char *str, ...);
-       int tputs(const char *str, int affcnt, int (*putc)(int));
-       int putp(const char *str);
-       int vidputs(chtype attrs, int (*putc)(int));
-       int vidattr(chtype attrs);
-       int vid_puts(attr_t attrs, short pair, void *opts, int (*putc)(char));
-       int vid_attr(attr_t attrs, short pair, void *opts);
-       int mvcur(int oldrow, int oldcol, int newrow, int newcol);
-       int tigetflag(char *capname);
-       int tigetnum(char *capname);
-       char *tigetstr(char *capname);
-
-
-
-

DESCRIPTION

-       These low-level routines must be called by  programs  that
-       have to deal directly with the terminfo database to handle
-       certain terminal capabilities, such as  programming  func-
-       tion  keys.   For all other functionality, curses routines
-       are more suitable and their use is recommended.
-
-       Initially, setupterm should  be  called.   Note  that  se-
-       tupterm  is  automatically  called by initscr and newterm.
-       This  defines  the  set  of  terminal-dependent  variables
-       [listed in terminfo(5)].  The terminfo variables lines and
-       columns  are  initialized  by  setupterm  as  follows:  If
-       use_env(FALSE)  has  been  called,  values  for  lines and
-       columns specified in terminfo are used.  Otherwise, if the
-       environment  variables LINES and COLUMNS exist, their val-
-       ues are used.  If these environment variables do not exist
-       and the program is running in a window, the current window
-       size is used.  Otherwise, if the environment variables  do
-       not  exist,  the values for lines and columns specified in
-       the terminfo database are used.
-
-       The header files curses.h and term.h  should  be  included
-       (in  this order) to get the definitions for these strings,
-       numbers,  and  flags.   Parameterized  strings  should  be
-       passed  through  tparm  to instantiate them.  All terminfo
-       strings [including the output of tparm] should be  printed
-       with  tputs or putp.  Call the reset_shell_mode to restore
-       the tty modes before exiting [see curs_kernel(3x)].   Pro-
-       grams  which  use  cursor  addressing  should  output  en-
-       ter_ca_mode upon startup and  should  output  exit_ca_mode
-       before  exiting.   Programs  desiring shell escapes should
-       call
-
-       reset_shell_mode and output exit_ca_mode before the  shell
-       is  called  and  should  output enter_ca_mode and call re-
-       set_prog_mode after returning from the shell.
-
-       The setupterm routine reads in the terminfo database, ini-
-       tializing the terminfo structures, but does not set up the
-       output virtualization structures used by curses.  The ter-
-       minal  type is the character string term; if term is null,
-       the environment variable TERM is used.  All output  is  to
-       file  descriptor  fildes  which is initialized for output.
-       If errret is not null, then setupterm returns  OK  or  ERR
-       and stores a status value in the integer pointed to by er-
-       rret.  A return value of OK combined with status of  1  in
-       errret is normal.  If ERR is returned, examine errret:
-
-              1    means that the terminal is hardcopy, cannot be
-                   used for curses applications.
-
-              0    means that the terminal could not be found, or
-                   that  it  is a generic type, having too little
-                   information for curses applications to run.
-
-              -1   means that the terminfo database could not  be
-                   found.
-
-       If  errret is null, setupterm prints an error message upon
-       finding an error and exits.  Thus, the simplest call is:
-
-             setupterm((char *)0, 1, (int *)0);,
-
-       which uses all the defaults and sends the output  to  std-
-       out.
-
-       The  setterm  routine is being replaced by setupterm.  The
-       call:
-
-             setupterm(term, 1, (int *)0)
-
-       provides the same  functionality  as  setterm(term).   The
-       setterm  routine  is  included here for BSD compatibility,
-       and is not recommended for new programs.
-
-       The set_curterm routine  sets  the  variable  cur_term  to
-       nterm, and makes all of the terminfo boolean, numeric, and
-       string variables use the values from  nterm.   It  returns
-       the old value of cur_term.
-
-       The  del_curterm  routine  frees  the  space pointed to by
-       oterm and makes it available for further use.  If oterm is
-       the  same  as  cur_term, references to any of the terminfo
-       boolean, numeric, and string variables thereafter may  re-
-       fer  to  invalid  memory locations until another setupterm
-       has been called.
-
-       The  restartterm  routine  is  similar  to  setupterm  and
-       initscr,  except  that it is called after restoring memory
-       to a previous state (for example, when  reloading  a  game
-       saved  as a core image dump).  It assumes that the windows
-       and the input and output options are the same as when mem-
-       ory  was saved, but the terminal type and baud rate may be
-       different.  Accordingly, it saves various tty state  bits,
-       does a setupterm, and then restores the bits.
-
-       The tparm routine instantiates the string str with parame-
-       ters pi.  A pointer is returned to the result of str  with
-       the parameters applied.
-
-       The  tputs  routine  applies  padding  information  to the
-       string str and outputs it.  The str  must  be  a  terminfo
-       string  variable  or the return value from tparm, tgetstr,
-       or tgoto.  affcnt is the number of lines affected, or 1 if
-       not  applicable.   putc is a putchar-like routine to which
-       the characters are passed, one at a time.
-
-       The putp routine calls tputs(str, 1, putchar).  Note  that
-       the  output  of  putp  always  goes  to stdout, not to the
-       fildes specified in setupterm.
-
-       The vidputs routine displays the string on the terminal in
-       the  video  attribute mode attrs, which is any combination
-       of the attributes listed in  curses(3x).   The  characters
-       are passed to the putchar-like routine putc.
-
-       The  vidattr  routine  is like the vidputs routine, except
-       that it outputs through putchar.
-
-       The vid_attr and vid_puts routines correspond  to  vidattr
-       and  vidputs,  respectively.   They use a set of arguments
-       for representing the video attributes  plus  color,  i.e.,
-       one of type attr_t for the attributes and one of short for
-       the color_pair number.  The vid_attr and vid_puts routines
-       are  designed  to use the attribute constants with the WA_
-       prefix.  The opts argument is  reserved  for  future  use.
-       Currently,  applications  must  provide a null pointer for
-       that argument.
-
-       The mvcur routine provides low-level  cursor  motion.   It
-       takes  effect  immediately  (rather  than  at the next re-
-       fresh).
-
-       The tigetflag, tigetnum and tigetstr routines  return  the
-       value of the capability corresponding to the terminfo cap-
-       name passed to them, such as xenl.
-
-       The tigetflag routine returns the value -1 if  capname  is
-       not a boolean capability, or 0 if it is canceled or absent
-       from the terminal description.
-
-       The tigetnum routine returns the value -2  if  capname  is
-       not  a  numeric capability, or -1 if it is canceled or ab-
-       sent from the terminal description.
-
-       The tigetstr routine returns the value (char *)-1 if  cap-
-       name is not a string capability, or 0 if it is canceled or
-       absent from the terminal description.
-
-       The capname for each capability is given in the table col-
-       umn  entitled  capname code in the capabilities section of
-       terminfo(5).
-
-       char *boolnames, *boolcodes, *boolfnames
-
-       char *numnames, *numcodes, *numfnames
-
-       char *strnames, *strcodes, *strfnames
-
-       These null-terminated arrays  contain  the  capnames,  the
-       termcap  codes, and the full C names, for each of the ter-
-       minfo variables.
-
-
-
-

RETURN VALUE

-       Routines that return an integer return  ERR  upon  failure
-       and  OK  (SVr4 only specifies "an integer value other than
-       ERR") upon successful completion, unless  otherwise  noted
-       in the preceding routine descriptions.
-
-       Routines that return pointers always return NULL on error.
-
-       X/Open defines no error conditions.  In  this  implementa-
-       tion
-
-              del_curterm
-                   returns  an error if its terminal parameter is
-                   null.
-
-              restartterm
-                   returns an error if the associated call to se-
-                   tupterm returns an error.
-
-              setupterm
-                   returns  an error if it cannot allocate enough
-                   memory, or create the initial windows (stdscr,
-                   curscr,  newscr).   Other error conditions are
-                   documented above.
-
-
-
-

NOTES

-       The setupterm routine should be used in place of  setterm.
-       It  may be useful when you want to test for terminal capa-
-       bilities without committing to the allocation  of  storage
-       involved in initscr.
-
-       Note that vidattr and vidputs may be macros.
-
-
-
-

PORTABILITY

-       The  function  setterm  is not described in the XSI Curses
-       standard and must be considered non-portable.   All  other
-       functions are as described in the XSI curses standard.
-
-       In  System V Release 4, set_curterm has an int return type
-       and returns OK or ERR.  We have chosen  to  implement  the
-       XSI Curses semantics.
-
-       In System V Release 4, the third argument of tputs has the
-       type int (*putc)(char).
-
-       The XSI Curses standard prototypes tparm with a fixed num-
-       ber  of  parameters, rather than a variable argument list.
-       This  implementation  uses  a  variable   argument   list.
-       Portable  applications  should  provide 9 parameters after
-       the format; zeroes are fine for this purpose.
-
-       XSI notes that after calling mvcur, the curses  state  may
-       not  match the actual terminal state, and that an applica-
-       tion should touch and refresh the window  before  resuming
-       normal  curses calls.  Both ncurses and System V Release 4
-       curses implement mvcur using the SCREEN data allocated  in
-       either  initscr or newterm.  So though it is documented as
-       a terminfo function, mvcur is  really  a  curses  function
-       which is not well specified.
-
-
-
-

SEE ALSO

-       curses(3x),  curs_initscr(3x), curs_kernel(3x), curs_term-
-       cap(3x), putc(3S), terminfo(5)
-
-
-
-                                                      curs_terminfo(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_touch.3x.html b/src/libs/ncurses/doc/html/man/curs_touch.3x.html deleted file mode 100644 index 52660dba30..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_touch.3x.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - -curs_touch 3x - - - - -

curs_touch 3x

-
-
-
-curs_touch(3x)                                           curs_touch(3x)
-
-
-
-
-
-

NAME

-       touchwin, touchline, untouchwin, wtouchln, is_linetouched,
-       is_wintouched - curses refresh control routines
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-       int touchwin(WINDOW *win);
-       int touchline(WINDOW *win, int start, int count);
-       int untouchwin(WINDOW *win);
-       int wtouchln(WINDOW *win, int y, int n, int changed);
-       bool is_linetouched(WINDOW *win, int line);
-       bool is_wintouched(WINDOW *win);
-
-
-
-

DESCRIPTION

-       The touchwin and touchline routines throw away  all  opti-
-       mization  information about which parts of the window have
-       been touched, by pretending that  the  entire  window  has
-       been  drawn  on.   This  is sometimes necessary when using
-       overlapping windows, since a change to one window  affects
-       the other window, but the records of which lines have been
-       changed in the other window do  not  reflect  the  change.
-       The  routine touchline only pretends that count lines have
-       been changed, beginning with line start.
-
-       The untouchwin routine marks all lines in  the  window  as
-       unchanged since the last call to wrefresh.
-
-       The wtouchln routine makes n lines in the window, starting
-       at line y, look as if they have (changed=1)  or  have  not
-       (changed=0)  been changed since the last call to wrefresh.
-
-       The is_linetouched and is_wintouched routines return  TRUE
-       if  the  specified line/window was modified since the last
-       call to wrefresh; otherwise they return FALSE.   In  addi-
-       tion,  is_linetouched returns ERR if line is not valid for
-       the given window.
-
-
-
-

RETURN VALUE

-       All routines return the integer ERR upon  failure  and  an
-       integer  value  other than ERR upon successful completion,
-       unless otherwise noted in the preceding  routine  descrip-
-       tions.
-
-       X/Open  does not define any error conditions.  In this im-
-       plementation
-
-              is_linetouched
-                   returns an error  if  the  window  pointer  is
-                   null,  or  if  the  line number is outside the
-                   window.  Note that ERR is distinct  from  TRUE
-                   and  FALSE, which are the normal return values
-                   of this function.
-
-              wtouchln
-                   returns an error  if  the  window  pointer  is
-                   null,  or  if  the  line number is outside the
-                   window.
-
-
-
-

PORTABILITY

-       The XSI Curses standard, Issue  4  describes  these  func-
-       tions.
-
-       Some  historic  curses  implementations had, as an undocu-
-       mented feature,  the  ability  to  do  the  equivalent  of
-       clearok(...,  1)  by saying touchwin(stdscr) or clear(std-
-       scr).  This will not work under ncurses.
-
-
-
-

NOTES

-       Note that all routines except wtouchln may be macros.
-
-
-
-

SEE ALSO

-       curses(3x), curs_refresh(3x).
-
-
-
-                                                         curs_touch(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_trace.3x.html b/src/libs/ncurses/doc/html/man/curs_trace.3x.html deleted file mode 100644 index 8c3c555366..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_trace.3x.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - -curs_trace 3x - - - - -

curs_trace 3x

-
-
-
-curs_trace(3x)                                           curs_trace(3x)
-
-
-
-
-
-

NAME

-       _tracef, _tracedump, _traceattr, _traceattr2,
-       _nc_tracebits, _tracechar, _tracechtype, _tracechtype2,
-       _tracemouse, trace - curses debugging routines
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       void _tracef(const char *format, ...);
-       void _tracedump(const char *label, WINDOW *win);
-       char *_traceattr(attr_t attr);
-       char *_traceattr2(int buffer, chtype ch);
-       char *_nc_tracebits(void);
-       char *_tracechar(const unsigned char ch);
-       char *_tracechtype(chtype ch);
-       char *_tracechtype2(int buffer, chtype ch);
-       char *_tracemouse(const MEVENT *event);
-       void trace(const unsigned int param);
-
-
-
-

DESCRIPTION

-       The  trace routines are used for debugging the ncurses li-
-       braries, as well as applications which use the ncurses li-
-       braries.  These functions are normally available only with
-       the debugging library libncurses_g.a, but may be  compiled
-       into  any  model (shared, static, profile) by defining the
-       symbol TRACE.
-
-       The principal parts of this interface are the  trace  rou-
-       tine which selectively enables different tracing features,
-       and the _tracef routine which writes formatted data to the
-       trace file.
-
-       Calling  trace  with  a  nonzero  parameter opens the file
-       trace in the current directory for output.  The  parameter
-       is formed by OR'ing values from the list of TRACE_xxx def-
-       initions in <curses.h>.  These include:
-
-       TRACE_DISABLE
-            turn off tracing.
-
-       TRACE_TIMES
-            trace user and system times of updates.
-
-       TRACE_TPUTS
-            trace tputs calls.
-
-       TRACE_UPDATE
-            trace update actions, old & new screens.
-
-       TRACE_MOVE
-            trace cursor movement and scrolling.
-
-       TRACE_CHARPUT
-            trace all character outputs.
-
-       TRACE_ORDINARY
-            trace all update actions.  The  old  and  new  screen
-            contents  are  written to the trace file for each re-
-            fresh.
-
-       TRACE_CALLS
-            trace all curses calls.  The parameters for each call
-            are traced, as well as return values.
-
-       TRACE_VIRTPUT
-            trace virtual character puts, i.e., calls to addch.
-
-       TRACE_IEVENT
-            trace low-level input processing, including timeouts.
-
-       TRACE_BITS
-            trace state of TTY control bits.
-
-       TRACE_ICALLS
-            trace internal/nested calls.
-
-       TRACE_CCALLS
-            trace per-character calls.
-
-       TRACE_DATABASE
-            trace read/write of terminfo/termcap data.
-
-       TRACE_ATTRS
-            trace changes to video attributes and colors.
-
-       TRACE_MAXIMUM
-            maximum trace level,  enables  all  of  the  separate
-            trace features.
-
-       Some  tracing  features are enabled whenever the trace pa-
-       rameter is nonzero.  Some features overlap.  The  specific
-       names are used as a guideline.
-
-
-
-

RETURN VALUE

-       Routines  which  return a value are designed to be used as
-       parameters to the _tracef routine.
-
-
-
-

PORTABILITY

-       These functions are not part of the XSI  interface.   Some
-       other  curses  implementations  are known to have similar,
-       undocumented features, but they are  not  compatible  with
-       ncurses.
-
-
-
-

SEE ALSO

-       curses(3x).
-
-
-
-                                                         curs_trace(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_util.3x.html b/src/libs/ncurses/doc/html/man/curs_util.3x.html deleted file mode 100644 index 760298dc89..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_util.3x.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - -curs_util 3x - - - - -

curs_util 3x

-
-
-
-curs_util(3x)                                             curs_util(3x)
-
-
-
-
-
-

NAME

-       delay_output, filter, flushinp, getwin, key_name, keyname,
-       putwin, unctrl, use_env, wunctrl - miscellaneous curses
-       utility routines
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       char *unctrl(chtype c);
-       char *wunctrl(cchar_t *c);
-       char *keyname(int c);
-       char *key_name(wchar_t w);
-       void filter(void);
-       void use_env(bool f);
-       int putwin(WINDOW *win, FILE *filep);
-       WINDOW *getwin(FILE *filep);
-       int delay_output(int ms);
-       int flushinp(void);
-
-
-
-

DESCRIPTION

-       The  unctrl  routine returns a character string which is a
-       printable representation of the character c, ignoring  at-
-       tributes.   Control characters are displayed in the ^X no-
-       tation.  Printing characters are  displayed  as  is.   The
-       corresponding  wunctrl  returns a printable representation
-       of a wide-character.
-
-       The keyname routine returns a character string correspond-
-       ing to the key c.  Control characters are displayed in the
-       ^X notation.  Values above 128 are either meta characters,
-       shown  in the M-X notation, or the names of function keys,
-       or null.  The corresponding key_name returns  a  character
-       string  corresponding  to the wide-character value w.  The
-       two functions do not return the same set of  strings;  the
-       latter  returns null where the former would display a meta
-       character.
-
-       The filter routine, if used, must be called before initscr
-       or  newterm  are called.  The effect is that, during those
-       calls, LINES is set to 1;  the  capabilities  clear,  cup,
-       cud,  cud1,  cuu1,  cuu,  vpa  are  disabled; and the home
-       string is set to the value of cr.
-
-       The use_env routine, if used, is called before initscr  or
-       newterm  are  called.   When called with FALSE as an argu-
-       ment, the values of lines and  columns  specified  in  the
-       terminfo  database will be used, even if environment vari-
-       ables LINES and COLUMNS (used by default) are set,  or  if
-       curses  is  running in a window (in which case default be-
-       havior would be to  use  the  window  size  if  LINES  and
-       COLUMNS  are not set).  Note that setting LINES or COLUMNS
-       overrides the corresponding size  which  may  be  obtained
-       from the operating system.
-
-       The  putwin routine writes all data associated with window
-       win into the file to which filep points.  This information
-       can be later retrieved using the getwin function.
-
-       The getwin routine reads window related data stored in the
-       file by putwin.  The routine then creates and  initializes
-       a new window using that data.  It returns a pointer to the
-       new window.
-
-       The delay_output routine inserts an ms  millisecond  pause
-       in  output.   This  routine should not be used extensively
-       because padding characters are  used  rather  than  a  CPU
-       pause.   If  no  padding character is specified, this uses
-       napms to perform the delay.
-
-       The flushinp routine throws away any  typeahead  that  has
-       been  typed  by  the user and has not yet been read by the
-       program.
-
-
-
-

RETURN VALUE

-       Except for flushinp, routines that return an  integer  re-
-       turn  ERR upon failure and OK (SVr4 specifies only "an in-
-       teger value other than ERR") upon successful completion.
-
-       Routines that return pointers return NULL on error.
-
-       X/Open does not define any error conditions.  In this  im-
-       plementation
-
-              flushinp
-                   returns  an error if the terminal was not ini-
-                   tialized.
-
-              putwin
-                   returns an  error  if  the  associated  fwrite
-                   calls return an error.
-
-
-
-

PORTABILITY

-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.  It states that unctrl and wunctrl  will  return  a
-       null  pointer if unsuccessful, but does not define any er-
-       ror conditions.
-
-       The SVr4 documentation describes the action of filter only
-       in  the  vaguest  terms.   The description here is adapted
-       from the XSI Curses standard (which erroneously  fails  to
-       describe the disabling of cuu).
-
-       The  strings returned by unctrl in this implementation are
-       determined at compile time, showing C1 controls  from  the
-       upper-128  codes with a `~' prefix rather than `^'.  Other
-       implementations typically show both sets of control  char-
-       acters  with  `^',  and may strip the parameter to 7 bits.
-       This implementation uses 8 bits but does  not  modify  the
-       string to reflect locale.
-
-       The  keyname function may return the names of user-defined
-       string capabilities which are defined in the terminfo  en-
-       try via the -x option of tic.
-
-
-
-

SEE ALSO

-       curses(3x),       curs_initscr(3x),       curs_kernel(3x),
-       curs_scr_dump(3x).
-
-
-
-                                                          curs_util(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/curs_window.3x.html b/src/libs/ncurses/doc/html/man/curs_window.3x.html deleted file mode 100644 index ddada875b6..0000000000 --- a/src/libs/ncurses/doc/html/man/curs_window.3x.html +++ /dev/null @@ -1,215 +0,0 @@ - - - - -curs_window 3x - - - - -

curs_window 3x

-
-
-
-curs_window(3x)                                         curs_window(3x)
-
-
-
-
-
-

NAME

-       newwin, delwin, mvwin, subwin, derwin, mvderwin, dupwin,
-       wsyncup, syncok, wcursyncup, wsyncdown - create curses
-       windows
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       WINDOW *newwin(int nlines, int ncols, int begin_y,
-             int begin_x);
-       int delwin(WINDOW *win);
-       int mvwin(WINDOW *win, int y, int x);
-       WINDOW *subwin(WINDOW *orig, int nlines, int ncols,
-             int begin_y, int begin_x);
-       WINDOW *derwin(WINDOW *orig, int nlines, int ncols,
-             int begin_y, int begin_x);
-       int mvderwin(WINDOW *win, int par_y, int par_x);
-       WINDOW *dupwin(WINDOW *win);
-       void wsyncup(WINDOW *win);
-       int syncok(WINDOW *win, bool bf);
-       void wcursyncup(WINDOW *win);
-       void wsyncdown(WINDOW *win);
-
-
-
-

DESCRIPTION

-       Calling newwin creates and returns a pointer to a new win-
-       dow with the given number of lines and columns.  The upper
-       left-hand  corner of the window is at line begin_y, column
-       begin_x.  If either nlines or ncols is zero, they  default
-       to  LINES - begin_y and COLS - begin_x.  A new full-screen
-       window is created by calling newwin(0,0,0,0).
-
-       Calling delwin deletes the named window, freeing all memo-
-       ry associated with it (it does not actually erase the win-
-       dow's screen image).  Subwindows must  be  deleted  before
-       the main window can be deleted.
-
-       Calling mvwin moves the window so that the upper left-hand
-       corner is at position (x, y).  If the move would cause the
-       window to be off the screen, it is an error and the window
-       is not moved.  Moving subwindows is allowed, but should be
-       avoided.
-
-       Calling subwin creates and returns a pointer to a new win-
-       dow with the given number of lines, nlines,  and  columns,
-       ncols.   The  window  is at position (begin_y, begin_x) on
-       the screen.  (This position is relative to the screen, and
-       not to the window orig.)  The window is made in the middle
-       of the window orig, so that changes  made  to  one  window
-       will  affect  both  windows.   The subwindow shares memory
-       with the window orig.  When using this routine, it is nec-
-       essary  to call touchwin or touchline on orig before call-
-       ing wrefresh on the subwindow.
-
-       Calling derwin is the same as calling subwin, except  that
-       begin_y and begin_x are relative to the origin of the win-
-       dow orig rather than the screen.  There is  no  difference
-       between the subwindows and the derived windows.
-
-       Calling mvderwin moves a derived window (or subwindow) in-
-       side its parent window.  The screen-relative parameters of
-       the  window are not changed.  This routine is used to dis-
-       play different parts of the  parent  window  at  the  same
-       physical position on the screen.
-
-       Calling  dupwin  creates  an exact duplicate of the window
-       win.
-
-       Calling wsyncup touches all locations in ancestors of  win
-       that  are changed in win.  If syncok is called with second
-       argument TRUE then wsyncup is called automatically whenev-
-       er there is a change in the window.
-
-       The  wsyncdown  routine  touches each location in win that
-       has been touched in any of  its  ancestor  windows.   This
-       routine  is  called by wrefresh, so it should almost never
-       be necessary to call it manually.
-
-       The routine wcursyncup updates the current cursor position
-       of  all the ancestors of the window to reflect the current
-       cursor position of the window.
-
-
-
-

RETURN VALUE

-       Routines that return an integer return the integer ERR up-
-       on  failure  and OK (SVr4 only specifies "an integer value
-       other than ERR") upon successful completion.
-
-       Routines that return pointers return NULL on error.
-
-       X/Open defines no error conditions.  In  this  implementa-
-       tion
-
-              delwin
-                   returns  an  error  if  the  window pointer is
-                   null, or if the window is the parent of anoth-
-                   er window.
-
-                   This  implementation  also maintains a list of
-                   windows, and checks that the pointer passed to
-                   delwin  is  one  that it created, returning an
-                   error if it was not..
-
-              mvderwin
-                   returns an error  if  the  window  pointer  is
-                   null,  or  if some part of the window would be
-                   placed off-screen.
-
-              mvwin
-                   returns an error  if  the  window  pointer  is
-                   null,  or if the window is really a pad, or if
-                   some part of the window would be  placed  off-
-                   screen.
-
-              syncok
-                   returns  an  error  if  the  window pointer is
-                   null.
-
-
-
-

NOTES

-       If many small changes are made to the window, the  wsyncup
-       option could degrade performance.
-
-       Note that syncok may be a macro.
-
-
-
-

BUGS

-       The  subwindow  functions (subwin, derwin, mvderwin, wsyn-
-       cup, wsyncdown, wcursyncup, syncok) are flaky, incomplete-
-       ly implemented, and not well tested.
-
-       The  System  V  curses documentation is very unclear about
-       what wsyncup and wsyncdown actually do.  It seems to imply
-       that  they  are only supposed to touch exactly those lines
-       that are affected by ancestor changes.  The language here,
-       and  the  behavior  of  the curses implementation, is pat-
-       terned on the XPG4 curses standard.  The weaker XPG4  spec
-       may result in slower updates.
-
-
-
-

PORTABILITY

-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.
-
-
-
-

SEE ALSO

-       curses(3x), curs_refresh(3x), curs_touch(3x)
-
-
-
-                                                        curs_window(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/default_colors.3x.html b/src/libs/ncurses/doc/html/man/default_colors.3x.html deleted file mode 100644 index b4db8a5e58..0000000000 --- a/src/libs/ncurses/doc/html/man/default_colors.3x.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - -default_colors 3x - - - - -

default_colors 3x

-
-
-
-default_colors(3x)                                   default_colors(3x)
-
-
-
-
-
-

NAME

-       use_default_colors, assume_default_colors - use terminal's
-       default colors
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int use_default_colors(void);
-       int assume_default_colors(int fg, int bg);
-
-
-
-

DESCRIPTION

-       The use_default_colors() and assume_default_colors() func-
-       tions are extensions to the curses library.  They are used
-       with terminals that support ISO 6429 color, or equivalent.
-       These terminals allow the application to reset color to an
-       unspecified default value (e.g., with SGR 39 or SGR 49).
-
-       Applications that paint  a  colored  background  over  the
-       whole  screen  do not take advantage of SGR 39 and SGR 49.
-       Some applications are designed to work  with  the  default
-       background,  using  colors  only  for  text.  For example,
-       there are several implementations of the ls program  which
-       use  colors to denote different file types or permissions.
-       These "color ls" programs do not  necessarily  modify  the
-       background  color, typically using only the setaf terminfo
-       capability  to  set  the  foreground  color.   Full-screen
-       applications  that  use default colors can achieve similar
-       visual effects.
-
-       The first function, use_default_colors() tells the  curses
-       library  to  assign terminal default foreground/background
-       colors to color number  -1.  So  init_pair(x,COLOR_RED,-1)
-       will  initialize  pair  x as red on default background and
-       init_pair(x,-1,COLOR_BLUE)  will  initialize  pair  x   as
-       default foreground on blue.
-
-       The  other,  assume_default_colors() is a refinement which
-       tells which colors to paint for color pair 0.  This  func-
-       tion  recognizes  a special color number -1, which denotes
-       the default terminal color.
-
-       The following are equivalent:
-              use_default_colors();
-              assume_default_colors(-1,-1);
-
-       These are ncurses extensions.  For other curses  implemen-
-       tations,  color  number -1 does not mean anything, just as
-       for ncurses before a successful call  of  use_default_col-
-       ors() or assume_default_colors().
-
-       Other  curses  implementations do not allow an application
-       to modify color pair 0.  They assume that  the  background
-       is COLOR_BLACK, but do not ensure that the color pair 0 is
-       painted to match the assumption.  If your application does
-       not use either use_default_colors() or assume_default_col-
-       ors() ncurses will paint a white  foreground  (text)  with
-       black background for color pair 0.
-
-
-
-

RETURN VALUE

-       These functions return the integer ERR upon failure and OK
-       on success.  They will fail if either  the  terminal  does
-       not  support  the orig_pair or orig_colors capability.  If
-       the initialize_pair capability is found,  this  causes  an
-       error as well.
-
-
-
-

NOTES

-       Associated with this extension, the init_pair(3x) function
-       accepts negative arguments to specify  default  foreground
-       or background colors.
-
-       The  use_default_colors()  function  was  added to support
-       ded.  This is a full-screen application which uses  curses
-       to  manage only part of the screen.  The bottom portion of
-       the screen, which is of adjustable size, is left uncolored
-       to  display the results from shell commands.  The top por-
-       tion of the screen colors filenames using  a  scheme  like
-       the  "color  ls" programs.  Attempting to manage the back-
-       ground color of the screen for this application would give
-       unsatisfactory  results  for  a  variety of reasons.  This
-       extension was devised after noting that color  xterm  (and
-       similar  programs)  provides a background color which does
-       not necessarily correspond to  any  of  the  ANSI  colors.
-       While  a special terminfo entry could be constructed using
-       nine colors, there was no mechanism provided within curses
-       to  account for the related orig_pair and back_color_erase
-       capabilities.
-
-       The assume_default_colors() function was added to solve  a
-       different  problem:  support  for applications which would
-       use  environment  variables  and  other  configuration  to
-       bypass  curses'  notion  of the terminal's default colors,
-       setting specific values.
-
-
-
-

PORTABILITY

-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
-
-
-
-

SEE ALSO

-       curs_color(3x), ded(1).
-
-
-
-

AUTHOR

-       Thomas  Dickey  (from  an analysis of the requirements for
-       color xterm for XFree86 3.1.2C, February 1996).
-
-
-
-                                                     default_colors(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/define_key.3x.html b/src/libs/ncurses/doc/html/man/define_key.3x.html deleted file mode 100644 index 53aab98b82..0000000000 --- a/src/libs/ncurses/doc/html/man/define_key.3x.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - -define_key 3x - - - - -

define_key 3x

-
-
-
-define_key(3x)                                           define_key(3x)
-
-
-
-
-
-

NAME

-       define_key - define a keycode
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int define_key(const char *definition, int keycode);
-
-
-
-

DESCRIPTION

-       This is an extension to the curses library.  It permits an
-       application to define keycodes  with  their  corresponding
-       control  strings,  so that the ncurses library will inter-
-       pret them just as it would the  predefined  codes  in  the
-       terminfo database.
-
-       If  the  given string is null, any existing definition for
-       the keycode is removed.  Similarly, if the  given  keycode
-       is  negative  or  zero,  any existing string for the given
-       definition is removed.
-
-
-
-

RETURN VALUE

-       The keycode  must  be  greater  than  zero,  else  ERR  is
-       returned.
-
-
-
-

PORTABILITY

-       These  routines  are  specific  to ncurses.  They were not
-       supported on Version 7, BSD or System  V  implementations.
-       It  is recommended that any code depending on them be con-
-       ditioned using NCURSES_VERSION.
-
-
-
-

SEE ALSO

-       keyok(3x), key_defined(3x).
-
-
-
-

AUTHOR

-       Thomas Dickey.
-
-
-
-                                                         define_key(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form.3x.html b/src/libs/ncurses/doc/html/man/form.3x.html deleted file mode 100644 index a7b1513fb0..0000000000 --- a/src/libs/ncurses/doc/html/man/form.3x.html +++ /dev/null @@ -1,246 +0,0 @@ - - - - -form 3x - - - - -

form 3x

-
-
-
-form(3x)                                                       form(3x)
-
-
-
-
-
-

NAME

-       form - curses extension for programming forms
-
-
-
-

SYNOPSIS

-       #include <form.h>
-
-
-
-

DESCRIPTION

-       The  form library provides terminal-independent facilities
-       for composing form screens  on  character-cell  terminals.
-       The  library  includes:  field  routines, which create and
-       modify form fields; and form routines, which group  fields
-       into forms, display forms on the screen, and handle inter-
-       action with the user.
-
-       The form library uses the curses libraries, and  a  curses
-       initialization  routine  such  as  initscr  must be called
-       before using any of these  functions.   To  use  the  form
-       library, link with the options -lform -lcurses.
-
-
-   Current Default Values for Field Attributes
-       The  form  library  maintains  a  default  value for field
-       attributes.  You can get or set this  default  by  calling
-       the  appropriate  set_  or  retrieval  routine with a NULL
-       field pointer.  Changing this default with a set_ function
-       affects  future  field  creations, but does not change the
-       rendering of fields already created.
-
-
-   Routine Name Index
-       The following table lists each form routine and  the  name
-       of the manual page on which it is described.
-
-
-       curses Routine Name    Manual Page Name
-       -------------------------------------------------
-       current_field          form_page(3x)
-       data_ahead             form_data(3x)
-       data_behind            form_data(3x)
-       dup_field              form_field_new(3x)
-       dynamic_fieldinfo      form_field_info(3x)
-       field_arg              form_field_validation(3x)
-       field_back             form_field_attributes(3x)
-       field_buffer           form_field_buffer(3x)
-       field_count            form_field(3x)
-       field_fore             form_field_attributes(3x)
-       field_index            form_page(3x)
-       field_info             form_field_info(3x)
-       field_init             form_hook(3x)
-       field_just             form_field_just(3x)
-       field_opts             form_field_opts(3x)
-       field_opts_off         form_field_opts(3x)
-       field_opts_on          form_field_opts(3x)
-       field_pad              form_field_attributes(3x)
-       field_status           form_field_buffer(3x)
-       field_term             form_hook(3x)
-       field_type             form_field_validation(3x)
-       field_userptr          form_field_userptr(3x)
-       form_driver            form_driver(3x)
-       form_fields            form_field(3x)
-       form_init              form_hook(3x)
-
-       form_opts              form_opts(3x)
-       form_opts_off          form_opts(3x)
-       form_opts_on           form_opts(3x)
-       form_page              form_page(3x)
-       form_request_by_name   form_requestname(3x)
-       form_request_name      form_requestname(3x)
-       form_sub               form_win(3x)
-       form_term              form_hook(3x)
-       form_userptr           form_userptr(3x)
-       form_win               form_win(3x)
-       free_field             form_field_new(3x)
-       free_form              form_new(3x)
-       link_field             form_field_new(3x)
-       link_fieldtype         form_fieldtype(3x)
-       move_field             form_field(3x)
-       new_field              form_field_new(3x)
-       new_form               form_new(3x)
-       new_page               form_new_page(3x)
-       pos_form_cursor        form_cursor(3x)
-       post_form              form_post(3x)
-       scale_form             form_win(3x)
-       set_current_field      form_page(3x)
-       set_field_back         form_field_attributes(3x)
-       set_field_buffer       form_field_buffer(3x)
-       set_field_fore         form_field_attributes(3x)
-       set_field_init         form_hook(3x)
-       set_field_just         form_field_just(3x)
-       set_field_opts         form_field_opts(3x)
-       set_field_pad          form_field_attributes(3x)
-       set_field_status       form_field_buffer(3x)
-       set_field_term         form_hook(3x)
-       set_field_type         form_field_validation(3x)
-       set_field_userptr      form_field_userptr(3x)
-       set_fieldtype_arg      form_fieldtype(3x)
-       set_fieldtype_choice   form_fieldtype(3x)
-       set_form_fields        form_field(3x)
-       set_form_init          form_hook(3x)
-       set_form_opts          form_field_opts(3x)
-       set_form_page          form_page(3x)
-       set_form_sub           form_win(3x)
-       set_form_term          form_hook(3x)
-       set_form_userptr       form_userptr(3x)
-       set_form_win           form_win(3x)
-       set_max_field          form_field_buffer(3x)
-       set_new_page           form_new_page(3x)
-       unpost_form            form_post(3x)
-
-
-
-

RETURN VALUE

-       Routines  that return pointers return NULL on error.  Rou-
-       tines that return an integer return one of  the  following
-       error codes:
-
-       E_OK The routine succeeded.
-
-       E_CONNECTED
-            The field is already connected to a form.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
-
-       E_POSTED
-            The form is already posted.
-
-       E_BAD_STATE
-            Routine was called from an initialization or termina-
-            tion function.
-
-       E_NO_ROOM
-            Form is too large for its window.
-
-       E_NOT_POSTED
-            The form has not been posted.
-
-       E_UNKNOWN_COMMAND
-            The form driver code saw an unknown request code.
-
-       E_INVALID_FIELD
-            Contents of a field are not valid.
-
-       E_NOT_CONNECTED
-            No fields are connected to the form.
-
-       E_REQUEST_DENIED
-            The form driver could not process the request.
-
-
-
-

SEE ALSO

-       curses(3x) and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       files <curses.h> and <eti.h>.
-
-       In  your  library  list,  libform.a should be before libn-
-       curses.a; that is, you want to say `-lform -lncurses', not
-       the  other  way  around (which would give you a link error
-       using GNU ld(1) and many other linkers).
-
-
-
-

PORTABILITY

-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.  Manual pages and adaptation for ncurses
-       by Eric S. Raymond.
-
-
-
-                                                               form(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_cursor.3x.html b/src/libs/ncurses/doc/html/man/form_cursor.3x.html deleted file mode 100644 index 1e5077b00a..0000000000 --- a/src/libs/ncurses/doc/html/man/form_cursor.3x.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - -form_cursor 3x - - - - -

form_cursor 3x

-
-
-
-form_cursor(3x)                                         form_cursor(3x)
-
-
-
-
-
-

NAME

-       form_cursor - position a form window cursor
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int pos_form_cursor(FORM *form);
-
-
-
-

DESCRIPTION

-       The  function  pos_form_cursor  restores the cursor to the
-       position required for the forms driver  to  continue  pro-
-       cessing  requests.   This  is useful after curses routines
-       have been called to do screen-painting in  response  to  a
-       form operation.
-
-
-
-

RETURN VALUE

-       This routine returns one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
-
-       E_NOT_POSTED
-            The form has not been posted.
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
-
-
-
-                                                        form_cursor(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_data.3x.html b/src/libs/ncurses/doc/html/man/form_data.3x.html deleted file mode 100644 index 88d24123bd..0000000000 --- a/src/libs/ncurses/doc/html/man/form_data.3x.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - -form_data 3x - - - - -

form_data 3x

-
-
-
-form_data(3x)                                             form_data(3x)
-
-
-
-
-
-

NAME

-       form_data - test for off-screen data in given forms
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       bool data_ahead(const FORM *form);
-       bool data_behind(const FORM *form);
-
-
-
-

DESCRIPTION

-       The  function data_ahead tests whether there is off-screen
-       data ahead in the given form.   It  returns  TRUE  (1)  or
-       FALSE (0).
-
-       The function data_behind tests whether there is off-screen
-       data behind in the given form.  It  returns  TRUE  (1)  or
-       FALSE (0).
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                          form_data(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_driver.3x.html b/src/libs/ncurses/doc/html/man/form_driver.3x.html deleted file mode 100644 index e3eaea93b9..0000000000 --- a/src/libs/ncurses/doc/html/man/form_driver.3x.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - -form_driver 3x - - - - -

form_driver 3x

-
-
-
-form_driver(3x)                                         form_driver(3x)
-
-
-
-
-
-

NAME

-       form_driver - command-processing loop of the form system
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int form_driver(FORM *form, int c);
-
-
-
-

DESCRIPTION

-       Once a form has been posted (displayed), you should funnel
-       input events to it through form_driver.  This routine  has
-       two  major input cases; either the input is a form naviga-
-       tion request or it's a  printable  ASCII  character.   The
-       form driver requests are as follows:
-
-       REQ_NEXT_PAGE
-            Move to the next page.
-
-       REQ_PREV_PAGE
-            Move to the previous page.
-
-       REQ_FIRST_PAGE
-            Move to the first page.
-
-       REQ_LAST_PAGE
-            Move to the last field.
-
-
-       REQ_NEXT_FIELD
-            Move to the next field.
-
-       REQ_PREV_FIELD
-            Move to the previous field.
-
-       REQ_FIRST_FIELD
-            Move to the first field.
-
-       REQ_LAST_FIELD
-            Move to the last field.
-
-       REQ_SNEXT_FIELD
-            Move to the sorted next field.
-
-       REQ_SPREV_FIELD
-            Move to the sorted previous field.
-
-       REQ_SFIRST_FIELD
-            Move to the sorted first field.
-
-       REQ_SLAST_FIELD
-            Move to the sorted last field.
-
-       REQ_LEFT_FIELD
-            Move left to a field.
-
-       REQ_RIGHT_FIELD
-            Move right to a field.
-
-       REQ_UP_FIELD
-            Move up to a field.
-
-       REQ_DOWN_FIELD
-            Move down to a field.
-
-
-       REQ_NEXT_CHAR
-            Move to the next char.
-
-       REQ_PREV_CHAR
-            Move to the previous char.
-
-       REQ_NEXT_LINE
-            Move to the next line.
-
-       REQ_PREV_LINE
-            Move to the previous line.
-
-       REQ_NEXT_WORD
-            Move to the next word.
-
-       REQ_PREV_WORD
-            Move to the previous word.
-
-       REQ_BEG_FIELD
-            Move to the beginning of the field.
-
-       REQ_END_FIELD
-            Move to the end of the field.
-
-       REQ_BEG_LINE
-            Move to the beginning of the line.
-
-       REQ_END_LINE
-            Move to the end of the line.
-
-       REQ_LEFT_CHAR
-            Move left in the field.
-
-       REQ_RIGHT_CHAR
-            Move right in the field.
-
-       REQ_UP_CHAR
-            Move up in the field.
-
-       REQ_DOWN_CHAR
-            Move down in the field.
-
-
-       REQ_NEW_LINE
-            Insert or overlay a new line.
-
-       REQ_INS_CHAR
-            Insert a blank at the cursor.
-
-       REQ_INS_LINE
-            Insert a blank line at the cursor.
-
-       REQ_DEL_CHAR
-            Delete character at the cursor.
-
-       REQ_DEL_PREV
-            Delete character before the cursor.
-
-       REQ_DEL_LINE
-            Delete line at the cursor.
-
-       REQ_DEL_WORD
-            Delete blank-delimited word at the cursor.
-
-       REQ_CLR_EOL
-            Clear to end of line from cursor.
-
-       REQ_CLR_EOF
-            Clear to end of field from cursor.
-
-       REQ_CLR_FIELD
-            Clear the entire field.
-
-       REQ_OVL_MODE
-            Enter overlay mode.
-
-       REQ_INS_MODE
-            Enter insert mode.
-
-
-       REQ_SCR_FLINE
-            Scroll the field forward a line.
-
-       REQ_SCR_BLINE
-            Scroll the field backward a line.
-
-       REQ_SCR_FPAGE
-            Scroll the field forward a page.
-
-       REQ_SCR_BPAGE
-            Scroll the field backward a page.
-
-       REQ_SCR_FHPAGE
-            Scroll the field forward half a page.
-
-       REQ_SCR_BHPAGE
-            Scroll the field backward half a page.
-
-
-       REQ_SCR_FCHAR
-            Scroll the field forward a character.
-
-       REQ_SCR_BCHAR
-            Scroll the field backward a character.
-
-       REQ_SCR_HFLINE
-            Horizontal scroll the field forward a line.
-
-       REQ_SCR_HBLINE
-            Horizontal scroll the field backward a line.
-
-       REQ_SCR_HFHALF
-            Horizontal scroll the field forward half a line.
-
-       REQ_SCR_HBHALF
-            Horizontal scroll the field backward half a line.
-
-
-       REQ_VALIDATION
-            Validate field.
-
-       REQ_NEXT_CHOICE
-            Display next field choice.
-
-       REQ_PREV_CHOICE
-            Display previous field choice.
-
-       If the second argument is a printable ASCII character, the
-       driver places it in the current position  in  the  current
-       field.   If  it is one of the forms requests listed above,
-       that request is executed.
-
-       If the second argument is neither printable ASCII nor  one
-       of the above pre-defined form requests, the driver assumes
-       it  is  an  application-specific   command   and   returns
-       E_UNKNOWN_COMMAND.  Application-defined commands should be
-       defined relative to  MAX_COMMAND,  the  maximum  value  of
-       these pre-defined requests.
-
-
-
-

RETURN VALUE

-       form_driver return one of the following error codes:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
-
-       E_BAD_STATE
-            Routine was called from an initialization or termina-
-            tion function.
-
-       E_NOT_POSTED
-            The form has not been posted.
-
-       E_UNKNOWN_COMMAND
-            The form driver code saw an unknown request code.
-
-       E_INVALID_FIELD
-            Contents of field is invalid.
-
-       E_REQUEST_DENIED
-            The form driver could not process the request.
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       files <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                        form_driver(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_field.3x.html b/src/libs/ncurses/doc/html/man/form_field.3x.html deleted file mode 100644 index d8372ef109..0000000000 --- a/src/libs/ncurses/doc/html/man/form_field.3x.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - -form_field 3x - - - - -

form_field 3x

-
-
-
-form_field(3x)                                           form_field(3x)
-
-
-
-
-
-

NAME

-       form_field - make and break connections between fields and
-       forms
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int set_form_fields(FORM *form, FIELD **fields);
-       FIELD **form_fields(const FORM *form);
-       int field_count(const FORM *form);
-       int move_field(FIELD *field, int frow, int fcol);
-
-
-
-

DESCRIPTION

-       The function set_form_fields  changes  the  field  pointer
-       array  of the given form.  The array must be terminated by
-       a NULL.
-
-       The function form_fields returns the field  array  of  the
-       given form.
-
-       The  function  field_count  returns the count of fields in
-       form.
-
-       The function move_field moves the given field (which  must
-       be disconnected) to a specified location on the screen.
-
-
-
-

RETURN VALUES

-       The function form_fields returns NULL on error.
-
-       The  function  field_count returns ERR (the general curses
-       error return value) on error.
-
-       The functions set_form_fields and move_field return one of
-       the following codes on error:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
-
-       E_POSTED
-            The form is already posted.
-
-       E_CONNECTED
-            The field is already connected to a form.
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
-
-       The  SVr4  forms  library  documentation   specifies   the
-       field_count error value as -1 (which is the value of ERR).
-
-
-
-

AUTHORS

-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
-
-
-
-                                                         form_field(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_field_attributes.3x.html b/src/libs/ncurses/doc/html/man/form_field_attributes.3x.html deleted file mode 100644 index f0b35acd4f..0000000000 --- a/src/libs/ncurses/doc/html/man/form_field_attributes.3x.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - -form_field_attributes 3x - - - - -

form_field_attributes 3x

-
-
-
-form_field_attributes(3x)                     form_field_attributes(3x)
-
-
-
-
-
-

NAME

-       form_field_attributes  -  color  and attribute control for
-       form fields
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int set_field_fore(FIELD *field, chtype attr);
-       chtype field_fore(const FIELD *field);
-       int set_field_back(FIELD *field, chtype attr);
-       chtype field_back(const FIELD *field);
-       int set_field_pad(FIELD *field, int pad);
-       int field_pad(const FIELD *field);
-
-
-
-

DESCRIPTION

-       The function set_field_fore sets the foreground  attribute
-       of  field. This is the highlight used to display the field
-       contents.  The function field_fore returns the  foreground
-       attribute.  The default is A_STANDOUT.
-
-       The  function set_field_back sets the background attribute
-       of form. This is the highlight used to display the  extent
-       fields  in  the form.  The function field_back returns the
-       background attribute.  The default is A_NORMAL.
-
-       The function set_field_pad sets the character used to fill
-       the  field.   The  function  field_pad  returns  the given
-       form's pad character.  The default is a blank.
-
-
-
-

RETURN VALUE

-       These routines return one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-
-
-

SEE ALSO

-       curses(3x) and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
-
-
-
-                                              form_field_attributes(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_field_buffer.3x.html b/src/libs/ncurses/doc/html/man/form_field_buffer.3x.html deleted file mode 100644 index 1de81f1b5d..0000000000 --- a/src/libs/ncurses/doc/html/man/form_field_buffer.3x.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - -form_field_buffer 3x - - - - -

form_field_buffer 3x

-
-
-
-form_field_buffer(3x)                             form_field_buffer(3x)
-
-
-
-
-
-

NAME

-       form_field_buffer - field buffer control
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int  set_field_buffer(FIELD  *field,  int  buf, const char
-       *value);
-       char *field_buffer(const FIELD *field, int buffer);
-       int set_field_status(FIELD *field, bool status);
-       bool field_status(const FIELD *field);
-       int set_max_field(FIELD *field, int max);
-
-
-
-

DESCRIPTION

-       The function set_field_buffer sets the numbered buffer  of
-       the  given  field  to contain a given string.  Buffer 0 is
-       the displayed value of the field; other  numbered  buffers
-       may be allocated by applications through the nbuf argument
-       of (see form_field_new(3x)) but are not manipulated by the
-       forms  library.   The  function  field_buffer  returns the
-       address of the buffer.  Please note that this  buffer  has
-       always  the  length  of the buffer, that means that it may
-       typically contain trailing spaces. If you entered  leading
-       spaces  the  buffer may also contain them. If you want the
-       raw data, you must write your own routine that copies  the
-       value out of the buffer and removes the leading and trail-
-       ing spaces. Please note also, that  subsequent  operations
-       on  the  form  will  probably  change  the  content of the
-       buffer. So do not use it for  long  term  storage  of  the
-       entered form data.
-
-       The  function  set_field_status sets the associated status
-       flag of field; field_status gets the current  value.   The
-       status  flag  is set to a nonzero value whenever the field
-       changes.
-
-       The function set_max_field sets the  maximum  size  for  a
-       dynamic  field.   An  argument  of 0 turns off any maximum
-       size threshold for that field.
-
-
-
-

RETURN VALUE

-       The field_buffer function returns NULL on error.
-
-       The field_status function returns TRUE or FALSE.
-
-       The remaining routines return one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-
-
-

SEE ALSO

-       curses(3x) and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file
-
-       When  configured for wide-characters, field_buffer returns
-       a pointer to temporary storage (allocated and freed by the
-       library).   The  application  should not attempt to modify
-       the  data.   It  will  be  freed  on  the  next  call   to
-       field_buffer to return the same buffer.  <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
-
-
-
-                                                  form_field_buffer(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_field_info.3x.html b/src/libs/ncurses/doc/html/man/form_field_info.3x.html deleted file mode 100644 index df8d1aace5..0000000000 --- a/src/libs/ncurses/doc/html/man/form_field_info.3x.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - -form_field_info 3x - - - - -

form_field_info 3x

-
-
-
-form_field_info(3x)                                 form_field_info(3x)
-
-
-
-
-
-

NAME

-       form_field_info - retrieve field characteristics
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int field_info(const FIELD *field, int *rows, int *cols,
-                     int *frow, int *fcol, int *nrow, int *nbuf);
-       int dynamic_field_info(const FIELD *field, int *rows,  int
-       *cols, int *max);
-
-
-
-

DESCRIPTION

-       The  function  field_info  returns  the  sizes  and  other
-       attributes passed in to the field at  its  creation  time.
-       The  attributes are: height, width, row of upper-left cor-
-       ner, column of upper-left corner, number off-screen  rows,
-       and number of working buffers.
-
-       The function dynamic_field_info returns the actual size of
-       the field, and its maximum possible size.   If  the  field
-       has  no  size  limit,  the location addressed by the third
-       argument will be set to 0.  A field can be made dynamic by
-       turning off the O_STATIC option with field_opts_off.
-
-
-
-

RETURN VALUE

-       These routines return one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
-
-
-
-

SEE ALSO

-       curses(3x) and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-       A  null  (zero  pointer) is accepted for any of the return
-       values, to ignore that  value.   Not  all  implementations
-       allow this, e.g., Solaris 2.7 does not.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                    form_field_info(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_field_just.3x.html b/src/libs/ncurses/doc/html/man/form_field_just.3x.html deleted file mode 100644 index 6912809b9b..0000000000 --- a/src/libs/ncurses/doc/html/man/form_field_just.3x.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - -form_field_just 3x - - - - -

form_field_just 3x

-
-
-
-form_field_just(3x)                                 form_field_just(3x)
-
-
-
-
-
-

NAME

-       form_field_just - retrieve field characteristics
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int set_field_just(FIELD *field, int justification);
-       int field_just(const FIELD *field);
-
-
-
-

DESCRIPTION

-       The   function   set_field_just   sets  the  justification
-       attribute of a field; field_just returns a field's  justi-
-       fication attribute.  The attribute may be one of NO_JUSTI-
-       FICATION, JUSTIFY_RIGHT, JUSTIFY_LEFT, or  JUSTIFY_CENTER.
-
-
-
-
-

RETURN VALUE

-       The  function field_just returns one of: NO_JUSTIFICATION,
-       JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
-
-       The function set_field_just returns one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-
-
-

SEE ALSO

-       curses(3x) and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
-
-
-
-                                                    form_field_just(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_field_new.3x.html b/src/libs/ncurses/doc/html/man/form_field_new.3x.html deleted file mode 100644 index 911c10712c..0000000000 --- a/src/libs/ncurses/doc/html/man/form_field_new.3x.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - -form_field_new 3x - - - - -

form_field_new 3x

-
-
-
-form_field_new(3x)                                   form_field_new(3x)
-
-
-
-
-
-

NAME

-       form_field_new - create and destroy form fields
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       FIELD *new_field(int height, int width,
-                        int toprow, int leftcol,
-                        int offscreen, int nbuffers);
-       FIELD *dup_field(FIELD *field, int toprow, int leftcol);
-       FIELD *link_field(FIELD *field, int toprow, int leftcol);
-       int free_field(FIELD *field);
-
-
-
-

DESCRIPTION

-       The  function new_field allocates a new field and initial-
-       izes it from the parameters given: height, width,  row  of
-       upper-left  corner,  column  of  upper-left corner, number
-       off-screen rows, and number of additional working buffers.
-
-       The  function  dup_field duplicates a field at a new loca-
-       tion.  Most attributes (including current contents,  size,
-       validation  type, buffer count, growth threshold, justifi-
-       cation, foreground, background,  pad  character,  options,
-       and  user pointer) are copied.  Field status and the field
-       page bit are not copied.
-
-       The function link_field acts like dup_field, but  the  new
-       field  shares  buffers with its parent.  Attribute data is
-       separate.
-
-       The function free_field  de-allocates  storage  associated
-       with a field.
-
-
-
-

RETURN VALUE

-       The function, new_field, dup_field, link_field return NULL
-       on error.
-
-       The function free_field returns one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-       It  may be unwise to count on the set of attributes copied
-       by  dup_field(3x)  being  portable;  the  System  V  forms
-       library  documents  are  not very explicit about what gets
-       copied and what doesn't.
-
-
-
-

AUTHORS

-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
-
-
-
-                                                     form_field_new(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_field_opts.3x.html b/src/libs/ncurses/doc/html/man/form_field_opts.3x.html deleted file mode 100644 index c574c2bc7e..0000000000 --- a/src/libs/ncurses/doc/html/man/form_field_opts.3x.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - -form_field_opts 3x - - - - -

form_field_opts 3x

-
-
-
-form_field_opts(3x)                                 form_field_opts(3x)
-
-
-
-
-
-

NAME

-       form_field_opts - set and get field options
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int set_field_opts(FIELD *field, OPTIONS opts);
-       int field_opts_on(FIELD *field, OPTIONS opts);
-       int field_opts_off(FIELD *field, OPTIONS opts);
-       OPTIONS field_opts(const FIELD *field);
-
-
-
-

DESCRIPTION

-       The  function  set_field_opts  sets  all the given field's
-       option bits (field  option  bits  may  be  logically-OR'ed
-       together).
-
-       The function field_opts_on turns on the given option bits,
-       and leaves others alone.
-
-       The function field_opts_off turns  off  the  given  option
-       bits, and leaves others alone.
-
-       The function field_opts returns the field's current option
-       bits.
-
-       The following options are defined (all are on by default):
-
-       O_VISIBLE
-            The  field is displayed.  If this option is off, dis-
-            play of the field is suppressed.
-
-       O_ACTIVE
-            The field is  visited  during  processing.   If  this
-            option  is  off,  the  field will not be reachable by
-            navigation keys.  Please  notice  that  an  invisible
-            field appears to be inactive also.
-
-       O_PUBLIC
-            The  field contents are displayed as data is entered.
-
-       O_EDIT
-            The field can be edited.
-
-       O_WRAP
-            Words that do not fit on a line are  wrapped  to  the
-            next line.  Words are blank-separated.
-
-       O_BLANK
-            The  field is cleared whenever a character is entered
-            at the first position.
-
-       O_AUTOSKIP
-            Skip to the next field when this one fills.
-
-       O_NULLOK
-            Allow a blank field.
-
-       O_STATIC
-            Field buffers are fixed  to  field's  original  size.
-            Turn this option off to create a dynamic field.
-
-       O_PASSOK
-            Validate field only if modified by user.
-
-
-
-

RETURN VALUE

-       Except  for  field_opts,  each  routine returns one of the
-       following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_CURRENT
-            The field is the current field.
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-       NOTES  The header file <form.h> automatically includes the
-              header file <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
-
-
-
-                                                    form_field_opts(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_field_userptr.3x.html b/src/libs/ncurses/doc/html/man/form_field_userptr.3x.html deleted file mode 100644 index 417dd4569b..0000000000 --- a/src/libs/ncurses/doc/html/man/form_field_userptr.3x.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - -form_field_userptr 3x - - - - -

form_field_userptr 3x

-
-
-
-form_field_userptr(3x)                           form_field_userptr(3x)
-
-
-
-
-
-

NAME

-       form_field_userptr  -  associate  application  data with a
-       form field
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int set_field_userptr(FIELD *field, void*userptr);
-       void *field_userptr(const FIELD *field);
-
-
-
-

DESCRIPTION

-       Every form field has a field that  can  be  used  to  hold
-       application-specific  data  (that is, the form-driver code
-       leaves it alone).  These functions get and set that field.
-
-
-
-

RETURN VALUE

-       The  function  field_userptr  returns  NULL  on error. The
-       function set_field_userptr returns one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
-
-       The user pointer should be a void pointer.  We leave it as
-       a char pointer for SVr4 compatibility.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                 form_field_userptr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_field_validation.3x.html b/src/libs/ncurses/doc/html/man/form_field_validation.3x.html deleted file mode 100644 index 2b7edd1731..0000000000 --- a/src/libs/ncurses/doc/html/man/form_field_validation.3x.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - -form_field_validation 3x - - - - -

form_field_validation 3x

-
-
-
-form_field_validation(3x)                     form_field_validation(3x)
-
-
-
-
-
-

NAME

-       form_field_validation - data type validation for fields
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int set_field_type(FIELD *field, FIELDTYPE *type, ...);
-       FIELDTYPE *field_type(const FIELD *field);
-       void *field_arg(const FIELD *field);
-
-       FIELDTYPE *TYPE_ALNUM;
-       FIELDTYPE *TYPE_ALPHA;
-       FIELDTYPE *TYPE_ENUM;
-       FIELDTYPE *TYPE_INTEGER;
-       FIELDTYPE *TYPE_NUMERIC;
-       FIELDTYPE *TYPE_REGEXP;
-       FIELDTYPE *TYPE_IPV4;
-
-
-
-

DESCRIPTION

-       The  function  set_field_type  declares  a data type for a
-       given form field.  This is the type checked by  validation
-       functions.  The predefined types are as follows:
-
-       TYPE_ALNUM
-            Alphanumeric  data.  Requires a third int argument, a
-            minimum field width.
-
-       TYPE_ALPHA
-            Character data.  Requires a  third  int  argument,  a
-            minimum field width.
-
-       TYPE_ENUM
-            Accept one of a specified set of strings.  Requires a
-            third (char **) argument pointing to a string list; a
-            fourth  int flag argument to enable case-sensitivity;
-            and a fifth int flag argument  specifying  whether  a
-            partial  match  must be a unique one (if this flag is
-            off, a prefix matches the first of any  set  of  more
-            than  one  list  elements  with  that prefix). Please
-            notice that the string list is  not  copied,  only  a
-            reference to it is stored in the field. So you should
-            avoid using a list that lives in automatic  variables
-            on the stack.
-
-       TYPE_INTEGER
-            Integer  data,  parsable  to  an  integer by atoi(3).
-            Requires a third int argument controlling the  preci-
-            sion,  a  fourth  long  argument constraining minimum
-            value, and a fifth long constraining  maximum  value.
-            If  the  maximum  value  is less than or equal to the
-            minimum value, the range is simply ignored. On return
-            the field buffer is formatted according to the printf
-            format  specification  ".*ld",  where  the   '*'   is
-            replaced  by  the precision argument.  For details of
-            the precision handling see printf's man-page.
-
-       TYPE_NUMERIC
-            Numeric  data  (may  have  a   decimal-point   part).
-            Requires  a third int argument controlling the preci-
-            sion, a fourth double argument  constraining  minimum
-            value, and a fifth double constraining maximum value.
-            If your system supports locales,  the  decimal  point
-            character  to  be  used  must be the one specified by
-            your locale.  If the maximum value is  less  than  or
-            equal  to  the  minimum  value,  the  range is simply
-            ignored. On return  the  field  buffer  is  formatted
-            according  to  the printf format specification ".*f",
-            where the '*' is replaced by the precision  argument.
-            For  details  of  the precision handling see printf's
-            man-page.
-
-       TYPE_REGEXP
-            Regular expression data.  Requires a regular  expres-
-            sion  (char  *)  third argument; the data is valid if
-            the regular expression matches it.   Regular  expres-
-            sions   are   in   the   format  of  regcomp(3x)  and
-            regexec(3x). Please notice that the  regular  expres-
-            sion  must  match  the  whole  field. If you have for
-            example an eight  character  wide  field,  a  regular
-            expression  "^[0-9]*$"  always means that you have to
-            fill all eight positions with digits. If you want  to
-            allow  fewer digits, you may use for example "^[0-9]*
-            *$" which is good for trailing spaces (up to an empty
-            field),  or  "^ *[0-9]* *$" which is good for leading
-            and trailing spaces around the digits.
-
-       TYPE_IPV4
-            An Internet Protocol Version 4 address. This requires
-            no  additional argument. It is checked whether or not
-            the buffer has the form a.b.c.d, where  a,b,c  and  d
-            are numbers between 0 and 255. Trailing blanks in the
-            buffer are ignored. The address itself is  not  vali-
-            dated. Please note that this is an ncurses extension.
-            This field type may not be available in other  curses
-            implementations.
-
-       It  is  possible  to  set  up new programmer-defined field
-       types.  See the form_fieldtype(3x) manual page.
-
-
-
-

RETURN VALUE

-       The functions field_type  and  field_arg  return  NULL  on
-       error. The function set_field_type returns one of the fol-
-       lowing:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
-
-
-
-                                              form_field_validation(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_fieldtype.3x.html b/src/libs/ncurses/doc/html/man/form_fieldtype.3x.html deleted file mode 100644 index e6fc48268a..0000000000 --- a/src/libs/ncurses/doc/html/man/form_fieldtype.3x.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - -form_fieldtype 3x - - - - -

form_fieldtype 3x

-
-
-
-form_fieldtype(3x)                                   form_fieldtype(3x)
-
-
-
-
-
-

NAME

-       form_fieldtype - define validation-field types
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       FIELDTYPE *new_fieldtype(
-           bool (* const field_check)(FIELD *, const void *),
-           bool (* const char_check)(int, const void *));
-       int free_fieldtype(FIELDTYPE *fieldtype);
-       int set_fieldtype_arg(
-           FIELDTYPE *fieldtype,
-           void *(* const make_arg)(va_list *),
-           void *(* const copy_arg)(const void *),
-           void  (* const free_arg)(void *));
-       int set_fieldtype_choice(
-           FIELDTYPE *fieldtype,
-           bool (* const next_choice)(FIELD *, const void *),
-           bool (* const prev_choice)(FIELD *, const void *));
-       FIELDTYPE *link_fieldtype(FIELDTYPE *type1,
-                                 FIELDTYPE *type2);
-
-
-
-

DESCRIPTION

-       The function new_fieldtype creates a new field type usable
-       for data validation.  You supply it  with  field_check,  a
-       predicate  to check the validity of an entered data string
-       whenever the user attempts to leave a field.   The  (FIELD
-       *)  argument  is passed in so the validation predicate can
-       see the field's buffer, sizes and  other  attributes;  the
-       second  argument  is  an  argument-block  structure, about
-       which more below.
-
-       You also supply new_fieldtype with char_check, a  function
-       to  validate input characters as they are entered; it will
-       be passed the character to be checked and a pointer to  an
-       argument-block structure.
-
-       The  function free_fieldtype frees the space allocated for
-       a given validation type.
-
-       The function set_fieldtype_arg associates  three  storage-
-       management  functions  with  a  field  type.  The make_arg
-       function is automatically applied to the list of arguments
-       you  give  set_field_type  when  attaching validation to a
-       field; its job is to bundle these into an allocated  argu-
-       ment-block  object which can later be passed to validation
-       predicated.  The other two hook arguments should copy  and
-       free  argument-block structures.  They will be used by the
-       forms-driver code.  You must supply the make_arg function,
-       the  other two are optional, you may supply NULL for them.
-       In this case it is assumed that make_arg does not allocate
-       memory  but simply loads the argument into a single scalar
-       value.
-
-       The function link_fieldtype creates a new field type  from
-       the  two  given  types.   They are connected by an logical
-       'OR'.
-
-       The   form    driver    requests    REQ_NEXT_CHOICE    and
-       REQ_PREV_CHOICE assume that the possible values of a field
-       form an ordered set, and provide the forms user with a way
-       to  move  through the set.  The set_fieldtype_choice func-
-       tion allows forms  programmers  to  define  successor  and
-       predecessor functions for the field type.  These functions
-       take the field pointer and an argument-block structure  as
-       arguments.
-
-
-
-

RETURN VALUE

-       The pointer-valued routines return NULL on error.
-
-       The  integer-valued  routines  return one of the following
-       codes on error:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-       E_CONNECTED
-            The field is already connected to a form.
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-       All of the (char *) arguments of  these  functions  should
-       actually  be (void *).  The type has been left uncorrected
-       for strict compatibility with System V.
-
-
-
-

PORTABILITY

-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                     form_fieldtype(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_hook.3x.html b/src/libs/ncurses/doc/html/man/form_hook.3x.html deleted file mode 100644 index 0697169aba..0000000000 --- a/src/libs/ncurses/doc/html/man/form_hook.3x.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - -form_hook 3x - - - - -

form_hook 3x

-
-
-
-form_hook(3x)                                             form_hook(3x)
-
-
-
-
-
-

NAME

-       form_hook - set hooks for automatic invocation by applica-
-       tions
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int set_field_init(FORM *form, void (*func)(FORM *));
-       void (*)(FORM *) field_init(const FORM *form);
-       int set_field_term(FORM *form, void (*func)(FORM *));
-       void (*)(FORM *) field_term(const FORM *form);
-       int set_form_init(FORM *form, void (*func)(FORM *));
-       void (*)(FORM *) form_init(const FORM *form);
-       int set_form_term(FORM *form, void (*func)(FORM *));
-       void (*)(FORM *) form_term(const FORM *form);
-
-
-
-

DESCRIPTION

-       These functions make it possible to set hook functions  to
-       be called at various points in the automatic processing of
-       input event codes by form_driver.
-
-       The function set_field_init sets a hook to  be  called  at
-       form-post  time  and  each time the selected field changes
-       (after the change).  field_init returns the current  field
-       init hook, if any (NULL if there is no such hook).
-
-       The  function  set_field_term  sets a hook to be called at
-       form-unpost time and each time the selected field  changes
-       (before the change).  field_term returns the current field
-       term hook, if any (NULL if there is no such hook).
-
-       The function set_form_init sets a hook  to  be  called  at
-       form-post  time  and  just  after a page change once it is
-       posted.  form_init returns the current form init hook,  if
-       any (NULL if there is no such hook).
-
-       The  function  set_form_term  sets  a hook to be called at
-       form-unpost time and just before a page change once it  is
-       posted.   form_init returns the current form term hook, if
-       any (NULL if there is no such hook).
-
-
-
-

RETURN VALUE

-       Routines that return pointers return NULL on error.  Other
-       routines return one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                          form_hook(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_new.3x.html b/src/libs/ncurses/doc/html/man/form_new.3x.html deleted file mode 100644 index 1cdf94bf3d..0000000000 --- a/src/libs/ncurses/doc/html/man/form_new.3x.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - -form_new 3x - - - - -

form_new 3x

-
-
-
-form_new(3x)                                               form_new(3x)
-
-
-
-
-
-

NAME

-       form_new - create and destroy forms
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       FORM *new_form(FIELD **fields);
-       int free_form(FORM *form);
-
-
-
-

DESCRIPTION

-       The  function  new_form  creates a new form connected to a
-       specified field pointer array (which must  be  NULL-termi-
-       nated).
-
-       The  function  free_form  disconnects  form from its field
-       array and frees the storage allocated for the form.
-
-
-
-

RETURN VALUE

-       The function new_form returns NULL on error.
-
-       The function free_form returns one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-       E_POSTED
-            The form has already been posted.
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                           form_new(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_new_page.3x.html b/src/libs/ncurses/doc/html/man/form_new_page.3x.html deleted file mode 100644 index b4ba0ff9c8..0000000000 --- a/src/libs/ncurses/doc/html/man/form_new_page.3x.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - -form_new_page 3x - - - - -

form_new_page 3x

-
-
-
-form_new_page(3x)                                     form_new_page(3x)
-
-
-
-
-
-

NAME

-       form_new_page - form pagination functions
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int set_new_page(FIELD *field, bool new_page_flag);
-       bool new_page(const FIELD *field);
-
-
-
-

DESCRIPTION

-       The  function  set_new_page  sets or resets a flag marking
-       the given field as the beginning of  a  new  page  on  its
-       form.
-
-       The  function  new_page  is  a  predicate which tests if a
-       given field marks a page beginning on its form.
-
-
-
-

RETURN VALUE

-       The function new_page returns TRUE or FALSE.
-
-       The function set_new_page return one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_CONNECTED
-            The given field is already connected to a form.
-
-
-
-

SEE ALSO

-       curses(3x) and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                      form_new_page(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_opts.3x.html b/src/libs/ncurses/doc/html/man/form_opts.3x.html deleted file mode 100644 index dfe5fc3eeb..0000000000 --- a/src/libs/ncurses/doc/html/man/form_opts.3x.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - -form_opts 3x - - - - -

form_opts 3x

-
-
-
-form_opts(3x)                                             form_opts(3x)
-
-
-
-
-
-

NAME

-       form_opts - set and get form options
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int set_form_opts(FORM *form, OPTIONS opts);
-       int form_opts_on(FORM *form, OPTIONS opts);
-       int form_opts_off(FORM *form, OPTIONS opts);
-       OPTIONS form_opts(const FORM *form);
-
-
-
-

DESCRIPTION

-       The  function  set_form_opts  sets  all  the  given form's
-       option bits  (form  option  bits  may  be  logically-OR'ed
-       together).
-
-       The  function form_opts_on turns on the given option bits,
-       and leaves others alone.
-
-       The function form_opts_off  turns  off  the  given  option
-       bits, and leaves others alone.
-
-       The  function  form_opts returns the form's current option
-       bits.
-
-       The following options are defined (all are on by default):
-
-       O_NL_OVERLOAD
-            Overload  the  REQ_NEW_LINE  forms  driver request so
-            that calling it at the end of a  field  goes  to  the
-            next field.
-
-       O_BS_OVERLOAD
-            Overload  the  REQ_DEL_PREV  forms  driver request so
-            that calling it at the beginning of a field  goes  to
-            the previous field.
-
-
-
-

RETURN VALUE

-       Except for form_opts, each routine returns one of the fol-
-       lowing:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
-
-
-
-                                                          form_opts(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_page.3x.html b/src/libs/ncurses/doc/html/man/form_page.3x.html deleted file mode 100644 index dcb776931d..0000000000 --- a/src/libs/ncurses/doc/html/man/form_page.3x.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - -form_page 3x - - - - -

form_page 3x

-
-
-
-form_page(3x)                                             form_page(3x)
-
-
-
-
-
-

NAME

-       form_page - set and get form page number
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int set_current_field(FORM *form, FIELD *field);
-       FIELD *current_field(const FORM *);
-       int set_form_page(FORM *form, int n);
-       int form_page(const FORM *form);
-       int field_index(const FIELD *field);
-
-
-
-

DESCRIPTION

-       The  function  set_current field sets the current field of
-       the given form; current_field returns the current field of
-       the given form.
-
-       The  function  set_form_page  sets  the form's page number
-       (goes to page n of the form).
-
-       The function form_page returns  the  form's  current  page
-       number.
-
-       The function field_index returns the index of the field in
-       the field array of the form it is connected to. It returns
-       ERR  if  the  argument is the null pointer or the field is
-       not connected.
-
-
-
-

RETURN VALUE

-       Except for form_page, each routine returns one of the fol-
-       lowing:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
-
-       E_BAD_STATE
-            Routine was called from an initialization or termina-
-            tion function.
-
-       E_INVALID_FIELD
-            Contents of a field are not valid.
-
-       E_REQUEST_DENIED
-            The form driver could not process the request.
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                          form_page(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_post.3x.html b/src/libs/ncurses/doc/html/man/form_post.3x.html deleted file mode 100644 index bd91cf90ca..0000000000 --- a/src/libs/ncurses/doc/html/man/form_post.3x.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - -form_post 3x - - - - -

form_post 3x

-
-
-
-form_post(3x)                                             form_post(3x)
-
-
-
-
-
-

NAME

-       form_post  -  write or erase forms from associated subwin-
-       dows
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int post_form(FORM *form);
-       int unpost_form(FORM *form);
-
-
-
-

DESCRIPTION

-       The function post_form displays a form to  its  associated
-       subwindow.   To trigger physical display of the subwindow,
-       use  refresh  or  some  equivalent  curses  routine   (the
-       implicit  doupdate  triggered  by  an curses input request
-       will do).
-
-       The function unpost_form erases form from  its  associated
-       subwindow.
-
-
-
-

RETURN VALUE

-       These routines return one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
-
-       E_POSTED
-            The form has already been posted.
-
-       E_BAD_STATE
-            Routine was called from an initialization or termina-
-            tion function.
-
-       E_NO_ROOM
-            Form is too large for its window.
-
-       E_NOT_POSTED
-            The form has not been posted.
-
-       E_NOT_CONNECTED
-            No items are connected to the form.
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                          form_post(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_requestname.3x.html b/src/libs/ncurses/doc/html/man/form_requestname.3x.html deleted file mode 100644 index 7d28e4ffc2..0000000000 --- a/src/libs/ncurses/doc/html/man/form_requestname.3x.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - -form_requestname 3x - - - - -

form_requestname 3x

-
-
-
-form_requestname(3x)                               form_requestname(3x)
-
-
-
-
-
-

NAME

-       form_requestname - handle printable form request names
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       const char *form_request_name(int request);
-       int form_request_by_name(const char *name);
-
-
-
-

DESCRIPTION

-       The  function form_request_name returns the printable name
-       of a form request code.
-       The function form_request_by_name searches in the name-ta-
-       ble  for  a  request  with  the given name and returns its
-       request code. Otherwise E_NO_MATCH is returned.
-
-
-
-

RETURN VALUE

-       form_request_name returns NULL on error and sets errno  to
-       E_BAD_ARGUMENT.
-       form_request_by_name returns E_NO_MATCH on error.
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                   form_requestname(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_userptr.3x.html b/src/libs/ncurses/doc/html/man/form_userptr.3x.html deleted file mode 100644 index 503275e78c..0000000000 --- a/src/libs/ncurses/doc/html/man/form_userptr.3x.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - -form_userptr 3x - - - - -

form_userptr 3x

-
-
-
-form_userptr(3x)                                       form_userptr(3x)
-
-
-
-
-
-

NAME

-       form_userptr - associate application data with a form item
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int set_form_userptr(FORM *form, void *userptr);
-       void* form_userptr(const FORM *form);
-
-
-
-

DESCRIPTION

-       Every form and every form item has a  field  that  can  be
-       used to hold application-specific data (that is, the form-
-       driver code leaves it alone).  These functions get and set
-       the form user pointer field.
-
-
-
-

RETURN VALUE

-       The  function  form_userptr  returns  NULL  on error.  The
-       function set_form_userptr returns one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
-
-       The user pointer should be a void pointer.  We leave it as
-       a char pointer for SVr4 compatibility.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                       form_userptr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/form_win.3x.html b/src/libs/ncurses/doc/html/man/form_win.3x.html deleted file mode 100644 index 8967b91c3a..0000000000 --- a/src/libs/ncurses/doc/html/man/form_win.3x.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - -form_win 3x - - - - -

form_win 3x

-
-
-
-form_win(3x)                                               form_win(3x)
-
-
-
-
-
-

NAME

-       form_win  - make and break form window and subwindow asso-
-       ciations
-
-
-
-

SYNOPSIS

-       #include <form.h>
-       int set_form_win(FORM *form, WINDOW *win);
-       WINDOW *form_win(const FORM *form);
-       int set_form_sub(FORM *form, WINDOW *sub);
-       WINDOW *form_sub(const FORM *form);
-       int scale_form(const FORM *form, int *rows, int *columns);
-
-
-
-

DESCRIPTION

-       Every  form has an associated pair of curses windows.  The
-       form window displays any title and border associated  with
-       the  window;  the form subwindow displays the items of the
-       form that are currently available for selection.
-
-       The first four functions get and set those windows.  It is
-       not necessary to set either window; by default, the driver
-       code uses stdscr for both.
-
-       In the set_ functions, window argument of NULL is  treated
-       as  though  it  were  stsdcr.   A form argument of NULL is
-       treated as a request to change  the  system  default  form
-       window or subwindow.
-
-       The  function scale_form returns the minimum size required
-       for the subwindow of form.
-
-
-
-

RETURN VALUE

-       Routines that return pointers return NULL on error.   Rou-
-       tines  that  return an integer return one of the following
-       error codes:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-       E_POSTED
-            The form has already been posted.
-
-       E_NOT_CONNECTED
-            No items are connected to the form.
-
-
-
-

SEE ALSO

-       curses(3x), form(3x).
-
-
-
-

NOTES

-       The header file <form.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                           form_win(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/index.html b/src/libs/ncurses/doc/html/man/index.html deleted file mode 100644 index 40cbd59615..0000000000 --- a/src/libs/ncurses/doc/html/man/index.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - -NCURSES - Manual Pages - - - - -
- - - diff --git a/src/libs/ncurses/doc/html/man/infocmp.1m.html b/src/libs/ncurses/doc/html/man/infocmp.1m.html deleted file mode 100644 index 34a0be1005..0000000000 --- a/src/libs/ncurses/doc/html/man/infocmp.1m.html +++ /dev/null @@ -1,439 +0,0 @@ - - - - -infocmp 1m - - - - -

infocmp 1m

-
-
-
-infocmp(1m)                                                 infocmp(1m)
-
-
-
-
-
-

NAME

-       infocmp - compare or print out terminfo descriptions
-
-
-
-

SYNOPSIS

-       infocmp [-1CEFGILTVcdegilnpqrtux]
-             [-v n] [-s d| i| l| c] [-R subset]
-             [-w width] [-A directory] [-B directory]
-             [termname...]
-
-
-
-

DESCRIPTION

-       infocmp  can  be  used  to compare a binary terminfo entry
-       with other terminfo entries, rewrite a  terminfo  descrip-
-       tion  to  take  advantage  of  the use= terminfo field, or
-       print out a terminfo  description  from  the  binary  file
-       (term) in a variety of formats.  In all cases, the boolean
-       fields will be printed  first,  followed  by  the  numeric
-       fields, followed by the string fields.
-
-   Default Options
-       If  no options are specified and zero or one termnames are
-       specified, the -I option will be assumed.   If  more  than
-       one  termname is specified, the -d option will be assumed.
-
-   Comparison Options [-d] [-c] [-n]
-       infocmp compares the terminfo  description  of  the  first
-       terminal  termname  with each of the descriptions given by
-       the entries for the  other  terminal's  termnames.   If  a
-       capability  is  defined for only one of the terminals, the
-       value returned will depend on the type of the  capability:
-       F  for  boolean  variables,  -1 for integer variables, and
-       NULL for string variables.
-
-       The -d option produces a list of each capability  that  is
-       different  between  two entries.  This option is useful to
-       show the difference between two entries, created  by  dif-
-       ferent people, for the same or similar terminals.
-
-       The  -c  option produces a list of each capability that is
-       common between two entries.  Capabilities that are not set
-       are  ignored.  This option can be used as a quick check to
-       see if the -u option is worth using.
-
-       The -n option produces a list of each capability  that  is
-       in neither entry.  If no termnames are given, the environ-
-       ment variable TERM will be used for both of the termnames.
-       This  can  be used as a quick check to see if anything was
-       left out of a description.
-
-   Source Listing Options [-I] [-L] [-C] [-r]
-       The -I, -L, and -C options will produce a  source  listing
-       for each terminal named.
-
-
-      -I   use the terminfo names
-      -L   use the long C variable name listed in <term.h>
-      -C   use the termcap names
-      -r   when using -C, put out all capabilities in termcap form
-
-       If  no  termnames are given, the environment variable TERM
-       will be used for the terminal name.
-
-       The source produced by the -C option may be used  directly
-       as  a termcap entry, but not all parameterized strings can
-       be changed to the termcap format.  infocmp will attempt to
-       convert  most  of  the parameterized information, and any-
-       thing not converted will be plainly marked in  the  output
-       and commented out.  These should be edited by hand.
-
-       All  padding  information  for  strings  will be collected
-       together and placed at the beginning of the  string  where
-       termcap  expects  it.  Mandatory padding (padding informa-
-       tion with a trailing '/') will become optional.
-
-       All termcap variables no longer supported by terminfo, but
-       which are derivable from other terminfo variables, will be
-       output.  Not all terminfo capabilities will be translated;
-       only  those variables which were part of termcap will nor-
-       mally be output.  Specifying the -r option will  take  off
-       this  restriction,  allowing all capabilities to be output
-       in termcap form.
-
-       Note that because padding is collected to the beginning of
-       the  capability,  not all capabilities are output.  Manda-
-       tory padding is not supported.   Because  termcap  strings
-       are  not as flexible, it is not always possible to convert
-       a terminfo string capability into  an  equivalent  termcap
-       format.   A subsequent conversion of the termcap file back
-       into terminfo format will not  necessarily  reproduce  the
-       original terminfo source.
-
-       Some  common  terminfo  parameter sequences, their termcap
-       equivalents, and some terminal types which  commonly  have
-       such sequences, are:
-
-
-     terminfo                    termcap   Representative Terminals
-     ---------------------------------------------------------------
-     %p1%c                       %.        adm
-     %p1%d                       %d        hp, ANSI standard, vt100
-     %p1%'x'%+%c                 %+x       concept
-     %i                          %iq       ANSI standard, vt100
-     %p1%?%'x'%>%t%p1%'y'%+%;    %>xy      concept
-     %p2 is printed before %p1   %r        hp
-
-   Use= Option [-u]
-       The  -u  option  produces a terminfo source description of
-       the first terminal termname which is relative to  the  sum
-       of  the  descriptions  given  by the entries for the other
-       terminals termnames.  It does this by analyzing  the  dif-
-       ferences   between   the  first  termname  and  the  other
-       termnames and producing a description with use= fields for
-       the  other  terminals.   In this manner, it is possible to
-       retrofit  generic  terminfo  entries  into  a   terminal's
-       description.  Or, if two similar terminals exist, but were
-       coded at different times or by different  people  so  that
-       each description is a full description, using infocmp will
-       show what can be done to change one description to be rel-
-       ative to the other.
-
-       A capability will get printed with an at-sign (@) if it no
-       longer exists in the first termname, but one of the  other
-       termname  entries contains a value for it.  A capability's
-       value gets printed if the value in the first  termname  is
-       not  found in any of the other termname entries, or if the
-       first of the other termname entries that has this capabil-
-       ity  gives  a different value for the capability than that
-       in the first termname.
-
-       The order of the other termname  entries  is  significant.
-       Since  the terminfo compiler tic does a left-to-right scan
-       of the capabilities, specifying two use= entries that con-
-       tain differing entries for the same capabilities will pro-
-       duce different results depending on  the  order  that  the
-       entries  are  given in.  infocmp will flag any such incon-
-       sistencies between the other termname entries as they  are
-       found.
-
-       Alternatively,  specifying a capability after a use= entry
-       that contains that capability will cause the second speci-
-       fication  to  be  ignored.   Using  infocmp  to recreate a
-       description can be a useful check to make sure that every-
-       thing  was  specified  correctly  in  the  original source
-       description.
-
-       Another error  that  does  not  cause  incorrect  compiled
-       files,  but will slow down the compilation time, is speci-
-       fying extra use= fields  that  are  superfluous.   infocmp
-       will  flag  any  other  termname use= fields that were not
-       needed.
-
-   Changing Databases [-A directory] [-B directory]
-       The location of the compiled terminfo  database  is  taken
-       from  the environment variable TERMINFO .  If the variable
-       is not defined, or the terminal is not found in that loca-
-       tion,  the  system  terminfo  database, in /usr/share/ter-
-       minfo, will be used.  The options -A and -B may be used to
-       override  this  location.  The -A option will set TERMINFO
-       for the first termname and the -B option will set TERMINFO
-       for  the  other  termnames.   With this, it is possible to
-       compare descriptions for a terminal  with  the  same  name
-       located  in  two  different databases.  This is useful for
-       comparing descriptions for the same  terminal  created  by
-       different people.
-
-   Other Options
-       -1   causes  the  fields  to be printed out one to a line.
-            Otherwise, the fields will be printed  several  to  a
-            line to a maximum width of 60 characters.
-
-       -a   tells  infocmp  to  retain commented-out capabilities
-            rather than discarding them.  Capabilities  are  com-
-            mented by prefixing them with a period.
-
-       -E   Dump  the  capabilities  of  the  given  terminal  as
-            tables, needed in the C initializer  for  a  TERMTYPE
-            structure  (the  terminal capability structure in the
-            <term.h>).  This option is useful for preparing  ver-
-            sions  of  the  curses  library hardwired for a given
-            terminal type.  The tables are all  declared  static,
-            and  are  named according to the type and the name of
-            the corresponding terminal entry.
-
-            Before ncurses 5.0, the split between the -e  and  -E
-            options  was  not  needed;  but  support for extended
-            names required making the arrays of terminal capabil-
-            ities separate from the TERMTYPE structure.
-
-       -e   Dump  the  capabilities  of the given terminal as a C
-            initializer for a TERMTYPE  structure  (the  terminal
-            capability  structure  in the <term.h>).  This option
-            is  useful  for  preparing  versions  of  the  curses
-            library hardwired for a given terminal type.
-
-       -F   compare  terminfo  files.  This assumes that two fol-
-            lowing  arguments  are  filenames.   The  files   are
-            searched  for  pairwise matches between entries, with
-            two entries considered to match if any of their names
-            do.   The  report  printed  to  standard output lists
-            entries with  no  matches  in  the  other  file,  and
-            entries  with  more than one match.  For entries with
-            exactly one match it includes  a  difference  report.
-            Normally,  to  reduce  the  volume of the report, use
-            references are not resolved before looking  for  dif-
-            ferences, but resolution can be forced by also speci-
-            fying -r.
-
-       -f   Display  complex  terminfo  strings   which   contain
-            if/then/else/endif expressions indented for readabil-
-            ity.
-
-       -G   Display constant literals in decimal form rather than
-            their character equivalents.
-
-       -g   Display  constant  character  literals in quoted form
-            rather than their decimal equivalents.
-
-       -i   Analyze the initialization (is1, is2, is3), and reset
-            (rs1,  rs2,  rs3),  strings  in  the entry.  For each
-            string, the code tries to analyze it into actions  in
-            terms of the other capabilities in the entry, certain
-            X3.64/ISO 6429/ECMA-48 capabilities, and certain  DEC
-            VT-series  private  modes (the set of recognized spe-
-            cial sequences has  been  selected  for  completeness
-            over  the  existing  terminfo database).  Each report
-            line consists of the capability name, followed  by  a
-            colon and space, followed by a printable expansion of
-            the capability string with sections  matching  recog-
-            nized  actions  translated into {}-bracketed descrip-
-            tions.  Here  is  a  list  of  the  DEC/ANSI  special
-            sequences recognized:
-
-
-                  Action        Meaning
-                  -----------------------------------------
-                  RIS           full reset
-                  SC            save cursor
-                  RC            restore cursor
-                  LL            home-down
-                  RSR           reset scroll region
-
-                  DECSTR        soft reset (VT320)
-                  S7C1T         7-bit controls (VT220)
-
-                  ISO DEC G0    enable DEC graphics for G0
-                  ISO UK G0     enable UK chars for G0
-                  ISO US G0     enable US chars for G0
-                  ISO DEC G1    enable DEC graphics for G1
-                  ISO UK G1     enable UK chars for G1
-                  ISO US G1     enable US chars for G1
-
-                  DECPAM        application keypad mode
-                  DECPNM        normal keypad mode
-                  DECANSI       enter ANSI mode
-
-                  ECMA[+-]AM    keyboard action mode
-                  ECMA[+-]IRM   insert replace mode
-                  ECMA[+-]SRM   send receive mode
-                  ECMA[+-]LNM   linefeed mode
-
-                  DEC[+-]CKM    application cursor keys
-                  DEC[+-]ANM    set VT52 mode
-
-                  DEC[+-]COLM   132-column mode
-                  DEC[+-]SCLM   smooth scroll
-                  DEC[+-]SCNM   reverse video mode
-                  DEC[+-]OM     origin mode
-                  DEC[+-]AWM    wraparound mode
-                  DEC[+-]ARM    auto-repeat mode
-
-            It  also  recognizes  a  SGR  action corresponding to
-            ANSI/ISO 6429/ECMA Set Graphics Rendition,  with  the
-            values  NORMAL,  BOLD, UNDERLINE, BLINK, and REVERSE.
-            All but NORMAL may be prefixed with `+' (turn on)  or
-            `-' (turn off).
-
-            An   SGR0  designates  an  empty  highlight  sequence
-            (equivalent to {SGR:NORMAL}).
-
-       -l   Set output format to terminfo.
-
-       -p   Ignore padding specifications when comparing strings.
-
-       -q   Make  the comparison listing shorter by omitting sub-
-            headings, and using "-" for absent capabilities,  "@"
-            for canceled rather than "NULL".
-
-       -Rsubset
-            Restrict  output  to  a given subset.  This option is
-            for use with archaic versions of terminfo like  those
-            on  SVr1,  Ultrix,  or  HP/UX that do not support the
-            full set of SVR4/XSI Curses  terminfo;  and  variants
-            such as AIX that have their own extensions incompati-
-            ble with SVr4/XSI.  Available  terminfo  subsets  are
-            "SVr1",  "Ultrix",  "HP",  and "AIX"; see terminfo(5)
-            for details.  You can also choose  the  subset  "BSD"
-            which  selects only capabilities with termcap equiva-
-            lents recognized by 4.4BSD.
-
-       -s [d|i|l|c]
-            The -s option  sorts  the  fields  within  each  type
-            according to the argument below:
-
-            d    leave  fields  in the order that they are stored
-                 in the terminfo database.
-
-            i    sort by terminfo name.
-
-            l    sort by the long C variable name.
-
-            c    sort by the termcap name.
-
-            If the -s option is not given, the fields printed out
-            will  be  sorted  alphabetically by the terminfo name
-            within each type, except in the case of the -C or the
-            -L options, which cause the sorting to be done by the
-            termcap name or the long  C  variable  name,  respec-
-            tively.
-
-       -T   eliminates  size-restrictions  on the generated text.
-            This is mainly useful for testing and analysis, since
-            the compiled descriptions are limited (e.g., 1023 for
-            termcap, 4096 for terminfo).
-
-       -t   tells  tic  to  discard  commented-out  capabilities.
-            Normally  when  translating from terminfo to termcap,
-            untranslatable capabilities are commented-out.
-
-       -V   reports the version of ncurses which was used in this
-            program, and exits.
-
-       -v n prints  out  tracing information on standard error as
-            the program runs.  Higher values of n induce  greater
-            verbosity.
-
-       -w width
-            changes the output to width characters.
-
-       -x   print   information  for  user-defined  capabilities.
-            These are extensions to the terminfo repertoire which
-            can be loaded using the -x option of tic.
-
-
-
-

FILES

-       /usr/share/terminfo Compiled      terminal     description
-                           database.
-
-
-
-

EXTENSIONS

-       The -E, -F, -G, -R, -T, -V, -a, -e, -f, -g, -i, -l, -p, -q
-       and -t options are not supported in SVr4 curses.
-
-       The -r option's notion of `termcap' capabilities is System
-       V Release 4's.  Actual BSD curses  versions  will  have  a
-       more  restricted  set.  To see only the 4.4BSD set, use -r
-       -RBSD.
-
-
-
-

BUGS

-       The -F option of infocmp(1m) should be a toe(1m) mode.
-
-
-
-

SEE ALSO

-       infocmp(1m),   captoinfo(1m),   infotocap(1m),    tic(1m),
-       toe(1m), curses(3x), terminfo(5).
-
-
-
-

AUTHOR

-       Eric S. Raymond <esr@snark.thyrsus.com> and
-       Thomas E. Dickey <dickey@invisible-island.net>
-
-
-
-                                                            infocmp(1m)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/infotocap.1m.html b/src/libs/ncurses/doc/html/man/infotocap.1m.html deleted file mode 100644 index 2eb151a04a..0000000000 --- a/src/libs/ncurses/doc/html/man/infotocap.1m.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - -infotocap 1m - - - - -

infotocap 1m

-
-
-
-infotocap(1m)                                             infotocap(1m)
-
-
-
-
-
-

NAME

-       infotocap  - convert a terminfo description into a termcap
-       description
-
-
-
-

SYNOPSIS

-       infotocap [-vn width]  [-V] [-1] [-w width] file . . .
-
-
-
-

DESCRIPTION

-       infotocap looks in file for  terminfo  descriptions.   For
-       each one found, an equivalent termcap description is writ-
-       ten to standard output.   Terminfo  use  capabilities  are
-       translated directly to termcap tc capabilities.
-
-       -v   print  out  tracing  information on standard error as
-            the program runs.
-
-       -V   print out the version of the program in use on  stan-
-            dard error and exit.
-
-       -1   cause  the fields to print out one to a line.  Other-
-            wise, the fields will be printed several to a line to
-            a maximum width of 60 characters.
-
-       -w   change the output to width characters.
-
-
-
-

FILES

-       /usr/share/terminfo Compiled      terminal     description
-                           database.
-
-
-
-

NOTES

-       This utility is actually a link to tic(1m), running in  -C
-       mode.  You can use other tic options such as -f and  -x.
-
-
-
-

SEE ALSO

-       curses(3x), tic(1m), infocmp(1m), terminfo(5)
-
-
-
-                                                          infotocap(1m)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/key_defined.3x.html b/src/libs/ncurses/doc/html/man/key_defined.3x.html deleted file mode 100644 index 3bd0d7728d..0000000000 --- a/src/libs/ncurses/doc/html/man/key_defined.3x.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - -key_defined 3x - - - - -

key_defined 3x

-
-
-
-key_defined(3x)                                         key_defined(3x)
-
-
-
-
-
-

NAME

-       key_defined - check if a keycode is defined
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int key_defined(const char *definition);
-
-
-
-

DESCRIPTION

-       This is an extension to the curses library.  It permits an
-       application to determine if a string is currently bound to
-       any keycode.
-
-
-
-

RETURN VALUE

-       If  the  string  is bound to a keycode, its value (greater
-       than zero) is returned.  If no keycode is bound,  zero  is
-       returned.   If  the  string  conflicts with longer strings
-       which are bound to keys, -1 is returned.
-
-
-
-

PORTABILITY

-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
-
-
-
-

SEE ALSO

-       define_key(3x).
-
-
-
-

AUTHOR

-       Thomas Dickey.
-
-
-
-                                                        key_defined(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/keybound.3x.html b/src/libs/ncurses/doc/html/man/keybound.3x.html deleted file mode 100644 index 5b584482be..0000000000 --- a/src/libs/ncurses/doc/html/man/keybound.3x.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - -keyok 3x - - - - -

keyok 3x

-
-
-
-keyok(3x)                                                     keyok(3x)
-
-
-
-
-
-

NAME

-       keybound - return definition of keycode
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       char * keybound(int keycode, int count);
-
-
-
-

DESCRIPTION

-       This is an extension to the curses library.  It permits an
-       application to determine the string which  is  defined  in
-       the terminfo for specific keycodes.
-
-
-
-

RETURN VALUE

-       The keycode parameter must be greater than zero, else NULL
-       is returned.  If it does not correspond to a defined  key,
-       then  NULL  is  returned.   The count parameter is used to
-       allow the application to iterate through multiple  defini-
-       tions,  counting from zero.  When successful, the function
-       returns a string which must be freed by the caller.
-
-
-
-

PORTABILITY

-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
-
-
-
-

SEE ALSO

-       define_key(3x), keyok(3x).
-
-
-
-

AUTHOR

-       Thomas Dickey.
-
-
-
-                                                              keyok(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/keyok.3x.html b/src/libs/ncurses/doc/html/man/keyok.3x.html deleted file mode 100644 index 4664220d50..0000000000 --- a/src/libs/ncurses/doc/html/man/keyok.3x.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - -keyok 3x - - - - -

keyok 3x

-
-
-
-keyok(3x)                                                     keyok(3x)
-
-
-
-
-
-

NAME

-       keyok - enable or disable a keycode
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int keyok(int keycode, bool enable);
-
-
-
-

DESCRIPTION

-       This is an extension to the curses library.  It permits an
-       application to disable specific keycodes, rather than  use
-       the  keypad  function  to disable all keycodes.  Keys that
-       have been disabled can be reenabled.
-
-
-
-

RETURN VALUE

-       The keycode  must  be  greater  than  zero,  else  ERR  is
-       returned.   If  it  does  not correspond to a defined key,
-       then ERR is returned.  If the enable  parameter  is  true,
-       then  the  key  must  have  been disabled, and vice versa.
-       Otherwise, the function returns OK.
-
-
-
-

PORTABILITY

-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
-
-
-
-

SEE ALSO

-       define_key(3x).
-
-
-
-

AUTHOR

-       Thomas Dickey.
-
-
-
-                                                              keyok(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/menu.3x.html b/src/libs/ncurses/doc/html/man/menu.3x.html deleted file mode 100644 index 332077c673..0000000000 --- a/src/libs/ncurses/doc/html/man/menu.3x.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - -menu 3x - - - - -

menu 3x

-
-
-
-menu(3x)                                                       menu(3x)
-
-
-
-
-
-

NAME

-       menu - curses extension for programming menus
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-
-
-
-

DESCRIPTION

-       The  menu library provides terminal-independent facilities
-       for composing menu systems  on  character-cell  terminals.
-       The library includes: item routines, which create and mod-
-       ify menu items; and menu routines, which group items  into
-       menus, display menus on the screen, and handle interaction
-       with the user.
-
-       The menu library uses the curses libraries, and  a  curses
-       initialization  routine  such  as  initscr  must be called
-       before using any of these  functions.   To  use  the  menu
-       library, link with the options -lmenu -lcurses.
-
-
-   Current Default Values for Item Attributes
-       The  menu  library  maintains  a  default  value  for item
-       attributes.  You can get or set this  default  by  calling
-       the  appropriate  get_  or  set_  routine with a NULL item
-       pointer.  Changing  this  default  with  a  set_  function
-       affects  future  item  creations,  but does not change the
-       rendering of items already created.
-
-
-   Routine Name Index
-       The following table lists each menu routine and  the  name
-       of the manual page on which it is described.
-
-
-       curses Routine Name    Manual Page Name
-       --------------------------------------------
-       current_item           mitem_current(3x)
-       free_item              mitem_new(3x)
-       free_menu              menu_new(3x)
-       item_count             menu_items(3x)
-       item_description       mitem_name(3x)
-       item_index             mitem_current(3x)
-       item_init              menu_hook(3x)
-       item_name              mitem_name(3x)
-       item_opts              mitem_opts(3x)
-       item_opts_off          mitem_opts(3x)
-       item_opts_on           mitem_opts(3x)
-       item_term              menu_hook(3x)
-       item_userptr           mitem_userptr(3x)
-       item_value             mitem_value(3x)
-       item_visible           mitem_visible(3x)
-       menu_back              menu_attributes(3x)
-       menu_driver            menu_driver(3x)
-       menu_fore              menu_attributes(3x)
-       menu_format            menu_format(3x)
-       menu_grey              menu_attributes(3x)
-       menu_init              menu_hook(3x)
-       menu_items             menu_items(3x)
-       menu_mark              menu_mark(3x)
-       menu_opts              menu_opts(3x)
-       menu_opts_off          menu_opts(3x)
-
-       menu_opts_on           menu_opts(3x)
-       menu_pad               menu_attributes(3x)
-       menu_pattern           menu_pattern(3x)
-       menu_request_by_name   menu_requestname(3x)
-       menu_request_name      menu_requestname(3x)
-       menu_spacing           menu_spacing(3x)
-       menu_sub               menu_win(3x)
-       menu_term              menu_hook(3x)
-       menu_userptr           menu_userptr(3x)
-       menu_win               menu_win(3x)
-       new_item               mitem_new(3x)
-       new_menu               menu_new(3x)
-       pos_menu_cursor        menu_cursor(3x)
-       post_menu              menu_post(3x)
-       scale_menu             menu_win(3x)
-       set_current_item       mitem_current(3x)
-       set_item_init          menu_hook(3x)
-       set_item_opts          mitem_opts(3x)
-       set_item_term          menu_hook(3x)
-       set_item_userptr       mitem_userptr(3x)
-       set_item_value         mitem_value(3x)
-       set_menu_back          menu_attributes(3x)
-       set_menu_fore          menu_attributes(3x)
-       set_menu_format        menu_format(3x)
-       set_menu_grey          menu_attributes(3x)
-       set_menu_init          menu_hook(3x)
-       set_menu_items         menu_items(3x)
-       set_menu_mark          menu_mark(3x)
-       set_menu_opts          mitem_opts(3x)
-       set_menu_pad           menu_attributes(3x)
-       set_menu_pattern       menu_pattern(3x)
-       set_menu_spacing       menu_spacing(3x)
-       set_menu_sub           menu_win(3x)
-       set_menu_term          menu_hook(3x)
-       set_menu_userptr       menu_userptr(3x)
-       set_menu_win           menu_win(3x)
-       set_top_row            mitem_current(3x)
-       top_row                mitem_current(3x)
-       unpost_menu            menu_post(3x)
-
-
-
-

RETURN VALUE

-       Routines  that return pointers return NULL on error.  Rou-
-       tines that return an integer return one of  the  following
-       error codes:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
-
-       E_POSTED
-            The menu is already posted.
-
-       E_BAD_STATE
-            Routine was called from an initialization or termina-
-            tion function.
-
-       E_NO_ROOM
-            Menu is too large for its window.
-
-       E_NOT_POSTED
-            The menu has not been posted.
-
-       E_UNKNOWN_COMMAND
-            The menu driver code saw an unknown request code.
-
-       E_NO_MATCH
-            Character failed to match.
-
-       E_NOT_SELECTABLE
-            The designated item cannot be selected.
-
-       E_NOT_CONNECTED
-            No items are connected to the menu.
-
-       E_REQUEST_DENIED
-            The menu driver could not process the request.
-
-
-
-

SEE ALSO

-       curses(3x) and related pages whose names begin "menu_" for
-       detailed descriptions of the entry points.
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       files <curses.h> and <eti.h>.
-
-       In  your  library  list,  libmenu.a should be before libn-
-       curses.a; that is, you want to say `-lmenu -lncurses', not
-       the  other  way  around (which would give you a link error
-       using GNU ld(1) and many other linkers).
-
-
-
-

PORTABILITY

-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.  Manual pages and adaptation for ncurses
-       by Eric S. Raymond.
-
-
-
-                                                               menu(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/menu_attributes.3x.html b/src/libs/ncurses/doc/html/man/menu_attributes.3x.html deleted file mode 100644 index 109051e23f..0000000000 --- a/src/libs/ncurses/doc/html/man/menu_attributes.3x.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - -menu_attributes 3x - - - - -

menu_attributes 3x

-
-
-
-menu_attributes(3x)                                 menu_attributes(3x)
-
-
-
-
-
-

NAME

-       menu_attributes - color and attribute control for menus
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int set_menu_fore(MENU *menu, chtype attr);
-       chtype menu_fore(const MENU *menu);
-       int set_menu_back(MENU *menu, chtype attr);
-       chtype menu_back(const MENU *menu);
-       int set_menu_grey(MENU *menu, chtype attr);
-       chtype menu_grey(const MENU *menu);
-       int set_menu_pad(MENU *menu, int pad);
-       int menu_pad(const MENU *menu);
-
-
-
-

DESCRIPTION

-       The  function  set_menu_fore sets the foreground attribute
-       of menu. This is the  highlight  used  for  selected  menu
-       items.   menu_fore  returns the foreground attribute.  The
-       default is A_STANDOUT.
-
-       The function set_menu_back sets the  background  attribute
-       of  menu.  This  is the highlight used for selectable (but
-       not  currently  selected)  menu   items.    The   function
-       menu_back  returns  the background attribute.  The default
-       is A_NORMAL.
-
-       The function set_menu_grey  sets  the  grey  attribute  of
-       menu.  This  is  the highlight used for un-selectable menu
-       items in menus that permit more than one  selection.   The
-       function   menu_grey  returns  the  grey  attribute.   The
-       default is A_UNDERLINE.
-
-       The function set_menu_pad sets the character used to  fill
-       the space between the name and description parts of a menu
-       item.  menu_pad returns the given  menu's  pad  character.
-       The default is a blank.
-
-
-
-

RETURN VALUE

-       These routines return one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
-
-
-
-

SEE ALSO

-       curses(3x) and related pages whose names begin "menu_" for
-       detailed descriptions of the entry points.
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                    menu_attributes(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/menu_cursor.3x.html b/src/libs/ncurses/doc/html/man/menu_cursor.3x.html deleted file mode 100644 index f88c0094a1..0000000000 --- a/src/libs/ncurses/doc/html/man/menu_cursor.3x.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - -menu_cursor 3x - - - - -

menu_cursor 3x

-
-
-
-menu_cursor(3x)                                         menu_cursor(3x)
-
-
-
-
-
-

NAME

-       menu_cursor - position a menu's cursor
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int pos_menu_cursor(const MENU *menu);
-
-
-
-

DESCRIPTION

-       The  function  pos_menu_cursor  restores the cursor to the
-       current position associated with the menu's selected item.
-       This  is  useful after curses routines have been called to
-       do screen-painting in response to a menu select.
-
-
-
-

RETURN VALUE

-       This routine returns one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-       E_NOT_POSTED
-            The menu has not been posted.
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                        menu_cursor(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/menu_driver.3x.html b/src/libs/ncurses/doc/html/man/menu_driver.3x.html deleted file mode 100644 index a527d17980..0000000000 --- a/src/libs/ncurses/doc/html/man/menu_driver.3x.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - -menu_driver 3x - - - - -

menu_driver 3x

-
-
-
-menu_driver(3x)                                         menu_driver(3x)
-
-
-
-
-
-

NAME

-       menu_driver - command-processing loop of the menu system
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int menu_driver(MENU *menu, int c);
-
-
-
-

DESCRIPTION

-       Once a menu has been posted (displayed), you should funnel
-       input events to it through menu_driver.  This routine  has
-       three  major input cases; either the input is a menu navi-
-       gation request, it's a printable ASCII character or it  is
-       the  KEY_MOUSE special key associated with an mouse event.
-       The menu driver requests are as follows:
-
-       REQ_LEFT_ITEM
-            Move left to an item.
-
-       REQ_RIGHT_ITEM
-            Move right to an item.
-
-       REQ_UP_ITEM
-            Move up to an item.
-
-       REQ_DOWN_ITEM
-            Move down to an item.
-
-       REQ_SCR_ULINE
-            Scroll up a line.
-
-       REQ_SCR_DLINE
-            Scroll down a line.
-
-       REQ_SCR_DPAGE
-            Scroll down a page.
-
-       REQ_SCR_UPAGE
-            Scroll up a page.
-
-       REQ_FIRST_ITEM
-            Move to the first item.
-
-       REQ_LAST_ITEM
-            Move to the last item.
-
-       REQ_NEXT_ITEM
-            Move to the next item.
-
-       REQ_PREV_ITEM
-            Move to the previous item.
-
-       REQ_TOGGLE_ITEM
-            Select/deselect an item.
-
-       REQ_CLEAR_PATTERN
-            Clear the menu pattern buffer.
-
-       REQ_BACK_PATTERN
-            Delete  the  previous  character  from  the   pattern
-            buffer.
-
-       REQ_NEXT_MATCH
-            Move to the next item matching the pattern match.
-
-       REQ_PREV_MATCH
-            Move to the previous item matching the pattern match.
-
-       If the second argument is a printable ASCII character, the
-       code appends it to the pattern buffer and attempts to move
-       to the next item matching the new pattern.  If there is no
-       such match, menu_driver returns E_NO_MATCH and deletes the
-       appended character from the buffer.
-
-       If the second argument is one  of  the  above  pre-defined
-       requests, the corresponding action is performed.
-
-       If  the  second argument is the KEY_MOUSE special key, the
-       associated mouse event is translated into one of the above
-       pre-defined  requests.   Currently only clicks in the user
-       window (e.g. inside the menu display area or  the  decora-
-       tion  window)  are handled. If you click above the display
-       region of the menu, a REQ_SCR_ULINE is generated,  if  you
-       doubleclick  a  REQ_SCR_UPAGE  is  generated  and  if  you
-       tripleclick a REQ_FIRST_ITEM is generated.  If  you  click
-       below  the  display region of the menu, a REQ_SCR_DLINE is
-       generated, if you doubleclick a REQ_SCR_DPAGE is generated
-       and  if  you  tripleclick a REQ_LAST_ITEM is generated. If
-       you click at an item inside the display area of the  menu,
-       the menu cursor is positioned to that item. If you double-
-       click at  an  item  a  REQ_TOGGLE_ITEM  is  generated  and
-       E_UNKNOWN_COMMAND  is  returned.  This  return value makes
-       sense, because a double click usually means that an  item-
-       specific  action should be returned. It's exactly the pur-
-       pose of this return value to signal  that  an  application
-       specific command should be executed. If a translation into
-       a request was done, menu_driver returns the result of this
-       request.   If  you  clicked outside the user window or the
-       mouse event couldn't be translated into a menu request  an
-       E_REQUEST_DENIED is returned.
-
-       If  the second argument is neither printable ASCII nor one
-       of the above pre-defined menu requests or  KEY_MOUSE,  the
-       drive  assumes  it  is an application-specific command and
-       returns E_UNKNOWN_COMMAND.   Application-defined  commands
-       should  be  defined  relative  to MAX_COMMAND, the maximum
-       value of these pre-defined requests.
-
-
-
-

RETURN VALUE

-       menu_driver return one of the following error codes:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-       E_BAD_STATE
-            Routine was called from an initialization or termina-
-            tion function.
-
-       E_NOT_POSTED
-            The menu has not been posted.
-
-       E_UNKNOWN_COMMAND
-            The menu driver code saw an unknown request code.
-
-       E_NO_MATCH
-            Character failed to match.
-
-       E_REQUEST_DENIED
-            The menu driver could not process the request.
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       files <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions. The  sup-
-       port for mouse events is ncurses specific.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                        menu_driver(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/menu_format.3x.html b/src/libs/ncurses/doc/html/man/menu_format.3x.html deleted file mode 100644 index 2a7974b8ec..0000000000 --- a/src/libs/ncurses/doc/html/man/menu_format.3x.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - -menu_format 3x - - - - -

menu_format 3x

-
-
-
-menu_format(3x)                                         menu_format(3x)
-
-
-
-
-
-

NAME

-       menu_format - set and get menu sizes
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int set_menu_format(MENU *menu, int rows, int cols);
-       void menu_format(const MENU *menu, int *rows, int *cols);
-
-
-
-

DESCRIPTION

-       The function set_menu_format sets the maximum display size
-       of the given menu.  If this size is too small  to  display
-       all  menu items, the menu will be made scrollable. If this
-       size is larger than the menus subwindow and the  subwindow
-       is  too  small to display all menu items, post_menu() will
-       fail.
-
-       The  default  format  is  16  rows,  1  column.    Calling
-       set_menu_format  with a null menu pointer will change this
-       default.  A zero row or column argument to set_menu_format
-       is  interpreted  as  a  request  not to change the current
-       value.
-
-       The function menu_format  returns  the  maximum-size  con-
-       straints  for the given menu into the storage addressed by
-       rows and cols.
-
-
-
-

RETURN VALUE

-       These routines returns one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-       E_POSTED
-            The menu is already posted.
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                        menu_format(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/menu_hook.3x.html b/src/libs/ncurses/doc/html/man/menu_hook.3x.html deleted file mode 100644 index 0e49820af4..0000000000 --- a/src/libs/ncurses/doc/html/man/menu_hook.3x.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - -menu_hook 3x - - - - -

menu_hook 3x

-
-
-
-menu_hook(3x)                                             menu_hook(3x)
-
-
-
-
-
-

NAME

-       menu_hook - set hooks for automatic invocation by applica-
-       tions
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int set_item_init(MENU *menu, void (*func)(MENU *));
-       void (*)(MENU *) item_init(const MENU *menu);
-       int set_item_term(MENU *menu, void (*func)(MENU *));
-       void (*)(MENU *) item_term(const MENU *menu);
-       int set_menu_init(MENU *menu, void (*func)(MENU *));
-       void (*)(MENU *) menu_init(const MENU *menu);
-       int set_menu_term(MENU *menu, void (*func)(MENU *));
-       void (*)(MENU *) menu_term(const MENU *menu);
-
-
-
-

DESCRIPTION

-       These functions make it possible to set hook functions  to
-       be called at various points in the automatic processing of
-       input event codes by menu_driver.
-
-       The function set_item_init sets a hook  to  be  called  at
-       menu-post  time  and  each  time the selected item changes
-       (after the change).  item_init returns  the  current  item
-       init hook, if any (NULL if there is no such hook).
-
-       The  function  set_item_term  sets  a hook to be called at
-       menu-unpost time and each time the selected  item  changes
-       (before  the  change).  item_term returns the current item
-       term hook, if any (NULL if there is no such hook).
-
-       The function set_menu_init sets a hook  to  be  called  at
-       menu-post  time  and  just  after  the top row on the menu
-       changes once it is posted.  menu_init returns the  current
-       menu init hook, if any (NULL if there is no such hook).
-
-       The  function  set_menu_term  sets  a hook to be called at
-       menu-unpost time and just before the top row on  the  menu
-       changes  once it is posted.  menu_term returns the current
-       menu term hook, if any (NULL if there is no such hook).
-
-
-
-

RETURN VALUE

-       Routines that return pointers return NULL on error.  Other
-       routines return one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                          menu_hook(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/menu_items.3x.html b/src/libs/ncurses/doc/html/man/menu_items.3x.html deleted file mode 100644 index 8e4f364bec..0000000000 --- a/src/libs/ncurses/doc/html/man/menu_items.3x.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - -menu_items 3x - - - - -

menu_items 3x

-
-
-
-menu_items(3x)                                           menu_items(3x)
-
-
-
-
-
-

NAME

-       menu_items  - make and break connections between items and
-       menus
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int set_menu_items(MENU *menu, ITEM **items);
-       ITEM **menu_items(const MENU *menu);
-       int item_count(const MENU *menu);
-
-
-
-

DESCRIPTION

-       The function set_menu_items changes the item pointer array
-       of  the  given  menu.   The  array must be terminated by a
-       NULL.
-
-       The function menu_items returns  the  item  array  of  the
-       given menu.
-
-       The  function  item_count  returns  the  count of items in
-       menu.
-
-
-
-

RETURN VALUES

-       The function menu_items returns NULL on error.
-
-       The function item_count returns ERR  (the  general  curses
-       error return value) on error.
-
-       The  function  set_menu_items returns one of the following
-       codes on error:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-       E_POSTED
-            The menu is already posted.
-
-       E_NOT_CONNECTED
-            No items are connected to the menu.
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-       The   SVr4   menu   library  documentation  specifies  the
-       item_count error value as -1 (which is the value of  ERR).
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                         menu_items(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/menu_mark.3x.html b/src/libs/ncurses/doc/html/man/menu_mark.3x.html deleted file mode 100644 index d84303a601..0000000000 --- a/src/libs/ncurses/doc/html/man/menu_mark.3x.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - -menu_mark 3x - - - - -

menu_mark 3x

-
-
-
-menu_mark(3x)                                             menu_mark(3x)
-
-
-
-
-
-

NAME

-       menu_mark - get and set the menu mark string
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int set_menu_mark(MENU *menu, const char *mark);
-       const char *menu_mark(const MENU *menu);
-
-
-
-

DESCRIPTION

-       In  order  to make menu selections visible on older termi-
-       nals without highlighting or color  capability,  the  menu
-       library  marks  selected  items  in  a  menu with a prefix
-       string.
-
-       The function set_menu_mark sets the mark  string  for  the
-       given  menu.   Calling set_menu_mark with a null menu item
-       will abolish the mark  string.   Note  that  changing  the
-       length  of  the  mark  string for a menu while the menu is
-       posted is likely to produce unhelpful behavior.
-
-       The default string is "-" (a dash). Calling  set_menu_mark
-       with a NULL menu argument will change this default.
-
-       The  function menu_mark returns the menu's mark string (or
-       NULL if there is none).
-
-
-
-

RETURN VALUE

-       The function menu_mark returns NULL on error.   The  func-
-       tion set_menu_mark may return the following error codes:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
-
-
-
-                                                          menu_mark(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/menu_new.3x.html b/src/libs/ncurses/doc/html/man/menu_new.3x.html deleted file mode 100644 index 8ec4cf51ee..0000000000 --- a/src/libs/ncurses/doc/html/man/menu_new.3x.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - -menu_new 3x - - - - -

menu_new 3x

-
-
-
-menu_new(3x)                                               menu_new(3x)
-
-
-
-
-
-

NAME

-       menu_new - create and destroy menus
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       MENU *new_menu(ITEM **items);
-       int free_menu(MENU *menu);
-
-
-
-

DESCRIPTION

-       The  function  new_menu  creates a new menu connected to a
-       specified item pointer array (which  must  be  NULL-termi-
-       nated).
-
-       The  function  free_menu  disconnects  menu  from its item
-       array and frees the storage allocated for the menu.
-
-
-
-

RETURN VALUE

-       The function new_menu returns NULL on error.
-
-       The function free_menu returns one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-       E_POSTED
-            The menu has already been posted.
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                           menu_new(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/menu_opts.3x.html b/src/libs/ncurses/doc/html/man/menu_opts.3x.html deleted file mode 100644 index 0f903c26ef..0000000000 --- a/src/libs/ncurses/doc/html/man/menu_opts.3x.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - -menu_opts 3x - - - - -

menu_opts 3x

-
-
-
-menu_opts(3x)                                             menu_opts(3x)
-
-
-
-
-
-

NAME

-       menu_opts - set and get menu options
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int set_menu_opts(MENU *menu, OPTIONS opts);
-       int menu_opts_on(MENU *menu, OPTIONS opts);
-       int menu_opts_off(MENU *menu, OPTIONS opts);
-       OPTIONS menu_opts(const MENU *menu);
-
-
-
-

DESCRIPTION

-       The  function  set_menu_opts  sets  all  the  given menu's
-       option bits  (menu  option  bits  may  be  logically-OR'ed
-       together).
-
-       The  function menu_opts_on turns on the given option bits,
-       and leaves others alone.
-
-       The function menu_opts_off  turns  off  the  given  option
-       bits, and leaves others alone.
-
-       The  function  menu_opts returns the menu's current option
-       bits.
-
-       The following options are defined (all are on by default):
-
-       O_ONEVALUE
-            Only one item can be selected for this menu.
-
-       O_SHOWDESC
-            Display  the  item  descriptions  when  the  menu  is
-            posted.
-
-       O_ROWMAJOR
-            Display the menu in row-major order.
-
-       O_IGNORECASE
-            Ignore the case when pattern-matching.
-
-       O_SHOWMATCH
-            Move the cursor to within the item  name  while  pat-
-            tern-matching.
-
-       O_NONCYCLIC
-            Don't   wrap   around  next-item  and  previous-item,
-            requests to the other end of the menu.
-
-
-
-

RETURN VALUE

-       Except for menu_opts, each routine returns one of the fol-
-       lowing:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_POSTED
-            The menu is already posted.
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                          menu_opts(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/menu_pattern.3x.html b/src/libs/ncurses/doc/html/man/menu_pattern.3x.html deleted file mode 100644 index 431787c9ba..0000000000 --- a/src/libs/ncurses/doc/html/man/menu_pattern.3x.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - -menu_pattern 3x - - - - -

menu_pattern 3x

-
-
-
-menu_pattern(3x)                                       menu_pattern(3x)
-
-
-
-
-
-

NAME

-       menu_pattern - get and set a menu's pattern buffer
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int set_menu_pattern(MENU *menu, const char *pattern);
-       char *menu_pattern(const MENU *menu);
-
-
-
-

DESCRIPTION

-       Every  menu  has  an  associated pattern match buffer.  As
-       input events that are printable ASCII characters come  in,
-       they  are  appended  to this match buffer and tested for a
-       match, as described in menu_driver(3x).
-
-       The function set_menu_pattern sets the pattern buffer  for
-       the  given menu and tries to find the first matching item.
-       If it succeeds, that item becomes  current;  if  not,  the
-       current item does not change.
-
-       The  function  menu_pattern  returns the pattern buffer of
-       the given menu.
-
-
-
-

RETURN VALUE

-       The function menu_pattern  returns  NULL  on  error.   The
-       function  set_menu_pattern  may return the following error
-       codes:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-       E_NO_MATCH
-            Character failed to match.
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                       menu_pattern(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/menu_post.3x.html b/src/libs/ncurses/doc/html/man/menu_post.3x.html deleted file mode 100644 index 63241ba4ae..0000000000 --- a/src/libs/ncurses/doc/html/man/menu_post.3x.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - -menu_post 3x - - - - -

menu_post 3x

-
-
-
-menu_post(3x)                                             menu_post(3x)
-
-
-
-
-
-

NAME

-       menu_post  -  write or erase menus from associated subwin-
-       dows
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int post_menu(MENU *menu);
-       int unpost_menu(MENU *menu);
-
-
-
-

DESCRIPTION

-       The function post_menu displays a menu to  its  associated
-       subwindow.   To trigger physical display of the subwindow,
-       use  refresh  or  some  equivalent  curses  routine   (the
-       implicit  doupdate  triggered  by  an curses input request
-       will do). post_menu resets the  selection  status  of  all
-       items.
-
-       The  function  unpost_menu erases menu from its associated
-       subwindow.
-
-
-
-

RETURN VALUE

-       These routines return one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-       E_POSTED
-            The menu has already been posted.
-
-       E_BAD_STATE
-            Routine was called from an initialization or termina-
-            tion function.
-
-       E_NO_ROOM
-            Menu is too large for its window. You should consider
-            to use set_menu_format() to solve the problem.
-
-       E_NOT_POSTED
-            The menu has not been posted.
-
-       E_NOT_CONNECTED
-            No items are connected to the menu.
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                          menu_post(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/menu_requestname.3x.html b/src/libs/ncurses/doc/html/man/menu_requestname.3x.html deleted file mode 100644 index 93c9e9f16c..0000000000 --- a/src/libs/ncurses/doc/html/man/menu_requestname.3x.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - -menu_requestname 3x - - - - -

menu_requestname 3x

-
-
-
-menu_requestname(3x)                               menu_requestname(3x)
-
-
-
-
-
-

NAME

-       menu_requestname - handle printable menu request names
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       const char *menu_request_name(int request);
-       int menu_request_by_name(const char *name);
-
-
-
-

DESCRIPTION

-       The  function menu_request_name returns the printable name
-       of a menu request code.
-       The function menu_request_by_name searches in the name-ta-
-       ble  for  a  request  with  the given name and returns its
-       request code. Otherwise E_NO_MATCH is returned.
-
-
-
-

RETURN VALUE

-       menu_request_name returns NULL on error and sets errno  to
-       E_BAD_ARGUMENT.
-       menu_request_by_name returns E_NO_MATCH on error.
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                   menu_requestname(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/menu_spacing.3x.html b/src/libs/ncurses/doc/html/man/menu_spacing.3x.html deleted file mode 100644 index 736e95cf82..0000000000 --- a/src/libs/ncurses/doc/html/man/menu_spacing.3x.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - -menu_spacing 3x - - - - -

menu_spacing 3x

-
-
-
-menu_spacing(3x)                                       menu_spacing(3x)
-
-
-
-
-
-

NAME

-       menu_spacing - Control spacing between menu items.
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int set_menu_spacing(MENU *menu,
-                            int spc_description,
-                            int spc_rows,
-                            int spc_columns);
-       int menu_spacing(const MENU *menu,
-                        int* spc_description,
-                        int* spc_rows,
-                        int* spc_columns);
-
-
-
-

DESCRIPTION

-       The  function  set_menu_spacing  sets the spacing informa-
-       tions for the menu.  spc_description controls  the  number
-       of spaces between an item name and an item description. It
-       must not be larger than TABSIZE. The menu system  puts  in
-       the  middle  of  this  spacing area the pad character. The
-       remaining parts are filled with spaces.  spc_rows controls
-       the  number of rows that are used for an item. It must not
-       be larger than 3. The menu system inserts the blank  lines
-       between  item rows, these lines will contain the pad char-
-       acter in the appropriate positions.  spc_columns  controls
-       the number of blanks between columns of items. It must not
-       be larger than TABSIZE.  A value of 0 for all the  spacing
-       values  resets  them to the default, which is 1 for all of
-       them.
-       The function menu_spacing passes back the spacing info for
-       the menu. If a pointer is NULL, this specific info is sim-
-       ply not returned.
-
-
-
-

RETURN VALUE

-       Both routines return E_OK on success. set_menu_spacing may
-       return  E_POSTED  if the menu is posted, or E_BAD_ARGUMENT
-       if one of the spacing values is out of range.
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  are  specific  to ncurses.  They were not
-       supported on Version 7, BSD or System  V  implementations.
-       It  is recommended that any code depending on them be con-
-       ditioned using NCURSES_VERSION.
-
-
-
-

AUTHORS

-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
-
-
-
-                                                       menu_spacing(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/menu_userptr.3x.html b/src/libs/ncurses/doc/html/man/menu_userptr.3x.html deleted file mode 100644 index 9a51193fad..0000000000 --- a/src/libs/ncurses/doc/html/man/menu_userptr.3x.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - -menu_userptr 3x - - - - -

menu_userptr 3x

-
-
-
-menu_userptr(3x)                                       menu_userptr(3x)
-
-
-
-
-
-

NAME

-       menu_userptr - associate application data with a menu item
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int set_menu_userptr(MENU *menu, void *userptr);
-       void *menu_userptr(const MENU *menu);
-
-
-
-

DESCRIPTION

-       Every menu and every menu item has a  field  that  can  be
-       used to hold application-specific data (that is, the menu-
-       driver code leaves it alone).  These functions get and set
-       the menu user pointer field.
-
-
-
-

RETURN VALUE

-       Except  for  menu_userptr  (which  returns NULL on error),
-       each function returns one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
-
-       The user pointer should be a void pointer.  We leave it as
-       a char pointer for SVr4 compatibility.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                       menu_userptr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/menu_win.3x.html b/src/libs/ncurses/doc/html/man/menu_win.3x.html deleted file mode 100644 index f5bcb7c6f7..0000000000 --- a/src/libs/ncurses/doc/html/man/menu_win.3x.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - -menu_win 3x - - - - -

menu_win 3x

-
-
-
-menu_win(3x)                                               menu_win(3x)
-
-
-
-
-
-

NAME

-       menu_win  - make and break menu window and subwindow asso-
-       ciations
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int set_menu_win(MENU *menu, WINDOW *win);
-       WINDOW *menu_win(const MENU *menu);
-       int set_menu_sub(MENU *menu, WINDOW *sub);
-       WINDOW *menu_sub(const MENU *menu);
-       int scale_menu(const MENU *menu, int *rows, int *columns);
-
-
-
-

DESCRIPTION

-       Every  menu has an associated pair of curses windows.  The
-       menu window displays any title and border associated  with
-       the  window;  the menu subwindow displays the items of the
-       menu that are currently available for selection.
-
-       The first four functions get and set those windows.  It is
-       not necessary to set either window; by default, the driver
-       code uses stdscr for both.
-
-       In the set_ functions, window argument of NULL is  treated
-       as  though  it  were  stsdcr.   A menu argument of NULL is
-       treated as a request to change  the  system  default  menu
-       window or subwindow.
-
-       The  function scale_menu returns the minimum size required
-       for the subwindow of menu.
-
-
-
-

RETURN VALUE

-       Routines that return pointers return NULL on error.   Rou-
-       tines  that  return an integer return one of the following
-       error codes:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-       E_POSTED
-            The menu has already been posted.
-
-       E_NOT_CONNECTED
-            No items are connected to the menu.
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                           menu_win(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/mitem_current.3x.html b/src/libs/ncurses/doc/html/man/mitem_current.3x.html deleted file mode 100644 index fcaf574c41..0000000000 --- a/src/libs/ncurses/doc/html/man/mitem_current.3x.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - -mitem_current 3x - - - - -

mitem_current 3x

-
-
-
-mitem_current(3x)                                     mitem_current(3x)
-
-
-
-
-
-

NAME

-       mitem_current - set and get current_menu_item
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int set_current_item(MENU *menu, const ITEM *item);
-       ITEM *current_item(const MENU *menu);
-       int set_top_row(MENU *menu, int row);
-       int top_row(const MENU *menu);
-       int item_index(const ITEM *item);
-
-
-
-

DESCRIPTION

-       The  function  set_current_item sets the current item (the
-       item on  which  the  menu  cursor  is  positioned).   cur-
-       rent_item  returns  a  pointer  to the current item in the
-       given menu.
-
-       The function set_top_row sets the top row of the  menu  to
-       show  the  given  row  (the top row is initially 0, and is
-       reset to this value whenever the O_ROWMAJOR option is tog-
-       gled).   The  item  leftmost on the given row becomes cur-
-       rent.  The function top_row returns the number of the  top
-       menu row being displayed.
-
-       The function item_index returns the (zero-origin) index of
-       item in the menu's item pointer list.
-
-
-
-

RETURN VALUE

-       current_item returns NULL on error.
-
-       top_row and item_index  return  ERR  (the  general  curses
-       error value) on error.
-
-       set_current_item and set_top_row return one of the follow-
-       ing:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-       E_BAD_STATE
-            Routine was called from an initialization or termina-
-            tion function.
-
-       E_NOT_CONNECTED
-            No items are connected to the menu.
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
-
-       The SVr4 menu library documentation specifies the  top_row
-       and  index_item  error  value as -1 (which is the value of
-       ERR).
-
-
-
-

AUTHORS

-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
-
-
-
-                                                      mitem_current(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/mitem_name.3x.html b/src/libs/ncurses/doc/html/man/mitem_name.3x.html deleted file mode 100644 index 880e068f25..0000000000 --- a/src/libs/ncurses/doc/html/man/mitem_name.3x.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - -mitem_name 3x - - - - -

mitem_name 3x

-
-
-
-mitem_name(3x)                                           mitem_name(3x)
-
-
-
-
-
-

NAME

-       mitem_name - get menu item name and description fields
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       const char *item_name(const ITEM *item);
-       const char *item_description(const ITEM *item);
-
-
-
-

DESCRIPTION

-       The  function item_name returns the name part of the given
-       item.
-       The function item_description returns the description part
-       of the given item.
-
-
-
-

RETURN VALUE

-       These routines returns NULL on error.
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                         mitem_name(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/mitem_new.3x.html b/src/libs/ncurses/doc/html/man/mitem_new.3x.html deleted file mode 100644 index d36dd3dba8..0000000000 --- a/src/libs/ncurses/doc/html/man/mitem_new.3x.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - -mitem_new 3x - - - - -

mitem_new 3x

-
-
-
-mitem_new(3x)                                             mitem_new(3x)
-
-
-
-
-
-

NAME

-       mitem_new - create and destroy menu items
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       ITEM *new_item(const char *name, const char *description);
-       int free_item(ITEM *item);
-
-
-
-

DESCRIPTION

-       The function new_item allocates a new item and initializes
-       it  from  the name and description pointers. Please notice
-       that the item stores only the pointers  to  the  name  and
-       description. Those pointers must be valid during the life-
-       time of the item. So you should be very careful with names
-       or descriptions allocated on the stack of some routines.
-       The function free_item de-allocates an item. Please notice
-       that it  is  the  responsibility  of  the  application  to
-       release  the memory for the name or the description of the
-       item.
-
-
-
-

RETURN VALUE

-       The function new_item returns NULL on error.
-
-       The function free_item returns one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
-
-       E_CONNECTED
-            Item is connected to a menu.
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                          mitem_new(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/mitem_opts.3x.html b/src/libs/ncurses/doc/html/man/mitem_opts.3x.html deleted file mode 100644 index f35b7693a6..0000000000 --- a/src/libs/ncurses/doc/html/man/mitem_opts.3x.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - -mitem_opts 3x - - - - -

mitem_opts 3x

-
-
-
-mitem_opts(3x)                                           mitem_opts(3x)
-
-
-
-
-
-

NAME

-       mitem_opts - set and get menu item options
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int set_item_opts(ITEM *item, OPTIONS opts);
-       int item_opts_on(ITEM *item, OPTIONS opts);
-       int item_opts_off(ITEM *item, OPTIONS opts);
-       OPTIONS item_opts(const ITEM *item);
-
-
-
-

DESCRIPTION

-       The  function  set_item_opts  sets  all  the  given item's
-       option bits  (menu  option  bits  may  be  logically-OR'ed
-       together).
-
-       The  function item_opts_on turns on the given option bits,
-       and leaves others alone.
-
-       The function item_opts_off  turns  off  the  given  option
-       bits, and leaves others alone.
-
-       The  function  item_opts returns the item's current option
-       bits.
-
-       There is only one defined option bit  mask,  O_SELECTABLE.
-       When this is on, the item may be selected during menu pro-
-       cessing.  This option defaults to on.
-
-
-
-

RETURN VALUE

-       Except for item_opts, each routine returns one of the fol-
-       lowing:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                         mitem_opts(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/mitem_userptr.3x.html b/src/libs/ncurses/doc/html/man/mitem_userptr.3x.html deleted file mode 100644 index 6f7b7f6de0..0000000000 --- a/src/libs/ncurses/doc/html/man/mitem_userptr.3x.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - -mitem_userptr 3x - - - - -

mitem_userptr 3x

-
-
-
-mitem_userptr(3x)                                     mitem_userptr(3x)
-
-
-
-
-
-

NAME

-       mitem_userptr  -  associate  application  data with a menu
-       item
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int set_item_userptr(ITEM *item, void *userptr);
-       void *item_userptr(const ITEM *item);
-
-
-
-

DESCRIPTION

-       Every menu item has a field  that  can  be  used  to  hold
-       application-specific  data  (that is, the menu-driver code
-       leaves it alone).  These functions get and set that field.
-
-
-
-

RETURN VALUE

-       Except  for  item_userptr  (which  returns NULL on error),
-       each function returns one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
-
-       The user pointer should be a void pointer.  We leave it as
-       a char pointer for SVr4 compatibility.
-
-
-
-

AUTHORS

-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
-
-
-
-                                                      mitem_userptr(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/mitem_value.3x.html b/src/libs/ncurses/doc/html/man/mitem_value.3x.html deleted file mode 100644 index c2246a0ad4..0000000000 --- a/src/libs/ncurses/doc/html/man/mitem_value.3x.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - -mitem_value 3x - - - - -

mitem_value 3x

-
-
-
-mitem_value(3x)                                         mitem_value(3x)
-
-
-
-
-
-

NAME

-       mitem_value - set and get menu item values
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       int set_item_value(ITEM *item, bool value);
-       bool item_value(const ITEM *item);
-
-
-
-

DESCRIPTION

-       If  you  turn  off  the menu option O_ONEVALUE (e.g., with
-       set_menu_opts or menu_opts_off;  see  menu_opts(3x)),  the
-       menu becomes multi-valued; that is, more than one item may
-       simultaneously be selected.
-
-       In a multi_valued menu, you  can  used  set_item_value  to
-       select the given menu item (second argument TRUE) or dese-
-       lect it (second argument FALSE).
-
-
-
-

RETURN VALUE

-       The function set_item_value returns one of the following:
-
-       E_OK The routine succeeded.
-
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
-
-       E_REQUEST_DENIED
-            The menu driver could not process the request.
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
-
-
-
-                                                        mitem_value(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/mitem_visible.3x.html b/src/libs/ncurses/doc/html/man/mitem_visible.3x.html deleted file mode 100644 index 8d3d01651d..0000000000 --- a/src/libs/ncurses/doc/html/man/mitem_visible.3x.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - -mitem_visible 3x - - - - -

mitem_visible 3x

-
-
-
-mitem_visible(3x)                                     mitem_visible(3x)
-
-
-
-
-
-

NAME

-       mitem_visible - check visibility of a menu item
-
-
-
-

SYNOPSIS

-       #include <menu.h>
-       bool item_visible(const ITEM *item);
-
-
-
-

DESCRIPTION

-       A  menu  item  is  visible  when it is in the portion of a
-       posted menu that is mapped onto the screen (if the menu is
-       scrollable,  in  particular,  this portion will be smaller
-       than the whole menu).
-
-
-
-

SEE ALSO

-       curses(3x), menu(3x).
-
-
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       file <curses.h>.
-
-
-
-

PORTABILITY

-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-
-

AUTHORS

-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
-
-
-
-                                                      mitem_visible(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/ncurses.3x.html b/src/libs/ncurses/doc/html/man/ncurses.3x.html deleted file mode 100644 index 27b9d3ef8a..0000000000 --- a/src/libs/ncurses/doc/html/man/ncurses.3x.html +++ /dev/null @@ -1,1029 +0,0 @@ - - - - -ncurses 3x - - - - -

ncurses 3x

-
-
-
-ncurses(3x)                                                 ncurses(3x)
-
-
-
-
-
-

NAME

-       ncurses - CRT screen handling and optimization package
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-
-
-

DESCRIPTION

-       The  ncurses  library  routines  give the user a terminal-
-       independent method of updating character screens with rea-
-       sonable   optimization.    This  implementation  is  ``new
-       curses'' (ncurses) and is  the  approved  replacement  for
-       4.4BSD classic curses, which has been discontinued.
-
-       The  ncurses  routines  emulate  the curses(3x) library of
-       System V Release 4 UNIX, and the XPG4 curses standard (XSI
-       curses)  but the ncurses library is freely redistributable
-       in source form.  Differences from the SVr4 curses are sum-
-       marized  under  the  EXTENSIONS  and  PORTABILITY sections
-       below and described in detail  in  the  respective  EXTEN-
-       SIONS,  PORTABILITY  and  BUGS  sections of individual man
-       pages.
-
-       A program using these routines must  be  linked  with  the
-       -lncurses  option,  or (if it has been generated) with the
-       debugging library -lncurses_g.   (Your  system  integrator
-       may  also  have  installed these libraries under the names
-       -lcurses and -lcurses_g.)  The ncurses_g library generates
-       trace logs (in a file called 'trace' in the current direc-
-       tory) that describe curses actions.
-
-       The ncurses package supports: overall screen,  window  and
-       pad manipulation; output to windows and pads; reading ter-
-       minal input; control over terminal and  curses  input  and
-       output  options; environment query routines; color manipu-
-       lation; use of soft label keys; terminfo capabilities; and
-       access to low-level terminal-manipulation routines.
-
-       To initialize the routines, the routine initscr or newterm
-       must be called before any of the other routines that  deal
-       with  windows  and  screens  are used.  The routine endwin
-       must be called before exiting.  To get character-at-a-time
-       input  without  echoing (most interactive, screen oriented
-       programs want this),  the  following  sequence  should  be
-       used:
-
-             initscr(); cbreak(); noecho();
-
-       Most programs would additionally use the sequence:
-
-             nonl();
-             intrflush(stdscr, FALSE);
-             keypad(stdscr, TRUE);
-
-       Before  a curses program is run, the tab stops of the ter-
-       minal should be set and  its  initialization  strings,  if
-       defined,  must  be  output.  This can be done by executing
-       the tput init command after the shell environment variable
-       TERM  has  been  exported.  tset(1) is usually responsible
-       for doing this.  [See terminfo(5) for further details.]
-
-       The ncurses library permits manipulation  of  data  struc-
-       tures,  called  windows,  which  can be thought of as two-
-       dimensional arrays of characters representing all or  part
-       of a CRT screen.  A default window called stdscr, which is
-       the size of the terminal screen, is supplied.  Others  may
-       be created with newwin.
-
-       Note  that  curses  does  not  handle overlapping windows,
-       that's done by the panel(3x) library. This means that  you
-       can either use stdscr or divide the screen into tiled win-
-       dows and not using stdscr at  all.  Mixing  the  two  will
-       result in unpredictable, and undesired, effects.
-
-       Windows are referred to by variables declared as WINDOW *.
-       These  data  structures  are  manipulated  with   routines
-       described  here and elsewhere in the ncurses manual pages.
-       Among which the most basic routines are  move  and  addch.
-       More  general versions of these routines are included with
-       names beginning with w, allowing the  user  to  specify  a
-       window.  The routines not beginning with w affect stdscr.)
-
-       After using routines to manipulate a  window,  refresh  is
-       called,  telling curses to make the user's CRT screen look
-       like stdscr.  The characters in a window are  actually  of
-       type  chtype, (character and attribute data) so that other
-       information about the character may also  be  stored  with
-       each character.
-
-       Special  windows  called  pads  may  also  be manipulated.
-       These are windows which are not constrained to the size of
-       the  screen and whose contents need not be completely dis-
-       played.  See curs_pad(3x) for more information.
-
-       In addition to drawing characters  on  the  screen,  video
-       attributes  and colors may be supported, causing the char-
-       acters to show up in such modes as underlined, in  reverse
-       video,  or in color on terminals that support such display
-       enhancements.  Line drawing characters may be specified to
-       be  output.   On  input,  curses is also able to translate
-       arrow and function keys  that  transmit  escape  sequences
-       into  single  values.   The video attributes, line drawing
-       characters,  and  input  values  use  names,  defined   in
-       <curses.h>, such as A_REVERSE, ACS_HLINE, and KEY_LEFT.
-
-       If the environment variables LINES and COLUMNS are set, or
-       if the program is executing in a window environment,  line
-       and  column  information  in the environment will override
-       information read by terminfo.  This would effect a program
-       running  in an AT&T 630 layer, for example, where the size
-       of a screen is changeable (see ENVIRONMENT).
-
-       If the environment variable TERMINFO is defined, any  pro-
-       gram  using  curses checks for a local terminal definition
-       before checking in the standard place.   For  example,  if
-       TERM is set to att4424, then the compiled terminal defini-
-       tion is found in
-
-             /usr/share/terminfo/a/att4424.
-
-       (The a is copied from the first letter of att4424 to avoid
-       creation  of  huge  directories.)  However, if TERMINFO is
-       set to $HOME/myterms, curses first checks
-
-             $HOME/myterms/a/att4424,
-
-       and if that fails, it then checks
-
-             /usr/share/terminfo/a/att4424.
-
-       This is useful for developing experimental definitions  or
-       when write permission in /usr/share/terminfo is not avail-
-       able.
-
-       The integer  variables  LINES  and  COLS  are  defined  in
-       <curses.h>  and will be filled in by initscr with the size
-       of the screen.  The constants TRUE and FALSE have the val-
-       ues 1 and 0, respectively.
-
-       The  curses  routines  also  define  the WINDOW * variable
-       curscr which is used for certain low-level operations like
-       clearing  and  redrawing a screen containing garbage.  The
-       curscr can be used in only a few routines.
-
-   Routine and Argument Names
-       Many curses routines have two or more versions.  The  rou-
-       tines prefixed with w require a window argument.  The rou-
-       tines prefixed with p require a pad argument.  Those with-
-       out a prefix generally use stdscr.
-
-       The routines prefixed with mv require a y and x coordinate
-       to move to before performing the appropriate action.   The
-       mv  routines  imply  a call to move before the call to the
-       other routine.  The coordinate y always refers to the  row
-       (of  the  window), and x always refers to the column.  The
-       upper left-hand corner is always (0,0), not (1,1).
-
-       The routines prefixed with mvw take both a window argument
-       and  x  and  y coordinates.  The window argument is always
-       specified before the coordinates.
-
-       In each case, win is the window affected, and pad  is  the
-       pad affected; win and pad are always pointers to type WIN-
-       DOW.
-
-       Option setting routines require a Boolean flag bf with the
-       value TRUE or FALSE; bf is always of type bool.  The vari-
-       ables ch and attrs below are always of type  chtype.   The
-       types  WINDOW,  SCREEN,  bool,  and  chtype are defined in
-       <curses.h>.  The type TERMINAL  is  defined  in  <term.h>.
-       All other arguments are integers.
-
-   Routine Name Index
-       The following table lists each curses routine and the name
-       of the manual page on which  it  is  described.   Routines
-       flagged  with  `*'  are ncurses-specific, not described by
-       XPG4 or present in SVr4.
-
-
-              curses Routine Name     Manual Page Name
-              --------------------------------------------
-              COLOR_PAIR              curs_color(3x)
-              PAIR_NUMBER             curs_attr(3x)
-              _nc_tracebits           curs_trace(3x)*
-              _traceattr              curs_trace(3x)*
-              _traceattr2             curs_trace(3x)*
-              _tracechar              curs_trace(3x)*
-              _tracechtype            curs_trace(3x)*
-              _tracechtype2           curs_trace(3x)*
-              _tracedump              curs_trace(3x)*
-              _tracef                 curs_trace(3x)*
-              _tracemouse             curs_trace(3x)*
-              add_wch                 curs_add_wch(3x)
-              add_wchnstr             curs_add_wchstr(3x)
-
-              add_wchstr              curs_add_wchstr(3x)
-              addch                   curs_addch(3x)
-              addchnstr               curs_addchstr(3x)
-              addchstr                curs_addchstr(3x)
-              addnstr                 curs_addstr(3x)
-              addnwstr                curs_addwstr(3x)
-              addstr                  curs_addstr(3x)
-              addwstr                 curs_addwstr(3x)
-              assume_default_colors   default_colors(3x)*
-              attr_get                curs_attr(3x)
-              attr_off                curs_attr(3x)
-              attr_on                 curs_attr(3x)
-              attr_set                curs_attr(3x)
-              attroff                 curs_attr(3x)
-              attron                  curs_attr(3x)
-              attrset                 curs_attr(3x)
-              baudrate                curs_termattrs(3x)
-              beep                    curs_beep(3x)
-              bkgd                    curs_bkgd(3x)
-              bkgdset                 curs_bkgd(3x)
-              bkgrnd                  curs_bkgrnd(3x)
-              bkgrndset               curs_bkgrnd(3x)
-              border                  curs_border(3x)
-              border_set              curs_border_set(3x)
-              box                     curs_border(3x)
-              box_set                 curs_border_set(3x)
-              can_change_color        curs_color(3x)
-              cbreak                  curs_inopts(3x)
-              chgat                   curs_attr(3x)
-              clear                   curs_clear(3x)
-              clearok                 curs_outopts(3x)
-              clrtobot                curs_clear(3x)
-              clrtoeol                curs_clear(3x)
-              color_content           curs_color(3x)
-              color_set               curs_attr(3x)
-              copywin                 curs_overlay(3x)
-              curs_set                curs_kernel(3x)
-              curses_version          curs_extend(3x)*
-              def_prog_mode           curs_kernel(3x)
-              def_shell_mode          curs_kernel(3x)
-              define_key              define_key(3x)*
-              del_curterm             curs_terminfo(3x)
-              delay_output            curs_util(3x)
-              delch                   curs_delch(3x)
-              deleteln                curs_deleteln(3x)
-              delscreen               curs_initscr(3x)
-              delwin                  curs_window(3x)
-              derwin                  curs_window(3x)
-              doupdate                curs_refresh(3x)
-              dupwin                  curs_window(3x)
-              echo                    curs_inopts(3x)
-              echo_wchar              curs_add_wch(3x)
-              echochar                curs_addch(3x)
-              endwin                  curs_initscr(3x)
-              erase                   curs_clear(3x)
-              erasechar               curs_termattrs(3x)
-              erasewchar              curs_termattrs(3x)
-              filter                  curs_util(3x)
-              flash                   curs_beep(3x)
-              flushinp                curs_util(3x)
-              get_wch                 curs_get_wch(3x)
-              get_wstr                curs_get_wstr(3x)
-              getbegyx                curs_getyx(3x)
-              getbkgd                 curs_bkgd(3x)
-              getbkgrnd               curs_bkgrnd(3x)
-
-              getcchar                curs_getcchar(3x)
-              getch                   curs_getch(3x)
-              getmaxyx                curs_getyx(3x)
-              getmouse                curs_mouse(3x)*
-              getn_wstr               curs_get_wstr(3x)
-              getnstr                 curs_getstr(3x)
-              getparyx                curs_getyx(3x)
-              getstr                  curs_getstr(3x)
-              getsyx                  curs_kernel(3x)
-              getwin                  curs_util(3x)
-              getyx                   curs_getyx(3x)
-              halfdelay               curs_inopts(3x)
-              has_colors              curs_color(3x)
-              has_ic                  curs_termattrs(3x)
-              has_il                  curs_termattrs(3x)
-              has_key                 curs_getch(3x)*
-              hline                   curs_border(3x)
-              hline_set               curs_border_set(3x)
-              idcok                   curs_outopts(3x)
-              idlok                   curs_outopts(3x)
-              immedok                 curs_outopts(3x)
-              in_wch                  curs_in_wch(3x)
-              in_wchnstr              curs_in_wchstr(3x)
-              in_wchstr               curs_in_wchstr(3x)
-              inch                    curs_inch(3x)
-              inchnstr                curs_inchstr(3x)
-              inchstr                 curs_inchstr(3x)
-              init_color              curs_color(3x)
-              init_pair               curs_color(3x)
-              initscr                 curs_initscr(3x)
-              innstr                  curs_instr(3x)
-              innwstr                 curs_inwstr(3x)
-              ins_nwstr               curs_ins_wstr(3x)
-              ins_wch                 curs_ins_wch(3x)
-              ins_wstr                curs_ins_wstr(3x)
-              insch                   curs_insch(3x)
-              insdelln                curs_deleteln(3x)
-              insertln                curs_deleteln(3x)
-              insnstr                 curs_insstr(3x)
-              insstr                  curs_insstr(3x)
-              instr                   curs_instr(3x)
-              intrflush               curs_inopts(3x)
-              inwstr                  curs_inwstr(3x)
-              is_linetouched          curs_touch(3x)
-              is_wintouched           curs_touch(3x)
-              isendwin                curs_initscr(3x)
-              key_defined             key_defined(3x)*
-              key_name                curs_util(3x)
-              keybound                keybound(3x)*
-              keyname                 curs_util(3x)
-              keyok                   keyok(3x)*
-              keypad                  curs_inopts(3x)
-              killchar                curs_termattrs(3x)
-              killwchar               curs_termattrs(3x)
-              leaveok                 curs_outopts(3x)
-              longname                curs_termattrs(3x)
-              mcprint                 curs_print(3x)*
-              meta                    curs_inopts(3x)
-              mouse_trafo             curs_mouse(3x)*
-              mouseinterval           curs_mouse(3x)*
-              mousemask               curs_mouse(3x)*
-              move                    curs_move(3x)
-              mvadd_wch               curs_add_wch(3x)
-              mvadd_wchnstr           curs_add_wchstr(3x)
-              mvadd_wchstr            curs_add_wchstr(3x)
-
-              mvaddch                 curs_addch(3x)
-              mvaddchnstr             curs_addchstr(3x)
-              mvaddchstr              curs_addchstr(3x)
-              mvaddnstr               curs_addstr(3x)
-              mvaddnwstr              curs_addwstr(3x)
-              mvaddstr                curs_addstr(3x)
-              mvaddwstr               curs_addwstr(3x)
-              mvchgat                 curs_attr(3x)
-              mvcur                   curs_terminfo(3x)
-              mvdelch                 curs_delch(3x)
-              mvderwin                curs_window(3x)
-              mvget_wch               curs_get_wch(3x)
-              mvget_wstr              curs_get_wstr(3x)
-              mvgetch                 curs_getch(3x)
-              mvgetn_wstr             curs_get_wstr(3x)
-              mvgetnstr               curs_getstr(3x)
-              mvgetstr                curs_getstr(3x)
-              mvhline                 curs_border(3x)
-              mvhline_set             curs_border_set(3x)
-              mvin_wch                curs_in_wch(3x)
-              mvin_wchnstr            curs_in_wchstr(3x)
-              mvin_wchstr             curs_in_wchstr(3x)
-              mvinch                  curs_inch(3x)
-              mvinchnstr              curs_inchstr(3x)
-              mvinchstr               curs_inchstr(3x)
-              mvinnstr                curs_instr(3x)
-              mvinnwstr               curs_inwstr(3x)
-              mvins_nwstr             curs_ins_wstr(3x)
-              mvins_wch               curs_ins_wch(3x)
-              mvins_wstr              curs_ins_wstr(3x)
-              mvinsch                 curs_insch(3x)
-              mvinsnstr               curs_insstr(3x)
-              mvinsstr                curs_insstr(3x)
-              mvinstr                 curs_instr(3x)
-              mvinwstr                curs_inwstr(3x)
-              mvprintw                curs_printw(3x)
-              mvscanw                 curs_scanw(3x)
-              mvvline                 curs_border(3x)
-              mvvline_set             curs_border_set(3x)
-              mvwadd_wch              curs_add_wch(3x)
-              mvwadd_wchnstr          curs_add_wchstr(3x)
-              mvwadd_wchstr           curs_add_wchstr(3x)
-              mvwaddch                curs_addch(3x)
-              mvwaddchnstr            curs_addchstr(3x)
-              mvwaddchstr             curs_addchstr(3x)
-              mvwaddnstr              curs_addstr(3x)
-              mvwaddnwstr             curs_addwstr(3x)
-              mvwaddstr               curs_addstr(3x)
-              mvwaddwstr              curs_addwstr(3x)
-              mvwchgat                curs_attr(3x)
-              mvwdelch                curs_delch(3x)
-              mvwget_wch              curs_get_wch(3x)
-              mvwget_wstr             curs_get_wstr(3x)
-              mvwgetch                curs_getch(3x)
-              mvwgetn_wstr            curs_get_wstr(3x)
-              mvwgetnstr              curs_getstr(3x)
-              mvwgetstr               curs_getstr(3x)
-              mvwhline                curs_border(3x)
-              mvwhline_set            curs_border_set(3x)
-              mvwin                   curs_window(3x)
-              mvwin_wch               curs_in_wch(3x)
-              mvwin_wchnstr           curs_in_wchstr(3x)
-              mvwin_wchstr            curs_in_wchstr(3x)
-              mvwinch                 curs_inch(3x)
-              mvwinchnstr             curs_inchstr(3x)
-
-              mvwinchstr              curs_inchstr(3x)
-              mvwinnstr               curs_instr(3x)
-              mvwinnwstr              curs_inwstr(3x)
-              mvwins_nwstr            curs_ins_wstr(3x)
-              mvwins_wch              curs_ins_wch(3x)
-              mvwins_wstr             curs_ins_wstr(3x)
-              mvwinsch                curs_insch(3x)
-              mvwinsnstr              curs_insstr(3x)
-              mvwinsstr               curs_insstr(3x)
-              mvwinstr                curs_instr(3x)
-              mvwinwstr               curs_inwstr(3x)
-              mvwprintw               curs_printw(3x)
-              mvwscanw                curs_scanw(3x)
-              mvwvline                curs_border(3x)
-              mvwvline_set            curs_border_set(3x)
-              napms                   curs_kernel(3x)
-              newpad                  curs_pad(3x)
-              newterm                 curs_initscr(3x)
-              newwin                  curs_window(3x)
-              nl                      curs_outopts(3x)
-              nocbreak                curs_inopts(3x)
-              nodelay                 curs_inopts(3x)
-              noecho                  curs_inopts(3x)
-              nonl                    curs_outopts(3x)
-              noqiflush               curs_inopts(3x)
-              noraw                   curs_inopts(3x)
-              notimeout               curs_inopts(3x)
-              overlay                 curs_overlay(3x)
-              overwrite               curs_overlay(3x)
-              pair_content            curs_color(3x)
-              pechochar               curs_pad(3x)
-              pnoutrefresh            curs_pad(3x)
-              prefresh                curs_pad(3x)
-              printw                  curs_printw(3x)
-              putp                    curs_terminfo(3x)
-              putwin                  curs_util(3x)
-              qiflush                 curs_inopts(3x)
-              raw                     curs_inopts(3x)
-              redrawwin               curs_refresh(3x)
-              refresh                 curs_refresh(3x)
-              reset_prog_mode         curs_kernel(3x)
-              reset_shell_mode        curs_kernel(3x)
-              resetty                 curs_kernel(3x)
-              resizeterm              resizeterm(3x)*
-              restartterm             curs_terminfo(3x)
-              ripoffline              curs_kernel(3x)
-              savetty                 curs_kernel(3x)
-              scanw                   curs_scanw(3x)
-              scr_dump                curs_scr_dump(3x)
-              scr_init                curs_scr_dump(3x)
-              scr_restore             curs_scr_dump(3x)
-              scr_set                 curs_scr_dump(3x)
-              scrl                    curs_scroll(3x)
-              scroll                  curs_scroll(3x)
-              scrollok                curs_outopts(3x)
-              set_curterm             curs_terminfo(3x)
-              set_term                curs_initscr(3x)
-              setcchar                curs_getcchar(3x)
-              setscrreg               curs_outopts(3x)
-              setsyx                  curs_kernel(3x)
-              setterm                 curs_terminfo(3x)
-              setupterm               curs_terminfo(3x)
-              slk_attr                curs_slk(3x)*
-              slk_attr_off            curs_slk(3x)
-              slk_attr_on             curs_slk(3x)
-
-              slk_attr_set            curs_slk(3x)
-              slk_attroff             curs_slk(3x)
-              slk_attron              curs_slk(3x)
-              slk_attrset             curs_slk(3x)
-              slk_clear               curs_slk(3x)
-              slk_color               curs_slk(3x)
-              slk_init                curs_slk(3x)
-              slk_label               curs_slk(3x)
-              slk_noutrefresh         curs_slk(3x)
-              slk_refresh             curs_slk(3x)
-              slk_restore             curs_slk(3x)
-              slk_set                 curs_slk(3x)
-              slk_touch               curs_slk(3x)
-              standend                curs_attr(3x)
-              standout                curs_attr(3x)
-              start_color             curs_color(3x)
-              subpad                  curs_pad(3x)
-              subwin                  curs_window(3x)
-              syncok                  curs_window(3x)
-              term_attrs              curs_termattrs(3x)
-              termattrs               curs_termattrs(3x)
-              termname                curs_termattrs(3x)
-              tgetent                 curs_termcap(3x)
-              tgetflag                curs_termcap(3x)
-              tgetnum                 curs_termcap(3x)
-              tgetstr                 curs_termcap(3x)
-              tgoto                   curs_termcap(3x)
-              tigetflag               curs_terminfo(3x)
-              tigetnum                curs_terminfo(3x)
-              tigetstr                curs_terminfo(3x)
-              timeout                 curs_inopts(3x)
-              touchline               curs_touch(3x)
-              touchwin                curs_touch(3x)
-              tparm                   curs_terminfo(3x)
-              tputs                   curs_termcap(3x)
-              tputs                   curs_terminfo(3x)
-              trace                   curs_trace(3x)*
-              typeahead               curs_inopts(3x)
-              unctrl                  curs_util(3x)
-              unget_wch               curs_get_wch(3x)
-              ungetch                 curs_getch(3x)
-              ungetmouse              curs_mouse(3x)*
-              untouchwin              curs_touch(3x)
-              use_default_colors      default_colors(3x)*
-              use_env                 curs_util(3x)
-              use_extended_names      curs_extend(3x)*
-              vid_attr                curs_terminfo(3x)
-              vid_puts                curs_terminfo(3x)
-              vidattr                 curs_terminfo(3x)
-              vidputs                 curs_terminfo(3x)
-              vline                   curs_border(3x)
-              vline_set               curs_border_set(3x)
-              vw_printw               curs_printw(3x)
-              vw_scanw                curs_scanw(3x)
-              vwprintw                curs_printw(3x)
-              vwscanw                 curs_scanw(3x)
-              wadd_wch                curs_add_wch(3x)
-              wadd_wchnstr            curs_add_wchstr(3x)
-              wadd_wchstr             curs_add_wchstr(3x)
-              waddch                  curs_addch(3x)
-              waddchnstr              curs_addchstr(3x)
-              waddchstr               curs_addchstr(3x)
-              waddnstr                curs_addstr(3x)
-              waddnwstr               curs_addwstr(3x)
-              waddstr                 curs_addstr(3x)
-
-              waddwstr                curs_addwstr(3x)
-              wattr_get               curs_attr(3x)
-              wattr_off               curs_attr(3x)
-              wattr_on                curs_attr(3x)
-              wattr_set               curs_attr(3x)
-              wattroff                curs_attr(3x)
-              wattron                 curs_attr(3x)
-              wattrset                curs_attr(3x)
-              wbkgd                   curs_bkgd(3x)
-              wbkgdset                curs_bkgd(3x)
-              wbkgrnd                 curs_bkgrnd(3x)
-              wbkgrndset              curs_bkgrnd(3x)
-              wborder                 curs_border(3x)
-              wborder_set             curs_border_set(3x)
-              wchgat                  curs_attr(3x)
-              wclear                  curs_clear(3x)
-              wclrtobot               curs_clear(3x)
-              wclrtoeol               curs_clear(3x)
-              wcolor_set              curs_attr(3x)
-              wcursyncup              curs_window(3x)
-              wdelch                  curs_delch(3x)
-              wdeleteln               curs_deleteln(3x)
-              wecho_wchar             curs_add_wch(3x)
-              wechochar               curs_addch(3x)
-              wenclose                curs_mouse(3x)*
-              werase                  curs_clear(3x)
-              wget_wch                curs_get_wch(3x)
-              wget_wstr               curs_get_wstr(3x)
-              wgetbkgrnd              curs_bkgrnd(3x)
-              wgetch                  curs_getch(3x)
-              wgetn_wstr              curs_get_wstr(3x)
-              wgetnstr                curs_getstr(3x)
-              wgetstr                 curs_getstr(3x)
-              whline                  curs_border(3x)
-              whline_set              curs_border_set(3x)
-              win_wch                 curs_in_wch(3x)
-              win_wchnstr             curs_in_wchstr(3x)
-              win_wchstr              curs_in_wchstr(3x)
-              winch                   curs_inch(3x)
-              winchnstr               curs_inchstr(3x)
-              winchstr                curs_inchstr(3x)
-              winnstr                 curs_instr(3x)
-              winnwstr                curs_inwstr(3x)
-              wins_nwstr              curs_ins_wstr(3x)
-              wins_wch                curs_ins_wch(3x)
-              wins_wstr               curs_ins_wstr(3x)
-              winsch                  curs_insch(3x)
-              winsdelln               curs_deleteln(3x)
-              winsertln               curs_deleteln(3x)
-              winsnstr                curs_insstr(3x)
-              winsstr                 curs_insstr(3x)
-              winstr                  curs_instr(3x)
-              winwstr                 curs_inwstr(3x)
-              wmouse_trafo            curs_mouse(3x)*
-              wmove                   curs_move(3x)
-              wnoutrefresh            curs_refresh(3x)
-              wprintw                 curs_printw(3x)
-              wredrawln               curs_refresh(3x)
-              wrefresh                curs_refresh(3x)
-              wresize                 wresize(3x)*
-              wscanw                  curs_scanw(3x)
-              wscrl                   curs_scroll(3x)
-              wsetscrreg              curs_outopts(3x)
-              wstandend               curs_attr(3x)
-              wstandout               curs_attr(3x)
-
-              wsyncdown               curs_window(3x)
-              wsyncup                 curs_window(3x)
-              wtimeout                curs_inopts(3x)
-              wtouchln                curs_touch(3x)
-              wunctrl                 curs_util(3x)
-              wvline                  curs_border(3x)
-              wvline_set              curs_border_set(3x)
-
-
-
-

RETURN VALUE

-       Routines that return an integer return  ERR  upon  failure
-       and  an  integer value other than ERR upon successful com-
-       pletion, unless otherwise noted in  the  routine  descrip-
-       tions.
-
-       All  macros  return  the  value  of  the w version, except
-       setscrreg, wsetscrreg, getyx, getbegyx, and getmaxyx.  The
-       return  values  of setscrreg, wsetscrreg, getyx, getbegyx,
-       and getmaxyx are undefined (i.e., these should not be used
-       as the right-hand side of assignment statements).
-
-       Routines that return pointers return NULL on error.
-
-
-
-

ENVIRONMENT

-       The following environment symbols are useful for customiz-
-       ing the runtime behavior of the ncurses library.  The most
-       important ones have been already discussed in detail.
-
-       BAUDRATE
-            The  debugging library checks this environment symbol
-            when the application has redirected output to a file.
-            The  symbol's numeric value is used for the baudrate.
-            If no value is found, ncurses uses 9600.  This allows
-            testers  to construct repeatable test-cases that take
-            into account costs that depend on baudrate.
-
-       CC   When set, change occurrences of the command_character
-            (i.e.,  the  cmdch capability) of the loaded terminfo
-            entries to the value of this symbol.  Very  few  ter-
-            minfo entries provide this feature.
-
-       COLUMNS
-            Specify  the  width  of  the  screen  in  characters.
-            Applications running in a windowing environment  usu-
-            ally  are  able  to obtain the width of the window in
-            which they are executing.   If  neither  the  COLUMNS
-            value  nor  the  terminal's screen size is available,
-            ncurses uses the size which may be specified  in  the
-            terminfo database (i.e., the cols capability).
-
-            It  is  important that your application use a correct
-            size for the screen.  This  is  not  always  possible
-            because  your  application  may  be running on a host
-            which does not honor NAWS (Negotiations About  Window
-            Size),  or  because  you  are  temporarily running as
-            another user.  However, setting COLUMNS and/or  LINES
-            overrides  the  library's  use  of  the  screen  size
-            obtained from the operating system.
-
-            Either COLUMNS or  LINES  symbols  may  be  specified
-            independently.   This  is mainly useful to circumvent
-            legacy misfeatures of  terminal  descriptions,  e.g.,
-            xterm which commonly specifies a 65 line screen.  For
-            best results, lines and cols should not be  specified
-            in a terminal description for terminals which are run
-            as emulations.
-
-            Use the use_env function to disable all use of exter-
-            nal environment (including system calls) to determine
-            the screen size.
-
-       ESCDELAY
-            Specifies the total time, in milliseconds, for  which
-            ncurses  will  await  a  character  sequence, e.g., a
-            function key.  The default value, 1000  milliseconds,
-            is enough for most uses.  However, it is made a vari-
-            able to accommodate unusual applications.
-
-            The most common instance where you may wish to change
-            this  value is to work with slow hosts, e.g., running
-            on a network.  If the  host  cannot  read  characters
-            rapidly  enough,  it  will have the same effect as if
-            the terminal did not send characters rapidly  enough.
-            The library will still see a timeout.
-
-            Note  that xterm mouse events are built up from char-
-            acter sequences received from  the  xterm.   If  your
-            application makes heavy use of multiple-clicking, you
-            may wish to lengthen this default value  because  the
-            timeout  applies to the composed multi-click event as
-            well as the individual clicks.
-
-            In addition to the environment variable, this  imple-
-            mentation  provides  a  global variable with the same
-            name.  Portable applications should not rely upon the
-            presence  of ESCDELAY in either form, but setting the
-            environment variable rather than the global  variable
-            does  not  create problems when compiling an applica-
-            tion.
-
-       HOME Tells ncurses where your home directory is.  That  is
-            where  it  may  read  and  write  auxiliary  terminal
-            descriptions:
-
-            $HOME/.termcap
-            $HOME/.terminfo
-
-       LINES
-            Like COLUMNS, specify the height  of  the  screen  in
-            characters.   See COLUMNS for a detailed description.
-
-       MOUSE_BUTTONS_123
-            This applies only to the OS/2 EMX port.  It specifies
-            the  order  of  buttons on the mouse.  OS/2 numbers a
-            3-button mouse inconsistently from other platforms:
-
-            1 = left
-            2 = right
-            3 = middle.
-
-            This symbol lets you customize the mouse.  The symbol
-            must  be three numeric digits 1-3 in any order, e.g.,
-            123 or 321.  If it is  not  specified,  ncurses  uses
-            132.
-
-       NCURSES_ASSUMED_COLORS
-            Override  the  compiled-in assumption that the termi-
-            nal's  default   colors   are   white-on-black   (see
-            assume_default_colors(3x)).   You  may  set the fore-
-            ground and background color values with this environ-
-            ment  variable  by  proving  a  2-element list: fore-
-            ground,background.  For example, to tell  ncurses  to
-            not  assume  anything  about  the colors, set this to
-            "-1,-1".  To make it green-on-black, set it to "2,0".
-            Any positive value from zero to the terminfo max_col-
-            ors value is allowed.
-
-       NCURSES_NO_PADDING
-            Most of the terminal  descriptions  in  the  terminfo
-            database  are  written for real "hardware" terminals.
-            Many people use terminal emulators  which  run  in  a
-            windowing  environment  and use curses-based applica-
-            tions.  Terminal emulators can duplicate all  of  the
-            important aspects of a hardware terminal, but they do
-            not have the same limitations.  The chief  limitation
-            of  a  hardware  terminal from the standpoint of your
-            application is the management of dataflow, i.e., tim-
-            ing.  Unless a hardware terminal is interfaced into a
-            terminal concentrator (which does flow  control),  it
-            (or  your application) must manage dataflow, prevent-
-            ing overruns.  The  cheapest  solution  (no  hardware
-            cost) is for your program to do this by pausing after
-            operations that the terminal  does  slowly,  such  as
-            clearing the display.
-
-            As  a  result,  many terminal descriptions (including
-            the vt100) have delay times embedded.  You  may  wish
-            to  use  these  descriptions, but not want to pay the
-            performance penalty.
-
-            Set the NCURSES_NO_PADDING symbol to disable all  but
-            mandatory  padding.   Mandatory  padding is used as a
-            part of special control sequences such as flash.
-
-       NCURSES_NO_SETBUF
-            Normally ncurses enables buffered output during  ter-
-            minal  initialization.   This  is  done  (as  in SVr4
-            curses) for performance reasons.   For  testing  pur-
-            poses, both of ncurses and certain applications, this
-            feature    is    made    optional.     Setting    the
-            NCURSES_NO_SETBUF variable disables output buffering,
-            leaving the output  in  the  original  (usually  line
-            buffered) mode.
-
-       NCURSES_NO_UTF8_ACS
-            During initialization, the ncurses library checks for
-            special cases where VT100 line-drawing (and the  cor-
-            responding   alternate  character  set  capabilities)
-            described in the terminfo are known  to  be  missing.
-            Specifically,  when  running  in  a UTF-8 locale, the
-            Linux console emulator and  the  GNU  screen  program
-            ignore  these.   Ncurses  checks the TERM environment
-            variable for these.  For  other  special  cases,  you
-            should  set  this  environment  variable.  Doing this
-            tells ncurses to use Unicode values which  correspond
-            to the VT100 line-drawing glyphs.  That works for the
-            special cases cited, and is likely to work for termi-
-            nal emulators.
-
-            When  setting  this  variable, you should set it to a
-            nonzero value.  Setting it to zero (or to  a  nonnum-
-            ber) disables the special check for Linux and screen.
-
-       NCURSES_TRACE
-            During initialization, the ncurses debugging  library
-            checks  the  NCURSES_TRACE symbol.  If it is defined,
-            to a numeric value, ncurses calls the trace function,
-            using that value as the argument.
-
-            The  argument  values, which are defined in curses.h,
-            provide several types of information.   When  running
-            with  traces enabled, your application will write the
-            file trace to the current directory.
-
-       TERM Denotes your terminal type.  Each  terminal  type  is
-            distinct, though many are similar.
-
-       TERMCAP
-            If the ncurses library has been configured with term-
-            cap support, ncurses  will  check  for  a  terminal's
-            description in termcap form if it is not available in
-            the terminfo database.
-
-            The  TERMCAP  symbol  contains  either   a   terminal
-            description  (with  newlines stripped out), or a file
-            name telling where the  information  denoted  by  the
-            TERM  symbol  exists.   In  either  case,  setting it
-            directs ncurses to ignore the usual  place  for  this
-            information, e.g., /etc/termcap.
-
-       TERMINFO
-            Overrides the directory in which ncurses searches for
-            your terminal description.  This is the simplest, but
-            not  the  only way to change the list of directories.
-            The complete list of directories in order follows:
-
-            -  the last directory to which ncurses wrote, if any,
-               is searched first
-
-            -  the directory specified by the TERMINFO symbol
-
-            -  $HOME/.terminfo
-
-            -  directories listed in the TERMINFO_DIRS symbol
-
-            -  one or more directories whose names are configured
-               and  compiled  into  the  ncurses  library,  e.g.,
-               /usr/share/terminfo
-
-       TERMINFO_DIRS
-            Specifies  a list of directories to search for termi-
-            nal descriptions.  The list is  separated  by  colons
-            (i.e.,  ":") on Unix, semicolons on OS/2 EMX.  All of
-            the terminal descriptions are in terminfo form, which
-            makes  a  subdirectory  named for the first letter of
-            the terminal names therein.
-
-       TERMPATH
-            If TERMCAP does not hold a  file  name  then  ncurses
-            checks  the TERMPATH symbol.  This is a list of file-
-            names separated by spaces or colons  (i.e.,  ":")  on
-            Unix, semicolons on OS/2 EMX.  If the TERMPATH symbol
-            is not set, ncurses looks in the files  /etc/termcap,
-            /usr/share/misc/termcap  and  $HOME/.termcap, in that
-            order.
-
-       The library may be configured to disregard  the  following
-       variables  when  the current user is the superuser (root),
-       or if the application uses setuid or  setgid  permissions:
-       $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
-
-
-
-

FILES

-       /usr/share/tabset
-            directory  containing  initialization  files  for the
-            terminal  capability   database   /usr/share/terminfo
-            terminal capability database
-
-
-
-

SEE ALSO

-       terminfo(5)  and  related  pages whose names begin "curs_"
-       for detailed routine descriptions.
-
-
-
-

EXTENSIONS

-       The  ncurses  library  can  be  compiled  with  an  option
-       (-DUSE_GETCAP) that falls back to the old-style /etc/term-
-       cap file if the terminal setup code cannot find a terminfo
-       entry  corresponding  to TERM.  Use of this feature is not
-       recommended, as it essentially includes an entire  termcap
-       compiler  in the ncurses startup code, at significant cost
-       in core and startup cycles.
-
-       The ncurses  library  includes  facilities  for  capturing
-       mouse  events  on certain terminals (including xterm). See
-       the curs_mouse(3x) manual page for details.
-
-       The ncurses library includes facilities for responding  to
-       window  resizing  events,  e.g., when running in an xterm.
-       See the resizeterm(3x) and wresize(3x)  manual  pages  for
-       details.   In addition, the library may be configured with
-       a SIGWINCH handler.
-
-       The ncurses library extends the fixed set of function  key
-       capabilities  of  terminals  by  allowing  the application
-       designer to define additional key  sequences  at  runtime.
-       See the define_key(3x) key_defined(3x), and keyok(3x) man-
-       ual pages for details.
-
-       The ncurses library can exploit the capabilities of termi-
-       nals  which  implement the ISO-6429 SGR 39 and SGR 49 con-
-       trols, which allow an application to reset the terminal to
-       its  original  foreground and background colors.  From the
-       users' perspective, the application is able to  draw  col-
-       ored  text  on  a  background  whose color is set indepen-
-       dently, providing better  control  over  color  contrasts.
-       See the default_colors(3x) manual page for details.
-
-       The  ncurses  library  includes  a  function for directing
-       application output to a printer attached to  the  terminal
-       device.  See the curs_print(3x) manual page for details.
-
-
-
-

PORTABILITY

-       The  ncurses  library is intended to be BASE-level confor-
-       mant with the  XSI  Curses  standard.   The  EXTENDED  XSI
-       Curses  functionality  (including  color  support) is sup-
-       ported.
-
-       A small number of local differences (that  is,  individual
-       differences  between the XSI Curses and ncurses calls) are
-       described in  PORTABILITY  sections  of  the  library  man
-       pages.
-
-       The routine has_key is not part of XPG4, nor is it present
-       in SVr4.  See the curs_getch(3x) manual page for  details.
-
-       The  routine  slk_attr  is  not  part  of  XPG4, nor is it
-       present in SVr4.  See the  curs_slk(3x)  manual  page  for
-       details.
-
-       The  routines getmouse, mousemask, ungetmouse, mouseinter-
-       val, and wenclose relating to mouse  interfacing  are  not
-       part  of  XPG4,  nor  are  they  present in SVr4.  See the
-       curs_mouse(3x) manual page for details.
-
-       The routine mcprint was not present in any previous curses
-       implementation.   See  the  curs_print(3x) manual page for
-       details.
-
-       The routine wresize is not part of XPG4, nor is it present
-       in SVr4.  See the wresize(3x) manual page for details.
-
-       In  historic curses versions, delays embedded in the capa-
-       bilities cr, ind, cub1, ff and tab activated corresponding
-       delay  bits  in  the UNIX tty driver.  In this implementa-
-       tion, all padding is done by NUL sends.   This  method  is
-       slightly  more expensive, but narrows the interface to the
-       UNIX kernel  significantly  and  increases  the  package's
-       portability correspondingly.
-
-
-
-

NOTES

-       The  header  file  <curses.h>  automatically  includes the
-       header files <stdio.h> and <unctrl.h>.
-
-       If standard output from a ncurses program  is  re-directed
-       to  something  which  is not a tty, screen updates will be
-       directed to standard error.  This was an undocumented fea-
-       ture of AT&T System V Release 3 curses.
-
-
-
-

AUTHORS

-       Zeyd  M.  Ben-Halim,  Eric  S.  Raymond, Thomas E. Dickey.
-       Based on pcurses by Pavel Curtis.
-
-
-
-                                                            ncurses(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/panel.3x.html b/src/libs/ncurses/doc/html/man/panel.3x.html deleted file mode 100644 index 89c0ee3b54..0000000000 --- a/src/libs/ncurses/doc/html/man/panel.3x.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - -panel 3x - - - - -

panel 3x

-
-
-
-panel(3x)                                                     panel(3x)
-
-
-
-
-
-

NAME

-       panel - panel stack extension for curses
-
-
-
-

SYNOPSIS

-       #include <panel.h>
-
-       cc [flags] sourcefiles -lpanel -lncurses
-
-       PANEL *new_panel(WINDOW *win)
-       int bottom_panel(PANEL *pan)
-       int top_panel(PANEL *pan)
-       int show_panel(PANEL *pan)
-       void update_panels();
-       int hide_panel(PANEL *pan)
-       WINDOW *panel_window(const PANEL *pan)
-       int replace_panel(PANEL *pan, WINDOW *window)
-       int move_panel(PANEL *pan, int starty, int startx)
-       int panel_hidden(const PANEL *pan)
-       PANEL *panel_above(const PANEL *pan)
-       PANEL *panel_below(const PANEL *pan)
-       int set_panel_userptr(PANEL *pan, const void *ptr)
-       const void *panel_userptr(const PANEL *pan)
-       int del_panel(PANEL *pan)
-
-
-
-

DESCRIPTION

-       Panels  are  curses(3x)  windows with the added feature of
-       depth.  Panel functions allow the use of  stacked  windows
-       and  ensure  the  proper  portions  of each window and the
-       curses stdscr window are hidden or displayed  when  panels
-       are  added,  moved,  modified or removed.  The set of cur-
-       rently visible panels is the stack of panels.  The  stdscr
-       window  is  beneath all panels, and is not considered part
-       of the stack.
-
-       A window is associated with every panel.  The  panel  rou-
-       tines  enable  you to create, move, hide, and show panels,
-       as well as position a panel at any desired location in the
-       stack.
-
-       Panel routines are a functional layer added to curses(3x),
-       make only high-level curses calls, and work anywhere  ter-
-       minfo curses does.
-
-
-
-

FUNCTIONS

-       new_panel(win)
-              allocates   a   PANEL structure, associates it with
-              win, places the panel  on  the  top  of  the  stack
-              (causes   it  to   be   displayed  above  any other
-              panel) and returns a pointer to the new panel.
-
-       void update_panels()
-              refreshes the virtual screen to reflect  the  rela-
-              tions between the panels in the stack, but does not
-              call doupdate() to  refresh  the  physical  screen.
-              Use this function and not wrefresh or wnoutrefresh.
-              update_panels() may be called more than once before
-              a  call  to doupdate(), but doupdate() is the func-
-              tion responsible for updating the physical  screen.
-
-       del_panel(pan)
-              removes the given panel from the  stack and deallo-
-              cates the PANEL structure (but not  its  associated
-              window).
-
-       hide_panel(pan)
-              removes  the  given  panel from the panel stack and
-              thus hides it from view. The PANEL structure is not
-              lost, merely removed from the stack.
-
-       show_panel(pan)
-              makes  a  hidden panel visible by placing it on top
-              of the panels in the panel stack. See COMPATIBILITY
-              below.
-
-       top_panel(pan)
-              puts  the  given visible panel on top of all panels
-              in the stack.  See COMPATIBILITY below.
-
-       bottom_panel(pan)
-              puts panel at the bottom of all panels.
-
-       move_panel(pan,starty,startx)
-              moves the given panel window so that its upper-left
-              corner  is  at  starty, startx.  It does not change
-              the position of the panel in the stack.  Be sure to
-              use  this  function,  not  mvwin(), to move a panel
-              window.
-
-       replace_panel(pan,window)
-              replaces the current window of  panel  with  window
-              (useful, for example if you want to resize a panel;
-              if you're using ncurses, you can call replace_panel
-              on  the output of wresize(3x)).  It does not change
-              the position of the panel in the stack.
-
-       panel_above(pan)
-              returns a pointer to the panel above pan.   If  the
-              panel  argument is (PANEL *)0, it returns a pointer
-              to the bottom panel in the stack.
-
-       panel_below(pan)
-              returns a pointer to the panel just below pan.   If
-              the  panel  argument  is  (PANEL  *)0, it returns a
-              pointer to the top panel in the stack.
-
-       set_panel_userptr(pan,ptr)
-              sets the panel's user pointer.
-
-       panel_userptr(pan)
-              returns the user pointer for a given panel.
-
-       panel_window(pan)
-              returns a pointer to the window of the given panel.
-
-
-
-

DIAGNOSTICS

-       Each  routine  that  returns  a pointer returns NULL if an
-       error occurs. Each  routine  that  returns  an  int  value
-       returns OK if it executes successfully and ERR if not.
-
-
-
-

COMPATIBILITY

-       Reasonable  care  has been taken to  ensure  compatibility
-       with  the  native  panel  facility  introduced  in  SVr3.2
-       (inspection of the SVr4 manual pages suggests the program-
-       ming interface is unchanged).  The PANEL  data  structures
-       are  merely   similar. The  programmer is cautioned not to
-       directly use PANEL fields.
-
-       The functions show_panel() and top_panel()  are  identical
-       in  this  implementation,  and work equally well with dis-
-       played or hidden panels.  In the native System V implemen-
-       tation, show_panel() is intended for making a hidden panel
-       visible (at the top  of  the  stack)  and  top_panel()  is
-       intended  for  making an already-visible panel move to the
-       top of the stack. You are cautioned  to  use  the  correct
-       function   to   ensure  compatibility  with  native  panel
-       libraries.
-
-
-
-

NOTE

-       In your library list, libpanel.a should  be  before  libn-
-       curses.a;  that  is,  you want to say `-lpanel -lncurses',
-       not the other way around (which  would  give  you  a  link
-       error using GNU ld(1) and some other linkers).
-
-
-
-

FILES

-       panel.h interface for the panels library
-
-       libpanel.a the panels library itself
-
-
-
-

SEE ALSO

-       curses(3x)
-
-
-
-

AUTHOR

-       Originally   written   by   Warren  Tucker  <wht@n4hgf.mt-
-       park.ga.us>, primarily to assist  in  porting  u386mon  to
-       systems  without  a native panels library.  Repackaged for
-       ncurses by Zeyd ben-Halim.
-
-
-
-                                                              panel(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/resizeterm.3x.html b/src/libs/ncurses/doc/html/man/resizeterm.3x.html deleted file mode 100644 index 23b0845735..0000000000 --- a/src/libs/ncurses/doc/html/man/resizeterm.3x.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - -resizeterm 3x - - - - -

resizeterm 3x

-
-
-
-resizeterm(3x)                                           resizeterm(3x)
-
-
-
-
-
-

NAME

-       is_term_resized,  resize_term,  resizeterm  -  change  the
-       curses terminal size
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       bool is_term_resized(int lines, int columns);
-       int resize_term(int lines, int columns);
-       int resizeterm(int lines, int columns);
-
-
-
-

DESCRIPTION

-       This is an extension to the curses library.   It  provides
-       callers  with  a hook into the ncurses data to resize win-
-       dows, primarily for use by programs running in an X Window
-       terminal  (e.g.,  xterm).  The function resizeterm resizes
-       the standard and current windows to the  specified  dimen-
-       sions,  and  adjusts  other  bookkeeping  data used by the
-       ncurses library that record the window dimensions.
-
-       Most  of  the  work  is  done  by   the   inner   function
-       resize_term.  The outer function resizeterm adds bookkeep-
-       ing for the SIGWINCH handler.  When resizing the  windows,
-       resize_term  blank-fills the areas that are extended.  The
-       calling application should fill in these areas with appro-
-       priate  data.  The resize_term function attempts to resize
-       all windows.  However, due to the  calling  convention  of
-       pads,  it  is  not  possible to resize these without addi-
-       tional interaction with the application.
-
-       A support function is_term_resized  is  provided  so  that
-       applications  can  check if the resize_term function would
-       modify the window structures.  It returns TRUE if the win-
-       dows would be modified, and FALSE otherwise.
-
-
-
-

RETURN VALUE

-       Except  as  notes,  these  function return the integer ERR
-       upon failure and OK on success.  They will fail if  either
-       of the dimensions are less than or equal to zero, or if an
-       error occurs while (re)allocating memory for the  windows.
-
-
-
-

NOTES

-       While these functions are intended to be used to support a
-       signal handler (i.e., for SIGWINCH), care should be  taken
-       to  avoid invoking them in a context where malloc or real-
-       loc may have been interrupted, since it uses  those  func-
-       tions.
-
-       If  ncurses  is configured to supply its own SIGWINCH han-
-       dler, the resizeterm function ungetch's a KEY_RESIZE which
-       will  be  read on the next call to getch.  This is used to
-       alert an application that the screen size has changed, and
-       that  it should repaint special features such as pads that
-       cannot be done automatically.
-
-       If the environment variables LINES  or  COLUMNS  are  set,
-       this  overrides  the  library's  use  of  the  window size
-       obtained from the operating system.  Thus, even if a  SIG-
-       WINCH  is received, no screen size change may be recorded.
-       In that case, no KEY_RESIZE is queued for the next call to
-       getch; an ERR will be returned instead.
-
-
-
-

SEE ALSO

-       wresize(3x).
-
-
-
-

AUTHOR

-       Thomas Dickey (from an equivalent function written in 1988
-       for BSD curses).
-
-
-
-                                                         resizeterm(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/term.5.html b/src/libs/ncurses/doc/html/man/term.5.html deleted file mode 100644 index e42ddd5924..0000000000 --- a/src/libs/ncurses/doc/html/man/term.5.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - -TERM 5 - - - - -

TERM 5

-
-
-
-TERM(5)                                                         TERM(5)
-
-
-
-
-
-

NAME

-       term - format of compiled term file.
-
-
-
-

SYNOPSIS

-       term
-
-
-
-

DESCRIPTION

-       Compiled terminfo descriptions are placed under the direc-
-       tory /usr/share/terminfo.  In  order  to  avoid  a  linear
-       search of a huge UNIX system directory, a two-level scheme
-       is used: /usr/share/terminfo/c/name where name is the name
-       of  the  terminal,  and  c is the first character of name.
-       Thus, act4  can  be  found  in  the  file  /usr/share/ter-
-       minfo/a/act4.   Synonyms  for the same terminal are imple-
-       mented by multiple links to the same compiled file.
-
-       The format has been chosen so that it will be the same  on
-       all  hardware.   An  8 or more bit byte is assumed, but no
-       assumptions about byte  ordering  or  sign  extension  are
-       made.
-
-       The  compiled  file  is  created with the tic program, and
-       read by the routine setupterm.  The file is  divided  into
-       six parts: the header, terminal names, boolean flags, num-
-       bers, strings, and string table.
-
-       The header section begins the file.  This section contains
-       six  short  integers in the format described below.  These
-       integers are (1) the magic number (octal  0432);  (2)  the
-       size,  in  bytes,  of the names section; (3) the number of
-       bytes in the boolean section;  (4)  the  number  of  short
-       integers in the numbers section; (5) the number of offsets
-       (short integers) in the strings section; (6) the size,  in
-       bytes, of the string table.
-
-       Short  integers  are stored in two 8-bit bytes.  The first
-       byte contains the least significant 8 bits of  the  value,
-       and  the second byte contains the most significant 8 bits.
-       (Thus, the value represented  is  256*second+first.)   The
-       value -1 is represented by the two bytes 0377, 0377; other
-       negative values are illegal. This  value  generally  means
-       that  the  corresponding  capability  is missing from this
-       terminal.  Note that this format corresponds to the  hard-
-       ware  of  the  VAX  and  PDP-11  (that  is,  little-endian
-       machines).  Machines where this does not correspond to the
-       hardware  must  read the integers as two bytes and compute
-       the little-endian value.
-
-       The terminal names section comes next.   It  contains  the
-       first  line of the terminfo description, listing the vari-
-       ous names for the terminal, separated by the  `|'  charac-
-       ter.   The section is terminated with an ASCII NUL charac-
-       ter.
-
-       The boolean flags have one byte for each flag.  This  byte
-       is  either  0  or 1 as the flag is present or absent.  The
-       capabilities are in the same order as the file <term.h>.
-
-       Between the boolean section and the number section, a null
-       byte  will  be  inserted, if necessary, to ensure that the
-       number section begins on an even byte (this is a relic  of
-       the   PDP-11's   word-addressed  architecture,  originally
-       designed in to avoid IOT traps  induced  by  addressing  a
-       word  on  an  odd  byte boundary).  All short integers are
-       aligned on a short word boundary.
-
-       The numbers section is similar to the flags section.  Each
-       capability  takes up two bytes, and is stored as a little-
-       endian short integer.  If the value represented is -1, the
-       capability is taken to be missing.
-
-       The  strings  section is also similar.  Each capability is
-       stored as a short integer, in the format above.   A  value
-       of  -1  means  the  capability is missing.  Otherwise, the
-       value is taken as an offset  from  the  beginning  of  the
-       string table.  Special characters in ^X or \c notation are
-       stored in their interpreted form, not the printing  repre-
-       sentation.  Padding information $<nn> and parameter infor-
-       mation %x are stored intact in uninterpreted form.
-
-       The final section is the string table.   It  contains  all
-       the values of string capabilities referenced in the string
-       section.  Each string is null terminated.
-
-       Note that it is possible for setupterm to expect a differ-
-       ent  set  of capabilities than are actually present in the
-       file.  Either the database may  have  been  updated  since
-       setupterm has been recompiled (resulting in extra unrecog-
-       nized entries in the file) or the program  may  have  been
-       recompiled  more  recently  than  the database was updated
-       (resulting in missing  entries).   The  routine  setupterm
-       must  be prepared for both possibilities - this is why the
-       numbers and sizes are included.   Also,  new  capabilities
-       must  always  be added at the end of the lists of boolean,
-       number, and string capabilities.
-
-       Despite the consistent use of  little-endian  for  numbers
-       and  the  otherwise self-describing format, it is not wise
-       to count on portability of binary terminfo entries between
-       commercial  UNIX  versions.  The problem is that there are
-       at least three versions of terminfo (under HP-UX, AIX, and
-       OSF/1)  which  diverged from System V terminfo after SVr1,
-       and have added extension capabilities to the string  table
-       that  (in the binary format) collide with System V and XSI
-       Curses extensions.  See terminfo(5) for  detailed  discus-
-       sion of terminfo source compatibility issues.
-
-       As  an  example, here is a hex dump of the description for
-       the Lear-Siegler ADM-3, a  popular  though  rather  stupid
-       early terminal:
-
-       adm3a|lsi adm3a,
-               am,
-               cols#80, lines#24,
-               bel=^G, clear= 32$<1>, cr=^M, cub1=^H, cud1=^J,
-               cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
-               home=^^, ind=^J,
-
-       0000  1a 01 10 00 02 00 03 00  82 00 31 00 61 64 6d 33  ........ ..1.adm3
-       0010  61 7c 6c 73 69 20 61 64  6d 33 61 00 00 01 50 00  a|lsi ad m3a...P.
-       0020  ff ff 18 00 ff ff 00 00  02 00 ff ff ff ff 04 00  ........ ........
-       0030  ff ff ff ff ff ff ff ff  0a 00 25 00 27 00 ff ff  ........ ..%.'...
-       0040  29 00 ff ff ff ff 2b 00  ff ff 2d 00 ff ff ff ff  ).....+. ..-.....
-       0050  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-       0060  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-       0070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-       0080  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-       0090  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-       00a0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-       00b0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-       00c0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-       00d0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-       00e0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-       00f0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-       0100  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-       0110  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ........ ........
-       0120  ff ff ff ff ff ff 2f 00  07 00 0d 00 1a 24 3c 31  ....../. .....$<1
-       0130  3e 00 1b 3d 25 70 31 25  7b 33 32 7d 25 2b 25 63  >..=%p1% {32}%+%c
-       0140  25 70 32 25 7b 33 32 7d  25 2b 25 63 00 0a 00 1e  %p2%{32} %+%c....
-       0150  00 08 00 0c 00 0b 00 0a  00                       ........ .
-
-
-       Some  limitations:  total  compiled  entries cannot exceed
-       4096 bytes.  The name field cannot exceed 128 bytes.
-
-
-
-

FILES

-       /usr/share/terminfo/*/*  compiled terminal capability data
-       base
-
-
-
-

SEE ALSO

-       curses(3x), terminfo(5).
-
-
-
-                                                                TERM(5)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/term.7.html b/src/libs/ncurses/doc/html/man/term.7.html deleted file mode 100644 index bc4ede4fd2..0000000000 --- a/src/libs/ncurses/doc/html/man/term.7.html +++ /dev/null @@ -1,251 +0,0 @@ - - - - -TERM 7 - - - - -

TERM 7

-
-
-
-TERM(7)                                                         TERM(7)
-
-
-
-
-
-

NAME

-       term - conventions for naming terminal types
-
-
-
-

DESCRIPTION

-       The  environment variable TERM should normally contain the
-       type name of the terminal, console or display-device  type
-       you  are  using.   This  information  is  critical for all
-       screen-oriented  programs,  including  your   editor   and
-       mailer.
-
-       A  default  TERM  value will be set on a per-line basis by
-       either /etc/inittab (Linux and  System-V-like  UNIXes)  or
-       /etc/ttys  (BSD  UNIXes).  This will nearly always suffice
-       for workstation and microcomputer consoles.
-
-       If you use a dialup line, the type of device  attached  to
-       it  may vary.  Older UNIX systems pre-set a very dumb ter-
-       minal type like `dumb' or `dialup' on dialup lines.  Newer
-       ones may pre-set `vt100', reflecting the prevalence of DEC
-       VT100-compatible terminals  and  personal-computer  emula-
-       tors.
-
-       Modern  telnets  pass  your TERM environment variable from
-       the local side to the remote one.  There can  be  problems
-       if  the  remote terminfo or termcap entry for your type is
-       not compatible with yours, but this situation is rare  and
-       can  almost  always  be  avoided  by  explicitly exporting
-       `vt100' (assuming you are in fact using  a  VT100-superset
-       console, terminal, or terminal emulator.)
-
-       In any case, you are free to override the system TERM set-
-       ting to your taste in your  shell  profile.   The  tset(1)
-       utility  may  be  of  assistance; you can give it a set of
-       rules for deducing or requesting a terminal type based  on
-       the tty device and baud rate.
-
-       Setting your own TERM value may also be useful if you have
-       created a custom  entry  incorporating  options  (such  as
-       visual  bell  or reverse-video) which you wish to override
-       the system default type for your line.
-
-       Terminal type descriptions are stored as files of capabil-
-       ity data underneath /usr/share/terminfo.  To browse a list
-       of all terminal names recognized by the system, do
-
-            toe | more
-
-       from your shell.  These capability files are in  a  binary
-       format optimized for retrieval speed (unlike the old text-
-       based termcap format they replace); to examine  an  entry,
-       you  must  use  the infocmp(1) command.  Invoke it as fol-
-       lows:
-
-            infocmp entry-name
-
-       where entry-name is the name of the type you wish to exam-
-       ine  (and the name of its capability file the subdirectory
-       of /usr/share/terminfo named for its first letter).   This
-       command  dumps  a  capability  file  in  the  text  format
-       described by terminfo(5).
-
-       The first line of  a  terminfo(5)  description  gives  the
-       names by which terminfo knows a terminal, separated by `|'
-       (pipe-bar) characters with the last name field  terminated
-       by  a  comma.   The first name field is the type's primary
-       name, and is the one to use when setting TERM.   The  last
-       name  field  (if  distinct  from  the first) is actually a
-       description of the terminal type (it may  contain  blanks;
-       the others must be single words).  Name fields between the
-       first and last (if present) are aliases for the  terminal,
-       usually historical names retained for compatibility.
-
-       There are some conventions for how to choose terminal pri-
-       mary names that help keep  them  informative  and  unique.
-       Here is a step-by-step guide to naming terminals that also
-       explains how to parse them:
-
-       First, choose a root name.  The root  will  consist  of  a
-       lower-case  letter followed by up to seven lower-case let-
-       ters or digits.  You need to avoid using punctuation char-
-       acters  in  root  names,  because they are used and inter-
-       preted as filenames and shell meta-characters (such as  !,
-       $,  *, ?, etc.) embedded in them may cause odd and unhelp-
-       ful behavior.  The slash (/), or any other character  that
-       may  be  interpreted by anyone's file system (\, $, [, ]),
-       is especially dangerous (terminfo is platform-independent,
-       and  choosing  names with special characters could someday
-       make life difficult for users of a future port).  The  dot
-       (.)  character  is  relatively safe as long as there is at
-       most one per root name; some historical terminfo names use
-       it.
-
-       The  root  name for a terminal or workstation console type
-       should almost always begin with a vendor prefix  (such  as
-       hp  for Hewlett-Packard, wy for Wyse, or att for AT&T ter-
-       minals), or a common name of the terminal line (vt for the
-       VT  series of terminals from DEC, or sun for Sun Microsys-
-       tems workstation consoles, or regent for the  ADDS  Regent
-       series.   You  can list the terminfo tree to see what pre-
-       fixes are already in common use.   The  root  name  prefix
-       should  be  followed  when  appropriate by a model number;
-       thus vt100, hp2621, wy50.
-
-       The root name for a PC-Unix console type should be the  OS
-       name,  i.e.  linux, bsdos, freebsd, netbsd.  It should not
-       be console or any other generic that might cause confusion
-       in  a  multi-platform environment!  If a model number fol-
-       lows, it should indicate either the OS  release  level  or
-       the console driver release level.
-
-       The root name for a terminal emulator (assuming it doesn't
-       fit one of the standard ANSI or vt100 types) should be the
-       program  name or a readily recognizable abbreviation of it
-       (i.e. versaterm, ctrm).
-
-       Following the root name, you may add any reasonable number
-       of hyphen-separated feature suffixes.
-
-       2p   Has two pages of memory.  Likewise 4p, 8p, etc.
-
-       mc   Magic-cookie.   Some  terminals (notably older Wyses)
-            can only support one attribute  without  magic-cookie
-            lossage.   Their  base  entry  is usually paired with
-            another that has this suffix and uses  magic  cookies
-            to support multiple attributes.
-
-       -am  Enable auto-margin (right-margin wraparound).
-
-       -m   Mono mode - suppress color support.
-
-       -na  No  arrow keys - termcap ignores arrow keys which are
-            actually there on the terminal, so the user  can  use
-            the arrow keys locally.
-
-       -nam No auto-margin - suppress am capability.
-
-       -nl  No labels - suppress soft labels.
-
-       -nsl No status line - suppress status line.
-
-       -pp  Has a printer port which is used.
-
-       -rv  Terminal in reverse video mode (black on white).
-
-       -s   Enable status line.
-
-       -vb  Use visible bell (flash) rather than beep.
-
-       -w   Wide; terminal is in 132 column mode.
-
-       Conventionally,   if  your  terminal  type  is  a  variant
-       intended to specify a line height, that suffix  should  go
-       first.  So, for a hypothetical FuBarCo model 2317 terminal
-       in 30-line mode with reverse video,  best  form  would  be
-       fubar-30-rv (rather than, say, `fubar-rv-30').
-
-       Terminal types that are written not as standalone entries,
-       but rather as components to be plugged into other  entries
-       via  use capabilities, are distinguished by using embedded
-       plus signs rather than dashes.
-
-       Commands which use a  terminal  type  to  control  display
-       often  accept  a  -T  option  that accepts a terminal name
-       argument.  Such programs should  fall  back  on  the  TERM
-       environment variable when no -T option is specified.
-
-
-
-

PORTABILITY

-       For  maximum  compatibility  with  older  System V UNIXes,
-       names and aliases should be unique  within  the  first  14
-       characters.
-
-
-
-

FILES

-       /usr/share/terminfo/?/*
-            compiled terminal capability data base
-
-       /etc/inittab
-            tty line initialization (AT&T-like UNIXes)
-
-       /etc/ttys
-            tty line initialization (BSD-like UNIXes)
-
-
-
-

SEE ALSO

-       curses(3x), terminfo(5), term(5).
-
-
-
-                                                                TERM(7)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/terminfo.5.html b/src/libs/ncurses/doc/html/man/terminfo.5.html deleted file mode 100644 index d0d65def47..0000000000 --- a/src/libs/ncurses/doc/html/man/terminfo.5.html +++ /dev/null @@ -1,2348 +0,0 @@ - - - - -TERMINFO 5 File Formats - - - - -

TERMINFO 5 File Formats

-
-
-
-TERMINFO(5)                   File Formats                  TERMINFO(5)
-
-
-
-
-
-

NAME

-       terminfo - terminal capability data base
-
-
-
-

SYNOPSIS

-       /usr/share/terminfo/*/*
-
-
-
-

DESCRIPTION

-       Terminfo  is  a  data  base  describing terminals, used by
-       screen-oriented programs  such  as  nvi(1),  rogue(1)  and
-       libraries  such  as curses(3x).  Terminfo describes termi-
-       nals by giving a set of capabilities which they  have,  by
-       specifying how to perform screen operations, and by speci-
-       fying padding requirements and initialization sequences.
-
-       Entries in terminfo consist of a sequence of `,' separated
-       fields (embedded commas may be escaped with a backslash or
-       notated as \054).  White space after the `,' separator  is
-       ignored.   The  first  entry  for  each terminal gives the
-       names which are known for the terminal, separated  by  `|'
-       characters.   The  first  name  given  is  the most common
-       abbreviation for the terminal, the last name given  should
-       be  a  long  name  fully identifying the terminal, and all
-       others are understood as synonyms for the  terminal  name.
-       All names but the last should be in lower case and contain
-       no blanks; the last name may well contain upper  case  and
-       blanks for readability.
-
-       Lines beginning with a `#' in the first column are treated
-       as comments.  While comment lines are legal at any  point,
-       the  output  of  captoinfo and infotocap (aliases for tic)
-       will move comments so they occur only between entries.
-
-       Newlines and leading  tabs  may  be  used  for  formatting
-       entries  for  readability.   These are removed from parsed
-       entries.  The infocmp -f option relies on this  to  format
-       if-then-else expressions: the result can be read by tic.
-
-       Terminal names (except for the last, verbose entry) should
-       be chosen using the following conventions.  The particular
-       piece  of  hardware  making  up the terminal should have a
-       root name, thus ``hp2621''.  This name should not  contain
-       hyphens.  Modes that the hardware can be in, or user pref-
-       erences, should be indicated by appending a hyphen  and  a
-       mode  suffix.   Thus,  a vt100 in 132 column mode would be
-       vt100-w.  The following suffixes should be used where pos-
-       sible:
-
-
-      Suffix                  Meaning                   Example
-      -nn      Number of lines on the screen            aaa-60
-      -np      Number of pages of memory                c100-4p
-      -am      With automargins (usually the default)   vt100-am
-      -m       Mono mode; suppress color                ansi-m
-      -mc      Magic cookie; spaces when highlighting   wy30-mc
-      -na      No arrow keys (leave them in local)      c100-na
-      -nam     Without automatic margins                vt100-nam
-      -nl      No status line                           att4415-nl
-      -ns      No status line                           hp2626-ns
-      -rv      Reverse video                            c100-rv
-      -s       Enable status line                       vt100-s
-      -vb      Use visible bell instead of beep         wy370-vb
-
-      -w       Wide mode (> 80 columns, usually 132)    vt100-w
-
-       For  more  on terminal naming conventions, see the term(7)
-       manual page.
-
-   Capabilities
-       The following is a  complete  table  of  the  capabilities
-       included  in a terminfo description block and available to
-       terminfo-using code.  In each line of the table,
-
-       The variable is the name by which the programmer  (at  the
-       terminfo level) accesses the capability.
-
-       The  capname  is  the  short  name used in the text of the
-       database, and is used by a person updating  the  database.
-       Whenever  possible,  capnames are chosen to be the same as
-       or similar to the ANSI X3.64-1979 standard (now superseded
-       by  ECMA-48,  which uses identical or very similar names).
-       Semantics are also intended to match those of the specifi-
-       cation.
-
-       The  termcap code is the old termcap capability name (some
-       capabilities are new, and have names which termcap did not
-       originate).
-
-       Capability  names have no hard length limit, but an infor-
-       mal limit of 5 characters has been adopted  to  keep  them
-       short  and  to  allow  the tabs in the source file Caps to
-       line up nicely.
-
-       Finally, the description  field  attempts  to  convey  the
-       semantics  of  the capability.  You may find some codes in
-       the description field:
-
-       (P)    indicates that padding may be specified
-
-       #[1-9] in the description field indicates that the  string
-              is passed through tparm with parms as given (#i).
-
-       (P*)   indicates  that  padding  may vary in proportion to
-              the number of lines affected
-
-       (#i)   indicates the ith parameter.
-
-
-       These are the boolean capabilities:
-
-
-               Variable          Cap-  TCap      Description
-               Booleans          name  Code
-       auto_left_margin          bw    bw    cub1 wraps from col-
-                                             umn 0 to last column
-       auto_right_margin         am    am    terminal has auto-
-                                             matic margins
-       back_color_erase          bce   ut    screen erased with
-                                             background color
-       can_change                ccc   cc    terminal can re-
-                                             define existing col-
-                                             ors
-       ceol_standout_glitch      xhp   xs    standout not erased
-                                             by overwriting (hp)
-       col_addr_glitch           xhpa  YA    only positive motion
-                                             for hpa/mhpa caps
-
-
-
-       cpi_changes_res           cpix  YF    changing character
-                                             pitch changes reso-
-                                             lution
-       cr_cancels_micro_mode     crxm  YB    using cr turns off
-                                             micro mode
-       dest_tabs_magic_smso      xt    xt    tabs destructive,
-                                             magic so char
-                                             (t1061)
-       eat_newline_glitch        xenl  xn    newline ignored
-                                             after 80 cols (con-
-                                             cept)
-       erase_overstrike          eo    eo    can erase over-
-                                             strikes with a blank
-       generic_type              gn    gn    generic line type
-       hard_copy                 hc    hc    hardcopy terminal
-       hard_cursor               chts  HC    cursor is hard to
-                                             see
-       has_meta_key              km    km    Has a meta key
-                                             (i.e., sets 8th-bit)
-       has_print_wheel           daisy YC    printer needs opera-
-                                             tor to change char-
-                                             acter set
-       has_status_line           hs    hs    has extra status
-                                             line
-       hue_lightness_saturation  hls   hl    terminal uses only
-                                             HLS color notation
-                                             (Tektronix)
-       insert_null_glitch        in    in    insert mode distin-
-                                             guishes nulls
-       lpi_changes_res           lpix  YG    changing line pitch
-                                             changes resolution
-       memory_above              da    da    display may be
-                                             retained above the
-                                             screen
-       memory_below              db    db    display may be
-                                             retained below the
-                                             screen
-       move_insert_mode          mir   mi    safe to move while
-                                             in insert mode
-       move_standout_mode        msgr  ms    safe to move while
-                                             in standout mode
-       needs_xon_xoff            nxon  nx    padding will not
-                                             work, xon/xoff
-                                             required
-       no_esc_ctlc               xsb   xb    beehive (f1=escape,
-                                             f2=ctrl C)
-       no_pad_char               npc   NP    pad character does
-                                             not exist
-       non_dest_scroll_region    ndscr ND    scrolling region is
-                                             non-destructive
-       non_rev_rmcup             nrrmc NR    smcup does not
-                                             reverse rmcup
-       over_strike               os    os    terminal can over-
-                                             strike
-       prtr_silent               mc5i  5i    printer will not
-                                             echo on screen
-       row_addr_glitch           xvpa  YD    only positive motion
-                                             for vpa/mvpa caps
-       semi_auto_right_margin    sam   YE    printing in last
-                                             column causes cr
-       status_line_esc_ok        eslok es    escape can be used
-                                             on the status line
-       tilde_glitch              hz    hz    cannot print ~'s
-                                             (hazeltine)
-
-
-       transparent_underline     ul    ul    underline character
-                                             overstrikes
-       xon_xoff                  xon   xo    terminal uses
-                                             xon/xoff handshaking
-
-       These are the numeric capabilities:
-
-
-            Variable         Cap-     TCap       Description
-             Numeric         name     Code
-       columns               cols     co     number of columns in
-                                             a line
-       init_tabs             it       it     tabs initially every
-                                             # spaces
-       label_height          lh       lh     rows in each label
-       label_width           lw       lw     columns in each
-                                             label
-       lines                 lines    li     number of lines on
-                                             screen or page
-       lines_of_memory       lm       lm     lines of memory if >
-                                             line. 0 means varies
-       magic_cookie_glitch   xmc      sg     number of blank
-                                             characters left by
-                                             smso or rmso
-       max_attributes        ma       ma     maximum combined
-                                             attributes terminal
-                                             can handle
-       max_colors            colors   Co     maximum number of
-                                             colors on screen
-       max_pairs             pairs    pa     maximum number of
-                                             color-pairs on the
-                                             screen
-       maximum_windows       wnum     MW     maximum number of
-                                             defineable windows
-       no_color_video        ncv      NC     video attributes
-                                             that cannot be used
-                                             with colors
-       num_labels            nlab     Nl     number of labels on
-                                             screen
-       padding_baud_rate     pb       pb     lowest baud rate
-                                             where padding needed
-       virtual_terminal      vt       vt     virtual terminal
-                                             number (CB/unix)
-       width_status_line     wsl      ws     number of columns in
-                                             status line
-
-       The  following  numeric  capabilities  are  present in the
-       SVr4.0 term structure, but are not yet documented  in  the
-       man page.  They came in with SVr4's printer support.
-
-
-             Variable         Cap-    TCap       Description
-             Numeric          name    Code
-       bit_image_entwining    bitwin  Yo     number of passes for
-                                             each bit-image row
-       bit_image_type         bitype  Yp     type of bit-image
-                                             device
-       buffer_capacity        bufsz   Ya     numbers of bytes
-                                             buffered before
-                                             printing
-       buttons                btns    BT     number of buttons on
-                                             mouse
-       dot_horz_spacing       spinh   Yc     spacing of dots hor-
-                                             izontally in dots
-                                             per inch
-
-       dot_vert_spacing       spinv   Yb     spacing of pins ver-
-                                             tically in pins per
-                                             inch
-       max_micro_address      maddr   Yd     maximum value in
-                                             micro_..._address
-       max_micro_jump         mjump   Ye     maximum value in
-                                             parm_..._micro
-       micro_col_size         mcs     Yf     character step size
-                                             when in micro mode
-       micro_line_size        mls     Yg     line step size when
-                                             in micro mode
-       number_of_pins         npins   Yh     numbers of pins in
-                                             print-head
-       output_res_char        orc     Yi     horizontal resolu-
-                                             tion in units per
-                                             line
-       output_res_horz_inch   orhi    Yk     horizontal resolu-
-                                             tion in units per
-                                             inch
-       output_res_line        orl     Yj     vertical resolution
-                                             in units per line
-       output_res_vert_inch   orvi    Yl     vertical resolution
-                                             in units per inch
-       print_rate             cps     Ym     print rate in char-
-                                             acters per second
-       wide_char_size         widcs   Yn     character step size
-                                             when in double wide
-                                             mode
-
-       These are the string capabilities:
-
-
-               Variable          Cap-   TCap     Description
-                String           name   Code
-       acs_chars                 acsc   ac   graphics charset
-                                             pairs, based on
-                                             vt100
-       back_tab                  cbt    bt   back tab (P)
-       bell                      bel    bl   audible signal
-                                             (bell) (P)
-       carriage_return           cr     cr   carriage return (P*)
-                                             (P*)
-       change_char_pitch         cpi    ZA   Change number of
-                                             characters per inch
-                                             to #1
-       change_line_pitch         lpi    ZB   Change number of
-                                             lines per inch to #1
-       change_res_horz           chr    ZC   Change horizontal
-                                             resolution to #1
-       change_res_vert           cvr    ZD   Change vertical res-
-                                             olution to #1
-       change_scroll_region      csr    cs   change region to
-                                             line #1 to line #2
-                                             (P)
-       char_padding              rmp    rP   like ip but when in
-                                             insert mode
-       clear_all_tabs            tbc    ct   clear all tab stops
-                                             (P)
-       clear_margins             mgc    MC   clear right and left
-                                             soft margins
-       clear_screen              clear  cl   clear screen and
-                                             home cursor (P*)
-       clr_bol                   el1    cb   Clear to beginning
-                                             of line
-
-
-       clr_eol                   el     ce   clear to end of line
-                                             (P)
-       clr_eos                   ed     cd   clear to end of
-                                             screen (P*)
-       column_address            hpa    ch   horizontal position
-                                             #1, absolute (P)
-       command_character         cmdch  CC   terminal settable
-                                             cmd character in
-                                             prototype !?
-       create_window             cwin   CW   define a window #1
-                                             from #2,#3 to #4,#5
-       cursor_address            cup    cm   move to row #1
-                                             columns #2
-       cursor_down               cud1   do   down one line
-       cursor_home               home   ho   home cursor (if no
-                                             cup)
-       cursor_invisible          civis  vi   make cursor invisi-
-                                             ble
-       cursor_left               cub1   le   move left one space
-       cursor_mem_address        mrcup  CM   memory relative cur-
-                                             sor addressing, move
-                                             to row #1 columns #2
-       cursor_normal             cnorm  ve   make cursor appear
-                                             normal (undo
-                                             civis/cvvis)
-       cursor_right              cuf1   nd   non-destructive
-                                             space (move right
-                                             one space)
-       cursor_to_ll              ll     ll   last line, first
-                                             column (if no cup)
-       cursor_up                 cuu1   up   up one line
-       cursor_visible            cvvis  vs   make cursor very
-                                             visible
-       define_char               defc   ZE   Define a character
-                                             #1, #2 dots wide,
-                                             descender #3
-       delete_character          dch1   dc   delete character
-                                             (P*)
-       delete_line               dl1    dl   delete line (P*)
-       dial_phone                dial   DI   dial number #1
-       dis_status_line           dsl    ds   disable status line
-       display_clock             dclk   DK   display clock
-       down_half_line            hd     hd   half a line down
-       ena_acs                   enacs  eA   enable alternate
-                                             char set
-       enter_alt_charset_mode    smacs  as   start alternate
-                                             character set (P)
-       enter_am_mode             smam   SA   turn on automatic
-                                             margins
-       enter_blink_mode          blink  mb   turn on blinking
-       enter_bold_mode           bold   md   turn on bold (extra
-                                             bright) mode
-       enter_ca_mode             smcup  ti   string to start pro-
-                                             grams using cup
-       enter_delete_mode         smdc   dm   enter delete mode
-       enter_dim_mode            dim    mh   turn on half-bright
-                                             mode
-       enter_doublewide_mode     swidm  ZF   Enter double-wide
-                                             mode
-       enter_draft_quality       sdrfq  ZG   Enter draft-quality
-                                             mode
-       enter_insert_mode         smir   im   enter insert mode
-       enter_italics_mode        sitm   ZH   Enter italic mode
-       enter_leftward_mode       slm    ZI   Start leftward car-
-                                             riage motion
-
-       enter_micro_mode          smicm  ZJ   Start micro-motion
-                                             mode
-       enter_near_letter_quality snlq   ZK   Enter NLQ mode
-       enter_normal_quality      snrmq  ZL   Enter normal-quality
-                                             mode
-       enter_protected_mode      prot   mp   turn on protected
-                                             mode
-       enter_reverse_mode        rev    mr   turn on reverse
-                                             video mode
-       enter_secure_mode         invis  mk   turn on blank mode
-                                             (characters invisi-
-                                             ble)
-       enter_shadow_mode         sshm   ZM   Enter shadow-print
-                                             mode
-       enter_standout_mode       smso   so   begin standout mode
-       enter_subscript_mode      ssubm  ZN   Enter subscript mode
-       enter_superscript_mode    ssupm  ZO   Enter superscript
-                                             mode
-       enter_underline_mode      smul   us   begin underline mode
-       enter_upward_mode         sum    ZP   Start upward car-
-                                             riage motion
-       enter_xon_mode            smxon  SX   turn on xon/xoff
-                                             handshaking
-       erase_chars               ech    ec   erase #1 characters
-                                             (P)
-       exit_alt_charset_mode     rmacs  ae   end alternate char-
-                                             acter set (P)
-       exit_am_mode              rmam   RA   turn off automatic
-                                             margins
-       exit_attribute_mode       sgr0   me   turn off all
-                                             attributes
-       exit_ca_mode              rmcup  te   strings to end pro-
-                                             grams using cup
-       exit_delete_mode          rmdc   ed   end delete mode
-       exit_doublewide_mode      rwidm  ZQ   End double-wide mode
-       exit_insert_mode          rmir   ei   exit insert mode
-       exit_italics_mode         ritm   ZR   End italic mode
-       exit_leftward_mode        rlm    ZS   End left-motion mode
-       exit_micro_mode           rmicm  ZT   End micro-motion
-                                             mode
-       exit_shadow_mode          rshm   ZU   End shadow-print
-                                             mode
-       exit_standout_mode        rmso   se   exit standout mode
-       exit_subscript_mode       rsubm  ZV   End subscript mode
-       exit_superscript_mode     rsupm  ZW   End superscript mode
-       exit_underline_mode       rmul   ue   exit underline mode
-       exit_upward_mode          rum    ZX   End reverse charac-
-                                             ter motion
-       exit_xon_mode             rmxon  RX   turn off xon/xoff
-                                             handshaking
-       fixed_pause               pause  PA   pause for 2-3 sec-
-                                             onds
-       flash_hook                hook   fh   flash switch hook
-       flash_screen              flash  vb   visible bell (may
-                                             not move cursor)
-       form_feed                 ff     ff   hardcopy terminal
-                                             page eject (P*)
-       from_status_line          fsl    fs   return from status
-                                             line
-       goto_window               wingo  WG   go to window #1
-       hangup                    hup    HU   hang-up phone
-       init_1string              is1    i1   initialization
-                                             string
-       init_2string              is2    is   initialization
-                                             string
-
-       init_3string              is3    i3   initialization
-                                             string
-       init_file                 if     if   name of initializa-
-                                             tion file
-       init_prog                 iprog  iP   path name of program
-                                             for initialization
-       initialize_color          initc  Ic   initialize color #1
-                                             to (#2,#3,#4)
-       initialize_pair           initp  Ip   Initialize color
-                                             pair #1 to
-                                             fg=(#2,#3,#4),
-                                             bg=(#5,#6,#7)
-       insert_character          ich1   ic   insert character (P)
-       insert_line               il1    al   insert line (P*)
-       insert_padding            ip     ip   insert padding after
-                                             inserted character
-       key_a1                    ka1    K1   upper left of keypad
-       key_a3                    ka3    K3   upper right of key-
-                                             pad
-       key_b2                    kb2    K2   center of keypad
-       key_backspace             kbs    kb   backspace key
-       key_beg                   kbeg   @1   begin key
-       key_btab                  kcbt   kB   back-tab key
-       key_c1                    kc1    K4   lower left of keypad
-       key_c3                    kc3    K5   lower right of key-
-                                             pad
-       key_cancel                kcan   @2   cancel key
-       key_catab                 ktbc   ka   clear-all-tabs key
-       key_clear                 kclr   kC   clear-screen or
-                                             erase key
-       key_close                 kclo   @3   close key
-       key_command               kcmd   @4   command key
-       key_copy                  kcpy   @5   copy key
-       key_create                kcrt   @6   create key
-       key_ctab                  kctab  kt   clear-tab key
-       key_dc                    kdch1  kD   delete-character key
-       key_dl                    kdl1   kL   delete-line key
-       key_down                  kcud1  kd   down-arrow key
-       key_eic                   krmir  kM   sent by rmir or smir
-                                             in insert mode
-       key_end                   kend   @7   end key
-       key_enter                 kent   @8   enter/send key
-       key_eol                   kel    kE   clear-to-end-of-line
-                                             key
-       key_eos                   ked    kS   clear-to-end-of-
-                                             screen key
-       key_exit                  kext   @9   exit key
-       key_f0                    kf0    k0   F0 function key
-       key_f1                    kf1    k1   F1 function key
-       key_f10                   kf10   k;   F10 function key
-       key_f11                   kf11   F1   F11 function key
-       key_f12                   kf12   F2   F12 function key
-       key_f13                   kf13   F3   F13 function key
-       key_f14                   kf14   F4   F14 function key
-       key_f15                   kf15   F5   F15 function key
-       key_f16                   kf16   F6   F16 function key
-       key_f17                   kf17   F7   F17 function key
-       key_f18                   kf18   F8   F18 function key
-       key_f19                   kf19   F9   F19 function key
-       key_f2                    kf2    k2   F2 function key
-       key_f20                   kf20   FA   F20 function key
-       key_f21                   kf21   FB   F21 function key
-       key_f22                   kf22   FC   F22 function key
-       key_f23                   kf23   FD   F23 function key
-       key_f24                   kf24   FE   F24 function key
-
-       key_f25                   kf25   FF   F25 function key
-       key_f26                   kf26   FG   F26 function key
-       key_f27                   kf27   FH   F27 function key
-       key_f28                   kf28   FI   F28 function key
-       key_f29                   kf29   FJ   F29 function key
-       key_f3                    kf3    k3   F3 function key
-       key_f30                   kf30   FK   F30 function key
-       key_f31                   kf31   FL   F31 function key
-       key_f32                   kf32   FM   F32 function key
-       key_f33                   kf33   FN   F33 function key
-       key_f34                   kf34   FO   F34 function key
-       key_f35                   kf35   FP   F35 function key
-       key_f36                   kf36   FQ   F36 function key
-       key_f37                   kf37   FR   F37 function key
-       key_f38                   kf38   FS   F38 function key
-       key_f39                   kf39   FT   F39 function key
-       key_f4                    kf4    k4   F4 function key
-       key_f40                   kf40   FU   F40 function key
-       key_f41                   kf41   FV   F41 function key
-       key_f42                   kf42   FW   F42 function key
-       key_f43                   kf43   FX   F43 function key
-       key_f44                   kf44   FY   F44 function key
-       key_f45                   kf45   FZ   F45 function key
-       key_f46                   kf46   Fa   F46 function key
-       key_f47                   kf47   Fb   F47 function key
-       key_f48                   kf48   Fc   F48 function key
-       key_f49                   kf49   Fd   F49 function key
-       key_f5                    kf5    k5   F5 function key
-       key_f50                   kf50   Fe   F50 function key
-       key_f51                   kf51   Ff   F51 function key
-       key_f52                   kf52   Fg   F52 function key
-       key_f53                   kf53   Fh   F53 function key
-       key_f54                   kf54   Fi   F54 function key
-       key_f55                   kf55   Fj   F55 function key
-       key_f56                   kf56   Fk   F56 function key
-       key_f57                   kf57   Fl   F57 function key
-       key_f58                   kf58   Fm   F58 function key
-       key_f59                   kf59   Fn   F59 function key
-       key_f6                    kf6    k6   F6 function key
-       key_f60                   kf60   Fo   F60 function key
-       key_f61                   kf61   Fp   F61 function key
-       key_f62                   kf62   Fq   F62 function key
-       key_f63                   kf63   Fr   F63 function key
-       key_f7                    kf7    k7   F7 function key
-       key_f8                    kf8    k8   F8 function key
-       key_f9                    kf9    k9   F9 function key
-       key_find                  kfnd   @0   find key
-       key_help                  khlp   %1   help key
-       key_home                  khome  kh   home key
-       key_ic                    kich1  kI   insert-character key
-       key_il                    kil1   kA   insert-line key
-       key_left                  kcub1  kl   left-arrow key
-       key_ll                    kll    kH   lower-left key (home
-                                             down)
-       key_mark                  kmrk   %2   mark key
-       key_message               kmsg   %3   message key
-       key_move                  kmov   %4   move key
-       key_next                  knxt   %5   next key
-       key_npage                 knp    kN   next-page key
-       key_open                  kopn   %6   open key
-       key_options               kopt   %7   options key
-       key_ppage                 kpp    kP   previous-page key
-       key_previous              kprv   %8   previous key
-       key_print                 kprt   %9   print key
-       key_redo                  krdo   %0   redo key
-
-       key_reference             kref   &1   reference key
-       key_refresh               krfr   &2   refresh key
-       key_replace               krpl   &3   replace key
-       key_restart               krst   &4   restart key
-       key_resume                kres   &5   resume key
-       key_right                 kcuf1  kr   right-arrow key
-       key_save                  ksav   &6   save key
-       key_sbeg                  kBEG   &9   shifted begin key
-       key_scancel               kCAN   &0   shifted cancel key
-       key_scommand              kCMD   *1   shifted command key
-       key_scopy                 kCPY   *2   shifted copy key
-       key_screate               kCRT   *3   shifted create key
-       key_sdc                   kDC    *4   shifted delete-char-
-                                             acter key
-       key_sdl                   kDL    *5   shifted delete-line
-                                             key
-       key_select                kslt   *6   select key
-       key_send                  kEND   *7   shifted end key
-       key_seol                  kEOL   *8   shifted clear-to-
-                                             end-of-line key
-       key_sexit                 kEXT   *9   shifted exit key
-       key_sf                    kind   kF   scroll-forward key
-       key_sfind                 kFND   *0   shifted find key
-       key_shelp                 kHLP   #1   shifted help key
-       key_shome                 kHOM   #2   shifted home key
-       key_sic                   kIC    #3   shifted insert-char-
-                                             acter key
-       key_sleft                 kLFT   #4   shifted left-arrow
-                                             key
-       key_smessage              kMSG   %a   shifted message key
-       key_smove                 kMOV   %b   shifted move key
-       key_snext                 kNXT   %c   shifted next key
-       key_soptions              kOPT   %d   shifted options key
-       key_sprevious             kPRV   %e   shifted previous key
-       key_sprint                kPRT   %f   shifted print key
-       key_sr                    kri    kR   scroll-backward key
-       key_sredo                 kRDO   %g   shifted redo key
-       key_sreplace              kRPL   %h   shifted replace key
-       key_sright                kRIT   %i   shifted right-arrow
-                                             key
-       key_srsume                kRES   %j   shifted resume key
-       key_ssave                 kSAV   !1   shifted save key
-       key_ssuspend              kSPD   !2   shifted suspend key
-       key_stab                  khts   kT   set-tab key
-       key_sundo                 kUND   !3   shifted undo key
-       key_suspend               kspd   &7   suspend key
-       key_undo                  kund   &8   undo key
-       key_up                    kcuu1  ku   up-arrow key
-       keypad_local              rmkx   ke   leave 'key-
-                                             board_transmit' mode
-       keypad_xmit               smkx   ks   enter 'key-
-                                             board_transmit' mode
-       lab_f0                    lf0    l0   label on function
-                                             key f0 if not f0
-       lab_f1                    lf1    l1   label on function
-                                             key f1 if not f1
-       lab_f10                   lf10   la   label on function
-                                             key f10 if not f10
-       lab_f2                    lf2    l2   label on function
-                                             key f2 if not f2
-       lab_f3                    lf3    l3   label on function
-                                             key f3 if not f3
-       lab_f4                    lf4    l4   label on function
-                                             key f4 if not f4
-
-
-       lab_f5                    lf5    l5   label on function
-                                             key f5 if not f5
-       lab_f6                    lf6    l6   label on function
-                                             key f6 if not f6
-       lab_f7                    lf7    l7   label on function
-                                             key f7 if not f7
-       lab_f8                    lf8    l8   label on function
-                                             key f8 if not f8
-       lab_f9                    lf9    l9   label on function
-                                             key f9 if not f9
-       label_format              fln    Lf   label format
-       label_off                 rmln   LF   turn off soft labels
-       label_on                  smln   LO   turn on soft labels
-       meta_off                  rmm    mo   turn off meta mode
-       meta_on                   smm    mm   turn on meta mode
-                                             (8th-bit on)
-       micro_column_address      mhpa   ZY   Like column_address
-                                             in micro mode
-       micro_down                mcud1  ZZ   Like cursor_down in
-                                             micro mode
-       micro_left                mcub1  Za   Like cursor_left in
-                                             micro mode
-       micro_right               mcuf1  Zb   Like cursor_right in
-                                             micro mode
-       micro_row_address         mvpa   Zc   Like row_address #1
-                                             in micro mode
-       micro_up                  mcuu1  Zd   Like cursor_up in
-                                             micro mode
-       newline                   nel    nw   newline (behave like
-                                             cr followed by lf)
-       order_of_pins             porder Ze   Match software bits
-                                             to print-head pins
-       orig_colors               oc     oc   Set all color pairs
-                                             to the original ones
-       orig_pair                 op     op   Set default pair to
-                                             its original value
-       pad_char                  pad    pc   padding char
-                                             (instead of null)
-       parm_dch                  dch    DC   delete #1 characters
-                                             (P*)
-       parm_delete_line          dl     DL   delete #1 lines (P*)
-       parm_down_cursor          cud    DO   down #1 lines (P*)
-       parm_down_micro           mcud   Zf   Like parm_down_cur-
-                                             sor in micro mode
-       parm_ich                  ich    IC   insert #1 characters
-                                             (P*)
-       parm_index                indn   SF   scroll forward #1
-                                             lines (P)
-       parm_insert_line          il     AL   insert #1 lines (P*)
-       parm_left_cursor          cub    LE   move #1 characters
-                                             to the left (P)
-       parm_left_micro           mcub   Zg   Like parm_left_cur-
-                                             sor in micro mode
-       parm_right_cursor         cuf    RI   move #1 characters
-                                             to the right (P*)
-       parm_right_micro          mcuf   Zh   Like parm_right_cur-
-                                             sor in micro mode
-       parm_rindex               rin    SR   scroll back #1 lines
-                                             (P)
-       parm_up_cursor            cuu    UP   up #1 lines (P*)
-       parm_up_micro             mcuu   Zi   Like parm_up_cursor
-                                             in micro mode
-       pkey_key                  pfkey  pk   program function key
-                                             #1 to type string #2
-
-
-       pkey_local                pfloc  pl   program function key
-                                             #1 to execute string
-                                             #2
-       pkey_xmit                 pfx    px   program function key
-                                             #1 to transmit
-                                             string #2
-       plab_norm                 pln    pn   program label #1 to
-                                             show string #2
-       print_screen              mc0    ps   print contents of
-                                             screen
-       prtr_non                  mc5p   pO   turn on printer for
-                                             #1 bytes
-       prtr_off                  mc4    pf   turn off printer
-       prtr_on                   mc5    po   turn on printer
-       pulse                     pulse  PU   select pulse dialing
-       quick_dial                qdial  QD   dial number #1 with-
-                                             out checking
-       remove_clock              rmclk  RC   remove clock
-       repeat_char               rep    rp   repeat char #1 #2
-                                             times (P*)
-       req_for_input             rfi    RF   send next input char
-                                             (for ptys)
-       reset_1string             rs1    r1   reset string
-       reset_2string             rs2    r2   reset string
-       reset_3string             rs3    r3   reset string
-       reset_file                rf     rf   name of reset file
-       restore_cursor            rc     rc   restore cursor to
-                                             position of last
-                                             save_cursor
-       row_address               vpa    cv   vertical position #1
-                                             absolute (P)
-       save_cursor               sc     sc   save current cursor
-                                             position (P)
-       scroll_forward            ind    sf   scroll text up (P)
-       scroll_reverse            ri     sr   scroll text down (P)
-       select_char_set           scs    Zj   Select character
-                                             set, #1
-       set_attributes            sgr    sa   define video
-                                             attributes #1-#9
-                                             (PG9)
-       set_background            setb   Sb   Set background color
-                                             #1
-       set_bottom_margin         smgb   Zk   Set bottom margin at
-                                             current line
-       set_bottom_margin_parm    smgbp  Zl   Set bottom margin at
-                                             line #1 or (if smgtp
-                                             is not given) #2
-                                             lines from bottom
-       set_clock                 sclk   SC   set clock, #1 hrs #2
-                                             mins #3 secs
-       set_color_pair            scp    sp   Set current color
-                                             pair to #1
-       set_foreground            setf   Sf   Set foreground color
-                                             #1
-       set_left_margin           smgl   ML   set left soft margin
-                                             at current column.
-                                             See smgl. (ML is not
-                                             in BSD termcap).
-       set_left_margin_parm      smglp  Zm   Set left (right)
-                                             margin at column #1
-       set_right_margin          smgr   MR   set right soft mar-
-                                             gin at current col-
-                                             umn
-       set_right_margin_parm     smgrp  Zn   Set right margin at
-                                             column #1
-
-       set_tab                   hts    st   set a tab in every
-                                             row, current columns
-       set_top_margin            smgt   Zo   Set top margin at
-                                             current line
-       set_top_margin_parm       smgtp  Zp   Set top (bottom)
-                                             margin at row #1
-       set_window                wind   wi   current window is
-                                             lines #1-#2 cols
-                                             #3-#4
-       start_bit_image           sbim   Zq   Start printing bit
-                                             image graphics
-       start_char_set_def        scsd   Zr   Start character set
-                                             definition #1, with
-                                             #2 characters in the
-                                             set
-       stop_bit_image            rbim   Zs   Stop printing bit
-                                             image graphics
-       stop_char_set_def         rcsd   Zt   End definition of
-                                             character set #1
-       subscript_characters      subcs  Zu   List of subscript-
-                                             able characters
-       superscript_characters    supcs  Zv   List of superscript-
-                                             able characters
-       tab                       ht     ta   tab to next 8-space
-                                             hardware tab stop
-       these_cause_cr            docr   Zw   Printing any of
-                                             these characters
-                                             causes CR
-       to_status_line            tsl    ts   move to status line,
-                                             column #1
-       tone                      tone   TO   select touch tone
-                                             dialing
-       underline_char            uc     uc   underline char and
-                                             move past it
-       up_half_line              hu     hu   half a line up
-       user0                     u0     u0   User string #0
-       user1                     u1     u1   User string #1
-       user2                     u2     u2   User string #2
-       user3                     u3     u3   User string #3
-       user4                     u4     u4   User string #4
-       user5                     u5     u5   User string #5
-       user6                     u6     u6   User string #6
-       user7                     u7     u7   User string #7
-       user8                     u8     u8   User string #8
-       user9                     u9     u9   User string #9
-       wait_tone                 wait   WA   wait for dial-tone
-       xoff_character            xoffc  XF   XOFF character
-       xon_character             xonc   XN   XON character
-       zero_motion               zerom  Zx   No motion for subse-
-                                             quent character
-
-       The following  string  capabilities  are  present  in  the
-       SVr4.0  term structure, but were originally not documented
-       in the man page.
-
-
-               Variable          Cap-     TCap    Description
-                String           name     Code
-       alt_scancode_esc          scesa    S8   Alternate escape
-                                               for scancode emu-
-                                               lation
-       bit_image_carriage_return bicr     Yv   Move to beginning
-                                               of same row
-       bit_image_newline         binel    Zz   Move to next row
-                                               of the bit image
-
-       bit_image_repeat          birep    Xy   Repeat bit image
-                                               cell #1 #2 times
-       char_set_names            csnm     Zy   Produce #1'th item
-                                               from list of char-
-                                               acter set names
-       code_set_init             csin     ci   Init sequence for
-                                               multiple codesets
-       color_names               colornm  Yw   Give name for
-                                               color #1
-       define_bit_image_region   defbi    Yx   Define rectan-
-                                               gualar bit image
-                                               region
-       device_type               devt     dv   Indicate lan-
-                                               guage/codeset sup-
-                                               port
-       display_pc_char           dispc    S1   Display PC charac-
-                                               ter #1
-       end_bit_image_region      endbi    Yy   End a bit-image
-                                               region
-       enter_pc_charset_mode     smpch    S2   Enter PC character
-                                               display mode
-       enter_scancode_mode       smsc     S4   Enter PC scancode
-                                               mode
-       exit_pc_charset_mode      rmpch    S3   Exit PC character
-                                               display mode
-       exit_scancode_mode        rmsc     S5   Exit PC scancode
-                                               mode
-       get_mouse                 getm     Gm   Curses should get
-                                               button events,
-                                               parameter #1 not
-                                               documented.
-       key_mouse                 kmous    Km   Mouse event has
-                                               occurred
-       mouse_info                minfo    Mi   Mouse status
-                                               information
-       pc_term_options           pctrm    S6   PC terminal
-                                               options
-       pkey_plab                 pfxl     xl   Program function
-                                               key #1 to type
-                                               string #2 and show
-                                               string #3
-       req_mouse_pos             reqmp    RQ   Request mouse
-                                               position
-       scancode_escape           scesc    S7   Escape for scan-
-                                               code emulation
-       set0_des_seq              s0ds     s0   Shift to codeset 0
-                                               (EUC set 0, ASCII)
-       set1_des_seq              s1ds     s1   Shift to codeset 1
-       set2_des_seq              s2ds     s2   Shift to codeset 2
-       set3_des_seq              s3ds     s3   Shift to codeset 3
-       set_a_background          setab    AB   Set background
-                                               color to #1, using
-                                               ANSI escape
-       set_a_foreground          setaf    AF   Set foreground
-                                               color to #1, using
-                                               ANSI escape
-       set_color_band            setcolor Yz   Change to ribbon
-                                               color #1
-       set_lr_margin             smglr    ML   Set both left and
-                                               right margins to
-                                               #1, #2.  (ML is
-                                               not in BSD term-
-                                               cap).
-       set_page_length           slines   YZ   Set page length to
-                                               #1 lines
-
-       set_tb_margin             smgtb    MT   Sets both top and
-                                               bottom margins to
-                                               #1, #2
-
-        The  XSI  Curses  standard  added  these.   They are some
-        post-4.1 versions of System V curses, e.g.,  Solaris  2.5
-        and  IRIX  6.x.   The  ncurses termcap names for them are
-        invented; according to the XSI Curses standard, they have
-        no  termcap names.  If your compiled terminfo entries use
-        these, they may not be binary-compatible  with  System  V
-        terminfo entries after SVr4.1; beware!
-
-
-                Variable         Cap-   TCap     Description
-                 String          name   Code
-        enter_horizontal_hl_mode ehhlm  Xh   Enter horizontal
-                                             highlight mode
-        enter_left_hl_mode       elhlm  Xl   Enter left highlight
-                                             mode
-        enter_low_hl_mode        elohlm Xo   Enter low highlight
-                                             mode
-        enter_right_hl_mode      erhlm  Xr   Enter right high-
-                                             light mode
-        enter_top_hl_mode        ethlm  Xt   Enter top highlight
-                                             mode
-        enter_vertical_hl_mode   evhlm  Xv   Enter vertical high-
-                                             light mode
-        set_a_attributes         sgr1   sA   Define second set of
-                                             video attributes
-                                             #1-#6
-        set_pglen_inch           slengthsL   YI Set page length
-                                             to #1 hundredth of
-                                             an inch
-
-
-   A Sample Entry
-       The following entry, describing an ANSI-standard terminal,
-       is representative of what a terminfo entry  for  a  modern
-       terminal typically looks like.
-
-     ansi|ansi/pc-term compatible with color,
-             mc5i,
-             colors#8, ncv#3, pairs#64,
-             cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
-             cuu=\E[%p1%dA, dch=\E[%p1%dP, dl=\E[%p1%dM,
-             ech=\E[%p1%dX, el1=\E[1K, hpa=\E[%p1%dG, ht=\E[I,
-             ich=\E[%p1%d@, il=\E[%p1%dL, indn=\E[%p1%dS, .indn=\E[%p1%dT,
-             kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
-             kcuf1=\E[C, kcuu1=\E[A, kf1=\E[M, kf10=\E[V,
-             kf11=\E[W, kf12=\E[X, kf2=\E[N, kf3=\E[O, kf4=\E[P,
-             kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U,
-             kich1=\E[L, mc4=\E[4i, mc5=\E[5i, nel=\r\E[S,
-             op=\E[37;40m, rep=%p1%c\E[%p2%{1}%-%db,
-             rin=\E[%p1%dT, s0ds=\E(B, s1ds=\E)B, s2ds=\E*B,
-             s3ds=\E+B, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
-             setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
-             setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
-             sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p8%t;11%;%?%p9%t;12%;m,
-             sgr0=\E[0;10m, tbc=\E[2g, u6=\E[%d;%dR, u7=\E[6n,
-             u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%p1%dd,
-
-       Entries  may continue onto multiple lines by placing white
-       space at the beginning of  each  line  except  the  first.
-       Comments  may  be  included on lines beginning with ``#''.
-       Capabilities in terminfo are of three types: Boolean capa-
-       bilities   which  indicate  that  the  terminal  has  some
-       particular feature, numeric capabilities giving  the  size
-       of  the  terminal  or  the  size of particular delays, and
-       string capabilities, which give a sequence  which  can  be
-       used to perform particular terminal operations.
-
-
-   Types of Capabilities
-       All  capabilities have names.  For instance, the fact that
-       ANSI-standard terminals have automatic margins  (i.e.,  an
-       automatic  return  and line-feed when the end of a line is
-       reached) is indicated by the  capability  am.   Hence  the
-       description of ansi includes am.  Numeric capabilities are
-       followed by the character `#' and then a  positive  value.
-       Thus  cols, which indicates the number of columns the ter-
-       minal has, gives the value  `80'  for  ansi.   Values  for
-       numeric capabilities may be specified in decimal, octal or
-       hexadecimal, using the C programming language  conventions
-       (e.g., 255, 0377 and 0xff or 0xFF).
-
-       Finally,  string valued capabilities, such as el (clear to
-       end of line sequence) are given by the two-character code,
-       an  `=',  and  then  a string ending at the next following
-       `,'.
-
-       A number of escape sequences are provided  in  the  string
-       valued capabilities for easy encoding of characters there.
-       Both \E and \e map to an ESCAPE character, ^x  maps  to  a
-       control-x  for  any appropriate x, and the sequences \n \l
-       \r \t \b \f \s give a  newline,  line-feed,  return,  tab,
-       backspace, form-feed, and space.  Other escapes include \^
-       for ^, \\ for \, \, for comma, \: for :, and \0 for  null.
-       (\0  will  produce \200, which does not terminate a string
-       but behaves as a null character on most terminals, provid-
-       ing  CS7 is specified.  See stty(1).)  Finally, characters
-       may be given as three octal digits after a \.
-
-       A delay in milliseconds may appear anywhere  in  a  string
-       capability,  enclosed in $<..> brackets, as in el=\EK$<5>,
-       and padding characters are supplied by  tputs  to  provide
-       this  delay.   The delay must be a number with at most one
-       decimal place of precision; it may be followed by suffixes
-       `*'  or  '/'  or  both.   A `*' indicates that the padding
-       required is proportional to the number of  lines  affected
-       by  the  operation,  and  the  amount  given  is  the per-
-       affected-unit padding required.  (In the  case  of  insert
-       character,  the  factor  is  still  the  number  of  lines
-       affected.)  Normally, padding is advisory  if  the  device
-       has  the  xon  capability; it is used for cost computation
-       but does not trigger delays.  A `/' suffix indicates  that
-       the  padding  is mandatory and forces a delay of the given
-       number of milliseconds even on devices for  which  xon  is
-       present to indicate flow control.
-
-       Sometimes  individual  capabilities must be commented out.
-       To do this, put a period before the capability name.   For
-       example, see the second ind in the example above.
-
-
-   Fetching Compiled Descriptions
-       If  the environment variable TERMINFO is set, it is inter-
-       preted as the pathname of a directory containing the  com-
-       piled description you are working on.  Only that directory
-       is searched.
-
-       If TERMINFO is not set, the ncurses version  of  the  ter-
-       minfo  reader  code  will  instead  look  in the directory
-       $HOME/.terminfo for a compiled description.  If  it  fails
-       to  find  one  there,  and  the  environment variable TER-
-       MINFO_DIRS is set, it will interpret the contents of  that
-       variable  as  a list of colon- separated directories to be
-       searched (an empty entry is interpreted as  a  command  to
-       search  /usr/share/terminfo).   If no description is found
-       in any of the TERMINFO_DIRS directories, the fetch  fails.
-
-       If  neither  TERMINFO  nor  TERMINFO_DIRS is set, the last
-       place  tried  will  be  the  system  terminfo   directory,
-       /usr/share/terminfo.
-
-       (Neither  the  $HOME/.terminfo  lookups  nor TERMINFO_DIRS
-       extensions  are  supported  under  stock  System  V   ter-
-       minfo/curses.)
-
-
-   Preparing Descriptions
-       We  now  outline how to prepare descriptions of terminals.
-       The most effective way to prepare a  terminal  description
-       is  by  imitating the description of a similar terminal in
-       terminfo and to build up a  description  gradually,  using
-       partial descriptions with vi or some other screen-oriented
-       program to check that they are correct.  Be aware  that  a
-       very unusual terminal may expose deficiencies in the abil-
-       ity of the terminfo file to describe it  or  bugs  in  the
-       screen-handling code of the test program.
-
-       To  get the padding for insert line right (if the terminal
-       manufacturer did not document it) a severe test is to edit
-       a  large file at 9600 baud, delete 16 or so lines from the
-       middle of the screen, then hit the `u' key  several  times
-       quickly.   If the terminal messes up, more padding is usu-
-       ally needed.  A similar test can be used for insert  char-
-       acter.
-
-
-   Basic Capabilities
-       The  number  of  columns  on each line for the terminal is
-       given by the cols numeric capability.  If the terminal  is
-       a  CRT, then the number of lines on the screen is given by
-       the lines capability.  If the terminal wraps around to the
-       beginning  of the next line when it reaches the right mar-
-       gin, then it should have the am capability.  If the termi-
-       nal  can  clear its screen, leaving the cursor in the home
-       position, then this is given by the clear string  capabil-
-       ity.   If the terminal overstrikes (rather than clearing a
-       position when a character is struck over) then  it  should
-       have  the  os  capability.   If the terminal is a printing
-       terminal, with no soft copy unit, give it both hc and  os.
-       (os  applies to storage scope terminals, such as TEKTRONIX
-       4010 series, as well as hard copy and APL terminals.)   If
-       there is a code to move the cursor to the left edge of the
-       current row, give this as cr.  (Normally this will be car-
-       riage  return,  control M.)  If there is a code to produce
-       an audible signal (bell, beep, etc) give this as bel.
-
-       If there is a code to move the cursor one position to  the
-       left  (such  as backspace) that capability should be given
-       as cub1.  Similarly, codes to move to the right,  up,  and
-       down should be given as cuf1, cuu1, and cud1.  These local
-       cursor motions should not alter the text they  pass  over,
-       for  example,  you would not normally use `cuf1= ' because
-       the space would erase the character moved over.
-
-       A very important point  here  is  that  the  local  cursor
-       motions  encoded in terminfo are undefined at the left and
-       top edges  of  a  CRT  terminal.   Programs  should  never
-       attempt  to  backspace  around the left edge, unless bw is
-       given, and never attempt to go up locally off the top.  In
-       order  to  scroll text up, a program will go to the bottom
-       left corner of the screen and send the ind (index) string.
-
-       To scroll text down, a program goes to the top left corner
-       of the screen and sends the  ri  (reverse  index)  string.
-       The  strings  ind  and  ri are undefined when not on their
-       respective corners of the screen.
-
-       Parameterized versions of the scrolling sequences are indn
-       and rin which have the same semantics as ind and ri except
-       that they take one parameter, and scroll that many  lines.
-       They  are also undefined except at the appropriate edge of
-       the screen.
-
-       The am capability tells whether the cursor sticks  at  the
-       right  edge  of  the  screen when text is output, but this
-       does not necessarily apply to a cuf1 from the last column.
-       The  only local motion which is defined from the left edge
-       is if bw is given, then a cub1 from  the  left  edge  will
-       move  to the right edge of the previous row.  If bw is not
-       given, the effect is undefined.  This is useful for  draw-
-       ing  a box around the edge of the screen, for example.  If
-       the terminal has switch selectable automatic margins,  the
-       terminfo  file  usually assumes that this is on; i.e., am.
-       If the terminal has a command which  moves  to  the  first
-       column  of the next line, that command can be given as nel
-       (newline).  It does not matter if the command  clears  the
-       remainder  of  the current line, so if the terminal has no
-       cr and lf it may still be possible to craft a working  nel
-       out of one or both of them.
-
-       These  capabilities  suffice  to  describe  hard-copy  and
-       "glass-tty" terminals.  Thus  the  model  33  teletype  is
-       described as
-
-       33|tty33|tty|model 33 teletype,
-            bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os,
-
-       while the Lear Siegler ADM-3 is described as
-
-       adm3|3|lsi adm3,
-            am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J,
-            ind=^J, lines#24,
-
-
-   Parameterized Strings
-       Cursor  addressing  and other strings requiring parameters
-       in the terminal are described by  a  parameterized  string
-       capability,  with  printf(3S)  like escapes %x in it.  For
-       example, to address the  cursor,  the  cup  capability  is
-       given, using two parameters: the row and column to address
-       to.  (Rows and columns are numbered from zero and refer to
-       the physical screen visible to the user, not to any unseen
-       memory.)  If  the  terminal  has  memory  relative  cursor
-       addressing, that can be indicated by mrcup.
-
-       The  parameter  mechanism uses a stack and special % codes
-       to manipulate it.  Typically a sequence will push  one  of
-       the  parameters  onto  the stack and then print it in some
-       format.  Print (e.g., "%d")  is  a  special  case.   Other
-       operations,  including  "%t"  pop  their  operand from the
-       stack.  It is noted that more complex operations are often
-       necessary, e.g., in the sgr string.
-
-       The % encodings have the following meanings:
-
-
-       %%   outputs `%'
-
-       %[[:]flags][width[.precision]][doxXs]
-            as in printf, flags are [-+#] and space
-
-       %c   print pop() like %c in printf
-
-       %s   print pop() like %s in printf
-
-       %p[1-9]
-            push i'th parameter
-
-       %P[a-z]
-            set dynamic variable [a-z] to pop()
-
-       %g[a-z]
-            get dynamic variable [a-z] and push it
-
-       %P[A-Z]
-            set static variable [a-z] to pop()
-
-       %g[A-Z]
-            get static variable [a-z] and push it
-
-            The  terms  "static"  and  "dynamic"  are misleading.
-            Historically, these are simply two different sets  of
-            variables,  whose  values are not reset between calls
-            to tparm.  However, that fact is  not  documented  in
-            other  implementations.  Relying on it will adversely
-            impact portability to other implementations.
-
-       %'c' char constant c
-
-       %{nn}
-            integer constant nn
-
-       %l   push strlen(pop)
-
-       %+ %- %* %/ %m
-            arithmetic (%m is mod): push(pop() op pop())
-
-       %& %| %^
-            bit operations (AND, OR and exclusive-OR): push(pop()
-            op pop())
-
-       %= %> %<
-            logical operations: push(pop() op pop())
-
-       %A, %O
-            logical AND and OR operations (for conditionals)
-
-       %! %~
-            unary   operations   (logical  and  bit  complement):
-            push(op pop())
-
-       %i   add 1 to first two parameters (for ANSI terminals)
-
-       %? expr %t thenpart %e elsepart %;
-            This forms  an  if-then-else.   The  %e  elsepart  is
-            optional.   Usually  the  %? expr part pushes a value
-            onto the stack,  and  %t  pops  it  from  the  stack,
-            testing  if  it  is  nonzero  (true).   If it is zero
-            (false), control passes to the %e (else) part.
-
-            It is possible to form else-if's a la Algol 68:
-            %? c1 %t b1 %e c2 %t b2 %e c3 %t b3 %e c4 %t b4 %e %;
-
-            where ci are conditions, bi are bodies.
-
-            Use the -f option of tic or infocmp to see the struc-
-            ture of if-the-else's.  Some strings, e.g.,  sgr  can
-            be very complicated when written on one line.  The -f
-            option splits the string into lines  with  the  parts
-            indented.
-
-       Binary operations are in postfix form with the operands in
-       the usual order.  That  is,  to  get  x-5  one  would  use
-       "%gx%{5}%-".   %P  and  %g variables are persistent across
-       escape-string evaluations.
-
-       Consider the HP2645, which, to get to row 3 and column 12,
-       needs  to  be  sent  \E&a12c03Y padded for 6 milliseconds.
-       Note that the order of the rows and  columns  is  inverted
-       here,  and that the row and column are printed as two dig-
-       its.  Thus its cup capability is "cup=6\E&%p2%2dc%p1%2dY".
-
-       The Microterm ACT-IV needs the current row and column sent
-       preceded by a ^T, with the row and column  simply  encoded
-       in  binary,  "cup=^T%p1%c%p2%c".  Terminals which use "%c"
-       need to be able to backspace the  cursor  (cub1),  and  to
-       move the cursor up one line on the screen (cuu1).  This is
-       necessary because it is not always safe to transmit \n  ^D
-       and  \r,  as  the system may change or discard them.  (The
-       library routines dealing with terminfo set  tty  modes  so
-       that tabs are never expanded, so \t is safe to send.  This
-       turns out to be essential for the Ann Arbor 4080.)
-
-       A final example is the LSI ADM-3a, which uses row and col-
-       umn  offset  by  a  blank  character,  thus  "cup=\E=%p1%'
-       '%+%c%p2%' '%+%c".  After sending `\E=', this  pushes  the
-       first  parameter, pushes the ASCII value for a space (32),
-       adds them (pushing the sum on the stack in  place  of  the
-       two  previous  values) and outputs that value as a charac-
-       ter.  Then the same is  done  for  the  second  parameter.
-       More complex arithmetic is possible using the stack.
-
-
-   Cursor Motions
-       If the terminal has a fast way to home the cursor (to very
-       upper left corner of screen) then this  can  be  given  as
-       home;  similarly  a fast way of getting to the lower left-
-       hand corner can be given as ll; this may involve going  up
-       with  cuu1  from  the  home position, but a program should
-       never do this itself (unless ll does) because it can  make
-       no  assumption about the effect of moving up from the home
-       position.  Note that the home  position  is  the  same  as
-       addressing to (0,0): to the top left corner of the screen,
-       not of memory.  (Thus, the \EH sequence  on  HP  terminals
-       cannot be used for home.)
-
-       If the terminal has row or column absolute cursor address-
-       ing, these can be given as single  parameter  capabilities
-       hpa (horizontal position absolute) and vpa (vertical posi-
-       tion absolute).  Sometimes these are shorter than the more
-       general  two  parameter  sequence (as with the hp2645) and
-       can be used in preference to cup.  If there are parameter-
-       ized  local  motions  (e.g.,  move  n spaces to the right)
-       these can be given as cud, cub, cuf, and cuu with a single
-       parameter  indicating  how many spaces to move.  These are
-       primarily useful if the terminal does not have  cup,  such
-       as the TEKTRONIX 4025.
-
-       If the terminal needs to be in a special mode when running
-       a program that uses these capabilities, the codes to enter
-       and  exit this mode can be given as smcup and rmcup.  This
-       arises, for example, from terminals like the Concept  with
-       more  than  one  page of memory.  If the terminal has only
-       memory relative cursor addressing and not screen  relative
-       cursor addressing, a one screen-sized window must be fixed
-       into the terminal for cursor addressing to work  properly.
-       This is also used for the TEKTRONIX 4025, where smcup sets
-       the command character to be the one used by terminfo.   If
-       the  smcup  sequence  will not restore the screen after an
-       rmcup sequence is output (to the state prior to outputting
-       rmcup), specify nrrmc.
-
-
-   Area Clears
-       If the terminal can clear from the current position to the
-       end of the line, leaving the  cursor  where  it  is,  this
-       should be given as el.  If the terminal can clear from the
-       beginning of the line to the current  position  inclusive,
-       leaving  the  cursor  where it is, this should be given as
-       el1.  If the terminal can clear from the current  position
-       to  the  end  of the display, then this should be given as
-       ed.  Ed is only defined from the first column of  a  line.
-       (Thus,  it can be simulated by a request to delete a large
-       number of lines, if a true ed is not available.)
-
-
-   Insert/delete line and vertical motions
-       If the terminal can open a new blank line before the  line
-       where  the cursor is, this should be given as il1; this is
-       done only from the first position of a line.   The  cursor
-       must then appear on the newly blank line.  If the terminal
-       can delete the line which the  cursor  is  on,  then  this
-       should  be  given as dl1; this is done only from the first
-       position on the line to be deleted.  Versions of  il1  and
-       dl1  which  take  a  single parameter and insert or delete
-       that many lines can be given as il and dl.
-
-       If the terminal has a settable scrolling region (like  the
-       vt100)  the  command to set this can be described with the
-       csr capability, which takes two parameters:  the  top  and
-       bottom lines of the scrolling region.  The cursor position
-       is, alas, undefined after using this command.
-
-       It is possible to get the effect of insert or delete  line
-       using csr on a properly chosen region; the sc and rc (save
-       and restore cursor) commands may be  useful  for  ensuring
-       that  your  synthesized insert/delete string does not move
-       the cursor.  (Note that the ncurses(3x) library does  this
-       synthesis   automatically,   so   you   need  not  compose
-       insert/delete strings for an entry with csr).
-
-       Yet another way to construct insert and delete might be to
-       use  a  combination  of index with the memory-lock feature
-       found on some terminals (like the HP-700/90 series,  which
-       however also has insert/delete).
-
-       Inserting  lines  at  the  top or bottom of the screen can
-       also be done using ri or ind on many terminals  without  a
-       true  insert/delete  line,  and  is  often  faster even on
-       terminals with those features.
-
-       The boolean non_dest_scroll_region should be set  if  each
-       scrolling  window  is effectively a view port on a screen-
-       sized canvas.  To  test  for  this  capability,  create  a
-       scrolling  region in the middle of the screen, write some-
-       thing to the bottom line, move the cursor to  the  top  of
-       the region, and do ri followed by dl1 or ind.  If the data
-       scrolled off the bottom  of  the  region  by  the  ri  re-
-       appears,  then scrolling is non-destructive.  System V and
-       XSI Curses expect that ind, ri, indn, and rin  will  simu-
-       late  destructive  scrolling; their documentation cautions
-       you not to define csr unless this is  true.   This  curses
-       implementation is more liberal and will do explicit erases
-       after scrolling if ndstr is defined.
-
-       If the terminal has the ability to define a window as part
-       of  memory,  which all commands affect, it should be given
-       as the parameterized string wind.  The four parameters are
-       the  starting  and ending lines in memory and the starting
-       and ending columns in memory, in that order.
-
-       If the terminal can retain display memory above, then  the
-       da  capability  should  be given; if display memory can be
-       retained below, then db should be given.   These  indicate
-       that  deleting  a  line  or  scrolling may bring non-blank
-       lines up from below or that scrolling  back  with  ri  may
-       bring down non-blank lines.
-
-
-   Insert/Delete Character
-       There  are  two  basic kinds of intelligent terminals with
-       respect to insert/delete character which can be  described
-       using  terminfo.   The most common insert/delete character
-       operations affect only the characters on the current  line
-       and  shift  characters  off  the  end of the line rigidly.
-       Other terminals, such as the Concept 100  and  the  Perkin
-       Elmer  Owl,  make  a distinction between typed and untyped
-       blanks on the screen, shifting upon an  insert  or  delete
-       only  to  an  untyped  blank on the screen which is either
-       eliminated, or expanded to two untyped  blanks.   You  can
-       determine  the  kind  of terminal you have by clearing the
-       screen and then typing text separated by  cursor  motions.
-       Type  "abc    def" using local cursor motions (not spaces)
-       between the "abc" and the "def".  Then position the cursor
-       before  the "abc" and put the terminal in insert mode.  If
-       typing characters causes the rest of  the  line  to  shift
-       rigidly and characters to fall off the end, then your ter-
-       minal does not  distinguish  between  blanks  and  untyped
-       positions.   If  the  "abc" shifts over to the "def" which
-       then move together around the end of the current line  and
-       onto  the  next as you insert, you have the second type of
-       terminal, and should give the capability in, which  stands
-       for "insert null".  While these are two logically separate
-       attributes (one line versus multi-line  insert  mode,  and
-       special  treatment of untyped spaces) we have seen no ter-
-       minals whose insert mode cannot be described with the sin-
-       gle attribute.
-
-       Terminfo  can describe both terminals which have an insert
-       mode, and terminals which send a simple sequence to open a
-       blank  position  on  the  current  line.  Give as smir the
-       sequence to get  into  insert  mode.   Give  as  rmir  the
-       sequence  to  leave  insert  mode.   Now  give as ich1 any
-       sequence needed to be sent just before sending the charac-
-       ter  to  be  inserted.   Most terminals with a true insert
-       mode will not give ich1; terminals which send  a  sequence
-       to open a screen position should give it here.
-
-       If  your terminal has both, insert mode is usually prefer-
-       able to ich1.   Technically,  you  should  not  give  both
-       unless  the  terminal actually requires both to be used in
-       combination.  Accordingly,  some  non-curses  applications
-       get  confused  if both are present; the symptom is doubled
-       characters in an update using insert.  This requirement is
-       now rare; most ich sequences do not require previous smir,
-       and most smir insert modes do not require ich1 before each
-       character.   Therefore,  the  new  curses actually assumes
-       this is the case and uses either rmir/smir or ich/ich1  as
-       appropriate (but not both).  If you have to write an entry
-       to be used under new curses for a terminal old  enough  to
-       need both, include the rmir/smir sequences in ich1.
-
-       If post insert padding is needed, give this as a number of
-       milliseconds in ip (a string option).  Any other  sequence
-       which  may  need  to  be  sent after an insert of a single
-       character may also be given in ip.  If your terminal needs
-       both to be placed into an `insert mode' and a special code
-       to precede each inserted character,  then  both  smir/rmir
-       and  ich1  can  be  given, and both will be used.  The ich
-       capability, with one parameter, n, will repeat the effects
-       of ich1 n times.
-
-       If padding is necessary between characters typed while not
-       in insert mode, give this  as  a  number  of  milliseconds
-       padding in rmp.
-
-       It  is  occasionally  necessary  to  move  around while in
-       insert mode to delete characters on the same  line  (e.g.,
-       if  there is a tab after the insertion position).  If your
-       terminal allows motion while in insert mode you  can  give
-       the  capability  mir  to  speed up inserting in this case.
-       Omitting mir  will  affect  only  speed.   Some  terminals
-       (notably Datamedia's) must not have mir because of the way
-       their insert mode works.
-
-       Finally, you can specify dch1 to delete a  single  charac-
-       ter,  dch  with  one parameter, n, to delete n characters,
-       and delete mode by giving smdc and rmdc to enter and  exit
-       delete  mode  (any mode the terminal needs to be placed in
-       for dch1 to work).
-
-       A command to erase n characters (equivalent to  outputting
-       n  blanks  without  moving the cursor) can be given as ech
-       with one parameter.
-
-
-   Highlighting, Underlining, and Visible Bells
-       If  your  terminal  has  one  or  more  kinds  of  display
-       attributes,  these  can be represented in a number of dif-
-       ferent ways.  You should choose one display form as stand-
-       out mode, representing a good, high contrast, easy-on-the-
-       eyes, format for highlighting  error  messages  and  other
-       attention  getters.   (If you have a choice, reverse video
-       plus half-bright is good, or reverse  video  alone.)   The
-       sequences  to  enter  and  exit standout mode are given as
-       smso and rmso, respectively.  If the code to  change  into
-       or  out  of  standout  mode  leaves  one or even two blank
-       spaces on the screen, as the TVI 912 and Teleray 1061  do,
-       then xmc should be given to tell how many spaces are left.
-
-       Codes to begin underlining  and  end  underlining  can  be
-       given  as smul and rmul respectively.  If the terminal has
-       a code to underline the current  character  and  move  the
-       cursor one space to the right, such as the Microterm Mime,
-       this can be given as uc.
-
-       Other capabilities to  enter  various  highlighting  modes
-       include  blink  (blinking) bold (bold or extra bright) dim
-       (dim or half-bright) invis (blanking  or  invisible  text)
-       prot  (protected)  rev  (reverse video) sgr0 (turn off all
-       attribute modes)  smacs  (enter  alternate  character  set
-       mode)  and  rmacs  (exit  alternate  character  set mode).
-       Turning on any of these modes singly may or may  not  turn
-       off other modes.
-
-       If  there  is  a sequence to set arbitrary combinations of
-       modes, this should be given as sgr (set attributes),  tak-
-       ing  9 parameters.  Each parameter is either 0 or nonzero,
-       as the corresponding attribute is on or off.  The 9 param-
-       eters  are, in order: standout, underline, reverse, blink,
-       dim, bold, blank, protect, alternate character  set.   Not
-       all  modes  need be supported by sgr, only those for which
-       corresponding separate attribute commands exist.
-
-       For example, the DEC vt220 supports most of the modes:
-
-
-           tparm parameter   attribute    escape sequence
-
-           none              none         \E[0m
-           p1                standout     \E[0;1;7m
-           p2                underline    \E[0;4m
-           p3                reverse      \E[0;7m
-           p4                blink        \E[0;5m
-           p5                dim          not available
-           p6                bold         \E[0;1m
-           p7                invis        \E[0;8m
-           p8                protect      not used
-           p9                altcharset   ^O (off) ^N (on)
-
-       We begin each escape sequence by turning off any  existing
-       modes,  since  there  is no quick way to determine whether
-       they are active.  Standout is set up to be the combination
-       of  reverse  and  bold.   The vt220 terminal has a protect
-       mode, though it is not commonly used  in  sgr  because  it
-       protects  characters  on  the  screen from the host's era-
-       sures.  The altcharset mode also is different in  that  it
-       is  either ^O or ^N, depending on whether it is off or on.
-       If all modes are turned  on,  the  resulting  sequence  is
-       \E[0;1;4;5;7;8m^N.
-
-       Some  sequences  are common to different modes.  For exam-
-       ple, ;7 is output when either p1 or p3 is true,  that  is,
-       if either standout or reverse modes are turned on.
-
-       Writing  out  the above sequences, along with their depen-
-       dencies yields
-
-
-         sequence    when to output     terminfo translation
-
-         \E[0       always              \E[0
-         ;1         if p1 or p6         %?%p1%p6%|%t;1%;
-         ;4         if p2               %?%p2%|%t;4%;
-         ;5         if p4               %?%p4%|%t;5%;
-         ;7         if p1 or p3         %?%p1%p3%|%t;7%;
-
-         ;8         if p7               %?%p7%|%t;8%;
-         m          always              m
-         ^N or ^O   if p9 ^N, else ^O   %?%p9%t^N%e^O%;
-
-       Putting this all together into the sgr sequence gives:
-
-           sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;
-               %?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
-
-       Remember that if you specify sgr, you  must  also  specify
-       sgr0.   Also, some implementations rely on sgr being given
-       if sgr0 is, Not all terminfo entries necessarily  have  an
-       sgr  string,  however.   Many terminfo entries are derived
-       from termcap entries which have no sgr string.   The  only
-       drawback  to  adding  an  sgr  string is that termcap also
-       assumes that sgr0 does not exit  alternate  character  set
-       mode.
-
-       Terminals  with  the ``magic cookie'' glitch (xmc) deposit
-       special  ``cookies''  when   they   receive   mode-setting
-       sequences,  which affect the display algorithm rather than
-       having extra bits for  each  character.   Some  terminals,
-       such  as  the  HP  2621, automatically leave standout mode
-       when they move to a new line or the cursor  is  addressed.
-       Programs  using  standout  mode  should exit standout mode
-       before moving the cursor or sending a newline, unless  the
-       msgr  capability,  asserting  that  it  is safe to move in
-       standout mode, is present.
-
-       If the terminal has a way of flashing the screen to  indi-
-       cate  an  error quietly (a bell replacement) then this can
-       be given as flash; it must not move the cursor.
-
-       If the cursor needs to be made more  visible  than  normal
-       when it is not on the bottom line (to make, for example, a
-       non-blinking underline into an easier  to  find  block  or
-       blinking underline) give this sequence as cvvis.  If there
-       is a way to make the  cursor  completely  invisible,  give
-       that as civis.  The capability cnorm should be given which
-       undoes the effects of both of these modes.
-
-       If your terminal correctly generates underlined characters
-       (with  no  special  codes  needed) even though it does not
-       overstrike, then you should give the capability ul.  If  a
-       character  overstriking  another leaves both characters on
-       the screen, specify the capability os.  If overstrikes are
-       erasable  with  a  blank, then this should be indicated by
-       giving eo.
-
-
-   Keypad and Function Keys
-       If the terminal has a keypad that transmits codes when the
-       keys  are  pressed,  this  information can be given.  Note
-       that it is not possible to handle terminals where the key-
-       pad only works in local (this applies, for example, to the
-       unshifted HP 2621 keys).  If the  keypad  can  be  set  to
-       transmit  or  not  transmit,  give these codes as smkx and
-       rmkx.  Otherwise the keypad is assumed to always transmit.
-       The  codes  sent by the left arrow, right arrow, up arrow,
-       down arrow, and home keys can be given  as  kcub1,  kcuf1,
-       kcuu1,  kcud1, and khome respectively.  If there are func-
-       tion keys such as f0, f1, ..., f10, the  codes  they  send
-       can  be  given as kf0, kf1, ..., kf10.  If these keys have
-       labels other than the default f0 through f10,  the  labels
-       can  be given as lf0, lf1, ..., lf10.  The codes transmit-
-       ted by certain other special keys can be given: kll  (home
-       down),  kbs  (backspace),  ktbc  (clear  all  tabs), kctab
-       (clear the tab stop in this column), kclr (clear screen or
-       erase  key), kdch1 (delete character), kdl1 (delete line),
-       krmir (exit insert mode), kel (clear to end of line),  ked
-       (clear to end of screen), kich1 (insert character or enter
-       insert mode), kil1 (insert line),  knp  (next  page),  kpp
-       (previous  page),  kind (scroll forward/down), kri (scroll
-       backward/up), khts (set a tab stop in  this  column).   In
-       addition, if the keypad has a 3 by 3 array of keys includ-
-       ing the four arrow keys, the other five keys can be  given
-       as  ka1,  ka3,  kb2,  kc1, and kc3.  These keys are useful
-       when the effects of a 3 by 3 directional pad are needed.
-
-       Strings to program function keys can be  given  as  pfkey,
-       pfloc,  and pfx.  A string to program screen labels should
-       be specified as pln.  Each  of  these  strings  takes  two
-       parameters:  the function key number to program (from 0 to
-       10) and the string to program it with.  Function key  num-
-       bers  out  of  this  range may program undefined keys in a
-       terminal dependent manner.   The  difference  between  the
-       capabilities  is  that pfkey causes pressing the given key
-       to be the same as the user typing the given string;  pfloc
-       causes the string to be executed by the terminal in local;
-       and pfx causes the string to be transmitted  to  the  com-
-       puter.
-
-       The capabilities nlab, lw and lh define the number of pro-
-       grammable screen labels and their width  and  height.   If
-       there  are  commands  to  turn the labels on and off, give
-       them in smln and rmln.  smln is normally output after  one
-       or more pln sequences to make sure that the change becomes
-       visible.
-
-
-   Tabs and Initialization
-       If the terminal has hardware tabs, the command to  advance
-       to  the  next tab stop can be given as ht (usually control
-       I).  A ``back-tab'' command which moves  leftward  to  the
-       preceding tab stop can be given as cbt.  By convention, if
-       the teletype modes indicate that tabs are  being  expanded
-       by  the  computer  rather than being sent to the terminal,
-       programs should not  use  ht  or  cbt  even  if  they  are
-       present,  since  the user may not have the tab stops prop-
-       erly set.  If the terminal has  hardware  tabs  which  are
-       initially  set every n spaces when the terminal is powered
-       up, the numeric parameter it is given, showing the  number
-       of  spaces  the tabs are set to.  This is normally used by
-       the tset command to determine whether to set the mode  for
-       hardware  tab expansion, and whether to set the tab stops.
-       If the terminal has tab stops that can be  saved  in  non-
-       volatile  memory, the terminfo description can assume that
-       they are properly set.
-
-       Other capabilities include is1, is2, and is3,  initializa-
-       tion  strings  for the terminal, iprog, the path name of a
-       program to be run to initialize the terminal, and if,  the
-       name  of  a  file  containing long initialization strings.
-       These strings are expected to set the terminal into  modes
-       consistent  with  the  rest  of  the terminfo description.
-       They are normally sent to the terminal, by the init option
-       of  the  tput  program,  each time the user logs in.  They
-       will be printed in the following order:  run  the  program
-       iprog;  output  is1;  is2; set the margins using mgc, smgl
-       and smgr; set tabs using tbc and hts; print the  file  if;
-       and finally output is3.
-
-       Most  initialization  is  done with is2.  Special terminal
-       modes can be set up without duplicating strings by putting
-       the  common  sequences in is2 and special cases in is1 and
-       is3.  A pair of sequences that does a harder reset from  a
-       totally  unknown  state  can  be analogously given as rs1,
-       rs2, rf, and rs3, analogous to is2 and if.  These  strings
-       are  output  by  the reset program, which is used when the
-       terminal gets into a wedged state.  Commands are  normally
-       placed  in rs1, rs2 rs3 and rf only if they produce annoy-
-       ing effects on the screen and are not necessary when  log-
-       ging  in.   For example, the command to set the vt100 into
-       80-column mode would normally  be  part  of  is2,  but  it
-       causes  an  annoying  glitch of the screen and is not nor-
-       mally needed since the terminal is usually already  in  80
-       column mode.
-
-       If there are commands to set and clear tab stops, they can
-       be given as tbc (clear all tab stops) and hts (set  a  tab
-       stop  in the current column of every row).  If a more com-
-       plex sequence is needed  to  set  the  tabs  than  can  be
-       described  by  this,  the sequence can be placed in is2 or
-       if.
-
-   Delays and Padding
-       Many older and slower  terminals  do  not  support  either
-       XON/XOFF or DTR handshaking, including hard copy terminals
-       and some very archaic CRTs (including,  for  example,  DEC
-       VT100s).   These may require padding characters after cer-
-       tain cursor motions and screen changes.
-
-       If the terminal uses xon/xoff handshaking for flow control
-       (that  is, it automatically emits ^S back to the host when
-       its input buffers are close to full), set xon.  This capa-
-       bility  suppresses  the emission of padding.  You can also
-       set it for memory-mapped console devices effectively  that
-       do  not  have  a  speed limit.  Padding information should
-       still be included so that routines can make  better  deci-
-       sions about relative costs, but actual pad characters will
-       not be transmitted.
-
-       If pb (padding baud rate) is given, padding is  suppressed
-       at  baud rates below the value of pb.  If the entry has no
-       padding baud rate, then whether padding is emitted or  not
-       is completely controlled by xon.
-
-       If  the terminal requires other than a null (zero) charac-
-       ter as a pad, then this can be given  as  pad.   Only  the
-       first character of the pad string is used.
-
-
-   Status Lines
-       Some  terminals  have  an extra `status line' which is not
-       normally used by software (and thus  not  counted  in  the
-       terminal's lines capability).
-
-       The  simplest  case  is  a  status  line  which is cursor-
-       addressable but not part of the main scrolling  region  on
-       the  screen;  the  Heathkit  H19 has a status line of this
-       kind, as would a 24-line VT100 with  a  23-line  scrolling
-       region  set up on initialization.  This situation is indi-
-       cated by the hs capability.
-
-       Some terminals with status lines need special sequences to
-       access  the  status  line.   These  may  be expressed as a
-       string with single parameter tsl which takes the cursor to
-       a  given  zero-origin  column  on  the  status  line.  The
-       capability fsl must return to the main-screen cursor posi-
-       tions  before  the  last  tsl.   You may need to embed the
-       string values of sc (save cursor) and rc (restore  cursor)
-       in tsl and fsl to accomplish this.
-
-       The  status  line is normally assumed to be the same width
-       as the width of the terminal.  If this is untrue, you  can
-       specify it with the numeric capability wsl.
-
-       A  command to erase or blank the status line may be speci-
-       fied as dsl.
-
-       The  boolean  capability  eslok  specifies   that   escape
-       sequences, tabs, etc., work ordinarily in the status line.
-
-       The ncurses implementation does not yet use any  of  these
-       capabilities.   They are documented here in case they ever
-       become important.
-
-
-   Line Graphics
-       Many terminals have alternate character  sets  useful  for
-       forms-drawing.   Terminfo  and curses build in support for
-       the drawing characters supported by the VT100,  with  some
-       characters  from  the  AT&T  4410v1 added.  This alternate
-       character set may be specified by the acsc capability.
-
-
-                Glyph             ACS            Ascii      VT100
-                 Name             Name           Default    Name
-       UK pound sign              ACS_STERLING   f          }
-       arrow pointing down        ACS_DARROW     v          .
-       arrow pointing left        ACS_LARROW     <          ,
-       arrow pointing right       ACS_RARROW     >          +
-       arrow pointing up          ACS_UARROW     ^          -
-       board of squares           ACS_BOARD      #          h
-       bullet                     ACS_BULLET     o          ~
-       checker board (stipple)    ACS_CKBOARD    :          a
-       degree symbol              ACS_DEGREE     \          f
-       diamond                    ACS_DIAMOND    +          `
-       greater-than-or-equal-to   ACS_GEQUAL     >          z
-       greek pi                   ACS_PI         *          {
-       horizontal line            ACS_HLINE      -          q
-       lantern symbol             ACS_LANTERN    #          i
-       large plus or crossover    ACS_PLUS       +          n
-       less-than-or-equal-to      ACS_LEQUAL     <          y
-       lower left corner          ACS_LLCORNER   +          m
-       lower right corner         ACS_LRCORNER   +          j
-       not-equal                  ACS_NEQUAL     !          |
-       plus/minus                 ACS_PLMINUS    #          g
-       scan line 1                ACS_S1         ~          o
-       scan line 3                ACS_S3         -          p
-       scan line 7                ACS_S7         -          r
-       scan line 9                ACS_S9         _          s
-       solid square block         ACS_BLOCK      #          0
-       tee pointing down          ACS_TTEE       +          w
-       tee pointing left          ACS_RTEE       +          u
-       tee pointing right         ACS_LTEE       +          t
-       tee pointing up            ACS_BTEE       +          v
-       upper left corner          ACS_ULCORNER   +          l
-       upper right corner         ACS_URCORNER   +          k
-       vertical line              ACS_VLINE      |          x
-
-       The best way to define a new device's graphics set  is  to
-       add  a  column  to a copy of this table for your terminal,
-       giving  the  character   which   (when   emitted   between
-       smacs/rmacs  switches) will be rendered as the correspond-
-       ing graphic.  Then read off the VT100/your terminal  char-
-       acter  pairs  right  to left in sequence; these become the
-       ACSC string.
-
-
-   Color Handling
-       Most color terminals are either `Tektronix-like'  or  `HP-
-       like'.   Tektronix-like terminals have a predefined set of
-       N colors (where N usually 8), and can  set  character-cell
-       foreground and background characters independently, mixing
-       them into N * N color-pairs.  On  HP-like  terminals,  the
-       use must set each color pair up separately (foreground and
-       background are  not  independently  settable).   Up  to  M
-       color-pairs  may  be  set  up  from  2*M different colors.
-       ANSI-compatible terminals are Tektronix-like.
-
-       Some basic color capabilities are independent of the color
-       method.  The numeric capabilities colors and pairs specify
-       the maximum numbers of colors and color-pairs that can  be
-       displayed  simultaneously.   The op (original pair) string
-       resets foreground and background colors to  their  default
-       values  for the terminal.  The oc string resets all colors
-       or color-pairs to their default values for  the  terminal.
-       Some  terminals  (including  many  PC  terminal emulators)
-       erase screen  areas  with  the  current  background  color
-       rather  than the power-up default background; these should
-       have the boolean capability bce.
-
-       To change the current foreground or background color on  a
-       Tektronix-type  terminal,  use setaf (set ANSI foreground)
-       and setab (set ANSI background) or setf  (set  foreground)
-       and  setb (set background).  These take one parameter, the
-       color  number.   The  SVr4  documentation  describes  only
-       setaf/setab;  the  XPG4  draft  says that "If the terminal
-       supports ANSI escape sequences to set background and fore-
-       ground,  they  should be coded as setaf and setab, respec-
-       tively.  If the terminal supports other  escape  sequences
-       to  set background and foreground, they should be coded as
-       setf and setb, respectively.  The vidputs()  function  and
-       the  refresh  functions  use  setaf  and setab if they are
-       defined."
-
-       The setaf/setab and setf/setb capabilities take  a  single
-       numeric argument each.  Argument values 0-7 of setaf/setab
-       are portably defined as follows (the middle column is  the
-       symbolic #define available in the header for the curses or
-       ncurses libraries).  The terminal hardware is free to  map
-       these  as  it  likes,  but  the RGB values indicate normal
-       locations in color space.
-
-
-             Color       #define       Value       RGB
-             black     COLOR_BLACK       0     0, 0, 0
-             red       COLOR_RED         1     max,0,0
-             green     COLOR_GREEN       2     0,max,0
-             yellow    COLOR_YELLOW      3     max,max,0
-             blue      COLOR_BLUE        4     0,0,max
-             magenta   COLOR_MAGENTA     5     max,0,max
-             cyan      COLOR_CYAN        6     0,max,max
-             white     COLOR_WHITE       7     max,max,max
-
-       The argument values of setf/setb  historically  correspond
-       to a different mapping, i.e.,
-
-
-             Color       #define       Value       RGB
-             black     COLOR_BLACK       0     0, 0, 0
-             blue      COLOR_BLUE        1     0,0,max
-             green     COLOR_GREEN       2     0,max,0
-             cyan      COLOR_CYAN        3     0,max,max
-             red       COLOR_RED         4     max,0,0
-             magenta   COLOR_MAGENTA     5     max,0,max
-             yellow    COLOR_YELLOW      6     max,max,0
-             white     COLOR_WHITE       7     max,max,max
-       It is important to not confuse the two sets of color capa-
-       bilities; otherwise red/blue will be interchanged  on  the
-       display.
-
-       On  an  HP-like terminal, use scp with a color-pair number
-       parameter to set which color pair is current.
-
-       On a Tektronix-like terminal, the capability  ccc  may  be
-       present  to  indicate that colors can be modified.  If so,
-       the initc capability will take a color number (0 to colors
-       -  1)and  three  more parameters which describe the color.
-       These three parameters default to being interpreted as RGB
-       (Red,  Green, Blue) values.  If the boolean capability hls
-       is present, they are instead as HLS (Hue, Lightness, Satu-
-       ration) indices.  The ranges are terminal-dependent.
-
-       On  an  HP-like  terminal, initp may give a capability for
-       changing a color-pair value.  It will take  seven  parame-
-       ters;  a  color-pair  number (0 to max_pairs - 1), and two
-       triples describing first background  and  then  foreground
-       colors.   These  parameters  must be (Red, Green, Blue) or
-       (Hue, Lightness, Saturation) depending on hls.
-
-       On some color terminals, colors collide  with  highlights.
-       You can register these collisions with the ncv capability.
-       This is a bit-mask of attributes not to be used when  col-
-       ors  are  enabled.  The correspondence with the attributes
-       understood by curses is as follows:
-
-
-                      Attribute      Bit   Decimal
-                      A_STANDOUT     0     1
-                      A_UNDERLINE    1     2
-                      A_REVERSE      2     4
-                      A_BLINK        3     8
-                      A_DIM          4     16
-                      A_BOLD         5     32
-                      A_INVIS        6     64
-                      A_PROTECT      7     128
-                      A_ALTCHARSET   8     256
-
-       For example,  on  many  IBM  PC  consoles,  the  underline
-       attribute  collides  with the foreground color blue and is
-       not available in color mode.  These  should  have  an  ncv
-       capability of 2.
-
-       SVr4  curses  does nothing with ncv, ncurses recognizes it
-       and optimizes the output in favor of colors.
-
-
-   Miscellaneous
-       If the terminal requires other than a null (zero)  charac-
-       ter  as  a  pad,  then this can be given as pad.  Only the
-       first character of the pad string is used.  If the  termi-
-       nal does not have a pad character, specify npc.  Note that
-       ncurses implements  the  termcap-compatible  PC  variable;
-       though  the  application  may  set this value to something
-       other than a null, ncurses will test  npc  first  and  use
-       napms if the terminal has no pad character.
-
-       If  the terminal can move up or down half a line, this can
-       be indicated with hu  (half-line  up)  and  hd  (half-line
-       down).  This is primarily useful for superscripts and sub-
-       scripts on hard-copy terminals.  If a  hard-copy  terminal
-       can  eject  to  the next page (form feed), give this as ff
-       (usually control L).
-
-       If there is a command to repeat a given character a  given
-       number  of times (to save time transmitting a large number
-       of identical characters) this can be  indicated  with  the
-       parameterized  string  rep.   The  first  parameter is the
-       character to be repeated and the second is the  number  of
-       times  to repeat it.  Thus, tparm(repeat_char, 'x', 10) is
-       the same as `xxxxxxxxxx'.
-
-       If the terminal has a settable command character, such  as
-       the  TEKTRONIX  4025, this can be indicated with cmdch.  A
-       prototype command character is chosen which is used in all
-       capabilities.   This character is given in the cmdch capa-
-       bility to identify it.  The following convention  is  sup-
-       ported  on  some  UNIX  systems:  The environment is to be
-       searched for a CC variable, and if found, all  occurrences
-       of the prototype character are replaced with the character
-       in the environment variable.
-
-       Terminal descriptions that do  not  represent  a  specific
-       kind of known terminal, such as switch, dialup, patch, and
-       network, should include the  gn  (generic)  capability  so
-       that  programs  can  complain that they do not know how to
-       talk to the terminal.  (This capability does not apply  to
-       virtual   terminal   descriptions  for  which  the  escape
-       sequences are known.)
-
-       If the terminal has a ``meta key'' which acts as  a  shift
-       key,  setting  the  8th  bit of any character transmitted,
-       this fact can be indicated with km.   Otherwise,  software
-       will assume that the 8th bit is parity and it will usually
-       be cleared.  If strings exist to turn this  ``meta  mode''
-       on and off, they can be given as smm and rmm.
-
-       If  the terminal has more lines of memory than will fit on
-       the screen at once, the number of lines of memory  can  be
-       indicated  with  lm.   A  value of lm#0 indicates that the
-       number of lines is not fixed, but that there is still more
-       memory than fits on the screen.
-
-       If the terminal is one of those supported by the UNIX vir-
-       tual terminal protocol, the terminal number can  be  given
-       as vt.
-
-       Media copy strings which control an auxiliary printer con-
-       nected to the terminal can be given as mc0: print the con-
-       tents  of  the screen, mc4: turn off the printer, and mc5:
-       turn on the printer.  When the printer  is  on,  all  text
-       sent  to  the terminal will be sent to the printer.  It is
-       undefined whether the text is also displayed on the termi-
-       nal screen when the printer is on.  A variation mc5p takes
-       one parameter, and leaves the printer on for as many char-
-       acters  as  the  value  of  the  parameter, then turns the
-       printer off.  The parameter should not  exceed  255.   All
-       text,  including  mc4,  is  transparently  passed  to  the
-       printer while an mc5p is in effect.
-
-
-   Glitches and Braindamage
-       Hazeltine terminals, which do not allow `~' characters  to
-       be displayed should indicate hz.
-
-       Terminals which ignore a line-feed immediately after an am
-       wrap, such as the Concept and vt100, should indicate xenl.
-
-       If  el  is  required  to  get  rid of standout (instead of
-       merely writing normal text on top of it),  xhp  should  be
-       given.
-
-       Teleray  terminals,  where  tabs turn all characters moved
-       over to blanks, should  indicate  xt  (destructive  tabs).
-       Note:    the    variable    indicating    this    is   now
-       `dest_tabs_magic_smso'; in older  versions,  it  was  tel-
-       eray_glitch.  This glitch is also taken to mean that it is
-       not possible to position the cursor on top  of  a  ``magic
-       cookie'', that to erase standout mode it is instead neces-
-       sary to use delete and insert line.  The ncurses implemen-
-       tation ignores this glitch.
-
-       The  Beehive Superbee, which is unable to correctly trans-
-       mit the escape or control C characters, has xsb,  indicat-
-       ing  that the f1 key is used for escape and f2 for control
-       C.  (Only certain Superbees have this  problem,  depending
-       on  the  ROM.)  Note that in older terminfo versions, this
-       capability  was  called  `beehive_glitch';   it   is   now
-       `no_esc_ctl_c'.
-
-       Other  specific  terminal  problems  may  be  corrected by
-       adding more capabilities of the form xx.
-
-
-   Similar Terminals
-       If there are two very similar terminals, one (the variant)
-       can  be  defined  as  being just like the other (the base)
-       with certain exceptions.  In the definition of  the  vari-
-       ant,  the string capability use can be given with the name
-       of the base terminal.  The capabilities given  before  use
-       override  those  in  the base type named by use.  If there
-       are multiple use capabilities, they are merged in  reverse
-       order.   That is, the rightmost use reference is processed
-       first, then the one to its left, and so forth.   Capabili-
-       ties  given explicitly in the entry override those brought
-       in by use references.
-
-       A capability can be canceled by placing xx@ to the left of
-       the  use  reference that imports it, where xx is the capa-
-       bility.  For example, the entry
-
-                   2621-nl, smkx@, rmkx@, use=2621,
-
-       defines a 2621-nl that does not  have  the  smkx  or  rmkx
-       capabilities,  and hence does not turn on the function key
-       labels when in visual mode.  This is useful for  different
-       modes for a terminal, or for different user preferences.
-
-
-   Pitfalls of Long Entries
-       Long  terminfo  entries  are  unlikely to be a problem; to
-       date, no entry has even  approached  terminfo's  4096-byte
-       string-table maximum.  Unfortunately, the termcap transla-
-       tions are much more strictly limited (to 1023 bytes), thus
-       termcap  translations  of  long terminfo entries can cause
-       problems.
-
-       The man pages for 4.3BSD and older versions  of  tgetent()
-       instruct  the  user to allocate a 1024-byte buffer for the
-       termcap entry.  The  entry  gets  null-terminated  by  the
-       termcap library, so that makes the maximum safe length for
-       a termcap entry 1k-1 (1023) bytes.  Depending on what  the
-       application  and  the termcap library being used does, and
-       where in the termcap file the terminal type that tgetent()
-       is searching for is, several bad things can happen.
-
-       Some  termcap libraries print a warning message or exit if
-       they find an entry that's longer than 1023  bytes;  others
-       do  not;  others truncate the entries to 1023 bytes.  Some
-       application programs allocate more than the recommended 1K
-       for the termcap entry; others do not.
-
-       Each termcap entry has two important sizes associated with
-       it: before "tc" expansion, and after "tc" expansion.  "tc"
-       is  the  capability that tacks on another termcap entry to
-       the end of the current one, to add  on  its  capabilities.
-       If  a termcap entry does not use the "tc" capability, then
-       of course the two lengths are the same.
-
-       The "before tc expansion" length  is  the  most  important
-       one,  because it affects more than just users of that par-
-       ticular terminal.  This is the length of the entry  as  it
-       exists in /etc/termcap, minus the backslash-newline pairs,
-       which tgetent() strips out while reading it.  Some termcap
-       libraries  strip  off  the final newline, too (GNU termcap
-       does not).  Now suppose:
-
-       *    a termcap entry before expansion is  more  than  1023
-            bytes long,
-
-       *    and the application has only allocated a 1k buffer,
-
-       *    and  the  termcap library (like the one in BSD/OS 1.1
-            and GNU) reads the whole entry into  the  buffer,  no
-            matter  what  its length, to see if it's the entry it
-            wants,
-
-       *    and tgetent() is searching for a terminal  type  that
-            either is the long entry, appears in the termcap file
-            after the long entry, or does not appear in the  file
-            at  all  (so  that  tgetent() has to search the whole
-            termcap file).
-
-       Then tgetent() will overwrite memory, perhaps  its  stack,
-       and  probably core dump the program.  Programs like telnet
-       are particularly vulnerable;  modern  telnets  pass  along
-       values  like the terminal type automatically.  The results
-       are almost as undesirable with  a  termcap  library,  like
-       SunOS  4.1.3  and Ultrix 4.4, that prints warning messages
-       when it reads an overly long termcap entry.  If a  termcap
-       library  truncates  long  entries,  like  OSF/1 3.0, it is
-       immune to dying here but will return  incorrect  data  for
-       the terminal.
-
-       The "after tc expansion" length will have a similar effect
-       to the above, but only for people who actually set TERM to
-       that  terminal type, since tgetent() only does "tc" expan-
-       sion once it's found the terminal type it was looking for,
-       not while searching.
-
-       In summary, a termcap entry that is longer than 1023 bytes
-       can cause, on various combinations  of  termcap  libraries
-       and  applications,  a  core  dump,  warnings, or incorrect
-       operation.  If it's too long even before  "tc"  expansion,
-       it will have this effect even for users of some other ter-
-       minal types and users whose TERM variable does not have  a
-       termcap entry.
-
-       When in -C (translate to termcap) mode, the ncurses imple-
-       mentation of tic(1) issues warning messages when the  pre-
-       tc  length  of  a termcap translation is too long.  The -c
-       (check) option also checks resolved (after  tc  expansion)
-       lengths.
-
-   Binary Compatibility
-       It  is not wise to count on portability of binary terminfo
-       entries between commercial UNIX versions.  The problem  is
-       that  there  are  at least two versions of terminfo (under
-       HP-UX and AIX) which diverged from System V terminfo after
-       SVr1,  and have added extension capabilities to the string
-       table that (in the binary format) collide  with  System  V
-       and XSI Curses extensions.
-
-
-
-

EXTENSIONS

-       Some  SVr4  curses  implementations,  and  all previous to
-       SVr4, do not interpret the %A and %O operators in  parame-
-       ter strings.
-
-       SVr4/XPG4  do  not  specify whether msgr licenses movement
-       while in an alternate-character-set mode (such modes  may,
-       among  other  things,  map CR and NL to characters that do
-       not trigger local motions).   The  ncurses  implementation
-       ignores  msgr  in ALTCHARSET mode.  This raises the possi-
-       bility that an XPG4  implementation  making  the  opposite
-       interpretation  may need terminfo entries made for ncurses
-       to have msgr turned off.
-
-       The ncurses library handles insert-character  and  insert-
-       character modes in a slightly non-standard way to get bet-
-       ter update efficiency.  See  the  Insert/Delete  Character
-       subsection above.
-
-       The   parameter   substitutions  for  set_clock  and  dis-
-       play_clock are not documented in SVr4 or  the  XSI  Curses
-       standard.  They are deduced from the documentation for the
-       AT&T 505 terminal.
-
-       Be careful assigning the kmous  capability.   The  ncurses
-       wants  to  interpret it as KEY_MOUSE, for use by terminals
-       and emulators like xterm that  can  return  mouse-tracking
-       information in the keyboard-input stream.
-
-       Different  commercial ports of terminfo and curses support
-       different subsets of the XSI Curses standard and (in  some
-       cases) different extension sets.  Here is a summary, accu-
-       rate as of October 1995:
-
-       SVR4, Solaris, ncurses -- These support all SVr4 capabili-
-       ties.
-
-       SGI  --  Supports  the  SVr4  set,  adds  one undocumented
-       extended string capability (set_pglen).
-
-       SVr1, Ultrix -- These support a restricted subset of  ter-
-       minfo  capabilities.   The booleans end with xon_xoff; the
-       numerics with  width_status_line;  and  the  strings  with
-       prtr_non.
-
-       HP/UX  --  Supports  the  SVr1  subset,  plus the SVr[234]
-       numerics num_labels, label_height, label_width, plus func-
-       tion  keys  11  through  63, plus plab_norm, label_on, and
-       label_off, plus some incompatible extensions in the string
-       table.
-
-       AIX  --  Supports  the  SVr1 subset, plus function keys 11
-       through 63, plus a number  of  incompatible  string  table
-       extensions.
-
-       OSF  -- Supports both the SVr4 set and the AIX extensions.
-
-
-
-

FILES

-       /usr/share/terminfo/?/*  files     containing     terminal
-                                descriptions
-
-
-
-

SEE ALSO

-       tic(1m), infocmp(1m), curses(3x), printf(3S), term(5).
-
-
-
-

AUTHORS

-       Zeyd  M.  Ben-Halim,  Eric  S.  Raymond, Thomas E. Dickey.
-       Based on pcurses by Pavel Curtis.
-
-
-
-                                                            TERMINFO(5)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/tic.1m.html b/src/libs/ncurses/doc/html/man/tic.1m.html deleted file mode 100644 index 7dcc24eaec..0000000000 --- a/src/libs/ncurses/doc/html/man/tic.1m.html +++ /dev/null @@ -1,316 +0,0 @@ - - - - -tic 1m - - - - -

tic 1m

-
-
-
-tic(1m)                                                         tic(1m)
-
-
-
-
-
-

NAME

-       tic - the terminfo entry-description compiler
-
-
-
-

SYNOPSIS

-       tic  [-1CGILNTVacfgrstx]  [-e  names] [-o dir] [-R subset]
-       [-v[n]] [-w[n]] file
-
-
-
-

DESCRIPTION

-       The command tic translates a  terminfo  file  from  source
-       format  into compiled format.  The compiled format is nec-
-       essary for use with the library routines in ncurses(3x).
-
-       The results are normally placed  in  the  system  terminfo
-       directory  /usr/share/terminfo.   There  are  two  ways to
-       change this behavior.
-
-       First, you may override the system default by setting  the
-       variable  TERMINFO  in  your  shell environment to a valid
-       (existing) directory name.
-
-       Secondly, if tic cannot get access to  /usr/share/terminfo
-       or  your  TERMINFO  directory,  it looks for the directory
-       $HOME/.terminfo; if that directory exists,  the  entry  is
-       placed there.
-
-       Libraries that read terminfo entries are expected to check
-       for a TERMINFO directory first, look at $HOME/.terminfo if
-       TERMINFO  is  not set, and finally look in /usr/share/ter-
-       minfo.
-
-       -1     restricts the output to a single column
-
-       -a     tells  tic  to  retain  commented-out  capabilities
-              rather than discarding them.  Capabilities are com-
-              mented by prefixing them with a period.  This  sets
-              the  -x option, because it treats the commented-out
-              entries as user-defined names.  If  the  source  is
-              termcap,  accept  the 2-character names required by
-              version 6.  Otherwise these are ignored.
-
-       -C     Force source translation to termcap format.   Note:
-              this  differs  from the -C option of infocmp(1m) in
-              that it does not merely translate capability names,
-              but  also  translates  terminfo  strings to termcap
-              format.  Capabilities that are not translatable are
-              left  in  the  entry under their terminfo names but
-              commented out with two preceding dots.
-
-       -c     tells tic to only check file for errors,  including
-              syntax  problems and bad use links.  If you specify
-              -C (-I) with this option, the code will print warn-
-              ings about entries which, after use resolution, are
-              more than 1023 (4096) bytes long.  Due to  a  fixed
-              buffer  length  in  older  termcap libraries (and a
-              documented limit in terminfo),  these  entries  may
-              cause core dumps.
-
-       -e names
-              Limit  writes  and  translations  to  the following
-              comma-separated list of terminals.  If any name  or
-              alias of a terminal matches one of the names in the
-              list, the entry will be written  or  translated  as
-              normal.   Otherwise no output will be generated for
-              it.  The option value is interpreted as a file con-
-              taining  the  list  if  it  contains a '/'.  (Note:
-              depending on how tic was compiled, this option  may
-              require -I or -C.)
-
-       -f     Display  complex  terminfo  strings  which  contain
-              if/then/else/endif expressions indented  for  read-
-              ability.
-
-       -G     Display  constant  literals  in decimal form rather
-              than their character equivalents.
-
-       -g     Display constant character literals in quoted  form
-              rather than their decimal equivalents.
-
-       -I     Force source translation to terminfo format.
-
-       -L     Force  source  translation to terminfo format using
-              the long C variable names listed in <term.h>
-
-       -N     Disable smart defaults.  Normally, when translating
-              from termcap to terminfo, the compiler makes a num-
-              ber of assumptions about  the  defaults  of  string
-              capabilities  reset1_string,  carriage_return, cur-
-              sor_left, cursor_down,  scroll_forward,  tab,  new-
-              line,  key_backspace,  key_left, and key_down, then
-              attempts to use obsolete  termcap  capabilities  to
-              deduce correct values.  It also normally suppresses
-              output of obsolete termcap capabilities such as bs.
-              This  option forces a more literal translation that
-              also preserves the obsolete capabilities.
-
-       -odir  Write compiled entries to given  directory.   Over-
-              rides the TERMINFO environment variable.
-
-       -Rsubset
-              Restrict  output to a given subset.  This option is
-              for use with  archaic  versions  of  terminfo  like
-              those on SVr1, Ultrix, or HP/UX that do not support
-              the full set of SVR4/XSI Curses terminfo; and  out-
-              right broken ports like AIX 3.x that have their own
-              extensions incompatible with  SVr4/XSI.   Available
-              subsets  are  "SVr1",  "Ultrix",  "HP",  "BSD"  and
-              "AIX"; see terminfo(5) for details.
-
-       -r     Force entry resolution (so there are  no  remaining
-              tc  capabilities)  even  when  doing translation to
-              termcap format.  This may  be  needed  if  you  are
-              preparing  a  termcap  file  for  a termcap library
-              (such as GNU termcap through  version  1.3  or  BSD
-              termcap through 4.3BSD) that does not handle multi-
-              ple tc capabilities per entry.
-
-       -s     Summarize the compile by showing the directory into
-              which  entries  are  written,  and  the  number  of
-              entries which are compiled.
-
-       -T     eliminates size-restrictions on the generated text.
-              This  is  mainly  useful  for testing and analysis,
-              since the compiled descriptions are limited  (e.g.,
-              1023 for termcap, 4096 for terminfo).
-
-       -t     tells  tic  to  discard commented-out capabilities.
-              Normally when translating from terminfo to termcap,
-              untranslatable capabilities are commented-out.
-
-       -V     reports  the  version  of ncurses which was used in
-              this program, and exits.
-
-       -vn    specifies that (verbose) output be written to stan-
-              dard   error   trace   information   showing  tic's
-              progress.  The optional integer n is a number  from
-              1 to 10, inclusive, indicating the desired level of
-              detail  of  information.   If  n  is  omitted,  the
-              default  level is 1.  If n is specified and greater
-              than 1, the level of detail is increased.
-
-       -wn    specifies the width of the output.
-
-       -x     Treat unknown capabilities as  user-defined.   That
-              is,  if you supply a capability name which tic does
-              not recognize, it will  infer  its  type  (boolean,
-              number  or  string)  from  the  syntax  and make an
-              extended table entry for that.  User-defined  capa-
-              bility  strings  whose  name  begins with ``k'' are
-              treated as function keys.
-
-       file   contains one or more terminfo terminal descriptions
-              in  source format [see terminfo(5)].  Each descrip-
-              tion in the file describes the  capabilities  of  a
-              particular terminal.
-
-       The debug flag levels are as follows:
-
-       1      Names of files created and linked
-
-       2      Information related to the ``use'' facility
-
-       3      Statistics from the hashing algorithm
-
-       5      String-table memory allocations
-
-       7      Entries into the string-table
-
-       8      List of tokens encountered by scanner
-
-       9      All values computed in construction of the hash ta-
-              ble
-
-       If the debug level n is not given, it is taken to be  one.
-
-       All but one of the capabilities recognized by tic are doc-
-       umented in terminfo(5).  The exception is the use capabil-
-       ity.
-
-       When  a  use=entry-name  field is discovered in a terminal
-       entry currently being compiled, tic reads  in  the  binary
-       from  /usr/share/terminfo to complete the entry.  (Entries
-       created from file will be used first.  If the  environment
-       variable  TERMINFO  is  set,  that  directory  is searched
-       instead of /usr/share/terminfo.)  tic duplicates the capa-
-       bilities  in  entry-name  for  the current entry, with the
-       exception  of  those  capabilities  that  explicitly   are
-       defined in the current entry.
-
-       When    an   entry,   e.g.,   entry_name_1,   contains   a
-       use=entry_name_2  field,  any  canceled  capabilities   in
-       entry_name_2  must also appear in entry_name_1 before use=
-       for these capabilities to be canceled in entry_name_1.
-
-       If the environment variable TERMINFO is set, the  compiled
-       results are placed there instead of /usr/share/terminfo.
-
-       Total compiled entries cannot exceed 4096 bytes.  The name
-       field cannot exceed 512 bytes.  Terminal  names  exceeding
-       the  maximum  alias  length (32 characters on systems with
-       long filenames, 14 characters otherwise) will be truncated
-       to  the maximum alias length and a warning message will be
-       printed.
-
-
-
-

COMPATIBILITY

-       There is some evidence that historic  tic  implementations
-       treated  description  fields with no whitespace in them as
-       additional aliases or short names.  This tic does  not  do
-       that,  but  it  does  warn  when description fields may be
-       treated that way and check them for dangerous  characters.
-
-
-
-

EXTENSIONS

-       Unlike the stock SVr4 tic command, this implementation can
-       actually compile termcap sources.   In  fact,  entries  in
-       terminfo  and  termcap  syntax  can  be  mixed in a single
-       source file.  See terminfo(5)  for  the  list  of  termcap
-       names taken to be equivalent to terminfo names.
-
-       The  SVr4  manual  pages  are  not clear on the resolution
-       rules for use capabilities.  This  implementation  of  tic
-       will find use targets anywhere in the source file, or any-
-       where in the file tree rooted at TERMINFO (if TERMINFO  is
-       defined),  or  in the user's $HOME/.terminfo directory (if
-       it exists), or (finally) anywhere  in  the  system's  file
-       tree of compiled entries.
-
-       The  error  messages from this tic have the same format as
-       GNU C error messages, and can be  parsed  by  GNU  Emacs's
-       compile facility.
-
-       The  -C,  -G,  -I, -N, -R, -T, -V, -a, -e, -f, -g, -o, -r,
-       -s, -t and -x options are not supported under  SVr4.   The
-       SVr4 -c mode does not report bad use links.
-
-       System  V does not compile entries to or read entries from
-       your $HOME/.terminfo directory unless TERMINFO is  explic-
-       itly set to it.
-
-
-
-

FILES

-       /usr/share/terminfo/?/*
-            Compiled terminal description database.
-
-
-
-

SEE ALSO

-       infocmp(1m),    captoinfo(1m),   infotocap(1m),   toe(1m),
-       curses(3x), terminfo(5).
-
-
-
-                                                                tic(1m)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/toe.1m.html b/src/libs/ncurses/doc/html/man/toe.1m.html deleted file mode 100644 index 78a31b69e8..0000000000 --- a/src/libs/ncurses/doc/html/man/toe.1m.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - -toe 1m - - - - -

toe 1m

-
-
-
-toe(1m)                                                         toe(1m)
-
-
-
-
-
-

NAME

-       toe - table of (terminfo) entries
-
-
-
-

SYNOPSIS

-       toe [-v[n]] [-huUV] file...
-
-
-
-

DESCRIPTION

-       With no options, toe lists all available terminal types by
-       primary name with descriptions.   File  arguments  specify
-       the  directories  to  be scanned; if no such arguments are
-       given, your default terminfo directory is scanned.  If you
-       also  specify  the  -h  option, a directory header will be
-       issued as each directory is entered.
-
-       There are other options intended for use by terminfo  file
-       maintainers:
-
-       -u file
-              says to issue a report on dependencies in the given
-              file. This report  condenses  the  `use'  relation:
-              each  line consists of the primary name of a termi-
-              nal that has use capabilities, followed by a colon,
-              followed  by the whitespace-separated primary names
-              of all terminals which occur in those use capabili-
-              ties, followed by a newline
-
-       -U file
-              says  to  issue a report on reverse dependencies in
-              the given file.  This  report  reverses  the  `use'
-              relation: each line consists of the primary name of
-              a terminal that occurs in  use  capabilities,  fol-
-              lowed  by a colon, followed by the whitespace-sepa-
-              rated primary names of all terminals  which  depend
-              on it, followed by a newline.
-
-       -vn    specifies that (verbose) output be written to stan-
-              dard  error   trace   information   showing   toe's
-              progress.   The optional integer n is a number from
-              1 to 10, interpreted as for tic(1).
-
-       -V   reports the version of ncurses which was used in this
-            program, and exits.
-
-
-
-

FILES

-       /usr/share/terminfo/?/*
-            Compiled terminal description database.
-
-
-
-

SEE ALSO

-       tic(1m),    infocmp(1m),   captoinfo(1m),   infotocap(1m),
-       curses(3x), terminfo(5).
-
-
-
-                                                                toe(1m)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/tput.1.html b/src/libs/ncurses/doc/html/man/tput.1.html deleted file mode 100644 index b00f3f707f..0000000000 --- a/src/libs/ncurses/doc/html/man/tput.1.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - -tput 1 - - - - -

tput 1

-
-
-
-tput(1)                                                         tput(1)
-
-
-
-
-
-

NAME

-       tput,  reset  -  initialize  a  terminal or query terminfo
-       database
-
-
-
-

SYNOPSIS

-       tput [-Ttype] capname [parms ... ]
-       tput [-Ttype] init
-       tput [-Ttype] reset
-       tput [-Ttype] longname
-       tput -S  <<
-       tput -V
-
-
-
-

DESCRIPTION

-       The tput utility uses the terminfo database  to  make  the
-       values  of terminal-dependent capabilities and information
-       available to the shell (see sh(1)), to initialize or reset
-       the  terminal,  or  return  the long name of the requested
-       terminal type.  The result depends upon  the  capability's
-       type:
-
-              string
-                   tput writes the string to the standard output.
-                   No trailing newline is supplied.
-
-              integer
-                   tput writes the decimal value to the  standard
-                   output, with a trailing newline.
-
-              boolean
-                   tput  simply sets the exit code (0 for TRUE if
-                   the terminal has the capability, 1  for  FALSE
-                   if  it  does  not),  and writes nothing to the
-                   standard output.
-
-       Before using a value returned on the standard output,  the
-       application  should  test  the  exit  code  (e.g., $?, see
-       sh(1)) to be sure it is 0.  (See the EXIT CODES and  DIAG-
-       NOSTICS  sections.)   For  a complete list of capabilities
-       and the capname associated with each, see terminfo(1).
-
-       -Ttype indicates the  type  of  terminal.   Normally  this
-              option is unnecessary, because the default is taken
-              from the environment variable TERM.  If -T is spec-
-              ified,  then  the shell variables LINES and COLUMNS
-              will be ignored,and the operating system  will  not
-              be queried for the actual screen size.
-
-       capname
-              indicates   the   capability   from   the  terminfo
-              database.  When termcap support is compiled in, the
-              termcap name for the capability is also accepted.
-
-       parms  If  the  capability  is a string that takes parame-
-              ters, the arguments parms will be instantiated into
-              the string.
-
-              Most  parameters  are numbers.  Only a few terminfo
-              capabilities require string parameters; tput uses a
-              table to decide which to pass as strings.  Normally
-              tput uses tparm (3x) to perform  the  substitution.
-              If no parameters are given for the capability, tput
-              writes   the   string   without   performing    the
-              substitution.
-
-       -S     allows  more  than one capability per invocation of
-              tput.  The capabilities must be passed to tput from
-              the standard input instead of from the command line
-              (see example).  Only one  capname  is  allowed  per
-              line.   The  -S option changes the meaning of the 0
-              and 1 boolean and string exit codes (see  the  EXIT
-              CODES section).
-
-              Again, tput uses a table and the presence of param-
-              eters in its input to decide whether to  use  tparm
-              (3x), and how to interpret the parameters.
-
-       -V     reports  the  version  of ncurses which was used in
-              this program, and exits.
-
-       init   If the terminfo database is present  and  an  entry
-              for the user's terminal exists (see -Ttype, above),
-              the following will occur: (1) if present, the  ter-
-              minal's initialization strings will be output (is1,
-              is2, is3, if, iprog), (2) any  delays  (e.g.,  new-
-              line) specified in the entry will be set in the tty
-              driver, (3) tabs expansion will be turned on or off
-              according  to  the  specification in the entry, and
-              (4) if tabs are not expanded, standard tabs will be
-              set (every 8 spaces).  If an entry does not contain
-              the information needed for any of  the  four  above
-              activities, that activity will silently be skipped.
-
-       reset  Instead of putting out initialization strings,  the
-              terminal's  reset strings will be output if present
-              (rs1, rs2, rs3, rf).  If the reset strings are  not
-              present,  but  initialization strings are, the ini-
-              tialization strings  will  be  output.   Otherwise,
-              reset acts identically to init.
-
-       longname
-              If  the  terminfo  database is present and an entry
-              for the user's terminal exists (see -Ttype  above),
-              then the long name of the terminal will be put out.
-              The long name is the last name in the first line of
-              the terminal's description in the terminfo database
-              [see term(5)].
-
-       If tput is invoked by a link named  reset,  this  has  the
-       same effect as tput reset.  See tset for comparison, which
-       has similar behavior.
-
-
-
-

EXAMPLES

-       tput init
-            Initialize the terminal according to the type of ter-
-            minal  in the environmental variable TERM.  This com-
-            mand should be included in everyone's .profile  after
-            the environmental variable TERM has been exported, as
-            illustrated on the profile(5) manual page.
-
-       tput -T5620 reset
-            Reset an AT&T 5620 terminal, overriding the  type  of
-            terminal in the environmental variable TERM.
-
-       tput cup 0 0
-            Send the sequence to move the cursor to row 0, column
-            0 (the upper left corner of the screen, usually known
-            as the "home" cursor position).
-
-       tput clear
-            Echo the clear-screen sequence for the current termi-
-            nal.
-
-       tput cols
-            Print the number of columns for the current terminal.
-
-       tput -T450 cols
-            Print the number of columns for the 450 terminal.
-
-       bold=`tput smso` offbold=`tput rmso`
-            Set the shell variables bold, to begin stand-out mode
-            sequence, and offbold, to end standout mode sequence,
-            for  the current terminal.  This might be followed by
-            a prompt: echo  "${bold}Please  type  in  your  name:
-            ${offbold}\c"
-
-       tput hc
-            Set  exit code to indicate if the current terminal is
-            a hard copy terminal.
-
-       tput cup 23 4
-            Send the sequence to move the cursor to row 23,  col-
-            umn 4.
-
-       tput cup
-            Send the terminfo string for cursor-movement, with no
-            parameters substituted.
-
-       tput longname
-            Print the long name from the  terminfo  database  for
-            the  type  of terminal specified in the environmental
-            variable TERM.
-
-            tput -S <<!
-            > clear
-            > cup 10 10
-            > bold
-            > !
-
-            This example shows tput processing several  capabili-
-            ties  in one invocation.  It clears the screen, moves
-            the cursor to position  10,  10  and  turns  on  bold
-            (extra  bright)  mode.   The list is terminated by an
-            exclamation mark (!) on a line by itself.
-
-
-
-

FILES

-       /usr/share/terminfo
-              compiled terminal description database
-
-       /usr/share/tabset/*
-              tab settings for some terminals, in a format appro-
-              priate   to  be  output  to  the  terminal  (escape
-              sequences that set  margins  and  tabs);  for  more
-              information, see the "Tabs and Initialization" sec-
-              tion of terminfo(5)
-
-
-
-

EXIT CODES

-       If the -S option is used, tput checks for errors from each
-       line,  and if any errors are found, will set the exit code
-       to 4 plus the number of lines with errors.  If  no  errors
-       are  found,  the  exit  code is 0.  No indication of which
-       line failed can be given so exit code 1 will never appear.
-       Exit  codes 2, 3, and 4 retain their usual interpretation.
-       If the -S option is not used, the exit code depends on the
-       type of capname:
-
-            boolean
-                   a  value of 0 is set for TRUE and 1 for FALSE.
-
-            string a value of 0 is set if the capname is  defined
-                   for  this  terminal type (the value of capname
-                   is returned on standard output); a value of  1
-                   is set if capname is not defined for this ter-
-                   minal type (nothing  is  written  to  standard
-                   output).
-
-            integer
-                   a  value  of  0  is always set, whether or not
-                   capname is defined for this terminal type.  To
-                   determine  if capname is defined for this ter-
-                   minal type, the user must test the value writ-
-                   ten  to  standard output.  A value of -1 means
-                   that capname is not defined for this  terminal
-                   type.
-
-            other  reset  or  init may fail to find their respec-
-                   tive files.  In that case, the  exit  code  is
-                   set to 4 + errno.
-
-       Any  other  exit code indicates an error; see the DIAGNOS-
-       TICS section.
-
-
-
-

DIAGNOSTICS

-       tput prints the following error messages and sets the cor-
-       responding exit codes.
-
-
-       exit code   error message
-       ---------------------------------------------------------------------
-       0           (capname  is a numeric variable that is not specified in
-                   the terminfo(1) database for this  terminal  type,  e.g.
-                   tput -T450 lines and tput -T2621 xmc)
-       1           no error message is printed, see the EXIT CODES section.
-       2           usage error
-       3           unknown terminal type or no terminfo database
-       4           unknown terminfo capability capname
-       >4          error occurred in -S
-       ---------------------------------------------------------------------
-
-
-
-

PORTABILITY

-       The  longname  and -S options, and the parameter-substitu-
-       tion features used in the cup example, are  not  supported
-       in BSD curses or in AT&T/USL curses before SVr4.
-
-
-
-

SEE ALSO

-       clear(1), stty(1), tabs(1), terminfo(5).
-
-
-
-                                                                tput(1)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/tset.1.html b/src/libs/ncurses/doc/html/man/tset.1.html deleted file mode 100644 index 940cfc6fe6..0000000000 --- a/src/libs/ncurses/doc/html/man/tset.1.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - -tset 1 - - - - -

tset 1

-
-
-
-tset(1)                                                         tset(1)
-
-
-
-
-
-

NAME

-       tset, reset - terminal initialization
-
-
-
-

SYNOPSIS

-       tset  [-IQVcqrsw] [-] [-e ch] [-i ch] [-k ch] [-m mapping]
-       [terminal]
-       reset [-IQVcqrsw] [-] [-e ch] [-i ch] [-k ch] [-m mapping]
-       [terminal]
-
-
-
-

DESCRIPTION

-       Tset  initializes  terminals.   Tset  first determines the
-       type of terminal that you are using.   This  determination
-       is done as follows, using the first terminal type found.
-
-       1. The terminal argument specified on the command line.
-
-       2. The value of the TERM environmental variable.
-
-       3.  (BSD  systems only.) The terminal type associated with
-       the standard error output device in  the  /etc/ttys  file.
-       (On Linux and System-V-like UNIXes, getty does this job by
-       setting TERM  according  to  the  type  passed  to  it  by
-       /etc/inittab.)
-
-       4. The default terminal type, ``unknown''.
-
-       If  the  terminal  type  was not specified on the command-
-       line, the -m option mappings are  then  applied  (see  the
-       section  TERMINAL  TYPE  MAPPING  for  more  information).
-       Then, if the terminal type begins  with  a  question  mark
-       (``?''), the user is prompted for confirmation of the ter-
-       minal type.  An empty  response  confirms  the  type,  or,
-       another  type  can be entered to specify a new type.  Once
-       the terminal type has been determined, the terminfo  entry
-       for  the  terminal  is retrieved.  If no terminfo entry is
-       found for the type, the user is prompted for another  ter-
-       minal type.
-
-       Once  the  terminfo  entry  is retrieved, the window size,
-       backspace, interrupt and line kill characters (among  many
-       other things) are set and the terminal and tab initializa-
-       tion strings  are  sent  to  the  standard  error  output.
-       Finally,  if the erase, interrupt and line kill characters
-       have changed, or are not  set  to  their  default  values,
-       their  values  are displayed to the standard error output.
-       Use the -c or -w option to select only the  window  sizing
-       versus  the  other  initialization.   If neither option is
-       given, both are assumed.
-
-       When invoked as reset, tset sets cooked  and  echo  modes,
-       turns  off cbreak and raw modes, turns on newline transla-
-       tion and resets any  unset  special  characters  to  their
-       default  values  before  doing the terminal initialization
-       described above.  This is  useful  after  a  program  dies
-       leaving  a  terminal  in an abnormal state.  Note, you may
-       have to type
-
-           <LF>reset<LF>
-
-       (the line-feed character is normally control-J) to get the
-       terminal to work, as carriage-return may no longer work in
-       the abnormal state.  Also, the  terminal  will  often  not
-       echo the command.
-
-       The options are as follows:
-
-       -c   Set  control  characters and modes.  -e Set the erase
-            character to ch.
-
-       -I   Do  not  send  the  terminal  or  tab  initialization
-            strings to the terminal.
-
-       -i   Set the interrupt character to ch.
-
-       -k   Set the line kill character to ch.
-
-       -m   Specify  a  mapping  from  a port type to a terminal.
-            See the section TERMINAL TYPE MAPPING for more infor-
-            mation.
-
-       -Q   Do  not  display  any values for the erase, interrupt
-            and line kill characters.  Normally tset displays the
-            values  for  control characters which differ from the
-            system's default values.
-
-       -q   The terminal type is displayed to the  standard  out-
-            put,  and the terminal is not initialized in any way.
-            The option `-' by itself is equivalent but archaic.
-
-       -r   Print the terminal type to the standard error output.
-
-       -s   Print  the  sequence  of shell commands to initialize
-            the environment variable TERM to the standard output.
-            See  the section SETTING THE ENVIRONMENT for details.
-
-       -V   reports the version of ncurses which was used in this
-            program, and exits.
-
-       -w   Resize  the  window  to  match  the  size deduced via
-            setupterm.   Normally  this  has  no  effect,  unless
-            setupterm is not able to detect the window size.
-
-       The arguments for the -e, -i, and -k options may either be
-       entered as actual characters or by using the  `hat'  nota-
-       tion, i.e. control-h may be specified as ``^H'' or ``^h''.
-
-
-
-

SETTING THE ENVIRONMENT

-       It is often desirable  to  enter  the  terminal  type  and
-       information  about  the  terminal's  capabilities into the
-       shell's environment.  This is done using the -s option.
-
-       When the -s option is specified, the commands to enter the
-       information  into  the  shell's environment are written to
-       the standard output.  If the SHELL environmental  variable
-       ends in ``csh'', the commands are for csh, otherwise, they
-       are for sh.  Note, the csh  commands  set  and  unset  the
-       shell  variable  noglob,  leaving it unset.  The following
-       line in the .login or .profile files will  initialize  the
-       environment correctly:
-
-           eval `tset -s options ... `
-
-
-
-
-

TERMINAL TYPE MAPPING

-       When the terminal is not hardwired into the system (or the
-       current system information is incorrect) the terminal type
-       derived  from the /etc/ttys file or the TERM environmental
-       variable is often something generic like network,  dialup,
-       or  unknown.   When tset is used in a startup script it is
-       often desirable to provide information about the  type  of
-       terminal used on such ports.
-
-       The  purpose  of  the -m option is to map from some set of
-       conditions to a terminal type, that is, to tell tset  ``If
-       I'm  on this port at a particular speed, guess that I'm on
-       that kind of terminal''.
-
-       The argument to the -m option consists of an optional port
-       type, an optional operator, an optional baud rate specifi-
-       cation, an optional colon (``:'') character and a terminal
-       type.   The port type is a string (delimited by either the
-       operator or the colon character).  The operator may be any
-       combination of ``>'', ``<'', ``@'', and ``!''; ``>'' means
-       greater than, ``<'' means less than, ``@'' means equal  to
-       and ``!'' inverts the sense of the test.  The baud rate is
-       specified as a number and is compared with  the  speed  of
-       the  standard  error  output  (which should be the control
-       terminal).  The terminal type is a string.
-
-       If the terminal type is not specified on the command line,
-       the  -m mappings are applied to the terminal type.  If the
-       port type and baud rate match the  mapping,  the  terminal
-       type  specified  in the mapping replaces the current type.
-       If more than one mapping is specified, the first  applica-
-       ble mapping is used.
-
-       For    example,    consider    the    following   mapping:
-       dialup>9600:vt100.  The port type is dialup , the operator
-       is  >, the baud rate specification is 9600, and the termi-
-       nal type is vt100.  The result of this mapping is to spec-
-       ify that if the terminal type is dialup, and the baud rate
-       is greater than 9600 baud, a terminal type of  vt100  will
-       be used.
-
-       If no baud rate is specified, the terminal type will match
-       any baud rate.  If no port type is specified, the terminal
-       type   will   match   any  port  type.   For  example,  -m
-       dialup:vt100  -m  :?xterm  will  cause  any  dialup  port,
-       regardless of baud rate, to match the terminal type vt100,
-       and any non-dialup port type to match  the  terminal  type
-       ?xterm.   Note,  because of the leading question mark, the
-       user will be queried on a default port as to whether  they
-       are actually using an xterm terminal.
-
-       No  whitespace  characters  are permitted in the -m option
-       argument.  Also, to avoid problems  with  meta-characters,
-       it  is  suggested  that  the  entire -m option argument be
-       placed within single quote characters, and that csh  users
-       insert  a  backslash character (``\'') before any exclama-
-       tion marks (``!'').
-
-
-
-

HISTORY

-       The tset command appeared in BSD 3.0.  The ncurses  imple-
-       mentation  was lightly adapted from the 4.4BSD sources for
-       a terminfo environment by Eric S. Raymond <esr@snark.thyr-
-       sus.com>.
-
-
-
-

COMPATIBILITY

-       The  tset  utility has been provided for backward-compati-
-       bility with BSD environments (under  most  modern  UNIXes,
-       /etc/inittab  and  getty(1) can set TERM appropriately for
-       each dial-up line; this  obviates  what  was  tset's  most
-       important  use).   This implementation behaves like 4.4BSD
-       tset, with a few exceptions specified here.
-
-       The -S option of BSD tset no longer works;  it  prints  an
-       error message to stderr and dies.  The -s option only sets
-       TERM, not TERMCAP.  Both these  changes  are  because  the
-       TERMCAP  variable  is  no longer supported under terminfo-
-       based ncurses, which makes tset -S useless (we made it die
-       noisily rather than silently induce lossage).
-
-       There  was  an  undocumented  4.4BSD feature that invoking
-       tset via a link named `TSET` (or via any other name begin-
-       ning  with  an  upper-case letter) set the terminal to use
-       upper-case only.  This feature has been omitted.
-
-       The -A, -E, -h, -u and -v options were  deleted  from  the
-       tset  utility  in 4.4BSD.  None of them were documented in
-       4.3BSD and all are of limited utility at  best.   The  -a,
-       -d, and -p options are similarly not documented or useful,
-       but were retained as they appear to be in widespread  use.
-       It  is  strongly recommended that any usage of these three
-       options be changed to use the -m option instead.   The  -n
-       option  remains, but has no effect.  The -adnp options are
-       therefore omitted from the usage summary above.
-
-       It is still permissible to specify  the  -e,  -i,  and  -k
-       options  without arguments, although it is strongly recom-
-       mended that such usage be fixed to explicitly specify  the
-       character.
-
-       As  of  4.4BSD,  executing tset as reset no longer implies
-       the -Q option.  Also, the interaction between the - option
-       and the terminal argument in some historic implementations
-       of tset has been removed.
-
-
-
-

ENVIRONMENT

-       The tset command uses the SHELL and TERM environment vari-
-       ables.
-
-
-
-

FILES

-       /etc/ttys
-            system  port  name  to terminal type mapping database
-            (BSD versions only).
-
-       /usr/share/terminfo
-            terminal capability database
-
-
-
-

SEE ALSO

-       csh(1), sh(1), stty(1), setupterm(3), tty(4),  termcap(5),
-       ttys(5), environ(7)
-
-
-
-
-                                                                tset(1)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/man/wresize.3x.html b/src/libs/ncurses/doc/html/man/wresize.3x.html deleted file mode 100644 index 9367a6df3b..0000000000 --- a/src/libs/ncurses/doc/html/man/wresize.3x.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - -wresize 3x - - - - -

wresize 3x

-
-
-
-wresize(3x)                                                 wresize(3x)
-
-
-
-
-
-

NAME

-       wresize - resize a curses window
-
-
-
-

SYNOPSIS

-       #include <curses.h>
-
-       int wresize(WINDOW *win, int lines, int columns);
-
-
-
-

DESCRIPTION

-       The  wresize  function  reallocates storage for an ncurses
-       window to adjust its dimensions to the  specified  values.
-       If either dimension is larger than the current values, the
-       window's data is filled with blanks that have the  current
-       background  rendition  (as  set  by wbkgndset) merged into
-       them.
-
-
-
-

RETURN VALUE

-       The function returns the integer ERR upon failure  and  OK
-       on success.  It will fail if either of the dimensions less
-       than or equal  to  zero,  or  if  an  error  occurs  while
-       (re)allocating memory for the window.
-
-
-
-

NOTES

-       The only restriction placed on the dimensions is that they
-       be greater than zero.  The dimensions are not compared  to
-       curses   screen   dimensions  to  simplify  the  logic  of
-       resizeterm.  The caller  must  ensure  that  the  window's
-       dimensions fit within the actual screen dimensions.
-
-
-
-

SEE ALSO

-       resizeterm(3x).
-
-
-
-

AUTHOR

-       Thomas Dickey (from an equivalent function written in 1988
-       for BSD curses).
-
-
-
-                                                            wresize(3x)
-
-
-
-Man(1) output converted with -man2html -
- - diff --git a/src/libs/ncurses/doc/html/ncurses-intro.html b/src/libs/ncurses/doc/html/ncurses-intro.html deleted file mode 100644 index 1f09a7c2a2..0000000000 --- a/src/libs/ncurses/doc/html/ncurses-intro.html +++ /dev/null @@ -1,2687 +0,0 @@ - - - - -Writing Programs with NCURSES - - - - - -

Writing Programs with NCURSES

- -
-by Eric S. Raymond and Zeyd M. Ben-Halim
-updates since release 1.9.9e by Thomas Dickey -
- -

Contents

- - -
-

Introduction

- -This document is an introduction to programming with curses. It is -not an exhaustive reference for the curses Application Programming Interface -(API); that role is filled by the curses manual pages. Rather, it -is intended to help C programmers ease into using the package.

- -This document is aimed at C applications programmers not yet specifically -familiar with ncurses. If you are already an experienced curses -programmer, you should nevertheless read the sections on -Mouse Interfacing, Debugging, -Compatibility with Older Versions, -and Hints, Tips, and Tricks. These will bring you up -to speed on the special features and quirks of the ncurses -implementation. If you are not so experienced, keep reading.

- -The curses package is a subroutine library for -terminal-independent screen-painting and input-event handling which -presents a high level screen model to the programmer, hiding differences -between terminal types and doing automatic optimization of output to change -one screen full of text into another. Curses uses terminfo, which -is a database format that can describe the capabilities of thousands of -different terminals.

- -The curses API may seem something of an archaism on UNIX desktops -increasingly dominated by X, Motif, and Tcl/Tk. Nevertheless, UNIX still -supports tty lines and X supports xterm(1); the curses -API has the advantage of (a) back-portability to character-cell terminals, -and (b) simplicity. For an application that does not require bit-mapped -graphics and multiple fonts, an interface implementation using curses -will typically be a great deal simpler and less expensive than one using an -X toolkit. - -

A Brief History of Curses

- -Historically, the first ancestor of curses was the routines written to -provide screen-handling for the game rogue; these used the -already-existing termcap database facility for describing terminal -capabilities. These routines were abstracted into a documented library and -first released with the early BSD UNIX versions.

- -System III UNIX from Bell Labs featured a rewritten and much-improved -curses library. It introduced the terminfo format. Terminfo is based -on Berkeley's termcap database, but contains a number of improvements and -extensions. Parameterized capabilities strings were introduced, making it -possible to describe multiple video attributes, and colors and to handle far -more unusual terminals than possible with termcap. In the later AT&T -System V releases, curses evolved to use more facilities and offer -more capabilities, going far beyond BSD curses in power and flexibility. - -

Scope of This Document

- -This document describes ncurses, a free implementation of -the System V curses API with some clearly marked extensions. -It includes the following System V curses features: -
    -
  • Support for multiple screen highlights (BSD curses could only -handle one `standout' highlight, usually reverse-video). -
  • Support for line- and box-drawing using forms characters. -
  • Recognition of function keys on input. -
  • Color support. -
  • Support for pads (windows of larger than screen size on which the -screen or a subwindow defines a viewport). -
- -Also, this package makes use of the insert and delete line and character -features of terminals so equipped, and determines how to optimally use these -features with no help from the programmer. It allows arbitrary combinations of -video attributes to be displayed, even on terminals that leave ``magic -cookies'' on the screen to mark changes in attributes.

- -The ncurses package can also capture and use event reports from a -mouse in some environments (notably, xterm under the X window system). This -document includes tips for using the mouse.

- -The ncurses package was originated by Pavel Curtis. The original -maintainer of this package is -Zeyd Ben-Halim -<zmbenhal@netcom.com>. -Eric S. Raymond -<esr@snark.thyrsus.com> -wrote many of the new features in versions after 1.8.1 -and wrote most of this introduction. -Jürgen Pfeifer -wrote all of the menu and forms code as well as the -Ada95 binding. -Ongoing work is being done by -Thomas Dickey (maintainer). -Contact the current maintainers at -bug-ncurses@gnu.org. -

- -This document also describes the panels extension library, -similarly modeled on the SVr4 panels facility. This library allows you to -associate backing store with each of a stack or deck of overlapping windows, -and provides operations for moving windows around in the stack that change -their visibility in the natural way (handling window overlaps).

- -Finally, this document describes in detail the menus and forms extension libraries, also cloned from System V, -which support easy construction and sequences of menus and fill-in -forms. - - -

Terminology

- -In this document, the following terminology is used with reasonable -consistency: - -
-
window -
-A data structure describing a sub-rectangle of the screen (possibly the -entire screen). You can write to a window as though it were a miniature -screen, scrolling independently of other windows on the physical screen. -
screens -
-A subset of windows which are as large as the terminal screen, i.e., they start -at the upper left hand corner and encompass the lower right hand corner. One -of these, stdscr, is automatically provided for the programmer. -
terminal screen -
-The package's idea of what the terminal display currently looks like, i.e., -what the user sees now. This is a special screen. -
- -

The Curses Library

- -

An Overview of Curses

- -

Compiling Programs using Curses

- -In order to use the library, it is necessary to have certain types and -variables defined. Therefore, the programmer must have a line: - -
-	  #include <curses.h>
-
- -at the top of the program source. The screen package uses the Standard I/O -library, so <curses.h> includes -<stdio.h>. <curses.h> also includes -<termios.h>, <termio.h>, or -<sgtty.h> depending on your system. It is redundant (but -harmless) for the programmer to do these includes, too. In linking with -curses you need to have -lncurses in your LDFLAGS or on the -command line. There is no need for any other libraries. - -

Updating the Screen

- -In order to update the screen optimally, it is necessary for the routines to -know what the screen currently looks like and what the programmer wants it to -look like next. For this purpose, a data type (structure) named WINDOW is -defined which describes a window image to the routines, including its starting -position on the screen (the (y, x) coordinates of the upper left hand corner) -and its size. One of these (called curscr, for current screen) is a -screen image of what the terminal currently looks like. Another screen (called -stdscr, for standard screen) is provided by default to make changes -on.

- -A window is a purely internal representation. It is used to build and store a -potential image of a portion of the terminal. It doesn't bear any necessary -relation to what is really on the terminal screen; it's more like a -scratchpad or write buffer.

- -To make the section of physical screen corresponding to a window reflect the -contents of the window structure, the routine refresh() (or -wrefresh() if the window is not stdscr) is called.

- -A given physical screen section may be within the scope of any number of -overlapping windows. Also, changes can be made to windows in any order, -without regard to motion efficiency. Then, at will, the programmer can -effectively say ``make it look like this,'' and let the package implementation -determine the most efficient way to repaint the screen. - -

Standard Windows and Function Naming Conventions

- -As hinted above, the routines can use several windows, but two are -automatically given: curscr, which knows what the terminal looks like, -and stdscr, which is what the programmer wants the terminal to look -like next. The user should never actually access curscr directly. -Changes should be made to through the API, and then the routine -refresh() (or wrefresh()) called.

- -Many functions are defined to use stdscr as a default screen. For -example, to add a character to stdscr, one calls addch() with -the desired character as argument. To write to a different window. use the -routine waddch() (for `w'indow-specific addch()) is provided. This -convention of prepending function names with a `w' when they are to be -applied to specific windows is consistent. The only routines which do not -follow it are those for which a window must always be specified.

- -In order to move the current (y, x) coordinates from one point to another, the -routines move() and wmove() are provided. However, it is -often desirable to first move and then perform some I/O operation. In order to -avoid clumsiness, most I/O routines can be preceded by the prefix 'mv' and -the desired (y, x) coordinates prepended to the arguments to the function. For -example, the calls - -

-	  move(y, x);
-	  addch(ch);
-
- -can be replaced by - -
-	  mvaddch(y, x, ch);
-
- -and - -
-	  wmove(win, y, x);
-	  waddch(win, ch);
-
- -can be replaced by - -
-	  mvwaddch(win, y, x, ch);
-
- -Note that the window description pointer (win) comes before the added (y, x) -coordinates. If a function requires a window pointer, it is always the first -parameter passed. - -

Variables

- -The curses library sets some variables describing the terminal -capabilities. - -
-      type   name      description
-      ------------------------------------------------------------------
-      int    LINES     number of lines on the terminal
-      int    COLS      number of columns on the terminal
-
- -The curses.h also introduces some #define constants and types -of general usefulness: - -
-
bool -
boolean type, actually a `char' (e.g., bool doneit;) -
TRUE -
boolean `true' flag (1). -
FALSE -
boolean `false' flag (0). -
ERR -
error flag returned by routines on a failure (-1). -
OK -
error flag returned by routines when things go right. -
- -

Using the Library

- -Now we describe how to actually use the screen package. In it, we assume all -updating, reading, etc. is applied to stdscr. These instructions will -work on any window, providing you change the function names and parameters as -mentioned above.

- -Here is a sample program to motivate the discussion: - -

-#include <curses.h>
-#include <signal.h>
-
-static void finish(int sig);
-
-int
-main(int argc, char *argv[])
-{
-    int num = 0;
-
-    /* initialize your non-curses data structures here */
-
-    (void) signal(SIGINT, finish);      /* arrange interrupts to terminate */
-
-    (void) initscr();      /* initialize the curses library */
-    keypad(stdscr, TRUE);  /* enable keyboard mapping */
-    (void) nonl();         /* tell curses not to do NL->CR/NL on output */
-    (void) cbreak();       /* take input chars one at a time, no wait for \n */
-    (void) echo();         /* echo input - in color */
-
-    if (has_colors())
-    {
-        start_color();
-
-        /*
-         * Simple color assignment, often all we need.  Color pair 0 cannot
-	 * be redefined.  This example uses the same value for the color
-	 * pair as for the foreground color, though of course that is not
-	 * necessary:
-         */
-        init_pair(1, COLOR_RED,     COLOR_BLACK);
-        init_pair(2, COLOR_GREEN,   COLOR_BLACK);
-        init_pair(3, COLOR_YELLOW,  COLOR_BLACK);
-        init_pair(4, COLOR_BLUE,    COLOR_BLACK);
-        init_pair(5, COLOR_CYAN,    COLOR_BLACK);
-        init_pair(6, COLOR_MAGENTA, COLOR_BLACK);
-        init_pair(7, COLOR_WHITE,   COLOR_BLACK);
-    }
-
-    for (;;)
-    {
-        int c = getch();     /* refresh, accept single keystroke of input */
-	attrset(COLOR_PAIR(num % 8));
-	num++;
-
-        /* process the command keystroke */
-    }
-
-    finish(0);               /* we're done */
-}
-
-static void finish(int sig)
-{
-    endwin();
-
-    /* do your non-curses wrapup here */
-
-    exit(0);
-}
-
- -

Starting up

- -In order to use the screen package, the routines must know about terminal -characteristics, and the space for curscr and stdscr must be -allocated. These function initscr() does both these things. Since it -must allocate space for the windows, it can overflow memory when attempting to -do so. On the rare occasions this happens, initscr() will terminate -the program with an error message. initscr() must always be called -before any of the routines which affect windows are used. If it is not, the -program will core dump as soon as either curscr or stdscr are -referenced. However, it is usually best to wait to call it until after you are -sure you will need it, like after checking for startup errors. Terminal status -changing routines like nl() and cbreak() should be called -after initscr().

- -Once the screen windows have been allocated, you can set them up for -your program. If you want to, say, allow a screen to scroll, use -scrollok(). If you want the cursor to be left in place after -the last change, use leaveok(). If this isn't done, -refresh() will move the cursor to the window's current (y, x) -coordinates after updating it.

- -You can create new windows of your own using the functions newwin(), -derwin(), and subwin(). The routine delwin() will -allow you to get rid of old windows. All the options described above can be -applied to any window. - -

Output

- -Now that we have set things up, we will want to actually update the terminal. -The basic functions used to change what will go on a window are -addch() and move(). addch() adds a character at the -current (y, x) coordinates. move() changes the current (y, x) -coordinates to whatever you want them to be. It returns ERR if you -try to move off the window. As mentioned above, you can combine the two into -mvaddch() to do both things at once.

- -The other output functions, such as addstr() and printw(), -all call addch() to add characters to the window.

- -After you have put on the window what you want there, when you want the portion -of the terminal covered by the window to be made to look like it, you must call -refresh(). In order to optimize finding changes, refresh() -assumes that any part of the window not changed since the last -refresh() of that window has not been changed on the terminal, i.e., -that you have not refreshed a portion of the terminal with an overlapping -window. If this is not the case, the routine touchwin() is provided -to make it look like the entire window has been changed, thus making -refresh() check the whole subsection of the terminal for changes.

- -If you call wrefresh() with curscr as its argument, it will -make the screen look like curscr thinks it looks like. This is useful -for implementing a command which would redraw the screen in case it get messed -up. - -

Input

- -The complementary function to addch() is getch() which, if -echo is set, will call addch() to echo the character. Since the -screen package needs to know what is on the terminal at all times, if -characters are to be echoed, the tty must be in raw or cbreak mode. Since -initially the terminal has echoing enabled and is in ordinary ``cooked'' mode, -one or the other has to changed before calling getch(); otherwise, -the program's output will be unpredictable.

- -When you need to accept line-oriented input in a window, the functions -wgetstr() and friends are available. There is even a wscanw() -function that can do scanf()(3)-style multi-field parsing on window -input. These pseudo-line-oriented functions turn on echoing while they -execute.

- -The example code above uses the call keypad(stdscr, TRUE) to enable -support for function-key mapping. With this feature, the getch() code -watches the input stream for character sequences that correspond to arrow and -function keys. These sequences are returned as pseudo-character values. The -#define values returned are listed in the curses.h The -mapping from sequences to #define values is determined by -key_ capabilities in the terminal's terminfo entry. - -

Using Forms Characters

- -The addch() function (and some others, including box() and -border()) can accept some pseudo-character arguments which are specially -defined by ncurses. These are #define values set up in -the curses.h header; see there for a complete list (look for -the prefix ACS_).

- -The most useful of the ACS defines are the forms-drawing characters. You can -use these to draw boxes and simple graphs on the screen. If the terminal -does not have such characters, curses.h will map them to a -recognizable (though ugly) set of ASCII defaults. - -

Character Attributes and Color

- -The ncurses package supports screen highlights including standout, -reverse-video, underline, and blink. It also supports color, which is treated -as another kind of highlight.

- -Highlights are encoded, internally, as high bits of the pseudo-character type -(chtype) that curses.h uses to represent the contents of a -screen cell. See the curses.h header file for a complete list of -highlight mask values (look for the prefix A_).

- -There are two ways to make highlights. One is to logical-or the value of the -highlights you want into the character argument of an addch() call, -or any other output call that takes a chtype argument.

- -The other is to set the current-highlight value. This is logical-or'ed with -any highlight you specify the first way. You do this with the functions -attron(), attroff(), and attrset(); see the manual -pages for details. - -Color is a special kind of highlight. The package actually thinks in terms -of color pairs, combinations of foreground and background colors. The sample -code above sets up eight color pairs, all of the guaranteed-available colors -on black. Note that each color pair is, in effect, given the name of its -foreground color. Any other range of eight non-conflicting values could -have been used as the first arguments of the init_pair() values.

- -Once you've done an init_pair() that creates color-pair N, you can -use COLOR_PAIR(N) as a highlight that invokes that particular -color combination. Note that COLOR_PAIR(N), for constant N, -is itself a compile-time constant and can be used in initializers. - -

Mouse Interfacing

- -The ncurses library also provides a mouse interface. - -
-NOTE: this facility is specific to ncurses, it is not part of either -the XSI Curses standard, nor of System V Release 4, nor BSD curses. -System V Release 4 curses contains code with similar interface definitions, -however it is not documented. Other than by disassembling the library, we -have no way to determine exactly how that mouse code works. -Thus, we recommend that you wrap mouse-related code in an #ifdef using the -feature macro NCURSES_MOUSE_VERSION so it will not be compiled and linked -on non-ncurses systems. -
- -Presently, mouse event reporting works in the following environments: -
    -
  • xterm and similar programs such as rxvt. -
  • Linux console, when configured with gpm(1), Alessandro -Rubini's mouse server. -
  • FreeBSD sysmouse (console) -
  • OS/2 EMX -
-

-The mouse interface is very simple. To activate it, you use the function -mousemask(), passing it as first argument a bit-mask that specifies -what kinds of events you want your program to be able to see. It will -return the bit-mask of events that actually become visible, which may differ -from the argument if the mouse device is not capable of reporting some of -the event types you specify.

- -Once the mouse is active, your application's command loop should watch -for a return value of KEY_MOUSE from wgetch(). When -you see this, a mouse event report has been queued. To pick it off -the queue, use the function getmouse() (you must do this before -the next wgetch(), otherwise another mouse event might come -in and make the first one inaccessible).

- -Each call to getmouse() fills a structure (the address of which you'll -pass it) with mouse event data. The event data includes zero-origin, -screen-relative character-cell coordinates of the mouse pointer. It also -includes an event mask. Bits in this mask will be set, corresponding -to the event type being reported.

- -The mouse structure contains two additional fields which may be -significant in the future as ncurses interfaces to new kinds of -pointing device. In addition to x and y coordinates, there is a slot -for a z coordinate; this might be useful with touch-screens that can -return a pressure or duration parameter. There is also a device ID -field, which could be used to distinguish between multiple pointing -devices.

- -The class of visible events may be changed at any time via mousemask(). -Events that can be reported include presses, releases, single-, double- and -triple-clicks (you can set the maximum button-down time for clicks). If -you don't make clicks visible, they will be reported as press-release -pairs. In some environments, the event mask may include bits reporting -the state of shift, alt, and ctrl keys on the keyboard during the event.

- -A function to check whether a mouse event fell within a given window is -also supplied. You can use this to see whether a given window should -consider a mouse event relevant to it.

- -Because mouse event reporting will not be available in all -environments, it would be unwise to build ncurses -applications that require the use of a mouse. Rather, you should -use the mouse as a shortcut for point-and-shoot commands your application -would normally accept from the keyboard. Two of the test games in the -ncurses distribution (bs and knight) contain -code that illustrates how this can be done.

- -See the manual page curs_mouse(3X) for full details of the -mouse-interface functions. - -

Finishing Up

- -In order to clean up after the ncurses routines, the routine -endwin() is provided. It restores tty modes to what they were when -initscr() was first called, and moves the cursor down to the -lower-left corner. Thus, anytime after the call to initscr, endwin() -should be called before exiting. - -

Function Descriptions

- -We describe the detailed behavior of some important curses functions here, as a -supplement to the manual page descriptions. - -

Initialization and Wrapup

- -
-
initscr() -
The first function called should almost always be initscr(). -This will determine the terminal type and -initialize curses data structures. initscr() also arranges that -the first call to refresh() will clear the screen. If an error -occurs a message is written to standard error and the program -exits. Otherwise it returns a pointer to stdscr. A few functions may be -called before initscr (slk_init(), filter(), -ripoffline(), use_env(), and, if you are using multiple -terminals, newterm().) -
endwin() -
Your program should always call endwin() before exiting or -shelling out of the program. This function will restore tty modes, -move the cursor to the lower left corner of the screen, reset the -terminal into the proper non-visual mode. Calling refresh() -or doupdate() after a temporary escape from the program will -restore the ncurses screen from before the escape. -
newterm(type, ofp, ifp) -
A program which outputs to more than one terminal should use -newterm() instead of initscr(). newterm() should -be called once for each terminal. It returns a variable of type -SCREEN * which should be saved as a reference to that -terminal. -(NOTE: a SCREEN variable is not a screen in the sense we -are describing in this introduction, but a collection of -parameters used to assist in optimizing the display.) -The arguments are the type of the terminal (a string) and -FILE pointers for the output and input of the terminal. If -type is NULL then the environment variable $TERM is used. -endwin() should called once at wrapup time for each terminal -opened using this function. -
set_term(new) -
This function is used to switch to a different terminal previously -opened by newterm(). The screen reference for the new terminal -is passed as the parameter. The previous terminal is returned by the -function. All other calls affect only the current terminal. -
delscreen(sp) -
The inverse of newterm(); deallocates the data structures -associated with a given SCREEN reference. -
- -

Causing Output to the Terminal

- -
-
refresh() and wrefresh(win) -
These functions must be called to actually get any output on -the terminal, as other routines merely manipulate data -structures. wrefresh() copies the named window to the physical -terminal screen, taking into account what is already -there in order to do optimizations. refresh() does a -refresh of stdscr. Unless leaveok() has been -enabled, the physical cursor of the terminal is left at the -location of the window's cursor. -
doupdate() and wnoutrefresh(win) -
These two functions allow multiple updates with more efficiency -than wrefresh. To use them, it is important to understand how curses -works. In addition to all the window structures, curses keeps two -data structures representing the terminal screen: a physical screen, -describing what is actually on the screen, and a virtual screen, -describing what the programmer wants to have on the screen. wrefresh -works by first copying the named window to the virtual screen -(wnoutrefresh()), and then calling the routine to update the -screen (doupdate()). If the programmer wishes to output -several windows at once, a series of calls to wrefresh will result -in alternating calls to wnoutrefresh() and doupdate(), -causing several bursts of output to the screen. By calling -wnoutrefresh() for each window, it is then possible to call -doupdate() once, resulting in only one burst of output, with -fewer total characters transmitted (this also avoids a visually annoying -flicker at each update). -
- -

Low-Level Capability Access

- -
-
setupterm(term, filenum, errret) -
This routine is called to initialize a terminal's description, without setting -up the curses screen structures or changing the tty-driver mode bits. -term is the character string representing the name of the terminal -being used. filenum is the UNIX file descriptor of the terminal to -be used for output. errret is a pointer to an integer, in which a -success or failure indication is returned. The values returned can be 1 (all -is well), 0 (no such terminal), or -1 (some problem locating the terminfo -database).

- -The value of term can be given as NULL, which will cause the value of -TERM in the environment to be used. The errret pointer can -also be given as NULL, meaning no error code is wanted. If errret is -defaulted, and something goes wrong, setupterm() will print an -appropriate error message and exit, rather than returning. Thus, a simple -program can call setupterm(0, 1, 0) and not worry about initialization -errors.

- -After the call to setupterm(), the global variable cur_term is -set to point to the current structure of terminal capabilities. By calling -setupterm() for each terminal, and saving and restoring -cur_term, it is possible for a program to use two or more terminals at -once. Setupterm() also stores the names section of the terminal -description in the global character array ttytype[]. Subsequent calls -to setupterm() will overwrite this array, so you'll have to save it -yourself if need be. -

- -

Debugging

- - -
-NOTE: These functions are not part of the standard curses API! -
- -
-
trace() -
-This function can be used to explicitly set a trace level. If the -trace level is nonzero, execution of your program will generate a file -called `trace' in the current working directory containing a report on -the library's actions. Higher trace levels enable more detailed (and -verbose) reporting -- see comments attached to TRACE_ defines -in the curses.h file for details. (It is also possible to set -a trace level by assigning a trace level value to the environment variable -NCURSES_TRACE). -
_tracef() -
-This function can be used to output your own debugging information. It is only -available only if you link with -lncurses_g. It can be used the same way as -printf(), only it outputs a newline after the end of arguments. -The output goes to a file called trace in the current directory. -
- -Trace logs can be difficult to interpret due to the sheer volume of -data dumped in them. There is a script called tracemunch -included with the ncurses distribution that can alleviate -this problem somewhat; it compacts long sequences of similar operations into -more succinct single-line pseudo-operations. These pseudo-ops can be -distinguished by the fact that they are named in capital letters. - -

Hints, Tips, and Tricks

- -The ncurses manual pages are a complete reference for this library. -In the remainder of this document, we discuss various useful methods that -may not be obvious from the manual page descriptions. - -

Some Notes of Caution

- -If you find yourself thinking you need to use noraw() or -nocbreak(), think again and move carefully. It's probably -better design to use getstr() or one of its relatives to -simulate cooked mode. The noraw() and nocbreak() -functions try to restore cooked mode, but they may end up clobbering -some control bits set before you started your application. Also, they -have always been poorly documented, and are likely to hurt your -application's usability with other curses libraries.

- -Bear in mind that refresh() is a synonym for wrefresh(stdscr). -Don't try to mix use of stdscr with use of windows declared -by newwin(); a refresh() call will blow them off the -screen. The right way to handle this is to use subwin(), or -not touch stdscr at all and tile your screen with declared -windows which you then wnoutrefresh() somewhere in your program -event loop, with a single doupdate() call to trigger actual -repainting.

- -You are much less likely to run into problems if you design your screen -layouts to use tiled rather than overlapping windows. Historically, -curses support for overlapping windows has been weak, fragile, and poorly -documented. The ncurses library is not yet an exception to this -rule.

- -There is a panels library included in the ncurses -distribution that does a pretty good job of strengthening the -overlapping-windows facilities.

- -Try to avoid using the global variables LINES and COLS. Use -getmaxyx() on the stdscr context instead. Reason: -your code may be ported to run in an environment with window resizes, -in which case several screens could be open with different sizes. - -

Temporarily Leaving NCURSES Mode

- -Sometimes you will want to write a program that spends most of its time in -screen mode, but occasionally returns to ordinary `cooked' mode. A common -reason for this is to support shell-out. This behavior is simple to arrange -in ncurses.

- -To leave ncurses mode, call endwin() as you would if you -were intending to terminate the program. This will take the screen back to -cooked mode; you can do your shell-out. When you want to return to -ncurses mode, simply call refresh() or doupdate(). -This will repaint the screen.

- -There is a boolean function, isendwin(), which code can use to -test whether ncurses screen mode is active. It returns TRUE -in the interval between an endwin() call and the following -refresh(), FALSE otherwise.

- -Here is some sample code for shellout: - -

-    addstr("Shelling out...");
-    def_prog_mode();           /* save current tty modes */
-    endwin();                  /* restore original tty modes */
-    system("sh");              /* run shell */
-    addstr("returned.\n");     /* prepare return message */
-    refresh();                 /* restore save modes, repaint screen */
-
- -

Using NCURSES under XTERM

- -A resize operation in X sends SIGWINCH to the application running under xterm. -The ncurses library provides an experimental signal -handler, but in general does not catch this signal, because it cannot -know how you want the screen re-painted. You will usually have to write the -SIGWINCH handler yourself. Ncurses can give you some help.

- -The easiest way to code your SIGWINCH handler is to have it do an -endwin, followed by an refresh and a screen repaint you code -yourself. The refresh will pick up the new screen size from the -xterm's environment.

- -That is the standard way, of course (it even works with some vendor's curses -implementations). -Its drawback is that it clears the screen to reinitialize the display, and does -not resize subwindows which must be shrunk. -Ncurses provides an extension which works better, the -resizeterm function. That function ensures that all windows -are limited to the new screen dimensions, and pads stdscr -with blanks if the screen is larger.

- -Finally, ncurses can be configured to provide its own SIGWINCH handler, -based on resizeterm. - -

Handling Multiple Terminal Screens

- -The initscr() function actually calls a function named -newterm() to do most of its work. If you are writing a program that -opens multiple terminals, use newterm() directly.

- -For each call, you will have to specify a terminal type and a pair of file -pointers; each call will return a screen reference, and stdscr will be -set to the last one allocated. You will switch between screens with the -set_term call. Note that you will also have to call -def_shell_mode and def_prog_mode on each tty yourself. - -

Testing for Terminal Capabilities

- -Sometimes you may want to write programs that test for the presence of various -capabilities before deciding whether to go into ncurses mode. An easy -way to do this is to call setupterm(), then use the functions -tigetflag(), tigetnum(), and tigetstr() to do your -testing.

- -A particularly useful case of this often comes up when you want to -test whether a given terminal type should be treated as `smart' -(cursor-addressable) or `stupid'. The right way to test this is to see -if the return value of tigetstr("cup") is non-NULL. Alternatively, -you can include the term.h file and test the value of the -macro cursor_address. - -

Tuning for Speed

- -Use the addchstr() family of functions for fast -screen-painting of text when you know the text doesn't contain any -control characters. Try to make attribute changes infrequent on your -screens. Don't use the immedok() option! - -

Special Features of NCURSES

- -The wresize() function allows you to resize a window in place. -The associated resizeterm() function simplifies the construction -of SIGWINCH handlers, for resizing all windows.

- -The define_key() function allows you -to define at runtime function-key control sequences which are not in the -terminal description. -The keyok() function allows you to temporarily -enable or disable interpretation of any function-key control sequence.

- -The use_default_colors() function allows you to construct -applications which can use the terminal's default foreground and -background colors as an additional "default" color. -Several terminal emulators support this feature, which is based on ISO 6429.

- -Ncurses supports up 16 colors, unlike SVr4 curses which defines only 8. -While most terminals which provide color allow only 8 colors, about -a quarter (including XFree86 xterm) support 16 colors. - -

Compatibility with Older Versions

- -Despite our best efforts, there are some differences between ncurses -and the (undocumented!) behavior of older curses implementations. These arise -from ambiguities or omissions in the documentation of the API. - -

Refresh of Overlapping Windows

- -If you define two windows A and B that overlap, and then alternately scribble -on and refresh them, the changes made to the overlapping region under historic -curses versions were often not documented precisely.

- -To understand why this is a problem, remember that screen updates are -calculated between two representations of the entire display. The -documentation says that when you refresh a window, it is first copied to to the -virtual screen, and then changes are calculated to update the physical screen -(and applied to the terminal). But "copied to" is not very specific, and -subtle differences in how copying works can produce different behaviors in the -case where two overlapping windows are each being refreshed at unpredictable -intervals.

- -What happens to the overlapping region depends on what wnoutrefresh() -does with its argument -- what portions of the argument window it copies to the -virtual screen. Some implementations do "change copy", copying down only -locations in the window that have changed (or been marked changed with -wtouchln() and friends). Some implementations do "entire copy", -copying all window locations to the virtual screen whether or not -they have changed.

- -The ncurses library itself has not always been consistent on this -score. Due to a bug, versions 1.8.7 to 1.9.8a did entire copy. Versions -1.8.6 and older, and versions 1.9.9 and newer, do change copy.

- -For most commercial curses implementations, it is not documented and not known -for sure (at least not to the ncurses maintainers) whether they do -change copy or entire copy. We know that System V release 3 curses has logic -in it that looks like an attempt to do change copy, but the surrounding logic -and data representations are sufficiently complex, and our knowledge -sufficiently indirect, that it's hard to know whether this is reliable. - -It is not clear what the SVr4 documentation and XSI standard intend. The XSI -Curses standard barely mentions wnoutrefresh(); the SVr4 documents seem to be -describing entire-copy, but it is possible with some effort and straining to -read them the other way.

- -It might therefore be unwise to rely on either behavior in programs that might -have to be linked with other curses implementations. Instead, you can do an -explicit touchwin() before the wnoutrefresh() call to -guarantee an entire-contents copy anywhere.

- -The really clean way to handle this is to use the panels library. If, -when you want a screen update, you do update_panels(), it will -do all the necessary wnoutrefresh() calls for whatever panel -stacking order you have defined. Then you can do one doupdate() -and there will be a single burst of physical I/O that will do -all your updates. - -

Background Erase

- -If you have been using a very old versions of ncurses (1.8.7 or -older) you may be surprised by the behavior of the erase functions. In older -versions, erased areas of a window were filled with a blank modified by the -window's current attribute (as set by wattrset(), wattron(), -wattroff() and friends).

- -In newer versions, this is not so. Instead, the attribute of erased blanks -is normal unless and until it is modified by the functions bkgdset() -or wbkgdset().

- -This change in behavior conforms ncurses to System V Release 4 and -the XSI Curses standard. - -

XSI Curses Conformance

- -The ncurses library is intended to be base-level conformant with the -XSI Curses standard from X/Open. Many extended-level features (in fact, almost -all features not directly concerned with wide characters and -internationalization) are also supported.

- -One effect of XSI conformance is the change in behavior described under -"Background Erase -- Compatibility with Old Versions".

- -Also, ncurses meets the XSI requirement that every macro -entry point have a corresponding function which may be linked (and -will be prototype-checked) if the macro definition is disabled with -#undef. - -

The Panels Library

- -The ncurses library by itself provides good support for screen -displays in which the windows are tiled (non-overlapping). In the more -general case that windows may overlap, you have to use a series of -wnoutrefresh() calls followed by a doupdate(), and be -careful about the order you do the window refreshes in. It has to be -bottom-upwards, otherwise parts of windows that should be obscured will -show through.

- -When your interface design is such that windows may dive deeper into the -visibility stack or pop to the top at runtime, the resulting book-keeping -can be tedious and difficult to get right. Hence the panels library.

- -The panel library first appeared in AT&T System V. The -version documented here is the panel code distributed -with ncurses. - -

Compiling With the Panels Library

- -Your panels-using modules must import the panels library declarations with - -
-	  #include <panel.h>
-
- -and must be linked explicitly with the panels library using an --lpanel argument. Note that they must also link the -ncurses library with -lncurses. Many linkers -are two-pass and will accept either order, but it is still good practice -to put -lpanel first and -lncurses second. - -

Overview of Panels

- -A panel object is a window that is implicitly treated as part of a -deck including all other panel objects. The deck has an implicit -bottom-to-top visibility order. The panels library includes an update -function (analogous to refresh()) that displays all panels in the -deck in the proper order to resolve overlaps. The standard window, -stdscr, is considered below all panels.

- -Details on the panels functions are available in the man pages. We'll just -hit the highlights here.

- -You create a panel from a window by calling new_panel() on a -window pointer. It then becomes the top of the deck. The panel's window -is available as the value of panel_window() called with the -panel pointer as argument.

- -You can delete a panel (removing it from the deck) with del_panel. -This will not deallocate the associated window; you have to do that yourself. - -You can replace a panel's window with a different window by calling -replace_window. The new window may be of different size; -the panel code will re-compute all overlaps. This operation doesn't -change the panel's position in the deck.

- -To move a panel's window, use move_panel(). The -mvwin() function on the panel's window isn't sufficient because it -doesn't update the panels library's representation of where the windows are. -This operation leaves the panel's depth, contents, and size unchanged.

- -Two functions (top_panel(), bottom_panel()) are -provided for rearranging the deck. The first pops its argument window to the -top of the deck; the second sends it to the bottom. Either operation leaves -the panel's screen location, contents, and size unchanged.

- -The function update_panels() does all the -wnoutrefresh() calls needed to prepare for -doupdate() (which you must call yourself, afterwards).

- -Typically, you will want to call update_panels() and -doupdate() just before accepting command input, once in each cycle -of interaction with the user. If you call update_panels() after -each and every panel write, you'll generate a lot of unnecessary refresh -activity and screen flicker. - -

Panels, Input, and the Standard Screen

- -You shouldn't mix wnoutrefresh() or wrefresh() -operations with panels code; this will work only if the argument window -is either in the top panel or unobscured by any other panels.

- -The stsdcr window is a special case. It is considered below all -panels. Because changes to panels may obscure parts of stdscr, -though, you should call update_panels() before -doupdate() even when you only change stdscr.

- -Note that wgetch automatically calls wrefresh. -Therefore, before requesting input from a panel window, you need to be sure -that the panel is totally unobscured.

- -There is presently no way to display changes to one obscured panel without -repainting all panels. - -

Hiding Panels

- -It's possible to remove a panel from the deck temporarily; use -hide_panel for this. Use show_panel() to render it -visible again. The predicate function panel_hidden -tests whether or not a panel is hidden.

- -The panel_update code ignores hidden panels. You cannot do -top_panel() or bottom_panel on a hidden panel(). -Other panels operations are applicable. - -

Miscellaneous Other Facilities

- -It's possible to navigate the deck using the functions -panel_above() and panel_below. Handed a panel -pointer, they return the panel above or below that panel. Handed -NULL, they return the bottom-most or top-most panel.

- -Every panel has an associated user pointer, not used by the panel code, to -which you can attach application data. See the man page documentation -of set_panel_userptr() and panel_userptr for -details. - -

The Menu Library

- -A menu is a screen display that assists the user to choose some subset -of a given set of items. The menu library is a curses -extension that supports easy programming of menu hierarchies with a -uniform but flexible interface.

- -The menu library first appeared in AT&T System V. The -version documented here is the menu code distributed -with ncurses. - -

Compiling With the menu Library

- -Your menu-using modules must import the menu library declarations with - -
-	  #include <menu.h>
-
- -and must be linked explicitly with the menus library using an --lmenu argument. Note that they must also link the -ncurses library with -lncurses. Many linkers -are two-pass and will accept either order, but it is still good practice -to put -lmenu first and -lncurses second. - -

Overview of Menus

- -The menus created by this library consist of collections of -items including a name string part and a description string -part. To make menus, you create groups of these items and connect -them with menu frame objects.

- -The menu can then by posted, that is written to an -associated window. Actually, each menu has two associated windows; a -containing window in which the programmer can scribble titles or -borders, and a subwindow in which the menu items proper are displayed. -If this subwindow is too small to display all the items, it will be a -scrollable viewport on the collection of items.

- -A menu may also be unposted (that is, undisplayed), and finally -freed to make the storage associated with it and its items available for -re-use.

- -The general flow of control of a menu program looks like this: - -

    -
  1. Initialize curses. -
  2. Create the menu items, using new_item(). -
  3. Create the menu using new_menu(). -
  4. Post the menu using post_menu(). -
  5. Refresh the screen. -
  6. Process user requests via an input loop. -
  7. Unpost the menu using unpost_menu(). -
  8. Free the menu, using free_menu(). -
  9. Free the items using free_item(). -
  10. Terminate curses. -
- -

Selecting items

- -Menus may be multi-valued or (the default) single-valued (see the manual -page menu_opts(3x) to see how to change the default). -Both types always have a current item.

- -From a single-valued menu you can read the selected value simply by looking -at the current item. From a multi-valued menu, you get the selected set -by looping through the items applying the item_value() -predicate function. Your menu-processing code can use the function -set_item_value() to flag the items in the select set.

- -Menu items can be made unselectable using set_item_opts() -or item_opts_off() with the O_SELECTABLE -argument. This is the only option so far defined for menus, but it -is good practice to code as though other option bits might be on. - -

Menu Display

- -The menu library calculates a minimum display size for your window, based -on the following variables: - -
    -
  • The number and maximum length of the menu items -
  • Whether the O_ROWMAJOR option is enabled -
  • Whether display of descriptions is enabled -
  • Whatever menu format may have been set by the programmer -
  • The length of the menu mark string used for highlighting selected items -
- -The function set_menu_format() allows you to set the -maximum size of the viewport or menu page that will be used -to display menu items. You can retrieve any format associated with a -menu with menu_format(). The default format is rows=16, -columns=1.

- -The actual menu page may be smaller than the format size. This depends -on the item number and size and whether O_ROWMAJOR is on. This option -(on by default) causes menu items to be displayed in a `raster-scan' -pattern, so that if more than one item will fit horizontally the first -couple of items are side-by-side in the top row. The alternative is -column-major display, which tries to put the first several items in -the first column.

- -As mentioned above, a menu format not large enough to allow all items to fit -on-screen will result in a menu display that is vertically scrollable.

-You can scroll it with requests to the menu driver, which will be described -in the section on menu input handling.

- -Each menu has a mark string used to visually tag selected items; -see the menu_mark(3x) manual page for details. The mark -string length also influences the menu page size.

- -The function scale_menu() returns the minimum display size -that the menu code computes from all these factors. - -There are other menu display attributes including a select attribute, -an attribute for selectable items, an attribute for unselectable items, -and a pad character used to separate item name text from description -text. These have reasonable defaults which the library allows you to -change (see the menu_attribs(3x) manual page. - -

Menu Windows

- -Each menu has, as mentioned previously, a pair of associated windows. -Both these windows are painted when the menu is posted and erased when -the menu is unposted.

- -The outer or frame window is not otherwise touched by the menu -routines. It exists so the programmer can associate a title, a -border, or perhaps help text with the menu and have it properly -refreshed or erased at post/unpost time. The inner window or -subwindow is where the current menu page is displayed.

- -By default, both windows are stdscr. You can set them with the -functions in menu_win(3x).

- -When you call post_menu(), you write the menu to its -subwindow. When you call unpost_menu(), you erase the -subwindow, However, neither of these actually modifies the screen. To -do that, call wrefresh() or some equivalent. - -

Processing Menu Input

- -The main loop of your menu-processing code should call -menu_driver() repeatedly. The first argument of this routine -is a menu pointer; the second is a menu command code. You should write an -input-fetching routine that maps input characters to menu command codes, and -pass its output to menu_driver(). The menu command codes are -fully documented in menu_driver(3x).

- -The simplest group of command codes is REQ_NEXT_ITEM, -REQ_PREV_ITEM, REQ_FIRST_ITEM, -REQ_LAST_ITEM, REQ_UP_ITEM, -REQ_DOWN_ITEM, REQ_LEFT_ITEM, -REQ_RIGHT_ITEM. These change the currently selected -item. These requests may cause scrolling of the menu page if it only -partially displayed.

- -There are explicit requests for scrolling which also change the -current item (because the select location does not change, but the -item there does). These are REQ_SCR_DLINE, -REQ_SCR_ULINE, REQ_SCR_DPAGE, and -REQ_SCR_UPAGE.

- -The REQ_TOGGLE_ITEM selects or deselects the current item. -It is for use in multi-valued menus; if you use it with O_ONEVALUE -on, you'll get an error return (E_REQUEST_DENIED).

- -Each menu has an associated pattern buffer. The -menu_driver() logic tries to accumulate printable ASCII -characters passed in in that buffer; when it matches a prefix of an -item name, that item (or the next matching item) is selected. If -appending a character yields no new match, that character is deleted -from the pattern buffer, and menu_driver() returns -E_NO_MATCH.

- -Some requests change the pattern buffer directly: -REQ_CLEAR_PATTERN, REQ_BACK_PATTERN, -REQ_NEXT_MATCH, REQ_PREV_MATCH. The latter -two are useful when pattern buffer input matches more than one item -in a multi-valued menu.

- -Each successful scroll or item navigation request clears the pattern -buffer. It is also possible to set the pattern buffer explicitly -with set_menu_pattern().

- -Finally, menu driver requests above the constant MAX_COMMAND -are considered application-specific commands. The menu_driver() -code ignores them and returns E_UNKNOWN_COMMAND. - -

Miscellaneous Other Features

- -Various menu options can affect the processing and visual appearance -and input processing of menus. See menu_opts(3x) for -details.

- -It is possible to change the current item from application code; this -is useful if you want to write your own navigation requests. It is -also possible to explicitly set the top row of the menu display. See -mitem_current(3x). - -If your application needs to change the menu subwindow cursor for -any reason, pos_menu_cursor() will restore it to the -correct location for continuing menu driver processing.

- -It is possible to set hooks to be called at menu initialization and -wrapup time, and whenever the selected item changes. See -menu_hook(3x).

- -Each item, and each menu, has an associated user pointer on which you -can hang application data. See mitem_userptr(3x) and -menu_userptr(3x). - -

The Forms Library

- -The form library is a curses extension that supports easy -programming of on-screen forms for data entry and program control.

- -The form library first appeared in AT&T System V. The -version documented here is the form code distributed -with ncurses. - -

Compiling With the form Library

- -Your form-using modules must import the form library declarations with - -
-	  #include <form.h>
-
- -and must be linked explicitly with the forms library using an --lform argument. Note that they must also link the -ncurses library with -lncurses. Many linkers -are two-pass and will accept either order, but it is still good practice -to put -lform first and -lncurses second. - -

Overview of Forms

- -A form is a collection of fields; each field may be either a label -(explanatory text) or a data-entry location. Long forms may be -segmented into pages; each entry to a new page clears the screen.

-To make forms, you create groups of fields and connect them with form -frame objects; the form library makes this relatively simple.

- -Once defined, a form can be posted, that is written to an -associated window. Actually, each form has two associated windows; a -containing window in which the programmer can scribble titles or -borders, and a subwindow in which the form fields proper are displayed.

- -As the form user fills out the posted form, navigation and editing -keys support movement between fields, editing keys support modifying -field, and plain text adds to or changes data in a current field. The -form library allows you (the forms designer) to bind each navigation -and editing key to any keystroke accepted by curses - -Fields may have validation conditions on them, so that they check input -data for type and value. The form library supplies a rich set of -pre-defined field types, and makes it relatively easy to define new ones.

- -Once its transaction is completed (or aborted), a form may be -unposted (that is, undisplayed), and finally freed to make -the storage associated with it and its items available for re-use.

- -The general flow of control of a form program looks like this: - -

    -
  1. Initialize curses. -
  2. Create the form fields, using new_field(). -
  3. Create the form using new_form(). -
  4. Post the form using post_form(). -
  5. Refresh the screen. -
  6. Process user requests via an input loop. -
  7. Unpost the form using unpost_form(). -
  8. Free the form, using free_form(). -
  9. Free the fields using free_field(). -
  10. Terminate curses. -
- -Note that this looks much like a menu program; the form library handles -tasks which are in many ways similar, and its interface was obviously -designed to resemble that of the menu library -wherever possible.

- -In forms programs, however, the `process user requests' is somewhat more -complicated than for menus. Besides menu-like navigation operations, -the menu driver loop has to support field editing and data validation. - -

Creating and Freeing Fields and Forms

- -The basic function for creating fields is new_field(): - -
-FIELD *new_field(int height, int width,   /* new field size */
-                 int top, int left,       /* upper left corner */
-                 int offscreen,           /* number of offscreen rows */
-                 int nbuf);               /* number of working buffers */
-
- -Menu items always occupy a single row, but forms fields may have -multiple rows. So new_field() requires you to specify a -width and height (the first two arguments, which mist both be greater -than zero).

- -You must also specify the location of the field's upper left corner on -the screen (the third and fourth arguments, which must be zero or -greater). Note that these coordinates are relative to the form -subwindow, which will coincide with stdscr by default but -need not be stdscr if you've done an explicit -set_form_win() call.

- -The fifth argument allows you to specify a number of off-screen rows. If -this is zero, the entire field will always be displayed. If it is -nonzero, the form will be scrollable, with only one screen-full (initially -the top part) displayed at any given time. If you make a field dynamic -and grow it so it will no longer fit on the screen, the form will become -scrollable even if the offscreen argument was initially zero.

- -The forms library allocates one working buffer per field; the size of -each buffer is ((height + offscreen)*width + 1, one character -for each position in the field plus a NUL terminator. The sixth -argument is the number of additional data buffers to allocate for the -field; your application can use them for its own purposes. - -

-FIELD *dup_field(FIELD *field,            /* field to copy */
-                 int top, int left);      /* location of new copy */
-
- -The function dup_field() duplicates an existing field at a -new location. Size and buffering information are copied; some -attribute flags and status bits are not (see the -form_field_new(3X) for details). - -
-FIELD *link_field(FIELD *field,           /* field to copy */
-                  int top, int left);     /* location of new copy */
-
- -The function link_field() also duplicates an existing field -at a new location. The difference from dup_field() is that -it arranges for the new field's buffer to be shared with the old one.

- -Besides the obvious use in making a field editable from two different -form pages, linked fields give you a way to hack in dynamic labels. If -you declare several fields linked to an original, and then make them -inactive, changes from the original will still be propagated to the -linked fields.

- -As with duplicated fields, linked fields have attribute bits separate -from the original.

- -As you might guess, all these field-allocations return NULL if -the field allocation is not possible due to an out-of-memory error or -out-of-bounds arguments.

- -To connect fields to a form, use - -

-FORM *new_form(FIELD **fields);
-
- -This function expects to see a NULL-terminated array of field pointers. -Said fields are connected to a newly-allocated form object; its address -is returned (or else NULL if the allocation fails).

- -Note that new_field() does not copy the pointer array -into private storage; if you modify the contents of the pointer array -during forms processing, all manner of bizarre things might happen. Also -note that any given field may only be connected to one form.

- -The functions free_field() and free_form are available -to free field and form objects. It is an error to attempt to free a field -connected to a form, but not vice-versa; thus, you will generally free -your form objects first. - -

Fetching and Changing Field Attributes

- -Each form field has a number of location and size attributes -associated with it. There are other field attributes used to control -display and editing of the field. Some (for example, the O_STATIC bit) -involve sufficient complications to be covered in sections of their own -later on. We cover the functions used to get and set several basic -attributes here.

- -When a field is created, the attributes not specified by the -new_field function are copied from an invisible system -default field. In attribute-setting and -fetching functions, the -argument NULL is taken to mean this field. Changes to it persist -as defaults until your forms application terminates. - -

Fetching Size and Location Data

- -You can retrieve field sizes and locations through: - -
-int field_info(FIELD *field,              /* field from which to fetch */
-               int *height, *int width,   /* field size */
-               int *top, int *left,       /* upper left corner */
-               int *offscreen,            /* number of offscreen rows */
-               int *nbuf);                /* number of working buffers */
-
- -This function is a sort of inverse of new_field(); instead of -setting size and location attributes of a new field, it fetches them -from an existing one. - -

Changing the Field Location

- -It is possible to move a field's location on the screen: - -
-int move_field(FIELD *field,              /* field to alter */
-               int top, int left);        /* new upper-left corner */
-
- -You can, of course. query the current location through field_info(). - -

The Justification Attribute

- -One-line fields may be unjustified, justified right, justified left, -or centered. Here is how you manipulate this attribute: - -
-int set_field_just(FIELD *field,          /* field to alter */
-                   int justmode);         /* mode to set */
-
-int field_just(FIELD *field);             /* fetch mode of field */
-
- -The mode values accepted and returned by this functions are -preprocessor macros NO_JUSTIFICATION, JUSTIFY_RIGHT, -JUSTIFY_LEFT, or JUSTIFY_CENTER. - -

Field Display Attributes

- -For each field, you can set a foreground attribute for entered -characters, a background attribute for the entire field, and a pad -character for the unfilled portion of the field. You can also -control pagination of the form.

- -This group of four field attributes controls the visual appearance -of the field on the screen, without affecting in any way the data -in the field buffer. - -

-int set_field_fore(FIELD *field,          /* field to alter */
-                   chtype attr);          /* attribute to set */
-
-chtype field_fore(FIELD *field);          /* field to query */
-
-int set_field_back(FIELD *field,          /* field to alter */
-                   chtype attr);          /* attribute to set */
-
-chtype field_back(FIELD *field);          /* field to query */
-
-int set_field_pad(FIELD *field,           /* field to alter */
-                 int pad);                /* pad character to set */
-
-chtype field_pad(FIELD *field);
-
-int set_new_page(FIELD *field,            /* field to alter */
-                 int flag);               /* TRUE to force new page */
-
-chtype new_page(FIELD *field);            /* field to query */
-
- -The attributes set and returned by the first four functions are normal -curses(3x) display attribute values (A_STANDOUT, -A_BOLD, A_REVERSE etc). - -The page bit of a field controls whether it is displayed at the start of -a new form screen. - -

Field Option Bits

- -There is also a large collection of field option bits you can set to control -various aspects of forms processing. You can manipulate them with these -functions: - -
-int set_field_opts(FIELD *field,          /* field to alter */
-                   int attr);             /* attribute to set */
-
-int field_opts_on(FIELD *field,           /* field to alter */
-                  int attr);              /* attributes to turn on */
-
-int field_opts_off(FIELD *field,          /* field to alter */
-                   int attr);             /* attributes to turn off */
-
-int field_opts(FIELD *field);             /* field to query */
-
- -By default, all options are on. Here are the available option bits: -
-
O_VISIBLE -
Controls whether the field is visible on the screen. Can be used -during form processing to hide or pop up fields depending on the value -of parent fields. -
O_ACTIVE -
Controls whether the field is active during forms processing (i.e. -visited by form navigation keys). Can be used to make labels or derived -fields with buffer values alterable by the forms application, not the user. -
O_PUBLIC -
Controls whether data is displayed during field entry. If this option is -turned off on a field, the library will accept and edit data in that field, -but it will not be displayed and the visible field cursor will not move. -You can turn off the O_PUBLIC bit to define password fields. -
O_EDIT -
Controls whether the field's data can be modified. When this option is -off, all editing requests except REQ_PREV_CHOICE and -REQ_NEXT_CHOICE will fail. Such read-only fields may be useful for -help messages. -
O_WRAP -
Controls word-wrapping in multi-line fields. Normally, when any -character of a (blank-separated) word reaches the end of the current line, the -entire word is wrapped to the next line (assuming there is one). When this -option is off, the word will be split across the line break. -
O_BLANK -
Controls field blanking. When this option is on, entering a character at -the first field position erases the entire field (except for the just-entered -character). -
O_AUTOSKIP -
Controls automatic skip to next field when this one fills. Normally, -when the forms user tries to type more data into a field than will fit, -the editing location jumps to next field. When this option is off, the -user's cursor will hang at the end of the field. This option is ignored -in dynamic fields that have not reached their size limit. -
O_NULLOK -
Controls whether validation is applied to -blank fields. Normally, it is not; the user can leave a field blank -without invoking the usual validation check on exit. If this option is -off on a field, exit from it will invoke a validation check. -
O_PASSOK -
Controls whether validation occurs on every exit, or only after -the field is modified. Normally the latter is true. Setting O_PASSOK -may be useful if your field's validation function may change during -forms processing. -
O_STATIC -
Controls whether the field is fixed to its initial dimensions. If you -turn this off, the field becomes dynamic and will -stretch to fit entered data. -
- -A field's options cannot be changed while the field is currently selected. -However, options may be changed on posted fields that are not current.

- -The option values are bit-masks and can be composed with logical-or in -the obvious way. - -

Field Status

- -Every field has a status flag, which is set to FALSE when the field is -created and TRUE when the value in field buffer 0 changes. This flag can -be queried and set directly: - -
-int set_field_status(FIELD *field,      /* field to alter */
-                   int status);         /* mode to set */
-
-int field_status(FIELD *field);         /* fetch mode of field */
-
- -Setting this flag under program control can be useful if you use the same -form repeatedly, looking for modified fields each time.

- -Calling field_status() on a field not currently selected -for input will return a correct value. Calling field_status() on a -field that is currently selected for input may not necessarily give a -correct field status value, because entered data isn't necessarily copied to -buffer zero before the exit validation check. - -To guarantee that the returned status value reflects reality, call -field_status() either (1) in the field's exit validation check -routine, (2) from the field's or form's initialization or termination -hooks, or (3) just after a REQ_VALIDATION request has been -processed by the forms driver. - -

Field User Pointer

- -Each field structure contains one character pointer slot that is not used -by the forms library. It is intended to be used by applications to store -private per-field data. You can manipulate it with: - -
-int set_field_userptr(FIELD *field,       /* field to alter */
-                   char *userptr);        /* mode to set */
-
-char *field_userptr(FIELD *field);        /* fetch mode of field */
-
- -(Properly, this user pointer field ought to have (void *) type. -The (char *) type is retained for System V compatibility.)

- -It is valid to set the user pointer of the default field (with a -set_field_userptr() call passed a NULL field pointer.) -When a new field is created, the default-field user pointer is copied -to initialize the new field's user pointer. - -

Variable-Sized Fields

- -Normally, a field is fixed at the size specified for it at creation -time. If, however, you turn off its O_STATIC bit, it becomes -dynamic and will automatically resize itself to accommodate -data as it is entered. If the field has extra buffers associated with it, -they will grow right along with the main input buffer.

- -A one-line dynamic field will have a fixed height (1) but variable -width, scrolling horizontally to display data within the field area as -originally dimensioned and located. A multi-line dynamic field will -have a fixed width, but variable height (number of rows), scrolling -vertically to display data within the field area as originally -dimensioned and located.

- -Normally, a dynamic field is allowed to grow without limit. But it is -possible to set an upper limit on the size of a dynamic field. You do -it with this function: - -

-int set_max_field(FIELD *field,     /* field to alter (may not be NULL) */
-                   int max_size);   /* upper limit on field size */
-
- -If the field is one-line, max_size is taken to be a column size -limit; if it is multi-line, it is taken to be a line size limit. To disable -any limit, use an argument of zero. The growth limit can be changed whether -or not the O_STATIC bit is on, but has no effect until it is.

- -The following properties of a field change when it becomes dynamic: - -

    -
  • If there is no growth limit, there is no final position of the field; -therefore O_AUTOSKIP and O_NL_OVERLOAD are ignored. -
  • Field justification will be ignored (though whatever justification is -set up will be retained internally and can be queried). -
  • The dup_field() and link_field() calls copy -dynamic-buffer sizes. If the O_STATIC option is set on one of a -collection of links, buffer resizing will occur only when the field is -edited through that link. -
  • The call field_info() will retrieve the original static size of -the field; use dynamic_field_info() to get the actual dynamic size. -
- -

Field Validation

- -By default, a field will accept any data that will fit in its input buffer. -However, it is possible to attach a validation type to a field. If you do -this, any attempt to leave the field while it contains data that doesn't -match the validation type will fail. Some validation types also have a -character-validity check for each time a character is entered in the field.

- -A field's validation check (if any) is not called when -set_field_buffer() modifies the input buffer, nor when that buffer -is changed through a linked field.

- -The form library provides a rich set of pre-defined validation -types, and gives you the capability to define custom ones of your own. You -can examine and change field validation attributes with the following -functions: - -

-int set_field_type(FIELD *field,          /* field to alter */
-                   FIELDTYPE *ftype,      /* type to associate */
-                   ...);                  /* additional arguments*/
-
-FIELDTYPE *field_type(FIELD *field);      /* field to query */
-
- -The validation type of a field is considered an attribute of the field. As -with other field attributes, Also, doing set_field_type() with a -NULL field default will change the system default for validation of -newly-created fields.

- -Here are the pre-defined validation types: - -

TYPE_ALPHA

- -This field type accepts alphabetic data; no blanks, no digits, no special -characters (this is checked at character-entry time). It is set up with: - -
-int set_field_type(FIELD *field,          /* field to alter */
-                   TYPE_ALPHA,            /* type to associate */
-                   int width);            /* maximum width of field */
-
- -The width argument sets a minimum width of data. Typically -you'll want to set this to the field width; if it's greater than the -field width, the validation check will always fail. A minimum width -of zero makes field completion optional. - -

TYPE_ALNUM

- -This field type accepts alphabetic data and digits; no blanks, no special -characters (this is checked at character-entry time). It is set up with: - -
-int set_field_type(FIELD *field,          /* field to alter */
-                   TYPE_ALNUM,            /* type to associate */
-                   int width);            /* maximum width of field */
-
- -The width argument sets a minimum width of data. As with -TYPE_ALPHA, typically you'll want to set this to the field width; if it's -greater than the field width, the validation check will always fail. A -minimum width of zero makes field completion optional. - -

TYPE_ENUM

- -This type allows you to restrict a field's values to be among a specified -set of string values (for example, the two-letter postal codes for U.S. -states). It is set up with: - -
-int set_field_type(FIELD *field,          /* field to alter */
-                   TYPE_ENUM,             /* type to associate */
-                   char **valuelist;      /* list of possible values */
-                   int checkcase;         /* case-sensitive? */
-                   int checkunique);      /* must specify uniquely? */
-
- -The valuelist parameter must point at a NULL-terminated list of -valid strings. The checkcase argument, if true, makes comparison -with the string case-sensitive.

- -When the user exits a TYPE_ENUM field, the validation procedure tries to -complete the data in the buffer to a valid entry. If a complete choice string -has been entered, it is of course valid. But it is also possible to enter a -prefix of a valid string and have it completed for you.

- -By default, if you enter such a prefix and it matches more than one value -in the string list, the prefix will be completed to the first matching -value. But the checkunique argument, if true, requires prefix -matches to be unique in order to be valid.

- -The REQ_NEXT_CHOICE and REQ_PREV_CHOICE input requests -can be particularly useful with these fields. - -

TYPE_INTEGER

- -This field type accepts an integer. It is set up as follows: - -
-int set_field_type(FIELD *field,          /* field to alter */
-                   TYPE_INTEGER,          /* type to associate */
-                   int padding,           /* # places to zero-pad to */
-                   int vmin, int vmax);   /* valid range */
-
- -Valid characters consist of an optional leading minus and digits. -The range check is performed on exit. If the range maximum is less -than or equal to the minimum, the range is ignored.

- -If the value passes its range check, it is padded with as many leading -zero digits as necessary to meet the padding argument.

- -A TYPE_INTEGER value buffer can conveniently be interpreted -with the C library function atoi(3). - -

TYPE_NUMERIC

- -This field type accepts a decimal number. It is set up as follows: - -
-int set_field_type(FIELD *field,              /* field to alter */
-                   TYPE_NUMERIC,              /* type to associate */
-                   int padding,               /* # places of precision */
-                   double vmin, double vmax); /* valid range */
-
- -Valid characters consist of an optional leading minus and digits. possibly -including a decimal point. If your system supports locale's, the decimal point -character used must be the one defined by your locale. The range check is -performed on exit. If the range maximum is less than or equal to the minimum, -the range is ignored.

- -If the value passes its range check, it is padded with as many trailing -zero digits as necessary to meet the padding argument.

- -A TYPE_NUMERIC value buffer can conveniently be interpreted -with the C library function atof(3). - -

TYPE_REGEXP

- -This field type accepts data matching a regular expression. It is set up -as follows: - -
-int set_field_type(FIELD *field,          /* field to alter */
-                   TYPE_REGEXP,           /* type to associate */
-                   char *regexp);         /* expression to match */
-
- -The syntax for regular expressions is that of regcomp(3). -The check for regular-expression match is performed on exit. - -

Direct Field Buffer Manipulation

- -The chief attribute of a field is its buffer contents. When a form has -been completed, your application usually needs to know the state of each -field buffer. You can find this out with: - -
-char *field_buffer(FIELD *field,          /* field to query */
-                   int bufindex);         /* number of buffer to query */
-
- -Normally, the state of the zero-numbered buffer for each field is set by -the user's editing actions on that field. It's sometimes useful to be able -to set the value of the zero-numbered (or some other) buffer from your -application: - -
-int set_field_buffer(FIELD *field,        /* field to alter */
-                   int bufindex,          /* number of buffer to alter */
-                   char *value);          /* string value to set */
-
- -If the field is not large enough and cannot be resized to a sufficiently -large size to contain the specified value, the value will be truncated -to fit.

- -Calling field_buffer() with a null field pointer will raise an -error. Calling field_buffer() on a field not currently selected -for input will return a correct value. Calling field_buffer() on a -field that is currently selected for input may not necessarily give a -correct field buffer value, because entered data isn't necessarily copied to -buffer zero before the exit validation check. - -To guarantee that the returned buffer value reflects on-screen reality, -call field_buffer() either (1) in the field's exit validation -check routine, (2) from the field's or form's initialization or termination -hooks, or (3) just after a REQ_VALIDATION request has been processed -by the forms driver. - -

Attributes of Forms

- -As with field attributes, form attributes inherit a default from a -system default form structure. These defaults can be queried or set by -of these functions using a form-pointer argument of NULL.

- -The principal attribute of a form is its field list. You can query -and change this list with: - -

-int set_form_fields(FORM *form,           /* form to alter */
-                    FIELD **fields);      /* fields to connect */
-
-char *form_fields(FORM *form);            /* fetch fields of form */
-
-int field_count(FORM *form);              /* count connect fields */
-
- -The second argument of set_form_fields() may be a -NULL-terminated field pointer array like the one required by -new_form(). In that case, the old fields of the form are -disconnected but not freed (and eligible to be connected to other -forms), then the new fields are connected.

- -It may also be null, in which case the old fields are disconnected -(and not freed) but no new ones are connected.

- -The field_count() function simply counts the number of fields -connected to a given from. It returns -1 if the form-pointer argument -is NULL. - -

Control of Form Display

- -In the overview section, you saw that to display a form you normally -start by defining its size (and fields), posting it, and refreshing -the screen. There is an hidden step before posting, which is the -association of the form with a frame window (actually, a pair of -windows) within which it will be displayed. By default, the forms -library associates every form with the full-screen window -stdscr.

- -By making this step explicit, you can associate a form with a declared -frame window on your screen display. This can be useful if you want to -adapt the form display to different screen sizes, dynamically tile -forms on the screen, or use a form as part of an interface layout -managed by panels.

- -The two windows associated with each form have the same functions as -their analogues in the menu library. Both these -windows are painted when the form is posted and erased when the form -is unposted.

- -The outer or frame window is not otherwise touched by the form -routines. It exists so the programmer can associate a title, a -border, or perhaps help text with the form and have it properly -refreshed or erased at post/unpost time. The inner window or subwindow -is where the current form page is actually displayed.

- -In order to declare your own frame window for a form, you'll need to -know the size of the form's bounding rectangle. You can get this -information with: - -

-int scale_form(FORM *form,                /* form to query */
-               int *rows,                 /* form rows */
-               int *cols);                /* form cols */
-
- -The form dimensions are passed back in the locations pointed to by -the arguments. Once you have this information, you can use it to -declare of windows, then use one of these functions: - -
-int set_form_win(FORM *form,              /* form to alter */
-                 WINDOW *win);            /* frame window to connect */
-
-WINDOW *form_win(FORM *form);             /* fetch frame window of form */
-
-int set_form_sub(FORM *form,              /* form to alter */
-                 WINDOW *win);            /* form subwindow to connect */
-
-WINDOW *form_sub(FORM *form);             /* fetch form subwindow of form */
-
- -Note that curses operations, including refresh(), on the form, -should be done on the frame window, not the form subwindow.

- -It is possible to check from your application whether all of a -scrollable field is actually displayed within the menu subwindow. Use -these functions: - -

-int data_ahead(FORM *form);               /* form to be queried */
-
-int data_behind(FORM *form);              /* form to be queried */
-
- -The function data_ahead() returns TRUE if (a) the current -field is one-line and has undisplayed data off to the right, (b) the current -field is multi-line and there is data off-screen below it.

- -The function data_behind() returns TRUE if the first (upper -left hand) character position is off-screen (not being displayed).

- -Finally, there is a function to restore the form window's cursor to the -value expected by the forms driver: - -

-int pos_form_cursor(FORM *)               /* form to be queried */
-
- -If your application changes the form window cursor, call this function before -handing control back to the forms driver in order to re-synchronize it. - -

Input Processing in the Forms Driver

- -The function form_driver() handles virtualized input requests -for form navigation, editing, and validation requests, just as -menu_driver does for menus (see the section on menu input handling). - -
-int form_driver(FORM *form,               /* form to pass input to */
-                int request);             /* form request code */
-
- -Your input virtualization function needs to take input and then convert it -to either an alphanumeric character (which is treated as data to be -entered in the currently-selected field), or a forms processing request.

- -The forms driver provides hooks (through input-validation and -field-termination functions) with which your application code can check -that the input taken by the driver matched what was expected. - -

Page Navigation Requests

- -These requests cause page-level moves through the form, -triggering display of a new form screen. - -
-
REQ_NEXT_PAGE -
Move to the next form page. -
REQ_PREV_PAGE -
Move to the previous form page. -
REQ_FIRST_PAGE -
Move to the first form page. -
REQ_LAST_PAGE -
Move to the last form page. -
- -These requests treat the list as cyclic; that is, REQ_NEXT_PAGE -from the last page goes to the first, and REQ_PREV_PAGE from -the first page goes to the last. - -

Inter-Field Navigation Requests

- -These requests handle navigation between fields on the same page. - -
-
REQ_NEXT_FIELD -
Move to next field. -
REQ_PREV_FIELD -
Move to previous field. -
REQ_FIRST_FIELD -
Move to the first field. -
REQ_LAST_FIELD -
Move to the last field. -
REQ_SNEXT_FIELD -
Move to sorted next field. -
REQ_SPREV_FIELD -
Move to sorted previous field. -
REQ_SFIRST_FIELD -
Move to the sorted first field. -
REQ_SLAST_FIELD -
Move to the sorted last field. -
REQ_LEFT_FIELD -
Move left to field. -
REQ_RIGHT_FIELD -
Move right to field. -
REQ_UP_FIELD -
Move up to field. -
REQ_DOWN_FIELD -
Move down to field. -
- -These requests treat the list of fields on a page as cyclic; that is, -REQ_NEXT_FIELD from the last field goes to the first, and -REQ_PREV_FIELD from the first field goes to the last. The -order of the fields for these (and the REQ_FIRST_FIELD and -REQ_LAST_FIELD requests) is simply the order of the field -pointers in the form array (as set up by new_form() or -set_form_fields()

- -It is also possible to traverse the fields as if they had been sorted in -screen-position order, so the sequence goes left-to-right and top-to-bottom. -To do this, use the second group of four sorted-movement requests.

- -Finally, it is possible to move between fields using visual directions up, -down, right, and left. To accomplish this, use the third group of four -requests. Note, however, that the position of a form for purposes of these -requests is its upper-left corner.

- -For example, suppose you have a multi-line field B, and two -single-line fields A and C on the same line with B, with A to the left -of B and C to the right of B. A REQ_MOVE_RIGHT from A will -go to B only if A, B, and C all share the same first line; -otherwise it will skip over B to C. - -

Intra-Field Navigation Requests

- -These requests drive movement of the edit cursor within the currently -selected field. - -
-
REQ_NEXT_CHAR -
Move to next character. -
REQ_PREV_CHAR -
Move to previous character. -
REQ_NEXT_LINE -
Move to next line. -
REQ_PREV_LINE -
Move to previous line. -
REQ_NEXT_WORD -
Move to next word. -
REQ_PREV_WORD -
Move to previous word. -
REQ_BEG_FIELD -
Move to beginning of field. -
REQ_END_FIELD -
Move to end of field. -
REQ_BEG_LINE -
Move to beginning of line. -
REQ_END_LINE -
Move to end of line. -
REQ_LEFT_CHAR -
Move left in field. -
REQ_RIGHT_CHAR -
Move right in field. -
REQ_UP_CHAR -
Move up in field. -
REQ_DOWN_CHAR -
Move down in field. -
- -Each word is separated from the previous and next characters -by whitespace. The commands to move to beginning and end of line or field -look for the first or last non-pad character in their ranges. - -

Scrolling Requests

- -Fields that are dynamic and have grown and fields explicitly created -with offscreen rows are scrollable. One-line fields scroll horizontally; -multi-line fields scroll vertically. Most scrolling is triggered by -editing and intra-field movement (the library scrolls the field to keep the -cursor visible). It is possible to explicitly request scrolling with the -following requests: - -
-
REQ_SCR_FLINE -
Scroll vertically forward a line. -
REQ_SCR_BLINE -
Scroll vertically backward a line. -
REQ_SCR_FPAGE -
Scroll vertically forward a page. -
REQ_SCR_BPAGE -
Scroll vertically backward a page. -
REQ_SCR_FHPAGE -
Scroll vertically forward half a page. -
REQ_SCR_BHPAGE -
Scroll vertically backward half a page. -
REQ_SCR_FCHAR -
Scroll horizontally forward a character. -
REQ_SCR_BCHAR -
Scroll horizontally backward a character. -
REQ_SCR_HFLINE -
Scroll horizontally one field width forward. -
REQ_SCR_HBLINE -
Scroll horizontally one field width backward. -
REQ_SCR_HFHALF -
Scroll horizontally one half field width forward. -
REQ_SCR_HBHALF -
Scroll horizontally one half field width backward. -
- -For scrolling purposes, a page of a field is the height -of its visible part. - -

Editing Requests

- -When you pass the forms driver an ASCII character, it is treated as a -request to add the character to the field's data buffer. Whether this -is an insertion or a replacement depends on the field's edit mode -(insertion is the default.

- -The following requests support editing the field and changing the edit -mode: - -

-
REQ_INS_MODE -
Set insertion mode. -
REQ_OVL_MODE -
Set overlay mode. -
REQ_NEW_LINE -
New line request (see below for explanation). -
REQ_INS_CHAR -
Insert space at character location. -
REQ_INS_LINE -
Insert blank line at character location. -
REQ_DEL_CHAR -
Delete character at cursor. -
REQ_DEL_PREV -
Delete previous word at cursor. -
REQ_DEL_LINE -
Delete line at cursor. -
REQ_DEL_WORD -
Delete word at cursor. -
REQ_CLR_EOL -
Clear to end of line. -
REQ_CLR_EOF -
Clear to end of field. -
REQ_CLEAR_FIELD -
Clear entire field. -
- -The behavior of the REQ_NEW_LINE and REQ_DEL_PREV requests -is complicated and partly controlled by a pair of forms options. -The special cases are triggered when the cursor is at the beginning of -a field, or on the last line of the field.

- -First, we consider REQ_NEW_LINE:

- -The normal behavior of REQ_NEW_LINE in insert mode is to break the -current line at the position of the edit cursor, inserting the portion of -the current line after the cursor as a new line following the current -and moving the cursor to the beginning of that new line (you may think -of this as inserting a newline in the field buffer).

- -The normal behavior of REQ_NEW_LINE in overlay mode is to clear the -current line from the position of the edit cursor to end of line. -The cursor is then moved to the beginning of the next line.

- -However, REQ_NEW_LINE at the beginning of a field, or on the -last line of a field, instead does a REQ_NEXT_FIELD. -O_NL_OVERLOAD option is off, this special action is -disabled.

- -Now, let us consider REQ_DEL_PREV:

- -The normal behavior of REQ_DEL_PREV is to delete the previous -character. If insert mode is on, and the cursor is at the start of a -line, and the text on that line will fit on the previous one, it -instead appends the contents of the current line to the previous one -and deletes the current line (you may think of this as deleting a -newline from the field buffer).

- -However, REQ_DEL_PREV at the beginning of a field is instead -treated as a REQ_PREV_FIELD.

If the -O_BS_OVERLOAD option is off, this special action is -disabled and the forms driver just returns E_REQUEST_DENIED.

- -See Form Options for discussion of how to set -and clear the overload options. - -

Order Requests

- -If the type of your field is ordered, and has associated functions -for getting the next and previous values of the type from a given value, -there are requests that can fetch that value into the field buffer: - -
-
REQ_NEXT_CHOICE -
Place the successor value of the current value in the buffer. -
REQ_PREV_CHOICE -
Place the predecessor value of the current value in the buffer. -
- -Of the built-in field types, only TYPE_ENUM has built-in successor -and predecessor functions. When you define a field type of your own -(see Custom Validation Types), you can associate -our own ordering functions. - -

Application Commands

- -Form requests are represented as integers above the curses value -greater than KEY_MAX and less than or equal to the constant -MAX_COMMAND. If your input-virtualization routine returns a -value above MAX_COMMAND, the forms driver will ignore it. - -

Field Change Hooks

- -It is possible to set function hooks to be executed whenever the -current field or form changes. Here are the functions that support this: - -
-typedef void	(*HOOK)();       /* pointer to function returning void */
-
-int set_form_init(FORM *form,    /* form to alter */
-                  HOOK hook);    /* initialization hook */
-
-HOOK form_init(FORM *form);      /* form to query */
-
-int set_form_term(FORM *form,    /* form to alter */
-                  HOOK hook);    /* termination hook */
-
-HOOK form_term(FORM *form);      /* form to query */
-
-int set_field_init(FORM *form,   /* form to alter */
-                  HOOK hook);    /* initialization hook */
-
-HOOK field_init(FORM *form);     /* form to query */
-
-int set_field_term(FORM *form,   /* form to alter */
-                  HOOK hook);    /* termination hook */
-
-HOOK field_term(FORM *form);     /* form to query */
-
- -These functions allow you to either set or query four different hooks. -In each of the set functions, the second argument should be the -address of a hook function. These functions differ only in the timing -of the hook call. - -
-
form_init -
This hook is called when the form is posted; also, just after -each page change operation. -
field_init -
This hook is called when the form is posted; also, just after -each field change -
field_term -
This hook is called just after field validation; that is, just before -the field is altered. It is also called when the form is unposted. -
form_term -
This hook is called when the form is unposted; also, just before -each page change operation. -
- -Calls to these hooks may be triggered -
    -
  1. When user editing requests are processed by the forms driver -
  2. When the current page is changed by set_current_field() call -
  3. When the current field is changed by a set_form_page() call -
- -See Field Change Commands for discussion of the latter -two cases.

- -You can set a default hook for all fields by passing one of the set functions -a NULL first argument.

- -You can disable any of these hooks by (re)setting them to NULL, the default -value. - -

Field Change Commands

- -Normally, navigation through the form will be driven by the user's -input requests. But sometimes it is useful to be able to move the -focus for editing and viewing under control of your application, or -ask which field it currently is in. The following functions help you -accomplish this: - -
-int set_current_field(FORM *form,         /* form to alter */
-                      FIELD *field);      /* field to shift to */
-
-FIELD *current_field(FORM *form);         /* form to query */
-
-int field_index(FORM *form,               /* form to query */
-                FIELD *field);            /* field to get index of */
-
- -The function field_index() returns the index of the given field -in the given form's field array (the array passed to new_form() or -set_form_fields()).

- -The initial current field of a form is the first active field on the -first page. The function set_form_fields() resets this.

- -It is also possible to move around by pages. - -

-int set_form_page(FORM *form,             /* form to alter */
-                  int page);              /* page to go to (0-origin) */
-
-int form_page(FORM *form);                /* return form's current page */
-
- -The initial page of a newly-created form is 0. The function -set_form_fields() resets this. - -

Form Options

- -Like fields, forms may have control option bits. They can be changed -or queried with these functions: - -
-int set_form_opts(FORM *form,             /* form to alter */
-                  int attr);              /* attribute to set */
-
-int form_opts_on(FORM *form,              /* form to alter */
-                 int attr);               /* attributes to turn on */
-
-int form_opts_off(FORM *form,             /* form to alter */
-                  int attr);              /* attributes to turn off */
-
-int form_opts(FORM *form);                /* form to query */
-
- -By default, all options are on. Here are the available option bits: - -
-
O_NL_OVERLOAD -
Enable overloading of REQ_NEW_LINE as described in Editing Requests. The value of this option is -ignored on dynamic fields that have not reached their size limit; -these have no last line, so the circumstances for triggering a -REQ_NEXT_FIELD never arise. -
O_BS_OVERLOAD -
Enable overloading of REQ_DEL_PREV as described in -Editing Requests. -
- -The option values are bit-masks and can be composed with logical-or in -the obvious way. - -

Custom Validation Types

- -The form library gives you the capability to define custom -validation types of your own. Further, the optional additional arguments -of set_field_type effectively allow you to parameterize validation -types. Most of the complications in the validation-type interface have to -do with the handling of the additional arguments within custom validation -functions. - -

Union Types

- -The simplest way to create a custom data type is to compose it from two -preexisting ones: - -
-FIELD *link_fieldtype(FIELDTYPE *type1,
-                      FIELDTYPE *type2);
-
- -This function creates a field type that will accept any of the values -legal for either of its argument field types (which may be either -predefined or programmer-defined). - -If a set_field_type() call later requires arguments, the new -composite type expects all arguments for the first type, than all arguments -for the second. Order functions (see Order Requests) -associated with the component types will work on the composite; what it does -is check the validation function for the first type, then for the second, to -figure what type the buffer contents should be treated as. - -

New Field Types

- -To create a field type from scratch, you need to specify one or both of the -following things: - -
    -
  • A character-validation function, to check each character as it is entered. -
  • A field-validation function to be applied on exit from the field. -
- -Here's how you do that: -
-typedef int	(*HOOK)();       /* pointer to function returning int */
-
-FIELDTYPE *new_fieldtype(HOOK f_validate, /* field validator */
-                         HOOK c_validate) /* character validator */
-
-
-int free_fieldtype(FIELDTYPE *ftype);     /* type to free */
-
- -At least one of the arguments of new_fieldtype() must be -non-NULL. The forms driver will automatically call the new type's -validation functions at appropriate points in processing a field of -the new type.

- -The function free_fieldtype() deallocates the argument -fieldtype, freeing all storage associated with it.

- -Normally, a field validator is called when the user attempts to -leave the field. Its first argument is a field pointer, from which it -can get to field buffer 0 and test it. If the function returns TRUE, -the operation succeeds; if it returns FALSE, the edit cursor stays in -the field.

- -A character validator gets the character passed in as a first argument. -It too should return TRUE if the character is valid, FALSE otherwise. - -

Validation Function Arguments

- -Your field- and character- validation functions will be passed a -second argument as well. This second argument is the address of a -structure (which we'll call a pile) built from any of the -field-type-specific arguments passed to set_field_type(). If -no such arguments are defined for the field type, this pile pointer -argument will be NULL.

- -In order to arrange for such arguments to be passed to your validation -functions, you must associate a small set of storage-management functions -with the type. The forms driver will use these to synthesize a pile -from the trailing arguments of each set_field_type() argument, and -a pointer to the pile will be passed to the validation functions.

- -Here is how you make the association: - -

-typedef char	*(*PTRHOOK)();    /* pointer to function returning (char *) */
-typedef void	(*VOIDHOOK)();    /* pointer to function returning void */
-
-int set_fieldtype_arg(FIELDTYPE *type,    /* type to alter */
-                      PTRHOOK make_str,   /* make structure from args */
-                      PTRHOOK copy_str,   /* make copy of structure */
-                      VOIDHOOK free_str); /* free structure storage */
-
- -Here is how the storage-management hooks are used: - -
-
make_str -
This function is called by set_field_type(). It gets one -argument, a va_list of the type-specific arguments passed to -set_field_type(). It is expected to return a pile pointer to a data -structure that encapsulates those arguments. -
copy_str -
This function is called by form library functions that allocate new -field instances. It is expected to take a pile pointer, copy the pile -to allocated storage, and return the address of the pile copy. -
free_str -
This function is called by field- and type-deallocation routines in the -library. It takes a pile pointer argument, and is expected to free the -storage of that pile. -
- -The make_str and copy_str functions may return NULL to -signal allocation failure. The library routines will that call them will -return error indication when this happens. Thus, your validation functions -should never see a NULL file pointer and need not check specially for it. - -

Order Functions For Custom Types

- -Some custom field types are simply ordered in the same well-defined way -that TYPE_ENUM is. For such types, it is possible to define -successor and predecessor functions to support the REQ_NEXT_CHOICE -and REQ_PREV_CHOICE requests. Here's how: - -
-typedef int	(*INTHOOK)();     /* pointer to function returning int */
-
-int set_fieldtype_arg(FIELDTYPE *type,    /* type to alter */
-                      INTHOOK succ,       /* get successor value */
-                      INTHOOK pred);      /* get predecessor value */
-
- -The successor and predecessor arguments will each be passed two arguments; -a field pointer, and a pile pointer (as for the validation functions). They -are expected to use the function field_buffer() to read the -current value, and set_field_buffer() on buffer 0 to set the next -or previous value. Either hook may return TRUE to indicate success (a -legal next or previous value was set) or FALSE to indicate failure. - -

Avoiding Problems

- -The interface for defining custom types is complicated and tricky. -Rather than attempting to create a custom type entirely from scratch, -you should start by studying the library source code for whichever of -the pre-defined types seems to be closest to what you want.

- -Use that code as a model, and evolve it towards what you really want. -You will avoid many problems and annoyances that way. The code -in the ncurses library has been specifically exempted from -the package copyright to support this.

- -If your custom type defines order functions, have do something intuitive -with a blank field. A useful convention is to make the successor of a -blank field the types minimum value, and its predecessor the maximum. - - diff --git a/src/libs/ncurses/doc/ncurses-intro.doc b/src/libs/ncurses/doc/ncurses-intro.doc deleted file mode 100644 index 466c2dff70..0000000000 --- a/src/libs/ncurses/doc/ncurses-intro.doc +++ /dev/null @@ -1,2502 +0,0 @@ - Writing Programs with NCURSES - - by Eric S. Raymond and Zeyd M. Ben-Halim - updates since release 1.9.9e by Thomas Dickey - - Contents - - * Introduction - + A Brief History of Curses - + Scope of This Document - + Terminology - * The Curses Library - + An Overview of Curses - o Compiling Programs using Curses - o Updating the Screen - o Standard Windows and Function Naming Conventions - o Variables - + Using the Library - o Starting up - o Output - o Input - o Using Forms Characters - o Character Attributes and Color - o Mouse Interfacing - o Finishing Up - + Function Descriptions - o Initialization and Wrapup - o Causing Output to the Terminal - o Low-Level Capability Access - o Debugging - + Hints, Tips, and Tricks - o Some Notes of Caution - o Temporarily Leaving ncurses Mode - o Using ncurses under xterm - o Handling Multiple Terminal Screens - o Testing for Terminal Capabilities - o Tuning for Speed - o Special Features of ncurses - + Compatibility with Older Versions - o Refresh of Overlapping Windows - o Background Erase - + XSI Curses Conformance - * The Panels Library - + Compiling With the Panels Library - + Overview of Panels - + Panels, Input, and the Standard Screen - + Hiding Panels - + Miscellaneous Other Facilities - * The Menu Library - + Compiling with the menu Library - + Overview of Menus - + Selecting items - + Menu Display - + Menu Windows - + Processing Menu Input - + Miscellaneous Other Features - * The Forms Library - + Compiling with the forms Library - + Overview of Forms - + Creating and Freeing Fields and Forms - + Fetching and Changing Field Attributes - o Fetching Size and Location Data - o Changing the Field Location - o The Justification Attribute - o Field Display Attributes - o Field Option Bits - o Field Status - o Field User Pointer - + Variable-Sized Fields - + Field Validation - o TYPE_ALPHA - o TYPE_ALNUM - o TYPE_ENUM - o TYPE_INTEGER - o TYPE_NUMERIC - o TYPE_REGEXP - + Direct Field Buffer Manipulation - + Attributes of Forms - + Control of Form Display - + Input Processing in the Forms Driver - o Page Navigation Requests - o Inter-Field Navigation Requests - o Intra-Field Navigation Requests - o Scrolling Requests - o Field Editing Requests - o Order Requests - o Application Commands - + Field Change Hooks - + Field Change Commands - + Form Options - + Custom Validation Types - o Union Types - o New Field Types - o Validation Function Arguments - o Order Functions For Custom Types - o Avoiding Problems - _________________________________________________________________ - - Introduction - - This document is an introduction to programming with curses. It is not - an exhaustive reference for the curses Application Programming - Interface (API); that role is filled by the curses manual pages. - Rather, it is intended to help C programmers ease into using the - package. - - This document is aimed at C applications programmers not yet - specifically familiar with ncurses. If you are already an experienced - curses programmer, you should nevertheless read the sections on Mouse - Interfacing, Debugging, Compatibility with Older Versions, and Hints, - Tips, and Tricks. These will bring you up to speed on the special - features and quirks of the ncurses implementation. If you are not so - experienced, keep reading. - - The curses package is a subroutine library for terminal-independent - screen-painting and input-event handling which presents a high level - screen model to the programmer, hiding differences between terminal - types and doing automatic optimization of output to change one screen - full of text into another. Curses uses terminfo, which is a database - format that can describe the capabilities of thousands of different - terminals. - - The curses API may seem something of an archaism on UNIX desktops - increasingly dominated by X, Motif, and Tcl/Tk. Nevertheless, UNIX - still supports tty lines and X supports xterm(1); the curses API has - the advantage of (a) back-portability to character-cell terminals, and - (b) simplicity. For an application that does not require bit-mapped - graphics and multiple fonts, an interface implementation using curses - will typically be a great deal simpler and less expensive than one - using an X toolkit. - -A Brief History of Curses - - Historically, the first ancestor of curses was the routines written to - provide screen-handling for the game rogue; these used the - already-existing termcap database facility for describing terminal - capabilities. These routines were abstracted into a documented library - and first released with the early BSD UNIX versions. - - System III UNIX from Bell Labs featured a rewritten and much-improved - curses library. It introduced the terminfo format. Terminfo is based - on Berkeley's termcap database, but contains a number of improvements - and extensions. Parameterized capabilities strings were introduced, - making it possible to describe multiple video attributes, and colors - and to handle far more unusual terminals than possible with termcap. - In the later AT&T System V releases, curses evolved to use more - facilities and offer more capabilities, going far beyond BSD curses in - power and flexibility. - -Scope of This Document - - This document describes ncurses, a free implementation of the System V - curses API with some clearly marked extensions. It includes the - following System V curses features: - * Support for multiple screen highlights (BSD curses could only - handle one `standout' highlight, usually reverse-video). - * Support for line- and box-drawing using forms characters. - * Recognition of function keys on input. - * Color support. - * Support for pads (windows of larger than screen size on which the - screen or a subwindow defines a viewport). - - Also, this package makes use of the insert and delete line and - character features of terminals so equipped, and determines how to - optimally use these features with no help from the programmer. It - allows arbitrary combinations of video attributes to be displayed, - even on terminals that leave ``magic cookies'' on the screen to mark - changes in attributes. - - The ncurses package can also capture and use event reports from a - mouse in some environments (notably, xterm under the X window system). - This document includes tips for using the mouse. - - The ncurses package was originated by Pavel Curtis. The original - maintainer of this package is Zeyd Ben-Halim . - Eric S. Raymond wrote many of the new features - in versions after 1.8.1 and wrote most of this introduction. Jürgen - Pfeifer wrote all of the menu and forms code as well as the Ada95 - binding. Ongoing work is being done by Thomas Dickey (maintainer). - Contact the current maintainers at bug-ncurses@gnu.org. - - This document also describes the panels extension library, similarly - modeled on the SVr4 panels facility. This library allows you to - associate backing store with each of a stack or deck of overlapping - windows, and provides operations for moving windows around in the - stack that change their visibility in the natural way (handling window - overlaps). - - Finally, this document describes in detail the menus and forms - extension libraries, also cloned from System V, which support easy - construction and sequences of menus and fill-in forms. - -Terminology - - In this document, the following terminology is used with reasonable - consistency: - - window - A data structure describing a sub-rectangle of the screen - (possibly the entire screen). You can write to a window as - though it were a miniature screen, scrolling independently of - other windows on the physical screen. - - screens - A subset of windows which are as large as the terminal screen, - i.e., they start at the upper left hand corner and encompass - the lower right hand corner. One of these, stdscr, is - automatically provided for the programmer. - - terminal screen - The package's idea of what the terminal display currently looks - like, i.e., what the user sees now. This is a special screen. - - The Curses Library - -An Overview of Curses - - Compiling Programs using Curses - - In order to use the library, it is necessary to have certain types and - variables defined. Therefore, the programmer must have a line: - #include - - at the top of the program source. The screen package uses the Standard - I/O library, so includes . also - includes , , or depending on your - system. It is redundant (but harmless) for the programmer to do these - includes, too. In linking with curses you need to have -lncurses in - your LDFLAGS or on the command line. There is no need for any other - libraries. - - Updating the Screen - - In order to update the screen optimally, it is necessary for the - routines to know what the screen currently looks like and what the - programmer wants it to look like next. For this purpose, a data type - (structure) named WINDOW is defined which describes a window image to - the routines, including its starting position on the screen (the (y, - x) coordinates of the upper left hand corner) and its size. One of - these (called curscr, for current screen) is a screen image of what - the terminal currently looks like. Another screen (called stdscr, for - standard screen) is provided by default to make changes on. - - A window is a purely internal representation. It is used to build and - store a potential image of a portion of the terminal. It doesn't bear - any necessary relation to what is really on the terminal screen; it's - more like a scratchpad or write buffer. - - To make the section of physical screen corresponding to a window - reflect the contents of the window structure, the routine refresh() - (or wrefresh() if the window is not stdscr) is called. - - A given physical screen section may be within the scope of any number - of overlapping windows. Also, changes can be made to windows in any - order, without regard to motion efficiency. Then, at will, the - programmer can effectively say ``make it look like this,'' and let the - package implementation determine the most efficient way to repaint the - screen. - - Standard Windows and Function Naming Conventions - - As hinted above, the routines can use several windows, but two are - automatically given: curscr, which knows what the terminal looks like, - and stdscr, which is what the programmer wants the terminal to look - like next. The user should never actually access curscr directly. - Changes should be made to through the API, and then the routine - refresh() (or wrefresh()) called. - - Many functions are defined to use stdscr as a default screen. For - example, to add a character to stdscr, one calls addch() with the - desired character as argument. To write to a different window. use the - routine waddch() (for `w'indow-specific addch()) is provided. This - convention of prepending function names with a `w' when they are to be - applied to specific windows is consistent. The only routines which do - not follow it are those for which a window must always be specified. - - In order to move the current (y, x) coordinates from one point to - another, the routines move() and wmove() are provided. However, it is - often desirable to first move and then perform some I/O operation. In - order to avoid clumsiness, most I/O routines can be preceded by the - prefix 'mv' and the desired (y, x) coordinates prepended to the - arguments to the function. For example, the calls - move(y, x); - addch(ch); - - can be replaced by - mvaddch(y, x, ch); - - and - wmove(win, y, x); - waddch(win, ch); - - can be replaced by - mvwaddch(win, y, x, ch); - - Note that the window description pointer (win) comes before the added - (y, x) coordinates. If a function requires a window pointer, it is - always the first parameter passed. - - Variables - - The curses library sets some variables describing the terminal - capabilities. - type name description - ------------------------------------------------------------------ - int LINES number of lines on the terminal - int COLS number of columns on the terminal - - The curses.h also introduces some #define constants and types of - general usefulness: - - bool - boolean type, actually a `char' (e.g., bool doneit;) - - TRUE - boolean `true' flag (1). - - FALSE - boolean `false' flag (0). - - ERR - error flag returned by routines on a failure (-1). - - OK - error flag returned by routines when things go right. - -Using the Library - - Now we describe how to actually use the screen package. In it, we - assume all updating, reading, etc. is applied to stdscr. These - instructions will work on any window, providing you change the - function names and parameters as mentioned above. - - Here is a sample program to motivate the discussion: -#include -#include - -static void finish(int sig); - -int -main(int argc, char *argv[]) -{ - int num = 0; - - /* initialize your non-curses data structures here */ - - (void) signal(SIGINT, finish); /* arrange interrupts to terminate */ - - (void) initscr(); /* initialize the curses library */ - keypad(stdscr, TRUE); /* enable keyboard mapping */ - (void) nonl(); /* tell curses not to do NL->CR/NL on output */ - (void) cbreak(); /* take input chars one at a time, no wait for \n */ - (void) echo(); /* echo input - in color */ - - if (has_colors()) - { - start_color(); - - /* - * Simple color assignment, often all we need. Color pair 0 cannot - * be redefined. This example uses the same value for the color - * pair as for the foreground color, though of course that is not - * necessary: - */ - init_pair(1, COLOR_RED, COLOR_BLACK); - init_pair(2, COLOR_GREEN, COLOR_BLACK); - init_pair(3, COLOR_YELLOW, COLOR_BLACK); - init_pair(4, COLOR_BLUE, COLOR_BLACK); - init_pair(5, COLOR_CYAN, COLOR_BLACK); - init_pair(6, COLOR_MAGENTA, COLOR_BLACK); - init_pair(7, COLOR_WHITE, COLOR_BLACK); - } - - for (;;) - { - int c = getch(); /* refresh, accept single keystroke of input */ - attrset(COLOR_PAIR(num % 8)); - num++; - - /* process the command keystroke */ - } - - finish(0); /* we're done */ -} - -static void finish(int sig) -{ - endwin(); - - /* do your non-curses wrapup here */ - - exit(0); -} - - Starting up - - In order to use the screen package, the routines must know about - terminal characteristics, and the space for curscr and stdscr must be - allocated. These function initscr() does both these things. Since it - must allocate space for the windows, it can overflow memory when - attempting to do so. On the rare occasions this happens, initscr() - will terminate the program with an error message. initscr() must - always be called before any of the routines which affect windows are - used. If it is not, the program will core dump as soon as either - curscr or stdscr are referenced. However, it is usually best to wait - to call it until after you are sure you will need it, like after - checking for startup errors. Terminal status changing routines like - nl() and cbreak() should be called after initscr(). - - Once the screen windows have been allocated, you can set them up for - your program. If you want to, say, allow a screen to scroll, use - scrollok(). If you want the cursor to be left in place after the last - change, use leaveok(). If this isn't done, refresh() will move the - cursor to the window's current (y, x) coordinates after updating it. - - You can create new windows of your own using the functions newwin(), - derwin(), and subwin(). The routine delwin() will allow you to get rid - of old windows. All the options described above can be applied to any - window. - - Output - - Now that we have set things up, we will want to actually update the - terminal. The basic functions used to change what will go on a window - are addch() and move(). addch() adds a character at the current (y, x) - coordinates. move() changes the current (y, x) coordinates to whatever - you want them to be. It returns ERR if you try to move off the window. - As mentioned above, you can combine the two into mvaddch() to do both - things at once. - - The other output functions, such as addstr() and printw(), all call - addch() to add characters to the window. - - After you have put on the window what you want there, when you want - the portion of the terminal covered by the window to be made to look - like it, you must call refresh(). In order to optimize finding - changes, refresh() assumes that any part of the window not changed - since the last refresh() of that window has not been changed on the - terminal, i.e., that you have not refreshed a portion of the terminal - with an overlapping window. If this is not the case, the routine - touchwin() is provided to make it look like the entire window has been - changed, thus making refresh() check the whole subsection of the - terminal for changes. - - If you call wrefresh() with curscr as its argument, it will make the - screen look like curscr thinks it looks like. This is useful for - implementing a command which would redraw the screen in case it get - messed up. - - Input - - The complementary function to addch() is getch() which, if echo is - set, will call addch() to echo the character. Since the screen package - needs to know what is on the terminal at all times, if characters are - to be echoed, the tty must be in raw or cbreak mode. Since initially - the terminal has echoing enabled and is in ordinary ``cooked'' mode, - one or the other has to changed before calling getch(); otherwise, the - program's output will be unpredictable. - - When you need to accept line-oriented input in a window, the functions - wgetstr() and friends are available. There is even a wscanw() function - that can do scanf()(3)-style multi-field parsing on window input. - These pseudo-line-oriented functions turn on echoing while they - execute. - - The example code above uses the call keypad(stdscr, TRUE) to enable - support for function-key mapping. With this feature, the getch() code - watches the input stream for character sequences that correspond to - arrow and function keys. These sequences are returned as - pseudo-character values. The #define values returned are listed in the - curses.h The mapping from sequences to #define values is determined by - key_ capabilities in the terminal's terminfo entry. - - Using Forms Characters - - The addch() function (and some others, including box() and border()) - can accept some pseudo-character arguments which are specially defined - by ncurses. These are #define values set up in the curses.h header; - see there for a complete list (look for the prefix ACS_). - - The most useful of the ACS defines are the forms-drawing characters. - You can use these to draw boxes and simple graphs on the screen. If - the terminal does not have such characters, curses.h will map them to - a recognizable (though ugly) set of ASCII defaults. - - Character Attributes and Color - - The ncurses package supports screen highlights including standout, - reverse-video, underline, and blink. It also supports color, which is - treated as another kind of highlight. - - Highlights are encoded, internally, as high bits of the - pseudo-character type (chtype) that curses.h uses to represent the - contents of a screen cell. See the curses.h header file for a complete - list of highlight mask values (look for the prefix A_). - - There are two ways to make highlights. One is to logical-or the value - of the highlights you want into the character argument of an addch() - call, or any other output call that takes a chtype argument. - - The other is to set the current-highlight value. This is logical-or'ed - with any highlight you specify the first way. You do this with the - functions attron(), attroff(), and attrset(); see the manual pages for - details. Color is a special kind of highlight. The package actually - thinks in terms of color pairs, combinations of foreground and - background colors. The sample code above sets up eight color pairs, - all of the guaranteed-available colors on black. Note that each color - pair is, in effect, given the name of its foreground color. Any other - range of eight non-conflicting values could have been used as the - first arguments of the init_pair() values. - - Once you've done an init_pair() that creates color-pair N, you can use - COLOR_PAIR(N) as a highlight that invokes that particular color - combination. Note that COLOR_PAIR(N), for constant N, is itself a - compile-time constant and can be used in initializers. - - Mouse Interfacing - - The ncurses library also provides a mouse interface. - - NOTE: this facility is specific to ncurses, it is not part of - either the XSI Curses standard, nor of System V Release 4, nor BSD - curses. System V Release 4 curses contains code with similar - interface definitions, however it is not documented. Other than by - disassembling the library, we have no way to determine exactly how - that mouse code works. Thus, we recommend that you wrap - mouse-related code in an #ifdef using the feature macro - NCURSES_MOUSE_VERSION so it will not be compiled and linked on - non-ncurses systems. - - Presently, mouse event reporting works in the following environments: - * xterm and similar programs such as rxvt. - * Linux console, when configured with gpm(1), Alessandro Rubini's - mouse server. - * FreeBSD sysmouse (console) - * OS/2 EMX - - The mouse interface is very simple. To activate it, you use the - function mousemask(), passing it as first argument a bit-mask that - specifies what kinds of events you want your program to be able to - see. It will return the bit-mask of events that actually become - visible, which may differ from the argument if the mouse device is not - capable of reporting some of the event types you specify. - - Once the mouse is active, your application's command loop should watch - for a return value of KEY_MOUSE from wgetch(). When you see this, a - mouse event report has been queued. To pick it off the queue, use the - function getmouse() (you must do this before the next wgetch(), - otherwise another mouse event might come in and make the first one - inaccessible). - - Each call to getmouse() fills a structure (the address of which you'll - pass it) with mouse event data. The event data includes zero-origin, - screen-relative character-cell coordinates of the mouse pointer. It - also includes an event mask. Bits in this mask will be set, - corresponding to the event type being reported. - - The mouse structure contains two additional fields which may be - significant in the future as ncurses interfaces to new kinds of - pointing device. In addition to x and y coordinates, there is a slot - for a z coordinate; this might be useful with touch-screens that can - return a pressure or duration parameter. There is also a device ID - field, which could be used to distinguish between multiple pointing - devices. - - The class of visible events may be changed at any time via - mousemask(). Events that can be reported include presses, releases, - single-, double- and triple-clicks (you can set the maximum - button-down time for clicks). If you don't make clicks visible, they - will be reported as press-release pairs. In some environments, the - event mask may include bits reporting the state of shift, alt, and - ctrl keys on the keyboard during the event. - - A function to check whether a mouse event fell within a given window - is also supplied. You can use this to see whether a given window - should consider a mouse event relevant to it. - - Because mouse event reporting will not be available in all - environments, it would be unwise to build ncurses applications that - require the use of a mouse. Rather, you should use the mouse as a - shortcut for point-and-shoot commands your application would normally - accept from the keyboard. Two of the test games in the ncurses - distribution (bs and knight) contain code that illustrates how this - can be done. - - See the manual page curs_mouse(3X) for full details of the - mouse-interface functions. - - Finishing Up - - In order to clean up after the ncurses routines, the routine endwin() - is provided. It restores tty modes to what they were when initscr() - was first called, and moves the cursor down to the lower-left corner. - Thus, anytime after the call to initscr, endwin() should be called - before exiting. - -Function Descriptions - - We describe the detailed behavior of some important curses functions - here, as a supplement to the manual page descriptions. - - Initialization and Wrapup - - initscr() - The first function called should almost always be initscr(). - This will determine the terminal type and initialize curses - data structures. initscr() also arranges that the first call to - refresh() will clear the screen. If an error occurs a message - is written to standard error and the program exits. Otherwise - it returns a pointer to stdscr. A few functions may be called - before initscr (slk_init(), filter(), ripoffline(), use_env(), - and, if you are using multiple terminals, newterm().) - - endwin() - Your program should always call endwin() before exiting or - shelling out of the program. This function will restore tty - modes, move the cursor to the lower left corner of the screen, - reset the terminal into the proper non-visual mode. Calling - refresh() or doupdate() after a temporary escape from the - program will restore the ncurses screen from before the escape. - - newterm(type, ofp, ifp) - A program which outputs to more than one terminal should use - newterm() instead of initscr(). newterm() should be called once - for each terminal. It returns a variable of type SCREEN * which - should be saved as a reference to that terminal. (NOTE: a - SCREEN variable is not a screen in the sense we are describing - in this introduction, but a collection of parameters used to - assist in optimizing the display.) The arguments are the type - of the terminal (a string) and FILE pointers for the output and - input of the terminal. If type is NULL then the environment - variable $TERM is used. endwin() should called once at wrapup - time for each terminal opened using this function. - - set_term(new) - This function is used to switch to a different terminal - previously opened by newterm(). The screen reference for the - new terminal is passed as the parameter. The previous terminal - is returned by the function. All other calls affect only the - current terminal. - - delscreen(sp) - The inverse of newterm(); deallocates the data structures - associated with a given SCREEN reference. - - Causing Output to the Terminal - - refresh() and wrefresh(win) - These functions must be called to actually get any output on - the terminal, as other routines merely manipulate data - structures. wrefresh() copies the named window to the physical - terminal screen, taking into account what is already there in - order to do optimizations. refresh() does a refresh of stdscr. - Unless leaveok() has been enabled, the physical cursor of the - terminal is left at the location of the window's cursor. - - doupdate() and wnoutrefresh(win) - These two functions allow multiple updates with more efficiency - than wrefresh. To use them, it is important to understand how - curses works. In addition to all the window structures, curses - keeps two data structures representing the terminal screen: a - physical screen, describing what is actually on the screen, and - a virtual screen, describing what the programmer wants to have - on the screen. wrefresh works by first copying the named window - to the virtual screen (wnoutrefresh()), and then calling the - routine to update the screen (doupdate()). If the programmer - wishes to output several windows at once, a series of calls to - wrefresh will result in alternating calls to wnoutrefresh() and - doupdate(), causing several bursts of output to the screen. By - calling wnoutrefresh() for each window, it is then possible to - call doupdate() once, resulting in only one burst of output, - with fewer total characters transmitted (this also avoids a - visually annoying flicker at each update). - - Low-Level Capability Access - - setupterm(term, filenum, errret) - This routine is called to initialize a terminal's description, - without setting up the curses screen structures or changing the - tty-driver mode bits. term is the character string representing - the name of the terminal being used. filenum is the UNIX file - descriptor of the terminal to be used for output. errret is a - pointer to an integer, in which a success or failure indication - is returned. The values returned can be 1 (all is well), 0 (no - such terminal), or -1 (some problem locating the terminfo - database). - - The value of term can be given as NULL, which will cause the - value of TERM in the environment to be used. The errret pointer - can also be given as NULL, meaning no error code is wanted. If - errret is defaulted, and something goes wrong, setupterm() will - print an appropriate error message and exit, rather than - returning. Thus, a simple program can call setupterm(0, 1, 0) - and not worry about initialization errors. - - After the call to setupterm(), the global variable cur_term is - set to point to the current structure of terminal capabilities. - By calling setupterm() for each terminal, and saving and - restoring cur_term, it is possible for a program to use two or - more terminals at once. Setupterm() also stores the names - section of the terminal description in the global character - array ttytype[]. Subsequent calls to setupterm() will overwrite - this array, so you'll have to save it yourself if need be. - - Debugging - - NOTE: These functions are not part of the standard curses API! - - trace() - This function can be used to explicitly set a trace level. If - the trace level is nonzero, execution of your program will - generate a file called `trace' in the current working directory - containing a report on the library's actions. Higher trace - levels enable more detailed (and verbose) reporting -- see - comments attached to TRACE_ defines in the curses.h file for - details. (It is also possible to set a trace level by assigning - a trace level value to the environment variable NCURSES_TRACE). - - _tracef() - This function can be used to output your own debugging - information. It is only available only if you link with - -lncurses_g. It can be used the same way as printf(), only it - outputs a newline after the end of arguments. The output goes - to a file called trace in the current directory. - - Trace logs can be difficult to interpret due to the sheer volume of - data dumped in them. There is a script called tracemunch included with - the ncurses distribution that can alleviate this problem somewhat; it - compacts long sequences of similar operations into more succinct - single-line pseudo-operations. These pseudo-ops can be distinguished - by the fact that they are named in capital letters. - -Hints, Tips, and Tricks - - The ncurses manual pages are a complete reference for this library. In - the remainder of this document, we discuss various useful methods that - may not be obvious from the manual page descriptions. - - Some Notes of Caution - - If you find yourself thinking you need to use noraw() or nocbreak(), - think again and move carefully. It's probably better design to use - getstr() or one of its relatives to simulate cooked mode. The noraw() - and nocbreak() functions try to restore cooked mode, but they may end - up clobbering some control bits set before you started your - application. Also, they have always been poorly documented, and are - likely to hurt your application's usability with other curses - libraries. - - Bear in mind that refresh() is a synonym for wrefresh(stdscr). Don't - try to mix use of stdscr with use of windows declared by newwin(); a - refresh() call will blow them off the screen. The right way to handle - this is to use subwin(), or not touch stdscr at all and tile your - screen with declared windows which you then wnoutrefresh() somewhere - in your program event loop, with a single doupdate() call to trigger - actual repainting. - - You are much less likely to run into problems if you design your - screen layouts to use tiled rather than overlapping windows. - Historically, curses support for overlapping windows has been weak, - fragile, and poorly documented. The ncurses library is not yet an - exception to this rule. - - There is a panels library included in the ncurses distribution that - does a pretty good job of strengthening the overlapping-windows - facilities. - - Try to avoid using the global variables LINES and COLS. Use getmaxyx() - on the stdscr context instead. Reason: your code may be ported to run - in an environment with window resizes, in which case several screens - could be open with different sizes. - - Temporarily Leaving NCURSES Mode - - Sometimes you will want to write a program that spends most of its - time in screen mode, but occasionally returns to ordinary `cooked' - mode. A common reason for this is to support shell-out. This behavior - is simple to arrange in ncurses. - - To leave ncurses mode, call endwin() as you would if you were - intending to terminate the program. This will take the screen back to - cooked mode; you can do your shell-out. When you want to return to - ncurses mode, simply call refresh() or doupdate(). This will repaint - the screen. - - There is a boolean function, isendwin(), which code can use to test - whether ncurses screen mode is active. It returns TRUE in the interval - between an endwin() call and the following refresh(), FALSE otherwise. - - Here is some sample code for shellout: - addstr("Shelling out..."); - def_prog_mode(); /* save current tty modes */ - endwin(); /* restore original tty modes */ - system("sh"); /* run shell */ - addstr("returned.\n"); /* prepare return message */ - refresh(); /* restore save modes, repaint screen */ - - Using NCURSES under XTERM - - A resize operation in X sends SIGWINCH to the application running - under xterm. The ncurses library provides an experimental signal - handler, but in general does not catch this signal, because it cannot - know how you want the screen re-painted. You will usually have to - write the SIGWINCH handler yourself. Ncurses can give you some help. - - The easiest way to code your SIGWINCH handler is to have it do an - endwin, followed by an refresh and a screen repaint you code yourself. - The refresh will pick up the new screen size from the xterm's - environment. - - That is the standard way, of course (it even works with some vendor's - curses implementations). Its drawback is that it clears the screen to - reinitialize the display, and does not resize subwindows which must be - shrunk. Ncurses provides an extension which works better, the - resizeterm function. That function ensures that all windows are - limited to the new screen dimensions, and pads stdscr with blanks if - the screen is larger. - - Finally, ncurses can be configured to provide its own SIGWINCH - handler, based on resizeterm. - - Handling Multiple Terminal Screens - - The initscr() function actually calls a function named newterm() to do - most of its work. If you are writing a program that opens multiple - terminals, use newterm() directly. - - For each call, you will have to specify a terminal type and a pair of - file pointers; each call will return a screen reference, and stdscr - will be set to the last one allocated. You will switch between screens - with the set_term call. Note that you will also have to call - def_shell_mode and def_prog_mode on each tty yourself. - - Testing for Terminal Capabilities - - Sometimes you may want to write programs that test for the presence of - various capabilities before deciding whether to go into ncurses mode. - An easy way to do this is to call setupterm(), then use the functions - tigetflag(), tigetnum(), and tigetstr() to do your testing. - - A particularly useful case of this often comes up when you want to - test whether a given terminal type should be treated as `smart' - (cursor-addressable) or `stupid'. The right way to test this is to see - if the return value of tigetstr("cup") is non-NULL. Alternatively, you - can include the term.h file and test the value of the macro - cursor_address. - - Tuning for Speed - - Use the addchstr() family of functions for fast screen-painting of - text when you know the text doesn't contain any control characters. - Try to make attribute changes infrequent on your screens. Don't use - the immedok() option! - - Special Features of NCURSES - - The wresize() function allows you to resize a window in place. The - associated resizeterm() function simplifies the construction of - SIGWINCH handlers, for resizing all windows. - - The define_key() function allows you to define at runtime function-key - control sequences which are not in the terminal description. The - keyok() function allows you to temporarily enable or disable - interpretation of any function-key control sequence. - - The use_default_colors() function allows you to construct applications - which can use the terminal's default foreground and background colors - as an additional "default" color. Several terminal emulators support - this feature, which is based on ISO 6429. - - Ncurses supports up 16 colors, unlike SVr4 curses which defines only - 8. While most terminals which provide color allow only 8 colors, about - a quarter (including XFree86 xterm) support 16 colors. - -Compatibility with Older Versions - - Despite our best efforts, there are some differences between ncurses - and the (undocumented!) behavior of older curses implementations. - These arise from ambiguities or omissions in the documentation of the - API. - - Refresh of Overlapping Windows - - If you define two windows A and B that overlap, and then alternately - scribble on and refresh them, the changes made to the overlapping - region under historic curses versions were often not documented - precisely. - - To understand why this is a problem, remember that screen updates are - calculated between two representations of the entire display. The - documentation says that when you refresh a window, it is first copied - to to the virtual screen, and then changes are calculated to update - the physical screen (and applied to the terminal). But "copied to" is - not very specific, and subtle differences in how copying works can - produce different behaviors in the case where two overlapping windows - are each being refreshed at unpredictable intervals. - - What happens to the overlapping region depends on what wnoutrefresh() - does with its argument -- what portions of the argument window it - copies to the virtual screen. Some implementations do "change copy", - copying down only locations in the window that have changed (or been - marked changed with wtouchln() and friends). Some implementations do - "entire copy", copying all window locations to the virtual screen - whether or not they have changed. - - The ncurses library itself has not always been consistent on this - score. Due to a bug, versions 1.8.7 to 1.9.8a did entire copy. - Versions 1.8.6 and older, and versions 1.9.9 and newer, do change - copy. - - For most commercial curses implementations, it is not documented and - not known for sure (at least not to the ncurses maintainers) whether - they do change copy or entire copy. We know that System V release 3 - curses has logic in it that looks like an attempt to do change copy, - but the surrounding logic and data representations are sufficiently - complex, and our knowledge sufficiently indirect, that it's hard to - know whether this is reliable. It is not clear what the SVr4 - documentation and XSI standard intend. The XSI Curses standard barely - mentions wnoutrefresh(); the SVr4 documents seem to be describing - entire-copy, but it is possible with some effort and straining to read - them the other way. - - It might therefore be unwise to rely on either behavior in programs - that might have to be linked with other curses implementations. - Instead, you can do an explicit touchwin() before the wnoutrefresh() - call to guarantee an entire-contents copy anywhere. - - The really clean way to handle this is to use the panels library. If, - when you want a screen update, you do update_panels(), it will do all - the necessary wnoutrefresh() calls for whatever panel stacking order - you have defined. Then you can do one doupdate() and there will be a - single burst of physical I/O that will do all your updates. - - Background Erase - - If you have been using a very old versions of ncurses (1.8.7 or older) - you may be surprised by the behavior of the erase functions. In older - versions, erased areas of a window were filled with a blank modified - by the window's current attribute (as set by wattrset(), wattron(), - wattroff() and friends). - - In newer versions, this is not so. Instead, the attribute of erased - blanks is normal unless and until it is modified by the functions - bkgdset() or wbkgdset(). - - This change in behavior conforms ncurses to System V Release 4 and the - XSI Curses standard. - -XSI Curses Conformance - - The ncurses library is intended to be base-level conformant with the - XSI Curses standard from X/Open. Many extended-level features (in - fact, almost all features not directly concerned with wide characters - and internationalization) are also supported. - - One effect of XSI conformance is the change in behavior described - under "Background Erase -- Compatibility with Old Versions". - - Also, ncurses meets the XSI requirement that every macro entry point - have a corresponding function which may be linked (and will be - prototype-checked) if the macro definition is disabled with #undef. - - The Panels Library - - The ncurses library by itself provides good support for screen - displays in which the windows are tiled (non-overlapping). In the more - general case that windows may overlap, you have to use a series of - wnoutrefresh() calls followed by a doupdate(), and be careful about - the order you do the window refreshes in. It has to be bottom-upwards, - otherwise parts of windows that should be obscured will show through. - - When your interface design is such that windows may dive deeper into - the visibility stack or pop to the top at runtime, the resulting - book-keeping can be tedious and difficult to get right. Hence the - panels library. - - The panel library first appeared in AT&T System V. The version - documented here is the panel code distributed with ncurses. - -Compiling With the Panels Library - - Your panels-using modules must import the panels library declarations - with - #include - - and must be linked explicitly with the panels library using an -lpanel - argument. Note that they must also link the ncurses library with - -lncurses. Many linkers are two-pass and will accept either order, but - it is still good practice to put -lpanel first and -lncurses second. - -Overview of Panels - - A panel object is a window that is implicitly treated as part of a - deck including all other panel objects. The deck has an implicit - bottom-to-top visibility order. The panels library includes an update - function (analogous to refresh()) that displays all panels in the deck - in the proper order to resolve overlaps. The standard window, stdscr, - is considered below all panels. - - Details on the panels functions are available in the man pages. We'll - just hit the highlights here. - - You create a panel from a window by calling new_panel() on a window - pointer. It then becomes the top of the deck. The panel's window is - available as the value of panel_window() called with the panel pointer - as argument. - - You can delete a panel (removing it from the deck) with del_panel. - This will not deallocate the associated window; you have to do that - yourself. You can replace a panel's window with a different window by - calling replace_window. The new window may be of different size; the - panel code will re-compute all overlaps. This operation doesn't change - the panel's position in the deck. - - To move a panel's window, use move_panel(). The mvwin() function on - the panel's window isn't sufficient because it doesn't update the - panels library's representation of where the windows are. This - operation leaves the panel's depth, contents, and size unchanged. - - Two functions (top_panel(), bottom_panel()) are provided for - rearranging the deck. The first pops its argument window to the top of - the deck; the second sends it to the bottom. Either operation leaves - the panel's screen location, contents, and size unchanged. - - The function update_panels() does all the wnoutrefresh() calls needed - to prepare for doupdate() (which you must call yourself, afterwards). - - Typically, you will want to call update_panels() and doupdate() just - before accepting command input, once in each cycle of interaction with - the user. If you call update_panels() after each and every panel - write, you'll generate a lot of unnecessary refresh activity and - screen flicker. - -Panels, Input, and the Standard Screen - - You shouldn't mix wnoutrefresh() or wrefresh() operations with panels - code; this will work only if the argument window is either in the top - panel or unobscured by any other panels. - - The stsdcr window is a special case. It is considered below all - panels. Because changes to panels may obscure parts of stdscr, though, - you should call update_panels() before doupdate() even when you only - change stdscr. - - Note that wgetch automatically calls wrefresh. Therefore, before - requesting input from a panel window, you need to be sure that the - panel is totally unobscured. - - There is presently no way to display changes to one obscured panel - without repainting all panels. - -Hiding Panels - - It's possible to remove a panel from the deck temporarily; use - hide_panel for this. Use show_panel() to render it visible again. The - predicate function panel_hidden tests whether or not a panel is - hidden. - - The panel_update code ignores hidden panels. You cannot do top_panel() - or bottom_panel on a hidden panel(). Other panels operations are - applicable. - -Miscellaneous Other Facilities - - It's possible to navigate the deck using the functions panel_above() - and panel_below. Handed a panel pointer, they return the panel above - or below that panel. Handed NULL, they return the bottom-most or - top-most panel. - - Every panel has an associated user pointer, not used by the panel - code, to which you can attach application data. See the man page - documentation of set_panel_userptr() and panel_userptr for details. - - The Menu Library - - A menu is a screen display that assists the user to choose some subset - of a given set of items. The menu library is a curses extension that - supports easy programming of menu hierarchies with a uniform but - flexible interface. - - The menu library first appeared in AT&T System V. The version - documented here is the menu code distributed with ncurses. - -Compiling With the menu Library - - Your menu-using modules must import the menu library declarations with - #include - - and must be linked explicitly with the menus library using an -lmenu - argument. Note that they must also link the ncurses library with - -lncurses. Many linkers are two-pass and will accept either order, but - it is still good practice to put -lmenu first and -lncurses second. - -Overview of Menus - - The menus created by this library consist of collections of items - including a name string part and a description string part. To make - menus, you create groups of these items and connect them with menu - frame objects. - - The menu can then by posted, that is written to an associated window. - Actually, each menu has two associated windows; a containing window in - which the programmer can scribble titles or borders, and a subwindow - in which the menu items proper are displayed. If this subwindow is too - small to display all the items, it will be a scrollable viewport on - the collection of items. - - A menu may also be unposted (that is, undisplayed), and finally freed - to make the storage associated with it and its items available for - re-use. - - The general flow of control of a menu program looks like this: - 1. Initialize curses. - 2. Create the menu items, using new_item(). - 3. Create the menu using new_menu(). - 4. Post the menu using post_menu(). - 5. Refresh the screen. - 6. Process user requests via an input loop. - 7. Unpost the menu using unpost_menu(). - 8. Free the menu, using free_menu(). - 9. Free the items using free_item(). - 10. Terminate curses. - -Selecting items - - Menus may be multi-valued or (the default) single-valued (see the - manual page menu_opts(3x) to see how to change the default). Both - types always have a current item. - - From a single-valued menu you can read the selected value simply by - looking at the current item. From a multi-valued menu, you get the - selected set by looping through the items applying the item_value() - predicate function. Your menu-processing code can use the function - set_item_value() to flag the items in the select set. - - Menu items can be made unselectable using set_item_opts() or - item_opts_off() with the O_SELECTABLE argument. This is the only - option so far defined for menus, but it is good practice to code as - though other option bits might be on. - -Menu Display - - The menu library calculates a minimum display size for your window, - based on the following variables: - * The number and maximum length of the menu items - * Whether the O_ROWMAJOR option is enabled - * Whether display of descriptions is enabled - * Whatever menu format may have been set by the programmer - * The length of the menu mark string used for highlighting selected - items - - The function set_menu_format() allows you to set the maximum size of - the viewport or menu page that will be used to display menu items. You - can retrieve any format associated with a menu with menu_format(). The - default format is rows=16, columns=1. - - The actual menu page may be smaller than the format size. This depends - on the item number and size and whether O_ROWMAJOR is on. This option - (on by default) causes menu items to be displayed in a `raster-scan' - pattern, so that if more than one item will fit horizontally the first - couple of items are side-by-side in the top row. The alternative is - column-major display, which tries to put the first several items in - the first column. - - As mentioned above, a menu format not large enough to allow all items - to fit on-screen will result in a menu display that is vertically - scrollable. - - You can scroll it with requests to the menu driver, which will be - described in the section on menu input handling. - - Each menu has a mark string used to visually tag selected items; see - the menu_mark(3x) manual page for details. The mark string length also - influences the menu page size. - - The function scale_menu() returns the minimum display size that the - menu code computes from all these factors. There are other menu - display attributes including a select attribute, an attribute for - selectable items, an attribute for unselectable items, and a pad - character used to separate item name text from description text. These - have reasonable defaults which the library allows you to change (see - the menu_attribs(3x) manual page. - -Menu Windows - - Each menu has, as mentioned previously, a pair of associated windows. - Both these windows are painted when the menu is posted and erased when - the menu is unposted. - - The outer or frame window is not otherwise touched by the menu - routines. It exists so the programmer can associate a title, a border, - or perhaps help text with the menu and have it properly refreshed or - erased at post/unpost time. The inner window or subwindow is where the - current menu page is displayed. - - By default, both windows are stdscr. You can set them with the - functions in menu_win(3x). - - When you call post_menu(), you write the menu to its subwindow. When - you call unpost_menu(), you erase the subwindow, However, neither of - these actually modifies the screen. To do that, call wrefresh() or - some equivalent. - -Processing Menu Input - - The main loop of your menu-processing code should call menu_driver() - repeatedly. The first argument of this routine is a menu pointer; the - second is a menu command code. You should write an input-fetching - routine that maps input characters to menu command codes, and pass its - output to menu_driver(). The menu command codes are fully documented - in menu_driver(3x). - - The simplest group of command codes is REQ_NEXT_ITEM, REQ_PREV_ITEM, - REQ_FIRST_ITEM, REQ_LAST_ITEM, REQ_UP_ITEM, REQ_DOWN_ITEM, - REQ_LEFT_ITEM, REQ_RIGHT_ITEM. These change the currently selected - item. These requests may cause scrolling of the menu page if it only - partially displayed. - - There are explicit requests for scrolling which also change the - current item (because the select location does not change, but the - item there does). These are REQ_SCR_DLINE, REQ_SCR_ULINE, - REQ_SCR_DPAGE, and REQ_SCR_UPAGE. - - The REQ_TOGGLE_ITEM selects or deselects the current item. It is for - use in multi-valued menus; if you use it with O_ONEVALUE on, you'll - get an error return (E_REQUEST_DENIED). - - Each menu has an associated pattern buffer. The menu_driver() logic - tries to accumulate printable ASCII characters passed in in that - buffer; when it matches a prefix of an item name, that item (or the - next matching item) is selected. If appending a character yields no - new match, that character is deleted from the pattern buffer, and - menu_driver() returns E_NO_MATCH. - - Some requests change the pattern buffer directly: REQ_CLEAR_PATTERN, - REQ_BACK_PATTERN, REQ_NEXT_MATCH, REQ_PREV_MATCH. The latter two are - useful when pattern buffer input matches more than one item in a - multi-valued menu. - - Each successful scroll or item navigation request clears the pattern - buffer. It is also possible to set the pattern buffer explicitly with - set_menu_pattern(). - - Finally, menu driver requests above the constant MAX_COMMAND are - considered application-specific commands. The menu_driver() code - ignores them and returns E_UNKNOWN_COMMAND. - -Miscellaneous Other Features - - Various menu options can affect the processing and visual appearance - and input processing of menus. See menu_opts(3x) for details. - - It is possible to change the current item from application code; this - is useful if you want to write your own navigation requests. It is - also possible to explicitly set the top row of the menu display. See - mitem_current(3x). If your application needs to change the menu - subwindow cursor for any reason, pos_menu_cursor() will restore it to - the correct location for continuing menu driver processing. - - It is possible to set hooks to be called at menu initialization and - wrapup time, and whenever the selected item changes. See - menu_hook(3x). - - Each item, and each menu, has an associated user pointer on which you - can hang application data. See mitem_userptr(3x) and menu_userptr(3x). - - The Forms Library - - The form library is a curses extension that supports easy programming - of on-screen forms for data entry and program control. - - The form library first appeared in AT&T System V. The version - documented here is the form code distributed with ncurses. - -Compiling With the form Library - - Your form-using modules must import the form library declarations with - #include - - and must be linked explicitly with the forms library using an -lform - argument. Note that they must also link the ncurses library with - -lncurses. Many linkers are two-pass and will accept either order, but - it is still good practice to put -lform first and -lncurses second. - -Overview of Forms - - A form is a collection of fields; each field may be either a label - (explanatory text) or a data-entry location. Long forms may be - segmented into pages; each entry to a new page clears the screen. - - To make forms, you create groups of fields and connect them with form - frame objects; the form library makes this relatively simple. - - Once defined, a form can be posted, that is written to an associated - window. Actually, each form has two associated windows; a containing - window in which the programmer can scribble titles or borders, and a - subwindow in which the form fields proper are displayed. - - As the form user fills out the posted form, navigation and editing - keys support movement between fields, editing keys support modifying - field, and plain text adds to or changes data in a current field. The - form library allows you (the forms designer) to bind each navigation - and editing key to any keystroke accepted by curses Fields may have - validation conditions on them, so that they check input data for type - and value. The form library supplies a rich set of pre-defined field - types, and makes it relatively easy to define new ones. - - Once its transaction is completed (or aborted), a form may be unposted - (that is, undisplayed), and finally freed to make the storage - associated with it and its items available for re-use. - - The general flow of control of a form program looks like this: - 1. Initialize curses. - 2. Create the form fields, using new_field(). - 3. Create the form using new_form(). - 4. Post the form using post_form(). - 5. Refresh the screen. - 6. Process user requests via an input loop. - 7. Unpost the form using unpost_form(). - 8. Free the form, using free_form(). - 9. Free the fields using free_field(). - 10. Terminate curses. - - Note that this looks much like a menu program; the form library - handles tasks which are in many ways similar, and its interface was - obviously designed to resemble that of the menu library wherever - possible. - - In forms programs, however, the `process user requests' is somewhat - more complicated than for menus. Besides menu-like navigation - operations, the menu driver loop has to support field editing and data - validation. - -Creating and Freeing Fields and Forms - - The basic function for creating fields is new_field(): -FIELD *new_field(int height, int width, /* new field size */ - int top, int left, /* upper left corner */ - int offscreen, /* number of offscreen rows */ - int nbuf); /* number of working buffers */ - - Menu items always occupy a single row, but forms fields may have - multiple rows. So new_field() requires you to specify a width and - height (the first two arguments, which mist both be greater than - zero). - - You must also specify the location of the field's upper left corner on - the screen (the third and fourth arguments, which must be zero or - greater). Note that these coordinates are relative to the form - subwindow, which will coincide with stdscr by default but need not be - stdscr if you've done an explicit set_form_win() call. - - The fifth argument allows you to specify a number of off-screen rows. - If this is zero, the entire field will always be displayed. If it is - nonzero, the form will be scrollable, with only one screen-full - (initially the top part) displayed at any given time. If you make a - field dynamic and grow it so it will no longer fit on the screen, the - form will become scrollable even if the offscreen argument was - initially zero. - - The forms library allocates one working buffer per field; the size of - each buffer is ((height + offscreen)*width + 1, one character for each - position in the field plus a NUL terminator. The sixth argument is the - number of additional data buffers to allocate for the field; your - application can use them for its own purposes. -FIELD *dup_field(FIELD *field, /* field to copy */ - int top, int left); /* location of new copy */ - - The function dup_field() duplicates an existing field at a new - location. Size and buffering information are copied; some attribute - flags and status bits are not (see the form_field_new(3X) for - details). -FIELD *link_field(FIELD *field, /* field to copy */ - int top, int left); /* location of new copy */ - - The function link_field() also duplicates an existing field at a new - location. The difference from dup_field() is that it arranges for the - new field's buffer to be shared with the old one. - - Besides the obvious use in making a field editable from two different - form pages, linked fields give you a way to hack in dynamic labels. If - you declare several fields linked to an original, and then make them - inactive, changes from the original will still be propagated to the - linked fields. - - As with duplicated fields, linked fields have attribute bits separate - from the original. - - As you might guess, all these field-allocations return NULL if the - field allocation is not possible due to an out-of-memory error or - out-of-bounds arguments. - - To connect fields to a form, use -FORM *new_form(FIELD **fields); - - This function expects to see a NULL-terminated array of field - pointers. Said fields are connected to a newly-allocated form object; - its address is returned (or else NULL if the allocation fails). - - Note that new_field() does not copy the pointer array into private - storage; if you modify the contents of the pointer array during forms - processing, all manner of bizarre things might happen. Also note that - any given field may only be connected to one form. - - The functions free_field() and free_form are available to free field - and form objects. It is an error to attempt to free a field connected - to a form, but not vice-versa; thus, you will generally free your form - objects first. - -Fetching and Changing Field Attributes - - Each form field has a number of location and size attributes - associated with it. There are other field attributes used to control - display and editing of the field. Some (for example, the O_STATIC bit) - involve sufficient complications to be covered in sections of their - own later on. We cover the functions used to get and set several basic - attributes here. - - When a field is created, the attributes not specified by the new_field - function are copied from an invisible system default field. In - attribute-setting and -fetching functions, the argument NULL is taken - to mean this field. Changes to it persist as defaults until your forms - application terminates. - - Fetching Size and Location Data - - You can retrieve field sizes and locations through: -int field_info(FIELD *field, /* field from which to fetch */ - int *height, *int width, /* field size */ - int *top, int *left, /* upper left corner */ - int *offscreen, /* number of offscreen rows */ - int *nbuf); /* number of working buffers */ - - This function is a sort of inverse of new_field(); instead of setting - size and location attributes of a new field, it fetches them from an - existing one. - - Changing the Field Location - - It is possible to move a field's location on the screen: -int move_field(FIELD *field, /* field to alter */ - int top, int left); /* new upper-left corner */ - - You can, of course. query the current location through field_info(). - - The Justification Attribute - - One-line fields may be unjustified, justified right, justified left, - or centered. Here is how you manipulate this attribute: -int set_field_just(FIELD *field, /* field to alter */ - int justmode); /* mode to set */ - -int field_just(FIELD *field); /* fetch mode of field */ - - The mode values accepted and returned by this functions are - preprocessor macros NO_JUSTIFICATION, JUSTIFY_RIGHT, JUSTIFY_LEFT, or - JUSTIFY_CENTER. - - Field Display Attributes - - For each field, you can set a foreground attribute for entered - characters, a background attribute for the entire field, and a pad - character for the unfilled portion of the field. You can also control - pagination of the form. - - This group of four field attributes controls the visual appearance of - the field on the screen, without affecting in any way the data in the - field buffer. -int set_field_fore(FIELD *field, /* field to alter */ - chtype attr); /* attribute to set */ - -chtype field_fore(FIELD *field); /* field to query */ - -int set_field_back(FIELD *field, /* field to alter */ - chtype attr); /* attribute to set */ - -chtype field_back(FIELD *field); /* field to query */ - -int set_field_pad(FIELD *field, /* field to alter */ - int pad); /* pad character to set */ - -chtype field_pad(FIELD *field); - -int set_new_page(FIELD *field, /* field to alter */ - int flag); /* TRUE to force new page */ - -chtype new_page(FIELD *field); /* field to query */ - - The attributes set and returned by the first four functions are normal - curses(3x) display attribute values (A_STANDOUT, A_BOLD, A_REVERSE - etc). The page bit of a field controls whether it is displayed at the - start of a new form screen. - - Field Option Bits - - There is also a large collection of field option bits you can set to - control various aspects of forms processing. You can manipulate them - with these functions: -int set_field_opts(FIELD *field, /* field to alter */ - int attr); /* attribute to set */ - -int field_opts_on(FIELD *field, /* field to alter */ - int attr); /* attributes to turn on */ - -int field_opts_off(FIELD *field, /* field to alter */ - int attr); /* attributes to turn off */ - -int field_opts(FIELD *field); /* field to query */ - - By default, all options are on. Here are the available option bits: - - O_VISIBLE - Controls whether the field is visible on the screen. Can be - used during form processing to hide or pop up fields depending - on the value of parent fields. - - O_ACTIVE - Controls whether the field is active during forms processing - (i.e. visited by form navigation keys). Can be used to make - labels or derived fields with buffer values alterable by the - forms application, not the user. - - O_PUBLIC - Controls whether data is displayed during field entry. If this - option is turned off on a field, the library will accept and - edit data in that field, but it will not be displayed and the - visible field cursor will not move. You can turn off the - O_PUBLIC bit to define password fields. - - O_EDIT - Controls whether the field's data can be modified. When this - option is off, all editing requests except REQ_PREV_CHOICE and - REQ_NEXT_CHOICE will fail. Such read-only fields may be useful - for help messages. - - O_WRAP - Controls word-wrapping in multi-line fields. Normally, when any - character of a (blank-separated) word reaches the end of the - current line, the entire word is wrapped to the next line - (assuming there is one). When this option is off, the word will - be split across the line break. - - O_BLANK - Controls field blanking. When this option is on, entering a - character at the first field position erases the entire field - (except for the just-entered character). - - O_AUTOSKIP - Controls automatic skip to next field when this one fills. - Normally, when the forms user tries to type more data into a - field than will fit, the editing location jumps to next field. - When this option is off, the user's cursor will hang at the end - of the field. This option is ignored in dynamic fields that - have not reached their size limit. - - O_NULLOK - Controls whether validation is applied to blank fields. - Normally, it is not; the user can leave a field blank without - invoking the usual validation check on exit. If this option is - off on a field, exit from it will invoke a validation check. - - O_PASSOK - Controls whether validation occurs on every exit, or only after - the field is modified. Normally the latter is true. Setting - O_PASSOK may be useful if your field's validation function may - change during forms processing. - - O_STATIC - Controls whether the field is fixed to its initial dimensions. - If you turn this off, the field becomes dynamic and will - stretch to fit entered data. - - A field's options cannot be changed while the field is currently - selected. However, options may be changed on posted fields that are - not current. - - The option values are bit-masks and can be composed with logical-or in - the obvious way. - -Field Status - - Every field has a status flag, which is set to FALSE when the field is - created and TRUE when the value in field buffer 0 changes. This flag - can be queried and set directly: -int set_field_status(FIELD *field, /* field to alter */ - int status); /* mode to set */ - -int field_status(FIELD *field); /* fetch mode of field */ - - Setting this flag under program control can be useful if you use the - same form repeatedly, looking for modified fields each time. - - Calling field_status() on a field not currently selected for input - will return a correct value. Calling field_status() on a field that is - currently selected for input may not necessarily give a correct field - status value, because entered data isn't necessarily copied to buffer - zero before the exit validation check. To guarantee that the returned - status value reflects reality, call field_status() either (1) in the - field's exit validation check routine, (2) from the field's or form's - initialization or termination hooks, or (3) just after a - REQ_VALIDATION request has been processed by the forms driver. - -Field User Pointer - - Each field structure contains one character pointer slot that is not - used by the forms library. It is intended to be used by applications - to store private per-field data. You can manipulate it with: -int set_field_userptr(FIELD *field, /* field to alter */ - char *userptr); /* mode to set */ - -char *field_userptr(FIELD *field); /* fetch mode of field */ - - (Properly, this user pointer field ought to have (void *) type. The - (char *) type is retained for System V compatibility.) - - It is valid to set the user pointer of the default field (with a - set_field_userptr() call passed a NULL field pointer.) When a new - field is created, the default-field user pointer is copied to - initialize the new field's user pointer. - -Variable-Sized Fields - - Normally, a field is fixed at the size specified for it at creation - time. If, however, you turn off its O_STATIC bit, it becomes dynamic - and will automatically resize itself to accommodate data as it is - entered. If the field has extra buffers associated with it, they will - grow right along with the main input buffer. - - A one-line dynamic field will have a fixed height (1) but variable - width, scrolling horizontally to display data within the field area as - originally dimensioned and located. A multi-line dynamic field will - have a fixed width, but variable height (number of rows), scrolling - vertically to display data within the field area as originally - dimensioned and located. - - Normally, a dynamic field is allowed to grow without limit. But it is - possible to set an upper limit on the size of a dynamic field. You do - it with this function: -int set_max_field(FIELD *field, /* field to alter (may not be NULL) */ - int max_size); /* upper limit on field size */ - - If the field is one-line, max_size is taken to be a column size limit; - if it is multi-line, it is taken to be a line size limit. To disable - any limit, use an argument of zero. The growth limit can be changed - whether or not the O_STATIC bit is on, but has no effect until it is. - - The following properties of a field change when it becomes dynamic: - * If there is no growth limit, there is no final position of the - field; therefore O_AUTOSKIP and O_NL_OVERLOAD are ignored. - * Field justification will be ignored (though whatever justification - is set up will be retained internally and can be queried). - * The dup_field() and link_field() calls copy dynamic-buffer sizes. - If the O_STATIC option is set on one of a collection of links, - buffer resizing will occur only when the field is edited through - that link. - * The call field_info() will retrieve the original static size of - the field; use dynamic_field_info() to get the actual dynamic - size. - -Field Validation - - By default, a field will accept any data that will fit in its input - buffer. However, it is possible to attach a validation type to a - field. If you do this, any attempt to leave the field while it - contains data that doesn't match the validation type will fail. Some - validation types also have a character-validity check for each time a - character is entered in the field. - - A field's validation check (if any) is not called when - set_field_buffer() modifies the input buffer, nor when that buffer is - changed through a linked field. - - The form library provides a rich set of pre-defined validation types, - and gives you the capability to define custom ones of your own. You - can examine and change field validation attributes with the following - functions: -int set_field_type(FIELD *field, /* field to alter */ - FIELDTYPE *ftype, /* type to associate */ - ...); /* additional arguments*/ - -FIELDTYPE *field_type(FIELD *field); /* field to query */ - - The validation type of a field is considered an attribute of the - field. As with other field attributes, Also, doing set_field_type() - with a NULL field default will change the system default for - validation of newly-created fields. - - Here are the pre-defined validation types: - - TYPE_ALPHA - - This field type accepts alphabetic data; no blanks, no digits, no - special characters (this is checked at character-entry time). It is - set up with: -int set_field_type(FIELD *field, /* field to alter */ - TYPE_ALPHA, /* type to associate */ - int width); /* maximum width of field */ - - The width argument sets a minimum width of data. Typically you'll want - to set this to the field width; if it's greater than the field width, - the validation check will always fail. A minimum width of zero makes - field completion optional. - - TYPE_ALNUM - - This field type accepts alphabetic data and digits; no blanks, no - special characters (this is checked at character-entry time). It is - set up with: -int set_field_type(FIELD *field, /* field to alter */ - TYPE_ALNUM, /* type to associate */ - int width); /* maximum width of field */ - - The width argument sets a minimum width of data. As with TYPE_ALPHA, - typically you'll want to set this to the field width; if it's greater - than the field width, the validation check will always fail. A minimum - width of zero makes field completion optional. - - TYPE_ENUM - - This type allows you to restrict a field's values to be among a - specified set of string values (for example, the two-letter postal - codes for U.S. states). It is set up with: -int set_field_type(FIELD *field, /* field to alter */ - TYPE_ENUM, /* type to associate */ - char **valuelist; /* list of possible values */ - int checkcase; /* case-sensitive? */ - int checkunique); /* must specify uniquely? */ - - The valuelist parameter must point at a NULL-terminated list of valid - strings. The checkcase argument, if true, makes comparison with the - string case-sensitive. - - When the user exits a TYPE_ENUM field, the validation procedure tries - to complete the data in the buffer to a valid entry. If a complete - choice string has been entered, it is of course valid. But it is also - possible to enter a prefix of a valid string and have it completed for - you. - - By default, if you enter such a prefix and it matches more than one - value in the string list, the prefix will be completed to the first - matching value. But the checkunique argument, if true, requires prefix - matches to be unique in order to be valid. - - The REQ_NEXT_CHOICE and REQ_PREV_CHOICE input requests can be - particularly useful with these fields. - - TYPE_INTEGER - - This field type accepts an integer. It is set up as follows: -int set_field_type(FIELD *field, /* field to alter */ - TYPE_INTEGER, /* type to associate */ - int padding, /* # places to zero-pad to */ - int vmin, int vmax); /* valid range */ - - Valid characters consist of an optional leading minus and digits. The - range check is performed on exit. If the range maximum is less than or - equal to the minimum, the range is ignored. - - If the value passes its range check, it is padded with as many leading - zero digits as necessary to meet the padding argument. - - A TYPE_INTEGER value buffer can conveniently be interpreted with the C - library function atoi(3). - - TYPE_NUMERIC - - This field type accepts a decimal number. It is set up as follows: -int set_field_type(FIELD *field, /* field to alter */ - TYPE_NUMERIC, /* type to associate */ - int padding, /* # places of precision */ - double vmin, double vmax); /* valid range */ - - Valid characters consist of an optional leading minus and digits. - possibly including a decimal point. If your system supports locale's, - the decimal point character used must be the one defined by your - locale. The range check is performed on exit. If the range maximum is - less than or equal to the minimum, the range is ignored. - - If the value passes its range check, it is padded with as many - trailing zero digits as necessary to meet the padding argument. - - A TYPE_NUMERIC value buffer can conveniently be interpreted with the C - library function atof(3). - - TYPE_REGEXP - - This field type accepts data matching a regular expression. It is set - up as follows: -int set_field_type(FIELD *field, /* field to alter */ - TYPE_REGEXP, /* type to associate */ - char *regexp); /* expression to match */ - - The syntax for regular expressions is that of regcomp(3). The check - for regular-expression match is performed on exit. - -Direct Field Buffer Manipulation - - The chief attribute of a field is its buffer contents. When a form has - been completed, your application usually needs to know the state of - each field buffer. You can find this out with: -char *field_buffer(FIELD *field, /* field to query */ - int bufindex); /* number of buffer to query */ - - Normally, the state of the zero-numbered buffer for each field is set - by the user's editing actions on that field. It's sometimes useful to - be able to set the value of the zero-numbered (or some other) buffer - from your application: -int set_field_buffer(FIELD *field, /* field to alter */ - int bufindex, /* number of buffer to alter */ - char *value); /* string value to set */ - - If the field is not large enough and cannot be resized to a - sufficiently large size to contain the specified value, the value will - be truncated to fit. - - Calling field_buffer() with a null field pointer will raise an error. - Calling field_buffer() on a field not currently selected for input - will return a correct value. Calling field_buffer() on a field that is - currently selected for input may not necessarily give a correct field - buffer value, because entered data isn't necessarily copied to buffer - zero before the exit validation check. To guarantee that the returned - buffer value reflects on-screen reality, call field_buffer() either - (1) in the field's exit validation check routine, (2) from the field's - or form's initialization or termination hooks, or (3) just after a - REQ_VALIDATION request has been processed by the forms driver. - -Attributes of Forms - - As with field attributes, form attributes inherit a default from a - system default form structure. These defaults can be queried or set by - of these functions using a form-pointer argument of NULL. - - The principal attribute of a form is its field list. You can query and - change this list with: -int set_form_fields(FORM *form, /* form to alter */ - FIELD **fields); /* fields to connect */ - -char *form_fields(FORM *form); /* fetch fields of form */ - -int field_count(FORM *form); /* count connect fields */ - - The second argument of set_form_fields() may be a NULL-terminated - field pointer array like the one required by new_form(). In that case, - the old fields of the form are disconnected but not freed (and - eligible to be connected to other forms), then the new fields are - connected. - - It may also be null, in which case the old fields are disconnected - (and not freed) but no new ones are connected. - - The field_count() function simply counts the number of fields - connected to a given from. It returns -1 if the form-pointer argument - is NULL. - -Control of Form Display - - In the overview section, you saw that to display a form you normally - start by defining its size (and fields), posting it, and refreshing - the screen. There is an hidden step before posting, which is the - association of the form with a frame window (actually, a pair of - windows) within which it will be displayed. By default, the forms - library associates every form with the full-screen window stdscr. - - By making this step explicit, you can associate a form with a declared - frame window on your screen display. This can be useful if you want to - adapt the form display to different screen sizes, dynamically tile - forms on the screen, or use a form as part of an interface layout - managed by panels. - - The two windows associated with each form have the same functions as - their analogues in the menu library. Both these windows are painted - when the form is posted and erased when the form is unposted. - - The outer or frame window is not otherwise touched by the form - routines. It exists so the programmer can associate a title, a border, - or perhaps help text with the form and have it properly refreshed or - erased at post/unpost time. The inner window or subwindow is where the - current form page is actually displayed. - - In order to declare your own frame window for a form, you'll need to - know the size of the form's bounding rectangle. You can get this - information with: -int scale_form(FORM *form, /* form to query */ - int *rows, /* form rows */ - int *cols); /* form cols */ - - The form dimensions are passed back in the locations pointed to by the - arguments. Once you have this information, you can use it to declare - of windows, then use one of these functions: -int set_form_win(FORM *form, /* form to alter */ - WINDOW *win); /* frame window to connect */ - -WINDOW *form_win(FORM *form); /* fetch frame window of form */ - -int set_form_sub(FORM *form, /* form to alter */ - WINDOW *win); /* form subwindow to connect */ - -WINDOW *form_sub(FORM *form); /* fetch form subwindow of form */ - - Note that curses operations, including refresh(), on the form, should - be done on the frame window, not the form subwindow. - - It is possible to check from your application whether all of a - scrollable field is actually displayed within the menu subwindow. Use - these functions: -int data_ahead(FORM *form); /* form to be queried */ - -int data_behind(FORM *form); /* form to be queried */ - - The function data_ahead() returns TRUE if (a) the current field is - one-line and has undisplayed data off to the right, (b) the current - field is multi-line and there is data off-screen below it. - - The function data_behind() returns TRUE if the first (upper left hand) - character position is off-screen (not being displayed). - - Finally, there is a function to restore the form window's cursor to - the value expected by the forms driver: -int pos_form_cursor(FORM *) /* form to be queried */ - - If your application changes the form window cursor, call this function - before handing control back to the forms driver in order to - re-synchronize it. - -Input Processing in the Forms Driver - - The function form_driver() handles virtualized input requests for form - navigation, editing, and validation requests, just as menu_driver does - for menus (see the section on menu input handling). -int form_driver(FORM *form, /* form to pass input to */ - int request); /* form request code */ - - Your input virtualization function needs to take input and then - convert it to either an alphanumeric character (which is treated as - data to be entered in the currently-selected field), or a forms - processing request. - - The forms driver provides hooks (through input-validation and - field-termination functions) with which your application code can - check that the input taken by the driver matched what was expected. - - Page Navigation Requests - - These requests cause page-level moves through the form, triggering - display of a new form screen. - - REQ_NEXT_PAGE - Move to the next form page. - - REQ_PREV_PAGE - Move to the previous form page. - - REQ_FIRST_PAGE - Move to the first form page. - - REQ_LAST_PAGE - Move to the last form page. - - These requests treat the list as cyclic; that is, REQ_NEXT_PAGE from - the last page goes to the first, and REQ_PREV_PAGE from the first page - goes to the last. - - Inter-Field Navigation Requests - - These requests handle navigation between fields on the same page. - - REQ_NEXT_FIELD - Move to next field. - - REQ_PREV_FIELD - Move to previous field. - - REQ_FIRST_FIELD - Move to the first field. - - REQ_LAST_FIELD - Move to the last field. - - REQ_SNEXT_FIELD - Move to sorted next field. - - REQ_SPREV_FIELD - Move to sorted previous field. - - REQ_SFIRST_FIELD - Move to the sorted first field. - - REQ_SLAST_FIELD - Move to the sorted last field. - - REQ_LEFT_FIELD - Move left to field. - - REQ_RIGHT_FIELD - Move right to field. - - REQ_UP_FIELD - Move up to field. - - REQ_DOWN_FIELD - Move down to field. - - These requests treat the list of fields on a page as cyclic; that is, - REQ_NEXT_FIELD from the last field goes to the first, and - REQ_PREV_FIELD from the first field goes to the last. The order of the - fields for these (and the REQ_FIRST_FIELD and REQ_LAST_FIELD requests) - is simply the order of the field pointers in the form array (as set up - by new_form() or set_form_fields() - - It is also possible to traverse the fields as if they had been sorted - in screen-position order, so the sequence goes left-to-right and - top-to-bottom. To do this, use the second group of four - sorted-movement requests. - - Finally, it is possible to move between fields using visual directions - up, down, right, and left. To accomplish this, use the third group of - four requests. Note, however, that the position of a form for purposes - of these requests is its upper-left corner. - - For example, suppose you have a multi-line field B, and two - single-line fields A and C on the same line with B, with A to the left - of B and C to the right of B. A REQ_MOVE_RIGHT from A will go to B - only if A, B, and C all share the same first line; otherwise it will - skip over B to C. - - Intra-Field Navigation Requests - - These requests drive movement of the edit cursor within the currently - selected field. - - REQ_NEXT_CHAR - Move to next character. - - REQ_PREV_CHAR - Move to previous character. - - REQ_NEXT_LINE - Move to next line. - - REQ_PREV_LINE - Move to previous line. - - REQ_NEXT_WORD - Move to next word. - - REQ_PREV_WORD - Move to previous word. - - REQ_BEG_FIELD - Move to beginning of field. - - REQ_END_FIELD - Move to end of field. - - REQ_BEG_LINE - Move to beginning of line. - - REQ_END_LINE - Move to end of line. - - REQ_LEFT_CHAR - Move left in field. - - REQ_RIGHT_CHAR - Move right in field. - - REQ_UP_CHAR - Move up in field. - - REQ_DOWN_CHAR - Move down in field. - - Each word is separated from the previous and next characters by - whitespace. The commands to move to beginning and end of line or field - look for the first or last non-pad character in their ranges. - - Scrolling Requests - - Fields that are dynamic and have grown and fields explicitly created - with offscreen rows are scrollable. One-line fields scroll - horizontally; multi-line fields scroll vertically. Most scrolling is - triggered by editing and intra-field movement (the library scrolls the - field to keep the cursor visible). It is possible to explicitly - request scrolling with the following requests: - - REQ_SCR_FLINE - Scroll vertically forward a line. - - REQ_SCR_BLINE - Scroll vertically backward a line. - - REQ_SCR_FPAGE - Scroll vertically forward a page. - - REQ_SCR_BPAGE - Scroll vertically backward a page. - - REQ_SCR_FHPAGE - Scroll vertically forward half a page. - - REQ_SCR_BHPAGE - Scroll vertically backward half a page. - - REQ_SCR_FCHAR - Scroll horizontally forward a character. - - REQ_SCR_BCHAR - Scroll horizontally backward a character. - - REQ_SCR_HFLINE - Scroll horizontally one field width forward. - - REQ_SCR_HBLINE - Scroll horizontally one field width backward. - - REQ_SCR_HFHALF - Scroll horizontally one half field width forward. - - REQ_SCR_HBHALF - Scroll horizontally one half field width backward. - - For scrolling purposes, a page of a field is the height of its visible - part. - - Editing Requests - - When you pass the forms driver an ASCII character, it is treated as a - request to add the character to the field's data buffer. Whether this - is an insertion or a replacement depends on the field's edit mode - (insertion is the default. - - The following requests support editing the field and changing the edit - mode: - - REQ_INS_MODE - Set insertion mode. - - REQ_OVL_MODE - Set overlay mode. - - REQ_NEW_LINE - New line request (see below for explanation). - - REQ_INS_CHAR - Insert space at character location. - - REQ_INS_LINE - Insert blank line at character location. - - REQ_DEL_CHAR - Delete character at cursor. - - REQ_DEL_PREV - Delete previous word at cursor. - - REQ_DEL_LINE - Delete line at cursor. - - REQ_DEL_WORD - Delete word at cursor. - - REQ_CLR_EOL - Clear to end of line. - - REQ_CLR_EOF - Clear to end of field. - - REQ_CLEAR_FIELD - Clear entire field. - - The behavior of the REQ_NEW_LINE and REQ_DEL_PREV requests is - complicated and partly controlled by a pair of forms options. The - special cases are triggered when the cursor is at the beginning of a - field, or on the last line of the field. - - First, we consider REQ_NEW_LINE: - - The normal behavior of REQ_NEW_LINE in insert mode is to break the - current line at the position of the edit cursor, inserting the portion - of the current line after the cursor as a new line following the - current and moving the cursor to the beginning of that new line (you - may think of this as inserting a newline in the field buffer). - - The normal behavior of REQ_NEW_LINE in overlay mode is to clear the - current line from the position of the edit cursor to end of line. The - cursor is then moved to the beginning of the next line. - - However, REQ_NEW_LINE at the beginning of a field, or on the last line - of a field, instead does a REQ_NEXT_FIELD. O_NL_OVERLOAD option is - off, this special action is disabled. - - Now, let us consider REQ_DEL_PREV: - - The normal behavior of REQ_DEL_PREV is to delete the previous - character. If insert mode is on, and the cursor is at the start of a - line, and the text on that line will fit on the previous one, it - instead appends the contents of the current line to the previous one - and deletes the current line (you may think of this as deleting a - newline from the field buffer). - - However, REQ_DEL_PREV at the beginning of a field is instead treated - as a REQ_PREV_FIELD. - - If the O_BS_OVERLOAD option is off, this special action is disabled - and the forms driver just returns E_REQUEST_DENIED. - - See Form Options for discussion of how to set and clear the overload - options. - - Order Requests - - If the type of your field is ordered, and has associated functions for - getting the next and previous values of the type from a given value, - there are requests that can fetch that value into the field buffer: - - REQ_NEXT_CHOICE - Place the successor value of the current value in the buffer. - - REQ_PREV_CHOICE - Place the predecessor value of the current value in the buffer. - - Of the built-in field types, only TYPE_ENUM has built-in successor and - predecessor functions. When you define a field type of your own (see - Custom Validation Types), you can associate our own ordering - functions. - - Application Commands - - Form requests are represented as integers above the curses value - greater than KEY_MAX and less than or equal to the constant - MAX_COMMAND. If your input-virtualization routine returns a value - above MAX_COMMAND, the forms driver will ignore it. - -Field Change Hooks - - It is possible to set function hooks to be executed whenever the - current field or form changes. Here are the functions that support - this: -typedef void (*HOOK)(); /* pointer to function returning void */ - -int set_form_init(FORM *form, /* form to alter */ - HOOK hook); /* initialization hook */ - -HOOK form_init(FORM *form); /* form to query */ - -int set_form_term(FORM *form, /* form to alter */ - HOOK hook); /* termination hook */ - -HOOK form_term(FORM *form); /* form to query */ - -int set_field_init(FORM *form, /* form to alter */ - HOOK hook); /* initialization hook */ - -HOOK field_init(FORM *form); /* form to query */ - -int set_field_term(FORM *form, /* form to alter */ - HOOK hook); /* termination hook */ - -HOOK field_term(FORM *form); /* form to query */ - - These functions allow you to either set or query four different hooks. - In each of the set functions, the second argument should be the - address of a hook function. These functions differ only in the timing - of the hook call. - - form_init - This hook is called when the form is posted; also, just after - each page change operation. - - field_init - This hook is called when the form is posted; also, just after - each field change - - field_term - This hook is called just after field validation; that is, just - before the field is altered. It is also called when the form is - unposted. - - form_term - This hook is called when the form is unposted; also, just - before each page change operation. - - Calls to these hooks may be triggered - 1. When user editing requests are processed by the forms driver - 2. When the current page is changed by set_current_field() call - 3. When the current field is changed by a set_form_page() call - - See Field Change Commands for discussion of the latter two cases. - - You can set a default hook for all fields by passing one of the set - functions a NULL first argument. - - You can disable any of these hooks by (re)setting them to NULL, the - default value. - -Field Change Commands - - Normally, navigation through the form will be driven by the user's - input requests. But sometimes it is useful to be able to move the - focus for editing and viewing under control of your application, or - ask which field it currently is in. The following functions help you - accomplish this: -int set_current_field(FORM *form, /* form to alter */ - FIELD *field); /* field to shift to */ - -FIELD *current_field(FORM *form); /* form to query */ - -int field_index(FORM *form, /* form to query */ - FIELD *field); /* field to get index of */ - - The function field_index() returns the index of the given field in the - given form's field array (the array passed to new_form() or - set_form_fields()). - - The initial current field of a form is the first active field on the - first page. The function set_form_fields() resets this. - - It is also possible to move around by pages. -int set_form_page(FORM *form, /* form to alter */ - int page); /* page to go to (0-origin) */ - -int form_page(FORM *form); /* return form's current page */ - - The initial page of a newly-created form is 0. The function - set_form_fields() resets this. - -Form Options - - Like fields, forms may have control option bits. They can be changed - or queried with these functions: -int set_form_opts(FORM *form, /* form to alter */ - int attr); /* attribute to set */ - -int form_opts_on(FORM *form, /* form to alter */ - int attr); /* attributes to turn on */ - -int form_opts_off(FORM *form, /* form to alter */ - int attr); /* attributes to turn off */ - -int form_opts(FORM *form); /* form to query */ - - By default, all options are on. Here are the available option bits: - - O_NL_OVERLOAD - Enable overloading of REQ_NEW_LINE as described in Editing - Requests. The value of this option is ignored on dynamic fields - that have not reached their size limit; these have no last - line, so the circumstances for triggering a REQ_NEXT_FIELD - never arise. - - O_BS_OVERLOAD - Enable overloading of REQ_DEL_PREV as described in Editing - Requests. - - The option values are bit-masks and can be composed with logical-or in - the obvious way. - -Custom Validation Types - - The form library gives you the capability to define custom validation - types of your own. Further, the optional additional arguments of - set_field_type effectively allow you to parameterize validation types. - Most of the complications in the validation-type interface have to do - with the handling of the additional arguments within custom validation - functions. - - Union Types - - The simplest way to create a custom data type is to compose it from - two preexisting ones: -FIELD *link_fieldtype(FIELDTYPE *type1, - FIELDTYPE *type2); - - This function creates a field type that will accept any of the values - legal for either of its argument field types (which may be either - predefined or programmer-defined). If a set_field_type() call later - requires arguments, the new composite type expects all arguments for - the first type, than all arguments for the second. Order functions - (see Order Requests) associated with the component types will work on - the composite; what it does is check the validation function for the - first type, then for the second, to figure what type the buffer - contents should be treated as. - - New Field Types - - To create a field type from scratch, you need to specify one or both - of the following things: - * A character-validation function, to check each character as it is - entered. - * A field-validation function to be applied on exit from the field. - - Here's how you do that: -typedef int (*HOOK)(); /* pointer to function returning int */ - -FIELDTYPE *new_fieldtype(HOOK f_validate, /* field validator */ - HOOK c_validate) /* character validator */ - - -int free_fieldtype(FIELDTYPE *ftype); /* type to free */ - - At least one of the arguments of new_fieldtype() must be non-NULL. The - forms driver will automatically call the new type's validation - functions at appropriate points in processing a field of the new type. - - The function free_fieldtype() deallocates the argument fieldtype, - freeing all storage associated with it. - - Normally, a field validator is called when the user attempts to leave - the field. Its first argument is a field pointer, from which it can - get to field buffer 0 and test it. If the function returns TRUE, the - operation succeeds; if it returns FALSE, the edit cursor stays in the - field. - - A character validator gets the character passed in as a first - argument. It too should return TRUE if the character is valid, FALSE - otherwise. - - Validation Function Arguments - - Your field- and character- validation functions will be passed a - second argument as well. This second argument is the address of a - structure (which we'll call a pile) built from any of the - field-type-specific arguments passed to set_field_type(). If no such - arguments are defined for the field type, this pile pointer argument - will be NULL. - - In order to arrange for such arguments to be passed to your validation - functions, you must associate a small set of storage-management - functions with the type. The forms driver will use these to synthesize - a pile from the trailing arguments of each set_field_type() argument, - and a pointer to the pile will be passed to the validation functions. - - Here is how you make the association: -typedef char *(*PTRHOOK)(); /* pointer to function returning (char *) */ -typedef void (*VOIDHOOK)(); /* pointer to function returning void */ - -int set_fieldtype_arg(FIELDTYPE *type, /* type to alter */ - PTRHOOK make_str, /* make structure from args */ - PTRHOOK copy_str, /* make copy of structure */ - VOIDHOOK free_str); /* free structure storage */ - - Here is how the storage-management hooks are used: - - make_str - This function is called by set_field_type(). It gets one - argument, a va_list of the type-specific arguments passed to - set_field_type(). It is expected to return a pile pointer to a - data structure that encapsulates those arguments. - - copy_str - This function is called by form library functions that allocate - new field instances. It is expected to take a pile pointer, - copy the pile to allocated storage, and return the address of - the pile copy. - - free_str - This function is called by field- and type-deallocation - routines in the library. It takes a pile pointer argument, and - is expected to free the storage of that pile. - - The make_str and copy_str functions may return NULL to signal - allocation failure. The library routines will that call them will - return error indication when this happens. Thus, your validation - functions should never see a NULL file pointer and need not check - specially for it. - - Order Functions For Custom Types - - Some custom field types are simply ordered in the same well-defined - way that TYPE_ENUM is. For such types, it is possible to define - successor and predecessor functions to support the REQ_NEXT_CHOICE and - REQ_PREV_CHOICE requests. Here's how: -typedef int (*INTHOOK)(); /* pointer to function returning int */ - -int set_fieldtype_arg(FIELDTYPE *type, /* type to alter */ - INTHOOK succ, /* get successor value */ - INTHOOK pred); /* get predecessor value */ - - The successor and predecessor arguments will each be passed two - arguments; a field pointer, and a pile pointer (as for the validation - functions). They are expected to use the function field_buffer() to - read the current value, and set_field_buffer() on buffer 0 to set the - next or previous value. Either hook may return TRUE to indicate - success (a legal next or previous value was set) or FALSE to indicate - failure. - - Avoiding Problems - - The interface for defining custom types is complicated and tricky. - Rather than attempting to create a custom type entirely from scratch, - you should start by studying the library source code for whichever of - the pre-defined types seems to be closest to what you want. - - Use that code as a model, and evolve it towards what you really want. - You will avoid many problems and annoyances that way. The code in the - ncurses library has been specifically exempted from the package - copyright to support this. - - If your custom type defines order functions, have do something - intuitive with a blank field. A useful convention is to make the - successor of a blank field the types minimum value, and its - predecessor the maximum. diff --git a/src/libs/ncurses/edit_man.sh b/src/libs/ncurses/edit_man.sh deleted file mode 100755 index 8b34a2f819..0000000000 --- a/src/libs/ncurses/edit_man.sh +++ /dev/null @@ -1,158 +0,0 @@ -#! /bin/sh -# this script is generated by the configure-script CF_MAN_PAGES macro. -prefix="/usr/local" -datadir="${prefix}/share" -NCURSES_OSPEED="short" -TERMINFO="/usr/local/share/terminfo" -MKDIRS="sh /boot/home/develop/haiku/haiku/src/libs/ncurses/mkinstalldirs" -INSTALL="/bin/install -c" -INSTALL_DATA="${INSTALL} -m 644" -transform="s,x,x," - -TMP=${TMPDIR-/tmp}/man$$ -trap "rm -f $TMP" 0 1 2 5 15 - -form=$1 -shift || exit 1 - -verb=$1 -shift || exit 1 - -mandir=$1 -shift || exit 1 - -srcdir=$1 -top_srcdir=$srcdir/.. -shift || exit 1 - -if test "$form" = normal ; then - if test "no" = yes ; then - if test "no" = no ; then - sh $0 format $verb $mandir $srcdir $* - exit 0 - fi - fi - cf_subdir=$mandir/man - cf_tables=no -else - cf_subdir=$mandir/cat - cf_tables=yes -fi - -# process the list of source-files -for i in $* ; do -case $i in #(vi -*.orig|*.rej) ;; #(vi -*.[0-9]*) - section=`expr "$i" : '.*\.\([0-9]\)[xm]*'`; - if test $verb = installing ; then - if test ! -d $cf_subdir${section} ; then - $MKDIRS $cf_subdir$section - fi - fi - aliases= - source=`basename $i` - inalias=$source - test ! -f $inalias && inalias="$srcdir/$inalias" - if test ! -f $inalias ; then - echo .. skipped $source - continue - fi - aliases=`sed -f $top_srcdir/man/manlinks.sed $inalias | sort -u` - # perform program transformations for section 1 man pages - if test $section = 1 ; then - target=$cf_subdir${section}/`echo $source|sed "${transform}"` - else - target=$cf_subdir${section}/$source - fi - prog_captoinfo=`echo captoinfo|sed "${transform}"` - prog_clear=`echo clear|sed "${transform}"` - prog_infocmp=`echo infocmp|sed "${transform}"` - prog_infotocap=`echo infotocap|sed "${transform}"` - prog_tic=`echo tic|sed "${transform}"` - prog_toe=`echo toe|sed "${transform}"` - prog_tput=`echo tput|sed "${transform}"` - sed -e "s,@DATADIR@,$datadir," \ - -e "s,@TERMINFO@,$TERMINFO," \ - -e "s,@NCURSES_OSPEED@,$NCURSES_OSPEED," \ - -e "s,@CAPTOINFO@,$prog_captoinfo," \ - -e "s,@CLEAR@,$prog_clear," \ - -e "s,@INFOCMP@,$prog_infocmp," \ - -e "s,@INFOTOCAP@,$prog_infotocap," \ - -e "s,@TIC@,$prog_tic," \ - -e "s,@TOE@,$prog_toe," \ - -e "s,@TPUT@,$prog_tput," \ - < $i >$TMP -if test $cf_tables = yes ; then - tbl $TMP >$TMP.out - mv $TMP.out $TMP -fi - if test $form = format ; then - nroff -man $TMP >$TMP.out - mv $TMP.out $TMP - fi - suffix=`basename $target | sed -e 's%^[^.]*%%'` - if test $verb = installing ; then - echo $verb $target - $INSTALL_DATA $TMP $target - test -n "$aliases" && ( - cd $cf_subdir${section} && ( - source=`echo $target |sed -e 's%^.*/\([^/][^/]*/[^/][^/]*$\)%\1%'` - test -n "" && source=`echo $source |sed -e 's%\.$%%'` - target=`basename $target` - for cf_alias in $aliases - do - if test $section = 1 ; then - cf_alias=`echo $cf_alias|sed "${transform}"` - fi - - if test "yes" = yes ; then - if test -f $cf_alias${suffix} ; then - if ( cmp -s $target $cf_alias${suffix} ) - then - continue - fi - fi - echo .. $verb alias $cf_alias${suffix} - rm -f $cf_alias${suffix} - ln -s $target $cf_alias${suffix} - elif test "$target" != "$cf_alias${suffix}" ; then - echo ".so $source" >$TMP - echo .. $verb alias $cf_alias${suffix} - rm -f $cf_alias${suffix} - $INSTALL_DATA $TMP $cf_alias${suffix} - fi - done - ) - ) - elif test $verb = removing ; then - echo $verb $target - rm -f $target - test -n "$aliases" && ( - cd $cf_subdir${section} && ( - for cf_alias in $aliases - do - if test $section = 1 ; then - cf_alias=`echo $cf_alias|sed "${transform}"` - fi - - echo .. $verb alias $cf_alias${suffix} - rm -f $cf_alias${suffix} - done - ) - ) - else -# echo ".hy 0" - cat $TMP - fi - ;; -esac -done - -if test no = yes ; then -if test $form != format ; then - sh $0 format $verb $mandir $srcdir $* -fi -fi - -exit 0 diff --git a/src/libs/ncurses/form/Makefile b/src/libs/ncurses/form/Makefile deleted file mode 100644 index 5530bea52d..0000000000 --- a/src/libs/ncurses/form/Makefile +++ /dev/null @@ -1,759 +0,0 @@ -# $Id: Makefile.in,v 1.41 2004/05/08 19:14:14 tom Exp $ -############################################################################## -# Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996,1997 -# -# Makefile for form source code. -# -# This makes the following: -# libraries (normal/debug/profile/shared) -# -# The variable 'srcdir' refers to the source-distribution, and can be set with -# the configure script by "--srcdir=DIR". -# -# The rules are organized to produce the libraries for the configured models, - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -x = -o = .o - -MODEL = normal -DESTDIR = -srcdir = . -prefix = /usr/local -exec_prefix = ${prefix} -bindir = ${exec_prefix}/bin -libdir = ${exec_prefix}/lib -includedir = $(prefix)/include/ncurses - -LIBTOOL = -LIBTOOL_CLEAN = -LIBTOOL_COMPILE = -LIBTOOL_LINK = -LIBTOOL_INSTALL = -LIBTOOL_UNINSTALL = - -INSTALL = /bin/install -c -INSTALL_LIB = /bin/install -c -m 644 -INSTALL_PROG = @INSTALL_PROG@ -INSTALL_DATA = ${INSTALL} -m 644 - -AR = ar -AR_OPTS = rv -AWK = gawk -LD = ld -LN_S = ln -s - -CC = gcc -CPP = gcc -E -CFLAGS = -O2 - -CPPFLAGS = -I../ncurses -DHAVE_CONFIG_H -I. -I../include -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=199506L -DNDEBUG -I$(includedir) - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) - -CFLAGS_LIBTOOL = $(CCFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) -g -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) -fPIC - -CFLAGS_DEFAULT = $(CFLAGS_NORMAL) - -LINK = $(LIBTOOL_LINK) $(CC) -LDFLAGS = - -SHLIB_DIRS = -L../lib -SHLIB_LIST = $(SHLIB_DIRS) -lncurses - -MK_SHARED_LIB = $(CC) -o $@ -Xlinker -soname=`basename $@` -nostart -e 0 - -NCURSES_MAJOR = 5 -NCURSES_MINOR = 5 -REL_VERSION = 5.5 -ABI_VERSION = 5 - -RANLIB = ranlib - -IMPORT_LIB = -SHARED_LIB = -LIBRARIES = ../lib/libform.a ../lib/libform_g.a - -LINT = -LINT_OPTS = -LINT_LIBS = -lform -lncurses - -AUTO_SRC = \ - ../include/form.h - -################################################################################ -all \ -libs \ -install :: $(AUTO_SRC) $(LIBRARIES) - -sources : $(AUTO_SRC) - -$(DESTDIR)$(bindir) \ -$(DESTDIR)$(libdir) : - sh $(srcdir)/../mkinstalldirs $@ - -# make copies to simplify include-paths while still keeping form's include -# file in this directory. -../include/form.h : $(srcdir)/form.h - -rm -f $@ - cp $(srcdir)/form.h $@ - -FORM_PRIV_H = \ - $(srcdir)/form.priv.h \ - $(srcdir)/form.h \ - ../include/mf_common.h \ - ../include/curses.h \ - ../include/eti.h - -tags: - ctags *.[ch] - -TAGS: - etags *.[ch] - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace - -clean :: mostlyclean - -rm -f $(AUTO_SRC) - -distclean :: clean - -rm -f Makefile - -realclean :: distclean - -../include/mf_common.h \ -../include/eti.h : - cd ../menu && $(MAKE) $@ - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### - -# generated by mk-0th.awk -# libname: form -# subsets: termlib+ext_tinfo+base+ext_funcs - -.SUFFIXES: .c .cc .h .i .ii -.c.i : - $(CPP) $(CPPFLAGS) $< >$@ -.cc.ii : - $(CPP) $(CPPFLAGS) $< >$@ -.h.i : - $(CPP) $(CPPFLAGS) $< >$@ - -C_SRC = \ - $(srcdir)/f_trace.c \ - $(srcdir)/fld_arg.c \ - $(srcdir)/fld_attr.c \ - $(srcdir)/fld_current.c \ - $(srcdir)/fld_def.c \ - $(srcdir)/fld_dup.c \ - $(srcdir)/fld_ftchoice.c \ - $(srcdir)/fld_ftlink.c \ - $(srcdir)/fld_info.c \ - $(srcdir)/fld_just.c \ - $(srcdir)/fld_link.c \ - $(srcdir)/fld_max.c \ - $(srcdir)/fld_move.c \ - $(srcdir)/fld_newftyp.c \ - $(srcdir)/fld_opts.c \ - $(srcdir)/fld_pad.c \ - $(srcdir)/fld_page.c \ - $(srcdir)/fld_stat.c \ - $(srcdir)/fld_type.c \ - $(srcdir)/fld_user.c \ - $(srcdir)/frm_cursor.c \ - $(srcdir)/frm_data.c \ - $(srcdir)/frm_def.c \ - $(srcdir)/frm_driver.c \ - $(srcdir)/frm_hook.c \ - $(srcdir)/frm_opts.c \ - $(srcdir)/frm_page.c \ - $(srcdir)/frm_post.c \ - $(srcdir)/frm_req_name.c \ - $(srcdir)/frm_scale.c \ - $(srcdir)/frm_sub.c \ - $(srcdir)/frm_user.c \ - $(srcdir)/frm_win.c \ - $(srcdir)/fty_alnum.c \ - $(srcdir)/fty_alpha.c \ - $(srcdir)/fty_enum.c \ - $(srcdir)/fty_int.c \ - $(srcdir)/fty_ipv4.c \ - $(srcdir)/fty_num.c \ - $(srcdir)/fty_regex.c - -# Producing llib-lform is time-consuming, so there's no direct-dependency for -# it in the lintlib rule. We'll only remove in the cleanest setup. -clean :: - rm -f llib-lform.* - -realclean :: - rm -f llib-lform - -llib-lform : $(C_SRC) - cproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(C_SRC) >$@ - -lintlib : - sh $(srcdir)/../misc/makellib form $(CPPFLAGS) -lint : - $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(C_SRC) $(LINT_LIBS) - -# generated by mk-1st.awk (subset=termlib+ext_tinfo+base+ext_funcs) -# name: form -# traces: DEBUG -# MODEL: NORMAL -# model: objects -# prefix: lib -# suffix: .a -# subset: termlib+ext_tinfo+base+ext_funcs -# ShlibVer: auto -# ShlibVerInfix: no -# DoLinks: no -# rmSoLocs: no -# ldconfig: -# overwrite: no -# depend: ../include/ncurses_cfg.h ./form.priv.h -# host: i586-pc-beos - -NORMAL_OBJS = \ - ../objects/fld_arg$o \ - ../objects/fld_attr$o \ - ../objects/fld_current$o \ - ../objects/fld_def$o \ - ../objects/fld_dup$o \ - ../objects/fld_ftchoice$o \ - ../objects/fld_ftlink$o \ - ../objects/fld_info$o \ - ../objects/fld_just$o \ - ../objects/fld_link$o \ - ../objects/fld_max$o \ - ../objects/fld_move$o \ - ../objects/fld_newftyp$o \ - ../objects/fld_opts$o \ - ../objects/fld_pad$o \ - ../objects/fld_page$o \ - ../objects/fld_stat$o \ - ../objects/fld_type$o \ - ../objects/fld_user$o \ - ../objects/frm_cursor$o \ - ../objects/frm_data$o \ - ../objects/frm_def$o \ - ../objects/frm_driver$o \ - ../objects/frm_hook$o \ - ../objects/frm_opts$o \ - ../objects/frm_page$o \ - ../objects/frm_post$o \ - ../objects/frm_req_name$o \ - ../objects/frm_scale$o \ - ../objects/frm_sub$o \ - ../objects/frm_user$o \ - ../objects/frm_win$o \ - ../objects/fty_alnum$o \ - ../objects/fty_alpha$o \ - ../objects/fty_enum$o \ - ../objects/fty_int$o \ - ../objects/fty_ipv4$o \ - ../objects/fty_num$o \ - ../objects/fty_regex$o - -$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./form.priv.h - -../lib/libform.a : $(NORMAL_OBJS) - $(AR) $(AR_OPTS) $@ $? - $(RANLIB) $@ - -install \ -install.libs \ -install.form :: $(DESTDIR)$(libdir) ../lib/libform.a - @echo installing ../lib/libform.a as $(DESTDIR)$(libdir)/libform.a - $(INSTALL_DATA) ../lib/libform.a $(DESTDIR)$(libdir)/libform.a - $(RANLIB) $(DESTDIR)$(libdir)/libform.a - -uninstall \ -uninstall.libs \ -uninstall.form :: - @echo uninstalling $(DESTDIR)$(libdir)/libform.a - -@rm -f $(DESTDIR)$(libdir)/libform.a - -clean :: - -rm -f ../lib/libform.a - -mostlyclean:: - -rm -f $(NORMAL_OBJS) - -# generated by mk-2nd.awk -# model: objects -# MODEL: NORMAL -# echo: yes -# subset: termlib+ext_tinfo+base+ext_funcs -# crenames: yes -# cxxrenames: yes -# traces: DEBUG -# srcdir: . - -../objects/fld_arg$o : $(srcdir)/fld_arg.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_arg.c -o ../objects/fld_arg$o - -../objects/fld_attr$o : $(srcdir)/fld_attr.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_attr.c -o ../objects/fld_attr$o - -../objects/fld_current$o : $(srcdir)/fld_current.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_current.c -o ../objects/fld_current$o - -../objects/fld_def$o : $(srcdir)/fld_def.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_def.c -o ../objects/fld_def$o - -../objects/fld_dup$o : $(srcdir)/fld_dup.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_dup.c -o ../objects/fld_dup$o - -../objects/fld_ftchoice$o : $(srcdir)/fld_ftchoice.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_ftchoice.c -o ../objects/fld_ftchoice$o - -../objects/fld_ftlink$o : $(srcdir)/fld_ftlink.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_ftlink.c -o ../objects/fld_ftlink$o - -../objects/fld_info$o : $(srcdir)/fld_info.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_info.c -o ../objects/fld_info$o - -../objects/fld_just$o : $(srcdir)/fld_just.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_just.c -o ../objects/fld_just$o - -../objects/fld_link$o : $(srcdir)/fld_link.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_link.c -o ../objects/fld_link$o - -../objects/fld_max$o : $(srcdir)/fld_max.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_max.c -o ../objects/fld_max$o - -../objects/fld_move$o : $(srcdir)/fld_move.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_move.c -o ../objects/fld_move$o - -../objects/fld_newftyp$o : $(srcdir)/fld_newftyp.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_newftyp.c -o ../objects/fld_newftyp$o - -../objects/fld_opts$o : $(srcdir)/fld_opts.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_opts.c -o ../objects/fld_opts$o - -../objects/fld_pad$o : $(srcdir)/fld_pad.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_pad.c -o ../objects/fld_pad$o - -../objects/fld_page$o : $(srcdir)/fld_page.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_page.c -o ../objects/fld_page$o - -../objects/fld_stat$o : $(srcdir)/fld_stat.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_stat.c -o ../objects/fld_stat$o - -../objects/fld_type$o : $(srcdir)/fld_type.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_type.c -o ../objects/fld_type$o - -../objects/fld_user$o : $(srcdir)/fld_user.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_user.c -o ../objects/fld_user$o - -../objects/frm_cursor$o : $(srcdir)/frm_cursor.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_cursor.c -o ../objects/frm_cursor$o - -../objects/frm_data$o : $(srcdir)/frm_data.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_data.c -o ../objects/frm_data$o - -../objects/frm_def$o : $(srcdir)/frm_def.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_def.c -o ../objects/frm_def$o - -../objects/frm_driver$o : $(srcdir)/frm_driver.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_driver.c -o ../objects/frm_driver$o - -../objects/frm_hook$o : $(srcdir)/frm_hook.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_hook.c -o ../objects/frm_hook$o - -../objects/frm_opts$o : $(srcdir)/frm_opts.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_opts.c -o ../objects/frm_opts$o - -../objects/frm_page$o : $(srcdir)/frm_page.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_page.c -o ../objects/frm_page$o - -../objects/frm_post$o : $(srcdir)/frm_post.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_post.c -o ../objects/frm_post$o - -../objects/frm_req_name$o : $(srcdir)/frm_req_name.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_req_name.c -o ../objects/frm_req_name$o - -../objects/frm_scale$o : $(srcdir)/frm_scale.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_scale.c -o ../objects/frm_scale$o - -../objects/frm_sub$o : $(srcdir)/frm_sub.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_sub.c -o ../objects/frm_sub$o - -../objects/frm_user$o : $(srcdir)/frm_user.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_user.c -o ../objects/frm_user$o - -../objects/frm_win$o : $(srcdir)/frm_win.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_win.c -o ../objects/frm_win$o - -../objects/fty_alnum$o : $(srcdir)/fty_alnum.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_alnum.c -o ../objects/fty_alnum$o - -../objects/fty_alpha$o : $(srcdir)/fty_alpha.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_alpha.c -o ../objects/fty_alpha$o - -../objects/fty_enum$o : $(srcdir)/fty_enum.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_enum.c -o ../objects/fty_enum$o - -../objects/fty_int$o : $(srcdir)/fty_int.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_int.c -o ../objects/fty_int$o - -../objects/fty_ipv4$o : $(srcdir)/fty_ipv4.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_ipv4.c -o ../objects/fty_ipv4$o - -../objects/fty_num$o : $(srcdir)/fty_num.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_num.c -o ../objects/fty_num$o - -../objects/fty_regex$o : $(srcdir)/fty_regex.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_regex.c -o ../objects/fty_regex$o - - -# generated by mk-1st.awk (subset=termlib+ext_tinfo+base+ext_funcs) -# name: form -# traces: DEBUG -# MODEL: DEBUG -# model: obj_g -# prefix: lib -# suffix: _g.a -# subset: termlib+ext_tinfo+base+ext_funcs -# ShlibVer: auto -# ShlibVerInfix: no -# DoLinks: no -# rmSoLocs: no -# ldconfig: -# overwrite: no -# depend: ../include/ncurses_cfg.h ./form.priv.h -# host: i586-pc-beos - -DEBUG_OBJS = \ - ../obj_g/f_trace$o \ - ../obj_g/fld_arg$o \ - ../obj_g/fld_attr$o \ - ../obj_g/fld_current$o \ - ../obj_g/fld_def$o \ - ../obj_g/fld_dup$o \ - ../obj_g/fld_ftchoice$o \ - ../obj_g/fld_ftlink$o \ - ../obj_g/fld_info$o \ - ../obj_g/fld_just$o \ - ../obj_g/fld_link$o \ - ../obj_g/fld_max$o \ - ../obj_g/fld_move$o \ - ../obj_g/fld_newftyp$o \ - ../obj_g/fld_opts$o \ - ../obj_g/fld_pad$o \ - ../obj_g/fld_page$o \ - ../obj_g/fld_stat$o \ - ../obj_g/fld_type$o \ - ../obj_g/fld_user$o \ - ../obj_g/frm_cursor$o \ - ../obj_g/frm_data$o \ - ../obj_g/frm_def$o \ - ../obj_g/frm_driver$o \ - ../obj_g/frm_hook$o \ - ../obj_g/frm_opts$o \ - ../obj_g/frm_page$o \ - ../obj_g/frm_post$o \ - ../obj_g/frm_req_name$o \ - ../obj_g/frm_scale$o \ - ../obj_g/frm_sub$o \ - ../obj_g/frm_user$o \ - ../obj_g/frm_win$o \ - ../obj_g/fty_alnum$o \ - ../obj_g/fty_alpha$o \ - ../obj_g/fty_enum$o \ - ../obj_g/fty_int$o \ - ../obj_g/fty_ipv4$o \ - ../obj_g/fty_num$o \ - ../obj_g/fty_regex$o - -$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./form.priv.h - -../lib/libform_g.a : $(DEBUG_OBJS) - $(AR) $(AR_OPTS) $@ $? - $(RANLIB) $@ - -install \ -install.libs \ -install.form :: $(DESTDIR)$(libdir) ../lib/libform_g.a - @echo installing ../lib/libform_g.a as $(DESTDIR)$(libdir)/libform_g.a - $(INSTALL_DATA) ../lib/libform_g.a $(DESTDIR)$(libdir)/libform_g.a - $(RANLIB) $(DESTDIR)$(libdir)/libform_g.a - -uninstall \ -uninstall.libs \ -uninstall.form :: - @echo uninstalling $(DESTDIR)$(libdir)/libform_g.a - -@rm -f $(DESTDIR)$(libdir)/libform_g.a - -clean :: - -rm -f ../lib/libform_g.a - -mostlyclean:: - -rm -f $(DEBUG_OBJS) - -# generated by mk-2nd.awk -# model: obj_g -# MODEL: DEBUG -# echo: yes -# subset: termlib+ext_tinfo+base+ext_funcs -# crenames: yes -# cxxrenames: yes -# traces: DEBUG -# srcdir: . - -../obj_g/f_trace$o : $(srcdir)/f_trace.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/f_trace.c -o ../obj_g/f_trace$o - -../obj_g/fld_arg$o : $(srcdir)/fld_arg.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_arg.c -o ../obj_g/fld_arg$o - -../obj_g/fld_attr$o : $(srcdir)/fld_attr.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_attr.c -o ../obj_g/fld_attr$o - -../obj_g/fld_current$o : $(srcdir)/fld_current.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_current.c -o ../obj_g/fld_current$o - -../obj_g/fld_def$o : $(srcdir)/fld_def.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_def.c -o ../obj_g/fld_def$o - -../obj_g/fld_dup$o : $(srcdir)/fld_dup.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_dup.c -o ../obj_g/fld_dup$o - -../obj_g/fld_ftchoice$o : $(srcdir)/fld_ftchoice.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_ftchoice.c -o ../obj_g/fld_ftchoice$o - -../obj_g/fld_ftlink$o : $(srcdir)/fld_ftlink.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_ftlink.c -o ../obj_g/fld_ftlink$o - -../obj_g/fld_info$o : $(srcdir)/fld_info.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_info.c -o ../obj_g/fld_info$o - -../obj_g/fld_just$o : $(srcdir)/fld_just.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_just.c -o ../obj_g/fld_just$o - -../obj_g/fld_link$o : $(srcdir)/fld_link.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_link.c -o ../obj_g/fld_link$o - -../obj_g/fld_max$o : $(srcdir)/fld_max.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_max.c -o ../obj_g/fld_max$o - -../obj_g/fld_move$o : $(srcdir)/fld_move.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_move.c -o ../obj_g/fld_move$o - -../obj_g/fld_newftyp$o : $(srcdir)/fld_newftyp.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_newftyp.c -o ../obj_g/fld_newftyp$o - -../obj_g/fld_opts$o : $(srcdir)/fld_opts.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_opts.c -o ../obj_g/fld_opts$o - -../obj_g/fld_pad$o : $(srcdir)/fld_pad.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_pad.c -o ../obj_g/fld_pad$o - -../obj_g/fld_page$o : $(srcdir)/fld_page.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_page.c -o ../obj_g/fld_page$o - -../obj_g/fld_stat$o : $(srcdir)/fld_stat.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_stat.c -o ../obj_g/fld_stat$o - -../obj_g/fld_type$o : $(srcdir)/fld_type.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_type.c -o ../obj_g/fld_type$o - -../obj_g/fld_user$o : $(srcdir)/fld_user.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_user.c -o ../obj_g/fld_user$o - -../obj_g/frm_cursor$o : $(srcdir)/frm_cursor.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_cursor.c -o ../obj_g/frm_cursor$o - -../obj_g/frm_data$o : $(srcdir)/frm_data.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_data.c -o ../obj_g/frm_data$o - -../obj_g/frm_def$o : $(srcdir)/frm_def.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_def.c -o ../obj_g/frm_def$o - -../obj_g/frm_driver$o : $(srcdir)/frm_driver.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_driver.c -o ../obj_g/frm_driver$o - -../obj_g/frm_hook$o : $(srcdir)/frm_hook.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_hook.c -o ../obj_g/frm_hook$o - -../obj_g/frm_opts$o : $(srcdir)/frm_opts.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_opts.c -o ../obj_g/frm_opts$o - -../obj_g/frm_page$o : $(srcdir)/frm_page.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_page.c -o ../obj_g/frm_page$o - -../obj_g/frm_post$o : $(srcdir)/frm_post.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_post.c -o ../obj_g/frm_post$o - -../obj_g/frm_req_name$o : $(srcdir)/frm_req_name.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_req_name.c -o ../obj_g/frm_req_name$o - -../obj_g/frm_scale$o : $(srcdir)/frm_scale.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_scale.c -o ../obj_g/frm_scale$o - -../obj_g/frm_sub$o : $(srcdir)/frm_sub.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_sub.c -o ../obj_g/frm_sub$o - -../obj_g/frm_user$o : $(srcdir)/frm_user.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_user.c -o ../obj_g/frm_user$o - -../obj_g/frm_win$o : $(srcdir)/frm_win.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_win.c -o ../obj_g/frm_win$o - -../obj_g/fty_alnum$o : $(srcdir)/fty_alnum.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_alnum.c -o ../obj_g/fty_alnum$o - -../obj_g/fty_alpha$o : $(srcdir)/fty_alpha.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_alpha.c -o ../obj_g/fty_alpha$o - -../obj_g/fty_enum$o : $(srcdir)/fty_enum.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_enum.c -o ../obj_g/fty_enum$o - -../obj_g/fty_int$o : $(srcdir)/fty_int.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_int.c -o ../obj_g/fty_int$o - -../obj_g/fty_ipv4$o : $(srcdir)/fty_ipv4.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_ipv4.c -o ../obj_g/fty_ipv4$o - -../obj_g/fty_num$o : $(srcdir)/fty_num.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_num.c -o ../obj_g/fty_num$o - -../obj_g/fty_regex$o : $(srcdir)/fty_regex.c \ - $(FORM_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_regex.c -o ../obj_g/fty_regex$o - -$(DESTDIR)$(includedir) : - sh $(srcdir)/../mkinstalldirs $@ - -install \ -install.libs \ -install.includes :: $(AUTO_SRC) $(DESTDIR)$(includedir) \ - $(srcdir)/form.h - @ (cd $(DESTDIR)$(includedir) && rm -f form.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/form.h - -uninstall \ -uninstall.libs \ -uninstall.includes :: - -@ (cd $(DESTDIR)$(includedir) && rm -f form.h) -depend : $(AUTO_SRC) - makedepend -- $(CPPFLAGS) -- $(C_SRC) - -# DO NOT DELETE THIS LINE -- make depend depends on it. diff --git a/src/libs/ncurses/form/Makefile.in b/src/libs/ncurses/form/Makefile.in deleted file mode 100644 index 4b052da33d..0000000000 --- a/src/libs/ncurses/form/Makefile.in +++ /dev/null @@ -1,167 +0,0 @@ -# $Id: Makefile.in,v 1.41 2004/05/08 19:14:14 tom Exp $ -############################################################################## -# Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996,1997 -# -# Makefile for form source code. -# -# This makes the following: -# libraries (normal/debug/profile/shared) -# -# The variable 'srcdir' refers to the source-distribution, and can be set with -# the configure script by "--srcdir=DIR". -# -# The rules are organized to produce the libraries for the configured models, - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -x = @EXEEXT@ -o = .@OBJEXT@ - -MODEL = @DFT_LWR_MODEL@ -DESTDIR = @DESTDIR@ -srcdir = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ -bindir = @bindir@ -libdir = @libdir@ -includedir = @includedir@ - -LIBTOOL = @LIBTOOL@ -LIBTOOL_CLEAN = @LIB_CLEAN@ -LIBTOOL_COMPILE = @LIB_COMPILE@ -LIBTOOL_LINK = @LIB_LINK@ -LIBTOOL_INSTALL = @LIB_INSTALL@ -LIBTOOL_UNINSTALL = @LIB_UNINSTALL@ - -INSTALL = @INSTALL@ -INSTALL_LIB = @INSTALL@ @INSTALL_LIB@ -INSTALL_PROG = @INSTALL_PROG@ -INSTALL_DATA = @INSTALL_DATA@ - -AR = @AR@ -AR_OPTS = @AR_OPTS@ -AWK = @AWK@ -LD = @LD@ -LN_S = @LN_S@ - -CC = @CC@ -CPP = @CPP@ -CFLAGS = @CFLAGS@ - -CPPFLAGS = -I@top_srcdir@/ncurses -DHAVE_CONFIG_H @CPPFLAGS@ - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) - -CFLAGS_LIBTOOL = $(CCFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ - -CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) - -LINK = $(LIBTOOL_LINK) $(CC) -LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ - -SHLIB_DIRS = -L../lib -SHLIB_LIST = $(SHLIB_DIRS) -lncurses@LIB_SUFFIX@ @SHLIB_LIST@ - -MK_SHARED_LIB = @MK_SHARED_LIB@ - -NCURSES_MAJOR = @NCURSES_MAJOR@ -NCURSES_MINOR = @NCURSES_MINOR@ -REL_VERSION = @cf_cv_rel_version@ -ABI_VERSION = @cf_cv_abi_version@ - -RANLIB = @LIB_PREP@ - -IMPORT_LIB = @IMPORT_LIB@ -SHARED_LIB = @SHARED_LIB@ -LIBRARIES = @LIBS_TO_MAKE@ - -LINT = @LINT@ -LINT_OPTS = @LINT_OPTS@ -LINT_LIBS = -lform -lncurses @LIBS@ - -AUTO_SRC = \ - ../include/form.h - -################################################################################ -all \ -libs \ -install :: $(AUTO_SRC) $(LIBRARIES) - -sources : $(AUTO_SRC) - -$(DESTDIR)$(bindir) \ -$(DESTDIR)$(libdir) : - sh $(srcdir)/../mkinstalldirs $@ - -# make copies to simplify include-paths while still keeping form's include -# file in this directory. -../include/form.h : $(srcdir)/form.h - -rm -f $@ - cp $(srcdir)/form.h $@ - -FORM_PRIV_H = \ - $(srcdir)/form.priv.h \ - $(srcdir)/form.h \ - ../include/mf_common.h \ - ../include/curses.h \ - ../include/eti.h - -tags: - ctags *.[ch] - -@MAKE_UPPER_TAGS@TAGS: -@MAKE_UPPER_TAGS@ etags *.[ch] - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace - -clean :: mostlyclean - -rm -f $(AUTO_SRC) - -distclean :: clean - -rm -f Makefile - -realclean :: distclean - -../include/mf_common.h \ -../include/eti.h : - cd ../menu && $(MAKE) $@ - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### diff --git a/src/libs/ncurses/form/READ.ME b/src/libs/ncurses/form/READ.ME deleted file mode 100644 index ae2b9586cf..0000000000 --- a/src/libs/ncurses/form/READ.ME +++ /dev/null @@ -1,14 +0,0 @@ --- $Id: READ.ME,v 0.6 2003/10/25 15:12:53 tom Exp $ -------------------------------------------------------------------------------- -This is a clone of the form library that is available with typical -System V curses implementations (ETI). - -It is modelled after the documentation that comes for this library with -a 386 based SVR4 implementation (ESIX). - -The development environment was and is an ELF based Linux system. - -For things that still need doing, see the TO-DO file in the top-level -directory. - -Juergen Pfeifer diff --git a/src/libs/ncurses/form/f_trace.c b/src/libs/ncurses/form/f_trace.c deleted file mode 100644 index 3bb4ccd9d7..0000000000 --- a/src/libs/ncurses/form/f_trace.c +++ /dev/null @@ -1,70 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: f_trace.c,v 1.1 2004/12/25 23:28:49 tom Exp $") - -NCURSES_EXPORT(FIELD **) -_nc_retrace_field_ptr(FIELD **code) -{ - T((T_RETURN("%p"), code)); - return code; -} - -NCURSES_EXPORT(FIELD *) -_nc_retrace_field(FIELD *code) -{ - T((T_RETURN("%p"), code)); - return code; -} - -NCURSES_EXPORT(FIELDTYPE *) -_nc_retrace_field_type(FIELDTYPE *code) -{ - T((T_RETURN("%p"), code)); - return code; -} - -NCURSES_EXPORT(FORM *) -_nc_retrace_form(FORM *code) -{ - T((T_RETURN("%p"), code)); - return code; -} - -NCURSES_EXPORT(Form_Hook) -_nc_retrace_form_hook(Form_Hook code) -{ - T((T_RETURN("%p"), code)); - return code; -} diff --git a/src/libs/ncurses/form/fld_arg.c b/src/libs/ncurses/form/fld_arg.c deleted file mode 100644 index f79a157aa5..0000000000 --- a/src/libs/ncurses/form/fld_arg.c +++ /dev/null @@ -1,98 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_arg.c,v 1.11 2004/12/25 22:20:18 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_fieldtype_arg( -| FIELDTYPE *typ, -| void * (* const make_arg)(va_list *), -| void * (* const copy_arg)(const void *), -| void (* const free_arg)(void *) ) -| -| Description : Connects to the type additional arguments necessary -| for a set_field_type call. The various function pointer -| arguments are: -| make_arg : allocates a structure for the field -| specific parameters. -| copy_arg : duplicate the structure created by -| make_arg -| free_arg : Release the memory allocated by make_arg -| or copy_arg -| -| At least make_arg must be non-NULL. -| You may pass NULL for copy_arg and free_arg if your -| make_arg function doesn't allocate memory and your -| arg fits into the storage for a (void*). -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid argument -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_fieldtype_arg(FIELDTYPE *typ, - void *(*const make_arg)(va_list *), - void *(*const copy_arg)(const void *), - void (*const free_arg) (void *)) -{ - T((T_CALLED("set_fieldtype_arg(%p,%p,%p,%p)"), - typ, make_arg, copy_arg, free_arg)); - - if (typ != 0 && make_arg != (void *)0) - { - typ->status |= _HAS_ARGS; - typ->makearg = make_arg; - typ->copyarg = copy_arg; - typ->freearg = free_arg; - RETURN(E_OK); - } - RETURN(E_BAD_ARGUMENT); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : void *field_arg(const FIELD *field) -| -| Description : Retrieve pointer to the fields argument structure. -| -| Return Values : Pointer to structure or NULL if none is defined. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(void *) -field_arg(const FIELD *field) -{ - T((T_CALLED("field_arg(%p)"), field)); - returnVoidPtr(Normalize_Field(field)->arg); -} - -/* fld_arg.c ends here */ diff --git a/src/libs/ncurses/form/fld_attr.c b/src/libs/ncurses/form/fld_attr.c deleted file mode 100644 index c9c08384bc..0000000000 --- a/src/libs/ncurses/form/fld_attr.c +++ /dev/null @@ -1,119 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_attr.c,v 1.10 2004/12/11 21:33:15 tom Exp $") - -/*---------------------------------------------------------------------------- - Field-Attribute manipulation routines - --------------------------------------------------------------------------*/ -/* "Template" macro to generate a function to set a fields attribute */ -#define GEN_FIELD_ATTR_SET_FCT( name ) \ -NCURSES_IMPEXP int NCURSES_API set_field_ ## name (FIELD * field, chtype attr)\ -{\ - int res = E_BAD_ARGUMENT;\ - T((T_CALLED("set_field_" #name "(%p,%s)"), field, _traceattr(attr)));\ - if ( attr==A_NORMAL || ((attr & A_ATTRIBUTES)==attr) )\ - {\ - Normalize_Field( field );\ - if (field != 0) \ - { \ - if ((field -> name) != attr)\ - {\ - field -> name = attr;\ - res = _nc_Synchronize_Attributes( field );\ - }\ - else\ - {\ - res = E_OK;\ - }\ - }\ - }\ - RETURN(res);\ -} - -/* "Template" macro to generate a function to get a fields attribute */ -#define GEN_FIELD_ATTR_GET_FCT( name ) \ -NCURSES_IMPEXP chtype NCURSES_API field_ ## name (const FIELD * field)\ -{\ - T((T_CALLED("field_" #name "(%p)"), field));\ - returnAttr( A_ATTRIBUTES & (Normalize_Field( field ) -> name) );\ -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_field_fore(FIELD *field, chtype attr) -| -| Description : Sets the foreground of the field used to display the -| field contents. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid attributes -| E_SYSTEM_ERROR - system error -+--------------------------------------------------------------------------*/ -GEN_FIELD_ATTR_SET_FCT(fore) - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : chtype field_fore(const FIELD *) -| -| Description : Retrieve fields foreground attribute -| -| Return Values : The foreground attribute -+--------------------------------------------------------------------------*/ -GEN_FIELD_ATTR_GET_FCT(fore) - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_field_back(FIELD *field, chtype attr) -| -| Description : Sets the background of the field used to display the -| fields extend. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid attributes -| E_SYSTEM_ERROR - system error -+--------------------------------------------------------------------------*/ -GEN_FIELD_ATTR_SET_FCT(back) - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : chtype field_back(const -| -| Description : Retrieve fields background attribute -| -| Return Values : The background attribute -+--------------------------------------------------------------------------*/ -GEN_FIELD_ATTR_GET_FCT(back) - -/* fld_attr.c ends here */ diff --git a/src/libs/ncurses/form/fld_current.c b/src/libs/ncurses/form/fld_current.c deleted file mode 100644 index 7c3a90af51..0000000000 --- a/src/libs/ncurses/form/fld_current.c +++ /dev/null @@ -1,137 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_current.c,v 1.11 2004/12/25 22:40:13 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_current_field(FORM * form,FIELD * field) -| -| Description : Set the current field of the form to the specified one. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid form or field pointer -| E_REQUEST_DENIED - field not selectable -| E_BAD_STATE - called from a hook routine -| E_INVALID_FIELD - current field can't be left -| E_SYSTEM_ERROR - system error -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_current_field(FORM *form, FIELD *field) -{ - int err = E_OK; - - T((T_CALLED("set_current_field(%p,%p)"), form, field)); - if (form == 0 || field == 0) - { - RETURN(E_BAD_ARGUMENT); - } - else if ((form != field->form) || Field_Is_Not_Selectable(field)) - { - RETURN(E_REQUEST_DENIED); - } - else if ((form->status & _POSTED) == 0) - { - form->current = field; - form->curpage = field->page; - } - else - { - if ((form->status & _IN_DRIVER) != 0) - { - err = E_BAD_STATE; - } - else - { - if (form->current != field) - { - if (!_nc_Internal_Validation(form)) - { - err = E_INVALID_FIELD; - } - else - { - Call_Hook(form, fieldterm); - if (field->page != form->curpage) - { - Call_Hook(form, formterm); - err = _nc_Set_Form_Page(form, (int)field->page, field); - Call_Hook(form, forminit); - } - else - { - err = _nc_Set_Current_Field(form, field); - } - Call_Hook(form, fieldinit); - (void)_nc_Refresh_Current_Field(form); - } - } - } - } - RETURN(err); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : FIELD *current_field(const FORM * form) -| -| Description : Return the current field. -| -| Return Values : Pointer to the current field. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(FIELD *) -current_field(const FORM *form) -{ - T((T_CALLED("current_field(%p)"), form)); - returnField(Normalize_Form(form)->current); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int field_index(const FIELD * field) -| -| Description : Return the index of the field in the field-array of -| the form. -| -| Return Values : >= 0 : field index -| -1 : fieldpointer invalid or field not connected -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -field_index(const FIELD *field) -{ - T((T_CALLED("field_index(%p)"), field)); - returnCode((field != 0 && field->form != 0) ? (int)field->index : -1); -} - -/* fld_current.c ends here */ diff --git a/src/libs/ncurses/form/fld_def.c b/src/libs/ncurses/form/fld_def.c deleted file mode 100644 index dc023795ac..0000000000 --- a/src/libs/ncurses/form/fld_def.c +++ /dev/null @@ -1,398 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_def.c,v 1.33 2005/04/16 17:31:17 tom Exp $") - -/* this can't be readonly */ -static FIELD default_field = -{ - 0, /* status */ - 0, /* rows */ - 0, /* cols */ - 0, /* frow */ - 0, /* fcol */ - 0, /* drows */ - 0, /* dcols */ - 0, /* maxgrow */ - 0, /* nrow */ - 0, /* nbuf */ - NO_JUSTIFICATION, /* just */ - 0, /* page */ - 0, /* index */ - (int)' ', /* pad */ - A_NORMAL, /* fore */ - A_NORMAL, /* back */ - ALL_FIELD_OPTS, /* opts */ - (FIELD *)0, /* snext */ - (FIELD *)0, /* sprev */ - (FIELD *)0, /* link */ - (FORM *)0, /* form */ - (FIELDTYPE *)0, /* type */ - (char *)0, /* arg */ - (FIELD_CELL *)0, /* buf */ - (char *)0 /* usrptr */ - NCURSES_FIELD_EXTENSION -}; - -NCURSES_EXPORT_VAR(FIELD *) -_nc_Default_Field = &default_field; - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : TypeArgument *_nc_Make_Argument( -| const FIELDTYPE *typ, -| va_list *ap, -| int *err ) -| -| Description : Create an argument structure for the specified type. -| Use the type-dependent argument list to construct -| it. -| -| Return Values : Pointer to argument structure. Maybe NULL. -| In case of an error in *err an error counter is increased. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(TypeArgument *) -_nc_Make_Argument(const FIELDTYPE *typ, va_list *ap, int *err) -{ - TypeArgument *res = (TypeArgument *)0; - TypeArgument *p; - - if (typ != 0 && (typ->status & _HAS_ARGS) != 0) - { - assert(err != 0 && ap != (va_list *)0); - if ((typ->status & _LINKED_TYPE) != 0) - { - p = (TypeArgument *)malloc(sizeof(TypeArgument)); - - if (p != 0) - { - p->left = _nc_Make_Argument(typ->left, ap, err); - p->right = _nc_Make_Argument(typ->right, ap, err); - return p; - } - else - { - *err += 1; - } - } - else - { - assert(typ->makearg != (void *)0); - if (!(res = (TypeArgument *)typ->makearg(ap))) - { - *err += 1; - } - } - } - return res; -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : TypeArgument *_nc_Copy_Argument(const FIELDTYPE *typ, -| const TypeArgument *argp, -| int *err ) -| -| Description : Create a copy of an argument structure for the specified -| type. -| -| Return Values : Pointer to argument structure. Maybe NULL. -| In case of an error in *err an error counter is increased. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(TypeArgument *) -_nc_Copy_Argument(const FIELDTYPE *typ, const TypeArgument *argp, int *err) -{ - TypeArgument *res = (TypeArgument *)0; - TypeArgument *p; - - if (typ != 0 && (typ->status & _HAS_ARGS) != 0) - { - assert(err != 0 && argp != 0); - if ((typ->status & _LINKED_TYPE) != 0) - { - p = (TypeArgument *)malloc(sizeof(TypeArgument)); - - if (p != 0) - { - p->left = _nc_Copy_Argument(typ, argp->left, err); - p->right = _nc_Copy_Argument(typ, argp->right, err); - return p; - } - *err += 1; - } - else - { - if (typ->copyarg != (void *)0) - { - if (!(res = (TypeArgument *)(typ->copyarg((const void *)argp)))) - { - *err += 1; - } - } - else - { - res = (TypeArgument *)argp; - } - } - } - return res; -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : void _nc_Free_Argument(const FIELDTYPE *typ, -| TypeArgument * argp ) -| -| Description : Release memory associated with the argument structure -| for the given fieldtype. -| -| Return Values : - -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(void) -_nc_Free_Argument(const FIELDTYPE *typ, TypeArgument *argp) -{ - if (typ != 0 && (typ->status & _HAS_ARGS) != 0) - { - if ((typ->status & _LINKED_TYPE) != 0) - { - assert(argp != 0); - _nc_Free_Argument(typ->left, argp->left); - _nc_Free_Argument(typ->right, argp->right); - free(argp); - } - else - { - if (typ->freearg != (void *)0) - { - typ->freearg((void *)argp); - } - } - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : bool _nc_Copy_Type( FIELD *dst, FIELD const *src ) -| -| Description : Copy argument structure of field src to field dst -| -| Return Values : TRUE - copy worked -| FALSE - error occurred -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(bool) -_nc_Copy_Type(FIELD *dst, FIELD const *src) -{ - int err = 0; - - assert(dst != 0 && src != 0); - - dst->type = src->type; - dst->arg = (void *)_nc_Copy_Argument(src->type, (TypeArgument *)(src->arg), &err); - - if (err != 0) - { - _nc_Free_Argument(dst->type, (TypeArgument *)(dst->arg)); - dst->type = (FIELDTYPE *)0; - dst->arg = (void *)0; - return FALSE; - } - else - { - if (dst->type != 0) - { - dst->type->ref++; - } - return TRUE; - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : void _nc_Free_Type( FIELD *field ) -| -| Description : Release Argument structure for this field -| -| Return Values : - -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(void) -_nc_Free_Type(FIELD *field) -{ - assert(field != 0); - if (field->type != 0) - { - field->type->ref--; - } - _nc_Free_Argument(field->type, (TypeArgument *)(field->arg)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : FIELD *new_field( int rows, int cols, -| int frow, int fcol, -| int nrow, int nbuf ) -| -| Description : Create a new field with this many 'rows' and 'cols', -| starting at 'frow/fcol' in the subwindow of the form. -| Allocate 'nrow' off-screen rows and 'nbuf' additional -| buffers. If an error occurs, errno is set to -| -| E_BAD_ARGUMENT - invalid argument -| E_SYSTEM_ERROR - system error -| -| Return Values : Pointer to the new field or NULL if failure. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(FIELD *) -new_field(int rows, int cols, int frow, int fcol, int nrow, int nbuf) -{ - static const FIELD_CELL blank = BLANK; - static const FIELD_CELL zeros = ZEROS; - - FIELD *New_Field = (FIELD *)0; - int err = E_BAD_ARGUMENT; - - T((T_CALLED("new_field(%d,%d,%d,%d,%d,%d)"), rows, cols, frow, fcol, nrow, nbuf)); - if (rows > 0 && - cols > 0 && - frow >= 0 && - fcol >= 0 && - nrow >= 0 && - nbuf >= 0 && - ((err = E_SYSTEM_ERROR) != 0) && /* trick: this resets the default error */ - (New_Field = (FIELD *)malloc(sizeof(FIELD))) != 0) - { - *New_Field = default_field; - New_Field->rows = rows; - New_Field->cols = cols; - New_Field->drows = rows + nrow; - New_Field->dcols = cols; - New_Field->frow = frow; - New_Field->fcol = fcol; - New_Field->nrow = nrow; - New_Field->nbuf = nbuf; - New_Field->link = New_Field; - -#if USE_WIDEC_SUPPORT - New_Field->working = newpad(1, Buffer_Length(New_Field) + 1); - New_Field->expanded = (char **)calloc(1 + (unsigned)rows, sizeof(char *)); -#endif - - if (_nc_Copy_Type(New_Field, &default_field)) - { - size_t len; - - len = Total_Buffer_Size(New_Field); - if ((New_Field->buf = (FIELD_CELL *)malloc(len))) - { - /* Prefill buffers with blanks and insert terminating zeroes - between buffers */ - int i, j; - int cells = Buffer_Length(New_Field); - - for (i = 0; i <= New_Field->nbuf; i++) - { - FIELD_CELL *buffer = &(New_Field->buf[(cells + 1) * i]); - - for (j = 0; j < cells; ++j) - { - buffer[j] = blank; - } - buffer[j] = zeros; - } - returnField(New_Field); - } - } - } - - if (New_Field) - free_field(New_Field); - - SET_ERROR(err); - returnField((FIELD *)0); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int free_field( FIELD *field ) -| -| Description : Frees the storage allocated for the field. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid field pointer -| E_CONNECTED - field is connected -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -free_field(FIELD *field) -{ - T((T_CALLED("free_field(%p)"), field)); - if (!field) - { - RETURN(E_BAD_ARGUMENT); - } - else if (field->form != 0) - { - RETURN(E_CONNECTED); - } - else if (field == field->link) - { - if (field->buf != 0) - free(field->buf); - } - else - { - FIELD *f; - - for (f = field; f->link != field; f = f->link) - { - } - f->link = field->link; - } - _nc_Free_Type(field); -#if USE_WIDEC_SUPPORT - if (field->expanded != 0) - { - int n; - - for (n = 0; n <= field->nbuf; ++n) - { - FreeIfNeeded(field->expanded[n]); - } - free(field->expanded); - (void)delwin(field->working); - } -#endif - free(field); - RETURN(E_OK); -} - -/* fld_def.c ends here */ diff --git a/src/libs/ncurses/form/fld_dup.c b/src/libs/ncurses/form/fld_dup.c deleted file mode 100644 index 2ffcd36705..0000000000 --- a/src/libs/ncurses/form/fld_dup.c +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_dup.c,v 1.10 2004/12/25 22:24:10 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : FIELD *dup_field(FIELD *field, int frow, int fcol) -| -| Description : Duplicates the field at the specified position. All -| field attributes and the buffers are copied. -| If an error occurs, errno is set to -| -| E_BAD_ARGUMENT - invalid argument -| E_SYSTEM_ERROR - system error -| -| Return Values : Pointer to the new field or NULL if failure -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(FIELD *) -dup_field(FIELD *field, int frow, int fcol) -{ - FIELD *New_Field = (FIELD *)0; - int err = E_BAD_ARGUMENT; - - T((T_CALLED("dup_field(%p,%d,%d)"), field, frow, fcol)); - if (field && (frow >= 0) && (fcol >= 0) && - ((err = E_SYSTEM_ERROR) != 0) && /* trick : this resets the default error */ - (New_Field = (FIELD *)malloc(sizeof(FIELD)))) - { - *New_Field = *_nc_Default_Field; - New_Field->frow = frow; - New_Field->fcol = fcol; - New_Field->link = New_Field; - New_Field->rows = field->rows; - New_Field->cols = field->cols; - New_Field->nrow = field->nrow; - New_Field->drows = field->drows; - New_Field->dcols = field->dcols; - New_Field->maxgrow = field->maxgrow; - New_Field->nbuf = field->nbuf; - New_Field->just = field->just; - New_Field->fore = field->fore; - New_Field->back = field->back; - New_Field->pad = field->pad; - New_Field->opts = field->opts; - New_Field->usrptr = field->usrptr; - - if (_nc_Copy_Type(New_Field, field)) - { - size_t i, len; - - len = Total_Buffer_Size(New_Field); - if ((New_Field->buf = (FIELD_CELL *)malloc(len))) - { - for (i = 0; i < len; ++i) - New_Field->buf[i] = field->buf[i]; - returnField(New_Field); - } - } - } - - if (New_Field) - free_field(New_Field); - - SET_ERROR(err); - returnField((FIELD *)0); -} - -/* fld_dup.c ends here */ diff --git a/src/libs/ncurses/form/fld_ftchoice.c b/src/libs/ncurses/form/fld_ftchoice.c deleted file mode 100644 index 9237f96d1d..0000000000 --- a/src/libs/ncurses/form/fld_ftchoice.c +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_ftchoice.c,v 1.9 2004/12/11 21:44:57 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_fieldtype_choice( -| FIELDTYPE *typ, -| bool (* const next_choice)(FIELD *,const void *), -| bool (* const prev_choice)(FIELD *,const void *)) -| -| Description : Define implementation of enumeration requests. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid arguments -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_fieldtype_choice(FIELDTYPE *typ, - bool (*const next_choice) (FIELD *, const void *), - bool (*const prev_choice) (FIELD *, const void *)) -{ - T((T_CALLED("set_fieldtype_choice(%p,%p,%p)"), typ, next_choice, prev_choice)); - - if (!typ || !next_choice || !prev_choice) - RETURN(E_BAD_ARGUMENT); - - typ->status |= _HAS_CHOICE; - typ->next = next_choice; - typ->prev = prev_choice; - RETURN(E_OK); -} - -/* fld_ftchoice.c ends here */ diff --git a/src/libs/ncurses/form/fld_ftlink.c b/src/libs/ncurses/form/fld_ftlink.c deleted file mode 100644 index ce6014dbb8..0000000000 --- a/src/libs/ncurses/form/fld_ftlink.c +++ /dev/null @@ -1,86 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_ftlink.c,v 1.11 2004/12/25 22:24:10 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : FIELDTYPE *link_fieldtype( -| FIELDTYPE *type1, -| FIELDTYPE *type2) -| -| Description : Create a new fieldtype built from the two given types. -| They are connected by an logical 'OR'. -| If an error occurs, errno is set to -| E_BAD_ARGUMENT - invalid arguments -| E_SYSTEM_ERROR - system error (no memory) -| -| Return Values : Fieldtype pointer or NULL if error occurred. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(FIELDTYPE *) -link_fieldtype(FIELDTYPE *type1, FIELDTYPE *type2) -{ - FIELDTYPE *nftyp = (FIELDTYPE *)0; - - T((T_CALLED("link_fieldtype(%p,%p)"), type1, type2)); - if (type1 && type2) - { - nftyp = (FIELDTYPE *)malloc(sizeof(FIELDTYPE)); - - if (nftyp) - { - *nftyp = *_nc_Default_FieldType; - nftyp->status |= _LINKED_TYPE; - if ((type1->status & _HAS_ARGS) || (type2->status & _HAS_ARGS)) - nftyp->status |= _HAS_ARGS; - if ((type1->status & _HAS_CHOICE) || (type2->status & _HAS_CHOICE)) - nftyp->status |= _HAS_CHOICE; - nftyp->left = type1; - nftyp->right = type2; - type1->ref++; - type2->ref++; - } - else - { - SET_ERROR(E_SYSTEM_ERROR); - } - } - else - { - SET_ERROR(E_BAD_ARGUMENT); - } - returnFieldType(nftyp); -} - -/* fld_ftlink.c ends here */ diff --git a/src/libs/ncurses/form/fld_info.c b/src/libs/ncurses/form/fld_info.c deleted file mode 100644 index 324198c42b..0000000000 --- a/src/libs/ncurses/form/fld_info.c +++ /dev/null @@ -1,109 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_info.c,v 1.10 2004/12/11 22:24:57 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int field_info(const FIELD *field, -| int *rows, int *cols, -| int *frow, int *fcol, -| int *nrow, int *nbuf) -| -| Description : Retrieve infos about the fields creation parameters. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid field pointer -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -field_info(const FIELD *field, - int *rows, int *cols, - int *frow, int *fcol, - int *nrow, int *nbuf) -{ - T((T_CALLED("field_info(%p,%p,%p,%p,%p,%p,%p)"), - field, - rows, cols, - frow, fcol, - nrow, nbuf)); - - if (!field) - RETURN(E_BAD_ARGUMENT); - - if (rows) - *rows = field->rows; - if (cols) - *cols = field->cols; - if (frow) - *frow = field->frow; - if (fcol) - *fcol = field->fcol; - if (nrow) - *nrow = field->nrow; - if (nbuf) - *nbuf = field->nbuf; - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int dynamic_field_info(const FIELD *field, -| int *drows, int *dcols, -| int *maxgrow) -| -| Description : Retrieve informations about a dynamic fields current -| dynamic parameters. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid argument -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -dynamic_field_info(const FIELD *field, int *drows, int *dcols, int *maxgrow) -{ - T((T_CALLED("dynamic_field_info(%p,%p,%p,%p)"), field, drows, dcols, maxgrow)); - - if (!field) - RETURN(E_BAD_ARGUMENT); - - if (drows) - *drows = field->drows; - if (dcols) - *dcols = field->dcols; - if (maxgrow) - *maxgrow = field->maxgrow; - - RETURN(E_OK); -} - -/* fld_info.c ends here */ diff --git a/src/libs/ncurses/form/fld_just.c b/src/libs/ncurses/form/fld_just.c deleted file mode 100644 index e021fb1cfb..0000000000 --- a/src/libs/ncurses/form/fld_just.c +++ /dev/null @@ -1,86 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_just.c,v 1.11 2004/12/11 22:55:48 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_field_just(FIELD *field, int just) -| -| Description : Set the fields type of justification. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - one of the arguments was incorrect -| E_SYSTEM_ERROR - system error -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_field_just(FIELD *field, int just) -{ - int res = E_BAD_ARGUMENT; - - T((T_CALLED("set_field_just(%p,%d)"), field, just)); - - if ((just == NO_JUSTIFICATION) || - (just == JUSTIFY_LEFT) || - (just == JUSTIFY_CENTER) || - (just == JUSTIFY_RIGHT)) - { - Normalize_Field(field); - if (field->just != just) - { - field->just = just; - res = _nc_Synchronize_Attributes(field); - } - else - res = E_OK; - } - RETURN(res); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int field_just( const FIELD *field ) -| -| Description : Retrieve the fields type of justification -| -| Return Values : The justification type. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -field_just(const FIELD *field) -{ - T((T_CALLED("field_just(%p)"), field)); - returnCode(Normalize_Field(field)->just); -} - -/* fld_just.c ends here */ diff --git a/src/libs/ncurses/form/fld_link.c b/src/libs/ncurses/form/fld_link.c deleted file mode 100644 index f15166401f..0000000000 --- a/src/libs/ncurses/form/fld_link.c +++ /dev/null @@ -1,95 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_link.c,v 1.9 2004/12/25 22:24:10 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : FIELD *link_field(FIELD *field, int frow, int fcol) -| -| Description : Duplicates the field at the specified position. The -| new field shares its buffers with the original one, -| the attributes are independent. -| If an error occurs, errno is set to -| -| E_BAD_ARGUMENT - invalid argument -| E_SYSTEM_ERROR - system error -| -| Return Values : Pointer to the new field or NULL if failure -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(FIELD *) -link_field(FIELD *field, int frow, int fcol) -{ - FIELD *New_Field = (FIELD *)0; - int err = E_BAD_ARGUMENT; - - T((T_CALLED("link_field(%p,%d,%d)"), field, frow, fcol)); - if (field && (frow >= 0) && (fcol >= 0) && - ((err = E_SYSTEM_ERROR) != 0) && /* trick: this resets the default error */ - (New_Field = (FIELD *)malloc(sizeof(FIELD)))) - { - *New_Field = *_nc_Default_Field; - New_Field->frow = frow; - New_Field->fcol = fcol; - - New_Field->link = field->link; - field->link = New_Field; - - New_Field->buf = field->buf; - New_Field->rows = field->rows; - New_Field->cols = field->cols; - New_Field->nrow = field->nrow; - New_Field->nbuf = field->nbuf; - New_Field->drows = field->drows; - New_Field->dcols = field->dcols; - New_Field->maxgrow = field->maxgrow; - New_Field->just = field->just; - New_Field->fore = field->fore; - New_Field->back = field->back; - New_Field->pad = field->pad; - New_Field->opts = field->opts; - New_Field->usrptr = field->usrptr; - - if (_nc_Copy_Type(New_Field, field)) - returnField(New_Field); - } - - if (New_Field) - free_field(New_Field); - - SET_ERROR(err); - returnField((FIELD *)0); -} - -/* fld_link.c ends here */ diff --git a/src/libs/ncurses/form/fld_max.c b/src/libs/ncurses/form/fld_max.c deleted file mode 100644 index 7f5352e00d..0000000000 --- a/src/libs/ncurses/form/fld_max.c +++ /dev/null @@ -1,77 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_max.c,v 1.9 2004/12/11 21:51:54 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_max_field(FIELD *field, int maxgrow) -| -| Description : Set the maximum growth for a dynamic field. If maxgrow=0 -| the field may grow to any possible size. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid argument -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_max_field(FIELD *field, int maxgrow) -{ - T((T_CALLED("set_max_field(%p,%d)"), field, maxgrow)); - - if (!field || (maxgrow < 0)) - RETURN(E_BAD_ARGUMENT); - else - { - bool single_line_field = Single_Line_Field(field); - - if (maxgrow > 0) - { - if ((single_line_field && (maxgrow < field->dcols)) || - (!single_line_field && (maxgrow < field->drows))) - RETURN(E_BAD_ARGUMENT); - } - field->maxgrow = maxgrow; - field->status &= ~_MAY_GROW; - if (!(field->opts & O_STATIC)) - { - if ((maxgrow == 0) || - (single_line_field && (field->dcols < maxgrow)) || - (!single_line_field && (field->drows < maxgrow))) - field->status |= _MAY_GROW; - } - } - RETURN(E_OK); -} - -/* fld_max.c ends here */ diff --git a/src/libs/ncurses/form/fld_move.c b/src/libs/ncurses/form/fld_move.c deleted file mode 100644 index d9ceaaec2c..0000000000 --- a/src/libs/ncurses/form/fld_move.c +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_move.c,v 1.9 2004/12/11 21:52:44 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int move_field(FIELD *field,int frow, int fcol) -| -| Description : Moves the disconnected field to the new location in -| the forms subwindow. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid argument passed -| E_CONNECTED - field is connected -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -move_field(FIELD *field, int frow, int fcol) -{ - T((T_CALLED("move_field(%p,%d,%d)"), field, frow, fcol)); - - if (!field || (frow < 0) || (fcol < 0)) - RETURN(E_BAD_ARGUMENT); - - if (field->form) - RETURN(E_CONNECTED); - - field->frow = frow; - field->fcol = fcol; - RETURN(E_OK); -} - -/* fld_move.c ends here */ diff --git a/src/libs/ncurses/form/fld_newftyp.c b/src/libs/ncurses/form/fld_newftyp.c deleted file mode 100644 index 235cd5f5e4..0000000000 --- a/src/libs/ncurses/form/fld_newftyp.c +++ /dev/null @@ -1,134 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_newftyp.c,v 1.13 2004/12/25 22:24:10 tom Exp $") - -static FIELDTYPE const default_fieldtype = -{ - 0, /* status */ - 0L, /* reference count */ - (FIELDTYPE *)0, /* pointer to left operand */ - (FIELDTYPE *)0, /* pointer to right operand */ - NULL, /* makearg function */ - NULL, /* copyarg function */ - NULL, /* freearg function */ - NULL, /* field validation function */ - NULL, /* Character check function */ - NULL, /* enumerate next function */ - NULL /* enumerate previous function */ -}; - -NCURSES_EXPORT_VAR(const FIELDTYPE *) -_nc_Default_FieldType = &default_fieldtype; - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : FIELDTYPE *new_fieldtype( -| bool (* const field_check)(FIELD *,const void *), -| bool (* const char_check) (int, const void *) ) -| -| Description : Create a new fieldtype. The application programmer must -| write a field_check and a char_check function and give -| them as input to this call. -| If an error occurs, errno is set to -| E_BAD_ARGUMENT - invalid arguments -| E_SYSTEM_ERROR - system error (no memory) -| -| Return Values : Fieldtype pointer or NULL if error occurred -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(FIELDTYPE *) -new_fieldtype(bool (*const field_check) (FIELD *, const void *), - bool (*const char_check) (int, const void *)) -{ - FIELDTYPE *nftyp = (FIELDTYPE *)0; - - T((T_CALLED("new_fieldtype(%p,%p)"), field_check, char_check)); - if ((field_check) || (char_check)) - { - nftyp = (FIELDTYPE *)malloc(sizeof(FIELDTYPE)); - - if (nftyp) - { - *nftyp = default_fieldtype; - nftyp->fcheck = field_check; - nftyp->ccheck = char_check; - } - else - { - SET_ERROR(E_SYSTEM_ERROR); - } - } - else - { - SET_ERROR(E_BAD_ARGUMENT); - } - returnFieldType(nftyp); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int free_fieldtype(FIELDTYPE *typ) -| -| Description : Release the memory associated with this fieldtype. -| -| Return Values : E_OK - success -| E_CONNECTED - there are fields referencing the type -| E_BAD_ARGUMENT - invalid fieldtype pointer -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -free_fieldtype(FIELDTYPE *typ) -{ - T((T_CALLED("free_fieldtype(%p)"), typ)); - - if (!typ) - RETURN(E_BAD_ARGUMENT); - - if (typ->ref != 0) - RETURN(E_CONNECTED); - - if (typ->status & _RESIDENT) - RETURN(E_CONNECTED); - - if (typ->status & _LINKED_TYPE) - { - if (typ->left) - typ->left->ref--; - if (typ->right) - typ->right->ref--; - } - free(typ); - RETURN(E_OK); -} - -/* fld_newftyp.c ends here */ diff --git a/src/libs/ncurses/form/fld_opts.c b/src/libs/ncurses/form/fld_opts.c deleted file mode 100644 index 3c881acf08..0000000000 --- a/src/libs/ncurses/form/fld_opts.c +++ /dev/null @@ -1,138 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_opts.c,v 1.11 2004/12/11 21:55:46 tom Exp $") - -/*---------------------------------------------------------------------------- - Field-Options manipulation routines - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_field_opts(FIELD *field, Field_Options opts) -| -| Description : Turns on the named options for this field and turns -| off all the remaining options. -| -| Return Values : E_OK - success -| E_CURRENT - the field is the current field -| E_BAD_ARGUMENT - invalid options -| E_SYSTEM_ERROR - system error -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_field_opts(FIELD *field, Field_Options opts) -{ - int res = E_BAD_ARGUMENT; - - T((T_CALLED("set_field_opts(%p,%d)"), field, opts)); - - opts &= ALL_FIELD_OPTS; - if (!(opts & ~ALL_FIELD_OPTS)) - res = _nc_Synchronize_Options(Normalize_Field(field), opts); - RETURN(res); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : Field_Options field_opts(const FIELD *field) -| -| Description : Retrieve the fields options. -| -| Return Values : The options. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(Field_Options) -field_opts(const FIELD *field) -{ - T((T_CALLED("field_opts(%p)"), field)); - - returnCode(ALL_FIELD_OPTS & Normalize_Field(field)->opts); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int field_opts_on(FIELD *field, Field_Options opts) -| -| Description : Turns on the named options for this field and all the -| remaining options are unchanged. -| -| Return Values : E_OK - success -| E_CURRENT - the field is the current field -| E_BAD_ARGUMENT - invalid options -| E_SYSTEM_ERROR - system error -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -field_opts_on(FIELD *field, Field_Options opts) -{ - int res = E_BAD_ARGUMENT; - - T((T_CALLED("field_opts_on(%p,%d)"), field, opts)); - - opts &= ALL_FIELD_OPTS; - if (!(opts & ~ALL_FIELD_OPTS)) - { - Normalize_Field(field); - res = _nc_Synchronize_Options(field, field->opts | opts); - } - RETURN(res); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int field_opts_off(FIELD *field, Field_Options opts) -| -| Description : Turns off the named options for this field and all the -| remaining options are unchanged. -| -| Return Values : E_OK - success -| E_CURRENT - the field is the current field -| E_BAD_ARGUMENT - invalid options -| E_SYSTEM_ERROR - system error -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -field_opts_off(FIELD *field, Field_Options opts) -{ - int res = E_BAD_ARGUMENT; - - T((T_CALLED("field_opts_off(%p,%d)"), field, opts)); - - opts &= ALL_FIELD_OPTS; - if (!(opts & ~ALL_FIELD_OPTS)) - { - Normalize_Field(field); - res = _nc_Synchronize_Options(field, field->opts & ~opts); - } - RETURN(res); -} - -/* fld_opts.c ends here */ diff --git a/src/libs/ncurses/form/fld_pad.c b/src/libs/ncurses/form/fld_pad.c deleted file mode 100644 index 63d8ad1cdb..0000000000 --- a/src/libs/ncurses/form/fld_pad.c +++ /dev/null @@ -1,85 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_pad.c,v 1.9 2004/12/11 21:56:49 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_field_pad(FIELD *field, int ch) -| -| Description : Set the pad character used to fill the field. This must -| be a printable character. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid field pointer or pad character -| E_SYSTEM_ERROR - system error -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_field_pad(FIELD *field, int ch) -{ - int res = E_BAD_ARGUMENT; - - T((T_CALLED("set_field_pad(%p,%d)"), field, ch)); - - Normalize_Field(field); - if (isprint(UChar(ch))) - { - if (field->pad != ch) - { - field->pad = ch; - res = _nc_Synchronize_Attributes(field); - } - else - res = E_OK; - } - RETURN(res); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int field_pad(const FIELD *field) -| -| Description : Retrieve the fields pad character. -| -| Return Values : The pad character. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -field_pad(const FIELD *field) -{ - T((T_CALLED("field_pad(%p)"), field)); - - returnCode(Normalize_Field(field)->pad); -} - -/* fld_pad.c ends here */ diff --git a/src/libs/ncurses/form/fld_page.c b/src/libs/ncurses/form/fld_page.c deleted file mode 100644 index e1af4962b1..0000000000 --- a/src/libs/ncurses/form/fld_page.c +++ /dev/null @@ -1,82 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_page.c,v 1.9 2004/12/11 21:58:19 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_new_page(FIELD *field, bool new_page_flag) -| -| Description : Marks the field as the beginning of a new page of -| the form. -| -| Return Values : E_OK - success -| E_CONNECTED - field is connected -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_new_page(FIELD *field, bool new_page_flag) -{ - T((T_CALLED("set_new_page(%p,%d)"), field, new_page_flag)); - - Normalize_Field(field); - if (field->form) - RETURN(E_CONNECTED); - - if (new_page_flag) - field->status |= _NEWPAGE; - else - field->status &= ~_NEWPAGE; - - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : bool new_page(const FIELD *field) -| -| Description : Retrieve the info whether or not the field starts a -| new page on the form. -| -| Return Values : TRUE - field starts a new page -| FALSE - field doesn't start a new page -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(bool) -new_page(const FIELD *field) -{ - T((T_CALLED("new_page(%p)"), field)); - - returnBool((Normalize_Field(field)->status & _NEWPAGE) ? TRUE : FALSE); -} - -/* fld_page.c ends here */ diff --git a/src/libs/ncurses/form/fld_stat.c b/src/libs/ncurses/form/fld_stat.c deleted file mode 100644 index b85b4d55f2..0000000000 --- a/src/libs/ncurses/form/fld_stat.c +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_stat.c,v 1.11 2004/12/11 22:28:00 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_field_status(FIELD *field, bool status) -| -| Description : Set or clear the 'changed' indication flag for that -| fields primary buffer. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_field_status(FIELD *field, bool status) -{ - T((T_CALLED("set_field_status(%p,%d)"), field, status)); - - Normalize_Field(field); - - if (status) - field->status |= _CHANGED; - else - field->status &= ~_CHANGED; - - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : bool field_status(const FIELD *field) -| -| Description : Retrieve the value of the 'changed' indication flag -| for that fields primary buffer. -| -| Return Values : TRUE - buffer has been changed -| FALSE - buffer has not been changed -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(bool) -field_status(const FIELD *field) -{ - T((T_CALLED("field_status(%p)"), field)); - - returnBool((Normalize_Field(field)->status & _CHANGED) ? TRUE : FALSE); -} - -/* fld_stat.c ends here */ diff --git a/src/libs/ncurses/form/fld_type.c b/src/libs/ncurses/form/fld_type.c deleted file mode 100644 index c9a3fbe5c8..0000000000 --- a/src/libs/ncurses/form/fld_type.c +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_type.c,v 1.15 2004/12/25 22:24:10 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_field_type(FIELD *field, FIELDTYPE *type,...) -| -| Description : Associate the specified fieldtype with the field. -| Certain field types take additional arguments. Look -| at the spec of the field types ! -| -| Return Values : E_OK - success -| E_SYSTEM_ERROR - system error -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_field_type(FIELD *field, FIELDTYPE *type,...) -{ - va_list ap; - int res = E_SYSTEM_ERROR; - int err = 0; - - T((T_CALLED("set_field_type(%p,%p)"), field, type)); - - va_start(ap, type); - - Normalize_Field(field); - _nc_Free_Type(field); - - field->type = type; - field->arg = (void *)_nc_Make_Argument(field->type, &ap, &err); - - if (err) - { - _nc_Free_Argument(field->type, (TypeArgument *)(field->arg)); - field->type = (FIELDTYPE *)0; - field->arg = (void *)0; - } - else - { - res = E_OK; - if (field->type) - field->type->ref++; - } - - va_end(ap); - RETURN(res); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : FIELDTYPE *field_type(const FIELD *field) -| -| Description : Retrieve the associated fieldtype for this field. -| -| Return Values : Pointer to fieldtype of NULL if none is defined. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(FIELDTYPE *) -field_type(const FIELD *field) -{ - T((T_CALLED("field_type(%p)"), field)); - returnFieldType(Normalize_Field(field)->type); -} - -/* fld_type.c ends here */ diff --git a/src/libs/ncurses/form/fld_user.c b/src/libs/ncurses/form/fld_user.c deleted file mode 100644 index 323622c7b3..0000000000 --- a/src/libs/ncurses/form/fld_user.c +++ /dev/null @@ -1,72 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fld_user.c,v 1.15 2004/12/25 22:24:50 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_field_userptr(FIELD *field, void *usrptr) -| -| Description : Set the pointer that is reserved in any field to store -| application relevant informations -| -| Return Values : E_OK - on success -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_field_userptr(FIELD *field, void *usrptr) -{ - T((T_CALLED("set_field_userptr(%p,%p)"), field, usrptr)); - - Normalize_Field(field)->usrptr = usrptr; - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : void *field_userptr(const FIELD *field) -| -| Description : Return the pointer that is reserved in any field to -| store application relevant informations. -| -| Return Values : Value of pointer. If no such pointer has been set, -| NULL is returned -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(void *) -field_userptr(const FIELD *field) -{ - T((T_CALLED("field_userptr(%p)"), field)); - returnVoidPtr(Normalize_Field(field)->usrptr); -} - -/* fld_user.c ends here */ diff --git a/src/libs/ncurses/form/form.h b/src/libs/ncurses/form/form.h deleted file mode 100644 index a4691a86e8..0000000000 --- a/src/libs/ncurses/form/form.h +++ /dev/null @@ -1,403 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/* $Id: form.h,v 0.20 2004/12/04 22:22:10 tom Exp $ */ - -#ifndef FORM_H -#define FORM_H - -#include -#include - -#ifdef __cplusplus - extern "C" { -#endif - -#ifndef FORM_PRIV_H -typedef void *FIELD_CELL; -#endif - -#ifndef NCURSES_FIELD_INTERNALS -#define NCURSES_FIELD_INTERNALS /* nothing */ -#endif - -typedef int Form_Options; -typedef int Field_Options; - - /********** - * _PAGE * - **********/ - -typedef struct { - short pmin; /* index of first field on page */ - short pmax; /* index of last field on page */ - short smin; /* index of top leftmost field on page */ - short smax; /* index of bottom rightmost field on page */ -} _PAGE; - - /********** - * FIELD * - **********/ - -typedef struct fieldnode { - unsigned short status; /* flags */ - short rows; /* size in rows */ - short cols; /* size in cols */ - short frow; /* first row */ - short fcol; /* first col */ - int drows; /* dynamic rows */ - int dcols; /* dynamic cols */ - int maxgrow; /* maximum field growth */ - int nrow; /* off-screen rows */ - short nbuf; /* additional buffers */ - short just; /* justification */ - short page; /* page on form */ - short index; /* into form -> field */ - int pad; /* pad character */ - chtype fore; /* foreground attribute */ - chtype back; /* background attribute */ - Field_Options opts; /* options */ - struct fieldnode * snext; /* sorted order pointer */ - struct fieldnode * sprev; /* sorted order pointer */ - struct fieldnode * link; /* linked field chain */ - struct formnode * form; /* containing form */ - struct typenode * type; /* field type */ - void * arg; /* argument for type */ - FIELD_CELL * buf; /* field buffers */ - void * usrptr; /* user pointer */ - /* - * The wide-character configuration requires extra information. Because - * there are existing applications that manipulate the members of FIELD - * directly, we cannot make the struct opaque. Offsets of members up to - * this point are the same in the narrow- and wide-character configuration. - * But note that the type of buf depends on the configuration, and is made - * opaque for that reason. - */ - NCURSES_FIELD_INTERNALS -} FIELD; - - /************** - * FIELDTYPE * - **************/ - -typedef struct typenode { - unsigned short status; /* flags */ - long ref; /* reference count */ - struct typenode * left; /* ptr to operand for | */ - struct typenode * right; /* ptr to operand for | */ - - void* (*makearg)(va_list *); /* make fieldtype arg */ - void* (*copyarg)(const void *); /* copy fieldtype arg */ - void (*freearg)(void *); /* free fieldtype arg */ - - bool (*fcheck)(FIELD *,const void *); /* field validation */ - bool (*ccheck)(int,const void *); /* character validation */ - - bool (*next)(FIELD *,const void *); /* enumerate next value */ - bool (*prev)(FIELD *,const void *); /* enumerate prev value */ - -} FIELDTYPE; - - /********* - * FORM * - *********/ - -typedef struct formnode { - unsigned short status; /* flags */ - short rows; /* size in rows */ - short cols; /* size in cols */ - int currow; /* current row in field window */ - int curcol; /* current col in field window */ - int toprow; /* in scrollable field window */ - int begincol; /* in horiz. scrollable field */ - short maxfield; /* number of fields */ - short maxpage; /* number of pages */ - short curpage; /* index into page */ - Form_Options opts; /* options */ - WINDOW * win; /* window */ - WINDOW * sub; /* subwindow */ - WINDOW * w; /* window for current field */ - FIELD ** field; /* field [maxfield] */ - FIELD * current; /* current field */ - _PAGE * page; /* page [maxpage] */ - void * usrptr; /* user pointer */ - - void (*forminit)(struct formnode *); - void (*formterm)(struct formnode *); - void (*fieldinit)(struct formnode *); - void (*fieldterm)(struct formnode *); - -} FORM; - -typedef void (*Form_Hook)(FORM *); - - /*************************** - * miscellaneous #defines * - ***************************/ - -/* field justification */ -#define NO_JUSTIFICATION (0) -#define JUSTIFY_LEFT (1) -#define JUSTIFY_CENTER (2) -#define JUSTIFY_RIGHT (3) - -/* field options */ -#define O_VISIBLE (0x0001U) -#define O_ACTIVE (0x0002U) -#define O_PUBLIC (0x0004U) -#define O_EDIT (0x0008U) -#define O_WRAP (0x0010U) -#define O_BLANK (0x0020U) -#define O_AUTOSKIP (0x0040U) -#define O_NULLOK (0x0080U) -#define O_PASSOK (0x0100U) -#define O_STATIC (0x0200U) - -/* form options */ -#define O_NL_OVERLOAD (0x0001U) -#define O_BS_OVERLOAD (0x0002U) - -/* form driver commands */ -#define REQ_NEXT_PAGE (KEY_MAX + 1) /* move to next page */ -#define REQ_PREV_PAGE (KEY_MAX + 2) /* move to previous page */ -#define REQ_FIRST_PAGE (KEY_MAX + 3) /* move to first page */ -#define REQ_LAST_PAGE (KEY_MAX + 4) /* move to last page */ - -#define REQ_NEXT_FIELD (KEY_MAX + 5) /* move to next field */ -#define REQ_PREV_FIELD (KEY_MAX + 6) /* move to previous field */ -#define REQ_FIRST_FIELD (KEY_MAX + 7) /* move to first field */ -#define REQ_LAST_FIELD (KEY_MAX + 8) /* move to last field */ -#define REQ_SNEXT_FIELD (KEY_MAX + 9) /* move to sorted next field */ -#define REQ_SPREV_FIELD (KEY_MAX + 10) /* move to sorted prev field */ -#define REQ_SFIRST_FIELD (KEY_MAX + 11) /* move to sorted first field */ -#define REQ_SLAST_FIELD (KEY_MAX + 12) /* move to sorted last field */ -#define REQ_LEFT_FIELD (KEY_MAX + 13) /* move to left to field */ -#define REQ_RIGHT_FIELD (KEY_MAX + 14) /* move to right to field */ -#define REQ_UP_FIELD (KEY_MAX + 15) /* move to up to field */ -#define REQ_DOWN_FIELD (KEY_MAX + 16) /* move to down to field */ - -#define REQ_NEXT_CHAR (KEY_MAX + 17) /* move to next char in field */ -#define REQ_PREV_CHAR (KEY_MAX + 18) /* move to prev char in field */ -#define REQ_NEXT_LINE (KEY_MAX + 19) /* move to next line in field */ -#define REQ_PREV_LINE (KEY_MAX + 20) /* move to prev line in field */ -#define REQ_NEXT_WORD (KEY_MAX + 21) /* move to next word in field */ -#define REQ_PREV_WORD (KEY_MAX + 22) /* move to prev word in field */ -#define REQ_BEG_FIELD (KEY_MAX + 23) /* move to first char in field */ -#define REQ_END_FIELD (KEY_MAX + 24) /* move after last char in fld */ -#define REQ_BEG_LINE (KEY_MAX + 25) /* move to beginning of line */ -#define REQ_END_LINE (KEY_MAX + 26) /* move after last char in line */ -#define REQ_LEFT_CHAR (KEY_MAX + 27) /* move left in field */ -#define REQ_RIGHT_CHAR (KEY_MAX + 28) /* move right in field */ -#define REQ_UP_CHAR (KEY_MAX + 29) /* move up in field */ -#define REQ_DOWN_CHAR (KEY_MAX + 30) /* move down in field */ - -#define REQ_NEW_LINE (KEY_MAX + 31) /* insert/overlay new line */ -#define REQ_INS_CHAR (KEY_MAX + 32) /* insert blank char at cursor */ -#define REQ_INS_LINE (KEY_MAX + 33) /* insert blank line at cursor */ -#define REQ_DEL_CHAR (KEY_MAX + 34) /* delete char at cursor */ -#define REQ_DEL_PREV (KEY_MAX + 35) /* delete char before cursor */ -#define REQ_DEL_LINE (KEY_MAX + 36) /* delete line at cursor */ -#define REQ_DEL_WORD (KEY_MAX + 37) /* delete word at cursor */ -#define REQ_CLR_EOL (KEY_MAX + 38) /* clear to end of line */ -#define REQ_CLR_EOF (KEY_MAX + 39) /* clear to end of field */ -#define REQ_CLR_FIELD (KEY_MAX + 40) /* clear entire field */ -#define REQ_OVL_MODE (KEY_MAX + 41) /* begin overlay mode */ -#define REQ_INS_MODE (KEY_MAX + 42) /* begin insert mode */ -#define REQ_SCR_FLINE (KEY_MAX + 43) /* scroll field forward a line */ -#define REQ_SCR_BLINE (KEY_MAX + 44) /* scroll field backward a line */ -#define REQ_SCR_FPAGE (KEY_MAX + 45) /* scroll field forward a page */ -#define REQ_SCR_BPAGE (KEY_MAX + 46) /* scroll field backward a page */ -#define REQ_SCR_FHPAGE (KEY_MAX + 47) /* scroll field forward half page */ -#define REQ_SCR_BHPAGE (KEY_MAX + 48) /* scroll field backward half page */ -#define REQ_SCR_FCHAR (KEY_MAX + 49) /* horizontal scroll char */ -#define REQ_SCR_BCHAR (KEY_MAX + 50) /* horizontal scroll char */ -#define REQ_SCR_HFLINE (KEY_MAX + 51) /* horizontal scroll line */ -#define REQ_SCR_HBLINE (KEY_MAX + 52) /* horizontal scroll line */ -#define REQ_SCR_HFHALF (KEY_MAX + 53) /* horizontal scroll half line */ -#define REQ_SCR_HBHALF (KEY_MAX + 54) /* horizontal scroll half line */ - -#define REQ_VALIDATION (KEY_MAX + 55) /* validate field */ -#define REQ_NEXT_CHOICE (KEY_MAX + 56) /* display next field choice */ -#define REQ_PREV_CHOICE (KEY_MAX + 57) /* display prev field choice */ - -#define MIN_FORM_COMMAND (KEY_MAX + 1) /* used by form_driver */ -#define MAX_FORM_COMMAND (KEY_MAX + 57) /* used by form_driver */ - -#if defined(MAX_COMMAND) -# if (MAX_FORM_COMMAND > MAX_COMMAND) -# error Something is wrong -- MAX_FORM_COMMAND is greater than MAX_COMMAND -# elif (MAX_COMMAND != (KEY_MAX + 128)) -# error Something is wrong -- MAX_COMMAND is already inconsistently defined. -# endif -#else -# define MAX_COMMAND (KEY_MAX + 128) -#endif - - /************************* - * standard field types * - *************************/ -extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ALPHA; -extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ALNUM; -extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ENUM; -extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_INTEGER; -extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_NUMERIC; -extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_REGEXP; - - /************************************ - * built-in additional field types * - * They are not defined in SVr4 * - ************************************/ -extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_IPV4; /* Internet IP Version 4 address */ - - /*********************** - * Default objects * - ***********************/ -extern NCURSES_EXPORT_VAR(FORM *) _nc_Default_Form; -extern NCURSES_EXPORT_VAR(FIELD *) _nc_Default_Field; - - - /*********************** - * FIELDTYPE routines * - ***********************/ -extern NCURSES_EXPORT(FIELDTYPE *) new_fieldtype ( - bool (* const field_check)(FIELD *,const void *), - bool (* const char_check)(int,const void *)); -extern NCURSES_EXPORT(FIELDTYPE *) link_fieldtype( - FIELDTYPE *, FIELDTYPE *); - -extern NCURSES_EXPORT(int) free_fieldtype (FIELDTYPE *); -extern NCURSES_EXPORT(int) set_fieldtype_arg (FIELDTYPE *, - void * (* const make_arg)(va_list *), - void * (* const copy_arg)(const void *), - void (* const free_arg)(void *)); -extern NCURSES_EXPORT(int) set_fieldtype_choice (FIELDTYPE *, - bool (* const next_choice)(FIELD *,const void *), - bool (* const prev_choice)(FIELD *,const void *)); - - /******************* - * FIELD routines * - *******************/ -extern NCURSES_EXPORT(FIELD *) new_field (int,int,int,int,int,int); -extern NCURSES_EXPORT(FIELD *) dup_field (FIELD *,int,int); -extern NCURSES_EXPORT(FIELD *) link_field (FIELD *,int,int); - -extern NCURSES_EXPORT(int) free_field (FIELD *); -extern NCURSES_EXPORT(int) field_info (const FIELD *,int *,int *,int *,int *,int *,int *); -extern NCURSES_EXPORT(int) dynamic_field_info (const FIELD *,int *,int *,int *); -extern NCURSES_EXPORT(int) set_max_field ( FIELD *,int); -extern NCURSES_EXPORT(int) move_field (FIELD *,int,int); -extern NCURSES_EXPORT(int) set_field_type (FIELD *,FIELDTYPE *,...); -extern NCURSES_EXPORT(int) set_new_page (FIELD *,bool); -extern NCURSES_EXPORT(int) set_field_just (FIELD *,int); -extern NCURSES_EXPORT(int) field_just (const FIELD *); -extern NCURSES_EXPORT(int) set_field_fore (FIELD *,chtype); -extern NCURSES_EXPORT(int) set_field_back (FIELD *,chtype); -extern NCURSES_EXPORT(int) set_field_pad (FIELD *,int); -extern NCURSES_EXPORT(int) field_pad (const FIELD *); -extern NCURSES_EXPORT(int) set_field_buffer (FIELD *,int,const char *); -extern NCURSES_EXPORT(int) set_field_status (FIELD *,bool); -extern NCURSES_EXPORT(int) set_field_userptr (FIELD *, void *); -extern NCURSES_EXPORT(int) set_field_opts (FIELD *,Field_Options); -extern NCURSES_EXPORT(int) field_opts_on (FIELD *,Field_Options); -extern NCURSES_EXPORT(int) field_opts_off (FIELD *,Field_Options); - -extern NCURSES_EXPORT(chtype) field_fore (const FIELD *); -extern NCURSES_EXPORT(chtype) field_back (const FIELD *); - -extern NCURSES_EXPORT(bool) new_page (const FIELD *); -extern NCURSES_EXPORT(bool) field_status (const FIELD *); - -extern NCURSES_EXPORT(void *) field_arg (const FIELD *); - -extern NCURSES_EXPORT(void *) field_userptr (const FIELD *); - -extern NCURSES_EXPORT(FIELDTYPE *) field_type (const FIELD *); - -extern NCURSES_EXPORT(char *) field_buffer (const FIELD *,int); - -extern NCURSES_EXPORT(Field_Options) field_opts (const FIELD *); - - /****************** - * FORM routines * - ******************/ - -extern NCURSES_EXPORT(FORM *) new_form (FIELD **); - -extern NCURSES_EXPORT(FIELD **) form_fields (const FORM *); -extern NCURSES_EXPORT(FIELD *) current_field (const FORM *); - -extern NCURSES_EXPORT(WINDOW *) form_win (const FORM *); -extern NCURSES_EXPORT(WINDOW *) form_sub (const FORM *); - -extern NCURSES_EXPORT(Form_Hook) form_init (const FORM *); -extern NCURSES_EXPORT(Form_Hook) form_term (const FORM *); -extern NCURSES_EXPORT(Form_Hook) field_init (const FORM *); -extern NCURSES_EXPORT(Form_Hook) field_term (const FORM *); - -extern NCURSES_EXPORT(int) free_form (FORM *); -extern NCURSES_EXPORT(int) set_form_fields (FORM *,FIELD **); -extern NCURSES_EXPORT(int) field_count (const FORM *); -extern NCURSES_EXPORT(int) set_form_win (FORM *,WINDOW *); -extern NCURSES_EXPORT(int) set_form_sub (FORM *,WINDOW *); -extern NCURSES_EXPORT(int) set_current_field (FORM *,FIELD *); -extern NCURSES_EXPORT(int) field_index (const FIELD *); -extern NCURSES_EXPORT(int) set_form_page (FORM *,int); -extern NCURSES_EXPORT(int) form_page (const FORM *); -extern NCURSES_EXPORT(int) scale_form (const FORM *,int *,int *); -extern NCURSES_EXPORT(int) set_form_init (FORM *,Form_Hook); -extern NCURSES_EXPORT(int) set_form_term (FORM *,Form_Hook); -extern NCURSES_EXPORT(int) set_field_init (FORM *,Form_Hook); -extern NCURSES_EXPORT(int) set_field_term (FORM *,Form_Hook); -extern NCURSES_EXPORT(int) post_form (FORM *); -extern NCURSES_EXPORT(int) unpost_form (FORM *); -extern NCURSES_EXPORT(int) pos_form_cursor (FORM *); -extern NCURSES_EXPORT(int) form_driver (FORM *,int); -extern NCURSES_EXPORT(int) set_form_userptr (FORM *,void *); -extern NCURSES_EXPORT(int) set_form_opts (FORM *,Form_Options); -extern NCURSES_EXPORT(int) form_opts_on (FORM *,Form_Options); -extern NCURSES_EXPORT(int) form_opts_off (FORM *,Form_Options); -extern NCURSES_EXPORT(int) form_request_by_name (const char *); - -extern NCURSES_EXPORT(const char *) form_request_name (int); - -extern NCURSES_EXPORT(void *) form_userptr (const FORM *); - -extern NCURSES_EXPORT(Form_Options) form_opts (const FORM *); - -extern NCURSES_EXPORT(bool) data_ahead (const FORM *); -extern NCURSES_EXPORT(bool) data_behind (const FORM *); - -#ifdef __cplusplus - } -#endif - -#endif /* FORM_H */ diff --git a/src/libs/ncurses/form/form.priv.h b/src/libs/ncurses/form/form.priv.h deleted file mode 100644 index b43f35c2cc..0000000000 --- a/src/libs/ncurses/form/form.priv.h +++ /dev/null @@ -1,249 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/* $Id: form.priv.h,v 0.25 2005/03/05 23:47:26 tom Exp $ */ - -#ifndef FORM_PRIV_H -#define FORM_PRIV_H 1 - -#include "curses.priv.h" -#include "mf_common.h" - -#if USE_WIDEC_SUPPORT -#include -#include - -#ifndef MB_LEN_MAX -#define MB_LEN_MAX 8 /* should be >= MB_CUR_MAX, but that may be a function */ -#endif - -#define FIELD_CELL NCURSES_CH_T - -#define NCURSES_FIELD_INTERNALS char** expanded; WINDOW *working; -#define NCURSES_FIELD_EXTENSION , (char **)0, (WINDOW *)0 - -#else - -#define FIELD_CELL char - -#define NCURSES_FIELD_EXTENSION /* nothing */ - -#endif - -#include "form.h" - -/* form status values */ -#define _OVLMODE (0x04U) /* Form is in overlay mode */ -#define _WINDOW_MODIFIED (0x10U) /* Current field window has been modified */ -#define _FCHECK_REQUIRED (0x20U) /* Current field needs validation */ - -/* field status values */ -#define _CHANGED (0x01U) /* Field has been changed */ -#define _NEWTOP (0x02U) /* Vertical scrolling occurred */ -#define _NEWPAGE (0x04U) /* field begins new page of form */ -#define _MAY_GROW (0x08U) /* dynamic field may still grow */ - -/* fieldtype status values */ -#define _LINKED_TYPE (0x01U) /* Type is a linked type */ -#define _HAS_ARGS (0x02U) /* Type has arguments */ -#define _HAS_CHOICE (0x04U) /* Type has choice methods */ -#define _RESIDENT (0x08U) /* Type is built-in */ - -/* This are the field options required to be a selectable field in field - navigation requests */ -#define O_SELECTABLE (O_ACTIVE | O_VISIBLE) - -/* If form is NULL replace form argument by default-form */ -#define Normalize_Form(form) \ - ((form) = (form != 0) ? (form) : _nc_Default_Form) - -/* If field is NULL replace field argument by default-field */ -#define Normalize_Field(field) \ - ((field) = (field != 0) ? (field) : _nc_Default_Field) - -/* Retrieve forms window */ -#define Get_Form_Window(form) \ - ((form)->sub?(form)->sub:((form)->win?(form)->win:stdscr)) - -/* Calculate the size for a single buffer for this field */ -#define Buffer_Length(field) ((field)->drows * (field)->dcols) - -/* Calculate the total size of all buffers for this field */ -#define Total_Buffer_Size(field) \ - ( (Buffer_Length(field) + 1) * (1+(field)->nbuf) * sizeof(FIELD_CELL) ) - -/* Logic to determine whether or not a field is single lined */ -#define Single_Line_Field(field) \ - (((field)->rows + (field)->nrow) == 1) - -/* Logic to determine whether or not a field is selectable */ -#define Field_Is_Selectable(f) (((unsigned)((f)->opts) & O_SELECTABLE)==O_SELECTABLE) -#define Field_Is_Not_Selectable(f) (((unsigned)((f)->opts) & O_SELECTABLE)!=O_SELECTABLE) - -typedef struct typearg - { - struct typearg *left; - struct typearg *right; - } -TypeArgument; - -/* This is a dummy request code (normally invalid) to be used internally - with the form_driver() routine to position to the first active field - on the form -*/ -#define FIRST_ACTIVE_MAGIC (-291056) - -#define ALL_FORM_OPTS ( \ - O_NL_OVERLOAD |\ - O_BS_OVERLOAD ) - -#define ALL_FIELD_OPTS (Field_Options)( \ - O_VISIBLE |\ - O_ACTIVE |\ - O_PUBLIC |\ - O_EDIT |\ - O_WRAP |\ - O_BLANK |\ - O_AUTOSKIP|\ - O_NULLOK |\ - O_PASSOK |\ - O_STATIC ) - -#define C_BLANK ' ' -#define is_blank(c) ((c)==C_BLANK) - -#define C_ZEROS '\0' - -extern NCURSES_EXPORT_VAR(const FIELDTYPE *) _nc_Default_FieldType; - -extern NCURSES_EXPORT(TypeArgument *) _nc_Make_Argument (const FIELDTYPE*, va_list*, int*); -extern NCURSES_EXPORT(TypeArgument *) _nc_Copy_Argument (const FIELDTYPE*, const TypeArgument*, int*); -extern NCURSES_EXPORT(void) _nc_Free_Argument (const FIELDTYPE*, TypeArgument*); -extern NCURSES_EXPORT(bool) _nc_Copy_Type (FIELD*, FIELD const *); -extern NCURSES_EXPORT(void) _nc_Free_Type (FIELD *); - -extern NCURSES_EXPORT(int) _nc_Synchronize_Attributes (FIELD*); -extern NCURSES_EXPORT(int) _nc_Synchronize_Options (FIELD*, Field_Options); -extern NCURSES_EXPORT(int) _nc_Set_Form_Page (FORM*, int, FIELD*); -extern NCURSES_EXPORT(int) _nc_Refresh_Current_Field (FORM*); -extern NCURSES_EXPORT(FIELD *) _nc_First_Active_Field (FORM*); -extern NCURSES_EXPORT(bool) _nc_Internal_Validation (FORM*); -extern NCURSES_EXPORT(int) _nc_Set_Current_Field (FORM*, FIELD*); -extern NCURSES_EXPORT(int) _nc_Position_Form_Cursor (FORM*); - -#if USE_WIDEC_SUPPORT -extern NCURSES_EXPORT(wchar_t *) _nc_Widen_String(char *, int *); -#endif - -#ifdef TRACE - -#define returnField(code) TRACE_RETURN(code,field) -#define returnFieldPtr(code) TRACE_RETURN(code,field_ptr) -#define returnForm(code) TRACE_RETURN(code,form) -#define returnFieldType(code) TRACE_RETURN(code,field_type) -#define returnFormHook(code) TRACE_RETURN(code,form_hook) - -extern NCURSES_EXPORT(FIELD **) _nc_retrace_field_ptr (FIELD **); -extern NCURSES_EXPORT(FIELD *) _nc_retrace_field (FIELD *); -extern NCURSES_EXPORT(FIELDTYPE *) _nc_retrace_field_type (FIELDTYPE *); -extern NCURSES_EXPORT(FORM *) _nc_retrace_form (FORM *); -extern NCURSES_EXPORT(Form_Hook) _nc_retrace_form_hook (Form_Hook); - -#else /* !TRACE */ - -#define returnFieldPtr(code) return code -#define returnFieldType(code) return code -#define returnField(code) return code -#define returnForm(code) return code -#define returnFormHook(code) return code - -#endif /* TRACE/!TRACE */ - -/* - * Use Check_CTYPE_Field() to simplify FIELDTYPE's that use only the ccheck() - * function. - */ -#if USE_WIDEC_SUPPORT -#define Check_CTYPE_Field(result, buffer, width, ccheck) \ - while (*buffer && *buffer == ' ') \ - buffer++; \ - if (*buffer) \ - { \ - bool blank = FALSE; \ - int len; \ - int n; \ - wchar_t *list = _nc_Widen_String((char *)buffer, &len); \ - if (list != 0) \ - { \ - result = TRUE; \ - for (n = 0; n < len; ++n) \ - { \ - if (blank) \ - { \ - if (list[n] != ' ') \ - { \ - result = FALSE; \ - break; \ - } \ - } \ - else if (list[n] == ' ') \ - { \ - blank = TRUE; \ - result = (n + 1 >= width); \ - } \ - else if (!ccheck(list[n], NULL)) \ - { \ - result = FALSE; \ - break; \ - } \ - } \ - free(list); \ - } \ - } -#else -#define Check_CTYPE_Field(result, buffer, width, ccheck) \ - while (*buffer && *buffer == ' ') \ - buffer++; \ - if (*buffer) \ - { \ - unsigned char *s = buffer; \ - int l = -1; \ - while (*buffer && ccheck(*buffer, NULL)) \ - buffer++; \ - l = (int)(buffer - s); \ - while (*buffer && *buffer == ' ') \ - buffer++; \ - result = ((*buffer || (l < width)) ? FALSE : TRUE); \ - } -#endif - -#endif /* FORM_PRIV_H */ diff --git a/src/libs/ncurses/form/frm_cursor.c b/src/libs/ncurses/form/frm_cursor.c deleted file mode 100644 index 18dabab208..0000000000 --- a/src/libs/ncurses/form/frm_cursor.c +++ /dev/null @@ -1,70 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: frm_cursor.c,v 1.9 2004/12/11 22:01:03 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int pos_form_cursor(FORM * form) -| -| Description : Moves the form window cursor to the location required -| by the form driver to resume form processing. This may -| be needed after the application calls a curses library -| I/O routine that modifies the cursor position. -| -| Return Values : E_OK - Success -| E_SYSTEM_ERROR - System error. -| E_BAD_ARGUMENT - Invalid form pointer -| E_NOT_POSTED - Form is not posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -pos_form_cursor(FORM *form) -{ - int res; - - T((T_CALLED("pos_form_cursor(%p)"), form)); - - if (!form) - res = E_BAD_ARGUMENT; - else - { - if (!(form->status & _POSTED)) - res = E_NOT_POSTED; - else - res = _nc_Position_Form_Cursor(form); - } - RETURN(res); -} - -/* frm_cursor.c ends here */ diff --git a/src/libs/ncurses/form/frm_data.c b/src/libs/ncurses/form/frm_data.c deleted file mode 100644 index e52b1bece2..0000000000 --- a/src/libs/ncurses/form/frm_data.c +++ /dev/null @@ -1,193 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: frm_data.c,v 1.13 2004/12/11 22:29:28 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : bool data_behind(const FORM *form) -| -| Description : Check for off-screen data behind. This is nearly trivial -| because the beginning of a field is fixed. -| -| Return Values : TRUE - there are off-screen data behind -| FALSE - there are no off-screen data behind -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(bool) -data_behind(const FORM *form) -{ - bool result = FALSE; - - T((T_CALLED("data_behind(%p)"), form)); - - if (form && (form->status & _POSTED) && form->current) - { - FIELD *field; - - field = form->current; - if (!Single_Line_Field(field)) - { - result = (form->toprow == 0) ? FALSE : TRUE; - } - else - { - result = (form->begincol == 0) ? FALSE : TRUE; - } - } - returnBool(result); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static char * Only_Padding( -| WINDOW *w, -| int len, -| int pad) -| -| Description : Test if 'length' cells starting at the current position -| contain a padding character. -| -| Return Values : true if only padding cells are found -+--------------------------------------------------------------------------*/ -INLINE static bool -Only_Padding(WINDOW *w, int len, int pad) -{ - bool result = TRUE; - int y, x, j; - FIELD_CELL cell; - - getyx(w, y, x); - for (j = 0; j < len; ++j) - { - if (wmove(w, y, x + j) != ERR) - { -#if USE_WIDEC_SUPPORT - if (win_wch(w, &cell) != ERR) - { - if ((chtype)CharOf(cell) != ChCharOf(pad) - || cell.chars[1] != 0) - { - result = FALSE; - break; - } - } -#else - cell = winch(w); - if (ChCharOf(cell) != ChCharOf(pad)) - { - result = FALSE; - break; - } -#endif - } - else - { - /* if an error, return true: no non-padding text found */ - break; - } - } - /* no need to reset the cursor position; caller does this */ - return result; -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : bool data_ahead(const FORM *form) -| -| Description : Check for off-screen data ahead. This is more difficult -| because a dynamic field has a variable end. -| -| Return Values : TRUE - there are off-screen data ahead -| FALSE - there are no off-screen data ahead -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(bool) -data_ahead(const FORM *form) -{ - bool result = FALSE; - - T((T_CALLED("data_ahead(%p)"), form)); - - if (form && (form->status & _POSTED) && form->current) - { - FIELD *field; - bool cursor_moved = FALSE; - int pos; - - field = form->current; - assert(form->w); - - if (Single_Line_Field(field)) - { - int check_len; - - pos = form->begincol + field->cols; - while (pos < field->dcols) - { - check_len = field->dcols - pos; - if (check_len >= field->cols) - check_len = field->cols; - cursor_moved = TRUE; - wmove(form->w, 0, pos); - if (Only_Padding(form->w, check_len, field->pad)) - pos += field->cols; - else - { - result = TRUE; - break; - } - } - } - else - { - pos = form->toprow + field->rows; - while (pos < field->drows) - { - cursor_moved = TRUE; - wmove(form->w, pos, 0); - pos++; - if (!Only_Padding(form->w, field->cols, field->pad)) - { - result = TRUE; - break; - } - } - } - - if (cursor_moved) - wmove(form->w, form->currow, form->curcol); - } - returnBool(result); -} - -/* frm_data.c ends here */ diff --git a/src/libs/ncurses/form/frm_def.c b/src/libs/ncurses/form/frm_def.c deleted file mode 100644 index d654b0b9f5..0000000000 --- a/src/libs/ncurses/form/frm_def.c +++ /dev/null @@ -1,398 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: frm_def.c,v 1.17 2004/12/25 22:26:01 tom Exp $") - -/* this can't be readonly */ -static FORM default_form = -{ - 0, /* status */ - 0, /* rows */ - 0, /* cols */ - 0, /* currow */ - 0, /* curcol */ - 0, /* toprow */ - 0, /* begincol */ - -1, /* maxfield */ - -1, /* maxpage */ - -1, /* curpage */ - ALL_FORM_OPTS, /* opts */ - (WINDOW *)0, /* win */ - (WINDOW *)0, /* sub */ - (WINDOW *)0, /* w */ - (FIELD **)0, /* field */ - (FIELD *)0, /* current */ - (_PAGE *) 0, /* page */ - (char *)0, /* usrptr */ - NULL, /* forminit */ - NULL, /* formterm */ - NULL, /* fieldinit */ - NULL /* fieldterm */ -}; - -NCURSES_EXPORT_VAR(FORM *) _nc_Default_Form = &default_form; - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static FIELD *Insert_Field_By_Position( -| FIELD *new_field, -| FIELD *head ) -| -| Description : Insert new_field into sorted fieldlist with head "head" -| and return new head of sorted fieldlist. Sorting -| criteria is (row,column). This is a circular list. -| -| Return Values : New head of sorted fieldlist -+--------------------------------------------------------------------------*/ -static FIELD * -Insert_Field_By_Position(FIELD *newfield, FIELD *head) -{ - FIELD *current, *newhead; - - assert(newfield); - - if (!head) - { /* empty list is trivial */ - newhead = newfield->snext = newfield->sprev = newfield; - } - else - { - newhead = current = head; - while ((current->frow < newfield->frow) || - ((current->frow == newfield->frow) && - (current->fcol < newfield->fcol))) - { - current = current->snext; - if (current == head) - { /* We cycled through. Reset head to indicate that */ - head = (FIELD *)0; - break; - } - } - /* we leave the loop with current pointing to the field after newfield */ - newfield->snext = current; - newfield->sprev = current->sprev; - newfield->snext->sprev = newfield; - newfield->sprev->snext = newfield; - if (current == head) - newhead = newfield; - } - return (newhead); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void Disconnect_Fields(FORM *form) -| -| Description : Break association between form and array of fields. -| -| Return Values : - -+--------------------------------------------------------------------------*/ -static void -Disconnect_Fields(FORM *form) -{ - if (form->field) - { - FIELD **fields; - - for (fields = form->field; *fields; fields++) - { - if (form == (*fields)->form) - (*fields)->form = (FORM *)0; - } - - form->rows = form->cols = 0; - form->maxfield = form->maxpage = -1; - form->field = (FIELD **)0; - if (form->page) - free(form->page); - form->page = (_PAGE *) 0; - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int Connect_Fields(FORM *form, FIELD **fields) -| -| Description : Set association between form and array of fields. -| -| Return Values : E_OK - no error -| E_CONNECTED - a field is already connected -| E_BAD_ARGUMENT - Invalid form pointer or field array -| E_SYSTEM_ERROR - not enough memory -+--------------------------------------------------------------------------*/ -static int -Connect_Fields(FORM *form, FIELD **fields) -{ - int field_cnt, j; - int page_nr; - int maximum_row_in_field, maximum_col_in_field; - _PAGE *pg; - - T((T_CALLED("Connect_Fields(%p,%p)"), form, fields)); - - assert(form); - - form->field = fields; - form->maxfield = 0; - form->maxpage = 0; - - if (!fields) - RETURN(E_OK); - - page_nr = 0; - /* store formpointer in fields and count pages */ - for (field_cnt = 0; fields[field_cnt]; field_cnt++) - { - if (fields[field_cnt]->form) - RETURN(E_CONNECTED); - if (field_cnt == 0 || - (fields[field_cnt]->status & _NEWPAGE)) - page_nr++; - fields[field_cnt]->form = form; - } - if (field_cnt == 0) - RETURN(E_BAD_ARGUMENT); - - /* allocate page structures */ - if ((pg = (_PAGE *) malloc(page_nr * sizeof(_PAGE))) != (_PAGE *) 0) - { - form->page = pg; - } - else - RETURN(E_SYSTEM_ERROR); - - /* Cycle through fields and calculate page boundaries as well as - size of the form */ - for (j = 0; j < field_cnt; j++) - { - if (j == 0) - pg->pmin = j; - else - { - if (fields[j]->status & _NEWPAGE) - { - pg->pmax = j - 1; - pg++; - pg->pmin = j; - } - } - - maximum_row_in_field = fields[j]->frow + fields[j]->rows; - maximum_col_in_field = fields[j]->fcol + fields[j]->cols; - - if (form->rows < maximum_row_in_field) - form->rows = maximum_row_in_field; - if (form->cols < maximum_col_in_field) - form->cols = maximum_col_in_field; - } - - pg->pmax = field_cnt - 1; - form->maxfield = field_cnt; - form->maxpage = page_nr; - - /* Sort fields on form pages */ - for (page_nr = 0; page_nr < form->maxpage; page_nr++) - { - FIELD *fld = (FIELD *)0; - - for (j = form->page[page_nr].pmin; j <= form->page[page_nr].pmax; j++) - { - fields[j]->index = j; - fields[j]->page = page_nr; - fld = Insert_Field_By_Position(fields[j], fld); - } - form->page[page_nr].smin = fld->index; - form->page[page_nr].smax = fld->sprev->index; - } - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int Associate_Fields(FORM *form, FIELD **fields) -| -| Description : Set association between form and array of fields. -| If there are fields, position to first active field. -| -| Return Values : E_OK - success -| any other - error occurred -+--------------------------------------------------------------------------*/ -INLINE static int -Associate_Fields(FORM *form, FIELD **fields) -{ - int res = Connect_Fields(form, fields); - - if (res == E_OK) - { - if (form->maxpage > 0) - { - form->curpage = 0; - form_driver(form, FIRST_ACTIVE_MAGIC); - } - else - { - form->curpage = -1; - form->current = (FIELD *)0; - } - } - return (res); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : FORM *new_form( FIELD **fields ) -| -| Description : Create new form with given array of fields. -| -| Return Values : Pointer to form. NULL if error occurred. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(FORM *) -new_form(FIELD **fields) -{ - int err = E_SYSTEM_ERROR; - - FORM *form = (FORM *)malloc(sizeof(FORM)); - - T((T_CALLED("new_form(%p)"), fields)); - if (form) - { - *form = *_nc_Default_Form; - if ((err = Associate_Fields(form, fields)) != E_OK) - { - free_form(form); - form = (FORM *)0; - } - } - - if (!form) - SET_ERROR(err); - - returnForm(form); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int free_form( FORM *form ) -| -| Description : Release internal memory associated with form. -| -| Return Values : E_OK - no error -| E_BAD_ARGUMENT - invalid form pointer -| E_POSTED - form is posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -free_form(FORM *form) -{ - T((T_CALLED("free_form(%p)"), form)); - - if (!form) - RETURN(E_BAD_ARGUMENT); - - if (form->status & _POSTED) - RETURN(E_POSTED); - - Disconnect_Fields(form); - if (form->page) - free(form->page); - free(form); - - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_form_fields( FORM *form, FIELD **fields ) -| -| Description : Set a new association of an array of fields to a form -| -| Return Values : E_OK - no error -| E_BAD_ARGUMENT - invalid form pointer -| E_POSTED - form is posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_form_fields(FORM *form, FIELD **fields) -{ - FIELD **old; - int res; - - T((T_CALLED("set_form_fields(%p,%p)"), form, fields)); - - if (!form) - RETURN(E_BAD_ARGUMENT); - - if (form->status & _POSTED) - RETURN(E_POSTED); - - old = form->field; - Disconnect_Fields(form); - - if ((res = Associate_Fields(form, fields)) != E_OK) - Connect_Fields(form, old); - - RETURN(res); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : FIELD **form_fields( const FORM *form ) -| -| Description : Retrieve array of fields -| -| Return Values : Pointer to field array -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(FIELD **) -form_fields(const FORM *form) -{ - T((T_CALLED("form_field(%p)"), form)); - returnFieldPtr(Normalize_Form(form)->field); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int field_count( const FORM *form ) -| -| Description : Retrieve number of fields -| -| Return Values : Number of fields, -1 if none are defined -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -field_count(const FORM *form) -{ - T((T_CALLED("field_count(%p)"), form)); - - returnCode(Normalize_Form(form)->maxfield); -} - -/* frm_def.c ends here */ diff --git a/src/libs/ncurses/form/frm_driver.c b/src/libs/ncurses/form/frm_driver.c deleted file mode 100644 index 72defd9692..0000000000 --- a/src/libs/ncurses/form/frm_driver.c +++ /dev/null @@ -1,4461 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: frm_driver.c,v 1.71 2005/10/01 19:42:40 tom Exp $") - -/*---------------------------------------------------------------------------- - This is the core module of the form library. It contains the majority - of the driver routines as well as the form_driver function. - - Essentially this module is nearly the whole library. This is because - all the functions in this module depends on some others in the module, - so it makes no sense to split them into separate files because they - will always be linked together. The only acceptable concern is turnaround - time for this module, but now we have all Pentiums or RISCs, so what! - - The driver routines are grouped into nine generic categories: - - a) Page Navigation ( all functions prefixed by PN_ ) - The current page of the form is left and some new page is - entered. - b) Inter-Field Navigation ( all functions prefixed by FN_ ) - The current field of the form is left and some new field is - entered. - c) Intra-Field Navigation ( all functions prefixed by IFN_ ) - The current position in the current field is changed. - d) Vertical Scrolling ( all functions prefixed by VSC_ ) - Essentially this is a specialization of Intra-Field navigation. - It has to check for a multi-line field. - e) Horizontal Scrolling ( all functions prefixed by HSC_ ) - Essentially this is a specialization of Intra-Field navigation. - It has to check for a single-line field. - f) Field Editing ( all functions prefixed by FE_ ) - The content of the current field is changed - g) Edit Mode requests ( all functions prefixed by EM_ ) - Switching between insert and overlay mode - h) Field-Validation requests ( all functions prefixed by FV_ ) - Perform verifications of the field. - i) Choice requests ( all functions prefixed by CR_ ) - Requests to enumerate possible field values - --------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - Some remarks on the placements of assert() macros : - I use them only on "strategic" places, i.e. top level entries where - I want to make sure that things are set correctly. Throughout subordinate - routines I omit them mostly. - --------------------------------------------------------------------------*/ - -/* -Some options that may effect compatibility in behavior to SVr4 forms, -but they are here to allow a more intuitive and user friendly behavior of -our form implementation. This doesn't affect the API, so we feel it is -uncritical. - -The initial implementation tries to stay very close with the behavior -of the original SVr4 implementation, although in some areas it is quite -clear that this isn't the most appropriate way. As far as possible this -sources will allow you to build a forms lib that behaves quite similar -to SVr4, but now and in the future we will give you better options. -Perhaps at some time we will make this configurable at runtime. -*/ - -/* Implement a more user-friendly previous/next word behavior */ -#define FRIENDLY_PREV_NEXT_WORD (1) -/* Fix the wrong behavior for forms with all fields inactive */ -#define FIX_FORM_INACTIVE_BUG (1) -/* Allow dynamic field growth also when navigating past the end */ -#define GROW_IF_NAVIGATE (1) - -#if USE_WIDEC_SUPPORT -#define myADDNSTR(w, s, n) wadd_wchnstr(w, s, n) -#define myINSNSTR(w, s, n) wins_wchnstr(w, s, n) -#define myINNSTR(w, s, n) fix_wchnstr(w, s, n) -#define myWCWIDTH(w, y, x) cell_width(w, y, x) -#else -#define myADDNSTR(w, s, n) waddnstr(w, s, n) -#define myINSNSTR(w, s, n) winsnstr(w, s, n) -#define myINNSTR(w, s, n) winnstr(w, s, n) -#define myWCWIDTH(w, y, x) 1 -#endif - -/*---------------------------------------------------------------------------- - Forward references to some internally used static functions - --------------------------------------------------------------------------*/ -static int Inter_Field_Navigation(int (*const fct) (FORM *), FORM *form); -static int FN_Next_Field(FORM *form); -static int FN_Previous_Field(FORM *form); -static int FE_New_Line(FORM *); -static int FE_Delete_Previous(FORM *); - -/*---------------------------------------------------------------------------- - Macro Definitions. - - Some Remarks on that: I use the convention to use UPPERCASE for constants - defined by Macros. If I provide a macro as a kind of inline routine to - provide some logic, I use my Upper_Lower case style. - --------------------------------------------------------------------------*/ - -/* Calculate the position of a single row in a field buffer */ -#define Position_Of_Row_In_Buffer(field,row) ((row)*(field)->dcols) - -/* Calculate start address for the fields buffer# N */ -#define Address_Of_Nth_Buffer(field,N) \ - ((field)->buf + (N)*(1+Buffer_Length(field))) - -/* Calculate the start address of the row in the fields specified buffer# N */ -#define Address_Of_Row_In_Nth_Buffer(field,N,row) \ - (Address_Of_Nth_Buffer(field,N) + Position_Of_Row_In_Buffer(field,row)) - -/* Calculate the start address of the row in the fields primary buffer */ -#define Address_Of_Row_In_Buffer(field,row) \ - Address_Of_Row_In_Nth_Buffer(field,0,row) - -/* Calculate the start address of the row in the forms current field - buffer# N */ -#define Address_Of_Current_Row_In_Nth_Buffer(form,N) \ - Address_Of_Row_In_Nth_Buffer((form)->current,N,(form)->currow) - -/* Calculate the start address of the row in the forms current field - primary buffer */ -#define Address_Of_Current_Row_In_Buffer(form) \ - Address_Of_Current_Row_In_Nth_Buffer(form,0) - -/* Calculate the address of the cursor in the forms current field - primary buffer */ -#define Address_Of_Current_Position_In_Nth_Buffer(form,N) \ - (Address_Of_Current_Row_In_Nth_Buffer(form,N) + (form)->curcol) - -/* Calculate the address of the cursor in the forms current field - buffer# N */ -#define Address_Of_Current_Position_In_Buffer(form) \ - Address_Of_Current_Position_In_Nth_Buffer(form,0) - -/* Logic to decide whether or not a field is actually a field with - vertical or horizontal scrolling */ -#define Is_Scroll_Field(field) \ - (((field)->drows > (field)->rows) || \ - ((field)->dcols > (field)->cols)) - -/* Logic to decide whether or not a field needs to have an individual window - instead of a derived window because it contains invisible parts. - This is true for non-public fields and for scrollable fields. */ -#define Has_Invisible_Parts(field) \ - (!((field)->opts & O_PUBLIC) || \ - Is_Scroll_Field(field)) - -/* Logic to decide whether or not a field needs justification */ -#define Justification_Allowed(field) \ - (((field)->just != NO_JUSTIFICATION) && \ - (Single_Line_Field(field)) && \ - (((field)->dcols == (field)->cols) && \ - ((field)->opts & O_STATIC)) ) - -/* Logic to determine whether or not a dynamic field may still grow */ -#define Growable(field) ((field)->status & _MAY_GROW) - -/* Macro to set the attributes for a fields window */ -#define Set_Field_Window_Attributes(field,win) \ -( wbkgdset((win),(chtype)((field)->pad | (field)->back)), \ - wattrset((win),(field)->fore) ) - -/* Logic to decide whether or not a field really appears on the form */ -#define Field_Really_Appears(field) \ - ((field->form) &&\ - (field->form->status & _POSTED) &&\ - (field->opts & O_VISIBLE) &&\ - (field->page == field->form->curpage)) - -/* Logic to determine whether or not we are on the first position in the - current field */ -#define First_Position_In_Current_Field(form) \ - (((form)->currow==0) && ((form)->curcol==0)) - -#define Minimum(a,b) (((a)<=(b)) ? (a) : (b)) -#define Maximum(a,b) (((a)>=(b)) ? (a) : (b)) - -/*---------------------------------------------------------------------------- - Useful constants - --------------------------------------------------------------------------*/ -static FIELD_CELL myBLANK = BLANK; -static FIELD_CELL myZEROS; - -#ifdef TRACE -static void -check_pos(FORM *form, int lineno) -{ - int y, x; - - if (form && form->w) - { - getyx(form->w, y, x); - if (y != form->currow || x != form->curcol) - { - T(("CHECKPOS %s@%d have position %d,%d vs want %d,%d", - __FILE__, lineno, - y, x, - form->currow, form->curcol)); - } - } -} -#define CHECKPOS(form) check_pos(form, __LINE__) -#else -#define CHECKPOS(form) /* nothing */ -#endif - -/*---------------------------------------------------------------------------- - Wide-character special functions - --------------------------------------------------------------------------*/ -#if USE_WIDEC_SUPPORT -/* like winsnstr */ -static int -wins_wchnstr(WINDOW *w, cchar_t *s, int n) -{ - int code = ERR; - int y, x; - - while (n-- > 0) - { - getyx(w, y, x); - if ((code = wins_wch(w, s++)) != OK) - break; - if ((code = wmove(w, y, x + 1)) != OK) - break; - } - return code; -} - -/* win_wchnstr is inconsistent with winnstr, since it returns OK rather than - * the number of items transferred. - */ -static int -fix_wchnstr(WINDOW *w, cchar_t *s, int n) -{ - win_wchnstr(w, s, n); - return n; -} - -/* - * Returns the column of the base of the given cell. - */ -static int -cell_base(WINDOW *win, int y, int x) -{ - int result = x; - - while (LEGALYX(win, y, x)) - { - cchar_t *data = &(win->_line[y].text[x]); - - if (isWidecBase(CHDEREF(data)) || !isWidecExt(CHDEREF(data))) - { - result = x; - break; - } - --x; - } - return result; -} - -/* - * Returns the number of columns needed for the given cell in a window. - */ -static int -cell_width(WINDOW *win, int y, int x) -{ - int result = 1; - - if (LEGALYX(win, y, x)) - { - cchar_t *data = &(win->_line[y].text[x]); - - if (isWidecExt(CHDEREF(data))) - { - /* recur, providing the number of columns to the next character */ - result = cell_width(win, y, x - 1); - } - else - { - result = wcwidth(CharOf(CHDEREF(data))); - } - } - return result; -} - -/* - * There is no wide-character function such as wdel_wch(), so we must find - * all of the cells that comprise a multi-column character and delete them - * one-by-one. - */ -static void -delete_char(FORM *form) -{ - int cells = cell_width(form->w, form->currow, form->curcol); - - form->curcol = cell_base(form->w, form->currow, form->curcol); - wmove(form->w, form->currow, form->curcol); - while (cells-- > 0) - { - wdelch(form->w); - } -} -#define DeleteChar(form) delete_char(form) -#else -#define DeleteChar(form) \ - wmove((form)->w, (form)->currow, (form)->curcol), \ - wdelch((form)->w) -#endif - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static char *Get_Start_Of_Data(char * buf, int blen) -| -| Description : Return pointer to first non-blank position in buffer. -| If buffer is empty return pointer to buffer itself. -| -| Return Values : Pointer to first non-blank position in buffer -+--------------------------------------------------------------------------*/ -INLINE static FIELD_CELL * -Get_Start_Of_Data(FIELD_CELL *buf, int blen) -{ - FIELD_CELL *p = buf; - FIELD_CELL *end = &buf[blen]; - - assert(buf && blen >= 0); - while ((p < end) && ISBLANK(*p)) - p++; - return ((p == end) ? buf : p); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static char *After_End_Of_Data(char * buf, int blen) -| -| Description : Return pointer after last non-blank position in buffer. -| If buffer is empty, return pointer to buffer itself. -| -| Return Values : Pointer to position after last non-blank position in -| buffer. -+--------------------------------------------------------------------------*/ -INLINE static FIELD_CELL * -After_End_Of_Data(FIELD_CELL *buf, int blen) -{ - FIELD_CELL *p = &buf[blen]; - - assert(buf && blen >= 0); - while ((p > buf) && ISBLANK(p[-1])) - p--; - return (p); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static char *Get_First_Whitespace_Character( -| char * buf, int blen) -| -| Description : Position to the first whitespace character. -| -| Return Values : Pointer to first whitespace character in buffer. -+--------------------------------------------------------------------------*/ -INLINE static FIELD_CELL * -Get_First_Whitespace_Character(FIELD_CELL *buf, int blen) -{ - FIELD_CELL *p = buf; - FIELD_CELL *end = &p[blen]; - - assert(buf && blen >= 0); - while ((p < end) && !ISBLANK(*p)) - p++; - return ((p == end) ? buf : p); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static char *After_Last_Whitespace_Character( -| char * buf, int blen) -| -| Description : Get the position after the last whitespace character. -| -| Return Values : Pointer to position after last whitespace character in -| buffer. -+--------------------------------------------------------------------------*/ -INLINE static FIELD_CELL * -After_Last_Whitespace_Character(FIELD_CELL *buf, int blen) -{ - FIELD_CELL *p = &buf[blen]; - - assert(buf && blen >= 0); - while ((p > buf) && !ISBLANK(p[-1])) - p--; - return (p); -} - -/* Set this to 1 to use the div_t version. This is a good idea if your - compiler has an intrinsic div() support. Unfortunately GNU-C has it - not yet. - N.B.: This only works if form->curcol follows immediately form->currow - and both are of type int. -*/ -#define USE_DIV_T (0) - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void Adjust_Cursor_Position( -| FORM * form, const char * pos) -| -| Description : Set current row and column of the form to values -| corresponding to the buffer position. -| -| Return Values : - -+--------------------------------------------------------------------------*/ -INLINE static void -Adjust_Cursor_Position(FORM *form, const FIELD_CELL *pos) -{ - FIELD *field; - int idx; - - field = form->current; - assert(pos >= field->buf && field->dcols > 0); - idx = (int)(pos - field->buf); -#if USE_DIV_T - *((div_t *) & (form->currow)) = div(idx, field->dcols); -#else - form->currow = idx / field->dcols; - form->curcol = idx - field->cols * form->currow; -#endif - if (field->drows < form->currow) - form->currow = 0; -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void Buffer_To_Window( -| const FIELD * field, -| WINDOW * win) -| -| Description : Copy the buffer to the window. If it is a multi-line -| field, the buffer is split to the lines of the -| window without any editing. -| -| Return Values : - -+--------------------------------------------------------------------------*/ -static void -Buffer_To_Window(const FIELD *field, WINDOW *win) -{ - int width, height; - int y, x; - int len; - int row; - FIELD_CELL *pBuffer; - - assert(win && field); - - getyx(win, y, x); - width = getmaxx(win); - height = getmaxy(win); - - for (row = 0, pBuffer = field->buf; - row < height; - row++, pBuffer += width) - { - if ((len = (int)(After_End_Of_Data(pBuffer, width) - pBuffer)) > 0) - { - wmove(win, row, 0); - myADDNSTR(win, pBuffer, len); - } - } - wmove(win, y, x); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void Window_To_Buffer( -| WINDOW * win, -| FIELD * field) -| -| Description : Copy the content of the window into the buffer. -| The multiple lines of a window are simply -| concatenated into the buffer. Pad characters in -| the window will be replaced by blanks in the buffer. -| -| Return Values : - -+--------------------------------------------------------------------------*/ -static void -Window_To_Buffer(WINDOW *win, FIELD *field) -{ - int pad; - int len = 0; - FIELD_CELL *p; - int row, height; - - assert(win && field && field->buf); - - pad = field->pad; - p = field->buf; - height = getmaxy(win); - - for (row = 0; (row < height) && (row < field->drows); row++) - { - wmove(win, row, 0); - len += myINNSTR(win, p + len, field->dcols); - } - p[len] = myZEROS; - - /* replace visual padding character by blanks in buffer */ - if (pad != C_BLANK) - { - int i; - - for (i = 0; i < len; i++, p++) - { - if ((unsigned long)CharOf(*p) == ChCharOf(pad) -#if USE_WIDEC_SUPPORT - && p->chars[1] == 0 -#endif - && AttrOf(*p) == ChAttrOf(pad)) - *p = myBLANK; - } - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void Synchronize_Buffer(FORM * form) -| -| Description : If there was a change, copy the content of the -| window into the buffer, so the buffer is synchronized -| with the windows content. We have to indicate that the -| buffer needs validation due to the change. -| -| Return Values : - -+--------------------------------------------------------------------------*/ -INLINE static void -Synchronize_Buffer(FORM *form) -{ - if (form->status & _WINDOW_MODIFIED) - { - form->status &= ~_WINDOW_MODIFIED; - form->status |= _FCHECK_REQUIRED; - Window_To_Buffer(form->w, form->current); - wmove(form->w, form->currow, form->curcol); - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Field_Grown( FIELD *field, int amount) -| -| Description : This function is called for growable dynamic fields -| only. It has to increase the buffers and to allocate -| a new window for this field. -| This function has the side effect to set a new -| field-buffer pointer, the dcols and drows values -| as well as a new current Window for the field. -| -| Return Values : TRUE - field successfully increased -| FALSE - there was some error -+--------------------------------------------------------------------------*/ -static bool -Field_Grown(FIELD *field, int amount) -{ - bool result = FALSE; - - if (field && Growable(field)) - { - bool single_line_field = Single_Line_Field(field); - int old_buflen = Buffer_Length(field); - int new_buflen; - int old_dcols = field->dcols; - int old_drows = field->drows; - FIELD_CELL *oldbuf = field->buf; - FIELD_CELL *newbuf; - - int growth; - FORM *form = field->form; - bool need_visual_update = ((form != (FORM *)0) && - (form->status & _POSTED) && - (form->current == field)); - - if (need_visual_update) - Synchronize_Buffer(form); - - if (single_line_field) - { - growth = field->cols * amount; - if (field->maxgrow) - growth = Minimum(field->maxgrow - field->dcols, growth); - field->dcols += growth; - if (field->dcols == field->maxgrow) - field->status &= ~_MAY_GROW; - } - else - { - growth = (field->rows + field->nrow) * amount; - if (field->maxgrow) - growth = Minimum(field->maxgrow - field->drows, growth); - field->drows += growth; - if (field->drows == field->maxgrow) - field->status &= ~_MAY_GROW; - } - /* drows, dcols changed, so we get really the new buffer length */ - new_buflen = Buffer_Length(field); - newbuf = (FIELD_CELL *)malloc(Total_Buffer_Size(field)); - if (!newbuf) - { - /* restore to previous state */ - field->dcols = old_dcols; - field->drows = old_drows; - if ((single_line_field && (field->dcols != field->maxgrow)) || - (!single_line_field && (field->drows != field->maxgrow))) - field->status |= _MAY_GROW; - } - else - { - /* Copy all the buffers. This is the reason why we can't just use - * realloc(). - */ - int i, j; - FIELD_CELL *old_bp; - FIELD_CELL *new_bp; - - result = TRUE; /* allow sharing of recovery on failure */ - - field->buf = newbuf; - for (i = 0; i <= field->nbuf; i++) - { - new_bp = Address_Of_Nth_Buffer(field, i); - old_bp = oldbuf + i * (1 + old_buflen); - for (j = 0; j < old_buflen; ++j) - new_bp[j] = old_bp[j]; - while (j < new_buflen) - new_bp[j++] = myBLANK; - new_bp[new_buflen] = myZEROS; - } - -#if USE_WIDEC_SUPPORT - if (wresize(field->working, 1, Buffer_Length(field) + 1) == ERR) - result = FALSE; -#endif - - if (need_visual_update && result) - { - WINDOW *new_window = newpad(field->drows, field->dcols); - - if (new_window != 0) - { - assert(form != (FORM *)0); - if (form->w) - delwin(form->w); - form->w = new_window; - Set_Field_Window_Attributes(field, form->w); - werase(form->w); - Buffer_To_Window(field, form->w); - untouchwin(form->w); - wmove(form->w, form->currow, form->curcol); - } - else - result = FALSE; - } - - if (result) - { - free(oldbuf); - /* reflect changes in linked fields */ - if (field != field->link) - { - FIELD *linked_field; - - for (linked_field = field->link; - linked_field != field; - linked_field = linked_field->link) - { - linked_field->buf = field->buf; - linked_field->drows = field->drows; - linked_field->dcols = field->dcols; - } - } - } - else - { - /* restore old state */ - field->dcols = old_dcols; - field->drows = old_drows; - field->buf = oldbuf; - if ((single_line_field && - (field->dcols != field->maxgrow)) || - (!single_line_field && - (field->drows != field->maxgrow))) - field->status |= _MAY_GROW; - free(newbuf); - } - } - } - return (result); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int _nc_Position_Form_Cursor(FORM * form) -| -| Description : Position the cursor in the window for the current -| field to be in sync. with the currow and curcol -| values. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid form pointer -| E_SYSTEM_ERROR - form has no current field or -| field-window -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -_nc_Position_Form_Cursor(FORM *form) -{ - FIELD *field; - WINDOW *formwin; - - if (!form) - return (E_BAD_ARGUMENT); - - if (!form->w || !form->current) - return (E_SYSTEM_ERROR); - - field = form->current; - formwin = Get_Form_Window(form); - - wmove(form->w, form->currow, form->curcol); - if (Has_Invisible_Parts(field)) - { - /* in this case fieldwin isn't derived from formwin, so we have - to move the cursor in formwin by hand... */ - wmove(formwin, - field->frow + form->currow - form->toprow, - field->fcol + form->curcol - form->begincol); - wcursyncup(formwin); - } - else - wcursyncup(form->w); - return (E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int _nc_Refresh_Current_Field(FORM * form) -| -| Description : Propagate the changes in the fields window to the -| window of the form. -| -| Return Values : E_OK - on success -| E_BAD_ARGUMENT - invalid form pointer -| E_SYSTEM_ERROR - general error -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -_nc_Refresh_Current_Field(FORM *form) -{ - WINDOW *formwin; - FIELD *field; - - T((T_CALLED("_nc_Refresh_Current_Field(%p)"), form)); - - if (!form) - RETURN(E_BAD_ARGUMENT); - - if (!form->w || !form->current) - RETURN(E_SYSTEM_ERROR); - - field = form->current; - formwin = Get_Form_Window(form); - - if (field->opts & O_PUBLIC) - { - if (Is_Scroll_Field(field)) - { - /* Again, in this case the fieldwin isn't derived from formwin, - so we have to perform a copy operation. */ - if (Single_Line_Field(field)) - { - /* horizontal scrolling */ - if (form->curcol < form->begincol) - form->begincol = form->curcol; - else - { - if (form->curcol >= (form->begincol + field->cols)) - form->begincol = form->curcol - field->cols + 1; - } - copywin(form->w, - formwin, - 0, - form->begincol, - field->frow, - field->fcol, - field->frow, - field->cols + field->fcol - 1, - 0); - } - else - { - /* A multi-line, i.e. vertical scrolling field */ - int row_after_bottom, first_modified_row, first_unmodified_row; - - if (field->drows > field->rows) - { - row_after_bottom = form->toprow + field->rows; - if (form->currow < form->toprow) - { - form->toprow = form->currow; - field->status |= _NEWTOP; - } - if (form->currow >= row_after_bottom) - { - form->toprow = form->currow - field->rows + 1; - field->status |= _NEWTOP; - } - if (field->status & _NEWTOP) - { - /* means we have to copy whole range */ - first_modified_row = form->toprow; - first_unmodified_row = first_modified_row + field->rows; - field->status &= ~_NEWTOP; - } - else - { - /* we try to optimize : finding the range of touched - lines */ - first_modified_row = form->toprow; - while (first_modified_row < row_after_bottom) - { - if (is_linetouched(form->w, first_modified_row)) - break; - first_modified_row++; - } - first_unmodified_row = first_modified_row; - while (first_unmodified_row < row_after_bottom) - { - if (!is_linetouched(form->w, first_unmodified_row)) - break; - first_unmodified_row++; - } - } - } - else - { - first_modified_row = form->toprow; - first_unmodified_row = first_modified_row + field->rows; - } - if (first_unmodified_row != first_modified_row) - copywin(form->w, - formwin, - first_modified_row, - 0, - field->frow + first_modified_row - form->toprow, - field->fcol, - field->frow + first_unmodified_row - form->toprow - 1, - field->cols + field->fcol - 1, - 0); - } - wsyncup(formwin); - } - else - { - /* if the field-window is simply a derived window, i.e. contains no - * invisible parts, the whole thing is trivial - */ - wsyncup(form->w); - } - } - untouchwin(form->w); - returnCode(_nc_Position_Form_Cursor(form)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void Perform_Justification( -| FIELD * field, -| WINDOW * win) -| -| Description : Output field with requested justification -| -| Return Values : - -+--------------------------------------------------------------------------*/ -static void -Perform_Justification(FIELD *field, WINDOW *win) -{ - FIELD_CELL *bp; - int len; - int col = 0; - - bp = Get_Start_Of_Data(field->buf, Buffer_Length(field)); - len = (int)(After_End_Of_Data(field->buf, Buffer_Length(field)) - bp); - - if (len > 0) - { - assert(win && (field->drows == 1) && (field->dcols == field->cols)); - - switch (field->just) - { - case JUSTIFY_LEFT: - break; - case JUSTIFY_CENTER: - col = (field->cols - len) / 2; - break; - case JUSTIFY_RIGHT: - col = field->cols - len; - break; - default: - break; - } - - wmove(win, 0, col); - myADDNSTR(win, bp, len); - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void Undo_Justification( -| FIELD * field, -| WINDOW * win) -| -| Description : Display field without any justification, i.e. -| left justified -| -| Return Values : - -+--------------------------------------------------------------------------*/ -static void -Undo_Justification(FIELD *field, WINDOW *win) -{ - FIELD_CELL *bp; - int len; - - bp = Get_Start_Of_Data(field->buf, Buffer_Length(field)); - len = (int)(After_End_Of_Data(field->buf, Buffer_Length(field)) - bp); - - if (len > 0) - { - assert(win); - wmove(win, 0, 0); - myADDNSTR(win, bp, len); - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Check_Char( -| FIELDTYPE * typ, -| int ch, -| TypeArgument *argp) -| -| Description : Perform a single character check for character ch -| according to the fieldtype instance. -| -| Return Values : TRUE - Character is valid -| FALSE - Character is invalid -+--------------------------------------------------------------------------*/ -static bool -Check_Char(FIELDTYPE *typ, int ch, TypeArgument *argp) -{ - if (typ) - { - if (typ->status & _LINKED_TYPE) - { - assert(argp); - return ( - Check_Char(typ->left, ch, argp->left) || - Check_Char(typ->right, ch, argp->right)); - } - else - { - if (typ->ccheck) - return typ->ccheck(ch, (void *)argp); - } - } - return (!iscntrl(UChar(ch)) ? TRUE : FALSE); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int Display_Or_Erase_Field( -| FIELD * field, -| bool bEraseFlag) -| -| Description : Create a subwindow for the field and display the -| buffer contents (apply justification if required) -| or simply erase the field. -| -| Return Values : E_OK - on success -| E_SYSTEM_ERROR - some error (typical no memory) -+--------------------------------------------------------------------------*/ -static int -Display_Or_Erase_Field(FIELD *field, bool bEraseFlag) -{ - WINDOW *win; - WINDOW *fwin; - - if (!field) - return E_SYSTEM_ERROR; - - fwin = Get_Form_Window(field->form); - win = derwin(fwin, - field->rows, field->cols, field->frow, field->fcol); - - if (!win) - return E_SYSTEM_ERROR; - else - { - if (field->opts & O_VISIBLE) - Set_Field_Window_Attributes(field, win); - else - wattrset(win, getattrs(fwin)); - werase(win); - } - - if (!bEraseFlag) - { - if (field->opts & O_PUBLIC) - { - if (Justification_Allowed(field)) - Perform_Justification(field, win); - else - Buffer_To_Window(field, win); - } - field->status &= ~_NEWTOP; - } - wsyncup(win); - delwin(win); - return E_OK; -} - -/* Macros to preset the bEraseFlag */ -#define Display_Field(field) Display_Or_Erase_Field(field,FALSE) -#define Erase_Field(field) Display_Or_Erase_Field(field,TRUE) - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int Synchronize_Field(FIELD * field) -| -| Description : Synchronize the windows content with the value in -| the buffer. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid field pointer -| E_SYSTEM_ERROR - some severe basic error -+--------------------------------------------------------------------------*/ -static int -Synchronize_Field(FIELD *field) -{ - FORM *form; - int res = E_OK; - - if (!field) - return (E_BAD_ARGUMENT); - - if (((form = field->form) != (FORM *)0) - && Field_Really_Appears(field)) - { - if (field == form->current) - { - form->currow = form->curcol = form->toprow = form->begincol = 0; - werase(form->w); - - if ((field->opts & O_PUBLIC) && Justification_Allowed(field)) - Undo_Justification(field, form->w); - else - Buffer_To_Window(field, form->w); - - field->status |= _NEWTOP; - res = _nc_Refresh_Current_Field(form); - } - else - res = Display_Field(field); - } - field->status |= _CHANGED; - return (res); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int Synchronize_Linked_Fields(FIELD * field) -| -| Description : Propagate the Synchronize_Field function to all linked -| fields. The first error that occurs in the sequence -| of updates is the return value. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid field pointer -| E_SYSTEM_ERROR - some severe basic error -+--------------------------------------------------------------------------*/ -static int -Synchronize_Linked_Fields(FIELD *field) -{ - FIELD *linked_field; - int res = E_OK; - int syncres; - - if (!field) - return (E_BAD_ARGUMENT); - - if (!field->link) - return (E_SYSTEM_ERROR); - - for (linked_field = field->link; - linked_field != field; - linked_field = linked_field->link) - { - if (((syncres = Synchronize_Field(linked_field)) != E_OK) && - (res == E_OK)) - res = syncres; - } - return (res); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int _nc_Synchronize_Attributes(FIELD * field) -| -| Description : If a fields visual attributes have changed, this -| routine is called to propagate those changes to the -| screen. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid field pointer -| E_SYSTEM_ERROR - some severe basic error -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -_nc_Synchronize_Attributes(FIELD *field) -{ - FORM *form; - int res = E_OK; - WINDOW *formwin; - - T((T_CALLED("_nc_Synchronize_Attributes(%p)"), field)); - - if (!field) - returnCode(E_BAD_ARGUMENT); - - CHECKPOS(field->form); - if (((form = field->form) != (FORM *)0) - && Field_Really_Appears(field)) - { - if (form->current == field) - { - Synchronize_Buffer(form); - Set_Field_Window_Attributes(field, form->w); - werase(form->w); - wmove(form->w, form->currow, form->curcol); - - if (field->opts & O_PUBLIC) - { - if (Justification_Allowed(field)) - Undo_Justification(field, form->w); - else - Buffer_To_Window(field, form->w); - } - else - { - formwin = Get_Form_Window(form); - copywin(form->w, formwin, - 0, 0, - field->frow, field->fcol, - field->rows - 1, field->cols - 1, 0); - wsyncup(formwin); - Buffer_To_Window(field, form->w); - field->status |= _NEWTOP; /* fake refresh to paint all */ - _nc_Refresh_Current_Field(form); - } - } - else - { - res = Display_Field(field); - } - } - CHECKPOS(form); - returnCode(res); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int _nc_Synchronize_Options(FIELD * field, -| Field_Options newopts) -| -| Description : If a fields options have changed, this routine is -| called to propagate these changes to the screen and -| to really change the behavior of the field. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid field pointer -| E_SYSTEM_ERROR - some severe basic error -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -_nc_Synchronize_Options(FIELD *field, Field_Options newopts) -{ - Field_Options oldopts; - Field_Options changed_opts; - FORM *form; - int res = E_OK; - - T((T_CALLED("_nc_Synchronize_Options(%p,%#x)"), field, newopts)); - - if (!field) - returnCode(E_BAD_ARGUMENT); - - oldopts = field->opts; - changed_opts = oldopts ^ newopts; - field->opts = newopts; - form = field->form; - - if (form) - { - if (form->current == field) - { - field->opts = oldopts; - returnCode(E_CURRENT); - } - - if (form->status & _POSTED) - { - if ((form->curpage == field->page)) - { - if (changed_opts & O_VISIBLE) - { - if (newopts & O_VISIBLE) - res = Display_Field(field); - else - res = Erase_Field(field); - } - else - { - if ((changed_opts & O_PUBLIC) && - (newopts & O_VISIBLE)) - res = Display_Field(field); - } - } - } - } - - if (changed_opts & O_STATIC) - { - bool single_line_field = Single_Line_Field(field); - int res2 = E_OK; - - if (newopts & O_STATIC) - { - /* the field becomes now static */ - field->status &= ~_MAY_GROW; - /* if actually we have no hidden columns, justification may - occur again */ - if (single_line_field && - (field->cols == field->dcols) && - (field->just != NO_JUSTIFICATION) && - Field_Really_Appears(field)) - { - res2 = Display_Field(field); - } - } - else - { - /* field is no longer static */ - if ((field->maxgrow == 0) || - (single_line_field && (field->dcols < field->maxgrow)) || - (!single_line_field && (field->drows < field->maxgrow))) - { - field->status |= _MAY_GROW; - /* a field with justification now changes its behavior, - so we must redisplay it */ - if (single_line_field && - (field->just != NO_JUSTIFICATION) && - Field_Really_Appears(field)) - { - res2 = Display_Field(field); - } - } - } - if (res2 != E_OK) - res = res2; - } - - returnCode(res); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int _nc_Set_Current_Field(FORM * form, -| FIELD * newfield) -| -| Description : Make the newfield the new current field. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid form or field pointer -| E_SYSTEM_ERROR - some severe basic error -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -_nc_Set_Current_Field(FORM *form, FIELD *newfield) -{ - FIELD *field; - WINDOW *new_window; - - T((T_CALLED("_nc_Set_Current_Field(%p,%p)"), form, newfield)); - - if (!form || !newfield || !form->current || (newfield->form != form)) - returnCode(E_BAD_ARGUMENT); - - if ((form->status & _IN_DRIVER)) - returnCode(E_BAD_STATE); - - if (!(form->field)) - returnCode(E_NOT_CONNECTED); - - field = form->current; - - if ((field != newfield) || - !(form->status & _POSTED)) - { - if ((form->w) && - (field->opts & O_VISIBLE) && - (field->form->curpage == field->page)) - { - _nc_Refresh_Current_Field(form); - if (field->opts & O_PUBLIC) - { - if (field->drows > field->rows) - { - if (form->toprow == 0) - field->status &= ~_NEWTOP; - else - field->status |= _NEWTOP; - } - else - { - if (Justification_Allowed(field)) - { - Window_To_Buffer(form->w, field); - werase(form->w); - Perform_Justification(field, form->w); - wsyncup(form->w); - } - } - } - delwin(form->w); - form->w = (WINDOW *)0; - } - - field = newfield; - - if (Has_Invisible_Parts(field)) - new_window = newpad(field->drows, field->dcols); - else - new_window = derwin(Get_Form_Window(form), - field->rows, field->cols, field->frow, field->fcol); - - if (!new_window) - returnCode(E_SYSTEM_ERROR); - - form->current = field; - - if (form->w) - delwin(form->w); - form->w = new_window; - - form->status &= ~_WINDOW_MODIFIED; - Set_Field_Window_Attributes(field, form->w); - - if (Has_Invisible_Parts(field)) - { - werase(form->w); - Buffer_To_Window(field, form->w); - } - else - { - if (Justification_Allowed(field)) - { - werase(form->w); - Undo_Justification(field, form->w); - wsyncup(form->w); - } - } - - untouchwin(form->w); - } - - form->currow = form->curcol = form->toprow = form->begincol = 0; - returnCode(E_OK); -} - -/*---------------------------------------------------------------------------- - Intra-Field Navigation routines - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int IFN_Next_Character(FORM * form) -| -| Description : Move to the next character in the field. In a multi-line -| field this wraps at the end of the line. -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - at the rightmost position -+--------------------------------------------------------------------------*/ -static int -IFN_Next_Character(FORM *form) -{ - FIELD *field = form->current; - int step = myWCWIDTH(form->w, form->currow, form->curcol); - - T((T_CALLED("IFN_Next_Character(%p)"), form)); - if ((form->curcol += step) == field->dcols) - { - if ((++(form->currow)) == field->drows) - { -#if GROW_IF_NAVIGATE - if (!Single_Line_Field(field) && Field_Grown(field, 1)) - { - form->curcol = 0; - returnCode(E_OK); - } -#endif - form->currow--; -#if GROW_IF_NAVIGATE - if (Single_Line_Field(field) && Field_Grown(field, 1)) - returnCode(E_OK); -#endif - form->curcol -= step; - returnCode(E_REQUEST_DENIED); - } - form->curcol = 0; - } - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int IFN_Previous_Character(FORM * form) -| -| Description : Move to the previous character in the field. In a -| multi-line field this wraps and the beginning of the -| line. -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - at the leftmost position -+--------------------------------------------------------------------------*/ -static int -IFN_Previous_Character(FORM *form) -{ - int amount = myWCWIDTH(form->w, form->currow, form->curcol - 1); - int oldcol = form->curcol; - - T((T_CALLED("IFN_Previous_Character(%p)"), form)); - if ((form->curcol -= amount) < 0) - { - if ((--(form->currow)) < 0) - { - form->currow++; - form->curcol = oldcol; - returnCode(E_REQUEST_DENIED); - } - form->curcol = form->current->dcols - 1; - } - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int IFN_Next_Line(FORM * form) -| -| Description : Move to the beginning of the next line in the field -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - at the last line -+--------------------------------------------------------------------------*/ -static int -IFN_Next_Line(FORM *form) -{ - FIELD *field = form->current; - - T((T_CALLED("IFN_Next_Line(%p)"), form)); - if ((++(form->currow)) == field->drows) - { -#if GROW_IF_NAVIGATE - if (!Single_Line_Field(field) && Field_Grown(field, 1)) - returnCode(E_OK); -#endif - form->currow--; - returnCode(E_REQUEST_DENIED); - } - form->curcol = 0; - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int IFN_Previous_Line(FORM * form) -| -| Description : Move to the beginning of the previous line in the field -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - at the first line -+--------------------------------------------------------------------------*/ -static int -IFN_Previous_Line(FORM *form) -{ - T((T_CALLED("IFN_Previous_Line(%p)"), form)); - if ((--(form->currow)) < 0) - { - form->currow++; - returnCode(E_REQUEST_DENIED); - } - form->curcol = 0; - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int IFN_Next_Word(FORM * form) -| -| Description : Move to the beginning of the next word in the field. -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - there is no next word -+--------------------------------------------------------------------------*/ -static int -IFN_Next_Word(FORM *form) -{ - FIELD *field = form->current; - FIELD_CELL *bp = Address_Of_Current_Position_In_Buffer(form); - FIELD_CELL *s; - FIELD_CELL *t; - - T((T_CALLED("IFN_Next_Word(%p)"), form)); - - /* We really need access to the data, so we have to synchronize */ - Synchronize_Buffer(form); - - /* Go to the first whitespace after the current position (including - current position). This is then the starting point to look for the - next non-blank data */ - s = Get_First_Whitespace_Character(bp, Buffer_Length(field) - - (int)(bp - field->buf)); - - /* Find the start of the next word */ - t = Get_Start_Of_Data(s, Buffer_Length(field) - - (int)(s - field->buf)); -#if !FRIENDLY_PREV_NEXT_WORD - if (s == t) - returnCode(E_REQUEST_DENIED); - else -#endif - { - Adjust_Cursor_Position(form, t); - returnCode(E_OK); - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int IFN_Previous_Word(FORM * form) -| -| Description : Move to the beginning of the previous word in the field. -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - there is no previous word -+--------------------------------------------------------------------------*/ -static int -IFN_Previous_Word(FORM *form) -{ - FIELD *field = form->current; - FIELD_CELL *bp = Address_Of_Current_Position_In_Buffer(form); - FIELD_CELL *s; - FIELD_CELL *t; - bool again = FALSE; - - T((T_CALLED("IFN_Previous_Word(%p)"), form)); - - /* We really need access to the data, so we have to synchronize */ - Synchronize_Buffer(form); - - s = After_End_Of_Data(field->buf, (int)(bp - field->buf)); - /* s points now right after the last non-blank in the buffer before bp. - If bp was in a word, s equals bp. In this case we must find the last - whitespace in the buffer before bp and repeat the game to really find - the previous word! */ - if (s == bp) - again = TRUE; - - /* And next call now goes backward to look for the last whitespace - before that, pointing right after this, so it points to the begin - of the previous word. - */ - t = After_Last_Whitespace_Character(field->buf, (int)(s - field->buf)); -#if !FRIENDLY_PREV_NEXT_WORD - if (s == t) - returnCode(E_REQUEST_DENIED); -#endif - if (again) - { - /* and do it again, replacing bp by t */ - s = After_End_Of_Data(field->buf, (int)(t - field->buf)); - t = After_Last_Whitespace_Character(field->buf, (int)(s - field->buf)); -#if !FRIENDLY_PREV_NEXT_WORD - if (s == t) - returnCode(E_REQUEST_DENIED); -#endif - } - Adjust_Cursor_Position(form, t); - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int IFN_Beginning_Of_Field(FORM * form) -| -| Description : Place the cursor at the first non-pad character in -| the field. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -static int -IFN_Beginning_Of_Field(FORM *form) -{ - FIELD *field = form->current; - - T((T_CALLED("IFN_Beginning_Of_Field(%p)"), form)); - Synchronize_Buffer(form); - Adjust_Cursor_Position(form, - Get_Start_Of_Data(field->buf, Buffer_Length(field))); - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int IFN_End_Of_Field(FORM * form) -| -| Description : Place the cursor after the last non-pad character in -| the field. If the field occupies the last position in -| the buffer, the cursor is positioned on the last -| character. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -static int -IFN_End_Of_Field(FORM *form) -{ - FIELD *field = form->current; - FIELD_CELL *pos; - - T((T_CALLED("IFN_End_Of_Field(%p)"), form)); - Synchronize_Buffer(form); - pos = After_End_Of_Data(field->buf, Buffer_Length(field)); - if (pos == (field->buf + Buffer_Length(field))) - pos--; - Adjust_Cursor_Position(form, pos); - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int IFN_Beginning_Of_Line(FORM * form) -| -| Description : Place the cursor on the first non-pad character in -| the current line of the field. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -static int -IFN_Beginning_Of_Line(FORM *form) -{ - FIELD *field = form->current; - - T((T_CALLED("IFN_Beginning_Of_Line(%p)"), form)); - Synchronize_Buffer(form); - Adjust_Cursor_Position(form, - Get_Start_Of_Data(Address_Of_Current_Row_In_Buffer(form), - field->dcols)); - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int IFN_End_Of_Line(FORM * form) -| -| Description : Place the cursor after the last non-pad character in the -| current line of the field. If the field occupies the -| last column in the line, the cursor is positioned on the -| last character of the line. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -static int -IFN_End_Of_Line(FORM *form) -{ - FIELD *field = form->current; - FIELD_CELL *pos; - FIELD_CELL *bp; - - T((T_CALLED("IFN_End_Of_Line(%p)"), form)); - Synchronize_Buffer(form); - bp = Address_Of_Current_Row_In_Buffer(form); - pos = After_End_Of_Data(bp, field->dcols); - if (pos == (bp + field->dcols)) - pos--; - Adjust_Cursor_Position(form, pos); - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int IFN_Left_Character(FORM * form) -| -| Description : Move one character to the left in the current line. -| This doesn't cycle. -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - already in first column -+--------------------------------------------------------------------------*/ -static int -IFN_Left_Character(FORM *form) -{ - int amount = myWCWIDTH(form->w, form->currow, form->curcol - 1); - int oldcol = form->curcol; - - T((T_CALLED("IFN_Left_Character(%p)"), form)); - if ((form->curcol -= amount) < 0) - { - form->curcol = oldcol; - returnCode(E_REQUEST_DENIED); - } - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int IFN_Right_Character(FORM * form) -| -| Description : Move one character to the right in the current line. -| This doesn't cycle. -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - already in last column -+--------------------------------------------------------------------------*/ -static int -IFN_Right_Character(FORM *form) -{ - int amount = myWCWIDTH(form->w, form->currow, form->curcol); - int oldcol = form->curcol; - - T((T_CALLED("IFN_Right_Character(%p)"), form)); - if ((form->curcol += amount) >= form->current->dcols) - { -#if GROW_IF_NAVIGATE - FIELD *field = form->current; - - if (Single_Line_Field(field) && Field_Grown(field, 1)) - returnCode(E_OK); -#endif - form->curcol = oldcol; - returnCode(E_REQUEST_DENIED); - } - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int IFN_Up_Character(FORM * form) -| -| Description : Move one line up. This doesn't cycle through the lines -| of the field. -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - already in last column -+--------------------------------------------------------------------------*/ -static int -IFN_Up_Character(FORM *form) -{ - T((T_CALLED("IFN_Up_Character(%p)"), form)); - if ((--(form->currow)) < 0) - { - form->currow++; - returnCode(E_REQUEST_DENIED); - } - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int IFN_Down_Character(FORM * form) -| -| Description : Move one line down. This doesn't cycle through the -| lines of the field. -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - already in last column -+--------------------------------------------------------------------------*/ -static int -IFN_Down_Character(FORM *form) -{ - FIELD *field = form->current; - - T((T_CALLED("IFN_Down_Character(%p)"), form)); - if ((++(form->currow)) == field->drows) - { -#if GROW_IF_NAVIGATE - if (!Single_Line_Field(field) && Field_Grown(field, 1)) - returnCode(E_OK); -#endif - --(form->currow); - returnCode(E_REQUEST_DENIED); - } - returnCode(E_OK); -} -/*---------------------------------------------------------------------------- - END of Intra-Field Navigation routines - --------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - Vertical scrolling helper routines - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int VSC_Generic(FORM *form, int nlines) -| -| Description : Scroll multi-line field forward (nlines>0) or -| backward (nlines<0) this many lines. -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - can't scroll -+--------------------------------------------------------------------------*/ -static int -VSC_Generic(FORM *form, int nlines) -{ - FIELD *field = form->current; - int res = E_REQUEST_DENIED; - int rows_to_go = (nlines > 0 ? nlines : -nlines); - - if (nlines > 0) - { - if ((rows_to_go + form->toprow) > (field->drows - field->rows)) - rows_to_go = (field->drows - field->rows - form->toprow); - - if (rows_to_go > 0) - { - form->currow += rows_to_go; - form->toprow += rows_to_go; - res = E_OK; - } - } - else - { - if (rows_to_go > form->toprow) - rows_to_go = form->toprow; - - if (rows_to_go > 0) - { - form->currow -= rows_to_go; - form->toprow -= rows_to_go; - res = E_OK; - } - } - return (res); -} -/*---------------------------------------------------------------------------- - End of Vertical scrolling helper routines - --------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - Vertical scrolling routines - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int Vertical_Scrolling( -| int (* const fct) (FORM *), -| FORM * form) -| -| Description : Performs the generic vertical scrolling routines. -| This has to check for a multi-line field and to set -| the _NEWTOP flag if scrolling really occurred. -| -| Return Values : Propagated error code from low-level driver calls -+--------------------------------------------------------------------------*/ -static int -Vertical_Scrolling(int (*const fct) (FORM *), FORM *form) -{ - int res = E_REQUEST_DENIED; - - if (!Single_Line_Field(form->current)) - { - res = fct(form); - if (res == E_OK) - form->current->status |= _NEWTOP; - } - return (res); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int VSC_Scroll_Line_Forward(FORM * form) -| -| Description : Scroll multi-line field forward a line -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - no data ahead -+--------------------------------------------------------------------------*/ -static int -VSC_Scroll_Line_Forward(FORM *form) -{ - T((T_CALLED("VSC_Scroll_Line_Forward(%p)"), form)); - returnCode(VSC_Generic(form, 1)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int VSC_Scroll_Line_Backward(FORM * form) -| -| Description : Scroll multi-line field backward a line -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - no data behind -+--------------------------------------------------------------------------*/ -static int -VSC_Scroll_Line_Backward(FORM *form) -{ - T((T_CALLED("VSC_Scroll_Line_Backward(%p)"), form)); - returnCode(VSC_Generic(form, -1)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int VSC_Scroll_Page_Forward(FORM * form) -| -| Description : Scroll a multi-line field forward a page -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - no data ahead -+--------------------------------------------------------------------------*/ -static int -VSC_Scroll_Page_Forward(FORM *form) -{ - T((T_CALLED("VSC_Scroll_Page_Forward(%p)"), form)); - returnCode(VSC_Generic(form, form->current->rows)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int VSC_Scroll_Half_Page_Forward(FORM * form) -| -| Description : Scroll a multi-line field forward half a page -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - no data ahead -+--------------------------------------------------------------------------*/ -static int -VSC_Scroll_Half_Page_Forward(FORM *form) -{ - T((T_CALLED("VSC_Scroll_Half_Page_Forward(%p)"), form)); - returnCode(VSC_Generic(form, (form->current->rows + 1) / 2)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int VSC_Scroll_Page_Backward(FORM * form) -| -| Description : Scroll a multi-line field backward a page -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - no data behind -+--------------------------------------------------------------------------*/ -static int -VSC_Scroll_Page_Backward(FORM *form) -{ - T((T_CALLED("VSC_Scroll_Page_Backward(%p)"), form)); - returnCode(VSC_Generic(form, -(form->current->rows))); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int VSC_Scroll_Half_Page_Backward(FORM * form) -| -| Description : Scroll a multi-line field backward half a page -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - no data behind -+--------------------------------------------------------------------------*/ -static int -VSC_Scroll_Half_Page_Backward(FORM *form) -{ - T((T_CALLED("VSC_Scroll_Half_Page_Backward(%p)"), form)); - returnCode(VSC_Generic(form, -((form->current->rows + 1) / 2))); -} -/*---------------------------------------------------------------------------- - End of Vertical scrolling routines - --------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - Horizontal scrolling helper routines - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int HSC_Generic(FORM *form, int ncolumns) -| -| Description : Scroll single-line field forward (ncolumns>0) or -| backward (ncolumns<0) this many columns. -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - can't scroll -+--------------------------------------------------------------------------*/ -static int -HSC_Generic(FORM *form, int ncolumns) -{ - FIELD *field = form->current; - int res = E_REQUEST_DENIED; - int cols_to_go = (ncolumns > 0 ? ncolumns : -ncolumns); - - if (ncolumns > 0) - { - if ((cols_to_go + form->begincol) > (field->dcols - field->cols)) - cols_to_go = field->dcols - field->cols - form->begincol; - - if (cols_to_go > 0) - { - form->curcol += cols_to_go; - form->begincol += cols_to_go; - res = E_OK; - } - } - else - { - if (cols_to_go > form->begincol) - cols_to_go = form->begincol; - - if (cols_to_go > 0) - { - form->curcol -= cols_to_go; - form->begincol -= cols_to_go; - res = E_OK; - } - } - return (res); -} -/*---------------------------------------------------------------------------- - End of Horizontal scrolling helper routines - --------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - Horizontal scrolling routines - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int Horizontal_Scrolling( -| int (* const fct) (FORM *), -| FORM * form) -| -| Description : Performs the generic horizontal scrolling routines. -| This has to check for a single-line field. -| -| Return Values : Propagated error code from low-level driver calls -+--------------------------------------------------------------------------*/ -static int -Horizontal_Scrolling(int (*const fct) (FORM *), FORM *form) -{ - if (Single_Line_Field(form->current)) - return fct(form); - else - return (E_REQUEST_DENIED); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int HSC_Scroll_Char_Forward(FORM * form) -| -| Description : Scroll single-line field forward a character -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - no data ahead -+--------------------------------------------------------------------------*/ -static int -HSC_Scroll_Char_Forward(FORM *form) -{ - T((T_CALLED("HSC_Scroll_Char_Forward(%p)"), form)); - returnCode(HSC_Generic(form, 1)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int HSC_Scroll_Char_Backward(FORM * form) -| -| Description : Scroll single-line field backward a character -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - no data behind -+--------------------------------------------------------------------------*/ -static int -HSC_Scroll_Char_Backward(FORM *form) -{ - T((T_CALLED("HSC_Scroll_Char_Backward(%p)"), form)); - returnCode(HSC_Generic(form, -1)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int HSC_Horizontal_Line_Forward(FORM* form) -| -| Description : Scroll single-line field forward a line -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - no data ahead -+--------------------------------------------------------------------------*/ -static int -HSC_Horizontal_Line_Forward(FORM *form) -{ - T((T_CALLED("HSC_Horizontal_Line_Forward(%p)"), form)); - returnCode(HSC_Generic(form, form->current->cols)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int HSC_Horizontal_Half_Line_Forward(FORM* form) -| -| Description : Scroll single-line field forward half a line -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - no data ahead -+--------------------------------------------------------------------------*/ -static int -HSC_Horizontal_Half_Line_Forward(FORM *form) -{ - T((T_CALLED("HSC_Horizontal_Half_Line_Forward(%p)"), form)); - returnCode(HSC_Generic(form, (form->current->cols + 1) / 2)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int HSC_Horizontal_Line_Backward(FORM* form) -| -| Description : Scroll single-line field backward a line -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - no data behind -+--------------------------------------------------------------------------*/ -static int -HSC_Horizontal_Line_Backward(FORM *form) -{ - T((T_CALLED("HSC_Horizontal_Line_Backward(%p)"), form)); - returnCode(HSC_Generic(form, -(form->current->cols))); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int HSC_Horizontal_Half_Line_Backward(FORM* form) -| -| Description : Scroll single-line field backward half a line -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - no data behind -+--------------------------------------------------------------------------*/ -static int -HSC_Horizontal_Half_Line_Backward(FORM *form) -{ - T((T_CALLED("HSC_Horizontal_Half_Line_Backward(%p)"), form)); - returnCode(HSC_Generic(form, -((form->current->cols + 1) / 2))); -} - -/*---------------------------------------------------------------------------- - End of Horizontal scrolling routines - --------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - Helper routines for Field Editing - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Is_There_Room_For_A_Line(FORM * form) -| -| Description : Check whether or not there is enough room in the -| buffer to enter a whole line. -| -| Return Values : TRUE - there is enough space -| FALSE - there is not enough space -+--------------------------------------------------------------------------*/ -INLINE static bool -Is_There_Room_For_A_Line(FORM *form) -{ - FIELD *field = form->current; - FIELD_CELL *begin_of_last_line, *s; - - Synchronize_Buffer(form); - begin_of_last_line = Address_Of_Row_In_Buffer(field, (field->drows - 1)); - s = After_End_Of_Data(begin_of_last_line, field->dcols); - return ((s == begin_of_last_line) ? TRUE : FALSE); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Is_There_Room_For_A_Char_In_Line(FORM * form) -| -| Description : Checks whether or not there is room for a new character -| in the current line. -| -| Return Values : TRUE - there is room -| FALSE - there is not enough room (line full) -+--------------------------------------------------------------------------*/ -INLINE static bool -Is_There_Room_For_A_Char_In_Line(FORM *form) -{ - int last_char_in_line; - - wmove(form->w, form->currow, form->current->dcols - 1); - last_char_in_line = (int)(winch(form->w) & A_CHARTEXT); - wmove(form->w, form->currow, form->curcol); - return (((last_char_in_line == form->current->pad) || - is_blank(last_char_in_line)) ? TRUE : FALSE); -} - -#define There_Is_No_Room_For_A_Char_In_Line(f) \ - !Is_There_Room_For_A_Char_In_Line(f) - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int Insert_String( -| FORM * form, -| int row, -| char *txt, -| int len ) -| -| Description : Insert the 'len' characters beginning at pointer 'txt' -| into the 'row' of the 'form'. The insertion occurs -| on the beginning of the row, all other characters are -| moved to the right. After the text a pad character will -| be inserted to separate the text from the rest. If -| necessary the insertion moves characters on the next -| line to make place for the requested insertion string. -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - -| E_SYSTEM_ERROR - system error -+--------------------------------------------------------------------------*/ -static int -Insert_String(FORM *form, int row, FIELD_CELL *txt, int len) -{ - FIELD *field = form->current; - FIELD_CELL *bp = Address_Of_Row_In_Buffer(field, row); - int datalen = (int)(After_End_Of_Data(bp, field->dcols) - bp); - int freelen = field->dcols - datalen; - int requiredlen = len + 1; - FIELD_CELL *split; - int result = E_REQUEST_DENIED; - - if (freelen >= requiredlen) - { - wmove(form->w, row, 0); - myINSNSTR(form->w, txt, len); - wmove(form->w, row, len); - myINSNSTR(form->w, &myBLANK, 1); - return E_OK; - } - else - { - /* we have to move characters on the next line. If we are on the - last line this may work, if the field is growable */ - if ((row == (field->drows - 1)) && Growable(field)) - { - if (!Field_Grown(field, 1)) - return (E_SYSTEM_ERROR); - /* !!!Side-Effect : might be changed due to growth!!! */ - bp = Address_Of_Row_In_Buffer(field, row); - } - - if (row < (field->drows - 1)) - { - split = - After_Last_Whitespace_Character(bp, - (int)(Get_Start_Of_Data(bp - + field->dcols - - requiredlen, - requiredlen) - - bp)); - /* split points now to the first character of the portion of the - line that must be moved to the next line */ - datalen = (int)(split - bp); /* + freelen has to stay on this line */ - freelen = field->dcols - (datalen + freelen); /* for the next line */ - - if ((result = Insert_String(form, row + 1, split, freelen)) == E_OK) - { - wmove(form->w, row, datalen); - wclrtoeol(form->w); - wmove(form->w, row, 0); - myINSNSTR(form->w, txt, len); - wmove(form->w, row, len); - myINSNSTR(form->w, &myBLANK, 1); - return E_OK; - } - } - return (result); - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int Wrapping_Not_Necessary_Or_Wrapping_Ok( -| FORM * form) -| -| Description : If a character has been entered into a field, it may -| be that wrapping has to occur. This routine checks -| whether or not wrapping is required and if so, performs -| the wrapping. -| -| Return Values : E_OK - no wrapping required or wrapping -| was successful -| E_REQUEST_DENIED - -| E_SYSTEM_ERROR - some system error -+--------------------------------------------------------------------------*/ -static int -Wrapping_Not_Necessary_Or_Wrapping_Ok(FORM *form) -{ - FIELD *field = form->current; - int result = E_REQUEST_DENIED; - bool Last_Row = ((field->drows - 1) == form->currow); - - if ((field->opts & O_WRAP) && /* wrapping wanted */ - (!Single_Line_Field(field)) && /* must be multi-line */ - (There_Is_No_Room_For_A_Char_In_Line(form)) && /* line is full */ - (!Last_Row || Growable(field))) /* there are more lines */ - { - FIELD_CELL *bp; - FIELD_CELL *split; - int chars_to_be_wrapped; - int chars_to_remain_on_line; - - if (Last_Row) - { - /* the above logic already ensures, that in this case the field - is growable */ - if (!Field_Grown(field, 1)) - return E_SYSTEM_ERROR; - } - bp = Address_Of_Current_Row_In_Buffer(form); - Window_To_Buffer(form->w, field); - split = After_Last_Whitespace_Character(bp, field->dcols); - /* split points to the first character of the sequence to be brought - on the next line */ - chars_to_remain_on_line = (int)(split - bp); - chars_to_be_wrapped = field->dcols - chars_to_remain_on_line; - if (chars_to_remain_on_line > 0) - { - if ((result = Insert_String(form, form->currow + 1, split, - chars_to_be_wrapped)) == E_OK) - { - wmove(form->w, form->currow, chars_to_remain_on_line); - wclrtoeol(form->w); - if (form->curcol >= chars_to_remain_on_line) - { - form->currow++; - form->curcol -= chars_to_remain_on_line; - } - return E_OK; - } - } - else - return E_OK; - if (result != E_OK) - { - DeleteChar(form); - Window_To_Buffer(form->w, field); - result = E_REQUEST_DENIED; - } - } - else - result = E_OK; /* wrapping was not necessary */ - return (result); -} - -/*---------------------------------------------------------------------------- - Field Editing routines - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int Field_Editing( -| int (* const fct) (FORM *), -| FORM * form) -| -| Description : Generic routine for field editing requests. The driver -| routines are only called for editable fields, the -| _WINDOW_MODIFIED flag is set if editing occurred. -| This is somewhat special due to the overload semantics -| of the NEW_LINE and DEL_PREV requests. -| -| Return Values : Error code from low level drivers. -+--------------------------------------------------------------------------*/ -static int -Field_Editing(int (*const fct) (FORM *), FORM *form) -{ - int res = E_REQUEST_DENIED; - - /* We have to deal here with the specific case of the overloaded - behavior of New_Line and Delete_Previous requests. - They may end up in navigational requests if we are on the first - character in a field. But navigation is also allowed on non- - editable fields. - */ - if ((fct == FE_Delete_Previous) && - (form->opts & O_BS_OVERLOAD) && - First_Position_In_Current_Field(form)) - { - res = Inter_Field_Navigation(FN_Previous_Field, form); - } - else - { - if (fct == FE_New_Line) - { - if ((form->opts & O_NL_OVERLOAD) && - First_Position_In_Current_Field(form)) - { - res = Inter_Field_Navigation(FN_Next_Field, form); - } - else - /* FE_New_Line deals itself with the _WINDOW_MODIFIED flag */ - res = fct(form); - } - else - { - /* From now on, everything must be editable */ - if (form->current->opts & O_EDIT) - { - res = fct(form); - if (res == E_OK) - form->status |= _WINDOW_MODIFIED; - } - } - } - return res; -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FE_New_Line(FORM * form) -| -| Description : Perform a new line request. This is rather complex -| compared to other routines in this code due to the -| rather difficult to understand description in the -| manuals. -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - new line not allowed -| E_SYSTEM_ERROR - system error -+--------------------------------------------------------------------------*/ -static int -FE_New_Line(FORM *form) -{ - FIELD *field = form->current; - FIELD_CELL *bp, *t; - bool Last_Row = ((field->drows - 1) == form->currow); - - T((T_CALLED("FE_New_Line(%p)"), form)); - if (form->status & _OVLMODE) - { - if (Last_Row && - (!(Growable(field) && !Single_Line_Field(field)))) - { - if (!(form->opts & O_NL_OVERLOAD)) - returnCode(E_REQUEST_DENIED); - wmove(form->w, form->currow, form->curcol); - wclrtoeol(form->w); - /* we have to set this here, although it is also - handled in the generic routine. The reason is, - that FN_Next_Field may fail, but the form is - definitively changed */ - form->status |= _WINDOW_MODIFIED; - returnCode(Inter_Field_Navigation(FN_Next_Field, form)); - } - else - { - if (Last_Row && !Field_Grown(field, 1)) - { - /* N.B.: due to the logic in the 'if', LastRow==TRUE - means here that the field is growable and not - a single-line field */ - returnCode(E_SYSTEM_ERROR); - } - wmove(form->w, form->currow, form->curcol); - wclrtoeol(form->w); - form->currow++; - form->curcol = 0; - form->status |= _WINDOW_MODIFIED; - returnCode(E_OK); - } - } - else - { - /* Insert Mode */ - if (Last_Row && - !(Growable(field) && !Single_Line_Field(field))) - { - if (!(form->opts & O_NL_OVERLOAD)) - returnCode(E_REQUEST_DENIED); - returnCode(Inter_Field_Navigation(FN_Next_Field, form)); - } - else - { - bool May_Do_It = !Last_Row && Is_There_Room_For_A_Line(form); - - if (!(May_Do_It || Growable(field))) - returnCode(E_REQUEST_DENIED); - if (!May_Do_It && !Field_Grown(field, 1)) - returnCode(E_SYSTEM_ERROR); - - bp = Address_Of_Current_Position_In_Buffer(form); - t = After_End_Of_Data(bp, field->dcols - form->curcol); - wmove(form->w, form->currow, form->curcol); - wclrtoeol(form->w); - form->currow++; - form->curcol = 0; - wmove(form->w, form->currow, form->curcol); - winsertln(form->w); - myADDNSTR(form->w, bp, (int)(t - bp)); - form->status |= _WINDOW_MODIFIED; - returnCode(E_OK); - } - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FE_Insert_Character(FORM * form) -| -| Description : Insert blank character at the cursor position -| -| Return Values : E_OK -| E_REQUEST_DENIED -+--------------------------------------------------------------------------*/ -static int -FE_Insert_Character(FORM *form) -{ - FIELD *field = form->current; - int result = E_REQUEST_DENIED; - - T((T_CALLED("FE_Insert_Character(%p)"), form)); - if (Check_Char(field->type, (int)C_BLANK, (TypeArgument *)(field->arg))) - { - bool There_Is_Room = Is_There_Room_For_A_Char_In_Line(form); - - if (There_Is_Room || - ((Single_Line_Field(field) && Growable(field)))) - { - if (!There_Is_Room && !Field_Grown(field, 1)) - result = E_SYSTEM_ERROR; - else - { - winsch(form->w, (chtype)C_BLANK); - result = Wrapping_Not_Necessary_Or_Wrapping_Ok(form); - } - } - } - returnCode(result); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FE_Insert_Line(FORM * form) -| -| Description : Insert a blank line at the cursor position -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - line can not be inserted -+--------------------------------------------------------------------------*/ -static int -FE_Insert_Line(FORM *form) -{ - FIELD *field = form->current; - int result = E_REQUEST_DENIED; - - T((T_CALLED("FE_Insert_Line(%p)"), form)); - if (Check_Char(field->type, (int)C_BLANK, (TypeArgument *)(field->arg))) - { - bool Maybe_Done = (form->currow != (field->drows - 1)) && - Is_There_Room_For_A_Line(form); - - if (!Single_Line_Field(field) && - (Maybe_Done || Growable(field))) - { - if (!Maybe_Done && !Field_Grown(field, 1)) - result = E_SYSTEM_ERROR; - else - { - form->curcol = 0; - winsertln(form->w); - result = E_OK; - } - } - } - returnCode(result); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FE_Delete_Character(FORM * form) -| -| Description : Delete character at the cursor position -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -static int -FE_Delete_Character(FORM *form) -{ - T((T_CALLED("FE_Delete_Character(%p)"), form)); - DeleteChar(form); - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FE_Delete_Previous(FORM * form) -| -| Description : Delete character before cursor. Again this is a rather -| difficult piece compared to others due to the overloading -| semantics of backspace. -| N.B.: The case of overloaded BS on first field position -| is already handled in the generic routine. -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - Character can't be deleted -+--------------------------------------------------------------------------*/ -static int -FE_Delete_Previous(FORM *form) -{ - FIELD *field = form->current; - - T((T_CALLED("FE_Delete_Previous(%p)"), form)); - if (First_Position_In_Current_Field(form)) - returnCode(E_REQUEST_DENIED); - - if ((--(form->curcol)) < 0) - { - FIELD_CELL *this_line, *prev_line, *prev_end, *this_end; - int this_row = form->currow; - - form->curcol++; - if (form->status & _OVLMODE) - returnCode(E_REQUEST_DENIED); - - prev_line = Address_Of_Row_In_Buffer(field, (form->currow - 1)); - this_line = Address_Of_Row_In_Buffer(field, (form->currow)); - Synchronize_Buffer(form); - prev_end = After_End_Of_Data(prev_line, field->dcols); - this_end = After_End_Of_Data(this_line, field->dcols); - if ((int)(this_end - this_line) > - (field->cols - (int)(prev_end - prev_line))) - returnCode(E_REQUEST_DENIED); - wmove(form->w, form->currow, form->curcol); - wdeleteln(form->w); - Adjust_Cursor_Position(form, prev_end); - /* - * If we did not really move to the previous line, help the user a - * little. It is however a little inconsistent. Normally, when - * backspacing around the point where text wraps to a new line in a - * multi-line form, we absorb one keystroke for the wrapping point. That - * is consistent with SVr4 forms. However, SVr4 does not allow typing - * into the last column of the field, and requires the user to enter a - * newline to move to the next line. Therefore it can consistently eat - * that keystroke. Since ncurses allows the last column, it wraps - * automatically (given the proper options). But we cannot eat the - * keystroke to back over the wrapping point, since that would put the - * cursor past the end of the form field. In this case, just delete the - * character at the end of the field. - */ - if (form->currow == this_row && this_row > 0) - { - form->currow -= 1; - form->curcol = field->dcols - 1; - DeleteChar(form); - } - else - { - wmove(form->w, form->currow, form->curcol); - myADDNSTR(form->w, this_line, (int)(this_end - this_line)); - } - } - else - { - DeleteChar(form); - } - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FE_Delete_Line(FORM * form) -| -| Description : Delete line at cursor position. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -static int -FE_Delete_Line(FORM *form) -{ - T((T_CALLED("FE_Delete_Line(%p)"), form)); - form->curcol = 0; - wdeleteln(form->w); - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FE_Delete_Word(FORM * form) -| -| Description : Delete word at cursor position -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - failure -+--------------------------------------------------------------------------*/ -static int -FE_Delete_Word(FORM *form) -{ - FIELD *field = form->current; - FIELD_CELL *bp = Address_Of_Current_Row_In_Buffer(form); - FIELD_CELL *ep = bp + field->dcols; - FIELD_CELL *cp = bp + form->curcol; - FIELD_CELL *s; - - T((T_CALLED("FE_Delete_Word(%p)"), form)); - Synchronize_Buffer(form); - if (ISBLANK(*cp)) - returnCode(E_REQUEST_DENIED); /* not in word */ - - /* move cursor to begin of word and erase to end of screen-line */ - Adjust_Cursor_Position(form, - After_Last_Whitespace_Character(bp, form->curcol)); - wmove(form->w, form->currow, form->curcol); - wclrtoeol(form->w); - - /* skip over word in buffer */ - s = Get_First_Whitespace_Character(cp, (int)(ep - cp)); - /* to begin of next word */ - s = Get_Start_Of_Data(s, (int)(ep - s)); - if ((s != cp) && !ISBLANK(*s)) - { - /* copy remaining line to window */ - myADDNSTR(form->w, s, (int)(s - After_End_Of_Data(s, (int)(ep - s)))); - } - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FE_Clear_To_End_Of_Line(FORM * form) -| -| Description : Clear to end of current line. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -static int -FE_Clear_To_End_Of_Line(FORM *form) -{ - T((T_CALLED("FE_Clear_To_End_Of_Line(%p)"), form)); - wmove(form->w, form->currow, form->curcol); - wclrtoeol(form->w); - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FE_Clear_To_End_Of_Field(FORM * form) -| -| Description : Clear to end of field. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -static int -FE_Clear_To_End_Of_Field(FORM *form) -{ - T((T_CALLED("FE_Clear_To_End_Of_Field(%p)"), form)); - wmove(form->w, form->currow, form->curcol); - wclrtobot(form->w); - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FE_Clear_Field(FORM * form) -| -| Description : Clear entire field. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -static int -FE_Clear_Field(FORM *form) -{ - T((T_CALLED("FE_Clear_Field(%p)"), form)); - form->currow = form->curcol = 0; - werase(form->w); - returnCode(E_OK); -} -/*---------------------------------------------------------------------------- - END of Field Editing routines - --------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - Edit Mode routines - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int EM_Overlay_Mode(FORM * form) -| -| Description : Switch to overlay mode. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -static int -EM_Overlay_Mode(FORM *form) -{ - T((T_CALLED("EM_Overlay_Mode(%p)"), form)); - form->status |= _OVLMODE; - returnCode(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int EM_Insert_Mode(FORM * form) -| -| Description : Switch to insert mode -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -static int -EM_Insert_Mode(FORM *form) -{ - T((T_CALLED("EM_Insert_Mode(%p)"), form)); - form->status &= ~_OVLMODE; - returnCode(E_OK); -} - -/*---------------------------------------------------------------------------- - END of Edit Mode routines - --------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - Helper routines for Choice Requests - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Next_Choice( -| FIELDTYPE * typ, -| FIELD * field, -| TypeArgument *argp) -| -| Description : Get the next field choice. For linked types this is -| done recursively. -| -| Return Values : TRUE - next choice successfully retrieved -| FALSE - couldn't retrieve next choice -+--------------------------------------------------------------------------*/ -static bool -Next_Choice(FIELDTYPE *typ, FIELD *field, TypeArgument *argp) -{ - if (!typ || !(typ->status & _HAS_CHOICE)) - return FALSE; - - if (typ->status & _LINKED_TYPE) - { - assert(argp); - return ( - Next_Choice(typ->left, field, argp->left) || - Next_Choice(typ->right, field, argp->right)); - } - else - { - assert(typ->next); - return typ->next(field, (void *)argp); - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Previous_Choice( -| FIELDTYPE * typ, -| FIELD * field, -| TypeArgument *argp) -| -| Description : Get the previous field choice. For linked types this -| is done recursively. -| -| Return Values : TRUE - previous choice successfully retrieved -| FALSE - couldn't retrieve previous choice -+--------------------------------------------------------------------------*/ -static bool -Previous_Choice(FIELDTYPE *typ, FIELD *field, TypeArgument *argp) -{ - if (!typ || !(typ->status & _HAS_CHOICE)) - return FALSE; - - if (typ->status & _LINKED_TYPE) - { - assert(argp); - return ( - Previous_Choice(typ->left, field, argp->left) || - Previous_Choice(typ->right, field, argp->right)); - } - else - { - assert(typ->prev); - return typ->prev(field, (void *)argp); - } -} -/*---------------------------------------------------------------------------- - End of Helper routines for Choice Requests - --------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - Routines for Choice Requests - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int CR_Next_Choice(FORM * form) -| -| Description : Get the next field choice. -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - next choice couldn't be retrieved -+--------------------------------------------------------------------------*/ -static int -CR_Next_Choice(FORM *form) -{ - FIELD *field = form->current; - - T((T_CALLED("CR_Next_Choice(%p)"), form)); - Synchronize_Buffer(form); - returnCode((Next_Choice(field->type, field, (TypeArgument *)(field->arg))) - ? E_OK - : E_REQUEST_DENIED); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int CR_Previous_Choice(FORM * form) -| -| Description : Get the previous field choice. -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - prev. choice couldn't be retrieved -+--------------------------------------------------------------------------*/ -static int -CR_Previous_Choice(FORM *form) -{ - FIELD *field = form->current; - - T((T_CALLED("CR_Previous_Choice(%p)"), form)); - Synchronize_Buffer(form); - returnCode((Previous_Choice(field->type, field, (TypeArgument *)(field->arg))) - ? E_OK - : E_REQUEST_DENIED); -} -/*---------------------------------------------------------------------------- - End of Routines for Choice Requests - --------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - Helper routines for Field Validations. - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Check_Field( -| FIELDTYPE * typ, -| FIELD * field, -| TypeArgument * argp) -| -| Description : Check the field according to its fieldtype and its -| actual arguments. For linked fieldtypes this is done -| recursively. -| -| Return Values : TRUE - field is valid -| FALSE - field is invalid. -+--------------------------------------------------------------------------*/ -static bool -Check_Field(FIELDTYPE *typ, FIELD *field, TypeArgument *argp) -{ - if (typ) - { - if (field->opts & O_NULLOK) - { - FIELD_CELL *bp = field->buf; - - assert(bp); - while (ISBLANK(*bp)) - { - bp++; - } - if (CharOf(*bp) == 0) - return TRUE; - } - - if (typ->status & _LINKED_TYPE) - { - assert(argp); - return ( - Check_Field(typ->left, field, argp->left) || - Check_Field(typ->right, field, argp->right)); - } - else - { - if (typ->fcheck) - return typ->fcheck(field, (void *)argp); - } - } - return TRUE; -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : bool _nc_Internal_Validation(FORM * form ) -| -| Description : Validate the current field of the form. -| -| Return Values : TRUE - field is valid -| FALSE - field is invalid -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(bool) -_nc_Internal_Validation(FORM *form) -{ - FIELD *field; - - field = form->current; - - Synchronize_Buffer(form); - if ((form->status & _FCHECK_REQUIRED) || - (!(field->opts & O_PASSOK))) - { - if (!Check_Field(field->type, field, (TypeArgument *)(field->arg))) - return FALSE; - form->status &= ~_FCHECK_REQUIRED; - field->status |= _CHANGED; - Synchronize_Linked_Fields(field); - } - return TRUE; -} -/*---------------------------------------------------------------------------- - End of Helper routines for Field Validations. - --------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - Routines for Field Validation. - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FV_Validation(FORM * form) -| -| Description : Validate the current field of the form. -| -| Return Values : E_OK - field valid -| E_INVALID_FIELD - field not valid -+--------------------------------------------------------------------------*/ -static int -FV_Validation(FORM *form) -{ - T((T_CALLED("FV_Validation(%p)"), form)); - if (_nc_Internal_Validation(form)) - returnCode(E_OK); - else - returnCode(E_INVALID_FIELD); -} -/*---------------------------------------------------------------------------- - End of routines for Field Validation. - --------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - Helper routines for Inter-Field Navigation - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static FIELD *Next_Field_On_Page(FIELD * field) -| -| Description : Get the next field after the given field on the current -| page. The order of fields is the one defined by the -| fields array. Only visible and active fields are -| counted. -| -| Return Values : Pointer to the next field. -+--------------------------------------------------------------------------*/ -INLINE static FIELD * -Next_Field_On_Page(FIELD *field) -{ - FORM *form = field->form; - FIELD **field_on_page = &form->field[field->index]; - FIELD **first_on_page = &form->field[form->page[form->curpage].pmin]; - FIELD **last_on_page = &form->field[form->page[form->curpage].pmax]; - - do - { - field_on_page = - (field_on_page == last_on_page) ? first_on_page : field_on_page + 1; - if (Field_Is_Selectable(*field_on_page)) - break; - } - while (field != (*field_on_page)); - return (*field_on_page); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : FIELD* _nc_First_Active_Field(FORM * form) -| -| Description : Get the first active field on the current page, -| if there are such. If there are none, get the first -| visible field on the page. If there are also none, -| we return the first field on page and hope the best. -| -| Return Values : Pointer to calculated field. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(FIELD *) -_nc_First_Active_Field(FORM *form) -{ - FIELD **last_on_page = &form->field[form->page[form->curpage].pmax]; - FIELD *proposed = Next_Field_On_Page(*last_on_page); - - if (proposed == *last_on_page) - { - /* there might be the special situation, where there is no - active and visible field on the current page. We then select - the first visible field on this readonly page - */ - if (Field_Is_Not_Selectable(proposed)) - { - FIELD **field = &form->field[proposed->index]; - FIELD **first = &form->field[form->page[form->curpage].pmin]; - - do - { - field = (field == last_on_page) ? first : field + 1; - if (((*field)->opts & O_VISIBLE)) - break; - } - while (proposed != (*field)); - - proposed = *field; - - if ((proposed == *last_on_page) && !(proposed->opts & O_VISIBLE)) - { - /* This means, there is also no visible field on the page. - So we propose the first one and hope the very best... - Some very clever user has designed a readonly and invisible - page on this form. - */ - proposed = *first; - } - } - } - return (proposed); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static FIELD *Previous_Field_On_Page(FIELD * field) -| -| Description : Get the previous field before the given field on the -| current page. The order of fields is the one defined by -| the fields array. Only visible and active fields are -| counted. -| -| Return Values : Pointer to the previous field. -+--------------------------------------------------------------------------*/ -INLINE static FIELD * -Previous_Field_On_Page(FIELD *field) -{ - FORM *form = field->form; - FIELD **field_on_page = &form->field[field->index]; - FIELD **first_on_page = &form->field[form->page[form->curpage].pmin]; - FIELD **last_on_page = &form->field[form->page[form->curpage].pmax]; - - do - { - field_on_page = - (field_on_page == first_on_page) ? last_on_page : field_on_page - 1; - if (Field_Is_Selectable(*field_on_page)) - break; - } - while (field != (*field_on_page)); - - return (*field_on_page); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static FIELD *Sorted_Next_Field(FIELD * field) -| -| Description : Get the next field after the given field on the current -| page. The order of fields is the one defined by the -| (row,column) geometry, rows are major. -| -| Return Values : Pointer to the next field. -+--------------------------------------------------------------------------*/ -INLINE static FIELD * -Sorted_Next_Field(FIELD *field) -{ - FIELD *field_on_page = field; - - do - { - field_on_page = field_on_page->snext; - if (Field_Is_Selectable(field_on_page)) - break; - } - while (field_on_page != field); - - return (field_on_page); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static FIELD *Sorted_Previous_Field(FIELD * field) -| -| Description : Get the previous field before the given field on the -| current page. The order of fields is the one defined -| by the (row,column) geometry, rows are major. -| -| Return Values : Pointer to the previous field. -+--------------------------------------------------------------------------*/ -INLINE static FIELD * -Sorted_Previous_Field(FIELD *field) -{ - FIELD *field_on_page = field; - - do - { - field_on_page = field_on_page->sprev; - if (Field_Is_Selectable(field_on_page)) - break; - } - while (field_on_page != field); - - return (field_on_page); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static FIELD *Left_Neighbor_Field(FIELD * field) -| -| Description : Get the left neighbor of the field on the same line -| and the same page. Cycles through the line. -| -| Return Values : Pointer to left neighbor field. -+--------------------------------------------------------------------------*/ -INLINE static FIELD * -Left_Neighbor_Field(FIELD *field) -{ - FIELD *field_on_page = field; - - /* For a field that has really a left neighbor, the while clause - immediately fails and the loop is left, positioned at the right - neighbor. Otherwise we cycle backwards through the sorted field list - until we enter the same line (from the right end). - */ - do - { - field_on_page = Sorted_Previous_Field(field_on_page); - } - while (field_on_page->frow != field->frow); - - return (field_on_page); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static FIELD *Right_Neighbor_Field(FIELD * field) -| -| Description : Get the right neighbor of the field on the same line -| and the same page. -| -| Return Values : Pointer to right neighbor field. -+--------------------------------------------------------------------------*/ -INLINE static FIELD * -Right_Neighbor_Field(FIELD *field) -{ - FIELD *field_on_page = field; - - /* See the comments on Left_Neighbor_Field to understand how it works */ - do - { - field_on_page = Sorted_Next_Field(field_on_page); - } - while (field_on_page->frow != field->frow); - - return (field_on_page); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static FIELD *Upper_Neighbor_Field(FIELD * field) -| -| Description : Because of the row-major nature of sorting the fields, -| it is more difficult to define whats the upper neighbor -| field really means. We define that it must be on a -| 'previous' line (cyclic order!) and is the rightmost -| field laying on the left side of the given field. If -| this set is empty, we take the first field on the line. -| -| Return Values : Pointer to the upper neighbor field. -+--------------------------------------------------------------------------*/ -static FIELD * -Upper_Neighbor_Field(FIELD *field) -{ - FIELD *field_on_page = field; - int frow = field->frow; - int fcol = field->fcol; - - /* Walk back to the 'previous' line. The second term in the while clause - just guarantees that we stop if we cycled through the line because - there might be no 'previous' line if the page has just one line. - */ - do - { - field_on_page = Sorted_Previous_Field(field_on_page); - } - while (field_on_page->frow == frow && field_on_page->fcol != fcol); - - if (field_on_page->frow != frow) - { - /* We really found a 'previous' line. We are positioned at the - rightmost field on this line */ - frow = field_on_page->frow; - - /* We walk to the left as long as we are really right of the - field. */ - while (field_on_page->frow == frow && field_on_page->fcol > fcol) - field_on_page = Sorted_Previous_Field(field_on_page); - - /* If we wrapped, just go to the right which is the first field on - the row */ - if (field_on_page->frow != frow) - field_on_page = Sorted_Next_Field(field_on_page); - } - - return (field_on_page); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static FIELD *Down_Neighbor_Field(FIELD * field) -| -| Description : Because of the row-major nature of sorting the fields, -| its more difficult to define whats the down neighbor -| field really means. We define that it must be on a -| 'next' line (cyclic order!) and is the leftmost -| field laying on the right side of the given field. If -| this set is empty, we take the last field on the line. -| -| Return Values : Pointer to the upper neighbor field. -+--------------------------------------------------------------------------*/ -static FIELD * -Down_Neighbor_Field(FIELD *field) -{ - FIELD *field_on_page = field; - int frow = field->frow; - int fcol = field->fcol; - - /* Walk forward to the 'next' line. The second term in the while clause - just guarantees that we stop if we cycled through the line because - there might be no 'next' line if the page has just one line. - */ - do - { - field_on_page = Sorted_Next_Field(field_on_page); - } - while (field_on_page->frow == frow && field_on_page->fcol != fcol); - - if (field_on_page->frow != frow) - { - /* We really found a 'next' line. We are positioned at the rightmost - field on this line */ - frow = field_on_page->frow; - - /* We walk to the right as long as we are really left of the - field. */ - while (field_on_page->frow == frow && field_on_page->fcol < fcol) - field_on_page = Sorted_Next_Field(field_on_page); - - /* If we wrapped, just go to the left which is the last field on - the row */ - if (field_on_page->frow != frow) - field_on_page = Sorted_Previous_Field(field_on_page); - } - - return (field_on_page); -} - -/*---------------------------------------------------------------------------- - Inter-Field Navigation routines - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int Inter_Field_Navigation( -| int (* const fct) (FORM *), -| FORM * form) -| -| Description : Generic behavior for changing the current field, the -| field is left and a new field is entered. So the field -| must be validated and the field init/term hooks must -| be called. -| -| Return Values : E_OK - success -| E_INVALID_FIELD - field is invalid -| some other - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -Inter_Field_Navigation(int (*const fct) (FORM *), FORM *form) -{ - int res; - - if (!_nc_Internal_Validation(form)) - res = E_INVALID_FIELD; - else - { - Call_Hook(form, fieldterm); - res = fct(form); - Call_Hook(form, fieldinit); - } - return res; -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FN_Next_Field(FORM * form) -| -| Description : Move to the next field on the current page of the form -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -FN_Next_Field(FORM *form) -{ - T((T_CALLED("FN_Next_Field(%p)"), form)); - returnCode(_nc_Set_Current_Field(form, - Next_Field_On_Page(form->current))); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FN_Previous_Field(FORM * form) -| -| Description : Move to the previous field on the current page of the -| form -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -FN_Previous_Field(FORM *form) -{ - T((T_CALLED("FN_Previous_Field(%p)"), form)); - returnCode(_nc_Set_Current_Field(form, - Previous_Field_On_Page(form->current))); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FN_First_Field(FORM * form) -| -| Description : Move to the first field on the current page of the form -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -FN_First_Field(FORM *form) -{ - T((T_CALLED("FN_First_Field(%p)"), form)); - returnCode(_nc_Set_Current_Field(form, - Next_Field_On_Page(form->field[form->page[form->curpage].pmax]))); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FN_Last_Field(FORM * form) -| -| Description : Move to the last field on the current page of the form -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -FN_Last_Field(FORM *form) -{ - T((T_CALLED("FN_Last_Field(%p)"), form)); - returnCode( - _nc_Set_Current_Field(form, - Previous_Field_On_Page(form->field[form->page[form->curpage].pmin]))); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FN_Sorted_Next_Field(FORM * form) -| -| Description : Move to the sorted next field on the current page -| of the form. -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -FN_Sorted_Next_Field(FORM *form) -{ - T((T_CALLED("FN_Sorted_Next_Field(%p)"), form)); - returnCode(_nc_Set_Current_Field(form, - Sorted_Next_Field(form->current))); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FN_Sorted_Previous_Field(FORM * form) -| -| Description : Move to the sorted previous field on the current page -| of the form. -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -FN_Sorted_Previous_Field(FORM *form) -{ - T((T_CALLED("FN_Sorted_Previous_Field(%p)"), form)); - returnCode(_nc_Set_Current_Field(form, - Sorted_Previous_Field(form->current))); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FN_Sorted_First_Field(FORM * form) -| -| Description : Move to the sorted first field on the current page -| of the form. -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -FN_Sorted_First_Field(FORM *form) -{ - T((T_CALLED("FN_Sorted_First_Field(%p)"), form)); - returnCode(_nc_Set_Current_Field(form, - Sorted_Next_Field(form->field[form->page[form->curpage].smax]))); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FN_Sorted_Last_Field(FORM * form) -| -| Description : Move to the sorted last field on the current page -| of the form. -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -FN_Sorted_Last_Field(FORM *form) -{ - T((T_CALLED("FN_Sorted_Last_Field(%p)"), form)); - returnCode(_nc_Set_Current_Field(form, - Sorted_Previous_Field(form->field[form->page[form->curpage].smin]))); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FN_Left_Field(FORM * form) -| -| Description : Get the field on the left of the current field on the -| same line and the same page. Cycles through the line. -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -FN_Left_Field(FORM *form) -{ - T((T_CALLED("FN_Left_Field(%p)"), form)); - returnCode(_nc_Set_Current_Field(form, - Left_Neighbor_Field(form->current))); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FN_Right_Field(FORM * form) -| -| Description : Get the field on the right of the current field on the -| same line and the same page. Cycles through the line. -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -FN_Right_Field(FORM *form) -{ - T((T_CALLED("FN_Right_Field(%p)"), form)); - returnCode(_nc_Set_Current_Field(form, - Right_Neighbor_Field(form->current))); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FN_Up_Field(FORM * form) -| -| Description : Get the upper neighbor of the current field. This -| cycles through the page. See the comments of the -| Upper_Neighbor_Field function to understand how -| 'upper' is defined. -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -FN_Up_Field(FORM *form) -{ - T((T_CALLED("FN_Up_Field(%p)"), form)); - returnCode(_nc_Set_Current_Field(form, - Upper_Neighbor_Field(form->current))); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int FN_Down_Field(FORM * form) -| -| Description : Get the down neighbor of the current field. This -| cycles through the page. See the comments of the -| Down_Neighbor_Field function to understand how -| 'down' is defined. -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -FN_Down_Field(FORM *form) -{ - T((T_CALLED("FN_Down_Field(%p)"), form)); - returnCode(_nc_Set_Current_Field(form, - Down_Neighbor_Field(form->current))); -} -/*---------------------------------------------------------------------------- - END of Field Navigation routines - --------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - Helper routines for Page Navigation - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int _nc_Set_Form_Page(FORM * form, -| int page, -| FIELD * field) -| -| Description : Make the given page number the current page and make -| the given field the current field on the page. If -| for the field NULL is given, make the first field on -| the page the current field. The routine acts only -| if the requested page is not the current page. -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -_nc_Set_Form_Page(FORM *form, int page, FIELD *field) -{ - int res = E_OK; - - if ((form->curpage != page)) - { - FIELD *last_field, *field_on_page; - - werase(Get_Form_Window(form)); - form->curpage = page; - last_field = field_on_page = form->field[form->page[page].smin]; - do - { - if (field_on_page->opts & O_VISIBLE) - if ((res = Display_Field(field_on_page)) != E_OK) - return (res); - field_on_page = field_on_page->snext; - } - while (field_on_page != last_field); - - if (field) - res = _nc_Set_Current_Field(form, field); - else - /* N.B.: we don't encapsulate this by Inter_Field_Navigation(), - because this is already executed in a page navigation - context that contains field navigation - */ - res = FN_First_Field(form); - } - return (res); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int Next_Page_Number(const FORM * form) -| -| Description : Calculate the page number following the current page -| number. This cycles if the highest page number is -| reached. -| -| Return Values : The next page number -+--------------------------------------------------------------------------*/ -INLINE static int -Next_Page_Number(const FORM *form) -{ - return (form->curpage + 1) % form->maxpage; -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int Previous_Page_Number(const FORM * form) -| -| Description : Calculate the page number before the current page -| number. This cycles if the first page number is -| reached. -| -| Return Values : The previous page number -+--------------------------------------------------------------------------*/ -INLINE static int -Previous_Page_Number(const FORM *form) -{ - return (form->curpage != 0 ? form->curpage - 1 : form->maxpage - 1); -} - -/*---------------------------------------------------------------------------- - Page Navigation routines - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int Page_Navigation( -| int (* const fct) (FORM *), -| FORM * form) -| -| Description : Generic behavior for changing a page. This means -| that the field is left and a new field is entered. -| So the field must be validated and the field init/term -| hooks must be called. Because also the page is changed, -| the forms init/term hooks must be called also. -| -| Return Values : E_OK - success -| E_INVALID_FIELD - field is invalid -| some other - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -Page_Navigation(int (*const fct) (FORM *), FORM *form) -{ - int res; - - if (!_nc_Internal_Validation(form)) - res = E_INVALID_FIELD; - else - { - Call_Hook(form, fieldterm); - Call_Hook(form, formterm); - res = fct(form); - Call_Hook(form, forminit); - Call_Hook(form, fieldinit); - } - return res; -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int PN_Next_Page(FORM * form) -| -| Description : Move to the next page of the form -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -PN_Next_Page(FORM *form) -{ - T((T_CALLED("PN_Next_Page(%p)"), form)); - returnCode(_nc_Set_Form_Page(form, Next_Page_Number(form), (FIELD *)0)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int PN_Previous_Page(FORM * form) -| -| Description : Move to the previous page of the form -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -PN_Previous_Page(FORM *form) -{ - T((T_CALLED("PN_Previous_Page(%p)"), form)); - returnCode(_nc_Set_Form_Page(form, Previous_Page_Number(form), (FIELD *)0)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int PN_First_Page(FORM * form) -| -| Description : Move to the first page of the form -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -PN_First_Page(FORM *form) -{ - T((T_CALLED("PN_First_Page(%p)"), form)); - returnCode(_nc_Set_Form_Page(form, 0, (FIELD *)0)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int PN_Last_Page(FORM * form) -| -| Description : Move to the last page of the form -| -| Return Values : E_OK - success -| != E_OK - error from subordinate call -+--------------------------------------------------------------------------*/ -static int -PN_Last_Page(FORM *form) -{ - T((T_CALLED("PN_Last_Page(%p)"), form)); - returnCode(_nc_Set_Form_Page(form, form->maxpage - 1, (FIELD *)0)); -} - -/*---------------------------------------------------------------------------- - END of Field Navigation routines - --------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - Helper routines for the core form driver. - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int Data_Entry(FORM * form,int c) -| -| Description : Enter character c into at the current position of the -| current field of the form. -| -| Return Values : E_OK - -| E_REQUEST_DENIED - -| E_SYSTEM_ERROR - -+--------------------------------------------------------------------------*/ -static int -Data_Entry(FORM *form, int c) -{ - FIELD *field = form->current; - int result = E_REQUEST_DENIED; - - T((T_CALLED("Data_Entry(%p,%s)"), form, _tracechtype(c))); - if ((field->opts & O_EDIT) -#if FIX_FORM_INACTIVE_BUG - && (field->opts & O_ACTIVE) -#endif - ) - { - if ((field->opts & O_BLANK) && - First_Position_In_Current_Field(form) && - !(form->status & _FCHECK_REQUIRED) && - !(form->status & _WINDOW_MODIFIED)) - werase(form->w); - - if (form->status & _OVLMODE) - { - waddch(form->w, (chtype)c); - } - else - /* no _OVLMODE */ - { - bool There_Is_Room = Is_There_Room_For_A_Char_In_Line(form); - - if (!(There_Is_Room || - ((Single_Line_Field(field) && Growable(field))))) - RETURN(E_REQUEST_DENIED); - - if (!There_Is_Room && !Field_Grown(field, 1)) - RETURN(E_SYSTEM_ERROR); - - winsch(form->w, (chtype)c); - } - - if ((result = Wrapping_Not_Necessary_Or_Wrapping_Ok(form)) == E_OK) - { - bool End_Of_Field = (((field->drows - 1) == form->currow) && - ((field->dcols - 1) == form->curcol)); - - form->status |= _WINDOW_MODIFIED; - if (End_Of_Field && !Growable(field) && (field->opts & O_AUTOSKIP)) - result = Inter_Field_Navigation(FN_Next_Field, form); - else - { - if (End_Of_Field && Growable(field) && !Field_Grown(field, 1)) - result = E_SYSTEM_ERROR; - else - { -#if USE_WIDEC_SUPPORT - /* - * We have just added a byte to the form field. It may have - * been part of a multibyte character. If it was, the - * addch_used field is nonzero and we should not try to move - * to a new column. - */ - if (WINDOW_EXT(form->w, addch_used) == 0) - IFN_Next_Character(form); -#else - IFN_Next_Character(form); -#endif - result = E_OK; - } - } - } - } - RETURN(result); -} - -/* Structure to describe the binding of a request code to a function. - The member keycode codes the request value as well as the generic - routine to use for the request. The code for the generic routine - is coded in the upper 16 Bits while the request code is coded in - the lower 16 bits. - - In terms of C++ you might think of a request as a class with a - virtual method "perform". The different types of request are - derived from this base class and overload (or not) the base class - implementation of perform. -*/ -typedef struct -{ - int keycode; /* must be at least 32 bit: hi:mode, lo: key */ - int (*cmd) (FORM *); /* low level driver routine for this key */ -} -Binding_Info; - -/* You may see this is the class-id of the request type class */ -#define ID_PN (0x00000000) /* Page navigation */ -#define ID_FN (0x00010000) /* Inter-Field navigation */ -#define ID_IFN (0x00020000) /* Intra-Field navigation */ -#define ID_VSC (0x00030000) /* Vertical Scrolling */ -#define ID_HSC (0x00040000) /* Horizontal Scrolling */ -#define ID_FE (0x00050000) /* Field Editing */ -#define ID_EM (0x00060000) /* Edit Mode */ -#define ID_FV (0x00070000) /* Field Validation */ -#define ID_CH (0x00080000) /* Choice */ -#define ID_Mask (0xffff0000) -#define Key_Mask (0x0000ffff) -#define ID_Shft (16) - -/* This array holds all the Binding Infos */ -/* *INDENT-OFF* */ -static const Binding_Info bindings[MAX_FORM_COMMAND - MIN_FORM_COMMAND + 1] = -{ - { REQ_NEXT_PAGE |ID_PN ,PN_Next_Page}, - { REQ_PREV_PAGE |ID_PN ,PN_Previous_Page}, - { REQ_FIRST_PAGE |ID_PN ,PN_First_Page}, - { REQ_LAST_PAGE |ID_PN ,PN_Last_Page}, - - { REQ_NEXT_FIELD |ID_FN ,FN_Next_Field}, - { REQ_PREV_FIELD |ID_FN ,FN_Previous_Field}, - { REQ_FIRST_FIELD |ID_FN ,FN_First_Field}, - { REQ_LAST_FIELD |ID_FN ,FN_Last_Field}, - { REQ_SNEXT_FIELD |ID_FN ,FN_Sorted_Next_Field}, - { REQ_SPREV_FIELD |ID_FN ,FN_Sorted_Previous_Field}, - { REQ_SFIRST_FIELD |ID_FN ,FN_Sorted_First_Field}, - { REQ_SLAST_FIELD |ID_FN ,FN_Sorted_Last_Field}, - { REQ_LEFT_FIELD |ID_FN ,FN_Left_Field}, - { REQ_RIGHT_FIELD |ID_FN ,FN_Right_Field}, - { REQ_UP_FIELD |ID_FN ,FN_Up_Field}, - { REQ_DOWN_FIELD |ID_FN ,FN_Down_Field}, - - { REQ_NEXT_CHAR |ID_IFN ,IFN_Next_Character}, - { REQ_PREV_CHAR |ID_IFN ,IFN_Previous_Character}, - { REQ_NEXT_LINE |ID_IFN ,IFN_Next_Line}, - { REQ_PREV_LINE |ID_IFN ,IFN_Previous_Line}, - { REQ_NEXT_WORD |ID_IFN ,IFN_Next_Word}, - { REQ_PREV_WORD |ID_IFN ,IFN_Previous_Word}, - { REQ_BEG_FIELD |ID_IFN ,IFN_Beginning_Of_Field}, - { REQ_END_FIELD |ID_IFN ,IFN_End_Of_Field}, - { REQ_BEG_LINE |ID_IFN ,IFN_Beginning_Of_Line}, - { REQ_END_LINE |ID_IFN ,IFN_End_Of_Line}, - { REQ_LEFT_CHAR |ID_IFN ,IFN_Left_Character}, - { REQ_RIGHT_CHAR |ID_IFN ,IFN_Right_Character}, - { REQ_UP_CHAR |ID_IFN ,IFN_Up_Character}, - { REQ_DOWN_CHAR |ID_IFN ,IFN_Down_Character}, - - { REQ_NEW_LINE |ID_FE ,FE_New_Line}, - { REQ_INS_CHAR |ID_FE ,FE_Insert_Character}, - { REQ_INS_LINE |ID_FE ,FE_Insert_Line}, - { REQ_DEL_CHAR |ID_FE ,FE_Delete_Character}, - { REQ_DEL_PREV |ID_FE ,FE_Delete_Previous}, - { REQ_DEL_LINE |ID_FE ,FE_Delete_Line}, - { REQ_DEL_WORD |ID_FE ,FE_Delete_Word}, - { REQ_CLR_EOL |ID_FE ,FE_Clear_To_End_Of_Line}, - { REQ_CLR_EOF |ID_FE ,FE_Clear_To_End_Of_Field}, - { REQ_CLR_FIELD |ID_FE ,FE_Clear_Field}, - - { REQ_OVL_MODE |ID_EM ,EM_Overlay_Mode}, - { REQ_INS_MODE |ID_EM ,EM_Insert_Mode}, - - { REQ_SCR_FLINE |ID_VSC ,VSC_Scroll_Line_Forward}, - { REQ_SCR_BLINE |ID_VSC ,VSC_Scroll_Line_Backward}, - { REQ_SCR_FPAGE |ID_VSC ,VSC_Scroll_Page_Forward}, - { REQ_SCR_BPAGE |ID_VSC ,VSC_Scroll_Page_Backward}, - { REQ_SCR_FHPAGE |ID_VSC ,VSC_Scroll_Half_Page_Forward}, - { REQ_SCR_BHPAGE |ID_VSC ,VSC_Scroll_Half_Page_Backward}, - - { REQ_SCR_FCHAR |ID_HSC ,HSC_Scroll_Char_Forward}, - { REQ_SCR_BCHAR |ID_HSC ,HSC_Scroll_Char_Backward}, - { REQ_SCR_HFLINE |ID_HSC ,HSC_Horizontal_Line_Forward}, - { REQ_SCR_HBLINE |ID_HSC ,HSC_Horizontal_Line_Backward}, - { REQ_SCR_HFHALF |ID_HSC ,HSC_Horizontal_Half_Line_Forward}, - { REQ_SCR_HBHALF |ID_HSC ,HSC_Horizontal_Half_Line_Backward}, - - { REQ_VALIDATION |ID_FV ,FV_Validation}, - - { REQ_NEXT_CHOICE |ID_CH ,CR_Next_Choice}, - { REQ_PREV_CHOICE |ID_CH ,CR_Previous_Choice} -}; -/* *INDENT-ON* */ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int form_driver(FORM * form,int c) -| -| Description : This is the workhorse of the forms system. It checks -| to determine whether the character c is a request or -| data. If it is a request, the form driver executes -| the request and returns the result. If it is data -| (printable character), it enters the data into the -| current position in the current field. If it is not -| recognized, the form driver assumes it is an application -| defined command and returns E_UNKNOWN_COMMAND. -| Application defined command should be defined relative -| to MAX_FORM_COMMAND, the maximum value of a request. -| -| Return Values : E_OK - success -| E_SYSTEM_ERROR - system error -| E_BAD_ARGUMENT - an argument is incorrect -| E_NOT_POSTED - form is not posted -| E_INVALID_FIELD - field contents are invalid -| E_BAD_STATE - called from inside a hook routine -| E_REQUEST_DENIED - request failed -| E_UNKNOWN_COMMAND - command not known -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -form_driver(FORM *form, int c) -{ - const Binding_Info *BI = (Binding_Info *) 0; - int res = E_UNKNOWN_COMMAND; - - T((T_CALLED("form_driver(%p,%d)"), form, c)); - - if (!form) - RETURN(E_BAD_ARGUMENT); - - if (!(form->field)) - RETURN(E_NOT_CONNECTED); - - assert(form->page); - - if (c == FIRST_ACTIVE_MAGIC) - { - form->current = _nc_First_Active_Field(form); - RETURN(E_OK); - } - - assert(form->current && - form->current->buf && - (form->current->form == form) - ); - - if (form->status & _IN_DRIVER) - RETURN(E_BAD_STATE); - - if (!(form->status & _POSTED)) - RETURN(E_NOT_POSTED); - - if ((c >= MIN_FORM_COMMAND && c <= MAX_FORM_COMMAND) && - ((bindings[c - MIN_FORM_COMMAND].keycode & Key_Mask) == c)) - BI = &(bindings[c - MIN_FORM_COMMAND]); - - if (BI) - { - typedef int (*Generic_Method) (int (*const) (FORM *), FORM *); - static const Generic_Method Generic_Methods[] = - { - Page_Navigation, /* overloaded to call field&form hooks */ - Inter_Field_Navigation, /* overloaded to call field hooks */ - NULL, /* Intra-Field is generic */ - Vertical_Scrolling, /* Overloaded to check multi-line */ - Horizontal_Scrolling, /* Overloaded to check single-line */ - Field_Editing, /* Overloaded to mark modification */ - NULL, /* Edit Mode is generic */ - NULL, /* Field Validation is generic */ - NULL /* Choice Request is generic */ - }; - size_t nMethods = (sizeof(Generic_Methods) / sizeof(Generic_Methods[0])); - size_t method = ((BI->keycode & ID_Mask) >> ID_Shft) & 0xffff; - - if ((method >= nMethods) || !(BI->cmd)) - res = E_SYSTEM_ERROR; - else - { - Generic_Method fct = Generic_Methods[method]; - - if (fct) - res = fct(BI->cmd, form); - else - res = (BI->cmd) (form); - } - } - else if (!(c & (~(int)MAX_REGULAR_CHARACTER))) - { - /* - * If we're using 8-bit characters, iscntrl+isprint cover the whole set. - * But with multibyte characters, there is a third possibility, i.e., - * parts of characters that build up into printable characters which are - * not considered printable. - * - * FIXME: the wide-character branch should also use Check_Char(). - */ -#if USE_WIDEC_SUPPORT - if (!iscntrl(UChar(c))) -#else - if (isprint(UChar(c)) && - Check_Char(form->current->type, c, - (TypeArgument *)(form->current->arg))) -#endif - res = Data_Entry(form, c); - } - _nc_Refresh_Current_Field(form); - RETURN(res); -} - -/*---------------------------------------------------------------------------- - Field-Buffer manipulation routines. - The effects of setting a buffer are tightly coupled to the core of the form - driver logic. This is especially true in the case of growable fields. - So I don't separate this into a separate module. - --------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_field_buffer(FIELD *field, -| int buffer, char *value) -| -| Description : Set the given buffer of the field to the given value. -| Buffer 0 stores the displayed content of the field. -| For dynamic fields this may grow the fieldbuffers if -| the length of the value exceeds the current buffer -| length. For buffer 0 only printable values are allowed. -| For static fields, the value needs not to be zero ter- -| minated. It is copied up to the length of the buffer. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid argument -| E_SYSTEM_ERROR - system error -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_field_buffer(FIELD *field, int buffer, const char *value) -{ - FIELD_CELL *p; - int res = E_OK; - unsigned int i; - unsigned int len; - -#if USE_WIDEC_SUPPORT - FIELD_CELL *widevalue = 0; -#endif - - T((T_CALLED("set_field_buffer(%p,%d,%s)"), field, buffer, _nc_visbuf(value))); - - if (!field || !value || ((buffer < 0) || (buffer > field->nbuf))) - RETURN(E_BAD_ARGUMENT); - - len = Buffer_Length(field); - - if (buffer == 0) - { - for (i = 0; (value[i] != '\0') && (i < len); ++i) - { - if (iscntrl(UChar(value[i]))) - RETURN(E_BAD_ARGUMENT); - } - } - - if (Growable(field)) - { - /* for a growable field we must assume zero terminated strings, because - somehow we have to detect the length of what should be copied. - */ - unsigned int vlen = strlen(value); - - if (vlen > len) - { - if (!Field_Grown(field, - (int)(1 + (vlen - len) / ((field->rows + field->nrow) - * field->cols)))) - RETURN(E_SYSTEM_ERROR); - - /* in this case we also have to check, whether or not the remaining - characters in value are also printable for buffer 0. */ - if (buffer == 0) - { - for (i = len; i < vlen; i++) - if (iscntrl(UChar(value[i]))) - RETURN(E_BAD_ARGUMENT); - } - len = vlen; - } - } - - p = Address_Of_Nth_Buffer(field, buffer); - -#if USE_WIDEC_SUPPORT - /* - * Use addstr's logic for converting a string to an array of cchar_t's. - * There should be a better way, but this handles nonspacing characters - * and other special cases that we really do not want to handle here. - */ - wclear(field->working); - mvwaddstr(field->working, 0, 0, value); - - if ((widevalue = (FIELD_CELL *)calloc(len, sizeof(FIELD_CELL))) == 0) - { - RETURN(E_SYSTEM_ERROR); - } - else - { - mvwin_wchnstr(field->working, 0, 0, widevalue, (int)len); - for (i = 0; i < len; ++i) - { - if (CharEq(myZEROS, widevalue[i])) - { - while (i < len) - p[i++] = myBLANK; - break; - } - p[i] = widevalue[i]; - } - free(widevalue); - } -#else - for (i = 0; i < len; ++i) - { - if (value[i] == '\0') - { - while (i < len) - p[i++] = myBLANK; - break; - } - p[i] = value[i]; - } -#endif - - if (buffer == 0) - { - int syncres; - - if (((syncres = Synchronize_Field(field)) != E_OK) && - (res == E_OK)) - res = syncres; - if (((syncres = Synchronize_Linked_Fields(field)) != E_OK) && - (res == E_OK)) - res = syncres; - } - RETURN(res); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : char *field_buffer(const FIELD *field,int buffer) -| -| Description : Return the address of the buffer for the field. -| -| Return Values : Pointer to buffer or NULL if arguments were invalid. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(char *) -field_buffer(const FIELD *field, int buffer) -{ - char *result = 0; - - T((T_CALLED("field_buffer(%p,%d)"), field, buffer)); - - if (field && (buffer >= 0) && (buffer <= field->nbuf)) - { -#if USE_WIDEC_SUPPORT - FIELD_CELL *data = Address_Of_Nth_Buffer(field, buffer); - unsigned need = 0; - int size = Buffer_Length(field); - int n; - - /* determine the number of bytes needed to store the expanded string */ - for (n = 0; n < size; ++n) - { - if (!isWidecExt(data[n])) - { - mbstate_t state; - size_t next; - - init_mb(state); - next = _nc_wcrtomb(0, data[n].chars[0], &state); - if (!isEILSEQ(next)) - { - if (next != 0) - need += next; - } - } - } - - /* allocate a place to store the expanded string */ - if (field->expanded[buffer] != 0) - free(field->expanded[buffer]); - field->expanded[buffer] = typeMalloc(char, need + 1); - - /* expand the multibyte data */ - if ((result = field->expanded[buffer]) != 0) - { - wclear(field->working); - mvwadd_wchnstr(field->working, 0, 0, data, size); - mvwinnstr(field->working, 0, 0, result, (int)need + 1); - } -#else - result = Address_Of_Nth_Buffer(field, buffer); -#endif - } - returnPtr(result); -} - -#if USE_WIDEC_SUPPORT - -/* FIXME: see lib_get_wch.c */ -#if HAVE_MBTOWC && HAVE_MBLEN -#define reset_mbytes(state) mblen(NULL, 0), mbtowc(NULL, NULL, 0) -#define count_mbytes(buffer,length,state) mblen(buffer,length) -#define trans_mbytes(wch,buffer,length,state) \ - (int) mbtowc(&wch, buffer, length) -#elif HAVE_MBRTOWC && HAVE_MBRLEN -#define NEED_STATE -#define reset_mbytes(state) init_mb(state) -#define count_mbytes(buffer,length,state) mbrlen(buffer,length,&state) -#define trans_mbytes(wch,buffer,length,state) \ - (int) mbrtowc(&wch, buffer, length, &state) -#else -make an error -#endif - -/*--------------------------------------------------------------------------- -| Convert a multibyte string to a wide-character string. The result must be -| freed by the caller. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(wchar_t *) -_nc_Widen_String(char *source, int *lengthp) -{ - wchar_t *result = 0; - wchar_t wch; - size_t given = strlen(source); - size_t tries; - int pass; - int status; - -#ifdef NEED_STATE - mbstate_t state; -#endif - - for (pass = 0; pass < 2; ++pass) - { - unsigned need = 0; - size_t passed = 0; - - while (passed < given) - { - bool found = FALSE; - - for (tries = 1, status = 0; tries <= (given - passed); ++tries) - { - int save = source[passed + tries]; - - source[passed + tries] = 0; - reset_mbytes(state); - status = trans_mbytes(wch, source + passed, tries, state); - source[passed + tries] = save; - - if (status > 0) - { - found = TRUE; - break; - } - } - if (found) - { - if (pass) - { - result[need] = wch; - } - passed += status; - ++need; - } - else - { - if (pass) - { - result[need] = source[passed]; - } - ++need; - ++passed; - } - } - - if (!pass) - { - if (!need) - break; - result = typeCalloc(wchar_t, need); - - *lengthp = need; - if (result == 0) - break; - } - } - - return result; -} -#endif - -/* frm_driver.c ends here */ diff --git a/src/libs/ncurses/form/frm_hook.c b/src/libs/ncurses/form/frm_hook.c deleted file mode 100644 index 18e6d71f31..0000000000 --- a/src/libs/ncurses/form/frm_hook.c +++ /dev/null @@ -1,142 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: frm_hook.c,v 1.14 2004/12/25 22:37:27 tom Exp $") - -/* "Template" macro to generate function to set application specific hook */ -#define GEN_HOOK_SET_FUNCTION( typ, name ) \ -NCURSES_IMPEXP int NCURSES_API set_ ## typ ## _ ## name (FORM *form, Form_Hook func)\ -{\ - T((T_CALLED("set_" #typ"_"#name"(%p,%p)"), form, func));\ - (Normalize_Form( form ) -> typ ## name) = func ;\ - RETURN(E_OK);\ -} - -/* "Template" macro to generate function to get application specific hook */ -#define GEN_HOOK_GET_FUNCTION( typ, name ) \ -NCURSES_IMPEXP Form_Hook NCURSES_API typ ## _ ## name ( const FORM *form )\ -{\ - T((T_CALLED(#typ "_" #name "(%p)"), form));\ - returnFormHook( Normalize_Form( form ) -> typ ## name );\ -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_field_init(FORM *form, Form_Hook f) -| -| Description : Assigns an application defined initialization function -| to be called when the form is posted and just after -| the current field changes. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -GEN_HOOK_SET_FUNCTION(field, init) - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : Form_Hook field_init(const FORM *form) -| -| Description : Retrieve field initialization routine address. -| -| Return Values : The address or NULL if no hook defined. -+--------------------------------------------------------------------------*/ -GEN_HOOK_GET_FUNCTION(field, init) - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_field_term(FORM *form, Form_Hook f) -| -| Description : Assigns an application defined finalization function -| to be called when the form is unposted and just before -| the current field changes. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -GEN_HOOK_SET_FUNCTION(field, term) - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : Form_Hook field_term(const FORM *form) -| -| Description : Retrieve field finalization routine address. -| -| Return Values : The address or NULL if no hook defined. -+--------------------------------------------------------------------------*/ -GEN_HOOK_GET_FUNCTION(field, term) - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_form_init(FORM *form, Form_Hook f) -| -| Description : Assigns an application defined initialization function -| to be called when the form is posted and just after -| a page change. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -GEN_HOOK_SET_FUNCTION(form, init) - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : Form_Hook form_init(const FORM *form) -| -| Description : Retrieve form initialization routine address. -| -| Return Values : The address or NULL if no hook defined. -+--------------------------------------------------------------------------*/ -GEN_HOOK_GET_FUNCTION(form, init) - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_form_term(FORM *form, Form_Hook f) -| -| Description : Assigns an application defined finalization function -| to be called when the form is unposted and just before -| a page change. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -GEN_HOOK_SET_FUNCTION(form, term) - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : Form_Hook form_term(const FORM *form) -| -| Description : Retrieve form finalization routine address. -| -| Return Values : The address or NULL if no hook defined. -+--------------------------------------------------------------------------*/ -GEN_HOOK_GET_FUNCTION(form, term) - -/* frm_hook.c ends here */ diff --git a/src/libs/ncurses/form/frm_opts.c b/src/libs/ncurses/form/frm_opts.c deleted file mode 100644 index d36d618a53..0000000000 --- a/src/libs/ncurses/form/frm_opts.c +++ /dev/null @@ -1,127 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: frm_opts.c,v 1.14 2005/04/16 16:59:18 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_form_opts(FORM *form, Form_Options opts) -| -| Description : Turns on the named options and turns off all the -| remaining options for that form. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid options -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_form_opts(FORM *form, Form_Options opts) -{ - T((T_CALLED("set_form_opts(%p,%d)"), form, opts)); - - opts &= ALL_FORM_OPTS; - if (opts & ~ALL_FORM_OPTS) - RETURN(E_BAD_ARGUMENT); - else - { - Normalize_Form(form)->opts = opts; - RETURN(E_OK); - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : Form_Options form_opts(const FORM *) -| -| Description : Retrieves the current form options. -| -| Return Values : The option flags. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(Form_Options) -form_opts(const FORM *form) -{ - T((T_CALLED("form_opts(%p)"), form)); - returnCode((int)(Normalize_Form(form)->opts & ALL_FORM_OPTS)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int form_opts_on(FORM *form, Form_Options opts) -| -| Description : Turns on the named options; no other options are -| changed. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid options -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -form_opts_on(FORM *form, Form_Options opts) -{ - T((T_CALLED("form_opts_on(%p,%d)"), form, opts)); - - opts &= ALL_FORM_OPTS; - if (opts & ~ALL_FORM_OPTS) - RETURN(E_BAD_ARGUMENT); - else - { - Normalize_Form(form)->opts |= opts; - RETURN(E_OK); - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int form_opts_off(FORM *form, Form_Options opts) -| -| Description : Turns off the named options; no other options are -| changed. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid options -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -form_opts_off(FORM *form, Form_Options opts) -{ - T((T_CALLED("form_opts_off(%p,%d)"), form, opts)); - - opts &= ALL_FORM_OPTS; - if (opts & ~ALL_FORM_OPTS) - RETURN(E_BAD_ARGUMENT); - else - { - Normalize_Form(form)->opts &= ~opts; - RETURN(E_OK); - } -} - -/* frm_opts.c ends here */ diff --git a/src/libs/ncurses/form/frm_page.c b/src/libs/ncurses/form/frm_page.c deleted file mode 100644 index a371838d95..0000000000 --- a/src/libs/ncurses/form/frm_page.c +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: frm_page.c,v 1.10 2004/12/11 22:08:21 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_form_page(FORM * form,int page) -| -| Description : Set the page number of the form. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid form pointer or page number -| E_BAD_STATE - called from a hook routine -| E_INVALID_FIELD - current field can't be left -| E_SYSTEM_ERROR - system error -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_form_page(FORM *form, int page) -{ - int err = E_OK; - - T((T_CALLED("set_form_page(%p,%d)"), form, page)); - - if (!form || (page < 0) || (page >= form->maxpage)) - RETURN(E_BAD_ARGUMENT); - - if (!(form->status & _POSTED)) - { - form->curpage = page; - form->current = _nc_First_Active_Field(form); - } - else - { - if (form->status & _IN_DRIVER) - err = E_BAD_STATE; - else - { - if (form->curpage != page) - { - if (!_nc_Internal_Validation(form)) - err = E_INVALID_FIELD; - else - { - Call_Hook(form, fieldterm); - Call_Hook(form, formterm); - err = _nc_Set_Form_Page(form, page, (FIELD *)0); - Call_Hook(form, forminit); - Call_Hook(form, fieldinit); - _nc_Refresh_Current_Field(form); - } - } - } - } - RETURN(err); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int form_page(const FORM * form) -| -| Description : Return the current page of the form. -| -| Return Values : >= 0 : current page number -| -1 : invalid form pointer -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -form_page(const FORM *form) -{ - T((T_CALLED("form_page(%p)"), form)); - - returnCode(Normalize_Form(form)->curpage); -} - -/* frm_page.c ends here */ diff --git a/src/libs/ncurses/form/frm_post.c b/src/libs/ncurses/form/frm_post.c deleted file mode 100644 index 28937e91b0..0000000000 --- a/src/libs/ncurses/form/frm_post.c +++ /dev/null @@ -1,124 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: frm_post.c,v 1.9 2004/12/11 22:19:06 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int post_form(FORM * form) -| -| Description : Writes the form into its associated subwindow. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid form pointer -| E_POSTED - form already posted -| E_NOT_CONNECTED - no fields connected to form -| E_NO_ROOM - form doesn't fit into subwindow -| E_SYSTEM_ERROR - system error -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -post_form(FORM *form) -{ - WINDOW *formwin; - int err; - int page; - - T((T_CALLED("post_form(%p)"), form)); - - if (!form) - RETURN(E_BAD_ARGUMENT); - - if (form->status & _POSTED) - RETURN(E_POSTED); - - if (!(form->field)) - RETURN(E_NOT_CONNECTED); - - formwin = Get_Form_Window(form); - if ((form->cols > getmaxx(formwin)) || (form->rows > getmaxy(formwin))) - RETURN(E_NO_ROOM); - - /* reset form->curpage to an invald value. This forces Set_Form_Page - to do the page initialization which is required by post_form. - */ - page = form->curpage; - form->curpage = -1; - if ((err = _nc_Set_Form_Page(form, page, form->current)) != E_OK) - RETURN(err); - - form->status |= _POSTED; - - Call_Hook(form, forminit); - Call_Hook(form, fieldinit); - - _nc_Refresh_Current_Field(form); - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int unpost_form(FORM * form) -| -| Description : Erase form from its associated subwindow. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid form pointer -| E_NOT_POSTED - form isn't posted -| E_BAD_STATE - called from a hook routine -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -unpost_form(FORM *form) -{ - T((T_CALLED("unpost_form(%p)"), form)); - - if (!form) - RETURN(E_BAD_ARGUMENT); - - if (!(form->status & _POSTED)) - RETURN(E_NOT_POSTED); - - if (form->status & _IN_DRIVER) - RETURN(E_BAD_STATE); - - Call_Hook(form, fieldterm); - Call_Hook(form, formterm); - - werase(Get_Form_Window(form)); - delwin(form->w); - form->w = (WINDOW *)0; - form->status &= ~_POSTED; - RETURN(E_OK); -} - -/* frm_post.c ends here */ diff --git a/src/libs/ncurses/form/frm_req_name.c b/src/libs/ncurses/form/frm_req_name.c deleted file mode 100644 index e4d5c335d8..0000000000 --- a/src/libs/ncurses/form/frm_req_name.c +++ /dev/null @@ -1,170 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module form_request_name * -* Routines to handle external names of menu requests * -***************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: frm_req_name.c,v 1.15 2005/04/16 16:59:27 tom Exp $") - -static const char *request_names[MAX_FORM_COMMAND - MIN_FORM_COMMAND + 1] = -{ - "NEXT_PAGE", - "PREV_PAGE", - "FIRST_PAGE", - "LAST_PAGE", - - "NEXT_FIELD", - "PREV_FIELD", - "FIRST_FIELD", - "LAST_FIELD", - "SNEXT_FIELD", - "SPREV_FIELD", - "SFIRST_FIELD", - "SLAST_FIELD", - "LEFT_FIELD", - "RIGHT_FIELD", - "UP_FIELD", - "DOWN_FIELD", - - "NEXT_CHAR", - "PREV_CHAR", - "NEXT_LINE", - "PREV_LINE", - "NEXT_WORD", - "PREV_WORD", - "BEG_FIELD", - "END_FIELD", - "BEG_LINE", - "END_LINE", - "LEFT_CHAR", - "RIGHT_CHAR", - "UP_CHAR", - "DOWN_CHAR", - - "NEW_LINE", - "INS_CHAR", - "INS_LINE", - "DEL_CHAR", - "DEL_PREV", - "DEL_LINE", - "DEL_WORD", - "CLR_EOL", - "CLR_EOF", - "CLR_FIELD", - "OVL_MODE", - "INS_MODE", - "SCR_FLINE", - "SCR_BLINE", - "SCR_FPAGE", - "SCR_BPAGE", - "SCR_FHPAGE", - "SCR_BHPAGE", - "SCR_FCHAR", - "SCR_BCHAR", - "SCR_HFLINE", - "SCR_HBLINE", - "SCR_HFHALF", - "SCR_HBHALF", - - "VALIDATION", - "NEXT_CHOICE", - "PREV_CHOICE" -}; - -#define A_SIZE (sizeof(request_names)/sizeof(request_names[0])) - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : const char * form_request_name (int request); -| -| Description : Get the external name of a form request. -| -| Return Values : Pointer to name - on success -| NULL - on invalid request code -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(const char *) -form_request_name(int request) -{ - T((T_CALLED("form_request_name(%d)"), request)); - - if ((request < MIN_FORM_COMMAND) || (request > MAX_FORM_COMMAND)) - { - SET_ERROR(E_BAD_ARGUMENT); - returnCPtr((const char *)0); - } - else - returnCPtr(request_names[request - MIN_FORM_COMMAND]); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int form_request_by_name (const char *str); -| -| Description : Search for a request with this name. -| -| Return Values : Request Id - on success -| E_NO_MATCH - request not found -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -form_request_by_name(const char *str) -{ - /* because the table is so small, it doesn't really hurt - to run sequentially through it. - */ - unsigned int i = 0; - char buf[16]; - - T((T_CALLED("form_request_by_name(%s)"), _nc_visbuf(str))); - - if (str) - { - strncpy(buf, str, sizeof(buf)); - while ((i < sizeof(buf)) && (buf[i] != '\0')) - { - buf[i] = toupper(buf[i]); - i++; - } - - for (i = 0; i < A_SIZE; i++) - { - if (strncmp(request_names[i], buf, sizeof(buf)) == 0) - returnCode(MIN_FORM_COMMAND + (int) i); - } - } - RETURN(E_NO_MATCH); -} - -/* frm_req_name.c ends here */ diff --git a/src/libs/ncurses/form/frm_scale.c b/src/libs/ncurses/form/frm_scale.c deleted file mode 100644 index 2ebf72d06c..0000000000 --- a/src/libs/ncurses/form/frm_scale.c +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: frm_scale.c,v 1.9 2004/12/11 22:12:34 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int scale_form( const FORM *form, int *rows, int *cols ) -| -| Description : Retrieve size of form -| -| Return Values : E_OK - no error -| E_BAD_ARGUMENT - invalid form pointer -| E_NOT_CONNECTED - no fields connected to form -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -scale_form(const FORM *form, int *rows, int *cols) -{ - T((T_CALLED("scale_form(%p,%p,%p)"), form, rows, cols)); - - if (!form) - RETURN(E_BAD_ARGUMENT); - - if (!(form->field)) - RETURN(E_NOT_CONNECTED); - - if (rows) - *rows = form->rows; - if (cols) - *cols = form->cols; - - RETURN(E_OK); -} - -/* frm_scale.c ends here */ diff --git a/src/libs/ncurses/form/frm_sub.c b/src/libs/ncurses/form/frm_sub.c deleted file mode 100644 index 6db0023db1..0000000000 --- a/src/libs/ncurses/form/frm_sub.c +++ /dev/null @@ -1,77 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: frm_sub.c,v 1.9 2004/12/11 22:13:39 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_form_sub(FORM *form, WINDOW *win) -| -| Description : Set the subwindow of the form to win. -| -| Return Values : E_OK - success -| E_POSTED - form is posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_form_sub(FORM *form, WINDOW *win) -{ - T((T_CALLED("set_form_sub(%p,%p)"), form, win)); - - if (form && (form->status & _POSTED)) - RETURN(E_POSTED); - - Normalize_Form(form)->sub = win; - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : WINDOW *form_sub(const FORM *) -| -| Description : Retrieve the window of the form. -| -| Return Values : The pointer to the Subwindow. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(WINDOW *) -form_sub(const FORM *form) -{ - const FORM *f; - - T((T_CALLED("form_sub(%p)"), form)); - - f = Normalize_Form(form); - returnWin(Get_Form_Window(f)); -} - -/* frm_sub.c ends here */ diff --git a/src/libs/ncurses/form/frm_user.c b/src/libs/ncurses/form/frm_user.c deleted file mode 100644 index 4d5e0e463a..0000000000 --- a/src/libs/ncurses/form/frm_user.c +++ /dev/null @@ -1,72 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: frm_user.c,v 1.14 2004/12/25 22:37:56 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_form_userptr(FORM *form, void *usrptr) -| -| Description : Set the pointer that is reserved in any form to store -| application relevant informations -| -| Return Values : E_OK - on success -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_form_userptr(FORM *form, void *usrptr) -{ - T((T_CALLED("set_form_userptr(%p,%p)"), form, usrptr)); - - Normalize_Form(form)->usrptr = usrptr; - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : void *form_userptr(const FORM *form) -| -| Description : Return the pointer that is reserved in any form to -| store application relevant informations. -| -| Return Values : Value of pointer. If no such pointer has been set, -| NULL is returned -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(void *) -form_userptr(const FORM *form) -{ - T((T_CALLED("form_userptr(%p)"), form)); - returnVoidPtr(Normalize_Form(form)->usrptr); -} - -/* frm_user.c ends here */ diff --git a/src/libs/ncurses/form/frm_win.c b/src/libs/ncurses/form/frm_win.c deleted file mode 100644 index 2258f0a619..0000000000 --- a/src/libs/ncurses/form/frm_win.c +++ /dev/null @@ -1,77 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: frm_win.c,v 1.13 2004/12/11 22:15:27 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : int set_form_win(FORM *form,WINDOW *win) -| -| Description : Set the window of the form to win. -| -| Return Values : E_OK - success -| E_POSTED - form is posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_form_win(FORM *form, WINDOW *win) -{ - T((T_CALLED("set_form_win(%p,%p)"), form, win)); - - if (form && (form->status & _POSTED)) - RETURN(E_POSTED); - - Normalize_Form(form)->win = win; - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : WINDOW *form_win(const FORM *) -| -| Description : Retrieve the window of the form. -| -| Return Values : The pointer to the Window or stdscr if there is none. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(WINDOW *) -form_win(const FORM *form) -{ - const FORM *f; - - T((T_CALLED("form_win(%p)"), form)); - - f = Normalize_Form(form); - returnWin(f->win ? f->win : stdscr); -} - -/* frm_win.c ends here */ diff --git a/src/libs/ncurses/form/fty_alnum.c b/src/libs/ncurses/form/fty_alnum.c deleted file mode 100644 index f140930551..0000000000 --- a/src/libs/ncurses/form/fty_alnum.c +++ /dev/null @@ -1,139 +0,0 @@ -/* - * THIS CODE IS SPECIFICALLY EXEMPTED FROM THE NCURSES PACKAGE COPYRIGHT. - * You may freely copy it for use as a template for your own field types. - * If you develop a field type that might be of general use, please send - * it back to the ncurses maintainers for inclusion in the next version. - */ -/*************************************************************************** -* * -* Author : Juergen Pfeifer * -* * -***************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fty_alnum.c,v 1.18 2005/08/20 18:26:16 tom Exp $") - -#define thisARG alnumARG - -typedef struct - { - int width; - } -thisARG; - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void *Make_This_Type(va_list *ap) -| -| Description : Allocate structure for alphanumeric type argument. -| -| Return Values : Pointer to argument structure or NULL on error -+--------------------------------------------------------------------------*/ -static void * -Make_This_Type(va_list *ap) -{ - thisARG *argp = (thisARG *) malloc(sizeof(thisARG)); - - if (argp) - argp->width = va_arg(*ap, int); - - return ((void *)argp); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void *Copy_ThisType(const void *argp) -| -| Description : Copy structure for alphanumeric type argument. -| -| Return Values : Pointer to argument structure or NULL on error. -+--------------------------------------------------------------------------*/ -static void * -Copy_This_Type(const void *argp) -{ - const thisARG *ap = (const thisARG *)argp; - thisARG *result = (thisARG *) malloc(sizeof(thisARG)); - - if (result) - *result = *ap; - - return ((void *)result); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void Free_This_Type(void *argp) -| -| Description : Free structure for alphanumeric type argument. -| -| Return Values : - -+--------------------------------------------------------------------------*/ -static void -Free_This_Type(void *argp) -{ - if (argp) - free(argp); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Check_This_Character( -| int c, -| const void *argp) -| -| Description : Check a character for the alphanumeric type. -| -| Return Values : TRUE - character is valid -| FALSE - character is invalid -+--------------------------------------------------------------------------*/ -static bool -Check_This_Character(int c, const void *argp GCC_UNUSED) -{ -#if USE_WIDEC_SUPPORT - if (iswalnum((wint_t) c)) - return TRUE; -#endif - return (isalnum(UChar(c)) ? TRUE : FALSE); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Check_This_Field( -| FIELD *field, -| const void *argp) -| -| Description : Validate buffer content to be a valid alphanumeric value -| -| Return Values : TRUE - field is valid -| FALSE - field is invalid -+--------------------------------------------------------------------------*/ -static bool -Check_This_Field(FIELD *field, const void *argp) -{ - int width = ((const thisARG *)argp)->width; - unsigned char *bp = (unsigned char *)field_buffer(field, 0); - bool result = (width < 0); - - Check_CTYPE_Field(result, bp, width, Check_This_Character); - return (result); -} - -static FIELDTYPE typeTHIS = -{ - _HAS_ARGS | _RESIDENT, - 1, /* this is mutable, so we can't be const */ - (FIELDTYPE *)0, - (FIELDTYPE *)0, - Make_This_Type, - Copy_This_Type, - Free_This_Type, - Check_This_Field, - Check_This_Character, - NULL, - NULL -}; - -NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ALNUM = &typeTHIS; - -/* fty_alnum.c ends here */ diff --git a/src/libs/ncurses/form/fty_alpha.c b/src/libs/ncurses/form/fty_alpha.c deleted file mode 100644 index d96fe091b3..0000000000 --- a/src/libs/ncurses/form/fty_alpha.c +++ /dev/null @@ -1,139 +0,0 @@ -/* - * THIS CODE IS SPECIFICALLY EXEMPTED FROM THE NCURSES PACKAGE COPYRIGHT. - * You may freely copy it for use as a template for your own field types. - * If you develop a field type that might be of general use, please send - * it back to the ncurses maintainers for inclusion in the next version. - */ -/*************************************************************************** -* * -* Author : Juergen Pfeifer * -* * -***************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fty_alpha.c,v 1.20 2005/08/20 18:37:48 tom Exp $") - -#define thisARG alphaARG - -typedef struct - { - int width; - } -thisARG; - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void *Make_This_Type(va_list *ap) -| -| Description : Allocate structure for alpha type argument. -| -| Return Values : Pointer to argument structure or NULL on error -+--------------------------------------------------------------------------*/ -static void * -Make_This_Type(va_list *ap) -{ - thisARG *argp = (thisARG *) malloc(sizeof(thisARG)); - - if (argp) - argp->width = va_arg(*ap, int); - - return ((void *)argp); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void *Copy_This_Type(const void * argp) -| -| Description : Copy structure for alpha type argument. -| -| Return Values : Pointer to argument structure or NULL on error. -+--------------------------------------------------------------------------*/ -static void * -Copy_This_Type(const void *argp) -{ - const thisARG *ap = (const thisARG *)argp; - thisARG *result = (thisARG *) malloc(sizeof(thisARG)); - - if (result) - *result = *ap; - - return ((void *)result); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void Free_This_Type(void *argp) -| -| Description : Free structure for alpha type argument. -| -| Return Values : - -+--------------------------------------------------------------------------*/ -static void -Free_This_Type(void *argp) -{ - if (argp) - free(argp); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Check_This_Character( -| int c, -| const void *argp) -| -| Description : Check a character for the alpha type. -| -| Return Values : TRUE - character is valid -| FALSE - character is invalid -+--------------------------------------------------------------------------*/ -static bool -Check_This_Character(int c, const void *argp GCC_UNUSED) -{ -#if USE_WIDEC_SUPPORT - if (iswalpha((wint_t) c)) - return TRUE; -#endif - return (isalpha(UChar(c)) ? TRUE : FALSE); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Check_This_Field( -| FIELD *field, -| const void *argp) -| -| Description : Validate buffer content to be a valid alpha value -| -| Return Values : TRUE - field is valid -| FALSE - field is invalid -+--------------------------------------------------------------------------*/ -static bool -Check_This_Field(FIELD *field, const void *argp) -{ - int width = ((const thisARG *)argp)->width; - unsigned char *bp = (unsigned char *)field_buffer(field, 0); - bool result = (width < 0); - - Check_CTYPE_Field(result, bp, width, Check_This_Character); - return (result); -} - -static FIELDTYPE typeTHIS = -{ - _HAS_ARGS | _RESIDENT, - 1, /* this is mutable, so we can't be const */ - (FIELDTYPE *)0, - (FIELDTYPE *)0, - Make_This_Type, - Copy_This_Type, - Free_This_Type, - Check_This_Field, - Check_This_Character, - NULL, - NULL -}; - -NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ALPHA = &typeTHIS; - -/* fty_alpha.c ends here */ diff --git a/src/libs/ncurses/form/fty_enum.c b/src/libs/ncurses/form/fty_enum.c deleted file mode 100644 index 94ce60ae88..0000000000 --- a/src/libs/ncurses/form/fty_enum.c +++ /dev/null @@ -1,313 +0,0 @@ - -/* - * THIS CODE IS SPECIFICALLY EXEMPTED FROM THE NCURSES PACKAGE COPYRIGHT. - * You may freely copy it for use as a template for your own field types. - * If you develop a field type that might be of general use, please send - * it back to the ncurses maintainers for inclusion in the next version. - */ -/*************************************************************************** -* * -* Author : Juergen Pfeifer * -* * -***************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fty_enum.c,v 1.19 2004/05/29 19:05:20 tom Exp $") - -typedef struct - { - char **kwds; - int count; - bool checkcase; - bool checkunique; - } -enumARG; - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void *Make_Enum_Type( va_list * ap ) -| -| Description : Allocate structure for enumeration type argument. -| -| Return Values : Pointer to argument structure or NULL on error -+--------------------------------------------------------------------------*/ -static void * -Make_Enum_Type(va_list *ap) -{ - enumARG *argp = (enumARG *)malloc(sizeof(enumARG)); - - if (argp) - { - int cnt = 0; - char **kp = (char **)0; - int ccase, cunique; - - argp->kwds = va_arg(*ap, char **); - ccase = va_arg(*ap, int); - cunique = va_arg(*ap, int); - - argp->checkcase = ccase ? TRUE : FALSE; - argp->checkunique = cunique ? TRUE : FALSE; - - kp = argp->kwds; - while (kp && (*kp++)) - cnt++; - argp->count = cnt; - } - return (void *)argp; -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void *Copy_Enum_Type( const void * argp ) -| -| Description : Copy structure for enumeration type argument. -| -| Return Values : Pointer to argument structure or NULL on error. -+--------------------------------------------------------------------------*/ -static void * -Copy_Enum_Type(const void *argp) -{ - enumARG *result = (enumARG *)0; - - if (argp) - { - const enumARG *ap = (const enumARG *)argp; - - result = (enumARG *)malloc(sizeof(enumARG)); - - if (result) - *result = *ap; - } - return (void *)result; -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void Free_Enum_Type( void * argp ) -| -| Description : Free structure for enumeration type argument. -| -| Return Values : - -+--------------------------------------------------------------------------*/ -static void -Free_Enum_Type(void *argp) -{ - if (argp) - free(argp); -} - -#define SKIP_SPACE(x) while(((*(x))!='\0') && (is_blank(*(x)))) (x)++ -#define NOMATCH 0 -#define PARTIAL 1 -#define EXACT 2 - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static int Compare(const unsigned char * s, -| const unsigned char * buf, -| bool ccase ) -| -| Description : Check whether or not the text in 'buf' matches the -| text in 's', at least partial. -| -| Return Values : NOMATCH - buffer doesn't match -| PARTIAL - buffer matches partially -| EXACT - buffer matches exactly -+--------------------------------------------------------------------------*/ -static int -Compare(const unsigned char *s, const unsigned char *buf, - bool ccase) -{ - SKIP_SPACE(buf); /* Skip leading spaces in both texts */ - SKIP_SPACE(s); - - if (*buf == '\0') - { - return (((*s) != '\0') ? NOMATCH : EXACT); - } - else - { - if (ccase) - { - while (*s++ == *buf) - { - if (*buf++ == '\0') - return EXACT; - } - } - else - { - while (toupper(*s++) == toupper(*buf)) - { - if (*buf++ == '\0') - return EXACT; - } - } - } - /* At this location buf points to the first character where it no longer - matches with s. So if only blanks are following, we have a partial - match otherwise there is no match */ - SKIP_SPACE(buf); - if (*buf) - return NOMATCH; - - /* If it happens that the reference buffer is at its end, the partial - match is actually an exact match. */ - return ((s[-1] != '\0') ? PARTIAL : EXACT); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Check_Enum_Field( -| FIELD * field, -| const void * argp) -| -| Description : Validate buffer content to be a valid enumeration value -| -| Return Values : TRUE - field is valid -| FALSE - field is invalid -+--------------------------------------------------------------------------*/ -static bool -Check_Enum_Field(FIELD *field, const void *argp) -{ - char **kwds = ((const enumARG *)argp)->kwds; - bool ccase = ((const enumARG *)argp)->checkcase; - bool unique = ((const enumARG *)argp)->checkunique; - unsigned char *bp = (unsigned char *)field_buffer(field, 0); - char *s, *t, *p; - int res; - - while (kwds && (s = (*kwds++))) - { - if ((res = Compare((unsigned char *)s, bp, ccase)) != NOMATCH) - { - p = t = s; /* t is at least a partial match */ - if ((unique && res != EXACT)) - { - while (kwds && (p = *kwds++)) - { - if ((res = Compare((unsigned char *)p, bp, ccase)) != NOMATCH) - { - if (res == EXACT) - { - t = p; - break; - } - else - t = (char *)0; - } - } - } - if (t) - { - set_field_buffer(field, 0, t); - return TRUE; - } - if (!p) - break; - } - } - return FALSE; -} - -static const char *dummy[] = -{(char *)0}; - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Next_Enum(FIELD * field, -| const void * argp) -| -| Description : Check for the next enumeration value -| -| Return Values : TRUE - next value found and loaded -| FALSE - no next value loaded -+--------------------------------------------------------------------------*/ -static bool -Next_Enum(FIELD *field, const void *argp) -{ - const enumARG *args = (const enumARG *)argp; - char **kwds = args->kwds; - bool ccase = args->checkcase; - int cnt = args->count; - unsigned char *bp = (unsigned char *)field_buffer(field, 0); - - if (kwds) - { - while (cnt--) - { - if (Compare((unsigned char *)(*kwds++), bp, ccase) == EXACT) - break; - } - if (cnt <= 0) - kwds = args->kwds; - if ((cnt >= 0) || (Compare((const unsigned char *)dummy, bp, ccase) == EXACT)) - { - set_field_buffer(field, 0, *kwds); - return TRUE; - } - } - return FALSE; -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Previous_Enum( -| FIELD * field, -| const void * argp) -| -| Description : Check for the previous enumeration value -| -| Return Values : TRUE - previous value found and loaded -| FALSE - no previous value loaded -+--------------------------------------------------------------------------*/ -static bool -Previous_Enum(FIELD *field, const void *argp) -{ - const enumARG *args = (const enumARG *)argp; - int cnt = args->count; - char **kwds = &args->kwds[cnt - 1]; - bool ccase = args->checkcase; - unsigned char *bp = (unsigned char *)field_buffer(field, 0); - - if (kwds) - { - while (cnt--) - { - if (Compare((unsigned char *)(*kwds--), bp, ccase) == EXACT) - break; - } - - if (cnt <= 0) - kwds = &args->kwds[args->count - 1]; - - if ((cnt >= 0) || (Compare((const unsigned char *)dummy, bp, ccase) == EXACT)) - { - set_field_buffer(field, 0, *kwds); - return TRUE; - } - } - return FALSE; -} - -static FIELDTYPE typeENUM = -{ - _HAS_ARGS | _HAS_CHOICE | _RESIDENT, - 1, /* this is mutable, so we can't be const */ - (FIELDTYPE *)0, - (FIELDTYPE *)0, - Make_Enum_Type, - Copy_Enum_Type, - Free_Enum_Type, - Check_Enum_Field, - NULL, - Next_Enum, - Previous_Enum -}; - -NCURSES_EXPORT_VAR(FIELDTYPE *) -TYPE_ENUM = &typeENUM; - -/* fty_enum.c ends here */ diff --git a/src/libs/ncurses/form/fty_int.c b/src/libs/ncurses/form/fty_int.c deleted file mode 100644 index 2f18b9017c..0000000000 --- a/src/libs/ncurses/form/fty_int.c +++ /dev/null @@ -1,220 +0,0 @@ -/* - * THIS CODE IS SPECIFICALLY EXEMPTED FROM THE NCURSES PACKAGE COPYRIGHT. - * You may freely copy it for use as a template for your own field types. - * If you develop a field type that might be of general use, please send - * it back to the ncurses maintainers for inclusion in the next version. - */ -/*************************************************************************** -* * -* Author : Juergen Pfeifer * -* * -***************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fty_int.c,v 1.19 2005/08/20 18:26:16 tom Exp $") - -#if USE_WIDEC_SUPPORT -#define isDigit(c) (iswdigit((wint_t)(c)) || isdigit(UChar(c))) -#else -#define isDigit(c) isdigit(UChar(c)) -#endif - -#define thisARG integerARG - -typedef struct - { - int precision; - long low; - long high; - } -thisARG; - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void *Make_This_Type( va_list * ap ) -| -| Description : Allocate structure for integer type argument. -| -| Return Values : Pointer to argument structure or NULL on error -+--------------------------------------------------------------------------*/ -static void * -Make_This_Type(va_list *ap) -{ - thisARG *argp = (thisARG *) malloc(sizeof(thisARG)); - - if (argp) - { - argp->precision = va_arg(*ap, int); - argp->low = va_arg(*ap, long); - argp->high = va_arg(*ap, long); - } - return (void *)argp; -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void *Copy_This_Type(const void * argp) -| -| Description : Copy structure for integer type argument. -| -| Return Values : Pointer to argument structure or NULL on error. -+--------------------------------------------------------------------------*/ -static void * -Copy_This_Type(const void *argp) -{ - const thisARG *ap = (const thisARG *)argp; - thisARG *result = (thisARG *) 0; - - if (argp) - { - result = (thisARG *) malloc(sizeof(thisARG)); - if (result) - *result = *ap; - } - return (void *)result; -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void Free_This_Type(void * argp) -| -| Description : Free structure for integer type argument. -| -| Return Values : - -+--------------------------------------------------------------------------*/ -static void -Free_This_Type(void *argp) -{ - if (argp) - free(argp); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Check_This_Field( -| FIELD * field, -| const void * argp) -| -| Description : Validate buffer content to be a valid integer value -| -| Return Values : TRUE - field is valid -| FALSE - field is invalid -+--------------------------------------------------------------------------*/ -static bool -Check_This_Field(FIELD *field, const void *argp) -{ - const thisARG *argi = (const thisARG *)argp; - long low = argi->low; - long high = argi->high; - int prec = argi->precision; - unsigned char *bp = (unsigned char *)field_buffer(field, 0); - char *s = (char *)bp; - long val; - char buf[100]; - bool result = FALSE; - - while (*bp && *bp == ' ') - bp++; - if (*bp) - { - if (*bp == '-') - bp++; -#if USE_WIDEC_SUPPORT - if (*bp) - { - bool blank = FALSE; - int len; - int n; - wchar_t *list = _nc_Widen_String((char *)bp, &len); - - if (list != 0) - { - result = TRUE; - for (n = 0; n < len; ++n) - { - if (blank) - { - if (list[n] != ' ') - { - result = FALSE; - break; - } - } - else if (list[n] == ' ') - { - blank = TRUE; - } - else if (!isDigit(list[n])) - { - result = FALSE; - break; - } - } - free(list); - } - } -#else - while (*bp) - { - if (!isdigit(UChar(*bp))) - break; - bp++; - } - while (*bp && *bp == ' ') - bp++; - result = (*bp == '\0'); -#endif - if (result) - { - val = atol(s); - if (low < high) - { - if (val < low || val > high) - result = FALSE; - } - if (result) - { - sprintf(buf, "%.*ld", (prec > 0 ? prec : 0), val); - set_field_buffer(field, 0, buf); - } - } - } - return (result); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Check_This_Character( -| int c, -| const void * argp) -| -| Description : Check a character for the integer type. -| -| Return Values : TRUE - character is valid -| FALSE - character is invalid -+--------------------------------------------------------------------------*/ -static bool -Check_This_Character(int c, const void *argp GCC_UNUSED) -{ - return ((isDigit(UChar(c)) || (c == '-')) ? TRUE : FALSE); -} - -static FIELDTYPE typeTHIS = -{ - _HAS_ARGS | _RESIDENT, - 1, /* this is mutable, so we can't be const */ - (FIELDTYPE *)0, - (FIELDTYPE *)0, - Make_This_Type, - Copy_This_Type, - Free_This_Type, - Check_This_Field, - Check_This_Character, - NULL, - NULL -}; - -NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_INTEGER = &typeTHIS; - -/* fty_int.c ends here */ diff --git a/src/libs/ncurses/form/fty_ipv4.c b/src/libs/ncurses/form/fty_ipv4.c deleted file mode 100644 index b90f746630..0000000000 --- a/src/libs/ncurses/form/fty_ipv4.c +++ /dev/null @@ -1,84 +0,0 @@ - -/* - * THIS CODE IS SPECIFICALLY EXEMPTED FROM THE NCURSES PACKAGE COPYRIGHT. - * You may freely copy it for use as a template for your own field types. - * If you develop a field type that might be of general use, please send - * it back to the ncurses maintainers for inclusion in the next version. - */ -/*************************************************************************** -* * -* Author : Per Foreby, perf@efd.lth.se * -* * -***************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fty_ipv4.c,v 1.6 2004/05/29 19:13:48 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Check_IPV4_Field( -| FIELD * field, -| const void * argp) -| -| Description : Validate buffer content to be a valid IP number (Ver. 4) -| -| Return Values : TRUE - field is valid -| FALSE - field is invalid -+--------------------------------------------------------------------------*/ -static bool -Check_IPV4_Field(FIELD *field, const void *argp GCC_UNUSED) -{ - char *bp = field_buffer(field, 0); - int num = 0, len; - unsigned int d1, d2, d3, d4; - - if (isdigit(UChar(*bp))) /* Must start with digit */ - { - num = sscanf(bp, "%u.%u.%u.%u%n", &d1, &d2, &d3, &d4, &len); - if (num == 4) - { - bp += len; /* Make bp point to what sscanf() left */ - while (*bp && isspace(UChar(*bp))) - bp++; /* Allow trailing whitespace */ - } - } - return ((num != 4 || *bp || d1 > 255 || d2 > 255 - || d3 > 255 || d4 > 255) ? FALSE : TRUE); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Check_IPV4_Character( -| int c, -| const void *argp ) -| -| Description : Check a character for unsigned type or period. -| -| Return Values : TRUE - character is valid -| FALSE - character is invalid -+--------------------------------------------------------------------------*/ -static bool -Check_IPV4_Character(int c, const void *argp GCC_UNUSED) -{ - return ((isdigit(UChar(c)) || (c == '.')) ? TRUE : FALSE); -} - -static FIELDTYPE typeIPV4 = -{ - _RESIDENT, - 1, /* this is mutable, so we can't be const */ - (FIELDTYPE *)0, - (FIELDTYPE *)0, - NULL, - NULL, - NULL, - Check_IPV4_Field, - Check_IPV4_Character, - NULL, - NULL -}; - -NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_IPV4 = &typeIPV4; - -/* fty_ipv4.c ends here */ diff --git a/src/libs/ncurses/form/fty_num.c b/src/libs/ncurses/form/fty_num.c deleted file mode 100644 index f7dc90a5a1..0000000000 --- a/src/libs/ncurses/form/fty_num.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * THIS CODE IS SPECIFICALLY EXEMPTED FROM THE NCURSES PACKAGE COPYRIGHT. - * You may freely copy it for use as a template for your own field types. - * If you develop a field type that might be of general use, please send - * it back to the ncurses maintainers for inclusion in the next version. - */ -/*************************************************************************** -* * -* Author : Juergen Pfeifer * -* * -***************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fty_num.c,v 1.22 2005/08/20 18:26:16 tom Exp $") - -#if HAVE_LOCALE_H -#include -#endif - -#if HAVE_LOCALE_H -#define isDecimalPoint(c) ((c) == ((L && L->decimal_point) ? *(L->decimal_point) : '.')) -#else -#define isDecimalPoint(c) ((c) == '.') -#endif - -#if USE_WIDEC_SUPPORT -#define isDigit(c) (iswdigit((wint_t)(c)) || isdigit(UChar(c))) -#else -#define isDigit(c) isdigit(UChar(c)) -#endif - -#define thisARG numericARG - -typedef struct - { - int precision; - double low; - double high; - struct lconv *L; - } -thisARG; - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void *Make_This_Type(va_list * ap) -| -| Description : Allocate structure for numeric type argument. -| -| Return Values : Pointer to argument structure or NULL on error -+--------------------------------------------------------------------------*/ -static void * -Make_This_Type(va_list *ap) -{ - thisARG *argn = (thisARG *) malloc(sizeof(thisARG)); - - if (argn) - { - argn->precision = va_arg(*ap, int); - argn->low = va_arg(*ap, double); - argn->high = va_arg(*ap, double); - -#if HAVE_LOCALE_H - argn->L = localeconv(); -#else - argn->L = NULL; -#endif - } - return (void *)argn; -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void *Copy_This_Type(const void * argp) -| -| Description : Copy structure for numeric type argument. -| -| Return Values : Pointer to argument structure or NULL on error. -+--------------------------------------------------------------------------*/ -static void * -Copy_This_Type(const void *argp) -{ - const thisARG *ap = (const thisARG *)argp; - thisARG *result = (thisARG *) 0; - - if (argp) - { - result = (thisARG *) malloc(sizeof(thisARG)); - if (result) - *result = *ap; - } - return (void *)result; -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void Free_This_Type(void * argp) -| -| Description : Free structure for numeric type argument. -| -| Return Values : - -+--------------------------------------------------------------------------*/ -static void -Free_This_Type(void *argp) -{ - if (argp) - free(argp); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Check_This_Field(FIELD * field, -| const void * argp) -| -| Description : Validate buffer content to be a valid numeric value -| -| Return Values : TRUE - field is valid -| FALSE - field is invalid -+--------------------------------------------------------------------------*/ -static bool -Check_This_Field(FIELD *field, const void *argp) -{ - const thisARG *argn = (const thisARG *)argp; - double low = argn->low; - double high = argn->high; - int prec = argn->precision; - unsigned char *bp = (unsigned char *)field_buffer(field, 0); - char *s = (char *)bp; - double val = 0.0; - struct lconv *L = argn->L; - char buf[64]; - bool result = FALSE; - - while (*bp && *bp == ' ') - bp++; - if (*bp) - { - if (*bp == '-' || *bp == '+') - bp++; -#if USE_WIDEC_SUPPORT - if (*bp) - { - bool blank = FALSE; - int state = 0; - int len; - int n; - wchar_t *list = _nc_Widen_String((char *)bp, &len); - - if (list != 0) - { - result = TRUE; - for (n = 0; n < len; ++n) - { - if (blank) - { - if (list[n] != ' ') - { - result = FALSE; - break; - } - } - else if (list[n] == ' ') - { - blank = TRUE; - } - else if (isDecimalPoint(list[n])) - { - if (++state > 1) - { - result = FALSE; - break; - } - } - else if (!isDigit(list[n])) - { - result = FALSE; - break; - } - } - free(list); - } - } -#else - while (*bp) - { - if (!isdigit(UChar(*bp))) - break; - bp++; - } - if (isDecimalPoint(*bp)) - { - bp++; - while (*bp) - { - if (!isdigit(UChar(*bp))) - break; - bp++; - } - } - while (*bp && *bp == ' ') - bp++; - result = (*bp == '\0'); -#endif - if (result) - { - val = atof(s); - if (low < high) - { - if (val < low || val > high) - result = FALSE; - } - if (result) - { - sprintf(buf, "%.*f", (prec > 0 ? prec : 0), val); - set_field_buffer(field, 0, buf); - } - } - } - return (result); -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Check_This_Character( -| int c, -| const void * argp) -| -| Description : Check a character for the numeric type. -| -| Return Values : TRUE - character is valid -| FALSE - character is invalid -+--------------------------------------------------------------------------*/ -static bool -Check_This_Character(int c, const void *argp) -{ - const thisARG *argn = (const thisARG *)argp; - struct lconv *L = argn->L; - - return ((isDigit(c) || - c == '+' || - c == '-' || - isDecimalPoint(c)) - ? TRUE - : FALSE); -} - -static FIELDTYPE typeTHIS = -{ - _HAS_ARGS | _RESIDENT, - 1, /* this is mutable, so we can't be const */ - (FIELDTYPE *)0, - (FIELDTYPE *)0, - Make_This_Type, - Copy_This_Type, - Free_This_Type, - Check_This_Field, - Check_This_Character, - NULL, - NULL -}; - -NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_NUMERIC = &typeTHIS; - -/* fty_num.c ends here */ diff --git a/src/libs/ncurses/form/fty_regex.c b/src/libs/ncurses/form/fty_regex.c deleted file mode 100644 index 4362f25af4..0000000000 --- a/src/libs/ncurses/form/fty_regex.c +++ /dev/null @@ -1,282 +0,0 @@ - -/* - * THIS CODE IS SPECIFICALLY EXEMPTED FROM THE NCURSES PACKAGE COPYRIGHT. - * You may freely copy it for use as a template for your own field types. - * If you develop a field type that might be of general use, please send - * it back to the ncurses maintainers for inclusion in the next version. - */ -/*************************************************************************** -* * -* Author : Juergen Pfeifer * -* * -***************************************************************************/ - -#include "form.priv.h" - -MODULE_ID("$Id: fty_regex.c,v 1.18 2004/05/29 19:19:09 tom Exp $") - -#if HAVE_REGEX_H_FUNCS /* We prefer POSIX regex */ -#include - -typedef struct - { - regex_t *pRegExp; - unsigned long *refCount; - } -RegExp_Arg; - -#elif HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS -#undef RETURN -static int reg_errno; - -static char * -RegEx_Init(char *instring) -{ - reg_errno = 0; - return instring; -} - -static char * -RegEx_Error(int code) -{ - reg_errno = code; - return 0; -} - -#define INIT register char *sp = RegEx_Init(instring); -#define GETC() (*sp++) -#define PEEKC() (*sp) -#define UNGETC(c) (--sp) -#define RETURN(c) return(c) -#define ERROR(c) return RegEx_Error(c) - -#if HAVE_REGEXP_H_FUNCS -#include -#else -#include -#endif - -typedef struct -{ - char *compiled_expression; - unsigned long *refCount; -} -RegExp_Arg; - -/* Maximum Length we allow for a compiled regular expression */ -#define MAX_RX_LEN (2048) -#define RX_INCREMENT (256) - -#endif - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void *Make_RegularExpression_Type(va_list * ap) -| -| Description : Allocate structure for regex type argument. -| -| Return Values : Pointer to argument structure or NULL on error -+--------------------------------------------------------------------------*/ -static void * -Make_RegularExpression_Type(va_list *ap) -{ -#if HAVE_REGEX_H_FUNCS - char *rx = va_arg(*ap, char *); - RegExp_Arg *preg; - - preg = (RegExp_Arg *)malloc(sizeof(RegExp_Arg)); - - if (preg) - { - if (((preg->pRegExp = (regex_t *) malloc(sizeof(regex_t))) != 0) - && !regcomp(preg->pRegExp, rx, - (REG_EXTENDED | REG_NOSUB | REG_NEWLINE))) - { - preg->refCount = (unsigned long *)malloc(sizeof(unsigned long)); - - *(preg->refCount) = 1; - } - else - { - if (preg->pRegExp) - free(preg->pRegExp); - free(preg); - preg = (RegExp_Arg *)0; - } - } - return ((void *)preg); -#elif HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS - char *rx = va_arg(*ap, char *); - RegExp_Arg *pArg; - - pArg = (RegExp_Arg *)malloc(sizeof(RegExp_Arg)); - - if (pArg) - { - int blen = RX_INCREMENT; - - pArg->compiled_expression = NULL; - pArg->refCount = (unsigned long *)malloc(sizeof(unsigned long)); - - *(pArg->refCount) = 1; - - do - { - char *buf = (char *)malloc(blen); - - if (buf) - { -#if HAVE_REGEXP_H_FUNCS - char *last_pos = compile(rx, buf, &buf[blen], '\0'); - -#else /* HAVE_REGEXPR_H_FUNCS */ - char *last_pos = compile(rx, buf, &buf[blen]); -#endif - if (reg_errno) - { - free(buf); - if (reg_errno == 50) - blen += RX_INCREMENT; - else - { - free(pArg); - pArg = NULL; - break; - } - } - else - { - pArg->compiled_expression = buf; - break; - } - } - } - while (blen <= MAX_RX_LEN); - } - if (pArg && !pArg->compiled_expression) - { - free(pArg); - pArg = NULL; - } - return (void *)pArg; -#else - return 0; -#endif -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void *Copy_RegularExpression_Type( -| const void * argp) -| -| Description : Copy structure for regex type argument. -| -| Return Values : Pointer to argument structure or NULL on error. -+--------------------------------------------------------------------------*/ -static void * -Copy_RegularExpression_Type(const void *argp) -{ -#if (HAVE_REGEX_H_FUNCS | HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS) - const RegExp_Arg *ap = (const RegExp_Arg *)argp; - const RegExp_Arg *result = (const RegExp_Arg *)0; - - if (ap) - { - *(ap->refCount) += 1; - result = ap; - } - return (void *)result; -#else - return 0; -#endif -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static void Free_RegularExpression_Type(void * argp) -| -| Description : Free structure for regex type argument. -| -| Return Values : - -+--------------------------------------------------------------------------*/ -static void -Free_RegularExpression_Type(void *argp) -{ -#if HAVE_REGEX_H_FUNCS | HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS - RegExp_Arg *ap = (RegExp_Arg *)argp; - - if (ap) - { - if (--(*(ap->refCount)) == 0) - { -#if HAVE_REGEX_H_FUNCS - if (ap->pRegExp) - { - free(ap->refCount); - regfree(ap->pRegExp); - } -#elif HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS - if (ap->compiled_expression) - { - free(ap->refCount); - free(ap->compiled_expression); - } -#endif - free(ap); - } - } -#endif -} - -/*--------------------------------------------------------------------------- -| Facility : libnform -| Function : static bool Check_RegularExpression_Field( -| FIELD * field, -| const void * argp) -| -| Description : Validate buffer content to be a valid regular expression -| -| Return Values : TRUE - field is valid -| FALSE - field is invalid -+--------------------------------------------------------------------------*/ -static bool -Check_RegularExpression_Field(FIELD *field, const void *argp) -{ - bool match = FALSE; - -#if HAVE_REGEX_H_FUNCS - const RegExp_Arg *ap = (const RegExp_Arg *)argp; - - if (ap && ap->pRegExp) - match = (regexec(ap->pRegExp, field_buffer(field, 0), 0, NULL, 0) - ? FALSE - : TRUE); -#elif HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS - RegExp_Arg *ap = (RegExp_Arg *)argp; - - if (ap && ap->compiled_expression) - match = (step(field_buffer(field, 0), ap->compiled_expression) - ? TRUE - : FALSE); -#endif - return match; -} - -static FIELDTYPE typeREGEXP = -{ - _HAS_ARGS | _RESIDENT, - 1, /* this is mutable, so we can't be const */ - (FIELDTYPE *)0, - (FIELDTYPE *)0, - Make_RegularExpression_Type, - Copy_RegularExpression_Type, - Free_RegularExpression_Type, - Check_RegularExpression_Field, - NULL, - NULL, - NULL -}; - -NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_REGEXP = &typeREGEXP; - -/* fty_regex.c ends here */ diff --git a/src/libs/ncurses/form/headers b/src/libs/ncurses/form/headers deleted file mode 100644 index f2267c8722..0000000000 --- a/src/libs/ncurses/form/headers +++ /dev/null @@ -1,31 +0,0 @@ -############################################################################## -# Copyright (c) 1998 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996 -# -$(srcdir)/form.h diff --git a/src/libs/ncurses/form/llib-lform b/src/libs/ncurses/form/llib-lform deleted file mode 100644 index bd7c3a4f1d..0000000000 --- a/src/libs/ncurses/form/llib-lform +++ /dev/null @@ -1,734 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1996,1997,2002,2005 * - ****************************************************************************/ -/* LINTLIBRARY */ - -/* ./f_trace.c */ - -#include "form.priv.h" - -#undef _nc_retrace_field_ptr -FIELD **_nc_retrace_field_ptr( - FIELD **code) - { return(*(FIELD ***)0); } - -#undef _nc_retrace_field -FIELD *_nc_retrace_field( - FIELD *code) - { return(*(FIELD **)0); } - -#undef _nc_retrace_field_type -FIELDTYPE *_nc_retrace_field_type( - FIELDTYPE *code) - { return(*(FIELDTYPE **)0); } - -#undef _nc_retrace_form -FORM *_nc_retrace_form( - FORM *code) - { return(*(FORM **)0); } - -#undef _nc_retrace_form_hook -Form_Hook _nc_retrace_form_hook( - Form_Hook code) - { return(*(Form_Hook *)0); } - -/* ./fld_arg.c */ - -#undef set_fieldtype_arg -int set_fieldtype_arg( - FIELDTYPE *typ, - void *(*const make_arg)( - va_list *p1), - void *(*const copy_arg)( - const void *p1), - void (*const free_arg)( - void *p1)) - { return(*(int *)0); } - -#undef field_arg -void *field_arg( - const FIELD *field) - { return(*(void **)0); } - -/* ./fld_attr.c */ - -#undef set_field_fore -int set_field_fore( - FIELD *field, - chtype attr) - { return(*(int *)0); } - -#undef field_fore -chtype field_fore( - const FIELD *field) - { return(*(chtype *)0); } - -#undef set_field_back -int set_field_back( - FIELD *field, - chtype attr) - { return(*(int *)0); } - -#undef field_back -chtype field_back( - const FIELD *field) - { return(*(chtype *)0); } - -/* ./fld_current.c */ - -#undef set_current_field -int set_current_field( - FORM *form, - FIELD *field) - { return(*(int *)0); } - -#undef current_field -FIELD *current_field( - const FORM *form) - { return(*(FIELD **)0); } - -#undef field_index -int field_index( - const FIELD *field) - { return(*(int *)0); } - -/* ./fld_def.c */ - -#undef _nc_Default_Field -FIELD *_nc_Default_Field; - -#undef _nc_Make_Argument -TypeArgument *_nc_Make_Argument( - const FIELDTYPE *typ, - va_list *ap, - int *err) - { return(*(TypeArgument **)0); } - -#undef _nc_Copy_Argument -TypeArgument *_nc_Copy_Argument( - const FIELDTYPE *typ, - const TypeArgument *argp, - int *err) - { return(*(TypeArgument **)0); } - -#undef _nc_Free_Argument -void _nc_Free_Argument( - const FIELDTYPE *typ, - TypeArgument *argp) - { /* void */ } - -#undef _nc_Copy_Type -NCURSES_BOOL _nc_Copy_Type( - FIELD *dst, - FIELD const *src) - { return(*(NCURSES_BOOL *)0); } - -#undef _nc_Free_Type -void _nc_Free_Type( - FIELD *field) - { /* void */ } - -#undef new_field -FIELD *new_field( - int rows, - int cols, - int frow, - int fcol, - int nrow, - int nbuf) - { return(*(FIELD **)0); } - -#undef free_field -int free_field( - FIELD *field) - { return(*(int *)0); } - -/* ./fld_dup.c */ - -#undef dup_field -FIELD *dup_field( - FIELD *field, - int frow, - int fcol) - { return(*(FIELD **)0); } - -/* ./fld_ftchoice.c */ - -#undef set_fieldtype_choice -int set_fieldtype_choice( - FIELDTYPE *typ, - NCURSES_BOOL (*const next_choice)( - FIELD *p1, - const void *p2), - NCURSES_BOOL (*const prev_choice)( - FIELD *p1, - const void *p2)) - { return(*(int *)0); } - -/* ./fld_ftlink.c */ - -#undef link_fieldtype -FIELDTYPE *link_fieldtype( - FIELDTYPE *type1, - FIELDTYPE *type2) - { return(*(FIELDTYPE **)0); } - -/* ./fld_info.c */ - -#undef field_info -int field_info( - const FIELD *field, - int *rows, - int *cols, - int *frow, - int *fcol, - int *nrow, - int *nbuf) - { return(*(int *)0); } - -#undef dynamic_field_info -int dynamic_field_info( - const FIELD *field, - int *drows, - int *dcols, - int *maxgrow) - { return(*(int *)0); } - -/* ./fld_just.c */ - -#undef set_field_just -int set_field_just( - FIELD *field, - int just) - { return(*(int *)0); } - -#undef field_just -int field_just( - const FIELD *field) - { return(*(int *)0); } - -/* ./fld_link.c */ - -#undef link_field -FIELD *link_field( - FIELD *field, - int frow, - int fcol) - { return(*(FIELD **)0); } - -/* ./fld_max.c */ - -#undef set_max_field -int set_max_field( - FIELD *field, - int maxgrow) - { return(*(int *)0); } - -/* ./fld_move.c */ - -#undef move_field -int move_field( - FIELD *field, - int frow, - int fcol) - { return(*(int *)0); } - -/* ./fld_newftyp.c */ - -#undef _nc_Default_FieldType -const FIELDTYPE *_nc_Default_FieldType = {0}; - -#undef new_fieldtype -FIELDTYPE *new_fieldtype( - NCURSES_BOOL (*const field_check)( - FIELD *p1, - const void *p2), - NCURSES_BOOL (*const char_check)( - int p1, - const void *p2)) - { return(*(FIELDTYPE **)0); } - -#undef free_fieldtype -int free_fieldtype( - FIELDTYPE *typ) - { return(*(int *)0); } - -/* ./fld_opts.c */ - -#undef set_field_opts -int set_field_opts( - FIELD *field, - Field_Options opts) - { return(*(int *)0); } - -#undef field_opts -Field_Options field_opts( - const FIELD *field) - { return(*(Field_Options *)0); } - -#undef field_opts_on -int field_opts_on( - FIELD *field, - Field_Options opts) - { return(*(int *)0); } - -#undef field_opts_off -int field_opts_off( - FIELD *field, - Field_Options opts) - { return(*(int *)0); } - -/* ./fld_pad.c */ - -#undef set_field_pad -int set_field_pad( - FIELD *field, - int ch) - { return(*(int *)0); } - -#undef field_pad -int field_pad( - const FIELD *field) - { return(*(int *)0); } - -/* ./fld_page.c */ - -#undef set_new_page -int set_new_page( - FIELD *field, - NCURSES_BOOL new_page_flag) - { return(*(int *)0); } - -#undef new_page -NCURSES_BOOL new_page( - const FIELD *field) - { return(*(NCURSES_BOOL *)0); } - -/* ./fld_stat.c */ - -#undef set_field_status -int set_field_status( - FIELD *field, - NCURSES_BOOL status) - { return(*(int *)0); } - -#undef field_status -NCURSES_BOOL field_status( - const FIELD *field) - { return(*(NCURSES_BOOL *)0); } - -/* ./fld_type.c */ - -#undef set_field_type -int set_field_type( - FIELD *field, - FIELDTYPE *type, - ...) - { return(*(int *)0); } - -#undef field_type -FIELDTYPE *field_type( - const FIELD *field) - { return(*(FIELDTYPE **)0); } - -/* ./fld_user.c */ - -#undef set_field_userptr -int set_field_userptr( - FIELD *field, - void *usrptr) - { return(*(int *)0); } - -#undef field_userptr -void *field_userptr( - const FIELD *field) - { return(*(void **)0); } - -/* ./frm_cursor.c */ - -#undef pos_form_cursor -int pos_form_cursor( - FORM *form) - { return(*(int *)0); } - -/* ./frm_data.c */ - -#undef data_behind -NCURSES_BOOL data_behind( - const FORM *form) - { return(*(NCURSES_BOOL *)0); } - -#undef data_ahead -NCURSES_BOOL data_ahead( - const FORM *form) - { return(*(NCURSES_BOOL *)0); } - -/* ./frm_def.c */ - -#undef _nc_Default_Form -FORM *_nc_Default_Form; - -#undef new_form -FORM *new_form( - FIELD **fields) - { return(*(FORM **)0); } - -#undef free_form -int free_form( - FORM *form) - { return(*(int *)0); } - -#undef set_form_fields -int set_form_fields( - FORM *form, - FIELD **fields) - { return(*(int *)0); } - -#undef form_fields -FIELD **form_fields( - const FORM *form) - { return(*(FIELD ***)0); } - -#undef field_count -int field_count( - const FORM *form) - { return(*(int *)0); } - -/* ./frm_driver.c */ - -#undef _nc_Position_Form_Cursor -int _nc_Position_Form_Cursor( - FORM *form) - { return(*(int *)0); } - -#undef _nc_Refresh_Current_Field -int _nc_Refresh_Current_Field( - FORM *form) - { return(*(int *)0); } - -#undef _nc_Synchronize_Attributes -int _nc_Synchronize_Attributes( - FIELD *field) - { return(*(int *)0); } - -#undef _nc_Synchronize_Options -int _nc_Synchronize_Options( - FIELD *field, - Field_Options newopts) - { return(*(int *)0); } - -#undef _nc_Set_Current_Field -int _nc_Set_Current_Field( - FORM *form, - FIELD *newfield) - { return(*(int *)0); } - -#undef _nc_Internal_Validation -NCURSES_BOOL _nc_Internal_Validation( - FORM *form) - { return(*(NCURSES_BOOL *)0); } - -#undef _nc_First_Active_Field -FIELD *_nc_First_Active_Field( - FORM *form) - { return(*(FIELD **)0); } - -#undef _nc_Set_Form_Page -int _nc_Set_Form_Page( - FORM *form, - int page, - FIELD *field) - { return(*(int *)0); } - -typedef struct -{ - int keycode; - int (*cmd) (FORM *); -} -Binding_Info; - -#undef form_driver -int form_driver( - FORM *form, - int c) - { return(*(int *)0); } - -#undef set_field_buffer -int set_field_buffer( - FIELD *field, - int buffer, - const char *value) - { return(*(int *)0); } - -#undef field_buffer -char *field_buffer( - const FIELD *field, - int buffer) - { return(*(char **)0); } - -/* ./frm_hook.c */ - -#undef set_field_init -int set_field_init( - FORM *form, - Form_Hook func) - { return(*(int *)0); } - -#undef field_init -Form_Hook field_init( - const FORM *form) - { return(*(Form_Hook *)0); } - -#undef set_field_term -int set_field_term( - FORM *form, - Form_Hook func) - { return(*(int *)0); } - -#undef field_term -Form_Hook field_term( - const FORM *form) - { return(*(Form_Hook *)0); } - -#undef set_form_init -int set_form_init( - FORM *form, - Form_Hook func) - { return(*(int *)0); } - -#undef form_init -Form_Hook form_init( - const FORM *form) - { return(*(Form_Hook *)0); } - -#undef set_form_term -int set_form_term( - FORM *form, - Form_Hook func) - { return(*(int *)0); } - -#undef form_term -Form_Hook form_term( - const FORM *form) - { return(*(Form_Hook *)0); } - -/* ./frm_opts.c */ - -#undef set_form_opts -int set_form_opts( - FORM *form, - Form_Options opts) - { return(*(int *)0); } - -#undef form_opts -Form_Options form_opts( - const FORM *form) - { return(*(Form_Options *)0); } - -#undef form_opts_on -int form_opts_on( - FORM *form, - Form_Options opts) - { return(*(int *)0); } - -#undef form_opts_off -int form_opts_off( - FORM *form, - Form_Options opts) - { return(*(int *)0); } - -/* ./frm_page.c */ - -#undef set_form_page -int set_form_page( - FORM *form, - int page) - { return(*(int *)0); } - -#undef form_page -int form_page( - const FORM *form) - { return(*(int *)0); } - -/* ./frm_post.c */ - -#undef post_form -int post_form( - FORM *form) - { return(*(int *)0); } - -#undef unpost_form -int unpost_form( - FORM *form) - { return(*(int *)0); } - -/* ./frm_req_name.c */ - -#undef form_request_name -const char *form_request_name( - int request) - { return(*(const char **)0); } - -#undef form_request_by_name -int form_request_by_name( - const char *str) - { return(*(int *)0); } - -/* ./frm_scale.c */ - -#undef scale_form -int scale_form( - const FORM *form, - int *rows, - int *cols) - { return(*(int *)0); } - -/* ./frm_sub.c */ - -#undef set_form_sub -int set_form_sub( - FORM *form, - WINDOW *win) - { return(*(int *)0); } - -#undef form_sub -WINDOW *form_sub( - const FORM *form) - { return(*(WINDOW **)0); } - -/* ./frm_user.c */ - -#undef set_form_userptr -int set_form_userptr( - FORM *form, - void *usrptr) - { return(*(int *)0); } - -#undef form_userptr -void *form_userptr( - const FORM *form) - { return(*(void **)0); } - -/* ./frm_win.c */ - -#undef set_form_win -int set_form_win( - FORM *form, - WINDOW *win) - { return(*(int *)0); } - -#undef form_win -WINDOW *form_win( - const FORM *form) - { return(*(WINDOW **)0); } - -/* ./fty_alnum.c */ - -typedef struct - { - int width; - } -alnumARG; - -#undef TYPE_ALNUM -FIELDTYPE *TYPE_ALNUM; - -/* ./fty_alpha.c */ - -typedef struct - { - int width; - } -alphaARG; - -#undef TYPE_ALPHA -FIELDTYPE *TYPE_ALPHA; - -/* ./fty_enum.c */ - -typedef struct - { - char **kwds; - int count; - NCURSES_BOOL checkcase; - NCURSES_BOOL checkunique; - } -enumARG; - -#undef TYPE_ENUM -FIELDTYPE *TYPE_ENUM; - -/* ./fty_int.c */ - -typedef struct - { - int precision; - long low; - long high; - } -integerARG; - -#undef TYPE_INTEGER -FIELDTYPE *TYPE_INTEGER; - -/* ./fty_ipv4.c */ -#undef TYPE_IPV4 -FIELDTYPE *TYPE_IPV4; - -/* ./fty_num.c */ - -#include - -typedef struct - { - int precision; - double low; - double high; - struct lconv *L; - } -numericARG; - -#undef TYPE_NUMERIC -FIELDTYPE *TYPE_NUMERIC; - -/* ./fty_regex.c */ - -#include - -typedef struct - { - regex_t *pRegExp; - unsigned long *refCount; - } -RegExp_Arg; - -#undef TYPE_REGEXP -FIELDTYPE *TYPE_REGEXP; diff --git a/src/libs/ncurses/form/llib-lformw b/src/libs/ncurses/form/llib-lformw deleted file mode 100644 index 7690c5b0bd..0000000000 --- a/src/libs/ncurses/form/llib-lformw +++ /dev/null @@ -1,740 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2002,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 2002,2005 * - ****************************************************************************/ -/* LINTLIBRARY */ - -/* ./f_trace.c */ - -#include "form.priv.h" - -#undef _nc_retrace_field_ptr -FIELD **_nc_retrace_field_ptr( - FIELD **code) - { return(*(FIELD ***)0); } - -#undef _nc_retrace_field -FIELD *_nc_retrace_field( - FIELD *code) - { return(*(FIELD **)0); } - -#undef _nc_retrace_field_type -FIELDTYPE *_nc_retrace_field_type( - FIELDTYPE *code) - { return(*(FIELDTYPE **)0); } - -#undef _nc_retrace_form -FORM *_nc_retrace_form( - FORM *code) - { return(*(FORM **)0); } - -#undef _nc_retrace_form_hook -Form_Hook _nc_retrace_form_hook( - Form_Hook code) - { return(*(Form_Hook *)0); } - -/* ./fld_arg.c */ - -#undef set_fieldtype_arg -int set_fieldtype_arg( - FIELDTYPE *typ, - void *(*const make_arg)( - va_list *p1), - void *(*const copy_arg)( - const void *p1), - void (*const free_arg)( - void *p1)) - { return(*(int *)0); } - -#undef field_arg -void *field_arg( - const FIELD *field) - { return(*(void **)0); } - -/* ./fld_attr.c */ - -#undef set_field_fore -int set_field_fore( - FIELD *field, - chtype attr) - { return(*(int *)0); } - -#undef field_fore -chtype field_fore( - const FIELD *field) - { return(*(chtype *)0); } - -#undef set_field_back -int set_field_back( - FIELD *field, - chtype attr) - { return(*(int *)0); } - -#undef field_back -chtype field_back( - const FIELD *field) - { return(*(chtype *)0); } - -/* ./fld_current.c */ - -#undef set_current_field -int set_current_field( - FORM *form, - FIELD *field) - { return(*(int *)0); } - -#undef current_field -FIELD *current_field( - const FORM *form) - { return(*(FIELD **)0); } - -#undef field_index -int field_index( - const FIELD *field) - { return(*(int *)0); } - -/* ./fld_def.c */ - -#undef _nc_Default_Field -FIELD *_nc_Default_Field; - -#undef _nc_Make_Argument -TypeArgument *_nc_Make_Argument( - const FIELDTYPE *typ, - va_list *ap, - int *err) - { return(*(TypeArgument **)0); } - -#undef _nc_Copy_Argument -TypeArgument *_nc_Copy_Argument( - const FIELDTYPE *typ, - const TypeArgument *argp, - int *err) - { return(*(TypeArgument **)0); } - -#undef _nc_Free_Argument -void _nc_Free_Argument( - const FIELDTYPE *typ, - TypeArgument *argp) - { /* void */ } - -#undef _nc_Copy_Type -NCURSES_BOOL _nc_Copy_Type( - FIELD *dst, - FIELD const *src) - { return(*(NCURSES_BOOL *)0); } - -#undef _nc_Free_Type -void _nc_Free_Type( - FIELD *field) - { /* void */ } - -#undef new_field -FIELD *new_field( - int rows, - int cols, - int frow, - int fcol, - int nrow, - int nbuf) - { return(*(FIELD **)0); } - -#undef free_field -int free_field( - FIELD *field) - { return(*(int *)0); } - -/* ./fld_dup.c */ - -#undef dup_field -FIELD *dup_field( - FIELD *field, - int frow, - int fcol) - { return(*(FIELD **)0); } - -/* ./fld_ftchoice.c */ - -#undef set_fieldtype_choice -int set_fieldtype_choice( - FIELDTYPE *typ, - NCURSES_BOOL (*const next_choice)( - FIELD *p1, - const void *p2), - NCURSES_BOOL (*const prev_choice)( - FIELD *p1, - const void *p2)) - { return(*(int *)0); } - -/* ./fld_ftlink.c */ - -#undef link_fieldtype -FIELDTYPE *link_fieldtype( - FIELDTYPE *type1, - FIELDTYPE *type2) - { return(*(FIELDTYPE **)0); } - -/* ./fld_info.c */ - -#undef field_info -int field_info( - const FIELD *field, - int *rows, - int *cols, - int *frow, - int *fcol, - int *nrow, - int *nbuf) - { return(*(int *)0); } - -#undef dynamic_field_info -int dynamic_field_info( - const FIELD *field, - int *drows, - int *dcols, - int *maxgrow) - { return(*(int *)0); } - -/* ./fld_just.c */ - -#undef set_field_just -int set_field_just( - FIELD *field, - int just) - { return(*(int *)0); } - -#undef field_just -int field_just( - const FIELD *field) - { return(*(int *)0); } - -/* ./fld_link.c */ - -#undef link_field -FIELD *link_field( - FIELD *field, - int frow, - int fcol) - { return(*(FIELD **)0); } - -/* ./fld_max.c */ - -#undef set_max_field -int set_max_field( - FIELD *field, - int maxgrow) - { return(*(int *)0); } - -/* ./fld_move.c */ - -#undef move_field -int move_field( - FIELD *field, - int frow, - int fcol) - { return(*(int *)0); } - -/* ./fld_newftyp.c */ - -#undef _nc_Default_FieldType -const FIELDTYPE *_nc_Default_FieldType = {0}; - -#undef new_fieldtype -FIELDTYPE *new_fieldtype( - NCURSES_BOOL (*const field_check)( - FIELD *p1, - const void *p2), - NCURSES_BOOL (*const char_check)( - int p1, - const void *p2)) - { return(*(FIELDTYPE **)0); } - -#undef free_fieldtype -int free_fieldtype( - FIELDTYPE *typ) - { return(*(int *)0); } - -/* ./fld_opts.c */ - -#undef set_field_opts -int set_field_opts( - FIELD *field, - Field_Options opts) - { return(*(int *)0); } - -#undef field_opts -Field_Options field_opts( - const FIELD *field) - { return(*(Field_Options *)0); } - -#undef field_opts_on -int field_opts_on( - FIELD *field, - Field_Options opts) - { return(*(int *)0); } - -#undef field_opts_off -int field_opts_off( - FIELD *field, - Field_Options opts) - { return(*(int *)0); } - -/* ./fld_pad.c */ - -#undef set_field_pad -int set_field_pad( - FIELD *field, - int ch) - { return(*(int *)0); } - -#undef field_pad -int field_pad( - const FIELD *field) - { return(*(int *)0); } - -/* ./fld_page.c */ - -#undef set_new_page -int set_new_page( - FIELD *field, - NCURSES_BOOL new_page_flag) - { return(*(int *)0); } - -#undef new_page -NCURSES_BOOL new_page( - const FIELD *field) - { return(*(NCURSES_BOOL *)0); } - -/* ./fld_stat.c */ - -#undef set_field_status -int set_field_status( - FIELD *field, - NCURSES_BOOL status) - { return(*(int *)0); } - -#undef field_status -NCURSES_BOOL field_status( - const FIELD *field) - { return(*(NCURSES_BOOL *)0); } - -/* ./fld_type.c */ - -#undef set_field_type -int set_field_type( - FIELD *field, - FIELDTYPE *type, - ...) - { return(*(int *)0); } - -#undef field_type -FIELDTYPE *field_type( - const FIELD *field) - { return(*(FIELDTYPE **)0); } - -/* ./fld_user.c */ - -#undef set_field_userptr -int set_field_userptr( - FIELD *field, - void *usrptr) - { return(*(int *)0); } - -#undef field_userptr -void *field_userptr( - const FIELD *field) - { return(*(void **)0); } - -/* ./frm_cursor.c */ - -#undef pos_form_cursor -int pos_form_cursor( - FORM *form) - { return(*(int *)0); } - -/* ./frm_data.c */ - -#undef data_behind -NCURSES_BOOL data_behind( - const FORM *form) - { return(*(NCURSES_BOOL *)0); } - -#undef data_ahead -NCURSES_BOOL data_ahead( - const FORM *form) - { return(*(NCURSES_BOOL *)0); } - -/* ./frm_def.c */ - -#undef _nc_Default_Form -FORM *_nc_Default_Form; - -#undef new_form -FORM *new_form( - FIELD **fields) - { return(*(FORM **)0); } - -#undef free_form -int free_form( - FORM *form) - { return(*(int *)0); } - -#undef set_form_fields -int set_form_fields( - FORM *form, - FIELD **fields) - { return(*(int *)0); } - -#undef form_fields -FIELD **form_fields( - const FORM *form) - { return(*(FIELD ***)0); } - -#undef field_count -int field_count( - const FORM *form) - { return(*(int *)0); } - -/* ./frm_driver.c */ - -#undef _nc_Position_Form_Cursor -int _nc_Position_Form_Cursor( - FORM *form) - { return(*(int *)0); } - -#undef _nc_Refresh_Current_Field -int _nc_Refresh_Current_Field( - FORM *form) - { return(*(int *)0); } - -#undef _nc_Synchronize_Attributes -int _nc_Synchronize_Attributes( - FIELD *field) - { return(*(int *)0); } - -#undef _nc_Synchronize_Options -int _nc_Synchronize_Options( - FIELD *field, - Field_Options newopts) - { return(*(int *)0); } - -#undef _nc_Set_Current_Field -int _nc_Set_Current_Field( - FORM *form, - FIELD *newfield) - { return(*(int *)0); } - -#undef _nc_Internal_Validation -NCURSES_BOOL _nc_Internal_Validation( - FORM *form) - { return(*(NCURSES_BOOL *)0); } - -#undef _nc_First_Active_Field -FIELD *_nc_First_Active_Field( - FORM *form) - { return(*(FIELD **)0); } - -#undef _nc_Set_Form_Page -int _nc_Set_Form_Page( - FORM *form, - int page, - FIELD *field) - { return(*(int *)0); } - -typedef struct -{ - int keycode; - int (*cmd) (FORM *); -} -Binding_Info; - -#undef form_driver -int form_driver( - FORM *form, - int c) - { return(*(int *)0); } - -#undef set_field_buffer -int set_field_buffer( - FIELD *field, - int buffer, - const char *value) - { return(*(int *)0); } - -#undef field_buffer -char *field_buffer( - const FIELD *field, - int buffer) - { return(*(char **)0); } - -#undef _nc_Widen_String -wchar_t *_nc_Widen_String( - char *source, - int *lengthp) - { return(*(wchar_t **)0); } - -/* ./frm_hook.c */ - -#undef set_field_init -int set_field_init( - FORM *form, - Form_Hook func) - { return(*(int *)0); } - -#undef field_init -Form_Hook field_init( - const FORM *form) - { return(*(Form_Hook *)0); } - -#undef set_field_term -int set_field_term( - FORM *form, - Form_Hook func) - { return(*(int *)0); } - -#undef field_term -Form_Hook field_term( - const FORM *form) - { return(*(Form_Hook *)0); } - -#undef set_form_init -int set_form_init( - FORM *form, - Form_Hook func) - { return(*(int *)0); } - -#undef form_init -Form_Hook form_init( - const FORM *form) - { return(*(Form_Hook *)0); } - -#undef set_form_term -int set_form_term( - FORM *form, - Form_Hook func) - { return(*(int *)0); } - -#undef form_term -Form_Hook form_term( - const FORM *form) - { return(*(Form_Hook *)0); } - -/* ./frm_opts.c */ - -#undef set_form_opts -int set_form_opts( - FORM *form, - Form_Options opts) - { return(*(int *)0); } - -#undef form_opts -Form_Options form_opts( - const FORM *form) - { return(*(Form_Options *)0); } - -#undef form_opts_on -int form_opts_on( - FORM *form, - Form_Options opts) - { return(*(int *)0); } - -#undef form_opts_off -int form_opts_off( - FORM *form, - Form_Options opts) - { return(*(int *)0); } - -/* ./frm_page.c */ - -#undef set_form_page -int set_form_page( - FORM *form, - int page) - { return(*(int *)0); } - -#undef form_page -int form_page( - const FORM *form) - { return(*(int *)0); } - -/* ./frm_post.c */ - -#undef post_form -int post_form( - FORM *form) - { return(*(int *)0); } - -#undef unpost_form -int unpost_form( - FORM *form) - { return(*(int *)0); } - -/* ./frm_req_name.c */ - -#undef form_request_name -const char *form_request_name( - int request) - { return(*(const char **)0); } - -#undef form_request_by_name -int form_request_by_name( - const char *str) - { return(*(int *)0); } - -/* ./frm_scale.c */ - -#undef scale_form -int scale_form( - const FORM *form, - int *rows, - int *cols) - { return(*(int *)0); } - -/* ./frm_sub.c */ - -#undef set_form_sub -int set_form_sub( - FORM *form, - WINDOW *win) - { return(*(int *)0); } - -#undef form_sub -WINDOW *form_sub( - const FORM *form) - { return(*(WINDOW **)0); } - -/* ./frm_user.c */ - -#undef set_form_userptr -int set_form_userptr( - FORM *form, - void *usrptr) - { return(*(int *)0); } - -#undef form_userptr -void *form_userptr( - const FORM *form) - { return(*(void **)0); } - -/* ./frm_win.c */ - -#undef set_form_win -int set_form_win( - FORM *form, - WINDOW *win) - { return(*(int *)0); } - -#undef form_win -WINDOW *form_win( - const FORM *form) - { return(*(WINDOW **)0); } - -/* ./fty_alnum.c */ - -typedef struct - { - int width; - } -alnumARG; - -#undef TYPE_ALNUM -FIELDTYPE *TYPE_ALNUM; - -/* ./fty_alpha.c */ - -typedef struct - { - int width; - } -alphaARG; - -#undef TYPE_ALPHA -FIELDTYPE *TYPE_ALPHA; - -/* ./fty_enum.c */ - -typedef struct - { - char **kwds; - int count; - NCURSES_BOOL checkcase; - NCURSES_BOOL checkunique; - } -enumARG; - -#undef TYPE_ENUM -FIELDTYPE *TYPE_ENUM; - -/* ./fty_int.c */ - -typedef struct - { - int precision; - long low; - long high; - } -integerARG; - -#undef TYPE_INTEGER -FIELDTYPE *TYPE_INTEGER; - -/* ./fty_ipv4.c */ -#undef TYPE_IPV4 -FIELDTYPE *TYPE_IPV4; - -/* ./fty_num.c */ - -#include - -typedef struct - { - int precision; - double low; - double high; - struct lconv *L; - } -numericARG; - -#undef TYPE_NUMERIC -FIELDTYPE *TYPE_NUMERIC; - -/* ./fty_regex.c */ - -#include - -typedef struct - { - regex_t *pRegExp; - unsigned long *refCount; - } -RegExp_Arg; - -#undef TYPE_REGEXP -FIELDTYPE *TYPE_REGEXP; diff --git a/src/libs/ncurses/form/modules b/src/libs/ncurses/form/modules deleted file mode 100644 index a11dade0ba..0000000000 --- a/src/libs/ncurses/form/modules +++ /dev/null @@ -1,74 +0,0 @@ -# $Id: modules,v 1.14 2004/12/25 23:29:22 tom Exp $ -############################################################################## -# Copyright (c) 1998,2004 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey -# - -@ base -# Library objects -f_trace lib $(srcdir) $(FORM_PRIV_H) -fld_arg lib $(srcdir) $(FORM_PRIV_H) -fld_attr lib $(srcdir) $(FORM_PRIV_H) -fld_current lib $(srcdir) $(FORM_PRIV_H) -fld_def lib $(srcdir) $(FORM_PRIV_H) -fld_dup lib $(srcdir) $(FORM_PRIV_H) -fld_ftchoice lib $(srcdir) $(FORM_PRIV_H) -fld_ftlink lib $(srcdir) $(FORM_PRIV_H) -fld_info lib $(srcdir) $(FORM_PRIV_H) -fld_just lib $(srcdir) $(FORM_PRIV_H) -fld_link lib $(srcdir) $(FORM_PRIV_H) -fld_max lib $(srcdir) $(FORM_PRIV_H) -fld_move lib $(srcdir) $(FORM_PRIV_H) -fld_newftyp lib $(srcdir) $(FORM_PRIV_H) -fld_opts lib $(srcdir) $(FORM_PRIV_H) -fld_pad lib $(srcdir) $(FORM_PRIV_H) -fld_page lib $(srcdir) $(FORM_PRIV_H) -fld_stat lib $(srcdir) $(FORM_PRIV_H) -fld_type lib $(srcdir) $(FORM_PRIV_H) -fld_user lib $(srcdir) $(FORM_PRIV_H) -frm_cursor lib $(srcdir) $(FORM_PRIV_H) -frm_data lib $(srcdir) $(FORM_PRIV_H) -frm_def lib $(srcdir) $(FORM_PRIV_H) -frm_driver lib $(srcdir) $(FORM_PRIV_H) -frm_hook lib $(srcdir) $(FORM_PRIV_H) -frm_opts lib $(srcdir) $(FORM_PRIV_H) -frm_page lib $(srcdir) $(FORM_PRIV_H) -frm_post lib $(srcdir) $(FORM_PRIV_H) -frm_req_name lib $(srcdir) $(FORM_PRIV_H) -frm_scale lib $(srcdir) $(FORM_PRIV_H) -frm_sub lib $(srcdir) $(FORM_PRIV_H) -frm_user lib $(srcdir) $(FORM_PRIV_H) -frm_win lib $(srcdir) $(FORM_PRIV_H) -fty_alnum lib $(srcdir) $(FORM_PRIV_H) -fty_alpha lib $(srcdir) $(FORM_PRIV_H) -fty_enum lib $(srcdir) $(FORM_PRIV_H) -fty_int lib $(srcdir) $(FORM_PRIV_H) -fty_ipv4 lib $(srcdir) $(FORM_PRIV_H) -fty_num lib $(srcdir) $(FORM_PRIV_H) -fty_regex lib $(srcdir) $(FORM_PRIV_H) diff --git a/src/libs/ncurses/headers.sh b/src/libs/ncurses/headers.sh deleted file mode 100755 index a422cbc25b..0000000000 --- a/src/libs/ncurses/headers.sh +++ /dev/null @@ -1,37 +0,0 @@ -#! /bin/sh -# This shell script is generated by the 'configure' script. It is invoked in a -# subdirectory of the build tree. It generates a sed-script in the parent -# directory that is used to adjust includes for header files that reside in a -# subdirectory of /usr/include, etc. -PRG="" -while test $# != 3 -do -PRG="$PRG $1"; shift -done -DST=$1 -REF=$2 -SRC=$3 -TMPSRC=${TMPDIR-/tmp}/`basename $SRC`$$ -TMPSED=${TMPDIR-/tmp}/headers.sed$$ -echo installing $SRC in $DST -case $DST in -/*/include/*) - END=`basename $DST` - for i in `cat $REF/../*/headers |fgrep -v "#"` - do - NAME=`basename $i` - echo "s/<$NAME>/<$END\/$NAME>/" >> $TMPSED - done - ;; -*) - echo "" >> $TMPSED - ;; -esac -rm -f $TMPSRC -sed -f $TMPSED $SRC > $TMPSRC -NAME=`basename $SRC` -# Just in case someone gzip'd manpages, remove the conflicting copy. -test -f $DST/$NAME.gz && rm -f $DST/$NAME.gz - -eval $PRG $TMPSRC $DST/$NAME -rm -f $TMPSRC $TMPSED diff --git a/src/libs/ncurses/include/Caps b/src/libs/ncurses/include/Caps deleted file mode 100644 index 795f9daa85..0000000000 --- a/src/libs/ncurses/include/Caps +++ /dev/null @@ -1,1264 +0,0 @@ -############################################################################## -# Copyright (c) 1998,2001 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Zeyd M. Ben-Halim 1992,1995 -# and: Eric S. Raymond -# -# $Id: Caps,v 1.35 2002/04/20 15:43:34 tom Exp $ -# -# This is the master termcap/terminfo capability table. -# -# This table is used to generate initializers for tables that drive tic, -# infocmp, and the library compilation code used to support the termcap -# compatibility hack. It is also used to generate the tabular portion of the -# terminfo(5) man page; lines beginning with `#%' are passed through to become -# the terminfo table. -# -# This file has three major sections; a standard-capabilities table, two -# extension-capability tables, and a section of aliases declarations. -# The first two have the same format, as follows: -# -# FILE FORMAT -# -# Column 1: terminfo variable name -# Column 2: terminfo capability name -# Column 3: capability type (boolean, numeric, or string) -# Column 4: termcap capability name -# Column 5: KEY_xxx name, if any, `-' otherwise -# Column 6: value for KEY_xxx name, if any, `-' otherwise -# Column 7: Lead with `Y' if capability should be emitted in termcap -# translations, `-' otherwise -# Column 8: capability description -# -# The codes following [Y-] in column 7 describe the versions of termcap which -# use the given capability. This information is not used by the curses library -# proper; rather, it's there to help the terminfo maintainer avoid emitting -# termcap entry translations that are more than 1023 bytes long (and tank a -# lot of old termcap-using programs). The codes read as follows: -# B = mentioned in the BSD man page for 4.4BSD curses -# C = used by the 4.4BSD curses library -# G = mentioned in the documentation for GNU termcap -# E = used by GNU Emacs -# K = remove this terminfo capability when translating to standard format -# The important codes are C and E. A cap with C or E should be preserved in -# translation if possible. The problem is that preserving all such caps may -# lead to some termcap translations being too long. The termcap maintainer -# has a bit of a juggling act to do...potential problem cases are marked with -# an asterisk (*). -# -# The aliases section has the following format: -# -# Column 1: either `capalias' or `infoalias' -# Column 2: name to be aliased -# Column 3: what name it should translate to. The name IGNORE means it -# should be discarded with a warning message. -# Column 4: name of the extension set (used for compiler warning messages) -# Column 5: capability description (usually an associated terminfo variable) -# -# HANDLING TERMCAP AND TERMINFO EXTENSIONS -# -# There are basically five different ways to handle termcap and terminfo -# extensions: -# -# 1. Don't list the capname here, or list it but comment it out (the latter -# is preferable; someone might want to handle it in the future). If you do -# this, the capability will be treated as unknown and raise a warning from -# the compiler. -# -# 2. Alias it. This is appropriate if the capability has the same meaning -# as an already-supported one. The compiler will handle aliasing, emitting -# an appropriate informational message whenever an alias fires. -# -# 3. List it in the standard table. You almost certainly do *not* want -# to do this -- the capabilities in that one, and their order, have been -# carefully chosen to be SVr4-binary-compatible when they're written out -# as a terminfo object, and breaking this would be bad. It's up the ncurses -# library what to do with the terminfo data after it's read in. -# -# 4. List it in the aliases table with an IGNORE target field. If you -# do this, the capability will be ignored on input (though the user will -# get a warning message about it). -# -# 5. List it in the extensions table. If you do this, the compiler will -# silently accept the capability, but the curses library proper will never -# see it (because it won't be written out as part of the terminfo object -# format). It's up to you what you have the compiler do with it. -# -# There are two opposite reasons to choose option 5. One is when you want -# to eat the capability silently and discard it when doing translations -# to terminfo with tic -I. Some very old obsolete BSD caps like :kn: are -# in this class. Nothing will ever use them again. -# -# More usually, you want the compiler to try to deduce something from the -# capability value that it can use to translate it into your output format. -# You'll need to write custom code, probably in postprocess_termcap() or -# postprocess_terminfo(), to handle the translation. -# -# CONTROLLING ENTRY LENGTH -# -# Notes on specific elisions made to fit translations within 1023 bytes: -# -# Machines with IBM PC-like keyboards want to be able to define the following -# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap- -# only environments for End or Home-Down), key_dc, and key_ic. This is also -# the set of keys the `joe' editor will be upset if it can't see. So don't -# trim those out of the set to be translated to termcap, or various users of -# the termcap file will become irate. -# -# It might look tempting to leave those long init strings out of translations. -# We can't do it (yet); 4.4BSD tput and tset use them. -# -# We retain the sgr capability in translation in spite of the fact that neither -# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are -# hard to understand without it, and (b) the entries in which it is long tend -# to be older types that don't use up a lot of string space on function keys. -# The tic(1) translation code will complain and elide it if it makes a critical -# difference (there is special code in tic to recognize this situation). -# -# Yes, BSD tset(1) uses hpa. We elide hpa/vpa anyway because the motion -# optimizer in BSD curses didn't use them. This omission seems to be the -# single most effective one, it shortened the resolved length of all thirteen -# problem entries in the 9.9.0 version of the terminfo master below critical. -# -# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap -# translations go back over critical if we do this. As 4.4BSD curses fades -# into history and GNU termcap's application base shrinks towards being GNU -# Emacs only, we'll probably elide out some BSD-only capabilities in order -# to buy space for non-essentials Emacs is still using. Capabilities high -# on that hit list: rc, sc, uc. -# -############################################################################# -# -# STANDARD CAPABILITIES -# -#%The following is a complete table of the capabilities included in a -#%terminfo description block and available to terminfo-using code. In each -#%line of the table, -#% -#%The \fBvariable\fR is the name by which the programmer (at the terminfo level) -#%accesses the capability. -#% -#%The \fBcapname\fR is the short name used in the text of the database, -#%and is used by a person updating the database. -#%Whenever possible, capnames are chosen to be the same as or similar to -#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses -#%identical or very similar names). Semantics are also intended to match -#%those of the specification. -#% -#%The termcap code is the old -#%.B termcap -#%capability name (some capabilities are new, and have names which termcap -#%did not originate). -#%.P -#%Capability names have no hard length limit, but an informal limit of 5 -#%characters has been adopted to keep them short and to allow the tabs in -#%the source file -#%.B Caps -#%to line up nicely. -#% -#%Finally, the description field attempts to convey the semantics of the -#%capability. You may find some codes in the description field: -#%.TP -#%(P) -#%indicates that padding may be specified -#%.TP -#%#[1-9] -#%in the description field indicates that the string is passed through tparm with -#%parms as given (#\fIi\fP). -#%.TP -#%(P*) -#%indicates that padding may vary in proportion to the number of -#%lines affected -#%.TP -#%(#\d\fIi\fP\u) -#%indicates the \fIi\fP\uth\d parameter. -#% -#%.PP -#% These are the boolean capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBBooleans name Code\fR -auto_left_margin bw bool bw - - YB-G- cub1 wraps from column 0 to last column -auto_right_margin am bool am - - YBCGE terminal has automatic margins -no_esc_ctlc xsb bool xb - - YBCG- beehive (f1=escape, f2=ctrl C) -ceol_standout_glitch xhp bool xs - - YBCGE standout not erased by overwriting (hp) -eat_newline_glitch xenl bool xn - - YBCGE newline ignored after 80 cols (concept) -erase_overstrike eo bool eo - - YBCG- can erase overstrikes with a blank -generic_type gn bool gn - - YB-G- generic line type -hard_copy hc bool hc - - YBCG- hardcopy terminal -has_meta_key km bool km - - YB-GE Has a meta key (i.e., sets 8th-bit) -has_status_line hs bool hs - - YB-G- has extra status line -insert_null_glitch in bool in - - YBCGE insert mode distinguishes nulls -memory_above da bool da - - YBCG- display may be retained above the screen -memory_below db bool db - - YB-GE display may be retained below the screen -move_insert_mode mir bool mi - - YBCGE safe to move while in insert mode -move_standout_mode msgr bool ms - - YBCGE safe to move while in standout mode -over_strike os bool os - - YBCG- terminal can overstrike -status_line_esc_ok eslok bool es - - YB-G- escape can be used on the status line -dest_tabs_magic_smso xt bool xt - - YBCGE tabs destructive, magic so char (t1061) -tilde_glitch hz bool hz - - YB-GE cannot print ~'s (hazeltine) -transparent_underline ul bool ul - - YBCGE underline character overstrikes -xon_xoff xon bool xo - - YB--- terminal uses xon/xoff handshaking -needs_xon_xoff nxon bool nx - - ----- padding will not work, xon/xoff required -prtr_silent mc5i bool 5i - - ----- printer will not echo on screen -hard_cursor chts bool HC - - ----- cursor is hard to see -non_rev_rmcup nrrmc bool NR - - ----- smcup does not reverse rmcup -no_pad_char npc bool NP - - ----- pad character does not exist -non_dest_scroll_region ndscr bool ND - - ----- scrolling region is non-destructive -can_change ccc bool cc - - ----- terminal can re-define existing colors -back_color_erase bce bool ut - - ----- screen erased with background color -hue_lightness_saturation hls bool hl - - ----- terminal uses only HLS color notation (Tektronix) -col_addr_glitch xhpa bool YA - - ----- only positive motion for hpa/mhpa caps -cr_cancels_micro_mode crxm bool YB - - ----- using cr turns off micro mode -has_print_wheel daisy bool YC - - ----- printer needs operator to change character set -row_addr_glitch xvpa bool YD - - ----- only positive motion for vpa/mvpa caps -semi_auto_right_margin sam bool YE - - ----- printing in last column causes cr -cpi_changes_res cpix bool YF - - ----- changing character pitch changes resolution -lpi_changes_res lpix bool YG - - ----- changing line pitch changes resolution -#%.TE -#%.ad -#% -#%These are the numeric capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBNumeric name Code\fR -columns cols num co - - YBCGE number of columns in a line -init_tabs it num it - - YB-G- tabs initially every # spaces -lines lines num li - - YBCGE number of lines on screen or page -lines_of_memory lm num lm - - YB-G- lines of memory if > line. 0 means varies -magic_cookie_glitch xmc num sg - - YBCGE number of blank characters left by smso or rmso -padding_baud_rate pb num pb - - YB-GE lowest baud rate where padding needed -virtual_terminal vt num vt - - YB--- virtual terminal number (CB/unix) -width_status_line wsl num ws - - YB-G- number of columns in status line -num_labels nlab num Nl - - ----- number of labels on screen -label_height lh num lh - - ----- rows in each label -label_width lw num lw - - ----- columns in each label -max_attributes ma num ma - - YBC-- maximum combined attributes terminal can handle -maximum_windows wnum num MW - - ----- maximum number of defineable windows -# These came in with SVr4's color support -max_colors colors num Co - - ----- maximum number of colors on screen -max_pairs pairs num pa - - ----- maximum number of color-pairs on the screen -no_color_video ncv num NC - - ----- video attributes that cannot be used with colors -#%.TE -#%.ad -#% -#%The following numeric capabilities are present in the SVr4.0 term structure, -#%but are not yet documented in the man page. They came in with SVr4's -#%printer support. -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBNumeric name Code\fR -buffer_capacity bufsz num Ya - - ----- numbers of bytes buffered before printing -dot_vert_spacing spinv num Yb - - ----- spacing of pins vertically in pins per inch -dot_horz_spacing spinh num Yc - - ----- spacing of dots horizontally in dots per inch -max_micro_address maddr num Yd - - ----- maximum value in micro_..._address -max_micro_jump mjump num Ye - - ----- maximum value in parm_..._micro -micro_col_size mcs num Yf - - ----- character step size when in micro mode -micro_line_size mls num Yg - - ----- line step size when in micro mode -number_of_pins npins num Yh - - ----- numbers of pins in print-head -output_res_char orc num Yi - - ----- horizontal resolution in units per line -output_res_line orl num Yj - - ----- vertical resolution in units per line -output_res_horz_inch orhi num Yk - - ----- horizontal resolution in units per inch -output_res_vert_inch orvi num Yl - - ----- vertical resolution in units per inch -print_rate cps num Ym - - ----- print rate in characters per second -wide_char_size widcs num Yn - - ----- character step size when in double wide mode -buttons btns num BT - - ----- number of buttons on mouse -bit_image_entwining bitwin num Yo - - ----- number of passes for each bit-image row -bit_image_type bitype num Yp - - ----- type of bit-image device -#%.TE -#%.ad -#% -#%These are the string capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBString name Code\fR -back_tab cbt str bt - - YBCGE back tab (P) -bell bel str bl - - YB-GE audible signal (bell) (P) -carriage_return cr str cr - - YBCGE carriage return (P*) (P*) -change_scroll_region csr str cs - - YBCGE change region to line #1 to line #2 (P) -clear_all_tabs tbc str ct - - YB-G- clear all tab stops (P) -clear_screen clear str cl - - YBCGE clear screen and home cursor (P*) -clr_eol el str ce - - YBCGE clear to end of line (P) -clr_eos ed str cd - - YBCGE clear to end of screen (P*) -column_address hpa str ch - - -B-GE* horizontal position #1, absolute (P) -command_character cmdch str CC - - YB-G- terminal settable cmd character in prototype !? -cursor_address cup str cm - - YBCGE move to row #1 columns #2 -cursor_down cud1 str do - - YBCGE down one line -cursor_home home str ho - - YBCGE home cursor (if no cup) -cursor_invisible civis str vi - - YB-G- make cursor invisible -cursor_left cub1 str le - - YBCGE move left one space -cursor_mem_address mrcup str CM - - YB-G- memory relative cursor addressing, move to row #1 columns #2 -cursor_normal cnorm str ve - - YBCGE make cursor appear normal (undo civis/cvvis) -cursor_right cuf1 str nd - - YBCGE non-destructive space (move right one space) -cursor_to_ll ll str ll - - YBCGE last line, first column (if no cup) -cursor_up cuu1 str up - - YBCGE up one line -cursor_visible cvvis str vs - - YBCGE make cursor very visible -delete_character dch1 str dc - - YBCGE delete character (P*) -delete_line dl1 str dl - - YBCGE delete line (P*) -dis_status_line dsl str ds - - YB-G- disable status line -down_half_line hd str hd - - YB-G- half a line down -enter_alt_charset_mode smacs str as - - YB-G- start alternate character set (P) -enter_blink_mode blink str mb - - YB-G- turn on blinking -enter_bold_mode bold str md - - YB-G- turn on bold (extra bright) mode -enter_ca_mode smcup str ti - - YBCGE string to start programs using cup -enter_delete_mode smdc str dm - - YBCGE enter delete mode -enter_dim_mode dim str mh - - YB-G- turn on half-bright mode -enter_insert_mode smir str im - - YBCGE enter insert mode -enter_secure_mode invis str mk - - -B-G-* turn on blank mode (characters invisible) -enter_protected_mode prot str mp - - -B-G-* turn on protected mode -enter_reverse_mode rev str mr - - YB-G- turn on reverse video mode -enter_standout_mode smso str so - - YBCGE begin standout mode -enter_underline_mode smul str us - - YBCGE begin underline mode -erase_chars ech str ec - - YB-G- erase #1 characters (P) -exit_alt_charset_mode rmacs str ae - - YB-G- end alternate character set (P) -exit_attribute_mode sgr0 str me - - YB-GE turn off all attributes -exit_ca_mode rmcup str te - - YBCGE strings to end programs using cup -exit_delete_mode rmdc str ed - - YBCGE end delete mode -exit_insert_mode rmir str ei - - YBCGE exit insert mode -exit_standout_mode rmso str se - - YBCGE exit standout mode -exit_underline_mode rmul str ue - - YBCGE exit underline mode -flash_screen flash str vb - - YBCGE visible bell (may not move cursor) -form_feed ff str ff - - YB-G- hardcopy terminal page eject (P*) -from_status_line fsl str fs - - YB-G- return from status line -init_1string is1 str i1 - - YB-G- initialization string -init_2string is2 str is - - YB-G- initialization string -init_3string is3 str i3 - - YB-G- initialization string -init_file if str if - - YB-G- name of initialization file -insert_character ich1 str ic - - YBCGE insert character (P) -insert_line il1 str al - - YBCGE insert line (P*) -insert_padding ip str ip - - YBCGE insert padding after inserted character -key_backspace kbs str kb KEY_BACKSPACE 0407 YB-G- backspace key -key_catab ktbc str ka KEY_CATAB 0526 -B-G-* clear-all-tabs key -key_clear kclr str kC KEY_CLEAR 0515 -B-G-* clear-screen or erase key -key_ctab kctab str kt KEY_CTAB 0525 -B-G-* clear-tab key -key_dc kdch1 str kD KEY_DC 0512 YB-G- delete-character key -key_dl kdl1 str kL KEY_DL 0510 -B-G-* delete-line key -key_down kcud1 str kd KEY_DOWN 0402 YBCGE down-arrow key -key_eic krmir str kM KEY_EIC 0514 -B-G-* sent by rmir or smir in insert mode -key_eol kel str kE KEY_EOL 0517 -B-G-* clear-to-end-of-line key -key_eos ked str kS KEY_EOS 0516 -B-G-* clear-to-end-of-screen key -key_f0 kf0 str k0 KEY_F(0) 0410 YBCGE F0 function key -key_f1 kf1 str k1 KEY_F(1) - YBCGE F1 function key -key_f10 kf10 str k; KEY_F(10) - ----E F10 function key -key_f2 kf2 str k2 KEY_F(2) - YBCGE F2 function key -key_f3 kf3 str k3 KEY_F(3) - YBCGE F3 function key -key_f4 kf4 str k4 KEY_F(4) - YBCGE F4 function key -key_f5 kf5 str k5 KEY_F(5) - YBCGE F5 function key -key_f6 kf6 str k6 KEY_F(6) - YBCGE F6 function key -key_f7 kf7 str k7 KEY_F(7) - YBCGE F7 function key -key_f8 kf8 str k8 KEY_F(8) - YBCGE F8 function key -key_f9 kf9 str k9 KEY_F(9) - YBCGE F9 function key -key_home khome str kh KEY_HOME 0406 YBCGE home key -key_ic kich1 str kI KEY_IC 0513 YB-GE insert-character key -key_il kil1 str kA KEY_IL 0511 -B-G-* insert-line key -key_left kcub1 str kl KEY_LEFT 0404 YBCGE left-arrow key -key_ll kll str kH KEY_LL 0533 YB-G- lower-left key (home down) -key_npage knp str kN KEY_NPAGE 0522 YB-GE next-page key -key_ppage kpp str kP KEY_PPAGE 0523 YB-GE previous-page key -key_right kcuf1 str kr KEY_RIGHT 0405 YBCGE right-arrow key -key_sf kind str kF KEY_SF 0520 -B-G-* scroll-forward key -key_sr kri str kR KEY_SR 0521 -B-G-* scroll-backward key -key_stab khts str kT KEY_STAB 0524 -B-G-* set-tab key -key_up kcuu1 str ku KEY_UP 0403 YBCGE up-arrow key -keypad_local rmkx str ke - - YBCGE leave 'keyboard_transmit' mode -keypad_xmit smkx str ks - - YBCGE enter 'keyboard_transmit' mode -lab_f0 lf0 str l0 - - -B-G-* label on function key f0 if not f0 -lab_f1 lf1 str l1 - - -B-G-* label on function key f1 if not f1 -lab_f10 lf10 str la - - ----- label on function key f10 if not f10 -lab_f2 lf2 str l2 - - -B-G-* label on function key f2 if not f2 -lab_f3 lf3 str l3 - - -B-G-* label on function key f3 if not f3 -lab_f4 lf4 str l4 - - -B-G-* label on function key f4 if not f4 -lab_f5 lf5 str l5 - - -B-G-* label on function key f5 if not f5 -lab_f6 lf6 str l6 - - -B-G-* label on function key f6 if not f6 -lab_f7 lf7 str l7 - - -B-G-* label on function key f7 if not f7 -lab_f8 lf8 str l8 - - -B-G-* label on function key f8 if not f8 -lab_f9 lf9 str l9 - - -B-G-* label on function key f9 if not f9 -meta_off rmm str mo - - YB-G-* turn off meta mode -meta_on smm str mm - - YB-G-* turn on meta mode (8th-bit on) -newline nel str nw - - YB-G-* newline (behave like cr followed by lf) -pad_char pad str pc - - YBCGE padding char (instead of null) -parm_dch dch str DC - - YB-GE delete #1 characters (P*) -parm_delete_line dl str DL - - YBCGE delete #1 lines (P*) -parm_down_cursor cud str DO - - YBCGE down #1 lines (P*) -parm_ich ich str IC - - YB-GE insert #1 characters (P*) -parm_index indn str SF - - YBCG- scroll forward #1 lines (P) -parm_insert_line il str AL - - YBCGE insert #1 lines (P*) -parm_left_cursor cub str LE - - YBCGE move #1 characters to the left (P) -parm_right_cursor cuf str RI - - YBCGE move #1 characters to the right (P*) -parm_rindex rin str SR - - YBCG- scroll back #1 lines (P) -parm_up_cursor cuu str UP - - YBCGE up #1 lines (P*) -pkey_key pfkey str pk - - -B--- program function key #1 to type string #2 -pkey_local pfloc str pl - - -B--- program function key #1 to execute string #2 -pkey_xmit pfx str px - - -B--- program function key #1 to transmit string #2 -print_screen mc0 str ps - - -B-G-* print contents of screen -prtr_off mc4 str pf - - -B-G-* turn off printer -prtr_on mc5 str po - - -B-G-* turn on printer -repeat_char rep str rp - - YB-GE repeat char #1 #2 times (P*) -reset_1string rs1 str r1 - - -B--- reset string -reset_2string rs2 str r2 - - -B--- reset string -reset_3string rs3 str r3 - - -B--- reset string -reset_file rf str rf - - -B--- name of reset file -restore_cursor rc str rc - - YBCG- restore cursor to position of last save_cursor -row_address vpa str cv - - -B-GE* vertical position #1 absolute (P) -save_cursor sc str sc - - YBCG- save current cursor position (P) -scroll_forward ind str sf - - YBCGE scroll text up (P) -scroll_reverse ri str sr - - YBCGE scroll text down (P) -set_attributes sgr str sa - - YB-G- define video attributes #1-#9 (PG9) -set_tab hts str st - - YB-G- set a tab in every row, current columns -set_window wind str wi - - -B-GE current window is lines #1-#2 cols #3-#4 -tab ht str ta - - YBCGE tab to next 8-space hardware tab stop -to_status_line tsl str ts - - YB-G- move to status line, column #1 -underline_char uc str uc - - YBCG- underline char and move past it -up_half_line hu str hu - - YB-G- half a line up -init_prog iprog str iP - - -B--- path name of program for initialization -key_a1 ka1 str K1 KEY_A1 0534 YB-GE upper left of keypad -key_a3 ka3 str K3 KEY_A3 0535 YB-GE upper right of keypad -key_b2 kb2 str K2 KEY_B2 0536 YB-GE center of keypad -key_c1 kc1 str K4 KEY_C1 0537 YB-GE lower left of keypad -key_c3 kc3 str K5 KEY_C3 0540 YB-GE lower right of keypad -prtr_non mc5p str pO - - -B-G-* turn on printer for #1 bytes -# -# SVr1 capabilities stop here. IBM's version of terminfo is the same as -# SVr4 up to this point, but has a different set afterwards. -# -char_padding rmp str rP - - ----- like ip but when in insert mode -acs_chars acsc str ac - - ----- graphics charset pairs, based on vt100 -plab_norm pln str pn - - ----- program label #1 to show string #2 -key_btab kcbt str kB KEY_BTAB 0541 ----- back-tab key -enter_xon_mode smxon str SX - - ----- turn on xon/xoff handshaking -exit_xon_mode rmxon str RX - - ----- turn off xon/xoff handshaking -enter_am_mode smam str SA - - ----- turn on automatic margins -exit_am_mode rmam str RA - - ----- turn off automatic margins -xon_character xonc str XN - - ----- XON character -xoff_character xoffc str XF - - ----- XOFF character -ena_acs enacs str eA - - ----- enable alternate char set -label_on smln str LO - - ----- turn on soft labels -label_off rmln str LF - - ----- turn off soft labels -key_beg kbeg str @1 KEY_BEG 0542 ----- begin key -key_cancel kcan str @2 KEY_CANCEL 0543 ----- cancel key -key_close kclo str @3 KEY_CLOSE 0544 ----- close key -key_command kcmd str @4 KEY_COMMAND 0545 ----- command key -key_copy kcpy str @5 KEY_COPY 0546 ----- copy key -key_create kcrt str @6 KEY_CREATE 0547 ----- create key -key_end kend str @7 KEY_END 0550 ----- end key -key_enter kent str @8 KEY_ENTER 0527 ----- enter/send key -key_exit kext str @9 KEY_EXIT 0551 ----- exit key -key_find kfnd str @0 KEY_FIND 0552 ----- find key -key_help khlp str %1 KEY_HELP 0553 ----- help key -key_mark kmrk str %2 KEY_MARK 0554 ----- mark key -key_message kmsg str %3 KEY_MESSAGE 0555 ----- message key -key_move kmov str %4 KEY_MOVE 0556 ----- move key -key_next knxt str %5 KEY_NEXT 0557 ----- next key -key_open kopn str %6 KEY_OPEN 0560 ----- open key -key_options kopt str %7 KEY_OPTIONS 0561 ----- options key -key_previous kprv str %8 KEY_PREVIOUS 0562 ----- previous key -key_print kprt str %9 KEY_PRINT 0532 ----- print key -key_redo krdo str %0 KEY_REDO 0563 ----- redo key -key_reference kref str &1 KEY_REFERENCE 0564 ----- reference key -key_refresh krfr str &2 KEY_REFRESH 0565 ----- refresh key -key_replace krpl str &3 KEY_REPLACE 0566 ----- replace key -key_restart krst str &4 KEY_RESTART 0567 ----- restart key -key_resume kres str &5 KEY_RESUME 0570 ----- resume key -key_save ksav str &6 KEY_SAVE 0571 ----- save key -key_suspend kspd str &7 KEY_SUSPEND 0627 ----- suspend key -key_undo kund str &8 KEY_UNDO 0630 ----- undo key -key_sbeg kBEG str &9 KEY_SBEG 0572 ----- shifted begin key -key_scancel kCAN str &0 KEY_SCANCEL 0573 ----- shifted cancel key -key_scommand kCMD str *1 KEY_SCOMMAND 0574 ----- shifted command key -key_scopy kCPY str *2 KEY_SCOPY 0575 ----- shifted copy key -key_screate kCRT str *3 KEY_SCREATE 0576 ----- shifted create key -key_sdc kDC str *4 KEY_SDC 0577 ----- shifted delete-character key -key_sdl kDL str *5 KEY_SDL 0600 ----- shifted delete-line key -key_select kslt str *6 KEY_SELECT 0601 ----- select key -key_send kEND str *7 KEY_SEND 0602 ----- shifted end key -key_seol kEOL str *8 KEY_SEOL 0603 ----- shifted clear-to-end-of-line key -key_sexit kEXT str *9 KEY_SEXIT 0604 ----- shifted exit key -key_sfind kFND str *0 KEY_SFIND 0605 ----- shifted find key -key_shelp kHLP str #1 KEY_SHELP 0606 ----- shifted help key -key_shome kHOM str #2 KEY_SHOME 0607 ----- shifted home key -key_sic kIC str #3 KEY_SIC 0610 ----- shifted insert-character key -key_sleft kLFT str #4 KEY_SLEFT 0611 ----- shifted left-arrow key -key_smessage kMSG str %a KEY_SMESSAGE 0612 ----- shifted message key -key_smove kMOV str %b KEY_SMOVE 0613 ----- shifted move key -key_snext kNXT str %c KEY_SNEXT 0614 ----- shifted next key -key_soptions kOPT str %d KEY_SOPTIONS 0615 ----- shifted options key -key_sprevious kPRV str %e KEY_SPREVIOUS 0616 ----- shifted previous key -key_sprint kPRT str %f KEY_SPRINT 0617 ----- shifted print key -key_sredo kRDO str %g KEY_SREDO 0620 ----- shifted redo key -key_sreplace kRPL str %h KEY_SREPLACE 0621 ----- shifted replace key -key_sright kRIT str %i KEY_SRIGHT 0622 ----- shifted right-arrow key -key_srsume kRES str %j KEY_SRSUME 0623 ----- shifted resume key -key_ssave kSAV str !1 KEY_SSAVE 0624 ----- shifted save key -key_ssuspend kSPD str !2 KEY_SSUSPEND 0625 ----- shifted suspend key -key_sundo kUND str !3 KEY_SUNDO 0626 ----- shifted undo key -req_for_input rfi str RF - - ----- send next input char (for ptys) -key_f11 kf11 str F1 KEY_F(11) - ----E F11 function key -key_f12 kf12 str F2 KEY_F(12) - ----E F12 function key -key_f13 kf13 str F3 KEY_F(13) - ----E F13 function key -key_f14 kf14 str F4 KEY_F(14) - ----E F14 function key -key_f15 kf15 str F5 KEY_F(15) - ----E F15 function key -key_f16 kf16 str F6 KEY_F(16) - ----E F16 function key -key_f17 kf17 str F7 KEY_F(17) - ----E F17 function key -key_f18 kf18 str F8 KEY_F(18) - ----E F18 function key -key_f19 kf19 str F9 KEY_F(19) - ----E F19 function key -key_f20 kf20 str FA KEY_F(20) - ----E F20 function key -key_f21 kf21 str FB KEY_F(21) - ----E F21 function key -key_f22 kf22 str FC KEY_F(22) - ----E F22 function key -key_f23 kf23 str FD KEY_F(23) - ----E F23 function key -key_f24 kf24 str FE KEY_F(24) - ----E F24 function key -key_f25 kf25 str FF KEY_F(25) - ----E F25 function key -key_f26 kf26 str FG KEY_F(26) - ----E F26 function key -key_f27 kf27 str FH KEY_F(27) - ----E F27 function key -key_f28 kf28 str FI KEY_F(28) - ----E F28 function key -key_f29 kf29 str FJ KEY_F(29) - ----E F29 function key -key_f30 kf30 str FK KEY_F(30) - ----E F30 function key -key_f31 kf31 str FL KEY_F(31) - ----E F31 function key -key_f32 kf32 str FM KEY_F(32) - ----E F32 function key -key_f33 kf33 str FN KEY_F(33) - ----E F33 function key -key_f34 kf34 str FO KEY_F(34) - ----E F34 function key -key_f35 kf35 str FP KEY_F(35) - ----E F35 function key -key_f36 kf36 str FQ KEY_F(36) - ----E F36 function key -key_f37 kf37 str FR KEY_F(37) - ----E F37 function key -key_f38 kf38 str FS KEY_F(38) - ----E F38 function key -key_f39 kf39 str FT KEY_F(39) - ----E F39 function key -key_f40 kf40 str FU KEY_F(40) - ----E F40 function key -key_f41 kf41 str FV KEY_F(41) - ----E F41 function key -key_f42 kf42 str FW KEY_F(42) - ----E F42 function key -key_f43 kf43 str FX KEY_F(43) - ----E F43 function key -key_f44 kf44 str FY KEY_F(44) - ----E F44 function key -key_f45 kf45 str FZ KEY_F(45) - ----E F45 function key -key_f46 kf46 str Fa KEY_F(46) - ----E F46 function key -key_f47 kf47 str Fb KEY_F(47) - ----E F47 function key -key_f48 kf48 str Fc KEY_F(48) - ----E F48 function key -key_f49 kf49 str Fd KEY_F(49) - ----E F49 function key -key_f50 kf50 str Fe KEY_F(50) - ----E F50 function key -key_f51 kf51 str Ff KEY_F(51) - ----E F51 function key -key_f52 kf52 str Fg KEY_F(52) - ----E F52 function key -key_f53 kf53 str Fh KEY_F(53) - ----E F53 function key -key_f54 kf54 str Fi KEY_F(54) - ----E F54 function key -key_f55 kf55 str Fj KEY_F(55) - ----E F55 function key -key_f56 kf56 str Fk KEY_F(56) - ----E F56 function key -key_f57 kf57 str Fl KEY_F(57) - ----E F57 function key -key_f58 kf58 str Fm KEY_F(58) - ----E F58 function key -key_f59 kf59 str Fn KEY_F(59) - ----E F59 function key -key_f60 kf60 str Fo KEY_F(60) - ----E F60 function key -key_f61 kf61 str Fp KEY_F(61) - ----E F61 function key -key_f62 kf62 str Fq KEY_F(62) - ----E F62 function key -key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key -clr_bol el1 str cb - - ----- Clear to beginning of line -clear_margins mgc str MC - - ----- clear right and left soft margins -set_left_margin smgl str ML - - ----- set left soft margin at current column. See smgl. (ML is not in BSD termcap). -set_right_margin smgr str MR - - ----- set right soft margin at current column -label_format fln str Lf - - ----- label format -set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs -display_clock dclk str DK - - ----- display clock -remove_clock rmclk str RC - - ----- remove clock -create_window cwin str CW - - ----- define a window #1 from #2,#3 to #4,#5 -goto_window wingo str WG - - ----- go to window #1 -hangup hup str HU - - ----- hang-up phone -dial_phone dial str DI - - ----- dial number #1 -quick_dial qdial str QD - - ----- dial number #1 without checking -tone tone str TO - - ----- select touch tone dialing -pulse pulse str PU - - ----- select pulse dialing -flash_hook hook str fh - - ----- flash switch hook -fixed_pause pause str PA - - ----- pause for 2-3 seconds -wait_tone wait str WA - - ----- wait for dial-tone -user0 u0 str u0 - - ----- User string #0 -user1 u1 str u1 - - ----- User string #1 -user2 u2 str u2 - - ----- User string #2 -user3 u3 str u3 - - ----- User string #3 -user4 u4 str u4 - - ----- User string #4 -user5 u5 str u5 - - ----- User string #5 -user6 u6 str u6 - - ----- User string #6 -user7 u7 str u7 - - ----- User string #7 -user8 u8 str u8 - - ----- User string #8 -user9 u9 str u9 - - ----- User string #9 -# -# SVr4 added these capabilities to support color -# -orig_pair op str op - - ----- Set default pair to its original value -orig_colors oc str oc - - ----- Set all color pairs to the original ones -initialize_color initc str Ic - - ----- initialize color #1 to (#2,#3,#4) -initialize_pair initp str Ip - - ----- Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7) -set_color_pair scp str sp - - ----- Set current color pair to #1 -set_foreground setf str Sf - - ----- Set foreground color #1 -set_background setb str Sb - - ----- Set background color #1 -# -# SVr4 added these capabilities to support printers -# -change_char_pitch cpi str ZA - - ----- Change number of characters per inch to #1 -change_line_pitch lpi str ZB - - ----- Change number of lines per inch to #1 -change_res_horz chr str ZC - - ----- Change horizontal resolution to #1 -change_res_vert cvr str ZD - - ----- Change vertical resolution to #1 -define_char defc str ZE - - ----- Define a character #1, #2 dots wide, descender #3 -enter_doublewide_mode swidm str ZF - - ----- Enter double-wide mode -enter_draft_quality sdrfq str ZG - - ----- Enter draft-quality mode -enter_italics_mode sitm str ZH - - ----- Enter italic mode -enter_leftward_mode slm str ZI - - ----- Start leftward carriage motion -enter_micro_mode smicm str ZJ - - ----- Start micro-motion mode -enter_near_letter_quality snlq str ZK - - ----- Enter NLQ mode -enter_normal_quality snrmq str ZL - - ----- Enter normal-quality mode -enter_shadow_mode sshm str ZM - - ----- Enter shadow-print mode -enter_subscript_mode ssubm str ZN - - ----- Enter subscript mode -enter_superscript_mode ssupm str ZO - - ----- Enter superscript mode -enter_upward_mode sum str ZP - - ----- Start upward carriage motion -exit_doublewide_mode rwidm str ZQ - - ----- End double-wide mode -exit_italics_mode ritm str ZR - - ----- End italic mode -exit_leftward_mode rlm str ZS - - ----- End left-motion mode -exit_micro_mode rmicm str ZT - - ----- End micro-motion mode -exit_shadow_mode rshm str ZU - - ----- End shadow-print mode -exit_subscript_mode rsubm str ZV - - ----- End subscript mode -exit_superscript_mode rsupm str ZW - - ----- End superscript mode -exit_upward_mode rum str ZX - - ----- End reverse character motion -micro_column_address mhpa str ZY - - ----- Like column_address in micro mode -micro_down mcud1 str ZZ - - ----- Like cursor_down in micro mode -micro_left mcub1 str Za - - ----- Like cursor_left in micro mode -micro_right mcuf1 str Zb - - ----- Like cursor_right in micro mode -micro_row_address mvpa str Zc - - ----- Like row_address #1 in micro mode -micro_up mcuu1 str Zd - - ----- Like cursor_up in micro mode -order_of_pins porder str Ze - - ----- Match software bits to print-head pins -parm_down_micro mcud str Zf - - ----- Like parm_down_cursor in micro mode -parm_left_micro mcub str Zg - - ----- Like parm_left_cursor in micro mode -parm_right_micro mcuf str Zh - - ----- Like parm_right_cursor in micro mode -parm_up_micro mcuu str Zi - - ----- Like parm_up_cursor in micro mode -select_char_set scs str Zj - - ----- Select character set, #1 -set_bottom_margin smgb str Zk - - ----- Set bottom margin at current line -set_bottom_margin_parm smgbp str Zl - - ----- Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom -set_left_margin_parm smglp str Zm - - ----- Set left (right) margin at column #1 -set_right_margin_parm smgrp str Zn - - ----- Set right margin at column #1 -set_top_margin smgt str Zo - - ----- Set top margin at current line -set_top_margin_parm smgtp str Zp - - ----- Set top (bottom) margin at row #1 -start_bit_image sbim str Zq - - ----- Start printing bit image graphics -start_char_set_def scsd str Zr - - ----- Start character set definition #1, with #2 characters in the set -stop_bit_image rbim str Zs - - ----- Stop printing bit image graphics -stop_char_set_def rcsd str Zt - - ----- End definition of character set #1 -subscript_characters subcs str Zu - - ----- List of subscriptable characters -superscript_characters supcs str Zv - - ----- List of superscriptable characters -these_cause_cr docr str Zw - - ----- Printing any of these characters causes CR -zero_motion zerom str Zx - - ----- No motion for subsequent character -#%.TE -#%.ad -#% -#%The following string capabilities are present in the SVr4.0 term structure, -#%but were originally not documented in the man page. -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw18. -#%\fBVariable Cap- TCap Description\fR -#%\fBString name Code\fR -char_set_names csnm str Zy - - ----- Produce #1'th item from list of character set names -key_mouse kmous str Km KEY_MOUSE 0631 ----- Mouse event has occurred -mouse_info minfo str Mi - - ----- Mouse status information -req_mouse_pos reqmp str RQ - - ----- Request mouse position -get_mouse getm str Gm - - ----- Curses should get button events, parameter #1 not documented. -set_a_foreground setaf str AF - - ----- Set foreground color to #1, using ANSI escape -set_a_background setab str AB - - ----- Set background color to #1, using ANSI escape -pkey_plab pfxl str xl - - ----- Program function key #1 to type string #2 and show string #3 -device_type devt str dv - - ----- Indicate language/codeset support -code_set_init csin str ci - - ----- Init sequence for multiple codesets -set0_des_seq s0ds str s0 - - ----- Shift to codeset 0 (EUC set 0, ASCII) -set1_des_seq s1ds str s1 - - ----- Shift to codeset 1 -set2_des_seq s2ds str s2 - - ----- Shift to codeset 2 -set3_des_seq s3ds str s3 - - ----- Shift to codeset 3 -set_lr_margin smglr str ML - - ----- Set both left and right margins to #1, #2. (ML is not in BSD termcap). -set_tb_margin smgtb str MT - - ----- Sets both top and bottom margins to #1, #2 -bit_image_repeat birep str Xy - - ----- Repeat bit image cell #1 #2 times -bit_image_newline binel str Zz - - ----- Move to next row of the bit image -bit_image_carriage_return bicr str Yv - - ----- Move to beginning of same row -color_names colornm str Yw - - ----- Give name for color #1 -define_bit_image_region defbi str Yx - - ----- Define rectangualar bit image region -end_bit_image_region endbi str Yy - - ----- End a bit-image region -set_color_band setcolor str Yz - - ----- Change to ribbon color #1 -set_page_length slines str YZ - - ----- Set page length to #1 lines -# -# SVr4 added these capabilities for direct PC-clone support -# -display_pc_char dispc str S1 - - ----- Display PC character #1 -enter_pc_charset_mode smpch str S2 - - ----- Enter PC character display mode -exit_pc_charset_mode rmpch str S3 - - ----- Exit PC character display mode -enter_scancode_mode smsc str S4 - - ----- Enter PC scancode mode -exit_scancode_mode rmsc str S5 - - ----- Exit PC scancode mode -pc_term_options pctrm str S6 - - ----- PC terminal options -scancode_escape scesc str S7 - - ----- Escape for scancode emulation -alt_scancode_esc scesa str S8 - - ----- Alternate escape for scancode emulation -#%.TE -#%.ad -#% -#%.in .8i -#%The XSI Curses standard added these. They are some post-4.1 -#%versions of System V curses, e.g., Solaris 2.5 and IRIX 6.x. -#%The \fBncurses\fR termcap names for them are invented; according to the -#%XSI Curses standard, they have no termcap names. If your compiled terminfo -#%entries use these, they may not be binary-compatible with System V terminfo -#%entries after SVr4.1; beware! -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBString name Code\fR -enter_horizontal_hl_mode ehhlm str Xh - - ----- Enter horizontal highlight mode -enter_left_hl_mode elhlm str Xl - - ----- Enter left highlight mode -enter_low_hl_mode elohlm str Xo - - ----- Enter low highlight mode -enter_right_hl_mode erhlm str Xr - - ----- Enter right highlight mode -enter_top_hl_mode ethlm str Xt - - ----- Enter top highlight mode -enter_vertical_hl_mode evhlm str Xv - - ----- Enter vertical highlight mode -set_a_attributes sgr1 str sA - - ----- Define second set of video attributes #1-#6 -set_pglen_inch slength str sL - - ----- YI Set page length to #1 hundredth of an inch -#%.TE -#%.ad -# -# The magic token below tells the tic compiler-generator code that all the caps -# past it should be ignored (not written out) when dumping terminfo objects. It -# also tells the man page table generator not to pass through following lines -# This means we can have obsolete capabilities and pseudo-capabilities that are -# recognized for termcap or terminfo compilation, but not output. -# -# %%-STOP-HERE-%% -# -# Don't move this casually! In fact, don't move it at all unless you're -# either doing it to add System V or XPG4 extensions, or have decided you -# don't care about SVr4 binary compatibility. -# -############################################################################# -# -# TERMCAP EXTENSION CAPABILITIES -# -# The capabilities below are either obsolete or extensions on certain systems. -# They are not used by SVR4 terminfo. Some are used by captoinfo to translate -# termcap sources; the rest are listed for completeness, and in case somebody -# cares about them enough to hack in code that will translate them into -# terminfo capabilities. -# -# The first part of the list is from Ross Ridge's `mytinfo' package -# (comp.sources.unix, volume 26); the variable names and terminfo names (as -# well as the termcap codes) match his list. -# -# This group of codes is not marked obsolete in 4.4BSD, but have no direct -# terminfo equivalents. The rs capability is specially translated to terminfo -# r2, and vice versa, if an entry does not already have an r2. Similarly, -# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2). -# The ug capability is thrown away, but assumed to be whatever sg is if the -# latter is nonzero and we're dumping in termcap format. -# -termcap_init2 OTi2 str i2 - - YB--- secondary initialization string -termcap_reset OTrs str rs - - YB-G- terminal reset string -magic_cookie_glitch_ul OTug num ug - - YBCGE number of blanks left by ul -# -# Obsolete termcap capabilities. Some are used for termcap translation. The -# code uses the 'OT' prefix we put on obsolete capabilities to suppress -# printing them in terminfo source dumps of compiled entries. -# -backspaces_with_bs OTbs bool bs - - YBCGE uses ^H to move left -crt_no_scrolling OTns bool ns - - YBCG- crt cannot scroll -no_correctly_working_cr OTnc bool nc - - YBCG- no way to go to start of line -carriage_return_delay OTdC num dC - - YB-G- pad needed for CR -new_line_delay OTdN num dN - - YB-G- pad needed for LF -linefeed_if_not_lf OTnl str nl - - YBCGE use to move down -backspace_if_not_bs OTbc str bc - - YBCGE move left, if not ^H -# -# GNU termcap library extensions. The GNU termcap file distributed with -# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the -# BSD termcap file. The name clash with terminfo MT is resolved by type -# info; MT is converted to km. -# -gnu_has_meta_key OTMT bool MT - - ----E has meta key -# gnu_tab_width OTtw num tw - - ----E tab width in spaces -# -# GNU termcap *does* include the following extended capability, Only the -# now-obsolete Ann Arbor terminals used it. -# -# gnu_change_scroll_region OTcS str cS - - ---GE alternate set scrolling region -# -# The following comments describe capnames so ancient that I believe no -# software uses them any longer. Some of these have to go because they -# clash with terminfo names in ways that cannot be resolved by type -# information. -# -# These mytinfo codes are not used in the 4.4BSD curses code. They are -# marked obsolete in the 4.4BSD manual pages. -# -# There is one conflict with terminfo; ma is in both. This conflict is -# resolved by type information. -# -# The `ko' capability is translated by special code. It should contain a -# comma-separated list of capabilities for which there are corresponding keys. -# The `kn' code is accepted but ignored. -# -# The `ma' capability seems to have been designed to map between the rogue(2) -# motion keys (including jkhl) and characters emitted by arrow keys on some -# primitive pre-ANSI terminals. It's so obsolete it's fossilized... -# -# Here is a description of memory_lock_above and memory_unlock: -# "You can 'freeze' data on the screen by turning on Memory Lock in a line of -# text. All lines above the cursor's current line become locked in place on -# the screen. Then enter data normally. When the screen fills up, any -# further data entered forces the first line of unfrozen line text to scroll -# under the frozen data. Lines scrolled off the screen are inserted into -# memory immediately preceding the first frozen line." (from the HP 700/96 -# User's manual). VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l. -# -# Applications that use terminfo are supposed to behave as though xr is -# always true. -# -linefeed_is_newline OTNL bool NL - - YB--- move down with \n -# even_parity OTEP bool EP - - -B--- terminal requires even parity -# odd_parity OTOP bool OP - - -B--- terminal requires odd parity -# half_duplex OTHD bool HD - - -B--- terminal is half-duplex -# lower_case_only OTLC bool LC - - -B--- terminal has only lower case -# upper_case_only OTUC bool UC - - -B--- terminal has only upper case -backspace_delay OTdB num dB - - YB-G- padding required for ^H -# form_feed_delay OTdF num dF - - -B-G- padding required for ^L -horizontal_tab_delay OTdT num dT - - YB-G- padding required for ^I -# vertical_tab_delay OTdV num dV - - -B--- padding required for ^V -number_of_function_keys OTkn num kn - - -B-G- count of function keys -other_non_function_keys OTko str ko - - -B-G- list of self-mapped keycaps -arrow_key_map OTma str ma - - YBC-- map arrow keys rogue(1) motion keys -# memory_lock_above OTml str ml - - -B--- lock visible screen memory above the current line -# memory_unlock OTmu str mu - - -B--- unlock visible screen memory above the current line -has_hardware_tabs OTpt bool pt - - YB--- has 8-char tabs invoked with ^I -return_does_clr_eol OTxr bool xr - - YB--- return clears the line -# tek_4025_insert_line OTxx bool xx - - -BC-- Tektronix 4025 insert-line glitch -# -# mytinfo described this as a termcap capability, but it's not listed in the -# 4.4BSD man pages, and not found in the 4.4BSD termcap file. The ncurses -# package, like System V, behaves as though it is always true. -# -# rind_only_at_top OTxq bool xq - - ----- reverse index only works from top line -# -# University of Waterloo termcap extensions (as described in mytinfo). -# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot -# be resolved by a type check. The descriptions are guesses from what was -# in the mytinfo tables. -# -# key_interrupt_char OTki str ki - - ----- string set by interrupt key (?) -# key_kill_char OTkk str kk - - ----- string set by kill key (?) -# key_suspend_char OTkz str kz - - ----- string set by suspend key (?) -# initialization_messy OTxc bool xc - - ----- initialization leaves garbage on the screen (?) -# ind_at_bottom_does_cr OTxl bool xl - - ----- index does a carriage return -# -# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package. -# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type -# check. -# -# scroll_left OTsl1 str Sl - - ----- scroll screen leftward -# scroll_right OTsr1 str Sr - - ----- scroll screen rightward -# parm_scroll_left OTsl str SL - - ----- scroll screen leftward #1 characters -# parm_scroll_right OTsr str SR - - ----- scroll screen rightward #1 characters -# -# The mytinfo capabilities end here. -# -# XENIX extensions: -# -# Xenix defined its own set of forms-drawing capabilities: -# -# cap IBM ASCII description ACS ASCII -# --- ----------- -------------------- ------------- ------ -# G1 191 \277 M-? single upper right ACS_URCORNER -# G2 218 \332 M-Z single upper left ACS_ULCORNER -# G3 192 \300 M-@ single lower left ACS_LLCORNER -# G4 217 \331 M-Y single lower right ACS_LRCORNER -# G5 187 \273 M-; double upper right -# G6 201 \311 M-I double upper left -# G7 200 \310 M-H double lower left -# G8 188 \274 M-< double lower right -# GC 197 \305 M-E single intersection ACS_PLUS _ _ -# GD 194 \302 M-B single down-tick ACS_TTEE | -# GH 196 \304 M-D single horizontal line ACS_HLINE -# GL 180 \264 M-4 single left tick ACS_RTEE -| -# GR 195 \303 M-C single right tick ACS_LTEE |- -# GU 193 \301 M-A single up tick ACS_BTEE _|_ -# GV 179 \263 M-3 single vertical line ACS_VLINE -# Gc 206 \316 M-N double intersection -# Gd 203 \313 M-K double down tick -# Gh 205 \315 M-M double horizontal line -# Gl 204 \204 M-L double left tick -# Gr 185 \271 M-9 double right tick -# Gu 202 \312 M-J double up tick -# Gv 186 \272 M-: double vertical line -# -# The compiler will translate the single-line caps and discard the others -# (via IGNORE aliases further down). We don't want to do normal pad -# translation on these, they're often single-character printable ASCII -# strings that happen to be numerics. There's awk code in parametrized.sh -# that detects the acs_ prefix and uses it to suppress pad translation. -# These terminfo names are invented. -# -acs_ulcorner OTG2 str G2 - - ----- single upper left -acs_llcorner OTG3 str G3 - - ----- single lower left -acs_urcorner OTG1 str G1 - - ----- single upper right -acs_lrcorner OTG4 str G4 - - ----- single lower right -acs_ltee OTGR str GR - - ----- tee pointing right -acs_rtee OTGL str GL - - ----- tee pointing left -acs_btee OTGU str GU - - ----- tee pointing up -acs_ttee OTGD str GD - - ----- tee pointing down -acs_hline OTGH str GH - - ----- single horizontal line -acs_vline OTGV str GV - - ----- single vertical line -acs_plus OTGC str GC - - ----- single intersection -# -############################################################################# -# -# TERMINFO EXTENSION CAPABILITIES -# -# This section is almost all comments. What it's mainly for is to describe -# what capabilities need to be squeezed out to get down to the XSI Curses -# standard set. They are flagged with K. -# -# HP extensions -# -# These extensions follow ptr_non (replacing everything after it) in HP -# terminfo files. Except for memory_lock and memory_unlock, they are -# functionally identical to SVr4 extensions, but they make the binary format -# different. Grrr.... -# -memory_lock meml str ml - - ----K memory lock above -memory_unlock memu str mu - - ----K memory unlock -#plab_norm pln str pn - - ----- program label #1 to show string #2 -#label_on smln str LO - - ----- turn on soft labels -#label_off rmln str LF - - ----- turn off soft labels -#key_f11 kf11 str F1 - - ----- F11 function key -#key_f12 kf12 str F2 - - ----- F12 function key -#key_f13 kf13 str F3 - - ----- F13 function key -#key_f14 kf14 str F4 - - ----- F14 function key -#key_f15 kf15 str F5 - - ----- F15 function key -#key_f16 kf16 str F6 - - ----- F16 function key -#key_f17 kf17 str F7 - - ----- F17 function key -#key_f18 kf18 str F8 - - ----- F18 function key -#key_f19 kf19 str F9 - - ----- F19 function key -#key_f20 kf20 str FA - - ----- F20 function key -#key_f21 kf21 str FB - - ----- F21 function key -#key_f22 kf22 str FC - - ----- F22 function key -#key_f23 kf23 str FD - - ----- F23 function key -#key_f24 kf24 str FE - - ----- F24 function key -#key_f25 kf25 str FF - - ----- F25 function key -#key_f26 kf26 str FG - - ----- F26 function key -#key_f27 kf27 str FH - - ----- F27 function key -#key_f28 kf28 str FI - - ----- F28 function key -#key_f29 kf29 str FJ - - ----- F29 function key -#key_f30 kf30 str FK - - ----- F30 function key -#key_f31 kf31 str FL - - ----- F31 function key -#key_f32 kf32 str FM - - ----- F32 function key -#key_f33 kf33 str FN - - ----- F33 function key -#key_f34 kf34 str FO - - ----- F34 function key -#key_f35 kf35 str FP - - ----- F35 function key -#key_f36 kf36 str FQ - - ----- F36 function key -#key_f37 kf37 str FR - - ----- F37 function key -#key_f38 kf38 str FS - - ----- F38 function key -#key_f39 kf39 str FT - - ----- F39 function key -#key_f40 kf40 str FU - - ----- F40 function key -#key_f41 kf41 str FV - - ----- F41 function key -#key_f42 kf42 str FW - - ----- F42 function key -#key_f43 kf43 str FX - - ----- F43 function key -#key_f44 kf44 str FY - - ----- F44 function key -#key_f45 kf45 str FZ - - ----- F45 function key -#key_f46 kf46 str Fa - - ----- F46 function key -#key_f47 kf47 str Fb - - ----- F47 function key -#key_f48 kf48 str Fc - - ----- F48 function key -#key_f49 kf49 str Fd - - ----- F49 function key -#key_f50 kf50 str Fe - - ----- F50 function key -#key_f51 kf51 str Ff - - ----- F51 function key -#key_f52 kf52 str Fg - - ----- F52 function key -#key_f53 kf53 str Fh - - ----- F53 function key -#key_f54 kf54 str Fi - - ----- F54 function key -#key_f55 kf55 str Fj - - ----- F55 function key -#key_f56 kf56 str Fk - - ----- F56 function key -#key_f57 kf57 str Fl - - ----- F57 function key -#key_f58 kf58 str Fm - - ----- F58 function key -#key_f59 kf59 str Fn - - ----- F59 function key -#key_f60 kf60 str Fo - - ----- F60 function key -#key_f61 kf61 str Fp - - ----- F61 function key -#key_f62 kf62 str Fq - - ----- F62 function key -#key_f63 kf63 str Fr - - ----- F63 function key -# -# IBM extensions -# -# These extensions follow ptr_non (replacing everything after it) in IBM -# terminfo files. -# -# The places in the box[12] capabilities correspond to acsc characters, here is -# the mapping: -# -# box1[0] = ACS_ULCORNER -# box1[1] = ACS_HLINE -# box1[2] = ACS_URCORNER -# box1[3] = ACS_VLINE -# box1[4] = ACS_LRCORNER -# box1[5] = ACS_LLCORNER -# box1[6] = ACS_TTEE -# box1[7] = ACS_RTEE -# box1[8] = ACS_BTEE -# box1[9] = ACS_LTEE -# box1[10] = ACS_PLUS -# -# The box2 characters are the double-line versions of these forms graphics. -# -box_chars_1 box1 str bx - - ----K box characters primary set -#box_chars_2 box2 str by - - ----K box characters secondary set -#box_attr_1 batt1 str Bx - - ----K attributes for box1 -#box_attr_2 batt2 str By - - ----K attributes for box2 -#color_bg_0 colb0 str d0 - - ----K background color 0 -#color_bg_1 colb1 str d1 - - ----K background color 1 -#color_bg_2 colb2 str d2 - - ----K background color 2 -#color_bg_3 colb3 str d3 - - ----K background color 3 -#color_bg_4 colb4 str d4 - - ----K background color 4 -#color_bg_5 colb5 str d5 - - ----K background color 5 -#color_bg_6 colb6 str d6 - - ----K background color 6 -#color_bg_7 colb7 str d7 - - ----K background color 7 -#color_fg_0 colf0 str c0 - - ----K foreground color 0 -#color_fg_1 colf1 str c1 - - ----K foreground color 1 -#color_fg_2 colf2 str c2 - - ----K foreground color 2 -#color_fg_3 colf3 str c3 - - ----K foreground color 3 -#color_fg_4 colf4 str c4 - - ----K foreground color 4 -#color_fg_5 colf5 str c5 - - ----K foreground color 5 -#color_fg_6 colf6 str c6 - - ----K foreground color 6 -#color_fg_7 colf7 str c7 - - ----K foreground color 7 -#font_0 font0 str f0 - - ----- select font 0 -#font_1 font1 str f1 - - ----- select font 1 -#font_2 font2 str f2 - - ----- select font 2 -#font_3 font3 str f3 - - ----- select font 3 -#font_4 font4 str f4 - - ----K select font 4 -#font_5 font5 str f5 - - ----K select font 5 -#font_6 font6 str f6 - - ----K select font 6 -#font_7 font7 str f7 - - ----K select font 7 -#key_back_tab kbtab str k0 - - ----- backtab key -#key_do kdo str ki - - ----K do request key -#key_command kcmd str kd - - ----K command-request key -#key_command_pane kcpn str kW - - ----K command-pane key -#key_end kend str kw - - ----- end key -#key_help khlp str kq - - ----- help key -#key_newline knl str nl - - ----K newline key -#key_next_pane knpn str kv - - ----K next-pane key -#key_prev_cmd kppn str kp - - ----K previous-command key -#key_prev_pane kppn str kV - - ----K previous-pane key -#key_quit kquit str kQ - - ----K quit key -#key_select ksel str kU - - ----- select key -#key_scroll_left kscl str kz - - ----K scroll left -#key_scroll_right kscr str kZ - - ----K scroll right -#key_tab ktab str ko - - ----K tab key -#key_smap_in1 kmpf1 str Kv - - ----K special mapped key 1 input -#key_smap_out1 kmpt1 str KV - - ----K special mapped key 1 output -#key_smap_in2 kmpf2 str Kw - - ----K special mapped key 2 input -#key_smap_out2 kmpt2 str KW - - ----K special mapped key 2 output -#key_smap_in3 kmpf3 str Kx - - ----K special mapped key 3 input -#key_smap_out3 kmpt3 str KX - - ----K special mapped key 3 output -#key_smap_in4 kmpf4 str Ky - - ----K special mapped key 4 input -#key_smap_out4 kmpt4 str KY - - ----K special mapped key 4 output -#key_smap_in5 kmpf5 str Kz - - ----K special mapped key 5 input -#key_smap_out5 kmpt5 str KZ - - ----K special mapped key 5 output -#appl_defined_str apstr str za - - ----K application-defined string -# The key_smap_in[6789] and key_smap_out[6789] capabilities aren't described in -# the IBM manual pages, so the cap name strings are guesses. The terminfo -# names are almost certainly right, the termcap ones almost certainly wrong. -#key_smap_in6 kmpf6 str k! - - ----K special mapped key 6 input -#key_smap_out6 kmpt6 str K@ - - ----K special mapped key 6 output -#key_smap_in7 kmpf7 str k# - - ----K special mapped key 7 input -#key_smap_out7 kmpt7 str K$ - - ----K special mapped key 7 output -#key_smap_in8 kmpf8 str k% - - ----K special mapped key 8 input -#key_smap_out8 kmpt8 str K^ - - ----K special mapped key 8 output -#key_smap_in9 kmpf9 str k& - - ----K special mapped key 9 input -#key_smap_out9 kmpt9 str K* - - ----K special mapped key 9 output -# Undocumented capabilities end here -#key_sf1 ksf1 str S1 - - ----K special function key 1 -#key_sf2 ksf2 str S2 - - ----K special function key 2 -#key_sf3 ksf3 str S3 - - ----K special function key 3 -#key_sf4 ksf4 str S4 - - ----K special function key 4 -#key_sf5 ksf5 str S5 - - ----K special function key 5 -#key_sf6 ksf6 str S6 - - ----K special function key 6 -#key_sf7 ksf7 str S7 - - ----K special function key 7 -#key_sf8 ksf8 str S8 - - ----K special function key 8 -#key_sf9 ksf9 str S9 - - ----K special function key 9 -#key_sf10 ksf10 str SA - - ----K special function key 10 -# AIX version 3 documents different codes for F11, F12 and does not mention -# F13-F64. AIX version 4 uses the same naming for F0-F63 as above. -#key_f11 kf11 str k< - - ----- function key 11 -#key_f12 kf12 str k> - - ----- function key 12 -# Undocumented capabilities end here. -#key_action kact str kJ - - ----K sent by action key -# The IBM docs say these capabilities are for table-drawing, and are -# valid only for aixterm descriptions. -#enter_topline_mode topl str tp - - ----K start top-line mode -#enter_bottom_mode btml str bm - - ----K start bottom-line mode -#enter_rvert_mode rvert str rv - - ----K start right-vertical mode -#enter_lvert_mode lvert str lv - - ----K start left-vertical mode -# -############################################################################# -# -# ALIAS DECLARATIONS -# -# Here we set up aliases for translating extensions into standard terminfo. -# -#---------------------------------- Termcap aliases ------------------------- -# -# BSD aliases: -# -# This is a common error in many termcap files. We'll get notified during -# translation when this (or any other alias) fires. -# -capalias sb sr BSD scroll text down -# -# AT&T extensions: -# -# The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of -# nonstandard capabilities. Its signature is the KM capability, used to name -# some sort of keymap file. EE, BO, CI, CV, XS, DS, FL and FE are in this -# set. Comments in the original, and a little cross-checking with other AT&T -# documentation, seem to establish the following mappings: -# -capalias BO mr AT&T enter_reverse_mode -capalias CI vi AT&T cursor_invisible -capalias CV ve AT&T cursor_normal -capalias DS mh AT&T enter_dim_mode -#capalias EE me AT&T exit_attribute_mode -capalias FE LF AT&T label_on -capalias FL LO AT&T label_off -capalias XS mk AT&T enter_secure_mode -# -# We comment out EE because the conflicting XENIX EE is more common in -# old entries. -# -# XENIX extensions: -# -# These are the ones we know how to translate directly: -# -capalias EE mh XENIX exit_attribute_mode -capalias GE ae XENIX exit_alt_charset_mode -capalias GS as XENIX enter_alt_charset_mode -capalias CF vi XENIX cursor_invis -capalias CO ve XENIX cursor_normal -capalias EN @7 XENIX key_end -capalias HM kh XENIX key_home -capalias LD kL XENIX key_dl -capalias PD kN XENIX key_npage -capalias PN po XENIX prtr_off -capalias PS pf XENIX prtr_on -capalias PU kP XENIX key_ppage -capalias RT @8 XENIX kent -capalias UP ku XENIX kcuu1 -capalias G6 IGNORE XENIX double-ACS_ULCORNER -capalias G7 IGNORE XENIX double-ACS_LLCORNER -capalias G5 IGNORE XENIX double-ACS_URCORNER -capalias G8 IGNORE XENIX double-ACS_LRCORNER -capalias Gr IGNORE XENIX double-ACS_LTEE -capalias Gr IGNORE XENIX double-ACS_RTEE -capalias Gu IGNORE XENIX double-ACS_BTEE -capalias Gd IGNORE XENIX double ACS_TTEE -capalias Gh IGNORE XENIX double-ACS_HLINE -capalias Gv IGNORE XENIX double-ACS_VLINE -capalias Gc IGNORE XENIX double-ACS_PLUS -capalias GG IGNORE XENIX acs-glitch -# -# IBM extensions: -# -capalias kq %1 IBM key_help -# -# Iris extensions: -# -capalias HS mh IRIS enter_dim_mode -# -# Tektronix extensions: -# -capalias KA k; Tek key_f10 -capalias KB F1 Tek key_f11 -capalias KC F2 Tek key_f12 -capalias KD F3 Tek key_f13 -capalias KE F4 Tek key_f14 -capalias KF F5 Tek key_f15 -capalias BC Sb Tek set_background -capalias FC Sf Tek set_foreground -# -# There are also the following: -# -# XENIX XENIX variable name name clash with terminfo? -# ----- ------------------- ------------------------- -# CL key_char_left -# CR key_char_right -# CW key_change_window -# HP ?? -# LF key_linefeed label_off -# NU key_next_unlocked_cell -# PL ?? -# PR ?? -# RC key_recalc remove_clock -# RF key_toggle_ref req_for_input -# WL key_word_left -# WR key_word_right -# -# If you know what any of the question-marked ones mean, please tell us. -# -#--------------------------------- Terminfo aliases ------------------------ -# -# IBM extensions: -# -infoalias font0 s0ds IBM set0_des_seq -infoalias font1 s1ds IBM set1_des_seq -infoalias font2 s2ds IBM set2_des_seq -infoalias font3 s3ds IBM set3_des_seq -infoalias kbtab kcbt IBM key_backtab -infoalias ksel kslt IBM key_select -# -# Some others are identical to SVr4/XPG4 capabilities, in particular: -# kcmd, kend, khlp, and kf11...kf63. -# -############################################################################# -# -# The following sets edit modes for GNU EMACS -# Local Variables: -# case-fold-search:nil -# truncate-lines:t -# End: diff --git a/src/libs/ncurses/include/Caps.aix4 b/src/libs/ncurses/include/Caps.aix4 deleted file mode 100644 index 3f946284d1..0000000000 --- a/src/libs/ncurses/include/Caps.aix4 +++ /dev/null @@ -1,1255 +0,0 @@ -############################################################################## -# Copyright (c) 2001 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas Dickey -# -# $Id: Caps.aix4,v 1.6 2002/07/07 00:00:32 tom Exp $ -# -# This is an adaptation of ncurses' termcap/terminfo capability table, which -# is designed to align with AIX 4.x's terminfo. -# -# This table is used to generate initializers for tables that drive tic, -# infocmp, and the library compilation code used to support the termcap -# compatibility hack. It is also used to generate the tabular portion of the -# terminfo(5) man page; lines beginning with `#%' are passed through to become -# the terminfo table. -# -# This file has three major sections; a standard-capabilities table, two -# extension-capability tables, and a section of aliases declarations. -# The first two have the same format, as follows: -# -# FILE FORMAT -# -# Column 1: terminfo variable name -# Column 2: terminfo capability name -# Column 3: capability type (boolean, numeric, or string) -# Column 4: termcap capability name -# Column 5: KEY_xxx name, if any, `-' otherwise -# Column 6: value for KEY_xxx name, if any, `-' otherwise -# Column 7: Lead with `Y' if capability should be emitted in termcap -# translations, `-' otherwise -# Column 8: capability description -# -# The codes following [Y-] in column 7 describe the versions of termcap which -# use the given capability. This information is not used by the curses library -# proper; rather, it's there to help the terminfo maintainer avoid emitting -# termcap entry translations that are more than 1023 bytes long (and tank a -# lot of old termcap-using programs). The codes read as follows: -# B = mentioned in the BSD man page for 4.4BSD curses -# C = used by the 4.4BSD curses library -# G = mentioned in the documentation for GNU termcap -# E = used by GNU Emacs -# K = remove this terminfo capability when translating to standard format -# The important codes are C and E. A cap with C or E should be preserved in -# translation if possible. The problem is that preserving all such caps may -# lead to some termcap translations being too long. The termcap maintainer -# has a bit of a juggling act to do...potential problem cases are marked with -# an asterisk (*). -# -# The aliases section has the following format: -# -# Column 1: either `capalias' or `infoalias' -# Column 2: name to be aliased -# Column 3: what name it should translate to. The name IGNORE means it -# should be discarded with a warning message. -# Column 4: name of the extension set (used for compiler warning messages) -# Column 5: capability description (usually an associated terminfo variable) -# -# HANDLING TERMCAP AND TERMINFO EXTENSIONS -# -# There are basically five different ways to handle termcap and terminfo -# extensions: -# -# 1. Don't list the capname here, or list it but comment it out (the latter -# is preferable; someone might want to handle it in the future). If you do -# this, the capability will be treated as unknown and raise a warning from -# the compiler. -# -# 2. Alias it. This is appropriate if the capability has the same meaning -# as an already-supported one. The compiler will handle aliasing, emitting -# an appropriate informational message whenever an alias fires. -# -# 3. List it in the standard table. You almost certainly do *not* want -# to do this -- the capabilities in that one, and their order, have been -# carefully chosen to be SVr4-binary-compatible when they're written out -# as a terminfo object, and breaking this would be bad. It's up the ncurses -# library what to do with the terminfo data after it's read in. -# -# 4. List it in the aliases table with an IGNORE target field. If you -# do this, the capability will be ignored on input (though the user will -# get a warning message about it). -# -# 5. List it in the extensions table. If you do this, the compiler will -# silently accept the capability, but the curses library proper will never -# see it (because it won't be written out as part of the terminfo object -# format). It's up to you what you have the compiler do with it. -# -# There are two opposite reasons to choose option 5. One is when you want -# to eat the capability silently and discard it when doing translations -# to terminfo with tic -I. Some very old obsolete BSD caps like :kn: are -# in this class. Nothing will ever use them again. -# -# More usually, you want the compiler to try to deduce something from the -# capability value that it can use to translate it into your output format. -# You'll need to write custom code, probably in postprocess_termcap() or -# postprocess_terminfo(), to handle the translation. -# -# CONTROLLING ENTRY LENGTH -# -# Notes on specific elisions made to fit translations within 1023 bytes: -# -# Machines with IBM PC-like keyboards want to be able to define the following -# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap- -# only environments for End or Home-Down), key_dc, and key_ic. This is also -# the set of keys the `joe' editor will be upset if it can't see. So don't -# trim those out of the set to be translated to termcap, or various users of -# the termcap file will become irate. -# -# It might look tempting to leave those long init strings out of translations. -# We can't do it (yet); 4.4BSD tput and tset use them. -# -# We retain the sgr capability in translation in spite of the fact that neither -# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are -# hard to understand without it, and (b) the entries in which it is long tend -# to be older types that don't use up a lot of string space on function keys. -# The tic(1) translation code will complain and elide it if it makes a critical -# difference (there is special code in tic to recognize this situation). -# -# Yes, BSD tset(1) uses hpa. We elide hpa/vpa anyway because the motion -# optimizer in BSD curses didn't use them. This omission seems to be the -# single most effective one, it shortened the resolved length of all thirteen -# problem entries in the 9.9.0 version of the terminfo master below critical. -# -# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap -# translations go back over critical if we do this. As 4.4BSD curses fades -# into history and GNU termcap's application base shrinks towards being GNU -# Emacs only, we'll probably elide out some BSD-only capabilities in order -# to buy space for non-essentials Emacs is still using. Capabilities high -# on that hit list: rc, sc, uc. -# -############################################################################# -# -# STANDARD CAPABILITIES -# -#%The following is a complete table of the capabilities included in a -#%terminfo description block and available to terminfo-using code. In each -#%line of the table, -#% -#%The \fBvariable\fR is the name by which the programmer (at the terminfo level) -#%accesses the capability. -#% -#%The \fBcapname\fR is the short name used in the text of the database, -#%and is used by a person updating the database. -#%Whenever possible, capnames are chosen to be the same as or similar to -#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses -#%identical or very similar names). Semantics are also intended to match -#%those of the specification. -#% -#%The termcap code is the old -#%.B termcap -#%capability name (some capabilities are new, and have names which termcap -#%did not originate). -#%.P -#%Capability names have no hard length limit, but an informal limit of 5 -#%characters has been adopted to keep them short and to allow the tabs in -#%the source file -#%.B Caps -#%to line up nicely. -#% -#%Finally, the description field attempts to convey the semantics of the -#%capability. You may find some codes in the description field: -#%.TP -#%(P) -#%indicates that padding may be specified -#%.TP -#%#[1-9] -#%in the description field indicates that the string is passed through tparm with -#%parms as given (#\fIi\fP). -#%.TP -#%(P*) -#%indicates that padding may vary in proportion to the number of -#%lines affected -#%.TP -#%(#\d\fIi\fP\u) -#%indicates the \fIi\fP\uth\d parameter. -#% -#%.PP -#% These are the boolean capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBBooleans name Code\fR -auto_left_margin bw bool bw - - YB-G- cub1 wraps from column 0 to last column -auto_right_margin am bool am - - YBCGE terminal has automatic margins -no_esc_ctlc xsb bool xb - - YBCG- beehive (f1=escape, f2=ctrl C) -ceol_standout_glitch xhp bool xs - - YBCGE standout not erased by overwriting (hp) -eat_newline_glitch xenl bool xn - - YBCGE newline ignored after 80 cols (concept) -erase_overstrike eo bool eo - - YBCG- can erase overstrikes with a blank -generic_type gn bool gn - - YB-G- generic line type -hard_copy hc bool hc - - YBCG- hardcopy terminal -has_meta_key km bool km - - YB-GE Has a meta key (i.e., sets 8th-bit) -has_status_line hs bool hs - - YB-G- has extra status line -insert_null_glitch in bool in - - YBCGE insert mode distinguishes nulls -memory_above da bool da - - YBCG- display may be retained above the screen -memory_below db bool db - - YB-GE display may be retained below the screen -move_insert_mode mir bool mi - - YBCGE safe to move while in insert mode -move_standout_mode msgr bool ms - - YBCGE safe to move while in standout mode -over_strike os bool os - - YBCG- terminal can overstrike -status_line_esc_ok eslok bool es - - YB-G- escape can be used on the status line -dest_tabs_magic_smso xt bool xt - - YBCGE tabs destructive, magic so char (t1061) -tilde_glitch hz bool hz - - YB-GE cannot print ~'s (hazeltine) -transparent_underline ul bool ul - - YBCGE underline character overstrikes -xon_xoff xon bool xo - - YB--- terminal uses xon/xoff handshaking -needs_xon_xoff nxon bool nx - - ----- padding will not work, xon/xoff required -prtr_silent mc5i bool 5i - - ----- printer will not echo on screen -hard_cursor chts bool HC - - ----- cursor is hard to see -non_rev_rmcup nrrmc bool NR - - ----- smcup does not reverse rmcup -no_pad_char npc bool NP - - ----- pad character does not exist -non_dest_scroll_region ndscr bool ND - - ----- scrolling region is non-destructive -can_change ccc bool cc - - ----- terminal can re-define existing colors -back_color_erase bce bool ut - - ----- screen erased with background color -hue_lightness_saturation hls bool hl - - ----- terminal uses only HLS color notation (Tektronix) -col_addr_glitch xhpa bool YA - - ----- only positive motion for hpa/mhpa caps -cr_cancels_micro_mode crxm bool YB - - ----- using cr turns off micro mode -has_print_wheel daisy bool YC - - ----- printer needs operator to change character set -row_addr_glitch xvpa bool YD - - ----- only positive motion for vpa/mvpa caps -semi_auto_right_margin sam bool YE - - ----- printing in last column causes cr -cpi_changes_res cpix bool YF - - ----- changing character pitch changes resolution -lpi_changes_res lpix bool YG - - ----- changing line pitch changes resolution -#%.TE -#%.ad -#% -#%These are the numeric capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBNumeric name Code\fR -columns cols num co - - YBCGE number of columns in a line -init_tabs it num it - - YB-G- tabs initially every # spaces -lines lines num li - - YBCGE number of lines on screen or page -lines_of_memory lm num lm - - YB-G- lines of memory if > line. 0 means varies -magic_cookie_glitch xmc num sg - - YBCGE number of blank characters left by smso or rmso -padding_baud_rate pb num pb - - YB-GE lowest baud rate where padding needed -virtual_terminal vt num vt - - YB--- virtual terminal number (CB/unix) -width_status_line wsl num ws - - YB-G- number of columns in status line -num_labels nlab num Nl - - ----- number of labels on screen -label_height lh num lh - - ----- rows in each label -label_width lw num lw - - ----- columns in each label -max_attributes ma num ma - - YBC-- maximum combined attributes terminal can handle -maximum_windows wnum num MW - - ----- maximum number of defineable windows -# These came in with SVr4's color support -max_colors colors num Co - - ----- maximum number of colors on screen -max_pairs pairs num pa - - ----- maximum number of color-pairs on the screen -no_color_video ncv num NC - - ----- video attributes that cannot be used with colors -#%.TE -#%.ad -#% -#%The following numeric capabilities are present in the SVr4.0 term structure, -#%but are not yet documented in the man page. They came in with SVr4's -#%printer support. -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBNumeric name Code\fR -buffer_capacity bufsz num Ya - - ----- numbers of bytes buffered before printing -dot_vert_spacing spinv num Yb - - ----- spacing of pins vertically in pins per inch -dot_horz_spacing spinh num Yc - - ----- spacing of dots horizontally in dots per inch -max_micro_address maddr num Yd - - ----- maximum value in micro_..._address -max_micro_jump mjump num Ye - - ----- maximum value in parm_..._micro -micro_col_size mcs num Yf - - ----- character step size when in micro mode -micro_line_size mls num Yg - - ----- line step size when in micro mode -number_of_pins npins num Yh - - ----- numbers of pins in print-head -output_res_char orc num Yi - - ----- horizontal resolution in units per line -output_res_line orl num Yj - - ----- vertical resolution in units per line -output_res_horz_inch orhi num Yk - - ----- horizontal resolution in units per inch -output_res_vert_inch orvi num Yl - - ----- vertical resolution in units per inch -print_rate cps num Ym - - ----- print rate in characters per second -wide_char_size widcs num Yn - - ----- character step size when in double wide mode -buttons btns num BT - - ----- number of buttons on mouse -bit_image_entwining bitwin num Yo - - ----- number of passes for each bit-image row -bit_image_type bitype num Yp - - ----- type of bit-image device -#%.TE -#%.ad -#% -#%These are the string capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBString name Code\fR -back_tab cbt str bt - - YBCGE back tab (P) -bell bel str bl - - YB-GE audible signal (bell) (P) -carriage_return cr str cr - - YBCGE carriage return (P*) (P*) -change_scroll_region csr str cs - - YBCGE change region to line #1 to line #2 (P) -clear_all_tabs tbc str ct - - YB-G- clear all tab stops (P) -clear_screen clear str cl - - YBCGE clear screen and home cursor (P*) -clr_eol el str ce - - YBCGE clear to end of line (P) -clr_eos ed str cd - - YBCGE clear to end of screen (P*) -column_address hpa str ch - - -B-GE* horizontal position #1, absolute (P) -command_character cmdch str CC - - YB-G- terminal settable cmd character in prototype !? -cursor_address cup str cm - - YBCGE move to row #1 columns #2 -cursor_down cud1 str do - - YBCGE down one line -cursor_home home str ho - - YBCGE home cursor (if no cup) -cursor_invisible civis str vi - - YB-G- make cursor invisible -cursor_left cub1 str le - - YBCGE move left one space -cursor_mem_address mrcup str CM - - YB-G- memory relative cursor addressing, move to row #1 columns #2 -cursor_normal cnorm str ve - - YBCGE make cursor appear normal (undo civis/cvvis) -cursor_right cuf1 str nd - - YBCGE non-destructive space (move right one space) -cursor_to_ll ll str ll - - YBCGE last line, first column (if no cup) -cursor_up cuu1 str up - - YBCGE up one line -cursor_visible cvvis str vs - - YBCGE make cursor very visible -delete_character dch1 str dc - - YBCGE delete character (P*) -delete_line dl1 str dl - - YBCGE delete line (P*) -dis_status_line dsl str ds - - YB-G- disable status line -down_half_line hd str hd - - YB-G- half a line down -enter_alt_charset_mode smacs str as - - YB-G- start alternate character set (P) -enter_blink_mode blink str mb - - YB-G- turn on blinking -enter_bold_mode bold str md - - YB-G- turn on bold (extra bright) mode -enter_ca_mode smcup str ti - - YBCGE string to start programs using cup -enter_delete_mode smdc str dm - - YBCGE enter delete mode -enter_dim_mode dim str mh - - YB-G- turn on half-bright mode -enter_insert_mode smir str im - - YBCGE enter insert mode -enter_secure_mode invis str mk - - -B-G-* turn on blank mode (characters invisible) -enter_protected_mode prot str mp - - -B-G-* turn on protected mode -enter_reverse_mode rev str mr - - YB-G- turn on reverse video mode -enter_standout_mode smso str so - - YBCGE begin standout mode -enter_underline_mode smul str us - - YBCGE begin underline mode -erase_chars ech str ec - - YB-G- erase #1 characters (P) -exit_alt_charset_mode rmacs str ae - - YB-G- end alternate character set (P) -exit_attribute_mode sgr0 str me - - YB-GE turn off all attributes -exit_ca_mode rmcup str te - - YBCGE strings to end programs using cup -exit_delete_mode rmdc str ed - - YBCGE end delete mode -exit_insert_mode rmir str ei - - YBCGE exit insert mode -exit_standout_mode rmso str se - - YBCGE exit standout mode -exit_underline_mode rmul str ue - - YBCGE exit underline mode -flash_screen flash str vb - - YBCGE visible bell (may not move cursor) -form_feed ff str ff - - YB-G- hardcopy terminal page eject (P*) -from_status_line fsl str fs - - YB-G- return from status line -init_1string is1 str i1 - - YB-G- initialization string -init_2string is2 str is - - YB-G- initialization string -init_3string is3 str i3 - - YB-G- initialization string -init_file if str if - - YB-G- name of initialization file -insert_character ich1 str ic - - YBCGE insert character (P) -insert_line il1 str al - - YBCGE insert line (P*) -insert_padding ip str ip - - YBCGE insert padding after inserted character -key_backspace kbs str kb KEY_BACKSPACE 0407 YB-G- backspace key -key_catab ktbc str ka KEY_CATAB 0526 -B-G-* clear-all-tabs key -key_clear kclr str kC KEY_CLEAR 0515 -B-G-* clear-screen or erase key -key_ctab kctab str kt KEY_CTAB 0525 -B-G-* clear-tab key -key_dc kdch1 str kD KEY_DC 0512 YB-G- delete-character key -key_dl kdl1 str kL KEY_DL 0510 -B-G-* delete-line key -key_down kcud1 str kd KEY_DOWN 0402 YBCGE down-arrow key -key_eic krmir str kM KEY_EIC 0514 -B-G-* sent by rmir or smir in insert mode -key_eol kel str kE KEY_EOL 0517 -B-G-* clear-to-end-of-line key -key_eos ked str kS KEY_EOS 0516 -B-G-* clear-to-end-of-screen key -key_f0 kf0 str k0 KEY_F(0) 0410 YBCGE F0 function key -key_f1 kf1 str k1 KEY_F(1) - YBCGE F1 function key -key_f10 kf10 str k; KEY_F(10) - ----E F10 function key -key_f2 kf2 str k2 KEY_F(2) - YBCGE F2 function key -key_f3 kf3 str k3 KEY_F(3) - YBCGE F3 function key -key_f4 kf4 str k4 KEY_F(4) - YBCGE F4 function key -key_f5 kf5 str k5 KEY_F(5) - YBCGE F5 function key -key_f6 kf6 str k6 KEY_F(6) - YBCGE F6 function key -key_f7 kf7 str k7 KEY_F(7) - YBCGE F7 function key -key_f8 kf8 str k8 KEY_F(8) - YBCGE F8 function key -key_f9 kf9 str k9 KEY_F(9) - YBCGE F9 function key -key_home khome str kh KEY_HOME 0406 YBCGE home key -key_ic kich1 str kI KEY_IC 0513 YB-GE insert-character key -key_il kil1 str kA KEY_IL 0511 -B-G-* insert-line key -key_left kcub1 str kl KEY_LEFT 0404 YBCGE left-arrow key -key_ll kll str kH KEY_LL 0533 YB-G- lower-left key (home down) -key_npage knp str kN KEY_NPAGE 0522 YB-GE next-page key -key_ppage kpp str kP KEY_PPAGE 0523 YB-GE previous-page key -key_right kcuf1 str kr KEY_RIGHT 0405 YBCGE right-arrow key -key_sf kind str kF KEY_SF 0520 -B-G-* scroll-forward key -key_sr kri str kR KEY_SR 0521 -B-G-* scroll-backward key -key_stab khts str kT KEY_STAB 0524 -B-G-* set-tab key -key_up kcuu1 str ku KEY_UP 0403 YBCGE up-arrow key -keypad_local rmkx str ke - - YBCGE leave 'keyboard_transmit' mode -keypad_xmit smkx str ks - - YBCGE enter 'keyboard_transmit' mode -lab_f0 lf0 str l0 - - -B-G-* label on function key f0 if not f0 -lab_f1 lf1 str l1 - - -B-G-* label on function key f1 if not f1 -lab_f10 lf10 str la - - ----- label on function key f10 if not f10 -lab_f2 lf2 str l2 - - -B-G-* label on function key f2 if not f2 -lab_f3 lf3 str l3 - - -B-G-* label on function key f3 if not f3 -lab_f4 lf4 str l4 - - -B-G-* label on function key f4 if not f4 -lab_f5 lf5 str l5 - - -B-G-* label on function key f5 if not f5 -lab_f6 lf6 str l6 - - -B-G-* label on function key f6 if not f6 -lab_f7 lf7 str l7 - - -B-G-* label on function key f7 if not f7 -lab_f8 lf8 str l8 - - -B-G-* label on function key f8 if not f8 -lab_f9 lf9 str l9 - - -B-G-* label on function key f9 if not f9 -meta_off rmm str mo - - YB-G-* turn off meta mode -meta_on smm str mm - - YB-G-* turn on meta mode (8th-bit on) -newline nel str nw - - YB-G-* newline (behave like cr followed by lf) -pad_char pad str pc - - YBCGE padding char (instead of null) -parm_dch dch str DC - - YB-GE delete #1 characters (P*) -parm_delete_line dl str DL - - YBCGE delete #1 lines (P*) -parm_down_cursor cud str DO - - YBCGE down #1 lines (P*) -parm_ich ich str IC - - YB-GE insert #1 characters (P*) -parm_index indn str SF - - YBCG- scroll forward #1 lines (P) -parm_insert_line il str AL - - YBCGE insert #1 lines (P*) -parm_left_cursor cub str LE - - YBCGE move #1 characters to the left (P) -parm_right_cursor cuf str RI - - YBCGE move #1 characters to the right (P*) -parm_rindex rin str SR - - YBCG- scroll back #1 lines (P) -parm_up_cursor cuu str UP - - YBCGE up #1 lines (P*) -pkey_key pfkey str pk - - -B--- program function key #1 to type string #2 -pkey_local pfloc str pl - - -B--- program function key #1 to execute string #2 -pkey_xmit pfx str px - - -B--- program function key #1 to transmit string #2 -print_screen mc0 str ps - - -B-G-* print contents of screen -prtr_off mc4 str pf - - -B-G-* turn off printer -prtr_on mc5 str po - - -B-G-* turn on printer -repeat_char rep str rp - - YB-GE repeat char #1 #2 times (P*) -reset_1string rs1 str r1 - - -B--- reset string -reset_2string rs2 str r2 - - -B--- reset string -reset_3string rs3 str r3 - - -B--- reset string -reset_file rf str rf - - -B--- name of reset file -restore_cursor rc str rc - - YBCG- restore cursor to position of last save_cursor -row_address vpa str cv - - -B-GE* vertical position #1 absolute (P) -save_cursor sc str sc - - YBCG- save current cursor position (P) -scroll_forward ind str sf - - YBCGE scroll text up (P) -scroll_reverse ri str sr - - YBCGE scroll text down (P) -set_attributes sgr str sa - - YB-G- define video attributes #1-#9 (PG9) -set_tab hts str st - - YB-G- set a tab in every row, current columns -set_window wind str wi - - -B-GE current window is lines #1-#2 cols #3-#4 -tab ht str ta - - YBCGE tab to next 8-space hardware tab stop -to_status_line tsl str ts - - YB-G- move to status line, column #1 -underline_char uc str uc - - YBCG- underline char and move past it -up_half_line hu str hu - - YB-G- half a line up -init_prog iprog str iP - - -B--- path name of program for initialization -key_a1 ka1 str K1 KEY_A1 0534 YB-GE upper left of keypad -key_a3 ka3 str K3 KEY_A3 0535 YB-GE upper right of keypad -key_b2 kb2 str K2 KEY_B2 0536 YB-GE center of keypad -key_c1 kc1 str K4 KEY_C1 0537 YB-GE lower left of keypad -key_c3 kc3 str K5 KEY_C3 0540 YB-GE lower right of keypad -prtr_non mc5p str pO - - -B-G-* turn on printer for #1 bytes -# -# IBM extensions -# -# These extensions follow ptr_non (replacing everything after it) in IBM -# terminfo files. -# -# The places in the box[12] capabilities correspond to acsc characters, here is -# the mapping: -# -# box1[0] = ACS_ULCORNER -# box1[1] = ACS_HLINE -# box1[2] = ACS_URCORNER -# box1[3] = ACS_VLINE -# box1[4] = ACS_LRCORNER -# box1[5] = ACS_LLCORNER -# box1[6] = ACS_TTEE -# box1[7] = ACS_RTEE -# box1[8] = ACS_BTEE -# box1[9] = ACS_LTEE -# box1[10] = ACS_PLUS -# -# The box2 characters are the double-line versions of these forms graphics. -# -box_chars_1 box1 str bx - - ----K box characters primary set -box_chars_2 box2 str by - - ----K box characters secondary set -box_attr_1 batt1 str Bx - - ----K attributes for box1 -box_attr_2 batt2 str By - - ----K attributes for box2 -color_bg_0 colb0 str d0 - - ----K background color 0 -color_bg_1 colb1 str d1 - - ----K background color 1 -color_bg_2 colb2 str d2 - - ----K background color 2 -color_bg_3 colb3 str d3 - - ----K background color 3 -color_bg_4 colb4 str d4 - - ----K background color 4 -color_bg_5 colb5 str d5 - - ----K background color 5 -color_bg_6 colb6 str d6 - - ----K background color 6 -color_bg_7 colb7 str d7 - - ----K background color 7 -color_fg_0 colf0 str c0 - - ----K foreground color 0 -color_fg_1 colf1 str c1 - - ----K foreground color 1 -color_fg_2 colf2 str c2 - - ----K foreground color 2 -color_fg_3 colf3 str c3 - - ----K foreground color 3 -color_fg_4 colf4 str c4 - - ----K foreground color 4 -color_fg_5 colf5 str c5 - - ----K foreground color 5 -color_fg_6 colf6 str c6 - - ----K foreground color 6 -color_fg_7 colf7 str c7 - - ----K foreground color 7 -font_0 font0 str f0 - - ----K select font 0 -font_1 font1 str f1 - - ----K select font 1 -font_2 font2 str f2 - - ----K select font 2 -font_3 font3 str f3 - - ----K select font 3 -font_4 font4 str f4 - - ----K select font 4 -font_5 font5 str f5 - - ----K select font 5 -font_6 font6 str f6 - - ----K select font 6 -font_7 font7 str f7 - - ----K select font 7 -key_back_tab kbtab str k0 - - ----K backtab key -key_do kdo str ki - - ----K do request key -key_command kcmd str kd - - ----K command-request key -key_command_pane kcpn str kW - - ----K command-pane key -key_end kend str kw KEY_END 0550 ----- end key -key_help khlp str kq - - ----- help key -key_newline knl str nl - - ----K newline key -key_next_pane knpn str kv - - ----K next-pane key -key_prev_cmd kppn str kp - - ----K previous-command key -key_prev_pane kppn str kV - - ----K previous-pane key -key_quit kquit str kQ - - ----K quit key -key_select_aix ksel str kU - - ----- select key -key_scroll_left kscl str kz - - ----K scroll left -key_scroll_right kscr str kZ - - ----K scroll right -key_tab ktab str ko - - ----K tab key -key_smap_in1 kmpf1 str Kv - - ----K special mapped key 1 input -key_smap_out1 kmpt1 str KV - - ----K special mapped key 1 output -key_smap_in2 kmpf2 str Kw - - ----K special mapped key 2 input -key_smap_out2 kmpt2 str KW - - ----K special mapped key 2 output -key_smap_in3 kmpf3 str Kx - - ----K special mapped key 3 input -key_smap_out3 kmpt3 str KX - - ----K special mapped key 3 output -key_smap_in4 kmpf4 str Ky - - ----K special mapped key 4 input -key_smap_out4 kmpt4 str KY - - ----K special mapped key 4 output -key_smap_in5 kmpf5 str Kz - - ----K special mapped key 5 input -key_smap_out5 kmpt5 str KZ - - ----K special mapped key 5 output -appl_defined_str apstr str za - - ----K application-defined string -key_smap_in6 kmpf6 str kr - - ----K special mapped key 6 input -key_smap_out6 kmpt6 str KR - - ----K special mapped key 6 output -key_smap_in7 kmpf7 str ks - - ----K special mapped key 7 input -key_smap_out7 kmpt7 str KS - - ----K special mapped key 7 output -key_smap_in8 kmpf8 str kt - - ----K special mapped key 8 input -key_smap_out8 kmpt8 str KT - - ----K special mapped key 8 output -key_smap_in9 kmpf9 str ku - - ----K special mapped key 9 input -key_smap_out9 kmpt9 str KU - - ----K special mapped key 9 output -key_sf1 ksf1 str S1 - - ----K special function key 1 -key_sf2 ksf2 str S2 - - ----K special function key 2 -key_sf3 ksf3 str S3 - - ----K special function key 3 -key_sf4 ksf4 str S4 - - ----K special function key 4 -key_sf5 ksf5 str S5 - - ----K special function key 5 -key_sf6 ksf6 str S6 - - ----K special function key 6 -key_sf7 ksf7 str S7 - - ----K special function key 7 -key_sf8 ksf8 str S8 - - ----K special function key 8 -key_sf9 ksf9 str S9 - - ----K special function key 9 -key_sf10 ksf10 str S0 - - ----K special function key 10 -key_f11 kf11 str F1 KEY_F(11) - ----E F11 function key -key_f12 kf12 str F2 KEY_F(12) - ----E F12 function key -key_f13 kf13 str F3 KEY_F(13) - ----E F13 function key -key_f14 kf14 str F4 KEY_F(14) - ----E F14 function key -key_f15 kf15 str F5 KEY_F(15) - ----E F15 function key -key_f16 kf16 str F6 KEY_F(16) - ----E F16 function key -key_f17 kf17 str F7 KEY_F(17) - ----E F17 function key -key_f18 kf18 str F8 KEY_F(18) - ----E F18 function key -key_f19 kf19 str F9 KEY_F(19) - ----E F19 function key -key_f20 kf20 str FA KEY_F(20) - ----E F20 function key -key_f21 kf21 str FB KEY_F(21) - ----E F21 function key -key_f22 kf22 str FC KEY_F(22) - ----E F22 function key -key_f23 kf23 str FD KEY_F(23) - ----E F23 function key -key_f24 kf24 str FE KEY_F(24) - ----E F24 function key -key_f25 kf25 str FF KEY_F(25) - ----E F25 function key -key_f26 kf26 str FG KEY_F(26) - ----E F26 function key -key_f27 kf27 str FH KEY_F(27) - ----E F27 function key -key_f28 kf28 str FI KEY_F(28) - ----E F28 function key -key_f29 kf29 str FJ KEY_F(29) - ----E F29 function key -key_f30 kf30 str FK KEY_F(30) - ----E F30 function key -key_f31 kf31 str FL KEY_F(31) - ----E F31 function key -key_f32 kf32 str FM KEY_F(32) - ----E F32 function key -key_f33 kf33 str FN KEY_F(33) - ----E F33 function key -key_f34 kf34 str FO KEY_F(34) - ----E F34 function key -key_f35 kf35 str FP KEY_F(35) - ----E F35 function key -key_f36 kf36 str FQ KEY_F(36) - ----E F36 function key -key_f37 kf37 str FR KEY_F(37) - ----E F37 function key -key_f38 kf38 str FS KEY_F(38) - ----E F38 function key -key_f39 kf39 str FT KEY_F(39) - ----E F39 function key -key_f40 kf40 str FU KEY_F(40) - ----E F40 function key -key_f41 kf41 str FV KEY_F(41) - ----E F41 function key -key_f42 kf42 str FW KEY_F(42) - ----E F42 function key -key_f43 kf43 str FX KEY_F(43) - ----E F43 function key -key_f44 kf44 str FY KEY_F(44) - ----E F44 function key -key_f45 kf45 str FZ KEY_F(45) - ----E F45 function key -key_f46 kf46 str Fa KEY_F(46) - ----E F46 function key -key_f47 kf47 str Fb KEY_F(47) - ----E F47 function key -key_f48 kf48 str Fc KEY_F(48) - ----E F48 function key -key_f49 kf49 str Fd KEY_F(49) - ----E F49 function key -key_f50 kf50 str Fe KEY_F(50) - ----E F50 function key -key_f51 kf51 str Ff KEY_F(51) - ----E F51 function key -key_f52 kf52 str Fg KEY_F(52) - ----E F52 function key -key_f53 kf53 str Fh KEY_F(53) - ----E F53 function key -key_f54 kf54 str Fi KEY_F(54) - ----E F54 function key -key_f55 kf55 str Fj KEY_F(55) - ----E F55 function key -key_f56 kf56 str Fk KEY_F(56) - ----E F56 function key -key_f57 kf57 str Fl KEY_F(57) - ----E F57 function key -key_f58 kf58 str Fm KEY_F(58) - ----E F58 function key -key_f59 kf59 str Fn KEY_F(59) - ----E F59 function key -key_f60 kf60 str Fo KEY_F(60) - ----E F60 function key -key_f61 kf61 str Fp KEY_F(61) - ----E F61 function key -key_f62 kf62 str Fq KEY_F(62) - ----E F62 function key -key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key -key_action kact str kJ - - ----K sent by action key - -# The IBM docs say these capabilities are for table-drawing, and are -# valid only for aixterm descriptions. -enter_topline_mode topl str tp - - ----K start top-line mode -enter_bottom_mode btml str bm - - ----K start bottom-line mode -enter_rvert_mode rvert str rv - - ----K start right-vertical mode -enter_lvert_mode lvert str lv - - ----K start left-vertical mode -# -# SVr4 capabilities resume here. Note that key_end is in the IBM-extensions. -# -char_padding rmp str rP - - ----- like ip but when in insert mode -acs_chars acsc str ac - - ----- graphics charset pairs, based on vt100 -plab_norm pln str pn - - ----- program label #1 to show string #2 -key_btab kcbt str kB KEY_BTAB 0541 ----- back-tab key -enter_xon_mode smxon str SX - - ----- turn on xon/xoff handshaking -exit_xon_mode rmxon str RX - - ----- turn off xon/xoff handshaking -enter_am_mode smam str SA - - ----- turn on automatic margins -exit_am_mode rmam str RA - - ----- turn off automatic margins -xon_character xonc str XN - - ----- XON character -xoff_character xoffc str XF - - ----- XOFF character -ena_acs enacs str eA - - ----- enable alternate char set -label_on smln str LO - - ----- turn on soft labels -label_off rmln str LF - - ----- turn off soft labels -key_beg kbeg str @1 KEY_BEG 0542 ----- begin key -key_cancel kcan str @2 KEY_CANCEL 0543 ----- cancel key -key_close kclo str @3 KEY_CLOSE 0544 ----- close key -#key_command kcmd str @4 KEY_COMMAND 0545 ----- command key -key_copy kcpy str @5 KEY_COPY 0546 ----- copy key -key_create kcrt str @6 KEY_CREATE 0547 ----- create key -#key_end kend str @7 KEY_END 0550 ----- end key -key_enter kent str @8 KEY_ENTER 0527 ----- enter/send key -key_exit kext str @9 KEY_EXIT 0551 ----- exit key -key_find kfnd str @0 KEY_FIND 0552 ----- find key -#key_help khlp str %1 KEY_HELP 0553 ----- help key -key_mark kmrk str %2 KEY_MARK 0554 ----- mark key -key_message kmsg str %3 KEY_MESSAGE 0555 ----- message key -key_move kmov str %4 KEY_MOVE 0556 ----- move key -key_next knxt str %5 KEY_NEXT 0557 ----- next key -key_open kopn str %6 KEY_OPEN 0560 ----- open key -key_options kopt str %7 KEY_OPTIONS 0561 ----- options key -key_previous kprv str %8 KEY_PREVIOUS 0562 ----- previous key -key_print kprt str %9 KEY_PRINT 0532 ----- print key -key_redo krdo str %0 KEY_REDO 0563 ----- redo key -key_reference kref str &1 KEY_REFERENCE 0564 ----- reference key -key_refresh krfr str &2 KEY_REFRESH 0565 ----- refresh key -key_replace krpl str &3 KEY_REPLACE 0566 ----- replace key -key_restart krst str &4 KEY_RESTART 0567 ----- restart key -key_resume kres str &5 KEY_RESUME 0570 ----- resume key -key_save ksav str &6 KEY_SAVE 0571 ----- save key -key_suspend kspd str &7 KEY_SUSPEND 0627 ----- suspend key -key_undo kund str &8 KEY_UNDO 0630 ----- undo key -key_sbeg kBEG str &9 KEY_SBEG 0572 ----- shifted begin key -key_scancel kCAN str &0 KEY_SCANCEL 0573 ----- shifted cancel key -key_scommand kCMD str *1 KEY_SCOMMAND 0574 ----- shifted command key -key_scopy kCPY str *2 KEY_SCOPY 0575 ----- shifted copy key -key_screate kCRT str *3 KEY_SCREATE 0576 ----- shifted create key -key_sdc kDC str *4 KEY_SDC 0577 ----- shifted delete-character key -key_sdl kDL str *5 KEY_SDL 0600 ----- shifted delete-line key -key_select kslt str *6 KEY_SELECT 0601 ----- select key -key_send kEND str *7 KEY_SEND 0602 ----- shifted end key -key_seol kEOL str *8 KEY_SEOL 0603 ----- shifted clear-to-end-of-line key -key_sexit kEXT str *9 KEY_SEXIT 0604 ----- shifted exit key -key_sfind kFND str *0 KEY_SFIND 0605 ----- shifted find key -key_shelp kHLP str #1 KEY_SHELP 0606 ----- shifted help key -key_shome kHOM str #2 KEY_SHOME 0607 ----- shifted home key -key_sic kIC str #3 KEY_SIC 0610 ----- shifted insert-character key -key_sleft kLFT str #4 KEY_SLEFT 0611 ----- shifted left-arrow key -key_smessage kMSG str %a KEY_SMESSAGE 0612 ----- shifted message key -key_smove kMOV str %b KEY_SMOVE 0613 ----- shifted move key -key_snext kNXT str %c KEY_SNEXT 0614 ----- shifted next key -key_soptions kOPT str %d KEY_SOPTIONS 0615 ----- shifted options key -key_sprevious kPRV str %e KEY_SPREVIOUS 0616 ----- shifted previous key -key_sprint kPRT str %f KEY_SPRINT 0617 ----- shifted print key -key_sredo kRDO str %g KEY_SREDO 0620 ----- shifted redo key -key_sreplace kRPL str %h KEY_SREPLACE 0621 ----- shifted replace key -key_sright kRIT str %i KEY_SRIGHT 0622 ----- shifted right-arrow key -key_srsume kRES str %j KEY_SRSUME 0623 ----- shifted resume key -key_ssave kSAV str !1 KEY_SSAVE 0624 ----- shifted save key -key_ssuspend kSPD str !2 KEY_SSUSPEND 0625 ----- shifted suspend key -key_sundo kUND str !3 KEY_SUNDO 0626 ----- shifted undo key -req_for_input rfi str RF - - ----- send next input char (for ptys) -clr_bol el1 str cb - - ----- Clear to beginning of line -clear_margins mgc str MC - - ----- clear right and left soft margins -set_left_margin smgl str ML - - ----- set left soft margin at current column. See smgl. (ML is not in BSD termcap). -set_right_margin smgr str MR - - ----- set right soft margin at current column -label_format fln str Lf - - ----- label format -set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs -display_clock dclk str DK - - ----- display clock -remove_clock rmclk str RC - - ----- remove clock -create_window cwin str CW - - ----- define a window #1 from #2,#3 to #4,#5 -goto_window wingo str WG - - ----- go to window #1 -hangup hup str HU - - ----- hang-up phone -dial_phone dial str DI - - ----- dial number #1 -quick_dial qdial str QD - - ----- dial number #1 without checking -tone tone str TO - - ----- select touch tone dialing -pulse pulse str PU - - ----- select pulse dialing -flash_hook hook str fh - - ----- flash switch hook -fixed_pause pause str PA - - ----- pause for 2-3 seconds -wait_tone wait str WA - - ----- wait for dial-tone -user0 u0 str u0 - - ----- User string #0 -user1 u1 str u1 - - ----- User string #1 -user2 u2 str u2 - - ----- User string #2 -user3 u3 str u3 - - ----- User string #3 -user4 u4 str u4 - - ----- User string #4 -user5 u5 str u5 - - ----- User string #5 -user6 u6 str u6 - - ----- User string #6 -user7 u7 str u7 - - ----- User string #7 -user8 u8 str u8 - - ----- User string #8 -user9 u9 str u9 - - ----- User string #9 -# -# SVr4 added these capabilities to support color -# -orig_pair op str op - - ----- Set default pair to its original value -orig_colors oc str oc - - ----- Set all color pairs to the original ones -initialize_color initc str Ic - - ----- initialize color #1 to (#2,#3,#4) -initialize_pair initp str Ip - - ----- Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7) -set_color_pair scp str sp - - ----- Set current color pair to #1 -set_foreground setf str Sf - - ----- Set foreground color #1 -set_background setb str Sb - - ----- Set background color #1 -# -# SVr4 added these capabilities to support printers -# -change_char_pitch cpi str ZA - - ----- Change number of characters per inch to #1 -change_line_pitch lpi str ZB - - ----- Change number of lines per inch to #1 -change_res_horz chr str ZC - - ----- Change horizontal resolution to #1 -change_res_vert cvr str ZD - - ----- Change vertical resolution to #1 -define_char defc str ZE - - ----- Define a character #1, #2 dots wide, descender #3 -enter_doublewide_mode swidm str ZF - - ----- Enter double-wide mode -enter_draft_quality sdrfq str ZG - - ----- Enter draft-quality mode -enter_italics_mode sitm str ZH - - ----- Enter italic mode -enter_leftward_mode slm str ZI - - ----- Start leftward carriage motion -enter_micro_mode smicm str ZJ - - ----- Start micro-motion mode -enter_near_letter_quality snlq str ZK - - ----- Enter NLQ mode -enter_normal_quality snrmq str ZL - - ----- Enter normal-quality mode -enter_shadow_mode sshm str ZM - - ----- Enter shadow-print mode -enter_subscript_mode ssubm str ZN - - ----- Enter subscript mode -enter_superscript_mode ssupm str ZO - - ----- Enter superscript mode -enter_upward_mode sum str ZP - - ----- Start upward carriage motion -exit_doublewide_mode rwidm str ZQ - - ----- End double-wide mode -exit_italics_mode ritm str ZR - - ----- End italic mode -exit_leftward_mode rlm str ZS - - ----- End left-motion mode -exit_micro_mode rmicm str ZT - - ----- End micro-motion mode -exit_shadow_mode rshm str ZU - - ----- End shadow-print mode -exit_subscript_mode rsubm str ZV - - ----- End subscript mode -exit_superscript_mode rsupm str ZW - - ----- End superscript mode -exit_upward_mode rum str ZX - - ----- End reverse character motion -micro_column_address mhpa str ZY - - ----- Like column_address in micro mode -micro_down mcud1 str ZZ - - ----- Like cursor_down in micro mode -micro_left mcub1 str Za - - ----- Like cursor_left in micro mode -micro_right mcuf1 str Zb - - ----- Like cursor_right in micro mode -micro_row_address mvpa str Zc - - ----- Like row_address #1 in micro mode -micro_up mcuu1 str Zd - - ----- Like cursor_up in micro mode -order_of_pins porder str Ze - - ----- Match software bits to print-head pins -parm_down_micro mcud str Zf - - ----- Like parm_down_cursor in micro mode -parm_left_micro mcub str Zg - - ----- Like parm_left_cursor in micro mode -parm_right_micro mcuf str Zh - - ----- Like parm_right_cursor in micro mode -parm_up_micro mcuu str Zi - - ----- Like parm_up_cursor in micro mode -select_char_set scs str Zj - - ----- Select character set, #1 -set_bottom_margin smgb str Zk - - ----- Set bottom margin at current line -set_bottom_margin_parm smgbp str Zl - - ----- Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom -set_left_margin_parm smglp str Zm - - ----- Set left (right) margin at column #1 -set_right_margin_parm smgrp str Zn - - ----- Set right margin at column #1 -set_top_margin smgt str Zo - - ----- Set top margin at current line -set_top_margin_parm smgtp str Zp - - ----- Set top (bottom) margin at row #1 -start_bit_image sbim str Zq - - ----- Start printing bit image graphics -start_char_set_def scsd str Zr - - ----- Start character set definition #1, with #2 characters in the set -stop_bit_image rbim str Zs - - ----- Stop printing bit image graphics -stop_char_set_def rcsd str Zt - - ----- End definition of character set #1 -subscript_characters subcs str Zu - - ----- List of subscriptable characters -superscript_characters supcs str Zv - - ----- List of superscriptable characters -these_cause_cr docr str Zw - - ----- Printing any of these characters causes CR -zero_motion zerom str Zx - - ----- No motion for subsequent character -#%.TE -#%.ad -#% -#%The following string capabilities are present in the SVr4.0 term structure, -#%but were originally not documented in the man page. -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw18. -#%\fBVariable Cap- TCap Description\fR -#%\fBString name Code\fR -char_set_names csnm str Zy - - ----- Produce #1'th item from list of character set names -key_mouse kmous str Km KEY_MOUSE 0631 ----- Mouse event has occurred -mouse_info minfo str Mi - - ----- Mouse status information -req_mouse_pos reqmp str RQ - - ----- Request mouse position -get_mouse getm str Gm - - ----- Curses should get button events, parameter #1 not documented. -set_a_foreground setaf str AF - - ----- Set foreground color to #1, using ANSI escape -set_a_background setab str AB - - ----- Set background color to #1, using ANSI escape -pkey_plab pfxl str xl - - ----- Program function key #1 to type string #2 and show string #3 -device_type devt str dv - - ----- Indicate language/codeset support -code_set_init csin str ci - - ----- Init sequence for multiple codesets -set0_des_seq s0ds str s0 - - ----- Shift to codeset 0 (EUC set 0, ASCII) -set1_des_seq s1ds str s1 - - ----- Shift to codeset 1 -set2_des_seq s2ds str s2 - - ----- Shift to codeset 2 -set3_des_seq s3ds str s3 - - ----- Shift to codeset 3 -set_lr_margin smglr str ML - - ----- Set both left and right margins to #1, #2. (ML is not in BSD termcap). -set_tb_margin smgtb str MT - - ----- Sets both top and bottom margins to #1, #2 -bit_image_repeat birep str Xy - - ----- Repeat bit image cell #1 #2 times -bit_image_newline binel str Zz - - ----- Move to next row of the bit image -bit_image_carriage_return bicr str Yv - - ----- Move to beginning of same row -color_names colornm str Yw - - ----- Give name for color #1 -define_bit_image_region defbi str Yx - - ----- Define rectangualar bit image region -end_bit_image_region endbi str Yy - - ----- End a bit-image region -set_color_band setcolor str Yz - - ----- Change to ribbon color #1 -set_page_length slines str YZ - - ----- Set page length to #1 lines -# -# SVr4 added these capabilities for direct PC-clone support -# -display_pc_char dispc str S1 - - ----- Display PC character #1 -enter_pc_charset_mode smpch str S2 - - ----- Enter PC character display mode -exit_pc_charset_mode rmpch str S3 - - ----- Exit PC character display mode -enter_scancode_mode smsc str S4 - - ----- Enter PC scancode mode -exit_scancode_mode rmsc str S5 - - ----- Exit PC scancode mode -pc_term_options pctrm str S6 - - ----- PC terminal options -scancode_escape scesc str S7 - - ----- Escape for scancode emulation -alt_scancode_esc scesa str S8 - - ----- Alternate escape for scancode emulation -#%.TE -#%.ad -#% -#%.in .8i -#%The XSI Curses standard added these. They are some post-4.1 -#%versions of System V curses, e.g., Solaris 2.5 and IRIX 6.x. -#%The \fBncurses\fR termcap names for them are invented; according to the -#%XSI Curses standard, they have no termcap names. If your compiled terminfo -#%entries use these, they may not be binary-compatible with System V terminfo -#%entries after SVr4.1; beware! -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBString name Code\fR -enter_horizontal_hl_mode ehhlm str Xh - - ----- Enter horizontal highlight mode -enter_left_hl_mode elhlm str Xl - - ----- Enter left highlight mode -enter_low_hl_mode elohlm str Xo - - ----- Enter low highlight mode -enter_right_hl_mode erhlm str Xr - - ----- Enter right highlight mode -enter_top_hl_mode ethlm str Xt - - ----- Enter top highlight mode -enter_vertical_hl_mode evhlm str Xv - - ----- Enter vertical highlight mode -set_a_attributes sgr1 str sA - - ----- Define second set of video attributes #1-#6 -set_pglen_inch slength str sL - - ----- YI Set page length to #1 hundredth of an inch -#%.TE -#%.ad -# -# The magic token below tells the tic compiler-generator code that all the caps -# past it should be ignored (not written out) when dumping terminfo objects. It -# also tells the man page table generator not to pass through following lines -# This means we can have obsolete capabilities and pseudo-capabilities that are -# recognized for termcap or terminfo compilation, but not output. -# -# %%-STOP-HERE-%% -# -# Don't move this casually! In fact, don't move it at all unless you're -# either doing it to add System V or XPG4 extensions, or have decided you -# don't care about SVr4 binary compatibility. -# -############################################################################# -# -# TERMCAP EXTENSION CAPABILITIES -# -# The capabilities below are either obsolete or extensions on certain systems. -# They are not used by SVR4 terminfo. Some are used by captoinfo to translate -# termcap sources; the rest are listed for completeness, and in case somebody -# cares about them enough to hack in code that will translate them into -# terminfo capabilities. -# -# The first part of the list is from Ross Ridge's `mytinfo' package -# (comp.sources.unix, volume 26); the variable names and terminfo names (as -# well as the termcap codes) match his list. -# -# This group of codes is not marked obsolete in 4.4BSD, but have no direct -# terminfo equivalents. The rs capability is specially translated to terminfo -# r2, and vice versa, if an entry does not already have an r2. Similarly, -# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2). -# The ug capability is thrown away, but assumed to be whatever sg is if the -# latter is nonzero and we're dumping in termcap format. -# -termcap_init2 OTi2 str i2 - - YB--- secondary initialization string -termcap_reset OTrs str rs - - YB-G- terminal reset string -magic_cookie_glitch_ul OTug num ug - - YBCGE number of blanks left by ul -# -# Obsolete termcap capabilities. Some are used for termcap translation. The -# code uses the 'OT' prefix we put on obsolete capabilities to suppress -# printing them in terminfo source dumps of compiled entries. -# -backspaces_with_bs OTbs bool bs - - YBCGE uses ^H to move left -crt_no_scrolling OTns bool ns - - YBCG- crt cannot scroll -no_correctly_working_cr OTnc bool nc - - YBCG- no way to go to start of line -carriage_return_delay OTdC num dC - - YB-G- pad needed for CR -new_line_delay OTdN num dN - - YB-G- pad needed for LF -linefeed_if_not_lf OTnl str nl - - YBCGE use to move down -backspace_if_not_bs OTbc str bc - - YBCGE move left, if not ^H -# -# GNU termcap library extensions. The GNU termcap file distributed with -# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the -# BSD termcap file. The name clash with terminfo MT is resolved by type -# info; MT is converted to km. -# -gnu_has_meta_key OTMT bool MT - - ----E has meta key -# gnu_tab_width OTtw num tw - - ----E tab width in spaces -# -# GNU termcap *does* include the following extended capability, Only the -# now-obsolete Ann Arbor terminals used it. -# -# gnu_change_scroll_region OTcS str cS - - ---GE alternate set scrolling region -# -# The following comments describe capnames so ancient that I believe no -# software uses them any longer. Some of these have to go because they -# clash with terminfo names in ways that cannot be resolved by type -# information. -# -# These mytinfo codes are not used in the 4.4BSD curses code. They are -# marked obsolete in the 4.4BSD manual pages. -# -# There is one conflict with terminfo; ma is in both. This conflict is -# resolved by type information. -# -# The `ko' capability is translated by special code. It should contain a -# comma-separated list of capabilities for which there are corresponding keys. -# The `kn' code is accepted but ignored. -# -# The `ma' capability seems to have been designed to map between the rogue(2) -# motion keys (including jkhl) and characters emitted by arrow keys on some -# primitive pre-ANSI terminals. It's so obsolete it's fossilized... -# -# Here is a description of memory_lock_above and memory_unlock: -# "You can 'freeze' data on the screen by turning on Memory Lock in a line of -# text. All lines above the cursor's current line become locked in place on -# the screen. Then enter data normally. When the screen fills up, any -# further data entered forces the first line of unfrozen line text to scroll -# under the frozen data. Lines scrolled off the screen are inserted into -# memory immediately preceding the first frozen line." (from the HP 700/96 -# User's manual). VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l. -# -# Applications that use terminfo are supposed to behave as though xr is -# always true. -# -linefeed_is_newline OTNL bool NL - - YB--- move down with \n -# even_parity OTEP bool EP - - -B--- terminal requires even parity -# odd_parity OTOP bool OP - - -B--- terminal requires odd parity -# half_duplex OTHD bool HD - - -B--- terminal is half-duplex -# lower_case_only OTLC bool LC - - -B--- terminal has only lower case -# upper_case_only OTUC bool UC - - -B--- terminal has only upper case -backspace_delay OTdB num dB - - YB-G- padding required for ^H -# form_feed_delay OTdF num dF - - -B-G- padding required for ^L -horizontal_tab_delay OTdT num dT - - YB-G- padding required for ^I -# vertical_tab_delay OTdV num dV - - -B--- padding required for ^V -number_of_function_keys OTkn num kn - - -B-G- count of function keys -other_non_function_keys OTko str ko - - -B-G- list of self-mapped keycaps -arrow_key_map OTma str ma - - YBC-- map arrow keys rogue(1) motion keys -# memory_lock_above OTml str ml - - -B--- lock visible screen memory above the current line -# memory_unlock OTmu str mu - - -B--- unlock visible screen memory above the current line -has_hardware_tabs OTpt bool pt - - YB--- has 8-char tabs invoked with ^I -return_does_clr_eol OTxr bool xr - - YB--- return clears the line -# tek_4025_insert_line OTxx bool xx - - -BC-- Tektronix 4025 insert-line glitch -# -# mytinfo described this as a termcap capability, but it's not listed in the -# 4.4BSD man pages, and not found in the 4.4BSD termcap file. The ncurses -# package, like System V, behaves as though it is always true. -# -# rind_only_at_top OTxq bool xq - - ----- reverse index only works from top line -# -# University of Waterloo termcap extensions (as described in mytinfo). -# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot -# be resolved by a type check. The descriptions are guesses from what was -# in the mytinfo tables. -# -# key_interrupt_char OTki str ki - - ----- string set by interrupt key (?) -# key_kill_char OTkk str kk - - ----- string set by kill key (?) -# key_suspend_char OTkz str kz - - ----- string set by suspend key (?) -# initialization_messy OTxc bool xc - - ----- initialization leaves garbage on the screen (?) -# ind_at_bottom_does_cr OTxl bool xl - - ----- index does a carriage return -# -# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package. -# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type -# check. -# -# scroll_left OTsl1 str Sl - - ----- scroll screen leftward -# scroll_right OTsr1 str Sr - - ----- scroll screen rightward -# parm_scroll_left OTsl str SL - - ----- scroll screen leftward #1 characters -# parm_scroll_right OTsr str SR - - ----- scroll screen rightward #1 characters -# -# The mytinfo capabilities end here. -# -# XENIX extensions: -# -# Xenix defined its own set of forms-drawing capabilities: -# -# cap IBM ASCII description ACS ASCII -# --- ----------- -------------------- ------------- ------ -# G1 191 \277 M-? single upper right ACS_URCORNER -# G2 218 \332 M-Z single upper left ACS_ULCORNER -# G3 192 \300 M-@ single lower left ACS_LLCORNER -# G4 217 \331 M-Y single lower right ACS_LRCORNER -# G5 187 \273 M-; double upper right -# G6 201 \311 M-I double upper left -# G7 200 \310 M-H double lower left -# G8 188 \274 M-< double lower right -# GC 197 \305 M-E single intersection ACS_PLUS _ _ -# GD 194 \302 M-B single down-tick ACS_TTEE | -# GH 196 \304 M-D single horizontal line ACS_HLINE -# GL 180 \264 M-4 single left tick ACS_RTEE -| -# GR 195 \303 M-C single right tick ACS_LTEE |- -# GU 193 \301 M-A single up tick ACS_BTEE _|_ -# GV 179 \263 M-3 single vertical line ACS_VLINE -# Gc 206 \316 M-N double intersection -# Gd 203 \313 M-K double down tick -# Gh 205 \315 M-M double horizontal line -# Gl 204 \204 M-L double left tick -# Gr 185 \271 M-9 double right tick -# Gu 202 \312 M-J double up tick -# Gv 186 \272 M-: double vertical line -# -# The compiler will translate the single-line caps and discard the others -# (via IGNORE aliases further down). We don't want to do normal pad -# translation on these, they're often single-character printable ASCII -# strings that happen to be numerics. There's awk code in parametrized.sh -# that detects the acs_ prefix and uses it to suppress pad translation. -# These terminfo names are invented. -# -acs_ulcorner OTG2 str G2 - - ----- single upper left -acs_llcorner OTG3 str G3 - - ----- single lower left -acs_urcorner OTG1 str G1 - - ----- single upper right -acs_lrcorner OTG4 str G4 - - ----- single lower right -acs_ltee OTGR str GR - - ----- tee pointing right -acs_rtee OTGL str GL - - ----- tee pointing left -acs_btee OTGU str GU - - ----- tee pointing up -acs_ttee OTGD str GD - - ----- tee pointing down -acs_hline OTGH str GH - - ----- single horizontal line -acs_vline OTGV str GV - - ----- single vertical line -acs_plus OTGC str GC - - ----- single intersection -# -############################################################################# -# -# TERMINFO EXTENSION CAPABILITIES -# -# This section is almost all comments. What it's mainly for is to describe -# what capabilities need to be squeezed out to get down to the XSI Curses -# standard set. They are flagged with K. -# -# HP extensions -# -# These extensions follow ptr_non (replacing everything after it) in HP -# terminfo files. Except for memory_lock and memory_unlock, they are -# functionally identical to SVr4 extensions, but they make the binary format -# different. Grrr.... -# -memory_lock meml str ml - - ----K memory lock above -memory_unlock memu str mu - - ----K memory unlock -#plab_norm pln str pn - - ----- program label #1 to show string #2 -#label_on smln str LO - - ----- turn on soft labels -#label_off rmln str LF - - ----- turn off soft labels -#key_f11 kf11 str F1 - - ----- F11 function key -#key_f12 kf12 str F2 - - ----- F12 function key -#key_f13 kf13 str F3 - - ----- F13 function key -#key_f14 kf14 str F4 - - ----- F14 function key -#key_f15 kf15 str F5 - - ----- F15 function key -#key_f16 kf16 str F6 - - ----- F16 function key -#key_f17 kf17 str F7 - - ----- F17 function key -#key_f18 kf18 str F8 - - ----- F18 function key -#key_f19 kf19 str F9 - - ----- F19 function key -#key_f20 kf20 str FA - - ----- F20 function key -#key_f21 kf21 str FB - - ----- F21 function key -#key_f22 kf22 str FC - - ----- F22 function key -#key_f23 kf23 str FD - - ----- F23 function key -#key_f24 kf24 str FE - - ----- F24 function key -#key_f25 kf25 str FF - - ----- F25 function key -#key_f26 kf26 str FG - - ----- F26 function key -#key_f27 kf27 str FH - - ----- F27 function key -#key_f28 kf28 str FI - - ----- F28 function key -#key_f29 kf29 str FJ - - ----- F29 function key -#key_f30 kf30 str FK - - ----- F30 function key -#key_f31 kf31 str FL - - ----- F31 function key -#key_f32 kf32 str FM - - ----- F32 function key -#key_f33 kf33 str FN - - ----- F33 function key -#key_f34 kf34 str FO - - ----- F34 function key -#key_f35 kf35 str FP - - ----- F35 function key -#key_f36 kf36 str FQ - - ----- F36 function key -#key_f37 kf37 str FR - - ----- F37 function key -#key_f38 kf38 str FS - - ----- F38 function key -#key_f39 kf39 str FT - - ----- F39 function key -#key_f40 kf40 str FU - - ----- F40 function key -#key_f41 kf41 str FV - - ----- F41 function key -#key_f42 kf42 str FW - - ----- F42 function key -#key_f43 kf43 str FX - - ----- F43 function key -#key_f44 kf44 str FY - - ----- F44 function key -#key_f45 kf45 str FZ - - ----- F45 function key -#key_f46 kf46 str Fa - - ----- F46 function key -#key_f47 kf47 str Fb - - ----- F47 function key -#key_f48 kf48 str Fc - - ----- F48 function key -#key_f49 kf49 str Fd - - ----- F49 function key -#key_f50 kf50 str Fe - - ----- F50 function key -#key_f51 kf51 str Ff - - ----- F51 function key -#key_f52 kf52 str Fg - - ----- F52 function key -#key_f53 kf53 str Fh - - ----- F53 function key -#key_f54 kf54 str Fi - - ----- F54 function key -#key_f55 kf55 str Fj - - ----- F55 function key -#key_f56 kf56 str Fk - - ----- F56 function key -#key_f57 kf57 str Fl - - ----- F57 function key -#key_f58 kf58 str Fm - - ----- F58 function key -#key_f59 kf59 str Fn - - ----- F59 function key -#key_f60 kf60 str Fo - - ----- F60 function key -#key_f61 kf61 str Fp - - ----- F61 function key -#key_f62 kf62 str Fq - - ----- F62 function key -#key_f63 kf63 str Fr - - ----- F63 function key -# -############################################################################# -# -# ALIAS DECLARATIONS -# -# Here we set up aliases for translating extensions into standard terminfo. -# -#---------------------------------- Termcap aliases ------------------------- -# -# BSD aliases: -# -# This is a common error in many termcap files. We'll get notified during -# translation when this (or any other alias) fires. -# -capalias sb sr BSD scroll text down -# -# AT&T extensions: -# -# The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of -# nonstandard capabilities. Its signature is the KM capability, used to name -# some sort of keymap file. EE, BO, CI, CV, XS, DS, FL and FE are in this -# set. Comments in the original, and a little cross-checking with other AT&T -# documentation, seem to establish the following mappings: -# -capalias BO mr AT&T enter_reverse_mode -capalias CI vi AT&T cursor_invisible -capalias CV ve AT&T cursor_normal -capalias DS mh AT&T enter_dim_mode -#capalias EE me AT&T exit_attribute_mode -capalias FE LF AT&T label_on -capalias FL LO AT&T label_off -capalias XS mk AT&T enter_secure_mode -# -# We comment out EE because the conflicting XENIX EE is more common in -# old entries. -# -# XENIX extensions: -# -# These are the ones we know how to translate directly: -# -capalias EE mh XENIX exit_attribute_mode -capalias GE ae XENIX exit_alt_charset_mode -capalias GS as XENIX enter_alt_charset_mode -capalias CF vi XENIX cursor_invis -capalias CO ve XENIX cursor_normal -capalias EN @7 XENIX key_end -capalias HM kh XENIX key_home -capalias LD kL XENIX key_dl -capalias PD kN XENIX key_npage -capalias PN po XENIX prtr_off -capalias PS pf XENIX prtr_on -capalias PU kP XENIX key_ppage -capalias RT @8 XENIX kent -capalias UP ku XENIX kcuu1 -capalias G6 IGNORE XENIX double-ACS_ULCORNER -capalias G7 IGNORE XENIX double-ACS_LLCORNER -capalias G5 IGNORE XENIX double-ACS_URCORNER -capalias G8 IGNORE XENIX double-ACS_LRCORNER -capalias Gr IGNORE XENIX double-ACS_LTEE -capalias Gr IGNORE XENIX double-ACS_RTEE -capalias Gu IGNORE XENIX double-ACS_BTEE -capalias Gd IGNORE XENIX double ACS_TTEE -capalias Gh IGNORE XENIX double-ACS_HLINE -capalias Gv IGNORE XENIX double-ACS_VLINE -capalias Gc IGNORE XENIX double-ACS_PLUS -capalias GG IGNORE XENIX acs-glitch -# -# IBM extensions: -# -capalias kq %1 IBM key_help -# -# Iris extensions: -# -capalias HS mh IRIS enter_dim_mode -# -# Tektronix extensions: -# -capalias KA k; Tek key_f10 -capalias KB F1 Tek key_f11 -capalias KC F2 Tek key_f12 -capalias KD F3 Tek key_f13 -capalias KE F4 Tek key_f14 -capalias KF F5 Tek key_f15 -capalias BC Sb Tek set_background -capalias FC Sf Tek set_foreground -# -# There are also the following: -# -# XENIX XENIX variable name name clash with terminfo? -# ----- ------------------- ------------------------- -# CL key_char_left -# CR key_char_right -# CW key_change_window -# HP ?? -# LF key_linefeed label_off -# NU key_next_unlocked_cell -# PL ?? -# PR ?? -# RC key_recalc remove_clock -# RF key_toggle_ref req_for_input -# WL key_word_left -# WR key_word_right -# -# If you know what any of the question-marked ones mean, please tell us. -# -#--------------------------------- Terminfo aliases ------------------------ -# -# IBM extensions: -# -infoalias font0 s0ds IBM set0_des_seq -infoalias font1 s1ds IBM set1_des_seq -infoalias font2 s2ds IBM set2_des_seq -infoalias font3 s3ds IBM set3_des_seq -infoalias kbtab kcbt IBM key_backtab -infoalias ksel kslt IBM key_select -# -# Some others are identical to SVr4/XPG4 capabilities, in particular: -# kcmd, kend, khlp, and kf11...kf63. -# -############################################################################# -# -# The following sets edit modes for GNU EMACS -# Local Variables: -# case-fold-search:nil -# truncate-lines:t -# End: diff --git a/src/libs/ncurses/include/Caps.hpux11 b/src/libs/ncurses/include/Caps.hpux11 deleted file mode 100644 index e43d44effb..0000000000 --- a/src/libs/ncurses/include/Caps.hpux11 +++ /dev/null @@ -1,1278 +0,0 @@ -############################################################################## -# Copyright (c) 2002,2003 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas Dickey -# -# $Id: Caps.hpux11,v 1.3 2003/11/15 20:27:40 tom Exp $ -# -# This is an adaptation of ncurses' termcap/terminfo capability table, which -# is designed to align with HPUX 11.x's terminfo. -# -# This table is used to generate initializers for tables that drive tic, -# infocmp, and the library compilation code used to support the termcap -# compatibility hack. It is also used to generate the tabular portion of the -# terminfo(5) man page; lines beginning with `#%' are passed through to become -# the terminfo table. -# -# This file has three major sections; a standard-capabilities table, two -# extension-capability tables, and a section of aliases declarations. -# The first two have the same format, as follows: -# -# FILE FORMAT -# -# Column 1: terminfo variable name -# Column 2: terminfo capability name -# Column 3: capability type (boolean, numeric, or string) -# Column 4: termcap capability name -# Column 5: KEY_xxx name, if any, `-' otherwise -# Column 6: value for KEY_xxx name, if any, `-' otherwise -# Column 7: Lead with `Y' if capability should be emitted in termcap -# translations, `-' otherwise -# Column 8: capability description -# -# The codes following [Y-] in column 7 describe the versions of termcap which -# use the given capability. This information is not used by the curses library -# proper; rather, it's there to help the terminfo maintainer avoid emitting -# termcap entry translations that are more than 1023 bytes long (and tank a -# lot of old termcap-using programs). The codes read as follows: -# B = mentioned in the BSD man page for 4.4BSD curses -# C = used by the 4.4BSD curses library -# G = mentioned in the documentation for GNU termcap -# E = used by GNU Emacs -# K = remove this terminfo capability when translating to standard format -# The important codes are C and E. A cap with C or E should be preserved in -# translation if possible. The problem is that preserving all such caps may -# lead to some termcap translations being too long. The termcap maintainer -# has a bit of a juggling act to do...potential problem cases are marked with -# an asterisk (*). -# -# The aliases section has the following format: -# -# Column 1: either `capalias' or `infoalias' -# Column 2: name to be aliased -# Column 3: what name it should translate to. The name IGNORE means it -# should be discarded with a warning message. -# Column 4: name of the extension set (used for compiler warning messages) -# Column 5: capability description (usually an associated terminfo variable) -# -# HANDLING TERMCAP AND TERMINFO EXTENSIONS -# -# There are basically five different ways to handle termcap and terminfo -# extensions: -# -# 1. Don't list the capname here, or list it but comment it out (the latter -# is preferable; someone might want to handle it in the future). If you do -# this, the capability will be treated as unknown and raise a warning from -# the compiler. -# -# 2. Alias it. This is appropriate if the capability has the same meaning -# as an already-supported one. The compiler will handle aliasing, emitting -# an appropriate informational message whenever an alias fires. -# -# 3. List it in the standard table. You almost certainly do *not* want -# to do this -- the capabilities in that one, and their order, have been -# carefully chosen to be SVr4-binary-compatible when they're written out -# as a terminfo object, and breaking this would be bad. It's up the ncurses -# library what to do with the terminfo data after it's read in. -# -# 4. List it in the aliases table with an IGNORE target field. If you -# do this, the capability will be ignored on input (though the user will -# get a warning message about it). -# -# 5. List it in the extensions table. If you do this, the compiler will -# silently accept the capability, but the curses library proper will never -# see it (because it won't be written out as part of the terminfo object -# format). It's up to you what you have the compiler do with it. -# -# There are two opposite reasons to choose option 5. One is when you want -# to eat the capability silently and discard it when doing translations -# to terminfo with tic -I. Some very old obsolete BSD caps like :kn: are -# in this class. Nothing will ever use them again. -# -# More usually, you want the compiler to try to deduce something from the -# capability value that it can use to translate it into your output format. -# You'll need to write custom code, probably in postprocess_termcap() or -# postprocess_terminfo(), to handle the translation. -# -# CONTROLLING ENTRY LENGTH -# -# Notes on specific elisions made to fit translations within 1023 bytes: -# -# Machines with IBM PC-like keyboards want to be able to define the following -# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap- -# only environments for End or Home-Down), key_dc, and key_ic. This is also -# the set of keys the `joe' editor will be upset if it can't see. So don't -# trim those out of the set to be translated to termcap, or various users of -# the termcap file will become irate. -# -# It might look tempting to leave those long init strings out of translations. -# We can't do it (yet); 4.4BSD tput and tset use them. -# -# We retain the sgr capability in translation in spite of the fact that neither -# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are -# hard to understand without it, and (b) the entries in which it is long tend -# to be older types that don't use up a lot of string space on function keys. -# The tic(1) translation code will complain and elide it if it makes a critical -# difference (there is special code in tic to recognize this situation). -# -# Yes, BSD tset(1) uses hpa. We elide hpa/vpa anyway because the motion -# optimizer in BSD curses didn't use them. This omission seems to be the -# single most effective one, it shortened the resolved length of all thirteen -# problem entries in the 9.9.0 version of the terminfo master below critical. -# -# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap -# translations go back over critical if we do this. As 4.4BSD curses fades -# into history and GNU termcap's application base shrinks towards being GNU -# Emacs only, we'll probably elide out some BSD-only capabilities in order -# to buy space for non-essentials Emacs is still using. Capabilities high -# on that hit list: rc, sc, uc. -# -############################################################################# -# -# STANDARD CAPABILITIES -# -#%The following is a complete table of the capabilities included in a -#%terminfo description block and available to terminfo-using code. In each -#%line of the table, -#% -#%The \fBvariable\fR is the name by which the programmer (at the terminfo level) -#%accesses the capability. -#% -#%The \fBcapname\fR is the short name used in the text of the database, -#%and is used by a person updating the database. -#%Whenever possible, capnames are chosen to be the same as or similar to -#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses -#%identical or very similar names). Semantics are also intended to match -#%those of the specification. -#% -#%The termcap code is the old -#%.B termcap -#%capability name (some capabilities are new, and have names which termcap -#%did not originate). -#%.P -#%Capability names have no hard length limit, but an informal limit of 5 -#%characters has been adopted to keep them short and to allow the tabs in -#%the source file -#%.B Caps -#%to line up nicely. -#% -#%Finally, the description field attempts to convey the semantics of the -#%capability. You may find some codes in the description field: -#%.TP -#%(P) -#%indicates that padding may be specified -#%.TP -#%#[1-9] -#%in the description field indicates that the string is passed through tparm with -#%parms as given (#\fIi\fP). -#%.TP -#%(P*) -#%indicates that padding may vary in proportion to the number of -#%lines affected -#%.TP -#%(#\d\fIi\fP\u) -#%indicates the \fIi\fP\uth\d parameter. -#% -#%.PP -#% These are the boolean capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBBooleans name Code\fR -auto_left_margin bw bool bw - - YB-G- cub1 wraps from column 0 to last column -auto_right_margin am bool am - - YBCGE terminal has automatic margins -no_esc_ctlc xsb bool xb - - YBCG- beehive (f1=escape, f2=ctrl C) -ceol_standout_glitch xhp bool xs - - YBCGE standout not erased by overwriting (hp) -eat_newline_glitch xenl bool xn - - YBCGE newline ignored after 80 cols (concept) -erase_overstrike eo bool eo - - YBCG- can erase overstrikes with a blank -generic_type gn bool gn - - YB-G- generic line type -hard_copy hc bool hc - - YBCG- hardcopy terminal -has_meta_key km bool km - - YB-GE Has a meta key (i.e., sets 8th-bit) -has_status_line hs bool hs - - YB-G- has extra status line -insert_null_glitch in bool in - - YBCGE insert mode distinguishes nulls -memory_above da bool da - - YBCG- display may be retained above the screen -memory_below db bool db - - YB-GE display may be retained below the screen -move_insert_mode mir bool mi - - YBCGE safe to move while in insert mode -move_standout_mode msgr bool ms - - YBCGE safe to move while in standout mode -over_strike os bool os - - YBCG- terminal can overstrike -status_line_esc_ok eslok bool es - - YB-G- escape can be used on the status line -dest_tabs_magic_smso xt bool xt - - YBCGE tabs destructive, magic so char (t1061) -tilde_glitch hz bool hz - - YB-GE cannot print ~'s (hazeltine) -transparent_underline ul bool ul - - YBCGE underline character overstrikes -xon_xoff xon bool xo - - YB--- terminal uses xon/xoff handshaking -# end booleans for HPUX 9, 10 (non-color curses) -needs_xon_xoff nxon bool nx - - ----- padding will not work, xon/xoff required -prtr_silent mc5i bool 5i - - ----- printer will not echo on screen -hard_cursor chts bool HC - - ----- cursor is hard to see -non_rev_rmcup nrrmc bool NR - - ----- smcup does not reverse rmcup -no_pad_char npc bool NP - - ----- pad character does not exist -non_dest_scroll_region ndscr bool ND - - ----- scrolling region is non-destructive -can_change ccc bool cc - - ----- terminal can re-define existing colors -back_color_erase bce bool ut - - ----- screen erased with background color -hue_lightness_saturation hls bool hl - - ----- terminal uses only HLS color notation (Tektronix) -col_addr_glitch xhpa bool YA - - ----- only positive motion for hpa/mhpa caps -cr_cancels_micro_mode crxm bool YB - - ----- using cr turns off micro mode -has_print_wheel daisy bool YC - - ----- printer needs operator to change character set -row_addr_glitch xvpa bool YD - - ----- only positive motion for vpa/mvpa caps -semi_auto_right_margin sam bool YE - - ----- printing in last column causes cr -cpi_changes_res cpix bool YF - - ----- changing character pitch changes resolution -lpi_changes_res lpix bool YG - - ----- changing line pitch changes resolution -#%.TE -#%.ad -#% -#%These are the numeric capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBNumeric name Code\fR -columns cols num co - - YBCGE number of columns in a line -init_tabs it num it - - YB-G- tabs initially every # spaces -lines lines num li - - YBCGE number of lines on screen or page -lines_of_memory lm num lm - - YB-G- lines of memory if > line. 0 means varies -magic_cookie_glitch xmc num sg - - YBCGE number of blank characters left by smso or rmso -padding_baud_rate pb num pb - - YB-GE lowest baud rate where padding needed -virtual_terminal vt num vt - - YB--- virtual terminal number (CB/unix) -width_status_line wsl num ws - - YB-G- number of columns in status line -# end numbers for HPUX 9, 10 (non-color curses) -num_labels nlab num Nl - - ----- number of labels on screen -label_height lh num lh - - ----- rows in each label -label_width lw num lw - - ----- columns in each label -max_attributes ma num ma - - YBC-- maximum combined attributes terminal can handle -maximum_windows wnum num MW - - ----- maximum number of defineable windows -# These came in with SVr4's color support -max_colors colors num Co - - ----- maximum number of colors on screen -max_pairs pairs num pa - - ----- maximum number of color-pairs on the screen -no_color_video ncv num NC - - ----- video attributes that cannot be used with colors -#%.TE -#%.ad -#% -#%The following numeric capabilities are present in the SVr4.0 term structure, -#%but are not yet documented in the man page. They came in with SVr4's -#%printer support. -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBNumeric name Code\fR -buffer_capacity bufsz num Ya - - ----- numbers of bytes buffered before printing -dot_vert_spacing spinv num Yb - - ----- spacing of pins vertically in pins per inch -dot_horz_spacing spinh num Yc - - ----- spacing of dots horizontally in dots per inch -max_micro_address maddr num Yd - - ----- maximum value in micro_..._address -max_micro_jump mjump num Ye - - ----- maximum value in parm_..._micro -micro_col_size mcs num Yf - - ----- character step size when in micro mode -micro_line_size mls num Yg - - ----- line step size when in micro mode -number_of_pins npins num Yh - - ----- numbers of pins in print-head -output_res_char orc num Yi - - ----- horizontal resolution in units per line -output_res_line orl num Yj - - ----- vertical resolution in units per line -output_res_horz_inch orhi num Yk - - ----- horizontal resolution in units per inch -output_res_vert_inch orvi num Yl - - ----- vertical resolution in units per inch -print_rate cps num Ym - - ----- print rate in characters per second -wide_char_size widcs num Yn - - ----- character step size when in double wide mode -buttons btns num BT - - ----- number of buttons on mouse -bit_image_entwining bitwin num Yo - - ----- number of passes for each bit-image row -bit_image_type bitype num Yp - - ----- type of bit-image device -#%.TE -#%.ad -#% -#%These are the string capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBString name Code\fR -back_tab cbt str bt - - YBCGE back tab (P) -bell bel str bl - - YB-GE audible signal (bell) (P) -carriage_return cr str cr - - YBCGE carriage return (P*) (P*) -change_scroll_region csr str cs - - YBCGE change region to line #1 to line #2 (P) -clear_all_tabs tbc str ct - - YB-G- clear all tab stops (P) -clear_screen clear str cl - - YBCGE clear screen and home cursor (P*) -clr_eol el str ce - - YBCGE clear to end of line (P) -clr_eos ed str cd - - YBCGE clear to end of screen (P*) -column_address hpa str ch - - -B-GE* horizontal position #1, absolute (P) -command_character cmdch str CC - - YB-G- terminal settable cmd character in prototype !? -cursor_address cup str cm - - YBCGE move to row #1 columns #2 -cursor_down cud1 str do - - YBCGE down one line -cursor_home home str ho - - YBCGE home cursor (if no cup) -cursor_invisible civis str vi - - YB-G- make cursor invisible -cursor_left cub1 str le - - YBCGE move left one space -cursor_mem_address mrcup str CM - - YB-G- memory relative cursor addressing, move to row #1 columns #2 -cursor_normal cnorm str ve - - YBCGE make cursor appear normal (undo civis/cvvis) -cursor_right cuf1 str nd - - YBCGE non-destructive space (move right one space) -cursor_to_ll ll str ll - - YBCGE last line, first column (if no cup) -cursor_up cuu1 str up - - YBCGE up one line -cursor_visible cvvis str vs - - YBCGE make cursor very visible -delete_character dch1 str dc - - YBCGE delete character (P*) -delete_line dl1 str dl - - YBCGE delete line (P*) -dis_status_line dsl str ds - - YB-G- disable status line -down_half_line hd str hd - - YB-G- half a line down -enter_alt_charset_mode smacs str as - - YB-G- start alternate character set (P) -enter_blink_mode blink str mb - - YB-G- turn on blinking -enter_bold_mode bold str md - - YB-G- turn on bold (extra bright) mode -enter_ca_mode smcup str ti - - YBCGE string to start programs using cup -enter_delete_mode smdc str dm - - YBCGE enter delete mode -enter_dim_mode dim str mh - - YB-G- turn on half-bright mode -enter_insert_mode smir str im - - YBCGE enter insert mode -enter_secure_mode invis str mk - - -B-G-* turn on blank mode (characters invisible) -enter_protected_mode prot str mp - - -B-G-* turn on protected mode -enter_reverse_mode rev str mr - - YB-G- turn on reverse video mode -enter_standout_mode smso str so - - YBCGE begin standout mode -enter_underline_mode smul str us - - YBCGE begin underline mode -erase_chars ech str ec - - YB-G- erase #1 characters (P) -exit_alt_charset_mode rmacs str ae - - YB-G- end alternate character set (P) -exit_attribute_mode sgr0 str me - - YB-GE turn off all attributes -exit_ca_mode rmcup str te - - YBCGE strings to end programs using cup -exit_delete_mode rmdc str ed - - YBCGE end delete mode -exit_insert_mode rmir str ei - - YBCGE exit insert mode -exit_standout_mode rmso str se - - YBCGE exit standout mode -exit_underline_mode rmul str ue - - YBCGE exit underline mode -flash_screen flash str vb - - YBCGE visible bell (may not move cursor) -form_feed ff str ff - - YB-G- hardcopy terminal page eject (P*) -from_status_line fsl str fs - - YB-G- return from status line -init_1string is1 str i1 - - YB-G- initialization string -init_2string is2 str is - - YB-G- initialization string -init_3string is3 str i3 - - YB-G- initialization string -init_file if str if - - YB-G- name of initialization file -insert_character ich1 str ic - - YBCGE insert character (P) -insert_line il1 str al - - YBCGE insert line (P*) -insert_padding ip str ip - - YBCGE insert padding after inserted character -key_backspace kbs str kb KEY_BACKSPACE 0407 YB-G- backspace key -key_catab ktbc str ka KEY_CATAB 0526 -B-G-* clear-all-tabs key -key_clear kclr str kC KEY_CLEAR 0515 -B-G-* clear-screen or erase key -key_ctab kctab str kt KEY_CTAB 0525 -B-G-* clear-tab key -key_dc kdch1 str kD KEY_DC 0512 YB-G- delete-character key -key_dl kdl1 str kL KEY_DL 0510 -B-G-* delete-line key -key_down kcud1 str kd KEY_DOWN 0402 YBCGE down-arrow key -key_eic krmir str kM KEY_EIC 0514 -B-G-* sent by rmir or smir in insert mode -key_eol kel str kE KEY_EOL 0517 -B-G-* clear-to-end-of-line key -key_eos ked str kS KEY_EOS 0516 -B-G-* clear-to-end-of-screen key -key_f0 kf0 str k0 KEY_F(0) 0410 YBCGE F0 function key -key_f1 kf1 str k1 KEY_F(1) - YBCGE F1 function key -key_f10 kf10 str k; KEY_F(10) - ----E F10 function key -key_f2 kf2 str k2 KEY_F(2) - YBCGE F2 function key -key_f3 kf3 str k3 KEY_F(3) - YBCGE F3 function key -key_f4 kf4 str k4 KEY_F(4) - YBCGE F4 function key -key_f5 kf5 str k5 KEY_F(5) - YBCGE F5 function key -key_f6 kf6 str k6 KEY_F(6) - YBCGE F6 function key -key_f7 kf7 str k7 KEY_F(7) - YBCGE F7 function key -key_f8 kf8 str k8 KEY_F(8) - YBCGE F8 function key -key_f9 kf9 str k9 KEY_F(9) - YBCGE F9 function key -key_home khome str kh KEY_HOME 0406 YBCGE home key -key_ic kich1 str kI KEY_IC 0513 YB-GE insert-character key -key_il kil1 str kA KEY_IL 0511 -B-G-* insert-line key -key_left kcub1 str kl KEY_LEFT 0404 YBCGE left-arrow key -key_ll kll str kH KEY_LL 0533 YB-G- lower-left key (home down) -key_npage knp str kN KEY_NPAGE 0522 YB-GE next-page key -key_ppage kpp str kP KEY_PPAGE 0523 YB-GE previous-page key -key_right kcuf1 str kr KEY_RIGHT 0405 YBCGE right-arrow key -key_sf kind str kF KEY_SF 0520 -B-G-* scroll-forward key -key_sr kri str kR KEY_SR 0521 -B-G-* scroll-backward key -key_stab khts str kT KEY_STAB 0524 -B-G-* set-tab key -key_up kcuu1 str ku KEY_UP 0403 YBCGE up-arrow key -keypad_local rmkx str ke - - YBCGE leave 'keyboard_transmit' mode -keypad_xmit smkx str ks - - YBCGE enter 'keyboard_transmit' mode -lab_f0 lf0 str l0 - - -B-G-* label on function key f0 if not f0 -lab_f1 lf1 str l1 - - -B-G-* label on function key f1 if not f1 -lab_f10 lf10 str la - - ----- label on function key f10 if not f10 -lab_f2 lf2 str l2 - - -B-G-* label on function key f2 if not f2 -lab_f3 lf3 str l3 - - -B-G-* label on function key f3 if not f3 -lab_f4 lf4 str l4 - - -B-G-* label on function key f4 if not f4 -lab_f5 lf5 str l5 - - -B-G-* label on function key f5 if not f5 -lab_f6 lf6 str l6 - - -B-G-* label on function key f6 if not f6 -lab_f7 lf7 str l7 - - -B-G-* label on function key f7 if not f7 -lab_f8 lf8 str l8 - - -B-G-* label on function key f8 if not f8 -lab_f9 lf9 str l9 - - -B-G-* label on function key f9 if not f9 -meta_off rmm str mo - - YB-G-* turn off meta mode -meta_on smm str mm - - YB-G-* turn on meta mode (8th-bit on) -newline nel str nw - - YB-G-* newline (behave like cr followed by lf) -pad_char pad str pc - - YBCGE padding char (instead of null) -parm_dch dch str DC - - YB-GE delete #1 characters (P*) -parm_delete_line dl str DL - - YBCGE delete #1 lines (P*) -parm_down_cursor cud str DO - - YBCGE down #1 lines (P*) -parm_ich ich str IC - - YB-GE insert #1 characters (P*) -parm_index indn str SF - - YBCG- scroll forward #1 lines (P) -parm_insert_line il str AL - - YBCGE insert #1 lines (P*) -parm_left_cursor cub str LE - - YBCGE move #1 characters to the left (P) -parm_right_cursor cuf str RI - - YBCGE move #1 characters to the right (P*) -parm_rindex rin str SR - - YBCG- scroll back #1 lines (P) -parm_up_cursor cuu str UP - - YBCGE up #1 lines (P*) -pkey_key pfkey str pk - - -B--- program function key #1 to type string #2 -pkey_local pfloc str pl - - -B--- program function key #1 to execute string #2 -pkey_xmit pfx str px - - -B--- program function key #1 to transmit string #2 -print_screen mc0 str ps - - -B-G-* print contents of screen -prtr_off mc4 str pf - - -B-G-* turn off printer -prtr_on mc5 str po - - -B-G-* turn on printer -repeat_char rep str rp - - YB-GE repeat char #1 #2 times (P*) -reset_1string rs1 str r1 - - -B--- reset string -reset_2string rs2 str r2 - - -B--- reset string -reset_3string rs3 str r3 - - -B--- reset string -reset_file rf str rf - - -B--- name of reset file -restore_cursor rc str rc - - YBCG- restore cursor to position of last save_cursor -row_address vpa str cv - - -B-GE* vertical position #1 absolute (P) -save_cursor sc str sc - - YBCG- save current cursor position (P) -scroll_forward ind str sf - - YBCGE scroll text up (P) -scroll_reverse ri str sr - - YBCGE scroll text down (P) -set_attributes sgr str sa - - YB-G- define video attributes #1-#9 (PG9) -set_tab hts str st - - YB-G- set a tab in every row, current columns -set_window wind str wi - - -B-GE current window is lines #1-#2 cols #3-#4 -tab ht str ta - - YBCGE tab to next 8-space hardware tab stop -to_status_line tsl str ts - - YB-G- move to status line, column #1 -underline_char uc str uc - - YBCG- underline char and move past it -up_half_line hu str hu - - YB-G- half a line up -init_prog iprog str iP - - -B--- path name of program for initialization -key_a1 ka1 str K1 KEY_A1 0534 YB-GE upper left of keypad -key_a3 ka3 str K3 KEY_A3 0535 YB-GE upper right of keypad -key_b2 kb2 str K2 KEY_B2 0536 YB-GE center of keypad -key_c1 kc1 str K4 KEY_C1 0537 YB-GE lower left of keypad -key_c3 kc3 str K5 KEY_C3 0540 YB-GE lower right of keypad -prtr_non mc5p str pO - - -B-G-* turn on printer for #1 bytes -# -# SVr1 capabilities stop here. IBM's version of terminfo is the same as -# SVr4 up to this point, but has a different set afterwards. -# -# HPUX defines these if __HP_CURSES_COMPAT is defined: -memory_lock meml str ml - - ----K memory lock above -memory_unlock memu str mu - - ----K memory unlock -# -# -plab_norm pln str pn - - ----- program label #1 to show string #2 -label_on smln str LO - - ----- turn on soft labels -label_off rmln str LF - - ----- turn off soft labels -key_f11 kf11 str F1 KEY_F(11) - ----E F11 function key -key_f12 kf12 str F2 KEY_F(12) - ----E F12 function key -key_f13 kf13 str F3 KEY_F(13) - ----E F13 function key -key_f14 kf14 str F4 KEY_F(14) - ----E F14 function key -key_f15 kf15 str F5 KEY_F(15) - ----E F15 function key -key_f16 kf16 str F6 KEY_F(16) - ----E F16 function key -key_f17 kf17 str F7 KEY_F(17) - ----E F17 function key -key_f18 kf18 str F8 KEY_F(18) - ----E F18 function key -key_f19 kf19 str F9 KEY_F(19) - ----E F19 function key -key_f20 kf20 str FA KEY_F(20) - ----E F20 function key -key_f21 kf21 str FB KEY_F(21) - ----E F21 function key -key_f22 kf22 str FC KEY_F(22) - ----E F22 function key -key_f23 kf23 str FD KEY_F(23) - ----E F23 function key -key_f24 kf24 str FE KEY_F(24) - ----E F24 function key -key_f25 kf25 str FF KEY_F(25) - ----E F25 function key -key_f26 kf26 str FG KEY_F(26) - ----E F26 function key -key_f27 kf27 str FH KEY_F(27) - ----E F27 function key -key_f28 kf28 str FI KEY_F(28) - ----E F28 function key -key_f29 kf29 str FJ KEY_F(29) - ----E F29 function key -key_f30 kf30 str FK KEY_F(30) - ----E F30 function key -key_f31 kf31 str FL KEY_F(31) - ----E F31 function key -key_f32 kf32 str FM KEY_F(32) - ----E F32 function key -key_f33 kf33 str FN KEY_F(33) - ----E F33 function key -key_f34 kf34 str FO KEY_F(34) - ----E F34 function key -key_f35 kf35 str FP KEY_F(35) - ----E F35 function key -key_f36 kf36 str FQ KEY_F(36) - ----E F36 function key -key_f37 kf37 str FR KEY_F(37) - ----E F37 function key -key_f38 kf38 str FS KEY_F(38) - ----E F38 function key -key_f39 kf39 str FT KEY_F(39) - ----E F39 function key -key_f40 kf40 str FU KEY_F(40) - ----E F40 function key -key_f41 kf41 str FV KEY_F(41) - ----E F41 function key -key_f42 kf42 str FW KEY_F(42) - ----E F42 function key -key_f43 kf43 str FX KEY_F(43) - ----E F43 function key -key_f44 kf44 str FY KEY_F(44) - ----E F44 function key -key_f45 kf45 str FZ KEY_F(45) - ----E F45 function key -key_f46 kf46 str Fa KEY_F(46) - ----E F46 function key -key_f47 kf47 str Fb KEY_F(47) - ----E F47 function key -key_f48 kf48 str Fc KEY_F(48) - ----E F48 function key -key_f49 kf49 str Fd KEY_F(49) - ----E F49 function key -key_f50 kf50 str Fe KEY_F(50) - ----E F50 function key -key_f51 kf51 str Ff KEY_F(51) - ----E F51 function key -key_f52 kf52 str Fg KEY_F(52) - ----E F52 function key -key_f53 kf53 str Fh KEY_F(53) - ----E F53 function key -key_f54 kf54 str Fi KEY_F(54) - ----E F54 function key -key_f55 kf55 str Fj KEY_F(55) - ----E F55 function key -key_f56 kf56 str Fk KEY_F(56) - ----E F56 function key -key_f57 kf57 str Fl KEY_F(57) - ----E F57 function key -key_f58 kf58 str Fm KEY_F(58) - ----E F58 function key -key_f59 kf59 str Fn KEY_F(59) - ----E F59 function key -key_f60 kf60 str Fo KEY_F(60) - ----E F60 function key -key_f61 kf61 str Fp KEY_F(61) - ----E F61 function key -key_f62 kf62 str Fq KEY_F(62) - ----E F62 function key -key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key -# end of strings in HPUX 9 -char_padding rmp str rP - - ----- like ip but when in insert mode -acs_chars acsc str ac - - ----- graphics charset pairs, based on vt100 -key_btab kcbt str kB KEY_BTAB 0541 ----- back-tab key -enter_xon_mode smxon str SX - - ----- turn on xon/xoff handshaking -exit_xon_mode rmxon str RX - - ----- turn off xon/xoff handshaking -enter_am_mode smam str SA - - ----- turn on automatic margins -exit_am_mode rmam str RA - - ----- turn off automatic margins -xon_character xonc str XN - - ----- XON character -xoff_character xoffc str XF - - ----- XOFF character -ena_acs enacs str eA - - ----- enable alternate char set -key_beg kbeg str @1 KEY_BEG 0542 ----- begin key -key_cancel kcan str @2 KEY_CANCEL 0543 ----- cancel key -key_close kclo str @3 KEY_CLOSE 0544 ----- close key -key_command kcmd str @4 KEY_COMMAND 0545 ----- command key -key_copy kcpy str @5 KEY_COPY 0546 ----- copy key -key_create kcrt str @6 KEY_CREATE 0547 ----- create key -key_end kend str @7 KEY_END 0550 ----- end key -key_enter kent str @8 KEY_ENTER 0527 ----- enter/send key -key_exit kext str @9 KEY_EXIT 0551 ----- exit key -key_find kfnd str @0 KEY_FIND 0552 ----- find key -key_help khlp str %1 KEY_HELP 0553 ----- help key -key_mark kmrk str %2 KEY_MARK 0554 ----- mark key -key_message kmsg str %3 KEY_MESSAGE 0555 ----- message key -key_move kmov str %4 KEY_MOVE 0556 ----- move key -key_next knxt str %5 KEY_NEXT 0557 ----- next key -key_open kopn str %6 KEY_OPEN 0560 ----- open key -key_options kopt str %7 KEY_OPTIONS 0561 ----- options key -key_previous kprv str %8 KEY_PREVIOUS 0562 ----- previous key -key_print kprt str %9 KEY_PRINT 0532 ----- print key -key_redo krdo str %0 KEY_REDO 0563 ----- redo key -key_reference kref str &1 KEY_REFERENCE 0564 ----- reference key -key_refresh krfr str &2 KEY_REFRESH 0565 ----- refresh key -key_replace krpl str &3 KEY_REPLACE 0566 ----- replace key -key_restart krst str &4 KEY_RESTART 0567 ----- restart key -key_resume kres str &5 KEY_RESUME 0570 ----- resume key -key_save ksav str &6 KEY_SAVE 0571 ----- save key -key_suspend kspd str &7 KEY_SUSPEND 0627 ----- suspend key -key_undo kund str &8 KEY_UNDO 0630 ----- undo key -key_sbeg kBEG str &9 KEY_SBEG 0572 ----- shifted begin key -key_scancel kCAN str &0 KEY_SCANCEL 0573 ----- shifted cancel key -key_scommand kCMD str *1 KEY_SCOMMAND 0574 ----- shifted command key -key_scopy kCPY str *2 KEY_SCOPY 0575 ----- shifted copy key -key_screate kCRT str *3 KEY_SCREATE 0576 ----- shifted create key -key_sdc kDC str *4 KEY_SDC 0577 ----- shifted delete-character key -key_sdl kDL str *5 KEY_SDL 0600 ----- shifted delete-line key -key_select kslt str *6 KEY_SELECT 0601 ----- select key -key_send kEND str *7 KEY_SEND 0602 ----- shifted end key -key_seol kEOL str *8 KEY_SEOL 0603 ----- shifted clear-to-end-of-line key -key_sexit kEXT str *9 KEY_SEXIT 0604 ----- shifted exit key -key_sfind kFND str *0 KEY_SFIND 0605 ----- shifted find key -key_shelp kHLP str #1 KEY_SHELP 0606 ----- shifted help key -key_shome kHOM str #2 KEY_SHOME 0607 ----- shifted home key -key_sic kIC str #3 KEY_SIC 0610 ----- shifted insert-character key -key_sleft kLFT str #4 KEY_SLEFT 0611 ----- shifted left-arrow key -key_smessage kMSG str %a KEY_SMESSAGE 0612 ----- shifted message key -key_smove kMOV str %b KEY_SMOVE 0613 ----- shifted move key -key_snext kNXT str %c KEY_SNEXT 0614 ----- shifted next key -key_soptions kOPT str %d KEY_SOPTIONS 0615 ----- shifted options key -key_sprevious kPRV str %e KEY_SPREVIOUS 0616 ----- shifted previous key -key_sprint kPRT str %f KEY_SPRINT 0617 ----- shifted print key -key_sredo kRDO str %g KEY_SREDO 0620 ----- shifted redo key -key_sreplace kRPL str %h KEY_SREPLACE 0621 ----- shifted replace key -key_sright kRIT str %i KEY_SRIGHT 0622 ----- shifted right-arrow key -key_srsume kRES str %j KEY_SRSUME 0623 ----- shifted resume key -key_ssave kSAV str !1 KEY_SSAVE 0624 ----- shifted save key -key_ssuspend kSPD str !2 KEY_SSUSPEND 0625 ----- shifted suspend key -key_sundo kUND str !3 KEY_SUNDO 0626 ----- shifted undo key -req_for_input rfi str RF - - ----- send next input char (for ptys) -clr_bol el1 str cb - - ----- Clear to beginning of line -clear_margins mgc str MC - - ----- clear right and left soft margins -set_left_margin smgl str ML - - ----- set left soft margin at current column. See smgl. (ML is not in BSD termcap). -set_right_margin smgr str MR - - ----- set right soft margin at current column -label_format fln str Lf - - ----- label format -set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs -display_clock dclk str DK - - ----- display clock -remove_clock rmclk str RC - - ----- remove clock -create_window cwin str CW - - ----- define a window #1 from #2,#3 to #4,#5 -goto_window wingo str WG - - ----- go to window #1 -hangup hup str HU - - ----- hang-up phone -dial_phone dial str DI - - ----- dial number #1 -quick_dial qdial str QD - - ----- dial number #1 without checking -tone tone str TO - - ----- select touch tone dialing -pulse pulse str PU - - ----- select pulse dialing -flash_hook hook str fh - - ----- flash switch hook -fixed_pause pause str PA - - ----- pause for 2-3 seconds -wait_tone wait str WA - - ----- wait for dial-tone -user0 u0 str u0 - - ----- User string #0 -user1 u1 str u1 - - ----- User string #1 -user2 u2 str u2 - - ----- User string #2 -user3 u3 str u3 - - ----- User string #3 -user4 u4 str u4 - - ----- User string #4 -user5 u5 str u5 - - ----- User string #5 -user6 u6 str u6 - - ----- User string #6 -user7 u7 str u7 - - ----- User string #7 -user8 u8 str u8 - - ----- User string #8 -user9 u9 str u9 - - ----- User string #9 -# -# SVr4 added these capabilities to support color -# -orig_pair op str op - - ----- Set default pair to its original value -orig_colors oc str oc - - ----- Set all color pairs to the original ones -initialize_color initc str Ic - - ----- initialize color #1 to (#2,#3,#4) -initialize_pair initp str Ip - - ----- Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7) -set_color_pair scp str sp - - ----- Set current color pair to #1 -set_foreground setf str Sf - - ----- Set foreground color #1 -set_background setb str Sb - - ----- Set background color #1 -# -# SVr4 added these capabilities to support printers -# -change_char_pitch cpi str ZA - - ----- Change number of characters per inch to #1 -change_line_pitch lpi str ZB - - ----- Change number of lines per inch to #1 -change_res_horz chr str ZC - - ----- Change horizontal resolution to #1 -change_res_vert cvr str ZD - - ----- Change vertical resolution to #1 -define_char defc str ZE - - ----- Define a character #1, #2 dots wide, descender #3 -enter_doublewide_mode swidm str ZF - - ----- Enter double-wide mode -enter_draft_quality sdrfq str ZG - - ----- Enter draft-quality mode -enter_italics_mode sitm str ZH - - ----- Enter italic mode -enter_leftward_mode slm str ZI - - ----- Start leftward carriage motion -enter_micro_mode smicm str ZJ - - ----- Start micro-motion mode -enter_near_letter_quality snlq str ZK - - ----- Enter NLQ mode -enter_normal_quality snrmq str ZL - - ----- Enter normal-quality mode -enter_shadow_mode sshm str ZM - - ----- Enter shadow-print mode -enter_subscript_mode ssubm str ZN - - ----- Enter subscript mode -enter_superscript_mode ssupm str ZO - - ----- Enter superscript mode -enter_upward_mode sum str ZP - - ----- Start upward carriage motion -exit_doublewide_mode rwidm str ZQ - - ----- End double-wide mode -exit_italics_mode ritm str ZR - - ----- End italic mode -exit_leftward_mode rlm str ZS - - ----- End left-motion mode -exit_micro_mode rmicm str ZT - - ----- End micro-motion mode -exit_shadow_mode rshm str ZU - - ----- End shadow-print mode -exit_subscript_mode rsubm str ZV - - ----- End subscript mode -exit_superscript_mode rsupm str ZW - - ----- End superscript mode -exit_upward_mode rum str ZX - - ----- End reverse character motion -micro_column_address mhpa str ZY - - ----- Like column_address in micro mode -micro_down mcud1 str ZZ - - ----- Like cursor_down in micro mode -micro_left mcub1 str Za - - ----- Like cursor_left in micro mode -micro_right mcuf1 str Zb - - ----- Like cursor_right in micro mode -micro_row_address mvpa str Zc - - ----- Like row_address #1 in micro mode -micro_up mcuu1 str Zd - - ----- Like cursor_up in micro mode -order_of_pins porder str Ze - - ----- Match software bits to print-head pins -parm_down_micro mcud str Zf - - ----- Like parm_down_cursor in micro mode -parm_left_micro mcub str Zg - - ----- Like parm_left_cursor in micro mode -parm_right_micro mcuf str Zh - - ----- Like parm_right_cursor in micro mode -parm_up_micro mcuu str Zi - - ----- Like parm_up_cursor in micro mode -select_char_set scs str Zj - - ----- Select character set, #1 -set_bottom_margin smgb str Zk - - ----- Set bottom margin at current line -set_bottom_margin_parm smgbp str Zl - - ----- Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom -set_left_margin_parm smglp str Zm - - ----- Set left (right) margin at column #1 -set_right_margin_parm smgrp str Zn - - ----- Set right margin at column #1 -set_top_margin smgt str Zo - - ----- Set top margin at current line -set_top_margin_parm smgtp str Zp - - ----- Set top (bottom) margin at row #1 -start_bit_image sbim str Zq - - ----- Start printing bit image graphics -start_char_set_def scsd str Zr - - ----- Start character set definition #1, with #2 characters in the set -stop_bit_image rbim str Zs - - ----- Stop printing bit image graphics -stop_char_set_def rcsd str Zt - - ----- End definition of character set #1 -subscript_characters subcs str Zu - - ----- List of subscriptable characters -superscript_characters supcs str Zv - - ----- List of superscriptable characters -these_cause_cr docr str Zw - - ----- Printing any of these characters causes CR -zero_motion zerom str Zx - - ----- No motion for subsequent character -#%.TE -#%.ad -#% -#%The following string capabilities are present in the SVr4.0 term structure, -#%but were originally not documented in the man page. -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw18. -#%\fBVariable Cap- TCap Description\fR -#%\fBString name Code\fR -char_set_names csnm str Zy - - ----- Produce #1'th item from list of character set names -key_mouse kmous str Km KEY_MOUSE 0631 ----- Mouse event has occurred -mouse_info minfo str Mi - - ----- Mouse status information -req_mouse_pos reqmp str RQ - - ----- Request mouse position -get_mouse getm str Gm - - ----- Curses should get button events, parameter #1 not documented. -set_a_foreground setaf str AF - - ----- Set foreground color to #1, using ANSI escape -set_a_background setab str AB - - ----- Set background color to #1, using ANSI escape -pkey_plab pfxl str xl - - ----- Program function key #1 to type string #2 and show string #3 -device_type devt str dv - - ----- Indicate language/codeset support -code_set_init csin str ci - - ----- Init sequence for multiple codesets -set0_des_seq s0ds str s0 - - ----- Shift to codeset 0 (EUC set 0, ASCII) -set1_des_seq s1ds str s1 - - ----- Shift to codeset 1 -set2_des_seq s2ds str s2 - - ----- Shift to codeset 2 -set3_des_seq s3ds str s3 - - ----- Shift to codeset 3 -set_lr_margin smglr str ML - - ----- Set both left and right margins to #1, #2. (ML is not in BSD termcap). -set_tb_margin smgtb str MT - - ----- Sets both top and bottom margins to #1, #2 -bit_image_repeat birep str Xy - - ----- Repeat bit image cell #1 #2 times -bit_image_newline binel str Zz - - ----- Move to next row of the bit image -bit_image_carriage_return bicr str Yv - - ----- Move to beginning of same row -color_names colornm str Yw - - ----- Give name for color #1 -define_bit_image_region defbi str Yx - - ----- Define rectangualar bit image region -end_bit_image_region endbi str Yy - - ----- End a bit-image region -set_color_band setcolor str Yz - - ----- Change to ribbon color #1 -set_page_length slines str YZ - - ----- Set page length to #1 lines -# -# SVr4 added these capabilities for direct PC-clone support -# -display_pc_char dispc str S1 - - ----- Display PC character #1 -enter_pc_charset_mode smpch str S2 - - ----- Enter PC character display mode -exit_pc_charset_mode rmpch str S3 - - ----- Exit PC character display mode -enter_scancode_mode smsc str S4 - - ----- Enter PC scancode mode -exit_scancode_mode rmsc str S5 - - ----- Exit PC scancode mode -pc_term_options pctrm str S6 - - ----- PC terminal options -scancode_escape scesc str S7 - - ----- Escape for scancode emulation -alt_scancode_esc scesa str S8 - - ----- Alternate escape for scancode emulation -#%.TE -#%.ad -#% -#%.in .8i -#%The XSI Curses standard added these. They are some post-4.1 -#%versions of System V curses, e.g., Solaris 2.5 and IRIX 6.x. -#%The \fBncurses\fR termcap names for them are invented; according to the -#%XSI Curses standard, they have no termcap names. If your compiled terminfo -#%entries use these, they may not be binary-compatible with System V terminfo -#%entries after SVr4.1; beware! -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBString name Code\fR -set_pglen_inch slength str sL - - ----- YI Set page length to #1 hundredth of an inch -enter_horizontal_hl_mode ehhlm str Xh - - ----- Enter horizontal highlight mode -enter_left_hl_mode elhlm str Xl - - ----- Enter left highlight mode -enter_low_hl_mode elohlm str Xo - - ----- Enter low highlight mode -enter_right_hl_mode erhlm str Xr - - ----- Enter right highlight mode -enter_top_hl_mode ethlm str Xt - - ----- Enter top highlight mode -enter_vertical_hl_mode evhlm str Xv - - ----- Enter vertical highlight mode -set_a_attributes sgr1 str sA - - ----- Define second set of video attributes #1-#6 -exit_horizontal_hl_mode rhhlm str XH - - ----K Exit horizontal highlight mode -exit_left_hl_mode rlhlm str XL - - ----K Exit left highlight mode -exit_low_hl_mode rlohlm str XO - - ----K Exit low highlight mode -exit_right_hl_mode rrhlm str XR - - ----K Exit right highlight mode -exit_top_hl_mode rthlm str XT - - ----K Exit top highlight mode -exit_vertical_hl_mode rvhlm str XV - - ----K Exit vertical highlight mode -#%.TE -#%.ad -# -# The magic token below tells the tic compiler-generator code that all the caps -# past it should be ignored (not written out) when dumping terminfo objects. It -# also tells the man page table generator not to pass through following lines -# This means we can have obsolete capabilities and pseudo-capabilities that are -# recognized for termcap or terminfo compilation, but not output. -# -# %%-STOP-HERE-%% -# -# Don't move this casually! In fact, don't move it at all unless you're -# either doing it to add System V or XPG4 extensions, or have decided you -# don't care about SVr4 binary compatibility. -# -############################################################################# -# -# TERMCAP EXTENSION CAPABILITIES -# -# The capabilities below are either obsolete or extensions on certain systems. -# They are not used by SVR4 terminfo. Some are used by captoinfo to translate -# termcap sources; the rest are listed for completeness, and in case somebody -# cares about them enough to hack in code that will translate them into -# terminfo capabilities. -# -# The first part of the list is from Ross Ridge's `mytinfo' package -# (comp.sources.unix, volume 26); the variable names and terminfo names (as -# well as the termcap codes) match his list. -# -# This group of codes is not marked obsolete in 4.4BSD, but have no direct -# terminfo equivalents. The rs capability is specially translated to terminfo -# r2, and vice versa, if an entry does not already have an r2. Similarly, -# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2). -# The ug capability is thrown away, but assumed to be whatever sg is if the -# latter is nonzero and we're dumping in termcap format. -# -termcap_init2 OTi2 str i2 - - YB--- secondary initialization string -termcap_reset OTrs str rs - - YB-G- terminal reset string -magic_cookie_glitch_ul OTug num ug - - YBCGE number of blanks left by ul -# -# Obsolete termcap capabilities. Some are used for termcap translation. The -# code uses the 'OT' prefix we put on obsolete capabilities to suppress -# printing them in terminfo source dumps of compiled entries. -# -backspaces_with_bs OTbs bool bs - - YBCGE uses ^H to move left -crt_no_scrolling OTns bool ns - - YBCG- crt cannot scroll -no_correctly_working_cr OTnc bool nc - - YBCG- no way to go to start of line -carriage_return_delay OTdC num dC - - YB-G- pad needed for CR -new_line_delay OTdN num dN - - YB-G- pad needed for LF -linefeed_if_not_lf OTnl str nl - - YBCGE use to move down -backspace_if_not_bs OTbc str bc - - YBCGE move left, if not ^H -# -# GNU termcap library extensions. The GNU termcap file distributed with -# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the -# BSD termcap file. The name clash with terminfo MT is resolved by type -# info; MT is converted to km. -# -gnu_has_meta_key OTMT bool MT - - ----E has meta key -# gnu_tab_width OTtw num tw - - ----E tab width in spaces -# -# GNU termcap *does* include the following extended capability, Only the -# now-obsolete Ann Arbor terminals used it. -# -# gnu_change_scroll_region OTcS str cS - - ---GE alternate set scrolling region -# -# The following comments describe capnames so ancient that I believe no -# software uses them any longer. Some of these have to go because they -# clash with terminfo names in ways that cannot be resolved by type -# information. -# -# These mytinfo codes are not used in the 4.4BSD curses code. They are -# marked obsolete in the 4.4BSD manual pages. -# -# There is one conflict with terminfo; ma is in both. This conflict is -# resolved by type information. -# -# The `ko' capability is translated by special code. It should contain a -# comma-separated list of capabilities for which there are corresponding keys. -# The `kn' code is accepted but ignored. -# -# The `ma' capability seems to have been designed to map between the rogue(2) -# motion keys (including jkhl) and characters emitted by arrow keys on some -# primitive pre-ANSI terminals. It's so obsolete it's fossilized... -# -# Here is a description of memory_lock_above and memory_unlock: -# "You can 'freeze' data on the screen by turning on Memory Lock in a line of -# text. All lines above the cursor's current line become locked in place on -# the screen. Then enter data normally. When the screen fills up, any -# further data entered forces the first line of unfrozen line text to scroll -# under the frozen data. Lines scrolled off the screen are inserted into -# memory immediately preceding the first frozen line." (from the HP 700/96 -# User's manual). VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l. -# -# Applications that use terminfo are supposed to behave as though xr is -# always true. -# -linefeed_is_newline OTNL bool NL - - YB--- move down with \n -# even_parity OTEP bool EP - - -B--- terminal requires even parity -# odd_parity OTOP bool OP - - -B--- terminal requires odd parity -# half_duplex OTHD bool HD - - -B--- terminal is half-duplex -# lower_case_only OTLC bool LC - - -B--- terminal has only lower case -# upper_case_only OTUC bool UC - - -B--- terminal has only upper case -backspace_delay OTdB num dB - - YB-G- padding required for ^H -# form_feed_delay OTdF num dF - - -B-G- padding required for ^L -horizontal_tab_delay OTdT num dT - - YB-G- padding required for ^I -# vertical_tab_delay OTdV num dV - - -B--- padding required for ^V -number_of_function_keys OTkn num kn - - -B-G- count of function keys -other_non_function_keys OTko str ko - - -B-G- list of self-mapped keycaps -arrow_key_map OTma str ma - - YBC-- map arrow keys rogue(1) motion keys -# memory_lock_above OTml str ml - - -B--- lock visible screen memory above the current line -# memory_unlock OTmu str mu - - -B--- unlock visible screen memory above the current line -has_hardware_tabs OTpt bool pt - - YB--- has 8-char tabs invoked with ^I -return_does_clr_eol OTxr bool xr - - YB--- return clears the line -# tek_4025_insert_line OTxx bool xx - - -BC-- Tektronix 4025 insert-line glitch -# -# mytinfo described this as a termcap capability, but it's not listed in the -# 4.4BSD man pages, and not found in the 4.4BSD termcap file. The ncurses -# package, like System V, behaves as though it is always true. -# -# rind_only_at_top OTxq bool xq - - ----- reverse index only works from top line -# -# University of Waterloo termcap extensions (as described in mytinfo). -# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot -# be resolved by a type check. The descriptions are guesses from what was -# in the mytinfo tables. -# -# key_interrupt_char OTki str ki - - ----- string set by interrupt key (?) -# key_kill_char OTkk str kk - - ----- string set by kill key (?) -# key_suspend_char OTkz str kz - - ----- string set by suspend key (?) -# initialization_messy OTxc bool xc - - ----- initialization leaves garbage on the screen (?) -# ind_at_bottom_does_cr OTxl bool xl - - ----- index does a carriage return -# -# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package. -# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type -# check. -# -# scroll_left OTsl1 str Sl - - ----- scroll screen leftward -# scroll_right OTsr1 str Sr - - ----- scroll screen rightward -# parm_scroll_left OTsl str SL - - ----- scroll screen leftward #1 characters -# parm_scroll_right OTsr str SR - - ----- scroll screen rightward #1 characters -# -# The mytinfo capabilities end here. -# -# XENIX extensions: -# -# Xenix defined its own set of forms-drawing capabilities: -# -# cap IBM ASCII description ACS ASCII -# --- ----------- -------------------- ------------- ------ -# G1 191 \277 M-? single upper right ACS_URCORNER -# G2 218 \332 M-Z single upper left ACS_ULCORNER -# G3 192 \300 M-@ single lower left ACS_LLCORNER -# G4 217 \331 M-Y single lower right ACS_LRCORNER -# G5 187 \273 M-; double upper right -# G6 201 \311 M-I double upper left -# G7 200 \310 M-H double lower left -# G8 188 \274 M-< double lower right -# GC 197 \305 M-E single intersection ACS_PLUS _ _ -# GD 194 \302 M-B single down-tick ACS_TTEE | -# GH 196 \304 M-D single horizontal line ACS_HLINE -# GL 180 \264 M-4 single left tick ACS_RTEE -| -# GR 195 \303 M-C single right tick ACS_LTEE |- -# GU 193 \301 M-A single up tick ACS_BTEE _|_ -# GV 179 \263 M-3 single vertical line ACS_VLINE -# Gc 206 \316 M-N double intersection -# Gd 203 \313 M-K double down tick -# Gh 205 \315 M-M double horizontal line -# Gl 204 \204 M-L double left tick -# Gr 185 \271 M-9 double right tick -# Gu 202 \312 M-J double up tick -# Gv 186 \272 M-: double vertical line -# -# The compiler will translate the single-line caps and discard the others -# (via IGNORE aliases further down). We don't want to do normal pad -# translation on these, they're often single-character printable ASCII -# strings that happen to be numerics. There's awk code in parametrized.sh -# that detects the acs_ prefix and uses it to suppress pad translation. -# These terminfo names are invented. -# -acs_ulcorner OTG2 str G2 - - ----- single upper left -acs_llcorner OTG3 str G3 - - ----- single lower left -acs_urcorner OTG1 str G1 - - ----- single upper right -acs_lrcorner OTG4 str G4 - - ----- single lower right -acs_ltee OTGR str GR - - ----- tee pointing right -acs_rtee OTGL str GL - - ----- tee pointing left -acs_btee OTGU str GU - - ----- tee pointing up -acs_ttee OTGD str GD - - ----- tee pointing down -acs_hline OTGH str GH - - ----- single horizontal line -acs_vline OTGV str GV - - ----- single vertical line -acs_plus OTGC str GC - - ----- single intersection -# -############################################################################# -# -# TERMINFO EXTENSION CAPABILITIES -# -# This section is almost all comments. What it's mainly for is to describe -# what capabilities need to be squeezed out to get down to the XSI Curses -# standard set. They are flagged with K. -# -# HP extensions -# -# These extensions follow ptr_non (replacing everything after it) in HP -# terminfo files. Except for memory_lock and memory_unlock, they are -# functionally identical to SVr4 extensions, but they make the binary format -# different. Grrr.... -# -#memory_lock meml str ml - - ----K memory lock above -#memory_unlock memu str mu - - ----K memory unlock -#plab_norm pln str pn - - ----- program label #1 to show string #2 -#label_on smln str LO - - ----- turn on soft labels -#label_off rmln str LF - - ----- turn off soft labels -#key_f11 kf11 str F1 - - ----- F11 function key -#key_f12 kf12 str F2 - - ----- F12 function key -#key_f13 kf13 str F3 - - ----- F13 function key -#key_f14 kf14 str F4 - - ----- F14 function key -#key_f15 kf15 str F5 - - ----- F15 function key -#key_f16 kf16 str F6 - - ----- F16 function key -#key_f17 kf17 str F7 - - ----- F17 function key -#key_f18 kf18 str F8 - - ----- F18 function key -#key_f19 kf19 str F9 - - ----- F19 function key -#key_f20 kf20 str FA - - ----- F20 function key -#key_f21 kf21 str FB - - ----- F21 function key -#key_f22 kf22 str FC - - ----- F22 function key -#key_f23 kf23 str FD - - ----- F23 function key -#key_f24 kf24 str FE - - ----- F24 function key -#key_f25 kf25 str FF - - ----- F25 function key -#key_f26 kf26 str FG - - ----- F26 function key -#key_f27 kf27 str FH - - ----- F27 function key -#key_f28 kf28 str FI - - ----- F28 function key -#key_f29 kf29 str FJ - - ----- F29 function key -#key_f30 kf30 str FK - - ----- F30 function key -#key_f31 kf31 str FL - - ----- F31 function key -#key_f32 kf32 str FM - - ----- F32 function key -#key_f33 kf33 str FN - - ----- F33 function key -#key_f34 kf34 str FO - - ----- F34 function key -#key_f35 kf35 str FP - - ----- F35 function key -#key_f36 kf36 str FQ - - ----- F36 function key -#key_f37 kf37 str FR - - ----- F37 function key -#key_f38 kf38 str FS - - ----- F38 function key -#key_f39 kf39 str FT - - ----- F39 function key -#key_f40 kf40 str FU - - ----- F40 function key -#key_f41 kf41 str FV - - ----- F41 function key -#key_f42 kf42 str FW - - ----- F42 function key -#key_f43 kf43 str FX - - ----- F43 function key -#key_f44 kf44 str FY - - ----- F44 function key -#key_f45 kf45 str FZ - - ----- F45 function key -#key_f46 kf46 str Fa - - ----- F46 function key -#key_f47 kf47 str Fb - - ----- F47 function key -#key_f48 kf48 str Fc - - ----- F48 function key -#key_f49 kf49 str Fd - - ----- F49 function key -#key_f50 kf50 str Fe - - ----- F50 function key -#key_f51 kf51 str Ff - - ----- F51 function key -#key_f52 kf52 str Fg - - ----- F52 function key -#key_f53 kf53 str Fh - - ----- F53 function key -#key_f54 kf54 str Fi - - ----- F54 function key -#key_f55 kf55 str Fj - - ----- F55 function key -#key_f56 kf56 str Fk - - ----- F56 function key -#key_f57 kf57 str Fl - - ----- F57 function key -#key_f58 kf58 str Fm - - ----- F58 function key -#key_f59 kf59 str Fn - - ----- F59 function key -#key_f60 kf60 str Fo - - ----- F60 function key -#key_f61 kf61 str Fp - - ----- F61 function key -#key_f62 kf62 str Fq - - ----- F62 function key -#key_f63 kf63 str Fr - - ----- F63 function key -# -# IBM extensions -# -# These extensions follow ptr_non (replacing everything after it) in IBM -# terminfo files. -# -# The places in the box[12] capabilities correspond to acsc characters, here is -# the mapping: -# -# box1[0] = ACS_ULCORNER -# box1[1] = ACS_HLINE -# box1[2] = ACS_URCORNER -# box1[3] = ACS_VLINE -# box1[4] = ACS_LRCORNER -# box1[5] = ACS_LLCORNER -# box1[6] = ACS_TTEE -# box1[7] = ACS_RTEE -# box1[8] = ACS_BTEE -# box1[9] = ACS_LTEE -# box1[10] = ACS_PLUS -# -# The box2 characters are the double-line versions of these forms graphics. -# -box_chars_1 box1 str bx - - ----K box characters primary set -#box_chars_2 box2 str by - - ----K box characters secondary set -#box_attr_1 batt1 str Bx - - ----K attributes for box1 -#box_attr_2 batt2 str By - - ----K attributes for box2 -#color_bg_0 colb0 str d0 - - ----K background color 0 -#color_bg_1 colb1 str d1 - - ----K background color 1 -#color_bg_2 colb2 str d2 - - ----K background color 2 -#color_bg_3 colb3 str d3 - - ----K background color 3 -#color_bg_4 colb4 str d4 - - ----K background color 4 -#color_bg_5 colb5 str d5 - - ----K background color 5 -#color_bg_6 colb6 str d6 - - ----K background color 6 -#color_bg_7 colb7 str d7 - - ----K background color 7 -#color_fg_0 colf0 str c0 - - ----K foreground color 0 -#color_fg_1 colf1 str c1 - - ----K foreground color 1 -#color_fg_2 colf2 str c2 - - ----K foreground color 2 -#color_fg_3 colf3 str c3 - - ----K foreground color 3 -#color_fg_4 colf4 str c4 - - ----K foreground color 4 -#color_fg_5 colf5 str c5 - - ----K foreground color 5 -#color_fg_6 colf6 str c6 - - ----K foreground color 6 -#color_fg_7 colf7 str c7 - - ----K foreground color 7 -#font_0 font0 str f0 - - ----- select font 0 -#font_1 font1 str f1 - - ----- select font 1 -#font_2 font2 str f2 - - ----- select font 2 -#font_3 font3 str f3 - - ----- select font 3 -#font_4 font4 str f4 - - ----K select font 4 -#font_5 font5 str f5 - - ----K select font 5 -#font_6 font6 str f6 - - ----K select font 6 -#font_7 font7 str f7 - - ----K select font 7 -#key_back_tab kbtab str k0 - - ----- backtab key -#key_do kdo str ki - - ----K do request key -#key_command kcmd str kd - - ----K command-request key -#key_command_pane kcpn str kW - - ----K command-pane key -#key_end kend str kw - - ----- end key -#key_help khlp str kq - - ----- help key -#key_newline knl str nl - - ----K newline key -#key_next_pane knpn str kv - - ----K next-pane key -#key_prev_cmd kppn str kp - - ----K previous-command key -#key_prev_pane kppn str kV - - ----K previous-pane key -#key_quit kquit str kQ - - ----K quit key -#key_select ksel str kU - - ----- select key -#key_scroll_left kscl str kz - - ----K scroll left -#key_scroll_right kscr str kZ - - ----K scroll right -#key_tab ktab str ko - - ----K tab key -#key_smap_in1 kmpf1 str Kv - - ----K special mapped key 1 input -#key_smap_out1 kmpt1 str KV - - ----K special mapped key 1 output -#key_smap_in2 kmpf2 str Kw - - ----K special mapped key 2 input -#key_smap_out2 kmpt2 str KW - - ----K special mapped key 2 output -#key_smap_in3 kmpf3 str Kx - - ----K special mapped key 3 input -#key_smap_out3 kmpt3 str KX - - ----K special mapped key 3 output -#key_smap_in4 kmpf4 str Ky - - ----K special mapped key 4 input -#key_smap_out4 kmpt4 str KY - - ----K special mapped key 4 output -#key_smap_in5 kmpf5 str Kz - - ----K special mapped key 5 input -#key_smap_out5 kmpt5 str KZ - - ----K special mapped key 5 output -#appl_defined_str apstr str za - - ----K application-defined string -# The key_smap_in[6789] and key_smap_out[6789] capabilities aren't described in -# the IBM manual pages, so the cap name strings are guesses. The terminfo -# names are almost certainly right, the termcap ones almost certainly wrong. -#key_smap_in6 kmpf6 str k! - - ----K special mapped key 6 input -#key_smap_out6 kmpt6 str K@ - - ----K special mapped key 6 output -#key_smap_in7 kmpf7 str k# - - ----K special mapped key 7 input -#key_smap_out7 kmpt7 str K$ - - ----K special mapped key 7 output -#key_smap_in8 kmpf8 str k% - - ----K special mapped key 8 input -#key_smap_out8 kmpt8 str K^ - - ----K special mapped key 8 output -#key_smap_in9 kmpf9 str k& - - ----K special mapped key 9 input -#key_smap_out9 kmpt9 str K* - - ----K special mapped key 9 output -# Undocumented capabilities end here -#key_sf1 ksf1 str S1 - - ----K special function key 1 -#key_sf2 ksf2 str S2 - - ----K special function key 2 -#key_sf3 ksf3 str S3 - - ----K special function key 3 -#key_sf4 ksf4 str S4 - - ----K special function key 4 -#key_sf5 ksf5 str S5 - - ----K special function key 5 -#key_sf6 ksf6 str S6 - - ----K special function key 6 -#key_sf7 ksf7 str S7 - - ----K special function key 7 -#key_sf8 ksf8 str S8 - - ----K special function key 8 -#key_sf9 ksf9 str S9 - - ----K special function key 9 -#key_sf10 ksf10 str SA - - ----K special function key 10 -# AIX version 3 documents different codes for F11, F12 and does not mention -# F13-F64. AIX version 4 uses the same naming for F0-F63 as above. -#key_f11 kf11 str k< - - ----- function key 11 -#key_f12 kf12 str k> - - ----- function key 12 -# Undocumented capabilities end here. -#key_action kact str kJ - - ----K sent by action key -# The IBM docs say these capabilities are for table-drawing, and are -# valid only for aixterm descriptions. -#enter_topline_mode topl str tp - - ----K start top-line mode -#enter_bottom_mode btml str bm - - ----K start bottom-line mode -#enter_rvert_mode rvert str rv - - ----K start right-vertical mode -#enter_lvert_mode lvert str lv - - ----K start left-vertical mode -# -############################################################################# -# -# ALIAS DECLARATIONS -# -# Here we set up aliases for translating extensions into standard terminfo. -# -#---------------------------------- Termcap aliases ------------------------- -# -# BSD aliases: -# -# This is a common error in many termcap files. We'll get notified during -# translation when this (or any other alias) fires. -# -capalias sb sr BSD scroll text down -# -# AT&T extensions: -# -# The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of -# nonstandard capabilities. Its signature is the KM capability, used to name -# some sort of keymap file. EE, BO, CI, CV, XS, DS, FL and FE are in this -# set. Comments in the original, and a little cross-checking with other AT&T -# documentation, seem to establish the following mappings: -# -capalias BO mr AT&T enter_reverse_mode -capalias CI vi AT&T cursor_invisible -capalias CV ve AT&T cursor_normal -capalias DS mh AT&T enter_dim_mode -#capalias EE me AT&T exit_attribute_mode -capalias FE LF AT&T label_on -capalias FL LO AT&T label_off -capalias XS mk AT&T enter_secure_mode -# -# We comment out EE because the conflicting XENIX EE is more common in -# old entries. -# -# XENIX extensions: -# -# These are the ones we know how to translate directly: -# -capalias EE mh XENIX exit_attribute_mode -capalias GE ae XENIX exit_alt_charset_mode -capalias GS as XENIX enter_alt_charset_mode -capalias CF vi XENIX cursor_invis -capalias CO ve XENIX cursor_normal -capalias EN @7 XENIX key_end -capalias HM kh XENIX key_home -capalias LD kL XENIX key_dl -capalias PD kN XENIX key_npage -capalias PN po XENIX prtr_off -capalias PS pf XENIX prtr_on -capalias PU kP XENIX key_ppage -capalias RT @8 XENIX kent -capalias UP ku XENIX kcuu1 -capalias G6 IGNORE XENIX double-ACS_ULCORNER -capalias G7 IGNORE XENIX double-ACS_LLCORNER -capalias G5 IGNORE XENIX double-ACS_URCORNER -capalias G8 IGNORE XENIX double-ACS_LRCORNER -capalias Gr IGNORE XENIX double-ACS_LTEE -capalias Gr IGNORE XENIX double-ACS_RTEE -capalias Gu IGNORE XENIX double-ACS_BTEE -capalias Gd IGNORE XENIX double ACS_TTEE -capalias Gh IGNORE XENIX double-ACS_HLINE -capalias Gv IGNORE XENIX double-ACS_VLINE -capalias Gc IGNORE XENIX double-ACS_PLUS -capalias GG IGNORE XENIX acs-glitch -# -# IBM extensions: -# -capalias kq %1 IBM key_help -# -# Iris extensions: -# -capalias HS mh IRIS enter_dim_mode -# -# Tektronix extensions: -# -capalias KA k; Tek key_f10 -capalias KB F1 Tek key_f11 -capalias KC F2 Tek key_f12 -capalias KD F3 Tek key_f13 -capalias KE F4 Tek key_f14 -capalias KF F5 Tek key_f15 -capalias BC Sb Tek set_background -capalias FC Sf Tek set_foreground -# -# There are also the following: -# -# XENIX XENIX variable name name clash with terminfo? -# ----- ------------------- ------------------------- -# CL key_char_left -# CR key_char_right -# CW key_change_window -# HP ?? -# LF key_linefeed label_off -# NU key_next_unlocked_cell -# PL ?? -# PR ?? -# RC key_recalc remove_clock -# RF key_toggle_ref req_for_input -# WL key_word_left -# WR key_word_right -# -# If you know what any of the question-marked ones mean, please tell us. -# -#--------------------------------- Terminfo aliases ------------------------ -# -# IBM extensions: -# -infoalias font0 s0ds IBM set0_des_seq -infoalias font1 s1ds IBM set1_des_seq -infoalias font2 s2ds IBM set2_des_seq -infoalias font3 s3ds IBM set3_des_seq -infoalias kbtab kcbt IBM key_backtab -infoalias ksel kslt IBM key_select -# -# Some others are identical to SVr4/XPG4 capabilities, in particular: -# kcmd, kend, khlp, and kf11...kf63. -# -############################################################################# -# -# The following sets edit modes for GNU EMACS -# Local Variables: -# case-fold-search:nil -# truncate-lines:t -# End: diff --git a/src/libs/ncurses/include/Caps.keys b/src/libs/ncurses/include/Caps.keys deleted file mode 100644 index 7ef7545fa5..0000000000 --- a/src/libs/ncurses/include/Caps.keys +++ /dev/null @@ -1,1354 +0,0 @@ -############################################################################## -# Copyright (c) 2001 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas Dickey -# and: Ilya Zakharevich -# -# $Id: Caps.keys,v 1.2 2002/04/20 15:43:49 tom Exp $ -# -# This is an adaptation of ncurses' termcap/terminfo capability table, which -# is illustrates an experimental extension to describe alt-, shift- and -# control-modifiers applied to function and normal keys, as done on IBM pc's. -# -# This table is used to generate initializers for tables that drive tic, -# infocmp, and the library compilation code used to support the termcap -# compatibility hack. It is also used to generate the tabular portion of the -# terminfo(5) man page; lines beginning with `#%' are passed through to become -# the terminfo table. -# -# This file has three major sections; a standard-capabilities table, two -# extension-capability tables, and a section of aliases declarations. -# The first two have the same format, as follows: -# -# FILE FORMAT -# -# Column 1: terminfo variable name -# Column 2: terminfo capability name -# Column 3: capability type (boolean, numeric, or string) -# Column 4: termcap capability name -# Column 5: KEY_xxx name, if any, `-' otherwise -# Column 6: value for KEY_xxx name, if any, `-' otherwise -# Column 7: Lead with `Y' if capability should be emitted in termcap -# translations, `-' otherwise -# Column 8: capability description -# -# The codes following [Y-] in column 7 describe the versions of termcap which -# use the given capability. This information is not used by the curses library -# proper; rather, it's there to help the terminfo maintainer avoid emitting -# termcap entry translations that are more than 1023 bytes long (and tank a -# lot of old termcap-using programs). The codes read as follows: -# B = mentioned in the BSD man page for 4.4BSD curses -# C = used by the 4.4BSD curses library -# G = mentioned in the documentation for GNU termcap -# E = used by GNU Emacs -# K = remove this terminfo capability when translating to standard format -# The important codes are C and E. A cap with C or E should be preserved in -# translation if possible. The problem is that preserving all such caps may -# lead to some termcap translations being too long. The termcap maintainer -# has a bit of a juggling act to do...potential problem cases are marked with -# an asterisk (*). -# -# The aliases section has the following format: -# -# Column 1: either `capalias' or `infoalias' -# Column 2: name to be aliased -# Column 3: what name it should translate to. The name IGNORE means it -# should be discarded with a warning message. -# Column 4: name of the extension set (used for compiler warning messages) -# Column 5: capability description (usually an associated terminfo variable) -# -# HANDLING TERMCAP AND TERMINFO EXTENSIONS -# -# There are basically five different ways to handle termcap and terminfo -# extensions: -# -# 1. Don't list the capname here, or list it but comment it out (the latter -# is preferable; someone might want to handle it in the future). If you do -# this, the capability will be treated as unknown and raise a warning from -# the compiler. -# -# 2. Alias it. This is appropriate if the capability has the same meaning -# as an already-supported one. The compiler will handle aliasing, emitting -# an appropriate informational message whenever an alias fires. -# -# 3. List it in the standard table. You almost certainly do *not* want -# to do this -- the capabilities in that one, and their order, have been -# carefully chosen to be SVr4-binary-compatible when they're written out -# as a terminfo object, and breaking this would be bad. It's up the ncurses -# library what to do with the terminfo data after it's read in. -# -# 4. List it in the aliases table with an IGNORE target field. If you -# do this, the capability will be ignored on input (though the user will -# get a warning message about it). -# -# 5. List it in the extensions table. If you do this, the compiler will -# silently accept the capability, but the curses library proper will never -# see it (because it won't be written out as part of the terminfo object -# format). It's up to you what you have the compiler do with it. -# -# There are two opposite reasons to choose option 5. One is when you want -# to eat the capability silently and discard it when doing translations -# to terminfo with tic -I. Some very old obsolete BSD caps like :kn: are -# in this class. Nothing will ever use them again. -# -# More usually, you want the compiler to try to deduce something from the -# capability value that it can use to translate it into your output format. -# You'll need to write custom code, probably in postprocess_termcap() or -# postprocess_terminfo(), to handle the translation. -# -# CONTROLLING ENTRY LENGTH -# -# Notes on specific elisions made to fit translations within 1023 bytes: -# -# Machines with IBM PC-like keyboards want to be able to define the following -# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap- -# only environments for End or Home-Down), key_dc, and key_ic. This is also -# the set of keys the `joe' editor will be upset if it can't see. So don't -# trim those out of the set to be translated to termcap, or various users of -# the termcap file will become irate. -# -# It might look tempting to leave those long init strings out of translations. -# We can't do it (yet); 4.4BSD tput and tset use them. -# -# We retain the sgr capability in translation in spite of the fact that neither -# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are -# hard to understand without it, and (b) the entries in which it is long tend -# to be older types that don't use up a lot of string space on function keys. -# The tic(1) translation code will complain and elide it if it makes a critical -# difference (there is special code in tic to recognize this situation). -# -# Yes, BSD tset(1) uses hpa. We elide hpa/vpa anyway because the motion -# optimizer in BSD curses didn't use them. This omission seems to be the -# single most effective one, it shortened the resolved length of all thirteen -# problem entries in the 9.9.0 version of the terminfo master below critical. -# -# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap -# translations go back over critical if we do this. As 4.4BSD curses fades -# into history and GNU termcap's application base shrinks towards being GNU -# Emacs only, we'll probably elide out some BSD-only capabilities in order -# to buy space for non-essentials Emacs is still using. Capabilities high -# on that hit list: rc, sc, uc. -# -############################################################################# -# -# STANDARD CAPABILITIES -# -#%The following is a complete table of the capabilities included in a -#%terminfo description block and available to terminfo-using code. In each -#%line of the table, -#% -#%The \fBvariable\fR is the name by which the programmer (at the terminfo level) -#%accesses the capability. -#% -#%The \fBcapname\fR is the short name used in the text of the database, -#%and is used by a person updating the database. -#%Whenever possible, capnames are chosen to be the same as or similar to -#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses -#%identical or very similar names). Semantics are also intended to match -#%those of the specification. -#% -#%The termcap code is the old -#%.B termcap -#%capability name (some capabilities are new, and have names which termcap -#%did not originate). -#%.P -#%Capability names have no hard length limit, but an informal limit of 5 -#%characters has been adopted to keep them short and to allow the tabs in -#%the source file -#%.B Caps -#%to line up nicely. -#% -#%Finally, the description field attempts to convey the semantics of the -#%capability. You may find some codes in the description field: -#%.TP -#%(P) -#%indicates that padding may be specified -#%.TP -#%#[1-9] -#%in the description field indicates that the string is passed through tparm with -#%parms as given (#\fIi\fP). -#%.TP -#%(P*) -#%indicates that padding may vary in proportion to the number of -#%lines affected -#%.TP -#%(#\d\fIi\fP\u) -#%indicates the \fIi\fP\uth\d parameter. -#% -#%.PP -#% These are the boolean capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBBooleans name Code\fR -auto_left_margin bw bool bw - - YB-G- cub1 wraps from column 0 to last column -auto_right_margin am bool am - - YBCGE terminal has automatic margins -no_esc_ctlc xsb bool xb - - YBCG- beehive (f1=escape, f2=ctrl C) -ceol_standout_glitch xhp bool xs - - YBCGE standout not erased by overwriting (hp) -eat_newline_glitch xenl bool xn - - YBCGE newline ignored after 80 cols (concept) -erase_overstrike eo bool eo - - YBCG- can erase overstrikes with a blank -generic_type gn bool gn - - YB-G- generic line type -hard_copy hc bool hc - - YBCG- hardcopy terminal -has_meta_key km bool km - - YB-GE Has a meta key (i.e., sets 8th-bit) -has_status_line hs bool hs - - YB-G- has extra status line -insert_null_glitch in bool in - - YBCGE insert mode distinguishes nulls -memory_above da bool da - - YBCG- display may be retained above the screen -memory_below db bool db - - YB-GE display may be retained below the screen -move_insert_mode mir bool mi - - YBCGE safe to move while in insert mode -move_standout_mode msgr bool ms - - YBCGE safe to move while in standout mode -over_strike os bool os - - YBCG- terminal can overstrike -status_line_esc_ok eslok bool es - - YB-G- escape can be used on the status line -dest_tabs_magic_smso xt bool xt - - YBCGE tabs destructive, magic so char (t1061) -tilde_glitch hz bool hz - - YB-GE can't print ~'s (hazeltine) -transparent_underline ul bool ul - - YBCGE underline character overstrikes -xon_xoff xon bool xo - - YB--- terminal uses xon/xoff handshaking -needs_xon_xoff nxon bool nx - - ----- padding won't work, xon/xoff required -prtr_silent mc5i bool 5i - - ----- printer won't echo on screen -hard_cursor chts bool HC - - ----- cursor is hard to see -non_rev_rmcup nrrmc bool NR - - ----- smcup does not reverse rmcup -no_pad_char npc bool NP - - ----- pad character does not exist -non_dest_scroll_region ndscr bool ND - - ----- scrolling region is non-destructive -can_change ccc bool cc - - ----- terminal can re-define existing colors -back_color_erase bce bool ut - - ----- screen erased with background color -hue_lightness_saturation hls bool hl - - ----- terminal uses only HLS color notation (Tektronix) -col_addr_glitch xhpa bool YA - - ----- only positive motion for hpa/mhpa caps -cr_cancels_micro_mode crxm bool YB - - ----- using cr turns off micro mode -has_print_wheel daisy bool YC - - ----- printer needs operator to change character set -row_addr_glitch xvpa bool YD - - ----- only positive motion for vpa/mvpa caps -semi_auto_right_margin sam bool YE - - ----- printing in last column causes cr -cpi_changes_res cpix bool YF - - ----- changing character pitch changes resolution -lpi_changes_res lpix bool YG - - ----- changing line pitch changes resolution -#%.TE -#%.ad -#% -#%These are the numeric capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBNumeric name Code\fR -columns cols num co - - YBCGE number of columns in a line -init_tabs it num it - - YB-G- tabs initially every # spaces -lines lines num li - - YBCGE number of lines on screen or page -lines_of_memory lm num lm - - YB-G- lines of memory if > line. 0 means varies -magic_cookie_glitch xmc num sg - - YBCGE number of blank characters left by smso or rmso -padding_baud_rate pb num pb - - YB-GE lowest baud rate where padding needed -virtual_terminal vt num vt - - YB--- virtual terminal number (CB/unix) -width_status_line wsl num ws - - YB-G- number of columns in status line -num_labels nlab num Nl - - ----- number of labels on screen -label_height lh num lh - - ----- rows in each label -label_width lw num lw - - ----- columns in each label -max_attributes ma num ma - - YBC-- maximum combined attributes terminal can handle -maximum_windows wnum num MW - - ----- maximum number of defineable windows -# These came in with SVr4's color support -max_colors colors num Co - - ----- maximum number of colors on screen -max_pairs pairs num pa - - ----- maximum number of color-pairs on the screen -no_color_video ncv num NC - - ----- video attributes that can't be used with colors -#%.TE -#%.ad -#% -#%The following numeric capabilities are present in the SVr4.0 term structure, -#%but are not yet documented in the man page. They came in with SVr4's -#%printer support. -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBNumeric name Code\fR -buffer_capacity bufsz num Ya - - ----- numbers of bytes buffered before printing -dot_vert_spacing spinv num Yb - - ----- spacing of pins vertically in pins per inch -dot_horz_spacing spinh num Yc - - ----- spacing of dots horizontally in dots per inch -max_micro_address maddr num Yd - - ----- maximum value in micro_..._address -max_micro_jump mjump num Ye - - ----- maximum value in parm_..._micro -micro_col_size mcs num Yf - - ----- character step size when in micro mode -micro_line_size mls num Yg - - ----- line step size when in micro mode -number_of_pins npins num Yh - - ----- numbers of pins in print-head -output_res_char orc num Yi - - ----- horizontal resolution in units per line -output_res_line orl num Yj - - ----- vertical resolution in units per line -output_res_horz_inch orhi num Yk - - ----- horizontal resolution in units per inch -output_res_vert_inch orvi num Yl - - ----- vertical resolution in units per inch -print_rate cps num Ym - - ----- print rate in characters per second -wide_char_size widcs num Yn - - ----- character step size when in double wide mode -buttons btns num BT - - ----- number of buttons on mouse -bit_image_entwining bitwin num Yo - - ----- number of passes for each bit-image row -bit_image_type bitype num Yp - - ----- type of bit-image device -#%.TE -#%.ad -#% -#%These are the string capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBString name Code\fR -back_tab cbt str bt - - YBCGE back tab (P) -bell bel str bl - - YB-GE audible signal (bell) (P) -carriage_return cr str cr - - YBCGE carriage return (P*) (P*) -change_scroll_region csr str cs - - YBCGE change region to line #1 to line #2 (P) -clear_all_tabs tbc str ct - - YB-G- clear all tab stops (P) -clear_screen clear str cl - - YBCGE clear screen and home cursor (P*) -clr_eol el str ce - - YBCGE clear to end of line (P) -clr_eos ed str cd - - YBCGE clear to end of screen (P*) -column_address hpa str ch - - -B-GE* horizontal position #1, absolute (P) -command_character cmdch str CC - - YB-G- terminal settable cmd character in prototype !? -cursor_address cup str cm - - YBCGE move to row #1 columns #2 -cursor_down cud1 str do - - YBCGE down one line -cursor_home home str ho - - YBCGE home cursor (if no cup) -cursor_invisible civis str vi - - YB-G- make cursor invisible -cursor_left cub1 str le - - YBCGE move left one space -cursor_mem_address mrcup str CM - - YB-G- memory relative cursor addressing, move to row #1 columns #2 -cursor_normal cnorm str ve - - YBCGE make cursor appear normal (undo civis/cvvis) -cursor_right cuf1 str nd - - YBCGE non-destructive space (move right one space) -cursor_to_ll ll str ll - - YBCGE last line, first column (if no cup) -cursor_up cuu1 str up - - YBCGE up one line -cursor_visible cvvis str vs - - YBCGE make cursor very visible -delete_character dch1 str dc - - YBCGE delete character (P*) -delete_line dl1 str dl - - YBCGE delete line (P*) -dis_status_line dsl str ds - - YB-G- disable status line -down_half_line hd str hd - - YB-G- half a line down -enter_alt_charset_mode smacs str as - - YB-G- start alternate character set (P) -enter_blink_mode blink str mb - - YB-G- turn on blinking -enter_bold_mode bold str md - - YB-G- turn on bold (extra bright) mode -enter_ca_mode smcup str ti - - YBCGE string to start programs using cup -enter_delete_mode smdc str dm - - YBCGE enter delete mode -enter_dim_mode dim str mh - - YB-G- turn on half-bright mode -enter_insert_mode smir str im - - YBCGE enter insert mode -enter_secure_mode invis str mk - - -B-G-* turn on blank mode (characters invisible) -enter_protected_mode prot str mp - - -B-G-* turn on protected mode -enter_reverse_mode rev str mr - - YB-G- turn on reverse video mode -enter_standout_mode smso str so - - YBCGE begin standout mode -enter_underline_mode smul str us - - YBCGE begin underline mode -erase_chars ech str ec - - YB-G- erase #1 characters (P) -exit_alt_charset_mode rmacs str ae - - YB-G- end alternate character set (P) -exit_attribute_mode sgr0 str me - - YB-GE turn off all attributes -exit_ca_mode rmcup str te - - YBCGE strings to end programs using cup -exit_delete_mode rmdc str ed - - YBCGE end delete mode -exit_insert_mode rmir str ei - - YBCGE exit insert mode -exit_standout_mode rmso str se - - YBCGE exit standout mode -exit_underline_mode rmul str ue - - YBCGE exit underline mode -flash_screen flash str vb - - YBCGE visible bell (may not move cursor) -form_feed ff str ff - - YB-G- hardcopy terminal page eject (P*) -from_status_line fsl str fs - - YB-G- return from status line -init_1string is1 str i1 - - YB-G- initialization string -init_2string is2 str is - - YB-G- initialization string -init_3string is3 str i3 - - YB-G- initialization string -init_file if str if - - YB-G- name of initialization file -insert_character ich1 str ic - - YBCGE insert character (P) -insert_line il1 str al - - YBCGE insert line (P*) -insert_padding ip str ip - - YBCGE insert padding after inserted character -key_backspace kbs str kb KEY_BACKSPACE 0407 YB-G- backspace key -key_catab ktbc str ka KEY_CATAB 0526 -B-G-* clear-all-tabs key -key_clear kclr str kC KEY_CLEAR 0515 -B-G-* clear-screen or erase key -key_ctab kctab str kt KEY_CTAB 0525 -B-G-* clear-tab key -key_dc kdch1 str kD KEY_DC 0512 YB-G- delete-character key -key_dl kdl1 str kL KEY_DL 0510 -B-G-* delete-line key -key_down kcud1 str kd KEY_DOWN 0402 YBCGE down-arrow key -key_eic krmir str kM KEY_EIC 0514 -B-G-* sent by rmir or smir in insert mode -key_eol kel str kE KEY_EOL 0517 -B-G-* clear-to-end-of-line key -key_eos ked str kS KEY_EOS 0516 -B-G-* clear-to-end-of-screen key -key_f0 kf0 str k0 KEY_F(0) 0410 YBCGE F0 function key -key_f1 kf1 str k1 KEY_F(1) - YBCGE F1 function key -key_f10 kf10 str k; KEY_F(10) - ----E F10 function key -key_f2 kf2 str k2 KEY_F(2) - YBCGE F2 function key -key_f3 kf3 str k3 KEY_F(3) - YBCGE F3 function key -key_f4 kf4 str k4 KEY_F(4) - YBCGE F4 function key -key_f5 kf5 str k5 KEY_F(5) - YBCGE F5 function key -key_f6 kf6 str k6 KEY_F(6) - YBCGE F6 function key -key_f7 kf7 str k7 KEY_F(7) - YBCGE F7 function key -key_f8 kf8 str k8 KEY_F(8) - YBCGE F8 function key -key_f9 kf9 str k9 KEY_F(9) - YBCGE F9 function key -key_home khome str kh KEY_HOME 0406 YBCGE home key -key_ic kich1 str kI KEY_IC 0513 YB-GE insert-character key -key_il kil1 str kA KEY_IL 0511 -B-G-* insert-line key -key_left kcub1 str kl KEY_LEFT 0404 YBCGE left-arrow key -key_ll kll str kH KEY_LL 0533 YB-G- lower-left key (home down) -key_npage knp str kN KEY_NPAGE 0522 YB-GE next-page key -key_ppage kpp str kP KEY_PPAGE 0523 YB-GE previous-page key -key_right kcuf1 str kr KEY_RIGHT 0405 YBCGE right-arrow key -key_sf kind str kF KEY_SF 0520 -B-G-* scroll-forward key -key_sr kri str kR KEY_SR 0521 -B-G-* scroll-backward key -key_stab khts str kT KEY_STAB 0524 -B-G-* set-tab key -key_up kcuu1 str ku KEY_UP 0403 YBCGE up-arrow key -keypad_local rmkx str ke - - YBCGE leave 'keyboard_transmit' mode -keypad_xmit smkx str ks - - YBCGE enter 'keyboard_transmit' mode -lab_f0 lf0 str l0 - - -B-G-* label on function key f0 if not f0 -lab_f1 lf1 str l1 - - -B-G-* label on function key f1 if not f1 -lab_f10 lf10 str la - - ----- label on function key f10 if not f10 -lab_f2 lf2 str l2 - - -B-G-* label on function key f2 if not f2 -lab_f3 lf3 str l3 - - -B-G-* label on function key f3 if not f3 -lab_f4 lf4 str l4 - - -B-G-* label on function key f4 if not f4 -lab_f5 lf5 str l5 - - -B-G-* label on function key f5 if not f5 -lab_f6 lf6 str l6 - - -B-G-* label on function key f6 if not f6 -lab_f7 lf7 str l7 - - -B-G-* label on function key f7 if not f7 -lab_f8 lf8 str l8 - - -B-G-* label on function key f8 if not f8 -lab_f9 lf9 str l9 - - -B-G-* label on function key f9 if not f9 -meta_off rmm str mo - - YB-G-* turn off meta mode -meta_on smm str mm - - YB-G-* turn on meta mode (8th-bit on) -newline nel str nw - - YB-G-* newline (behave like cr followed by lf) -pad_char pad str pc - - YBCGE padding char (instead of null) -parm_dch dch str DC - - YB-GE delete #1 characters (P*) -parm_delete_line dl str DL - - YBCGE delete #1 lines (P*) -parm_down_cursor cud str DO - - YBCGE down #1 lines (P*) -parm_ich ich str IC - - YB-GE insert #1 characters (P*) -parm_index indn str SF - - YBCG- scroll forward #1 lines (P) -parm_insert_line il str AL - - YBCGE insert #1 lines (P*) -parm_left_cursor cub str LE - - YBCGE move #1 characters to the left (P) -parm_right_cursor cuf str RI - - YBCGE move #1 characters to the right (P*) -parm_rindex rin str SR - - YBCG- scroll back #1 lines (P) -parm_up_cursor cuu str UP - - YBCGE up #1 lines (P*) -pkey_key pfkey str pk - - -B--- program function key #1 to type string #2 -pkey_local pfloc str pl - - -B--- program function key #1 to execute string #2 -pkey_xmit pfx str px - - -B--- program function key #1 to transmit string #2 -print_screen mc0 str ps - - -B-G-* print contents of screen -prtr_off mc4 str pf - - -B-G-* turn off printer -prtr_on mc5 str po - - -B-G-* turn on printer -repeat_char rep str rp - - YB-GE repeat char #1 #2 times (P*) -reset_1string rs1 str r1 - - -B--- reset string -reset_2string rs2 str r2 - - -B--- reset string -reset_3string rs3 str r3 - - -B--- reset string -reset_file rf str rf - - -B--- name of reset file -restore_cursor rc str rc - - YBCG- restore cursor to position of last save_cursor -row_address vpa str cv - - -B-GE* vertical position #1 absolute (P) -save_cursor sc str sc - - YBCG- save current cursor position (P) -scroll_forward ind str sf - - YBCGE scroll text up (P) -scroll_reverse ri str sr - - YBCGE scroll text down (P) -set_attributes sgr str sa - - YB-G- define video attributes #1-#9 (PG9) -set_tab hts str st - - YB-G- set a tab in every row, current columns -set_window wind str wi - - -B-GE current window is lines #1-#2 cols #3-#4 -tab ht str ta - - YBCGE tab to next 8-space hardware tab stop -to_status_line tsl str ts - - YB-G- move to status line, column #1 -underline_char uc str uc - - YBCG- underline char and move past it -up_half_line hu str hu - - YB-G- half a line up -init_prog iprog str iP - - -B--- path name of program for initialization -key_a1 ka1 str K1 KEY_A1 0534 YB-GE upper left of keypad -key_a3 ka3 str K3 KEY_A3 0535 YB-GE upper right of keypad -key_b2 kb2 str K2 KEY_B2 0536 YB-GE center of keypad -key_c1 kc1 str K4 KEY_C1 0537 YB-GE lower left of keypad -key_c3 kc3 str K5 KEY_C3 0540 YB-GE lower right of keypad -prtr_non mc5p str pO - - -B-G-* turn on printer for #1 bytes -# -# SVr1 capabilities stop here. IBM's version of terminfo is the same as -# SVr4 up to this point, but has a different set afterwards. -# -char_padding rmp str rP - - ----- like ip but when in insert mode -acs_chars acsc str ac - - ----- graphics charset pairs, based on vt100 -plab_norm pln str pn - - ----- program label #1 to show string #2 -key_btab kcbt str kB KEY_BTAB 0541 ----- back-tab key -enter_xon_mode smxon str SX - - ----- turn on xon/xoff handshaking -exit_xon_mode rmxon str RX - - ----- turn off xon/xoff handshaking -enter_am_mode smam str SA - - ----- turn on automatic margins -exit_am_mode rmam str RA - - ----- turn off automatic margins -xon_character xonc str XN - - ----- XON character -xoff_character xoffc str XF - - ----- XOFF character -ena_acs enacs str eA - - ----- enable alternate char set -label_on smln str LO - - ----- turn on soft labels -label_off rmln str LF - - ----- turn off soft labels -key_beg kbeg str @1 KEY_BEG 0542 ----- begin key -key_cancel kcan str @2 KEY_CANCEL 0543 ----- cancel key -key_close kclo str @3 KEY_CLOSE 0544 ----- close key -key_command kcmd str @4 KEY_COMMAND 0545 ----- command key -key_copy kcpy str @5 KEY_COPY 0546 ----- copy key -key_create kcrt str @6 KEY_CREATE 0547 ----- create key -key_end kend str @7 KEY_END 0550 ----- end key -key_enter kent str @8 KEY_ENTER 0527 ----- enter/send key -key_exit kext str @9 KEY_EXIT 0551 ----- exit key -key_find kfnd str @0 KEY_FIND 0552 ----- find key -key_help khlp str %1 KEY_HELP 0553 ----- help key -key_mark kmrk str %2 KEY_MARK 0554 ----- mark key -key_message kmsg str %3 KEY_MESSAGE 0555 ----- message key -key_move kmov str %4 KEY_MOVE 0556 ----- move key -key_next knxt str %5 KEY_NEXT 0557 ----- next key -key_open kopn str %6 KEY_OPEN 0560 ----- open key -key_options kopt str %7 KEY_OPTIONS 0561 ----- options key -key_previous kprv str %8 KEY_PREVIOUS 0562 ----- previous key -key_print kprt str %9 KEY_PRINT 0532 ----- print key -key_redo krdo str %0 KEY_REDO 0563 ----- redo key -key_reference kref str &1 KEY_REFERENCE 0564 ----- reference key -key_refresh krfr str &2 KEY_REFRESH 0565 ----- refresh key -key_replace krpl str &3 KEY_REPLACE 0566 ----- replace key -key_restart krst str &4 KEY_RESTART 0567 ----- restart key -key_resume kres str &5 KEY_RESUME 0570 ----- resume key -key_save ksav str &6 KEY_SAVE 0571 ----- save key -key_suspend kspd str &7 KEY_SUSPEND 0627 ----- suspend key -key_undo kund str &8 KEY_UNDO 0630 ----- undo key -key_sbeg kBEG str &9 KEY_SBEG 0572 ----- shifted begin key -key_scancel kCAN str &0 KEY_SCANCEL 0573 ----- shifted cancel key -key_scommand kCMD str *1 KEY_SCOMMAND 0574 ----- shifted command key -key_scopy kCPY str *2 KEY_SCOPY 0575 ----- shifted copy key -key_screate kCRT str *3 KEY_SCREATE 0576 ----- shifted create key -key_sdc kDC str *4 KEY_SDC 0577 ----- shifted delete-character key -key_sdl kDL str *5 KEY_SDL 0600 ----- shifted delete-line key -key_select kslt str *6 KEY_SELECT 0601 ----- select key -key_send kEND str *7 KEY_SEND 0602 ----- shifted end key -key_seol kEOL str *8 KEY_SEOL 0603 ----- shifted clear-to-end-of-line key -key_sexit kEXT str *9 KEY_SEXIT 0604 ----- shifted exit key -key_sfind kFND str *0 KEY_SFIND 0605 ----- shifted find key -key_shelp kHLP str #1 KEY_SHELP 0606 ----- shifted help key -key_shome kHOM str #2 KEY_SHOME 0607 ----- shifted home key -key_sic kIC str #3 KEY_SIC 0610 ----- shifted insert-character key -key_sleft kLFT str #4 KEY_SLEFT 0611 ----- shifted left-arrow key -key_smessage kMSG str %a KEY_SMESSAGE 0612 ----- shifted message key -key_smove kMOV str %b KEY_SMOVE 0613 ----- shifted move key -key_snext kNXT str %c KEY_SNEXT 0614 ----- shifted next key -key_soptions kOPT str %d KEY_SOPTIONS 0615 ----- shifted options key -key_sprevious kPRV str %e KEY_SPREVIOUS 0616 ----- shifted previous key -key_sprint kPRT str %f KEY_SPRINT 0617 ----- shifted print key -key_sredo kRDO str %g KEY_SREDO 0620 ----- shifted redo key -key_sreplace kRPL str %h KEY_SREPLACE 0621 ----- shifted replace key -key_sright kRIT str %i KEY_SRIGHT 0622 ----- shifted right-arrow key -key_srsume kRES str %j KEY_SRSUME 0623 ----- shifted resume key -key_ssave kSAV str !1 KEY_SSAVE 0624 ----- shifted save key -key_ssuspend kSPD str !2 KEY_SSUSPEND 0625 ----- shifted suspend key -key_sundo kUND str !3 KEY_SUNDO 0626 ----- shifted undo key -req_for_input rfi str RF - - ----- send next input char (for ptys) -key_f11 kf11 str F1 KEY_F(11) - ----E F11 function key -key_f12 kf12 str F2 KEY_F(12) - ----E F12 function key -key_f13 kf13 str F3 KEY_F(13) - ----E F13 function key -key_f14 kf14 str F4 KEY_F(14) - ----E F14 function key -key_f15 kf15 str F5 KEY_F(15) - ----E F15 function key -key_f16 kf16 str F6 KEY_F(16) - ----E F16 function key -key_f17 kf17 str F7 KEY_F(17) - ----E F17 function key -key_f18 kf18 str F8 KEY_F(18) - ----E F18 function key -key_f19 kf19 str F9 KEY_F(19) - ----E F19 function key -key_f20 kf20 str FA KEY_F(20) - ----E F20 function key -key_f21 kf21 str FB KEY_F(21) - ----E F21 function key -key_f22 kf22 str FC KEY_F(22) - ----E F22 function key -key_f23 kf23 str FD KEY_F(23) - ----E F23 function key -key_f24 kf24 str FE KEY_F(24) - ----E F24 function key -key_f25 kf25 str FF KEY_F(25) - ----E F25 function key -key_f26 kf26 str FG KEY_F(26) - ----E F26 function key -key_f27 kf27 str FH KEY_F(27) - ----E F27 function key -key_f28 kf28 str FI KEY_F(28) - ----E F28 function key -key_f29 kf29 str FJ KEY_F(29) - ----E F29 function key -key_f30 kf30 str FK KEY_F(30) - ----E F30 function key -key_f31 kf31 str FL KEY_F(31) - ----E F31 function key -key_f32 kf32 str FM KEY_F(32) - ----E F32 function key -key_f33 kf33 str FN KEY_F(33) - ----E F33 function key -key_f34 kf34 str FO KEY_F(34) - ----E F34 function key -key_f35 kf35 str FP KEY_F(35) - ----E F35 function key -key_f36 kf36 str FQ KEY_F(36) - ----E F36 function key -key_f37 kf37 str FR KEY_F(37) - ----E F37 function key -key_f38 kf38 str FS KEY_F(38) - ----E F38 function key -key_f39 kf39 str FT KEY_F(39) - ----E F39 function key -key_f40 kf40 str FU KEY_F(40) - ----E F40 function key -key_f41 kf41 str FV KEY_F(41) - ----E F41 function key -key_f42 kf42 str FW KEY_F(42) - ----E F42 function key -key_f43 kf43 str FX KEY_F(43) - ----E F43 function key -key_f44 kf44 str FY KEY_F(44) - ----E F44 function key -key_f45 kf45 str FZ KEY_F(45) - ----E F45 function key -key_f46 kf46 str Fa KEY_F(46) - ----E F46 function key -key_f47 kf47 str Fb KEY_F(47) - ----E F47 function key -key_f48 kf48 str Fc KEY_F(48) - ----E F48 function key -key_f49 kf49 str Fd KEY_F(49) - ----E F49 function key -key_f50 kf50 str Fe KEY_F(50) - ----E F50 function key -key_f51 kf51 str Ff KEY_F(51) - ----E F51 function key -key_f52 kf52 str Fg KEY_F(52) - ----E F52 function key -key_f53 kf53 str Fh KEY_F(53) - ----E F53 function key -key_f54 kf54 str Fi KEY_F(54) - ----E F54 function key -key_f55 kf55 str Fj KEY_F(55) - ----E F55 function key -key_f56 kf56 str Fk KEY_F(56) - ----E F56 function key -key_f57 kf57 str Fl KEY_F(57) - ----E F57 function key -key_f58 kf58 str Fm KEY_F(58) - ----E F58 function key -key_f59 kf59 str Fn KEY_F(59) - ----E F59 function key -key_f60 kf60 str Fo KEY_F(60) - ----E F60 function key -key_f61 kf61 str Fp KEY_F(61) - ----E F61 function key -key_f62 kf62 str Fq KEY_F(62) - ----E F62 function key -key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key -clr_bol el1 str cb - - ----- Clear to beginning of line -clear_margins mgc str MC - - ----- clear right and left soft margins -set_left_margin smgl str ML - - ----- set left soft margin at current column. See smgl. (ML is not in BSD termcap). -set_right_margin smgr str MR - - ----- set right soft margin at current column -label_format fln str Lf - - ----- label format -set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs -display_clock dclk str DK - - ----- display clock -remove_clock rmclk str RC - - ----- remove clock -create_window cwin str CW - - ----- define a window #1 from #2,#3 to #4,#5 -goto_window wingo str WG - - ----- go to window #1 -hangup hup str HU - - ----- hang-up phone -dial_phone dial str DI - - ----- dial number #1 -quick_dial qdial str QD - - ----- dial number #1 without checking -tone tone str TO - - ----- select touch tone dialing -pulse pulse str PU - - ----- select pulse dialing -flash_hook hook str fh - - ----- flash switch hook -fixed_pause pause str PA - - ----- pause for 2-3 seconds -wait_tone wait str WA - - ----- wait for dial-tone -user0 u0 str u0 - - ----- User string #0 -user1 u1 str u1 - - ----- User string #1 -user2 u2 str u2 - - ----- User string #2 -user3 u3 str u3 - - ----- User string #3 -user4 u4 str u4 - - ----- User string #4 -user5 u5 str u5 - - ----- User string #5 -user6 u6 str u6 - - ----- User string #6 -user7 u7 str u7 - - ----- User string #7 -user8 u8 str u8 - - ----- User string #8 -user9 u9 str u9 - - ----- User string #9 -# -# NCurses extensions for keys accessible on most PC consoles -# -key_sup kUP str !5 KEY_SUP + ----- shifted up-arrow key -key_sdown kDOWN str !6 KEY_SDOWN + ----- shifted down-arrow key -key_sbackspace kBS str !7 KEY_SBACKSPACE + ----- shifted backspace key -key_c_delete kcdelete str !8 KEY_C_DELETE + ----- control- delete-character key -key_c_end kcend str !9 KEY_C_END + ----- control- end key -key_c_home kchom str !0 KEY_C_HOME + ----- control- home key -key_c_insert kcinsert str !_ KEY_C_INSERT + ----- control- insert-character key -key_c_left kclft str %k KEY_C_LEFT + ----- control- left-arrow key -key_c_next kcnxt str %l KEY_C_NEXT + ----- control- next key -key_c_previous kcprv str %m KEY_C_PREVIOUS + ----- control- previous key -key_c_print kcprt str %n KEY_C_PRINT + ----- control- print key -key_c_right kcrit str %o KEY_C_RIGHT + ----- control- right-arrow key -key_c_backspace kcbs str %p KEY_C_BACKSPACE + ----- control- backspace key -key_c_up kcup str %q KEY_C_UP + ----- control- up-arrow key -key_c_down kcdown str %r KEY_C_DOWN + ----- control- down-arrow key -key_a_delete kadelete str %s KEY_A_DELETE + ----- alt- delete-character key -key_a_end kaend str %t KEY_A_END + ----- alt- end key -key_a_home kahom str %u KEY_A_HOME + ----- alt- home key -key_a_insert kainsert str %v KEY_A_INSERT + ----- alt- insert-character key -key_a_left kalft str %w KEY_A_LEFT + ----- alt- left-arrow key -key_a_next kanxt str %x KEY_A_NEXT + ----- alt- next key -key_a_previous kaprv str %y KEY_A_PREVIOUS + ----- alt- previous key -key_a_print kaprt str %z KEY_A_PRINT + ----- alt- print key -key_a_right karit str %! KEY_A_RIGHT + ----- alt- right-arrow key -key_a_backspace kabs str %@ KEY_A_BACKSPACE + ----- alt- backspace key -key_a_up kaup str %# KEY_A_UP + ----- alt- up-arrow key -key_a_down kadown str %$ KEY_A_DOWN + ----- alt- down-arrow key -key_a_a kaa str $a KEY_A_A + ----- alt- a key -key_a_b kab str $b KEY_A_B + ----- alt- b key -key_a_c kac str $c KEY_A_C + ----- alt- c key -key_a_d kad str $d KEY_A_D + ----- alt- d key -key_a_e kae str $e KEY_A_E + ----- alt- e key -key_a_f kaf str $f KEY_A_F + ----- alt- f key -key_a_g kag str $g KEY_A_G + ----- alt- g key -key_a_h kah str $h KEY_A_H + ----- alt- h key -key_a_i kai str $i KEY_A_I + ----- alt- i key -key_a_j kaj str $j KEY_A_J + ----- alt- j key -key_a_k kak str $k KEY_A_K + ----- alt- k key -key_a_l kal str $l KEY_A_L + ----- alt- l key -key_a_m kam str $m KEY_A_M + ----- alt- m key -key_a_n kan str $n KEY_A_N + ----- alt- n key -key_a_o kao str $o KEY_A_O + ----- alt- o key -key_a_p kap str $p KEY_A_P + ----- alt- p key -key_a_q kaq str $q KEY_A_Q + ----- alt- q key -key_a_r kar str $r KEY_A_R + ----- alt- r key -key_a_s kas str $s KEY_A_S + ----- alt- s key -key_a_t kat str $t KEY_A_T + ----- alt- t key -key_a_u kau str $u KEY_A_U + ----- alt- u key -key_a_v kav str $v KEY_A_V + ----- alt- v key -key_a_w kaw str $w KEY_A_W + ----- alt- w key -key_a_x kax str $x KEY_A_X + ----- alt- x key -key_a_y kay str $y KEY_A_Y + ----- alt- y key -key_a_z kaz str $z KEY_A_Z + ----- alt- z key -key_a_0 ka_0 str $0 KEY_A_0 + ----- alt- 0 key -key_a_1 ka_1 str $1 KEY_A_1 + ----- alt- 1 key -key_a_2 ka_2 str $2 KEY_A_2 + ----- alt- 2 key -key_a_3 ka_3 str $3 KEY_A_3 + ----- alt- 3 key -key_a_4 ka_4 str $4 KEY_A_4 + ----- alt- 4 key -key_a_5 ka_5 str $5 KEY_A_5 + ----- alt- 5 key -key_a_6 ka_6 str $6 KEY_A_6 + ----- alt- 6 key -key_a_7 ka_7 str $7 KEY_A_7 + ----- alt- 7 key -key_a_8 ka_8 str $8 KEY_A_8 + ----- alt- 8 key -key_a_9 ka_9 str $9 KEY_A_9 + ----- alt- 9 key -key_a_backtick ka_bt str $` KEY_A_BACKTICK + ----- alt- ` key -key_a_under ka_und str $_ KEY_A_UNDER + ----- alt- _ key -key_a_equals ka_eq str $= KEY_A_EQUALS + ----- alt- = key -key_a_bar ka_bsl str $| KEY_A_BAR + ----- alt- | key -key_a_lbracker ka_lbr str $[ KEY_A_LBRACKER + ----- alt- [ key -key_a_rbracker ka_rbr str $] KEY_A_RBRACKER + ----- alt- ] key -key_a_semi ka_semi str $; KEY_A_SEMI + ----- alt- ; key -key_a_tick ka_tick str $' KEY_A_TICK + ----- alt- ' key -key_a_comma ka_com str $, KEY_A_COMMA + ----- alt- , key -key_a_dot ka_dot str $. KEY_A_DOT + ----- alt- . key -key_a_question ka_sla str $? KEY_A_QUESTION + ----- alt- ? key -key_a_divide ka_div str $/ KEY_A_DIVIDE + ----- alt- keypad / key -key_a_multiply ka_mul str $* KEY_A_MULTIPLY + ----- alt- keypad * key -key_a_add ka_add str $+ KEY_A_ADD + ----- alt- keypad + key -key_a_subtract ka_sub str $- KEY_A_SUBTRACT + ----- alt- keypad - key -key_a_kenter ka_kent str $< KEY_A_KENTER + ----- alt- keypad enter key -key_a_enter ka_ent str $> KEY_A_ENTER + ----- alt- enter key -key_c_at kcat str %% KEY_C_AT + ----- control- @ key -key_c_divide kcdiv str %/ KEY_C_DIVIDE + ----- control- keypad / key -key_c_multiply kcmul str %* KEY_C_MULTIPLY + ----- control- keypad * key -key_c_add kcadd str %+ KEY_C_ADD + ----- control- keypad + key -key_c_subtract kcsub str %- KEY_C_SUBTRACT + ----- control- keypad - key -# -# SVr4 added these capabilities to support color -# -orig_pair op str op - - ----- Set default pair to its original value -orig_colors oc str oc - - ----- Set all color pairs to the original ones -initialize_color initc str Ic - - ----- initialize color #1 to (#2,#3,#4) -initialize_pair initp str Ip - - ----- Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7) -set_color_pair scp str sp - - ----- Set current color pair to #1 -set_foreground setf str Sf - - ----- Set foreground color #1 -set_background setb str Sb - - ----- Set background color #1 -# -# SVr4 added these capabilities to support printers -# -change_char_pitch cpi str ZA - - ----- Change number of characters per inch to #1 -change_line_pitch lpi str ZB - - ----- Change number of lines per inch to #1 -change_res_horz chr str ZC - - ----- Change horizontal resolution to #1 -change_res_vert cvr str ZD - - ----- Change vertical resolution to #1 -define_char defc str ZE - - ----- Define a character #1, #2 dots wide, descender #3 -enter_doublewide_mode swidm str ZF - - ----- Enter double-wide mode -enter_draft_quality sdrfq str ZG - - ----- Enter draft-quality mode -enter_italics_mode sitm str ZH - - ----- Enter italic mode -enter_leftward_mode slm str ZI - - ----- Start leftward carriage motion -enter_micro_mode smicm str ZJ - - ----- Start micro-motion mode -enter_near_letter_quality snlq str ZK - - ----- Enter NLQ mode -enter_normal_quality snrmq str ZL - - ----- Enter normal-quality mode -enter_shadow_mode sshm str ZM - - ----- Enter shadow-print mode -enter_subscript_mode ssubm str ZN - - ----- Enter subscript mode -enter_superscript_mode ssupm str ZO - - ----- Enter superscript mode -enter_upward_mode sum str ZP - - ----- Start upward carriage motion -exit_doublewide_mode rwidm str ZQ - - ----- End double-wide mode -exit_italics_mode ritm str ZR - - ----- End italic mode -exit_leftward_mode rlm str ZS - - ----- End left-motion mode -exit_micro_mode rmicm str ZT - - ----- End micro-motion mode -exit_shadow_mode rshm str ZU - - ----- End shadow-print mode -exit_subscript_mode rsubm str ZV - - ----- End subscript mode -exit_superscript_mode rsupm str ZW - - ----- End superscript mode -exit_upward_mode rum str ZX - - ----- End reverse character motion -micro_column_address mhpa str ZY - - ----- Like column_address in micro mode -micro_down mcud1 str ZZ - - ----- Like cursor_down in micro mode -micro_left mcub1 str Za - - ----- Like cursor_left in micro mode -micro_right mcuf1 str Zb - - ----- Like cursor_right in micro mode -micro_row_address mvpa str Zc - - ----- Like row_address #1 in micro mode -micro_up mcuu1 str Zd - - ----- Like cursor_up in micro mode -order_of_pins porder str Ze - - ----- Match software bits to print-head pins -parm_down_micro mcud str Zf - - ----- Like parm_down_cursor in micro mode -parm_left_micro mcub str Zg - - ----- Like parm_left_cursor in micro mode -parm_right_micro mcuf str Zh - - ----- Like parm_right_cursor in micro mode -parm_up_micro mcuu str Zi - - ----- Like parm_up_cursor in micro mode -select_char_set scs str Zj - - ----- Select character set, #1 -set_bottom_margin smgb str Zk - - ----- Set bottom margin at current line -set_bottom_margin_parm smgbp str Zl - - ----- Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom -set_left_margin_parm smglp str Zm - - ----- Set left (right) margin at column #1 -set_right_margin_parm smgrp str Zn - - ----- Set right margin at column #1 -set_top_margin smgt str Zo - - ----- Set top margin at current line -set_top_margin_parm smgtp str Zp - - ----- Set top (bottom) margin at row #1 -start_bit_image sbim str Zq - - ----- Start printing bit image graphics -start_char_set_def scsd str Zr - - ----- Start character set definition #1, with #2 characters in the set -stop_bit_image rbim str Zs - - ----- Stop printing bit image graphics -stop_char_set_def rcsd str Zt - - ----- End definition of character set #1 -subscript_characters subcs str Zu - - ----- List of subscriptable characters -superscript_characters supcs str Zv - - ----- List of superscriptable characters -these_cause_cr docr str Zw - - ----- Printing any of these characters causes CR -zero_motion zerom str Zx - - ----- No motion for subsequent character -#%.TE -#%.ad -#% -#%The following string capabilities are present in the SVr4.0 term structure, -#%but were originally not documented in the man page. -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw18. -#%\fBVariable Cap- TCap Description\fR -#%\fBString name Code\fR -char_set_names csnm str Zy - - ----- Produce #1'th item from list of character set names -key_mouse kmous str Km KEY_MOUSE 0631 ----- Mouse event has occurred -mouse_info minfo str Mi - - ----- Mouse status information -req_mouse_pos reqmp str RQ - - ----- Request mouse position -get_mouse getm str Gm - - ----- Curses should get button events, parameter #1 not documented. -set_a_foreground setaf str AF - - ----- Set foreground color to #1, using ANSI escape -set_a_background setab str AB - - ----- Set background color to #1, using ANSI escape -pkey_plab pfxl str xl - - ----- Program function key #1 to type string #2 and show string #3 -device_type devt str dv - - ----- Indicate language/codeset support -code_set_init csin str ci - - ----- Init sequence for multiple codesets -set0_des_seq s0ds str s0 - - ----- Shift to codeset 0 (EUC set 0, ASCII) -set1_des_seq s1ds str s1 - - ----- Shift to codeset 1 -set2_des_seq s2ds str s2 - - ----- Shift to codeset 2 -set3_des_seq s3ds str s3 - - ----- Shift to codeset 3 -set_lr_margin smglr str ML - - ----- Set both left and right margins to #1, #2. (ML is not in BSD termcap). -set_tb_margin smgtb str MT - - ----- Sets both top and bottom margins to #1, #2 -bit_image_repeat birep str Xy - - ----- Repeat bit image cell #1 #2 times -bit_image_newline binel str Zz - - ----- Move to next row of the bit image -bit_image_carriage_return bicr str Yv - - ----- Move to beginning of same row -color_names colornm str Yw - - ----- Give name for color #1 -define_bit_image_region defbi str Yx - - ----- Define rectangualar bit image region -end_bit_image_region endbi str Yy - - ----- End a bit-image region -set_color_band setcolor str Yz - - ----- Change to ribbon color #1 -set_page_length slines str YZ - - ----- Set page length to #1 lines -# -# SVr4 added these capabilities for direct PC-clone support -# -display_pc_char dispc str S1 - - ----- Display PC character #1 -enter_pc_charset_mode smpch str S2 - - ----- Enter PC character display mode -exit_pc_charset_mode rmpch str S3 - - ----- Exit PC character display mode -enter_scancode_mode smsc str S4 - - ----- Enter PC scancode mode -exit_scancode_mode rmsc str S5 - - ----- Exit PC scancode mode -pc_term_options pctrm str S6 - - ----- PC terminal options -scancode_escape scesc str S7 - - ----- Escape for scancode emulation -alt_scancode_esc scesa str S8 - - ----- Alternate escape for scancode emulation -#%.TE -#%.ad -#% -#%.in .8i -#%The XSI Curses standard added these. They are some post-4.1 -#%versions of System V curses, e.g., Solaris 2.5 and IRIX 6.x. -#%The \fBncurses\fR termcap names for them are invented; according to the -#%XSI Curses standard, they have no termcap names. If your compiled terminfo -#%entries use these, they may not be binary-compatible with System V terminfo -#%entries after SVr4.1; beware! -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBString name Code\fR -enter_horizontal_hl_mode ehhlm str Xh - - ----- Enter horizontal highlight mode -enter_left_hl_mode elhlm str Xl - - ----- Enter left highlight mode -enter_low_hl_mode elohlm str Xo - - ----- Enter low highlight mode -enter_right_hl_mode erhlm str Xr - - ----- Enter right highlight mode -enter_top_hl_mode ethlm str Xt - - ----- Enter top highlight mode -enter_vertical_hl_mode evhlm str Xv - - ----- Enter vertical highlight mode -set_a_attributes sgr1 str sA - - ----- Define second set of video attributes #1-#6 -set_pglen_inch slength str sL - - ----- YI Set page length to #1 hundredth of an inch -#%.TE -#%.ad -# -# The magic token below tells the tic compiler-generator code that all the caps -# past it should be ignored (not written out) when dumping terminfo objects. It -# also tells the man page table generator not to pass through following lines -# This means we can have obsolete capabilities and pseudo-capabilities that are -# recognized for termcap or terminfo compilation, but not output. -# -# %%-STOP-HERE-%% -# -# Don't move this casually! In fact, don't move it at all unless you're -# either doing it to add System V or XPG4 extensions, or have decided you -# don't care about SVr4 binary compatibility. -# -############################################################################# -# -# TERMCAP EXTENSION CAPABILITIES -# -# The capabilities below are either obsolete or extensions on certain systems. -# They are not used by SVR4 terminfo. Some are used by captoinfo to translate -# termcap sources; the rest are listed for completeness, and in case somebody -# cares about them enough to hack in code that will translate them into -# terminfo capabilities. -# -# The first part of the list is from Ross Ridge's `mytinfo' package -# (comp.sources.unix, volume 26); the variable names and terminfo names (as -# well as the termcap codes) match his list. -# -# This group of codes is not marked obsolete in 4.4BSD, but have no direct -# terminfo equivalents. The rs capability is specially translated to terminfo -# r2, and vice versa, if an entry does not already have an r2. Similarly, -# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2). -# The ug capability is thrown away, but assumed to be whatever sg is if the -# latter is nonzero and we're dumping in termcap format. -# -termcap_init2 OTi2 str i2 - - YB--- secondary initialization string -termcap_reset OTrs str rs - - YB-G- terminal reset string -magic_cookie_glitch_ul OTug num ug - - YBCGE number of blanks left by ul -# -# Obsolete termcap capabilities. Some are used for termcap translation. The -# code uses the 'OT' prefix we put on obsolete capabilities to suppress -# printing them in terminfo source dumps of compiled entries. -# -backspaces_with_bs OTbs bool bs - - YBCGE uses ^H to move left -crt_no_scrolling OTns bool ns - - YBCG- crt cannot scroll -no_correctly_working_cr OTnc bool nc - - YBCG- no way to go to start of line -carriage_return_delay OTdC num dC - - YB-G- pad needed for CR -new_line_delay OTdN num dN - - YB-G- pad needed for LF -linefeed_if_not_lf OTnl str nl - - YBCGE use to move down -backspace_if_not_bs OTbc str bc - - YBCGE move left, if not ^H -# -# GNU termcap library extensions. The GNU termcap file distributed with -# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the -# BSD termcap file. The name clash with terminfo MT is resolved by type -# info; MT is converted to km. -# -gnu_has_meta_key OTMT bool MT - - ----E has meta key -# gnu_tab_width OTtw num tw - - ----E tab width in spaces -# -# GNU termcap *does* include the following extended capability, Only the -# now-obsolete Ann Arbor terminals used it. -# -# gnu_change_scroll_region OTcS str cS - - ---GE alternate set scrolling region -# -# The following comments describe capnames so ancient that I believe no -# software uses them any longer. Some of these have to go because they -# clash with terminfo names in ways that cannot be resolved by type -# information. -# -# These mytinfo codes are not used in the 4.4BSD curses code. They are -# marked obsolete in the 4.4BSD manual pages. -# -# There is one conflict with terminfo; ma is in both. This conflict is -# resolved by type information. -# -# The `ko' capability is translated by special code. It should contain a -# comma-separated list of capabilities for which there are corresponding keys. -# The `kn' code is accepted but ignored. -# -# The `ma' capability seems to have been designed to map between the rogue(2) -# motion keys (including jkhl) and characters emitted by arrow keys on some -# primitive pre-ANSI terminals. It's so obsolete it's fossilized... -# -# Here is a description of memory_lock_above and memory_unlock: -# "You can 'freeze' data on the screen by turning on Memory Lock in a line of -# text. All lines above the cursor's current line become locked in place on -# the screen. Then enter data normally. When the screen fills up, any -# further data entered forces the first line of unfrozen line text to scroll -# under the frozen data. Lines scrolled off the screen are inserted into -# memory immediately preceding the first frozen line." (from the HP 700/96 -# User's manual). VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l. -# -# Applications that use terminfo are supposed to behave as though xr is -# always true. -# -linefeed_is_newline OTNL bool NL - - YB--- move down with \n -# even_parity OTEP bool EP - - -B--- terminal requires even parity -# odd_parity OTOP bool OP - - -B--- terminal requires odd parity -# half_duplex OTHD bool HD - - -B--- terminal is half-duplex -# lower_case_only OTLC bool LC - - -B--- terminal has only lower case -# upper_case_only OTUC bool UC - - -B--- terminal has only upper case -backspace_delay OTdB num dB - - YB-G- padding required for ^H -# form_feed_delay OTdF num dF - - -B-G- padding required for ^L -horizontal_tab_delay OTdT num dT - - YB-G- padding required for ^I -# vertical_tab_delay OTdV num dV - - -B--- padding required for ^V -number_of_function_keys OTkn num kn - - -B-G- count of function keys -other_non_function_keys OTko str ko - - -B-G- list of self-mapped keycaps -arrow_key_map OTma str ma - - YBC-- map arrow keys rogue(1) motion keys -# memory_lock_above OTml str ml - - -B--- lock visible screen memory above the current line -# memory_unlock OTmu str mu - - -B--- unlock visible screen memory above the current line -has_hardware_tabs OTpt bool pt - - YB--- has 8-char tabs invoked with ^I -return_does_clr_eol OTxr bool xr - - YB--- return clears the line -# tek_4025_insert_line OTxx bool xx - - -BC-- Tektronix 4025 insert-line glitch -# -# mytinfo described this as a termcap capability, but it's not listed in the -# 4.4BSD man pages, and not found in the 4.4BSD termcap file. The ncurses -# package, like System V, behaves as though it is always true. -# -# rind_only_at_top OTxq bool xq - - ----- reverse index only works from top line -# -# University of Waterloo termcap extensions (as described in mytinfo). -# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot -# be resolved by a type check. The descriptions are guesses from what was -# in the mytinfo tables. -# -# key_interrupt_char OTki str ki - - ----- string set by interrupt key (?) -# key_kill_char OTkk str kk - - ----- string set by kill key (?) -# key_suspend_char OTkz str kz - - ----- string set by suspend key (?) -# initialization_messy OTxc bool xc - - ----- initialization leaves garbage on the screen (?) -# ind_at_bottom_does_cr OTxl bool xl - - ----- index does a carriage return -# -# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package. -# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type -# check. -# -# scroll_left OTsl1 str Sl - - ----- scroll screen leftward -# scroll_right OTsr1 str Sr - - ----- scroll screen rightward -# parm_scroll_left OTsl str SL - - ----- scroll screen leftward #1 characters -# parm_scroll_right OTsr str SR - - ----- scroll screen rightward #1 characters -# -# The mytinfo capabilities end here. -# -# XENIX extensions: -# -# Xenix defined its own set of forms-drawing capabilities: -# -# cap IBM ASCII description ACS ASCII -# --- ----------- -------------------- ------------- ------ -# G1 191 \277 M-? single upper right ACS_URCORNER -# G2 218 \332 M-Z single upper left ACS_ULCORNER -# G3 192 \300 M-@ single lower left ACS_LLCORNER -# G4 217 \331 M-Y single lower right ACS_LRCORNER -# G5 187 \273 M-; double upper right -# G6 201 \311 M-I double upper left -# G7 200 \310 M-H double lower left -# G8 188 \274 M-< double lower right -# GC 197 \305 M-E single intersection ACS_PLUS _ _ -# GD 194 \302 M-B single down-tick ACS_TTEE | -# GH 196 \304 M-D single horizontal line ACS_HLINE -# GL 180 \264 M-4 single left tick ACS_RTEE -| -# GR 195 \303 M-C single right tick ACS_LTEE |- -# GU 193 \301 M-A single up tick ACS_BTEE _|_ -# GV 179 \263 M-3 single vertical line ACS_VLINE -# Gc 206 \316 M-N double intersection -# Gd 203 \313 M-K double down tick -# Gh 205 \315 M-M double horizontal line -# Gl 204 \204 M-L double left tick -# Gr 185 \271 M-9 double right tick -# Gu 202 \312 M-J double up tick -# Gv 186 \272 M-: double vertical line -# -# The compiler will translate the single-line caps and discard the others -# (via IGNORE aliases further down). We don't want to do normal pad -# translation on these, they're often single-character printable ASCII -# strings that happen to be numerics. There's awk code in parametrized.sh -# that detects the acs_ prefix and uses it to suppress pad translation. -# These terminfo names are invented. -# -acs_ulcorner OTG2 str G2 - - ----- single upper left -acs_llcorner OTG3 str G3 - - ----- single lower left -acs_urcorner OTG1 str G1 - - ----- single upper right -acs_lrcorner OTG4 str G4 - - ----- single lower right -acs_ltee OTGR str GR - - ----- tee pointing right -acs_rtee OTGL str GL - - ----- tee pointing left -acs_btee OTGU str GU - - ----- tee pointing up -acs_ttee OTGD str GD - - ----- tee pointing down -acs_hline OTGH str GH - - ----- single horizontal line -acs_vline OTGV str GV - - ----- single vertical line -acs_plus OTGC str GC - - ----- single intersection -# -############################################################################# -# -# TERMINFO EXTENSION CAPABILITIES -# -# This section is almost all comments. What it's mainly for is to describe -# what capabilities need to be squeezed out to get down to the XSI Curses -# standard set. They are flagged with K. -# -# HP extensions -# -# These extensions follow ptr_non (replacing everything after it) in HP -# terminfo files. Except for memory_lock and memory_unlock, they are -# functionally identical to SVr4 extensions, but they make the binary format -# different. Grrr.... -# -memory_lock meml str ml - - ----K memory lock above -memory_unlock memu str mu - - ----K memory unlock -#plab_norm pln str pn - - ----- program label #1 to show string #2 -#label_on smln str LO - - ----- turn on soft labels -#label_off rmln str LF - - ----- turn off soft labels -#key_f11 kf11 str F1 - - ----- F11 function key -#key_f12 kf12 str F2 - - ----- F12 function key -#key_f13 kf13 str F3 - - ----- F13 function key -#key_f14 kf14 str F4 - - ----- F14 function key -#key_f15 kf15 str F5 - - ----- F15 function key -#key_f16 kf16 str F6 - - ----- F16 function key -#key_f17 kf17 str F7 - - ----- F17 function key -#key_f18 kf18 str F8 - - ----- F18 function key -#key_f19 kf19 str F9 - - ----- F19 function key -#key_f20 kf20 str FA - - ----- F20 function key -#key_f21 kf21 str FB - - ----- F21 function key -#key_f22 kf22 str FC - - ----- F22 function key -#key_f23 kf23 str FD - - ----- F23 function key -#key_f24 kf24 str FE - - ----- F24 function key -#key_f25 kf25 str FF - - ----- F25 function key -#key_f26 kf26 str FG - - ----- F26 function key -#key_f27 kf27 str FH - - ----- F27 function key -#key_f28 kf28 str FI - - ----- F28 function key -#key_f29 kf29 str FJ - - ----- F29 function key -#key_f30 kf30 str FK - - ----- F30 function key -#key_f31 kf31 str FL - - ----- F31 function key -#key_f32 kf32 str FM - - ----- F32 function key -#key_f33 kf33 str FN - - ----- F33 function key -#key_f34 kf34 str FO - - ----- F34 function key -#key_f35 kf35 str FP - - ----- F35 function key -#key_f36 kf36 str FQ - - ----- F36 function key -#key_f37 kf37 str FR - - ----- F37 function key -#key_f38 kf38 str FS - - ----- F38 function key -#key_f39 kf39 str FT - - ----- F39 function key -#key_f40 kf40 str FU - - ----- F40 function key -#key_f41 kf41 str FV - - ----- F41 function key -#key_f42 kf42 str FW - - ----- F42 function key -#key_f43 kf43 str FX - - ----- F43 function key -#key_f44 kf44 str FY - - ----- F44 function key -#key_f45 kf45 str FZ - - ----- F45 function key -#key_f46 kf46 str Fa - - ----- F46 function key -#key_f47 kf47 str Fb - - ----- F47 function key -#key_f48 kf48 str Fc - - ----- F48 function key -#key_f49 kf49 str Fd - - ----- F49 function key -#key_f50 kf50 str Fe - - ----- F50 function key -#key_f51 kf51 str Ff - - ----- F51 function key -#key_f52 kf52 str Fg - - ----- F52 function key -#key_f53 kf53 str Fh - - ----- F53 function key -#key_f54 kf54 str Fi - - ----- F54 function key -#key_f55 kf55 str Fj - - ----- F55 function key -#key_f56 kf56 str Fk - - ----- F56 function key -#key_f57 kf57 str Fl - - ----- F57 function key -#key_f58 kf58 str Fm - - ----- F58 function key -#key_f59 kf59 str Fn - - ----- F59 function key -#key_f60 kf60 str Fo - - ----- F60 function key -#key_f61 kf61 str Fp - - ----- F61 function key -#key_f62 kf62 str Fq - - ----- F62 function key -#key_f63 kf63 str Fr - - ----- F63 function key -# -# IBM extensions -# -# These extensions follow ptr_non (replacing everything after it) in IBM -# terminfo files. -# -# The places in the box[12] capabilities correspond to acsc characters, here is -# the mapping: -# -# box1[0] = ACS_ULCORNER -# box1[1] = ACS_HLINE -# box1[2] = ACS_URCORNER -# box1[3] = ACS_VLINE -# box1[4] = ACS_LRCORNER -# box1[5] = ACS_LLCORNER -# box1[6] = ACS_TTEE -# box1[7] = ACS_RTEE -# box1[8] = ACS_BTEE -# box1[9] = ACS_LTEE -# box1[10] = ACS_PLUS -# -# The box2 characters are the double-line versions of these forms graphics. -# -box_chars_1 box1 str bx - - ----K box characters primary set -#box_chars_2 box2 str by - - ----K box characters secondary set -#box_attr_1 batt1 str Bx - - ----K attributes for box1 -#box_attr_2 batt2 str By - - ----K attributes for box2 -#color_bg_0 colb0 str d0 - - ----K background color 0 -#color_bg_1 colb1 str d1 - - ----K background color 1 -#color_bg_2 colb2 str d2 - - ----K background color 2 -#color_bg_3 colb3 str d3 - - ----K background color 3 -#color_bg_4 colb4 str d4 - - ----K background color 4 -#color_bg_5 colb5 str d5 - - ----K background color 5 -#color_bg_6 colb6 str d6 - - ----K background color 6 -#color_bg_7 colb7 str d7 - - ----K background color 7 -#color_fg_0 colf0 str c0 - - ----K foreground color 0 -#color_fg_1 colf1 str c1 - - ----K foreground color 1 -#color_fg_2 colf2 str c2 - - ----K foreground color 2 -#color_fg_3 colf3 str c3 - - ----K foreground color 3 -#color_fg_4 colf4 str c4 - - ----K foreground color 4 -#color_fg_5 colf5 str c5 - - ----K foreground color 5 -#color_fg_6 colf6 str c6 - - ----K foreground color 6 -#color_fg_7 colf7 str c7 - - ----K foreground color 7 -#font_0 font0 str f0 - - ----- select font 0 -#font_1 font1 str f1 - - ----- select font 1 -#font_2 font2 str f2 - - ----- select font 2 -#font_3 font3 str f3 - - ----- select font 3 -#font_4 font4 str f4 - - ----K select font 4 -#font_5 font5 str f5 - - ----K select font 5 -#font_6 font6 str f6 - - ----K select font 6 -#font_7 font7 str f7 - - ----K select font 7 -#key_back_tab kbtab str k0 - - ----- backtab key -#key_do kdo str ki - - ----K do request key -#key_command kcmd str kd - - ----K command-request key -#key_command_pane kcpn str kW - - ----K command-pane key -#key_end kend str kw - - ----- end key -#key_help khlp str kq - - ----- help key -#key_newline knl str nl - - ----K newline key -#key_next_pane knpn str kv - - ----K next-pane key -#key_prev_cmd kppn str kp - - ----K previous-command key -#key_prev_pane kppn str kV - - ----K previous-pane key -#key_quit kquit str kQ - - ----K quit key -#key_select ksel str kU - - ----- select key -#key_scroll_left kscl str kz - - ----K scroll left -#key_scroll_right kscr str kZ - - ----K scroll right -#key_tab ktab str ko - - ----K tab key -#key_smap_in1 kmpf1 str Kv - - ----K special mapped key 1 input -#key_smap_out1 kmpt1 str KV - - ----K special mapped key 1 output -#key_smap_in2 kmpf2 str Kw - - ----K special mapped key 2 input -#key_smap_out2 kmpt2 str KW - - ----K special mapped key 2 output -#key_smap_in3 kmpf3 str Kx - - ----K special mapped key 3 input -#key_smap_out3 kmpt3 str KX - - ----K special mapped key 3 output -#key_smap_in4 kmpf4 str Ky - - ----K special mapped key 4 input -#key_smap_out4 kmpt4 str KY - - ----K special mapped key 4 output -#key_smap_in5 kmpf5 str Kz - - ----K special mapped key 5 input -#key_smap_out5 kmpt5 str KZ - - ----K special mapped key 5 output -#appl_defined_str apstr str za - - ----K application-defined string -# The key_smap_in[6789] and key_smap_out[6789] capabilities aren't described in -# the IBM manual pages, so the cap name strings are guesses. The terminfo -# names are almost certainly right, the termcap ones almost certainly wrong. -#key_smap_in6 kmpf6 str k! - - ----K special mapped key 6 input -#key_smap_out6 kmpt6 str K@ - - ----K special mapped key 6 output -#key_smap_in7 kmpf7 str k# - - ----K special mapped key 7 input -#key_smap_out7 kmpt7 str K$ - - ----K special mapped key 7 output -#key_smap_in8 kmpf8 str k% - - ----K special mapped key 8 input -#key_smap_out8 kmpt8 str K^ - - ----K special mapped key 8 output -#key_smap_in9 kmpf9 str k& - - ----K special mapped key 9 input -#key_smap_out9 kmpt9 str K* - - ----K special mapped key 9 output -# Undocumented capabilities end here -#key_sf1 ksf1 str S1 - - ----K special function key 1 -#key_sf2 ksf2 str S2 - - ----K special function key 2 -#key_sf3 ksf3 str S3 - - ----K special function key 3 -#key_sf4 ksf4 str S4 - - ----K special function key 4 -#key_sf5 ksf5 str S5 - - ----K special function key 5 -#key_sf6 ksf6 str S6 - - ----K special function key 6 -#key_sf7 ksf7 str S7 - - ----K special function key 7 -#key_sf8 ksf8 str S8 - - ----K special function key 8 -#key_sf9 ksf9 str S9 - - ----K special function key 9 -#key_sf10 ksf10 str SA - - ----K special function key 10 -# AIX version 3 documents different codes for F11, F12 and does not mention -# F13-F64. AIX version 4 uses the same naming for F0-F63 as above. -#key_f11 kf11 str k< - - ----- function key 11 -#key_f12 kf12 str k> - - ----- function key 12 -# Undocumented capabilities end here. -#key_action kact str kJ - - ----K sent by action key -# The IBM docs say these capabilities are for table-drawing, and are -# valid only for aixterm descriptions. -#enter_topline_mode topl str tp - - ----K start top-line mode -#enter_bottom_mode btml str bm - - ----K start bottom-line mode -#enter_rvert_mode rvert str rv - - ----K start right-vertical mode -#enter_lvert_mode lvert str lv - - ----K start left-vertical mode -# -############################################################################# -# -# ALIAS DECLARATIONS -# -# Here we set up aliases for translating extensions into standard terminfo. -# -#---------------------------------- Termcap aliases ------------------------- -# -# BSD aliases: -# -# This is a common error in many termcap files. We'll get notified during -# translation when this (or any other alias) fires. -# -capalias sb sr BSD scroll text down -# -# AT&T extensions: -# -# The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of -# nonstandard capabilities. Its signature is the KM capability, used to name -# some sort of keymap file. EE, BO, CI, CV, XS, DS, FL and FE are in this -# set. Comments in the original, and a little cross-checking with other AT&T -# documentation, seem to establish the following mappings: -# -capalias BO mr AT&T enter_reverse_mode -capalias CI vi AT&T cursor_invisible -capalias CV ve AT&T cursor_normal -capalias DS mh AT&T enter_dim_mode -#capalias EE me AT&T exit_attribute_mode -capalias FE LF AT&T label_on -capalias FL LO AT&T label_off -capalias XS mk AT&T enter_secure_mode -# -# We comment out EE because the conflicting XENIX EE is more common in -# old entries. -# -# XENIX extensions: -# -# These are the ones we know how to translate directly: -# -capalias EE mh XENIX exit_attribute_mode -capalias GE ae XENIX exit_alt_charset_mode -capalias GS as XENIX enter_alt_charset_mode -capalias CF vi XENIX cursor_invis -capalias CO ve XENIX cursor_normal -capalias EN @7 XENIX key_end -capalias HM kh XENIX key_home -capalias LD kL XENIX key_dl -capalias PD kN XENIX key_npage -capalias PN po XENIX prtr_off -capalias PS pf XENIX prtr_on -capalias PU kP XENIX key_ppage -capalias RT @8 XENIX kent -capalias UP ku XENIX kcuu1 -capalias G6 IGNORE XENIX double-ACS_ULCORNER -capalias G7 IGNORE XENIX double-ACS_LLCORNER -capalias G5 IGNORE XENIX double-ACS_URCORNER -capalias G8 IGNORE XENIX double-ACS_LRCORNER -capalias Gr IGNORE XENIX double-ACS_LTEE -capalias Gr IGNORE XENIX double-ACS_RTEE -capalias Gu IGNORE XENIX double-ACS_BTEE -capalias Gd IGNORE XENIX double ACS_TTEE -capalias Gh IGNORE XENIX double-ACS_HLINE -capalias Gv IGNORE XENIX double-ACS_VLINE -capalias Gc IGNORE XENIX double-ACS_PLUS -capalias GG IGNORE XENIX acs-glitch -# -# IBM extensions: -# -capalias kq %1 IBM key_help -# -# Iris extensions: -# -capalias HS mh IRIS enter_dim_mode -# -# Tektronix extensions: -# -capalias KA k; Tek key_f10 -capalias KB F1 Tek key_f11 -capalias KC F2 Tek key_f12 -capalias KD F3 Tek key_f13 -capalias KE F4 Tek key_f14 -capalias KF F5 Tek key_f15 -capalias BC Sb Tek set_background -capalias FC Sf Tek set_foreground -# -# There are also the following: -# -# XENIX XENIX variable name name clash with terminfo? -# ----- ------------------- ------------------------- -# CL key_char_left -# CR key_char_right -# CW key_change_window -# HP ?? -# LF key_linefeed label_off -# NU key_next_unlocked_cell -# PL ?? -# PR ?? -# RC key_recalc remove_clock -# RF key_toggle_ref req_for_input -# WL key_word_left -# WR key_word_right -# -# If you know what any of the question-marked ones mean, please tell us. -# -#--------------------------------- Terminfo aliases ------------------------ -# -# IBM extensions: -# -infoalias font0 s0ds IBM set0_des_seq -infoalias font1 s1ds IBM set1_des_seq -infoalias font2 s2ds IBM set2_des_seq -infoalias font3 s3ds IBM set3_des_seq -infoalias kbtab kcbt IBM key_backtab -infoalias ksel kslt IBM key_select -# -# Some others are identical to SVr4/XPG4 capabilities, in particular: -# kcmd, kend, khlp, and kf11...kf63. -# -############################################################################# -# -# The following sets edit modes for GNU EMACS -# Local Variables: -# case-fold-search:nil -# truncate-lines:t -# End: diff --git a/src/libs/ncurses/include/Caps.osf1r5 b/src/libs/ncurses/include/Caps.osf1r5 deleted file mode 100644 index 958461ae25..0000000000 --- a/src/libs/ncurses/include/Caps.osf1r5 +++ /dev/null @@ -1,1274 +0,0 @@ -############################################################################## -# Copyright (c) 2002 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas Dickey -# -# $Id: Caps.osf1r5,v 1.3 2002/07/07 00:02:52 tom Exp $ -# -# This is an adaptation of ncurses' termcap/terminfo capability table, which -# is designed to align with OSF/1 version 5 (Tru64) terminfo. -# -# This table is used to generate initializers for tables that drive tic, -# infocmp, and the library compilation code used to support the termcap -# compatibility hack. It is also used to generate the tabular portion of the -# terminfo(5) man page; lines beginning with `#%' are passed through to become -# the terminfo table. -# -# This file has three major sections; a standard-capabilities table, two -# extension-capability tables, and a section of aliases declarations. -# The first two have the same format, as follows: -# -# FILE FORMAT -# -# Column 1: terminfo variable name -# Column 2: terminfo capability name -# Column 3: capability type (boolean, numeric, or string) -# Column 4: termcap capability name -# Column 5: KEY_xxx name, if any, `-' otherwise -# Column 6: value for KEY_xxx name, if any, `-' otherwise -# Column 7: Lead with `Y' if capability should be emitted in termcap -# translations, `-' otherwise -# Column 8: capability description -# -# The codes following [Y-] in column 7 describe the versions of termcap which -# use the given capability. This information is not used by the curses library -# proper; rather, it's there to help the terminfo maintainer avoid emitting -# termcap entry translations that are more than 1023 bytes long (and tank a -# lot of old termcap-using programs). The codes read as follows: -# B = mentioned in the BSD man page for 4.4BSD curses -# C = used by the 4.4BSD curses library -# G = mentioned in the documentation for GNU termcap -# E = used by GNU Emacs -# K = remove this terminfo capability when translating to standard format -# The important codes are C and E. A cap with C or E should be preserved in -# translation if possible. The problem is that preserving all such caps may -# lead to some termcap translations being too long. The termcap maintainer -# has a bit of a juggling act to do...potential problem cases are marked with -# an asterisk (*). -# -# The aliases section has the following format: -# -# Column 1: either `capalias' or `infoalias' -# Column 2: name to be aliased -# Column 3: what name it should translate to. The name IGNORE means it -# should be discarded with a warning message. -# Column 4: name of the extension set (used for compiler warning messages) -# Column 5: capability description (usually an associated terminfo variable) -# -# HANDLING TERMCAP AND TERMINFO EXTENSIONS -# -# There are basically five different ways to handle termcap and terminfo -# extensions: -# -# 1. Don't list the capname here, or list it but comment it out (the latter -# is preferable; someone might want to handle it in the future). If you do -# this, the capability will be treated as unknown and raise a warning from -# the compiler. -# -# 2. Alias it. This is appropriate if the capability has the same meaning -# as an already-supported one. The compiler will handle aliasing, emitting -# an appropriate informational message whenever an alias fires. -# -# 3. List it in the standard table. You almost certainly do *not* want -# to do this -- the capabilities in that one, and their order, have been -# carefully chosen to be SVr4-binary-compatible when they're written out -# as a terminfo object, and breaking this would be bad. It's up the ncurses -# library what to do with the terminfo data after it's read in. -# -# 4. List it in the aliases table with an IGNORE target field. If you -# do this, the capability will be ignored on input (though the user will -# get a warning message about it). -# -# 5. List it in the extensions table. If you do this, the compiler will -# silently accept the capability, but the curses library proper will never -# see it (because it won't be written out as part of the terminfo object -# format). It's up to you what you have the compiler do with it. -# -# There are two opposite reasons to choose option 5. One is when you want -# to eat the capability silently and discard it when doing translations -# to terminfo with tic -I. Some very old obsolete BSD caps like :kn: are -# in this class. Nothing will ever use them again. -# -# More usually, you want the compiler to try to deduce something from the -# capability value that it can use to translate it into your output format. -# You'll need to write custom code, probably in postprocess_termcap() or -# postprocess_terminfo(), to handle the translation. -# -# CONTROLLING ENTRY LENGTH -# -# Notes on specific elisions made to fit translations within 1023 bytes: -# -# Machines with IBM PC-like keyboards want to be able to define the following -# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap- -# only environments for End or Home-Down), key_dc, and key_ic. This is also -# the set of keys the `joe' editor will be upset if it can't see. So don't -# trim those out of the set to be translated to termcap, or various users of -# the termcap file will become irate. -# -# It might look tempting to leave those long init strings out of translations. -# We can't do it (yet); 4.4BSD tput and tset use them. -# -# We retain the sgr capability in translation in spite of the fact that neither -# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are -# hard to understand without it, and (b) the entries in which it is long tend -# to be older types that don't use up a lot of string space on function keys. -# The tic(1) translation code will complain and elide it if it makes a critical -# difference (there is special code in tic to recognize this situation). -# -# Yes, BSD tset(1) uses hpa. We elide hpa/vpa anyway because the motion -# optimizer in BSD curses didn't use them. This omission seems to be the -# single most effective one, it shortened the resolved length of all thirteen -# problem entries in the 9.9.0 version of the terminfo master below critical. -# -# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap -# translations go back over critical if we do this. As 4.4BSD curses fades -# into history and GNU termcap's application base shrinks towards being GNU -# Emacs only, we'll probably elide out some BSD-only capabilities in order -# to buy space for non-essentials Emacs is still using. Capabilities high -# on that hit list: rc, sc, uc. -# -############################################################################# -# -# STANDARD CAPABILITIES -# -#%The following is a complete table of the capabilities included in a -#%terminfo description block and available to terminfo-using code. In each -#%line of the table, -#% -#%The \fBvariable\fR is the name by which the programmer (at the terminfo level) -#%accesses the capability. -#% -#%The \fBcapname\fR is the short name used in the text of the database, -#%and is used by a person updating the database. -#%Whenever possible, capnames are chosen to be the same as or similar to -#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses -#%identical or very similar names). Semantics are also intended to match -#%those of the specification. -#% -#%The termcap code is the old -#%.B termcap -#%capability name (some capabilities are new, and have names which termcap -#%did not originate). -#%.P -#%Capability names have no hard length limit, but an informal limit of 5 -#%characters has been adopted to keep them short and to allow the tabs in -#%the source file -#%.B Caps -#%to line up nicely. -#% -#%Finally, the description field attempts to convey the semantics of the -#%capability. You may find some codes in the description field: -#%.TP -#%(P) -#%indicates that padding may be specified -#%.TP -#%#[1-9] -#%in the description field indicates that the string is passed through tparm with -#%parms as given (#\fIi\fP). -#%.TP -#%(P*) -#%indicates that padding may vary in proportion to the number of -#%lines affected -#%.TP -#%(#\d\fIi\fP\u) -#%indicates the \fIi\fP\uth\d parameter. -#% -#%.PP -#% These are the boolean capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBBooleans name Code\fR -auto_left_margin bw bool bw - - YB-G- cub1 wraps from column 0 to last column -auto_right_margin am bool am - - YBCGE terminal has automatic margins -no_esc_ctlc xsb bool xb - - YBCG- beehive (f1=escape, f2=ctrl C) -ceol_standout_glitch xhp bool xs - - YBCGE standout not erased by overwriting (hp) -eat_newline_glitch xenl bool xn - - YBCGE newline ignored after 80 cols (concept) -erase_overstrike eo bool eo - - YBCG- can erase overstrikes with a blank -generic_type gn bool gn - - YB-G- generic line type -hard_copy hc bool hc - - YBCG- hardcopy terminal -has_meta_key km bool km - - YB-GE Has a meta key (i.e., sets 8th-bit) -has_status_line hs bool hs - - YB-G- has extra status line -insert_null_glitch in bool in - - YBCGE insert mode distinguishes nulls -memory_above da bool da - - YBCG- display may be retained above the screen -memory_below db bool db - - YB-GE display may be retained below the screen -move_insert_mode mir bool mi - - YBCGE safe to move while in insert mode -move_standout_mode msgr bool ms - - YBCGE safe to move while in standout mode -over_strike os bool os - - YBCG- terminal can overstrike -status_line_esc_ok eslok bool es - - YB-G- escape can be used on the status line -dest_tabs_magic_smso xt bool xt - - YBCGE tabs destructive, magic so char (t1061) -tilde_glitch hz bool hz - - YB-GE cannot print ~'s (hazeltine) -transparent_underline ul bool ul - - YBCGE underline character overstrikes -xon_xoff xon bool xo - - YB--- terminal uses xon/xoff handshaking -back_color_erase bce bool ut - - ----- screen erased with background color -can_change ccc bool cc - - ----- terminal can re-define existing colors -col_addr_glitch xhpa bool YA - - ----- only positive motion for hpa/mhpa caps -cpi_changes_res cpix bool YF - - ----- changing character pitch changes resolution -cr_cancels_micro_mode crxm bool YB - - ----- using cr turns off micro mode -hard_cursor chts bool HC - - ----- cursor is hard to see -has_print_wheel daisy bool YC - - ----- printer needs operator to change character set -hue_lightness_saturation hls bool hl - - ----- terminal uses only HLS color notation (Tektronix) -lpi_changes_res lpix bool YG - - ----- changing line pitch changes resolution -needs_xon_xoff nxon bool nx - - ----- padding will not work, xon/xoff required -non_dest_scroll_region ndscr bool ND - - ----- scrolling region is non-destructive -non_rev_rmcup nrrmc bool NR - - ----- smcup does not reverse rmcup -no_pad_char npc bool NP - - ----- pad character does not exist -prtr_silent mc5i bool 5i - - ----- printer will not echo on screen -row_addr_glitch xvpa bool YD - - ----- only positive motion for vpa/mvpa caps -semi_auto_right_margin sam bool YE - - ----- printing in last column causes cr -#%.TE -#%.ad -#% -#%These are the numeric capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBNumeric name Code\fR -columns cols num co - - YBCGE number of columns in a line -init_tabs it num it - - YB-G- tabs initially every # spaces -lines lines num li - - YBCGE number of lines on screen or page -lines_of_memory lm num lm - - YB-G- lines of memory if > line. 0 means varies -magic_cookie_glitch xmc num sg - - YBCGE number of blank characters left by smso or rmso -padding_baud_rate pb num pb - - YB-GE lowest baud rate where padding needed -virtual_terminal vt num vt - - YB--- virtual terminal number (CB/unix) -width_status_line wsl num ws - - YB-G- number of columns in status line -bit_image_entwining bitwin num Yo - - ----- number of passes for each bit-image row -bit_image_type bitype num Yp - - ----- type of bit-image device -buffer_capacity bufsz num Ya - - ----- numbers of bytes buffered before printing -buttons btns num BT - - ----- number of buttons on mouse -dot_vert_spacing spinv num Yb - - ----- spacing of pins vertically in pins per inch -dot_horz_spacing spinh num Yc - - ----- spacing of dots horizontally in dots per inch -label_height lh num lh - - ----- rows in each label -label_width lw num lw - - ----- columns in each label -max_attributes ma num ma - - YBC-- maximum combined attributes terminal can handle -max_colors colors num Co - - ----- maximum number of colors on screen -max_micro_address maddr num Yd - - ----- maximum value in micro_..._address -max_micro_jump mjump num Ye - - ----- maximum value in parm_..._micro -max_pairs pairs num pa - - ----- maximum number of color-pairs on the screen -maximum_windows wnum num MW - - ----- maximum number of defineable windows -micro_col_size mcs num Yf - - ----- character step size when in micro mode -micro_line_size mls num Yg - - ----- line step size when in micro mode -no_color_video ncv num NC - - ----- video attributes that can not be used with colors -number_of_pins npins num Yh - - ----- numbers of pins in print-head -num_labels nlab num Nl - - ----- number of labels on screen -output_res_char orc num Yi - - ----- horizontal resolution in units per line -output_res_line orl num Yj - - ----- vertical resolution in units per line -output_res_horz_inch orhi num Yk - - ----- horizontal resolution in units per inch -output_res_vert_inch orvi num Yl - - ----- vertical resolution in units per inch -print_rate cps num Ym - - ----- print rate in characters per second -wide_char_size widcs num Yn - - ----- character step size when in double wide mode -#%.TE -#%.ad -#% -#%These are the string capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBString name Code\fR -back_tab cbt str bt - - YBCGE back tab (P) -bell bel str bl - - YB-GE audible signal (bell) (P) -carriage_return cr str cr - - YBCGE carriage return (P*) (P*) -change_scroll_region csr str cs - - YBCGE change region to line #1 to line #2 (P) -clear_all_tabs tbc str ct - - YB-G- clear all tab stops (P) -clear_screen clear str cl - - YBCGE clear screen and home cursor (P*) -clr_eol el str ce - - YBCGE clear to end of line (P) -clr_eos ed str cd - - YBCGE clear to end of screen (P*) -column_address hpa str ch - - -B-GE* horizontal position #1, absolute (P) -command_character cmdch str CC - - YB-G- terminal settable cmd character in prototype !? -cursor_address cup str cm - - YBCGE move to row #1 columns #2 -cursor_down cud1 str do - - YBCGE down one line -cursor_home home str ho - - YBCGE home cursor (if no cup) -cursor_invisible civis str vi - - YB-G- make cursor invisible -cursor_left cub1 str le - - YBCGE move left one space -cursor_mem_address mrcup str CM - - YB-G- memory relative cursor addressing, move to row #1 columns #2 -cursor_normal cnorm str ve - - YBCGE make cursor appear normal (undo civis/cvvis) -cursor_right cuf1 str nd - - YBCGE non-destructive space (move right one space) -cursor_to_ll ll str ll - - YBCGE last line, first column (if no cup) -cursor_up cuu1 str up - - YBCGE up one line -cursor_visible cvvis str vs - - YBCGE make cursor very visible -delete_character dch1 str dc - - YBCGE delete character (P*) -delete_line dl1 str dl - - YBCGE delete line (P*) -dis_status_line dsl str ds - - YB-G- disable status line -down_half_line hd str hd - - YB-G- half a line down -enter_alt_charset_mode smacs str as - - YB-G- start alternate character set (P) -enter_blink_mode blink str mb - - YB-G- turn on blinking -enter_bold_mode bold str md - - YB-G- turn on bold (extra bright) mode -enter_ca_mode smcup str ti - - YBCGE string to start programs using cup -enter_delete_mode smdc str dm - - YBCGE enter delete mode -enter_dim_mode dim str mh - - YB-G- turn on half-bright mode -enter_insert_mode smir str im - - YBCGE enter insert mode -enter_secure_mode invis str mk - - -B-G-* turn on blank mode (characters invisible) -enter_protected_mode prot str mp - - -B-G-* turn on protected mode -enter_reverse_mode rev str mr - - YB-G- turn on reverse video mode -enter_standout_mode smso str so - - YBCGE begin standout mode -enter_underline_mode smul str us - - YBCGE begin underline mode -erase_chars ech str ec - - YB-G- erase #1 characters (P) -exit_alt_charset_mode rmacs str ae - - YB-G- end alternate character set (P) -exit_attribute_mode sgr0 str me - - YB-GE turn off all attributes -exit_ca_mode rmcup str te - - YBCGE strings to end programs using cup -exit_delete_mode rmdc str ed - - YBCGE end delete mode -exit_insert_mode rmir str ei - - YBCGE exit insert mode -exit_standout_mode rmso str se - - YBCGE exit standout mode -exit_underline_mode rmul str ue - - YBCGE exit underline mode -flash_screen flash str vb - - YBCGE visible bell (may not move cursor) -form_feed ff str ff - - YB-G- hardcopy terminal page eject (P*) -from_status_line fsl str fs - - YB-G- return from status line -init_1string is1 str i1 - - YB-G- initialization string -init_2string is2 str is - - YB-G- initialization string -init_3string is3 str i3 - - YB-G- initialization string -init_file if str if - - YB-G- name of initialization file -insert_character ich1 str ic - - YBCGE insert character (P) -insert_line il1 str al - - YBCGE insert line (P*) -insert_padding ip str ip - - YBCGE insert padding after inserted character -key_backspace kbs str kb KEY_BACKSPACE 0407 YB-G- backspace key -key_catab ktbc str ka KEY_CATAB 0526 -B-G-* clear-all-tabs key -key_clear kclr str kC KEY_CLEAR 0515 -B-G-* clear-screen or erase key -key_ctab kctab str kt KEY_CTAB 0525 -B-G-* clear-tab key -key_dc kdch1 str kD KEY_DC 0512 YB-G- delete-character key -key_dl kdl1 str kL KEY_DL 0510 -B-G-* delete-line key -key_down kcud1 str kd KEY_DOWN 0402 YBCGE down-arrow key -key_eic krmir str kM KEY_EIC 0514 -B-G-* sent by rmir or smir in insert mode -key_eol kel str kE KEY_EOL 0517 -B-G-* clear-to-end-of-line key -key_eos ked str kS KEY_EOS 0516 -B-G-* clear-to-end-of-screen key -key_f0 kf0 str k0 KEY_F(0) 0410 YBCGE F0 function key -key_f1 kf1 str k1 KEY_F(1) - YBCGE F1 function key -key_f10 kf10 str k; KEY_F(10) - ----E F10 function key -key_f2 kf2 str k2 KEY_F(2) - YBCGE F2 function key -key_f3 kf3 str k3 KEY_F(3) - YBCGE F3 function key -key_f4 kf4 str k4 KEY_F(4) - YBCGE F4 function key -key_f5 kf5 str k5 KEY_F(5) - YBCGE F5 function key -key_f6 kf6 str k6 KEY_F(6) - YBCGE F6 function key -key_f7 kf7 str k7 KEY_F(7) - YBCGE F7 function key -key_f8 kf8 str k8 KEY_F(8) - YBCGE F8 function key -key_f9 kf9 str k9 KEY_F(9) - YBCGE F9 function key -key_home khome str kh KEY_HOME 0406 YBCGE home key -key_ic kich1 str kI KEY_IC 0513 YB-GE insert-character key -key_il kil1 str kA KEY_IL 0511 -B-G-* insert-line key -key_left kcub1 str kl KEY_LEFT 0404 YBCGE left-arrow key -key_ll kll str kH KEY_LL 0533 YB-G- lower-left key (home down) -key_npage knp str kN KEY_NPAGE 0522 YB-GE next-page key -key_ppage kpp str kP KEY_PPAGE 0523 YB-GE previous-page key -key_right kcuf1 str kr KEY_RIGHT 0405 YBCGE right-arrow key -key_sf kind str kF KEY_SF 0520 -B-G-* scroll-forward key -key_sr kri str kR KEY_SR 0521 -B-G-* scroll-backward key -key_stab khts str kT KEY_STAB 0524 -B-G-* set-tab key -key_up kcuu1 str ku KEY_UP 0403 YBCGE up-arrow key -keypad_local rmkx str ke - - YBCGE leave 'keyboard_transmit' mode -keypad_xmit smkx str ks - - YBCGE enter 'keyboard_transmit' mode -lab_f0 lf0 str l0 - - -B-G-* label on function key f0 if not f0 -lab_f1 lf1 str l1 - - -B-G-* label on function key f1 if not f1 -lab_f10 lf10 str la - - ----- label on function key f10 if not f10 -lab_f2 lf2 str l2 - - -B-G-* label on function key f2 if not f2 -lab_f3 lf3 str l3 - - -B-G-* label on function key f3 if not f3 -lab_f4 lf4 str l4 - - -B-G-* label on function key f4 if not f4 -lab_f5 lf5 str l5 - - -B-G-* label on function key f5 if not f5 -lab_f6 lf6 str l6 - - -B-G-* label on function key f6 if not f6 -lab_f7 lf7 str l7 - - -B-G-* label on function key f7 if not f7 -lab_f8 lf8 str l8 - - -B-G-* label on function key f8 if not f8 -lab_f9 lf9 str l9 - - -B-G-* label on function key f9 if not f9 -meta_off rmm str mo - - YB-G-* turn off meta mode -meta_on smm str mm - - YB-G-* turn on meta mode (8th-bit on) -newline nel str nw - - YB-G-* newline (behave like cr followed by lf) -pad_char pad str pc - - YBCGE padding char (instead of null) -parm_dch dch str DC - - YB-GE delete #1 characters (P*) -parm_delete_line dl str DL - - YBCGE delete #1 lines (P*) -parm_down_cursor cud str DO - - YBCGE down #1 lines (P*) -parm_ich ich str IC - - YB-GE insert #1 characters (P*) -parm_index indn str SF - - YBCG- scroll forward #1 lines (P) -parm_insert_line il str AL - - YBCGE insert #1 lines (P*) -parm_left_cursor cub str LE - - YBCGE move #1 characters to the left (P) -parm_right_cursor cuf str RI - - YBCGE move #1 characters to the right (P*) -parm_rindex rin str SR - - YBCG- scroll back #1 lines (P) -parm_up_cursor cuu str UP - - YBCGE up #1 lines (P*) -pkey_key pfkey str pk - - -B--- program function key #1 to type string #2 -pkey_local pfloc str pl - - -B--- program function key #1 to execute string #2 -pkey_xmit pfx str px - - -B--- program function key #1 to transmit string #2 -print_screen mc0 str ps - - -B-G-* print contents of screen -prtr_off mc4 str pf - - -B-G-* turn off printer -prtr_on mc5 str po - - -B-G-* turn on printer -repeat_char rep str rp - - YB-GE repeat char #1 #2 times (P*) -reset_1string rs1 str r1 - - -B--- reset string -reset_2string rs2 str r2 - - -B--- reset string -reset_3string rs3 str r3 - - -B--- reset string -reset_file rf str rf - - -B--- name of reset file -restore_cursor rc str rc - - YBCG- restore cursor to position of last save_cursor -row_address vpa str cv - - -B-GE* vertical position #1 absolute (P) -save_cursor sc str sc - - YBCG- save current cursor position (P) -scroll_forward ind str sf - - YBCGE scroll text up (P) -scroll_reverse ri str sr - - YBCGE scroll text down (P) -set_attributes sgr str sa - - YB-G- define video attributes #1-#9 (PG9) -set_tab hts str st - - YB-G- set a tab in every row, current columns -set_window wind str wi - - -B-GE current window is lines #1-#2 cols #3-#4 -tab ht str ta - - YBCGE tab to next 8-space hardware tab stop -to_status_line tsl str ts - - YB-G- move to status line, column #1 -underline_char uc str uc - - YBCG- underline char and move past it -up_half_line hu str hu - - YB-G- half a line up -init_prog iprog str iP - - -B--- path name of program for initialization -key_a1 ka1 str K1 KEY_A1 0534 YB-GE upper left of keypad -key_a3 ka3 str K3 KEY_A3 0535 YB-GE upper right of keypad -key_b2 kb2 str K2 KEY_B2 0536 YB-GE center of keypad -key_c1 kc1 str K4 KEY_C1 0537 YB-GE lower left of keypad -key_c3 kc3 str K5 KEY_C3 0540 YB-GE lower right of keypad -prtr_non mc5p str pO - - -B-G-* turn on printer for #1 bytes -# -# SVr1 capabilities stop here. IBM's version of terminfo is the same as -# SVr4 up to this point, but has a different set afterwards. -# -# OSF1 differences start here, based on IBM version: -# -box_chars_1 box1 str bx - - ----K box characters primary set -box_chars_2 box2 str by - - ----K box characters secondary set -box_attr_1 batt1 str Bx - - ----K attributes for box1 -box_attr_2 batt2 str By - - ----K attributes for box2 -color_bg_0 colb0 str d0 - - ----K background color 0 -color_bg_1 colb1 str d1 - - ----K background color 1 -color_bg_2 colb2 str d2 - - ----K background color 2 -color_bg_3 colb3 str d3 - - ----K background color 3 -color_bg_4 colb4 str d4 - - ----K background color 4 -color_bg_5 colb5 str d5 - - ----K background color 5 -color_bg_6 colb6 str d6 - - ----K background color 6 -color_bg_7 colb7 str d7 - - ----K background color 7 -color_fg_0 colf0 str c0 - - ----K foreground color 0 -color_fg_1 colf1 str c1 - - ----K foreground color 1 -color_fg_2 colf2 str c2 - - ----K foreground color 2 -color_fg_3 colf3 str c3 - - ----K foreground color 3 -color_fg_4 colf4 str c4 - - ----K foreground color 4 -color_fg_5 colf5 str c5 - - ----K foreground color 5 -color_fg_6 colf6 str c6 - - ----K foreground color 6 -color_fg_7 colf7 str c7 - - ----K foreground color 7 -font_0 font0 str f0 - - ----- select font 0 -font_1 font1 str f1 - - ----- select font 1 -font_2 font2 str f2 - - ----- select font 2 -font_3 font3 str f3 - - ----- select font 3 -font_4 font4 str f4 - - ----K select font 4 -font_5 font5 str f5 - - ----K select font 5 -font_6 font6 str f6 - - ----K select font 6 -font_7 font7 str f7 - - ----K select font 7 -key_back_tab kbtab str k0 - - ----- backtab key -key_do kdo str ki - - ----K do request key -key_command kcmd str kc KEY_COMMAND 0545 ----- command key -key_command_pane kcpn str kW - - ----K command-pane key -key_end kend str @7 KEY_END 0550 ----- end key -key_help khlp str %1 KEY_HELP 0553 ----- help key -key_newline knl str nl - - ----K newline key -key_next_pane knpn str kv - - ----K next-pane key -key_prev_cmd kppn str kp - - ----K previous-command key -key_prev_pane kppn str kV - - ----K previous-pane key -key_quit kquit str kQ - - ----K quit key -key_select kslt str *6 KEY_SELECT 0601 ----- select key -key_scroll_left kscl str kz - - ----K scroll left -key_scroll_right kscr str kZ - - ----K scroll right -key_tab ktab str ko - - ----K tab key -key_smap_in1 kmpf1 str Kv - - ----K special mapped key 1 input -key_smap_out1 kmpt1 str KV - - ----K special mapped key 1 output -key_smap_in2 kmpf2 str Kw - - ----K special mapped key 2 input -key_smap_out2 kmpt2 str KW - - ----K special mapped key 2 output -key_smap_in3 kmpf3 str Kx - - ----K special mapped key 3 input -key_smap_out3 kmpt3 str KX - - ----K special mapped key 3 output -key_smap_in4 kmpf4 str Ky - - ----K special mapped key 4 input -key_smap_out4 kmpt4 str KY - - ----K special mapped key 4 output -key_smap_in5 kmpf5 str Kz - - ----K special mapped key 5 input -key_smap_out5 kmpt5 str KZ - - ----K special mapped key 5 output -appl_defined_str apstr str za - - ----K application-defined string -# The key_smap_in[6789] and key_smap_out[6789] capabilities are described in -# the Tru64 manual pages. -key_smap_in6 kmpf6 str Kr - - ----K special mapped key 6 input -key_smap_out6 kmpt6 str KR - - ----K special mapped key 6 output -key_smap_in7 kmpf7 str Ks - - ----K special mapped key 7 input -key_smap_out7 kmpt7 str KS - - ----K special mapped key 7 output -key_smap_in8 kmpf8 str Kt - - ----K special mapped key 8 input -key_smap_out8 kmpt8 str KT - - ----K special mapped key 8 output -key_smap_in9 kmpf9 str Ku - - ----K special mapped key 9 input -key_smap_out9 kmpt9 str KU - - ----K special mapped key 9 output -key_sf1 ksf1 str S1 - - ----K special function key 1 -key_sf2 ksf2 str S2 - - ----K special function key 2 -key_sf3 ksf3 str S3 - - ----K special function key 3 -key_sf4 ksf4 str S4 - - ----K special function key 4 -key_sf5 ksf5 str S5 - - ----K special function key 5 -key_sf6 ksf6 str S6 - - ----K special function key 6 -key_sf7 ksf7 str S7 - - ----K special function key 7 -key_sf8 ksf8 str S8 - - ----K special function key 8 -key_sf9 ksf9 str S9 - - ----K special function key 9 -key_sf10 ksf10 str SA - - ----K special function key 10 -# -key_f11 kf11 str F1 KEY_F(11) - ----E F11 function key -key_f12 kf12 str F2 KEY_F(12) - ----E F12 function key -key_f13 kf13 str F3 KEY_F(13) - ----E F13 function key -key_f14 kf14 str F4 KEY_F(14) - ----E F14 function key -key_f15 kf15 str F5 KEY_F(15) - ----E F15 function key -key_f16 kf16 str F6 KEY_F(16) - ----E F16 function key -key_f17 kf17 str F7 KEY_F(17) - ----E F17 function key -key_f18 kf18 str F8 KEY_F(18) - ----E F18 function key -key_f19 kf19 str F9 KEY_F(19) - ----E F19 function key -key_f20 kf20 str FA KEY_F(20) - ----E F20 function key -key_f21 kf21 str FB KEY_F(21) - ----E F21 function key -key_f22 kf22 str FC KEY_F(22) - ----E F22 function key -key_f23 kf23 str FD KEY_F(23) - ----E F23 function key -key_f24 kf24 str FE KEY_F(24) - ----E F24 function key -key_f25 kf25 str FF KEY_F(25) - ----E F25 function key -key_f26 kf26 str FG KEY_F(26) - ----E F26 function key -key_f27 kf27 str FH KEY_F(27) - ----E F27 function key -key_f28 kf28 str FI KEY_F(28) - ----E F28 function key -key_f29 kf29 str FJ KEY_F(29) - ----E F29 function key -key_f30 kf30 str FK KEY_F(30) - ----E F30 function key -key_f31 kf31 str FL KEY_F(31) - ----E F31 function key -key_f32 kf32 str FM KEY_F(32) - ----E F32 function key -key_f33 kf33 str FN KEY_F(33) - ----E F33 function key -key_f34 kf34 str FO KEY_F(34) - ----E F34 function key -key_f35 kf35 str FP KEY_F(35) - ----E F35 function key -key_f36 kf36 str FQ KEY_F(36) - ----E F36 function key -key_action kact str kJ KEY_ACTION 0541 ----K sent by action key -acs_chars acsc str ac - - ----- graphics charset pairs, based on vt100 -alt_scancode_esc scesa str S8 - - ----- Alternate escape for scancode emulation -bit_image_repeat birep str Xy - - ----- Repeat bit image cell #1 #2 times -bit_image_newline binel str Zz - - ----- Move to next row of the bit image -bit_image_carriage_return bicr str Yv - - ----- Move to beginning of same row -change_char_pitch cpi str ZA - - ----- Change number of characters per inch to #1 -change_line_pitch lpi str ZB - - ----- Change number of lines per inch to #1 -change_res_horz chr str ZC - - ----- Change horizontal resolution to #1 -change_res_vert cvr str ZD - - ----- Change vertical resolution to #1 -char_padding rmp str rP - - ----- like ip but when in insert mode -char_set_names csnm str Zy - - ----- Produce #1'th item from list of character set names -clear_margins mgc str MC - - ----- clear right and left soft margins -clr_bol el1 str cb - - ----- Clear to beginning of line -code_set_init csin str ci - - ----- Init sequence for multiple codesets -color_names colornm str Yw - - ----- Give name for color #1 -create_window cwin str CW - - ----- define a window #1 from #2,#3 to #4,#5 -define_bit_image_region defbi str Yx - - ----- Define rectangualar bit image region -define_char defc str ZE - - ----- Define a character #1, #2 dots wide, descender #3 -device_type devt str dv - - ----- Indicate language/codeset support -dial_phone dial str DI - - ----- dial number #1 -display_clock dclk str DK - - ----- display clock -display_pc_char dispc str S1 - - ----- Display PC character #1 -ena_acs enacs str eA - - ----- enable alternate char set -end_bit_image_region endbi str Yy - - ----- End a bit-image region -enter_am_mode smam str SA - - ----- turn on automatic margins -enter_doublewide_mode swidm str ZF - - ----- Enter double-wide mode -enter_draft_quality sdrfq str ZG - - ----- Enter draft-quality mode -enter_italics_mode sitm str ZH - - ----- Enter italic mode -enter_leftward_mode slm str ZI - - ----- Start leftward carriage motion -enter_micro_mode smicm str ZJ - - ----- Start micro-motion mode -enter_near_letter_quality snlq str ZK - - ----- Enter NLQ mode -enter_normal_quality snrmq str ZL - - ----- Enter normal-quality mode -enter_pc_charset_mode smpch str S2 - - ----- Enter PC character display mode -enter_scancode_mode smsc str S4 - - ----- Enter PC scancode mode -enter_shadow_mode sshm str ZM - - ----- Enter shadow-print mode -enter_subscript_mode ssubm str ZN - - ----- Enter subscript mode -enter_superscript_mode ssupm str ZO - - ----- Enter superscript mode -enter_upward_mode sum str ZP - - ----- Start upward carriage motion -enter_xon_mode smxon str SX - - ----- turn on xon/xoff handshaking -exit_am_mode rmam str RA - - ----- turn off automatic margins -exit_doublewide_mode rwidm str ZQ - - ----- End double-wide mode -exit_italics_mode ritm str ZR - - ----- End italic mode -exit_leftward_mode rlm str ZS - - ----- End left-motion mode -exit_micro_mode rmicm str ZT - - ----- End micro-motion mode -exit_pc_charset_mode rmpch str S3 - - ----- Exit PC character display mode -exit_scancode_mode rmsc str S5 - - ----- Exit PC scancode mode -exit_shadow_mode rshm str ZU - - ----- End shadow-print mode -exit_subscript_mode rsubm str ZV - - ----- End subscript mode -exit_superscript_mode rsupm str ZW - - ----- End superscript mode -exit_upward_mode rum str ZX - - ----- End reverse character motion -exit_xon_mode rmxon str RX - - ----- turn off xon/xoff handshaking -fixed_pause pause str PA - - ----- pause for 2-3 seconds -flash_hook hook str fh - - ----- flash switch hook -get_mouse getm str Gm - - ----- Curses should get button events, parameter #1 not documented. -goto_window wingo str WG - - ----- go to window #1 -hangup hup str HU - - ----- hang-up phone -initialize_color initc str Ic - - ----- initialize color #1 to (#2,#3,#4) -initialize_pair initp str Ip - - ----- Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7) -key_beg kbeg str @1 KEY_BEG 0542 ----- begin key -key_btab kcbt str kB KEY_BTAB 0632 ----- back-tab key -key_cancel kcan str @2 KEY_CANCEL 0543 ----- cancel key -key_close kclo str @3 KEY_CLOSE 0544 ----- close key -key_copy kcpy str @5 KEY_COPY 0546 ----- copy key -key_create kcrt str @6 KEY_CREATE 0547 ----- create key -key_enter kent str @8 KEY_ENTER 0527 ----- enter/send key -key_exit kext str @9 KEY_EXIT 0551 ----- exit key -key_f37 kf37 str FR KEY_F(37) - ----E F37 function key -key_f38 kf38 str FS KEY_F(38) - ----E F38 function key -key_f39 kf39 str FT KEY_F(39) - ----E F39 function key -key_f40 kf40 str FU KEY_F(40) - ----E F40 function key -key_f41 kf41 str FV KEY_F(41) - ----E F41 function key -key_f42 kf42 str FW KEY_F(42) - ----E F42 function key -key_f43 kf43 str FX KEY_F(43) - ----E F43 function key -key_f44 kf44 str FY KEY_F(44) - ----E F44 function key -key_f45 kf45 str FZ KEY_F(45) - ----E F45 function key -key_f46 kf46 str Fa KEY_F(46) - ----E F46 function key -key_f47 kf47 str Fb KEY_F(47) - ----E F47 function key -key_f48 kf48 str Fc KEY_F(48) - ----E F48 function key -key_f49 kf49 str Fd KEY_F(49) - ----E F49 function key -key_f50 kf50 str Fe KEY_F(50) - ----E F50 function key -key_f51 kf51 str Ff KEY_F(51) - ----E F51 function key -key_f52 kf52 str Fg KEY_F(52) - ----E F52 function key -key_f53 kf53 str Fh KEY_F(53) - ----E F53 function key -key_f54 kf54 str Fi KEY_F(54) - ----E F54 function key -key_f55 kf55 str Fj KEY_F(55) - ----E F55 function key -key_f56 kf56 str Fk KEY_F(56) - ----E F56 function key -key_f57 kf57 str Fl KEY_F(57) - ----E F57 function key -key_f58 kf58 str Fm KEY_F(58) - ----E F58 function key -key_f59 kf59 str Fn KEY_F(59) - ----E F59 function key -key_f60 kf60 str Fo KEY_F(60) - ----E F60 function key -key_f61 kf61 str Fp KEY_F(61) - ----E F61 function key -key_f62 kf62 str Fq KEY_F(62) - ----E F62 function key -key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key -key_find kfnd str @0 KEY_FIND 0552 ----- find key -key_mark kmrk str %2 KEY_MARK 0554 ----- mark key -key_message kmsg str %3 KEY_MESSAGE 0555 ----- message key -key_mouse kmous str Km KEY_MOUSE 0631 ----- Mouse event has occurred -key_move kmov str %4 KEY_MOVE 0556 ----- move key -key_next knxt str %5 KEY_NEXT 0557 ----- next key -key_open kopn str %6 KEY_OPEN 0560 ----- open key -key_options kopt str %7 KEY_OPTIONS 0561 ----- options key -key_previous kprv str %8 KEY_PREVIOUS 0562 ----- previous key -key_print kprt str %9 KEY_PRINT 0532 ----- print key -key_redo krdo str %0 KEY_REDO 0563 ----- redo key -key_reference kref str &1 KEY_REFERENCE 0564 ----- reference key -key_refresh krfr str &2 KEY_REFRESH 0565 ----- refresh key -key_replace krpl str &3 KEY_REPLACE 0566 ----- replace key -key_restart krst str &4 KEY_RESTART 0567 ----- restart key -key_resume kres str &5 KEY_RESUME 0570 ----- resume key -key_save ksav str &6 KEY_SAVE 0571 ----- save key -key_sbeg kBEG str &9 KEY_SBEG 0572 ----- shifted begin key -key_scancel kCAN str &0 KEY_SCANCEL 0573 ----- shifted cancel key -key_scommand kCMD str *1 KEY_SCOMMAND 0574 ----- shifted command key -key_scopy kCPY str *2 KEY_SCOPY 0575 ----- shifted copy key -key_screate kCRT str *3 KEY_SCREATE 0576 ----- shifted create key -key_sdc kDC str *4 KEY_SDC 0577 ----- shifted delete-character key -key_sdl kDL str *5 KEY_SDL 0600 ----- shifted delete-line key -key_send kEND str *7 KEY_SEND 0602 ----- shifted end key -key_seol kEOL str *8 KEY_SEOL 0603 ----- shifted clear-to-end-of-line key -key_sexit kEXT str *9 KEY_SEXIT 0604 ----- shifted exit key -key_sfind kFND str *0 KEY_SFIND 0605 ----- shifted find key -key_shelp kHLP str #1 KEY_SHELP 0606 ----- shifted help key -key_shome kHOM str #2 KEY_SHOME 0607 ----- shifted home key -key_sic kIC str #3 KEY_SIC 0610 ----- shifted insert-character key -key_sleft kLFT str #4 KEY_SLEFT 0611 ----- shifted left-arrow key -key_smessage kMSG str %a KEY_SMESSAGE 0612 ----- shifted message key -key_smove kMOV str %b KEY_SMOVE 0613 ----- shifted move key -key_snext kNXT str %c KEY_SNEXT 0614 ----- shifted next key -key_soptions kOPT str %d KEY_SOPTIONS 0615 ----- shifted options key -key_sprevious kPRV str %e KEY_SPREVIOUS 0616 ----- shifted previous key -key_sprint kPRT str %f KEY_SPRINT 0617 ----- shifted print key -key_sredo kRDO str %g KEY_SREDO 0620 ----- shifted redo key -key_sreplace kRPL str %h KEY_SREPLACE 0621 ----- shifted replace key -key_sright kRIT str %i KEY_SRIGHT 0622 ----- shifted right-arrow key -key_srsume kRES str %j KEY_SRSUME 0623 ----- shifted resume key -key_ssave kSAV str !1 KEY_SSAVE 0624 ----- shifted save key -key_ssuspend kSPD str !2 KEY_SSUSPEND 0625 ----- shifted suspend key -key_sundo kUND str !3 KEY_SUNDO 0626 ----- shifted undo key -key_suspend kspd str &7 KEY_SUSPEND 0627 ----- suspend key -key_undo kund str &8 KEY_UNDO 0630 ----- undo key -label_format fln str Lf - - ----- label format -label_off rmln str LF - - ----- turn off soft labels -label_on smln str LO - - ----- turn on soft labels -micro_column_address mhpa str ZY - - ----- Like column_address in micro mode -micro_down mcud1 str ZZ - - ----- Like cursor_down in micro mode -micro_left mcub1 str Za - - ----- Like cursor_left in micro mode -micro_right mcuf1 str Zb - - ----- Like cursor_right in micro mode -micro_row_address mvpa str Zc - - ----- Like row_address #1 in micro mode -micro_up mcuu1 str Zd - - ----- Like cursor_up in micro mode -mouse_info minfo str Mi - - ----- Mouse status information -order_of_pins porder str Ze - - ----- Match software bits to print-head pins -orig_colors oc str oc - - ----- Set all color pairs to the original ones -orig_pair op str op - - ----- Set default pair to its original value -parm_down_micro mcud str Zf - - ----- Like parm_down_cursor in micro mode -parm_left_micro mcub str Zg - - ----- Like parm_left_cursor in micro mode -parm_right_micro mcuf str Zh - - ----- Like parm_right_cursor in micro mode -parm_up_micro mcuu str Zi - - ----- Like parm_up_cursor in micro mode -pc_term_options pctrm str S6 - - ----- PC terminal options -pkey_plab pfxl str xl - - ----- Program function key #1 to type string #2 and show string #3 -plab_norm pln str pn - - ----- program label #1 to show string #2 -pulse pulse str PU - - ----- select pulse dialing -quick_dial qdial str QD - - ----- dial number #1 without checking -req_for_input rfi str RF - - ----- send next input char (for ptys) -req_mouse_pos reqmp str RQ - - ----- Request mouse position -remove_clock rmclk str RC - - ----- remove clock -scancode_escape scesc str S7 - - ----- Escape for scancode emulation -select_char_set scs str Zj - - ----- Select character set, #1 -set0_des_seq s0ds str s0 - - ----- Shift to codeset 0 (EUC set 0, ASCII) -set1_des_seq s1ds str s1 - - ----- Shift to codeset 1 -set2_des_seq s2ds str s2 - - ----- Shift to codeset 2 -set3_des_seq s3ds str s3 - - ----- Shift to codeset 3 -set_a_background setab str AB - - ----- Set background color to #1, using ANSI escape -set_a_foreground setaf str AF - - ----- Set foreground color to #1, using ANSI escape -set_background setb str Sb - - ----- Set background color #1 -set_bottom_margin smgb str Zk - - ----- Set bottom margin at current line -set_bottom_margin_parm smgbp str Zl - - ----- Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom -set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs -set_color_band setcolor str Yz - - ----- Change to ribbon color #1 -set_color_pair scp str sp - - ----- Set current color pair to #1 -set_foreground setf str Sf - - ----- Set foreground color #1 -set_left_margin smgl str ML - - ----- set left soft margin at current column. See smgl. (ML is not in BSD termcap). -set_left_margin_parm smglp str Zm - - ----- Set left (right) margin at column #1 -set_lr_margin smglr str ML - - ----- Set both left and right margins to #1, #2. (ML is not in BSD termcap). -set_page_length slines str YZ - - ----- Set page length to #1 lines -set_right_margin smgr str MR - - ----- set right soft margin at current column -set_right_margin_parm smgrp str Zn - - ----- Set right margin at column #1 -set_tb_margin smgtb str MT - - ----- Sets both top and bottom margins to #1, #2 -set_top_margin smgt str Zo - - ----- Set top margin at current line -set_top_margin_parm smgtp str Zp - - ----- Set top (bottom) margin at row #1 -start_bit_image sbim str Zq - - ----- Start printing bit image graphics -start_char_set_def scsd str Zr - - ----- Start character set definition #1, with #2 characters in the set -stop_bit_image rbim str Zs - - ----- Stop printing bit image graphics -stop_char_set_def rcsd str Zt - - ----- End definition of character set #1 -subscript_characters subcs str Zu - - ----- List of subscriptable characters -superscript_characters supcs str Zv - - ----- List of superscriptable characters -these_cause_cr docr str Zw - - ----- Printing any of these characters causes CR -tone tone str TO - - ----- select touch tone dialing -user0 u0 str u0 - - ----- User string #0 -user1 u1 str u1 - - ----- User string #1 -user2 u2 str u2 - - ----- User string #2 -user3 u3 str u3 - - ----- User string #3 -user4 u4 str u4 - - ----- User string #4 -user5 u5 str u5 - - ----- User string #5 -user6 u6 str u6 - - ----- User string #6 -user7 u7 str u7 - - ----- User string #7 -user8 u8 str u8 - - ----- User string #8 -user9 u9 str u9 - - ----- User string #9 -wait_tone wait str WA - - ----- wait for dial-tone -xoff_character xoffc str XF - - ----- XOFF character -xon_character xonc str XN - - ----- XON character -zero_motion zerom str Zx - - ----- No motion for subsequent character -set_pglen_inch slength str sL - - ----- YI Set page length to #1 hundredth of an inch -enter_horizontal_hl_mode ehhlm str Xh - - ----- Enter horizontal highlight mode -enter_left_hl_mode elhlm str Xl - - ----- Enter left highlight mode -enter_low_hl_mode elohlm str Xo - - ----- Enter low highlight mode -enter_right_hl_mode erhlm str Xr - - ----- Enter right highlight mode -enter_top_hl_mode ethlm str Xt - - ----- Enter top highlight mode -enter_vertical_hl_mode evhlm str Xv - - ----- Enter vertical highlight mode -set_a_attributes sgr1 str sA - - ----- Define second set of video attributes #1-#6 -# -# -# -# %%-STOP-HERE-%% -# -# Don't move this casually! In fact, don't move it at all unless you're -# either doing it to add System V or XPG4 extensions, or have decided you -# don't care about SVr4 binary compatibility. -# -############################################################################# -# -# TERMCAP EXTENSION CAPABILITIES -# -# The capabilities below are either obsolete or extensions on certain systems. -# They are not used by SVR4 terminfo. Some are used by captoinfo to translate -# termcap sources; the rest are listed for completeness, and in case somebody -# cares about them enough to hack in code that will translate them into -# terminfo capabilities. -# -# The first part of the list is from Ross Ridge's `mytinfo' package -# (comp.sources.unix, volume 26); the variable names and terminfo names (as -# well as the termcap codes) match his list. -# -# This group of codes is not marked obsolete in 4.4BSD, but have no direct -# terminfo equivalents. The rs capability is specially translated to terminfo -# r2, and vice versa, if an entry does not already have an r2. Similarly, -# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2). -# The ug capability is thrown away, but assumed to be whatever sg is if the -# latter is nonzero and we're dumping in termcap format. -# -termcap_init2 OTi2 str i2 - - YB--- secondary initialization string -termcap_reset OTrs str rs - - YB-G- terminal reset string -magic_cookie_glitch_ul OTug num ug - - YBCGE number of blanks left by ul -# -# Obsolete termcap capabilities. Some are used for termcap translation. The -# code uses the 'OT' prefix we put on obsolete capabilities to suppress -# printing them in terminfo source dumps of compiled entries. -# -backspaces_with_bs OTbs bool bs - - YBCGE uses ^H to move left -crt_no_scrolling OTns bool ns - - YBCG- crt cannot scroll -no_correctly_working_cr OTnc bool nc - - YBCG- no way to go to start of line -carriage_return_delay OTdC num dC - - YB-G- pad needed for CR -new_line_delay OTdN num dN - - YB-G- pad needed for LF -linefeed_if_not_lf OTnl str nl - - YBCGE use to move down -backspace_if_not_bs OTbc str bc - - YBCGE move left, if not ^H -# -# GNU termcap library extensions. The GNU termcap file distributed with -# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the -# BSD termcap file. The name clash with terminfo MT is resolved by type -# info; MT is converted to km. -# -gnu_has_meta_key OTMT bool MT - - ----E has meta key -# gnu_tab_width OTtw num tw - - ----E tab width in spaces -# -# GNU termcap *does* include the following extended capability, Only the -# now-obsolete Ann Arbor terminals used it. -# -# gnu_change_scroll_region OTcS str cS - - ---GE alternate set scrolling region -# -# The following comments describe capnames so ancient that I believe no -# software uses them any longer. Some of these have to go because they -# clash with terminfo names in ways that cannot be resolved by type -# information. -# -# These mytinfo codes are not used in the 4.4BSD curses code. They are -# marked obsolete in the 4.4BSD manual pages. -# -# There is one conflict with terminfo; ma is in both. This conflict is -# resolved by type information. -# -# The `ko' capability is translated by special code. It should contain a -# comma-separated list of capabilities for which there are corresponding keys. -# The `kn' code is accepted but ignored. -# -# The `ma' capability seems to have been designed to map between the rogue(2) -# motion keys (including jkhl) and characters emitted by arrow keys on some -# primitive pre-ANSI terminals. It's so obsolete it's fossilized... -# -# Here is a description of memory_lock_above and memory_unlock: -# "You can 'freeze' data on the screen by turning on Memory Lock in a line of -# text. All lines above the cursor's current line become locked in place on -# the screen. Then enter data normally. When the screen fills up, any -# further data entered forces the first line of unfrozen line text to scroll -# under the frozen data. Lines scrolled off the screen are inserted into -# memory immediately preceding the first frozen line." (from the HP 700/96 -# User's manual). VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l. -# -# Applications that use terminfo are supposed to behave as though xr is -# always true. -# -linefeed_is_newline OTNL bool NL - - YB--- move down with \n -# even_parity OTEP bool EP - - -B--- terminal requires even parity -# odd_parity OTOP bool OP - - -B--- terminal requires odd parity -# half_duplex OTHD bool HD - - -B--- terminal is half-duplex -# lower_case_only OTLC bool LC - - -B--- terminal has only lower case -# upper_case_only OTUC bool UC - - -B--- terminal has only upper case -backspace_delay OTdB num dB - - YB-G- padding required for ^H -# form_feed_delay OTdF num dF - - -B-G- padding required for ^L -horizontal_tab_delay OTdT num dT - - YB-G- padding required for ^I -# vertical_tab_delay OTdV num dV - - -B--- padding required for ^V -number_of_function_keys OTkn num kn - - -B-G- count of function keys -other_non_function_keys OTko str ko - - -B-G- list of self-mapped keycaps -arrow_key_map OTma str ma - - YBC-- map arrow keys rogue(1) motion keys -# memory_lock_above OTml str ml - - -B--- lock visible screen memory above the current line -# memory_unlock OTmu str mu - - -B--- unlock visible screen memory above the current line -has_hardware_tabs OTpt bool pt - - YB--- has 8-char tabs invoked with ^I -return_does_clr_eol OTxr bool xr - - YB--- return clears the line -# tek_4025_insert_line OTxx bool xx - - -BC-- Tektronix 4025 insert-line glitch -# -# mytinfo described this as a termcap capability, but it's not listed in the -# 4.4BSD man pages, and not found in the 4.4BSD termcap file. The ncurses -# package, like System V, behaves as though it is always true. -# -# rind_only_at_top OTxq bool xq - - ----- reverse index only works from top line -# -# University of Waterloo termcap extensions (as described in mytinfo). -# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot -# be resolved by a type check. The descriptions are guesses from what was -# in the mytinfo tables. -# -# key_interrupt_char OTki str ki - - ----- string set by interrupt key (?) -# key_kill_char OTkk str kk - - ----- string set by kill key (?) -# key_suspend_char OTkz str kz - - ----- string set by suspend key (?) -# initialization_messy OTxc bool xc - - ----- initialization leaves garbage on the screen (?) -# ind_at_bottom_does_cr OTxl bool xl - - ----- index does a carriage return -# -# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package. -# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type -# check. -# -# scroll_left OTsl1 str Sl - - ----- scroll screen leftward -# scroll_right OTsr1 str Sr - - ----- scroll screen rightward -# parm_scroll_left OTsl str SL - - ----- scroll screen leftward #1 characters -# parm_scroll_right OTsr str SR - - ----- scroll screen rightward #1 characters -# -# The mytinfo capabilities end here. -# -# XENIX extensions: -# -# Xenix defined its own set of forms-drawing capabilities: -# -# cap IBM ASCII description ACS ASCII -# --- ----------- -------------------- ------------- ------ -# G1 191 \277 M-? single upper right ACS_URCORNER -# G2 218 \332 M-Z single upper left ACS_ULCORNER -# G3 192 \300 M-@ single lower left ACS_LLCORNER -# G4 217 \331 M-Y single lower right ACS_LRCORNER -# G5 187 \273 M-; double upper right -# G6 201 \311 M-I double upper left -# G7 200 \310 M-H double lower left -# G8 188 \274 M-< double lower right -# GC 197 \305 M-E single intersection ACS_PLUS _ _ -# GD 194 \302 M-B single down-tick ACS_TTEE | -# GH 196 \304 M-D single horizontal line ACS_HLINE -# GL 180 \264 M-4 single left tick ACS_RTEE -| -# GR 195 \303 M-C single right tick ACS_LTEE |- -# GU 193 \301 M-A single up tick ACS_BTEE _|_ -# GV 179 \263 M-3 single vertical line ACS_VLINE -# Gc 206 \316 M-N double intersection -# Gd 203 \313 M-K double down tick -# Gh 205 \315 M-M double horizontal line -# Gl 204 \204 M-L double left tick -# Gr 185 \271 M-9 double right tick -# Gu 202 \312 M-J double up tick -# Gv 186 \272 M-: double vertical line -# -# The compiler will translate the single-line caps and discard the others -# (via IGNORE aliases further down). We don't want to do normal pad -# translation on these, they're often single-character printable ASCII -# strings that happen to be numerics. There's awk code in parametrized.sh -# that detects the acs_ prefix and uses it to suppress pad translation. -# These terminfo names are invented. -# -acs_ulcorner OTG2 str G2 - - ----- single upper left -acs_llcorner OTG3 str G3 - - ----- single lower left -acs_urcorner OTG1 str G1 - - ----- single upper right -acs_lrcorner OTG4 str G4 - - ----- single lower right -acs_ltee OTGR str GR - - ----- tee pointing right -acs_rtee OTGL str GL - - ----- tee pointing left -acs_btee OTGU str GU - - ----- tee pointing up -acs_ttee OTGD str GD - - ----- tee pointing down -acs_hline OTGH str GH - - ----- single horizontal line -acs_vline OTGV str GV - - ----- single vertical line -acs_plus OTGC str GC - - ----- single intersection -# -############################################################################# -# -# TERMINFO EXTENSION CAPABILITIES -# -# This section is almost all comments. What it's mainly for is to describe -# what capabilities need to be squeezed out to get down to the XSI Curses -# standard set. They are flagged with K. -# -# HP extensions -# -# These extensions follow ptr_non (replacing everything after it) in HP -# terminfo files. Except for memory_lock and memory_unlock, they are -# functionally identical to SVr4 extensions, but they make the binary format -# different. Grrr.... -# -memory_lock meml str ml - - ----K memory lock above -memory_unlock memu str mu - - ----K memory unlock -#plab_norm pln str pn - - ----- program label #1 to show string #2 -#label_on smln str LO - - ----- turn on soft labels -#label_off rmln str LF - - ----- turn off soft labels -#key_f11 kf11 str F1 - - ----- F11 function key -#key_f12 kf12 str F2 - - ----- F12 function key -#key_f13 kf13 str F3 - - ----- F13 function key -#key_f14 kf14 str F4 - - ----- F14 function key -#key_f15 kf15 str F5 - - ----- F15 function key -#key_f16 kf16 str F6 - - ----- F16 function key -#key_f17 kf17 str F7 - - ----- F17 function key -#key_f18 kf18 str F8 - - ----- F18 function key -#key_f19 kf19 str F9 - - ----- F19 function key -#key_f20 kf20 str FA - - ----- F20 function key -#key_f21 kf21 str FB - - ----- F21 function key -#key_f22 kf22 str FC - - ----- F22 function key -#key_f23 kf23 str FD - - ----- F23 function key -#key_f24 kf24 str FE - - ----- F24 function key -#key_f25 kf25 str FF - - ----- F25 function key -#key_f26 kf26 str FG - - ----- F26 function key -#key_f27 kf27 str FH - - ----- F27 function key -#key_f28 kf28 str FI - - ----- F28 function key -#key_f29 kf29 str FJ - - ----- F29 function key -#key_f30 kf30 str FK - - ----- F30 function key -#key_f31 kf31 str FL - - ----- F31 function key -#key_f32 kf32 str FM - - ----- F32 function key -#key_f33 kf33 str FN - - ----- F33 function key -#key_f34 kf34 str FO - - ----- F34 function key -#key_f35 kf35 str FP - - ----- F35 function key -#key_f36 kf36 str FQ - - ----- F36 function key -#key_f37 kf37 str FR - - ----- F37 function key -#key_f38 kf38 str FS - - ----- F38 function key -#key_f39 kf39 str FT - - ----- F39 function key -#key_f40 kf40 str FU - - ----- F40 function key -#key_f41 kf41 str FV - - ----- F41 function key -#key_f42 kf42 str FW - - ----- F42 function key -#key_f43 kf43 str FX - - ----- F43 function key -#key_f44 kf44 str FY - - ----- F44 function key -#key_f45 kf45 str FZ - - ----- F45 function key -#key_f46 kf46 str Fa - - ----- F46 function key -#key_f47 kf47 str Fb - - ----- F47 function key -#key_f48 kf48 str Fc - - ----- F48 function key -#key_f49 kf49 str Fd - - ----- F49 function key -#key_f50 kf50 str Fe - - ----- F50 function key -#key_f51 kf51 str Ff - - ----- F51 function key -#key_f52 kf52 str Fg - - ----- F52 function key -#key_f53 kf53 str Fh - - ----- F53 function key -#key_f54 kf54 str Fi - - ----- F54 function key -#key_f55 kf55 str Fj - - ----- F55 function key -#key_f56 kf56 str Fk - - ----- F56 function key -#key_f57 kf57 str Fl - - ----- F57 function key -#key_f58 kf58 str Fm - - ----- F58 function key -#key_f59 kf59 str Fn - - ----- F59 function key -#key_f60 kf60 str Fo - - ----- F60 function key -#key_f61 kf61 str Fp - - ----- F61 function key -#key_f62 kf62 str Fq - - ----- F62 function key -#key_f63 kf63 str Fr - - ----- F63 function key -# -# IBM extensions -# -# These extensions follow ptr_non (replacing everything after it) in IBM -# terminfo files. -# -# The places in the box[12] capabilities correspond to acsc characters, here is -# the mapping: -# -# box1[0] = ACS_ULCORNER -# box1[1] = ACS_HLINE -# box1[2] = ACS_URCORNER -# box1[3] = ACS_VLINE -# box1[4] = ACS_LRCORNER -# box1[5] = ACS_LLCORNER -# box1[6] = ACS_TTEE -# box1[7] = ACS_RTEE -# box1[8] = ACS_BTEE -# box1[9] = ACS_LTEE -# box1[10] = ACS_PLUS -# -# The box2 characters are the double-line versions of these forms graphics. -# -#box_chars_1 box1 str bx - - ----K box characters primary set -#box_chars_2 box2 str by - - ----K box characters secondary set -#box_attr_1 batt1 str Bx - - ----K attributes for box1 -#box_attr_2 batt2 str By - - ----K attributes for box2 -#color_bg_0 colb0 str d0 - - ----K background color 0 -#color_bg_1 colb1 str d1 - - ----K background color 1 -#color_bg_2 colb2 str d2 - - ----K background color 2 -#color_bg_3 colb3 str d3 - - ----K background color 3 -#color_bg_4 colb4 str d4 - - ----K background color 4 -#color_bg_5 colb5 str d5 - - ----K background color 5 -#color_bg_6 colb6 str d6 - - ----K background color 6 -#color_bg_7 colb7 str d7 - - ----K background color 7 -#color_fg_0 colf0 str c0 - - ----K foreground color 0 -#color_fg_1 colf1 str c1 - - ----K foreground color 1 -#color_fg_2 colf2 str c2 - - ----K foreground color 2 -#color_fg_3 colf3 str c3 - - ----K foreground color 3 -#color_fg_4 colf4 str c4 - - ----K foreground color 4 -#color_fg_5 colf5 str c5 - - ----K foreground color 5 -#color_fg_6 colf6 str c6 - - ----K foreground color 6 -#color_fg_7 colf7 str c7 - - ----K foreground color 7 -#font_0 font0 str f0 - - ----- select font 0 -#font_1 font1 str f1 - - ----- select font 1 -#font_2 font2 str f2 - - ----- select font 2 -#font_3 font3 str f3 - - ----- select font 3 -#font_4 font4 str f4 - - ----K select font 4 -#font_5 font5 str f5 - - ----K select font 5 -#font_6 font6 str f6 - - ----K select font 6 -#font_7 font7 str f7 - - ----K select font 7 -#key_back_tab kbtab str k0 - - ----- backtab key -#key_do kdo str ki - - ----K do request key -#key_command kcmd str kd - - ----K command-request key -#key_command_pane kcpn str kW - - ----K command-pane key -#key_end kend str kw - - ----- end key -#key_help khlp str kq - - ----- help key -#key_newline knl str nl - - ----K newline key -#key_next_pane knpn str kv - - ----K next-pane key -#key_prev_cmd kppn str kp - - ----K previous-command key -#key_prev_pane kppn str kV - - ----K previous-pane key -#key_quit kquit str kQ - - ----K quit key -#key_select ksel str kU - - ----- select key -#key_scroll_left kscl str kz - - ----K scroll left -#key_scroll_right kscr str kZ - - ----K scroll right -#key_tab ktab str ko - - ----K tab key -#key_smap_in1 kmpf1 str Kv - - ----K special mapped key 1 input -#key_smap_out1 kmpt1 str KV - - ----K special mapped key 1 output -#key_smap_in2 kmpf2 str Kw - - ----K special mapped key 2 input -#key_smap_out2 kmpt2 str KW - - ----K special mapped key 2 output -#key_smap_in3 kmpf3 str Kx - - ----K special mapped key 3 input -#key_smap_out3 kmpt3 str KX - - ----K special mapped key 3 output -#key_smap_in4 kmpf4 str Ky - - ----K special mapped key 4 input -#key_smap_out4 kmpt4 str KY - - ----K special mapped key 4 output -#key_smap_in5 kmpf5 str Kz - - ----K special mapped key 5 input -#key_smap_out5 kmpt5 str KZ - - ----K special mapped key 5 output -#appl_defined_str apstr str za - - ----K application-defined string -# The key_smap_in[6789] and key_smap_out[6789] capabilities aren't described in -# the IBM manual pages, so the cap name strings are guesses. The terminfo -# names are almost certainly right, the termcap ones almost certainly wrong. -#key_smap_in6 kmpf6 str k! - - ----K special mapped key 6 input -#key_smap_out6 kmpt6 str K@ - - ----K special mapped key 6 output -#key_smap_in7 kmpf7 str k# - - ----K special mapped key 7 input -#key_smap_out7 kmpt7 str K$ - - ----K special mapped key 7 output -#key_smap_in8 kmpf8 str k% - - ----K special mapped key 8 input -#key_smap_out8 kmpt8 str K^ - - ----K special mapped key 8 output -#key_smap_in9 kmpf9 str k& - - ----K special mapped key 9 input -#key_smap_out9 kmpt9 str K* - - ----K special mapped key 9 output -# Undocumented capabilities end here -#key_sf1 ksf1 str S1 - - ----K special function key 1 -#key_sf2 ksf2 str S2 - - ----K special function key 2 -#key_sf3 ksf3 str S3 - - ----K special function key 3 -#key_sf4 ksf4 str S4 - - ----K special function key 4 -#key_sf5 ksf5 str S5 - - ----K special function key 5 -#key_sf6 ksf6 str S6 - - ----K special function key 6 -#key_sf7 ksf7 str S7 - - ----K special function key 7 -#key_sf8 ksf8 str S8 - - ----K special function key 8 -#key_sf9 ksf9 str S9 - - ----K special function key 9 -#key_sf10 ksf10 str SA - - ----K special function key 10 -# AIX version 3 documents different codes for F11, F12 and does not mention -# F13-F64. AIX version 4 uses the same naming for F0-F63 as above. -#key_f11 kf11 str k< - - ----- function key 11 -#key_f12 kf12 str k> - - ----- function key 12 -# Undocumented capabilities end here. -#key_action kact str kJ - - ----K sent by action key -# The IBM docs say these capabilities are for table-drawing, and are -# valid only for aixterm descriptions. -#enter_topline_mode topl str tp - - ----K start top-line mode -#enter_bottom_mode btml str bm - - ----K start bottom-line mode -#enter_rvert_mode rvert str rv - - ----K start right-vertical mode -#enter_lvert_mode lvert str lv - - ----K start left-vertical mode -# -############################################################################# -# -# ALIAS DECLARATIONS -# -# Here we set up aliases for translating extensions into standard terminfo. -# -#---------------------------------- Termcap aliases ------------------------- -# -# BSD aliases: -# -# This is a common error in many termcap files. We'll get notified during -# translation when this (or any other alias) fires. -# -capalias sb sr BSD scroll text down -# -# AT&T extensions: -# -# The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of -# nonstandard capabilities. Its signature is the KM capability, used to name -# some sort of keymap file. EE, BO, CI, CV, XS, DS, FL and FE are in this -# set. Comments in the original, and a little cross-checking with other AT&T -# documentation, seem to establish the following mappings: -# -capalias BO mr AT&T enter_reverse_mode -capalias CI vi AT&T cursor_invisible -capalias CV ve AT&T cursor_normal -capalias DS mh AT&T enter_dim_mode -#capalias EE me AT&T exit_attribute_mode -capalias FE LF AT&T label_on -capalias FL LO AT&T label_off -capalias XS mk AT&T enter_secure_mode -# -# We comment out EE because the conflicting XENIX EE is more common in -# old entries. -# -# XENIX extensions: -# -# These are the ones we know how to translate directly: -# -capalias EE mh XENIX exit_attribute_mode -capalias GE ae XENIX exit_alt_charset_mode -capalias GS as XENIX enter_alt_charset_mode -capalias CF vi XENIX cursor_invis -capalias CO ve XENIX cursor_normal -capalias EN @7 XENIX key_end -capalias HM kh XENIX key_home -capalias LD kL XENIX key_dl -capalias PD kN XENIX key_npage -capalias PN po XENIX prtr_off -capalias PS pf XENIX prtr_on -capalias PU kP XENIX key_ppage -capalias RT @8 XENIX kent -capalias UP ku XENIX kcuu1 -capalias G6 IGNORE XENIX double-ACS_ULCORNER -capalias G7 IGNORE XENIX double-ACS_LLCORNER -capalias G5 IGNORE XENIX double-ACS_URCORNER -capalias G8 IGNORE XENIX double-ACS_LRCORNER -capalias Gr IGNORE XENIX double-ACS_LTEE -capalias Gr IGNORE XENIX double-ACS_RTEE -capalias Gu IGNORE XENIX double-ACS_BTEE -capalias Gd IGNORE XENIX double ACS_TTEE -capalias Gh IGNORE XENIX double-ACS_HLINE -capalias Gv IGNORE XENIX double-ACS_VLINE -capalias Gc IGNORE XENIX double-ACS_PLUS -capalias GG IGNORE XENIX acs-glitch -# -# IBM extensions: -# -capalias kq %1 IBM key_help -# -# Iris extensions: -# -capalias HS mh IRIS enter_dim_mode -# -# Tektronix extensions: -# -capalias KA k; Tek key_f10 -capalias KB F1 Tek key_f11 -capalias KC F2 Tek key_f12 -capalias KD F3 Tek key_f13 -capalias KE F4 Tek key_f14 -capalias KF F5 Tek key_f15 -capalias BC Sb Tek set_background -capalias FC Sf Tek set_foreground -# -# There are also the following: -# -# XENIX XENIX variable name name clash with terminfo? -# ----- ------------------- ------------------------- -# CL key_char_left -# CR key_char_right -# CW key_change_window -# HP ?? -# LF key_linefeed label_off -# NU key_next_unlocked_cell -# PL ?? -# PR ?? -# RC key_recalc remove_clock -# RF key_toggle_ref req_for_input -# WL key_word_left -# WR key_word_right -# -# If you know what any of the question-marked ones mean, please tell us. -# -#--------------------------------- Terminfo aliases ------------------------ -# -# IBM extensions: -# -infoalias font0 s0ds IBM set0_des_seq -infoalias font1 s1ds IBM set1_des_seq -infoalias font2 s2ds IBM set2_des_seq -infoalias font3 s3ds IBM set3_des_seq -infoalias kbtab kcbt IBM key_backtab -infoalias ksel kslt IBM key_select -# -# Some others are identical to SVr4/XPG4 capabilities, in particular: -# kcmd, kend, khlp, and kf11...kf63. -# -############################################################################# -# -# The following sets edit modes for GNU EMACS -# Local Variables: -# case-fold-search:nil -# truncate-lines:t -# End: diff --git a/src/libs/ncurses/include/Caps.uwin b/src/libs/ncurses/include/Caps.uwin deleted file mode 100644 index 6efa208f18..0000000000 --- a/src/libs/ncurses/include/Caps.uwin +++ /dev/null @@ -1,1090 +0,0 @@ -############################################################################## -# Copyright (c) 2001 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas Dickey -# -# $Id: Caps.uwin,v 1.3 2002/07/07 00:05:00 tom Exp $ -# -# This is an adaptation of ncurses' termcap/terminfo capability table, which -# is designed to align with U/Win's terminfo. -# -# This table is used to generate initializers for tables that drive tic, -# infocmp, and the library compilation code used to support the termcap -# compatibility hack. It is also used to generate the tabular portion of the -# terminfo(5) man page; lines beginning with `#%' are passed through to become -# the terminfo table. -# -# This file has three major sections; a standard-capabilities table, two -# extension-capability tables, and a section of aliases declarations. -# The first two have the same format, as follows: -# -# FILE FORMAT -# -# Column 1: terminfo variable name -# Column 2: terminfo capability name -# Column 3: capability type (boolean, numeric, or string) -# Column 4: termcap capability name -# Column 5: KEY_xxx name, if any, `-' otherwise -# Column 6: value for KEY_xxx name, if any, `-' otherwise -# Column 7: Lead with `Y' if capability should be emitted in termcap -# translations, `-' otherwise -# Column 8: capability description -# -# The codes following [Y-] in column 7 describe the versions of termcap which -# use the given capability. This information is not used by the curses library -# proper; rather, it's there to help the terminfo maintainer avoid emitting -# termcap entry translations that are more than 1023 bytes long (and tank a -# lot of old termcap-using programs). The codes read as follows: -# B = mentioned in the BSD man page for 4.4BSD curses -# C = used by the 4.4BSD curses library -# G = mentioned in the documentation for GNU termcap -# E = used by GNU Emacs -# K = remove this terminfo capability when translating to standard format -# The important codes are C and E. A cap with C or E should be preserved in -# translation if possible. The problem is that preserving all such caps may -# lead to some termcap translations being too long. The termcap maintainer -# has a bit of a juggling act to do...potential problem cases are marked with -# an asterisk (*). -# -# The aliases section has the following format: -# -# Column 1: either `capalias' or `infoalias' -# Column 2: name to be aliased -# Column 3: what name it should translate to. The name IGNORE means it -# should be discarded with a warning message. -# Column 4: name of the extension set (used for compiler warning messages) -# Column 5: capability description (usually an associated terminfo variable) -# -# HANDLING TERMCAP AND TERMINFO EXTENSIONS -# -# There are basically five different ways to handle termcap and terminfo -# extensions: -# -# 1. Don't list the capname here, or list it but comment it out (the latter -# is preferable; someone might want to handle it in the future). If you do -# this, the capability will be treated as unknown and raise a warning from -# the compiler. -# -# 2. Alias it. This is appropriate if the capability has the same meaning -# as an already-supported one. The compiler will handle aliasing, emitting -# an appropriate informational message whenever an alias fires. -# -# 3. List it in the standard table. You almost certainly do *not* want -# to do this -- the capabilities in that one, and their order, have been -# carefully chosen to be SVr4-binary-compatible when they're written out -# as a terminfo object, and breaking this would be bad. It's up the ncurses -# library what to do with the terminfo data after it's read in. -# -# 4. List it in the aliases table with an IGNORE target field. If you -# do this, the capability will be ignored on input (though the user will -# get a warning message about it). -# -# 5. List it in the extensions table. If you do this, the compiler will -# silently accept the capability, but the curses library proper will never -# see it (because it won't be written out as part of the terminfo object -# format). It's up to you what you have the compiler do with it. -# -# There are two opposite reasons to choose option 5. One is when you want -# to eat the capability silently and discard it when doing translations -# to terminfo with tic -I. Some very old obsolete BSD caps like :kn: are -# in this class. Nothing will ever use them again. -# -# More usually, you want the compiler to try to deduce something from the -# capability value that it can use to translate it into your output format. -# You'll need to write custom code, probably in postprocess_termcap() or -# postprocess_terminfo(), to handle the translation. -# -# CONTROLLING ENTRY LENGTH -# -# Notes on specific elisions made to fit translations within 1023 bytes: -# -# Machines with IBM PC-like keyboards want to be able to define the following -# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap- -# only environments for End or Home-Down), key_dc, and key_ic. This is also -# the set of keys the `joe' editor will be upset if it can't see. So don't -# trim those out of the set to be translated to termcap, or various users of -# the termcap file will become irate. -# -# It might look tempting to leave those long init strings out of translations. -# We can't do it (yet); 4.4BSD tput and tset use them. -# -# We retain the sgr capability in translation in spite of the fact that neither -# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are -# hard to understand without it, and (b) the entries in which it is long tend -# to be older types that don't use up a lot of string space on function keys. -# The tic(1) translation code will complain and elide it if it makes a critical -# difference (there is special code in tic to recognize this situation). -# -# Yes, BSD tset(1) uses hpa. We elide hpa/vpa anyway because the motion -# optimizer in BSD curses didn't use them. This omission seems to be the -# single most effective one, it shortened the resolved length of all thirteen -# problem entries in the 9.9.0 version of the terminfo master below critical. -# -# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap -# translations go back over critical if we do this. As 4.4BSD curses fades -# into history and GNU termcap's application base shrinks towards being GNU -# Emacs only, we'll probably elide out some BSD-only capabilities in order -# to buy space for non-essentials Emacs is still using. Capabilities high -# on that hit list: rc, sc, uc. -# -############################################################################# -# -# STANDARD CAPABILITIES -# -#%The following is a complete table of the capabilities included in a -#%terminfo description block and available to terminfo-using code. In each -#%line of the table, -#% -#%The \fBvariable\fR is the name by which the programmer (at the terminfo level) -#%accesses the capability. -#% -#%The \fBcapname\fR is the short name used in the text of the database, -#%and is used by a person updating the database. -#%Whenever possible, capnames are chosen to be the same as or similar to -#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses -#%identical or very similar names). Semantics are also intended to match -#%those of the specification. -#% -#%The termcap code is the old -#%.B termcap -#%capability name (some capabilities are new, and have names which termcap -#%did not originate). -#%.P -#%Capability names have no hard length limit, but an informal limit of 5 -#%characters has been adopted to keep them short and to allow the tabs in -#%the source file -#%.B Caps -#%to line up nicely. -#% -#%Finally, the description field attempts to convey the semantics of the -#%capability. You may find some codes in the description field: -#%.TP -#%(P) -#%indicates that padding may be specified -#%.TP -#%#[1-9] -#%in the description field indicates that the string is passed through tparm with -#%parms as given (#\fIi\fP). -#%.TP -#%(P*) -#%indicates that padding may vary in proportion to the number of -#%lines affected -#%.TP -#%(#\d\fIi\fP\u) -#%indicates the \fIi\fP\uth\d parameter. -#% -#%.PP -#% These are the boolean capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBBooleans name Code\fR -auto_left_margin bw bool bw - - YB-G- cub1 wraps from column 0 to last column -auto_right_margin am bool am - - YBCGE terminal has automatic margins -no_esc_ctlc xsb bool xb - - YBCG- beehive (f1=escape, f2=ctrl C) -ceol_standout_glitch xhp bool xs - - YBCGE standout not erased by overwriting (hp) -eat_newline_glitch xenl bool xn - - YBCGE newline ignored after 80 cols (concept) -erase_overstrike eo bool eo - - YBCG- can erase overstrikes with a blank -generic_type gn bool gn - - YB-G- generic line type -hard_copy hc bool hc - - YBCG- hardcopy terminal -has_meta_key km bool km - - YB-GE Has a meta key (i.e., sets 8th-bit) -has_status_line hs bool hs - - YB-G- has extra status line -insert_null_glitch in bool in - - YBCGE insert mode distinguishes nulls -memory_above da bool da - - YBCG- display may be retained above the screen -memory_below db bool db - - YB-GE display may be retained below the screen -move_insert_mode mir bool mi - - YBCGE safe to move while in insert mode -move_standout_mode msgr bool ms - - YBCGE safe to move while in standout mode -over_strike os bool os - - YBCG- terminal can overstrike -status_line_esc_ok eslok bool es - - YB-G- escape can be used on the status line -dest_tabs_magic_smso xt bool xt - - YBCGE tabs destructive, magic so char (t1061) -tilde_glitch hz bool hz - - YB-GE cannot print ~'s (hazeltine) -transparent_underline ul bool ul - - YBCGE underline character overstrikes -xon_xoff xon bool xo - - YB--- terminal uses xon/xoff handshaking -needs_xon_xoff nxon bool nx - - ----- padding will not work, xon/xoff required -prtr_silent mc5i bool 5i - - ----- printer will not echo on screen -hard_cursor chts bool HC - - ----- cursor is hard to see -non_rev_rmcup nrrmc bool NR - - ----- smcup does not reverse rmcup -no_pad_char npc bool NP - - ----- pad character does not exist -non_dest_scroll_region ndscr bool ND - - ----- scrolling region is non-destructive -back_color_erase bce bool ut - - ----- screen erased with background color -can_change ccc bool cc - - ----- terminal can re-define existing colors -hue_lightness_saturation hls bool hl - - ----- terminal uses only HLS color notation (Tektronix) -#%.TE -#%.ad -#% -#%These are the numeric capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBNumeric name Code\fR -columns cols num co - - YBCGE number of columns in a line -init_tabs it num it - - YB-G- tabs initially every # spaces -lines lines num li - - YBCGE number of lines on screen or page -lines_of_memory lm num lm - - YB-G- lines of memory if > line. 0 means varies -magic_cookie_glitch xmc num sg - - YBCGE number of blank characters left by smso or rmso -padding_baud_rate pb num pb - - YB-GE lowest baud rate where padding needed -virtual_terminal vt num vt - - YB--- virtual terminal number (CB/unix) -width_status_line wsl num ws - - YB-G- number of columns in status line -num_labels nlab num Nl - - ----- number of labels on screen -label_height lh num lh - - ----- rows in each label -label_width lw num lw - - ----- columns in each label -buttons btns num BT - - ----- number of buttons on mouse -#max_attributes ma num ma - - YBC-- maximum combined attributes terminal can handle -#maximum_windows wnum num MW - - ----- maximum number of defineable windows -# These came in with SVr4's color support -max_colors colors num Co - - ----- maximum number of colors on screen -max_pairs pairs num pa - - ----- maximum number of color-pairs on the screen -no_color_video ncv num NC - - ----- video attributes that cannot be used with colors -#%.TE -#%.ad -#% -#%The following numeric capabilities are present in the SVr4.0 term structure, -#%but are not yet documented in the man page. They came in with SVr4's -#%printer support. -#% -#%.na -#% -#%These are the string capabilities: -#% -#%.na -#%.TS H -#%center expand; -#%c l l c -#%c l l c -#%lw25 lw6 lw2 lw20. -#%\fBVariable Cap- TCap Description\fR -#%\fBString name Code\fR -back_tab cbt str bt - - YBCGE back tab (P) -bell bel str bl - - YB-GE audible signal (bell) (P) -carriage_return cr str cr - - YBCGE carriage return (P*) (P*) -change_scroll_region csr str cs - - YBCGE change region to line #1 to line #2 (P) -clear_all_tabs tbc str ct - - YB-G- clear all tab stops (P) -clear_screen clear str cl - - YBCGE clear screen and home cursor (P*) -clr_eol el str ce - - YBCGE clear to end of line (P) -clr_eos ed str cd - - YBCGE clear to end of screen (P*) -column_address hpa str ch - - -B-GE* horizontal position #1, absolute (P) -command_character cmdch str CC - - YB-G- terminal settable cmd character in prototype !? -cursor_address cup str cm - - YBCGE move to row #1 columns #2 -cursor_down cud1 str do - - YBCGE down one line -cursor_home home str ho - - YBCGE home cursor (if no cup) -cursor_invisible civis str vi - - YB-G- make cursor invisible -cursor_left cub1 str le - - YBCGE move left one space -cursor_mem_address mrcup str CM - - YB-G- memory relative cursor addressing, move to row #1 columns #2 -cursor_normal cnorm str ve - - YBCGE make cursor appear normal (undo civis/cvvis) -cursor_right cuf1 str nd - - YBCGE non-destructive space (move right one space) -cursor_to_ll ll str ll - - YBCGE last line, first column (if no cup) -cursor_up cuu1 str up - - YBCGE up one line -cursor_visible cvvis str vs - - YBCGE make cursor very visible -delete_character dch1 str dc - - YBCGE delete character (P*) -delete_line dl1 str dl - - YBCGE delete line (P*) -dis_status_line dsl str ds - - YB-G- disable status line -down_half_line hd str hd - - YB-G- half a line down -enter_alt_charset_mode smacs str as - - YB-G- start alternate character set (P) -enter_blink_mode blink str mb - - YB-G- turn on blinking -enter_bold_mode bold str md - - YB-G- turn on bold (extra bright) mode -enter_ca_mode smcup str ti - - YBCGE string to start programs using cup -enter_delete_mode smdc str dm - - YBCGE enter delete mode -enter_dim_mode dim str mh - - YB-G- turn on half-bright mode -enter_insert_mode smir str im - - YBCGE enter insert mode -enter_secure_mode invis str mk - - -B-G-* turn on blank mode (characters invisible) -enter_protected_mode prot str mp - - -B-G-* turn on protected mode -enter_reverse_mode rev str mr - - YB-G- turn on reverse video mode -enter_standout_mode smso str so - - YBCGE begin standout mode -enter_underline_mode smul str us - - YBCGE begin underline mode -erase_chars ech str ec - - YB-G- erase #1 characters (P) -exit_alt_charset_mode rmacs str ae - - YB-G- end alternate character set (P) -exit_attribute_mode sgr0 str me - - YB-GE turn off all attributes -exit_ca_mode rmcup str te - - YBCGE strings to end programs using cup -exit_delete_mode rmdc str ed - - YBCGE end delete mode -exit_insert_mode rmir str ei - - YBCGE exit insert mode -exit_standout_mode rmso str se - - YBCGE exit standout mode -exit_underline_mode rmul str ue - - YBCGE exit underline mode -flash_screen flash str vb - - YBCGE visible bell (may not move cursor) -form_feed ff str ff - - YB-G- hardcopy terminal page eject (P*) -from_status_line fsl str fs - - YB-G- return from status line -init_1string is1 str i1 - - YB-G- initialization string -init_2string is2 str is - - YB-G- initialization string -init_3string is3 str i3 - - YB-G- initialization string -init_file if str if - - YB-G- name of initialization file -insert_character ich1 str ic - - YBCGE insert character (P) -insert_line il1 str al - - YBCGE insert line (P*) -insert_padding ip str ip - - YBCGE insert padding after inserted character -key_backspace kbs str kb KEY_BACKSPACE 0407 YB-G- backspace key -key_catab ktbc str ka KEY_CATAB 0526 -B-G-* clear-all-tabs key -key_clear kclr str kC KEY_CLEAR 0515 -B-G-* clear-screen or erase key -key_ctab kctab str kt KEY_CTAB 0525 -B-G-* clear-tab key -key_dc kdch1 str kD KEY_DC 0512 YB-G- delete-character key -key_dl kdl1 str kL KEY_DL 0510 -B-G-* delete-line key -key_down kcud1 str kd KEY_DOWN 0402 YBCGE down-arrow key -key_eic krmir str kM KEY_EIC 0514 -B-G-* sent by rmir or smir in insert mode -key_eol kel str kE KEY_EOL 0517 -B-G-* clear-to-end-of-line key -key_eos ked str kS KEY_EOS 0516 -B-G-* clear-to-end-of-screen key -key_f0 kf0 str k0 KEY_F(0) 0410 YBCGE F0 function key -key_f1 kf1 str k1 KEY_F(1) - YBCGE F1 function key -key_f10 kf10 str k; KEY_F(10) - ----E F10 function key -key_f2 kf2 str k2 KEY_F(2) - YBCGE F2 function key -key_f3 kf3 str k3 KEY_F(3) - YBCGE F3 function key -key_f4 kf4 str k4 KEY_F(4) - YBCGE F4 function key -key_f5 kf5 str k5 KEY_F(5) - YBCGE F5 function key -key_f6 kf6 str k6 KEY_F(6) - YBCGE F6 function key -key_f7 kf7 str k7 KEY_F(7) - YBCGE F7 function key -key_f8 kf8 str k8 KEY_F(8) - YBCGE F8 function key -key_f9 kf9 str k9 KEY_F(9) - YBCGE F9 function key -key_home khome str kh KEY_HOME 0406 YBCGE home key -key_ic kich1 str kI KEY_IC 0513 YB-GE insert-character key -key_il kil1 str kA KEY_IL 0511 -B-G-* insert-line key -key_left kcub1 str kl KEY_LEFT 0404 YBCGE left-arrow key -key_ll kll str kH KEY_LL 0533 YB-G- lower-left key (home down) -key_npage knp str kN KEY_NPAGE 0522 YB-GE next-page key -key_ppage kpp str kP KEY_PPAGE 0523 YB-GE previous-page key -key_right kcuf1 str kr KEY_RIGHT 0405 YBCGE right-arrow key -key_sf kind str kF KEY_SF 0520 -B-G-* scroll-forward key -key_sr kri str kR KEY_SR 0521 -B-G-* scroll-backward key -key_stab khts str kT KEY_STAB 0524 -B-G-* set-tab key -key_up kcuu1 str ku KEY_UP 0403 YBCGE up-arrow key -keypad_local rmkx str ke - - YBCGE leave 'keyboard_transmit' mode -keypad_xmit smkx str ks - - YBCGE enter 'keyboard_transmit' mode -lab_f0 lf0 str l0 - - -B-G-* label on function key f0 if not f0 -lab_f1 lf1 str l1 - - -B-G-* label on function key f1 if not f1 -lab_f10 lf10 str la - - ----- label on function key f10 if not f10 -lab_f2 lf2 str l2 - - -B-G-* label on function key f2 if not f2 -lab_f3 lf3 str l3 - - -B-G-* label on function key f3 if not f3 -lab_f4 lf4 str l4 - - -B-G-* label on function key f4 if not f4 -lab_f5 lf5 str l5 - - -B-G-* label on function key f5 if not f5 -lab_f6 lf6 str l6 - - -B-G-* label on function key f6 if not f6 -lab_f7 lf7 str l7 - - -B-G-* label on function key f7 if not f7 -lab_f8 lf8 str l8 - - -B-G-* label on function key f8 if not f8 -lab_f9 lf9 str l9 - - -B-G-* label on function key f9 if not f9 -meta_off rmm str mo - - YB-G-* turn off meta mode -meta_on smm str mm - - YB-G-* turn on meta mode (8th-bit on) -newline nel str nw - - YB-G-* newline (behave like cr followed by lf) -pad_char pad str pc - - YBCGE padding char (instead of null) -parm_dch dch str DC - - YB-GE delete #1 characters (P*) -parm_delete_line dl str DL - - YBCGE delete #1 lines (P*) -parm_down_cursor cud str DO - - YBCGE down #1 lines (P*) -parm_ich ich str IC - - YB-GE insert #1 characters (P*) -parm_index indn str SF - - YBCG- scroll forward #1 lines (P) -parm_insert_line il str AL - - YBCGE insert #1 lines (P*) -parm_left_cursor cub str LE - - YBCGE move #1 characters to the left (P) -parm_right_cursor cuf str RI - - YBCGE move #1 characters to the right (P*) -parm_rindex rin str SR - - YBCG- scroll back #1 lines (P) -parm_up_cursor cuu str UP - - YBCGE up #1 lines (P*) -pkey_key pfkey str pk - - -B--- program function key #1 to type string #2 -pkey_local pfloc str pl - - -B--- program function key #1 to execute string #2 -pkey_xmit pfx str px - - -B--- program function key #1 to transmit string #2 -print_screen mc0 str ps - - -B-G-* print contents of screen -prtr_off mc4 str pf - - -B-G-* turn off printer -prtr_on mc5 str po - - -B-G-* turn on printer -repeat_char rep str rp - - YB-GE repeat char #1 #2 times (P*) -reset_1string rs1 str r1 - - -B--- reset string -reset_2string rs2 str r2 - - -B--- reset string -reset_3string rs3 str r3 - - -B--- reset string -reset_file rf str rf - - -B--- name of reset file -restore_cursor rc str rc - - YBCG- restore cursor to position of last save_cursor -row_address vpa str cv - - -B-GE* vertical position #1 absolute (P) -save_cursor sc str sc - - YBCG- save current cursor position (P) -scroll_forward ind str sf - - YBCGE scroll text up (P) -scroll_reverse ri str sr - - YBCGE scroll text down (P) -set_attributes sgr str sa - - YB-G- define video attributes #1-#9 (PG9) -set_tab hts str st - - YB-G- set a tab in every row, current columns -set_window wind str wi - - -B-GE current window is lines #1-#2 cols #3-#4 -tab ht str ta - - YBCGE tab to next 8-space hardware tab stop -to_status_line tsl str ts - - YB-G- move to status line, column #1 -underline_char uc str uc - - YBCG- underline char and move past it -up_half_line hu str hu - - YB-G- half a line up -init_prog iprog str iP - - -B--- path name of program for initialization -key_a1 ka1 str K1 KEY_A1 0534 YB-GE upper left of keypad -key_a3 ka3 str K3 KEY_A3 0535 YB-GE upper right of keypad -key_b2 kb2 str K2 KEY_B2 0536 YB-GE center of keypad -key_c1 kc1 str K4 KEY_C1 0537 YB-GE lower left of keypad -key_c3 kc3 str K5 KEY_C3 0540 YB-GE lower right of keypad -prtr_non mc5p str pO - - -B-G-* turn on printer for #1 bytes -# -# SVr1 capabilities stop here. IBM's version of terminfo is the same as -# SVr4 up to this point, but has a different set afterwards. -# -char_padding rmp str rP - - ----- like ip but when in insert mode -acs_chars acsc str ac - - ----- graphics charset pairs, based on vt100 -plab_norm pln str pn - - ----- program label #1 to show string #2 -key_btab kcbt str kB KEY_BTAB 0541 ----- back-tab key -enter_xon_mode smxon str SX - - ----- turn on xon/xoff handshaking -exit_xon_mode rmxon str RX - - ----- turn off xon/xoff handshaking -enter_am_mode smam str SA - - ----- turn on automatic margins -exit_am_mode rmam str RA - - ----- turn off automatic margins -xon_character xonc str XN - - ----- XON character -xoff_character xoffc str XF - - ----- XOFF character -ena_acs enacs str eA - - ----- enable alternate char set -label_on smln str LO - - ----- turn on soft labels -label_off rmln str LF - - ----- turn off soft labels -key_beg kbeg str @1 KEY_BEG 0542 ----- begin key -key_cancel kcan str @2 KEY_CANCEL 0543 ----- cancel key -key_close kclo str @3 KEY_CLOSE 0544 ----- close key -key_command kcmd str @4 KEY_COMMAND 0545 ----- command key -key_copy kcpy str @5 KEY_COPY 0546 ----- copy key -key_create kcrt str @6 KEY_CREATE 0547 ----- create key -key_end kend str @7 KEY_END 0550 ----- end key -key_enter kent str @8 KEY_ENTER 0527 ----- enter/send key -key_exit kext str @9 KEY_EXIT 0551 ----- exit key -key_find kfnd str @0 KEY_FIND 0552 ----- find key -key_help khlp str %1 KEY_HELP 0553 ----- help key -key_mark kmrk str %2 KEY_MARK 0554 ----- mark key -key_message kmsg str %3 KEY_MESSAGE 0555 ----- message key -key_move kmov str %4 KEY_MOVE 0556 ----- move key -key_next knxt str %5 KEY_NEXT 0557 ----- next key -key_open kopn str %6 KEY_OPEN 0560 ----- open key -key_options kopt str %7 KEY_OPTIONS 0561 ----- options key -key_previous kprv str %8 KEY_PREVIOUS 0562 ----- previous key -key_print kprt str %9 KEY_PRINT 0532 ----- print key -key_redo krdo str %0 KEY_REDO 0563 ----- redo key -key_reference kref str &1 KEY_REFERENCE 0564 ----- reference key -key_refresh krfr str &2 KEY_REFRESH 0565 ----- refresh key -key_replace krpl str &3 KEY_REPLACE 0566 ----- replace key -key_restart krst str &4 KEY_RESTART 0567 ----- restart key -key_resume kres str &5 KEY_RESUME 0570 ----- resume key -key_save ksav str &6 KEY_SAVE 0571 ----- save key -key_suspend kspd str &7 KEY_SUSPEND 0627 ----- suspend key -key_undo kund str &8 KEY_UNDO 0630 ----- undo key -key_sbeg kBEG str &9 KEY_SBEG 0572 ----- shifted begin key -key_scancel kCAN str &0 KEY_SCANCEL 0573 ----- shifted cancel key -key_scommand kCMD str *1 KEY_SCOMMAND 0574 ----- shifted command key -key_scopy kCPY str *2 KEY_SCOPY 0575 ----- shifted copy key -key_screate kCRT str *3 KEY_SCREATE 0576 ----- shifted create key -key_sdc kDC str *4 KEY_SDC 0577 ----- shifted delete-character key -key_sdl kDL str *5 KEY_SDL 0600 ----- shifted delete-line key -key_select kslt str *6 KEY_SELECT 0601 ----- select key -key_send kEND str *7 KEY_SEND 0602 ----- shifted end key -key_seol kEOL str *8 KEY_SEOL 0603 ----- shifted clear-to-end-of-line key -key_sexit kEXT str *9 KEY_SEXIT 0604 ----- shifted exit key -key_sfind kFND str *0 KEY_SFIND 0605 ----- shifted find key -key_shelp kHLP str #1 KEY_SHELP 0606 ----- shifted help key -key_shome kHOM str #2 KEY_SHOME 0607 ----- shifted home key -key_sic kIC str #3 KEY_SIC 0610 ----- shifted insert-character key -key_sleft kLFT str #4 KEY_SLEFT 0611 ----- shifted left-arrow key -key_smessage kMSG str %a KEY_SMESSAGE 0612 ----- shifted message key -key_smove kMOV str %b KEY_SMOVE 0613 ----- shifted move key -key_snext kNXT str %c KEY_SNEXT 0614 ----- shifted next key -key_soptions kOPT str %d KEY_SOPTIONS 0615 ----- shifted options key -key_sprevious kPRV str %e KEY_SPREVIOUS 0616 ----- shifted previous key -key_sprint kPRT str %f KEY_SPRINT 0617 ----- shifted print key -key_sredo kRDO str %g KEY_SREDO 0620 ----- shifted redo key -key_sreplace kRPL str %h KEY_SREPLACE 0621 ----- shifted replace key -key_sright kRIT str %i KEY_SRIGHT 0622 ----- shifted right-arrow key -key_srsume kRES str %j KEY_SRSUME 0623 ----- shifted resume key -key_ssave kSAV str !1 KEY_SSAVE 0624 ----- shifted save key -key_ssuspend kSPD str !2 KEY_SSUSPEND 0625 ----- shifted suspend key -key_sundo kUND str !3 KEY_SUNDO 0626 ----- shifted undo key -req_for_input rfi str RF - - ----- send next input char (for ptys) -key_f11 kf11 str F1 KEY_F(11) - ----E F11 function key -key_f12 kf12 str F2 KEY_F(12) - ----E F12 function key -key_f13 kf13 str F3 KEY_F(13) - ----E F13 function key -key_f14 kf14 str F4 KEY_F(14) - ----E F14 function key -key_f15 kf15 str F5 KEY_F(15) - ----E F15 function key -key_f16 kf16 str F6 KEY_F(16) - ----E F16 function key -key_f17 kf17 str F7 KEY_F(17) - ----E F17 function key -key_f18 kf18 str F8 KEY_F(18) - ----E F18 function key -key_f19 kf19 str F9 KEY_F(19) - ----E F19 function key -key_f20 kf20 str FA KEY_F(20) - ----E F20 function key -key_f21 kf21 str FB KEY_F(21) - ----E F21 function key -key_f22 kf22 str FC KEY_F(22) - ----E F22 function key -key_f23 kf23 str FD KEY_F(23) - ----E F23 function key -key_f24 kf24 str FE KEY_F(24) - ----E F24 function key -key_f25 kf25 str FF KEY_F(25) - ----E F25 function key -key_f26 kf26 str FG KEY_F(26) - ----E F26 function key -key_f27 kf27 str FH KEY_F(27) - ----E F27 function key -key_f28 kf28 str FI KEY_F(28) - ----E F28 function key -key_f29 kf29 str FJ KEY_F(29) - ----E F29 function key -key_f30 kf30 str FK KEY_F(30) - ----E F30 function key -key_f31 kf31 str FL KEY_F(31) - ----E F31 function key -key_f32 kf32 str FM KEY_F(32) - ----E F32 function key -key_f33 kf33 str FN KEY_F(33) - ----E F33 function key -key_f34 kf34 str FO KEY_F(34) - ----E F34 function key -key_f35 kf35 str FP KEY_F(35) - ----E F35 function key -key_f36 kf36 str FQ KEY_F(36) - ----E F36 function key -key_f37 kf37 str FR KEY_F(37) - ----E F37 function key -key_f38 kf38 str FS KEY_F(38) - ----E F38 function key -key_f39 kf39 str FT KEY_F(39) - ----E F39 function key -key_f40 kf40 str FU KEY_F(40) - ----E F40 function key -key_f41 kf41 str FV KEY_F(41) - ----E F41 function key -key_f42 kf42 str FW KEY_F(42) - ----E F42 function key -key_f43 kf43 str FX KEY_F(43) - ----E F43 function key -key_f44 kf44 str FY KEY_F(44) - ----E F44 function key -key_f45 kf45 str FZ KEY_F(45) - ----E F45 function key -key_f46 kf46 str Fa KEY_F(46) - ----E F46 function key -key_f47 kf47 str Fb KEY_F(47) - ----E F47 function key -key_f48 kf48 str Fc KEY_F(48) - ----E F48 function key -key_f49 kf49 str Fd KEY_F(49) - ----E F49 function key -key_f50 kf50 str Fe KEY_F(50) - ----E F50 function key -key_f51 kf51 str Ff KEY_F(51) - ----E F51 function key -key_f52 kf52 str Fg KEY_F(52) - ----E F52 function key -key_f53 kf53 str Fh KEY_F(53) - ----E F53 function key -key_f54 kf54 str Fi KEY_F(54) - ----E F54 function key -key_f55 kf55 str Fj KEY_F(55) - ----E F55 function key -key_f56 kf56 str Fk KEY_F(56) - ----E F56 function key -key_f57 kf57 str Fl KEY_F(57) - ----E F57 function key -key_f58 kf58 str Fm KEY_F(58) - ----E F58 function key -key_f59 kf59 str Fn KEY_F(59) - ----E F59 function key -key_f60 kf60 str Fo KEY_F(60) - ----E F60 function key -key_f61 kf61 str Fp KEY_F(61) - ----E F61 function key -key_f62 kf62 str Fq KEY_F(62) - ----E F62 function key -key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key -clr_bol el1 str cb - - ----- Clear to beginning of line -clear_margins mgc str MC - - ----- clear right and left soft margins -set_left_margin smgl str ML - - ----- set left soft margin at current column. See smgl. (ML is not in BSD termcap). -set_right_margin smgr str MR - - ----- set right soft margin at current column -device_type devt str dv - - ----- Indicate language/codeset support -code_set_init csin str ci - - ----- Init sequence for multiple codesets -set0_des_seq s0ds str s0 - - ----- Shift to codeset 0 (EUC set 0, ASCII) -set1_des_seq s1ds str s1 - - ----- Shift to codeset 1 -set2_des_seq s2ds str s2 - - ----- Shift to codeset 2 -set3_des_seq s3ds str s3 - - ----- Shift to codeset 3 -key_mouse kmous str Km KEY_MOUSE 0631 ----- Mouse event has occurred -mouse_info minfo str Mi - - ----- Mouse status information -req_mouse_pos reqmp str RQ - - ----- Request mouse position -get_mouse getm str Gm - - ----- Curses should get button events, parameter #1 not documented. -release_mouse relm str Rm - - ----- Curses should release the mouse */ -color_names colornm str Yw - - ----- Give name for color #1 -initialize_color initc str Ic - - ----- initialize color #1 to (#2,#3,#4) -initialize_pair initp str Ip - - ----- Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7) -orig_colors oc str oc - - ----- Set all color pairs to the original ones -orig_pair op str op - - ----- Set default pair to its original value -set_a_background setab str AB - - ----- Set background color to #1, using ANSI escape -set_a_foreground setaf str AF - - ----- Set foreground color to #1, using ANSI escape -set_background setb str Sb - - ----- Set background color #1 -set_color_pair scp str sp - - ----- Set current color pair to #1 -set_foreground setf str Sf - - ----- Set foreground color #1 -#%.TE -#%.ad -#% -# The magic token below tells the tic compiler-generator code that all the caps -# past it should be ignored (not written out) when dumping terminfo objects. It -# also tells the man page table generator not to pass through following lines -# This means we can have obsolete capabilities and pseudo-capabilities that are -# recognized for termcap or terminfo compilation, but not output. -# -# %%-STOP-HERE-%% -# -# Don't move this casually! In fact, don't move it at all unless you're -# either doing it to add System V or XPG4 extensions, or have decided you -# don't care about SVr4 binary compatibility. -# -############################################################################# -# -# TERMCAP EXTENSION CAPABILITIES -# -# The capabilities below are either obsolete or extensions on certain systems. -# They are not used by SVR4 terminfo. Some are used by captoinfo to translate -# termcap sources; the rest are listed for completeness, and in case somebody -# cares about them enough to hack in code that will translate them into -# terminfo capabilities. -# -# The first part of the list is from Ross Ridge's `mytinfo' package -# (comp.sources.unix, volume 26); the variable names and terminfo names (as -# well as the termcap codes) match his list. -# -# This group of codes is not marked obsolete in 4.4BSD, but have no direct -# terminfo equivalents. The rs capability is specially translated to terminfo -# r2, and vice versa, if an entry does not already have an r2. Similarly, -# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2). -# The ug capability is thrown away, but assumed to be whatever sg is if the -# latter is nonzero and we're dumping in termcap format. -# -termcap_init2 OTi2 str i2 - - YB--- secondary initialization string -termcap_reset OTrs str rs - - YB-G- terminal reset string -magic_cookie_glitch_ul OTug num ug - - YBCGE number of blanks left by ul -# -# Obsolete termcap capabilities. Some are used for termcap translation. The -# code uses the 'OT' prefix we put on obsolete capabilities to suppress -# printing them in terminfo source dumps of compiled entries. -# -backspaces_with_bs OTbs bool bs - - YBCGE uses ^H to move left -crt_no_scrolling OTns bool ns - - YBCG- crt cannot scroll -no_correctly_working_cr OTnc bool nc - - YBCG- no way to go to start of line -carriage_return_delay OTdC num dC - - YB-G- pad needed for CR -new_line_delay OTdN num dN - - YB-G- pad needed for LF -linefeed_if_not_lf OTnl str nl - - YBCGE use to move down -backspace_if_not_bs OTbc str bc - - YBCGE move left, if not ^H -# -# GNU termcap library extensions. The GNU termcap file distributed with -# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the -# BSD termcap file. The name clash with terminfo MT is resolved by type -# info; MT is converted to km. -# -gnu_has_meta_key OTMT bool MT - - ----E has meta key -# gnu_tab_width OTtw num tw - - ----E tab width in spaces -# -# GNU termcap *does* include the following extended capability, Only the -# now-obsolete Ann Arbor terminals used it. -# -# gnu_change_scroll_region OTcS str cS - - ---GE alternate set scrolling region -# -# The following comments describe capnames so ancient that I believe no -# software uses them any longer. Some of these have to go because they -# clash with terminfo names in ways that cannot be resolved by type -# information. -# -# These mytinfo codes are not used in the 4.4BSD curses code. They are -# marked obsolete in the 4.4BSD manual pages. -# -# There is one conflict with terminfo; ma is in both. This conflict is -# resolved by type information. -# -# The `ko' capability is translated by special code. It should contain a -# comma-separated list of capabilities for which there are corresponding keys. -# The `kn' code is accepted but ignored. -# -# The `ma' capability seems to have been designed to map between the rogue(2) -# motion keys (including jkhl) and characters emitted by arrow keys on some -# primitive pre-ANSI terminals. It's so obsolete it's fossilized... -# -# Here is a description of memory_lock_above and memory_unlock: -# "You can 'freeze' data on the screen by turning on Memory Lock in a line of -# text. All lines above the cursor's current line become locked in place on -# the screen. Then enter data normally. When the screen fills up, any -# further data entered forces the first line of unfrozen line text to scroll -# under the frozen data. Lines scrolled off the screen are inserted into -# memory immediately preceding the first frozen line." (from the HP 700/96 -# User's manual). VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l. -# -# Applications that use terminfo are supposed to behave as though xr is -# always true. -# -linefeed_is_newline OTNL bool NL - - YB--- move down with \n -# even_parity OTEP bool EP - - -B--- terminal requires even parity -# odd_parity OTOP bool OP - - -B--- terminal requires odd parity -# half_duplex OTHD bool HD - - -B--- terminal is half-duplex -# lower_case_only OTLC bool LC - - -B--- terminal has only lower case -# upper_case_only OTUC bool UC - - -B--- terminal has only upper case -backspace_delay OTdB num dB - - YB-G- padding required for ^H -# form_feed_delay OTdF num dF - - -B-G- padding required for ^L -horizontal_tab_delay OTdT num dT - - YB-G- padding required for ^I -# vertical_tab_delay OTdV num dV - - -B--- padding required for ^V -number_of_function_keys OTkn num kn - - -B-G- count of function keys -other_non_function_keys OTko str ko - - -B-G- list of self-mapped keycaps -arrow_key_map OTma str ma - - YBC-- map arrow keys rogue(1) motion keys -# memory_lock_above OTml str ml - - -B--- lock visible screen memory above the current line -# memory_unlock OTmu str mu - - -B--- unlock visible screen memory above the current line -has_hardware_tabs OTpt bool pt - - YB--- has 8-char tabs invoked with ^I -return_does_clr_eol OTxr bool xr - - YB--- return clears the line -# tek_4025_insert_line OTxx bool xx - - -BC-- Tektronix 4025 insert-line glitch -# -# mytinfo described this as a termcap capability, but it's not listed in the -# 4.4BSD man pages, and not found in the 4.4BSD termcap file. The ncurses -# package, like System V, behaves as though it is always true. -# -# rind_only_at_top OTxq bool xq - - ----- reverse index only works from top line -# -# University of Waterloo termcap extensions (as described in mytinfo). -# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot -# be resolved by a type check. The descriptions are guesses from what was -# in the mytinfo tables. -# -# key_interrupt_char OTki str ki - - ----- string set by interrupt key (?) -# key_kill_char OTkk str kk - - ----- string set by kill key (?) -# key_suspend_char OTkz str kz - - ----- string set by suspend key (?) -# initialization_messy OTxc bool xc - - ----- initialization leaves garbage on the screen (?) -# ind_at_bottom_does_cr OTxl bool xl - - ----- index does a carriage return -# -# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package. -# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type -# check. -# -# scroll_left OTsl1 str Sl - - ----- scroll screen leftward -# scroll_right OTsr1 str Sr - - ----- scroll screen rightward -# parm_scroll_left OTsl str SL - - ----- scroll screen leftward #1 characters -# parm_scroll_right OTsr str SR - - ----- scroll screen rightward #1 characters -# -# The mytinfo capabilities end here. -# -# XENIX extensions: -# -# Xenix defined its own set of forms-drawing capabilities: -# -# cap IBM ASCII description ACS ASCII -# --- ----------- -------------------- ------------- ------ -# G1 191 \277 M-? single upper right ACS_URCORNER -# G2 218 \332 M-Z single upper left ACS_ULCORNER -# G3 192 \300 M-@ single lower left ACS_LLCORNER -# G4 217 \331 M-Y single lower right ACS_LRCORNER -# G5 187 \273 M-; double upper right -# G6 201 \311 M-I double upper left -# G7 200 \310 M-H double lower left -# G8 188 \274 M-< double lower right -# GC 197 \305 M-E single intersection ACS_PLUS _ _ -# GD 194 \302 M-B single down-tick ACS_TTEE | -# GH 196 \304 M-D single horizontal line ACS_HLINE -# GL 180 \264 M-4 single left tick ACS_RTEE -| -# GR 195 \303 M-C single right tick ACS_LTEE |- -# GU 193 \301 M-A single up tick ACS_BTEE _|_ -# GV 179 \263 M-3 single vertical line ACS_VLINE -# Gc 206 \316 M-N double intersection -# Gd 203 \313 M-K double down tick -# Gh 205 \315 M-M double horizontal line -# Gl 204 \204 M-L double left tick -# Gr 185 \271 M-9 double right tick -# Gu 202 \312 M-J double up tick -# Gv 186 \272 M-: double vertical line -# -# The compiler will translate the single-line caps and discard the others -# (via IGNORE aliases further down). We don't want to do normal pad -# translation on these, they're often single-character printable ASCII -# strings that happen to be numerics. There's awk code in parametrized.sh -# that detects the acs_ prefix and uses it to suppress pad translation. -# These terminfo names are invented. -# -acs_ulcorner OTG2 str G2 - - ----- single upper left -acs_llcorner OTG3 str G3 - - ----- single lower left -acs_urcorner OTG1 str G1 - - ----- single upper right -acs_lrcorner OTG4 str G4 - - ----- single lower right -acs_ltee OTGR str GR - - ----- tee pointing right -acs_rtee OTGL str GL - - ----- tee pointing left -acs_btee OTGU str GU - - ----- tee pointing up -acs_ttee OTGD str GD - - ----- tee pointing down -acs_hline OTGH str GH - - ----- single horizontal line -acs_vline OTGV str GV - - ----- single vertical line -acs_plus OTGC str GC - - ----- single intersection -# -############################################################################# -# -# TERMINFO EXTENSION CAPABILITIES -# -# This section is almost all comments. What it's mainly for is to describe -# what capabilities need to be squeezed out to get down to the XSI Curses -# standard set. They are flagged with K. -# -# HP extensions -# -# These extensions follow ptr_non (replacing everything after it) in HP -# terminfo files. Except for memory_lock and memory_unlock, they are -# functionally identical to SVr4 extensions, but they make the binary format -# different. Grrr.... -# -memory_lock meml str ml - - ----K memory lock above -memory_unlock memu str mu - - ----K memory unlock -#plab_norm pln str pn - - ----- program label #1 to show string #2 -#label_on smln str LO - - ----- turn on soft labels -#label_off rmln str LF - - ----- turn off soft labels -#key_f11 kf11 str F1 - - ----- F11 function key -#key_f12 kf12 str F2 - - ----- F12 function key -#key_f13 kf13 str F3 - - ----- F13 function key -#key_f14 kf14 str F4 - - ----- F14 function key -#key_f15 kf15 str F5 - - ----- F15 function key -#key_f16 kf16 str F6 - - ----- F16 function key -#key_f17 kf17 str F7 - - ----- F17 function key -#key_f18 kf18 str F8 - - ----- F18 function key -#key_f19 kf19 str F9 - - ----- F19 function key -#key_f20 kf20 str FA - - ----- F20 function key -#key_f21 kf21 str FB - - ----- F21 function key -#key_f22 kf22 str FC - - ----- F22 function key -#key_f23 kf23 str FD - - ----- F23 function key -#key_f24 kf24 str FE - - ----- F24 function key -#key_f25 kf25 str FF - - ----- F25 function key -#key_f26 kf26 str FG - - ----- F26 function key -#key_f27 kf27 str FH - - ----- F27 function key -#key_f28 kf28 str FI - - ----- F28 function key -#key_f29 kf29 str FJ - - ----- F29 function key -#key_f30 kf30 str FK - - ----- F30 function key -#key_f31 kf31 str FL - - ----- F31 function key -#key_f32 kf32 str FM - - ----- F32 function key -#key_f33 kf33 str FN - - ----- F33 function key -#key_f34 kf34 str FO - - ----- F34 function key -#key_f35 kf35 str FP - - ----- F35 function key -#key_f36 kf36 str FQ - - ----- F36 function key -#key_f37 kf37 str FR - - ----- F37 function key -#key_f38 kf38 str FS - - ----- F38 function key -#key_f39 kf39 str FT - - ----- F39 function key -#key_f40 kf40 str FU - - ----- F40 function key -#key_f41 kf41 str FV - - ----- F41 function key -#key_f42 kf42 str FW - - ----- F42 function key -#key_f43 kf43 str FX - - ----- F43 function key -#key_f44 kf44 str FY - - ----- F44 function key -#key_f45 kf45 str FZ - - ----- F45 function key -#key_f46 kf46 str Fa - - ----- F46 function key -#key_f47 kf47 str Fb - - ----- F47 function key -#key_f48 kf48 str Fc - - ----- F48 function key -#key_f49 kf49 str Fd - - ----- F49 function key -#key_f50 kf50 str Fe - - ----- F50 function key -#key_f51 kf51 str Ff - - ----- F51 function key -#key_f52 kf52 str Fg - - ----- F52 function key -#key_f53 kf53 str Fh - - ----- F53 function key -#key_f54 kf54 str Fi - - ----- F54 function key -#key_f55 kf55 str Fj - - ----- F55 function key -#key_f56 kf56 str Fk - - ----- F56 function key -#key_f57 kf57 str Fl - - ----- F57 function key -#key_f58 kf58 str Fm - - ----- F58 function key -#key_f59 kf59 str Fn - - ----- F59 function key -#key_f60 kf60 str Fo - - ----- F60 function key -#key_f61 kf61 str Fp - - ----- F61 function key -#key_f62 kf62 str Fq - - ----- F62 function key -#key_f63 kf63 str Fr - - ----- F63 function key -# -# IBM extensions -# -# These extensions follow ptr_non (replacing everything after it) in IBM -# terminfo files. -# -# The places in the box[12] capabilities correspond to acsc characters, here is -# the mapping: -# -# box1[0] = ACS_ULCORNER -# box1[1] = ACS_HLINE -# box1[2] = ACS_URCORNER -# box1[3] = ACS_VLINE -# box1[4] = ACS_LRCORNER -# box1[5] = ACS_LLCORNER -# box1[6] = ACS_TTEE -# box1[7] = ACS_RTEE -# box1[8] = ACS_BTEE -# box1[9] = ACS_LTEE -# box1[10] = ACS_PLUS -# -# The box2 characters are the double-line versions of these forms graphics. -# -box_chars_1 box1 str bx - - ----K box characters primary set -#box_chars_2 box2 str by - - ----K box characters secondary set -#box_attr_1 batt1 str Bx - - ----K attributes for box1 -#box_attr_2 batt2 str By - - ----K attributes for box2 -#color_bg_0 colb0 str d0 - - ----K background color 0 -#color_bg_1 colb1 str d1 - - ----K background color 1 -#color_bg_2 colb2 str d2 - - ----K background color 2 -#color_bg_3 colb3 str d3 - - ----K background color 3 -#color_bg_4 colb4 str d4 - - ----K background color 4 -#color_bg_5 colb5 str d5 - - ----K background color 5 -#color_bg_6 colb6 str d6 - - ----K background color 6 -#color_bg_7 colb7 str d7 - - ----K background color 7 -#color_fg_0 colf0 str c0 - - ----K foreground color 0 -#color_fg_1 colf1 str c1 - - ----K foreground color 1 -#color_fg_2 colf2 str c2 - - ----K foreground color 2 -#color_fg_3 colf3 str c3 - - ----K foreground color 3 -#color_fg_4 colf4 str c4 - - ----K foreground color 4 -#color_fg_5 colf5 str c5 - - ----K foreground color 5 -#color_fg_6 colf6 str c6 - - ----K foreground color 6 -#color_fg_7 colf7 str c7 - - ----K foreground color 7 -#font_0 font0 str f0 - - ----- select font 0 -#font_1 font1 str f1 - - ----- select font 1 -#font_2 font2 str f2 - - ----- select font 2 -#font_3 font3 str f3 - - ----- select font 3 -#font_4 font4 str f4 - - ----K select font 4 -#font_5 font5 str f5 - - ----K select font 5 -#font_6 font6 str f6 - - ----K select font 6 -#font_7 font7 str f7 - - ----K select font 7 -#key_back_tab kbtab str k0 - - ----- backtab key -#key_do kdo str ki - - ----K do request key -#key_command kcmd str kd - - ----K command-request key -#key_command_pane kcpn str kW - - ----K command-pane key -#key_end kend str kw - - ----- end key -#key_help khlp str kq - - ----- help key -#key_newline knl str nl - - ----K newline key -#key_next_pane knpn str kv - - ----K next-pane key -#key_prev_cmd kppn str kp - - ----K previous-command key -#key_prev_pane kppn str kV - - ----K previous-pane key -#key_quit kquit str kQ - - ----K quit key -#key_select ksel str kU - - ----- select key -#key_scroll_left kscl str kz - - ----K scroll left -#key_scroll_right kscr str kZ - - ----K scroll right -#key_tab ktab str ko - - ----K tab key -#key_smap_in1 kmpf1 str Kv - - ----K special mapped key 1 input -#key_smap_out1 kmpt1 str KV - - ----K special mapped key 1 output -#key_smap_in2 kmpf2 str Kw - - ----K special mapped key 2 input -#key_smap_out2 kmpt2 str KW - - ----K special mapped key 2 output -#key_smap_in3 kmpf3 str Kx - - ----K special mapped key 3 input -#key_smap_out3 kmpt3 str KX - - ----K special mapped key 3 output -#key_smap_in4 kmpf4 str Ky - - ----K special mapped key 4 input -#key_smap_out4 kmpt4 str KY - - ----K special mapped key 4 output -#key_smap_in5 kmpf5 str Kz - - ----K special mapped key 5 input -#key_smap_out5 kmpt5 str KZ - - ----K special mapped key 5 output -#appl_defined_str apstr str za - - ----K application-defined string -# The key_smap_in[6789] and key_smap_out[6789] capabilities aren't described in -# the IBM manual pages, so the cap name strings are guesses. The terminfo -# names are almost certainly right, the termcap ones almost certainly wrong. -#key_smap_in6 kmpf6 str k! - - ----K special mapped key 6 input -#key_smap_out6 kmpt6 str K@ - - ----K special mapped key 6 output -#key_smap_in7 kmpf7 str k# - - ----K special mapped key 7 input -#key_smap_out7 kmpt7 str K$ - - ----K special mapped key 7 output -#key_smap_in8 kmpf8 str k% - - ----K special mapped key 8 input -#key_smap_out8 kmpt8 str K^ - - ----K special mapped key 8 output -#key_smap_in9 kmpf9 str k& - - ----K special mapped key 9 input -#key_smap_out9 kmpt9 str K* - - ----K special mapped key 9 output -# Undocumented capabilities end here -#key_sf1 ksf1 str S1 - - ----K special function key 1 -#key_sf2 ksf2 str S2 - - ----K special function key 2 -#key_sf3 ksf3 str S3 - - ----K special function key 3 -#key_sf4 ksf4 str S4 - - ----K special function key 4 -#key_sf5 ksf5 str S5 - - ----K special function key 5 -#key_sf6 ksf6 str S6 - - ----K special function key 6 -#key_sf7 ksf7 str S7 - - ----K special function key 7 -#key_sf8 ksf8 str S8 - - ----K special function key 8 -#key_sf9 ksf9 str S9 - - ----K special function key 9 -#key_sf10 ksf10 str SA - - ----K special function key 10 -# AIX version 3 documents different codes for F11, F12 and does not mention -# F13-F64. AIX version 4 uses the same naming for F0-F63 as above. -#key_f11 kf11 str k< - - ----- function key 11 -#key_f12 kf12 str k> - - ----- function key 12 -# Undocumented capabilities end here. -#key_action kact str kJ - - ----K sent by action key -# The IBM docs say these capabilities are for table-drawing, and are -# valid only for aixterm descriptions. -#enter_topline_mode topl str tp - - ----K start top-line mode -#enter_bottom_mode btml str bm - - ----K start bottom-line mode -#enter_rvert_mode rvert str rv - - ----K start right-vertical mode -#enter_lvert_mode lvert str lv - - ----K start left-vertical mode -# -############################################################################# -# -# ALIAS DECLARATIONS -# -# Here we set up aliases for translating extensions into standard terminfo. -# -#---------------------------------- Termcap aliases ------------------------- -# -# BSD aliases: -# -# This is a common error in many termcap files. We'll get notified during -# translation when this (or any other alias) fires. -# -capalias sb sr BSD scroll text down -# -# AT&T extensions: -# -# The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of -# nonstandard capabilities. Its signature is the KM capability, used to name -# some sort of keymap file. EE, BO, CI, CV, XS, DS, FL and FE are in this -# set. Comments in the original, and a little cross-checking with other AT&T -# documentation, seem to establish the following mappings: -# -capalias BO mr AT&T enter_reverse_mode -capalias CI vi AT&T cursor_invisible -capalias CV ve AT&T cursor_normal -capalias DS mh AT&T enter_dim_mode -#capalias EE me AT&T exit_attribute_mode -capalias FE LF AT&T label_on -capalias FL LO AT&T label_off -capalias XS mk AT&T enter_secure_mode -# -# We comment out EE because the conflicting XENIX EE is more common in -# old entries. -# -# XENIX extensions: -# -# These are the ones we know how to translate directly: -# -capalias EE mh XENIX exit_attribute_mode -capalias GE ae XENIX exit_alt_charset_mode -capalias GS as XENIX enter_alt_charset_mode -capalias CF vi XENIX cursor_invis -capalias CO ve XENIX cursor_normal -capalias EN @7 XENIX key_end -capalias HM kh XENIX key_home -capalias LD kL XENIX key_dl -capalias PD kN XENIX key_npage -capalias PN po XENIX prtr_off -capalias PS pf XENIX prtr_on -capalias PU kP XENIX key_ppage -capalias RT @8 XENIX kent -capalias UP ku XENIX kcuu1 -capalias G6 IGNORE XENIX double-ACS_ULCORNER -capalias G7 IGNORE XENIX double-ACS_LLCORNER -capalias G5 IGNORE XENIX double-ACS_URCORNER -capalias G8 IGNORE XENIX double-ACS_LRCORNER -capalias Gr IGNORE XENIX double-ACS_LTEE -capalias Gr IGNORE XENIX double-ACS_RTEE -capalias Gu IGNORE XENIX double-ACS_BTEE -capalias Gd IGNORE XENIX double ACS_TTEE -capalias Gh IGNORE XENIX double-ACS_HLINE -capalias Gv IGNORE XENIX double-ACS_VLINE -capalias Gc IGNORE XENIX double-ACS_PLUS -capalias GG IGNORE XENIX acs-glitch -# -# IBM extensions: -# -capalias kq %1 IBM key_help -# -# Iris extensions: -# -capalias HS mh IRIS enter_dim_mode -# -# Tektronix extensions: -# -capalias KA k; Tek key_f10 -capalias KB F1 Tek key_f11 -capalias KC F2 Tek key_f12 -capalias KD F3 Tek key_f13 -capalias KE F4 Tek key_f14 -capalias KF F5 Tek key_f15 -capalias BC Sb Tek set_background -capalias FC Sf Tek set_foreground -# -# There are also the following: -# -# XENIX XENIX variable name name clash with terminfo? -# ----- ------------------- ------------------------- -# CL key_char_left -# CR key_char_right -# CW key_change_window -# HP ?? -# LF key_linefeed label_off -# NU key_next_unlocked_cell -# PL ?? -# PR ?? -# RC key_recalc remove_clock -# RF key_toggle_ref req_for_input -# WL key_word_left -# WR key_word_right -# -# If you know what any of the question-marked ones mean, please tell us. -# -#--------------------------------- Terminfo aliases ------------------------ -# -# IBM extensions: -# -infoalias font0 s0ds IBM set0_des_seq -infoalias font1 s1ds IBM set1_des_seq -infoalias font2 s2ds IBM set2_des_seq -infoalias font3 s3ds IBM set3_des_seq -infoalias kbtab kcbt IBM key_backtab -infoalias ksel kslt IBM key_select -# -# Some others are identical to SVr4/XPG4 capabilities, in particular: -# kcmd, kend, khlp, and kf11...kf63. -# -############################################################################# -# -# The following sets edit modes for GNU EMACS -# Local Variables: -# case-fold-search:nil -# truncate-lines:t -# End: diff --git a/src/libs/ncurses/include/MKhashsize.sh b/src/libs/ncurses/include/MKhashsize.sh deleted file mode 100755 index d11d7bf23c..0000000000 --- a/src/libs/ncurses/include/MKhashsize.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# -# MKhashsize.sh --- generate size include for hash functions -# -echo "/*" -echo " * hashsize.h -- hash and token table constants" -echo " */" - -CAPS="${1-Caps}" -TABSIZE=`grep -v '^[ #]' $CAPS | grep -v "^$" | grep -v "^capalias"| grep -v "^infoalias" | wc -l` - -echo "" -echo "#define CAPTABSIZE ${TABSIZE}" -echo "#define HASHTABSIZE (${TABSIZE} * 2)" diff --git a/src/libs/ncurses/include/MKkey_defs.sh b/src/libs/ncurses/include/MKkey_defs.sh deleted file mode 100755 index b3cb4f7f72..0000000000 --- a/src/libs/ncurses/include/MKkey_defs.sh +++ /dev/null @@ -1,182 +0,0 @@ -#! /bin/sh -# $Id: MKkey_defs.sh,v 1.14 2003/12/06 17:10:09 tom Exp $ -############################################################################## -# Copyright (c) 2001-2002,2003 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# MKkey_defs.sh -- generate function-key definitions for curses.h -# -# Author: Thomas E. Dickey 2001 -# -# Extract function-key definitions from the Caps file -# -: ${AWK-awk} -DATA=${1-Caps} - -data=data$$ -pass1=pass1_$$ -pass2=pass2_$$ -pass3=pass3_$$ -pass4=pass4_$$ -trap 'rm -f $data pass[1234]_$$' 0 1 2 5 15 - -# change repeated tabs (used for readability) to single tabs (needed to make -# awk see the right field alignment of the corresponding columns): -if sort -k 6 $DATA >$data 2>/dev/null -then - # POSIX - sed -e 's/[ ][ ]*/ /g' < $DATA |sort -n -k 6 >$data -elif sort -n +5 $DATA >$data 2>/dev/null -then - # SunOS (and SVr4, marked as obsolete but still recognized) - sed -e 's/[ ][ ]*/ /g' < $DATA |sort -n +5 >$data -else - echo "Your sort utility is broken. Please install one that works." >&2 - exit 1 -fi - -# add keys that we generate automatically: -cat >>$data <$output <$data ' -function print_cols(text,cols) { - printf "%s", text - len = length(text); - while (len < cols) { - printf " " - len += 8; - } -} -function decode(keycode) { - result = 0; - if (substr(keycode, 1, 2) == "0x") { - digits="0123456789abcdef"; - } else if (substr(keycode, 1, 1) == "0") { - digits="01234567"; - } else { - digits="0123456789"; - } - while (length(keycode) != 0) { - digit=substr(keycode, 1, 1); - keycode=substr(keycode, 2); - result = result * length(digits) + index(digits, digit) - 1; - } - return result; -} - -BEGIN { - maxkey='$maxkey'; - pass='$pass'; - key_max=1; - bits=1; - while (key_max < maxkey) { - bits = bits + 1; - key_max = (key_max * 2) + 1; - } - octal_fmt = sprintf ("%%0%do", (bits + 2) / 3 + 1); -} - -/^$/ {next;} -/^#/ {next;} -/^capalias/ {next;} -/^infoalias/ {next;} - -$5 != "-" && $6 != "-" { - if ($6 == "+") { - if (pass == 1 || pass == 2) - next; - thiskey=maxkey + 1; - } else { - if (pass == 3) - next; - thiskey=decode($6); - } - if (thiskey > maxkey) - maxkey = thiskey; - if (pass == 2 || pass == 3) { - showkey=sprintf(octal_fmt, thiskey); - if ($5 == "KEY_F(0)" ) { - printf "#define " - print_cols("KEY_F0", 16); - print_cols(showkey, 16); - print "/* Function keys. Space for 64 */"; - printf "#define " - print_cols("KEY_F(n)", 16); - print_cols("(KEY_F0+(n))", 16); - print "/* Value of function key n */" - } else { - printf "#define " - print_cols($5, 16); - print_cols(showkey, 16); - printf "/*" - for (i = 8; i <= NF; i++) - printf " %s", $i - print " */" - } - } - } -END { - if (pass == 1) { - print maxkey; - } else if (pass == 4) { - print ""; - printf "#define "; - print_cols("KEY_MAX", 16); - result = sprintf (octal_fmt, key_max); - print_cols(result, 16); - printf "/* Maximum key value is "; - printf octal_fmt, maxkey; - print " */"; - } - } -' -if test $pass = 1 ; then - maxkey=`cat $pass1` -fi - -done - -cat $pass2 -cat $pass3 -cat $pass4 diff --git a/src/libs/ncurses/include/MKncurses_def.sh b/src/libs/ncurses/include/MKncurses_def.sh deleted file mode 100755 index 4aac86554b..0000000000 --- a/src/libs/ncurses/include/MKncurses_def.sh +++ /dev/null @@ -1,80 +0,0 @@ -#! /bin/sh -# $Id: MKncurses_def.sh,v 1.2 2003/10/25 16:19:46 tom Exp $ -############################################################################## -# Copyright (c) 2000 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# MKncurses_def.sh -- generate fallback definitions for ncurses_cfg.h -# -# Author: Thomas E. Dickey 2000 -# -# Given the choice between constructs such as -# -# #if defined(foo) && foo -# #if foo -# -# we chose the latter. It is guaranteed by the language standard, and there -# appear to be no broken compilers that do not honor that detail. But some -# people want to use gcc's -Wundef option (corresponding to one of the less -# useful features in Watcom's compiler) to check for misspellings. So we -# generate a set of fallback definitions to quiet the warnings without making -# the code ugly. -# -DEFS="${1-ncurses_defs}" -cat < 1992,1995 */" - print "/* and: Eric S. Raymond */" - print "/* and: Thomas E. Dickey 1995-2003 */" - print "/****************************************************************************/" - print "" - print "/* $Id: MKterm.h.awk.in,v 1.42 2003/12/27 19:09:16 tom Exp $ */" - print "" - print "/*" - print "** term.h -- Definition of struct term" - print "*/" - print "" - print "#ifndef NCURSES_TERM_H_incl" - print "#define NCURSES_TERM_H_incl 1" - print "" - print "#undef NCURSES_VERSION" - print "#define NCURSES_VERSION \"5.5\"" - print "" - print "#include " - print "" - print "#ifdef __cplusplus" - print "extern \"C\" {" - print "#endif" - print "" - print "/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H" - print " * definition (based on the system for which this was configured)." - print " */" - print "" - print "#undef HAVE_TERMIOS_H" - print "#define HAVE_TERMIOS_H 1/*default*/" - print "" - print "#undef HAVE_TCGETATTR" - print "#define HAVE_TCGETATTR 1/*default*/" - print "" - print "#undef NCURSES_CONST" - print "#define NCURSES_CONST /*nothing*/" - print "" - print "#undef NCURSES_XNAMES" - print "#define NCURSES_XNAMES 1" - print "" - print "/* We will use these symbols to hide differences between" - print " * termios/termio/sgttyb interfaces." - print " */" - print "#undef TTY" - print "#undef SET_TTY" - print "#undef GET_TTY" - print "" - print "/* Assume POSIX termio if we have the header and function */" - print "#if HAVE_TERMIOS_H && HAVE_TCGETATTR" - print "" - print "#undef TERMIOS" - print "#define TERMIOS 1" - print "" - print "#include " - print "#define TTY struct termios" - print "" - print "#else /* !HAVE_TERMIOS_H */" - print "" - print "#if HAVE_TERMIO_H" - print "" - print "#undef TERMIOS" - print "#define TERMIOS 1" - print "" - print "#include " - print "#define TTY struct termio" - print "" - print "/* Add definitions to make termio look like termios." - print " * But ifdef it, since there are some implementations" - print " * that try to do this for us in a fake ." - print " */" - print "#ifndef TCSANOW" - print "#define TCSANOW TCSETA" - print "#endif" - print "#ifndef TCSADRAIN" - print "#define TCSADRAIN TCSETAW" - print "#endif" - print "#ifndef TCSAFLUSH" - print "#define TCSAFLUSH TCSETAF" - print "#endif" - print "#ifndef tcsetattr" - print "#define tcsetattr(fd, cmd, arg) ioctl(fd, cmd, arg)" - print "#endif" - print "#ifndef tcgetattr" - print "#define tcgetattr(fd, arg) ioctl(fd, TCGETA, arg)" - print "#endif" - print "#ifndef cfgetospeed" - print "#define cfgetospeed(t) ((t)->c_cflag & CBAUD)" - print "#endif" - print "#ifndef TCIFLUSH " - print "#define TCIFLUSH 0" - print "#endif" - print "#ifndef TCOFLUSH " - print "#define TCOFLUSH 1" - print "#endif" - print "#ifndef TCIOFLUSH " - print "#define TCIOFLUSH 2" - print "#endif" - print "#ifndef tcflush" - print "#define tcflush(fd, arg) ioctl(fd, TCFLSH, arg)" - print "#endif" - print "" - print "#else /* !HAVE_TERMIO_H */" - print "" - print "#undef TERMIOS" - print "#include " - print "#include " - print "#define TTY struct sgttyb" - print "" - print "#endif /* HAVE_TERMIO_H */" - print "" - print "#endif /* HAVE_TERMIOS_H */" - print "" - print "#ifdef TERMIOS" - print "#define GET_TTY(fd, buf) tcgetattr(fd, buf)" - print "#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)" - print "#else" - print "#define GET_TTY(fd, buf) gtty(fd, buf)" - print "#define SET_TTY(fd, buf) stty(fd, buf)" - print "#endif" - print "" - print "#define NAMESIZE 256" - print "" - print "#define CUR cur_term->type." - print "" - } - -$2 == "%%-STOP-HERE-%%" { - print "" - printf "#define BOOLWRITE %d\n", BoolCount - printf "#define NUMWRITE %d\n", NumberCount - printf "#define STRWRITE %d\n", StringCount - print "" - print "/* older synonyms for some capabilities */" - print "#define beehive_glitch no_esc_ctlc" - print "#define teleray_glitch dest_tabs_magic_smso" - print "#define micro_char_size micro_col_size" - print "" - print "#ifdef __INTERNAL_CAPS_VISIBLE" - } - -/^#/ {next;} - -$1 == "acs_chars" {acsindex = StringCount} - -$3 == "bool" { - printf "#define %-30s CUR Booleans[%d]\n", $1, BoolCount++ - } - -$3 == "num" { - printf "#define %-30s CUR Numbers[%d]\n", $1, NumberCount++ - } - -$3 == "str" { - printf "#define %-30s CUR Strings[%d]\n", $1, StringCount++ - } - -END { - print "#endif /* __INTERNAL_CAPS_VISIBLE */" - print "" - print "" - print "/*" - print " * Predefined terminfo array sizes" - print " */" - printf "#define BOOLCOUNT %d\n", BoolCount - printf "#define NUMCOUNT %d\n", NumberCount - printf "#define STRCOUNT %d\n", StringCount - print "" - print "/* used by code for comparing entries */" - print "#define acs_chars_index ", acsindex - print "" - print "typedef struct termtype { /* in-core form of terminfo data */" - print " char *term_names; /* str_table offset of term names */" - print " char *str_table; /* pointer to string table */" - print " char *Booleans; /* array of boolean values */" - print " short *Numbers; /* array of integer values */" - print " char **Strings; /* array of string offsets */" - print "" - print "#if NCURSES_XNAMES" - print " char *ext_str_table; /* pointer to extended string table */" - print " char **ext_Names; /* corresponding names */" - print "" - print " unsigned short num_Booleans;/* count total Booleans */" - print " unsigned short num_Numbers; /* count total Numbers */" - print " unsigned short num_Strings; /* count total Strings */" - print "" - print " unsigned short ext_Booleans;/* count extensions to Booleans */" - print " unsigned short ext_Numbers; /* count extensions to Numbers */" - print " unsigned short ext_Strings; /* count extensions to Strings */" - print "#endif /* NCURSES_XNAMES */" - print "" - print "} TERMTYPE;" - print "" - print "typedef struct term { /* describe an actual terminal */" - print " TERMTYPE type; /* terminal type description */" - print " short Filedes; /* file description being written to */" - print " TTY Ottyb, /* original state of the terminal */" - print " Nttyb; /* current state of the terminal */" - print " int _baudrate; /* used to compute padding */" - print " char * _termname; /* used for termname() */" - print "} TERMINAL;" - print "" - print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;" - print "" - print "#if BROKEN_LINKER" - print "#define boolnames _nc_boolnames()" - print "#define boolcodes _nc_boolcodes()" - print "#define boolfnames _nc_boolfnames()" - print "#define numnames _nc_numnames()" - print "#define numcodes _nc_numcodes()" - print "#define numfnames _nc_numfnames()" - print "#define strnames _nc_strnames()" - print "#define strcodes _nc_strcodes()" - print "#define strfnames _nc_strfnames()" - print "" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolnames (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolcodes (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolfnames (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numnames (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numcodes (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numfnames (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strnames (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strcodes (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strfnames (void);" - print "" - print "#else" - print "" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];" - print "" - print "#endif" - print "" - print "/* internals */" - print "extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf);" - print "extern NCURSES_EXPORT(int) _nc_get_tty_mode (TTY *buf);" - print "extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);" - print "extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE *);" - print "extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);" - print "extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);" - print "extern NCURSES_EXPORT(int) _nc_read_termcap_entry (const char *const, TERMTYPE *const);" - print "extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);" - print "" - print "/* entry points */" - print "extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);" - print "extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);" - print "" - print "/* miscellaneous entry points */" - print "extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *);" - print "extern NCURSES_EXPORT(int) setupterm (NCURSES_CONST char *,int,int *);" - print "" - print "/* terminfo entry points, also declared in curses.h */" - print "#if !defined(__NCURSES_H)" - print "extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);" - print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);" - print "extern NCURSES_EXPORT_VAR(char) ttytype[];" - print "extern NCURSES_EXPORT(int) putp (const char *);" - print "extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);" - print "extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);" - print "#endif /* __NCURSES_H */" - print "" - print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */" - print "#if !defined(NCURSES_TERMCAP_H_incl)" - print "extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);" - print "extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);" - print "extern NCURSES_EXPORT(int) tgetent (char *, const char *);" - print "extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *);" - print "extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *);" - print "extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));" - print "#endif /* NCURSES_TERMCAP_H_incl */" - print "" - print "#ifdef __cplusplus" - print "}" - print "#endif" - print "" - print "#endif /* NCURSES_TERM_H_incl */" - } diff --git a/src/libs/ncurses/include/MKterm.h.awk.in b/src/libs/ncurses/include/MKterm.h.awk.in deleted file mode 100644 index 6cf0445cbb..0000000000 --- a/src/libs/ncurses/include/MKterm.h.awk.in +++ /dev/null @@ -1,311 +0,0 @@ -BEGIN { - print "/****************************************************************************" - print " * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. *" - print " * *" - print " * Permission is hereby granted, free of charge, to any person obtaining a *" - print " * copy of this software and associated documentation files (the *" - print " * \"Software\"), to deal in the Software without restriction, including *" - print " * without limitation the rights to use, copy, modify, merge, publish, *" - print " * distribute, distribute with modifications, sublicense, and/or sell *" - print " * copies of the Software, and to permit persons to whom the Software is *" - print " * furnished to do so, subject to the following conditions: *" - print " * *" - print " * The above copyright notice and this permission notice shall be included *" - print " * in all copies or substantial portions of the Software. *" - print " * *" - print " * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS *" - print " * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *" - print " * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *" - print " * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *" - print " * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *" - print " * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *" - print " * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *" - print " * *" - print " * Except as contained in this notice, the name(s) of the above copyright *" - print " * holders shall not be used in advertising or otherwise to promote the *" - print " * sale, use or other dealings in this Software without prior written *" - print " * authorization. *" - print " ****************************************************************************/" - print "" - print "/****************************************************************************/" - print "/* Author: Zeyd M. Ben-Halim 1992,1995 */" - print "/* and: Eric S. Raymond */" - print "/* and: Thomas E. Dickey 1995-2003 */" - print "/****************************************************************************/" - print "" - print "/* $Id: MKterm.h.awk.in,v 1.42 2003/12/27 19:09:16 tom Exp $ */" - print "" - print "/*" - print "** term.h -- Definition of struct term" - print "*/" - print "" - print "#ifndef NCURSES_TERM_H_incl" - print "#define NCURSES_TERM_H_incl 1" - print "" - print "#undef NCURSES_VERSION" - print "#define NCURSES_VERSION \"@NCURSES_MAJOR@.@NCURSES_MINOR@\"" - print "" - print "#include " - print "" - print "#ifdef __cplusplus" - print "extern \"C\" {" - print "#endif" - print "" - print "/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H" - print " * definition (based on the system for which this was configured)." - print " */" - print "" - print "#undef HAVE_TERMIOS_H" - print "#define HAVE_TERMIOS_H 1/*default*/" - print "" - print "#undef HAVE_TCGETATTR" - print "#define HAVE_TCGETATTR 1/*default*/" - print "" - print "#undef NCURSES_CONST" - print "#define NCURSES_CONST @NCURSES_CONST@" - print "" - print "#undef NCURSES_XNAMES" - print "#define NCURSES_XNAMES @NCURSES_XNAMES@" - print "" - print "/* We will use these symbols to hide differences between" - print " * termios/termio/sgttyb interfaces." - print " */" - print "#undef TTY" - print "#undef SET_TTY" - print "#undef GET_TTY" - print "" - print "/* Assume POSIX termio if we have the header and function */" - print "#if HAVE_TERMIOS_H && HAVE_TCGETATTR" - print "" - print "#undef TERMIOS" - print "#define TERMIOS 1" - print "" - print "#include " - print "#define TTY struct termios" - print "" - print "#else /* !HAVE_TERMIOS_H */" - print "" - print "#if HAVE_TERMIO_H" - print "" - print "#undef TERMIOS" - print "#define TERMIOS 1" - print "" - print "#include " - print "#define TTY struct termio" - print "" - print "/* Add definitions to make termio look like termios." - print " * But ifdef it, since there are some implementations" - print " * that try to do this for us in a fake ." - print " */" - print "#ifndef TCSANOW" - print "#define TCSANOW TCSETA" - print "#endif" - print "#ifndef TCSADRAIN" - print "#define TCSADRAIN TCSETAW" - print "#endif" - print "#ifndef TCSAFLUSH" - print "#define TCSAFLUSH TCSETAF" - print "#endif" - print "#ifndef tcsetattr" - print "#define tcsetattr(fd, cmd, arg) ioctl(fd, cmd, arg)" - print "#endif" - print "#ifndef tcgetattr" - print "#define tcgetattr(fd, arg) ioctl(fd, TCGETA, arg)" - print "#endif" - print "#ifndef cfgetospeed" - print "#define cfgetospeed(t) ((t)->c_cflag & CBAUD)" - print "#endif" - print "#ifndef TCIFLUSH " - print "#define TCIFLUSH 0" - print "#endif" - print "#ifndef TCOFLUSH " - print "#define TCOFLUSH 1" - print "#endif" - print "#ifndef TCIOFLUSH " - print "#define TCIOFLUSH 2" - print "#endif" - print "#ifndef tcflush" - print "#define tcflush(fd, arg) ioctl(fd, TCFLSH, arg)" - print "#endif" - print "" - print "#else /* !HAVE_TERMIO_H */" - print "" - print "#undef TERMIOS" - print "#include " - print "#include " - print "#define TTY struct sgttyb" - print "" - print "#endif /* HAVE_TERMIO_H */" - print "" - print "#endif /* HAVE_TERMIOS_H */" - print "" - print "#ifdef TERMIOS" - print "#define GET_TTY(fd, buf) tcgetattr(fd, buf)" - print "#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)" - print "#else" - print "#define GET_TTY(fd, buf) gtty(fd, buf)" - print "#define SET_TTY(fd, buf) stty(fd, buf)" - print "#endif" - print "" - print "#define NAMESIZE 256" - print "" - print "#define CUR cur_term->type." - print "" - } - -$2 == "%%-STOP-HERE-%%" { - print "" - printf "#define BOOLWRITE %d\n", BoolCount - printf "#define NUMWRITE %d\n", NumberCount - printf "#define STRWRITE %d\n", StringCount - print "" - print "/* older synonyms for some capabilities */" - print "#define beehive_glitch no_esc_ctlc" - print "#define teleray_glitch dest_tabs_magic_smso" - print "#define micro_char_size micro_col_size" - print "" - print "#ifdef __INTERNAL_CAPS_VISIBLE" - } - -/^#/ {next;} - -$1 == "acs_chars" {acsindex = StringCount} - -$3 == "bool" { - printf "#define %-30s CUR Booleans[%d]\n", $1, BoolCount++ - } - -$3 == "num" { - printf "#define %-30s CUR Numbers[%d]\n", $1, NumberCount++ - } - -$3 == "str" { - printf "#define %-30s CUR Strings[%d]\n", $1, StringCount++ - } - -END { - print "#endif /* __INTERNAL_CAPS_VISIBLE */" - print "" - print "" - print "/*" - print " * Predefined terminfo array sizes" - print " */" - printf "#define BOOLCOUNT %d\n", BoolCount - printf "#define NUMCOUNT %d\n", NumberCount - printf "#define STRCOUNT %d\n", StringCount - print "" - print "/* used by code for comparing entries */" - print "#define acs_chars_index ", acsindex - print "" - print "typedef struct termtype { /* in-core form of terminfo data */" - print " char *term_names; /* str_table offset of term names */" - print " char *str_table; /* pointer to string table */" - print " char *Booleans; /* array of boolean values */" - print " short *Numbers; /* array of integer values */" - print " char **Strings; /* array of string offsets */" - print "" - print "#if NCURSES_XNAMES" - print " char *ext_str_table; /* pointer to extended string table */" - print " char **ext_Names; /* corresponding names */" - print "" - print " unsigned short num_Booleans;/* count total Booleans */" - print " unsigned short num_Numbers; /* count total Numbers */" - print " unsigned short num_Strings; /* count total Strings */" - print "" - print " unsigned short ext_Booleans;/* count extensions to Booleans */" - print " unsigned short ext_Numbers; /* count extensions to Numbers */" - print " unsigned short ext_Strings; /* count extensions to Strings */" - print "#endif /* NCURSES_XNAMES */" - print "" - print "} TERMTYPE;" - print "" - print "typedef struct term { /* describe an actual terminal */" - print " TERMTYPE type; /* terminal type description */" - print " short Filedes; /* file description being written to */" - print " TTY Ottyb, /* original state of the terminal */" - print " Nttyb; /* current state of the terminal */" - print " int _baudrate; /* used to compute padding */" - print " char * _termname; /* used for termname() */" - print "} TERMINAL;" - print "" - print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;" - print "" - print "#if BROKEN_LINKER" - print "#define boolnames _nc_boolnames()" - print "#define boolcodes _nc_boolcodes()" - print "#define boolfnames _nc_boolfnames()" - print "#define numnames _nc_numnames()" - print "#define numcodes _nc_numcodes()" - print "#define numfnames _nc_numfnames()" - print "#define strnames _nc_strnames()" - print "#define strcodes _nc_strcodes()" - print "#define strfnames _nc_strfnames()" - print "" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolnames (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolcodes (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolfnames (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numnames (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numcodes (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numfnames (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strnames (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strcodes (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strfnames (void);" - print "" - print "#else" - print "" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];" - print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];" - print "" - print "#endif" - print "" - print "/* internals */" - print "extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf);" - print "extern NCURSES_EXPORT(int) _nc_get_tty_mode (TTY *buf);" - print "extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);" - print "extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE *);" - print "extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);" - print "extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);" - print "extern NCURSES_EXPORT(int) _nc_read_termcap_entry (const char *const, TERMTYPE *const);" - print "extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);" - print "" - print "/* entry points */" - print "extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);" - print "extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);" - print "" - print "/* miscellaneous entry points */" - print "extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *);" - print "extern NCURSES_EXPORT(int) setupterm (NCURSES_CONST char *,int,int *);" - print "" - print "/* terminfo entry points, also declared in curses.h */" - print "#if !defined(__NCURSES_H)" - print "extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);" - print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);" - print "extern NCURSES_EXPORT_VAR(char) ttytype[];" - print "extern NCURSES_EXPORT(int) putp (const char *);" - print "extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);" - print "extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);" - print "#endif /* __NCURSES_H */" - print "" - print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */" - print "#if !defined(NCURSES_TERMCAP_H_incl)" - print "extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);" - print "extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);" - print "extern NCURSES_EXPORT(int) tgetent (char *, const char *);" - print "extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *);" - print "extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *);" - print "extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));" - print "#endif /* NCURSES_TERMCAP_H_incl */" - print "" - print "#ifdef __cplusplus" - print "}" - print "#endif" - print "" - print "#endif /* NCURSES_TERM_H_incl */" - } diff --git a/src/libs/ncurses/include/Makefile b/src/libs/ncurses/include/Makefile deleted file mode 100644 index 3e69533a82..0000000000 --- a/src/libs/ncurses/include/Makefile +++ /dev/null @@ -1,153 +0,0 @@ -# $Id: Makefile.in,v 1.35 2001/12/08 18:50:06 tom Exp $ -############################################################################## -# Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996-2001 -# -# Makefile for ncurses source code. -# -# This makes/installs ncurses include-files -# -# The variable 'srcdir' refers to the source-distribution, and can be set with -# the configure script by "--srcdir=DIR". - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -DESTDIR = -srcdir = . -prefix = /usr/local -exec_prefix = ${prefix} -includedir = $(prefix)/include/ncurses - -INSTALL = /bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 - -AWK = gawk -LN_S = ln -s - -VERSION = 5.5 - -# The "Caps" file specifies the terminfo database format, as well as the list -# of function keys. -TERMINFO_CAPS = $(srcdir)/Caps - -# These files are generated by the configure script -CONFIG_SRC = \ - MKterm.h.awk \ - curses.head \ - termcap.h \ - unctrl.h - -# These files are generated by this makefile -AUTO_SRC = \ - curses.h \ - hashsize.h \ - ncurses_def.h \ - parametrized.h \ - term.h - -################################################################################ -all \ -libs \ -depend \ -sources \ -install :: $(AUTO_SRC) - -curses.h : $(TERMINFO_CAPS) \ - curses.head \ - $(srcdir)/curses.tail \ - $(srcdir)/MKkey_defs.sh - cat curses.head >$@ - AWK=$(AWK) sh $(srcdir)/MKkey_defs.sh $(TERMINFO_CAPS) >>$@ - sh -c 'if test "chtype" = "cchar_t" ; then cat $(srcdir)/curses.wide >>$@ ; fi' - cat $(srcdir)/curses.tail >>$@ - -term.h: $(TERMINFO_CAPS) MKterm.h.awk - $(AWK) -f MKterm.h.awk $(TERMINFO_CAPS) > $@ - sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@ - -hashsize.h: $(TERMINFO_CAPS) $(srcdir)/MKhashsize.sh - sh $(srcdir)/MKhashsize.sh $(TERMINFO_CAPS) >$@ - -ncurses_def.h: $(srcdir)/ncurses_defs $(srcdir)/MKncurses_def.sh - AWK=$(AWK) sh $(srcdir)/MKncurses_def.sh $(srcdir)/ncurses_defs >$@ - -parametrized.h: $(TERMINFO_CAPS) $(srcdir)/MKparametrized.sh - AWK=$(AWK) sh $(srcdir)/MKparametrized.sh $(TERMINFO_CAPS) >$@ - -tags: - ctags *.[ch] - -TAGS: - etags *.[ch] - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace - -clean :: mostlyclean - -rm -f $(AUTO_SRC) - -distclean :: clean - -rm -f Makefile $(CONFIG_SRC) - -realclean :: distclean - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### -$(DESTDIR)$(includedir) : - sh $(srcdir)/../mkinstalldirs $@ - -install \ -install.libs \ -install.includes :: $(AUTO_SRC) $(DESTDIR)$(includedir) \ - term.h \ - curses.h \ - unctrl.h \ - termcap.h \ - $(srcdir)/ncurses_dll.h - @ (cd $(DESTDIR)$(includedir) && rm -f term.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) term.h - @ (cd $(DESTDIR)$(includedir) && rm -f curses.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) curses.h - @ (cd $(DESTDIR)$(includedir) && rm -f ncurses.h && $(LN_S) curses.h ncurses.h) - @ (cd $(DESTDIR)$(includedir) && rm -f unctrl.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) unctrl.h - @ (cd $(DESTDIR)$(includedir) && rm -f termcap.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) termcap.h - @ (cd $(DESTDIR)$(includedir) && rm -f ncurses_dll.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/ncurses_dll.h - -uninstall \ -uninstall.libs \ -uninstall.includes :: - -@ (cd $(DESTDIR)$(includedir) && rm -f term.h) - -@ (cd $(DESTDIR)$(includedir) && rm -f curses.h) - -@ (cd $(DESTDIR)$(includedir) && rm -f ncurses.h) - -@ (cd $(DESTDIR)$(includedir) && rm -f unctrl.h) - -@ (cd $(DESTDIR)$(includedir) && rm -f termcap.h) - -@ (cd $(DESTDIR)$(includedir) && rm -f ncurses_dll.h) diff --git a/src/libs/ncurses/include/Makefile.in b/src/libs/ncurses/include/Makefile.in deleted file mode 100644 index 1a48a1700a..0000000000 --- a/src/libs/ncurses/include/Makefile.in +++ /dev/null @@ -1,126 +0,0 @@ -# $Id: Makefile.in,v 1.35 2001/12/08 18:50:06 tom Exp $ -############################################################################## -# Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996-2001 -# -# Makefile for ncurses source code. -# -# This makes/installs ncurses include-files -# -# The variable 'srcdir' refers to the source-distribution, and can be set with -# the configure script by "--srcdir=DIR". - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -DESTDIR = @DESTDIR@ -srcdir = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ -includedir = @includedir@ - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ - -AWK = @AWK@ -LN_S = @LN_S@ - -VERSION = @cf_cv_rel_version@ - -# The "Caps" file specifies the terminfo database format, as well as the list -# of function keys. -TERMINFO_CAPS = $(srcdir)/@TERMINFO_CAPS@ - -# These files are generated by the configure script -CONFIG_SRC = \ - MKterm.h.awk \ - curses.head \ - termcap.h \ - unctrl.h - -# These files are generated by this makefile -AUTO_SRC = \ - curses.h \ - hashsize.h \ - ncurses_def.h \ - parametrized.h \ - term.h - -################################################################################ -all \ -libs \ -depend \ -sources \ -install :: $(AUTO_SRC) - -curses.h : $(TERMINFO_CAPS) \ - curses.head \ - $(srcdir)/curses.tail \ - $(srcdir)/MKkey_defs.sh - cat curses.head >$@ - AWK=$(AWK) sh $(srcdir)/MKkey_defs.sh $(TERMINFO_CAPS) >>$@ - sh -c 'if test "@NCURSES_CH_T@" = "cchar_t" ; then cat $(srcdir)/curses.wide >>$@ ; fi' - cat $(srcdir)/curses.tail >>$@ - -term.h: $(TERMINFO_CAPS) MKterm.h.awk - $(AWK) -f MKterm.h.awk $(TERMINFO_CAPS) > $@ - sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@ - -hashsize.h: $(TERMINFO_CAPS) $(srcdir)/MKhashsize.sh - sh $(srcdir)/MKhashsize.sh $(TERMINFO_CAPS) >$@ - -ncurses_def.h: $(srcdir)/ncurses_defs $(srcdir)/MKncurses_def.sh - AWK=$(AWK) sh $(srcdir)/MKncurses_def.sh $(srcdir)/ncurses_defs >$@ - -parametrized.h: $(TERMINFO_CAPS) $(srcdir)/MKparametrized.sh - AWK=$(AWK) sh $(srcdir)/MKparametrized.sh $(TERMINFO_CAPS) >$@ - -tags: - ctags *.[ch] - -@MAKE_UPPER_TAGS@TAGS: -@MAKE_UPPER_TAGS@ etags *.[ch] - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace - -clean :: mostlyclean - -rm -f $(AUTO_SRC) - -distclean :: clean - -rm -f Makefile $(CONFIG_SRC) - -realclean :: distclean - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### diff --git a/src/libs/ncurses/include/capdefaults.c b/src/libs/ncurses/include/capdefaults.c deleted file mode 100644 index 071f9e17cd..0000000000 --- a/src/libs/ncurses/include/capdefaults.c +++ /dev/null @@ -1,84 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* $Id: capdefaults.c,v 1.12 2000/01/02 02:34:56 tom Exp $ */ - - /* - * Compute obsolete capabilities. The reason this is an include file is - * that the two places where it's needed want the macros to generate - * offsets to different structures. See the file Caps for explanations of - * these conversions. - * - * Note: This code is the functional inverse of the first part of - * postprocess_termcap(). - */ -{ - char *sp; - int capval; - -#define EXTRACT_DELAY(str) (sp = strchr(str, '*'), sp ? atoi(sp+1) : 0) - - /* current (4.4BSD) capabilities marked obsolete */ - if (VALID_STRING(carriage_return) - && (capval = EXTRACT_DELAY(carriage_return))) - carriage_return_delay = capval; - if (VALID_STRING(newline) && (capval = EXTRACT_DELAY(newline))) - new_line_delay = capval; - - /* current (4.4BSD) capabilities not obsolete */ - if (!VALID_STRING(termcap_init2) && VALID_STRING(init_3string)) { - termcap_init2 = init_3string; - init_3string = ABSENT_STRING; - } - if (!VALID_STRING(termcap_reset) - && VALID_STRING(reset_2string) - && !VALID_STRING(reset_1string) - && !VALID_STRING(reset_3string)) { - termcap_reset = reset_2string; - reset_2string = ABSENT_STRING; - } - if (magic_cookie_glitch_ul == ABSENT_NUMERIC - && magic_cookie_glitch != ABSENT_NUMERIC - && VALID_STRING(enter_underline_mode)) - magic_cookie_glitch_ul = magic_cookie_glitch; - - /* totally obsolete capabilities */ - linefeed_is_newline = VALID_STRING(newline) - && (strcmp("\n", newline) == 0); - if (VALID_STRING(cursor_left) - && (capval = EXTRACT_DELAY(cursor_left))) - backspace_delay = capval; - if (VALID_STRING(tab) && (capval = EXTRACT_DELAY(tab))) - horizontal_tab_delay = capval; -#undef EXTRACT_DELAY -} diff --git a/src/libs/ncurses/include/curses.h b/src/libs/ncurses/include/curses.h deleted file mode 100644 index dbadc66022..0000000000 --- a/src/libs/ncurses/include/curses.h +++ /dev/null @@ -1,1336 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* $Id: curses.h.in,v 1.157 2005/07/02 16:58:28 tom Exp $ */ - -#ifndef __NCURSES_H -#define __NCURSES_H - -#define CURSES 1 -#define CURSES_H 1 - -/* This should be defined for the enhanced functionality to be visible. - * However, some of the wide-character (enhanced) functionality is missing. - * So we do not define it (yet). -#define _XOPEN_CURSES 1 - */ - -/* These are defined only in curses.h, and are used for conditional compiles */ -#define NCURSES_VERSION_MAJOR 5 -#define NCURSES_VERSION_MINOR 5 -#define NCURSES_VERSION_PATCH 20051010 - -/* This is defined in more than one ncurses header, for identification */ -#undef NCURSES_VERSION -#define NCURSES_VERSION "5.5" - -/* - * Identify the mouse encoding version. - */ -#define NCURSES_MOUSE_VERSION 1 - -/* - * Definitions to facilitate DLL's. - */ -#include - -/* - * User-definable tweak to disable the include of . - */ -#ifndef NCURSES_ENABLE_STDBOOL_H -#define NCURSES_ENABLE_STDBOOL_H 1 -#endif - -/* - * NCURSES_ATTR_T is used to quiet compiler warnings when building ncurses - * configured using --disable-macros. - */ -#ifdef NCURSES_NOMACROS -#define NCURSES_ATTR_T attr_t -#endif - -#ifndef NCURSES_ATTR_T -#define NCURSES_ATTR_T int -#endif - -/* - * Expands to 'const' if ncurses is configured using --enable-const. Note that - * doing so makes it incompatible with other implementations of X/Open Curses. - */ -#undef NCURSES_CONST -#define NCURSES_CONST /*nothing*/ - -/* - * The internal type used for color values - */ -#undef NCURSES_COLOR_T -#define NCURSES_COLOR_T short - -/* - * The internal type used for window dimensions. - */ -#undef NCURSES_SIZE_T -#define NCURSES_SIZE_T short - -/* - * NCURSES_CH_T is used in building the library, but not used otherwise in - * this header file, since that would make the normal/wide-character versions - * of the header incompatible. - */ -#undef NCURSES_CH_T -#define NCURSES_CH_T chtype - -#if 0 && defined(_LP64) -typedef unsigned chtype; -typedef unsigned mmask_t; -#else -typedef unsigned long chtype; -typedef unsigned long mmask_t; -#endif - -#include -#include -#include /* we need va_list */ -#ifdef _XOPEN_SOURCE_EXTENDED -#include /* we want wchar_t */ -#endif /* _XOPEN_SOURCE_EXTENDED */ - -/* XSI and SVr4 specify that curses implements 'bool'. However, C++ may also - * implement it. If so, we must use the C++ compiler's type to avoid conflict - * with other interfaces. - * - * A further complication is that may declare 'bool' to be a - * different type, such as an enum which is not necessarily compatible with - * C++. If we have , make 'bool' a macro, so users may #undef it. - * Otherwise, let it remain a typedef to avoid conflicts with other #define's. - * In either case, make a typedef for NCURSES_BOOL which can be used if needed - * from either C or C++. - */ - -#undef TRUE -#define TRUE 1 - -#undef FALSE -#define FALSE 0 - -typedef unsigned char NCURSES_BOOL; - -#if defined(__cplusplus) /* __cplusplus, etc. */ - -/* use the C++ compiler's bool type */ -#define NCURSES_BOOL bool - -#else /* c89, c99, etc. */ - -#if NCURSES_ENABLE_STDBOOL_H -#include -/* use whatever the C compiler decides bool really is */ -#define NCURSES_BOOL bool -#else -/* there is no predefined bool - use our own */ -#undef bool -#define bool NCURSES_BOOL -#endif - -#endif /* !__cplusplus, etc. */ - -#ifdef __cplusplus -extern "C" { -#define NCURSES_CAST(type,value) static_cast(value) -#else -#define NCURSES_CAST(type,value) (type)(value) -#endif - -/* - * XSI attributes. In the ncurses implementation, they are identical to the - * A_ attributes. - */ -#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 - -/* colors */ -extern NCURSES_EXPORT_VAR(int) COLORS; -extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS; - -#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 - -/* line graphics */ - -#if 0 -extern NCURSES_EXPORT_VAR(chtype*) _nc_acs_map(void); -#define acs_map (_nc_acs_map()) -#else -extern NCURSES_EXPORT_VAR(chtype) acs_map[]; -#endif - -#define NCURSES_ACS(c) (acs_map[NCURSES_CAST(unsigned char,c)]) - -/* VT100 symbols begin here */ -#define ACS_ULCORNER NCURSES_ACS('l') /* upper left corner */ -#define ACS_LLCORNER NCURSES_ACS('m') /* lower left corner */ -#define ACS_URCORNER NCURSES_ACS('k') /* upper right corner */ -#define ACS_LRCORNER NCURSES_ACS('j') /* lower right corner */ -#define ACS_LTEE NCURSES_ACS('t') /* tee pointing right */ -#define ACS_RTEE NCURSES_ACS('u') /* tee pointing left */ -#define ACS_BTEE NCURSES_ACS('v') /* tee pointing up */ -#define ACS_TTEE NCURSES_ACS('w') /* tee pointing down */ -#define ACS_HLINE NCURSES_ACS('q') /* horizontal line */ -#define ACS_VLINE NCURSES_ACS('x') /* vertical line */ -#define ACS_PLUS NCURSES_ACS('n') /* large plus or crossover */ -#define ACS_S1 NCURSES_ACS('o') /* scan line 1 */ -#define ACS_S9 NCURSES_ACS('s') /* scan line 9 */ -#define ACS_DIAMOND NCURSES_ACS('`') /* diamond */ -#define ACS_CKBOARD NCURSES_ACS('a') /* checker board (stipple) */ -#define ACS_DEGREE NCURSES_ACS('f') /* degree symbol */ -#define ACS_PLMINUS NCURSES_ACS('g') /* plus/minus */ -#define ACS_BULLET NCURSES_ACS('~') /* bullet */ -/* Teletype 5410v1 symbols begin here */ -#define ACS_LARROW NCURSES_ACS(',') /* arrow pointing left */ -#define ACS_RARROW NCURSES_ACS('+') /* arrow pointing right */ -#define ACS_DARROW NCURSES_ACS('.') /* arrow pointing down */ -#define ACS_UARROW NCURSES_ACS('-') /* arrow pointing up */ -#define ACS_BOARD NCURSES_ACS('h') /* board of squares */ -#define ACS_LANTERN NCURSES_ACS('i') /* lantern symbol */ -#define ACS_BLOCK NCURSES_ACS('0') /* solid square block */ -/* - * These aren't documented, but a lot of System Vs have them anyway - * (you can spot pprryyzz{{||}} in a lot of AT&T terminfo strings). - * The ACS_names may not match AT&T's, our source didn't know them. - */ -#define ACS_S3 NCURSES_ACS('p') /* scan line 3 */ -#define ACS_S7 NCURSES_ACS('r') /* scan line 7 */ -#define ACS_LEQUAL NCURSES_ACS('y') /* less/equal */ -#define ACS_GEQUAL NCURSES_ACS('z') /* greater/equal */ -#define ACS_PI NCURSES_ACS('{') /* Pi */ -#define ACS_NEQUAL NCURSES_ACS('|') /* not equal */ -#define ACS_STERLING NCURSES_ACS('}') /* UK pound sign */ - -/* - * Line drawing ACS names are of the form ACS_trbl, where t is the top, r - * is the right, b is the bottom, and l is the left. t, r, b, and l might - * be B (blank), S (single), D (double), or T (thick). The subset defined - * here only uses B and S. - */ -#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 - -#undef ERR -#define ERR (-1) - -#undef OK -#define OK (0) - -/* values for the _flags member */ -#define _SUBWIN 0x01 /* is this a sub-window? */ -#define _ENDLINE 0x02 /* is the window flush right? */ -#define _FULLWIN 0x04 /* is the window full-screen? */ -#define _SCROLLWIN 0x08 /* bottom edge is at screen bottom? */ -#define _ISPAD 0x10 /* is this window a pad? */ -#define _HASMOVED 0x20 /* has cursor moved since last refresh? */ -#define _WRAPPED 0x40 /* cursor was just wrappped */ - -/* - * this value is used in the firstchar and lastchar fields to mark - * unchanged lines - */ -#define _NOCHANGE -1 - -/* - * this value is used in the oldindex field to mark lines created by insertions - * and scrolls. - */ -#define _NEWINDEX -1 - -typedef struct screen SCREEN; -typedef struct _win_st WINDOW; - -typedef chtype attr_t; /* ...must be at least as wide as chtype */ - -#ifdef _XOPEN_SOURCE_EXTENDED - -#if 0 -#ifdef mblen /* libutf8.h defines it w/o undefining first */ -#undef mblen -#endif -#include -#endif - -#if 0 -#include /* ...to get mbstate_t, etc. */ -#endif - -#if 0 -typedef unsigned short wchar_t; -#endif - -#if 0 -typedef unsigned int wint_t; -#endif - -#define CCHARW_MAX 5 -typedef struct -{ - attr_t attr; - wchar_t chars[CCHARW_MAX]; -#if 0 - int ext_color; /* color pair, must be more than 16-bits */ -#endif -} -cchar_t; - -#endif /* _XOPEN_SOURCE_EXTENDED */ - -struct ldat; - -struct _win_st -{ - NCURSES_SIZE_T _cury, _curx; /* current cursor position */ - - /* window location and size */ - NCURSES_SIZE_T _maxy, _maxx; /* maximums of x and y, NOT window size */ - NCURSES_SIZE_T _begy, _begx; /* screen coords of upper-left-hand corner */ - - short _flags; /* window state flags */ - - /* attribute tracking */ - attr_t _attrs; /* current attribute for non-space character */ - chtype _bkgd; /* current background char/attribute pair */ - - /* option values set by user */ - 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 */ - - /* global screen state */ - NCURSES_SIZE_T _regtop; /* top line of scrolling region */ - NCURSES_SIZE_T _regbottom; /* bottom line of scrolling region */ - - /* these are used only if this is a sub-window */ - 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 */ - - /* these are used only if this is a pad */ - struct pdat - { - NCURSES_SIZE_T _pad_y, _pad_x; - NCURSES_SIZE_T _pad_top, _pad_left; - NCURSES_SIZE_T _pad_bottom, _pad_right; - } _pad; - - NCURSES_SIZE_T _yoffset; /* real begy is _begy + _yoffset */ - -#ifdef _XOPEN_SOURCE_EXTENDED - cchar_t _bkgrnd; /* current background char/attribute pair */ -#if 0 - int _color; /* current color-pair for non-space character */ -#endif -#endif -}; - -extern NCURSES_EXPORT_VAR(WINDOW *) stdscr; -extern NCURSES_EXPORT_VAR(WINDOW *) curscr; -extern NCURSES_EXPORT_VAR(WINDOW *) newscr; - -extern NCURSES_EXPORT_VAR(int) LINES; -extern NCURSES_EXPORT_VAR(int) COLS; -extern NCURSES_EXPORT_VAR(int) TABSIZE; - -/* - * This global was an undocumented feature under AIX curses. - */ -extern NCURSES_EXPORT_VAR(int) ESCDELAY; /* ESC expire time in milliseconds */ - -extern NCURSES_EXPORT_VAR(char) ttytype[]; /* needed for backward compatibility */ - -/* - * These functions are extensions - not in XSI Curses. - */ -#if 1 -extern NCURSES_EXPORT(bool) is_term_resized (int, int); -extern NCURSES_EXPORT(char *) keybound (int, int); -extern NCURSES_EXPORT(const char *) curses_version (void); -extern NCURSES_EXPORT(int) assume_default_colors (int, int); -extern NCURSES_EXPORT(int) define_key (const char *, int); -extern NCURSES_EXPORT(int) key_defined (const char *); -extern NCURSES_EXPORT(int) keyok (int, bool); -extern NCURSES_EXPORT(int) resize_term (int, int); -extern NCURSES_EXPORT(int) resizeterm (int, int); -extern NCURSES_EXPORT(int) use_default_colors (void); -extern NCURSES_EXPORT(int) use_extended_names (bool); -extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int); -#else -#define curses_version() NCURSES_VERSION -#endif - -/* - * This is an extension to support events... - */ -#if 1 -#ifdef NCURSES_WGETCH_EVENTS -#if !defined(__BEOS__) /* Fix _nc_timed_wait() on BEOS... */ -# define NCURSES_EVENT_VERSION 1 -#endif /* !defined(__BEOS__) */ - -/* - * Bits to set in _nc_event.data.flags - */ -# define _NC_EVENT_TIMEOUT_MSEC 1 -# define _NC_EVENT_FILE 2 -# define _NC_EVENT_FILE_READABLE 2 -# if 0 /* Not supported yet... */ -# define _NC_EVENT_FILE_WRITABLE 4 -# define _NC_EVENT_FILE_EXCEPTION 8 -# endif - -typedef struct -{ - int type; - union - { - long timeout_msec; /* _NC_EVENT_TIMEOUT_MSEC */ - struct - { - unsigned int flags; - int fd; - unsigned int result; - } fev; /* _NC_EVENT_FILE */ - } data; -} _nc_event; - -typedef struct -{ - int count; - int result_flags; /* _NC_EVENT_TIMEOUT_MSEC or _NC_EVENT_FILE_READABLE */ - _nc_event *events[1]; -} _nc_eventlist; - -extern NCURSES_EXPORT(int) wgetch_events(WINDOW *, _nc_eventlist *); /* experimental */ -extern NCURSES_EXPORT(int) wgetnstr_events(WINDOW *,char *,int,_nc_eventlist *);/* experimental */ - -#endif /* NCURSES_WGETCH_EVENTS */ -#endif /* NCURSES_EXT_FUNCS */ - -/* - * GCC (and some other compilers) define '__attribute__'; we're using this - * macro to alert the compiler to flag inconsistencies in printf/scanf-like - * function calls. Just in case '__attribute__' isn't defined, make a dummy. - * Old versions of G++ do not accept it anyway, at least not consistently with - * GCC. - */ -#if !(defined(__GNUC__) || defined(__GNUG__) || defined(__attribute__)) -#define __attribute__(p) /* nothing */ -#endif - -/* - * We cannot define these in ncurses_cfg.h, since they require parameters to be - * passed (that's non-portable). - */ -#ifndef GCC_PRINTFLIKE -#if defined(GCC_PRINTF) && !defined(printf) -#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var))) -#else -#define GCC_PRINTFLIKE(fmt,var) /*nothing*/ -#endif -#endif - -#ifndef GCC_SCANFLIKE -#if defined(GCC_SCANF) && !defined(scanf) -#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var))) -#else -#define GCC_SCANFLIKE(fmt,var) /*nothing*/ -#endif -#endif - -#ifndef GCC_NORETURN -#define GCC_NORETURN /* nothing */ -#endif - -#ifndef GCC_UNUSED -#define GCC_UNUSED /* nothing */ -#endif - -/* - * Function prototypes. This is the complete XSI Curses list of required - * functions. Those marked `generated' will have sources generated from the - * macro definitions later in this file, in order to satisfy XPG4.2 - * requirements. - */ - -extern NCURSES_EXPORT(int) addch (const chtype); /* generated */ -extern NCURSES_EXPORT(int) addchnstr (const chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) addchstr (const chtype *); /* generated */ -extern NCURSES_EXPORT(int) addnstr (const char *, int); /* generated */ -extern NCURSES_EXPORT(int) addstr (const char *); /* generated */ -extern NCURSES_EXPORT(int) attroff (NCURSES_ATTR_T); /* generated */ -extern NCURSES_EXPORT(int) attron (NCURSES_ATTR_T); /* generated */ -extern NCURSES_EXPORT(int) attrset (NCURSES_ATTR_T); /* generated */ -extern NCURSES_EXPORT(int) attr_get (attr_t *, short *, void *); /* generated */ -extern NCURSES_EXPORT(int) attr_off (attr_t, void *); /* generated */ -extern NCURSES_EXPORT(int) attr_on (attr_t, void *); /* generated */ -extern NCURSES_EXPORT(int) attr_set (attr_t, short, void *); /* generated */ -extern NCURSES_EXPORT(int) baudrate (void); /* implemented */ -extern NCURSES_EXPORT(int) beep (void); /* implemented */ -extern NCURSES_EXPORT(int) bkgd (chtype); /* generated */ -extern NCURSES_EXPORT(void) bkgdset (chtype); /* generated */ -extern NCURSES_EXPORT(int) border (chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype); /* generated */ -extern NCURSES_EXPORT(int) box (WINDOW *, chtype, chtype); /* generated */ -extern NCURSES_EXPORT(bool) can_change_color (void); /* implemented */ -extern NCURSES_EXPORT(int) cbreak (void); /* implemented */ -extern NCURSES_EXPORT(int) chgat (int, attr_t, short, const void *); /* generated */ -extern NCURSES_EXPORT(int) clear (void); /* generated */ -extern NCURSES_EXPORT(int) clearok (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) clrtobot (void); /* generated */ -extern NCURSES_EXPORT(int) clrtoeol (void); /* generated */ -extern NCURSES_EXPORT(int) color_content (short,short*,short*,short*); /* implemented */ -extern NCURSES_EXPORT(int) color_set (short,void*); /* generated */ -extern NCURSES_EXPORT(int) COLOR_PAIR (int); /* generated */ -extern NCURSES_EXPORT(int) copywin (const WINDOW*,WINDOW*,int,int,int,int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) curs_set (int); /* implemented */ -extern NCURSES_EXPORT(int) def_prog_mode (void); /* implemented */ -extern NCURSES_EXPORT(int) def_shell_mode (void); /* implemented */ -extern NCURSES_EXPORT(int) delay_output (int); /* implemented */ -extern NCURSES_EXPORT(int) delch (void); /* generated */ -extern NCURSES_EXPORT(void) delscreen (SCREEN *); /* implemented */ -extern NCURSES_EXPORT(int) delwin (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) deleteln (void); /* generated */ -extern NCURSES_EXPORT(WINDOW *) derwin (WINDOW *,int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) doupdate (void); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) dupwin (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) echo (void); /* implemented */ -extern NCURSES_EXPORT(int) echochar (const chtype); /* generated */ -extern NCURSES_EXPORT(int) erase (void); /* generated */ -extern NCURSES_EXPORT(int) endwin (void); /* implemented */ -extern NCURSES_EXPORT(char) erasechar (void); /* implemented */ -extern NCURSES_EXPORT(void) filter (void); /* implemented */ -extern NCURSES_EXPORT(int) flash (void); /* implemented */ -extern NCURSES_EXPORT(int) flushinp (void); /* implemented */ -extern NCURSES_EXPORT(chtype) getbkgd (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) getch (void); /* generated */ -extern NCURSES_EXPORT(int) getnstr (char *, int); /* generated */ -extern NCURSES_EXPORT(int) getstr (char *); /* generated */ -extern NCURSES_EXPORT(WINDOW *) getwin (FILE *); /* implemented */ -extern NCURSES_EXPORT(int) halfdelay (int); /* implemented */ -extern NCURSES_EXPORT(bool) has_colors (void); /* implemented */ -extern NCURSES_EXPORT(bool) has_ic (void); /* implemented */ -extern NCURSES_EXPORT(bool) has_il (void); /* implemented */ -extern NCURSES_EXPORT(int) hline (chtype, int); /* generated */ -extern NCURSES_EXPORT(void) idcok (WINDOW *, bool); /* implemented */ -extern NCURSES_EXPORT(int) idlok (WINDOW *, bool); /* implemented */ -extern NCURSES_EXPORT(void) immedok (WINDOW *, bool); /* implemented */ -extern NCURSES_EXPORT(chtype) inch (void); /* generated */ -extern NCURSES_EXPORT(int) inchnstr (chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) inchstr (chtype *); /* generated */ -extern NCURSES_EXPORT(WINDOW *) initscr (void); /* implemented */ -extern NCURSES_EXPORT(int) init_color (short,short,short,short); /* implemented */ -extern NCURSES_EXPORT(int) init_pair (short,short,short); /* implemented */ -extern NCURSES_EXPORT(int) innstr (char *, int); /* generated */ -extern NCURSES_EXPORT(int) insch (chtype); /* generated */ -extern NCURSES_EXPORT(int) insdelln (int); /* generated */ -extern NCURSES_EXPORT(int) insertln (void); /* generated */ -extern NCURSES_EXPORT(int) insnstr (const char *, int); /* generated */ -extern NCURSES_EXPORT(int) insstr (const char *); /* generated */ -extern NCURSES_EXPORT(int) instr (char *); /* generated */ -extern NCURSES_EXPORT(int) intrflush (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(bool) isendwin (void); /* implemented */ -extern NCURSES_EXPORT(bool) is_linetouched (WINDOW *,int); /* implemented */ -extern NCURSES_EXPORT(bool) is_wintouched (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(NCURSES_CONST char *) keyname (int); /* implemented */ -extern NCURSES_EXPORT(int) keypad (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(char) killchar (void); /* implemented */ -extern NCURSES_EXPORT(int) leaveok (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(char *) longname (void); /* implemented */ -extern NCURSES_EXPORT(int) meta (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) move (int, int); /* generated */ -extern NCURSES_EXPORT(int) mvaddch (int, int, const chtype); /* generated */ -extern NCURSES_EXPORT(int) mvaddchnstr (int, int, const chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) mvaddchstr (int, int, const chtype *); /* generated */ -extern NCURSES_EXPORT(int) mvaddnstr (int, int, const char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvaddstr (int, int, const char *); /* generated */ -extern NCURSES_EXPORT(int) mvchgat (int, int, int, attr_t, short, const void *); /* generated */ -extern NCURSES_EXPORT(int) mvcur (int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) mvdelch (int, int); /* generated */ -extern NCURSES_EXPORT(int) mvderwin (WINDOW *, int, int); /* implemented */ -extern NCURSES_EXPORT(int) mvgetch (int, int); /* generated */ -extern NCURSES_EXPORT(int) mvgetnstr (int, int, char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvgetstr (int, int, char *); /* generated */ -extern NCURSES_EXPORT(int) mvhline (int, int, chtype, int); /* generated */ -extern NCURSES_EXPORT(chtype) mvinch (int, int); /* generated */ -extern NCURSES_EXPORT(int) mvinchnstr (int, int, chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) mvinchstr (int, int, chtype *); /* generated */ -extern NCURSES_EXPORT(int) mvinnstr (int, int, char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvinsch (int, int, chtype); /* generated */ -extern NCURSES_EXPORT(int) mvinsnstr (int, int, const char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvinsstr (int, int, const char *); /* generated */ -extern NCURSES_EXPORT(int) mvinstr (int, int, char *); /* generated */ -extern NCURSES_EXPORT(int) mvprintw (int,int, const char *,...) /* implemented */ - GCC_PRINTFLIKE(3,4); -extern NCURSES_EXPORT(int) mvscanw (int,int, NCURSES_CONST char *,...) /* implemented */ - GCC_SCANFLIKE(3,4); -extern NCURSES_EXPORT(int) mvvline (int, int, chtype, int); /* generated */ -extern NCURSES_EXPORT(int) mvwaddch (WINDOW *, int, int, const chtype); /* generated */ -extern NCURSES_EXPORT(int) mvwaddchnstr (WINDOW *, int, int, const chtype *, int);/* generated */ -extern NCURSES_EXPORT(int) mvwaddchstr (WINDOW *, int, int, const chtype *); /* generated */ -extern NCURSES_EXPORT(int) mvwaddnstr (WINDOW *, int, int, const char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwaddstr (WINDOW *, int, int, const char *); /* generated */ -extern NCURSES_EXPORT(int) mvwchgat (WINDOW *, int, int, int, attr_t, short, const void *);/* generated */ -extern NCURSES_EXPORT(int) mvwdelch (WINDOW *, int, int); /* generated */ -extern NCURSES_EXPORT(int) mvwgetch (WINDOW *, int, int); /* generated */ -extern NCURSES_EXPORT(int) mvwgetnstr (WINDOW *, int, int, char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwgetstr (WINDOW *, int, int, char *); /* generated */ -extern NCURSES_EXPORT(int) mvwhline (WINDOW *, int, int, chtype, int); /* generated */ -extern NCURSES_EXPORT(int) mvwin (WINDOW *,int,int); /* implemented */ -extern NCURSES_EXPORT(chtype) mvwinch (WINDOW *, int, int); /* generated */ -extern NCURSES_EXPORT(int) mvwinchnstr (WINDOW *, int, int, chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwinchstr (WINDOW *, int, int, chtype *); /* generated */ -extern NCURSES_EXPORT(int) mvwinnstr (WINDOW *, int, int, char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwinsch (WINDOW *, int, int, chtype); /* generated */ -extern NCURSES_EXPORT(int) mvwinsnstr (WINDOW *, int, int, const char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwinsstr (WINDOW *, int, int, const char *); /* generated */ -extern NCURSES_EXPORT(int) mvwinstr (WINDOW *, int, int, char *); /* generated */ -extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...) /* implemented */ - GCC_PRINTFLIKE(4,5); -extern NCURSES_EXPORT(int) mvwscanw (WINDOW *,int,int, NCURSES_CONST char *,...) /* implemented */ - GCC_SCANFLIKE(4,5); -extern NCURSES_EXPORT(int) mvwvline (WINDOW *,int, int, chtype, int); /* generated */ -extern NCURSES_EXPORT(int) napms (int); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) newpad (int,int); /* implemented */ -extern NCURSES_EXPORT(SCREEN *) newterm (NCURSES_CONST char *,FILE *,FILE *); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) newwin (int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) nl (void); /* implemented */ -extern NCURSES_EXPORT(int) nocbreak (void); /* implemented */ -extern NCURSES_EXPORT(int) nodelay (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) noecho (void); /* implemented */ -extern NCURSES_EXPORT(int) nonl (void); /* implemented */ -extern NCURSES_EXPORT(void) noqiflush (void); /* implemented */ -extern NCURSES_EXPORT(int) noraw (void); /* implemented */ -extern NCURSES_EXPORT(int) notimeout (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) overlay (const WINDOW*,WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) overwrite (const WINDOW*,WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) pair_content (short,short*,short*); /* implemented */ -extern NCURSES_EXPORT(int) PAIR_NUMBER (int); /* generated */ -extern NCURSES_EXPORT(int) pechochar (WINDOW *, const chtype); /* implemented */ -extern NCURSES_EXPORT(int) pnoutrefresh (WINDOW*,int,int,int,int,int,int);/* implemented */ -extern NCURSES_EXPORT(int) prefresh (WINDOW *,int,int,int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) printw (const char *,...) /* implemented */ - GCC_PRINTFLIKE(1,2); -extern NCURSES_EXPORT(int) putp (const char *); /* implemented */ -extern NCURSES_EXPORT(int) putwin (WINDOW *, FILE *); /* implemented */ -extern NCURSES_EXPORT(void) qiflush (void); /* implemented */ -extern NCURSES_EXPORT(int) raw (void); /* implemented */ -extern NCURSES_EXPORT(int) redrawwin (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) refresh (void); /* generated */ -extern NCURSES_EXPORT(int) resetty (void); /* implemented */ -extern NCURSES_EXPORT(int) reset_prog_mode (void); /* implemented */ -extern NCURSES_EXPORT(int) reset_shell_mode (void); /* implemented */ -extern NCURSES_EXPORT(int) ripoffline (int, int (*)(WINDOW *, int)); /* implemented */ -extern NCURSES_EXPORT(int) savetty (void); /* implemented */ -extern NCURSES_EXPORT(int) scanw (NCURSES_CONST char *,...) /* implemented */ - GCC_SCANFLIKE(1,2); -extern NCURSES_EXPORT(int) scr_dump (const char *); /* implemented */ -extern NCURSES_EXPORT(int) scr_init (const char *); /* implemented */ -extern NCURSES_EXPORT(int) scrl (int); /* generated */ -extern NCURSES_EXPORT(int) scroll (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) scrollok (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) scr_restore (const char *); /* implemented */ -extern NCURSES_EXPORT(int) scr_set (const char *); /* implemented */ -extern NCURSES_EXPORT(int) setscrreg (int,int); /* generated */ -extern NCURSES_EXPORT(SCREEN *) set_term (SCREEN *); /* implemented */ -extern NCURSES_EXPORT(int) slk_attroff (const chtype); /* implemented */ -extern NCURSES_EXPORT(int) slk_attr_off (const attr_t, void *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) slk_attron (const chtype); /* implemented */ -extern NCURSES_EXPORT(int) slk_attr_on (attr_t,void*); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) slk_attrset (const chtype); /* implemented */ -extern NCURSES_EXPORT(attr_t) slk_attr (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_attr_set (const attr_t,short,void*); /* implemented */ -extern NCURSES_EXPORT(int) slk_clear (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_color (short); /* implemented */ -extern NCURSES_EXPORT(int) slk_init (int); /* implemented */ -extern NCURSES_EXPORT(char *) slk_label (int); /* implemented */ -extern NCURSES_EXPORT(int) slk_noutrefresh (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_refresh (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_restore (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_set (int,const char *,int); /* implemented */ -extern NCURSES_EXPORT(int) slk_touch (void); /* implemented */ -extern NCURSES_EXPORT(int) standout (void); /* generated */ -extern NCURSES_EXPORT(int) standend (void); /* generated */ -extern NCURSES_EXPORT(int) start_color (void); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) subpad (WINDOW *, int, int, int, int); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *,int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) syncok (WINDOW *, bool); /* implemented */ -extern NCURSES_EXPORT(chtype) termattrs (void); /* implemented */ -extern NCURSES_EXPORT(char *) termname (void); /* implemented */ -extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *); /* implemented */ -extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *); /* implemented */ -extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *); /* implemented */ -extern NCURSES_EXPORT(void) timeout (int); /* generated */ -extern NCURSES_EXPORT(int) touchline (WINDOW *, int, int); /* generated */ -extern NCURSES_EXPORT(int) touchwin (WINDOW *); /* generated */ -extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* implemented */ -extern NCURSES_EXPORT(int) typeahead (int); /* implemented */ -extern NCURSES_EXPORT(int) ungetch (int); /* implemented */ -extern NCURSES_EXPORT(int) untouchwin (WINDOW *); /* generated */ -extern NCURSES_EXPORT(void) use_env (bool); /* implemented */ -extern NCURSES_EXPORT(int) vidattr (chtype); /* implemented */ -extern NCURSES_EXPORT(int) vidputs (chtype, int (*)(int)); /* implemented */ -extern NCURSES_EXPORT(int) vline (chtype, int); /* generated */ -extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *,va_list); /* implemented */ -extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *,va_list); /* generated */ -extern NCURSES_EXPORT(int) vwscanw (WINDOW *, NCURSES_CONST char *,va_list); /* implemented */ -extern NCURSES_EXPORT(int) vw_scanw (WINDOW *, NCURSES_CONST char *,va_list); /* generated */ -extern NCURSES_EXPORT(int) waddch (WINDOW *, const chtype); /* implemented */ -extern NCURSES_EXPORT(int) waddchnstr (WINDOW *,const chtype *,int); /* implemented */ -extern NCURSES_EXPORT(int) waddchstr (WINDOW *,const chtype *); /* generated */ -extern NCURSES_EXPORT(int) waddnstr (WINDOW *,const char *,int); /* implemented */ -extern NCURSES_EXPORT(int) waddstr (WINDOW *,const char *); /* generated */ -extern NCURSES_EXPORT(int) wattron (WINDOW *, int); /* generated */ -extern NCURSES_EXPORT(int) wattroff (WINDOW *, int); /* generated */ -extern NCURSES_EXPORT(int) wattrset (WINDOW *, int); /* generated */ -extern NCURSES_EXPORT(int) wattr_get (WINDOW *, attr_t *, short *, void *); /* generated */ -extern NCURSES_EXPORT(int) wattr_on (WINDOW *, attr_t, void *); /* implemented */ -extern NCURSES_EXPORT(int) wattr_off (WINDOW *, attr_t, void *); /* implemented */ -extern NCURSES_EXPORT(int) wattr_set (WINDOW *, attr_t, short, void *); /* generated */ -extern NCURSES_EXPORT(int) wbkgd (WINDOW *, chtype); /* implemented */ -extern NCURSES_EXPORT(void) wbkgdset (WINDOW *,chtype); /* implemented */ -extern NCURSES_EXPORT(int) wborder (WINDOW *,chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype); /* implemented */ -extern NCURSES_EXPORT(int) wchgat (WINDOW *, int, attr_t, short, const void *);/* implemented */ -extern NCURSES_EXPORT(int) wclear (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wclrtobot (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wclrtoeol (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wcolor_set (WINDOW*,short,void*); /* implemented */ -extern NCURSES_EXPORT(void) wcursyncup (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wdelch (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wdeleteln (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) wechochar (WINDOW *, const chtype); /* implemented */ -extern NCURSES_EXPORT(int) werase (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wgetch (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int); /* implemented */ -extern NCURSES_EXPORT(int) wgetstr (WINDOW *, char *); /* generated */ -extern NCURSES_EXPORT(int) whline (WINDOW *, chtype, int); /* implemented */ -extern NCURSES_EXPORT(chtype) winch (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) winchnstr (WINDOW *, chtype *, int); /* implemented */ -extern NCURSES_EXPORT(int) winchstr (WINDOW *, chtype *); /* generated */ -extern NCURSES_EXPORT(int) winnstr (WINDOW *, char *, int); /* implemented */ -extern NCURSES_EXPORT(int) winsch (WINDOW *, chtype); /* implemented */ -extern NCURSES_EXPORT(int) winsdelln (WINDOW *,int); /* implemented */ -extern NCURSES_EXPORT(int) winsertln (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) winsnstr (WINDOW *, const char *,int); /* implemented */ -extern NCURSES_EXPORT(int) winsstr (WINDOW *, const char *); /* generated */ -extern NCURSES_EXPORT(int) winstr (WINDOW *, char *); /* generated */ -extern NCURSES_EXPORT(int) wmove (WINDOW *,int,int); /* implemented */ -extern NCURSES_EXPORT(int) wnoutrefresh (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wprintw (WINDOW *, const char *,...) /* implemented */ - GCC_PRINTFLIKE(2,3); -extern NCURSES_EXPORT(int) wredrawln (WINDOW *,int,int); /* implemented */ -extern NCURSES_EXPORT(int) wrefresh (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wscanw (WINDOW *, NCURSES_CONST char *,...) /* implemented */ - GCC_SCANFLIKE(2,3); -extern NCURSES_EXPORT(int) wscrl (WINDOW *,int); /* implemented */ -extern NCURSES_EXPORT(int) wsetscrreg (WINDOW *,int,int); /* implemented */ -extern NCURSES_EXPORT(int) wstandout (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) wstandend (WINDOW *); /* generated */ -extern NCURSES_EXPORT(void) wsyncdown (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(void) wsyncup (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(void) wtimeout (WINDOW *,int); /* implemented */ -extern NCURSES_EXPORT(int) wtouchln (WINDOW *,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) wvline (WINDOW *,chtype,int); /* implemented */ - -/* - * vid_attr() was implemented originally based on the draft of XSI curses. - */ -#ifndef _XOPEN_SOURCE_EXTENDED -#define vid_attr(a,pair,opts) vidattr(a) -#endif - -/* attributes */ - -#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) - -/* - * These apply to the first 256 color pairs. - */ -#define COLOR_PAIR(n) NCURSES_BITS(n, 0) -#define PAIR_NUMBER(a) (NCURSES_CAST(int,(((a) & A_COLOR) >> NCURSES_ATTR_SHIFT))) - -/* - * pseudo functions - */ -#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 gettmode() - -#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 getsyx(y,x) do { if(newscr->_leaveok) (y)=(x)=-1; \ - else getyx(newscr,(y),(x)); \ - } while(0) -#define setsyx(y,x) do { if((y)==-1 && (x)==-1) newscr->_leaveok=TRUE; \ - else {newscr->_leaveok=FALSE;wmove(newscr,(y),(x));} \ - } while(0) - -/* It seems older SYSV curses versions define these */ -#define getattrs(win) ((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) - -#if 0 -#define wattrset(win,at) ((win)->_color = PAIR_NUMBER(at), \ - (win)->_attrs = (at)) -#else -#define wattrset(win,at) ((win)->_attrs = (at)) -#endif - -#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) - -/* - * pseudo functions for standard screen - */ - -#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) - -/* - * mv functions - */ - -#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) - -/* - * Some wide-character functions can be implemented without the extensions. - */ -#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)) - -#if 0 -#define wattr_set(win,a,p,opts) ((win)->_attrs = ((a) & ~A_COLOR), \ - (win)->_color = (p), \ - OK) -#define wattr_get(win,a,p,opts) ((void)((a) != 0 && (*(a) = (win)->_attrs)), \ - (void)((p) != 0 && (*(p) = (win)->_color)), \ - OK) -#else -#define wattr_set(win,a,p,opts) ((win)->_attrs = (((a) & ~A_COLOR) | COLOR_PAIR(p)), OK) -#define wattr_get(win,a,p,opts) ((void)((a) != 0 && (*(a) = (win)->_attrs)), \ - (void)((p) != 0 && (*(p) = PAIR_NUMBER((win)->_attrs))), \ - OK) -#endif - -/* - * XSI curses deprecates SVr4 vwprintw/vwscanw, which are supposed to use - * varargs.h. It adds new calls vw_printw/vw_scanw, which are supposed to - * use POSIX stdarg.h. The ncurses versions of vwprintw/vwscanw already - * use stdarg.h, so... - */ -#define vw_printw vwprintw -#define vw_scanw vwscanw - -/* - * Export fallback function for use in C++ binding. - */ -#if !1 -#define vsscanf(a,b,c) _nc_vsscanf(a,b,c) -NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list); -#endif - -/* - * Pseudo-character tokens outside ASCII range. The curses wgetch() function - * will return any given one of these only if the corresponding k- capability - * is defined in your terminal's terminfo entry. - * - * Some keys (KEY_A1, etc) are arranged like this: - * a1 up a3 - * left b2 right - * c1 down c3 - * - * A few key codes do not depend upon the terminfo entry. - */ -#define KEY_CODE_YES 0400 /* A wchar_t contains a key code */ -#define KEY_MIN 0401 /* Minimum curses key */ -#define KEY_BREAK 0401 /* Break key (unreliable) */ -#define KEY_SRESET 0530 /* Soft (partial) reset (unreliable) */ -#define KEY_RESET 0531 /* Reset or hard reset (unreliable) */ -/* - * These definitions were generated by ./MKkey_defs.sh ./Caps - */ -#define KEY_DOWN 0402 /* down-arrow key */ -#define KEY_UP 0403 /* up-arrow key */ -#define KEY_LEFT 0404 /* left-arrow key */ -#define KEY_RIGHT 0405 /* right-arrow key */ -#define KEY_HOME 0406 /* home key */ -#define KEY_BACKSPACE 0407 /* backspace key */ -#define KEY_F0 0410 /* Function keys. Space for 64 */ -#define KEY_F(n) (KEY_F0+(n)) /* Value of function key n */ -#define KEY_DL 0510 /* delete-line key */ -#define KEY_IL 0511 /* insert-line key */ -#define KEY_DC 0512 /* delete-character key */ -#define KEY_IC 0513 /* insert-character key */ -#define KEY_EIC 0514 /* sent by rmir or smir in insert mode */ -#define KEY_CLEAR 0515 /* clear-screen or erase key */ -#define KEY_EOS 0516 /* clear-to-end-of-screen key */ -#define KEY_EOL 0517 /* clear-to-end-of-line key */ -#define KEY_SF 0520 /* scroll-forward key */ -#define KEY_SR 0521 /* scroll-backward key */ -#define KEY_NPAGE 0522 /* next-page key */ -#define KEY_PPAGE 0523 /* previous-page key */ -#define KEY_STAB 0524 /* set-tab key */ -#define KEY_CTAB 0525 /* clear-tab key */ -#define KEY_CATAB 0526 /* clear-all-tabs key */ -#define KEY_ENTER 0527 /* enter/send key */ -#define KEY_PRINT 0532 /* print key */ -#define KEY_LL 0533 /* lower-left key (home down) */ -#define KEY_A1 0534 /* upper left of keypad */ -#define KEY_A3 0535 /* upper right of keypad */ -#define KEY_B2 0536 /* center of keypad */ -#define KEY_C1 0537 /* lower left of keypad */ -#define KEY_C3 0540 /* lower right of keypad */ -#define KEY_BTAB 0541 /* back-tab key */ -#define KEY_BEG 0542 /* begin key */ -#define KEY_CANCEL 0543 /* cancel key */ -#define KEY_CLOSE 0544 /* close key */ -#define KEY_COMMAND 0545 /* command key */ -#define KEY_COPY 0546 /* copy key */ -#define KEY_CREATE 0547 /* create key */ -#define KEY_END 0550 /* end key */ -#define KEY_EXIT 0551 /* exit key */ -#define KEY_FIND 0552 /* find key */ -#define KEY_HELP 0553 /* help key */ -#define KEY_MARK 0554 /* mark key */ -#define KEY_MESSAGE 0555 /* message key */ -#define KEY_MOVE 0556 /* move key */ -#define KEY_NEXT 0557 /* next key */ -#define KEY_OPEN 0560 /* open key */ -#define KEY_OPTIONS 0561 /* options key */ -#define KEY_PREVIOUS 0562 /* previous key */ -#define KEY_REDO 0563 /* redo key */ -#define KEY_REFERENCE 0564 /* reference key */ -#define KEY_REFRESH 0565 /* refresh key */ -#define KEY_REPLACE 0566 /* replace key */ -#define KEY_RESTART 0567 /* restart key */ -#define KEY_RESUME 0570 /* resume key */ -#define KEY_SAVE 0571 /* save key */ -#define KEY_SBEG 0572 /* shifted begin key */ -#define KEY_SCANCEL 0573 /* shifted cancel key */ -#define KEY_SCOMMAND 0574 /* shifted command key */ -#define KEY_SCOPY 0575 /* shifted copy key */ -#define KEY_SCREATE 0576 /* shifted create key */ -#define KEY_SDC 0577 /* shifted delete-character key */ -#define KEY_SDL 0600 /* shifted delete-line key */ -#define KEY_SELECT 0601 /* select key */ -#define KEY_SEND 0602 /* shifted end key */ -#define KEY_SEOL 0603 /* shifted clear-to-end-of-line key */ -#define KEY_SEXIT 0604 /* shifted exit key */ -#define KEY_SFIND 0605 /* shifted find key */ -#define KEY_SHELP 0606 /* shifted help key */ -#define KEY_SHOME 0607 /* shifted home key */ -#define KEY_SIC 0610 /* shifted insert-character key */ -#define KEY_SLEFT 0611 /* shifted left-arrow key */ -#define KEY_SMESSAGE 0612 /* shifted message key */ -#define KEY_SMOVE 0613 /* shifted move key */ -#define KEY_SNEXT 0614 /* shifted next key */ -#define KEY_SOPTIONS 0615 /* shifted options key */ -#define KEY_SPREVIOUS 0616 /* shifted previous key */ -#define KEY_SPRINT 0617 /* shifted print key */ -#define KEY_SREDO 0620 /* shifted redo key */ -#define KEY_SREPLACE 0621 /* shifted replace key */ -#define KEY_SRIGHT 0622 /* shifted right-arrow key */ -#define KEY_SRSUME 0623 /* shifted resume key */ -#define KEY_SSAVE 0624 /* shifted save key */ -#define KEY_SSUSPEND 0625 /* shifted suspend key */ -#define KEY_SUNDO 0626 /* shifted undo key */ -#define KEY_SUSPEND 0627 /* suspend key */ -#define KEY_UNDO 0630 /* undo key */ -#define KEY_MOUSE 0631 /* Mouse event has occurred */ -#define KEY_RESIZE 0632 /* Terminal resize event */ -#define KEY_EVENT 0633 /* We were interrupted by an event */ - -#define KEY_MAX 0777 /* Maximum key value is 0633 */ -/* $Id: curses.tail,v 1.12 2005/03/27 00:09:51 tom Exp $ */ - -/* mouse interface */ - -#if NCURSES_MOUSE_VERSION > 1 -#define NCURSES_MOUSE_MASK(b,m) ((m) << (((b) - 1) * 5)) -#else -#define NCURSES_MOUSE_MASK(b,m) ((m) << (((b) - 1) * 6)) -#endif - -#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 - -/* event masks */ -#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) - -/* - * In 32 bits the version-1 scheme does not provide enough space for a 5th - * button, unless we choose to change the ABI by omitting the reserved-events. - */ -#if NCURSES_MOUSE_VERSION > 1 - -#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) - -#else - -#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 BUTTON_CTRL NCURSES_MOUSE_MASK(5, 0001L) -#define BUTTON_SHIFT NCURSES_MOUSE_MASK(5, 0002L) -#define BUTTON_ALT NCURSES_MOUSE_MASK(5, 0004L) -#define REPORT_MOUSE_POSITION NCURSES_MOUSE_MASK(5, 0010L) - -#endif - -#define ALL_MOUSE_EVENTS (REPORT_MOUSE_POSITION - 1) - -/* macros to extract single event-bits from masks */ -#define BUTTON_RELEASE(e, x) ((e) & (001 << (6 * ((x) - 1)))) -#define BUTTON_PRESS(e, x) ((e) & (002 << (6 * ((x) - 1)))) -#define BUTTON_CLICK(e, x) ((e) & (004 << (6 * ((x) - 1)))) -#define BUTTON_DOUBLE_CLICK(e, x) ((e) & (010 << (6 * ((x) - 1)))) -#define BUTTON_TRIPLE_CLICK(e, x) ((e) & (020 << (6 * ((x) - 1)))) -#define BUTTON_RESERVED_EVENT(e, x) ((e) & (040 << (6 * ((x) - 1)))) - -typedef struct -{ - short id; /* ID to distinguish multiple devices */ - int x, y, z; /* event coordinates (character-cell) */ - mmask_t bstate; /* button state bits */ -} -MEVENT; - -extern NCURSES_EXPORT(int) getmouse (MEVENT *); -extern NCURSES_EXPORT(int) ungetmouse (MEVENT *); -extern NCURSES_EXPORT(mmask_t) mousemask (mmask_t, mmask_t *); -extern NCURSES_EXPORT(bool) wenclose (const WINDOW *, int, int); -extern NCURSES_EXPORT(int) mouseinterval (int); -extern NCURSES_EXPORT(bool) wmouse_trafo (const WINDOW*, int*, int*, bool); -extern NCURSES_EXPORT(bool) mouse_trafo (int*, int*, bool); /* generated */ - -#define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen) - -/* other non-XSI functions */ - -extern NCURSES_EXPORT(int) mcprint (char *, int); /* direct data to printer */ -extern NCURSES_EXPORT(int) has_key (int); /* do we have given key? */ - -/* Debugging : use with libncurses_g.a */ - -extern NCURSES_EXPORT(void) _tracef (const char *, ...) GCC_PRINTFLIKE(1,2); -extern NCURSES_EXPORT(void) _tracedump (const char *, WINDOW *); -extern NCURSES_EXPORT(char *) _traceattr (attr_t); -extern NCURSES_EXPORT(char *) _traceattr2 (int, chtype); -extern NCURSES_EXPORT(char *) _nc_tracebits (void); -extern NCURSES_EXPORT(char *) _tracechar (int); -extern NCURSES_EXPORT(char *) _tracechtype (chtype); -extern NCURSES_EXPORT(char *) _tracechtype2 (int, chtype); -#ifdef _XOPEN_SOURCE_EXTENDED -#define _tracech_t _tracecchar_t -extern NCURSES_EXPORT(char *) _tracecchar_t (const cchar_t *); -#define _tracech_t2 _tracecchar_t2 -extern NCURSES_EXPORT(char *) _tracecchar_t2 (int, const cchar_t *); -#else -#define _tracech_t _tracechtype -#define _tracech_t2 _tracechtype2 -#endif -extern NCURSES_EXPORT(char *) _tracemouse (const MEVENT *); -extern NCURSES_EXPORT(void) trace (const unsigned int); - -/* trace masks */ -#define TRACE_DISABLE 0x0000 /* turn off tracing */ -#define TRACE_TIMES 0x0001 /* trace user and system times of updates */ -#define TRACE_TPUTS 0x0002 /* trace tputs calls */ -#define TRACE_UPDATE 0x0004 /* trace update actions, old & new screens */ -#define TRACE_MOVE 0x0008 /* trace cursor moves and scrolls */ -#define TRACE_CHARPUT 0x0010 /* trace all character outputs */ -#define TRACE_ORDINARY 0x001F /* trace all update actions */ -#define TRACE_CALLS 0x0020 /* trace all curses calls */ -#define TRACE_VIRTPUT 0x0040 /* trace virtual character puts */ -#define TRACE_IEVENT 0x0080 /* trace low-level input processing */ -#define TRACE_BITS 0x0100 /* trace state of TTY control bits */ -#define TRACE_ICALLS 0x0200 /* trace internal/nested calls */ -#define TRACE_CCALLS 0x0400 /* trace per-character calls */ -#define TRACE_DATABASE 0x0800 /* trace read/write of terminfo/termcap data */ -#define TRACE_ATTRS 0x1000 /* trace attribute updates */ - -#define TRACE_SHIFT 13 /* number of bits in the trace masks */ -#define TRACE_MAXIMUM ((1 << TRACE_SHIFT) - 1) /* maximum trace level */ - -#if defined(TRACE) || defined(NCURSES_TEST) -extern NCURSES_EXPORT_VAR(int) _nc_optimize_enable; /* enable optimizations */ -#ifdef _XOPEN_SOURCE_EXTENDED -extern NCURSES_EXPORT(const char *) _nc_viswbuf(const wchar_t *); -extern NCURSES_EXPORT(const char *) _nc_viswibuf(const wint_t *); -#endif -extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *); -#define OPTIMIZE_MVCUR 0x01 /* cursor movement optimization */ -#define OPTIMIZE_HASHMAP 0x02 /* diff hashing to detect scrolls */ -#define OPTIMIZE_SCROLL 0x04 /* scroll optimization */ -#define OPTIMIZE_ALL 0xff /* enable all optimizations (dflt) */ -#endif - -#ifdef __cplusplus - -/* these names conflict with STL */ -#undef box -#undef clear -#undef erase -#undef move -#undef refresh - -} -#endif - -#endif /* __NCURSES_H */ diff --git a/src/libs/ncurses/include/curses.h.in b/src/libs/ncurses/include/curses.h.in deleted file mode 100644 index 9e9077f041..0000000000 --- a/src/libs/ncurses/include/curses.h.in +++ /dev/null @@ -1,1067 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* $Id: curses.h.in,v 1.157 2005/07/02 16:58:28 tom Exp $ */ - -#ifndef __NCURSES_H -#define __NCURSES_H - -#define CURSES 1 -#define CURSES_H 1 - -/* This should be defined for the enhanced functionality to be visible. - * However, some of the wide-character (enhanced) functionality is missing. - * So we do not define it (yet). -#define _XOPEN_CURSES 1 - */ - -/* These are defined only in curses.h, and are used for conditional compiles */ -#define NCURSES_VERSION_MAJOR @NCURSES_MAJOR@ -#define NCURSES_VERSION_MINOR @NCURSES_MINOR@ -#define NCURSES_VERSION_PATCH @NCURSES_PATCH@ - -/* This is defined in more than one ncurses header, for identification */ -#undef NCURSES_VERSION -#define NCURSES_VERSION "@NCURSES_MAJOR@.@NCURSES_MINOR@" - -/* - * Identify the mouse encoding version. - */ -#define NCURSES_MOUSE_VERSION @NCURSES_MOUSE_VERSION@ - -/* - * Definitions to facilitate DLL's. - */ -#include - -/* - * User-definable tweak to disable the include of . - */ -#ifndef NCURSES_ENABLE_STDBOOL_H -#define NCURSES_ENABLE_STDBOOL_H @cf_cv_header_stdbool_h@ -#endif - -/* - * NCURSES_ATTR_T is used to quiet compiler warnings when building ncurses - * configured using --disable-macros. - */ -#ifdef NCURSES_NOMACROS -#define NCURSES_ATTR_T attr_t -#endif - -#ifndef NCURSES_ATTR_T -#define NCURSES_ATTR_T int -#endif - -/* - * Expands to 'const' if ncurses is configured using --enable-const. Note that - * doing so makes it incompatible with other implementations of X/Open Curses. - */ -#undef NCURSES_CONST -#define NCURSES_CONST @NCURSES_CONST@ - -/* - * The internal type used for color values - */ -#undef NCURSES_COLOR_T -#define NCURSES_COLOR_T short - -/* - * The internal type used for window dimensions. - */ -#undef NCURSES_SIZE_T -#define NCURSES_SIZE_T short - -/* - * NCURSES_CH_T is used in building the library, but not used otherwise in - * this header file, since that would make the normal/wide-character versions - * of the header incompatible. - */ -#undef NCURSES_CH_T -#define NCURSES_CH_T @NCURSES_CH_T@ - -#if @cf_cv_enable_lp64@ && defined(_LP64) -typedef unsigned chtype; -typedef unsigned mmask_t; -#else -typedef unsigned @cf_cv_typeof_chtype@ chtype; -typedef unsigned @cf_cv_typeof_mmask_t@ mmask_t; -#endif - -#include -#include -#include /* we need va_list */ -#ifdef _XOPEN_SOURCE_EXTENDED -#include /* we want wchar_t */ -#endif /* _XOPEN_SOURCE_EXTENDED */ - -/* XSI and SVr4 specify that curses implements 'bool'. However, C++ may also - * implement it. If so, we must use the C++ compiler's type to avoid conflict - * with other interfaces. - * - * A further complication is that may declare 'bool' to be a - * different type, such as an enum which is not necessarily compatible with - * C++. If we have , make 'bool' a macro, so users may #undef it. - * Otherwise, let it remain a typedef to avoid conflicts with other #define's. - * In either case, make a typedef for NCURSES_BOOL which can be used if needed - * from either C or C++. - */ - -#undef TRUE -#define TRUE 1 - -#undef FALSE -#define FALSE 0 - -typedef @cf_cv_type_of_bool@ NCURSES_BOOL; - -#if @USE_CXX_BOOL@ /* __cplusplus, etc. */ - -/* use the C++ compiler's bool type */ -#define NCURSES_BOOL bool - -#else /* c89, c99, etc. */ - -#if NCURSES_ENABLE_STDBOOL_H -#include -/* use whatever the C compiler decides bool really is */ -#define NCURSES_BOOL bool -#else -/* there is no predefined bool - use our own */ -#undef bool -#define bool NCURSES_BOOL -#endif - -#endif /* !__cplusplus, etc. */ - -#ifdef __cplusplus -extern "C" { -#define NCURSES_CAST(type,value) static_cast(value) -#else -#define NCURSES_CAST(type,value) (type)(value) -#endif - -/* - * XSI attributes. In the ncurses implementation, they are identical to the - * A_ attributes. - */ -#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 - -/* colors */ -extern NCURSES_EXPORT_VAR(int) COLORS; -extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS; - -#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 - -/* line graphics */ - -#if @BROKEN_LINKER@ -extern NCURSES_EXPORT_VAR(chtype*) _nc_acs_map(void); -#define acs_map (_nc_acs_map()) -#else -extern NCURSES_EXPORT_VAR(chtype) acs_map[]; -#endif - -#define NCURSES_ACS(c) (acs_map[NCURSES_CAST(unsigned char,c)]) - -/* VT100 symbols begin here */ -#define ACS_ULCORNER NCURSES_ACS('l') /* upper left corner */ -#define ACS_LLCORNER NCURSES_ACS('m') /* lower left corner */ -#define ACS_URCORNER NCURSES_ACS('k') /* upper right corner */ -#define ACS_LRCORNER NCURSES_ACS('j') /* lower right corner */ -#define ACS_LTEE NCURSES_ACS('t') /* tee pointing right */ -#define ACS_RTEE NCURSES_ACS('u') /* tee pointing left */ -#define ACS_BTEE NCURSES_ACS('v') /* tee pointing up */ -#define ACS_TTEE NCURSES_ACS('w') /* tee pointing down */ -#define ACS_HLINE NCURSES_ACS('q') /* horizontal line */ -#define ACS_VLINE NCURSES_ACS('x') /* vertical line */ -#define ACS_PLUS NCURSES_ACS('n') /* large plus or crossover */ -#define ACS_S1 NCURSES_ACS('o') /* scan line 1 */ -#define ACS_S9 NCURSES_ACS('s') /* scan line 9 */ -#define ACS_DIAMOND NCURSES_ACS('`') /* diamond */ -#define ACS_CKBOARD NCURSES_ACS('a') /* checker board (stipple) */ -#define ACS_DEGREE NCURSES_ACS('f') /* degree symbol */ -#define ACS_PLMINUS NCURSES_ACS('g') /* plus/minus */ -#define ACS_BULLET NCURSES_ACS('~') /* bullet */ -/* Teletype 5410v1 symbols begin here */ -#define ACS_LARROW NCURSES_ACS(',') /* arrow pointing left */ -#define ACS_RARROW NCURSES_ACS('+') /* arrow pointing right */ -#define ACS_DARROW NCURSES_ACS('.') /* arrow pointing down */ -#define ACS_UARROW NCURSES_ACS('-') /* arrow pointing up */ -#define ACS_BOARD NCURSES_ACS('h') /* board of squares */ -#define ACS_LANTERN NCURSES_ACS('i') /* lantern symbol */ -#define ACS_BLOCK NCURSES_ACS('0') /* solid square block */ -/* - * These aren't documented, but a lot of System Vs have them anyway - * (you can spot pprryyzz{{||}} in a lot of AT&T terminfo strings). - * The ACS_names may not match AT&T's, our source didn't know them. - */ -#define ACS_S3 NCURSES_ACS('p') /* scan line 3 */ -#define ACS_S7 NCURSES_ACS('r') /* scan line 7 */ -#define ACS_LEQUAL NCURSES_ACS('y') /* less/equal */ -#define ACS_GEQUAL NCURSES_ACS('z') /* greater/equal */ -#define ACS_PI NCURSES_ACS('{') /* Pi */ -#define ACS_NEQUAL NCURSES_ACS('|') /* not equal */ -#define ACS_STERLING NCURSES_ACS('}') /* UK pound sign */ - -/* - * Line drawing ACS names are of the form ACS_trbl, where t is the top, r - * is the right, b is the bottom, and l is the left. t, r, b, and l might - * be B (blank), S (single), D (double), or T (thick). The subset defined - * here only uses B and S. - */ -#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 - -#undef ERR -#define ERR (-1) - -#undef OK -#define OK (0) - -/* values for the _flags member */ -#define _SUBWIN 0x01 /* is this a sub-window? */ -#define _ENDLINE 0x02 /* is the window flush right? */ -#define _FULLWIN 0x04 /* is the window full-screen? */ -#define _SCROLLWIN 0x08 /* bottom edge is at screen bottom? */ -#define _ISPAD 0x10 /* is this window a pad? */ -#define _HASMOVED 0x20 /* has cursor moved since last refresh? */ -#define _WRAPPED 0x40 /* cursor was just wrappped */ - -/* - * this value is used in the firstchar and lastchar fields to mark - * unchanged lines - */ -#define _NOCHANGE -1 - -/* - * this value is used in the oldindex field to mark lines created by insertions - * and scrolls. - */ -#define _NEWINDEX -1 - -typedef struct screen SCREEN; -typedef struct _win_st WINDOW; - -typedef chtype attr_t; /* ...must be at least as wide as chtype */ - -#ifdef _XOPEN_SOURCE_EXTENDED - -#if @NCURSES_LIBUTF8@ -#ifdef mblen /* libutf8.h defines it w/o undefining first */ -#undef mblen -#endif -#include -#endif - -#if @NEED_WCHAR_H@ -#include /* ...to get mbstate_t, etc. */ -#endif - -#if @NCURSES_WCHAR_T@ -typedef unsigned short wchar_t@NCURSES_OK_WCHAR_T@; -#endif - -#if @NCURSES_WINT_T@ -typedef unsigned int wint_t@NCURSES_OK_WCHAR_T@; -#endif - -#define CCHARW_MAX 5 -typedef struct -{ - attr_t attr; - wchar_t chars[CCHARW_MAX]; -#if @NCURSES_EXT_COLORS@ - int ext_color; /* color pair, must be more than 16-bits */ -#endif -} -cchar_t; - -#endif /* _XOPEN_SOURCE_EXTENDED */ - -struct ldat; - -struct _win_st -{ - NCURSES_SIZE_T _cury, _curx; /* current cursor position */ - - /* window location and size */ - NCURSES_SIZE_T _maxy, _maxx; /* maximums of x and y, NOT window size */ - NCURSES_SIZE_T _begy, _begx; /* screen coords of upper-left-hand corner */ - - short _flags; /* window state flags */ - - /* attribute tracking */ - attr_t _attrs; /* current attribute for non-space character */ - chtype _bkgd; /* current background char/attribute pair */ - - /* option values set by user */ - 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 */ - - /* global screen state */ - NCURSES_SIZE_T _regtop; /* top line of scrolling region */ - NCURSES_SIZE_T _regbottom; /* bottom line of scrolling region */ - - /* these are used only if this is a sub-window */ - 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 */ - - /* these are used only if this is a pad */ - struct pdat - { - NCURSES_SIZE_T _pad_y, _pad_x; - NCURSES_SIZE_T _pad_top, _pad_left; - NCURSES_SIZE_T _pad_bottom, _pad_right; - } _pad; - - NCURSES_SIZE_T _yoffset; /* real begy is _begy + _yoffset */ - -#ifdef _XOPEN_SOURCE_EXTENDED - cchar_t _bkgrnd; /* current background char/attribute pair */ -#if @NCURSES_EXT_COLORS@ - int _color; /* current color-pair for non-space character */ -#endif -#endif -}; - -extern NCURSES_EXPORT_VAR(WINDOW *) stdscr; -extern NCURSES_EXPORT_VAR(WINDOW *) curscr; -extern NCURSES_EXPORT_VAR(WINDOW *) newscr; - -extern NCURSES_EXPORT_VAR(int) LINES; -extern NCURSES_EXPORT_VAR(int) COLS; -extern NCURSES_EXPORT_VAR(int) TABSIZE; - -/* - * This global was an undocumented feature under AIX curses. - */ -extern NCURSES_EXPORT_VAR(int) ESCDELAY; /* ESC expire time in milliseconds */ - -extern NCURSES_EXPORT_VAR(char) ttytype[]; /* needed for backward compatibility */ - -/* - * These functions are extensions - not in XSI Curses. - */ -#if @NCURSES_EXT_FUNCS@ -extern NCURSES_EXPORT(bool) is_term_resized (int, int); -extern NCURSES_EXPORT(char *) keybound (int, int); -extern NCURSES_EXPORT(const char *) curses_version (void); -extern NCURSES_EXPORT(int) assume_default_colors (int, int); -extern NCURSES_EXPORT(int) define_key (const char *, int); -extern NCURSES_EXPORT(int) key_defined (const char *); -extern NCURSES_EXPORT(int) keyok (int, bool); -extern NCURSES_EXPORT(int) resize_term (int, int); -extern NCURSES_EXPORT(int) resizeterm (int, int); -extern NCURSES_EXPORT(int) use_default_colors (void); -extern NCURSES_EXPORT(int) use_extended_names (bool); -extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int); -#else -#define curses_version() NCURSES_VERSION -#endif - -/* - * This is an extension to support events... - */ -#if @NCURSES_EXT_FUNCS@ -#ifdef NCURSES_WGETCH_EVENTS -#if !defined(__BEOS__) /* Fix _nc_timed_wait() on BEOS... */ -# define NCURSES_EVENT_VERSION 1 -#endif /* !defined(__BEOS__) */ - -/* - * Bits to set in _nc_event.data.flags - */ -# define _NC_EVENT_TIMEOUT_MSEC 1 -# define _NC_EVENT_FILE 2 -# define _NC_EVENT_FILE_READABLE 2 -# if 0 /* Not supported yet... */ -# define _NC_EVENT_FILE_WRITABLE 4 -# define _NC_EVENT_FILE_EXCEPTION 8 -# endif - -typedef struct -{ - int type; - union - { - long timeout_msec; /* _NC_EVENT_TIMEOUT_MSEC */ - struct - { - unsigned int flags; - int fd; - unsigned int result; - } fev; /* _NC_EVENT_FILE */ - } data; -} _nc_event; - -typedef struct -{ - int count; - int result_flags; /* _NC_EVENT_TIMEOUT_MSEC or _NC_EVENT_FILE_READABLE */ - _nc_event *events[1]; -} _nc_eventlist; - -extern NCURSES_EXPORT(int) wgetch_events(WINDOW *, _nc_eventlist *); /* experimental */ -extern NCURSES_EXPORT(int) wgetnstr_events(WINDOW *,char *,int,_nc_eventlist *);/* experimental */ - -#endif /* NCURSES_WGETCH_EVENTS */ -#endif /* NCURSES_EXT_FUNCS */ - -/* - * GCC (and some other compilers) define '__attribute__'; we're using this - * macro to alert the compiler to flag inconsistencies in printf/scanf-like - * function calls. Just in case '__attribute__' isn't defined, make a dummy. - * Old versions of G++ do not accept it anyway, at least not consistently with - * GCC. - */ -#if !(defined(__GNUC__) || defined(__GNUG__) || defined(__attribute__)) -#define __attribute__(p) /* nothing */ -#endif - -/* - * We cannot define these in ncurses_cfg.h, since they require parameters to be - * passed (that's non-portable). - */ -#ifndef GCC_PRINTFLIKE -#if defined(GCC_PRINTF) && !defined(printf) -#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var))) -#else -#define GCC_PRINTFLIKE(fmt,var) /*nothing*/ -#endif -#endif - -#ifndef GCC_SCANFLIKE -#if defined(GCC_SCANF) && !defined(scanf) -#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var))) -#else -#define GCC_SCANFLIKE(fmt,var) /*nothing*/ -#endif -#endif - -#ifndef GCC_NORETURN -#define GCC_NORETURN /* nothing */ -#endif - -#ifndef GCC_UNUSED -#define GCC_UNUSED /* nothing */ -#endif - -/* - * Function prototypes. This is the complete XSI Curses list of required - * functions. Those marked `generated' will have sources generated from the - * macro definitions later in this file, in order to satisfy XPG4.2 - * requirements. - */ - -extern NCURSES_EXPORT(int) addch (const chtype); /* generated */ -extern NCURSES_EXPORT(int) addchnstr (const chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) addchstr (const chtype *); /* generated */ -extern NCURSES_EXPORT(int) addnstr (const char *, int); /* generated */ -extern NCURSES_EXPORT(int) addstr (const char *); /* generated */ -extern NCURSES_EXPORT(int) attroff (NCURSES_ATTR_T); /* generated */ -extern NCURSES_EXPORT(int) attron (NCURSES_ATTR_T); /* generated */ -extern NCURSES_EXPORT(int) attrset (NCURSES_ATTR_T); /* generated */ -extern NCURSES_EXPORT(int) attr_get (attr_t *, short *, void *); /* generated */ -extern NCURSES_EXPORT(int) attr_off (attr_t, void *); /* generated */ -extern NCURSES_EXPORT(int) attr_on (attr_t, void *); /* generated */ -extern NCURSES_EXPORT(int) attr_set (attr_t, short, void *); /* generated */ -extern NCURSES_EXPORT(int) baudrate (void); /* implemented */ -extern NCURSES_EXPORT(int) beep (void); /* implemented */ -extern NCURSES_EXPORT(int) bkgd (chtype); /* generated */ -extern NCURSES_EXPORT(void) bkgdset (chtype); /* generated */ -extern NCURSES_EXPORT(int) border (chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype); /* generated */ -extern NCURSES_EXPORT(int) box (WINDOW *, chtype, chtype); /* generated */ -extern NCURSES_EXPORT(bool) can_change_color (void); /* implemented */ -extern NCURSES_EXPORT(int) cbreak (void); /* implemented */ -extern NCURSES_EXPORT(int) chgat (int, attr_t, short, const void *); /* generated */ -extern NCURSES_EXPORT(int) clear (void); /* generated */ -extern NCURSES_EXPORT(int) clearok (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) clrtobot (void); /* generated */ -extern NCURSES_EXPORT(int) clrtoeol (void); /* generated */ -extern NCURSES_EXPORT(int) color_content (short,short*,short*,short*); /* implemented */ -extern NCURSES_EXPORT(int) color_set (short,void*); /* generated */ -extern NCURSES_EXPORT(int) COLOR_PAIR (int); /* generated */ -extern NCURSES_EXPORT(int) copywin (const WINDOW*,WINDOW*,int,int,int,int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) curs_set (int); /* implemented */ -extern NCURSES_EXPORT(int) def_prog_mode (void); /* implemented */ -extern NCURSES_EXPORT(int) def_shell_mode (void); /* implemented */ -extern NCURSES_EXPORT(int) delay_output (int); /* implemented */ -extern NCURSES_EXPORT(int) delch (void); /* generated */ -extern NCURSES_EXPORT(void) delscreen (SCREEN *); /* implemented */ -extern NCURSES_EXPORT(int) delwin (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) deleteln (void); /* generated */ -extern NCURSES_EXPORT(WINDOW *) derwin (WINDOW *,int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) doupdate (void); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) dupwin (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) echo (void); /* implemented */ -extern NCURSES_EXPORT(int) echochar (const chtype); /* generated */ -extern NCURSES_EXPORT(int) erase (void); /* generated */ -extern NCURSES_EXPORT(int) endwin (void); /* implemented */ -extern NCURSES_EXPORT(char) erasechar (void); /* implemented */ -extern NCURSES_EXPORT(void) filter (void); /* implemented */ -extern NCURSES_EXPORT(int) flash (void); /* implemented */ -extern NCURSES_EXPORT(int) flushinp (void); /* implemented */ -extern NCURSES_EXPORT(chtype) getbkgd (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) getch (void); /* generated */ -extern NCURSES_EXPORT(int) getnstr (char *, int); /* generated */ -extern NCURSES_EXPORT(int) getstr (char *); /* generated */ -extern NCURSES_EXPORT(WINDOW *) getwin (FILE *); /* implemented */ -extern NCURSES_EXPORT(int) halfdelay (int); /* implemented */ -extern NCURSES_EXPORT(bool) has_colors (void); /* implemented */ -extern NCURSES_EXPORT(bool) has_ic (void); /* implemented */ -extern NCURSES_EXPORT(bool) has_il (void); /* implemented */ -extern NCURSES_EXPORT(int) hline (chtype, int); /* generated */ -extern NCURSES_EXPORT(void) idcok (WINDOW *, bool); /* implemented */ -extern NCURSES_EXPORT(int) idlok (WINDOW *, bool); /* implemented */ -extern NCURSES_EXPORT(void) immedok (WINDOW *, bool); /* implemented */ -extern NCURSES_EXPORT(chtype) inch (void); /* generated */ -extern NCURSES_EXPORT(int) inchnstr (chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) inchstr (chtype *); /* generated */ -extern NCURSES_EXPORT(WINDOW *) initscr (void); /* implemented */ -extern NCURSES_EXPORT(int) init_color (short,short,short,short); /* implemented */ -extern NCURSES_EXPORT(int) init_pair (short,short,short); /* implemented */ -extern NCURSES_EXPORT(int) innstr (char *, int); /* generated */ -extern NCURSES_EXPORT(int) insch (chtype); /* generated */ -extern NCURSES_EXPORT(int) insdelln (int); /* generated */ -extern NCURSES_EXPORT(int) insertln (void); /* generated */ -extern NCURSES_EXPORT(int) insnstr (const char *, int); /* generated */ -extern NCURSES_EXPORT(int) insstr (const char *); /* generated */ -extern NCURSES_EXPORT(int) instr (char *); /* generated */ -extern NCURSES_EXPORT(int) intrflush (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(bool) isendwin (void); /* implemented */ -extern NCURSES_EXPORT(bool) is_linetouched (WINDOW *,int); /* implemented */ -extern NCURSES_EXPORT(bool) is_wintouched (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(NCURSES_CONST char *) keyname (int); /* implemented */ -extern NCURSES_EXPORT(int) keypad (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(char) killchar (void); /* implemented */ -extern NCURSES_EXPORT(int) leaveok (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(char *) longname (void); /* implemented */ -extern NCURSES_EXPORT(int) meta (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) move (int, int); /* generated */ -extern NCURSES_EXPORT(int) mvaddch (int, int, const chtype); /* generated */ -extern NCURSES_EXPORT(int) mvaddchnstr (int, int, const chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) mvaddchstr (int, int, const chtype *); /* generated */ -extern NCURSES_EXPORT(int) mvaddnstr (int, int, const char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvaddstr (int, int, const char *); /* generated */ -extern NCURSES_EXPORT(int) mvchgat (int, int, int, attr_t, short, const void *); /* generated */ -extern NCURSES_EXPORT(int) mvcur (int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) mvdelch (int, int); /* generated */ -extern NCURSES_EXPORT(int) mvderwin (WINDOW *, int, int); /* implemented */ -extern NCURSES_EXPORT(int) mvgetch (int, int); /* generated */ -extern NCURSES_EXPORT(int) mvgetnstr (int, int, char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvgetstr (int, int, char *); /* generated */ -extern NCURSES_EXPORT(int) mvhline (int, int, chtype, int); /* generated */ -extern NCURSES_EXPORT(chtype) mvinch (int, int); /* generated */ -extern NCURSES_EXPORT(int) mvinchnstr (int, int, chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) mvinchstr (int, int, chtype *); /* generated */ -extern NCURSES_EXPORT(int) mvinnstr (int, int, char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvinsch (int, int, chtype); /* generated */ -extern NCURSES_EXPORT(int) mvinsnstr (int, int, const char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvinsstr (int, int, const char *); /* generated */ -extern NCURSES_EXPORT(int) mvinstr (int, int, char *); /* generated */ -extern NCURSES_EXPORT(int) mvprintw (int,int, const char *,...) /* implemented */ - GCC_PRINTFLIKE(3,4); -extern NCURSES_EXPORT(int) mvscanw (int,int, NCURSES_CONST char *,...) /* implemented */ - GCC_SCANFLIKE(3,4); -extern NCURSES_EXPORT(int) mvvline (int, int, chtype, int); /* generated */ -extern NCURSES_EXPORT(int) mvwaddch (WINDOW *, int, int, const chtype); /* generated */ -extern NCURSES_EXPORT(int) mvwaddchnstr (WINDOW *, int, int, const chtype *, int);/* generated */ -extern NCURSES_EXPORT(int) mvwaddchstr (WINDOW *, int, int, const chtype *); /* generated */ -extern NCURSES_EXPORT(int) mvwaddnstr (WINDOW *, int, int, const char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwaddstr (WINDOW *, int, int, const char *); /* generated */ -extern NCURSES_EXPORT(int) mvwchgat (WINDOW *, int, int, int, attr_t, short, const void *);/* generated */ -extern NCURSES_EXPORT(int) mvwdelch (WINDOW *, int, int); /* generated */ -extern NCURSES_EXPORT(int) mvwgetch (WINDOW *, int, int); /* generated */ -extern NCURSES_EXPORT(int) mvwgetnstr (WINDOW *, int, int, char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwgetstr (WINDOW *, int, int, char *); /* generated */ -extern NCURSES_EXPORT(int) mvwhline (WINDOW *, int, int, chtype, int); /* generated */ -extern NCURSES_EXPORT(int) mvwin (WINDOW *,int,int); /* implemented */ -extern NCURSES_EXPORT(chtype) mvwinch (WINDOW *, int, int); /* generated */ -extern NCURSES_EXPORT(int) mvwinchnstr (WINDOW *, int, int, chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwinchstr (WINDOW *, int, int, chtype *); /* generated */ -extern NCURSES_EXPORT(int) mvwinnstr (WINDOW *, int, int, char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwinsch (WINDOW *, int, int, chtype); /* generated */ -extern NCURSES_EXPORT(int) mvwinsnstr (WINDOW *, int, int, const char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwinsstr (WINDOW *, int, int, const char *); /* generated */ -extern NCURSES_EXPORT(int) mvwinstr (WINDOW *, int, int, char *); /* generated */ -extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...) /* implemented */ - GCC_PRINTFLIKE(4,5); -extern NCURSES_EXPORT(int) mvwscanw (WINDOW *,int,int, NCURSES_CONST char *,...) /* implemented */ - GCC_SCANFLIKE(4,5); -extern NCURSES_EXPORT(int) mvwvline (WINDOW *,int, int, chtype, int); /* generated */ -extern NCURSES_EXPORT(int) napms (int); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) newpad (int,int); /* implemented */ -extern NCURSES_EXPORT(SCREEN *) newterm (NCURSES_CONST char *,FILE *,FILE *); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) newwin (int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) nl (void); /* implemented */ -extern NCURSES_EXPORT(int) nocbreak (void); /* implemented */ -extern NCURSES_EXPORT(int) nodelay (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) noecho (void); /* implemented */ -extern NCURSES_EXPORT(int) nonl (void); /* implemented */ -extern NCURSES_EXPORT(void) noqiflush (void); /* implemented */ -extern NCURSES_EXPORT(int) noraw (void); /* implemented */ -extern NCURSES_EXPORT(int) notimeout (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) overlay (const WINDOW*,WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) overwrite (const WINDOW*,WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) pair_content (short,short*,short*); /* implemented */ -extern NCURSES_EXPORT(int) PAIR_NUMBER (int); /* generated */ -extern NCURSES_EXPORT(int) pechochar (WINDOW *, const chtype); /* implemented */ -extern NCURSES_EXPORT(int) pnoutrefresh (WINDOW*,int,int,int,int,int,int);/* implemented */ -extern NCURSES_EXPORT(int) prefresh (WINDOW *,int,int,int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) printw (const char *,...) /* implemented */ - GCC_PRINTFLIKE(1,2); -extern NCURSES_EXPORT(int) putp (const char *); /* implemented */ -extern NCURSES_EXPORT(int) putwin (WINDOW *, FILE *); /* implemented */ -extern NCURSES_EXPORT(void) qiflush (void); /* implemented */ -extern NCURSES_EXPORT(int) raw (void); /* implemented */ -extern NCURSES_EXPORT(int) redrawwin (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) refresh (void); /* generated */ -extern NCURSES_EXPORT(int) resetty (void); /* implemented */ -extern NCURSES_EXPORT(int) reset_prog_mode (void); /* implemented */ -extern NCURSES_EXPORT(int) reset_shell_mode (void); /* implemented */ -extern NCURSES_EXPORT(int) ripoffline (int, int (*)(WINDOW *, int)); /* implemented */ -extern NCURSES_EXPORT(int) savetty (void); /* implemented */ -extern NCURSES_EXPORT(int) scanw (NCURSES_CONST char *,...) /* implemented */ - GCC_SCANFLIKE(1,2); -extern NCURSES_EXPORT(int) scr_dump (const char *); /* implemented */ -extern NCURSES_EXPORT(int) scr_init (const char *); /* implemented */ -extern NCURSES_EXPORT(int) scrl (int); /* generated */ -extern NCURSES_EXPORT(int) scroll (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) scrollok (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) scr_restore (const char *); /* implemented */ -extern NCURSES_EXPORT(int) scr_set (const char *); /* implemented */ -extern NCURSES_EXPORT(int) setscrreg (int,int); /* generated */ -extern NCURSES_EXPORT(SCREEN *) set_term (SCREEN *); /* implemented */ -extern NCURSES_EXPORT(int) slk_attroff (const chtype); /* implemented */ -extern NCURSES_EXPORT(int) slk_attr_off (const attr_t, void *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) slk_attron (const chtype); /* implemented */ -extern NCURSES_EXPORT(int) slk_attr_on (attr_t,void*); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) slk_attrset (const chtype); /* implemented */ -extern NCURSES_EXPORT(attr_t) slk_attr (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_attr_set (const attr_t,short,void*); /* implemented */ -extern NCURSES_EXPORT(int) slk_clear (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_color (short); /* implemented */ -extern NCURSES_EXPORT(int) slk_init (int); /* implemented */ -extern NCURSES_EXPORT(char *) slk_label (int); /* implemented */ -extern NCURSES_EXPORT(int) slk_noutrefresh (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_refresh (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_restore (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_set (int,const char *,int); /* implemented */ -extern NCURSES_EXPORT(int) slk_touch (void); /* implemented */ -extern NCURSES_EXPORT(int) standout (void); /* generated */ -extern NCURSES_EXPORT(int) standend (void); /* generated */ -extern NCURSES_EXPORT(int) start_color (void); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) subpad (WINDOW *, int, int, int, int); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *,int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) syncok (WINDOW *, bool); /* implemented */ -extern NCURSES_EXPORT(chtype) termattrs (void); /* implemented */ -extern NCURSES_EXPORT(char *) termname (void); /* implemented */ -extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *); /* implemented */ -extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *); /* implemented */ -extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *); /* implemented */ -extern NCURSES_EXPORT(void) timeout (int); /* generated */ -extern NCURSES_EXPORT(int) touchline (WINDOW *, int, int); /* generated */ -extern NCURSES_EXPORT(int) touchwin (WINDOW *); /* generated */ -extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* implemented */ -extern NCURSES_EXPORT(int) typeahead (int); /* implemented */ -extern NCURSES_EXPORT(int) ungetch (int); /* implemented */ -extern NCURSES_EXPORT(int) untouchwin (WINDOW *); /* generated */ -extern NCURSES_EXPORT(void) use_env (bool); /* implemented */ -extern NCURSES_EXPORT(int) vidattr (chtype); /* implemented */ -extern NCURSES_EXPORT(int) vidputs (chtype, int (*)(int)); /* implemented */ -extern NCURSES_EXPORT(int) vline (chtype, int); /* generated */ -extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *,va_list); /* implemented */ -extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *,va_list); /* generated */ -extern NCURSES_EXPORT(int) vwscanw (WINDOW *, NCURSES_CONST char *,va_list); /* implemented */ -extern NCURSES_EXPORT(int) vw_scanw (WINDOW *, NCURSES_CONST char *,va_list); /* generated */ -extern NCURSES_EXPORT(int) waddch (WINDOW *, const chtype); /* implemented */ -extern NCURSES_EXPORT(int) waddchnstr (WINDOW *,const chtype *,int); /* implemented */ -extern NCURSES_EXPORT(int) waddchstr (WINDOW *,const chtype *); /* generated */ -extern NCURSES_EXPORT(int) waddnstr (WINDOW *,const char *,int); /* implemented */ -extern NCURSES_EXPORT(int) waddstr (WINDOW *,const char *); /* generated */ -extern NCURSES_EXPORT(int) wattron (WINDOW *, int); /* generated */ -extern NCURSES_EXPORT(int) wattroff (WINDOW *, int); /* generated */ -extern NCURSES_EXPORT(int) wattrset (WINDOW *, int); /* generated */ -extern NCURSES_EXPORT(int) wattr_get (WINDOW *, attr_t *, short *, void *); /* generated */ -extern NCURSES_EXPORT(int) wattr_on (WINDOW *, attr_t, void *); /* implemented */ -extern NCURSES_EXPORT(int) wattr_off (WINDOW *, attr_t, void *); /* implemented */ -extern NCURSES_EXPORT(int) wattr_set (WINDOW *, attr_t, short, void *); /* generated */ -extern NCURSES_EXPORT(int) wbkgd (WINDOW *, chtype); /* implemented */ -extern NCURSES_EXPORT(void) wbkgdset (WINDOW *,chtype); /* implemented */ -extern NCURSES_EXPORT(int) wborder (WINDOW *,chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype); /* implemented */ -extern NCURSES_EXPORT(int) wchgat (WINDOW *, int, attr_t, short, const void *);/* implemented */ -extern NCURSES_EXPORT(int) wclear (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wclrtobot (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wclrtoeol (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wcolor_set (WINDOW*,short,void*); /* implemented */ -extern NCURSES_EXPORT(void) wcursyncup (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wdelch (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wdeleteln (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) wechochar (WINDOW *, const chtype); /* implemented */ -extern NCURSES_EXPORT(int) werase (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wgetch (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int); /* implemented */ -extern NCURSES_EXPORT(int) wgetstr (WINDOW *, char *); /* generated */ -extern NCURSES_EXPORT(int) whline (WINDOW *, chtype, int); /* implemented */ -extern NCURSES_EXPORT(chtype) winch (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) winchnstr (WINDOW *, chtype *, int); /* implemented */ -extern NCURSES_EXPORT(int) winchstr (WINDOW *, chtype *); /* generated */ -extern NCURSES_EXPORT(int) winnstr (WINDOW *, char *, int); /* implemented */ -extern NCURSES_EXPORT(int) winsch (WINDOW *, chtype); /* implemented */ -extern NCURSES_EXPORT(int) winsdelln (WINDOW *,int); /* implemented */ -extern NCURSES_EXPORT(int) winsertln (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) winsnstr (WINDOW *, const char *,int); /* implemented */ -extern NCURSES_EXPORT(int) winsstr (WINDOW *, const char *); /* generated */ -extern NCURSES_EXPORT(int) winstr (WINDOW *, char *); /* generated */ -extern NCURSES_EXPORT(int) wmove (WINDOW *,int,int); /* implemented */ -extern NCURSES_EXPORT(int) wnoutrefresh (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wprintw (WINDOW *, const char *,...) /* implemented */ - GCC_PRINTFLIKE(2,3); -extern NCURSES_EXPORT(int) wredrawln (WINDOW *,int,int); /* implemented */ -extern NCURSES_EXPORT(int) wrefresh (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wscanw (WINDOW *, NCURSES_CONST char *,...) /* implemented */ - GCC_SCANFLIKE(2,3); -extern NCURSES_EXPORT(int) wscrl (WINDOW *,int); /* implemented */ -extern NCURSES_EXPORT(int) wsetscrreg (WINDOW *,int,int); /* implemented */ -extern NCURSES_EXPORT(int) wstandout (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) wstandend (WINDOW *); /* generated */ -extern NCURSES_EXPORT(void) wsyncdown (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(void) wsyncup (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(void) wtimeout (WINDOW *,int); /* implemented */ -extern NCURSES_EXPORT(int) wtouchln (WINDOW *,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) wvline (WINDOW *,chtype,int); /* implemented */ - -/* - * vid_attr() was implemented originally based on the draft of XSI curses. - */ -#ifndef _XOPEN_SOURCE_EXTENDED -#define vid_attr(a,pair,opts) vidattr(a) -#endif - -/* attributes */ - -#define NCURSES_ATTR_SHIFT 8 -#define NCURSES_BITS(mask,shift) ((mask) << ((shift) + NCURSES_ATTR_SHIFT)) - -#define A_NORMAL (@cf_cv_1UL@ - @cf_cv_1UL@) -#define A_ATTRIBUTES NCURSES_BITS(~(@cf_cv_1UL@ - @cf_cv_1UL@),0) -#define A_CHARTEXT (NCURSES_BITS(@cf_cv_1UL@,0) - @cf_cv_1UL@) -#define A_COLOR NCURSES_BITS(((@cf_cv_1UL@) << 8) - @cf_cv_1UL@,0) -#define A_STANDOUT NCURSES_BITS(@cf_cv_1UL@,8) -#define A_UNDERLINE NCURSES_BITS(@cf_cv_1UL@,9) -#define A_REVERSE NCURSES_BITS(@cf_cv_1UL@,10) -#define A_BLINK NCURSES_BITS(@cf_cv_1UL@,11) -#define A_DIM NCURSES_BITS(@cf_cv_1UL@,12) -#define A_BOLD NCURSES_BITS(@cf_cv_1UL@,13) -#define A_ALTCHARSET NCURSES_BITS(@cf_cv_1UL@,14) -#define A_INVIS NCURSES_BITS(@cf_cv_1UL@,15) -#define A_PROTECT NCURSES_BITS(@cf_cv_1UL@,16) -#define A_HORIZONTAL NCURSES_BITS(@cf_cv_1UL@,17) -#define A_LEFT NCURSES_BITS(@cf_cv_1UL@,18) -#define A_LOW NCURSES_BITS(@cf_cv_1UL@,19) -#define A_RIGHT NCURSES_BITS(@cf_cv_1UL@,20) -#define A_TOP NCURSES_BITS(@cf_cv_1UL@,21) -#define A_VERTICAL NCURSES_BITS(@cf_cv_1UL@,22) - -/* - * These apply to the first 256 color pairs. - */ -#define COLOR_PAIR(n) NCURSES_BITS(n, 0) -#define PAIR_NUMBER(a) (NCURSES_CAST(int,(((a) & A_COLOR) >> NCURSES_ATTR_SHIFT))) - -/* - * pseudo functions - */ -#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 gettmode() - -#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 getsyx(y,x) do { if(newscr->_leaveok) (y)=(x)=-1; \ - else getyx(newscr,(y),(x)); \ - } while(0) -#define setsyx(y,x) do { if((y)==-1 && (x)==-1) newscr->_leaveok=TRUE; \ - else {newscr->_leaveok=FALSE;wmove(newscr,(y),(x));} \ - } while(0) - -/* It seems older SYSV curses versions define these */ -#define getattrs(win) ((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) - -#if @NCURSES_EXT_COLORS@ -#define wattrset(win,at) ((win)->_color = PAIR_NUMBER(at), \ - (win)->_attrs = (at)) -#else -#define wattrset(win,at) ((win)->_attrs = (at)) -#endif - -#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) - -/* - * pseudo functions for standard screen - */ - -#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) - -/* - * mv functions - */ - -#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) - -/* - * Some wide-character functions can be implemented without the extensions. - */ -#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)) - -#if @NCURSES_EXT_COLORS@ -#define wattr_set(win,a,p,opts) ((win)->_attrs = ((a) & ~A_COLOR), \ - (win)->_color = (p), \ - OK) -#define wattr_get(win,a,p,opts) ((void)((a) != 0 && (*(a) = (win)->_attrs)), \ - (void)((p) != 0 && (*(p) = (win)->_color)), \ - OK) -#else -#define wattr_set(win,a,p,opts) ((win)->_attrs = (((a) & ~A_COLOR) | COLOR_PAIR(p)), OK) -#define wattr_get(win,a,p,opts) ((void)((a) != 0 && (*(a) = (win)->_attrs)), \ - (void)((p) != 0 && (*(p) = PAIR_NUMBER((win)->_attrs))), \ - OK) -#endif - -/* - * XSI curses deprecates SVr4 vwprintw/vwscanw, which are supposed to use - * varargs.h. It adds new calls vw_printw/vw_scanw, which are supposed to - * use POSIX stdarg.h. The ncurses versions of vwprintw/vwscanw already - * use stdarg.h, so... - */ -#define vw_printw vwprintw -#define vw_scanw vwscanw - -/* - * Export fallback function for use in C++ binding. - */ -#if !@HAVE_VSSCANF@ -#define vsscanf(a,b,c) _nc_vsscanf(a,b,c) -NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list); -#endif - -/* - * Pseudo-character tokens outside ASCII range. The curses wgetch() function - * will return any given one of these only if the corresponding k- capability - * is defined in your terminal's terminfo entry. - * - * Some keys (KEY_A1, etc) are arranged like this: - * a1 up a3 - * left b2 right - * c1 down c3 - * - * A few key codes do not depend upon the terminfo entry. - */ -#define KEY_CODE_YES 0400 /* A wchar_t contains a key code */ -#define KEY_MIN 0401 /* Minimum curses key */ -#define KEY_BREAK 0401 /* Break key (unreliable) */ -#define KEY_SRESET 0530 /* Soft (partial) reset (unreliable) */ -#define KEY_RESET 0531 /* Reset or hard reset (unreliable) */ diff --git a/src/libs/ncurses/include/curses.head b/src/libs/ncurses/include/curses.head deleted file mode 100644 index 5797b7af1e..0000000000 --- a/src/libs/ncurses/include/curses.head +++ /dev/null @@ -1,1067 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* $Id: curses.h.in,v 1.157 2005/07/02 16:58:28 tom Exp $ */ - -#ifndef __NCURSES_H -#define __NCURSES_H - -#define CURSES 1 -#define CURSES_H 1 - -/* This should be defined for the enhanced functionality to be visible. - * However, some of the wide-character (enhanced) functionality is missing. - * So we do not define it (yet). -#define _XOPEN_CURSES 1 - */ - -/* These are defined only in curses.h, and are used for conditional compiles */ -#define NCURSES_VERSION_MAJOR 5 -#define NCURSES_VERSION_MINOR 5 -#define NCURSES_VERSION_PATCH 20051010 - -/* This is defined in more than one ncurses header, for identification */ -#undef NCURSES_VERSION -#define NCURSES_VERSION "5.5" - -/* - * Identify the mouse encoding version. - */ -#define NCURSES_MOUSE_VERSION 1 - -/* - * Definitions to facilitate DLL's. - */ -#include - -/* - * User-definable tweak to disable the include of . - */ -#ifndef NCURSES_ENABLE_STDBOOL_H -#define NCURSES_ENABLE_STDBOOL_H 0 -#endif - -/* - * NCURSES_ATTR_T is used to quiet compiler warnings when building ncurses - * configured using --disable-macros. - */ -#ifdef NCURSES_NOMACROS -#define NCURSES_ATTR_T attr_t -#endif - -#ifndef NCURSES_ATTR_T -#define NCURSES_ATTR_T int -#endif - -/* - * Expands to 'const' if ncurses is configured using --enable-const. Note that - * doing so makes it incompatible with other implementations of X/Open Curses. - */ -#undef NCURSES_CONST -#define NCURSES_CONST /*nothing*/ - -/* - * The internal type used for color values - */ -#undef NCURSES_COLOR_T -#define NCURSES_COLOR_T short - -/* - * The internal type used for window dimensions. - */ -#undef NCURSES_SIZE_T -#define NCURSES_SIZE_T short - -/* - * NCURSES_CH_T is used in building the library, but not used otherwise in - * this header file, since that would make the normal/wide-character versions - * of the header incompatible. - */ -#undef NCURSES_CH_T -#define NCURSES_CH_T chtype - -#if 0 && defined(_LP64) -typedef unsigned chtype; -typedef unsigned mmask_t; -#else -typedef unsigned long chtype; -typedef unsigned long mmask_t; -#endif - -#include -#include -#include /* we need va_list */ -#ifdef _XOPEN_SOURCE_EXTENDED -#include /* we want wchar_t */ -#endif /* _XOPEN_SOURCE_EXTENDED */ - -/* XSI and SVr4 specify that curses implements 'bool'. However, C++ may also - * implement it. If so, we must use the C++ compiler's type to avoid conflict - * with other interfaces. - * - * A further complication is that may declare 'bool' to be a - * different type, such as an enum which is not necessarily compatible with - * C++. If we have , make 'bool' a macro, so users may #undef it. - * Otherwise, let it remain a typedef to avoid conflicts with other #define's. - * In either case, make a typedef for NCURSES_BOOL which can be used if needed - * from either C or C++. - */ - -#undef TRUE -#define TRUE 1 - -#undef FALSE -#define FALSE 0 - -typedef unsigned char NCURSES_BOOL; - -#if defined(__cplusplus) /* __cplusplus, etc. */ - -/* use the C++ compiler's bool type */ -#define NCURSES_BOOL bool - -#else /* c89, c99, etc. */ - -#if NCURSES_ENABLE_STDBOOL_H -#include -/* use whatever the C compiler decides bool really is */ -#define NCURSES_BOOL bool -#else -/* there is no predefined bool - use our own */ -#undef bool -#define bool NCURSES_BOOL -#endif - -#endif /* !__cplusplus, etc. */ - -#ifdef __cplusplus -extern "C" { -#define NCURSES_CAST(type,value) static_cast(value) -#else -#define NCURSES_CAST(type,value) (type)(value) -#endif - -/* - * XSI attributes. In the ncurses implementation, they are identical to the - * A_ attributes. - */ -#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 - -/* colors */ -extern NCURSES_EXPORT_VAR(int) COLORS; -extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS; - -#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 - -/* line graphics */ - -#if 0 -extern NCURSES_EXPORT_VAR(chtype*) _nc_acs_map(void); -#define acs_map (_nc_acs_map()) -#else -extern NCURSES_EXPORT_VAR(chtype) acs_map[]; -#endif - -#define NCURSES_ACS(c) (acs_map[NCURSES_CAST(unsigned char,c)]) - -/* VT100 symbols begin here */ -#define ACS_ULCORNER NCURSES_ACS('l') /* upper left corner */ -#define ACS_LLCORNER NCURSES_ACS('m') /* lower left corner */ -#define ACS_URCORNER NCURSES_ACS('k') /* upper right corner */ -#define ACS_LRCORNER NCURSES_ACS('j') /* lower right corner */ -#define ACS_LTEE NCURSES_ACS('t') /* tee pointing right */ -#define ACS_RTEE NCURSES_ACS('u') /* tee pointing left */ -#define ACS_BTEE NCURSES_ACS('v') /* tee pointing up */ -#define ACS_TTEE NCURSES_ACS('w') /* tee pointing down */ -#define ACS_HLINE NCURSES_ACS('q') /* horizontal line */ -#define ACS_VLINE NCURSES_ACS('x') /* vertical line */ -#define ACS_PLUS NCURSES_ACS('n') /* large plus or crossover */ -#define ACS_S1 NCURSES_ACS('o') /* scan line 1 */ -#define ACS_S9 NCURSES_ACS('s') /* scan line 9 */ -#define ACS_DIAMOND NCURSES_ACS('`') /* diamond */ -#define ACS_CKBOARD NCURSES_ACS('a') /* checker board (stipple) */ -#define ACS_DEGREE NCURSES_ACS('f') /* degree symbol */ -#define ACS_PLMINUS NCURSES_ACS('g') /* plus/minus */ -#define ACS_BULLET NCURSES_ACS('~') /* bullet */ -/* Teletype 5410v1 symbols begin here */ -#define ACS_LARROW NCURSES_ACS(',') /* arrow pointing left */ -#define ACS_RARROW NCURSES_ACS('+') /* arrow pointing right */ -#define ACS_DARROW NCURSES_ACS('.') /* arrow pointing down */ -#define ACS_UARROW NCURSES_ACS('-') /* arrow pointing up */ -#define ACS_BOARD NCURSES_ACS('h') /* board of squares */ -#define ACS_LANTERN NCURSES_ACS('i') /* lantern symbol */ -#define ACS_BLOCK NCURSES_ACS('0') /* solid square block */ -/* - * These aren't documented, but a lot of System Vs have them anyway - * (you can spot pprryyzz{{||}} in a lot of AT&T terminfo strings). - * The ACS_names may not match AT&T's, our source didn't know them. - */ -#define ACS_S3 NCURSES_ACS('p') /* scan line 3 */ -#define ACS_S7 NCURSES_ACS('r') /* scan line 7 */ -#define ACS_LEQUAL NCURSES_ACS('y') /* less/equal */ -#define ACS_GEQUAL NCURSES_ACS('z') /* greater/equal */ -#define ACS_PI NCURSES_ACS('{') /* Pi */ -#define ACS_NEQUAL NCURSES_ACS('|') /* not equal */ -#define ACS_STERLING NCURSES_ACS('}') /* UK pound sign */ - -/* - * Line drawing ACS names are of the form ACS_trbl, where t is the top, r - * is the right, b is the bottom, and l is the left. t, r, b, and l might - * be B (blank), S (single), D (double), or T (thick). The subset defined - * here only uses B and S. - */ -#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 - -#undef ERR -#define ERR (-1) - -#undef OK -#define OK (0) - -/* values for the _flags member */ -#define _SUBWIN 0x01 /* is this a sub-window? */ -#define _ENDLINE 0x02 /* is the window flush right? */ -#define _FULLWIN 0x04 /* is the window full-screen? */ -#define _SCROLLWIN 0x08 /* bottom edge is at screen bottom? */ -#define _ISPAD 0x10 /* is this window a pad? */ -#define _HASMOVED 0x20 /* has cursor moved since last refresh? */ -#define _WRAPPED 0x40 /* cursor was just wrappped */ - -/* - * this value is used in the firstchar and lastchar fields to mark - * unchanged lines - */ -#define _NOCHANGE -1 - -/* - * this value is used in the oldindex field to mark lines created by insertions - * and scrolls. - */ -#define _NEWINDEX -1 - -typedef struct screen SCREEN; -typedef struct _win_st WINDOW; - -typedef chtype attr_t; /* ...must be at least as wide as chtype */ - -#ifdef _XOPEN_SOURCE_EXTENDED - -#if 0 -#ifdef mblen /* libutf8.h defines it w/o undefining first */ -#undef mblen -#endif -#include -#endif - -#if 0 -#include /* ...to get mbstate_t, etc. */ -#endif - -#if 0 -typedef unsigned short wchar_t; -#endif - -#if 0 -typedef unsigned int wint_t; -#endif - -#define CCHARW_MAX 5 -typedef struct -{ - attr_t attr; - wchar_t chars[CCHARW_MAX]; -#if 0 - int ext_color; /* color pair, must be more than 16-bits */ -#endif -} -cchar_t; - -#endif /* _XOPEN_SOURCE_EXTENDED */ - -struct ldat; - -struct _win_st -{ - NCURSES_SIZE_T _cury, _curx; /* current cursor position */ - - /* window location and size */ - NCURSES_SIZE_T _maxy, _maxx; /* maximums of x and y, NOT window size */ - NCURSES_SIZE_T _begy, _begx; /* screen coords of upper-left-hand corner */ - - short _flags; /* window state flags */ - - /* attribute tracking */ - attr_t _attrs; /* current attribute for non-space character */ - chtype _bkgd; /* current background char/attribute pair */ - - /* option values set by user */ - 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 */ - - /* global screen state */ - NCURSES_SIZE_T _regtop; /* top line of scrolling region */ - NCURSES_SIZE_T _regbottom; /* bottom line of scrolling region */ - - /* these are used only if this is a sub-window */ - 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 */ - - /* these are used only if this is a pad */ - struct pdat - { - NCURSES_SIZE_T _pad_y, _pad_x; - NCURSES_SIZE_T _pad_top, _pad_left; - NCURSES_SIZE_T _pad_bottom, _pad_right; - } _pad; - - NCURSES_SIZE_T _yoffset; /* real begy is _begy + _yoffset */ - -#ifdef _XOPEN_SOURCE_EXTENDED - cchar_t _bkgrnd; /* current background char/attribute pair */ -#if 0 - int _color; /* current color-pair for non-space character */ -#endif -#endif -}; - -extern NCURSES_EXPORT_VAR(WINDOW *) stdscr; -extern NCURSES_EXPORT_VAR(WINDOW *) curscr; -extern NCURSES_EXPORT_VAR(WINDOW *) newscr; - -extern NCURSES_EXPORT_VAR(int) LINES; -extern NCURSES_EXPORT_VAR(int) COLS; -extern NCURSES_EXPORT_VAR(int) TABSIZE; - -/* - * This global was an undocumented feature under AIX curses. - */ -extern NCURSES_EXPORT_VAR(int) ESCDELAY; /* ESC expire time in milliseconds */ - -extern NCURSES_EXPORT_VAR(char) ttytype[]; /* needed for backward compatibility */ - -/* - * These functions are extensions - not in XSI Curses. - */ -#if 1 -extern NCURSES_EXPORT(bool) is_term_resized (int, int); -extern NCURSES_EXPORT(char *) keybound (int, int); -extern NCURSES_EXPORT(const char *) curses_version (void); -extern NCURSES_EXPORT(int) assume_default_colors (int, int); -extern NCURSES_EXPORT(int) define_key (const char *, int); -extern NCURSES_EXPORT(int) key_defined (const char *); -extern NCURSES_EXPORT(int) keyok (int, bool); -extern NCURSES_EXPORT(int) resize_term (int, int); -extern NCURSES_EXPORT(int) resizeterm (int, int); -extern NCURSES_EXPORT(int) use_default_colors (void); -extern NCURSES_EXPORT(int) use_extended_names (bool); -extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int); -#else -#define curses_version() NCURSES_VERSION -#endif - -/* - * This is an extension to support events... - */ -#if 1 -#ifdef NCURSES_WGETCH_EVENTS -#if !defined(__BEOS__) /* Fix _nc_timed_wait() on BEOS... */ -# define NCURSES_EVENT_VERSION 1 -#endif /* !defined(__BEOS__) */ - -/* - * Bits to set in _nc_event.data.flags - */ -# define _NC_EVENT_TIMEOUT_MSEC 1 -# define _NC_EVENT_FILE 2 -# define _NC_EVENT_FILE_READABLE 2 -# if 0 /* Not supported yet... */ -# define _NC_EVENT_FILE_WRITABLE 4 -# define _NC_EVENT_FILE_EXCEPTION 8 -# endif - -typedef struct -{ - int type; - union - { - long timeout_msec; /* _NC_EVENT_TIMEOUT_MSEC */ - struct - { - unsigned int flags; - int fd; - unsigned int result; - } fev; /* _NC_EVENT_FILE */ - } data; -} _nc_event; - -typedef struct -{ - int count; - int result_flags; /* _NC_EVENT_TIMEOUT_MSEC or _NC_EVENT_FILE_READABLE */ - _nc_event *events[1]; -} _nc_eventlist; - -extern NCURSES_EXPORT(int) wgetch_events(WINDOW *, _nc_eventlist *); /* experimental */ -extern NCURSES_EXPORT(int) wgetnstr_events(WINDOW *,char *,int,_nc_eventlist *);/* experimental */ - -#endif /* NCURSES_WGETCH_EVENTS */ -#endif /* NCURSES_EXT_FUNCS */ - -/* - * GCC (and some other compilers) define '__attribute__'; we're using this - * macro to alert the compiler to flag inconsistencies in printf/scanf-like - * function calls. Just in case '__attribute__' isn't defined, make a dummy. - * Old versions of G++ do not accept it anyway, at least not consistently with - * GCC. - */ -#if !(defined(__GNUC__) || defined(__GNUG__) || defined(__attribute__)) -#define __attribute__(p) /* nothing */ -#endif - -/* - * We cannot define these in ncurses_cfg.h, since they require parameters to be - * passed (that's non-portable). - */ -#ifndef GCC_PRINTFLIKE -#if defined(GCC_PRINTF) && !defined(printf) -#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var))) -#else -#define GCC_PRINTFLIKE(fmt,var) /*nothing*/ -#endif -#endif - -#ifndef GCC_SCANFLIKE -#if defined(GCC_SCANF) && !defined(scanf) -#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var))) -#else -#define GCC_SCANFLIKE(fmt,var) /*nothing*/ -#endif -#endif - -#ifndef GCC_NORETURN -#define GCC_NORETURN /* nothing */ -#endif - -#ifndef GCC_UNUSED -#define GCC_UNUSED /* nothing */ -#endif - -/* - * Function prototypes. This is the complete XSI Curses list of required - * functions. Those marked `generated' will have sources generated from the - * macro definitions later in this file, in order to satisfy XPG4.2 - * requirements. - */ - -extern NCURSES_EXPORT(int) addch (const chtype); /* generated */ -extern NCURSES_EXPORT(int) addchnstr (const chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) addchstr (const chtype *); /* generated */ -extern NCURSES_EXPORT(int) addnstr (const char *, int); /* generated */ -extern NCURSES_EXPORT(int) addstr (const char *); /* generated */ -extern NCURSES_EXPORT(int) attroff (NCURSES_ATTR_T); /* generated */ -extern NCURSES_EXPORT(int) attron (NCURSES_ATTR_T); /* generated */ -extern NCURSES_EXPORT(int) attrset (NCURSES_ATTR_T); /* generated */ -extern NCURSES_EXPORT(int) attr_get (attr_t *, short *, void *); /* generated */ -extern NCURSES_EXPORT(int) attr_off (attr_t, void *); /* generated */ -extern NCURSES_EXPORT(int) attr_on (attr_t, void *); /* generated */ -extern NCURSES_EXPORT(int) attr_set (attr_t, short, void *); /* generated */ -extern NCURSES_EXPORT(int) baudrate (void); /* implemented */ -extern NCURSES_EXPORT(int) beep (void); /* implemented */ -extern NCURSES_EXPORT(int) bkgd (chtype); /* generated */ -extern NCURSES_EXPORT(void) bkgdset (chtype); /* generated */ -extern NCURSES_EXPORT(int) border (chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype); /* generated */ -extern NCURSES_EXPORT(int) box (WINDOW *, chtype, chtype); /* generated */ -extern NCURSES_EXPORT(bool) can_change_color (void); /* implemented */ -extern NCURSES_EXPORT(int) cbreak (void); /* implemented */ -extern NCURSES_EXPORT(int) chgat (int, attr_t, short, const void *); /* generated */ -extern NCURSES_EXPORT(int) clear (void); /* generated */ -extern NCURSES_EXPORT(int) clearok (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) clrtobot (void); /* generated */ -extern NCURSES_EXPORT(int) clrtoeol (void); /* generated */ -extern NCURSES_EXPORT(int) color_content (short,short*,short*,short*); /* implemented */ -extern NCURSES_EXPORT(int) color_set (short,void*); /* generated */ -extern NCURSES_EXPORT(int) COLOR_PAIR (int); /* generated */ -extern NCURSES_EXPORT(int) copywin (const WINDOW*,WINDOW*,int,int,int,int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) curs_set (int); /* implemented */ -extern NCURSES_EXPORT(int) def_prog_mode (void); /* implemented */ -extern NCURSES_EXPORT(int) def_shell_mode (void); /* implemented */ -extern NCURSES_EXPORT(int) delay_output (int); /* implemented */ -extern NCURSES_EXPORT(int) delch (void); /* generated */ -extern NCURSES_EXPORT(void) delscreen (SCREEN *); /* implemented */ -extern NCURSES_EXPORT(int) delwin (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) deleteln (void); /* generated */ -extern NCURSES_EXPORT(WINDOW *) derwin (WINDOW *,int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) doupdate (void); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) dupwin (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) echo (void); /* implemented */ -extern NCURSES_EXPORT(int) echochar (const chtype); /* generated */ -extern NCURSES_EXPORT(int) erase (void); /* generated */ -extern NCURSES_EXPORT(int) endwin (void); /* implemented */ -extern NCURSES_EXPORT(char) erasechar (void); /* implemented */ -extern NCURSES_EXPORT(void) filter (void); /* implemented */ -extern NCURSES_EXPORT(int) flash (void); /* implemented */ -extern NCURSES_EXPORT(int) flushinp (void); /* implemented */ -extern NCURSES_EXPORT(chtype) getbkgd (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) getch (void); /* generated */ -extern NCURSES_EXPORT(int) getnstr (char *, int); /* generated */ -extern NCURSES_EXPORT(int) getstr (char *); /* generated */ -extern NCURSES_EXPORT(WINDOW *) getwin (FILE *); /* implemented */ -extern NCURSES_EXPORT(int) halfdelay (int); /* implemented */ -extern NCURSES_EXPORT(bool) has_colors (void); /* implemented */ -extern NCURSES_EXPORT(bool) has_ic (void); /* implemented */ -extern NCURSES_EXPORT(bool) has_il (void); /* implemented */ -extern NCURSES_EXPORT(int) hline (chtype, int); /* generated */ -extern NCURSES_EXPORT(void) idcok (WINDOW *, bool); /* implemented */ -extern NCURSES_EXPORT(int) idlok (WINDOW *, bool); /* implemented */ -extern NCURSES_EXPORT(void) immedok (WINDOW *, bool); /* implemented */ -extern NCURSES_EXPORT(chtype) inch (void); /* generated */ -extern NCURSES_EXPORT(int) inchnstr (chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) inchstr (chtype *); /* generated */ -extern NCURSES_EXPORT(WINDOW *) initscr (void); /* implemented */ -extern NCURSES_EXPORT(int) init_color (short,short,short,short); /* implemented */ -extern NCURSES_EXPORT(int) init_pair (short,short,short); /* implemented */ -extern NCURSES_EXPORT(int) innstr (char *, int); /* generated */ -extern NCURSES_EXPORT(int) insch (chtype); /* generated */ -extern NCURSES_EXPORT(int) insdelln (int); /* generated */ -extern NCURSES_EXPORT(int) insertln (void); /* generated */ -extern NCURSES_EXPORT(int) insnstr (const char *, int); /* generated */ -extern NCURSES_EXPORT(int) insstr (const char *); /* generated */ -extern NCURSES_EXPORT(int) instr (char *); /* generated */ -extern NCURSES_EXPORT(int) intrflush (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(bool) isendwin (void); /* implemented */ -extern NCURSES_EXPORT(bool) is_linetouched (WINDOW *,int); /* implemented */ -extern NCURSES_EXPORT(bool) is_wintouched (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(NCURSES_CONST char *) keyname (int); /* implemented */ -extern NCURSES_EXPORT(int) keypad (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(char) killchar (void); /* implemented */ -extern NCURSES_EXPORT(int) leaveok (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(char *) longname (void); /* implemented */ -extern NCURSES_EXPORT(int) meta (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) move (int, int); /* generated */ -extern NCURSES_EXPORT(int) mvaddch (int, int, const chtype); /* generated */ -extern NCURSES_EXPORT(int) mvaddchnstr (int, int, const chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) mvaddchstr (int, int, const chtype *); /* generated */ -extern NCURSES_EXPORT(int) mvaddnstr (int, int, const char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvaddstr (int, int, const char *); /* generated */ -extern NCURSES_EXPORT(int) mvchgat (int, int, int, attr_t, short, const void *); /* generated */ -extern NCURSES_EXPORT(int) mvcur (int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) mvdelch (int, int); /* generated */ -extern NCURSES_EXPORT(int) mvderwin (WINDOW *, int, int); /* implemented */ -extern NCURSES_EXPORT(int) mvgetch (int, int); /* generated */ -extern NCURSES_EXPORT(int) mvgetnstr (int, int, char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvgetstr (int, int, char *); /* generated */ -extern NCURSES_EXPORT(int) mvhline (int, int, chtype, int); /* generated */ -extern NCURSES_EXPORT(chtype) mvinch (int, int); /* generated */ -extern NCURSES_EXPORT(int) mvinchnstr (int, int, chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) mvinchstr (int, int, chtype *); /* generated */ -extern NCURSES_EXPORT(int) mvinnstr (int, int, char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvinsch (int, int, chtype); /* generated */ -extern NCURSES_EXPORT(int) mvinsnstr (int, int, const char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvinsstr (int, int, const char *); /* generated */ -extern NCURSES_EXPORT(int) mvinstr (int, int, char *); /* generated */ -extern NCURSES_EXPORT(int) mvprintw (int,int, const char *,...) /* implemented */ - GCC_PRINTFLIKE(3,4); -extern NCURSES_EXPORT(int) mvscanw (int,int, NCURSES_CONST char *,...) /* implemented */ - GCC_SCANFLIKE(3,4); -extern NCURSES_EXPORT(int) mvvline (int, int, chtype, int); /* generated */ -extern NCURSES_EXPORT(int) mvwaddch (WINDOW *, int, int, const chtype); /* generated */ -extern NCURSES_EXPORT(int) mvwaddchnstr (WINDOW *, int, int, const chtype *, int);/* generated */ -extern NCURSES_EXPORT(int) mvwaddchstr (WINDOW *, int, int, const chtype *); /* generated */ -extern NCURSES_EXPORT(int) mvwaddnstr (WINDOW *, int, int, const char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwaddstr (WINDOW *, int, int, const char *); /* generated */ -extern NCURSES_EXPORT(int) mvwchgat (WINDOW *, int, int, int, attr_t, short, const void *);/* generated */ -extern NCURSES_EXPORT(int) mvwdelch (WINDOW *, int, int); /* generated */ -extern NCURSES_EXPORT(int) mvwgetch (WINDOW *, int, int); /* generated */ -extern NCURSES_EXPORT(int) mvwgetnstr (WINDOW *, int, int, char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwgetstr (WINDOW *, int, int, char *); /* generated */ -extern NCURSES_EXPORT(int) mvwhline (WINDOW *, int, int, chtype, int); /* generated */ -extern NCURSES_EXPORT(int) mvwin (WINDOW *,int,int); /* implemented */ -extern NCURSES_EXPORT(chtype) mvwinch (WINDOW *, int, int); /* generated */ -extern NCURSES_EXPORT(int) mvwinchnstr (WINDOW *, int, int, chtype *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwinchstr (WINDOW *, int, int, chtype *); /* generated */ -extern NCURSES_EXPORT(int) mvwinnstr (WINDOW *, int, int, char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwinsch (WINDOW *, int, int, chtype); /* generated */ -extern NCURSES_EXPORT(int) mvwinsnstr (WINDOW *, int, int, const char *, int); /* generated */ -extern NCURSES_EXPORT(int) mvwinsstr (WINDOW *, int, int, const char *); /* generated */ -extern NCURSES_EXPORT(int) mvwinstr (WINDOW *, int, int, char *); /* generated */ -extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...) /* implemented */ - GCC_PRINTFLIKE(4,5); -extern NCURSES_EXPORT(int) mvwscanw (WINDOW *,int,int, NCURSES_CONST char *,...) /* implemented */ - GCC_SCANFLIKE(4,5); -extern NCURSES_EXPORT(int) mvwvline (WINDOW *,int, int, chtype, int); /* generated */ -extern NCURSES_EXPORT(int) napms (int); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) newpad (int,int); /* implemented */ -extern NCURSES_EXPORT(SCREEN *) newterm (NCURSES_CONST char *,FILE *,FILE *); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) newwin (int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) nl (void); /* implemented */ -extern NCURSES_EXPORT(int) nocbreak (void); /* implemented */ -extern NCURSES_EXPORT(int) nodelay (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) noecho (void); /* implemented */ -extern NCURSES_EXPORT(int) nonl (void); /* implemented */ -extern NCURSES_EXPORT(void) noqiflush (void); /* implemented */ -extern NCURSES_EXPORT(int) noraw (void); /* implemented */ -extern NCURSES_EXPORT(int) notimeout (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) overlay (const WINDOW*,WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) overwrite (const WINDOW*,WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) pair_content (short,short*,short*); /* implemented */ -extern NCURSES_EXPORT(int) PAIR_NUMBER (int); /* generated */ -extern NCURSES_EXPORT(int) pechochar (WINDOW *, const chtype); /* implemented */ -extern NCURSES_EXPORT(int) pnoutrefresh (WINDOW*,int,int,int,int,int,int);/* implemented */ -extern NCURSES_EXPORT(int) prefresh (WINDOW *,int,int,int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) printw (const char *,...) /* implemented */ - GCC_PRINTFLIKE(1,2); -extern NCURSES_EXPORT(int) putp (const char *); /* implemented */ -extern NCURSES_EXPORT(int) putwin (WINDOW *, FILE *); /* implemented */ -extern NCURSES_EXPORT(void) qiflush (void); /* implemented */ -extern NCURSES_EXPORT(int) raw (void); /* implemented */ -extern NCURSES_EXPORT(int) redrawwin (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) refresh (void); /* generated */ -extern NCURSES_EXPORT(int) resetty (void); /* implemented */ -extern NCURSES_EXPORT(int) reset_prog_mode (void); /* implemented */ -extern NCURSES_EXPORT(int) reset_shell_mode (void); /* implemented */ -extern NCURSES_EXPORT(int) ripoffline (int, int (*)(WINDOW *, int)); /* implemented */ -extern NCURSES_EXPORT(int) savetty (void); /* implemented */ -extern NCURSES_EXPORT(int) scanw (NCURSES_CONST char *,...) /* implemented */ - GCC_SCANFLIKE(1,2); -extern NCURSES_EXPORT(int) scr_dump (const char *); /* implemented */ -extern NCURSES_EXPORT(int) scr_init (const char *); /* implemented */ -extern NCURSES_EXPORT(int) scrl (int); /* generated */ -extern NCURSES_EXPORT(int) scroll (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) scrollok (WINDOW *,bool); /* implemented */ -extern NCURSES_EXPORT(int) scr_restore (const char *); /* implemented */ -extern NCURSES_EXPORT(int) scr_set (const char *); /* implemented */ -extern NCURSES_EXPORT(int) setscrreg (int,int); /* generated */ -extern NCURSES_EXPORT(SCREEN *) set_term (SCREEN *); /* implemented */ -extern NCURSES_EXPORT(int) slk_attroff (const chtype); /* implemented */ -extern NCURSES_EXPORT(int) slk_attr_off (const attr_t, void *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) slk_attron (const chtype); /* implemented */ -extern NCURSES_EXPORT(int) slk_attr_on (attr_t,void*); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) slk_attrset (const chtype); /* implemented */ -extern NCURSES_EXPORT(attr_t) slk_attr (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_attr_set (const attr_t,short,void*); /* implemented */ -extern NCURSES_EXPORT(int) slk_clear (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_color (short); /* implemented */ -extern NCURSES_EXPORT(int) slk_init (int); /* implemented */ -extern NCURSES_EXPORT(char *) slk_label (int); /* implemented */ -extern NCURSES_EXPORT(int) slk_noutrefresh (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_refresh (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_restore (void); /* implemented */ -extern NCURSES_EXPORT(int) slk_set (int,const char *,int); /* implemented */ -extern NCURSES_EXPORT(int) slk_touch (void); /* implemented */ -extern NCURSES_EXPORT(int) standout (void); /* generated */ -extern NCURSES_EXPORT(int) standend (void); /* generated */ -extern NCURSES_EXPORT(int) start_color (void); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) subpad (WINDOW *, int, int, int, int); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *,int,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) syncok (WINDOW *, bool); /* implemented */ -extern NCURSES_EXPORT(chtype) termattrs (void); /* implemented */ -extern NCURSES_EXPORT(char *) termname (void); /* implemented */ -extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *); /* implemented */ -extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *); /* implemented */ -extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *); /* implemented */ -extern NCURSES_EXPORT(void) timeout (int); /* generated */ -extern NCURSES_EXPORT(int) touchline (WINDOW *, int, int); /* generated */ -extern NCURSES_EXPORT(int) touchwin (WINDOW *); /* generated */ -extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* implemented */ -extern NCURSES_EXPORT(int) typeahead (int); /* implemented */ -extern NCURSES_EXPORT(int) ungetch (int); /* implemented */ -extern NCURSES_EXPORT(int) untouchwin (WINDOW *); /* generated */ -extern NCURSES_EXPORT(void) use_env (bool); /* implemented */ -extern NCURSES_EXPORT(int) vidattr (chtype); /* implemented */ -extern NCURSES_EXPORT(int) vidputs (chtype, int (*)(int)); /* implemented */ -extern NCURSES_EXPORT(int) vline (chtype, int); /* generated */ -extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *,va_list); /* implemented */ -extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *,va_list); /* generated */ -extern NCURSES_EXPORT(int) vwscanw (WINDOW *, NCURSES_CONST char *,va_list); /* implemented */ -extern NCURSES_EXPORT(int) vw_scanw (WINDOW *, NCURSES_CONST char *,va_list); /* generated */ -extern NCURSES_EXPORT(int) waddch (WINDOW *, const chtype); /* implemented */ -extern NCURSES_EXPORT(int) waddchnstr (WINDOW *,const chtype *,int); /* implemented */ -extern NCURSES_EXPORT(int) waddchstr (WINDOW *,const chtype *); /* generated */ -extern NCURSES_EXPORT(int) waddnstr (WINDOW *,const char *,int); /* implemented */ -extern NCURSES_EXPORT(int) waddstr (WINDOW *,const char *); /* generated */ -extern NCURSES_EXPORT(int) wattron (WINDOW *, int); /* generated */ -extern NCURSES_EXPORT(int) wattroff (WINDOW *, int); /* generated */ -extern NCURSES_EXPORT(int) wattrset (WINDOW *, int); /* generated */ -extern NCURSES_EXPORT(int) wattr_get (WINDOW *, attr_t *, short *, void *); /* generated */ -extern NCURSES_EXPORT(int) wattr_on (WINDOW *, attr_t, void *); /* implemented */ -extern NCURSES_EXPORT(int) wattr_off (WINDOW *, attr_t, void *); /* implemented */ -extern NCURSES_EXPORT(int) wattr_set (WINDOW *, attr_t, short, void *); /* generated */ -extern NCURSES_EXPORT(int) wbkgd (WINDOW *, chtype); /* implemented */ -extern NCURSES_EXPORT(void) wbkgdset (WINDOW *,chtype); /* implemented */ -extern NCURSES_EXPORT(int) wborder (WINDOW *,chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype); /* implemented */ -extern NCURSES_EXPORT(int) wchgat (WINDOW *, int, attr_t, short, const void *);/* implemented */ -extern NCURSES_EXPORT(int) wclear (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wclrtobot (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wclrtoeol (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wcolor_set (WINDOW*,short,void*); /* implemented */ -extern NCURSES_EXPORT(void) wcursyncup (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wdelch (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wdeleteln (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) wechochar (WINDOW *, const chtype); /* implemented */ -extern NCURSES_EXPORT(int) werase (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wgetch (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int); /* implemented */ -extern NCURSES_EXPORT(int) wgetstr (WINDOW *, char *); /* generated */ -extern NCURSES_EXPORT(int) whline (WINDOW *, chtype, int); /* implemented */ -extern NCURSES_EXPORT(chtype) winch (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) winchnstr (WINDOW *, chtype *, int); /* implemented */ -extern NCURSES_EXPORT(int) winchstr (WINDOW *, chtype *); /* generated */ -extern NCURSES_EXPORT(int) winnstr (WINDOW *, char *, int); /* implemented */ -extern NCURSES_EXPORT(int) winsch (WINDOW *, chtype); /* implemented */ -extern NCURSES_EXPORT(int) winsdelln (WINDOW *,int); /* implemented */ -extern NCURSES_EXPORT(int) winsertln (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) winsnstr (WINDOW *, const char *,int); /* implemented */ -extern NCURSES_EXPORT(int) winsstr (WINDOW *, const char *); /* generated */ -extern NCURSES_EXPORT(int) winstr (WINDOW *, char *); /* generated */ -extern NCURSES_EXPORT(int) wmove (WINDOW *,int,int); /* implemented */ -extern NCURSES_EXPORT(int) wnoutrefresh (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wprintw (WINDOW *, const char *,...) /* implemented */ - GCC_PRINTFLIKE(2,3); -extern NCURSES_EXPORT(int) wredrawln (WINDOW *,int,int); /* implemented */ -extern NCURSES_EXPORT(int) wrefresh (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(int) wscanw (WINDOW *, NCURSES_CONST char *,...) /* implemented */ - GCC_SCANFLIKE(2,3); -extern NCURSES_EXPORT(int) wscrl (WINDOW *,int); /* implemented */ -extern NCURSES_EXPORT(int) wsetscrreg (WINDOW *,int,int); /* implemented */ -extern NCURSES_EXPORT(int) wstandout (WINDOW *); /* generated */ -extern NCURSES_EXPORT(int) wstandend (WINDOW *); /* generated */ -extern NCURSES_EXPORT(void) wsyncdown (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(void) wsyncup (WINDOW *); /* implemented */ -extern NCURSES_EXPORT(void) wtimeout (WINDOW *,int); /* implemented */ -extern NCURSES_EXPORT(int) wtouchln (WINDOW *,int,int,int); /* implemented */ -extern NCURSES_EXPORT(int) wvline (WINDOW *,chtype,int); /* implemented */ - -/* - * vid_attr() was implemented originally based on the draft of XSI curses. - */ -#ifndef _XOPEN_SOURCE_EXTENDED -#define vid_attr(a,pair,opts) vidattr(a) -#endif - -/* attributes */ - -#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) - -/* - * These apply to the first 256 color pairs. - */ -#define COLOR_PAIR(n) NCURSES_BITS(n, 0) -#define PAIR_NUMBER(a) (NCURSES_CAST(int,(((a) & A_COLOR) >> NCURSES_ATTR_SHIFT))) - -/* - * pseudo functions - */ -#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 gettmode() - -#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 getsyx(y,x) do { if(newscr->_leaveok) (y)=(x)=-1; \ - else getyx(newscr,(y),(x)); \ - } while(0) -#define setsyx(y,x) do { if((y)==-1 && (x)==-1) newscr->_leaveok=TRUE; \ - else {newscr->_leaveok=FALSE;wmove(newscr,(y),(x));} \ - } while(0) - -/* It seems older SYSV curses versions define these */ -#define getattrs(win) ((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) - -#if 0 -#define wattrset(win,at) ((win)->_color = PAIR_NUMBER(at), \ - (win)->_attrs = (at)) -#else -#define wattrset(win,at) ((win)->_attrs = (at)) -#endif - -#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) - -/* - * pseudo functions for standard screen - */ - -#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) - -/* - * mv functions - */ - -#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) - -/* - * Some wide-character functions can be implemented without the extensions. - */ -#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)) - -#if 0 -#define wattr_set(win,a,p,opts) ((win)->_attrs = ((a) & ~A_COLOR), \ - (win)->_color = (p), \ - OK) -#define wattr_get(win,a,p,opts) ((void)((a) != 0 && (*(a) = (win)->_attrs)), \ - (void)((p) != 0 && (*(p) = (win)->_color)), \ - OK) -#else -#define wattr_set(win,a,p,opts) ((win)->_attrs = (((a) & ~A_COLOR) | COLOR_PAIR(p)), OK) -#define wattr_get(win,a,p,opts) ((void)((a) != 0 && (*(a) = (win)->_attrs)), \ - (void)((p) != 0 && (*(p) = PAIR_NUMBER((win)->_attrs))), \ - OK) -#endif - -/* - * XSI curses deprecates SVr4 vwprintw/vwscanw, which are supposed to use - * varargs.h. It adds new calls vw_printw/vw_scanw, which are supposed to - * use POSIX stdarg.h. The ncurses versions of vwprintw/vwscanw already - * use stdarg.h, so... - */ -#define vw_printw vwprintw -#define vw_scanw vwscanw - -/* - * Export fallback function for use in C++ binding. - */ -#if !1 -#define vsscanf(a,b,c) _nc_vsscanf(a,b,c) -NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list); -#endif - -/* - * Pseudo-character tokens outside ASCII range. The curses wgetch() function - * will return any given one of these only if the corresponding k- capability - * is defined in your terminal's terminfo entry. - * - * Some keys (KEY_A1, etc) are arranged like this: - * a1 up a3 - * left b2 right - * c1 down c3 - * - * A few key codes do not depend upon the terminfo entry. - */ -#define KEY_CODE_YES 0400 /* A wchar_t contains a key code */ -#define KEY_MIN 0401 /* Minimum curses key */ -#define KEY_BREAK 0401 /* Break key (unreliable) */ -#define KEY_SRESET 0530 /* Soft (partial) reset (unreliable) */ -#define KEY_RESET 0531 /* Reset or hard reset (unreliable) */ diff --git a/src/libs/ncurses/include/curses.tail b/src/libs/ncurses/include/curses.tail deleted file mode 100644 index 66388e395d..0000000000 --- a/src/libs/ncurses/include/curses.tail +++ /dev/null @@ -1,174 +0,0 @@ -/* $Id: curses.tail,v 1.12 2005/03/27 00:09:51 tom Exp $ */ - -/* mouse interface */ - -#if NCURSES_MOUSE_VERSION > 1 -#define NCURSES_MOUSE_MASK(b,m) ((m) << (((b) - 1) * 5)) -#else -#define NCURSES_MOUSE_MASK(b,m) ((m) << (((b) - 1) * 6)) -#endif - -#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 - -/* event masks */ -#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) - -/* - * In 32 bits the version-1 scheme does not provide enough space for a 5th - * button, unless we choose to change the ABI by omitting the reserved-events. - */ -#if NCURSES_MOUSE_VERSION > 1 - -#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) - -#else - -#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 BUTTON_CTRL NCURSES_MOUSE_MASK(5, 0001L) -#define BUTTON_SHIFT NCURSES_MOUSE_MASK(5, 0002L) -#define BUTTON_ALT NCURSES_MOUSE_MASK(5, 0004L) -#define REPORT_MOUSE_POSITION NCURSES_MOUSE_MASK(5, 0010L) - -#endif - -#define ALL_MOUSE_EVENTS (REPORT_MOUSE_POSITION - 1) - -/* macros to extract single event-bits from masks */ -#define BUTTON_RELEASE(e, x) ((e) & (001 << (6 * ((x) - 1)))) -#define BUTTON_PRESS(e, x) ((e) & (002 << (6 * ((x) - 1)))) -#define BUTTON_CLICK(e, x) ((e) & (004 << (6 * ((x) - 1)))) -#define BUTTON_DOUBLE_CLICK(e, x) ((e) & (010 << (6 * ((x) - 1)))) -#define BUTTON_TRIPLE_CLICK(e, x) ((e) & (020 << (6 * ((x) - 1)))) -#define BUTTON_RESERVED_EVENT(e, x) ((e) & (040 << (6 * ((x) - 1)))) - -typedef struct -{ - short id; /* ID to distinguish multiple devices */ - int x, y, z; /* event coordinates (character-cell) */ - mmask_t bstate; /* button state bits */ -} -MEVENT; - -extern NCURSES_EXPORT(int) getmouse (MEVENT *); -extern NCURSES_EXPORT(int) ungetmouse (MEVENT *); -extern NCURSES_EXPORT(mmask_t) mousemask (mmask_t, mmask_t *); -extern NCURSES_EXPORT(bool) wenclose (const WINDOW *, int, int); -extern NCURSES_EXPORT(int) mouseinterval (int); -extern NCURSES_EXPORT(bool) wmouse_trafo (const WINDOW*, int*, int*, bool); -extern NCURSES_EXPORT(bool) mouse_trafo (int*, int*, bool); /* generated */ - -#define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen) - -/* other non-XSI functions */ - -extern NCURSES_EXPORT(int) mcprint (char *, int); /* direct data to printer */ -extern NCURSES_EXPORT(int) has_key (int); /* do we have given key? */ - -/* Debugging : use with libncurses_g.a */ - -extern NCURSES_EXPORT(void) _tracef (const char *, ...) GCC_PRINTFLIKE(1,2); -extern NCURSES_EXPORT(void) _tracedump (const char *, WINDOW *); -extern NCURSES_EXPORT(char *) _traceattr (attr_t); -extern NCURSES_EXPORT(char *) _traceattr2 (int, chtype); -extern NCURSES_EXPORT(char *) _nc_tracebits (void); -extern NCURSES_EXPORT(char *) _tracechar (int); -extern NCURSES_EXPORT(char *) _tracechtype (chtype); -extern NCURSES_EXPORT(char *) _tracechtype2 (int, chtype); -#ifdef _XOPEN_SOURCE_EXTENDED -#define _tracech_t _tracecchar_t -extern NCURSES_EXPORT(char *) _tracecchar_t (const cchar_t *); -#define _tracech_t2 _tracecchar_t2 -extern NCURSES_EXPORT(char *) _tracecchar_t2 (int, const cchar_t *); -#else -#define _tracech_t _tracechtype -#define _tracech_t2 _tracechtype2 -#endif -extern NCURSES_EXPORT(char *) _tracemouse (const MEVENT *); -extern NCURSES_EXPORT(void) trace (const unsigned int); - -/* trace masks */ -#define TRACE_DISABLE 0x0000 /* turn off tracing */ -#define TRACE_TIMES 0x0001 /* trace user and system times of updates */ -#define TRACE_TPUTS 0x0002 /* trace tputs calls */ -#define TRACE_UPDATE 0x0004 /* trace update actions, old & new screens */ -#define TRACE_MOVE 0x0008 /* trace cursor moves and scrolls */ -#define TRACE_CHARPUT 0x0010 /* trace all character outputs */ -#define TRACE_ORDINARY 0x001F /* trace all update actions */ -#define TRACE_CALLS 0x0020 /* trace all curses calls */ -#define TRACE_VIRTPUT 0x0040 /* trace virtual character puts */ -#define TRACE_IEVENT 0x0080 /* trace low-level input processing */ -#define TRACE_BITS 0x0100 /* trace state of TTY control bits */ -#define TRACE_ICALLS 0x0200 /* trace internal/nested calls */ -#define TRACE_CCALLS 0x0400 /* trace per-character calls */ -#define TRACE_DATABASE 0x0800 /* trace read/write of terminfo/termcap data */ -#define TRACE_ATTRS 0x1000 /* trace attribute updates */ - -#define TRACE_SHIFT 13 /* number of bits in the trace masks */ -#define TRACE_MAXIMUM ((1 << TRACE_SHIFT) - 1) /* maximum trace level */ - -#if defined(TRACE) || defined(NCURSES_TEST) -extern NCURSES_EXPORT_VAR(int) _nc_optimize_enable; /* enable optimizations */ -#ifdef _XOPEN_SOURCE_EXTENDED -extern NCURSES_EXPORT(const char *) _nc_viswbuf(const wchar_t *); -extern NCURSES_EXPORT(const char *) _nc_viswibuf(const wint_t *); -#endif -extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *); -#define OPTIMIZE_MVCUR 0x01 /* cursor movement optimization */ -#define OPTIMIZE_HASHMAP 0x02 /* diff hashing to detect scrolls */ -#define OPTIMIZE_SCROLL 0x04 /* scroll optimization */ -#define OPTIMIZE_ALL 0xff /* enable all optimizations (dflt) */ -#endif - -#ifdef __cplusplus - -/* these names conflict with STL */ -#undef box -#undef clear -#undef erase -#undef move -#undef refresh - -} -#endif - -#endif /* __NCURSES_H */ diff --git a/src/libs/ncurses/include/curses.wide b/src/libs/ncurses/include/curses.wide deleted file mode 100644 index 932b6e23c6..0000000000 --- a/src/libs/ncurses/include/curses.wide +++ /dev/null @@ -1,237 +0,0 @@ - -#ifdef _XOPEN_SOURCE_EXTENDED - -/* $Id: curses.wide,v 1.29 2005/01/28 21:11:53 tom Exp $ */ - -extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs; - -#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') /* scan line 1 */ -#define WACS_S9 NCURSES_WACS('s') /* scan line 9 */ -#define WACS_DIAMOND NCURSES_WACS('`') /* diamond */ -#define WACS_CKBOARD NCURSES_WACS('a') /* checker board */ -#define WACS_DEGREE NCURSES_WACS('f') /* degree symbol */ -#define WACS_PLMINUS NCURSES_WACS('g') /* plus/minus */ -#define WACS_BULLET NCURSES_WACS('~') /* bullet */ - - /* Teletype 5410v1 symbols */ -#define WACS_LARROW NCURSES_WACS(',') /* arrow left */ -#define WACS_RARROW NCURSES_WACS('+') /* arrow right */ -#define WACS_DARROW NCURSES_WACS('.') /* arrow down */ -#define WACS_UARROW NCURSES_WACS('-') /* arrow up */ -#define WACS_BOARD NCURSES_WACS('h') /* board of squares */ -#define WACS_LANTERN NCURSES_WACS('i') /* lantern symbol */ -#define WACS_BLOCK NCURSES_WACS('0') /* solid square block */ - - /* ncurses extensions */ -#define WACS_S3 NCURSES_WACS('p') /* scan line 3 */ -#define WACS_S7 NCURSES_WACS('r') /* scan line 7 */ -#define WACS_LEQUAL NCURSES_WACS('y') /* less/equal */ -#define WACS_GEQUAL NCURSES_WACS('z') /* greater/equal */ -#define WACS_PI NCURSES_WACS('{') /* Pi */ -#define WACS_NEQUAL NCURSES_WACS('|') /* not equal */ -#define WACS_STERLING NCURSES_WACS('}') /* UK pound sign */ - -/* - * Function prototypes for wide-character operations. - * - * "generated" comments should include ":WIDEC" to make the corresponding - * functions ifdef'd in lib_gen.c - * - * "implemented" comments do not need this marker. - */ - -extern NCURSES_EXPORT(int) add_wch (const cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) add_wchnstr (const cchar_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) add_wchstr (const cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) addnwstr (const wchar_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) addwstr (const wchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) bkgrnd (const cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(void) bkgrndset (const cchar_t *); /* generated:WIDEC */ -extern 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 */ -extern NCURSES_EXPORT(int) box_set (WINDOW *, const cchar_t *, const cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) echo_wchar (const cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) erasewchar (wchar_t*); /* implemented */ -extern NCURSES_EXPORT(int) get_wch (wint_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) get_wstr (wint_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) getbkgrnd (cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) getcchar (const cchar_t *, wchar_t*, attr_t*, short*, void*); /* implemented */ -extern NCURSES_EXPORT(int) getn_wstr (wint_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) hline_set (const cchar_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) in_wch (cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) in_wchnstr (cchar_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) in_wchstr (cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) innwstr (wchar_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) ins_nwstr (const wchar_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) ins_wch (const cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) ins_wstr (const wchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) inwstr (wchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(NCURSES_CONST char*) key_name (wchar_t); /* implemented */ -extern NCURSES_EXPORT(int) killwchar (wchar_t *); /* implemented */ -extern NCURSES_EXPORT(int) mvadd_wch (int, int, const cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvadd_wchnstr (int, int, const cchar_t *, int);/* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvadd_wchstr (int, int, const cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvaddnwstr (int, int, const wchar_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvaddwstr (int, int, const wchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvget_wch (int, int, wint_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvget_wstr (int, int, wint_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvgetn_wstr (int, int, wint_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvhline_set (int, int, const cchar_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvin_wch (int, int, cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvin_wchnstr (int, int, cchar_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvin_wchstr (int, int, cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvinnwstr (int, int, wchar_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvins_nwstr (int, int, const wchar_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvins_wch (int, int, const cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvins_wstr (int, int, const wchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvinwstr (int, int, wchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvvline_set (int, int, const cchar_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwadd_wch (WINDOW *, int, int, const cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwadd_wchnstr (WINDOW *, int, int, const cchar_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwadd_wchstr (WINDOW *, int, int, const cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwaddnwstr (WINDOW *, int, int, const wchar_t *, int);/* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwaddwstr (WINDOW *, int, int, const wchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwget_wch (WINDOW *, int, int, wint_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwget_wstr (WINDOW *, int, int, wint_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwgetn_wstr (WINDOW *, int, int, wint_t *, int);/* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwhline_set (WINDOW *, int, int, const cchar_t *, int);/* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwin_wch (WINDOW *, int, int, cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwin_wchnstr (WINDOW *, int,int, cchar_t *,int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwin_wchstr (WINDOW *, int, int, cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwinnwstr (WINDOW *, int, int, wchar_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwins_nwstr (WINDOW *, int,int, const wchar_t *,int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwins_wch (WINDOW *, int, int, const cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwins_wstr (WINDOW *, int, int, const wchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwinwstr (WINDOW *, int, int, wchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) mvwvline_set (WINDOW *, int,int, const cchar_t *,int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) pecho_wchar (WINDOW *, const cchar_t *); /* implemented */ -extern NCURSES_EXPORT(int) setcchar (cchar_t *, const wchar_t *, const attr_t, short, const void *); /* implemented */ -extern NCURSES_EXPORT(int) slk_wset (int, const wchar_t *, int); /* implemented */ -extern NCURSES_EXPORT(attr_t) term_attrs (void); /* implemented */ -extern NCURSES_EXPORT(int) unget_wch (const wchar_t); /* implemented */ -extern NCURSES_EXPORT(int) vid_attr (attr_t, short, void *); /* implemented */ -extern NCURSES_EXPORT(int) vid_puts (attr_t, short, void *, int (*)(int)); /* implemented */ -extern NCURSES_EXPORT(int) vline_set (const cchar_t *, int); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) wadd_wch (WINDOW *,const cchar_t *); /* implemented */ -extern NCURSES_EXPORT(int) wadd_wchnstr (WINDOW *,const cchar_t *,int); /* implemented */ -extern NCURSES_EXPORT(int) wadd_wchstr (WINDOW *,const cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) waddnwstr (WINDOW *,const wchar_t *,int); /* implemented */ -extern NCURSES_EXPORT(int) waddwstr (WINDOW *,const wchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) wbkgrnd (WINDOW *,const cchar_t *); /* implemented */ -extern NCURSES_EXPORT(void) wbkgrndset (WINDOW *,const cchar_t *); /* implemented */ -extern 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 */ -extern NCURSES_EXPORT(int) wecho_wchar (WINDOW *, const cchar_t *); /* implemented */ -extern NCURSES_EXPORT(int) wget_wch (WINDOW *, wint_t *); /* implemented */ -extern NCURSES_EXPORT(int) wget_wstr (WINDOW *, wint_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) wgetbkgrnd (WINDOW *, cchar_t *); /* implemented */ -extern NCURSES_EXPORT(int) wgetn_wstr (WINDOW *,wint_t *, int); /* implemented */ -extern NCURSES_EXPORT(int) whline_set (WINDOW *, const cchar_t *, int); /* implemented */ -extern NCURSES_EXPORT(int) win_wch (WINDOW *, cchar_t *); /* implemented */ -extern NCURSES_EXPORT(int) win_wchnstr (WINDOW *, cchar_t *, int); /* implemented */ -extern NCURSES_EXPORT(int) win_wchstr (WINDOW *, cchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) winnwstr (WINDOW *, wchar_t *, int); /* implemented */ -extern NCURSES_EXPORT(int) wins_nwstr (WINDOW *, const wchar_t *, int); /* implemented */ -extern NCURSES_EXPORT(int) wins_wch (WINDOW *, const cchar_t *); /* implemented */ -extern NCURSES_EXPORT(int) wins_wstr (WINDOW *, const wchar_t *); /* generated:WIDEC */ -extern NCURSES_EXPORT(int) winwstr (WINDOW *, wchar_t *); /* implemented */ -extern NCURSES_EXPORT(wchar_t*) wunctrl (cchar_t *); /* implemented */ -extern NCURSES_EXPORT(int) wvline_set (WINDOW *, const cchar_t *, int); /* implemented */ - -/* - * XSI curses macros for XPG4 conformance. - */ -#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 wgetbkgrnd(win,wch) (*wch = win->_bkgrnd, OK) -#define win_wchstr(w,c) win_wchnstr(w,c,-1) -#define wins_wstr(w,t) wins_nwstr(w,t,-1) - -#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)) - -#endif /* _XOPEN_SOURCE_EXTENDED */ diff --git a/src/libs/ncurses/include/edit_cfg.sh b/src/libs/ncurses/include/edit_cfg.sh deleted file mode 100755 index 8d64fee180..0000000000 --- a/src/libs/ncurses/include/edit_cfg.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh -# $Id: edit_cfg.sh,v 1.12 2001/12/23 00:52:40 tom Exp $ -############################################################################## -# Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996,1997,2000 -# -# Edit the default value of the term.h file based on the autoconf-generated -# values: -# -# $1 = ncurses_cfg.h -# $2 = term.h -# -BAK=save$$ -TMP=edit$$ -trap "rm -f $BAK $TMP" 0 1 2 5 15 -for name in \ - HAVE_TCGETATTR \ - HAVE_TERMIOS_H \ - HAVE_TERMIO_H \ - BROKEN_LINKER -do - mv $2 $BAK - if ( grep "[ ]$name[ ]" $1 2>&1 >$TMP ) - then - value=1 - else - value=0 - fi - echo '** edit: '$name $value - sed \ - -e "s@#define ${name}.*\$@#define $name $value@" \ - -e "s@#if $name\$@#if $value /* $name */@" \ - -e "s@#if !$name\$@#if $value /* !$name */@" \ - $BAK >$2 - if (cmp -s $2 $BAK) - then - mv $BAK $2 - else - rm -f $BAK - fi -done diff --git a/src/libs/ncurses/include/eti.h b/src/libs/ncurses/include/eti.h deleted file mode 100644 index baa6190d8f..0000000000 --- a/src/libs/ncurses/include/eti.h +++ /dev/null @@ -1,54 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/* $Id: eti.h,v 1.8 2003/10/25 15:24:29 tom Exp $ */ - -#ifndef NCURSES_ETI_H_incl -#define NCURSES_ETI_H_incl 1 - -#define E_OK (0) -#define E_SYSTEM_ERROR (-1) -#define E_BAD_ARGUMENT (-2) -#define E_POSTED (-3) -#define E_CONNECTED (-4) -#define E_BAD_STATE (-5) -#define E_NO_ROOM (-6) -#define E_NOT_POSTED (-7) -#define E_UNKNOWN_COMMAND (-8) -#define E_NO_MATCH (-9) -#define E_NOT_SELECTABLE (-10) -#define E_NOT_CONNECTED (-11) -#define E_REQUEST_DENIED (-12) -#define E_INVALID_FIELD (-13) -#define E_CURRENT (-14) - -#endif diff --git a/src/libs/ncurses/include/form.h b/src/libs/ncurses/include/form.h deleted file mode 100644 index a4691a86e8..0000000000 --- a/src/libs/ncurses/include/form.h +++ /dev/null @@ -1,403 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/* $Id: form.h,v 0.20 2004/12/04 22:22:10 tom Exp $ */ - -#ifndef FORM_H -#define FORM_H - -#include -#include - -#ifdef __cplusplus - extern "C" { -#endif - -#ifndef FORM_PRIV_H -typedef void *FIELD_CELL; -#endif - -#ifndef NCURSES_FIELD_INTERNALS -#define NCURSES_FIELD_INTERNALS /* nothing */ -#endif - -typedef int Form_Options; -typedef int Field_Options; - - /********** - * _PAGE * - **********/ - -typedef struct { - short pmin; /* index of first field on page */ - short pmax; /* index of last field on page */ - short smin; /* index of top leftmost field on page */ - short smax; /* index of bottom rightmost field on page */ -} _PAGE; - - /********** - * FIELD * - **********/ - -typedef struct fieldnode { - unsigned short status; /* flags */ - short rows; /* size in rows */ - short cols; /* size in cols */ - short frow; /* first row */ - short fcol; /* first col */ - int drows; /* dynamic rows */ - int dcols; /* dynamic cols */ - int maxgrow; /* maximum field growth */ - int nrow; /* off-screen rows */ - short nbuf; /* additional buffers */ - short just; /* justification */ - short page; /* page on form */ - short index; /* into form -> field */ - int pad; /* pad character */ - chtype fore; /* foreground attribute */ - chtype back; /* background attribute */ - Field_Options opts; /* options */ - struct fieldnode * snext; /* sorted order pointer */ - struct fieldnode * sprev; /* sorted order pointer */ - struct fieldnode * link; /* linked field chain */ - struct formnode * form; /* containing form */ - struct typenode * type; /* field type */ - void * arg; /* argument for type */ - FIELD_CELL * buf; /* field buffers */ - void * usrptr; /* user pointer */ - /* - * The wide-character configuration requires extra information. Because - * there are existing applications that manipulate the members of FIELD - * directly, we cannot make the struct opaque. Offsets of members up to - * this point are the same in the narrow- and wide-character configuration. - * But note that the type of buf depends on the configuration, and is made - * opaque for that reason. - */ - NCURSES_FIELD_INTERNALS -} FIELD; - - /************** - * FIELDTYPE * - **************/ - -typedef struct typenode { - unsigned short status; /* flags */ - long ref; /* reference count */ - struct typenode * left; /* ptr to operand for | */ - struct typenode * right; /* ptr to operand for | */ - - void* (*makearg)(va_list *); /* make fieldtype arg */ - void* (*copyarg)(const void *); /* copy fieldtype arg */ - void (*freearg)(void *); /* free fieldtype arg */ - - bool (*fcheck)(FIELD *,const void *); /* field validation */ - bool (*ccheck)(int,const void *); /* character validation */ - - bool (*next)(FIELD *,const void *); /* enumerate next value */ - bool (*prev)(FIELD *,const void *); /* enumerate prev value */ - -} FIELDTYPE; - - /********* - * FORM * - *********/ - -typedef struct formnode { - unsigned short status; /* flags */ - short rows; /* size in rows */ - short cols; /* size in cols */ - int currow; /* current row in field window */ - int curcol; /* current col in field window */ - int toprow; /* in scrollable field window */ - int begincol; /* in horiz. scrollable field */ - short maxfield; /* number of fields */ - short maxpage; /* number of pages */ - short curpage; /* index into page */ - Form_Options opts; /* options */ - WINDOW * win; /* window */ - WINDOW * sub; /* subwindow */ - WINDOW * w; /* window for current field */ - FIELD ** field; /* field [maxfield] */ - FIELD * current; /* current field */ - _PAGE * page; /* page [maxpage] */ - void * usrptr; /* user pointer */ - - void (*forminit)(struct formnode *); - void (*formterm)(struct formnode *); - void (*fieldinit)(struct formnode *); - void (*fieldterm)(struct formnode *); - -} FORM; - -typedef void (*Form_Hook)(FORM *); - - /*************************** - * miscellaneous #defines * - ***************************/ - -/* field justification */ -#define NO_JUSTIFICATION (0) -#define JUSTIFY_LEFT (1) -#define JUSTIFY_CENTER (2) -#define JUSTIFY_RIGHT (3) - -/* field options */ -#define O_VISIBLE (0x0001U) -#define O_ACTIVE (0x0002U) -#define O_PUBLIC (0x0004U) -#define O_EDIT (0x0008U) -#define O_WRAP (0x0010U) -#define O_BLANK (0x0020U) -#define O_AUTOSKIP (0x0040U) -#define O_NULLOK (0x0080U) -#define O_PASSOK (0x0100U) -#define O_STATIC (0x0200U) - -/* form options */ -#define O_NL_OVERLOAD (0x0001U) -#define O_BS_OVERLOAD (0x0002U) - -/* form driver commands */ -#define REQ_NEXT_PAGE (KEY_MAX + 1) /* move to next page */ -#define REQ_PREV_PAGE (KEY_MAX + 2) /* move to previous page */ -#define REQ_FIRST_PAGE (KEY_MAX + 3) /* move to first page */ -#define REQ_LAST_PAGE (KEY_MAX + 4) /* move to last page */ - -#define REQ_NEXT_FIELD (KEY_MAX + 5) /* move to next field */ -#define REQ_PREV_FIELD (KEY_MAX + 6) /* move to previous field */ -#define REQ_FIRST_FIELD (KEY_MAX + 7) /* move to first field */ -#define REQ_LAST_FIELD (KEY_MAX + 8) /* move to last field */ -#define REQ_SNEXT_FIELD (KEY_MAX + 9) /* move to sorted next field */ -#define REQ_SPREV_FIELD (KEY_MAX + 10) /* move to sorted prev field */ -#define REQ_SFIRST_FIELD (KEY_MAX + 11) /* move to sorted first field */ -#define REQ_SLAST_FIELD (KEY_MAX + 12) /* move to sorted last field */ -#define REQ_LEFT_FIELD (KEY_MAX + 13) /* move to left to field */ -#define REQ_RIGHT_FIELD (KEY_MAX + 14) /* move to right to field */ -#define REQ_UP_FIELD (KEY_MAX + 15) /* move to up to field */ -#define REQ_DOWN_FIELD (KEY_MAX + 16) /* move to down to field */ - -#define REQ_NEXT_CHAR (KEY_MAX + 17) /* move to next char in field */ -#define REQ_PREV_CHAR (KEY_MAX + 18) /* move to prev char in field */ -#define REQ_NEXT_LINE (KEY_MAX + 19) /* move to next line in field */ -#define REQ_PREV_LINE (KEY_MAX + 20) /* move to prev line in field */ -#define REQ_NEXT_WORD (KEY_MAX + 21) /* move to next word in field */ -#define REQ_PREV_WORD (KEY_MAX + 22) /* move to prev word in field */ -#define REQ_BEG_FIELD (KEY_MAX + 23) /* move to first char in field */ -#define REQ_END_FIELD (KEY_MAX + 24) /* move after last char in fld */ -#define REQ_BEG_LINE (KEY_MAX + 25) /* move to beginning of line */ -#define REQ_END_LINE (KEY_MAX + 26) /* move after last char in line */ -#define REQ_LEFT_CHAR (KEY_MAX + 27) /* move left in field */ -#define REQ_RIGHT_CHAR (KEY_MAX + 28) /* move right in field */ -#define REQ_UP_CHAR (KEY_MAX + 29) /* move up in field */ -#define REQ_DOWN_CHAR (KEY_MAX + 30) /* move down in field */ - -#define REQ_NEW_LINE (KEY_MAX + 31) /* insert/overlay new line */ -#define REQ_INS_CHAR (KEY_MAX + 32) /* insert blank char at cursor */ -#define REQ_INS_LINE (KEY_MAX + 33) /* insert blank line at cursor */ -#define REQ_DEL_CHAR (KEY_MAX + 34) /* delete char at cursor */ -#define REQ_DEL_PREV (KEY_MAX + 35) /* delete char before cursor */ -#define REQ_DEL_LINE (KEY_MAX + 36) /* delete line at cursor */ -#define REQ_DEL_WORD (KEY_MAX + 37) /* delete word at cursor */ -#define REQ_CLR_EOL (KEY_MAX + 38) /* clear to end of line */ -#define REQ_CLR_EOF (KEY_MAX + 39) /* clear to end of field */ -#define REQ_CLR_FIELD (KEY_MAX + 40) /* clear entire field */ -#define REQ_OVL_MODE (KEY_MAX + 41) /* begin overlay mode */ -#define REQ_INS_MODE (KEY_MAX + 42) /* begin insert mode */ -#define REQ_SCR_FLINE (KEY_MAX + 43) /* scroll field forward a line */ -#define REQ_SCR_BLINE (KEY_MAX + 44) /* scroll field backward a line */ -#define REQ_SCR_FPAGE (KEY_MAX + 45) /* scroll field forward a page */ -#define REQ_SCR_BPAGE (KEY_MAX + 46) /* scroll field backward a page */ -#define REQ_SCR_FHPAGE (KEY_MAX + 47) /* scroll field forward half page */ -#define REQ_SCR_BHPAGE (KEY_MAX + 48) /* scroll field backward half page */ -#define REQ_SCR_FCHAR (KEY_MAX + 49) /* horizontal scroll char */ -#define REQ_SCR_BCHAR (KEY_MAX + 50) /* horizontal scroll char */ -#define REQ_SCR_HFLINE (KEY_MAX + 51) /* horizontal scroll line */ -#define REQ_SCR_HBLINE (KEY_MAX + 52) /* horizontal scroll line */ -#define REQ_SCR_HFHALF (KEY_MAX + 53) /* horizontal scroll half line */ -#define REQ_SCR_HBHALF (KEY_MAX + 54) /* horizontal scroll half line */ - -#define REQ_VALIDATION (KEY_MAX + 55) /* validate field */ -#define REQ_NEXT_CHOICE (KEY_MAX + 56) /* display next field choice */ -#define REQ_PREV_CHOICE (KEY_MAX + 57) /* display prev field choice */ - -#define MIN_FORM_COMMAND (KEY_MAX + 1) /* used by form_driver */ -#define MAX_FORM_COMMAND (KEY_MAX + 57) /* used by form_driver */ - -#if defined(MAX_COMMAND) -# if (MAX_FORM_COMMAND > MAX_COMMAND) -# error Something is wrong -- MAX_FORM_COMMAND is greater than MAX_COMMAND -# elif (MAX_COMMAND != (KEY_MAX + 128)) -# error Something is wrong -- MAX_COMMAND is already inconsistently defined. -# endif -#else -# define MAX_COMMAND (KEY_MAX + 128) -#endif - - /************************* - * standard field types * - *************************/ -extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ALPHA; -extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ALNUM; -extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ENUM; -extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_INTEGER; -extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_NUMERIC; -extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_REGEXP; - - /************************************ - * built-in additional field types * - * They are not defined in SVr4 * - ************************************/ -extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_IPV4; /* Internet IP Version 4 address */ - - /*********************** - * Default objects * - ***********************/ -extern NCURSES_EXPORT_VAR(FORM *) _nc_Default_Form; -extern NCURSES_EXPORT_VAR(FIELD *) _nc_Default_Field; - - - /*********************** - * FIELDTYPE routines * - ***********************/ -extern NCURSES_EXPORT(FIELDTYPE *) new_fieldtype ( - bool (* const field_check)(FIELD *,const void *), - bool (* const char_check)(int,const void *)); -extern NCURSES_EXPORT(FIELDTYPE *) link_fieldtype( - FIELDTYPE *, FIELDTYPE *); - -extern NCURSES_EXPORT(int) free_fieldtype (FIELDTYPE *); -extern NCURSES_EXPORT(int) set_fieldtype_arg (FIELDTYPE *, - void * (* const make_arg)(va_list *), - void * (* const copy_arg)(const void *), - void (* const free_arg)(void *)); -extern NCURSES_EXPORT(int) set_fieldtype_choice (FIELDTYPE *, - bool (* const next_choice)(FIELD *,const void *), - bool (* const prev_choice)(FIELD *,const void *)); - - /******************* - * FIELD routines * - *******************/ -extern NCURSES_EXPORT(FIELD *) new_field (int,int,int,int,int,int); -extern NCURSES_EXPORT(FIELD *) dup_field (FIELD *,int,int); -extern NCURSES_EXPORT(FIELD *) link_field (FIELD *,int,int); - -extern NCURSES_EXPORT(int) free_field (FIELD *); -extern NCURSES_EXPORT(int) field_info (const FIELD *,int *,int *,int *,int *,int *,int *); -extern NCURSES_EXPORT(int) dynamic_field_info (const FIELD *,int *,int *,int *); -extern NCURSES_EXPORT(int) set_max_field ( FIELD *,int); -extern NCURSES_EXPORT(int) move_field (FIELD *,int,int); -extern NCURSES_EXPORT(int) set_field_type (FIELD *,FIELDTYPE *,...); -extern NCURSES_EXPORT(int) set_new_page (FIELD *,bool); -extern NCURSES_EXPORT(int) set_field_just (FIELD *,int); -extern NCURSES_EXPORT(int) field_just (const FIELD *); -extern NCURSES_EXPORT(int) set_field_fore (FIELD *,chtype); -extern NCURSES_EXPORT(int) set_field_back (FIELD *,chtype); -extern NCURSES_EXPORT(int) set_field_pad (FIELD *,int); -extern NCURSES_EXPORT(int) field_pad (const FIELD *); -extern NCURSES_EXPORT(int) set_field_buffer (FIELD *,int,const char *); -extern NCURSES_EXPORT(int) set_field_status (FIELD *,bool); -extern NCURSES_EXPORT(int) set_field_userptr (FIELD *, void *); -extern NCURSES_EXPORT(int) set_field_opts (FIELD *,Field_Options); -extern NCURSES_EXPORT(int) field_opts_on (FIELD *,Field_Options); -extern NCURSES_EXPORT(int) field_opts_off (FIELD *,Field_Options); - -extern NCURSES_EXPORT(chtype) field_fore (const FIELD *); -extern NCURSES_EXPORT(chtype) field_back (const FIELD *); - -extern NCURSES_EXPORT(bool) new_page (const FIELD *); -extern NCURSES_EXPORT(bool) field_status (const FIELD *); - -extern NCURSES_EXPORT(void *) field_arg (const FIELD *); - -extern NCURSES_EXPORT(void *) field_userptr (const FIELD *); - -extern NCURSES_EXPORT(FIELDTYPE *) field_type (const FIELD *); - -extern NCURSES_EXPORT(char *) field_buffer (const FIELD *,int); - -extern NCURSES_EXPORT(Field_Options) field_opts (const FIELD *); - - /****************** - * FORM routines * - ******************/ - -extern NCURSES_EXPORT(FORM *) new_form (FIELD **); - -extern NCURSES_EXPORT(FIELD **) form_fields (const FORM *); -extern NCURSES_EXPORT(FIELD *) current_field (const FORM *); - -extern NCURSES_EXPORT(WINDOW *) form_win (const FORM *); -extern NCURSES_EXPORT(WINDOW *) form_sub (const FORM *); - -extern NCURSES_EXPORT(Form_Hook) form_init (const FORM *); -extern NCURSES_EXPORT(Form_Hook) form_term (const FORM *); -extern NCURSES_EXPORT(Form_Hook) field_init (const FORM *); -extern NCURSES_EXPORT(Form_Hook) field_term (const FORM *); - -extern NCURSES_EXPORT(int) free_form (FORM *); -extern NCURSES_EXPORT(int) set_form_fields (FORM *,FIELD **); -extern NCURSES_EXPORT(int) field_count (const FORM *); -extern NCURSES_EXPORT(int) set_form_win (FORM *,WINDOW *); -extern NCURSES_EXPORT(int) set_form_sub (FORM *,WINDOW *); -extern NCURSES_EXPORT(int) set_current_field (FORM *,FIELD *); -extern NCURSES_EXPORT(int) field_index (const FIELD *); -extern NCURSES_EXPORT(int) set_form_page (FORM *,int); -extern NCURSES_EXPORT(int) form_page (const FORM *); -extern NCURSES_EXPORT(int) scale_form (const FORM *,int *,int *); -extern NCURSES_EXPORT(int) set_form_init (FORM *,Form_Hook); -extern NCURSES_EXPORT(int) set_form_term (FORM *,Form_Hook); -extern NCURSES_EXPORT(int) set_field_init (FORM *,Form_Hook); -extern NCURSES_EXPORT(int) set_field_term (FORM *,Form_Hook); -extern NCURSES_EXPORT(int) post_form (FORM *); -extern NCURSES_EXPORT(int) unpost_form (FORM *); -extern NCURSES_EXPORT(int) pos_form_cursor (FORM *); -extern NCURSES_EXPORT(int) form_driver (FORM *,int); -extern NCURSES_EXPORT(int) set_form_userptr (FORM *,void *); -extern NCURSES_EXPORT(int) set_form_opts (FORM *,Form_Options); -extern NCURSES_EXPORT(int) form_opts_on (FORM *,Form_Options); -extern NCURSES_EXPORT(int) form_opts_off (FORM *,Form_Options); -extern NCURSES_EXPORT(int) form_request_by_name (const char *); - -extern NCURSES_EXPORT(const char *) form_request_name (int); - -extern NCURSES_EXPORT(void *) form_userptr (const FORM *); - -extern NCURSES_EXPORT(Form_Options) form_opts (const FORM *); - -extern NCURSES_EXPORT(bool) data_ahead (const FORM *); -extern NCURSES_EXPORT(bool) data_behind (const FORM *); - -#ifdef __cplusplus - } -#endif - -#endif /* FORM_H */ diff --git a/src/libs/ncurses/include/hashsize.h b/src/libs/ncurses/include/hashsize.h deleted file mode 100644 index ac7f3b78ae..0000000000 --- a/src/libs/ncurses/include/hashsize.h +++ /dev/null @@ -1,6 +0,0 @@ -/* - * hashsize.h -- hash and token table constants - */ - -#define CAPTABSIZE 497 -#define HASHTABSIZE ( 497 * 2) diff --git a/src/libs/ncurses/include/headers b/src/libs/ncurses/include/headers deleted file mode 100644 index da3738db1e..0000000000 --- a/src/libs/ncurses/include/headers +++ /dev/null @@ -1,35 +0,0 @@ -############################################################################## -# Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996 -# -term.h -curses.h -unctrl.h -termcap.h -$(srcdir)/ncurses_dll.h diff --git a/src/libs/ncurses/include/menu.h b/src/libs/ncurses/include/menu.h deleted file mode 100644 index f0b1f60b22..0000000000 --- a/src/libs/ncurses/include/menu.h +++ /dev/null @@ -1,256 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/* $Id: menu.h,v 1.18 2003/11/08 20:48:24 tom Exp $ */ - -#ifndef ETI_MENU -#define ETI_MENU - -#ifdef AMIGA -#define TEXT TEXT_ncurses -#endif - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef int Menu_Options; -typedef int Item_Options; - -/* Menu options: */ -#define O_ONEVALUE (0x01) -#define O_SHOWDESC (0x02) -#define O_ROWMAJOR (0x04) -#define O_IGNORECASE (0x08) -#define O_SHOWMATCH (0x10) -#define O_NONCYCLIC (0x20) - -/* Item options: */ -#define O_SELECTABLE (0x01) - -typedef struct -{ - const char* str; - unsigned short length; -} TEXT; - -typedef struct tagITEM -{ - TEXT name; /* name of menu item */ - TEXT description; /* description of item, optional in display */ - struct tagMENU *imenu; /* Pointer to parent menu */ - void *userptr; /* Pointer to user defined per item data */ - Item_Options opt; /* Item options */ - short index; /* Item number if connected to a menu */ - short y; /* y and x location of item in menu */ - short x; - bool value; /* Selection value */ - - struct tagITEM *left; /* neighbor items */ - struct tagITEM *right; - struct tagITEM *up; - struct tagITEM *down; - -} ITEM; - -typedef void (*Menu_Hook)(struct tagMENU *); - -typedef struct tagMENU -{ - short height; /* Nr. of chars high */ - short width; /* Nr. of chars wide */ - short rows; /* Nr. of items high */ - short cols; /* Nr. of items wide */ - short frows; /* Nr. of formatted items high */ - short fcols; /* Nr. of formatted items wide */ - short arows; /* Nr. of items high (actual) */ - short namelen; /* Max. name length */ - short desclen; /* Max. description length */ - short marklen; /* Length of mark, if any */ - short itemlen; /* Length of one item */ - short spc_desc; /* Spacing for descriptor */ - short spc_cols; /* Spacing for columns */ - short spc_rows; /* Spacing for rows */ - char *pattern; /* Buffer to store match chars */ - short pindex; /* Index into pattern buffer */ - WINDOW *win; /* Window containing menu */ - WINDOW *sub; /* Subwindow for menu display */ - WINDOW *userwin; /* User's window */ - WINDOW *usersub; /* User's subwindow */ - ITEM **items; /* array of items */ - short nitems; /* Nr. of items in menu */ - ITEM *curitem; /* Current item */ - short toprow; /* Top row of menu */ - chtype fore; /* Selection attribute */ - chtype back; /* Nonselection attribute */ - chtype grey; /* Inactive attribute */ - unsigned char pad; /* Pad character */ - - Menu_Hook menuinit; /* User hooks */ - Menu_Hook menuterm; - Menu_Hook iteminit; - Menu_Hook itemterm; - - void *userptr; /* Pointer to menus user data */ - char *mark; /* Pointer to marker string */ - - Menu_Options opt; /* Menu options */ - unsigned short status; /* Internal state of menu */ - -} MENU; - - -/* Define keys */ - -#define REQ_LEFT_ITEM (KEY_MAX + 1) -#define REQ_RIGHT_ITEM (KEY_MAX + 2) -#define REQ_UP_ITEM (KEY_MAX + 3) -#define REQ_DOWN_ITEM (KEY_MAX + 4) -#define REQ_SCR_ULINE (KEY_MAX + 5) -#define REQ_SCR_DLINE (KEY_MAX + 6) -#define REQ_SCR_DPAGE (KEY_MAX + 7) -#define REQ_SCR_UPAGE (KEY_MAX + 8) -#define REQ_FIRST_ITEM (KEY_MAX + 9) -#define REQ_LAST_ITEM (KEY_MAX + 10) -#define REQ_NEXT_ITEM (KEY_MAX + 11) -#define REQ_PREV_ITEM (KEY_MAX + 12) -#define REQ_TOGGLE_ITEM (KEY_MAX + 13) -#define REQ_CLEAR_PATTERN (KEY_MAX + 14) -#define REQ_BACK_PATTERN (KEY_MAX + 15) -#define REQ_NEXT_MATCH (KEY_MAX + 16) -#define REQ_PREV_MATCH (KEY_MAX + 17) - -#define MIN_MENU_COMMAND (KEY_MAX + 1) -#define MAX_MENU_COMMAND (KEY_MAX + 17) - -/* - * Some AT&T code expects MAX_COMMAND to be out-of-band not - * just for menu commands but for forms ones as well. - */ -#if defined(MAX_COMMAND) -# if (MAX_MENU_COMMAND > MAX_COMMAND) -# error Something is wrong -- MAX_MENU_COMMAND is greater than MAX_COMMAND -# elif (MAX_COMMAND != (KEY_MAX + 128)) -# error Something is wrong -- MAX_COMMAND is already inconsistently defined. -# endif -#else -# define MAX_COMMAND (KEY_MAX + 128) -#endif - - -/* --------- prototypes for libmenu functions ----------------------------- */ - -extern NCURSES_EXPORT(ITEM **) menu_items (const MENU *); -extern NCURSES_EXPORT(ITEM *) current_item (const MENU *); -extern NCURSES_EXPORT(ITEM *) new_item (const char *,const char *); - -extern NCURSES_EXPORT(MENU *) new_menu (ITEM **); - -extern NCURSES_EXPORT(Item_Options) item_opts (const ITEM *); -extern NCURSES_EXPORT(Menu_Options) menu_opts (const MENU *); - -extern NCURSES_EXPORT(Menu_Hook) item_init (const MENU *); -extern NCURSES_EXPORT(Menu_Hook) item_term (const MENU *); -extern NCURSES_EXPORT(Menu_Hook) menu_init (const MENU *); -extern NCURSES_EXPORT(Menu_Hook) menu_term (const MENU *); - -extern NCURSES_EXPORT(WINDOW *) menu_sub (const MENU *); -extern NCURSES_EXPORT(WINDOW *) menu_win (const MENU *); - -extern NCURSES_EXPORT(const char *) item_description (const ITEM *); -extern NCURSES_EXPORT(const char *) item_name (const ITEM *); -extern NCURSES_EXPORT(const char *) menu_mark (const MENU *); -extern NCURSES_EXPORT(const char *) menu_request_name (int); - -extern NCURSES_EXPORT(char *) menu_pattern (const MENU *); - -extern NCURSES_EXPORT(void *) menu_userptr (const MENU *); -extern NCURSES_EXPORT(void *) item_userptr (const ITEM *); - -extern NCURSES_EXPORT(chtype) menu_back (const MENU *); -extern NCURSES_EXPORT(chtype) menu_fore (const MENU *); -extern NCURSES_EXPORT(chtype) menu_grey (const MENU *); - -extern NCURSES_EXPORT(int) free_item (ITEM *); -extern NCURSES_EXPORT(int) free_menu (MENU *); -extern NCURSES_EXPORT(int) item_count (const MENU *); -extern NCURSES_EXPORT(int) item_index (const ITEM *); -extern NCURSES_EXPORT(int) item_opts_off (ITEM *,Item_Options); -extern NCURSES_EXPORT(int) item_opts_on (ITEM *,Item_Options); -extern NCURSES_EXPORT(int) menu_driver (MENU *,int); -extern NCURSES_EXPORT(int) menu_opts_off (MENU *,Menu_Options); -extern NCURSES_EXPORT(int) menu_opts_on (MENU *,Menu_Options); -extern NCURSES_EXPORT(int) menu_pad (const MENU *); -extern NCURSES_EXPORT(int) pos_menu_cursor (const MENU *); -extern NCURSES_EXPORT(int) post_menu (MENU *); -extern NCURSES_EXPORT(int) scale_menu (const MENU *,int *,int *); -extern NCURSES_EXPORT(int) set_current_item (MENU *menu,ITEM *item); -extern NCURSES_EXPORT(int) set_item_init (MENU *,void(*)(MENU *)); -extern NCURSES_EXPORT(int) set_item_opts (ITEM *,Item_Options); -extern NCURSES_EXPORT(int) set_item_term (MENU *,void(*)(MENU *)); -extern NCURSES_EXPORT(int) set_item_userptr (ITEM *, void *); -extern NCURSES_EXPORT(int) set_item_value (ITEM *,bool); -extern NCURSES_EXPORT(int) set_menu_back (MENU *,chtype); -extern NCURSES_EXPORT(int) set_menu_fore (MENU *,chtype); -extern NCURSES_EXPORT(int) set_menu_format (MENU *,int,int); -extern NCURSES_EXPORT(int) set_menu_grey (MENU *,chtype); -extern NCURSES_EXPORT(int) set_menu_init (MENU *,void(*)(MENU *)); -extern NCURSES_EXPORT(int) set_menu_items (MENU *,ITEM **); -extern NCURSES_EXPORT(int) set_menu_mark (MENU *, const char *); -extern NCURSES_EXPORT(int) set_menu_opts (MENU *,Menu_Options); -extern NCURSES_EXPORT(int) set_menu_pad (MENU *,int); -extern NCURSES_EXPORT(int) set_menu_pattern (MENU *,const char *); -extern NCURSES_EXPORT(int) set_menu_sub (MENU *,WINDOW *); -extern NCURSES_EXPORT(int) set_menu_term (MENU *,void(*)(MENU *)); -extern NCURSES_EXPORT(int) set_menu_userptr (MENU *,void *); -extern NCURSES_EXPORT(int) set_menu_win (MENU *,WINDOW *); -extern NCURSES_EXPORT(int) set_top_row (MENU *,int); -extern NCURSES_EXPORT(int) top_row (const MENU *); -extern NCURSES_EXPORT(int) unpost_menu (MENU *); -extern NCURSES_EXPORT(int) menu_request_by_name (const char *); -extern NCURSES_EXPORT(int) set_menu_spacing (MENU *,int,int,int); -extern NCURSES_EXPORT(int) menu_spacing (const MENU *,int *,int *,int *); - - -extern NCURSES_EXPORT(bool) item_value (const ITEM *); -extern NCURSES_EXPORT(bool) item_visible (const ITEM *); - -extern NCURSES_EXPORT(void) menu_format (const MENU *,int *,int *); - -#ifdef __cplusplus - } -#endif - -#endif /* ETI_MENU */ diff --git a/src/libs/ncurses/include/mf_common.h b/src/libs/ncurses/include/mf_common.h deleted file mode 100644 index 5b02eb4ce4..0000000000 --- a/src/libs/ncurses/include/mf_common.h +++ /dev/null @@ -1,104 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/* $Id: mf_common.h,v 0.21 2004/12/11 22:40:40 tom Exp $ */ - -/* Common internal header for menu and form library */ - -#ifndef MF_COMMON_H_incl -#define MF_COMMON_H_incl 1 - -#include -#include - -#include -#include -#include -#include -#include -#include - -#if DECL_ERRNO -extern int errno; -#endif - -/* in case of debug version we ignore the suppression of assertions */ -#ifdef TRACE -# ifdef NDEBUG -# undef NDEBUG -# endif -#endif - -#include - -#if USE_RCS_IDS -#define MODULE_ID(id) static const char Ident[] = id; -#else -#define MODULE_ID(id) /*nothing*/ -#endif - - -/* Maximum regular 8-bit character code */ -#define MAX_REGULAR_CHARACTER (0xff) - -#define SET_ERROR(code) (errno=(code)) -#define GET_ERROR() (errno) - -#ifdef TRACE -#define RETURN(code) returnCode( SET_ERROR(code) ) -#else -#define RETURN(code) return( SET_ERROR(code) ) -#endif - -/* The few common values in the status fields for menus and forms */ -#define _POSTED (0x01U) /* menu or form is posted */ -#define _IN_DRIVER (0x02U) /* menu or form is processing hook routine */ - -/* Call object hook */ -#define Call_Hook( object, handler ) \ - if ( (object) != 0 && ((object)->handler) != (void *) 0 )\ - {\ - (object)->status |= _IN_DRIVER;\ - (object)->handler(object);\ - (object)->status &= ~_IN_DRIVER;\ - } - -#define INLINE - -#ifndef TRACE -# if CC_HAS_INLINE_FUNCS -# undef INLINE -# define INLINE inline -# endif -#endif - -#endif /* MF_COMMON_H_incl */ diff --git a/src/libs/ncurses/include/nc_alloc.h b/src/libs/ncurses/include/nc_alloc.h deleted file mode 100644 index ad51408761..0000000000 --- a/src/libs/ncurses/include/nc_alloc.h +++ /dev/null @@ -1,98 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1996,1997 * - ****************************************************************************/ -/* $Id: nc_alloc.h,v 1.13 2005/01/16 00:27:35 tom Exp $ */ - -#ifndef NC_ALLOC_included -#define NC_ALLOC_included 1 - -#ifdef __cplusplus -extern "C" { -#endif - -#if HAVE_LIBDMALLOC -#include /* Gray Watson's library */ -#else -#undef HAVE_LIBDMALLOC -#define HAVE_LIBDMALLOC 0 -#endif - -#if HAVE_LIBDBMALLOC -#include /* Conor Cahill's library */ -#else -#undef HAVE_LIBDBMALLOC -#define HAVE_LIBDBMALLOC 0 -#endif - -#if HAVE_LIBMPATROL -#include /* Memory-Patrol library */ -#else -#undef HAVE_LIBMPATROL -#define HAVE_LIBMPATROL 0 -#endif - -#ifndef NO_LEAKS -#define NO_LEAKS 0 -#endif - -#if HAVE_LIBDBMALLOC || HAVE_LIBDMALLOC || NO_LEAKS -#define HAVE_NC_FREEALL 1 -struct termtype; -extern NCURSES_EXPORT(void) _nc_free_and_exit(int) GCC_NORETURN; -extern NCURSES_EXPORT(void) _nc_free_tparm(void); -extern NCURSES_EXPORT(void) _nc_leaks_dump_entry(void); -#define ExitProgram(code) _nc_free_and_exit(code) -#endif - -#ifndef HAVE_NC_FREEALL -#define HAVE_NC_FREEALL 0 -#endif - -#ifndef ExitProgram -#define ExitProgram(code) exit(code) -#endif - -/* doalloc.c */ -extern NCURSES_EXPORT(void *) _nc_doalloc(void *, size_t); -#if !HAVE_STRDUP -#define strdup _nc_strdup -extern NCURSES_EXPORT(char *) _nc_strdup(const char *); -#endif - -#define typeMalloc(type,elts) (type *)malloc((elts)*sizeof(type)) -#define typeCalloc(type,elts) (type *)calloc((elts),sizeof(type)) -#define typeRealloc(type,elts,ptr) (type *)_nc_doalloc(ptr, (elts)*sizeof(type)) - -#ifdef __cplusplus -} -#endif - -#endif /* NC_ALLOC_included */ diff --git a/src/libs/ncurses/include/nc_panel.h b/src/libs/ncurses/include/nc_panel.h deleted file mode 100644 index bb1f6745ac..0000000000 --- a/src/libs/ncurses/include/nc_panel.h +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - - -/* - * $Id: nc_panel.h,v 1.3 2000/12/10 02:04:35 tom Exp $ - * - * nc_panel.h - * - * Headerfile to provide an interface for the panel layer into - * the SCREEN structure of the ncurses core. - */ - -#ifndef NC_PANEL_H -#define NC_PANEL_H 1 - -#ifdef __cplusplus -extern "C" { -#endif - -struct panel; /* Forward Declaration */ - -struct panelhook { - struct panel* top_panel; - struct panel* bottom_panel; - struct panel* stdscr_pseudo_panel; -}; - -/* Retrieve the panelhook of the current screen */ -extern NCURSES_EXPORT(struct panelhook*) _nc_panelhook (void); - -#ifdef __cplusplus -} -#endif - -#endif /* NC_PANEL_H */ diff --git a/src/libs/ncurses/include/ncurses_cfg.h b/src/libs/ncurses/include/ncurses_cfg.h deleted file mode 100644 index 64ab1debe0..0000000000 --- a/src/libs/ncurses/include/ncurses_cfg.h +++ /dev/null @@ -1,162 +0,0 @@ -/* include/ncurses_cfg.h. Generated automatically by configure. */ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1997 * - ****************************************************************************/ -/* - * $Id: ncurses_cfg.hin,v 1.7 2005/01/02 01:26:58 tom Exp $ - * - * This is a template-file used to generate the "ncurses_cfg.h" file. - * - * Rather than list every definition, the configuration script substitutes the - * definitions that it finds using 'sed'. You need a patch (original date - * 971222) to autoconf 2.12 or 2.13 to do this. - * - * See: - * http://invisible-island.net/autoconf/ - * ftp://invisible-island.net/autoconf/ - */ -#ifndef NC_CONFIG_H -#define NC_CONFIG_H - -#define SYSTEM_NAME "beos" -#define CC_HAS_PROTOS 1 -#define HAVE_LONG_FILE_NAMES 1 -#define MIXEDCASE_FILENAMES 1 -#define USE_DATABASE 1 -#define TERMINFO_DIRS "/boot/system/data/terminfo" -#define TERMINFO "/boot/system/data/terminfo" -#define TERMPATH "/etc/termcap" -#define HAVE_BIG_CORE 1 -#define PURE_TERMINFO 1 -#define USE_TERMCAP 0 -#define USE_HOME_TERMINFO 1 -#define USE_ROOT_ENVIRON 1 -#define HAVE_REMOVE 1 -#define HAVE_UNLINK 1 -#define HAVE_SYMLINK 1 -#define USE_SYMLINKS 1 -#define HAVE_CURSES_VERSION 1 -#define HAVE_HAS_KEY 1 -#define HAVE_RESIZETERM 1 -#define HAVE_RESIZE_TERM 1 -#define HAVE_USE_DEFAULT_COLORS 1 -#define HAVE_WRESIZE 1 -#define NCURSES_EXT_FUNCS 1 -#define NCURSES_NO_PADDING 1 -#define USE_SIGWINCH 1 -#define USE_ASSUMED_COLOR 1 -#define USE_HASHMAP 1 -#define GCC_SCANF 1 -#define GCC_PRINTF 1 -#define GCC_UNUSED __attribute__((unused)) -#define GCC_NORETURN __attribute__((noreturn)) -#define NDEBUG 1 -#define HAVE_NC_ALLOC_H 1 -#define HAVE_GETTIMEOFDAY 1 -#define STDC_HEADERS 1 -#define HAVE_DIRENT_H 1 -#define TIME_WITH_SYS_TIME 1 -#define HAVE_REGEX_H_FUNCS 1 -#define HAVE_FCNTL_H 1 -#define HAVE_GETOPT_H 1 -#define HAVE_LIMITS_H 1 -#define HAVE_LOCALE_H 1 -#define HAVE_SYS_IOCTL_H 1 -#define HAVE_SYS_PARAM_H 1 -#define HAVE_SYS_SELECT_H 1 -#define HAVE_SYS_TIME_H 1 -#define HAVE_SYS_TIMES_H 1 -#define HAVE_UNISTD_H 1 -#define HAVE_SYS_TIME_SELECT 1 -#define CC_HAS_INLINE_FUNCS 1 -#define TYPEOF_CHTYPE long -#define HAVE_ERRNO 1 -#define HAVE_GETCWD 1 -#define HAVE_GETEGID 1 -#define HAVE_GETEUID 1 -#define HAVE_REMOVE 1 -#define HAVE_SELECT 1 -#define HAVE_SETBUF 1 -#define HAVE_SETBUFFER 1 -#define HAVE_SETVBUF 1 -#define HAVE_SIGACTION 1 -#define HAVE_STRDUP 1 -#define HAVE_STRSTR 1 -#define HAVE_TCGETPGRP 1 -#define HAVE_TIMES 1 -#define HAVE_VSNPRINTF 1 -#define HAVE_ISASCII 1 -#define HAVE_TERMIOS_H 1 -#define HAVE_UNISTD_H 1 -#define HAVE_TCGETATTR 1 -#define HAVE_VSSCANF 1 -#define HAVE_MKSTEMP 1 -#define RETSIGTYPE void -#define HAVE_SIZECHANGE 1 -#define HAVE_TYPEINFO 1 -#define CPP_HAS_PARAM_INIT 1 -#define HAVE_STRSTREAM_H 1 -#define CPP_HAS_VSCAN_FUNC 1 -#define USE_STRSTREAM_VSCAN 1 -#define HAVE_SLK_COLOR 1 -#define HAVE_PANEL_H 1 -#define HAVE_LIBPANEL 1 -#define HAVE_MENU_H 1 -#define HAVE_LIBMENU 1 -#define HAVE_FORM_H 1 -#define HAVE_LIBFORM 1 -#define NCURSES_PATHSEP ':' -#define NCURSES_VERSION_STRING "5.5.20051010" - -#include - - /* The C compiler may not treat these properly but C++ has to */ -#ifdef __cplusplus -#undef const -#undef inline -#else -#if defined(lint) || defined(TRACE) -#undef inline -#define inline /* nothing */ -#endif -#endif - - /* On HP-UX, the C compiler doesn't grok mbstate_t without - -D_XOPEN_SOURCE=500. However, this causes problems on - IRIX. So, we #define mbstate_t to int in configure.in - only for the C compiler if needed. */ -#ifndef __cplusplus -#ifdef NEED_MBSTATE_T_DEF -#define mbstate_t int -#endif -#endif - -#endif /* NC_CONFIG_H */ diff --git a/src/libs/ncurses/include/ncurses_cfg.hin b/src/libs/ncurses/include/ncurses_cfg.hin deleted file mode 100644 index 3f8a482a5d..0000000000 --- a/src/libs/ncurses/include/ncurses_cfg.hin +++ /dev/null @@ -1,72 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1997 * - ****************************************************************************/ -/* - * $Id: ncurses_cfg.hin,v 1.7 2005/01/02 01:26:58 tom Exp $ - * - * This is a template-file used to generate the "ncurses_cfg.h" file. - * - * Rather than list every definition, the configuration script substitutes the - * definitions that it finds using 'sed'. You need a patch (original date - * 971222) to autoconf 2.12 or 2.13 to do this. - * - * See: - * http://invisible-island.net/autoconf/ - * ftp://invisible-island.net/autoconf/ - */ -#ifndef NC_CONFIG_H -#define NC_CONFIG_H -@DEFS@ - -#include - - /* The C compiler may not treat these properly but C++ has to */ -#ifdef __cplusplus -#undef const -#undef inline -#else -#if defined(lint) || defined(TRACE) -#undef inline -#define inline /* nothing */ -#endif -#endif - - /* On HP-UX, the C compiler doesn't grok mbstate_t without - -D_XOPEN_SOURCE=500. However, this causes problems on - IRIX. So, we #define mbstate_t to int in configure.in - only for the C compiler if needed. */ -#ifndef __cplusplus -#ifdef NEED_MBSTATE_T_DEF -#define mbstate_t int -#endif -#endif - -#endif /* NC_CONFIG_H */ diff --git a/src/libs/ncurses/include/ncurses_def.h b/src/libs/ncurses/include/ncurses_def.h deleted file mode 100644 index f2405f3a5b..0000000000 --- a/src/libs/ncurses/include/ncurses_def.h +++ /dev/null @@ -1,604 +0,0 @@ -/* - * This file is generated by ./MKncurses_def.sh - */ - -#ifndef NC_DEFINE_H -#define NC_DEFINE_H 1 - -#ifndef BROKEN_LINKER -#define BROKEN_LINKER 0 -#endif - -#ifndef BSD_TPUTS -#define BSD_TPUTS 0 -#endif - -#ifndef CC_HAS_INLINE_FUNCS -#define CC_HAS_INLINE_FUNCS 0 -#endif - -#ifndef CC_HAS_PROTOS -#define CC_HAS_PROTOS 0 -#endif - -#ifndef CPP_HAS_PARAM_INIT -#define CPP_HAS_PARAM_INIT 0 -#endif - -#ifndef CPP_HAS_VSCAN_FUNC -#define CPP_HAS_VSCAN_FUNC 0 -#endif - -#ifndef CURSES_ACS_ARRAY -#define CURSES_ACS_ARRAY acs_map -#endif - -#ifndef CURSES_WACS_ARRAY -#define CURSES_WACS_ARRAY _nc_wacs -#endif - -#ifndef DECL_ERRNO -#define DECL_ERRNO 0 -#endif - -#ifndef ETIP_NEEDS_MATH_H -#define ETIP_NEEDS_MATH_H 0 -#endif - -#ifndef GCC_NORETURN -#define GCC_NORETURN /* nothing */ -#endif - -#ifndef GCC_UNUSED -#define GCC_UNUSED /* nothing */ -#endif - -#ifndef HAVE_BIG_CORE -#define HAVE_BIG_CORE 0 -#endif - -#ifndef HAVE_BSD_CGETENT -#define HAVE_BSD_CGETENT 0 -#endif - -#ifndef HAVE_BSD_SIGNAL_H -#define HAVE_BSD_SIGNAL_H 0 -#endif - -#ifndef HAVE_BTOWC -#define HAVE_BTOWC 0 -#endif - -#ifndef HAVE_BUILTIN_H -#define HAVE_BUILTIN_H 0 -#endif - -#ifndef HAVE_DIRENT_H -#define HAVE_DIRENT_H 0 -#endif - -#ifndef HAVE_ERRNO -#define HAVE_ERRNO 0 -#endif - -#ifndef HAVE_FCNTL_H -#define HAVE_FCNTL_H 0 -#endif - -#ifndef HAVE_FORM_H -#define HAVE_FORM_H 0 -#endif - -#ifndef HAVE_GETCWD -#define HAVE_GETCWD 0 -#endif - -#ifndef HAVE_GETEGID -#define HAVE_GETEGID 0 -#endif - -#ifndef HAVE_GETEUID -#define HAVE_GETEUID 0 -#endif - -#ifndef HAVE_GETNSTR -#define HAVE_GETNSTR 0 -#endif - -#ifndef HAVE_GETOPT_H -#define HAVE_GETOPT_H 0 -#endif - -#ifndef HAVE_GETTIMEOFDAY -#define HAVE_GETTIMEOFDAY 0 -#endif - -#ifndef HAVE_GETTTYNAM -#define HAVE_GETTTYNAM 0 -#endif - -#ifndef HAVE_GPM_H -#define HAVE_GPM_H 0 -#endif - -#ifndef HAVE_GPP_BUILTIN_H -#define HAVE_GPP_BUILTIN_H 0 -#endif - -#ifndef HAVE_GXX_BUILTIN_H -#define HAVE_GXX_BUILTIN_H 0 -#endif - -#ifndef HAVE_HAS_KEY -#define HAVE_HAS_KEY 0 -#endif - -#ifndef HAVE_ISASCII -#define HAVE_ISASCII 0 -#endif - -#ifndef HAVE_ISSETUGID -#define HAVE_ISSETUGID 0 -#endif - -#ifndef HAVE_LANGINFO_CODESET -#define HAVE_LANGINFO_CODESET 0 -#endif - -#ifndef HAVE_LIBC_H -#define HAVE_LIBC_H 0 -#endif - -#ifndef HAVE_LIBDBMALLOC -#define HAVE_LIBDBMALLOC 0 -#endif - -#ifndef HAVE_LIBDMALLOC -#define HAVE_LIBDMALLOC 0 -#endif - -#ifndef HAVE_LIBFORM -#define HAVE_LIBFORM 0 -#endif - -#ifndef HAVE_LIBGPM -#define HAVE_LIBGPM 0 -#endif - -#ifndef HAVE_LIBMENU -#define HAVE_LIBMENU 0 -#endif - -#ifndef HAVE_LIBMPATROL -#define HAVE_LIBMPATROL 0 -#endif - -#ifndef HAVE_LIBPANEL -#define HAVE_LIBPANEL 0 -#endif - -#ifndef HAVE_LIMITS_H -#define HAVE_LIMITS_H 0 -#endif - -#ifndef HAVE_LINK -#define HAVE_LINK 0 -#endif - -#ifndef HAVE_LOCALE_H -#define HAVE_LOCALE_H 0 -#endif - -#ifndef HAVE_LONG_FILE_NAMES -#define HAVE_LONG_FILE_NAMES 0 -#endif - -#ifndef HAVE_MBLEN -#define HAVE_MBLEN 0 -#endif - -#ifndef HAVE_MBRLEN -#define HAVE_MBRLEN 0 -#endif - -#ifndef HAVE_MBRTOWC -#define HAVE_MBRTOWC 0 -#endif - -#ifndef HAVE_MBTOWC -#define HAVE_MBTOWC 0 -#endif - -#ifndef HAVE_MENU_H -#define HAVE_MENU_H 0 -#endif - -#ifndef HAVE_MKSTEMP -#define HAVE_MKSTEMP 0 -#endif - -#ifndef HAVE_NANOSLEEP -#define HAVE_NANOSLEEP 0 -#endif - -#ifndef HAVE_NC_ALLOC_H -#define HAVE_NC_ALLOC_H 0 -#endif - -#ifndef HAVE_PANEL_H -#define HAVE_PANEL_H 0 -#endif - -#ifndef HAVE_POLL -#define HAVE_POLL 0 -#endif - -#ifndef HAVE_POLL_H -#define HAVE_POLL_H 0 -#endif - -#ifndef HAVE_PURIFY -#define HAVE_PURIFY 0 -#endif - -#ifndef HAVE_PUTWC -#define HAVE_PUTWC 0 -#endif - -#ifndef HAVE_REGEXPR_H_FUNCS -#define HAVE_REGEXPR_H_FUNCS 0 -#endif - -#ifndef HAVE_REGEXP_H_FUNCS -#define HAVE_REGEXP_H_FUNCS 0 -#endif - -#ifndef HAVE_REGEX_H_FUNCS -#define HAVE_REGEX_H_FUNCS 0 -#endif - -#ifndef HAVE_REMOVE -#define HAVE_REMOVE 0 -#endif - -#ifndef HAVE_RESIZETERM -#define HAVE_RESIZETERM 0 -#endif - -#ifndef HAVE_SELECT -#define HAVE_SELECT 0 -#endif - -#ifndef HAVE_SETBUF -#define HAVE_SETBUF 0 -#endif - -#ifndef HAVE_SETBUFFER -#define HAVE_SETBUFFER 0 -#endif - -#ifndef HAVE_SETVBUF -#define HAVE_SETVBUF 0 -#endif - -#ifndef HAVE_SIGACTION -#define HAVE_SIGACTION 0 -#endif - -#ifndef HAVE_SIGVEC -#define HAVE_SIGVEC 0 -#endif - -#ifndef HAVE_SIZECHANGE -#define HAVE_SIZECHANGE 0 -#endif - -#ifndef HAVE_SLK_COLOR -#define HAVE_SLK_COLOR 0 -#endif - -#ifndef HAVE_STRDUP -#define HAVE_STRDUP 0 -#endif - -#ifndef HAVE_STRSTR -#define HAVE_STRSTR 0 -#endif - -#ifndef HAVE_SYMLINK -#define HAVE_SYMLINK 0 -#endif - -#ifndef HAVE_SYS_BSDTYPES_H -#define HAVE_SYS_BSDTYPES_H 0 -#endif - -#ifndef HAVE_SYS_IOCTL_H -#define HAVE_SYS_IOCTL_H 0 -#endif - -#ifndef HAVE_SYS_PARAM_H -#define HAVE_SYS_PARAM_H 0 -#endif - -#ifndef HAVE_SYS_POLL_H -#define HAVE_SYS_POLL_H 0 -#endif - -#ifndef HAVE_SYS_SELECT_H -#define HAVE_SYS_SELECT_H 0 -#endif - -#ifndef HAVE_SYS_TERMIO_H -#define HAVE_SYS_TERMIO_H 0 -#endif - -#ifndef HAVE_SYS_TIMES_H -#define HAVE_SYS_TIMES_H 0 -#endif - -#ifndef HAVE_SYS_TIME_H -#define HAVE_SYS_TIME_H 0 -#endif - -#ifndef HAVE_SYS_TIME_SELECT -#define HAVE_SYS_TIME_SELECT 0 -#endif - -#ifndef HAVE_TCGETATTR -#define HAVE_TCGETATTR 0 -#endif - -#ifndef HAVE_TCGETPGRP -#define HAVE_TCGETPGRP 0 -#endif - -#ifndef HAVE_TELL -#define HAVE_TELL 0 -#endif - -#ifndef HAVE_TERMIOS_H -#define HAVE_TERMIOS_H 0 -#endif - -#ifndef HAVE_TERMIO_H -#define HAVE_TERMIO_H 0 -#endif - -#ifndef HAVE_TIMES -#define HAVE_TIMES 0 -#endif - -#ifndef HAVE_TTYENT_H -#define HAVE_TTYENT_H 0 -#endif - -#ifndef HAVE_TYPEINFO -#define HAVE_TYPEINFO 0 -#endif - -#ifndef HAVE_TYPE_ATTR_T -#define HAVE_TYPE_ATTR_T 0 -#endif - -#ifndef HAVE_TYPE_SIGACTION -#define HAVE_TYPE_SIGACTION 0 -#endif - -#ifndef HAVE_UNISTD_H -#define HAVE_UNISTD_H 0 -#endif - -#ifndef HAVE_UNLINK -#define HAVE_UNLINK 0 -#endif - -#ifndef HAVE_USE_DEFAULT_COLORS -#define HAVE_USE_DEFAULT_COLORS 0 -#endif - -#ifndef HAVE_VFSCANF -#define HAVE_VFSCANF 0 -#endif - -#ifndef HAVE_VSNPRINTF -#define HAVE_VSNPRINTF 0 -#endif - -#ifndef HAVE_VSSCANF -#define HAVE_VSSCANF 0 -#endif - -#ifndef HAVE_WCTOB -#define HAVE_WCTOB 0 -#endif - -#ifndef HAVE_WCTOMB -#define HAVE_WCTOMB 0 -#endif - -#ifndef HAVE_WCTYPE_H -#define HAVE_WCTYPE_H 0 -#endif - -#ifndef HAVE_WORKING_POLL -#define HAVE_WORKING_POLL 0 -#endif - -#ifndef HAVE_WRESIZE -#define HAVE_WRESIZE 0 -#endif - -#ifndef HAVE__DOSCAN -#define HAVE__DOSCAN 0 -#endif - -#ifndef MIXEDCASE_FILENAMES -#define MIXEDCASE_FILENAMES 0 -#endif - -#ifndef NCURSES_EXPANDED -#define NCURSES_EXPANDED 0 -#endif - -#ifndef NCURSES_EXT_COLORS -#define NCURSES_EXT_COLORS 0 -#endif - -#ifndef NCURSES_EXT_FUNCS -#define NCURSES_EXT_FUNCS 0 -#endif - -#ifndef NCURSES_NOMACROS -#define NCURSES_NOMACROS 0 -#endif - -#ifndef NCURSES_NO_PADDING -#define NCURSES_NO_PADDING 0 -#endif - -#ifndef NCURSES_PATHSEP -#define NCURSES_PATHSEP ':' -#endif - -#ifndef NDEBUG -#define NDEBUG 0 -#endif - -#ifndef NEED_PTEM_H -#define NEED_PTEM_H 0 -#endif - -#ifndef NO_LEAKS -#define NO_LEAKS 0 -#endif - -#ifndef PURE_TERMINFO -#define PURE_TERMINFO 0 -#endif - -#ifndef RETSIGTYPE -#define RETSIGTYPE 0 -#endif - -#ifndef STDC_HEADERS -#define STDC_HEADERS 0 -#endif - -#ifndef SVR4_ACTION -#define SVR4_ACTION 0 -#endif - -#ifndef SVR4_TERMIO -#define SVR4_TERMIO 0 -#endif - -#ifndef SYSTEM_NAME -#define SYSTEM_NAME "unknown" -#endif - -#ifndef TERMINFO -#define TERMINFO "none" -#endif - -#ifndef TERMPATH -#define TERMPATH "none" -#endif - -#ifndef TIME_WITH_SYS_TIME -#define TIME_WITH_SYS_TIME 0 -#endif - -#ifndef TYPEOF_CHTYPE -#define TYPEOF_CHTYPE 0 -#endif - -#ifndef USE_COLORFGBG -#define USE_COLORFGBG 0 -#endif - -#ifndef USE_DATABASE -#define USE_DATABASE 0 -#endif - -#ifndef USE_GETCAP -#define USE_GETCAP 0 -#endif - -#ifndef USE_GETCAP_CACHE -#define USE_GETCAP_CACHE 0 -#endif - -#ifndef USE_HARD_TABS -#define USE_HARD_TABS 0 -#endif - -#ifndef USE_HASHMAP -#define USE_HASHMAP 0 -#endif - -#ifndef USE_HOME_TERMINFO -#define USE_HOME_TERMINFO 0 -#endif - -#ifndef USE_LINKS -#define USE_LINKS 0 -#endif - -#ifndef USE_MY_MEMMOVE -#define USE_MY_MEMMOVE 0 -#endif - -#ifndef USE_OK_BCOPY -#define USE_OK_BCOPY 0 -#endif - -#ifndef USE_RCS_IDS -#define USE_RCS_IDS 0 -#endif - -#ifndef USE_SAFE_SPRINTF -#define USE_SAFE_SPRINTF 0 -#endif - -#ifndef USE_SCROLL_HINTS -#define USE_SCROLL_HINTS 0 -#endif - -#ifndef USE_SIGWINCH -#define USE_SIGWINCH 0 -#endif - -#ifndef USE_STDIO_VSCAN -#define USE_STDIO_VSCAN 0 -#endif - -#ifndef USE_STRSTREAM_VSCAN -#define USE_STRSTREAM_VSCAN 0 -#endif - -#ifndef USE_STRSTREAM_VSCAN_CAST -#define USE_STRSTREAM_VSCAN_CAST 0 -#endif - -#ifndef USE_SYMLINKS -#define USE_SYMLINKS 0 -#endif - -#ifndef USE_SYSMOUSE -#define USE_SYSMOUSE 0 -#endif - -#ifndef USE_TERMCAP -#define USE_TERMCAP 0 -#endif - -#ifndef USE_WIDEC_SUPPORT -#define USE_WIDEC_SUPPORT 0 -#endif - -#ifndef USE_XMC_SUPPORT -#define USE_XMC_SUPPORT 0 -#endif - -#endif /* NC_DEFINE_H */ diff --git a/src/libs/ncurses/include/ncurses_defs b/src/libs/ncurses/include/ncurses_defs deleted file mode 100644 index 7cd7b38885..0000000000 --- a/src/libs/ncurses/include/ncurses_defs +++ /dev/null @@ -1,182 +0,0 @@ -# $Id: ncurses_defs,v 1.27 2005/01/28 21:11:53 tom Exp $ -############################################################################## -# Copyright (c) 2000-2004,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# See "MKncurses_def.sh" for an explanation. -# -# (hint: don't try to define NDEBUG ;-) - -BROKEN_LINKER -BSD_TPUTS -CC_HAS_INLINE_FUNCS -CC_HAS_PROTOS -CPP_HAS_PARAM_INIT -CPP_HAS_VSCAN_FUNC -CURSES_ACS_ARRAY acs_map -CURSES_WACS_ARRAY _nc_wacs -DECL_ERRNO -ETIP_NEEDS_MATH_H -GCC_NORETURN /* nothing */ -GCC_UNUSED /* nothing */ -HAVE_BIG_CORE -HAVE_BSD_CGETENT -HAVE_BSD_SIGNAL_H -HAVE_BTOWC -HAVE_BUILTIN_H -HAVE_DIRENT_H -HAVE_ERRNO -HAVE_FCNTL_H -HAVE_FORM_H -HAVE_GETCWD -HAVE_GETEGID -HAVE_GETEUID -HAVE_GETNSTR -HAVE_GETOPT_H -HAVE_GETTIMEOFDAY -HAVE_GETTTYNAM -HAVE_GPM_H -HAVE_GPP_BUILTIN_H -HAVE_GXX_BUILTIN_H -HAVE_HAS_KEY -HAVE_ISASCII -HAVE_ISSETUGID -HAVE_LANGINFO_CODESET -HAVE_LIBC_H -HAVE_LIBDBMALLOC -HAVE_LIBDMALLOC -HAVE_LIBFORM -HAVE_LIBGPM -HAVE_LIBMENU -HAVE_LIBMPATROL -HAVE_LIBPANEL -HAVE_LIMITS_H -HAVE_LINK -HAVE_LOCALE_H -HAVE_LONG_FILE_NAMES -HAVE_MBLEN -HAVE_MBRLEN -HAVE_MBRTOWC -HAVE_MBTOWC -HAVE_MENU_H -HAVE_MKSTEMP -HAVE_NANOSLEEP -HAVE_NC_ALLOC_H -HAVE_PANEL_H -HAVE_POLL -HAVE_POLL_H -HAVE_PURIFY -HAVE_PUTWC -HAVE_REGEXPR_H_FUNCS -HAVE_REGEXP_H_FUNCS -HAVE_REGEX_H_FUNCS -HAVE_REMOVE -HAVE_RESIZETERM -HAVE_SELECT -HAVE_SETBUF -HAVE_SETBUFFER -HAVE_SETVBUF -HAVE_SIGACTION -HAVE_SIGVEC -HAVE_SIZECHANGE -HAVE_SLK_COLOR -HAVE_STRDUP -HAVE_STRSTR -HAVE_SYMLINK -HAVE_SYS_BSDTYPES_H -HAVE_SYS_IOCTL_H -HAVE_SYS_PARAM_H -HAVE_SYS_POLL_H -HAVE_SYS_SELECT_H -HAVE_SYS_TERMIO_H -HAVE_SYS_TIMES_H -HAVE_SYS_TIME_H -HAVE_SYS_TIME_SELECT -HAVE_TCGETATTR -HAVE_TCGETPGRP -HAVE_TELL -HAVE_TERMIOS_H -HAVE_TERMIO_H -HAVE_TIMES -HAVE_TTYENT_H -HAVE_TYPEINFO -HAVE_TYPE_ATTR_T -HAVE_TYPE_SIGACTION -HAVE_UNISTD_H -HAVE_UNLINK -HAVE_USE_DEFAULT_COLORS -HAVE_VFSCANF -HAVE_VSNPRINTF -HAVE_VSSCANF -HAVE_WCTOB -HAVE_WCTOMB -HAVE_WCTYPE_H -HAVE_WORKING_POLL -HAVE_WRESIZE -HAVE__DOSCAN -MIXEDCASE_FILENAMES -NCURSES_EXPANDED -NCURSES_EXT_COLORS -NCURSES_EXT_FUNCS -NCURSES_NOMACROS -NCURSES_NO_PADDING -NCURSES_PATHSEP ':' -NDEBUG -NEED_PTEM_H -NO_LEAKS -PURE_TERMINFO -RETSIGTYPE -STDC_HEADERS -SVR4_ACTION -SVR4_TERMIO -SYSTEM_NAME "unknown" -TERMINFO "none" -TERMPATH "none" -TIME_WITH_SYS_TIME -TYPEOF_CHTYPE -USE_COLORFGBG -USE_DATABASE -USE_GETCAP -USE_GETCAP_CACHE -USE_HARD_TABS -USE_HASHMAP -USE_HOME_TERMINFO -USE_LINKS -USE_MY_MEMMOVE -USE_OK_BCOPY -USE_RCS_IDS -USE_SAFE_SPRINTF -USE_SCROLL_HINTS -USE_SIGWINCH -USE_STDIO_VSCAN -USE_STRSTREAM_VSCAN -USE_STRSTREAM_VSCAN_CAST -USE_SYMLINKS -USE_SYSMOUSE -USE_TERMCAP -USE_WIDEC_SUPPORT -USE_XMC_SUPPORT diff --git a/src/libs/ncurses/include/ncurses_dll.h b/src/libs/ncurses/include/ncurses_dll.h deleted file mode 100644 index de46c60508..0000000000 --- a/src/libs/ncurses/include/ncurses_dll.h +++ /dev/null @@ -1,52 +0,0 @@ -/* $Id: ncurses_dll.h,v 1.4 2003/07/19 18:44:32 Charles.Wilson Exp $ */ - -#ifndef NCURSES_DLL_H_incl -#define NCURSES_DLL_H_incl 1 - -/* no longer needed on cygwin or mingw, thanks to auto-import */ -/* but this structure may be useful at some point for an MSVC build */ -/* so, for now unconditionally define the important flags */ -/* "the right way" for proper static and dll+auto-import behavior */ -#undef NCURSES_DLL -#define NCURSES_STATIC - -#if defined(__CYGWIN__) -# if defined(NCURSES_DLL) -# if defined(NCURSES_STATIC) -# undef NCURSES_STATIC -# endif -# endif -# undef NCURSES_IMPEXP -# undef NCURSES_API -# undef NCURSES_EXPORT -# undef NCURSES_EXPORT_VAR -# if defined(NCURSES_DLL) -/* building a DLL */ -# define NCURSES_IMPEXP __declspec(dllexport) -# elif defined(NCURSES_STATIC) -/* building or linking to a static library */ -# define NCURSES_IMPEXP /* nothing */ -# else -/* linking to the DLL */ -# define NCURSES_IMPEXP __declspec(dllimport) -# endif -# define NCURSES_API __cdecl -# define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API -# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type -#endif - -/* Take care of non-cygwin platforms */ -#if !defined(NCURSES_IMPEXP) -# define NCURSES_IMPEXP /* nothing */ -#endif -#if !defined(NCURSES_API) -# define NCURSES_API /* nothing */ -#endif -#if !defined(NCURSES_EXPORT) -# define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API -#endif -#if !defined(NCURSES_EXPORT_VAR) -# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type -#endif - -#endif /* NCURSES_DLL_H_incl */ diff --git a/src/libs/ncurses/include/nomacros.h b/src/libs/ncurses/include/nomacros.h deleted file mode 100644 index fa240e8d7e..0000000000 --- a/src/libs/ncurses/include/nomacros.h +++ /dev/null @@ -1,115 +0,0 @@ -#undef addch -#undef addchnstr -#undef addchstr -#undef addnstr -#undef addstr -#undef attroff -#undef attron -#undef attrset -#undef attr_get -#undef attr_off -#undef attr_on -#undef attr_set -#undef bkgd -#undef bkgdset -#undef border -#undef box -#undef chgat -#undef clear -#undef clrtobot -#undef clrtoeol -#undef color_set -#undef COLOR_PAIR -#undef delch -#undef deleteln -#undef echochar -#undef erase -#undef getbkgd -#undef getch -#undef getnstr -#undef getstr -#undef hline -#undef inch -#undef inchnstr -#undef inchstr -#undef innstr -#undef insch -#undef insdelln -#undef insertln -#undef insnstr -#undef insstr -#undef instr -#undef move -#undef mvaddch -#undef mvaddchnstr -#undef mvaddchstr -#undef mvaddnstr -#undef mvaddstr -#undef mvchgat -#undef mvdelch -#undef mvgetch -#undef mvgetnstr -#undef mvgetstr -#undef mvhline -#undef mvinch -#undef mvinchnstr -#undef mvinchstr -#undef mvinnstr -#undef mvinsch -#undef mvinsnstr -#undef mvinsstr -#undef mvinstr -#undef mvvline -#undef mvwaddch -#undef mvwaddchnstr -#undef mvwaddchstr -#undef mvwaddnstr -#undef mvwaddstr -#undef mvwchgat -#undef mvwdelch -#undef mvwgetch -#undef mvwgetnstr -#undef mvwgetstr -#undef mvwhline -#undef mvwinch -#undef mvwinchnstr -#undef mvwinchstr -#undef mvwinnstr -#undef mvwinsch -#undef mvwinsnstr -#undef mvwinsstr -#undef mvwinstr -#undef mvwvline -#undef PAIR_NUMBER -#undef redrawwin -#undef refresh -#undef scrl -#undef scroll -#undef setscrreg -#undef slk_attr_off -#undef slk_attr_on -#undef standout -#undef standend -#undef timeout -#undef touchline -#undef touchwin -#undef untouchwin -#undef vline -#undef vw_printw -#undef vw_scanw -#undef waddchstr -#undef waddstr -#undef wattron -#undef wattroff -#undef wattrset -#undef wattr_get -#undef wattr_set -#undef wdeleteln -#undef wgetstr -#undef winchstr -#undef winsertln -#undef winsstr -#undef winstr -#undef wstandout -#undef wstandend -#undef mouse_trafo diff --git a/src/libs/ncurses/include/panel.h b/src/libs/ncurses/include/panel.h deleted file mode 100644 index 3b8542a7ad..0000000000 --- a/src/libs/ncurses/include/panel.h +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* panel.h -- interface file for panels library */ - -#ifndef NCURSES_PANEL_H_incl -#define NCURSES_PANEL_H_incl 1 - -#include - -typedef struct panel -{ - WINDOW *win; - struct panel *below; - struct panel *above; - NCURSES_CONST void *user; -} PANEL; - -#if defined(__cplusplus) -extern "C" { -#endif - -extern NCURSES_EXPORT(WINDOW*) panel_window (const PANEL *); -extern NCURSES_EXPORT(void) update_panels (void); -extern NCURSES_EXPORT(int) hide_panel (PANEL *); -extern NCURSES_EXPORT(int) show_panel (PANEL *); -extern NCURSES_EXPORT(int) del_panel (PANEL *); -extern NCURSES_EXPORT(int) top_panel (PANEL *); -extern NCURSES_EXPORT(int) bottom_panel (PANEL *); -extern NCURSES_EXPORT(PANEL*) new_panel (WINDOW *); -extern NCURSES_EXPORT(PANEL*) panel_above (const PANEL *); -extern NCURSES_EXPORT(PANEL*) panel_below (const PANEL *); -extern NCURSES_EXPORT(int) set_panel_userptr (PANEL *, NCURSES_CONST void *); -extern NCURSES_EXPORT(NCURSES_CONST void*) panel_userptr (const PANEL *); -extern NCURSES_EXPORT(int) move_panel (PANEL *, int, int); -extern NCURSES_EXPORT(int) replace_panel (PANEL *,WINDOW *); -extern NCURSES_EXPORT(int) panel_hidden (const PANEL *); - -#if defined(__cplusplus) -} -#endif - -#endif /* NCURSES_PANEL_H_incl */ - -/* end of panel.h */ diff --git a/src/libs/ncurses/include/parametrized.h b/src/libs/ncurses/include/parametrized.h deleted file mode 100644 index 950a9476e0..0000000000 --- a/src/libs/ncurses/include/parametrized.h +++ /dev/null @@ -1,560 +0,0 @@ -/* - * parametrized.h --- is a termcap capability parametrized? - * - * Note: this file is generated using MKparametrized.sh, do not edit by hand. - * A value of -1 in the table means suppress both pad and % translations. - * A value of 0 in the table means do pad but not % translations. - * A value of 1 in the table means do both pad and % translations. - */ - -static short const parametrized[] = { -0, /* cbt */ -0, /* bel */ -0, /* cr */ -1, /* csr */ -0, /* tbc */ -0, /* clear */ -0, /* el */ -0, /* ed */ -1, /* hpa */ -0, /* cmdch */ -1, /* cup */ -0, /* cud1 */ -0, /* home */ -0, /* civis */ -0, /* cub1 */ -1, /* mrcup */ -0, /* cnorm */ -0, /* cuf1 */ -0, /* ll */ -0, /* cuu1 */ -0, /* cvvis */ -0, /* dch1 */ -0, /* dl1 */ -0, /* dsl */ -0, /* hd */ -0, /* smacs */ -0, /* blink */ -0, /* bold */ -0, /* smcup */ -0, /* smdc */ -0, /* dim */ -0, /* smir */ -0, /* invis */ -0, /* prot */ -0, /* rev */ -0, /* smso */ -0, /* smul */ -1, /* ech */ -0, /* rmacs */ -0, /* sgr0 */ -0, /* rmcup */ -0, /* rmdc */ -0, /* rmir */ -0, /* rmso */ -0, /* rmul */ -0, /* flash */ -0, /* ff */ -0, /* fsl */ -0, /* is1 */ -0, /* is2 */ -0, /* is3 */ -0, /* if */ -0, /* ich1 */ -0, /* il1 */ -0, /* ip */ -0, /* kbs */ -0, /* ktbc */ -0, /* kclr */ -0, /* kctab */ -0, /* kdch1 */ -0, /* kdl1 */ -0, /* kcud1 */ -0, /* krmir */ -0, /* kel */ -0, /* ked */ -0, /* kf0 */ -0, /* kf1 */ -0, /* kf10 */ -0, /* kf2 */ -0, /* kf3 */ -0, /* kf4 */ -0, /* kf5 */ -0, /* kf6 */ -0, /* kf7 */ -0, /* kf8 */ -0, /* kf9 */ -0, /* khome */ -0, /* kich1 */ -0, /* kil1 */ -0, /* kcub1 */ -0, /* kll */ -0, /* knp */ -0, /* kpp */ -0, /* kcuf1 */ -0, /* kind */ -0, /* kri */ -0, /* khts */ -0, /* kcuu1 */ -0, /* rmkx */ -0, /* smkx */ -0, /* lf0 */ -0, /* lf1 */ -0, /* lf10 */ -0, /* lf2 */ -0, /* lf3 */ -0, /* lf4 */ -0, /* lf5 */ -0, /* lf6 */ -0, /* lf7 */ -0, /* lf8 */ -0, /* lf9 */ -0, /* rmm */ -0, /* smm */ -0, /* nel */ -0, /* pad */ -1, /* dch */ -1, /* dl */ -1, /* cud */ -1, /* ich */ -1, /* indn */ -1, /* il */ -1, /* cub */ -1, /* cuf */ -1, /* rin */ -1, /* cuu */ -1, /* pfkey */ -1, /* pfloc */ -1, /* pfx */ -0, /* mc0 */ -0, /* mc4 */ -0, /* mc5 */ -1, /* rep */ -0, /* rs1 */ -0, /* rs2 */ -0, /* rs3 */ -0, /* rf */ -0, /* rc */ -1, /* vpa */ -0, /* sc */ -0, /* ind */ -0, /* ri */ -1, /* sgr */ -0, /* hts */ -1, /* wind */ -0, /* ht */ -1, /* tsl */ -0, /* uc */ -0, /* hu */ -0, /* iprog */ -0, /* ka1 */ -0, /* ka3 */ -0, /* kb2 */ -0, /* kc1 */ -0, /* kc3 */ -1, /* mc5p */ -0, /* rmp */ --1, /* acsc */ -1, /* pln */ -0, /* kcbt */ -0, /* smxon */ -0, /* rmxon */ -0, /* smam */ -0, /* rmam */ -0, /* xonc */ -0, /* xoffc */ -0, /* enacs */ -0, /* smln */ -0, /* rmln */ -0, /* kbeg */ -0, /* kcan */ -0, /* kclo */ -0, /* kcmd */ -0, /* kcpy */ -0, /* kcrt */ -0, /* kend */ -0, /* kent */ -0, /* kext */ -0, /* kfnd */ -0, /* khlp */ -0, /* kmrk */ -0, /* kmsg */ -0, /* kmov */ -0, /* knxt */ -0, /* kopn */ -0, /* kopt */ -0, /* kprv */ -0, /* kprt */ -0, /* krdo */ -0, /* kref */ -0, /* krfr */ -0, /* krpl */ -0, /* krst */ -0, /* kres */ -0, /* ksav */ -0, /* kspd */ -0, /* kund */ -0, /* kBEG */ -0, /* kCAN */ -0, /* kCMD */ -0, /* kCPY */ -0, /* kCRT */ -0, /* kDC */ -0, /* kDL */ -0, /* kslt */ -0, /* kEND */ -0, /* kEOL */ -0, /* kEXT */ -0, /* kFND */ -1, /* kHLP */ -1, /* kHOM */ -1, /* kIC */ -1, /* kLFT */ -0, /* kMSG */ -0, /* kMOV */ -0, /* kNXT */ -0, /* kOPT */ -0, /* kPRV */ -0, /* kPRT */ -0, /* kRDO */ -0, /* kRPL */ -0, /* kRIT */ -0, /* kRES */ -0, /* kSAV */ -0, /* kSPD */ -0, /* kUND */ -0, /* rfi */ -0, /* kf11 */ -0, /* kf12 */ -0, /* kf13 */ -0, /* kf14 */ -0, /* kf15 */ -0, /* kf16 */ -0, /* kf17 */ -0, /* kf18 */ -0, /* kf19 */ -0, /* kf20 */ -0, /* kf21 */ -0, /* kf22 */ -0, /* kf23 */ -0, /* kf24 */ -0, /* kf25 */ -0, /* kf26 */ -0, /* kf27 */ -0, /* kf28 */ -0, /* kf29 */ -0, /* kf30 */ -0, /* kf31 */ -0, /* kf32 */ -0, /* kf33 */ -0, /* kf34 */ -0, /* kf35 */ -0, /* kf36 */ -0, /* kf37 */ -0, /* kf38 */ -0, /* kf39 */ -0, /* kf40 */ -0, /* kf41 */ -0, /* kf42 */ -0, /* kf43 */ -0, /* kf44 */ -0, /* kf45 */ -0, /* kf46 */ -0, /* kf47 */ -0, /* kf48 */ -0, /* kf49 */ -0, /* kf50 */ -0, /* kf51 */ -0, /* kf52 */ -0, /* kf53 */ -0, /* kf54 */ -0, /* kf55 */ -0, /* kf56 */ -0, /* kf57 */ -0, /* kf58 */ -0, /* kf59 */ -0, /* kf60 */ -0, /* kf61 */ -0, /* kf62 */ -0, /* kf63 */ -0, /* el1 */ -0, /* mgc */ -0, /* smgl */ -0, /* smgr */ -0, /* fln */ -1, /* sclk */ -0, /* dclk */ -0, /* rmclk */ -1, /* cwin */ -1, /* wingo */ -0, /* hup */ -1, /* dial */ -1, /* qdial */ -0, /* tone */ -0, /* pulse */ -0, /* hook */ -0, /* pause */ -0, /* wait */ -1, /* u0 */ -1, /* u1 */ -1, /* u2 */ -1, /* u3 */ -1, /* u4 */ -1, /* u5 */ -1, /* u6 */ -1, /* u7 */ -1, /* u8 */ -1, /* u9 */ -0, /* op */ -0, /* oc */ -1, /* initc */ -1, /* initp */ -1, /* scp */ -1, /* setf */ -1, /* setb */ -1, /* cpi */ -1, /* lpi */ -1, /* chr */ -1, /* cvr */ -1, /* defc */ -0, /* swidm */ -0, /* sdrfq */ -0, /* sitm */ -0, /* slm */ -0, /* smicm */ -0, /* snlq */ -0, /* snrmq */ -0, /* sshm */ -0, /* ssubm */ -0, /* ssupm */ -0, /* sum */ -0, /* rwidm */ -0, /* ritm */ -0, /* rlm */ -0, /* rmicm */ -0, /* rshm */ -0, /* rsubm */ -0, /* rsupm */ -0, /* rum */ -0, /* mhpa */ -0, /* mcud1 */ -0, /* mcub1 */ -0, /* mcuf1 */ -1, /* mvpa */ -0, /* mcuu1 */ -0, /* porder */ -0, /* mcud */ -0, /* mcub */ -0, /* mcuf */ -0, /* mcuu */ -1, /* scs */ -0, /* smgb */ -1, /* smgbp */ -1, /* smglp */ -1, /* smgrp */ -0, /* smgt */ -1, /* smgtp */ -0, /* sbim */ -1, /* scsd */ -0, /* rbim */ -1, /* rcsd */ -0, /* subcs */ -0, /* supcs */ -0, /* docr */ -0, /* zerom */ -1, /* csnm */ -0, /* kmous */ -0, /* minfo */ -0, /* reqmp */ -1, /* getm */ -1, /* setaf */ -1, /* setab */ -1, /* pfxl */ -0, /* devt */ -0, /* csin */ -0, /* s0ds */ -0, /* s1ds */ -0, /* s2ds */ -0, /* s3ds */ -1, /* smglr */ -1, /* smgtb */ -1, /* birep */ -0, /* binel */ -0, /* bicr */ -1, /* colornm */ -0, /* defbi */ -0, /* endbi */ -1, /* setcolor */ -1, /* slines */ -1, /* dispc */ -0, /* smpch */ -0, /* rmpch */ -0, /* smsc */ -0, /* rmsc */ -0, /* pctrm */ -0, /* scesc */ -0, /* scesa */ -0, /* ehhlm */ -0, /* elhlm */ -0, /* elohlm */ -0, /* erhlm */ -0, /* ethlm */ -0, /* evhlm */ -1, /* sgr1 */ -1, /* slength */ -0, /* OTi2 */ -0, /* OTrs */ -0, /* OTnl */ -0, /* OTbc */ -0, /* OTko */ -0, /* OTma */ --1, /* OTG2 */ --1, /* OTG3 */ --1, /* OTG1 */ --1, /* OTG4 */ --1, /* OTGR */ --1, /* OTGL */ --1, /* OTGU */ --1, /* OTGD */ --1, /* OTGH */ --1, /* OTGV */ --1, /* OTGC */ -0, /* meml */ -0, /* memu */ -1, /* pln */ -0, /* smln */ -0, /* rmln */ -0, /* kf11 */ -0, /* kf12 */ -0, /* kf13 */ -0, /* kf14 */ -0, /* kf15 */ -0, /* kf16 */ -0, /* kf17 */ -0, /* kf18 */ -0, /* kf19 */ -0, /* kf20 */ -0, /* kf21 */ -0, /* kf22 */ -0, /* kf23 */ -0, /* kf24 */ -0, /* kf25 */ -0, /* kf26 */ -0, /* kf27 */ -0, /* kf28 */ -0, /* kf29 */ -0, /* kf30 */ -0, /* kf31 */ -0, /* kf32 */ -0, /* kf33 */ -0, /* kf34 */ -0, /* kf35 */ -0, /* kf36 */ -0, /* kf37 */ -0, /* kf38 */ -0, /* kf39 */ -0, /* kf40 */ -0, /* kf41 */ -0, /* kf42 */ -0, /* kf43 */ -0, /* kf44 */ -0, /* kf45 */ -0, /* kf46 */ -0, /* kf47 */ -0, /* kf48 */ -0, /* kf49 */ -0, /* kf50 */ -0, /* kf51 */ -0, /* kf52 */ -0, /* kf53 */ -0, /* kf54 */ -0, /* kf55 */ -0, /* kf56 */ -0, /* kf57 */ -0, /* kf58 */ -0, /* kf59 */ -0, /* kf60 */ -0, /* kf61 */ -0, /* kf62 */ -0, /* kf63 */ -0, /* box1 */ -0, /* box2 */ -0, /* batt1 */ -0, /* batt2 */ -0, /* colb0 */ -0, /* colb1 */ -0, /* colb2 */ -0, /* colb3 */ -0, /* colb4 */ -0, /* colb5 */ -0, /* colb6 */ -0, /* colb7 */ -0, /* colf0 */ -0, /* colf1 */ -0, /* colf2 */ -0, /* colf3 */ -0, /* colf4 */ -0, /* colf5 */ -0, /* colf6 */ -0, /* colf7 */ -0, /* font0 */ -0, /* font1 */ -0, /* font2 */ -0, /* font3 */ -0, /* font4 */ -0, /* font5 */ -0, /* font6 */ -0, /* font7 */ -0, /* kbtab */ -0, /* kdo */ -0, /* kcmd */ -0, /* kcpn */ -0, /* kend */ -0, /* khlp */ -0, /* knl */ -0, /* knpn */ -0, /* kppn */ -0, /* kppn */ -0, /* kquit */ -0, /* ksel */ -0, /* kscl */ -0, /* kscr */ -0, /* ktab */ -0, /* kmpf1 */ -0, /* kmpt1 */ -0, /* kmpf2 */ -0, /* kmpt2 */ -0, /* kmpf3 */ -0, /* kmpt3 */ -0, /* kmpf4 */ -0, /* kmpt4 */ -0, /* kmpf5 */ -0, /* kmpt5 */ -0, /* apstr */ -0, /* kmpf6 */ -0, /* kmpt6 */ -0, /* kmpf7 */ -0, /* kmpt7 */ -0, /* kmpf8 */ -0, /* kmpt8 */ -0, /* kmpf9 */ -0, /* kmpt9 */ -0, /* ksf1 */ -0, /* ksf2 */ -0, /* ksf3 */ -0, /* ksf4 */ -0, /* ksf5 */ -0, /* ksf6 */ -0, /* ksf7 */ -0, /* ksf8 */ -0, /* ksf9 */ -0, /* ksf10 */ -0, /* kf11 */ -0, /* kf12 */ -0, /* kact */ -0, /* topl */ -0, /* btml */ -0, /* rvert */ -0, /* lvert */ -} /* 548 entries */; - diff --git a/src/libs/ncurses/include/term.h b/src/libs/ncurses/include/term.h deleted file mode 100644 index daea531579..0000000000 --- a/src/libs/ncurses/include/term.h +++ /dev/null @@ -1,784 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/****************************************************************************/ -/* Author: Zeyd M. Ben-Halim 1992,1995 */ -/* and: Eric S. Raymond */ -/* and: Thomas E. Dickey 1995-2003 */ -/****************************************************************************/ - -/* $Id: MKterm.h.awk.in,v 1.42 2003/12/27 19:09:16 tom Exp $ */ - -/* -** term.h -- Definition of struct term -*/ - -#ifndef NCURSES_TERM_H_incl -#define NCURSES_TERM_H_incl 1 - -#undef NCURSES_VERSION -#define NCURSES_VERSION "5.5" - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H - * definition (based on the system for which this was configured). - */ - -#undef HAVE_TERMIOS_H -#define HAVE_TERMIOS_H 1 - -#undef HAVE_TCGETATTR -#define HAVE_TCGETATTR 1 - -#undef NCURSES_CONST -#define NCURSES_CONST /*nothing*/ - -#undef NCURSES_XNAMES -#define NCURSES_XNAMES 1 - -/* We will use these symbols to hide differences between - * termios/termio/sgttyb interfaces. - */ -#undef TTY -#undef SET_TTY -#undef GET_TTY - -/* Assume POSIX termio if we have the header and function */ -#if HAVE_TERMIOS_H && HAVE_TCGETATTR - -#undef TERMIOS -#define TERMIOS 1 - -#include -#define TTY struct termios - -#else /* !HAVE_TERMIOS_H */ - -#if 0 /* HAVE_TERMIO_H */ - -#undef TERMIOS -#define TERMIOS 1 - -#include -#define TTY struct termio - -/* Add definitions to make termio look like termios. - * But ifdef it, since there are some implementations - * that try to do this for us in a fake . - */ -#ifndef TCSANOW -#define TCSANOW TCSETA -#endif -#ifndef TCSADRAIN -#define TCSADRAIN TCSETAW -#endif -#ifndef TCSAFLUSH -#define TCSAFLUSH TCSETAF -#endif -#ifndef tcsetattr -#define tcsetattr(fd, cmd, arg) ioctl(fd, cmd, arg) -#endif -#ifndef tcgetattr -#define tcgetattr(fd, arg) ioctl(fd, TCGETA, arg) -#endif -#ifndef cfgetospeed -#define cfgetospeed(t) ((t)->c_cflag & CBAUD) -#endif -#ifndef TCIFLUSH -#define TCIFLUSH 0 -#endif -#ifndef TCOFLUSH -#define TCOFLUSH 1 -#endif -#ifndef TCIOFLUSH -#define TCIOFLUSH 2 -#endif -#ifndef tcflush -#define tcflush(fd, arg) ioctl(fd, TCFLSH, arg) -#endif - -#else /* !HAVE_TERMIO_H */ - -#undef TERMIOS -#include -#include -#define TTY struct sgttyb - -#endif /* HAVE_TERMIO_H */ - -#endif /* HAVE_TERMIOS_H */ - -#ifdef TERMIOS -#define GET_TTY(fd, buf) tcgetattr(fd, buf) -#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf) -#else -#define GET_TTY(fd, buf) gtty(fd, buf) -#define SET_TTY(fd, buf) stty(fd, buf) -#endif - -#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 - -/* older synonyms for some capabilities */ -#define beehive_glitch no_esc_ctlc -#define teleray_glitch dest_tabs_magic_smso -#define micro_char_size micro_col_size - -#ifdef __INTERNAL_CAPS_VISIBLE -#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] -#endif /* __INTERNAL_CAPS_VISIBLE */ - - -/* - * Predefined terminfo array sizes - */ -#define BOOLCOUNT 44 -#define NUMCOUNT 39 -#define STRCOUNT 414 - -/* used by code for comparing entries */ -#define acs_chars_index 146 - -typedef struct termtype { /* in-core form of terminfo data */ - char *term_names; /* str_table offset of term names */ - char *str_table; /* pointer to string table */ - char *Booleans; /* array of boolean values */ - short *Numbers; /* array of integer values */ - char **Strings; /* array of string offsets */ - -#if NCURSES_XNAMES - char *ext_str_table; /* pointer to extended string table */ - char **ext_Names; /* corresponding names */ - - unsigned short num_Booleans;/* count total Booleans */ - unsigned short num_Numbers; /* count total Numbers */ - unsigned short num_Strings; /* count total Strings */ - - unsigned short ext_Booleans;/* count extensions to Booleans */ - unsigned short ext_Numbers; /* count extensions to Numbers */ - unsigned short ext_Strings; /* count extensions to Strings */ -#endif /* NCURSES_XNAMES */ - -} TERMTYPE; - -typedef struct term { /* describe an actual terminal */ - TERMTYPE type; /* terminal type description */ - short Filedes; /* file description being written to */ - TTY Ottyb, /* original state of the terminal */ - Nttyb; /* current state of the terminal */ - int _baudrate; /* used to compute padding */ - char * _termname; /* used for termname() */ -} TERMINAL; - -extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term; - -#if 0 /* BROKEN_LINKER */ -#define boolnames _nc_boolnames() -#define boolcodes _nc_boolcodes() -#define boolfnames _nc_boolfnames() -#define numnames _nc_numnames() -#define numcodes _nc_numcodes() -#define numfnames _nc_numfnames() -#define strnames _nc_strnames() -#define strcodes _nc_strcodes() -#define strfnames _nc_strfnames() - -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolnames (void); -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolcodes (void); -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolfnames (void); -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numnames (void); -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numcodes (void); -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numfnames (void); -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strnames (void); -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strcodes (void); -extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strfnames (void); - -#else - -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[]; -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[]; -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[]; -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[]; -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[]; -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[]; -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[]; -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[]; -extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[]; - -#endif - -/* internals */ -extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf); -extern NCURSES_EXPORT(int) _nc_get_tty_mode (TTY *buf); -extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const); -extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE *); -extern NCURSES_EXPORT(char *) _nc_first_name (const char *const); -extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const); -extern NCURSES_EXPORT(int) _nc_read_termcap_entry (const char *const, TERMTYPE *const); -extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *); - -/* entry points */ -extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *); -extern NCURSES_EXPORT(int) del_curterm (TERMINAL *); - -/* miscellaneous entry points */ -extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *); -extern NCURSES_EXPORT(int) setupterm (NCURSES_CONST char *,int,int *); - -/* terminfo entry points, also declared in curses.h */ -#if !defined(__NCURSES_H) -extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *); -extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); -extern NCURSES_EXPORT_VAR(char) ttytype[]; -extern NCURSES_EXPORT(int) putp (const char *); -extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *); -extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *); -#endif /* __NCURSES_H */ - -/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */ -#if !defined(NCURSES_TERMCAP_H_incl) -extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **); -extern NCURSES_EXPORT(char *) tgoto (const char *, int, int); -extern NCURSES_EXPORT(int) tgetent (char *, const char *); -extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *); -extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *); -extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int)); -#endif /* NCURSES_TERMCAP_H_incl */ - -#ifdef __cplusplus -} -#endif - -#endif /* NCURSES_TERM_H_incl */ diff --git a/src/libs/ncurses/include/term_entry.h b/src/libs/ncurses/include/term_entry.h deleted file mode 100644 index c880c3a721..0000000000 --- a/src/libs/ncurses/include/term_entry.h +++ /dev/null @@ -1,168 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1998-2004 * - ****************************************************************************/ - -/* $Id: term_entry.h,v 1.34 2005/07/16 21:15:07 tom Exp $ */ - -/* - * term_entry.h -- interface to entry-manipulation code - */ - -#ifndef NCURSES_TERM_ENTRY_H_incl -#define NCURSES_TERM_ENTRY_H_incl 1 - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#define MAX_USES 32 -#define MAX_CROSSLINKS 16 - -typedef struct entry { - TERMTYPE tterm; - int nuses; - struct - { - char *name; - struct entry *link; - long line; - } - uses[MAX_USES]; - int ncrosslinks; - struct entry *crosslinks[MAX_CROSSLINKS]; - long cstart, cend; - long startline; - struct entry *next; - struct entry *last; -} -ENTRY; - -#if NCURSES_XNAMES -#define NUM_BOOLEANS(tp) (tp)->num_Booleans -#define NUM_NUMBERS(tp) (tp)->num_Numbers -#define NUM_STRINGS(tp) (tp)->num_Strings -#define EXT_NAMES(tp,i,limit,index,table) (i >= limit) ? tp->ext_Names[index] : table[i] -#else -#define NUM_BOOLEANS(tp) BOOLCOUNT -#define NUM_NUMBERS(tp) NUMCOUNT -#define NUM_STRINGS(tp) STRCOUNT -#define EXT_NAMES(tp,i,limit,index,table) table[i] -#endif - -#define NUM_EXT_NAMES(tp) ((tp)->ext_Booleans + (tp)->ext_Numbers + (tp)->ext_Strings) - -#define for_each_boolean(n,tp) for(n = 0; n < NUM_BOOLEANS(tp); n++) -#define for_each_number(n,tp) for(n = 0; n < NUM_NUMBERS(tp); n++) -#define for_each_string(n,tp) for(n = 0; n < NUM_STRINGS(tp); n++) - -#define ExtBoolname(tp,i,names) EXT_NAMES(tp, i, BOOLCOUNT, (i - (tp->num_Booleans - tp->ext_Booleans)), names) -#define ExtNumname(tp,i,names) EXT_NAMES(tp, i, NUMCOUNT, (i - (tp->num_Numbers - tp->ext_Numbers)) + tp->ext_Booleans, names) -#define ExtStrname(tp,i,names) EXT_NAMES(tp, i, STRCOUNT, (i - (tp->num_Strings - tp->ext_Strings)) + (tp->ext_Numbers + tp->ext_Booleans), names) - -extern NCURSES_EXPORT_VAR(ENTRY *) _nc_head; -extern NCURSES_EXPORT_VAR(ENTRY *) _nc_tail; -#define for_entry_list(qp) for (qp = _nc_head; qp; qp = qp->next) - -#define MAX_LINE 132 - -#define NULLHOOK (bool(*)(ENTRY *))0 - -/* - * Note that WANTED and PRESENT are not simple inverses! If a capability - * has been explicitly cancelled, it's not considered WANTED. - */ -#define WANTED(s) ((s) == ABSENT_STRING) -#define PRESENT(s) (((s) != ABSENT_STRING) && ((s) != CANCELLED_STRING)) - -#define ANDMISSING(p,q) \ - {if (PRESENT(p) && !PRESENT(q)) _nc_warning(#p " but no " #q);} - -#define PAIRED(p,q) \ - { \ - if (PRESENT(q) && !PRESENT(p)) \ - _nc_warning(#q " but no " #p); \ - if (PRESENT(p) && !PRESENT(q)) \ - _nc_warning(#p " but no " #q); \ - } - -/* alloc_entry.c: elementary allocation code */ -extern NCURSES_EXPORT(ENTRY *) _nc_copy_entry (ENTRY *oldp); -extern NCURSES_EXPORT(char *) _nc_save_str (const char *const); -extern NCURSES_EXPORT(void) _nc_init_entry (TERMTYPE *const); -extern NCURSES_EXPORT(void) _nc_merge_entry (TERMTYPE *const, TERMTYPE *const); -extern NCURSES_EXPORT(void) _nc_wrap_entry (ENTRY *const, bool); - -/* alloc_ttype.c: elementary allocation code */ -extern NCURSES_EXPORT(void) _nc_align_termtype (TERMTYPE *, TERMTYPE *); -extern NCURSES_EXPORT(void) _nc_copy_termtype (TERMTYPE *, TERMTYPE *); - -/* free_ttype.c: elementary allocation code */ -extern NCURSES_EXPORT(void) _nc_free_termtype (TERMTYPE *); - -/* lib_acs.c */ -extern NCURSES_EXPORT(void) _nc_init_acs (void); /* corresponds to traditional 'init_acs()' */ - -/* lib_termcap.c: trim sgr0 string for termcap users */ -extern NCURSES_EXPORT(char *) _nc_trim_sgr0 (TERMTYPE *); - -/* parse_entry.c: entry-parsing code */ -#if NCURSES_XNAMES -extern NCURSES_EXPORT_VAR(bool) _nc_user_definable; -extern NCURSES_EXPORT_VAR(bool) _nc_disable_period; -#endif -extern NCURSES_EXPORT(int) _nc_parse_entry (ENTRY *, int, bool); -extern NCURSES_EXPORT(int) _nc_capcmp (const char *, const char *); - -/* write_entry.c: writing an entry to the file system */ -extern NCURSES_EXPORT(void) _nc_set_writedir (char *); -extern NCURSES_EXPORT(void) _nc_write_entry (TERMTYPE *const); - -/* comp_parse.c: entry list handling */ -extern NCURSES_EXPORT(void) _nc_read_entry_source (FILE*, char*, int, bool, bool (*)(ENTRY*)); -extern NCURSES_EXPORT(bool) _nc_entry_match (char *, char *); -extern NCURSES_EXPORT(int) _nc_resolve_uses (bool); /* obs 20040705 */ -extern NCURSES_EXPORT(int) _nc_resolve_uses2 (bool, bool); -extern NCURSES_EXPORT(void) _nc_free_entries (ENTRY *); -extern NCURSES_IMPEXP void NCURSES_API (*_nc_check_termtype)(TERMTYPE *); /* obs 20040705 */ -extern NCURSES_IMPEXP void NCURSES_API (*_nc_check_termtype2)(TERMTYPE *, bool); - -/* trace_xnames.c */ -extern NCURSES_EXPORT(void) _nc_trace_xnames (TERMTYPE *); - -#ifdef __cplusplus -} -#endif - -#endif /* NCURSES_TERM_ENTRY_H_incl */ diff --git a/src/libs/ncurses/include/termcap.h b/src/libs/ncurses/include/termcap.h deleted file mode 100644 index ad2d13d1ee..0000000000 --- a/src/libs/ncurses/include/termcap.h +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* $Id: termcap.h.in,v 1.16 2001/03/24 21:53:27 tom Exp $ */ - -#ifndef NCURSES_TERMCAP_H_incl -#define NCURSES_TERMCAP_H_incl 1 - -#undef NCURSES_VERSION -#define NCURSES_VERSION "5.5" - -#include - -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - -#include - -#undef NCURSES_CONST -#define NCURSES_CONST /*nothing*/ - -#undef NCURSES_OSPEED -#define NCURSES_OSPEED short - -extern NCURSES_EXPORT_VAR(char) PC; -extern NCURSES_EXPORT_VAR(char *) UP; -extern NCURSES_EXPORT_VAR(char *) BC; -extern NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed; - -#if !defined(NCURSES_TERM_H_incl) -extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **); -extern NCURSES_EXPORT(char *) tgoto (const char *, int, int); -extern NCURSES_EXPORT(int) tgetent (char *, const char *); -extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *); -extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *); -extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int)); -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* NCURSES_TERMCAP_H_incl */ diff --git a/src/libs/ncurses/include/termcap.h.in b/src/libs/ncurses/include/termcap.h.in deleted file mode 100644 index 6adc312220..0000000000 --- a/src/libs/ncurses/include/termcap.h.in +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* $Id: termcap.h.in,v 1.16 2001/03/24 21:53:27 tom Exp $ */ - -#ifndef NCURSES_TERMCAP_H_incl -#define NCURSES_TERMCAP_H_incl 1 - -#undef NCURSES_VERSION -#define NCURSES_VERSION "@NCURSES_MAJOR@.@NCURSES_MINOR@" - -#include - -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - -#include - -#undef NCURSES_CONST -#define NCURSES_CONST @NCURSES_CONST@ - -#undef NCURSES_OSPEED -#define NCURSES_OSPEED @NCURSES_OSPEED@ - -extern NCURSES_EXPORT_VAR(char) PC; -extern NCURSES_EXPORT_VAR(char *) UP; -extern NCURSES_EXPORT_VAR(char *) BC; -extern NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed; - -#if !defined(NCURSES_TERM_H_incl) -extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **); -extern NCURSES_EXPORT(char *) tgoto (const char *, int, int); -extern NCURSES_EXPORT(int) tgetent (char *, const char *); -extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *); -extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *); -extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int)); -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* NCURSES_TERMCAP_H_incl */ diff --git a/src/libs/ncurses/include/tic.h b/src/libs/ncurses/include/tic.h deleted file mode 100644 index 6b98b83b0c..0000000000 --- a/src/libs/ncurses/include/tic.h +++ /dev/null @@ -1,312 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996 on * - ****************************************************************************/ - -/* - * $Id: tic.h,v 1.50 2005/08/20 19:41:40 tom Exp $ - * tic.h - Global variables and structures for the terminfo - * compiler. - */ - -#ifndef __TIC_H -#define __TIC_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include /* for the _tracef() prototype, ERR/OK, bool defs */ - -/* -** The format of compiled terminfo files is as follows: -** -** Header (12 bytes), containing information given below -** Names Section, containing the names of the terminal -** Boolean Section, containing the values of all of the -** boolean capabilities -** A null byte may be inserted here to make -** sure that the Number Section begins on an -** even word boundary. -** Number Section, containing the values of all of the numeric -** capabilities, each as a short integer -** String Section, containing short integer offsets into the -** String Table, one per string capability -** String Table, containing the actual characters of the string -** capabilities. -** -** NOTE that all short integers in the file are stored using VAX/PDP-style -** byte-order, i.e., least-significant byte first. -** -** There is no structure definition here because it would only confuse -** matters. Terminfo format is a raw byte layout, not a structure -** dump. If you happen to be on a little-endian machine with 16-bit -** shorts that requires no padding between short members in a struct, -** then there is a natural C structure that captures the header, but -** not very helpfully. -*/ - -#define MAGIC 0432 /* first two bytes of a compiled entry */ - -/* - * The "maximum" here is misleading; XSI guarantees minimum values, which a - * given implementation may exceed. - */ -#define MAX_NAME_SIZE 512 /* maximum legal name field size (XSI:127) */ -#define MAX_ENTRY_SIZE 4096 /* maximum legal entry size */ - -/* - * The maximum size of individual name or alias is guaranteed in XSI to be at - * least 14, since that corresponds to the older filename lengths. Newer - * systems allow longer aliases, though not many terminal descriptions are - * written to use them. The MAX_ALIAS symbol is used for warnings. - */ -#if HAVE_LONG_FILE_NAMES -#define MAX_ALIAS 32 /* smaller than POSIX minimum for PATH_MAX */ -#else -#define MAX_ALIAS 14 /* SVr3 filename length */ -#endif - -/* location of user's personal info directory */ -#define PRIVATE_INFO "%s/.terminfo" /* plug getenv("HOME") into %s */ - -/* - * Some traces are designed to be used via tic's verbose option (and similar in - * infocmp and toe) rather than the 'trace()' function. So we use the bits - * above the normal trace() parameter as a debug-level. - */ - -#define MAX_DEBUG_LEVEL 15 -#define DEBUG_LEVEL(n) ((n) << TRACE_SHIFT) - -#define set_trace_level(n) \ - _nc_tracing &= DEBUG_LEVEL(MAX_DEBUG_LEVEL), \ - _nc_tracing |= DEBUG_LEVEL(n) - -#ifdef TRACE -#define DEBUG(n, a) if (_nc_tracing >= DEBUG_LEVEL(n)) _tracef a -#else -#define DEBUG(n, a) /*nothing*/ -#endif - -extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing; -extern NCURSES_EXPORT(void) _nc_tracef (char *, ...) GCC_PRINTFLIKE(1,2); -extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *); -extern NCURSES_EXPORT(const char *) _nc_visbuf2 (int, const char *); - -/* - * These are the types of tokens returned by the scanner. The first - * three are also used in the hash table of capability names. The scanner - * returns one of these values after loading the specifics into the global - * structure curr_token. - */ - -#define BOOLEAN 0 /* Boolean capability */ -#define NUMBER 1 /* Numeric capability */ -#define STRING 2 /* String-valued capability */ -#define CANCEL 3 /* Capability to be cancelled in following tc's */ -#define NAMES 4 /* The names for a terminal type */ -#define UNDEF 5 /* Undefined */ - -#define NO_PUSHBACK -1 /* used in pushtype to indicate no pushback */ - - /* - * The global structure in which the specific parts of a - * scanned token are returned. - * - */ - -struct token -{ - char *tk_name; /* name of capability */ - int tk_valnumber; /* value of capability (if a number) */ - char *tk_valstring; /* value of capability (if a string) */ -}; - -extern NCURSES_EXPORT_VAR(struct token) _nc_curr_token; - - /* - * List of keynames with their corresponding code. - */ -struct kn { - const char *name; - int code; -}; - -extern NCURSES_EXPORT_VAR(const struct kn) _nc_key_names[]; - - /* - * Offsets to string capabilities, with the corresponding functionkey - * codes. - */ -struct tinfo_fkeys { - unsigned offset; - chtype code; - }; - -#if BROKEN_LINKER - -#define _nc_tinfo_fkeys _nc_tinfo_fkeysf() -extern NCURSES_EXPORT(struct tinfo_fkeys *) _nc_tinfo_fkeysf (void); - -#else - -extern NCURSES_EXPORT_VAR(struct tinfo_fkeys) _nc_tinfo_fkeys[]; - -#endif - - /* - * The file comp_captab.c contains an array of these structures, one - * per possible capability. These are indexed by a hash table array of - * pointers to the same structures for use by the parser. - */ - -struct name_table_entry -{ - const char *nte_name; /* name to hash on */ - int nte_type; /* BOOLEAN, NUMBER or STRING */ - short nte_index; /* index of associated variable in its array */ - short nte_link; /* index in table of next hash, or -1 */ -}; - -struct alias -{ - const char *from; - const char *to; - const char *source; -}; - -extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_info_hash_table[]; -extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_cap_hash_table[]; - -extern NCURSES_EXPORT_VAR(const struct alias) _nc_capalias_table[]; -extern NCURSES_EXPORT_VAR(const struct alias) _nc_infoalias_table[]; - -extern NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool); -extern NCURSES_EXPORT(const struct name_table_entry * const *) _nc_get_hash_table (bool); - -#define NOTFOUND ((struct name_table_entry *) 0) - -/* out-of-band values for representing absent capabilities */ -#define ABSENT_BOOLEAN ((signed char)-1) /* 255 */ -#define ABSENT_NUMERIC (-1) -#define ABSENT_STRING (char *)0 - -/* out-of-band values for representing cancels */ -#define CANCELLED_BOOLEAN ((signed char)-2) /* 254 */ -#define CANCELLED_NUMERIC (-2) -#define CANCELLED_STRING (char *)(-1) - -#define VALID_BOOLEAN(s) ((unsigned char)(s) <= 1) /* reject "-1" */ -#define VALID_NUMERIC(s) ((s) >= 0) -#define VALID_STRING(s) ((s) != CANCELLED_STRING && (s) != ABSENT_STRING) - -/* termcap entries longer than this may break old binaries */ -#define MAX_TERMCAP_LENGTH 1023 - -/* this is a documented limitation of terminfo */ -#define MAX_TERMINFO_LENGTH 4096 - -#ifndef TERMINFO -#define TERMINFO "/usr/share/terminfo" -#endif - -/* access.c */ -extern NCURSES_EXPORT(unsigned) _nc_pathlast (const char *); -extern NCURSES_EXPORT(char *) _nc_basename (char *); -extern NCURSES_EXPORT(char *) _nc_rootname (char *); - -/* comp_hash.c: name lookup */ -extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_entry - (const char *, const struct name_table_entry *const *); -extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_type_entry - (const char *, int, const struct name_table_entry *); - -/* comp_scan.c: lexical analysis */ -extern NCURSES_EXPORT(int) _nc_get_token (bool); -extern NCURSES_EXPORT(void) _nc_panic_mode (char); -extern NCURSES_EXPORT(void) _nc_push_token (int); -extern NCURSES_EXPORT(void) _nc_reset_input (FILE *, char *); -extern NCURSES_EXPORT_VAR(int) _nc_curr_col; -extern NCURSES_EXPORT_VAR(int) _nc_curr_line; -extern NCURSES_EXPORT_VAR(int) _nc_syntax; -extern NCURSES_EXPORT_VAR(long) _nc_comment_end; -extern NCURSES_EXPORT_VAR(long) _nc_comment_start; -extern NCURSES_EXPORT_VAR(long) _nc_curr_file_pos; -extern NCURSES_EXPORT_VAR(long) _nc_start_line; -#define SYN_TERMINFO 0 -#define SYN_TERMCAP 1 - -/* comp_error.c: warning & abort messages */ -extern NCURSES_EXPORT(const char *) _nc_get_source (void); -extern NCURSES_EXPORT(void) _nc_err_abort (const char *const,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN; -extern NCURSES_EXPORT(void) _nc_get_type (char *name); -extern NCURSES_EXPORT(void) _nc_set_source (const char *const); -extern NCURSES_EXPORT(void) _nc_set_type (const char *const); -extern NCURSES_EXPORT(void) _nc_syserr_abort (const char *const,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN; -extern NCURSES_EXPORT(void) _nc_warning (const char *const,...) GCC_PRINTFLIKE(1,2); -extern NCURSES_EXPORT_VAR(bool) _nc_suppress_warnings; - -/* comp_expand.c: expand string into readable form */ -extern NCURSES_EXPORT(char *) _nc_tic_expand (const char *, bool, int); - -/* comp_scan.c: decode string from readable form */ -extern NCURSES_EXPORT(int) _nc_trans_string (char *, char *); - -/* captoinfo.c: capability conversion */ -extern NCURSES_EXPORT(char *) _nc_captoinfo (const char *, const char *, int const); -extern NCURSES_EXPORT(char *) _nc_infotocap (const char *, const char *, int const); - -/* lib_tparm.c */ -#define NUM_PARM 9 - -extern NCURSES_EXPORT_VAR(int) _nc_tparm_err; - -extern NCURSES_EXPORT(int) _nc_tparm_analyze(const char *, char **, int *); - -/* lib_tputs.c */ -extern NCURSES_EXPORT_VAR(int) _nc_nulls_sent; /* Add one for every null sent */ - -/* comp_main.c: compiler main */ -extern const char * _nc_progname; - -/* read_entry.c */ -extern NCURSES_EXPORT(const char *) _nc_tic_dir (const char *); - -/* write_entry.c */ -extern NCURSES_EXPORT(int) _nc_tic_written (void); - -#ifdef __cplusplus -} -#endif - -#endif /* __TIC_H */ diff --git a/src/libs/ncurses/include/unctrl.h b/src/libs/ncurses/include/unctrl.h deleted file mode 100644 index f2efd45d41..0000000000 --- a/src/libs/ncurses/include/unctrl.h +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * unctrl.h - * - * Display a printable version of a control character. - * Control characters are displayed in caret notation (^x), DELETE is displayed - * as ^?. Printable characters are displayed as is. - */ - -/* $Id: unctrl.h.in,v 1.10 2001/03/24 21:53:25 tom Exp $ */ - -#ifndef NCURSES_UNCTRL_H_incl -#define NCURSES_UNCTRL_H_incl 1 - -#undef NCURSES_VERSION -#define NCURSES_VERSION "5.5" - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#undef unctrl -NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype); - -#ifdef __cplusplus -} -#endif - -#endif /* NCURSES_UNCTRL_H_incl */ diff --git a/src/libs/ncurses/include/unctrl.h.in b/src/libs/ncurses/include/unctrl.h.in deleted file mode 100644 index 70d74b7714..0000000000 --- a/src/libs/ncurses/include/unctrl.h.in +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * unctrl.h - * - * Display a printable version of a control character. - * Control characters are displayed in caret notation (^x), DELETE is displayed - * as ^?. Printable characters are displayed as is. - */ - -/* $Id: unctrl.h.in,v 1.10 2001/03/24 21:53:25 tom Exp $ */ - -#ifndef NCURSES_UNCTRL_H_incl -#define NCURSES_UNCTRL_H_incl 1 - -#undef NCURSES_VERSION -#define NCURSES_VERSION "@NCURSES_MAJOR@.@NCURSES_MINOR@" - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#undef unctrl -NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype); - -#ifdef __cplusplus -} -#endif - -#endif /* NCURSES_UNCTRL_H_incl */ diff --git a/src/libs/ncurses/install-sh b/src/libs/ncurses/install-sh deleted file mode 100755 index 9f59f0be50..0000000000 --- a/src/libs/ncurses/install-sh +++ /dev/null @@ -1,251 +0,0 @@ -#! /bin/sh -# -# install - install a program, script, or datafile -# This comes from X11R5 (mit/util/scripts/install.sh). -# -# Copyright 1991 by the Massachusetts Institute of Technology -# -# Permission to use, copy, modify, distribute, and sell this software and its -# documentation for any purpose is hereby granted without fee, provided that -# the above copyright notice appear in all copies and that both that -# copyright notice and this permission notice appear in supporting -# documentation, and that the name of M.I.T. not be used in advertising or -# publicity pertaining to distribution of the software without specific, -# written prior permission. M.I.T. makes no representations about the -# suitability of this software for any purpose. It is provided "as is" -# without express or implied warranty. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. - - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - - -# put in absolute paths if you don't have them in your path; or use env. vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -transformbasename="" -transform_arg="" -instcmd="$mvprog" -chmodcmd="$chmodprog 0755" -chowncmd="" -chgrpcmd="" -stripcmd="" -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src="" -dst="" -dir_arg="" - -while [ x"$1" != x ]; do - case $1 in - -c) instcmd="$cpprog" - shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - -s) stripcmd="$stripprog" - shift - continue;; - - -t=*) transformarg=`echo $1 | sed 's/-t=//'` - shift - continue;; - - -b=*) transformbasename=`echo $1 | sed 's/-b=//'` - shift - continue;; - - *) if [ x"$src" = x ] - then - src=$1 - else - # this colon is to work around a 386BSD /bin/sh bug - : - dst=$1 - fi - shift - continue;; - esac -done - -if [ x"$src" = x ] -then - echo "install: no input file specified" - exit 1 -else - : -fi - -if [ x"$dir_arg" != x ]; then - dst=$src - src="" - - if [ -d $dst ]; then - instcmd=: - chmodcmd="" - else - instcmd=$mkdirprog - fi -else - -# Waiting for this to be detected by the "$instcmd $src $dsttmp" command -# might cause directories to be created, which would be especially bad -# if $src (and thus $dsttmp) contains '*'. - - if [ -f $src -o -d $src ] - then - : - else - echo "install: $src does not exist" - exit 1 - fi - - if [ x"$dst" = x ] - then - echo "install: no destination specified" - exit 1 - else - : - fi - -# If destination is a directory, append the input filename; if your system -# does not like double slashes in filenames, you may need to add some logic - - if [ -d $dst ] - then - dst="$dst"/`basename $src` - else - : - fi -fi - -## this sed command emulates the dirname command -dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` - -# Make sure that the destination directory exists. -# this part is taken from Noah Friedman's mkinstalldirs script - -# Skip lots of stat calls in the usual case. -if [ ! -d "$dstdir" ]; then -defaultIFS=' - ' -IFS="${IFS-${defaultIFS}}" - -oIFS="${IFS}" -# Some sh's can't handle IFS=/ for some reason. -IFS='%' -set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -IFS="${oIFS}" - -pathcomp='' - -while [ $# -ne 0 ] ; do - pathcomp="${pathcomp}${1}" - shift - - if [ ! -d "${pathcomp}" ] ; - then - $mkdirprog "${pathcomp}" - else - : - fi - - pathcomp="${pathcomp}/" -done -fi - -if [ x"$dir_arg" != x ] -then - $doit $instcmd $dst && - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi -else - -# If we're going to rename the final executable, determine the name now. - - if [ x"$transformarg" = x ] - then - dstfile=`basename $dst` - else - dstfile=`basename $dst $transformbasename | - sed $transformarg`$transformbasename - fi - -# don't allow the sed command to completely eliminate the filename - - if [ x"$dstfile" = x ] - then - dstfile=`basename $dst` - else - : - fi - -# Make a temp file name in the proper directory. - - dsttmp=$dstdir/#inst.$$# - -# Move or copy the file name to the temp name - - $doit $instcmd $src $dsttmp && - - trap "rm -f ${dsttmp}" 0 && - -# and set any options; do chmod last to preserve setuid bits - -# If any of these fail, we abort the whole thing. If we want to -# ignore errors from any of these, just make sure not to ignore -# errors from the above "$doit $instcmd $src $dsttmp" command. - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi && - -# Now rename the file to the real destination. - - $doit $rmcmd -f $dstdir/$dstfile && - $doit $mvcmd $dsttmp $dstdir/$dstfile - -fi && - - -exit 0 diff --git a/src/libs/ncurses/man/MKterminfo.sh b/src/libs/ncurses/man/MKterminfo.sh deleted file mode 100755 index 3a99609565..0000000000 --- a/src/libs/ncurses/man/MKterminfo.sh +++ /dev/null @@ -1,110 +0,0 @@ -#!/bin/sh -# $Id: MKterminfo.sh,v 1.12 2003/01/11 21:42:12 tom Exp $ -# -# MKterminfo.sh -- generate terminfo.5 from Caps tabular data -# -#*************************************************************************** -# Copyright (c) 1998,2002,2003 Free Software Foundation, Inc. * -# * -# Permission is hereby granted, free of charge, to any person obtaining a * -# copy of this software and associated documentation files (the * -# "Software"), to deal in the Software without restriction, including * -# without limitation the rights to use, copy, modify, merge, publish, * -# distribute, distribute with modifications, sublicense, and/or sell * -# copies of the Software, and to permit persons to whom the Software is * -# furnished to do so, subject to the following conditions: * -# * -# The above copyright notice and this permission notice shall be included * -# in all copies or substantial portions of the Software. * -# * -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -# IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -# THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -# * -# Except as contained in this notice, the name(s) of the above copyright * -# holders shall not be used in advertising or otherwise to promote the * -# sale, use or other dealings in this Software without prior written * -# authorization. * -#*************************************************************************** -# -# This script takes terminfo.head and terminfo.tail and splices in between -# them a table derived from the Caps data file. Besides avoiding having -# the docs fall out of sync with the table, this also lets us set up tbl -# commands for better formatting of the table. -# -# NOTE: The s in this script really are control characters. It translates -#  to \n because I couldn't get used to inserting linefeeds directly. There -# had better be no s in the table source text. -# -# keep the order independent of locale: -if test "${LANGUAGE+set}" = set; then LANGUAGE=C; export LANGUAGE; fi -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi -if test "${LC_COLLATE+set}" = set; then LC_COLLATE=C; export LC_COLLATE; fi - -# -head=$1 -caps=$2 -tail=$3 -cat <<'EOF' -'\" t -.\" DO NOT EDIT THIS FILE BY HAND! -.\" It is generated from terminfo.head, Caps, and terminfo.tail. -.\" -.\" Note: this must be run through tbl before nroff. -.\" The magic cookie on the first line triggers this under some man programs. -EOF -cat $head - -temp=temp$$ -sorted=sorted$$ -unsorted=unsorted$$ -trap "rm -f $sorted $temp $unsorted; exit 99" 1 2 5 15 - -sed -n <$caps "\ -/%%-STOP-HERE-%%/q -/^#%/s/#%//p -/^#/d -s/[ ][ ]*/ /g -s/$/T}/ -s/ [A-Z0-9_()\-][A-Z0-9_()\-]* [0-9\-][0-9\-]* [Y\-][B\-][C\-][G\-][EK\-]\** / T{/ -s/ bool / /p -s/ num / /p -s/ str / /p -" |sed -e 's/^$/../' | tr "\134" "\006" >$unsorted - -rm -f $sorted -rm -f $temp -saved=no -while true -do - data= - read data - test -z "$data" && break - case "$data" in #(vi - **) #(vi - echo "$data" >>$temp - saved=yes - ;; - *) - if test $saved = yes ; then - saved=no - sort $temp >>$sorted - rm -f $temp - fi - echo "$data" >>$sorted - ;; - esac -done <$unsorted -test $saved = yes && sort $temp >>$sorted - -sed -e 's/^\.\.$//' $sorted | tr "\005\006" "\012\134" -cat $tail - -rm -f $sorted $temp $unsorted diff --git a/src/libs/ncurses/man/Makefile b/src/libs/ncurses/man/Makefile deleted file mode 100644 index cee20e3523..0000000000 --- a/src/libs/ncurses/man/Makefile +++ /dev/null @@ -1,80 +0,0 @@ -# $Id: Makefile.in,v 1.39 2005/07/16 17:26:45 tom Exp $ -############################################################################## -# Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996,1997 -# -# Makefile for ncurses manual pages. -# -# NOTE: When you add or rename a man page, make sure you update both -# the top-level MANIFEST and any man/*.renames files! - -SHELL = /bin/sh - -DESTDIR = -srcdir = . -prefix = /usr/local -exec_prefix = ${prefix} -datadir = ${prefix}/share -mandir = ${prefix}/man - -INSTALL = /bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 - -all \ -sources : terminfo.5 -depend : -tags : - -$(DESTDIR)$(mandir) : - sh $(srcdir)/../mkinstalldirs $@ - -EDITARGS = $(DESTDIR)$(mandir) $(srcdir) terminfo.5 $(srcdir)/*.[0-9]* - -install install.man : terminfo.5 $(DESTDIR)$(mandir) - sh ../edit_man.sh normal installing $(EDITARGS) - -uninstall uninstall.man : - -sh ../edit_man.sh normal removing $(EDITARGS) - -# We compose terminfo.5 from the real sources... -CAPLIST=$(srcdir)/../include/Caps -terminfo.5: $(srcdir)/terminfo.head $(CAPLIST) $(srcdir)/terminfo.tail Makefile $(srcdir)/MKterminfo.sh - sh $(srcdir)/MKterminfo.sh $(srcdir)/terminfo.head $(CAPLIST) $(srcdir)/terminfo.tail >terminfo.5 - -mostlyclean : - -rm -f core tags TAGS *~ *.bak *.ln *.atac trace - -clean: mostlyclean - rm -f terminfo.5 - -../edit_man.sed : make_sed.sh no - sh $(srcdir)/make_sed.sh no >../edit_man.sed - -distclean realclean: clean - rm -f Makefile ../edit_man.* diff --git a/src/libs/ncurses/man/Makefile.in b/src/libs/ncurses/man/Makefile.in deleted file mode 100644 index 8a24d843a2..0000000000 --- a/src/libs/ncurses/man/Makefile.in +++ /dev/null @@ -1,80 +0,0 @@ -# $Id: Makefile.in,v 1.39 2005/07/16 17:26:45 tom Exp $ -############################################################################## -# Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996,1997 -# -# Makefile for ncurses manual pages. -# -# NOTE: When you add or rename a man page, make sure you update both -# the top-level MANIFEST and any man/*.renames files! - -SHELL = /bin/sh - -DESTDIR = @DESTDIR@ -srcdir = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ -datadir = @datadir@ -mandir = @mandir@ - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ - -all \ -sources : terminfo.5 -depend : -tags : - -$(DESTDIR)$(mandir) : - sh $(srcdir)/../mkinstalldirs $@ - -EDITARGS = $(DESTDIR)$(mandir) $(srcdir) terminfo.5 $(srcdir)/*.[0-9]* - -install install.man : terminfo.5 $(DESTDIR)$(mandir) - sh ../edit_man.sh normal installing $(EDITARGS) - -uninstall uninstall.man : - -sh ../edit_man.sh normal removing $(EDITARGS) - -# We compose terminfo.5 from the real sources... -CAPLIST=$(srcdir)/../include/@TERMINFO_CAPS@ -terminfo.5: $(srcdir)/terminfo.head $(CAPLIST) $(srcdir)/terminfo.tail Makefile $(srcdir)/MKterminfo.sh - sh $(srcdir)/MKterminfo.sh $(srcdir)/terminfo.head $(CAPLIST) $(srcdir)/terminfo.tail >terminfo.5 - -mostlyclean : - -rm -f core tags TAGS *~ *.bak *.ln *.atac trace - -clean: mostlyclean - rm -f terminfo.5 - -../edit_man.sed : make_sed.sh @MANPAGE_RENAMES@ - sh $(srcdir)/make_sed.sh @MANPAGE_RENAMES@ >../edit_man.sed - -distclean realclean: clean - rm -f Makefile ../edit_man.* diff --git a/src/libs/ncurses/man/captoinfo.1m b/src/libs/ncurses/man/captoinfo.1m deleted file mode 100644 index 94a5ae96b7..0000000000 --- a/src/libs/ncurses/man/captoinfo.1m +++ /dev/null @@ -1,189 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: captoinfo.1m,v 1.18 2004/07/05 13:16:08 tom Exp $ -.TH captoinfo 1M "" -.ds n 5 -.ds d @TERMINFO@ -.SH NAME -\fBcaptoinfo\fR - convert a \fItermcap\fR description into a \fIterminfo\fR description -.SH SYNOPSIS -\fBcaptoinfo\fR [\fB-v\fR\fIn\fR \fIwidth\fR] [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . . -.SH DESCRIPTION -\fBcaptoinfo\fR looks in \fIfile\fR for \fBtermcap\fR descriptions. For each -one found, an equivalent \fBterminfo\fR description is written to standard -output. Termcap \fBtc\fR capabilities are translated directly to terminfo -\fBuse\fR capabilities. - -If no \fIfile\fR is given, then the environment variable \fBTERMCAP\fR is used -for the filename or entry. If \fBTERMCAP\fR is a full pathname to a file, only -the terminal whose name is specified in the environment variable \fBTERM\fR is -extracted from that file. If the environment variable \fBTERMCAP\fR is not -set, then the file \fB\*d\fR is read. -.TP 5 -\fB-v\fR -print out tracing information on standard error as the program runs. -.TP 5 -\fB-V\fR -print out the version of the program in use on standard error and exit. -.TP 5 -\fB-1\fR -cause the fields to print out one to a line. Otherwise, the fields -will be printed several to a line to a maximum width of 60 -characters. -.TP 5 -\fB-w\fR -change the output to \fIwidth\fR characters. -.SH FILES -.TP 20 -\*d -Compiled terminal description database. -.SH TRANSLATIONS FROM NONSTANDARD CAPABILITIES -.PP -Some obsolete nonstandard capabilities will automatically be translated -into standard (SVr4/XSI Curses) terminfo capabilities by \fBcaptoinfo\fR. -Whenever one of these automatic translations is done, the program -will issue an notification to stderr, inviting the user to check that -it has not mistakenly translated a completely unknown and random -capability and/or syntax error. -.PP -.TS H -c c c c -c c c c -l l l l. -Nonstd Std From Terminfo -name name capability -_ -BO mr AT&T enter_reverse_mode -CI vi AT&T cursor_invisible -CV ve AT&T cursor_normal -DS mh AT&T enter_dim_mode -EE me AT&T exit_attribute_mode -FE LF AT&T label_on -FL LO AT&T label_off -XS mk AT&T enter_secure_mode -EN @7 XENIX key_end -GE ae XENIX exit_alt_charset_mode -GS as XENIX enter_alt_charset_mode -HM kh XENIX key_home -LD kL XENIX key_dl -PD kN XENIX key_npage -PN po XENIX prtr_off -PS pf XENIX prtr_on -PU kP XENIX key_ppage -RT @8 XENIX kent -UP ku XENIX kcuu1 -KA k; Tek key_f10 -KB F1 Tek key_f11 -KC F2 Tek key_f12 -KD F3 Tek key_f13 -KE F4 Tek key_f14 -KF F5 Tek key_f15 -BC Sb Tek set_background -FC Sf Tek set_foreground -HS mh Iris enter_dim_mode -.TE -.PP -XENIX termcap also used to have a set of extension capabilities -for forms drawing, designed to take advantage of the IBM PC -high-half graphics. They were as follows: -.PP -.TS H -c c -l l. -Cap Graphic -_ -G2 upper left -G3 lower left -G1 upper right -G4 lower right -GR pointing right -GL pointing left -GU pointing up -GD pointing down -GH horizontal line -GV vertical line -GC intersection -G6 upper left -G7 lower left -G5 upper right -G8 lower right -Gr tee pointing right -Gr tee pointing left -Gu tee pointing up -Gd tee pointing down -Gh horizontal line -Gv vertical line -Gc intersection -GG acs magic cookie count -.TE -.PP -If the single-line capabilities occur in an entry, they will automatically -be composed into an \fBacsc\fR string. The double-line capabilities and -\fBGG\fR are discarded with a warning message. -.PP -IBM's AIX has a terminfo facility descended from SVr1 terminfo but incompatible -with the SVr4 format. The following AIX extensions are automatically -translated: -.PP -.TS -c c -l l. -IBM XSI -_ -ksel kslt -kbtab kcbt -font0 s0ds -font1 s1ds -font2 s2ds -font3 s3ds -.TE -.PP -Additionally, the AIX \fBbox1\fR capability will be automatically translated to -an \fBacsc\fR string. -.PP -Hewlett-Packard's terminfo library supports two nonstandard terminfo -capabilities \fBmeml\fR (memory lock) and \fBmemu\fR (memory unlock). -These will be discarded with a warning message. -.SH NOTES -This utility is actually a link to \fItic\fR(1M), running in \fI-I\fR mode. -You can use other \fItic\fR options such as \fB-f\fR and \fB-x\fR. - -The trace option isn't identical to SVr4's. Under SVr4, instead of following -the \fB-v\fR with a trace level n, you repeat it n times. -.SH SEE ALSO -\fBcurses\fR(3X), \fB@INFOCMP@\fR(1M), \fBterminfo\fR(\*n) -.SH AUTHOR -Eric S. Raymond -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/clear.1 b/src/libs/ncurses/man/clear.1 deleted file mode 100644 index 4c4991f1d1..0000000000 --- a/src/libs/ncurses/man/clear.1 +++ /dev/null @@ -1,48 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: clear.1,v 1.3 2000/07/15 23:59:35 china Exp $ -.TH clear 1 "" -.ds n 5 -.SH NAME -\fBclear\fR - clear the terminal screen -.SH SYNOPSIS -\fBclear\fR -.br -.SH DESCRIPTION -\fBclear\fR clears your screen if this is possible. It looks in the -environment for the terminal type and then in the \fBterminfo\fR database to -figure out how to clear the screen. -.SH SEE ALSO -\fB@TPUT@\fR(1), \fBterminfo\fR(\*n) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_add_wch.3x b/src/libs/ncurses/man/curs_add_wch.3x deleted file mode 100644 index fae59ae0b6..0000000000 --- a/src/libs/ncurses/man/curs_add_wch.3x +++ /dev/null @@ -1,134 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 2001,2002 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_add_wch.3x,v 1.4 2002/02/16 22:28:43 tom Exp $ -.TH curs_add_wch 3X "" -.SH NAME -\fBadd_wch\fP, -\fBwadd_wch\fP, -\fBmvadd_wch\fP, -\fBmvwadd_wch\fP, -\fBecho_wchar\fP, -\fBwecho_wchar\fP - add a complex character and rendition to a \fBcurses\fR window, then advance the cursor -.SH SYNOPSIS -.PP -\fB#include \fP -.sp -.B "int add_wch( const cchar_t *\fIwch\fB );" -.br -.B "int wadd_wch( WINDOW *\fIwin\fP, const cchar_t *\fIwch\fB );" -.br -.B "int mvadd_wch( int \fIy\fP, int \fIx\fP, const cchar_t *\fIwch\fB );" -.br -.B "int mvwadd_wch( WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const cchar_t *\fIwch\fB );" -.br -.B "int echo_wchar( const cchar_t *\fIwch\fB );" -.br -.B "int wecho_wchar( WINDOW *\fIwin\fP, const cchar_t *\fIwch\fB );" -.br -.SH DESCRIPTION -.PP -The -\fBadd_wch\fP, -\fBwadd_wch\fP, -\fBmvadd_wch\fP, and -\fBmvwadd_wch\fP -functions put the complex character \fIwch\fP into the given -window at its current position, -which is then advanced. -These functions perform -wrapping and special-character processing as follows: -.TP 5 -- -If \fIwch\fP refers to a spacing character, -then any previous character at that location is removed. -A new character specified by \fIwch\fP is -placed at that location with rendition specified by \fIwch\fP. -The cursor then advances to -the next spacing character on the screen. -.TP 5 -- -If \fIwch\fP refers to a non-spacing character, -all previous characters at that location are preserved. -The non-spacing characters of \fIwch\fP -are added to the spacing complex character, -and the rendition specified by \fIwch\fP is ignored. -.TP 5 -- -If the character part of \fIwch\fP is -a tab, newline, backspace or other control character, -the window is updated and the cursor moves as if \fBaddch\fR(3X) were called. -.PP -The \fBecho_wchar\fP -function is functionally equivalent to a call to -\fBadd_wch\fP -followed by a call to -\fBrefresh\fP. -Similarly, the -\fBwecho_wchar\fP -is functionally equivalent to a call to -\fBwadd_wch\fP -followed by a call to -\fBwrefresh\fP. -The knowledge -that only a single character is being output is taken into consideration and, -for non-control characters, a considerable performance gain might be seen -by using the *\fBecho\fP* functions instead of their equivalents. -.SH RETURN VALUES -.PP -All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success. -.SH NOTES -.PP -Note that -\fBadd_wch\fP, -\fBmvadd_wch\fP, -\fBmvwadd_wch\fP, and -\fBecho_wchar\fP -may be macros. -.SH PORTABILITY -.PP -All these functions are described in the XSI Curses standard, Issue 4. -The defaults specified for forms-drawing characters apply in the POSIX locale. -.PP -XSI documents constants beginning with \fBWACS_\fP which are used for -line-drawing. -Those are not currently implemented in \fBncurses\fP. -.SH SEE ALSO -.PP -\fBcurses\fR(3X), -\fBcurs_attr_get\fR(3X), -\fBcurs_clear\fR(3X), -\fBcurs_outopts\fR(3X), -\fBcurs_refresh\fR(3X), -\fBputwc\fR(3) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_add_wchstr.3x b/src/libs/ncurses/man/curs_add_wchstr.3x deleted file mode 100644 index f84c2cb98c..0000000000 --- a/src/libs/ncurses/man/curs_add_wchstr.3x +++ /dev/null @@ -1,97 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 2002-2004,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_add_wchstr.3x,v 1.6 2005/01/02 01:28:49 tom Exp $ -.TH curs_add_wchstr 3X "" -.SH NAME -\fBadd_wchstr\fR, -\fBadd_wchnstr\fR, -\fBwadd_wchstr\fR, -\fBwadd_wchnstr\fR, -\fBmvadd_wchstr\fR, -\fBmvadd_wchnstr\fR, -\fBmvwadd_wchstr\fR, -\fBmvwadd_wchnstr\fR \- add an array of complex characters (and attributes) to a curses window -.SH SYNOPSIS -.B #include -.PP -.nf -\fBint add_wchstr(const cchar_t *\fR\fIwchstr\fR\fB);\fR -.br -\fBint add_wchnstr(const cchar_t *\fR\fIwchstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint wadd_wchstr(WINDOW *\fR \fIwin\fR\fB, const cchar_t *\fR\fIwchstr\fR\fB);\fR -.br -\fBint wadd_wchnstr(WINDOW *\fR \fIwin\fR\fB, const cchar_t *\fR\fIwchstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint mvadd_wchstr(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const cchar_t *\fR\fIwchstr\fR\fB);\fR -.br -\fBint mvadd_wchnstr(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const cchar_t *\fR\fIwchstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint mvwadd_wchstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const cchar_t *\fR\fIwchstr\fR\fB);\fR -.br -\fBint mvwadd_wchnstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const cchar_t *\fR\fIwchstr\fR\fB, int \fR\fIn\fR\fB);\fR -.fi -.SH DESCRIPTION -These routines copy the array of complex characters \fIwchstr\fR -into the window image structure at and after the current cursor position. -The four routines with \fIn\fR as the last -argument copy at most \fIn\fR elements, but no more than will fit on the line. -If \fBn\fR=\fB-1\fR then the whole array is copied, -to the maximum number of characters that will fit on the line. -.PP -The window cursor is \fInot\fR advanced. -These routines work faster than \fBwaddnstr\fR. -On the other hand, they do not perform checking -(such as for the newline, backspace, or carriage return characters), -they do not advance the current cursor position, -they do not expand other control characters to ^-escapes, -and they truncate the string if it crosses the right margin, -rather than wrapping it around to the new line. -.PP -These routines end successfully -on encountering a null \fIcchar_t\fR, or -when they have filled the current line. -If a complex character cannot completely fit at the end of the current line, -the remaining columns are filled with the background character and rendition. -.SH NOTES -All functions except \fBwadd_wchnstr\fR may be macros. -.SH RETURN VALUES -All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success. -.SH PORTABILITY -All these entry points are described in the XSI Curses standard, Issue 4. -.SH SEE ALSO -\fBcurses\fR(3X), -\fBcurs_addchstr\fR(3X), -\fBcurs_addwstr\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_addch.3x b/src/libs/ncurses/man/curs_addch.3x deleted file mode 100644 index 13053d0053..0000000000 --- a/src/libs/ncurses/man/curs_addch.3x +++ /dev/null @@ -1,173 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_addch.3x,v 1.23 2004/01/31 13:16:21 tom Exp $ -.TH curs_addch 3X "" -.SH NAME -\fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR, -\fBechochar\fR, -\fBwechochar\fR - add a character (with attributes) to a \fBcurses\fR window, then advance the cursor -.SH SYNOPSIS -\fB#include \fR -.PP -\fBint addch(const chtype ch);\fR -.br -\fBint waddch(WINDOW *win, const chtype ch);\fR -.br -\fBint mvaddch(int y, int x, const chtype ch);\fR -.br -\fBint mvwaddch(WINDOW *win, int y, int x, const chtype ch);\fR -.br -\fBint echochar(const chtype ch);\fR -.br -\fBint wechochar(WINDOW *win, const chtype ch);\fR -.br -.SH DESCRIPTION -The \fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR and \fBmvwaddch\fR routines put -the character \fIch\fR into the given window at its current window position, -which is then advanced. They are analogous to \fBputchar\fR in \fBstdio\fR(3). -If the advance is at the right margin, the cursor automatically wraps to the -beginning of the next line. At the bottom of the current scrolling region, if -\fBscrollok\fR is enabled, the scrolling region is scrolled up one line. -.PP -If \fIch\fR is a tab, newline, or backspace, -the cursor is moved appropriately within the window. -Backspace moves the cursor one character left; at the left -edge of a window it does nothing. -Newline does a \fBclrtoeol\fR, -then moves the cursor to the window left margin on the next line, -scrolling the window if on the last line. -Tabs are considered to be at every eighth column. -The tab interval may be altered by setting the \fBTABSIZE\fR variable. -.PP -If \fIch\fR is any control character other than tab, newline, or backspace, it -is drawn in \fB^\fR\fIX\fR notation. Calling \fBwinch\fR after adding a -control character does not return the character itself, but instead returns -the ^-representation of the control character. -.PP -Video attributes can be combined with a character argument passed to -\fBaddch\fR or related functions by logical-ORing them into the character. -(Thus, text, including attributes, can be copied from one place to another -using \fBinch\fR and \fBaddch\fR.) See the \fBcurs_attr\fR(3X) page for -values of predefined video attribute constants that can be usefully OR'ed -into characters. -.PP -The \fBechochar\fR and \fBwechochar\fR routines are equivalent to a call to -\fBaddch\fR followed by a call to \fBrefresh\fR, or a call to \fBwaddch\fR -followed by a call to \fBwrefresh\fR. The knowledge that only a single -character is being output is used and, for non-control characters, a -considerable performance gain may be seen by using these routines instead of -their equivalents. -.SS Line Graphics -The following variables may be used to add line drawing characters to the -screen with routines of the \fBaddch\fR family. The default character listed -below is used if the \fBacsc\fR capability doesn't define a terminal-specific -replacement for it (but see the EXTENSIONS section below). The names are -taken from VT100 nomenclature. -.PP -.TS -l l l -_ _ _ -l l l. -\fIName\fR \fIDefault\fR \fIDescription\fR -ACS_BLOCK # solid square block -ACS_BOARD # board of squares -ACS_BTEE + bottom tee -ACS_BULLET o bullet -ACS_CKBOARD : checker board (stipple) -ACS_DARROW v arrow pointing down -ACS_DEGREE ' degree symbol -ACS_DIAMOND + diamond -ACS_GEQUAL > greater-than-or-equal-to -ACS_HLINE - horizontal line -ACS_LANTERN # lantern symbol -ACS_LARROW < arrow pointing left -ACS_LEQUAL < less-than-or-equal-to -ACS_LLCORNER + lower left-hand corner -ACS_LRCORNER + lower right-hand corner -ACS_LTEE + left tee -ACS_NEQUAL ! not-equal -ACS_PI * greek pi -ACS_PLMINUS # plus/minus -ACS_PLUS + plus -ACS_RARROW > arrow pointing right -ACS_RTEE + right tee -ACS_S1 - scan line 1 -ACS_S3 - scan line 3 -ACS_S7 - scan line 7 -ACS_S9 \&_ scan line 9 -ACS_STERLING f pound-sterling symbol -ACS_TTEE + top tee -ACS_UARROW ^ arrow pointing up -ACS_ULCORNER + upper left-hand corner -ACS_URCORNER + upper right-hand corner -ACS_VLINE | vertical line -.TE -.SH RETURN VALUE -All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success -(the SVr4 manuals specify only "an integer value other than \fBERR\fR") upon -successful completion, unless otherwise noted in the preceding routine -descriptions. -.SH NOTES -Note that \fBaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR, and -\fBechochar\fR may be macros. -.SH PORTABILITY -All these functions are described in the XSI Curses standard, Issue 4. -The defaults specified for forms-drawing characters apply in the POSIX locale. -.LP -Some ACS symbols -(ACS_S3, -ACS_S7, -ACS_LEQUAL, -ACS_GEQUAL, -ACS_PI, -ACS_NEQUAL, -ACS_STERLING) -were not documented in -any publicly released System V. However, many publicly available terminfos -include \fBacsc\fR strings in which their key characters (pryz{|}) are -embedded, and a second-hand list of their character descriptions has come -to light. The ACS-prefixed names for them were invented for \fBncurses\fR(3X). -.LP -The \fBTABSIZE\fR variable is implemented in some versions of curses, -but is not part of X/Open curses. -.LP -If \fIch\fR is a carriage return, -the cursor is moved to the beginning of the current row of the window. -This is true of other implementations, but is not documented. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_attr\fR(3X), \fBcurs_clear\fR(3X), -\fBcurs_inch\fR(3X), \fBcurs_outopts\fR(3X), \fBcurs_refresh\fR(3X), -\fBputc\fR(3S). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_addchstr.3x b/src/libs/ncurses/man/curs_addchstr.3x deleted file mode 100644 index 3a74e13d49..0000000000 --- a/src/libs/ncurses/man/curs_addchstr.3x +++ /dev/null @@ -1,95 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_addchstr.3x,v 1.10 2005/05/15 16:17:07 tom Exp $ -.TH curs_addchstr 3X "" -.na -.hy 0 -.SH NAME -\fBaddchstr\fR, -\fBaddchnstr\fR, -\fBwaddchstr\fR, -\fBwaddchnstr\fR, -\fBmvaddchstr\fR, -\fBmvaddchnstr\fR, -\fBmvwaddchstr\fR, -\fBmvwaddchnstr\fR - add a string of characters (and attributes) to a \fBcurses\fR window -.ad -.hy -.SH SYNOPSIS -\fB#include \fR -.PP -\fBint addchstr(const chtype *chstr);\fR -.br -\fBint addchnstr(const chtype *chstr, int n);\fR -.br -\fBint waddchstr(WINDOW *win, const chtype *chstr);\fR -.br -\fBint waddchnstr(WINDOW *win, const chtype *chstr, int n);\fR -.br -\fBint mvaddchstr(int y, int x, const chtype *chstr);\fR -.br -\fBint mvaddchnstr(int y, int x, const chtype *chstr, int n);\fR -.br -\fBint mvwaddchstr(WINDOW *win, int y, int x, const chtype *chstr);\fR -.br -\fBint mvwaddchnstr(WINDOW *win, int y, int x, const chtype *chstr, int n);\fR -.SH DESCRIPTION -These routines copy \fIchstr\fR into the window image structure at and after -the current cursor position. The four routines with \fIn\fR as the last -argument copy at most \fIn\fR elements, but no more than will fit on the line. -If \fBn\fR=\fB-1\fR then the whole string is copied, to the maximum number of -characters that will fit on the line. -.PP -The window cursor is \fInot\fR advanced, and these routines work faster than -\fBwaddnstr\fR. On the other hand, they do not perform any kind of checking -(such as for the newline, backspace, or carriage return characters), they do not -advance the current cursor position, they do not expand other control characters -to ^-escapes, and they truncate the string if it crosses the right margin, -rather then wrapping it around to the new line. -.SH RETURN VALUES -All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success -(the SVr4 manuals specify only "an integer value other than \fBERR\fR") upon -successful completion, unless otherwise noted in the preceding routine -descriptions. -.PP -X/Open does not define any error conditions. -This implementation returns an error -if the window pointer is null. -.SH NOTES -Note that all routines except \fBwaddchnstr\fR may be macros. -.SH PORTABILITY -These entry points are described in the XSI Curses standard, Issue 4. -.SH SEE ALSO -\fBcurses\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_addstr.3x b/src/libs/ncurses/man/curs_addstr.3x deleted file mode 100644 index 488b9dd8e7..0000000000 --- a/src/libs/ncurses/man/curs_addstr.3x +++ /dev/null @@ -1,97 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_addstr.3x,v 1.13 2005/05/15 16:17:14 tom Exp $ -.TH curs_addstr 3X "" -.na -.hy 0 -.SH NAME -\fBaddstr\fR, -\fBaddnstr\fR, -\fBwaddstr\fR, -\fBwaddnstr\fR, -\fBmvaddstr\fR, -\fBmvaddnstr\fR, -\fBmvwaddstr\fR, -\fBmvwaddnstr\fR - add a string of characters to a \fBcurses\fR window and advance cursor -.ad -.hy -.SH SYNOPSIS -.nf -\fB#include \fR -.PP -\fBint addstr(const char *\fR\fIstr\fR\fB);\fR -.br -\fBint addnstr(const char *\fR\fIstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint waddstr(WINDOW *\fR\fIwin\fR\fB, const char *\fR\fIstr\fR\fB);\fR -.br -\fBint waddnstr(WINDOW *\fR\fIwin\fR\fB, const char *\fR\fIstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint mvaddstr(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const char *\fR\fIstr\fR\fB);\fR -.br -\fBint mvaddnstr(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const char *\fR\fIstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint mvwaddstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const char *\fR\fIstr\fR\fB);\fR -.br -\fBint mvwaddnstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const char *\fR\fIstr, int \fR\fIn\fR\fB);\fR -.fi -.SH DESCRIPTION -These routines write the characters of the (null-terminated) character string -\fIstr\fR on the given window. -It is similar to calling \fBwaddch\fR once for each character in the string. -The four routines with \fIn\fR as the last argument -write at most \fIn\fR characters. -If \fIn\fR is -1, then the entire string will be added, -up to the maximum number of characters that will fit on the line, -or until a terminating null is reached. -.SH RETURN VALUE -All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success -(the SVr4 manuals specify only "an integer value other than \fBERR\fR") upon -successful completion. -.PP -X/Open does not define any error conditions. -This implementation returns an error -if the window pointer is null or -if the string pointer is null or -if the corresponding calls to \fBwaddch\fP return an error. -.SH NOTES -Note that all of these routines except \fBwaddstr\fR and \fBwaddnstr\fR may be -macros. -.SH PORTABILITY -All these entry points are described in the XSI Curses standard, Issue 4. The -XSI errors EILSEQ and EOVERFLOW, associated with extended-level conformance, -are not yet detected. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_addch\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_addwstr.3x b/src/libs/ncurses/man/curs_addwstr.3x deleted file mode 100644 index 4ee2ef965e..0000000000 --- a/src/libs/ncurses/man/curs_addwstr.3x +++ /dev/null @@ -1,96 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 2002-2004,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_addwstr.3x,v 1.6 2005/05/15 17:02:54 tom Exp $ -.TH curs_addwstr 3X "" -.na -.hy 0 -.SH NAME -\fBaddwstr\fR, -\fBaddnwstr\fR, -\fBwaddwstr\fR, -\fBwaddnwstr\fR, -\fBmvaddwstr\fR, -\fBmvaddnwstr\fR, -\fBmvwaddwstr\fR, -\fBmvwaddnwstr\fR \- add a string of wide characters to a \fBcurses\fR window and advance cursor -.ad -.hy -.SH SYNOPSIS -.nf -\fB#include \fR -.PP -\fBint addwstr(const wchar_t *\fR\fIwstr\fR\fB);\fR -.br -\fBint addnwstr(const wchar_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint waddwstr(WINDOW *\fR\fIwin\fR\fB, const wchar_t *\fR\fIwstr\fR\fB);\fR -.br -\fBint waddnwstr(WINDOW *\fR\fIwin\fR\fB, const wchar_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint mvaddwstr(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const wchar_t *\fR\fIwstr\fR\fB);\fR -.br -\fBint mvaddnwstr(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const wchar_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint mvwaddwstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const wchar_t *\fR\fIwstr\fR\fB);\fR -.br -\fBint mvwaddnwstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const wchar_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR -.fi -.SH DESCRIPTION -These routines write the characters of the -(null-terminated) \fBwchar_t\fR character string -\fIwstr\fR on the given window. -It is similar to constructing a \fBcchar_t\fR for each wchar_t in the string, -then calling \fBwadd_wch\fR for the resulting \fBcchar_t\fR. -.PP -The \fImv\fR routines perform cursor movement once, before writing any -characters. -Thereafter, the cursor is advanced as a side-effect of writing to the window. -.PP -The four routines with \fIn\fR as the last argument -write at most \fIn\fR \fBwchar_t\fR characters. -If \fIn\fR is -1, then the entire string will be added, -up to the maximum number of characters that will fit on the line, -or until a terminating null is reached. -.SH RETURN VALUES -All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success. -.SH NOTES -Note that all of these routines except \fBwaddnwstr\fR may be macros. -.SH PORTABILITY -All these entry points are described in the XSI Curses standard, Issue 4. -.SH SEE ALSO -.PP -Functions: -\fBcurses\fR(3X), -\fBcurs_add_wch\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_attr.3x b/src/libs/ncurses/man/curs_attr.3x deleted file mode 100644 index 3cbaf535fe..0000000000 --- a/src/libs/ncurses/man/curs_attr.3x +++ /dev/null @@ -1,267 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_attr.3x,v 1.29 2005/05/15 16:17:25 tom Exp $ -.TH curs_attr 3X "" -.na -.hy 0 -.SH NAME -\fBattroff\fR, -\fBwattroff\fR, -\fBattron\fR, -\fBwattron\fR, -\fBattrset\fR, -\fBwattrset\fR, -\fBcolor_set\fR, -\fBwcolor_set\fR, -\fBstandend\fR, -\fBwstandend\fR, -\fBstandout\fR, -\fBwstandout\fR, -\fBattr_get\fR, -\fBwattr_get\fR, -\fBattr_off\fR, -\fBwattr_off\fR, -\fBattr_on\fR, -\fBwattr_on\fR, -\fBattr_set\fR, -\fBwattr_set\fR, -\fBchgat\fR, -\fBwchgat\fR, -\fBmvchgat\fR, -\fBmvwchgat\fR, -\fBPAIR_NUMBER\fR - \fBcurses\fR character and window attribute control routines -.ad -.hy -.SH SYNOPSIS -\fB#include \fR -.br -\fBint attroff(int attrs);\fR -.br -\fBint wattroff(WINDOW *win, int attrs);\fR -.br -\fBint attron(int attrs);\fR -.br -\fBint wattron(WINDOW *win, int attrs);\fR -.br -\fBint attrset(int attrs);\fR -.br -\fBint wattrset(WINDOW *win, int attrs);\fR -.br -\fBint color_set(short color_pair_number, void* opts);\fR -.br -\fBint wcolor_set(WINDOW *win, short color_pair_number,\fR - \fBvoid* opts);\fR -.br -\fBint standend(void);\fR -.br -\fBint wstandend(WINDOW *win);\fR -.br -\fBint standout(void);\fR -.br -\fBint wstandout(WINDOW *win);\fR -.br -\fBint attr_get(attr_t *attrs, short *pair, void *opts);\fR -.br -\fBint wattr_get(WINDOW *win, attr_t *attrs, short *pair,\fR - \fBvoid *opts);\fR -.br -\fBint attr_off(attr_t attrs, void *opts);\fR -.br -\fBint wattr_off(WINDOW *win, attr_t attrs, void *opts);\fR -.br -\fBint attr_on(attr_t attrs, void *opts);\fR -.br -\fBint wattr_on(WINDOW *win, attr_t attrs, void *opts);\fR -.br -\fBint attr_set(attr_t attrs, short pair, void *opts);\fR -.br -\fBint wattr_set(WINDOW *win, attr_t attrs, short pair, void *opts);\fR -.br -\fBint chgat(int n, attr_t attr, short color,\fR - \fBconst void *opts)\fR -.br -\fBint wchgat(WINDOW *win, int n, attr_t attr,\fR - \fBshort color, const void *opts)\fR -.br -\fBint mvchgat(int y, int x, int n, attr_t attr,\fR - \fBshort color, const void *opts)\fR -.br -\fBint mvwchgat(WINDOW *win, int y, int x, int n,\fR - \fBattr_t attr, short color, const void *opts)\fR -.br -.SH DESCRIPTION -These routines manipulate the current attributes of the named window. The -current attributes of a window apply to all characters that are written into -the window with \fBwaddch\fR, \fBwaddstr\fR and \fBwprintw\fR. Attributes are -a property of the character, and move with the character through any scrolling -and insert/delete line/character operations. To the extent possible, they are -displayed as appropriate modifications to the graphic rendition of characters -put on the screen. -.PP -The routine \fBattrset\fR sets the current attributes of the given window to -\fIattrs\fR. The routine \fBattroff\fR turns off the named attributes without -turning any other attributes on or off. The routine \fBattron\fR turns on the -named attributes without affecting any others. The routine \fBstandout\fR is -the same as \fBattron(A_STANDOUT)\fR. The routine \fBstandend\fR is the same -as \fBattrset(A_NORMAL)\fR or \fBattrset(0)\fR, that is, it turns off all -attributes. -.PP -The \fBattrset\fR and related routines do not affect the attributes used -when erasing portions of the window. -See \fBcurs_bkgd\fR(3X) for functions which modify the attributes used for -erasing and clearing. -.PP -The routine \fBcolor_set\fR sets the current color of the given window to the -foreground/background combination described by the color_pair_number. The -parameter opts is reserved for future use, applications must supply a null -pointer. -.PP -The routine \fBwattr_get\fR returns the current attribute and color pair for -the given window; \fBattr_get\fR returns the current attribute and color pair -for \fBstdscr\fR. -The remaining \fBattr_\fR* functions operate exactly like the corresponding -\fBattr\fR* functions, except that they take arguments of type \fBattr_t\fR -rather than \fBint\fR. -.PP -The routine \fBchgat\fR changes the attributes of a given number of characters -starting at the current cursor location of \fBstdscr\fR. It does not update -the cursor and does not perform wrapping. A character count of -1 or greater -than the remaining window width means to change attributes all the way to the -end of the current line. The \fBwchgat\fR function generalizes this to any -window; the \fBmvwchgat\fR function does a cursor move before acting. In these -functions, the color argument is a color-pair index (as in the first argument -of \fIinit_pair\fR, see \fBcurs_color\fR(3X)). The \fBopts\fR argument is not -presently used, but is reserved for the future (leave it \fBNULL\fR). -Note that changing the attributes does not imply -that a subsequent \fBrefresh\fR will update the screen to match, -since the character values are not modified. -Use \fBtouchwin\fR to force the screen to match the updated attributes. -.SS Attributes -The following video attributes, defined in \fB\fR, can be passed to -the routines \fBattron\fR, \fBattroff\fR, and \fBattrset\fR, or OR'd with the -characters passed to \fBaddch\fR. -.PP -.TS -center ; -l l . -\fBA_NORMAL\fR Normal display (no highlight) -\fBA_STANDOUT\fR Best highlighting mode of the terminal. -\fBA_UNDERLINE\fR Underlining -\fBA_REVERSE\fR Reverse video -\fBA_BLINK\fR Blinking -\fBA_DIM\fR Half bright -\fBA_BOLD\fR Extra bright or bold -\fBA_PROTECT\fR Protected mode -\fBA_INVIS\fR Invisible or blank mode -\fBA_ALTCHARSET\fR Alternate character set -\fBA_CHARTEXT\fR Bit-mask to extract a character -\fBCOLOR_PAIR(\fR\fIn\fR\fB)\fR Color-pair number \fIn\fR -.TE -.PP -The following macro is the reverse of \fBCOLOR_PAIR(\fR\fIn\fR\fB)\fR: -.PP -.br -\fBPAIR_NUMBER(\fR\fIattrs\fR) Returns the pair number associated - with the \fBCOLOR_PAIR(\fR\fIn\fR\fB)\fR attribute. -.br -.PP -The return values of many of these routines are not meaningful (they are -implemented as macro-expanded assignments and simply return their argument). -The SVr4 manual page claims (falsely) that these routines always return \fB1\fR. -.SH NOTES -Note that \fBattroff\fR, \fBwattroff\fR, \fBattron\fR, \fBwattron\fR, -\fBattrset\fR, \fBwattrset\fR, \fBstandend\fR and \fBstandout\fR may be macros. -.PP -\fBCOLOR_PAIR\fP values can only be OR'd with attributes if the pair -number is less than 256. -The alternate functions such as \fBcolor_set\fP can pass a color pair -value directly. -However, ncurses ABI 4 and 5 simply OR this value within the alternate functions. -You must use ncurses ABI 6 to support more than 256 color pairs. -.SH PORTABILITY -These functions are supported in the XSI Curses standard, Issue 4. The -standard defined the dedicated type for highlights, \fBattr_t\fR, which is not -defined in SVr4 curses. The functions taking \fBattr_t\fR arguments are -not supported under SVr4. -.PP -The XSI Curses standard states that whether the traditional functions -\fBattron\fR/\fBattroff\fR/\fBattrset\fR can manipulate attributes other than -\fBA_BLINK\fR, \fBA_BOLD\fR, \fBA_DIM\fR, \fBA_REVERSE\fR, \fBA_STANDOUT\fR, or -\fBA_UNDERLINE\fR is "unspecified". Under this implementation as well as -SVr4 curses, these functions correctly manipulate all other highlights -(specifically, \fBA_ALTCHARSET\fR, \fBA_PROTECT\fR, and \fBA_INVIS\fR). -.PP -XSI Curses added the new entry points, \fBattr_get\fR, \fBattr_on\fR, -\fBattr_off\fR, \fBattr_set\fR, \fBwattr_on\fR, \fBwattr_off\fR, -\fBwattr_get\fR, \fBwattr_set\fR. These are intended to work with -a new series of highlight macros prefixed with \fBWA_\fR. -.PP -.TS -center ; -l l . -\fBWA_NORMAL\fR Normal display (no highlight) -\fBWA_STANDOUT\fR Best highlighting mode of the terminal. -\fBWA_UNDERLINE\fR Underlining -\fBWA_REVERSE\fR Reverse video -\fBWA_BLINK\fR Blinking -\fBWA_DIM\fR Half bright -\fBWA_BOLD\fR Extra bright or bold -\fBWA_ALTCHARSET\fR Alternate character set -.TE -.PP -The XSI curses standard specifies that each pair of corresponding \fBA_\fR -and \fBWA_\fR-using functions operates on the same current-highlight -information. -.PP -The XSI standard extended conformance level adds new highlights -\fBA_HORIZONTAL\fR, \fBA_LEFT\fR, \fBA_LOW\fR, \fBA_RIGHT\fR, \fBA_TOP\fR, -\fBA_VERTICAL\fR (and corresponding \fBWA_\fR macros for each) which this -implementation does not yet support. -.SH RETURN VALUE -All routines return the integer \fBOK\fR on success, or \fBERR\fP on failure. -.PP -X/Open does not define any error conditions. -.PP -This implementation returns an error -if the window pointer is null. -The \fBwcolor_set\fP function returns an error if the color pair parameter -is outside the range 0..COLOR_PAIRS-1. -.SH SEE ALSO -\fBcurses\fR(3X), -\fBcurs_addch\fR(3X), -\fBcurs_addstr\fR(3X), -\fBcurs_bkgd\fR(3X), -\fBcurs_printw\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_beep.3x b/src/libs/ncurses/man/curs_beep.3x deleted file mode 100644 index 49e57619de..0000000000 --- a/src/libs/ncurses/man/curs_beep.3x +++ /dev/null @@ -1,63 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_beep.3x,v 1.10 2005/01/08 17:55:51 tom Exp $ -.TH curs_beep 3X "" -.SH NAME -\fBbeep\fR, \fBflash\fR - \fBcurses\fR bell and screen flash routines -.SH SYNOPSIS -\fB#include \fR -.PP -\fBint beep(void);\fR -.br -\fBint flash(void);\fR -.br -.SH DESCRIPTION -The \fBbeep\fR and \fBflash\fR routines are used to alert the terminal user. -The routine \fBbeep\fR sounds an audible alarm on the terminal, if possible; -otherwise it flashes the screen (visible bell). The routine \fBflash\fR -flashes the screen, and if that is not possible, sounds the alert. If neither -alert is possible, nothing happens. Nearly all terminals have an audible alert -(bell or beep), but only some can flash the screen. -.SH RETURN VALUE -These routines return \fBOK\fR if they succeed in beeping or flashing, -\fBERR\fR otherwise. -.SH EXTENSIONS -SVr4's beep and flash routines always returned \fBOK\fR, so it was not -possible to tell when the beep or flash failed. -.SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4. -Like SVr4, it specifies that they always return \fBOK\fR. -.SH SEE ALSO -\fBcurses\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_bkgd.3x b/src/libs/ncurses/man/curs_bkgd.3x deleted file mode 100644 index b2d768a441..0000000000 --- a/src/libs/ncurses/man/curs_bkgd.3x +++ /dev/null @@ -1,98 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_bkgd.3x,v 1.19 2003/12/27 18:50:40 tom Exp $ -.TH curs_bkgd 3X "" -.SH NAME -\fBbkgdset\fR, \fBwbkgdset\fR, -\fBbkgd\fR, \fBwbkgd\fR, -\fBgetbkgd\fR - \fBcurses\fR window background manipulation routines -.SH SYNOPSIS -\fB#include \fR -.PP -\fBvoid bkgdset(chtype ch);\fR -.br -\fBvoid wbkgdset(WINDOW *win, chtype ch);\fR -.br -\fBint bkgd(chtype ch);\fR -.br -\fBint wbkgd(WINDOW *win, chtype ch);\fR -.br -\fBchtype getbkgd(WINDOW *win);\fR -.br -.SH DESCRIPTION -The \fBbkgdset\fR and \fBwbkgdset\fR routines manipulate the -background of the named window. -The window background is a \fBchtype\fR consisting of -any combination of attributes (i.e., rendition) and a character. -The attribute part of the background is combined (OR'ed) with all non-blank -characters that are written into the window with \fBwaddch\fR. Both -the character and attribute parts of the background are combined with -the blank characters. The background becomes a property of the -character and moves with the character through any scrolling and -insert/delete line/character operations. -.PP -To the extent possible on a particular terminal, -the attribute part of the background is displayed -as the graphic rendition of the character put on the screen. -.PP -The \fBbkgd\fR and \fBwbkgd\fR functions -set the background property of the current or specified window -and then apply this setting to every character position in that window: -.PP -.RS -The rendition of every character on the screen is changed to -the new background rendition. -.PP -Wherever the former background character -appears, it is changed to the new background character. -.RE -.PP -The \fBgetbkgd\fR function returns the given window's current background -character/attribute pair. -.SH RETURN VALUE -The routines \fBbkgd\fR and \fBwbkgd\fR return the integer \fBOK\fR. -The SVr4.0 manual says "or a non-negative integer if \fBimmedok\fR is set", -but this appears to be an error. -.SH NOTES -Note that \fBbkgdset\fR and \fBbkgd\fR may be macros. -.SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4. -It specifies that \fBbkgd\fR and \fBwbkgd\fR return \fBERR\fR on failure. -but gives no failure conditions. -.SH SEE ALSO -\fBcurses\fR(3X), -\fBcurs_addch\fR(3X), -\fBcurs_attr\fR(3X), -\fBcurs_outopts\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_bkgrnd.3x b/src/libs/ncurses/man/curs_bkgrnd.3x deleted file mode 100644 index fd42338a2b..0000000000 --- a/src/libs/ncurses/man/curs_bkgrnd.3x +++ /dev/null @@ -1,106 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 2002,2004 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_bkgrnd.3x,v 1.2 2004/03/13 19:39:10 tom Exp $ -.TH curs_bkgrnd 3X "" -.SH NAME -\fBbkgrnd\fR, -\fBwbkgrnd\fR, -\fBbkgrndset\fR, -\fBwbkgrndset\fR, -\fBgetbkgrnd\fR, -\fBwgetbkgrnd\fR \- \fBcurses\fR window complex background manipulation routines -.SH SYNOPSIS -.PP -.B #include - -\fBint bkgrnd(\fR\fB const cchar_t *\fR\fIwch\fR\fB);\fR -.br -\fBint wbkgrnd(\fR\fB WINDOW *\fR\fIwin\fR\fB, const cchar_t *\fR\fIwch\fR\fB);\fR -.br -\fBvoid bkgrndset(const cchar_t *\fR\fIwch\fR \fB);\fR -.br -\fBvoid wbkgrndset(WINDOW *\fR\fIwin\fR\fB, const cchar_t *\fR\fIwch\fR\fB);\fR -.br -\fBint getbkgrnd(cchar_t *\fR\fIwch\fR\fB);\fR -.br -\fBint wgetbkgrnd(WINDOW *\fR\fIwin\fR\fB, cchar_t *\fR\fIwch\fR\fB);\fR -.br -.SH DESCRIPTION -The \fBbkgrndset\fR and \fBwbkgrndset\fR routines manipulate the -background of the named window. -The window background is a \fBcchar_t\fR consisting of -any combination of attributes (i.e., rendition) and a complex character. -The attribute part of the background is combined (OR'ed) with all non-blank -characters that are written into the window with \fBwaddch\fR. Both -the character and attribute parts of the background are combined with -the blank characters. -The background becomes a property of the -character and moves with the character through any scrolling and -insert/delete line/character operations. - -To the extent possible on a -particular terminal, the attribute part of the background is displayed -as the graphic rendition of the character put on the screen. - -The \fBbkgrnd\fR and \fBwbkgrnd\fR functions -set the background property of the current or specified window -and then apply this setting to every character position in that window: - -.RS -The rendition of every character on the screen is changed to -the new background rendition. - -Wherever the former background character -appears, it is changed to the new background character. -.RE - -The \fBgetbkgrnd\fR function returns the given window's current background -character/attribute pair via the \fBwch\fR pointer. - -.SH NOTES -Note that -\fBbkgrnd\fR, -\fBbkgrndset\fR, and -\fBgetbkgrnd\fR -may be macros. -.SH RETURN VALUES -The \fBbkgrndset\fR and \fBwbkgrndset\fR routines do not return a value. -.PP -Upon successful completion, the other functions return \fBOK\fR. -Otherwise, they return \fBERR\fR. -A null window pointer is treated as an error. -.SH SEE ALSO -\fBcurses\fR(3X), -\fBcurs_bkgd\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_border.3x b/src/libs/ncurses/man/curs_border.3x deleted file mode 100644 index 2b18d8b0a0..0000000000 --- a/src/libs/ncurses/man/curs_border.3x +++ /dev/null @@ -1,152 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_border.3x,v 1.17 2005/05/15 16:17:31 tom Exp $ -.TH curs_border 3X "" -.na -.hy 0 -.SH NAME -\fBborder\fR, -\fBwborder\fR, -\fBbox\fR, -\fBhline\fR, -\fBwhline\fR, -\fBvline\fR, -\fBwvline\fR, -\fBmvhline\fR, -\fBmvwhline\fR, -\fBmvvline\fR, -\fBmvwvline\fR - create \fBcurses\fR borders, horizontal and vertical lines -.ad -.hy -.SH SYNOPSIS -\fB#include \fR -.br -\fBint border(chtype ls, chtype rs, chtype ts, chtype bs,\fR - \fBchtype tl, chtype tr, chtype bl, chtype br);\fR -.br -\fBint wborder(WINDOW *win, chtype ls, chtype rs,\fR - \fBchtype ts, chtype bs, chtype tl, chtype tr,\fR - \fBchtype bl, chtype br);\fR -.br -\fBint box(WINDOW *win, chtype verch, chtype horch);\fR -.br -\fBint hline(chtype ch, int n);\fR -.br -\fBint whline(WINDOW *win, chtype ch, int n);\fR -.br -\fBint vline(chtype ch, int n);\fR -.br -\fBint wvline(WINDOW *win, chtype ch, int n);\fR -.br -\fBmvhline(int y, int x, chtype ch, int n);\fR -.br -\fBmvwhline(WINDOW *, int y, int x, chtype ch, int n);\fR -.br -\fBint mvvline(int y, int x, chtype ch, int n);\fR -.br -\fBint mvwvline(WINDOW *, int y, int x, chtype ch, int n);\fR -.br -.SH DESCRIPTION -The \fBborder\fR, \fBwborder\fR and \fBbox\fR routines -draw a box around the edges of a window. -Other than the window, each argument is a character with attributes: -.RS -\fIls\fR - left side, -.br -\fIrs\fR - right side, -.br -\fIts\fR - top side, -.br -\fIbs\fR - bottom side, -.br -\fItl\fR - top left-hand corner, -.br -\fItr\fR - top right-hand corner, -.br -\fIbl\fR - bottom left-hand corner, and -.br -\fIbr\fR - bottom right-hand corner. -.RE -If any of these arguments is zero, then the corresponding -default values (defined in \fBcurses.h\fR) are used instead: -.RS -\fBACS_VLINE\fR, -.br -\fBACS_VLINE\fR, -.br -\fBACS_HLINE\fR, -.br -\fBACS_HLINE\fR, -.br -\fBACS_ULCORNER\fR, -.br -\fBACS_URCORNER\fR, -.br -\fBACS_LLCORNER\fR, -.br -\fBACS_LRCORNER\fR. -.RE - -\fBbox(\fR\fIwin\fR\fB, \fR\fIverch\fR\fB, \fR\fIhorch\fR\fB)\fR is a shorthand -for the following call: \fBwborder(\fR\fIwin\fR\fB,\fR \fIverch\fR\fB,\fR -\fIverch\fR\fB,\fR \fIhorch\fR\fB,\fR \fIhorch\fR\fB, 0, 0, 0, 0)\fR. - -The \fBhline\fR and \fBwhline\fR functions draw a horizontal (left to right) -line using \fIch\fR starting at the current cursor position in the window. The -current cursor position is not changed. The line is at most \fIn\fR characters -long, or as many as fit into the window. - -The \fBvline\fR and \fBwvline\fR functions draw a vertical (top to bottom) line -using \fIch\fR starting at the current cursor position in the window. The -current cursor position is not changed. The line is at most \fIn\fR characters -long, or as many as fit into the window. -.SH RETURN VALUE -All routines return the integer \fBOK\fR. The SVr4.0 manual says "or a -non-negative integer if \fBimmedok\fR is set", but this appears to be an error. -.PP -X/Open does not define any error conditions. -This implementation returns an error -if the window pointer is null. -.SH NOTES -The borders generated by these functions are \fIinside\fR borders (this -is also true of SVr4 curses, though the fact is not documented). - -Note that \fBborder\fR and \fBbox\fR may be macros. -.SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4. -The standard specifies that they return \fBERR\fR on failure, -but specifies no error conditions. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_outopts\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_border_set.3x b/src/libs/ncurses/man/curs_border_set.3x deleted file mode 100644 index dbf865385b..0000000000 --- a/src/libs/ncurses/man/curs_border_set.3x +++ /dev/null @@ -1,207 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 2002-2004,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_border_set.3x,v 1.6 2005/05/15 16:17:37 tom Exp $ -.TH curs_border_set 3X "" -.na -.hy 0 -.SH NAME -\fBborder_set\fR, -\fBwborder_set\fR, -\fBbox_set\fR, -\fBhline_set\fR, -\fBwhline_set\fR, -\fBmvhline_set\fR, -\fBmvwhline_set\fR, -\fBvline_set\fR, -\fBwvline_set\fR, -\fBmvvline_set\fR, -\fBmvwvline_set\fR \- create \fBcurses\fR borders or lines using complex characters and renditions -.ad -.hy -.SH SYNOPSIS -.PP -\fB#include \fR -.sp -\fBint border_set(\fR - \fBconst cchar_t *\fR\fIls\fR, \fBconst cchar_t *\fR\fIrs\fR, - \fBconst cchar_t *\fR\fIts\fR, \fBconst cchar_t *\fR\fIbs\fR, - \fBconst cchar_t *\fR\fItl\fR, \fBconst cchar_t *\fR\fItr\fR, - \fBconst cchar_t *\fR\fIbl\fR, \fBconst cchar_t *\fR\fIbr\fR -\fB);\fR -.br -\fBint wborder_set(\fR - \fBWINDOW *win\fR, - \fBconst cchar_t *\fR\fIls\fR, \fBconst cchar_t *\fR\fIrs\fR, - \fBconst cchar_t *\fR\fIts\fR, \fBconst cchar_t *\fR\fIbs\fR, - \fBconst cchar_t *\fR\fItl\fR, \fBconst cchar_t *\fR\fItr\fR, - \fBconst cchar_t *\fR\fIbl\fR, \fBconst cchar_t *\fR\fIbr\fR\fB);\fR -.br -\fBint box_set(\fR - \fBWINDOW *win\fR, - \fBconst cchar_t *\fR\fIverch\fR, - \fBconst cchar_t *\fR\fIhorch\fR\fB);\fR -.br -\fBint hline_set(\fR - \fBconst cchar_t *\fR\fIwch\fR, \fBint \fR\fIn\fR\fB);\fR -.br -\fBint whline_set(\fR - \fBWINDOW *\fR\fIwin\fR, - \fBconst cchar_t *\fR\fIwch\fR, \fBint \fR\fIn\fR\fB);\fR -.br -\fBint mvhline_set(\fR - \fBint \fR\fIy\fR, \fBint \fR\fIx\fR, - \fBconst cchar_t *\fR\fIwch\fR, \fBint \fR\fIn\fR\fB);\fR -.br -\fBint mvwhline_set(\fR - \fBWINDOW *\fR\fIwin\fR, - \fBint \fR\fIy\fR, \fBint \fR\fIx\fR, - \fBconst cchar_t *\fR\fIwch\fR, \fBint \fR\fIn\fR\fB);\fR -.br -\fBint vline_set(\fR - \fBconst cchar_t *\fR\fIwch\fR, \fBint \fR\fIn\fR\fB);\fR -.br -\fBint wvline_set(\fR - \fBWINDOW *\fR\fIwin\fR, - \fBconst cchar_t *\fR\fIwch\fR, \fBint \fR\fIn\fR\fB);\fR -.br -\fBint mvvline_set(\fR - \fBint \fR\fIy\fR, \fBint \fR\fIx\fR, - \fBconst cchar_t *\fR\fIwch\fR, \fBint \fR\fIn\fR\fB);\fR -.br -\fBint mvwvline_set(\fR - \fBWINDOW *\fR\fIwin\fR, - \fBint \fR\fIy\fR, \fBint \fR\fIx\fR, - \fBconst cchar_t *\fR\fIwch\fR, \fBint \fR\fIn\fR\fB);\fR -.br -.SH DESCRIPTION -.PP -The -\fBborder_set\fR -and -\fBwborder_set\fR -functions draw a border around the edges of the current or specified window. -These functions do not change the cursor position, and do not wrap. -.PP -Other than the window, each argument is a complex character with attributes: -.RS -\fIls\fR - left side, -.br -\fIrs\fR - right side, -.br -\fIts\fR - top side, -.br -\fIbs\fR - bottom side, -.br -\fItl\fR - top left-hand corner, -.br -\fItr\fR - top right-hand corner, -.br -\fIbl\fR - bottom left-hand corner, and -.br -\fIbr\fR - bottom right-hand corner. -.RE -.PP -If any of these arguments is zero, then the corresponding -default values (defined in \fBcurses.h\fR) are used instead: -.RS -\fBWACS_VLINE\fR, -.br -\fBWACS_VLINE\fR, -.br -\fBWACS_HLINE\fR, -.br -\fBWACS_HLINE\fR, -.br -\fBWACS_ULCORNER\fR, -.br -\fBWACS_URCORNER\fR, -.br -\fBWACS_LLCORNER\fR, and -.br -\fBWACS_LRCORNER\fR. -.RE -.PP -\fBbox_set(\fR\fIwin\fR, \fIverch\fR\fB, \fR\fIhorch\fR\fB);\fR -is a shorthand for the following call: -.PP -\fBwborder_set(\fR\fIwin\fR\fB, \fR\fIverch\fR\fB, \fR\fIverch\fR\fB,\fR - \fIhorch\fR\fB, \fR\fIhorch\fR\fB, NULL, NULL, NULL, NULL);\fR -.PP -The -\fB*line_set\fR -functions use -\fIwch\fR -to draw a line starting at the current cursor position in the window. -The line is at most \fIn\fR characters long or as many as fit into the window. -The current cursor position is not changed. -.PP -The -\fBhline_set\fR, -\fBmvhline_set\fR, -\fBmvwhline_set\fR, and -\fBwhline_set\fR -functions draw a line proceeding toward the last column of the same line. -.PP -The -\fBvline_set\fR, -\fBmvvline_set\fR, -\fBmvwvline_set\fR, and -\fBwvline_set\fR -functions draw a line proceeding toward the last line of the window. -.br -.SH NOTES -.PP -Note that -\fBborder_set\fR, -\fBhline_set\fR, -\fBmvhline_set\fR, -\fBmvvline_set\fR, -\fBmvwhline_set\fR, -\fBmvwvline_set\fR, and -\fBvline_set\fR -may be macros. -.br -.SH RETURN VALUES -.PP -Upon successful completion, these functions return -\fBOK\fR. -Otherwise, they return -\fBERR\fR. -.PP -Functions using a window parameter return an error if it is null. -.SH SEE ALSO -\fBncurses\fR(3X), -\fBcurs_border\fR(3X), -\fBcurs_outopts\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_clear.3x b/src/libs/ncurses/man/curs_clear.3x deleted file mode 100644 index fa7723af4f..0000000000 --- a/src/libs/ncurses/man/curs_clear.3x +++ /dev/null @@ -1,115 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_clear.3x,v 1.10 2005/10/01 19:34:43 tom Exp $ -.TH curs_clear 3X "" -.na -.hy 0 -.SH NAME -\fBerase\fR, -\fBwerase\fR, -\fBclear\fR, -\fBwclear\fR, -\fBclrtobot\fR, -\fBwclrtobot\fR, -\fBclrtoeol\fR, -\fBwclrtoeol\fR - clear all or part of a \fBcurses\fR window -.ad -.hy -.SH SYNOPSIS -\fB# include \fR -.sp -\fBint erase(void);\fR -.br -\fBint werase(WINDOW *win);\fR -.br -\fBint clear(void);\fR -.br -\fBint wclear(WINDOW *win);\fR -.br -\fBint clrtobot(void);\fR -.br -\fBint wclrtobot(WINDOW *win);\fR -.br -\fBint clrtoeol(void);\fR -.br -\fBint wclrtoeol(WINDOW *win);\fR -.br -.SH DESCRIPTION -The \fBerase\fR and \fBwerase\fR routines copy blanks to every -position in the window, clearing the screen. -.PP -The \fBclear\fR and \fBwclear\fR routines are like \fBerase\fR and -\fBwerase\fR, but they also call \fBclearok\fR, so that the screen is -cleared completely on the next call to \fBwrefresh\fR for that window -and repainted from scratch. -.PP -The \fBclrtobot\fR and \fBwclrtobot\fR routines erase from the cursor to the -end of screen. That is, they erase all lines below the cursor in the window. -Also, the current line to the right of the cursor, inclusive, is erased. -.PP -The \fBclrtoeol\fR and \fBwclrtoeol\fR routines erase the current line -to the right of the cursor, inclusive, to the end of the current line. -.PP -Blanks created by erasure have the current background rendition (as set -by \fBwbkgdset\fR) merged into them. -.SH RETURN VALUE -All routines return the integer \fBOK\fR on success and \fBERR\fP on failure. -The SVr4.0 manual says "or a -non-negative integer if \fBimmedok\fR is set", but this appears to be an error. -.PP -X/Open defines no error conditions. -In this implementation, -functions using a window pointer parameter return an error if it is null. -.SH NOTES -Note that \fBerase\fR, \fBwerase\fR, \fBclear\fR, \fBwclear\fR, -\fBclrtobot\fR, and \fBclrtoeol\fR may be macros. -.SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4. The -standard specifies that they return \fBERR\fR on failure, but specifies no -error conditions. -.PP -Some historic curses implementations had, as an undocumented feature, the -ability to do the equivalent of \fBclearok(..., 1)\fR by saying -\fBtouchwin(stdscr)\fR or \fBclear(stdscr)\fR. This will not work under -ncurses. -.PP -This implementation, and others such as Solaris, -sets the current position to 0,0 after erasing -via \fBwerase()\fP and \fBwclear()\fP. -That fact is not documented in other implementations, -and may not be true of implementations -which were not derived from SVr4 source. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_outopts\fR(3X), \fBcurs_refresh\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_color.3x b/src/libs/ncurses/man/curs_color.3x deleted file mode 100644 index 7ca76907b5..0000000000 --- a/src/libs/ncurses/man/curs_color.3x +++ /dev/null @@ -1,248 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_color.3x,v 1.27 2005/05/15 16:55:36 tom Exp $ -.TH curs_color 3X "" -.na -.hy 0 -.SH NAME -\fBstart_color\fR, -\fBinit_pair\fR, -\fBinit_color\fR, -\fBhas_colors\fR, -\fBcan_change_color\fR, -\fBcolor_content\fR, -\fBpair_content\fR, -\fBCOLOR_PAIR\fR - \fBcurses\fR color manipulation routines -.ad -.hy -.SH SYNOPSIS -\fB# include \fR -.br -\fBint start_color(void);\fR -.br -\fBint init_pair(short pair, short f, short b);\fR -.br -\fBint init_color(short color, short r, short g, short b);\fR -.br -\fBbool has_colors(void);\fR -.br -\fBbool can_change_color(void);\fR -.br -\fBint color_content(short color, short *r, short *g, short *b);\fR -.br -\fBint pair_content(short pair, short *f, short *b);\fR -.br -.SH DESCRIPTION -.SS Overview -\fBcurses\fR support color attributes on terminals with that capability. To -use these routines \fBstart_color\fR must be called, usually right after -\fBinitscr\fR. Colors are always used in pairs (referred to as color-pairs). -A color-pair consists of a foreground color (for characters) and a background -color (for the blank field on which the characters are displayed). A -programmer initializes a color-pair with the routine \fBinit_pair\fR. After it -has been initialized, \fBCOLOR_PAIR\fR(\fIn\fR), a macro defined in -\fB\fR, can be used as a new video attribute. -.SP -If a terminal is capable of redefining colors, the programmer can use the -routine \fBinit_color\fR to change the definition of a color. The routines -\fBhas_colors\fR and \fBcan_change_color\fR return \fBTRUE\fR or \fBFALSE\fR, -depending on whether the terminal has color capabilities and whether the -programmer can change the colors. The routine \fBcolor_content\fR allows a -programmer to extract the amounts of red, green, and blue components in an -initialized color. The routine \fBpair_content\fR allows a programmer to find -out how a given color-pair is currently defined. -.SS Routine Descriptions -The \fBstart_color\fR routine requires no arguments. It must be -called if the programmer wants to use colors, and before any other -color manipulation routine is called. It is good practice to call -this routine right after \fBinitscr\fR. \fBstart_color\fR initializes -eight basic colors (black, red, green, yellow, blue, magenta, cyan, -and white), and two global variables, \fBCOLORS\fR and -\fBCOLOR_PAIRS\fR (respectively defining the maximum number of colors -and color-pairs the terminal can support). It also restores the -colors on the terminal to the values they had when the terminal was -just turned on. -.SP -The \fBinit_pair\fR routine changes the definition of a color-pair. It takes -three arguments: the number of the color-pair to be changed, the foreground -color number, and the background color number. -For portable applications: -.TP 5 -- -The value of the first argument -must be between \fB1\fR and \fBCOLOR_PAIRS-1\fR. -.TP 5 -- -The value of the second and -third arguments must be between 0 and \fBCOLORS\fR. -Color pair 0 is assumed to be white on black, -but is actually whatever the terminal implements before color is initialized. -It cannot be modified by the application. -.PP -If the color-pair was previously -initialized, the screen is refreshed and all occurrences of that color-pair -are changed to the new definition. -.SP -As an extension, ncurses allows you to set color pair 0 via -the \fBassume_default_colors\fR routine, or to specify the use of -default colors (color number \fB-1\fR) if you first invoke the -\fBuse_default_colors\fR routine. -.SP -The \fBinit_color\fR routine changes the definition of a color. It takes four -arguments: the number of the color to be changed followed by three RGB values -(for the amounts of red, green, and blue components). The value of the first -argument must be between \fB0\fR and \fBCOLORS\fR. (See the section -\fBColors\fR for the default color index.) Each of the last three arguments -must be a value between 0 and 1000. When \fBinit_color\fR is used, all -occurrences of that color on the screen immediately change to the new -definition. -.SP -The \fBhas_colors\fR routine requires no arguments. It returns \fBTRUE\fR if -the terminal can manipulate colors; otherwise, it returns \fBFALSE\fR. This -routine facilitates writing terminal-independent programs. For example, a -programmer can use it to decide whether to use color or some other video -attribute. -.SP -The \fBcan_change_color\fR routine requires no arguments. It returns -\fBTRUE\fR if the terminal supports colors and can change their definitions; -other, it returns \fBFALSE\fR. This routine facilitates writing -terminal-independent programs. -.SP -The \fBcolor_content\fR routine gives programmers a way to find the intensity -of the red, green, and blue (RGB) components in a color. It requires four -arguments: the color number, and three addresses of \fBshort\fRs for storing -the information about the amounts of red, green, and blue components in the -given color. The value of the first argument must be between 0 and -\fBCOLORS\fR. The values that are stored at the addresses pointed to by the -last three arguments are between 0 (no component) and 1000 (maximum amount of -component). -.SP -The \fBpair_content\fR routine allows programmers to find out what colors a -given color-pair consists of. It requires three arguments: the color-pair -number, and two addresses of \fBshort\fRs for storing the foreground and the -background color numbers. The value of the first argument must be between 1 -and \fBCOLOR_PAIRS-1\fR. The values that are stored at the addresses pointed -to by the second and third arguments are between 0 and \fBCOLORS\fR. -.SS Colors -In \fB\fR the following macros are defined. These are the default -colors. \fBcurses\fR also assumes that \fBCOLOR_BLACK\fR is the default -background color for all terminals. -.SP -.nf - \fBCOLOR_BLACK\fR - \fBCOLOR_RED\fR - \fBCOLOR_GREEN\fR - \fBCOLOR_YELLOW\fR - \fBCOLOR_BLUE\fR - \fBCOLOR_MAGENTA\fR - \fBCOLOR_CYAN\fR - \fBCOLOR_WHITE\fR -.fi -.SH RETURN VALUE -The routines \fBcan_change_color()\fR and \fBhas_colors()\fR return \fBTRUE\fR -or \fBFALSE\fR. -.SP -All other routines return the integer \fBERR\fR upon failure and an \fBOK\fR -(SVr4 specifies only "an integer value other than \fBERR\fR") upon successful -completion. -.PP -X/Open defines no error conditions. -This implementation will return \fBERR\fR on attempts to -use color values outside the range 0 to COLORS-1 -(except for the default colors extension), -or use color pairs outside the range 0 to COLOR_PAIR-1. -Color values used in \fBinit_color\fP must be in the range 0 to 1000. -An error is returned from all functions -if the terminal has not been initialized. -An error is returned from secondary functions such as \fBinit_pair\fP -if \fBstart_color\fP was not called. -.RS -.TP 5 -\fBinit_color\fP -returns an error if the terminal does not support -this feature, e.g., if the \fIinitialize_color\fP capability is absent -from the terminal description. -.TP 5 -\fBstart_color\fP -returns an error -If the color table cannot be allocated. -.RE -.SH NOTES -In the \fIncurses\fR implementation, there is a separate color activation flag, -color palette, color pairs table, and associated COLORS and COLOR_PAIRS counts -for each screen; the \fBstart_color\fR function only affects the current -screen. The SVr4/XSI interface is not really designed with this in mind, and -historical implementations may use a single shared color palette. -.SP -Note that setting an implicit background color via a color pair affects only -character cells that a character write operation explicitly touches. To change -the background color used when parts of a window are blanked by erasing or -scrolling operations, see \fBcurs_bkgd\fR(3X). -.SP -Several caveats apply on 386 and 486 machines with VGA-compatible graphics: -.TP 5 -- -COLOR_YELLOW is actually brown. To get yellow, use COLOR_YELLOW combined with -the \fBA_BOLD\fR attribute. -.TP 5 -- -The A_BLINK attribute should in theory cause the background to go bright. This -often fails to work, and even some cards for which it mostly works (such as the -Paradise and compatibles) do the wrong thing when you try to set a bright -"yellow" background (you get a blinking yellow foreground instead). -.TP 5 -- -Color RGB values are not settable. -.SH PORTABILITY -This implementation satisfies XSI Curses's minimum maximums -for \fBCOLORS\fR and \fBCOLOR_PAIRS\fR. -.PP -The \fBinit_pair\fP routine accepts negative values of foreground -and background color to support the \fBuse_default_colors\fP extension, -but only if that routine has been first invoked. -.PP -The assumption that \fBCOLOR_BLACK\fR is the default -background color for all terminals can be modified using the -\fBassume_default_colors\fP extension. -.PP -This implementation checks the pointers, -e.g., for the values returned by -\fBcolor_content\fP and \fBpair_content\fP, -and will treat those as optional parameters when null. -.SH SEE ALSO -\fBcurses\fR(3X), -\fBcurs_initscr\fR(3X), -\fBcurs_attr\fR(3X), -\fBdefault_colors\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_delch.3x b/src/libs/ncurses/man/curs_delch.3x deleted file mode 100644 index 34bd9ac3e2..0000000000 --- a/src/libs/ncurses/man/curs_delch.3x +++ /dev/null @@ -1,70 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_delch.3x,v 1.7 2000/07/01 19:55:37 tom Exp $ -.TH curs_delch 3X "" -.SH NAME -\fBdelch\fR, -\fBwdelch\fR, -\fBmvdelch\fR, -\fBmvwdelch\fR - delete character under the cursor in a \fBcurses\fR window -.SH SYNOPSIS -\fB#include \fR - -\fBint delch(void);\fR -.br -\fBint wdelch(WINDOW *win);\fR -.br -\fBint mvdelch(int y, int x);\fR -.br -\fBint mvwdelch(WINDOW *win, int y, int x);\fR -.br -.SH DESCRIPTION -These routines delete the character under the cursor; all characters to the -right of the cursor on the same line are moved to the left one position and the -last character on the line is filled with a blank. The cursor position does -not change (after moving to \fIy\fR, \fIx\fR, if specified). (This does not -imply use of the hardware delete character feature.) -.SH RETURN VALUE -All routines return the integer \fBERR\fR upon failure and an \fBOK\fR (SVr4 -specifies only "an integer value other than \fBERR\fR") upon successful -completion. -.SH NOTES -Note that \fBdelch\fR, \fBmvdelch\fR, and \fBmvwdelch\fR may be macros. -.SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4. The -standard specifies that they return \fBERR\fR on failure, but specifies no -error conditions. -.SH SEE ALSO -\fBcurses\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_deleteln.3x b/src/libs/ncurses/man/curs_deleteln.3x deleted file mode 100644 index 6a340b1571..0000000000 --- a/src/libs/ncurses/man/curs_deleteln.3x +++ /dev/null @@ -1,91 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_deleteln.3x,v 1.9 2005/05/15 16:53:35 tom Exp $ -.TH curs_deleteln 3X "" -.SH NAME -\fBdeleteln\fR, -\fBwdeleteln\fR, -\fBinsdelln\fR, -\fBwinsdelln\fR, -\fBinsertln\fR, -\fBwinsertln\fR - delete and insert lines in a \fBcurses\fR window -.SH SYNOPSIS -\fB#include \fR - -\fBint deleteln(void);\fR -.br -\fBint wdeleteln(WINDOW *win);\fR -.br -\fBint insdelln(int n);\fR -.br -\fBint winsdelln(WINDOW *win, int n);\fR -.br -\fBint insertln(void);\fR -.br -\fBint winsertln(WINDOW *win);\fR -.br -.SH DESCRIPTION -The \fBdeleteln\fR and \fBwdeleteln\fR routines delete the line under the -cursor in the window; all lines below the current line are moved up one line. -The bottom line of the window is cleared. The cursor position does not change. - -The \fBinsdelln\fR and \fBwinsdelln\fR routines, for positive \fIn\fR, insert -\fIn\fR lines into the specified window above the current line. The \fIn\fR -bottom lines are lost. For negative \fIn\fR, delete \fIn\fR lines (starting -with the one under the cursor), and move the remaining lines up. The bottom -\fIn\fR lines are cleared. The current cursor position remains the same. - -The \fBinsertln\fR and \fBwinsertln\fR routines insert a blank line above the -current line and the bottom line is lost. -.SH RETURN VALUE -All routines return the integer \fBERR\fR upon failure and an \fBOK\fR (SVr4 -specifies only "an integer value other than \fBERR\fR") upon successful -completion. -.PP -X/Open defines no error conditions. -In this implementation, -if the window parameter is null, an error is returned. -.SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4. The -standard specifies that they return \fBERR\fR on failure, but specifies no -error conditions. -.SH NOTES -Note that all but \fBwinsdelln\fR may be macros. - -These routines do not require a hardware line delete or insert feature in the -terminal. In fact, they won't use hardware line delete/insert unless -\fBidlok(..., TRUE)\fR has been set on the current window. -.SH SEE ALSO -\fBcurses\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_extend.3x b/src/libs/ncurses/man/curs_extend.3x deleted file mode 100644 index a5f187f022..0000000000 --- a/src/libs/ncurses/man/curs_extend.3x +++ /dev/null @@ -1,84 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1999-2003,2004 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" Author: Thomas E. Dickey 1999 -.\" -.\" $Id: curs_extend.3x,v 1.13 2004/07/05 13:16:08 tom Exp $ -.TH curs_extend 3X "" -.SH NAME -\fBcurses_version\fP, -\fBuse_extended_names\fP \- miscellaneous curses extensions - -.SH SYNOPSIS -\fB#include \fP - -\fBconst char * curses_version(void);\fP -.br -\fBint use_extended_names(bool enable);\fP -.SH DESCRIPTION -These functions are extensions to the curses library -which do not fit easily into other categories. -.PP -Use -.I curses_version() -to get the version number, including patch level of the library, e.g., -.B 5.0.19991023 -.PP -The -.I use_extended_names() -function controls whether the calling application -is able to use user-defined or nonstandard names -which may be compiled into the terminfo -description, i.e., via the terminfo or termcap interfaces. -Normally these names are available for use, since the essential decision -is made by using the \fB-x\fP option of \fItic\fP to compile -extended terminal definitions. -However you can disable this feature -to ensure compatibility with other implementations of curses. -.SH PORTABILITY -These routines are specific to ncurses. They were not supported on -Version 7, BSD or System V implementations. It is recommended that -any code depending on them be conditioned using NCURSES_VERSION. -.SH SEE ALSO -\fBcurs_getch\fR(3X), -\fBcurs_mouse\fR(3X), -\fBcurs_print\fR(3X), -\fBdefault_colors\fR(3X), -\fBdefine_key\fR(3X), -\fBkeybound\fR(3X), -\fBkeyok\fR(3X), -\fBresizeterm\fR(3X), -\fBwresize\fR(3X). -.SH AUTHOR -Thomas Dickey. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_get_wch.3x b/src/libs/ncurses/man/curs_get_wch.3x deleted file mode 100644 index ce723a0a65..0000000000 --- a/src/libs/ncurses/man/curs_get_wch.3x +++ /dev/null @@ -1,161 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 2002,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_get_wch.3x,v 1.5 2003/05/10 20:33:49 jmc Exp $ -.TH curs_get_wch 3X "" -.SH NAME -\fBget_wch\fR, -\fBwget_wch\fR, -\fBmvget_wch\fR, -\fBmvwget_wch\fR, -\fBunget_wch\fR \- get (or push back) a wide character from curses terminal keyboard -.SH SYNOPSIS -\fB#include \fR -.sp -\fBint get_wch(wint_t *\fR\fIwch\fR\fB);\fR -.br -\fBint wget_wch(WINDOW *\fR\fIwin\fR\fB, wint_t *\fR\fIwch\fR\fB);\fR -.br -\fBint mvget_wch(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wint_t *\fR\fIwch\fR\fB);\fR -.br -\fBint mvwget_wch(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wint_t *\fR\fIwch\fR\fB);\fR -.br -\fBint unget_wch(const wchar_t \fR\fIwch\fR\fB);\fR -.SH DESCRIPTION -The -\fBget_wch\fR, -\fBwget_wch\fR, -\fBmvget_wch\fR, and -\fBmvwget_wch\fR -functions read a character -from the terminal associated with the current or specified window. -In no-delay mode, -if no input is waiting, the value \fBERR\fR is returned. -In delay mode, -the program waits until the system passes text through to the program. -Depending on the setting of \fBcbreak\fR, -this is after one character (cbreak mode), -or after the first newline (nocbreak mode). -In half-delay mode, -the program waits until the user types a character or the specified -timeout interval has elapsed. - -Unless \fBnoecho\fR has been set, -these routines echo the character into the designated window. - -If the window is not a pad and has been moved or modified since the -last call to \fBwrefresh\fR, -\fBwrefresh\fR will be called before another character is read. - -If \fBkeypad\fR is enabled, -these functions respond to -the pressing of a function key by setting the object pointed to by -\fIwch\fR -to the corresponding -\fBKEY_\fR -value defined -in -\fB\fR -and returning -\fBKEY_CODE_YES\fR. -If a character (such as escape) that could be the -beginning of a function key is received, curses sets a timer. -If the remainder -of the sequence does arrive within the designated time, curses passes through -the character; otherwise, curses returns the function key value. -For this -reason, many terminals experience a delay between the time a user presses -the escape key and the time the escape is returned to the program. -.PP -The -\fBunget_wch\fR -function pushes the wide character -\fIwch\fR -back onto the head of the input queue, so the wide character -is returned by the next call to -\fBget_wch\fR. -The pushback of -one character is guaranteed. -If the program calls -\fBunget_wch\fR -too many times without an intervening call to -\fBget_wch\fR, -the operation may fail. -.SH NOTES -The header file -\fB\fR -automatically -includes the header file -\fB\fR. -.PP -Applications should not define the escape key by itself as a single-character -function. -.PP -When using -\fBget_wch\fR, -\fBwget_wch\fR, -\fBmvget_wch\fR, or -\fBmvwget_wch\fR, applications should -not use -\fBnocbreak\fR -mode and -\fBecho\fR -mode -at the same time. -Depending on the state of the tty driver when each character -is typed, the program may produce undesirable results. -.PP -All functions except \fBwget_wch\fR and \fBunget_wch\fR -may be macros. -.SH RETURN VALUES -When -\fBget_wch\fR, -\fBwget_wch\fR, -\fBmvget_wch\fR, and -\fBmvwget_wch\fR -functions successfully -report the pressing of a function key, they return -\fBKEY_CODE_YES\fR. -When they successfully report a wide character, they return -\fBOK\fR. -Otherwise, they return -\fBERR\fR. -.PP -Upon successful completion, -\fBunget_wch\fR -returns -\fBOK\fR. -Otherwise, the function returns -\fBERR\fR. -.SH SEE ALSO -\fBcurses\fR(3X), -\fBcurs_getch\fR(3X), -\fBcurs_ins_wch\fR(3X), -\fBcurs_inopts\fR(3X), -\fBcurs_move\fR(3X), -\fBcurs_refresh\fR(3X) diff --git a/src/libs/ncurses/man/curs_get_wstr.3x b/src/libs/ncurses/man/curs_get_wstr.3x deleted file mode 100644 index 2eaca12cb3..0000000000 --- a/src/libs/ncurses/man/curs_get_wstr.3x +++ /dev/null @@ -1,178 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 2002-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_get_wstr.3x,v 1.5 2005/05/15 16:17:44 tom Exp $ -.TH curs_get_wstr 3X "" -.na -.hy 0 -.SH NAME -\fBget_wstr\fR, -\fBgetn_wstr\fR, -\fBwget_wstr\fR, -\fBwgetn_wstr\fR, -\fBmvget_wstr\fR, -\fBmvgetn_wstr\fR, -\fBmvwget_wstr\fR, -\fBmvwgetn_wstr\fR \- get an array of wide characters from a curses terminal keyboard -.ad -.hy -.SH SYNOPSIS -.nf -\fB#include \fR - -\fBint get_wstr(wint_t *\fR\fIwstr\fR\fB);\fR -.br -\fBint getn_wstr(wint_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint wget_wstr(WINDOW *\fR\fIwin\fR\fB, wint_t *\fR\fIwstr\fR\fB);\fR -.br -\fBint wgetn_wstr(WINDOW *\fR\fIwin\fR\fB, wint_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint mvget_wstr(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wint_t *\fR\fIwstr\fR\fB);\fR -.br -\fBint mvgetn_wstr(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wint_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint mvwget_wstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wint_t *\fR\fIwstr\fR\fB);\fR -.br -\fBint mvwgetn_wstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wint_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR -.fi -.SH DESCRIPTION -The effect of -\fBget_wstr\fR -is as though a series of calls -to -\fBget_wch\fR -were made, until a newline, other end-of-line, or end-of-file condition is processed. -An end-of-file condition is represented by \fBWEOF\fR, as defined in \fB\fR. -The newline and end-of-line conditions are represented by the \fB\\n\fR \fBwchar_t\fR value. -In all instances, the end of the string is terminated by a null \fBwchar_t\fR. -The routine places resulting values in the area pointed to by \fIwstr\fR. - -The user's erase and kill characters are interpreted. If keypad -mode is on for the window, \fBKEY_LEFT\fR and \fBKEY_BACKSPACE\fR -are both considered equivalent to the user's kill character. - -Characters input are echoed only if \fBecho\fR is currently on. In that case, -backspace is echoed as deletion of the previous character (typically a left -motion). - -The effect of -\fBwget_wstr\fR -is as though a series of -calls to -\fBwget_wch\fR -were made. - -The effect of -\fBmvget_wstr\fR -is as though a call to -\fBmove\fR -and then a series of calls to -\fBget_wch\fR -were -made. - -The effect of -\fBmvwget_wstr\fR -is as though a call to -\fBwmove\fR -and then a series of calls to -\fBwget_wch\fR -were made. - -The -\fBgetn_wstr\fR, -\fBmvgetn_wstr\fR, -\fBmvwgetn_wstr\fR, and -\fBwgetn_wstr\fR -functions are identical -to the -\fBget_wstr\fR, -\fBmvget_wstr\fR, -\fBmvwget_wstr\fR, and -\fBwget_wstr\fR -functions, respectively, -except that the -\fB*n_*\fR -versions read at most -\fIn\fR -characters, letting the application prevent overflow of the -input buffer. -.SH NOTES -Using -\fBget_wstr\fR, -\fBmvget_wstr\fR, -\fBmvwget_wstr\fR, or -\fBwget_wstr\fR -to read a line that -overflows the array pointed to by -\fBwstr\fR -causes undefined -results. -The use of -\fBgetn_wstr\fR, -\fBmvgetn_wstr\fR, -\fBmvwgetn_wstr\fR, or -\fBwgetn_wstr\fR, respectively, is recommended. - -These functions cannot return \fBKEY_\fR values because there -is no way to distinguish a \fBKEY_\fR value from a valid \fBwchar_t\fR value. - -All of these routines except \fBwgetn_wstr\fR may be macros. -.SH RETURN VALUES -All of these functions return \fBOK\fR upon successful completion. -Otherwise, they return \fBERR\fR. -.PP -Functions using a window parameter return an error if it is null. -.RS -.TP 5 -\fBwgetn_wstr\fP -returns an error if the associated call to \fBwget_wch\fP failed. -.RE -.SH PORTABILITY -These functions are described in The Single Unix Specification, Version 2. -No error conditions are defined. -This implementation returns ERR if the window pointer is null, -or if the lower-level \fBwget_wch\fR call returns an ERR. -In the latter case, -an ERR return without other data is treated as an end-of-file condition, -and the returned array contains a \fBWEOF\fR followed by a null \fBwchar_t\fR. -.PP -X/Open curses documents these functions to pass an array of \fBwchar_t\fR, -but all of the vendors implement this using \fBwint_t\fR. -.SH SEE ALSO -Functions: -\fBcurses\fR(3X), -\fBcurs_get_wch\fR(3X), -\fBcurs_getstr\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_getcchar.3x b/src/libs/ncurses/man/curs_getcchar.3x deleted file mode 100644 index 0662317583..0000000000 --- a/src/libs/ncurses/man/curs_getcchar.3x +++ /dev/null @@ -1,144 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 2001-2002,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_getcchar.3x,v 1.7 2003/05/10 20:33:49 jmc Exp $ -.TH curs_getcchar 3X "" -.SH NAME -\fBgetcchar\fP, -\fBsetcchar\fP \- Get a wide character string and rendition from a \fBcchar_t\fP or set a \fBcchar_t\fP from a wide-character string -.SH SYNOPSIS -\fB#include \fP -.sp -\fBint getcchar(\fP -.br -.B " const cchar_t *\fIwcval\fP," -.br -.B " wchar_t *\fIwch\fP," -.br -.B " attr_t *\fIattrs\fP," -.br -.B " short *\fIcolor_pair\fP," -.br -.B " void *\fIopts\fP );" -.sp -.B "int setcchar(" -.br -.B " cchar_t *\fIwcval\fP," -.br -.B " const wchar_t *\fIwch\fP," -.br -.B " const attr_t \fIattrs\fP," -.br -.B " short \fIcolor_pair\fP," -.br -.B " void *\fIopts\fP );" -.SH DESCRIPTION -.PP -The \fBgetcchar\fP function gets a wide-character string -and rendition from a \fBcchar_t\fP argument. -When \fIwch\fP is not a null pointer, -the \fBgetcchar\fP function does the following: -.TP 5 -- -Extracts information from a \fBcchar_t\fP value \fIwcval\fP -.TP 5 -- -Stores the character attributes in the location pointed to by \fIattrs\fP -.TP 5 -- -Stores the color-pair in the location pointed to by \fIcolor_pair\fP -.TP 5 -- -Stores the wide-character string, -characters referenced by \fIwcval\fP, into the array pointed to by \fIwch\fP. -.PP -When -\fIwch\fP -is a null pointer, the -\fBgetcchar\fP -function does the following: -.TP 5 -- -Obtains the number of wide characters pointed to by \fIwcval\fP -.TP 5 -- -Does not change the data referenced by -\fIattrs\fP -or -\fIcolor_pair\fP -.PP -The \fBsetcchar\fP function initializes the location pointed to by \fIwcval\fP -by using: -.TP 5 -- -The character attributes in -\fIattrs\fP -.TP 5 -- -The color pair in -\fIcolor_pair\fP -.TP 5 -- -The wide-character string pointed to by \fIwch\fP. -The string must be L'\\0' terminated, -contain at most one character with strictly positive width, -which must be the first, -and contain no characters of negative width. -.SH NOTES -.PP -The \fIopts\fP argument is reserved for future use. -Currently, an application must provide a null pointer as \fIopts\fP. -.PP -The \fIwcval\fP argument may be a value generated by a call to -\fBsetcchar\fP or by a function that has a \fBcchar_t\fP output argument. -If \fIwcval\fP is constructed by any other means, the effect is unspecified. -.SH RETURN VALUES -.PP -When \fIwch\fP is a null pointer, -\fBgetcchar\fP returns the number of wide characters referenced by -\fIwcval\fP, including the null terminator. -.PP -When \fIwch\fP is not a null pointer, -\fBgetcchar\fP returns \fBOK\fP upon successful completion, -and \fBERR\fP otherwise. -.PP -Upon successful completion, \fBsetcchar\fP returns \fBOK\fP. -Otherwise, it returns \fBERR\fP. -.SH SEE ALSO -.PP -Functions: -\fBcurses\fR(3X), -\fBwcwidth\fR(3X), -\fBcurs_attr_get\fR(3X), -\fBcan_change_color\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_getch.3x b/src/libs/ncurses/man/curs_getch.3x deleted file mode 100644 index ce62ed17d8..0000000000 --- a/src/libs/ncurses/man/curs_getch.3x +++ /dev/null @@ -1,324 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_getch.3x,v 1.29 2005/06/25 22:03:09 tom Exp $ -.TH curs_getch 3X "" -.na -.hy 0 -.SH NAME -\fBgetch\fR, -\fBwgetch\fR, -\fBmvgetch\fR, -\fBmvwgetch\fR, -\fBungetch\fR, -\fBhas_key\fR \- get (or push back) characters from \fBcurses\fR terminal keyboard -.ad -.hy -.SH SYNOPSIS -\fB#include \fR -.PP -\fBint getch(void);\fR -.br -\fBint wgetch(WINDOW *win);\fR -.br -\fBint mvgetch(int y, int x);\fR -.br -\fBint mvwgetch(WINDOW *win, int y, int x);\fR -.br -\fBint ungetch(int ch);\fR -.br -\fBint has_key(int ch);\fR -.br -.SH DESCRIPTION -The \fBgetch\fR, \fBwgetch\fR, \fBmvgetch\fR and \fBmvwgetch\fR, routines read -a character from the window. -In no-delay mode, if no input is waiting, the value \fBERR\fR is returned. -In delay mode, the program waits until the system -passes text through to the program. -Depending on the setting of \fBcbreak\fR, -this is after one character (cbreak mode), -or after the first newline (nocbreak mode). -In half-delay mode, -the program waits until a character is typed or the -specified timeout has been reached. -.PP -Unless \fBnoecho\fR has been set, -then the character will also be echoed into the -designated window according to the following rules: -If the character is the current erase character, left arrow, or backspace, -the cursor is moved one space to the left and that screen position is erased -as if \fBdelch\fR had been called. -If the character value is any other \fBKEY_\fR define, the user is alerted -with a \fBbeep\fR call. -Otherwise the character is simply output to the screen. -.PP -If the window is not a pad, and it has been moved or modified since the last -call to \fBwrefresh\fR, \fBwrefresh\fR will be called before another character -is read. -.PP -If \fBkeypad\fR is \fBTRUE\fR, and a function key is pressed, the token for -that function key is returned instead of the raw characters. -Possible function -keys are defined in \fB\fR as macros with values outside the range -of 8-bit characters whose names begin with \fBKEY_\fR. Thus, a variable -intended to hold the return value of a function key must be of short size or -larger. -.PP -When a character that could be the beginning of a function key is received -(which, on modern terminals, means an escape character), -\fBcurses\fR sets a timer. -If the remainder of the sequence does not come in within the designated -time, the character is passed through; -otherwise, the function key value is returned. -For this reason, many terminals experience a delay between the time -a user presses the escape key and the escape is returned to the program. -.PP -The \fBungetch\fR routine places \fIch\fR back onto the input queue to be -returned by the next call to \fBwgetch\fR. -There is just one input queue for all windows. -.PP -.SS Function Keys -The following function keys, defined in \fB\fR, might be returned by -\fBgetch\fR if \fBkeypad\fR has been enabled. -Note that not all of these are -necessarily supported on any particular terminal. -.sp -.TS -center tab(/) ; -l l -l l . -\fIName\fR/\fIKey\fR \fIname\fR -KEY_BREAK/Break key -KEY_DOWN/The four arrow keys ... -KEY_UP -KEY_LEFT -KEY_RIGHT -KEY_HOME/Home key (upward+left arrow) -KEY_BACKSPACE/Backspace -KEY_F0/T{ -Function keys; space for 64 keys is reserved. -T} -KEY_F(\fIn\fR)/T{ -For 0 \(<= \fIn\fR \(<= 63 -T} -KEY_DL/Delete line -KEY_IL/Insert line -KEY_DC/Delete character -KEY_IC/Insert char or enter insert mode -KEY_EIC/Exit insert char mode -KEY_CLEAR/Clear screen -KEY_EOS/Clear to end of screen -KEY_EOL/Clear to end of line -KEY_SF/Scroll 1 line forward -KEY_SR/Scroll 1 line backward (reverse) -KEY_NPAGE/Next page -KEY_PPAGE/Previous page -KEY_STAB/Set tab -KEY_CTAB/Clear tab -KEY_CATAB/Clear all tabs -KEY_ENTER/Enter or send -KEY_SRESET/Soft (partial) reset -KEY_RESET/Reset or hard reset -KEY_PRINT/Print or copy -KEY_LL/Home down or bottom (lower left) -KEY_A1/Upper left of keypad -KEY_A3/Upper right of keypad -KEY_B2/Center of keypad -KEY_C1/Lower left of keypad -KEY_C3/Lower right of keypad -KEY_BTAB/Back tab key -KEY_BEG/Beg(inning) key -KEY_CANCEL/Cancel key -KEY_CLOSE/Close key -KEY_COMMAND/Cmd (command) key -KEY_COPY/Copy key -KEY_CREATE/Create key -KEY_END/End key -KEY_EXIT/Exit key -KEY_FIND/Find key -KEY_HELP/Help key -KEY_MARK/Mark key -KEY_MESSAGE/Message key -KEY_MOUSE/Mouse event read -KEY_MOVE/Move key -KEY_NEXT/Next object key -KEY_OPEN/Open key -KEY_OPTIONS/Options key -KEY_PREVIOUS/Previous object key -KEY_REDO/Redo key -KEY_REFERENCE/Ref(erence) key -KEY_REFRESH/Refresh key -KEY_REPLACE/Replace key -KEY_RESIZE/Screen resized -KEY_RESTART/Restart key -KEY_RESUME/Resume key -KEY_SAVE/Save key -KEY_SBEG/Shifted beginning key -KEY_SCANCEL/Shifted cancel key -KEY_SCOMMAND/Shifted command key -KEY_SCOPY/Shifted copy key -KEY_SCREATE/Shifted create key -KEY_SDC/Shifted delete char key -KEY_SDL/Shifted delete line key -KEY_SELECT/Select key -KEY_SEND/Shifted end key -KEY_SEOL/Shifted clear line key -KEY_SEXIT/Shifted exit key -KEY_SFIND/Shifted find key -KEY_SHELP/Shifted help key -KEY_SHOME/Shifted home key -KEY_SIC/Shifted input key -KEY_SLEFT/Shifted left arrow key -KEY_SMESSAGE/Shifted message key -KEY_SMOVE/Shifted move key -KEY_SNEXT/Shifted next key -KEY_SOPTIONS/Shifted options key -KEY_SPREVIOUS/Shifted prev key -KEY_SPRINT/Shifted print key -KEY_SREDO/Shifted redo key -KEY_SREPLACE/Shifted replace key -KEY_SRIGHT/Shifted right arrow -KEY_SRSUME/Shifted resume key -KEY_SSAVE/Shifted save key -KEY_SSUSPEND/Shifted suspend key -KEY_SUNDO/Shifted undo key -KEY_SUSPEND/Suspend key -KEY_UNDO/Undo key -.TE -.PP -Keypad is arranged like this: -.sp -.TS -center allbox tab(/) ; -c c c . -\fBA1\fR/\fBup\fR/\fBA3\fR -\fBleft\fR/\fBB2\fR/\fBright\fR -\fBC1\fR/\fBdown\fR/\fBC3\fR -.TE -.sp -The \fBhas_key\fR routine takes a key value from the above list, and -returns TRUE or FALSE according to whether -the current terminal type recognizes a key with that value. -Note that a few values do not correspond to a real key, -e.g., \fBKEY_RESIZE\fP and \fBKEY_MOUSE\fP. -See \fBresizeterm\fR(3X) for more details about \fBKEY_RESIZE\fP, and -\fBcurs_mouse\fR(3X) for a discussion of \fBKEY_MOUSE\fP. -.PP -.SH RETURN VALUE -All routines return the integer \fBERR\fR upon failure and an integer value -other than \fBERR\fR (\fBOK\fR in the case of ungetch()) upon successful -completion. -.RS -.TP 5 -\fBungetch\fP -returns an error -if there is no more room in the FIFO. -.TP 5 -\fBwgetch\fP -returns an error -if the window pointer is null, or -if its timeout expires without having any data. -.RE -.SH NOTES -Use of the escape key by a programmer for a single character function is -discouraged, as it will cause a delay of up to one second while the -keypad code looks for a following function-key sequence. -.PP -Note that some keys may be the same as commonly used control -keys, e.g., \fBKEY_ENTER\fP versus control/M, \fBKEY_BACKSPACE\fP versus control/H. -Some curses implementations may differ according to whether they -treat these control keys specially (and ignore the terminfo), or -use the terminfo definitions. -\fBNcurses\fR uses the terminfo definition. -If it says that \fBKEY_ENTER\fP is control/M, -\fBgetch\fR will return \fBKEY_ENTER\fP -when you press control/M. -.PP -When using \fBgetch\fR, \fBwgetch\fR, \fBmvgetch\fR, or -\fBmvwgetch\fR, nocbreak mode (\fBnocbreak\fR) and echo mode -(\fBecho\fR) should not be used at the same time. -Depending on the -state of the tty driver when each character is typed, the program may -produce undesirable results. -.PP -Note that \fBgetch\fR, \fBmvgetch\fR, and \fBmvwgetch\fR may be macros. -.PP -Historically, the set of keypad macros was largely defined by the extremely -function-key-rich keyboard of the AT&T 7300, aka 3B1, aka Safari 4. -Modern -personal computers usually have only a small subset of these. -IBM PC-style -consoles typically support little more than \fBKEY_UP\fR, \fBKEY_DOWN\fR, -\fBKEY_LEFT\fR, \fBKEY_RIGHT\fR, \fBKEY_HOME\fR, \fBKEY_END\fR, -\fBKEY_NPAGE\fR, \fBKEY_PPAGE\fR, and function keys 1 through 12. -The Ins key -is usually mapped to \fBKEY_IC\fR. -.SH PORTABILITY -The *get* functions are described in the XSI Curses standard, Issue 4. -They -read single-byte characters only. -The standard specifies that they return -\fBERR\fR on failure, but specifies no error conditions. -.PP -The echo behavior of these functions on input of \fBKEY_\fR or backspace -characters was not specified in the SVr4 documentation. -This description is -adopted from the XSI Curses standard. -.PP -The behavior of \fBgetch\fR and friends in the presence of handled signals is -unspecified in the SVr4 and XSI Curses documentation. -Under historical curses -implementations, it varied depending on whether the operating system's -implementation of handled signal receipt interrupts a \fBread\fR(2) call in -progress or not, and also (in some implementations) depending on whether an -input timeout or non-blocking mode has been set. -.PP -Programmers concerned about portability should be prepared for either of two -cases: (a) signal receipt does not interrupt \fBgetch\fR; (b) signal receipt -interrupts \fBgetch\fR and causes it to return ERR with \fBerrno\fR set to -\fBEINTR\fR. -Under the \fBncurses\fR implementation, handled signals never -interrupt \fBgetch\fR. -.PP -The \fBhas_key\fR function is unique to \fBncurses\fR. -We recommend that -any code using it be conditionalized on the \fBNCURSES_VERSION\fR feature macro. -.SH SEE ALSO -\fBcurses\fR(3X), -\fBcurs_inopts\fR(3X), -\fBcurs_mouse\fR(3X), -\fBcurs_move\fR(3X), -\fBcurs_refresh\fR(3X), -\fBresizeterm\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_getstr.3x b/src/libs/ncurses/man/curs_getstr.3x deleted file mode 100644 index a5f186e8cc..0000000000 --- a/src/libs/ncurses/man/curs_getstr.3x +++ /dev/null @@ -1,118 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_getstr.3x,v 1.14 2005/05/15 16:17:55 tom Exp $ -.TH curs_getstr 3X "" -.na -.hy 0 -.SH NAME -\fBgetstr\fR, -\fBgetnstr\fR, -\fBwgetstr\fR, -\fBwgetnstr\fR, -\fBmvgetstr\fR, -\fBmvgetnstr\fR, -\fBmvwgetstr\fR, -\fBmvwgetnstr\fR - accept character strings from \fBcurses\fR terminal keyboard -.ad -.hy -.SH SYNOPSIS -\fB#include \fR - -\fBint getstr(char *str);\fR -.br -\fBint getnstr(char *str, int n);\fR -.br -\fBint wgetstr(WINDOW *win, char *str);\fR -.br -\fBint wgetnstr(WINDOW *win, char *str, int n);\fR -.br -\fBint mvgetstr(int y, int x, char *str);\fR -.br -\fBint mvwgetstr(WINDOW *win, int y, int x, char *str);\fR -.br -\fBint mvgetnstr(int y, int x, char *str, int n);\fR -.br -\fBint mvwgetnstr(WINDOW *, int y, int x, char *str, int n);\fR -.br -.SH DESCRIPTION -The function \fBgetstr\fR is equivalent to a series of calls to \fBgetch\fR, -until a newline or carriage return is received (the terminating character is -not included in the returned string). The resulting value is placed in the -area pointed to by the character pointer \fIstr\fR. - -\fBwgetnstr\fR reads at most \fIn\fR characters, thus preventing a possible -overflow of the input buffer. Any attempt to enter more characters (other -than the terminating newline or carriage return) causes a beep. Function -keys also cause a beep and are ignored. The \fBgetnstr\fR function reads -from the \fIstdscr\fR default window. - -The user's erase and kill characters are interpreted. If keypad -mode is on for the window, \fBKEY_LEFT\fR and \fBKEY_BACKSPACE\fR -are both considered equivalent to the user's kill character. - -Characters input are echoed only if \fBecho\fR is currently on. In that case, -backspace is echoed as deletion of the previous character (typically a left -motion). -.SH RETURN VALUE -All routines return the integer \fBERR\fR upon failure and an \fBOK\fR (SVr4 -specifies only "an integer value other than \fBERR\fR") upon successful -completion. -.PP -X/Open defines no error conditions. -.PP -In this implementation, -these functions return an error -if the window pointer is null, or -if its timeout expires without having any data. -.SH NOTES -Note that \fBgetstr\fR, \fBmvgetstr\fR, and \fBmvwgetstr\fR may be macros. -.SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4. -They read single-byte characters only. -The standard does not define any error conditions. -This implementation returns ERR if the window pointer is null, -or if the lower-level \fBwgetch\fR call returns an ERR. - -SVr3 and early SVr4 curses implementations did not reject function keys; -the SVr4.0 documentation claimed that "special keys" (such as function -keys, "home" key, "clear" key, \fIetc\fR.) are "interpreted", without -giving details. It lied. In fact, the `character' value appended to the -string by those implementations was predictable but not useful -(being, in fact, the low-order eight bits of the key's KEY_ value). - -The functions \fBgetnstr\fR, \fBmvgetnstr\fR, and \fBmvwgetnstr\fR were -present but not documented in SVr4. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_getch\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_getyx.3x b/src/libs/ncurses/man/curs_getyx.3x deleted file mode 100644 index 1e1a6eff1f..0000000000 --- a/src/libs/ncurses/man/curs_getyx.3x +++ /dev/null @@ -1,89 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_getyx.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $ -.TH curs_getyx 3X "" -.SH NAME -\fBgetyx\fR, -\fBgetparyx\fR, -\fBgetbegyx\fR, -\fBgetmaxyx\fR - get \fBcurses\fR cursor and window coordinates -.SH SYNOPSIS -\fB#include \fR - -\fBvoid getyx(WINDOW *win, int y, int x);\fR -.br -\fBvoid getparyx(WINDOW *win, int y, int x);\fR -.br -\fBvoid getbegyx(WINDOW *win, int y, int x);\fR -.br -\fBvoid getmaxyx(WINDOW *win, int y, int x);\fR -.br -.SH DESCRIPTION -The \fBgetyx\fR macro places the current cursor position of the given window in -the two integer variables \fIy\fR and \fIx\fR. - -If \fIwin\fR is a subwindow, the \fBgetparyx\fR macro places the beginning -coordinates of the subwindow relative to the parent window into two integer -variables \fIy\fR and \fIx\fR. -Otherwise, \fB-1\fR is placed into \fIy\fR and \fIx\fR. - -Like \fBgetyx\fR, the \fBgetbegyx\fR and \fBgetmaxyx\fR macros store -the current beginning coordinates and size of the specified window. -.SH RETURN VALUE -The return values of these macros are undefined (i.e., -they should not be used as the right-hand side of assignment statements). -.SH NOTES -All of these interfaces are macros. -A "\fB&\fR" is not necessary before the variables \fIy\fR and \fIx\fR. -.SH PORTABILITY -The -\fBgetyx\fR, -\fBgetparyx\fR, -\fBgetbegyx\fR and -\fBgetmaxyx\fR -functions are described in the XSI Curses standard, Issue 4. -.PP -This implementation also provides -\fBgetbegx\fR, -\fBgetbegy\fR, -\fBgetcurx\fR, -\fBgetcury\fR, -\fBgetmaxx\fR, -\fBgetmaxy\fR, -\fBgetparx\fR and -\fBgetpary\fR -for compatibility with older versions of curses. -.SH SEE ALSO -\fBcurses\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_in_wch.3x b/src/libs/ncurses/man/curs_in_wch.3x deleted file mode 100644 index 668595c6f3..0000000000 --- a/src/libs/ncurses/man/curs_in_wch.3x +++ /dev/null @@ -1,68 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 2002 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_in_wch.3x,v 1.1 2002/03/10 15:08:57 tom Exp $ -.TH curs_in_wch 3X "" -.SH NAME -\fBin_wch\fR, -\fBmvin_wch\fR, -\fBmvwin_wch\fR, -\fBwin_wch\fR - extract a complex character and rendition from a window -.SH SYNOPSIS -\fB#include \fR - -\fBint in_wch(cchar_t *\fR\fIwcval\fR\fB);\fR -.br -\fBint mvin_wch(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, cchar_t *\fR\fIwcval\fR\fB);\fR -.br -\fBint mvwin_wch(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, cchar_t *\fR\fIwcval\fR\fB);\fR -.br -\fBint win_wch(WINDOW *\fR\fIwin\fR\fB, cchar_t *\fR\fIwcval\fR\fB);\fR -.SH DESCRIPTION -These functions extract the complex character and rendition from -the current position in the named window into the \fBcchar_t\fR object -referenced by wcval. -.SH RETURN VALUE -No errors are defined in the XSI Curses standard. -This implementation checks for null pointers, returns ERR in that case. -Also, the \fImv\fR routines check for error moving the cursor, returning ERR -in that case. -Otherwise they return OK -.SH NOTES -Note that all of these routines may be macros. -.SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4. -.SH SEE ALSO -\fBcurses\fR(3X), -\fBcurs_inch\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_in_wchstr.3x b/src/libs/ncurses/man/curs_in_wchstr.3x deleted file mode 100644 index 5bac9d3d58..0000000000 --- a/src/libs/ncurses/man/curs_in_wchstr.3x +++ /dev/null @@ -1,121 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 2002,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_in_wchstr.3x,v 1.5 2005/05/15 16:57:17 tom Exp $ -.TH curs_in_wchstr 3X "" -.na -.hy 0 -.SH NAME -\fBin_wchstr\fR, -\fBin_wchnstr\fR, -\fBwin_wchstr\fR, -\fBwin_wchnstr\fR, -\fBmvin_wchstr\fR, -\fBmvin_wchnstr\fR, -\fBmvwin_wchstr\fR, -\fBmvwin_wchnstr\fR \- get an array of complex characters and renditions from a curses window -.ad -.hy -.SH SYNOPSIS -.nf -\fB#include \fR -.sp -\fBint in_wchstr(cchar_t *\fR\fIwchstr\fR\fB);\fR -.br -\fBint in_wchnstr(cchar_t *\fR\fIwchstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint win_wchstr(WINDOW *\fR\fIwin\fR\fB, cchar_t *\fR\fIwchstr\fR\fB);\fR -.br -\fBint win_wchnstr(WINDOW *\fR\fIwin\fR\fB, cchar_t *\fR\fIwchstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint mvin_wchstr(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, cchar_t *\fR\fIwchstr\fR\fB);\fR -.br -\fBint mvin_wchnstr(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, cchar_t *\fR\fIwchstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint mvwin_wchstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, cchar_t *\fR\fIwchstr\fR\fB);\fR -.br -\fBint mvwin_wchnstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, cchar_t *\fR\fIwchstr\fR, int \fIn\fR\fB);\fR -.fi -.SH DESCRIPTION -These functions return an array of complex characters in \fIwchstr\fR, -starting at the current cursor position in the named window. -Attributes (rendition) are stored with the characters. -.PP -The -\fBin_wchnstr\fR, -\fBmvin_wchnstr\fR, -\fBmvwin_wchnstr\fR -and -\fBwin_wchnstr\fR -fill the array -with at most -\fIn\fR -\fBcchar_t\fR -elements. -.br -.SH NOTES -Note that all routines except -\fBwin_wchnstr\fR -may be -macros. -.PP -Reading a line that overflows the array pointed to by -\fIwchstr\fR -with -\fBin_wchstr\fR, -\fBmvin_wchstr\fR, -\fBmvwin_wchstr\fR -or -\fBwin_wchstr\fR -causes undefined results. Therefore, the use of -\fBin_wchnstr\fR, -\fBmvin_wchnstr\fR, -\fBmvwin_wchnstr\fR, or -\fBwin_wchnstr\fR -is recommended. -.SH RETURN VALUES -Upon successful completion, these functions return -\fBOK\fR. -Otherwise, they return -\fBERR\fR. -.SH PORTABILITY -The XSI Curses defines no error conditions. -This implementation checks for null pointers, -returning ERR in that case. -.SH SEE ALSO -Functions: -\fBcurses\fR(3X), -\fBcurs_in_wch\fR(3X), -\fBcurs_instr\fR(3X), -\fBcurs_inwstr\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_inch.3x b/src/libs/ncurses/man/curs_inch.3x deleted file mode 100644 index bcc8d6f85c..0000000000 --- a/src/libs/ncurses/man/curs_inch.3x +++ /dev/null @@ -1,73 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_inch.3x,v 1.11 1998/11/29 01:04:34 Rick.Ohnemus Exp $ -.TH curs_inch 3X "" -.SH NAME -\fBinch\fR, \fBwinch\fR, \fBmvinch\fR, \fBmvwinch\fR -- get a character and attributes from a \fBcurses\fR window -.SH SYNOPSIS -\fB#include \fR - -\fBchtype inch(void);\fR -.br -\fBchtype winch(WINDOW *win);\fR -.br -\fBchtype mvinch(int y, int x);\fR -.br -\fBchtype mvwinch(WINDOW *win, int y, int x);\fR -.br -.SH DESCRIPTION -These routines return the character, of type \fBchtype\fR, at the current -position in the named window. If any attributes are set for that position, -their values are OR'ed into the value returned. Constants defined in -\fB\fR can be used with the \fB&\fR (logical AND) operator to -extract the character or attributes alone. - -.SS Attributes -The following bit-masks may be AND-ed with characters returned by \fBwinch\fR. - -.TS -l l . -\fBA_CHARTEXT\fR Bit-mask to extract character -\fBA_ATTRIBUTES\fR Bit-mask to extract attributes -\fBA_COLOR\fR Bit-mask to extract color-pair field information -.TE -.SH NOTES -Note that all of these routines may be macros. -.SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4. -.SH SEE ALSO -\fBcurses\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_inchstr.3x b/src/libs/ncurses/man/curs_inchstr.3x deleted file mode 100644 index cb91aa442e..0000000000 --- a/src/libs/ncurses/man/curs_inchstr.3x +++ /dev/null @@ -1,97 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_inchstr.3x,v 1.10 2005/05/15 16:54:53 tom Exp $ -.TH curs_inchstr 3X "" -.na -.hy 0 -.SH NAME -\fBinchstr\fR, -\fBinchnstr\fR, -\fBwinchstr\fR, -\fBwinchnstr\fR, -\fBmvinchstr\fR, -\fBmvinchnstr\fR, -\fBmvwinchstr\fR, -\fBmvwinchnstr\fR - get a string of characters (and attributes) from a \fBcurses\fR window -.ad -.hy -.SH SYNOPSIS -\fB#include \fR - -\fBint inchstr(chtype *chstr);\fR -.br -\fBint inchnstr(chtype *chstr, int n);\fR -.br -\fBint winchstr(WINDOW *win, chtype *chstr);\fR -.br -\fBint winchnstr(WINDOW *win, chtype *chstr, int n);\fR -.br -\fBint mvinchstr(int y, int x, chtype *chstr);\fR -.br -\fBint mvinchnstr(int y, int x, chtype *chstr, int n);\fR -.br -\fBint mvwinchstr(WINDOW *win, int y, int x, chtype *chstr);\fR -.br -\fBint mvwinchnstr(WINDOW *win, int y, int x, chtype *chstr, int n);\fR -.br -.SH DESCRIPTION -These routines return a NULL-terminated array of \fBchtype\fR quantities, -starting at the current cursor position in the named window and ending at the -right margin of the window. The four functions with \fIn\fR as -the last argument, return a leading substring at most \fIn\fR characters long -(exclusive of the trailing (chtype)0). -Constants defined in \fB\fR can be used with the \fB&\fR (logical -AND) operator to extract the character or the attribute alone from any position -in the \fIchstr\fR [see \fBcurs_inch\fR(3X)]. -.SH RETURN VALUE -All routines return the integer \fBERR\fR upon failure and an integer value -other than \fBERR\fR upon successful completion (the number of characters -retrieved, exclusive of the trailing 0). -.PP -No error conditions are defined. -If the \fIchstr\fP parameter is null, -no data is returned, -and the return value is zero. -.SH NOTES -Note that all routines except \fBwinchnstr\fR may be macros. SVr4 does not -document whether the result string is 0-terminated; it does not document -whether a length limit argument includes any trailing 0; and it does not -document the meaning of the return value. -.SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4. It is no -more specific than the SVr4 documentation on the trailing 0. It does specify -that the successful return of the functions is \fBOK\fR. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_inch\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_initscr.3x b/src/libs/ncurses/man/curs_initscr.3x deleted file mode 100644 index 1a865f94ec..0000000000 --- a/src/libs/ncurses/man/curs_initscr.3x +++ /dev/null @@ -1,132 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_initscr.3x,v 1.14 2005/05/15 16:18:01 tom Exp $ -.TH curs_initscr 3X "" -.na -.hy 0 -.SH NAME -\fBinitscr\fR, -\fBnewterm\fR, -\fBendwin\fR, -\fBisendwin\fR, -\fBset_term\fR, -\fBdelscreen\fR - \fBcurses\fR screen initialization and manipulation routines -.ad -.hy -.SH SYNOPSIS -\fB#include \fR -.sp -\fBWINDOW *initscr(void);\fR -.br -\fBint endwin(void);\fR -.br -\fBbool isendwin(void);\fR -.br -\fBSCREEN *newterm(char *type, FILE *outfd, FILE *infd);\fR -.br -\fBSCREEN *set_term(SCREEN *new);\fR -.br -\fBvoid delscreen(SCREEN* sp);\fR -.br -.SH DESCRIPTION -\fBinitscr\fR is normally the first \fBcurses\fR routine to call when -initializing a program. A few special routines sometimes need to be -called before it; these are \fBslk_init\fR, \fBfilter\fR, \fBripoffline\fR, -\fBuse_env\fR. For multiple-terminal applications, \fBnewterm\fR may be -called before \fBinitscr\fR. -.PP -The initscr code determines the terminal type and initializes all \fBcurses\fR -data structures. \fBinitscr\fR also causes the first call to \fBrefresh\fR to -clear the screen. If errors occur, \fBinitscr\fR writes an appropriate error -message to standard error and exits; otherwise, a pointer is returned to -\fBstdscr\fR. -.PP -A program that outputs to more than one terminal should use the \fBnewterm\fR -routine for each terminal instead of \fBinitscr\fR. A program that needs to -inspect capabilities, so it can continue to run in a line-oriented mode if the -terminal cannot support a screen-oriented program, would also use -\fBnewterm\fR. The routine \fBnewterm\fR should be called once for each -terminal. It returns a variable of type \fBSCREEN *\fR which should be saved -as a reference to that terminal. The arguments are the \fItype\fR of the -terminal to be used in place of \fB$TERM\fR, a file pointer for output to the -terminal, and another file pointer for input from the terminal (if \fItype\fR -is \fBNULL\fR, \fB$TERM\fR will be used). The program must also call -\fBendwin\fR for each terminal being used before exiting from \fBcurses\fR. -If \fBnewterm\fR is called more than once for the same terminal, the first -terminal referred to must be the last one for which \fBendwin\fR is called. -.PP -A program should always call \fBendwin\fR before exiting or escaping from -\fBcurses\fR mode temporarily. This routine restores tty modes, moves the -cursor to the lower left-hand corner of the screen and resets the terminal into -the proper non-visual mode. Calling \fBrefresh\fR or \fBdoupdate\fR after a -temporary escape causes the program to resume visual mode. -.PP -The \fBisendwin\fR routine returns \fBTRUE\fR if \fBendwin\fR has been -called without any subsequent calls to \fBwrefresh\fR, and \fBFALSE\fR -otherwise. -.PP -The \fBset_term\fR routine is used to switch between different -terminals. The screen reference \fBnew\fR becomes the new current -terminal. The previous terminal is returned by the routine. This is -the only routine which manipulates \fBSCREEN\fR pointers; all other -routines affect only the current terminal. -.PP -The \fBdelscreen\fR routine frees storage associated with the -\fBSCREEN\fR data structure. The \fBendwin\fR routine does not do -this, so \fBdelscreen\fR should be called after \fBendwin\fR if a -particular \fBSCREEN\fR is no longer needed. -.SH RETURN VALUE -\fBendwin\fR returns the integer \fBERR\fR upon failure and \fBOK\fR -upon successful completion. -.PP -Routines that return pointers always return \fBNULL\fR on error. -.PP -X/Open defines no error conditions. -In this implementation -\fBendwin\fP returns an error if the terminal was not initialized. -.SH NOTES -Note that \fBinitscr\fR and \fBnewterm\fR may be macros. -.SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4. It -specifies that portable applications must not call \fBinitscr\fR more than -once. -.PP -Old versions of curses, e.g., BSD 4.4, may have returned a null pointer -from \fBinitscr\fR when an error is detected, rather than exiting. -It is safe but redundant to check the return value of \fBinitscr\fR -in XSI Curses. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_kernel\fR(3X), \fBcurs_refresh\fR(3X), -\fBcurs_slk\fR(3X), \fBcurs_util\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_inopts.3x b/src/libs/ncurses/man/curs_inopts.3x deleted file mode 100644 index 7b5a17b8f1..0000000000 --- a/src/libs/ncurses/man/curs_inopts.3x +++ /dev/null @@ -1,242 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_inopts.3x,v 1.13 2005/05/15 16:18:07 tom Exp $ -.TH curs_inopts 3X "" -.na -.hy 0 -.SH NAME -\fBcbreak\fR, -\fBnocbreak\fR, -\fBecho\fR, -\fBnoecho\fR, -\fBhalfdelay\fR, -\fBintrflush\fR, -\fBkeypad\fR, -\fBmeta\fR, -\fBnodelay\fR, -\fBnotimeout\fR, -\fBraw\fR, -\fBnoraw\fR, -\fBnoqiflush\fR, -\fBqiflush\fR, -\fBtimeout\fR, -\fBwtimeout\fR, -\fBtypeahead\fR - \fBcurses\fR input options -.ad -.hy -.SH SYNOPSIS -\fB#include \fR -.PP -\fBint cbreak(void);\fR -.br -\fBint nocbreak(void);\fR -.br -\fBint echo(void);\fR -.br -\fBint noecho(void);\fR -.br -\fBint halfdelay(int tenths);\fR -.br -\fBint intrflush(WINDOW *win, bool bf);\fR -.br -\fBint keypad(WINDOW *win, bool bf);\fR -.br -\fBint meta(WINDOW *win, bool bf);\fR -.br -\fBint nodelay(WINDOW *win, bool bf);\fR -.br -\fBint raw(void);\fR -.br -\fBint noraw(void);\fR -.br -\fBvoid noqiflush(void);\fR -.br -\fBvoid qiflush(void);\fR -.br -\fBint notimeout(WINDOW *win, bool bf);\fR -.br -\fBvoid timeout(int delay);\fR -.br -\fBvoid wtimeout(WINDOW *win, int delay);\fR -.br -\fBint typeahead(int fd);\fR -.br -.SH DESCRIPTION -Normally, the tty driver buffers typed characters until a newline or carriage -return is typed. The \fBcbreak\fR routine disables line buffering and -erase/kill character-processing (interrupt and flow control characters are -unaffected), making characters typed by the user immediately available to the -program. The \fBnocbreak\fR routine returns the terminal to normal (cooked) -mode. -.PP -Initially the terminal may or may not be in \fBcbreak\fR mode, as the mode is -inherited; therefore, a program should call \fBcbreak\fR or \fBnocbreak\fR -explicitly. Most interactive programs using \fBcurses\fR set the \fBcbreak\fR -mode. Note that \fBcbreak\fR overrides \fBraw\fR. -[See \fBcurs_getch\fR(3X) for a -discussion of how these routines interact with \fBecho\fR and \fBnoecho\fR.] -.PP -The \fBecho\fR and \fBnoecho\fR routines control whether characters typed by -the user are echoed by \fBgetch\fR as they are typed. Echoing by the tty -driver is always disabled, but initially \fBgetch\fR is in echo mode, so -characters typed are echoed. Authors of most interactive programs prefer to do -their own echoing in a controlled area of the screen, or not to echo at all, so -they disable echoing by calling \fBnoecho\fR. -[See \fBcurs_getch\fR(3X) for a -discussion of how these routines interact with \fBcbreak\fR and -\fBnocbreak\fR.] -.PP -The \fBhalfdelay\fR routine is used for half-delay mode, which is similar to -\fBcbreak\fR mode in that characters typed by the user are immediately -available to the program. However, after blocking for \fItenths\fR tenths of -seconds, ERR is returned if nothing has been typed. The value of \fBtenths\fR -must be a number between 1 and 255. Use \fBnocbreak\fR to leave half-delay -mode. -.PP -If the \fBintrflush\fR option is enabled, (\fIbf\fR is \fBTRUE\fR), when an -interrupt key is pressed on the keyboard (interrupt, break, quit) all output in -the tty driver queue will be flushed, giving the effect of faster response to -the interrupt, but causing \fBcurses\fR to have the wrong idea of what is on -the screen. Disabling (\fIbf\fR is \fBFALSE\fR), the option prevents the -flush. The default for the option is inherited from the tty driver settings. -The window argument is ignored. -.PP -The \fBkeypad\fR option enables the keypad of the user's terminal. If -enabled (\fIbf\fR is \fBTRUE\fR), the user can press a function key -(such as an arrow key) and \fBwgetch\fR returns a single value -representing the function key, as in \fBKEY_LEFT\fR. If disabled -(\fIbf\fR is \fBFALSE\fR), \fBcurses\fR does not treat function keys -specially and the program has to interpret the escape sequences -itself. If the keypad in the terminal can be turned on (made to -transmit) and off (made to work locally), turning on this option -causes the terminal keypad to be turned on when \fBwgetch\fR is -called. The default value for keypad is false. -.PP -Initially, whether the terminal returns 7 or 8 significant bits on -input depends on the control mode of the tty driver [see termio(7)]. -To force 8 bits to be returned, invoke \fBmeta\fR(\fIwin\fR, -\fBTRUE\fR); this is equivalent, under POSIX, to setting the CS8 flag -on the terminal. To force 7 bits to be returned, invoke -\fBmeta\fR(\fIwin\fR, \fBFALSE\fR); this is equivalent, under POSIX, -to setting the CS7 flag on the terminal. The window argument, -\fIwin\fR, is always ignored. If the terminfo capabilities \fBsmm\fR -(meta_on) and \fBrmm\fR (meta_off) are defined for the terminal, -\fBsmm\fR is sent to the terminal when \fBmeta\fR(\fIwin\fR, -\fBTRUE\fR) is called and \fBrmm\fR is sent when \fBmeta\fR(\fIwin\fR, -\fBFALSE\fR) is called. -.PP -The \fBnodelay\fR option causes \fBgetch\fR to be a non-blocking call. -If no input is ready, \fBgetch\fR returns \fBERR\fR. If disabled -(\fIbf\fR is \fBFALSE\fR), \fBgetch\fR waits until a key is pressed. -.PP -While interpreting an input escape sequence, \fBwgetch\fR sets a timer -while waiting for the next character. If \fBnotimeout(\fR\fIwin\fR, -\fBTRUE\fR) is called, then \fBwgetch\fR does not set a timer. The -purpose of the timeout is to differentiate between sequences received -from a function key and those typed by a user. -.PP -The \fBraw\fR and \fBnoraw\fR routines place the terminal into or out of raw -mode. Raw mode is similar to \fBcbreak\fR mode, in that characters typed are -immediately passed through to the user program. The differences are that in -raw mode, the interrupt, quit, suspend, and flow control characters are all -passed through uninterpreted, instead of generating a signal. The behavior of -the BREAK key depends on other bits in the tty driver that are not set by -\fBcurses\fR. -.PP -When the \fBnoqiflush\fR routine is used, normal flush of input and -output queues associated with the \fBINTR\fR, \fBQUIT\fR and -\fBSUSP\fR characters will not be done [see termio(7)]. When -\fBqiflush\fR is called, the queues will be flushed when these control -characters are read. You may want to call \fBnoqiflush()\fR in a signal -handler if you want output to continue as though the interrupt -had not occurred, after the handler exits. -.PP -The \fBtimeout\fR and \fBwtimeout\fR routines set blocking or -non-blocking read for a given window. If \fIdelay\fR is negative, -blocking read is used (i.e., waits indefinitely for -input). If \fIdelay\fR is zero, then non-blocking read is used -(i.e., read returns \fBERR\fR if no input is waiting). If -\fIdelay\fR is positive, then read blocks for \fIdelay\fR -milliseconds, and returns \fBERR\fR if there is still no input. -Hence, these routines provide the same functionality as \fBnodelay\fR, -plus the additional capability of being able to block for only -\fIdelay\fR milliseconds (where \fIdelay\fR is positive). -.PP -The \fBcurses\fR library does ``line-breakout optimization'' by looking for -typeahead periodically while updating the screen. If input is found, -and it is coming from a tty, the current update is postponed until -\fBrefresh\fR or \fBdoupdate\fR is called again. This allows faster -response to commands typed in advance. Normally, the input FILE -pointer passed to \fBnewterm\fR, or \fBstdin\fR in the case that -\fBinitscr\fR was used, will be used to do this typeahead checking. -The \fBtypeahead\fR routine specifies that the file descriptor -\fIfd\fR is to be used to check for typeahead instead. If \fIfd\fR is --1, then no typeahead checking is done. -.SH RETURN VALUE -All routines that return an integer return \fBERR\fR upon failure and OK (SVr4 -specifies only "an integer value other than \fBERR\fR") upon successful -completion, unless otherwise noted in the preceding routine descriptions. -.PP -X/Open does not define any error conditions. -In this implementation, -functions with a window parameter will return an error if it is null. -Any function will also return an error if the terminal was not initialized. -Also, -.RS -.TP 5 -\fBhalfdelay\fP -returns an error -if its parameter is outside the range 1..255. -.RE -.SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4. -.PP -The ncurses library obeys the XPG4 standard and the historical practice of the -AT&T curses implementations, in that the echo bit is cleared when curses -initializes the terminal state. BSD curses differed from this slightly; it -left the echo bit on at initialization, but the BSD \fBraw\fR call turned it -off as a side-effect. For best portability, set echo or noecho explicitly -just after initialization, even if your program remains in cooked mode. -.SH NOTES -Note that \fBecho\fR, \fBnoecho\fR, \fBhalfdelay\fR, \fBintrflush\fR, -\fBmeta\fR, \fBnodelay\fR, \fBnotimeout\fR, \fBnoqiflush\fR, -\fBqiflush\fR, \fBtimeout\fR, and \fBwtimeout\fR may be macros. -.PP -The \fBnoraw\fR and \fBnocbreak\fR calls follow historical practice in that -they attempt to restore to normal (`cooked') mode from raw and cbreak modes -respectively. Mixing raw/noraw and cbreak/nocbreak calls leads to tty driver -control states that are hard to predict or understand; it is not recommended. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_getch\fR(3X), \fBcurs_initscr\fR(3X), \fBtermio\fR(7) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_ins_wch.3x b/src/libs/ncurses/man/curs_ins_wch.3x deleted file mode 100644 index 23cf099957..0000000000 --- a/src/libs/ncurses/man/curs_ins_wch.3x +++ /dev/null @@ -1,65 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 2002 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_ins_wch.3x,v 1.2 2002/03/10 23:43:27 tom Exp $ -.TH curs_ins_wch 3X "" -.SH NAME -\fBins_wch\fR, -\fBmvins_wch\fR, -\fBmvwins_wch\fR, -\fBwins_wch\fR \- insert a complex character and rendition into a window -.SH SYNOPSIS -#include - -\fBint ins_wch(const cchar_t *\fR\fIwch\fR\fB);\fR -.br -\fBint wins_wch(WINDOW *\fR\fIwin, const cchar_t *\fR\fIwch\fR\fB);\fR -.br -\fBint mvins_wch(int \fR\fIy, int \fR\fIx, const cchar_t *\fR\fIwch\fR\fB);\fR -.br -\fBint mvwins_wch(WINDOW *\fR\fIwin, int \fR\fIy, int \fR\fIx, const cchar_t *\fR\fIwch\fR\fB);\fR -.SH DESCRIPTION -These routines, insert the complex character \fIwch\fR with rendition -before the character under the cursor. -All characters to the right of the cursor are moved one space to the right, -with the possibility of the rightmost character on the line being lost. -The insertion operation does not change the cursor position. -.SH RETURN VALUE -If successful, these functions return OK. -If not, they return ERR. -.SH ERRORS -No errors are defined. -.SH SEE ALSO -\fBcurses\fR(3X), -\fBcurs_insch\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_ins_wstr.3x b/src/libs/ncurses/man/curs_ins_wstr.3x deleted file mode 100644 index 0c153c4c67..0000000000 --- a/src/libs/ncurses/man/curs_ins_wstr.3x +++ /dev/null @@ -1,108 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 2002,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_ins_wstr.3x,v 1.4 2005/05/15 17:02:54 tom Exp $ -.TH curs_ins_wstr 3X "" -.na -.hy 0 -.SH NAME -\fBins_wstr\fR, -\fBins_nwstr\fR, -\fBwins_wstr\fR, -\fBwins_nwstr\fR, -\fBmvins_wstr\fR, -\fBmvins_nwstr\fR, -\fBmvwins_wstr\fR, -\fBmvwins_nwstr\fR \- insert a wide-character string into a curses window -.ad -.hy -.SH SYNOPSIS -.nf -\fB#include \fR -.sp -\fBint ins_wstr(const wchar_t *\fR\fIwstr);\fR -.br -\fBint ins_nwstr(const wchar_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint wins_wstr(WINDOW *\fR\fIwin\fR\fB, const wchar_t *\fR\fIwstr\fR\fB);\fR -.br -\fBint wins_nwstr(WINDOW *\fR\fIwin\fR\fB, const wchar_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint mvins_wstr(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const wchar_t *\fR\fIwstr\fR\fB);\fR -.br -\fBint mvins_nwstr(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const wchar_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint mvwins_wstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const wchar_t *\fR\fIwstr\fR\fB);\fR -.br -\fBint mvwins_nwstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const wchar_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR -.fi -.SH DESCRIPTION -These routines insert a \fBwchar_t\fR character string -(as many characters as will fit on the line) -before the character under the cursor. -All characters to the right of the cursor are shifted right, -with the possibility of the rightmost characters on the line being lost. -No wrapping is performed. -The cursor position does not change -(after moving to \fIy\fR, \fIx\fR, if specified). -The four routines with \fIn\fR as the last argument -insert a leading substring of at most \fIn\fR \fBwchar_t\fR characters. -If \fIn\fR is less than 1, the entire string is inserted. -.PP -If a character in \fIwstr\fR is a tab, newline, carriage return or -backspace, the cursor is moved appropriately within the window. -A newline also does a \fBclrtoeol\fR before moving. -Tabs are considered to be at every eighth column. -If a character in \fIwstr\fR is another control character, -it is drawn in the \fB^\fR\fIX\fR notation. -Calling \fBwin_wch\fR after adding a control character -(and moving to it, if necessary) -does not return the control character, -but instead returns a character in the ^-representation -of the control character. -.SH NOTES -Note that all but wins_nwstr may be macros. -.PP -If the first character in the string is a nonspacing character, these -functions will fail. -XSI does not define what will happen if a nonspacing character follows -a control character. -.SH RETURN VALUES -Upon successful completion, these functions return OK. -Otherwise, they return ERR. -.SH SEE ALSO -\fBcurses\fR(3X), -\fBcurs_insstr\fR(3X), -\fBcurs_in_wch\fR(3X), -\fBcurs_ins_wch\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_insch.3x b/src/libs/ncurses/man/curs_insch.3x deleted file mode 100644 index 44eaa1ecaf..0000000000 --- a/src/libs/ncurses/man/curs_insch.3x +++ /dev/null @@ -1,70 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_insch.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $ -.TH curs_insch 3X "" -.SH NAME -\fBinsch\fR, -\fBwinsch\fR, -\fBmvinsch\fR, -\fBmvwinsch\fR - insert a character before cursor in a \fBcurses\fR window -.SH SYNOPSIS -\fB#include \fR - -\fBint insch(chtype ch);\fR -.br -\fBint winsch(WINDOW *win, chtype ch);\fR -.br -\fBint mvinsch(int y, int x, chtype ch);\fR -.br -\fBint mvwinsch(WINDOW *win, int y, int x, chtype ch);\fR -.br -.SH DESCRIPTION -These routines insert the character \fIch\fR before the character under the -cursor. All characters to the right of the cursor are moved one space to the -right, with the possibility of the rightmost character on the line being lost. -The insertion operation does not change the cursor position. -.SH RETURN VALUE -All routines that return an integer return \fBERR\fR upon failure and OK (SVr4 -specifies only "an integer value other than \fBERR\fR") upon successful -completion, unless otherwise noted in the preceding routine descriptions. -.SH NOTES -These routines do not necessarily imply use of a hardware insert character -feature. - -Note that \fBinsch\fR, \fBmvinsch\fR, and \fBmvwinsch\fR may be macros. -.SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4. -.SH SEE ALSO -\fBcurses\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_insstr.3x b/src/libs/ncurses/man/curs_insstr.3x deleted file mode 100644 index 4166fc308e..0000000000 --- a/src/libs/ncurses/man/curs_insstr.3x +++ /dev/null @@ -1,101 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_insstr.3x,v 1.16 2005/05/15 17:48:33 tom Exp $ -.TH curs_insstr 3X "" -.SH NAME -\fBinsstr\fR, -\fBinsnstr\fR, -\fBwinsstr\fR, -\fBwinsnstr\fR, -\fBmvinsstr\fR, -\fBmvinsnstr\fR, -\fBmvwinsstr\fR, -\fBmvwinsnstr\fR - insert string before cursor in a \fBcurses\fR window -.SH SYNOPSIS -\fB#include \fR -.br -\fBint insstr(const char *str);\fR -.br -\fBint insnstr(const char *str, int n);\fR -.br -\fBint winsstr(WINDOW *win, const char *str);\fR -.br -\fBint winsnstr(WINDOW *win, const char *str, int n);\fR -.br -\fBint mvinsstr(int y, int x, const char *str);\fR -.br -\fBint mvinsnstr(int y, int x, const char *str, int n);\fR -.br -\fBint mvwinsstr(WINDOW *win, int y, int x, const char *str);\fR -.br -\fBint mvwinsnstr(WINDOW *win, int y, int x, const char *str, int n);\fR -.br -.SH DESCRIPTION -These routines insert a character string -(as many characters as will fit on the line) -before the character under the cursor. -All characters to the right of the cursor are shifted right -with the possibility of the rightmost characters on the line being lost. -The cursor position does not change -(after moving to \fIy\fR, \fIx\fR, if specified). -The functions with \fIn\fR as the last argument -insert a leading substring of at most \fIn\fR characters. -If \fIn\fR<=0, then the entire string is inserted. - -Special characters are handled as in \fBaddch\fP. -.SH RETURN VALUE -All routines that return an integer return \fBERR\fR upon failure and OK (SVr4 -specifies only "an integer value other than \fBERR\fR") upon successful -completion, unless otherwise noted in the preceding routine descriptions. -.PP -X/Open defines no error conditions. -In this implementation, -if the window parameter is null or the str parameter is null, -an error is returned. -.SH NOTES -Note that all but \fBwinsnstr\fR may be macros. -.SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4, which adds -const qualifiers to the arguments. -.LP -The Single Unix Specification, Version 2 states that -\fBinsnstr\fP and \fBwinsnstr\fP perform wrapping. -This is probably an error, since it makes this group of functions inconsistent. -Also, no implementation of curses documents this inconsistency. -.SH SEE ALSO -\fBcurses\fR(3X), -\fBunctrl\fR(3X), -\fBcurs_clear\fR(3X), -\fBcurs_inch\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_instr.3x b/src/libs/ncurses/man/curs_instr.3x deleted file mode 100644 index 38205a6660..0000000000 --- a/src/libs/ncurses/man/curs_instr.3x +++ /dev/null @@ -1,90 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998,2001,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_instr.3x,v 1.12 2005/05/15 17:48:23 tom Exp $ -.TH curs_instr 3X "" -.SH NAME -\fBinstr\fR, -\fBinnstr\fR, -\fBwinstr\fR, -\fBwinnstr\fR, -\fBmvinstr\fR, -\fBmvinnstr\fR, -\fBmvwinstr\fR, -\fBmvwinnstr\fR - get a string of characters from a \fBcurses\fR window -.SH SYNOPSIS -\fB#include \fR - -\fBint instr(char *str);\fR -.br -\fBint innstr(char *str, int n);\fR -.br -\fBint winstr(WINDOW *win, char *str);\fR -.br -\fBint winnstr(WINDOW *win, char *str, int n);\fR -.br -\fBint mvinstr(int y, int x, char *str);\fR -.br -\fBint mvinnstr(int y, int x, char *str, int n);\fR -.br -\fBint mvwinstr(WINDOW *win, int y, int x, char *str);\fR -.br -\fBint mvwinnstr(WINDOW *win, int y, int x, char *str, int n);\fR -.br -.SH DESCRIPTION -These routines return a string of characters in \fIstr\fR, extracted starting -at the current cursor position in the named window. -Attributes are stripped from the characters. The four -functions with \fIn\fR as the last argument return a leading substring at most -\fIn\fR characters long (exclusive of the trailing NUL). -.SH RETURN VALUE -All of the functions return \fBERR\fR upon failure, -or the number of characters actually read into the string. -.PP -X/Open defines no error conditions. -In this implementation, -if the window parameter is null or the str parameter is null, -a zero is returned. -.SH NOTES -Note that all routines except \fBwinnstr\fR may be macros. -.SH PORTABILITY -SVr4 does not -document whether a length limit includes or excludes the trailing NUL. -.PP -The ncurses library extends the XSI description by allowing a negative -value for \fIn\fR. -In this case, the functions return the string ending at the right margin. -.SH SEE ALSO -\fBcurses\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: - diff --git a/src/libs/ncurses/man/curs_inwstr.3x b/src/libs/ncurses/man/curs_inwstr.3x deleted file mode 100644 index d53908b333..0000000000 --- a/src/libs/ncurses/man/curs_inwstr.3x +++ /dev/null @@ -1,94 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 2002-2004,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_inwstr.3x,v 1.4 2005/06/25 18:31:26 Daniel.Jacobowitz Exp $ -.TH curs_inwstr 3X "" -.SH NAME -\fBinwstr\fR, -\fBinnwstr\fR, -\fBwinwstr\fR, -\fBwinnwstr\fR, -\fBmvinwstr\fR, -\fBmvinnwstr\fR, -\fBmvwinwstr\fR, -\fBmvwinnwstr\fR \- get a string of \fBwchar_t\fR characters from a curses window -.SH SYNOPSIS -.nf -\fB#include \fR - -\fBint inwstr(\fR\fBwchar_t *\fR\fIstr\fR\fB);\fR -.br -\fBint innwstr(\fR\fBwchar_t *\fR\fIstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint winwstr(\fR\fBWINDOW *\fR\fIwin\fR\fB, wchar_t *\fR\fIstr\fR\fB);\fR -.br -\fBint winnwstr(\fR\fBWINDOW *\fR\fIwin\fR\fB, wchar_t *\fR\fIstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint mvinwstr(\fR\fBint \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wchar_t *\fR\fIstr\fR\fB);\fR -.br -\fBint mvinnwstr(\fR\fBint \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wchar_t *\fR\fIstr\fR\fB, int \fR\fIn\fR\fB);\fR -.br -\fBint mvwinwstr(\fR\fBWINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wchar_t *\fR\fIstr\fR\fB);\fR -.br -\fBint mvwinnwstr(\fR\fBWINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wchar_t *\fR\fIstr\fR\fB, int \fR\fIn\fR\fB);\fR -.fi -.SH DESCRIPTION -These routines return a string of \fBwchar_t\fR characters in \fIwstr\fR, -extracted starting at the current cursor position in the named window. -Attributes are stripped from the characters. -The four functions with \fIn\fR as the last argument return a leading substring at most -\fIn\fR bytes long (exclusive of the trailing NUL). -Transfer stops at the end of the current line, or when \fIn\fR bytes have -been stored at the location referenced by \fIwstr\fR. -.PP -If the size \fIn\fR is not large enough to store a complete character, -an error is generated. -.SH NOTES -Note that all routines except -\fBwinnwstr\fR -may be macros. -.SH RETURN VALUES -All routines return -\fBERR\fR -upon failure. Upon -successful completion, the *\fBinwstr\fR -routines return -\fBOK\fR, and the *\fBinnwstr\fR -routines return the -number of characters read into the string. -.SH SEE ALSO -Functions: -\fBcurses\fR(3X), -\fBcurs_instr\fR(3X), -\fBcurs_in_wchstr\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_kernel.3x b/src/libs/ncurses/man/curs_kernel.3x deleted file mode 100644 index 9403973840..0000000000 --- a/src/libs/ncurses/man/curs_kernel.3x +++ /dev/null @@ -1,186 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2001,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_kernel.3x,v 1.15 2005/05/15 16:18:13 tom Exp $ -.TH curs_kernel 3X "" -.na -.hy 0 -.SH NAME -\fBdef_prog_mode\fR, -\fBdef_shell_mode\fR, -\fBreset_prog_mode\fR, -\fBreset_shell_mode\fR, -\fBresetty\fR, -\fBsavetty\fR, -\fBgetsyx\fR, -\fBsetsyx\fR, -\fBripoffline\fR, -\fBcurs_set\fR, -\fBnapms\fR - low-level \fBcurses\fR routines -.ad -.hy -.SH SYNOPSIS -\fB#include \fR -.sp -\fBint def_prog_mode(void);\fR -.br -\fBint def_shell_mode(void);\fR -.br -\fBint reset_prog_mode(void);\fR -.br -\fBint reset_shell_mode(void);\fR -.br -\fBint resetty(void);\fR -.br -\fBint savetty(void);\fR -.br -\fBvoid getsyx(int y, int x);\fR -.br -\fBvoid setsyx(int y, int x);\fR -.br -\fBint ripoffline(int line, int (*init)(WINDOW *, int));\fR -.br -\fBint curs_set(int visibility);\fR -.br -\fBint napms(int ms);\fR -.br -.SH DESCRIPTION -The following routines give low-level access to various \fBcurses\fR -capabilities. Theses routines typically are used inside library -routines. -.PP -The \fBdef_prog_mode\fR and \fBdef_shell_mode\fR routines save the -current terminal modes as the "program" (in \fBcurses\fR) or "shell" -(not in \fBcurses\fR) state for use by the \fBreset_prog_mode\fR and -\fBreset_shell_mode\fR routines. This is done automatically by -\fBinitscr\fR. There is one such save area for each screen context -allocated by \fBnewterm()\fR. -.PP -The \fBreset_prog_mode\fR and \fBreset_shell_mode\fR routines restore -the terminal to "program" (in \fBcurses\fR) or "shell" (out of -\fBcurses\fR) state. These are done automatically by \fBendwin\fR -and, after an \fBendwin\fR, by \fBdoupdate\fR, so they normally are -not called. -.PP -The \fBresetty\fR and \fBsavetty\fR routines save and restore the -state of the terminal modes. \fBsavetty\fR saves the current state in -a buffer and \fBresetty\fR restores the state to what it was at the -last call to \fBsavetty\fR. -.PP -The \fBgetsyx\fR routine returns the current coordinates of the virtual screen -cursor in \fIy\fR and \fIx\fR. If \fBleaveok\fR is currently \fBTRUE\fR, then -\fB-1\fR,\fB-1\fR is returned. If lines have been removed from the top of the -screen, using \fBripoffline\fR, \fIy\fR and \fIx\fR include these lines; -therefore, \fIy\fR and \fIx\fR should be used only as arguments for -\fBsetsyx\fR. -.PP -The \fBsetsyx\fR routine sets the virtual screen cursor to -\fIy\fR, \fIx\fR. If \fIy\fR and \fIx\fR are both \fB-1\fR, then -\fBleaveok\fR is set. The two routines \fBgetsyx\fR and \fBsetsyx\fR -are designed to be used by a library routine, which manipulates -\fBcurses\fR windows but does not want to change the current position -of the program's cursor. The library routine would call \fBgetsyx\fR -at the beginning, do its manipulation of its own windows, do a -\fBwnoutrefresh\fR on its windows, call \fBsetsyx\fR, and then call -\fBdoupdate\fR. -.PP -The \fBripoffline\fR routine provides access to the same facility that -\fBslk_init\fR [see \fBcurs_slk\fR(3X)] uses to reduce the size of the -screen. \fBripoffline\fR must be called before \fBinitscr\fR or -\fBnewterm\fR is called. If \fIline\fR is positive, a line is removed -from the top of \fBstdscr\fR; if \fIline\fR is negative, a line is -removed from the bottom. When this is done inside \fBinitscr\fR, the -routine \fBinit\fR (supplied by the user) is called with two -arguments: a window pointer to the one-line window that has been -allocated and an integer with the number of columns in the window. -Inside this initialization routine, the integer variables \fBLINES\fR -and \fBCOLS\fR (defined in \fB\fR) are not guaranteed to be -accurate and \fBwrefresh\fR or \fBdoupdate\fR must not be called. It -is allowable to call \fBwnoutrefresh\fR during the initialization -routine. -.PP -\fBripoffline\fR can be called up to five times before calling \fBinitscr\fR or -\fBnewterm\fR. -.PP -The \fBcurs_set\fR routine sets the cursor state is set to invisible, -normal, or very visible for \fBvisibility\fR equal to \fB0\fR, -\fB1\fR, or \fB2\fR respectively. If the terminal supports the -\fIvisibility\fR requested, the previous \fIcursor\fR state is -returned; otherwise, \fBERR\fR is returned. -.PP -The \fBnapms\fR routine is used to sleep for \fIms\fR milliseconds. -.SH RETURN VALUE -Except for \fBcurs_set\fR, these routines always return \fBOK\fR. -.PP -\fBcurs_set\fR -returns the previous cursor state, or \fBERR\fR if the -requested \fIvisibility\fR is not supported. -.PP -X/Open defines no error conditions. -In this implementation -.RS -.TP 5 -\fBdef_prog_mode\fR, \fBdef_shell_mode\fR, \fBreset_prog_mode\fR, \fBreset_shell_mode\fR -return an error -if the terminal was not initialized, or -if the I/O call to obtain the terminal settings fails. -.TP 5 -\fBripoffline\fP -returns an error if the maximum number of ripped-off lines -exceeds the maximum (NRIPS = 5). -.RE -.SH NOTES -Note that \fBgetsyx\fR is a macro, so \fB&\fR is not necessary before -the variables \fIy\fR and \fIx\fR. -.PP -Older SVr4 man pages warn that the return value of \fBcurs_set\fR "is currently -incorrect". This implementation gets it right, but it may be unwise to count -on the correctness of the return value anywhere else. -.PP -Both ncurses and SVr4 will call \fBcurs_set\fR in \fBendwin\fR -if \fBcurs_set\fR -has been called to make the cursor other than normal, i.e., either -invisible or very visible. -There is no way for ncurses to determine the initial cursor state to -restore that. -.SH PORTABILITY -The functions \fBsetsyx\fR and \fBgetsyx\fR are not described in the XSI -Curses standard, Issue 4. All other functions are as described in XSI Curses. -.PP -The SVr4 documentation describes \fBsetsyx\fR and \fBgetsyx\fR as having return -type int. This is misleading, as they are macros with no documented semantics -for the return value. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_outopts\fR(3X), \fBcurs_refresh\fR(3X), -\fBcurs_scr_dump\fR(3X), \fBcurs_slk\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_mouse.3x b/src/libs/ncurses/man/curs_mouse.3x deleted file mode 100644 index 865fab1ad8..0000000000 --- a/src/libs/ncurses/man/curs_mouse.3x +++ /dev/null @@ -1,300 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_mouse.3x,v 1.28 2005/05/15 16:18:19 tom Exp $ -.TH curs_mouse 3X "" -.na -.hy 0 -.SH NAME -\fBgetmouse\fR, \fBungetmouse\fR, -\fBmousemask\fR, \fBwenclose\fR, -\fBmouse_trafo\fR, \fBwmouse_trafo\fR, -\fBmouseinterval\fR - mouse interface through curses -.ad -.hy -.SH SYNOPSIS -.nf -\fB#include -.PP -\fBtypedef unsigned long mmask_t; -.PP -typedef struct -{ - short id; \fI/* ID to distinguish multiple devices */\fB - int x, y, z; \fI/* event coordinates */\fB - mmask_t bstate; \fI/* button state bits */\fB -} -MEVENT;\fR -.fi -.br -\fBint getmouse(MEVENT *event);\fR -.br -\fBint ungetmouse(MEVENT *event);\fR -.br -\fBmmask_t mousemask(mmask_t newmask, mmask_t *oldmask);\fR -.br -\fBbool wenclose(const WINDOW *win, int y, int x);\fR -.br -\fBbool mouse_trafo(int* pY, int* pX, bool to_screen);\fR -.br -\fBbool wmouse_trafo(const WINDOW* win, int* pY, int* pX,\fR -.br - \fBbool to_screen);\fR -.br -\fBint mouseinterval(int erval);\fR -.br -.SH DESCRIPTION -These functions provide an interface to mouse events from -\fBncurses\fR(3X). -Mouse events are represented by \fBKEY_MOUSE\fR -pseudo-key values in the \fBwgetch\fR input stream. -.PP -To make mouse events visible, use the \fBmousemask\fR function. -This will set -the mouse events to be reported. -By default, no mouse events are reported. -The function will return a mask to indicate which of the specified mouse events -can be reported; on complete failure it returns 0. -If oldmask is non-NULL, -this function fills the indicated location with the previous value of the given -window's mouse event mask. -.PP -As a side effect, setting a zero mousemask may turn off the mouse pointer; -setting a nonzero mask may turn it on. -Whether this happens is device-dependent. -.PP -Here are the mouse event type masks which may be defined: -.PP -.TS -l l -_ _ -l l. -\fIName\fR \fIDescription\fR -BUTTON1_PRESSED mouse button 1 down -BUTTON1_RELEASED mouse button 1 up -BUTTON1_CLICKED mouse button 1 clicked -BUTTON1_DOUBLE_CLICKED mouse button 1 double clicked -BUTTON1_TRIPLE_CLICKED mouse button 1 triple clicked -_ -BUTTON2_PRESSED mouse button 2 down -BUTTON2_RELEASED mouse button 2 up -BUTTON2_CLICKED mouse button 2 clicked -BUTTON2_DOUBLE_CLICKED mouse button 2 double clicked -BUTTON2_TRIPLE_CLICKED mouse button 2 triple clicked -_ -BUTTON3_PRESSED mouse button 3 down -BUTTON3_RELEASED mouse button 3 up -BUTTON3_CLICKED mouse button 3 clicked -BUTTON3_DOUBLE_CLICKED mouse button 3 double clicked -BUTTON3_TRIPLE_CLICKED mouse button 3 triple clicked -_ -BUTTON4_PRESSED mouse button 4 down -BUTTON4_RELEASED mouse button 4 up -BUTTON4_CLICKED mouse button 4 clicked -BUTTON4_DOUBLE_CLICKED mouse button 4 double clicked -BUTTON4_TRIPLE_CLICKED mouse button 4 triple clicked -_ -BUTTON5_PRESSED mouse button 5 down -BUTTON5_RELEASED mouse button 5 up -BUTTON5_CLICKED mouse button 5 clicked -BUTTON5_DOUBLE_CLICKED mouse button 5 double clicked -BUTTON5_TRIPLE_CLICKED mouse button 5 triple clicked -_ -BUTTON_SHIFT shift was down during button state change -BUTTON_CTRL control was down during button state change -BUTTON_ALT alt was down during button state change -ALL_MOUSE_EVENTS report all button state changes -REPORT_MOUSE_POSITION report mouse movement -_ -.TE -.PP -Once a class of mouse events have been made visible in a window, -calling the \fBwgetch\fR function on that window may return -\fBKEY_MOUSE\fR as an indicator that a mouse event has been queued. -To read the event data and pop the event off the queue, call -\fBgetmouse\fR. -This function will return \fBOK\fR if a mouse event -is actually visible in the given window, \fBERR\fR otherwise. -When \fBgetmouse\fR returns \fBOK\fR, the data deposited as y and -x in the event structure coordinates will be screen-relative character-cell -coordinates. -The returned state mask will have exactly one bit set to -indicate the event type. -.PP -The \fBungetmouse\fR function behaves analogously to \fBungetch\fR. -It pushes -a \fBKEY_MOUSE\fR event onto the input queue, and associates with that event -the given state data and screen-relative character-cell coordinates. -.PP -The \fBwenclose\fR function tests whether a given pair of screen-relative -character-cell coordinates is enclosed by a given window, returning TRUE -if it is and FALSE otherwise. -It is useful for determining what subset of -the screen windows enclose the location of a mouse event. -.PP -The \fBwmouse_trafo\fR function transforms a given pair of coordinates from -stdscr-relative coordinates to screen-relative coordinates or vice versa. -Please remember, that stdscr-relative coordinates are not always identical -to screen-relative coordinates due to the mechanism to reserve lines on top -or bottom of the screen for other purposes (ripoff() call, see also slk_... -functions). -If the parameter \fBto_screen\fR is \fBTRUE\fR, the pointers -\fBpY, pX\fR must reference the coordinates of a location inside the window -\fBwin\fR. -They are converted to screen-relative coordinates and returned -through the pointers. -If the conversion was successful, the function returns \fBTRUE\fR. -If one of the parameters was NULL or the location is -not inside the window, \fBFALSE\fR is returned. -If \fBto_screen\fR is -\fBFALSE\fR, the pointers \fBpY, pX\fR must reference screen-relative -coordinates. -They are converted to stdscr-relative coordinates if the -window \fBwin\fR encloses this point. -In this case the function returns \fBTRUE\fR. -If one of the parameters is NULL or the point is not inside the -window, \fBFALSE\fR is returned. -Please notice, that the referenced coordinates -are only replaced by the converted coordinates if the transformation was -successful. -.PP -The \fBmouseinterval\fR function sets the maximum time (in thousands of a -second) that can elapse between press and release events for them to -be recognized as a click. -Use \fBmouseinterval(0)\fR to disable click resolution. -This function returns the previous interval value. -Use \fBmouseinterval(-1)\fR to obtain the interval without altering it. -The default is one sixth of a second. -.PP -Note that mouse events will be ignored when input is in cooked mode, and will -cause an error beep when cooked mode is being simulated in a window by a -function such as \fBgetstr\fR that expects a linefeed for input-loop -termination. -.SH RETURN VALUE -\fBgetmouse\fR and \fBungetmouse\fR -return the integer \fBERR\fR upon failure or \fBOK\fR -upon successful completion. -.RS -.TP 5 -\fBgetmouse\fP -returns an error. -If no mouse driver was initialized, or -if the mask parameter is zero, -.TP 5 -\fBungetmouse\fP -returns an error if the FIFO is full. -.RE -.PP -\fBmousemask\fR -returns the mask of reportable events. -.PP -\fBmouseinterval\fR -returns the previous interval value, unless -the terminal was not initialized. -In that case, it returns the maximum interval value (166). -.PP -\fBwenclose\fR and \fBwmouse_trafo\fR -are boolean functions returning \fBTRUE\fR or \fBFALSE\fR depending -on their test result. -.SH PORTABILITY -These calls were designed for \fBncurses\fR(3X), and are not found in SVr4 -curses, 4.4BSD curses, or any other previous version of curses. -.PP -The feature macro \fBNCURSES_MOUSE_VERSION\fR is provided so the preprocessor -can be used to test whether these features are present. -If the interface is changed, the value of \fBNCURSES_MOUSE_VERSION\fR will be -incremented. -These values for \fBNCURSES_MOUSE_VERSION\fR may be -specified when configuring ncurses: -.RS -.TP 3 -1 -has definitions for reserved events. -The mask uses 28 bits. -.TP 3 -2 -adds definitions for button 5, -removes the definitions for reserved events. -The mask uses 29 bits. -.RE -.PP -The order of the \fBMEVENT\fR structure members is not guaranteed. -Additional fields may be added to the structure in the future. -.PP -Under \fBncurses\fR(3X), these calls are implemented using either -xterm's built-in mouse-tracking API or -platform-specific drivers including -.RS -Alessandro Rubini's gpm server. -.br -FreeBSD sysmouse -.br -OS/2 EMX -.RE -If you are using an unsupported configuration, -mouse events will not be visible to -\fBncurses\fR(3X) (and the \fBwmousemask\fR function will always -return \fB0\fR). -.PP -If the terminfo entry contains a \fBXM\fR string, -this is used in the xterm mouse driver to control the -way the terminal is initialized for mouse operation. -The default, if \fBXM\fR is not found, -corresponds to private mode 1000 of xterm: -.RS -\\E[?1000%?%p1%{1}%=%th%el%; -.RE -The z member in the event structure is not presently used. -It is intended -for use with touch screens (which may be pressure-sensitive) or with -3D-mice/trackballs/power gloves. -.SH BUGS -Mouse events under xterm will not in fact be ignored during cooked mode, -if they have been enabled by \fBwmousemask\fR. -Instead, the xterm mouse -report sequence will appear in the string read. -.PP -Mouse events under xterm will not be detected correctly in a window with -its keypad bit off, since they are interpreted as a variety of function key. -Your terminfo description must have \fBkmous\fR set to "\\E[M" (the beginning -of the response from xterm for mouse clicks). -.PP -Because there are no standard terminal responses that would serve to identify -terminals which support the xterm mouse protocol, \fBncurses\fR assumes that -if your $TERM environment variable contains "xterm", -or \fBkmous\fR is defined in -the terminal description, then the terminal may send mouse events. -.SH SEE ALSO -\fBcurses\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_move.3x b/src/libs/ncurses/man/curs_move.3x deleted file mode 100644 index e66e93b222..0000000000 --- a/src/libs/ncurses/man/curs_move.3x +++ /dev/null @@ -1,69 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2001,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_move.3x,v 1.11 2005/05/15 17:36:19 tom Exp $ -.TH curs_move 3X "" -.na -.hy 0 -.SH NAME -\fBmove\fR, -\fBwmove\fR - move \fBcurses\fR window cursor -.ad -.hy -.SH SYNOPSIS -\fB#include \fR - -\fBint move(int y, int x);\fR -.br -\fBint wmove(WINDOW *win, int y, int x);\fR -.br -.SH DESCRIPTION -These routines move the cursor associated with the window to line \fIy\fR and -column \fIx\fR. This routine does not move the physical cursor of the terminal -until \fBrefresh\fR is called. The position specified is relative to the upper -left-hand corner of the window, which is (0,0). -.SH RETURN VALUE -These routines return \fBERR\fR upon failure and OK (SVr4 -specifies only "an integer value other than \fBERR\fR") upon successful -completion. -.PP -Specifically, they return an error -if the window pointer is null, or -if the position is outside the window. -.SH NOTES -Note that \fBmove\fR may be a macro. -.SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_refresh\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_outopts.3x b/src/libs/ncurses/man/curs_outopts.3x deleted file mode 100644 index 5b986bbd67..0000000000 --- a/src/libs/ncurses/man/curs_outopts.3x +++ /dev/null @@ -1,222 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_outopts.3x,v 1.20 2005/05/15 16:18:32 tom Exp $ -.TH curs_outopts 3X "" -.na -.hy 0 -.SH NAME -\fBclearok\fR, -\fBidlok\fR, -\fBidcok\fR, -\fBimmedok\fR, -\fBleaveok\fR, -\fBsetscrreg\fR, -\fBwsetscrreg\fR, -\fBscrollok\fR, -\fBnl\fR, -\fBnonl\fR - \fBcurses\fR output options -.ad -.hy -.SH SYNOPSIS -\fB#include \fR -.sp -\fBint clearok(WINDOW *win, bool bf);\fR -.br -\fBint idlok(WINDOW *win, bool bf);\fR -.br -\fBvoid idcok(WINDOW *win, bool bf);\fR -.br -\fBvoid immedok(WINDOW *win, bool bf);\fR -.br -\fBint leaveok(WINDOW *win, bool bf);\fR -.br -\fBint setscrreg(int top, int bot);\fR -.br -\fBint wsetscrreg(WINDOW *win, int top, int bot);\fR -.br -\fBint scrollok(WINDOW *win, bool bf);\fR -.br -\fBint nl(void);\fR -.br -\fBint nonl(void);\fR -.br -.SH DESCRIPTION -These routines set options that change the style of output within -\fBcurses\fR. -All options are initially \fBFALSE\fR, unless otherwise stated. -It is not necessary to turn these options off before calling \fBendwin\fR. -.PP -If \fBclearok\fR is called with \fBTRUE\fR as argument, the next -call to \fBwrefresh\fR with this window will clear the screen completely and -redraw the entire screen from scratch. -This is useful when the contents of the -screen are uncertain, or in some cases for a more pleasing visual effect. -If -the \fIwin\fR argument to \fBclearok\fR is the global variable \fBcurscr\fR, -the next call to \fBwrefresh\fR with any window causes the screen to be cleared -and repainted from scratch. -.PP -If \fBidlok\fR is called with \fBTRUE\fR as second argument, \fBcurses\fR -considers using the hardware insert/delete line feature of terminals so -equipped. -Calling \fBidlok\fR with \fBFALSE\fR as second argument disables use -of line insertion and deletion. -This option should be enabled only if the -application needs insert/delete line, for example, for a screen editor. -It is -disabled by default because insert/delete line tends to be visually annoying -when used in applications where it isn't really needed. -If insert/delete line -cannot be used, \fBcurses\fR redraws the changed portions of all lines. -.PP -If \fBidcok\fR is called with \fBFALSE\fR as second argument, \fBcurses\fR -no longer considers using the hardware insert/delete character feature of -terminals so equipped. -Use of character insert/delete is enabled by default. -Calling \fBidcok\fR with \fBTRUE\fR as second argument re-enables use -of character insertion and deletion. -.PP -If \fBimmedok\fR is called with \fBTRUE as argument\fR, any change -in the window image, such as the ones caused by \fBwaddch, wclrtobot, wscrl\fR, -etc., automatically cause a call to \fBwrefresh\fR. -However, it may -degrade performance considerably, due to repeated calls to \fBwrefresh\fR. -It is disabled by default. -.PP -Normally, the hardware cursor is left at the location of the window cursor -being refreshed. -The \fBleaveok\fR option allows the cursor to be left -wherever the update happens to leave it. -It is useful for applications where -the cursor is not used, since it reduces the need for cursor motions. -.PP -The \fBsetscrreg\fR and \fBwsetscrreg\fR routines allow the application -programmer to set a software scrolling region in a window. -\fItop\fR and -\fIbot\fR are the line numbers of the top and bottom margin of the scrolling -region. -(Line 0 is the top line of the window.) If this option and -\fBscrollok\fR are enabled, an attempt to move off the bottom margin line -causes all lines in the scrolling region to scroll one line in the direction -of the first line. -Only the text of the window is scrolled. -(Note that this -has nothing to do with the use of a physical scrolling region capability in the -terminal, like that in the VT100. -If \fBidlok\fR is enabled and the terminal -has either a scrolling region or insert/delete line capability, they will -probably be used by the output routines.) -.PP -The \fBscrollok\fR option controls what happens when the cursor of a window is -moved off the edge of the window or scrolling region, either as a result of a -newline action on the bottom line, or typing the last character of the last -line. -If disabled, (\fIbf\fR is \fBFALSE\fR), the cursor is left on the bottom -line. -If enabled, (\fIbf\fR is \fBTRUE\fR), the window is scrolled up one line -(Note that to get the physical scrolling effect on the terminal, it is -also necessary to call \fBidlok\fR). -.PP -The \fBnl\fR and \fBnonl\fR routines control whether the underlying display -device translates the return key into newline on input, and whether it -translates newline into return and line-feed on output (in either case, the -call \fBaddch('\\n')\fR does the equivalent of return and line feed on the -virtual screen). -Initially, these translations do occur. -If you disable them -using \fBnonl\fR, \fBcurses\fR will be able to make better use of the line-feed -capability, resulting in faster cursor motion. -Also, \fBcurses\fR will then be -able to detect the return key. -.SH RETURN VALUE -The functions \fBsetscrreg\fR and \fBwsetscrreg\fR return \fBOK\fR upon success -and \fBERR\fR upon failure. -All other routines that return an integer always -return \fBOK\fR. -.PP -X/Open does not define any error conditions. -.PP -In this implementation, those functions that have a window pointer -will return an error if the window pointer is null. -.RS -.TP 5 -.B wclrtoeol -returns an error -if the cursor position is about to wrap. -.TP 5 -.B wsetscrreg -returns an error if the scrolling region limits extend outside the window. -.RE -.PP -X/Open does not define any error conditions. -This implementation returns an error -if the window pointer is null. -.SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4. -.PP -The XSI Curses standard is ambiguous on the question of whether \fBraw\fR() -should disable the CRLF translations controlled by \fBnl\fR() and \fBnonl\fR(). -BSD curses did turn off these translations; AT&T curses (at least as late as -SVr1) did not. -We choose to do so, on the theory that a programmer requesting -raw input wants a clean (ideally 8-bit clean) connection that the operating -system will not alter. -.PP -Some historic curses implementations had, as an undocumented feature, the -ability to do the equivalent of \fBclearok(..., 1)\fR by saying -\fBtouchwin(stdscr)\fR or \fBclear(stdscr)\fR. -This will not work under -ncurses. -.PP -Earlier System V curses implementations specified that with \fBscrollok\fR -enabled, any window modification triggering a scroll also forced a physical -refresh. -XSI Curses does not require this, and \fBncurses\fR avoids doing -it to perform better vertical-motion optimization at \fBwrefresh\fR -time. -.PP -The XSI Curses standard does not mention that the cursor should be -made invisible as a side-effect of \fBleaveok\fR. -SVr4 curses documentation does this, but the code does not. -Use \fBcurs_set\fR to make the cursor invisible. -.SH NOTES -Note that \fBclearok\fR, \fBleaveok\fR, \fBscrollok\fR, \fBidcok\fR, \fBnl\fR, -\fBnonl\fR and \fBsetscrreg\fR may be macros. -.PP -The \fBimmedok\fR routine is useful for windows that are used as terminal -emulators. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_addch\fR(3X), \fBcurs_clear\fR(3X), -\fBcurs_initscr\fR(3X), \fBcurs_scroll\fR(3X), \fBcurs_refresh\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_overlay.3x b/src/libs/ncurses/man/curs_overlay.3x deleted file mode 100644 index 2a5e3cab38..0000000000 --- a/src/libs/ncurses/man/curs_overlay.3x +++ /dev/null @@ -1,87 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_overlay.3x,v 1.13 2005/05/15 16:18:38 tom Exp $ -.TH curs_overlay 3X "" -.na -.hy 0 -.SH NAME -\fBoverlay\fR, -\fBoverwrite\fR, -\fBcopywin\fR - overlay and manipulate overlapped \fBcurses\fR windows -.ad -.hy -.SH SYNOPSIS -\fB#include \fR - -\fBint overlay(const WINDOW *srcwin, WINDOW *dstwin);\fR -.br -\fBint overwrite(const WINDOW *srcwin, WINDOW *dstwin);\fR -.br -\fBint copywin(const WINDOW *srcwin, WINDOW *dstwin, int sminrow,\fR - \fBint smincol, int dminrow, int dmincol, int dmaxrow,\fR - \fBint dmaxcol, int overlay);\fR -.SH DESCRIPTION -The \fBoverlay\fR and \fBoverwrite\fR routines overlay \fIsrcwin\fR on -top of \fIdstwin\fR. \fIscrwin\fR and \fIdstwin\fR are not required -to be the same size; only text where the two windows overlap is -copied. The difference is that \fBoverlay\fR is non-destructive -(blanks are not copied) whereas \fBoverwrite\fR is destructive. - -The \fBcopywin\fR routine provides a finer granularity of control over the -\fBoverlay\fR and \fBoverwrite\fR routines. Like in the \fBprefresh\fR -routine, a rectangle is specified in the destination window, (\fIdminrow\fR, -\fIdmincol\fR) and (\fIdmaxrow\fR, \fIdmaxcol\fR), and the upper-left-corner -coordinates of the source window, (\fIsminrow\fR, \fIsmincol\fR). If the -argument \fIoverlay\fR is \fBtrue\fR, then copying is non-destructive, as in -\fBoverlay\fR. -.SH RETURN VALUE -Routines that return an integer return \fBERR\fR upon failure, and \fBOK\fR -(SVr4 only specifies "an integer value other than \fBERR\fR") upon successful -completion. -.PP -X/Open defines no error conditions. -In this implementation, -\fBcopywin\fP, -\fBoverlay\fP and \fBoverwrite\fP return an error -if either of the window pointers are null, or -if some part of the window would be placed off-screen. -.SH NOTES -Note that \fBoverlay\fR and \fBoverwrite\fR may be macros. -.SH PORTABILITY -The XSI Curses standard, Issue 4 describes these functions (adding the const -qualifiers). It further specifies their behavior in the presence of characters -with multibyte renditions (not yet supported in this implementation). -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_pad\fR(3X), \fBcurs_refresh\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_pad.3x b/src/libs/ncurses/man/curs_pad.3x deleted file mode 100644 index c7222074eb..0000000000 --- a/src/libs/ncurses/man/curs_pad.3x +++ /dev/null @@ -1,162 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_pad.3x,v 1.14 2005/05/15 16:18:43 tom Exp $ -.TH curs_pad 3X "" -.na -.hy 0 -.SH NAME -\fBnewpad\fR, -\fBsubpad\fR, -\fBprefresh\fR, -\fBpnoutrefresh\fR, -\fBpechochar\fR, -\fBpecho_wchar\fR - create and display \fBcurses\fR pads -.ad -.hy -.SH SYNOPSIS -\fB#include \fR -.sp -\fBWINDOW *newpad(int nlines, int ncols);\fR -.br -\fBWINDOW *subpad(WINDOW *orig, int nlines, int ncols,\fR - \fBint begin_y, int begin_x);\fR -.br -\fBint prefresh(WINDOW *pad, int pminrow, int pmincol,\fR - \fBint sminrow, int smincol, int smaxrow, int smaxcol);\fR -.br -\fBint pnoutrefresh(WINDOW *pad, int pminrow, int pmincol,\fR - \fBint sminrow, int smincol, int smaxrow, int smaxcol);\fR -.br -\fBint pechochar(WINDOW *pad, chtype ch);\fR -.br -\fBint pecho_wchar(WINDOW *pad, const cchar_t *wch);\fR -.SH DESCRIPTION -The \fBnewpad\fR routine creates and returns a pointer to a new pad data -structure with the given number of lines, \fInlines\fR, and columns, -\fIncols\fR. -A pad is like a window, except that it is not restricted by the -screen size, and is not necessarily associated with a particular part of the -screen. -Pads can be used when a large window is needed, and only a part of the -window will be on the screen at one time. -Automatic refreshes of pads -(e.g., from scrolling or echoing of input) do not occur. -It is not -legal to call \fBwrefresh\fR with a \fIpad\fR as an argument; the routines -\fBprefresh\fR or \fBpnoutrefresh\fR should be called instead. -Note that these -routines require additional parameters to specify the part of the pad to be -displayed and the location on the screen to be used for the display. -.PP -The \fBsubpad\fR routine creates and returns a pointer to a subwindow within a -pad with the given number of lines, \fInlines\fR, and columns, \fIncols\fR. -Unlike \fBsubwin\fR, which uses screen coordinates, the window is at position -(\fIbegin\fR_\fIx\fR\fB,\fR \fIbegin\fR_\fIy\fR) on the pad. -The window is -made in the middle of the window \fIorig\fR, so that changes made to one window -affect both windows. -During the use of this routine, it will often be -necessary to call \fBtouchwin\fR or \fBtouchline\fR on \fIorig\fR before -calling \fBprefresh\fR. -.PP -The \fBprefresh\fR and \fBpnoutrefresh\fR routines are analogous to -\fBwrefresh\fR and \fBwnoutrefresh\fR except that they relate to pads instead -of windows. -The additional parameters are needed to indicate what part of the -pad and screen are involved. -\fIpminrow\fR and \fIpmincol\fR specify the upper -left-hand corner of the rectangle to be displayed in the pad. -\fIsminrow\fR, -\fIsmincol\fR, \fIsmaxrow\fR, and \fIsmaxcol\fR specify the edges of the -rectangle to be displayed on the screen. -The lower right-hand corner of the -rectangle to be displayed in the pad is calculated from the screen coordinates, -since the rectangles must be the same size. -Both rectangles must be entirely -contained within their respective structures. -Negative values of -\fIpminrow\fR, \fIpmincol\fR, \fIsminrow\fR, or \fIsmincol\fR are treated as if -they were zero. -.PP -The \fBpechochar\fR routine is functionally equivalent to a call to \fBaddch\fR -followed by a call to \fBrefresh\fR, a call to \fBwaddch\fR followed by a call -to \fBwrefresh\fR, or a call to \fBwaddch\fR followed by a call to -\fBprefresh\fR. -The knowledge that only a single character is being output is -taken into consideration and, for non-control characters, a considerable -performance gain might be seen by using these routines instead of their -equivalents. -In the case of \fBpechochar\fR, the last location of the pad on -the screen is reused for the arguments to \fBprefresh\fR. -.PP -The \fBpecho_wchar\fR function is the analogous wide-character -form of \fBpechochar\fR. -It outputs one character to a pad and immediately refreshes the pad. -It does this by a call to \fBwadd_wch\fR followed by a call to \fBprefresh\fR. -.SH RETURN VALUE -Routines that return an integer return \fBERR\fR upon failure and \fBOK\fR -(SVr4 only specifies "an integer value other than \fBERR\fR") upon successful -completion. -.PP -Routines that return pointers return \fBNULL\fR on error, and set \fBerrno\fR -to \fBENOMEM\fR. -.PP -X/Open does not define any error conditions. -In this implementation -.RS -.TP 5 -\fBprefresh\fP and \fBpnoutrefresh\fP -return an error -if the window pointer is null, or -if the window is not really a pad or -if the area to refresh extends off-screen or -if the minimum coordinates are greater than the maximum. -.TP 5 -\fBpechochar\fP -returns an error -if the window is not really a pad, and the associated call -to \fBwechochar\fP returns an error. -.TP 5 -\fBpecho_wchar\fP -returns an error -if the window is not really a pad, and the associated call -to \fBwecho_wchar\fP returns an error. -.RE -.SH NOTES -Note that \fBpechochar\fR may be a macro. -.SH PORTABILITY -The XSI Curses standard, Issue 4 describes these functions. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_refresh\fR(3X), \fBcurs_touch\fR(3X), \fBcurs_addch\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_print.3x b/src/libs/ncurses/man/curs_print.3x deleted file mode 100644 index 3136d182cc..0000000000 --- a/src/libs/ncurses/man/curs_print.3x +++ /dev/null @@ -1,74 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_print.3x,v 1.7 2005/05/15 15:59:36 tom Exp $ -.TH curs_print 3X "" -.SH NAME -\fBmcprint\fR - ship binary data to printer -.SH SYNOPSIS -\fB#include \fR - -\fBint mcprint(char *data, int len);\fR -.SH DESCRIPTION -This function uses the \fBmc5p\fR or \fBmc4\fR and \fBmc5\fR capabilities, -if they are present, to ship given data to a printer attached to the terminal. - -Note that the \fBmcprint\fR code has no way to do flow control with the printer -or to know how much buffering it has. Your application is responsible for -keeping the rate of writes to the printer below its continuous throughput rate -(typically about half of its nominal cps rating). Dot-matrix printers and -6-page-per-minute lasers can typically handle 80cps, so a good conservative -rule of thumb is to sleep for a second after shipping each 80-character line. - -.SH RETURN VALUE -The \fBmcprint\fR function returns \fBERR\fR if the write operation aborted -for some reason. In this case, errno will contain either an error associated -with \fBwrite(2)\fR or one of the following: -.TP 5 -ENODEV -Capabilities for printer redirection do not exist. -.TP 5 -ENOMEM -Couldn't allocate sufficient memory to buffer the printer write. - -When \fBmcprint\fR succeeds, it returns the number of characters actually -sent to the printer. -.SH PORTABILITY -The \fBmcprint\fR call was designed for \fBncurses\fR(3X), and is not found -in SVr4 curses, 4.4BSD curses, or any other previous version of curses. -.SH BUGS -Padding in the \fBmc5p\fR, \fBmc4\fR and \fBmc5\fR capabilities will not be -interpreted. -.SH SEE ALSO -\fBcurses\fR(3X)\fR -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_printw.3x b/src/libs/ncurses/man/curs_printw.3x deleted file mode 100644 index ecb9d171ca..0000000000 --- a/src/libs/ncurses/man/curs_printw.3x +++ /dev/null @@ -1,94 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_printw.3x,v 1.15 2005/05/15 16:55:16 tom Exp $ -.TH curs_printw 3X "" -.na -.hy 0 -.SH NAME -\fBprintw\fR, -\fBwprintw\fR, -\fBmvprintw\fR, -\fBmvwprintw\fR, -\fBvwprintw\fR, \fBvw_printw\fR - print formatted output in \fBcurses\fR windows -.ad -.hy -.SH SYNOPSIS -\fB#include \fR - -\fBint printw(const char *fmt, ...);\fR -.br -\fBint wprintw(WINDOW *win, const char *fmt, ...);\fR -.br -\fBint mvprintw(int y, int x, const char *fmt, ...);\fR -.br -\fBint mvwprintw(WINDOW *win, int y, int x, const char *fmt, ...);\fR -.br -\fBint vwprintw(WINDOW *win, const char *fmt, va_list varglist);\fR -.br -\fBint vw_printw(WINDOW *win, const char *fmt, va_list varglist);\fR -.br -.SH DESCRIPTION -The \fBprintw\fR, \fBwprintw\fR, \fBmvprintw\fR and \fBmvwprintw\fR -routines are analogous to \fBprintf\fR [see \fBprintf\fR(3S)]. In -effect, the string that would be output by \fBprintf\fR is output -instead as though \fBwaddstr\fR were used on the given window. - -The \fBvwprintw\fR and \fBwv_printw\fR routines are analogous -to \fBvprintf\fR [see \fBprintf\fR(3S)] -and perform a \fBwprintw\fR using a variable argument list. -The third argument is a \fBva_list\fR, a pointer to a -list of arguments, as defined in \fB\fR. -.SH RETURN VALUE -Routines that return an integer return \fBERR\fR upon failure and \fBOK\fR -(SVr4 only specifies "an integer value other than \fBERR\fR") upon successful -completion. -.PP -X/Open defines no error conditions. -In this implementation, -an error may be returned if it cannot allocate enough memory for the -buffer used to format the results. -It will return an error if the window pointer is null. -.SH PORTABILITY -The XSI Curses standard, Issue 4 describes these functions. The function -\fBvwprintw\fR is marked TO BE WITHDRAWN, and is to be replaced by a function -\fBvw_printw\fR using the \fB\fR interface. -The Single Unix Specification, Version 2 states that -\fBvw_printw\fR is preferred to \fBvwprintw\fR since the latter requires -including \fB\fR, which -cannot be used in the same file as \fB\fR. -This implementation uses \fB\fR for both, because that header -is included in \fB. -.SH SEE ALSO -\fBcurses\fR(3X), \fBprintf\fR(3S), \fBvprintf(3S)\fR -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_refresh.3x b/src/libs/ncurses/man/curs_refresh.3x deleted file mode 100644 index 5ce06903d8..0000000000 --- a/src/libs/ncurses/man/curs_refresh.3x +++ /dev/null @@ -1,144 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2001,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_refresh.3x,v 1.12 2005/05/15 16:18:49 tom Exp $ -.TH curs_refresh 3X "" -.na -.hy 0 -.SH NAME -\fBdoupdate\fR, -\fBredrawwin\fR, -\fBrefresh\fR, -\fBwnoutrefresh\fR, -\fBwredrawln\fR, -\fBwrefresh\fR - refresh \fBcurses\fR windows and lines -.ad -.hy -.SH SYNOPSIS -\fB#include \fR -.sp -\fBint refresh(void);\fR -.br -\fBint wrefresh(WINDOW *win);\fR -.br -\fBint wnoutrefresh(WINDOW *win);\fR -.br -\fBint doupdate(void);\fR -.br -\fBint redrawwin(WINDOW *win);\fR -.br -\fBint wredrawln(WINDOW *win, int beg_line, int num_lines);\fR -.br -.SH DESCRIPTION -The \fBrefresh\fR and \fBwrefresh\fR routines (or \fBwnoutrefresh\fR and -\fBdoupdate\fR) must be called to get actual output to the terminal, as other -routines merely manipulate data structures. -The routine \fBwrefresh\fR copies -the named window to the physical terminal screen, taking into account what is -already there to do optimizations. -The \fBrefresh\fR routine is the -same, using \fBstdscr\fR as the default window. -Unless \fBleaveok\fR has been -enabled, the physical cursor of the terminal is left at the location of the -cursor for that window. -.PP -The \fBwnoutrefresh\fR and \fBdoupdate\fR routines allow multiple updates with -more efficiency than \fBwrefresh\fR alone. -In addition to all the window -structures, \fBcurses\fR keeps two data structures representing the terminal -screen: a physical screen, describing what is actually on the screen, and a -virtual screen, describing what the programmer wants to have on the screen. -.PP -The routine \fBwrefresh\fR works by first calling \fBwnoutrefresh\fR, which -copies the named window to the virtual screen, and then calling \fBdoupdate\fR, -which compares the virtual screen to the physical screen and does the actual -update. -If the programmer wishes to output several windows at once, a series -of calls to \fBwrefresh\fR results in alternating calls to \fBwnoutrefresh\fR -and \fBdoupdate\fR, causing several bursts of output to the screen. -By first -calling \fBwnoutrefresh\fR for each window, it is then possible to call -\fBdoupdate\fR once, resulting in only one burst of output, with fewer total -characters transmitted and less CPU time used. -If the \fIwin\fR argument to -\fBwrefresh\fR is the global variable \fBcurscr\fR, the screen is immediately -cleared and repainted from scratch. -.PP -The phrase "copies the named window to the virtual screen" above is ambiguous. -What actually happens is that all \fItouched\fR (changed) lines in the window -are copied to the virtual screen. -This affects programs that use overlapping -windows; it means that if two windows overlap, you can refresh them in either -order and the overlap region will be modified only when it is explicitly -changed. -(But see the section on \fBPORTABILITY\fR below for a warning about -exploiting this behavior.) -.PP -The \fBwredrawln\fR routine indicates to \fBcurses\fR that some screen lines -are corrupted and should be thrown away before anything is written over them. -It touches the indicated lines (marking them changed). -The routine \fBredrawwin\fR() touches the entire window. -.SH RETURN VALUE -Routines that return an integer return \fBERR\fR upon failure, and \fBOK\fR -(SVr4 only specifies "an integer value other than \fBERR\fR") upon successful -completion. -.PP -X/Open does not define any error conditions. -In this implementation -.RS -.TP 5 -\fBwnoutrefresh\fP -returns an error -if the window pointer is null, or -if the window is really a pad. -.TP 5 -\fBwredrawln\fP -returns an error -if the associated call to \fBtouchln\fP returns an error. -.RE -.SH NOTES -Note that \fBrefresh\fR and \fBredrawwin\fR may be macros. -.SH PORTABILITY -The XSI Curses standard, Issue 4 describes these functions. -.PP -Whether \fBwnoutrefresh()\fR copies to the virtual screen the entire contents -of a window or just its changed portions has never been well-documented in -historic curses versions (including SVr4). -It might be unwise to rely on -either behavior in programs that might have to be linked with other curses -implementations. -Instead, you can do an explicit \fBtouchwin()\fR before the -\fBwnoutrefresh()\fR call to guarantee an entire-contents copy anywhere. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_outopts\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_scanw.3x b/src/libs/ncurses/man/curs_scanw.3x deleted file mode 100644 index 8b67801f7d..0000000000 --- a/src/libs/ncurses/man/curs_scanw.3x +++ /dev/null @@ -1,97 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_scanw.3x,v 1.12 2002/07/20 15:48:09 tom Exp $ -.TH curs_scanw 3X "" -.SH NAME -\fBscanw\fR, -\fBwscanw\fR, -\fBmvscanw\fR, -\fBmvwscanw\fR, -\fBvwscanw\fR, \fBvw_scanw\fR - convert formatted input from a \fBcurses\fR window -.SH SYNOPSIS -\fB#include \fR - -\fBint scanw(char *fmt, ...);\fR -.br -\fBint wscanw(WINDOW *win, char *fmt, ...);\fR -.br -\fBint mvscanw(int y, int x, char *fmt, ...);\fR -.br -\fBint mvwscanw(WINDOW *win, int y, int x, char *fmt, ...);\fR -.br -\fBint vw_scanw(WINDOW *win, char *fmt, va_list varglist);\fR -.br -\fBint vwscanw(WINDOW *win, char *fmt, va_list varglist);\fR -.SH DESCRIPTION -The \fBscanw\fR, \fBwscanw\fR and \fBmvscanw\fR routines are analogous to -\fBscanf\fR [see \fBscanf\fR(3S)]. The effect of these routines is as though -\fBwgetstr\fR were called on the window, and the resulting line used as input -for \fBsscanf\fR(3). Fields which do not map to a variable in the \fIfmt\fR -field are lost. - -The \fBvwscanw\fR and \fBvw_scanw\fR routines are analogous to \fBvscanf\fR. -They perform a \fBwscanw\fR using a variable argument list. -The third argument is a \fIva_list\fR, -a pointer to a list of arguments, as defined in \fB\fR. -.SH RETURN VALUE -\fBvwscanw\fR returns \fBERR\fR on failure and an integer equal to the -number of fields scanned on success. - -Applications may use the return value from the \fBscanw\fR, \fBwscanw\fR, -\fBmvscanw\fR and \fBmvwscanw\fR routines to determine the number of fields -which were mapped in the call. -.SH PORTABILITY -The XSI Curses standard, Issue 4 describes these functions. The function -\fBvwscanw\fR is marked TO BE WITHDRAWN, and is to be replaced by a function -\fBvw_scanw\fR using the \fB\fR interface. -The Single Unix Specification, Version 2 states that -\fBvw_scanw\fR is preferred to \fBvwscanw\fR since the latter requires -including \fB\fR, which -cannot be used in the same file as \fB\fR. -This implementation uses \fB\fR for both, because that header -is included in \fB. -.LP -Both XSI and The Single Unix Specification, Version 2 state that these -functions return ERR or OK. -Since the underlying \fBscanf\fR can return the number of items scanned, -and the SVr4 code was documented to use this feature, -this is probably an editing error which was introduced in XSI, -rather than being done intentionally. -Portable applications should only test if the return value is ERR, -since the OK value (zero) is likely to be misleading. -One possible way to get useful results would be to use a "%n" conversion -at the end of the format string to ensure that something was processed. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_getstr\fR(3X), \fBcurs_printw\fR(3X), \fBscanf\fR(3S) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_scr_dump.3x b/src/libs/ncurses/man/curs_scr_dump.3x deleted file mode 100644 index 867d09329d..0000000000 --- a/src/libs/ncurses/man/curs_scr_dump.3x +++ /dev/null @@ -1,102 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_scr_dump.3x,v 1.5 2005/05/15 16:18:55 tom Exp $ -.TH curs_scr_dump 3X "" -.na -.hy 0 -.SH NAME -\fBscr_dump\fR, -\fBscr_restore\fR, -\fBscr_init\fR, -\fBscr_set\fR - read (write) a \fBcurses\fR screen from (to) a file -.ad -.hy -.SH SYNOPSIS -\fB#include \fR - -\fBint scr_dump(const char *filename);\fR -.br -\fBint scr_restore(const char *filename);\fR -.br -\fBint scr_init(const char *filename);\fR -.br -\fBint scr_set(const char *filename);\fR -.br -.SH DESCRIPTION -The \fBscr_dump\fR routine dumps the current contents of the virtual screen -to the file \fIfilename\fR. - -The \fBscr_restore\fR routine sets the virtual screen to the contents -of \fIfilename\fR, which must have been written using \fBscr_dump\fR. The next -call to \fBdoupdate\fR restores the screen to the way it looked in the dump -file. - -The \fBscr_init\fR routine reads in the contents of \fIfilename\fR and uses -them to initialize the \fBcurses\fR data structures about what the terminal -currently has on its screen. If the data is determined to be valid, -\fBcurses\fR bases its next update of the screen on this information rather -than clearing the screen and starting from scratch. \fBscr_init\fR is used -after \fBinitscr\fR or a \fBsystem\fR call to share -the screen with another process which has done a \fBscr_dump\fR after its -\fBendwin\fR call. The data is declared invalid if the terminfo capabilities -\fBrmcup\fR and \fBnrrmc\fR exist; also if the terminal has been written to -since the preceding \fBscr_dump\fR call. - -The \fBscr_set\fR routine is a combination of \fBscr_restore\fR and -\fBscr_init\fR. It tells the program that the information in \fIfilename\fR is -what is currently on the screen, and also what the program wants on the screen. -This can be thought of as a screen inheritance function. - -To read (write) a window from (to) a file, use the \fBgetwin\fR and -\fBputwin\fR routines [see \fBcurs_util\fR(3X)]. -.SH RETURN VALUE -All routines return the integer \fBERR\fR upon failure and \fBOK\fR -upon success. -.PP -X/Open defines no error conditions. -In this implementation, -each will return an error if the file cannot be opened. -.SH NOTES -Note that \fBscr_init\fR, \fBscr_set\fR, and \fBscr_restore\fR may be macros. -.SH PORTABILITY -The XSI Curses standard, Issue 4, describes these functions (adding the const -qualifiers). - -The SVr4 docs merely say under \fBscr_init\fR that the dump data is also -considered invalid "if the time-stamp of the tty is old" but do not define -"old". -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_refresh\fR(3X), -\fBcurs_util\fR(3X), \fBsystem\fR(3S) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_scroll.3x b/src/libs/ncurses/man/curs_scroll.3x deleted file mode 100644 index 0ba48f6256..0000000000 --- a/src/libs/ncurses/man/curs_scroll.3x +++ /dev/null @@ -1,96 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_scroll.3x,v 1.12 2005/05/15 16:19:01 tom Exp $ -.TH curs_scroll 3X "" -.na -.hy 0 -.SH NAME -\fBscroll\fR, -\fBscrl\fR, -\fBwscrl\fR - scroll a \fBcurses\fR window -.ad -.hy -.SH SYNOPSIS -\fB#include \fR - -\fBint scroll(WINDOW *win);\fR -.br -\fBint scrl(int n);\fR -.br -\fBint wscrl(WINDOW *win, int n);\fR -.br -.SH DESCRIPTION -The \fBscroll\fR routine scrolls the window up one line. -This involves moving -the lines in the window data structure. -As an optimization, if the scrolling -region of the window is the entire screen, the physical screen may be scrolled -at the same time. - -For positive \fIn\fR, the \fBscrl\fR and \fBwscrl\fR routines scroll the -window up \fIn\fR lines (line \fIi\fR+\fIn\fR becomes \fIi\fR); otherwise -scroll the window down \fIn\fR lines. -This involves moving the lines in the -window character image structure. -The current cursor position is not changed. - -For these functions to work, scrolling must be enabled via \fBscrollok\fR. -.SH RETURN VALUE -These routines return \fBERR\fR upon failure, and \fBOK\fR (SVr4 only specifies -"an integer value other than \fBERR\fR") upon successful completion. -.PP -X/Open defines no error conditions. -.PP -This implementation returns an error -if the window pointer is null, or -if scrolling is not enabled in the window, e.g., with \fBscrollok\fP. -.SH NOTES -Note that \fBscrl\fR and \fBscroll\fR may be macros. - -The SVr4 documentation says that the optimization of physically scrolling -immediately if the scroll region is the entire screen "is" performed, not -"may be" performed. -This implementation deliberately does not guarantee -that this will occur, to leave open the possibility of smarter -optimization of multiple scroll actions on the next update. - -Neither the SVr4 nor the XSI documentation specify whether the current -attribute or -current color-pair of blanks generated by the scroll function is zeroed. -Under this implementation it is. -.SH PORTABILITY -The XSI Curses standard, Issue 4 describes these functions. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_outopts\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_slk.3x b/src/libs/ncurses/man/curs_slk.3x deleted file mode 100644 index c76fdf777f..0000000000 --- a/src/libs/ncurses/man/curs_slk.3x +++ /dev/null @@ -1,205 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_slk.3x,v 1.14 2005/05/15 16:19:06 tom Exp $ -.TH curs_slk 3X "" -.na -.hy 0 -.SH NAME -\fBslk_init\fR, -\fBslk_set\fR, -\fBslk_refresh\fR, -\fBslk_noutrefresh\fR, -\fBslk_label\fR, -\fBslk_clear\fR, -\fBslk_restore\fR, -\fBslk_touch\fR, -\fBslk_attron\fR, -\fBslk_attrset\fR, -\fBslk_attroff\fR, -\fBslk_attr_on\fR, -\fBslk_attr_set\fR, -\fBslk_attr_off\fR, -\fBslk_attr\fR, -\fBslk_color\fR - \fBcurses\fR soft label routines -.ad -.hy -.SH SYNOPSIS -\fB#include \fR - -\fBint slk_init(int fmt);\fR -.br -\fBint slk_set(int labnum, const char *label, int fmt);\fR -.br -\fBint slk_refresh(void);\fR -.br -\fBint slk_noutrefresh(void);\fR -.br -\fBchar *slk_label(int labnum);\fR -.br -\fBint slk_clear(void);\fR -.br -\fBint slk_restore(void);\fR -.br -\fBint slk_touch(void);\fR -.br -\fBint slk_attron(const chtype attrs);\fR -.br -\fBint slk_attroff(const chtype attrs);\fR -.br -\fBint slk_attrset(const chtype attrs);\fR -.br -\fBint slk_attr_on(attr_t attrs, void* opts);\fR -.br -\fBint slk_attr_off(const attr_t attrs, void * opts);\fR -.br -\fBint slk_attr_set(const attr_t attrs,\fR -.br - \fBshort color_pair_number, void* opts);\fR -.br -\fBattr_t slk_attr(void);\fR -.br -\fBint slk_color(short color_pair_number);\fR -.br -.SH DESCRIPTION -The slk* functions manipulate the set of soft function-key labels that exist on -many terminals. For those terminals that do not have soft labels, -\fBcurses\fR takes over the bottom line of \fBstdscr\fR, reducing the size of -\fBstdscr\fR and the variable \fBLINES\fR. \fBcurses\fR standardizes on eight -labels of up to eight characters each. In addition to this, the ncurses -implementation supports a mode where it simulates 12 labels of up to five -characters each. This is most common for todays PC like enduser devices. -Please note that ncurses simulates this mode by taking over up to two lines at -the bottom of the screen, it doesn't try to use any hardware support for this -mode. - -The \fBslk_init\fR routine must be called before \fBinitscr\fR or \fBnewterm\fR -is called. If \fBinitscr\fR eventually uses a line from \fBstdscr\fR to -emulate the soft labels, then \fIfmt\fR determines how the labels are arranged -on the screen. Setting \fIfmt\fR to \fB0\fR indicates a 3-2-3 arrangement of -the labels, \fB1\fR indicates a 4-4 arrangement and \fB2\fR indicates the -PC like 4-4-4 mode. If \fBfmt\fR is set to \fB3\fR, it is again the PC like -4-4-4 mode, but in addition an index line is generated, helping the user to -identify the key numbers easily. - -The \fBslk_set\fR routine requires \fIlabnum\fR to be a label number, -from \fB1\fR to \fB8\fR (resp. \fB12\fR); \fIlabel\fR must be the string -to be put on the label, up to eight (resp. five) characters in length. -A null string or a null pointer sets up a blank label. \fIfmt\fR is either -\fB0\fR, \fB1\fR, or \fB2\fR, indicating whether the label is to be -left-justified, centered, or right-justified, respectively, within the -label. - -The \fBslk_refresh\fR and \fBslk_noutrefresh\fR routines correspond to -the \fBwrefresh\fR and \fBwnoutrefresh\fR routines. - -The \fBslk_label\fR routine returns the current label for label number -\fIlabnum\fR, with leading and trailing blanks stripped. - -The \fBslk_clear\fR routine clears the soft labels from the screen. - -The \fBslk_restore\fR routine restores the soft labels to the screen -after a \fBslk_clear\fR has been performed. - -The \fBslk_touch\fR routine forces all the soft labels to be output -the next time a \fBslk_noutrefresh\fR is performed. - -The \fBslk_attron\fR, \fBslk_attrset\fR, \fBslk_attroff\fR and \fBslk_attr\fR -routines correspond to \fBattron\fR, \fBattrset\fR, \fBattroff\fR and \fBattr_get\fR. -They have an effect only if soft labels are simulated on the bottom line of -the screen. The default highlight for soft keys is A_STANDOUT (as in -System V curses, which does not document this fact). - -The \fBslk_color\fR routine corresponds to \fBcolor_set\fR. It has an effect only -if soft labels are simulated on the bottom line of the screen. - -.SH RETURN VALUE -These routines return \fBERR\fR upon failure and OK (SVr4 specifies only "an -integer value other than \fBERR\fR") upon successful completion. -.PP -X/Open defines no error conditions. -In this implementation -.RS -.TP 5 -\fBslk_attr\fR -returns the attribute used for the soft keys. -.TP 5 -.na -.hy 0 -\fBslk_attroff\fP, \fBslk_attron\fP, \fBslk_clear\fP, \fBslk_noutrefresh\fP, \fBslk_refresh\fP, \fBslk_touch\fP -.ad -.hy -return an error -if the terminal or the softkeys were not initialized. -.TP 5 -\fBslk_attrset\fP -returns an error -if the terminal or the softkeys were not initialized. -.TP 5 -\fBslk_attr_set\fP -returns an error -if the terminal or the softkeys were not initialized, or -the color pair is outside the range 0..COLOR_PAIRS-1, -or opts is not null. -.TP 5 -\fBslk_color\fP -returns an error -if the terminal or the softkeys were not initialized, or -the color pair is outside the range 0..COLOR_PAIRS-1. -.TP 5 -\fBslk_init\fR -returns an error -if the format parameter is outside the range 0..3. -.TP 5 -\fBslk_label\fR -returns \fBNULL\fR on error. -.TP 5 -\fBslk_set\fP -returns an error -if the terminal or the softkeys were not initialized, or -the \fIlabnum\fP parameter is outside the range of label counts, or -if the format parameter is outside the range 0..2, or if -memory for the labels cannot be allocated. -.RE -.SH NOTES -Most applications would use \fBslk_noutrefresh\fR because a -\fBwrefresh\fR is likely to follow soon. -.SH PORTABILITY -The XSI Curses standard, Issue 4, describes these functions. It changes the -argument type of the attribute-manipulation functions \fBslk_attron\fR, -\fBslk_attroff\fR, \fBslk_attrset\fR to be \fBattr_t\fR, and adds \fBconst\fR -qualifiers. The format codes \fB2\fR and \fB3\fR for \fBslk_init()\fR and the -function \fBslk_attr\fR are specific to ncurses. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_attr\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_refresh\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_termattrs.3x b/src/libs/ncurses/man/curs_termattrs.3x deleted file mode 100644 index 48ff21ced6..0000000000 --- a/src/libs/ncurses/man/curs_termattrs.3x +++ /dev/null @@ -1,134 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_termattrs.3x,v 1.9 2003/12/27 18:37:47 tom Exp $ -.TH curs_termattrs 3X "" -.SH NAME -\fBbaudrate\fR, -\fBerasechar\fR, -\fBerasewchar\fR, -\fBhas_ic\fR, -\fBhas_il\fR, -\fBkillchar\fR, -\fBkillwchar\fR, -\fBlongname\fR, -\fBterm_attrs\fR, -\fBtermattrs\fR, -\fBtermname\fR - \fBcurses\fR environment query routines -.SH SYNOPSIS -\fB#include \fR -.PP -\fBint baudrate(void);\fR -.br -\fBchar erasechar(void);\fR -.br -\fBint erasewchar(wchar_t *\fR\fIch\fR\fB);\fR -.br -\fBbool has_ic(void);\fR -.br -\fBbool has_il(void);\fR -.br -\fBchar killchar(void);\fR -.br -\fBint killwchar(wchar_t *\fR\fIch\fR\fB);\fR -.br -\fBchar *longname(void);\fR -.br -\fBattr_t term_attrs(void);\fR -.br -\fBchtype termattrs(void);\fR -.br -\fBchar *termname(void);\fR -.br -.SH DESCRIPTION -The \fBbaudrate\fR routine returns the output speed of the terminal. The -number returned is in bits per second, for example \fB9600\fR, and is an -integer. -.PP -The \fBerasechar\fR routine returns the user's current erase character. -.PP -The \fBerasewchar\fR routine stores the current erase character -in the location referenced by \fIch\fR. -If no erase character has been defined, the routine fails -and the location referenced by \fIch\fR is not changed. -.PP -The \fBhas_ic\fR routine is true if the terminal has insert- and delete- -character capabilities. -.PP -The \fBhas_il\fR routine is true if the terminal has insert- and delete-line -capabilities, or can simulate them using scrolling regions. This might -be used to determine if it would be appropriate to turn on physical -scrolling using \fBscrollok\fR. -.PP -The \fBkillchar\fR routine returns the user's current line kill character. -.PP -The \fBkillwchar\fR routine stores the current line-kill character -in the location referenced by \fIch\fR. -If no line-kill character has been defined, -the routine fails and the location referenced by \fIch\fR is not changed. -.PP -The \fBlongname\fR routine returns a pointer to a static area -containing a verbose description of the current terminal. The maximum -length of a verbose description is 128 characters. It is defined only -after the call to \fBinitscr\fR or \fBnewterm\fR. The area is -overwritten by each call to \fBnewterm\fR and is not restored by -\fBset_term\fR, so the value should be saved between calls to -\fBnewterm\fR if \fBlongname\fR is going to be used with multiple -terminals. -.PP -If a given terminal doesn't support a video attribute that an -application program is trying to use, \fBcurses\fR may substitute a -different video attribute for it. -The \fBtermattrs\fR and \fBterm_attrs\fR functions -return a logical \fBOR\fR of all video attributes supported by the -terminal using \fIA_\fR and \fIWA_\fR constants respectively. -This information is useful when a \fBcurses\fR program -needs complete control over the appearance of the screen. -.PP -The \fBtermname\fR routine returns the terminal name used by \fBsetupterm\fR. -.SH RETURN VALUE -\fBlongname\fR and \fBtermname\fR return \fBNULL\fR on error. -.PP -Routines that return an integer return \fBERR\fR upon failure and \fBOK\fR -(SVr4 only specifies "an integer value other than \fBERR\fR") upon successful -completion. -.SH NOTES -Note that \fBtermattrs\fR may be a macro. -.SH PORTABILITY -The XSI Curses standard, Issue 4 describes these functions. It changes the -return type of \fBtermattrs\fR to the new type \fBattr_t\fR. -Most versions of curses truncate the result returned by \fBtermname\fR to -14 characters. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_outopts\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_termcap.3x b/src/libs/ncurses/man/curs_termcap.3x deleted file mode 100644 index c5c5517e61..0000000000 --- a/src/libs/ncurses/man/curs_termcap.3x +++ /dev/null @@ -1,164 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_termcap.3x,v 1.18 2003/02/08 22:25:47 tom Exp $ -.TH curs_termcap 3X "" -.ds n 5 -.SH NAME -\fBtgetent\fR, -\fBtgetflag\fR, -\fBtgetnum\fR, -\fBtgetstr\fR, -\fBtgoto\fR, -\fBtputs\fR - direct \fBcurses\fR interface to the terminfo capability database -.SH SYNOPSIS -\fB#include \fR -.br -\fB#include \fR -.br -\fBextern char PC;\fR -\fBextern char * UP;\fR -\fBextern char * BC;\fR -\fBextern @NCURSES_OSPEED@ ospeed;\fR -.br -\fBint tgetent(char *bp, const char *name);\fR -.br -\fBint tgetflag(char *id);\fR -.br -\fBint tgetnum(char *id);\fR -.br -\fBchar *tgetstr(char *id, char **area);\fR -.br -\fBchar *tgoto(const char *cap, int col, int row);\fR -.br -\fBint tputs(const char *str, int affcnt, int (*putc)(int));\fR -.br -.SH DESCRIPTION -These routines are included as a conversion aid for programs that use -the \fItermcap\fR library. Their parameters are the same and the -routines are emulated using the \fIterminfo\fR database. Thus, they -can only be used to query the capabilities of entries for which a -terminfo entry has been compiled. - -The \fBtgetent\fR routine loads the entry for \fIname\fR. -It returns 1 on success, 0 if there is no such entry, and -1 if the -terminfo database could not be found. -The emulation ignores the buffer pointer \fIbp\fR. - -The \fBtgetflag\fR routine gets the boolean entry for \fIid\fR, -or zero if it is not available. - -The \fBtgetnum\fR routine gets the numeric entry for \fIid\fR, -or -1 if it is not available. - -The \fBtgetstr\fR routine returns the string entry for \fIid\fR, -or zero if it is not available. -Use \fBtputs\fR to output the returned string. -The return value will also be copied to the buffer pointed to by \fIarea\fR, -and the \fIarea\fR value will be updated to point past the null ending -this value. - -Only the first two characters of the \fBid\fR parameter of -\fBtgetflag\fR, -\fBtgetnum\fR and -\fBtgetstr\fR are compared in lookups. - -The \fBtgoto\fR routine instantiates the parameters into the given capability. -The output from this routine is to be passed to \fBtputs\fR. - -The \fBtputs\fR routine is described on the \fBcurs_terminfo\fR(3X) manual -page. It can retrieve capabilities by either termcap or terminfo name. - -The variables -\fBPC\fR, -\fBUP\fR and -\fBBC\fR -are set by \fBtgetent\fR to the terminfo entry's data for -\fBpad_char\fR, -\fBcursor_up\fR and -\fBbackspace_if_not_bs\fR, -respectively. -\fBUP\fR is not used by ncurses. -\fBPC\fR is used in the \fBtdelay_output\fR function. -\fBBC\fR is used in the \fBtgoto\fR emulation. -The variable \fBospeed\fR is set by ncurses in a system-specific coding -to reflect the terminal speed. - -.SH RETURN VALUE -Except where explicitly noted, -routines that return an integer return \fBERR\fR upon failure and \fBOK\fR -(SVr4 only specifies "an integer value other than \fBERR\fR") upon successful -completion. - -Routines that return pointers return \fBNULL\fR on error. -.SH BUGS -If you call \fBtgetstr\fR to fetch \fBca\fR or any other parameterized string, -be aware that it will be returned in terminfo notation, not the older and -not-quite-compatible termcap notation. This won't cause problems if all -you do with it is call \fBtgoto\fR or \fBtparm\fR, which both expand -terminfo-style strings as terminfo. -(The \fBtgoto\fR function, if configured to support termcap, will check -if the string is indeed terminfo-style by looking for "%p" parameters or -"$<..>" delays, and invoke a termcap-style parser if the string does not -appear to be terminfo). - -Because terminfo conventions for representing padding in string capabilities -differ from termcap's, \fBtputs("50");\fR will put out a literal "50" rather -than busy-waiting for 50 milliseconds. Cope with it. - -Note that termcap has nothing analogous to terminfo's \fBsgr\fR string. -One consequence of this is that termcap applications assume \fRme\fR -(terminfo \fBsgr0\fR) does not reset the alternate character set. -This implementation checks for, and modifies the data shown to the -termcap interface to accommodate termcap's limitation in this respect. -.SH PORTABILITY -The XSI Curses standard, Issue 4 describes these functions. However, they -are marked TO BE WITHDRAWN and may be removed in future versions. - -Neither the XSI Curses standard nor the SVr4 man pages documented the return -values of \fBtgetent\fR correctly, though all three were in fact returned ever -since SVr1. -In particular, an omission in the XSI Curses documentation has been -misinterpreted to mean that \fBtgetent\fR returns \fBOK\fR or \fBERR\fR. -Because the purpose of these functions is to provide compatibility with -the \fItermcap\fR library, that is a defect in XCurses, Issue 4, Version 2 -rather than in ncurses. - -External variables are provided for support of certain termcap applications. -However, termcap applications' use of those variables is poorly documented, -e.g., not distinguishing between input and output. -In particular, some applications are reported to declare and/or -modify \fBospeed\fR. -.SH SEE ALSO -\fBcurses\fR(3X), \fBterminfo\fR(\*n), \fBputc\fR(3S). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_terminfo.3x b/src/libs/ncurses/man/curs_terminfo.3x deleted file mode 100644 index 14214d086f..0000000000 --- a/src/libs/ncurses/man/curs_terminfo.3x +++ /dev/null @@ -1,317 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1999-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_terminfo.3x,v 1.20 2005/05/15 16:19:13 tom Exp $ -.TH curs_terminfo 3X "" -.ds n 5 -.na -.hy 0 -.SH NAME -\fBdel_curterm\fR, -\fBmvcur\fR, -\fBputp\fR, -\fBrestartterm\fR, -\fBset_curterm\fR, -\fBsetterm\fR, -\fBsetupterm\fR, -\fBtigetflag\fR, -\fBtigetnum\fR, -\fBtigetstr\fR, -\fBtparm\fR, -\fBtputs\fR, -\fBvid_attr\fR, -\fBvid_puts\fR, -\fBvidattr\fR, -\fBvidputs\fR - \fBcurses\fR interfaces to terminfo database -.ad -.hy -.SH SYNOPSIS -.nf -\fB#include \fR -.br -\fB#include \fR -.PP -\fBint setupterm(char *\fR\fIterm\fR\fB, int \fR\fIfildes\fR\fB, int *\fR\fIerrret\fR\fB);\fR -.br -\fBint setterm(char *\fR\fIterm\fR\fB);\fR -.br -\fBTERMINAL *set_curterm(TERMINAL *\fR\fInterm\fR\fB);\fR -.br -\fBint del_curterm(TERMINAL *\fR\fIoterm\fR\fB);\fR -.br -\fBint restartterm(const char *\fR\fIterm\fR\fB, int \fR\fIfildes\fR\fB, int *\fR\fIerrret\fR\fB);\fR -.br -\fBchar *tparm(char *\fR\fIstr\fR\fB, ...);\fR -.br -\fBint tputs(const char *\fR\fIstr\fR\fB, int \fR\fIaffcnt\fR\fB, int (*\fR\fIputc\fR\fB)(int));\fR -.br -\fBint putp(const char *\fR\fIstr\fR\fB);\fR -.br -\fBint vidputs(chtype \fR\fIattrs\fR\fB, int (*\fR\fIputc\fR\fB)(int));\fR -.br -\fBint vidattr(chtype \fR\fIattrs\fR\fB);\fR -.br -\fBint vid_puts(attr_t \fR\fIattrs\fR\fB, short \fR\fIpair\fR\fB, void *\fR\fIopts\fR\fB, int (*\fR\fIputc\fR\fB)(char));\fR -.br -\fBint vid_attr(attr_t \fR\fIattrs\fR\fB, short \fR\fIpair\fR\fB, void *\fR\fIopts\fR\fB);\fR -.br -\fBint mvcur(int \fR\fIoldrow\fR\fB, int \fR\fIoldcol\fR\fB, int \fR\fInewrow\fR, int \fR\fInewcol\fR\fB);\fR -.br -\fBint tigetflag(char *\fR\fIcapname\fR\fB);\fR -.br -\fBint tigetnum(char *\fR\fIcapname\fR\fB);\fR -.br -\fBchar *tigetstr(char *\fR\fIcapname\fR\fB);\fR -.br -.fi -.SH DESCRIPTION -These low-level routines must be called by programs that have to deal -directly with the \fBterminfo\fR database to handle certain terminal -capabilities, such as programming function keys. For all other -functionality, \fBcurses\fR routines are more suitable and their use is -recommended. -.PP -Initially, \fBsetupterm\fR should be called. Note that -\fBsetupterm\fR is automatically called by \fBinitscr\fR and -\fBnewterm\fR. This defines the set of terminal-dependent variables -[listed in \fBterminfo\fR(\*n)]. The \fBterminfo\fR variables -\fBlines\fR and \fBcolumns\fR are initialized by \fBsetupterm\fR as -follows: If \fBuse_env(FALSE)\fR has been called, values for -\fBlines\fR and \fBcolumns\fR specified in \fBterminfo\fR are used. -Otherwise, if the environment variables \fBLINES\fR and \fBCOLUMNS\fR -exist, their values are used. If these environment variables do not -exist and the program is running in a window, the current window size -is used. Otherwise, if the environment variables do not exist, the -values for \fBlines\fR and \fBcolumns\fR specified in the -\fBterminfo\fR database are used. -.PP -The header files \fBcurses.h\fR and \fBterm.h\fR should be included (in this -order) to get the definitions for these strings, numbers, and flags. -Parameterized strings should be passed through \fBtparm\fR to instantiate them. -All \fBterminfo\fR strings [including the output of \fBtparm\fR] should be printed -with \fBtputs\fR or \fBputp\fR. Call the \fBreset_shell_mode\fR to restore the -tty modes before exiting [see \fBcurs_kernel\fR(3X)]. Programs which use -cursor addressing should output \fBenter_ca_mode\fR upon startup and should -output \fBexit_ca_mode\fR before exiting. Programs desiring shell escapes -should call -.PP -\fBreset_shell_mode\fR and output \fBexit_ca_mode\fR before the shell -is called and should output \fBenter_ca_mode\fR and call -\fBreset_prog_mode\fR after returning from the shell. -.PP -The \fBsetupterm\fR routine reads in the \fBterminfo\fR database, -initializing the \fBterminfo\fR structures, but does not set up the -output virtualization structures used by \fBcurses\fR. The terminal -type is the character string \fIterm\fR; if \fIterm\fR is null, the -environment variable \fBTERM\fR is used. -All output is to file descriptor \fBfildes\fR which is initialized for output. -If \fIerrret\fR is not null, -then \fBsetupterm\fR returns \fBOK\fR or -\fBERR\fR and stores a status value in the integer pointed to by -\fIerrret\fR. -A return value of \fBOK\fR combined with status of \fB1\fR in \fIerrret\fR -is normal. -If \fBERR\fR is returned, examine \fIerrret\fR: -.RS -.TP 5 -.B 1 -means that the terminal is hardcopy, cannot be used for curses applications. -.TP 5 -.B 0 -means that the terminal could not be found, -or that it is a generic type, -having too little information for curses applications to run. -.TP 5 -.B -1 -means that the \fBterminfo\fR database could not be found. -.RE -.PP -If \fIerrret\fR is -null, \fBsetupterm\fR prints an error message upon finding an error -and exits. Thus, the simplest call is: - - \fBsetupterm((char *)0, 1, (int *)0);\fR, - -which uses all the defaults and sends the output to \fBstdout\fR. -.PP -The \fBsetterm\fR routine is being replaced by \fBsetupterm\fR. The call: - - \fBsetupterm(\fR\fIterm\fR\fB, 1, (int *)0)\fR - -provides the same functionality as \fBsetterm(\fR\fIterm\fR\fB)\fR. -The \fBsetterm\fR routine is included here for BSD compatibility, and -is not recommended for new programs. -.PP -The \fBset_curterm\fR routine sets the variable \fBcur_term\fR to -\fInterm\fR, and makes all of the \fBterminfo\fR boolean, numeric, and -string variables use the values from \fInterm\fR. It returns the old value -of \fBcur_term\fR. -.PP -The \fBdel_curterm\fR routine frees the space pointed to by -\fIoterm\fR and makes it available for further use. If \fIoterm\fR is -the same as \fBcur_term\fR, references to any of the \fBterminfo\fR -boolean, numeric, and string variables thereafter may refer to invalid -memory locations until another \fBsetupterm\fR has been called. -.PP -The \fBrestartterm\fR routine is similar to \fBsetupterm\fR and \fBinitscr\fR, -except that it is called after restoring memory to a previous state (for -example, when reloading a game saved as a core image dump). It assumes that -the windows and the input and output options are the same as when memory was -saved, but the terminal type and baud rate may be different. Accordingly, -it saves various tty state bits, does a setupterm, and then restores the bits. -.PP -The \fBtparm\fR routine instantiates the string \fIstr\fR with -parameters \fIpi\fR. A pointer is returned to the result of \fIstr\fR -with the parameters applied. -.PP -The \fBtputs\fR routine applies padding information to the string -\fIstr\fR and outputs it. The \fIstr\fR must be a terminfo string -variable or the return value from \fBtparm\fR, \fBtgetstr\fR, or -\fBtgoto\fR. \fIaffcnt\fR is the number of lines affected, or 1 if -not applicable. \fIputc\fR is a \fBputchar\fR-like routine to which -the characters are passed, one at a time. -.PP -The \fBputp\fR routine calls \fBtputs(\fR\fIstr\fR\fB, 1, putchar)\fR. -Note that the output of \fBputp\fR always goes to \fBstdout\fR, not to -the \fIfildes\fR specified in \fBsetupterm\fR. -.PP -The \fBvidputs\fR routine displays the string on the terminal in the -video attribute mode \fIattrs\fR, which is any combination of the -attributes listed in \fBcurses\fR(3X). The characters are passed to -the \fBputchar\fR-like routine \fIputc\fR. -.PP -The \fBvidattr\fR routine is like the \fBvidputs\fR routine, except -that it outputs through \fBputchar\fR. -.PP -The \fBvid_attr\fR and \fBvid_puts\fR routines correspond to vidattr and vidputs, -respectively. -They use a set of arguments for representing the video attributes plus color, -i.e., -one of type attr_t for the attributes and one of short for -the color_pair number. -The \fBvid_attr\fR and \fBvid_puts\fR routines -are designed to use the attribute constants with the \fIWA_\fR prefix. -The opts argument is reserved for future use. -Currently, applications must provide a null pointer for that argument. -.PP -The \fBmvcur\fR routine provides low-level cursor motion. It takes -effect immediately (rather than at the next refresh). -.PP -The \fBtigetflag\fR, \fBtigetnum\fR and \fBtigetstr\fR routines return -the value of the capability corresponding to the \fBterminfo\fR -\fIcapname\fR passed to them, such as \fBxenl\fR. -.PP -The \fBtigetflag\fR routine returns the value \fB-1\fR if -\fIcapname\fR is not a boolean capability, -or \fB0\fR if it is canceled or absent from the terminal description. -.PP -The \fBtigetnum\fR routine returns the value \fB-2\fR if -\fIcapname\fR is not a numeric capability, -or \fB-1\fR if it is canceled or absent from the terminal description. -.PP -The \fBtigetstr\fR routine returns the value \fB(char *)-1\fR -if \fIcapname\fR is not a string capability, -or \fB0\fR if it is canceled or absent from the terminal description. -.PP -The \fIcapname\fR for each capability is given in the table column entitled -\fIcapname\fR code in the capabilities section of \fBterminfo\fR(\*n). - -\fBchar *boolnames\fR, \fB*boolcodes\fR, \fB*boolfnames\fR - -\fBchar *numnames\fR, \fB*numcodes\fR, \fB*numfnames\fR - -\fBchar *strnames\fR, \fB*strcodes\fR, \fB*strfnames\fR - -These null-terminated arrays contain the \fIcapnames\fR, the -\fBtermcap\fR codes, and the full C names, for each of the -\fBterminfo\fR variables. -.SH RETURN VALUE -Routines that return an integer return \fBERR\fR upon failure and \fBOK\fR -(SVr4 only specifies "an integer value other than \fBERR\fR") upon successful -completion, unless otherwise noted in the preceding routine descriptions. -.PP -Routines that return pointers always return \fBNULL\fR on error. -.PP -X/Open defines no error conditions. -In this implementation -.RS -.TP 5 -\fBdel_curterm\fP -returns an error -if its terminal parameter is null. -.TP 5 -\fBrestartterm\fP -returns an error -if the associated call to \fBsetupterm\fP returns an error. -.TP 5 -\fBsetupterm\fP -returns an error -if it cannot allocate enough memory, or -create the initial windows (stdscr, curscr, newscr). -Other error conditions are documented above. -.RE -.SH NOTES -The \fBsetupterm\fR routine should be used in place of \fBsetterm\fR. -It may be useful when you want to test for terminal capabilities without -committing to the allocation of storage involved in \fBinitscr\fR. -.PP -Note that \fBvidattr\fR and \fBvidputs\fR may be macros. -.SH PORTABILITY -The function \fBsetterm\fR is not described in the XSI Curses standard and must -be considered non-portable. All other functions are as described in the XSI -curses standard. -.PP -In System V Release 4, \fBset_curterm\fR has an \fBint\fR return type and -returns \fBOK\fR or \fBERR\fR. We have chosen to implement the XSI Curses -semantics. -.PP -In System V Release 4, the third argument of \fBtputs\fR has the type -\fBint (*putc)(char)\fR. -.PP -The XSI Curses standard prototypes \fBtparm\fR with a fixed number of parameters, -rather than a variable argument list. -This implementation uses a variable argument list. -Portable applications should provide 9 parameters after the format; -zeroes are fine for this purpose. -.PP -XSI notes that after calling \fBmvcur\fR, the curses state may not match the -actual terminal state, and that an application should touch and refresh -the window before resuming normal curses calls. -Both ncurses and System V Release 4 curses implement \fBmvcur\fR using -the SCREEN data allocated in either \fBinitscr\fR or \fBnewterm\fR. -So though it is documented as a terminfo function, -\fBmvcur\fR is really a curses function which is not well specified. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_kernel\fR(3X), \fBcurs_termcap\fR(3X), -\fBputc\fR(3S), \fBterminfo\fR(\*n) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_touch.3x b/src/libs/ncurses/man/curs_touch.3x deleted file mode 100644 index fa0f12ca7a..0000000000 --- a/src/libs/ncurses/man/curs_touch.3x +++ /dev/null @@ -1,116 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_touch.3x,v 1.10 2005/05/15 16:19:19 tom Exp $ -.TH curs_touch 3X "" -.na -.hy 0 -.SH NAME -\fBtouchwin\fR, -\fBtouchline\fR, -\fBuntouchwin\fR, -\fBwtouchln\fR, -\fBis_linetouched\fR, -\fBis_wintouched\fR - \fBcurses\fR refresh control routines -.ad -.hy -.SH SYNOPSIS -\fB#include \fR -.br -\fBint touchwin(WINDOW *win);\fR -.br -\fBint touchline(WINDOW *win, int start, int count);\fR -.br -\fBint untouchwin(WINDOW *win);\fR -.br -\fBint wtouchln(WINDOW *win, int y, int n, int changed);\fR -.br -\fBbool is_linetouched(WINDOW *win, int line);\fR -.br -\fBbool is_wintouched(WINDOW *win);\fR -.br -.SH DESCRIPTION -The \fBtouchwin\fR and \fBtouchline\fR routines throw away all -optimization information about which parts of the window have been -touched, by pretending that the entire window has been drawn on. This -is sometimes necessary when using overlapping windows, since a change -to one window affects the other window, but the records of which lines -have been changed in the other window do not reflect the change. The -routine \fBtouchline\fR only pretends that \fIcount\fR lines have been -changed, beginning with line \fIstart\fR. - -The \fBuntouchwin\fR routine marks all lines in the window as unchanged since -the last call to \fBwrefresh\fR. - -The \fBwtouchln\fR routine makes \fIn\fR lines in the window, starting -at line \fIy\fR, look as if they have (\fIchanged\fR\fB=1\fR) or have -not (\fIchanged\fR\fB=0\fR) been changed since the last call to -\fBwrefresh\fR. - -The \fBis_linetouched\fR and \fBis_wintouched\fR routines return -\fBTRUE\fR if the specified line/window was modified since the last -call to \fBwrefresh\fR; otherwise they return \fBFALSE\fR. In -addition, \fBis_linetouched\fR returns \fBERR\fR if \fIline\fR is not -valid for the given window. -.SH RETURN VALUE -All routines return the integer \fBERR\fR upon failure and an integer value -other than \fBERR\fR upon successful completion, unless otherwise noted in the -preceding routine descriptions. -.PP -X/Open does not define any error conditions. -In this implementation -.RS -.TP 5 -\fBis_linetouched\fP -returns an error -if the window pointer is null, or -if the line number is outside the window. -Note that ERR is distinct from TRUE and FALSE, which are the normal return values of this function. -.TP 5 -\fBwtouchln\fP -returns an error -if the window pointer is null, or -if the line number is outside the window. -.RE -.SH PORTABILITY -The XSI Curses standard, Issue 4 describes these functions. - -Some historic curses implementations had, as an undocumented feature, the -ability to do the equivalent of \fBclearok(..., 1)\fR by saying -\fBtouchwin(stdscr)\fR or \fBclear(stdscr)\fR. This will not work under -ncurses. -.SH NOTES -Note that all routines except \fBwtouchln\fR may be macros. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_refresh\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_trace.3x b/src/libs/ncurses/man/curs_trace.3x deleted file mode 100644 index 560302c42c..0000000000 --- a/src/libs/ncurses/man/curs_trace.3x +++ /dev/null @@ -1,153 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 2000-2002,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_trace.3x,v 1.7 2005/05/15 17:02:54 tom Exp $ -.TH curs_trace 3X "" -.na -.hy 0 -.SH NAME -\fB_tracef\fR, -\fB_tracedump\fR, -\fB_traceattr\fR, -\fB_traceattr2\fR, -\fB_nc_tracebits\fR, -\fB_tracechar\fR, -\fB_tracechtype\fR, -\fB_tracechtype2\fR, -\fB_tracemouse\fR, -\fBtrace\fR - \fBcurses\fR debugging routines -.ad -.hy -.SH SYNOPSIS -\fB#include \fR -.sp -\fBvoid _tracef(const char *format, ...);\fR -.br -\fBvoid _tracedump(const char *label, WINDOW *win);\fR -.br -\fBchar *_traceattr(attr_t attr);\fR -.br -\fBchar *_traceattr2(int buffer, chtype ch);\fR -.br -\fBchar *_nc_tracebits(void);\fR -.br -\fBchar *_tracechar(const unsigned char ch);\fR -.br -\fBchar *_tracechtype(chtype ch);\fR -.br -\fBchar *_tracechtype2(int buffer, chtype ch);\fR -.br -\fBchar *_tracemouse(const MEVENT *event);\fR -.br -\fBvoid trace(const unsigned int param);\fR -.SH DESCRIPTION -The \fBtrace\fR routines are used for debugging the ncurses libraries, -as well as applications which use the ncurses libraries. -These functions are normally available only with the debugging library -\fIlibncurses_g.a\fR, but may be compiled into any model (shared, static, -profile) by defining the symbol \fBTRACE\fR. -.PP -The principal parts of this interface are the \fBtrace\fR routine which -selectively enables different tracing features, and the \fB_tracef\fR -routine which writes formatted data to the \fItrace\fR file. -.PP -Calling \fBtrace\fR with a nonzero parameter opens the file \fBtrace\fR -in the current directory for output. The parameter is formed by OR'ing -values from the list of \fBTRACE_\fP\fIxxx\fR definitions in \fB\fR. -These include: -.TP 5 -TRACE_DISABLE -turn off tracing. -.TP 5 -TRACE_TIMES -trace user and system times of updates. -.TP 5 -TRACE_TPUTS -trace tputs calls. -.TP 5 -TRACE_UPDATE -trace update actions, old & new screens. -.TP 5 -TRACE_MOVE -trace cursor movement and scrolling. -.TP 5 -TRACE_CHARPUT -trace all character outputs. -.TP 5 -TRACE_ORDINARY -trace all update actions. -The old and new screen contents are written to the trace file -for each refresh. -.TP 5 -TRACE_CALLS -trace all curses calls. -The parameters for each call are traced, as well as return values. -.TP 5 -TRACE_VIRTPUT -trace virtual character puts, i.e., calls to \fBaddch\fR. -.TP 5 -TRACE_IEVENT -trace low-level input processing, including timeouts. -.TP 5 -TRACE_BITS -trace state of TTY control bits. -.TP 5 -TRACE_ICALLS -trace internal/nested calls. -.TP 5 -TRACE_CCALLS -trace per-character calls. -.TP 5 -TRACE_DATABASE -trace read/write of terminfo/termcap data. -.TP 5 -TRACE_ATTRS -trace changes to video attributes and colors. -.TP 5 -TRACE_MAXIMUM -maximum trace level, enables all of the separate trace features. -.PP -Some tracing features are enabled whenever the \fBtrace\fR parameter -is nonzero. Some features overlap. -The specific names are used as a guideline. -.SH RETURN VALUE -Routines which return a value are designed to be used as parameters -to the \fB_tracef\fR routine. -.SH PORTABILITY -These functions are not part of the XSI interface. -Some other curses implementations are known to -have similar, undocumented features, -but they are not compatible with ncurses. -.SH SEE ALSO -\fBcurses\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_util.3x b/src/libs/ncurses/man/curs_util.3x deleted file mode 100644 index 7b2617e6c2..0000000000 --- a/src/libs/ncurses/man/curs_util.3x +++ /dev/null @@ -1,165 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_util.3x,v 1.17 2005/06/25 21:51:37 tom Exp $ -.TH curs_util 3X "" -.na -.hy 0 -.SH NAME -\fBdelay_output\fR, -\fBfilter\fR, -\fBflushinp\fR, -\fBgetwin\fR, -\fBkey_name\fR, -\fBkeyname\fR, -\fBputwin\fR, -\fBunctrl\fR, -\fBuse_env\fR, -\fBwunctrl\fR - miscellaneous \fBcurses\fR utility routines -.ad -.hy -.SH SYNOPSIS -\fB#include \fR -.sp -\fBchar *unctrl(chtype c);\fR -.br -\fBchar *wunctrl(cchar_t *c);\fR -.br -\fBchar *keyname(int c);\fR -.br -\fBchar *key_name(wchar_t w);\fR -.br -\fBvoid filter(void);\fR -.br -\fBvoid use_env(bool f);\fR -.br -\fBint putwin(WINDOW *win, FILE *filep);\fR -.br -\fBWINDOW *getwin(FILE *filep);\fR -.br -\fBint delay_output(int ms);\fR -.br -\fBint flushinp(void);\fR -.br -.SH DESCRIPTION -The \fBunctrl\fR routine returns a character string which is a printable -representation of the character \fIc\fR, ignoring attributes. -Control characters are displayed in the \fB^\fR\fIX\fR notation. -Printing characters are displayed as is. -The corresponding \fBwunctrl\fR returns a printable representation of -a wide-character. -.PP -The \fBkeyname\fR routine returns a character string corresponding to the key \fIc\fR. -Control characters are displayed in the \fB^\fR\fIX\fR notation. -Values above 128 are either meta characters, shown in the \fBM-\fR\fIX\fR notation, -or the names of function keys, or null. -The corresponding \fBkey_name\fR returns a character string corresponding -to the wide-character value \fIw\fR. -The two functions do not return the same set of strings; -the latter returns null where the former would display a meta character. -.PP -The \fBfilter\fR routine, if used, must be called before \fBinitscr\fR or -\fBnewterm\fR are called. The effect is that, during those calls, \fBLINES\fR -is set to 1; the capabilities \fBclear\fR, \fBcup\fR, \fBcud\fR, \fBcud1\fR, -\fBcuu1\fR, \fBcuu\fR, \fBvpa\fR are disabled; and the \fBhome\fR string is -set to the value of \fBcr\fR. -.PP -The \fBuse_env\fR routine, if used, is called before \fBinitscr\fR or -\fBnewterm\fR are called. When called with \fBFALSE\fR as an -argument, the values of \fBlines\fR and \fBcolumns\fR specified in the -\fIterminfo\fR database will be used, even if environment variables -\fBLINES\fR and \fBCOLUMNS\fR (used by default) are set, or if -\fBcurses\fR is running in a window (in which case default behavior -would be to use the window size if \fBLINES\fR and \fBCOLUMNS\fR are -not set). -Note that setting \fBLINES\fR or \fBCOLUMNS\fR overrides the -corresponding size which may be obtained from the operating system. -.PP -The \fBputwin\fR routine writes all data associated with window \fIwin\fR into -the file to which \fIfilep\fR points. This information can be later retrieved -using the \fBgetwin\fR function. -.PP -The \fBgetwin\fR routine reads window related data stored in the file by -\fBputwin\fR. The routine then creates and initializes a new window using that -data. It returns a pointer to the new window. -.PP -The \fBdelay_output\fR routine inserts an \fIms\fR millisecond pause -in output. This routine should not be used extensively because -padding characters are used rather than a CPU pause. -If no padding character is specified, this uses \fBnapms\fR to perform the delay. -.PP -The \fBflushinp\fR routine throws away any typeahead that has been typed by the -user and has not yet been read by the program. -.SH RETURN VALUE -Except for \fBflushinp\fR, routines that return an integer return \fBERR\fR -upon failure and \fBOK\fR (SVr4 specifies only "an integer value other than -\fBERR\fR") upon successful completion. -.PP -Routines that return pointers return \fBNULL\fR on error. -.PP -X/Open does not define any error conditions. -In this implementation -.RS -.TP 5 -\fBflushinp\fR -returns an error if the terminal was not initialized. -.TP 5 -\fBputwin\fP -returns an error if the associated \fBfwrite\fP calls return an error. -.RE -.SH PORTABILITY -The XSI Curses standard, Issue 4 describes these functions. -It states that \fBunctrl\fR and \fBwunctrl\fR will return a null pointer if -unsuccessful, but does not define any error conditions. -.PP -The SVr4 documentation describes the action of \fBfilter\fR only in the vaguest -terms. The description here is adapted from the XSI Curses standard (which -erroneously fails to describe the disabling of \fBcuu\fR). -.PP -The strings returned by \fBunctrl\fR in this implementation are determined -at compile time, showing C1 controls from the upper-128 codes with a `~' -prefix rather than `^'. -Other implementations typically show both sets of control characters with `^', -and may strip the parameter to 7 bits. -This implementation uses 8 bits but does not modify the string to reflect -locale. -.PP -The \fBkeyname\fP function may return the names of user-defined -string capabilities which are defined in the terminfo entry via the \fB-x\fP -option of \fBtic\fP. -.SH SEE ALSO -\fBcurses\fR(3X), -\fBcurs_initscr\fR(3X), -\fBcurs_kernel\fR(3X), -\fBcurs_scr_dump\fR(3X). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/curs_window.3x b/src/libs/ncurses/man/curs_window.3x deleted file mode 100644 index 8c572995e9..0000000000 --- a/src/libs/ncurses/man/curs_window.3x +++ /dev/null @@ -1,188 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: curs_window.3x,v 1.13 2005/05/15 16:32:02 tom Exp $ -.TH curs_window 3X "" -.na -.hy 0 -.SH NAME -\fBnewwin\fR, -\fBdelwin\fR, -\fBmvwin\fR, -\fBsubwin\fR, -\fBderwin\fR, -\fBmvderwin\fR, -\fBdupwin\fR, -\fBwsyncup\fR, -\fBsyncok\fR, -\fBwcursyncup\fR, -\fBwsyncdown\fR - create \fBcurses\fR windows -.ad -.hy -.SH SYNOPSIS -\fB#include \fR - -\fBWINDOW *newwin(int nlines, int ncols, int begin_y,\fR - \fBint begin_x);\fR -.br -\fBint delwin(WINDOW *win);\fR -.br -\fBint mvwin(WINDOW *win, int y, int x);\fR -.br -\fBWINDOW *subwin(WINDOW *orig, int nlines, int ncols,\fR - \fBint begin_y, int begin_x);\fR -.br -\fBWINDOW *derwin(WINDOW *orig, int nlines, int ncols,\fR - \fBint begin_y, int begin_x);\fR -.br -\fBint mvderwin(WINDOW *win, int par_y, int par_x);\fR -.br -\fBWINDOW *dupwin(WINDOW *win);\fR -.br -\fBvoid wsyncup(WINDOW *win);\fR -.br -\fBint syncok(WINDOW *win, bool bf);\fR -.br -\fBvoid wcursyncup(WINDOW *win);\fR -.br -\fBvoid wsyncdown(WINDOW *win);\fR -.br -.SH DESCRIPTION -Calling \fBnewwin\fR creates and returns a pointer to a new window with the -given number of lines and columns. The upper left-hand corner of the window is -at line \fIbegin\fR_\fIy\fR, column \fIbegin\fR_\fIx\fR. If either -\fInlines\fR or \fIncols\fR is zero, they default to \fBLINES -\fR -\fIbegin\fR_\fIy\fR and \fBCOLS -\fR \fIbegin\fR_\fIx\fR. A new full-screen -window is created by calling \fBnewwin(0,0,0,0)\fR. - -Calling \fBdelwin\fR deletes the named window, freeing all memory -associated with it (it does not actually erase the window's screen -image). Subwindows must be deleted before the main window can be -deleted. - -Calling \fBmvwin\fR moves the window so that the upper left-hand -corner is at position (\fIx\fR, \fIy\fR). If the move would cause the -window to be off the screen, it is an error and the window is not -moved. Moving subwindows is allowed, but should be avoided. - -Calling \fBsubwin\fR creates and returns a pointer to a new window -with the given number of lines, \fInlines\fR, and columns, -\fIncols\fR. The window is at position (\fIbegin\fR_\fIy\fR, -\fIbegin\fR_\fIx\fR) on the screen. (This position is relative to the -screen, and not to the window \fIorig\fR.) The window is made in the -middle of the window \fIorig\fR, so that changes made to one window -will affect both windows. The subwindow shares memory with the window -\fIorig\fR. When using this routine, it is necessary to call -\fBtouchwin\fR or \fBtouchline\fR on \fIorig\fR before calling -\fBwrefresh\fR on the subwindow. - -Calling \fBderwin\fR is the same as calling \fBsubwin,\fR except that -\fIbegin\fR_\fIy\fR and \fIbegin\fR_\fIx\fR are relative to the origin -of the window \fIorig\fR rather than the screen. There is no -difference between the subwindows and the derived windows. - -Calling \fBmvderwin\fR moves a derived window (or subwindow) -inside its parent window. The screen-relative parameters of the -window are not changed. This routine is used to display different -parts of the parent window at the same physical position on the -screen. - -Calling \fBdupwin\fR creates an exact duplicate of the window \fIwin\fR. - -Calling \fBwsyncup\fR touches all locations in ancestors of \fIwin\fR that are -changed in \fIwin\fR. If \fBsyncok\fR is called with second argument -\fBTRUE\fR then \fBwsyncup\fR is called automatically whenever there is a -change in the window. - -The \fBwsyncdown\fR routine touches each location in \fIwin\fR that has been -touched in any of its ancestor windows. This routine is called by -\fBwrefresh\fR, so it should almost never be necessary to call it manually. - -The routine \fBwcursyncup\fR updates the current cursor position of all the -ancestors of the window to reflect the current cursor position of the -window. -.SH RETURN VALUE -Routines that return an integer return the integer \fBERR\fR upon failure and -\fBOK\fR (SVr4 only specifies "an integer value other than \fBERR\fR") upon -successful completion. -.PP -Routines that return pointers return \fBNULL\fR on error. -.PP -X/Open defines no error conditions. -In this implementation -.RS -.TP 5 -\fBdelwin\fR -returns an error if the window pointer is null, or -if the window is the parent of another window. -.IP -This implementation also maintains a list of windows, -and checks that the pointer passed to \fBdelwin\fP is one that -it created, returning an error if it was not.. -.TP 5 -\fBmvderwin\fP -returns an error -if the window pointer is null, or -if some part of the window would be placed off-screen. -.TP 5 -\fBmvwin\fP -returns an error -if the window pointer is null, or -if the window is really a pad, or -if some part of the window would be placed off-screen. -.TP 5 -\fBsyncok\fP -returns an error -if the window pointer is null. -.RE -.SH NOTES -If many small changes are made to the window, the \fBwsyncup\fR option could -degrade performance. - -Note that \fBsyncok\fR may be a macro. -.SH BUGS -The subwindow functions (\fIsubwin\fR, \fIderwin\fR, \fImvderwin\fR, -\fBwsyncup\fR, \fBwsyncdown\fR, \fBwcursyncup\fR, \fBsyncok\fR) are flaky, -incompletely implemented, and not well tested. - -The System V curses documentation is very unclear about what \fBwsyncup\fR -and \fBwsyncdown\fR actually do. It seems to imply that they are only -supposed to touch exactly those lines that are affected by ancestor changes. -The language here, and the behavior of the \fBcurses\fR implementation, -is patterned on the XPG4 curses standard. The weaker XPG4 spec may result -in slower updates. -.SH PORTABILITY -The XSI Curses standard, Issue 4 describes these functions. -.SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_refresh\fR(3X), \fBcurs_touch\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/default_colors.3x b/src/libs/ncurses/man/default_colors.3x deleted file mode 100644 index e00b4981c2..0000000000 --- a/src/libs/ncurses/man/default_colors.3x +++ /dev/null @@ -1,145 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" Author: Thomas E. Dickey 1997,1999,2000,2005 -.\" -.\" $Id: default_colors.3x,v 1.18 2005/02/19 20:25:44 tom Exp $ -.TH default_colors 3X "" -.SH NAME -\fBuse_default_colors\fR, -\fBassume_default_colors\fR \- use terminal's default colors -.SH SYNOPSIS -\fB#include \fP - -\fBint use_default_colors(void);\fP -.br -\fBint assume_default_colors(int fg, int bg);\fP -.SH DESCRIPTION -The -.I use_default_colors() -and -.I assume_default_colors() -functions are extensions to the curses library. -They are used with terminals that support ISO 6429 color, or equivalent. -These terminals allow the application to reset color to an unspecified -default value (e.g., with SGR 39 or SGR 49). -.PP -Applications that paint a colored background over the whole screen -do not take advantage of SGR 39 and SGR 49. -Some applications are designed to work with the default background, -using colors only for text. -For example, there are several implementations of the \fBls\fP program -which use colors to denote different file types or permissions. -These "color ls" programs do not necessarily modify the background color, -typically using only the \fIsetaf\fP terminfo capability to set the -foreground color. -Full-screen applications that use default colors can achieve similar -visual effects. -.PP -The first function, -.I use_default_colors() -tells the curses library to assign terminal default -foreground/background colors to color number -1. So init_pair(x,COLOR_RED,-1) -will initialize pair x as red on default background and init_pair(x,-1,COLOR_BLUE) will -initialize pair x as default foreground on blue. -.PP -The other, -.I assume_default_colors() -is a refinement which tells which colors to paint for color pair 0. -This function recognizes a special color number -1, -which denotes the default terminal color. -.PP -The following are equivalent: -.RS -.br -.I use_default_colors(); -.br -.I assume_default_colors(-1,-1); -.RE -.PP -These are ncurses extensions. -For other curses implementations, color -number -1 does not mean anything, just as for ncurses before a -successful call of \fIuse_default_colors()\fP or \fIassume_default_colors()\fP. -.PP -Other curses implementations do not allow an application to modify color pair 0. -They assume that the background is COLOR_BLACK, -but do not ensure that the color pair 0 is painted to match the -assumption. -If your application does not use either -.I use_default_colors() -or -.I assume_default_colors() -ncurses will paint a white foreground (text) with black background -for color pair 0. -.SH RETURN VALUE -These functions return the integer \fBERR\fP upon failure and \fBOK\fP on success. -They will fail if either the terminal does not support -the \fIorig_pair\fP or \fIorig_colors\fP capability. -If the \fIinitialize_pair\fP capability is found, this causes an -error as well. -.SH NOTES -Associated with this extension, the \fBinit_pair\fR(3X) function accepts -negative arguments to specify default foreground or background -colors. -.PP -The \fIuse_default_colors()\fP function was added to support \fIded\fP. -This is a full-screen application which uses curses to manage only part -of the screen. The bottom portion of the screen, which is of adjustable -size, is left uncolored to display the results from shell commands. -The top portion of the screen colors filenames using a scheme like the -"color ls" programs. -Attempting to manage the background color of the screen for this application -would give unsatisfactory results for a variety of reasons. -This extension was devised after -noting that color xterm (and similar programs) provides a background color -which does not necessarily correspond to any of the ANSI colors. -While a special terminfo entry could be constructed using nine colors, -there was no mechanism provided within curses to account for the related -\fIorig_pair\fP and \fIback_color_erase\fP capabilities. -.PP -The \fIassume_default_colors()\fP function was added to solve -a different problem: support for applications which would use -environment variables and other configuration to bypass curses' -notion of the terminal's default colors, setting specific values. -.SH PORTABILITY -These routines are specific to ncurses. They were not supported on -Version 7, BSD or System V implementations. It is recommended that -any code depending on them be conditioned using NCURSES_VERSION. -.SH SEE ALSO -\fBcurs_color\fR(3X), -\fBded\fP(1). -.SH AUTHOR -Thomas Dickey (from an analysis of the requirements for color xterm -for XFree86 3.1.2C, February 1996). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/define_key.3x b/src/libs/ncurses/man/define_key.3x deleted file mode 100644 index b7bca879f2..0000000000 --- a/src/libs/ncurses/man/define_key.3x +++ /dev/null @@ -1,65 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" Author: Thomas E. Dickey 1997 -.\" -.\" $Id: define_key.3x,v 1.11 2004/06/05 19:20:03 tom Exp $ -.TH define_key 3X "" -.SH NAME -\fBdefine_key\fP \- define a keycode -.SH SYNOPSIS -\fB#include \fP - -\fBint define_key(const char *definition, int keycode);\fP -.SH DESCRIPTION -This is an extension to the curses library. -It permits an application to define keycodes with their corresponding control -strings, so that the ncurses library will interpret them just as it would -the predefined codes in the terminfo database. -.PP -If the given string is null, any existing definition for the keycode is -removed. -Similarly, if the given keycode is negative or zero, any existing string -for the given definition is removed. -.SH RETURN VALUE -The keycode must be greater than zero, else ERR is returned. -.SH PORTABILITY -These routines are specific to ncurses. They were not supported on -Version 7, BSD or System V implementations. It is recommended that -any code depending on them be conditioned using NCURSES_VERSION. -.SH SEE ALSO -\fBkeyok\fR(3X), -\fBkey_defined\fR(3X). -.SH AUTHOR -Thomas Dickey. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form.3x b/src/libs/ncurses/man/form.3x deleted file mode 100644 index 811b9ff747..0000000000 --- a/src/libs/ncurses/man/form.3x +++ /dev/null @@ -1,200 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998,2002 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form.3x,v 1.15 2002/01/19 22:48:05 tom Exp $ -.TH form 3X "" -.SH NAME -\fBform\fR - curses extension for programming forms -.SH SYNOPSIS -\fB#include \fR -.br -.SH DESCRIPTION -The \fBform\fR library provides terminal-independent facilities for composing -form screens on character-cell terminals. The library includes: field -routines, which create and modify form fields; and form routines, which group -fields into forms, display forms on the screen, and handle interaction with the -user. - -The \fBform\fR library uses the \fBcurses\fR libraries, and a curses -initialization routine such as \fBinitscr\fR must be called before using any of -these functions. To use the \fBform\fR library, link with the options -\fB-lform -lcurses\fR. - -.SS Current Default Values for Field Attributes - -The \fBform\fR library maintains a default value for field attributes. You -can get or set this default by calling the appropriate \fBset_\fR -or retrieval -routine with a \fBNULL\fR field pointer. Changing this default with a -\fBset_\fR function affects future field creations, but does not change the -rendering of fields already created. - -.SS Routine Name Index - -The following table lists each \fBform\fR routine and the name of -the manual page on which it is described. - -.TS -l l -l l . -\fBcurses\fR Routine Name Manual Page Name -= -current_field \fBform_page\fR(3X) -data_ahead \fBform_data\fR(3X) -data_behind \fBform_data\fR(3X) -dup_field \fBform_field_new\fR(3X) -dynamic_fieldinfo \fBform_field_info\fR(3X) -field_arg \fBform_field_validation\fR(3X) -field_back \fBform_field_attributes\fR(3X) -field_buffer \fBform_field_buffer\fR(3X) -field_count \fBform_field\fR(3X) -field_fore \fBform_field_attributes\fR(3X) -field_index \fBform_page\fR(3X) -field_info \fBform_field_info\fR(3X) -field_init \fBform_hook\fR(3X) -field_just \fBform_field_just\fR(3X) -field_opts \fBform_field_opts\fR(3X) -field_opts_off \fBform_field_opts\fR(3X) -field_opts_on \fBform_field_opts\fR(3X) -field_pad \fBform_field_attributes\fR(3X) -field_status \fBform_field_buffer\fR(3X) -field_term \fBform_hook\fR(3X) -field_type \fBform_field_validation\fR(3X) -field_userptr \fBform_field_userptr\fR(3X) -form_driver \fBform_driver\fR(3X) -form_fields \fBform_field\fR(3X) -form_init \fBform_hook\fR(3X) -form_opts \fBform_opts\fR(3X) -form_opts_off \fBform_opts\fR(3X) -form_opts_on \fBform_opts\fR(3X) -form_page \fBform_page\fR(3X) -form_request_by_name \fBform_requestname\fR(3X) -form_request_name \fBform_requestname\fR(3X) -form_sub \fBform_win\fR(3X) -form_term \fBform_hook\fR(3X) -form_userptr \fBform_userptr\fR(3X) -form_win \fBform_win\fR(3X) -free_field \fBform_field_new\fR(3X) -free_form \fBform_new\fR(3X) -link_field \fBform_field_new\fR(3X) -link_fieldtype \fBform_fieldtype\fR(3X) -move_field \fBform_field\fR(3X) -new_field \fBform_field_new\fR(3X) -new_form \fBform_new\fR(3X) -new_page \fBform_new_page\fR(3X) -pos_form_cursor \fBform_cursor\fR(3X) -post_form \fBform_post\fR(3X) -scale_form \fBform_win\fR(3X) -set_current_field \fBform_page\fR(3X) -set_field_back \fBform_field_attributes\fR(3X) -set_field_buffer \fBform_field_buffer\fR(3X) -set_field_fore \fBform_field_attributes\fR(3X) -set_field_init \fBform_hook\fR(3X) -set_field_just \fBform_field_just\fR(3X) -set_field_opts \fBform_field_opts\fR(3X) -set_field_pad \fBform_field_attributes\fR(3X) -set_field_status \fBform_field_buffer\fR(3X) -set_field_term \fBform_hook\fR(3X) -set_field_type \fBform_field_validation\fR(3X) -set_field_userptr \fBform_field_userptr\fR(3X) -set_fieldtype_arg \fBform_fieldtype\fR(3X) -set_fieldtype_choice \fBform_fieldtype\fR(3X) -set_form_fields \fBform_field\fR(3X) -set_form_init \fBform_hook\fR(3X) -set_form_opts \fBform_field_opts\fR(3X) -set_form_page \fBform_page\fR(3X) -set_form_sub \fBform_win\fR(3X) -set_form_term \fBform_hook\fR(3X) -set_form_userptr \fBform_userptr\fR(3X) -set_form_win \fBform_win\fR(3X) -set_max_field \fBform_field_buffer\fR(3X) -set_new_page \fBform_new_page\fR(3X) -unpost_form \fBform_post\fR(3X) -.TE -.SH RETURN VALUE -Routines that return pointers return \fBNULL\fR on error. Routines that return -an integer return one of the following error codes: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_CONNECTED\fR -The field is already connected to a form. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_POSTED\fR -The form is already posted. -.TP 5 -\fBE_BAD_STATE\fR -Routine was called from an initialization or termination function. -.TP 5 -\fBE_NO_ROOM\fR -Form is too large for its window. -.TP 5 -\fBE_NOT_POSTED\fR -The form has not been posted. -.TP 5 -\fBE_UNKNOWN_COMMAND\fR -The form driver code saw an unknown request code. -.TP 5 -\fBE_INVALID_FIELD\fR -Contents of a field are not valid. -.TP 5 -\fBE_NOT_CONNECTED\fR -No fields are connected to the form. -.TP 5 -\fBE_REQUEST_DENIED\fR -The form driver could not process the request. -.SH SEE ALSO -\fBcurses\fR(3X) and related pages whose names begin "form_" for detailed -descriptions of the entry points. -.SH NOTES -The header file \fB\fR automatically includes the header files -\fB\fR and \fB\fR. - -In your library list, libform.a should be before libncurses.a; that is, -you want to say `-lform -lncurses', not the other way around (which would -give you a link error using GNU \fBld\fR(1) and many other linkers). -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for ncurses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_cursor.3x b/src/libs/ncurses/man/form_cursor.3x deleted file mode 100644 index ab37c99e7f..0000000000 --- a/src/libs/ncurses/man/form_cursor.3x +++ /dev/null @@ -1,74 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_cursor.3x,v 1.4 1998/11/29 01:05:43 Rick.Ohnemus Exp $ -.TH form_cursor 3X "" -.SH NAME -\fBform_cursor\fR - position a form window cursor -.SH SYNOPSIS -\fB#include \fR -.br -int pos_form_cursor(FORM *form); -.br -.SH DESCRIPTION -The function \fBpos_form_cursor\fR restores the cursor to the position required -for the forms driver to continue processing requests. This is useful after -\fBcurses\fR routines have been called to do screen-painting in response to a -form operation. -.SH RETURN VALUE -This routine returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_NOT_POSTED\fR -The form has not been posted. -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_data.3x b/src/libs/ncurses/man/form_data.3x deleted file mode 100644 index 3767e95459..0000000000 --- a/src/libs/ncurses/man/form_data.3x +++ /dev/null @@ -1,63 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_data.3x,v 1.7 1998/11/29 01:13:22 Rick.Ohnemus Exp $ -.TH form_data 3X "" -.SH NAME -\fBform_data\fR - test for off-screen data in given forms -.SH SYNOPSIS -\fB#include \fR -.br -bool data_ahead(const FORM *form); -.br -bool data_behind(const FORM *form); -.br -.SH DESCRIPTION -The function \fBdata_ahead\fR tests whether there is off-screen data -ahead in the given form. It returns TRUE (1) or FALSE (0). - -The function \fBdata_behind\fR tests whether there is off-screen data -behind in the given form. It returns TRUE (1) or FALSE (0). -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_driver.3x b/src/libs/ncurses/man/form_driver.3x deleted file mode 100644 index 2354089101..0000000000 --- a/src/libs/ncurses/man/form_driver.3x +++ /dev/null @@ -1,272 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998,2002 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_driver.3x,v 1.9 2002/02/16 22:39:52 tom Exp $ -.TH form_driver 3X "" -.SH NAME -\fBform_driver\fR - command-processing loop of the form system -.SH SYNOPSIS -\fB#include \fR -.br -int form_driver(FORM *form, int c); -.br -.SH DESCRIPTION -Once a form has been posted (displayed), you should funnel input events to it -through \fBform_driver\fR. This routine has two major input cases; either -the input is a form navigation request or it's a printable ASCII character. -The form driver requests are as follows: -.TP 5 -REQ_NEXT_PAGE -Move to the next page. -.TP 5 -REQ_PREV_PAGE -Move to the previous page. -.TP 5 -REQ_FIRST_PAGE -Move to the first page. -.TP 5 -REQ_LAST_PAGE -Move to the last field. - -.TP 5 -REQ_NEXT_FIELD -Move to the next field. -.TP 5 -REQ_PREV_FIELD -Move to the previous field. -.TP 5 -REQ_FIRST_FIELD -Move to the first field. -.TP 5 -REQ_LAST_FIELD -Move to the last field. -.TP 5 -REQ_SNEXT_FIELD -Move to the sorted next field. -.TP 5 -REQ_SPREV_FIELD -Move to the sorted previous field. -.TP 5 -REQ_SFIRST_FIELD -Move to the sorted first field. -.TP 5 -REQ_SLAST_FIELD -Move to the sorted last field. -.TP 5 -REQ_LEFT_FIELD -Move left to a field. -.TP 5 -REQ_RIGHT_FIELD -Move right to a field. -.TP 5 -REQ_UP_FIELD -Move up to a field. -.TP 5 -REQ_DOWN_FIELD -Move down to a field. - -.TP 5 -REQ_NEXT_CHAR -Move to the next char. -.TP 5 -REQ_PREV_CHAR -Move to the previous char. -.TP 5 -REQ_NEXT_LINE -Move to the next line. -.TP 5 -REQ_PREV_LINE -Move to the previous line. -.TP 5 -REQ_NEXT_WORD -Move to the next word. -.TP 5 -REQ_PREV_WORD -Move to the previous word. -.TP 5 -REQ_BEG_FIELD -Move to the beginning of the field. -.TP 5 -REQ_END_FIELD -Move to the end of the field. -.TP 5 -REQ_BEG_LINE -Move to the beginning of the line. -.TP 5 -REQ_END_LINE -Move to the end of the line. -.TP 5 -REQ_LEFT_CHAR -Move left in the field. -.TP 5 -REQ_RIGHT_CHAR -Move right in the field. -.TP 5 -REQ_UP_CHAR -Move up in the field. -.TP 5 -REQ_DOWN_CHAR -Move down in the field. - -.TP 5 -REQ_NEW_LINE -Insert or overlay a new line. -.TP 5 -REQ_INS_CHAR -Insert a blank at the cursor. -.TP 5 -REQ_INS_LINE -Insert a blank line at the cursor. -.TP 5 -REQ_DEL_CHAR -Delete character at the cursor. -.TP 5 -REQ_DEL_PREV -Delete character before the cursor. -.TP 5 -REQ_DEL_LINE -Delete line at the cursor. -.TP 5 -REQ_DEL_WORD -Delete blank-delimited word at the cursor. -.TP 5 -REQ_CLR_EOL -Clear to end of line from cursor. -.TP 5 -REQ_CLR_EOF -Clear to end of field from cursor. -.TP 5 -REQ_CLR_FIELD -Clear the entire field. -.TP 5 -REQ_OVL_MODE -Enter overlay mode. -.TP 5 -REQ_INS_MODE -Enter insert mode. - -.TP 5 -REQ_SCR_FLINE -Scroll the field forward a line. -.TP 5 -REQ_SCR_BLINE -Scroll the field backward a line. -.TP 5 -REQ_SCR_FPAGE -Scroll the field forward a page. -.TP 5 -REQ_SCR_BPAGE -Scroll the field backward a page. -.TP 5 -REQ_SCR_FHPAGE -Scroll the field forward half a page. -.TP 5 -REQ_SCR_BHPAGE -Scroll the field backward half a page. - -.TP 5 -REQ_SCR_FCHAR -Scroll the field forward a character. -.TP 5 -REQ_SCR_BCHAR -Scroll the field backward a character. -.TP 5 -REQ_SCR_HFLINE -Horizontal scroll the field forward a line. -.TP 5 -REQ_SCR_HBLINE -Horizontal scroll the field backward a line. -.TP 5 -REQ_SCR_HFHALF -Horizontal scroll the field forward half a line. -.TP 5 -REQ_SCR_HBHALF -Horizontal scroll the field backward half a line. - -.TP -REQ_VALIDATION -Validate field. -.TP -REQ_NEXT_CHOICE -Display next field choice. -.TP -REQ_PREV_CHOICE -Display previous field choice. -.PP -If the second argument is a printable ASCII character, the driver places it -in the current position in the current field. If it is one of the forms -requests listed above, that request is executed. -.PP -If the second argument is neither printable ASCII nor one of the above -pre-defined form requests, the driver assumes it is an application-specific -command and returns \fBE_UNKNOWN_COMMAND\fR. Application-defined commands -should be defined relative to \fBMAX_COMMAND\fR, the maximum value of these -pre-defined requests. -.SH RETURN VALUE -\fBform_driver\fR return one of the following error codes: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_BAD_STATE\fR -Routine was called from an initialization or termination function. -.TP 5 -\fBE_NOT_POSTED\fR -The form has not been posted. -.TP 5 -\fBE_UNKNOWN_COMMAND\fR -The form driver code saw an unknown request code. -.TP 5 -\fBE_INVALID_FIELD\fR -Contents of field is invalid. -.TP 5 -\fBE_REQUEST_DENIED\fR -The form driver could not process the request. -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header files -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_field.3x b/src/libs/ncurses/man/form_field.3x deleted file mode 100644 index e916bf1825..0000000000 --- a/src/libs/ncurses/man/form_field.3x +++ /dev/null @@ -1,97 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_field.3x,v 1.6 2003/05/10 20:33:49 jmc Exp $ -.TH form_field 3X "" -.SH NAME -\fBform_field\fR - make and break connections between fields and forms -.SH SYNOPSIS -\fB#include \fR -.br -int set_form_fields(FORM *form, FIELD **fields); -.br -FIELD **form_fields(const FORM *form); -.br -int field_count(const FORM *form); -.br -int move_field(FIELD *field, int frow, int fcol); -.br -.SH DESCRIPTION -The function \fBset_form_fields\fR changes the field pointer array of -the given \fIform\fR. The array must be terminated by a \fBNULL\fR. - -The function \fBform_fields\fR returns the field array of the given form. - -The function \fBfield_count\fR returns the count of fields in \fIform\fR. - -The function \fBmove_field\fR moves the given field (which must be disconnected) -to a specified location on the screen. -.SH RETURN VALUES -The function \fBform_fields\fR returns \fBNULL\fR on error. - -The function \fBfield_count\fR returns \fBERR\fR (the general -\fBcurses\fR error return value) on error. - -The functions \fBset_form_fields\fR and \fBmove_field\fR return one of -the following codes on error: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_POSTED\fR -The form is already posted. -.TP 5 -\fBE_CONNECTED\fR -The field is already connected to a form. -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. - -The SVr4 forms library documentation specifies the \fBfield_count\fR error value -as -1 (which is the value of \fBERR\fR). -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_field_attributes.3x b/src/libs/ncurses/man/form_field_attributes.3x deleted file mode 100644 index ac7a3b53ee..0000000000 --- a/src/libs/ncurses/man/form_field_attributes.3x +++ /dev/null @@ -1,91 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998,2001,2002 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_field_attributes.3x,v 1.7 2002/01/19 22:48:14 tom Exp $ -.TH form_field_attributes 3X "" -.SH NAME -\fBform_field_attributes\fR - color and attribute control for form fields -.SH SYNOPSIS -\fB#include \fR -.br -int set_field_fore(FIELD *field, chtype attr); -.br -chtype field_fore(const FIELD *field); -.br -int set_field_back(FIELD *field, chtype attr); -.br -chtype field_back(const FIELD *field); -.br -int set_field_pad(FIELD *field, int pad); -.br -int field_pad(const FIELD *field); -.br -.SH DESCRIPTION -The function \fBset_field_fore\fR sets the foreground attribute of -\fIfield\fR. This is the highlight used to display the field contents. The -function \fBfield_fore\fR returns the foreground attribute. The default is -\fBA_STANDOUT\fR. - -The function \fBset_field_back\fR sets the background attribute of -\fIform\fR. This is the highlight used to display the extent fields in the -form. The function \fBfield_back\fR returns the background attribute. The -default is \fBA_NORMAL\fR. - -The function \fBset_field_pad\fR sets the character used to fill the field. -The function \fBfield_pad\fR returns the given form's pad character. The -default is a blank. -.SH RETURN VALUE -These routines return one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.SH SEE ALSO -\fBcurses\fR(3X) and related pages whose names begin "form_" for detailed -descriptions of the entry points. -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_field_buffer.3x b/src/libs/ncurses/man/form_field_buffer.3x deleted file mode 100644 index c5d1d2ee19..0000000000 --- a/src/libs/ncurses/man/form_field_buffer.3x +++ /dev/null @@ -1,105 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_field_buffer.3x,v 1.12 2005/05/15 15:59:55 tom Exp $ -.TH form_field_buffer 3X "" -.SH NAME -\fBform_field_buffer\fR - field buffer control -.SH SYNOPSIS -\fB#include \fR -.br -int set_field_buffer(FIELD *field, int buf, const char *value); -.br -char *field_buffer(const FIELD *field, int buffer); -.br -int set_field_status(FIELD *field, bool status); -.br -bool field_status(const FIELD *field); -.br -int set_max_field(FIELD *field, int max); -.br -.SH DESCRIPTION -The function \fBset_field_buffer\fR sets the numbered buffer of the given field -to contain a given string. Buffer 0 is the displayed value of the field; other -numbered buffers may be allocated by applications through the \fBnbuf\fR -argument of (see \fBform_field_new\fR(3X)) but are not manipulated by the forms -library. The function \fBfield_buffer\fR returns the address of the buffer. -Please note that this buffer has always the length of the buffer, that means -that it may typically contain trailing spaces. If you entered leading spaces -the buffer may also contain them. If you want the raw data, you must write your -own routine that copies the value out of the buffer and removes the leading -and trailing spaces. Please note also, that subsequent operations on the form -will probably change the content of the buffer. So do not use it for long term -storage of the entered form data. - -The function \fBset_field_status\fR sets the associated status flag of -\fIfield\fR; \fBfield_status\fR gets the current value. The status flag -is set to a nonzero value whenever the field changes. - -The function \fBset_max_field\fR sets the maximum size for a dynamic field. -An argument of 0 turns off any maximum size threshold for that field. -.SH RETURN VALUE -The \fBfield_buffer\fR function returns NULL on error. - -The \fBfield_status\fR function returns \fBTRUE\fR or \fBFALSE\fR. - -The remaining routines return one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.SH SEE ALSO -\fBcurses\fR(3X) and related pages whose names begin "form_" for detailed -descriptions of the entry points. -.SH NOTES -The header file \fB\fR automatically includes the header file - -When configured for wide-characters, \fBfield_buffer\fP returns a pointer -to temporary storage (allocated and freed by the library). -The application should not attempt to modify the data. -It will be freed on the next call to \fBfield_buffer\fP to return the -same buffer. -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_field_info.3x b/src/libs/ncurses/man/form_field_info.3x deleted file mode 100644 index 7ebf5f0dbc..0000000000 --- a/src/libs/ncurses/man/form_field_info.3x +++ /dev/null @@ -1,85 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_field_info.3x,v 1.9 2005/10/08 22:15:07 tom Exp $ -.TH form_field_info 3X "" -.SH NAME -\fBform_field_info\fR - retrieve field characteristics -.SH SYNOPSIS -\fB#include \fR -.br -int field_info(const FIELD *field, int *rows, int *cols, - int *frow, int *fcol, int *nrow, int *nbuf); -.br -int dynamic_field_info(const FIELD *field, int *rows, int *cols, int *max); -.br -.SH DESCRIPTION -The function \fBfield_info\fR returns the sizes and other attributes passed in -to the field at its creation time. The attributes are: height, width, row of -upper-left corner, column of upper-left corner, number off-screen rows, and -number of working buffers. -.PP -The function \fBdynamic_field_info\fR returns the actual size of the field, and -its maximum possible size. If the field has no size limit, the location -addressed by the third argument will be set to 0. -A field can be made dynamic -by turning off the \fBO_STATIC\fR option with \fBfield_opts_off\fR. -.SH RETURN VALUE -These routines return one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.SH SEE ALSO -\fBcurses\fR(3X) and related pages whose names begin "form_" for detailed -descriptions of the entry points. -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.PP -A null (zero pointer) is accepted for any of the return values, -to ignore that value. -Not all implementations allow this, e.g., Solaris 2.7 does not. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_field_just.3x b/src/libs/ncurses/man/form_field_just.3x deleted file mode 100644 index 61b62b88b9..0000000000 --- a/src/libs/ncurses/man/form_field_just.3x +++ /dev/null @@ -1,78 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_field_just.3x,v 1.7 2003/05/10 20:33:49 jmc Exp $ -.TH form_field_just 3X "" -.SH NAME -\fBform_field_just\fR - retrieve field characteristics -.SH SYNOPSIS -\fB#include \fR -.br -int set_field_just(FIELD *field, int justification); -.br -int field_just(const FIELD *field); -.br -.SH DESCRIPTION -The function \fBset_field_just\fR sets the justification attribute of -a field; \fBfield_just\fR returns a field's justification attribute. -The attribute may be one of NO_JUSTIFICATION, JUSTIFY_RIGHT, -JUSTIFY_LEFT, or JUSTIFY_CENTER. - -.SH RETURN VALUE -The function \fBfield_just\fR returns one of: NO_JUSTIFICATION, -JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER. - -The function \fBset_field_just\fR returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.SH SEE ALSO -\fBcurses\fR(3X) and related pages whose names begin "form_" for detailed -descriptions of the entry points. -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_field_new.3x b/src/libs/ncurses/man/form_field_new.3x deleted file mode 100644 index a8174a5cad..0000000000 --- a/src/libs/ncurses/man/form_field_new.3x +++ /dev/null @@ -1,96 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_field_new.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $ -.TH form_field_new 3X "" -.SH NAME -\fBform_field_new\fR - create and destroy form fields -.SH SYNOPSIS -\fB#include \fR -.br -FIELD *new_field(int height, int width, - int toprow, int leftcol, - int offscreen, int nbuffers); -.br -FIELD *dup_field(FIELD *field, int toprow, int leftcol); -.br -FIELD *link_field(FIELD *field, int toprow, int leftcol); -.br -int free_field(FIELD *field); -.br -.SH DESCRIPTION -The function \fBnew_field\fR allocates a new field and initializes it from the -parameters given: height, width, row of upper-left corner, column of upper-left -corner, number off-screen rows, and number of additional working buffers. - -The function \fBdup_field\fR duplicates a field at a new location. Most -attributes (including current contents, size, validation type, buffer count, -growth threshold, justification, foreground, background, pad character, -options, and user pointer) are copied. Field status and the field page bit are -not copied. - -The function \fBlink_field\fR acts like \fBdup_field\fR, but the new field -shares buffers with its parent. Attribute data is separate. - -The function \fBfree_field\fR de-allocates storage associated with a field. -.SH RETURN VALUE -The function, \fBnew_field\fR, \fBdup_field\fR, \fBlink_field\fR return -\fBNULL\fR on error. - -The function \fBfree_field\fR returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. - -It may be unwise to count on the set of attributes copied by -\fBdup_field\fR(3X) being portable; the System V forms library documents are -not very explicit about what gets copied and what doesn't. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_field_opts.3x b/src/libs/ncurses/man/form_field_opts.3x deleted file mode 100644 index 9999f12e8e..0000000000 --- a/src/libs/ncurses/man/form_field_opts.3x +++ /dev/null @@ -1,121 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_field_opts.3x,v 1.10 2005/10/08 22:16:18 tom Exp $ -.TH form_field_opts 3X "" -.SH NAME -\fBform_field_opts\fR - set and get field options -.SH SYNOPSIS -\fB#include \fR -.br -int set_field_opts(FIELD *field, OPTIONS opts); -.br -int field_opts_on(FIELD *field, OPTIONS opts); -.br -int field_opts_off(FIELD *field, OPTIONS opts); -.br -OPTIONS field_opts(const FIELD *field); -.br -.SH DESCRIPTION -The function \fBset_field_opts\fR sets all the given field's option bits (field -option bits may be logically-OR'ed together). - -The function \fBfield_opts_on\fR turns on the given option bits, and leaves -others alone. - -The function \fBfield_opts_off\fR turns off the given option bits, and leaves -others alone. - -The function \fBfield_opts\fR returns the field's current option bits. - -The following options are defined (all are on by default): -.TP 5 -O_VISIBLE -The field is displayed. If this option is off, display of the field is -suppressed. -.TP 5 -O_ACTIVE -The field is visited during processing. If this option is off, the field will -not be reachable by navigation keys. Please notice that an invisible field -appears to be inactive also. -.TP 5 -O_PUBLIC -The field contents are displayed as data is entered. -.TP 5 -O_EDIT -The field can be edited. -.TP 5 -O_WRAP -Words that do not fit on a line are wrapped to the next line. Words are -blank-separated. -.TP 5 -O_BLANK -The field is cleared whenever a character is entered at the first position. -.TP 5 -O_AUTOSKIP -Skip to the next field when this one fills. -.TP 5 -O_NULLOK -Allow a blank field. -.TP 5 -O_STATIC -Field buffers are fixed to field's original size. -Turn this option off to create a dynamic field. -.TP 5 -O_PASSOK -Validate field only if modified by user. -.SH RETURN VALUE -Except for \fBfield_opts\fR, each routine returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_CURRENT\fR -The field is the current field. -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.TP 5 -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_field_userptr.3x b/src/libs/ncurses/man/form_field_userptr.3x deleted file mode 100644 index 2aba2083bc..0000000000 --- a/src/libs/ncurses/man/form_field_userptr.3x +++ /dev/null @@ -1,73 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_field_userptr.3x,v 1.6 1998/11/29 01:07:05 Rick.Ohnemus Exp $ -.TH form_field_userptr 3X "" -.SH NAME -\fBform_field_userptr\fR - associate application data with a form field -.SH SYNOPSIS -\fB#include \fR -.br -int set_field_userptr(FIELD *field, void*userptr); -.br -void *field_userptr(const FIELD *field); -.br -.SH DESCRIPTION -Every form field has a field that can be used to hold application-specific data -(that is, the form-driver code leaves it alone). These functions get and set -that field. -.SH RETURN VALUE -The function \fBfield_userptr\fR returns \fBNULL\fR on error. The function -\fBset_field_userptr\fR returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. - -The user pointer should be a void pointer. We leave it as a char pointer for -SVr4 compatibility. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_field_validation.3x b/src/libs/ncurses/man/form_field_validation.3x deleted file mode 100644 index c82abf3c10..0000000000 --- a/src/libs/ncurses/man/form_field_validation.3x +++ /dev/null @@ -1,144 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_field_validation.3x,v 1.14 2003/05/10 20:33:49 jmc Exp $ -.TH form_field_validation 3X "" -.SH NAME -\fBform_field_validation\fR - data type validation for fields -.SH SYNOPSIS -\fB#include \fR -.br -int set_field_type(FIELD *field, FIELDTYPE *type, ...); -.br -FIELDTYPE *field_type(const FIELD *field); -.br -void *field_arg(const FIELD *field); -.sp -FIELDTYPE *TYPE_ALNUM; -.br -FIELDTYPE *TYPE_ALPHA; -.br -FIELDTYPE *TYPE_ENUM; -.br -FIELDTYPE *TYPE_INTEGER; -.br -FIELDTYPE *TYPE_NUMERIC; -.br -FIELDTYPE *TYPE_REGEXP; -.br -FIELDTYPE *TYPE_IPV4; -.br -.SH DESCRIPTION -The function \fBset_field_type\fR declares a data type for a given form field. -This is the type checked by validation functions. -The predefined types are as follows: -.TP 5 -TYPE_ALNUM -Alphanumeric data. Requires a third \fBint\fR argument, a minimum field width. -.TP 5 -TYPE_ALPHA -Character data. Requires a third \fBint\fR argument, a minimum field width. -.TP 5 -TYPE_ENUM -Accept one of a specified set of strings. Requires a third \fB(char **)\fR -argument pointing to a string list; a fourth \fBint\fR flag argument to enable -case-sensitivity; and a fifth \fBint\fR flag argument specifying whether a partial -match must be a unique one (if this flag is off, a prefix matches the first -of any set of more than one list elements with that prefix). Please notice -that the string list is not copied, only a reference to it is stored in the -field. So you should avoid using a list that lives in automatic variables -on the stack. -.TP 5 -TYPE_INTEGER -Integer data, parsable to an integer by \fBatoi(3)\fR. Requires a third -\fBint\fR argument controlling the precision, a fourth \fBlong\fR argument -constraining minimum value, and a fifth \fBlong\fR constraining maximum value. -If the maximum value is less than or equal to the minimum value, the range is -simply ignored. On return the field buffer is formatted according to the -\fBprintf\fR format specification ".*ld", where the '*' is replaced by the -precision argument. -For details of the precision handling see \fBprintf's\fR man-page. -.TP 5 -TYPE_NUMERIC -Numeric data (may have a decimal-point part). Requires a third -\fBint\fR argument controlling the precision, a fourth \fBdouble\fR -argument constraining minimum value, and a fifth \fBdouble\fR constraining -maximum value. If your system supports locales, the decimal point character -to be used must be the one specified by your locale. -If the maximum value is less than or equal to the minimum value, the range is -simply ignored. On return the field buffer is formatted according to the -\fBprintf\fR format specification ".*f", where the '*' is replaced by the -precision argument. -For details of the precision handling see \fBprintf's\fR man-page. -.TP 5 -TYPE_REGEXP -Regular expression data. Requires a regular expression \fB(char *)\fR third argument; -the data is valid if the regular expression matches it. Regular expressions -are in the format of \fBregcomp\fR(3X) and \fBregexec\fR(3X). Please notice -that the regular expression must match the whole field. If you have for -example an eight character wide field, a regular expression "^[0-9]*$" always -means that you have to fill all eight positions with digits. If you want to -allow fewer digits, you may use for example "^[0-9]* *$" which is good for -trailing spaces (up to an empty field), or "^ *[0-9]* *$" which is good for -leading and trailing spaces around the digits. -.TP 5 -TYPE_IPV4 -An Internet Protocol Version 4 address. This requires no additional argument. It -is checked whether or not the buffer has the form a.b.c.d, where a,b,c and d are -numbers between 0 and 255. Trailing blanks in the buffer are ignored. The address -itself is not validated. Please note that this is an ncurses extension. This -field type may not be available in other curses implementations. -.PP -It is possible to set up new programmer-defined field types. See the -\fBform_fieldtype\fR(3X) manual page. -.SH RETURN VALUE -The functions \fBfield_type\fR and \fBfield_arg\fR return \fBNULL\fR on -error. The function \fBset_field_type\fR returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_fieldtype.3x b/src/libs/ncurses/man/form_fieldtype.3x deleted file mode 100644 index 979258a2ba..0000000000 --- a/src/libs/ncurses/man/form_fieldtype.3x +++ /dev/null @@ -1,135 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_fieldtype.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $ -.TH form_fieldtype 3X "" -.SH NAME -\fBform_fieldtype\fR - define validation-field types -.SH SYNOPSIS -\fB#include \fR -.br -FIELDTYPE *new_fieldtype( - bool (* const field_check)(FIELD *, const void *), - bool (* const char_check)(int, const void *)); -.br -int free_fieldtype(FIELDTYPE *fieldtype); -.br -int set_fieldtype_arg( - FIELDTYPE *fieldtype, - void *(* const make_arg)(va_list *), - void *(* const copy_arg)(const void *), - void (* const free_arg)(void *)); -.br -int set_fieldtype_choice( - FIELDTYPE *fieldtype, - bool (* const next_choice)(FIELD *, const void *), - bool (* const prev_choice)(FIELD *, const void *)); -.br -FIELDTYPE *link_fieldtype(FIELDTYPE *type1, - FIELDTYPE *type2); -.br -.SH DESCRIPTION -The function \fBnew_fieldtype\fR creates a new field type usable for data -validation. You supply it with \fIfield_check\fR, a predicate to check the -validity of an entered data string whenever the user attempts to leave a field. -The (FIELD *) argument is passed in so the validation predicate can see the -field's buffer, sizes and other attributes; the second argument is an -argument-block structure, about which more below. - -You also supply \fBnew_fieldtype\fR with \fIchar_check\fR, -a function to validate input characters as they are entered; it will be passed -the character to be checked and a pointer to an argument-block structure. - -The function \fBfree_fieldtype\fR frees the space allocated for a given -validation type. - -The function \fBset_fieldtype_arg\fR associates three storage-management functions -with a field type. -The \fImake_arg\fR function is automatically applied to the -list of arguments you give \fBset_field_type\fR when attaching validation -to a field; its job is to bundle these into an allocated argument-block -object which can later be passed to validation predicated. -The other two hook arguments should copy and free argument-block structures. -They will be used by the forms-driver code. -You must supply the \fImake_arg\fR function, -the other two are optional, you may supply NULL for them. -In this case it is assumed -that \fImake_arg\fR does not allocate memory but simply loads the -argument into a single scalar value. - -The function \fBlink_fieldtype\fR creates -a new field type from the two given types. -They are connected by an logical 'OR'. - -The form driver requests \fBREQ_NEXT_CHOICE\fR and \fBREQ_PREV_CHOICE\fR assume -that the possible values of a field form an ordered set, and provide the forms -user with a way to move through the set. -The \fBset_fieldtype_choice\fR -function allows forms programmers to define successor and predecessor functions -for the field type. -These functions take the field pointer and an -argument-block structure as arguments. -.SH RETURN VALUE -The pointer-valued routines return NULL on error. - -The integer-valued routines return one of the following codes on -error: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_CONNECTED\fR -The field is already connected to a form. -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. - -All of the \fB(char *)\fR arguments of these functions should actually be -\fB(void *)\fR. The type has been left uncorrected for strict compatibility -with System V. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_hook.3x b/src/libs/ncurses/man/form_hook.3x deleted file mode 100644 index 19c1b9fbd7..0000000000 --- a/src/libs/ncurses/man/form_hook.3x +++ /dev/null @@ -1,100 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_hook.3x,v 1.6 1999/03/20 22:37:15 Todd.Miller Exp $ -.TH form_hook 3X "" -.SH NAME -\fBform_hook\fR - set hooks for automatic invocation by applications -.SH SYNOPSIS -\fB#include \fR -.br -int set_field_init(FORM *form, void (*func)(FORM *)); -.br -void (*)(FORM *) field_init(const FORM *form); -.br -int set_field_term(FORM *form, void (*func)(FORM *)); -.br -void (*)(FORM *) field_term(const FORM *form); -.br -int set_form_init(FORM *form, void (*func)(FORM *)); -.br -void (*)(FORM *) form_init(const FORM *form); -.br -int set_form_term(FORM *form, void (*func)(FORM *)); -.br -void (*)(FORM *) form_term(const FORM *form); -.br -.SH DESCRIPTION -These functions make it possible to set hook functions to be called at various -points in the automatic processing of input event codes by \fBform_driver\fR. - -The function \fBset_field_init\fR sets a hook to be called at form-post time -and each time the selected field changes (after the change). \fBfield_init\fR -returns the current field init hook, if any (\fBNULL\fR if there is no such -hook). - -The function \fBset_field_term\fR sets a hook to be called at form-unpost time -and each time the selected field changes (before the change). \fBfield_term\fR -returns the current field term hook, if any (\fBNULL\fR if there is no such -hook). - -The function \fBset_form_init\fR sets a hook to be called at form-post time and -just after a page change once it is posted. \fBform_init\fR returns the -current form init hook, if any (\fBNULL\fR if there is no such hook). - -The function \fBset_form_term\fR sets a hook to be called at form-unpost time -and just before a page change once it is posted. \fBform_init\fR -returns the current form term hook, if any (\fBNULL\fR if there is no such -hook). -.SH RETURN VALUE -Routines that return pointers return \fBNULL\fR on error. Other routines -return one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_new.3x b/src/libs/ncurses/man/form_new.3x deleted file mode 100644 index 0f4c5015d1..0000000000 --- a/src/libs/ncurses/man/form_new.3x +++ /dev/null @@ -1,79 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_new.3x,v 1.5 1998/11/29 01:07:37 Rick.Ohnemus Exp $ -.TH form_new 3X "" -.SH NAME -\fBform_new\fR - create and destroy forms -.SH SYNOPSIS -\fB#include \fR -.br -FORM *new_form(FIELD **fields); -.br -int free_form(FORM *form); -.br -.SH DESCRIPTION -The function \fBnew_form\fR creates a new form connected to a specified field -pointer array (which must be \fBNULL\fR-terminated). - -The function \fBfree_form\fR disconnects \fIform\fR from its field array -and frees the storage allocated for the form. -.SH RETURN VALUE -The function \fBnew_form\fR returns \fBNULL\fR on error. - -The function \fBfree_form\fR returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_POSTED\fR -The form has already been posted. -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_new_page.3x b/src/libs/ncurses/man/form_new_page.3x deleted file mode 100644 index 432f624f52..0000000000 --- a/src/libs/ncurses/man/form_new_page.3x +++ /dev/null @@ -1,77 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998,2002 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_new_page.3x,v 1.6 2002/01/19 22:48:51 tom Exp $ -.TH form_new_page 3X "" -.SH NAME -\fBform_new_page\fR - form pagination functions -.SH SYNOPSIS -\fB#include \fR -.br -int set_new_page(FIELD *field, bool new_page_flag); -.br -bool new_page(const FIELD *field); -.br -.SH DESCRIPTION -The function \fBset_new_page\fR sets or resets a flag marking the given field -as the beginning of a new page on its form. - -The function \fBnew_page\fR is a predicate which tests if a given field marks -a page beginning on its form. -.SH RETURN VALUE -The function \fBnew_page\fR returns \fBTRUE\fR or \fBFALSE\fR. - -The function \fBset_new_page\fR return one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_CONNECTED\fR -The given field is already connected to a form. -.SH SEE ALSO -\fBcurses\fR(3X) and related pages whose names begin "form_" for detailed -descriptions of the entry points. -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_opts.3x b/src/libs/ncurses/man/form_opts.3x deleted file mode 100644 index 7921b37725..0000000000 --- a/src/libs/ncurses/man/form_opts.3x +++ /dev/null @@ -1,90 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_opts.3x,v 1.6 1998/11/29 01:07:53 Rick.Ohnemus Exp $ -.TH form_opts 3X "" -.SH NAME -\fBform_opts\fR - set and get form options -.SH SYNOPSIS -\fB#include \fR -.br -int set_form_opts(FORM *form, OPTIONS opts); -.br -int form_opts_on(FORM *form, OPTIONS opts); -.br -int form_opts_off(FORM *form, OPTIONS opts); -.br -OPTIONS form_opts(const FORM *form); -.br -.SH DESCRIPTION -The function \fBset_form_opts\fR sets all the given form's option bits (form -option bits may be logically-OR'ed together). - -The function \fBform_opts_on\fR turns on the given option bits, and leaves -others alone. - -The function \fBform_opts_off\fR turns off the given option bits, and leaves -others alone. - -The function \fBform_opts\fR returns the form's current option bits. - -The following options are defined (all are on by default): -.TP 5 -O_NL_OVERLOAD -Overload the \fBREQ_NEW_LINE\fR forms driver request so that calling it at the -end of a field goes to the next field. -.TP 5 -O_BS_OVERLOAD -Overload the \fBREQ_DEL_PREV\fR forms driver request so that calling it at the -beginning of a field goes to the previous field. -.SH RETURN VALUE -Except for \fBform_opts\fR, each routine returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_page.3x b/src/libs/ncurses/man/form_page.3x deleted file mode 100644 index 4b5d15aec1..0000000000 --- a/src/libs/ncurses/man/form_page.3x +++ /dev/null @@ -1,95 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_page.3x,v 1.8 1998/11/29 01:08:02 Rick.Ohnemus Exp $ -.TH form_page 3X "" -.SH NAME -\fBform_page\fR - set and get form page number -.SH SYNOPSIS -\fB#include \fR -.br -int set_current_field(FORM *form, FIELD *field); -.br -FIELD *current_field(const FORM *); -.br -int set_form_page(FORM *form, int n); -.br -int form_page(const FORM *form); -.br -int field_index(const FIELD *field); -.br -.SH DESCRIPTION -The function \fBset_current field\fR sets the current field of the given -form; \fBcurrent_field\fR returns the current field of the given form. -.PP -The function \fBset_form_page\fR sets the form's page number (goes to page -\fIn\fR of the form). -.PP -The function \fBform_page\fR returns the form's current page number. -.PP -The function \fBfield_index\fR returns the index of the field in the -field array of the form it is connected to. It returns \fBERR\fR if -the argument is the null pointer or the field is not connected. -.SH RETURN VALUE -Except for \fBform_page\fR, each routine returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_BAD_STATE\fR -Routine was called from an initialization or termination function. -.TP 5 -\fBE_INVALID_FIELD\fR -Contents of a field are not valid. -.TP 5 -\fBE_REQUEST_DENIED\fR -The form driver could not process the request. -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_post.3x b/src/libs/ncurses/man/form_post.3x deleted file mode 100644 index 56e86ab946..0000000000 --- a/src/libs/ncurses/man/form_post.3x +++ /dev/null @@ -1,90 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_post.3x,v 1.4 1998/11/29 01:08:10 Rick.Ohnemus Exp $ -.TH form_post 3X "" -.SH NAME -\fBform_post\fR - write or erase forms from associated subwindows -.SH SYNOPSIS -\fB#include \fR -.br -int post_form(FORM *form); -.br -int unpost_form(FORM *form); -.br -.SH DESCRIPTION -The function \fBpost_form\fR displays a form to its associated subwindow. To -trigger physical display of the subwindow, use \fBrefresh\fR or some equivalent -\fBcurses\fR routine (the implicit \fBdoupdate\fR triggered by an \fBcurses\fR -input request will do). - -The function \fBunpost_form\fR erases form from its associated subwindow. -.SH RETURN VALUE -These routines return one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_POSTED\fR -The form has already been posted. -.TP 5 -\fBE_BAD_STATE\fR -Routine was called from an initialization or termination function. -.TP 5 -\fBE_NO_ROOM\fR -Form is too large for its window. -.TP 5 -\fBE_NOT_POSTED\fR -The form has not been posted. -.TP 5 -\fBE_NOT_CONNECTED\fR -No items are connected to the form. -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_requestname.3x b/src/libs/ncurses/man/form_requestname.3x deleted file mode 100644 index df1f701b38..0000000000 --- a/src/libs/ncurses/man/form_requestname.3x +++ /dev/null @@ -1,69 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_requestname.3x,v 1.6 1998/11/29 01:08:18 Rick.Ohnemus Exp $ -.TH form_requestname 3X "" -.SH NAME -\fBform_requestname\fR - handle printable form request names -.SH SYNOPSIS -\fB#include \fR -.br -const char *form_request_name(int request); -.br -int form_request_by_name(const char *name); -.br -.SH DESCRIPTION -The function \fBform_request_name\fR returns the printable name of a form -request code. -.br -The function \fBform_request_by_name\fR searches in the name-table for a request -with the given name and returns its request code. Otherwise E_NO_MATCH is returned. -.SH RETURN VALUE -\fBform_request_name\fR returns \fBNULL\fR on error and sets errno -to \fBE_BAD_ARGUMENT\fR. -.br -\fBform_request_by_name\fR returns \fBE_NO_MATCH\fR on error. -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines are specific to ncurses. They were not supported on -Version 7, BSD or System V implementations. It is recommended that -any code depending on them be conditioned using NCURSES_VERSION. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_userptr.3x b/src/libs/ncurses/man/form_userptr.3x deleted file mode 100644 index 00e3d71aa4..0000000000 --- a/src/libs/ncurses/man/form_userptr.3x +++ /dev/null @@ -1,73 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_userptr.3x,v 1.9 1998/11/29 01:08:39 Rick.Ohnemus Exp $ -.TH form_userptr 3X "" -.SH NAME -\fBform_userptr\fR - associate application data with a form item -.SH SYNOPSIS -\fB#include \fR -.br -int set_form_userptr(FORM *form, void *userptr); -.br -void* form_userptr(const FORM *form); -.br -.SH DESCRIPTION -Every form and every form item has a field that can be used to hold -application-specific data (that is, the form-driver code leaves it alone). -These functions get and set the form user pointer field. -.SH RETURN VALUE -The function \fBform_userptr\fR returns \fBNULL\fR on error. -The function \fBset_form_userptr\fR returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. - -The user pointer should be a void pointer. We leave it as a char pointer for -SVr4 compatibility. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/form_win.3x b/src/libs/ncurses/man/form_win.3x deleted file mode 100644 index e565970288..0000000000 --- a/src/libs/ncurses/man/form_win.3x +++ /dev/null @@ -1,95 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: form_win.3x,v 1.8 1999/04/10 23:36:08 tom Exp $ -.TH form_win 3X "" -.SH NAME -\fBform_win\fR - make and break form window and subwindow associations -.SH SYNOPSIS -\fB#include \fR -.br -int set_form_win(FORM *form, WINDOW *win); -.br -WINDOW *form_win(const FORM *form); -.br -int set_form_sub(FORM *form, WINDOW *sub); -.br -WINDOW *form_sub(const FORM *form); -.br -int scale_form(const FORM *form, int *rows, int *columns); -.br -.SH DESCRIPTION -Every form has an associated pair of \fBcurses\fR windows. The form window -displays any title and border associated with the window; the form subwindow -displays the items of the form that are currently available for selection. - -The first four functions get and set those windows. It is not necessary to set -either window; by default, the driver code uses \fBstdscr\fR for both. - -In the \fBset_\fR functions, window argument of \fBNULL\fR is treated as though -it were \fBstsdcr\fR. A form argument of \fBNULL\fR is treated as a request -to change the system default form window or subwindow. - -The function \fBscale_form\fR returns the minimum size required for the -subwindow of \fIform\fR. -.SH RETURN VALUE -Routines that return pointers return \fBNULL\fR on error. Routines that return -an integer return one of the following error codes: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_POSTED\fR -The form has already been posted. -.TP 5 -\fBE_NOT_CONNECTED\fR -No items are connected to the form. -.SH SEE ALSO -\fBcurses\fR(3X), \fBform\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V forms library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/infocmp.1m b/src/libs/ncurses/man/infocmp.1m deleted file mode 100644 index 1bf6498032..0000000000 --- a/src/libs/ncurses/man/infocmp.1m +++ /dev/null @@ -1,424 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: infocmp.1m,v 1.39 2004/08/28 22:43:49 tom Exp $ -.TH infocmp 1M "" -.ds n 5 -.ds d @TERMINFO@ -.SH NAME -\fBinfocmp\fR - compare or print out \fIterminfo\fR descriptions -.SH SYNOPSIS -\fBinfocmp\fR [\fB-\ -1\ -C\ -E\ -F\ -G\ -I\ -L\ -T\ -V\ -c\ -d\ -e\ -g\ -i\ -l\ -n\ -p\ -q\ -r\ -t\ -u\ -x\ -\fR] -.br - [\fB-v\fR \fIn\fR] [\fB-s d\fR| \fBi\fR| \fBl\fR| \fBc\fR] [\fB-R \fR\fBsubset\fR] -.br - [\fB-w\fR\ \fIwidth\fR] [\fB-A\fR\ \fIdirectory\fR] [\fB-B\fR\ \fIdirectory\fR] -.br - [\fItermname\fR...] -.SH DESCRIPTION -\fBinfocmp\fR can be used to compare a binary \fBterminfo\fR entry with other -terminfo entries, rewrite a \fBterminfo\fR description to take advantage of the -\fBuse=\fR terminfo field, or print out a \fBterminfo\fR description from the -binary file (\fBterm\fR) in a variety of formats. In all cases, the boolean -fields will be printed first, followed by the numeric fields, followed by the -string fields. -.SS Default Options -If no options are specified and zero or one \fItermnames\fR are specified, the -\fB-I\fR option will be assumed. If more than one \fItermname\fR is specified, -the \fB-d\fR option will be assumed. -.SS Comparison Options [-d] [-c] [-n] -\fBinfocmp\fR compares the \fBterminfo\fR description of the first terminal -\fItermname\fR with each of the descriptions given by the entries for the other -terminal's \fItermnames\fR. If a capability is defined for only one of the -terminals, the value returned will depend on the type of the capability: -\fBF\fR for boolean variables, \fB-1\fR for integer variables, and \fBNULL\fR -for string variables. - -The \fB-d\fR option produces a list of each capability that is different -between two entries. This option is useful to show the difference between two -entries, created by different people, for the same or similar terminals. - -The \fB-c\fR option produces a list of each capability that is common between -two entries. Capabilities that are not set are ignored. This option can be -used as a quick check to see if the \fB-u\fR option is worth using. - -The \fB-n\fR option produces a list of each capability that is in neither -entry. If no \fItermnames\fR are given, the environment variable \fBTERM\fR -will be used for both of the \fItermnames\fR. This can be used as a quick -check to see if anything was left out of a description. -.SS Source Listing Options [-I] [-L] [-C] [-r] -The \fB-I\fR, \fB-L\fR, and \fB-C\fR options will produce a source listing for -each terminal named. - -.TS -center tab(/) ; -l l . -\fB-I\fR/use the \fBterminfo\fR names -\fB-L\fR/use the long C variable name listed in <\fBterm.h\fR> -\fB-C\fR/use the \fBtermcap\fR names -\fB-r\fR/when using \fB-C\fR, put out all capabilities in \fBtermcap\fR form -.TE - -If no \fItermnames\fR are given, the environment variable \fBTERM\fR will be -used for the terminal name. - -The source produced by the \fB-C\fR option may be used directly as a -\fBtermcap\fR entry, but not all parameterized strings can be changed to -the \fBtermcap\fR format. \fBinfocmp\fR will attempt to convert most of the -parameterized information, and anything not converted will be plainly marked in -the output and commented out. These should be edited by hand. - -All padding information for strings will be collected together and placed -at the beginning of the string where \fBtermcap\fR expects it. Mandatory -padding (padding information with a trailing '/') will become optional. - -All \fBtermcap\fR variables no longer supported by \fBterminfo\fR, but which -are derivable from other \fBterminfo\fR variables, will be output. Not all -\fBterminfo\fR capabilities will be translated; only those variables which were -part of \fBtermcap\fR will normally be output. Specifying the \fB-r\fR option -will take off this restriction, allowing all capabilities to be output in -\fItermcap\fR form. - -Note that because padding is collected to the beginning of the capability, not -all capabilities are output. Mandatory padding is not supported. Because -\fBtermcap\fR strings are not as flexible, it is not always possible to convert -a \fBterminfo\fR string capability into an equivalent \fBtermcap\fR format. A -subsequent conversion of the \fBtermcap\fR file back into \fBterminfo\fR format -will not necessarily reproduce the original \fBterminfo\fR -source. - -Some common \fBterminfo\fR parameter sequences, their \fBtermcap\fR -equivalents, and some terminal types which commonly have such sequences, are: - -.TS -center tab(/) ; -l c l -l l l. -\fBterminfo/termcap\fR/Representative Terminals -= -\fB%p1%c/%.\fR/adm -\fB%p1%d/%d\fR/hp, ANSI standard, vt100 -\fB%p1%'x'%+%c/%+x\fR/concept -\fB%i/%i\fRq/ANSI standard, vt100 -\fB%p1%?%'x'%>%t%p1%'y'%+%;/%>xy\fR/concept -\fB%p2\fR is printed before \fB%p1/%r\fR/hp -.TE -.SS Use= Option [-u] -The \fB-u\fR option produces a \fBterminfo\fR source description of the first -terminal \fItermname\fR which is relative to the sum of the descriptions given -by the entries for the other terminals \fItermnames\fR. It does this by -analyzing the differences between the first \fItermname\fR and the other -\fItermnames\fR and producing a description with \fBuse=\fR fields for the -other terminals. In this manner, it is possible to retrofit generic terminfo -entries into a terminal's description. Or, if two similar terminals exist, but -were coded at different times or by different people so that each description -is a full description, using \fBinfocmp\fR will show what can be done to change -one description to be relative to the other. - -A capability will get printed with an at-sign (@) if it no longer exists in the -first \fItermname\fR, but one of the other \fItermname\fR entries contains a -value for it. A capability's value gets printed if the value in the first -\fItermname\fR is not found in any of the other \fItermname\fR entries, or if -the first of the other \fItermname\fR entries that has this capability gives a -different value for the capability than that in the first \fItermname\fR. - -The order of the other \fItermname\fR entries is significant. Since the -terminfo compiler \fBtic\fR does a left-to-right scan of the capabilities, -specifying two \fBuse=\fR entries that contain differing entries for the same -capabilities will produce different results depending on the order that the -entries are given in. \fBinfocmp\fR will flag any such inconsistencies between -the other \fItermname\fR entries as they are found. - -Alternatively, specifying a capability \fIafter\fR a \fBuse=\fR entry that -contains that capability will cause the second specification to be ignored. -Using \fBinfocmp\fR to recreate a description can be a useful check to make -sure that everything was specified correctly in the original source -description. - -Another error that does not cause incorrect compiled files, but will slow down -the compilation time, is specifying extra \fBuse=\fR fields that are -superfluous. \fBinfocmp\fR will flag any other \fItermname use=\fR fields that -were not needed. -.SS Changing Databases [-A \fIdirectory\fR] [-B \fIdirectory\fR] -The location of the compiled \fBterminfo\fR database is taken from the -environment variable \fBTERMINFO\fR . If the variable is not defined, or the -terminal is not found in that location, the system \fBterminfo\fR database, -in \fB@TERMINFO@\fR, will be used. The options \fB-A\fR -and \fB-B\fR may be used to override this location. The \fB-A\fR option will -set \fBTERMINFO\fR for the first \fItermname\fR and the \fB-B\fR option will -set \fBTERMINFO\fR for the other \fItermnames\fR. With this, it is possible to -compare descriptions for a terminal with the same name located in two different -databases. This is useful for comparing descriptions for the same terminal -created by different people. -.SS Other Options -.TP 5 -\fB-1\fR -causes the fields to be printed out one to a line. Otherwise, -the fields will be printed several to a line to a maximum width -of 60 characters. -.TP -\fB-a\fR -tells \fBinfocmp\fP to retain commented-out capabilities rather than discarding -them. Capabilities are commented by prefixing them with a period. -.TP 5 -\fB-E\fR -Dump the capabilities of the given terminal as tables, needed in -the C initializer for a -TERMTYPE structure (the terminal capability structure in the \fB\fR). -This option is useful for preparing versions of the curses library hardwired -for a given terminal type. -The tables are all declared static, and are named according to the type -and the name of the corresponding terminal entry. -.sp -Before ncurses 5.0, the split between the \fB-e\fP and \fB-E\fP -options was not needed; but support for extended names required making -the arrays of terminal capabilities separate from the TERMTYPE structure. -.TP 5 -\fB-e\fR -Dump the capabilities of the given terminal as a C initializer for a -TERMTYPE structure (the terminal capability structure in the \fB\fR). -This option is useful for preparing versions of the curses library hardwired -for a given terminal type. -.TP 5 -\fB-F\fR -compare terminfo files. This assumes that two following arguments are -filenames. The files are searched for pairwise matches between -entries, with two entries considered to match if any of their names do. -The report printed to standard output lists entries with no matches in -the other file, and entries with more than one match. For entries -with exactly one match it includes a difference report. Normally, -to reduce the volume of the report, use references are -not resolved before looking for differences, but resolution can be forced -by also specifying \fB-r\fR. -.TP 5 -\fB-f\fR -Display complex terminfo strings which contain if/then/else/endif expressions -indented for readability. -.TP 5 -\fB-G\fR -Display constant literals in decimal form -rather than their character equivalents. -.TP 5 -\fB-g\fR -Display constant character literals in quoted form -rather than their decimal equivalents. -.TP 5 -\fB-i\fR -Analyze the initialization (\fBis1\fR, \fBis2\fR, \fBis3\fR), and reset -(\fBrs1\fR, \fBrs2\fR, \fBrs3\fR), strings in the entry. For each string, the -code tries to analyze it into actions in terms of the other capabilities in the -entry, certain X3.64/ISO 6429/ECMA-48 capabilities, and certain DEC VT-series -private modes (the set of recognized special sequences has been selected for -completeness over the existing terminfo database). Each report line consists -of the capability name, followed by a colon and space, followed by a printable -expansion of the capability string with sections matching recognized actions -translated into {}-bracketed descriptions. Here is a list of the DEC/ANSI -special sequences recognized: - -.TS -center tab(/) ; -l l -l l. -Action/Meaning -= -RIS/full reset -SC/save cursor -RC/restore cursor -LL/home-down -RSR/reset scroll region - -DECSTR/soft reset (VT320) -S7C1T/7-bit controls (VT220) - -ISO DEC G0/enable DEC graphics for G0 -ISO UK G0/enable UK chars for G0 -ISO US G0/enable US chars for G0 -ISO DEC G1/enable DEC graphics for G1 -ISO UK G1/enable UK chars for G1 -ISO US G1/enable US chars for G1 - -DECPAM/application keypad mode -DECPNM/normal keypad mode -DECANSI/enter ANSI mode - -ECMA[+-]AM/keyboard action mode -ECMA[+-]IRM/insert replace mode -ECMA[+-]SRM/send receive mode -ECMA[+-]LNM/linefeed mode - -DEC[+-]CKM/application cursor keys -DEC[+-]ANM/set VT52 mode -DEC[+-]COLM/132-column mode -DEC[+-]SCLM/smooth scroll -DEC[+-]SCNM/reverse video mode -DEC[+-]OM/origin mode -DEC[+-]AWM/wraparound mode -DEC[+-]ARM/auto-repeat mode -.TE -.sp -It also recognizes a SGR action corresponding to ANSI/ISO 6429/ECMA Set -Graphics Rendition, with the values NORMAL, BOLD, UNDERLINE, BLINK, and -REVERSE. All but NORMAL may be prefixed with `+' (turn on) or `-' (turn off). - -An SGR0 designates an empty highlight sequence (equivalent to {SGR:NORMAL}). -.TP 5 -\fB-l\fR -Set output format to terminfo. -.TP 5 -\fB-p\fR -Ignore padding specifications when comparing strings. -.TP 5 -\fB-q\fR -Make the comparison listing shorter by omitting subheadings, and using -"-" for absent capabilities, "@" for canceled rather than "NULL". -.TP 5 -\fB-R\fR\fIsubset\fR -Restrict output to a given subset. This option is for use with archaic -versions of terminfo like those on SVr1, Ultrix, or HP/UX that do not support -the full set of SVR4/XSI Curses terminfo; and variants such as AIX -that have their own extensions incompatible with SVr4/XSI. Available terminfo -subsets are "SVr1", "Ultrix", "HP", and "AIX"; see \fBterminfo\fR(\*n) for -details. You can also choose the subset "BSD" which selects only capabilities -with termcap equivalents recognized by 4.4BSD. -.TP -\fB-s \fR\fI[d|i|l|c]\fR -The \fB-s\fR option sorts the fields within each type according to the argument -below: -.br -.RS 5 -.TP 5 -\fBd\fR -leave fields in the order that they are stored in the \fIterminfo\fR database. -.TP 5 -\fBi\fR -sort by \fIterminfo\fR name. -.TP 5 -\fBl\fR -sort by the long C variable name. -.TP 5 -\fBc\fR -sort by the \fItermcap\fR name. -.RE -.IP -If the \fB-s\fR option is not given, the fields printed out will be -sorted alphabetically by the \fBterminfo\fR name within each type, -except in the case of the \fB-C\fR or the \fB-L\fR options, which cause the -sorting to be done by the \fBtermcap\fR name or the long C variable -name, respectively. -.TP 5 -\fB-T\fR -eliminates size-restrictions on the generated text. -This is mainly useful for testing and analysis, since the compiled -descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo). -.TP -\fB-t\fR -tells \fBtic\fP to discard commented-out capabilities. -Normally when translating from terminfo to termcap, -untranslatable capabilities are commented-out. -.TP 5 -\fB-V\fR -reports the version of ncurses which was used in this program, and exits. -.TP 5 -\fB-v\fR \fIn\fR -prints out tracing information on standard error as the program runs. -Higher values of n induce greater verbosity. -.TP 5 -\fB-w\fR \fIwidth\fR -changes the output to \fIwidth\fR characters. -.TP -\fB-x\fR -print information for user-defined capabilities. -These are extensions to the terminfo repertoire which can be loaded -using the \fB-x\fR option of \fBtic\fP. -.SH FILES -.TP 20 -\*d -Compiled terminal description database. -.SH EXTENSIONS -The -\fB-E\fR, -\fB-F\fR, -\fB-G\fR, -\fB-R\fR, -\fB-T\fR, -\fB-V\fR, -\fB-a\fR, -\fB-e\fR, -\fB-f\fR, -\fB-g\fR, -\fB-i\fR, -\fB-l\fR, -\fB-p\fR, -\fB-q\fR and -\fB-t\fR -options are not supported in SVr4 curses. - -The \fB-r\fR option's notion of `termcap' capabilities is System V Release 4's. -Actual BSD curses versions will have a more restricted set. To see only the -4.4BSD set, use \fB-r\fR \fB-RBSD\fR. -.SH BUGS -The \fB-F\fR option of \fBinfocmp\fR(1M) should be a \fBtoe\fR(1M) mode. -.SH SEE ALSO -\fBinfocmp\fR(1M), \fBcaptoinfo\fR(1M), \fBinfotocap\fR(1M), -\fBtic\fR(1M), \fBtoe\fR(1M), -\fBcurses\fR(3X), \fBterminfo\fR(\*n). -.SH AUTHOR -Eric S. Raymond -and -.br -Thomas E. Dickey -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/infotocap.1m b/src/libs/ncurses/man/infotocap.1m deleted file mode 100644 index e1dacc63ad..0000000000 --- a/src/libs/ncurses/man/infotocap.1m +++ /dev/null @@ -1,74 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1999-2003,2004 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: infotocap.1m,v 1.5 2004/07/05 13:16:08 tom Exp $ -.TH infotocap 1M "" -.ds n 5 -.ds d @TERMINFO@ -.SH NAME -\fBinfotocap\fR - convert a \fIterminfo\fR description into a \fItermcap\fR description -.SH SYNOPSIS -\fBinfotocap\fR [\fB-v\fR\fIn\fR \fIwidth\fR] [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . . -.SH DESCRIPTION -\fBinfotocap\fR looks in \fIfile\fR for \fBterminfo\fR descriptions. For each -one found, an equivalent \fBtermcap\fR description is written to standard -output. Terminfo \fBuse\fR capabilities are translated directly to termcap -\fBtc\fR capabilities. -.TP 5 -\fB-v\fR -print out tracing information on standard error as the program runs. -.TP 5 -\fB-V\fR -print out the version of the program in use on standard error and exit. -.TP 5 -\fB-1\fR -cause the fields to print out one to a line. Otherwise, the fields -will be printed several to a line to a maximum width of 60 -characters. -.TP 5 -\fB-w\fR -change the output to \fIwidth\fR characters. -.SH FILES -.TP 20 -\*d -Compiled terminal description database. -.SH NOTES -This utility is actually a link to \fItic\fR(1M), running in \fI-C\fR mode. -You can use other \fItic\fR options such as \fB-f\fR and \fB-x\fR. -.SH SEE ALSO -\fBcurses\fR(3X), -\fBtic\fR(1M), -\fBinfocmp\fR(1M), -\fBterminfo\fR(\*n) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/key_defined.3x b/src/libs/ncurses/man/key_defined.3x deleted file mode 100644 index a0bf8bb410..0000000000 --- a/src/libs/ncurses/man/key_defined.3x +++ /dev/null @@ -1,60 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 2003,2004 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" Author: Thomas E. Dickey 2003 -.\" -.\" $Id: key_defined.3x,v 1.3 2004/06/05 19:19:09 tom Exp $ -.TH key_defined 3X "" -.SH NAME -\fBkey_defined\fP \- check if a keycode is defined -.SH SYNOPSIS -\fB#include \fP - -\fBint key_defined(const char *definition);\fP -.SH DESCRIPTION -This is an extension to the curses library. -It permits an application to determine if a string is currently bound -to any keycode. -.SH RETURN VALUE -If the string is bound to a keycode, its value (greater than zero) is returned. -If no keycode is bound, zero is returned. -If the string conflicts with longer strings which are bound to keys, -1 is returned. -.SH PORTABILITY -These routines are specific to ncurses. They were not supported on -Version 7, BSD or System V implementations. It is recommended that -any code depending on them be conditioned using NCURSES_VERSION. -.SH SEE ALSO -\fBdefine_key\fR(3X). -.SH AUTHOR -Thomas Dickey. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/keybound.3x b/src/libs/ncurses/man/keybound.3x deleted file mode 100644 index 61074e436f..0000000000 --- a/src/libs/ncurses/man/keybound.3x +++ /dev/null @@ -1,64 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1999-2002,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" Author: Thomas E. Dickey 1999 -.\" -.\" $Id: keybound.3x,v 1.5 2003/10/25 20:33:16 tom Exp $ -.TH keyok 3X "" -.SH NAME -\fBkeybound\fP \- return definition of keycode -.SH SYNOPSIS -\fB#include \fP - -\fBchar * keybound(int keycode, int count);\fP -.SH DESCRIPTION -This is an extension to the curses library. -It permits an application to determine the string which is defined -in the terminfo for specific keycodes. -.SH RETURN VALUE -The \fIkeycode\fP parameter must be greater than zero, else NULL is returned. -If it does not correspond to a defined key, then NULL is returned. -The \fIcount\fP parameter is used to allow the application to iterate -through multiple definitions, counting from zero. -When successful, -the function returns a string which must be freed by the caller. -.SH PORTABILITY -These routines are specific to ncurses. They were not supported on -Version 7, BSD or System V implementations. It is recommended that -any code depending on them be conditioned using NCURSES_VERSION. -.SH SEE ALSO -\fBdefine_key\fR(3X), -\fBkeyok\fR(3X). -.SH AUTHOR -Thomas Dickey. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/keyok.3x b/src/libs/ncurses/man/keyok.3x deleted file mode 100644 index f9209089a7..0000000000 --- a/src/libs/ncurses/man/keyok.3x +++ /dev/null @@ -1,63 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" Author: Thomas E. Dickey 1997 -.\" -.\" $Id: keyok.3x,v 1.8 2003/10/25 20:41:08 tom Exp $ -.TH keyok 3X "" -.SH NAME -\fBkeyok\fP \- enable or disable a keycode -.SH SYNOPSIS -\fB#include \fP - -\fBint keyok(int keycode, bool enable);\fP -.SH DESCRIPTION -This is an extension to the curses library. -It permits an application to disable specific keycodes, rather than -use the \fIkeypad\fP function to disable all keycodes. -Keys that have been disabled can be reenabled. -.SH RETURN VALUE -The keycode must be greater than zero, else ERR is returned. -If it does not correspond to a defined key, then ERR is returned. -If the \fIenable\fP parameter is true, then the key must have been disabled, -and vice versa. -Otherwise, the function returns OK. -.SH PORTABILITY -These routines are specific to ncurses. They were not supported on -Version 7, BSD or System V implementations. It is recommended that -any code depending on them be conditioned using NCURSES_VERSION. -.SH SEE ALSO -\fBdefine_key\fR(3X). -.SH AUTHOR -Thomas Dickey. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/make_sed.sh b/src/libs/ncurses/man/make_sed.sh deleted file mode 100755 index f2afac93eb..0000000000 --- a/src/libs/ncurses/man/make_sed.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh -# $Id: make_sed.sh,v 1.9 2005/07/16 18:15:31 tom Exp $ -############################################################################## -# Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1997-2005 -# -# Construct a sed-script to perform renaming within man-pages. Originally -# written in much simpler form, this one accounts for the common cases of -# section-names in man-pages. - -if test $# != 1 ; then - echo '? expected a single filename' - exit 1 -fi - -COL=col$$ -INPUT=input$$ -UPPER=upper$$ -SCRIPT=script$$ -RESULT=result$$ -rm -f $UPPER $SCRIPT $RESULT -trap "rm -f $COL.* $INPUT $UPPER $SCRIPT $RESULT" 0 1 2 5 15 -fgrep -v \# $1 | \ -sed -e 's/[ ][ ]*/ /g' >$INPUT - -for F in 1 2 3 4 -do -sed -e 's/\./ /g' $INPUT | \ -cut -f $F > $COL.$F -done -for F in 2 4 -do - tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ <$COL.$F >$UPPER - mv $UPPER $COL.$F -done -paste $COL.* | \ -sed -e 's/^/s\/\\$UPPER - -echo "# Do the TH lines" >>$RESULT -sed -e 's/\//\/TH /' \ - -e 's/ / /' \ - -e 's/ / ""\/TH /' \ - -e 's/ / /' \ - -e 's/\/$/ ""\//' \ - $UPPER >>$RESULT - -echo "# Do the embedded references" >>$RESULT -sed -e 's/>$RESULT - -echo "# Do the \fBxxx\fR references in the .NAME section" >>$RESULT -sed -e 's/\\>$RESULT - -# Finally, send the result to standard output -cat $RESULT diff --git a/src/libs/ncurses/man/man_db.renames b/src/libs/ncurses/man/man_db.renames deleted file mode 100644 index 99e5cb10ab..0000000000 --- a/src/libs/ncurses/man/man_db.renames +++ /dev/null @@ -1,142 +0,0 @@ -# $Id: man_db.renames,v 0.34 2005/06/25 18:30:53 Daniel.Jacobowitz Exp $ -# Manual-page renamings for the man_db program -# -# Files: -captoinfo.1m captoinfo.1 -clear.1 clear.1 -curs_add_wch.3x add_wch.3ncurses -curs_add_wchstr.3x add_wchstr.3ncurses -curs_addch.3x addch.3ncurses -curs_addchstr.3x addchstr.3ncurses -curs_addstr.3x addstr.3ncurses -curs_addwstr.3x addwstr.3ncurses -curs_attr.3x attr.3ncurses -curs_beep.3x beep.3ncurses -curs_bkgd.3x bkgd.3ncurses -curs_bkgrnd.3x bkgrnd.3ncurses -curs_border.3x border.3ncurses -curs_border_set.3x border_set.3ncurses -curs_clear.3x clear.3ncurses -curs_color.3x color.3ncurses -curs_delch.3x delch.3ncurses -curs_deleteln.3x deleteln.3ncurses -curs_extend.3x extensions.3ncurses -curs_get_wch.3x get_wch.3ncurses -curs_get_wstr.3x get_wstr.3ncurses -curs_getcchar.3x getcchar.3ncurses -curs_getch.3x getch.3ncurses -curs_getstr.3x getstr.3ncurses -curs_getyx.3x getyx.3ncurses -curs_in_wch.3x in_wch.3ncurses -curs_in_wchstr.3x in_wchstr.3ncurses -curs_inch.3x inch.3ncurses -curs_inchstr.3x inchstr.3ncurses -curs_initscr.3x initscr.3ncurses -curs_inopts.3x inopts.3ncurses -curs_ins_wch.3x ins_wch.3ncurses -curs_ins_wstr.3x ins_wstr.3ncurses -curs_insch.3x insch.3ncurses -curs_insstr.3x insstr.3ncurses -curs_instr.3x instr.3ncurses -curs_inwstr.3x inwstr.3ncurses -curs_kernel.3x kernel.3ncurses -curs_mouse.3x mouse.3ncurses -curs_move.3x move.3ncurses -curs_outopts.3x outopts.3ncurses -curs_overlay.3x overlay.3ncurses -curs_pad.3x pad.3ncurses -curs_print.3x print.3ncurses -curs_printw.3x printw.3ncurses -curs_refresh.3x refresh.3ncurses -curs_scanw.3x scanw.3ncurses -curs_scr_dump.3x scr_dump.3ncurses -curs_scroll.3x scroll.3ncurses -curs_slk.3x slk.3ncurses -curs_termattrs.3x termattrs.3ncurses -curs_termcap.3x termcap.3ncurses -curs_terminfo.3x terminfo.3ncurses -curs_touch.3x touch.3ncurses -curs_trace.3x trace.3ncurses -curs_util.3x util.3ncurses -curs_window.3x window.3ncurses -curses.3x ncurses.3ncurses -default_colors.3x default_colors.3ncurses -define_key.3x define_key.3ncurses -form.3x form.3form -form_cursor.3x cursor.3form -form_data.3x data.3form -form_driver.3x driver.3form -form_field.3x field.3form -form_field_attributes.3x field_attributes.3form -form_field_buffer.3x field_buffer.3form -form_field_info.3x field_info.3form -form_field_just.3x field_just.3form -form_field_new.3x field_new.3form -form_field_opts.3x field_opts.3form -form_field_userptr.3x field_userptr.3form -form_field_validation.3x field_validation.3form -form_fieldtype.3x fieldtype.3form -form_hook.3x hook.3form -form_new.3x new.3form -form_new_page.3x new_page.3form -form_opts.3x opts.3form -form_page.3x page.3form -form_post.3x post.3form -form_requestname.3x requestname.3form -form_userptr.3x userptr.3form -form_win.3x win.3form -infocmp.1m infocmp.1 -infotocap.1m infotocap.1 -keybound.3x keybound.3ncurses -keyok.3x keyok.3ncurses -key_defined.3x key_defined.3ncurses -menu.3x menu.3menu -menu_attributes.3x attributes.3menu -menu_cursor.3x cursor.3menu -menu_driver.3x driver.3menu -menu_format.3x format.3menu -menu_hook.3x hook.3menu -menu_items.3x items.3menu -menu_mark.3x mark.3menu -menu_new.3x new.3menu -menu_opts.3x opts.3menu -menu_pattern.3x pattern.3menu -menu_post.3x post.3menu -menu_requestname.3x requestname.3menu -menu_spacing.3x spacing.3menu -menu_userptr.3x userptr.3menu -menu_win.3x win.3menu -mitem_current.3x menu_current.3menu -mitem_name.3x menu_name.3menu -mitem_new.3x menu_new.3menu -mitem_opts.3x menu_opts.3menu -mitem_userptr.3x menu_userptr.3menu -mitem_value.3x menu_value.3menu -mitem_visible.3x menu_visible.3menu -ncurses.3x ncurses.3ncurses -panel.3x panel.3curses -printf.3s printf.3 -putc.3s putc.3 -resizeterm.3x resizeterm.3ncurses -scanf.3s scanf.3 -system.3s system.3 -term.5 term.5 -term.7 term.7 -terminfo.5 terminfo.5 -terminfo.\\\*n terminfo.5 -tic.1m tic.1 -toe.1m toe.1 -tput.1 tput.1 -tset.1 tset.1 -vprintf.3s vprintf.3 -wresize.3x wresize.3ncurses -# -# Other cross-references: -addch.3x addch.3ncurses -can_change_color.3x can_change_color.3ncurses -curs_attr_get.3x attr_get.3ncurses -dup_field.3x dup_field.3ncurses -init_pair.3x init_pair.3ncurses -# -# Other: -tack.1m tack.1 diff --git a/src/libs/ncurses/man/manlinks.sed b/src/libs/ncurses/man/manlinks.sed deleted file mode 100644 index 4da7790dfd..0000000000 --- a/src/libs/ncurses/man/manlinks.sed +++ /dev/null @@ -1,101 +0,0 @@ -# $Id: manlinks.sed,v 1.12 2003/12/20 13:17:56 tom Exp $ -############################################################################## -# Copyright (c) 2000-2002,2003 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# Given a manpage (nroff) as input, writes a list of the names that are -# listed in the "NAME" section, i.e., the names that we would like to use -# as aliases for the manpage -T.Dickey -# -# eliminate formatting controls that get in the way -/^'\\"/d -/\.\\"/d -/^\.br/d -/^\.sp/d -s/^\.IX// -s/\\f.//g -s/[:,]/ /g -# -# eliminate unnecessary whitespace, convert multiple blanks to single space -s/^[ ][ ]*// -s/[ ][ ]*$// -s/[ ][ ]*/ /g -# -# convert ".SH" into a more manageable form -s/\.SH[ ][ ]*/.SH_(/ -# -# in ".SH NAME" -# change "\-" to "-", eliminate text after "-", and split the remaining lines -# at each space, making a list of names: -/^\.SH_(NAME/,/^\.SH_(SYNOPSIS/{ -s/\\-.*/ -/ -/ -/{ -s/ -.*// -s/ /\ -/g -} -/^-/{ -d -} -s/ /\ -/g -} -# -# in ".SH SYNOPSIS" -# remove any line that does not contain a '(', since we only want functions. -# then strip off return-type of each function. -# finally, remove the parameter list, which begins with a '('. -/^\.SH_(SYNOPSIS/,/^\.SH_(DESCRIPTION/{ -/^[^(]*$/d -# reduce -# .B "int add_wch( const cchar_t *\fIwch\fB );" -# to -# add_wch( const cchar_t *\fIwch\fB );" -s/^\([^ (]* [^ (]* [*]*\)//g -s/^\([^ (]* [*]*\)//g -# trim blanks in case we have -# void (*) (FORM *) field_init(const FORM *form); -s/) (/)(/g -# reduce stuff like -# void (*)(FORM *) field_init(const FORM *form); -# to -# field_init(const FORM *form); -s/^\(([^)]*)\)\(([^)]*)\)*[ ]*//g -# rename marker temporarily -s/\.SH_(/.SH_/ -# kill lines with ");", and trim off beginning of argument list. -s/[()].*// -# rename marker back -s/\.SH_/.SH_(/ -} -# -# delete ".SH DESCRIPTION" and following lines -/^\.SH_(DESCRIPTION/,${ -d -} -# -# delete any remaining directives -/^\./d diff --git a/src/libs/ncurses/man/menu.3x b/src/libs/ncurses/man/menu.3x deleted file mode 100644 index e81913c43c..0000000000 --- a/src/libs/ncurses/man/menu.3x +++ /dev/null @@ -1,190 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998,2000,2002 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: menu.3x,v 1.15 2002/01/19 22:48:58 tom Exp $ -.TH menu 3X "" -.SH NAME -\fBmenu\fR - curses extension for programming menus -.SH SYNOPSIS -\fB#include \fR -.br -.SH DESCRIPTION -The \fBmenu\fR library provides terminal-independent facilities for composing -menu systems on character-cell terminals. The library includes: item routines, -which create and modify menu items; and menu routines, which group items into -menus, display menus on the screen, and handle interaction with the user. - -The \fBmenu\fR library uses the \fBcurses\fR libraries, and a curses -initialization routine such as \fBinitscr\fR must be called before using any of -these functions. To use the \fBmenu\fR library, link with the options -\fB-lmenu -lcurses\fR. - -.SS Current Default Values for Item Attributes - -The \fBmenu\fR library maintains a default value for item attributes. You can -get or set this default by calling the appropriate \fBget_\fR or \fBset_\fR -routine with a \fBNULL\fR item pointer. Changing this default with a -\fBset_\fR function affects future item creations, but does not change the -rendering of items already created. - -.SS Routine Name Index - -The following table lists each \fBmenu\fR routine and the name of -the manual page on which it is described. - -.TS -l l . -\fBcurses\fR Routine Name Manual Page Name -= -current_item \fBmitem_current\fR(3X) -free_item \fBmitem_new\fR(3X) -free_menu \fBmenu_new\fR(3X) -item_count \fBmenu_items\fR(3X) -item_description \fBmitem_name\fR(3X) -item_index \fBmitem_current\fR(3X) -item_init \fBmenu_hook\fR(3X) -item_name \fBmitem_name\fR(3X) -item_opts \fBmitem_opts\fR(3X) -item_opts_off \fBmitem_opts\fR(3X) -item_opts_on \fBmitem_opts\fR(3X) -item_term \fBmenu_hook\fR(3X) -item_userptr \fBmitem_userptr\fR(3X) -item_value \fBmitem_value\fR(3X) -item_visible \fBmitem_visible\fR(3X) -menu_back \fBmenu_attributes\fR(3X) -menu_driver \fBmenu_driver\fR(3X) -menu_fore \fBmenu_attributes\fR(3X) -menu_format \fBmenu_format\fR(3X) -menu_grey \fBmenu_attributes\fR(3X) -menu_init \fBmenu_hook\fR(3X) -menu_items \fBmenu_items\fR(3X) -menu_mark \fBmenu_mark\fR(3X) -menu_opts \fBmenu_opts\fR(3X) -menu_opts_off \fBmenu_opts\fR(3X) -menu_opts_on \fBmenu_opts\fR(3X) -menu_pad \fBmenu_attributes\fR(3X) -menu_pattern \fBmenu_pattern\fR(3X) -menu_request_by_name \fBmenu_requestname\fR(3X) -menu_request_name \fBmenu_requestname\fR(3X) -menu_spacing \fBmenu_spacing\fR(3X) -menu_sub \fBmenu_win\fR(3X) -menu_term \fBmenu_hook\fR(3X) -menu_userptr \fBmenu_userptr\fR(3X) -menu_win \fBmenu_win\fR(3X) -new_item \fBmitem_new\fR(3X) -new_menu \fBmenu_new\fR(3X) -pos_menu_cursor \fBmenu_cursor\fR(3X) -post_menu \fBmenu_post\fR(3X) -scale_menu \fBmenu_win\fR(3X) -set_current_item \fBmitem_current\fR(3X) -set_item_init \fBmenu_hook\fR(3X) -set_item_opts \fBmitem_opts\fR(3X) -set_item_term \fBmenu_hook\fR(3X) -set_item_userptr \fBmitem_userptr\fR(3X) -set_item_value \fBmitem_value\fR(3X) -set_menu_back \fBmenu_attributes\fR(3X) -set_menu_fore \fBmenu_attributes\fR(3X) -set_menu_format \fBmenu_format\fR(3X) -set_menu_grey \fBmenu_attributes\fR(3X) -set_menu_init \fBmenu_hook\fR(3X) -set_menu_items \fBmenu_items\fR(3X) -set_menu_mark \fBmenu_mark\fR(3X) -set_menu_opts \fBmitem_opts\fR(3X) -set_menu_pad \fBmenu_attributes\fR(3X) -set_menu_pattern \fBmenu_pattern\fR(3X) -set_menu_spacing \fBmenu_spacing\fR(3X) -set_menu_sub \fBmenu_win\fR(3X) -set_menu_term \fBmenu_hook\fR(3X) -set_menu_userptr \fBmenu_userptr\fR(3X) -set_menu_win \fBmenu_win\fR(3X) -set_top_row \fBmitem_current\fR(3X) -top_row \fBmitem_current\fR(3X) -unpost_menu \fBmenu_post\fR(3X) -.TE -.SH RETURN VALUE -Routines that return pointers return \fBNULL\fR on error. Routines that return -an integer return one of the following error codes: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_POSTED\fR -The menu is already posted. -.TP 5 -\fBE_BAD_STATE\fR -Routine was called from an initialization or termination function. -.TP 5 -\fBE_NO_ROOM\fR -Menu is too large for its window. -.TP 5 -\fBE_NOT_POSTED\fR -The menu has not been posted. -.TP 5 -\fBE_UNKNOWN_COMMAND\fR -The menu driver code saw an unknown request code. -.TP 5 -\fBE_NO_MATCH\fR -Character failed to match. -.TP 5 -\fBE_NOT_SELECTABLE\fR -The designated item cannot be selected. -.TP 5 -\fBE_NOT_CONNECTED\fR -No items are connected to the menu. -.TP 5 -\fBE_REQUEST_DENIED\fR -The menu driver could not process the request. -.SH SEE ALSO -\fBcurses\fR(3X) and related pages whose names begin "menu_" for detailed -descriptions of the entry points. -.SH NOTES -The header file \fB\fR automatically includes the header files -\fB\fR and \fB\fR. - -In your library list, libmenu.a should be before libncurses.a; that is, -you want to say `-lmenu -lncurses', not the other way around (which would -give you a link error using GNU \fBld\fR(1) and many other linkers). -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for ncurses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/menu_attributes.3x b/src/libs/ncurses/man/menu_attributes.3x deleted file mode 100644 index 99a2ac2bc1..0000000000 --- a/src/libs/ncurses/man/menu_attributes.3x +++ /dev/null @@ -1,100 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998,2002 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: menu_attributes.3x,v 1.7 2002/01/19 22:49:06 tom Exp $ -.TH menu_attributes 3X "" -.SH NAME -\fBmenu_attributes\fR - color and attribute control for menus -.SH SYNOPSIS -\fB#include \fR -.br -int set_menu_fore(MENU *menu, chtype attr); -.br -chtype menu_fore(const MENU *menu); -.br -int set_menu_back(MENU *menu, chtype attr); -.br -chtype menu_back(const MENU *menu); -.br -int set_menu_grey(MENU *menu, chtype attr); -.br -chtype menu_grey(const MENU *menu); -.br -int set_menu_pad(MENU *menu, int pad); -.br -int menu_pad(const MENU *menu); -.br -.SH DESCRIPTION -The function \fBset_menu_fore\fR sets the foreground attribute of -\fImenu\fR. This is the highlight used for selected menu items. -\fBmenu_fore\fR returns the foreground attribute. The default -is \fBA_STANDOUT\fR. - -The function \fBset_menu_back\fR sets the background attribute of -\fImenu\fR. This is the highlight used for selectable (but not currently -selected) menu items. The function \fBmenu_back\fR returns the background -attribute. The default is \fBA_NORMAL\fR. - -The function \fBset_menu_grey\fR sets the grey attribute of \fImenu\fR. This is -the highlight used for un-selectable menu items in menus that permit more than -one selection. The function \fBmenu_grey\fR returns the grey attribute. -The default is \fBA_UNDERLINE\fR. - -The function \fBset_menu_pad\fR sets the character used to fill the space -between the name and description parts of a menu item. \fBmenu_pad\fR returns -the given menu's pad character. The default is a blank. -.SH RETURN VALUE -These routines return one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.SH SEE ALSO -\fBcurses\fR(3X) and related pages whose names begin "menu_" for detailed -descriptions of the entry points. -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/menu_cursor.3x b/src/libs/ncurses/man/menu_cursor.3x deleted file mode 100644 index 2cc58507de..0000000000 --- a/src/libs/ncurses/man/menu_cursor.3x +++ /dev/null @@ -1,73 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: menu_cursor.3x,v 1.5 1998/11/29 01:09:30 Rick.Ohnemus Exp $ -.TH menu_cursor 3X "" -.SH NAME -\fBmenu_cursor\fR - position a menu's cursor -.SH SYNOPSIS -\fB#include \fR -.br -int pos_menu_cursor(const MENU *menu); -.br -.SH DESCRIPTION -The function \fBpos_menu_cursor\fR restores the cursor to the current position -associated with the menu's selected item. This is useful after \fBcurses\fR -routines have been called to do screen-painting in response to a menu select. -.SH RETURN VALUE -This routine returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_NOT_POSTED\fR -The menu has not been posted. -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/menu_driver.3x b/src/libs/ncurses/man/menu_driver.3x deleted file mode 100644 index 1651724b0b..0000000000 --- a/src/libs/ncurses/man/menu_driver.3x +++ /dev/null @@ -1,170 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: menu_driver.3x,v 1.11 2003/05/10 20:22:01 tom Exp $ -.TH menu_driver 3X "" -.SH NAME -\fBmenu_driver\fR - command-processing loop of the menu system -.SH SYNOPSIS -\fB#include \fR -.br -int menu_driver(MENU *menu, int c); -.br -.SH DESCRIPTION -Once a menu has been posted (displayed), you should funnel input events to it -through \fBmenu_driver\fR. This routine has three major input cases; either -the input is a menu navigation request, it's a printable ASCII character or it -is the KEY_MOUSE special key associated with an mouse event. -The menu driver requests are as follows: -.TP 5 -REQ_LEFT_ITEM -Move left to an item. -.TP 5 -REQ_RIGHT_ITEM -Move right to an item. -.TP 5 -REQ_UP_ITEM -Move up to an item. -.TP 5 -REQ_DOWN_ITEM -Move down to an item. -.TP 5 -REQ_SCR_ULINE -Scroll up a line. -.TP 5 -REQ_SCR_DLINE -Scroll down a line. -.TP 5 -REQ_SCR_DPAGE -Scroll down a page. -.TP 5 -REQ_SCR_UPAGE -Scroll up a page. -.TP 5 -REQ_FIRST_ITEM -Move to the first item. -.TP 5 -REQ_LAST_ITEM -Move to the last item. -.TP 5 -REQ_NEXT_ITEM -Move to the next item. -.TP 5 -REQ_PREV_ITEM -Move to the previous item. -.TP 5 -REQ_TOGGLE_ITEM -Select/deselect an item. -.TP 5 -REQ_CLEAR_PATTERN -Clear the menu pattern buffer. -.TP 5 -REQ_BACK_PATTERN -Delete the previous character from the pattern buffer. -.TP 5 -REQ_NEXT_MATCH -Move to the next item matching the pattern match. -.TP 5 -REQ_PREV_MATCH -Move to the previous item matching the pattern match. -.PP -If the second argument is a printable ASCII character, the code appends -it to the pattern buffer and attempts to move to the next item matching -the new pattern. If there is no such match, \fBmenu_driver\fR returns -\fBE_NO_MATCH\fR and deletes the appended character from the buffer. -.PP -If the second argument is one of the above pre-defined requests, the -corresponding action is performed. -.PP -If the second argument is the KEY_MOUSE special key, the associated -mouse event is translated into one of the above pre-defined requests. -Currently only clicks in the user window (e.g. inside the menu display -area or the decoration window) are handled. If you click above the -display region of the menu, a REQ_SCR_ULINE is generated, if you -doubleclick a REQ_SCR_UPAGE is generated and if you tripleclick a -REQ_FIRST_ITEM is generated. If you click below the display region of -the menu, a REQ_SCR_DLINE is generated, if you doubleclick a REQ_SCR_DPAGE -is generated and if you tripleclick a REQ_LAST_ITEM is generated. If you -click at an item inside the display area of the menu, the menu cursor -is positioned to that item. If you double-click at an item a REQ_TOGGLE_ITEM -is generated and \fBE_UNKNOWN_COMMAND\fR is returned. This return value makes -sense, because a double click usually means that an item-specific action should -be returned. It's exactly the purpose of this return value to signal that an -application specific command should be executed. If a translation -into a request was done, \fBmenu_driver\fR returns the result of this request. -If you clicked outside the user window or the mouse event couldn't be translated -into a menu request an \fBE_REQUEST_DENIED\fR is returned. -.PP -If the second argument is neither printable ASCII nor one of the above -pre-defined menu requests or KEY_MOUSE, the drive assumes it is an application-specific -command and returns \fBE_UNKNOWN_COMMAND\fR. Application-defined commands -should be defined relative to \fBMAX_COMMAND\fR, the maximum value of these -pre-defined requests. -.SH RETURN VALUE -\fBmenu_driver\fR return one of the following error codes: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_BAD_STATE\fR -Routine was called from an initialization or termination function. -.TP 5 -\fBE_NOT_POSTED\fR -The menu has not been posted. -.TP 5 -\fBE_UNKNOWN_COMMAND\fR -The menu driver code saw an unknown request code. -.TP 5 -\fBE_NO_MATCH\fR -Character failed to match. -.TP 5 -\fBE_REQUEST_DENIED\fR -The menu driver could not process the request. -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header files -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. The support for mouse events is ncurses specific. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/menu_format.3x b/src/libs/ncurses/man/menu_format.3x deleted file mode 100644 index 7dde28face..0000000000 --- a/src/libs/ncurses/man/menu_format.3x +++ /dev/null @@ -1,84 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998,2001 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: menu_format.3x,v 1.8 2001/08/04 20:36:19 William.Setzer Exp $ -.TH menu_format 3X "" -.SH NAME -\fBmenu_format\fR - set and get menu sizes -.SH SYNOPSIS -\fB#include \fR -.br -int set_menu_format(MENU *menu, int rows, int cols); -.br -void menu_format(const MENU *menu, int *rows, int *cols); -.br -.SH DESCRIPTION -The function \fBset_menu_format\fR sets the maximum display size of the given -menu. If this size is too small to display all menu items, the menu will be -made scrollable. If this size is larger than the menus subwindow and the -subwindow is too small to display all menu items, \fBpost_menu()\fR will fail. - -The default format is 16 rows, 1 column. Calling \fBset_menu_format\fR with a -null menu pointer will change this default. A zero row or column argument to -\fBset_menu_format\fR is interpreted as a request not to change the current -value. - -The function \fBmenu_format\fR returns the maximum-size constraints for the -given menu into the storage addressed by \fBrows\fR and \fBcols\fR. -.SH RETURN VALUE -These routines returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_POSTED\fR -The menu is already posted. -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/menu_hook.3x b/src/libs/ncurses/man/menu_hook.3x deleted file mode 100644 index 531528a607..0000000000 --- a/src/libs/ncurses/man/menu_hook.3x +++ /dev/null @@ -1,101 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: menu_hook.3x,v 1.6 1998/11/29 01:09:47 Rick.Ohnemus Exp $ -.TH menu_hook 3X "" -.SH NAME -\fBmenu_hook\fR - set hooks for automatic invocation by applications -.SH SYNOPSIS -\fB#include \fR -.br -int set_item_init(MENU *menu, void (*func)(MENU *)); -.br -void (*)(MENU *) item_init(const MENU *menu); -.br -int set_item_term(MENU *menu, void (*func)(MENU *)); -.br -void (*)(MENU *) item_term(const MENU *menu); -.br -int set_menu_init(MENU *menu, void (*func)(MENU *)); -.br -void (*)(MENU *) menu_init(const MENU *menu); -.br -int set_menu_term(MENU *menu, void (*func)(MENU *)); -.br -void (*)(MENU *) menu_term(const MENU *menu); -.br -.SH DESCRIPTION -These functions make it possible to set hook functions to be called at various -points in the automatic processing of input event codes by \fBmenu_driver\fR. - -The function \fBset_item_init\fR sets a hook to be called at menu-post time and -each time the selected item changes (after the change). \fBitem_init\fR -returns the current item init hook, if any (\fBNULL\fR if there is no such -hook). - -The function \fBset_item_term\fR sets a hook to be called at menu-unpost time -and each time the selected item changes (before the change). \fBitem_term\fR -returns the current item term hook, if any (\fBNULL\fR if there is no such -hook). - -The function \fBset_menu_init\fR sets a hook to be called at menu-post time and -just after the top row on the menu changes once it is posted. \fBmenu_init\fR -returns the current menu init hook, if any (\fBNULL\fR if there is no such -hook). - -The function \fBset_menu_term\fR sets a hook to be called at menu-unpost time -and just before the top row on the menu changes once it is posted. -\fBmenu_term\fR returns the current menu term hook, if any (\fBNULL\fR if there -is no such hook). -.SH RETURN VALUE -Routines that return pointers return \fBNULL\fR on error. Other routines -return one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/menu_items.3x b/src/libs/ncurses/man/menu_items.3x deleted file mode 100644 index 7ec7db5604..0000000000 --- a/src/libs/ncurses/man/menu_items.3x +++ /dev/null @@ -1,91 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: menu_items.3x,v 1.5 1998/11/29 01:09:56 Rick.Ohnemus Exp $ -.TH menu_items 3X "" -.SH NAME -\fBmenu_items\fR - make and break connections between items and menus -.SH SYNOPSIS -\fB#include \fR -.br -int set_menu_items(MENU *menu, ITEM **items); -.br -ITEM **menu_items(const MENU *menu); -.br -int item_count(const MENU *menu); -.br -.SH DESCRIPTION -The function \fBset_menu_items\fR changes the item pointer array of the given -\fImenu\fR. The array must be terminated by a \fBNULL\fR. - -The function \fBmenu_items\fR returns the item array of the given menu. - -The function \fBitem_count\fR returns the count of items in \fImenu\fR. -.SH RETURN VALUES -The function \fBmenu_items\fR returns \fBNULL\fR on error. - -The function \fBitem_count\fR returns \fBERR\fR (the general \fBcurses\fR error -return value) on error. - -The function \fBset_menu_items\fR returns one of the following codes on error: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_POSTED\fR -The menu is already posted. -.TP 5 -\fBE_NOT_CONNECTED\fR -No items are connected to the menu. -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. - -The SVr4 menu library documentation specifies the \fBitem_count\fR error value -as -1 (which is the value of \fBERR\fR). -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/menu_mark.3x b/src/libs/ncurses/man/menu_mark.3x deleted file mode 100644 index 72ea000335..0000000000 --- a/src/libs/ncurses/man/menu_mark.3x +++ /dev/null @@ -1,84 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: menu_mark.3x,v 1.6 1998/11/29 01:10:03 Rick.Ohnemus Exp $ -.TH menu_mark 3X "" -.SH NAME -\fBmenu_mark\fR - get and set the menu mark string -.SH SYNOPSIS -\fB#include \fR -.br -int set_menu_mark(MENU *menu, const char *mark); -.br -const char *menu_mark(const MENU *menu); -.br -.SH DESCRIPTION -In order to make menu selections visible on older terminals without -highlighting or color capability, the menu library marks selected items -in a menu with a prefix string. - -The function \fBset_menu_mark\fR sets the mark string for the given menu. -Calling \fBset_menu_mark\fR with a null menu item will abolish the mark string. -Note that changing the length of the mark string for a menu while the -menu is posted is likely to produce unhelpful behavior. - -The default string is "-" (a dash). Calling \fBset_menu_mark\fR with -a \fBNULL\fR menu argument will change this default. - -The function \fBmenu_mark\fR returns the menu's mark string (or \fBNULL\fR if -there is none). -.SH RETURN VALUE -The function \fBmenu_mark\fR returns \fBNULL\fR on error. The function -\fBset_menu_mark\fR may return the following error codes: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/menu_new.3x b/src/libs/ncurses/man/menu_new.3x deleted file mode 100644 index c53bd9b8cb..0000000000 --- a/src/libs/ncurses/man/menu_new.3x +++ /dev/null @@ -1,79 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: menu_new.3x,v 1.7 1998/11/29 01:10:13 Rick.Ohnemus Exp $ -.TH menu_new 3X "" -.SH NAME -\fBmenu_new\fR - create and destroy menus -.SH SYNOPSIS -\fB#include \fR -.br -MENU *new_menu(ITEM **items); -.br -int free_menu(MENU *menu); -.br -.SH DESCRIPTION -The function \fBnew_menu\fR creates a new menu connected to a specified item -pointer array (which must be \fBNULL\fR-terminated). - -The function \fBfree_menu\fR disconnects \fImenu\fR from its item array -and frees the storage allocated for the menu. -.SH RETURN VALUE -The function \fBnew_menu\fR returns \fBNULL\fR on error. - -The function \fBfree_menu\fR returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_POSTED\fR -The menu has already been posted. -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/menu_opts.3x b/src/libs/ncurses/man/menu_opts.3x deleted file mode 100644 index 30cad58d49..0000000000 --- a/src/libs/ncurses/man/menu_opts.3x +++ /dev/null @@ -1,104 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: menu_opts.3x,v 1.7 1998/11/29 01:10:21 Rick.Ohnemus Exp $ -.TH menu_opts 3X "" -.SH NAME -\fBmenu_opts\fR - set and get menu options -.SH SYNOPSIS -\fB#include \fR -.br -int set_menu_opts(MENU *menu, OPTIONS opts); -.br -int menu_opts_on(MENU *menu, OPTIONS opts); -.br -int menu_opts_off(MENU *menu, OPTIONS opts); -.br -OPTIONS menu_opts(const MENU *menu); -.br -.SH DESCRIPTION -The function \fBset_menu_opts\fR sets all the given menu's option bits (menu -option bits may be logically-OR'ed together). - -The function \fBmenu_opts_on\fR turns on the given option bits, and leaves -others alone. - -The function \fBmenu_opts_off\fR turns off the given option bits, and leaves -others alone. - -The function \fBmenu_opts\fR returns the menu's current option bits. - -The following options are defined (all are on by default): -.TP 5 -O_ONEVALUE -Only one item can be selected for this menu. -.TP 5 -O_SHOWDESC -Display the item descriptions when the menu is posted. -.TP 5 -O_ROWMAJOR -Display the menu in row-major order. -.TP 5 -O_IGNORECASE -Ignore the case when pattern-matching. -.TP 5 -O_SHOWMATCH -Move the cursor to within the item name while pattern-matching. -.TP 5 -O_NONCYCLIC -Don't wrap around next-item and previous-item, -requests to the other end of the menu. -.SH RETURN VALUE -Except for \fBmenu_opts\fR, each routine returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_POSTED\fR -The menu is already posted. -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/menu_pattern.3x b/src/libs/ncurses/man/menu_pattern.3x deleted file mode 100644 index 2fdc09a615..0000000000 --- a/src/libs/ncurses/man/menu_pattern.3x +++ /dev/null @@ -1,82 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: menu_pattern.3x,v 1.8 2003/05/10 20:22:01 tom Exp $ -.TH menu_pattern 3X "" -.SH NAME -\fBmenu_pattern\fR - get and set a menu's pattern buffer -.SH SYNOPSIS -\fB#include \fR -.br -int set_menu_pattern(MENU *menu, const char *pattern); -.br -char *menu_pattern(const MENU *menu); -.br -.SH DESCRIPTION -Every menu has an associated pattern match buffer. As input events that are -printable ASCII characters come in, they are appended to this match buffer -and tested for a match, as described in \fBmenu_driver\fR(3X). - -The function \fBset_menu_pattern\fR sets the pattern buffer for the given menu -and tries to find the first matching item. If it succeeds, that item becomes -current; if not, the current item does not change. - -The function \fBmenu_pattern\fR returns the pattern buffer of the given -\fImenu\fR. -.SH RETURN VALUE -The function \fBmenu_pattern\fR returns \fBNULL\fR on error. The function -\fBset_menu_pattern\fR may return the following error codes: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_NO_MATCH\fR -Character failed to match. -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/menu_post.3x b/src/libs/ncurses/man/menu_post.3x deleted file mode 100644 index a4182d6495..0000000000 --- a/src/libs/ncurses/man/menu_post.3x +++ /dev/null @@ -1,91 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: menu_post.3x,v 1.7 1998/11/29 01:10:33 Rick.Ohnemus Exp $ -.TH menu_post 3X "" -.SH NAME -\fBmenu_post\fR - write or erase menus from associated subwindows -.SH SYNOPSIS -\fB#include \fR -.br -int post_menu(MENU *menu); -.br -int unpost_menu(MENU *menu); -.br -.SH DESCRIPTION -The function \fBpost_menu\fR displays a menu to its associated subwindow. To -trigger physical display of the subwindow, use \fBrefresh\fR or some equivalent -\fBcurses\fR routine (the implicit \fBdoupdate\fR triggered by an \fBcurses\fR -input request will do). \fBpost_menu\fR resets the selection status of all items. - -The function \fBunpost_menu\fR erases menu from its associated subwindow. -.SH RETURN VALUE -These routines return one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_POSTED\fR -The menu has already been posted. -.TP 5 -\fBE_BAD_STATE\fR -Routine was called from an initialization or termination function. -.TP 5 -\fBE_NO_ROOM\fR -Menu is too large for its window. You should consider to use -\fBset_menu_format()\fR to solve the problem. -.TP 5 -\fBE_NOT_POSTED\fR -The menu has not been posted. -.TP 5 -\fBE_NOT_CONNECTED\fR -No items are connected to the menu. -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/menu_requestname.3x b/src/libs/ncurses/man/menu_requestname.3x deleted file mode 100644 index f4b646a455..0000000000 --- a/src/libs/ncurses/man/menu_requestname.3x +++ /dev/null @@ -1,69 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: menu_requestname.3x,v 1.6 1998/11/29 01:10:40 Rick.Ohnemus Exp $ -.TH menu_requestname 3X "" -.SH NAME -\fBmenu_requestname\fR - handle printable menu request names -.SH SYNOPSIS -\fB#include \fR -.br -const char *menu_request_name(int request); -.br -int menu_request_by_name(const char *name); -.br -.SH DESCRIPTION -The function \fBmenu_request_name\fR returns the printable name of a menu -request code. -.br -The function \fBmenu_request_by_name\fR searches in the name-table for a request -with the given name and returns its request code. Otherwise E_NO_MATCH is returned. -.SH RETURN VALUE -\fBmenu_request_name\fR returns \fBNULL\fR on error and sets errno -to \fBE_BAD_ARGUMENT\fR. -.br -\fBmenu_request_by_name\fR returns \fBE_NO_MATCH\fR on error. -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines are specific to ncurses. They were not supported on -Version 7, BSD or System V implementations. It is recommended that -any code depending on them be conditioned using NCURSES_VERSION. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/menu_spacing.3x b/src/libs/ncurses/man/menu_spacing.3x deleted file mode 100644 index dfe03a8a55..0000000000 --- a/src/libs/ncurses/man/menu_spacing.3x +++ /dev/null @@ -1,84 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998-2001,2004 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: menu_spacing.3x,v 1.8 2004/12/11 23:39:07 tom Exp $ -.TH menu_spacing 3X "" -.SH NAME -\fBmenu_spacing\fR - Control spacing between menu items. -.SH SYNOPSIS -\fB#include \fR -.br -int set_menu_spacing(MENU *menu, - int spc_description, - int spc_rows, - int spc_columns); -.br -int menu_spacing(const MENU *menu, - int* spc_description, - int* spc_rows, - int* spc_columns); -.br -.SH DESCRIPTION -The function \fBset_menu_spacing\fR sets the spacing informations for the menu. -\fBspc_description\fR controls the number of spaces between an item name and an item -description. It must not be larger than \fBTABSIZE\fR. The menu system puts in the -middle of this spacing area the pad character. The remaining parts are filled with -spaces. -\fBspc_rows\fR controls the number of rows that are used for an item. It must not be -larger than 3. The menu system inserts the blank lines between item rows, these lines -will contain the pad character in the appropriate positions. -\fBspc_columns\fR controls the number of blanks between columns of items. It must not -be larger than TABSIZE. -A value of 0 for all the spacing values resets them to the default, which is 1 for all -of them. -.br -The function \fBmenu_spacing\fR passes back the spacing info for the menu. If a -pointer is NULL, this specific info is simply not returned. -.SH RETURN VALUE -Both routines return \fBE_OK\fR on success. \fBset_menu_spacing\fR may return -\fBE_POSTED\fR if the menu is posted, or \fBE_BAD_ARGUMENT\fR if one of the -spacing values is out of range. -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines are specific to ncurses. They were not supported on -Version 7, BSD or System V implementations. It is recommended that -any code depending on them be conditioned using NCURSES_VERSION. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/menu_userptr.3x b/src/libs/ncurses/man/menu_userptr.3x deleted file mode 100644 index 1fe354183d..0000000000 --- a/src/libs/ncurses/man/menu_userptr.3x +++ /dev/null @@ -1,73 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: menu_userptr.3x,v 1.6 1998/11/29 01:11:02 Rick.Ohnemus Exp $ -.TH menu_userptr 3X "" -.SH NAME -\fBmenu_userptr\fR - associate application data with a menu item -.SH SYNOPSIS -\fB#include \fR -.br -int set_menu_userptr(MENU *menu, void *userptr); -.br -void *menu_userptr(const MENU *menu); -.br -.SH DESCRIPTION -Every menu and every menu item has a field that can be used to hold -application-specific data (that is, the menu-driver code leaves it alone). -These functions get and set the menu user pointer field. -.SH RETURN VALUE -Except for \fBmenu_userptr\fR (which returns \fBNULL\fR on error), each -function returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. - -The user pointer should be a void pointer. We leave it as a char pointer for -SVr4 compatibility. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/menu_win.3x b/src/libs/ncurses/man/menu_win.3x deleted file mode 100644 index 336da44b0c..0000000000 --- a/src/libs/ncurses/man/menu_win.3x +++ /dev/null @@ -1,95 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: menu_win.3x,v 1.6 1998/11/29 01:11:11 Rick.Ohnemus Exp $ -.TH menu_win 3X "" -.SH NAME -\fBmenu_win\fR - make and break menu window and subwindow associations -.SH SYNOPSIS -\fB#include \fR -.br -int set_menu_win(MENU *menu, WINDOW *win); -.br -WINDOW *menu_win(const MENU *menu); -.br -int set_menu_sub(MENU *menu, WINDOW *sub); -.br -WINDOW *menu_sub(const MENU *menu); -.br -int scale_menu(const MENU *menu, int *rows, int *columns); -.br -.SH DESCRIPTION -Every menu has an associated pair of \fBcurses\fR windows. The menu window -displays any title and border associated with the window; the menu subwindow -displays the items of the menu that are currently available for selection. - -The first four functions get and set those windows. It is not necessary to set -either window; by default, the driver code uses \fBstdscr\fR for both. - -In the \fBset_\fR functions, window argument of \fBNULL\fR is treated as though -it were \fBstsdcr\fR. A menu argument of \fBNULL\fR is treated as a request -to change the system default menu window or subwindow. - -The function \fBscale_menu\fR returns the minimum size required for the -subwindow of \fImenu\fR. -.SH RETURN VALUE -Routines that return pointers return \fBNULL\fR on error. Routines that return -an integer return one of the following error codes: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_POSTED\fR -The menu has already been posted. -.TP 5 -\fBE_NOT_CONNECTED\fR -No items are connected to the menu. -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/mitem_current.3x b/src/libs/ncurses/man/mitem_current.3x deleted file mode 100644 index 179a23be3b..0000000000 --- a/src/libs/ncurses/man/mitem_current.3x +++ /dev/null @@ -1,101 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: mitem_current.3x,v 1.9 1998/12/26 19:52:34 tom Exp $ -.TH mitem_current 3X "" -.SH NAME -\fBmitem_current\fR - set and get current_menu_item -.SH SYNOPSIS -\fB#include \fR -.br -int set_current_item(MENU *menu, const ITEM *item); -.br -ITEM *current_item(const MENU *menu); -.br -int set_top_row(MENU *menu, int row); -.br -int top_row(const MENU *menu); -.br -int item_index(const ITEM *item); -.br -.SH DESCRIPTION -The function \fBset_current_item\fR sets the current item (the item on which -the menu cursor is positioned). \fBcurrent_item\fR returns a pointer to the -current item in the given menu. - -The function \fBset_top_row\fR sets the top row of the menu to show the given -row (the top row is initially 0, and is reset to this value whenever the -\fBO_ROWMAJOR\fR option is toggled). The item leftmost on the given row -becomes current. The function \fBtop_row\fR returns the number of the top menu -row being displayed. - -The function \fBitem_index\fR returns the (zero-origin) index of \fIitem\fR in -the menu's item pointer list. -.SH RETURN VALUE -\fBcurrent_item\fR returns \fBNULL\fR on error. - -\fBtop_row\fR and \fBitem_index\fR return \fBERR\fR (the general \fBcurses\fR -error value) on error. - -\fBset_current_item\fR and \fBset_top_row\fR return one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_BAD_STATE\fR -Routine was called from an initialization or termination function. -.TP 5 -\fBE_NOT_CONNECTED\fR -No items are connected to the menu. -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. - -The SVr4 menu library documentation specifies the \fBtop_row\fR and -\fBindex_item\fR error value as -1 (which is the value of \fBERR\fR). -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/mitem_name.3x b/src/libs/ncurses/man/mitem_name.3x deleted file mode 100644 index 007752e0bb..0000000000 --- a/src/libs/ncurses/man/mitem_name.3x +++ /dev/null @@ -1,64 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: mitem_name.3x,v 1.5 1998/11/29 01:11:29 Rick.Ohnemus Exp $ -.TH mitem_name 3X "" -.SH NAME -\fBmitem_name\fR - get menu item name and description fields -.SH SYNOPSIS -\fB#include \fR -.br -const char *item_name(const ITEM *item); -.br -const char *item_description(const ITEM *item); -.br -.SH DESCRIPTION -The function \fBitem_name\fR returns the name part of the given item. -.br -The function \fBitem_description\fR returns the description part of the given -item. -.SH RETURN VALUE -These routines returns \fBNULL\fR on error. -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/mitem_new.3x b/src/libs/ncurses/man/mitem_new.3x deleted file mode 100644 index afba950b13..0000000000 --- a/src/libs/ncurses/man/mitem_new.3x +++ /dev/null @@ -1,83 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: mitem_new.3x,v 1.8 2003/10/25 20:08:57 Jared.Yanovich Exp $ -.TH mitem_new 3X "" -.SH NAME -\fBmitem_new\fR - create and destroy menu items -.SH SYNOPSIS -\fB#include \fR -.br -ITEM *new_item(const char *name, const char *description); -.br -int free_item(ITEM *item); -.br -.SH DESCRIPTION -The function \fBnew_item\fR allocates a new item and initializes it from the -\fBname\fR and \fBdescription\fR pointers. Please notice that the item stores -only the pointers to the name and description. Those pointers must be valid -during the lifetime of the item. So you should be very careful with names -or descriptions allocated on the stack of some routines. -.br -The function \fBfree_item\fR de-allocates an item. Please notice that it -is the responsibility of the application to release the memory for the -name or the description of the item. -.SH RETURN VALUE -The function \fBnew_item\fR returns \fBNULL\fR on error. - -The function \fBfree_item\fR returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_BAD_ARGUMENT\fR -Routine detected an incorrect or out-of-range argument. -.TP 5 -\fBE_CONNECTED\fR -Item is connected to a menu. -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/mitem_opts.3x b/src/libs/ncurses/man/mitem_opts.3x deleted file mode 100644 index 99e4e5ea7e..0000000000 --- a/src/libs/ncurses/man/mitem_opts.3x +++ /dev/null @@ -1,84 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: mitem_opts.3x,v 1.6 1998/11/29 01:12:37 Rick.Ohnemus Exp $ -.TH mitem_opts 3X "" -.SH NAME -\fBmitem_opts\fR - set and get menu item options -.SH SYNOPSIS -\fB#include \fR -.br -int set_item_opts(ITEM *item, OPTIONS opts); -.br -int item_opts_on(ITEM *item, OPTIONS opts); -.br -int item_opts_off(ITEM *item, OPTIONS opts); -.br -OPTIONS item_opts(const ITEM *item); -.br -.SH DESCRIPTION -The function \fBset_item_opts\fR sets all the given item's option bits (menu -option bits may be logically-OR'ed together). - -The function \fBitem_opts_on\fR turns on the given option bits, and leaves -others alone. - -The function \fBitem_opts_off\fR turns off the given option bits, and leaves -others alone. - -The function \fBitem_opts\fR returns the item's current option bits. - -There is only one defined option bit mask, \fBO_SELECTABLE\fR. When this is -on, the item may be selected during menu processing. This option defaults -to on. -.SH RETURN VALUE -Except for \fBitem_opts\fR, each routine returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/mitem_userptr.3x b/src/libs/ncurses/man/mitem_userptr.3x deleted file mode 100644 index 2dd564fd61..0000000000 --- a/src/libs/ncurses/man/mitem_userptr.3x +++ /dev/null @@ -1,72 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: mitem_userptr.3x,v 1.6 1998/11/29 01:12:47 Rick.Ohnemus Exp $ -.TH mitem_userptr 3X "" -.SH NAME -\fBmitem_userptr\fR - associate application data with a menu item -.SH SYNOPSIS -\fB#include \fR -.br -int set_item_userptr(ITEM *item, void *userptr); -.br -void *item_userptr(const ITEM *item); -.br -.SH DESCRIPTION -Every menu item has a field that can be used to hold application-specific data -(that is, the menu-driver code leaves it alone). These functions get and set -that field. -.SH RETURN VALUE -Except for \fBitem_userptr\fR (which returns \fBNULL\fR on error), each function returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. - -The user pointer should be a void pointer. We leave it as a char pointer for -SVr4 compatibility. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/mitem_value.3x b/src/libs/ncurses/man/mitem_value.3x deleted file mode 100644 index 5817d8d277..0000000000 --- a/src/libs/ncurses/man/mitem_value.3x +++ /dev/null @@ -1,76 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998,2002 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: mitem_value.3x,v 1.6 2002/02/16 22:40:59 tom Exp $ -.TH mitem_value 3X "" -.SH NAME -\fBmitem_value\fR - set and get menu item values -.SH SYNOPSIS -\fB#include \fR -.br -int set_item_value(ITEM *item, bool value); -.br -bool item_value(const ITEM *item); -.br -.SH DESCRIPTION -If you turn off the menu option \fBO_ONEVALUE\fR (e.g., with -\fBset_menu_opts\fR or \fBmenu_opts_off\fR; see \fBmenu_opts\fR(3X)), the menu -becomes multi-valued; that is, more than one item may simultaneously be -selected. - -In a multi_valued menu, you can used \fBset_item_value\fR to select the -given menu item (second argument \fBTRUE\fR) or deselect it (second argument -\fBFALSE\fR). -.SH RETURN VALUE -The function \fBset_item_value\fR returns one of the following: -.TP 5 -\fBE_OK\fR -The routine succeeded. -.TP 5 -\fBE_SYSTEM_ERROR\fR -System error occurred (see \fBerrno\fR). -.TP 5 -\fBE_REQUEST_DENIED\fR -The menu driver could not process the request. -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/mitem_visible.3x b/src/libs/ncurses/man/mitem_visible.3x deleted file mode 100644 index 8f9039c2f6..0000000000 --- a/src/libs/ncurses/man/mitem_visible.3x +++ /dev/null @@ -1,59 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: mitem_visible.3x,v 1.5 1998/11/29 01:12:55 Rick.Ohnemus Exp $ -.TH mitem_visible 3X "" -.SH NAME -\fBmitem_visible\fR - check visibility of a menu item -.SH SYNOPSIS -\fB#include \fR -.br -bool item_visible(const ITEM *item); -.br -.SH DESCRIPTION -A menu item is visible when it is in the portion of a posted menu that -is mapped onto the screen (if the menu is scrollable, in particular, this -portion will be smaller than the whole menu). -.SH SEE ALSO -\fBcurses\fR(3X), \fBmenu\fR(3X). -.SH NOTES -The header file \fB\fR automatically includes the header file -\fB\fR. -.SH PORTABILITY -These routines emulate the System V menu library. They were not supported on -Version 7 or BSD versions. -.SH AUTHORS -Juergen Pfeifer. Manual pages and adaptation for new curses by Eric -S. Raymond. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/ncurses.3x b/src/libs/ncurses/man/ncurses.3x deleted file mode 100644 index 14e38cc79d..0000000000 --- a/src/libs/ncurses/man/ncurses.3x +++ /dev/null @@ -1,940 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: ncurses.3x,v 1.76 2005/09/03 17:42:29 tom Exp $ -.hy 0 -.TH ncurses 3X "" -.ds n 5 -.ds d @TERMINFO@ -.SH NAME -\fBncurses\fR - CRT screen handling and optimization package -.SH SYNOPSIS -\fB#include \fR -.br -.SH DESCRIPTION -The \fBncurses\fR library routines give the user a terminal-independent method -of updating character screens with reasonable optimization. This -implementation is ``new curses'' (ncurses) and is the approved replacement for -4.4BSD classic curses, which has been discontinued. -.PP -The \fBncurses\fR routines emulate the \fBcurses\fR(3X) library of System V -Release 4 UNIX, and the XPG4 curses standard (XSI curses) but the \fBncurses\fR -library is freely redistributable in source form. Differences from the SVr4 -curses are summarized under the EXTENSIONS and PORTABILITY sections below and -described in detail in the respective EXTENSIONS, PORTABILITY and BUGS sections -of individual man pages. -.PP -A program using these routines must be linked with the \fB-lncurses\fR option, -or (if it has been generated) with the debugging library \fB-lncurses_g\fR. -(Your system integrator may also have installed these libraries under -the names \fB-lcurses\fR and \fB-lcurses_g\fR.) -The ncurses_g library generates trace logs (in a file called 'trace' in the -current directory) that describe curses actions. -.PP -The \fBncurses\fR package supports: overall screen, window and pad -manipulation; output to windows and pads; reading terminal input; control over -terminal and \fBcurses\fR input and output options; environment query -routines; color manipulation; use of soft label keys; terminfo capabilities; -and access to low-level terminal-manipulation routines. -.PP -To initialize the routines, the routine \fBinitscr\fR or \fBnewterm\fR -must be called before any of the other routines that deal with windows -and screens are used. The routine \fBendwin\fR must be called before -exiting. To get character-at-a-time input without echoing (most -interactive, screen oriented programs want this), the following -sequence should be used: -.sp - \fBinitscr(); cbreak(); noecho();\fR -.sp -Most programs would additionally use the sequence: -.sp - \fBnonl();\fR - \fBintrflush(stdscr, FALSE);\fR - \fBkeypad(stdscr, TRUE);\fR -.sp -Before a \fBcurses\fR program is run, the tab stops of the terminal -should be set and its initialization strings, if defined, must be -output. This can be done by executing the \fBtput init\fR command -after the shell environment variable \fBTERM\fR has been exported. -\fBtset(1)\fR is usually responsible for doing this. -[See \fBterminfo\fR(\*n) for further details.] -.PP -The \fBncurses\fR library permits manipulation of data structures, -called \fIwindows\fR, which can be thought of as two-dimensional -arrays of characters representing all or part of a CRT screen. A -default window called \fBstdscr\fR, which is the size of the terminal -screen, is supplied. Others may be created with \fBnewwin\fR. -.PP -Note that \fBcurses\fR does not handle overlapping windows, that's done by -the \fBpanel\fR(3X) library. This means that you can either use -\fBstdscr\fR or divide the screen into tiled windows and not using -\fBstdscr\fR at all. Mixing the two will result in unpredictable, and -undesired, effects. -.PP -Windows are referred to by variables declared as \fBWINDOW *\fR. -These data structures are manipulated with routines described here and -elsewhere in the \fBncurses\fR manual pages. Among which the most basic -routines are \fBmove\fR and \fBaddch\fR. More general versions of -these routines are included with names beginning with \fBw\fR, -allowing the user to specify a window. The routines not beginning -with \fBw\fR affect \fBstdscr\fR.) -.PP -After using routines to manipulate a window, \fBrefresh\fR is called, -telling \fBcurses\fR to make the user's CRT screen look like -\fBstdscr\fR. The characters in a window are actually of type -\fBchtype\fR, (character and attribute data) so that other information -about the character may also be stored with each character. -.PP -Special windows called \fIpads\fR may also be manipulated. These are windows -which are not constrained to the size of the screen and whose contents need not -be completely displayed. See \fBcurs_pad\fR(3X) for more information. -.PP -In addition to drawing characters on the screen, video attributes and colors -may be supported, causing the characters to show up in such modes as -underlined, in reverse video, or in color on terminals that support such -display enhancements. Line drawing characters may be specified to be output. -On input, \fBcurses\fR is also able to translate arrow and function keys that -transmit escape sequences into single values. The video attributes, line -drawing characters, and input values use names, defined in \fB\fR, -such as \fBA_REVERSE\fR, \fBACS_HLINE\fR, and \fBKEY_LEFT\fR. -.PP -If the environment variables \fBLINES\fR and \fBCOLUMNS\fR are set, or if the -program is executing in a window environment, line and column information in -the environment will override information read by \fIterminfo\fR. This would -effect a program running in an AT&T 630 layer, for example, where the size of a -screen is changeable (see \fBENVIRONMENT\fR). -.PP -If the environment variable \fBTERMINFO\fR is defined, any program using -\fBcurses\fR checks for a local terminal definition before checking in the -standard place. For example, if \fBTERM\fR is set to \fBatt4424\fR, then the -compiled terminal definition is found in -.sp - \fB\*d/a/att4424\fR. -.sp -(The \fBa\fR is copied from the first letter of \fBatt4424\fR to avoid -creation of huge directories.) However, if \fBTERMINFO\fR is set to -\fB$HOME/myterms\fR, \fBcurses\fR first checks -.sp - \fB$HOME/myterms/a/att4424\fR, -.sp -and if that fails, it then checks -.sp - \fB\*d/a/att4424\fR. -.sp -This is useful for developing experimental definitions or when write -permission in \fB\*d\fR is not available. -.PP -The integer variables \fBLINES\fR and \fBCOLS\fR are defined in -\fB\fR and will be filled in by \fBinitscr\fR with the size of the -screen. The constants \fBTRUE\fR and \fBFALSE\fR have the values \fB1\fR and -\fB0\fR, respectively. -.PP -The \fBcurses\fR routines also define the \fBWINDOW *\fR variable \fBcurscr\fR -which is used for certain low-level operations like clearing and redrawing a -screen containing garbage. The \fBcurscr\fR can be used in only a few -routines. -. -.SS Routine and Argument Names -Many \fBcurses\fR routines have two or more versions. The routines prefixed -with \fBw\fR require a window argument. The routines prefixed with \fBp\fR -require a pad argument. Those without a prefix generally use \fBstdscr\fR. -.PP -The routines prefixed with \fBmv\fR require a \fIy\fR and \fIx\fR -coordinate to move to before performing the appropriate action. The -\fBmv\fR routines imply a call to \fBmove\fR before the call to the -other routine. The coordinate \fIy\fR always refers to the row (of -the window), and \fIx\fR always refers to the column. The upper -left-hand corner is always (0,0), not (1,1). -.PP -The routines prefixed with \fBmvw\fR take both a window argument and -\fIx\fR and \fIy\fR coordinates. The window argument is always -specified before the coordinates. -.PP -In each case, \fIwin\fR is the window affected, and \fIpad\fR is the -pad affected; \fIwin\fR and \fIpad\fR are always pointers to type -\fBWINDOW\fR. -.PP -Option setting routines require a Boolean flag \fIbf\fR with the value -\fBTRUE\fR or \fBFALSE\fR; \fIbf\fR is always of type \fBbool\fR. The -variables \fIch\fR and \fIattrs\fR below are always of type -\fBchtype\fR. The types \fBWINDOW\fR, \fBSCREEN\fR, \fBbool\fR, and -\fBchtype\fR are defined in \fB\fR. The type \fBTERMINAL\fR -is defined in \fB\fR. All other arguments are integers. -.SS Routine Name Index -The following table lists each \fBcurses\fR routine and the name of -the manual page on which it is described. Routines flagged with `*' -are ncurses-specific, not described by XPG4 or present in SVr4. -.PP -.TS -center tab(/); -l l -l l . -\fBcurses\fR Routine Name/Manual Page Name -= -COLOR_PAIR/\fBcurs_color\fR(3X) -PAIR_NUMBER/\fBcurs_attr\fR(3X) -_nc_tracebits/\fBcurs_trace\fR(3X)* -_traceattr/\fBcurs_trace\fR(3X)* -_traceattr2/\fBcurs_trace\fR(3X)* -_tracechar/\fBcurs_trace\fR(3X)* -_tracechtype/\fBcurs_trace\fR(3X)* -_tracechtype2/\fBcurs_trace\fR(3X)* -_tracedump/\fBcurs_trace\fR(3X)* -_tracef/\fBcurs_trace\fR(3X)* -_tracemouse/\fBcurs_trace\fR(3X)* -add_wch/\fBcurs_add_wch\fR(3X) -add_wchnstr/\fBcurs_add_wchstr\fR(3X) -add_wchstr/\fBcurs_add_wchstr\fR(3X) -addch/\fBcurs_addch\fR(3X) -addchnstr/\fBcurs_addchstr\fR(3X) -addchstr/\fBcurs_addchstr\fR(3X) -addnstr/\fBcurs_addstr\fR(3X) -addnwstr/\fBcurs_addwstr\fR(3X) -addstr/\fBcurs_addstr\fR(3X) -addwstr/\fBcurs_addwstr\fR(3X) -assume_default_colors/\fBdefault_colors\fR(3X)* -attr_get/\fBcurs_attr\fR(3X) -attr_off/\fBcurs_attr\fR(3X) -attr_on/\fBcurs_attr\fR(3X) -attr_set/\fBcurs_attr\fR(3X) -attroff/\fBcurs_attr\fR(3X) -attron/\fBcurs_attr\fR(3X) -attrset/\fBcurs_attr\fR(3X) -baudrate/\fBcurs_termattrs\fR(3X) -beep/\fBcurs_beep\fR(3X) -bkgd/\fBcurs_bkgd\fR(3X) -bkgdset/\fBcurs_bkgd\fR(3X) -bkgrnd/\fBcurs_bkgrnd\fR(3X) -bkgrndset/\fBcurs_bkgrnd\fR(3X) -border/\fBcurs_border\fR(3X) -border_set/\fBcurs_border_set\fR(3X) -box/\fBcurs_border\fR(3X) -box_set/\fBcurs_border_set\fR(3X) -can_change_color/\fBcurs_color\fR(3X) -cbreak/\fBcurs_inopts\fR(3X) -chgat/\fBcurs_attr\fR(3X) -clear/\fBcurs_clear\fR(3X) -clearok/\fBcurs_outopts\fR(3X) -clrtobot/\fBcurs_clear\fR(3X) -clrtoeol/\fBcurs_clear\fR(3X) -color_content/\fBcurs_color\fR(3X) -color_set/\fBcurs_attr\fR(3X) -copywin/\fBcurs_overlay\fR(3X) -curs_set/\fBcurs_kernel\fR(3X) -curses_version/\fBcurs_extend\fR(3X)* -def_prog_mode/\fBcurs_kernel\fR(3X) -def_shell_mode/\fBcurs_kernel\fR(3X) -define_key/\fBdefine_key\fR(3X)* -del_curterm/\fBcurs_terminfo\fR(3X) -delay_output/\fBcurs_util\fR(3X) -delch/\fBcurs_delch\fR(3X) -deleteln/\fBcurs_deleteln\fR(3X) -delscreen/\fBcurs_initscr\fR(3X) -delwin/\fBcurs_window\fR(3X) -derwin/\fBcurs_window\fR(3X) -doupdate/\fBcurs_refresh\fR(3X) -dupwin/\fBcurs_window\fR(3X) -echo/\fBcurs_inopts\fR(3X) -echo_wchar/\fBcurs_add_wch\fR(3X) -echochar/\fBcurs_addch\fR(3X) -endwin/\fBcurs_initscr\fR(3X) -erase/\fBcurs_clear\fR(3X) -erasechar/\fBcurs_termattrs\fR(3X) -erasewchar/\fBcurs_termattrs\fR(3X) -filter/\fBcurs_util\fR(3X) -flash/\fBcurs_beep\fR(3X) -flushinp/\fBcurs_util\fR(3X) -get_wch/\fBcurs_get_wch\fR(3X) -get_wstr/\fBcurs_get_wstr\fR(3X) -getbegyx/\fBcurs_getyx\fR(3X) -getbkgd/\fBcurs_bkgd\fR(3X) -getbkgrnd/\fBcurs_bkgrnd\fR(3X) -getcchar/\fBcurs_getcchar\fR(3X) -getch/\fBcurs_getch\fR(3X) -getmaxyx/\fBcurs_getyx\fR(3X) -getmouse/\fBcurs_mouse\fR(3X)* -getn_wstr/\fBcurs_get_wstr\fR(3X) -getnstr/\fBcurs_getstr\fR(3X) -getparyx/\fBcurs_getyx\fR(3X) -getstr/\fBcurs_getstr\fR(3X) -getsyx/\fBcurs_kernel\fR(3X) -getwin/\fBcurs_util\fR(3X) -getyx/\fBcurs_getyx\fR(3X) -halfdelay/\fBcurs_inopts\fR(3X) -has_colors/\fBcurs_color\fR(3X) -has_ic/\fBcurs_termattrs\fR(3X) -has_il/\fBcurs_termattrs\fR(3X) -has_key/\fBcurs_getch\fR(3X)* -hline/\fBcurs_border\fR(3X) -hline_set/\fBcurs_border_set\fR(3X) -idcok/\fBcurs_outopts\fR(3X) -idlok/\fBcurs_outopts\fR(3X) -immedok/\fBcurs_outopts\fR(3X) -in_wch/\fBcurs_in_wch\fR(3X) -in_wchnstr/\fBcurs_in_wchstr\fR(3X) -in_wchstr/\fBcurs_in_wchstr\fR(3X) -inch/\fBcurs_inch\fR(3X) -inchnstr/\fBcurs_inchstr\fR(3X) -inchstr/\fBcurs_inchstr\fR(3X) -init_color/\fBcurs_color\fR(3X) -init_pair/\fBcurs_color\fR(3X) -initscr/\fBcurs_initscr\fR(3X) -innstr/\fBcurs_instr\fR(3X) -innwstr/\fBcurs_inwstr\fR(3X) -ins_nwstr/\fBcurs_ins_wstr\fR(3X) -ins_wch/\fBcurs_ins_wch\fR(3X) -ins_wstr/\fBcurs_ins_wstr\fR(3X) -insch/\fBcurs_insch\fR(3X) -insdelln/\fBcurs_deleteln\fR(3X) -insertln/\fBcurs_deleteln\fR(3X) -insnstr/\fBcurs_insstr\fR(3X) -insstr/\fBcurs_insstr\fR(3X) -instr/\fBcurs_instr\fR(3X) -intrflush/\fBcurs_inopts\fR(3X) -inwstr/\fBcurs_inwstr\fR(3X) -is_linetouched/\fBcurs_touch\fR(3X) -is_wintouched/\fBcurs_touch\fR(3X) -isendwin/\fBcurs_initscr\fR(3X) -key_defined/\fBkey_defined\fR(3X)* -key_name/\fBcurs_util\fR(3X) -keybound/\fBkeybound\fR(3X)* -keyname/\fBcurs_util\fR(3X) -keyok/\fBkeyok\fR(3X)* -keypad/\fBcurs_inopts\fR(3X) -killchar/\fBcurs_termattrs\fR(3X) -killwchar/\fBcurs_termattrs\fR(3X) -leaveok/\fBcurs_outopts\fR(3X) -longname/\fBcurs_termattrs\fR(3X) -mcprint/\fBcurs_print\fR(3X)* -meta/\fBcurs_inopts\fR(3X) -mouse_trafo/\fBcurs_mouse\fR(3X)* -mouseinterval/\fBcurs_mouse\fR(3X)* -mousemask/\fBcurs_mouse\fR(3X)* -move/\fBcurs_move\fR(3X) -mvadd_wch/\fBcurs_add_wch\fR(3X) -mvadd_wchnstr/\fBcurs_add_wchstr\fR(3X) -mvadd_wchstr/\fBcurs_add_wchstr\fR(3X) -mvaddch/\fBcurs_addch\fR(3X) -mvaddchnstr/\fBcurs_addchstr\fR(3X) -mvaddchstr/\fBcurs_addchstr\fR(3X) -mvaddnstr/\fBcurs_addstr\fR(3X) -mvaddnwstr/\fBcurs_addwstr\fR(3X) -mvaddstr/\fBcurs_addstr\fR(3X) -mvaddwstr/\fBcurs_addwstr\fR(3X) -mvchgat/\fBcurs_attr\fR(3X) -mvcur/\fBcurs_terminfo\fR(3X) -mvdelch/\fBcurs_delch\fR(3X) -mvderwin/\fBcurs_window\fR(3X) -mvget_wch/\fBcurs_get_wch\fR(3X) -mvget_wstr/\fBcurs_get_wstr\fR(3X) -mvgetch/\fBcurs_getch\fR(3X) -mvgetn_wstr/\fBcurs_get_wstr\fR(3X) -mvgetnstr/\fBcurs_getstr\fR(3X) -mvgetstr/\fBcurs_getstr\fR(3X) -mvhline/\fBcurs_border\fR(3X) -mvhline_set/\fBcurs_border_set\fR(3X) -mvin_wch/\fBcurs_in_wch\fR(3X) -mvin_wchnstr/\fBcurs_in_wchstr\fR(3X) -mvin_wchstr/\fBcurs_in_wchstr\fR(3X) -mvinch/\fBcurs_inch\fR(3X) -mvinchnstr/\fBcurs_inchstr\fR(3X) -mvinchstr/\fBcurs_inchstr\fR(3X) -mvinnstr/\fBcurs_instr\fR(3X) -mvinnwstr/\fBcurs_inwstr\fR(3X) -mvins_nwstr/\fBcurs_ins_wstr\fR(3X) -mvins_wch/\fBcurs_ins_wch\fR(3X) -mvins_wstr/\fBcurs_ins_wstr\fR(3X) -mvinsch/\fBcurs_insch\fR(3X) -mvinsnstr/\fBcurs_insstr\fR(3X) -mvinsstr/\fBcurs_insstr\fR(3X) -mvinstr/\fBcurs_instr\fR(3X) -mvinwstr/\fBcurs_inwstr\fR(3X) -mvprintw/\fBcurs_printw\fR(3X) -mvscanw/\fBcurs_scanw\fR(3X) -mvvline/\fBcurs_border\fR(3X) -mvvline_set/\fBcurs_border_set\fR(3X) -mvwadd_wch/\fBcurs_add_wch\fR(3X) -mvwadd_wchnstr/\fBcurs_add_wchstr\fR(3X) -mvwadd_wchstr/\fBcurs_add_wchstr\fR(3X) -mvwaddch/\fBcurs_addch\fR(3X) -mvwaddchnstr/\fBcurs_addchstr\fR(3X) -mvwaddchstr/\fBcurs_addchstr\fR(3X) -mvwaddnstr/\fBcurs_addstr\fR(3X) -mvwaddnwstr/\fBcurs_addwstr\fR(3X) -mvwaddstr/\fBcurs_addstr\fR(3X) -mvwaddwstr/\fBcurs_addwstr\fR(3X) -mvwchgat/\fBcurs_attr\fR(3X) -mvwdelch/\fBcurs_delch\fR(3X) -mvwget_wch/\fBcurs_get_wch\fR(3X) -mvwget_wstr/\fBcurs_get_wstr\fR(3X) -mvwgetch/\fBcurs_getch\fR(3X) -mvwgetn_wstr/\fBcurs_get_wstr\fR(3X) -mvwgetnstr/\fBcurs_getstr\fR(3X) -mvwgetstr/\fBcurs_getstr\fR(3X) -mvwhline/\fBcurs_border\fR(3X) -mvwhline_set/\fBcurs_border_set\fR(3X) -mvwin/\fBcurs_window\fR(3X) -mvwin_wch/\fBcurs_in_wch\fR(3X) -mvwin_wchnstr/\fBcurs_in_wchstr\fR(3X) -mvwin_wchstr/\fBcurs_in_wchstr\fR(3X) -mvwinch/\fBcurs_inch\fR(3X) -mvwinchnstr/\fBcurs_inchstr\fR(3X) -mvwinchstr/\fBcurs_inchstr\fR(3X) -mvwinnstr/\fBcurs_instr\fR(3X) -mvwinnwstr/\fBcurs_inwstr\fR(3X) -mvwins_nwstr/\fBcurs_ins_wstr\fR(3X) -mvwins_wch/\fBcurs_ins_wch\fR(3X) -mvwins_wstr/\fBcurs_ins_wstr\fR(3X) -mvwinsch/\fBcurs_insch\fR(3X) -mvwinsnstr/\fBcurs_insstr\fR(3X) -mvwinsstr/\fBcurs_insstr\fR(3X) -mvwinstr/\fBcurs_instr\fR(3X) -mvwinwstr/\fBcurs_inwstr\fR(3X) -mvwprintw/\fBcurs_printw\fR(3X) -mvwscanw/\fBcurs_scanw\fR(3X) -mvwvline/\fBcurs_border\fR(3X) -mvwvline_set/\fBcurs_border_set\fR(3X) -napms/\fBcurs_kernel\fR(3X) -newpad/\fBcurs_pad\fR(3X) -newterm/\fBcurs_initscr\fR(3X) -newwin/\fBcurs_window\fR(3X) -nl/\fBcurs_outopts\fR(3X) -nocbreak/\fBcurs_inopts\fR(3X) -nodelay/\fBcurs_inopts\fR(3X) -noecho/\fBcurs_inopts\fR(3X) -nonl/\fBcurs_outopts\fR(3X) -noqiflush/\fBcurs_inopts\fR(3X) -noraw/\fBcurs_inopts\fR(3X) -notimeout/\fBcurs_inopts\fR(3X) -overlay/\fBcurs_overlay\fR(3X) -overwrite/\fBcurs_overlay\fR(3X) -pair_content/\fBcurs_color\fR(3X) -pechochar/\fBcurs_pad\fR(3X) -pnoutrefresh/\fBcurs_pad\fR(3X) -prefresh/\fBcurs_pad\fR(3X) -printw/\fBcurs_printw\fR(3X) -putp/\fBcurs_terminfo\fR(3X) -putwin/\fBcurs_util\fR(3X) -qiflush/\fBcurs_inopts\fR(3X) -raw/\fBcurs_inopts\fR(3X) -redrawwin/\fBcurs_refresh\fR(3X) -refresh/\fBcurs_refresh\fR(3X) -reset_prog_mode/\fBcurs_kernel\fR(3X) -reset_shell_mode/\fBcurs_kernel\fR(3X) -resetty/\fBcurs_kernel\fR(3X) -resizeterm/\fBresizeterm\fR(3X)* -restartterm/\fBcurs_terminfo\fR(3X) -ripoffline/\fBcurs_kernel\fR(3X) -savetty/\fBcurs_kernel\fR(3X) -scanw/\fBcurs_scanw\fR(3X) -scr_dump/\fBcurs_scr_dump\fR(3X) -scr_init/\fBcurs_scr_dump\fR(3X) -scr_restore/\fBcurs_scr_dump\fR(3X) -scr_set/\fBcurs_scr_dump\fR(3X) -scrl/\fBcurs_scroll\fR(3X) -scroll/\fBcurs_scroll\fR(3X) -scrollok/\fBcurs_outopts\fR(3X) -set_curterm/\fBcurs_terminfo\fR(3X) -set_term/\fBcurs_initscr\fR(3X) -setcchar/\fBcurs_getcchar\fR(3X) -setscrreg/\fBcurs_outopts\fR(3X) -setsyx/\fBcurs_kernel\fR(3X) -setterm/\fBcurs_terminfo\fR(3X) -setupterm/\fBcurs_terminfo\fR(3X) -slk_attr/\fBcurs_slk\fR(3X)* -slk_attr_off/\fBcurs_slk\fR(3X) -slk_attr_on/\fBcurs_slk\fR(3X) -slk_attr_set/\fBcurs_slk\fR(3X) -slk_attroff/\fBcurs_slk\fR(3X) -slk_attron/\fBcurs_slk\fR(3X) -slk_attrset/\fBcurs_slk\fR(3X) -slk_clear/\fBcurs_slk\fR(3X) -slk_color/\fBcurs_slk\fR(3X) -slk_init/\fBcurs_slk\fR(3X) -slk_label/\fBcurs_slk\fR(3X) -slk_noutrefresh/\fBcurs_slk\fR(3X) -slk_refresh/\fBcurs_slk\fR(3X) -slk_restore/\fBcurs_slk\fR(3X) -slk_set/\fBcurs_slk\fR(3X) -slk_touch/\fBcurs_slk\fR(3X) -standend/\fBcurs_attr\fR(3X) -standout/\fBcurs_attr\fR(3X) -start_color/\fBcurs_color\fR(3X) -subpad/\fBcurs_pad\fR(3X) -subwin/\fBcurs_window\fR(3X) -syncok/\fBcurs_window\fR(3X) -term_attrs/\fBcurs_termattrs\fR(3X) -termattrs/\fBcurs_termattrs\fR(3X) -termname/\fBcurs_termattrs\fR(3X) -tgetent/\fBcurs_termcap\fR(3X) -tgetflag/\fBcurs_termcap\fR(3X) -tgetnum/\fBcurs_termcap\fR(3X) -tgetstr/\fBcurs_termcap\fR(3X) -tgoto/\fBcurs_termcap\fR(3X) -tigetflag/\fBcurs_terminfo\fR(3X) -tigetnum/\fBcurs_terminfo\fR(3X) -tigetstr/\fBcurs_terminfo\fR(3X) -timeout/\fBcurs_inopts\fR(3X) -touchline/\fBcurs_touch\fR(3X) -touchwin/\fBcurs_touch\fR(3X) -tparm/\fBcurs_terminfo\fR(3X) -tputs/\fBcurs_termcap\fR(3X) -tputs/\fBcurs_terminfo\fR(3X) -trace/\fBcurs_trace\fR(3X)* -typeahead/\fBcurs_inopts\fR(3X) -unctrl/\fBcurs_util\fR(3X) -unget_wch/\fBcurs_get_wch\fR(3X) -ungetch/\fBcurs_getch\fR(3X) -ungetmouse/\fBcurs_mouse\fR(3X)* -untouchwin/\fBcurs_touch\fR(3X) -use_default_colors/\fBdefault_colors\fR(3X)* -use_env/\fBcurs_util\fR(3X) -use_extended_names/\fBcurs_extend\fR(3X)* -vid_attr/\fBcurs_terminfo\fR(3X) -vid_puts/\fBcurs_terminfo\fR(3X) -vidattr/\fBcurs_terminfo\fR(3X) -vidputs/\fBcurs_terminfo\fR(3X) -vline/\fBcurs_border\fR(3X) -vline_set/\fBcurs_border_set\fR(3X) -vw_printw/\fBcurs_printw\fR(3X) -vw_scanw/\fBcurs_scanw\fR(3X) -vwprintw/\fBcurs_printw\fR(3X) -vwscanw/\fBcurs_scanw\fR(3X) -wadd_wch/\fBcurs_add_wch\fR(3X) -wadd_wchnstr/\fBcurs_add_wchstr\fR(3X) -wadd_wchstr/\fBcurs_add_wchstr\fR(3X) -waddch/\fBcurs_addch\fR(3X) -waddchnstr/\fBcurs_addchstr\fR(3X) -waddchstr/\fBcurs_addchstr\fR(3X) -waddnstr/\fBcurs_addstr\fR(3X) -waddnwstr/\fBcurs_addwstr\fR(3X) -waddstr/\fBcurs_addstr\fR(3X) -waddwstr/\fBcurs_addwstr\fR(3X) -wattr_get/\fBcurs_attr\fR(3X) -wattr_off/\fBcurs_attr\fR(3X) -wattr_on/\fBcurs_attr\fR(3X) -wattr_set/\fBcurs_attr\fR(3X) -wattroff/\fBcurs_attr\fR(3X) -wattron/\fBcurs_attr\fR(3X) -wattrset/\fBcurs_attr\fR(3X) -wbkgd/\fBcurs_bkgd\fR(3X) -wbkgdset/\fBcurs_bkgd\fR(3X) -wbkgrnd/\fBcurs_bkgrnd\fR(3X) -wbkgrndset/\fBcurs_bkgrnd\fR(3X) -wborder/\fBcurs_border\fR(3X) -wborder_set/\fBcurs_border_set\fR(3X) -wchgat/\fBcurs_attr\fR(3X) -wclear/\fBcurs_clear\fR(3X) -wclrtobot/\fBcurs_clear\fR(3X) -wclrtoeol/\fBcurs_clear\fR(3X) -wcolor_set/\fBcurs_attr\fR(3X) -wcursyncup/\fBcurs_window\fR(3X) -wdelch/\fBcurs_delch\fR(3X) -wdeleteln/\fBcurs_deleteln\fR(3X) -wecho_wchar/\fBcurs_add_wch\fR(3X) -wechochar/\fBcurs_addch\fR(3X) -wenclose/\fBcurs_mouse\fR(3X)* -werase/\fBcurs_clear\fR(3X) -wget_wch/\fBcurs_get_wch\fR(3X) -wget_wstr/\fBcurs_get_wstr\fR(3X) -wgetbkgrnd/\fBcurs_bkgrnd\fR(3X) -wgetch/\fBcurs_getch\fR(3X) -wgetn_wstr/\fBcurs_get_wstr\fR(3X) -wgetnstr/\fBcurs_getstr\fR(3X) -wgetstr/\fBcurs_getstr\fR(3X) -whline/\fBcurs_border\fR(3X) -whline_set/\fBcurs_border_set\fR(3X) -win_wch/\fBcurs_in_wch\fR(3X) -win_wchnstr/\fBcurs_in_wchstr\fR(3X) -win_wchstr/\fBcurs_in_wchstr\fR(3X) -winch/\fBcurs_inch\fR(3X) -winchnstr/\fBcurs_inchstr\fR(3X) -winchstr/\fBcurs_inchstr\fR(3X) -winnstr/\fBcurs_instr\fR(3X) -winnwstr/\fBcurs_inwstr\fR(3X) -wins_nwstr/\fBcurs_ins_wstr\fR(3X) -wins_wch/\fBcurs_ins_wch\fR(3X) -wins_wstr/\fBcurs_ins_wstr\fR(3X) -winsch/\fBcurs_insch\fR(3X) -winsdelln/\fBcurs_deleteln\fR(3X) -winsertln/\fBcurs_deleteln\fR(3X) -winsnstr/\fBcurs_insstr\fR(3X) -winsstr/\fBcurs_insstr\fR(3X) -winstr/\fBcurs_instr\fR(3X) -winwstr/\fBcurs_inwstr\fR(3X) -wmouse_trafo/\fBcurs_mouse\fR(3X)* -wmove/\fBcurs_move\fR(3X) -wnoutrefresh/\fBcurs_refresh\fR(3X) -wprintw/\fBcurs_printw\fR(3X) -wredrawln/\fBcurs_refresh\fR(3X) -wrefresh/\fBcurs_refresh\fR(3X) -wresize/\fBwresize\fR(3X)* -wscanw/\fBcurs_scanw\fR(3X) -wscrl/\fBcurs_scroll\fR(3X) -wsetscrreg/\fBcurs_outopts\fR(3X) -wstandend/\fBcurs_attr\fR(3X) -wstandout/\fBcurs_attr\fR(3X) -wsyncdown/\fBcurs_window\fR(3X) -wsyncup/\fBcurs_window\fR(3X) -wtimeout/\fBcurs_inopts\fR(3X) -wtouchln/\fBcurs_touch\fR(3X) -wunctrl/\fBcurs_util\fR(3X) -wvline/\fBcurs_border\fR(3X) -wvline_set/\fBcurs_border_set\fR(3X) -.TE -.SH RETURN VALUE -Routines that return an integer return \fBERR\fR upon failure and an -integer value other than \fBERR\fR upon successful completion, unless -otherwise noted in the routine descriptions. -.PP -All macros return the value of the \fBw\fR version, except \fBsetscrreg\fR, -\fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and \fBgetmaxyx\fR. The return -values of \fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and -\fBgetmaxyx\fR are undefined (i.e., these should not be used as the -right-hand side of assignment statements). -.PP -Routines that return pointers return \fBNULL\fR on error. -.SH ENVIRONMENT -The following environment symbols are useful for customizing the -runtime behavior of the \fBncurses\fR library. The most important -ones have been already discussed in detail. -.TP 5 -BAUDRATE -The debugging library checks this environment symbol when the application -has redirected output to a file. -The symbol's numeric value is used for the baudrate. -If no value is found, \fBncurses\fR uses 9600. -This allows testers to construct repeatable test-cases -that take into account costs that depend on baudrate. -.TP 5 -CC -When set, change occurrences of the command_character -(i.e., the \fBcmdch\fP capability) -of the loaded terminfo entries to the value of this symbol. -Very few terminfo entries provide this feature. -.TP 5 -COLUMNS -Specify the width of the screen in characters. -Applications running in a windowing environment usually are able to -obtain the width of the window in which they are executing. -If neither the \fBCOLUMNS\fP value nor the terminal's screen size is available, -\fBncurses\fR uses the size which may be specified in the terminfo database -(i.e., the \fBcols\fR capability). -.IP -It is important that your application use a correct size for the screen. -This is not always possible because your application may be -running on a host which does not honor NAWS (Negotiations About Window -Size), or because you are temporarily running as another user. -However, setting \fBCOLUMNS\fP and/or \fBLINES\fP overrides the library's -use of the screen size obtained from the operating system. -.IP -Either \fBCOLUMNS\fP or \fBLINES\fP symbols may be specified independently. -This is mainly useful to circumvent legacy misfeatures of terminal descriptions, -e.g., xterm which commonly specifies a 65 line screen. -For best results, \fBlines\fR and \fBcols\fR should not be specified in -a terminal description for terminals which are run as emulations. -.IP -Use the \fBuse_env\fR function to disable all use of external environment -(including system calls) to determine the screen size. -.TP 5 -ESCDELAY -Specifies the total time, in milliseconds, for which ncurses will -await a character sequence, e.g., a function key. -The default value, 1000 milliseconds, is enough for most uses. -However, it is made a variable to accommodate unusual applications. -.IP -The most common instance where you may wish to change this value -is to work with slow hosts, e.g., running on a network. -If the host cannot read characters rapidly enough, it will have the same -effect as if the terminal did not send characters rapidly enough. -The library will still see a timeout. -.IP -Note that xterm mouse events are built up from character sequences -received from the xterm. -If your application makes heavy use of multiple-clicking, you may -wish to lengthen this default value because the timeout applies -to the composed multi-click event as well as the individual clicks. -.IP -In addition to the environment variable, -this implementation provides a global variable with the same name. -Portable applications should not rely upon the presence of ESCDELAY -in either form, -but setting the environment variable rather than the global variable -does not create problems when compiling an application. -.TP 5 -HOME -Tells \fBncurses\fR where your home directory is. -That is where it may read and write auxiliary terminal descriptions: -.IP -$HOME/.termcap -.br -$HOME/.terminfo -.TP 5 -LINES -Like COLUMNS, specify the height of the screen in characters. -See COLUMNS for a detailed description. -.TP 5 -MOUSE_BUTTONS_123 -This applies only to the OS/2 EMX port. -It specifies the order of buttons on the mouse. -OS/2 numbers a 3-button mouse inconsistently from other -platforms: -.sp -1 = left -.br -2 = right -.br -3 = middle. -.sp -This symbol lets you customize the mouse. -The symbol must be three numeric digits 1-3 in any order, e.g., 123 or 321. -If it is not specified, \fBncurses\fR uses 132. -.TP 5 -NCURSES_ASSUMED_COLORS -Override the compiled-in assumption that the -terminal's default colors are white-on-black -(see \fBassume_default_colors\fR(3X)). -You may set the foreground and background color values with this environment -variable by proving a 2-element list: foreground,background. -For example, to tell ncurses to not assume anything -about the colors, set this to "-1,-1". -To make it green-on-black, set it to "2,0". -Any positive value from zero to the terminfo \fBmax_colors\fR value is allowed. -.TP 5 -NCURSES_NO_PADDING -Most of the terminal descriptions in the terminfo database are written -for real "hardware" terminals. -Many people use terminal emulators -which run in a windowing environment and use curses-based applications. -Terminal emulators can duplicate -all of the important aspects of a hardware terminal, but they do not -have the same limitations. -The chief limitation of a hardware terminal from the standpoint -of your application is the management of dataflow, i.e., timing. -Unless a hardware terminal is interfaced into a terminal concentrator -(which does flow control), -it (or your application) must manage dataflow, preventing overruns. -The cheapest solution (no hardware cost) -is for your program to do this by pausing after -operations that the terminal does slowly, such as clearing the display. -.IP -As a result, many terminal descriptions (including the vt100) -have delay times embedded. You may wish to use these descriptions, -but not want to pay the performance penalty. -.IP -Set the NCURSES_NO_PADDING symbol to disable all but mandatory -padding. Mandatory padding is used as a part of special control -sequences such as \fIflash\fR. -.TP 5 -NCURSES_NO_SETBUF -Normally \fBncurses\fR enables buffered output during terminal initialization. -This is done (as in SVr4 curses) for performance reasons. -For testing purposes, both of \fBncurses\fR and certain applications, -this feature is made optional. Setting the NCURSES_NO_SETBUF variable -disables output buffering, leaving the output in the original (usually -line buffered) mode. -.TP 5 -NCURSES_NO_UTF8_ACS -During initialization, the \fBncurses\fR library -checks for special cases where VT100 line-drawing (and the corresponding -alternate character set capabilities) described in the terminfo are known -to be missing. -Specifically, when running in a UTF-8 locale, -the Linux console emulator and the GNU screen program ignore these. -Ncurses checks the TERM environment variable for these. -For other special cases, you should set this environment variable. -Doing this tells ncurses to use Unicode values which correspond to -the VT100 line-drawing glyphs. -That works for the special cases cited, -and is likely to work for terminal emulators. -.IP -When setting this variable, you should set it to a nonzero value. -Setting it to zero (or to a nonnumber) -disables the special check for Linux and screen. -.TP 5 -NCURSES_TRACE -During initialization, the \fBncurses\fR debugging library -checks the NCURSES_TRACE symbol. -If it is defined, to a numeric value, \fBncurses\fR calls the \fBtrace\fR -function, using that value as the argument. -.IP -The argument values, which are defined in \fBcurses.h\fR, provide several -types of information. -When running with traces enabled, your application will write the -file \fBtrace\fR to the current directory. -.TP 5 -TERM -Denotes your terminal type. -Each terminal type is distinct, though many are similar. -.TP 5 -TERMCAP -If the \fBncurses\fR library has been configured with \fItermcap\fR -support, \fBncurses\fR will check for a terminal's description in -termcap form if it is not available in the terminfo database. -.IP -The TERMCAP symbol contains either a terminal description (with -newlines stripped out), -or a file name telling where the information denoted by the TERM symbol exists. -In either case, setting it directs \fBncurses\fR to ignore -the usual place for this information, e.g., /etc/termcap. -.TP 5 -TERMINFO -Overrides the directory in which \fBncurses\fR searches for your terminal -description. -This is the simplest, but not the only way to change the list of directories. -The complete list of directories in order follows: -.RS -.TP 3 -- -the last directory to which \fBncurses\fR wrote, if any, is searched first -.TP 3 -- -the directory specified by the TERMINFO symbol -.TP 3 -- -$HOME/.terminfo -.TP 3 -- -directories listed in the TERMINFO_DIRS symbol -.TP 3 -- -one or more directories whose names are configured and compiled into the -ncurses library, e.g., -@TERMINFO@ -.RE -.TP 5 -TERMINFO_DIRS -Specifies a list of directories to search for terminal descriptions. -The list is separated by colons (i.e., ":") on Unix, semicolons on OS/2 EMX. -All of the terminal descriptions are in terminfo form, which makes -a subdirectory named for the first letter of the terminal names therein. -.TP 5 -TERMPATH -If TERMCAP does not hold a file name then \fBncurses\fR checks -the TERMPATH symbol. -This is a list of filenames separated by spaces or colons (i.e., ":") on Unix, semicolons on OS/2 EMX. -If the TERMPATH symbol is not set, \fBncurses\fR looks in the files -/etc/termcap, /usr/share/misc/termcap and $HOME/.termcap, in that order. -.PP -The library may be configured to disregard the following variables when the -current user is the superuser (root), or if the application uses setuid or -setgid permissions: -$TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME. -.SH FILES -.TP 5 -@DATADIR@/tabset -directory containing initialization files for the terminal capability database -@TERMINFO@ -terminal capability database -.SH SEE ALSO -\fBterminfo\fR(\*n) and related pages whose names begin "curs_" for detailed routine -descriptions. -.SH EXTENSIONS -The \fBncurses\fR library can be compiled with an option (\fB-DUSE_GETCAP\fR) -that falls back to the old-style /etc/termcap file if the terminal setup code -cannot find a terminfo entry corresponding to \fBTERM\fR. Use of this feature -is not recommended, as it essentially includes an entire termcap compiler in -the \fBncurses\fR startup code, at significant cost in core and startup cycles. -.PP -The \fBncurses\fR library includes facilities for capturing mouse events on -certain terminals (including xterm). See the \fBcurs_mouse\fR(3X) -manual page for details. -.PP -The \fBncurses\fR library includes facilities for responding to window -resizing events, e.g., when running in an xterm. -See the \fBresizeterm\fR(3X) -and \fBwresize\fR(3X) manual pages for details. -In addition, the library may be configured with a SIGWINCH handler. -.PP -The \fBncurses\fR library extends the fixed set of function key capabilities -of terminals by allowing the application designer to define additional -key sequences at runtime. -See the \fBdefine_key\fR(3X) -\fBkey_defined\fR(3X), -and \fBkeyok\fR(3X) manual pages for details. -.PP -The \fBncurses\fR library can exploit the capabilities of terminals which -implement the ISO-6429 SGR 39 and SGR 49 controls, which allow an application -to reset the terminal to its original foreground and background colors. -From the users' perspective, the application is able to draw colored -text on a background whose color is set independently, providing better -control over color contrasts. -See the \fBdefault_colors\fR(3X) manual page for details. -.PP -The \fBncurses\fR library includes a function for directing application output -to a printer attached to the terminal device. See the \fBcurs_print\fR(3X) -manual page for details. -.SH PORTABILITY -The \fBncurses\fR library is intended to be BASE-level conformant with the XSI -Curses standard. The EXTENDED XSI Curses functionality -(including color support) is supported. -.PP -A small number of local differences (that is, individual differences between -the XSI Curses and \fBncurses\fR calls) are described in \fBPORTABILITY\fR -sections of the library man pages. -.PP -The routine \fBhas_key\fR is not part of XPG4, nor is it present in SVr4. See -the \fBcurs_getch\fR(3X) manual page for details. -.PP -The routine \fBslk_attr\fR is not part of XPG4, nor is it present in SVr4. See -the \fBcurs_slk\fR(3X) manual page for details. -.PP -The routines \fBgetmouse\fR, \fBmousemask\fR, \fBungetmouse\fR, -\fBmouseinterval\fR, and \fBwenclose\fR relating to mouse interfacing are not -part of XPG4, nor are they present in SVr4. See the \fBcurs_mouse\fR(3X) -manual page for details. -.PP -The routine \fBmcprint\fR was not present in any previous curses -implementation. See the \fBcurs_print\fR(3X) manual page for details. -.PP -The routine \fBwresize\fR is not part of XPG4, nor is it present in SVr4. See -the \fBwresize\fR(3X) manual page for details. -.PP -In historic curses versions, delays embedded in the capabilities \fBcr\fR, -\fBind\fR, \fBcub1\fR, \fBff\fR and \fBtab\fR activated corresponding delay -bits in the UNIX tty driver. In this implementation, all padding is done by -NUL sends. This method is slightly more expensive, but narrows the interface -to the UNIX kernel significantly and increases the package's portability -correspondingly. -.SH NOTES -The header file \fB\fR automatically includes the header files -\fB\fR and \fB\fR. -.PP -If standard output from a \fBncurses\fR program is re-directed to something -which is not a tty, screen updates will be directed to standard error. This -was an undocumented feature of AT&T System V Release 3 curses. -.SH AUTHORS -Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. -Based on pcurses by Pavel Curtis. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/panel.3x b/src/libs/ncurses/man/panel.3x deleted file mode 100644 index 800ad32ee1..0000000000 --- a/src/libs/ncurses/man/panel.3x +++ /dev/null @@ -1,182 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: panel.3x,v 1.11 2003/05/17 22:44:09 jmc Exp $ -.TH panel 3X "" -.ds n 5 -.ds d @TERMINFO@ -.SH NAME -panel - panel stack extension for curses -.SH SYNOPSIS -\fB#include \fR -.P -\fBcc [flags] sourcefiles -lpanel -lncurses\fR -.P -\fBPANEL *new_panel(WINDOW *win)\fR -.br -\fBint bottom_panel(PANEL *pan)\fR -.br -\fBint top_panel(PANEL *pan)\fR -.br -\fBint show_panel(PANEL *pan)\fR -.br -\fBvoid update_panels();\fR -.br -\fBint hide_panel(PANEL *pan)\fR -.br -\fBWINDOW *panel_window(const PANEL *pan)\fR -.br -\fBint replace_panel(PANEL *pan, WINDOW *window)\fR -.br -\fBint move_panel(PANEL *pan, int starty, int startx)\fR -.br -\fBint panel_hidden(const PANEL *pan)\fR -.br -\fBPANEL *panel_above(const PANEL *pan)\fR -.br -\fBPANEL *panel_below(const PANEL *pan)\fR -.br -\fBint set_panel_userptr(PANEL *pan, const void *ptr)\fR -.br -\fBconst void *panel_userptr(const PANEL *pan)\fR -.br -\fBint del_panel(PANEL *pan)\fR -.br -.SH DESCRIPTION -Panels are \fBcurses\fR(3X) windows with the added feature of -depth. Panel functions allow the use of stacked windows and ensure -the proper portions of each window and the curses \fBstdscr\fR window are -hidden or displayed when panels are added, moved, modified or removed. -The set of currently visible panels is the stack of panels. The -\fBstdscr\fR window is beneath all panels, and is not considered part -of the stack. -.P -A window is associated with every panel. The panel routines enable -you to create, move, hide, and show panels, as well as position a -panel at any desired location in the stack. -.P -Panel routines are a functional layer added to \fBcurses\fR(3X), make only -high-level curses calls, and work anywhere terminfo curses does. -.SH FUNCTIONS -.TP -\fBnew_panel(win)\fR -allocates a \fBPANEL\fR structure, associates it with -\fBwin\fR, places the panel on the top of the stack (causes it -to be displayed above any other panel) and returns a -pointer to the new panel. -.TP -\fBvoid update_panels()\fR -refreshes the virtual screen to reflect the relations between the -panels in the stack, but does not call doupdate() to refresh the -physical screen. Use this function and not wrefresh or wnoutrefresh. -update_panels() may be called more than once before a call to -doupdate(), but doupdate() is the function responsible for updating -the physical screen. -.TP -\fBdel_panel(pan)\fR -removes the given panel from the stack and deallocates the -\fBPANEL\fR structure (but not its associated window). -.TP -\fBhide_panel(pan)\fR -removes the given panel from the panel stack and thus hides it from -view. The \fBPANEL\fR structure is not lost, merely removed from the stack. -.TP -\fBshow_panel(pan)\fR -makes a hidden panel visible by placing it on top of the panels in the -panel stack. See COMPATIBILITY below. -.TP -\fBtop_panel(pan)\fR -puts the given visible panel on top of all panels in the stack. See -COMPATIBILITY below. -.TP -\fBbottom_panel(pan)\fR -puts panel at the bottom of all panels. -.TP -\fBmove_panel(pan,starty,startx)\fR -moves the given panel window so that its upper-left corner is at -\fBstarty\fR, \fBstartx\fR. It does not change the position of the -panel in the stack. Be sure to use this function, not \fBmvwin()\fR, -to move a panel window. -.TP -\fBreplace_panel(pan,window)\fR -replaces the current window of panel with \fBwindow\fR (useful, for -example if you want to resize a panel; if you're using \fBncurses\fR, -you can call \fBreplace_panel\fR on the output of \fBwresize\fR(3X)). -It does not change the position of the panel in the stack. -.TP -\fBpanel_above(pan)\fR -returns a pointer to the panel above pan. If the panel argument is -\fB(PANEL *)0\fR, it returns a pointer to the bottom panel in the stack. -.TP -\fBpanel_below(pan)\fR -returns a pointer to the panel just below pan. If the panel argument -is \fB(PANEL *)0\fR, it returns a pointer to the top panel in the stack. -.TP -\fBset_panel_userptr(pan,ptr)\fR -sets the panel's user pointer. -.TP -\fBpanel_userptr(pan)\fR -returns the user pointer for a given panel. -.TP -\fBpanel_window(pan)\fR -returns a pointer to the window of the given panel. -.SH DIAGNOSTICS -Each routine that returns a pointer returns \fBNULL\fR if an error -occurs. Each routine that returns an int value returns \fBOK\fR if it -executes successfully and \fBERR\fR if not. -.SH COMPATIBILITY -Reasonable care has been taken to ensure compatibility -with the native panel facility introduced in SVr3.2 (inspection of -the SVr4 manual pages suggests the programming interface is unchanged). -The \fBPANEL\fR data structures are merely similar. The programmer -is cautioned not to directly use \fBPANEL\fR fields. -.P -The functions \fBshow_panel()\fR and \fBtop_panel()\fR are identical -in this implementation, and work equally well with displayed or hidden -panels. In the native System V implementation, \fBshow_panel()\fR is -intended for making a hidden panel visible (at the top of the stack) -and \fBtop_panel()\fR is intended for making an already-visible panel -move to the top of the stack. You are cautioned to use the correct -function to ensure compatibility with native panel libraries. -.SH NOTE -In your library list, libpanel.a should be before libncurses.a; that is, -you want to say `-lpanel -lncurses', not the other way around (which would -give you a link error using GNU \fBld\fR(1) and some other linkers). -.SH FILES -.P -panel.h -interface for the panels library -.P -libpanel.a -the panels library itself -.SH SEE ALSO -\fBcurses\fR(3X) -.SH AUTHOR -Originally written by Warren Tucker , -primarily to assist in porting u386mon to systems without a native -panels library. Repackaged for ncurses by Zeyd ben-Halim. diff --git a/src/libs/ncurses/man/resizeterm.3x b/src/libs/ncurses/man/resizeterm.3x deleted file mode 100644 index 888eaaf318..0000000000 --- a/src/libs/ncurses/man/resizeterm.3x +++ /dev/null @@ -1,100 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" Author: Thomas E. Dickey 1996-2005 -.\" -.\" $Id: resizeterm.3x,v 1.11 2005/06/25 22:19:42 tom Exp $ -.TH resizeterm 3X "" -.SH NAME -\fBis_term_resized\fR, -\fBresize_term\fR, -\fBresizeterm\fR - change the curses terminal size -.SH SYNOPSIS -\fB#include \fR -.sp -\fBbool is_term_resized(int lines, int columns);\fR -.br -\fBint resize_term(int lines, int columns);\fR -.br -\fBint resizeterm(int lines, int columns);\fR -.SH DESCRIPTION -This is an extension to the curses library. -It provides callers with a hook into the \fBncurses\fR data to resize windows, -primarily for use by programs running in an X Window terminal (e.g., xterm). -The function \fBresizeterm\fR resizes the standard and current windows -to the specified dimensions, and adjusts other bookkeeping data used by -the \fBncurses\fR library that record the window dimensions. -.LP -Most of the work is done by the inner function \fBresize_term\fR. -The outer function \fBresizeterm\fR adds bookkeeping for the SIGWINCH handler. -When resizing the windows, -\fBresize_term\fR blank-fills the areas that are extended. -The calling application should fill in these areas with appropriate data. -The \fBresize_term\fR function attempts to resize all windows. -However, due to the calling convention of pads, -it is not possible to resize these -without additional interaction with the application. -.LP -A support function \fBis_term_resized\fR is provided so that applications -can check if the \fBresize_term\fR function would modify the window structures. -It returns TRUE if the windows would be modified, and FALSE otherwise. -.SH RETURN VALUE -Except as notes, these function return -the integer \fBERR\fR upon failure and \fBOK\fR on success. -They will fail if either of the dimensions are less than or equal to zero, -or if an error occurs while (re)allocating memory for the windows. -.SH NOTES -While these functions are intended to be used to support a signal handler -(i.e., for SIGWINCH), care should be taken to avoid invoking them in a -context where \fBmalloc\fR or \fBrealloc\fR may have been interrupted, -since it uses those functions. -.PP -If ncurses is configured to supply its own SIGWINCH handler, -the \fBresizeterm\fR function ungetch's a \fBKEY_RESIZE\fR which -will be read on the next call to \fBgetch\fR. -This is used to alert an application that the screen size has changed, -and that it should repaint special features such as pads that cannot -be done automatically. -.PP -If the environment variables \fBLINES\fP or \fBCOLUMNS\fP are set, -this overrides the library's use of the window size obtained from -the operating system. -Thus, even if a SIGWINCH is received, -no screen size change may be recorded. -In that case, no \fBKEY_RESIZE\fP is queued for the next call to \fBgetch\fP; -an \fBERR\fP will be returned instead. -.SH SEE ALSO -\fBwresize\fR(3X). -.SH AUTHOR -Thomas Dickey (from an equivalent function written in 1988 for BSD curses). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/term.5 b/src/libs/ncurses/man/term.5 deleted file mode 100644 index e999b2e8c5..0000000000 --- a/src/libs/ncurses/man/term.5 +++ /dev/null @@ -1,208 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: term.5,v 1.16 2004/07/05 13:16:08 tom Exp $ -.TH TERM 5 -.ds n 5 -.ds d @TERMINFO@ -.SH NAME -term \- format of compiled term file. -.SH SYNOPSIS -.B term -.SH DESCRIPTION -.PP -Compiled terminfo descriptions are placed under the directory \fB\*d\fP. -In order to avoid a linear search of a huge \s-1UNIX\s+1 system directory, a -two-level scheme is used: \fB\*d/c/name\fP -where -.I name -is the name of the terminal, and -.I c -is the first character of -.IR name . -Thus, -.I act4 -can be found in the file \fB\*d/a/act4\fP. -Synonyms for the same terminal are implemented by multiple -links to the same compiled file. -.PP -The format has been chosen so that it will be the same on all hardware. -An 8 or more bit byte is assumed, but no assumptions about byte ordering -or sign extension are made. -.PP -The compiled file is created with the -.I tic -program, and read by the routine -.IR setupterm . -The file is divided into six parts: -the header, -terminal names, -boolean flags, -numbers, -strings, -and -string table. -.PP -The header section begins the file. -This section contains six short integers in the format -described below. -These integers are -(1) the magic number (octal 0432); -(2) the size, in bytes, of the names section; -(3) the number of bytes in the boolean section; -(4) the number of short integers in the numbers section; -(5) the number of offsets (short integers) in the strings section; -(6) the size, in bytes, of the string table. -.PP -Short integers are stored in two 8-bit bytes. -The first byte contains the least significant 8 bits of the value, -and the second byte contains the most significant 8 bits. -(Thus, the value represented is 256*second+first.) -The value -1 is represented by the two bytes 0377, 0377; other negative -values are illegal. This value generally -means that the corresponding capability is missing from this terminal. -Note that this format corresponds to the hardware of the \s-1VAX\s+1 -and \s-1PDP\s+1-11 (that is, little-endian machines). -Machines where this does not correspond to the hardware must read the -integers as two bytes and compute the little-endian value. -.PP -The terminal names section comes next. -It contains the first line of the terminfo description, -listing the various names for the terminal, -separated by the `|' character. -The section is terminated with an \s-1ASCII NUL\s+1 character. -.PP -The boolean flags have one byte for each flag. -This byte is either 0 or 1 as the flag is present or absent. -The capabilities are in the same order as the file . -.PP -Between the boolean section and the number section, -a null byte will be inserted, if necessary, -to ensure that the number section begins on an even byte (this is a -relic of the PDP-11's word-addressed architecture, originally -designed in to avoid IOT traps induced by addressing a word on an -odd byte boundary). -All short integers are aligned on a short word boundary. -.PP -The numbers section is similar to the flags section. -Each capability takes up two bytes, -and is stored as a little-endian short integer. -If the value represented is -1, the capability is taken to be missing. -.PP -The strings section is also similar. -Each capability is stored as a short integer, in the format above. -A value of -1 means the capability is missing. -Otherwise, the value is taken as an offset from the beginning -of the string table. -Special characters in ^X or \ec notation are stored in their -interpreted form, not the printing representation. -Padding information $ and parameter information %x are -stored intact in uninterpreted form. -.PP -The final section is the string table. -It contains all the values of string capabilities referenced in -the string section. -Each string is null terminated. -.PP -Note that it is possible for -.I setupterm -to expect a different set of capabilities -than are actually present in the file. -Either the database may have been updated since -.I setupterm -has been recompiled -(resulting in extra unrecognized entries in the file) -or the program may have been recompiled more recently -than the database was updated -(resulting in missing entries). -The routine -.I setupterm -must be prepared for both possibilities \- -this is why the numbers and sizes are included. -Also, new capabilities must always be added at the end of the lists -of boolean, number, and string capabilities. -.PP -Despite the consistent use of little-endian for numbers and the otherwise -self-describing format, it is not wise to count on portability of binary -terminfo entries between commercial UNIX versions. The problem is that there -are at least three versions of terminfo (under HP-UX, AIX, and OSF/1) which -diverged from System V terminfo after SVr1, and have added extension -capabilities to the string table that (in the binary format) collide with -System V and XSI Curses extensions. See \fBterminfo\fR(\*n) for detailed -discussion of terminfo source compatibility issues. -.PP -As an example, here is a hex dump of the description for the Lear-Siegler -ADM-3, a popular though rather stupid early terminal: -.nf -.sp -adm3a|lsi adm3a, - am, - cols#80, lines#24, - bel=^G, clear=\032$<1>, cr=^M, cub1=^H, cud1=^J, - cuf1=^L, cup=\\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - home=^^, ind=^J, -.sp -.ft CW -\s-20000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3 -0010 61 7c 6c 73 69 20 61 64 6d 33 61 00 00 01 50 00 a|lsi ad m3a...P. -0020 ff ff 18 00 ff ff 00 00 02 00 ff ff ff ff 04 00 ........ ........ -0030 ff ff ff ff ff ff ff ff 0a 00 25 00 27 00 ff ff ........ ..%.'... -0040 29 00 ff ff ff ff 2b 00 ff ff 2d 00 ff ff ff ff ).....+. ..-..... -0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ -0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ -0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ -0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ -0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ -00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ -00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ -00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ -00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ -00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ -00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ -0100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ -0110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ -0120 ff ff ff ff ff ff 2f 00 07 00 0d 00 1a 24 3c 31 ....../. .....$<1 -0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 >..=%p1% {32}%+%c -0140 25 70 32 25 7b 33 32 7d 25 2b 25 63 00 0a 00 1e %p2%{32} %+%c.... -0150 00 08 00 0c 00 0b 00 0a 00 ........ .\s+2 -.ft R -.fi -.sp -.PP -Some limitations: total compiled entries cannot exceed 4096 bytes. -The name field cannot exceed 128 bytes. -.SH FILES -\*d/*/* compiled terminal capability data base -.SH SEE ALSO -\fBcurses\fR(3X), \fBterminfo\fR(\*n). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/term.7 b/src/libs/ncurses/man/term.7 deleted file mode 100644 index e3be223b04..0000000000 --- a/src/libs/ncurses/man/term.7 +++ /dev/null @@ -1,204 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: term.7,v 1.14 2003/05/10 20:33:49 jmc Exp $ -.TH TERM 7 -.ds n 5 -.ds d @TERMINFO@ -.SH NAME -term \- conventions for naming terminal types -.SH DESCRIPTION -.PP -The environment variable \fBTERM\fR should normally contain the type name of -the terminal, console or display-device type you are using. This information -is critical for all screen-oriented programs, including your editor and mailer. -.PP -A default \fBTERM\fR value will be set on a per-line basis by either -\fB/etc/inittab\fR (Linux and System-V-like UNIXes) or \fB/etc/ttys\fR (BSD -UNIXes). This will nearly always suffice for workstation and microcomputer -consoles. -.PP -If you use a dialup line, the type of device attached to it may vary. Older -UNIX systems pre-set a very dumb terminal type like `dumb' or `dialup' on -dialup lines. Newer ones may pre-set `vt100', reflecting the prevalence of DEC -VT100-compatible terminals and personal-computer emulators. -.PP -Modern telnets pass your \fBTERM\fR environment variable from the local side to -the remote one. There can be problems if the remote terminfo or termcap entry -for your type is not compatible with yours, but this situation is rare and -can almost always be avoided by explicitly exporting `vt100' (assuming you -are in fact using a VT100-superset console, terminal, or terminal emulator.) -.PP -In any case, you are free to override the system \fBTERM\fR setting to your -taste in your shell profile. The \fBtset\fP(1) utility may be of assistance; -you can give it a set of rules for deducing or requesting a terminal type based -on the tty device and baud rate. -.PP -Setting your own \fBTERM\fR value may also be useful if you have created a -custom entry incorporating options (such as visual bell or reverse-video) -which you wish to override the system default type for your line. -.PP -Terminal type descriptions are stored as files of capability data underneath -\*d. To browse a list of all terminal names recognized by the system, do - - toe | more - -from your shell. These capability files are in a binary format optimized for -retrieval speed (unlike the old text-based \fBtermcap\fR format they replace); -to examine an entry, you must use the \fBinfocmp\fR(1) command. Invoke it as -follows: - - infocmp \fIentry-name\fR - -where \fIentry-name\fR is the name of the type you wish to examine (and the -name of its capability file the subdirectory of \*d named for its first -letter). This command dumps a capability file in the text format described by -\fBterminfo\fR(\*n). -.PP -The first line of a \fBterminfo\fR(\*n) description gives the names by which -terminfo knows a terminal, separated by `|' (pipe-bar) characters with the last -name field terminated by a comma. The first name field is the type's -\fIprimary name\fR, and is the one to use when setting \fBTERM\fR. The last -name field (if distinct from the first) is actually a description of the -terminal type (it may contain blanks; the others must be single words). Name -fields between the first and last (if present) are aliases for the terminal, -usually historical names retained for compatibility. -.PP -There are some conventions for how to choose terminal primary names that help -keep them informative and unique. Here is a step-by-step guide to naming -terminals that also explains how to parse them: -.PP -First, choose a root name. The root will consist of a lower-case letter -followed by up to seven lower-case letters or digits. You need to avoid using -punctuation characters in root names, because they are used and interpreted as -filenames and shell meta-characters (such as !, $, *, ?, etc.) embedded in them -may cause odd and unhelpful behavior. The slash (/), or any other character -that may be interpreted by anyone's file system (\e, $, [, ]), is especially -dangerous (terminfo is platform-independent, and choosing names with special -characters could someday make life difficult for users of a future port). The -dot (.) character is relatively safe as long as there is at most one per root -name; some historical terminfo names use it. -.PP -The root name for a terminal or workstation console type should almost always -begin with a vendor prefix (such as \fBhp\fR for Hewlett-Packard, \fBwy\fR for -Wyse, or \fBatt\fR for AT&T terminals), or a common name of the terminal line -(\fBvt\fR for the VT series of terminals from DEC, or \fBsun\fR for Sun -Microsystems workstation consoles, or \fBregent\fR for the ADDS Regent series. -You can list the terminfo tree to see what prefixes are already in common use. -The root name prefix should be followed when appropriate by a model number; -thus \fBvt100\fR, \fBhp2621\fR, \fBwy50\fR. -.PP -The root name for a PC-Unix console type should be the OS name, -i.e. \fBlinux\fR, \fBbsdos\fR, \fBfreebsd\fR, \fBnetbsd\fR. It should -\fInot\fR be \fBconsole\fR or any other generic that might cause confusion in a -multi-platform environment! If a model number follows, it should indicate -either the OS release level or the console driver release level. -.PP -The root name for a terminal emulator (assuming it doesn't fit one of the -standard ANSI or vt100 types) should be the program name or a readily -recognizable abbreviation of it (i.e. \fBversaterm\fR, \fBctrm\fR). -.PP -Following the root name, you may add any reasonable number of hyphen-separated -feature suffixes. -.TP 5 -2p -Has two pages of memory. Likewise 4p, 8p, etc. -.TP 5 -mc -Magic-cookie. Some terminals (notably older Wyses) can only support one -attribute without magic-cookie lossage. Their base entry is usually paired -with another that has this suffix and uses magic cookies to support multiple -attributes. -.TP 5 --am -Enable auto-margin (right-margin wraparound). -.TP 5 --m -Mono mode - suppress color support. -.TP 5 --na -No arrow keys - termcap ignores arrow keys which are actually there on the -terminal, so the user can use the arrow keys locally. -.TP 5 --nam -No auto-margin - suppress am capability. -.TP 5 --nl -No labels - suppress soft labels. -.TP 5 --nsl -No status line - suppress status line. -.TP 5 --pp -Has a printer port which is used. -.TP 5 --rv -Terminal in reverse video mode (black on white). -.TP 5 --s -Enable status line. -.TP 5 --vb -Use visible bell (flash) rather than beep. -.TP 5 --w -Wide; terminal is in 132 column mode. -.PP -Conventionally, if your terminal type is a variant intended to specify a -line height, that suffix should go first. So, for a hypothetical FuBarCo -model 2317 terminal in 30-line mode with reverse video, best form would be -\fBfubar-30-rv\fR (rather than, say, `fubar-rv-30'). -.PP -Terminal types that are written not as standalone entries, but rather as -components to be plugged into other entries via \fBuse\fP capabilities, -are distinguished by using embedded plus signs rather than dashes. -.PP -Commands which use a terminal type to control display often accept a -T -option that accepts a terminal name argument. Such programs should fall back -on the \fBTERM\fR environment variable when no -T option is specified. -.SH PORTABILITY -For maximum compatibility with older System V UNIXes, names and aliases -should be unique within the first 14 characters. -.SH FILES -.TP 5 -\*d/?/* -compiled terminal capability data base -.TP 5 -/etc/inittab -tty line initialization (AT&T-like UNIXes) -.TP 5 -/etc/ttys -tty line initialization (BSD-like UNIXes) -.SH SEE ALSO -\fBcurses\fR(3X), \fBterminfo\fR(\*n), \fBterm\fR(\*n). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/terminfo.5 b/src/libs/ncurses/man/terminfo.5 deleted file mode 100644 index 268638fc72..0000000000 --- a/src/libs/ncurses/man/terminfo.5 +++ /dev/null @@ -1,3298 +0,0 @@ -'\" t -.\" DO NOT EDIT THIS FILE BY HAND! -.\" It is generated from terminfo.head, Caps, and terminfo.tail. -.\" -.\" Note: this must be run through tbl before nroff. -.\" The magic cookie on the first line triggers this under some man programs. -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2004 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: terminfo.head,v 1.12 2004/09/25 19:07:11 tom Exp $ -.TH TERMINFO 5 "" "" "File Formats" -.ds n 5 -.ds d @TERMINFO@ -.SH NAME -terminfo \- terminal capability data base -.SH SYNOPSIS -\*d/*/* -.SH DESCRIPTION -.I Terminfo -is a data base describing terminals, used by screen-oriented programs such as -\fBnvi\fR(1), -\fBrogue\fR(1) -and libraries such as -\fBcurses\fR(3X). -.I Terminfo -describes terminals by giving a set of capabilities which they -have, by specifying how to perform screen operations, and by -specifying padding requirements and initialization sequences. -.PP -Entries in -.I terminfo -consist of a sequence of `,' separated fields (embedded commas may be -escaped with a backslash or notated as \e054). -White space after the `,' separator is ignored. -The first entry for each terminal gives the names which are known for the -terminal, separated by `|' characters. -The first name given is the most common abbreviation for the terminal, -the last name given should be a long name fully identifying the terminal, -and all others are understood as synonyms for the terminal name. -All names but the last should be in lower case and contain no blanks; -the last name may well contain upper case and blanks for readability. -.PP -Lines beginning with a `#' in the first column are treated as comments. -While comment lines are legal at any point, the output of \fIcaptoinfo\fP -and \fIinfotocap\fP (aliases for \fItic\fP) -will move comments so they occur only between entries. -.PP -Newlines and leading tabs may be used for formatting entries for readability. -These are removed from parsed entries. -The \fIinfocmp\ -f\fP option relies on this to format if-then-else expressions: -the result can be read by \fItic\fP. -.PP -Terminal names (except for the last, verbose entry) should -be chosen using the following conventions. -The particular piece of hardware making up the terminal should -have a root name, thus ``hp2621''. -This name should not contain hyphens. -Modes that the hardware can be in, or user preferences, should -be indicated by appending a hyphen and a mode suffix. -Thus, a vt100 in 132 column mode would be vt100-w. -The following suffixes should be used where possible: -.PP -.TS -center ; -l c l -l l l. -\fBSuffix Meaning Example\fP --\fInn\fP Number of lines on the screen aaa-60 --\fIn\fPp Number of pages of memory c100-4p --am With automargins (usually the default) vt100-am --m Mono mode; suppress color ansi-m --mc Magic cookie; spaces when highlighting wy30-mc --na No arrow keys (leave them in local) c100-na --nam Without automatic margins vt100-nam --nl No status line att4415-nl --ns No status line hp2626-ns --rv Reverse video c100-rv --s Enable status line vt100-s --vb Use visible bell instead of beep wy370-vb --w Wide mode (> 80 columns, usually 132) vt100-w -.TE -.PP -For more on terminal naming conventions, see the \fBterm(7)\fR manual page. -.SS Capabilities -.\" Head of terminfo man page ends here -.ps -1 -The following is a complete table of the capabilities included in a -terminfo description block and available to terminfo-using code. In each -line of the table, - -The \fBvariable\fR is the name by which the programmer (at the terminfo level) -accesses the capability. - -The \fBcapname\fR is the short name used in the text of the database, -and is used by a person updating the database. -Whenever possible, capnames are chosen to be the same as or similar to -the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses -identical or very similar names). Semantics are also intended to match -those of the specification. - -The termcap code is the old -.B termcap -capability name (some capabilities are new, and have names which termcap -did not originate). -.P -Capability names have no hard length limit, but an informal limit of 5 -characters has been adopted to keep them short and to allow the tabs in -the source file -.B Caps -to line up nicely. - -Finally, the description field attempts to convey the semantics of the -capability. You may find some codes in the description field: -.TP -(P) -indicates that padding may be specified -.TP -#[1-9] -in the description field indicates that the string is passed through tparm with -parms as given (#\fIi\fP). -.TP -(P*) -indicates that padding may vary in proportion to the number of -lines affected -.TP -(#\d\fIi\fP\u) -indicates the \fIi\fP\uth\d parameter. - -.PP -These are the boolean capabilities: - -.na -.TS H -center expand; -c l l c -c l l c -lw25 lw6 lw2 lw20. -\fBVariable Cap- TCap Description\fR -\fBBooleans name Code\fR -auto_left_margin bw bw T{ -cub1 wraps from column 0 to last column -T} -auto_right_margin am am T{ -terminal has automatic margins -T} -back_color_erase bce ut T{ -screen erased with background color -T} -can_change ccc cc T{ -terminal can re-define existing colors -T} -ceol_standout_glitch xhp xs T{ -standout not erased by overwriting (hp) -T} -col_addr_glitch xhpa YA T{ -only positive motion for hpa/mhpa caps -T} -cpi_changes_res cpix YF T{ -changing character pitch changes resolution -T} -cr_cancels_micro_mode crxm YB T{ -using cr turns off micro mode -T} -dest_tabs_magic_smso xt xt T{ -tabs destructive, magic so char (t1061) -T} -eat_newline_glitch xenl xn T{ -newline ignored after 80 cols (concept) -T} -erase_overstrike eo eo T{ -can erase overstrikes with a blank -T} -generic_type gn gn T{ -generic line type -T} -hard_copy hc hc T{ -hardcopy terminal -T} -hard_cursor chts HC T{ -cursor is hard to see -T} -has_meta_key km km T{ -Has a meta key (i.e., sets 8th-bit) -T} -has_print_wheel daisy YC T{ -printer needs operator to change character set -T} -has_status_line hs hs T{ -has extra status line -T} -hue_lightness_saturation hls hl T{ -terminal uses only HLS color notation (Tektronix) -T} -insert_null_glitch in in T{ -insert mode distinguishes nulls -T} -lpi_changes_res lpix YG T{ -changing line pitch changes resolution -T} -memory_above da da T{ -display may be retained above the screen -T} -memory_below db db T{ -display may be retained below the screen -T} -move_insert_mode mir mi T{ -safe to move while in insert mode -T} -move_standout_mode msgr ms T{ -safe to move while in standout mode -T} -needs_xon_xoff nxon nx T{ -padding will not work, xon/xoff required -T} -no_esc_ctlc xsb xb T{ -beehive (f1=escape, f2=ctrl C) -T} -no_pad_char npc NP T{ -pad character does not exist -T} -non_dest_scroll_region ndscr ND T{ -scrolling region is non-destructive -T} -non_rev_rmcup nrrmc NR T{ -smcup does not reverse rmcup -T} -over_strike os os T{ -terminal can overstrike -T} -prtr_silent mc5i 5i T{ -printer will not echo on screen -T} -row_addr_glitch xvpa YD T{ -only positive motion for vpa/mvpa caps -T} -semi_auto_right_margin sam YE T{ -printing in last column causes cr -T} -status_line_esc_ok eslok es T{ -escape can be used on the status line -T} -tilde_glitch hz hz T{ -cannot print ~'s (hazeltine) -T} -transparent_underline ul ul T{ -underline character overstrikes -T} -xon_xoff xon xo T{ -terminal uses xon/xoff handshaking -T} -.TE -.ad - -These are the numeric capabilities: - -.na -.TS H -center expand; -c l l c -c l l c -lw25 lw6 lw2 lw20. -\fBVariable Cap- TCap Description\fR -\fBNumeric name Code\fR -columns cols co T{ -number of columns in a line -T} -init_tabs it it T{ -tabs initially every # spaces -T} -label_height lh lh T{ -rows in each label -T} -label_width lw lw T{ -columns in each label -T} -lines lines li T{ -number of lines on screen or page -T} -lines_of_memory lm lm T{ -lines of memory if > line. 0 means varies -T} -magic_cookie_glitch xmc sg T{ -number of blank characters left by smso or rmso -T} -max_attributes ma ma T{ -maximum combined attributes terminal can handle -T} -max_colors colors Co T{ -maximum number of colors on screen -T} -max_pairs pairs pa T{ -maximum number of color-pairs on the screen -T} -maximum_windows wnum MW T{ -maximum number of defineable windows -T} -no_color_video ncv NC T{ -video attributes that cannot be used with colors -T} -num_labels nlab Nl T{ -number of labels on screen -T} -padding_baud_rate pb pb T{ -lowest baud rate where padding needed -T} -virtual_terminal vt vt T{ -virtual terminal number (CB/unix) -T} -width_status_line wsl ws T{ -number of columns in status line -T} -.TE -.ad - -The following numeric capabilities are present in the SVr4.0 term structure, -but are not yet documented in the man page. They came in with SVr4's -printer support. - -.na -.TS H -center expand; -c l l c -c l l c -lw25 lw6 lw2 lw20. -\fBVariable Cap- TCap Description\fR -\fBNumeric name Code\fR -bit_image_entwining bitwin Yo T{ -number of passes for each bit-image row -T} -bit_image_type bitype Yp T{ -type of bit-image device -T} -buffer_capacity bufsz Ya T{ -numbers of bytes buffered before printing -T} -buttons btns BT T{ -number of buttons on mouse -T} -dot_horz_spacing spinh Yc T{ -spacing of dots horizontally in dots per inch -T} -dot_vert_spacing spinv Yb T{ -spacing of pins vertically in pins per inch -T} -max_micro_address maddr Yd T{ -maximum value in micro_..._address -T} -max_micro_jump mjump Ye T{ -maximum value in parm_..._micro -T} -micro_col_size mcs Yf T{ -character step size when in micro mode -T} -micro_line_size mls Yg T{ -line step size when in micro mode -T} -number_of_pins npins Yh T{ -numbers of pins in print-head -T} -output_res_char orc Yi T{ -horizontal resolution in units per line -T} -output_res_horz_inch orhi Yk T{ -horizontal resolution in units per inch -T} -output_res_line orl Yj T{ -vertical resolution in units per line -T} -output_res_vert_inch orvi Yl T{ -vertical resolution in units per inch -T} -print_rate cps Ym T{ -print rate in characters per second -T} -wide_char_size widcs Yn T{ -character step size when in double wide mode -T} -.TE -.ad - -These are the string capabilities: - -.na -.TS H -center expand; -c l l c -c l l c -lw25 lw6 lw2 lw20. -\fBVariable Cap- TCap Description\fR -\fBString name Code\fR -acs_chars acsc ac T{ -graphics charset pairs, based on vt100 -T} -back_tab cbt bt T{ -back tab (P) -T} -bell bel bl T{ -audible signal (bell) (P) -T} -carriage_return cr cr T{ -carriage return (P*) (P*) -T} -change_char_pitch cpi ZA T{ -Change number of characters per inch to #1 -T} -change_line_pitch lpi ZB T{ -Change number of lines per inch to #1 -T} -change_res_horz chr ZC T{ -Change horizontal resolution to #1 -T} -change_res_vert cvr ZD T{ -Change vertical resolution to #1 -T} -change_scroll_region csr cs T{ -change region to line #1 to line #2 (P) -T} -char_padding rmp rP T{ -like ip but when in insert mode -T} -clear_all_tabs tbc ct T{ -clear all tab stops (P) -T} -clear_margins mgc MC T{ -clear right and left soft margins -T} -clear_screen clear cl T{ -clear screen and home cursor (P*) -T} -clr_bol el1 cb T{ -Clear to beginning of line -T} -clr_eol el ce T{ -clear to end of line (P) -T} -clr_eos ed cd T{ -clear to end of screen (P*) -T} -column_address hpa ch T{ -horizontal position #1, absolute (P) -T} -command_character cmdch CC T{ -terminal settable cmd character in prototype !? -T} -create_window cwin CW T{ -define a window #1 from #2,#3 to #4,#5 -T} -cursor_address cup cm T{ -move to row #1 columns #2 -T} -cursor_down cud1 do T{ -down one line -T} -cursor_home home ho T{ -home cursor (if no cup) -T} -cursor_invisible civis vi T{ -make cursor invisible -T} -cursor_left cub1 le T{ -move left one space -T} -cursor_mem_address mrcup CM T{ -memory relative cursor addressing, move to row #1 columns #2 -T} -cursor_normal cnorm ve T{ -make cursor appear normal (undo civis/cvvis) -T} -cursor_right cuf1 nd T{ -non-destructive space (move right one space) -T} -cursor_to_ll ll ll T{ -last line, first column (if no cup) -T} -cursor_up cuu1 up T{ -up one line -T} -cursor_visible cvvis vs T{ -make cursor very visible -T} -define_char defc ZE T{ -Define a character #1, #2 dots wide, descender #3 -T} -delete_character dch1 dc T{ -delete character (P*) -T} -delete_line dl1 dl T{ -delete line (P*) -T} -dial_phone dial DI T{ -dial number #1 -T} -dis_status_line dsl ds T{ -disable status line -T} -display_clock dclk DK T{ -display clock -T} -down_half_line hd hd T{ -half a line down -T} -ena_acs enacs eA T{ -enable alternate char set -T} -enter_alt_charset_mode smacs as T{ -start alternate character set (P) -T} -enter_am_mode smam SA T{ -turn on automatic margins -T} -enter_blink_mode blink mb T{ -turn on blinking -T} -enter_bold_mode bold md T{ -turn on bold (extra bright) mode -T} -enter_ca_mode smcup ti T{ -string to start programs using cup -T} -enter_delete_mode smdc dm T{ -enter delete mode -T} -enter_dim_mode dim mh T{ -turn on half-bright mode -T} -enter_doublewide_mode swidm ZF T{ -Enter double-wide mode -T} -enter_draft_quality sdrfq ZG T{ -Enter draft-quality mode -T} -enter_insert_mode smir im T{ -enter insert mode -T} -enter_italics_mode sitm ZH T{ -Enter italic mode -T} -enter_leftward_mode slm ZI T{ -Start leftward carriage motion -T} -enter_micro_mode smicm ZJ T{ -Start micro-motion mode -T} -enter_near_letter_quality snlq ZK T{ -Enter NLQ mode -T} -enter_normal_quality snrmq ZL T{ -Enter normal-quality mode -T} -enter_protected_mode prot mp T{ -turn on protected mode -T} -enter_reverse_mode rev mr T{ -turn on reverse video mode -T} -enter_secure_mode invis mk T{ -turn on blank mode (characters invisible) -T} -enter_shadow_mode sshm ZM T{ -Enter shadow-print mode -T} -enter_standout_mode smso so T{ -begin standout mode -T} -enter_subscript_mode ssubm ZN T{ -Enter subscript mode -T} -enter_superscript_mode ssupm ZO T{ -Enter superscript mode -T} -enter_underline_mode smul us T{ -begin underline mode -T} -enter_upward_mode sum ZP T{ -Start upward carriage motion -T} -enter_xon_mode smxon SX T{ -turn on xon/xoff handshaking -T} -erase_chars ech ec T{ -erase #1 characters (P) -T} -exit_alt_charset_mode rmacs ae T{ -end alternate character set (P) -T} -exit_am_mode rmam RA T{ -turn off automatic margins -T} -exit_attribute_mode sgr0 me T{ -turn off all attributes -T} -exit_ca_mode rmcup te T{ -strings to end programs using cup -T} -exit_delete_mode rmdc ed T{ -end delete mode -T} -exit_doublewide_mode rwidm ZQ T{ -End double-wide mode -T} -exit_insert_mode rmir ei T{ -exit insert mode -T} -exit_italics_mode ritm ZR T{ -End italic mode -T} -exit_leftward_mode rlm ZS T{ -End left-motion mode -T} -exit_micro_mode rmicm ZT T{ -End micro-motion mode -T} -exit_shadow_mode rshm ZU T{ -End shadow-print mode -T} -exit_standout_mode rmso se T{ -exit standout mode -T} -exit_subscript_mode rsubm ZV T{ -End subscript mode -T} -exit_superscript_mode rsupm ZW T{ -End superscript mode -T} -exit_underline_mode rmul ue T{ -exit underline mode -T} -exit_upward_mode rum ZX T{ -End reverse character motion -T} -exit_xon_mode rmxon RX T{ -turn off xon/xoff handshaking -T} -fixed_pause pause PA T{ -pause for 2-3 seconds -T} -flash_hook hook fh T{ -flash switch hook -T} -flash_screen flash vb T{ -visible bell (may not move cursor) -T} -form_feed ff ff T{ -hardcopy terminal page eject (P*) -T} -from_status_line fsl fs T{ -return from status line -T} -goto_window wingo WG T{ -go to window #1 -T} -hangup hup HU T{ -hang-up phone -T} -init_1string is1 i1 T{ -initialization string -T} -init_2string is2 is T{ -initialization string -T} -init_3string is3 i3 T{ -initialization string -T} -init_file if if T{ -name of initialization file -T} -init_prog iprog iP T{ -path name of program for initialization -T} -initialize_color initc Ic T{ -initialize color #1 to (#2,#3,#4) -T} -initialize_pair initp Ip T{ -Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7) -T} -insert_character ich1 ic T{ -insert character (P) -T} -insert_line il1 al T{ -insert line (P*) -T} -insert_padding ip ip T{ -insert padding after inserted character -T} -key_a1 ka1 K1 T{ -upper left of keypad -T} -key_a3 ka3 K3 T{ -upper right of keypad -T} -key_b2 kb2 K2 T{ -center of keypad -T} -key_backspace kbs kb T{ -backspace key -T} -key_beg kbeg @1 T{ -begin key -T} -key_btab kcbt kB T{ -back-tab key -T} -key_c1 kc1 K4 T{ -lower left of keypad -T} -key_c3 kc3 K5 T{ -lower right of keypad -T} -key_cancel kcan @2 T{ -cancel key -T} -key_catab ktbc ka T{ -clear-all-tabs key -T} -key_clear kclr kC T{ -clear-screen or erase key -T} -key_close kclo @3 T{ -close key -T} -key_command kcmd @4 T{ -command key -T} -key_copy kcpy @5 T{ -copy key -T} -key_create kcrt @6 T{ -create key -T} -key_ctab kctab kt T{ -clear-tab key -T} -key_dc kdch1 kD T{ -delete-character key -T} -key_dl kdl1 kL T{ -delete-line key -T} -key_down kcud1 kd T{ -down-arrow key -T} -key_eic krmir kM T{ -sent by rmir or smir in insert mode -T} -key_end kend @7 T{ -end key -T} -key_enter kent @8 T{ -enter/send key -T} -key_eol kel kE T{ -clear-to-end-of-line key -T} -key_eos ked kS T{ -clear-to-end-of-screen key -T} -key_exit kext @9 T{ -exit key -T} -key_f0 kf0 k0 T{ -F0 function key -T} -key_f1 kf1 k1 T{ -F1 function key -T} -key_f10 kf10 k; T{ -F10 function key -T} -key_f11 kf11 F1 T{ -F11 function key -T} -key_f12 kf12 F2 T{ -F12 function key -T} -key_f13 kf13 F3 T{ -F13 function key -T} -key_f14 kf14 F4 T{ -F14 function key -T} -key_f15 kf15 F5 T{ -F15 function key -T} -key_f16 kf16 F6 T{ -F16 function key -T} -key_f17 kf17 F7 T{ -F17 function key -T} -key_f18 kf18 F8 T{ -F18 function key -T} -key_f19 kf19 F9 T{ -F19 function key -T} -key_f2 kf2 k2 T{ -F2 function key -T} -key_f20 kf20 FA T{ -F20 function key -T} -key_f21 kf21 FB T{ -F21 function key -T} -key_f22 kf22 FC T{ -F22 function key -T} -key_f23 kf23 FD T{ -F23 function key -T} -key_f24 kf24 FE T{ -F24 function key -T} -key_f25 kf25 FF T{ -F25 function key -T} -key_f26 kf26 FG T{ -F26 function key -T} -key_f27 kf27 FH T{ -F27 function key -T} -key_f28 kf28 FI T{ -F28 function key -T} -key_f29 kf29 FJ T{ -F29 function key -T} -key_f3 kf3 k3 T{ -F3 function key -T} -key_f30 kf30 FK T{ -F30 function key -T} -key_f31 kf31 FL T{ -F31 function key -T} -key_f32 kf32 FM T{ -F32 function key -T} -key_f33 kf33 FN T{ -F33 function key -T} -key_f34 kf34 FO T{ -F34 function key -T} -key_f35 kf35 FP T{ -F35 function key -T} -key_f36 kf36 FQ T{ -F36 function key -T} -key_f37 kf37 FR T{ -F37 function key -T} -key_f38 kf38 FS T{ -F38 function key -T} -key_f39 kf39 FT T{ -F39 function key -T} -key_f4 kf4 k4 T{ -F4 function key -T} -key_f40 kf40 FU T{ -F40 function key -T} -key_f41 kf41 FV T{ -F41 function key -T} -key_f42 kf42 FW T{ -F42 function key -T} -key_f43 kf43 FX T{ -F43 function key -T} -key_f44 kf44 FY T{ -F44 function key -T} -key_f45 kf45 FZ T{ -F45 function key -T} -key_f46 kf46 Fa T{ -F46 function key -T} -key_f47 kf47 Fb T{ -F47 function key -T} -key_f48 kf48 Fc T{ -F48 function key -T} -key_f49 kf49 Fd T{ -F49 function key -T} -key_f5 kf5 k5 T{ -F5 function key -T} -key_f50 kf50 Fe T{ -F50 function key -T} -key_f51 kf51 Ff T{ -F51 function key -T} -key_f52 kf52 Fg T{ -F52 function key -T} -key_f53 kf53 Fh T{ -F53 function key -T} -key_f54 kf54 Fi T{ -F54 function key -T} -key_f55 kf55 Fj T{ -F55 function key -T} -key_f56 kf56 Fk T{ -F56 function key -T} -key_f57 kf57 Fl T{ -F57 function key -T} -key_f58 kf58 Fm T{ -F58 function key -T} -key_f59 kf59 Fn T{ -F59 function key -T} -key_f6 kf6 k6 T{ -F6 function key -T} -key_f60 kf60 Fo T{ -F60 function key -T} -key_f61 kf61 Fp T{ -F61 function key -T} -key_f62 kf62 Fq T{ -F62 function key -T} -key_f63 kf63 Fr T{ -F63 function key -T} -key_f7 kf7 k7 T{ -F7 function key -T} -key_f8 kf8 k8 T{ -F8 function key -T} -key_f9 kf9 k9 T{ -F9 function key -T} -key_find kfnd @0 T{ -find key -T} -key_help khlp %1 T{ -help key -T} -key_home khome kh T{ -home key -T} -key_ic kich1 kI T{ -insert-character key -T} -key_il kil1 kA T{ -insert-line key -T} -key_left kcub1 kl T{ -left-arrow key -T} -key_ll kll kH T{ -lower-left key (home down) -T} -key_mark kmrk %2 T{ -mark key -T} -key_message kmsg %3 T{ -message key -T} -key_move kmov %4 T{ -move key -T} -key_next knxt %5 T{ -next key -T} -key_npage knp kN T{ -next-page key -T} -key_open kopn %6 T{ -open key -T} -key_options kopt %7 T{ -options key -T} -key_ppage kpp kP T{ -previous-page key -T} -key_previous kprv %8 T{ -previous key -T} -key_print kprt %9 T{ -print key -T} -key_redo krdo %0 T{ -redo key -T} -key_reference kref &1 T{ -reference key -T} -key_refresh krfr &2 T{ -refresh key -T} -key_replace krpl &3 T{ -replace key -T} -key_restart krst &4 T{ -restart key -T} -key_resume kres &5 T{ -resume key -T} -key_right kcuf1 kr T{ -right-arrow key -T} -key_save ksav &6 T{ -save key -T} -key_sbeg kBEG &9 T{ -shifted begin key -T} -key_scancel kCAN &0 T{ -shifted cancel key -T} -key_scommand kCMD *1 T{ -shifted command key -T} -key_scopy kCPY *2 T{ -shifted copy key -T} -key_screate kCRT *3 T{ -shifted create key -T} -key_sdc kDC *4 T{ -shifted delete-character key -T} -key_sdl kDL *5 T{ -shifted delete-line key -T} -key_select kslt *6 T{ -select key -T} -key_send kEND *7 T{ -shifted end key -T} -key_seol kEOL *8 T{ -shifted clear-to-end-of-line key -T} -key_sexit kEXT *9 T{ -shifted exit key -T} -key_sf kind kF T{ -scroll-forward key -T} -key_sfind kFND *0 T{ -shifted find key -T} -key_shelp kHLP #1 T{ -shifted help key -T} -key_shome kHOM #2 T{ -shifted home key -T} -key_sic kIC #3 T{ -shifted insert-character key -T} -key_sleft kLFT #4 T{ -shifted left-arrow key -T} -key_smessage kMSG %a T{ -shifted message key -T} -key_smove kMOV %b T{ -shifted move key -T} -key_snext kNXT %c T{ -shifted next key -T} -key_soptions kOPT %d T{ -shifted options key -T} -key_sprevious kPRV %e T{ -shifted previous key -T} -key_sprint kPRT %f T{ -shifted print key -T} -key_sr kri kR T{ -scroll-backward key -T} -key_sredo kRDO %g T{ -shifted redo key -T} -key_sreplace kRPL %h T{ -shifted replace key -T} -key_sright kRIT %i T{ -shifted right-arrow key -T} -key_srsume kRES %j T{ -shifted resume key -T} -key_ssave kSAV !1 T{ -shifted save key -T} -key_ssuspend kSPD !2 T{ -shifted suspend key -T} -key_stab khts kT T{ -set-tab key -T} -key_sundo kUND !3 T{ -shifted undo key -T} -key_suspend kspd &7 T{ -suspend key -T} -key_undo kund &8 T{ -undo key -T} -key_up kcuu1 ku T{ -up-arrow key -T} -keypad_local rmkx ke T{ -leave 'keyboard_transmit' mode -T} -keypad_xmit smkx ks T{ -enter 'keyboard_transmit' mode -T} -lab_f0 lf0 l0 T{ -label on function key f0 if not f0 -T} -lab_f1 lf1 l1 T{ -label on function key f1 if not f1 -T} -lab_f10 lf10 la T{ -label on function key f10 if not f10 -T} -lab_f2 lf2 l2 T{ -label on function key f2 if not f2 -T} -lab_f3 lf3 l3 T{ -label on function key f3 if not f3 -T} -lab_f4 lf4 l4 T{ -label on function key f4 if not f4 -T} -lab_f5 lf5 l5 T{ -label on function key f5 if not f5 -T} -lab_f6 lf6 l6 T{ -label on function key f6 if not f6 -T} -lab_f7 lf7 l7 T{ -label on function key f7 if not f7 -T} -lab_f8 lf8 l8 T{ -label on function key f8 if not f8 -T} -lab_f9 lf9 l9 T{ -label on function key f9 if not f9 -T} -label_format fln Lf T{ -label format -T} -label_off rmln LF T{ -turn off soft labels -T} -label_on smln LO T{ -turn on soft labels -T} -meta_off rmm mo T{ -turn off meta mode -T} -meta_on smm mm T{ -turn on meta mode (8th-bit on) -T} -micro_column_address mhpa ZY T{ -Like column_address in micro mode -T} -micro_down mcud1 ZZ T{ -Like cursor_down in micro mode -T} -micro_left mcub1 Za T{ -Like cursor_left in micro mode -T} -micro_right mcuf1 Zb T{ -Like cursor_right in micro mode -T} -micro_row_address mvpa Zc T{ -Like row_address #1 in micro mode -T} -micro_up mcuu1 Zd T{ -Like cursor_up in micro mode -T} -newline nel nw T{ -newline (behave like cr followed by lf) -T} -order_of_pins porder Ze T{ -Match software bits to print-head pins -T} -orig_colors oc oc T{ -Set all color pairs to the original ones -T} -orig_pair op op T{ -Set default pair to its original value -T} -pad_char pad pc T{ -padding char (instead of null) -T} -parm_dch dch DC T{ -delete #1 characters (P*) -T} -parm_delete_line dl DL T{ -delete #1 lines (P*) -T} -parm_down_cursor cud DO T{ -down #1 lines (P*) -T} -parm_down_micro mcud Zf T{ -Like parm_down_cursor in micro mode -T} -parm_ich ich IC T{ -insert #1 characters (P*) -T} -parm_index indn SF T{ -scroll forward #1 lines (P) -T} -parm_insert_line il AL T{ -insert #1 lines (P*) -T} -parm_left_cursor cub LE T{ -move #1 characters to the left (P) -T} -parm_left_micro mcub Zg T{ -Like parm_left_cursor in micro mode -T} -parm_right_cursor cuf RI T{ -move #1 characters to the right (P*) -T} -parm_right_micro mcuf Zh T{ -Like parm_right_cursor in micro mode -T} -parm_rindex rin SR T{ -scroll back #1 lines (P) -T} -parm_up_cursor cuu UP T{ -up #1 lines (P*) -T} -parm_up_micro mcuu Zi T{ -Like parm_up_cursor in micro mode -T} -pkey_key pfkey pk T{ -program function key #1 to type string #2 -T} -pkey_local pfloc pl T{ -program function key #1 to execute string #2 -T} -pkey_xmit pfx px T{ -program function key #1 to transmit string #2 -T} -plab_norm pln pn T{ -program label #1 to show string #2 -T} -print_screen mc0 ps T{ -print contents of screen -T} -prtr_non mc5p pO T{ -turn on printer for #1 bytes -T} -prtr_off mc4 pf T{ -turn off printer -T} -prtr_on mc5 po T{ -turn on printer -T} -pulse pulse PU T{ -select pulse dialing -T} -quick_dial qdial QD T{ -dial number #1 without checking -T} -remove_clock rmclk RC T{ -remove clock -T} -repeat_char rep rp T{ -repeat char #1 #2 times (P*) -T} -req_for_input rfi RF T{ -send next input char (for ptys) -T} -reset_1string rs1 r1 T{ -reset string -T} -reset_2string rs2 r2 T{ -reset string -T} -reset_3string rs3 r3 T{ -reset string -T} -reset_file rf rf T{ -name of reset file -T} -restore_cursor rc rc T{ -restore cursor to position of last save_cursor -T} -row_address vpa cv T{ -vertical position #1 absolute (P) -T} -save_cursor sc sc T{ -save current cursor position (P) -T} -scroll_forward ind sf T{ -scroll text up (P) -T} -scroll_reverse ri sr T{ -scroll text down (P) -T} -select_char_set scs Zj T{ -Select character set, #1 -T} -set_attributes sgr sa T{ -define video attributes #1-#9 (PG9) -T} -set_background setb Sb T{ -Set background color #1 -T} -set_bottom_margin smgb Zk T{ -Set bottom margin at current line -T} -set_bottom_margin_parm smgbp Zl T{ -Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom -T} -set_clock sclk SC T{ -set clock, #1 hrs #2 mins #3 secs -T} -set_color_pair scp sp T{ -Set current color pair to #1 -T} -set_foreground setf Sf T{ -Set foreground color #1 -T} -set_left_margin smgl ML T{ -set left soft margin at current column. See smgl. (ML is not in BSD termcap). -T} -set_left_margin_parm smglp Zm T{ -Set left (right) margin at column #1 -T} -set_right_margin smgr MR T{ -set right soft margin at current column -T} -set_right_margin_parm smgrp Zn T{ -Set right margin at column #1 -T} -set_tab hts st T{ -set a tab in every row, current columns -T} -set_top_margin smgt Zo T{ -Set top margin at current line -T} -set_top_margin_parm smgtp Zp T{ -Set top (bottom) margin at row #1 -T} -set_window wind wi T{ -current window is lines #1-#2 cols #3-#4 -T} -start_bit_image sbim Zq T{ -Start printing bit image graphics -T} -start_char_set_def scsd Zr T{ -Start character set definition #1, with #2 characters in the set -T} -stop_bit_image rbim Zs T{ -Stop printing bit image graphics -T} -stop_char_set_def rcsd Zt T{ -End definition of character set #1 -T} -subscript_characters subcs Zu T{ -List of subscriptable characters -T} -superscript_characters supcs Zv T{ -List of superscriptable characters -T} -tab ht ta T{ -tab to next 8-space hardware tab stop -T} -these_cause_cr docr Zw T{ -Printing any of these characters causes CR -T} -to_status_line tsl ts T{ -move to status line, column #1 -T} -tone tone TO T{ -select touch tone dialing -T} -underline_char uc uc T{ -underline char and move past it -T} -up_half_line hu hu T{ -half a line up -T} -user0 u0 u0 T{ -User string #0 -T} -user1 u1 u1 T{ -User string #1 -T} -user2 u2 u2 T{ -User string #2 -T} -user3 u3 u3 T{ -User string #3 -T} -user4 u4 u4 T{ -User string #4 -T} -user5 u5 u5 T{ -User string #5 -T} -user6 u6 u6 T{ -User string #6 -T} -user7 u7 u7 T{ -User string #7 -T} -user8 u8 u8 T{ -User string #8 -T} -user9 u9 u9 T{ -User string #9 -T} -wait_tone wait WA T{ -wait for dial-tone -T} -xoff_character xoffc XF T{ -XOFF character -T} -xon_character xonc XN T{ -XON character -T} -zero_motion zerom Zx T{ -No motion for subsequent character -T} -.TE -.ad - -The following string capabilities are present in the SVr4.0 term structure, -but were originally not documented in the man page. - -.na -.TS H -center expand; -c l l c -c l l c -lw25 lw6 lw2 lw18. -\fBVariable Cap- TCap Description\fR -\fBString name Code\fR -alt_scancode_esc scesa S8 T{ -Alternate escape for scancode emulation -T} -bit_image_carriage_return bicr Yv T{ -Move to beginning of same row -T} -bit_image_newline binel Zz T{ -Move to next row of the bit image -T} -bit_image_repeat birep Xy T{ -Repeat bit image cell #1 #2 times -T} -char_set_names csnm Zy T{ -Produce #1'th item from list of character set names -T} -code_set_init csin ci T{ -Init sequence for multiple codesets -T} -color_names colornm Yw T{ -Give name for color #1 -T} -define_bit_image_region defbi Yx T{ -Define rectangualar bit image region -T} -device_type devt dv T{ -Indicate language/codeset support -T} -display_pc_char dispc S1 T{ -Display PC character #1 -T} -end_bit_image_region endbi Yy T{ -End a bit-image region -T} -enter_pc_charset_mode smpch S2 T{ -Enter PC character display mode -T} -enter_scancode_mode smsc S4 T{ -Enter PC scancode mode -T} -exit_pc_charset_mode rmpch S3 T{ -Exit PC character display mode -T} -exit_scancode_mode rmsc S5 T{ -Exit PC scancode mode -T} -get_mouse getm Gm T{ -Curses should get button events, parameter #1 not documented. -T} -key_mouse kmous Km T{ -Mouse event has occurred -T} -mouse_info minfo Mi T{ -Mouse status information -T} -pc_term_options pctrm S6 T{ -PC terminal options -T} -pkey_plab pfxl xl T{ -Program function key #1 to type string #2 and show string #3 -T} -req_mouse_pos reqmp RQ T{ -Request mouse position -T} -scancode_escape scesc S7 T{ -Escape for scancode emulation -T} -set0_des_seq s0ds s0 T{ -Shift to codeset 0 (EUC set 0, ASCII) -T} -set1_des_seq s1ds s1 T{ -Shift to codeset 1 -T} -set2_des_seq s2ds s2 T{ -Shift to codeset 2 -T} -set3_des_seq s3ds s3 T{ -Shift to codeset 3 -T} -set_a_background setab AB T{ -Set background color to #1, using ANSI escape -T} -set_a_foreground setaf AF T{ -Set foreground color to #1, using ANSI escape -T} -set_color_band setcolor Yz T{ -Change to ribbon color #1 -T} -set_lr_margin smglr ML T{ -Set both left and right margins to #1, #2. (ML is not in BSD termcap). -T} -set_page_length slines YZ T{ -Set page length to #1 lines -T} -set_tb_margin smgtb MT T{ -Sets both top and bottom margins to #1, #2 -T} -.TE -.ad - -.in .8i -The XSI Curses standard added these. They are some post-4.1 -versions of System V curses, e.g., Solaris 2.5 and IRIX 6.x. -The \fBncurses\fR termcap names for them are invented; according to the -XSI Curses standard, they have no termcap names. If your compiled terminfo -entries use these, they may not be binary-compatible with System V terminfo -entries after SVr4.1; beware! - -.na -.TS H -center expand; -c l l c -c l l c -lw25 lw6 lw2 lw20. -\fBVariable Cap- TCap Description\fR -\fBString name Code\fR -enter_horizontal_hl_mode ehhlm Xh T{ -Enter horizontal highlight mode -T} -enter_left_hl_mode elhlm Xl T{ -Enter left highlight mode -T} -enter_low_hl_mode elohlm Xo T{ -Enter low highlight mode -T} -enter_right_hl_mode erhlm Xr T{ -Enter right highlight mode -T} -enter_top_hl_mode ethlm Xt T{ -Enter top highlight mode -T} -enter_vertical_hl_mode evhlm Xv T{ -Enter vertical highlight mode -T} -set_a_attributes sgr1 sA T{ -Define second set of video attributes #1-#6 -T} -set_pglen_inch slength sL T{ -YI Set page length to #1 hundredth of an inch -T} -.TE -.ad -.\" $Id: terminfo.tail,v 1.42 2005/06/25 22:46:03 tom Exp $ -.\" Beginning of terminfo.tail file -.\" See "terminfo.head" for copyright. -.ps +1 -.PP -.SS A Sample Entry -.PP -The following entry, describing an ANSI-standard terminal, is representative -of what a \fBterminfo\fR entry for a modern terminal typically looks like. -.PP -.nf -.in -2 -.ta .3i -.ft CW -\s-2ansi|ansi/pc-term compatible with color, - mc5i, - colors#8, ncv#3, pairs#64, - cub=\\E[%p1%dD, cud=\\E[%p1%dB, cuf=\\E[%p1%dC, - cuu=\\E[%p1%dA, dch=\\E[%p1%dP, dl=\\E[%p1%dM, - ech=\\E[%p1%dX, el1=\\E[1K, hpa=\\E[%p1%dG, ht=\\E[I, - ich=\\E[%p1%d@, il=\\E[%p1%dL, indn=\\E[%p1%dS, .indn=\\E[%p1%dT, - kbs=^H, kcbt=\\E[Z, kcub1=\\E[D, kcud1=\\E[B, - kcuf1=\\E[C, kcuu1=\\E[A, kf1=\\E[M, kf10=\\E[V, - kf11=\\E[W, kf12=\\E[X, kf2=\\E[N, kf3=\\E[O, kf4=\\E[P, - kf5=\\E[Q, kf6=\\E[R, kf7=\\E[S, kf8=\\E[T, kf9=\\E[U, - kich1=\\E[L, mc4=\\E[4i, mc5=\\E[5i, nel=\\r\\E[S, - op=\\E[37;40m, rep=%p1%c\\E[%p2%{1}%-%db, - rin=\\E[%p1%dT, s0ds=\\E(B, s1ds=\\E)B, s2ds=\\E*B, - s3ds=\\E+B, setab=\\E[4%p1%dm, setaf=\\E[3%p1%dm, - setb=\\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - setf=\\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - sgr=\\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p8%t;11%;%?%p9%t;12%;m, - sgr0=\\E[0;10m, tbc=\\E[2g, u6=\\E[%d;%dR, u7=\\E[6n, - u8=\\E[?%[;0123456789]c, u9=\\E[c, vpa=\\E[%p1%dd,\s+2 -.in +2 -.fi -.ft R -.PP -Entries may continue onto multiple lines by placing white space at -the beginning of each line except the first. -Comments may be included on lines beginning with ``#''. -Capabilities in -.I terminfo -are of three types: -Boolean capabilities which indicate that the terminal has -some particular feature, numeric capabilities giving the size of the terminal -or the size of particular delays, and string -capabilities, which give a sequence which can be used to perform particular -terminal operations. -.PP -.SS Types of Capabilities -.PP -All capabilities have names. -For instance, the fact that -ANSI-standard terminals have -.I "automatic margins" -(i.e., an automatic return and line-feed -when the end of a line is reached) is indicated by the capability \fBam\fR. -Hence the description of ansi includes \fBam\fR. -Numeric capabilities are followed by the character `#' and then a positive value. -Thus \fBcols\fR, which indicates the number of columns the terminal has, -gives the value `80' for ansi. -Values for numeric capabilities may be specified in decimal, octal or hexadecimal, -using the C programming language conventions (e.g., 255, 0377 and 0xff or 0xFF). -.PP -Finally, string valued capabilities, such as \fBel\fR (clear to end of line -sequence) are given by the two-character code, an `=', and then a string -ending at the next following `,'. -.PP -A number of escape sequences are provided in the string valued capabilities -for easy encoding of characters there. -Both \fB\eE\fR and \fB\ee\fR -map to an \s-1ESCAPE\s0 character, -\fB^x\fR maps to a control-x for any appropriate x, and the sequences -\fB\en \el \er \et \eb \ef \es\fR give -a newline, line-feed, return, tab, backspace, form-feed, and space. -Other escapes include \fB\e^\fR for \fB^\fR, -\fB\e\e\fR for \fB\e\fR, -\fB\e\fR, for comma, -\fB\e:\fR for \fB:\fR, -and \fB\e0\fR for null. -(\fB\e0\fR will produce \e200, which does not terminate a string but behaves -as a null character on most terminals, providing CS7 is specified. -See stty(1).) -Finally, characters may be given as three octal digits after a \fB\e\fR. -.PP -A delay in milliseconds may appear anywhere in a string capability, enclosed in -$<..> brackets, as in \fBel\fP=\eEK$<5>, and padding characters are supplied by -.I tputs -to provide this delay. -The delay must be a number with at most one decimal -place of precision; it may be followed by suffixes `*' or '/' or both. -A `*' -indicates that the padding required is proportional to the number of lines -affected by the operation, and the amount given is the per-affected-unit -padding required. -(In the case of insert character, the factor is still the -number of -.IR lines -affected.) Normally, padding is advisory if the device has the \fBxon\fR -capability; it is used for cost computation but does not trigger delays. -A `/' -suffix indicates that the padding is mandatory and forces a delay of the given -number of milliseconds even on devices for which \fBxon\fR is present to -indicate flow control. -.PP -Sometimes individual capabilities must be commented out. -To do this, put a period before the capability name. -For example, see the second -.B ind -in the example above. -.br -.ne 5 -.PP -.SS Fetching Compiled Descriptions -.PP -If the environment variable TERMINFO is set, it is interpreted as the pathname -of a directory containing the compiled description you are working on. -Only -that directory is searched. -.PP -If TERMINFO is not set, the \fBncurses\fR version of the terminfo reader code -will instead look in the directory \fB$HOME/.terminfo\fR -for a compiled description. -If it fails to find one there, and the environment variable TERMINFO_DIRS is -set, it will interpret the contents of that variable as a list of colon- -separated directories to be searched (an empty entry is interpreted as a -command to search \fI\*d\fR). -If no description is found in any of the -TERMINFO_DIRS directories, the fetch fails. -.PP -If neither TERMINFO nor TERMINFO_DIRS is set, the last place tried will be the -system terminfo directory, \fI\*d\fR. -.PP -(Neither the \fB$HOME/.terminfo\fR lookups nor TERMINFO_DIRS extensions are -supported under stock System V terminfo/curses.) -.PP -.SS Preparing Descriptions -.PP -We now outline how to prepare descriptions of terminals. -The most effective way to prepare a terminal description is by imitating -the description of a similar terminal in -.I terminfo -and to build up a description gradually, using partial descriptions -with -.I vi -or some other screen-oriented program to check that they are correct. -Be aware that a very unusual terminal may expose deficiencies in -the ability of the -.I terminfo -file to describe it -or bugs in the screen-handling code of the test program. -.PP -To get the padding for insert line right (if the terminal manufacturer -did not document it) a severe test is to edit a large file at 9600 baud, -delete 16 or so lines from the middle of the screen, then hit the `u' -key several times quickly. -If the terminal messes up, more padding is usually needed. -A similar test can be used for insert character. -.PP -.SS Basic Capabilities -.PP -The number of columns on each line for the terminal is given by the -\fBcols\fR numeric capability. -If the terminal is a \s-1CRT\s0, then the -number of lines on the screen is given by the \fBlines\fR capability. -If the terminal wraps around to the beginning of the next line when -it reaches the right margin, then it should have the \fBam\fR capability. -If the terminal can clear its screen, leaving the cursor in the home -position, then this is given by the \fBclear\fR string capability. -If the terminal overstrikes -(rather than clearing a position when a character is struck over) -then it should have the \fBos\fR capability. -If the terminal is a printing terminal, with no soft copy unit, -give it both -.B hc -and -.BR os . -.RB ( os -applies to storage scope terminals, such as \s-1TEKTRONIX\s+1 4010 -series, as well as hard copy and APL terminals.) -If there is a code to move the cursor to the left edge of the current -row, give this as -.BR cr . -(Normally this will be carriage return, control M.) -If there is a code to produce an audible signal (bell, beep, etc) -give this as -.BR bel . -.PP -If there is a code to move the cursor one position to the left -(such as backspace) that capability should be given as -.BR cub1 . -Similarly, codes to move to the right, up, and down should be -given as -.BR cuf1 , -.BR cuu1 , -and -.BR cud1 . -These local cursor motions should not alter the text they pass over, -for example, you would not normally use `\fBcuf1\fP=\ ' because the -space would erase the character moved over. -.PP -A very important point here is that the local cursor motions encoded -in -.I terminfo -are undefined at the left and top edges of a \s-1CRT\s0 terminal. -Programs should never attempt to backspace around the left edge, -unless -.B bw -is given, -and never attempt to go up locally off the top. -In order to scroll text up, a program will go to the bottom left corner -of the screen and send the -.B ind -(index) string. -.PP -To scroll text down, a program goes to the top left corner -of the screen and sends the -.B ri -(reverse index) string. -The strings -.B ind -and -.B ri -are undefined when not on their respective corners of the screen. -.PP -Parameterized versions of the scrolling sequences are -.B indn -and -.B rin -which have the same semantics as -.B ind -and -.B ri -except that they take one parameter, and scroll that many lines. -They are also undefined except at the appropriate edge of the screen. -.PP -The \fBam\fR capability tells whether the cursor sticks at the right -edge of the screen when text is output, but this does not necessarily -apply to a -.B cuf1 -from the last column. -The only local motion which is defined from the left edge is if -.B bw -is given, then a -.B cub1 -from the left edge will move to the right edge of the previous row. -If -.B bw -is not given, the effect is undefined. -This is useful for drawing a box around the edge of the screen, for example. -If the terminal has switch selectable automatic margins, -the -.I terminfo -file usually assumes that this is on; i.e., \fBam\fR. -If the terminal has a command which moves to the first column of the next -line, that command can be given as -.B nel -(newline). -It does not matter if the command clears the remainder of the current line, -so if the terminal has no -.B cr -and -.B lf -it may still be possible to craft a working -.B nel -out of one or both of them. -.PP -These capabilities suffice to describe hard-copy and \*(lqglass-tty\*(rq terminals. -Thus the model 33 teletype is described as -.PP -.DT -.nf -.ft CW -.\".in -2 -\s-133\||\|tty33\||\|tty\||\|model 33 teletype, - bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os,\s+1 -.\".in +2 -.ft R -.PP -while the Lear Siegler \s-1ADM-3\s0 is described as -.PP -.DT -.nf -.ft CW -.\".in -2 -\s-1adm3\||\|3\||\|lsi adm3, - am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J, - ind=^J, lines#24,\s+1 -.\".in +2 -.ft R -.fi -.PP -.SS Parameterized Strings -.PP -Cursor addressing and other strings requiring parameters -in the terminal are described by a -parameterized string capability, with -.IR printf (3S) -like escapes \fB%x\fR in it. -For example, to address the cursor, the -.B cup -capability is given, using two parameters: -the row and column to address to. -(Rows and columns are numbered from zero and refer to the -physical screen visible to the user, not to any unseen memory.) -If the terminal has memory relative cursor addressing, -that can be indicated by -.BR mrcup . -.PP -The parameter mechanism uses a stack and special \fB%\fP codes -to manipulate it. -Typically a sequence will push one of the -parameters onto the stack and then print it in some format. -Print (e.g., "%d") is a special case. -Other operations, including "%t" pop their operand from the stack. -It is noted that more complex operations are often necessary, -e.g., in the \fBsgr\fP string. -.PP -The \fB%\fR encodings have the following meanings: -.PP -.TP 5 -\s-1%% -outputs `%' -.TP -%\fI[[\fP:\fI]flags][width[.precision]][\fPdoxXs\fI]\fP -as in \fBprintf\fP, flags are [-+#] and space -.TP -%c -print pop() like %c in \fBprintf\fP -.TP -%s -print pop() like %s in \fBprintf\fP -.TP -%p[1-9] -push \fIi\fP'th parameter -.TP -%P[a-z] -set dynamic variable [a-z] to pop() -.TP -%g[a-z] -get dynamic variable [a-z] and push it -.TP -%P[A-Z] -set static variable [a-z] to pop() -.TP -%g[A-Z] -get static variable [a-z] and push it -.IP -The terms "static" and "dynamic" are misleading. -Historically, these are simply two different sets of variables, -whose values are not reset between calls to \fBtparm\fP. -However, that fact is not documented in other implementations. -Relying on it will adversely impact portability to other implementations. -.TP -%'\fIc\fP' -char constant \fIc\fP -.TP -%{\fInn\fP} -integer constant \fInn\fP -.TP -%l -push strlen(pop) -.TP -%+ %- %* %/ %m -arithmetic (%m is mod): push(pop() op pop()) -.TP -%& %| %^ -bit operations (AND, OR and exclusive-OR): push(pop() op pop()) -.TP -%= %> %< -logical operations: push(pop() op pop()) -.TP -%A, %O -logical AND and OR operations (for conditionals) -.TP -%! %~ -unary operations (logical and bit complement): push(op pop()) -.TP -%i -add 1 to first two parameters (for ANSI terminals) -.TP -%? \fIexpr\fP %t \fIthenpart\fP %e \fIelsepart\fP %; -This forms an if-then-else. -The %e \fIelsepart\fP is optional. -Usually the %? \fIexpr\fP part pushes a value onto the stack, -and %t pops it from the stack, testing if it is nonzero (true). -If it is zero (false), control passes to the %e (else) part. -.IP -It is possible to form else-if's a la Algol 68: -.RS -%? c\d1\u %t b\d1\u %e c\d2\u %t b\d2\u %e c\d3\u %t b\d3\u %e c\d4\u %t b\d4\u %e %; -.RE -.IP -where c\di\u are conditions, b\di\u are bodies. -.IP -Use the \fB-f\fP option of \fBtic\fP or \fBinfocmp\fP to see -the structure of if-the-else's. -Some strings, e.g., \fBsgr\fP can be very complicated when written -on one line. -The \fB-f\fP option splits the string into lines with the parts indented. -.PP -Binary operations are in postfix form with the operands in the usual order. -That is, to get x-5 one would use "%gx%{5}%-". -%P and %g variables are -persistent across escape-string evaluations. -.PP -Consider the HP2645, which, to get to row 3 and column 12, needs -to be sent \eE&a12c03Y padded for 6 milliseconds. -Note that the order -of the rows and columns is inverted here, and that the row and column -are printed as two digits. -Thus its \fBcup\fR capability is \*(lqcup=6\eE&%p2%2dc%p1%2dY\*(rq. -.PP -The Microterm \s-1ACT-IV\s0 needs the current row and column sent -preceded by a \fB^T\fR, with the row and column simply encoded in binary, -\*(lqcup=^T%p1%c%p2%c\*(rq. -Terminals which use \*(lq%c\*(rq need to be able to -backspace the cursor (\fBcub1\fR), -and to move the cursor up one line on the screen (\fBcuu1\fR). -This is necessary because it is not always safe to transmit \fB\en\fR -\fB^D\fR and \fB\er\fR, as the system may change or discard them. -(The library routines dealing with terminfo set tty modes so that -tabs are never expanded, so \et is safe to send. -This turns out to be essential for the Ann Arbor 4080.) -.PP -A final example is the \s-1LSI ADM\s0-3a, which uses row and column -offset by a blank character, thus \*(lqcup=\eE=%p1%' '%+%c%p2%' '%+%c\*(rq. -After sending `\eE=', this pushes the first parameter, pushes the -ASCII value for a space (32), adds them (pushing the sum on the stack -in place of the two previous values) and outputs that value as a character. -Then the same is done for the second parameter. -More complex arithmetic is possible using the stack. -.PP -.SS Cursor Motions -.PP -If the terminal has a fast way to home the cursor -(to very upper left corner of screen) then this can be given as -\fBhome\fR; similarly a fast way of getting to the lower left-hand corner -can be given as \fBll\fR; this may involve going up with \fBcuu1\fR -from the home position, -but a program should never do this itself (unless \fBll\fR does) because it -can make no assumption about the effect of moving up from the home position. -Note that the home position is the same as addressing to (0,0): -to the top left corner of the screen, not of memory. -(Thus, the \eEH sequence on HP terminals cannot be used for -.BR home .) -.PP -If the terminal has row or column absolute cursor addressing, -these can be given as single parameter capabilities -.B hpa -(horizontal position absolute) -and -.B vpa -(vertical position absolute). -Sometimes these are shorter than the more general two parameter -sequence (as with the hp2645) and can be used in preference to -.BR cup . -If there are parameterized local motions (e.g., move -.I n -spaces to the right) these can be given as -.BR cud , -.BR cub , -.BR cuf , -and -.BR cuu -with a single parameter indicating how many spaces to move. -These are primarily useful if the terminal does not have -.BR cup , -such as the \s-1TEKTRONIX\s+1 4025. -.PP -If the terminal needs to be in a special mode when running -a program that uses these capabilities, -the codes to enter and exit this mode can be given as \fBsmcup\fR and \fBrmcup\fR. -This arises, for example, from terminals like the Concept with more than -one page of memory. -If the terminal has only memory relative cursor addressing and not screen -relative cursor addressing, a one screen-sized window must be fixed into -the terminal for cursor addressing to work properly. -This is also used for the \s-1TEKTRONIX\s+1 4025, -where -.B smcup -sets the command character to be the one used by terminfo. -If the \fBsmcup\fP sequence will not restore the screen after an -\fBrmcup\fP sequence is output (to the state prior to outputting -\fBrmcup\fP), specify \fBnrrmc\fP. -.PP -.SS Area Clears -.PP -If the terminal can clear from the current position to the end of the -line, leaving the cursor where it is, this should be given as \fBel\fR. -If the terminal can clear from the beginning of the line to the current -position inclusive, leaving -the cursor where it is, this should be given as \fBel1\fP. -If the terminal can clear from the current position to the end of the -display, then this should be given as \fBed\fR. -\fBEd\fR is only defined from the first column of a line. -(Thus, it can be simulated by a request to delete a large number of lines, -if a true -.B ed -is not available.) -.PP -.SS Insert/delete line and vertical motions -.PP -If the terminal can open a new blank line before the line where the cursor -is, this should be given as \fBil1\fR; this is done only from the first -position of a line. -The cursor must then appear on the newly blank line. -If the terminal can delete the line which the cursor is on, then this -should be given as \fBdl1\fR; this is done only from the first position on -the line to be deleted. -Versions of -.B il1 -and -.B dl1 -which take a single parameter and insert or delete that many lines can -be given as -.B il -and -.BR dl . -.PP -If the terminal has a settable scrolling region (like the vt100) -the command to set this can be described with the -.B csr -capability, which takes two parameters: -the top and bottom lines of the scrolling region. -The cursor position is, alas, undefined after using this command. -.PP -It is possible to get the effect of insert or delete line using -.B csr -on a properly chosen region; the -.B sc -and -.B rc -(save and restore cursor) commands may be useful for ensuring that -your synthesized insert/delete string does not move the cursor. -(Note that the \fBncurses\fR(3X) library does this synthesis -automatically, so you need not compose insert/delete strings for -an entry with \fBcsr\fR). -.PP -Yet another way to construct insert and delete might be to use a combination of -index with the memory-lock feature found on some terminals (like the HP-700/90 -series, which however also has insert/delete). -.PP -Inserting lines at the top or bottom of the screen can also be -done using -.B ri -or -.B ind -on many terminals without a true insert/delete line, -and is often faster even on terminals with those features. -.PP -The boolean \fBnon_dest_scroll_region\fR should be set if each scrolling -window is effectively a view port on a screen-sized canvas. -To test for -this capability, create a scrolling region in the middle of the screen, -write something to the bottom line, move the cursor to the top of the region, -and do \fBri\fR followed by \fBdl1\fR or \fBind\fR. -If the data scrolled -off the bottom of the region by the \fBri\fR re-appears, then scrolling -is non-destructive. -System V and XSI Curses expect that \fBind\fR, \fBri\fR, -\fBindn\fR, and \fBrin\fR will simulate destructive scrolling; their -documentation cautions you not to define \fBcsr\fR unless this is true. -This \fBcurses\fR implementation is more liberal and will do explicit erases -after scrolling if \fBndstr\fR is defined. -.PP -If the terminal has the ability to define a window as part of -memory, which all commands affect, -it should be given as the parameterized string -.BR wind . -The four parameters are the starting and ending lines in memory -and the starting and ending columns in memory, in that order. -.PP -If the terminal can retain display memory above, then the -\fBda\fR capability should be given; if display memory can be retained -below, then \fBdb\fR should be given. -These indicate -that deleting a line or scrolling may bring non-blank lines up from below -or that scrolling back with \fBri\fR may bring down non-blank lines. -.PP -.SS Insert/Delete Character -.PP -There are two basic kinds of intelligent terminals with respect to -insert/delete character which can be described using -.I terminfo. -The most common insert/delete character operations affect only the characters -on the current line and shift characters off the end of the line rigidly. -Other terminals, such as the Concept 100 and the Perkin Elmer Owl, make -a distinction between typed and untyped blanks on the screen, shifting -upon an insert or delete only to an untyped blank on the screen which is -either eliminated, or expanded to two untyped blanks. -You can determine the -kind of terminal you have by clearing the screen and then typing -text separated by cursor motions. -Type \*(lqabc\ \ \ \ def\*(rq using local -cursor motions (not spaces) between the \*(lqabc\*(rq and the \*(lqdef\*(rq. -Then position the cursor before the \*(lqabc\*(rq and put the terminal in insert -mode. -If typing characters causes the rest of the line to shift -rigidly and characters to fall off the end, then your terminal does -not distinguish between blanks and untyped positions. -If the \*(lqabc\*(rq -shifts over to the \*(lqdef\*(rq which then move together around the end of the -current line and onto the next as you insert, you have the second type of -terminal, and should give the capability \fBin\fR, which stands for -\*(lqinsert null\*(rq. -While these are two logically separate attributes (one line versus multi-line -insert mode, and special treatment of untyped spaces) we have seen no -terminals whose insert mode cannot be described with the single attribute. -.PP -Terminfo can describe both terminals which have an insert mode, and terminals -which send a simple sequence to open a blank position on the current line. -Give as \fBsmir\fR the sequence to get into insert mode. -Give as \fBrmir\fR the sequence to leave insert mode. -Now give as \fBich1\fR any sequence needed to be sent just before sending -the character to be inserted. -Most terminals with a true insert mode -will not give \fBich1\fR; terminals which send a sequence to open a screen -position should give it here. -.PP -If your terminal has both, insert mode is usually preferable to \fBich1\fR. -Technically, you should not give both unless the terminal actually requires -both to be used in combination. -Accordingly, some non-curses applications get -confused if both are present; the symptom is doubled characters in an update -using insert. -This requirement is now rare; most \fBich\fR sequences do not -require previous smir, and most smir insert modes do not require \fBich1\fR -before each character. -Therefore, the new \fBcurses\fR actually assumes this -is the case and uses either \fBrmir\fR/\fBsmir\fR or \fBich\fR/\fBich1\fR as -appropriate (but not both). -If you have to write an entry to be used under -new curses for a terminal old enough to need both, include the -\fBrmir\fR/\fBsmir\fR sequences in \fBich1\fR. -.PP -If post insert padding is needed, give this as a number of milliseconds -in \fBip\fR (a string option). -Any other sequence which may need to be -sent after an insert of a single character may also be given in \fBip\fR. -If your terminal needs both to be placed into an `insert mode' and -a special code to precede each inserted character, then both -.BR smir / rmir -and -.B ich1 -can be given, and both will be used. -The -.B ich -capability, with one parameter, -.IR n , -will repeat the effects of -.B ich1 -.I n -times. -.PP -If padding is necessary between characters typed while not -in insert mode, give this as a number of milliseconds padding in \fBrmp\fP. -.PP -It is occasionally necessary to move around while in insert mode -to delete characters on the same line (e.g., if there is a tab after -the insertion position). -If your terminal allows motion while in -insert mode you can give the capability \fBmir\fR to speed up inserting -in this case. -Omitting \fBmir\fR will affect only speed. -Some terminals -(notably Datamedia's) must not have \fBmir\fR because of the way their -insert mode works. -.PP -Finally, you can specify -.B dch1 -to delete a single character, -.B dch -with one parameter, -.IR n , -to delete -.I n characters, -and delete mode by giving \fBsmdc\fR and \fBrmdc\fR -to enter and exit delete mode (any mode the terminal needs to be placed -in for -.B dch1 -to work). -.PP -A command to erase -.I n -characters (equivalent to outputting -.I n -blanks without moving the cursor) -can be given as -.B ech -with one parameter. -.PP -.SS "Highlighting, Underlining, and Visible Bells" -.PP -If your terminal has one or more kinds of display attributes, -these can be represented in a number of different ways. -You should choose one display form as -\f2standout mode\fR, -representing a good, high contrast, easy-on-the-eyes, -format for highlighting error messages and other attention getters. -(If you have a choice, reverse video plus half-bright is good, -or reverse video alone.) -The sequences to enter and exit standout mode -are given as \fBsmso\fR and \fBrmso\fR, respectively. -If the code to change into or out of standout -mode leaves one or even two blank spaces on the screen, -as the TVI 912 and Teleray 1061 do, -then \fBxmc\fR should be given to tell how many spaces are left. -.PP -Codes to begin underlining and end underlining can be given as \fBsmul\fR -and \fBrmul\fR respectively. -If the terminal has a code to underline the current character and move -the cursor one space to the right, -such as the Microterm Mime, -this can be given as \fBuc\fR. -.PP -Other capabilities to enter various highlighting modes include -.B blink -(blinking) -.B bold -(bold or extra bright) -.B dim -(dim or half-bright) -.B invis -(blanking or invisible text) -.B prot -(protected) -.B rev -(reverse video) -.B sgr0 -(turn off -.I all -attribute modes) -.B smacs -(enter alternate character set mode) -and -.B rmacs -(exit alternate character set mode). -Turning on any of these modes singly may or may not turn off other modes. -.PP -If there is a sequence to set arbitrary combinations of modes, -this should be given as -.B sgr -(set attributes), -taking 9 parameters. -Each parameter is either 0 or nonzero, as the corresponding attribute is on or off. -The 9 parameters are, in order: -standout, underline, reverse, blink, dim, bold, blank, protect, alternate -character set. -Not all modes need be supported by -.BR sgr , -only those for which corresponding separate attribute commands exist. -.PP -For example, the DEC vt220 supports most of the modes: -.PP -.TS -center; -l c c -l c c -lw28 lw6 lw2 lw20. -\fBtparm parameter attribute escape sequence\fP - -none none \\E[0m -p1 standout \\E[0;1;7m -p2 underline \\E[0;4m -p3 reverse \\E[0;7m -p4 blink \\E[0;5m -p5 dim not available -p6 bold \\E[0;1m -p7 invis \\E[0;8m -p8 protect not used -p9 altcharset ^O (off) ^N (on) -.TE -.PP -We begin each escape sequence by turning off any existing modes, since -there is no quick way to determine whether they are active. -Standout is set up to be the combination of reverse and bold. -The vt220 terminal has a protect mode, -though it is not commonly used in sgr -because it protects characters on the screen from the host's erasures. -The altcharset mode also is different in that it is either ^O or ^N, -depending on whether it is off or on. -If all modes are turned on, the resulting sequence is \\E[0;1;4;5;7;8m^N. -.PP -Some sequences are common to different modes. -For example, ;7 is output when either p1 or p3 is true, that is, if -either standout or reverse modes are turned on. -.PP -Writing out the above sequences, along with their dependencies yields -.PP -.TS -center; -l c c -l c c -lw28 lw6 lw2 lw20. -\fBsequence when to output terminfo translation\fP - -\\E[0 always \\E[0 -;1 if p1 or p6 %?%p1%p6%|%t;1%; -;4 if p2 %?%p2%|%t;4%; -;5 if p4 %?%p4%|%t;5%; -;7 if p1 or p3 %?%p1%p3%|%t;7%; -;8 if p7 %?%p7%|%t;8%; -m always m -^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%; -.TE -.PP -Putting this all together into the sgr sequence gives: -.PP -.nf - sgr=\\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%; - %?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\\016%e\\017%;, -.fi -.PP -Remember that if you specify sgr, you must also specify sgr0. -Also, some implementations rely on sgr being given if sgr0 is, -Not all terminfo entries necessarily have an sgr string, however. -Many terminfo entries are derived from termcap entries -which have no sgr string. -The only drawback to adding an sgr string is that termcap also -assumes that sgr0 does not exit alternate character set mode. -.PP -Terminals with the ``magic cookie'' glitch -.RB ( xmc ) -deposit special ``cookies'' when they receive mode-setting sequences, -which affect the display algorithm rather than having extra bits for -each character. -Some terminals, such as the HP 2621, automatically leave standout -mode when they move to a new line or the cursor is addressed. -Programs using standout mode should exit standout mode before -moving the cursor or sending a newline, -unless the -.B msgr -capability, asserting that it is safe to move in standout mode, is present. -.PP -If the terminal has -a way of flashing the screen to indicate an error quietly (a bell replacement) -then this can be given as \fBflash\fR; it must not move the cursor. -.PP -If the cursor needs to be made more visible than normal when it is -not on the bottom line (to make, for example, a non-blinking underline into an -easier to find block or blinking underline) -give this sequence as -.BR cvvis . -If there is a way to make the cursor completely invisible, give that as -.BR civis . -The capability -.BR cnorm -should be given which undoes the effects of both of these modes. -.PP -If your terminal correctly generates underlined characters -(with no special codes needed) -even though it does not overstrike, -then you should give the capability \fBul\fR. -If a character overstriking another leaves both characters on the screen, -specify the capability \fBos\fP. -If overstrikes are erasable with a blank, -then this should be indicated by giving \fBeo\fR. -.PP -.SS Keypad and Function Keys -.PP -If the terminal has a keypad that transmits codes when the keys are pressed, -this information can be given. -Note that it is not possible to handle -terminals where the keypad only works in local (this applies, for example, -to the unshifted HP 2621 keys). -If the keypad can be set to transmit or not transmit, -give these codes as \fBsmkx\fR and \fBrmkx\fR. -Otherwise the keypad is assumed to always transmit. -The codes sent by the left arrow, right arrow, up arrow, down arrow, -and home keys can be given as -\fBkcub1, kcuf1, kcuu1, kcud1, \fRand\fB khome\fR respectively. -If there are function keys such as f0, f1, ..., f10, the codes they send -can be given as \fBkf0, kf1, ..., kf10\fR. -If these keys have labels other than the default f0 through f10, the labels -can be given as \fBlf0, lf1, ..., lf10\fR. -The codes transmitted by certain other special keys can be given: -.B kll -(home down), -.B kbs -(backspace), -.B ktbc -(clear all tabs), -.B kctab -(clear the tab stop in this column), -.B kclr -(clear screen or erase key), -.B kdch1 -(delete character), -.B kdl1 -(delete line), -.B krmir -(exit insert mode), -.B kel -(clear to end of line), -.B ked -(clear to end of screen), -.B kich1 -(insert character or enter insert mode), -.B kil1 -(insert line), -.B knp -(next page), -.B kpp -(previous page), -.B kind -(scroll forward/down), -.B kri -(scroll backward/up), -.B khts -(set a tab stop in this column). -In addition, if the keypad has a 3 by 3 array of keys including the four -arrow keys, the other five keys can be given as -.BR ka1 , -.BR ka3 , -.BR kb2 , -.BR kc1 , -and -.BR kc3 . -These keys are useful when the effects of a 3 by 3 directional pad are needed. -.PP -Strings to program function keys can be given as -.BR pfkey , -.BR pfloc , -and -.BR pfx . -A string to program screen labels should be specified as \fBpln\fP. -Each of these strings takes two parameters: the function key number to -program (from 0 to 10) and the string to program it with. -Function key numbers out of this range may program undefined keys in -a terminal dependent manner. -The difference between the capabilities is that -.B pfkey -causes pressing the given key to be the same as the user typing the -given string; -.B pfloc -causes the string to be executed by the terminal in local; and -.B pfx -causes the string to be transmitted to the computer. -.PP -The capabilities \fBnlab\fP, \fBlw\fP and \fBlh\fP -define the number of programmable -screen labels and their width and height. -If there are commands to turn the labels on and off, -give them in \fBsmln\fP and \fBrmln\fP. -\fBsmln\fP is normally output after one or more pln -sequences to make sure that the change becomes visible. -.PP -.SS Tabs and Initialization -.PP -If the terminal has hardware tabs, the command to advance to the next -tab stop can be given as -.B ht -(usually control I). -A ``back-tab'' command which moves leftward to the preceding tab stop can -be given as -.BR cbt . -By convention, if the teletype modes indicate that tabs are being -expanded by the computer rather than being sent to the terminal, -programs should not use -.B ht -or -.B cbt -even if they are present, since the user may not have the tab stops -properly set. -If the terminal has hardware tabs which are initially set every -.I n -spaces when the terminal is powered up, -the numeric parameter -.B it -is given, showing the number of spaces the tabs are set to. -This is normally used by the -.IR tset -command to determine whether to set the mode for hardware tab expansion, -and whether to set the tab stops. -If the terminal has tab stops that can be saved in non-volatile memory, -the terminfo description can assume that they are properly set. -.PP -Other capabilities -include -.BR is1 , -.BR is2 , -and -.BR is3 , -initialization strings for the terminal, -.BR iprog , -the path name of a program to be run to initialize the terminal, -and \fBif\fR, the name of a file containing long initialization strings. -These strings are expected to set the terminal into modes consistent -with the rest of the terminfo description. -They are normally sent to the terminal, by the -.I init -option of the -.IR tput -program, each time the user logs in. -They will be printed in the following order: -run the program -.BR iprog ; -output -.BR is1 ; -.BR is2 ; -set the margins using -.BR mgc , -.BR smgl -and -.BR smgr ; -set tabs using -.B tbc -and -.BR hts ; -print the file -.BR if ; -and finally -output -.BR is3 . -.PP -Most initialization is done with -.BR is2 . -Special terminal modes can be set up without duplicating strings -by putting the common sequences in -.B is2 -and special cases in -.B is1 -and -.BR is3 . -A pair of sequences that does a harder reset from a totally unknown state -can be analogously given as -.BR rs1 , -.BR rs2 , -.BR rf , -and -.BR rs3 , -analogous to -.B is2 -and -.BR if . -These strings are output by the -.IR reset -program, which is used when the terminal gets into a wedged state. -Commands are normally placed in -.BR rs1 , -.BR rs2 -.B rs3 -and -.B rf -only if they produce annoying effects on the screen and are not -necessary when logging in. -For example, the command to set the vt100 into 80-column mode would -normally be part of -.BR is2 , -but it causes an annoying glitch of the screen and is not normally -needed since the terminal is usually already in 80 column mode. -.PP -If there are commands to set and clear tab stops, they can be given as -.B tbc -(clear all tab stops) -and -.B hts -(set a tab stop in the current column of every row). -If a more complex sequence is needed to set the tabs than can be -described by this, the sequence can be placed in -.B is2 -or -.BR if . -.SS Delays and Padding -.PP -Many older and slower terminals do not support either XON/XOFF or DTR -handshaking, including hard copy terminals and some very archaic CRTs -(including, for example, DEC VT100s). -These may require padding characters -after certain cursor motions and screen changes. -.PP -If the terminal uses xon/xoff handshaking for flow control (that is, -it automatically emits ^S back to the host when its input buffers are -close to full), set -.BR xon . -This capability suppresses the emission of padding. -You can also set it -for memory-mapped console devices effectively that do not have a speed limit. -Padding information should still be included so that routines can -make better decisions about relative costs, but actual pad characters will -not be transmitted. -.PP -If \fBpb\fR (padding baud rate) is given, padding is suppressed at baud rates -below the value of \fBpb\fR. -If the entry has no padding baud rate, then -whether padding is emitted or not is completely controlled by \fBxon\fR. -.PP -If the terminal requires other than a null (zero) character as a pad, -then this can be given as \fBpad\fR. -Only the first character of the -.B pad -string is used. -.PP -.SS Status Lines -Some terminals have an extra `status line' which is not normally used by -software (and thus not counted in the terminal's \fBlines\fR capability). -.PP -The simplest case is a status line which is cursor-addressable but not -part of the main scrolling region on the screen; the Heathkit H19 has -a status line of this kind, as would a 24-line VT100 with a 23-line -scrolling region set up on initialization. -This situation is indicated -by the \fBhs\fR capability. -.PP -Some terminals with status lines need special sequences to access the -status line. -These may be expressed as a string with single parameter -\fBtsl\fR which takes the cursor to a given zero-origin column on the -status line. -The capability \fBfsl\fR must return to the main-screen -cursor positions before the last \fBtsl\fR. -You may need to embed the -string values of \fBsc\fR (save cursor) and \fBrc\fR (restore cursor) -in \fBtsl\fR and \fBfsl\fR to accomplish this. -.PP -The status line is normally assumed to be the same width as the width -of the terminal. -If this is untrue, you can specify it with the numeric -capability \fBwsl\fR. -.PP -A command to erase or blank the status line may be specified as \fBdsl\fR. -.PP -The boolean capability \fBeslok\fR specifies that escape sequences, tabs, -etc., work ordinarily in the status line. -.PP -The \fBncurses\fR implementation does not yet use any of these capabilities. -They are documented here in case they ever become important. -.PP -.SS Line Graphics -.PP -Many terminals have alternate character sets useful for forms-drawing. -Terminfo and \fBcurses\fR build in support for the drawing characters -supported by the VT100, with some characters from the AT&T 4410v1 added. -This alternate character set may be specified by the \fBacsc\fR capability. -.PP -.TS H -center expand; -c l l c -c l l c -lw28 lw6 lw2 lw20. -.\".TH -\fBGlyph ACS Ascii VT100\fR -\fBName Name Default Name\fR -UK pound sign ACS_STERLING f } -arrow pointing down ACS_DARROW v . -arrow pointing left ACS_LARROW < , -arrow pointing right ACS_RARROW > + -arrow pointing up ACS_UARROW ^ - -board of squares ACS_BOARD # h -bullet ACS_BULLET o ~ -checker board (stipple) ACS_CKBOARD : a -degree symbol ACS_DEGREE \e f -diamond ACS_DIAMOND + ` -greater-than-or-equal-to ACS_GEQUAL > z -greek pi ACS_PI * { -horizontal line ACS_HLINE - q -lantern symbol ACS_LANTERN # i -large plus or crossover ACS_PLUS + n -less-than-or-equal-to ACS_LEQUAL < y -lower left corner ACS_LLCORNER + m -lower right corner ACS_LRCORNER + j -not-equal ACS_NEQUAL ! | -plus/minus ACS_PLMINUS # g -scan line 1 ACS_S1 ~ o -scan line 3 ACS_S3 - p -scan line 7 ACS_S7 - r -scan line 9 ACS_S9 \&_ s -solid square block ACS_BLOCK # 0 -tee pointing down ACS_TTEE + w -tee pointing left ACS_RTEE + u -tee pointing right ACS_LTEE + t -tee pointing up ACS_BTEE + v -upper left corner ACS_ULCORNER + l -upper right corner ACS_URCORNER + k -vertical line ACS_VLINE | x -.TE -.PP -The best way to define a new device's graphics set is to add a column -to a copy of this table for your terminal, giving the character which -(when emitted between \fBsmacs\fR/\fBrmacs\fR switches) will be rendered -as the corresponding graphic. -Then read off the VT100/your terminal -character pairs right to left in sequence; these become the ACSC string. -.PP -.SS Color Handling -.PP -Most color terminals are either `Tektronix-like' or `HP-like'. -Tektronix-like -terminals have a predefined set of N colors (where N usually 8), and can set -character-cell foreground and background characters independently, mixing them -into N * N color-pairs. -On HP-like terminals, the use must set each color -pair up separately (foreground and background are not independently settable). -Up to M color-pairs may be set up from 2*M different colors. -ANSI-compatible -terminals are Tektronix-like. -.PP -Some basic color capabilities are independent of the color method. -The numeric -capabilities \fBcolors\fR and \fBpairs\fR specify the maximum numbers of colors -and color-pairs that can be displayed simultaneously. -The \fBop\fR (original -pair) string resets foreground and background colors to their default values -for the terminal. -The \fBoc\fR string resets all colors or color-pairs to -their default values for the terminal. -Some terminals (including many PC -terminal emulators) erase screen areas with the current background color rather -than the power-up default background; these should have the boolean capability -\fBbce\fR. -.PP -To change the current foreground or background color on a Tektronix-type -terminal, use \fBsetaf\fR (set ANSI foreground) and \fBsetab\fR (set ANSI -background) or \fBsetf\fR (set foreground) and \fBsetb\fR (set background). -These take one parameter, the color number. -The SVr4 documentation describes -only \fBsetaf\fR/\fBsetab\fR; the XPG4 draft says that "If the terminal -supports ANSI escape sequences to set background and foreground, they should -be coded as \fBsetaf\fR and \fBsetab\fR, respectively. -If the terminal -supports other escape sequences to set background and foreground, they should -be coded as \fBsetf\fR and \fBsetb\fR, respectively. -The \fIvidputs()\fR -function and the refresh functions use \fBsetaf\fR and \fBsetab\fR if they are -defined." -.PP -The \fBsetaf\fR/\fBsetab\fR and \fBsetf\fR/\fBsetb\fR capabilities take a -single numeric argument each. -Argument values 0-7 of \fBsetaf\fR/\fBsetab\fR are portably defined as -follows (the middle column is the symbolic #define available in the header for -the \fBcurses\fR or \fBncurses\fR libraries). -The terminal hardware is free to -map these as it likes, but the RGB values indicate normal locations in color -space. -.PP -.TS H -center; -l c c c -l l n l. -\fBColor #define Value RGB\fR -black \fBCOLOR_BLACK\fR 0 0, 0, 0 -red \fBCOLOR_RED\ \fR 1 max,0,0 -green \fBCOLOR_GREEN\fR 2 0,max,0 -yellow \fBCOLOR_YELLOW\fR 3 max,max,0 -blue \fBCOLOR_BLUE\fR 4 0,0,max -magenta \fBCOLOR_MAGENTA\fR 5 max,0,max -cyan \fBCOLOR_CYAN\fR 6 0,max,max -white \fBCOLOR_WHITE\fR 7 max,max,max -.TE -.PP -The argument values of \fBsetf\fR/\fBsetb\fR historically correspond to -a different mapping, i.e., -.TS H -center; -l c c c -l l n l. -\fBColor #define Value RGB\fR -black \fBCOLOR_BLACK\fR 0 0, 0, 0 -blue \fBCOLOR_BLUE\fR 1 0,0,max -green \fBCOLOR_GREEN\fR 2 0,max,0 -cyan \fBCOLOR_CYAN\fR 3 0,max,max -red \fBCOLOR_RED\ \fR 4 max,0,0 -magenta \fBCOLOR_MAGENTA\fR 5 max,0,max -yellow \fBCOLOR_YELLOW\fR 6 max,max,0 -white \fBCOLOR_WHITE\fR 7 max,max,max -.TE -It is important to not confuse the two sets of color capabilities; -otherwise red/blue will be interchanged on the display. -.PP -On an HP-like terminal, use \fBscp\fR with a color-pair number parameter to set -which color pair is current. -.PP -On a Tektronix-like terminal, the capability \fBccc\fR may be present to -indicate that colors can be modified. -If so, the \fBinitc\fR capability will -take a color number (0 to \fBcolors\fR - 1)and three more parameters which -describe the color. -These three parameters default to being interpreted as RGB -(Red, Green, Blue) values. -If the boolean capability \fBhls\fR is present, -they are instead as HLS (Hue, Lightness, Saturation) indices. -The ranges are -terminal-dependent. -.PP -On an HP-like terminal, \fBinitp\fR may give a capability for changing a -color-pair value. -It will take seven parameters; a color-pair number (0 to -\fBmax_pairs\fR - 1), and two triples describing first background and then -foreground colors. -These parameters must be (Red, Green, Blue) or -(Hue, Lightness, Saturation) depending on \fBhls\fR. -.PP -On some color terminals, colors collide with highlights. -You can register -these collisions with the \fBncv\fR capability. -This is a bit-mask of -attributes not to be used when colors are enabled. -The correspondence with the -attributes understood by \fBcurses\fR is as follows: -.PP -.TS -center; -l c c -lw25 lw2 lw10. -\fBAttribute Bit Decimal\fR -A_STANDOUT 0 1 -A_UNDERLINE 1 2 -A_REVERSE 2 4 -A_BLINK 3 8 -A_DIM 4 16 -A_BOLD 5 32 -A_INVIS 6 64 -A_PROTECT 7 128 -A_ALTCHARSET 8 256 -.TE -.PP -For example, on many IBM PC consoles, the underline attribute collides with the -foreground color blue and is not available in color mode. -These should have -an \fBncv\fR capability of 2. -.PP -SVr4 curses does nothing with \fBncv\fR, ncurses recognizes it and optimizes -the output in favor of colors. -.PP -.SS Miscellaneous -If the terminal requires other than a null (zero) character as a pad, then this -can be given as pad. -Only the first character of the pad string is used. -If the terminal does not have a pad character, specify npc. -Note that ncurses implements the termcap-compatible \fBPC\fR variable; -though the application may set this value to something other than -a null, ncurses will test \fBnpc\fR first and use napms if the terminal -has no pad character. -.PP -If the terminal can move up or down half a line, -this can be indicated with -.B hu -(half-line up) -and -.B hd -(half-line down). -This is primarily useful for superscripts and subscripts on hard-copy terminals. -If a hard-copy terminal can eject to the next page (form feed), give this as -.B ff -(usually control L). -.PP -If there is a command to repeat a given character a given number of -times (to save time transmitting a large number of identical characters) -this can be indicated with the parameterized string -.BR rep . -The first parameter is the character to be repeated and the second -is the number of times to repeat it. -Thus, tparm(repeat_char, 'x', 10) is the same as `xxxxxxxxxx'. -.PP -If the terminal has a settable command character, such as the \s-1TEKTRONIX\s+1 4025, -this can be indicated with -.BR cmdch . -A prototype command character is chosen which is used in all capabilities. -This character is given in the -.B cmdch -capability to identify it. -The following convention is supported on some UNIX systems: -The environment is to be searched for a -.B CC -variable, and if found, all -occurrences of the prototype character are replaced with the character -in the environment variable. -.PP -Terminal descriptions that do not represent a specific kind of known -terminal, such as -.IR switch , -.IR dialup , -.IR patch , -and -.IR network , -should include the -.B gn -(generic) capability so that programs can complain that they do not know -how to talk to the terminal. -(This capability does not apply to -.I virtual -terminal descriptions for which the escape sequences are known.) -.PP -If the terminal has a ``meta key'' which acts as a shift key, -setting the 8th bit of any character transmitted, this fact can -be indicated with -.BR km . -Otherwise, software will assume that the 8th bit is parity and it -will usually be cleared. -If strings exist to turn this ``meta mode'' on and off, they -can be given as -.B smm -and -.BR rmm . -.PP -If the terminal has more lines of memory than will fit on the screen -at once, the number of lines of memory can be indicated with -.BR lm . -A value of -.BR lm #0 -indicates that the number of lines is not fixed, -but that there is still more memory than fits on the screen. -.PP -If the terminal is one of those supported by the \s-1UNIX\s+1 virtual -terminal protocol, the terminal number can be given as -.BR vt . -.PP -Media copy -strings which control an auxiliary printer connected to the terminal -can be given as -.BR mc0 : -print the contents of the screen, -.BR mc4 : -turn off the printer, and -.BR mc5 : -turn on the printer. -When the printer is on, all text sent to the terminal will be sent -to the printer. -It is undefined whether the text is also displayed on the terminal screen -when the printer is on. -A variation -.B mc5p -takes one parameter, and leaves the printer on for as many characters -as the value of the parameter, then turns the printer off. -The parameter should not exceed 255. -All text, including -.BR mc4 , -is transparently passed to the printer while an -.B mc5p -is in effect. -.PP -.SS Glitches and Braindamage -.PP -Hazeltine terminals, which do not allow `~' characters to be displayed should -indicate \fBhz\fR. -.PP -Terminals which ignore a line-feed immediately after an \fBam\fR wrap, -such as the Concept and vt100, -should indicate \fBxenl\fR. -.PP -If -.B el -is required to get rid of standout -(instead of merely writing normal text on top of it), -\fBxhp\fP should be given. -.PP -Teleray terminals, where tabs turn all characters moved over to blanks, -should indicate \fBxt\fR (destructive tabs). -Note: the variable indicating this is now `dest_tabs_magic_smso'; in -older versions, it was teleray_glitch. -This glitch is also taken to mean that it is not possible to position -the cursor on top of a ``magic cookie'', -that to erase standout mode it is instead necessary to use -delete and insert line. -The ncurses implementation ignores this glitch. -.PP -The Beehive Superbee, which is unable to correctly transmit the escape -or control C characters, has -.BR xsb , -indicating that the f1 key is used for escape and f2 for control C. -(Only certain Superbees have this problem, depending on the ROM.) -Note that in older terminfo versions, this capability was called -`beehive_glitch'; it is now `no_esc_ctl_c'. -.PP -Other specific terminal problems may be corrected by adding more -capabilities of the form \fBx\fR\fIx\fR. -.PP -.SS Similar Terminals -.PP -If there are two very similar terminals, one (the variant) can be defined as -being just like the other (the base) with certain exceptions. -In the -definition of the variant, the string capability \fBuse\fR can be given with -the name of the base terminal. -The capabilities given before -.B use -override those in the base type named by -.BR use . -If there are multiple \fBuse\fR capabilities, they are merged in reverse order. -That is, the rightmost \fBuse\fR reference is processed first, then the one to -its left, and so forth. -Capabilities given explicitly in the entry override -those brought in by \fBuse\fR references. -.PP -A capability can be canceled by placing \fBxx@\fR to the left of the -use reference that imports it, where \fIxx\fP is the capability. -For example, the entry -.PP - 2621-nl, smkx@, rmkx@, use=2621, -.PP -defines a 2621-nl that does not have the \fBsmkx\fR or \fBrmkx\fR capabilities, -and hence does not turn on the function key labels when in visual mode. -This is useful for different modes for a terminal, or for different -user preferences. -.PP -.SS Pitfalls of Long Entries -.PP -Long terminfo entries are unlikely to be a problem; to date, no entry has even -approached terminfo's 4096-byte string-table maximum. -Unfortunately, the termcap -translations are much more strictly limited (to 1023 bytes), thus termcap translations -of long terminfo entries can cause problems. -.PP -The man pages for 4.3BSD and older versions of \fBtgetent()\fP instruct the user to -allocate a 1024-byte buffer for the termcap entry. -The entry gets null-terminated by -the termcap library, so that makes the maximum safe length for a termcap entry -1k-1 (1023) bytes. -Depending on what the application and the termcap library -being used does, and where in the termcap file the terminal type that \fBtgetent()\fP -is searching for is, several bad things can happen. -.PP -Some termcap libraries print a warning message or exit if they find an -entry that's longer than 1023 bytes; others do not; others truncate the -entries to 1023 bytes. -Some application programs allocate more than -the recommended 1K for the termcap entry; others do not. -.PP -Each termcap entry has two important sizes associated with it: before -"tc" expansion, and after "tc" expansion. -"tc" is the capability that -tacks on another termcap entry to the end of the current one, to add -on its capabilities. -If a termcap entry does not use the "tc" -capability, then of course the two lengths are the same. -.PP -The "before tc expansion" length is the most important one, because it -affects more than just users of that particular terminal. -This is the -length of the entry as it exists in /etc/termcap, minus the -backslash-newline pairs, which \fBtgetent()\fP strips out while reading it. -Some termcap libraries strip off the final newline, too (GNU termcap does not). -Now suppose: -.TP 5 -* -a termcap entry before expansion is more than 1023 bytes long, -.TP 5 -* -and the application has only allocated a 1k buffer, -.TP 5 -* -and the termcap library (like the one in BSD/OS 1.1 and GNU) reads -the whole entry into the buffer, no matter what its length, to see -if it's the entry it wants, -.TP 5 -* -and \fBtgetent()\fP is searching for a terminal type that either is the -long entry, appears in the termcap file after the long entry, or -does not appear in the file at all (so that \fBtgetent()\fP has to search -the whole termcap file). -.PP -Then \fBtgetent()\fP will overwrite memory, perhaps its stack, and probably core dump -the program. -Programs like telnet are particularly vulnerable; modern telnets -pass along values like the terminal type automatically. -The results are almost -as undesirable with a termcap library, like SunOS 4.1.3 and Ultrix 4.4, that -prints warning messages when it reads an overly long termcap entry. -If a -termcap library truncates long entries, like OSF/1 3.0, it is immune to dying -here but will return incorrect data for the terminal. -.PP -The "after tc expansion" length will have a similar effect to the -above, but only for people who actually set TERM to that terminal -type, since \fBtgetent()\fP only does "tc" expansion once it's found the -terminal type it was looking for, not while searching. -.PP -In summary, a termcap entry that is longer than 1023 bytes can cause, -on various combinations of termcap libraries and applications, a core -dump, warnings, or incorrect operation. -If it's too long even before -"tc" expansion, it will have this effect even for users of some other -terminal types and users whose TERM variable does not have a termcap -entry. -.PP -When in -C (translate to termcap) mode, the \fBncurses\fR implementation of -\fBtic\fR(1) issues warning messages when the pre-tc length of a termcap -translation is too long. -The -c (check) option also checks resolved (after tc -expansion) lengths. -.SS Binary Compatibility -It is not wise to count on portability of binary terminfo entries between -commercial UNIX versions. -The problem is that there are at least two versions -of terminfo (under HP-UX and AIX) which diverged from System V terminfo after -SVr1, and have added extension capabilities to the string table that (in the -binary format) collide with System V and XSI Curses extensions. -.SH EXTENSIONS -Some SVr4 \fBcurses\fR implementations, and all previous to SVr4, do not -interpret the %A and %O operators in parameter strings. -.PP -SVr4/XPG4 do not specify whether \fBmsgr\fR licenses movement while in -an alternate-character-set mode (such modes may, among other things, map -CR and NL to characters that do not trigger local motions). -The \fBncurses\fR implementation ignores \fBmsgr\fR in \fBALTCHARSET\fR -mode. -This raises the possibility that an XPG4 -implementation making the opposite interpretation may need terminfo -entries made for \fBncurses\fR to have \fBmsgr\fR turned off. -.PP -The \fBncurses\fR library handles insert-character and insert-character modes -in a slightly non-standard way to get better update efficiency. -See -the \fBInsert/Delete Character\fR subsection above. -.PP -The parameter substitutions for \fBset_clock\fR and \fBdisplay_clock\fR are -not documented in SVr4 or the XSI Curses standard. -They are deduced from the -documentation for the AT&T 505 terminal. -.PP -Be careful assigning the \fBkmous\fR capability. -The \fBncurses\fR wants to -interpret it as \fBKEY_MOUSE\fR, for use by terminals and emulators like xterm -that can return mouse-tracking information in the keyboard-input stream. -.PP -Different commercial ports of terminfo and curses support different subsets of -the XSI Curses standard and (in some cases) different extension sets. -Here -is a summary, accurate as of October 1995: -.PP -\fBSVR4, Solaris, ncurses\fR -- -These support all SVr4 capabilities. -.PP -\fBSGI\fR -- -Supports the SVr4 set, adds one undocumented extended string -capability (\fBset_pglen\fR). -.PP -\fBSVr1, Ultrix\fR -- -These support a restricted subset of terminfo capabilities. -The booleans -end with \fBxon_xoff\fR; the numerics with \fBwidth_status_line\fR; and the -strings with \fBprtr_non\fR. -.PP -\fBHP/UX\fR -- -Supports the SVr1 subset, plus the SVr[234] numerics \fBnum_labels\fR, -\fBlabel_height\fR, \fBlabel_width\fR, plus function keys 11 through 63, plus -\fBplab_norm\fR, \fBlabel_on\fR, and \fBlabel_off\fR, plus some incompatible -extensions in the string table. -.PP -\fBAIX\fR -- -Supports the SVr1 subset, plus function keys 11 through 63, plus a number -of incompatible string table extensions. -.PP -\fBOSF\fR -- -Supports both the SVr4 set and the AIX extensions. -.SH FILES -.TP 25 -\*d/?/* -files containing terminal descriptions -.SH SEE ALSO -\fBtic\fR(1M), -\fBinfocmp\fR(1M), -\fBcurses\fR(3X), -\fBprintf\fR(3S), -\fBterm\fR(\*n). -.SH AUTHORS -Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. -Based on pcurses by Pavel Curtis. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/terminfo.head b/src/libs/ncurses/man/terminfo.head deleted file mode 100644 index 398170fffd..0000000000 --- a/src/libs/ncurses/man/terminfo.head +++ /dev/null @@ -1,105 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2004 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: terminfo.head,v 1.12 2004/09/25 19:07:11 tom Exp $ -.TH TERMINFO 5 "" "" "File Formats" -.ds n 5 -.ds d @TERMINFO@ -.SH NAME -terminfo \- terminal capability data base -.SH SYNOPSIS -\*d/*/* -.SH DESCRIPTION -.I Terminfo -is a data base describing terminals, used by screen-oriented programs such as -\fBnvi\fR(1), -\fBrogue\fR(1) -and libraries such as -\fBcurses\fR(3X). -.I Terminfo -describes terminals by giving a set of capabilities which they -have, by specifying how to perform screen operations, and by -specifying padding requirements and initialization sequences. -.PP -Entries in -.I terminfo -consist of a sequence of `,' separated fields (embedded commas may be -escaped with a backslash or notated as \e054). -White space after the `,' separator is ignored. -The first entry for each terminal gives the names which are known for the -terminal, separated by `|' characters. -The first name given is the most common abbreviation for the terminal, -the last name given should be a long name fully identifying the terminal, -and all others are understood as synonyms for the terminal name. -All names but the last should be in lower case and contain no blanks; -the last name may well contain upper case and blanks for readability. -.PP -Lines beginning with a `#' in the first column are treated as comments. -While comment lines are legal at any point, the output of \fIcaptoinfo\fP -and \fIinfotocap\fP (aliases for \fItic\fP) -will move comments so they occur only between entries. -.PP -Newlines and leading tabs may be used for formatting entries for readability. -These are removed from parsed entries. -The \fIinfocmp\ -f\fP option relies on this to format if-then-else expressions: -the result can be read by \fItic\fP. -.PP -Terminal names (except for the last, verbose entry) should -be chosen using the following conventions. -The particular piece of hardware making up the terminal should -have a root name, thus ``hp2621''. -This name should not contain hyphens. -Modes that the hardware can be in, or user preferences, should -be indicated by appending a hyphen and a mode suffix. -Thus, a vt100 in 132 column mode would be vt100-w. -The following suffixes should be used where possible: -.PP -.TS -center ; -l c l -l l l. -\fBSuffix Meaning Example\fP --\fInn\fP Number of lines on the screen aaa-60 --\fIn\fPp Number of pages of memory c100-4p --am With automargins (usually the default) vt100-am --m Mono mode; suppress color ansi-m --mc Magic cookie; spaces when highlighting wy30-mc --na No arrow keys (leave them in local) c100-na --nam Without automatic margins vt100-nam --nl No status line att4415-nl --ns No status line hp2626-ns --rv Reverse video c100-rv --s Enable status line vt100-s --vb Use visible bell instead of beep wy370-vb --w Wide mode (> 80 columns, usually 132) vt100-w -.TE -.PP -For more on terminal naming conventions, see the \fBterm(7)\fR manual page. -.SS Capabilities -.\" Head of terminfo man page ends here -.ps -1 diff --git a/src/libs/ncurses/man/terminfo.tail b/src/libs/ncurses/man/terminfo.tail deleted file mode 100644 index 00e0c59279..0000000000 --- a/src/libs/ncurses/man/terminfo.tail +++ /dev/null @@ -1,1666 +0,0 @@ -.\" $Id: terminfo.tail,v 1.42 2005/06/25 22:46:03 tom Exp $ -.\" Beginning of terminfo.tail file -.\" See "terminfo.head" for copyright. -.ps +1 -.PP -.SS A Sample Entry -.PP -The following entry, describing an ANSI-standard terminal, is representative -of what a \fBterminfo\fR entry for a modern terminal typically looks like. -.PP -.nf -.in -2 -.ta .3i -.ft CW -\s-2ansi|ansi/pc-term compatible with color, - mc5i, - colors#8, ncv#3, pairs#64, - cub=\\E[%p1%dD, cud=\\E[%p1%dB, cuf=\\E[%p1%dC, - cuu=\\E[%p1%dA, dch=\\E[%p1%dP, dl=\\E[%p1%dM, - ech=\\E[%p1%dX, el1=\\E[1K, hpa=\\E[%p1%dG, ht=\\E[I, - ich=\\E[%p1%d@, il=\\E[%p1%dL, indn=\\E[%p1%dS, .indn=\\E[%p1%dT, - kbs=^H, kcbt=\\E[Z, kcub1=\\E[D, kcud1=\\E[B, - kcuf1=\\E[C, kcuu1=\\E[A, kf1=\\E[M, kf10=\\E[V, - kf11=\\E[W, kf12=\\E[X, kf2=\\E[N, kf3=\\E[O, kf4=\\E[P, - kf5=\\E[Q, kf6=\\E[R, kf7=\\E[S, kf8=\\E[T, kf9=\\E[U, - kich1=\\E[L, mc4=\\E[4i, mc5=\\E[5i, nel=\\r\\E[S, - op=\\E[37;40m, rep=%p1%c\\E[%p2%{1}%-%db, - rin=\\E[%p1%dT, s0ds=\\E(B, s1ds=\\E)B, s2ds=\\E*B, - s3ds=\\E+B, setab=\\E[4%p1%dm, setaf=\\E[3%p1%dm, - setb=\\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - setf=\\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - sgr=\\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p8%t;11%;%?%p9%t;12%;m, - sgr0=\\E[0;10m, tbc=\\E[2g, u6=\\E[%d;%dR, u7=\\E[6n, - u8=\\E[?%[;0123456789]c, u9=\\E[c, vpa=\\E[%p1%dd,\s+2 -.in +2 -.fi -.ft R -.PP -Entries may continue onto multiple lines by placing white space at -the beginning of each line except the first. -Comments may be included on lines beginning with ``#''. -Capabilities in -.I terminfo -are of three types: -Boolean capabilities which indicate that the terminal has -some particular feature, numeric capabilities giving the size of the terminal -or the size of particular delays, and string -capabilities, which give a sequence which can be used to perform particular -terminal operations. -.PP -.SS Types of Capabilities -.PP -All capabilities have names. -For instance, the fact that -ANSI-standard terminals have -.I "automatic margins" -(i.e., an automatic return and line-feed -when the end of a line is reached) is indicated by the capability \fBam\fR. -Hence the description of ansi includes \fBam\fR. -Numeric capabilities are followed by the character `#' and then a positive value. -Thus \fBcols\fR, which indicates the number of columns the terminal has, -gives the value `80' for ansi. -Values for numeric capabilities may be specified in decimal, octal or hexadecimal, -using the C programming language conventions (e.g., 255, 0377 and 0xff or 0xFF). -.PP -Finally, string valued capabilities, such as \fBel\fR (clear to end of line -sequence) are given by the two-character code, an `=', and then a string -ending at the next following `,'. -.PP -A number of escape sequences are provided in the string valued capabilities -for easy encoding of characters there. -Both \fB\eE\fR and \fB\ee\fR -map to an \s-1ESCAPE\s0 character, -\fB^x\fR maps to a control-x for any appropriate x, and the sequences -\fB\en \el \er \et \eb \ef \es\fR give -a newline, line-feed, return, tab, backspace, form-feed, and space. -Other escapes include \fB\e^\fR for \fB^\fR, -\fB\e\e\fR for \fB\e\fR, -\fB\e\fR, for comma, -\fB\e:\fR for \fB:\fR, -and \fB\e0\fR for null. -(\fB\e0\fR will produce \e200, which does not terminate a string but behaves -as a null character on most terminals, providing CS7 is specified. -See stty(1).) -Finally, characters may be given as three octal digits after a \fB\e\fR. -.PP -A delay in milliseconds may appear anywhere in a string capability, enclosed in -$<..> brackets, as in \fBel\fP=\eEK$<5>, and padding characters are supplied by -.I tputs -to provide this delay. -The delay must be a number with at most one decimal -place of precision; it may be followed by suffixes `*' or '/' or both. -A `*' -indicates that the padding required is proportional to the number of lines -affected by the operation, and the amount given is the per-affected-unit -padding required. -(In the case of insert character, the factor is still the -number of -.IR lines -affected.) Normally, padding is advisory if the device has the \fBxon\fR -capability; it is used for cost computation but does not trigger delays. -A `/' -suffix indicates that the padding is mandatory and forces a delay of the given -number of milliseconds even on devices for which \fBxon\fR is present to -indicate flow control. -.PP -Sometimes individual capabilities must be commented out. -To do this, put a period before the capability name. -For example, see the second -.B ind -in the example above. -.br -.ne 5 -.PP -.SS Fetching Compiled Descriptions -.PP -If the environment variable TERMINFO is set, it is interpreted as the pathname -of a directory containing the compiled description you are working on. -Only -that directory is searched. -.PP -If TERMINFO is not set, the \fBncurses\fR version of the terminfo reader code -will instead look in the directory \fB$HOME/.terminfo\fR -for a compiled description. -If it fails to find one there, and the environment variable TERMINFO_DIRS is -set, it will interpret the contents of that variable as a list of colon- -separated directories to be searched (an empty entry is interpreted as a -command to search \fI\*d\fR). -If no description is found in any of the -TERMINFO_DIRS directories, the fetch fails. -.PP -If neither TERMINFO nor TERMINFO_DIRS is set, the last place tried will be the -system terminfo directory, \fI\*d\fR. -.PP -(Neither the \fB$HOME/.terminfo\fR lookups nor TERMINFO_DIRS extensions are -supported under stock System V terminfo/curses.) -.PP -.SS Preparing Descriptions -.PP -We now outline how to prepare descriptions of terminals. -The most effective way to prepare a terminal description is by imitating -the description of a similar terminal in -.I terminfo -and to build up a description gradually, using partial descriptions -with -.I vi -or some other screen-oriented program to check that they are correct. -Be aware that a very unusual terminal may expose deficiencies in -the ability of the -.I terminfo -file to describe it -or bugs in the screen-handling code of the test program. -.PP -To get the padding for insert line right (if the terminal manufacturer -did not document it) a severe test is to edit a large file at 9600 baud, -delete 16 or so lines from the middle of the screen, then hit the `u' -key several times quickly. -If the terminal messes up, more padding is usually needed. -A similar test can be used for insert character. -.PP -.SS Basic Capabilities -.PP -The number of columns on each line for the terminal is given by the -\fBcols\fR numeric capability. -If the terminal is a \s-1CRT\s0, then the -number of lines on the screen is given by the \fBlines\fR capability. -If the terminal wraps around to the beginning of the next line when -it reaches the right margin, then it should have the \fBam\fR capability. -If the terminal can clear its screen, leaving the cursor in the home -position, then this is given by the \fBclear\fR string capability. -If the terminal overstrikes -(rather than clearing a position when a character is struck over) -then it should have the \fBos\fR capability. -If the terminal is a printing terminal, with no soft copy unit, -give it both -.B hc -and -.BR os . -.RB ( os -applies to storage scope terminals, such as \s-1TEKTRONIX\s+1 4010 -series, as well as hard copy and APL terminals.) -If there is a code to move the cursor to the left edge of the current -row, give this as -.BR cr . -(Normally this will be carriage return, control M.) -If there is a code to produce an audible signal (bell, beep, etc) -give this as -.BR bel . -.PP -If there is a code to move the cursor one position to the left -(such as backspace) that capability should be given as -.BR cub1 . -Similarly, codes to move to the right, up, and down should be -given as -.BR cuf1 , -.BR cuu1 , -and -.BR cud1 . -These local cursor motions should not alter the text they pass over, -for example, you would not normally use `\fBcuf1\fP=\ ' because the -space would erase the character moved over. -.PP -A very important point here is that the local cursor motions encoded -in -.I terminfo -are undefined at the left and top edges of a \s-1CRT\s0 terminal. -Programs should never attempt to backspace around the left edge, -unless -.B bw -is given, -and never attempt to go up locally off the top. -In order to scroll text up, a program will go to the bottom left corner -of the screen and send the -.B ind -(index) string. -.PP -To scroll text down, a program goes to the top left corner -of the screen and sends the -.B ri -(reverse index) string. -The strings -.B ind -and -.B ri -are undefined when not on their respective corners of the screen. -.PP -Parameterized versions of the scrolling sequences are -.B indn -and -.B rin -which have the same semantics as -.B ind -and -.B ri -except that they take one parameter, and scroll that many lines. -They are also undefined except at the appropriate edge of the screen. -.PP -The \fBam\fR capability tells whether the cursor sticks at the right -edge of the screen when text is output, but this does not necessarily -apply to a -.B cuf1 -from the last column. -The only local motion which is defined from the left edge is if -.B bw -is given, then a -.B cub1 -from the left edge will move to the right edge of the previous row. -If -.B bw -is not given, the effect is undefined. -This is useful for drawing a box around the edge of the screen, for example. -If the terminal has switch selectable automatic margins, -the -.I terminfo -file usually assumes that this is on; i.e., \fBam\fR. -If the terminal has a command which moves to the first column of the next -line, that command can be given as -.B nel -(newline). -It does not matter if the command clears the remainder of the current line, -so if the terminal has no -.B cr -and -.B lf -it may still be possible to craft a working -.B nel -out of one or both of them. -.PP -These capabilities suffice to describe hard-copy and \*(lqglass-tty\*(rq terminals. -Thus the model 33 teletype is described as -.PP -.DT -.nf -.ft CW -.\".in -2 -\s-133\||\|tty33\||\|tty\||\|model 33 teletype, - bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os,\s+1 -.\".in +2 -.ft R -.PP -while the Lear Siegler \s-1ADM-3\s0 is described as -.PP -.DT -.nf -.ft CW -.\".in -2 -\s-1adm3\||\|3\||\|lsi adm3, - am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J, - ind=^J, lines#24,\s+1 -.\".in +2 -.ft R -.fi -.PP -.SS Parameterized Strings -.PP -Cursor addressing and other strings requiring parameters -in the terminal are described by a -parameterized string capability, with -.IR printf (3S) -like escapes \fB%x\fR in it. -For example, to address the cursor, the -.B cup -capability is given, using two parameters: -the row and column to address to. -(Rows and columns are numbered from zero and refer to the -physical screen visible to the user, not to any unseen memory.) -If the terminal has memory relative cursor addressing, -that can be indicated by -.BR mrcup . -.PP -The parameter mechanism uses a stack and special \fB%\fP codes -to manipulate it. -Typically a sequence will push one of the -parameters onto the stack and then print it in some format. -Print (e.g., "%d") is a special case. -Other operations, including "%t" pop their operand from the stack. -It is noted that more complex operations are often necessary, -e.g., in the \fBsgr\fP string. -.PP -The \fB%\fR encodings have the following meanings: -.PP -.TP 5 -\s-1%% -outputs `%' -.TP -%\fI[[\fP:\fI]flags][width[.precision]][\fPdoxXs\fI]\fP -as in \fBprintf\fP, flags are [-+#] and space -.TP -%c -print pop() like %c in \fBprintf\fP -.TP -%s -print pop() like %s in \fBprintf\fP -.TP -%p[1-9] -push \fIi\fP'th parameter -.TP -%P[a-z] -set dynamic variable [a-z] to pop() -.TP -%g[a-z] -get dynamic variable [a-z] and push it -.TP -%P[A-Z] -set static variable [a-z] to pop() -.TP -%g[A-Z] -get static variable [a-z] and push it -.IP -The terms "static" and "dynamic" are misleading. -Historically, these are simply two different sets of variables, -whose values are not reset between calls to \fBtparm\fP. -However, that fact is not documented in other implementations. -Relying on it will adversely impact portability to other implementations. -.TP -%'\fIc\fP' -char constant \fIc\fP -.TP -%{\fInn\fP} -integer constant \fInn\fP -.TP -%l -push strlen(pop) -.TP -%+ %- %* %/ %m -arithmetic (%m is mod): push(pop() op pop()) -.TP -%& %| %^ -bit operations (AND, OR and exclusive-OR): push(pop() op pop()) -.TP -%= %> %< -logical operations: push(pop() op pop()) -.TP -%A, %O -logical AND and OR operations (for conditionals) -.TP -%! %~ -unary operations (logical and bit complement): push(op pop()) -.TP -%i -add 1 to first two parameters (for ANSI terminals) -.TP -%? \fIexpr\fP %t \fIthenpart\fP %e \fIelsepart\fP %; -This forms an if-then-else. -The %e \fIelsepart\fP is optional. -Usually the %? \fIexpr\fP part pushes a value onto the stack, -and %t pops it from the stack, testing if it is nonzero (true). -If it is zero (false), control passes to the %e (else) part. -.IP -It is possible to form else-if's a la Algol 68: -.RS -%? c\d1\u %t b\d1\u %e c\d2\u %t b\d2\u %e c\d3\u %t b\d3\u %e c\d4\u %t b\d4\u %e %; -.RE -.IP -where c\di\u are conditions, b\di\u are bodies. -.IP -Use the \fB-f\fP option of \fBtic\fP or \fBinfocmp\fP to see -the structure of if-the-else's. -Some strings, e.g., \fBsgr\fP can be very complicated when written -on one line. -The \fB-f\fP option splits the string into lines with the parts indented. -.PP -Binary operations are in postfix form with the operands in the usual order. -That is, to get x-5 one would use "%gx%{5}%-". -%P and %g variables are -persistent across escape-string evaluations. -.PP -Consider the HP2645, which, to get to row 3 and column 12, needs -to be sent \eE&a12c03Y padded for 6 milliseconds. -Note that the order -of the rows and columns is inverted here, and that the row and column -are printed as two digits. -Thus its \fBcup\fR capability is \*(lqcup=6\eE&%p2%2dc%p1%2dY\*(rq. -.PP -The Microterm \s-1ACT-IV\s0 needs the current row and column sent -preceded by a \fB^T\fR, with the row and column simply encoded in binary, -\*(lqcup=^T%p1%c%p2%c\*(rq. -Terminals which use \*(lq%c\*(rq need to be able to -backspace the cursor (\fBcub1\fR), -and to move the cursor up one line on the screen (\fBcuu1\fR). -This is necessary because it is not always safe to transmit \fB\en\fR -\fB^D\fR and \fB\er\fR, as the system may change or discard them. -(The library routines dealing with terminfo set tty modes so that -tabs are never expanded, so \et is safe to send. -This turns out to be essential for the Ann Arbor 4080.) -.PP -A final example is the \s-1LSI ADM\s0-3a, which uses row and column -offset by a blank character, thus \*(lqcup=\eE=%p1%' '%+%c%p2%' '%+%c\*(rq. -After sending `\eE=', this pushes the first parameter, pushes the -ASCII value for a space (32), adds them (pushing the sum on the stack -in place of the two previous values) and outputs that value as a character. -Then the same is done for the second parameter. -More complex arithmetic is possible using the stack. -.PP -.SS Cursor Motions -.PP -If the terminal has a fast way to home the cursor -(to very upper left corner of screen) then this can be given as -\fBhome\fR; similarly a fast way of getting to the lower left-hand corner -can be given as \fBll\fR; this may involve going up with \fBcuu1\fR -from the home position, -but a program should never do this itself (unless \fBll\fR does) because it -can make no assumption about the effect of moving up from the home position. -Note that the home position is the same as addressing to (0,0): -to the top left corner of the screen, not of memory. -(Thus, the \eEH sequence on HP terminals cannot be used for -.BR home .) -.PP -If the terminal has row or column absolute cursor addressing, -these can be given as single parameter capabilities -.B hpa -(horizontal position absolute) -and -.B vpa -(vertical position absolute). -Sometimes these are shorter than the more general two parameter -sequence (as with the hp2645) and can be used in preference to -.BR cup . -If there are parameterized local motions (e.g., move -.I n -spaces to the right) these can be given as -.BR cud , -.BR cub , -.BR cuf , -and -.BR cuu -with a single parameter indicating how many spaces to move. -These are primarily useful if the terminal does not have -.BR cup , -such as the \s-1TEKTRONIX\s+1 4025. -.PP -If the terminal needs to be in a special mode when running -a program that uses these capabilities, -the codes to enter and exit this mode can be given as \fBsmcup\fR and \fBrmcup\fR. -This arises, for example, from terminals like the Concept with more than -one page of memory. -If the terminal has only memory relative cursor addressing and not screen -relative cursor addressing, a one screen-sized window must be fixed into -the terminal for cursor addressing to work properly. -This is also used for the \s-1TEKTRONIX\s+1 4025, -where -.B smcup -sets the command character to be the one used by terminfo. -If the \fBsmcup\fP sequence will not restore the screen after an -\fBrmcup\fP sequence is output (to the state prior to outputting -\fBrmcup\fP), specify \fBnrrmc\fP. -.PP -.SS Area Clears -.PP -If the terminal can clear from the current position to the end of the -line, leaving the cursor where it is, this should be given as \fBel\fR. -If the terminal can clear from the beginning of the line to the current -position inclusive, leaving -the cursor where it is, this should be given as \fBel1\fP. -If the terminal can clear from the current position to the end of the -display, then this should be given as \fBed\fR. -\fBEd\fR is only defined from the first column of a line. -(Thus, it can be simulated by a request to delete a large number of lines, -if a true -.B ed -is not available.) -.PP -.SS Insert/delete line and vertical motions -.PP -If the terminal can open a new blank line before the line where the cursor -is, this should be given as \fBil1\fR; this is done only from the first -position of a line. -The cursor must then appear on the newly blank line. -If the terminal can delete the line which the cursor is on, then this -should be given as \fBdl1\fR; this is done only from the first position on -the line to be deleted. -Versions of -.B il1 -and -.B dl1 -which take a single parameter and insert or delete that many lines can -be given as -.B il -and -.BR dl . -.PP -If the terminal has a settable scrolling region (like the vt100) -the command to set this can be described with the -.B csr -capability, which takes two parameters: -the top and bottom lines of the scrolling region. -The cursor position is, alas, undefined after using this command. -.PP -It is possible to get the effect of insert or delete line using -.B csr -on a properly chosen region; the -.B sc -and -.B rc -(save and restore cursor) commands may be useful for ensuring that -your synthesized insert/delete string does not move the cursor. -(Note that the \fBncurses\fR(3X) library does this synthesis -automatically, so you need not compose insert/delete strings for -an entry with \fBcsr\fR). -.PP -Yet another way to construct insert and delete might be to use a combination of -index with the memory-lock feature found on some terminals (like the HP-700/90 -series, which however also has insert/delete). -.PP -Inserting lines at the top or bottom of the screen can also be -done using -.B ri -or -.B ind -on many terminals without a true insert/delete line, -and is often faster even on terminals with those features. -.PP -The boolean \fBnon_dest_scroll_region\fR should be set if each scrolling -window is effectively a view port on a screen-sized canvas. -To test for -this capability, create a scrolling region in the middle of the screen, -write something to the bottom line, move the cursor to the top of the region, -and do \fBri\fR followed by \fBdl1\fR or \fBind\fR. -If the data scrolled -off the bottom of the region by the \fBri\fR re-appears, then scrolling -is non-destructive. -System V and XSI Curses expect that \fBind\fR, \fBri\fR, -\fBindn\fR, and \fBrin\fR will simulate destructive scrolling; their -documentation cautions you not to define \fBcsr\fR unless this is true. -This \fBcurses\fR implementation is more liberal and will do explicit erases -after scrolling if \fBndstr\fR is defined. -.PP -If the terminal has the ability to define a window as part of -memory, which all commands affect, -it should be given as the parameterized string -.BR wind . -The four parameters are the starting and ending lines in memory -and the starting and ending columns in memory, in that order. -.PP -If the terminal can retain display memory above, then the -\fBda\fR capability should be given; if display memory can be retained -below, then \fBdb\fR should be given. -These indicate -that deleting a line or scrolling may bring non-blank lines up from below -or that scrolling back with \fBri\fR may bring down non-blank lines. -.PP -.SS Insert/Delete Character -.PP -There are two basic kinds of intelligent terminals with respect to -insert/delete character which can be described using -.I terminfo. -The most common insert/delete character operations affect only the characters -on the current line and shift characters off the end of the line rigidly. -Other terminals, such as the Concept 100 and the Perkin Elmer Owl, make -a distinction between typed and untyped blanks on the screen, shifting -upon an insert or delete only to an untyped blank on the screen which is -either eliminated, or expanded to two untyped blanks. -You can determine the -kind of terminal you have by clearing the screen and then typing -text separated by cursor motions. -Type \*(lqabc\ \ \ \ def\*(rq using local -cursor motions (not spaces) between the \*(lqabc\*(rq and the \*(lqdef\*(rq. -Then position the cursor before the \*(lqabc\*(rq and put the terminal in insert -mode. -If typing characters causes the rest of the line to shift -rigidly and characters to fall off the end, then your terminal does -not distinguish between blanks and untyped positions. -If the \*(lqabc\*(rq -shifts over to the \*(lqdef\*(rq which then move together around the end of the -current line and onto the next as you insert, you have the second type of -terminal, and should give the capability \fBin\fR, which stands for -\*(lqinsert null\*(rq. -While these are two logically separate attributes (one line versus multi-line -insert mode, and special treatment of untyped spaces) we have seen no -terminals whose insert mode cannot be described with the single attribute. -.PP -Terminfo can describe both terminals which have an insert mode, and terminals -which send a simple sequence to open a blank position on the current line. -Give as \fBsmir\fR the sequence to get into insert mode. -Give as \fBrmir\fR the sequence to leave insert mode. -Now give as \fBich1\fR any sequence needed to be sent just before sending -the character to be inserted. -Most terminals with a true insert mode -will not give \fBich1\fR; terminals which send a sequence to open a screen -position should give it here. -.PP -If your terminal has both, insert mode is usually preferable to \fBich1\fR. -Technically, you should not give both unless the terminal actually requires -both to be used in combination. -Accordingly, some non-curses applications get -confused if both are present; the symptom is doubled characters in an update -using insert. -This requirement is now rare; most \fBich\fR sequences do not -require previous smir, and most smir insert modes do not require \fBich1\fR -before each character. -Therefore, the new \fBcurses\fR actually assumes this -is the case and uses either \fBrmir\fR/\fBsmir\fR or \fBich\fR/\fBich1\fR as -appropriate (but not both). -If you have to write an entry to be used under -new curses for a terminal old enough to need both, include the -\fBrmir\fR/\fBsmir\fR sequences in \fBich1\fR. -.PP -If post insert padding is needed, give this as a number of milliseconds -in \fBip\fR (a string option). -Any other sequence which may need to be -sent after an insert of a single character may also be given in \fBip\fR. -If your terminal needs both to be placed into an `insert mode' and -a special code to precede each inserted character, then both -.BR smir / rmir -and -.B ich1 -can be given, and both will be used. -The -.B ich -capability, with one parameter, -.IR n , -will repeat the effects of -.B ich1 -.I n -times. -.PP -If padding is necessary between characters typed while not -in insert mode, give this as a number of milliseconds padding in \fBrmp\fP. -.PP -It is occasionally necessary to move around while in insert mode -to delete characters on the same line (e.g., if there is a tab after -the insertion position). -If your terminal allows motion while in -insert mode you can give the capability \fBmir\fR to speed up inserting -in this case. -Omitting \fBmir\fR will affect only speed. -Some terminals -(notably Datamedia's) must not have \fBmir\fR because of the way their -insert mode works. -.PP -Finally, you can specify -.B dch1 -to delete a single character, -.B dch -with one parameter, -.IR n , -to delete -.I n characters, -and delete mode by giving \fBsmdc\fR and \fBrmdc\fR -to enter and exit delete mode (any mode the terminal needs to be placed -in for -.B dch1 -to work). -.PP -A command to erase -.I n -characters (equivalent to outputting -.I n -blanks without moving the cursor) -can be given as -.B ech -with one parameter. -.PP -.SS "Highlighting, Underlining, and Visible Bells" -.PP -If your terminal has one or more kinds of display attributes, -these can be represented in a number of different ways. -You should choose one display form as -\f2standout mode\fR, -representing a good, high contrast, easy-on-the-eyes, -format for highlighting error messages and other attention getters. -(If you have a choice, reverse video plus half-bright is good, -or reverse video alone.) -The sequences to enter and exit standout mode -are given as \fBsmso\fR and \fBrmso\fR, respectively. -If the code to change into or out of standout -mode leaves one or even two blank spaces on the screen, -as the TVI 912 and Teleray 1061 do, -then \fBxmc\fR should be given to tell how many spaces are left. -.PP -Codes to begin underlining and end underlining can be given as \fBsmul\fR -and \fBrmul\fR respectively. -If the terminal has a code to underline the current character and move -the cursor one space to the right, -such as the Microterm Mime, -this can be given as \fBuc\fR. -.PP -Other capabilities to enter various highlighting modes include -.B blink -(blinking) -.B bold -(bold or extra bright) -.B dim -(dim or half-bright) -.B invis -(blanking or invisible text) -.B prot -(protected) -.B rev -(reverse video) -.B sgr0 -(turn off -.I all -attribute modes) -.B smacs -(enter alternate character set mode) -and -.B rmacs -(exit alternate character set mode). -Turning on any of these modes singly may or may not turn off other modes. -.PP -If there is a sequence to set arbitrary combinations of modes, -this should be given as -.B sgr -(set attributes), -taking 9 parameters. -Each parameter is either 0 or nonzero, as the corresponding attribute is on or off. -The 9 parameters are, in order: -standout, underline, reverse, blink, dim, bold, blank, protect, alternate -character set. -Not all modes need be supported by -.BR sgr , -only those for which corresponding separate attribute commands exist. -.PP -For example, the DEC vt220 supports most of the modes: -.PP -.TS -center; -l c c -l c c -lw28 lw6 lw2 lw20. -\fBtparm parameter attribute escape sequence\fP - -none none \\E[0m -p1 standout \\E[0;1;7m -p2 underline \\E[0;4m -p3 reverse \\E[0;7m -p4 blink \\E[0;5m -p5 dim not available -p6 bold \\E[0;1m -p7 invis \\E[0;8m -p8 protect not used -p9 altcharset ^O (off) ^N (on) -.TE -.PP -We begin each escape sequence by turning off any existing modes, since -there is no quick way to determine whether they are active. -Standout is set up to be the combination of reverse and bold. -The vt220 terminal has a protect mode, -though it is not commonly used in sgr -because it protects characters on the screen from the host's erasures. -The altcharset mode also is different in that it is either ^O or ^N, -depending on whether it is off or on. -If all modes are turned on, the resulting sequence is \\E[0;1;4;5;7;8m^N. -.PP -Some sequences are common to different modes. -For example, ;7 is output when either p1 or p3 is true, that is, if -either standout or reverse modes are turned on. -.PP -Writing out the above sequences, along with their dependencies yields -.PP -.TS -center; -l c c -l c c -lw28 lw6 lw2 lw20. -\fBsequence when to output terminfo translation\fP - -\\E[0 always \\E[0 -;1 if p1 or p6 %?%p1%p6%|%t;1%; -;4 if p2 %?%p2%|%t;4%; -;5 if p4 %?%p4%|%t;5%; -;7 if p1 or p3 %?%p1%p3%|%t;7%; -;8 if p7 %?%p7%|%t;8%; -m always m -^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%; -.TE -.PP -Putting this all together into the sgr sequence gives: -.PP -.nf - sgr=\\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%; - %?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\\016%e\\017%;, -.fi -.PP -Remember that if you specify sgr, you must also specify sgr0. -Also, some implementations rely on sgr being given if sgr0 is, -Not all terminfo entries necessarily have an sgr string, however. -Many terminfo entries are derived from termcap entries -which have no sgr string. -The only drawback to adding an sgr string is that termcap also -assumes that sgr0 does not exit alternate character set mode. -.PP -Terminals with the ``magic cookie'' glitch -.RB ( xmc ) -deposit special ``cookies'' when they receive mode-setting sequences, -which affect the display algorithm rather than having extra bits for -each character. -Some terminals, such as the HP 2621, automatically leave standout -mode when they move to a new line or the cursor is addressed. -Programs using standout mode should exit standout mode before -moving the cursor or sending a newline, -unless the -.B msgr -capability, asserting that it is safe to move in standout mode, is present. -.PP -If the terminal has -a way of flashing the screen to indicate an error quietly (a bell replacement) -then this can be given as \fBflash\fR; it must not move the cursor. -.PP -If the cursor needs to be made more visible than normal when it is -not on the bottom line (to make, for example, a non-blinking underline into an -easier to find block or blinking underline) -give this sequence as -.BR cvvis . -If there is a way to make the cursor completely invisible, give that as -.BR civis . -The capability -.BR cnorm -should be given which undoes the effects of both of these modes. -.PP -If your terminal correctly generates underlined characters -(with no special codes needed) -even though it does not overstrike, -then you should give the capability \fBul\fR. -If a character overstriking another leaves both characters on the screen, -specify the capability \fBos\fP. -If overstrikes are erasable with a blank, -then this should be indicated by giving \fBeo\fR. -.PP -.SS Keypad and Function Keys -.PP -If the terminal has a keypad that transmits codes when the keys are pressed, -this information can be given. -Note that it is not possible to handle -terminals where the keypad only works in local (this applies, for example, -to the unshifted HP 2621 keys). -If the keypad can be set to transmit or not transmit, -give these codes as \fBsmkx\fR and \fBrmkx\fR. -Otherwise the keypad is assumed to always transmit. -The codes sent by the left arrow, right arrow, up arrow, down arrow, -and home keys can be given as -\fBkcub1, kcuf1, kcuu1, kcud1, \fRand\fB khome\fR respectively. -If there are function keys such as f0, f1, ..., f10, the codes they send -can be given as \fBkf0, kf1, ..., kf10\fR. -If these keys have labels other than the default f0 through f10, the labels -can be given as \fBlf0, lf1, ..., lf10\fR. -The codes transmitted by certain other special keys can be given: -.B kll -(home down), -.B kbs -(backspace), -.B ktbc -(clear all tabs), -.B kctab -(clear the tab stop in this column), -.B kclr -(clear screen or erase key), -.B kdch1 -(delete character), -.B kdl1 -(delete line), -.B krmir -(exit insert mode), -.B kel -(clear to end of line), -.B ked -(clear to end of screen), -.B kich1 -(insert character or enter insert mode), -.B kil1 -(insert line), -.B knp -(next page), -.B kpp -(previous page), -.B kind -(scroll forward/down), -.B kri -(scroll backward/up), -.B khts -(set a tab stop in this column). -In addition, if the keypad has a 3 by 3 array of keys including the four -arrow keys, the other five keys can be given as -.BR ka1 , -.BR ka3 , -.BR kb2 , -.BR kc1 , -and -.BR kc3 . -These keys are useful when the effects of a 3 by 3 directional pad are needed. -.PP -Strings to program function keys can be given as -.BR pfkey , -.BR pfloc , -and -.BR pfx . -A string to program screen labels should be specified as \fBpln\fP. -Each of these strings takes two parameters: the function key number to -program (from 0 to 10) and the string to program it with. -Function key numbers out of this range may program undefined keys in -a terminal dependent manner. -The difference between the capabilities is that -.B pfkey -causes pressing the given key to be the same as the user typing the -given string; -.B pfloc -causes the string to be executed by the terminal in local; and -.B pfx -causes the string to be transmitted to the computer. -.PP -The capabilities \fBnlab\fP, \fBlw\fP and \fBlh\fP -define the number of programmable -screen labels and their width and height. -If there are commands to turn the labels on and off, -give them in \fBsmln\fP and \fBrmln\fP. -\fBsmln\fP is normally output after one or more pln -sequences to make sure that the change becomes visible. -.PP -.SS Tabs and Initialization -.PP -If the terminal has hardware tabs, the command to advance to the next -tab stop can be given as -.B ht -(usually control I). -A ``back-tab'' command which moves leftward to the preceding tab stop can -be given as -.BR cbt . -By convention, if the teletype modes indicate that tabs are being -expanded by the computer rather than being sent to the terminal, -programs should not use -.B ht -or -.B cbt -even if they are present, since the user may not have the tab stops -properly set. -If the terminal has hardware tabs which are initially set every -.I n -spaces when the terminal is powered up, -the numeric parameter -.B it -is given, showing the number of spaces the tabs are set to. -This is normally used by the -.IR tset -command to determine whether to set the mode for hardware tab expansion, -and whether to set the tab stops. -If the terminal has tab stops that can be saved in non-volatile memory, -the terminfo description can assume that they are properly set. -.PP -Other capabilities -include -.BR is1 , -.BR is2 , -and -.BR is3 , -initialization strings for the terminal, -.BR iprog , -the path name of a program to be run to initialize the terminal, -and \fBif\fR, the name of a file containing long initialization strings. -These strings are expected to set the terminal into modes consistent -with the rest of the terminfo description. -They are normally sent to the terminal, by the -.I init -option of the -.IR tput -program, each time the user logs in. -They will be printed in the following order: -run the program -.BR iprog ; -output -.BR is1 ; -.BR is2 ; -set the margins using -.BR mgc , -.BR smgl -and -.BR smgr ; -set tabs using -.B tbc -and -.BR hts ; -print the file -.BR if ; -and finally -output -.BR is3 . -.PP -Most initialization is done with -.BR is2 . -Special terminal modes can be set up without duplicating strings -by putting the common sequences in -.B is2 -and special cases in -.B is1 -and -.BR is3 . -A pair of sequences that does a harder reset from a totally unknown state -can be analogously given as -.BR rs1 , -.BR rs2 , -.BR rf , -and -.BR rs3 , -analogous to -.B is2 -and -.BR if . -These strings are output by the -.IR reset -program, which is used when the terminal gets into a wedged state. -Commands are normally placed in -.BR rs1 , -.BR rs2 -.B rs3 -and -.B rf -only if they produce annoying effects on the screen and are not -necessary when logging in. -For example, the command to set the vt100 into 80-column mode would -normally be part of -.BR is2 , -but it causes an annoying glitch of the screen and is not normally -needed since the terminal is usually already in 80 column mode. -.PP -If there are commands to set and clear tab stops, they can be given as -.B tbc -(clear all tab stops) -and -.B hts -(set a tab stop in the current column of every row). -If a more complex sequence is needed to set the tabs than can be -described by this, the sequence can be placed in -.B is2 -or -.BR if . -.SS Delays and Padding -.PP -Many older and slower terminals do not support either XON/XOFF or DTR -handshaking, including hard copy terminals and some very archaic CRTs -(including, for example, DEC VT100s). -These may require padding characters -after certain cursor motions and screen changes. -.PP -If the terminal uses xon/xoff handshaking for flow control (that is, -it automatically emits ^S back to the host when its input buffers are -close to full), set -.BR xon . -This capability suppresses the emission of padding. -You can also set it -for memory-mapped console devices effectively that do not have a speed limit. -Padding information should still be included so that routines can -make better decisions about relative costs, but actual pad characters will -not be transmitted. -.PP -If \fBpb\fR (padding baud rate) is given, padding is suppressed at baud rates -below the value of \fBpb\fR. -If the entry has no padding baud rate, then -whether padding is emitted or not is completely controlled by \fBxon\fR. -.PP -If the terminal requires other than a null (zero) character as a pad, -then this can be given as \fBpad\fR. -Only the first character of the -.B pad -string is used. -.PP -.SS Status Lines -Some terminals have an extra `status line' which is not normally used by -software (and thus not counted in the terminal's \fBlines\fR capability). -.PP -The simplest case is a status line which is cursor-addressable but not -part of the main scrolling region on the screen; the Heathkit H19 has -a status line of this kind, as would a 24-line VT100 with a 23-line -scrolling region set up on initialization. -This situation is indicated -by the \fBhs\fR capability. -.PP -Some terminals with status lines need special sequences to access the -status line. -These may be expressed as a string with single parameter -\fBtsl\fR which takes the cursor to a given zero-origin column on the -status line. -The capability \fBfsl\fR must return to the main-screen -cursor positions before the last \fBtsl\fR. -You may need to embed the -string values of \fBsc\fR (save cursor) and \fBrc\fR (restore cursor) -in \fBtsl\fR and \fBfsl\fR to accomplish this. -.PP -The status line is normally assumed to be the same width as the width -of the terminal. -If this is untrue, you can specify it with the numeric -capability \fBwsl\fR. -.PP -A command to erase or blank the status line may be specified as \fBdsl\fR. -.PP -The boolean capability \fBeslok\fR specifies that escape sequences, tabs, -etc., work ordinarily in the status line. -.PP -The \fBncurses\fR implementation does not yet use any of these capabilities. -They are documented here in case they ever become important. -.PP -.SS Line Graphics -.PP -Many terminals have alternate character sets useful for forms-drawing. -Terminfo and \fBcurses\fR build in support for the drawing characters -supported by the VT100, with some characters from the AT&T 4410v1 added. -This alternate character set may be specified by the \fBacsc\fR capability. -.PP -.TS H -center expand; -c l l c -c l l c -lw28 lw6 lw2 lw20. -.\".TH -\fBGlyph ACS Ascii VT100\fR -\fBName Name Default Name\fR -UK pound sign ACS_STERLING f } -arrow pointing down ACS_DARROW v . -arrow pointing left ACS_LARROW < , -arrow pointing right ACS_RARROW > + -arrow pointing up ACS_UARROW ^ - -board of squares ACS_BOARD # h -bullet ACS_BULLET o ~ -checker board (stipple) ACS_CKBOARD : a -degree symbol ACS_DEGREE \e f -diamond ACS_DIAMOND + ` -greater-than-or-equal-to ACS_GEQUAL > z -greek pi ACS_PI * { -horizontal line ACS_HLINE - q -lantern symbol ACS_LANTERN # i -large plus or crossover ACS_PLUS + n -less-than-or-equal-to ACS_LEQUAL < y -lower left corner ACS_LLCORNER + m -lower right corner ACS_LRCORNER + j -not-equal ACS_NEQUAL ! | -plus/minus ACS_PLMINUS # g -scan line 1 ACS_S1 ~ o -scan line 3 ACS_S3 - p -scan line 7 ACS_S7 - r -scan line 9 ACS_S9 \&_ s -solid square block ACS_BLOCK # 0 -tee pointing down ACS_TTEE + w -tee pointing left ACS_RTEE + u -tee pointing right ACS_LTEE + t -tee pointing up ACS_BTEE + v -upper left corner ACS_ULCORNER + l -upper right corner ACS_URCORNER + k -vertical line ACS_VLINE | x -.TE -.PP -The best way to define a new device's graphics set is to add a column -to a copy of this table for your terminal, giving the character which -(when emitted between \fBsmacs\fR/\fBrmacs\fR switches) will be rendered -as the corresponding graphic. -Then read off the VT100/your terminal -character pairs right to left in sequence; these become the ACSC string. -.PP -.SS Color Handling -.PP -Most color terminals are either `Tektronix-like' or `HP-like'. -Tektronix-like -terminals have a predefined set of N colors (where N usually 8), and can set -character-cell foreground and background characters independently, mixing them -into N * N color-pairs. -On HP-like terminals, the use must set each color -pair up separately (foreground and background are not independently settable). -Up to M color-pairs may be set up from 2*M different colors. -ANSI-compatible -terminals are Tektronix-like. -.PP -Some basic color capabilities are independent of the color method. -The numeric -capabilities \fBcolors\fR and \fBpairs\fR specify the maximum numbers of colors -and color-pairs that can be displayed simultaneously. -The \fBop\fR (original -pair) string resets foreground and background colors to their default values -for the terminal. -The \fBoc\fR string resets all colors or color-pairs to -their default values for the terminal. -Some terminals (including many PC -terminal emulators) erase screen areas with the current background color rather -than the power-up default background; these should have the boolean capability -\fBbce\fR. -.PP -To change the current foreground or background color on a Tektronix-type -terminal, use \fBsetaf\fR (set ANSI foreground) and \fBsetab\fR (set ANSI -background) or \fBsetf\fR (set foreground) and \fBsetb\fR (set background). -These take one parameter, the color number. -The SVr4 documentation describes -only \fBsetaf\fR/\fBsetab\fR; the XPG4 draft says that "If the terminal -supports ANSI escape sequences to set background and foreground, they should -be coded as \fBsetaf\fR and \fBsetab\fR, respectively. -If the terminal -supports other escape sequences to set background and foreground, they should -be coded as \fBsetf\fR and \fBsetb\fR, respectively. -The \fIvidputs()\fR -function and the refresh functions use \fBsetaf\fR and \fBsetab\fR if they are -defined." -.PP -The \fBsetaf\fR/\fBsetab\fR and \fBsetf\fR/\fBsetb\fR capabilities take a -single numeric argument each. -Argument values 0-7 of \fBsetaf\fR/\fBsetab\fR are portably defined as -follows (the middle column is the symbolic #define available in the header for -the \fBcurses\fR or \fBncurses\fR libraries). -The terminal hardware is free to -map these as it likes, but the RGB values indicate normal locations in color -space. -.PP -.TS H -center; -l c c c -l l n l. -\fBColor #define Value RGB\fR -black \fBCOLOR_BLACK\fR 0 0, 0, 0 -red \fBCOLOR_RED\ \fR 1 max,0,0 -green \fBCOLOR_GREEN\fR 2 0,max,0 -yellow \fBCOLOR_YELLOW\fR 3 max,max,0 -blue \fBCOLOR_BLUE\fR 4 0,0,max -magenta \fBCOLOR_MAGENTA\fR 5 max,0,max -cyan \fBCOLOR_CYAN\fR 6 0,max,max -white \fBCOLOR_WHITE\fR 7 max,max,max -.TE -.PP -The argument values of \fBsetf\fR/\fBsetb\fR historically correspond to -a different mapping, i.e., -.TS H -center; -l c c c -l l n l. -\fBColor #define Value RGB\fR -black \fBCOLOR_BLACK\fR 0 0, 0, 0 -blue \fBCOLOR_BLUE\fR 1 0,0,max -green \fBCOLOR_GREEN\fR 2 0,max,0 -cyan \fBCOLOR_CYAN\fR 3 0,max,max -red \fBCOLOR_RED\ \fR 4 max,0,0 -magenta \fBCOLOR_MAGENTA\fR 5 max,0,max -yellow \fBCOLOR_YELLOW\fR 6 max,max,0 -white \fBCOLOR_WHITE\fR 7 max,max,max -.TE -It is important to not confuse the two sets of color capabilities; -otherwise red/blue will be interchanged on the display. -.PP -On an HP-like terminal, use \fBscp\fR with a color-pair number parameter to set -which color pair is current. -.PP -On a Tektronix-like terminal, the capability \fBccc\fR may be present to -indicate that colors can be modified. -If so, the \fBinitc\fR capability will -take a color number (0 to \fBcolors\fR - 1)and three more parameters which -describe the color. -These three parameters default to being interpreted as RGB -(Red, Green, Blue) values. -If the boolean capability \fBhls\fR is present, -they are instead as HLS (Hue, Lightness, Saturation) indices. -The ranges are -terminal-dependent. -.PP -On an HP-like terminal, \fBinitp\fR may give a capability for changing a -color-pair value. -It will take seven parameters; a color-pair number (0 to -\fBmax_pairs\fR - 1), and two triples describing first background and then -foreground colors. -These parameters must be (Red, Green, Blue) or -(Hue, Lightness, Saturation) depending on \fBhls\fR. -.PP -On some color terminals, colors collide with highlights. -You can register -these collisions with the \fBncv\fR capability. -This is a bit-mask of -attributes not to be used when colors are enabled. -The correspondence with the -attributes understood by \fBcurses\fR is as follows: -.PP -.TS -center; -l c c -lw25 lw2 lw10. -\fBAttribute Bit Decimal\fR -A_STANDOUT 0 1 -A_UNDERLINE 1 2 -A_REVERSE 2 4 -A_BLINK 3 8 -A_DIM 4 16 -A_BOLD 5 32 -A_INVIS 6 64 -A_PROTECT 7 128 -A_ALTCHARSET 8 256 -.TE -.PP -For example, on many IBM PC consoles, the underline attribute collides with the -foreground color blue and is not available in color mode. -These should have -an \fBncv\fR capability of 2. -.PP -SVr4 curses does nothing with \fBncv\fR, ncurses recognizes it and optimizes -the output in favor of colors. -.PP -.SS Miscellaneous -If the terminal requires other than a null (zero) character as a pad, then this -can be given as pad. -Only the first character of the pad string is used. -If the terminal does not have a pad character, specify npc. -Note that ncurses implements the termcap-compatible \fBPC\fR variable; -though the application may set this value to something other than -a null, ncurses will test \fBnpc\fR first and use napms if the terminal -has no pad character. -.PP -If the terminal can move up or down half a line, -this can be indicated with -.B hu -(half-line up) -and -.B hd -(half-line down). -This is primarily useful for superscripts and subscripts on hard-copy terminals. -If a hard-copy terminal can eject to the next page (form feed), give this as -.B ff -(usually control L). -.PP -If there is a command to repeat a given character a given number of -times (to save time transmitting a large number of identical characters) -this can be indicated with the parameterized string -.BR rep . -The first parameter is the character to be repeated and the second -is the number of times to repeat it. -Thus, tparm(repeat_char, 'x', 10) is the same as `xxxxxxxxxx'. -.PP -If the terminal has a settable command character, such as the \s-1TEKTRONIX\s+1 4025, -this can be indicated with -.BR cmdch . -A prototype command character is chosen which is used in all capabilities. -This character is given in the -.B cmdch -capability to identify it. -The following convention is supported on some UNIX systems: -The environment is to be searched for a -.B CC -variable, and if found, all -occurrences of the prototype character are replaced with the character -in the environment variable. -.PP -Terminal descriptions that do not represent a specific kind of known -terminal, such as -.IR switch , -.IR dialup , -.IR patch , -and -.IR network , -should include the -.B gn -(generic) capability so that programs can complain that they do not know -how to talk to the terminal. -(This capability does not apply to -.I virtual -terminal descriptions for which the escape sequences are known.) -.PP -If the terminal has a ``meta key'' which acts as a shift key, -setting the 8th bit of any character transmitted, this fact can -be indicated with -.BR km . -Otherwise, software will assume that the 8th bit is parity and it -will usually be cleared. -If strings exist to turn this ``meta mode'' on and off, they -can be given as -.B smm -and -.BR rmm . -.PP -If the terminal has more lines of memory than will fit on the screen -at once, the number of lines of memory can be indicated with -.BR lm . -A value of -.BR lm #0 -indicates that the number of lines is not fixed, -but that there is still more memory than fits on the screen. -.PP -If the terminal is one of those supported by the \s-1UNIX\s+1 virtual -terminal protocol, the terminal number can be given as -.BR vt . -.PP -Media copy -strings which control an auxiliary printer connected to the terminal -can be given as -.BR mc0 : -print the contents of the screen, -.BR mc4 : -turn off the printer, and -.BR mc5 : -turn on the printer. -When the printer is on, all text sent to the terminal will be sent -to the printer. -It is undefined whether the text is also displayed on the terminal screen -when the printer is on. -A variation -.B mc5p -takes one parameter, and leaves the printer on for as many characters -as the value of the parameter, then turns the printer off. -The parameter should not exceed 255. -All text, including -.BR mc4 , -is transparently passed to the printer while an -.B mc5p -is in effect. -.PP -.SS Glitches and Braindamage -.PP -Hazeltine terminals, which do not allow `~' characters to be displayed should -indicate \fBhz\fR. -.PP -Terminals which ignore a line-feed immediately after an \fBam\fR wrap, -such as the Concept and vt100, -should indicate \fBxenl\fR. -.PP -If -.B el -is required to get rid of standout -(instead of merely writing normal text on top of it), -\fBxhp\fP should be given. -.PP -Teleray terminals, where tabs turn all characters moved over to blanks, -should indicate \fBxt\fR (destructive tabs). -Note: the variable indicating this is now `dest_tabs_magic_smso'; in -older versions, it was teleray_glitch. -This glitch is also taken to mean that it is not possible to position -the cursor on top of a ``magic cookie'', -that to erase standout mode it is instead necessary to use -delete and insert line. -The ncurses implementation ignores this glitch. -.PP -The Beehive Superbee, which is unable to correctly transmit the escape -or control C characters, has -.BR xsb , -indicating that the f1 key is used for escape and f2 for control C. -(Only certain Superbees have this problem, depending on the ROM.) -Note that in older terminfo versions, this capability was called -`beehive_glitch'; it is now `no_esc_ctl_c'. -.PP -Other specific terminal problems may be corrected by adding more -capabilities of the form \fBx\fR\fIx\fR. -.PP -.SS Similar Terminals -.PP -If there are two very similar terminals, one (the variant) can be defined as -being just like the other (the base) with certain exceptions. -In the -definition of the variant, the string capability \fBuse\fR can be given with -the name of the base terminal. -The capabilities given before -.B use -override those in the base type named by -.BR use . -If there are multiple \fBuse\fR capabilities, they are merged in reverse order. -That is, the rightmost \fBuse\fR reference is processed first, then the one to -its left, and so forth. -Capabilities given explicitly in the entry override -those brought in by \fBuse\fR references. -.PP -A capability can be canceled by placing \fBxx@\fR to the left of the -use reference that imports it, where \fIxx\fP is the capability. -For example, the entry -.PP - 2621-nl, smkx@, rmkx@, use=2621, -.PP -defines a 2621-nl that does not have the \fBsmkx\fR or \fBrmkx\fR capabilities, -and hence does not turn on the function key labels when in visual mode. -This is useful for different modes for a terminal, or for different -user preferences. -.PP -.SS Pitfalls of Long Entries -.PP -Long terminfo entries are unlikely to be a problem; to date, no entry has even -approached terminfo's 4096-byte string-table maximum. -Unfortunately, the termcap -translations are much more strictly limited (to 1023 bytes), thus termcap translations -of long terminfo entries can cause problems. -.PP -The man pages for 4.3BSD and older versions of \fBtgetent()\fP instruct the user to -allocate a 1024-byte buffer for the termcap entry. -The entry gets null-terminated by -the termcap library, so that makes the maximum safe length for a termcap entry -1k-1 (1023) bytes. -Depending on what the application and the termcap library -being used does, and where in the termcap file the terminal type that \fBtgetent()\fP -is searching for is, several bad things can happen. -.PP -Some termcap libraries print a warning message or exit if they find an -entry that's longer than 1023 bytes; others do not; others truncate the -entries to 1023 bytes. -Some application programs allocate more than -the recommended 1K for the termcap entry; others do not. -.PP -Each termcap entry has two important sizes associated with it: before -"tc" expansion, and after "tc" expansion. -"tc" is the capability that -tacks on another termcap entry to the end of the current one, to add -on its capabilities. -If a termcap entry does not use the "tc" -capability, then of course the two lengths are the same. -.PP -The "before tc expansion" length is the most important one, because it -affects more than just users of that particular terminal. -This is the -length of the entry as it exists in /etc/termcap, minus the -backslash-newline pairs, which \fBtgetent()\fP strips out while reading it. -Some termcap libraries strip off the final newline, too (GNU termcap does not). -Now suppose: -.TP 5 -* -a termcap entry before expansion is more than 1023 bytes long, -.TP 5 -* -and the application has only allocated a 1k buffer, -.TP 5 -* -and the termcap library (like the one in BSD/OS 1.1 and GNU) reads -the whole entry into the buffer, no matter what its length, to see -if it's the entry it wants, -.TP 5 -* -and \fBtgetent()\fP is searching for a terminal type that either is the -long entry, appears in the termcap file after the long entry, or -does not appear in the file at all (so that \fBtgetent()\fP has to search -the whole termcap file). -.PP -Then \fBtgetent()\fP will overwrite memory, perhaps its stack, and probably core dump -the program. -Programs like telnet are particularly vulnerable; modern telnets -pass along values like the terminal type automatically. -The results are almost -as undesirable with a termcap library, like SunOS 4.1.3 and Ultrix 4.4, that -prints warning messages when it reads an overly long termcap entry. -If a -termcap library truncates long entries, like OSF/1 3.0, it is immune to dying -here but will return incorrect data for the terminal. -.PP -The "after tc expansion" length will have a similar effect to the -above, but only for people who actually set TERM to that terminal -type, since \fBtgetent()\fP only does "tc" expansion once it's found the -terminal type it was looking for, not while searching. -.PP -In summary, a termcap entry that is longer than 1023 bytes can cause, -on various combinations of termcap libraries and applications, a core -dump, warnings, or incorrect operation. -If it's too long even before -"tc" expansion, it will have this effect even for users of some other -terminal types and users whose TERM variable does not have a termcap -entry. -.PP -When in -C (translate to termcap) mode, the \fBncurses\fR implementation of -\fBtic\fR(1) issues warning messages when the pre-tc length of a termcap -translation is too long. -The -c (check) option also checks resolved (after tc -expansion) lengths. -.SS Binary Compatibility -It is not wise to count on portability of binary terminfo entries between -commercial UNIX versions. -The problem is that there are at least two versions -of terminfo (under HP-UX and AIX) which diverged from System V terminfo after -SVr1, and have added extension capabilities to the string table that (in the -binary format) collide with System V and XSI Curses extensions. -.SH EXTENSIONS -Some SVr4 \fBcurses\fR implementations, and all previous to SVr4, do not -interpret the %A and %O operators in parameter strings. -.PP -SVr4/XPG4 do not specify whether \fBmsgr\fR licenses movement while in -an alternate-character-set mode (such modes may, among other things, map -CR and NL to characters that do not trigger local motions). -The \fBncurses\fR implementation ignores \fBmsgr\fR in \fBALTCHARSET\fR -mode. -This raises the possibility that an XPG4 -implementation making the opposite interpretation may need terminfo -entries made for \fBncurses\fR to have \fBmsgr\fR turned off. -.PP -The \fBncurses\fR library handles insert-character and insert-character modes -in a slightly non-standard way to get better update efficiency. -See -the \fBInsert/Delete Character\fR subsection above. -.PP -The parameter substitutions for \fBset_clock\fR and \fBdisplay_clock\fR are -not documented in SVr4 or the XSI Curses standard. -They are deduced from the -documentation for the AT&T 505 terminal. -.PP -Be careful assigning the \fBkmous\fR capability. -The \fBncurses\fR wants to -interpret it as \fBKEY_MOUSE\fR, for use by terminals and emulators like xterm -that can return mouse-tracking information in the keyboard-input stream. -.PP -Different commercial ports of terminfo and curses support different subsets of -the XSI Curses standard and (in some cases) different extension sets. -Here -is a summary, accurate as of October 1995: -.PP -\fBSVR4, Solaris, ncurses\fR -- -These support all SVr4 capabilities. -.PP -\fBSGI\fR -- -Supports the SVr4 set, adds one undocumented extended string -capability (\fBset_pglen\fR). -.PP -\fBSVr1, Ultrix\fR -- -These support a restricted subset of terminfo capabilities. -The booleans -end with \fBxon_xoff\fR; the numerics with \fBwidth_status_line\fR; and the -strings with \fBprtr_non\fR. -.PP -\fBHP/UX\fR -- -Supports the SVr1 subset, plus the SVr[234] numerics \fBnum_labels\fR, -\fBlabel_height\fR, \fBlabel_width\fR, plus function keys 11 through 63, plus -\fBplab_norm\fR, \fBlabel_on\fR, and \fBlabel_off\fR, plus some incompatible -extensions in the string table. -.PP -\fBAIX\fR -- -Supports the SVr1 subset, plus function keys 11 through 63, plus a number -of incompatible string table extensions. -.PP -\fBOSF\fR -- -Supports both the SVr4 set and the AIX extensions. -.SH FILES -.TP 25 -\*d/?/* -files containing terminal descriptions -.SH SEE ALSO -\fBtic\fR(1M), -\fBinfocmp\fR(1M), -\fBcurses\fR(3X), -\fBprintf\fR(3S), -\fBterm\fR(\*n). -.SH AUTHORS -Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. -Based on pcurses by Pavel Curtis. -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/tic.1m b/src/libs/ncurses/man/tic.1m deleted file mode 100644 index 08de74aa90..0000000000 --- a/src/libs/ncurses/man/tic.1m +++ /dev/null @@ -1,315 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: tic.1m,v 1.38 2005/04/30 19:39:28 tom Exp $ -.TH tic 1M "" -.ds n 5 -.ds d @TERMINFO@ -.SH NAME -\fBtic\fR - the \fIterminfo\fR entry-description compiler -.SH SYNOPSIS -\fBtic\fR -[\fB-\ -1\ -C\ -G\ -I\ -L\ -N\ -T\ -V\ -a\ -c\ -f\ -g\ -r\ -s\ -t\ -x\ -\fR] -[\fB-e\fR \fInames\fR] -[\fB-o\fR \fIdir\fR] -[\fB-R\fR \fIsubset\fR] -[\fB-v\fR[\fIn\fR]] -[\fB-w\fR[\fIn\fR]] -\fIfile\fR -.br -.SH DESCRIPTION -The command \fBtic\fR translates a \fBterminfo\fR file from source -format into compiled format. The compiled format is necessary for use with -the library routines in \fBncurses\fR(3X). -.PP -The results are normally placed in the system terminfo -directory \fB\*d\fR. There are two ways to change this behavior. -.PP -First, you may override the system default by setting the variable -\fBTERMINFO\fR in your shell environment to a valid (existing) directory name. -.PP -Secondly, if \fBtic\fR cannot get access to \fI\*d\fR or your TERMINFO -directory, it looks for the directory \fI$HOME/.terminfo\fR; if that directory -exists, the entry is placed there. -.PP -Libraries that read terminfo entries are expected to check for a TERMINFO -directory first, look at \fI$HOME/.terminfo\fR if TERMINFO is not set, and -finally look in \fI\*d\fR. -.TP -\fB-1\fR -restricts the output to a single column -.TP -\fB-a\fR -tells \fBtic\fP to retain commented-out capabilities rather than discarding -them. Capabilities are commented by prefixing them with a period. -This sets the \fB-x\fR option, because it treats the commented-out -entries as user-defined names. -If the source is termcap, accept the 2-character names required by version 6. -Otherwise these are ignored. -.TP -\fB-C\fR -Force source translation to termcap format. Note: this differs from the \fB-C\fR -option of \fIinfocmp\fR(1M) in that it does not merely translate capability -names, but also translates terminfo strings to termcap format. Capabilities -that are not translatable are left in the entry under their terminfo names -but commented out with two preceding dots. -.TP -\fB-c\fR -tells \fBtic\fP to only check \fIfile\fR for errors, including syntax problems and -bad use links. If you specify \fB-C\fR (\fB-I\fR) with this option, the code -will print warnings about entries which, after use resolution, are more than -1023 (4096) bytes long. Due to a fixed buffer length in older termcap -libraries (and a documented limit in terminfo), these entries may cause core -dumps. -.TP -\fB-e \fR\fInames\fR -Limit writes and translations to the following comma-separated list of -terminals. -If any name or alias of a terminal matches one of the names in -the list, the entry will be written or translated as normal. -Otherwise no output will be generated for it. -The option value is interpreted as a file containing the list if it -contains a '/'. -(Note: depending on how tic was compiled, this option may require \fB-I\fR or \fB-C\fR.) -.TP -\fB-f\fR -Display complex terminfo strings which contain if/then/else/endif expressions -indented for readability. -.TP -\fB-G\fR -Display constant literals in decimal form -rather than their character equivalents. -.TP -\fB-g\fR -Display constant character literals in quoted form -rather than their decimal equivalents. -.TP -\fB-I\fR -Force source translation to terminfo format. -.TP -\fB-L\fR -Force source translation to terminfo format -using the long C variable names listed in <\fBterm.h\fR> -.TP -\fB-N\fR -Disable smart defaults. -Normally, when translating from termcap to terminfo, the compiler makes -a number of assumptions about the defaults of string capabilities -\fBreset1_string\fR, \fBcarriage_return\fR, \fBcursor_left\fR, -\fBcursor_down\fR, \fBscroll_forward\fR, \fBtab\fR, \fBnewline\fR, -\fBkey_backspace\fR, \fBkey_left\fR, and \fBkey_down\fR, then attempts -to use obsolete termcap capabilities to deduce correct values. It also -normally suppresses output of obsolete termcap capabilities such as \fBbs\fR. -This option forces a more literal translation that also preserves the -obsolete capabilities. -.TP -\fB-o\fR\fIdir\fR -Write compiled entries to given directory. Overrides the TERMINFO environment -variable. -.TP -\fB-R\fR\fIsubset\fR -Restrict output to a given subset. This option is for use with archaic -versions of terminfo like those on SVr1, Ultrix, or HP/UX that do not support -the full set of SVR4/XSI Curses terminfo; and outright broken ports like AIX 3.x -that have their own extensions incompatible with SVr4/XSI. Available subsets -are "SVr1", "Ultrix", "HP", "BSD" and "AIX"; see \fBterminfo\fR(\*n) for details. -.TP -\fB-r\fR -Force entry resolution (so there are no remaining tc capabilities) even -when doing translation to termcap format. This may be needed if you are -preparing a termcap file for a termcap library (such as GNU termcap through -version 1.3 or BSD termcap through 4.3BSD) that does not handle multiple -tc capabilities per entry. -.TP -\fB-s\fR -Summarize the compile by showing the directory into which entries -are written, and the number of entries which are compiled. -.TP -\fB-T\fR -eliminates size-restrictions on the generated text. -This is mainly useful for testing and analysis, since the compiled -descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo). -.TP -\fB-t\fR -tells \fBtic\fP to discard commented-out capabilities. -Normally when translating from terminfo to termcap, -untranslatable capabilities are commented-out. -.TP -\fB-V\fR -reports the version of ncurses which was used in this program, and exits. -.TP -\fB-v\fR\fIn\fR -specifies that (verbose) output be written to standard error trace -information showing \fBtic\fR's progress. The optional integer -\fIn\fR is a number from 1 to 10, inclusive, indicating the desired -level of detail of information. If \fIn\fR is omitted, the default -level is 1. If \fIn\fR is specified and greater than 1, the level of -detail is increased. -.TP -\fB-w\fR\fIn\fR -specifies the width of the output. -.TP -\fB-x\fR -Treat unknown capabilities as user-defined. -That is, if you supply a capability name which \fBtic\fP does not recognize, -it will infer its type (boolean, number or string) from the syntax and -make an extended table entry for that. -User-defined capability strings -whose name begins with ``k'' are treated as function keys. -.TP -\fIfile\fR -contains one or more \fBterminfo\fR terminal descriptions in source -format [see \fBterminfo\fR(\*n)]. Each description in the file -describes the capabilities of a particular terminal. -.PP -The debug flag levels are as follows: -.TP -1 -Names of files created and linked -.TP -2 -Information related to the ``use'' facility -.TP -3 -Statistics from the hashing algorithm -.TP -5 -String-table memory allocations -.TP -7 -Entries into the string-table -.TP -8 -List of tokens encountered by scanner -.TP -9 -All values computed in construction of the hash table -.LP -If the debug level \fIn\fR is not given, it is taken to be one. -.PP -All but one of the capabilities recognized by \fBtic\fR are documented -in \fBterminfo\fR(\*n). The exception is the \fBuse\fR capability. - -When a \fBuse\fR=\fIentry\fR-\fIname\fR field is discovered in a -terminal entry currently being compiled, \fBtic\fR reads in the binary -from \fB\*d\fR to complete the entry. (Entries created from -\fIfile\fR will be used first. If the environment variable -\fBTERMINFO\fR is set, that directory is searched instead of -\fB\*d\fR.) \fBtic\fR duplicates the capabilities in -\fIentry\fR-\fIname\fR for the current entry, with the exception of -those capabilities that explicitly are defined in the current entry. - -When an entry, e.g., \fBentry_name_1\fR, contains a -\fBuse=\fR\fIentry\fR_\fIname\fR_\fI2\fR field, any canceled -capabilities in \fIentry\fR_\fIname\fR_\fI2\fR must also appear in -\fBentry_name_1\fR before \fBuse=\fR for these capabilities to be -canceled in \fBentry_name_1\fR. - -If the environment variable \fBTERMINFO\fR is set, the compiled -results are placed there instead of \fB\*d\fR. - -Total compiled entries cannot exceed 4096 bytes. The name field cannot -exceed 512 bytes. Terminal names exceeding the maximum alias length -(32 characters on systems with long filenames, 14 characters otherwise) -will be truncated to the maximum alias length and a warning message will be printed. -.SH COMPATIBILITY -There is some evidence that historic \fBtic\fR implementations treated -description fields with no whitespace in them as additional aliases or -short names. This \fBtic\fR does not do that, but it does warn when -description fields may be treated that way and check them for dangerous -characters. -.SH EXTENSIONS -Unlike the stock SVr4 \fBtic\fR command, this implementation can actually -compile termcap sources. In fact, entries in terminfo and termcap syntax can -be mixed in a single source file. See \fBterminfo\fR(\*n) for the list of -termcap names taken to be equivalent to terminfo names. - -The SVr4 manual pages are not clear on the resolution rules for \fBuse\fR -capabilities. -This implementation of \fBtic\fR will find \fBuse\fR targets anywhere -in the source file, or anywhere in the file tree rooted at \fBTERMINFO\fR (if -\fBTERMINFO\fR is defined), or in the user's \fI$HOME/.terminfo\fR directory -(if it exists), or (finally) anywhere in the system's file tree of -compiled entries. - -The error messages from this \fBtic\fR have the same format as GNU C -error messages, and can be parsed by GNU Emacs's compile facility. - -The -\fB-C\fR, -\fB-G\fR, -\fB-I\fR, -\fB-N\fR, -\fB-R\fR, -\fB-T\fR, -\fB-V\fR, -\fB-a\fR, -\fB-e\fR, -\fB-f\fR, -\fB-g\fR, -\fB-o\fR, -\fB-r\fR, -\fB-s\fR, -\fB-t\fR and -\fB-x\fR -options -are not supported under SVr4. -The SVr4 \fB-c\fR mode does not report bad use links. - -System V does not compile entries to or read entries from your -\fI$HOME/.terminfo\fR directory unless TERMINFO is explicitly set to it. -.SH FILES -.TP 5 -\fB\*d/?/*\fR -Compiled terminal description database. -.SH SEE ALSO -\fB@INFOCMP@\fR(1M), \fB@CAPTOINFO@\fR(1M), \fB@INFOTOCAP@\fR(1M), -\fB@TOE@\fR(1M), \fBcurses\fR(3X), \fBterminfo\fR(\*n). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/toe.1m b/src/libs/ncurses/man/toe.1m deleted file mode 100644 index b7dc95963e..0000000000 --- a/src/libs/ncurses/man/toe.1m +++ /dev/null @@ -1,81 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: toe.1m,v 1.13 2004/07/05 13:16:08 tom Exp $ -.TH toe 1M "" -.ds n 5 -.ds d @TERMINFO@ -.SH NAME -\fBtoe\fR - table of (terminfo) entries -.SH SYNOPSIS -\fBtoe\fR [\fB-v\fR[\fIn\fR]] [\fB-huUV\fR] \fIfile...\fR -.br -.SH DESCRIPTION -.PP -With no options, \fBtoe\fR lists all available terminal types by primary name -with descriptions. File arguments specify the directories to be scanned; if no -such arguments are given, your default terminfo directory is scanned. If you -also specify the \fB-h\fR option, a directory header will be issued as each -directory is entered. -.PP -There are other options intended for use by terminfo file maintainers: -.TP -\fB-u\fR \fIfile\fR -says to issue a report on dependencies in the given file. This report condenses -the `use' relation: each line consists of the primary name of a terminal that -has use capabilities, followed by a colon, followed by the -whitespace-separated primary names of all terminals which occur in those use -capabilities, followed by a newline -.TP -\fB-U\fR \fIfile\fR -says to issue a report on reverse dependencies in the given file. This report -reverses the `use' relation: each line consists of the primary name of a -terminal that occurs in use capabilities, followed by a colon, followed by the -whitespace-separated primary names of all terminals which depend on it, -followed by a newline. -.TP -\fB-v\fR\fIn\fR -specifies that (verbose) output be written to standard error trace -information showing \fBtoe\fR's progress. The optional integer -\fIn\fR is a number from 1 to 10, interpreted as for \fBtic\fR(1). -.TP 5 -\fB-V\fR -reports the version of ncurses which was used in this program, and exits. -.SH FILES -.TP 5 -\fB\*d/?/*\fR -Compiled terminal description database. -.SH SEE ALSO -\fB@TIC@\fR(1M), \fB@INFOCMP@\fR(1M), \fB@CAPTOINFO@\fR(1M), -\fB@INFOTOCAP@\fR(1M), \fBcurses\fR(3X), \fBterminfo\fR(\*n). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/tput.1 b/src/libs/ncurses/man/tput.1 deleted file mode 100644 index b12385e18f..0000000000 --- a/src/libs/ncurses/man/tput.1 +++ /dev/null @@ -1,296 +0,0 @@ -'\" t -.\"*************************************************************************** -.\" Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: tput.1,v 1.22 2005/01/08 17:44:26 tom Exp $ -.TH tput 1 "" -.ds d @TERMINFO@ -.ds n 1 -.SH NAME -\fBtput\fR, \fBreset\fR - initialize a terminal or query terminfo database -.SH SYNOPSIS -\fBtput\fR [\fB-T\fR\fItype\fR] \fIcapname\fR [\fIparms\fR ... ] -.br -\fBtput\fR [\fB-T\fR\fItype\fR] \fBinit\fR -.br -\fBtput\fR [\fB-T\fR\fItype\fR] \fBreset\fR -.br -\fBtput\fR [\fB-T\fR\fItype\fR] \fBlongname\fR -.br -\fBtput -S\fR \fB<<\fR -.br -\fBtput -V\fR -.br -.SH DESCRIPTION -The \fBtput\fR utility uses the \fBterminfo\fR database to make the -values of terminal-dependent capabilities and information available to -the shell (see \fBsh\fR(1)), to initialize or reset the terminal, or -return the long name of the requested terminal type. -The result depends upon the capability's type: -.RS -.TP 5 -string -\fBtput\fR writes the string to the standard output. -No trailing newline is supplied. -.TP -integer -\fBtput\fR writes the decimal value to the standard output, -with a trailing newline. -.TP -boolean -\fBtput\fR simply sets the exit code -(\fB0\fR for TRUE if the terminal has the capability, -\fB1\fR for FALSE if it does not), -and writes nothing to the standard output. -.RE -.PP -Before using a value returned on the standard output, -the application should test the exit code -(e.g., \fB$?\fR, see \fBsh\fR(1)) to be sure it is \fB0\fR. -(See the \fBEXIT CODES\fR and \fBDIAGNOSTICS\fR sections.) -For a complete list of capabilities -and the \fIcapname\fR associated with each, see \fBterminfo\fR(\*n). -.TP -\fB-T\fR\fItype\fR -indicates the \fItype\fR of terminal. Normally this option is -unnecessary, because the default is taken from the environment -variable \fBTERM\fR. If \fB-T\fR is specified, then the shell -variables \fBLINES\fR and \fBCOLUMNS\fR will be ignored,and the -operating system will not be queried for the actual screen size. -.TP -\fIcapname\fR -indicates the capability from the \fBterminfo\fR database. When -\fBtermcap\fR support is compiled in, the \fBtermcap\fR name for -the capability is also accepted. -.TP -\fIparms\fR -If the capability is a string that takes parameters, the arguments -\fIparms\fR will be instantiated into the string. -.IP -Most parameters are numbers. -Only a few terminfo capabilities require string parameters; -\fBtput\fR uses a table to decide which to pass as strings. -Normally \fBtput\fR uses \fBtparm\fR (3X) to perform the substitution. -If no parameters are given for the capability, -\fBtput\fR writes the string without performing the substitution. -.TP -\fB-S\fR -allows more than one capability per invocation of \fBtput\fR. The -capabilities must be passed to \fBtput\fR from the standard input -instead of from the command line (see example). -Only one \fIcapname\fR is allowed per line. -The \fB-S\fR option changes the -meaning of the \fB0\fR and \fB1\fR boolean and string exit codes (see the -EXIT CODES section). -.IP -Again, \fBtput\fR uses a table and the presence of parameters in its input -to decide whether to use \fBtparm\fR (3X), -and how to interpret the parameters. -.TP -\fB-V\fR -reports the version of ncurses which was used in this program, and exits. -.TP -\fBinit\fR -If the \fBterminfo\fR database is present and an entry for the user's -terminal exists (see \fB-T\fR\fItype\fR, above), the following will -occur: (1) if present, the terminal's initialization strings will be -output (\fBis1\fR, \fBis2\fR, \fBis3\fR, \fBif\fR, \fBiprog\fR), (2) -any delays (e.g., newline) specified in the entry will be set in the -tty driver, (3) tabs expansion will be turned on or off according to -the specification in the entry, and (4) if tabs are not expanded, -standard tabs will be set (every 8 spaces). If an entry does not -contain the information needed for any of the four above activities, -that activity will silently be skipped. -.TP -\fBreset\fR -Instead of putting out initialization strings, the terminal's -reset strings will be output if present (\fBrs1\fR, \fBrs2\fR, \fBrs3\fR, \fBrf\fR). -If the reset strings are not present, but initialization -strings are, the initialization strings will be output. -Otherwise, \fBreset\fR acts identically to \fBinit\fR. -.TP -\fBlongname\fR -If the \fBterminfo\fR database is present and an entry for the -user's terminal exists (see \fB-T\fR\fItype\fR above), then the long name -of the terminal will be put out. The long name is the last -name in the first line of the terminal's description in the -\fBterminfo\fR database [see \fBterm\fR(5)]. -.PP -If \fBtput\fR is invoked by a link named \fBreset\fR, this has the -same effect as \fBtput reset\fR. -See \fBtset\fR for comparison, which has similar behavior. -.SH EXAMPLES -.TP 5 -\fBtput init\fR -Initialize the terminal according to the type of -terminal in the environmental variable \fBTERM\fR. This -command should be included in everyone's .profile after -the environmental variable \fBTERM\fR has been exported, as -illustrated on the \fBprofile\fR(5) manual page. -.TP 5 -\fBtput -T5620 reset\fR -Reset an AT&T 5620 terminal, overriding the type of -terminal in the environmental variable \fBTERM\fR. -.TP 5 -\fBtput cup 0 0\fR -Send the sequence to move the cursor to row \fB0\fR, column \fB0\fR -(the upper left corner of the screen, usually known as the "home" -cursor position). -.TP 5 -\fBtput clear\fR -Echo the clear-screen sequence for the current terminal. -.TP 5 -\fBtput cols\fR -Print the number of columns for the current terminal. -.TP 5 -\fBtput -T450 cols\fR -Print the number of columns for the 450 terminal. -.TP 5 -\fBbold=`tput smso` offbold=`tput rmso`\fR -Set the shell variables \fBbold\fR, to begin stand-out mode -sequence, and \fBoffbold\fR, to end standout mode sequence, -for the current terminal. This might be followed by a -prompt: \fBecho "${bold}Please type in your name: ${offbold}\\c"\fR -.TP 5 -\fBtput hc\fR -Set exit code to indicate if the current terminal is a hard copy terminal. -.TP 5 -\fBtput cup 23 4\fR -Send the sequence to move the cursor to row 23, column 4. -.TP 5 -\fBtput cup\fR -Send the terminfo string for cursor-movement, with no parameters substituted. -.TP 5 -\fBtput longname\fR -Print the long name from the \fBterminfo\fR database for the -type of terminal specified in the environmental -variable \fBTERM\fR. -.PP -.RS 5 -\fBtput -S < clear\fR -.br -\fB> cup 10 10\fR -.br -\fB> bold\fR -.br -\fB> !\fR -.RE -.TP 5 -\& -This example shows \fBtput\fR processing several capabilities in one invocation. -It clears the screen, -moves the cursor to position 10, 10 -and turns on bold (extra bright) mode. -The list is terminated by an exclamation mark (\fB!\fR) on a line by itself. -.SH FILES -.TP -\fB\*d\fR -compiled terminal description database -.TP -\fB@DATADIR@/tabset/*\fR -tab settings for some terminals, in a format -appropriate to be output to the terminal (escape -sequences that set margins and tabs); for more -information, see the "Tabs and Initialization" -section of \fBterminfo\fR(5) -.SH EXIT CODES -If the \fB-S\fR option is used, -\fBtput\fR checks for errors from each line, -and if any errors are found, will set the exit code to 4 plus the -number of lines with errors. -If no errors are found, the exit code is \fB0\fR. -No indication of which line failed can be given so -exit code \fB1\fR will never appear. Exit codes \fB2\fR, \fB3\fR, and -\fB4\fR retain their usual interpretation. -If the \fB-S\fR option is not used, -the exit code depends on the type of \fIcapname\fR: -.RS 5 -.TP -.I boolean -a value of \fB0\fR is set for TRUE and \fB1\fR for FALSE. -.TP -.I string -a value of \fB0\fR is set if the -\fIcapname\fR is defined for this terminal \fItype\fR (the value of -\fIcapname\fR is returned on standard output); -a value of \fB1\fR is set if \fIcapname\fR -is not defined for this terminal \fItype\fR -(nothing is written to standard output). -.TP -.I integer -a value of \fB0\fR is always set, -whether or not \fIcapname\fR is defined for this terminal \fItype\fR. -To determine if \fIcapname\fR is defined for this terminal \fItype\fR, -the user must test the value written to standard output. -A value of \fB-1\fR -means that \fIcapname\fR is not defined for this terminal \fItype\fR. -.TP -.I other -\fBreset\fR or \fBinit\fR may fail to find their respective files. -In that case, the exit code is set to 4 + \fBerrno\fR. -.RE -.PP -Any other exit code indicates an error; see the DIAGNOSTICS section. -.SH DIAGNOSTICS -\fBtput\fR prints the following error messages and sets the corresponding exit -codes. -.PP -.ne 15 -.TS -l l. -exit code error message -= -\fB0\fR T{ -(\fIcapname\fR is a numeric variable that is not specified in the -\fBterminfo\fR(\*n) database for this terminal type, e.g. -\fBtput -T450 lines\fR and \fBtput -T2621 xmc\fR) -T} -\fB1\fR no error message is printed, see the \fBEXIT CODES\fR section. -\fB2\fR usage error -\fB3\fR unknown terminal \fItype\fR or no \fBterminfo\fR database -\fB4\fR unknown \fBterminfo\fR capability \fIcapname\fR -\fB>4\fR error occurred in -S -= -.TE -.SH PORTABILITY -The \fBlongname\fR and \fB-S\fR options, and the parameter-substitution -features used in the \fBcup\fR example, are not supported in BSD curses or in -AT&T/USL curses before SVr4. -.SH SEE ALSO -\fB@CLEAR@\fR(1), -\fBstty\fR(1), -\fBtabs\fR(\*n), -\fBterminfo\fR(5). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/man/tset.1 b/src/libs/ncurses/man/tset.1 deleted file mode 100644 index 1c8cc3632e..0000000000 --- a/src/libs/ncurses/man/tset.1 +++ /dev/null @@ -1,273 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" $Id: tset.1,v 1.15 2005/03/20 18:27:09 tom Exp $ -.TH tset 1 "" -.SH NAME -\fBtset\fR, \fBreset\fR - terminal initialization -.SH SYNOPSIS -\fBtset\fR [\fB-IQVcqrsw\fR] [\fB-\fR] [\fB-e\fR \fIch\fR] [\fB-i\fR \fIch\fR] [\fB-k\fR \fIch\fR] [\fB-m\fR \fImapping\fR] [\fIterminal\fR] -.br -\fBreset\fR [\fB-IQVcqrsw\fR] [\fB-\fR] [\fB-e\fR \fIch\fR] [\fB-i\fR \fIch\fR] [\fB-k\fR \fIch\fR] [\fB-m\fR \fImapping\fR] [\fIterminal\fR] -.SH DESCRIPTION -\&\fBTset\fR initializes terminals. -\fBTset\fR first determines the type of terminal that you are using. -This determination is done as follows, using the first terminal type found. -.PP -1. The \fBterminal\fR argument specified on the command line. -.PP -2. The value of the \fBTERM\fR environmental variable. -.PP -3. (BSD systems only.) The terminal type associated with the standard -error output device in the \fI/etc/ttys\fR file. (On Linux and -System-V-like UNIXes, \fIgetty\fR does this job by setting -\fBTERM\fR according to the type passed to it by \fI/etc/inittab\fR.) -.PP -4. The default terminal type, ``unknown''. -.PP -If the terminal type was not specified on the command-line, the \fB-m\fR -option mappings are then applied (see the section -.B TERMINAL TYPE MAPPING -for more information). -Then, if the terminal type begins with a question mark (``?''), the -user is prompted for confirmation of the terminal type. An empty -response confirms the type, or, another type can be entered to specify -a new type. Once the terminal type has been determined, the terminfo -entry for the terminal is retrieved. If no terminfo entry is found -for the type, the user is prompted for another terminal type. -.PP -Once the terminfo entry is retrieved, the window size, backspace, interrupt -and line kill characters (among many other things) are set and the terminal -and tab initialization strings are sent to the standard error output. -Finally, if the erase, interrupt and line kill characters have changed, -or are not set to their default values, their values are displayed to the -standard error output. -Use the \fB-c\fP or \fB-w\fP option to select only the window sizing -versus the other initialization. -If neither option is given, both are assumed. -.PP -When invoked as \fBreset\fR, \fBtset\fR sets cooked and echo modes, -turns off cbreak and raw modes, turns on newline translation and -resets any unset special characters to their default values before -doing the terminal initialization described above. This is useful -after a program dies leaving a terminal in an abnormal state. Note, -you may have to type - - \fBreset\fR - -(the line-feed character is normally control-J) to get the terminal -to work, as carriage-return may no longer work in the abnormal state. -Also, the terminal will often not echo the command. -.PP -The options are as follows: -.TP 5 -.B -c -Set control characters and modes. -.B -e -Set the erase character to \fIch\fR. -.TP -.B -I -Do not send the terminal or tab initialization strings to the terminal. -.TP -.B -i -Set the interrupt character to \fIch\fR. -.TP -.B -k -Set the line kill character to \fIch\fR. -.TP -.B -m -Specify a mapping from a port type to a terminal. -See the section -.B TERMINAL TYPE MAPPING -for more information. -.TP -.B -Q -Do not display any values for the erase, interrupt and line kill characters. -Normally \fBtset\fR displays the values for control characters which -differ from the system's default values. -.TP -.B -q -The terminal type is displayed to the standard output, and the terminal is -not initialized in any way. The option `-' by itself is equivalent but -archaic. -.TP -.B -r -Print the terminal type to the standard error output. -.TP -.B -s -Print the sequence of shell commands to initialize the environment variable -\fBTERM\fR to the standard output. -See the section -.B SETTING THE ENVIRONMENT -for details. -.TP -.B -V -reports the version of ncurses which was used in this program, and exits. -.TP -.B -w -Resize the window to match the size deduced via \fBsetupterm\fP. -Normally this has no effect, -unless \fBsetupterm\fP is not able to detect the window size. -.PP -The arguments for the \fB-e\fR, \fB-i\fR, and \fB-k\fR -options may either be entered as actual characters or by using the `hat' -notation, i.e. control-h may be specified as ``^H'' or ``^h''. -. -.SH SETTING THE ENVIRONMENT -It is often desirable to enter the terminal type and information about -the terminal's capabilities into the shell's environment. -This is done using the \fB-s\fR option. -.PP -When the \fB-s\fR option is specified, the commands to enter the information -into the shell's environment are written to the standard output. If -the \fBSHELL\fR environmental variable ends in ``csh'', the commands -are for \fBcsh\fR, otherwise, they are for \fBsh\fR. -Note, the \fBcsh\fR commands set and unset the shell variable -\fBnoglob\fR, leaving it unset. The following line in the \fB.login\fR -or \fB.profile\fR files will initialize the environment correctly: - - eval \`tset -s options ... \` - -.SH TERMINAL TYPE MAPPING -When the terminal is not hardwired into the system (or the current -system information is incorrect) the terminal type derived from the -\fI/etc/ttys\fR file or the \fBTERM\fR environmental variable is often -something generic like \fBnetwork\fR, \fBdialup\fR, or \fBunknown\fR. -When \fBtset\fR is used in a startup script it is often desirable to -provide information about the type of terminal used on such ports. -.PP -The purpose of the \fB-m\fR option is to map -from some set of conditions to a terminal type, that is, to -tell \fBtset\fR -``If I'm on this port at a particular speed, guess that I'm on that -kind of terminal''. -.PP -The argument to the \fB-m\fR option consists of an optional port type, an -optional operator, an optional baud rate specification, an optional -colon (``:'') character and a terminal type. The port type is a -string (delimited by either the operator or the colon character). The -operator may be any combination of ``>'', ``<'', ``@'', and ``!''; ``>'' -means greater than, ``<'' means less than, ``@'' means equal to -and ``!'' inverts the sense of the test. -The baud rate is specified as a number and is compared with the speed -of the standard error output (which should be the control terminal). -The terminal type is a string. -.PP -If the terminal type is not specified on the command line, the \fB-m\fR -mappings are applied to the terminal type. If the port type and baud -rate match the mapping, the terminal type specified in the mapping -replaces the current type. If more than one mapping is specified, the -first applicable mapping is used. -.PP -For example, consider the following mapping: \fBdialup>9600:vt100\fR. -The port type is dialup , the operator is >, the baud rate -specification is 9600, and the terminal type is vt100. The result of -this mapping is to specify that if the terminal type is \fBdialup\fR, -and the baud rate is greater than 9600 baud, a terminal type of -\fBvt100\fR will be used. -.PP -If no baud rate is specified, the terminal type will match any baud rate. -If no port type is specified, the terminal type will match any port type. -For example, \fB-m dialup:vt100 -m :?xterm\fR -will cause any dialup port, regardless of baud rate, to match the terminal -type vt100, and any non-dialup port type to match the terminal type ?xterm. -Note, because of the leading question mark, the user will be -queried on a default port as to whether they are actually using an xterm -terminal. -.PP -No whitespace characters are permitted in the \fB-m\fR option argument. -Also, to avoid problems with meta-characters, it is suggested that the -entire \fB-m\fR option argument be placed within single quote characters, -and that \fBcsh\fR users insert a backslash character (``\e'') before -any exclamation marks (``!''). -.SH HISTORY -The \fBtset\fR command appeared in BSD 3.0. The \fBncurses\fR implementation -was lightly adapted from the 4.4BSD sources for a terminfo environment by Eric -S. Raymond . -.SH COMPATIBILITY -The \fBtset\fR utility has been provided for backward-compatibility with BSD -environments (under most modern UNIXes, \fB/etc/inittab\fR and \fIgetty\fR(1) -can set \fBTERM\fR appropriately for each dial-up line; this obviates what was -\fBtset\fR's most important use). This implementation behaves like 4.4BSD -tset, with a few exceptions specified here. -.PP -The \fB-S\fR option of BSD tset no longer works; it prints an error message to stderr -and dies. The \fB-s\fR option only sets \fBTERM\fR, not \fBTERMCAP\fP. Both these -changes are because the \fBTERMCAP\fR variable is no longer supported under -terminfo-based \fBncurses\fR, which makes \fBtset -S\fR useless (we made it die -noisily rather than silently induce lossage). -.PP -There was an undocumented 4.4BSD feature that invoking tset via a link named -`TSET` (or via any other name beginning with an upper-case letter) set the -terminal to use upper-case only. This feature has been omitted. -.PP -The \fB-A\fR, \fB-E\fR, \fB-h\fR, \fB-u\fR and \fB-v\fR -options were deleted from the \fBtset\fR -utility in 4.4BSD. -None of them were documented in 4.3BSD and all are -of limited utility at best. -The \fB-a\fR, \fB-d\fR, and \fB-p\fR options are similarly -not documented or useful, but were retained as they appear to be in -widespread use. It is strongly recommended that any usage of these -three options be changed to use the \fB-m\fR option instead. The --n option remains, but has no effect. The \fB-adnp\fR options are therefore -omitted from the usage summary above. -.PP -It is still permissible to specify the \fB-e\fR, \fB-i\fR, and \fB-k\fR options without -arguments, although it is strongly recommended that such usage be fixed to -explicitly specify the character. -.PP -As of 4.4BSD, executing \fBtset\fR as \fBreset\fR no longer implies the \fB-Q\fR -option. Also, the interaction between the - option and the \fIterminal\fR -argument in some historic implementations of \fBtset\fR has been removed. -.SH ENVIRONMENT -The \fBtset\fR command uses the \fBSHELL\fR and \fBTERM\fR -environment variables. -.SH FILES -.TP 5 -/etc/ttys -system port name to terminal type mapping database (BSD versions only). -.TP -@TERMINFO@ -terminal capability database -.SH SEE ALSO -csh(1), -sh(1), -stty(1), -setupterm(3), -tty(4), -termcap(5), -ttys(5), -environ(7) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: - diff --git a/src/libs/ncurses/man/wresize.3x b/src/libs/ncurses/man/wresize.3x deleted file mode 100644 index ce7c10b8d9..0000000000 --- a/src/libs/ncurses/man/wresize.3x +++ /dev/null @@ -1,64 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * -.\" * -.\" Permission is hereby granted, free of charge, to any person obtaining a * -.\" copy of this software and associated documentation files (the * -.\" "Software"), to deal in the Software without restriction, including * -.\" without limitation the rights to use, copy, modify, merge, publish, * -.\" distribute, distribute with modifications, sublicense, and/or sell * -.\" copies of the Software, and to permit persons to whom the Software is * -.\" furnished to do so, subject to the following conditions: * -.\" * -.\" The above copyright notice and this permission notice shall be included * -.\" in all copies or substantial portions of the Software. * -.\" * -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * -.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * -.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * -.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * -.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -.\" * -.\" Except as contained in this notice, the name(s) of the above copyright * -.\" holders shall not be used in advertising or otherwise to promote the * -.\" sale, use or other dealings in this Software without prior written * -.\" authorization. * -.\"*************************************************************************** -.\" -.\" Author: Thomas E. Dickey 1996 -.\" -.\" $Id: wresize.3x,v 1.8 2003/10/25 20:41:08 tom Exp $ -.TH wresize 3X "" -.SH NAME -\fBwresize\fR - resize a curses window -.SH SYNOPSIS -\fB#include \fR - -\fBint wresize(WINDOW *win, int lines, int columns);\fR -.SH DESCRIPTION -The \fBwresize\fR function reallocates storage for an \fBncurses\fR -window to adjust its dimensions to the specified values. -If either dimension is larger than the current values, the -window's data is filled with blanks that have the current background rendition -(as set by \fBwbkgndset\fR) merged into them. -.SH RETURN VALUE -The function returns the integer \fBERR\fR upon failure and \fBOK\fR on success. -It will fail if either of the dimensions less than or equal to zero, -or if an error occurs while (re)allocating memory for the window. -.SH NOTES -The only restriction placed on the dimensions is that they be greater than zero. -The dimensions are not compared to \fBcurses\fR screen dimensions to -simplify the logic of \fBresizeterm\fR. -The caller must ensure that the window's dimensions fit within the -actual screen dimensions. -.SH SEE ALSO -\fBresizeterm\fR(3X). -.SH AUTHOR -Thomas Dickey (from an equivalent function written in 1988 for BSD curses). -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/menu/Makefile b/src/libs/ncurses/menu/Makefile deleted file mode 100644 index 539477d047..0000000000 --- a/src/libs/ncurses/menu/Makefile +++ /dev/null @@ -1,621 +0,0 @@ -# $Id: Makefile.in,v 1.42 2004/12/11 23:33:16 tom Exp $ -############################################################################## -# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996,1997 -# -# Makefile for menu source code. -# -# This makes the following: -# libraries (normal/debug/profile/shared) -# -# The variable 'srcdir' refers to the source-distribution, and can be set with -# the configure script by "--srcdir=DIR". -# -# The rules are organized to produce the libraries for the configured models, - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -x = -o = .o - -MODEL = normal -DESTDIR = -srcdir = . -prefix = /usr/local -exec_prefix = ${prefix} -bindir = ${exec_prefix}/bin -libdir = ${exec_prefix}/lib -includedir = $(prefix)/include/ncurses - -LIBTOOL = -LIBTOOL_CLEAN = -LIBTOOL_COMPILE = -LIBTOOL_LINK = -LIBTOOL_INSTALL = -LIBTOOL_UNINSTALL = - -INSTALL = /bin/install -c -INSTALL_LIB = /bin/install -c -m 644 -INSTALL_PROG = @INSTALL_PROG@ -INSTALL_DATA = ${INSTALL} -m 644 - -AR = ar -AR_OPTS = rv -AWK = gawk -LD = ld -LN_S = ln -s - -CC = gcc -CPP = gcc -E -CFLAGS = -O2 - -CPPFLAGS = -I../ncurses -DHAVE_CONFIG_H -I. -I../include -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=199506L -DNDEBUG -I$(includedir) - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) - -CFLAGS_LIBTOOL = $(CCFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) -g -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) -fPIC - -CFLAGS_DEFAULT = $(CFLAGS_NORMAL) - -LINK = $(LIBTOOL_LINK) $(CC) -LDFLAGS = - -SHLIB_DIRS = -L../lib -SHLIB_LIST = $(SHLIB_DIRS) -lncurses - -MK_SHARED_LIB = $(CC) -o $@ -Xlinker -soname=`basename $@` -nostart -e 0 - -NCURSES_MAJOR = 5 -NCURSES_MINOR = 5 -REL_VERSION = 5.5 -ABI_VERSION = 5 - -RANLIB = ranlib - -IMPORT_LIB = -SHARED_LIB = -LIBRARIES = ../lib/libmenu.a ../lib/libmenu_g.a - -LINT = -LINT_OPTS = -LINT_LIBS = -lmenu -lncurses - -AUTO_SRC = \ - ../include/menu.h \ - ../include/eti.h \ - ../include/mf_common.h - -################################################################################ -all \ -libs \ -install :: $(AUTO_SRC) $(LIBRARIES) - -sources : $(AUTO_SRC) - -$(DESTDIR)$(bindir) \ -$(DESTDIR)$(libdir) : - sh $(srcdir)/../mkinstalldirs $@ - -# make copies to simplify include-paths while still keeping menu's include -# file in this directory. -../include/menu.h : $(srcdir)/menu.h - -rm -f $@ - cp $(srcdir)/menu.h $@ -../include/eti.h : $(srcdir)/eti.h - -rm -f $@ - cp $(srcdir)/eti.h $@ -../include/mf_common.h : $(srcdir)/mf_common.h - -rm -f $@ - cp $(srcdir)/mf_common.h $@ - -MENU_PRIV_H = \ - $(srcdir)/menu.priv.h \ - $(AUTO_SRC) \ - ../include/curses.h - -tags: - ctags *.[ch] - -TAGS: - etags *.[ch] - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace - -clean :: mostlyclean - -rm -f $(AUTO_SRC) - -distclean :: clean - -rm -f Makefile - -realclean :: distclean - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### - -# generated by mk-0th.awk -# libname: menu -# subsets: termlib+ext_tinfo+base+ext_funcs - -.SUFFIXES: .c .cc .h .i .ii -.c.i : - $(CPP) $(CPPFLAGS) $< >$@ -.cc.ii : - $(CPP) $(CPPFLAGS) $< >$@ -.h.i : - $(CPP) $(CPPFLAGS) $< >$@ - -C_SRC = \ - $(srcdir)/m_attribs.c \ - $(srcdir)/m_cursor.c \ - $(srcdir)/m_driver.c \ - $(srcdir)/m_format.c \ - $(srcdir)/m_global.c \ - $(srcdir)/m_hook.c \ - $(srcdir)/m_item_cur.c \ - $(srcdir)/m_item_nam.c \ - $(srcdir)/m_item_new.c \ - $(srcdir)/m_item_opt.c \ - $(srcdir)/m_item_top.c \ - $(srcdir)/m_item_use.c \ - $(srcdir)/m_item_val.c \ - $(srcdir)/m_item_vis.c \ - $(srcdir)/m_items.c \ - $(srcdir)/m_new.c \ - $(srcdir)/m_opts.c \ - $(srcdir)/m_pad.c \ - $(srcdir)/m_pattern.c \ - $(srcdir)/m_post.c \ - $(srcdir)/m_req_name.c \ - $(srcdir)/m_scale.c \ - $(srcdir)/m_spacing.c \ - $(srcdir)/m_sub.c \ - $(srcdir)/m_trace.c \ - $(srcdir)/m_userptr.c \ - $(srcdir)/m_win.c - -# Producing llib-lmenu is time-consuming, so there's no direct-dependency for -# it in the lintlib rule. We'll only remove in the cleanest setup. -clean :: - rm -f llib-lmenu.* - -realclean :: - rm -f llib-lmenu - -llib-lmenu : $(C_SRC) - cproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(C_SRC) >$@ - -lintlib : - sh $(srcdir)/../misc/makellib menu $(CPPFLAGS) -lint : - $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(C_SRC) $(LINT_LIBS) - -# generated by mk-1st.awk (subset=termlib+ext_tinfo+base+ext_funcs) -# name: menu -# traces: DEBUG -# MODEL: NORMAL -# model: objects -# prefix: lib -# suffix: .a -# subset: termlib+ext_tinfo+base+ext_funcs -# ShlibVer: auto -# ShlibVerInfix: no -# DoLinks: no -# rmSoLocs: no -# ldconfig: -# overwrite: no -# depend: ../include/ncurses_cfg.h ./menu.priv.h -# host: i586-pc-beos - -NORMAL_OBJS = \ - ../objects/m_attribs$o \ - ../objects/m_cursor$o \ - ../objects/m_driver$o \ - ../objects/m_format$o \ - ../objects/m_global$o \ - ../objects/m_hook$o \ - ../objects/m_item_cur$o \ - ../objects/m_item_nam$o \ - ../objects/m_item_new$o \ - ../objects/m_item_opt$o \ - ../objects/m_item_top$o \ - ../objects/m_item_use$o \ - ../objects/m_item_val$o \ - ../objects/m_item_vis$o \ - ../objects/m_items$o \ - ../objects/m_new$o \ - ../objects/m_opts$o \ - ../objects/m_pad$o \ - ../objects/m_pattern$o \ - ../objects/m_post$o \ - ../objects/m_req_name$o \ - ../objects/m_scale$o \ - ../objects/m_spacing$o \ - ../objects/m_sub$o \ - ../objects/m_userptr$o \ - ../objects/m_win$o - -$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./menu.priv.h - -../lib/libmenu.a : $(NORMAL_OBJS) - $(AR) $(AR_OPTS) $@ $? - $(RANLIB) $@ - -install \ -install.libs \ -install.menu :: $(DESTDIR)$(libdir) ../lib/libmenu.a - @echo installing ../lib/libmenu.a as $(DESTDIR)$(libdir)/libmenu.a - $(INSTALL_DATA) ../lib/libmenu.a $(DESTDIR)$(libdir)/libmenu.a - $(RANLIB) $(DESTDIR)$(libdir)/libmenu.a - -uninstall \ -uninstall.libs \ -uninstall.menu :: - @echo uninstalling $(DESTDIR)$(libdir)/libmenu.a - -@rm -f $(DESTDIR)$(libdir)/libmenu.a - -clean :: - -rm -f ../lib/libmenu.a - -mostlyclean:: - -rm -f $(NORMAL_OBJS) - -# generated by mk-2nd.awk -# model: objects -# MODEL: NORMAL -# echo: yes -# subset: termlib+ext_tinfo+base+ext_funcs -# crenames: yes -# cxxrenames: yes -# traces: DEBUG -# srcdir: . - -../objects/m_attribs$o : $(srcdir)/m_attribs.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_attribs.c -o ../objects/m_attribs$o - -../objects/m_cursor$o : $(srcdir)/m_cursor.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_cursor.c -o ../objects/m_cursor$o - -../objects/m_driver$o : $(srcdir)/m_driver.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_driver.c -o ../objects/m_driver$o - -../objects/m_format$o : $(srcdir)/m_format.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_format.c -o ../objects/m_format$o - -../objects/m_global$o : $(srcdir)/m_global.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_global.c -o ../objects/m_global$o - -../objects/m_hook$o : $(srcdir)/m_hook.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_hook.c -o ../objects/m_hook$o - -../objects/m_item_cur$o : $(srcdir)/m_item_cur.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_cur.c -o ../objects/m_item_cur$o - -../objects/m_item_nam$o : $(srcdir)/m_item_nam.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_nam.c -o ../objects/m_item_nam$o - -../objects/m_item_new$o : $(srcdir)/m_item_new.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_new.c -o ../objects/m_item_new$o - -../objects/m_item_opt$o : $(srcdir)/m_item_opt.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_opt.c -o ../objects/m_item_opt$o - -../objects/m_item_top$o : $(srcdir)/m_item_top.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_top.c -o ../objects/m_item_top$o - -../objects/m_item_use$o : $(srcdir)/m_item_use.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_use.c -o ../objects/m_item_use$o - -../objects/m_item_val$o : $(srcdir)/m_item_val.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_val.c -o ../objects/m_item_val$o - -../objects/m_item_vis$o : $(srcdir)/m_item_vis.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_vis.c -o ../objects/m_item_vis$o - -../objects/m_items$o : $(srcdir)/m_items.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_items.c -o ../objects/m_items$o - -../objects/m_new$o : $(srcdir)/m_new.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_new.c -o ../objects/m_new$o - -../objects/m_opts$o : $(srcdir)/m_opts.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_opts.c -o ../objects/m_opts$o - -../objects/m_pad$o : $(srcdir)/m_pad.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_pad.c -o ../objects/m_pad$o - -../objects/m_pattern$o : $(srcdir)/m_pattern.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_pattern.c -o ../objects/m_pattern$o - -../objects/m_post$o : $(srcdir)/m_post.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_post.c -o ../objects/m_post$o - -../objects/m_req_name$o : $(srcdir)/m_req_name.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_req_name.c -o ../objects/m_req_name$o - -../objects/m_scale$o : $(srcdir)/m_scale.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_scale.c -o ../objects/m_scale$o - -../objects/m_spacing$o : $(srcdir)/m_spacing.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_spacing.c -o ../objects/m_spacing$o - -../objects/m_sub$o : $(srcdir)/m_sub.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_sub.c -o ../objects/m_sub$o - -../objects/m_userptr$o : $(srcdir)/m_userptr.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_userptr.c -o ../objects/m_userptr$o - -../objects/m_win$o : $(srcdir)/m_win.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_win.c -o ../objects/m_win$o - - -# generated by mk-1st.awk (subset=termlib+ext_tinfo+base+ext_funcs) -# name: menu -# traces: DEBUG -# MODEL: DEBUG -# model: obj_g -# prefix: lib -# suffix: _g.a -# subset: termlib+ext_tinfo+base+ext_funcs -# ShlibVer: auto -# ShlibVerInfix: no -# DoLinks: no -# rmSoLocs: no -# ldconfig: -# overwrite: no -# depend: ../include/ncurses_cfg.h ./menu.priv.h -# host: i586-pc-beos - -DEBUG_OBJS = \ - ../obj_g/m_attribs$o \ - ../obj_g/m_cursor$o \ - ../obj_g/m_driver$o \ - ../obj_g/m_format$o \ - ../obj_g/m_global$o \ - ../obj_g/m_hook$o \ - ../obj_g/m_item_cur$o \ - ../obj_g/m_item_nam$o \ - ../obj_g/m_item_new$o \ - ../obj_g/m_item_opt$o \ - ../obj_g/m_item_top$o \ - ../obj_g/m_item_use$o \ - ../obj_g/m_item_val$o \ - ../obj_g/m_item_vis$o \ - ../obj_g/m_items$o \ - ../obj_g/m_new$o \ - ../obj_g/m_opts$o \ - ../obj_g/m_pad$o \ - ../obj_g/m_pattern$o \ - ../obj_g/m_post$o \ - ../obj_g/m_req_name$o \ - ../obj_g/m_scale$o \ - ../obj_g/m_spacing$o \ - ../obj_g/m_sub$o \ - ../obj_g/m_trace$o \ - ../obj_g/m_userptr$o \ - ../obj_g/m_win$o - -$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./menu.priv.h - -../lib/libmenu_g.a : $(DEBUG_OBJS) - $(AR) $(AR_OPTS) $@ $? - $(RANLIB) $@ - -install \ -install.libs \ -install.menu :: $(DESTDIR)$(libdir) ../lib/libmenu_g.a - @echo installing ../lib/libmenu_g.a as $(DESTDIR)$(libdir)/libmenu_g.a - $(INSTALL_DATA) ../lib/libmenu_g.a $(DESTDIR)$(libdir)/libmenu_g.a - $(RANLIB) $(DESTDIR)$(libdir)/libmenu_g.a - -uninstall \ -uninstall.libs \ -uninstall.menu :: - @echo uninstalling $(DESTDIR)$(libdir)/libmenu_g.a - -@rm -f $(DESTDIR)$(libdir)/libmenu_g.a - -clean :: - -rm -f ../lib/libmenu_g.a - -mostlyclean:: - -rm -f $(DEBUG_OBJS) - -# generated by mk-2nd.awk -# model: obj_g -# MODEL: DEBUG -# echo: yes -# subset: termlib+ext_tinfo+base+ext_funcs -# crenames: yes -# cxxrenames: yes -# traces: DEBUG -# srcdir: . - -../obj_g/m_attribs$o : $(srcdir)/m_attribs.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_attribs.c -o ../obj_g/m_attribs$o - -../obj_g/m_cursor$o : $(srcdir)/m_cursor.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_cursor.c -o ../obj_g/m_cursor$o - -../obj_g/m_driver$o : $(srcdir)/m_driver.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_driver.c -o ../obj_g/m_driver$o - -../obj_g/m_format$o : $(srcdir)/m_format.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_format.c -o ../obj_g/m_format$o - -../obj_g/m_global$o : $(srcdir)/m_global.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_global.c -o ../obj_g/m_global$o - -../obj_g/m_hook$o : $(srcdir)/m_hook.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_hook.c -o ../obj_g/m_hook$o - -../obj_g/m_item_cur$o : $(srcdir)/m_item_cur.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_cur.c -o ../obj_g/m_item_cur$o - -../obj_g/m_item_nam$o : $(srcdir)/m_item_nam.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_nam.c -o ../obj_g/m_item_nam$o - -../obj_g/m_item_new$o : $(srcdir)/m_item_new.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_new.c -o ../obj_g/m_item_new$o - -../obj_g/m_item_opt$o : $(srcdir)/m_item_opt.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_opt.c -o ../obj_g/m_item_opt$o - -../obj_g/m_item_top$o : $(srcdir)/m_item_top.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_top.c -o ../obj_g/m_item_top$o - -../obj_g/m_item_use$o : $(srcdir)/m_item_use.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_use.c -o ../obj_g/m_item_use$o - -../obj_g/m_item_val$o : $(srcdir)/m_item_val.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_val.c -o ../obj_g/m_item_val$o - -../obj_g/m_item_vis$o : $(srcdir)/m_item_vis.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_vis.c -o ../obj_g/m_item_vis$o - -../obj_g/m_items$o : $(srcdir)/m_items.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_items.c -o ../obj_g/m_items$o - -../obj_g/m_new$o : $(srcdir)/m_new.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_new.c -o ../obj_g/m_new$o - -../obj_g/m_opts$o : $(srcdir)/m_opts.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_opts.c -o ../obj_g/m_opts$o - -../obj_g/m_pad$o : $(srcdir)/m_pad.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_pad.c -o ../obj_g/m_pad$o - -../obj_g/m_pattern$o : $(srcdir)/m_pattern.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_pattern.c -o ../obj_g/m_pattern$o - -../obj_g/m_post$o : $(srcdir)/m_post.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_post.c -o ../obj_g/m_post$o - -../obj_g/m_req_name$o : $(srcdir)/m_req_name.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_req_name.c -o ../obj_g/m_req_name$o - -../obj_g/m_scale$o : $(srcdir)/m_scale.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_scale.c -o ../obj_g/m_scale$o - -../obj_g/m_spacing$o : $(srcdir)/m_spacing.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_spacing.c -o ../obj_g/m_spacing$o - -../obj_g/m_sub$o : $(srcdir)/m_sub.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_sub.c -o ../obj_g/m_sub$o - -../obj_g/m_trace$o : $(srcdir)/m_trace.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_trace.c -o ../obj_g/m_trace$o - -../obj_g/m_userptr$o : $(srcdir)/m_userptr.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_userptr.c -o ../obj_g/m_userptr$o - -../obj_g/m_win$o : $(srcdir)/m_win.c \ - $(MENU_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_win.c -o ../obj_g/m_win$o - -$(DESTDIR)$(includedir) : - sh $(srcdir)/../mkinstalldirs $@ - -install \ -install.libs \ -install.includes :: $(AUTO_SRC) $(DESTDIR)$(includedir) \ - $(srcdir)/eti.h \ - $(srcdir)/menu.h - @ (cd $(DESTDIR)$(includedir) && rm -f eti.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/eti.h - @ (cd $(DESTDIR)$(includedir) && rm -f menu.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/menu.h - -uninstall \ -uninstall.libs \ -uninstall.includes :: - -@ (cd $(DESTDIR)$(includedir) && rm -f eti.h) - -@ (cd $(DESTDIR)$(includedir) && rm -f menu.h) -depend : $(AUTO_SRC) - makedepend -- $(CPPFLAGS) -- $(C_SRC) - -# DO NOT DELETE THIS LINE -- make depend depends on it. diff --git a/src/libs/ncurses/menu/Makefile.in b/src/libs/ncurses/menu/Makefile.in deleted file mode 100644 index 2ddfa33764..0000000000 --- a/src/libs/ncurses/menu/Makefile.in +++ /dev/null @@ -1,169 +0,0 @@ -# $Id: Makefile.in,v 1.42 2004/12/11 23:33:16 tom Exp $ -############################################################################## -# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996,1997 -# -# Makefile for menu source code. -# -# This makes the following: -# libraries (normal/debug/profile/shared) -# -# The variable 'srcdir' refers to the source-distribution, and can be set with -# the configure script by "--srcdir=DIR". -# -# The rules are organized to produce the libraries for the configured models, - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -x = @EXEEXT@ -o = .@OBJEXT@ - -MODEL = @DFT_LWR_MODEL@ -DESTDIR = @DESTDIR@ -srcdir = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ -bindir = @bindir@ -libdir = @libdir@ -includedir = @includedir@ - -LIBTOOL = @LIBTOOL@ -LIBTOOL_CLEAN = @LIB_CLEAN@ -LIBTOOL_COMPILE = @LIB_COMPILE@ -LIBTOOL_LINK = @LIB_LINK@ -LIBTOOL_INSTALL = @LIB_INSTALL@ -LIBTOOL_UNINSTALL = @LIB_UNINSTALL@ - -INSTALL = @INSTALL@ -INSTALL_LIB = @INSTALL@ @INSTALL_LIB@ -INSTALL_PROG = @INSTALL_PROG@ -INSTALL_DATA = @INSTALL_DATA@ - -AR = @AR@ -AR_OPTS = @AR_OPTS@ -AWK = @AWK@ -LD = @LD@ -LN_S = @LN_S@ - -CC = @CC@ -CPP = @CPP@ -CFLAGS = @CFLAGS@ - -CPPFLAGS = -I@top_srcdir@/ncurses -DHAVE_CONFIG_H @CPPFLAGS@ - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) - -CFLAGS_LIBTOOL = $(CCFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ - -CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) - -LINK = $(LIBTOOL_LINK) $(CC) -LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ - -SHLIB_DIRS = -L../lib -SHLIB_LIST = $(SHLIB_DIRS) -lncurses@LIB_SUFFIX@ @SHLIB_LIST@ - -MK_SHARED_LIB = @MK_SHARED_LIB@ - -NCURSES_MAJOR = @NCURSES_MAJOR@ -NCURSES_MINOR = @NCURSES_MINOR@ -REL_VERSION = @cf_cv_rel_version@ -ABI_VERSION = @cf_cv_abi_version@ - -RANLIB = @LIB_PREP@ - -IMPORT_LIB = @IMPORT_LIB@ -SHARED_LIB = @SHARED_LIB@ -LIBRARIES = @LIBS_TO_MAKE@ - -LINT = @LINT@ -LINT_OPTS = @LINT_OPTS@ -LINT_LIBS = -lmenu -lncurses @LIBS@ - -AUTO_SRC = \ - ../include/menu.h \ - ../include/eti.h \ - ../include/mf_common.h - -################################################################################ -all \ -libs \ -install :: $(AUTO_SRC) $(LIBRARIES) - -sources : $(AUTO_SRC) - -$(DESTDIR)$(bindir) \ -$(DESTDIR)$(libdir) : - sh $(srcdir)/../mkinstalldirs $@ - -# make copies to simplify include-paths while still keeping menu's include -# file in this directory. -../include/menu.h : $(srcdir)/menu.h - -rm -f $@ - cp $(srcdir)/menu.h $@ -../include/eti.h : $(srcdir)/eti.h - -rm -f $@ - cp $(srcdir)/eti.h $@ -../include/mf_common.h : $(srcdir)/mf_common.h - -rm -f $@ - cp $(srcdir)/mf_common.h $@ - -MENU_PRIV_H = \ - $(srcdir)/menu.priv.h \ - $(AUTO_SRC) \ - ../include/curses.h - -tags: - ctags *.[ch] - -@MAKE_UPPER_TAGS@TAGS: -@MAKE_UPPER_TAGS@ etags *.[ch] - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace - -clean :: mostlyclean - -rm -f $(AUTO_SRC) - -distclean :: clean - -rm -f Makefile - -realclean :: distclean - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### diff --git a/src/libs/ncurses/menu/READ.ME b/src/libs/ncurses/menu/READ.ME deleted file mode 100644 index e3a7e52490..0000000000 --- a/src/libs/ncurses/menu/READ.ME +++ /dev/null @@ -1,14 +0,0 @@ --- $Id: READ.ME,v 1.8 2003/10/25 15:22:35 tom Exp $ -------------------------------------------------------------------------------- -This is a clone of the menu library that is available with typical -System V curses implementations (ETI). - -It is modelled after the documentation that comes for this library with -a 386 based SVR4 implementation (ESIX). - -The development environment was and is an ELF based Linux system. - -For things that still need doing, see the TO-DO file in the top-level -directory. - -Juergen Pfeifer diff --git a/src/libs/ncurses/menu/eti.h b/src/libs/ncurses/menu/eti.h deleted file mode 100644 index baa6190d8f..0000000000 --- a/src/libs/ncurses/menu/eti.h +++ /dev/null @@ -1,54 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/* $Id: eti.h,v 1.8 2003/10/25 15:24:29 tom Exp $ */ - -#ifndef NCURSES_ETI_H_incl -#define NCURSES_ETI_H_incl 1 - -#define E_OK (0) -#define E_SYSTEM_ERROR (-1) -#define E_BAD_ARGUMENT (-2) -#define E_POSTED (-3) -#define E_CONNECTED (-4) -#define E_BAD_STATE (-5) -#define E_NO_ROOM (-6) -#define E_NOT_POSTED (-7) -#define E_UNKNOWN_COMMAND (-8) -#define E_NO_MATCH (-9) -#define E_NOT_SELECTABLE (-10) -#define E_NOT_CONNECTED (-11) -#define E_REQUEST_DENIED (-12) -#define E_INVALID_FIELD (-13) -#define E_CURRENT (-14) - -#endif diff --git a/src/libs/ncurses/menu/headers b/src/libs/ncurses/menu/headers deleted file mode 100644 index 3fe0be08d2..0000000000 --- a/src/libs/ncurses/menu/headers +++ /dev/null @@ -1,32 +0,0 @@ -############################################################################## -# Copyright (c) 1998 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996 -# -$(srcdir)/eti.h -$(srcdir)/menu.h diff --git a/src/libs/ncurses/menu/llib-lmenu b/src/libs/ncurses/menu/llib-lmenu deleted file mode 100644 index fc17cc364d..0000000000 --- a/src/libs/ncurses/menu/llib-lmenu +++ /dev/null @@ -1,545 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1999-2002,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1996-2002,2005 * - ****************************************************************************/ -/* LINTLIBRARY */ - -/* ./m_attribs.c */ - -#include "menu.priv.h" - -#undef set_menu_fore -int set_menu_fore( - MENU *menu, - chtype attr) - { return(*(int *)0); } - -#undef menu_fore -chtype menu_fore( - const MENU *menu) - { return(*(chtype *)0); } - -#undef set_menu_back -int set_menu_back( - MENU *menu, - chtype attr) - { return(*(int *)0); } - -#undef menu_back -chtype menu_back( - const MENU *menu) - { return(*(chtype *)0); } - -#undef set_menu_grey -int set_menu_grey( - MENU *menu, - chtype attr) - { return(*(int *)0); } - -#undef menu_grey -chtype menu_grey( - const MENU *menu) - { return(*(chtype *)0); } - -/* ./m_cursor.c */ - -#undef _nc_menu_cursor_pos -int _nc_menu_cursor_pos( - const MENU *menu, - const ITEM *item, - int *pY, - int *pX) - { return(*(int *)0); } - -#undef pos_menu_cursor -int pos_menu_cursor( - const MENU *menu) - { return(*(int *)0); } - -/* ./m_driver.c */ - -#undef _nc_Match_Next_Character_In_Item_Name -int _nc_Match_Next_Character_In_Item_Name( - MENU *menu, - int ch, - ITEM **item) - { return(*(int *)0); } - -#undef menu_driver -int menu_driver( - MENU *menu, - int c) - { return(*(int *)0); } - -/* ./m_format.c */ - -#undef set_menu_format -int set_menu_format( - MENU *menu, - int rows, - int cols) - { return(*(int *)0); } - -#undef menu_format -void menu_format( - const MENU *menu, - int *rows, - int *cols) - { /* void */ } - -/* ./m_global.c */ - -#undef _nc_Default_Menu -MENU _nc_Default_Menu; -#undef _nc_Default_Item -ITEM _nc_Default_Item; - -#undef _nc_Connect_Items -NCURSES_BOOL _nc_Connect_Items( - MENU *menu, - ITEM **items) - { return(*(NCURSES_BOOL *)0); } - -#undef _nc_Disconnect_Items -void _nc_Disconnect_Items( - MENU *menu) - { /* void */ } - -#undef _nc_Calculate_Text_Width -int _nc_Calculate_Text_Width( - const TEXT *item) - { return(*(int *)0); } - -#undef _nc_Calculate_Item_Length_and_Width -void _nc_Calculate_Item_Length_and_Width( - MENU *menu) - { /* void */ } - -#undef _nc_Link_Items -void _nc_Link_Items( - MENU *menu) - { /* void */ } - -#undef _nc_Show_Menu -void _nc_Show_Menu( - const MENU *menu) - { /* void */ } - -#undef _nc_New_TopRow_and_CurrentItem -void _nc_New_TopRow_and_CurrentItem( - MENU *menu, - int new_toprow, - ITEM *new_current_item) - { /* void */ } - -/* ./m_hook.c */ - -#undef set_menu_init -int set_menu_init( - MENU *menu, - Menu_Hook func) - { return(*(int *)0); } - -#undef menu_init -Menu_Hook menu_init( - const MENU *menu) - { return(*(Menu_Hook *)0); } - -#undef set_menu_term -int set_menu_term( - MENU *menu, - Menu_Hook func) - { return(*(int *)0); } - -#undef menu_term -Menu_Hook menu_term( - const MENU *menu) - { return(*(Menu_Hook *)0); } - -#undef set_item_init -int set_item_init( - MENU *menu, - Menu_Hook func) - { return(*(int *)0); } - -#undef item_init -Menu_Hook item_init( - const MENU *menu) - { return(*(Menu_Hook *)0); } - -#undef set_item_term -int set_item_term( - MENU *menu, - Menu_Hook func) - { return(*(int *)0); } - -#undef item_term -Menu_Hook item_term( - const MENU *menu) - { return(*(Menu_Hook *)0); } - -/* ./m_item_cur.c */ - -#undef set_current_item -int set_current_item( - MENU *menu, - ITEM *item) - { return(*(int *)0); } - -#undef current_item -ITEM *current_item( - const MENU *menu) - { return(*(ITEM **)0); } - -#undef item_index -int item_index( - const ITEM *item) - { return(*(int *)0); } - -/* ./m_item_nam.c */ - -#undef item_name -const char *item_name( - const ITEM *item) - { return(*(const char **)0); } - -#undef item_description -const char *item_description( - const ITEM *item) - { return(*(const char **)0); } - -/* ./m_item_new.c */ - -#undef new_item -ITEM *new_item( - const char *name, - const char *description) - { return(*(ITEM **)0); } - -#undef free_item -int free_item( - ITEM *item) - { return(*(int *)0); } - -#undef set_menu_mark -int set_menu_mark( - MENU *menu, - const char *mark) - { return(*(int *)0); } - -#undef menu_mark -const char *menu_mark( - const MENU *menu) - { return(*(const char **)0); } - -/* ./m_item_opt.c */ - -#undef set_item_opts -int set_item_opts( - ITEM *item, - Item_Options opts) - { return(*(int *)0); } - -#undef item_opts_off -int item_opts_off( - ITEM *item, - Item_Options opts) - { return(*(int *)0); } - -#undef item_opts_on -int item_opts_on( - ITEM *item, - Item_Options opts) - { return(*(int *)0); } - -#undef item_opts -Item_Options item_opts( - const ITEM *item) - { return(*(Item_Options *)0); } - -/* ./m_item_top.c */ - -#undef set_top_row -int set_top_row( - MENU *menu, - int row) - { return(*(int *)0); } - -#undef top_row -int top_row( - const MENU *menu) - { return(*(int *)0); } - -/* ./m_item_use.c */ - -#undef set_item_userptr -int set_item_userptr( - ITEM *item, - void *userptr) - { return(*(int *)0); } - -#undef item_userptr -void *item_userptr( - const ITEM *item) - { return(*(void **)0); } - -/* ./m_item_val.c */ - -#undef set_item_value -int set_item_value( - ITEM *item, - NCURSES_BOOL value) - { return(*(int *)0); } - -#undef item_value -NCURSES_BOOL item_value( - const ITEM *item) - { return(*(NCURSES_BOOL *)0); } - -/* ./m_item_vis.c */ - -#undef item_visible -NCURSES_BOOL item_visible( - const ITEM *item) - { return(*(NCURSES_BOOL *)0); } - -/* ./m_items.c */ - -#undef set_menu_items -int set_menu_items( - MENU *menu, - ITEM **items) - { return(*(int *)0); } - -#undef menu_items -ITEM **menu_items( - const MENU *menu) - { return(*(ITEM ***)0); } - -#undef item_count -int item_count( - const MENU *menu) - { return(*(int *)0); } - -/* ./m_new.c */ - -#undef new_menu -MENU *new_menu( - ITEM **items) - { return(*(MENU **)0); } - -#undef free_menu -int free_menu( - MENU *menu) - { return(*(int *)0); } - -/* ./m_opts.c */ - -#undef set_menu_opts -int set_menu_opts( - MENU *menu, - Menu_Options opts) - { return(*(int *)0); } - -#undef menu_opts_off -int menu_opts_off( - MENU *menu, - Menu_Options opts) - { return(*(int *)0); } - -#undef menu_opts_on -int menu_opts_on( - MENU *menu, - Menu_Options opts) - { return(*(int *)0); } - -#undef menu_opts -Menu_Options menu_opts( - const MENU *menu) - { return(*(Menu_Options *)0); } - -/* ./m_pad.c */ - -#undef set_menu_pad -int set_menu_pad( - MENU *menu, - int pad) - { return(*(int *)0); } - -#undef menu_pad -int menu_pad( - const MENU *menu) - { return(*(int *)0); } - -/* ./m_pattern.c */ - -#undef menu_pattern -char *menu_pattern( - const MENU *menu) - { return(*(char **)0); } - -#undef set_menu_pattern -int set_menu_pattern( - MENU *menu, - const char *p) - { return(*(int *)0); } - -/* ./m_post.c */ - -#undef _nc_Post_Item -void _nc_Post_Item( - const MENU *menu, - const ITEM *item) - { /* void */ } - -#undef _nc_Draw_Menu -void _nc_Draw_Menu( - const MENU *menu) - { /* void */ } - -#undef post_menu -int post_menu( - MENU *menu) - { return(*(int *)0); } - -#undef unpost_menu -int unpost_menu( - MENU *menu) - { return(*(int *)0); } - -/* ./m_req_name.c */ - -#undef menu_request_name -const char *menu_request_name( - int request) - { return(*(const char **)0); } - -#undef menu_request_by_name -int menu_request_by_name( - const char *str) - { return(*(int *)0); } - -/* ./m_scale.c */ - -#undef scale_menu -int scale_menu( - const MENU *menu, - int *rows, - int *cols) - { return(*(int *)0); } - -/* ./m_spacing.c */ - -#undef set_menu_spacing -int set_menu_spacing( - MENU *menu, - int s_desc, - int s_row, - int s_col) - { return(*(int *)0); } - -#undef menu_spacing -int menu_spacing( - const MENU *menu, - int *s_desc, - int *s_row, - int *s_col) - { return(*(int *)0); } - -/* ./m_sub.c */ - -#undef set_menu_sub -int set_menu_sub( - MENU *menu, - WINDOW *win) - { return(*(int *)0); } - -#undef menu_sub -WINDOW *menu_sub( - const MENU *menu) - { return(*(WINDOW **)0); } - -/* ./m_trace.c */ - -#undef _nc_retrace_item -ITEM *_nc_retrace_item( - ITEM *code) - { return(*(ITEM **)0); } - -#undef _nc_retrace_item_ptr -ITEM **_nc_retrace_item_ptr( - ITEM **code) - { return(*(ITEM ***)0); } - -#undef _nc_retrace_item_opts -Item_Options _nc_retrace_item_opts( - Item_Options code) - { return(*(Item_Options *)0); } - -#undef _nc_retrace_menu -MENU *_nc_retrace_menu( - MENU *code) - { return(*(MENU **)0); } - -#undef _nc_retrace_menu_hook -Menu_Hook _nc_retrace_menu_hook( - Menu_Hook code) - { return(*(Menu_Hook *)0); } - -#undef _nc_retrace_menu_opts -Menu_Options _nc_retrace_menu_opts( - Menu_Options code) - { return(*(Menu_Options *)0); } - -/* ./m_userptr.c */ - -#undef set_menu_userptr -int set_menu_userptr( - MENU *menu, - void *userptr) - { return(*(int *)0); } - -#undef menu_userptr -void *menu_userptr( - const MENU *menu) - { return(*(void **)0); } - -/* ./m_win.c */ - -#undef set_menu_win -int set_menu_win( - MENU *menu, - WINDOW *win) - { return(*(int *)0); } - -#undef menu_win -WINDOW *menu_win( - const MENU *menu) - { return(*(WINDOW **)0); } diff --git a/src/libs/ncurses/menu/llib-lmenuw b/src/libs/ncurses/menu/llib-lmenuw deleted file mode 100644 index d21fb94884..0000000000 --- a/src/libs/ncurses/menu/llib-lmenuw +++ /dev/null @@ -1,547 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2002,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 2002,2005 * - ****************************************************************************/ -/* LINTLIBRARY */ - -/* ./m_attribs.c */ - -#include "menu.priv.h" - -#undef set_menu_fore -int set_menu_fore( - MENU *menu, - chtype attr) - { return(*(int *)0); } - -#undef menu_fore -chtype menu_fore( - const MENU *menu) - { return(*(chtype *)0); } - -#undef set_menu_back -int set_menu_back( - MENU *menu, - chtype attr) - { return(*(int *)0); } - -#undef menu_back -chtype menu_back( - const MENU *menu) - { return(*(chtype *)0); } - -#undef set_menu_grey -int set_menu_grey( - MENU *menu, - chtype attr) - { return(*(int *)0); } - -#undef menu_grey -chtype menu_grey( - const MENU *menu) - { return(*(chtype *)0); } - -/* ./m_cursor.c */ - -#undef _nc_menu_cursor_pos -int _nc_menu_cursor_pos( - const MENU *menu, - const ITEM *item, - int *pY, - int *pX) - { return(*(int *)0); } - -#undef pos_menu_cursor -int pos_menu_cursor( - const MENU *menu) - { return(*(int *)0); } - -/* ./m_driver.c */ - -#undef _nc_Match_Next_Character_In_Item_Name -int _nc_Match_Next_Character_In_Item_Name( - MENU *menu, - int ch, - ITEM **item) - { return(*(int *)0); } - -#undef menu_driver -int menu_driver( - MENU *menu, - int c) - { return(*(int *)0); } - -/* ./m_format.c */ - -#undef set_menu_format -int set_menu_format( - MENU *menu, - int rows, - int cols) - { return(*(int *)0); } - -#undef menu_format -void menu_format( - const MENU *menu, - int *rows, - int *cols) - { /* void */ } - -/* ./m_global.c */ - -#undef _nc_Default_Menu -MENU _nc_Default_Menu; -#undef _nc_Default_Item -ITEM _nc_Default_Item; - -#undef _nc_Connect_Items -NCURSES_BOOL _nc_Connect_Items( - MENU *menu, - ITEM **items) - { return(*(NCURSES_BOOL *)0); } - -#undef _nc_Disconnect_Items -void _nc_Disconnect_Items( - MENU *menu) - { /* void */ } - -#undef _nc_Calculate_Text_Width -int _nc_Calculate_Text_Width( - const TEXT *item) - { return(*(int *)0); } - -#undef _nc_Calculate_Item_Length_and_Width -void _nc_Calculate_Item_Length_and_Width( - MENU *menu) - { /* void */ } - -#undef _nc_Link_Items -void _nc_Link_Items( - MENU *menu) - { /* void */ } - -#undef _nc_Show_Menu -void _nc_Show_Menu( - const MENU *menu) - { /* void */ } - -#undef _nc_New_TopRow_and_CurrentItem -void _nc_New_TopRow_and_CurrentItem( - MENU *menu, - int new_toprow, - ITEM *new_current_item) - { /* void */ } - -/* ./m_hook.c */ - -#undef set_menu_init -int set_menu_init( - MENU *menu, - Menu_Hook func) - { return(*(int *)0); } - -#undef menu_init -Menu_Hook menu_init( - const MENU *menu) - { return(*(Menu_Hook *)0); } - -#undef set_menu_term -int set_menu_term( - MENU *menu, - Menu_Hook func) - { return(*(int *)0); } - -#undef menu_term -Menu_Hook menu_term( - const MENU *menu) - { return(*(Menu_Hook *)0); } - -#undef set_item_init -int set_item_init( - MENU *menu, - Menu_Hook func) - { return(*(int *)0); } - -#undef item_init -Menu_Hook item_init( - const MENU *menu) - { return(*(Menu_Hook *)0); } - -#undef set_item_term -int set_item_term( - MENU *menu, - Menu_Hook func) - { return(*(int *)0); } - -#undef item_term -Menu_Hook item_term( - const MENU *menu) - { return(*(Menu_Hook *)0); } - -/* ./m_item_cur.c */ - -#undef set_current_item -int set_current_item( - MENU *menu, - ITEM *item) - { return(*(int *)0); } - -#undef current_item -ITEM *current_item( - const MENU *menu) - { return(*(ITEM **)0); } - -#undef item_index -int item_index( - const ITEM *item) - { return(*(int *)0); } - -/* ./m_item_nam.c */ - -#undef item_name -const char *item_name( - const ITEM *item) - { return(*(const char **)0); } - -#undef item_description -const char *item_description( - const ITEM *item) - { return(*(const char **)0); } - -/* ./m_item_new.c */ - -#include - -#undef new_item -ITEM *new_item( - const char *name, - const char *description) - { return(*(ITEM **)0); } - -#undef free_item -int free_item( - ITEM *item) - { return(*(int *)0); } - -#undef set_menu_mark -int set_menu_mark( - MENU *menu, - const char *mark) - { return(*(int *)0); } - -#undef menu_mark -const char *menu_mark( - const MENU *menu) - { return(*(const char **)0); } - -/* ./m_item_opt.c */ - -#undef set_item_opts -int set_item_opts( - ITEM *item, - Item_Options opts) - { return(*(int *)0); } - -#undef item_opts_off -int item_opts_off( - ITEM *item, - Item_Options opts) - { return(*(int *)0); } - -#undef item_opts_on -int item_opts_on( - ITEM *item, - Item_Options opts) - { return(*(int *)0); } - -#undef item_opts -Item_Options item_opts( - const ITEM *item) - { return(*(Item_Options *)0); } - -/* ./m_item_top.c */ - -#undef set_top_row -int set_top_row( - MENU *menu, - int row) - { return(*(int *)0); } - -#undef top_row -int top_row( - const MENU *menu) - { return(*(int *)0); } - -/* ./m_item_use.c */ - -#undef set_item_userptr -int set_item_userptr( - ITEM *item, - void *userptr) - { return(*(int *)0); } - -#undef item_userptr -void *item_userptr( - const ITEM *item) - { return(*(void **)0); } - -/* ./m_item_val.c */ - -#undef set_item_value -int set_item_value( - ITEM *item, - NCURSES_BOOL value) - { return(*(int *)0); } - -#undef item_value -NCURSES_BOOL item_value( - const ITEM *item) - { return(*(NCURSES_BOOL *)0); } - -/* ./m_item_vis.c */ - -#undef item_visible -NCURSES_BOOL item_visible( - const ITEM *item) - { return(*(NCURSES_BOOL *)0); } - -/* ./m_items.c */ - -#undef set_menu_items -int set_menu_items( - MENU *menu, - ITEM **items) - { return(*(int *)0); } - -#undef menu_items -ITEM **menu_items( - const MENU *menu) - { return(*(ITEM ***)0); } - -#undef item_count -int item_count( - const MENU *menu) - { return(*(int *)0); } - -/* ./m_new.c */ - -#undef new_menu -MENU *new_menu( - ITEM **items) - { return(*(MENU **)0); } - -#undef free_menu -int free_menu( - MENU *menu) - { return(*(int *)0); } - -/* ./m_opts.c */ - -#undef set_menu_opts -int set_menu_opts( - MENU *menu, - Menu_Options opts) - { return(*(int *)0); } - -#undef menu_opts_off -int menu_opts_off( - MENU *menu, - Menu_Options opts) - { return(*(int *)0); } - -#undef menu_opts_on -int menu_opts_on( - MENU *menu, - Menu_Options opts) - { return(*(int *)0); } - -#undef menu_opts -Menu_Options menu_opts( - const MENU *menu) - { return(*(Menu_Options *)0); } - -/* ./m_pad.c */ - -#undef set_menu_pad -int set_menu_pad( - MENU *menu, - int pad) - { return(*(int *)0); } - -#undef menu_pad -int menu_pad( - const MENU *menu) - { return(*(int *)0); } - -/* ./m_pattern.c */ - -#undef menu_pattern -char *menu_pattern( - const MENU *menu) - { return(*(char **)0); } - -#undef set_menu_pattern -int set_menu_pattern( - MENU *menu, - const char *p) - { return(*(int *)0); } - -/* ./m_post.c */ - -#undef _nc_Post_Item -void _nc_Post_Item( - const MENU *menu, - const ITEM *item) - { /* void */ } - -#undef _nc_Draw_Menu -void _nc_Draw_Menu( - const MENU *menu) - { /* void */ } - -#undef post_menu -int post_menu( - MENU *menu) - { return(*(int *)0); } - -#undef unpost_menu -int unpost_menu( - MENU *menu) - { return(*(int *)0); } - -/* ./m_req_name.c */ - -#undef menu_request_name -const char *menu_request_name( - int request) - { return(*(const char **)0); } - -#undef menu_request_by_name -int menu_request_by_name( - const char *str) - { return(*(int *)0); } - -/* ./m_scale.c */ - -#undef scale_menu -int scale_menu( - const MENU *menu, - int *rows, - int *cols) - { return(*(int *)0); } - -/* ./m_spacing.c */ - -#undef set_menu_spacing -int set_menu_spacing( - MENU *menu, - int s_desc, - int s_row, - int s_col) - { return(*(int *)0); } - -#undef menu_spacing -int menu_spacing( - const MENU *menu, - int *s_desc, - int *s_row, - int *s_col) - { return(*(int *)0); } - -/* ./m_sub.c */ - -#undef set_menu_sub -int set_menu_sub( - MENU *menu, - WINDOW *win) - { return(*(int *)0); } - -#undef menu_sub -WINDOW *menu_sub( - const MENU *menu) - { return(*(WINDOW **)0); } - -/* ./m_trace.c */ - -#undef _nc_retrace_item -ITEM *_nc_retrace_item( - ITEM *code) - { return(*(ITEM **)0); } - -#undef _nc_retrace_item_ptr -ITEM **_nc_retrace_item_ptr( - ITEM **code) - { return(*(ITEM ***)0); } - -#undef _nc_retrace_item_opts -Item_Options _nc_retrace_item_opts( - Item_Options code) - { return(*(Item_Options *)0); } - -#undef _nc_retrace_menu -MENU *_nc_retrace_menu( - MENU *code) - { return(*(MENU **)0); } - -#undef _nc_retrace_menu_hook -Menu_Hook _nc_retrace_menu_hook( - Menu_Hook code) - { return(*(Menu_Hook *)0); } - -#undef _nc_retrace_menu_opts -Menu_Options _nc_retrace_menu_opts( - Menu_Options code) - { return(*(Menu_Options *)0); } - -/* ./m_userptr.c */ - -#undef set_menu_userptr -int set_menu_userptr( - MENU *menu, - void *userptr) - { return(*(int *)0); } - -#undef menu_userptr -void *menu_userptr( - const MENU *menu) - { return(*(void **)0); } - -/* ./m_win.c */ - -#undef set_menu_win -int set_menu_win( - MENU *menu, - WINDOW *win) - { return(*(int *)0); } - -#undef menu_win -WINDOW *menu_win( - const MENU *menu) - { return(*(WINDOW **)0); } diff --git a/src/libs/ncurses/menu/m_attribs.c b/src/libs/ncurses/menu/m_attribs.c deleted file mode 100644 index 1126ffb84f..0000000000 --- a/src/libs/ncurses/menu/m_attribs.c +++ /dev/null @@ -1,143 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_attribs * -* Control menus display attributes * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_attribs.c,v 1.14 2004/12/11 23:29:12 tom Exp $") - -/* Macro to redraw menu if it is posted and changed */ -#define Refresh_Menu(menu) \ - if ( (menu) && ((menu)->status & _POSTED) )\ - {\ - _nc_Draw_Menu( menu );\ - _nc_Show_Menu( menu );\ - } - -/* "Template" macro to generate a function to set a menus attribute */ -#define GEN_MENU_ATTR_SET_FCT( name ) \ -NCURSES_IMPEXP int NCURSES_API set_menu_ ## name (MENU * menu, chtype attr)\ -{\ - T((T_CALLED("set_menu_" #name "(%p,%s)"), menu, _traceattr(attr)));\ - if (!(attr==A_NORMAL || (attr & A_ATTRIBUTES)==attr))\ - RETURN(E_BAD_ARGUMENT);\ - if (menu && ( menu -> name != attr))\ - {\ - (menu -> name) = attr;\ - Refresh_Menu(menu);\ - }\ - Normalize_Menu( menu ) -> name = attr;\ - RETURN(E_OK);\ -} - -/* "Template" macro to generate a function to get a menu's attribute */ -#define GEN_MENU_ATTR_GET_FCT( name ) \ -NCURSES_IMPEXP chtype NCURSES_API menu_ ## name (const MENU * menu)\ -{\ - T((T_CALLED("menu_" #name "(%p)"), menu));\ - returnAttr(Normalize_Menu( menu ) -> name);\ -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_menu_fore(MENU *menu, chtype attr) -| -| Description : Set the attribute for selectable items. In single- -| valued menus this is used to highlight the current -| item ((i.e. where the cursor is), in multi-valued -| menus this is used to highlight the selected items. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - an invalid value has been passed -+--------------------------------------------------------------------------*/ -GEN_MENU_ATTR_SET_FCT(fore) - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : chtype menu_fore(const MENU* menu) -| -| Description : Return the attribute used for selectable items that -| are current (single-valued menu) or selected (multi- -| valued menu). -| -| Return Values : Attribute value -+--------------------------------------------------------------------------*/ -GEN_MENU_ATTR_GET_FCT(fore) - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_menu_back(MENU *menu, chtype attr) -| -| Description : Set the attribute for selectable but not yet selected -| items. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - an invalid value has been passed -+--------------------------------------------------------------------------*/ -GEN_MENU_ATTR_SET_FCT(back) - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : chtype menu_back(const MENU *menu) -| -| Description : Return the attribute used for selectable but not yet -| selected items. -| -| Return Values : Attribute value -+--------------------------------------------------------------------------*/ -GEN_MENU_ATTR_GET_FCT(back) - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_menu_grey(MENU *menu, chtype attr) -| -| Description : Set the attribute for unselectable items. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - an invalid value has been passed -+--------------------------------------------------------------------------*/ -GEN_MENU_ATTR_SET_FCT(grey) - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : chtype menu_grey(const MENU *menu) -| -| Description : Return the attribute used for non-selectable items -| -| Return Values : Attribute value -+--------------------------------------------------------------------------*/ -GEN_MENU_ATTR_GET_FCT(grey) -/* m_attribs.c ends here */ diff --git a/src/libs/ncurses/menu/m_cursor.c b/src/libs/ncurses/menu/m_cursor.c deleted file mode 100644 index 9f127aa5c2..0000000000 --- a/src/libs/ncurses/menu/m_cursor.c +++ /dev/null @@ -1,112 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_cursor * -* Correctly position a menus cursor * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_cursor.c,v 1.19 2004/12/25 22:03:00 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : _nc_menu_cursor_pos -| -| Description : Return position of logical cursor to current item -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid menu -| E_NOT_POSTED - Menu is not posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -_nc_menu_cursor_pos(const MENU * menu, const ITEM * item, int *pY, int *pX) -{ - if (!menu || !pX || !pY) - return (E_BAD_ARGUMENT); - else - { - if ((ITEM *) 0 == item) - item = menu->curitem; - assert(item != (ITEM *) 0); - - if (!(menu->status & _POSTED)) - return (E_NOT_POSTED); - - *pX = item->x * (menu->spc_cols + menu->itemlen); - *pY = (item->y - menu->toprow) * menu->spc_rows; - } - return (E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : pos_menu_cursor -| -| Description : Position logical cursor to current item in menu -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid menu -| E_NOT_POSTED - Menu is not posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -pos_menu_cursor(const MENU * menu) -{ - WINDOW *win, *sub; - int x, y; - int err = _nc_menu_cursor_pos(menu, (ITEM *) 0, &y, &x); - - T((T_CALLED("pos_menu_cursor(%p)"), menu)); - - if (E_OK == err) - { - win = menu->userwin ? menu->userwin : stdscr; - sub = menu->usersub ? menu->usersub : win; - assert(win && sub); - - if ((menu->opt & O_SHOWMATCH) && (menu->pindex > 0)) - x += (menu->pindex + menu->marklen - 1); - - wmove(sub, y, x); - - if (win != sub) - { - wcursyncup(sub); - wsyncup(sub); - untouchwin(sub); - } - } - RETURN(err); -} - -/* m_cursor.c ends here */ diff --git a/src/libs/ncurses/menu/m_driver.c b/src/libs/ncurses/menu/m_driver.c deleted file mode 100644 index c32a1d2fcd..0000000000 --- a/src/libs/ncurses/menu/m_driver.c +++ /dev/null @@ -1,555 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_driver * -* Central dispatching routine * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_driver.c,v 1.24 2005/04/09 20:40:25 tom Exp $") - -/* Macros */ - -/* Remove the last character from the match pattern buffer */ -#define Remove_Character_From_Pattern(menu) \ - (menu)->pattern[--((menu)->pindex)] = '\0' - -/* Add a new character to the match pattern buffer */ -#define Add_Character_To_Pattern(menu,ch) \ - { (menu)->pattern[((menu)->pindex)++] = (ch);\ - (menu)->pattern[(menu)->pindex] = '\0'; } - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : static bool Is_Sub_String( -| bool IgnoreCaseFlag, -| const char *part, -| const char *string) -| -| Description : Checks whether or not part is a substring of string. -| -| Return Values : TRUE - if it is a substring -| FALSE - if it is not a substring -+--------------------------------------------------------------------------*/ -static bool -Is_Sub_String( - bool IgnoreCaseFlag, - const char *part, - const char *string -) -{ - assert(part && string); - if (IgnoreCaseFlag) - { - while (*string && *part) - { - if (toupper(*string++) != toupper(*part)) - break; - part++; - } - } - else - { - while (*string && *part) - if (*part != *string++) - break; - part++; - } - return ((*part) ? FALSE : TRUE); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int _nc_Match_Next_Character_In_Item_Name( -| MENU *menu, -| int ch, -| ITEM **item) -| -| Description : This internal routine is called for a menu positioned -| at an item with three different classes of characters: -| - a printable character; the character is added to -| the current pattern and the next item matching -| this pattern is searched. -| - NUL; the pattern stays as it is and the next item -| matching the pattern is searched -| - BS; the pattern stays as it is and the previous -| item matching the pattern is searched -| -| The item parameter contains on call a pointer to -| the item where the search starts. On return - if -| a match was found - it contains a pointer to the -| matching item. -| -| Return Values : E_OK - an item matching the pattern was found -| E_NO_MATCH - nothing found -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -_nc_Match_Next_Character_In_Item_Name -(MENU * menu, int ch, ITEM ** item) -{ - bool found = FALSE, passed = FALSE; - int idx, last; - - T((T_CALLED("_nc_Match_Next_Character(%p,%d,%p)"), menu, ch, item)); - - assert(menu && item && *item); - idx = (*item)->index; - - if (ch && ch != BS) - { - /* if we become to long, we need no further checking : there can't be - a match ! */ - if ((menu->pindex + 1) > menu->namelen) - RETURN(E_NO_MATCH); - - Add_Character_To_Pattern(menu, ch); - /* we artificially position one item back, because in the do...while - loop we start with the next item. This means, that with a new - pattern search we always start the scan with the actual item. If - we do a NEXT_PATTERN oder PREV_PATTERN search, we start with the - one after or before the actual item. */ - if (--idx < 0) - idx = menu->nitems - 1; - } - - last = idx; /* this closes the cycle */ - - do - { - if (ch == BS) - { /* we have to go backward */ - if (--idx < 0) - idx = menu->nitems - 1; - } - else - { /* otherwise we always go forward */ - if (++idx >= menu->nitems) - idx = 0; - } - if (Is_Sub_String((menu->opt & O_IGNORECASE) != 0, - menu->pattern, - menu->items[idx]->name.str) - ) - found = TRUE; - else - passed = TRUE; - } - while (!found && (idx != last)); - - if (found) - { - if (!((idx == (*item)->index) && passed)) - { - *item = menu->items[idx]; - RETURN(E_OK); - } - /* This point is reached, if we fully cycled through the item list - and the only match we found is the starting item. With a NEXT_PATTERN - or PREV_PATTERN scan this means, that there was no additional match. - If we searched with an expanded new pattern, we should never reach - this point, because if the expanded pattern matches also the actual - item we will find it in the first attempt (passed==FALSE) and we - will never cycle through the whole item array. - */ - assert(ch == 0 || ch == BS); - } - else - { - if (ch && ch != BS && menu->pindex > 0) - { - /* if we had no match with a new pattern, we have to restore it */ - Remove_Character_From_Pattern(menu); - } - } - RETURN(E_NO_MATCH); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int menu_driver(MENU *menu, int c) -| -| Description : Central dispatcher for the menu. Translates the logical -| request 'c' into a menu action. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid menu pointer -| E_BAD_STATE - menu is in user hook routine -| E_NOT_POSTED - menu is not posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -menu_driver(MENU * menu, int c) -{ -#define NAVIGATE(dir) \ - if (!item->dir)\ - result = E_REQUEST_DENIED;\ - else\ - item = item->dir - - int result = E_OK; - ITEM *item; - int my_top_row, rdiff; - - T((T_CALLED("menu_driver(%p,%d)"), menu, c)); - - if (!menu) - RETURN(E_BAD_ARGUMENT); - - if (menu->status & _IN_DRIVER) - RETURN(E_BAD_STATE); - if (!(menu->status & _POSTED)) - RETURN(E_NOT_POSTED); - - item = menu->curitem; - - my_top_row = menu->toprow; - assert(item); - - if ((c > KEY_MAX) && (c <= MAX_MENU_COMMAND)) - { - if (!((c == REQ_BACK_PATTERN) - || (c == REQ_NEXT_MATCH) || (c == REQ_PREV_MATCH))) - { - assert(menu->pattern); - Reset_Pattern(menu); - } - - switch (c) - { - case REQ_LEFT_ITEM: - /*=================*/ - NAVIGATE(left); - break; - - case REQ_RIGHT_ITEM: - /*==================*/ - NAVIGATE(right); - break; - - case REQ_UP_ITEM: - /*===============*/ - NAVIGATE(up); - break; - - case REQ_DOWN_ITEM: - /*=================*/ - NAVIGATE(down); - break; - - case REQ_SCR_ULINE: - /*=================*/ - if (my_top_row == 0 || !(item->up)) - result = E_REQUEST_DENIED; - else - { - --my_top_row; - item = item->up; - } - break; - - case REQ_SCR_DLINE: - /*=================*/ - if ((my_top_row + menu->arows >= menu->rows) || !(item->down)) - { - /* only if the menu has less items than rows, we can deny the - request. Otherwise the epilogue of this routine adjusts the - top row if necessary */ - result = E_REQUEST_DENIED; - } - else - { - my_top_row++; - item = item->down; - } - break; - - case REQ_SCR_DPAGE: - /*=================*/ - rdiff = menu->rows - (menu->arows + my_top_row); - if (rdiff > menu->arows) - rdiff = menu->arows; - if (rdiff <= 0) - result = E_REQUEST_DENIED; - else - { - my_top_row += rdiff; - while (rdiff-- > 0 && item != (ITEM *) 0) - item = item->down; - } - break; - - case REQ_SCR_UPAGE: - /*=================*/ - rdiff = (menu->arows < my_top_row) ? menu->arows : my_top_row; - if (rdiff <= 0) - result = E_REQUEST_DENIED; - else - { - my_top_row -= rdiff; - while (rdiff-- && item != (ITEM *) 0) - item = item->up; - } - break; - - case REQ_FIRST_ITEM: - /*==================*/ - item = menu->items[0]; - break; - - case REQ_LAST_ITEM: - /*=================*/ - item = menu->items[menu->nitems - 1]; - break; - - case REQ_NEXT_ITEM: - /*=================*/ - if ((item->index + 1) >= menu->nitems) - { - if (menu->opt & O_NONCYCLIC) - result = E_REQUEST_DENIED; - else - item = menu->items[0]; - } - else - item = menu->items[item->index + 1]; - break; - - case REQ_PREV_ITEM: - /*=================*/ - if (item->index <= 0) - { - if (menu->opt & O_NONCYCLIC) - result = E_REQUEST_DENIED; - else - item = menu->items[menu->nitems - 1]; - } - else - item = menu->items[item->index - 1]; - break; - - case REQ_TOGGLE_ITEM: - /*===================*/ - if (menu->opt & O_ONEVALUE) - { - result = E_REQUEST_DENIED; - } - else - { - if (menu->curitem->opt & O_SELECTABLE) - { - menu->curitem->value = !menu->curitem->value; - Move_And_Post_Item(menu, menu->curitem); - _nc_Show_Menu(menu); - } - else - result = E_NOT_SELECTABLE; - } - break; - - case REQ_CLEAR_PATTERN: - /*=====================*/ - /* already cleared in prologue */ - break; - - case REQ_BACK_PATTERN: - /*====================*/ - if (menu->pindex > 0) - { - assert(menu->pattern); - Remove_Character_From_Pattern(menu); - pos_menu_cursor(menu); - } - else - result = E_REQUEST_DENIED; - break; - - case REQ_NEXT_MATCH: - /*==================*/ - assert(menu->pattern); - if (menu->pattern[0]) - result = _nc_Match_Next_Character_In_Item_Name(menu, 0, &item); - else - { - if ((item->index + 1) < menu->nitems) - item = menu->items[item->index + 1]; - else - { - if (menu->opt & O_NONCYCLIC) - result = E_REQUEST_DENIED; - else - item = menu->items[0]; - } - } - break; - - case REQ_PREV_MATCH: - /*==================*/ - assert(menu->pattern); - if (menu->pattern[0]) - result = _nc_Match_Next_Character_In_Item_Name(menu, BS, &item); - else - { - if (item->index) - item = menu->items[item->index - 1]; - else - { - if (menu->opt & O_NONCYCLIC) - result = E_REQUEST_DENIED; - else - item = menu->items[menu->nitems - 1]; - } - } - break; - - default: - /*======*/ - result = E_UNKNOWN_COMMAND; - break; - } - } - else - { /* not a command */ - if (!(c & ~((int)MAX_REGULAR_CHARACTER)) && isprint(UChar(c))) - result = _nc_Match_Next_Character_In_Item_Name(menu, c, &item); -#ifdef NCURSES_MOUSE_VERSION - else if (KEY_MOUSE == c) - { - MEVENT event; - WINDOW *uwin = Get_Menu_UserWin(menu); - - getmouse(&event); - if ((event.bstate & (BUTTON1_CLICKED | - BUTTON1_DOUBLE_CLICKED | - BUTTON1_TRIPLE_CLICKED)) - && wenclose(uwin, event.y, event.x)) - { /* we react only if the click was in the userwin, that means - * inside the menu display area or at the decoration window. - */ - WINDOW *sub = Get_Menu_Window(menu); - int ry = event.y, rx = event.x; /* screen coordinates */ - - result = E_REQUEST_DENIED; - if (mouse_trafo(&ry, &rx, FALSE)) - { /* rx, ry are now "curses" coordinates */ - if (ry < sub->_begy) - { /* we clicked above the display region; this is - * interpreted as "scroll up" request - */ - if (event.bstate & BUTTON1_CLICKED) - result = menu_driver(menu, REQ_SCR_ULINE); - else if (event.bstate & BUTTON1_DOUBLE_CLICKED) - result = menu_driver(menu, REQ_SCR_UPAGE); - else if (event.bstate & BUTTON1_TRIPLE_CLICKED) - result = menu_driver(menu, REQ_FIRST_ITEM); - RETURN(result); - } - else if (ry > sub->_begy + sub->_maxy) - { /* we clicked below the display region; this is - * interpreted as "scroll down" request - */ - if (event.bstate & BUTTON1_CLICKED) - result = menu_driver(menu, REQ_SCR_DLINE); - else if (event.bstate & BUTTON1_DOUBLE_CLICKED) - result = menu_driver(menu, REQ_SCR_DPAGE); - else if (event.bstate & BUTTON1_TRIPLE_CLICKED) - result = menu_driver(menu, REQ_LAST_ITEM); - RETURN(result); - } - else if (wenclose(sub, event.y, event.x)) - { /* Inside the area we try to find the hit item */ - int i, x, y, err; - - ry = event.y; - rx = event.x; - if (wmouse_trafo(sub, &ry, &rx, FALSE)) - { - for (i = 0; i < menu->nitems; i++) - { - err = _nc_menu_cursor_pos(menu, menu->items[i], - &y, &x); - if (E_OK == err) - { - if ((ry == y) && - (rx >= x) && - (rx < x + menu->itemlen)) - { - item = menu->items[i]; - result = E_OK; - break; - } - } - } - if (E_OK == result) - { /* We found an item, now we can handle the click. - * A single click just positions the menu cursor - * to the clicked item. A double click toggles - * the item. - */ - if (event.bstate & BUTTON1_DOUBLE_CLICKED) - { - _nc_New_TopRow_and_CurrentItem(menu, - my_top_row, - item); - menu_driver(menu, REQ_TOGGLE_ITEM); - result = E_UNKNOWN_COMMAND; - } - } - } - } - } - } - else - result = E_REQUEST_DENIED; - } -#endif /* NCURSES_MOUSE_VERSION */ - else - result = E_UNKNOWN_COMMAND; - } - - if (E_OK == result) - { - /* Adjust the top row if it turns out that the current item unfortunately - doesn't appear in the menu window */ - if (item->y < my_top_row) - my_top_row = item->y; - else if (item->y >= (my_top_row + menu->arows)) - my_top_row = item->y - menu->arows + 1; - - _nc_New_TopRow_and_CurrentItem(menu, my_top_row, item); - - } - - RETURN(result); -} - -/* m_driver.c ends here */ diff --git a/src/libs/ncurses/menu/m_format.c b/src/libs/ncurses/menu/m_format.c deleted file mode 100644 index 773cb27e77..0000000000 --- a/src/libs/ncurses/menu/m_format.c +++ /dev/null @@ -1,131 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_format * -* Set and get maximum numbers of rows and columns in menus * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_format.c,v 1.15 2004/12/11 23:11:21 tom Exp $") - -#define minimum(a,b) ((a)<(b) ? (a): (b)) - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_menu_format(MENU *menu, int rows, int cols) -| -| Description : Sets the maximum number of rows and columns of items -| that may be displayed at one time on a menu. If the -| menu contains more items than can be displayed at -| once, the menu will be scrollable. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid values passed -| E_NOT_CONNECTED - there are no items connected -| E_POSTED - the menu is already posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_menu_format(MENU * menu, int rows, int cols) -{ - int total_rows, total_cols; - - T((T_CALLED("set_menu_format(%p,%d,%d)"), menu, rows, cols)); - - if (rows < 0 || cols < 0) - RETURN(E_BAD_ARGUMENT); - - if (menu) - { - if (menu->status & _POSTED) - RETURN(E_POSTED); - - if (!(menu->items)) - RETURN(E_NOT_CONNECTED); - - if (rows == 0) - rows = menu->frows; - if (cols == 0) - cols = menu->fcols; - - if (menu->pattern) - Reset_Pattern(menu); - - menu->frows = rows; - menu->fcols = cols; - - assert(rows > 0 && cols > 0); - total_rows = (menu->nitems - 1) / cols + 1; - total_cols = (menu->opt & O_ROWMAJOR) ? - minimum(menu->nitems, cols) : - (menu->nitems - 1) / total_rows + 1; - - menu->rows = total_rows; - menu->cols = total_cols; - menu->arows = minimum(total_rows, rows); - menu->toprow = 0; - menu->curitem = *(menu->items); - assert(menu->curitem); - menu->status |= _LINK_NEEDED; - _nc_Calculate_Item_Length_and_Width(menu); - } - else - { - if (rows > 0) - _nc_Default_Menu.frows = rows; - if (cols > 0) - _nc_Default_Menu.fcols = cols; - } - - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : void menu_format(const MENU *menu, int *rows, int *cols) -| -| Description : Returns the maximum number of rows and columns that may -| be displayed at one time on menu. -| -| Return Values : - -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(void) -menu_format(const MENU * menu, int *rows, int *cols) -{ - if (rows) - *rows = Normalize_Menu(menu)->frows; - if (cols) - *cols = Normalize_Menu(menu)->fcols; -} - -/* m_format.c ends here */ diff --git a/src/libs/ncurses/menu/m_global.c b/src/libs/ncurses/menu/m_global.c deleted file mode 100644 index 5aeb021f7e..0000000000 --- a/src/libs/ncurses/menu/m_global.c +++ /dev/null @@ -1,582 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_global * -* Globally used internal routines and the default menu and item structures * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_global.c,v 1.20 2005/04/16 17:30:57 tom Exp $") - -static char mark[] = "-"; -/* *INDENT-OFF* */ -NCURSES_EXPORT_VAR(MENU) _nc_Default_Menu = { - 16, /* Nr. of chars high */ - 1, /* Nr. of chars wide */ - 16, /* Nr. of items high */ - 1, /* Nr. of items wide */ - 16, /* Nr. of formatted items high */ - 1, /* Nr. of formatted items wide */ - 16, /* Nr. of items high (actual) */ - 0, /* length of widest name */ - 0, /* length of widest description */ - 1, /* length of mark */ - 1, /* length of one item */ - 1, /* Spacing for descriptor */ - 1, /* Spacing for columns */ - 1, /* Spacing for rows */ - (char *)0, /* buffer used to store match chars */ - 0, /* Index into pattern buffer */ - (WINDOW *)0, /* Window containing entire menu */ - (WINDOW *)0, /* Portion of menu displayed */ - (WINDOW *)0, /* User's window */ - (WINDOW *)0, /* User's subwindow */ - (ITEM **)0, /* List of items */ - 0, /* Total Nr. of items in menu */ - (ITEM *)0, /* Current item */ - 0, /* Top row of menu */ - (chtype)A_REVERSE, /* Attribute for selection */ - (chtype)A_NORMAL, /* Attribute for nonselection */ - (chtype)A_UNDERLINE, /* Attribute for inactive */ - ' ', /* Pad character */ - (Menu_Hook)0, /* Menu init */ - (Menu_Hook)0, /* Menu term */ - (Menu_Hook)0, /* Item init */ - (Menu_Hook)0, /* Item term */ - (void *)0, /* userptr */ - mark, /* mark */ - ALL_MENU_OPTS, /* options */ - 0 /* status */ -}; - -NCURSES_EXPORT_VAR(ITEM) _nc_Default_Item = { - { (char *)0, 0 }, /* name */ - { (char *)0, 0 }, /* description */ - (MENU *)0, /* Pointer to parent menu */ - (char *)0, /* Userpointer */ - ALL_ITEM_OPTS, /* options */ - 0, /* Item Nr. */ - 0, /* y */ - 0, /* x */ - FALSE, /* value */ - (ITEM *)0, /* left */ - (ITEM *)0, /* right */ - (ITEM *)0, /* up */ - (ITEM *)0 /* down */ - }; -/* *INDENT-ON* */ - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : static void ComputeMaximum_NameDesc_Lenths(MENU *menu) -| -| Description : Calculates the maximum name and description lengths -| of the items connected to the menu -| -| Return Values : - -+--------------------------------------------------------------------------*/ -INLINE static void -ComputeMaximum_NameDesc_Lengths(MENU * menu) -{ - unsigned MaximumNameLength = 0; - unsigned MaximumDescriptionLength = 0; - ITEM **items; - - assert(menu && menu->items); - for (items = menu->items; *items; items++) - { - if (items[0]->name.length > MaximumNameLength) - MaximumNameLength = items[0]->name.length; - - if (items[0]->description.length > MaximumDescriptionLength) - MaximumDescriptionLength = items[0]->description.length; - } - - menu->namelen = MaximumNameLength; - menu->desclen = MaximumDescriptionLength; - T(("ComputeMaximum_NameDesc_Lengths %d,%d", menu->namelen, menu->desclen)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : static void ResetConnectionInfo(MENU *, ITEM **) -| -| Description : Reset all informations in the menu and the items in -| the item array that indicates a connection -| -| Return Values : - -+--------------------------------------------------------------------------*/ -INLINE static void -ResetConnectionInfo(MENU * menu, ITEM ** items) -{ - ITEM **item; - - assert(menu && items); - for (item = items; *item; item++) - { - (*item)->index = 0; - (*item)->imenu = (MENU *) 0; - } - if (menu->pattern) - free(menu->pattern); - menu->pattern = (char *)0; - menu->pindex = 0; - menu->items = (ITEM **) 0; - menu->nitems = 0; -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : bool _nc_Connect_Items(MENU *menu, ITEM **items) -| -| Description : Connect the items in the item array to the menu. -| Decorate all the items with a number and a backward -| pointer to the menu. -| -| Return Values : TRUE - successful connection -| FALSE - connection failed -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(bool) -_nc_Connect_Items(MENU * menu, ITEM ** items) -{ - ITEM **item; - unsigned int ItemCount = 0; - - if (menu && items) - { - for (item = items; *item; item++) - { - if ((*item)->imenu) - { - /* if a item is already connected, reject connection */ - break; - } - } - if (!(*item)) - /* we reached the end, so there was no connected item */ - { - for (item = items; *item; item++) - { - if (menu->opt & O_ONEVALUE) - { - (*item)->value = FALSE; - } - (*item)->index = ItemCount++; - (*item)->imenu = menu; - } - } - } - else - return (FALSE); - - if (ItemCount != 0) - { - menu->items = items; - menu->nitems = ItemCount; - ComputeMaximum_NameDesc_Lengths(menu); - if ((menu->pattern = typeMalloc(char, (unsigned)(1 + menu->namelen)))) - { - Reset_Pattern(menu); - set_menu_format(menu, menu->frows, menu->fcols); - menu->curitem = *items; - menu->toprow = 0; - return (TRUE); - } - } - - /* If we fall through to this point, we have to reset all items connection - and inform about a reject connection */ - ResetConnectionInfo(menu, items); - return (FALSE); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : void _nc_Disconnect_Items(MENU *menu) -| -| Description : Disconnect the menus item array from the menu -| -| Return Values : - -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(void) -_nc_Disconnect_Items(MENU * menu) -{ - if (menu && menu->items) - ResetConnectionInfo(menu, menu->items); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int _nc_Calculate_Text_Width(const TEXT * item) -| -| Description : Calculate the number of columns for a TEXT. -| -| Return Values : the width -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -_nc_Calculate_Text_Width(const TEXT * item /*FIXME: limit length */ ) -{ -#if USE_WIDEC_SUPPORT - int result = item->length; - int count = mbstowcs(0, item->str, 0); - wchar_t *temp = 0; - - T((T_CALLED("_nc_menu_text_width(%p)"), item)); - if (count > 0 - && (temp = typeMalloc(wchar_t, 2 + count)) != 0) - { - int n; - - result = 0; - mbstowcs(temp, item->str, (unsigned)count); - for (n = 0; n < count; ++n) - { - int test = wcwidth(temp[n]); - - if (test <= 0) - test = 1; - result += test; - } - free(temp); - } - returnCode(result); -#else - return item->length; -#endif -} - -/* FIXME: this is experimental, should cache the results but don't want to - * modify the MENU struct to do this until it's complete. - */ -#if 0 /* USE_WIDEC_SUPPORT */ -static int -calculate_actual_width(MENU * menu, bool name) -{ - int width = 0; - int check = 0; - ITEM **items; - - assert(menu && menu->items); - for (items = menu->items; *items; items++) - { - if (name) - { - check = _nc_Calculate_Text_Width(&((*items)->name)); - } - else - { - check = _nc_Calculate_Text_Width(&((*items)->description)); - } - if (check > width) - width = check; - } - - T(("calculate_actual_width %s = %d/%d", - name ? "name" : "desc", - width, - name ? menu->namelen : menu->desclen)); - width += 2; /* FIXME - need this? */ - return width; -} -#else -#define calculate_actual_width(menu, name) (name ? menu->namelen : menu->desclen) -#endif - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : void _nc_Calculate_Item_Length_and_Width(MENU *menu) -| -| Description : Calculate the length of an item and the width of the -| whole menu. -| -| Return Values : - -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(void) -_nc_Calculate_Item_Length_and_Width(MENU * menu) -{ - int l; - - assert(menu); - - menu->height = 1 + menu->spc_rows * (menu->arows - 1); - - l = calculate_actual_width(menu, TRUE); - l += menu->marklen; - - if ((menu->opt & O_SHOWDESC) && (menu->desclen > 0)) - { - l += calculate_actual_width(menu, FALSE); - l += menu->spc_desc; - } - - menu->itemlen = l; - l *= menu->cols; - l += (menu->cols - 1) * menu->spc_cols; /* for the padding between the columns */ - menu->width = l; - - T(("_nc_CalculateItem_Length_and_Width columns %d, item %d, width %d", - menu->cols, - menu->itemlen, - menu->width)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : void _nc_Link_Item(MENU *menu) -| -| Description : Statically calculate for every item its four neighbors. -| This depends on the orientation of the menu. This -| static approach simplifies navigation in the menu a lot. -| -| Return Values : - -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(void) -_nc_Link_Items(MENU * menu) -{ - if (menu && menu->items && *(menu->items)) - { - int i, j; - ITEM *item; - int Number_Of_Items = menu->nitems; - int col = 0, row = 0; - int Last_in_Row; - int Last_in_Column; - bool cycle = (menu->opt & O_NONCYCLIC) ? FALSE : TRUE; - - menu->status &= ~_LINK_NEEDED; - - if (menu->opt & O_ROWMAJOR) - { - int Number_Of_Columns = menu->cols; - - for (i = 0; i < Number_Of_Items; i++) - { - item = menu->items[i]; - - Last_in_Row = row * Number_Of_Columns + (Number_Of_Columns - 1); - - item->left = (col) ? - /* if we are not in the leftmost column, we can use the - predecessor in the items array */ - menu->items[i - 1] : - (cycle ? menu->items[(Last_in_Row >= Number_Of_Items) ? - Number_Of_Items - 1 : - Last_in_Row] : - (ITEM *) 0); - - item->right = ((col < (Number_Of_Columns - 1)) && - ((i + 1) < Number_Of_Items) - )? - menu->items[i + 1] : - (cycle ? menu->items[row * Number_Of_Columns] : - (ITEM *) 0 - ); - - Last_in_Column = (menu->rows - 1) * Number_Of_Columns + col; - - item->up = (row) ? menu->items[i - Number_Of_Columns] : - (cycle ? menu->items[(Last_in_Column >= Number_Of_Items) ? - Number_Of_Items - 1 : - Last_in_Column] : - (ITEM *) 0); - - item->down = ((i + Number_Of_Columns) < Number_Of_Items) - ? - menu->items[i + Number_Of_Columns] : - (cycle ? menu->items[(row + 1) < menu->rows ? - Number_Of_Items - 1 : col] : - (ITEM *) 0); - item->x = col; - item->y = row; - if (++col == Number_Of_Columns) - { - row++; - col = 0; - } - } - } - else - { - int Number_Of_Rows = menu->rows; - - for (j = 0; j < Number_Of_Items; j++) - { - item = menu->items[i = (col * Number_Of_Rows + row)]; - - Last_in_Column = (menu->cols - 1) * Number_Of_Rows + row; - - item->left = (col) ? - menu->items[i - Number_Of_Rows] : - (cycle ? (Last_in_Column >= Number_Of_Items) ? - menu->items[Last_in_Column - Number_Of_Rows] : - menu->items[Last_in_Column] : - (ITEM *) 0); - - item->right = ((i + Number_Of_Rows) < Number_Of_Items) - ? - menu->items[i + Number_Of_Rows] : - (cycle ? menu->items[row] : (ITEM *) 0); - - Last_in_Row = col * Number_Of_Rows + (Number_Of_Rows - 1); - - item->up = (row) ? - menu->items[i - 1] : - (cycle ? - menu->items[(Last_in_Row >= Number_Of_Items) ? - Number_Of_Items - 1 : - Last_in_Row] : - (ITEM *) 0); - - item->down = (row < (Number_Of_Rows - 1)) - ? - (menu->items[((i + 1) < Number_Of_Items) ? - i + 1 : - (col - 1) * Number_Of_Rows + row + 1]) : - (cycle ? - menu->items[col * Number_Of_Rows] : - (ITEM *) 0 - ); - - item->x = col; - item->y = row; - if ((++row) == Number_Of_Rows) - { - col++; - row = 0; - } - } - } - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : void _nc_Show_Menu(const MENU *menu) -| -| Description : Update the window that is associated with the menu -| -| Return Values : - -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(void) -_nc_Show_Menu(const MENU * menu) -{ - WINDOW *win; - int maxy, maxx; - - assert(menu); - if ((menu->status & _POSTED) && !(menu->status & _IN_DRIVER)) - { - /* adjust the internal subwindow to start on the current top */ - assert(menu->sub); - mvderwin(menu->sub, menu->spc_rows * menu->toprow, 0); - win = Get_Menu_Window(menu); - - maxy = getmaxy(win); - maxx = getmaxx(win); - - if (menu->height < maxy) - maxy = menu->height; - if (menu->width < maxx) - maxx = menu->width; - - copywin(menu->sub, win, 0, 0, 0, 0, maxy - 1, maxx - 1, 0); - pos_menu_cursor(menu); - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : void _nc_New_TopRow_and_CurrentItem( -| MENU *menu, -| int new_toprow, -| ITEM *new_current_item) -| -| Description : Redisplay the menu so that the given row becomes the -| top row and the given item becomes the new current -| item. -| -| Return Values : - -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(void) - _nc_New_TopRow_and_CurrentItem - (MENU * menu, int new_toprow, ITEM * new_current_item) -{ - ITEM *cur_item; - bool mterm_called = FALSE; - bool iterm_called = FALSE; - - assert(menu); - if (menu->status & _POSTED) - { - if (new_current_item != menu->curitem) - { - Call_Hook(menu, itemterm); - iterm_called = TRUE; - } - if (new_toprow != menu->toprow) - { - Call_Hook(menu, menuterm); - mterm_called = TRUE; - } - - cur_item = menu->curitem; - assert(cur_item); - menu->toprow = new_toprow; - menu->curitem = new_current_item; - - if (mterm_called) - { - Call_Hook(menu, menuinit); - } - if (iterm_called) - { - /* this means, move from the old current_item to the new one... */ - Move_To_Current_Item(menu, cur_item); - Call_Hook(menu, iteminit); - } - if (mterm_called || iterm_called) - { - _nc_Show_Menu(menu); - } - else - pos_menu_cursor(menu); - } - else - { /* if we are not posted, this is quite simple */ - menu->toprow = new_toprow; - menu->curitem = new_current_item; - } -} - -/* m_global.c ends here */ diff --git a/src/libs/ncurses/menu/m_hook.c b/src/libs/ncurses/menu/m_hook.c deleted file mode 100644 index 8d768a303f..0000000000 --- a/src/libs/ncurses/menu/m_hook.c +++ /dev/null @@ -1,151 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_hook * -* Assign application specific routines for automatic invocation by menus * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_hook.c,v 1.14 2004/12/25 21:39:52 tom Exp $") - -/* "Template" macro to generate function to set application specific hook */ -#define GEN_HOOK_SET_FUNCTION( typ, name ) \ -NCURSES_IMPEXP int NCURSES_API set_ ## typ ## _ ## name (MENU *menu, Menu_Hook func )\ -{\ - T((T_CALLED("set_" #typ "_" #name "(%p,%p)"), menu, func));\ - (Normalize_Menu(menu) -> typ ## name = func );\ - RETURN(E_OK);\ -} - -/* "Template" macro to generate function to get application specific hook */ -#define GEN_HOOK_GET_FUNCTION( typ, name ) \ -NCURSES_IMPEXP Menu_Hook NCURSES_API typ ## _ ## name ( const MENU *menu )\ -{\ - T((T_CALLED(#typ "_" #name "(%p)"), menu));\ - returnMenuHook(Normalize_Menu(menu) -> typ ## name);\ -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_menu_init(MENU *menu, void (*f)(MENU *)) -| -| Description : Set user-exit which is called when menu is posted -| or just after the top row changes. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -GEN_HOOK_SET_FUNCTION(menu, init) - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : void (*)(MENU *) menu_init(const MENU *menu) -| -| Description : Return address of user-exit function which is called -| when a menu is posted or just after the top row -| changes. -| -| Return Values : Menu init function address or NULL -+--------------------------------------------------------------------------*/ -GEN_HOOK_GET_FUNCTION(menu, init) - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_menu_term (MENU *menu, void (*f)(MENU *)) -| -| Description : Set user-exit which is called when menu is unposted -| or just before the top row changes. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -GEN_HOOK_SET_FUNCTION(menu, term) - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : void (*)(MENU *) menu_term(const MENU *menu) -| -| Description : Return address of user-exit function which is called -| when a menu is unposted or just before the top row -| changes. -| -| Return Values : Menu finalization function address or NULL -+--------------------------------------------------------------------------*/ -GEN_HOOK_GET_FUNCTION(menu, term) - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_item_init (MENU *menu, void (*f)(MENU *)) -| -| Description : Set user-exit which is called when menu is posted -| or just after the current item changes. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -GEN_HOOK_SET_FUNCTION(item, init) - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : void (*)(MENU *) item_init (const MENU *menu) -| -| Description : Return address of user-exit function which is called -| when a menu is posted or just after the current item -| changes. -| -| Return Values : Item init function address or NULL -+--------------------------------------------------------------------------*/ -GEN_HOOK_GET_FUNCTION(item, init) - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_item_term (MENU *menu, void (*f)(MENU *)) -| -| Description : Set user-exit which is called when menu is unposted -| or just before the current item changes. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -GEN_HOOK_SET_FUNCTION(item, term) - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : void (*)(MENU *) item_init (const MENU *menu) -| -| Description : Return address of user-exit function which is called -| when a menu is unposted or just before the current item -| changes. -| -| Return Values : Item finalization function address or NULL -+--------------------------------------------------------------------------*/ -GEN_HOOK_GET_FUNCTION(item, term) - -/* m_hook.c ends here */ diff --git a/src/libs/ncurses/menu/m_item_cur.c b/src/libs/ncurses/menu/m_item_cur.c deleted file mode 100644 index dac12ed91c..0000000000 --- a/src/libs/ncurses/menu/m_item_cur.c +++ /dev/null @@ -1,113 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_item_cur * -* Set and get current menus item * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_item_cur.c,v 1.17 2004/12/25 21:57:38 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_current_item(MENU *menu, const ITEM *item) -| -| Description : Make the item the current item -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_current_item(MENU * menu, ITEM * item) -{ - T((T_CALLED("set_current_item(%p,%p)"), menu, item)); - - if (menu && item && (item->imenu == menu)) - { - if (menu->status & _IN_DRIVER) - RETURN(E_BAD_STATE); - - assert(menu->curitem); - if (item != menu->curitem) - { - if (menu->status & _LINK_NEEDED) - { - /* - * Items are available, but they are not linked together. - * So we have to link here. - */ - _nc_Link_Items(menu); - } - assert(menu->pattern); - Reset_Pattern(menu); - /* adjust the window to make item visible and update the menu */ - Adjust_Current_Item(menu, menu->toprow, item); - } - } - else - RETURN(E_BAD_ARGUMENT); - - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : ITEM *current_item(const MENU *menu) -| -| Description : Return the menus current item -| -| Return Values : Item pointer or NULL if failure -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(ITEM *) -current_item(const MENU * menu) -{ - T((T_CALLED("current_item(%p)"), menu)); - returnItem((menu && menu->items) ? menu->curitem : (ITEM *) 0); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int item_index(const ITEM *) -| -| Description : Return the logical index of this item. -| -| Return Values : The index or ERR if this is an invalid item pointer -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -item_index(const ITEM * item) -{ - T((T_CALLED("item_index(%p)"), item)); - returnCode((item && item->imenu) ? item->index : ERR); -} - -/* m_item_cur.c ends here */ diff --git a/src/libs/ncurses/menu/m_item_nam.c b/src/libs/ncurses/menu/m_item_nam.c deleted file mode 100644 index 05a169340b..0000000000 --- a/src/libs/ncurses/menu/m_item_nam.c +++ /dev/null @@ -1,72 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_item_nam * -* Get menus item name and description * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_item_nam.c,v 1.14 2004/12/25 21:41:54 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : char *item_name(const ITEM *item) -| -| Description : Return name of menu item -| -| Return Values : See above; returns NULL if item is invalid -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(const char *) -item_name(const ITEM * item) -{ - T((T_CALLED("item_name(%p)"), item)); - returnCPtr((item) ? item->name.str : (char *)0); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : char *item_description(const ITEM *item) -| -| Description : Returns description of item -| -| Return Values : See above; Returns NULL if item is invalid -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(const char *) -item_description(const ITEM * item) -{ - T((T_CALLED("item_description(%p)"), item)); - returnCPtr((item) ? item->description.str : (char *)0); -} - -/* m_item_nam.c ends here */ diff --git a/src/libs/ncurses/menu/m_item_new.c b/src/libs/ncurses/menu/m_item_new.c deleted file mode 100644 index 185e2dca68..0000000000 --- a/src/libs/ncurses/menu/m_item_new.c +++ /dev/null @@ -1,272 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_item_new * -* Create and destroy menu items * -* Set and get marker string for menu * -***************************************************************************/ - -#include "menu.priv.h" - -#if USE_WIDEC_SUPPORT -#include -#endif - -MODULE_ID("$Id: m_item_new.c,v 1.25 2005/04/16 22:24:38 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : bool Is_Printable_String(const char *s) -| -| Description : Checks whether or not the string contains only printable -| characters. -| -| Return Values : TRUE - if string is printable -| FALSE - if string contains non-printable characters -+--------------------------------------------------------------------------*/ -static bool -Is_Printable_String(const char *s) -{ - int result = TRUE; - -#if USE_WIDEC_SUPPORT - int count = mbstowcs(0, s, 0); - wchar_t *temp = 0; - - assert(s); - - if (count > 0 - && (temp = typeCalloc(wchar_t, (2 + count))) != 0) - { - int n; - - mbstowcs(temp, s, (unsigned)count); - for (n = 0; n < count; ++n) - if (!iswprint(temp[n])) - { - result = FALSE; - break; - } - free(temp); - } -#else - assert(s); - while (*s) - { - if (!isprint(UChar(*s))) - { - result = FALSE; - break; - } - s++; - } -#endif - return result; -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : ITEM *new_item(char *name, char *description) -| -| Description : Create a new item with name and description. Return -| a pointer to this new item. -| N.B.: an item must(!) have a name. -| -| Return Values : The item pointer or NULL if creation failed. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(ITEM *) -new_item(const char *name, const char *description) -{ - ITEM *item; - - T((T_CALLED("new_item(\"%s\", \"%s\")"), - name ? name : "", - description ? description : "")); - - if (!name || (*name == '\0') || !Is_Printable_String(name)) - { - item = (ITEM *) 0; - SET_ERROR(E_BAD_ARGUMENT); - } - else - { - item = (ITEM *) calloc(1, sizeof(ITEM)); - if (item) - { - *item = _nc_Default_Item; /* hope we have struct assignment */ - - item->name.length = strlen(name); - item->name.str = name; - - if (description && (*description != '\0') && - Is_Printable_String(description)) - { - item->description.length = strlen(description); - item->description.str = description; - } - else - { - item->description.length = 0; - item->description.str = (char *)0; - } - } - else - SET_ERROR(E_SYSTEM_ERROR); - } - returnItem(item); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int free_item(ITEM *item) -| -| Description : Free the allocated storage for this item. -| N.B.: a connected item can't be freed. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid value has been passed -| E_CONNECTED - item is still connected to a menu -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -free_item(ITEM * item) -{ - T((T_CALLED("free_item(%p)"), item)); - - if (!item) - RETURN(E_BAD_ARGUMENT); - - if (item->imenu) - RETURN(E_CONNECTED); - - free(item); - - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_menu_mark( MENU *menu, const char *mark ) -| -| Description : Set the mark string used to indicate the current -| item (single-valued menu) or the selected items -| (multi-valued menu). -| The mark argument may be NULL, in which case no -| marker is used. -| This might be a little bit tricky, because this may -| affect the geometry of the menu, which we don't allow -| if it is already posted. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - an invalid value has been passed -| E_SYSTEM_ERROR - no memory to store mark -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_menu_mark(MENU * menu, const char *mark) -{ - unsigned l; - - T((T_CALLED("set_menu_mark(%p,%s)"), menu, _nc_visbuf(mark))); - - if (mark && (*mark != '\0') && Is_Printable_String(mark)) - l = strlen(mark); - else - l = 0; - - if (menu) - { - char *old_mark = menu->mark; - unsigned short old_status = menu->status; - - if (menu->status & _POSTED) - { - /* If the menu is already posted, the geometry is fixed. Then - we can only accept a mark with exactly the same length */ - if (menu->marklen != (int)l) - RETURN(E_BAD_ARGUMENT); - } - menu->marklen = l; - if (l) - { - menu->mark = (char *)malloc(l + 1); - if (menu->mark) - { - strcpy(menu->mark, mark); - if (menu != &_nc_Default_Menu) - menu->status |= _MARK_ALLOCATED; - } - else - { - menu->mark = old_mark; - RETURN(E_SYSTEM_ERROR); - } - } - else - menu->mark = (char *)0; - - if ((old_status & _MARK_ALLOCATED) && old_mark) - free(old_mark); - - if (menu->status & _POSTED) - { - _nc_Draw_Menu(menu); - _nc_Show_Menu(menu); - } - else - { - /* Recalculate the geometry */ - _nc_Calculate_Item_Length_and_Width(menu); - } - } - else - { - returnCode(set_menu_mark(&_nc_Default_Menu, mark)); - } - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : char *menu_mark(const MENU *menu) -| -| Description : Return a pointer to the marker string -| -| Return Values : The marker string pointer or NULL if no marker defined -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(const char *) -menu_mark(const MENU * menu) -{ - T((T_CALLED("menu_mark(%p)"), menu)); - returnPtr(Normalize_Menu(menu)->mark); -} - -/* m_item_new.c */ diff --git a/src/libs/ncurses/menu/m_item_opt.c b/src/libs/ncurses/menu/m_item_opt.c deleted file mode 100644 index cfe7b75db3..0000000000 --- a/src/libs/ncurses/menu/m_item_opt.c +++ /dev/null @@ -1,159 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_item_opt * -* Menus item option routines * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_item_opt.c,v 1.17 2004/12/25 21:32:54 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_item_opts(ITEM *item, Item_Options opts) -| -| Description : Set the options of the item. If there are relevant -| changes, the item is connected and the menu is posted, -| the menu will be redisplayed. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid item options -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_item_opts(ITEM * item, Item_Options opts) -{ - T((T_CALLED("set_menu_opts(%p,%d)"), item, opts)); - - opts &= ALL_ITEM_OPTS; - - if (opts & ~ALL_ITEM_OPTS) - RETURN(E_BAD_ARGUMENT); - - if (item) - { - if (item->opt != opts) - { - MENU *menu = item->imenu; - - item->opt = opts; - - if ((!(opts & O_SELECTABLE)) && item->value) - item->value = FALSE; - - if (menu && (menu->status & _POSTED)) - { - Move_And_Post_Item(menu, item); - _nc_Show_Menu(menu); - } - } - } - else - _nc_Default_Item.opt = opts; - - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int item_opts_off(ITEM *item, Item_Options opts) -| -| Description : Switch of the options for this item. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid options -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -item_opts_off(ITEM * item, Item_Options opts) -{ - ITEM *citem = item; /* use a copy because set_item_opts must detect - - NULL item itself to adjust its behavior */ - - T((T_CALLED("item_opts_off(%p,%d)"), item, opts)); - - if (opts & ~ALL_ITEM_OPTS) - RETURN(E_BAD_ARGUMENT); - else - { - Normalize_Item(citem); - opts = citem->opt & ~(opts & ALL_ITEM_OPTS); - returnCode(set_item_opts(item, opts)); - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int item_opts_on(ITEM *item, Item_Options opts) -| -| Description : Switch on the options for this item. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid options -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -item_opts_on(ITEM * item, Item_Options opts) -{ - ITEM *citem = item; /* use a copy because set_item_opts must detect - - NULL item itself to adjust its behavior */ - - T((T_CALLED("item_opts_on(%p,%d)"), item, opts)); - - opts &= ALL_ITEM_OPTS; - if (opts & ~ALL_ITEM_OPTS) - RETURN(E_BAD_ARGUMENT); - else - { - Normalize_Item(citem); - opts = citem->opt | opts; - returnCode(set_item_opts(item, opts)); - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : Item_Options item_opts(const ITEM *item) -| -| Description : Switch of the options for this item. -| -| Return Values : Items options -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(Item_Options) -item_opts(const ITEM * item) -{ - T((T_CALLED("item_opts(%p)"), item)); - returnItemOpts(ALL_ITEM_OPTS & Normalize_Item(item)->opt); -} - -/* m_item_opt.c ends here */ diff --git a/src/libs/ncurses/menu/m_item_top.c b/src/libs/ncurses/menu/m_item_top.c deleted file mode 100644 index 7268a0e49f..0000000000 --- a/src/libs/ncurses/menu/m_item_top.c +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_item_top * -* Set and get top menus item * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_item_top.c,v 1.10 2004/12/11 23:29:34 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_top_row(MENU *menu, int row) -| -| Description : Makes the specified row the top row in the menu -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - not a menu pointer or invalid row -| E_NOT_CONNECTED - there are no items for the menu -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_top_row(MENU * menu, int row) -{ - ITEM *item; - - T((T_CALLED("set_top_row(%p,%d)"), menu, row)); - - if (menu) - { - if (menu->status & _IN_DRIVER) - RETURN(E_BAD_STATE); - if (menu->items == (ITEM **) 0) - RETURN(E_NOT_CONNECTED); - - if ((row < 0) || (row > (menu->rows - menu->arows))) - RETURN(E_BAD_ARGUMENT); - } - else - RETURN(E_BAD_ARGUMENT); - - if (row != menu->toprow) - { - if (menu->status & _LINK_NEEDED) - _nc_Link_Items(menu); - - item = menu->items[(menu->opt & O_ROWMAJOR) ? (row * menu->cols) : row]; - assert(menu->pattern); - Reset_Pattern(menu); - _nc_New_TopRow_and_CurrentItem(menu, row, item); - } - - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int top_row(const MENU *) -| -| Description : Return the top row of the menu -| -| Return Values : The row number or ERR if there is no row -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -top_row(const MENU * menu) -{ - T((T_CALLED("top_row(%p)"), menu)); - if (menu && menu->items && *(menu->items)) - { - assert((menu->toprow >= 0) && (menu->toprow < menu->rows)); - returnCode(menu->toprow); - } - else - returnCode(ERR); -} - -/* m_item_top.c ends here */ diff --git a/src/libs/ncurses/menu/m_item_use.c b/src/libs/ncurses/menu/m_item_use.c deleted file mode 100644 index 06a5baf984..0000000000 --- a/src/libs/ncurses/menu/m_item_use.c +++ /dev/null @@ -1,76 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_item_use * -* Associate application data with menu items * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_item_use.c,v 1.16 2004/12/25 21:33:31 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_item_userptr(ITEM *item, void *userptr) -| -| Description : Set the pointer that is reserved in any item to store -| application relevant informations. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_item_userptr(ITEM * item, void *userptr) -{ - T((T_CALLED("set_item_userptr(%p,%p)"), item, userptr)); - Normalize_Item(item)->userptr = userptr; - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : void *item_userptr(const ITEM *item) -| -| Description : Return the pointer that is reserved in any item to store -| application relevant informations. -| -| Return Values : Value of the pointer. If no such pointer has been set, -| NULL is returned. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(void *) -item_userptr(const ITEM * item) -{ - T((T_CALLED("item_userptr(%p)"), item)); - returnVoidPtr(Normalize_Item(item)->userptr); -} - -/* m_item_use.c */ diff --git a/src/libs/ncurses/menu/m_item_val.c b/src/libs/ncurses/menu/m_item_val.c deleted file mode 100644 index cebf693fbd..0000000000 --- a/src/libs/ncurses/menu/m_item_val.c +++ /dev/null @@ -1,104 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_item_val * -* Set and get menus item values * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_item_val.c,v 1.14 2004/12/11 23:29:34 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_item_value(ITEM *item, int value) -| -| Description : Programmatically set the item's selection value. This is -| only allowed if the item is selectable at all and if -| it is not connected to a single-valued menu. -| If the item is connected to a posted menu, the menu -| will be redisplayed. -| -| Return Values : E_OK - success -| E_REQUEST_DENIED - not selectable or single valued menu -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_item_value(ITEM * item, bool value) -{ - MENU *menu; - - T((T_CALLED("set_item_value(%p,%d)"), item, value)); - if (item) - { - menu = item->imenu; - - if ((!(item->opt & O_SELECTABLE)) || - (menu && (menu->opt & O_ONEVALUE))) - RETURN(E_REQUEST_DENIED); - - if (item->value ^ value) - { - item->value = value ? TRUE : FALSE; - if (menu) - { - if (menu->status & _POSTED) - { - Move_And_Post_Item(menu, item); - _nc_Show_Menu(menu); - } - } - } - } - else - _nc_Default_Item.value = value; - - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : bool item_value(const ITEM *item) -| -| Description : Return the selection value of the item -| -| Return Values : TRUE - if item is selected -| FALSE - if item is not selected -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(bool) -item_value(const ITEM * item) -{ - T((T_CALLED("item_value(%p)"), item)); - returnBool((Normalize_Item(item)->value) ? TRUE : FALSE); -} - -/* m_item_val.c ends here */ diff --git a/src/libs/ncurses/menu/m_item_vis.c b/src/libs/ncurses/menu/m_item_vis.c deleted file mode 100644 index f8fb97f028..0000000000 --- a/src/libs/ncurses/menu/m_item_vis.c +++ /dev/null @@ -1,68 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_item_vis * -* Tell if menu item is visible * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_item_vis.c,v 1.15 2004/12/25 21:40:09 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : bool item_visible(const ITEM *item) -| -| Description : A item is visible if it currently appears in the -| subwindow of a posted menu. -| -| Return Values : TRUE if visible -| FALSE if invisible -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(bool) -item_visible(const ITEM * item) -{ - MENU *menu; - - T((T_CALLED("item_visible(%p)"), item)); - if (item && - (menu = item->imenu) && - (menu->status & _POSTED) && - ((menu->toprow + menu->arows) > (item->y)) && - (item->y >= menu->toprow)) - returnBool(TRUE); - else - returnBool(FALSE); -} - -/* m_item_vis.c ends here */ diff --git a/src/libs/ncurses/menu/m_items.c b/src/libs/ncurses/menu/m_items.c deleted file mode 100644 index 3e8f70b0fa..0000000000 --- a/src/libs/ncurses/menu/m_items.c +++ /dev/null @@ -1,110 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_items * -* Connect and disconnect items to and from menus * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_items.c,v 1.16 2005/01/16 01:02:23 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_menu_items(MENU *menu, ITEM **items) -| -| Description : Sets the item pointer array connected to menu. -| -| Return Values : E_OK - success -| E_POSTED - menu is already posted -| E_CONNECTED - one or more items are already connected -| to another menu. -| E_BAD_ARGUMENT - An incorrect menu or item array was -| passed to the function -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_menu_items(MENU * menu, ITEM ** items) -{ - T((T_CALLED("set_menu_items(%p,%p)"), menu, items)); - - if (!menu || (items && !(*items))) - RETURN(E_BAD_ARGUMENT); - - if (menu->status & _POSTED) - RETURN(E_POSTED); - - if (menu->items) - _nc_Disconnect_Items(menu); - - if (items) - { - if (!_nc_Connect_Items(menu, items)) - RETURN(E_CONNECTED); - } - - menu->items = items; - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : ITEM **menu_items(const MENU *menu) -| -| Description : Returns a pointer to the item pointer array of the menu -| -| Return Values : NULL on error -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(ITEM **) -menu_items(const MENU * menu) -{ - T((T_CALLED("menu_items(%p)"), menu)); - returnItemPtr(menu ? menu->items : (ITEM **) 0); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int item_count(const MENU *menu) -| -| Description : Get the number of items connected to the menu. If the -| menu pointer is NULL we return -1. -| -| Return Values : Number of items or -1 to indicate error. -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -item_count(const MENU * menu) -{ - T((T_CALLED("item_count(%p)"), menu)); - returnCode(menu ? menu->nitems : -1); -} - -/* m_items.c ends here */ diff --git a/src/libs/ncurses/menu/m_new.c b/src/libs/ncurses/menu/m_new.c deleted file mode 100644 index 20490d5f17..0000000000 --- a/src/libs/ncurses/menu/m_new.c +++ /dev/null @@ -1,112 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_new * -* Creation and destruction of new menus * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_new.c,v 1.16 2004/12/25 21:57:53 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : MENU *new_menu(ITEM **items) -| -| Description : Creates a new menu connected to the item pointer -| array items and returns a pointer to the new menu. -| The new menu is initialized with the values from the -| default menu. -| -| Return Values : NULL on error -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(MENU *) -new_menu(ITEM ** items) -{ - MENU *menu = (MENU *) calloc(1, sizeof(MENU)); - - T((T_CALLED("new_menu(%p)"), items)); - if (menu) - { - *menu = _nc_Default_Menu; - menu->status = 0; - menu->rows = menu->frows; - menu->cols = menu->fcols; - if (items && *items) - { - if (!_nc_Connect_Items(menu, items)) - { - free(menu); - menu = (MENU *) 0; - } - } - } - - if (!menu) - SET_ERROR(E_SYSTEM_ERROR); - - returnMenu(menu); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int free_menu(MENU *menu) -| -| Description : Disconnects menu from its associated item pointer -| array and frees the storage allocated for the menu. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - Invalid menu pointer passed -| E_POSTED - Menu is already posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -free_menu(MENU * menu) -{ - T((T_CALLED("free_menu(%p)"), menu)); - if (!menu) - RETURN(E_BAD_ARGUMENT); - - if (menu->status & _POSTED) - RETURN(E_POSTED); - - if (menu->items) - _nc_Disconnect_Items(menu); - - if ((menu->status & _MARK_ALLOCATED) && menu->mark) - free(menu->mark); - - free(menu); - RETURN(E_OK); -} - -/* m_new.c ends here */ diff --git a/src/libs/ncurses/menu/m_opts.c b/src/libs/ncurses/menu/m_opts.c deleted file mode 100644 index a7370b06f8..0000000000 --- a/src/libs/ncurses/menu/m_opts.c +++ /dev/null @@ -1,183 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_opts * -* Menus option routines * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_opts.c,v 1.19 2004/12/25 21:36:12 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_menu_opts(MENU *menu, Menu_Options opts) -| -| Description : Set the options for this menu. If the new settings -| end up in a change of the geometry of the menu, it -| will be recalculated. This operation is forbidden if -| the menu is already posted. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid menu options -| E_POSTED - menu is already posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_menu_opts(MENU * menu, Menu_Options opts) -{ - T((T_CALLED("set_menu_opts(%p,%d)"), menu, opts)); - - opts &= ALL_MENU_OPTS; - - if (opts & ~ALL_MENU_OPTS) - RETURN(E_BAD_ARGUMENT); - - if (menu) - { - if (menu->status & _POSTED) - RETURN(E_POSTED); - - if ((opts & O_ROWMAJOR) != (menu->opt & O_ROWMAJOR)) - { - /* we need this only if the layout really changed ... */ - if (menu->items && menu->items[0]) - { - menu->toprow = 0; - menu->curitem = menu->items[0]; - assert(menu->curitem); - set_menu_format(menu, menu->frows, menu->fcols); - } - } - - menu->opt = opts; - - if (opts & O_ONEVALUE) - { - ITEM **item; - - if (((item = menu->items) != (ITEM **) 0)) - for (; *item; item++) - (*item)->value = FALSE; - } - - if (opts & O_SHOWDESC) /* this also changes the geometry */ - _nc_Calculate_Item_Length_and_Width(menu); - } - else - _nc_Default_Menu.opt = opts; - - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int menu_opts_off(MENU *menu, Menu_Options opts) -| -| Description : Switch off the options for this menu. If the new settings -| end up in a change of the geometry of the menu, it -| will be recalculated. This operation is forbidden if -| the menu is already posted. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid options -| E_POSTED - menu is already posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -menu_opts_off(MENU * menu, Menu_Options opts) -{ - MENU *cmenu = menu; /* use a copy because set_menu_opts must detect - - NULL menu itself to adjust its behavior */ - - T((T_CALLED("menu_opts_off(%p,%d)"), menu, opts)); - - opts &= ALL_MENU_OPTS; - if (opts & ~ALL_MENU_OPTS) - RETURN(E_BAD_ARGUMENT); - else - { - Normalize_Menu(cmenu); - opts = cmenu->opt & ~opts; - returnCode(set_menu_opts(menu, opts)); - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int menu_opts_on(MENU *menu, Menu_Options opts) -| -| Description : Switch on the options for this menu. If the new settings -| end up in a change of the geometry of the menu, it -| will be recalculated. This operation is forbidden if -| the menu is already posted. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid menu options -| E_POSTED - menu is already posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -menu_opts_on(MENU * menu, Menu_Options opts) -{ - MENU *cmenu = menu; /* use a copy because set_menu_opts must detect - - NULL menu itself to adjust its behavior */ - - T((T_CALLED("menu_opts_on(%p,%d)"), menu, opts)); - - opts &= ALL_MENU_OPTS; - if (opts & ~ALL_MENU_OPTS) - RETURN(E_BAD_ARGUMENT); - else - { - Normalize_Menu(cmenu); - opts = cmenu->opt | opts; - returnCode(set_menu_opts(menu, opts)); - } -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : Menu_Options menu_opts(const MENU *menu) -| -| Description : Return the options for this menu. -| -| Return Values : Menu options -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(Menu_Options) -menu_opts(const MENU * menu) -{ - T((T_CALLED("menu_opts(%p)"), menu)); - returnMenuOpts(ALL_MENU_OPTS & Normalize_Menu(menu)->opt); -} - -/* m_opts.c ends here */ diff --git a/src/libs/ncurses/menu/m_pad.c b/src/libs/ncurses/menu/m_pad.c deleted file mode 100644 index 76083ba36d..0000000000 --- a/src/libs/ncurses/menu/m_pad.c +++ /dev/null @@ -1,95 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_pad * -* Control menus padding character * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_pad.c,v 1.10 2004/12/25 21:40:58 tom Exp $") - -/* Macro to redraw menu if it is posted and changed */ -#define Refresh_Menu(menu) \ - if ( (menu) && ((menu)->status & _POSTED) )\ - {\ - _nc_Draw_Menu( menu );\ - _nc_Show_Menu( menu );\ - } - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_menu_pad(MENU *menu, int pad) -| -| Description : Set the character to be used to separate the item name -| from its description. This must be a printable -| character. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - an invalid value has been passed -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_menu_pad(MENU * menu, int pad) -{ - bool do_refresh = (menu != (MENU *) 0); - - T((T_CALLED("set_menu_pad(%p,%d)"), menu, pad)); - - if (!isprint(UChar(pad))) - RETURN(E_BAD_ARGUMENT); - - Normalize_Menu(menu); - menu->pad = pad; - - if (do_refresh) - Refresh_Menu(menu); - - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int menu_pad(const MENU *menu) -| -| Description : Return the value of the padding character -| -| Return Values : The pad character -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -menu_pad(const MENU * menu) -{ - T((T_CALLED("menu_pad(%p)"), menu)); - returnCode(Normalize_Menu(menu)->pad); -} - -/* m_pad.c ends here */ diff --git a/src/libs/ncurses/menu/m_pattern.c b/src/libs/ncurses/menu/m_pattern.c deleted file mode 100644 index c3ef43a628..0000000000 --- a/src/libs/ncurses/menu/m_pattern.c +++ /dev/null @@ -1,124 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_pattern * -* Pattern matching handling * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_pattern.c,v 1.14 2005/04/16 17:53:16 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : char *menu_pattern(const MENU *menu) -| -| Description : Return the value of the pattern buffer. -| -| Return Values : NULL - if there is no pattern buffer allocated -| EmptyString - if there is a pattern buffer but no -| pattern is stored -| PatternString - as expected -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(char *) -menu_pattern(const MENU * menu) -{ - static char empty[] = ""; - - T((T_CALLED("menu_pattern(%p)"), menu)); - returnPtr(menu ? (menu->pattern ? menu->pattern : empty) : 0); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_menu_pattern(MENU *menu, const char *p) -| -| Description : Set the match pattern for a menu and position to the -| first item that matches. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid menu or pattern pointer -| E_NOT_CONNECTED - no items connected to menu -| E_BAD_STATE - menu in user hook routine -| E_NO_MATCH - no item matches pattern -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_menu_pattern(MENU * menu, const char *p) -{ - ITEM *matchitem; - int matchpos; - - T((T_CALLED("set_menu_pattern(%p,%s)"), menu, _nc_visbuf(p))); - - if (!menu || !p) - RETURN(E_BAD_ARGUMENT); - - if (!(menu->items)) - RETURN(E_NOT_CONNECTED); - - if (menu->status & _IN_DRIVER) - RETURN(E_BAD_STATE); - - Reset_Pattern(menu); - - if (!(*p)) - { - pos_menu_cursor(menu); - RETURN(E_OK); - } - - if (menu->status & _LINK_NEEDED) - _nc_Link_Items(menu); - - matchpos = menu->toprow; - matchitem = menu->curitem; - assert(matchitem); - - while (*p) - { - if (!isprint(UChar(*p)) || - (_nc_Match_Next_Character_In_Item_Name(menu, *p, &matchitem) != E_OK)) - { - Reset_Pattern(menu); - pos_menu_cursor(menu); - RETURN(E_NO_MATCH); - } - p++; - } - - /* This is reached if there was a match. So we position to the new item */ - Adjust_Current_Item(menu, matchpos, matchitem); - RETURN(E_OK); -} - -/* m_pattern.c ends here */ diff --git a/src/libs/ncurses/menu/m_post.c b/src/libs/ncurses/menu/m_post.c deleted file mode 100644 index 657d0f1842..0000000000 --- a/src/libs/ncurses/menu/m_post.c +++ /dev/null @@ -1,377 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_post * -* Write or erase menus from associated subwindows * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_post.c,v 1.26 2004/12/25 23:57:04 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : void _nc_Post_Item(MENU *menu, ITEM *item) -| -| Description : Draw the item in the menus window at the current -| window position -| -| Return Values : - -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(void) -_nc_Post_Item(const MENU * menu, const ITEM * item) -{ - int i; - chtype ch; - int item_x, item_y; - int count = 0; - bool isfore = FALSE, isback = FALSE, isgrey = FALSE; - int name_len; - int desc_len; - - assert(menu->win); - - getyx(menu->win, item_y, item_x); - - /* We need a marker iff - - it is a onevalued menu and it is the current item - - or it has a selection value - */ - wattron(menu->win, menu->back); - if (item->value || (item == menu->curitem)) - { - if (menu->marklen) - { - /* In a multi selection menu we use the fore attribute - for a selected marker that is not the current one. - This improves visualization of the menu, because now - always the 'normal' marker denotes the current - item. */ - if (!(menu->opt & O_ONEVALUE) && item->value && item != menu->curitem) - { - wattron(menu->win, menu->fore); - isfore = TRUE; - } - waddstr(menu->win, menu->mark); - if (isfore) - { - wattron(menu->win, menu->fore); - isfore = FALSE; - } - } - } - else /* otherwise we have to wipe out the marker area */ - for (ch = ' ', i = menu->marklen; i > 0; i--) - waddch(menu->win, ch); - wattroff(menu->win, menu->back); - count += menu->marklen; - - /* First we have to calculate the attribute depending on selectability - and selection status - */ - if (!(item->opt & O_SELECTABLE)) - { - wattron(menu->win, menu->grey); - isgrey = TRUE; - } - else - { - if (item->value || item == menu->curitem) - { - wattron(menu->win, menu->fore); - isfore = TRUE; - } - else - { - wattron(menu->win, menu->back); - isback = TRUE; - } - } - - waddnstr(menu->win, item->name.str, item->name.length); - name_len = _nc_Calculate_Text_Width(&(item->name)); - for (ch = ' ', i = menu->namelen - name_len; i > 0; i--) - { - waddch(menu->win, ch); - } - count += menu->namelen; - - /* Show description if required and available */ - if ((menu->opt & O_SHOWDESC) && menu->desclen > 0) - { - int m = menu->spc_desc / 2; - int cy = -1, cx = -1; - - for (ch = ' ', i = 0; i < menu->spc_desc; i++) - { - if (i == m) - { - waddch(menu->win, menu->pad); - getyx(menu->win, cy, cx); - } - else - waddch(menu->win, ch); - } - if (item->description.length) - waddnstr(menu->win, item->description.str, item->description.length); - desc_len = _nc_Calculate_Text_Width(&(item->description)); - for (ch = ' ', i = menu->desclen - desc_len; i > 0; i--) - { - waddch(menu->win, ch); - } - count += menu->desclen + menu->spc_desc; - - if (menu->spc_rows > 1) - { - int j, k, ncy, ncx; - - assert(cx >= 0 && cy >= 0); - getyx(menu->win, ncy, ncx); - if (isgrey) - wattroff(menu->win, menu->grey); - else if (isfore) - wattroff(menu->win, menu->fore); - wattron(menu->win, menu->back); - for (j = 1; j < menu->spc_rows; j++) - { - if ((item_y + j) < getmaxy(menu->win)) - { - wmove(menu->win, item_y + j, item_x); - for (k = 0; k < count; k++) - waddch(menu->win, ' '); - } - if ((cy + j) < getmaxy(menu->win)) - mvwaddch(menu->win, cy + j, cx - 1, menu->pad); - } - wmove(menu->win, ncy, ncx); - if (!isback) - wattroff(menu->win, menu->back); - } - } - - /* Remove attributes */ - if (isfore) - wattroff(menu->win, menu->fore); - if (isback) - wattroff(menu->win, menu->back); - if (isgrey) - wattroff(menu->win, menu->grey); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : void _nc_Draw_Menu(const MENU *) -| -| Description : Display the menu in its windows -| -| Return Values : - -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(void) -_nc_Draw_Menu(const MENU * menu) -{ - ITEM *item = menu->items[0]; - ITEM *lasthor, *lastvert; - ITEM *hitem; - int y = 0; - chtype s_bkgd; - - assert(item && menu->win); - - s_bkgd = getbkgd(menu->win); - wbkgdset(menu->win, menu->back); - werase(menu->win); - wbkgdset(menu->win, s_bkgd); - - lastvert = (menu->opt & O_NONCYCLIC) ? (ITEM *) 0 : item; - - do - { - wmove(menu->win, y, 0); - - hitem = item; - lasthor = (menu->opt & O_NONCYCLIC) ? (ITEM *) 0 : hitem; - - do - { - _nc_Post_Item(menu, hitem); - - wattron(menu->win, menu->back); - if (((hitem = hitem->right) != lasthor) && hitem) - { - int i, j, cy, cx; - chtype ch = ' '; - - getyx(menu->win, cy, cx); - for (j = 0; j < menu->spc_rows; j++) - { - wmove(menu->win, cy + j, cx); - for (i = 0; i < menu->spc_cols; i++) - { - waddch(menu->win, ch); - } - } - wmove(menu->win, cy, cx + menu->spc_cols); - } - } - while (hitem && (hitem != lasthor)); - wattroff(menu->win, menu->back); - - item = item->down; - y += menu->spc_rows; - - } - while (item && (item != lastvert)); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int post_menu(MENU *) -| -| Description : Post a menu to the screen. This makes it visible. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - not a valid menu pointer -| E_SYSTEM_ERROR - error in lower layers -| E_NOT_CONNECTED - No items connected to menu -| E_BAD_STATE - Menu in userexit routine -| E_POSTED - Menu already posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -post_menu(MENU * menu) -{ - T((T_CALLED("post_menu(%p)"), menu)); - - if (!menu) - RETURN(E_BAD_ARGUMENT); - - if (menu->status & _IN_DRIVER) - RETURN(E_BAD_STATE); - - if (menu->status & _POSTED) - RETURN(E_POSTED); - - if (menu->items && *(menu->items)) - { - int y; - int h = 1 + menu->spc_rows * (menu->rows - 1); - - WINDOW *win = Get_Menu_Window(menu); - int maxy = getmaxy(win); - - if ((menu->win = newpad(h, menu->width))) - { - y = (maxy >= h) ? h : maxy; - if (y >= menu->height) - y = menu->height; - if (!(menu->sub = subpad(menu->win, y, menu->width, 0, 0))) - RETURN(E_SYSTEM_ERROR); - } - else - RETURN(E_SYSTEM_ERROR); - - if (menu->status & _LINK_NEEDED) - _nc_Link_Items(menu); - } - else - RETURN(E_NOT_CONNECTED); - - menu->status |= _POSTED; - - if (!(menu->opt & O_ONEVALUE)) - { - ITEM **items; - - for (items = menu->items; *items; items++) - { - (*items)->value = FALSE; - } - } - - _nc_Draw_Menu(menu); - - Call_Hook(menu, menuinit); - Call_Hook(menu, iteminit); - - _nc_Show_Menu(menu); - - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int unpost_menu(MENU *) -| -| Description : Detach menu from screen -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - not a valid menu pointer -| E_BAD_STATE - menu in userexit routine -| E_NOT_POSTED - menu is not posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -unpost_menu(MENU * menu) -{ - WINDOW *win; - - T((T_CALLED("unpost_menu(%p)"), menu)); - - if (!menu) - RETURN(E_BAD_ARGUMENT); - - if (menu->status & _IN_DRIVER) - RETURN(E_BAD_STATE); - - if (!(menu->status & _POSTED)) - RETURN(E_NOT_POSTED); - - Call_Hook(menu, itemterm); - Call_Hook(menu, menuterm); - - win = Get_Menu_Window(menu); - werase(win); - wsyncup(win); - - assert(menu->sub); - delwin(menu->sub); - menu->sub = (WINDOW *)0; - - assert(menu->win); - delwin(menu->win); - menu->win = (WINDOW *)0; - - menu->status &= ~_POSTED; - - RETURN(E_OK); -} - -/* m_post.c ends here */ diff --git a/src/libs/ncurses/menu/m_req_name.c b/src/libs/ncurses/menu/m_req_name.c deleted file mode 100644 index 01fe79e3be..0000000000 --- a/src/libs/ncurses/menu/m_req_name.c +++ /dev/null @@ -1,125 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_request_name * -* Routines to handle external names of menu requests * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_req_name.c,v 1.19 2005/04/16 16:59:52 tom Exp $") - -static const char *request_names[MAX_MENU_COMMAND - MIN_MENU_COMMAND + 1] = -{ - "LEFT_ITEM", - "RIGHT_ITEM", - "UP_ITEM", - "DOWN_ITEM", - "SCR_ULINE", - "SCR_DLINE", - "SCR_DPAGE", - "SCR_UPAGE", - "FIRST_ITEM", - "LAST_ITEM", - "NEXT_ITEM", - "PREV_ITEM", - "TOGGLE_ITEM", - "CLEAR_PATTERN", - "BACK_PATTERN", - "NEXT_MATCH", - "PREV_MATCH" -}; - -#define A_SIZE (sizeof(request_names)/sizeof(request_names[0])) - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : const char * menu_request_name (int request); -| -| Description : Get the external name of a menu request. -| -| Return Values : Pointer to name - on success -| NULL - on invalid request code -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(const char *) -menu_request_name(int request) -{ - T((T_CALLED("menu_request_name(%d)"), request)); - if ((request < MIN_MENU_COMMAND) || (request > MAX_MENU_COMMAND)) - { - SET_ERROR(E_BAD_ARGUMENT); - returnCPtr((const char *)0); - } - else - returnCPtr(request_names[request - MIN_MENU_COMMAND]); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int menu_request_by_name (const char *str); -| -| Description : Search for a request with this name. -| -| Return Values : Request Id - on success -| E_NO_MATCH - request not found -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -menu_request_by_name(const char *str) -{ - /* because the table is so small, it doesn't really hurt - to run sequentially through it. - */ - unsigned int i = 0; - char buf[16]; - - T((T_CALLED("menu_request_by_name(%s)"), _nc_visbuf(str))); - - if (str) - { - strncpy(buf, str, sizeof(buf)); - while ((i < sizeof(buf)) && (buf[i] != '\0')) - { - buf[i] = toupper(buf[i]); - i++; - } - - for (i = 0; i < A_SIZE; i++) - { - if (strncmp(request_names[i], buf, sizeof(buf)) == 0) - returnCode(MIN_MENU_COMMAND + (int)i); - } - } - RETURN(E_NO_MATCH); -} - -/* m_req_name.c ends here */ diff --git a/src/libs/ncurses/menu/m_scale.c b/src/libs/ncurses/menu/m_scale.c deleted file mode 100644 index 96c2d84eb3..0000000000 --- a/src/libs/ncurses/menu/m_scale.c +++ /dev/null @@ -1,73 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_scale * -* Menu scaling routine * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_scale.c,v 1.9 2004/12/11 23:29:34 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int scale_menu(const MENU *menu) -| -| Description : Returns the minimum window size necessary for the -| subwindow of menu. -| -| Return Values : E_OK - success -| E_BAD_ARGUMENT - invalid menu pointer -| E_NOT_CONNECTED - no items are connected to menu -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -scale_menu(const MENU * menu, int *rows, int *cols) -{ - T((T_CALLED("scale_menu(%p,%p,%p)"), menu, rows, cols)); - - if (!menu) - RETURN(E_BAD_ARGUMENT); - - if (menu->items && *(menu->items)) - { - if (rows) - *rows = menu->height; - if (cols) - *cols = menu->width; - RETURN(E_OK); - } - else - RETURN(E_NOT_CONNECTED); -} - -/* m_scale.c ends here */ diff --git a/src/libs/ncurses/menu/m_spacing.c b/src/libs/ncurses/menu/m_spacing.c deleted file mode 100644 index 039bbe4d59..0000000000 --- a/src/libs/ncurses/menu/m_spacing.c +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_spacing * -* Routines to handle spacing between entries * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_spacing.c,v 1.17 2004/12/11 23:29:34 tom Exp $") - -#define MAX_SPC_DESC ((TABSIZE) ? (TABSIZE) : 8) -#define MAX_SPC_COLS ((TABSIZE) ? (TABSIZE) : 8) -#define MAX_SPC_ROWS (3) - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_menu_spacing(MENU *menu,int desc, int r, int c); -| -| Description : Set the spacing between entries -| -| Return Values : E_OK - on success -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_menu_spacing(MENU * menu, int s_desc, int s_row, int s_col) -{ - MENU *m; /* split for ATAC workaround */ - - T((T_CALLED("set_menu_spacing(%p,%d,%d,%d)"), menu, s_desc, s_row, s_col)); - - m = Normalize_Menu(menu); - - assert(m); - if (m->status & _POSTED) - RETURN(E_POSTED); - - if (((s_desc < 0) || (s_desc > MAX_SPC_DESC)) || - ((s_row < 0) || (s_row > MAX_SPC_ROWS)) || - ((s_col < 0) || (s_col > MAX_SPC_COLS))) - RETURN(E_BAD_ARGUMENT); - - m->spc_desc = s_desc ? s_desc : 1; - m->spc_rows = s_row ? s_row : 1; - m->spc_cols = s_col ? s_col : 1; - _nc_Calculate_Item_Length_and_Width(m); - - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int menu_spacing (const MENU *,int *,int *,int *); -| -| Description : Retrieve info about spacing between the entries -| -| Return Values : E_OK - on success -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -menu_spacing(const MENU * menu, int *s_desc, int *s_row, int *s_col) -{ - const MENU *m; /* split for ATAC workaround */ - - T((T_CALLED("menu_spacing(%p,%p,%p,%p)"), menu, s_desc, s_row, s_col)); - - m = Normalize_Menu(menu); - - assert(m); - if (s_desc) - *s_desc = m->spc_desc; - if (s_row) - *s_row = m->spc_rows; - if (s_col) - *s_col = m->spc_cols; - - RETURN(E_OK); -} - -/* m_spacing.c ends here */ diff --git a/src/libs/ncurses/menu/m_sub.c b/src/libs/ncurses/menu/m_sub.c deleted file mode 100644 index 82649c57b1..0000000000 --- a/src/libs/ncurses/menu/m_sub.c +++ /dev/null @@ -1,86 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_sub * -* Menus subwindow association routines * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_sub.c,v 1.10 2004/12/25 21:38:31 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_menu_sub(MENU *menu, WINDOW *win) -| -| Description : Sets the subwindow of the menu. -| -| Return Values : E_OK - success -| E_POSTED - menu is already posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_menu_sub(MENU * menu, WINDOW *win) -{ - T((T_CALLED("set_menu_sub(%p,%p)"), menu, win)); - - if (menu) - { - if (menu->status & _POSTED) - RETURN(E_POSTED); - menu->usersub = win; - _nc_Calculate_Item_Length_and_Width(menu); - } - else - _nc_Default_Menu.usersub = win; - - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : WINDOW *menu_sub(const MENU *menu) -| -| Description : Returns a pointer to the subwindow of the menu -| -| Return Values : NULL on error, otherwise a pointer to the window -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(WINDOW *) -menu_sub(const MENU * menu) -{ - const MENU *m = Normalize_Menu(menu); - - T((T_CALLED("menu_sub(%p)"), menu)); - returnWin(Get_Menu_Window(m)); -} - -/* m_sub.c ends here */ diff --git a/src/libs/ncurses/menu/m_trace.c b/src/libs/ncurses/menu/m_trace.c deleted file mode 100644 index 0f9f90273a..0000000000 --- a/src/libs/ncurses/menu/m_trace.c +++ /dev/null @@ -1,77 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey * - ****************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_trace.c,v 1.3 2005/01/16 01:06:11 tom Exp $") - -NCURSES_EXPORT(ITEM *) -_nc_retrace_item(ITEM * code) -{ - T((T_RETURN("%p"), code)); - return code; -} - -NCURSES_EXPORT(ITEM **) -_nc_retrace_item_ptr(ITEM ** code) -{ - T((T_RETURN("%p"), code)); - return code; -} - -NCURSES_EXPORT(Item_Options) -_nc_retrace_item_opts(Item_Options code) -{ - T((T_RETURN("%d"), code)); - return code; -} - -NCURSES_EXPORT(MENU *) -_nc_retrace_menu(MENU * code) -{ - T((T_RETURN("%p"), code)); - return code; -} - -NCURSES_EXPORT(Menu_Hook) -_nc_retrace_menu_hook(Menu_Hook code) -{ - T((T_RETURN("%p"), code)); - return code; -} - -NCURSES_EXPORT(Menu_Options) -_nc_retrace_menu_opts(Menu_Options code) -{ - T((T_RETURN("%d"), code)); - return code; -} diff --git a/src/libs/ncurses/menu/m_userptr.c b/src/libs/ncurses/menu/m_userptr.c deleted file mode 100644 index 7b178b25a1..0000000000 --- a/src/libs/ncurses/menu/m_userptr.c +++ /dev/null @@ -1,76 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_userptr * -* Associate application data with menus * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_userptr.c,v 1.16 2004/12/25 21:38:55 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_menu_userptr(MENU *menu, void *userptr) -| -| Description : Set the pointer that is reserved in any menu to store -| application relevant informations. -| -| Return Values : E_OK - success -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_menu_userptr(MENU * menu, void *userptr) -{ - T((T_CALLED("set_menu_userptr(%p,%p)"), menu, userptr)); - Normalize_Menu(menu)->userptr = userptr; - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : void *menu_userptr(const MENU *menu) -| -| Description : Return the pointer that is reserved in any menu to -| store application relevant informations. -| -| Return Values : Value of the pointer. If no such pointer has been set, -| NULL is returned -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(void *) -menu_userptr(const MENU * menu) -{ - T((T_CALLED("menu_userptr(%p)"), menu)); - returnVoidPtr(Normalize_Menu(menu)->userptr); -} - -/* m_userptr.c ends here */ diff --git a/src/libs/ncurses/menu/m_win.c b/src/libs/ncurses/menu/m_win.c deleted file mode 100644 index c3f857f716..0000000000 --- a/src/libs/ncurses/menu/m_win.c +++ /dev/null @@ -1,86 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/*************************************************************************** -* Module m_win * -* Menus window association routines * -***************************************************************************/ - -#include "menu.priv.h" - -MODULE_ID("$Id: m_win.c,v 1.15 2004/12/25 21:39:20 tom Exp $") - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : int set_menu_win(MENU *menu, WINDOW *win) -| -| Description : Sets the window of the menu. -| -| Return Values : E_OK - success -| E_POSTED - menu is already posted -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(int) -set_menu_win(MENU * menu, WINDOW *win) -{ - T((T_CALLED("set_menu_win(%p,%p)"), menu, win)); - - if (menu) - { - if (menu->status & _POSTED) - RETURN(E_POSTED); - menu->userwin = win; - _nc_Calculate_Item_Length_and_Width(menu); - } - else - _nc_Default_Menu.userwin = win; - - RETURN(E_OK); -} - -/*--------------------------------------------------------------------------- -| Facility : libnmenu -| Function : WINDOW *menu_win(const MENU *) -| -| Description : Returns pointer to the window of the menu -| -| Return Values : NULL on error, otherwise pointer to window -+--------------------------------------------------------------------------*/ -NCURSES_EXPORT(WINDOW *) -menu_win(const MENU * menu) -{ - const MENU *m = Normalize_Menu(menu); - - T((T_CALLED("menu_win(%p)"), menu)); - returnWin(m->userwin ? m->userwin : stdscr); -} - -/* m_win.c ends here */ diff --git a/src/libs/ncurses/menu/menu.h b/src/libs/ncurses/menu/menu.h deleted file mode 100644 index f0b1f60b22..0000000000 --- a/src/libs/ncurses/menu/menu.h +++ /dev/null @@ -1,256 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/* $Id: menu.h,v 1.18 2003/11/08 20:48:24 tom Exp $ */ - -#ifndef ETI_MENU -#define ETI_MENU - -#ifdef AMIGA -#define TEXT TEXT_ncurses -#endif - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef int Menu_Options; -typedef int Item_Options; - -/* Menu options: */ -#define O_ONEVALUE (0x01) -#define O_SHOWDESC (0x02) -#define O_ROWMAJOR (0x04) -#define O_IGNORECASE (0x08) -#define O_SHOWMATCH (0x10) -#define O_NONCYCLIC (0x20) - -/* Item options: */ -#define O_SELECTABLE (0x01) - -typedef struct -{ - const char* str; - unsigned short length; -} TEXT; - -typedef struct tagITEM -{ - TEXT name; /* name of menu item */ - TEXT description; /* description of item, optional in display */ - struct tagMENU *imenu; /* Pointer to parent menu */ - void *userptr; /* Pointer to user defined per item data */ - Item_Options opt; /* Item options */ - short index; /* Item number if connected to a menu */ - short y; /* y and x location of item in menu */ - short x; - bool value; /* Selection value */ - - struct tagITEM *left; /* neighbor items */ - struct tagITEM *right; - struct tagITEM *up; - struct tagITEM *down; - -} ITEM; - -typedef void (*Menu_Hook)(struct tagMENU *); - -typedef struct tagMENU -{ - short height; /* Nr. of chars high */ - short width; /* Nr. of chars wide */ - short rows; /* Nr. of items high */ - short cols; /* Nr. of items wide */ - short frows; /* Nr. of formatted items high */ - short fcols; /* Nr. of formatted items wide */ - short arows; /* Nr. of items high (actual) */ - short namelen; /* Max. name length */ - short desclen; /* Max. description length */ - short marklen; /* Length of mark, if any */ - short itemlen; /* Length of one item */ - short spc_desc; /* Spacing for descriptor */ - short spc_cols; /* Spacing for columns */ - short spc_rows; /* Spacing for rows */ - char *pattern; /* Buffer to store match chars */ - short pindex; /* Index into pattern buffer */ - WINDOW *win; /* Window containing menu */ - WINDOW *sub; /* Subwindow for menu display */ - WINDOW *userwin; /* User's window */ - WINDOW *usersub; /* User's subwindow */ - ITEM **items; /* array of items */ - short nitems; /* Nr. of items in menu */ - ITEM *curitem; /* Current item */ - short toprow; /* Top row of menu */ - chtype fore; /* Selection attribute */ - chtype back; /* Nonselection attribute */ - chtype grey; /* Inactive attribute */ - unsigned char pad; /* Pad character */ - - Menu_Hook menuinit; /* User hooks */ - Menu_Hook menuterm; - Menu_Hook iteminit; - Menu_Hook itemterm; - - void *userptr; /* Pointer to menus user data */ - char *mark; /* Pointer to marker string */ - - Menu_Options opt; /* Menu options */ - unsigned short status; /* Internal state of menu */ - -} MENU; - - -/* Define keys */ - -#define REQ_LEFT_ITEM (KEY_MAX + 1) -#define REQ_RIGHT_ITEM (KEY_MAX + 2) -#define REQ_UP_ITEM (KEY_MAX + 3) -#define REQ_DOWN_ITEM (KEY_MAX + 4) -#define REQ_SCR_ULINE (KEY_MAX + 5) -#define REQ_SCR_DLINE (KEY_MAX + 6) -#define REQ_SCR_DPAGE (KEY_MAX + 7) -#define REQ_SCR_UPAGE (KEY_MAX + 8) -#define REQ_FIRST_ITEM (KEY_MAX + 9) -#define REQ_LAST_ITEM (KEY_MAX + 10) -#define REQ_NEXT_ITEM (KEY_MAX + 11) -#define REQ_PREV_ITEM (KEY_MAX + 12) -#define REQ_TOGGLE_ITEM (KEY_MAX + 13) -#define REQ_CLEAR_PATTERN (KEY_MAX + 14) -#define REQ_BACK_PATTERN (KEY_MAX + 15) -#define REQ_NEXT_MATCH (KEY_MAX + 16) -#define REQ_PREV_MATCH (KEY_MAX + 17) - -#define MIN_MENU_COMMAND (KEY_MAX + 1) -#define MAX_MENU_COMMAND (KEY_MAX + 17) - -/* - * Some AT&T code expects MAX_COMMAND to be out-of-band not - * just for menu commands but for forms ones as well. - */ -#if defined(MAX_COMMAND) -# if (MAX_MENU_COMMAND > MAX_COMMAND) -# error Something is wrong -- MAX_MENU_COMMAND is greater than MAX_COMMAND -# elif (MAX_COMMAND != (KEY_MAX + 128)) -# error Something is wrong -- MAX_COMMAND is already inconsistently defined. -# endif -#else -# define MAX_COMMAND (KEY_MAX + 128) -#endif - - -/* --------- prototypes for libmenu functions ----------------------------- */ - -extern NCURSES_EXPORT(ITEM **) menu_items (const MENU *); -extern NCURSES_EXPORT(ITEM *) current_item (const MENU *); -extern NCURSES_EXPORT(ITEM *) new_item (const char *,const char *); - -extern NCURSES_EXPORT(MENU *) new_menu (ITEM **); - -extern NCURSES_EXPORT(Item_Options) item_opts (const ITEM *); -extern NCURSES_EXPORT(Menu_Options) menu_opts (const MENU *); - -extern NCURSES_EXPORT(Menu_Hook) item_init (const MENU *); -extern NCURSES_EXPORT(Menu_Hook) item_term (const MENU *); -extern NCURSES_EXPORT(Menu_Hook) menu_init (const MENU *); -extern NCURSES_EXPORT(Menu_Hook) menu_term (const MENU *); - -extern NCURSES_EXPORT(WINDOW *) menu_sub (const MENU *); -extern NCURSES_EXPORT(WINDOW *) menu_win (const MENU *); - -extern NCURSES_EXPORT(const char *) item_description (const ITEM *); -extern NCURSES_EXPORT(const char *) item_name (const ITEM *); -extern NCURSES_EXPORT(const char *) menu_mark (const MENU *); -extern NCURSES_EXPORT(const char *) menu_request_name (int); - -extern NCURSES_EXPORT(char *) menu_pattern (const MENU *); - -extern NCURSES_EXPORT(void *) menu_userptr (const MENU *); -extern NCURSES_EXPORT(void *) item_userptr (const ITEM *); - -extern NCURSES_EXPORT(chtype) menu_back (const MENU *); -extern NCURSES_EXPORT(chtype) menu_fore (const MENU *); -extern NCURSES_EXPORT(chtype) menu_grey (const MENU *); - -extern NCURSES_EXPORT(int) free_item (ITEM *); -extern NCURSES_EXPORT(int) free_menu (MENU *); -extern NCURSES_EXPORT(int) item_count (const MENU *); -extern NCURSES_EXPORT(int) item_index (const ITEM *); -extern NCURSES_EXPORT(int) item_opts_off (ITEM *,Item_Options); -extern NCURSES_EXPORT(int) item_opts_on (ITEM *,Item_Options); -extern NCURSES_EXPORT(int) menu_driver (MENU *,int); -extern NCURSES_EXPORT(int) menu_opts_off (MENU *,Menu_Options); -extern NCURSES_EXPORT(int) menu_opts_on (MENU *,Menu_Options); -extern NCURSES_EXPORT(int) menu_pad (const MENU *); -extern NCURSES_EXPORT(int) pos_menu_cursor (const MENU *); -extern NCURSES_EXPORT(int) post_menu (MENU *); -extern NCURSES_EXPORT(int) scale_menu (const MENU *,int *,int *); -extern NCURSES_EXPORT(int) set_current_item (MENU *menu,ITEM *item); -extern NCURSES_EXPORT(int) set_item_init (MENU *,void(*)(MENU *)); -extern NCURSES_EXPORT(int) set_item_opts (ITEM *,Item_Options); -extern NCURSES_EXPORT(int) set_item_term (MENU *,void(*)(MENU *)); -extern NCURSES_EXPORT(int) set_item_userptr (ITEM *, void *); -extern NCURSES_EXPORT(int) set_item_value (ITEM *,bool); -extern NCURSES_EXPORT(int) set_menu_back (MENU *,chtype); -extern NCURSES_EXPORT(int) set_menu_fore (MENU *,chtype); -extern NCURSES_EXPORT(int) set_menu_format (MENU *,int,int); -extern NCURSES_EXPORT(int) set_menu_grey (MENU *,chtype); -extern NCURSES_EXPORT(int) set_menu_init (MENU *,void(*)(MENU *)); -extern NCURSES_EXPORT(int) set_menu_items (MENU *,ITEM **); -extern NCURSES_EXPORT(int) set_menu_mark (MENU *, const char *); -extern NCURSES_EXPORT(int) set_menu_opts (MENU *,Menu_Options); -extern NCURSES_EXPORT(int) set_menu_pad (MENU *,int); -extern NCURSES_EXPORT(int) set_menu_pattern (MENU *,const char *); -extern NCURSES_EXPORT(int) set_menu_sub (MENU *,WINDOW *); -extern NCURSES_EXPORT(int) set_menu_term (MENU *,void(*)(MENU *)); -extern NCURSES_EXPORT(int) set_menu_userptr (MENU *,void *); -extern NCURSES_EXPORT(int) set_menu_win (MENU *,WINDOW *); -extern NCURSES_EXPORT(int) set_top_row (MENU *,int); -extern NCURSES_EXPORT(int) top_row (const MENU *); -extern NCURSES_EXPORT(int) unpost_menu (MENU *); -extern NCURSES_EXPORT(int) menu_request_by_name (const char *); -extern NCURSES_EXPORT(int) set_menu_spacing (MENU *,int,int,int); -extern NCURSES_EXPORT(int) menu_spacing (const MENU *,int *,int *,int *); - - -extern NCURSES_EXPORT(bool) item_value (const ITEM *); -extern NCURSES_EXPORT(bool) item_visible (const ITEM *); - -extern NCURSES_EXPORT(void) menu_format (const MENU *,int *,int *); - -#ifdef __cplusplus - } -#endif - -#endif /* ETI_MENU */ diff --git a/src/libs/ncurses/menu/menu.priv.h b/src/libs/ncurses/menu/menu.priv.h deleted file mode 100644 index 10d3537594..0000000000 --- a/src/libs/ncurses/menu/menu.priv.h +++ /dev/null @@ -1,152 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/* $Id: menu.priv.h,v 1.22 2005/01/16 01:02:23 tom Exp $ */ - -/*************************************************************************** -* Module menu.priv.h * -* Top level private header file for all libnmenu modules * -***************************************************************************/ - -#ifndef MENU_PRIV_H_incl -#define MENU_PRIV_H_incl 1 - -#include "curses.priv.h" -#include "mf_common.h" -#include "menu.h" - -/* Backspace code */ -#define BS (8) - -extern NCURSES_EXPORT_VAR(ITEM) _nc_Default_Item; -extern NCURSES_EXPORT_VAR(MENU) _nc_Default_Menu; - -/* Normalize item to default if none was given */ -#define Normalize_Item( item ) ((item)=(item)?(item):&_nc_Default_Item) - -/* Normalize menu to default if none was given */ -#define Normalize_Menu( menu ) ((menu)=(menu)?(menu):&_nc_Default_Menu) - -/* Get the user defined (framing) window of the menu */ -#define Get_Menu_UserWin(menu) ((menu)->userwin ? (menu)->userwin : stdscr) - -/* Normalize menu window */ -#define Get_Menu_Window( menu ) \ - ((menu)->usersub ? (menu)->usersub : Get_Menu_UserWin(menu)) - -/* menu specific status flags */ -#define _LINK_NEEDED (0x04) -#define _MARK_ALLOCATED (0x08) - -#define ALL_MENU_OPTS ( \ - O_ONEVALUE | \ - O_SHOWDESC | \ - O_ROWMAJOR | \ - O_IGNORECASE | \ - O_SHOWMATCH | \ - O_NONCYCLIC ) - -#define ALL_ITEM_OPTS (O_SELECTABLE) - -/* Move to the window position of an item and draw it */ -#define Move_And_Post_Item(menu,item) \ - {wmove((menu)->win,(menu)->spc_rows*(item)->y,((menu)->itemlen+(menu)->spc_cols)*(item)->x);\ - _nc_Post_Item((menu),(item));} - -#define Move_To_Current_Item(menu,item) \ - if ( (item) != (menu)->curitem)\ - {\ - Move_And_Post_Item(menu,item);\ - Move_And_Post_Item(menu,(menu)->curitem);\ - } - -/* This macro ensures, that the item becomes visible, if possible with the - specified row as the top row of the window. If this is not possible, - the top row will be adjusted and the value is stored in the row argument. -*/ -#define Adjust_Current_Item(menu,row,item) \ - { if ((item)->y < row) \ - row = (item)->y;\ - if ( (item)->y >= (row + (menu)->arows) )\ - row = ( (item)->y < ((menu)->rows - row) ) ? \ - (item)->y : (menu)->rows - (menu)->arows;\ - _nc_New_TopRow_and_CurrentItem(menu,row,item); } - -/* Reset the match pattern buffer */ -#define Reset_Pattern(menu) \ - { (menu)->pindex = 0; \ - (menu)->pattern[0] = '\0'; } - -#define UChar(c) ((unsigned char)(c)) - -/* Internal functions. */ -extern NCURSES_EXPORT(void) _nc_Draw_Menu (const MENU *); -extern NCURSES_EXPORT(void) _nc_Show_Menu (const MENU *); -extern NCURSES_EXPORT(void) _nc_Calculate_Item_Length_and_Width (MENU *); -extern NCURSES_EXPORT(int) _nc_Calculate_Text_Width(const TEXT *); -extern NCURSES_EXPORT(void) _nc_Post_Item (const MENU *, const ITEM *); -extern NCURSES_EXPORT(bool) _nc_Connect_Items (MENU *, ITEM **); -extern NCURSES_EXPORT(void) _nc_Disconnect_Items (MENU *); -extern NCURSES_EXPORT(void) _nc_New_TopRow_and_CurrentItem (MENU *,int, ITEM *); -extern NCURSES_EXPORT(void) _nc_Link_Items (MENU *); -extern NCURSES_EXPORT(int) _nc_Match_Next_Character_In_Item_Name (MENU*,int,ITEM**); -extern NCURSES_EXPORT(int) _nc_menu_cursor_pos (const MENU* menu, const ITEM* item, - int* pY, int* pX); - -#ifdef TRACE - -#define returnItem(code) TRACE_RETURN(code,item) -#define returnItemPtr(code) TRACE_RETURN(code,item_ptr) -#define returnItemOpts(code) TRACE_RETURN(code,item_opts) -#define returnMenu(code) TRACE_RETURN(code,menu) -#define returnMenuHook(code) TRACE_RETURN(code,menu_hook) -#define returnMenuOpts(code) TRACE_RETURN(code,menu_opts) - -extern NCURSES_EXPORT(ITEM *) _nc_retrace_item (ITEM *); -extern NCURSES_EXPORT(ITEM **) _nc_retrace_item_ptr (ITEM **); -extern NCURSES_EXPORT(Item_Options) _nc_retrace_item_opts (Item_Options); -extern NCURSES_EXPORT(MENU *) _nc_retrace_menu (MENU *); -extern NCURSES_EXPORT(Menu_Hook) _nc_retrace_menu_hook (Menu_Hook); -extern NCURSES_EXPORT(Menu_Options) _nc_retrace_menu_opts (Menu_Options); - -#else /* !TRACE */ - -#define returnItem(code) return code -#define returnItemPtr(code) return code -#define returnItemOpts(code) return code -#define returnMenu(code) return code -#define returnMenuHook(code) return code -#define returnMenuOpts(code) return code - -#endif /* TRACE/!TRACE */ - -#endif /* MENU_PRIV_H_incl */ diff --git a/src/libs/ncurses/menu/mf_common.h b/src/libs/ncurses/menu/mf_common.h deleted file mode 100644 index 5b02eb4ce4..0000000000 --- a/src/libs/ncurses/menu/mf_common.h +++ /dev/null @@ -1,104 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1995,1997 * - ****************************************************************************/ - -/* $Id: mf_common.h,v 0.21 2004/12/11 22:40:40 tom Exp $ */ - -/* Common internal header for menu and form library */ - -#ifndef MF_COMMON_H_incl -#define MF_COMMON_H_incl 1 - -#include -#include - -#include -#include -#include -#include -#include -#include - -#if DECL_ERRNO -extern int errno; -#endif - -/* in case of debug version we ignore the suppression of assertions */ -#ifdef TRACE -# ifdef NDEBUG -# undef NDEBUG -# endif -#endif - -#include - -#if USE_RCS_IDS -#define MODULE_ID(id) static const char Ident[] = id; -#else -#define MODULE_ID(id) /*nothing*/ -#endif - - -/* Maximum regular 8-bit character code */ -#define MAX_REGULAR_CHARACTER (0xff) - -#define SET_ERROR(code) (errno=(code)) -#define GET_ERROR() (errno) - -#ifdef TRACE -#define RETURN(code) returnCode( SET_ERROR(code) ) -#else -#define RETURN(code) return( SET_ERROR(code) ) -#endif - -/* The few common values in the status fields for menus and forms */ -#define _POSTED (0x01U) /* menu or form is posted */ -#define _IN_DRIVER (0x02U) /* menu or form is processing hook routine */ - -/* Call object hook */ -#define Call_Hook( object, handler ) \ - if ( (object) != 0 && ((object)->handler) != (void *) 0 )\ - {\ - (object)->status |= _IN_DRIVER;\ - (object)->handler(object);\ - (object)->status &= ~_IN_DRIVER;\ - } - -#define INLINE - -#ifndef TRACE -# if CC_HAS_INLINE_FUNCS -# undef INLINE -# define INLINE inline -# endif -#endif - -#endif /* MF_COMMON_H_incl */ diff --git a/src/libs/ncurses/menu/modules b/src/libs/ncurses/menu/modules deleted file mode 100644 index c78178a13c..0000000000 --- a/src/libs/ncurses/menu/modules +++ /dev/null @@ -1,61 +0,0 @@ -# $Id: modules,v 1.16 2004/12/25 22:06:33 tom Exp $ -############################################################################## -# Copyright (c) 1998,2004 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996,1997 -# - -@ base -# Library objects -m_attribs lib $(srcdir) $(MENU_PRIV_H) -m_cursor lib $(srcdir) $(MENU_PRIV_H) -m_driver lib $(srcdir) $(MENU_PRIV_H) -m_format lib $(srcdir) $(MENU_PRIV_H) -m_global lib $(srcdir) $(MENU_PRIV_H) -m_hook lib $(srcdir) $(MENU_PRIV_H) -m_item_cur lib $(srcdir) $(MENU_PRIV_H) -m_item_nam lib $(srcdir) $(MENU_PRIV_H) -m_item_new lib $(srcdir) $(MENU_PRIV_H) -m_item_opt lib $(srcdir) $(MENU_PRIV_H) -m_item_top lib $(srcdir) $(MENU_PRIV_H) -m_item_use lib $(srcdir) $(MENU_PRIV_H) -m_item_val lib $(srcdir) $(MENU_PRIV_H) -m_item_vis lib $(srcdir) $(MENU_PRIV_H) -m_items lib $(srcdir) $(MENU_PRIV_H) -m_new lib $(srcdir) $(MENU_PRIV_H) -m_opts lib $(srcdir) $(MENU_PRIV_H) -m_pad lib $(srcdir) $(MENU_PRIV_H) -m_pattern lib $(srcdir) $(MENU_PRIV_H) -m_post lib $(srcdir) $(MENU_PRIV_H) -m_req_name lib $(srcdir) $(MENU_PRIV_H) -m_scale lib $(srcdir) $(MENU_PRIV_H) -m_spacing lib $(srcdir) $(MENU_PRIV_H) -m_sub lib $(srcdir) $(MENU_PRIV_H) -m_trace lib $(srcdir) $(MENU_PRIV_H) -m_userptr lib $(srcdir) $(MENU_PRIV_H) -m_win lib $(srcdir) $(MENU_PRIV_H) diff --git a/src/libs/ncurses/misc/Makefile b/src/libs/ncurses/misc/Makefile deleted file mode 100644 index 06612021a4..0000000000 --- a/src/libs/ncurses/misc/Makefile +++ /dev/null @@ -1,140 +0,0 @@ -# $Id: Makefile.in,v 1.36 2004/07/11 16:00:13 tom Exp $ -############################################################################## -# Copyright (c) 1998,2000,2001,2002 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996,1997 -# -# Makefile for ncurses miscellany directory -# -# This makes/installs the terminfo database -# -# The variable 'srcdir' refers to the source-distribution, and can be set with -# the configure script by "--srcdir=DIR". -# -# The rules are organized to produce the libraries for the configured models, -# and the programs with the configured default model. - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES : - -SHELL = /bin/sh -THIS = Makefile - -CF_MFLAGS = - - -DESTDIR = -top_srcdir = .. -srcdir = . -prefix = /usr/local -exec_prefix = ${prefix} -bindir = ${exec_prefix}/bin -libdir = ${exec_prefix}/lib -datadir = ${prefix}/share - -CC = gcc -HOSTCC = $(CC) - -tabsetdir = $(datadir)/tabset -ticdir = /usr/local/share/terminfo -source = ${top_srcdir}/misc/terminfo.src - -INSTALL = /bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 - -################################################################################ -all : terminfo.tmp - -depend : - -sources : - -install : install.data - -install.data : terminfo.tmp \ - $(DESTDIR)$(libdir) \ - $(DESTDIR)$(ticdir) \ - $(DESTDIR)$(tabsetdir) - DESTDIR=${DESTDIR} \ - prefix=${prefix} \ - exec_prefix=${exec_prefix} \ - bindir=${bindir} \ - top_srcdir=${top_srcdir} \ - srcdir=${srcdir} \ - datadir=${datadir} \ - ticdir=${ticdir} \ - source=terminfo.tmp \ - THIS_CC="$(CC)" \ - THAT_CC="$(HOSTCC)" \ - sh ./run_tic.sh - @cd $(srcdir)/tabset && \ - sh -c 'for i in * ; do \ - if test -f $$i ; then \ - echo installing $$i; \ - $(INSTALL_DATA) $$i $(DESTDIR)$(tabsetdir)/$$i; \ - fi; done' - -terminfo.tmp : run_tic.sed $(source) - echo '** adjusting tabset paths' - sed -f run_tic.sed $(source) >terminfo.tmp - -run_tic.sed : - WHICH_XTERM=xterm-new \ - ticdir=${ticdir} \ - sh $(srcdir)/gen_edit.sh >$@ - -$(DESTDIR)$(libdir) \ -$(DESTDIR)$(tabsetdir) \ -$(DESTDIR)$(ticdir) : - sh $(top_srcdir)/mkinstalldirs $@ - -uninstall : uninstall.data - -uninstall.data : - -cd $(DESTDIR)$(ticdir) && rm -rf * - -cd $(DESTDIR)$(tabsetdir) && rm -rf * - -tags : - -TAGS : - -mostlyclean : - -rm -f terminfo.tmp - -rm -f run_tic.sed - -rm -f core tags TAGS *~ *.bak *.ln *.atac trace - -clean :: mostlyclean - -distclean : clean - -rm -f Makefile run_tic.sh - -realclean : distclean - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### diff --git a/src/libs/ncurses/misc/Makefile.in b/src/libs/ncurses/misc/Makefile.in deleted file mode 100644 index 8712edb480..0000000000 --- a/src/libs/ncurses/misc/Makefile.in +++ /dev/null @@ -1,140 +0,0 @@ -# $Id: Makefile.in,v 1.36 2004/07/11 16:00:13 tom Exp $ -############################################################################## -# Copyright (c) 1998,2000,2001,2002 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996,1997 -# -# Makefile for ncurses miscellany directory -# -# This makes/installs the terminfo database -# -# The variable 'srcdir' refers to the source-distribution, and can be set with -# the configure script by "--srcdir=DIR". -# -# The rules are organized to produce the libraries for the configured models, -# and the programs with the configured default model. - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES : - -SHELL = /bin/sh -THIS = Makefile - -CF_MFLAGS = @cf_cv_makeflags@ -@SET_MAKE@ - -DESTDIR = @DESTDIR@ -top_srcdir = @top_srcdir@ -srcdir = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ -bindir = @bindir@ -libdir = @libdir@ -datadir = @datadir@ - -CC = @CC@ -HOSTCC = @BUILD_CC@ - -tabsetdir = $(datadir)/tabset -ticdir = @TERMINFO@ -source = @TERMINFO_SRC@ - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ - -################################################################################ -all : terminfo.tmp - -depend : - -sources : - -install : install.data - -install.data : terminfo.tmp \ - $(DESTDIR)$(libdir) \ - $(DESTDIR)$(ticdir) \ - $(DESTDIR)$(tabsetdir) - DESTDIR=${DESTDIR} \ - prefix=${prefix} \ - exec_prefix=${exec_prefix} \ - bindir=${bindir} \ - top_srcdir=${top_srcdir} \ - srcdir=${srcdir} \ - datadir=${datadir} \ - ticdir=${ticdir} \ - source=terminfo.tmp \ - THIS_CC="$(CC)" \ - THAT_CC="$(HOSTCC)" \ - sh ./run_tic.sh - @cd $(srcdir)/tabset && \ - sh -c 'for i in * ; do \ - if test -f $$i ; then \ - echo installing $$i; \ - $(INSTALL_DATA) $$i $(DESTDIR)$(tabsetdir)/$$i; \ - fi; done' - -terminfo.tmp : run_tic.sed $(source) - echo '** adjusting tabset paths' - sed -f run_tic.sed $(source) >terminfo.tmp - -run_tic.sed : - WHICH_XTERM=@WHICH_XTERM@ \ - ticdir=${ticdir} \ - sh $(srcdir)/gen_edit.sh >$@ - -$(DESTDIR)$(libdir) \ -$(DESTDIR)$(tabsetdir) \ -$(DESTDIR)$(ticdir) : - sh $(top_srcdir)/mkinstalldirs $@ - -uninstall : uninstall.data - -uninstall.data : - -cd $(DESTDIR)$(ticdir) && rm -rf * - -cd $(DESTDIR)$(tabsetdir) && rm -rf * - -tags : - -@MAKE_UPPER_TAGS@TAGS : - -mostlyclean : - -rm -f terminfo.tmp - -rm -f run_tic.sed - -rm -f core tags TAGS *~ *.bak *.ln *.atac trace - -clean :: mostlyclean - -distclean : clean - -rm -f Makefile run_tic.sh - -realclean : distclean - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### diff --git a/src/libs/ncurses/misc/chkdef.cmd b/src/libs/ncurses/misc/chkdef.cmd deleted file mode 100644 index c8d743356d..0000000000 --- a/src/libs/ncurses/misc/chkdef.cmd +++ /dev/null @@ -1,86 +0,0 @@ -/* - * $Id: chkdef.cmd,v 1.2 1998/08/29 21:45:58 tom Exp $ - * - * Author: Juan Jose Garcia Ripoll . - * Webpage: http://www.arrakis.es/~worm/ - * - * chkdef.cmd - checks that a .def file has no conflicts and is properly - * formatted. - * - * returns nonzero if two symbols have the same code or a line has a wrong - * format. - * - * returns 0 otherwise - * - * the standard output shows conflicts. - */ -parse arg def_file - -def_file = translate(def_file,'\','/') - -call CleanQueue - -/* - * `cmp' is zero when the file is valid - * `codes' associates a name to a code - * `names' associates a code to a name - */ -cmp = 0 -codes. = 0 -names. = '' - -/* - * This sed expression cleans empty lines, comments and special .DEF - * commands, such as LIBRARY..., EXPORTS..., etc - */ -tidy_up = '"s/[ ][ ]*/ /g;s/;.*//g;/^[ ]*$/d;/^[a-zA-Z]/d;"' - -/* - * First we find all public symbols from the original DLL. All this - * information is pushed into a REXX private list with the RXQUEUE - * utility program. - */ -'@echo off' -'type' def_file '| sed' tidy_up '| sort | rxqueue' - -do while queued() > 0 - /* - * We retrieve the symbol name (NEW_NAME) and its code (NEW_CODE) - */ - parse pull '"' new_name '"' '@'new_code rest - select - when (new_code = '') | (new_name = '') then - /* The input was not properly formatted */ - do - say 'Error: symbol "'new_name'" has no export code or is empty' - cmp = 1 - end - when codes.new_name \= 0 then - /* This symbol was already defined */ - if codes.new_name \= new_code then - do - cmp = 2 - say 'Symbol "'new_name'" multiply defined' - end - when names.new_code \= '' then - /* This code was already assigned to a symbol */ - if names.new_code \= new_name then - do - cmp = 3 - say 'Conflict with "'names.new_code'" & "'new_name'" being @'new_code - end - otherwise - do - codes.new_name = new_code - names.new_code = new_name - end - end /* select */ -end - -exit cmp - -CleanQueue: procedure - do while queued() > 0 - parse pull foo - end -return diff --git a/src/libs/ncurses/misc/cleantic.cmd b/src/libs/ncurses/misc/cleantic.cmd deleted file mode 100644 index ab6a40a4fc..0000000000 --- a/src/libs/ncurses/misc/cleantic.cmd +++ /dev/null @@ -1,16 +0,0 @@ -/* - * $Id: cleantic.cmd,v 1.3 1998/08/29 21:43:19 tom Exp $ - * - * Author: Juan Jose Garcia Ripoll . - * Webpage: http://www.arrakis.es/~worm/ - */ -parse arg dir - -pause -dir = translate(dir,'\','/'); -letters = '0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z' - -if dir = '' then - dir = '.' -'echo Cleaning 'dir -'for %%1 in ('letters') do @if not exist 'dir'\%%1\* (echo Cleaning ...\%%1 & rd %%1 2>NUL)' diff --git a/src/libs/ncurses/misc/cmpdef.cmd b/src/libs/ncurses/misc/cmpdef.cmd deleted file mode 100644 index 7cc9c95cc4..0000000000 --- a/src/libs/ncurses/misc/cmpdef.cmd +++ /dev/null @@ -1,106 +0,0 @@ -/* - * $Id: cmpdef.cmd,v 1.2 1998/08/29 21:44:47 tom Exp $ - * - * Author: Juan Jose Garcia Ripoll . - * Webpage: http://www.arrakis.es/~worm/ - * - * cmpdef.cmd - compares two .def files, checking whether they have - * the same entries with the same export codes. - * - * returns 0 if there are no conflicts between the files -- that is, - * the newer one can replace the older one. - * - * returns 1 when either of the files is not properly formatted and - * when there are conflicts: two symbols having the same export code. - * - * the standard output shows a list with newly added symbols, plus - * replaced symbols and conflicts. - */ -parse arg def_file1 def_file2 - -def_file1 = translate(def_file1,'\','/') -def_file2 = translate(def_file2,'\','/') - -call CleanQueue - -/* - * `cmp' is zero when the last file is valid and upward compatible - * `numbers' is the stem where symbols are stored - */ -cmp = 0 -names. = '' -numbers. = 0 - -/* - * This sed expression cleans empty lines, comments and special .DEF - * commands, such as LIBRARY..., EXPORTS..., etc - */ -tidy_up = '"s/[ ][ ]*/ /g;s/;.*//g;/^[ ]*$/d;/^[a-zA-Z]/d;"' - -/* - * First we find all public symbols from the original DLL. All this - * information is pushed into a REXX private list with the RXQUEUE - * utility program. - */ -'@echo off' -'type' def_file1 '| sed' tidy_up '| sort | rxqueue' - -do while queued() > 0 - /* - * We retrieve the symbol name (NAME) and its number (NUMBER) - */ - parse pull '"' name '"' '@'number rest - if number = '' || name = '' then - do - say 'Corrupted file' def_file1 - say 'Symbol' name 'has no number' - exit 1 - end - else - do - numbers.name = number - names.number = name - end -end - -/* - * Now we find all public symbols from the new DLL, and compare. - */ -'type' def_file2 '| sed' tidy_up '| sort | rxqueue' - -do while queued() > 0 - parse pull '"' name '"' '@'number rest - if name = '' | number = '' then - do - say 'Corrupted file' def_file2 - say 'Symbol' name 'has no number' - exit 1 - end - if numbers.name = 0 then - do - cmp = 1 - if names.number = '' then - say 'New symbol' name 'with code @'number - else - say 'Conflict old =' names.number ', new =' name 'at @'number - end - else if numbers.name \= number then - do - cmp = 1 - say name 'Symbol' name 'changed from @'numbers.name 'to @'number - end -end /* do */ - -exit cmp - -/* - * Cleans the REXX queue by pulling and forgetting every line. - * This is needed, at least, when `cmpdef.cmd' starts, because an aborted - * REXX program might have left some rubbish in. - */ -CleanQueue: procedure - do while queued() > 0 - parse pull foo - end -return - diff --git a/src/libs/ncurses/misc/csort b/src/libs/ncurses/misc/csort deleted file mode 100755 index 42faaf3a19..0000000000 --- a/src/libs/ncurses/misc/csort +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# $Id: csort,v 1.2 2002/10/19 21:42:09 tom Exp $ -############################################################################## -# Copyright (c) 2002 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# override anything that might cause 'sort' to do the wrong thing... -LANG=C; export LANG -LANGUAGE=C; export LANGUAGE -LC_ALL=C; export LC_ALL -LC_CTYPE=C; export LC_CTYPE -sort $* diff --git a/src/libs/ncurses/misc/emx.src b/src/libs/ncurses/misc/emx.src deleted file mode 100644 index 2db4d18a64..0000000000 --- a/src/libs/ncurses/misc/emx.src +++ /dev/null @@ -1,858 +0,0 @@ -# $Id: emx.src,v 1.8 2003/01/26 01:17:55 tom Exp $ -# This is a reformatted copy of the terminfo source for OS/2 EMX from -# Juan Jose Garcia Ripoll . -# http://www.arrakis.es/~worm/ -#---------------------------------------------------------------------------- -# -# This section describes terminal classes and maker brands that are still -# quite common. -# - -#### Specials -# -# Special "terminals". These are used to label tty lines when you don't -# know what kind of terminal is on it. The characteristics of an unknown -# terminal are the lowest common denominator - they look about like a ti 700. -# - -dumb|80-column dumb tty, - am, - cols#80, - bel=^G, - cr=^M, - cud1=^J, - ind=^J, -unknown|unknown terminal type, - gn, - use=dumb, -lpr|printer|line printer, - hc, - os, - cols#132, - lines#66, - bel=^G, - cr=^M, - cub1=^H, - cud1=^J, - ff=^L, - ind=^J, -glasstty|classic glass tty interpreting ASCII control characters, - am, - cols#80, - bel=^G, - clear=^L, - cr=^M, - cub1=^H, - cud1=^J, - ht=^I, - kbs=^H, - kcub1=^H, - kcud1=^J, - nel=^M^J, - -#### ANSI.SYS/ISO 6429/ECMA-48 Capabilities -# -# See the end-of-file comment for more on these. -# - -# The IBM PC alternate character set. Plug this into any Intel console entry. -# We use \E[11m for rmacs rather than \E[12m so the string can use the -# ROM graphics for control characters such as the diamond, up- and down-arrow. -# This works with the System V, Linux, and BSDI consoles. It's a safe bet this -# will work with any Intel console, they all seem to have inherited \E[11m -# from the ANSI.SYS de-facto standard. -klone+acs|alternate character set for ansi.sys displays, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - rmacs=\E[10m, - smacs=\E[11m, - -# Highlight controls corresponding to the ANSI.SYS standard. Most -# console drivers for Intel boxes obey these. Makes the same assumption -# about \E[11m as klone+acs. True ANSI/ECMA-48 would have , -# , but this isn't a documented feature of ANSI.SYS. -klone+sgr|attribute control for ansi.sys displays, - blink=\E[5m, - bold=\E[1m, - invis=\E[8m, - rev=\E[7m, - rmacs=\E[10m, - rmpch=\E[10m, - rmso=\E[m, - rmul=\E[m, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, - sgr0=\E[0;10m, - smacs=\E[11m, - smpch=\E[11m, - smso=\E[7m, - smul=\E[4m, - use=klone+acs, - -# Highlight controls corresponding to the ANSI.SYS standard. *All* -# console drivers for Intel boxes obey these. Does not assume \E[11m will -# work; uses \E[12m instead, which is pretty bulletproof but loses you the ACS -# diamond and arrow characters under curses. -klone+sgr-dumb|attribute control for ansi.sys displays (no ESC [ 11 m), - blink=\E[5m, - bold=\E[1m, - invis=\E[8m, - rev=\E[7m, - rmacs=\E[10m, - rmso=\E[m, - rmul=\E[m, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m, - sgr0=\E[0;10m, - smacs=\E[12m, - smso=\E[7m, - smul=\E[4m, - use=klone+acs, - -# ANSI.SYS color control. -# The DOS 5 manual asserts that these sequences meet the ISO 6429 standard. -klone+color|color control for ansi.sys and ISO6429-compatible displays, - colors#8, - ncv#3, - pairs#64, - op=\E[37;40m, - setab=\E[4%p1%dm, - setaf=\E[3%p1%dm, - -# This is better than klone+color, it doesn't assume white-on-black as the -# default color pair, but many `ANSI' terminals don't grok the cap. -ecma+color|color control for ECMA-48-compatible terminals, - AX, - colors#8, - ncv#3, - pairs#64, - op=\E[39;49m, - setab=\E[4%p1%dm, - setaf=\E[3%p1%dm, - -#### ANSI/ECMA-48 terminals and terminal emulators -# -# See near the end of this file for details on ANSI conformance. -# Don't mess with these entries! Lots of other entries depend on them! -# -# This section lists entries in a least-capable to most-capable order. -# if you're in doubt about what `ANSI' matches yours, try them in that -# order and back off from the first that breaks. - -ansi-mini|any ansi terminal with pessimistic assumptions, - am, - cols#80, - it#8, - lines#24, - clear=\E[H\E[2J$<50>, - cub1=\E[D, - cud1=\E[B, - cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, - el=\E[K, - home=\E[H, - ht=^I, - -# -# ANSI.SYS entries -# -# This completely describes the sequences specified in the DOS 2.1 ANSI.SYS -# documentation (except for the keyboard key reassignment feature, which -# doen't fit the model well). The klone+acs sequences were valid -# though undocumented. The capability is untested but should work for -# keys F1-F10 (%p1 values outside this range will yield unpredictable results). -# From: Eric S. Raymond Nov 7 1995 -ansi.sys-old|ANSI.SYS under PC-DOS 2.1, - am, - mir, - msgr, - xon, - cols#80, - lines#25, - clear=\E[2J, - cub1=^H, - cud1=\E[B, - cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, - el=\E[k, - home=\E[H, - is2=\E[m\E[?7h, - kcub1=^H, - kcud1=^J, - kcuf1=^L, - kcuu1=^K, - khome=^^, - pfkey=\E[0;%p1%{58}%+%d;%p2"%s", - rc=\E[u, - rmam=\E[?7l, - sc=\E[s, - smam=\E[?7h, - u6=\E[%i%d;%dR, - u7=\E[6n, - use=klone+color, - use=klone+acs, - use=klone+sgr, -ansi.sys|ANSI.SYS 3.1 and later versions, - el=\E[K, - use=ansi.sys-old, - -### EMX termcap.dat compatibility modes -# -# Keypad: Home=\0G Up=\0H PrPag=\0I -# ka1,kh kcuu1 kpp,ka3 -# -# Left=\0K 5=\0L Right=\0M -# kcub1 kb2 kcuf1 -# -# End=\0O Down=\0P NxPag=\0Q -# kc1,kend kcud1 kc3,knp -# -# Ins=\0R Del=\0S -# kich1 kdch1 -# -# On keyboard with 12 function keys, -# shifted f-keys: F13-F24 -# control f-keys: F25-F36 -# alt f-keys: F37-F48 -# The shift/control/alt keys do not modify each other, but alt overrides both, -# and control overrides shift. -# -# Also (possibly only EMX, so we don't put it in ansi.sys, etc): set the -# no_color_video to inform the application that standout(1), underline(2) -# reverse(4) and invisible(64) don't work with color. -emx-base|DOS special keys, - bce, - bw, - it#8, - ncv#71, - bel=^G, - ka1=\0G, - ka3=\0I, - kb2=\0L, - kbs=^H, - kc1=\0O, - kc3=\0Q, - kcbt=\0^O, - kcub1=\0K, - kcud1=\0P, - kcuf1=\0M, - kcuu1=\0H, - kdch1=\0S, - kend=\0O, - kf1=\0;, - kf10=\0D, - kf11=\0\205, - kf12=\0\206, - kf13=\0T, - kf14=\0U, - kf15=\0V, - kf16=\0W, - kf17=\0X, - kf18=\0Y, - kf19=\0Z, - kf2=\0<, - kf20=\0[, - kf21=\0\\, - kf22=\0], - kf23=\0\207, - kf24=\0\210, - kf25=\0\^, - kf26=\0_, - kf27=\0`, - kf28=\0a, - kf29=\0b, - kf3=\0=, - kf30=\0c, - kf31=\0d, - kf32=\0e, - kf33=\0f, - kf34=\0g, - kf35=\0\211, - kf36=\0\212, - kf37=\0h, - kf38=\0i, - kf39=\0j, - kf4=\0>, - kf40=\0k, - kf41=\0l, - kf42=\0m, - kf43=\0n, - kf44=\0o, - kf45=\0p, - kf46=\0q, - kf47=\0\213, - kf48=\0\214, - kf5=\0?, - kf6=\0@, - kf7=\0A, - kf8=\0B, - kf9=\0C, - khome=\0G, - kich1=\0R, - knp=\0Q, - kpp=\0I, - use=ansi.sys, -# -# To properly translate termcap.dat -> terminfo.src remember these -# equivalences: -# ti <-> smcup string to start programs using cup(termcap) -# te <-> rmcup string to end programs using cup -# so <-> smso begin standout mode -# se <-> rmso exit standout mode -# us <-> smul begin underline mode -# ue <-> rmul exit underline mode -# mb <-> blink turn on blinking -# md <-> bold turn on extra bright (bold) mode -# mr <-> rev turn on reverse video mode -# me <-> sgr0 turn off all atributes -# -# On my terminal, \E[4m looks dim. -ansi-emx|ANSI.SYS color, - blink=\E[5m, - bold=\E[1m, - kmous=\E[M, - rev=\E[7m, - rmcup=\E[0m, - rmso=\E[0m, - rmul@, - sgr0=\E[0m, - smcup=\E[0;37;40m, - smso=\E[7m, - smul@, - use=emx-base, -window|ANSI.SYS window, - blink=\E[5m, - bold=\E[1;37;47m, - rev=\E[1;37;47m, - rmcup=\E[0m, - rmso=\E[0;37;40m, - rmul=\E[0;37;40m, - sgr0=\E[0;37;40m, - smcup=\E[0;37;40m, - smso=\E[1;37;47m, - smul=\E[1;31;47m, - use=emx-base, -os2|OS/2-emx ANSI.SYS, - cub=\E[%p1%dD, - cub1=\E[D, - cud=\E[%p1%dB, - cud1=\E[B, - cuf=\E[%p1%dC, - cuf1=\E[C, - cuu=\E[%p1%dA, - cuu1=\E[A, - rc=\E[u, - sc=\E[s, - use=ansi-emx, - use=mono, -mono|ANSI.SYS mono, - blink=\E[5m, - bold=\E[1m, - rev=\E[7m, - rmcup=\E[0m, - rmso=\E[m, - rmul=\E[m, - sgr0=\E[m, - smcup=\E[0m, - smso=\E[1m, - smul=\E[4m, - use=emx-base, -# same as mono, but use reverse video for standout (nice for Emacs) -rmono|ANSI.SYS reverse mono, - smso=\E[7m, - use=mono, -# same as mono, but use a readable color for underlining -mono2|ANSI.SYS mono2, - rmul=\E[0m, - smul=\E[1;31;40m, - use=mono, -# nice colors for Emacs (white on blue, mode line white on cyan) -ansi-color-2-emx|ANSI.SYS color 2, - rmcup=\E[0m, - rmso=\E[0;37;44m, - rmul=\E[0m, - sgr0=\E[0;37;44m, - smcup=\E[0;37;44m, - smso=\E[1;37;46m, - smul=\E[1;31;40m, - use=ansi-emx, -# nice colors for Emacs (white on black, mode line black on cyan) -ansi-color-3-emx|ANSI.SYS color 3, - rmcup=\E[0m, - rmso=\E[0m, - rmul=\E[0m, - sgr0=\E[0m, - smcup=\E[0m, - smso=\E[30;46m, - smul=\E[1;31;40m, - use=ansi-emx, - -#### X terminal emulators -# -# X10/6.6 11/7/86, minus alternate screen, plus (csr) -# (xterm: ":MT:" changed to ":km:"; added / based on init string; -# removed (hs, eslok, tsl=\E[?E\E[?%i%dT, fsl=\E[?F, dsl=\E[?E) -# as these seem not to work -- esr) -x10term|vs100-x10|xterm terminal emulator (X10 window system), - am, - km, - mir, - msgr, - xenl, - xon, - cols#80, - it#8, - lines#65, - bold=\E[1m, - clear=\E[H\E[2J, - csr=\E[%i%p1%d;%p2%dr, - cub1=^H, - cud1=^J, - cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, - dch=\E[%p1%dP, - dch1=\E[P, - dl=\E[%p1%dM, - dl1=\E[M, - ed=\E[J, - el=\E[K, - home=\E[H, - ht=^I, - il=\E[%p1%dL, - il1=\E[L, - ind=^J, - is2=\E\E[m\E[?7h\E[?1;4l, - kbs=^H, - kcub1=\EOD, - kcud1=\EOB, - kcuf1=\EOC, - kcuu1=\EOA, - kf1=\EOP, - kf2=\EOQ, - kf3=\EOR, - kf4=\EOS, - rev=\E[7m, - ri=\EM, - rmam=\E[?7l, - rmir=\E[4l, - rmkx=\E[?1l\E>, - rmso=\E[m, - rmul=\E[m, - sgr0=\E[m, - smam=\E[?7h, - smir=\E[4h, - smkx=\E[?1h\E=, - smso=\E[7m, - smul=\E[4m, -# X11R6 xterm. This is known good for the XFree86 version under Linux. -# It is *way* more featureful than the stock X consortium entry (has acsc, -# for starters). The key is actually the \E[M prefix returned by -# xterm's internal mouse-tracking facility; ncurses will interpret the -# following three bytes of mouse status information. -# From: Eric S. Raymond 14 Dec 1995 -xterm-r6|xterm terminal emulator (X11R6 Window System), - am, - km, - mir, - msgr, - xenl, - xon, - cols#80, - it#8, - lines#65, - acsc=++\,\,--..00II``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, - bold=\E[1m, - clear=\E[H\E[2J, - cr=^M, - csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, - cub1=^H, - cud=\E[%p1%dB, - cud1=^J, - cuf=\E[%p1%dC, - cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, - cuu1=\E[A, - dch=\E[%p1%dP, - dch1=\E[P, - dl=\E[%p1%dM, - dl1=\E[M, - ed=\E[J, - el=\E[K, - enacs=\E(B\E)0, - home=\E[H, - ht=^I, - ich=\E[%p1%d@, - ich1=\E[@, - il=\E[%p1%dL, - il1=\E[L, - ind=^J, - is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, - kbs=^H, - kcub1=\EOD, - kcud1=\EOB, - kcuf1=\EOC, - kcuu1=\EOA, - kend=\EOe, - kent=\EOM, - kf1=\E[11~, - kf10=\E[21~, - kf11=\E[23~, - kf12=\E[24~, - kf13=\E[25~, - kf14=\E[26~, - kf15=\E[28~, - kf16=\E[29~, - kf17=\E[31~, - kf18=\E[32~, - kf19=\E[33~, - kf2=\E[12~, - kf20=\E[34~, - kf3=\E[13~, - kf4=\E[14~, - kf5=\E[15~, - kf6=\E[17~, - kf7=\E[18~, - kf8=\E[19~, - kf9=\E[20~, - kfnd=\E[1~, - khome=\EO\0, - kich1=\E[2~, - kmous=\E[M, - knp=\E[6~, - kpp=\E[5~, - rc=\E8, - rev=\E[7m, - ri=\EM, - rmacs=^O, - rmam=\E[?7l, - rmcup=\E[2J\E[?47l\E8, - rmir=\E[4l, - rmkx=\E[?1l\E>, - rmso=\E[m, - rmul=\E[m, - rs1=^O, - rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E<, - sc=\E7, - sgr0=\E[m, - smacs=^N, - smam=\E[?7h, - smcup=\E7\E[?47h, - smir=\E[4h, - smkx=\E[?1h\E=, - smso=\E[7m, - smul=\E[4m, - tbc=\E[3k, - u6=\E[%i%d;%dR, - u7=\E[6n, - u8=\E[?1;2c, - u9=\E[c, -xterm-bold|xterm terminal emulator (X11R6 Window System) standout w/bold, - smso=\E[1m, - use=xterm, -xterms|vs100s|xterm terminal emulator (small screen 24x80), - cols#80, - lines#24, - use=xterm, -# (kterm: this had extension capabilities ":KJ:TY=ascii:" -- esr) -kterm|kterm kanji terminal emulator (X window system), - eslok, - hs, - csr=\E[%i%p1%d;%p2%dr, - dsl=\E[?H, - fsl=\E[?F, - rc=\E8, - sc=\E7, - tsl=\E[?E\E[?%i%dT, - use=xterm, - use=ecma+color, - -# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file -xterm-nic|xterm with ich/ich1 suppressed for non-curses programs, - ich@, - ich1@, - use=xterm, - -# Should work with the color xterm on the X11R6 contrib tape. -# Assumes the xterm attribute default is black on white. -# From: Eric S. Raymond March 4 1996 -xterm-color|xterm with color support, - op=\E[30;47m, - use=xterm, - use=klone+color, - -# From: Thomas Dickey 13 Dec 1995 -rxvt|rxvt terminal emulator, - kend=\EOw, - khome=\E[H, - kmous@, - use=xterm, - use=klone+color, - -# From: David J. MacKenzie 20 Apr 1995 -# Here's a termcap entry I've been using for xterm_color, which comes -# with BSD/OS 2.0, and the X11R6 contrib tape too I think. Besides the -# color stuff, I also have a status line defined as the window manager -# title bar. [I have translated it to terminfo -- ESR] -xterm-pcolor|xterm with color used for highlights and status line, - hs, - wsl#40, - bold=\E[1m\E[43m, - dsl=\E]0;\007, - fsl=^G, - rev=\E[7m\E[34m, - smso=\E[7m\E[31m, - smul=\E[4m\E[42m, - tsl=\E]0;, - use=xterm, - -# HP ships this, except for the pb#9600 which was merged in from BSD termcap. -hpterm|X-hpterm|hp X11 terminal emulator, - am, - da, - db, - mir, - xhp, - cols#80, - lh#2, - lines#24, - lm#0, - lw#8, - nlab#8, - pb#9600, - xmc#0, - bel=^G, - bold=\E&dB, - cbt=\Ei, - clear=\E&a0y0C\EJ, - cr=^M, - cub1=^H, - cud1=\EB, - cuf1=\EC, - cup=\E&a%p1%dy%p2%dC, - cuu1=\EA, - dch1=\EP, - dim=\E&dH, - dl1=\EM, - ed=\EJ$<1>, - el=\EK, - hpa=\E&a%p1%dC, - ht=^I, - hts=\E1, - il1=\EL, - ind=^J, - kbs=^H, - kclr=\EJ, - kctab=\E2, - kcub1=\ED, - kcud1=\EB, - kcuf1=\EC, - kcuu1=\EA, - kdch1=\EP, - kdl1=\EM, - ked=\EJ, - kel=\EK, - kf1=\Ep, - kf2=\Eq, - kf3=\Er, - kf4=\Es, - kf5=\Et, - kf6=\Eu, - kf7=\Ev, - kf8=\Ew, - khome=\Eh, - khts=\E1, - kich1=\EQ, - kil1=\EL, - kind=\ES, - kll=\EF, - knp=\EU, - kpp=\EV, - kri=\ET, - krmir=\ER, - ktbc=\E3, - meml=\El, - memu=\Em, - pfkey=\E&f%p1%dk%p2%l%dL%p2%s, - pfloc=\E&f1a%p1%dk%p2%l%dL%p2%s, - pfx=\E&f2a%p1%dk%p2%l%dL%p2%s, - pln=\E&f%p1%dk%p2%l%dd0L%p2%s, - rev=\E&dB, - ri=\ET, - rmacs=^O, - rmir=\ER, - rmkx=\E&s0A, - rmln=\E&j@, - rmso=\E&d@, - rmul=\E&d@, - sgr=\E&d%?%p7%t%'s'%c%;%p1%p3%|%p6%|%{2}%*%p2%{4}%*%+%p4%+%p5%{8}%*%+%'@'%+%c%?%p9%t%'\016'%c%e%'\017'%c%;, - sgr0=\E&d@, - smacs=^N, - smir=\EQ, - smkx=\E&s1A, - smln=\E&jB, - smso=\E&dJ, - smul=\E&dD, - tbc=\E3, - vpa=\E&a%p1%dY, - -# This entry describes an xterm with Sun-style function keys enabled -# via the X resource setting "xterm*sunFunctionKeys:true" -# To understand / note that L1,L2 and F11,F12 are the same. -# The ... keys are L3-L10. We don't set -# because we want it to be seen as . -# The ... keys are R1-R15. We treat some of these in accordance -# with their Sun keyboard labels instead. -# From: Simon J. Gerraty 10 Jan 1996 -xterm-sun|xterm with sunFunctionKeys true, - kb2=\E[218z, - kcpy=\E[197z, - kend=\E[220z, - kf1=\E[224z, - kf10=\E[233z, - kf11=\E[192z, - kf12=\E[193z, - kf13=\E[194z, - kf14=\E[195z, - kf15=\E[196z, - kf17=\E[198z, - kf18=\E[199z, - kf19=\E[200z, - kf2=\E[225z, - kf20=\E[201z, - kf3=\E[226z, - kf31=\E[208z, - kf32=\E[209z, - kf33=\E[210z, - kf34=\E[211z, - kf35=\E[212z, - kf36=\E[213z, - kf38=\E[215z, - kf4=\E[227z, - kf40=\E[217z, - kf42=\E[219z, - kf44=\E[221z, - kf5=\E[228z, - kf6=\E[229z, - kf7=\E[230z, - kf8=\E[231z, - kf9=\E[232z, - kfnd=\E[200z, - khlp=\E[196z, - khome=\E[214z, - kich1=\E[2z, - knp=\E[222z, - kpp=\E[216z, - kund=\E[195z, - use=xterm, -xterms-sun|small (80x24) xterm with sunFunctionKeys true, - cols#80, - lines#24, - use=xterm-sun, - -# This is for the extensible terminal emulator on the X11R6 contrib tape. -emu|emu native mode, - mir, - msgr, - xon, - colors#15, - cols#80, - it#8, - lines#24, - pairs#64, - vt#200, - acsc=61a\202f\260g2j\213k\214l\215m\216n\217o\220q\222s\224t\225u\226v\227w\230x\231~\244, - bel=^G, - blink=\ES\EW, - bold=\ES\EU, - civis=\EZ, - clear=\EP\EE0;0;, - cnorm=\Ea, - cr=^M, - csr=\Ek%p1%d;%p2%d;, - cub=\Eq-%p1%d;, - cub1=^H, - cud=\Ep%p1%d;, - cud1=\EB, - cuf=\Eq%p1%d;, - cuf1=\ED, - cup=\EE%p1%d;%p2%d;, - cuu=\Ep-%p1%d;, - cuu1=\EA, - dch=\EI%p1%d;, - dch1=\EI1;, - dl=\ER%p1%d;, - dl1=\ER1;, - ech=\Ej%p1%d;, - ed=\EN, - el=\EK, - el1=\EL, - enacs=\0, - home=\EE0;0;, - ht=^I, - hts=\Eh, - il=\EQ%p1%d;, - il1=\EQ1;, - ind=\EG, - is2=\ES\Er0;\Es0;, - kbs=^H, - kcub1=\EC, - kcud1=\EB, - kcuf1=\ED, - kcuu1=\EA, - kdch1=\177, - kent=^M, - kf0=\EF00, - kf1=\EF01, - kf10=\EF10, - kf11=\EF11, - kf12=\EF12, - kf13=\EF13, - kf14=\EF14, - kf15=\EF15, - kf16=\EF16, - kf17=\EF17, - kf18=\EF18, - kf19=\EF19, - kf2=\EF02, - kf20=\EF20, - kf3=\EF03, - kf4=\EF04, - kf5=\EF05, - kf6=\EF06, - kf7=\EF07, - kf8=\EF08, - kf9=\EF09, - kfnd=\Efind, - kich1=\Eins, - knp=\Enext, - kpp=\Eprior, - kslt=\Esel, - oc=\Es0;\Er0;, - rev=\ES\ET, - ri=\EF, - rmacs=\0, - rmir=\EX, - rmso=\ES, - rmul=\ES, - rs2=\ES\Es0;\Er0;, - setab=\Es%i%p1%d;, - setaf=\Er%i%p1%d;, - sgr0=\ES, - smacs=\0, - smir=\EY, - smso=\ES\ET, - smul=\ES\EV, - tbc=\Ej, -############################################################################### -# Aliases which conflict with terminfo.src -ansi|ANSI.SYS color, - use=ansi-emx, -ansi-color-2|ANSI.SYS color 2, - use=ansi-color-2-emx, -ansi-color-3|ANSI.SYS color 3, - use=ansi-color-3-emx, -xterm|vs100|xterm terminal emulator (X11R6 Window System), - use=xterm-r6, diff --git a/src/libs/ncurses/misc/form.def b/src/libs/ncurses/misc/form.def deleted file mode 100644 index ea43b5953d..0000000000 --- a/src/libs/ncurses/misc/form.def +++ /dev/null @@ -1,101 +0,0 @@ -LIBRARY form5 INITINSTANCE TERMINSTANCE -DESCRIPTION "NCurses-5-1-20000704, module form" -CODE LOADONCALL -DATA LOADONCALL NONSHARED MULTIPLE -EXPORTS - "TYPE_ALNUM" @2 NONAME - "TYPE_ALPHA" @1 NONAME - "TYPE_ENUM" @3 NONAME - "TYPE_INTEGER" @4 NONAME - "TYPE_IPV4" @7 NONAME - "TYPE_NUMERIC" @5 NONAME - "TYPE_REGEXP" @6 NONAME - "_nc_Copy_Argument" @8 NONAME - "_nc_Copy_Type" @9 NONAME - "_nc_Default_Field" @11 NONAME - "_nc_Default_FieldType" @12 NONAME - "_nc_Default_Form" @10 NONAME - "_nc_First_Active_Field" @13 NONAME - "_nc_Free_Argument" @14 NONAME - "_nc_Free_Type" @15 NONAME - "_nc_Internal_Validation" @16 NONAME - "_nc_Make_Argument" @17 NONAME - "_nc_Position_Form_Cursor" @18 NONAME - "_nc_Refresh_Current_Field" @19 NONAME - "_nc_Set_Current_Field" @25 NONAME - "_nc_Set_Form_Page" @26 NONAME - "_nc_Synchronize_Attributes" @27 NONAME - "_nc_Synchronize_Options" @28 NONAME - "current_field" @102 NONAME - "data_ahead" @133 NONAME - "data_behind" @134 NONAME - "dup_field" @31 NONAME - "dynamic_field_info" @35 NONAME - "field_arg" @56 NONAME - "field_back" @53 NONAME - "field_buffer" @59 NONAME - "field_count" @111 NONAME - "field_fore" @52 NONAME - "field_index" @115 NONAME - "field_info" @34 NONAME - "field_init" @107 NONAME - "field_just" @41 NONAME - "field_opts" @60 NONAME - "field_opts_off" @51 NONAME - "field_opts_on" @50 NONAME - "field_pad" @45 NONAME - "field_status" @55 NONAME - "field_term" @108 NONAME - "field_type" @58 NONAME - "field_userptr" @57 NONAME - "form_driver" @126 NONAME - "form_fields" @101 NONAME - "form_init" @105 NONAME - "form_opts" @132 NONAME - "form_opts_off" @130 NONAME - "form_opts_on" @129 NONAME - "form_page" @117 NONAME - "form_request_by_name" @29 NONAME - "form_request_name" @61 NONAME - "form_sub" @104 NONAME - "form_term" @106 NONAME - "form_userptr" @131 NONAME - "form_win" @103 NONAME - "free_field" @33 NONAME - "free_fieldtype" @22 NONAME - "free_form" @109 NONAME - "link_field" @32 NONAME - "link_fieldtype" @21 NONAME - "move_field" @37 NONAME - "new_field" @30 NONAME - "new_fieldtype" @20 NONAME - "new_form" @100 NONAME - "new_page" @54 NONAME - "pos_form_cursor" @125 NONAME - "post_form" @123 NONAME - "scale_form" @118 NONAME - "set_current_field" @114 NONAME - "set_field_back" @43 NONAME - "set_field_buffer" @46 NONAME - "set_field_fore" @42 NONAME - "set_field_init" @121 NONAME - "set_field_just" @40 NONAME - "set_field_opts" @49 NONAME - "set_field_pad" @44 NONAME - "set_field_status" @47 NONAME - "set_field_term" @122 NONAME - "set_field_type" @38 NONAME - "set_field_userptr" @48 NONAME - "set_fieldtype_arg" @23 NONAME - "set_fieldtype_choice" @24 NONAME - "set_form_fields" @110 NONAME - "set_form_init" @119 NONAME - "set_form_opts" @128 NONAME - "set_form_page" @116 NONAME - "set_form_sub" @113 NONAME - "set_form_term" @120 NONAME - "set_form_userptr" @127 NONAME - "set_form_win" @112 NONAME - "set_max_field" @36 NONAME - "set_new_page" @39 NONAME - "unpost_form" @124 NONAME diff --git a/src/libs/ncurses/misc/form.ref b/src/libs/ncurses/misc/form.ref deleted file mode 100644 index 18e65a6801..0000000000 --- a/src/libs/ncurses/misc/form.ref +++ /dev/null @@ -1,106 +0,0 @@ -LIBRARY FORM2 INITINSTANCE -DESCRIPTION 'NCurses 1.9.9e-1 for OS/2 - forms library' -EXPORTS -; -; SHARED VARIABLES -; - "TYPE_ALPHA" @1 ;NONAME - "TYPE_ALNUM" @2 ;NONAME - "TYPE_ENUM" @3 ;NONAME - "TYPE_INTEGER" @4 ;NONAME - "TYPE_NUMERIC" @5 ;NONAME - "TYPE_REGEXP" @6 ;NONAME - - "_nc_Default_Form" @10 ;NONAME - "_nc_Default_Field" @11 ;NONAME - -; -; FIELD FUNCTIONS -; - "new_fieldtype" @20 ;NONAME - "link_fieldtype" @21 ;NONAME - - "free_fieldtype" @22 ;NONAME - "set_fieldtype_arg" @23 ;NONAME - "set_fieldtype_choice" @24 ;NONAME - - "new_field" @30 ;NONAME - "dup_field" @31 ;NONAME - "link_field" @32 ;NONAME - - "free_field" @33 ;NONAME - "field_info" @34 ;NONAME - "dynamic_field_info" @35 ;NONAME - "set_max_field" @36 ;NONAME - "move_field" @37 ;NONAME - "set_field_type" @38 ;NONAME - "set_new_page" @39 ;NONAME - "set_field_just" @40 ;NONAME - "field_just" @41 ;NONAME - "set_field_fore" @42 ;NONAME - "set_field_back" @43 ;NONAME - "set_field_pad" @44 ;NONAME - "field_pad" @45 ;NONAME - "set_field_buffer" @46 ;NONAME - "set_field_status" @47 ;NONAME - "set_field_userptr" @48 ;NONAME - "set_field_opts" @49 ;NONAME - "field_opts_on" @50 ;NONAME - "field_opts_off" @51 ;NONAME - - "field_fore" @52 ;NONAME - "field_back" @53 ;NONAME - - "new_page" @54 ;NONAME - "field_status" @55 ;NONAME - "field_arg" @56 ;NONAME - "field_userptr" @57 ;NONAME - "field_type" @58 ;NONAME - "field_buffer" @59 ;NONAME - "field_opts" @60 ;NONAME - -; -; FORM FUNCTIONS -; - "new_form" @100 ;NONAME - - "form_fields" @101 ;NONAME - "current_field" @102 ;NONAME - - "form_win" @103 ;NONAME - "form_sub" @104 ;NONAME - - "form_init" @105 ;NONAME - "form_term" @106 ;NONAME - "field_init" @107 ;NONAME - "field_term" @108 ;NONAME - - "free_form" @109 ;NONAME - "set_form_fields" @110 ;NONAME - "field_count" @111 ;NONAME - "set_form_win" @112 ;NONAME - "set_form_sub" @113 ;NONAME - "set_current_field" @114 ;NONAME - "field_index" @115 ;NONAME - "set_form_page" @116 ;NONAME - "form_page" @117 ;NONAME - "scale_form" @118 ;NONAME - "set_form_init" @119 ;NONAME - "set_form_term" @120 ;NONAME - "set_field_init" @121 ;NONAME - "set_field_term" @122 ;NONAME - "post_form" @123 ;NONAME - "unpost_form" @124 ;NONAME - "pos_form_cursor" @125 ;NONAME - "form_driver" @126 ;NONAME - "set_form_userptr" @127 ;NONAME - "set_form_opts" @128 ;NONAME - "form_opts_on" @129 ;NONAME - "form_opts_off" @130 ;NONAME - - "form_userptr" @131 ;NONAME - - "form_opts" @132 ;NONAME - - "data_ahead" @133 ;NONAME - "data_behind" @134 ;NONAME diff --git a/src/libs/ncurses/misc/gen_edit.sh b/src/libs/ncurses/misc/gen_edit.sh deleted file mode 100755 index f0aa72ac9a..0000000000 --- a/src/libs/ncurses/misc/gen_edit.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -############################################################################## -# Copyright (c) 2004 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey -# -# $Id: gen_edit.sh,v 1.1 2004/07/11 15:01:29 tom Exp $ -# Generate a sed-script for converting the terminfo.src to the form which will -# be installed. -# -# Assumes: -# The leaf directory names (lib, tabset, terminfo) -# - -: ${ticdir=@TERMINFO@} -: ${xterm_new=@WHICH_XTERM@} - -# If we're not installing into /usr/share/, we'll have to adjust the location -# of the tabset files in terminfo.src (which are in a parallel directory). -TABSET=`echo $ticdir | sed -e 's%/terminfo$%/tabset%'` -if test "x$TABSET" != "x/usr/share/tabset" ; then -cat <\),//\1,' \ - "$save" >"$test" - cp "$test" "$name" - chmod u+w "$name" - # ${INDENT_PROG-indent} --version - ${INDENT_PROG-indent} $OPTS "$name" - sed \ - -e '/MODULE_ID(/s/);$/)/' \ - -e 's,;[ ]*//GCC_NORETURN;, GCC_NORETURN;,' \ - -e 's,//\(\\),\1,' \ - "$name" >"$test" - mv "$test" "$name" - rm -f "${name}~" - if test $NOOP = yes ; then - if (cmp -s "$name" "$save" ) then - echo "** no change: $name" - else - diff -u "$save" "$name" - fi - rm -f "$name" - mv "$save" "$name" - elif ( cmp -s "$name" "$save" ) ; then - echo "** unchanged $name" - rm -f "${name}" - mv "$save" "$name" - else - echo "** updated $name" - rm -f "$save" - fi - ;; - *) - echo "** ignored: $name" - ;; - esac -done diff --git a/src/libs/ncurses/misc/makedef.cmd b/src/libs/ncurses/misc/makedef.cmd deleted file mode 100644 index f3d9740eff..0000000000 --- a/src/libs/ncurses/misc/makedef.cmd +++ /dev/null @@ -1,151 +0,0 @@ -/* - * $Id: makedef.cmd,v 1.4 1998/11/22 03:14:08 tom Exp $ - * - * Author: Juan Jose Garcia Ripoll . - * Webpage: http://www.arrakis.es/~worm/ - * - * makedef.cmd - update a DLL export list using a newly created library file - * in a.out format, plus an old .DEF file. - * - * standard output gets a sorted list with all entrypoints with entrycodes. - * This list, plus a few .def sentences (LIBRARY, DESCRIPTION and EXPORT) - * is used to build a new .def file. - * - * `_nc_*' symbols are ignored. - * - * returns 1 when the old def_file is corrupted -- that is, export items are - * not properly formatted. - * - * returns 0 if everything went OK. - */ - -parse arg lib_file def_file - -lib_file = translate(lib_file,'\','/') -def_file = translate(def_file,'\','/') - -call CleanQueue - -/* - * `codes' is the stem that links a code to every symbol - * `names' is the stem where symbols are stored sequentially - * `last' is the index of the last symbol defined - */ -last = 0 -used. = 0 -codes. = 0 -names. = '' - -tmp_name = 'foo.tmp' - -/* - * This sed expression cleans empty lines, comments and special .DEF - * commands, such as LIBRARY..., EXPORTS..., etc - */ -tidy_up = '"/^[A-Z]/d;s/[ ][ ]*/ /g;s/;.*$//g;s/^[ ]*//g;/^[ ]*$/d"' - -/* - * First we find all public symbols (functions and variables). Next we - * concatenate this list with the old one, sorting it and wiping out - * all unused data (comments, DLL directives, blanks, etc). All this - * information is pushed into a REXX private list with the RXQUEUE - * utility program. - */ -'@echo off' -'emxexp -u' lib_file '>' tmp_name -'cat' tmp_name def_file '| sed' tidy_up '| sort > foo2.tmp' -'type foo2.tmp | rxqueue' -'del' tmp_name '1>NUL' - -/* - * This loop runs over the queue items - */ -do while queued() > 0 - /* - * We retrieve the symbol name (NEW_NAME) and its number (NEW_NUMBER) - * When the line comes from `emximp's output, there's no number, so - * we assign it the special value 0. - */ - parse pull new_symbol '@'new_code rest - if Left(new_symbol,1) = '"' then - parse var new_symbol '"' new_name '"' rest - else - do - echo 'Symbol 'new_symbol' was not quoted' - new_name = new_symbol - end - - if new_code = '' then - new_code = 0 - /* - * Here, one would place all smart checks that would kill unused symbols. - * However, export tables are not that big, so why bothering? - if Left(new_name,4) = '_nc_' then - iterate - */ - /* - * The algorithm: - * IF (this is the 2nd time the symbol appears) THEN - * (this symbol comes from a .DEF file) - * it has a valid code that we store - * we mark that code as used - * ELIF (it has no number) THEN - * (it's a new symbol) - * we increase the counter of defined symbols - * we assign it the special number 0 - * (later on it'll be assigned an unused export code) - * ELSE - * this symbol was in the old DLL and it's no longer - * here, so we skip it. - */ - select - when new_name = '' then - 'echo Warning: empty symbol found 1>&2' - when names.last = new_name then - do - codes.last = new_code - used.new_code = 1 - end - when new_code = 0 then - do - last = last + 1 - names.last = new_name - codes.last = 0 - end - otherwise - 'echo Warning: symbol "'new_name'" has disappeared 1>&2' - end /* select */ -end /* do while queued() */ - -/* - * Finally we scan the stem, writing out all symbols with export codes. - * Those that did not have a valid one (just 0) are assigned a new one. - */ -new_code = 1 -inx = 1 -do while inx <= last - if codes.inx = 0 then - do - do while used.new_code \= 0 - new_code = new_code + 1 - end - codes.inx = new_code - used.new_code = 1 - end - say ' "'names.inx'" @'codes.inx' NONAME' - inx = inx + 1 -end -'del foo2.tmp 1>NUL' -exit 0 - -/* - * Cleans the REXX queue by pulling and forgetting every line. - * This is needed, at least, when `makedef.cmd' starts, because an aborted - * REXX program might have left some rubbish in. - */ -CleanQueue: procedure - do while queued() > 0 - parse pull foo - end -return - diff --git a/src/libs/ncurses/misc/makellib b/src/libs/ncurses/misc/makellib deleted file mode 100755 index 046040734b..0000000000 --- a/src/libs/ncurses/misc/makellib +++ /dev/null @@ -1,167 +0,0 @@ -#!/bin/sh -############################################################################## -# Copyright (c) 1998,2000 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996,1997,2000 -# -# $Id: makellib,v 1.8 2000/10/28 21:37:10 tom Exp $ -# System-dependent wrapper for 'lint' that creates a lint-library via the -# following method (XXX is the name of the library): -# a. If the file llib-lXXX doesn't exist, create it using the make-rule -# b. Process llib-lXXX with the system's lint utility, making -# llib-lXXX.ln -# c. Install llib-lXXX.ln in the lib directory. -# -# Using the intermediate file llib-lXXX bypasses a weakness of lint (passing -# through warning messages from the original source-files). -# -# There are two drawbacks to this approach: -# a. On a few systems, you'll have to manually-edit the llib-lXXX file -# to get a usable lint-library (not all C-preprocessors work well). -# b. The system's lint utility won't recognize -lXXX as a lint-library -# (Use tdlint as a wrapper; it's designed for this). -# -# Parameters: -# $1 = library name -# $* = C-preprocessor options -# -ARCH=`uname -s` -if test "x$ARCH" = "xSunOS" ; then - case `uname -r` in - 5.*) ARCH=Solaris - ;; - esac -fi -# -DST="$HOME/lib/$ARCH/lint" -OPT="" -LLIB="" -llib="" -# -while test $# != 0 -do - case $1 in - -L*) - DST="$DST `echo $1|sed -e 's/^-L//'`" - ;; - -*) - OPT="$OPT $1" - ;; - *) - if test -z "$LLIB" - then - LLIB=$1 - else - llib=llib-l$1 - fi - ;; - esac - shift -done - -if test -z "$LLIB" -then - echo '? no library name specified' - exit 1 -elif test -z "$llib" -then - llib="llib-l$LLIB" -fi - -if test ! -f $llib ; then - if ( make $llib ) - then - : - else - exit 1 - fi -fi - -rm -f $llib.ln $llib.c -TARGET=$LLIB - -case "$ARCH" in -AIX) - CREATE="-uvxo$LLIB -Nn4000" - TARGET=$llib.c - ln $llib $TARGET - ;; -Solaris) - CREATE="-C$llib" - TARGET=$llib.c - ln $llib $TARGET - ;; -FreeBSD) - CREATE="-g -z -C$LLIB" - TARGET=$llib.c - ln $llib $TARGET - ;; -CLIX) - CREATE="-DLINTLIBRARY -vxo$LLIB" - TARGET=$llib.c - ln $llib $TARGET - ;; -IRIX*) - CREATE="-DLINTLIBRARY -vxyo$LLIB" - TARGET=$llib.c - ln $llib $TARGET - ;; -UNIX_SV) - CREATE="-DLINTLIBRARY -vxyo$LLIB" - TARGET=$llib.c - ln $llib $TARGET - ;; -*) - echo "Sorry. I do not know how to build a lint-library for $ARCH" - exit 1 -esac - -echo OPT "$OPT" -echo TARGET "$TARGET" -echo LIBNAME "$llib" -if ( lint $CREATE $OPT $TARGET ) -then - if test -f $llib.ln - then - for p in $HOME/lib $HOME/lib/$ARCH $HOME/lib/$ARCH/lint - do - if test ! -d $p - then - mkdir $p - fi - done - for p in $DST - do - cp $llib.ln $p/ - done - rm -f $llib.ln - fi -fi -if test "x$TARGET" = "x$llib.c" ; then - rm -f $TARGET -fi diff --git a/src/libs/ncurses/misc/menu.def b/src/libs/ncurses/misc/menu.def deleted file mode 100644 index 01f973c286..0000000000 --- a/src/libs/ncurses/misc/menu.def +++ /dev/null @@ -1,81 +0,0 @@ -LIBRARY menu5 INITINSTANCE TERMINSTANCE -DESCRIPTION "NCurses-5-1-20000704, module menu" -CODE LOADONCALL -DATA LOADONCALL NONSHARED MULTIPLE -EXPORTS - "_nc_Calculate_Item_Length_and_Width" @11 NONAME - "_nc_Connect_Items" @38 NONAME - "_nc_Default_Item" @63 NONAME - "_nc_Default_Menu" @64 NONAME - "_nc_Disconnect_Items" @65 NONAME - "_nc_Draw_Menu" @66 NONAME - "_nc_Link_Items" @67 NONAME - "_nc_Match_Next_Character_In_Item_Name" @68 NONAME - "_nc_New_TopRow_and_CurrentItem" @69 NONAME - "_nc_Post_Item" @70 NONAME - "_nc_Show_Menu" @71 NONAME - "_nc_menu_cursor_pos" @72 NONAME - "current_item" @2 NONAME - "free_item" @23 NONAME - "free_menu" @24 NONAME - "item_count" @25 NONAME - "item_description" @14 NONAME - "item_index" @26 NONAME - "item_init" @7 NONAME - "item_name" @15 NONAME - "item_opts" @5 NONAME - "item_opts_off" @27 NONAME - "item_opts_on" @28 NONAME - "item_term" @8 NONAME - "item_userptr" @18 NONAME - "item_value" @60 NONAME - "item_visible" @61 NONAME - "menu_back" @20 NONAME - "menu_driver" @29 NONAME - "menu_fore" @21 NONAME - "menu_format" @62 NONAME - "menu_grey" @22 NONAME - "menu_init" @9 NONAME - "menu_items" @1 NONAME - "menu_mark" @16 NONAME - "menu_opts" @6 NONAME - "menu_opts_off" @30 NONAME - "menu_opts_on" @31 NONAME - "menu_pad" @32 NONAME - "menu_pattern" @17 NONAME - "menu_request_by_name" @73 NONAME - "menu_request_name" @74 NONAME - "menu_spacing" @75 NONAME - "menu_sub" @12 NONAME - "menu_term" @10 NONAME - "menu_userptr" @19 NONAME - "menu_win" @13 NONAME - "new_item" @3 NONAME - "new_menu" @4 NONAME - "pos_menu_cursor" @33 NONAME - "post_menu" @34 NONAME - "scale_menu" @35 NONAME - "set_current_item" @36 NONAME - "set_item_init" @37 NONAME - "set_item_opts" @39 NONAME - "set_item_term" @40 NONAME - "set_item_userptr" @41 NONAME - "set_item_value" @42 NONAME - "set_menu_back" @43 NONAME - "set_menu_fore" @44 NONAME - "set_menu_format" @45 NONAME - "set_menu_grey" @46 NONAME - "set_menu_init" @47 NONAME - "set_menu_items" @48 NONAME - "set_menu_mark" @49 NONAME - "set_menu_opts" @50 NONAME - "set_menu_pad" @51 NONAME - "set_menu_pattern" @52 NONAME - "set_menu_spacing" @76 NONAME - "set_menu_sub" @53 NONAME - "set_menu_term" @54 NONAME - "set_menu_userptr" @55 NONAME - "set_menu_win" @56 NONAME - "set_top_row" @57 NONAME - "top_row" @58 NONAME - "unpost_menu" @59 NONAME diff --git a/src/libs/ncurses/misc/menu.ref b/src/libs/ncurses/misc/menu.ref deleted file mode 100644 index cee964f7df..0000000000 --- a/src/libs/ncurses/misc/menu.ref +++ /dev/null @@ -1,73 +0,0 @@ -LIBRARY MENU2 INITINSTANCE -DESCRIPTION 'NCurses 1.9.9e-1 for OS/2 - menu library' -EXPORTS - "menu_items" @1 ;NONAME - "current_item" @2 ;NONAME - "new_item" @3 ;NONAME - - "new_menu" @4 ;NONAME - - "item_opts" @5 ;NONAME - "menu_opts" @6 ;NONAME - - "item_init" @7 ;NONAME - "item_term" @8 ;NONAME - "menu_init" @9 ;NONAME - "menu_term" @10 ;NONAME - - "menu_sub" @12 ;NONAME - "menu_win" @13 ;NONAME - - "item_description" @14 ;NONAME - "item_name" @15 ;NONAME - "menu_mark" @16 ;NONAME - "menu_pattern" @17 ;NONAME - - "item_userptr" @18 ;NONAME - "menu_userptr" @19 ;NONAME - - "menu_back" @20 ;NONAME - "menu_fore" @21 ;NONAME - "menu_grey" @22 ;NONAME - - "free_item" @23 ;NONAME - "free_menu" @24 ;NONAME - "item_count" @25 ;NONAME - "item_index" @26 ;NONAME - "item_opts_off" @27 ;NONAME - "item_opts_on" @28 ;NONAME - "menu_driver" @29 ;NONAME - "menu_opts_off" @30 ;NONAME - "menu_opts_on" @31 ;NONAME - "menu_pad" @32 ;NONAME - "pos_menu_cursor" @33 ;NONAME - "post_menu" @34 ;NONAME - "scale_menu" @35 ;NONAME - "set_current_item" @36 ;NONAME - "set_item_init" @37 ;NONAME - "set_item_opts" @39 ;NONAME - "set_item_term" @40 ;NONAME - "set_item_userptr" @41 ;NONAME - "set_item_value" @42 ;NONAME - "set_menu_back" @43 ;NONAME - "set_menu_fore" @44 ;NONAME - "set_menu_format" @45 ;NONAME - "set_menu_grey" @46 ;NONAME - "set_menu_init" @47 ;NONAME - "set_menu_items" @48 ;NONAME - "set_menu_mark" @49 ;NONAME - "set_menu_opts" @50 ;NONAME - "set_menu_pad" @51 ;NONAME - "set_menu_pattern" @52 ;NONAME - "set_menu_sub" @53 ;NONAME - "set_menu_term" @54 ;NONAME - "set_menu_userptr" @55 ;NONAME - "set_menu_win" @56 ;NONAME - "set_top_row" @57 ;NONAME - "top_row" @58 ;NONAME - "unpost_menu" @59 ;NONAME - - "item_value" @60 ;NONAME - "item_visible" @61 ;NONAME - - "menu_format" @62 ;NONAME diff --git a/src/libs/ncurses/misc/ncu-indent b/src/libs/ncurses/misc/ncu-indent deleted file mode 100755 index 7bd1d04edc..0000000000 --- a/src/libs/ncurses/misc/ncu-indent +++ /dev/null @@ -1,98 +0,0 @@ -#!/bin/sh -# $Id: ncu-indent,v 1.12 2004/11/23 00:45:48 tom Exp $ -NOOP=no -OPTS=' ---blank-lines-after-procedures ---braces-on-if-line ---continuation-indentation0 ---continue-at-parentheses ---cuddle-else ---indent-level4 ---leave-preprocessor-space ---no-blank-lines-after-commas ---no-blank-lines-after-declarations ---no-space-after-function-call-names ---procnames-start-lines ---space-special-semicolon ---swallow-optional-blank-lines ---tab-size8 - --T NCURSES_EXPORT_VAR --T SCREEN --T TERMTYPE --T attr_t --T cchar_t --T chtype --T inline --T wchar_t --T wint_t - --T BUFFER --T CHARTYPE --T FILE --T GCC_NORETURN --T LINE --T MARK --T RETSIGTYPE --T TBUFF --T WINDOW --T size_t --T va_list - --T Cardinal --T Widget --T XtPointer -' -for name in $* -do - case $name in - -v|-n) - NOOP=yes - OPTS="$OPTS -v" - ;; - -*) - OPTS="$OPTS $name" - ;; - *.[ch]) - save="${name}".a$$ - test="${name}".b$$ - rm -f "$save" "$test" - mv "$name" "$save" - sed \ - -e '/MODULE_ID(/s/)$/);/' \ - -e 's,\\),//\1,' \ - "$save" >"$test" - cp "$test" "$name" - chmod u+w "$name" - # ${INDENT_PROG-indent} --version - ${INDENT_PROG-indent} -npro $OPTS "$name" - sed \ - -e '/MODULE_ID(/s/);$/)/' \ - -e 's,;[ ]*//GCC_NORETURN;, GCC_NORETURN;,' \ - -e 's,//\(\\),\1,' \ - "$name" >"$test" - mv "$test" "$name" - rm -f "${name}~" - if test $NOOP = yes ; then - if (cmp -s "$name" "$save" ) then - echo "** no change: $name" - else - diff -u "$save" "$name" - fi - rm -f "$name" - mv "$save" "$name" - elif ( cmp -s "$name" "$save" ) ; then - echo "** unchanged $name" - rm -f "${name}" - mv "$save" "$name" - else - echo "** updated $name" - rm -f "$save" - fi - ;; - *) - echo "** ignored: $name" - ;; - esac -done diff --git a/src/libs/ncurses/misc/ncurses.def b/src/libs/ncurses/misc/ncurses.def deleted file mode 100644 index fa50456f5c..0000000000 --- a/src/libs/ncurses/misc/ncurses.def +++ /dev/null @@ -1,447 +0,0 @@ -LIBRARY ncurses5 INITINSTANCE TERMINSTANCE -DESCRIPTION "NCurses-5-1-20000704, module ncurses" -CODE LOADONCALL -DATA LOADONCALL NONSHARED MULTIPLE -EXPORTS - "BC" @662 NONAME - "COLORS" @503 NONAME - "COLOR_PAIR" @36 NONAME - "COLOR_PAIRS" @504 NONAME - "COLS" @511 NONAME - "ESCDELAY" @513 NONAME - "LINES" @510 NONAME - "PAIR_NUMBER" @209 NONAME - "PC" @660 NONAME - "SP" @1003 NONAME - "TABSIZE" @512 NONAME - "UP" @661 NONAME - "_nc_access" @6 NONAME - "_nc_add_to_try" @7 NONAME - "_nc_align_termtype" @8 NONAME - "_nc_background" @9 NONAME - "_nc_baudrate" @10 NONAME - "_nc_cap_hash_table" @805 NONAME - "_nc_capalias_table" @806 NONAME - "_nc_capcmp" @707 NONAME - "_nc_captoinfo" @829 NONAME - "_nc_check_termtype" @15 NONAME - "_nc_comment_end" @819 NONAME - "_nc_comment_start" @818 NONAME - "_nc_copy_entry" @16 NONAME - "_nc_copy_termtype" @22 NONAME - "_nc_curr_col" @816 NONAME - "_nc_curr_file_pos" @817 NONAME - "_nc_curr_line" @815 NONAME - "_nc_curr_token" @803 NONAME - "_nc_disable_period" @23 NONAME - "_nc_do_color" @1037 NONAME - "_nc_doalloc" @25 NONAME - "_nc_entry_match" @710 NONAME - "_nc_err_abort" @826 NONAME - "_nc_expand_try" @27 NONAME - "_nc_expanded" @51 NONAME - "_nc_fallback" @625 NONAME - "_nc_find_entry" @809 NONAME - "_nc_find_type_entry" @810 NONAME - "_nc_first_name" @622 NONAME - "_nc_flush" @54 NONAME - "_nc_free_entries" @712 NONAME - "_nc_free_termtype" @58 NONAME - "_nc_freeall" @59 NONAME - "_nc_freewin" @60 NONAME - "_nc_get_hash_table" @63 NONAME - "_nc_get_table" @808 NONAME - "_nc_get_token" @811 NONAME - "_nc_get_tty_mode" @65 NONAME - "_nc_get_type" @823 NONAME - "_nc_getenv_num" @67 NONAME - "_nc_has_mouse" @73 NONAME - "_nc_hash_map" @84 NONAME - "_nc_head" @700 NONAME - "_nc_home_terminfo" @91 NONAME - "_nc_info_hash_table" @804 NONAME - "_nc_infoalias_table" @807 NONAME - "_nc_infotocap" @830 NONAME - "_nc_init_acs" @92 NONAME - "_nc_init_entry" @702 NONAME - "_nc_init_keytry" @93 NONAME - "_nc_keep_tic_dir" @95 NONAME - "_nc_key_names" @96 NONAME - "_nc_keypad" @1024 NONAME - "_nc_make_oldhash" @97 NONAME - "_nc_makenew" @1025 NONAME - "_nc_memmove" @98 NONAME - "_nc_merge_entry" @704 NONAME - "_nc_msec_cost" @103 NONAME - "_nc_mvcur_init" @1014 NONAME - "_nc_mvcur_resume" @106 NONAME - "_nc_mvcur_wrap" @1015 NONAME - "_nc_name_match" @623 NONAME - "_nc_nulls_sent" @116 NONAME - "_nc_oldnums" @117 NONAME - "_nc_ospeed" @118 NONAME - "_nc_outch" @1026 NONAME - "_nc_outstr" @1033 NONAME - "_nc_panelhook" @119 NONAME - "_nc_panic_mode" @814 NONAME - "_nc_parse_entry" @706 NONAME - "_nc_printf_string" @120 NONAME - "_nc_push_token" @812 NONAME - "_nc_read_entry" @620 NONAME - "_nc_read_entry_source" @709 NONAME - "_nc_read_file_entry" @621 NONAME - "_nc_read_termcap" @127 NONAME - "_nc_remove_key" @129 NONAME - "_nc_remove_string" @130 NONAME - "_nc_render" @1027 NONAME - "_nc_reset_input" @813 NONAME - "_nc_resolve_uses" @711 NONAME - "_nc_ripoffline" @132 NONAME - "_nc_save_str" @703 NONAME - "_nc_screen_chain" @137 NONAME - "_nc_screen_init" @142 NONAME - "_nc_screen_resume" @143 NONAME - "_nc_screen_wrap" @144 NONAME - "_nc_scroll_oldhash" @145 NONAME - "_nc_scroll_optimize" @1029 NONAME - "_nc_scroll_window" @1030 NONAME - "_nc_scrolln" @146 NONAME - "_nc_set_buffer" @147 NONAME - "_nc_set_source" @822 NONAME - "_nc_set_tty_mode" @148 NONAME - "_nc_set_type" @824 NONAME - "_nc_set_writedir" @152 NONAME - "_nc_setupscreen" @1031 NONAME - "_nc_sigaction" @158 NONAME - "_nc_signal_handler" @1034 NONAME - "_nc_slk_format" @159 NONAME - "_nc_slk_initialize" @160 NONAME - "_nc_start_line" @821 NONAME - "_nc_suppress_warnings" @828 NONAME - "_nc_synchook" @1035 NONAME - "_nc_syntax" @820 NONAME - "_nc_syserr_abort" @825 NONAME - "_nc_tail" @701 NONAME - "_nc_tic_dir" @161 NONAME - "_nc_tic_expand" @162 NONAME - "_nc_tic_written" @167 NONAME - "_nc_timed_wait" @1036 NONAME - "_nc_tinfo_fkeys" @169 NONAME - "_nc_tracing" @1010 NONAME - "_nc_trans_string" @170 NONAME - "_nc_user_definable" @172 NONAME - "_nc_visbuf" @1012 NONAME - "_nc_visbuf2" @178 NONAME - "_nc_vsscanf" @183 NONAME - "_nc_waddch_nosync" @1028 NONAME - "_nc_warning" @827 NONAME - "_nc_wrap_entry" @705 NONAME - "_nc_write_entry" @708 NONAME - "acs_map" @506 NONAME - "addch" @1 NONAME - "addchnstr" @2 NONAME - "addchstr" @3 NONAME - "addnstr" @4 NONAME - "addstr" @5 NONAME - "assume_default_colors" @184 NONAME - "attr_get" @14 NONAME - "attr_off" @185 NONAME - "attr_on" @186 NONAME - "attr_set" @17 NONAME - "attroff" @11 NONAME - "attron" @12 NONAME - "attrset" @13 NONAME - "baudrate" @18 NONAME - "beep" @19 NONAME - "bkgd" @20 NONAME - "bkgdset" @21 NONAME - "boolcodes" @601 NONAME - "boolfnames" @602 NONAME - "boolnames" @600 NONAME - "border" @24 NONAME - "box" @26 NONAME - "can_change_color" @28 NONAME - "cbreak" @29 NONAME - "chgat" @30 NONAME - "clear" @31 NONAME - "clearok" @32 NONAME - "clrtobot" @33 NONAME - "clrtoeol" @34 NONAME - "color_content" @35 NONAME - "color_set" @187 NONAME - "copywin" @37 NONAME - "cur_term" @515 NONAME - "curs_set" @38 NONAME - "curscr" @501 NONAME - "curses_version" @188 NONAME - "def_prog_mode" @39 NONAME - "def_shell_mode" @40 NONAME - "define_key" @189 NONAME - "del_curterm" @641 NONAME - "delay_output" @41 NONAME - "delch" @42 NONAME - "deleteln" @45 NONAME - "delscreen" @43 NONAME - "delwin" @44 NONAME - "derwin" @46 NONAME - "doupdate" @47 NONAME - "dupwin" @48 NONAME - "echo" @49 NONAME - "echochar" @50 NONAME - "endwin" @52 NONAME - "erase" @193 NONAME - "erasechar" @53 NONAME - "filter" @55 NONAME - "flash" @56 NONAME - "flushinp" @57 NONAME - "getbkgd" @211 NONAME - "getch" @61 NONAME - "getmouse" @356 NONAME - "getnstr" @62 NONAME - "getstr" @64 NONAME - "getwin" @66 NONAME - "halfdelay" @68 NONAME - "has_colors" @69 NONAME - "has_ic" @70 NONAME - "has_il" @71 NONAME - "has_key" @234 NONAME - "hline" @72 NONAME - "idcok" @74 NONAME - "idlok" @75 NONAME - "immedok" @76 NONAME - "inch" @77 NONAME - "inchnstr" @78 NONAME - "inchstr" @79 NONAME - "init_color" @81 NONAME - "init_pair" @82 NONAME - "initscr" @80 NONAME - "innstr" @83 NONAME - "insch" @85 NONAME - "insdelln" @86 NONAME - "insertln" @87 NONAME - "insnstr" @88 NONAME - "insstr" @89 NONAME - "instr" @90 NONAME - "intrflush" @94 NONAME - "is_linetouched" @100 NONAME - "is_wintouched" @101 NONAME - "isendwin" @99 NONAME - "keybound" @238 NONAME - "keyname" @102 NONAME - "keyok" @240 NONAME - "keypad" @104 NONAME - "killchar" @105 NONAME - "leaveok" @107 NONAME - "longname" @108 NONAME - "mcprint" @242 NONAME - "meta" @109 NONAME - "mouse_trafo" @251 NONAME - "mouseinterval" @360 NONAME - "mousemask" @358 NONAME - "move" @110 NONAME - "mvaddch" @111 NONAME - "mvaddchnstr" @112 NONAME - "mvaddchstr" @113 NONAME - "mvaddnstr" @114 NONAME - "mvaddstr" @115 NONAME - "mvchgat" @121 NONAME - "mvcur" @122 NONAME - "mvdelch" @123 NONAME - "mvderwin" @124 NONAME - "mvgetch" @125 NONAME - "mvgetnstr" @126 NONAME - "mvgetstr" @128 NONAME - "mvhline" @131 NONAME - "mvinch" @133 NONAME - "mvinchnstr" @134 NONAME - "mvinchstr" @135 NONAME - "mvinnstr" @136 NONAME - "mvinsch" @138 NONAME - "mvinsnstr" @139 NONAME - "mvinsstr" @140 NONAME - "mvinstr" @141 NONAME - "mvprintw" @149 NONAME - "mvscanw" @150 NONAME - "mvvline" @151 NONAME - "mvwaddch" @153 NONAME - "mvwaddchnstr" @154 NONAME - "mvwaddchstr" @155 NONAME - "mvwaddnstr" @156 NONAME - "mvwaddstr" @157 NONAME - "mvwchgat" @163 NONAME - "mvwdelch" @164 NONAME - "mvwgetch" @165 NONAME - "mvwgetnstr" @166 NONAME - "mvwgetstr" @168 NONAME - "mvwhline" @171 NONAME - "mvwin" @173 NONAME - "mvwinch" @174 NONAME - "mvwinchnstr" @175 NONAME - "mvwinchstr" @176 NONAME - "mvwinnstr" @177 NONAME - "mvwinsch" @179 NONAME - "mvwinsnstr" @180 NONAME - "mvwinsstr" @181 NONAME - "mvwinstr" @182 NONAME - "mvwprintw" @190 NONAME - "mvwscanw" @191 NONAME - "mvwvline" @192 NONAME - "napms" @194 NONAME - "newpad" @195 NONAME - "newscr" @502 NONAME - "newterm" @196 NONAME - "newwin" @197 NONAME - "nl" @198 NONAME - "nocbreak" @199 NONAME - "nodelay" @200 NONAME - "noecho" @201 NONAME - "nonl" @202 NONAME - "noqiflush" @203 NONAME - "noraw" @204 NONAME - "notimeout" @205 NONAME - "numcodes" @604 NONAME - "numfnames" @605 NONAME - "numnames" @603 NONAME - "ospeed" @663 NONAME - "overlay" @206 NONAME - "overwrite" @207 NONAME - "pair_content" @208 NONAME - "pechochar" @210 NONAME - "pnoutrefresh" @212 NONAME - "prefresh" @213 NONAME - "printw" @214 NONAME - "putp" @215 NONAME - "putwin" @216 NONAME - "qiflush" @217 NONAME - "raw" @218 NONAME - "redrawwin" @219 NONAME - "refresh" @220 NONAME - "reset_prog_mode" @222 NONAME - "reset_shell_mode" @223 NONAME - "resetty" @221 NONAME - "resizeterm" @263 NONAME - "restartterm" @643 NONAME - "ripoffline" @224 NONAME - "savetty" @225 NONAME - "scanw" @226 NONAME - "scr_dump" @227 NONAME - "scr_init" @228 NONAME - "scr_restore" @232 NONAME - "scr_set" @233 NONAME - "scrl" @229 NONAME - "scroll" @230 NONAME - "scrollok" @231 NONAME - "set_curterm" @640 NONAME - "set_term" @236 NONAME - "setscrreg" @235 NONAME - "setupterm" @644 NONAME - "slk_attr" @266 NONAME - "slk_attr_set" @270 NONAME - "slk_attroff" @237 NONAME - "slk_attron" @239 NONAME - "slk_attrset" @241 NONAME - "slk_clear" @243 NONAME - "slk_color" @272 NONAME - "slk_init" @244 NONAME - "slk_label" @245 NONAME - "slk_noutrefresh" @246 NONAME - "slk_refresh" @247 NONAME - "slk_restore" @248 NONAME - "slk_set" @249 NONAME - "slk_touch" @250 NONAME - "standend" @253 NONAME - "standout" @252 NONAME - "start_color" @254 NONAME - "stdscr" @500 NONAME - "strcodes" @608 NONAME - "strfnames" @609 NONAME - "strnames" @606 NONAME - "subpad" @255 NONAME - "subwin" @256 NONAME - "syncok" @257 NONAME - "termattrs" @258 NONAME - "termname" @259 NONAME - "tgetent" @645 NONAME - "tgetflag" @646 NONAME - "tgetnum" @647 NONAME - "tgetstr" @648 NONAME - "tgoto" @649 NONAME - "tigetflag" @260 NONAME - "tigetnum" @261 NONAME - "tigetstr" @262 NONAME - "timeout" @274 NONAME - "tparm" @653 NONAME - "tputs" @655 NONAME - "ttytype" @514 NONAME - "typeahead" @264 NONAME - "unctrl" @361 NONAME - "ungetch" @265 NONAME - "ungetmouse" @357 NONAME - "untouchwin" @267 NONAME - "use_default_colors" @276 NONAME - "use_env" @268 NONAME - "use_extended_names" @278 NONAME - "vidattr" @269 NONAME - "vidputs" @271 NONAME - "vline" @273 NONAME - "vw_printw" @284 NONAME - "vw_scanw" @285 NONAME - "vwprintw" @275 NONAME - "vwscanw" @277 NONAME - "waddch" @279 NONAME - "waddchnstr" @280 NONAME - "waddchstr" @281 NONAME - "waddnstr" @282 NONAME - "waddstr" @283 NONAME - "wattr_get" @291 NONAME - "wattr_off" @293 NONAME - "wattr_on" @292 NONAME - "wattr_set" @286 NONAME - "wattroff" @289 NONAME - "wattron" @288 NONAME - "wattrset" @290 NONAME - "wbkgd" @295 NONAME - "wbkgdset" @296 NONAME - "wborder" @299 NONAME - "wchgat" @301 NONAME - "wclear" @302 NONAME - "wclrtobot" @303 NONAME - "wclrtoeol" @304 NONAME - "wcolor_set" @287 NONAME - "wcursyncup" @305 NONAME - "wdelch" @306 NONAME - "wdeleteln" @307 NONAME - "wechochar" @308 NONAME - "wenclose" @359 NONAME - "werase" @310 NONAME - "wgetch" @312 NONAME - "wgetnstr" @313 NONAME - "wgetstr" @315 NONAME - "whline" @318 NONAME - "winch" @320 NONAME - "winchnstr" @321 NONAME - "winchstr" @322 NONAME - "winnstr" @323 NONAME - "winsch" @325 NONAME - "winsdelln" @326 NONAME - "winsertln" @327 NONAME - "winsnstr" @328 NONAME - "winsstr" @329 NONAME - "winstr" @330 NONAME - "wmouse_trafo" @294 NONAME - "wmove" @338 NONAME - "wnoutrefresh" @339 NONAME - "wprintw" @340 NONAME - "wredrawln" @341 NONAME - "wrefresh" @342 NONAME - "wresize" @343 NONAME - "wscanw" @344 NONAME - "wscrl" @345 NONAME - "wsetscrreg" @346 NONAME - "wstandend" @348 NONAME - "wstandout" @347 NONAME - "wsyncdown" @349 NONAME - "wsyncup" @350 NONAME - "wtimeout" @351 NONAME - "wtouchln" @352 NONAME - "wvline" @354 NONAME diff --git a/src/libs/ncurses/misc/ncurses.ref b/src/libs/ncurses/misc/ncurses.ref deleted file mode 100644 index cf4de7d592..0000000000 --- a/src/libs/ncurses/misc/ncurses.ref +++ /dev/null @@ -1,572 +0,0 @@ -LIBRARY ncurses2 INITINSTANCE -DESCRIPTION 'NCurses 1.9.9e-1 for OS/2 - base library' -EXPORTS -;************ -;* curses.h * -;************ - - "stdscr" @500 NONAME ; variable - "curscr" @501 NONAME ; variable - "newscr" @502 NONAME ; variable - "COLORS" @503 NONAME ; variable - "COLOR_PAIRS" @504 NONAME ; variable - "color_pairs" @505 NONAME ; variable - "acs_map" @506 NONAME ; variable - "LINES" @510 NONAME ; variable - "COLS" @511 NONAME ; variable - "TABSIZE" @512 NONAME ; variable - "ESCDELAY" @513 NONAME ; variable - "ttytype" @514 NONAME ; variable - "cur_term" @515 NONAME ; variable - - "addch" @1 NONAME ; generated - "addchnstr" @2 NONAME ; generated - "addchstr" @3 NONAME ; generated - "addnstr" @4 NONAME ; generated - "addstr" @5 NONAME ; generated -; "addnwstr" @6 NONAME ; missing -; "addwstr" @7 NONAME ; missing -; "add_wch" @8 NONAME ; missing -; "add_wchnstr" @9 NONAME ; missing -; "add_wchstr" @10 NONAME ; missing - "attroff" @11 NONAME ; generated - "attron" @12 NONAME ; generated - "attrset" @13 NONAME ; generated - "attr_get" @14 NONAME ; generated -; "attr_off" @15 NONAME ; implemented << NO!! -; "attr_on" @16 NONAME ; implemented << NO!! - "attr_set" @17 NONAME ; generated - "baudrate" @18 NONAME ; implemented - "beep" @19 NONAME ; implemented - "bkgd" @20 NONAME ; generated - "bkgdset" @21 NONAME ; generated -; "bkgrndset" @22 NONAME ; missing -; "bkgrnd" @23 NONAME ; missing - "border" @24 NONAME ; generated -; "border_set" @25 NONAME ; missing - "box" @26 NONAME ; generated -; "box_set" @27 NONAME ; missing - "can_change_color" @28 NONAME ; implemented - "cbreak" @29 NONAME ; implemented - "chgat" @30 NONAME ; generated - "clear" @31 NONAME ; generated - "clearok" @32 NONAME ; implemented - "clrtobot" @33 NONAME ; generated - "clrtoeol" @34 NONAME ; generated - "color_content" @35 NONAME ; implemented - "COLOR_PAIR" @36 NONAME ; generated - "copywin" @37 NONAME ; implemented - "curs_set" @38 NONAME ; implemented - "def_prog_mode" @39 NONAME ; implemented - "def_shell_mode" @40 NONAME ; implemented - "delay_output" @41 NONAME ; implemented - "delch" @42 NONAME ; generated - "delscreen" @43 NONAME ; implemented - "delwin" @44 NONAME ; implemented - "deleteln" @45 NONAME ; generated - "derwin" @46 NONAME ; implemented - "doupdate" @47 NONAME ; implemented - "dupwin" @48 NONAME ; implemented - "echo" @49 NONAME ; implemented - "echochar" @50 NONAME ; generated -; "echo_wchar" @51 NONAME ; missing - "endwin" @52 NONAME ; implemented - "erasechar" @53 NONAME ; implemented -; "erase_wchar" @54 NONAME ; missing - "filter" @55 NONAME ; implemented - "flash" @56 NONAME ; implemented - "flushinp" @57 NONAME ; implemented -; "getbkgd" @58 NONAME ; missing -; "getbkgrnd" @59 NONAME ; missing -; "getcchar" @60 NONAME ; missing - "getch" @61 NONAME ; generated - "getnstr" @62 NONAME ; generated -; "getn_wstr" @63 NONAME ; missing - "getstr" @64 NONAME ; generated -; "get_wch" @65 NONAME ; missing - "getwin" @66 NONAME ; not in XPG4 -; "get_wstr" @67 NONAME ; missing - "halfdelay" @68 NONAME ; implemented - "has_colors" @69 NONAME ; implemented - "has_ic" @70 NONAME ; implemented - "has_il" @71 NONAME ; implemented - "hline" @72 NONAME ; generated -; "hline_set" @73 NONAME ; missing - "idcok" @74 NONAME ; implemented - "idlok" @75 NONAME ; implemented - "immedok" @76 NONAME ; implemented - "inch" @77 NONAME ; generated - "inchnstr" @78 NONAME ; generated - "inchstr" @79 NONAME ; generated - "initscr" @80 NONAME ; implemented - "init_color" @81 NONAME ; implemented - "init_pair" @82 NONAME ; implemented - "innstr" @83 NONAME ; generated -; "innwstr" @84 NONAME ; missing - "insch" @85 NONAME ; generated - "insdelln" @86 NONAME ; generated - "insertln" @87 NONAME ; generated - "insnstr" @88 NONAME ; generated - "insstr" @89 NONAME ; generated - "instr" @90 NONAME ; generated -; "ins_nwstr" @91 NONAME ; missing -; "ins_wch" @92 NONAME ; missing -; "ins_wstr" @93 NONAME ; missing - "intrflush" @94 NONAME ; implemented -; "inwstr" @95 NONAME ; missing -; "in_wch" @96 NONAME ; missing -; "in_wchstr" @97 NONAME ; missing -; "in_wchntr" @98 NONAME ; missing - "isendwin" @99 NONAME ; implemented - "is_linetouched" @100 NONAME ; implemented - "is_wintouched" @101 NONAME ; implemented - "keyname" @102 NONAME ; implemented -; "key_name" @103 NONAME ; missing - "keypad" @104 NONAME ; implemented - "killchar" @105 NONAME ; implemented -; "killwchar" @106 NONAME ; missing - "leaveok" @107 NONAME ; implemented - "longname" @108 NONAME ; implemented - "meta" @109 NONAME ; implemented - "move" @110 NONAME ; generated - "mvaddch" @111 NONAME ; generated - "mvaddchnstr" @112 NONAME ; generated - "mvaddchstr" @113 NONAME ; generated - "mvaddnstr" @114 NONAME ; generated - "mvaddstr" @115 NONAME ; generated -; "mvaddnwstr" @116 NONAME ; missing -; "mvaddwstr" @117 NONAME ; missing -; "mvadd_wch" @118 NONAME ; missing -; "mvadd_wchnstr" @119 NONAME ; missing -; "mvadd_wchstr" @120 NONAME ; missing - "mvchgat" @121 NONAME ; generated - "mvcur" @122 NONAME ; implemented - "mvdelch" @123 NONAME ; generated - "mvderwin" @124 NONAME ; implemented - "mvgetch" @125 NONAME ; generated - "mvgetnstr" @126 NONAME ; generated -; "mvgetn_wstr" @127 NONAME ; missing - "mvgetstr" @128 NONAME ; generated -; "mvget_wch" @129 NONAME ; missing -; "mvget_wstr" @130 NONAME ; missing - "mvhline" @131 NONAME ; generated -; "mvhline_set" @132 NONAME ; missing - "mvinch" @133 NONAME ; generated - "mvinchnstr" @134 NONAME ; generated - "mvinchstr" @135 NONAME ; generated - "mvinnstr" @136 NONAME ; generated -; "mvinnwstr" @137 NONAME ; missing - "mvinsch" @138 NONAME ; generated - "mvinsnstr" @139 NONAME ; generated - "mvinsstr" @140 NONAME ; generated - "mvinstr" @141 NONAME ; generated -; "mvins_nwstr" @142 NONAME ; missing -; "mvins_wch" @143 NONAME ; missing -; "mvins_wstr" @144 NONAME ; missing -; "mvinwstr" @145 NONAME ; missing -; "mvin_wch" @146 NONAME ; missing -; "mvin_wchstr" @147 NONAME ; missing -; "mvin_wchntr" @148 NONAME ; missing - "mvprintw" @149 NONAME ; implemented - "mvscanw" @150 NONAME ; implemented - "mvvline" @151 NONAME ; generated -; "mvvline_set" @152 NONAME ; missing - "mvwaddch" @153 NONAME ; generated - "mvwaddchnstr" @154 NONAME ; generated - "mvwaddchstr" @155 NONAME ; generated - "mvwaddnstr" @156 NONAME ; generated - "mvwaddstr" @157 NONAME ; generated -; "mvwaddnwstr" @158 NONAME ; missing -; "mvwaddwstr" @159 NONAME ; missing -; "mvwadd_wch" @160 NONAME ; missing -; "mvwadd_wchnstr" @161 NONAME ; missing -; "mvwadd_wchstr" @162 NONAME ; missing - "mvwchgat" @163 NONAME ; generated - "mvwdelch" @164 NONAME ; generated - "mvwgetch" @165 NONAME ; generated - "mvwgetnstr" @166 NONAME ; generated -; "mvwgetn_wstr" @167 NONAME ; missing - "mvwgetstr" @168 NONAME ; generated -; "mvwget_wch" @169 NONAME ; missing -; "mvwget_wstr" @170 NONAME ; missing - "mvwhline" @171 NONAME ; generated -; "mvwhline_set" @172 NONAME ; missing - "mvwin" @173 NONAME ; implemented - "mvwinch" @174 NONAME ; generated - "mvwinchnstr" @175 NONAME ; generated - "mvwinchstr" @176 NONAME ; generated - "mvwinnstr" @177 NONAME ; generated -; "mvwinnwstr" @178 NONAME ; missing - "mvwinsch" @179 NONAME ; generated - "mvwinsnstr" @180 NONAME ; generated - "mvwinsstr" @181 NONAME ; generated - "mvwinstr" @182 NONAME ; generated -; "mvwins_nwstr" @183 NONAME ; missing -; "mvwins_wch" @184 NONAME ; missing -; "mvwins_wstr" @185 NONAME ; missing -; "mvwinwstr" @186 NONAME ; missing -; "mvwin_wch" @187 NONAME ; missing -; "mvwin_wchnstr" @188 NONAME ; missing -; "mvwin_wchstr" @189 NONAME ; missing - "mvwprintw" @190 NONAME ; implemented - "mvwscanw" @191 NONAME ; implemented - "mvwvline" @192 NONAME ; generated -; "mvwvline_set" @193 NONAME ; missing - "napms" @194 NONAME ; implemented - "newpad" @195 NONAME ; implemented - "newterm" @196 NONAME ; implemented - "newwin" @197 NONAME ; implemented - "nl" @198 NONAME ; implemented - "nocbreak" @199 NONAME ; implemented - "nodelay" @200 NONAME ; implemented - "noecho" @201 NONAME ; implemented - "nonl" @202 NONAME ; implemented - "noqiflush" @203 NONAME ; implemented - "noraw" @204 NONAME ; implemented - "notimeout" @205 NONAME ; implemented - "overlay" @206 NONAME ; implemented - "overwrite" @207 NONAME ; implemented - "pair_content" @208 NONAME ; implemented - "PAIR_NUMBER" @209 NONAME ; generated - "pechochar" @210 NONAME ; implemented -; "pecho_wchar" @211 NONAME ; missing - "pnoutrefresh" @212 NONAME ; implemented - "prefresh" @213 NONAME ; implemented - "printw" @214 NONAME ; implemented - "putp" @215 NONAME ; implemented - "putwin" @216 NONAME ; implemented - "qiflush" @217 NONAME ; implemented - "raw" @218 NONAME ; implemented - "redrawwin" @219 NONAME ; generated - "refresh" @220 NONAME ; generated - "resetty" @221 NONAME ; implemented - "reset_prog_mode" @222 NONAME ; implemented - "reset_shell_mode" @223 NONAME ; implemented - "ripoffline" @224 NONAME ; implemented - "savetty" @225 NONAME ; implemented - "scanw" @226 NONAME ; implemented - "scr_dump" @227 NONAME ; implemented - "scr_init" @228 NONAME ; implemented - "scrl" @229 NONAME ; generated - "scroll" @230 NONAME ; generated - "scrollok" @231 NONAME ; implemented - "scr_restore" @232 NONAME ; implemented - "scr_set" @233 NONAME ; implemented -; "setcchar" @234 NONAME ; missing - "setscrreg" @235 NONAME ; generated - "set_term" @236 NONAME ; implemented - "slk_attroff" @237 NONAME ; implemented -; "slk_attr_off" @238 NONAME ; missing - "slk_attron" @239 NONAME ; implemented -; "slk_attr_on" @240 NONAME ; missing - "slk_attrset" @241 NONAME ; implemented -; "slk_attr_set" @242 NONAME ; missing - "slk_clear" @243 NONAME ; implemented - "slk_init" @244 NONAME ; implemented - "slk_label" @245 NONAME ; implemented - "slk_noutrefresh" @246 NONAME ; implemented - "slk_refresh" @247 NONAME ; implemented - "slk_restore" @248 NONAME ; implemented - "slk_set" @249 NONAME ; implemented - "slk_touch" @250 NONAME ; implemented -; "slk_wset" @251 NONAME ; missing - "standout" @252 NONAME ; generated - "standend" @253 NONAME ; generated - "start_color" @254 NONAME ; implemented - "subpad" @255 NONAME ; implemented - "subwin" @256 NONAME ; implemented - "syncok" @257 NONAME ; implemented - "termattrs" @258 NONAME ; implemented - "termname" @259 NONAME ; implemented - "tigetflag" @260 NONAME ; implemented - "tigetnum" @261 NONAME ; implemented - "tigetstr" @262 NONAME ; implemented -; "timeout" @263 NONAME ; implemented << NO!! - "typeahead" @264 NONAME ; implemented - "ungetch" @265 NONAME ; implemented -; "unget_wch" @266 NONAME ; missing - "untouchwin" @267 NONAME ; generated - "use_env" @268 NONAME ; implemented - "vidattr" @269 NONAME ; implemented -; "vid_attr" @270 NONAME ; missing - "vidputs" @271 NONAME ; implemented -; "vid_puts" @272 NONAME ; missing - "vline" @273 NONAME ; generated -; "vline_set" @274 NONAME ; missing - "vwprintw" @275 NONAME ; implemented -; "vw_printw" @276 NONAME ; implemented << NO!! - "vwscanw" @277 NONAME ; implemented -; "vw_scanw" @278 NONAME ; implemented << NO!! - "waddch" @279 NONAME ; implemented - "waddchnstr" @280 NONAME ; implemented - "waddchstr" @281 NONAME ; generated - "waddnstr" @282 NONAME ; implemented - "waddstr" @283 NONAME ; generated -; "waddwstr" @284 NONAME ; missing -; "wadd_wch" @285 NONAME ; missing -; "wadd_wchnstr" @286 NONAME ; missing -; "wadd_wchstr" @287 NONAME ; missing - "wattron" @288 NONAME ; generated - "wattroff" @289 NONAME ; generated - "wattrset" @290 NONAME ; generated - "wattr_get" @291 NONAME ; generated - "wattr_on" @292 NONAME ; implemented - "wattr_off" @293 NONAME ; implemented -; "wattr_set" @294 NONAME ; implemented << NO!! - "wbkgd" @295 NONAME ; implemented - "wbkgdset" @296 NONAME ; generated -; "wbkgrndset" @297 NONAME ; missing -; "wbkgrnd" @298 NONAME ; missing - "wborder" @299 NONAME ; implemented -; "wborder_set" @300 NONAME ; missing - "wchgat" @301 NONAME ; implemented - "wclear" @302 NONAME ; implemented - "wclrtobot" @303 NONAME ; implemented - "wclrtoeol" @304 NONAME ; implemented - "wcursyncup" @305 NONAME ; implemented - "wdelch" @306 NONAME ; implemented - "wdeleteln" @307 NONAME ; generated - "wechochar" @308 NONAME ; implemented -; "wecho_wchar" @309 NONAME ; missing - "werase" @310 NONAME ; implemented -; "wgetbkgrnd" @311 NONAME ; missing - "wgetch" @312 NONAME ; implemented - "wgetnstr" @313 NONAME ; implemented -; "wgetn_wstr" @314 NONAME ; missing - "wgetstr" @315 NONAME ; generated -; "wget_wch" @316 NONAME ; missing -; "wget_wstr" @317 NONAME ; missing - "whline" @318 NONAME ; implemented -; "whline_set" @319 NONAME ; missing - "winch" @320 NONAME ; generated - "winchnstr" @321 NONAME ; implemented - "winchstr" @322 NONAME ; generated - "winnstr" @323 NONAME ; implemented -; "winnwstr" @324 NONAME ; missing - "winsch" @325 NONAME ; implemented - "winsdelln" @326 NONAME ; implemented - "winsertln" @327 NONAME ; generated - "winsnstr" @328 NONAME ; implemented - "winsstr" @329 NONAME ; generated - "winstr" @330 NONAME ; generated -; "wins_nwstr" @331 NONAME ; missing -; "wins_wch" @332 NONAME ; missing -; "wins_wstr" @333 NONAME ; missing -; "winwstr" @334 NONAME ; missing -; "win_wch" @335 NONAME ; missing -; "win_wchnstr" @336 NONAME ; missing -; "win_wchstr" @337 NONAME ; missing - "wmove" @338 NONAME ; implemented - "wnoutrefresh" @339 NONAME ; implemented - "wprintw" @340 NONAME ; implemented - "wredrawln" @341 NONAME ; implemented - "wrefresh" @342 NONAME ; implemented - "wresize" @343 NONAME ; implemented - "wscanw" @344 NONAME ; implemented - "wscrl" @345 NONAME ; implemented - "wsetscrreg" @346 NONAME ; implemented - "wstandout" @347 NONAME ; generated - "wstandend" @348 NONAME ; generated - "wsyncdown" @349 NONAME ; implemented - "wsyncup" @350 NONAME ; implemented - "wtimeout" @351 NONAME ; implemented - "wtouchln" @352 NONAME ; implemented -; "wunctrl" @353 NONAME ; missing - "wvline" @354 NONAME ; implemented -; "wvline_set" @355 NONAME ; missing - - "getmouse" @356 NONAME - "ungetmouse" @357 NONAME - "mousemask" @358 NONAME - "wenclose" @359 NONAME - "mouseinterval" @360 NONAME - -; from unctrl.h - "unctrl" @361 NONAME - -; publics for tracing - "_tracef" @400 NONAME - "_tracedump" @401 NONAME - "_traceattr" @402 NONAME - "_tracechar" @403 NONAME - "_tracemouse" @404 NONAME - "trace" @405 NONAME - -;********** -;* term.h * -;********** - "boolnames" @600 NONAME ; variable - "boolcodes" @601 NONAME ; variable - "boolfnames" @602 NONAME ; variable - "numnames" @603 NONAME ; variable - "numcodes" @604 NONAME ; variable - "numfnames" @605 NONAME ; variable - "strnames" @606 NONAME ; variable - "strcodes" @608 NONAME ; variable - "strfnames" @609 NONAME ; variable - -; internals - "_nc_read_entry" @620 NONAME - "_nc_read_file_entry" @621 NONAME - "_nc_first_name" @622 NONAME - "_nc_name_match" @623 NONAME - "_nc_read_termcap_entry" @624 NONAME - "_nc_fallback" @625 NONAME - -; entry points - "set_curterm" @640 NONAME - "del_curterm" @641 NONAME - -; entry points -; "putp" @642 NONAME ; already defined - "restartterm" @643 NONAME - "setupterm" @644 NONAME - "tgetent" @645 NONAME - "tgetflag" @646 NONAME - "tgetnum" @647 NONAME - "tgetstr" @648 NONAME - "tgoto" @649 NONAME -; "tigetflag" @650 NONAME ; already defined -; "tigetnum" @651 NONAME ; already defined -; "tigetstr" @652 NONAME ; already defined - "tparm" @653 NONAME - "tparam" @654 NONAME - "tputs" @655 NONAME - -;************* -;* termcap.h * -;************* -; the functions are already defined in term.h - "PC" @660 NONAME - "UP" @661 NONAME - "BC" @662 NONAME - "ospeed" @663 NONAME - -;**************** -;* term_entry.h * -;**************** - "_nc_head" @700 NONAME - "_nc_tail" @701 NONAME - -; alloc_entry.c: elementary allocation code - "_nc_init_entry" @702 NONAME - "_nc_save_str" @703 NONAME - "_nc_merge_entry" @704 NONAME - "_nc_wrap_entry" @705 NONAME - -; parse_entry.c: entry-parsing code - "_nc_parse_entry" @706 NONAME - "_nc_capcmp" @707 NONAME - -; write_entry.c: writing an entry to the file system - "_nc_write_entry" @708 NONAME - -; comp_parse.c: entry list handling - "_nc_read_entry_source" @709 NONAME - "_nc_entry_match" @710 NONAME - "_nc_resolve_uses" @711 NONAME - "_nc_free_entries" @712 NONAME - -;********* -;* tic.h * -;********* -; "_nc_tracing" @800 NONAME ; defined below -; "_nc_tracef" @801 NONAME ; missing -; "_nc_visbuf" @802 NONAME ; defined below - - "_nc_curr_token" @803 NONAME - - "_nc_info_hash_table" @804 NONAME - "_nc_cap_hash_table" @805 NONAME - - "_nc_capalias_table" @806 NONAME - "_nc_infoalias_table" @807 NONAME - "_nc_get_table" @808 NONAME - -; comp_hash.c: name lookup - "_nc_find_entry" @809 NONAME - "_nc_find_type_entry" @810 NONAME - -; comp_scan.c: lexical analysis - "_nc_get_token" @811 NONAME - "_nc_push_token" @812 NONAME - "_nc_reset_input" @813 NONAME - "_nc_panic_mode" @814 NONAME - "_nc_curr_line" @815 NONAME - "_nc_curr_col" @816 NONAME - "_nc_curr_file_pos" @817 NONAME - "_nc_comment_start" @818 NONAME - "_nc_comment_end" @819 NONAME - "_nc_syntax" @820 NONAME - "_nc_start_line" @821 NONAME - -; comp_error.c: warning & abort messages - "_nc_set_source" @822 NONAME - "_nc_get_type" @823 NONAME - "_nc_set_type" @824 NONAME - "_nc_syserr_abort" @825 NONAME - "_nc_err_abort" @826 NONAME - "_nc_warning" @827 NONAME - "_nc_suppress_warnings" @828 NONAME - -; captoinfo.c: capability conversion - "_nc_captoinfo" @829 NONAME - "_nc_infotocap" @830 NONAME - -; comp_main.c: compiler main -; "_nc_progname" @831 NONAME ; no need to export it - - -; ***************** -; NCurses internals -- just for progs/*.exe and the library itself. -; ***************** - -; For broken linkers -; "_nc_screen" @1000 NONAME -; "_nc_alloc_screen" @1001 NONAME -; "_nc_set_screen" @1002 NONAME - -; For not so broken linkers - "SP" @1003 NONAME - -; Who knows what this is for - "_slk_init" @1004 NONAME - "slk_initialize" @1005 NONAME - -; Tracing -- all functions used internally - "_nc_tracing" @1010 NONAME - "_nc_tputs_trace" @1011 NONAME - "_nc_visbuf" @1012 NONAME - -; lib_acs.c - "init_acs" @1013 NONAME - -; lib_mvcur.c - "_nc_mvcur_init" @1014 NONAME - "_nc_mvcur_wrap" @1015 NONAME - "_nc_mvcur_scrolln" @1016 NONAME - -; lib_mouse.c - "_nc_mouse_init" @1017 NONAME - "_nc_mouse_event" @1018 NONAME - "_nc_mouse_inline" @1019 NONAME - "_nc_mouse_parse" @1020 NONAME - "_nc_mouse_wrap" @1021 NONAME - "_nc_mouse_resume" @1022 NONAME - "_nc_max_click_interval" @1023 NONAME - -; elsewhere ... - "_nc_keypad" @1024 NONAME - "_nc_makenew" @1025 NONAME - "_nc_outch" @1026 NONAME - "_nc_render" @1027 NONAME - "_nc_waddch_nosync" @1028 NONAME - "_nc_scroll_optimize" @1029 NONAME - "_nc_scroll_window" @1030 NONAME - "_nc_setupscreen" @1031 NONAME - "_nc_backspace" @1032 NONAME - "_nc_outstr" @1033 NONAME - "_nc_signal_handler" @1034 NONAME - "_nc_synchook" @1035 NONAME - "_nc_timed_wait" @1036 NONAME - "_nc_do_color" @1037 NONAME diff --git a/src/libs/ncurses/misc/panel.def b/src/libs/ncurses/misc/panel.def deleted file mode 100644 index 30ce1d65ac..0000000000 --- a/src/libs/ncurses/misc/panel.def +++ /dev/null @@ -1,20 +0,0 @@ -LIBRARY panel5 INITINSTANCE TERMINSTANCE -DESCRIPTION "NCurses-5-1-20000704, module panel" -CODE LOADONCALL -DATA LOADONCALL NONSHARED MULTIPLE -EXPORTS - "bottom_panel" @7 NONAME - "del_panel" @5 NONAME - "hide_panel" @3 NONAME - "move_panel" @13 NONAME - "new_panel" @8 NONAME - "panel_above" @9 NONAME - "panel_below" @10 NONAME - "panel_hidden" @15 NONAME - "panel_userptr" @12 NONAME - "panel_window" @1 NONAME - "replace_panel" @14 NONAME - "set_panel_userptr" @11 NONAME - "show_panel" @4 NONAME - "top_panel" @6 NONAME - "update_panels" @2 NONAME diff --git a/src/libs/ncurses/misc/panel.ref b/src/libs/ncurses/misc/panel.ref deleted file mode 100644 index e84045a104..0000000000 --- a/src/libs/ncurses/misc/panel.ref +++ /dev/null @@ -1,18 +0,0 @@ -LIBRARY panel2 INITINSTANCE -DESCRIPTION 'NCurses 1.9.9e-1 for OS/2 - panel library' -EXPORTS - "panel_window" @1 - "update_panels" @2 - "hide_panel" @3 - "show_panel" @4 - "del_panel" @5 - "top_panel" @6 - "bottom_panel" @7 - "new_panel" @8 - "panel_above" @9 - "panel_below" @10 - "set_panel_userptr" @11 - "panel_userptr" @12 - "move_panel" @13 - "replace_panel" @14 - "panel_hidden" @15 diff --git a/src/libs/ncurses/misc/run_tic.in b/src/libs/ncurses/misc/run_tic.in deleted file mode 100644 index b228e45b7e..0000000000 --- a/src/libs/ncurses/misc/run_tic.in +++ /dev/null @@ -1,173 +0,0 @@ -#!@SHELL@ -############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996,2000 -# -# $Id: run_tic.in,v 1.20 2005/09/17 23:13:49 tom Exp $ -# This script is used to install terminfo.src using tic. We use a script -# because the path checking is too awkward to do in a makefile. -# -# Assumes: -# The leaf directory names (lib, tabset, terminfo) -# -echo '** Building terminfo database, please wait...' -# -# The script is designed to be run from the misc/Makefile as -# make install.data - -: ${suffix=@PROG_EXT@} -: ${DESTDIR=@DESTDIR@} -: ${prefix=@prefix@} -: ${exec_prefix=@exec_prefix@} -: ${bindir=@bindir@} -: ${top_srcdir=@top_srcdir@} -: ${srcdir=@srcdir@} -: ${datadir=@datadir@} -: ${ticdir=@TERMINFO@} -: ${source=@TERMINFO_SRC@} -: ${LN_S="@LN_S@"} -: ${THAT_CC=cc} -: ${THIS_CC=cc} -: ${ext_funcs=@NCURSES_EXT_FUNCS@} - -test -z "${DESTDIR}" && DESTDIR= - -# Allow tic to run either from the install-path, or from the build-directory. -# Do not do this if we appear to be cross-compiling. In that case, we rely -# on the host's copy of tic to compile the terminfo database. -if test "$THAT_CC" = "$THIS_CC" ; then -case "$PATH" in -:*) PATH=../progs:../lib:${DESTDIR}$bindir$PATH ;; -*) PATH=../progs:../lib:${DESTDIR}$bindir:$PATH ;; -esac -export PATH -SHLIB="sh $srcdir/shlib" -else -# Cross-compiling, so don't set PATH or run shlib. -SHLIB= -# reset $suffix, since it applies to the target, not the build platform. -suffix= -fi - - -# set another env var that doesn't get reset when `shlib' runs, so `shlib' uses -# the PATH we just set. -SHLIB_PATH=$PATH -export SHLIB_PATH - -# set a variable to simplify environment update in shlib -SHLIB_HOST=@host_os@ -export SHLIB_HOST - -# don't use user's TERMINFO variable -TERMINFO=${DESTDIR}$ticdir ; export TERMINFO -umask 022 - -# Construct the name of the old (obsolete) pathname, e.g., /usr/lib/terminfo. -TICDIR=`echo $TERMINFO | sed -e 's%/share/\([^/]*\)$%/lib/\1%'` - -# Remove the old terminfo stuff; we don't care if it existed before, and it -# would generate a lot of confusing error messages if we tried to overwrite it. -# We explicitly remove its contents rather than the directory itself, in case -# the directory is actually a symbolic link. -( cd $TERMINFO && rm -fr ? 2>/dev/null ) - -if test "$ext_funcs" = 1 ; then -cat </dev/null ) - if ( cd $TICDIR 2>/dev/null ) - then - cd $TICDIR - TICDIR=`pwd` - if test $TICDIR != $TERMINFO ; then - # Well, we tried. Some systems lie to us, so the - # installer will have to double-check. - echo "Verify if $TICDIR and $TERMINFO are the same." - echo "The new terminfo is in $TERMINFO; the other should be a link to it." - echo "Otherwise, remove $TICDIR and link it to $TERMINFO." - fi - else - cd ${DESTDIR}$prefix - # Construct a symbolic link that only assumes $ticdir has the - # same $prefix as the other installed directories. - RELATIVE=`echo $ticdir|sed -e 's%^'$prefix'/%%'` - if test "$RELATIVE" != "$ticdir" ; then - RELATIVE=../`echo $ticdir|sed -e 's%^'$prefix'/%%' -e 's%^/%%'` - fi - if ( @LN_S@ $RELATIVE $TICDIR ) - then - echo '** sym-linked '$TICDIR' for compatibility' - else - echo '** could not sym-link '$TICDIR' for compatibility' - fi - fi -fi diff --git a/src/libs/ncurses/misc/run_tic.sed b/src/libs/ncurses/misc/run_tic.sed deleted file mode 100644 index cbbdcac880..0000000000 --- a/src/libs/ncurses/misc/run_tic.sed +++ /dev/null @@ -1,4 +0,0 @@ -s%/usr/share/tabset%/usr/local/share/tabset%g -/^# This is xterm for ncurses/,/^$/{ - s/use=xterm-new,/use=xterm-new,/ -} diff --git a/src/libs/ncurses/misc/run_tic.sh b/src/libs/ncurses/misc/run_tic.sh deleted file mode 100644 index a802e9a747..0000000000 --- a/src/libs/ncurses/misc/run_tic.sh +++ /dev/null @@ -1,173 +0,0 @@ -#!/bin/sh -############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996,2000 -# -# $Id: run_tic.in,v 1.20 2005/09/17 23:13:49 tom Exp $ -# This script is used to install terminfo.src using tic. We use a script -# because the path checking is too awkward to do in a makefile. -# -# Assumes: -# The leaf directory names (lib, tabset, terminfo) -# -echo '** Building terminfo database, please wait...' -# -# The script is designed to be run from the misc/Makefile as -# make install.data - -: ${suffix=} -: ${DESTDIR=} -: ${prefix=/usr/local} -: ${exec_prefix=${prefix}} -: ${bindir=${exec_prefix}/bin} -: ${top_srcdir=..} -: ${srcdir=.} -: ${datadir=${prefix}/share} -: ${ticdir=/usr/local/share/terminfo} -: ${source=${top_srcdir}/misc/terminfo.src} -: ${LN_S="ln -s"} -: ${THAT_CC=cc} -: ${THIS_CC=cc} -: ${ext_funcs=1} - -test -z "${DESTDIR}" && DESTDIR= - -# Allow tic to run either from the install-path, or from the build-directory. -# Do not do this if we appear to be cross-compiling. In that case, we rely -# on the host's copy of tic to compile the terminfo database. -if test "$THAT_CC" = "$THIS_CC" ; then -case "$PATH" in -:*) PATH=../progs:../lib:${DESTDIR}$bindir$PATH ;; -*) PATH=../progs:../lib:${DESTDIR}$bindir:$PATH ;; -esac -export PATH -SHLIB="sh $srcdir/shlib" -else -# Cross-compiling, so don't set PATH or run shlib. -SHLIB= -# reset $suffix, since it applies to the target, not the build platform. -suffix= -fi - - -# set another env var that doesn't get reset when `shlib' runs, so `shlib' uses -# the PATH we just set. -SHLIB_PATH=$PATH -export SHLIB_PATH - -# set a variable to simplify environment update in shlib -SHLIB_HOST=beos -export SHLIB_HOST - -# don't use user's TERMINFO variable -TERMINFO=${DESTDIR}$ticdir ; export TERMINFO -umask 022 - -# Construct the name of the old (obsolete) pathname, e.g., /usr/lib/terminfo. -TICDIR=`echo $TERMINFO | sed -e 's%/share/\([^/]*\)$%/lib/\1%'` - -# Remove the old terminfo stuff; we don't care if it existed before, and it -# would generate a lot of confusing error messages if we tried to overwrite it. -# We explicitly remove its contents rather than the directory itself, in case -# the directory is actually a symbolic link. -( cd $TERMINFO && rm -fr ? 2>/dev/null ) - -if test "$ext_funcs" = 1 ; then -cat </dev/null ) - if ( cd $TICDIR 2>/dev/null ) - then - cd $TICDIR - TICDIR=`pwd` - if test $TICDIR != $TERMINFO ; then - # Well, we tried. Some systems lie to us, so the - # installer will have to double-check. - echo "Verify if $TICDIR and $TERMINFO are the same." - echo "The new terminfo is in $TERMINFO; the other should be a link to it." - echo "Otherwise, remove $TICDIR and link it to $TERMINFO." - fi - else - cd ${DESTDIR}$prefix - # Construct a symbolic link that only assumes $ticdir has the - # same $prefix as the other installed directories. - RELATIVE=`echo $ticdir|sed -e 's%^'$prefix'/%%'` - if test "$RELATIVE" != "$ticdir" ; then - RELATIVE=../`echo $ticdir|sed -e 's%^'$prefix'/%%' -e 's%^/%%'` - fi - if ( ln -s $RELATIVE $TICDIR ) - then - echo '** sym-linked '$TICDIR' for compatibility' - else - echo '** could not sym-link '$TICDIR' for compatibility' - fi - fi -fi diff --git a/src/libs/ncurses/misc/shlib b/src/libs/ncurses/misc/shlib deleted file mode 100755 index 60fd4fc128..0000000000 --- a/src/libs/ncurses/misc/shlib +++ /dev/null @@ -1,140 +0,0 @@ -#!/bin/sh -############################################################################## -# Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996 -# -# $Id: shlib,v 1.10 2005/06/25 22:41:17 tom Exp $ -# Use this script as a wrapper when running executables linked to shared -# libraries on systems that use the $LD_LIBRARY_PATH variable and don't embed -# the soname's path within the linked executable (such as IRIX), e.g, -# -# shlib knight -# -# Setting LD_LIBRARY_PATH, overrides/supplements the loader's normal search -# path, and works on most systems. The drawback is that then the environment -# variable has to be set to run the programs within this directory tree. -# -# For Linux (and other systems using the GNU loader), we can use the rpath -# directive, which embeds the pathname of the library within the executable. -# Using the Linux loader's rpath directive introduces a constraint, since -# it's embedded into the binary, and means that the binary cannot be moved -# around (though it'll work if the $exec_prefix convention that puts the bin -# and lib directories under the same parent is followed). -# -# Using the actual soname (e.g., ../lib/libncurses.so) alone, is a more -# flexible solution; you can link without having to set the environment -# variable, and on some systems (IRIX) you can even run the resulting binaries -# without setting LD_LIBRARY_PATH. -# -# Using a conventional link, with -L and -l options on Linux results in a -# statically linked executable, which we don't want at all. -# -# Special cases: -# -# BeOS R4.5 uses $LIBRARY_PATH rather than $LD_LIBRARY_PATH. -# Cygwin uses $PATH -# Mac OS X uses $DYLD_LIBRARY_PATH -# -# Other cases not handled by this script: -# -# AIX uses $LIBPATH -# IRIX64 may use $LD_LIBRARY64_PATH or $LD_LIBRARYN32_PATH -# Solaris may use $LD_LIBRARY_PATH_64 -# -CDPATH= -# -# Make sure that we use the PATH that was set in run_tic.sh -if test -n "$SHLIB_PATH" ; then - PATH=$SHLIB_PATH - export PATH -fi - -# Find the lib-directory for this build tree -q="" -for p in lib ../lib ../../lib ../../../lib -do - if test -d $p; then - q=`cd $p; pwd` - elif test -f configure && test ! -d ../$p ; then - break - fi -done - -# Set the environment variable. -if test -n "$q" ; then - system= - if test -n "$SHLIB_HOST" ; then - system="$SHLIB_HOST" - elif test -n "$PATHEXT" ; then - system=cygwin - elif test -n "$LIBRARY_PATH" ; then - system=beos - elif test -n "$DYLD_LIBRARY_PATH" ; then - system=darwin - elif test -n "$LD_LIBRARY_PATH"; then - system=unix - else - for r in $q/*.* - do - if test -f "$r" - then - case $r in - *.dll) - system=cygwin - ;; - *.dylib) - system=darwin - ;; - esac - fi - test -n "$system" && break - done - fi - - case .$system in - .cygwin*) - variable=PATH - ;; - .beos*) - variable=LIBRARY_PATH - ;; - .darwin*) - variable=DYLD_LIBRARY_PATH - ;; - *) - variable=LD_LIBRARY_PATH - ;; - esac - - eval 'test -z "$'$variable'" && '$variable'=":"' - eval $variable'="$q:$'$variable'"' - eval 'export '$variable -fi - -eval "$*" diff --git a/src/libs/ncurses/misc/tabset/std b/src/libs/ncurses/misc/tabset/std deleted file mode 100644 index e93f737f0e..0000000000 --- a/src/libs/ncurses/misc/tabset/std +++ /dev/null @@ -1 +0,0 @@ - 3 1 1 1 1 1 1 1 1 1 1 1 1 1 diff --git a/src/libs/ncurses/misc/tabset/stdcrt b/src/libs/ncurses/misc/tabset/stdcrt deleted file mode 100644 index 66ba12f64d..0000000000 --- a/src/libs/ncurses/misc/tabset/stdcrt +++ /dev/null @@ -1 +0,0 @@ - 3 1 1 1 1 1 1 1 1 1 \ No newline at end of file diff --git a/src/libs/ncurses/misc/tabset/vt100 b/src/libs/ncurses/misc/tabset/vt100 deleted file mode 100644 index 8828d19da7..0000000000 --- a/src/libs/ncurses/misc/tabset/vt100 +++ /dev/null @@ -1,3 +0,0 @@ - - -H H H H H H H H H H H H H H H H diff --git a/src/libs/ncurses/misc/tabset/vt300 b/src/libs/ncurses/misc/tabset/vt300 deleted file mode 100644 index b1f9ce16d1..0000000000 --- a/src/libs/ncurses/misc/tabset/vt300 +++ /dev/null @@ -1,3 +0,0 @@ - - -P2$t9/17/25/33/41/49/57/65/73/81/89/97/105/113/121/129\ diff --git a/src/libs/ncurses/misc/tdlint b/src/libs/ncurses/misc/tdlint deleted file mode 100755 index c0e652b6f4..0000000000 --- a/src/libs/ncurses/misc/tdlint +++ /dev/null @@ -1,113 +0,0 @@ -#!/bin/sh -############################################################################## -# Copyright (c) 1998 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996 -# -# $Id: tdlint,v 1.5 2000/10/28 20:53:36 tom Exp $ -# -# Lint-script that allows user's own lint libraries, in addition to the ones -# installed in the system. -# -OPT="" -DIRS="" -LIBS="" -FILES="" -ARCH=`uname -s` -if test -z "$ARCH" ; then - echo '? uname not found' - exit 1 -else - case $ARCH in - AIX) set - $* -Nn4000 - ;; - IRIX) set - $* -n -lc - ;; - FreeBSD) set - $* -g -p -u -v -z - ;; - SunOS) - case `uname -r` in - 5.*) ARCH=Solaris - set - $* -n -lc - ;; - esac - ;; - esac -fi -# LIBDIR=$HOME/lib/$ARCH/lint ;export LIBDIR -for p in $HOME/lib/$ARCH/lint /usr/lib/lint /usr/lib -do - if [ -d $p ] - then - DIRS="$DIRS $p" - fi -done -# -while [ $# != 0 ] -do - case $1 in - -D*\"*) ;; - -L*) - DIRS="`echo $1|sed -e 's/^-L//'` $DIRS" - ;; - -l*) - lib="llib-l`echo $1 | sed -e 's/^-l//'`.ln" - found=no - for p in $DIRS - do - echo -n testing $p/$lib - if [ -f $p/$lib ] - then - LIBS="$LIBS $p/$lib" - echo " (ok)" - found=yes - break - fi - echo - done - if [ $found = no ] - then - echo "ignored library $1" - fi - ;; - -n) if [ -z "$OPT" ] - then - OPT="-I." - fi - OPT="$OPT $1" - ;; - -*) OPT="$OPT $1" - ;; - *) - FILES="$FILES $1" - ;; - esac - shift -done -# -eval lint $OPT $FILES $LIBS diff --git a/src/libs/ncurses/misc/terminfo.src b/src/libs/ncurses/misc/terminfo.src deleted file mode 100644 index 21eb3f0e0f..0000000000 --- a/src/libs/ncurses/misc/terminfo.src +++ /dev/null @@ -1,21021 +0,0 @@ -######## TERMINAL TYPE DESCRIPTIONS SOURCE FILE -# -# This version of terminfo.src is distributed with ncurses. -# Report bugs and new terminal descriptions to -# bug-ncurses@gnu.org -# -# $Revision: 1.268 $ -# $Date: 2005/07/24 00:22:25 $ -# -# The original header is preserved below for reference. It is noted that there -# is a "newer" version which differs in some cosmetic details (but actually -# stopped updates several years ago); we have decided to not change the header -# unless there is also a change in content. -# -#------------------------------------------------------------------------------ -# Version 10.2.1 -# terminfo syntax -# -# Eric S. Raymond (current maintainer) -# John Kunze, Berkeley -# Craig Leres, Berkeley -# -# Please e-mail changes to terminfo@thyrsus.com; the old termcap@berkeley.edu -# address is no longer valid. The latest version can always be found at -# . -# -# PURPOSE OF THIS FILE: -# -# This file describes the capabilities of various character-cell terminals, -# as needed by software such as screen-oriented editors. -# -# Other terminfo and termcap files exist, supported by various OS vendors -# or as relics of various older versions of UNIX. This one is the longest -# and most comprehensive one in existence. It subsumes not only the entirety -# of the historical 4.4BSD, GNU, System V and SCO termcap files and the BRL -# termcap file, but also large numbers of vendor-maintained termcap and -# terminfo entries more complete and carefully tested than those in historical -# termcap/terminfo versions. -# -# Pointers to related resources (including the ncurses distribution) may -# be found at . -# -# INTERNATIONALIZATION: -# -# This file uses only the US-ASCII character set (no ISO8859 characters). -# -# This file assumes a US-ASCII character set. If you need to fix this, start -# by global-replacing \E(B and \E)B with the appropriate ISO 6429 enablers -# for your character set. \E(A and \E)A enables the British character set -# with the pound sign at position 2/3. -# -# In a Japanese-processing environment using EUC/Japanese or Shift-JIS, -# C1 characters are considered the first-byte set of the Japanese encodings, -# so \E)0 should be avoided in and initialization strings. -# -# FILE FORMAT: -# -# The version you are looking at may be in any of three formats: master -# (terminfo with OT capabilities), stock terminfo, or termcap. You can tell -# which by the format given in the header above. -# -# The master format is accepted and generated by the terminfo tools in the -# ncurses suite; it differs from stock (System V-compatible) terminfo only -# in that it admits a group of capabilities (prefixed `OT') equivalent to -# various obsolete termcap capabilities. You can, thus, convert from master -# to stock terminfo simply by filtering with `sed "/OT[^,]*,/s///"'; but if -# you have ncurses `tic -I' is nicer (among other things, it automatically -# outputs entries in a canonical form). -# -# The termcap version is generated automatically from the master version -# using tic -C. This filtering leaves in the OT capabilities under their -# original termcap names. All translated entries fit within the 1023-byte -# string-table limit of archaic termcap libraries except where explicitly -# noted below. Note that the termcap translation assumes that your termcap -# library can handle multiple tc capabilities in an entry. 4.4BSD has this -# capability. Older versions of GNU termcap, through 1.3, do not. -# -# For details on these formats, see terminfo(5) in the ncurses distribution, -# and termcap(5) in the 4.4BSD Unix Programmer's Manual. Be aware that 4.4BSD -# curses has been declared obsolete by the caretakers of the 4.4BSD sources -# as of June 1995; they are encouraging everyone to migrate to ncurses. -# -# Note: unlike some other distributed terminfo files (Novell Unix & SCO's), -# no entry in this file has embedded comments. This is so source translation -# to termcap only has to carry over leading comments. Also, no name field -# contains embedded whitespace (such whitespace confuses rdist). -# -# Further note: older versions of this file were often installed with an editor -# script (reorder) that moved the most common terminal types to the front of -# the file. This should no longer be necessary, as the file is now ordered -# roughly by type frequency with ANSI/VT100 and other common types up front. -# -# Some information has been merged in from terminfo files distributed by -# USL and SCO (see COPYRIGHTS AND OTHER DELUSIONS below). Much information -# comes from vendors who maintain official terminfos for their hardware -# (notably DEC and Wyse). -# -# A detailed change history is included at the end of this file. -# -# FILE ORGANIZATION: -# -# Comments in this file begin with # - they cannot appear in the middle -# of a terminfo/termcap entry (this feature had to be sacrificed in order -# to allow standard terminfo and termcap syntax to be generated cleanly from -# the master format). Individual capabilities are commented out by -# placing a period between the colon and the capability name. -# -# The file is divided up into major sections (headed by lines beginning with -# the string "########") and minor sections (beginning with "####"); do -# -# grep "^####" | more -# -# to see a listing of section headings. The intent of the divisions is -# (a) to make it easier to find things, and (b) to order the database so -# that important and frequently-encountered terminal types are near the -# front (so that you'll get reasonable search efficiency from a linear -# search of the termcap form even if you don't use reorder). Minor sections -# usually correspond to manufacturers or standard terminal classes. -# Parenthesized words following manufacturer names are type prefixes or -# product line names used by that manufacturers. -# -# HOW TO READ THE ENTRIES: -# -# The first name in an entry is the canonical name for the model or -# type, last entry is a verbose description. Others are mnemonic synonyms for -# the terminal. -# -# Terminal names look like - -# The part to the left of the dash, if a dash is present, describes the -# particular hardware of the terminal. The part to the right may be used -# for flags indicating special ROMs, extra memory, particular terminal modes, -# or user preferences. -# -# All names should be in lower case, for consistency in typing. -# -# The following are conventionally used suffixes: -# -2p Has two pages of memory. Likewise 4p, 8p, etc. -# -am Enable auto-margin. -# -m Monochrome. Suppress color support -# -mc Magic-cookie. Some terminals (notably older Wyses) can -# only support one attribute without magic-cookie lossage. -# Their base entry is usually paired with another that -# uses magic cookies to support multiple attributes. -# -nam No auto-margin - suppress capability -# -nl No labels - suppress soft labels -# -ns No status line - suppress status line -# -rv Terminal in reverse video mode (black on white) -# -s Enable status line. -# -vb Use visible bell () rather than . -# -w Wide - in 132 column mode. -# If a name has multiple suffixes and one is a line height, that one should -# go first. Thus `aaa-30-s-rv' is recommended over `aaa-s-rv-30'. -# -# Entries with embedded plus signs are designed to be included through use/tc -# capabilities, not used as standalone entries. -# -# To avoid search clashes, some older all-numeric names for terminals have -# been removed (i.e., "33" for the Model 33 Teletype, "2621" for the HP2621). -# All primary names of terminals now have alphanumeric prefixes. -# -# Comments marked "esr" are mostly results of applying the termcap-compiler -# code packaged with ncurses and contemplating the resulting error messages. -# In many cases, these indicated obvious fixes to syntax garbled by the -# composers. In a few cases, I was able to deduce corrected forms for garbled -# capabilities by looking at context. All the information in the original -# entries is preserved in the comments. -# -# In the comments, terminfo capability names are bracketed with <> (angle -# brackets). Termcap capability names are bracketed with :: (colons). -# -# INTERPRETATION OF USER CAPABILITIES -# -# The System V Release 4 and XPG4 terminfo format defines ten string -# capabilities for use by applications, .... In this file, we use -# certain of these capabilities to describe functions which are not covered -# by terminfo. The mapping is as follows: -# -# u9 terminal enquire string (equiv. to ANSI/ECMA-48 DA) -# u8 terminal answerback description -# u7 cursor position request (equiv. to VT100/ANSI/ECMA-48 DSR 6) -# u6 cursor position report (equiv. to ANSI/ECMA-48 CPR) -# -# The terminal enquire string should elicit an answerback response -# from the terminal. Common values for will be ^E (on older ASCII -# terminals) or \E[c (on newer VT100/ANSI/ECMA-48-compatible terminals). -# -# The cursor position request () string should elicit a cursor position -# report. A typical value (for VT100 terminals) is \E[6n. -# -# The terminal answerback description (u8) must consist of an expected -# answerback string. The string may contain the following scanf(3)-like -# escapes: -# -# %c Accept any character -# %[...] Accept any number of characters in the given set -# -# The cursor position report () string must contain two scanf(3)-style -# %d format elements. The first of these must correspond to the Y coordinate -# and the second to the %d. If the string contains the sequence %i, it is -# taken as an instruction to decrement each value after reading it (this is -# the inverse sense from the cup string). The typical CPR value is -# \E[%i%d;%dR (on VT100/ANSI/ECMA-48-compatible terminals). -# -# These capabilities are used by tack(1m), the terminfo action checker -# (distributed with ncurses 5.0). -# -# TABSET FILES -# -# All the entries in this file have been edited to assume that the tabset -# files directory is /usr/share/tabset, in conformance with the File Hierarchy -# Standard for Linux and open-source BSD systems. Some vendors (notably Sun) -# use /usr/lib/tabset or (more recently) /usr/share/lib/tabset. -# -# No curses package we know of actually uses these files. If their location -# is an issue, you will have to hand-patch the file locations before compiling -# this file. -# -# REQUEST FOR CONTACT INFORMATION AND HISTORICAL MATERIAL -# -# As the ANSI/ECMA-48 standard and variants take firmer hold, and as -# character-cell terminals are increasingly replaced by X displays, much of -# this file is becoming a historical document (this is part of the reason for -# the new organization, which puts ANSI types, xterm, Unix consoles, -# and vt100 up front in confidence that this will catch 95% of new hardware). -# -# For the terminal types still alive, I'd like to have manufacturer's -# contact data (Internet address and/or snail-mail + phone). -# -# I'm also interested in enriching the comments so that the latter portions of -# the file do in fact become a potted history of VDT technology as seen by -# UNIX hackers. Ideally, I'd like the headers for each manufacturer to -# include its live/dead/out-of-the-business status, and for as many -# terminal types as possible to be tagged with information like years -# of heaviest use, popularity, and interesting features. -# -# I'm especially interested in identifying the obscure entries listed under -# `Miscellaneous obsolete terminals, manufacturers unknown' before the tribal -# wisdom about them gets lost. If you know a lot about obscure old terminals, -# please go to the terminfo resource page, grab the UFO file (ufo.ti), and -# eyeball it for things you can identify and describe. -# -# If you have been around long enough to contribute, please read the file -# with this in mind and send me your annotations. -# -# COPYRIGHTS AND OTHER DELUSIONS -# -# The BSD ancestor of this file had a standard Regents of the University of -# California copyright with dates from 1980 to 1993. -# -# Some information has been merged in from a terminfo file SCO distributes. -# It has an obnoxious boilerplate copyright which I'm ignoring because they -# took so much of the content from the ancestral BSD versions of this file -# and didn't attribute it, thereby violating the BSD Regents' copyright. -# -# Not that anyone should care. However many valid functions copyrights may -# serve, putting one on a termcap/terminfo file with hundreds of anonymous -# contributors makes about as much sense as copyrighting a wall-full of -# graffiti -- it's legally dubious, ethically bogus, and patently ridiculous. -# -# This file deliberately has no copyright. It belongs to no one and everyone. -# If you claim you own it, you will merely succeed in looking like a fool. -# Use it as you like. Use it at your own risk. Copy and redistribute freely. -# There are no guarantees anywhere. Svaha! -# - -######## ANSI, UNIX CONSOLE, AND SPECIAL TYPES -# -# This section describes terminal classes and brands that are still -# quite common. -# - -#### Specials -# -# Special "terminals". These are used to label tty lines when you don't -# know what kind of terminal is on it. The characteristics of an unknown -# terminal are the lowest common denominator - they look about like a ti 700. -# - -dumb|80-column dumb tty, - am, - cols#80, - bel=^G, cr=^M, cud1=^J, ind=^J, -unknown|unknown terminal type, - gn, use=dumb, -lpr|printer|line printer, - OTbs, hc, os, - cols#132, lines#66, - bel=^G, cr=^M, cub1=^H, cud1=^J, ff=^L, ind=^J, -glasstty|classic glass tty interpreting ASCII control characters, - OTbs, am, - cols#80, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, ht=^I, kcub1=^H, - kcud1=^J, nel=^M^J, .kbs=^H, - -vanilla|dumb tty, - OTbs, - bel=^G, cr=^M, cud1=^J, ind=^J, - -#### ANSI.SYS/ISO 6429/ECMA-48 Capabilities -# -# See the end-of-file comment for more on these. -# - -# ANSI capabilities are broken up into pieces, so that a terminal -# implementing some ANSI subset can use many of them. -ansi+local1, - cub1=\E[D, cud1=\E[B, cuf1=\E[C, cuu1=\E[A, -ansi+local, - cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC, - cuu=\E[%p1%dA, use=ansi+local1, -ansi+tabs, - cbt=\E[Z, ht=^I, hts=\EH, tbc=\E[2g, -ansi+inittabs, - it#8, use=ansi+tabs, -ansi+erase, - clear=\E[H\E[J, ed=\E[J, el=\E[K, -ansi+rca, - hpa=\E[%p1%{1}%+%dG, vpa=\E[%p1%{1}%+%dd, -ansi+cup, - cup=\E[%i%p1%d;%p2%dH, home=\E[H, -ansi+rep, - rep=%p1%c\E[%p2%{1}%-%db, -ansi+idl1, - dl1=\E[M, il1=\E[L, -ansi+idl, - dl=\E[%p1%dM, il=\E[%p1%dL, use=ansi+idl1, -ansi+idc, - dch1=\E[P, ich=\E[%p1%d@, ich1=\E[@, rmir=\E6, smir=\E6, -ansi+arrows, - kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - khome=\E[H, -ansi+sgr|ansi graphic renditions, - blink=\E[5m, invis=\E[8m, rev=\E[7m, - sgr=\E[0%?%p3%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%;, - sgr0=\E[0m, -ansi+sgrso|ansi standout only, - rmso=\E[m, smso=\E[7m, -ansi+sgrul|ansi underline only, - rmul=\E[m, smul=\E[4m, -ansi+sgrbold|ansi graphic renditions; assuming terminal has bold; not dim, - bold=\E[1m, - sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m, - use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul, -ansi+sgrdim|ansi graphic renditions; assuming terminal has dim; not bold, - dim=\E[2m, - sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p5%t2;%;%?%p7%t8;%;m, - use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul, -ansi+pp|ansi printer port, - mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, -ansi+csr|ansi scroll-region plus cursor save & restore, - csr=\E[%i%p1%d;%p2%dr, rc=\E8, sc=\E7, - -# The IBM PC alternate character set. Plug this into any Intel console entry. -# We use \E[11m for rmacs rather than \E[12m so the string can use the -# ROM graphics for control characters such as the diamond, up- and down-arrow. -# This works with the System V, Linux, and BSDI consoles. It's a safe bet this -# will work with any Intel console, they all seem to have inherited \E[11m -# from the ANSI.SYS de-facto standard. -klone+acs|alternate character set for ansi.sys displays, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - rmacs=\E[10m, smacs=\E[11m, - -# Highlight controls corresponding to the ANSI.SYS standard. Most -# console drivers for Intel boxes obey these. Makes the same assumption -# about \E[11m as klone+acs. True ANSI/ECMA-48 would have , -# , but this isn't a documented feature of ANSI.SYS. -klone+sgr|attribute control for ansi.sys displays, - blink=\E[5m, bold=\E[1m, invis=\E[8m, rev=\E[7m, - rmpch=\E[10m, rmso=\E[m, rmul=\E[m, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, - sgr0=\E[0;10m, smpch=\E[11m, smso=\E[7m, smul=\E[4m, - use=klone+acs, - -# Highlight controls corresponding to the ANSI.SYS standard. *All* -# console drivers for Intel boxes obey these. Does not assume \E[11m will -# work; uses \E[12m instead, which is pretty bulletproof but loses you the ACS -# diamond and arrow characters under curses. -klone+sgr-dumb|attribute control for ansi.sys displays (no ESC [ 11 m), - blink=\E[5m, bold=\E[1m, invis=\E[8m, rev=\E[7m, rmso=\E[m, - rmul=\E[m, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m, - sgr0=\E[0;10m, smacs=\E[12m, smso=\E[7m, smul=\E[4m, - use=klone+acs, - -# KOI8-R (RFC1489) acs (alternate character set) -# From: Qing Long , 24 Feb 1996. -klone+koi8acs|alternate character set for ansi.sys displays with KOI8 charset, - acsc=+\020\,\021-\036.^_0\215`\004a\237f\234g\232h\222i\220j\205k\203l\202m\204n\212o\213p\216q\0r\217s\214t\206u\207v\210w\211x\201y\230z\231{\267|\274}L~\225, - rmacs=\E[10m, smacs=\E[11m, - -# ANSI.SYS color control. The setab/setaf caps depend on the coincidence -# between SVr4/XPG4's color numbers and ANSI.SYS attributes. Here are longer -# but equivalent strings that don't rely on that coincidence: -# setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, -# setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, -# The DOS 5 manual asserts that these sequences meet the ISO 6429 standard. -# They match a subset of ECMA-48. -klone+color|color control for ansi.sys and ISO6429-compatible displays, - colors#8, ncv#3, pairs#64, - op=\E[37;40m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - -# This is better than klone+color, it doesn't assume white-on-black as the -# default color pair, but many `ANSI' terminals don't grok the cap. -ecma+color|color control for ECMA-48-compatible terminals, - AX, - colors#8, ncv#3, pairs#64, - op=\E[39;49m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - -# Attribute control for ECMA-48-compatible terminals -ecma+sgr|attribute capabilities for true ECMA-48 terminals, - rmso=\E[27m, rmul=\E[24m, use=klone+sgr, - -# For comparison, here are all the capabilities implied by the Intel -# Binary Compatibility Standard (level 2) that fit within terminfo. -# For more detail on this rather pathetic standard, see the comments -# near the end of this file. -ibcs2|Intel Binary Compatibility Standard prescriptions, - cbt=\E[Z, clear=\Ec, cub=\E[%p1%dD, cud=\E[%p1%dB, - cuf=\E[%p1%dC, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - dch=\E[%p1%dP, dispc=\E=%p1%dg, ech=\E[%p1%dX, - hpa=\E[%i%p1%dG, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, - indn=\E[%p1%dS, rc=\E7, rin=\E[%p1%dT, rmam=\E[?7l, sc=\E7, - smam=\E[?7h, tbc=\E[g, vpa=\E[%i%p1%dd, - -#### ANSI/ECMA-48 terminals and terminal emulators -# -# See near the end of this file for details on ANSI conformance. -# Don't mess with these entries! Lots of other entries depend on them! -# -# This section lists entries in a least-capable to most-capable order. -# if you're in doubt about what `ANSI' matches yours, try them in that -# order and back off from the first that breaks. - -# ansi-mr is for ANSI terminals with ONLY relative cursor addressing -# and more than one page of memory. It uses local motions instead of -# direct cursor addressing, and makes almost no assumptions. It does -# assume auto margins, no padding and/or xon/xoff, and a 24x80 screen. -ansi-mr|mem rel cup ansi, - am, xon, - cols#80, lines#24, use=vanilla, use=ansi+erase, - use=ansi+local1, - -# ansi-mini is a bare minimum ANSI terminal. This should work on anything, but -# beware of screen size problems and memory relative cursor addressing. -ansi-mini|any ansi terminal with pessimistic assumptions, - am, xon, - cols#80, lines#24, use=vanilla, use=ansi+cup, - use=ansi+erase, - -# ansi-mtabs adds relative addressing and minimal tab support -ansi-mtabs|any ansi terminal with pessimistic assumptions, - it#8, - ht=^I, use=ansi+local1, use=ansi-mini, - -# ANSI X3.64 from emory!mlhhh (Hugh Hansard) via BRL -# -# The following is an entry for the full ANSI 3.64 (1977). It lacks -# padding, but most terminals using the standard are "fast" enough -# not to require any -- even at 9600 bps. If you encounter problems, -# try including the padding specifications. -# -# Note: the :as: and :ae: specifications are not implemented here, for -# the available termcap documentation does not make clear WHICH alternate -# character set to specify. ANSI 3.64 seems to make allowances for several. -# Please make the appropriate adjustments to fit your needs -- that is -# if you will be using alternate character sets. -# -# There are very few terminals running the full ANSI 3.64 standard, -# so I could only test this entry on one verified terminal (Visual 102). -# I would appreciate the results on other terminals sent to me. -# -# Please report comments, changes, and problems to: -# -# U.S. MAIL: Hugh Hansard -# Box: 22830 -# Emory University -# Atlanta, GA. 30322. -# -# USENET {akgua,msdc,sb1,sb6,gatech}!emory!mlhhh. -# -# (Added vt100 , to quiet a tic warning --esr) -ansi77|ansi 3.64 standard 1977 version, - OTbs, am, mir, - cols#80, it#8, lines#24, - bel=^G, clear=\E[;H\E[2J, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, dch1=\E[P, dl1=\E[M$<5*/>, ed=\E[J, el=\E[K, - home=\E[H, ht=^I, il1=\E[L$<5*/>, ind=\ED, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, - kf2=\EOR, kf4=\EOS, khome=\E[H, nel=^M\ED, rc=\E8, ri=\EM, - rmir=\E[4l, rmso=\E[m, rmul=\E[m, sc=\E7, smir=\E[4h, - smso=\E[7m, smul=\E[4m, - -# Procomm and some other ANSI emulations don't recognize all of the ANSI- -# standard capabilities. This entry deletes , , , , and -# / capabilities, forcing curses to use repetitions of , -# , and . Also deleted and , as QModem up to -# 5.03 doesn't recognize these. Finally, we delete and , which seem -# to confuse many emulators. On the other hand, we can count on these programs -# doing //. Older versions of this entry featured -# , but now seems to be more common under -# ANSI.SYS influence. -# From: Eric S. Raymond Oct 30 1995 -pcansi-m|pcansi-mono|ibm-pc terminal programs claiming to be ansi (mono mode), - OTbs, am, mir, msgr, - cols#80, it#8, lines#24, - bel=^G, cbt=\E[Z, clear=\E[H\E[J, cr=^M, cub1=\E[D, - cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, - hts=\EH, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, tbc=\E[2g, - use=klone+sgr-dumb, -pcansi-25-m|pcansi25m|ibm-pc terminal programs with 25 lines (mono mode), - lines#25, use=pcansi-m, -pcansi-33-m|pcansi33m|ibm-pc terminal programs with 33 lines (mono mode), - lines#33, use=pcansi-m, -pcansi-43-m|ansi43m|ibm-pc terminal programs with 43 lines (mono mode), - lines#43, use=pcansi-m, -# The color versions. All PC emulators do color... -pcansi|ibm-pc terminal programs claiming to be ansi, - use=klone+color, use=pcansi-m, -pcansi-25|pcansi25|ibm-pc terminal programs with 25 lines, - lines#25, use=pcansi, -pcansi-33|pcansi33|ibm-pc terminal programs with 33 lines, - lines#33, use=pcansi, -pcansi-43|pcansi43|ibm-pc terminal programs with 43 lines, - lines#43, use=pcansi, - -# ansi-m -- full ANSI X3.64 with ANSI.SYS-compatible attributes, no color. -# If you want pound signs rather than dollars, replace `B' with `A' -# in the , , , and capabilities. -# From: Eric S. Raymond Nov 6 1995 -ansi-m|ansi-mono|ANSI X3.64-1979 terminal with ANSI.SYS compatible attributes, - mc5i, - cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC, - cuu=\E[%p1%dA, dch=\E[%p1%dP, dl=\E[%p1%dM, - ech=\E[%p1%dX, el1=\E[1K, hpa=\E[%i%p1%dG, ht=\E[I, - ich=\E[%p1%d@, il=\E[%p1%dL, indn=\E[%p1%dS, kbs=^H, - kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kich1=\E[L, mc4=\E[4i, mc5=\E[5i, nel=\r\E[S, - rep=%p1%c\E[%p2%{1}%-%db, rin=\E[%p1%dT, s0ds=\E(B, - s1ds=\E)B, s2ds=\E*B, s3ds=\E+B, tbc=\E[2g, - vpa=\E[%i%p1%dd, use=pcansi-m, - -# ansi -- this terminfo expresses the largest subset of X3.64 that will fit in -# standard terminfo. Assumes ANSI.SYS-compatible attributes and color. -# From: Eric S. Raymond Nov 6 1995 -ansi|ansi/pc-term compatible with color, - u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?%[;0123456789]c, - u9=\E[c, use=ecma+color, use=klone+sgr, use=ansi-m, - -# ansi-generic is a vanilla ANSI terminal. This is assumed to implement -# all the normal ANSI stuff with no extensions. It assumes -# insert/delete line/char is there, so it won't work with -# vt100 clones. It assumes video attributes for bold, blink, -# underline, and reverse, which won't matter much if the terminal -# can't do some of those. Padding is assumed to be zero, which -# shouldn't hurt since xon/xoff is assumed. -ansi-generic|generic ansi standard terminal, - am, xon, - cols#80, lines#24, use=vanilla, use=ansi+csr, use=ansi+cup, - use=ansi+rca, use=ansi+erase, use=ansi+tabs, - use=ansi+local, use=ansi+idc, use=ansi+idl, use=ansi+rep, - use=ansi+sgrbold, use=ansi+arrows, - -#### DOS ANSI.SYS variants -# -# This completely describes the sequences specified in the DOS 2.1 ANSI.SYS -# documentation (except for the keyboard key reassignment feature, which -# doesn't fit the model well). The klone+acs sequences were valid -# though undocumented. The capability is untested but should work for -# keys F1-F10 (%p1 values outside this range will yield unpredictable results). -# From: Eric S. Raymond Nov 7 1995 -ansi.sys-old|ANSI.SYS under PC-DOS 2.1, - OTbs, am, mir, msgr, xon, - cols#80, lines#25, - clear=\E[2J, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[k, home=\E[H, - is2=\E[m\E[?7h, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, - khome=^^, pfkey=\E[0;%p1%{58}%+%d;%p2"%s", rc=\E[u, - rmam=\E[?7l, sc=\E[s, smam=\E[?7h, u6=\E[%i%d;%dR, - u7=\E[6n, use=klone+color, use=klone+sgr, -ansi.sys|ANSI.SYS 3.1 and later versions, - el=\E[K, use=ansi.sys-old, - -# -# Define IBM PC keypad keys for vi as per MS-Kermit while using ANSI.SYS. -# This should only be used when the terminal emulator cannot redefine the keys. -# Since redefining keys with ansi.sys also affects PC-DOS programs, the key -# definitions must be restored. If the terminal emulator is quit while in vi -# or others using /, the keypad will not be defined as per PC-DOS. -# The PgUp and PgDn are prefixed with ESC so that tn3270 can be used on Unix -# (^U and ^D are already defined for tn3270). The ESC is safe for vi but it -# does "beep". ESC ESC i is used for Ins to avoid tn3270 ESC i for coltab. -# Note that is always BS, because PC-dos can tolerate this change. -# Caution: vi is limited to 256 string bytes, longer crashes or weirds out vi. -# Consequently the End keypad key could not be set (it is relatively safe and -# actually useful because it sends ^@ O, which beeps and opens a line above). -ansi.sysk|ansisysk|PC-DOS 3.1 ANSI.SYS with keypad redefined for vi, - is2=U2 PC-DOS 3.1 ANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p, - rmkx=\E[;71;0;71p\E[;72;0;72p\E[;73;0;73p\E[;77;0;77p\E[;80;0;80p\E[;81;0;81p\E[;82;0;82p\E[;83;0;83p, - smkx=\E[;71;30p\E[;72;11p\E[;73;27;21p\E[;77;12p\E[;80;10p\E[;81;27;4p\E[;82;27;27;105p\E[;83;127p, - use=ansi.sys, -# -# Adds ins/del line/character, hence vi reverse scrolls/inserts/deletes nicer. -nansi.sys|nansisys|PC-DOS Public Domain NANSI.SYS, - dch1=\E[1P, dl1=\E[1M, ich1=\E[1@, il1=\E[1L, - is2=U3 PC-DOS Public Domain NANSI.SYS 9-23-86\n, - use=ansi.sys, -# -# See ansi.sysk and nansi.sys above. -nansi.sysk|nansisysk|PC-DOS Public Domain NANSI.SYS with keypad redefined for vi, - dch1=\E[1P, dl1=\E[1M, ich1=\E[1@, il1=\E[1L, - is2=U4 PC-DOS Public Domain NANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p, - use=ansi.sysk, - -#### ANSI console types -# - -#### BeOS -# -# BeOS entry for Terminal program Seems to be almost ANSI -beterm|BeOS Terminal, - am, eo, mir, msgr, xenl, xon, - colors#8, cols#80, it#8, lines#25, ncv#5, pairs#64, - bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, - hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, - il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, - kend=\E[4~, kf1=\E[11~, kf10=\E[20~, kf11=\E[21~, - kf12=\E[22~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, - kf5=\E[15~, kf6=\E[16~, kf7=\E[17~, kf8=\E[18~, kf9=\E[19~, - khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kspd=^Z, - nel=^M^J, op=\E[m, rc=\E8, rev=\E[7m, ri=\EM, rmir=\E[4l, - rmkx=\E[?4l, rmso=\E[m, rmul=\E[24m, rs1=\Ec, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - setb=\E[%p1%{40}%+%cm, setf=\E[%p1%{30}%+%cm, - sgr0=\E[0;10m, smir=\E[4h, smkx=\E[?4h, smso=\E[7m, - smul=\E[4m, u6=\E[%i%p1%d;%p2%dR, u7=\E[6n, - vpa=\E[%i%p1%dd, - -#### Linux consoles -# - -# This entry is good for the 1.2.13 or later version of the Linux console. -# -# *************************************************************************** -# * * -# * WARNING: * -# * Linuxes come with a default keyboard mapping kcbt=^I. This entry, in * -# * response to user requests, assumes kcbt=\E[Z, the ANSI/ECMA reverse-tab * -# * character. Here are the keymap replacement lines that will set this up: * -# * * -# keycode 15 = Tab Tab -# alt keycode 15 = Meta_Tab -# shift keycode 15 = F26 -# string F26 ="\033[Z" -# * * -# * This has to use a key slot which is unfortunate (any unused one will * -# * do, F26 is the higher-numbered one). The change ought to be built * -# * into the kernel tables. * -# * * -# *************************************************************************** -# -# This entry is good for the 1.2.13 or later version of the Linux console. -# -# *************************************************************************** -# * * -# * WARNING: * -# * Linuxes come with a default keyboard mapping kcbt=^I. This entry, in * -# * response to user requests, assumes kcbt=\E[Z, the ANSI/ECMA reverse-tab * -# * character. Here are the keymap replacement lines that will set this up: * -# * * -# keycode 15 = Tab Tab -# alt keycode 15 = Meta_Tab -# shift keycode 15 = F26 -# string F26 ="\033[Z" -# * * -# * This has to use a key slot which is unfortunate (any unused one will * -# * do, F26 is the higher-numbered one). The change ought to be built * -# * into the kernel tables. * -# * * -# *************************************************************************** -# -# All linux kernels since 1.2.13 (at least) set the screen size -# themselves; this entry assumes that capability. -# -linux-basic|linux console, - am, bce, eo, mir, msgr, xenl, xon, - it#8, ncv#18, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - bel=^G, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, - el1=\E[1K, flash=\E[?5h\E[?5l$<200/>, home=\E[H, - hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, - il=\E[%p1%dL, il1=\E[L, ind=^J, kb2=\E[G, kbs=\177, - kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, - kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, - kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D, - kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - kspd=^Z, nel=^M^J, rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l, - rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R, sc=\E7, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, - smam=\E[?7h, smir=\E[4h, smul=\E[4m, tbc=\E[3g, - u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, u9=\E[c, - vpa=\E[%i%p1%dd, use=klone+sgr, use=ecma+color, - -linux-m|Linux console no color, - colors@, pairs@, - setab@, setaf@, setb@, setf@, use=linux, - -# The 1.3.x kernels add color-change capabilities; if yours doesn't have this -# and it matters, turn off . The %02x escape used to implement this is -# not supposedly back-portable to older SV curses (although it has worked fine -# on Solaris for several years) and not supported in ncurses versions before -# 1.9.9. -linux-c-nc|linux console with color-change, - ccc, - initc=\E]P%p1%x%p2%{256}%*%{1000}%/%02x%p3%{256}%*%{1000}%/%02x%p4%{256}%*%{1000}%/%02x, - oc=\E]R, use=linux-basic, -# From: Dennis Henriksen , 9 July 1996 -linux-c|linux console 1.3.6+ for older ncurses, - ccc, - initc=\E]P%?%p1%{9}%>%t%p1%{10}%-%'a'%+%c%e%p1%d%;%p2%{256}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%p3%{256}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%p4%{256}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;, - oc=\E]R, use=linux-basic, - -# The 2.2.x kernels add a private mode that sets the cursor type; use that to -# get a block cursor for cvvis. -# reported by Frank Heckenbach . -linux|linux console, - civis=\E[?25l\E[?1c, cnorm=\E[?25h\E[?0c, - cvvis=\E[?25h\E[?8c, use=linux-c-nc, - -# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file -linux-nic|linux with ich/ich1 suppressed for non-curses programs, - ich@, ich1@, use=linux, - -# This assumes you have used setfont(8) to load one of the Linux koi8-r fonts. -# acsc entry from Pavel Roskin" , 29 Sep 1997. -linux-koi8|linux with koi8 alternate character set, - acsc=+\020\,\021-\030.^Y0\215`\004a\221f\234g\237h\220i\276j\205k\203l\202m\204n\212o~p\0q\0r\0s_t\206u\207v\211w\210x\201y\230z\231{\267|\274~\224, - use=linux, use=klone+koi8acs, - -# Another entry for KOI8-r with Qing Long's acsc. -# (which one better complies with the standard?) -linux-koi8r|linux with koi8-r alternate character set, - use=linux, use=klone+koi8acs, - -# Entry for the latin1 and latin2 fonts -linux-lat|linux with latin1 or latin2 alternate character set, - acsc=+\020\,\021-\030.^Y0\333`\004a\013f\370g\361h\260i\316j\211k\214l\206m\203n\305o~p\304q\212r\304s_t\207u\215v\301w\302x\205y\363z\362{\343|\330}\234~\376, - use=linux, - -# This uses graphics from VT codeset instead of from cp437. -# reason: cp437 (aka "straight to font") is not functional under luit. -# from: Andrey V Lukyanov . -linux-vt|linux console using VT codes for graphics, - acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~, - rmacs=\E(K, rmpch@, sgr@, sgr0=\E[0m\E(K\017, smacs=\E(0, - smpch@, use=linux, - -#### Mach -# - -# From: Matthew Vernon -mach|Mach Console, - am, km, - cols#80, it#8, lines#25, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\Ec, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, home=\E[H, ht=^I, il=\E[%p1%dL, il1=\E[L, ind=^J, - kbs=\177, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[9, kend=\E[Y, kf1=\EOP, kf10=\EOY, kf2=\EOQ, - kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, - kf9=\EOX, khome=\E[H, kich1=\E[@, kll=\E[F, knp=\E[U, - kpp=\E[V, rev=\E[7m, rmso=\E[0m, rmul=\E[24m, sgr0=\E[0m, - smso=\E[7m, smul=\E[4m, -mach-bold|Mach Console with bold instead of underline, - rmul=\E[0m, smul=\E[1m, use=mach, -mach-color|Mach Console with ANSI color, - colors#8, pairs#64, - dim=\E[2m, invis=\E[8m, op=\E[37;40m, rmso=\E[27m, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=mach, - -# From: Marcus Brinkmann -# http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/hurd/hurd/console/ -# -# Comments in the original are summarized here: -# -# hurd uses 8-bit characters (km). -# -# Although it doesn't do XON/XOFF, we don't want padding characters (xon). -# -# Regarding compatibility to vt100: hurd doesn't specify , as we don't -# have the eat_newline_glitch. It doesn't support setting or removing tab -# stops (hts/tbc). -# -# hurd uses ^H instead of \E[D for cub1, as only ^H implements and it is -# one byte instead three. -# -# is not included because hurd has insert mode. -# -# hurd doesn't use ^J for scrolling, because this could put things into the -# scrollback buffer. -# -# gsbom/grbom are used to enable/disable real bold (not intensity bright) mode. -# This is a GNU extension. -# -# The original has commented-out ncv, but is restored here. -# -# Reading the source, RIS resets cnorm, but not xmous. -hurd|The GNU Hurd console server, - am, bce, bw, eo, km, mir, msgr, xon, - colors#8, it#8, ncv#18, pairs#64, - acsc=++\,\,--..00ii``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\Ec, cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[34l, dch=\E[%p1%dP, - dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, flash=\Eg, - home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=\E[S, indn=\E[%p1%dS, - invis=\E[8m, kb2=\E[G, kbs=\177, kcbt=\E[Z, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, - kend=\E[4~, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[15~, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - kspd=^Z, nel=^M^J, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\E[T, - rin=\E[%p1%dT, ritm=\E[23m, rmacs=\E[10m, rmir=\E[4l, - rmso=\E[27m, rmul=\E[24m, rs1=\EM\E[?1000l, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, - sgr0=\E[0m, sitm=\E[3m, smacs=\E[11m, smir=\E[4h, - smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd, grbom=\E[>1l, - gsbom=\E[>1h, - -#### OSF Unix -# - -# OSF/1 1.1 Snapshot 2 -pmcons|pmconsole|PMAX console, - am, - cols#128, lines#57, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuu1=^K, ht=^I, - ind=^J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, - -# SCO console and SOS-Syscons console for 386bsd -# (scoansi: had unknown capabilities -# :Gc=N:Gd=K:Gh=M:Gl=L:Gu=J:Gv=\072:\ -# :GC=E:GD=B:GH=D:GL=\64:GU=A:GV=\63:GR=C: -# :G1=?:G2=Z:G3=@:G4=Y:G5=;:G6=I:G7=H:G8=<:\ -# :CW=\E[M:NU=\E[N:RF=\E[O:RC=\E[P:\ -# :WL=\E[S:WR=\E[T:CL=\E[U:CR=\E[V:\ -# I renamed GS/GE/HM/EN/PU/PD/RT and added klone+sgr-dumb, based -# on the =\E[12m -- esr) -# -# klone+sgr-dumb is an error since the acsc does not match -TD -# -# In this description based on SCO's keyboard(HW) manpage list of default -# function key values: -# F13-F24 are shifted F1-F12 -# F25-F36 are control F1-F12 -# F37-F48 are shift+control F1-F12 -# -# hpa/vpa work in the console, but not in scoterm: -# hpa=\E[%p1%dG, -# vpa=\E[%p1%dd, -# -# SCO's terminfo uses -# kLFT=\E[d, -# kRIT=\E[c, -# which do not work (console or scoterm). -# -# Console documents only 3 attributes can be set with SGR (so we don't use sgr). -scoansi-old|SCO Extended ANSI standard crt (5.0.5), - OTbs, am, bce, eo, xon, - colors#8, cols#80, it#8, lines#25, pairs#64, - acsc=-\230.\231\,.+/0[5566778899\:\:;;<<==>>FFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`\204a0fxgqh2jYk?lZm@nEqDtCu4vAwBx3yszr{c}\034~\207, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, - civis=\E[=14;12C, clear=\E[H\E[2J, cnorm=\E[=10;12C, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[=0;12C, dch=\E[%p1%dP, - dch1=\E[P, dispc=\E[=%p1%dg, dl=\E[%p1%dM, dl1=\E[M, - ed=\E[m\E[J, el=\E[m\E[K, el1=\E[1K, home=\E[H, ht=^I, - hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, - ind=\E[S, indn=\E[%p1%dS, invis=\E[8m, kbeg=\E[E, kbs=^H, - kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W, - kf12=\E[X, kf13=\E[Y, kf15=\E[a, kf16=\E[b, kf17=\E[c, - kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g, - kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l, - kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p, - kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u, - kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P, - kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[], - kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q, - kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, - kich1=\E[L, knp=\E[G, kpp=\E[I, op=\E[0;37;40m, rc=\E8, - rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, rmacs=\E[10m, - rmam=\E[?7l, rmso=\E[m, rmul=\E[m, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0;10m, - smacs=\E[12m, smam=\E[?7h, smso=\E[7m, smul=\E[4m, -scoansi-new|SCO Extended ANSI standard crt (5.0.6), - km, - civis=\E[=0c, cnorm=\E[=1c, csr=\E[%i%p1%d;%p2%dr, - cvvis=\E[=2c, mgc=\E[=r, oc=\E[51m, op=\E[50m, - rep=\E[%p1%d;%p2%db, rmm=\E[=11L, - sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m, - smgb=\E[=1;0m, smgbp=\E[=1;%i%p1%dm, - smglp=\E[=2;%i%p1%dm, smgr=\E[=3;0m, - smgrp=\E[=3;%i%p1%dm, smgt=\E[=0;0m, - smgtp=\E[=0;%i%p1%dm, smm=\E[=10L, - wind=\E[%i%p1%d;%p2%d;%i%p3%d;%p4%dr, - use=scoansi-old, -# make this easy to change... -scoansi|SCO Extended ANSI standard crt, - use=scoansi-old, - -# This actually describes the generic SVr4 display driver for Intel boxes. -# The isn't documented and therefore may not be reliable. -# From: Eric Raymond Mon Nov 27 19:00:53 EST 1995 -att6386|at386|386at|AT&T WGS 6386 console, - am, bw, eo, xon, - cols#80, it#8, lines#25, - acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[=C, - clear=\E[2J\E[H, cnorm=\E[=1C, cr=^M, cub=\E[%p1%dD, - cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[1M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, - home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, - ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, ind=\E[S, - indn=\E[%p1%dS, invis=\E[9m, is2=\E[0;10;39m, kbs=^H, - kcbt=^], kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[P, kend=\E[Y, kf1=\EOP, kf10=\EOY, kf11=\EOZ, - kf12=\EOA, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, - kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kich1=\E[@, - knp=\E[U, kpp=\E[V, krmir=\E0, nel=\r\E[S, rc=\E8, rev=\E[7m, - ri=\E[T, rin=\E[%p1%dT, rmacs=\E[10m, rmso=\E[m, rmul=\E[m, - sc=\E7, - sgr=\E[10m\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p9%t;12%e;10%;%?%p7%t;9%;m, - sgr0=\E[0;10m, smacs=\E[12m, smso=\E[7m, smul=\E[4m, - tbc=\E[2g, vpa=\E[%i%p1%dd, use=klone+color, -# (pc6300plus: removed ":KM=/usr/lib/ua/kmap.s5:"; renamed BO/EE/CI/CV -- esr) -pc6300plus|AT&T 6300 plus, - OTbs, am, xon, - cols#80, lines#24, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[=C, - clear=\E[2J\E[H, cnorm=\E[=1C, cr=^M, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, - dch1=\E[1P, dim=\E[2m, dl1=\E[1M, ed=\E[0J, el=\E[0K, - home=\E[H, hts=\EH, ich1=\E[1@, il1=\E[1L, ind=^J, - invis=\E[9m, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf1=\EOc, kf10=\EOu, kf2=\EOd, kf3=\EOe, - kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\EOk, - nel=^M^J, rev=\E[7m, rmso=\E[m, rmul=\E[m, sgr0=\E[m, - smso=\E[7m, smul=\E[4m, tbc=\E[3g, - -# From: Benjamin C. W. Sittler -# -# I have a UNIX PC which I use as a terminal attached to my Linux PC. -# Unfortunately, the UNIX PC terminfo entry that comes with ncurses -# is broken. All the special key sequences are broken, making it unusable -# with Emacs. The problem stems from the following: -# -# The UNIX PC has a plethora of keys (103 of them, and there's no numeric -# keypad!), loadable fonts, and strange highlighting modes ("dithered" -# half-intensity, "smeared" bold, and real strike-out, for example.) It also -# uses resizable terminal windows, but the bundled terminal program always -# uses an 80x24 window (and doesn't support seem to support a 132-column -# mode.) -# -# HISTORY: The UNIX PC was one of the first machines with a GUI, and used a -# library which was a superset of SVr3.5 curses (called tam, for "terminal -# access method".) tam includes support for real, overlapping windows, -# onscreen function key labels, and bitmap graphics. But since the primary -# user interface on the UNIX PC was a GUI program (ua, for "user -# assistant",) and remote administration was considered important for the -# machine, tam also supported VT100-compatible terminals attached to the -# serial port or used across the StarLan network. To simulate the extra keys -# not present on a VT100, users could press ESC and a two-letter sequence, -# such as u d (Undo) or U D (Shift-Undo.) These two-letter sequences, -# however, were not the same as those sent by the actual Undo key. The -# actual Undo key sends ESC 0 s unshifted, and ESC 0 S shifted, for example. -# (If you're interested in adding some of the tam calls to ncurses, btw, I -# have the full documentation and several programs which use tam. It also -# used an extended terminfo format to describe key sequences, special -# highlighting modes, etc.) -# -# KEYS: This means that ncurses would quite painful on the UNIX PC, since -# there are two sequences for every key-modifier combination (local keyboard -# sequence and remote "VT100" sequence.) But I doubt many people are trying -# to use ncurses on the UNIX PC, since ncurses doesn't properly handle the -# GUI. Unfortunately, the terminfo entry (and the termcap, too, I presume) -# seem to have been built from the manual describing the VT100 sequences. -# This means it doesn't work for a real live UNIX PC. -# -# FONTS: The UNIX PC also has a strange interpretation of "alternate -# character set". Rather than the VT100 graphics you might expect, it allows -# up to 8 custom fonts to be loaded at any given time. This means that -# programs expecting VT100 graphics will usually be disappointed. For this -# reason I have disabled the smacs/rmacs sequences, but they could easily be -# re-enabled. Here are the relevant control sequences (from the ESCAPE(7) -# manpage), should you wish to do so: -# -# SGR10 - Select font 0 - ESC [ 10 m or SO -# SGR11 - Select font 1 - ESC [ 11 m or SI -# SGR12 - Select font 2 - ESC [ 12 m -# ... (etc.) -# SGR17 - Select font 7 - ESC [ 17 m -# -# Graphics for line drawing are not reliably found at *any* character -# location because the UNIX PC has dynamically reloadable fonts. I use font -# 0 for regular text and font 1 for italics, but this is by no means -# universal. So ASCII line drawing is in order if smacs/rmacs are enabled. -# -# MISC: The cursor visible/cursor invisible sequences were swapped in the -# distributed terminfo. -# -# To ameliorate these problems (and fix a few highlighting bugs) I rewrote -# the UNIX PC terminfo entry. The modified version works great with Lynx, -# Emacs, and XEmacs running on my Linux PC and displaying on the UNIX PC -# attached by serial cable. In Emacs, even the Undo key works, and many -# applications can now use the F1-F8 keys. -# -# esr's notes: -# Terminfo entry for the AT&T Unix PC 7300 -# from escape(7) in Unix PC 7300 Manual. -# Somewhat similar to a vt100-am (but different enough -# to redo this from scratch.) -# -# /*************************************************************** -# * -# * FONT LOADING PROGRAM FOR THE UNIX PC -# * -# * This routine loads a font defined in the file ALTFONT -# * into font memory slot #1. Once the font has been loaded, -# * it can be used as an alternative character set. -# * -# * The call to ioctl with the argument WIOCLFONT is the key -# * to this routine. For more information, see window(7) in -# * the PC 7300 documentation. -# ***************************************************************/ -# #include /* needed for strcpy call */ -# #include /* needed for ioctl call */ -# #define FNSIZE 60 /* font name size */ -# #define ALTFONT "/usr/lib/wfont/special.8.ft" /* font file */ -# /* -# * The file /usr/lib/wfont/special.8.ft comes with the -# * standard PC software. It defines a graphics character set -# * similar to that of the Teletype 5425 terminal. To view -# * this or other fonts in /usr/lib/wfont, use the command -# * cfont . For further information on fonts see -# * cfont(1) in the PC 7300 documentation. -# */ -# -# struct altfdata /* structure for alt font data */ -# { -# short altf_slot; /* memory slot number */ -# char altf_name[FNSIZE]; /* font name (file name) */ -# }; -# ldfont() -# { -# int wd; /* window in which altfont will be */ -# struct altfdata altf; -# altf.altf_slot=1; -# strcpy(altf.altf_name,ALTFONT); -# for (wd =1; wd < 12; wd++) { -# ioctl(wd, WIOCLFONT,&altf); -# } -# } -# -# (att7300: added /// from the BSDI entry, -# they're confirmed by the man page for the System V display---esr) -# -att7300|unixpc|pc7300|3b1|s4|AT&T UNIX PC Model 7300, - am, xon, - cols#80, it#8, lines#24, - bel=^G, blink=\E[9m, bold=\E[1m, cbt=\E^I, civis=\E[=1C, - clear=\E[2J\E[H, cnorm=\E[=0C, cr=^M, cub=\E[%p1%dD, - cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, - ed=\E[0J, el=\E[0K, home=\E[H, ich1=\E[@, il=\E[%p1%dL, - il1=\E[L, ind=^J, invis=\E[9m, is1=\017\E[=1w, kBEG=\ENB, - kCAN=\EOW, kCPY=\END, kCRT=\EON, kDC=\ENF, kDL=\ENE, - kEND=\ENN, kEOL=\EOA, kFND=\EOX, kHLP=\EOM, kHOM=\ENM, - kIC=\ENJ, kLFT=\ENK, kMOV=\ENC, kNXT=\ENH, kOPT=\EOR, - kPRV=\ENG, kRDO=\EOT, kRIT=\ENL, kRPL=\EOY, kSAV=\EOO, - kUND=\EOS, kbeg=\ENb, kbs=^H, kcan=\EOw, kcbt=\E[Z, - kclo=\EOV, kclr=\E[J, kcmd=\EOu, kcpy=\ENd, kcrt=\EOn, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\ENf, - ked=\E[J, kel=\EOa, kend=\E0, kext=\EOk, kf1=\EOc, kf2=\EOd, - kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, - kfnd=\EOx, khlp=\EOm, khome=\E[H, kich1=\ENj, kind=\E[B, - kmov=\ENc, kmrk=\ENi, knp=\E[U, knxt=\ENh, kopn=\EOv, - kopt=\EOr, kpp=\E[V, kprt=\EOz, kprv=\ENg, krdo=\EOt, - kref=\EOb, krfr=\ENa, kri=\E[A, krpl=\EOy, krst=\EOB, - ksav=\EOo, kslt=\ENI, kund=\EOs, nel=\EE, rev=\E[7m, ri=\EM, - rmso=\E[m, rmul=\E[m, sgr0=\E[0;10m, smso=\E[7m, - smul=\E[4m, - -# Sent by Stefan Stapelberg , 24 Feb 1997, this is -# from SGI's terminfo database. SGI's entry shows F9-F12 with the codes -# for the application keypad mode. We have added iris-ansi-ap rather than -# change the original to keypad mode. -# -# (iris-ansi: added rmam/smam based on init string -- esr) -# -# This entry, and those derived from it, is used in xwsh (also known as -# winterm). Some capabilities that do not fit into the terminfo model -# include the shift- and control-functionkeys: -# -# F1-F12 generate different codes when shift or control modifiers are used. -# For example: -# F1 \E[001q -# shift F1 \E[013q -# control-F1 \E[025q -# -# In application keypad mode, F9-F12 generate codes like vt100 PF1-PF4, i.e., -# \EOP to \EOS. The shifted and control modifiers still do the same thing. -# -# The cursor keys also have different codes: -# control-up \E[162q -# control-down \E[165q -# control-left \E[159q -# control-right \E[168q -# -# shift-up \E[161q -# shift-down \E[164q -# shift-left \E[158q -# shift-right \E[167q -# -# control-tab \[072q -# -iris-ansi|iris-ansi-net|IRIS emulating 40 line ANSI terminal (almost VT100), - am, - cols#80, it#8, lines#40, - bel=^G, bold=\E[1m, clear=\E[H\E[2J, - cnorm=\E[9/y\E[12/y\E[=6l, cr=^M, cub=\E[%p1%dD, - cub1=\E[D, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, cvvis=\E[10/y\E[=1h\E[=2l\E[=6h, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=\ED, - is2=\E[?1l\E>\E[?7h\E[100g\E[0m\E7\E[r\E8, kDC=\E[P, - kEND=\E[147q, kHOM=\E[143q, kLFT=\E[158q, kPRT=\E[210q, - kRIT=\E[167q, kSPD=\E[218q, kbs=^H, kcbt=\E[Z, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, - kend=\E[146q, kent=^M, kf1=\E[001q, kf10=\E[010q, - kf11=\E[011q, kf12=\E[012q, kf2=\E[002q, kf3=\E[003q, - kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, - kf8=\E[008q, kf9=\E[009q, khome=\E[H, kich1=\E[139q, - knp=\E[154q, kpp=\E[150q, kprt=\E[209q, krmir=\E[146q, - kspd=\E[217q, nel=\EE, pfkey=\EP101;%p1%d.y%p2%s\E\\, - rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l, rmso=\E[m, rmul=\E[m, - sc=\E7, sgr0=\E[m, smam=\E[?7h, smso=\E[1;7m, smul=\E[4m, - tbc=\E[3g, -iris-ansi-ap|IRIS ANSI in application-keypad mode, - is2=\E[?1l\E=\E[?7h, kent=\EOM, kf10=\E[010q, - kf11=\E[011q, kf12=\E[012q, kf9=\E[009q, use=iris-ansi, - -# From the man-page, this is a quasi-vt100 emulator that runs on SGI's IRIX -# (T.Dickey 98/1/24) -iris-color|xwsh|IRIX ANSI with color, - ncv#33, - csr=\E[%i%p1%d;%p2%dr, dch=\E[%p1%dP, dim=\E[2m, - ech=\E[%p1%dX, ich=\E[%p1%d@, rc=\E8, ritm=\E[23m, - rmul=\E[24m, rs1=\Ec, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sitm=\E[3m, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, - use=klone+color, use=iris-ansi-ap, - -# The following is a version of the ibm-pc entry distributed with PC/IX, -# (Interactive Systems' System 3 for the Big Blue), modified by Richard -# McIntosh at UCB/CSM. The :pt: and :uc: have been removed from the original, -# (the former is untrue, and the latter failed under UCB/man); standout and -# underline modes have been added. Note: this entry describes the "native" -# capabilities of the PC monochrome display, without ANY emulation; most -# communications packages (but NOT PC/IX connect) do some kind of emulation. -pcix|PC/IX console, - am, bw, eo, - cols#80, lines#24, - clear=\Ec, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\E[J, el=\E[K, - home=\E[H, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m, - smul=\E[4m, - -# (ibmpcx: this entry used to be known as ibmx. -# It formerly included the following extension capabilities: -# :GC=b:GL=v:GR=t:RT=^J:\ -# :GH=\E[196g:GV=\E[179g:\ -# :GU=\E[193g:GD=\E[194g:\ -# :G1=\E[191g:G2=\E[218g:G3=\E[192g:G4=\E[217g:\ -# :CW=\E[E:NU=\E[F:RF=\E[G:RC=\E[H:\ -# :WL=\E[K:WR=\E[L:CL=\E[M:CR=\E[N:\ -# I renamed GS/GE/WL/WR/CL/CR/PU/PD/HM/EN; also, removed a duplicate -# ":kh=\E[Y:". Added IBM-PC forms characters and highlights, they match -# what was there before. -- esr) -ibmpcx|xenix|ibmx|IBM PC xenix console display, - OTbs, am, msgr, - cols#80, lines#25, - clear=^L, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - ed=\E[J, el=\E[K, home=\E[H, ich1=\E[@, il1=\E[L, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[d, - kf1=\E[K, kf2=\E[L, kf3=\E[M, kf4=\E[N, khome=\E[Y, knp=\E[e, - kpp=\E[Z, use=klone+acs, use=klone+sgr, - -#### QNX -# - -# QNX 4.0 Console -# Michael's original version of this entry had , , -# ; this was so terminfo applications could write the lower -# right corner without triggering a scroll. The ncurses terminfo library can -# handle this case with the capability, and prefers for better -# optimization. Bug: The capability resets attributes. -# From: Michael Hunter 30 Jul 1996 -# (removed: ) -qnx|qnx4|qnx console, - daisy, km, mir, msgr, xhpa, xt, - colors#8, cols#80, it#4, lines#25, ncv#3, pairs#8, - acsc=O\333a\261j\331k\277l\332m\300n\305o\337q\304s\334t\303u\264v\301w\302x\263, - bel=^G, blink=\E{, bold=\E<, civis=\Ey0, clear=\EH\EJ, - cnorm=\Ey1, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\Ey2, - dch1=\Ef, dl1=\EF, ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\Ee, - il1=\EE, ind=^J, kBEG=\377\356, kCAN=\377\263, - kCMD=\377\267, kCPY=\377\363, kCRT=\377\364, - kDL=\377\366, kEND=\377\301, kEOL=\377\311, - kEXT=\377\367, kFND=\377\370, kHLP=\377\371, - kHOM=\377\260, kIC=\377\340, kLFT=\377\264, - kMOV=\377\306, kMSG=\377\304, kNXT=\377\272, - kOPT=\377\372, kPRT=\377\275, kPRV=\377\262, - kRDO=\377\315, kRES=\377\374, kRIT=\377\266, - kRPL=\377\373, kSAV=\377\307, kSPD=\377\303, - kUND=\377\337, kbeg=\377\300, kcan=\377\243, kcbt=\377\0, - kclo=\377\343, kclr=\377\341, kcmd=\377\245, - kcpy=\377\265, kcrt=\377\305, kctab=\377\237, - kcub1=\377\244, kcud1=\377\251, kcuf1=\377\246, - kcuu1=\377\241, kdch1=\377\254, kdl1=\377\274, - ked=\377\314, kel=\377\310, kend=\377\250, kent=\377\320, - kext=\377\270, kf1=\377\201, kf10=\377\212, - kf11=\377\256, kf12=\377\257, kf13=\377\213, - kf14=\377\214, kf15=\377\215, kf16=\377\216, - kf17=\377\217, kf18=\377\220, kf19=\377\221, - kf2=\377\202, kf20=\377\222, kf21=\377\223, - kf22=\377\224, kf23=\377\333, kf24=\377\334, - kf25=\377\225, kf26=\377\226, kf27=\377\227, - kf28=\377\230, kf29=\377\231, kf3=\377\203, - kf30=\377\232, kf31=\377\233, kf32=\377\234, - kf33=\377\235, kf34=\377\236, kf35=\377\276, - kf36=\377\277, kf37=\377\321, kf38=\377\322, - kf39=\377\323, kf4=\377\204, kf40=\377\324, - kf41=\377\325, kf42=\377\326, kf43=\377\327, - kf44=\377\330, kf45=\377\331, kf46=\377\332, - kf47=\377\316, kf48=\377\317, kf5=\377\205, kf6=\377\206, - kf7=\377\207, kf8=\377\210, kf9=\377\211, kfnd=\377\346, - khlp=\377\350, khome=\377\240, khts=\377\342, - kich1=\377\253, kil1=\377\273, kind=\377\261, - kmov=\377\351, kmrk=\377\355, kmsg=\377\345, - knp=\377\252, knxt=\377\312, kopn=\377\357, - kopt=\377\353, kpp=\377\242, kprt=\377\255, - kprv=\377\302, krdo=\377\336, kref=\377\354, - kres=\377\360, krfr=\377\347, kri=\377\271, - krmir=\377\313, krpl=\377\362, krst=\377\352, - ksav=\377\361, kslt=\377\247, kspd=\377\335, - ktbc=\377\344, kund=\377\365, mvpa=\E!%p1%02d, op=\ER, - rep=\Eg%p2%{32}%+%c%p1%c, rev=\E(, ri=\EI, rmcup=\Eh\ER, - rmso=\E), rmul=\E], rs1=\ER, setb=\E@%p1%Pb%gb%gf%d%d, - setf=\E@%p1%Pf%gb%gf%d%d, sgr0=\E}\E]\E>\E), smcup=\Ei, - smso=\E(, smul=\E[, -# -# -qnxt|qnxt4|QNX4 terminal, - crxm, use=qnx4, -# -qnxm|QNX4 with mouse events, - maddr#1, - chr=\E/, cvr=\E", is1=\E/0t, mcub=\E/>1h, mcub1=\E/>7h, - mcud=\E/>1h, mcud1=\E/>1l\E/>9h, mcuf=\E/>1h\E/>9l, - mcuf1=\E/>7l, mcuu=\E/>6h, mcuu1=\E/>6l, rmicm=\E/>2l, - smicm=\E/>2h, use=qnx4, -# -qnxw|QNX4 windows, - xvpa, use=qnxm, -# -# Monochrome QNX4 terminal or console. Setting this terminal type will -# allow an application running on a color console to behave as if it -# were a monochrome terminal. Output will be through stdout instead of -# console writes because the term routines will recognize that the -# terminal name starts with 'qnxt'. -# -qnxtmono|Monochrome QNX4 terminal or console, - colors@, pairs@, - scp@, use=qnx4, - -# From: Federico Bianchi , 1 Jul 1998 -# (esr: commented out and to avoid warnings.) -# (TD: derive from original qnx4 entry) -qnxt2|qnx 2.15 serial terminal, - am, - civis@, cnorm@, cvvis@, dch1@, ich1@, kRES@, kRPL@, kUND@, kspd@, - rep@, rmcup@, rmso=\E>, setb@, setf@, smcup@, smso=\E<, use=qnx4, - -# QNX ANSI terminal definition -qansi-g|QNX ANSI, - am, eslok, hs, xon, - colors#8, cols#80, it#8, lines#25, ncv#19, pairs#64, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~Oa, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[2J\E[H, cnorm=\E[?25h\E[?12l, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[1M, dsl=\E[r, ech=\E[%p1%dX, ed=\E[J, - el=\E[K, el1=\E[1K\E[X, flash=\E[?5h$<200>\E[?5l, - fsl=\E[?6h\E8, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, - ich=\E[%p1%d@, ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, - ind=\E[S, indn=\E[%p1%dS, invis=\E[9m, - is2=\E>\E[?1l\E[?7h\E[0;10;39;49m, is3=\E(B\E)0, - kBEG=\ENn, kCAN=\E[s, kCMD=\E[t, kCPY=\ENs, kCRT=\ENt, - kDL=\ENv, kEXT=\ENw, kFND=\ENx, kHLP=\ENy, kHOM=\E[h, - kLFT=\E[d, kNXT=\E[u, kOPT=\ENz, kPRV=\E[v, kRIT=\E[c, - kbs=^H, kcan=\E[S, kcbt=\E[Z, kclo=\ENc, kclr=\ENa, - kcmd=\E[G, kcpy=\E[g, kctab=\E[z, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[p, kend=\E[Y, - kext=\E[y, kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EOA, - kf13=\EOp, kf14=\EOq, kf15=\EOr, kf16=\EOs, kf17=\EOt, - kf18=\EOu, kf19=\EOv, kf2=\EOQ, kf20=\EOw, kf21=\EOx, - kf22=\EOy, kf23=\EOz, kf24=\EOa, kf25=\E[1~, kf26=\E[2~, - kf27=\E[3~, kf28=\E[4~, kf29=\E[5~, kf3=\EOR, kf30=\E[6~, - kf31=\E[7~, kf32=\E[8~, kf33=\E[9~, kf34=\E[10~, - kf35=\E[11~, kf36=\E[12~, kf37=\E[17~, kf38=\E[18~, - kf39=\E[19~, kf4=\EOS, kf40=\E[20~, kf41=\E[21~, - kf42=\E[22~, kf43=\E[23~, kf44=\E[24~, kf45=\E[25~, - kf46=\E[26~, kf47=\E[27~, kf48=\E[28~, kf5=\EOT, kf6=\EOU, - kf7=\EOV, kf8=\EOW, kf9=\EOX, kfnd=\ENf, khlp=\ENh, - khome=\E[H, khts=\ENb, kich1=\E[@, kil1=\E[`, kind=\E[a, - kmov=\ENi, kmrk=\ENm, kmsg=\ENe, knp=\E[U, kopn=\ENo, - kopt=\ENk, kpp=\E[V, kref=\ENl, kres=\ENp, krfr=\ENg, - kri=\E[b, krpl=\ENr, krst=\ENj, ksav=\ENq, kslt=\E[T, - ktbc=\ENd, kund=\ENu, ll=\E[99H, nel=\EE, op=\E[39;49m, - rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\E[T, - rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, rmso=\E[27m, - rmul=\E[24m, rs1=\017\E[?7h\E[0;39;49m$<2>\E>\E[?1l, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;9%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smso=\E[7m, - smul=\E[4m, tbc=\E[2g, - tsl=\E7\E1;24r\E[?6l\E[25;%i%p1%dH, -# -qansi|QNX ansi with console writes, - daisy, xhpa, use=qansi-g, -# -qansi-t|QNX ansi without console writes, - crxm, use=qansi, -# -qansi-m|QNX ansi with mouse, - maddr#1, - chr=\E[, cvr=\E], is1=\E[0t, mcub=\E[>1h, mcub1=\E[>7h, - mcud=\E[>1h, mcud1=\E[>1l\E[>9h, mcuf=\E[>1h\E[>9l, - mcuf1=\E[>7l, mcuu=\E[>6h, mcuu1=\E[>6l, rmicm=\E[>2l, - smicm=\E[>2h, use=qansi, -# -qansi-w|QNX ansi for windows, - xvpa, use=qansi-m, - -#### NetBSD consoles -# -# pcvt termcap database entries (corresponding to release 3.31) -# Author's last edit-date: [Fri Sep 15 20:29:10 1995] -# -# (For the terminfo master file, I translated these into terminfo syntax. -# Then I dropped all the pseudo-HP entries. we don't want and can't use -# the :Xs: flag. Then I split :is: into a size-independent and a -# size-dependent . Finally, I added / -- esr) - -# NOTE: has been taken out of this entry. for reference, it should -# be . For discussion, see ICH/ICH1 VERSUS RMIR/SMIR below. -# (esr: added and to resolve NetBSD Problem Report #4583) -pcvtXX|pcvt vt200 emulator (DEC VT220), - am, km, mir, msgr, xenl, - it#8, vt#3, - acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=\ED, indn=\E[%p1%dS, - is1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kbs=\177, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kf1=\E[17~, kf2=\E[18~, kf3=\E[19~, - kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, - khome=\E[1~, kich1=\E[2~, kll=\E[4~, knp=\E[6~, kpp=\E[5~, - nel=\EE, rc=\E8, rev=\E[7m, rf=/usr/share/tabset/vt100, - ri=\EM, rin=\E[%p1%dT, rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, - rs1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr0=\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - -# NetBSD/FreeBSD vt220 terminal emulator console (pc keyboard & monitor) -# termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and -# 50 lines entries; 80 columns -pcvt25|dec vt220 emulation with 25 lines, - cols#80, lines#25, - is2=\E[1;25r\E[25;1H, use=pcvtXX, -pcvt28|dec vt220 emulation with 28 lines, - cols#80, lines#28, - is2=\E[1;28r\E[28;1H, use=pcvtXX, -pcvt35|dec vt220 emulation with 35 lines, - cols#80, lines#35, - is2=\E[1;35r\E[35;1H, use=pcvtXX, -pcvt40|dec vt220 emulation with 40 lines, - cols#80, lines#40, - is2=\E[1;40r\E[40;1H, use=pcvtXX, -pcvt43|dec vt220 emulation with 43 lines, - cols#80, lines#43, - is2=\E[1;43r\E[43;1H, use=pcvtXX, -pcvt50|dec vt220 emulation with 50 lines, - cols#80, lines#50, - is2=\E[1;50r\E[50;1H, use=pcvtXX, - -# NetBSD/FreeBSD vt220 terminal emulator console (pc keyboard & monitor) -# termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and -# 50 lines entries; 132 columns -pcvt25w|dec vt220 emulation with 25 lines and 132 cols, - cols#132, lines#25, - is2=\E[1;25r\E[25;1H, use=pcvtXX, -pcvt28w|dec vt220 emulation with 28 lines and 132 cols, - cols#132, lines#28, - is2=\E[1;28r\E[28;1H, use=pcvtXX, -pcvt35w|dec vt220 emulation with 35 lines and 132 cols, - cols#132, lines#35, - is2=\E[1;35r\E[35;1H, use=pcvtXX, -pcvt40w|dec vt220 emulation with 40 lines and 132 cols, - cols#132, lines#40, - is2=\E[1;40r\E[40;1H, use=pcvtXX, -pcvt43w|dec vt220 emulation with 43 lines and 132 cols, - cols#132, lines#43, - is2=\E[1;43r\E[43;1H, use=pcvtXX, -pcvt50w|dec vt220 emulation with 50 lines and 132 cols, - cols#132, lines#50, - is2=\E[1;50r\E[50;1H, use=pcvtXX, - -# OpenBSD implements a color variation -pcvt25-color|dec vt220 emulation with 25 lines and color, - cols#80, lines#25, - is2=\E[1;25r\E[25;1H, kf1=\EOP, kf10=\E[29~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[17~, - kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, use=pcvtXX, - use=ecma+color, - -# Terminfo entries to enable the use of the ncurses library in colour on a -# NetBSD-arm32 console (only tested on a RiscPC). -# Created by Dave Millen 22.07.98 -# modified codes for setf/setb to setaf/setab, then to klone+color, corrected -# typo in invis - TD -arm100|arm100-am|Arm(RiscPC) ncurses compatible (for 640x480), - am, bce, msgr, xenl, xon, - cols#80, it#8, lines#30, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C$<2>, - cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, - cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>, - enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, - invis=\E[8m$<2>, ka1=\E[q, ka3=\E[s, kb2=\E[r, kbs=^H, - kc1=\E[p, kc3=\E[n, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kent=\E[M, kf0=\E[y, kf1=\E[P, kf10=\E[x, - kf2=\E[Q, kf3=\E[R, kf4=\E[S, kf5=\E[t, kf6=\E[u, kf7=\E[v, - kf8=\E[l, kf9=\E[w, rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, - rmacs=^O, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m$<2>, - rmul=\E[m$<2>, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<2>, - sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, - smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, use=ecma+sgr, - use=klone+color, - -arm100-w|arm100-wam|Arm(RiscPC) ncurses compatible (for 1024x768), - cols#132, lines#50, use=arm100, - -# NetBSD/x68k console vt200 emulator. This port runs on a 68K machine -# manufactured by Sharp for the Japenese market. -# From Minoura Makoto , 12 May 1996 -x68k|x68k-ite|NetBSD/x68k ITE, - cols#96, lines#32, - kclr=\E[9~, khlp=\E[28~, use=vt220, - -# : -# Entry for the DNARD OpenFirmware console, close to ANSI but not quite. -# -# (still unfinished, but good enough so far.) -ofcons|DNARD OpenFirmware console, - bw, - cols#80, lines#30, - bel=^G, blink=\2337;2m, bold=\2331m, clear=^L, cr=^M, - cub=\233%p1%dD, cub1=\233D, cud=\233%p1%dB, cud1=\233B, - cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH, - cuu=\233%p1%dA, cuu1=\233A, dch=\233%p1%dP, dch1=\233P, - dim=\2332m, dl=\233%p1%dM, dl1=\233M, ed=\233J, el=\233K, - flash=^G, ht=^I, ich=\233%p1%d@, ich1=\233@, il=\233%p1%dL, - il1=\233L, ind=^J, invis=\2338m, kbs=^H, kcub1=\233D, - kcud1=\233B, kcuf1=\233C, kcuu1=\233A, kdch1=\233P, - kf1=\2330P, kf10=\2330M, kf2=\2330Q, kf3=\2330W, - kf4=\2330x, kf5=\2330t, kf6=\2330u, kf7=\2330q, kf8=\2330r, - kf9=\2330p, knp=\233/, kpp=\233?, nel=^M^J, rev=\2337m, - rmso=\2330m, rmul=\2330m, - sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, - sgr0=\2330m, - -# NetBSD "wscons" emulator in vt220 mode. -# This entry is based on the NetBSD termcap entry, correcting the ncv value. -# The emulator renders underlined text in red. Colors are otherwise usable. -# -# Testing the emulator and reading the source code (NetBSD 2.0), it appears -# that "vt220" is inaccurate. There are a few vt220-features, but most of the -# vt220 screens in vttest do not work with this emulator. For instance, it -# identifies itself (primary DA response) as a vt220 with selective erase. But -# the selective erase feature does not work. The secondary response is copied -# from Kermit's emulation of vt220, does not correspond to actual vt220. At -# the level of detail in a termcap, it is a passable emulator, since ECH does -# work. Don't use it on a VMS system -TD -wsvt25|NetBSD wscons in 25 line DEC VT220 mode, - bce, msgr, - colors#8, cols#80, it#8, lines#25, ncv#2, pairs#64, - is2=\E[r\E[25;1H, kend=\E[8~, kf1=\E[11~, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~, - kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, - kf9=\E[20~, khome=\E[7~, op=\E[m, setab=\E[4%p1%dm, - setaf=\E[3%p1%dm, use=vt220, - -wsvt25m|NetBSD wscons in 25 line DEC VT220 mode with Meta, - km, use=wsvt25, - -# `rasterconsole' provided by 4.4BSD, NetBSD and OpenBSD on SPARC, and -# DECstation/pmax. -rcons|BSD rasterconsole, - use=sun-il, -# Color version of above. Color currently only provided by NetBSD. -rcons-color|BSD rasterconsole with ANSI color, - bce, - colors#8, pairs#64, - op=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=rcons, - -# mgterm -- MGL/MGL2, MobileGear Graphic Library -# for PocketBSD,PocketLinux,NetBSD/{hpcmips,mac68k} -# -- the setf/setb are probably incorrect, more likely setaf/setab -TD -# -- compare with cons25w -mgterm, - OTbs, OTpt, am, bce, bw, eo, km, msgr, npc, - colors#8, cols#80, it#8, lines#18, pairs#64, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, - cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dim=\E[30;1m, dl=\E[%p1%dM, - dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, - home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S, - indn=\E[%p1%dS, kb2=\E[E, kbs=^H, kcbt=\E[Z, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, kend=\E[F, - kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X, kf2=\E[N, - kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, - kf9=\E[U, khome=\E[H, kich1=\E[L, knp=\E[G, kpp=\E[I, - nel=\E[E, op=\E[x, rc=\E8, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, - rmso=\E[m, rs2=\E[x\E[m\Ec, sc=\E7, setb=\E[4%p1%dm, - setf=\E[3%p1%dm, sgr0=\E[m, smso=\E[7m, vpa=\E[%i%p1%dd, - -#### FreeBSD console entries -# -# From: Andrey Chernov 29 Mar 1996 -# Andrey Chernov maintains the FreeBSD termcap distributions. -# -# Note: Users of FreeBSD 2.1.0 and older versions must either upgrade -# or comment out the :cb: capability in the console entry. -# -# Alexander Lukyanov reports: -# I have seen FreeBSD-2.1.5R... The old el1 bug changed, but it is still there. -# Now el1 clears not only to the line beginning, but also a large chunk -# of previous line. But there is another bug - ech does not work at all. -# - -# for syscons -# common entry without semigraphics -# Bug: The capability resets attributes. -# Bug? The ech and el1 attributes appear to move the cursor in some cases; for -# instance el1 does if the cursor is moved to the right margin first. Removed -# by T.Dickey 97/5/3 (ech=\E[%p1%dX, el1=\E[1K) -# -# Setting colors turns off reverse; we cannot guarantee order, so use ncv. -# Note that this disables standout with color. -# -# The emulator sends difference strings based on shift- and control-keys, -# like scoansi: -# F13-F24 are shifted F1-F12 -# F25-F36 are control F1-F12 -# F37-F48 are shift+control F1-F12 -cons25w|ansiw|ansi80x25-raw|freebsd console (25-line raw mode), - am, bce, bw, eo, msgr, npc, - colors#8, cols#80, it#8, lines#25, ncv#21, pairs#64, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, - cnorm=\E[=0C, cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, - cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[=1C, dch=\E[%p1%dP, dch1=\E[P, dim=\E[30;1m, - dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, - home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S, - indn=\E[%p1%dS, kb2=\E[E, kbs=^H, kcbt=\E[Z, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, kend=\E[F, - kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X, kf13=\E[Y, - kf14=\E[Z, kf15=\E[a, kf16=\E[b, kf17=\E[c, kf18=\E[d, - kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g, kf22=\E[h, - kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l, kf27=\E[m, - kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p, kf31=\E[q, - kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u, kf36=\E[v, - kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P, kf40=\E[z, - kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[], kf45=\E[\^, - kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q, kf6=\E[R, - kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, kich1=\E[L, - knp=\E[G, kpp=\E[I, nel=\E[E, op=\E[x, rc=\E8, rev=\E[7m, - ri=\E[T, rin=\E[%p1%dT, rmso=\E[m, rs2=\E[x\E[m\Ec, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0%?%p1%t;2;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;30;1%;%?%p6%t;1%;m, - sgr0=\E[m, smso=\E[7m, vpa=\E[%i%p1%dd, -cons25|ansis|ansi80x25|freebsd console (25-line ansi mode), - acsc=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371, - use=cons25w, -cons25-m|ansis-mono|ansi80x25-mono|freebsd console (25-line mono ansi mode), - colors@, pairs@, - bold@, dim@, op@, rmul=\E[m, setab@, setaf@, - sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m, - smul=\E[4m, use=cons25, -cons30|ansi80x30|freebsd console (30-line ansi mode), - lines#30, use=cons25, -cons30-m|ansi80x30-mono|freebsd console (30-line mono ansi mode), - lines#30, use=cons25-m, -cons43|ansi80x43|freebsd console (43-line ansi mode), - lines#43, use=cons25, -cons43-m|ansi80x43-mono|freebsd console (43-line mono ansi mode), - lines#43, use=cons25-m, -cons50|ansil|ansi80x50|freebsd console (50-line ansi mode), - lines#50, use=cons25, -cons50-m|ansil-mono|ansi80x50-mono|freebsd console (50-line mono ansi mode), - lines#50, use=cons25-m, -cons60|ansi80x60|freebsd console (60-line ansi mode), - lines#60, use=cons25, -cons60-m|ansi80x60-mono|freebsd console (60-line mono ansi mode), - lines#60, use=cons25-m, -cons25r|pc3r|ibmpc3r|cons25-koi8-r|freebsd console w/koi8-r cyrillic, - acsc=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225, - use=cons25w, -cons25r-m|pc3r-m|ibmpc3r-mono|cons25-koi8r-m|freebsd console w/koi8-r cyrillic (mono), - colors@, pairs@, - op@, rmul=\E[m, setab@, setaf@, - sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;30;1%;%?%p6%t;1%;m, - smul=\E[4m, use=cons25r, -cons50r|cons50-koi8r|freebsd console w/koi8-r cyrillic (50 lines), - lines#50, use=cons25r, -cons50r-m|cons50-koi8r-m|freebsd console w/koi8-r cyrillic (50-line mono), - lines#50, use=cons25r-m, -cons60r|cons60-koi8r|freebsd console w/koi8-r cyrillic (60 lines), - lines#60, use=cons25r, -cons60r-m|cons60-koi8r-m|freebsd console w/koi8-r cyrillic (60-line mono), - lines#60, use=cons25r-m, -# ISO 8859-1 FreeBSD console -cons25l1|cons25-iso8859|freebsd console w/iso 8859-1 chars, - acsc=+\253\,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237, - use=cons25w, -cons25l1-m|cons25-iso-m|freebsd console w/iso 8859-1 chars (mono), - colors@, pairs@, - bold@, dim@, op@, rmul=\E[m, setab@, setaf@, - sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m, - smul=\E[4m, use=cons25l1, -cons50l1|cons50-iso8859|freebsd console w/iso 8859-1 chars (50 lines), - lines#50, use=cons25l1, -cons50l1-m|cons50-iso-m|freebsd console w/iso 8859-1 chars (50-line mono), - lines#50, use=cons25l1-m, -cons60l1|cons60-iso|freebsd console w/iso 8859-1 chars (60 lines), - lines#60, use=cons25l1, -cons60l1-m|cons60-iso-m|freebsd console w/iso 8859-1 chars (60-line mono), - lines#60, use=cons25l1-m, - -#### 386BSD and BSD/OS Consoles -# - -# This was the original 386BSD console entry (I think). -# Some places it's named oldpc3|oldibmpc3. -# From: Alex R.N. Wetmore -origpc3|origibmpc3|IBM PC 386BSD Console, - OTbs, am, bw, eo, xon, - cols#80, lines#25, - acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263, - bold=\E[7m, clear=\Ec, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\E[J, el=\E[K, - home=\E[H, ind=\E[S, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, khome=\E[Y, ri=\E[T, rmso=\E[1;0x\E[2;7x, - rmul=\E[1;0x\E[2;7x, sgr0=\E[m\E[1;0x\E[2;7x, - smso=\E[1;7x\E[2;0x, smul=\E[1;7x\E[2;0x, - -# description of BSD/386 console emulator in version 1.0 (supplied by BSDI) -oldpc3|oldibmpc3|old IBM PC BSD/386 Console, - OTbs, km, - lines#25, - bel=^G, bold=\E[=15F, cr=^M, cud1=^J, dim=\E[=8F, dl1=\E[M, - ht=^I, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, kich1=\E[L, kll=\E[F, - knp=\E[G, kpp=\E[I, nel=^M^J, sgr0=\E[=R, - -# Description of BSD/OS console emulator in version 1.1, 2.0, 2.1 -# Note, the emulator supports many of the additional console features -# listed in the iBCS2 (e.g. character-set selection) though not all -# are described here. This entry really ought to be upgraded. -# Also note, the console will also work with fewer lines after doing -# "stty rows NN", e.g. to use 24 lines. -# (Color support from Kevin Rosenberg , 2 May 1996) -# Bug: The capability resets attributes. -bsdos-pc|IBM PC BSD/OS Console, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;1%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, - use=bsdos-pc-nobold, - -bsdos-pc-nobold|BSD/OS PC console w/o bold, - use=klone+color, use=bsdos-pc-m, - -bsdos-pc-m|bsdos-pc-mono|BSD/OS PC console mono, - OTbs, am, eo, km, xon, - cols#80, it#8, lines#25, - bel=^G, clear=\Ec, cr=^M, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, - il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, kich1=\E[L, - kll=\E[F, knp=\E[G, kpp=\E[I, nel=^M^J, rc=\E8, sc=\E7, - sgr=\E[0;10%?%p1%t;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m%?%p5%t\E[=8F%;, - use=klone+sgr, - -# Old names for BSD/OS PC console used in releases before 4.1. -pc3|BSD/OS on the PC Console, - use=bsdos-pc-nobold, -ibmpc3|pc3-bold|BSD/OS on the PC Console with bold instead of underline, - use=bsdos-pc, - -# BSD/OS on the SPARC -bsdos-sparc|Sun SPARC BSD/OS Console, - use=sun, - -# BSD/OS on the PowerPC -bsdos-ppc|PowerPC BSD/OS Console, - use=bsdos-pc, - -#### DEC VT52 -# (// capabilities aren't in DEC's official entry -- esr) -# -# Actually (TD pointed this out at the time the acsc string was added): -# vt52 shouldn't define full acsc since most of the cells don't match. -# see vt100 manual page A-31. This is the list that does match: -# f degree -# g plus/minus -# h right-arrow -# k down-arrow -# m scan-1 -# o scan-3 -# q scan-5 -# s scan-7 -# The line-drawing happens to work in several terminal emulators, but should -# not be used as a guide to the capabilities of the vt52. Note in particular -# that vt52 does not support line-drawing characters (the scan-X values refer -# to a crude plotting feature) -TD -vt52|dec vt52, - OTbs, - cols#80, it#8, lines#24, - acsc=ffgghhompoqqss.k, bel=^G, clear=\EH\EJ, cr=^M, - cub1=\ED, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, - el=\EK, home=\EH, ht=^I, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, nel=^M^J, ri=\EI, rmacs=\EG, smacs=\EF, - -#### DEC VT100 and compatibles -# -# DEC terminals from the vt100 forward are collected here. Older DEC terminals -# and micro consoles can be found in the `obsolete' section. More details on -# the relationship between the VT100 and ANSI X3.64/ISO 6429/ECMA-48 may be -# found near the end of this file. -# -# Except where noted, these entries are DEC's official terminfos. -# Contact Bill Hedberg of Terminal Support -# Engineering for more information. Updated terminfos and termcaps -# are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps. -# -# In October 1995 DEC sold its terminals business, including the VT and Dorio -# line and trademark, to SunRiver Data Systems. SunRiver has since changed -# its name to Boundless Technologies; see http://www.boundless.com. -# - -# NOTE: Any VT100 emulation, whether in hardware or software, almost -# certainly includes what DEC called the `Level 1 editing extension' codes; -# only the very oldest VT100s lacked these and there probably aren't any of -# those left alive. To capture these, use one of the VT102 entries. -# -# Note that the glitch in vt100 is not quite the same as on the Concept, -# since the cursor is left in a different position while in the -# weird state (concept at beginning of next line, vt100 at end -# of this line) so all versions of vi before 3.7 don't handle -# right on vt100. The correct way to handle is when -# you output the char in column 80, immediately output CR LF -# and then assume you are in column 1 of the next line. If -# is on, am should be on too. -# -# I assume you have smooth scroll off or are at a slow enough baud -# rate that it doesn't matter (1200? or less). Also this assumes -# that you set auto-nl to "on", if you set it off use vt100-nam -# below. -# -# The padding requirements listed here are guesses. It is strongly -# recommended that xon/xoff be enabled, as this is assumed here. -# -# The vt100 uses and rather than // because the -# tab settings are in non-volatile memory and don't need to be -# reset upon login. Also setting the number of columns glitches -# the screen annoyingly. You can type "reset" to get them set. -# -# The VT100 series terminals have cursor ("arrows") keys which can operate -# in two different modes: Cursor Mode and Application Mode. Cursor Mode -# is the reset state, and is assumed to be the normal state. Application -# Mode is the "set" state. In Cursor Mode, the cursor keys transmit -# "Esc [ {code}" sequences, conforming to ANSI standards. In Application -# Mode, the cursor keys transmit "Esc O " sequences. Application Mode -# was provided primarily as an aid to the porting of VT52 applications. It is -# assumed that the cursor keys are normally in Cursor Mode, and expected that -# applications such as vi will always transmit the string. Therefore, -# the definitions for the cursor keys are made to match what the terminal -# transmits after the string is transmitted. If the string -# is a null string or is not defined, then cursor keys are assumed to be in -# "Cursor Mode", and the cursor keys definitions should match that assumption, -# else the application may fail. It is also expected that applications will -# always transmit the string to the terminal before they exit. -# -# The VT100 series terminals have an auxiliary keypad, commonly referred to as -# the "Numeric Keypad", because it is a cluster of numeric and function keys. -# The Numeric Keypad which can operate in two different modes: Numeric Mode and -# Application Mode. Numeric Mode is the reset state, and is assumed to be -# the normal state. Application Mode is the "set" state. In Numeric Mode, -# the numeric and punctuation keys transmit ASCII 7-bit characters, and the -# Enter key transmits the same as the Return key (Note: the Return key -# can be configured to send either LF (\015) or CR LF). In Application Mode, -# all the keypad keys transmit "Esc O {code}" sequences. The PF1 - PF4 keys -# always send the same "Esc O {code}" sequences. It is assumed that the keypad -# is normally in Numeric Mode. If an application requires that the keypad be -# in Application Mode then it is expected that the user, or the application, -# will set the TERM environment variable to point to a terminfo entry which has -# defined the string to include the codes that switch the keypad into -# Application Mode, and the terminfo entry will also define function key -# fields to match the Application Mode control codes. If the string -# is a null string or is not defined, then the keypad is assumed to be in -# Numeric Mode. If the string switches the keypad into Application -# Mode, it is expected that the string will contain the control codes -# necessary to reset the keypad to "Normal" mode, and it is also expected that -# applications which transmit the string will also always transmit the -# string to the terminal before they exit. -# -# Here's a diagram of the VT100 keypad keys with their bindings. -# The top line is the name of the key (some DEC keyboards have the keys -# labelled somewhat differently, like GOLD instead of PF1, but this is -# the most "official" name). The second line is the escape sequence it -# generates in Application Keypad mode (where "$" means the ESC -# character). The third line contains two items, first the mapping of -# the key in terminfo, and then in termcap. -# _______________________________________ -# | PF1 | PF2 | PF3 | PF4 | -# | $OP | $OQ | $OR | $OS | -# |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_| -# | 7 8 9 - | -# | $Ow | $Ox | $Oy | $Om | -# |_kf9__k9_|_kf10_k;_|_kf0__k0_|_________| -# | 4 | 5 | 6 | , | -# | $Ot | $Ou | $Ov | $Ol | -# |_kf5__k5_|_kf6__k6_|_kf7__k7_|_kf8__k8_| -# | 1 | 2 | 3 | | -# | $Oq | $Or | $Os | enter | -# |_ka1__K1_|_kb2__K2_|_ka3__K3_| $OM | -# | 0 | . | | -# | $Op | $On | | -# |___kc1_______K4____|_kc3__K5_|_kent_@8_| -# -# Note however, that the arrangement of the 5-key ka1-kc3 do not follow the -# terminfo guidelines. That is a compromise used to assign the remaining -# keys on the keypad to kf5-kf0, used on older systems with legacy termcap -# support: -vt100+keypad|dec vt100 numeric keypad no fkeys, - ka1=\EOq, ka3=\EOs, kb2=\EOr, kc1=\EOp, kc3=\EOn, -vt100+pfkeys|dec vt100 numeric keypad, - kent=\EOM, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, - use=vt100+keypad, -vt100+fnkeys|dec vt100 numeric keypad, - kf0=\EOy, kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl, - kf9=\EOw, use=vt100+pfkeys, -# -# A better adaptation to modern keyboards such as the PC's, which have a dozen -# function keys and the keypad 2,4,6,8 keys are labeled with arrows keys, is to -# use the 5-key arrangement to model the arrow keys as suggested in the -# terminfo guidelines: -# _______________________________________ -# | PF1 | PF2 | PF3 | PF4 | -# | $OP | $OQ | $OR | $OS | -# |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_| -# | 7 8 9 - | -# | $Ow | $Ox | $Oy | $Om | -# |_ka1__K1_|_________|_ka3__K3_|_________| -# | 4 | 5 | 6 | , | -# | $Ot | $Ou | $Ov | $Ol | -# |_________|_kb2__K2_|_________|_________| -# | 1 | 2 | 3 | | -# | $Oq | $Or | $Os | enter | -# |_kc1__K4_|_________|_kc3__K5_| $OM | -# | 0 | . | | -# | $Op | $On | | -# |___________________|_________|_kent_@8_| -# -vt220+keypad|dec vt220 numeric keypad, - ka1=\EOw, ka3=\EOy, kb2=\EOu, kc1=\EOq, kc3=\EOs, kent=\EOM, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, -# -# And here, for those of you with orphaned VT100s lacking documentation, is -# a description of the soft switches invoked when you do `Set Up'. -# -# Scroll 0-Jump Shifted 3 0-# -# | 1-Smooth | 1-British pound sign -# | Autorepeat 0-Off | Wrap Around 0-Off -# | | 1-On | | 1-On -# | | Screen 0-Dark Bkg | | New Line 0-Off -# | | | 1-Light Bkg | | | 1-On -# | | | Cursor 0-Underline | | | Interlace 0-Off -# | | | | 1-Block | | | | 1-On -# | | | | | | | | -# 1 1 0 1 1 1 1 1 0 1 0 0 0 0 1 0 <--Standard Settings -# | | | | | | | | -# | | | Auto XON/XOFF 0-Off | | | Power 0-60 Hz -# | | | 1-On | | | 1-50 Hz -# | | Ansi/VT52 0-VT52 | | Bits Per Char. 0-7 Bits -# | | 1-ANSI | | 1-8 Bits -# | Keyclick 0-Off | Parity 0-Off -# | 1-On | 1-On -# Margin Bell 0-Off Parity Sense 0-Odd -# 1-On 1-Even -# -# The following SET-UP modes are assumed for normal operation: -# ANSI_MODE AUTO_XON/XOFF_ON NEWLINE_OFF 80_COLUMNS -# WRAP_AROUND_ON JUMP_SCROLL_OFF -# Other SET-UP modes may be set for operator convenience or communication -# requirements; I recommend -# AUTOREPEAT_ON BLOCK_CURSOR MARGIN_BELL_OFF SHIFTED_3_# -# Unless you have a graphics add-on such as Digital Engineering's VT640 -# (and even then, whenever it can be arranged!) you should set -# INTERLACE_OFF -# -# (vt100: I added / based on the init string, also . -- esr) -vt100|vt100-am|dec vt100 (w/advanced video), - OTbs, am, mc5i, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C$<2>, - cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, - cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>, - enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, lf1=pf1, - lf2=pf2, lf3=pf3, lf4=pf4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, - rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, - rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>, - sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, - smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, - use=vt100+fnkeys, -vt100nam|vt100-nam|vt100 no automargins, - am@, xenl@, use=vt100-am, -vt100-vb|dec vt100 (w/advanced video) & no beep, - bel@, flash=\E[?5h\E[?5l, use=vt100, - -# Ordinary vt100 in 132 column ("wide") mode. -vt100-w|vt100-w-am|dec vt100 132 cols (w/advanced video), - cols#132, lines#24, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=vt100-am, -vt100-w-nam|vt100-nam-w|dec vt100 132 cols (w/advanced video no automargin), - cols#132, lines#14, vt@, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=vt100-nam, - -# vt100 with no advanced video. -vt100-nav|vt100 without advanced video option, - xmc#1, - blink@, bold@, rev@, rmso=\E[m, rmul@, sgr@, sgr0@, smso=\E[7m, - smul@, use=vt100, -vt100-nav-w|vt100-w-nav|dec vt100 132 cols 14 lines (no advanced video option), - cols#132, lines#14, use=vt100-nav, - -# vt100 with one of the 24 lines used as a status line. -# We put the status line on the top. -vt100-s|vt100-s-top|vt100-top-s|vt100 for use with top sysline, - eslok, hs, - lines#23, - clear=\E[2;1H\E[J$<50>, csr=\E[%i%i%p1%d;%p2%dr, - cup=\E[%i%p1%{1}%+%d;%p2%dH$<5>, dsl=\E7\E[1;24r\E8, - fsl=\E8, home=\E[2;1H, is2=\E7\E[2;24r\E8, - tsl=\E7\E[1;%p1%dH\E[1K, use=vt100-am, - -# Status line at bottom. -# Clearing the screen will clobber status line. -vt100-s-bot|vt100-bot-s|vt100 for use with bottom sysline, - eslok, hs, - lines#23, - dsl=\E7\E[1;24r\E8, fsl=\E8, is2=\E[1;23r\E[23;1H, - tsl=\E7\E[24;%p1%dH\E[1K, use=vt100-am, - -# Most of the `vt100' emulators out there actually emulate a vt102 -# This entry (or vt102-nsgr) is probably the right thing to use for -# these. -vt102|dec vt102, - dch1=\E[P, dl1=\E[M, il1=\E[L, rmir=\E[4l, smir=\E[4h, - use=vt100, -vt102-w|dec vt102 in wide mode, - cols#132, - rs3=\E[?3h, use=vt102, - -# Many brain-dead PC comm programs that pretend to be `vt100-compatible' -# fail to interpret the ^O and ^N escapes properly. Symptom: the -# string in the canonical vt100 entry above leaves the screen littered -# with little snowflake or star characters (IBM PC ROM character \017 = ^O) -# after highlight turnoffs. This entry should fix that, and even leave -# ACS support working, at the cost of making multiple-highlight changes -# slightly more expensive. -# From: Eric S. Raymond July 22 1995 -vt102-nsgr|vt102 no sgr (use if you see snowflakes after highlight changes), - sgr@, sgr0=\E[m, use=vt102, - -# VT125 Graphics CRT. Clear screen also erases graphics -# Some vt125's came configured with vt102 support. -vt125|vt125 graphics terminal, - mir, - clear=\E[H\E[2J\EPpS(E)\E\\$<50>, use=vt100, - -# This isn't a DEC entry, it came from University of Wisconsin. -# (vt131: I added / based on the init string, also -- esr) -vt131|dec vt131, - OTbs, am, xenl, - cols#80, it#8, lines#24, vt#3, - bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>, - clear=\E[;H\E[2J$<50/>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=^J, cuf1=\E[C$<2/>, - cup=\E[%i%p1%d;%p2%dH$<5/>, cuu1=\E[A$<2/>, - ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H, ht=^I, - is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\EOD, kcud1=\EOB, - kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, nel=^M^J, rc=\E8, rev=\E[7m$<2/>, ri=\EM$<5/>, - rmam=\E[?7h, rmkx=\E[?1l\E>, rmso=\E[m$<2/>, - rmul=\E[m$<2/>, - rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr0=\E[m$<2/>, smam=\E[?7h, smkx=\E[?1h\E=, - smso=\E[7m$<2/>, smul=\E[4m$<2/>, - -# vt132 - like vt100 but slower and has ins/del line and such. -# I'm told that / are backwards in the terminal from the -# manual and from the ANSI standard, this describes the actual -# terminal. I've never actually used a vt132 myself, so this -# is untested. -# -vt132|DEC vt132, - xenl, - dch1=\E[P$<7>, dl1=\E[M$<99>, il1=\E[L$<99>, ind=\n$<30>, - ip=$<7>, rmir=\E[4h, smir=\E[4l, use=vt100, - -# This vt220 description maps F5--F9 to the second block of function keys -# at the top of the keyboard. The "DO" key is used as F10 to avoid conflict -# with the key marked (ESC) on the vt220. See vt220d for an alternate mapping. -# PF1--PF4 are used as F1--F4. -# -vt220-old|vt200-old|DEC VT220 in vt100 emulation mode, - OTbs, OTpt, am, mir, xenl, xon, - cols#80, lines#24, vt#3, - OTnl=^J, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, civis=\E[?25l, - clear=\E[H\E[2J$<50>, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, - if=/usr/share/tabset/vt100, il1=\E[L, ind=\ED$<20/>, - is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\EOP, - kf10=\E[29~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[17~, - kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, - khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, rc=\E8, - rev=\E[7m$<2>, rf=/usr/share/tabset/vt100, - ri=\EM$<14/>, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, - rmso=\E[27m, rmul=\E[24m, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, - smso=\E[7m, smul=\E[4m, - -# A much better description of the VT200/220; used to be vt220-8 -# changed rmacs/smacs from shift-in/shift-out to vt200-old's explicit G0/G1 -# designation to accommodate bug in pcvt -TD -vt220|vt200|dec vt220, - OTbs, am, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, - flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I, hts=\EH, - ich=\E[%p1%d@, if=/usr/share/tabset/vt100, - il=\E[%p1%dL, il1=\E[L, ind=\ED, - is2=\E[?7h\E[>\E[?1h\E F\E[?4l, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, - kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, - kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, - kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, - lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\E[i, mc4=\E[4i, - mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, - rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m, - rmul=\E[24m, rs1=\E[?3l, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m\E(B, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, - smso=\E[7m, smul=\E[4m, tbc=\E[3g, -vt220-w|vt200-w|DEC vt220 in wide mode, - cols#132, - rs3=\E[?3h, use=vt220, -vt220-8bit|vt220-8|vt200-8bit|vt200-8|dec vt220/200 in 8-bit mode, - OTbs, am, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\2335m, bold=\2331m, clear=\233H\233J, cr=^M, - csr=\233%i%p1%d;%p2%dr, cub=\233%p1%dD, cub1=^H, - cud=\233%p1%dB, cud1=^J, cuf=\233%p1%dC, cuf1=\233C, - cup=\233%i%p1%d;%p2%dH, cuu=\233%p1%dA, cuu1=\233A, - dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, dl1=\233M, - ech=\233%p1%dX, ed=\233J, el=\233K, el1=\2331K, enacs=\E)0, - flash=\233?5h$<200/>\233?5l, home=\233H, ht=^I, hts=\EH, - ich=\233%p1%d@, if=/usr/share/tabset/vt100, - il=\233%p1%dL, il1=\233L, ind=\ED, - is2=\233?7h\233>\233?1h\E F\233?4l, kbs=^H, - kcub1=\233D, kcud1=\233B, kcuf1=\233C, kcuu1=\233A, - kf1=\EOP, kf10=\23321~, kf11=\23323~, kf12=\23324~, - kf13=\23325~, kf14=\23326~, kf17=\23331~, kf18=\23332~, - kf19=\23333~, kf2=\EOQ, kf20=\23334~, kf3=\EOR, kf4=\EOS, - kf6=\23317~, kf7=\23318~, kf8=\23319~, kf9=\23320~, - kfnd=\2331~, khlp=\23328~, khome=\233H, kich1=\2332~, - knp=\2336~, kpp=\2335~, krdo=\23329~, kslt=\2334~, lf1=pf1, - lf2=pf2, lf3=pf3, lf4=pf4, mc0=\233i, mc4=\2334i, mc5=\2335i, - nel=\EE, rc=\E8, rev=\2337m, ri=\EM, rmacs=\E(B, - rmam=\233?7l, rmir=\2334l, rmso=\23327m, rmul=\23324m, - rs1=\233?3l, sc=\E7, - sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h, smir=\2334h, - smso=\2337m, smul=\2334m, tbc=\2333g, - -# vt220d: -# This vt220 description regards F6--F10 as the second block of function keys -# at the top of the keyboard. This mapping follows the description given -# in the VT220 Programmer Reference Manual and agrees with the labeling -# on some terminals that emulate the vt220. There is no support for an F5. -# See vt220 for an alternate mapping. -# -vt220d|DEC VT220 in vt100 mode with DEC function key labeling, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[32~, kf19=\E[33~, kf20=\E[34~, kf5@, kf6=\E[17~, - kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, use=vt220-old, - -vt220-nam|v200-nam|VT220 in vt100 mode with no auto margins, - am@, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h, use=vt220, - -# vt220 termcap written Tue Oct 25 20:41:10 1988 by Alex Latzko -# (not an official DEC entry!) -# The problem with real vt220 terminals is they don't send escapes when in -# in vt220 mode. This can be gotten around two ways. 1> don't send -# escapes or 2> put the vt220 into vt100 mode and use all the nifty -# features of vt100 advanced video which it then has. -# -# This entry takes the view of putting a vt220 into vt100 mode so -# you can use the escape key in emacs and everything else which needs it. -# -# You probably don't want to use this on a VMS machine since VMS will think -# it has a vt220 and will get fouled up coming out of emacs -# -# From: Alexander Latzko , 30 Dec 1996 -# (Added vt100 , to quiet a tic warning -- esr) -vt200-js|vt220-js|dec vt200 series with jump scroll, - am, - cols#80, - bel=^G, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=^J, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, - il1=\E[L, ind=\ED, - is2=\E[61"p\E[H\E[?3l\E[?4l\E[?1l\E[?5l\E[?6l\E[?7h\E[?8h\E[?25h\E>\E[m, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=^M\ED, rc=\E8, - rf=/usr/share/tabset/vt100, ri=\EM, rmdc=, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[27m$<5/>, rmul=\E[24m, - rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, smdc=, - smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m$<5/>, smul=\E[4m, - -# This was DEC's vt320. Use the purpose-built one below instead -#vt320|DEC VT320 in vt100 emulation mode, -# use=vt220, - -# Use v320n for SCO's LYRIX. Otherwise, use Adam Thompson's vt320-nam. -# -vt320nam|v320n|DEC VT320 in vt100 emul. mode with NO AUTO WRAP mode, - am@, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h, use=vt220, - -# These entries are not DEC's official ones, they were purpose-built for the -# VT320. Here are the designer's notes: -# is end on a PC kbd. Actually 'select' on a VT. Mapped to -# 'Erase to End of Field'... since nothing seems to use 'end' anyways... -# khome is Home on a PC kbd. Actually 'FIND' on a VT. -# Things that use usually use tab anyways... and things that don't use -# tab usually use instead... -# kprv is same as tab - Backtab is useless... -# I left out because of its RIDICULOUS complexity, -# and the resulting fact that it causes the termcap translation of the entry -# to SMASH the 1k-barrier... -# From: Adam Thompson Sept 10 1995 -# (vt320: uncommented --esr) -vt320|vt300|dec vt320 7 bit terminal, - am, eslok, hs, mir, msgr, xenl, - cols#80, lines#24, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, fsl=\E[0$}, - home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, - il1=\E[L, ind=\ED, - is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, - kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kel=\E[4~, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, - kf9=\E[20~, khome=\E[1~, kich1=\E[2~, knp=\E[6~, knxt=^I, - kpp=\E[5~, kprv=\E[Z, kslt=\E[4~, mc0=\E[i, mc4=\E[?4i, - mc5=\E[?5i, nel=\EE, rc=\E8, rev=\E[7m, - rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, - rmul=\E[m, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, - sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[1$}\E[H\E[K, use=vt220+keypad, -vt320-nam|vt300-nam|dec vt320 7 bit terminal with no am to make SAS happy, - am@, - is2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H, - use=vt320, -# We have to init 132-col mode, not 80-col mode. -vt320-w|vt300-w|dec vt320 wide 7 bit terminal, - cols#132, wsl#132, - is2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, - use=vt320, -vt320-w-nam|vt300-w-nam|dec vt320 wide 7 bit terminal with no am, - am@, - is2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H, - use=vt320-w, - -# VT330 and VT340 -- These are ReGIS and SIXEL graphics terminals -# which are pretty much a superset of the VT320. They have the -# host writable status line, yet another different DRCS matrix size, -# and such, but they add the DEC Technical character set, Multiple text -# pages, selectable length pages, and the like. The difference between -# the vt330 and vt340 is that the latter has only 2 planes and a monochrome -# monitor, the former has 4 planes and a color monitor. These terminals -# support VT131 and ANSI block mode, but as with much of these things, -# termcap/terminfo doesn't deal with these features. -# -# Note that this entry is are set up in what was the standard way for GNU -# Emacs v18 terminal modes to deal with the cursor keys in that the arrow -# keys were switched into application mode at the same time the numeric pad -# is switched into application mode. This changes the definitions of the -# arrow keys. Emacs v19 is smarter and mines its keys directly out of -# your termcap or terminfo entry, -# -# From: Daniel Glasser , 13 Oct 1993 -# (vt340: string capability "sb=\E[M" corrected to "sr"; -# also, added / based on the init string -- esr) -vt340|dec-vt340|vt330|dec-vt330|dec vt340 graphics terminal with 24 line page, - am, eslok, hs, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - blink=\E[5m, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[J, - cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, dsl=\E[2$~\r\E[1$}\E[K\E[$}, - ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l$<200/>, fsl=\E[$}, - home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, - il1=\E[L, ind=\ED, - is2=\E<\E F\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~, - kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, lf1=pf1, lf2=pf2, - lf3=pf3, lf4=pf4, nel=^M\ED, rc=\E8, rev=\E[7m, - rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, - rmul=\E[24m, rs1=\E[?3l, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[2$~\E[1$}\E[1;%dH, - -# DEC doesn't supply a vt400 description, so we add Daniel Glasser's -# (originally written with vt420 as its primary name, and usable for it). -# -# VT400/420 -- This terminal is a superset of the vt320. It adds the multiple -# text pages and long text pages with selectable length of the vt340, along -# with left and right margins, rectangular area text copy, fill, and erase -# operations, selected region character attribute change operations, -# page memory and rectangle checksums, insert/delete column, reception -# macros, and other features too numerous to remember right now. TERMCAP -# can only take advantage of a few of these added features. -# -# Note that this entry is are set up in what was the standard way for GNU -# Emacs v18 terminal modes to deal with the cursor keys in that the arrow -# keys were switched into application mode at the same time the numeric pad -# is switched into application mode. This changes the definitions of the -# arrow keys. Emacs v19 is smarter and mines its keys directly out of -# your termcap entry, -# -# From: Daniel Glasser , 13 Oct 1993 -# (vt400: string capability ":sb=\E[M:" corrected to ":sr=\E[M:"; -# also, added / based on the init string -- esr) -vt400|vt400-24|dec-vt400|dec vt400 24x80 column autowrap, - am, eslok, hs, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[J$<10/>, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - dsl=\E[2$~\r\E[1$}\E[K\E[$}, ed=\E[J$<10/>, - el=\E[K$<4/>, flash=\E[?5h\E[?5l$<200/>, fsl=\E[$}, - home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, - il=\E[%p1%dL, il1=\E[L, ind=\ED, - is2=\E<\E F\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~, - kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, lf1=pf1, lf2=pf2, - lf3=pf3, lf4=pf4, nel=^M\ED, rc=\E8, rev=\E[7m, - rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, - rmul=\E[24m, rs1=\E<\E[?3l\E[!p\E[?7h, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[2$~\E[1$}\E[1;%dH, - -# (vt420: I removed , it collided with . I also restored -# a missing -- esr) -vt420|DEC VT420, - am, mir, xenl, xon, - cols#80, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, - if=/usr/share/tabset/vt300, il1=\E[L, ind=\ED, - is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, - kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, rc=\E8, rev=\E[7m$<2>, - rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B$<4>, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, - rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, - smkx=\E=, smso=\E[7m, smul=\E[4m, - -# DEC VT220 and up support DECUDK (user-defined keys). DECUDK (i.e., pfx) -# takes two parameters, the key and the string. Translating the key is -# straightforward (keys 1-5 are not defined on real terminals, though some -# emulators define these): -# -# if (key < 16) then value = key; -# else if (key < 21) then value = key + 1; -# else if (key < 25) then value = key + 2; -# else if (key < 27) then value = key + 3; -# else if (key < 30) then value = key + 4; -# else value = key + 5; -# -# The string must be the hexadecimal equivalent, e.g., "5052494E" for "PRINT". -# There's no provision in terminfo for emitting a string in this format, so the -# application has to know it. -# -vt420pc|DEC VT420 w/PC keyboard, - kdch1=\177, kend=\E[4~, kf1=\E[11~, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13=\E[11;2~, kf14=\E[12;2~, - kf15=\E[13;2~, kf16=\E[14;2~, kf17=\E[15;2~, - kf18=\E[17;2~, kf19=\E[18;2~, kf2=\E[12~, kf20=\E[19;2~, - kf21=\E[20;2~, kf22=\E[21;2~, kf23=\E[23;2~, - kf24=\E[24;2~, kf25=\E[23~, kf26=\E[24~, kf27=\E[25~, - kf28=\E[26~, kf29=\E[28~, kf3=\E[13~, kf30=\E[29~, - kf31=\E[31~, kf32=\E[32~, kf33=\E[33~, kf34=\E[34~, - kf35=\E[35~, kf36=\E[36~, kf37=\E[23;2~, kf38=\E[24;2~, - kf39=\E[25;2~, kf4=\E[14~, kf40=\E[26;2~, kf41=\E[28;2~, - kf42=\E[29;2~, kf43=\E[31;2~, kf44=\E[32;2~, - kf45=\E[33;2~, kf46=\E[34;2~, kf47=\E[35;2~, - kf48=\E[36;2~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, khome=\E[H, - pctrm=USR_TERM\:vt420pcdos\:, - pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\, - use=vt420, - -vt420pcdos|DEC VT420 w/PC for DOS Merge, - lines#25, - dispc=%?%p1%{19}%=%t\E\023\021%e%p1%{32}%<%t\E%p1%c%e%p1%{127}%=%t\E\177%e%p1%c%;, - pctrm@, - rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr@, - sgr0=\E[m, smsc=\E[?1;2r\E[34h, use=vt420pc, - -vt420f|DEC VT420 with VT kbd; VT400 mode; F1-F5 used as Fkeys, - kdch1=\177, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, - kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[H, lf1=\EOP, lf2=\EOQ, lf3=\EOR, lf4=\EOS, - use=vt420, - -vt510|DEC VT510, - use=vt420, -vt510pc|DEC VT510 w/PC keyboard, - use=vt420pc, -vt510pcdos|DEC VT510 w/PC for DOS Merge, - use=vt420pcdos, - -# VT520/VT525 -# -# The VT520 is a monochrome text terminal capable of managing up to -# four independent sessions in the terminal. It has multiple ANSI -# emulations (VT520, VT420, VT320, VT220, VT100, VT PCTerm, SCO Console) -# and ASCII emulations (WY160/60, PCTerm, 50/50+, 150/120, TVI 950, -# 925 910+, ADDS A2). This terminfo data is for the ANSI emulations only. -# -# Terminal Set-Up is entered by pressing [F3], [Caps Lock]/[F3] or -# [Alt]/[Print Screen] depending upon which keyboard and which -# terminal mode is being used. If Set-Up has been disabled or -# assigned to an unknown key, Set-Up may be entered by pressing -# [F3] as the first key after power up, regardless of keyboard type. -# (vt520: I added / based on the init string, also -- esr) -vt520|DEC VT520, - am, mir, xenl, xon, - cols#80, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, - if=/usr/share/tabset/vt300, il1=\E[L, ind=\ED, - is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, - kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, - pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\, - rc=\E8, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300, - ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, - rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, - smso=\E[7m, smul=\E[4m, - -# (vt525: I added / based on the init string; -# removed =\E[m, =\E[m, added -- esr) -vt525|DEC VT525, - am, mir, xenl, xon, - cols#80, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, - if=/usr/share/tabset/vt300, il1=\E[L, ind=\ED, - is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, - kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, - pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\, - rc=\E8, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300, - ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, - rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, - smso=\E[7m, smul=\E[4m, - -#### VT100 emulations -# - -# John Hawkinson tells us that the EWAN telnet for Windows -# (the best Windows telnet as of September 1995) presents the name `dec-vt100' -# to telnetd. Michael Deutschmann informs us -# that this works best with a stock vt100 entry. -dec-vt100|EWAN telnet's vt100 emulation, - use=vt100, - -# From: Adrian Garside <94ajg2@eng.cam.ac.uk>, 19 Nov 1996 -dec-vt220|DOS tnvt200 terminal emulator, - am@, use=vt220, - -# Zstem340 is an (IMHO) excellent VT emulator for PC's. I recommend it to -# anyone who needs PC VT340 emulation. (or anything below that level, for -# that matter -- DEC's ALL-in-1 seems happy with it, as does INFOPLUS's -# RDBM systems, it includes ReGIS and SiXel support! I'm impressed... -# I can send the address if requested. -# (z340: changed garbled \E[5?l to \E[?5l, DEC smooth scroll off -- esr) -# From: Adam Thompson Sept 10 1995 -z340|zstem vt340 terminal emulator 132col 42line, - lines#42, - is2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H, - use=vt320-w, -z340-nam|zstem vt340 terminal emulator 132col 42line (no automatic margins), - am@, - is2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H, - use=z340, - -# CRT is shareware. It implements some xterm features, including mouse. -crt|crt-vt220|CRT 2.3 emulating VT220, - bce, msgr, - ncv@, - hts=\EH, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, - use=vt220, use=ecma+color, - -# PuTTY 0.55 (released 3 August 2004) -# http://www.chiark.greenend.org.uk/~sgtatham/putty/ -# -# Comparing with 0.51, vttest is much better (only a few problems with the -# cursor position reports and wrapping). -# -# PuTTY 0.51 (released 14 December 2000) -# -# This emulates vt100 + vt52 (plus a few vt220 features: ech, SRM, DECTCEM, as -# well as SCO and Atari, color palettes from Linux console). Reading the code, -# it is intended to be VT102 plus selected features. By default, it sets $TERM -# to xterm, which is incorrect, since several features are misimplemented: -# -# Alt+key always sends ESC+key, so 'km' capability is removed. -# -# Control responses, wrapping and tabs are buggy, failing a couple of -# screens in vttest. -# -# xterm mouse support is not implemented (unrelease version may). -# -# Several features such as backspace/delete are optional; this entry documents -# the default behavior -TD - -putty|PuTTY terminal emulator, - am, bce, bw, ccc, hs, mir, msgr, xenl, xon, - colors#8, it#8, ncv#22, pairs#64, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\ED, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM, - dch=\E[%p1%dP, dch1=\E[P, - dispc=%?%p1%{8}%=%t\E%%G\342\227\230\E%%@%e%p1%{10}%=%t\E%%G\342\227\231\E%%@%e%p1%{12}%=%t\E%%G\342\231\0\E%%@%e%p1%{13}%=%t\E%%G\342\231\252\E%%@%e%p1%{14}%=%t\E%%G\342\231\253\E%%@%e%p1%{15}%=%t\E%%G\342\230\274\E%%@%e%p1%{27}%=%t\E%%G\342\206\220\E%%@%e%p1%{155}%=%t\E%%G\340\202\242\E%%@%e%p1%c%;, - dl=\E[%p1%dM, dl1=\E[M, dsl=\E]0;\007, ech=\E[%p1%dX, - ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0, - flash=\E[?5h\E[?5l, fsl=^G, home=\E[H, hpa=\E[%i%p1%dG, - ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, - indn=\E[%p1%dS, - initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x, - is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R, - kb2=\E[G, kbs=\177, kcan=^C, kcbt=\E[Z, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, - kend=\E[4~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, - kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - kspd=^Z, nel=^M^J, oc=\E]R, op=\E[39;49m, rc=\E8, rev=\E[7m, - ri=\EM, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, - rmcup=\E[2J\E[?47l, rmir=\E[4l, rmpch=\E[10m, - rmso=\E[27m, rmul=\E[24m, - rs2=\E<\E["p\E[50;6"p\Ec\E[?3l\E]R\E[?1000l, - s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[?47h, - smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, tsl=\E]0;, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, - u9=\E[c, vpa=\E[%i%p1%dd, -vt100-putty|Reset Putty to pure vt100, - rs2=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p, - use=vt100, - -# This entry is for Tera Term Pro version 2.3, for MS-Windows 95/NT written by -# T. Teranishi dated Mar 10, 1998. It is a free software terminal emulator -# (communication program) which supports: -# -# - Serial port connections. -# - TCP/IP (telnet) connections. -# - VT100 emulation, and selected VT200/300 emulation. -# - TEK4010 emulation. -# - File transfer protocols (Kermit, XMODEM, ZMODEM, B-PLUS and -# Quick-VAN). -# - Scripts using the "Tera Term Language". -# - Japanese and Russian character sets. -# -# The program does not come with terminfo or termcap entries. However, the -# emulation (testing with vttest and ncurses) is reasonably close to vt100 (no -# vt52 or doublesize character support; blinking is done with color). Besides -# the HPA, VPA extensions it also implements CPL and CNL. -# -# All of the function keys can be remapped. This description shows the default -# mapping, as installed. Both vt100 PF1-PF4 keys and quasi-vt220 F1-F4 keys -# are supported. F13-F20 are obtained by shifting F3-F10. The editing keypad -# is laid out like vt220, rather than the face codes on the PC keyboard, i.e, -# kfnd Insert -# kslt Delete -# kich1 Home -# kdch1 PageUp -# kpp End -# knp PageDown -# -# ANSI colors are implemented, but cannot be combined with video attributes -# except for reverse. -# -# No fonts are supplied with the program, so the acsc string is chosen to -# correspond with the default Microsoft terminal font. -# -# Tera Term recognizes some xterm sequences, including those for setting and -# retrieving the window title, and for setting the window size (i.e., using -# "resize -s"), though it does not pass SIGWINCH to the application if the -# user resizes the window with the mouse. -teraterm|Tera Term Pro, - km, xon@, - ncv#43, vt@, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - blink=\E[5m, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[J, - cnorm=\E[?25h, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, - flash=\E[?5h\E[?5l$<200/>, hpa=\E[%i%p1%dG, - il=\E[%p1%dL, il1=\E[L, kdch1=\E[3~, kf1=\E[11~, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, - kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, - kpp=\E[5~, kslt=\E[4~, op=\E[100m, rev=\E[7m, ri=\EM, - rmso=\E[27m, rmul=\E[24m, sgr0=\E[0m\017, smso=\E[7m, - smul=\E[4m, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, - vpa=\E[%i%p1%dd, use=klone+color, use=vt100, - -# Tested with WinNT 4.0, the telnet application assumes the screensize is -# 25x80. This entry uses the 'Terminal' font, to get line-drawing characters. -# -# Other notes: -# a) Fails tack's cup (cursor-addressing) test, though cup works well enough -# for casual (occasional) use. Also fails several of the vttest screens, -# but that is not unusual for vt100 "emulators". -# b) Does not implement vt100 keypad -# c) Recognizes a subset of vt52 controls. -ms-vt100|MS telnet imitating dec vt100, - lines#25, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - ka1@, ka3@, kb2@, kc1@, kc3@, kent@, kf0@, kf1@, kf10@, kf2@, kf3@, kf4@, - kf5@, kf6@, kf7@, kf8@, kf9@, tbc@, u6=\E[%i%d;%dR, u7=\E[6n, - u8=\E[?6c, u9=\E[c, use=vt100, - -# Tested with Windows 2000, the telnet application runs in a console window, -# also using 'Terminal' font. -# -# Other notes: -# a) This version has no function keys or numeric keypad. Unlike the older -# version, the numeric keypad is entirely ignored. -# b) The program sets $TERM to "ansi", which of course is inaccurate. -ms-vt100-color|vtnt|windows 2000 ansi (sic), - bce, - dch=\E[%p1%dP, ich=\E[%p1%d@, use=ecma+color, - use=ms-vt100, - -# Based on comments from Federico Bianchi: -# -# vt100+ is basically a VT102-noSGR with ANSI.SYS colors and a different -# scheme for PF keys. -# -# and PuTTY wishlist: -# -# The modifiers are represented as the codes listed above, prefixed to -# the normal sequences. If the modifier is pressed alone, its sequence -# is transmitted twice in succession. If multiple modifiers apply, -# they're transmitted in the order shift, control, alt. -# -# Shift \E^S -# Alt \E^A, -# Ctrl \E^C, -ms-vt100+|vt100+|windows XP vt100+ (sic), - kdch1=\E-, kend=\Ek, kf1=\E1, kf10=\E0, kf11=\E!, kf12=\E@, - kf13=\E\023\E1, kf14=\E\023\E2, kf15=\E\023\E3, - kf16=\E\023\E4, kf17=\E\023\E5, kf18=\E\023\E6, - kf19=\E\023\E7, kf2=\E2, kf20=\E\023\E8, kf21=\E\023\E9, - kf22=\E\023\E0, kf23=\E\023\E!, kf24=\E\023\E@, - kf25=\E\003\E1, kf26=\E\003\E2, kf27=\E\003\E3, - kf28=\E\003\E4, kf29=\E\003\E5, kf3=\E3, kf30=\E\003\E6, - kf31=\E\003\E7, kf32=\E\003\E8, kf33=\E\003\E9, - kf34=\E\003\E0, kf35=\E\003\E!, kf36=\E\003\E@, - kf37=\E\001\E1, kf38=\E\001\E2, kf39=\E\001\E3, kf4=\E4, - kf40=\E\001\E4, kf41=\E\001\E5, kf42=\E\001\E6, - kf43=\E\001\E7, kf44=\E\001\E8, kf45=\E\001\E9, - kf46=\E\001\E0, kf47=\E\001\E!, kf48=\E\001\E@, kf5=\E5, - kf6=\E6, kf7=\E7, kf8=\E8, kf9=\E9, khome=\Eh, kich1=\E+, - knp=\E/, kpp=\E?, use=ms-vt100-color, - -ms-vt-utf8|vt-utf8|UTF-8 flavor of vt100+, - use=ms-vt100+, - -# a minimal subset of a vt100 (compare with "news-unk). -tt|tkterm|Don Libes' tk text widget terminal emulator, - clear=\E[H\E[J, cr=^M, cuf1=\E[C, cup=\E[%p1%d;%p2%dH, - cuu1=\E[A, ind=^J, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, - kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, rmso=\E[m, - smso=\E[7m, - -#### X terminal emulators -# -# You can add the following line to your .Xdefaults to change the terminal type -# set by the xterms you start up to my-xterm: -# -# *termName: my-xterm -# -# System administrators can change the default entry for xterm instances -# by adding a similar line to /usr/X11/lib/X11/app-defaults/XTerm. In either -# case, xterm will detect and reject an invalid terminal type, falling back -# to the default of xterm. -# - -# X10/6.6 11/7/86, minus alternate screen, plus (csr) -# (xterm: ":MT:" changed to ":km:"; added / based on init string; -# removed (hs, eslok, tsl=\E[?E\E[?%i%dT, fsl=\E[?F, dsl=\E[?E) -# as these seem not to work -- esr) -x10term|vs100-x10|xterm terminal emulator (X10 window system), - OTbs, am, km, mir, msgr, xenl, xon, - cols#80, it#8, lines#65, - bold=\E[1m, clear=\E[H\E[2J, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, il=\E[%p1%dL, - il1=\E[L, ind=^J, is2=\E\E[m\E[?7h\E[?1;4l, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, rev=\E[7m, ri=\EM, rmam=\E[?7l, - rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smam=\E[?7h, smir=\E[4h, smkx=\E[?1h\E=, - smso=\E[7m, smul=\E[4m, -# Compatible with the R5 xterm -# (from the XFree86 3.2 distribution, removed) -# added khome/kend, rmir/smir, rmul/smul, hts based on the R5 xterm code - TD -# corrected typos in rs2 string - TD -# added u6-u9 -TD -xterm-r5|xterm R5 version, - OTbs, am, km, msgr, xenl, - cols#80, it#8, lines#24, - bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, - il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, - kdl1=\E[31~, kel=\E[8~, kend=\E[4~, kf0=\EOq, kf1=\E[11~, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, - kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, - kil1=\E[30~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, rc=\E8, - rev=\E[7m, ri=\EM, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, - rmul=\E[m, - rs2=\E>\E[?1;3;4;5;6l\E[4l\E[?7h\E[m\E[r\E[2J\E[H, - sc=\E7, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m, - sgr0=\E[m, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, - u8=\E[?1;2c, u9=\E[c, -# Compatible with the R6 xterm -# (from XFree86 3.2 distribution, and added, removed) -# added khome/kend, hts based on the R6 xterm code - TD -# (khome/kend do not actually work in X11R5 or X11R6, but many people use this -# for compatibility with other emulators). -xterm-r6|xterm-old|xterm X11R6 version, - OTbs, am, km, mir, msgr, xenl, - cols#80, it#8, lines#24, - acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, enacs=\E)0, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, - il1=\E[L, ind=^J, - is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, - kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - kfnd=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, meml=\El, memu=\Em, rc=\E8, rev=\E[7m, ri=\EM, - rmacs=^O, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>, sc=\E7, - sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, -# This is the base xterm entry for the xterm supplied with XFree86 3.2 & up. -# The name has been changed and some aliases have been removed. -xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System), - OTbs, am, bce, km, mir, msgr, xenl, - cols#80, it#8, lines#24, ncv@, - acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0, - flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG, - ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, - il1=\E[L, ind=^J, - is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, - kbeg=\EOE, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, - kcuu1=\EOA, kdch1=\177, kend=\EOF, kf1=\E[11~, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, - kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, - kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, - kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, - kf9=\E[20~, kfnd=\E[1~, khome=\EOH, kich1=\E[2~, - kmous=\E[M, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, meml=\El, - memu=\Em, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l, - rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>, - rmso=\E[27m, rmul=\E[24m, rs1=^O, - rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>, sc=\E7, - setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h, - smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, - vpa=\E[%i%p1%dd, use=ecma+color, use=vt220+keypad, - -# This is the stock xterm entry supplied with XFree86 3.3, which uses VT100 -# codes for F1-F4 except while in VT220 mode. -xterm-xf86-v33|xterm terminal emulator (XFree86 3.3 Window System), - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, use=xterm-xf86-v32, - -# This version was released in XFree86 3.3.3 (November 1998). -# Besides providing printer support, it exploits a new feature that allows -# xterm to use terminfo-based descriptions with the titeInhibit resource. -# -- the distribution contained incorrect khome/kend values -TD -xterm-xf86-v333|xterm terminal emulator (XFree86 3.3.3 Window System), - mc5i, - blink=\E[5m, ich1@, invis=\E[8m, - is2=\E[!p\E[?3;4l\E[4l\E>, kdch1=\E[3~, kfnd@, kslt@, - mc0=\E[i, mc4=\E[4i, mc5=\E[5i, rmcup=\E[?1047l\E[?1048l, - rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - smcup=\E[?1048h\E[?1047h, use=xterm-xf86-v33, - -# This version was released in XFree86 4.0. -xterm-xf86-v40|xterm terminal emulator (XFree86 4.0 Window System), - npc, - kDC=\E[3;5~, kEND=\EO5F, kHOM=\EO5H, kIC=\E[2;5~, - kLFT=\EO5D, kNXT=\E[6;5~, kPRV=\E[5;5~, kRIT=\EO5C, ka1@, - ka3@, kb2=\EOE, kc1@, kc3@, kcbt=\E[Z, kdch1=\E[3~, kend=\EOF, - kf13=\EO2P, kf14=\EO2Q, kf15=\EO2R, kf16=\EO2S, - kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~, - kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~, - kf23=\E[23;2~, kf24=\E[24;2~, kf25=\EO5P, kf26=\EO5Q, - kf27=\EO5R, kf28=\EO5S, kf29=\E[15;5~, kf30=\E[17;5~, - kf31=\E[18;5~, kf32=\E[19;5~, kf33=\E[20;5~, - kf34=\E[21;5~, kf35=\E[23;5~, kf36=\E[24;5~, kf37=\EO6P, - kf38=\EO6Q, kf39=\EO6R, kf40=\EO6S, kf41=\E[15;6~, - kf42=\E[17;6~, kf43=\E[18;6~, kf44=\E[19;6~, - kf45=\E[20;6~, kf46=\E[21;6~, kf47=\E[23;6~, - kf48=\E[24;6~, khome=\EOH, rmcup=\E[?1049l, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - smcup=\E[?1049h, use=xterm-xf86-v333, - -# This version was released in XFree86 4.3. -xterm-xf86-v43|xterm terminal emulator (XFree86 4.3 Window System), - kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~, - kLFT=\E[1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\E[1;2C, - kbeg@, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - use=xterm-xf86-v40, - -# This version was released in XFree86 4.4. -xterm-xf86-v44|xterm terminal emulator (XFree86 4.4 Window System), - cnorm=\E[?12l\E[?25h, cvvis=\E[?12;25h, indn=\E[%p1%dS, - rin=\E[%p1%dT, use=xterm-xf86-v43, - -# This is the most common alias for xterm-new. -xterm-xfree86|xterm terminal emulator (XFree86), - use=xterm-new, -# use=xterm-old, - -# This version is current (XFree86 xterm patch #192). -xterm-new|modern xterm terminal emulator, - npc, - indn=\E[%p1%dS, kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, - kIC=\E[2;2~, kLFT=\E[1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, - kRIT=\E[1;2C, kb2=\EOE, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, - kcuf1=\EOC, kcuu1=\EOA, kend=\EOF, kent=\EOM, khome=\EOH, - kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - rin=\E[%p1%dT, use=xterm+pcfkeys, use=xterm-basic, -# -# This fragment describes as much of XFree86 xterm's "pc-style" function -# keys as will fit into terminfo's 60 function keys. -# From ctlseqs.ms: -# Code Modifiers -# --------------------------------- -# 2 Shift -# 3 Alt -# 4 Shift + Alt -# 5 Control -# 6 Shift + Control -# 7 Alt + Control -# 8 Shift + Alt + Control -# --------------------------------- -# The meta key may also be used as a modifier in this scheme, adding another -# bit to the parameter. -xterm+pcfkeys|fragment for PC-style fkeys, - kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, - kf13=\EO2P, kf14=\EO2Q, kf15=\EO2R, kf16=\EO2S, - kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~, kf2=\EOQ, - kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~, - kf23=\E[23;2~, kf24=\E[24;2~, kf25=\EO5P, kf26=\EO5Q, - kf27=\EO5R, kf28=\EO5S, kf29=\E[15;5~, kf3=\EOR, - kf30=\E[17;5~, kf31=\E[18;5~, kf32=\E[19;5~, - kf33=\E[20;5~, kf34=\E[21;5~, kf35=\E[23;5~, - kf36=\E[24;5~, kf37=\EO6P, kf38=\EO6Q, kf39=\EO6R, - kf4=\EOS, kf40=\EO6S, kf41=\E[15;6~, kf42=\E[17;6~, - kf43=\E[18;6~, kf44=\E[19;6~, kf45=\E[20;6~, - kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~, kf49=\EO3P, - kf5=\E[15~, kf50=\EO3Q, kf51=\EO3R, kf52=\EO3S, - kf53=\E[15;3~, kf54=\E[17;3~, kf55=\E[18;3~, - kf56=\E[19;3~, kf57=\E[20;3~, kf58=\E[21;3~, - kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~, kf61=\EO4P, - kf62=\EO4Q, kf63=\EO4R, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - kDN=\E[1;2B, kDN5=\E[1;5B, kDN6=\E[1;6B, kLFT5=\E[1;5D, - kLFT6=\E[1;6D, kRIT5=\E[1;5C, kRIT6=\E[1;6C, kUP=\E[1;2A, - kUP5=\E[1;5A, kUP6=\E[1;6A, -# -# This chunk is used for building the VT220/Sun/PC keyboard variants. -xterm-basic|xterm terminal emulator - common (XFree86), - OTbs, am, bce, km, mc5i, mir, msgr, xenl, AX, - colors#8, cols#80, it#8, lines#24, pairs#64, - acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[2J, cnorm=\E[?12l\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, - flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG, - ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, - ind=^J, invis=\E[8m, is2=\E[!p\E[?3;4l\E[4l\E>, kbs=^H, - kdch1=\E[3~, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, meml=\El, - memu=\Em, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, - rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?1049l, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, rs1=\Ec, - rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, setab=\E[4%p1%dm, - setaf=\E[3%p1%dm, - setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m, - sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smcup=\E[?1049h, - smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, - vpa=\E[%i%p1%dd, - -# From: David J. MacKenzie , 14 Nov 1997 -# In retrospect, something like xterm-r6 was intended here -TD -xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1, - rmso=\E[m, rmul=\E[m, use=xterm-xf86-v33, - -# This is one of the variants of XFree86 3.3 xterm, updated for 4.0 (T.Dickey) -xterm-16color|xterm with 16 colors like aixterm, - ncv#32, use=ibm+16color, use=xterm-new, - -# These variants of XFree86 3.9.16 xterm are built as a configure option. -xterm-256color|xterm with 256 colors, - ccc, - colors#256, pairs#32767, - initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\, - setab=\E[48;5;%p1%dm, setaf=\E[38;5;%p1%dm, - setb=\E[48;5;%p1%dm, setf=\E[38;5;%p1%dm, - use=xterm-new, -xterm-88color|xterm with 88 colors, - colors#88, pairs#7744, use=xterm-256color, - -# These two are used to demonstrate the any-event mouse support, i.e., by -# using an extended name "XM" which tells ncurses to put the terminal into -# a special mode when initializing the xterm mouse. -xterm-1002|testing xterm-mouse, - XM=\E[?1002%?%p1%{1}%=%th%el%;, use=xterm-new, -xterm-1003|testing xterm-mouse, - XM=\E[?1003%?%p1%{1}%=%th%el%;, use=xterm-new, - -# This is another variant, for XFree86 4.0 xterm (T.Dickey) -# This is an 8-bit version of xterm, which emulates DEC vt220 with ANSI color. -# To use it, your decTerminalID resource must be set to 200 or above. -# -# HTS \E H \210 -# RI \E M \215 -# SS3 \E O \217 -# CSI \E [ \233 -# -xterm-8bit|xterm terminal emulator 8-bit controls (X Window System), - OTbs, am, bce, km, mc5i, mir, msgr, npc, xenl, AX, - colors#8, cols#80, it#8, lines#24, pairs#64, - acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\2335m, bold=\2331m, cbt=\233Z, - civis=\233?25l, clear=\233H\2332J, - cnorm=\233?25l\233?25h, cr=^M, csr=\233%i%p1%d;%p2%dr, - cub=\233%p1%dD, cub1=^H, cud=\233%p1%dB, cud1=^J, - cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH, - cuu=\233%p1%dA, cuu1=\233A, cvvis=\233?12;25h, - dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, dl1=\233M, - ech=\233%p1%dX, ed=\233J, el=\233K, el1=\2331K, - flash=\233?5h$<100/>\233?5l, home=\233H, - hpa=\233%i%p1%dG, ht=^I, hts=\210, ich=\233%p1%d@, - il=\233%p1%dL, il1=\233L, ind=^J, invis=\2338m, - is2=\E[62"p\E G\233m\233?7h\E>\E7\233?1;3;4;6l\2334l\233r\E8, - ka1=\217w, ka3=\217u, kb2=\217y, kbeg=\217E, kbs=^H, - kc1=\217q, kc3=\217s, kcbt=\233Z, kcub1=\217D, kcud1=\217B, - kcuf1=\217C, kcuu1=\217A, kdch1=\2333~, kend=\2334~, - kent=\217M, kf1=\23311~, kf10=\23321~, kf11=\23323~, - kf12=\23324~, kf13=\23325~, kf14=\23326~, kf15=\23328~, - kf16=\23329~, kf17=\23331~, kf18=\23332~, kf19=\23333~, - kf2=\23312~, kf20=\23334~, kf3=\23313~, kf4=\23314~, - kf5=\23315~, kf6=\23317~, kf7=\23318~, kf8=\23319~, - kf9=\23320~, khome=\2331~, kich1=\2332~, kmous=\233M, - knp=\2336~, kpp=\2335~, mc0=\233i, mc4=\2334i, mc5=\2335i, - meml=\El, memu=\Em, op=\23339;49m, rc=\E8, rev=\2337m, - ri=\215, rmacs=\E(B, rmam=\233?7l, rmcup=\233?1049l, - rmir=\2334l, rmkx=\233?1l\E>, rmso=\23327m, rmul=\23324m, - rs1=\Ec, - rs2=\E[62"p\E G\233m\233?7h\E>\E7\233?1;3;4;6l\2334l\233r\E8, - sc=\E7, setab=\2334%p1%dm, setaf=\2333%p1%dm, - setb=\2334%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - setf=\2333%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h, - smcup=\233?1049h, smir=\2334h, smkx=\233?1h\E=, - smso=\2337m, smul=\2334m, tbc=\2333g, u6=\233[%i%d;%dR, - u7=\E[6n, u8=\233[?1;2c, u9=\E[c, vpa=\233%i%p1%dd, - -xterm-hp|XFree86 xterm with hpterm function keys, - kclr=\EJ, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - kdch1=\EP, kend=\EF, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, - kf5=\Et, kf6=\Eu, kf7=\Ev, kf8=\Ew, khome=\Eh, kich1=\EQ, - knp=\ES, kpp=\ET, use=xterm-basic, - -xterm-sco|XFree86 xterm with SCO function keys, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[F, - kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X, kf13=\E[Y, - kf15=\E[a, kf16=\E[b, kf17=\E[c, kf18=\E[d, kf19=\E[e, - kf2=\E[N, kf20=\E[f, kf21=\E[g, kf22=\E[h, kf23=\E[i, - kf24=\E[j, kf25=\E[k, kf26=\E[l, kf27=\E[m, kf28=\E[n, - kf29=\E[o, kf3=\E[O, kf30=\E[p, kf31=\E[q, kf32=\E[r, - kf33=\E[s, kf34=\E[t, kf35=\E[u, kf4=\E[P, kf5=\E[Q, - kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, - kich1=\E[L, knp=\E[G, kpp=\E[I, use=xterm-basic, - -# The xterm-new description has all of the features, but is not completely -# compatible with vt220. If you are using a Sun or PC keyboard, set the -# sunKeyboard resource to true: -# + maps the editing keypad -# + interprets control-function-key as a second array of keys, so a -# 12-fkey keyboard can support vt220's 20-fkeys. -# + maps numeric keypad "+" to ",". -# + uses DEC-style control sequences for the application keypad. -# -xterm-vt220|XFree86 xterm emulating vt220, - kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kend=\E[4~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, - kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, - kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~, - kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - use=xterm-basic, use=vt220+keypad, - -xterm-vt52|XFree86 xterm emulating dec vt52, - cols#80, it#8, lines#24, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, clear=\EH\EJ, cr=^M, cub1=\ED, cud1=\EB, cuf1=\EC, - cup=\EY%p1%' '%+%c%p2%' '%+%c, cuu1=\EA, ed=\EJ, el=\EK, - home=\EH, ht=^I, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, nel=^M^J, ri=\EI, rmacs=\EG, smacs=\EF, - -xterm-noapp|xterm with cursor keys in normal mode, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, rmcup@, - rmkx=\E>, smcup@, smkx=\E=, use=xterm, - -xterm-24|vs100|xterms|xterm terminal emulator (X Window System), - lines#24, use=xterm-r6, - -# This is xterm for ncurses. -xterm|xterm terminal emulator (X Window System), - use=xterm-new, - -# These entries allow access to the X titlebar and icon name as a status line. -# Note that twm (and possibly window managers descended from it such as tvtwm, -# ctwm, and vtwm) track windows by icon-name; thus, you don't want to mess -# with it. -xterm+sl|access X title line and icon name, - hs, - wsl#40, - dsl=\E]0;\007, fsl=^G, tsl=\E]0;, use=xterm, -xterm+sl-twm|access X title line (pacify twm-descended window managers), - hs, - wsl#40, - dsl=\E]2;\007, fsl=^G, tsl=\E]2;, use=xterm, - -# -# The following xterm variants don't depend on your base version -# -# xterm with bold instead of underline -xterm-bold|xterm terminal emulator (X11R6 Window System) standout w/bold, - smso=\E[7m, smul=\E[1m, use=xterm, -# (kterm: this had extension capabilities ":KJ:TY=ascii:" -- esr) -# (kterm should not invoke DEC Graphics as the alternate character set -# -- Kenji Rikitake) -# (proper setting of enacs, smacs, rmacs makes kterm to use DEC Graphics -# -- MATSUMOTO Shoji) -kterm|kterm kanji terminal emulator (X window system), - eslok, hs, - acsc=++\,\,--..00ii``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - csr=\E[%i%p1%d;%p2%dr, dsl=\E[?H, enacs=, fsl=\E[?F, - kmous=\E[M, rc=\E8, rmacs=\E(B, rmam=\E[?7l, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, - tsl=\E[?E\E[?%i%p1%dT, use=xterm-r6, use=ecma+color, -kterm-color|kterm-co|kterm with ANSI colors, - ncv@, use=kterm, use=ecma+color, -# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file -xterm-nic|xterm with ich/ich1 suppressed for non-curses programs, - ich@, ich1@, use=xterm, -# From: Mark Sheppard , 4 May 1996 -xterm1|xterm terminal emulator ignoring the alternate screen buffer, - rmcup@, smcup@, use=xterm, - -# This describes the capabilities of color_xterm, an xterm variant from -# before ECMA-64 color support was folded into the main-line xterm release. -# This entry is straight from color_xterm's maintainer. -# From: Jacob Mandelson , 09 Nov 1996 -# The README's with the distribution also say that it supports SGR 21, 24, 25 -# and 27, but they are not present in the terminfo or termcap. -color_xterm|cx|cx100|color_xterm color terminal emulator for X, - OTbs, am, km, mir, msgr, xenl, - cols#80, it#8, lines#65, ncv@, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, el1=\E[1K, enacs=\E(B\E)0, home=\E[H, ht=^I, - ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J, - is1=\E[r\E[m\E[?7h\E[?4;6l\E[4l, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[8~, kf1=\E[11~, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, - kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, khome=\E[7~, kich1=\E[2~, - kmous=\E[M, knp=\E[6~, kpp=\E[5~, rc=\E8, rev=\E[7m, ri=\EM, - rmacs=^O, rmam=\E[?7l, rmcup=\E>\E[?41;1r, rmir=\E[4l, - rmso=\E[27m, rmul=\E[24m, - rs1=\E(B\017\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E<, - sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[0m\017, smacs=^N, smam=\E[?7h, - smcup=\E[?1;41s\E[?1;41h\E=, smir=\E[4h, smso=\E[7m, - smul=\E[4m, use=ecma+color, use=vt220+keypad, - -# The 'nxterm' distributed with Redhat Linux 5.2 is a slight rehack of -# xterm-sb_right-ansi-3d, which implements ANSI colors, but does not support -# SGR 39 or 49. SGR 0 does reset colors (along with everything else). This -# description is "compatible" with color_xterm, rxvt and XFree86 xterm, except -# that each of those implements the home, end, delete keys differently. -# -# Redhat Linux 6.x distributes XFree86 xterm as "nxterm", which uses bce -# colors; note that this is not compatible with the 5.2 version. -# csw (2002-05-15): make xterm-color primary instead of nxterm, to -# match XFree86's xterm.terminfo usage and prevent circular links -xterm-color|nxterm|generic color xterm, - ncv@, - op=\E[m, use=xterm-r6, use=klone+color, - -# this describes the alpha-version of Gnome terminal shipped with Redhat 6.0 -gnome-rh62|Gnome terminal, - bce, - kdch1=\177, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, - use=xterm-color, - -# GNOME Terminal 1.4.0.4 (Redhat 7.2) -# -# This implements a subset of vt102 with a random selection of features from -# other terminals such as color and function-keys. -# -# shift-f1 to shift-f10 are f11 to f20 -# -# NumLock changes the application keypad to approximate vt100 keypad, except -# that there is no escape sequence matching comma (,). -# -# Other defects observed: -# vt100 LNM mode is not implemented. -# vt100 80/132 column mode is not implemented. -# vt100 DECALN is not implemented. -# vt100 DECSCNM mode is not implemented, so flash does not work. -# vt100 TBC (tab reset) is not implemented. -# xterm alternate screen controls do not restore cursor position properly -# it hangs in tack after running function-keys test. -gnome-rh72|GNOME Terminal, - bce, - civis=\E[?25l, cnorm=\E[?25h, kdch1=\E[3~, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, rmam=\E[?7l, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\016%e\017%;, - sgr0=\E[0m\017, smam=\E[?7h, tbc@, use=xterm-color, - -# GNOME Terminal 2.0.1 (Redhat 8.0) -# -# Documentation now claims it implements vt220 (which is demonstrably false). -# However, it does implement ECH, which is a vt220 feature. And there are -# workable vt100 LNM, DECALN, DECSNM modes, making it possible to display -# more of its bugs using vttest. -# -# However, note that bce and msgr are broken in this release. Tabs (tbc and -# hts) are broken as well. Sometimes flash (as in xterm-new) works. -# -# kf1 and kf10 are not tested since they're assigned (hardcoded?) to menu -# operations. Shift-tab generates a distinct sequence so it can be argued -# that it implements kcbt. -gnome-rh80|GNOME Terminal, - bce@, msgr@, - ech=\E[%p1%dX, flash=\E[?5h$<100/>\E[?5l, kbs=\177, - kcbt=\E^I, op=\E[39;49m, use=gnome-rh72, - -# GNOME Terminal 2.2.1 (Redhat 9.0) -# -# bce and msgr are repaired. -gnome-rh90|GNOME Terminal, - bce, msgr, - hpa=\E[%i%p1%dG, kDC=\E[3;2~, kLFT=\EO2D, kRIT=\EO2C, - kb2=\E[E, kcbt=\E[Z, kend=\EOF, khome=\EOH, tbc=\E[3g, - vpa=\E[%i%p1%dd, use=xterm+pcfkeys, use=gnome-rh80, - -gnome|GNOME Terminal, - rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h, - use=gnome-rh90, - -# This is kvt 0-18.7, shipped with Redhat 6.0 (though whether it supports bce -# or not is debatable). -kvt|KDE terminal, - bce, km@, - kdch1=\177, kend=\E[F, khome=\E[H, use=xterm-color, - -# Konsole 1.0.1 -# (formerly known as kvt) -# -# This program hardcodes $TERM to 'xterm', which is not accurate. However, to -# simplify this entry (and point out why konsole isn't xterm), we base this on -# xterm-r6. The default keyboard appears to be 'linux'. -# -# Notes: -# a) konsole implements several features from XFree86 xterm, though none of -# that is documented - except of course in its source code - apparently -# because its implementors are unaccustomed to reading documentation - as -# evidenced by the sparse and poorly edited documentation distributed with -# konsole. Some features such as the 1049 private mode are recognized but -# incorrectly implemented as a duplicate of the 47 private mode. -# b) even with the "vt100 (historical)" keyboard setting, the numeric keypad -# sends PC-style escapes rather than vt100. -# c) fails vttest menu 3 (Test of character sets) because it does not properly -# parse some control sequences. Also fails vttest Primary Device Attributes -# by sending a bogus code (in the source it says it's supposed to be a -# vt220, which is doubly incorrect because it does not implement vt220 -# control sequences except for a few special cases). Treat it as a -# mildly-broken vt102. -# -# Update for konsole 1.3.2: -# The 1049 private mode works (but see the other xterm screens in vttest). -# Primary Device Attributes now returns the code for a vt100 with advanced -# video option. Perhaps that's intended to be a "mildly-broken vt102". -konsole-base|KDE console window, - bce, km@, npc, - bel@, blink=\E[5m, civis=\E[?25l, cnorm=\E[?25h, - ech=\E[%p1%dX, flash=\E[?5h$<100/>\E[?5l, - hpa=\E[%i%p1%dG, indn=\E[%p1%dS, kbs=\177, kdch1@, - kend=\E[4~, kf1@, kf10@, kf11@, kf12@, kf13@, kf14@, kf15@, kf16@, - kf17@, kf18@, kf19@, kf2@, kf20@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, - kf9@, kfnd@, khome=\E[1~, kslt@, rin=\E[%p1%dT, rmam=\E[?7l, - rmso=\E[27m, rmul=\E[24m, - rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[0m\017, smam=\E[?7h, vpa=\E[%i%p1%dd, - use=ecma+color, use=xterm-r6, -konsole-linux|KDE console window with linux keyboard, - kdch1=\E[3~, kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13@, kf14@, kf15@, kf16@, kf17@, kf18@, kf19@, - kf2=\E[[B, kf20@, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - use=konsole-base, -# KDE's "XFree86 3.x.x" keyboard is based on reading the xterm terminfo rather -# than testing the code. -konsole-xf3x|KDE console window with keyboard for XFree86 3.x xterm, - kend=\E[4~, khome=\E[1~, use=konsole-vt100, -# The value for kbs reflects local customization rather than the settings used -# for XFree86 xterm. -konsole-xf4x|KDE console window with keyboard for XFree86 4.x xterm, - kend=\EOF, kf1=\EOP, kf13=\EO2P, kf14=\EO2Q, kf15=\EO2R, - kf16=\EO2S, kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~, - kf2=\EOQ, kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~, - kf23=\E[23;2~, kf24=\E[24;2~, kf3=\EOR, kf4=\EOS, - khome=\EOH, use=konsole-vt100, -# KDE's "vt100" keyboard has no relationship to any terminal that DEC made, but -# it is still useful for deriving the other entries. -konsole-vt100|KDE console window with vt100 (sic) keyboard, - kbs=\177, kdch1=\E[3~, kend=\E[F, kf1=\E[11~, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13@, kf14@, kf15@, kf16@, kf17@, - kf18@, kf19@, kf2=\E[12~, kf20@, kf3=\E[13~, kf4=\E[14~, - kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[H, use=konsole-base, -konsole-vt420pc|KDE console window with vt420 pc keyboard, - kbs=^H, kdch1=\177, use=konsole-vt100, -konsole-16color|klone of xterm-16color, - ncv#32, use=ibm+16color, use=konsole, -# make a default entry for konsole -konsole|KDE console window, - use=konsole-xf4x, - -# Based on mlterm 2.8.0's mlterm.ti, with corrections/additions from reading -# the source code and running tack -TD -# -# This is nominally a vt102 emulator, with features borrowed from rxvt and -# xterm. -# -# There are some problems with vttest: -# save/restore cursor doesn't restore character -# test of character sets leaves it in line-drawing mode. -mlterm|multi lingual terminal emulator, - am, eslok, km, mc5i, mir, msgr, npc, xenl, - colors#8, cols#80, it#8, lines#24, pairs#64, - acsc=00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=, - home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, - is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, - kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kend=\EOF, kent=\EOM, kf1=\E[11~, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~, - kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, - kf9=\E[20~, kfnd=\E[1~, khome=\EOH, kich1=\E[2~, - kmous=\E[M, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, mc0=\E[i, - nel=\EE, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, - rin=\E[%p1%dT, rmacs=\E(B, rmam=\E[?7l, - rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>, - rmso=\E[m, rmul=\E[m, - rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l, - sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smcup=\E7\E[?47h, - smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, - vpa=\E[%i%p1%dd, - -# From: Thomas Dickey 04 Oct 1997 -# Updated: Oezguer Kesim 02 Nov 1997 -# Notes: -# rxvt 2.21b uses -# smacs=\E(B\E)U^N, rmacs=\E(B\E)0^O, -# but some applications don't work with that. -# It also has an AIX extension -# box2=lqkxjmwuvtn, -# and -# ech=\E[%p1%dX, -# but the latter does not work correctly. -# -# The distributed terminfo says it implements hpa and vpa, but they are not -# implemented correctly, using relative rather than absolute positioning. -# -# rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM. -# Since rxvt is not really compatible with xterm, it should be configured as -# "rxvt" (monochrome) and "rxvt-color". -# -# removed dch/dch1 because they are inconsistent with bce/ech -TD -rxvt-basic|rxvt terminal base (X Window System), - OTbs, am, bce, eo, km, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - enacs=\E(B\E)0, flash=\E[?5h\E[?5l, home=\E[H, ht=^I, - hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, - ind=^J, is1=\E[?47l\E=\E[?1l, - is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H, - kcbt=\E[Z, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, - rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E>, rmso=\E[27m, - rmul=\E[24m, - rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, - rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h, - s0ds=\E(B, s1ds=\E(0, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[0m\017, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, - smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - use=vt220+keypad, use=rxvt+pcfkeys, -# Key Codes from rxvt reference: -# -# Note: Shift + F1-F10 generates F11-F20 -# -# For the keypad, use Shift to temporarily override Application-Keypad -# setting use Num_Lock to toggle Application-Keypad setting if Num_Lock -# is off, escape sequences toggle Application-Keypad setting. -# Also note that values of Home, End, Delete may have been compiled -# differently on your system. -# -# Normal Shift Control Ctrl+Shift -# Tab ^I ESC [ Z ^I ESC [ Z -# BackSpace ^H ^? ^? ^? -# Find ESC [ 1 ~ ESC [ 1 $ ESC [ 1 ^ ESC [ 1 @ -# Insert ESC [ 2 ~ paste ESC [ 2 ^ ESC [ 2 @ -# Execute ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @ -# Select ESC [ 4 ~ ESC [ 4 $ ESC [ 4 ^ ESC [ 4 @ -# Prior ESC [ 5 ~ scroll-up ESC [ 5 ^ ESC [ 5 @ -# Next ESC [ 6 ~ scroll-down ESC [ 6 ^ ESC [ 6 @ -# Home ESC [ 7 ~ ESC [ 7 $ ESC [ 7 ^ ESC [ 7 @ -# End ESC [ 8 ~ ESC [ 8 $ ESC [ 8 ^ ESC [ 8 @ -# Delete ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @ -# F1 ESC [ 11 ~ ESC [ 23 ~ ESC [ 11 ^ ESC [ 23 ^ -# F2 ESC [ 12 ~ ESC [ 24 ~ ESC [ 12 ^ ESC [ 24 ^ -# F3 ESC [ 13 ~ ESC [ 25 ~ ESC [ 13 ^ ESC [ 25 ^ -# F4 ESC [ 14 ~ ESC [ 26 ~ ESC [ 14 ^ ESC [ 26 ^ -# F5 ESC [ 15 ~ ESC [ 28 ~ ESC [ 15 ^ ESC [ 28 ^ -# F6 ESC [ 17 ~ ESC [ 29 ~ ESC [ 17 ^ ESC [ 29 ^ -# F7 ESC [ 18 ~ ESC [ 31 ~ ESC [ 18 ^ ESC [ 31 ^ -# F8 ESC [ 19 ~ ESC [ 32 ~ ESC [ 19 ^ ESC [ 32 ^ -# F9 ESC [ 20 ~ ESC [ 33 ~ ESC [ 20 ^ ESC [ 33 ^ -# F10 ESC [ 21 ~ ESC [ 34 ~ ESC [ 21 ^ ESC [ 34 ^ -# F11 ESC [ 23 ~ ESC [ 23 $ ESC [ 23 ^ ESC [ 23 @ -# F12 ESC [ 24 ~ ESC [ 24 $ ESC [ 24 ^ ESC [ 24 @ -# F13 ESC [ 25 ~ ESC [ 25 $ ESC [ 25 ^ ESC [ 25 @ -# F14 ESC [ 26 ~ ESC [ 26 $ ESC [ 26 ^ ESC [ 26 @ -# F15 (Help) ESC [ 28 ~ ESC [ 28 $ ESC [ 28 ^ ESC [ 28 @ -# F16 (Menu) ESC [ 29 ~ ESC [ 29 $ ESC [ 29 ^ ESC [ 29 @ -# F17 ESC [ 31 ~ ESC [ 31 $ ESC [ 31 ^ ESC [ 31 @ -# F18 ESC [ 32 ~ ESC [ 32 $ ESC [ 32 ^ ESC [ 32 @ -# F19 ESC [ 33 ~ ESC [ 33 $ ESC [ 33 ^ ESC [ 33 @ -# F20 ESC [ 34 ~ ESC [ 34 $ ESC [ 34 ^ ESC [ 34 @ -# Application -# Up ESC [ A ESC [ a ESC O a ESC O A -# Down ESC [ B ESC [ b ESC O b ESC O B -# Right ESC [ C ESC [ c ESC O c ESC O C -# Left ESC [ D ESC [ d ESC O d ESC O D -# KP_Enter ^M ESC O M -# KP_F1 ESC O P ESC O P -# KP_F2 ESC O Q ESC O Q -# KP_F3 ESC O R ESC O R -# KP_F4 ESC O S ESC O S -# XK_KP_Multiply * ESC O j -# XK_KP_Add + ESC O k -# XK_KP_Separator , ESC O l -# XK_KP_Subtract - ESC O m -# XK_KP_Decimal . ESC O n -# XK_KP_Divide / ESC O o -# XK_KP_0 0 ESC O p -# XK_KP_1 1 ESC O q -# XK_KP_2 2 ESC O r -# XK_KP_3 3 ESC O s -# XK_KP_4 4 ESC O t -# XK_KP_5 5 ESC O u -# XK_KP_6 6 ESC O v -# XK_KP_7 7 ESC O w -# XK_KP_8 8 ESC O x -# XK_KP_9 9 ESC O y -rxvt+pcfkeys|fragment for PC-style fkeys, - kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kLFT=\E[d, kNXT=\E[6$, - kPRV=\E[5$, kRIT=\E[c, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kdch1=\E[3~, kel=\E[8\^, kend=\E[8~, - kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, - kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, - kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, - kf20=\E[34~, kf21=\E[23$, kf22=\E[24$, kf23=\E[11\^, - kf24=\E[12\^, kf25=\E[13\^, kf26=\E[14\^, kf27=\E[15\^, - kf28=\E[17\^, kf29=\E[18\^, kf3=\E[13~, kf30=\E[19\^, - kf31=\E[20\^, kf32=\E[21\^, kf33=\E[23\^, kf34=\E[24\^, - kf35=\E[25\^, kf36=\E[26\^, kf37=\E[28\^, kf38=\E[29\^, - kf39=\E[31\^, kf4=\E[14~, kf40=\E[32\^, kf41=\E[33\^, - kf42=\E[34\^, kf43=\E[23@, kf44=\E[24@, kf5=\E[15~, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, - khome=\E[7~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, - kDN=\E[b, kDN5=\EOb, kDN6=\EOB, kLFT5=\EOd, kLFT6=\EOD, - kRIT5=\EOc, kRIT6=\EOC, kUP=\E[a, kUP5=\EOa, kUP6=\EOA, -rxvt|rxvt terminal emulator (X Window System), - ncv@, - hpa=\E[%i%p1%dG, kf0=\E[21~, sgr0=\E[m\017, - vpa=\E[%i%p1%dd, use=rxvt-basic, use=ecma+color, -rxvt-color|rxvt terminal emulator (X Window System), - use=rxvt, -rxvt-xpm|rxvt terminal emulator (X Window System), - use=rxvt, -rxvt-cygwin|rxvt terminal emulator (X Window System) on cygwin, - acsc=0\333+\257\,\256-\^`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - use=rxvt, -rxvt-cygwin-native|rxvt terminal emulator (native MS Window System port) on cygwin, - acsc=0\333+\257\,\256-\^`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330~\376, - use=rxvt-cygwin, - -# This variant is supposed to work with rxvt 2.7.7 when compiled with -# NO_BRIGHTCOLOR defined. rxvt needs more work... -rxvt-16color|xterm with 16 colors like aixterm, - ncv#32, use=ibm+16color, use=rxvt, - -# From: Michael Jennings -# removed kf0 which conflicts with kf10 -TD -# remove cvvis which conflicts with cnorm -TD -Eterm|Eterm-color|Eterm with xterm-style color support (X Window System), - am, bce, bw, eo, km, mc5i, mir, msgr, xenl, xon, - btns#5, cols#80, it#8, lines#24, lm#0, ncv@, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, - flash=\E[?5h\E[?5l, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, - hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, - ind=^J, is1=\E[?47l\E>\E[?1l, - is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, - kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kLFT=\E[d, kNXT=\E[6$, - kPRV=\E[5$, kRIT=\E[c, ka1=\E[7~, ka3=\E[5~, kb2=\EOu, - kbeg=\EOu, kbs=^H, kc1=\E[8~, kc3=\E[6~, kcbt=\E[Z, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kel=\E[8\^, kend=\E[8~, kent=\EOM, kf1=\E[11~, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, - kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, - khome=\E[7~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM, - rmacs=^O, rmam=\E[?7l, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, - rmkx=, rmso=\E[27m, rmul=\E[24m, - rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, - rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h, - sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h, - smir=\E[4h, smkx=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, - vpa=\E[%i%p1%dd, use=ecma+color, - -# These (xtermc and xtermm) are distributed with Solaris. They refer to a -# variant of xterm which is apparently no longer supported, but are interesting -# because they illustrate SVr4 curses mouse controls - T.Dickey -xtermm|xterm terminal emulator (monocrome), - OTbs, am, km, mir, msgr, xenl, - btns#3, cols#80, it#8, lines#24, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink@, bold=\E[1m, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[1D, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, getm=\E[%p1%dY, - home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, - il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kf0=\EOy, - kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf5=\EOT, kf6=\EOU, - kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kmous=\E[^_, - knp=\E[U, kpp=\E[V, rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM, - rmacs=^O, rmcup=\E@0\E[?4r, rmso=\E[m, - rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1, - smso=\E[7m, tbc=\E[3g, use=vt100+fnkeys, - -xtermc|xterm terminal emulator (color), - colors#8, ncv#7, pairs#64, - op=\E[100m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - use=xtermm, - -# From: David J. MacKenzie 20 Apr 1995 -# Here's a termcap entry I've been using for xterm_color, which comes -# with BSD/OS 2.0, and the X11R6 contrib tape too I think. Besides the -# color stuff, I also have a status line defined as the window manager -# title bar. [I have translated it to terminfo -- ESR] -xterm-pcolor|xterm with color used for highlights and status line, - bold=\E[1m\E[43m, rev=\E[7m\E[34m, smso=\E[7m\E[31m, - smul=\E[4m\E[42m, use=xterm+sl, use=xterm-r6, - -# HP ships this, except for the pb#9600 which was merged in from BSD termcap. -# (hpterm: added empty , we have no idea what ACS chars look like --esr) -hpterm|X-hpterm|hp X11 terminal emulator, - am, da, db, mir, xhp, - cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8, pb#9600, xmc#0, - acsc=, bel=^G, bold=\E&dB, cbt=\Ei, clear=\E&a0y0C\EJ, cr=^M, - cub1=^H, cud1=\EB, cuf1=\EC, cup=\E&a%p1%dy%p2%dC, - cuu1=\EA, dch1=\EP, dim=\E&dH, dl1=\EM, ed=\EJ$<1>, el=\EK, - hpa=\E&a%p1%dC, ht=^I, hts=\E1, il1=\EL, ind=^J, kbs=^H, - kclr=\EJ, kctab=\E2, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kdch1=\EP, kdl1=\EM, ked=\EJ, kel=\EK, kf1=\Ep, - kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, kf6=\Eu, kf7=\Ev, kf8=\Ew, - khome=\Eh, khts=\E1, kich1=\EQ, kil1=\EL, kind=\ES, kll=\EF, - knp=\EU, kpp=\EV, kri=\ET, krmir=\ER, ktbc=\E3, meml=\El, - memu=\Em, pfkey=\E&f%p1%dk%p2%l%dL%p2%s, - pfloc=\E&f1a%p1%dk%p2%l%dL%p2%s, - pfx=\E&f2a%p1%dk%p2%l%dL%p2%s, - pln=\E&f%p1%dk%p2%l%dd0L%p2%s, rev=\E&dB, ri=\ET, - rmacs=^O, rmir=\ER, rmkx=\E&s0A, rmln=\E&j@, rmso=\E&d@, - rmul=\E&d@, - sgr=\E&d%?%p7%t%{115}%c%;%p1%p3%|%p6%|%{2}%*%p2%{4}%*%+%p4%+%p5%{8}%*%+%{64}%+%c%?%p9%t%'\016'%c%e%'\017'%c%;, - sgr0=\E&d@, smacs=^N, smir=\EQ, smkx=\E&s1A, smln=\E&jB, - smso=\E&dJ, smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY, - -# This entry describes an xterm with Sun-style function keys enabled -# via the X resource setting "xterm*sunFunctionKeys:true" -# To understand / note that L1,L2 and F11,F12 are the same. -# The ... keys are L3-L10. We don't set -# because we want it to be seen as . -# The ... keys are R1-R15. We treat some of these in accordance -# with their Sun keyboard labels instead. -# From: Simon J. Gerraty 10 Jan 1996 -xterm-sun|xterm with sunFunctionKeys true, - kb2=\E[218z, kcpy=\E[197z, kend=\E[220z, kf1=\E[224z, - kf10=\E[233z, kf11=\E[192z, kf12=\E[193z, kf13=\E[194z, - kf14=\E[195z, kf15=\E[196z, kf17=\E[198z, kf18=\E[199z, - kf19=\E[200z, kf2=\E[225z, kf20=\E[201z, kf3=\E[226z, - kf31=\E[208z, kf32=\E[209z, kf33=\E[210z, kf34=\E[211z, - kf35=\E[212z, kf36=\E[213z, kf38=\E[215z, kf4=\E[227z, - kf40=\E[217z, kf42=\E[219z, kf44=\E[221z, kf5=\E[228z, - kf6=\E[229z, kf7=\E[230z, kf8=\E[231z, kf9=\E[232z, - kfnd=\E[200z, khlp=\E[196z, khome=\E[214z, kich1=\E[2z, - knp=\E[222z, kpp=\E[216z, kund=\E[195z, use=xterm, -xterms-sun|small (80x24) xterm with sunFunctionKeys true, - cols#80, lines#24, use=xterm-sun, - -# This is for the extensible terminal emulator on the X11R6 contrib tape. -# It corresponds to emu's internal emulation: -# emu -term emu -# emu's default sets TERM to "xterm", but that doesn't work well -TD -# fixes: remove bogus rmacs/smacs, change oc to op, add bce, am -TD -# fixes: add civis, cnorm, sgr -TD -emu|emu native mode, - am, bce, mir, msgr, xon, - colors#15, cols#80, it#8, lines#24, pairs#64, vt#200, - acsc=61a\202f\260g2j\213k\214l\215m\216n\217o\220q\222s\224t\225u\226v\227w\230x\231~\244, - bel=^G, blink=\EW, bold=\EU, civis=\EZ, clear=\EP\EE0;0;, - cnorm=\Ea, cr=^M, csr=\Ek%p1%d;%p2%d;, cub=\Eq-%p1%d;, - cub1=^H, cud=\Ep%p1%d;, cud1=\EB, cuf=\Eq%p1%d;, cuf1=\ED, - cup=\EE%p1%d;%p2%d;, cuu=\Ep-%p1%d;, cuu1=\EA, - dch=\EI%p1%d;, dch1=\EI1;, dl=\ER%p1%d;, dl1=\ER1;, - ech=\Ej%p1%d;, ed=\EN, el=\EK, el1=\EL, home=\EE0;0;, ht=^I, - hts=\Eh, il=\EQ%p1%d;, il1=\EQ1;, ind=\EG, - is2=\ES\Er0;\Es0;, kbs=^H, kcub1=\EC, kcud1=\EB, kcuf1=\ED, - kcuu1=\EA, kdch1=\177, kent=^M, kf0=\EF00, kf1=\EF01, - kf10=\EF10, kf11=\EF11, kf12=\EF12, kf13=\EF13, kf14=\EF14, - kf15=\EF15, kf16=\EF16, kf17=\EF17, kf18=\EF18, kf19=\EF19, - kf2=\EF02, kf20=\EF20, kf3=\EF03, kf4=\EF04, kf5=\EF05, - kf6=\EF06, kf7=\EF07, kf8=\EF08, kf9=\EF09, kfnd=\Efind, - kich1=\Eins, knp=\Enext, kpp=\Eprior, kslt=\Esel, - op=\Es0;\Er0;, rev=\ET, ri=\EF, rmir=\EX, rmso=\ES, rmul=\ES, - rs2=\ES\Es0;\Er0;, setab=\Es%i%p1%d;, - setaf=\Er%i%p1%d;, - sgr=\ES%?%p1%t\ET%;%?%p2%t\EV%;%?%p3%t\ET%;%?%p4%t\EW%;%?%p6%t\EU%;, - sgr0=\ES, smir=\EY, smso=\ET, smul=\EV, tbc=\Ej, - -# vt220 Terminfo entry for the Emu emulation, corresponds to -# emu -term vt220 -# with NumLock set (to make the keypad transmit kf0-kf9). -# fixes: add am, xenl, corrected sgr0 -TD -emu-220|Emu-220 (vt200-7bit mode), - am, xenl, xon, - cols#80, it#8, lines#24, vt#200, - acsc=aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G, - blink=\E[0;5m, bold=\E[0;1m, civis=\E[?25l, - clear=\E[2J\E[H, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[1D, - cud=\E[%p1%dB, cud1=\E[1B, cuf=\E[%p1%dC, cuf1=\E[1C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[1A, - dch=\E[%p1%dP, dch1=\E[1P, dl=\E[%p1%dM, dl1=\E[1M, - ed=\E[0J, el=\E[0K, el1=\E[1K, enacs=\E)0, home=\E[H, ht=^I, - hts=\EH, if=/usr/share/tabset/vt300, il=\E[%p1%dL, - il1=\E[1L, ind=\ED, is2=\E>\E[?1l\E[?3l\E[4l\E[?7h, - kbs=^H, kcmd=\E[29~, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kdch1=\E[3~, kent=\EOM, kf0=\EOp, kf1=\EOq, - kf10=\EOl, kf11=\EOm, kf12=\EOn, kf13=\EOP, kf14=\EOQ, - kf15=\EOR, kf16=\EOS, kf2=\EOr, kf26=\E[17~, kf27=\E[18~, - kf28=\E[19~, kf29=\E[20~, kf3=\EOs, kf30=\E[21~, - kf34=\E[26~, kf37=\E[31~, kf38=\E[32~, kf39=\E[33~, - kf4=\EOt, kf40=\E[34~, kf5=\EOu, kf6=\EOv, kf7=\EOw, - kf8=\EOx, kf9=\EOy, kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~, - knp=\E[6~, kpp=\E[5~, kslt=\E[4~, rc=\E8, rev=\E[0;7m, - ri=\EM, rmacs=^O, rmcup=\E>, rmkx=\E>, rmso=\E[m, rmul=\E[m, - rs2=\E[4l\E[34l\E[?1l\E[?3l\E[?5l\E[?7h, sc=\E7, - sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m, smacs=^N, smcup=\E[?1l\E=, smkx=\E=, - smso=\E[0;7m, smul=\E[0;4m, tbc=\E[3g, -# A commercial product, Reportedly a version of Xterm with an OPEN LOOK UI, -# print interface, ANSI X3.64 colour escape sequences, etc. Newsgroup postings -# indicate that it emulates more than one terminal, but incompletely. -# -# This is adapted from a FreeBSD bug-report by Daniel Rudy -# It is based on vt102's entry, with some subtle differences, but also -# has status line -# supports ANSI colors (except for 'op' string) -# apparently implements alternate screen like xterm -# does not use padding, of course. -mvterm|vv100|SwitchTerm aka mvTERM, - am, eslok, hs, km, mir, msgr, xenl, - colors#8, cols#80, it#8, lines#24, pairs#64, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - dsl=\E[?E, ed=\E[J, el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, - fsl=\E[?F, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOy, - kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, - op=\E[100m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, - rmcup=\E[2J\E[?47l\E8, rmkx=\E[?1l\E>, rmso=\E[m, - rmul=\E[m, - rs2=\E>\E[1;3;4;5;6l\E[?7h\E[100m\E[m\E[r\E[2J\E[H, - sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smcup=\E7\E[?47h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[?E\E[?%i%p1%dT, use=vt100+fnkeys, - -### MTERM -# -# This application is available by email from . -# -# "mterm -type ansi" sets $TERM to "ansi" -mterm-ansi|ANSI emulation, - am, bw, mir, msgr, - it#8, - acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, - cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, - el=\E[K, home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=, - il=\E[%p1%dL, il1=\E[L, ind=\E[S, indn=\E[%p1%dS, - invis=\E[8m, is2=\E)0\017, kbs=^H, nel=\EE, rev=\E[7m, - ri=\E[T, rin=\E[%p1%dT, rmacs=^O, rmir=\E[4l, rmso=\E[27m, - rmul=\E[24m, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m, smacs=^N, smir=\E[4h, smso=\E[7m, smul=\E[4m, - vpa=\E[%i%p1%dd, -# mterm normally sets $TERM to "mterm" -mterm|mouse-sun|Der Mouse term, - am, bw, mir, - it#8, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^N, cuf1=^S, - cup=\006%p1%d.%p2%d., cuu1=^X, dch1=^Y, dl1=^K, ed=^B, el=^C, - home=^P, ht=^I, il1=^A, ind=^U, kbs=^H, ll=^R, nel=^M^U, ri=^W, - rmir=^O, rmso=^T, smir=^Q, smso=^V, -# "mterm -type decansi" sets $TERM to "decansi" -# -# note: kdch1, kfnd, kslt are in the source code, but do not work -TD -decansi|ANSI emulation with DEC compatibility hacks, - am, mir, msgr, xenl, - colors#8, it#8, pairs#64, - acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, - dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, enacs=\E(B\E)0, - home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=, il=\E[%p1%dL, - il1=\E[L, ind=\E[S, indn=\E[%p1%dS, invis=\E[8m, - is2=\E)0\E[r\017, kbs=^H, kcub1=\EOD, kcud1=\EOB, - kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kf1=\E[11~, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, - kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, - kpp=\E[5~, kslt=\E[4~, nel=\EE, op=\E[0m, rc=\E8, rev=\E[7m, - ri=\E[T, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m, smacs=^N, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, u6=\E[%i%d;%dR, - u7=\E[6n, vpa=\E[%i%p1%dd, - -#### MGR -# -# MGR is a Bell Labs window system lighter-weight than X. -# These entries describe MGR's xterm-equivalent. -# They are courtesy of Vincent Broman 14 Jan 1997 -# - -mgr|Bellcore MGR (non X) window system terminal emulation, - am, km, - bel=^G, bold=\E2n, civis=\E9h, clear=^L, cnorm=\Eh, cr=^M, - csr=\E%p1%d;%p2%dt, cub1=^H, cud1=\Ef, cuf1=\Er, - cup=\E%p2%d;%p1%dM, cuu1=\Eu, cvvis=\E0h, - dch=\E%p1%dE$<5>, dch1=\EE, dl=\E%p1%dd$<3*>, - dl1=\Ed$<3>, ed=\EC, el=\Ec, hd=\E1;2f, ht=^I, hu=\E1;2u, - ich=\E%p1%dA$<5>, ich1=\EA, il=\E%p1%da$<3*>, - il1=\Ea$<3>, ind=^J, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, nel=^M^J, rev=\E1n, rmam=\E5S, - rmso=\E0n, rmul=\E0n, sgr0=\E0n, smam=\E5s, smso=\E1n, - smul=\E4n, -mgr-sun|Mgr window with Sun keyboard, - ka1=\E[214z, ka3=\E[216z, kb2=\E[218z, kc1=\E[220z, - kc3=\E[222z, kcpy=\E[197z, kend=\E[220z, kent=\E[250z, - kf1=\E[224z, kf10=\E[233z, kf11=\E[234z, kf12=\E[235z, - kf2=\E[225z, kf3=\E[226z, kf4=\E[227z, kf5=\E[228z, - kf6=\E[229z, kf7=\E[230z, kf8=\E[231z, kf9=\E[232z, - kfnd=\E[200z, khlp=\E[207z, khome=\E[214z, knp=\E[222z, - kopn=\E[198z, kpp=\E[216z, kund=\E[195z, use=mgr, -mgr-linux|Mgr window with Linux keyboard, - ka1=\E[H, ka3=\E[5~, kb2=\E[G, kc1=\E[Y, kc3=\E[6~, - kdch1=\E[3~, kend=\E[4~, kf0=\E[[J, kf1=\E[[A, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, - kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[1~, knp=\E[6~, kpp=\E[5~, use=mgr, - -######## UNIX VIRTUAL TERMINALS, VIRTUAL CONSOLES, AND TELNET CLIENTS -# - -# Columbus UNIX virtual terminal. This terminal also appears in -# UNIX 4.0 and successors as line discipline 1 (?), but is -# undocumented and does not really work quite right. -cbunix|cb unix virtual terminal, - OTbs, am, da, db, - cols#80, lines#24, lm#0, - bel=^G, clear=\EL, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EG%p2%c%p1%c, cuu1=\EA, dch1=\EM, dl1=\EN, ed=\EL, - el=\EK, ich1=\EO, il1=\EP, ind=^J, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, khome=\EE, rmso=\Eb^D, rmul=\Eb^A, - smso=\Ea^D, smul=\Ea^A, -# (vremote: removed obsolete ":nl@:" -- esr) -vremote|virtual remote terminal, - am@, - cols#79, use=cbunix, - -pty|4bsd pseudo teletype, - cup=\EG%p1%{32}%+%c%p2%{32}%+%c, rmso=\Eb$, rmul=\Eb!, - smso=\Ea$, smul=\Ea!, use=cbunix, - -# The codes supported by the term.el terminal emulation in GNU Emacs 19.30 -eterm|gnu emacs term.el terminal emulation, - am, mir, xenl, - cols#80, lines#24, - bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, el1=\E[1K, home=\E[H, ht=^I, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=^J, rev=\E[7m, - rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smcup=\E7\E[?47h, smir=\E[4h, smso=\E[7m, - smul=\E[4m, - -# Entries for use by the `screen' program by Juergen Weigert, -# Michael Schroeder, Oliver Laumann. The screen and -# screen-w entries came with version 3.7.1. The screen2 and screen3 entries -# come from University of Wisconsin and may be older. -# (screen: added on ANSI model -- esr) -# -# 'screen' defines extensions to termcap. Some are used in its terminal -# description: -# G0 (bool) Terminal can deal with ISO 2022 font selection sequences. -# AX (bool) Does understand ANSI set default fg/bg color -# (\E[39m / \E[49m). -# S0 (str) Switch charset 'G0' to the specified charset. -# E0 (str) Switch charset 'G0' back to standard charset. -# -# tested with screen 3.09.08 -screen|VT 100/ANSI X3.64 virtual terminal, - OTbs, OTpt, am, km, mir, msgr, xenl, G0, - colors#8, cols#80, it#8, lines#24, pairs#64, - acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[34h\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM, - cvvis=\E[34l, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0, - flash=\Eg, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E)0, kbs=^H, kcbt=\E[Z, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, - kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, - rmcup=\E[?1049l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[23m, - rmul=\E[24m, rs2=\Ec\E[?1000l\E[?25h, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[m, smacs=^N, smcup=\E[?1049h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[3m, smul=\E[4m, tbc=\E[3g, E0=\E(B, - S0=\E(%p1%c, use=ecma+color, -# The bce and status-line entries are from screen 3.9.13 (and require some -# changes to .screenrc). -screen-bce|VT 100/ANSI X3.64 virtual terminal with bce, - bce, use=screen, -screen-s|VT 100/ANSI X3.64 virtual terminal with hardstatus line, - dsl=\E_\E\\, fsl=\E\\, tsl=\E_, use=screen, - -# Read the fine manpage: -# When screen tries to figure out a terminal name for -# itself, it first looks for an entry named "screen.", -# where is the contents of your $TERM variable. If -# no such entry exists, screen tries "screen" (or "screen-w" -# if the terminal is wide (132 cols or more)). If even this -# entry cannot be found, "vt100" is used as a substitute. -# -# Here are a few customized entries which are useful -TD -# -# Notes: -# (a) screen does not support invis. -# (b) screen's implementation of bw is incorrect according to tack. -# (c) screen appears to hardcode the strings for khome/kend, making it -# necessary to override the "use=" clause's values. -# (d) screen sets $TERMCAP to a termcap-formatted copy of the 'screen' entry, -# which is NOT the same as the terminfo screen.. -# (e) when screen finds one of these customized entries, it sets $TERM to -# match. Hence, no "screen.xterm" entry is provided, since that would -# create heartburn for people running remote xterm's. -# -# xterm (-xfree86 or -r6) does not normally support kIC, kNXT and kPRV -# since the default translations override the built-in keycode -# translation. They are suppressed here to show what is tested by tack. -screen.xterm-xfree86|screen.xterm-new|screen customized for modern xterm, - bce@, bw, - invis@, kIC@, kNXT@, kPRV@, kend=\E[4~, khome=\E[1~, meml@, - memu@, - sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m, - use=xterm-new, -# xterm-r6 does not really support khome/kend unless it is propped up by -# the translations resource. -screen.xterm-r6|screen customized for X11R6 xterm, - bw, use=xterm-r6, -# Color applications running in screen and TeraTerm do not play well together -# on Solaris because Sun's curses implementation gets confused. -screen.teraterm|disable ncv in teraterm, - ncv#127, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - use=screen, -# fix the backspace key -screen.linux|screen in linux console, - bw, - kbs=\177, kcbt@, use=screen, - -screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols, - cols#132, use=screen, - -screen2|old VT 100/ANSI X3.64 virtual terminal, - cols#80, it#8, lines#24, - cbt=\E[Z, clear=\E[2J\E[H, cr=^M, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=, il=\E[%p1%dL, - il1=\E[L, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kf0=\E~, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV, - kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\E0I, khome=\EH, - nel=^M^J, rc=\E8, ri=\EM, rmir=\E[4l, rmso=\E[23m, - rmul=\E[24m, rs1=\Ec, sc=\E7, sgr0=\E[m, smir=\E[4h, - smso=\E[3m, smul=\E[4m, tbc=\E[3g, -# (screen3: removed unknown ":xv:LP:G0:" -- esr) -screen3|older VT 100/ANSI X3.64 virtual terminal, - km, mir, msgr, - cols#80, it#8, lines#24, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, - cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E)0, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, - kf3=\EOR, kf4=\EOS, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, - rmir=\E[4l, rmkx=\E>, rmso=\E[23m, rmul=\E[24m, rs1=\Ec, - sc=\E7, sgr0=\E[m, smir=\E[4h, smkx=\E=, smso=\E[3m, - smul=\E[4m, tbc=\E[3g, - -# Francesco Potorti : -# NCSA telnet is one of the most used telnet clients for the Macintosh. It has -# been maintained until recently by the National Center for Supercomputer -# Applications, and it is feature rich, stable and free. It can be downloaded -# from www.ncsa.edu. This terminfo description file is based on xterm-vt220, -# xterm+sl, and the docs at NCSA. It works well. -# -# NCSA Telnet 2.6 for Macintosh in vt220 8-bit emulation mode -# The terminal options should be set as follows: -# Xterm sequences ON -# use VT wrap mode ON -# use Emacs arrow keys OFF -# CTRL-COMND is Emacs meta ON -# 8 bit mode ON -# answerback string: "ncsa-vt220-8" -# setup keys: all disabled -# -# Application mode is not used. -# -# Other special mappings: -# Apple VT220 -# HELP Find -# HOME Insert here -# PAGEUP Remove -# DEL Select -# END Prev Screen -# PAGEDOWN Next Screen -# -# Though it supports ANSI color, NCSA Telnet uses color to represent blinking -# text. -# -# The status-line manipulation is a mapping of the xterm-compatible control -# sequences for setting the window-title. So you must use tsl and fsl in -# pairs, since the latter ends the string that is loaded to the window-title. -ncsa-m|ncsa-vt220-8|NCSA Telnet 2.6 for Macintosh in vt220-8 mode, - am, hs, km, mir, msgr, xenl, - acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - dsl=\E]0;\007, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, - flash=\E[?5h\E[?5l, fsl=^G, home=\E[H, ht=^I, hts=\EH, - ich=\E[%p1%d@, if=/usr/share/tabset/vt100, - il=\E[%p1%dL, il1=\E[L, ind=\n$<150*>, - is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[4~, kend=\E[5~, kf1=\E[17~, kf10=\E[28~, - kf11=\E[29~, kf12=\E[31~, kf13=\E[32~, kf14=\E[33~, - kf15=\E[34~, kf2=\E[18, kf3=\E[19~, kf4=\E[20~, kf5=\E[21~, - kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, kf9=\E[26~, khlp=\E[1~, - khome=\E[2~, knp=\E[6~, kpp=\E[3~, mc4=\E[4i, mc5=\E[5i, - rc=\E8, rev=\E[7m, rf=/usr/share/tabset/vt100, ri=\EM, - rmacs=\E(B, rmam=\E[?7l, rmcup=\E[2J\E8, rmir=\E[4l, - rmso=\E[27m, rmul=\E[24m, - rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;4;6l\E[4l\E>, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smcup=\E7, - smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E]0;, - u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?62;1;6c, u9=\E[c, -ncsa|NCSA Telnet 2.7 for Macintosh in vt220-8 mode, - use=ncsa-m, use=klone+color, -ncsa-ns|NCSA Telnet 2.7 for Macintosh in vt220-8 mode, - hs@, - dsl@, fsl@, tsl@, use=ncsa, -ncsa-m-ns|NCSA Telnet 2.6 for Macintosh in vt220-8 mode, - hs@, - dsl@, fsl@, tsl@, use=ncsa-m, -# alternate -TD: -# The documented function-key mapping refers to the Apple Extended Keyboard -# (e.g., NCSA Telnet's F1 corresponds to a VT220 F6). We use the VT220-style -# codes, however, since the numeric keypad (VT100) PF1-PF4 are available on -# some keyboards and many applications require these as F1-F4. -# -ncsa-vt220|NCSA Telnet using vt220-compatible function keys, - kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, - kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, - kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, - kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, use=ncsa, - -#### Pilot Pro Palm-Top -# -# Termcap for Top Gun Telnet and SSH on the Palm Pilot. -# http://www.ai/~iang/TGssh/ -pilot|tgtelnet|Top Gun Telnet on the Palm Pilot Professional, - OTbs, am, xenl, - cols#39, lines#16, - bel=^G, clear=\Ec, cr=^M, cub1=^H, cud1=^J, - cup=\Em%p1%{32}%+%c%p2%{32}%+%c, home=\Em\s\s, ht=^I, - ind=^J, kbs=^H, kcub1=^H, kcud1=^J, knp=^L, kpp=^K, nel=\Em~\s, - rmso=\EB, smso=\Eb, - -# From: Federico Bianchi -# These entries are for the Embeddable Linux Kernel System (ELKS) -# project - an heavily stripped down Linux to be run on 16 bit -# boxes or, eventually, to be used in embedded systems - and have been -# adapted from the stock ELKS termcap. The project itself looks stalled, -# and the latest improvements I know of date back to March 2000. -# -# To cope with the ELKS dumb console I added an "elks-glasstty" entry; -# as an added bonus, this deals with all the capabilities common to -# both VT52 and ANSI (or, eventually, "special") modes. - -elks-glasstty|ELKS glass-TTY capabilities, - OTbs, am, - cols#80, it#8, lines#25, - bel=^G, cr=^M, ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, - nel=^M^J, - -elks-vt52|ELKS vt52 console, - clear=\EH\EJ, cub1=\ED, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, el=\EK, - home=\EH, use=elks-glasstty, - -elks-ansi|ELKS ANSI console, - clear=\E[H\E[2J, cub1=\E[D, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H, - rmso=\E[m, smso=\E[7m, use=elks-glasstty, - -# As a matter of fact, ELKS 0.0.83 on PCs defaults to ANSI emulation -# instead of VT52, but the "elks" entry still refers to the latter. - -elks|default ELKS console, - use=elks-vt52, - -# Project SIBO (for Psion 3 palmtops) console is identical to the ELKS -# one but in screen size - -sibo|ELKS SIBO console, - cols#61, it#8, lines#20, use=elks-vt52, - -######## COMMERCIAL WORKSTATION CONSOLES -# - -#### Alpha consoles -# - -# This is from the OSF/1 Release 1.0 termcap file -pccons|pcconsole|ANSI (mostly) Alpha PC console terminal emulation, - am, xon, - cols#80, lines#25, - bel=^G, clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, - nel=^M^J, rev=\E[7m, rmso=\E[m, sgr0=\E[m, smso=\E[7m, - -#### Sun consoles -# - -# :is1: resets scrolling region in case a previous user had used "tset vt100" -oldsun|Sun Microsystems Workstation console, - OTbs, am, km, mir, msgr, - cols#80, it#8, lines#34, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP, - dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, ht=^I, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, - is1=\E[1r, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, - rmso=\E[m, sgr0=\E[m, smso=\E[7m, -# From: Alexander Lukyanov , 14 Nov 1995 -# capability later corrected by J.T. Conklin -# SGR 1, 4 aren't supported - removed bold/underline (T.Dickey 17 Jan 1998) -sun-il|Sun Microsystems console with working insert-line, - am, km, msgr, - cols#80, lines#34, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP, - dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, ht=^I, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, - kb2=\E[218z, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kdch1=\177, kend=\E[220z, kf1=\E[224z, - kf10=\E[233z, kf11=\E[234z, kf12=\E[235z, kf2=\E[225z, - kf3=\E[226z, kf4=\E[227z, kf5=\E[228z, kf6=\E[229z, - kf7=\E[230z, kf8=\E[231z, kf9=\E[232z, khome=\E[214z, - knp=\E[222z, kopt=\E[194z, kpp=\E[216z, kres=\E[193z, - kund=\E[195z, rev=\E[7m, rmso=\E[m, rmul@, rs2=\E[s, - sgr=\E[0%?%p1%p3%|%t;7%;m, sgr0=\E[m, smso=\E[7m, - u8=\E[1t, u9=\E[11t, -# On some versions of CGSIX framebuffer firmware (SparcStation 5), / -# flake out on the last line. Unfortunately, without them the terminal has no -# way to scroll. -sun-cgsix|sun-ss5|Sun SparcStation 5 console, - il@, il1@, use=sun-il, -# If you are using an SS5, change the sun definition to use sun-ss5. -sun|sun1|sun2|Sun Microsystems Inc. workstation console, - use=sun-il, - -# From: Tue Sep 24 13:14:44 1985 -sun-s|Sun Microsystems Workstation window with status line, - hs, - dsl=\E]l\E\\, fsl=\E\\, tsl=\E]l, use=sun, -sun-e-s|sun-s-e|Sun Microsystems Workstation with status hacked for emacs, - hs, - dsl=\E]l\E\\, fsl=\E\\, tsl=\E]l, use=sun-e, -sun-48|Sun 48-line window, - cols#80, lines#48, use=sun, -sun-34|Sun 34-line window, - cols#80, lines#34, use=sun, -sun-24|Sun 24-line window, - cols#80, lines#24, use=sun, -sun-17|Sun 17-line window, - cols#80, lines#17, use=sun, -sun-12|Sun 12-line window, - cols#80, lines#12, use=sun, -sun-1|Sun 1-line window for sysline, - eslok, hs, - cols#80, lines#1, - dsl=^L, fsl=\E[K, tsl=^M, use=sun, -sun-e|sun-nic|sune|Sun Microsystems Workstation without insert character, - ich1@, rmir@, smir@, use=sun, -sun-c|sun-cmd|Sun Microsystems Workstation console with scrollable history, - lines#35, - rmcup=\E[>4h, smcup=\E[>4l, use=sun, -sun-type4|Sun Workstation console with type 4 keyboard, - kcub1=\E[217z, kcud1=\E[221z, kcuf1=\E[219z, - kcuu1=\E[215z, use=sun-il, - -# Most of the current references to sun-color are from users wondering why this -# is the default on install. Details from reading the wscons manpage, adding -# cub, etc., here (rather than in the base sun-il entry) since it is not clear -# when those were added -TD -sun-color|Sun Microsystems Workstation console with color support (IA systems), - colors#8, pairs#64, - cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC, - cuu=\E[%p1%dA, home=\E[H, op=\E[m\E[p, setab=\E[4%p1%dm, - setaf=\E[3%p1%dm, - setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - use=sun, - -#### Iris consoles -# - -# (wsiris: this had extension capabilities -# :HS=\E7F2:HE=\E7F7:\ -# :CT#2:CZ=*Bblack,red,green,yellow,blue,magenta,cyan,*Fwhite: -# See the note on Iris extensions near the end of this file. -# Finally, removed suboptimal =\EH\EJ and added & -# from BRL -- esr) -wsiris|iris40|iris emulating a 40 line visual 50 (approximately), - OTbs, OTnc, OTpt, am, - OTkn#3, cols#80, it#8, lines#40, - OTnl=\EB, bel=^G, clear=\Ev, cnorm=\E>, cub1=^H, cud1=\EB, - cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, - cvvis=\E;, dim=\E7F2, dl1=\EM, ed=\EJ, el=\EK, - flash=\E7F4\E7B1\013\E7F7\E7B0, home=\EH, ht=^I, il1=\EL, - ind=^J, is2=\E7B0\E7F7\E7C2\E7R3, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, kf0=\E0, kf1=\E1, kf2=\E2, kf3=\E3, - kf4=\E4, kf5=\E5, kf6=\E6, kf7=\E7, kf8=\E8, kf9=\E9, ri=\EI, - rmso=\E0@, rmul=\E7R3\E0@, sgr0=\E7F7, smso=\E9P, - smul=\E7R2\E9P, - -#### NeWS consoles -# -# Console terminal windows under the NeWS (Sun's Display Postscript windowing -# environment). Note: these have nothing to do with Sony's News workstation -# line. -# - -# Entry for NeWS's psterm from Eric Messick & Hugh Daniel -# (psterm: unknown ":sl=\EOl:el=\ENl:" removed -- esr) -psterm|psterm-basic|NeWS psterm-80x34, - OTbs, am, hs, km, ul, - cols#80, it#8, lines#34, - blink=\EOb, bold=\EOd, clear=^L, csr=\EE%p1%d;%p2%d;, - cub1=\ET, cud1=\EP, cuf1=\EV, cup=\E%p1%d;%p2%d;, cuu1=\EY, - dch1=\EF, dl1=\EK, ed=\EB, el=\EC, flash=\EZ, fsl=\ENl, - home=\ER, ht=^I, il1=\EA, ind=\EW, is1=\EN*, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, ll=\EU, rc=^\, rev=\EOr, - ri=\EX, rmcup=\ENt, rmir=\ENi, rmso=\ENo, rmul=\ENu, sc=^], - sgr0=\EN*, smcup=\EOt, smir=\EOi, smso=\EOo, smul=\EOu, - tsl=\EOl, -psterm-96x48|NeWS psterm 96x48, - cols#96, lines#48, use=psterm, -psterm-90x28|NeWS psterm 90x28, - cols#90, lines#28, use=psterm, -psterm-80x24|NeWS psterm 80x24, - cols#80, lines#24, use=psterm, -# This is a faster termcap for psterm. Warning: if you use this termcap, -# some control characters you type will do strange things to the screen. -# (psterm-fast: unknown ":sl=^Ol:el=^Nl:" -- esr) -psterm-fast|NeWS psterm fast version (flaky ctrl chars), - OTbs, am, hs, km, ul, - cols#80, it#8, lines#34, - blink=^Ob, bold=^Od, clear=^L, csr=\005%p1%d;%p2%d;, - cub1=^T, cud1=^P, cuf1=^V, cup=\004%p1%d;%p2%d;, cuu1=^Y, - dch1=^F, dl1=^K, ed=^B, el=^C, flash=^Z, fsl=^Nl, home=^R, ht=^I, - il1=^A, ind=^W, is1=^N*, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, ll=^U, rc=^\, rev=^Or, ri=^X, rmcup=^Nt, rmir=^Ni, - rmso=^No, rmul=^Nu, sc=^], sgr0=^N*, smcup=^Ot, smir=^Oi, - smso=^Oo, smul=^Ou, tsl=^Ol, - -#### NeXT consoles -# -# Use `glasstty' for the Workspace application -# - -# From: Dave Wetzel 22 Dec 1995 -next|NeXT console, - am, xt, - cols#80, it#8, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H, - ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, - rmso=\E[4;1m, sgr0=\E[m, smso=\E[4;2m, -nextshell|NeXT Shell application, - am, - cols#80, - bel=^G, cr=^M, cub1=^H, cud1=^J, ht=^I, kbs=^H, kcub1=^H, - kcud1=^J, nel=^M^J, - -#### Sony NEWS workstations -# - -# (news-unk: this had :KB=news: -- esr) -news-unk|SONY NEWS vt100 emulator common entry, - OTbs, OTpt, am, xenl, - cols#80, - OTnl=^J, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, - cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M, - ed=\E[J, el=\E[K, home=\E[H, ht=^I, - if=/usr/share/tabset/vt100, il=\E[%p1%dL, il1=\E[L, - is2=\E[?7h\E[?1l\E[?3l\E7\E8, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOY, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, - kf8=\EOW, kf9=\EOX, rc=\E8, rev=\E[7m, ri=\EM, - rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r, sc=\E7, - sgr0=\E[m, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, -# -# (news-29: this had :TY=ascii: --esr) -news-29, - lines#29, use=news-unk, -# (news-29-euc: this had :TY=euc: --esr) -news-29-euc, - use=news-29, -# (news-29-sjis: this had :TY=sjis: --esr) -news-29-sjis, - use=news-29, -# -# (news-33: this had :TY=ascii: --esr) -news-33, - lines#33, use=news-unk, -# (news-33-euc: this had :TY=euc: --esr) -news-33-euc, - use=news-33, -# (news-33-sjis: this had :TY=sjis: --esr) -news-33-sjis, - use=news-33, -# -# (news-42: this had :TY=ascii: --esr) -news-42, - lines#42, use=news-unk, -# (news-42-euc: this had :TY=euc: --esr) -news-42-euc, - use=news-42, -# (news-42-sjis: this had :TY=sjis: --esr) -news-42-sjis, - use=news-42, -# -# NEWS-OS old termcap entry -# -# (news-old-unk: this had :KB=news:TY=sjis: --esr) -news-old-unk|SONY NEWS vt100 emulator common entry, - OTbs, OTpt, am, xenl, - cols#80, vt#3, - OTnl=^J, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[;H\E[2J, - cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K, - home=\E[H, ht=^I, if=/usr/share/tabset/vt100, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m, ri=\EM, - rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr0=\E[m, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, -# -# (nwp512: this had :DE=^H:, which I think means --esr) -nwp512|news|nwp514|news40|vt100-bm|old sony vt100 emulator 40 lines, - OTbs, - lines#40, - is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;40r\E8, - use=news-old-unk, -# -# (nwp512-a: this had :TY=ascii: and the alias vt100-bm --esr) -nwp512-a|nwp514-a|news-a|news42|news40-a|sony vt100 emulator 42 line, - lines#42, - is2=\E[?7h\E[?1l\E[?3l\E7\E[1;42r\E8, - use=news-old-unk, -# -# (nwp-512-o: this had :KB=nwp410:DE=^H: I interpret the latter as . --esr) -nwp512-o|nwp514-o|news-o|news40-o|vt100-bm-o|sony vt100 emulator 40 lines, - OTbs, - lines#40, - is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;40r\E8, - use=news-old-unk, -# -# (nwp513: this had :DE=^H: and the alias vt100-bm --esr) -nwp513|nwp518|nwe501|newscbm|news31|sony vt100 emulator 33 lines, - OTbs, - lines#31, - is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;31r\E8, - use=news-old-unk, -# -# (nwp513-a: this had :TY=ascii: and :DE=^H:, which I interpret as ; --esr) -# also the alias vt100-bm. -nwp513-a|nwp518-a|nwe501-a|nwp251-a|newscbm-a|news31-a|newscbm33|news33|old sony vt100 emulator 33 lines, - OTbs, - lines#33, - is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;33r\E8, - use=news-old-unk, -# -# (nwp513-o: had :DE=^H:, I think that's ; also the alias vt100-bm --esr) -nwp513-o|nwp518-o|nwe501-o|nwp251-o|newscbm-o|news31-o|old sony vt100 emulator 33 lines, - OTbs, - lines#31, - is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;31r\E8, - use=news-old-unk, -# -# (news28: this had :DE=^H:, I think that's , and :KB=nws1200: --esr) -news28|sony vt100 emulator 28 lines, - OTbs, - lines#28, - is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;28r\E8, - use=news-old-unk, -# -# (news29: this had :TY=ascii:KB=nws1200:\ --esr) -news29|news28-a|sony vt100 emulator 29 lines, - lines#29, - is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;29r\E8, - use=news-old-unk, -# -# (news511: this had :TY=sjis: --esr) -nwp511|nwp-511|nwp-511 vt100, - OTbs, OTpt, am, xenl, - cols#80, lines#24, - clear=\E[;H\E[2J$<20/>, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A$<2/>, dl1=\E[M, - ed=\E[J$<30/>, el=\E[K$<3/>, - flash=\E[?5h\0\0\0\0\0\0\0\0\0\0\0\0\0\E[?5l, - il1=\E[L, is2=\E[?5l\E[?1l\E>\E[?7h\E[?8h, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, - kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\E#W, khome=\E[H, - ri=\EM$<5/>, rmso=\E[m$<2/>, rmul=\E[m$<2/>, - rs2=\E7\E[r\E8\E[?5l\E[?1l\E>\E[?7h\E[?8h, - smso=\E[7m$<2/>, smul=\E[4m$<2/>, -# (news517: this had :TY=sjis:. --esr) -nwp517|nwp-517|nwp-517 vt200 80 cols 30 rows, - eslok, hs, - cols#80, lines#30, - OTi2=\E[2$~\n, dsl=\E[1$~, fsl=\E[0$}, - is2=\E7\E[r\E8\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - tsl=\E[1$}\E[;%df, use=vt200, -# (news517-w: this had :TY=sjis:. --esr) -nwp517-w|nwp-517-w|nwp-517 vt200 132 cols 50 rows, - eslok, hs, - cols#132, lines#50, - OTi2=\E[2$~\n, dsl=\E[1$~, fsl=\E[0$}, - is2=\E7\E[r\E8\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h, - tsl=\E[1$}\E[;%df, use=vt200, - -#### Common Desktop Environment -# - -# This ships with Sun's CDE in Solaris 2.5 -# Corrected Sun Aug 9 1998 by Alexander V. Lukyanov -dtterm|CDE desktop terminal, - am, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, lm#0, ncv@, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, - dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, - enacs=\E(B\E)0, flash=\E[?5h$<200>\E[?5l, home=\E[H, - ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, - ind=\ED, invis=\E[8m, is2=\E F\E>\E[?1l\E[?7h\E[?45l, - kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, - kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, - rmam=\E[?7l, rmir=\E[4l, rmso=\E[22;27m, rmul=\E[24m, - sc=\E7, - sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, - smso=\E[2;7m, smul=\E[4m, tbc=\E[3g, use=ecma+color, - -#### Non-Unix Consoles -# - -### EMX termcap.dat compatibility modes -# -# Keypad: Home=\0G Up=\0H PrPag=\0I -# ka1,kh kcuu1 kpp,ka3 -# -# Left=\0K 5=\0L Right=\0M -# kcub1 kb2 kcuf1 -# -# End=\0O Down=\0P NxPag=\0Q -# kc1,kend kcud1 kc3,knp -# -# Ins=\0R Del=\0S -# kich1 kdch1 -# -# On keyboard with 12 function keys, -# shifted f-keys: F13-F24 -# control f-keys: F25-F36 -# alt f-keys: F37-F48 -# The shift/control/alt keys do not modify each other, but alt overrides both, -# and control overrides shift. -# -# Also (possibly only EMX, so we don't put it in ansi.sys, etc): set the -# no_color_video to inform the application that standout(1), underline(2) -# reverse(4) and invisible(64) don't work with color. -emx-base|DOS special keys, - bce, bw, - it#8, ncv#71, - bel=^G, ka1=\0G, ka3=\0I, kb2=\0L, kbs=^H, kc1=\0O, kc3=\0Q, - kcbt=\0^O, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H, - kdch1=\0S, kend=\0O, kf1=\0;, kf10=\0D, kf11=\0\205, - kf12=\0\206, kf13=\0T, kf14=\0U, kf15=\0V, kf16=\0W, - kf17=\0X, kf18=\0Y, kf19=\0Z, kf2=\0<, kf20=\0[, kf21=\0\\, - kf22=\0], kf23=\0\207, kf24=\0\210, kf25=\0\^, kf26=\0_, - kf27=\0`, kf28=\0a, kf29=\0b, kf3=\0=, kf30=\0c, kf31=\0d, - kf32=\0e, kf33=\0f, kf34=\0g, kf35=\0\211, kf36=\0\212, - kf37=\0h, kf38=\0i, kf39=\0j, kf4=\0>, kf40=\0k, kf41=\0l, - kf42=\0m, kf43=\0n, kf44=\0o, kf45=\0p, kf46=\0q, - kf47=\0\213, kf48=\0\214, kf5=\0?, kf6=\0@, kf7=\0A, kf8=\0B, - kf9=\0C, khome=\0G, kich1=\0R, knp=\0Q, kpp=\0I, - use=ansi.sys, - -# Except for the "-emx" suffixes, these are as distributed with EMX 0.9b, -# a Unix-style environment used on OS/2. (Note that the suffix makes some -# names longer than 14 characters, the nominal maximum). -# -# Removed: rmacs=\E[10m, smacs=\E[11m, because OS/2 does not implement acs. -ansi-emx|ANSI.SYS color, - am, bce, eo, mir, msgr, xon, - colors#8, cols#80, it#8, lines#25, pairs#64, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[1;33;44m\E[H\E[J, cnorm=\E[?25h, cr=^M, cub1=^H, - cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - dch=\E[%p1%dp, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l, - home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=^J, - kb2=\E[G, kbs=^H, kf0=\0D, kll=\0O, kspd=^Z, nel=^M^J, - rev=\E[5;37;41m, rmir=\E[4l, rmpch=\E[10m, - rmso=\E[0;44m\E[1;33m, rmul=\E[0;44m\E[1;33m, rs1=\Ec, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr0=\E[0m\E[1;33;44m, smir=\E[4h, smpch=\E[11m, - smso=\E[0;31;47m, smul=\E[1;31;44m, tbc=\E[3g, u8=\E[?6c, - u9=\E[c, use=emx-base, -# nice colors for Emacs (white on blue, mode line white on cyan) -ansi-color-2-emx|ANSI.SYS color 2, - clear=\E[0;37;44m\E[H\E[J, rev=\E[1;37;46m, - rmso=\E[0;37;44m, rmul=\E[0;37;44m, rs1=\Ec, - setaf=\E[3%p1%dm, sgr0=\E[0;37;44m, smso=\E[1;37;46m, - smul=\E[1;36;44m, use=ansi-emx, -# nice colors for Emacs (white on black, mode line black on cyan) -ansi-color-3-emx|ANSI.SYS color 3, - clear=\E[0;37;40m\E[H\E[J, rev=\E[1;37;46m, - rmso=\E[0;37;40m, rmul=\E[0;37;40m, rs1=\Ec, - setaf=\E[3%p1%dm, sgr0=\E[0;10m, smso=\E[1;37;46m, - smul=\E[0;36;40m, use=ansi-emx, -mono-emx|stupid monochrome ansi terminal with only one kind of emphasis, - am, - cols#80, it#8, lines#24, - clear=\E[H\E[2J$<50>, cub1=\E[D, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H, - ht=^I, kb2=\E[G, kbs=^H, kcub1=\0K, kcud1=\0P, kcuf1=\0M, - kcuu1=\0H, kf0=\0D, kf1=\0;, kf2=\0<, kf3=\0=, kf4=\0>, - kf5=\0?, kf6=\0@, kf7=\0A, kf8=\0B, kf9=\0C, khome=\0G, - kich1=\0R, kll=\0O, knp=\0Q, kpp=\0I, nel=^M^J, rev=\E[7m, - sgr0=\E[0m, - -# Use this for cygwin32 (tested with beta 19.1) -# underline is colored bright magenta -# shifted kf1-kf12 are kf11-kf22 -cygwinB19|ansi emulation for cygwin32, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, - kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, - kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D, - kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, rmam@, smam@, - use=ansi.sys, - -# Use this for cygwin (tested with version 1.1.0). -# I've combined pcansi and linux. Some values of course were different and -# I've indicated which of these were and which I used. -# Cheers, earnie_boyd@yahoo.com -# several changes based on running with tack and comparing with older entry -TD -# more changes from csw: -# add cbt [backtab] -# remove eo [erase overstrike with blank] -# change clear was \E[H\E[J now \E[2J (faster?) -# remove cols -# remove lines -# remove ncv#3 [colors collide with highlights, bitmask] not applicable -# to MSDOS box? -# add cub [cursor back param] -# add cuf [cursor forward param] -# add cuu [cursor up param] -# add cud [cursor down param] -# add hs [has status line] -# add fsl [return from status line] -# add tsl [go to status line] -# add smacs [Start alt charset] (not sure if this works) -# add rmacs [End alt charset] (ditto) -# add smcup [enter_ca_mode] (save console; thanks Corinna) -# add rmcup [exit_ca_mode] (restore console; thanks Corinna) -# add kb2 [center of keypad] -# add u8 [user string 8] \E[?6c -# add el [clear to end of line] \E[K -# Notes: -# cnorm [make cursor normal] not implemented -# flash [flash] not implemented -# blink [blink] not implemented very usefully in cygwin? \E[5m -# dim [dim] not implemented very usefully in cygwin? \E[2m -# cub1 [cursor back 1] typically \E[D, but ^H is faster? -# kNXT [shifted next key] not implemented -# kPRV [shifted prev key] not implemented -# khome [home key] really is \E[1~ NOT \E[H -# tbc [clear tab stops] not implemented -# xenl [newline ignnored after 80 cols] messes up last line? Ehud Karni -# smpch [Start PC charset] is \E[11m, same as smacs -# rmpch [End PC charset] is \E[10m, same as rmacs -# mir [move in insert mode] fails in tack? -# bce [back color erase] causes problems with change background color? -# cvvis [make cursor very visible] causes a stackdump when testing with -# testcurs using the output option? \E[?25h\E[?8c -# civis [make cursor invisible] causes everything to stackdump? \E[?25l\E[?1c -# ech [erase characters param] broken \E[%p1%dX -# kcbt [back-tab key] not implemented in cygwin? \E[Z -cygwin|ansi emulation for Cygwin, - am, hs, in, msgr, xon, - colors#8, it#8, pairs#64, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - bel=^G, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, fsl=^G, - home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m, - kb2=\E[G, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[32~, kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, - kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, - knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J, op=\E[39;49m, - rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E[10m, - rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmpch=\E[10m, - rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, - sgr0=\E[0;10m, smacs=\E11m, smcup=\E7\E[?47h, smir=\E[4h, - smpch=\E[11m, smso=\E[7m, smul=\E[4m, tsl=\E];, - u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, u9=\E[c, - vpa=\E[%i%p1%dd, - -# I've supplied this so that you can help test new values and add other -# features. Cheers, earnie_boyd@yahoo.com. -# -# Some features are from pcansi. The op value is from linux. Function-keys -# are from linux. These have been tested not to cause problems. xenl was in -# this list, but DOES cause problems so it has been removed -cygwinDBG|Debug Version for Cygwin, - am, eo, mir, msgr, xon, - colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, - cnorm=\E[?25h, cr=^M, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - flash=\E[?5h\E[?5l$<200/>, home=\E[H, hpa=\E[%i%p1%dG, - ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, - il1=\E[L, ind=^J, invis=\E[8m, kNXT=\E[6$, kPRV=\E[5$, - kb2=\E[G, kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[32~, kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, - kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, - knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J, op=\E[39;49m, - rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E[10m, rmir=\E[4l, - rmso=\E[m, rmul=\E[m, rs1=\Ec\E]R, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m, - sgr0=\E[0;10m, smacs=\E[11m, smir=\E[4h, smso=\E[7m, - smul=\E[4m, tbc=\E[2g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, - u9=\E[c, vpa=\E[%i%p1%dd, - -# Key definitions: -# The encodings for unshifted arrow keys, F1-F12, Home, Insert, etc. match the -# encodings used by other x86 environments. All others are invented for DJGPP. -# Oddly enough, while several combinations of modifiers are tabulated, there is -# none for shifted cursor keys. -# -# F1 \E[[A -# F2 \E[[B -# F3 \E[[C -# F4 \E[[D -# F5 \E[[E -# F6 \E[17~ -# F7 \E[18~ -# F8 \E[19~ -# F9 \E[20~ -# F10 \E[21~ -# F11 \E[23~ -# F12 \E[24~ -# -# Delete \E[3~ -# Down Arrow \E[B -# End \E[4~ -# Home \E[1~ -# Insert \E[2~ -# Left Arrow \E[D -# Page Down \E[6~ -# Page Up \E[5~ -# Right Arrow \E[C -# Up Arrow \E[A -# -# Shift-F1 \E[25~ -# Shift-F2 \E[26~ -# Shift-F3 \E[27~ -# Shift-F4 \E[28~ -# Shift-F5 \E[29~ -# Shift-F6 \E[30~ -# Shift-F7 \E[31~ -# Shift-F8 \E[32~ -# Shift-F9 \E[33~ -# Shift-F10 \E[34~ -# Shift-F11 \E[35~ -# Shift-F12 \E[36~ -# -# Ctrl-F1 \E[47~ -# Ctrl-F2 \E[48~ -# Ctrl-F3 \E[49~ -# Ctrl-F4 \E[50~ -# Ctrl-F5 \E[51~ -# Ctrl-F6 \E[52~ -# Ctrl-F7 \E[53~ -# Ctrl-F8 \E[54~ -# Ctrl-F9 \E[55~ -# Ctrl-F10 \E[56~ -# Ctrl-F11 \E[57~ -# Ctrl-F12 \E[58~ -# -# Ctrl-Delete \E[43~ -# Ctrl-Down Arrow \E[38~ -# Ctrl-End \E[44~ -# Ctrl-Home \E[41~ -# Ctrl-Insert \E[42~ -# Ctrl-Left Arrow \E[39~ -# Ctrl-Page Down \E[46~ -# Ctrl-Page Up \E[45~ -# Ctrl-Right Arrow \E[40~ -# Ctrl-Up Arrow \E[37~ -# -# Alt-F1 \E[59~ -# Alt-F2 \E[60~ -# Alt-F3 \E[61~ -# Alt-F4 \E[62~ -# Alt-F5 \E[63~ -# Alt-F6 \E[64~ -# Alt-F7 \E[65~ -# Alt-F8 \E[66~ -# Alt-F9 \E[67~ -# Alt-F10 \E[68~ -# Alt-F11 \E[79~ -# Alt-F12 \E[80~ -# -# Alt-Delete \E[65~ -# Alt-Down Arrow \E[60~ -# Alt-End \E[66~ -# Alt-Home \E[41~ -# Alt-Insert \E[64~ -# Alt-Left Arrow \E[61~ -# Alt-Page Down \E[68~ -# Alt-Page Up \E[67~ -# Alt-Right Arrow \E[62~ -# Alt-Up Arrow \E[59~ -# -# Also: -# Alt-A \E[82~ -# Alt-B \E[82~ -# Alt-C \E[83~ -# Alt-D \E[84~ -# Alt-E \E[85~ -# Alt-F \E[86~ -# Alt-G \E[87~ -# Alt-H \E[88~ -# Alt-I \E[89~ -# Alt-J \E[90~ -# Alt-K \E[91~ -# Alt-L \E[92~ -# Alt-M \E[93~ -# Alt-N \E[94~ -# Alt-O \E[95~ -# Alt-P \E[96~ -# Alt-Q \E[97~ -# Alt-R \E[98~ -# Alt-S \E[99~ -# Alt-T \E[100~ -# Alt-U \E[101~ -# Alt-V \E[102~ -# Alt-W \E[103~ -# Alt-X \E[104~ -# Alt-Y \E[105~ -# Alt-Z \E[106~ -djgpp|ansi emulation for DJGPP alpha, - am, bce, msgr, xhp, xon, xt, - colors#8, it#8, pairs#64, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[1v, - clear=\E[H\E[J, cnorm=\E[v, cr=^M, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[2v, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, - home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S, - indn=\E[%p1%dS, invis=\E[8m, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, - kend=\E[4~, kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, nel=^M^J, - op=\E[37;40m, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, rmso=\E[m, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%e;25%;%?%p6%t;1%;%?%p7%t;8%;m, - sgr0=\E[m, smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd, - -djgpp203|Entry for DJGPP 2.03, - OTbs, am, - cols#80, it#8, lines#25, - bel=^G, cr=^M, cub1=^H, cud1=^J, ht=^I, ind=^J, kbs=^H, kcub1=^H, - kcud1=^J, nel=^M^J, - -djgpp204|Entry for DJGPP 2.04, - OTbs, am, AX, - colors#8, cols#80, it#8, lines#25, ncv#3, pairs#64, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[1v, - clear=\E[H\E[2J, cnorm=\E[v, cr=^M, cub=\E[%p1%dD, - cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, cvvis=\E[2v, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, - home=\E[H, ht=^I, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, - il1=\E[L, ind=\E[S, indn=\E[%p1%dS, invis=\E[8m, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kf0=\E[21~, kf1=\E[[A, kf10=\E[21~, kf2=\E[[B, - kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, - kll=\E[4~, knp=\E[6~, kpp=\E[5~, nel=^M^J, rev=\E[7m, - ri=\E[T, rin=\E[%p1%dT, rmso=\E[m, setab=\E[4%p1%dm, - setaf=\E[3%p1%dm, sgr0=\E[m, smso=\E[7m, smul=\E[4m, - -# This is tested using U/Win's telnet. Scrolling is omitted because it is -# buggy. Another odd bug appears when displaying "~" in alternate character -# set (the emulator spits out error messages). Compare with att6386 -TD -uwin|U/Win 3.2 console, - am, eo, in, msgr, xenl, xon, - colors#8, it#8, ncv#58, pairs#64, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, cub1=^H, cud1=^J, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ech=\E[%p1%dX, - ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, ht=^I, hts=\EH, - ich=\E[%p1%d@, ich1=\E[@, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, kend=\E[Y, kf1=\EOP, - kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, - khome=\E[H, kich1=\E[@, nel=^M^J, op=\E[39;49m, rc=\E8, - rev=\E[7m, rmacs=\E[10m, rmir=\E[4l, rmpch=\E[10m, - rmso=\E[27m, rmul=\E[m, rs1=\Ec\E]R, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0;10m, - smacs=\E[11m, smir=\E[4h, smpch=\E[11m, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, - -# This entry fits the Windows NT console when the _POSIX_TERM environment -# variable is set to 'on'. While the Windows NT POSIX console is seldom used, -# the Telnet client supplied with both the Windows for WorkGroup 3.11 TCP/IP -# stack and the Win32 (i.e., Windows 95 and Windows NT 3.1 or later) operating -# systems is not, and (surprise!) they match very well. -# -# See: MS Knowledge Base item Q108581, dated 13-MAY-1997, titled "Setting Up -# VI POSIX Editor for Windows NT 3.1". True to Microsoft form, not only -# are the installation instructions a pile of mind-numbing bureaucratese, -# but the termcap entry is actually broken and unusable as given; the :do: -# capability is misspelled "d". -# -# To use this, you need to a bunch of environment variables: -# -# SET _POSIX_TERM=on -# SET TERM=ansi -# SET TERMCAP=location of termcap file in POSIX file format -# which is case-sensitive. -# e.g. SET TERMCAP=//D/RESKIT35/posix/termcap -# SET TMP=//C/TEMP -# -# Important note: setting the TMP environment variable in POSIX style renders -# it incompatible with a lot of other applications, including Visual C++. So -# you should have a separate command window just for vi. All the other -# variables may be permanently set in the Control Panel\System applet. -# -# You can find out more about the restrictions of this facility at -# . -# -# From: Federico Bianchi , 15 Jan 1997 -ansi-nt|psx_ansi|Microsoft Windows NT console POSIX ANSI mode, - am, bw, msgr, - cols#80, it#8, lines#25, - bel=^G, clear=\E[2J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K, - home=\E[H, ht=^I, ind=\E[S, kbs=^H, kcub1=\E[D, kcud1=\E[V, - kcuf1=\E[C, kcuu1=\E[A, nel=\r\E[S, rc=\E[u, rev=\E[7m, - ri=\E[T, rmso=\E[m, sc=\E[s, sgr0=\E[0m, smso=\E[7m, -# From: jew@venus.sunquest.com -# Date: 19 Feb 93 23:41:07 GMT -# Here's a combination of ansi and vt100 termcap -# entries that works nearly perfectly for me -# (Gateway 2000 Handbook and Microsoft Works 3.0): -pcmw|PC running Microsoft Works, - am, xenl, - cols#80, it#8, lines#24, vt#3, - bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>, - clear=\E[;H\E[2J$<50/>, cr=^M, cub1=^H, cud1=^J, - cuf1=\E[C$<2/>, cup=\E[%i%p1%d;%p2%dH$<5/>, - cuu1=\E[A$<2/>, ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H, - ht=^I, hts=\EH$<2/>, ind=\ED$<5/>, is2=\E[1;24r\E[24;1H, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\r\ED$<5/>, - rc=\E8, rev=\E[7m$<2/>, rf=/usr/share/lib/tabset/vt100, - ri=\EM$<5/>, rmso=\E[m$<2/>, rmul=\E[m$<2/>, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr0=\E[m$<2/>, smso=\E[7m$<2/>, smul=\E[4m$<2/>, - tbc=\E[3g$<2/>, - -# From: Federico Bianchi -# This is the entry for the OpenNT terminal. -# The ntconsole name is for backward compatability. -# This is for OpenNT 2.0 and later. -# Later OpenNT was renamed to Interix. -# -# Presently it is distributed by Microsoft as Services For Unix (SFU). -# The 3.5 beta contains ncurses 4.2 (that is header files and executables, -# the documentation dates from 1.9.9e) -TD - -interix|opennt|opennt-25|ntconsole|ntconsole-25|OpenNT-term compatible with color, - am, bw, msgr, - colors#8, cols#80, lines#25, ncv#3, pairs#64, - acsc=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030\,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234, - bel=^G, bold=\E[1m, cbt=\E[Z, clear=\E[2J, cub=\E[%p1%dD, - cub1=\E[D, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, - home=\E[H, ht=^I, il=\E[%p1%dL, il1=\E[L, ind=\E[S, - indn=\E[%p1%dS, kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[M, kend=\E[U, kf0=\EFA, - kf1=\EF1, kf10=\EFA, kf11=\EFB, kf12=\EFC, kf13=\EFD, - kf14=\EFE, kf15=\EFF, kf16=\EFG, kf17=\EFH, kf18=\EFI, - kf19=\EFJ, kf2=\EF2, kf20=\EFK, kf21=\EFL, kf22=\EFM, - kf23=\EFN, kf24=\EFO, kf25=\EFP, kf26=\EFQ, kf27=\EFR, - kf28=\EFS, kf29=\EFT, kf3=\EF3, kf30=\EFU, kf31=\EFV, - kf32=\EFW, kf33=\EFX, kf34=\EFY, kf35=\EFZ, kf36=\EFa, - kf37=\EFb, kf38=\EFc, kf39=\EFd, kf4=\EF4, kf40=\EFe, - kf41=\EFf, kf42=\EFg, kf43=\EFh, kf44=\EFi, kf45=\EFj, - kf46=\EFk, kf47=\EFm, kf48=\EFn, kf49=\EFo, kf5=\EF5, - kf50=\EFp, kf51=\EFq, kf52=\EFr, kf53=\EFs, kf54=\EFt, - kf55=\EFu, kf56=\EFv, kf57=\EFw, kf58=\EFx, kf59=\EFy, - kf6=\EF6, kf60=\EFz, kf61=\EF+, kf62=\EF-, - kf63=\EF\014 kf64=\EF$, kf7=\EF7, kf8=\EF8, kf9=\EF9, - kich1=\E[L, kll=\E[U, knp=\E[T, kpp=\E[S, ll=\E[U, nel=^M^J, - op=\E[m, rc=\E[u, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, - rmcup=\E[2b\E[u\r\E[K, rmso=\E[m, rmul=\E[m, rs1=\Ec, - sc=\E[s, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - setb=\E[%p1%{40}%+%dm, setf=\E[%p1%{30}%+%dm, - sgr0=\E[0m, smcup=\E[s\E[1b, smso=\E[1m, smul=\E[4m, - -opennt-35|ntconsole-35|OpenNT-term35 compatible with color, - lines#35, use=opennt, - -opennt-50|ntconsole-50|OpenNT-term50 compatible with color, - lines#50, use=opennt, - -opennt-60|ntconsole-60|OpenNT-term60 compatible with color, - lines#60, use=opennt, - -opennt-100|ntconsole-100|OpenNT-term100 compatible with color, - lines#100, use=opennt, - -# OpenNT wide terminals -opennt-w|opennt-25-w|ntconsole-w|ntconsole-25-w|OpenNT-term-w compat with color, - cols#125, use=opennt, - -opennt-35-w|ntconsole-35-w|OpenNT-term35-w compatible with color, - lines#35, use=opennt-w, - -opennt-50-w|ntconsole-50-w|OpenNT-term50-w compatible with color, - lines#50, use=opennt-w, - -opennt-60-w|ntconsole-60-w|OpenNT-term60-w compatible with color, - lines#60, use=opennt-w, - -opennt-w-vt|opennt-25-w-vt|ntconsole-w-vt|ntconsole-25-w-vt|OpenNT-term-w-vt compat with color, - cols#132, use=opennt, - -# OpenNT terminals with no smcup/rmcup (names match termcap entries) -interix-nti|opennt-nti|opennt-25-nti|ntconsole-25-nti|OpenNT-nti compatible with color, - rmcup@, smcup@, use=opennt, - -opennt-35-nti|ntconsole-35-nti|OpenNT-term35-nti compatible with color, - lines#35, use=opennt-nti, - -opennt-50-nti|ntconsole-50-nti|OpenNT-term50-nti compatible with color, - lines#50, use=opennt-nti, - -opennt-60-nti|ntconsole-60-nti|OpenNT-term60-nti compatible with color, - lines#60, use=opennt-nti, - -opennt-100-nti|ntconsole-100-nti|OpenNT-term100-nti compatible with color, - lines#100, use=opennt-nti, - -######## COMMON TERMINAL TYPES -# -# This section describes terminal classes and maker brands that are still -# quite common, but have proprietary command sets not blessed by ANSI. -# - -#### Altos -# -# Altos made a moderately successful line of UNIX boxes. In 1990 they were -# bought out by Acer, a major Taiwanese manufacturer of PC-clones. -# Acer has a web site at http://www.acer.com. -# -# Altos descriptions from Ted Mittelstaedt 4 Sep 1993 -# His comments suggest they were shipped with the system. -# - -# (altos2: had extension capabilities -# :c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\ -# :c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\ -# :c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\ -# :cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r: -# :XU=^Aq\r:XD=^Ar\r:XR=^As\r:XL=^At\r:\ -# :YU=^AQ\r:YD=^AR\r:YR=^AS\r:YL=^AT\r:\ -# :HL=^AP\r:SP=\E[i:\ -# :IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:\ -# :LO=\E[0q:LC=\E[5q:LL=\E[6q:\ -# Comparison with the k* capabilities makes it obvious that the c* things are -# shift keys. I have renamed them to keys 32 and up accordingly. Also, -# :sr: was given as a boolean-- esr) -altos2|alt2|altos-2|altos II, - cols#80, it#8, lines#24, xmc#0, - clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=\E[1B, cuf1=\E[1C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[1A, dch1=\E[P, dl1=\E[M, - ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, - if=/usr/share/tabset/vt100, il1=\E[L, ind=^J, - is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kDL=^Am\r, - kEOL=^An\r, kbs=^H, kcbt=^AK\r, kclr=^AL\r, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=^AM\r, kel=^AN\r, - kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf32=^A`\r, - kf33=^Aa\r, kf34=^Ab\r, kf35=^Ac\r, kf36=^Ad\r, kf37=^Ae\r, - kf38=^Af\r, kf39=^Ag\r, kf4=^AC\r, kf40=^Ah\r, kf41=^Ai\r, - kf42=^Aj\r, kf43=^Ak\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, khome=\E[f, kil1=^AJ\r, kind=^AO\r, - nel=^M^J, rmam=\E[?7l, rmso=\E[m, rmul=\E[m, sgr0=\E[m, - smam=\E[?7h, smso=\E[7m, smul=\E[4m, -# (altos3: had extension capabilities -# :c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\ -# :c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\ -# :c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\ -# :cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r: -# :XU=^Aq\r:XD=^Ar\r:XR=^As\r:XL=^At\r:\ -# :HL=^AP\r:SP=\E[i:\ -# :IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:\ -altos3|altos5|alt3|alt5|altos-3|altos-5|altos III or V, - blink=\E[5p, ri=\EM, sgr0=\E[p, use=altos2, -altos4|alt4|altos-4|altos IV, - use=wy50, -# (altos7: had extension capabilities: -# :GG#0:GI=\EH8:GF=\EH7:\ -# :c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\ -# :c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\ -# :c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\ -# :cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r: -# Comparison with the k* capabilities makes it obvious that the c* things are -# shift keys. I have renamed them to keys 32 and up accordingly. I have -# also made this entry relative to adm12 in order to give it an . The -# imported by use=adm+sgr may work, let me know. -- esr) -altos7|alt7|altos VII, - am, mir, - cols#80, lines#24, xmc#0, - acsc=j5k3l2m1n8q\:t4u9v=w0x6, blink=\EG2, bold=\EGt, - clear=\E+^^, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dim=\EGp, dl1=\ER, ed=\EY, el=\ET, home=^^, ht=^I, il1=\EE, - ind=^J, invis=\EG1, - is2=\E`\:\Ee(\EO\Ee6\Ec41\E~4\Ec21\Eu\E~2, kDL=^Am\r, - kEOL=^An\r, kbs=^H, kcbt=^AK\r, kclr=^AL\r, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=^AM\r, kel=^AN\r, - kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf32=^A`\r, - kf33=^Aa\r, kf34=^Ab\r, kf35=^Ac\r, kf36=^Ad\r, kf37=^Ae\r, - kf38=^Af\r, kf39=^Ag\r, kf4=^AC\r, kf40=^Ah\r, kf41=^Ai\r, - kf42=^Aj\r, kf43=^Ak\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, khome=^^, kil1=^AJ\r, kind=^AO\r, - knp=\EK, kpp=\EJ, mc4=\EJ, mc5=\Ed#, nel=^M^J, ri=\Ej, - rmir=\Er, smir=\Eq, use=adm+sgr, -altos7pc|alt7pc|altos PC VII, - kend=\ET, use=altos7, - -#### Hewlett-Packard (hp) -# -# Hewlett-Packard -# 8000 Foothills Blvd -# Roseville, CA 95747 -# Vox: 1-(916)-785-4363 (Technical response line for VDTs) -# 1-(800)-633-3600 (General customer support) -# -# -# As of March 1998, HP no longer has any terminals in production. -# The 700 series (22, 32, 41, 44, 92, 94, 96, 98) is still being -# supported (they still have parts). So are the 2392a and 2394a. -# See the WORKSTATION CONSOLES section for the 700s. -# - -# Generic HP terminal - this should (hopefully) work on any HP terminal. -hpgeneric|hp|hewlett-packard generic terminal, - OTbs, OTpt, am, da, db, mir, xhp, - cols#80, lines#24, lm#0, vt#6, - bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\E&a%p2%dc%p1%dY$<6>, cuu1=\EA, dch1=\EP, dl1=\EM, - ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, hts=\E1, il1=\EL, - ind=^J, kbs=^H, kcbt=\Ei, rmir=\ER, rmso=\E&d@, rmul=\E&d@, - sgr0=\E&d@, smir=\EQ, smso=\E&dJ, smul=\E&dD, tbc=\E3, - vpa=\E&a%p1%dY, - -hp110|hewlett-packard model 110 portable, - lines#16, use=hpgeneric, - -hp+pfk+cr|hp function keys with CR, - kf1=\Ep\r, kf2=\Eq\r, kf3=\Er\r, kf4=\Es\r, kf5=\Et\r, - kf6=\Eu\r, kf7=\Ev\r, kf8=\Ew\r, - -hp+pfk-cr|hp function keys w/o CR, - kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, kf6=\Eu, kf7=\Ev, - kf8=\Ew, - -# The hp2621s use the same keys for the arrows and function keys, -# but not separate escape sequences. These definitions allow the -# user to use those keys as arrow keys rather than as function -# keys. -hp+pfk+arrows|hp alternate arrow definitions, - kcub1=\Eu\r, kcud1=\Ew\r, kcuf1=\Ev\r, kcuu1=\Et\r, kf1@, - kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, khome=\Ep\r, kind=\Er\r, - kll=\Eq\r, kri=\Es\r, - -hp+arrows|hp arrow definitions, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\Eh, - kind=\ES, kll=\EF, kri=\ET, - -# Generic stuff from the HP 262x series -# -hp262x|HP 262x terminals, - xhp, - blink=\E&dA, dch1=\EP$<2>, ed=\EJ, ht=\011$<2>, ind=\ES, - invis=\E&dS, ip=$<2>, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kdch1=\EP, kdl1=\EM, ked=\EJ, kel=\EK, khome=\Eh, - kich1=\EQ, kil1=\EL, kind=\ES, knp=\EU, kpp=\EV, kri=\ET, - krmir=\ER, rev=\E&dB, rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@, - sgr=\E&d%{64}%?%p1%t%{66}%|%;%?%p2%t%{68}%|%;%?%p3%t%{66}%|%;%?%p4%t%{65}%|%;%c, - sgr0=\E&d@, smkx=\E&s1A, smso=\E&dB, smul=\E&dD, - -# Note: no on HPs since that homes to top of memory, not screen. -# Due to severe 2621 braindamage, the only way to get the arrow keys to -# transmit anything at all is to turn on the function key labels -# with , and even then the user has to hold down shift! -# The default 2621 turns off the labels except when it has to to -# enable the function keys. If your installation prefers labels -# on all the time, or off all the time (at the "expense" of the -# function keys), use 2621-nl or 2621-wl. -# -# Note: there are newer ROMs for 2621's that allow you to set -# strap A so the regular arrow keys xmit \EA, etc, as with the -# 2645. However, even with this strap set, the terminal stops -# xmitting if you reset it, until you unset and reset the strap! -# Since there is no way to set/unset the strap with an escape -# sequence, we don't use it in the default. -# If you like, you can use 2621-ba (brain-damaged arrow keys). -hp2621-ba|2621 w/new rom and strap A set, - rmkx@, smkx@, use=hp+arrows, use=hp2621, - -# hp2621 with function labels. Most of the time they are off, -# but inside vi, the function key labels appear. You have to -# hold down shift to get them to xmit. -hp2621|hp2621a|hp2621A|2621|2621a|2621A|hp2621-wl|2621-wl|hp 2621 w/labels, - is2=\E&jA\r, rmkx=\E&jA, use=hp2621-fl, -hp2621-fl|hp 2621, - xhp@, xon, - pb#19200, - cbt=\Ei, cup=\E&a%p2%dc%p1%dY, dch1=\EP$<2>, ht=\011$<2>, - ip=$<2>, is2=\E&j@\r, rmkx=\E&j@, rmso=\E&d@, rmul=\E&d@, - sgr0=\E&d@, smkx=\E&jB, smso=\E&dD, smul=\E&dD, - use=hp+pfk+cr, use=hpgeneric, - -# To use hp2621p printer, setenv TERM=2621p, PRINTER=2612p -hp2621p|hp 2621 with printer, - mc4=\E&p13C, mc5=\E&p11C, use=hp2621, - -hp2621p-a|hp2621p with fn as arrows, - use=hp+pfk+arrows, use=hp2621p, - -# hp2621 with k45 keyboard -hp2621-k45|hp2621k45|k45|hp 2621 with 45 keyboard, - kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - khome=\Eh, rmkx=\E&s0A, smkx=\E&s1A, use=hp2621, - -# 2621 using all 48 lines of memory, only 24 visible at any time. -hp2621-48|48 line 2621, - lines#48, - cup=\E&a%p2%dc%p1%dR, home=\EH, vpa=\E&a%p1%dR, - use=hp2621, - -# 2621 with no labels ever. Also prevents vi delays on escape. -hp2621-nl|hp 2621 with no labels, - kcub1@, kcud1@, kcuf1@, kcuu1@, khome@, rmkx@, smkx@, - use=hp2621-fl, - -# Needed for UCB ARPAVAX console, since lsi-11 expands tabs -# (wrong). -# -hp2621-nt|hp 2621 w/no tabs, - ht@, use=hp2621, - -# Hp 2624 B with 4 or 10 pages of memory. -# -# Some assumptions are made with this entry. These settings are -# NOT set up by the initialization strings. -# -# Port Configuration -# RecvPace=Xon/Xoff -# XmitPace=Xon/Xoff -# StripNulDel=Yes -# -# Terminal Configuration -# InhHndShk=Yes -# InhDC2=Yes -# XmitFnctn(A)=No -# InhEolWrp=No -# -# Note: the 2624 DOES have a true , believe it or not! -# -# The 2624 has an "error line" to which messages can be sent. -# This is CLOSE to what is expected for a "status line". However, -# after a message is sent to the "error line", the next carriage -# return is EATEN and the "error line" is turned back off again! -# So I guess we can't define , , , , , . -# -# This entry supports emacs (and any other program that uses raw -# mode) at 4800 baud and less. I couldn't get the padding right -# for 9600. -# -# (hp2624: replaced NUL sequences in flash with mandatory pauses -- esr) -hp2624|hp2624a|hp2624b|hp2624b-4p|Hewlett Packard 2624 B, - da, db, - lm#96, - flash=\E&w13F$<66/>\E&w12F$<66/>\E&w13F$<66/>\E&w12F, - use=hp+labels, use=scrhp, - -# This hp2626 entry does not use any of the fancy windowing stuff -# of the 2626. -# -# Indeed, terminfo does not yet handle such stuff. Since changing -# any window clears memory, it is probably not possible to use -# this for screen opt. -# -# ed is incredibly slow most of the time - I am guessing at the -# exact padding. Since the terminal uses xoff/xon this is intended -# only for cost computation, so that the terminal will prefer el -# or even dl1 which is probably faster! -# -# \ED\EJ\EC hack for ed from Ed Bradford - apparently ed is only -# extra slow on the last line of the window. -# -# The padding probably should be changed. -# -hp2626|hp2626a|hp2626p|hp 2626, - da, db, - lm#0, pb#19200, - ed=\ED\EJ$<500>\EC, indn=\E&r%p1%dD, ip=$<4>, - is2=\E&j@\r, rin=\E&r%p1%dU, use=hp+pfk+cr, - use=hp+labels, use=scrhp, - -# This entry is for sysline. It allocates a 23 line window with -# a 115 line workspace for regular use, and a 1 line window for -# the status line. -# -# This assumes port 2 is being used. -# Turn off horizontal line, Create ws #1 with 115 lines, -# Create ws #2 with 1 line, Create window #1 lines 1-23, -# Create window #2 lines 24-24, Attach cursor to workspace #1. -# Note that this clears the tabs so it must be done by tset before -# it sets the tabs. -# -hp2626-s|hp 2626 using only 23 lines, - eslok, hs, - lines#23, - fsl=\E&d@\E&w7f2p1I\E&w4f1I, - is1=\E&q3t0{0H \E&w0f115n1I \E&w0f1n2I \E&w2f1i0d0u22l0S \E&w2f2i0d23u23l0S \E&w7f2p1I \r, - tsl=\E&w7f2p2I\E&w4f2I\r\EK\E&a%p1%dC, use=hp2626, -# Force terminal back to 24 lines after being 23. -hp2626-ns|hp 2626 using all 24 lines, - is1=\E&q3t0{0H \E&w0f118n1I \E&w0f1n2I \E&w2f1i0d0u23l0S \E&w3f2I \E&w7f2p1I \r, - use=hp2626, -# Various entries useful for small windows on 2626. -hp2626-12|hewlett-packard 2626 12 lines, - lines#12, use=hp2626, -hp2626-12x40|hewlett-packard 2626 12 lines 40 columns, - cols#40, lines#12, use=hp2626, -hp2626-x40|hewlett-packard 2626 40 columns, - cols#40, use=hp2626, -hp2626-12-s|hewlett-packard 2626 11 lines plus status, - lines#11, use=hp2626-s, - -# -# hp2627 color tubes from University of Wisconsin -# -hp2627a-rev|hp 2627 with reverse video colors, - cr=^M, cud1=^J, ht=^I, ind=^J, - is2=\E&v0m1a0b0c1x1y1z1i0a0b1c1x1y1z0i0S\E&j@\r\E3\r, - kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, rmul=\E&v0S\E&d@, - smul=\E&dD\E&v1S, use=hp2621-nl, -hp2627a|hp 2627 color terminal with no labels, - cr=^M, cud1=^J, ht=^I, ind=^J, - is2=\E&v0m1a1b0c1i0a1b1c2i1a0b0c0i0S\E&j@\r\E3\r, - kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, rmso=\E&v0S, - rmul=\E&v0S\E&d@, smso=\E&v2S, smul=\E&dD\E&v1S, - use=hp2621-nl, -hp2627c|hp 2627 color (cyan) terminal with no labels, - cr=^M, cud1=^J, ht=^I, ind=^J, - is2=\E&v0m1a0b0c2i1a1b0c1i0a1b1c0i0S\E&j@\r\E3\r, - kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, use=hp2627a, - -# hp2640a doesn't have the Y cursor addressing feature, and C is -# memory relative instead of screen relative, as we need. -# -hp2640a|hp 2640a, - cup@, rmkx@, smkx@, use=hp2645, - -hp2640b|hp2644a|hp 264x series, - rmkx@, smkx@, use=hp2645, - -# (hp2641a: removed unknown :gu: -- esr) -hp2641a|hp2645a|hp2647a|HP 264?A series BRL entry, - am, da, db, mir, xhp, - cols#80, lines#24, - bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\E&a%p2%2dc%p1%2dY, cuu1=\EA, dch1=\EP, dl1=\EM, - ed=\EJ, el=\EK, hpa=\E&a%p1%2dC, ht=^I, - if=/usr/share/tabset/std, il1=\EL, ind=^J, - is2=\EE$<500/>, kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, - rmir=\ER, rmso=\E&d@, smir=\EQ, smso=\E&dB, - vpa=\E&a%p1%2dY, - -# This terminal should be used at 4800 baud or less. It needs padding for -# plain characters at 9600, I guessed at an appropriate cr delay. It really -# wants ^E/^F handshaking, but that doesn't work well even if you write -# software to support it. -hp2645|hp45|HP 2645 series, - pb#9600, - blink=\E&dA, cr=\r$<20>, dim=\E&dH, kctab=\E2, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\EP, kdl1=\EM, - ked=\EJ, kel=\EK, khome=\Eh, khts=\E1, kich1=\EQ, kil1=\EL, - kind=\ES, knp=\EU, kpp=\EV, kri=\ET, krmir=\ER, rev=\E&dB, - rmkx=\E&s0A, - sgr=\E&d%{64}%?%p1%t%{66}%|%;%?%p2%t%{68}%|%;%?%p3%t%{66}%|%;%?%p4%t%{65}%|%;%?%p5%t%{72}%|%;%?%p6%t%{66}%|%;%c, - sgr0=\E&d@, smkx=\E&s1A, smul=\E&dD, use=hpgeneric, -# You should use this terminal at 4800 baud or less. -hp2648|hp2648a|HP 2648a graphics terminal, - clear=\EH\EJ$<50>, cup=\E&a%p2%dc%p1%dY$<20>, - dch1=\EP$<7>, ip=$<5>, use=hp2645, - -# The HP 150 terminal is a fairly vanilla HP terminal, with the -# clreol standout problem. It also has graphics capabilities and -# a touch screen, which we don't describe here. -hp150|hewlett packard Model 150, - OTbs, use=hp2622, - -# HP 2382a terminals, "the little ones." They don't have any -# alternate character set support and sending out ^N/^O will -# leave the screen blank. -hp2382a|hp2382|hewlett packard 2382a, - da, db, - lh#1, lm#48, - acsc@, - pln=\E&f0a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s, - rmacs@, - sgr=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c, - sgr0=\E&d@, smacs@, use=hp+labels, use=scrhp, - -hp2621-a|hp2621a-a|hp2621 with fn as arrows, - use=hp+pfk+arrows, use=hp2621-fl, - -# newer hewlett packard terminals - -newhpkeyboard|generic entry for HP extended keyboard, - kbs=^H, kcbt=\Ei, kclr=\EJ, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kdch1=\EP, kdl1=\EM, ked=\EJ, kel=\EK, khome=\Eh, - kich1=\EQ, kil1=\EL, kind=\ET, kll=\EF, knp=\EU, kpp=\EV, - kri=\ES, krmir=\ER, rmkx=\E&s0A, smkx=\E&s1A, - use=hp+pfk-cr, - -newhp|generic entry for new hewlett packard terminals, - am, bw, mir, xhp, xon, - cols#80, lines#24, pb#4800, - acsc=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q\,t5u6v8w7x., - bel=^G, blink=\E&dA, bold=\E&dF, cbt=\Ei, cr=^M, cub1=^H, - cud1=^J, cuf1=\EC, cuu1=\EA, dch1=\EP$<2>, dim=\E&dH, - dl1=\EM, ed=\EJ, el=\EK, ht=\011$<2>, hts=\E1, il1=\EL, ind=^J, - invis=\E&dS, ip=$<2>, is1=\E&jB$<8>, nel=^M^J, - pfkey=\E&f0a%p1%dk0d%p2%l%dL%p2%s, - pfloc=\E&f1a%p1%dk0d%p2%l%dL%p2%s, - pfx=\E&f2a%p1%dk0d%p2%l%dL%p2%s, rev=\E&dB, ri=\ET, - rmacs=^O, rmir=\ER, rmso=\E&d@, rmul=\E&d@, rs1=\Eg, - sgr=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;, - sgr0=\E&d@\017, smacs=^N, smir=\EQ, smso=\E&dJ, smul=\E&dD, - tbc=\E3, use=newhpkeyboard, - -memhp|memory relative addressing for new HP ttys, - vt#6, - clear=\EH\EJ$<40>, cub=\E&a-%p1%dC, cud=\E&a+%p1%dR, - cuf=\E&a+%p1%dC, cup=\E&a%p1%dr%p2%dC, cuu=\E&a-%p1%dR, - home=\EH, hpa=\E&a%p1%dC, ll=\E&a23R\r, - mrcup=\E&a%p1%dr%p2%dC, vpa=\E&a%p1%dR, use=newhp, - -scrhp|screen relative addressing for new HP ttys, - clear=\E&a0c0Y\EJ$<40>, cub=\E&a-%p1%dC, - cud=\E&a+%p1%dR, cuf=\E&a+%p1%dC, - cup=\E&a%p1%dy%p2%dC$<10>, cuu=\E&a-%p1%dR, - home=\E&a0y0C, hpa=\E&a%p1%dC, ll=\E&a0y0C\EA, - mrcup=\E&a%p1%dr%p2%dC, vpa=\E&a%p1%dY, use=newhp, - -# (hp+labels: added label values from a BRL termcap -- esr) -hp+labels|"standard" label info for new HP ttys, - lh#2, lw#8, nlab#8, - lf0=f1, lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, - pln=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s, - rmln=\E&j@, smln=\E&jB, - -hp+printer|"standard" printer info for HP ttys, - ff=\E&p4u0C, mc0=\EH\E&p4dF, mc4=\E&p13C, mc5=\E&p11C, - - -# The new hp2621b is kind of a cross between the old 2621 and the -# new 262x series of machines. It has dip-switched options. -# The firmware has a bug in it such that if you give it a null -# length label, the following character is eaten! -hp2621b|hp 2621b with old style keyboard, - lh#1, lm#48, lw#8, nlab#8, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\Eh, - kind=\ET, kll=\EF, kri=\ES, - pln=\E&f0a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d3L%?%ga%!%t%{32}%c%;%p2%s\E%{111}%p1%+%c\r, - smln=\E&jB, use=hp2621, - -hp2621b-p|hp 2621b with printer, - use=hp+printer, use=hp2621b, - -# hp2621b - new 2621b with new extended keyboard -# these are closer to the new 26xx series than the other 2621b -hp2621b-kx|hp 2621b with extended keyboard, - use=newhpkeyboard, use=hp2621b, - -hp2621b-kx-p|hp 2621b with new keyboard & printer, - use=hp+printer, use=hp2621b-kx, - -# Some assumptions are made in the following entries. -# These settings are NOT set up by the initialization strings. -# -# Port Configuration -# RecvPace=Xon/Xoff XmitPace=Xon/Xoff StripNulDel=Yes -# -# Terminal Configuration -# InhHndShk(G)=Yes InhDC2(H)=Yes -# XmitFnctn(A)=No InhEolWrp=No -# -# -# Hp 2622a & hp2623a display and graphics terminals -# -hp2622|hp2622a|hp 2622, - da, db, - lm#0, pb#19200, - is2=\E&dj@\r, use=hp+pfk+cr, use=hp+labels, use=scrhp, - -# The 2623 is a 2622 with extra graphics hardware. -hp2623|hp2623a|hp 2623, - use=hp2622, - -hp2624b-p|hp2624b-4p-p|hewlett packard 2624 B with printer, - use=hp+printer, use=hp2624, - -# The hewlett packard B can have an optional extra 6 pages of memory. -hp2624-10p|hp2624a-10p|hp2624b-10p|hewlett packard 2624 B w/ 10 pages of memory, - lm#240, use=hp2624, - -hp2624b-10p-p|hewlett packard 2624 B w/ extra memory & printer, - lm#240, use=hp2624b-p, - -# Color manipulations for HP terminals -hp+color|hp with colors, - ccc, - colors#16, ncv#17, pairs#7, - initp=\E&v%?%p2%{1000}%=%t1%e.%p2%d%;a%?%p3%{1000}%=%t1%e.%p3%d%;b%?%p4%{1000}%=%t1%e.%p4%d%;c%?%p5%{1000}%=%t1%e.%p5%d%;x%?%p6%{1000}%=%t1%e.%p6%d%;y%?%p7%{1000}%=%t1%e.%p7%d%;z%p1%dI, - oc=\E&v0m1a1b1c0I\E&v1a1I\E&v1b2I\E&v1a1b3I\E&v1c4I\E&v1a1c5I\E&v1b1c6I\E&v1x1y7I, - op=\E&v0S, scp=\E&v%p1%dS, - -# sets the screen to be 80 columns wide -hp2397a|hp2397|hewlett packard 2397A color terminal, - is2=\E&w6f80X, use=memhp, use=hp+labels, use=hp+color, - -# HP 700/44 Setup parameters: -# Terminal Mode HP-PCterm -# Inhibit Auto Wrap NO -# Status Line Host Writable -# PC Character Set YES -# Twenty-Five Line Mode YES -# XON/XOFF @128 or 64 (sc) -# Keycode Mode NO or YES (sc) -# Backspace Key BS or BS/DEL -# -# sets pcterm; autowrap; 25 lines; pc char set; prog DEL key; -# \E\\? does not turn off keycode mode -# sets alternate start/stop; keycode on -hpansi|hp700|hewlett packard 700/44 in HP-PCterm mode, - am, eo, xenl, xon, - cols#80, lines#25, - acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263, - bel=^G, cbt=\E[Z, civis=\E[?25l, clear=\E[2J\E[H, - cnorm=\E[?25h, cr=^M, cub1=\E[D, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, - ind=^J, - is2=\E[44"p\E[?7h\E[>10h\E[>12h\EP1;1|3/7F\E\\, - kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kend=\E[4~, kf1=\E[17~, kf10=\E[28~, - kf2=\E[18~, kf3=\E[19~, kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, - kf7=\E[24~, kf8=\E[25~, kf9=\E[26~, khome=\E[1~, knp=\E[6~, - kpp=\E[5~, rmam=\E[?7l, - rmsc=\E[>11l\EP1**x0/11;1/13\E[m\E\\, rmso=\E[m, - rmul=\E[m, sgr0=\E[m, smam=\E[?7h, - smsc=\E[>11h\EPO**x0/65;1/67\E\\$<250>, smso=\E[7m, - smul=\E[4m, xoffc=g, xonc=e, -# -# (hp2392: copied here from hpex -- esr) -hp2392|239x series, - cols#80, - cbt=\Ei, cup=\E&a%p1%dy%p2%dC, kf1=\Ep\r, kf2=\Eq\r, - kf3=\Er\r, kf4=\Es\r, kf5=\Et\r, kf6=\Eu\r, kf7=\Ev\r, - kf8=\Ew\r, khome=\Eh, kind=\EU, knp=\Eu, kpp=\Ev, kri=\EV, - rmir=\ER, rmul=\E&d@, smir=\EQ, smul=\E&dD, vpa=\E&a%p1%dY, - use=hpsub, - -hpsub|hp terminals -- capability subset, - am, da, db, mir, xhp, xon, - lines#24, - bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC, - cuu1=\EA, dch1=\EP, dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, - ht=^I, if=/usr/share/tabset/stdcrt, il1=\EL, ind=^J, - is2=\E&s1A\E<\E&k0\\, kbs=^H, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, khome=\Eh, rmkx=\E&s0A, rmso=\E&d@, - sgr0=\E&d@, smkx=\E&s1A, smso=\E&dB, - -# hpex: -# May be used for most 24 x 80 hp terminals, -# but has no padding added, so may allow runover in some terminals at high -# baud rates. Will not work for hp2640a or hp2640b terminals, hp98x6 and -# hp98x5 terminal emulators or hp98x6 consoles. -# Adds xy-cursor addressing, vertical cursor addressing, home, -# last line, and underline capabilities. -# -# (hpex: removed memory-lock capabilities ":ml=\El:mu=\Em:", -# moved here from hpsub -- esr) -hpex|hp extended capabilites, - cr=^M, cud1=^J, cup=\E&a%p1%dy%p2%dC, ht=^I, ind=^J, kbs=^H, - kcub1=^H, kcud1=^J, nel=^M^J, rmir=\ER, rmul=\E&d@, smir=\EQ, - smul=\E&dD, vpa=\E&a%p1%dY, use=hpsub, - -# From: Ville Sulko , 05 Aug 1996 -hp2|hpex2|hewlett-packard extended capabilities newer version, - am, da, db, mir, xhp, - cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8, xmc#0, - bel=^G, clear=\E&a0y0C\EJ, cr=^M, cub1=^H, cud1=\EB, - cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA, dch1=\EP, - dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, hts=\E1, - il1=\EL, ind=^J, kbs=^H, kclr=\EJ, kctab=\E2, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\EP, kdl1=\EM, - ked=\EJ, kel=\EK, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, - kf6=\Eu, kf7=\Ev, kf8=\Ew, khome=\Eh, khts=\E1, kich1=\EQ, - kil1=\EL, kind=\ES, kll=\EF, knp=\EU, kpp=\EV, kri=\ET, - krmir=\ER, ktbc=\E3, meml=\El, memu=\Em, - pfkey=\E&f%p1%dk%p2%l%dL%p2%s, - pfloc=\E&f1a%p1%dk%p2%l%dL%p2%s, - pfx=\E&f2a%p1%dk%p2%l%dL%p2%s, - pln=\E&f%p1%dk%p2%l%dd0L%p2%s, rmir=\ER, rmkx=\E&s0A, - rmln=\E&j@, rmso=\E&d@, rmul=\E&d@, - sgr=\E&d%?%p7%t%{115}%c%;%p1%p3%|%p6%|%{2}%*%p2%{4}%*%+%p4%+%p5%{8}%*%+%{64}%+%c%?%p9%t%'\016'%c%e%'\017'%c%;, - sgr0=\E&d@, smir=\EQ, smkx=\E&s1A, smln=\E&jB, smso=\E&dB, - smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY, - -# HP 236 console -# From: -hp236|hp236 internal terminal emulator, - OTbs, am, - cols#80, lines#24, - clear=\EF, cnorm=\EDE, cub1=^H, - cup=\EE%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, cvvis=\EDB, - dch1=\EJ, dl1=\EH, el=\EK, ich1=\EI, il1=\EG, rmso=\ECI, - sgr0=\ECI, smso=\EBI, - -# This works on a hp300 console running Utah 4.3 BSD -# From: Craig Leres -hp300h|HP Catseye console, - OTbs, am, da, db, mir, xhp, - cols#128, lines#51, lm#0, xmc#0, - bel=^G, cbt=\Ei, clear=\E&a0y0C\EJ, cr=^M, cub1=^H, cud1=\EB, - cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA, dch1=\EP, - dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, - if=/usr/share/tabset/stdcrt, il1=\EL, ind=^J, kbs=^H, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\Eh, - rmir=\ER, rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@, sgr0=\E&d@, - smir=\EQ, smkx=\E&s1A, smso=\E&dB, smul=\E&dD, tbc=\E3, - vpa=\E&a%p1%dY, -# From: Greg Couch -hp9837|hp98720|hp98721|HP 9000/300 workstations, - OTbs, am, da, db, mir, xhp, - cols#128, it#8, lines#46, lm#0, - bel=^G, cbt=\Ei, clear=\E&a0y0C\EJ, cub1=^H, cud1=\EB, - cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA, dch1=\EP, - dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, hts=\E1, - il1=\EL, ind=^J, is2=\E&v0m1b0i&j@, kbs=^H, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\EP, kdl1=\EM, - ked=\EJ, kel=\EK, khome=\Eh, kich1=\EQ, kil1=\EL, knp=\EU, - kpp=\EV, rmir=\ER, rmkx=\E&s0A, rmso=\E&v0S, rmul=\E&d@, - sgr0=\E&d@, smir=\EQ, smkx=\E&s1A, smso=\E&v5S, smul=\E&dD, - tbc=\E3, vpa=\E&a%p1%dY, -# HP 9845 desktop computer from BRL -# (hp9845: removed unknown capability :gu: -- esr) -hp9845|HP 9845, - OTbs, am, da, db, eo, mir, xhp, - cols#80, lines#21, - OTbc=\ED, clear=\EH\EJ, cuf1=\EC, cup=\E&a%p2%2dc%p1%2dY, - cuu1=\EA, dch1=\EP, dl1=\EM, ed=\EJ, el=\EK, - if=/usr/share/tabset/std, il1=\EL, rmir=\ER, rmso=\E&d@, - smir=\EQ, smso=\E&dB, -# From: Charles A. Finnell of MITRE , developed 07SEP90 -# (hp98550: replaced /usr/share/tabset/9837 with std because ,; -# added empty to avoid warnings re / --esr) -hp98550|hp98550a|HP 9000 Series 300 color console, - OTbs, am, da, db, mir, xhp, - cols#128, it#8, lines#49, lm#0, - acsc=, bel=^G, blink=\E&dA, bold=\E&dJ, cbt=\Ei, civis=\E*dR, - clear=\EH\EJ, cnorm=\E*dQ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\E&a%p1%dy%p2%dC, cuu1=\EA, dch1=\EP, dim=\E&dH, - dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, hts=\E1, - if=/usr/share/tabset/std, il1=\EL, ind=^J, invis=\E&ds, - kbs=^H, kclr=\EJ, kctab=\E2, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kdch1=\EP, kdl1=\EM, ked=\EJ, kel=\EK, kf1=\Ep, - kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, kf6=\Eu, kf7=\Ev, kf8=\Ew, - khome=\Eh, khts=\E1, kich1=\EQ, kil1=\EL, kind=\ES, kll=\EF, - knp=\EU, kpp=\EV, kri=\ET, krmir=\ER, ktbc=\E3, rev=\E&dJ, - rmacs=^O, rmir=\ER, rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@, - sgr0=\E&d@, smacs=^N, smir=\EQ, smkx=\E&s1A, smso=\E&dJ, - smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY, -# From: Victor Duchovni -# (hp700-wy: removed obsolete ":nl=^J:"; -# replaced /usr/share/tabset/hp700-wy with std because , -- esr) -hp700-wy|HP700/41 emulating wyse30, - OTbs, am, bw, mir, msgr, - cols#80, it#8, lines#24, xmc#1, - cbt=\EI, clear=^Z, cr=^M, cub1=^H, cud1=^V, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET$<10/>, home=^^, ht=^I, hts=\E1, - if=/usr/share/tabset/stdcrt, il1=\EE$<0.7*/>, - is1=\E~"\EC\Er\E(\EG0\003\E`9\E`1, kbs=\177, kcbt=\EI, - kclr=^Z, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, ked=\EY, - kel=\ET, khome=^^, khts=\EI, kich1=\Eq, krmir=\Er, ll=^^^K, - ri=\Ej, rmir=\Er, rmso=\EG0$<10/>, rmul=\EG0$<10/>, - sgr0=\EG0$<10/>, smir=\Eq, smso=\EG4$<10/>, - smul=\EG8$<10/>, tbc=\E0, vpa=\E[%p1%{32}%+%c, -hp70092|hp70092a|hp70092A|HP 700/92, - am, da, db, xhp, - cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8, - acsc=0cjgktlrmfn/q\,t5u6v8w7x., bel=^G, blink=\E&dA, - bold=\E&dB, cbt=\Ei, clear=\E&a0y0C\EJ, cr=^M, cub1=^H, - cud1=\EB, cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA, - dch1=\EP, dim=\E&dH, dl1=\EM, el=\EK, hpa=\E&a%p1%dC, ht=^I, - hts=\E1, il1=\EL, kbs=^H, kclr=\EJ, kctab=\E2, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\EP, kdl1=\EM, - ked=\EJ, kel=\EK, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, - kf6=\Eu, kf7=\Ev, kf8=\Ew, khome=\Eh, khts=\E1, kich1=\EQ, - kil1=\EL, kind=\ES, kll=\EF, knp=\EU, kpp=\EV, kri=\ET, - krmir=\ER, ktbc=\E3, rev=\E&dB, ri=\ET, rmacs=^O, rmir=\ER, - rmkx=\E&s0A, rmln=\E&j@, rmso=\E&d@, rmul=\E&d@, - sgr0=\E&d@, smacs=^N, smir=\EQ, smkx=\E&s1A, smln=\E&jB, - smso=\E&dJ, smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY, - -bobcat|sbobcat|HP 9000 model 300 console, - am, da, db, mir, xhp, - cols#128, it#8, lines#47, xmc#0, - cbt=\Ei, clear=\EH\EJ, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\E&a%p1%dy%p2%dC$<6/>, cuu1=\EA, dch1=\EP, - dl1=\EM$<10*/>, ed=\EJ, el=\EK, hpa=\E&a%p1%dC$<6/>, ht=^I, - il1=\EL$<10*/>, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, khome=\Eh, nel=^M^J, rmir=\ER, - rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@, sgr0=\E&d@, smir=\EQ, - smkx=\E&s1A, smso=\E&dB, smul=\E&dD, vpa=\E&a%p1%dY$<6/>, -gator-t|HP 9000 model 237 emulating extra-tall AAA, - lines#94, use=gator, -gator|HP 9000 model 237 emulating AAA, - bw, km, mir, ul, - cols#128, it#8, lines#47, - bel=^G, cbt=\E[Z, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\EM, - dch=\E[%p1%dP$<4/>, dch1=\E[P, dl=\E[%p1%dM$<1*/>, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, hpa=\E[%i%p1%d`, - ht=^I, ich=\E[%p1%d@$<4/>, ich1=\E[@, il=\E[%p1%dL$<1*/>, - il1=\E[L, kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, - rep=%p1%c\E[%p2%db$<1*/>, rev=\E[7m, rmso=\E[m, - rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m, -gator-52|HP 9000 model 237 emulating VT52, - cols#128, lines#47, use=vt52, -gator-52t|HP 9000 model 237 emulating extra-tall VT52, - lines#94, use=gator-52, - -#### Honeywell-Bull -# -# From: Michael Haardt 11 Jan 93 -# - -# Honeywell Bull terminal. Its cursor and function keys send single -# control characters and it has standout/underline glitch. Most programs -# do not like these features/bugs. Visual bell is realized by flashing the -# "keyboard locked" LED. -dku7003-dumb|Honeywell Bull DKU 7003 dumb mode, - cols#80, lines#25, - clear=^]^_, cr=^M, cub1=^Y, cud1=^K, cuf1=^X, - cup=\E[%i%p1%d;%p2%dH, cuu1=^Z, ed=^_, el=\E[K, - flash=\E[2h\E[2l, home=^], ht=^I, ind=^J, kbs=^H, kcub1=^Y, - kcud1=^K, kcuf1=^X, kcuu1=^Z, khome=^], nel=^M^J, -dku7003|Honeywell Bull DKU 7003 all features described, - msgr, - xmc#1, - blink=\E[5m, bold=\E[7m, dim=\E[2m, rev=\E[7m, rmso=\E[m, - rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m, - use=dku7003-dumb, - -#### Lear-Siegler (adm) -# -# These guys are long since out of the terminals business, but -# in 1995 many current terminals still have an adm type as one of their -# emulations (usually their stupidest, and usually labeled adm3, though -# these `adm3' emulations normally have adm3a+ capabilities). -# -# WARNING: Some early ADM terminals (including the ADM3 and ADM5) had a -# `diagnostic feature' that sending them a ^G while pin 22 (`Ring Indicator') -# was being held to ground would trigger a send of the top line on the screen. -# A quick fix might be to drop back to a cheesy 4-wire cable with pin 22 -# hanging in the air. (Thanks to Eric Fischer, , -# for clearing up this point.) - -adm1a|adm1|lsi adm1a, - am, - cols#80, lines#24, - bel=^G, clear=\E;$<1>, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, home=^^, - ind=^J, -adm2|lsi adm2, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\E;, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET, home=^^, ich1=\EQ, il1=\EE, ind=^J, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, -# (adm3: removed obsolete ":ma=^K^P:" -- esr) -adm3|lsi adm3, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, ind=^J, -# The following ADM-3A switch settings are assumed for normal operation: -# SPACE U/L_DISP CLR_SCRN 24_LINE -# CUR_CTL LC_EN AUTO_NL FDX -# Other switches may be set for operator convenience or communication -# requirements. I recommend -# DISABLE_KB_LOCK LOCAL_OFF 103 202_OFF -# ETX_OFF EOT_OFF -# Most of these terminals required an option ROM to support lower case display. -# Open the case and look at the motherboard; if you see an open 24-pin DIP -# socket, you may be out of luck. -# -# (adm3a: some capabilities merged in from BRl entry -- esr) -adm3a|lsi adm3a, - OTbs, am, - cols#80, lines#24, - OTma=^K^P, OTnl=^J, bel=^G, clear=\032$<1/>, cr=^M, cub1=^H, - cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, - cuu1=^K, home=^^, ind=^J, kcub1=^H, kcud1=^J, kcuf1=^L, - kcuu1=^K, rs2=^N, -adm3a+|adm3a plus, - kbs=^H, use=adm3a, -# (adm5: removed obsolete ":ma=^Hh^Jj^Kk^Ll^^H:" & duplicate ":do=^J:" -- esr) -adm5|lsi adm5, - xmc#1, - bel=^G, cr=^M, cud1=^J, ed=\EY, el=\ET, kbs=^H, khome=^^, - rmso=\EG, smso=\EG, use=adm3a+, -# A lot of terminals other than adm11s use these. Wherever you see -# use=adm+sgr with some of its capabilities disabled, try the -# disabled ones. They may well work but not have been documented or -# expressed in the using entry. We'd like to cook up an but the -# / sequences of the using entries vary too much. -adm+sgr|adm style highlight capabilities, - invis=\EG1, rev=\EG4, rmso=\EG0, rmul=\EG0, sgr0=\EG0, - smso=\EG4, smul=\EG8, -# LSI ADM-11 from George William Hartwig, Jr. via BRL -# Status line additions from Stephen J. Muir -# from . could also -# be ^Z, according to his entry. -# (adm11: =\EG4 was obviously erroneous because it also said -# =\EG4. Looking at other ADMs confirms this -- esr) -adm11|LSI ADM-11, - OTbs, am, hs, - OTkn#8, cols#80, lines#24, - OTnl=^J, bel=^G, blink=\EG2, clear=\E*, cr=^M, cub1=^H, - cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, - cuu1=^K, dsl=\Eh, ed=\EY, el=\ET, fsl=\E(\r, home=^^, ht=^I, - kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf1=^A@\r, - kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, - kf7=^AF\r, kf8=^AG\r, khome=^^, nel=^M^J, tsl=\EF\E), - use=adm+sgr, -# From: Andrew Scott Beals -# Corrected by Olaf Siebert , 11 May 1995 -# Supervisor mode info by Ari Wuolle, , 27 Aug 1996 -# (adm12: removed obsolete ":kn:ma=j^Jk^P^K^Pl ^R^L^L :". This formerly had -# =\Eq but that looked wrong; this is from Dave Yost -# via BRL. That entry asserted , but I've left that out because -# neither earlier nor later ADMSs have it -- esr) -# -# You will need to get into the supervisor setup before you can set -# baudrate etc. for your ADM-12+. Press Shift-Ctrl-Setup and you should -# see a lot more setup options. -# -# While in supervisor setup you can also use following codes: -# -# Ctrl-P Personality character selections (configure for example what -# arrow keys send, if I recall correctly) -# Ctrl-T tabs 1-80 use left&right to move and up to set and -# Ctrl-V tabs 81-158 down to clear tab. Shift-Ctrl-M sets right margin at cursor -# Ctrl-B Binary setup (probably not needed. I think that everything can -# be set using normal setup) -# Ctrl-A Answerback mode (enter answerback message) -# Ctrl-U User friendly mode (normal setup) -# Ctrl-D Defaults entire setup and function keys from EPROM tables -# Ctrl-S Save both setup and functions keys. Takes from 6 to 10 seconds. -# Ctrl-R Reads both setup and functions keys from NVM. -# Shift-Ctrl-X Unlock keyboard and cancel received X-OFF status -# -# ADM-12+ supports hardware handshaking, but it is DTR/CTS as opposed to -# RTS/CTS used nowadays with virtually every modem and computer. 19200 -# bps works fine with hardware flow control. -# -# The following null-modem cable should fix this and enable you to use -# RTS/CTS handshaking (which Linux supports, use CRTSCTS setting). Also -# set ADM-12+ for DTR handshaking from supervisor setup. -# -# PC Serial ADM-12+ -# -------- ------- -# 2 - 3 -# 3 - 2 -# 4 - 5 -# 5 - 20 -# 6,8 - 4 -# 7 - 7 -# 20 - 6,8 -# -adm12|lsi adm12, - OTbs, OTpt, am, mir, - OTug#1, cols#80, it#8, lines#24, - bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET, home=^^, hts=\E1, ich1=\EQ, il1=\EE, - is2=\E0 \E1 \E1 \E1 \E1 \E1 \E1 \E1 \E1, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf0=^A0\r, kf1=^A1\r, - kf2=^A2\r, kf3=^A3\r, kf4=^A4\r, kf5=^A5\r, kf6=^A6\r, - kf7=^A7\r, kf8=^A8\r, kf9=^A9\r, rmir=\Er, smir=\Eq, tbc=\E0, - use=adm+sgr, -# (adm20: removed obsolete ":kn#7:" -- esr) -adm20|lear siegler adm20, - OTbs, am, - cols#80, it#8, lines#24, - bel=^G, cbt=\EI, clear=^Z, cr=^M, cub1=^H, cuf1=^L, - cup=\E=%i%p2%{31}%+%c%p1%{31}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET, home=^^, ht=^I, ich1=\EQ, il1=\EE, - kf1=^A, kf2=^B, kf3=^W, kf4=^D, kf5=^E, kf6=^X, kf7=^Z, rmso=\E(, - sgr0=\E(, smso=\E), -adm21|lear siegler adm21, - xmc#1, - bel=^G, cr=^M, cud1=^J, dch1=\EW, dl1=30*\ER, ed=\EY, el=\ET, - ich1=\EQ, il1=30*\EE, ind=^J, invis@, kbs=^H, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, use=adm+sgr, - use=adm3a, -# (adm22: ":em=:" was an obvious typo for ":ei=:"; also, -# removed obsolete ":kn#7:ma=j^Jk^P^K^Pl ^R^L^L :"; -# removed bogus-looking \200 from before . -- esr) -adm22|lsi adm22, - OTbs, am, - cols#80, lines#24, - bel=^G, cbt=\EI, clear=\E+, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\Ey, el=\Et, home=^^, ht=\Ei, ich1=\EQ, il1=\EE, - is2=\E%\014\014\014\016\003\0\003\002\003\002\0\0\0\0\0\0\0\0\0\0\0, - kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf1=^A@\r, - kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, - kf7=^AF\r, khome=^^, lf1=F1, lf2=F2, lf3=F3, lf4=F4, lf5=F5, - lf6=F6, lf7=F7, rmso=\E(, sgr0=\E(, smso=\E), -# ADM 31 DIP Switches -# -# This information comes from two versions of the manual for the -# Lear-Siegler ADM 31. -# -# Main board: -# rear of case -# +-||||-------------------------------------+ -# + S1S2 ||S + -# + ||3 + -# + + -# + ||S + -# + ||4 + -# + + -# + + -# + + -# + + -# + + -# +-+ +-+ -# + + -# + S5 S6 S7 + -# + == == == + -# +----------------------------------------------+ -# front of case (keyboard) -# -# S1 - Data Rate - Modem -# S2 - Data Rate - Printer -# ------------------------ -# Data Rate Setting -# ------------------- -# 50 0 0 0 0 -# 75 1 0 0 0 -# 110 0 1 0 0 -# 134.5 1 1 0 0 -# 150 0 0 1 0 -# 300 1 0 1 0 -# 600 0 1 1 0 -# 1200 1 1 1 0 -# 1800 0 0 0 1 -# 2000 1 0 0 1 -# 2400 0 1 0 1 -# 3600 1 1 0 1 -# 4800 0 0 1 1 -# 7200 1 0 1 1 -# 9600 0 1 1 1 -# x 1 1 1 1 -# -# S3 - Interface/Printer/Attributes -# --------------------------------- -# Printer Busy Control -# sw1 sw2 sw3 -# --------------- -# off off off Busy not active, CD disabled -# off off on Busy not active, CD enabled -# off on off Busy active on J5-20, CD disabled -# on off off Busy active on J5-19, CD disabled - Factory Set. -# on off on Busy active on J5-19, CD enabled -# -# sw4 Used in conjuction with S4 for comm interface control - Fact 0 -# -# sw5 Secondary Channel Control (Hardware implementation only) - Fact 0 -# -# sw6 ON enables printer BUSY active LOW - Factory Setting -# OFF enables printer BUSY active HIGH - If set to this, ADM31 senses -# -# sw7 ON - steady cursor - Factory Setting -# OFF - blinking cursor -# -# sw8 ON causes selected attribute character to be displayed -# OFF causes SPACE to be displayed instead - Factory Setting -# -# S4 - Interface -# -------------- -# Modem Interface -# S3 S4 S4 S4 S4 -# sw4 sw1 sw2 sw3 sw4 -# --------------------------- -# OFF ON OFF ON OFF Enable RS-232C interface, Direct Connect and -# Current Loop disabled - Factory Setting -# ON ON OFF ON OFF Enable Current Loop interface, Direct Connect -# disabled -# OFF OFF ON OFF ON Enable Direct Connect interface, RS-232C and -# Current Loop Disabled -# -# sw5 ON disables dot stretching mode - Factory Setting -# OFF enables dot stretching mode -# sw6 ON enables blanking function -# OFF enables underline function - Factory Setting -# sw7 ON causes NULLS to be displayed as NULLS -# OFF causes NULLS to be displayed as SPACES - Factory Setting -# -# S5 - Word Structure -# ------------------- -# sw1 ON enables BREAK key - Factory Setting -# OFF disables BREAK key -# sw2 ON selects 50Hz monitor refresh rate -# OFF selects 60Hz monitor refresh rate - Factory Setting -# -# Modem Port Selection -# sw3 sw4 sw5 -# --------------- -# ON ON ON Selects 7 DATA bits, even parity, 2 STOP bits -# OFF ON ON Selects 7 DATA bits, odd parity, 2 STOP bits -# ON OFF ON Selects 7 DATA bits, even parity, 1 STOP bit - Factory Set. -# OFF OFF ON Selects 7 DATA bits, odd parity, 1 STOP bit -# ON ON OFF Selects 8 DATA bits, no parity, 2 STOP bits -# OFF ON OFF Selects 8 DATA bits, no parity, 1 STOP bit -# ON OFF OFF Selects 8 DATA bits, even parity, 1 STOP bit -# OFF OFF OFF Selects 8 DATA bits, odd parity, 1 STOP bit -# -# sw6 ON sends bit 8 a 1 (mark) -# OFF sends bit 8 as 0 (space) - Factory Setting -# sw7 ON selects Block Mode -# OFF selects Conversation Mode - Factory Setting -# sw8 ON selects Full Duplex operation -# OFF selects Half Duplex operation - Factory Setting -# -# S6 - Printer -# ------------ -# sw1, sw2, sw6, sw7 Reserved - Factory 0 -# -# Printer Port Selection -# same as Modem above, bit 8 (when 8 DATA bits) is always = 0 -# -# sw8 ON enables Printer Port -# OFF disables Printer Port - Factory Setting -# -# S7 - Polling Address -# -------------------- -# sw1-7 Establish ASCII character which designates terminal polling address -# ON = logic 0 -# OFF = logic 1 - Factory Setting -# sw8 ON enables Polling Option -# OFF disables Polling Option - Factory Setting -# -# -# On some older adm31s, S4 does not exist, and S5-sw6 is not defined. -# -# This adm31 entry uses underline as the standout mode. -# If the adm31 gives you trouble with standout mode, check the DIP switch in -# position 6, bank @c11, 25% from back end of the circuit board. Should be -# OFF. If there is no such switch, you have an old adm31 and must use oadm31. -# (adm31: removed obsolete ":ma=j^Jk^P^K^Pl ^R^L^L :" -- esr) -adm31|lsi adm31 with sw6 set for underline mode, - OTbs, am, mir, - cols#80, lines#24, - bel=^G, clear=\E*, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET, home=^^, il1=\EE, ind=^J, is2=\Eu\E0, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf0=^A0\r, kf1=^A1\r, - kf2=^A2\r, kf3=^A3\r, kf4=^A4\r, kf5=^A5\r, kf6=^A6\r, - kf7=^A7\r, kf8=^A8\r, kf9=^A9\r, rmir=\Er, rmso=\EG0, - rmul=\EG0, sgr0=\EG0, smir=\Eq, smso=\EG1, smul=\EG1, -adm31-old|o31|old adm31, - rmul@, smso=\EG4, smul@, use=adm31, -# LSI ADM-36 from Col. George L. Sicherman via BRL -adm36|LSI ADM36, - OTbs, OTpt, - OTkn#4, - if=/usr/share/tabset/vt100, - is2=\E<\E>\E[6;?2;?7;?8h\E[4;20;?1;?3;?4;?5;?6;?18;?19l, - use=vt100, -# (adm42: removed obsolete ":ma=^K^P:" -- esr) -adm42|lsi adm42, - OTbs, am, - cols#80, lines#24, - bel=^G, cbt=\EI, clear=\E;, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - cvvis=\EC\E3 \E3(, dch1=\EW, dl1=\ER, ed=\EY, el=\ET, ht=^I, - il1=\EE$<270>, ind=^J, invis@, ip=$<6*>, kcub1=^H, kcud1=^J, - kcuf1=^L, kcuu1=^K, khome=^^, pad=\177, rmir=\Er, rmul@, - smir=\Eq, smul@, use=adm+sgr, -# The following termcap for the Lear Siegler ADM-42 leaves the -# "system line" at the bottom of the screen blank (for those who -# find it distracting otherwise) -adm42-ns|lsi adm-42 with no system line, - cbt=\EI\EF \011, clear=\E;\EF \011, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<6>\EF \011, - dch1=\EW\EF \011, dl1=\ER\EF \011, ed=\EY\EF \011, - el=\ET\EF \011, il1=\EE\EF \011, rmir=\Er\EF \011, - smir=\Eq\EF \011, use=adm42, -# ADM 1178 terminal -- rather like an ADM-42. Manual is dated March 1 1985. -# The insert mode of this terminal is commented out because it's broken for our -# purposes in that it will shift the position of every character on the page, -# not just the cursor line! -# From: Michael Driscoll 10 July 1996 -adm1178|1178|lsi adm1178, - am, - cols#80, lines#24, xmc#1, - bel=^G, bold=\E(, cbt=\EI, clear=\E+, cr=^M, cub1=^H, cud1=^J, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - cvvis=\EC\E3 \E3(, dch1=\EW, dl1=\ER, ed=\EY, el=\ET, - home=^^, ht=^I, il1=\EE, ind=^J, ip=$<6*/>, kbs=^H, kcub1=^H, - kcud1=^J, nel=^M^J, pad=\177, rev=\EG4, rmso=\EG0, rmul=\EG0, - sgr0=\E), smso=\EG4, smul=\EG1, - -#### Prime -# -# Yes, Prime made terminals. These entries were posted by Kevin J. Cummings -# on 14 Dec 1992 and lightly edited by esr. -# Prime merged with ComputerVision in the late 1980s; you can reach them at: -# -# ComputerVision Services -# 500 Old Connecticut Path -# Framingham, Mass. -# - -# Standout mode is dim reverse-video. -pt100|pt200|wren|fenix|prime pt100/pt200, - am, bw, mir, msgr, - cols#80, it#8, lines#24, - cbt=\E[Z, clear=\E?, cr=^M, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\ED, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E0%p1%{33}%+%c%p2%{33}%+%c, cuu=\E[%p1%dA, - cuu1=\EM, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl1=\E[M, - ed=\E[J\E[r, el=\E[K\E[t, flash=\E$$<200/>\E$P, - home=\E$B, ht=^I, il1=\E[L\E[t, ind=^J, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E$A, nel=^M^J, - rmcup=, rmir=\E[4l, rmkx=\E[>13l, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, - smcup=\E[>1l\E[>2l\E[>16l\E[4l\E[>9l\E[20l\E[>3l\E[>7h\E[>12l\E[1Q, - smir=\E[4h, smkx=\E[>13h, smso=\E[2;7m, smul=\E[4m, -pt100w|pt200w|wrenw|fenixw|prime pt100/pt200 in 132-column mode, - cols#132, - cup=\E[%i%p1%d;%p2%dH, use=pt100, -pt250|Prime PT250, - rmso@, smso@, use=pt100, -pt250w|Prime PT250 in 132-column mode, - rmso@, smso@, use=pt100w, - -#### Qume (qvt) -# -# Qume, Inc. -# 3475-A North 1st Street -# San Jose CA 95134 -# Vox: (800)-457-4447 -# Fax: (408)-473-1510 -# Net: josed@techsupp.wyse.com (Jose D'Oliveira) -# -# Qume was bought by Wyse, but still (as of early 1995) has its own support -# group and production division. -# -# Discontinued Qume models: -# -# The qvt101 and qvt102 listed here are long obsolete; so is the qvt101+ -# built to replace them, and a qvt119+ which was a 101+ with available wide -# mode (132 columns). There was a qvt103 which added vt100/vt131 emulations -# and an ANSI-compatible qvt203 that replaced it. Qume started producing -# ANSI-compatible terminals with the qvt323 and qvt61. -# -# Current Qume models (as of February 1995): -# -# All current Qume terminals have ANSI-compatible operation modes. -# Qume is still producing the qvt62, which features emulations for other -# popular lines such as ADDS, and dual-host capabilities. The qvt82 is -# designed for use as a SCO ANSI terminal. The qvt70 is a color terminal -# with many emulations including Wyse370, Wyse 325, etc. Their newest -# model is the qvt520, which is vt420-compatible. -# -# There are some ancient printing Qume terminals under `Daisy Wheel Printers' -# -# If you inherit a Qume without docs, try Ctrl-Shift-Setup to enter its -# setup mode. Shift-s should be a configuration save to NVRAM. - -qvt101|qvt108|qume qvt 101 and QVT 108, - xmc#1, use=qvt101+, - -# This used to have but no or . The BSD termcap -# file had . I've done the safe thing and yanked -# both. The is from BSD, which also claimed bold=\E( and dim=\E). -# What seems to be going on here is that this entry was designed so that -# the normal highlight is bold and standout is dim plus something else -# (reverse-video maybe? But then, are there two sequences?) -qvt101+|qvt101p|qume qvt 101 PLUS product, - am, bw, hs, ul, - cols#80, lines#24, xmc#0, - bel=^G, cbt=\EI, clear=^Z, cnorm=\E.4, cr=^M, cub1=^H, cud1=^J, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\EW, dl1=\ER, dsl=\Eg\Ef\r, ed=\EY, el=\ET, - flash=\Eb$<200>\Ed, fsl=^M, home=^^, ht=^I, hts=\E1, - ich1=\EQ, il1=\EE, ind=^J, invis@, kbs=^H, kcbt=\EI, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, kdl1=\ER, ked=\EY, kel=\ET, - kf1=^A@\r, kf10=^AI\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, - kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, - khome=^^, kich1=\EQ, kil1=\EE, mc4=\EA, mc5=\E@, rmso=\E(, - smso=\E0P\E), tbc=\E3, tsl=\Eg\Ef, use=adm+sgr, -qvt102|qume qvt 102, - cnorm=\E., use=qvt101, -# (qvt103: added / based on init string -- esr) -qvt103|qume qvt 103, - am, xenl, xon, - cols#80, it#8, lines#24, vt#3, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C$<2>, - cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, - cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, - hts=\EH, ind=^J, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, - kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, - rev=\E[7m$<2>, ri=\EM$<5>, rmam=\E[?7l, rmkx=\E[?1l\E>, - rmso=\E[m$<2>, rmul=\E[m$<2>, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>, - sgr0=\E[m$<2>, smam=\E[?7h, smkx=\E[?1h\E=, - smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, -qvt103-w|qume qvt103 132 cols, - cols#132, lines#24, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=qvt103, -qvt119+|qvt119p|qvt119|qume qvt 119 and 119PLUS terminals, - am, hs, mir, msgr, - cols#80, lines#24, xmc#0, - bel=^G, cbt=\EI, clear=\E*1, cnorm=\E.4, cr=^M, cub1=^H, - cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, - cuu1=^K, cvvis=\E.2, dch1=\EW, dl1=\ER, dsl=\Eg\Ef\r, ed=\Ey, - el=\Et, flash=\En0$<200>\En1, fsl=^M, home=^^, ht=^I, - hts=\E1, il1=\EE, ind=^J, is2=\EDF\EC\EG0\Er\E(\E%EX, - kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf0=^AI\r, - kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, - kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, - mc4=\EA, mc5=\E@, ri=\EJ, rmir=\Er, smir=\Eq, smul=\EG8, - tbc=\E3, tsl=\Eg\Ef, use=adm+sgr, -qvt119+-25|qvt119p-25|QVT 119 PLUS with 25 data lines, - lines#25, use=qvt119+, -qvt119+-w|qvt119p-w|qvt119-w|QVT 119 and 119 PLUS in 132 column mode, - cols#132, - is2=\EDF\EC\EG0\Er\E(\E%\EX\En4, use=qvt119+, -qvt119+-25-w|qvt119p-25-w|qvt119-25-w|QVT 119 and 119 PLUS 132 by 25, - lines#25, use=qvt119+, -qvt203|qvt203+|qume qvt 203 Plus, - dch1=\E[P$<7>, dl1=\E[M$<99>, il1=\E[L$<99>, ind=\n$<30>, - ip=$<7>, kf0=\E[29~, kf1=\E[17~, kf2=\E[18~, kf3=\E[19~, - kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, - kf9=\E[28~, rmir=\E[4l, smir=\E[4h, use=qvt103, -qvt203-w|qvt203-w-am|qume qvt 203 PLUS in 132 cols (w/advanced video), - cols#132, lines#24, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=qvt203, -# -# Since a command is present for enabling 25 data lines, -# a specific terminfo entry may be generated for the 203. -# If one is desired for the QVT 119 PLUS then 25 lines must -# be selected in the status line (setup line 9). -# -qvt203-25|QVT 203 PLUS with 25 by 80 column mode, - cols#80, lines#25, - is2=\E[=40h\E[?3l, use=qvt203, -qvt203-25-w|QVT 203 PLUS with 25 by 132 columns, - cols#132, lines#25, - rs2=\E[?3h\E[=40h, use=qvt203, - -#### Televideo (tvi) -# -# TeleVideo -# 550 East Brokaw Road -# PO Box 49048 95161 -# San Jose CA 95112 -# Vox: (408)-954-8333 -# Fax: (408)-954-0623 -# -# -# These require incredible amounts of padding. -# -# All of these terminals (912 to 970 and the tvipt) are discontinued. Newer -# Televideo terminals are ANSI and PC-ANSI compatible. - -tvi803|televideo 803, - clear=\E*$<10>, use=tvi950, - -# Vanilla tvi910 -- W. Gish 10/29/86 -# Switch settings are: -# -# S1 1 2 3 4 -# D D D D 9600 -# D D D U 50 -# D D U D 75 -# D D U U 110 -# D U D D 135 -# D U D U 150 -# D U U D 300 -# D U U U 600 -# U D D D 1200 -# U D D U 1800 -# U D U D 2400 -# U D U U 3600 -# U U D D 4800 -# U U D U 7200 -# U U U D 9600 -# U U U U 19200 -# -# S1 5 6 7 8 -# U D X D 7N1 (data bits, parity, stop bits) (X means ignored) -# U D X U 7N2 -# U U D D 7O1 -# U U D U 7O2 -# U U U D 7E1 -# U U U U 7E2 -# D D X D 8N1 -# D D X U 8N2 -# D U D D 8O1 -# D U U U 8E2 -# -# S1 9 Autowrap -# U on -# D off -# -# S1 10 CR/LF -# U do CR/LF when CR received -# D do CR when CR received -# -# S2 1 Mode -# U block -# D conversational -# -# S2 2 Duplex -# U half -# D full -# -# S2 3 Hertz -# U 50 -# D 60 -# -# S2 4 Edit mode -# U local -# D duplex -# -# S2 5 Cursor type -# U underline -# D block -# -# S2 6 Cursor down key -# U send ^J -# D send ^V -# -# S2 7 Screen colour -# U green on black -# D black on green -# -# S2 8 DSR status (pin 6) -# U disconnected -# D connected -# -# S2 9 DCD status (pin 8) -# U disconnected -# D duplex -# -# S2 10 DTR status (pin 20) -# U disconnected -# D duplex -# (tvi910: removed obsolete ":ma=^Kk^Ll^R^L:"; added , , , -# , , , , from SCO entry -- esr) -tvi910|televideo model 910, - OTbs, am, msgr, - cols#80, it#8, lines#24, xmc#1, - bel=^G, cbt=\EI, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EY, el=\ET, - home=\E=\001\001, hpa=\E]%p1%{32}%+%c, ht=^I, - if=/usr/share/tabset/stdcrt, ind=^J, invis@, kbs=^H, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf0=^AI\r, kf1=^A@\r, - kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, - kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, - vpa=\E[%p1%{32}%+%c, use=adm+sgr, -# From: Alan R. Rogers -# as subsequently hacked over by someone at SCO -# (tvi910+: removed obsolete ":ma=^K^P^L :" -- esr) -# -# Here are the 910+'s DIP switches (U = up, D = down, X = don't care): -# -# S1 1 2 3 4: -# D D D D 9600 D D D U 50 D D U D 75 D D U U 110 -# D U D D 135 D U D U 150 D U U D 300 D U U U 600 -# U D D D 1200 U D D U 1800 U D U D 2400 U D U U 3600 -# U U D D 4800 U U D U 7200 U U U D 9600 U U U U 19200 -# -# S1 5 6 7 8: -# U D X D 7N1 U D X U 7N2 U U D D 7O1 U U D U 7O2 -# U U U D 7E1 U U U U 7E2 D D X D 8N1 D D X U 8N2 -# D U D D 8O1 D U U U 8E2 -# -# S1 9 Autowrap (U = on, D = off) -# S1 10 CR/LF (U = CR/LF on CR received, D = CR on CR received) -# S2 1 Mode (U = block, D = conversational) -# S2 2 Duplex (U = half, D = full) -# S2 3 Hertz (U = 50, D = 60) -# S2 4 Edit mode (U = local, D = duplex) -# S2 5 Cursor type (U = underline, D = block) -# S2 6 Cursor down key (U = send ^J, D = send ^V) -# S2 7 Screen colour (U = green on black, D = black on green) -# S2 8 DSR status (pin 6) (U = disconnected, D = connected) -# S2 9 DCD status (pin 8) (U = disconnected, D = connected) -# S2 10 DTR status (pin 20) (U = disconnected, D = connected) -# -tvi910+|televideo 910+, - dch1=\EW, dl1=\ER$<33*>, home=^^, ich1=\EQ, il1=\EE$<33*>, - kf0=^A@\r, kf1=^AA\r, kf2=^AB\r, kf3=^AC\r, kf4=^AD\r, - kf5=^AE\r, kf6=^AF\r, kf7=^AG\r, kf8=^AH\r, kf9=^AI\r, - ll=\E=7\s, use=tvi910, - -# (tvi912: removed obsolete ":ma=^K^P^L :", added and -# from BRL entry -- esr) -tvi912|tvi914|tvi920|old televideo 912/914/920, - OTbs, OTpt, am, msgr, - cols#80, it#8, lines#24, xmc#1, - bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER$<33*>, ed=\Ey, el=\ET, flash=\Eb$<50/>\Ed, home=^^, - ht=^I, hts=\E1, ich1=\EQ, if=/usr/share/tabset/stdcrt, - il1=\EE$<33*>, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, - kcuu1=^K, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, - kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, - kf9=^AH\r, khome=^^, rmso=\Ek, rmul=\Em, smso=\Ej, smul=\El, - tbc=\E3, -# We got some new tvi912c terminals that act really weird on the regular -# termcap, so one of our gurus worked this up. Seems that cursor -# addressing is broken. -tvi912cc|tvi912 at cowell college, - cup@, use=tvi912c, - -# tvi{912,920}[bc] - TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C -# From: Benjamin C. W. Sittler -# -# Someone has put a scanned copy of the manual online at: -# http://vt100.net/televideo/912b-om/ -# -# These terminals were produced ca. 1979, and had a 12" monochrome -# screen, supported 75-9600 baud (no handshaking), monochrome, 7-bit -# ASCII, and were generally similar to adm3a but with attributes -# (including some with magic cookies), fancy half-duplex mode, and -# different bugs. -# -# Some operations reqire truly incredible amounts of padding. The -# insert_line () and delete_line () operations in particular -# are so slow as to be nearly unusable. -# -# There may or may not have been a separate, earlier series of 912/920 -# terminals (without the "B" and "C" suffix); I have never seen one, -# and the manual only describes the "B" and "C" series. The 912 and 920 -# are quite distinct from the 914 and 924, which were much nicer non- -# magic-cookie terminals similar to the 950. -# -# This is a new description for the following TeleVideo terminals, -# distinguished chiefly by their keyboards: -# -# TVI-912B - very odd layout, no function keys (84 keys) -# TVI-920B - typewriter layout, no function keys (103 keys) -# TVI-912C - very odd layout, function keys F1-F11 (82 keys) -# TVI-920C - typewriter layout, function keys F1-F11 (101 keys) -# -# To choose a setting for the TERM variable, start with the model: -# -# Model || base name -# ----------||----------- -# TVI-912B || tvi912b -# TVI-912C || tvi912c -# TVI-920B || tvi920b -# TVI-920C || tvi920c -# -# Then add a suffix from the following table describing installed options -# and how you'd like to use the terminal: -# -# Use Video | Second | Visual | Magic | Page || feature -# Attributes | Page | Bell | Cookies | Print || suffix -# ------------|--------|--------|---------|-------||--------- -# No | No | N/A | N/A | No || -unk -# No | No | N/A | N/A | Yes || -p -# No | Yes | No | N/A | No || -2p-unk -# No | Yes | No | N/A | Yes || -2p-p -# No | Yes | Yes | N/A | No || -vb-unk -# No | Yes | Yes | N/A | Yes || -vb-p -# Yes | No | N/A | No | N/A || -# Yes | No | N/A | Yes | N/A || -mc -# Yes | Yes | No | No | N/A || -2p -# Yes | Yes | No | Yes | N/A || -2p-mc -# Yes | Yes | Yes | No | N/A || -vb -# Yes | Yes | Yes | Yes | N/A || -vb-mc -# -# So e.g. a model 920 C with second page memory option, visual bell -# and no magic cookies would be tvi920c-vb; a model 912 B without the -# second page memory option and using magic cookies would be -# tvi912b-mc -# -# PADDING -# -# At 9600 baud, the terminal is prone to overflow its input buffer -# during complex operations (insert/delete -# character/line/screen/page), and it does not signal this over the -# RS232 cable. The typical symptom of an overrun is that the terminal -# starts beeping, and output becomes garbled. -# -# The padding delays in this terminfo were derived using tack(1) -# running on a Linux box connected to a TVI-920C with a later-model -# (A49C1-style) ROM running at 9600 baud, so your mileage may -# vary. The numbers below seem to give the terminal enough time so -# that it doesn't overflow its input buffer and start losing -# characters. -# -# KEYS -# -# If you want to use the FUNCT key on a tvi912[bc], use the -# corresponding tvi920[bc] terminfo with FUNCT + ... equivalents from -# the following table (these also work on the 920 series): -# -# Unshifted Function Keys: -# -# Key | capname|| Equivalent -# -----|--------||------------ -# F1 | || FUNCT + @ -# F2 | || FUNCT + A -# F3 | || FUNCT + B -# F4 | || FUNCT + C -# F5 | || FUNCT + D -# F6 | || FUNCT + E -# F7 | || FUNCT + F -# F8 | || FUNCT + G -# F9 | || FUNCT + H -# F10 | || FUNCT + I -# F11 | || FUNCT + J -# -# Shifted Function Keys: -# -# SHIFT + Key | capname|| Equivalent -# -------------|--------||------------ -# SHIFT + F1 | || FUNCT + ` -# SHIFT + F2 | || FUNCT + a -# SHIFT + F3 | || FUNCT + b -# SHIFT + F4 | || FUNCT + c -# SHIFT + F5 | || FUNCT + d -# SHIFT + F6 | || FUNCT + e -# SHIFT + F7 | || FUNCT + f -# SHIFT + F8 | || FUNCT + g -# SHIFT + F9 | || FUNCT + h -# SHIFT + F10 | || FUNCT + i -# SHIFT + F11 | || FUNCT + j -# -# PORTS AND SWITCH SETTINGS -# -# Here are the switch settings for the TVI-912B/TVI-920B and -# TVI-912C/TVI-920C: -# -# S1 (Line), and S3 (Printer) baud rates -- put one, and only one, switch down: -# 2: 9600 3: 4800 4: 2400 5: 1200 -# 6: 600 7: 300 8: 150 9: 75 -# 10: 110 -# -# S2 UART/Terminal options: -# Up Down -# 1: Not used Not allowed -# 2: Alternate character set Standard character set -# 3: Full duplex Half duplex -# 4: 50 Hz refresh 60 Hz refresh -# 5: No parity Send parity -# 6: 2 stop bits 1 stop bit -# 7: 8 data bits 7 data bits -# 8: Not used Not allowed on Rev E or lower -# 9: Even parity Odd parity -# 10: Steady cursor Blinking cursor -# (On Rev E or lower, use W25 instead of switch 10.) -# -# S5 UART/Terminal options: -# Open Closed -# 1: P3-6 Not connected DSR received on P3-6 -# 2: P3-8 Not connected DCD received on P3-8 -# -# 3 Open, 4 Open: P3-20 Not connected -# 3 Open, 4 Closed: DTR on when terminal is on -# 3 Closed, 4 Open: DTR is connected to RTS -# 3 Closed, 4 Closed: Not allowed -# -# 5 Closed: HDX printer (hardware control) Rev. K with extension port off, -# all data transmitted out of the modem port (P3) will also be -# transmitted out of the printer port (P4). -# -# 6 Open, 7 Open: Not allowed -# 6 Open, 7 Closed: 20ma current loop input -# 6 Closed, 7 Open: RS232 input -# 6 Closed, 7 Closed: Not allowed -# -# Jumper options: -# If the jumper is installed, the effect will occur (the next time the terminal -# is switched on). -# -# S4/W31: Enables automatic LF upon receipt of CR from -# remote or keyboard. -# S4/W32: Enables transmission of EOT at the end of Send. If not -# installed, a carriage return is sent. -# S4/W33: Disables automatic carriage return in column 80. -# S4/W34: Selects Page Print Mode as initial condition. If not -# installed, Extension Mode is selected. -# -# NON-STANDARD CAPABILITIES -# -# Sending or returns a cursor position report in the format -# YX\r, where Y and X are as in . This format is described in -# and , but it's not clear how one should write an -# appropriate scanf string, since we need to subtract %' ' from the -# character after reading it. The capability is used by tack(1) -# to synchronize during padding tests, and seems to work for that -# purpose. -# -# This description also includes the obsolete termcap capabilities -# has_hardware_tabs () and backspaces_with_bs (). -# -# FEATURES NOT YET DESCRIBED IN THIS TERMINFO -# -# The FUNCT modifier actually works with every normal key by sending -# ^AX\r, where X is the sequence normally sent by that key. This is a -# sort of meta key not currently describable in terminfo. -# -# There are quite a few other keys (especially on the 920 models,) but -# they are for the most part only useful in block mode. -# -# These terminals have lots of forms manipulation features, mainly -# useful in block mode, including "clear X to nulls" (vs. "clear X to -# spaces"; nulls are sentinels for "send X" operations); "send X" -# operations for uploading all or part of the screen; and block-mode -# editing keys (they don't send escape sequences, but manipulate video -# memory directly). Block mode is used for local editing, and protect -# mode (in conjunction with the "write protect" attribute, -# a.k.a. half-intensity outside of protect mode) is used to control -# which parts of the screen are edited/sent/printed (by ). -# -# There are at least two major families of ROM, "early" and -# A49B1/A49C1; the major difference seems to be that the latter ROMs -# support a few extra escape sequences for manipulating the off-screen -# memory page, and for sending whole pages back to the host (mainly -# useful in block mode.) The descriptions in this file don't use any -# of those sequences: set cursor position including page (\E-PYX, -# where P is \s for page 0 and ! for page 1 [actually only the LSB of -# P is taken into account, so e.g. 0 and 1 work too,] and Y and X are -# as in ); read cursor position (\E/), which is analogous to -# and returns PYX\r, where P is \s for page 0 or ! for page 1, and YX -# are as in , and some "send page" features mainly useful for -# forms manipulation. -# -# The keyboard enable (\E") and disable (\E#) sequences are unused, -# except that a terminal reset () enables the keyboard. -# -# Auto-flip mode (\Ev) is likely faster than the scrolling mode (\Ew) -# enabled in , but auto-flip is very jarring so we don't use it. -# -# BUGS -# -# At least up to the A49B1 and A49C1 ROMs, there are no \Eb and \Ed -# sequences (I infer that in some TeleVideo terminal they may invert -# and uninvert the display) so the sequence given here is a -# cheesy page-flip instead. -# -# The back_tab () sequence (\EI) doesn't work according to -# tack(1), so it is not included in the descriptions below. -# -# It's not clear whether auto_left_margin () flag should be set -# for these terminals; tack says yes, so it is set here, but this -# differs from other descriptions I've seen. -# -# Extension print mode () echoes all characters to the printer -# port [in addition to displaying them] except for the page print mode -# sequence (); this is a slight violation of the terminfo -# definition for but I don't expect it to cause problems. We -# reset to page print mode in since it may have been enabled -# accidentally. -# -# The descriptions with plus signs (+) are building blocks. - -tvi912b-unk|tvi912c-unk|TeleVideo TVI-912B or TVI-912C (no attributes), - OTbs, OTpt, am, bw, - cols#80, it#8, lines#24, - bel=^G, clear=\032$<50>, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%' '%+%c%p2%' '%+%c, cuu1=^K, dch1=\EW$<30>, - dl1=\ER$<1*>$<100>, ed=\Ey$<2*>$<10>, el=\ET$<15>, - home=^^, ht=^I, hts=\E1, ich1=\EQ$<30>, - if=/usr/share/tabset/stdcrt, il1=\EE$<1*>$<100>, - ind=\n$<10>, is2=\Ew\EA\E'\E"\E(, kcub1=^H, kcud1=^J, - kcuf1=^L, kcuu1=^K, kdch1=\177, kent=^M, khome=^^, mc4=\EA, - mc5=\E@, rs1=\Ek\010\Em\010\Eq\032, tbc=\E3, u6=%c%c\r, - u7=\E?, u8=%c%c\r, u9=\E?, - -# This isn't included in the basic capabilities because it is -# typically unusable in combination with the full range of video -# attributes, since the magic cookie attributes turn into ASCII -# control characters, and the half-intensity ("protected") attribute -# converts all affected characters to spaces. - -tvi912b+printer|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C page print support, - mc0=\EP, - -# This uses half-intensity mode () for standout (), and -# exposes no other attributes (half-intensity is the only attribute -# that does not generate a magic cookie.) - -tvi912b+dim|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C half-intensity attribute support, - msgr, - dim=\E), rmso=\E(, sgr=\E%?%p1%p5%|%t)%e(%;, sgr0=\E(, - smso=\E), - -# Full magic-cookie attribute support, with half-intensity reverse -# video for standout. Note that we add a space in the sequence -# to give a consistent magic-cookie count. Also note that uses -# backspacing (in the TVI-supported order) to apply all requested -# attributes with only a single magic cookie. - -tvi912b+mc|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C full magic-cookie attribute support, - xmc#1, - blink=\E\^, dim=\E)\s, invis=\E_, rev=\Ej, rmso=\E(\Ek, - rmul=\Em, - sgr=\E%?%p1%p5%|%t)%e(%; \010\E%?%p1%p3%|%tj%ek%;\010\E%?%p2%tl%em%;\010\E%?%p7%t_%e%?%p4%t\^%eq%;%;, - sgr0=\E(\Ek\010\Em\010\Eq, smso=\E)\Ej, smul=\El, - -# This uses the second page memory option to save & restore screen -# contents. If your terminal is missing the option, this description -# should still work, but that has not been tested. - -tvi912b+2p|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C second page memory option support, - flash=\EK$<100>\EK, rmcup=\032$<50>\EK\E=7\s, - smcup=\EK\032$<50>\E(\Ek\010\Em\010\Eq\032$<50>, - -# This simulates flashing by briefly toggling to the other page -# (kludge!) - -tvi912b+vb|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C second page memory option "visible bell" support, - bel=\EK$<100>\EK, use=tvi912b+2p, - -# Function keys ( .. are shifted .. ) - -tvi920b+fn|TeleVideo TVI-920B and TVI-920C function key support, - kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, kf12=^A`\r, kf13=^Aa\r, - kf14=^Ab\r, kf15=^Ac\r, kf16=^Ad\r, kf17=^Ae\r, kf18=^Af\r, - kf19=^Ag\r, kf2=^AA\r, kf20=^Ah\r, kf21=^Ai\r, kf22=^Aj\r, - kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, - -# Combinations of the basic building blocks - -tvi912b-2p-unk|tvi912c-2p-unk|tvi912b-unk-2p|tvi912c-unk-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; no attributes), - use=tvi912b+2p, use=tvi912b-unk, - -tvi912b-vb-unk|tvi912c-vb-unk|tvi912b-unk-vb|tvi912c-unk-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; no attributes), - use=tvi912b+vb, use=tvi912b-unk, - -tvi912b-p|tvi912c-p|TeleVideo TVI-912B or TVI-912C (no attributes; page print), - use=tvi912b+printer, use=tvi912b-unk, - -tvi912b-2p-p|tvi912c-2p-p|tvi912b-p-2p|tvi912c-p-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; no attributes; page print), - use=tvi912b+2p, use=tvi912b+printer, use=tvi912b-unk, - -tvi912b-vb-p|tvi912c-vb-p|tvi912b-p-vb|tvi912c-p-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; no attributes; page print), - use=tvi912b+vb, use=tvi912b+printer, use=tvi912b-unk, - -tvi912b-2p|tvi912c-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; half-intensity attribute), - use=tvi912b+2p, use=tvi912b+dim, use=tvi912b-unk, - -tvi912b-2p-mc|tvi912c-2p-mc|tvi912b-mc-2p|tvi912c-mc-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; magic cookies), - use=tvi912b+2p, use=tvi912b+mc, use=tvi912b-unk, - -tvi912b-vb|tvi912c-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; half-intensity attribute), - use=tvi912b+vb, use=tvi912b+dim, use=tvi912b-unk, - -tvi912b-vb-mc|tvi912c-vb-mc|tvi912b-mc-vb|tvi912c-mc-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; magic cookies), - use=tvi912b+vb, use=tvi912b+mc, use=tvi912b-unk, - -tvi912b|tvi912c|TeleVideo TVI-912B or TVI-912C (half-intensity attribute), - use=tvi912b+dim, use=tvi912b-unk, - -tvi912b-mc|tvi912c-mc|TeleVideo TVI-912B or TVI-912C (magic cookies), - use=tvi912b+mc, use=tvi912b-unk, - -tvi920b-unk|tvi920c-unk|TeleVideo TVI-920B or TVI-920C (no attributes), - use=tvi920b+fn, use=tvi912b-unk, - -tvi920b-2p-unk|tvi920c-2p-unk|tvi920b-unk-2p|tvi920c-unk-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; no attributes), - use=tvi920b+fn, use=tvi912b+2p, use=tvi912b-unk, - -tvi920b-vb-unk|tvi920c-vb-unk|tvi920b-unk-vb|tvi920c-unk-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; no attributes), - use=tvi920b+fn, use=tvi912b+vb, use=tvi912b-unk, - -tvi920b-p|tvi920c-p|TeleVideo TVI-920B or TVI-920C (no attributes; page print), - use=tvi920b+fn, use=tvi912b+printer, use=tvi912b-unk, - -tvi920b-2p-p|tvi920c-2p-p|tvi920b-p-2p|tvi920c-p-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; no attributes; page print), - use=tvi920b+fn, use=tvi912b+2p, use=tvi912b+printer, - use=tvi912b-unk, - -tvi920b-vb-p|tvi920c-vb-p|tvi920b-p-vb|tvi920c-p-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; no attributes; page print), - use=tvi920b+fn, use=tvi912b+vb, use=tvi912b+printer, - use=tvi912b-unk, - -tvi920b-2p|tvi920c-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; half-intensity attribute), - use=tvi920b+fn, use=tvi912b+2p, use=tvi912b+dim, - use=tvi912b-unk, - -tvi920b-2p-mc|tvi920c-2p-mc|tvi920b-mc-2p|tvi920c-mc-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; magic cookies), - use=tvi920b+fn, use=tvi912b+2p, use=tvi912b+mc, - use=tvi912b-unk, - -tvi920b-vb|tvi920c-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; half-intensity attribute), - use=tvi920b+fn, use=tvi912b+vb, use=tvi912b+dim, - use=tvi912b-unk, - -tvi920b-vb-mc|tvi920c-vb-mc|tvi920b-mc-vb|tvi920c-mc-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; magic cookies), - use=tvi920b+fn, use=tvi912b+vb, use=tvi912b+mc, - use=tvi912b-unk, - -tvi920b|tvi920c|TeleVideo TVI-920B or TVI-920C (half-intensity attribute), - use=tvi920b+fn, use=tvi912b+dim, use=tvi912b-unk, - -tvi920b-mc|tvi920c-mc|TeleVideo TVI-920B or TVI-920C (magic cookies), - use=tvi920b+fn, use=tvi912b+mc, use=tvi912b-unk, - -# Televideo 921 and variants -# From: Tim Theisen 22 Sept 1995 -# (tvi921: removed :ko=bt: before translation, I see no backtab cap; -# also added empty to suppress tic warning -- esr) -tvi921|televideo model 921 with sysline same as page & real vi function, - OTbs, OTpt, am, hs, xenl, xhp, - cols#80, lines#24, xmc#0, - acsc=, clear=^Z, cnorm=\E.3, cr=^M, cub1=^H, cud1=^V, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<3/>, cuu1=^K, - cvvis=\E.2, dch1=\EW, dl1=\ER$<1*/>, dsl=\Ef\r\Eg, ed=\EY, - el=\ET, fsl=\Eg, home=^^, ht=^I, ich1=\EQ, - if=/usr/share/tabset/stdcrt, il1=\EE, ind=^J, invis@, - is2=\El\E"\EF1\E.3\017\EA\E<, kbs=^H, kclr=^Z, kcub1=^H, - kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER$<1*/>, - ked=\EY, kel=\ET, kich1=\EQ, kil1=\EE, nel=^M^J, rmacs=\E%%, - rmir=, smacs=\E$, smir=, tsl=\Ef\EG0, use=adm+sgr, -# without the beeper -# (tvi92B: removed :ko=bt: before translation, I see no backtab cap; -# also added empty to suppress tic warning -- esr) -tvi92B|televideo model 921 with sysline same as page & real vi function & no beeper, - am, hs, xenl, xhp, - cols#80, lines#24, xmc#0, - acsc=, clear=^Z, cnorm=\E.3, cr=^M, cub1=^H, cud1=^V, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<3/>, cuu1=^K, - cvvis=\E.2, dch1=\EW, dl1=\ER$<1*/>, dsl=\Ef\r\Eg, ed=\EY, - el=\ET, flash=\Eb$<200/>\Ed, fsl=\Eg, home=^^, ht=^I, - ich1=\EQ, if=/usr/share/tabset/stdcrt, il1=\EE, ind=^J, - invis@, is2=\El\E"\EF1\E.3\017\EA\E<, kbs=^H, kclr=^Z, - kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, - kdl1=\ER$<1*/>, ked=\EY, kel=\ET, kich1=\EQ, kil1=\EE, - nel=^M^J, rmacs=\E%%, smacs=\E$, tsl=\Ef\EG0, use=adm+sgr, -# (tvi92D: removed :ko=bt: before translation, I see no backtab cap -- esr) -tvi92D|tvi92B with DTR instead of XON/XOFF & better padding, - dl1=\ER$<2*/>, il1=\EE$<2*/>, - is2=\El\E"\EF1\E.3\016\EA\E<, kdl1=\ER$<2*/>, - kil1=\EE$<2*/>, use=tvi92B, - -# (tvi924: This used to have , . I put the new strings -# in from a BSD termcap file because it looks like they do something the -# old ones skip -- esr) -tvi924|televideo tvi924, - am, bw, hs, in, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, wsl#80, xmc#0, - bel=^G, blink=\EG2, cbt=\EI, civis=\E.0, clear=\E*0, - cnorm=\E.3, cr=^M, csr=\E_%p1%{32}%+%c%p2%{32}%+%c, - cub1=^H, cud1=^V, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, cvvis=\E.1, - dch1=\EW, dl1=\ER, dsl=\Es0\Ef\031, ed=\Ey, el=\Et, - flash=\Eb$<200>\Ed, fsl=\031\Es1, home=^^, ht=^I, hts=\E1, - ich1=\EQ, if=/usr/share/tabset/stdcrt, il1=\EE, ind=^J, - invis@, is1=\017\E%\E'\E(\EDF\EC\EG0\EN0\Es0\Ev0, - kbs=^H, kclr=\E*0, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, - kdch1=\EW, kdl1=\ER, ked=\Ey, kel=\Et, kf0=^A@\r, kf1=^AA\r, - kf10=^AJ\r, kf11=^AK\r, kf12=^AL\r, kf13=^AM\r, kf14=^AN\r, - kf15=^AO\r, kf2=^AB\r, kf3=^AC\r, kf4=^AD\r, kf5=^AE\r, - kf6=^AF\r, kf7=^AG\r, kf8=^AH\r, kf9=^AI\r, khome=^^, - kich1=\EQ, kil1=\EE, lf0=F1, lf1=F2, lf10=F11, lf2=F3, lf3=F4, - lf4=F5, lf5=F6, lf6=F7, lf7=F8, lf8=F9, lf9=F10, - pfkey=\E|%p1%{49}%+%c%p2%s\031, ri=\Ej, tbc=\E3, tsl=\Ef, - use=adm+sgr, - -# TVI925 DIP switches. In each of these, D = Down and U = Up, -# -# Here are the settings for the external (baud) switches (S1): -# -# Position Baud -# 7 8 9 10 [Printer] -# 1 2 3 4 [Main RS232] -# ----------------------------------------------------- -# D D D D 9600 -# D D D U 50 -# D D U D 75 -# D D U U 110 -# D U D D 135 -# D U D U 150 -# D U U D 300 -# D U U U 600 -# U D D D 1200 -# U D D U 1800 -# U D U D 2400 -# U D U U 3600 -# U U D D 4800 -# U U D U 7200 -# U U U D 9600 -# U U U U 19200 -# -# -# Settings for word length and stop-bits (S1) -# -# Position Description -# 5 6 -# --------------------------- -# U - 7-bit word -# D - 8-bit word -# - U 2 stop bits -# - D 1 stop bit -# -# -# S2 (external) settings -# -# Position Up Dn Description -# -------------------------------------------- -# 1 X Local edit -# X Duplex edit (transmit editing keys) -# -------------------------------------------- -# 2 X 912/920 emulation -# X 925 -# -------------------------------------------- -# 3 X -# 4 X No parity -# 5 X -# -------------------------------------------- -# 3 X -# 4 X Odd parity -# 5 X -# -------------------------------------------- -# 3 X -# 4 X Even parity -# 5 X -# -------------------------------------------- -# 3 X -# 4 X Mark parity -# 5 X -# -------------------------------------------- -# 3 X -# 4 X Space parity -# 5 X -# -------------------------------------------- -# 6 X White on black display -# X Black on white display -# -------------------------------------------- -# 7 X Half Duplex -# 8 X -# -------------------------------------------- -# 7 X Full Duplex -# 8 X -# -------------------------------------------- -# 7 X Block mode -# 8 X -# -------------------------------------------- -# 9 X 50 Hz -# X 60 Hz -# -------------------------------------------- -# 10 X CR/LF (Auto LF) -# X CR only -# -# S3 (internal switch) settings: -# -# Position Up Dn Description -# -------------------------------------------- -# 1 X Keyclick off -# X Keyclick on -# -------------------------------------------- -# 2 X English -# 3 X -# -------------------------------------------- -# 2 X German -# 3 X -# -------------------------------------------- -# 2 X French -# 3 X -# -------------------------------------------- -# 2 X Spanish -# 3 X -# -------------------------------------------- -# 4 X Blinking block cursor -# 5 X -# -------------------------------------------- -# 4 X Blinking underline cursor -# 5 X -# -------------------------------------------- -# 4 X Steady block cursor -# 5 X -# -------------------------------------------- -# 4 X Steady underline cursor -# 5 X -# -------------------------------------------- -# 6 X Screen blanking timer (ON) -# X Screen blanking timer (OFF) -# -------------------------------------------- -# 7 X Page attributes -# X Line attributes -# -------------------------------------------- -# 8 X DCD disconnected -# X DCD connected -# -------------------------------------------- -# 9 X DSR disconnected -# X DSR connected -# -------------------------------------------- -# 10 X DTR Disconnected -# X DTR connected -# -------------------------------------------- -# -# (tvi925: BSD has . I got and from there -- esr) -tvi925|televideo 925, - OTbs, am, bw, hs, ul, - cols#80, lines#24, xmc#1, - bel=^G, cbt=\EI, clear=^Z, cnorm=\E.4, cr=^M, cub1=^H, cud1=^V, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - cvvis=\E.2, dch1=\EW, dl1=\ER, dsl=\Eh, ed=\EY, el=\ET, - flash=\Eb$<200>\Ed, fsl=^M\Eg, home=^^, ht=^I, hts=\E1, - ich1=\EQ, il1=\EE, ind=^J, invis@, is2=\El\E", kbs=^H, kclr=^Z, - kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, - ked=\EY, kel=\ET, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, - kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, - kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, ri=\Ej, tbc=\E3, - tsl=\Eh\Ef, use=adm+sgr, -# TeleVideo 925 from Mitch Bradley via BRL -# to avoid "magic cookie" standout glitch: -tvi925-hi|TeleVideo Model 925 with half intensity standout mode, - xmc@, - kbs=^H, kcub1=^H, kcud1=^J, rmso=\E(, smso=\E), use=tvi925, - -# From: Todd Litwin 28 May 1993 -# Originally Tim Curry, Univ. of Central Fla., 5/21/82 -# for additional capabilities, -# The following tvi descriptions from B:pjphar and virus!mike -# is for all 950s. It sets the following attributes: -# full duplex (\EDF) write protect off (\E() -# conversation mode (\EC) graphics mode off (\E%) -# white on black (\Ed) auto page flip off (\Ew) -# turn off status line (\Eg) clear status line (\Ef\r) -# normal video (\E0) monitor mode off (\EX or \Eu) -# edit mode (\Er) load blank char to space (\Ee\040) -# line edit mode (\EO) enable buffer control (^O) -# protect mode off (\E\047) duplex edit keys (\El) -# program unshifted send key to send line all (\E016) -# program shifted send key to send line unprotected (\E004) -# set the following to nulls: -# field delimiter (\Ex0\200\200) -# line delimiter (\Ex1\200\200) -# start-protected field delimiter (\Ex2\200\200) -# end-protected field delimiter (\Ex3\200\200) -# set end of text delimiter to carriage return/null (\Ex4\r\200) -# -# TVI 950 Switch Setting Reference Charts -# -# TABLE 1: -# -# S1 1 2 3 4 5 6 7 8 9 10 -# +-----------------------+-----+-----+-----------------------+ -# | Computer Baud Rate |Data |Stop | Printer Baud Rate | -# | |Bits |Bits | | -# +------+-----------------------+-----+-----+-----------------------+ -# | Up | See | 7 | 2 | See | -# +------+-----------------------+-----+-----+-----------------------+ -# | Down | TABLE 2 | 8 | 1 | TABLE 2 | -# +------+-----------------------+-----+-----+-----------------------+ -# -# -# S2 1 2 3 4 5 6 7 8 9 10 -# +-----+-----+-----------------+-----+-----------+-----+-----+ -# |Edit |Cursr| Parity |Video|Transmiss'n| Hz |Click| -# +------+-----+-----+-----------------+-----+-----------+-----+-----+ -# | Up | Dplx|Blink| See |GonBk| See | 60 | Off | -# +------+-----+-----+-----------------+-----+-----------+-----+-----+ -# | Down |Local|St'dy| TABLE 3 |BkonG| CHART | 50 | On | -# +------+-----+-----+-----------------+-----+-----------+-----+-----+ -# -# TABLE 2: -# -# +-----------+-----+-----+-----+-----+-----------+ -# | Display | 1 | 2 | 3 | 4 | Baud | -# +-----------+-----+-----+-----+-----+ | -# | Printer | 7 | 8 | 9 | 10 | Rate | -# +-----------+-----+-----+-----+-----+-----------+ -# | D | D | D | D | 9600 | -# | U | D | D | D | 50 | -# | D | U | D | D | 75 | -# | U | U | D | D | 110 | -# | D | D | U | D | 135 | -# | U | D | U | D | 150 | -# | D | U | U | D | 300 | -# | U | U | U | D | 600 | -# | D | D | D | U | 1200 | -# | U | D | D | U | 1800 | -# | D | U | D | U | 2400 | -# | U | U | D | U | 3600 | -# | D | D | U | U | 4800 | -# | U | D | U | U | 7200 | -# | D | U | U | U | 9600 | -# | U | U | U | U | 19200 | -# +-----+-----+-----+-----+-----------+ -# -# TABLE 3: -# +-----+-----+-----+-----------+ -# | 3 | 4 | 5 | Parity | -# +-----+-----+-----+-----------+ -# | X | X | D | None | -# | D | D | U | Odd | -# | D | U | U | Even | -# | U | D | U | Mark | -# | U | U | U | Space | -# +-----+-----+-----+-----------+ -# X = don't care -# -# CHART: -# +-----+-----+-----------------+ -# | 7 | 8 | Communication | -# +-----+-----+-----------------+ -# | D | D | Half Duplex | -# | D | U | Full Duplex | -# | U | D | Block | -# | U | U | Local | -# +-----+-----+-----------------+ -# -# (tvi950: early versions had obsolete ":ma=^Vj^Kk^Hh^Ll^^H:". -# I also inserted and ; the :ko: string indicated that -# should be present and all tvi native modes use the same string for this. -# Finally, note that BSD has cud1=^V. -- esr) -tvi950|televideo 950, - OTbs, am, hs, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, xmc#1, - acsc=b\011c\014d\re\ni\013, bel=^G, cbt=\EI, clear=\E*, - cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, dsl=\Eg\Ef\r, ed=\Ey, el=\Et, flash=\Eb$<200/>\Ed, - fsl=^M, home=^^, ht=^I, hts=\E1, ich1=\EQ, il1=\EE, ind=^J, - invis@, - is2=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\El\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\Ef\r, - kbs=^H, kcbt=\EI, kclr=\E*, kcub1=^H, kcud1=^V, kcuf1=^L, - kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\Ey, kel=\Et, kf0=^A0\r, - kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, - kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, - kich1=\EQ, kil1=\EE, mc4=\Ea, mc5=\E`, ri=\Ej, rmacs=^X, - rmir=\Er, smacs=^U, smir=\Eq, tbc=\E3, tsl=\Eg\Ef, - use=adm+sgr, -# -# is for 950 with two pages adds the following: -# set 48 line page (\E\\2) -# place cursor at page 0, line 24, column 1 (\E-07 ) -# set local (no send) edit keys (\Ek) -# -# two page 950 adds the following: -# when entering ex, set 24 line page (\E\\1) -# when exiting ex, reset 48 line page (\E\\2) -# place cursor at 0,24,1 (\E-07 ) -# set duplex (send) edit keys (\El) when entering vi -# set local (no send) edit keys (\Ek) when exiting vi -# -tvi950-2p|televideo950 w/2 pages, - is2=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\Ek\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\E\\2\E-07 \011, - rmcup=\E\\2\E-07\s, rmkx=\Ek, smcup=\E\\1\E-07\s, - smkx=\El, use=tvi950, -# -# is for 950 with four pages adds the following: -# set 96 line page (\E\\3) -# place cursor at page 0, line 24, column 1 (\E-07 ) -# -# four page 950 adds the following: -# when entering ex, set 24 line page (\E\\1) -# when exiting ex, reset 96 line page (\E\\3) -# place cursor at 0,24,1 (\E-07 ) -# -tvi950-4p|televideo950 w/4 pages, - is2=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\Ek\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\E\\3\E-07 \011, - rmcup=\E\\3\E-07\s, rmkx=\Ek, smcup=\E\\1\E-07\s, - smkx=\El, use=tvi950, -# -# for reverse video 950 changes the following: -# set reverse video (\Ed) -# -# set vb accordingly (\Ed ...delay... \Eb) -# -tvi950-rv|televideo950 rev video, - flash=\Ed$<200/>\Eb, - is2=\EDF\EC\Eb\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\El\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0, - use=tvi950, - -# tvi950-rv-2p uses the appropriate entries from 950-2p and 950-rv -tvi950-rv-2p|televideo950 rev video w/2 pages, - flash=\Ed$<200/>\Eb, - is2=\EDF\EC\Eb\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\Ek\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\E\\2\E-07\s, - rmcup=\E\\2\E-07\s, rmkx=\Ek, smcup=\E\\1\E-07\s, - smkx=\El, use=tvi950, - -# tvi950-rv uses the appropriate entries from 950-4p and 950-rv -tvi950-rv-4p|televideo950 rev video w/4 pages, - flash=\Ed$<200/>\Eb, - is2=\EDF\EC\Eb\EG0\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\Ek\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\E\\3\E-07\s, - rmcup=\E\\3\E-07\s, rmkx=\Ek, smcup=\E\\1\E-07\s, - smkx=\El, use=tvi950, -# From: Andreas Stolcke -# (tvi955: removed obsolete ":ma:=^Vj^Kk^Hh^Ll^^H"; -# removed incorrect (and overridden) ":do=^J:"; fixed broken continuations in -# the :rs: string, inserted the implied by the termcap :ko: string. Note -# the :ko: string had :cl: in it, which means that one of the original -# , had to be wrong; set because that's what -# the 950 has. Finally, corrected the string to match the 950 and what -# ko implies -- esr) -# If the BSD termcap file was right, would -# also work. -tvi955|televideo 955, - OTbs, mc5i, msgr@, - it#8, xmc@, - acsc=0_`RjHkGlFmEnIoPqKsQtMuLvOwNxJ, blink=\EG2, - civis=\E.0, cnorm=\E.2, cud1=^V, cup=\E[%i%p1%d;%p2%dH, - cvvis=\E.1, dim=\E[=5h, ind@, invis=\EG1, - is2=\E[=3l\EF1\Ed\EG0\E[=5l\E%\El, kctab=\E2, khts=\E1, - knp=\EK, kpp=\EJ, krmir=\EQ, ktbc=\E3, mc0=\EP, rmacs=\E%%, - rmam=\E[=7l, rmxon=^N, - rs1=\EDF\EC\Eg\Er\EO\E'\E(\Ew\EX\Ee \017\E0P\E6\0\E0p\E4\0\Ef\r, - sgr0=\EG0\E[=5l, smacs=\E$, smam=\E[=7h, smxon=^O, - use=tvi950, -tvi955-w|955-w|televideo955 w/132 cols, - cols#132, - is2=\E[=3h\EF1\Ed\EG0\E[=5l\E%\El, use=tvi955, -# use half-intensity as normal mode, full intensity as -tvi955-hb|955-hb|televideo955 half-bright, - bold=\E[=5l, dim@, is2=\E[=3l\EF1\Ed\EG0\E[=5h\E%\El, - sgr0=\EG0\E[=5h, use=tvi955, -# From: Humberto Appleton , 880521 UT Austin -# (tvi970: removed ":sg#0:"; removed =\E[m, =\E[m; -# added ////// from BRL. -# According to BRL we could have =\E>, =\E= but I'm not sure what -# it does to the function keys. I deduced /. -# also added empty to suppress tic warning, -- esr) -tvi970|televideo 970, - OTbs, OTpt, am, da, db, mir, msgr, - cols#80, it#8, lines#24, - acsc=, cbt=\E[Z, clear=\E[H\E[2J, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=\ED, cuf1=\E[C, cup=\E[%i%p1%d;%p2%df, - cuu1=\EM, cvvis=\E[1Q, dch1=\E[P, dl1=\E[M, dsl=\Eg\Ef\r, - ed=\E[J, el=\E[K, flash=\E[5m$<200/>\E[m, home=\E[H, - hpa=\E[%i%p1%dG, ht=^I, il1=\E[L, - is2=\E<\E[?21l\E[19h\E[1Q\E[10l\E[7l\E[H\E[2J, - kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\E?a, kf2=\E?b, kf3=\E?c, kf4=\E?d, kf5=\E?e, kf6=\E?f, - kf7=\E?g, kf8=\E?h, kf9=\E?i, khome=\E[H, ri=\EM, rmacs=\E(B, - rmam=\E[?7h, rmcup=, rmir=\E[4l, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smacs=\E(B, smam=\E[?7l, - smcup=\E[?20l\E[?7h\E[1Q, smir=\E[4h, smso=\E[7m, - smul=\E[4m, vpa=\E[%i%p1%dd, -tvi970-vb|televideo 970 with visual bell, - flash=\E[?5h\0\0\0\0\0\0\0\0\0\0\0\0\0\E[?5l, - use=tvi970, -tvi970-2p|televideo 970 with using 2 pages of memory, - rmcup=\E[H\E[J\E[V, smcup=\E[U\E[?20l\E[?7h\E[1Q, - use=tvi970, -# Works with vi and rogue. NOTE: Esc v sets autowrap on, Esc u sets 80 chars -# per line (rather than 40), Esc K chooses the normal character set. Not sure -# padding is needed, but adapted from the tvi920c termcap. The and -# strings are klutzy, but at least use no screen space. -# (tvipt: removed obsolete ":ma=^Kk^Ll^R^L:". I wish we knew , -# its absence means =\Ev isn't safe to use. -- esr) -# From: Gene Rochlin 9/19/84. -# The ////, and caps are from BRL, which says: -# F1 and F2 should be programmed as ^A and ^B; required for UNIFY. -tvipt|televideo personal terminal, - OTbs, am, - cols#80, lines#24, - cbt=\EI, clear=^Z, cub1=^H, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dl1=\ER$<5*>, - ed=\EY, el=\ET, home=^^, if=/usr/share/tabset/stdcrt, - il1=\EE$<5*>, is2=\Ev\Eu\EK, kbs=^H, kcub1=^H, kcud1=^J, - kcuf1=^L, kcuu1=^K, kf0=^A, kf1=^B, khome=^^, mc4=^T, mc5=^R, - rmso=\EF, rmul=\EF, smso=\EG1@A\EH, smul=\EG1B@\EH, -# From: Nathan Peterson , 03 Sep 1996 -tvi9065|televideo 9065, - am, bw, chts, hs, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lh#1, lines#25, lm#0, lw#9, ma#4, nlab#8, vt#0, - wnum#0, wsl#30, - acsc='r0_jhkglfmeniopqksqtmulvownxj, bel=^G, - blink=\EG2, bold=\EG\,, cbt=\EI, civis=\E.0, clear=^Z, - cnorm=\E.3, cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, - cub1=^H, cud=\E[%p1%dB, cud1=^V, cuf=\E[%p1%dC, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu=\E[%p1%dA, - cuu1=^K, cvvis=\E.2, dch=\E[%p1%dP, dch1=\EW, dim=\EGp, - dl=\E[%p1%dM, dl1=\ER, dsl=\E_30\r, ech=\E[%p1%d@, ed=\EY, - el=\ET, flash=\Eb$<15>\Ed, fsl=^M, home=^^, ht=^I, hts=\E1, - ich=\E[%p1%d@, if=/usr/share/tabset/stdcrt, - il=\E[%p1%dL, il1=\EE, ind=^J, indn=\E[%p1%dS, invis=\EG1, - ip=$<3>, - is1=\E"\E%\E'\E(\EG@\EO\EX\E[=5l\E[=6l\E[=7h\Ed\Er, - is2=\EF2\EG0\E\\L, is3=\E<\E[=4l\E[=8h, kHOM=\E\s\s\s, - kbs=^H, kcbt=\EI, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, - kdch1=\EW, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, kf12=^AK\r, - kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, - kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, ll=\E[25;1H, - mc0=\E[0;0i, mc4=\Ea, mc5=\E`, nel=^M^J, - pfkey=\E|%p1%{48}%+%c3%p2%s\031, - pfloc=\E|%p1%{48}%+%c2%p2%s\031, - pfx=\E|%p1%{48}%+%c1%p2%s\031, - pln=\E_%p1%{63}%+%c%p2%s\r, prot=\E&, - rep=\E[%p2%db%p1%c, rev=\EG4, - rf=/usr/share/tabset/stdcrt, ri=\Ej, rin=\E[%p1%dT, - rmacs=\E%%, rmam=\E[=7l, rmcup=\E.3\Er\E[1;25r\E[25;0H, - rmdc=\0, rmir=\Er, rmln=\E[4;1v, rmso=\EG0, rmul=\EG0, - rmxon=^N, rs1=\EC\EDF\E[0;0v\E[8;1v\E[=65l, - rs2=\E.b\E[10;20v\E[14;1v\E[3;0v\E[7;0v\E[=11.h\E[=12.h\E[=13.h\E[=14.h\E[=15l\E[=20h\E[=60l\E[=61h\E[=9l\E[=10l\E[=21l\E[=23l\E[=3l\E_40\E_50\En\Ew\Ee \Ex0\0\0\Ex1\0\0\Ex2\0\0\Ex3\0\0\Ex4\0\0\E1, - rs3=\E[=19h\E.3\E9\E0O\0\0\0\0\0\E0o\0\0\0\0\0\E0J\177\0\0\0\0, - sgr=\EG0%?%p1%t\EGt%;%?%p2%t\EG8%;%?%p3%t\EG4%;%?%p4%t\EG2%;%?%p5%t\EGp%;%?%p6%t\EG\,%;%?%p7%t\EG1%;%?%p9%t\E$%e\E%%%;, - sgr0=\EG0, smacs=\E$, smam=\E=7h, smcup=\E.2, smdc=\Er, - smir=\Eq, smln=\E[4;2v, smso=\EGt, smul=\EG8, smxon=^O, - tbc=\E3, tsl=\E[4;1v\E_30, uc=\EG8\EG0, - -#### Visual (vi) -# -# In September 1993, Visual Technology of Westboro, Massachusetts, -# merged with White Pine Software of Nashua, New Hampshire. -# -# White Pine Software may be contacted at +1 603/886-9050. -# Or visit White Pine on the World Wide Web at URL http://www.wpine.com. -# - -# Visual 50 from Beau Shekita, BTL-Whippany -# Recently I hacked together the following termcap for Visual -# Technology's Visual 50 terminal. It's a slight modification of -# the vt52 termcap. -# It's intended to run when the Visual 50 is in vt52 emulation mode -# (I know what you're thinking; if it's emulating a vt52, then why -# another termcap? Well, it turns out that the Visual 50 can handle -# and db(?) among other things, which the vt52 can't) -# The termcap works OK for the most part. The only problem is on -# character inserts. The whole line gets painfully redrawn for each -# character typed. Any suggestions? -# Beau's entry is combined with the vi50 entry from University of Wisconsin. -# Note especially the function. - are really l4-l6 in -# disguise; - are really l1-l3. -vi50|visual 50, - OTbs, OTpt, am, da, db, msgr, - cols#80, it#8, lines#24, - OTnl=^J, bel=^G, cbt=\Ez$<4/>, clear=\EH\EJ, cr=^M, cub1=^H, - cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=\EA, dl1=\EM$<3*/>, ed=\EJ, el=\EK$<16/>, home=\EH, - ht=^I, il1=\EL, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, kf1=\EP, kf2=\EQ, kf3=\ER, kf4=\EV, - kf5=\EE, kf6=\E], kf7=\EL, kf8=\Ev, kf9=\EM, khome=\EH, - nel=^M^J, ri=\EI, rmso=\ET, rmul=\EW, smso=\EU, smul=\ES, -# this one was BSD & SCO's vi50 -vi50adm|visual 50 in adm3a mode, - am, msgr, - cols#80, it#8, lines#24, - bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dl1=\EM, - ed=\Ek, el=\EK, home=\EH, ht=^I, il1=\EL, ind=^J, kbs=^H, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\EH, - rmso=\ET, smso=\EU, -# From: Jeff Siegal -vi55|Visual 55, - OTbs, am, mir, msgr, - cols#80, it#8, lines#24, - clear=\Ev, csr=\E_%p1%{65}%+%c%p2%{65}%+%c, cub1=^H, - cud1=^J, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=\EA, dch1=\Ew, dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, - il1=\EL, is2=\Ev\E_AX\Eb\EW\E9P\ET, kbs=^H, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, ri=\EI, rmir=\Eb, rmso=\ET, - smir=\Ea, smso=\EU, - -# Visual 200 from BRL -# The following switch settings are assumed for normal operation: -# FULL_DUPLEX SCROLL CR -# AUTO_NEW_LINE_ON VISUAL_200_EMULATION_MODE -# Other switches may be set for operator convenience or communication -# requirements. -# Character insertion is kludged in order to get around the "beep" misfeature. -# (This cap is commented out because / is more efficient -- esr) -# Supposedly "4*" delays should be used for , , , , -# and strings, but we seem to get along fine without them. -vi200|visual 200, - OTbs, OTpt, am, mir, msgr, - OTkn#10, cols#80, it#8, lines#24, - acsc=, bel=^G, cbt=\Ez, clear=\Ev, cnorm=\Ec, cr=^M, cub1=^H, - cud1=^J, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=\EA, cvvis=\Ed, dch1=\EO, dim=\E4, dl1=\EM, ed=\Ey, - el=\Ex, home=\EH, ht=^I, hts=\E1, il1=\EL, ind=^J, invis=\Ea, - kbs=^H, kclr=\Ev, kctab=\E2, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kdch1=\EO, kdl1=\EM, ked=\EJ, kel=\Et, kf0=\E?p, - kf1=\E?q, kf2=\E?r, kf3=\E?s, kf4=\E?t, kf5=\E?u, kf6=\E?v, - kf7=\E?w, kf8=\E?x, kf9=\E?y, khome=\EH, khts=\E1, kich1=\Ei, - kil1=\EL, krmir=\Ej, mc0=\EH\E], mc4=\EX, mc5=\EW, ri=\EI, - rmacs=\EG, rmkx=\E>, rmso=\E3, - rs1=\E3\Eb\Ej\E\El\EG\Ec\Ek\EX, sgr0=\E3\Eb, smacs=\EF, - smkx=\E=, smso=\E4, tbc=\Eg, -# The older Visuals didn't come with function keys. This entry uses -# and so that the keypad keys can be used as function keys. -# If your version of vi doesn't support function keys you may want -# to use vi200-f. -vi200-f|visual 200 no function keys, - is2=\E3\Eb\Ej\E\\\El\EG\Ed\Ek, kf0=\E?p, kf1=\E?q, - kf2=\E?r, kf3=\E?s, kf4=\E?t, kf5=\E?u, kf6=\E?v, kf7=\E?w, - kf8=\E?x, kf9=\E?y, rmkx=\E>, rmso@, smkx=\E=, smso@, - use=vi200, -vi200-rv|visual 200 reverse video, - cnorm@, cvvis@, ri@, rmso=\E3, smso=\E4, use=vi200, - -# the function keys are programmable but we don't reprogram them to their -# default values with because programming them is very verbose. maybe -# an initialization file should be made for the 300 and they could be stuck -# in it. -# (vi300: added / based on init string -- esr) -vi300|visual 300 ansi x3.64, - am, bw, mir, xenl, - cols#80, lines#24, - bel=^G, cbt=\E[Z, clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - dch1=\E[P$<40>, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, - il1=\E[L, ind=^J, - is2=\E[7s\E[2;3;4;20;?5;?6l\E[12;?7h\E[1Q\E[0;1(D\E[8s, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\E_A\E\\, kf2=\E_B\E\\, kf3=\E_C\E\\, kf4=\E_D\E\\, - kf5=\E_E\E\\, kf6=\E_F\E\\, kf7=\E_G\E\\, kf8=\E_H\E\\, - kf9=\E_I\E\\, khome=\E[H, ri=\EM, rmam=\E[?7l, rmir=\E[4l, - rmso=\E[m, rmul=\E[m, sgr0=\E[m, smam=\E[?7h, smir=\E[4h, - smso=\E[1m, smul=\E[4m, -# some of the vi300s have older firmware that has the command -# sequence for setting editing extent reversed. -vi300-old|visual 300 with old firmware (set edit extent reversed), - is2=\E[7s\E[2;3;4;20;?5;?6l\E[12;?7h\E[2Q\E[0;1(D\E[8s, - use=vi300, - -# Visual 500 prototype entry from University of Wisconsin. -# The best place to look for the escape sequences is page A1-1 of the -# Visual 500 manual. The initialization sequence given here may be -# overkill, but it does leave out some of the initializations which can -# be done with the menus in set-up mode. -# The :xp: line below is so that emacs can understand the padding requirements -# of this slow terminal. :xp: is 10 time the padding factor. -# (vi500: removed unknown :xp#4: termcap; -# also added empty to suppress tic warning -- esr) -vi500|visual 500, - am, mir, msgr, - cols#80, it#8, lines#33, - acsc=, cbt=\Ez$<4/>, clear=\Ev$<6*/>, cr=^M, - csr=\E(%p1%{32}%+%c%p2%{32}%+%c, cub1=^H, cud1=\EB, - cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, - dch1=\EO$<3*/>, dl1=\EM$<3*/>, ed=\Ey$<3*/>, - el=\Ex$<16/>, home=\EH, ht=\011$<8/>, il1=\EL\Ex$<3*/>, - ind=^J, - is2=\E3\E\001\E\007\E\003\Ek\EG\Ed\EX\El\E>\Eb\E\\, - kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - khome=\EH, nel=^M^J, rmacs=^O, rmir=\Ej, rmso=\E^G, - rmul=\E^C, smacs=^N, smir=\Ei, smso=\E^H, smul=\E^D, - -# The visual 550 is a visual 300 with tektronix graphics, -# and with 33 lines. clear screen is modified here to -# also clear the graphics. -vi550|visual 550 ansi x3.64, - lines#33, - clear=\030\E[H\E[2J, use=vi300, - -vi603|visual603|visual 603, - hs, mir, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, - csr=\E[%i%p1%d;%p2%dr, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - dsl=\EP2;1~\E\\, ed=\E[J, el=\E[K, fsl=\E\\, il1=\E[L, - ind=\ED, is1=\E>\E[?3l\E[?4l\E[?7h\E[?8h\E[1;24r, - rev=\E[7m, ri=\EM, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, - sgr0=\E[m, smir=\E[4h, smso=\E[7m, smul=\E[4m, tsl=\EP2~, - use=vt100, - -#### Wyse (wy) -# -# Wyse Technology -# 3471 North First Street -# San Jose, CA 95134 -# Vox: (408)-473-1200 -# Fax: (408) 473-1222 -# Web: http://www.wyse.com -# -# Wyse sales can be reached by phone at 1-800-GET-WYSE. Tech support is at -# (800)-800-WYSE (option 5 gets you a human). There's a Web page at the -# obvious address, . They keep terminfo entries at -# . -# -# Wyse bought out Link Technology, Inc. in 1990 and closed it down in 1995. -# They now own the Qume and Amdek brands, too. So these are the people to -# talk with about all Link, Qume, and Amdek terminals. -# -# These entries include a few small fixes. -# I canceled the bel capacities in the vb entries. -# I made two trivial syntax fixes in the wyse30 entry. -# I made some entries relative to adm+sgr. -# -# -# Note: The wyse75, wyse85, and wyse99 have been discontinued. - -# Although the Wyse 30 can support more than one attribute -# it requires magic cookies to do so. Many applications do not -# function well with magic cookies. The following terminfo uses -# the protect mode to support one attribute (dim) without cookies. -# If more than one attribute is needed then the wy30-mc terminfo -# should be used. -# -wy30|wyse30|Wyse 30, - am, bw, hs, mc5i, mir, msgr, xon, - cols#80, lh#1, lines#24, lw#8, ma#1, nlab#8, wsl#45, - acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, cbt=\EI, - civis=\E`0, clear=\E+$<80>, cnorm=\E`1, cr=^M, cub1=^H, - cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, - cuu1=^K, dch1=\EW$<10>, dim=\E`7\E), dl1=\ER$<1>, - dsl=\EF\r, ed=\EY$<80>, el=\ET, flash=\E`8$<100/>\E`9, - fsl=^M, home=^^, ht=\011$<1>, hts=\E1, il1=\EE$<2>, - ind=\n$<2>, ip=$<2>, is2=\E'\E(\E\^3\E`9\016\024, - kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H, kcud1=^J, kcuf1=^L, - kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, kel=\ET, kent=\E7, - kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, - kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, khome=^^, kich1=\EQ, - kil1=\EE, knp=\EK, kpp=\EJ, krpl=\Er, ll=^^^K, mc0=\EP, mc4=^T, - mc5=^X, nel=^M^J, pfx=\Ez%p1%{63}%+%c%p2%s\177, - pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E`7\E), ri=\Ej$<3>, - rmacs=\EH^C, rmir=\Er, rmln=\EA11, rmso=\E(, - sgr=%?%p1%p5%p8%|%|%t\E`7\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;, - sgr0=\E(\EH\003, smacs=\EH^B, smir=\Eq, smln=\EA10, - smso=\E`7\E), tbc=\E0, tsl=\EF, -# -# This terminal description uses the non-hidden attribute mode -# (with magic cookie). -# -# (wy30-mc: added to suppress tic warning --esr) -wy30-mc|wyse30-mc|wyse 30 with magic cookies, - msgr@, - ma@, xmc#1, - blink=\EG2, dim=\EGp, prot=\EG0\E), rmacs=\EG0\EH\003, - rmcup=\EG0, rmso=\EG0, - sgr=\EG%{48}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;, - sgr0=\EG0\E(\EH\003, smacs=\EG0\EH\002, smcup=, - smso=\EG4, use=wy30, use=adm+sgr, -# The mandatory pause used by does not work with -# older versions of terminfo. If you see this effect then -# unset xon and delete the / from the delay. -# i.e. change $<100/> to $<100> -wy30-vb|wyse30-vb|wyse 30 visible bell, - bel@, use=wy30, -# -# The Wyse 50 can support one attribute (e.g. Dim, Inverse, -# Normal) without magic cookies by using the protect mode. -# The following description uses this feature, but when more -# than one attribute is put on the screen at once, all attributes -# will be changed to be the same as the last attribute given. -# The Wyse 50 can support more attributes when used with magic -# cookies. The wy50-mc terminal description uses magic cookies -# to correctly handle multiple attributes on a screen. -# -wy50|wyse50|Wyse 50, - am, bw, hs, mc5i, mir, msgr, xon, - cols#80, lh#1, lines#24, lw#8, ma#1, nlab#8, wsl#45, - acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, cbt=\EI, - civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=^M, cub1=^H, - cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, - cuu1=^K, dch1=\EW$<1>, dim=\E`7\E), dl1=\ER, dsl=\EF\r, - ed=\EY$<20>, el=\ET, flash=\E`8$<100/>\E`9, fsl=^M, - home=^^, ht=^I, hts=\E1, il1=\EE, ind=\n$<2>, ip=$<1>, - is1=\E`\:\E`9$<30>, is2=\016\024\E'\E(, kHOM=\E{, kbs=^H, - kcbt=\EI, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, - kdl1=\ER, ked=\EY, kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, - kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, - kf16=^AO\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, - kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, - kich1=\EQ, kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, - ll=^^^K, mc0=\EP, mc4=^T, mc5=^X, nel=^M^J, - pfx=\Ez%p1%{63}%+%c%p2%s\177, - pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E`7\E), rev=\E`6\E), - ri=\Ej, rmacs=\EH^C, rmir=\Er, rmln=\EA11, rmso=\E(, - sgr=%?%p1%p3%|%t\E`6\E)%e%p5%p8%|%t\E`7\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;, - sgr0=\E(\EH\003, smacs=\EH^B, smir=\Eq, smln=\EA10, - smso=\E`6\E), tbc=\E0, tsl=\EF, -# -# This terminal description uses the non-hidden attribute mode -# (with magic cookie). -# -# The mandatory pause used by flash does not work with some -# older versions of terminfo. If you see this effect then -# unset and delete the / from the delay. -# i.e. change $<100/> to $<100> -# (wy50-mc: added to suppress tic warning --esr) -wy50-mc|wyse50-mc|wyse 50 with magic cookies, - msgr@, - ma@, xmc#1, - blink=\EG2, dim=\EGp, prot=\EG0\E), rev=\EG4, - rmacs=\EG0\EH\003, rmcup=\EG0, rmso=\EG0, - sgr=\EG%{48}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;, - sgr0=\EG0\E(\EH\003, smacs=\EG0\EH\002, smcup=, - smso=\EGt, use=wy50, use=adm+sgr, -wy50-vb|wyse50-vb|wyse 50 visible bell, - bel@, use=wy50, -wy50-w|wyse50-w|wyse 50 132-column, - cols#132, lw#7, nlab#16, wsl#97, - cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<2>, is1=\E`;\E`9$<30>, - use=wy50, -wy50-wvb|wyse50-wvb|wyse 50 132-column visible bell, - bel@, use=wy50-w, - -# -# The Wyse 350 is a Wyse 50 with color. -# Unfortunately this means that it has magic cookies. -# The color attributes are designed to overlap the reverse, dim and -# underline attributes. This is nice for monochrome applications -# because you can make underline stuff green (or any other color) -# but for true color applications it's not so hot because you cannot -# mix color with reverse, dim or underline. -# To further complicate things one of the attributes must be -# black (either the foreground or the background). In reverse video -# the background changes color with black letters. In normal video -# the foreground changes colors on a black background. -# This terminfo uses some of the more advanced features of curses -# to display both color and blink. In the final analysis I am not -# sure that the wy350 runs better with this terminfo than it does -# with the wy50 terminfo (with user adjusted colors). -# -# The mandatory pause used by flash does not work with -# older versions of terminfo. If you see this effect then -# unset xon and delete the / from the delay. -# i.e. change $<100/> to $<100> -# -# Bug: The capability resets attributes. -wy350|wyse350|Wyse 350, - am, bw, hs, mc5i, mir, xon, - colors#8, cols#80, lh#1, lines#24, lw#8, ncv#55, nlab#8, pairs#8, - wsl#45, xmc#1, - acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, blink=\EG2, - cbt=\EI, civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=^M, - cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW$<1>, - dim=\EGp, dl1=\ER, dsl=\EF\r, ed=\EY$<20>, el=\ET, - flash=\E`8$<100/>\E`9, fsl=^M, home=^^, ht=^I, hts=\E1, - il1=\EE, ind=\n$<2>, ip=$<1>, is1=\E`\:\E`9$<30>, - is2=\016\024\E'\E(, is3=\E%?, kHOM=\E{, kbs=^H, kcbt=\EI, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, - ked=\EY, kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, - kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, - kf16=^AO\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, - kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, - kich1=\EQ, kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, - ll=^^^K, mc0=\EP, mc4=^T, mc5=^X, nel=^M^J, oc=\E%?, op=\EG0, - pfx=\Ez%p1%{63}%+%c%p2%s\177, - pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\EG0\E), ri=\Ej, - rmacs=\EG0\EH\003, rmir=\Er, rmln=\EA11, setb=, - setf=%?%p1%{0}%=%t%{76}%e%p1%{1}%=%t%{64}%e%p1%{2}%=%t%{8}%e%p1%{3}%=%t%{72}%e%p1%{4}%=%t%{4}%e%p1%{5}%=%t%{68}%e%p1%{6}%=%t%{12}%e%p1%{7}%=%t%{0}%;%PC\EG%gC%gA%+%{48}%+%c, - sgr=%{0}%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;%PA\EG%?%gC%t%gC%e%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p5%t%{64}%|%;%;%gA%+%{48}%+%c%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;, - sgr0=\EG0\E(\EH\003%{0}%PA%{0}%PC, smacs=\EG0\EH\002, - smir=\Eq, smln=\EA10, tbc=\E0, tsl=\EF, use=adm+sgr, -wy350-vb|wyse350-vb|wyse 350 visible bell, - bel@, use=wy350, -wy350-w|wyse350-w|wyse 350 132-column, - cols#132, lw#7, nlab#16, wsl#97, - cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<2>, is1=\E`;\E`9$<30>, - use=wy350, -wy350-wvb|wyse350-wvb|wyse 350 132-column visible bell, - bel@, use=wy350-w, -# -# This terminfo description is untested. -# The wyse100 emulates an adm31, so the adm31 entry should work. -# -wy100|wyse 100, - hs, mir, - cols#80, lines#24, xmc#1, - bel=^G, clear=\E;, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, dsl=\EA31, ed=\EY, el=\ET, fsl=^M, il1=\EE, ind=^J, - invis@, is2=\Eu\E0, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, - kcuu1=^K, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, - kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, khome=\E{, - rmir=\Er, smir=\Eq, tsl=\EF, use=adm+sgr, -# -# The Wyse 120/150 has most of the features of the Wyse 60. -# This terminal does not need padding up to 9600 baud! -# should be set but the clear screen fails when in -# alt-charset mode. Try \EcE\s\s\E+\s if the screen is really clear -# then set . -# -wy120|wyse120|wy150|wyse150|Wyse 120/150, - am, bw, hs, km, mc5i, mir, msgr, xon, - cols#80, it#8, lh#1, lines#24, lw#8, nlab#8, pb#9601, wsl#45, - acsc=+/\,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~, - bel=^G, blink=\EG2, cbt=\EI, civis=\E`0, clear=\E+$<50>, - cnorm=\E`1, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW$<7>, - dim=\EGp, dl1=\ER$<3>, dsl=\EF\r, ed=\EY$<50>, el=\ET$<4>, - flash=\E`8$<100/>\E`9, fsl=^M, home=^^, ht=\011$<1>, - hts=\E1, il1=\EE$<3>, ind=\n$<3>, ip=$<2>, is1=\EcB0\EcC1, - is2=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El, - is3=\EwJ\Ew1$<150>, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, - kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, - kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r, - kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, - kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ, - kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=^^^K, - mc0=\EP, mc4=^T, mc5=\Ed#, nel=\r\n$<3>, - pfloc=\EZ2%p1%{63}%+%c%p2%s\177, - pfx=\EZ1%p1%{63}%+%c%p2%s\177, - pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<2>, - rmacs=\EcD, rmam=\Ed., rmcup=\Ew1, rmir=\Er, rmln=\EA11, - rmxon=\Ec20, rs1=\E~!\E~4$<30>, rs2=\EeF\E`\:$<70>, - rs3=\EwG\Ee($<100>, - sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c, - sgr0=\E(\EH\003\EG0\EcD, smacs=\EcE, smam=\Ed/, - smcup=\Ew0, smir=\Eq, smln=\EA10, smso=\EGt, smxon=\Ec21, - tbc=\E0, tsl=\EF, use=adm+sgr, -# -wy120-w|wyse120-w|wy150-w|wyse150-w|wyse 120/150 132-column, - cols#132, lw#7, nlab#16, wsl#97, - cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<12>, ip=$<4>, - rs2=\E`;$<70>, use=wy120, -# -wy120-25|wyse120-25|wy150-25|wyse150-25|wyse 120/150 80-column 25-lines, - lh@, lines#25, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<100>, use=wy120, -# -wy120-25-w|wyse120-25-w|wy150-25-w|wyse150-25-w|wyse 120/150 132-column 25-lines, - lh@, lines#25, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<100>, use=wy120-w, -# -wy120-vb|wyse120-vb|wy150-vb|wyse150-vb|Wyse 120/150 visible bell, - bel@, use=wy120, -# -wy120-w-vb|wy120-wvb|wyse120-wvb|wy150-w-vb|wyse150-w-vb|Wyse 120/150 132-column visible bell, - bel@, use=wy120-w, -# -# The Wyse 60 is like the Wyse 50 but with more padding. -# The reset strings are slow and the pad times very depending -# on other parameters such as font loading. I have tried -# to follow the following outline: -# -# -> set personality -# -> set number of columns -# -> set number of lines -# -> select the proper font -# -> do the initialization -# -> set up display memory (2 pages) -# -# The Wyse 60's that have vt100 emulation are slower than the -# older Wyse 60's. This change happened mid-1987. -# The capabilities effected are -# -# The meta key is only half right. This terminal will return the -# high order bit set when you hit CTRL-function_key -# -# It may be useful to assign two function keys with the -# values \E=(\s look at old data in page 1 -# \E=W, look at bottom of page 1 -# where \s is a space ( ). -# -# Note: -# The Wyse 60 runs faster when the XON/XOFF -# handshake is turned off. -# -# (wy60: we use \E{ rather than ^^ for home (both are documented) to avoid -# a bug reported by Robert Dunn, -- esr) -wy60|wyse60|Wyse 60, - am, bw, hs, km, mc5i, mir, msgr, - cols#80, lh#1, lines#24, lw#8, nlab#8, wsl#45, - acsc=+/\,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~, - bel=^G, blink=\EG2, cbt=\EI, civis=\E`0, clear=\E+$<100>, - cnorm=\E`1, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\EW$<11>, dclk=\E`b, dim=\EGp, dl1=\ER$<5>, dsl=\EF\r, - ed=\EY$<100>, el=\ET, flash=\E`8$<100/>\E`9, fsl=^M, - home=\E{, ht=\011$<1>, hts=\E1, il1=\EE$<4>, ind=\n$<5>, - ip=$<3>, is1=\EcB0\EcC1, - is2=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El, - is3=\EwJ\Ew1$<150>, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, - kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, - kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r, - kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, - kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ, - kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=\E{^K, - mc0=\EP, mc4=^T, mc5=\Ed#, nel=\r\n$<3>, - pfloc=\EZ2%p1%{63}%+%c%p2%s\177, - pfx=\EZ1%p1%{63}%+%c%p2%s\177, - pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<7>, - rmacs=\EcD, rmam=\Ed., rmclk=\E`c, rmcup=\Ew1, rmir=\Er, - rmln=\EA11, rmxon=\Ec20, rs1=\E~!\E~4$<150>, - rs2=\EeG$<150>, rs3=\EwG\Ee($<200>, - sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c, - sgr0=\E(\EH\003\EG0\EcD, smacs=\EcE, smam=\Ed/, - smcup=\Ew0, smir=\Eq, smln=\EA10, smso=\EGt, smxon=\Ec21, - tbc=\E0, tsl=\EF, use=adm+sgr, -# -wy60-w|wyse60-w|wyse 60 132-column, - cols#132, lw#7, nlab#16, wsl#97, - cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<16>, ip=$<5>, - rs2=\EeF$<150>\E`;$<150>, use=wy60, -# -wy60-25|wyse60-25|wyse 60 80-column 25-lines, - lh@, lines#25, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<200>, use=wy60, -wy60-25-w|wyse60-25-w|wyse 60 132-column 25-lines, - lh@, lines#25, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<200>, use=wy60-w, -# -wy60-42|wyse60-42|wyse 60 80-column 42-lines, - lines#42, - clear=\E+$<260>, cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<2>, - dch1=\EW$<16>, dl1=\ER$<11>, ed=\Ey$<260>, il1=\EE$<11>, - ind=\n$<9>, ip=$<5>, is1=\EcB2\EcC3, nel=\r\n$<6>, - ri=\Ej$<10>, rs3=\Ee*$<150>, use=wy60, -wy60-42-w|wyse60-42-w|wyse 60 132-column 42-lines, - cols#132, lw#7, nlab#16, wsl#97, - clear=\E+$<260>, cup=\Ea%i%p1%dR%p2%dC$<2>, - dch1=\EW$<19>, ed=\Ey$<260>, home=\036$<2>, ip=$<6>, - nel=\r\n$<11>, rs2=\EeF$<150>\E`;$<150>, use=wy60-42, -# -wy60-43|wyse60-43|wyse 60 80-column 43-lines, - lh@, lines#43, lw@, nlab@, - pln@, rs3=\Ee+$<150>, use=wy60-42, -wy60-43-w|wyse60-43-w|wyse 60 132-column 43-lines, - lh@, lines#43, lw@, nlab@, - pln@, rs3=\Ee+$<150>, use=wy60-42-w, -# -wy60-vb|wyse60-vb|Wyse 60 visible bell, - bel@, use=wy60, -wy60-w-vb|wy60-wvb|wyse60-wvb|Wyse 60 132-column visible bell, - bel@, use=wy60-w, - -# The Wyse-99GT looks at lot like the Wyse 60 except that it -# does not have the 42/43 line mode. In the Wyse-60 the "lines" -# setup parameter controls the number of lines on the screen. -# For the Wyse 99GT the "lines" setup parameter controls the -# number of lines in a page. The screen can display 25 lines max. -# The Wyse-99GT also has personalities for the VT220 and -# Tektronix 4014. But this has no bearing on the native mode. -# -# (msgr) should be set but the clear screen fails when in -# alt-charset mode. Try \EcE\s\s\E+\s if the screen is really clear -# then set msgr, else use msgr@. -# -# u0 -> enter Tektronix mode -# u1 -> exit Tektronix mode -# -wy99gt|wyse99gt|Wyse 99gt, - msgr@, - clear=\E+$<130>, dch1=\EW$<7>, dl1=\ER$<4>, ed=\Ey$<130>, - el=\Et$<5>, flash=\E`8$<100/>\E`9, ht=\011$<1>, - il1=\EE$<4>, ind=\n$<4>, ip=$<2>, is3=\Ew0$<20>, nel@, - ri=\Ej$<3>, rmcup=\Ew0, rs2=\E`\:$<150>, smcup=\Ew1, - u0=\E~>\E8, u1=\E[42h, use=wy60, -# -wy99gt-w|wyse99gt-w|wyse 99gt 132-column, - cols#132, lw#7, nlab#16, wsl#97, - clear=\E+$<160>, cup=\Ea%i%p1%dR%p2%dC$<2>, - dch1=\EW$<9>, ed=\Ey$<160>, ip=$<4>, rs2=\E`;$<150>, - use=wy99gt, -# -wy99gt-25|wyse99gt-25|wyse 99gt 80-column 25-lines, - lh@, lines#25, lw@, nlab@, - pln@, rs2=\E`\:$<150>, rs3=\EwG\Ee)$<200>, use=wy99gt, -# -wy99gt-25-w|wyse99gt-25-w|wyse 99gt 132-column 25-lines, - lh@, lines#25, lw@, nlab@, - pln@, rs2=\E`;$<150>, use=wy99gt-w, -# -wy99gt-vb|wyse99gt-vb|Wyse 99gt visible bell, - bel@, use=wy99gt, -# -wy99gt-w-vb|wy99gt-wvb|wyse99gt-wvb|Wyse 99gt 132-column visible bell, - bel@, use=wy99gt-w, - -# Can't set tabs! Other bugs (ANSI mode only): -# - can't redefine function keys (anyway, key redefinition in ANSI mode -# is too much complex to be described); -# - meta key can't be described (the terminal forgets it when reset); -# The xon-xoff handshaking can't be disabled while in ansi personality, so -# emacs can't work at speed greater than 9600 baud. No padding is needed at -# this speed. -# dch1 has been commented out because it causes annoying glittering when -# vi deletes one character at the beginning of a line with tabs in it. -# dch makes sysgen(1M) have a horrible behaviour when deleting -# a screen and makes screen(1) behave badly, so it is disabled too. The nice -# thing is that vi goes crazy if smir-rmir are present and both dch-dch1 are -# not, so smir and rmir are commented out as well. -# From: Francesco Potorti` , 24 Aug 1998 -wy99-ansi|Wyse WY-99GT in ansi mode (int'l PC keyboard), - am, km, mc5i, mir, msgr, xenl, - cols#80, it#8, lines#25, vt#3, - acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J$<200>, cnorm=\E[34h\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD$<1>, - cub1=\010$<1>, cud=\E[%p1%dB, cud1=\ED, - cuf=\E[%p1%dC$<1>, cuf1=\E[C$<1>, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM, - cvvis=\E[34l\E[?25h, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J$<8*>, el=\E[K$<1>, el1=\E[1K$<1>, - enacs=\E)0, flash=\E[?5h$<30/>\E[?5l, home=\E[H, - hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, il=\E[%p1%dL, - il1=\E[L, ind=\n$<1>, invis=\E[8m, - is2=\E7\E[1r\E8\E[2;3;4;13;20;34;39;36l\E[12;16;34h\E[?1;3;4;5;10;18l\E[?7;8;25h\E>\E[?5W\E(B\017\E[4i, - kbs=^H, kcbt=\E[z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, - kcuu1=\EOA, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf17=\E[K, kf18=\E[31~, kf19=\E[32~, kf2=\EOQ, - kf20=\E[33~, kf21=\E[34~, kf22=\E[35~, kf23=\E[1~, - kf24=\E[2~, kf3=\EOR, kf4=\EOS, kf5=\E[M, kf6=\E[17~, - kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, ll=\E[24E, mc0=\E[?19h, - mc4=\E[4i, mc5=\E[5i, nel=\EE, prot=\E[1"q, rc=\E8, - rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, - rmkx=\E[?1l, rmso=\E[27m, rmul=\E[24m, - rs2=\E[61"p\E[40h\E[?6l\E[1r\E[2;3;4;13;20;34;39;36l\E[12;16;34h\E[?1;3;4;5;10;18l\E[?7;8;25h\E>\E[?5W\E(B\017\E[24E\E[4i, - sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%O%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m\E[%?%p8%t1%;"q%?%p9%t\016%e\017%;, - sgr0=\E[m\017\E["q, smacs=^N, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h, smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd, - -# This is the american terminal. Here tabs work fine. -# From: Francesco Potorti` , 24 Aug 1998 -wy99a-ansi|Wyse WY-99GT in ansi mode (US PC keyboard), - hts=\EH, is3=\E[?5l, rs3=\E[?5l, tbc=\E[3g, use=wy99-ansi, - -# This terminal (firmware version 02) has a lot of bugs: -# - can't set tabs; -# - other bugs in ANSI modes (see above). -# This description disables handshaking when using cup. This is because -# GNU emacs doesn't like Xon-Xoff handshaking. This means the terminal -# cannot be used at speeds greater than 9600 baud, because at greater -# speeds handshaking is needed even for character sending. If you use -# DTR handshaking, you can use even greater speeds. -# From: Francesco Potorti` , 24 Aug 1998 -wy99f|wy99fgt|wy-99fgt|Wyse WY-99GT (int'l PC keyboard), - am, bw, hs, km, mc5i, mir, msgr, xon, - cols#80, it#8, lines#25, wsl#46, - acsc='x+y.wi~_vj(k'l&m%n)o9q*s8t-u.v\,w+x=, bel=^G, - blink=\EG2, cbt=\EI, civis=\E`0, clear=\E'\E(\032, - cnorm=\E`4\E`1, cr=^M, cub1=^H, cud1=\Ej, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - cvvis=\E`2\E`1, dch1=\EW, dim=\EGp, dl1=\ER, dsl=\EF\r, - ed=\EY$<8*>, el=\ET$<8>, enacs=\Ec@1J$<2000>, - flash=\E\^1$<30/>\E\^0, fsl=^M, home=^^, ht=^I, il1=\EE, - ind=^J, invis=\EG3, - is2=\Eu\Ee6\EC\EDF\Ec21\Ec31\Ec62\Ec72\Ee;\016\E'\EeL\E`9\E\^0\E`1\E`4\Ee.\E`\:\Ee1\EG0\E(\Ed/\Ee4\Ed*\EO\E`I\Er\Ee"\EcD\024, - ka1=^^, ka3=\EJ, kbs=^H, kc1=\ET, kc3=\EK, kcbt=\EI, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, kf1=^A@\r, kf10=^AI\r, - kf11=^AJ\r, kf12=^AK\r, kf13=^A`\r, kf14=^Aa\r, kf15=^Ab\r, - kf16=^Ac\r, kf17=^Ad\r, kf18=^Ae\r, kf19=^Af\r, kf2=^AA\r, - kf20=^Ag\r, kf21=^Ah\r, kf22=^Ai\r, kf23=^Aj\r, kf24=^Ak\r, - kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, kprt=\EP, mc0=\EP, mc4=^T, mc5=\Ed#, - nel=^_, prot=\E), rev=\EG4, ri=\Ej, rmacs=\EcD, rmam=\Ed., - rmcup=\Ec21\Ec31, rmir=\Er, rmso=\EG0, rmxon=\Ec20\Ec30, - rs2=\Eu\E~4\Ee6\EC\EDF\Ec21\Ec31\Ec62\Ec72\Ee;\016\E'\EeL\E`9\E\^0\E`1\E`4\Ee.\E`\:\Ee)\Ew\EwG\Ew0\Ee1\EG0\E(\Ed/\Ee4\Ed*\EO\E`I\Er\Ee"\Ec@0B\EcD\024, - sgr=\E(\EG%{48}%?%p1%p3%O%t%{4}%+%;%?%p2%t%{8}%+%;%?%p4%t%{2}%+%;%?%p5%t%{64}%+%;%?%p7%t%{1}%+%;%c%?%p8%t\E)%;%?%p9%t\EcE%e\EcD%;, - sgr0=\E(\EG0, smacs=\EcE, smam=\Ed/, smcup=\Ec20\Ec30, - smir=\Eq, smso=\EG4, smxon=\Ec21\Ec31, tsl=\EF, - -# This is the american terminal. Here tabs work. -# From: Francesco Potorti` , 24 Aug 1998 -wy99fa|wy99fgta|wy-99fgta|Wyse WY-99GT (US PC keyboard), - hts=\E1, tbc=\E0, use=wy99f, - -# -# The Wyse 160 is combination of the WY-60 and the WY-99gt. -# The reset strings are slow and the pad times very depending -# on other parameters such as font loading. I have tried -# to follow the following outline: -# -# -> set personality -# -> set number of columns -# -> set number of lines -# -> select the proper font -# -> do the initialization -# -> set up display memory (2 pages) -# -# The display memory may be used for either text or graphics. -# When "Display Memory = Shared" the terminal will have more pages -# but garbage may be left on the screen when you switch from -# graphics to text. If "Display Memory = Unshared" then the -# text area will be only one page long. -# -# (wy160: we use \E{ rather than ^^ for home (both are documented) to avoid -# a bug reported by Robert Dunn, -- esr) -wy160|wyse160|Wyse 160, - am, bw, hs, km, mc5i, mir, msgr, - cols#80, lh#1, lines#24, lw#8, nlab#8, wsl#38, - acsc=+/\,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~, - bel=^G, blink=\EG2, cbt=\EI, civis=\E`0, clear=\E+$<30>, - cnorm=\E`1, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW$<5>, - dclk=\E`b, dim=\EGp, dl1=\ER$<1>, dsl=\EF\r, ed=\EY$<30>, - el=\ET$<5>, flash=\E`8$<100/>\E`9, fsl=^M, home=\E{, ht=^I, - hts=\E1, il1=\EE$<1>, ind=\n$<1>, ip=$<2>, is1=\EcB0\EcC1, - is2=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El, - is3=\Ew0$<100>, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, - kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, - kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r, - kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, - kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ, - kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=\E{^K, - mc0=\EP, mc4=^T, mc5=\Ed#, nel=\r\n$<1>, - pfloc=\EZ2%p1%{63}%+%c%p2%s\177, - pfx=\EZ1%p1%{63}%+%c%p2%s\177, - pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<1>, - rmacs=\EcD, rmam=\Ed., rmclk=\E`c, rmcup=\Ew0, rmir=\Er, - rmln=\EA11, rmxon=\Ec20, rs1=\E~!\E~4$<70>, - rs2=\E`\:$<100>, rs3=\EwG\Ee($<140>, - sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c, - sgr0=\E(\EH\003\EG0\EcD, smacs=\EcE, smam=\Ed/, - smcup=\Ew1, smir=\Eq, smln=\EA10, smso=\EGt, smxon=\Ec21, - tbc=\E0, tsl=\EF, use=adm+sgr, -# -wy160-w|wyse160-w|wyse 160 132-column, - cols#132, lw#7, nlab#16, wsl#90, - cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<9>, - rs2=\EeF$<150>\E`;$<150>, use=wy160, -# -wy160-25|wyse160-25|wyse 160 80-column 25-lines, - lh@, lines#25, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<200>, use=wy160, -wy160-25-w|wyse160-25-w|wyse 160 132-column 25-lines, - lh@, lines#25, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<200>, use=wy160-w, -# -wy160-42|wyse160-42|wyse 160 80-column 42-lines, - lines#42, - clear=\E+$<50>, dl1=\ER$<2>, ed=\Ey$<50>, il1=\EE$<2>, - ind=\n$<2>, is1=\EcB2\EcC3, nel=\r\n$<2>, ri=\Ej$<2>, - rs3=\Ee*$<150>, use=wy160, -wy160-42-w|wyse160-42-w|wyse 160 132-column 42-lines, - cols#132, lw#7, nlab#16, wsl#90, - cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<8>, ip=$<3>, - rs2=\EeF$<150>\E`;$<150>, use=wy160-42, -# -wy160-43|wyse160-43|wyse 160 80-column 43-lines, - lh@, lines#43, lw@, nlab@, - pln@, rs3=\Ee+$<150>, use=wy160-42, -wy160-43-w|wyse160-43-w|wyse 160 132-column 43-lines, - lh@, lines#43, lw@, nlab@, - pln@, rs3=\Ee+$<150>, use=wy160-42-w, -# -wy160-vb|wyse160-vb|Wyse 160 visible bell, - bel@, use=wy160, -wy160-w-vb|wy160-wvb|wyse160-wvb|Wyse 160 132-column visible bell, - bel@, use=wy160-w, -# -# The Wyse 75 is a vt100 lookalike without advanced video. -# -# The Wyse 75 can support one attribute (e.g. Dim, Inverse, -# Underline) without magic cookies. The following description -# uses this capability, but when more than one attribute is -# put on the screen at once, all attributes will be changed -# to be the same as the last attribute given. -# The Wyse 75 can support more attributes when used with magic -# cookies. The wy75-mc terminal description uses magic cookies -# to correctly handle multiple attributes on a screen. -# -wy75|wyse75|wyse 75, - am, hs, mc5i, mir, msgr, xenl, xon, - cols#80, lines#24, ma#1, pb#1201, wsl#78, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, cbt=\E[Z, civis=\E[?25l, clear=\E[H\E[J$<30>, - cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr$<2>, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP$<3*>, - dch1=\E[P$<3>, dim=\E[0t\E[2m, dl=\E[%p1%dM$<1*>, - dl1=\E[M, dsl=\E[>\,\001\001\E[>-\001\001, - ech=\E[%p1%dX, ed=\E[J$<30>, el=\E[K$<3>, el1=\E[1K$<3>, - enacs=\E)0, flash=\E[30h\E\,\E[30l$<250>, fsl=^A, - home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, - ich=\E[%p1%d@$<1*>, il=\E[%p1%dL$<2*>, il1=\E[L$<2>, - ind=\n$<2>, ip=$<1>, - is1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h, - is2=\E>\E(B\E)0\017, is3=\E[m, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdl1=\E[M, kel=\E[K, - kf1=\E[?5i, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, - kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, - kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[?3i, - kf20=\E[34~, kf21=\E[35~, kf3=\E[2i, kf4=\E[@, kf5=\E[M, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, - khlp=\E[28~, khome=\E[H, kich1=\E[@, kil1=\E[L, knp=\E[6~, - kpp=\E[5~, kprt=\E[?5i, kslt=\E[4~, mc0=\E[0i, mc4=\E[4i, - mc5=\E[5i, rc=\E8, rev=\E[1t\E[7m, ri=\EM$<2>, rmacs=^O, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[m, rmul=\E[m, - rs1=\E[13l\E[3l\E!p, rs2=\E[35h\E[?3l$<80>, rs3=\E[?5l, - sc=\E7, - sgr=%?%p5%t\E[0t%;%?%p3%p1%|%t\E[1t%;%?%p2%t\E[2t%;%?%p4%t\E[3t%;%?%p1%p2%p3%p4%p5%|%|%|%|%t\E[7m%e\E[m%;%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1l\E[?7h\E=, smso=\E[1t\E[7m, smul=\E[2t\E[4m, - tbc=\E[3g, tsl=\E[>\,\001, use=vt220+keypad, -# -# This terminal description uses the non-hidden attribute mode -# (with magic cookie). -# -wy75-mc|wyse75-mc|wyse 75 with magic cookies, - msgr@, - ma@, xmc#1, - blink=\E[2p, dim=\E[1p, invis=\E[4p, is3=\E[m\E[p, - rev=\E[16p, rmacs=\E[0p\017, rmso=\E[0p, rmul=\E[0p, - sgr=\E[%{0}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{16}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{1}%|%;%?%p7%t%{4}%|%;%dp%?%p9%t\016%e\017%;, - sgr0=\E[0p\017, smacs=\E[0p\016, smso=\E[17p, smul=\E[8p, - use=wy75, -wy75-vb|wyse75-vb|wyse 75 with visible bell, - pb@, - bel@, use=wy75, -wy75-w|wyse75-w|wyse 75 in 132 column mode, - cols#132, wsl#130, - rs2=\E[35h\E[?3h$<80>, use=wy75, -wy75-wvb|wyse75-wvb|wyse 75 with visible bell 132 columns, - pb@, - bel@, use=wy75-w, -# -# Wyse 85 emulating a vt220 7 bit mode. -# 24 line screen with status line. -# -# The vt220 mode permits more function keys but it wipes out -# the escape key. I strongly recommend that be set to -# escape (esc). -# The terminal may have to be set for 8 data bits and 2 stop -# bits for the arrow keys to work. -# The Wyse 85 runs faster with XON/XOFF enabled. Also the -# and work best when XON/XOFF is set. and -# leave trash on the screen when used without XON/XOFF. -# -wy85|wyse85|wyse 85, - am, hs, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J$<110>, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<1>, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP$<3*>, dch1=\E[P$<3>, dim=\E[2m, - dl=\E[%p1%dM$<3*>, dl1=\E[M$<3>, dsl=\E[40l, - ech=\E[%p1%dX, ed=\E[J$<110>, el=\E[K$<1>, el1=\E[1K, - enacs=\E)0, flash=\E[30h\E\,\E[30l$<300>, - fsl=\E[1;24r\E8, home=\E[H, ht=\011$<1>, hts=\EH, - ich=\E[%p1%d@$<4*>, il=\E[%p1%dL$<5*>, il1=\E[L$<5>, - ind=\n$<3>, invis=\E[8m, ip=$<3>, is1=\E[62;1"p\E[?5W, - is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h$<16>, - is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, - kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, - kf19=\E[33~, kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, - khome=\E[26~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, - mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM$<3>, - rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[m, - rmul=\E[m, rs1=\E[13l\E[3l\E!p, rs2=\E[35h\E[?3l$<70>, - rs3=\E[?5l, sc=\E7, - sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[40h\E7\E[25;%i%p1%dH, use=vt220+keypad, -# -# Wyse 85 with visual bell. -wy85-vb|wyse85-vb|wyse 85 with visible bell, - bel@, flash=\E[30h\E\,\E[30l$<300>, use=wy85, -# -# Wyse 85 in 132-column mode. -wy85-w|wyse85-w|wyse 85 in 132-column mode, - cols#132, wsl#132, - rs2=\E[35h\E[?3h$<70>, use=wy85, -# -# Wyse 85 in 132-column mode with visual bell. -wy85-wvb|wyse85-wvb|wyse 85 with visible bell 132-columns, - bel@, use=wy85-w, - -# From: Kevin Turner , 12 Jul 1998 -# This copes with an apparent firmware bug in the wy85. He writes: -# "What I did was change leave the terminal cursor keys set to Normal -# (instead of application), and change \E[ to \233 for all the keys in -# terminfo. At one point, I found some reference indicating that this -# terminal bug (not sending \E[) was acknowledged by Wyse (so it's not just -# me), but I can't find that and the server under my bookmark to "Wyse -# Technical" isn't responding. So there's the question of wether the wy85 -# terminfo should reflect the manufactuer's intended behaviour of the terminal -# or the actual." -wy85-8bit|wyse85-8bit|wyse 85 in 8-bit mode, - am, hs, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J$<110>, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<1>, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP$<3*>, dch1=\E[P$<3>, dim=\E[2m, - dl=\E[%p1%dM$<3*>, dl1=\E[M$<3>, dsl=\E[40l, - ech=\E[%p1%dX, ed=\E[J$<110>, el=\E[K$<1>, el1=\E[1K, - enacs=\E)0, flash=\E[30h\E\,\E[30l$<300>, - fsl=\E[1;24r\E8, home=\E[H, ht=\011$<1>, hts=\EH, - ich=\E[%p1%d@$<4*>, il=\E[%p1%dL$<5*>, il1=\E[L$<5>, - ind=\n$<3>, invis=\E[8m, ip=$<3>, is1=\E[62;1"p\E[?5W, - is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h$<16>, - is3=\E>\E(B\E)0\017\E[m, ka1=\EOw, ka3=\EOy, kb2=\EOu, - kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\233D, kcud1=\233B, - kcuf1=\233C, kcuu1=\233A, kdch1=\2333~, kent=\EOM, - kf1=\EOP, kf10=\23321~, kf11=\23323~, kf12=\23324~, - kf13=\23325~, kf14=\23326~, kf15=\23328~, kf16=\23329~, - kf17=\23331~, kf18=\23332~, kf19=\23333~, kf2=\EOQ, - kf20=\23334~, kf3=\EOR, kf4=\EOS, kf6=\23317~, kf7=\23318~, - kf8=\23319~, kf9=\23320~, kfnd=\2331~, khlp=\23328~, - khome=\23326~, kich1=\2332~, knp=\2336~, kpp=\2335~, - kslt=\2334~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, - mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM$<3>, - rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[m, - rmul=\E[m, rs1=\E[13l\E[3l\E!p, rs2=\E[35h\E[?3l$<70>, - rs3=\E[?5l, sc=\E7, - sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;+m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[40h\E7\E[25;%i%p1%dH, -# -# Wyse 185 emulating a vt320 7 bit mode. -# -# This terminal always displays 25 lines. These lines may be used -# as 24 data lines and a terminal status line (top or bottom) or -# 25 data lines. The 48 and 50 line modes change the page size -# and not the number of lines on the screen. -# -# The Compose Character key can be used as a meta key if changed -# by set-up. -# -wy185|wyse185|wyse 185, - am, hs, km, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J$<40>, cnorm=\E[34h\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr$<20>, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?25h\E[34l, dch=\E[%p1%dP$<3>, dch1=\E[P$<3>, - dim=\E[2m, dl=\E[%p1%dM$<2*>, dl1=\E[M$<2>, - dsl=\E7\E[99;0H\E[K\E8, ech=\E[%p1%dX, ed=\E[J$<40>, - el=\E[K, el1=\E[1K, enacs=\E)0, - flash=\E[30h\E\,\E[30l$<100>, fsl=\E[1;24r\E8, - home=\E[H, hpa=\E[%i%p1%d`, ht=^I, hts=\EH, - ich=\E[%p1%d@$<2>, il=\E[%p1%dL$<3*>, il1=\E[L$<3>, - ind=\n$<2>, invis=\E[8m, ip=$<4>, is1=\E[?5W, - is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h, - is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcbt=\E[Z, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, - kf4=\EOS, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - kfnd=\E[1~, khlp=\E[28~, khome=\E[26~, kich1=\E[2~, - knp=\E[6~, kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, - lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, - ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, rmcup=\E[ R, rmir=\E[4l, - rmkx=\E>, rmso=\E[27m, rmul=\E[24m, - rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p, rs2=\E[35h\E[?3l, - rs3=\E[?5l\E[47h\E[40l\E[r, sc=\E7, - sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[ Q, - smir=\E[4h, smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, tsl=\E7\E[99;%i%p1%dH, vpa=\E[%i%p1%dd, - use=vt220+keypad, -# -# Wyse 185 with 24 data lines and top status (terminal status) -wy185-24|wyse185-24|wyse 185 with 24 data lines, - hs@, - dsl@, fsl@, rs3=\E[?5l\E[47h\E[40l\E[1;24r, tsl@, - use=wy185, -# -# Wyse 185 with visual bell. -wy185-vb|wyse185-vb|wyse 185+flash, - bel@, use=wy185, -# -# Wyse 185 in 132-column mode. -wy185-w|wyse185-w|wyse 185 in 132-column mode, - cols#132, wsl#132, - dch=\E[%p1%dP$<7>, dch1=\E[P$<7>, ich=\E[%p1%d@$<7>, - ip=$<7>, rs2=\E[35h\E[?3h, use=wy185, -# -# Wyse 185 in 132-column mode with visual bell. -wy185-wvb|wyse185-wvb|wyse 185+flash+132 cols, - bel@, use=wy185-w, - -# wy325 terminfo entries -# Done by Joe H. Davis 3-9-92 - -# lines 25 columns 80 -# -wy325|wyse325|Wyse epc, - am, bw, hs, mc5i, mir, - cols#80, lh#1, lines#24, lw#8, nlab#8, pb#9601, wsl#45, - acsc=+/\,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~, - bel=^G, blink=\EG2, cbt=\EI, civis=\E`0, clear=\E+$<50>, - cnorm=\E`1, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW$<7>, - dim=\EGp, dl1=\ER$<3>, dsl=\EF\r, ed=\EY$<50>, el=\ET$<4>, - flash=\E`8$<100/>\E`9, fsl=^M, home=^^, ht=^I, hts=\E1, - il1=\EE$<3>, ind=\n$<3>, ip=$<2>, is1=\EcB0\EcC1, - is2=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El, - is3=\Ew0$<16>, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, - kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, - kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r, - kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, - kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\Eq, - kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=^^^K, - mc0=\EP, mc4=^T, mc5=\Ed#, - pfloc=\EZ2%p1%{63}%+%c%p2%s\177, - pfx=\EZ1%p1%{63}%+%c%p2%s\177, - pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<2>, - rmacs=\EcD, rmam=\Ed., rmcup=\Ew0, rmir=\Er, rmln=\EA11, - rs1=\E~!\E~4$<30>, rs2=\EeF\E`\:$<70>, - rs3=\EwG\Ee($<100>, - sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c, - sgr0=\E(\EH\003\EG0\EcD, smacs=\EcE, smam=\Ed/, - smcup=\Ew1, smir=\Eq, smln=\EA10, smso=\EGt, tbc=\E0, - tsl=\EF, use=adm+sgr, - -# -# lines 24 columns 80 vb -# -wy325-vb|wyse325-vb|wyse-325 with visual bell, - bel@, use=wy325, - -# -# lines 24 columns 132 -# -wy325-w|wyse325-w|wy325w-24|wyse-325 in wide mode, - cols#132, lw#7, nlab#16, wsl#97, - cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<12>, ip=$<4>, - rs2=\E`;$<70>, use=wy325, -# -# lines 25 columns 80 -# -wy325-25|wyse325-25|wy325-80|wyse-325|wyse-325 25 lines, - lh@, lines#25, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<100>, use=wy325, -# -# lines 25 columns 132 -# -wy325-25w|wyse325-25w|wy325 132 columns, - lh@, lines#25, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<100>, use=wy325-w, -# -# lines 25 columns 132 vb -# -wy325-w-vb|wy325-wvb|wyse325-wvb|wyse-325 wide mode reverse video, - bel@, use=wy325-w, - -# -# lines 42 columns 80 -# -wy325-42|wyse325-42|wyse-325 42 lines, - lh@, lines#42, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<100>, use=wy325, -# -# lines 42 columns 132 -# -wy325-42w|wyse325-42w|wyse-325 42 lines wide mode, - lh@, lines#42, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<100>, use=wy325-w, -# -# lines 42 columns 132 vb -# -wy325-42w-vb|wy325-42wvb|wyse-325 42 lines wide mode visual bell, - bel@, use=wy325-w, -# -# lines 43 columns 80 -# -wy325-43|wyse325-43|wyse-325 43 lines, - lh@, lines#43, lw@, nlab@, - pln@, use=wy325, -# -# lines 43 columns 132 -# -wy325-43w|wyse325-43w|wyse-325 43 lines wide mode, - lh@, lines#43, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<100>, use=wy325-w, -# -# lines 43 columns 132 vb -# -wy325-43w-vb|wy325-43wvb|wyse-325 43 lines wide mode visual bell, - bel@, use=wy325-w, - -# Wyse 370 -- 24 line screen with status line. -# -# The terminal may have to be set for 8 data bits and 2 stop -# bits for the arrow keys to work. -# -# If you change keyboards the terminal will send different -# escape sequences. -# The following definition is for the basic terminal without -# function keys. -# -# -> enter Tektronix 4010/4014 mode -# -> exit Tektronix 4010/4014 mode -# -> enter ASCII mode (from any ANSI mode) -# -> exit ASCII mode (goto native ANSI mode) -# -> enter Tek 4207 ANSI mode (from any ANSI mode) -# -> exit Tek 4207 mode (goto native ANSI mode) -# -# Bug: The capability resets attributes. -wy370-nk|wyse 370 without function keys, - am, ccc, hs, mc5i, mir, msgr, xenl, xon, - colors#64, cols#80, it#8, lines#24, ncv#48, pairs#64, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J$<40>, cnorm=\E[34h\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<1>, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?25h\E[34l, dch=\E[%p1%dP$<1*>, dch1=\E[P$<1>, - dclk=\E[31h, dim=\E[2m, dl=\E[%p1%dM$<2*>, dl1=\E[M$<2>, - dsl=\E[40l, ech=\E[%p1%dX$<.1*>, ed=\E[J$<40>, - el=\E[K$<10>, el1=\E[1K$<12>, enacs=\E)0, - flash=\E[30h\E\,\E[30l$<300>, fsl=\E[1;24r\E8, - home=\E[H, hpa=\E[%i%p1%d`, ht=\011$<1>, hts=\EH, - ich=\E[%p1%d@$<1*>, il=\E[%p1%dL$<2*>, il1=\E[L$<2>, - ind=\n$<2>, - initc=\E[66;%p1%d;%?%p2%{250}%<%t%{0}%e%p2%{500}%<%t%{16}%e%p2%{750}%<%t%{32}%e%{48}%;%?%p3%{250}%<%t%{0}%e%p3%{500}%<%t%{4}%e%p3%{750}%<%t%{8}%e%{12}%;%?%p4%{250}%<%t%{0}%e%p4%{500}%<%t%{1}%e%p4%{750}%<%t%{2}%e%{3}%;%{1}%+%+%+%dw, - invis=\E[8m, ip=$<1>, is1=\E[90;1"p\E[?5W$<6>, - is2=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h, - is3=\E>\017\E)0\E(B\E[63;0w\E[m, mc0=\E[0i, mc4=\E[4i, - mc5=\E[5i, - oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w, - op=\E[m, rc=\E8, rev=\E[7m, ri=\EM$<2>, rmacs=^O, - rmam=\E[?7l, rmclk=\E[31l, rmcup=\E[ R, rmir=\E[4l, - rmkx=\E>, rmso=\E[27m, rmul=\E[24m, - rs1=\E[13l\E[3l\E!p\E[?4i, rs2=\E[35h\E[?3l$<8>, - rs3=\E[?5l, sc=\E7, setb=\E[62;%p1%dw, setf=\E[61;%p1%dw, - sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[ Q, - smir=\E[4h, smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, tsl=\E[40l\E[40h\E7\E[99;%i%p1%dH, - u0=\E[?38h\E8, u1=\E[?38l\E)0, u2=\E[92;52"p, u3=\E~B, - u4=\E[92;76"p, u5=\E%!1\E[90;1"p, vpa=\E[%i%p1%dd, -# -# Function key set for the ASCII (wy-50 compatible) keyboard -# This is the default 370. -# -wy370|wyse370|wy370-101k|Wyse 370 with 101 key keyboard, - kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kdch1=\EOQ, kdl1=\EOQ, kent=\EOM, kf1=\E[?4i, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf2=\E[?3i, - kf3=\E[2i, kf4=\E[@, kf5=\E[M, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, khome=\E[H, kich1=\EOP, kil1=\EOP, - knp=\E[U, kpp=\E[V, use=wy370-nk, -# -# Function key set for the VT-320 (and wy85) compatible keyboard -# -wy370-105k|Wyse 370 with 105 key keyboard, - kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, - kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, - kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, - khlp=\E[28~, khome=\E[26~, kich1=\E[2~, knp=\E[6~, - kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, - use=wy370-nk, use=vt220+keypad, -# -# Function key set for the PC compatible keyboard -# -wy370-EPC|Wyse 370 with 102 key keyboard, - kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kend=\E[1~, kent=\EOM, kf1=\EOP, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, - kf5=\E[M, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[H, kich1=\E[2~, knp=\E[U, kpp=\E[V, use=wy370-nk, -# -# Wyse 370 with visual bell. -wy370-vb|Wyse 370 with visible bell, - bel@, use=wy370, -# -# Wyse 370 in 132-column mode. -wy370-w|Wyse 370 in 132-column mode, - cols#132, wsl#132, - rs2=\E[35h\E[?3h$<70>, use=wy370, -# -# Wyse 370 in 132-column mode with visual bell. -wy370-wvb|Wyse 370 with visible bell 132-columns, - flash=\E[30h\E\,\E[30l$<300>, use=wy370-w, -wy370-rv|Wyse 370 reverse video, - rs3=\E[32h\E[?5h, use=wy370, -# -# Wyse 99gt Tektronix 4010/4014 emulator, -# -wy99gt-tek|Wyse 99gt Tektronix 4010/4014 emulator, - am, os, - cols#74, lines#35, - bel=^G, clear=\E^L, cr=^M, cub1=^H, cud1=^J, cuf1=\s, - cup=\035%{3040}%{89}%p1%*%-%Py%p2%{55}%*%Px%gy%{128}%/%{31}%&%{32}%+%c%gy%{3}%&%{4}%*%gx%{3}%&%+%{96}%+%c%gy%{004}%/%{31}%&%{96}%+%c%gx%{128}%/%{31}%&%{32}%+%c%gx%{004}%/%{31}%&%{64}%+%c\037, - cuu1=^K, ff=^L, - hd=\036HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\037, - home=^]7`x @\037, - hu=\036DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\037, - is2=\E8, nel=^M^J, u0=\E~>\E8, u1=\E[42h, -# -# Wyse 160 Tektronix 4010/4014 emulator, -# -wy160-tek|Wyse 160 Tektronix 4010/4014 emulator, - cup=\035%{3103}%{91}%p1%*%-%Py%p2%{55}%*%Px%gy%{128}%/%{31}%&%{32}%+%c%gy%{3}%&%{4}%*%gx%{3}%&%+%{96}%+%c%gy%{004}%/%{31}%&%{96}%+%c%gx%{128}%/%{31}%&%{32}%+%c%gx%{004}%/%{31}%&%{64}%+%c\037, - home=^]8`g @\037, use=wy99gt-tek, -# -# Wyse 370 Tektronix 4010/4014 emulator, -# -wy370-tek|Wyse 370 Tektronix 4010/4014 emulator, - am, os, - cols#80, lines#36, - bel=^G, clear=\E^L, cr=^M, cub1=^H, cud1=^J, cuf1=\s, - cup=\035%{775}%{108}%p1%*%{5}%/%-%Py%p2%{64}%*%{4}%+%{5}%/%Px%gy%{32}%/%{31}%&%{32}%+%c%gy%{31}%&%{96}%+%c%gx%{32}%/%{31}%&%{32}%+%c%gx%{31}%&%{64}%+%c\037, - cuu1=^K, ff=^L, - hd=\036HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\037, - home=^]8g @\037, - hu=\036DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\037, - is2=\E8, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^I, kcuu1=^K, - nel=^M^J, u0=\E[?38h\E8, u1=\E[?38l\E)0, - -# Vendor-supplied Wyse entries end here. - -# -#TITLE: TERMINFO ENTRY WY520 -#DATE: 8/5/93 -# The WY520 terminfo is based on the WY285 entry published on the WYSE -# BBS with the addition of more function keys and special keys. -# -# rs1 -> set personality -# rs2 -> set number of columns -# rs3 -> set number of lines -# is1 -> select the proper font -# is2 -> do the initialization -# is3 -> If this string is empty then rs3 gets sent. -# -# Wyse 520 emulating a vt420 7 bit mode with default ANSI keyboard -# - The BS key is programmed to generate BS in smcup since -# is2 doesn't seem to work. -# - Remove and shift/Remove: delete a character -# - Insert : enter insert mode -# - Find : delete to end of file -# - Select : clear a line -# - F11, F12, F13: send default sequences (not ESC, BS, LF) -# - F14 : Home key -# - Bottom status line (host writable line) is used. -# - smkx,rmkx are removed because this would put the numeric -# keypad in Dec application mode which doesn't seem to work -# with SCO applications. -# -wy520|wyse520|wyse 520, - am, hs, km, mc5i, mir, xenl, xon, - cols#80, it#8, lines#24, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J$<40>, cnorm=\E[34h\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr$<20>, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?25h\E[34l, dch=\E[%p1%dP$<3>, dch1=\E[P$<30>, - dim=\E[2m, dl=\E[%p1%dM$<2*>, dl1=\E[M$<2>, dsl=\E[0$~, - ech=\E[%p1%dX, ed=\E[J$<40>, el=\E[K, el1=\E[1K, - enacs=\E)0, fsl=\E[0$}, home=\E[H, hpa=\E[%i%p1%d`, ht=^I, - hts=\EH, ich=\E[%p1%d@$<2>, il=\E[%p1%dL$<3*>, - il1=\E[L$<3>, ind=\n$<2>, invis=\E[8m, ip=$<4>, is1=\E[?5W, - is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25;67h, - is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcbt=\E[Z, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, ked=\E[1~, - kel=\E[4~, kent=\EOM, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, - kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, khome=\E[26~, - kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, lf1=PF1, - lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, - rc=\E8, rev=\E[7m, ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, - rmcup=\E[ R, rmir=\E[4l, rmso=\E[m, rmul=\E[24m, - rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p, rs2=\E[35h\E[?3l, - rs3=\E[?5l\E[47h\E[40l\E[r, sc=\E7, - sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, - smcup=\E[ Q\E[?67;8h, smir=\E[4h, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, tsl=\E[2$~\E[1$}\E[%i%p1%d`, - vpa=\E[%i%p1%dd, use=vt220+keypad, -# -# Wyse 520 with 24 data lines and status (terminal status) -wy520-24|wyse520-24|wyse 520 with 24 data lines, - hs@, - dsl@, fsl@, rs3=\E[?5l\E[47h\E[40l\E[1;24r, tsl@, - use=wy520, -# -# Wyse 520 with visual bell. -wy520-vb|wyse520-vb|wyse 520 with visible bell, - flash=\E[30h\E\,\E[30l$<100>, use=wy520, -# -# Wyse 520 in 132-column mode. -wy520-w|wyse520-w|wyse 520 in 132-column mode, - cols#132, wsl#132, - dch=\E[%p1%dP$<7>, dch1=\E[P$<7>, ich=\E[%p1%d@$<7>, - ip=$<7>, rs2=\E[35h\E[?3h, use=wy520, -# -# Wyse 520 in 132-column mode with visual bell. -wy520-wvb|wyse520-wvb|wyse 520 with visible bell 132-columns, - flash=\E[30h\E\,\E[30l$<100>, use=wy520-w, -# -# -# Wyse 520 emulating a vt420 7 bit mode. -# The DEL key is programmed to generate BS in is2. -# With EPC keyboard. -# - 'End' key will clear till end of line on EPC keyboard -# - Shift/End : ignored. -# - Insert : enter insert mode. -# - Delete : delete a character (have to change interrupt character -# to CTRL-C: stty intr '^c') for it to work since the -# Delete key sends 7FH. -wy520-epc|wyse520-epc|wyse 520 with EPC keyboard, - kdch1=\177, kel=\E[4~, kend=\E[4~, kf0=\E[21~, kf1=\E[11~, - kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, khome=\E[H, - use=wy520, -# -# Wyse 520 with 24 data lines and status (terminal status) -# with EPC keyboard. -wy520-epc-24|wyse520-pc-24|wyse 520 with 24 data lines and EPC keyboard, - hs@, - dsl@, fsl@, rs3=\E[?5l\E[47h\E[40l\E[1;24r, tsl@, - use=wy520-epc, -# -# Wyse 520 with visual bell. -wy520-epc-vb|wyse520-pc-vb|wyse 520 with visible bell and EPC keyboard, - flash=\E[30h\E\,\E[30l$<100>, use=wy520-epc, -# -# Wyse 520 in 132-column mode. -wy520-epc-w|wyse520-epc-w|wyse 520 in 132-column mode with EPC keyboard, - cols#132, wsl#132, - dch=\E[%p1%dP$<7>, dch1=\E[P$<7>, ich=\E[%p1%d@$<7>, - ip=$<7>, rs2=\E[35h\E[?3h, use=wy520-epc, -# -# Wyse 520 in 132-column mode with visual bell. -wy520-epc-wvb|wyse520-p-wvb|wyse 520 with visible bell 132-columns and EPC keyboard, - flash=\E[30h\E\,\E[30l$<100>, use=wy520-epc-w, -# -# Wyse 520 in 80-column, 36 lines -wy520-36|wyse520-36|wyse 520 with 36 data lines, - hs@, - lines#36, - dsl@, fsl@, rs3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r, tsl@, - use=wy520, -# -# Wyse 520 in 80-column, 48 lines -wy520-48|wyse520-48|wyse 520 with 48 data lines, - hs@, - lines#48, - dsl@, fsl@, rs3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r, tsl@, - use=wy520, -# -# Wyse 520 in 132-column, 36 lines -wy520-36w|wyse520-36w|wyse 520 with 132 columns and 36 data lines, - cols#132, wsl#132, - rs2=\E[?3h, - rs3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r\E[132$|, - use=wy520-36, -# -# Wyse 520 in 132-column, 48 lines -wy520-48w|wyse520-48w|wyse 520 with 48 data lines, - cols#132, wsl#132, - rs2=\E[?3h, - rs3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r\E[132$|, - use=wy520-48, -# -# -# Wyse 520 in 80-column, 36 lines with EPC keyboard -wy520-36pc|wyse520-36pc|wyse 520 with 36 data lines and EPC keyboard, - hs@, - lines#36, - dsl@, fsl@, rs3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r, tsl@, - use=wy520-epc, -# -# Wyse 520 in 80-column, 48 lines with EPC keyboard -wy520-48pc|wyse520-48pc|wyse 520 with 48 data lines and EPC keyboard, - hs@, - lines#48, - dsl@, fsl@, rs3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r, tsl@, - use=wy520-epc, -# -# Wyse 520 in 132-column, 36 lines with EPC keyboard -wy520-36wpc|wyse520-36wpc|wyse 520 with 36 data lines and EPC keyboard, - cols#132, wsl#132, - rs2=\E[?3h, - rs3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r\E[132$|, - use=wy520-36pc, -# -# Wyse 520 in 132-column, 48 lines with EPC keyboard -wy520-48wpc|wyse520-48wpc|wyse 520 with 48 data lines and EPC keyboard, - cols#132, wsl#132, - rs2=\E[?3h, - rs3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r\E[132$|, - use=wy520-48pc, - -# From: John Gilmore -# (wyse-vp: removed , there's no such -# file and we don't know what is -- esr) -wyse-vp|Wyse 50 in ADDS Viewpoint emulation mode with "enhance" on, - OTbs, am, - cols#80, it#8, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^F, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, dch1=\EW, - dl1=\El, ed=\Ek, el=\EK, home=^A, ht=^I, il1=\EM, ind=^J, - is2=\E`\:\E`9\017\Er, kbs=^H, kcub1=^U, kcud1=^J, kcuf1=^F, - kcuu1=^Z, khome=^A, ll=^A^Z, nel=^M^J, rmir=\Er, rmso=^O, - rmul=^O, rs1=\E`\:\E`9\017\Er, sgr0=^O, smir=\Eq, smso=^N, - smul=^N, - -wy75ap|wyse75ap|wy-75ap|wyse-75ap|Wyse WY-75 Applications and Cursor keypad, - is2=\E[1;24r\E[?10;3l\E[?1;25h\E[4l\E[m\E(B\E=, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - khome=\EOH, rmkx=\E[?1l\E>$<10/>, smkx=\E[?1h\E=$<10/>, - use=wy75, - -# From: Eric Freudenthal -wy100q|Wyse 100 for Quotron, - OTbs, - cols#80, lines#24, xmc#1, - cbt=\EI, clear=^Z, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET, home=^^, il1=\EE, invis@, - is2=\E`\:\0\EC\EDF\E0\E'\E(\EA21, kcub1=^H, kcud1=^J, - kcuf1=^L, kcuu1=^K, ri=\Ej, rmir=\Er, smir=\Eq, use=adm+sgr, - -#### Kermit terminal emulations -# -# Obsolete Kermit versions may be listed in the section describing obsolete -# non-ANSI terminal emulators later in the file. -# - -# KERMIT standard all versions. -# Straight ascii keyboard. :sr=\EI: not avail. many versions + bug prone in vi. -# (kermit: removed obsolete ":ma=^Hh^Jj^Kk^Ll^^H:" -- esr) -# From: greg small 9-25-84 -kermit|standard kermit, - OTbs, - cols#80, lines#24, - clear=\EE, cub1=^H, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, - el=\EK, home=\EH, is2=K0 Standard Kermit 9-25-84\n, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, -kermit-am|standard kermit plus auto-margin, - am, - is2=K1 Standard Kermit plus Automatic Margins\n, - use=kermit, -# IBMPC Kermit 1.2. -# Bugs: , : do not work except at beginning of line! does -# not work, but fake with :cl=\EH\EJ (since :cd=\EJ: works at beginning of -# line). -# From: greg small 8-30-84 -pckermit|pckermit12|UCB IBMPC Kermit 1.2, - am, - lines#25, - clear=\EH\EJ, ed@, el@, - is2=K2 UCB IBMPC Kermit 1.2 8-30-84\n, use=kermit, -# IBMPC Kermit 1.20 -# Cannot use line 25, now acts funny like ansi special scrolling region. -# Initialization must escape from that region by cursor position to line 24. -# Cannot use character insert because 1.20 goes crazy if insert at col 80. -# Does not use :am: because autowrap is lost when kermit dropped and restarted. -# From: greg small 12-19-84 -pckermit120|UCB IBMPC Kermit 1.20, - it#8, lines#24, - cud1=\EB, cvvis=\EO\Eq\EEK3, dch1=\EN, dl1=\EM, ht=^I, - il1=\EL, - is2=\EO\Eq\EJ\EY7 K3 UCB IBMPC Kermit 1.20 12-19-84\n, - rmir@, rmso=\Eq, smir@, smso=\Ep, use=kermit, -# MS-DOS Kermit 2.27 for the IBMPC -# Straight ascii keyboard. :sr=\EI: not avail. many versions + bug prone in vi. -# Cannot use line 25, now acts funny like ansi special scrolling region. -# Initialization must escape from that region by cursor position to line 24. -# Does not use am: because autowrap is lost when kermit dropped and restarted. -# Reverse video for standout like H19. -# (msk227: removed obsolete ":ma=^Hh^Jj^Kk^Ll^^H:" -- esr) -# From: greg small 3-17-85 -msk227|mskermit227|MS-DOS Kermit 2.27 for the IBMPC, - OTbs, am@, - cols#80, it#8, lines#24, - clear=\EE, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, - cvvis=\EO\Eq\EG\EwK4, dch1=\EN, dl1=\EM, ed=\EJ, el=\EK, - home=\EH, ht=^I, il1=\EL, - is2=\EO\Eq\EG\Ew\EJ\EY7 K4 MS Kermit 2.27 for the IBMPC 3-17-85\n, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, rc=\Ek, - rmir=\EO, rmso=\Eq, sc=\Ej, smir=\E@, smso=\Ep, -# MS-DOS Kermit 2.27 with automatic margins -# From: greg small 3-17-85 -msk227am|mskermit227am|UCB MS-DOS Kermit 2.27 with automatic margins, - am, - cvvis=\EO\Eq\EG\EvK5, - is2=\EO\Eq\EG\Ev\EJ\EY7 K5 MS Kermit 2.27 +automatic margins 3-17-85\n, - use=msk227, -# MS-DOS Kermit 2.27 UCB 227.14 for the IBM PC -# Automatic margins now default. Use ansi for highlights. -# Define function keys. -# (msk22714: removed obsolete ":kn#10:" -- esr) -# From: greg small 3-17-85 -msk22714|mskermit22714|UCB MS-DOS Kermit 2.27 UCB 227.14 IBM PC, - am, - bold=\E[1m, cvvis=\EO\Eq\EG\EvK6, - is2=\EO\Eq\EG\Ev\EJ\EY7 K6 MS Kermit 2.27 UCB 227.14 IBM PC 3-17-85\n, - kf0=\E0, kf1=\E1, kf2=\E2, kf3=\E3, kf4=\E4, kf5=\E5, kf6=\E6, - kf7=\E7, kf8=\E8, kf9=\E9, rev=\E[7m, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smso=\E[1m, smul=\E[4m, use=mskermit227, -# This was designed for a VT320 emulator, but it is probably a good start -# at support for the VT320 itself. -# Please send changes with explanations to bug-gnu-emacs@prep.ai.mit.edu. -# (vt320-k3: I added / based on the init string -- esr) -vt320-k3|MS-Kermit 3.00's vt320 emulation, - am, eslok, hs, km, mir, msgr, xenl, - cols#80, it#8, lines#49, pb#9600, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[J, cmdch=\E, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - dsl=\E[0$~, ech=\E[%p1%dX, ed=\E[J, el=\E[K, - flash=\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l, - fsl=\E[0$}, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, - ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J, - is2=\E>\E F\E[?1l\E[?7h\E[r\E[2$~, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdl1=\E[3~, kf0=\E[21~, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~, - kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kich1=\E[2~, knp=\E[6~, - kpp=\E[5~, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, nel=^M^J, rc=\E8, - rev=\E[7m, ri=\EM, rin=\E[%p1%dL, rmacs=\E(B, rmam=\E[?7l, - rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, - rs1=\E(B\E)B\E>\E F\E[4;20l\E[12h\E[?1;5;6;38;42l\E[?7;25h\E[4i\E[?4i\E[m\E[r\E[2$~, - sc=\E7, sgr0=\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[1$}\r\E[K, vpa=\E[%i%p1%dd, -# From: Joseph Gil 13 Dec 1991 -# ACS capabilities from Philippe De Muyter 30 May 1996 -# (I removed a bogus boolean :mo: and added , , -- esr) -vt320-k311|dec vt320 series as defined by kermit 3.11, - am, eslok, hs, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[;H\E[2J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - dsl=\E[2$~\r\E[1$}\E[K\E[$}, ed=\E[J, el=\E[K, - flash=\E[?5h\E[?5l, fsl=\E[$}, home=\E[H, ht=^I, hts=\EH, - ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L$<3/>, ind=\ED, - is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~, - kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, lf1=pf1, lf2=pf2, - lf3=pf3, lf4=pf4, nel=^M\ED, rc=\E8, rev=\E[7m, - rf=/usr/share/tabset/vt100, ri=\EM, rmacs=^O, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, - rmul=\E[24m, rs1=\E[?3l, sc=\E7, sgr0=\E[m, smacs=^N, - smam=\E[?7h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, tsl=\E[2$~\E[1$}\E[1;%dH, - -######## NON-ANSI TERMINAL EMULATIONS -# - -#### Avatar -# -# These entries attempt to describe Avatar, a terminal emulation used with -# MS-DOS bulletin-board systems. It was designed to give ANSI-like -# capabilities, but with cheaper (shorter) control sequences. Messy design, -# excessively dependent on PC idiosyncracies, but apparently rather popular -# in the BBS world. -# -# No color support. Avatar doesn't fit either of the Tektronix or HP color -# models that terminfo knows about. An Avatar color attribute is the -# low 7 bits of the IBM-PC display-memory attribute. Bletch. -# -# I wrote these entries while looking at the Avatar spec. I don't have -# the facilities to test them. Let me know if they work, or don't. -# -# Avatar escapes not used by these entries (because maybe you're smarter -# and more motivated than I am and can figure out how to wrap terminfo -# around some of them, and because they are weird enough to be funny): -# level 0: -# ^L -- clear window/reset current attribute to default -# ^V^A%p1%c -- set current color attribute, parameter decodes as follows: -# -# bit: 6 5 4 3 2 1 0 -# | | | | | -# +---+---+ | +---+---+ -# | | | -# | | foreground color -# | foreground intensity -# background color -# level 0+: -# ^V^J%p1%c%p2%c%p3%c%p4%c%p5%c -- scroll (p2,p3) to (p4,p5) up by p1 lines -# ^V^K%p1%c%p2%c%p3%c%p4%c%p5%c -- scroll (p2,p3) to (p4,p5) down by p1 lines -# ^V^L%p1%c%p2%c%p3%c -- clear p2 lines and p3 cols w/attr %p1 -# ^V^M%p1%c%p2%c%p3%c%p4%c -- fill p3 lines & p4 cols w/char p2+attr %p1 -# (^V^L and ^V^M set the current attribute as a side-effect.) -# ^V ^Y [...] -- repeat pattern. specifies the number of bytes -# in the pattern, the number of times the pattern -# should be repeated. If either value is 0, no-op. -# The pattern can contain Avatar console codes, -# including other ^V ^Y patterns. -# level 1: -# ^V^O -- clockwise mode on; turn print direction right each time you -# hit a window edge (yes, really). Turned off by CR -# ^V^P -- no-op -# ^V^Q%c -- query the driver -# ^V^R -- driver reset -# ^V^S -- Sound tone (PC-specific) -# ^V^T -- change highlight at current cursor poition to %c -# ^V^U%p1%c%p2%c -- highlight window with attribute -# ^V^V%p1%c%p2%c%p3%c%p4%c%p5%c -# -- define window -# -# From: Eric S. Raymond 1 Nov 1995 -# (The ///// capabilities exist only to -# tell ncurses that the corresponding highlights exist; it should use , -# which is the only method that will actually work for multiple highlights.) -# -# Update by TD - 2004: half of this was inconsistent. Found documentation -# and repaired most of the damage. sgr0 is probably incorrect, but the -# available documentation gives no clues for a workable string. -avatar0|avatar terminal emulator level 0, - am, bce, msgr, - cols#80, it#8, lines#25, - blink=^V^B, bold=^V^A^P, cr=^M, cub1=^V^E, cud1=^V^D, - cuf1=^V^F, cup=\026\010%p1%c%p2%c, cuu1=^V^C, el=^V^G, - ind=^J, invis=^V^A\0, rep=\031%p1%c%p2%c, rev=^V^Ap, - rmacs@, rs2=^L, - sgr=%?%p1%p2%|%p3%|%p6%|%p7%|%t\026\001%?%p7%t%{128}%e%{0}%?%p1%t%{112}%|%;%?%p2%t%{1}%|%;%?%p3%t%{112}%|%;%?%p6%t%{16}%|%;%;%c%;%?%p4%t\026\002%;, - sgr0=^V^A^G, smacs@, smso=^V^Ap, smul=^V^A^A, - use=klone+acs, -# From: Eric S. Raymond 1 Nov 1995 -avatar0+|avatar terminal emulator level 0+, - dch1=^V^N, rmir=\026\n\0\0\0\0, smir=^V^I, use=avatar0, -# From: Eric S. Raymond 1 Nov 1995 -avatar|avatar1|avatar terminal emulator level 1, - civis=^V'^B, cnorm=^V'^A, cvvis=^V^C, dl1=^V-, il1=^V+, - rmam=^V", rmir=^V^P, smam=^V$, use=avatar0+, - -#### RBcomm -# -# RBComm is a lean and mean terminal emulator written by the Interrupt List -# maintainer, Ralf Brown. It was fairly popular in the late DOS years (early -# '90s), especially in the BBS world, and still has some loyal users due to -# its very small memory footprint and to a cute macro language. -rbcomm|IBM PC with RBcomm and EMACS keybindings, - am, bw, mir, msgr, xenl, - cols#80, it#8, lines#25, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=^L, cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=^C, cuf1=^B, - cup=\037%p2%{32}%+%c%p1%{32}%+%c, cuu1=^^, dch1=^W, - dl=\E[%p1%dM, dl1=^Z, ech=\E[%p1%dX, ed=^F5, el=^P^P, ht=^I, - il=\E[%p1%dL, il1=^K, ind=\ED, invis=\E[8m, - is2=\017\035\E(B\E)0\E[?7h\E[?3l\E[>8g, kbs=^H, - kcub1=^B, kcud1=^N, kcuf1=^F, kcuu1=^P, khome=^A, nel=^M\ED, - rc=\E8, rep=\030%p1%c%p2%c, rev=^R, ri=\EM, rmcup=, rmdc=, - rmir=^], rmkx=\E>, rmso=^U, rmul=^U, - rs1=\017\E(B\E)0\025\E[?3l\E[>8g, sc=\E7, sgr0=\E[m, - smcup=, smdc=, smir=^\, smkx=\E=, smso=^R, smul=^T, -rbcomm-nam|IBM PC with RBcomm without autowrap, - am@, - bel=^G, cr=^M, cud1=^J, ht=^I, ind=^J, - is2=\017\035\E(B\E)0\E[?7l\E[?3l\E[>8g, kbs=^H, - kcub1=^H, kcud1=^J, nel=^M^J, use=rbcomm, -rbcomm-w|IBM PC with RBcomm in 132 column mode, - cols#132, - bel=^G, cr=^M, cud1=^J, ht=^I, ind=^J, - is2=\017\035\E(B\E)0\E[?7h\E[?3h\E[>8g, kbs=^H, - kcub1=^H, kcud1=^J, nel=^M^J, use=rbcomm, - -######## LCD DISPLAYS -# - -#### Matrix Orbital -# from: Eric Z. Ayers (eric@ale.org) -# -# Matrix Orbital 20x4 LCD display -# Command Character is 0xFE (decimal 254, octal 376) -# -# On this device, cursor addressability isn't possible. The LCD expects: -# 0xfe G -# for cup: %p1 == row and %p2 is column -# -# This line: -# cup=\376G%p2%c%p1%c -# LOOKS like it will work, but sometimes only one of the two numbers is sent. -# See the terminfo (5) manpage commented regarding 'Terminals which use "%c"'. -# -# Alas, there is no cursor upline capability on this display. -# -# These entries add some 'sanity stuff' to the clear function. That is, it -# does a 'clear' and also turns OFF auto scroll, turns ON Auto Line Wrapping, -# and turns off the cursor blinking and stuff like that. -# -# NOTE: calling 'beep' turns on the backlight (bell) -# NOTE: calling 'flash' turns it on and back off (visual bell) -# -MtxOrb| Generic Matrix Orbital LCD display, - bel=\376B^A, clear=\376X\376C\376R\376K\376T, - cnorm=\376K\376T, cub1=\376L, cuf1=\376M, - flash=\376B\001$<200>\376F, home=\376H, -MtxOrb204| 20x4 Matrix Orbital LCD display, - cols#20, lines#4, use=MtxOrb, -MtxOrb162| 16x2 Matrix Orbital LCD display, - cols#16, lines#2, use=MtxOrb, -# The end - -######## OLDER TERMINAL TYPES -# -# This section is devoted to older commercial terminal brands that are now -# discontinued, but known to be still in use or represented by emulations. -# - -#### AT&T (att, tty) -# -# This section also includes Teletype-branded VDTs. -# -# The AT&T/Teletype terminals group was sold to SunRiver Data Systems (now -# Boundless Technologies); for details, see the header comment on the ADDS -# section. -# -# These are AT&T's official terminfo entries. All-caps aliases have been -# removed. -# -att2300|sv80|AT&T 2300 Video Information Terminal 80 column mode, - am, eo, mir, msgr, xon, - cols#80, it#8, lines#24, - bel=^G, clear=\E[H\E[J, cr=^M, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, el1=\E[1K, home=\E[H, ht=^I, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcbt=\E[Z, kclr=\E[J, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, - kdl1=\E[M, kf1=\E[1r, kf10=\E[10r, kf11=\E[11r, - kf12=\E[12r, kf13=\E[13r, kf14=\E[14r, kf15=\E[15r, - kf16=\E[16r, kf2=\E[2r, kf3=\E[3r, kf4=\E[4r, kf5=\E[5r, - kf6=\E[6r, kf7=\E[7r, kf8=\E[8r, kf9=\E[9r, khome=\E[H, - kich1=\E[@, kil1=\E[L, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, - rev=\E[7m, rmir=\E[4l, rmso=\E[m, sgr0=\E[m, smir=\E[4h, - smso=\E[7m, -att2350|AT&T 2350 Video Information Terminal 80 column mode, - mc0@, mc4@, mc5@, use=att2300, - -# Must setup RETURN KEY - CR, REC'VD LF - INDEX. -# Seems upward compatible with vt100, plus ins/del line/char. -# On sgr, the protection parameter is ignored. -# No check is made to make sure that only 3 parameters are output. -# standout= reverse + half-intensity = 3 | 5. -# bold= reverse + underline = 2 | 3. -# note that half-bright blinking doesn't look different from normal blinking. -# NOTE:you must program the function keys first, label second! -# (att4410: a BSD entry has been seen with the following capabilities: -# , , , , , -# , , , -- esr) -att5410v1|att4410v1|tty5410v1|AT&T 4410/5410 80 columns - version 1, - am, hs, mir, msgr, xon, - cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80, - acsc=++\,\,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[2;7m, clear=\E[H\E[J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dim=\E[2m, - dl1=\E[M, ed=\E[J, el=\E[K, fsl=\E8, home=\E[H, ht=^I, - ich1=\E[@, il1=\E[L, ind=^J, invis=\E[8m, is1=\E[?3l\E)0, - is3=\E[1;03q f1 \EOP\E[2;03q f2 \EOQ\E[3;03q f3 \EOR\E[4;03q f4 \EOS\E[5;03q f5 \EOT\E[6;03q f6 \EOU\E[7;03q f7 \EOV\E[8;03q f8 \EOW, - kbs=^H, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, - kf6=\EOU, kf7=\EOV, kf8=\EOW, khome=\E[H, kll=\E[24;1H, - ll=\E[24H, nel=^M^J, - pfx=\E[%p1%1d;%p2%l%2.2dq f%p1%1d %p2%s, - pln=\E[%p1%d;00q%p2%:-16s, rc=\E8, rev=\E[7m, ri=\EM, - rmacs=^O, rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y, - sc=\E7, - sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smso=\E[7m, smul=\E[4m, - tsl=\E7\E[25;%p1%{1}%+%dH, - -att4410v1-w|att5410v1-w|tty5410v1-w|AT&T 4410/5410 132 columns - version 1, - cols#132, wsl#132, - is1=\E[?3h\E)0, rs2=\Ec\E[?3h\E[2;0y, use=att5410v1, - -att4410|att5410|tty5410|AT&T 4410/5410 80 columns - version 2, - OTbs, - pfx=\E[%p1%d;%p2%l%02dq f%p1%d %p2%s, - use=att5410v1, - -att5410-w|att4410-w|4410-w|tty5410-w|5410-w|AT&T 4410/5410 in 132 column mode, - cols#132, wsl#132, - is1=\E[?3h\E)0, rs2=\Ec\E[?3h\E[2;0y, use=att4410, - -# 5410 in terms of a vt100 -# (v5410: added / based on init string -- esr) -v5410|att5410 in terms of a vt100, - am, mir, msgr, xon, - cols#80, it#8, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=^J, cuf1=\E[C$<2>, - cup=\E[%i%p1%d;%p2%dH$<5>, cuu1=\E[A$<2>, dch1=\E[P, - dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>, - enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ich1=\E[@, - il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, - kcuu1=\EOA, rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, - rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m$<2>, - rmul=\E[m$<2>, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>, - sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, - smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, - use=vt100+fnkeys, - -# -# Teletype Model 5420 -- A souped up 5410, with multiple windows, -# even! the 5420 has three modes: scroll, window or page mode -# this terminfo should work in scroll or window mode, but doesn't -# take advantage of any of the differences between them. -# -# Has memory below (2 lines!) -# 3 pages of memory (plus some spare) -# The 5410 sequences for , , ,

, , , , -# , would work for these, but these work in both scroll and window -# mode... Unset insert character so insert mode works -# sets 80 column mode, -# escape sequence: -# 1) turn off all fonts -# 2) function keys off, keyboard lock off, control display off, -# insert mode off, erasure mode off, -# 3) full duplex, monitor mode off, send graphics off, nl on lf off -# 4) reset origin mode -# 5) set line wraparound -# 6) exit erasure mode, positional attribute mode, and erasure extent mode -# 7) clear margins -# 8) program ENTER to transmit ^J, -# We use \212 to program the ^J because a bare ^J will get translated by -# UNIX into a CR/LF. The enter key is needed for AT&T uOMS. -# 1 2 3 4 5 6 7 8 -# set screen color to black, -# No representation in terminfo for the delete word key: kdw1=\Ed -# Key capabilities assume the power-up send sequence... -# This is not strictly necessary, but it helps maximize -# memory usefulness: , -# Alternate sgr0: , -# Alternate sgr: , -# smkx programs the SYS PF keys to send a set sequence. -# It also sets up labels f1, f2, ..., f8, and sends edit keys. -# This string causes them to send the strings - -# when pressed in SYS PF mode. -# (att4415: I added / based on the init string -- esr) -att4415|tty5420|att5420|AT&T 4415/5420 80 cols, - OTbs, db, mir, xon, - lh#2, lm#78, lw#8, nlab#8, wsl#55, - cbt=\E[Z, clear=\E[x\E[J, cnorm=\E[11;0j, cub=\E[%p1%dD, - cud=\E[%p1%dB, cuf=\E[%p1%dC, cup=\E[%i%p1%d;%p2%dx, - cuu=\E[%p1%dA, cvvis=\E[11;1j, dch=\E[%p1%dP, - dl=\E[%p1%dM, ech=\E[%p1%ds\E[%p1%dD, - flash=\E[?5h$<200>\E[?5l, home=\E[x, - hpa=\E[%p1%{1}%+%dG, hts=\EH, ich=\E[%p1%d@, ich1@, - il=\E[%p1%dL, indn=\E[%p1%dE, is1=\E[?3l$<100>, - is2=\E[m\017\E[1;2;3;4;6l\E[12;13;14;20l\E[?6;97;99l\E[?7h\E[4i\Ex\E[21;1j\212, - is3=\E[?5l, kbeg=\Et, kcbt=\E[Z, kdch1=\E[P, kdl1=\E[M, - kel=\E[2K, kend=\Ez, kent=\Eent, kf1=\EOc, kf2=\EOd, - kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, - kich1=\E[4h, kil1=\E[L, kind=\E[T, kll=\Eu, knp=\E[U, - kpp=\E[V, kri=\E[S, lf1=F1, lf2=F2, lf3=F3, lf4=F4, lf5=F5, - lf6=F6, lf7=F7, lf8=F8, ll=\Ew, mc0=\E[?2i, mc4=\E[?9i, - mc5=\E[?4i, mrcup=\E[%i%p1%d;%p2%dt, - pfx=\E[%p1%d;%p2%l%02dq F%p1%d %p2%s, - pln=\E[%p1%d;0;0;0q%p2%:-16.16s, prot=\EV, - rin=\E[%p1%dF, rmam=\E[?7l, rmir=\E[4l, - rmkx=\E[19;0j\E[21;1j\212, rmln=\E|, - sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smam=\E[?7h, smir=\E[4h, - smkx=\E[19;1j\E[21;4j\Eent, smln=\E~, tbc=\E[3g, - tsl=\E7\E[25;%p1%{8}%+%dH, vpa=\E[%p1%{1}%+%dd, - use=att4410, - -att4415-w|tty5420-w|att5420-w|AT&T 4415/5420 132 cols, - cols#132, lm#54, wsl#97, - is1=\E[?3h$<100>, use=att4415, - -att4415-rv|tty5420-rv|att5420-rv|AT&T 4415/5420 80 cols/rv, - flash=\E[?5l$<200>\E[?5h, is3=\E[?5h, use=att4415, - -att4415-w-rv|tty5420-w-rv|att5420-w-rv|AT&T 4415/5420 132 cols/rv, - cols#132, lm#54, wsl#97, - flash=\E[?5l$<200>\E[?5h, is1=\E[?3h$<100>, is3=\E[?5h, - use=att4415, - -# Note that this mode permits programming USER PF KEYS and labels -# However, when you program user pf labels you have to reselect -# user pf keys to make them appear! -att4415+nl|tty5420+nl|att5420+nl|generic AT&T 4415/5420 changes for not changing labels, - kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, - pfx=\E[%p1%d;%p2%l%02d;0;1q F%p1%d %p2%s, - pln=\E[%p1%d;0;0;1q%p2%:-16.16s, - -att4415-nl|tty5420-nl|att5420-nl|AT&T 4415/5420 without changing labels, - kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, use=att4415+nl, - use=att4415, - -att4415-rv-nl|tty5420-rv-nl|att5420-rv-nl|AT&T 4415/5420 reverse video without changing labels, - kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, use=att4415+nl, - use=att4415-rv, - -att4415-w-nl|tty5420-w-nl|att5420-w-nl|AT&T 4415/5420 132 cols without changing labels, - kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, use=att4415+nl, - use=att4415-w, - -att4415-w-rv-n|tty5420-w-rv-n|att5420-w-rv-n|AT&T 4415/5420 132 cols reverse without changing labels, - kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, use=att4415+nl, - use=att4415-w-rv, - -att5420_2|AT&T 5420 model 2 80 cols, - am, db, hs, mir, msgr, xon, - cols#80, it#8, lh#2, lines#24, lm#78, lw#8, nlab#8, wsl#55, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - blink=\E[5m, cbt=\E[1Z, clear=\EH\EJ, cnorm=\E[11;0j, - cr=\EG, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud1=\E[1B, cuf=\E[%p1%dC, cuf1=\E[1C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cvvis=\E[11;1j, - dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, - dl1=\E[M, ech=\E[%p1%ds\E[%p1%dD, ed=\E[0J, el=\E[0K, - el1=\E[1K, flash=\E[?5h$<200>\E[?5l, fsl=\E8, home=\E[H, - hpa=\E[%p1%{1}%+%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dE, - invis=\E[8m, - is1=\E[0;23r\Ex\Ey\E[2;0j\E[3;3j\E[4;0j\E[5;0j\E[6;0j\E[7;0j\E[8;0j\E[9;1j\E[10;0j\E[15;0j\E[16;1j\E[19;0j\E[20;1j\E[29;0j\E[1;24r, - kbeg=\Et, kbs=^H, kcbt=\E[Z, kclr=\E[2J, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[M, - kel=\E[2K, kend=\Ez, kent=^J, kf1=\EOc, kf2=\EOd, kf3=\EOe, - kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, khome=\E[H, - kich1=\E[4h, kil1=\E[L, kind=\E[T, kll=\Eu, knp=\E[U, - kpp=\E[V, kri=\E[S, lf1=F1, lf2=F2, lf3=F3, lf4=F4, lf5=F5, - lf6=F6, lf7=F7, lf8=F8, ll=\Ew, mc0=\E[?;2i, mc4=\E[4i, - mc5=\E[5i, mrcup=\E[%i%p1%d;%p2%dt, nel=^M^J, - pfx=\E[%p1%d;%p2%l%02dq F%p1%d %p2%s\E~, - pln=\E[%p1%d;0;0;0q%p2%:-16.16s\E~, prot=\EV, rc=\E8, - rev=\E[7m, ri=\EM, rin=\E[%p1%dF, rmacs=^O, rmkx=\E[19;0j, - rmln=\E|, rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y, - sc=\E7, - sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smkx=\E[19;1j, smln=\E~, - smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E7\E[25;%p1%{8}%+%dH, vpa=\E[%p1%{1}%+%dd, -att5420_2-w|AT&T 5420 model 2 in 132 column mode, - cols#132, - is1=\E[0;23r\Ex\Ey\E[2;0j\E[3;3j\E[4;0j\E[5;1j\E[6;0j\E[7;0j\E[8;0j\E[9;1j\E[10;0j\E[15;0j\E[16;1j\E[19;0j\E[20;1j\E[29;0j\E[1;24r, - use=att5420_2, - -att4418|att5418|AT&T 5418 80 cols, - am, xon, - cols#80, lines#24, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, clear=\E[H\E[2J, cr=^M, cub=\E[%p1%dD, - cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, el=\E[0K, home=\E[H, - ich=\E[%p1%d@, ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, ind=^J, - is1=\E[?3l, is2=\E)0\E?6l\E?5l, kclr=\E[%%, kcub1=\E@, - kcud1=\EU, kcuf1=\EA, kcuu1=\ES, kent=\E[, kf1=\E[h, - kf10=\E[m, kf11=\E[n, kf12=\E[o, kf13=\E[H, kf14=\E[I, - kf15=\E[J, kf18=\E[K, kf19=\E[L, kf2=\E[i, kf20=\E[E, - kf21=\E[_, kf22=\E[M, kf23=\E[N, kf24=\E[O, kf3=\E[j, - kf6=\E[k, kf7=\E[l, kf8=\E[f, kf9=\E[w, khome=\Ec, rc=\E8, - rev=\E[7m, rmacs=^O, rmso=\E[m, rmul=\E[m, sc=\E7, - sgr0=\E[m\017, smacs=^N, smso=\E[7m, smul=\E[4m, -att4418-w|att5418-w|AT&T 5418 132 cols, - cols#132, - is1=\E[?3h, use=att5418, - -att4420|tty4420|teletype 4420, - OTbs, da, db, eo, msgr, ul, xon, - cols#80, lines#24, lm#72, - bel=^G, clear=\EH\EJ, cr=\EG, cub1=\ED, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EP, - dl1=\EM, ed=\EJ, el=\Ez, home=\EH, il1=\EL, ind=\EH\EM\EY7\s, - kcbt=\EO, kclr=\EJ, kcub1=^H, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kdch1=\EP, kdl1=\EM, kf0=\EU, kf3=\E@, khome=\EH, - kich1=\E\^, kil1=\EL, kind=\ES, kri=\ET, - lf0=segment advance, lf3=cursor tab, rmdc@, rmso=\E~, - rmul=\EZ, smdc@, smso=\E}, smul=\E\\, - -# The following is a terminfo entry for the Teletype 4424 -# asynchronous keyboard-display terminal. It supports -# the vi editor. The terminal must be set up as follows, -# -# HIGHLIGHT DEFINITION 3-TONE -# DISPLAY FUNCTION GROUP III -# -# The second entry below provides limited (a la adm3a) -# operation under GROUP II. -# -# This must be used with DISPLAY FUNCTION GROUP I or III -# and HIGHLIGHT DEFINITION 3-TONE -# The terminal has either bold or blink, depending on options -# -# (att4424: commented out =\E[1m, we don't need bright locked on -- esr) -att4424|tty4424|teletype 4424, - OTbs, am, xon, - cols#80, lines#24, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E3, bold=\E3, cbt=\EO, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\EB, cuf=\E[%p1%dC, cuf1=\EC, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EA, - dch=\E[%p1%dP, dch1=\EP, dim=\EW, dl=\E[%p1%dM, dl1=\EM, - ed=\EJ, el=\Ez, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, - ich1=\E\^, il=\E[%p1%dL, il1=\EL, ind=^J, is2=\E[20l\E[?7h, - kbs=^H, kclr=\EJ, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, - khome=\E[H, nel=\EE, rev=\E}, ri=\ET, rmacs=\E(B, rmso=\E~, - rmul=\EZ, - sgr=\E[%?%p1%t7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p6%p4%|%t;5%;%?%p5%t;0%;m, - sgr0=\EX\E~\EZ\E4\E(B, smacs=\E(0, smso=\E}, smul=\E\\, - tbc=\EF, - -att4424-1|tty4424-1|teletype 4424 in display function group I, - kclr@, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome@, - use=att4424, - -# This entry is not one of AT&T's official ones, it was translated from the -# 4.4BSD termcap file. The highlight strings are different from att4424. -# I have no idea why this is -- older firmware version, maybe? -# The following two lines are the comment originally attached to the entry: -# This entry appears to avoid the top line - I have no idea why. -# From: jwb Wed Mar 31 13:25:09 1982 remote from ihuxp -att4424m|tty4424m|teletype 4424M, - am, da, db, mir, - cols#80, it#8, lines#23, - bel=^G, clear=\E[2;H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%2d;%p2%2dH\E[B, cuu1=\E[A, dch1=\EP, - dl1=\EM, el=\E[K, ht=^I, ich1=\E\^, il1=\EL, ind=^J, ip=$<2/>, - is2=\E[m\E[2;24r, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, khome=\E[H, nel=^M^J, ri=\ET, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smso=\E[7m, smul=\E[4m, - -# The Teletype 5425 is really version 2 of the Teletype 5420. It -# is quite similar, except for some minor differences. No page -# mode, for example, so all of the sequences used above have -# to change back to what's being used for the 5410. Many of the -# option settings have changed their numbering as well. -# -# This has been tested on a preliminary model. -# -# (att5425: added / based on the init string -- esr) -att5425|tty5425|att4425|AT&T 4425/5425, - am, da, db, hs, mir, msgr, xenl, xon, - cols#80, it#8, lh#2, lines#24, lm#78, lw#8, nlab#8, wsl#55, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[2;7m, cbt=\E[Z, - clear=\E[H\E[J, cnorm=\E[12;0j, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[12;1j, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%ds\E[%p1%dD, ed=\E[J, - el=\E[K, el1=\E[1K, enacs=\E(B\E)0, - flash=\E[?5h$<200>\E[?5l, fsl=\E8, home=\E[H, - hpa=\E[%p1%{1}%+%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dE, - invis=\E[8m, is1=\E<\E[?3l$<100>, - is2=\E[m\017\E[1;2;3;4;6l\E[12;13;14;20l\E[?6;97;99l\E[?7h\E[4i\Ex\E[25;1j\212, - is3=\E[?5l, kbeg=\Et, kbs=^H, kcbt=\E[Z, kclr=\E[J, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, - kdl1=\E[M, kel=\E[2K, kend=\Ez, kent=\Eent, kf1=\EOc, - kf2=\EOd, kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, - kf8=\EOj, khome=\E[H, kich1=\E[4h, kil1=\E[L, kind=\E[T, - kri=\E[S, ll=\E[24H, mc0=\E[?2i, mc4=\E[?9i, mc5=\E[?4i, - nel=^M^J, - pfx=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s, - pln=\E[%p1%d;0;0;0q%p2%:-16.16s, prot=\EV, rc=\E8, - rev=\E[7m, ri=\EM, rin=\E[%p1%dF, rmacs=^O, rmam=\E[?7l, - rmir=\E[4l, rmkx=\E[21;0j\E[25;1j\212, rmln=\E|, - rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y, sc=\E7, - sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, - smkx=\E[21;1j\E[25;4j\Eent\E~, smln=\E~, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, tsl=\E7\E[25;%p1%{8}%+%dH, - vpa=\E[%p1%{1}%+%dd, - -att5425-nl|tty5425-nl|att4425-nl|AT&T 4425/5425 80 columns no labels, - smkx=\E[21;1j\E[25;4j\Eent, use=att4425, - -att5425-w|att4425-w|tty5425-w|teletype 4425/5425 in 132 column mode, - cols#132, lm#54, wsl#97, - is1=\E[?3h$<100>, use=tty5425, - -# (att4426: his had bogus capabilities: :ri=\EM:, :ri=\E[1U:. -# I also added / -- esr) -att4426|tty4426|teletype 4426S, - am, da, db, xon, - cols#80, lines#24, lm#48, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, bold=\E[5m, clear=\E[H\E[2J\E[1U\E[H\E[2J\E[1V, - cr=^M, cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\EA, dch=\E[%p1%dP, dch1=\EP, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[0K, home=\E[H, - hpa=\E[%p1%dG, ht=^I, hts=\E1, ich=\E[%p1%d@, ich1=\E\^, - il=\E[%p1%dL, il1=\EL, ind=^J, indn=\E[%p1%dS, - is1=\Ec\E[?7h, is2=\E[m\E[1;24r, kbs=^H, kcbt=\EO, - kclr=\E[2J, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, - kf7=\EOV, kf8=\EOW, khome=\E[H, kll=\E[24;1H, ll=\E[24H, - nel=^M^J, rc=\E8, rev=\E[7m, ri=\ET, rin=\E[%p1%dT, - rmacs=\E(B, rmam=\E[?7l, rmso=\E[m, rmul=\E[m, - rs2=\Ec\E[?3l\E[2;0y, sc=\E7, sgr0=\E[m\E(B, smacs=\E(0, - smam=\E[?7h, smso=\E[5m, smul=\E[4m, tbc=\E[3g, - vpa=\E[%p1%dd, - -# Terminfo entry for the AT&T 510 A Personal Terminal -# Function keys 9 - 16 are available only after the -# screen labeled (soft keys/action blocks) are labeled. Function key -# 9 corresponds to the leftmost touch target on the screen, -# function key 16 corresponds to the rightmost. -# -# This entry is based on one done by Ernie Rice at Summit, NJ and -# changed by Anne Gallup, Skokie, IL, ttrdc!anne -att510a|bct510a|AT&T 510A Personal Terminal, - am, mir, msgr, xenl, xon, - cols#80, lh#2, lines#24, lw#7, nlab#8, - acsc=+g\,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[2;7m, cbt=\E[Z, - civis=\E[11;0|, clear=\E[H\E[J, cnorm=\E[11;3|, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[1B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[11;2|, dch=\E[%p1%dP, - dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, - el=\E[0K, el1=\E[1K, enacs=\E(B\E)1, ff=^L, home=\E[H, ht=^I, - hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, is1=\E(B\E)1\E[2l, - is3=\E[21;1|\212, kLFT=\E[u, kRIT=\E[v, kbs=^H, kcbt=\E[Z, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOm, - kf10=\EOd, kf11=\EOe, kf12=\EOf, kf13=\EOg, kf14=\EOh, - kf15=\EOi, kf16=\EOj, kf2=\EOV, kf3=\EOu, kf4=\ENj, kf5=\ENe, - kf6=\ENf, kf7=\ENh, kf8=\E[H, kf9=\EOc, kind=\E[S, kri=\E[T, - mc0=\E[0i, mc4=\E[?8i, mc5=\E[?4i, nel=\EE, - pln=\E[%p1%dp%p2%:-16s, rc=\E8, rev=\E[7m, ri=\EM, - rmacs=^O, rmkx=\E[19;0|, rmso=\E[m, rmul=\E[m, sc=\E7, - sgr=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smkx=\E[19;1|, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, - -# Terminfo entry for the AT&T 510 D Personal Terminal -# Function keys 9 through 16 are accessed by bringing up the -# system blocks. -# Function key 9 corresponds to the leftmost touch target on the screen, -# function key 16 corresponds to the rightmost. -# -# There are problems with soft key labeling. These are due to -# strangenesses in the native terminal that are impossible to -# describe in a terminfo. -att510d|bct510d|AT&T 510D Personal Terminal, - am, da, db, mir, msgr, xenl, xon, - cols#80, lh#2, lines#24, lm#48, lw#7, nlab#8, - acsc=+g\,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[2;7m, cbt=\E[Z, - clear=\E[H\E[J, cnorm=\E[11;3|, cr=^M, cub=\E[%p1%dD, - cub1=^H, cud=\E[%p1%dB, cud1=\E[1B, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, cvvis=\E[11;2|, dch=\E[%p1%dP, dch1=\E[P, - dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, el=\E[0K, - el1=\E[1K, enacs=\E(B\E)1, ff=^L, home=\E[H, - hpa=\E[%p1%{1}%+%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, - invis=\E[8m, is1=\E(B\E)1\E[5;0|, is3=\E[21;1|\212, - kLFT=\E[u, kRIT=\E[v, kbs=^H, kcbt=\E[Z, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOm, kf10=\EOd, - kf11=\EOe, kf12=\EOf, kf13=\EOg, kf14=\EOh, kf15=\EOi, - kf16=\EOj, kf2=\EOV, kf3=\EOu, kf4=\ENj, kf5=\ENe, kf6=\ENf, - kf7=\ENh, kf8=\E[H, kf9=\EOc, kind=\E[S, kri=\E[T, ll=\E#2, - mc0=\E[0i, mc4=\E[?8i, mc5=\E[?4i, mgc=\E\:, nel=\EE, - pln=\E[%p1%dp%p2%:-16s, rc=\E8, - rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM, - rin=\E[%p1%dT, rmacs=^O, rmir=\E[4l, rmkx=\E[19;0|, - rmln=\E<, rmso=\E[m, rmul=\E[m, rmxon=\E[29;1|, - rs2=\E[5;0|, sc=\E7, - sgr=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smgl=\E4, smgr=\E5, smir=\E[4h, - smkx=\E[19;1|, smln=\E?, smso=\E[7m, smul=\E[4m, - smxon=\E[29;0|, tbc=\E[3g, vpa=\E[%p1%{1}%+%dd, - -# (att500: I merged this with the att513 entry, att500 just used att513 -- esr) -att500|att513|AT&T 513 using page mode, - am, chts, mir, msgr, xenl, xon, - cols#80, lh#2, lines#24, lw#8, nlab#8, - acsc=+g\,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[2;7m, cbt=\E[Z, - clear=\E[H\E[J, cnorm=\E[11;0|, cr=^M, - csr=%i\E[%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[11;1|, dch=\E[%p1%dP, dch1=\E[P$<1>, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - enacs=\E(B\E)1, home=\E[H, hpa=\E[%p1%{1}%+%dG, ht=^I, - hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J, - indn=\E[%p1%dE, invis=\E[8m, - is1=\E?\E[3;3|\E[10;0|\E[21;1|\212\E[6;1|\E[1{\E[?99l, - kBEG=\ENB, kCAN=\EOW, kCMD=\EOU, kCPY=\END, kCRT=\EON, - kDC=\ENF, kDL=\ENE, kEND=\ENN, kEOL=\EOA, kEXT=\EOK, - kFND=\EOX, kHLP=\EOM, kHOM=\ENM, kIC=\ENJ, kLFT=\ENK, - kMOV=\ENC, kMSG=\EOL, kNXT=\ENH, kOPT=\EOR, kPRT=\EOZ, - kPRV=\ENG, kRDO=\EOT, kRES=\EOQ, kRIT=\ENL, kRPL=\EOY, - kSAV=\EOO, kSPD=\EOP, kUND=\EOS, kbeg=\E9, kbs=^H, kcan=\EOw, - kcbt=\E[Z, kclo=\EOV, kclr=\E[J, kcmd=\EOu, kcpy=\ENd, - kcrt=\EOn, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\ENf, kdl1=\ENe, kel=\EOa, kend=\E0, kent=\Eent, - kext=\EOk, kf1=\EOc, kf2=\EOd, kf3=\EOe, kf4=\EOf, kf5=\EOg, - kf6=\EOh, kf7=\EOi, kf8=\EOj, kfnd=\EOx, khlp=\EOm, - khome=\E[H, kich1=\ENj, kind=\E[S, kmov=\ENc, kmrk=\ENi, - kmsg=\EOl, knp=\E[U, knxt=\ENh, kopn=\EOv, kopt=\EOr, - kpp=\E[V, kprt=\EOz, kprv=\ENg, krdo=\EOt, kref=\EOb, - kres=\EOq, krfr=\ENa, kri=\E[T, krpl=\EOy, krst=\EOB, - ksav=\EOo, kslt=\ENI, kspd=\EOp, kund=\EOs, ll=\E#2, - mc0=\E[?98l\E[0i, mc4=\E[?98l\E[?8i, mc5=\E[?98l\E[?4i, - nel=\EE, - pfkey=\E[%p1%d;%p2%l%d;3;0p F%p1%d %p2%s, - pfloc=\E[%p1%d;%p2%l%d;2;0p F%p1%d %p2%s, - pfx=\E[%p1%d;%p2%l%d;1;0p F%p1%d %p2%s, - pln=\E[%p1%dp%p2%:-16s, rc=\E8, - rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM, - rin=\E[%p1%dF, rmacs=^O, rmir=\E[4l, - rmkx=\E[19;0|\E[21;1|\212, rmln=\E<, rmso=\E[m, - rmul=\E[m, - rs1=\E?\E[3;3|\E[10;0|\E[21;1|\212\E[6;1|\E[1{\E[?99l\E[2;0|\E[6;1|\E[8;0|\E[19;0|\E[1{\E[?99l, - rs2=\E[5;0|, sc=\E7, - sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smir=\E[4h, - smkx=\E[19;1|\E[21;4|\Eent, smln=\E?, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, vpa=\E[%p1%{1}%+%dd, - -# 01-07-88 -# printer must be set to EMUL ANSI to accept ESC codes -# stops at top margin -# sets cpi 10,lpi 6,form 66,left 1,right 132,top 1,bottom 66,font -# and alt font ascii,wrap on,tabs cleared -# disables newline on LF,Emphasized off -# The capability sets form length -att5310|att5320|AT&T Model 53210 or 5320 matrix printer, - xhpa, xvpa, - bufsz#8192, cols#132, cps#120, it#8, lines#66, orc#10, - orhi#100, orl#12, orvi#72, - cpi=%?%p1%{10}%=%t\E[w%e%p1%{12}%=%t\E[2w%e%p1%{5}%=%t\E[5w%e%p1%{13}%=%p1%{14}%=%O%t\E[3w%e%p1%{16}%=%p1%{17}%=%O%t\E[4w%e%p1%{6}%=%t\E[6w%e%p1%{7}%=%t\E[7w%e%p1%{8}%=%t\E[8w%;, - cr=^M, - csnm=%?%p1%{0}%=%tusascii%e%p1%{1}%=%tenglish%e%p1%{2}%=%tfinnish%e%p1%{3}%=%tjapanese%e%p1%{4}%=%tnorwegian%e%p1%{5}%=%tswedish%e%p1%{6}%=%tgermanic%e%p1%{7}%=%tfrench%e%p1%{8}%=%tcanadian_french%e%p1%{9}%=%titalian%e%p1%{10}%=%tspanish%e%p1%{11}%=%tline%e%p1%{12}%=%tsecurity%e%p1%{13}%=%tebcdic%e%p1%{14}%=%tapl%e%p1%{15}%=%tmosaic%;, - cud=\E[%p1%de, cud1=^J, cuf=\E[%p1%da, cuf1=\s, cuu1=\EM, - ff=^L, hpa=\E[%p1%d`, ht=^I, is1=\Ec, is2=\E[20l\r, - lpi=%?%p1%{2}%=%t\E[4z%e%p1%{3}%=%t\E[5z%e%p1%{4}%=%t\E[6z%e%p1%{6}%=%t\E[z%e%p1%{8}%=%t\E[2z%e%p1%{12}%=%t\E[3z%;, - rshm=\E[m, - scs=%?%p1%{0}%=%t\E(B%e%p1%{1}%=%t\E(A%e%p1%{2}%=%t\E(C%e%p1%{3}%=%t\E(D%e%p1%{4}%=%t\E(E%e%p1%{5}%=%t\E(H%e%p1%{6}%=%t\E(K%e%p1%{7}%=%t\E(R%e%p1%{8}%=%t\E(Q%e%p1%{9}%=%t\E(Y%e%p1%{10}%=%t\E(Z%e%p1%{11}%=%t\E(0%e%p1%{12}%=%t\E(1%e%p1%{13}%=%t\E(3%e%p1%{14}%=%t\E(8%e%p1%{15}%=%t\E(}%;, - smgbp=\E[;%p1%dr, smglp=\E[%{1}%p1%+%ds, - smgrp=\E[;%{1}%p1%+%ds, smgtp=\E[%p1%dr, sshm=\E[5m, - u0=\E[%p1%dt, vpa=\E[%p1%dd, - -# Teletype 5620, firmware version 1.1 (8;7;3) or earlier from BRL -# The following SET-UP modes are assumed for normal operation: -# CR_DEF=CR NL_DEF=INDEX DUPLEX=FULL -# Other SET-UP modes may be set for operator convenience or communication -# requirements. This termcap description is for the Resident Terminal Mode. -# No delays specified; use "stty ixon -ixany" to enable DC3/DC1 flow control! -# The BRL entry also said: UNSAFE :ll=\E[70H: -att5620-1|tty5620-1|dmd1|Teletype 5620 with old ROMs, - am, xon, - cols#88, it#8, lines#70, vt#3, - bel=^G, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP, - dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, - home=\E[H, ht=^I, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, - il1=\E[L, ind=^J, indn=\E[%p1%dS, kbs=^H, kclr=\E[2J, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, - kll=\E[70;1H, nel=^M^J, rc=\E8, ri=\E[T, rin=\E[%p1%dT, - rs1=\Ec, sc=\E7, - -# 5620 terminfo (2.0 or later ROMS with char attributes) -# The following SET-UP modes are assumed for normal operation: -# DUPLEX=FULL GEN_FLOW=ON NEWLINE=INDEX RETURN=CR -# Other SET-UP modes may be set for operator convenience or communication -# requirements. This termcap description is for Resident Terminal Mode. No -# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control! -# assumptions: (scroll forward one line) is only done at screen bottom -# Be aware that older versions of the dmd have a firmware bug that affects -# parameter defaulting; for this terminal, the 0 in \E[0m is not optional. -# is from an otherwise inferior BRL for this terminal. That entry -# also has =\E[70H commented out and marked unsafe. -# For more, see the 5620 FAQ maintained by David Breneman . -att5620|dmd|tty5620|ttydmd|5620|5620 terminal 88 columns, - OTbs, am, msgr, npc, xon, - cols#88, it#8, lines#70, - bel=^G, bold=\E[2m, clear=\E[H\E[J, cr=^M, cub1=^H, - cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S, - indn=\E[%p1%dS, kbs=^H, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, kll=\E[70;1H, nel=^J, - pfx=\E[%p1%d;%p2%l%dq%p2%s, rc=\E8, rev=\E[7m, ri=\E[T, - rin=\E[%p1%dT, rmso=\E[0m, rmul=\E[0m, rs1=\Ec, sc=\E7, - sgr0=\E[0m, smso=\E[7m, smul=\E[4m, -att5620-24|tty5620-24|dmd-24|teletype dmd 5620 in a 24x80 layer, - lines#24, use=att5620, -att5620-34|tty5620-34|dmd-34|teletype dmd 5620 in a 34x80 layer, - lines#34, use=att5620, -# 5620 layer running the "S" system's downloaded graphics handler: -att5620-s|tty5620-s|layer|vitty|5620 S layer, - OTbs, OTpt, am, - cols#80, it#8, lines#72, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, - cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=^K, dl1=\ED, - el=\EK, flash=\E^G, ht=^I, il1=\EI, ind=^J, kbs=^H, kclr=\E[2J, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, - kll=\E[70;1H, - -# Entries for thru refer to the shifted system pf keys. -# -# Entries for thru refer to the alternate keypad mode -# keys: = * / + 7 8 9 - 4 5 6 , 1 2 3 0 . ENTER -att605|AT&T 605 80 column 102key keyboard, - am, eo, xon, - cols#80, lines#24, lw#8, nlab#8, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, - cr=^M, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP, - dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, el1=\E[1K, fsl=\E8, ht=^I, ich=\E[%p1%d@, ich1=\E[@, - il1=\E[L, ind=^J, invis=\E[8m, - is1=\E[8;0|\E[?\E[13;20l\E[?\E[12h, is2=\E[m\017, - kLFT=\E[ A, kRIT=\E[ @, kbs=^H, kcbt=\E[Z, kclr=\E[2J, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, - kdl1=\E[M, kend=\E[24;1H, kf1=\EOc, kf10=\ENp, kf11=\ENq, - kf12=\ENr, kf13=\ENs, kf14=\ENt, kf15=\EOC, kf16=\EOD, - kf17=\EOE, kf18=\EOF, kf19=\EOG, kf2=\EOd, kf20=\EOH, - kf21=\EOI, kf22=\EOJ, kf23=\ENO, kf24=\ENP, kf25=\ENQ, - kf26=\ENR, kf27=\ENS, kf28=\ENT, kf29=\EOP, kf3=\EOe, - kf30=\EOQ, kf31=\EOR, kf32=\EOS, kf33=\EOw, kf34=\EOx, - kf35=\EOy, kf36=\EOm, kf37=\EOt, kf38=\EOu, kf39=\EOv, - kf4=\EOf, kf40=\EOl, kf41=\EOq, kf42=\EOr, kf43=\EOs, - kf44=\EOp, kf45=\EOn, kf46=\EOM, kf5=\EOg, kf6=\EOh, - kf7=\EOi, kf8=\EOj, kf9=\ENo, khome=\E[H, kich1=\E[@, - kil1=\E[L, kind=\E[S, knp=\E[U, kpp=\E[V, ll=\E[24H, - mc4=\E[?4i, mc5=\E[?5i, nel=\EE, - pfx=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s, - pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, rev=\E[7m, - rmacs=^O, rmir=\E[4l, rmln=\E[2p, rmso=\E[m, rmul=\E[m, - rs2=\Ec\E[?3l, sc=\E7, sgr0=\E[m\017, smacs=\E)0\016, - smir=\E[4h, smln=\E[p, smso=\E[7m, smul=\E[4m, - tsl=\E7\E[25;%i%p1%dx, -att605-pc|ATT 605 in pc term mode, - acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263, - cbt=\E[Z, cub1=\E[D, cud1=\E[B, cuf1=\E[C, cuu1=\E[A, - dch1=\E[P, dl1=\E[M, ich1=\E[@, il1=\E[L, kcbt=\E[Z, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, - kdl1=\E[M, kend=\E[F, kf1=\E[M, kf10=\E[V, kf2=\E[N, - kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, - kf9=\E[U, khome=\E[H, kich1=\E[@, knp=\E[G, kpp=\E[I, - rmsc=400\E[50;0|, smsc=250\E[?11l\E[50;1|, xoffc=g, - xonc=e, use=att605, -att605-w|AT&T 605-w 132 column 102 key keyboard, - cols#132, wsl#132, - is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h\E(B\E)0, - use=att605, -# (att610: I added / based on the init string. I also -# added and because the BSD file says the att615s have them, -# and the 615 is like a 610 with a big keyboard, and most of their other -# smart terminals support the same sequence -- esr) -att610|AT&T 610; 80 column; 98key keyboard, - am, eslok, hs, mir, msgr, xenl, xon, - cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h\E[?12l, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - flash=\E[?5h$<200>\E[?5l, fsl=\E8, home=\E[H, ht=^I, - ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED, - indn=\E[%p1%dS, invis=\E[8m, - is1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h\E(B\E)0, - is2=\E[m\017, is3=\E(B\E)0, kLFT=\E[ @, kRIT=\E[ A, kbs=^H, - kcbt=\E[Z, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf1=\EOc, kf10=\ENp, kf11=\ENq, kf12=\ENr, - kf13=\ENs, kf14=\ENt, kf2=\EOd, kf3=\EOe, kf4=\EOf, kf5=\EOg, - kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\ENo, khome=\E[H, - kind=\E[S, kri=\E[T, ll=\E[24H, mc4=\E[?4i, mc5=\E[?5i, - nel=\EE, - pfx=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s, - pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, rev=\E[7m, - ri=\EM, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, - rmln=\E[2p, rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, - smln=\E[p, smso=\E[7m, smul=\E[4m, tsl=\E7\E[25;%i%p1%dx, -att610-w|AT&T 610; 132 column; 98key keyboard, - cols#132, wsl#132, - is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h, - use=att610, - -att610-103k|AT&T 610; 80 column; 103key keyboard, - kBEG=\ENB, kCAN=\EOW, kCMD=\EOU, kCPY=\END, kCRT=\EON, - kDC=\ENF, kDL=\ENE, kEND=\ENN, kEOL=\EOA, kEXT=\EOK, - kFND=\EOX, kHLP=\EOM, kMOV=\ENC, kMSG=\EOL, kNXT=\ENH, - kOPT=\EOR, kPRT=\EOZ, kPRV=\ENG, kRDO=\EOT, kRES=\EOQ, - kRPL=\EOY, kSAV=\EOO, kSPD=\EOP, kUND=\EOS, kbeg=\E9, - kcan=\EOw, kclo=\EOV, kcmd=\EOu, kcpy=\ENd, kcrt=\EOn, - kdch1=\ENf, kdl1=\ENe, kel=\EOa, kend=\E0, kent=^M, - kext=\EOk, kf10@, kf11@, kf12@, kf13@, kf14@, kf9@, kfnd=\EOx, - khlp=\EOm, kich1=\ENj, kmov=\ENc, kmrk=\ENi, kmsg=\EOl, - knp=\E[U, knxt=\ENh, kopn=\EOv, kopt=\EOr, kpp=\E[V, - kprt=\EOz, kprv=\ENg, krdo=\EOt, kref=\EOb, kres=\EOq, - krfr=\ENa, krmir=\ENj, krpl=\EOy, krst=\EOB, ksav=\EOo, - kslt=\ENI, kspd=\EOp, kund=\EOs, use=att610, -att610-103k-w|AT&T 610; 132 column; 103key keyboard, - cols#132, wsl#132, - is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h, - use=att610-103k, -att615|AT&T 615; 80 column; 98key keyboard, - kLFT=\E[ A, kRIT=\E[ @, kf15=\EOC, kf16=\EOD, kf17=\EOE, - kf18=\EOF, kf19=\EOG, kf20=\EOH, kf21=\EOI, kf22=\EOJ, - kf23=\ENO, kf24=\ENP, kf25=\ENQ, kf26=\ENR, kf27=\ENS, - kf28=\ENT, kf29=\EOP, kf30=\EOQ, kf31=\EOR, kf32=\EOS, - kf33=\EOw, kf34=\EOx, kf35=\EOy, kf36=\EOm, kf37=\EOt, - kf38=\EOu, kf39=\EOv, kf40=\EOl, kf41=\EOq, kf42=\EOr, - kf43=\EOs, kf44=\EOp, kf45=\EOn, kf46=\EOM, use=att610, -att615-w|AT&T 615; 132 column; 98key keyboard, - kLFT=\E[ A, kRIT=\E[ @, kf15=\EOC, kf16=\EOD, kf17=\EOE, - kf18=\EOF, kf19=\EOG, kf20=\EOH, kf21=\EOI, kf22=\EOJ, - kf23=\ENO, kf24=\ENP, kf25=\ENQ, kf26=\ENR, kf27=\ENS, - kf28=\ENT, kf29=\EOP, kf30=\EOQ, kf31=\EOR, kf32=\EOS, - kf33=\EOw, kf34=\EOx, kf35=\EOy, kf36=\EOm, kf37=\EOt, - kf38=\EOu, kf39=\EOv, kf40=\EOl, kf41=\EOq, kf42=\EOr, - kf43=\EOs, kf44=\EOp, kf45=\EOn, kf46=\EOM, use=att610-w, -att615-103k|AT&T 615; 80 column; 103key keyboard, - kLFT=\E[ A, kRIT=\E[ @, use=att610-103k, -att615-103k-w|AT&T 615; 132 column; 103key keyboard, - kLFT=\E[ A, kRIT=\E[ @, use=att610-103k-w, -# (att620: I added / based on the init string and -# / from a BSD termcap -- esr) -att620|AT&T 620; 80 column; 98key keyboard, - am, eslok, hs, mir, msgr, xenl, xon, - cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h\E[?12l, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - flash=\E[?5h$<200>\E[?5l, fsl=\E8, home=\E[H, ht=^I, - ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED, - indn=\E[%p1%dS, invis=\E[8m, - is1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h, - is2=\E[m\017, is3=\E(B\E)0, kLFT=\E[ A, kRIT=\E[ @, kbs=^H, - kcbt=\E[Z, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf1=\EOc, kf10=\ENp, kf11=\ENq, kf12=\ENr, - kf13=\ENs, kf14=\ENt, kf15=\EOC, kf16=\EOD, kf17=\EOE, - kf18=\EOF, kf19=\EOG, kf2=\EOd, kf20=\EOH, kf21=\EOI, - kf22=\EOJ, kf23=\ENO, kf24=\ENP, kf25=\ENQ, kf26=\ENR, - kf27=\ENS, kf28=\ENT, kf29=\EOP, kf3=\EOe, kf30=\EOQ, - kf31=\EOR, kf32=\EOS, kf33=\EOw, kf34=\EOx, kf35=\EOy, - kf36=\EOm, kf37=\EOt, kf38=\EOu, kf39=\EOv, kf4=\EOf, - kf40=\EOl, kf41=\EOq, kf42=\EOr, kf43=\EOs, kf44=\EOp, - kf45=\EOn, kf46=\EOM, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, - kf9=\ENo, khome=\E[H, kind=\E[S, kri=\E[T, ll=\E[24H, - mc4=\E[?4i, mc5=\E[?5i, nel=\EE, - pfx=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s, - pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, rev=\E[7m, - ri=\EM, rin=\E[%p1%dT, rmacs=\E(B\017, rmam=\E[?7l, - rmir=\E[4l, rmln=\E[2p, rmso=\E[m, rmul=\E[m, - rs2=\Ec\E[?3l, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\E(B\017, smacs=\E)0\016, smam=\E[?7h, - smir=\E[4h, smln=\E[p, smso=\E[7m, smul=\E[4m, - tsl=\E7\E[25;%i%p1%dx, -att620-w|AT&T 620; 132 column; 98key keyboard, - cols#132, wsl#132, - is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h, - use=att620, -att620-103k|AT&T 620; 80 column; 103key keyboard, - kBEG=\ENB, kCAN=\EOW, kCMD=\EOU, kCPY=\END, kCRT=\EON, - kDC=\ENF, kDL=\ENE, kEND=\ENN, kEOL=\EOA, kEXT=\EOK, - kFND=\EOX, kHLP=\EOM, kMOV=\ENC, kMSG=\EOL, kNXT=\ENH, - kOPT=\EOR, kPRT=\EOZ, kPRV=\ENG, kRDO=\EOT, kRES=\EOQ, - kRPL=\EOY, kSAV=\EOO, kSPD=\EOP, kUND=\EOS, kbeg=\E9, - kcan=\EOw, kclo=\EOV, kcmd=\EOu, kcpy=\ENd, kcrt=\EOn, - kdch1=\ENf, kdl1=\ENe, kel=\EOa, kend=\E0, kent=^M, - kext=\EOk, kf10@, kf11@, kf12@, kf13@, kf14@, kf15@, kf16@, kf17@, - kf18@, kf19@, kf20@, kf21@, kf22@, kf23@, kf24@, kf25@, kf26@, kf27@, - kf28@, kf29@, kf30@, kf31@, kf32@, kf33@, kf34@, kf35@, kf36@, kf37@, - kf38@, kf39@, kf40@, kf41@, kf42@, kf43@, kf44@, kf45@, kf46@, kf9@, - kfnd=\EOx, khlp=\EOm, kich1=\ENj, kmov=\ENc, kmrk=\ENi, - kmsg=\EOl, knp=\E[U, knxt=\ENh, kopn=\EOv, kopt=\EOr, - kpp=\E[V, kprt=\EOz, kprv=\ENg, krdo=\EOt, kref=\EOb, - kres=\EOq, krfr=\ENa, krmir=\ENj, krpl=\EOy, krst=\EOB, - ksav=\EOo, kslt=\ENI, kspd=\EOp, kund=\EOs, use=att620, - -att620-103k-w|AT&T 620; 132 column; 103key keyboard, - cols#132, wsl#132, - is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h, - use=att620-103k, - -# AT&T (formerly Teletype) 630 Multi-Tasking Graphics terminal -# The following SETUP modes are assumed for normal operation: -# Local_Echo=Off Gen_Flow=On Return=CR Received_Newline=LF -# Font_Size=Large Non-Layers_Window_Cols=80 -# Non-Layers_Window_Rows=60 -# Other SETUP modes may be set for operator convenience or communication -# requirements. Some capabilities assume a printer attached to the Aux EIA -# port. This termcap description is for the Fixed Non-Layers Window. No -# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control! -# (att630: added , and from a BSD termcap file -- esr) -att630|AT&T 630 windowing terminal, - OTbs, am, da, db, mir, msgr, npc, xon, - cols#80, it#8, lines#60, lm#0, - bel=^G, blink=\E[5m, cbt=\E[Z, clear=\E[H\E[J, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, - el1=\E[1K, home=\E[H, ht=^I, ich=\E[%p1%d@, ich1=\E[@, - il=\E[%p1%dL, il1=\E[L, ind=\ED, indn=\E[%p1%dS, is2=\E[m, - kbs=^H, kcbt=\E[Z, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[M, kent=^M, - kf10=\ENp, kf11=\ENq, kf12=\ENr, kf13=\ENs, kf14=\ENt, - kf15=\ENu, kf16=\ENv, kf17=\ENw, kf18=\ENx, kf19=\ENy, - kf20=\ENz, kf21=\EN{, kf22=\EN|, kf23=\EN}, kf24=\EN~, - kf9=\ENo, khome=\E[H, kich1=\E[@, kil1=\E[L, mc4=\E[?4i, - mc5=\E[?5i, nel=^M^J, pfx=\E[%p1%d;%p2%l%dq%p2%s, rc=\E8, - rev=\E[7m, ri=\EM, rin=\E[%p1%dT, rmir=\E[4l, rmso=\E[m, - rmul=\E[m, rs2=\Ec, sc=\E7, - sgr=\E[0%?%p2%t;4%;%?%p1%p3%|%p4%|%p5%|%t;7%;m, - sgr0=\E[m, smir=\E[4h, smso=\E[7m, smul=\E[4m, -att630-24|5630-24|5630DMD-24|630MTG-24|AT&T 630 windowing terminal 24 lines, - lines#24, use=att630, - -# This is the att700 entry for 700 native emulation of the AT&T 700 -# terminal. Comments are relative to changes from the 605V2 entry and -# att730 on which the entry is based. Comments show the terminfo -# capability name, termcap name, and description. -# -# Here is what's going onm in the init string: -# ESC [ 50;4| set 700 native mode (really is 605) -# x ESC [ 56;ps| set lines to 24: ps=0; 40: ps=1 (plus status line) -# ESC [ 53;0| set GenFlow to Xon/Xoff -# ESC [ 8 ;0| set CR on NL -# x ESC [ ? 3 l/h set workspace: 80 col(l); 132 col(h) -# ESC [ ? 4 l jump scroll -# ESC [ ? 5 l/h video: normal (l); reverse (h) -# ESC [ ?13 l Labels on -# ESC [ ?15 l parity check = no -# ESC [ 13 l monitor mode off -# ESC [ 20 l LF on NL (not CRLF on NL) -# ESC [ ? 7 h autowrap on -# ESC [ 12 h local echo off -# ESC ( B GO = ASCII -# ESC ) 0 G1 = Special Char & Line Drawing -# ESC [ ? 31 l Set 7 bit controls -# -# Note: Most terminals, especially the 600 family use Reverse Video for -# standout mode. DEC also uses reverse video. The VT100 uses bold in addition -# Assume we should stay with reverse video for 70.. However, the 605V2 exits -# standout mode with \E[m (all normal attributes). The 730 entry simply -# exits reverse video which would leave other current attributes intact. It -# was assumed the 730 entry to be more correct so rmso has changed. The -# 605V2 has no sequences to turn individual attributes off, thus its setting -# and the rmso/smso settings from the 730. -# -# Note: For the same reason as above in rmso I changed exit under-score mode -# to specifically turn off underscore, rather than return to all normal -# attributes -# -# Note: The following pkey_xmit is taken from the 605V2 which contained the -# capability as pfxl. It was changed here to pfx since pfxl -# will only compile successfully with Unix 4.0 tic. Also note that pfx only -# allows strings to be parameters and label values must be programmed as -# constant strings. Supposedly the pfxl of Version 4.0 allows both labels -# and strings to be parameters. The 605V2 pfx entry should be examined later -# in this regard. For reference the 730 pfxl entry is shown here for comparison -# 730 pfx entry: -# pfxl=\E[%?%p1%{25}%<%t%p1%e%p1%{24}%-%;%d;%p2%l%02d%?%p1%{25}%<%tq\s\s\s -# SYS\s\s\s\s\sF%p1%:-2d\s\s%e;0;3q%;%p2%s, -# -# (for 4.0 tic) -# pfxl=\E[%p1%d;%p2%l%02dq%?%p1%{9}%<%t F%p1%1d %;%p2%s, -# -# (for <4.0 tic) -# pfx=\E[%p1%d;%p2%l%02dq%?%p1%{9}%<%t F%p1%1d %;%p2%s, -# -# From the AT&T 705 Multi-tasking terminal user's guide Page 8-8,8-9 -# -# Port1 Interface -# -# modular 10 pin Connector -# Left side Right side -# Pin 1 2 3 4 5 6 7 8 9 10 -# -# Key (notch) at bottom -# -# Pin 1 DSR -# 3 DCD -# 4 DTR -# 5 Sig Ground -# 6 RD -# 7 SD -# 8 CTS -# 9 RTS -# 10 Frame Ground -# -# The manual is 189 pages and is loaded with details about the escape codes, -# etc..... Available from AT&T CIC 800-432-6600... -# ask for Document number 999-300-660.. -# -att700|AT&T 700 24x80 column display w/102key keyboard, - am, eslok, hs, mir, msgr, xenl, xon, - cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h\E[?12l, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - enacs=\E(B\E)0, flash=\E[?5h$<200>\E[?5l, fln=4\,4, - fsl=\E8, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=\ED, invis=\E[8m, - is2=\E[50;4|\E[53;0|\E[8;0|\E[?4;13;15l\E[13;20l\E[?7h\E[12h\E(B\E)0\E[?31l\E[0m\017, - is3=\E(B\E)0, kLFT=\E[ A, kRIT=\E[ @, kbs=^H, kcbt=\E[Z, - kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[P, kdl1=\E[M, kend=\E[24;1H, kf1=\EOc, kf10=\ENp, - kf11=\ENq, kf12=\ENr, kf13=\ENs, kf14=\ENt, kf15=\EOC, - kf16=\EOD, kf17=\EOE, kf18=\EOF, kf19=\EOG, kf2=\EOd, - kf20=\EOH, kf21=\EOI, kf22=\EOJ, kf23=\ENO, kf24=\ENP, - kf25=\ENQ, kf26=\ENR, kf27=\ENS, kf28=\ENT, kf29=\EOq, - kf3=\EOe, kf30=\EOr, kf31=\EOs, kf32=\EOt, kf33=\EOu, - kf34=\EOv, kf35=\EOw, kf36=\EOx, kf37=\EOy, kf38=\EOu, - kf39=\EOv, kf4=\EOf, kf40=\EOl, kf41=\EOq, kf42=\EOr, - kf43=\EOs, kf44=\EOp, kf45=\EOn, kf46=\EOM, kf5=\EOg, - kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\ENo, khome=\E[H, - kich1=\E[@, kil1=\E[L, knp=\E[U, kpp=\E[V, ll=\E[24H, - mc0=\E[i, mc4=\E[?4i, mc5=\E[?5i, nel=\EE, - pfx=\E[%p1%d;%p2%l%02dq%?%p1%{9}%<%t F%p1%1d %;%p2%s, - pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, - rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM, rmacs=^O, - rmir=\E[4l, rmln=\E[2p, rmso=\E[27m, rmul=\E[24m, - rmxon=\E[53;3|, rs1=\Ec\E[?3;5l\E[56;0|, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smir=\E[4h, smln=\E[p, smso=\E[7m, - smul=\E[4m, smxon=\E[53;0|, tbc=\E[3g, - tsl=\E7\E[99;%i%p1%dx, - -# This entry was modified 3/13/90 by JWE. -# fixes include additions of , correcting , and modification -# of . (See comments below) -# att730 has status line of 80 chars -# These were commented out: , , -# the and up keys are used for shifted system Fkeys -# NOTE: JWE 3/13/90 The 98 key keyboard translation for shift/HOME is -# currently the same as (unshifted HOME or \E[H). On the 102, 102+1 -# and 122 key keyboards, the 730's translation is \E[2J. For consistency -# has been commented out. The user can uncomment if using the -# 102, 102+1, or 122 key keyboards -# kHOM=\E[2J, -# (att730: I added / based on the init string -- esr) -att730|AT&T 730 windowing terminal, - am, da, db, eslok, hs, mir, msgr, npc, xenl, xon, - cols#80, it#8, lh#2, lines#60, lm#0, lw#8, nlab#24, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h\E[?12l, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - enacs=\E(B\E)0, flash=\E[?5h$<200>\E[?5l, fsl=\E8, - home=\E[H, ht=^I, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, - ind=\ED, invis=\E[8m, - is1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h\E(B\E)B, - is2=\E[m\017, is3=\E(B\E)0, kLFT=\E[ @, kRIT=\E[ A, kbs=^H, - kcbt=\E[Z, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf1=\EOc, kf10=\ENp, kf11=\ENq, kf12=\ENr, - kf13=\ENs, kf14=\ENt, kf15=\ENu, kf16=\ENv, kf17=\ENw, - kf18=\ENx, kf19=\ENy, kf2=\EOd, kf20=\ENz, kf21=\EN{, - kf22=\EN|, kf23=\EN}, kf24=\EN~, kf25=\EOC, kf26=\EOD, - kf27=\EOE, kf28=\EOF, kf29=\EOG, kf3=\EOe, kf30=\EOH, - kf31=\EOI, kf32=\EOJ, kf33=\ENO, kf34=\ENP, kf35=\ENQ, - kf36=\ENR, kf37=\ENS, kf38=\ENT, kf39=\EOU, kf4=\EOf, - kf40=\EOV, kf41=\EOW, kf42=\EOX, kf43=\EOY, kf44=\EOZ, - kf45=\EO[, kf46=\EO\s, kf47=\EO], kf48=\EO\^, kf5=\EOg, - kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\ENo, khome=\E[H, - kich1=\E[@, kil1=\E[L, kind=\E[S, kri=\E[T, - mc0=\E[?19h\E[0i, mc4=\E[?4i, mc5=\E[?5i, nel=\EE, - pfx=\E[%?%p1%{25}%<%t%p1%e%p1%{24}%-%;%d;%p2%l%02d%?%p1%{25}%<%tq SYS F%p1%:-2d %e;0;3q%;%p2%s, - pfxl=\E[%p1%d;%p2%l%02d;0;0q%p3%:-16.16s%p2%s, - pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, - rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM, rmacs=^O, - rmam=\E[?7l, rmir=\E[4l, rmln=\E[?13h, rmso=\E[27m, - rmul=\E[24m, rmxon=\E[?21l, rs2=\Ec\E[?3l, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, - smln=\E[?13l, smso=\E[7m, smul=\E[4m, smxon=\E[?21h, - swidm=\E#6, tsl=\E7\E[;%i%p1%dx, -att730-41|730MTG-41|AT&T 730-41 windowing terminal Version, - lines#41, use=att730, -att730-24|730MTG-24|AT&T 730-24 windowing terminal Version, - lines#24, use=att730, -att730r|730MTGr|AT&T 730 rev video windowing terminal Version, - flash=\E[?5l$<200>\E[?5h, - is1=\E[8;0|\E[?3;4;13;15l\E[?5h\E[13;20l\E[?7h\E[12h\E(B\E)B, - use=att730, -att730r-41|730MTG-41r|AT&T 730r-41 rev video windowing terminal Version, - lines#41, use=att730r, -att730r-24|730MTGr-24|AT&T 730r-24 rev video windowing terminal Version, - lines#24, use=att730r, - -# The following represents the screen layout along with the associated -# bezel buttons for the 5430/pt505 terminal. The "kf" designations do -# not appear on the screen but are shown to reference the bezel buttons. -# The "CMD", "MAIL", and "REDRAW" buttons are shown in their approximate -# position relative to the screen. -# -# -# -# +----------------------------------------------------------------+ -# | | -# XXXX | kf0 kf24 | XXXX -# | | -# | | -# XXXX | kf1 kf23 | XXXX -# | | -# | | -# XXXX | kf2 kf22 | XXXX -# | | -# | | -# XXXX | kf3 kf21 | XXXX -# | | -# | | -# XXXX | kf4 kf20 | XXXX -# | | -# | | -# XXXX | kf5 kf19 | XXXX -# | | -# | | -# XXXX | kf6 kf18 | XXXX -# | | -# | | -# XXXX | | XXXX -# | | -# | | -# +----------------------------------------------------------------+ -# -# XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX -# -# Note: XXXX represents the screen buttons -# CMD REDRAW -# -# MAIL -# -# version 1 note: -# The character string sent by key 'kf26' may be user programmable -# to send either \E[16s, or \E[26s. -# The character string sent by key 'krfr' may be user programmable -# to send either \E[17s, or \E[27s. -# -# Depression of the "CMD" key sends \E! (kcmd) -# Depression of the "MAIL" key sends \E[26s (kf26) -# "REDRAW" same as "REFRESH" (krfr) -# -# "kf" functions adds carriage return to output string if terminal is in -# 'new line' mode. -# -# The following are functions not covered in the table above: -# -# Set keyboard character (SKC): \EPn1;Pn2w -# Pn1= 0 Back Space key -# Pn1= 1 Break key -# Pn2= Program char (hex) -# -# Screen Definition (SDF): \E[Pn1;Pn2;Pn3;Pn4;Pn5t -# Pn1= Window number (1-39) -# Pn2-Pn5= Y;X;Y;X coordinates -# -# Screen Selection (SSL): \E[Pnu -# Pn= Window number -# -# Set Terminal Modes (SM): \E[Pnh -# Pn= 3 Graphics mode -# Pn= > Cursor blink -# Pn= < Enter new line mode -# Pn= = Enter reverse insert/replace mode -# Pn= ? Enter no scroll mode -# -# Reset Terminal Mode (RM): \E[Pnl -# Pn= 3 Exit graphics mode -# Pn= > Exit cursor blink -# Pn= < Exit new line mode -# Pn= = Exit reverse insert/replace mode -# Pn= ? Exit no scroll mode -# -# Screen Status Report (SSR): \E[Pnp -# Pn= 0 Request current window number -# Pn= 1 Request current window dimensions -# -# Device Status Report (DSR): \E[6n Request cursor position -# -# Call Status Report (CSR): \E[Pnv -# Pn= 0 Call failed -# Pn= 1 Call successful -# -# Transparent Button String (TBS): \E[Pn1;Pn2;Pn3;{string -# Pn1= Button number to be loaded -# Pn2= Character count of "string" -# Pn3= Key mode being loaded: -# 0= Unshifted -# 1= Shifted -# 2= Control -# String= Text string (15 chars max) -# -# Screen Number Report (SNR): \E[Pnp -# Pn= Screen number -# -# Screen Dimension Report (SDR): \E[Pn1;Pn2r -# Pn1= Number of rows available in window -# Pn2= Number of columns available in window -# -# Cursor Position Report (CPR): \E[Pn1;Pn2R -# Pn1= "Y" Position of cursor -# Pn2= "X" Position of cursor -# -# Request Answer Back (RAB): \E[c -# -# Answer Back Response (ABR): \E[?;*;30;VSV -# *= 0 No printer available -# *= 2 Printer available -# V= Software version number -# SV= Software sub version number -# (printer-available field not documented in v1) -# -# Screen Alignment Aid: \En -# -# Bell (lower pitch): \E[x -# -# Dial Phone Number: \EPdstring\ -# string= Phone number to be dialed -# -# Set Phone Labels: \EPpstring\ -# string= Label for phone buttons -# -# Set Clock: \EPchour;minute;second\ -# -# Position Clock: \EPsY;X\ -# Y= "Y" coordinate -# X= "X" coordinate -# -# Delete Clock: \Epr\ -# -# Programming The Function Buttons: \EPfPn;string\ -# Pn= Button number (00-06, 18-24) -# (kf00-kf06, kf18-kf24) -# string= Text to sent on button depression -# -# The following in version 2 only: -# -# Request For Local Directory Data: \EPp12;\ -# -# Local Directory Data to host: \EPp11;LOCAL...DIRECTORY...DATA\ -# -# Request for Local Directory Data in print format: \EPp13;\ -# -# Enable 'Prt on Line' mode: \022 (DC2) -# -# Disable 'Prt on Line' mode: \024 (DC4) -# - -# 05-Aug-86: -# The following Terminfo entry describes functions which are supported by -# the AT&T 5430/pt505 terminal software version 2 and later. -att505|pt505|att5430|gs5430|AT&T Personal Terminal 505 or 5430 GETSET terminal, - am, xon, - cols#80, it#8, lines#24, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[2J\E[H, - cnorm=\E[>l, cr=^M, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[>h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[0J, el=\E[0K, el1=\E[2K, home=\E[H, ht=^I, - il=\E[%p1%dL, il1=\E[L, ind=^J, - is1=\EPr\\E[0u\E[2J\E[0;0H\E[m\E[3l\E[l\E[=l\E[?l, - kbs=^H, kcmd=\E!, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf0=\E[00s, kf1=\E[01s, kf18=\E[18s, - kf19=\E[19s, kf2=\E[02s, kf20=\E[20s, kf21=\E[21s, - kf22=\E[22s, kf23=\E[23s, kf24=\E[24s, kf26=\E[26s, - kf3=\E[03s, kf4=\E[04s, kf5=\E[05s, kf6=\E[06s, - krfr=\E[27s, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, - rmacs=\E[10m, rmam=\E[11;1j, rmir=\E[4l, rmso=\E[m, - rmul=\E[m, rs1=\Ec, sc=\E7, sgr0=\E[m, smacs=\E[11m, - smam=\E[11;0j, smir=\E[4h, smso=\E[1m, smul=\E[4m, - -# The following Terminfo entry describes functions which are supported by -# the AT&T 5430/pt505 terminal software version 1. -att505-24|pt505-24|gs5430-24|AT&T PT505 or 5430 GETSET version 1 24 lines, - lines#24, - mc4@, mc5@, rc@, rmam@, sc@, smam@, use=att505, -tt505-22|pt505-22|gs5430-22|AT&T PT505 or 5430 GETSET version 1 22 lines, - lines#22, use=att505, -# -#### ------------------ TERMINFO FILE CAN BE SPLIT HERE --------------------- -# This cut mark helps make life less painful for people running ncurses tic -# on machines with relatively little RAM. The file can be broken in half here -# cleanly and compiled in sections -- no `use' references cross this cut -# going forward. -# - -#### Ampex (Dialogue) -# -# Yes, these are the same people who are better-known for making audio- and -# videotape. I'm told they are located in Redwood City, CA. -# - -# From: Fri Sep 11 22:38:32 1981 -# (ampex80: some capabilities merged in from SCO's entry -- esr) -ampex80|a80|d80|dialogue|dialogue80|ampex dialogue 80, - OTbs, am, bw, ul, - cols#80, it#8, lines#24, - bel=^G, cbt=\EI, clear=\E*$<75>, cr=^M, cub1=^H, cud1=^J, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\EW, dl1=\ER$<5*>, ed=\Ey, el=\Et, ht=^I, hts=\E1, - ich1=\EQ, il1=\EE$<5*>, ind=^J, is2=\EA, rmso=\Ek, rmul=\Em, - smso=\Ej, smul=\El, tbc=\E3, -# This entry was from somebody anonymous, Tue Aug 9 20:11:37 1983, who wrote: -ampex175|ampex d175, - am, - cols#80, lines#24, - bel=^G, clear=\E+, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\Ey, el=\Et, home=^^, ich1=\EQ, il1=\EE, ind=^J, - is2=\EX\EA\EF, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, - kdch1=\EW, kdl1=\ER, khome=^^, kich1=\EQ, kil1=\EE, ll=^^^K, - rmcup=\EF, rmso=\Ek, rmul=\Em, smcup=\EN, smso=\Ej, smul=\El, -# No backspace key in the main QWERTY cluster. Fortunately, it has a -# NEWLINE/PAGE key just above RETURN that sends a strange single-character -# code. Given a suitable Unix (one that lets you set an echo-erase-as-BS-SP-BS -# mode), this key can be used as the erase key; I find I like this. Because -# some people and some systems may not, there is another termcap ("ampex175") -# that suppresses this little eccentricity by omitting the relevant capability. -ampex175-b|ampex d175 using left arrow for erase, - kbs=^_, use=ampex175, -# From: Richard Bascove -# (ampex210: removed obsolete ":kn#10:" -- esr) -ampex210|a210|ampex a210, - OTbs, am, hs, xenl, - cols#80, it#8, lines#24, xmc#1, - cbt=\EI, clear=\E*, cub1=^H, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\Ey, el=\Et, flash=\EU\EX\EU\EX\EU\EX\EU\EX, - fsl=\E.2, home=^^, ht=^I, ich1=\EQ, - if=/usr/share/tabset/std, il1=\EE, invis@, - is2=\EC\Eu\E'\E(\El\EA\E%\E{\E.2\EG0\Ed\En, kcub1=^H, - kcud1=^V, kcuf1=^L, kcuu1=^K, kf0=^A0\r, kf1=^A1\r, - kf2=^A2\r, kf3=^A3\r, kf4=^A4\r, kf5=^A5\r, kf6=^A6\r, - kf7=^A7\r, kf8=^A8\r, kf9=^A9\r, khome=^^, - tsl=\E.0\Eg\E}\Ef, use=adm+sgr, -# (ampex219: I added / based on the init string, added -# from ampex219w, added =\E[?3l, irresistibly suggested by , -# and moved the padding to be *after* the caps -- esr) -ampex219|ampex-219|amp219|Ampex with Automargins, - hs, xenl, - cols#80, it#8, lines#24, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, cbt=\E[Z, - clear=\E[H\E[2J$<50>, cnorm=\E[?3l, cr=^M, - csr=%i\E[%p1%2d;%p2%2dr, cub1=^H, cud1=\E[B, - cuf1=\E[C$<2>, cup=\E[%i%p1%d;%p2%dH$<5>, - cuu1=\E[A$<2>, cvvis=\E[?3h, dim=\E[1m, ed=\E[J$<50>, - el=\E[K$<3>, home=\E[H, ht=^I, ind=^J, - is2=\E>\E[?1l\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\E[21~, - kf1=\E[7~, kf2=\E[8~, kf3=\E[9~, kf4=\E[10~, kf5=\E[11~, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[H, - rev=\E[7m, ri=\EM$<5>, rmam=\E[?7l, rmkx=\E>, - rmso=\E[m$<2>, rmul=\E[m$<2>, sgr0=\E[m$<2>, smam=\E[?7h, - smkx=\E=, smso=\E[7m$<2>, smul=\E[4m$<2>, -ampex219w|ampex-219w|amp219w|Ampex 132 cols, - cols#132, lines#24, - bel=^G, cr=^M, cud1=^J, ind=^J, - is2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h, use=ampex219, -# (ampex232: removed , no file and no --esr) -ampex232|ampex-232|Ampex Model 232, - am, - cols#80, lines#24, xmc#1, - cbt=\EI, civis=\E.0, clear=\E+, cnorm=\E.4, cub1=^H, cud1=^V, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\EW, dl1=\ER$<5*/>, ed=\EY, el=\ET, - flash=\Eb$<200/>\Ed, ht=^I, ich1=\EQ, il1=\EE$<5*/>, - invis@, is2=\Eg\El, kbs=^H, kcub1=^H, kcud1=^V, kcuf1=^L, - kcuu1=^K, kf0=^A@\r, kf1=^AA\r, kf2=^AB\r, kf3=^AC\r, - kf4=^AD\r, kf5=^AE\r, kf6=^AF\r, kf7=^AG\r, kf8=^AH\r, - kf9=^AI\r, khome=^^, use=adm+sgr, -# (ampex: removed , no file and no -- esr) -ampex232w|Ampex Model 232 / 132 columns, - cols#132, lines#24, - is2=\E\034Eg\El, use=ampex232, - -#### Ann Arbor (aa) -# -# Ann Arbor made dream terminals for hackers -- large screen sizes and huge -# numbers of function keys. At least some used monitors in portrait mode, -# allowing up to 76-character screen heights! They were reachable at: -# -# Ann Arbor Terminals -# 6175 Jackson Road -# Ann Arbor, MI 48103 -# (313)-663-8000 -# -# But in 1996 the phone number reaches some kitschy retail shop, and Ann Arbor -# can't be found on the Web; I fear they're long dead. R.I.P. -# - - -# Originally from Mike O'Brien@Rand and Howard Katseff at Bell Labs. -# Highly modified 6/22 by Mike O'Brien. -# split out into several for the various screen sizes by dave-yost@rand -# Modifications made 3/82 by Mark Horton -# Modified by Tom Quarles at UCB for greater efficiency and more diversity -# status line moved to top of screen, removed 5/82 -# Some unknown person at SCO then hacked the init strings to make them more -# efficient. -# -# assumes the following setup: -# A menu: 0000 1010 0001 0000 -# B menu: 9600 0100 1000 0000 0000 1000 0000 17 19 -# C menu: 56 66 0 0 9600 0110 1100 -# D menu: 0110 1001 1 0 -# -# Briefly, the settings are for the following modes: -# (values are for bit set/clear with * indicating our preference -# and the value used to test these termcaps) -# Note that many of these settings are irrelevent to the terminfo -# and are just set to the default mode of the terminal as shipped -# by the factory. -# -# A menu: 0000 1010 0001 0000 -# Block/underline cursor* -# blinking/nonblinking cursor* -# key click/no key click* -# bell/no bell at column 72* -# -# key pad is cursor control*/key pad is numeric -# return and line feed/return for key * -# repeat after .5 sec*/no repeat -# repeat at 25/15 chars per sec. * -# -# hold data until pause pressed/process data unless pause pressed* -# slow scroll/no slow scroll* -# Hold in area/don't hold in area* -# functions keys have default*/function keys disabled on powerup -# -# show/don't show position of cursor during page transmit* -# unused -# unused -# unused -# -# B menu: 9600 0100 1000 0000 0000 1000 0000 17 19 -# Baud rate (9600*) -# -# 2 bits of parity - 00=odd,01=even*,10=space,11=mark -# 1 stop bit*/2 stop bits -# parity error detection off*/on -# -# keyboard local/on line* -# half/full duplex* -# disable/do not disable keyboard after data transmission* -# -# transmit entire page/stop transmission at cursor* -# transfer/do not transfer protected characters* -# transmit all characters/transmit only selected characters* -# transmit all selected areas/transmit only 1 selected area* -# -# transmit/do not transmit line separators to host* -# transmit/do not transmit page tab stops tabs to host* -# transmit/do not transmit column tab stop tabs to host* -# transmit/do not transmit graphics control (underline,inverse..)* -# -# enable*/disable auto XON/XOFF control -# require/do not require receipt of a DC1 from host after each LF* -# pause key acts as a meta key/pause key is pause* -# unused -# -# unused -# unused -# unused -# unused -# -# XON character (17*) -# XOFF character (19*) -# -# C menu: 56 66 0 0 9600 0110 1100 -# number of lines to print data on (printer) (56*) -# -# number of lines on a sheet of paper (printer) (66*) -# -# left margin (printer) (0*) -# -# number of pad chars on new line to printer (0*) -# -# printer baud rate (9600*) -# -# printer parity: 00=odd,01=even*,10=space,11=mark -# printer stop bits: 2*/1 -# print/do not print guarded areas* -# -# new line is: 01=LF,10=CR,11=CRLF* -# unused -# unused -# -# D menu: 0110 1001 1 0 -# LF is newline/LF is down one line, same column* -# wrap to preceding line if move left from col 1*/don't wrap -# wrap to next line if move right from col 80*/don't wrap -# backspace is/is not destructive* -# -# display*/ignore DEL character -# display will not/will scroll* -# page/column tab stops* -# erase everything*/erase unprotected only -# -# editing extent: 0=display,1=line*,2=field,3=area -# -# unused -# - -annarbor4080|aa4080|ann arbor 4080, - OTbs, am, - cols#80, lines#40, - bel=^G, clear=\014$<2>, cr=^M, cub1=^H, cud1=^J, cuf1=^_, - cup=\017%p2%{10}%/%{16}%*%p2%{10}%m%+%c%p1%?%p1%{19}%>%t%{12}%+%;%{64}%+%c, - cuu1=^N, home=^K, ht=^I, hts=^]^P1, ind=^J, kbs=^^, kcub1=^H, - kcud1=^J, kcuf1=^_, kcuu1=^N, khome=^K, tbc=^\^P^P, - -# Strange Ann Arbor terminal from BRL -aas1901|Ann Arbor K4080 w/S1901 mod, - am, - cols#80, lines#40, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^_, cuu1=^N, - home=^K, ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, ll=^O\0c, - nel=^M^J, - -# If you're using the GNU termcap library, add -# :cS=\E[%p1%d;%p2%d;%p3%d;%p4%dp: -# to these capabilities. This is the nonstandard GNU termcap scrolling -# capability, arguments are: -# 1. Total number of lines on the screen. -# 2. Number of lines above desired scroll region. -# 3. Number of lines below (outside of) desired scroll region. -# 4. Total number of lines on the screen, the same as the first parameter. -# The generic Ann Arbor entry is the only one that uses this. -aaa+unk|aaa-unk|ann arbor ambassador (internal - don't use this directly), - OTbs, am, km, mc5i, mir, xon, - cols#80, it#8, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, - clear=\E[H\E[J$<156>, cr=^M, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^K, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K$<5>, home=\E[H, hpa=\E[%p1%{1}%+%dG, ht=^I, - hts=\EH, ich=\E[%p1%d@$<4*>, ich1=\E[@$<4>, il=\E[%p1%dL, - il1=\E[L$<3>, ind=^K, invis=\E[8m, is1=\E[m\E7\E[H\E9\E8, - is3=\E[1Q\E[>20;30l\EP`+x~M\E\\, kbs=^H, kcbt=\E[Z, - kclr=\E[J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[P, kdl1=\E[M, kf1=\EOA, kf10=\EOJ, kf11=\EOK, - kf12=\EOL, kf13=\EOM, kf14=\EON, kf15=\EOO, kf16=\EOP, - kf17=\EOQ, kf18=\EOR, kf19=\EOS, kf2=\EOB, kf20=\EOT, - kf21=\EOU, kf22=\EOV, kf23=\EOW, kf24=\EOX, kf3=\EOC, - kf4=\EOD, kf5=\EOE, kf6=\EOF, kf7=\EOG, kf8=\EOH, kf9=\EOI, - khome=\E[H, kich1=\E[@, kil1=\E[L, krmir=\E6, mc0=\E[0i, - mc4=^C, mc5=\E[v, mc5p=\E[%p1%dv, rc=\E8, - rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, - rmkx=\EP`>y~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\E\\, - rmm=\E[>52l, rmso=\E[m, rmul=\E[m, sc=\E7, - sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m, - sgr0=\E[m, - smkx=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\, - smm=\E[>52h, smso=\E[7m, smul=\E[4m, tbc=\E[2g, - vpa=\E[%p1%{1}%+%dd, - -aaa+rv|ann arbor ambassador in reverse video, - blink=\E[5;7m, bold=\E[1;7m, invis=\E[7;8m, - is1=\E[7m\E7\E[H\E9\E8, rev=\E[m, rmso=\E[7m, rmul=\E[7m, - rs1=\E[H\E[7m\E[J$<156>, - sgr=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m, - sgr0=\E[7m\016, smso=\E[m, smul=\E[4;7m, -# Ambassador with the DEC option, for partial vt100 compatibility. -aaa+dec|ann arbor ambassador in dec vt100 mode, - acsc=aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}, - csr=\E[%i%p1%d;%p2%dr, enacs=\E(0, rmacs=^N, - sgr=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m%?%p9%t\017%e\016%;, - smacs=^O, -aaa-18|ann arbor ambassador/18 lines, - lines#18, - is2=\E7\E[60;0;0;18p\E8, - rmcup=\E[60;0;0;18p\E[60;1H\E[K, smcup=\E[18;0;0;18p, - use=aaa+unk, -aaa-18-rv|ann arbor ambassador/18 lines+reverse video, - use=aaa+rv, use=aaa-18, -aaa-20|ann arbor ambassador/20 lines, - lines#20, - is2=\E7\E[60;0;0;20p\E8, - rmcup=\E[60;0;0;20p\E[60;1H\E[K, smcup=\E[20;0;0;20p, - use=aaa+unk, -aaa-22|ann arbor ambassador/22 lines, - lines#22, - is2=\E7\E[60;0;0;22p\E8, - rmcup=\E[60;0;0;22p\E[60;1H\E[K, smcup=\E[22;0;0;22p, - use=aaa+unk, -aaa-24|ann arbor ambassador/24 lines, - lines#24, - is2=\E7\E[60;0;0;24p\E8, - rmcup=\E[60;0;0;24p\E[60;1H\E[K, smcup=\E[24;0;0;24p, - use=aaa+unk, -aaa-24-rv|ann arbor ambassador/24 lines+reverse video, - use=aaa+rv, use=aaa-24, -aaa-26|ann arbor ambassador/26 lines, - lines#26, - is2=\E7\E[60;0;0;26p\E8, - rmcup=\E[60;0;0;26p\E[26;1H\E[K, - smcup=\E[H\E[J$<156>\E[26;0;0;26p, use=aaa+unk, -aaa-28|ann arbor ambassador/28 lines, - lines#28, - is2=\E7\E[60;0;0;28p\E8, - rmcup=\E[60;0;0;28p\E[28;1H\E[K, - smcup=\E[H\E[J$<156>\E[28;0;0;28p, use=aaa+unk, -aaa-30-s|aaa-s|ann arbor ambassador/30 lines w/status, - eslok, hs, - lines#29, - dsl=\E7\E[60;0;0;30p\E[1;1H\E[K\E[H\E8\r\n\E[K, - fsl=\E[>51l, is2=\r\n\E[A\E7\E[60;1;0;30p\E8, - rmcup=\E[60;1;0;30p\E[29;1H\E[K, - smcup=\E[H\E[J$<156>\E[30;1;0;30p\E[30;1H\E[K, - tsl=\E[>51h\E[1;%p1%dH\E[2K, use=aaa+unk, -aaa-30-s-rv|aaa-s-rv|ann arbor ambassador/30 lines+status+reverse video, - use=aaa+rv, use=aaa-30-s, -aaa-s-ctxt|aaa-30-s-ctxt|ann arbor ambassador/30 lines+status+save context, - rmcup=\E[60;1;0;30p\E[59;1H\E[K, - smcup=\E[30;1H\E[K\E[30;1;0;30p, use=aaa-30-s, -aaa-s-rv-ctxt|aaa-30-s-rv-ct|ann arbor ambassador/30 lines+status+save context+reverse video, - rmcup=\E[60;1;0;30p\E[59;1H\E[K, - smcup=\E[30;1H\E[K\E[30;1;0;30p, use=aaa-30-s-rv, -aaa|aaa-30|ambas|ambassador|ann arbor ambassador/30 lines, - lines#30, - is2=\E7\E[60;0;0;30p\E8, - rmcup=\E[60;0;0;30p\E[30;1H\E[K, - smcup=\E[H\E[J$<156>\E[30;0;0;30p, use=aaa+unk, -aaa-30-rv|aaa-rv|ann arbor ambassador/30 lines in reverse video, - use=aaa+rv, use=aaa-30, -aaa-30-ctxt|aaa-ctxt|ann arbor ambassador/30 lines; saving context, - rmcup=\E[60;0;0;30p\E[60;1H\E[K, smcup=\E[30;0;0;30p, - use=aaa-30, -aaa-30-rv-ctxt|aaa-rv-ctxt|ann arbor ambassador/30 lines reverse video; saving context, - rmcup=\E[60;0;0;30p\E[60;1H\E[K, smcup=\E[30;0;0;30p, - use=aaa+rv, use=aaa-30, -aaa-36|ann arbor ambassador/36 lines, - lines#36, - is2=\E7\E[60;0;0;36p\E8, - rmcup=\E[60;0;0;36p\E[36;1H\E[K, - smcup=\E[H\E[J$<156>\E[36;0;0;36p, use=aaa+unk, -aaa-36-rv|ann arbor ambassador/36 lines+reverse video, - use=aaa+rv, use=aaa-36, -aaa-40|ann arbor ambassador/40 lines, - lines#40, - is2=\E7\E[60;0;0;40p\E8, - rmcup=\E[60;0;0;40p\E[40;1H\E[K, - smcup=\E[H\E[J$<156>\E[40;0;0;40p, use=aaa+unk, -aaa-40-rv|ann arbor ambassador/40 lines+reverse video, - use=aaa+rv, use=aaa-40, -aaa-48|ann arbor ambassador/48 lines, - lines#48, - is2=\E7\E[60;0;0;48p\E8, - rmcup=\E[60;0;0;48p\E[48;1H\E[K, - smcup=\E[H\E[J$<156>\E[48;0;0;48p, use=aaa+unk, -aaa-48-rv|ann arbor ambassador/48 lines+reverse video, - use=aaa+rv, use=aaa-48, -aaa-60-s|ann arbor ambassador/59 lines+status, - eslok, hs, - lines#59, - dsl=\E7\E[60;0;0;60p\E[1;1H\E[K\E[H\E8\r\n\E[K, - fsl=\E[>51l, is2=\r\n\E[A\E7\E[60;1;0;60p\E8, - tsl=\E[>51h\E[1;%p1%dH\E[2K, use=aaa+unk, -aaa-60-s-rv|ann arbor ambassador/59 lines+status+reverse video, - use=aaa+rv, use=aaa-60-s, -aaa-60-dec-rv|ann arbor ambassador/dec mode+59 lines+status+rev video, - use=aaa+dec, use=aaa+rv, use=aaa-60-s, -aaa-60|ann arbor ambassador/60 lines, - lines#60, - is2=\E7\E[60;0;0;60p\E[1Q\E[m\E[>20;30l\E8, - use=aaa+unk, -aaa-60-rv|ann arbor ambassador/60 lines+reverse video, - use=aaa+rv, use=aaa-60, -aaa-db|ann arbor ambassador 30/destructive backspace, - OTbs@, - cub1=\E[D, is3=\E[1Q\E[m\E[>20l\E[>30h, use=aaa-30, - -guru|guru-33|guru+unk|ann arbor guru/33 lines 80 cols, - lines#33, - flash=\E[>59h$<100>\E[>59l, - is2=\E7\E[255;0;0;33;80;80p\E8\E[J, is3=\E[>59l, - rmcup=\E[255p\E[255;1H\E[K, smcup=\E[33p, use=aaa+unk, -guru+rv|guru changes for reverse video, - flash=\E[>59l$<100>\E[>59h, is3=\E[>59h, -guru-rv|guru-33-rv|ann arbor guru/33 lines+reverse video, - use=guru+rv, use=guru-33, -guru+s|guru status line, - eslok, hs, - dsl=\E7\E[;0p\E[1;1H\E[K\E[H\E8\r\n\E[K, fsl=\E[>51l, - rmcup=\E[255;1p\E[255;1H\E[K, smcup=, - tsl=\E[>51h\E[1;%p1%dH\E[2K, -guru-nctxt|guru with no saved context, - smcup=\E[H\E[J$<156>\E[33p\E[255;1H\E[K, use=guru, -guru-s|guru-33-s|ann arbor guru/33 lines+status, - lines#32, - is2=\r\n\E[A\E7\E[255;1;0;33;80;80p\E8\E[J, - smcup=\E[33;1p\E[255;1H\E[K, use=guru+s, use=guru+unk, -guru-24|ann arbor guru 24 lines, - cols#80, lines#24, - is2=\E7\E[255;0;0;24;80;80p\E8\E[J, smcup=\E[24p, - use=guru+unk, -guru-44|ann arbor guru 44 lines, - cols#97, lines#44, - is2=\E7\E[255;0;0;44;97;100p\E8\E[J, smcup=\E[44p, - use=guru+unk, -guru-44-s|ann arbor guru/44 lines+status, - lines#43, - is2=\r\n\E[A\E7\E[255;1;0;44;80;80p\E8\E[J, - smcup=\E[44;1p\E[255;1H\E[K, use=guru+s, use=guru+unk, -guru-76|guru with 76 lines by 89 cols, - cols#89, lines#76, - is2=\E7\E[255;0;0;76;89;100p\E8\E[J, smcup=\E[76p, - use=guru+unk, -guru-76-s|ann arbor guru/76 lines+status, - cols#89, lines#75, - is2=\r\n\E[A\E7\E[255;1;0;76;89;100p\E8\E[J, - smcup=\E[76;1p\E[255;1H\E[K, use=guru+s, use=guru+unk, -guru-76-lp|guru-lp|guru with page bigger than line printer, - cols#134, lines#76, - is2=\E7\E[255;0;0;76;134;134p\E8\E[J, smcup=\E[76p, - use=guru+unk, -guru-76-w|guru 76 lines by 178 cols, - cols#178, lines#76, - is2=\E7\E[255;0;0;76;178;178p\E8\E[J, smcup=\E[76p, - use=guru+unk, -guru-76-w-s|ann arbor guru/76 lines+status+wide, - cols#178, lines#75, - is2=\r\n\E[A\E7\E[255;1;0;76;178;178p\E8\E[J, - smcup=\E[76;1p\E[255;1H\E[K, use=guru+s, use=guru+unk, -guru-76-wm|guru 76 lines by 178 cols with 255 cols memory, - cols#178, lines#76, - is2=\E7\E[255;0;0;76;178;255p\E8\E[J, smcup=\E[76p, - use=guru+unk, -aaa-rv-unk|ann arbor unknown type, - lh#0, lw#0, nlab#0, - blink=\E[5;7m, bold=\E[1;7m, home=\E[H, invis=\E[7;8m, - is1=\E[7m\E7\E[H\E9\E8, rev=\E[m, rmso=\E[7m, rmul=\E[7m, - rs1=\E[H\E[7m\E[J, - sgr=\E[%?%p1%!%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m, - sgr0=\E[7m, smso=\E[m, smul=\E[4;7m, - -#### Applied Digital Data Systems (adds) -# -# ADDS itself is long gone. ADDS was bought by NCR, and the same group made -# ADDS and NCR terminals. When AT&T and NCR merged, the engineering for -# terminals was merged again. Then AT&T sold the terminal business to -# SunRiver, which later changed its name to Boundless Technologies. The -# engineers from Teletype, AT&T terminals, ADDS, and NCR (who are still there -# as of early 1995) are at: -# -# Boundless Technologies -# 100 Marcus Boulevard -# Hauppauge, NY 11788-3762 -# Vox: (800)-231-5445 -# Fax: (516)-342-7378 -# Web: http://boundless.com -# -# Their voice mail used to describe the place as "SunRiver (formerly ADDS)". -# In 1995 Boundless acquired DEC's terminals business. -# - -# Regent: lowest common denominator, works on all regents. -# (regent: renamed ":bc:" to ":le:" -- esr) -regent|Adds Regent Series, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^U, cud1=^J, cuf1=^F, cuu1=^Z, - home=\EY\s\s, ind=^J, ll=^A, -# Regent 100 has a bug where if computer sends escape when user is holding -# down shift key it gets confused, so we avoid escape. -regent100|Adds Regent 100, - xmc#1, - bel=^G, - cup=\013%p1%' '%+%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%c, - kf0=^B1\r, kf1=^B2\r, kf2=^B3\r, kf3=^B4\r, kf4=^B5\r, - kf5=^B6\r, kf6=^B7\r, kf7=^B8\r, lf0=F1, lf1=F2, lf2=F3, - lf3=F4, lf4=F5, lf5=F6, lf6=F7, lf7=F8, rmso=\E0@, rmul=\E0@, - sgr0=\E0@, smso=\E0P, smul=\E0`, use=regent, -regent20|Adds Regent 20, - bel=^G, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, ed=\Ek, el=\EK, - use=regent, -regent25|Adds Regent 25, - bel=^G, kcub1=^U, kcud1=^J, kcuf1=^F, kcuu1=^Z, khome=^A, - use=regent20, -regent40|Adds Regent 40, - xmc#1, - bel=^G, dl1=\El$<2*>, il1=\EM$<2*>, kf0=^B1\r, kf1=^B2\r, - kf2=^B3\r, kf3=^B4\r, kf4=^B5\r, kf5=^B6\r, kf6=^B7\r, - kf7=^B8\r, lf0=F1, lf1=F2, lf2=F3, lf3=F4, lf4=F5, lf5=F6, - lf6=F7, lf7=F8, rmso=\E0@, rmul=\E0@, sgr0=\E0@, smso=\E0P, - smul=\E0`, use=regent25, -regent40+|Adds Regent 40+, - is2=\EB, use=regent40, -regent60|regent200|Adds Regent 60, - dch1=\EE, is2=\EV\EB, kdch1=\EE, kich1=\EF, krmir=\EF, - rmir=\EF, rmso=\ER\E0@\EV, smir=\EF, smso=\ER\E0P\EV, - use=regent40+, -# From: Thu Jul 9 09:27:33 1981 -# (viewpoint: added , function key, and capabilities -- esr) -viewpoint|addsviewpoint|adds viewpoint, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=^L, cnorm=\017\E0`, cr=^M, cub1=^H, cud1=^J, - cuf1=^F, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, - cvvis=\017\E0P, dl1=\El, ed=\Ek$<16.1*>, el=\EK$<16>, - ind=^J, is2=\017\E0`, kcub1=^U, kcud1=^J, kcuf1=^F, kcuu1=^Z, - kf0=^B1, kf2=^B2, kf3=^B!, kf4=^B", kf5=^B#, khome=^A, ll=^A, - rmso=^O, rmul=^O, sgr0=^O, smso=^N, smul=^N, -# Some viewpoints have bad ROMs that foo up on ^O -screwpoint|adds viewpoint with ^O bug, - cvvis@, rmso@, rmul@, smso@, smul@, use=viewpoint, - -# From: Jay S. Rouman 5 Jul 92 -# The /// strings were added by ESR from specs. -# Theory; the vp3a+ wants \E0%c to set highlights, where normal=01000000, -# underline=01100000, rev=01010000, blink=01000010,dim=01000001, -# invis=01000100 and %c is the logical or of desired attributes. -# There is also a `tag bit' enabling attributes, set by \E) and unset by \E(. -# -# Update by TD - 2004: -# Adapted from -# http://www.cs.utk.edu/~shuford/terminal/adds_viewpoint_news.txt -# -# COMMANDS ASCII CODE -# -# Address, Absolute ESC,=,row,column -# Beep BEL -# Aux Port Enable ESC,@ -# Aux Port Disable ESC,A -# Backspace BS -# Cursor back BS -# Cursor down LF -# Cursor forward FF -# Cursor home RS -# Cursor up VT -# Cursor supress ETB -# Cursor enable CAN -# Erase to end of line ESC,T -# Erase to end of page ESC,Y -# Erase screen SUB -# Keyboard lock SI -# Keyboard unlock SO -# Read current cursor position ESC,? -# Set Attribute ESC,0,x (see below for values of x) -# Tag bit reset ESC,( -# Tag bit set ESC,) -# Transparent Print on ESC,3 -# Transparent Print off ESC,4 -# -# -# ATTRIBUTES -# -# Normal @ 0100 -# Half Intensity A 0101 -# Blinking B 0102 -# Half Intensity Blinking C 0103 -# Reverse Video P 0120 -# Reverse Video Half Intensity Q 0121 -# Reverse Video Blinking R 0122 -# Reverse Video Half Intensity -# Blinking S 0123 -# Underlined ` 0140 -# Underlined Half Intensity a 0141 -# Underlined Blinking b 0142 -# Underlined Half Intensity -# Blinking c 0143 -# Video suppress D 0104 -vp3a+|viewpoint3a+|adds viewpoint 3a+, - am, bw, - cols#80, it#8, lines#24, - blink=\E0B\E), civis=^W, clear=\E*$<80>, cnorm=^X, cr=^M, - cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dim=\E0A\E), - ed=\EY$<80>, el=\ET, home=^^, ht=^I, ind=^J, invis=\E0D\E), - kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, - nel=^M^J, rev=\E0P\E), rmso=\E(, - sgr=%?%p1%p2%|%p3%|%p4%|%p5%|%p7%|%t\E0%{64}%?%p1%t%{17}%|%;%?%p2%t%{32}%|%;%?%p3%t%{16}%|%;%?%p4%t%{2}%|%;%?%p5%t%{1}%|%;%c%?%p7%tD%;\E)%e\E(%;, - sgr0=\E(, smso=\E0Q\E), smul=\E0`\E), -vp60|viewpoint60|addsvp60|adds viewpoint60, - use=regent40, -# -# adds viewpoint 90 - from cornell -# Note: emacs sends ei occasionally to insure the terminal is out of -# insert mode. This unfortunately puts the viewpoint90 IN insert -# mode. A hack to get around this is . (Also, -# - :ei=:im=: must be present in the termcap translation.) -# - indicates glitch that attributes stick to location -# - means it's safe to move in standout mode -# - : clears screen and visual attributes without affecting -# the status line -# Function key and label capabilities merged in from SCO. -vp90|viewpoint90|adds viewpoint 90, - OTbs, bw, msgr, xhp, - cols#80, lines#24, - clear=\EG\Ek, cub1=^H, cud1=^J, cuf1=^F, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, dch1=\EE, - dl1=\El, ed=\Ek, el=\EK, home=\EY\s\s, ht=^I, - ich1=\EF \EF\025, ind=^J, kbs=^H, kcub1=^U, kcud1=^J, - kcuf1=^F, kcuu1=^Z, kf0=^B1\r, kf1=^B2\r, kf10=^B;\r, - kf2=^B3\r, kf3=^B4\r, kf4=^B5\r, kf5=^B6\r, kf6=^B7\r, - kf7=^B8\r, kf8=^B9\r, kf9=^B\:\r, khome=^A, lf0=F1, lf1=F2, - lf10=F11, lf2=F3, lf3=F4, lf4=F5, lf5=F6, lf6=F7, lf7=F8, lf8=F9, - lf9=F10, ll=^A, rmso=\ER\E0@\EV, rmul=\ER\E0@\EV, - sgr0=\ER\E0@\EV, smso=\ER\E0Q\EV, smul=\ER\E0`\EV, -# Note: if return acts weird on a980, check internal switch #2 -# on the top chip on the CONTROL pc board. -adds980|a980|adds consul 980, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\014$<1>\013@, cr=^M, cub1=^H, cud1=^J, - cuf1=\E^E01, cup=\013%p1%{64}%+%c\E\005%p2%2d, - dl1=\E\017$<13>, il1=\E\016$<13>, ind=^J, kf0=\E0, kf1=\E1, - kf2=\E2, kf3=\E3, kf4=\E4, kf5=\E5, kf6=\E6, kf7=\E7, kf8=\E8, - kf9=\E9, rmso=^O, sgr0=^O, smso=^Y^^^N, - -#### C. Itoh Electronics -# -# As of 1995 these people no longer make terminals (they're still in the -# printer business). Their terminals were all clones of the DEC VT series. -# They're located in Orange County, CA. -# - -# CIT 80 - vt-52 emulator, the termcap has been modified to remove -# the delay times and do an auto tab set rather than the indirect -# file used in vt100. -cit80|cit-80|citoh 80, - OTbs, am, - cols#80, lines#24, - clear=\E[H\EJ, cr=^M, cub1=^H, cuf1=\E[C, - cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\EJ, el=\EK, ff=^L, - ind=^J, is2=\E>, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, - kcuu1=\EOA, rmkx=\E[?1l\E>, smkx=\E[?1h\E=, -# From: Tim Wood Fri Sep 27 09:39:12 PDT 1985 -# (cit101: added / based on init string, merged this with c101 -- esr) -cit101|citc|C.itoh fast vt100, - OTbs, am, xenl, - cols#80, lines#24, - bel=^G, clear=\E[H\E[2J, cnorm=\E[V\E8, cub1=^H, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, cvvis=\E7\E[U, - dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, - flash=\E[?5h$<200/>\E[?5l, ich1=\E[@, il1=\E[L, - is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[3g\E[>5g, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m, - smul=\E[4m, -# CIE Terminals CIT-101e from Geoff Kuenning via BRL -# The following termcap entry was created from the Callan cd100 entry. The -# last two lines (with the capabilities in caps) are used by RM-cobol to allow -# full selection of combinations of reverse video, underline, and blink. -# (cit101e: removed unknown :f0=\EOp:f1=\EOq:f2=\EOr:f3=\EOs:f4=\EOt:f5=\EOu:\ -# f6=\EOv:f7=\EOw:f8=\EOx:f9=\EOy:AB=\E[0;5m:AL=\E[m:AR=\E[0;7m:AS=\E[0;5;7m:\ -# :NB=\E[0;1;5m:NM=\E[0;1m:NR=\E[0;1;7m:NS=\E[0;1;5;7m: -- esr) -cit101e|C. Itoh CIT-101e, - OTbs, OTpt, am, mir, msgr, - cols#80, it#8, lines#24, - acsc=, clear=\E[H\E[J, cnorm=, csr=\E[%i%p1%2d;%p2%2dr, - cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, - cvvis=\E[?1l\E[?4l\E[?7h, dch1=\E[P, dl1=\E[M, ed=\E[J, - el=\E[K, if=/usr/share/tabset/vt100, il1=\E[L, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\EOT, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOm, kf6=\EOl, - kf7=\EOM, kf8=\EOn, rc=\E8, ri=\EM, rmacs=^O, rmir=\E[4l, - rmkx=\E>, rmso=\E[m, rmul=\E[m, sc=\E7, smacs=^N, smir=\E[4h, - smkx=\E=, smso=\E[7m, smul=\E[4m, -# From: David S. Lawyer, June 1997: -# The CIT 101-e was made in Japan in 1983-4 and imported by CIE -# Terminals in Irvine, CA. It was part of CITOH Electronics. In the -# late 1980's CIT Terminals went out of business. -# There is no need to use the initialization string is=... (by invoking -# tset or setterm etc.) provided that the terminal has been manually set -# up (and the setup saved with ^S) to be compatible with this termcap. To be -# compatible it should be in ANSI mode (not VT52). A set-up that -# works is to set all the manually setable stuff to factory defaults -# by pressing ^D in set-up mode. Then increse the brighness with the -# up-arrow key since the factory default will likely be dim on an old -# terminal. Then change any options you want (provided that they are -# compatible with the termcap). For my terminal I set: Screen -# Background: light; Keyclicks: silent; Auto wraparound: on; CRT saver: -# on. I also set up mine for parity (but you may not need it). Then -# save the setup with ^S. -# (cit101e-rv: added empty to suppress a tic warning. --esr) -cit101e-rv|Citoh CIT-101e (sets reverse video), - am, eo, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, - OTnl=\EM, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, - civis=\E[1v, clear=\E[H\E[J, cnorm=\E[0;3;4v, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[3;5v, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, flash=\E[?5l\E[?5h$<200/>, - home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, - is2=\E<\E>\E[?1l\E[?3l\E[?4l\E[?5h\E[?7h\E[?8h\E[3g\E[>5g\E(B\E[m\E[20l\E[1;24r\E[24;1H, - kbs=\177, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\EE, rc=\E8, - rev=\E[7m, ri=\EM, rin=\E[%p1%dT, rmcup=, rmir=\E[4l, - rmso=\E[m, rmul=\E[m, rs1=\Ec\E[?7h\E[>5g, sc=\E7, - sgr0=\E[m, smcup=\E[>5g\E[?7h\E[?5h, smir=\E[4h, - smso=\E[7m, smul=\E[4m, tbc=\E[3g, u6=\E[%i%p1%d;%p2%dR, - u7=\E[6n, u8=\E[?6c, u9=\E[c, -cit101e-n|CIT-101e w/o am, - am@, - cvvis=\E[?1l\E[?4l\E[?7l, kbs=^H, kcub1=^H, kcud1=^J, - use=cit101e, -cit101e-132|CIT-101e with 132 cols, - cols#132, - kbs=^H, kcub1=^H, kcud1=^J, use=cit101e, -cit101e-n132|CIT-101e with 132 cols w/o am, - am@, - cols#132, - cvvis=\E[?1l\E[?4l\E[?7l, kbs=^H, kcub1=^H, kcud1=^J, - use=cit101e, -# CIE Terminals CIT-500 from BRL -# The following SET-UP modes are assumed for normal operation: -# GENERATE_XON/XOFF:YES DUPLEX:FULL NEWLINE:OFF -# AUTOWRAP:ON MODE:ANSI SCREEN_LENGTH:64_LINES -# DSPLY_CNTRL_CODES?NO PAGE_WIDTH:80 EDIT_MODE:OFF -# Other SET-UP modes may be set for operator convenience or communication -# requirements. -# Hardware tabs are assumed to be set every 8 columns; they can be set up -# by the "reset", "tset", or "tabs" utilities. No delays are specified; use -# "stty ixon -ixany" to enable DC3/DC1 flow control! -# (cit500: I added / based on the init string -- esr) -cit500|CIE Terminals CIT-500, - OTbs, OTpt, mir, msgr, xon, - OTkn#10, cols#80, it#8, lines#64, vt#3, - acsc=, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, - clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\EM, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ed=\EJ, el=\EK, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, - il1=\E[L, ind=^J, is2=\E<\E)0, kbs=^H, kcbt=\E[Z, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[P, kdl1=\E[M, - ked=\EJ, kel=\EK, kf0=\EOP, kf1=\EOQ, kf2=\EOR, kf3=\EOS, - kf4=\EOU, kf5=\EOV, kf6=\EOW, kf7=\EOX, kf8=\EOY, kf9=\EOZ, - khome=\E[H, kich1=\E[4h, kil1=\E[L, krmir=\E[4l, lf0=PF1, - lf1=PF2, lf2=PF3, lf3=PF4, lf4=F15, lf5=F16, lf6=F17, lf7=F18, - lf8=F19, lf9=F20, ll=\E[64H, nel=\EE, rc=\E8, rev=\E[7m, - ri=\EM, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, - rmso=\E[m, rmul=\E[m, - rs1=\E<\E2\E[20l\E[?6l\E[r\E[m\E[q\E(B\017\E)0\E>, - sc=\E7, sgr0=\E[m, smacs=^N, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - -# C. Itoh printers begin here -citoh|ci8510|8510|c.itoh 8510a, - cols#80, it#8, - bold=\E!, cub1@, - is2=\E(009\,017\,025\,033\,041\,049\,057\,065\,073., - rep=\ER%p2%03d%p1%c, ri=\Er, rmul=\EY, sgr0=\E"\EY, - smul=\EX, use=lpr, -citoh-pica|citoh in pica, - is1=\EN, use=citoh, -citoh-elite|citoh in elite, - cols#96, - is1=\EE, - is2=\E(009\,017\,025\,033\,041\,049\,057\,065\,073\,081\,089., - use=citoh, -citoh-comp|citoh in compressed, - cols#136, - is1=\EQ, - is2=\E(009\,017\,025\,033\,041\,049\,057\,065\,073\,081\,089\,097\,105\,113\,121\,129., - use=citoh, -# citoh has infinite cols because we don't want lp ever inserting \n\t**. -citoh-prop|citoh-ps|ips|citoh in proportional spacing mode, - cols#32767, - is1=\EP, use=citoh, -citoh-6lpi|citoh in 6 lines per inch mode, - is3=\EA, use=citoh, -citoh-8lpi|citoh in 8 lines per inch mode, - lines#88, - is3=\EB, use=citoh, - -#### Control Data (cdc) -# - -cdc456|cdc 456 terminal, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=^Y^X, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E1%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, dl1=\EJ, ed=^X, - el=^V, home=^Y, il1=\EL, ind=^J, - -# Assorted CDC terminals from BRL (improvements by DAG & Ferd Brundick) -cdc721|CDC Viking, - OTbs, am, - cols#80, lines#24, - clear=^L, cuf1=^X, cup=\002%p2%{32}%+%c%p1%{32}%+%c, - cuu1=^W, el=^K, home=^Y, kcub1=^H, kcud1=^J, kcuf1=^I, - kcuu1=^W, khome=^Y, -cdc721ll|CDC Vikingll, - OTbs, am, - cols#132, lines#24, - clear=^L, cuf1=^X, cup=\002%p2%{32}%+%c%p1%{32}%+%c, - cuu1=^W, el=^K, home=^Y, kcub1=^H, kcud1=^J, kcuf1=^I, - kcuu1=^W, khome=^Y, -# (cdc752: the BRL entry had :ll=\E1 ^Z: commented out -cdc752|CDC 752, - OTbs, am, bw, xhp, - cols#80, lines#24, - bel=^G, clear=\030\E1\s\s, cr=^M, cub1=^H, cud1=^J, cuf1=^U, - cup=\E1%p2%{32}%+%c%p1%{32}%+%c, cuu1=^Z, el=^V, - home=\E1\s\s, ind=^J, ll=^Y, rs1=\E1 \030\002\003\017, -# CDC 756 -# The following switch/key settings are assumed for normal operation: -# 96 chars SCROLL FULL duplex not BLOCK -# Other switches may be set according to communication requirements. -# Insert/delete-character cannot be used, as the whole display is affected. -# "so" & "se" are commented out until jove handles "sg" correctly. -cdc756|CDC 756, - OTbs, am, bw, - OTkn#10, cols#80, lines#24, - bel=^G, clear=^Y^X, cr=^M, cub1=^H, cud1=^J, cuf1=^U, - cup=\E1%p2%{32}%+%c%p1%{32}%+%c, cuu1=^Z, - dl1=\EJ$<6*/>, ed=^X, el=^V, home=^Y, il1=\EL$<6*/>, ind=^J, - kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^U, kcuu1=^Z, kdch1=\EI, - kdl1=\EL, ked=^X, kel=^V, kf0=\EA, kf1=\EB, kf2=\EC, kf3=\ED, - kf4=\EE, kf5=\EF, kf6=\EG, kf7=\EH, kf8=\Ea, kf9=\Eb, khome=^Y, - khts=^O, kich1=\EK, kil1=\EL, lf0=F1, lf1=F2, lf2=F3, lf3=F4, - lf4=F5, lf5=F6, lf6=F7, lf7=F8, lf8=F9, lf9=F10, ll=^Y^Z, - rs1=\031\030\002\003\017, -# -# CDC 721 from Robert Viduya, Ga. Tech. via BRL. -# -# Part of the long initialization string defines the "DOWN" key to the left -# of the tab key to send an ESC. The real ESC key is positioned way out -# in right field. -# -# The termcap won't work in 132 column mode due to the way it it moves the -# cursor. Termcap doesn't have the capability (as far as I could tell) to -# handle the 721 in 132 column mode. -# -# (cdc721: changed :ri: to :sr: -- esr) -cdc721-esc|Control Data 721, - OTbs, OTpt, am, bw, msgr, xon, - OTkn#10, cols#80, it#8, lines#30, - bel=^G, blink=^N, cbt=^^^K, clear=^L, cub1=^H, cud1=^Z, - cuf1=^X, cup=\002%p2%{32}%+%c%p1%{32}%+%c, cuu1=^W, - dch1=^^N, dim=^\, dl1=^^Q, ed=^^P, el=^K, home=^Y, hts=^^^RW, - ich1=^^O, il1=^^R, ind=\036W =\036U, invis=^^^R[, - is2=\036\022B\003\036\035\017\022\025\035\036E\036\022H\036\022J\036\022L\036\022N\036\022P\036\022Q\036\022\036\022\^\036\022b\036\022i\036W =\036\022Z\036\011C1-` `!k/o, - kbs=^H, kcub1=^H, kcud1=^Z, kcuf1=^X, kcuu1=^W, kf0=^^q, - kf1=^^r, kf2=^^s, kf3=^^t, kf4=^^u, kf5=^^v, kf6=^^w, kf7=^^x, - kf8=^^y, kf9=^^z, khome=^Y, ll=^B =, rev=^^D, - ri=\036W =\036V, rmir=, rmkx=^^^Rl, rmso=^^E, rmul=^], - sgr0=\017\025\035\036E\036\022\\, smir=, smkx=^^^Rk, - smso=^^D, smul=^\, tbc=^^^RY, - -#### Getronics -# -# Getronics is a Dutch electronics company that at one time was called -# `Geveke' and made async terminals; but (according to the company itself!) -# they've lost all their documentation on the command set. The hardware -# documentation suggests the terminals were actually manufactured by a -# Taiwanese electronics company named Cal-Comp. There are known -# to have been at least two models, the 33 and the 50. -# - -# The 50 seems to be a top end vt220 clone, with the addition of a higher -# screen resolution, a larger screen, at least 1 page of memory above and -# below the screen, apparently pages of memory right and left of the screen -# which can be panned, and about 75 function keys (15 function keys x normal, -# shift, control, func A, func B). It also has more setup possibilities than -# the vt220. The monitor case is dated November 1978 and the keyboard case is -# May 1982. -# -# The vt100 emulation works as is. The entry below describes the rather -# non-conformant (but more featureful) ANSI mode. -# -# From: Stephen Peterson , 27 May 1995 -visa50|geveke visa 50 terminal in ansi 80 character mode, - bw, mir, msgr, - cols#80, lines#25, - acsc=0_aaffggh jjkkllmmnnooqqssttuuvvwwxx, bel=^G, - blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dX, dch1=\E[X, dim=\E[2m, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l, home=\E[H, - hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, ich1=\E[@, - il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m, - is2=\E0;2m\E[1;25r\E[25;1H\E[?3l\E[?7h\E[?8h, - ka1=\E[f, ka3=\EOQ, kb2=\EOP, kbs=^H, kc1=\EOR, kc3=\EOS, - kcub1=\E[D, kcud1=\E[A, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, - kdl1=\EOS, kf0=\E010, kf1=\E001, kf10=\E011, kf2=\E002, - kf3=\E003, kf4=\E004, kf5=\E005, kf6=\E006, kf7=\E007, - kf8=\E008, kf9=\E009, khome=\E[f, lf2=A delete char, - lf3=A insert line, lf4=A delete line, lf5=A clear, - lf6=A ce of/cf gn, lf7=A print, lf8=A on-line, - lf9=A funcl0=A send, nel=^M^J, rev=\E[7m, rmacs=\E[3l, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[0;2m, - rmul=\E[0m, sgr0=\E[0;2m, smacs=\E3h, smam=\E?7h, - smir=\E[4h, smkx=\E=, smso=\E[2;7m, smul=\E[4m, tbc=\E[3g, - vpa=\E[%i%p1%dd, - -#### Human Designed Systems (Concept) -# -# Human Designed Systems -# 400 Fehley Drive -# King of Prussia, PA 19406 -# Vox: (610)-277-8300 -# Fax: (610)-275-5739 -# Net: support@hds.com -# -# John Martin is their termcap expert. They're mostly out of -# the character-terminal business now (1995) and making X terminals. In -# particular, the whole `Concept' line described here was discontinued long -# ago. -# - -# From: Sat Jun 27 07:41:20 1981 -# Extensive changes to c108 by arpavax:eric Feb 1982 -# Some unknown person at SCO then translated it to terminfo. -# -# There seem to be a number of different versions of the C108 PROMS -# (with bug fixes in its Z-80 program). -# -# The first one that we had would lock out the keyboard of you -# sent lots of short lines (like /usr/dict/words) at 9600 baud. -# Try that on your C108 and see if it sends a ^S when you type it. -# If so, you have an old version of the PROMs. -# -# You should configure the C108 to send ^S/^Q before running this. -# It is much faster (at 9600 baud) than the c100 because the delays -# are not fixed. -# new status line display entries for c108-8p: -# - init str #3 - setup term for status display - -# set programmer mode, select window 2, define window at last -# line of memory, set bkgnd stat mesg there, select window 0. -# -# - to status line - select window 2, home cursor, erase to -# end-of-window, 1/2 bright on, goto(line#0, col#?) -# -# - from status line - 1/2 bright off, select window 0 -# -# - disable status display - set bkgnd status mesg with -# illegal window # -# -# There are probably more function keys that should be added but -# I don't know what they are. -# -# No delays needed on c108 because of ^S/^Q handshaking -# -c108|concept108|c108-8p|concept108-8p|concept 108 w/8 pages, - is3=\EU\E z"\Ev\001\177 !p\E ;"\E z \Ev \001\177p\Ep\n, - rmcup=\Ev \001\177p\Ep\r\n, use=c108-4p, -c108-4p|concept108-4p|concept 108 w/4 pages, - OTbs, eslok, hs, xon, - pb@, - acsc=jEkTl\\mMqLxU, cnorm=\Ew, cr=^M, - cup=\Ea%p1%?%p1%{95}%>%t\001%{96}%-%;%{32}%+%c%p2%?%p2%{95}%>%t\001%{96}%-%;%{32}%+%c, - cvvis=\EW, dch1=\E 1$<16*>, dsl=\E ;\177, fsl=\Ee\E z\s, - ind=^J, is1=\EK\E!\E F, - is3=\EU\E z"\Ev\177 !p\E ;"\E z \Ev \001 p\Ep\n, - rmacs=\Ej\s, rmcup=\Ev \001 p\Ep\r\n, smacs=\Ej!, - smcup=\EU\Ev 8p\Ep\r\E\025, - tsl=\E z"\E?\E\005\EE\Ea %+\s, use=c100, -c108-rv|c108-rv-8p|concept 108 w/8 pages in reverse video, - rmcup=\Ev \002 p\Ep\r\n, smcup=\EU\Ev 8p\Ep\r, - use=c108-rv-4p, -c108-rv-4p|concept108rv4p|concept 108 w/4 pages in reverse video, - flash=\EK$<200>\Ek, is1=\Ek, rmso=\Ee, smso=\EE, - use=c108-4p, -c108-w|c108-w-8p|concept108-w-8|concept108-w8p|concept 108 w/8 pages in wide mode, - cols#132, - is1=\E F\E", rmcup=\Ev ^A0\001D\Ep\r\n, - smcup=\EU\Ev 8\001D\Ep\r, use=c108-8p, - -# Concept 100: -# These have only window relative cursor addressing, not screen -# relative. To get it to work right here, smcup/rmcup (which -# were invented for the concept) lock you into a one page -# window for screen style programs. -# -# To get out of the one page window, we use a clever trick: -# we set the window size to zero ("\Ev " in rmcup) which the -# terminal recognizes as an error and resets the window to all -# of memory. -# -# This trick works on c100 but does not on c108, sigh. -# -# Some tty drivers use cr3 for concept, others use nl3, hence -# the delays on cr and ind below. This padding is only needed at -# 9600 baud and up. One or the other is commented out depending on -# local conventions. -# -# 2 ms padding on isn't always enough. 6 works fine. Maybe -# less than 6 but more than 2 will work. -# -# Note: can't use function keys f7-f10 because they are -# indistinguishable from arrow keys (!), also, del char and -# clear eol use xon/xoff so they probably won't work very well. -# -# Also note that we don't define insrt/del char/delline/eop/send -# because they don't transmit unless we reset them - I figured -# it was a bad idea to clobber their definitions. -# -# The sequence changes the escape character to ^^ so that -# escapes will be passed through to the printer. Only trouble -# is that ^^ won't be - ^^ was chosen to be unlikely. -# Unfortunately, if you're sending raster bits through to be -# plotted, any character you choose will be likely, so we lose. -# -# \EQ"\EY(^W (send anything from printer to host, for xon/xoff) -# cannot be # in is2 because it will hang a c100 with no printer -# if sent twice. -c100|concept100|concept|c104|c100-4p|hds concept 100, - OTbs, am, eo, mir, ul, xenl, - cols#80, lines#24, pb#9600, vt#8, - bel=^G, blink=\EC, clear=\E?\E\005$<2*>, cr=$<9>\r, - cub1=^H, cud1=^J, cuf1=\E=, - cup=\Ea%p1%{32}%+%c%p2%{32}%+%c, cuu1=\E;, - dch1=\E\021$<16*>, dim=\EE, dl1=\E\002$<3*>, - ed=\E\005$<16*>, el=\E\025$<16>, flash=\Ek$<200>\EK, - ht=\011$<8>, il1=\E\022$<3*>, ind=^J, invis=\EH, ip=$<16*>, - is1=\EK, - is2=\EU\Ef\E7\E5\E8\El\ENH\E\0\Eo&\0\Eo'\E\Eo!\0\E\007!\E\010A@ \E4#\:"\E\:a\E4#;"\E\:b\E4#<"\E\:c, - is3=\Ev $<6>\Ep\n, kbs=^H, kcbt=\E', kctab=\E_, - kcub1=\E>, kcud1=\E<, kcuf1=\E=, kcuu1=\E;, kdch1=\E^Q, - kdl1=\E^B, ked=\E^C, kel=\E^S, kf1=\E5, kf2=\E6, kf3=\E7, - kf4=\E8, kf5=\E9, kf6=\E\:a, kf7=\E\:b, kf8=\E\:c, khome=\E?, - khts=\E], kich1=\E^P, kil1=\E^R, kind=\E[, knp=\E-, kpp=\E., - kri=\E\\, krmir=\E\0, mc4=\036o \E\EQ!\EYP\027, - mc5=\EQ"\EY(\027\EYD\Eo \036, prot=\EI, - rep=\Er%p1%c%p2%{32}%+%c$<.2*>, rev=\ED, - rmcup=\Ev $<6>\Ep\r\n, rmir=\E\s\s, rmkx=\Ex, - rmso=\Ed, rmul=\Eg, sgr0=\EN@, - smcup=\EU\Ev 8p\Ep\r\E\025$<16>, smir=\E^P, smkx=\EX, - smso=\ED, smul=\EG, -c100-rv|c100-rv-4p|concept100-rv|c100 rev video, - cnorm@, cvvis@, flash=\EK$<200>\Ek, is1=\Ek, rmso=\Ee, - smso=\EE, use=c100, -oc100|oconcept|c100-1p|old 1 page concept 100, - in, - is3@, use=c100, - -# From: Walter Skorski , 16-oct-1996. -# Lots of notes, originally inline, but ncurses doesn't grok that. -# -# am: not available in power on mode, but turned on with \E[=107;207h in -# is2=. Also, \E=124l in is2= could have been used to prevent needing -# to specify xenl:, but that would have rendered the last space on the -# last line useless. -# bw: Not available in power on mode, but turned on with \E[=107;207h in -# is2=. -# clear: Could be done with \E[2J alone, except that vi (and probably most -# other programs) assume that this also homes the cursor. -# dsl: Go to window 2, go to the beginning of the line, use a line feed to -# scroll the window, and go back to window 1. -# is2: the string may cause a warning to be issued by tic that it -# found a very long line and that it suspects that a comma is missing -# somewhere. This warning can be ignored (unless it comes up more than -# once). The initialization string contains the following commands: -# -# [Setup mode items changed from factory defaults:] -# \E)0 set alternate character set to -# graphics -# ^O set character set to default -# [In case it wasn't] -# \E[m turn off all attributes -# [In case they weren't off] -# \E[=107; cursor wrap and -# 207h character wrap on -# \E[90;3u set Fkey definitions to "transmit" -# defaults -# \E[92;3u set cursor key definitions to -# "transmit" defaults -# \E[43;1u set shift F13 to transmit... -# \177\E$P\177 -# \E[44;1u set shift F14 to transmit... -# \177\E$Q\177 -# \E[45;1u set shift F15 to transmit... -# \177\E$R\177 -# \E[46;1u set shift F16 to transmit... -# \177\E$S\177 -# \E[200;1u set shift up to transmit... -# \177\E$A\177 -# \E[201;1u set shift down to transmit... -# \177\E$B\177 -# \E[202;1u set shift right to transmit... -# \177\E$C\177 -# \E[203;1u set shift left to transmit... -# \177\E$D\177 -# \E[204;1u set shift home to transmit... -# \177\E$H\177 -# \E[212;1u set backtab to transmit... -# \177\E$I\177 -# \E[213;1u set shift backspace to transmit... -# \177\E$^H\177 -# \E[214;1u set shift del to transmit... -# "\E$\177" -# [Necessary items not mentioned in setup mode:] -# \E[2!w move to window 2 -# \E[25;25w define window as line 25 of memory -# \E[!w move to window 1 -# \E[2*w show current line of window 2 as -# status line -# \E[2+x set meta key to use high bit -# \E[;3+} move underline to bottom of character -# -# All Fkeys are set to their default transmit definitions with \E[90;3u -# in is2=. IMPORTANT: to use this terminal definition, the "quit" stty -# setting MUST be redefined or deactivated, because the default is -# contained in almost all of this terminal's Fkey strings! If for some -# reason "quit" cannot be altered, the Fkeys can, but it would be -# necessary to change ^| to ^] in all of these definitions, and add -# \E[2;029!t to is2. -# lines: is set to 24 because this terminal refuses to treat the 25th -# line normally. -# ll: Not available in power on mode, but turned on with \E[=107;207h in -# is2=. -# lm: Pointless, given that this definition locks a single screen of -# memory into view, but what the hey... -# rmso: Could use \E[1;7!{ to turn off only bold and reverse (leaving any -# other attributes alone), but some programs expect this to turn off -# everything. -# rmul: Could use \E[4!{ to turn off only underline (leaving any other -# attributes alone), but some programs expect this to turn off -# everything. -# sgr: Attributes are set on this terminal with the string \E[ followed by -# a list of attribute code numbers (in decimal, separated by -# semicolons), followed by the character m. The attribute code -# numbers are: -# 1 for bold; -# 2 for dim (which is ignored in power on mode); -# 4 for underline; -# 5 for blinking; -# 7 for inverse; -# 8 for not displayable; and -# =99 for protected (except that there are strange side -# effects to protected characters which make them inadvisable). -# The mapping of terminfo parameters to attributes is as follows: -# %p1 (standout) = bold and inverse together; -# %p2 (underline) = underline; -# %p3 (reverse) = inverse; -# %p4 (blink) = blinking; -# %p5 (dim) is ignored; -# %p6 (bold) = bold; -# %p7 (invisible) = not displayable; -# %p8 (protected) is ignored; and -# %p9 (alt char set) = alt char set. -# The code to do this is: -# \E[0 OUTPUT \E[0 -# %?%p1%p6%O IF (standout; bold) OR -# %t;1 THEN OUTPUT ;1 -# %; ENDIF -# %?%p2 IF underline -# %t;4 THEN OUTPUT ;4 -# %; ENDIF -# %?%p4 IF blink -# %t;5 THEN OUTPUT ;5 -# %; ENDIF -# %?%p1%p3%O IF (standout; reverse) OR -# %t;7 THEN OUTPUT ;7 -# %; ENDIF -# %?%p7 IF invisible -# %t;8 THEN OUTPUT ;8 -# %; ENDIF -# m OUTPUT m -# %?%p9 IF altcharset -# %t^N THEN OUTPUT ^N -# %e^O ELSE OUTPUT ^O -# %; ENDIF -# sgr0: Everything is turned off (including alternate character set), since -# there is no way of knowing what it is that the program wants turned -# off. -# smul: The "underline" attribute is reconfigurable to an overline or -# strikethru, or (as done with \E[;3+} in is2=), to a line at the true -# bottom of the character cell. This was done to allow for more readable -# underlined characters, and to be able to distinguish between an -# underlined space, an underscore, and an underlined underscore. -# xenl: Terminal can be configured to not need this, but this "glitch" -# behavior is actually preferable with autowrap terminals. -# -# Parameters kf31= thru kf53= actually contain the strings sent by the shifted -# Fkeys. There are no parameters for shifted Fkeys in terminfo. The is2 -# string modifies the 'O' in kf43 to kf46 to a '$'. -# -# kcbt was originally ^I but redefined in is2=. -# kHOM was \E[H originally but redefined in is2=, as were a number of -# other keys. -# kDC was originally \177 but redefined in is2=. -# -# kbs: Shift was also ^H originally but redefined as \E$^H in is2=. -# tsl: Go to window 2, then do an hpa=. -# -#------- flash=\E[8;3!}^G\E[3;3!} -#------- flash=\E[?5h$<100>\E[?5l -# There are two ways to flash the screen, both of which have their drawbacks. -# The first is to set the bell mode to video, transmit a bell character, and -# set the bell mode back - but to what? There is no way of knowing what the -# user's old bell setting was before we messed with it. Worse, the command to -# set the bell mode also sets the key click volume, and there is no way to say -# "leave that alone", or to know what it's set to, either. -# The second way to do a flash is to set the screen to inverse video, pad for a -# tenth of a second, and set it back - but like before, there's no way to know -# that the screen wasn't ALREADY in inverse video, or that the user may prefer -# it that way. The point is moot anyway, since vi (and probably other -# programs) assume that by defining flash=, you want the computer to use it -# INSTEAD of bel=, rather than as a secondary type of signal. -# -#------- cvvis=\E[+{ -# The is the power on setting, which is also as visible as the cursor -# gets. -#------- wind=\E[%i%p1%d;%p2%d;%p3%{1}%+%d;%p4%{1}%+%dw -# Windowing is possible, but not defined here because it is also used to -# emulate status line functions. Allowing a program to set a window could -# clobber the status line or render it unusable. There is additional memory, -# but screen scroll functions are destructive and do not make use of it. -# -#------- dim= Not available in power on mode. -# You have a choice of defining low intensity characters as "half bright" and -# high intensity as "normal", or defining low as "normal" and high as "bold". -# No matter which you choose, only one of either "half bright" or "bold" is -# available at any time, so taking the time to override the default is -# pointless. -# -#------- prot=\E[=0;99m -# Not defined, because it appears to have some strange side effects. -#------- pfkey=%?%p1%{24}%<%p1%{30}%>%p1%{54}%<%A%O%t\E[%p1%du\177%p2%s\177%; -#------- pfloc=%?%p1%{24}%<%p1%{30}%>%p1%{54}%<%A%O%t\E[%p1%du\177%p2%s\177%; -#------- pfx=%?%p1%{24}%<%p1%{30}%>%p1%{54}%<%A%O%t\E[%p1%d;1u\177%p2%s\177%; -# Available, but making them available to programs is inadvisable. -# The code to do this is: -# %?%p1%{24}%< IF ((key; 24) <; -# %p1%{30}%> ((key; 30) >; -# %p1%{54}%< (key; 54) < -# %A ) AND -# %O ) OR -# [that is, "IF key < 24 OR (key > 30 AND key < 54)",] -# %t\E[ THEN OUTPUT \E[ -# %p1%d OUTPUT (key) as decimal -# [next line applies to pfx only] -# ;1 OUTPUT ;1 -# u OUTPUT u -# \177 OUTPUT \177 -# %p2%s OUTPUT (string) as string -# \177 OUTPUT \177 -# [DEL chosen as delimiter, but could be any character] -# [implied: ELSE do nothing] -# %; ENDIF -# -#------- rs2= -# Not defined since anything it might do could be done faster and easier with -# either Meta-Shift-Reset or the main power switch. -# -#------- smkx=\E[1!z -#------- rmkx=\E[!z -# These sequences apply to the cursor and setup keys only, not to the -# numeric keypad. But it doesn't matter anyway, since making these -# available to programs is inadvisable. -# For the key definitions below, all sequences beginning with \E$ are -# custom and programmed into the terminal via is2. \E$ also has no -# meaning to any other terminal. -# -#------- cmdch=\E[;%p1%d!t -# Available, but making it available to programs is inadvisable. -#------- smxon=\E[1*q -# Available, but making it available to programs is inadvisable. -# Terminal will send XON/XOFF on buffer overflow. -#------- rmxon=\E[*q -# Available, but making it available to programs is inadvisable. -# Terminal will not notify on buffer overflow. -#------- smm=\E[2+x -#------- rmm=\E[+x -# Available, but making them available to programs is inadvisable. -# -# Printing: -# It's not made clear in the manuals, but based on other ansi/vt type -# terminals, it's a good guess that this terminal is capable of both -# "transparent print" (which doesn't copy data to the screen, and -# therefore needs mc5i: specified to say so) and "auxilliary print" -# (which does duplicate printed data on the screen, in which case mc4= -# and mc5= should use the \E[?4i and \E[?5i strings instead). - -hds200|Human Designed Systems HDS200, - am, bw, eslok, hs, km, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, lm#0, - acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G, - blink=\E[0;5m, bold=\E[0;1m, cbt=\E[Z, civis=\E[6+{, - clear=\E[H\E[J, cnorm=\E[+{, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - dsl=\E[2!w\r\n\E[!w, ed=\E[J, el=\E[K, el1=\E[1K, - fsl=\E[!w, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, - ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED, - invis=\E[0;8m, - is2=\E)0\017\E[m\E[=107;207h\E[90;3u\E[92;3u\E[43;1u\177\E$P\177\E[44;1u\177\E$Q\177\E[45;1u\177\E$R\177\E[46;1u\177\E$S\177\E[200;1u\177\E$A\177\E[201;1u\177\E$B\177\E[202;1u\177\E$C\177\E[203;1u\177\E$D\177\E[204;1u\177\E$H\177\E[212;1u\177\E$I\177\E[213;1u\177\E$\010\177\E[214;1u"\E$\177"\E[2!w\E[25;25w\E[!w\E[2*w\E[2+x\E[;3+}, - kDC=\E$\177, kHOM=\E$H, kLFT=\E$D, kRIT=\E$C, kbs=^H, - kcbt=\E$I, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\177, kent=^M, kf1=^\001\r, kf10=^\010\r, - kf11=^\011\r, kf12=^\012\r, kf13=\EOP, kf14=\EOQ, - kf15=\EOR, kf16=\EOS, kf17=^\017\r, kf18=^\018\r, - kf19=^\019\r, kf2=^\002\r, kf20=^\020\r, kf21=^\021\r, - kf22=^\022\r, kf23=^\023\r, kf3=^\003\r, kf31=^\031\r, - kf32=^\032\r, kf33=^\033\r, kf34=^\034\r, kf35=^\035\r, - kf36=^\036\r, kf37=^\037\r, kf38=^\038\r, kf39=^\039\r, - kf4=^\004\r, kf40=^\040\r, kf41=^\041\r, kf42=^\042\r, - kf43=\E$P, kf44=\E$Q, kf45=\E$R, kf46=\E$S, kf47=^\047\r, - kf48=^\048\r, kf49=^\049\r, kf5=^\005\r, kf50=^\050\r, - kf51=^\051\r, kf52=^\052\r, kf53=^\053\r, kf6=^\006\r, - kf7=^\007\r, kf8=^\008\r, kf9=^\009\r, khome=\E[H, - kind=\E[T, knp=\E[U, kpp=\E[V, kri=\E[S, ll=\E[H\E[A, - mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=\E[E, rc=\E8, - rev=\E[0;7m, ri=\EM, rmacs=^O, rmir=\E[4l, rmso=\E[m\017, - rmul=\E[m\017, sc=\E7, - sgr=\E[0%?%p1%p6%O%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%O%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smir=\E[4h, smso=\E[0;1;7m, - smul=\E[0;4m, tbc=\E[3g, tsl=\E[2!w\E[%i%p1%dG, - vpa=\E[%i%p1%dd, - -# through included to specify padding needed in raw mode. -# (avt-ns: added empty to suppress a tic warning --esr) -avt-ns|concept avt no status line, - OTbs, am, eo, mir, ul, xenl, xon, - cols#80, it#8, lines#24, lm#192, - acsc=, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, - clear=\E[H\E[J$<38>, cnorm=\E[=119l, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[=119h, dch1=\E[P, dim=\E[1!{, dl=\E[%p1%dM$<4*>, - dl1=\E[M$<4>, ed=\E[J$<96>, el=\E[K$<6>, home=\E[H, - hpa=\E[%p1%{1}%+%dG, ht=\011$<4>, hts=\EH, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL$<4*>, il1=\E[L$<4>, ind=\n$<8>, - invis=\E[8m, ip=$<4>, is1=\E[=103l\E[=205l, - is2=\E[1*q\E[2!t\E[7!t\E[=4;101;119;122l\E[=107;118;207h\E)1\E[1Q\EW\E[!y\E[!z\E>\E[0\:0\:32!r\E[0*w\E[w\E2\r\n\E[2;27!t, - kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E^B\r, ked=\E^D\r, kf1=\EOP, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, khome=\E[H, kich1=\E^A\r, kil1=\E^C\r, ll=\E[24H, - mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, - pfloc=\E[%p1%d;0u#%p2%s#, pfx=\E[%p1%d;1u#%p2%s#, - prot=\E[99m, rc=\E8, rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, - ri=\EM$<4>, rmacs=\016$<1>, rmcup=\E[w\E2\r\n, - rmir=\E[4l, rmkx=\E[!z\E[0;2u, rmso=\E[7!{, rmul=\E[4!{, - sc=\E7, - sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m, - sgr0=\E[m, smacs=\017$<1>, smcup=\E[=4l\E[1;24w\E2\r, - smir=\E[4h, smkx=\E[1!z\E[0;3u, smso=\E[7m, smul=\E[4m, - tbc=\E[2g, vpa=\E[%p1%{1}%+%dd, -avt-rv-ns|concept avt in reverse video mode/no status line, - flash=\E[=205l$<200>\E[=205h, is1=\E[=103l\E[=205h, - use=avt-ns, -avt-w-ns|concept avt in 132 column mode/no status line, - is1=\E[=103h\E[=205l, smcup=\E[H\E[1;24;1;132w, - use=avt-ns, -avt-w-rv-ns|concept avt in 132 column mode/no status line/reverse video, - flash=\E[=205l$<200>\E[=205h, is1=\E[=103h\E[=205h, - smcup=\E[H\E[1;24;1;132w, use=avt-ns, - -# Concept AVT with status line. We get the status line using the -# "Background status line" feature of the terminal. We swipe the -# first line of memory in window 2 for the status line, keeping -# 191 lines of memory and 24 screen lines for regular use. -# The first line is used instead of the last so that this works -# on both 4 and 8 page AVTs. (Note the lm#191 or 192 - this -# assumes an 8 page AVT but lm isn't currently used anywhere.) -# -avt+s|concept avt status line changes, - eslok, hs, - lm#191, - dsl=\E[0*w, fsl=\E[1;1!w, - is3=\E[2w\E[2!w\E[1;1;1;80w\E[H\E[2*w\E[1!w\E2\r\n, - rmcup=\E[2w\E2\r\n, smcup=\E[2;25w\E2\r, - tsl=\E[2;1!w\E[;%p1%dH\E[2K, -avt|avt-s|concept-avt|avt w/80 columns, - use=avt+s, use=avt-ns, -avt-rv|avt-rv-s|avt reverse video w/sl, - flash=\E[=205l$<200>\E[=205h, is1=\E[=103l\E[=205h, - use=avt+s, use=avt-ns, -avt-w|avt-w-s|concept avt 132 cols+status, - is1=\E[=103h\E[=205l, smcup=\E[H\E[1;24;1;132w, - use=avt+s, use=avt-ns, -avt-w-rv|avt-w-rv-s|avt wide+status+rv, - flash=\E[=205l$<200>\E[=205h, is1=\E[=103h\E[=205h, - smcup=\E[H\E[1;24;1;132w, use=avt+s, use=avt-ns, - -#### Contel Business Systems. -# - -# Contel c300 and c320 terminals. -contel300|contel320|c300|Contel Business Systems C-300 or C-320, - am, in, xon, - cols#80, lines#24, xmc#1, - bel=^G, clear=\EK, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA, - dch1=\EO$<5.5*>, dl1=\EM$<5.5*>, ed=\EJ$<5.5*>, - el=\EI$<5.5>, flash=\020\002$<200/>\020\003, home=\EH, - hts=\E1, ich1=\EN, il1=\EL$<5.5*>, ind=^J, ip=$<5.5*>, - kbs=^H, kf0=\ERJ, kf1=\ERA, kf2=\ERB, kf3=\ERC, kf4=\ERD, - kf5=\ERE, kf6=\ERF, kf7=\ERG, kf8=\ERH, kf9=\ERI, ll=\EH\EA, - rmso=\E!\0, sgr0=\E!\0, smso=\E!\r, tbc=\E3, -# Contel c301 and c321 terminals. -contel301|contel321|c301|c321|Contel Business Systems C-301 or C-321, - flash@, ich1@, ip@, rmso=\E!\0$<20>, smso=\E!\r$<20>, - use=contel300, - -#### Data General (dg) -# -# According to James Carlson writing in January 1995, -# the terminals group at Data General was shut down in 1991; all these -# terminals have thus been discontinued. -# -# DG terminals have function keys that respond to the SHIFT and CTRL keys, -# e.g., SHIFT-F1 generates a different code from F1. To number the keys -# sequentially, first the unmodified key codes are listed as F1 through F15. -# Then their SHIFT versions are listed as F16 through F30, their CTRL versions -# are listed as F31 through F45, and their CTRL-SHIFT versions are listed as -# F46 through F60. This is done in the private "includes" below whose names -# start with "dgkeys+". -# -# DG terminals generally support 8 bit characters. For each of these terminals -# two descriptions are supplied: -# 1) A default description for 8 bits/character communications, which -# uses the default DG international character set and keyboard codes. -# 2) A description with suffix "-7b" for 7 bits/character communications. -# This description must use the NON-DEFAULT native keyboard language. - -# Unmodified fkeys (kf1-kf11), Shift fkeys (kf12-kf22), Ctrl fkeys (kf23-kf33), -# Ctrl/Shift fdkeys (kf34-kf44). - -dgkeys+8b|Private entry describing DG terminal 8-bit ANSI mode special keys, - ka1=\233020z, ka3=\233021z, kc1=\233022z, kc3=\233023z, - kclr=\2332J, kcub1=\233D, kcud1=\233B, kcuf1=\233C, - kcuu1=\233A, kel=\233K, kf1=\233001z, kf10=\233010z, - kf11=\233011z, kf12=\233012z, kf13=\233013z, - kf14=\233014z, kf15=\233000z, kf16=\233101z, - kf17=\233102z, kf18=\233103z, kf19=\233104z, - kf2=\233002z, kf20=\233105z, kf21=\233106z, - kf22=\233107z, kf23=\233108z, kf24=\233109z, - kf25=\233110z, kf26=\233111z, kf27=\233112z, - kf28=\233113z, kf29=\233114z, kf3=\233003z, - kf30=\233100z, kf31=\233201z, kf32=\233202z, - kf33=\233203z, kf34=\233204z, kf35=\233205z, - kf36=\233206z, kf37=\233207z, kf38=\233208z, - kf39=\233209z, kf4=\233004z, kf40=\233210z, - kf41=\233211z, kf42=\233212z, kf43=\233213z, - kf44=\233214z, kf45=\233200z, kf46=\233301z, - kf47=\233302z, kf48=\233303z, kf49=\233304z, - kf5=\233005z, kf50=\233305z, kf51=\233306z, - kf52=\233307z, kf53=\233308z, kf54=\233309z, - kf55=\233310z, kf56=\233311z, kf57=\233312z, - kf58=\233313z, kf59=\233314z, kf6=\233006z, - kf60=\233300z, kf7=\233007z, kf8=\233008z, kf9=\233009z, - khome=\233H, kprt=\233i, - -dgkeys+7b|Private entry describing DG terminal 7-bit ANSI mode special keys, - ka1=\E[020z, ka3=\E[021z, kc1=\E[022z, kc3=\E[023z, - kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kel=\E[K, kf1=\E[001z, kf10=\E[010z, kf11=\E[011z, - kf12=\E[012z, kf13=\E[013z, kf14=\E[014z, kf15=\E[000z, - kf16=\E[101z, kf17=\E[102z, kf18=\E[103z, kf19=\E[104z, - kf2=\E[002z, kf20=\E[105z, kf21=\E[106z, kf22=\E[107z, - kf23=\E[108z, kf24=\E[109z, kf25=\E[110z, kf26=\E[111z, - kf27=\E[112z, kf28=\E[113z, kf29=\E[114z, kf3=\E[003z, - kf30=\E[100z, kf31=\E[201z, kf32=\E[202z, kf33=\E[203z, - kf34=\E[204z, kf35=\E[205z, kf36=\E[206z, kf37=\E[207z, - kf38=\E[208z, kf39=\E[209z, kf4=\E[004z, kf40=\E[210z, - kf41=\E[211z, kf42=\E[212z, kf43=\E[213z, kf44=\E[214z, - kf45=\E[200z, kf46=\E[301z, kf47=\E[302z, kf48=\E[303z, - kf49=\E[304z, kf5=\E[005z, kf50=\E[305z, kf51=\E[306z, - kf52=\E[307z, kf53=\E[308z, kf54=\E[309z, kf55=\E[310z, - kf56=\E[311z, kf57=\E[312z, kf58=\E[313z, kf59=\E[314z, - kf6=\E[006z, kf60=\E[300z, kf7=\E[007z, kf8=\E[008z, - kf9=\E[009z, khome=\E[H, kprt=\E[i, - -dgkeys+11|Private entry describing 11 minimal-subset DG mode special keys, - kclr=^L, kcub1=^Y, kcud1=^Z, kcuf1=^X, kcuu1=^W, kel=^K, - kf1=^^q, kf10=^^z, kf11=^^{, kf12=^^a, kf13=^^b, kf14=^^c, - kf15=^^d, kf16=^^e, kf17=^^f, kf18=^^g, kf19=^^h, kf2=^^r, - kf20=^^i, kf21=^^j, kf22=^^k, kf23=^^1, kf24=^^2, kf25=^^3, - kf26=^^4, kf27=^^5, kf28=^^6, kf29=^^7, kf3=^^s, kf30=^^8, - kf31=^^9, kf32=^^\:, kf33=^^;, kf34=^^!, kf35=^^", kf36=^^#, - kf37=^^$, kf38=^^%%, kf39=^^&, kf4=^^t, kf40=^^', kf41=^^(, - kf42=^^), kf43=^^*, kf44=^^+, kf5=^^u, kf6=^^v, kf7=^^w, - kf8=^^x, kf9=^^y, khome=^H, - -dgkeys+15|Private entry describing 15 DG mode special keys, - kHOM=^^^H, kLFT=^^^Y, kRIT=^^^X, ka1=^^\\, ka3=^^], kc1=^^\^, - kc3=^^_, kf1=^^q, kf10=^^z, kf11=^^{, kf12=^^|, kf13=^^}, - kf14=^^~, kf15=^^p, kf16=^^a, kf17=^^b, kf18=^^c, kf19=^^d, - kf2=^^r, kf20=^^e, kf21=^^f, kf22=^^g, kf23=^^h, kf24=^^i, - kf25=^^j, kf26=^^k, kf27=^^l, kf28=^^m, kf29=^^n, kf3=^^s, - kf30=^^`, kf31=^^1, kf32=^^2, kf33=^^3, kf34=^^4, kf35=^^5, - kf36=^^6, kf37=^^7, kf38=^^8, kf39=^^9, kf4=^^t, kf40=^^\:, - kf41=^^;, kf42=^^<, kf43=^^=, kf44=^^>, kf45=^^0, kf46=^^!, - kf47=^^", kf48=^^#, kf49=^^$, kf5=^^u, kf50=^^%%, kf51=^^&, - kf52=^^', kf53=^^(, kf54=^^), kf55=^^*, kf56=^^+, kf57=^^\,, - kf58=^^-, kf59=^^., kf6=^^v, kf60=^^\s, kf7=^^w, kf8=^^x, - kf9=^^y, - -# Data General color terminals use the "Tektronix" color model. The total -# number of colors varies with the terminal model, as does support for -# attributes used in conjunction with color. - -# Removed u7, u8 definitions since they conflict with tack: -# Preserve user-defined colors in at least some cases. -# u7=^^Fh, -# Default is ACM mode. -# u8=^^F}20^^Fi^^F}21, -# -dgunix+fixed|Fixed color info for DG D430C terminals in DG-UNIX mode, - bce, - colors#16, ncv#53, pairs#256, - op=\036Ad\036Bd, - setab=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c, - setaf=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c, - setb=\036B%p1%{48}%+%c, setf=\036A%p1%{48}%+%c, - -dg+fixed|Fixed color info for DG D430C terminals in DG mode, - use=dgunix+fixed, - -# Video attributes are coordinated using static variables set by "sgr", then -# checked by "op", "seta[bf]", and "set[bf]" to refresh the attribute settings. -# (D=dim, U=underline, B=blink, R=reverse.) -dg+color8|Color info for Data General D220 and D230C terminals in ANSI mode, - bce, - colors#8, ncv#16, pairs#64, - op=\E[%?%gD%t2;%;%?%gU%t4;%;%?%gB%t5;%;%?%gR%t7;%;m, - setab=\E[4%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m, - setaf=\E[3%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m, - setb=\E[4%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m, - setf=\E[3%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m, - -dg+color|Color info for Data General D470C terminals in ANSI mode, - colors#16, ncv#53, pairs#256, - setab=\E[%?%p1%{8}%<%t4%p1%e=%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m, - setaf=\E[%?%p1%{8}%<%t3%p1%e<%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m, - setb=\E[%?%p1%{8}%<%t4%e=%;%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m, - setf=\E[%?%p1%{8}%<%t3%e<%;%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m, - use=dg+color8, - -dgmode+color8|Color info for Data General D220/D230C terminals in DG mode, - bce, - colors#8, ncv#16, pairs#64, - op=\036Ad\036Bd, - setab=\036B%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%{48}%+%c, - setaf=\036A%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%{48}%+%c, - setb=\036B%p1%{48}%+%c, setf=\036A%p1%{48}%+%c, - -dgmode+color|Color info for Data General D470C terminals in DG mode, - colors#16, pairs#256, - setab=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c, - setaf=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c, - use=dgmode+color8, - -dgunix+ccc|Configurable color info for DG D430C terminals in DG-UNIX mode, - bce, ccc, - colors#52, ncv#53, pairs#26, - initp=\036RG0%p1%02X%p2%{256}%*%{1001}%/%02X%p3%{256}%*%{1001}%/%02X%p4%{256}%*%{1001}%/%02X%p5%{256}%*%{1001}%/%02X%p6%{256}%*%{1001}%/%02X%p7%{256}%*%{1001}%/%02X, - oc=\036RG01A00FF00000000\036RG01B00000000FF00\036RG01C007F00000000\036RG01D000000007F00, - op=\036RF4831A\036RF2E31B\036RF1D31C\036RF3F31D, - scp=\036RG2%p1%02X, - -# Colors are in the order: normal, reverse, dim, dim + reverse. -dg+ccc|Configurable color info for DG D430C terminals in DG mode, - bce, ccc, - colors#52, ncv#53, pairs#26, - initp=\036RG0%p1%{16}%/%{48}%+%c%p1%{16}%m%{48}%+%c%p2%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p3%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p4%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p5%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p6%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p7%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c, - oc=\036RG01\:00??00000000\036RG01;00000000??00\036RG01<007?00000000\036RG01=000000007?00, - op=\036RF4831\:\036RF2>31;\036RF1=31<\036RF3?31=, - scp=\036RG2%p1%{16}%/%{48}%+%c%p1%{16}%m%{48}%+%c, - -# The generic DG terminal type (an 8-bit-clean subset of the 6053) -# Initialization string 1 sets: -# ^R - vertical scrolling enabled -# ^C - blinking enabled -dg-generic|Generic Data General terminal in DG mode, - am, bw, msgr, xon, - cols#80, lines#24, - bel=^G, blink=^N, clear=^L, cr=^M, cub1=^Y, cud1=^Z, cuf1=^X, - cup=\020%p2%c%p1%c, cuu1=^W, dim=^\, el=^K, ind=^J, is1=^R^C, - mc0=^Q, nel=^J, rmso=^], rmul=^U, sgr0=^O^U^], smso=^\, - smul=^T, use=dgkeys+11, - -# According to the 4.4BSD termcap file, the dg200 should be the -# termcap equivalent of \020%p2%{128}%+%c%p1%{128}%+%c (in termcap -# notation that's "^P%r%+\200%+\200"). Those \200s are suspicious, -# maybe they were originally nuls (which would fit). - -dg200|data general dasher 200, - OTbs, am, bw, - cols#80, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^Y, cud1=^Z, cuf1=^X, - cup=\020%p2%c%p1%c, cuu1=^W, el=^K, home=^H, ind=^J, - kcub1=^Y, kcud1=^Z, kcuf1=^X, kcuu1=^W, kf0=^^z, kf1=^^q, - kf2=^^r, kf3=^^s, kf4=^^t, kf5=^^u, kf6=^^v, kf7=^^w, kf8=^^x, - kf9=^^y, khome=^H, lf0=f10, nel=^J, rmso=^^E, rmul=^U, - smso=^^D, smul=^T, - -# Data General 210/211 (and 410?) from Lee Pearson (umich!lp) via BRL -dg210|dg-ansi|Data General 210/211, - am, - cols#80, lines#24, - OTnl=\E[B, clear=\E[2J, cud1=\E[B, cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, ed=\E[J, el=\E[K, home=\E[H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, - nel=\r\E[H\E[A\n, rmso=\E[0;m, rmul=\E[0;m, smso=\E[7;m, - smul=\E[4;m, -# From: Peter N. Wan -# courtesy of Carlos Rucalde of Vantage Software, Inc. -# (dg211: this had ., which was an ancient termcap hangover. -# I suspect the d200 function keys actually work on the dg211, check it out.) -dg211|Data General d211, - cnorm=^L, cvvis=^L^R, ht=^I, ind@, kbs=^Y, kf0@, kf1@, kf2@, kf3@, - kf4@, kf5@, kf6@, kf7@, kf8@, kf9@, lf0@, nel=^M^Z, rmcup=^L, - rmso=\036E$<\0/>, smcup=^L^R, smso=\036D$<5/>, use=dg200, - -# dg450 from Cornell (not official) -dg450|dg6134|data general 6134, - cub1@, cuf1=^X, use=dg200, - -# Not official... -# Note: lesser Dasher terminals will not work with vi because vi insists upon -# having a command to move straight down from any position on the bottom line -# and scroll the screen up, or a direct vertical scroll command. The 460 and -# above have both, the D210/211, for instance, has neither. We must use ANSI -# mode rather than DG mode because standard UNIX tty drivers assume that ^H is -# backspace on all terminals. This is not so in DG mode. -# (dg460-ansi: removed obsolete ":kn#6:"; also removed ":mu=\EW:", on the -# grounds that there is no matching ":ml:" -# fixed garbled ":k9=\E[00\:z:" capability -- esr) -dg460-ansi|Data General Dasher 460 in ANSI-mode, - OTbs, am, msgr, ul, - cols#80, it#8, lines#24, - OTnl=\ED, blink=\E[5m, clear=\E[2J, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, dch1=\E[P, - dim=\E[2m, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, - ich1=\E[@, il1=\E[L, ind=\E[S, is2=^^F@, kbs=\E[D, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf0=\E[001z, kf1=\E[002z, kf2=\E[003z, kf3=\E[004z, - kf4=\E[005z, kf5=\E[006z, kf6=\E[007z, kf7=\E[008z, - kf8=\E[009z, kf9=\E[010z, khome=\E[H, lf0=f1, lf1=f2, lf2=f3, - lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf9=f10, rev=\E[7m, - ri=\E[T, rmso=\E[m, rmul=\E[05, sgr0=\E[m, smso=\E[7m, - smul=\E[4m, -# From: Wayne Throop (not official) -# Data General 605x -# Ought to work for a Model 6242, Type D210 as well as a 605x. -# Note that the cursor-down key transmits ^Z. Job control users, beware! -# This also matches a posted description of something called a `Dasher 100' -# so there's a dg100 alias here. -# (dg6053: the 4.4BSD file had , , . -- esr) -dg6053-old|dg100|data general 6053, - OTbs, am, bw, ul, - cols#80, lines#24, - OTbc=^Y, bel=^G, clear=^L, cnorm=^L, cr=^M, cub1=^Y, cud1=^Z, - cuf1=^X, cup=\020%p2%c%p1%c, cuu1=^W, cvvis=^L^R, el=^K, - home=^H, ht=^I, is2=^R, kbs=^Y, kcub1=^Y, kcud1=^Z, kcuf1=^X, - kcuu1=^W, kf0=^^q, kf1=^^r, kf2=^^s, kf3=^^t, kf4=^^u, kf5=^^v, - kf6=^^w, kf7=^^x, kf8=^^y, kf9=^^z, khome=^H, rmcup=^L, - rmso=\0^^E, rmul=^U, smcup=^L^R, smso=\0\0\0\0\0\036D, - smul=^T, - -# (Some performance can be gained over the generic DG terminal type) -dg6053|6053|6053-dg|dg605x|605x|605x-dg|d2|d2-dg|Data General DASHER 6053, - xon@, - home=^P\0\0, ll=^P\0^W, use=dg-generic, - -# Like 6053, but adds reverse video and more keypad and function keys. -d200|d200-dg|Data General DASHER D200, - bold=^^D^T, home@, ll@, rev=^^D, rmso=^^E^], - sgr=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;, - sgr0=\017\025\035\036E, smso=^^D^\, use=dgkeys+15, - use=dg6053, - -# DASHER D210 series terminals in ANSI mode. -# Reverse video, no insert/delete character/line, 7 bits/character only. -# -# Initialization string 1 sets: -# <0 - scrolling enabled -# <1 - blink enabled -# <4 - print characters regardless of attributes -d210|d214|Data General DASHER D210 series, - am, bw, msgr, xon, - cols#80, lines#24, - bel=^G, blink=\E[5m, bold=\E[4;7m, clear=\E[2J, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dim=\E[2m, ed=\E[J, el=\E[K, - el1=\E[1K, home=\E[H, ind=^J, is1=\E[<0;<1;<4l, - ll=\E[H\E[A, nel=^J, rev=\E[7m, rmso=\E[m, rmul=\E[m, - sgr=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m, - sgr0=\E[m, smso=\E[2;7m, smul=\E[4m, use=dgkeys+7b, - -# DASHER D210 series terminals in DG mode. -# Like D200, but adds clear to end-of-screen and needs XON/XOFF. -d210-dg|d214-dg|Data General DASHER D210 series in DG mode, - xon, - ed=^^FF, use=d200-dg, - -# DASHER D211 series terminals in ANSI mode. -# Like the D210, but with 8-bit characters and local printer support. -# -# Initialization string 2 sets: -# \E[2;1;1;1v -# 2;1 - 8 bit operations -# 1;1 - 8 bit (international) keyboard language -# \E(B - default primary character set (U.S. ASCII) -# \E)4 - default secondary character set (international) -# ^O - primary character set -# -d211|d215|Data General DASHER D211 series, - km, - is2=\E[2;1;1;1v\E(B\E)4\017, mc0=\E[i, use=dgkeys+8b, - use=d210, - -# Initialization string 2 sets: -# \E[2;0;1;0v -# 2;0 - 7 bit operations -# 1;0 - 7 bit (native) keyboard language -# \E(0 - default character set (the keyboard native language) -# ^O - primary character set -d211-7b|d215-7b|Data General DASHER D211 series in 7 bit mode, - km@, - is2=\E[2;0;1;0v\E(0\017, use=dgkeys+7b, use=d211, - -# Like the D210 series, but adds support for 8-bit characters. -# -# Reset string 2 sets: -# ^^N - secondary character set -# ^^FS0> - 8 bit international character set -# ^^O - primary character set -# ^^FS00 - default character set (matching the native keyboard language) -# -d211-dg|d215-dg|Data General DASHER D211 series in DG mode, - km, - rs2=\036N\036FS0>\036O\036FS00, use=d210-dg, - -d216-dg|d216e-dg|d216+dg|d216e+dg|d217-dg|Data General DASHER D216 series in DG mode, - use=d211-dg, - -# Enhanced DG mode with changes to be more UNIX compatible. -d216-unix|d216e-unix|d216+|d216e+|Data General DASHER D216+ in DG-UNIX mode, - mc5i, - it#8, - acsc=a\177j$k"l!m#n)q+t'u&v(w%x*, blink=^^PI, - clear=^^PH, cub1=^^PD, cud1=^^PB, cuf1=^^PC, cuu1=^^PA, - el=^^PE, home=^^PF, hpa=\020%p1%c\177, ht=^I, ind=^J, - is1=\022\003\036P@1, is3=\036Fz0, kHOM=^^Pf, kLFT=^^Pd, - kPRT=^^P1, kRIT=^^Pc, kclr=^^PH, kcub1=^^PD, kcud1=^^PB, - kcuf1=^^PC, kcuu1=^^PA, kel=^^PE, khome=^^PF, kprt=^^P0, - mc0=\036F?9, mc4=^^Fa, mc5=^^F`, rmacs=\036FS00, - rs2=\036N\036FS0E\036O\036FS00, - sgr=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;, - sgr0=\036PJ\025\035\036E\036FS00, smacs=\036FS11, - vpa=\020\177%p1%c, use=dgkeys+15, use=d216-dg, -d216-unix-25|d216+25|Data General DASHER D216+ in DG-UNIX mode with 25 lines, - lines#25, - is3=\036Fz2, use=d216+, - -d217-unix|Data General DASHER D217 in DG-UNIX mode, - use=d216-unix, -d217-unix-25|Data General DASHER D217 in DG-UNIX mode with 25 lines, - use=d216-unix-25, - -# DASHER D220 color terminal in ANSI mode. -# Like the D470C but with fewer colors and screen editing features. -# -# Initialization string 1 sets: -# \E[<0;<1;<4l -# <0 - scrolling enabled -# <1 - blink enabled -# <4 - print characters regardless of attributes -# \E[m - all attributes off -# Reset string 1 sets: -# \Ec - initial mode defaults (RIS) -# -d220|Data General DASHER D220, - mc5i@, - dl@, dl1@, il@, il1@, is1=\E[<0;<1;<4l\E[m, mc4@, mc5@, rs1=\Ec, - use=dg+color8, use=d470c, - -d220-7b|Data General DASHER D220 in 7 bit mode, - mc5i@, - dl@, dl1@, il@, il1@, is1=\E[<0;<1;<4l\E[m, mc4@, mc5@, rs1=\Ec, - use=dg+color8, use=d470c-7b, - -# Initialization string 3 sets: -# - default cursor (solid rectangle) -# Reset string 2 sets: -# ^^N - secondary character set -# ^^FS0> - 8 bit international character set -# ^^O - primary character set -# ^^FS00 - default character set (matching the native keyboard language) -# -d220-dg|Data General DASHER D220 color terminal in DG mode, - mc5i@, - dl1@, home@, il1@, is2@, is3=\036FQ2, ll@, mc4@, mc5@, rs1@, - rs2=\036N\036FS0>\036O\036FS00, use=dgmode+color8, - use=d470c-dg, - -# DASHER D230C color terminal in ANSI mode. -# Like the D220 but with minor ANSI compatibility improvements. -# -d230c|d230|Data General DASHER D230C, - blink=\E[5;50m, bold=\E[4;7;50m, dim=\E[2;50m, nel=^M^J, - rev=\E[7;50m, rmkx=\E[2;1v, rmso=\E[50m, rmul=\E[50m, - sgr=\E[50%?%p1%p3%|%p6%|%t;7%{1}%e%{0}%;%PR%?%p4%t;5%{1}%e%{0}%;%PB%?%p2%p6%|%t;4%{1}%e%{0}%;%PU%?%p1%p5%|%t;2%{1}%e%{0}%;%PDm\E)%?%p9%t6\016%e4\017%;, - sgr0=\E[50m\E)4\017, smkx=\E[2;0v, smso=\E[2;7;50m, - smul=\E[4;50m, use=dgkeys+7b, use=d220, - -d230c-dg|d230-dg|Data General DASHER D230C in DG mode, - use=d220-dg, - -# DASHER D400/D450 series terminals. -# These add intelligent features like insert/delete to the D200 series. -# -# Initialization string 2 sets: -# ^^FQ2 - default cursor (solid rectangle) -# ^^FW - character protection disabled -# ^^FJ - normal (80 column) mode -# ^^F\^ - horizontal scrolling enabled (for alignment) -# ^^FX004? - margins at columns 0 and 79 -# ^^F] - horizontal scrolling disabled -# ^^O - primary character set -# ^^FS00 - default character set (the keyboard native language) -# - (should reset scrolling regions, but that glitches the screen) -# Reset string 1 sets: -# ^^FA - all terminal defaults except scroll rate -# Reset string 2 sets: -# ^^F] - horizontal scrolling disabled -# ^^FT0 - jump scrolling -# -d400|d400-dg|d450|d450-dg|Data General DASHER D400/D450 series, - mc5i, - acsc=j$k"l!m#n)q+t'u&v(w%x*, civis=\036FQ0, - cnorm=\036FQ2, dch1=^^K, dl1=^^FI, - enacs=\036N\036FS11\036O, home=^^FG, hpa=\020%p1%c\177, - ich1=^^J, il1=^^FH, - is2=\036FQ2\036FW\036FJ\036F\^\036FX004?\036F]\036O\036FS00, - ll=\036FG\027, mc4=^^Fa, mc5=^^F`, ri=^^I, rmacs=^^O, - rs1=^^FA, rs2=\036F]\036FT0, - sgr=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036%?%p9%tN%eO%;, - sgr0=\017\025\035\036E\036O, smacs=^^N, - vpa=\020\177%p1%c, use=d210-dg, - -# DASHER D410/D460 series terminals in ANSI mode. -# These add a large number of intelligent terminal features. -# -# Initialization string 1 sets: -# \E[<0;<1;<2;<4l -# <0 - scrolling enabled -# <1 - blink enabled -# <2 - horizontal scrolling enabled (for alignment) -# <4 - print characters regardless of attributes -# \E[5;0v - normal (80 column) mode -# \E[1;1;80w - margins at columns 1 and 80 -# \E[1;6;<2h -# 1 - print all characters even if protected -# 6 - character protection disabled -# <2 - horizontal scrolling disabled -# - (should reset scrolling regions, but that glitches the screen) -# -# Initialization string 2 sets: -# \E[3;2;2;1;1;1v -# 3;2 - default cursor (solid rectangle) -# 2;1 - 8 bit operations -# 1;1 - international keyboard language -# \E(B - default primary character set (U.S. ASCII) -# \E)4 - default secondary character set (international) -# ^O - primary character set -# -# Reset string 1 sets: -# \Ec - initial mode defaults (RIS) -# \E[<2h - horizontal scrolling disabled -# -# Reset string 2 sets: -# \E[4;0;2;1;1;1v -# 4;0 - jump scrolling -# 2;1 - 8 bit operations -# 1;1 - 8 bit (international) keyboard language -# \E(B - default primary character set (U.S. ASCII) -# \E)4 - default secondary character set (international) -# -d410|d411|d460|d461|Data General DASHER D410/D460 series, - mc5i, - acsc=j$k"l!m#n)q+t'u&v(w%x*, civis=\E[3;0v, - cnorm=\E[3;2v, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, - is1=\E[<0;<1;<2;<4l\E[5;0v\E[1;1;80w\E[1;6;<2h, - is2=\E[3;2;2;1;1;1v\E(B\E)4\017, mc4=\E[4i, mc5=\E[5i, - ri=\EM, rmacs=\E)4\017, rs1=\Ec\E[<2h, - rs2=\E[4;0;2;1;1;1v\E(B\E)4, - sgr=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m\E)%?%p9%t6\016%e4\017%;, - sgr0=\E[m\E)4\017, smacs=\E)6\016, use=d211, - -# Initialization string 2 sets: -# \E[3;2;2;0;1;0v -# 3;2 - default cursor (solid rectangle) -# 2;0 - 7 bit operations -# 1;0 - 7 bit (native) keyboard language -# \E(0 - default character set (the keyboard native language) -# ^O - primary character set -# -# Reset string 2 sets: -# \E[4;0;2;0;1;0v -# 4;0 - jump scrolling -# 2;0 - 7 bit operations -# 1;0 - 7 bit (native) keyboard language -# \E(0 - default character set (the keyboard native language) -# -d410-7b|d411-7b|d460-7b|d461-7b|Data General DASHER D410/D460 series in 7 bit mode, - km@, - enacs=\E)6, is2=\E[3;2;2;0;1;0v\E(0\017, rmacs=^O, - rs2=\E[4;0;2;0;1;0v\E(0, - sgr=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, use=dgkeys+7b, use=d410, - -d410-dg|d460-dg|d411-dg|d461-dg|Data General DASHER D410/D460 series in DG mode, - km, - enacs@, rmacs=\036FS00, - sgr=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;, - sgr0=\017\025\035\036E\036FS00, smacs=\036FS11, - use=d400-dg, - -# DASHER D410/D460 series terminals in wide (126 columns) ANSI mode. -# -# Initialization string 1 sets: -# \E[<0;<1;<2;<4l -# <0 - scrolling enabled -# <1 - blink enabled -# <2 - horizontal scrolling enabled (for alignment) -# <4 - print characters regardless of attributes -# \E[5;1v - compressed (135 column) mode -# \E[1;1;126 - margins at columns 1 and 126 -# \E[1;6;<2h -# 1 - print all characters even if protected -# 6 - character protection disabled -# <2 - horizontal scrolling disabled -# - (should reset scrolling regions, but that glitches the screen) -# -# Reset string 1 sets: -# \Ec - initial mode defaults (RIS) -# \E[5;1v - compressed (135 column) mode -# \E[1;1;126w - margins at columns 1 and 126 -# \E[<2h - horizontal scrolling disabled -# -d410-w|d411-w|d460-w|d461-w|Data General DASHER D410/D460 series in wide mode, - cols#126, - is1=\E[<0;<1;<2;<4l\E[5;1v\E[1;1;126w\E[1;6;<2h, - rs1=\Ec\E[5;1v\E[1;1;126w\E[<2h, use=d410, - -d410-7b-w|d411-7b-w|d460-7b-w|d461-7b-w|Data General DASHER D410/D460 series in wide 7 bit mode, - cols#126, - is1=\E[<0;<1;<2;<4l\E[5;1v\E[1;1;126w\E[1;6;<2h, - rs1=\Ec\E[5;1v\E[1;1;126w\E[<2h, use=d410-7b, - -d412-dg|d462-dg|d462e-dg|d412+dg|d462+dg|d413-dg|d463-dg|Data General DASHER D412/D462 series in DG mode, - use=d410-dg, - -# These add intelligent features like scrolling regions. -d412-unix|d462-unix|d412+|d462+|Data General DASHER D412+/D462+ series in Unix mode, - civis=\036FQ0, clear=^^FE, cnorm=\036FQ5, - cup=\036FP%p2%2.2X%p1%2.2X, dch1=^^K, dl1=^^FI, - home=^^FG, hpa=\036FP%p1%2.2XFF, ich1=^^J, il1=^^FH, - is2=\036FQ5\036FW\036FJ\036F\^\036FX004F\036O\036FS00, - ll=\036FG\036PA, mc0=^A, rc=\036F}11, ri=^^I, - rs1=\036FA\036FT0, rs2=\036P@1, sc=\036F}10, - vpa=\036FPFF%p1%2.2X, - wind=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X, - use=d216+, -d412-unix-w|d462-unix-w|d412+w|d462+w|Data General DASHER D412+/D462+ series in wide Unix mode, - cols#132, - is2=\036FQ5\036FW\036FK\036F\^\036FX0083\036O\036FS00, - rs2=\036P@1\036FK\036FX0083, - wind=\036FB%?%p1%t%p1%2.2X1%;%p2%p1%-%{1}%+%2.2X1%?%{23}%p2%>%t001%;\036FX%p3%2.2X%p4%2.2X, - use=d412-unix, -d412-unix-25|d462-unix-25|d412+25|d462+25|Data General DASHER D412+/D462+ series in Unix mode with 25 lines, - lines#25, - is3=\036Fz2, - wind=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{24}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X, - use=d462+, -d412-unix-s|d462-unix-s|d412+s|d462+s|Data General DASHER D412+/D462+ in Unix mode with status line, - eslok, hs, - clear=\036FG\036PH, fsl=\036F}01\022, - is3=\036Fz2\036F}00\036FB180000\036F}01, ll@, - tsl=\036F}00\036FP%p1%2.2X18\036PG, - wind=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t%{23}%p2%-%2.2X0%;000\036FX%p3%2.2X%p4%2.2X, - use=d462+, - -# Relative cursor motions are confined to the current window, -# which is not what the scrolling region specification expects. -# Thus, relative vertical cursor positioning must be deleted. -d412-unix-sr|d462-unix-sr|d412+sr|d462+sr|Data General DASHER D412+/D462+ in Unix mode with scrolling region, - csr=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;, - cud1@, cuu1@, ll@, use=d462+, - -d413-unix|d463-unix|Data General DASHER D413/D463 series in DG-UNIX mode, - use=d412-unix, -d413-unix-w|d463-unix-w|Data General DASHER D413/D463 series in wide DG-UNIX mode, - use=d412-unix-w, -d413-unix-25|d463-unix-25|Data General DASHER D413/D463 series in DG-UNIX mode with 25 lines, - use=d412-unix-25, -d413-unix-s|d463-unix-s|Data General DASHER D413/D463 in DG-UNIX mode with status line, - use=d412-unix-s, -d413-unix-sr|d463-unix-sr|Data General DASHER D413/D463 in DG-UNIX mode with scrolling region, - use=d412-unix-sr, - -d414-unix|d464-unix|Data General D414/D464 in DG-UNIX mode, - use=d413-unix, -d414-unix-w|d464-unix-w|Data General D414/D464 in wide DG-UNIX mode, - use=d413-unix-w, -d414-unix-25|d464-unix-25|Data General D414/D464 in DG-UNIX mode with 25 lines, - use=d413-unix-25, -d414-unix-s|d464-unix-s|Data General D414/D464 in DG-UNIX mode with status line, - use=d413-unix-s, -d414-unix-sr|d464-unix-sr|Data General D414/D464 in DG-UNIX mode with scrolling region, - use=d413-unix-sr, - -d430c-dg|d430-dg|Data General D430C in DG mode, - use=d413-dg, use=dg+fixed, -d430c-dg-ccc|d430-dg-ccc|Data General D430C in DG mode with configurable colors, - use=d413-dg, use=dg+ccc, - -d430c-unix|d430-unix|Data General D430C in DG-UNIX mode, - use=d413-unix, use=dgunix+fixed, -d430c-unix-w|d430-unix-w|Data General D430C in wide DG-UNIX mode, - use=d413-unix-w, use=dgunix+fixed, -d430c-unix-25|d430-unix-25|Data General D430C in DG-UNIX mode with 25 lines, - use=d413-unix-25, use=dgunix+fixed, -d430c-unix-s|d430-unix-s|Data General D430C in DG-UNIX mode with status line, - use=d413-unix-s, use=dgunix+fixed, -d430c-unix-sr|d430-unix-sr|Data General D430C in DG-UNIX mode with scrolling region, - use=d413-unix-sr, use=dgunix+fixed, -d430c-unix-ccc|d430-unix-ccc|Data General D430C in DG-UNIX mode with configurable colors, - use=d413-unix, use=dgunix+ccc, -d430c-unix-w-ccc|d430-unix-w-ccc|Data General D430C in wide DG-UNIX mode with configurable colors, - use=d413-unix-w, use=dgunix+ccc, -d430c-unix-25-ccc|d430-unix-25-ccc|Data General D430C in DG-UNIX mode with 25 lines and configurable colors, - use=d413-unix-25, use=dgunix+ccc, -d430c-unix-s-ccc|d430-unix-s-ccc|Data General D430C in DG-UNIX mode with status line and configurable colors, - use=d413-unix-s, use=dgunix+ccc, -d430c-unix-sr-ccc|d430-unix-sr-ccc|Data General D430C in DG-UNIX mode with scrolling region and configurable colors, - use=d413-unix-sr, use=dgunix+ccc, - -# DASHER D470C color terminal in ANSI mode. -# Like the D460 but with 16 colors and without a compressed mode. -# -# Initialization string 1 sets: -# \E[<0;<1;<2;<4l -# <0 - scrolling enabled -# <1 - blink enabled -# <2 - horizontal scrolling enabled (for alignment) -# <4 - print characters regardless of attributes -# \E[1;1;80w - margins at columns 1 and 80 -# \E[1;6;<2h -# 1 - print all characters even if protected -# 6 - character protection disabled -# <2 - horizontal scrolling disabled -# - (should reset scrolling regions, but that glitches the screen) -# -d470c|d470|Data General DASHER D470C, - is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h, - sgr=\E[%?%p1%p3%|%p6%|%t7;%{1}%e%{0}%;%PR%?%p4%t5;%{1}%e%{0}%;%PB%?%p2%p6%|%t4;%{1}%e%{0}%;%PU%?%p1%p5%|%t2;%{1}%e%{0}%;%PDm\E)%?%p9%t6\016%e4\017%;, - use=dg+color, use=d460, - -d470c-7b|d470-7b|Data General DASHER D470C in 7 bit mode, - is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h, - sgr=\E[%?%p1%p3%|%p6%|%t7;%{1}%e%{0}%;%PR%?%p4%t5;%{1}%e%{0}%;%PB%?%p2%p6%|%t4;%{1}%e%{0}%;%PU%?%p1%p5%|%t2;%{1}%e%{0}%;%PDm%?%p9%t\016%e\017%;, - use=dg+color, use=d460-7b, - -# Initialization string 2 sets: -# ^^FQ2 - default cursor (solid rectangle) -# ^^FW - character protection disabled -# ^^F\^ - horizontal scrolling enabled (for alignment) -# ^^FX004? - margins at columns 0 and 79 -# ^^F] - horizontal scrolling disabled -# ^^O - primary character set -# ^^FS00 - default character set (the keyboard native language) -# - (should reset scrolling regions, but that glitches the screen) -# -d470c-dg|d470-dg|Data General DASHER D470C in DG mode, - is2=\036FQ2\036FW\036F\^\036FX004?\036F]\036O\036FS00, - use=dgmode+color, use=d460-dg, - -# DASHER D555 terminal in ANSI mode. -# Like a D411, but has an integrated phone. -d555|Data General DASHER D555, - use=d411, -d555-7b|Data General DASHER D555 in 7-bit mode, - use=d411-7b, -d555-w|Data General DASHER D555 in wide mode, - use=d411-w, -d555-7b-w|Data General DASHER D555 in wide 7-bit mode, - use=d411-7b-w, -d555-dg|Data General DASHER D555 series in DG mode, - use=d411-dg, - -# DASHER D577 terminal in ANSI mode. -# Like a D411, but acts as a keyboard for serial printers ("KSR" modes). -d577|Data General DASHER D577, - use=d411, -d577-7b|Data General DASHER D577 in 7-bit mode, - use=d411-7b, -d577-w|Data General DASHER D577 in wide mode, - use=d411-w, -d577-7b-w|Data General DASHER D577 in wide 7-bit mode, - use=d411-7b-w, - -d577-dg|d578-dg|Data General DASHER D577/D578 series in DG mode, - use=d411-dg, - -# DASHER D578 terminal. -# Like a D577, but without compressed mode; like a D470C in this respect. -# -# Initialization string 1 sets: -# \E[<0;<1;<2;<4l -# <0 - scrolling enabled -# <1 - blink enabled -# <2 - horizontal scrolling enabled (for alignment) -# <4 - print characters regardless of attributes -# \E[1;1;80w - margins at columns 1 and 80 -# \E[1;6;<2h -# 1 - print all characters even if protected -# 6 - character protection disabled -# <2 - horizontal scrolling disabled -# - (should reset scrolling regions, but that glitches the screen) -# -d578|Data General DASHER D578, - is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h, use=d577, -d578-7b|Data General DASHER D578 in 7-bit mode, - is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h, use=d577-7b, - -#### Datamedia (dm) -# -# Datamedia was headquartered in Nashua, New Hampshire until it went -# out of business in 1993, but the ID plates on the terminals referred -# to the factory in Pennsauken, NJ. The factory was sold to a PCB board -# manufacturer which threw out all information about the terminals. -# - -cs10|colorscan|Datamedia Color Scan 10, - msgr, - cols#80, lines#24, - bel=^G, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%02d;%p2%02dH, cuu1=\E[A, ed=\E[J, el=\E[K, - ind=^J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smso=\E[7m, smul=\E[4m, -cs10-w|Datamedia Color Scan 10 with 132 columns, - cols#132, - cup=\E[%i%p1%02d;%p2%03dH, use=cs10, - -# (dm1520: removed obsolete ":ma=^\ ^_^P^YH:" -- esr) -dm1520|dm1521|datamedia 1520, - OTbs, am, xenl, - cols#80, it#8, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^\, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^], - home=^Y, ht=^I, ind=^J, kcub1=^H, kcud1=^J, kcuf1=^\, kcuu1=^_, - khome=^Y, -# dm2500: this terminal has both and . Applications using -# termcap/terminfo directly (rather than through ncurses) might be confused. -dm2500|datamedia2500|datamedia 2500, - OTbs, OTnc, - cols#80, lines#24, - bel=^G, clear=^^^^\177, cub1=^H, cud1=^J, cuf1=^\, - cup=\014%p2%{96}%^%c%p1%{96}%^%c, cuu1=^Z, - dch1=\020\010\030\035$<10*>, - dl1=\020\032\030\035$<10*>, el=^W, home=^B, - ich1=\020\034\030\035$<10*>, - il1=\020\n\030\035\030\035$<15>, ind=^J, pad=\377, - rmdc=^X^], rmir=\377\377\030\035$<10>, rmso=^X^], - smdc=^P, smir=^P, smso=^N, -# dmchat is like DM2500, but DOES need "all that padding" (jcm 1/31/82) -# also, has a meta-key. -# From: -# (dmchat: ":MT:" changed to ":km:" -- esr) -dmchat|dmchat version of datamedia 2500, - km, - dl1=\020\032\030\035$<2/>, - il1=\020\n\030\035\030\035$<1*/>, use=dm2500, -# (dm3025: ":MT:" changed to ":km:" -- esr) -dm3025|datamedia 3025a, - OTbs, km, - cols#80, it#8, lines#24, - bel=^G, clear=\EM$<2>, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA, - dch1=\010$<6>, dl1=\EP\EA\EQ$<130>, ed=\EJ$<2>, el=\EK, - home=\EH, ht=^I, il1=\EP\n\EQ$<130>, ind=^J, ip=$<6>, - is2=\EQ\EU\EV, rmdc=\EQ, rmir=\EQ, rmso=\EO0, smdc=\EP, - smir=\EP, smso=\EO1, -dm3045|datamedia 3045a, - OTbs, am, eo, km@, ul, xenl, - dch1=\EB$<6>, dl1@, il1@, is2=\EU\EV, kcuf1=\EC, kcuu1=\EA, - kf0=\Ey\r, kf1=\Ep\r, kf2=\Eq\r, kf3=\Er\r, kf4=\Es\r, - kf5=\Et\r, kf6=\Eu\r, kf7=\Ev\r, kf8=\Ew\r, kf9=\Ex\r, - khome=\EH, pad=\177, rmdc@, rmir=\EP, rmso@, smdc@, smso@, - use=dm3025, -# Datamedia DT80 soft switches: -# 1 0=Jump 1=Smooth -# Autorepeat 0=off 1=on -# Screen 0=Dark 1=light -# Cursor 0=u/l 1=block -# -# 2 Margin Bell 0=off 1=on -# Keyclick 0=off 1=on -# Ansi/VT52 0=VT52 1=Ansi -# Xon/Xoff 0=Off 1=On -# -# 3 Shift3 0=Hash 1=UK Pound -# Wrap 0=Off 1=On -# Newline 0=Off 1=On -# Interlace 0=Off 1=On -# -# 4 Parity 0=Odd 1=Even -# Parity 0=Off 1=On -# Bits/Char 0=7 1=8 -# Power 0=60Hz 1=50Hz -# -# 5 Line Interface 0=EIA 1=Loop -# Aux Interface 0=EIA 1=Loop -# Local Copy 0=Off 1=On -# Spare -# -# 6 Aux Parity 0=Odd 1=Even -# Aux Parity 0=Off 1=On -# Aux Bits/Char 0=7 1=8 -# CRT Saver 0=Off 1=On -# dm80/1 is a vt100 lookalike, but it doesn't seem to need any padding. -dm80|dmdt80|dt80|datamedia dt80/1, - clear=\E[2J\E[H, cud1=^J, cuf1=\E[C, - cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K, - home=\E[H, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, ri=\EM, - rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m, - use=vt100, -# except in 132 column mode, where it needs a little padding. -# This is still less padding than the vt100, and you can always turn on -# the ^S/^Q handshaking, so you can use vt100 flavors for things like -# reverse video. -dm80w|dmdt80w|dt80w|datamedia dt80/1 in 132 char mode, - cols#132, - clear=\E[H\E[2J$<50/>, cud1=^J, - cup=\E[%i%p1%d;%p2%dH$<5/>, cuu1=\E[A$<5/>, - ed=\E[0J$<20/>, el=\E[0K$<20/>, use=dm80, -# From: Adam Thompson Sept 10 1995 -dt80-sas|Datamedia DT803/DTX for SAS usage, - am, bw, - cols#80, lines#24, - acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~, - bel=^G, clear=^L, cr=^M, - csr=\E=%p1%{32}%+%c%{32}%c\E#1\E=%p2%{32}%+%c%{32}%c\E#2, - cub1=^H, cud1=\EB, cuf1=^\, - cup=\E=%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, dl1=\EM, ed=^K, - el=^], ff=^L, home=^Y, ht=^I, hts=\E'1, il1=\EL, ind=\EB, - is2=\E)0\E<\EP\E'0\E$2, kclr=^L, kcub1=^H, kcud1=^J, - kcuf1=^\, kcuu1=^_, ked=^K, kel=^], khome=^Y, mc4=^O, mc5=^N, - rev=\E$2\004, ri=\EI, rmacs=\EG, rmso=^X, sgr0=^X, smacs=\EF, - smso=\E$2\004, tbc=\E'0, - -# Datamedia Excel 62, 64 from Gould/SEL UTX/32 via BRL -# These aren't end-all Excel termcaps; but do insert/delete char/line -# and name some of the extra function keys. (Mike Feldman ccvaxa!feldman) -# The naming convention has been bent somewhat, with the use of E? (where -# E is for 'Excel') as # a name. This was done to distinguish the entries -# from the other Datamedias in use here, and yet to associate a model of -# the Excel terminals with the regular datamedia terminals that share -# major characteristics. -excel62|excel64|datamedia Excel 62, - dch1=\E[P, kbs=^H, kcub1=^H, kcud1=^J, kf5=\EOu, kf6=\EOv, - kf7=\EOw, kf8=\EOx, kf9=\EOy, rmir=\E[4l, smir=\E[4h, - use=dt80, -excel62-w|excel64-w|datamedia Excel 62 in 132 char mode, - dch1=\E[P, kbs=^H, kcub1=^H, kcud1=^J, kf5=\EOu, kf6=\EOv, - kf7=\EOw, kf8=\EOx, kf9=\EOy, rmir=\E[4l, smir=\E[4h, - use=dt80w, -excel62-rv|excel64-rv|datamedia Excel 62 in reverse video mode, - dch1=\E[P, flash=\E[?5l\E[?5h, kbs=^H, kcub1=^H, kcud1=^J, - kf5=\EOu, kf6=\EOv, kf7=\EOw, kf8=\EOx, kf9=\EOy, rmir=\E[4l, - smir=\E[4h, use=dt80, - -#### Falco -# -# Falco Data Products -# 440 Potrero Avenue -# Sunnyvale, CA 940864-196 -# Vox: (800)-325-2648 -# Fax: (408)-745-7860 -# Net: techsup@charm.sys.falco.com -# -# Current Falco models as of 1995 are generally ANSI-compatible and support -# emulations of DEC VT-series, Wyse, and Televideo types. -# - -# Test version for Falco ts-1. See for info -# This terminal was released around 1983 and was discontinued long ago. -# The standout and underline highlights are the same. -falco|ts1|ts-1|falco ts-1, - OTbs, am, - cols#80, it#8, lines#24, - bel=^G, clear=\E*, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET\EG0\010, home=^^, ht=^I, il1=\EE, - ind=^J, is2=\Eu\E3, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, - kf0=^A0\r, rmir=\Er, rmso=\Eg0, rmul=\Eg0, sgr0=\Eg0, - smir=\Eq, smso=\Eg1, smul=\Eg1, -falco-p|ts1p|ts-1p|falco ts-1 with paging option, - OTbs, am, da, db, mir, msgr, ul, - cols#80, it#8, lines#24, - bel=^G, cbt=\EI, clear=\E*, cr=^M, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=\E[A, - dch1=\EW, dl1=\ER, ed=\EY, el=\ET\EG0\010\Eg0, ht=^I, - il1=\EE, ind=^J, is2=\EZ\E3\E_c, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, rmcup=\E_b, rmir=\Er, - rmso=\Eg0, rmul=\Eg0, sgr0=\Eg0, smcup=\E_d, smir=\Eq, - smso=\Eg4, smul=\Eg1, -# (ts100: I added / based on the init string -- esr) -ts100|ts100-sp|falco ts100-sp, - am, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C$<2>, - cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, - cuu1=\E[A$<2>, dch1=\E~W, dl1=\E~R, ed=\E[J$<50>, - el=\E[K$<3>, el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H, - ht=^I, hts=\EH, ich1=\E~Q, il1=\E~E, ind=^J, is1=\E~)\E~ea, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, - rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>, - sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, - smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, - use=vt100+fnkeys, -ts100-ctxt|falco ts-100 saving context, - rmcup=\E~_b, smcup=\E~_d\E[2J, use=ts100, - -#### Florida Computer Graphics -# - -# Florida Computer Graphics Beacon System, using terminal emulator program -# "host.com", as provided by FCG. This description is for an early release -# of the "host" program. Known bug: clears the whole screen, so it's -# commented out. - -# From: David Bryant 1/7/83 -beacon|FCG Beacon System, - am, da, db, - cols#80, lines#32, - bel=\ESTART\r\E37\r\EEND\r$<1>, - blink=\ESTART\r\E61\,1\r\EEND\r, clear=\EZ$<10>, cr=^M, - cub1=^H, cud1=^J, cuf1=\EV, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<20>, cuu1=\EU, - dch1=\EW, dl1=\ER, el=\ET, home=\EH$<10>, ich1=\EQ, il1=\EE, - ind=^J, rev=\ESTART\r\E59\,1\r\EEND\r, rmcup=, - rmso=\ESTART\r\E70\,0\r\EEND\r$<20>, - rmul=\ESTART\r\E60\,0\r\EEND\r, - sgr0=\ESTART\r\E78\r\E70\,0\r\EEND\r$<20>, - smcup=\ESTART\r\E2\,0\r\E12\r\EEND\r$<10>, - smso=\ESTART\r\E70\,6\r\EEND\r$<20>, - smul=\ESTART\r\E60\,1\r\EEND\r, - -#### Fluke -# - -# The f1720a differences from ANSI: no auto margin, destructive -# tabs, # of lines, funny highlighting and underlining -f1720|f1720a|fluke 1720A, - xt, - cols#80, lines#16, xmc#1, - bel=^G, clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, - el=\E[K, ind=\ED, is2=\E[H\E[2J, kcub1=^_, kcud1=^], - kcuf1=^^, kcuu1=^\, ri=\EM, rmso=\E[m, rmul=\E[m, sgr0=\E[m, - smso=\E[7m, smul=\E[4m, - -#### Liberty Electronics (Freedom) -# -# Liberty Electronics -# 48089 Fremont Blvd -# Fremont CA 94538 -# Vox: (510)-623-6000 -# Fax: (510)-623-7021 - -# From: -# (f100: added empty to suppress a tic warning; -# made this relative to adm+sgr -- note that isn't -# known to work for f100 but does on the f110. --esr) -f100|freedom|freedom100|freedom model 100, - OTbs, am, bw, hs, mir, msgr, xon, - cols#80, lines#24, - acsc=, bel=^G, cbt=\EI, clear=^Z, cr=^M, cub1=^H, cud1=^J, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\EW, dl1=\ER$<11.5*>, dsl=\Eg\Ef\r, ed=\EY, el=\ET, - flash=\Eb$<200>\Ed, fsl=^M, home=^^, hpa=\E]%p1%{32}%+%c, - ht=^I, hts=\E1, il1=\EE$<8.5*>, ind=^J, ip=$<6>, - is2=\Eg\Ef\r\Ed, kbs=^H, kcbt=\EI, kcub1=^H, kcud1=^V, - kcuf1=^L, kcuu1=^K, kf1=^A@\r, kf10=^AI\r, kf2=^AA\r, - kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, khome=^^, ri=\Ej, rmacs=\E$, rmir=\Er, - smacs=\E%%, smir=\Eq, tbc=\E3, tsl=\Eg\Ef, - vpa=\E[%p1%{32}%+%c, use=adm+sgr, -f100-rv|freedom-rv|freedom 100 in reverse video, - flash=\Ed$<200>\Eb, is2=\Eg\Ef\r\Eb, use=f100, -# The f110 and f200 have problems with vi(1). They use the ^V -# code for the down cursor key. When kcud1 is defined in terminfo -# as ^V, the Control Character Quoting capability (^V in insert mode) -# is lost! It cannot be remapped in vi because it is necessary to enter -# a ^V to to quote the ^V that is being remapped!!! -# -# f110/f200 users will have to decide whether -# to lose the down cursor key or the quoting capability. We will opt -# initially for leaving the quoting capability out, since use of VI -# is not generally applicable to most interactive applications -# (f110: added , & from f100 -- esr) -f110|freedom110|Liberty Freedom 110, - bw@, eslok, - it#8, wsl#80, - blink=\EG2, bold=\EG0, civis=\E.1, cnorm=\E.2, cud1=^V, - dim=\EG@, dl1=\ER, dsl=\Ef\r, flash=\Eb$<200/>\Ed, il1=\EE, - ip@, is2@, kclr=^^, kdch1=\EW, kdl1=\ER, ked=\EY, kel=\ET, - kf0=^AI\r, kf10@, kich1=\EQ, kil1=\EE, mc4=\Ea, mc5=\E`, - ri=\EJ, rmacs=\E%%, rmir=\Er\EO, smacs=\E$, smir=\EO\Eq, - smso=\EG<, tsl=\Ef, use=f100, -f110-14|Liberty Freedom 110 14inch, - dch1@, use=f110, -f110-w|Liberty Freedom 110 - 132 cols, - cols#132, use=f110, -f110-14w|Liberty Freedom 110 14in/132 cols, - cols#132, - dch1@, use=f110, -# (f200: added to suppress tic warnings re / --esr) -f200|freedom200|Liberty Freedom 200, - OTbs, am, eslok, hs, mir, msgr, xon, - cols#80, it#8, lines#24, wsl#80, - acsc=, bel=^G, blink=\EG2, bold=\EG0, cbt=\EI, civis=\E.0, - clear=^Z, cnorm=\E.1, cr=^M, - csr=\Em0%p1%{32}%+%c%p2%{32}%+%c, cub1=^H, cud1=^V, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\EW, dim=\EG@, dl1=\ER, dsl=\Ef\r, ed=\EY, el=\ET, - flash=\Eo$<200/>\En, fsl=^M, home=^^, - hpa=\E]%p1%{32}%+%c, hts=\E1, il1=\EE, ind=^J, kbs=^H, - kclr=^^, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, - kdl1=\ER, ked=\EY, kel=\ET, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, - kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, kich1=\EQ, kil1=\EE, mc4=\Ea, mc5=\E`, - ri=\EJ, rmacs=\E%%, rmir=\Er, smacs=\E$, smir=\Eq, smso=\EG<, - tbc=\E3, tsl=\Ef, vpa=\E[%p1%{32}%+%c, use=adm+sgr, -f200-w|Liberty Freedom 200 - 132 cols, - cols#132, use=f200, -# The f200 has the ability to reprogram the down cursor key. The key is -# reprogrammed to ^J (linefeed). This value is remembered in non-volatile RAM, -# so powering the terminal off and on will not cause the change to be lost. -f200vi|Liberty Freedom 200 for vi, - flash=\Eb$<200/>\Ed, kcud1=^J, use=f200, -f200vi-w|Liberty Freedom 200 - 132 cols for vi, - cols#132, use=f200vi, - -#### GraphOn (go) -# -# Graphon Corporation -# 544 Division Street -# Campbell, CA 95008 -# Vox: (408)-370-4080 -# Fax: (408)-370-5047 -# Net: troy@graphon.com (Troy Morrison) -# -# -# The go140 and go225 have been discontinued. GraphOn now makes X terminals, -# including one odd hybrid that starts out life on power-up as a character -# terminal, than can be switched to X graphics mode (driven over the serial -# line) by an escape sequence. No info on this beast yet. -# (go140: I added / based on the init string -- esr) -go140|graphon go-140, - OTbs, - cols#80, it#8, lines#24, - clear=\E[H\E[2J$<10/>, cub1=^H, cuf1=\E[C, - cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - ed=\E[J$<10/>, el=\E[K, ht=^I, - if=/usr/share/tabset/vt100, il1=\E[L, - is2=\E<\E=\E[?3l\E[?7l\E(B\E[J\E7\E[;r\E8\E[m\E[q, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, ri=\EM, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, - rmul=\E[m, sgr0=\E[m, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, -go140w|graphon go-140 in 132 column mode, - am, - cols#132, - is2=\E<\E=\E[?3h\E[?7h\E(B\E[J\E7\E[;r\E8\E[m\E[q, - use=go140, -# Hacked up vt200 termcap to handle GO-225/VT220 -# From: -# (go225: I added / based on the init string -- esr) -go225|go-225|Graphon 225, - OTbs, am, mir, xenl, - cols#80, it#8, lines#25, vt#3, - blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, - csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - ed=\E[J, el=\E[K, home=\E[H, ht=^I, il1=\E[L, ind=\ED, - is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, rc=\E8, rev=\E[7m, - rf=/usr/share/tabset/vt100, ri=\EM, rmam=\E[?7l, - rmcup=\E[!p\E[?7h\E[2;1;1#w, rmir=\E[4l, rmkx=\E>, - rmso=\E[27m, rmul=\E[24m, rs1=\E[!p\E[?7h\E[2;1;1#w, - sc=\E7, sgr0=\E[m, smam=\E[?7h, smcup=\E[2;0#w\E[1;25r, - smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m, - -#### Harris (Beehive) -# -# Bletch. These guys shared the Terminal Brain Damage laurels with Hazeltine. -# Their terminal group is ancient history now (1995) though the parent -# company is still in business. -# - -# Beehive documentation is undated and marked Preliminary and has no figures -# so we must have early Superbee2 (Model 600, according to phone conversation -# with mfr.). It has proved reliable except for some missing padding -# (notably after \EK and at bottom of screen). -# -# The key idea is that AEP mode is poison for & that US's in -# the local memory should be avoided like the plague. That means -# that the 2048 character local buffer is used as 25 lines of 80 -# characters, period. No scrolling local memory, folks. It also -# appears that we cannot use naked INS LINE feature since it uses -# US. The sbi fakes with an 80-space insert that may be too -# slow at low speeds; also spaces get converted to \040 which is -# too long for some programs (not vi). DEL LINE is ok but slow. -# -# The string is designed for last line of screen ONLY; cup to -# 25th line corrects the motion inherent in scrolling to Page 1. -# -# There is one understood bug. It is that the screen appears to -# pop to a new (blank) page after a , or leave a half-line -# ellipsis to a quad that is the extra 48 memory locations. The -# data received is dumped into memory but not displayed. Not to -# worry if is being used; the lines not displayed will be, -# whenever the cursor is moved up there. Since is addressed -# relative to MEMORY of window, nothing is lost; but beware of -# relative cursor motion (,,,). Recommended, -# therefore, is setenv MORE -c . -# -# WARNING: Not all features tested. -# -# Timings are assembled from 3 sources. Some timings may reflect -# SB2/Model 300 that were used if more conservative. -# Tested on a Model 600 at 1200 and 9600 bd. -# -# The BACKSPACEkb option is cute. The NEWLINE key, so cleverly -# placed on the keyboard and useless because of AEP, is made -# into a backspace key. In use ESC must be pressed twice (to send) -# and sending ^C must be prefixed by ESC to avoid that weird -# transmit mode associated with ENTER key. -# -# IF TERMINAL EVER GOES CATATONIC with the cursor buzzing across -# the screen, then it has dropped into ENTER mode; hit -# RESET--ONLINE--!tset. -# -# As delivered this machine has a FATAL feature that will throw -# it into that strange transmit state (SPOW) if the space bar is -# hit after a CR is received, but before receiving a LF (or a -# few others). -# -# The circuits MUST be modified to eliminate the SPOW latch. -# This is done by strapping on chip A46 of the I/O board; cut -# the p.c. connection to Pin 5 and strap Pin 5 to Pin 8 of that -# chip. This mod has been checked out on a Mod 600 of Superbee II. -# With this modification absurdly high timings on cr are -# unnecessary. -# -# NOTE WELL that the rear panel switch should be set to CR/LF, -# not AEP! -# -sb1|beehive superbee, - OTbs, am, bw, da, db, mir, ul, xsb, - cols#80, lines#25, xmc#1, - bel=^G, cbt=\E`$<650>, clear=\EH$<1>\EJ$<3>, cr=$<1>\r, - cub1=^H, cud1=^J, cuf1=\EC$<3>, cup=\EF%p2%03d%p1%03d, - cuu1=\EA$<3>, dch1=\EP$<3>, dl1=\EM$<100>, ed=\EJ$<3>, - el=\EK$<3>, home=\EH$<1>, ht=^I, hts=\E1, - il1=\EN\EL$<3>\EQ \EP$<3> \EO\ER\EA$<3>, - ind=^J, is2=\EE$<3>\EX\EZ\EO\Eb\Eg\ER, kbs=^_, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdl1=\EM, ked=\EJ, kel=\EK, - kf0=\E2, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, kf6=\Eu, - kf7=\Ev, kf8=\Ew, kf9=\E1, khome=\EH, kich1=\EQ\EO, - krmir=\ER, lf0=TAB CLEAR, lf9=TAB SET, rmcup=, rmir=\ER, - rmso=\E_3, rmul=\E_3, sgr0=\E_3, smcup=\EO, smir=\EQ\EO, - smso=\E_1, smul=\E_0, tbc=\E3, -sbi|superbee|beehive superbee at Indiana U., - xsb, - cr=\r$<1>, il1=1\EN\EL$<9>\EQ \EP$<9> \EO\ER\EA, - use=sb1, -# Alternate (older) description of Superbee - f1=escape, f2=^C. -# Note: there are at least 3 kinds of superbees in the world. The sb1 -# holds onto escapes and botches ^C's. The sb2 is the best of the 3. -# The sb3 puts garbage on the bottom of the screen when you scroll with -# the switch in the back set to CRLF instead of AEP. This description -# is tested on the sb2 but should work on all with either switch setting. -# The f1/f2 business is for the sb1 and the can be taken out for -# the other two if you want to try to hit that tiny escape key. -# This description is tricky: being able to use cup depends on there being -# 2048 bytes of memory and the hairy string. -superbee-xsb|beehive super bee, - am, da, db, xsb, - cols#80, it#8, lines#25, - clear=\EH\EJ$<3>, cnorm=^J, cr=\r$<1000>, cub1=^H, cud1=^J, - cuf1=\EC, cup=\EF%p2%3d%p1%3d, cuu1=\EA$<3>, - dch1=\EP$<3>, dl1=\EM$<100>, ed=\EJ$<3>, el=\EK$<3>, - home=\EH, ht=^I, hts=\E1, - ind=\n\0\0\0\n\0\0\0\EA\EK\0\0\0\ET\ET, is2=\EH\EJ, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf1=\Ep, kf2=\Eq, - kf3=\Er, kf4=\Es, kf5=\Et, kf6=\Eu, kf7=\Ev, kf8=\Ew, - khome=\EH, rmso=\E_3, sgr0=\E_3, smso=\E_1, tbc=\E3, -# This loses on lines > 80 chars long, use at your own risk -superbeeic|super bee with insert char, - ich1=, rmir=\ER, smir=\EQ, use=superbee-xsb, -sb2|sb3|fixed superbee, - xsb@, use=superbee, - -#### Beehive Medical Electronics -# -# Steve Seymour writes (Wed, 03 Feb 1999): -# Regarding your question though; Beehive terminals weren't made by Harris. -# They were made by Beehive Medical Electronics in Utah. They went out of -# business in the early '80s. -# -# (OK, then, I don't know why a couple of these say "harris beehive".) -# - -# Reports are that most of these Beehive entries (except superbee) have not -# been tested and do not work right. is a trouble spot. Be warned. - -# (bee: was empty, which is obviously bogus -- esr) -beehive|bee|harris beehive, - OTbs, am, mir, - cols#80, lines#24, - cbt=\E>, clear=\EE, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\EF%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EP, - dl1=\EM, ed=\EJ, el=\EK, home=\EH, il1=\EL, kbs=^H, kcbt=\E>, - kclr=\EE, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - kdch1=\EP, kdl1=\EM, kel=\EK, khome=\EH, kich1=\EQ, kil1=\EL, - krmir=\E@, rmir=\E@, rmso=\Ed@, rmul=\Ed@, sgr0=\Ed@, - smir=\EQ, smso=\EdP, smul=\Ed`, -# set tab is ^F, clear (one) tab is ^V, no way to clear all tabs. -# good grief - does this entry make :sg:/:ug: when it doesn't have to? -# look at those spaces in /. Seems strange to me... -# (beehive: removed, no such file. If you -# really care, cook up one using ^F -- esr) -beehive3|bh3m|beehiveIIIm|harris beehive 3m, - OTbs, am, - cols#80, it#8, lines#20, - bel=^G, clear=^E^R, cr=^M, cub1=^H, cud1=^J, cuf1=^L, cuu1=^K, - dl1=\021$<350>, ed=^R, el=^P, home=^E, ht=^I, hts=^F, - il1=\023$<160>, ind=^J, ll=^E^K, rmso=\s^_, smso=^]\s, -beehive4|bh4|beehive 4, - am, - cols#80, lines#24, - bel=^G, clear=\EE, cr=^M, cub1=\ED, cud1=^J, cuf1=\EC, - cuu1=\EA, ed=\EJ, el=\EK, home=\EH, ind=^J, -# There was an early Australian kit-built computer called a "Microbee". -# It's not clear whether this is for one of those or for a relative -# of the Beehive. -microb|microbee|micro bee series, - OTbs, am, - cols#80, it#8, lines#24, - bel=^G, clear=\EE, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EF%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, - el=\EK, ht=^I, ind=^J, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, - kf6=\Eu, kf7=\Ev, kf8=\Ew, kf9=\Ex, khome=\EH, rmso=\Ed@, - rmul=\Ed@, sgr0=\Ed@, smso=\s\EdP, smul=\Ed`, - -# 8675, 8686, and bee from Cyrus Rahman -# (8675: changed k10, k11...k16 to k;, F1...F6 -- esr) -ha8675|harris 8675, - is2=\ES\E#\E*\Eh\Em\E?\E1\E9\E@\EX\EU, kf1=^F, - kf10=\Ed, kf11=^W, kf12=\ER, kf13=\EE, kf14=\EI, kf15=\Ei, - kf16=\Eg, kf2=^P, kf3=^N, kf4=^V, kf5=^J, kf6=^T, kf7=^H, - kf8=\177, kf9=\Ee, use=bee, -# (8686: changed k10, k11...k16 to k;, F1...F6; fixed broken continuation -# in :is: -- esr) -ha8686|harris 8686, - is2=\ES\E#\E*\Eh\Em\E?\E1\E9\E@\EX\EU\E"*Z01\E"8F35021B7C83#\E"8F45021B7D83#\E"8F55021B7E83#\E"8F65021B7F83#\E"8F75021B7383#\E"8F851BD7#\E"8F95021B7083#\E"8FA5021B7183#\E"8FB5021B7283#, - kf1=\002\Ep\003, kf10=\Ej, kf11=\EW, kf12=\002\E{\003, - kf13=\002\E|\003, kf14=\002\E}\003, kf15=\002\E~\003, - kf16=\002\E\177\003, kf2=\002\Eq\003, kf3=\002\Er\003, - kf4=\002\Es\003, kf5=\E3, kf6=\EI, kf7=\ER, kf8=\EJ, kf9=\E(, - use=bee, - -#### Hazeltine -# -# Hazeltine appears to be out of the terminal business as of 1995. These -# guys were co-owners of the Terminal Brain Damage Hall Of Fame along with -# Harris. They have a hazeltine.com domain (but no web page there ) and can -# be reached at: -# -# Hazeltine -# 450 East Pulaski Road -# Greenlawn, New York 11740 -# -# As late as 1993, manuals for the terminal product line could still be -# purchased from: -# -# TRW Customer Service Division -# 15 Law Drive -# P.O. Box 2076 -# Fairfield, NJ 07007-2078 -# -# They're now (1998) a subsidiary of General Electric, operating under the -# marque "GEC-Marconi Hazeltine" and doing military avionics. Web page -# at . -# - -# Since is blank, when you want to erase something you -# are out of luck. You will have to do ^L's a lot to -# redraw the screen. h1000 is untested. It doesn't work in -# vi - this terminal is too dumb for even vi. (The code is -# there but it isn't debugged for this case.) -hz1000|hazeltine 1000, - OTbs, - cols#80, lines#12, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=\s, home=^K, - ind=^J, -# From: Thu Aug 20 09:09:18 1981 -hz1420|hazeltine 1420, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\E^\, cr=^M, cub1=^H, cud1=^J, cuf1=^P, - cup=\E\021%p2%c%p1%{32}%+%c, cuu1=\E^L, dl1=\E^S, - ed=\E^X, el=\E^O, ht=^N, il1=\E^Z, ind=^J, rmso=\E^Y, - smso=\E^_, -# New "safe" cursor movement (11/87) from . Prevents -# freakout with out-of-range args and tn3270. No hz since it needs to -# receive tildes. -hz1500|hazeltine 1500, - OTbs, am, hz, - cols#80, lines#24, - bel=^G, clear=~^\, cr=^M, cub1=^H, cud1=~^K, cuf1=^P, - cup=~\021%p2%p2%?%{30}%>%t%{32}%+%;%{96}%+%c%p1%{96}%+%c, - cuu1=~^L, dl1=~\023$<40>, ed=~\030$<10>, el=~^O, home=~^R, - il1=~\032$<40>, ind=^J, kcub1=^H, kcud1=^J, kcuf1=^P, - kcuu1=~^L, khome=~^R, rmso=~^Y, smso=~^_, -# h1510 assumed to be in sane escape mode. Else use h1500. -# (h1510: early versions of this entry apparently had ", -# , but these caps were commented out in 8.3; also, -# removed incorrect and overridden ":do=^J:" -- esr) -hz1510|hazeltine 1510, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\E^\, cr=^M, cub1=^H, cud1=\E^K, cuf1=^P, - cup=\E\021%p2%c%p1%c, cuu1=\E^L, dl1=\E^S, ed=\E^X, - el=\E^O, il1=\E^Z, ind=^J, -# Hazeltine 1520 -# The following switch settings are assumed for normal operation: -# FULL CR U/L_CASE ESCAPE -# FORMAT_OFF EOM_A_OFF EOM_B_OFF WRAPAROUND_ON -# Other switches may be set for operator convenience or communication -# requirements. -hz1520|Hazeltine 1520, - OTbs, am, bw, msgr, - cols#80, lines#24, - bel=^G, bold=\E^_, clear=\E^\, cr=^M, cub1=^H, cud1=^J, - cuf1=^P, cup=\E\021%p2%c%p1%c, cuu1=\E^L, dl1=\E^S, - ed=\E^X, el=\E^O, home=\E^R, il1=\E^Z, ind=^J, kbs=^H, - kclr=\E^\, kcub1=^H, kcud1=\E^K, kcuf1=^P, kcuu1=\E^L, - kdl1=\E^S, ked=\E^X, kel=\E^O, khome=\E^R, kil1=\E^Z, - rmso=\E^Y, rs1=\E$\E\005\E?\E\031, sgr0=\E^Y, smso=\E^_, -# This version works with the escape switch off -# (h1520: removed incorrect and overridden ":do=^J:" -- esr) -hz1520-noesc|hazeltine 1520, - am, hz, - cols#80, lines#24, - bel=^G, clear=~^\, cr=^M, cub1=^H, cud1=~^K, cuf1=^P, - cup=~\021%p2%c%p1%c$<1>, cuu1=~^L, dl1=~^S, ed=~^X, el=~^O, - home=~^R, il1=~^Z, ind=^J, rmso=~^Y, smso=~^_, -# Note: the h1552 appears to be the first Hazeltine terminal which -# is not braindamaged. It has tildes and backprimes and everything! -# Be sure the auto lf/cr switch is set to cr. -hz1552|hazeltine 1552, - OTbs, - cud1=^J, dl1=\EO, il1=\EE, kf1=\EP, kf2=\EQ, kf3=\ER, lf1=blue, - lf2=red, lf3=green, use=vt52, -hz1552-rv|hazeltine 1552 reverse video, - cud1=^J, rmso=\ET, smso=\ES, use=hz1552, -# Note: h2000 won't work well because of a clash between upper case and ~'s. -hz2000|hazeltine 2000, - OTbs, OTnc, am, - cols#74, lines#27, - bel=^G, clear=~\034$<6>, cub1=^H, cud1=^J, - cup=~\021%p2%c%p1%c, dl1=~\023$<6>, home=~^R, - il1=~\032$<6>, ind=^J, pad=\177, -# Date: Fri Jul 23 10:27:53 1982. Some unknown person wrote: -# I tested this termcap entry for the Hazeltine Esprit with vi. It seems -# to work ok. There is one problem though if one types a lot of garbage -# characters very fast vi seems not able to keep up and hangs while trying -# to insert. That's in insert mode while trying to insert in the middle of -# a line. It might be because the Esprit doesn't have insert char and delete -# char as a built in function. Vi has to delete to end of line and then -# redraw the rest of the line. -esprit|Hazeltine Esprit I, - OTbs, am, bw, - cols#80, lines#24, - bel=^G, cbt=\E^T, clear=\E^\, cr=^M, cub1=^H, cud1=\E^K, - cuf1=^P, cup=\E\021%p2%c%p1%c, cuu1=\E^L, dl1=\E^S, - ed=\E^W, el=\E^O, home=\E^R, il1=\E^Z, ind=^J, is2=\E?, kbs=^H, - kcub1=^H, kcud1=\E^K, kcuf1=^P, kcuu1=\E^L, kf0=^B0^J, - kf1=^B1^J, kf2=^B2^J, kf3=^B3^J, kf4=^B4^J, kf5=^B5^J, - kf6=^B6^J, kf7=^B7^J, kf8=^B8^J, kf9=^B9^J, khome=\E^R, - lf0=0, lf1=1, lf2=2, lf3=3, lf4=4, lf5=5, lf6=6, lf7=7, lf8=8, lf9=9, - rmkx=\E>, rmso=\E^Y, smkx=\E<, smso=\E^_, -esprit-am|hazeltine esprit auto-margin, - am, use=esprit, -# Hazeltine Modular-1 from Cliff Shackelton via BRL -# Vi it seems always wants to send a control J for "do" and it turned out -# that the terminal would work somewhat if the auto LF/CR was turned off. -# (hmod1: removed :dn=~^K: -- esr) -hmod1|Hazeltine Modular 1, - OTbs, am, hz, - cols#80, lines#24, - bel=^G, cbt=~^T, clear=~^\, cr=^M, cub1=^H, cud1=~^K, cuf1=^P, - cup=~\021%p2%c%p1%c, cuu1=~^L, dl1=~^S, home=~^R, il1=~^Z, - ind=^J, kcub1=^H, kcud1=~^K, kcuf1=^P, kcuu1=~^L, khome=~^R, - rc=~^Q, rmso=~^Y, sc=~^E, sgr0=~^Y, smso=~^_, -# -# Hazeltine Executive 80 Model 30 (1554?) -# from Will Martin via BRL -# Like VT100, except for different "am" behavior. -hazel|exec80|h80|he80|Hazeltine Executive 80, - OTbs, OTpt, am, - cols#80, it#8, lines#24, vt#3, - OTnl=^J, bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>, - clear=\E[;H\E[2J$<50/>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=^J, cuf1=\E[C$<2/>, - cup=\E[%i%p1%d;%p2%dH$<5/>, cuu1=\E[A$<2/>, - ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H, ht=^I, - is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\EOD, kcud1=\EOB, - kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, rc=\E8, rev=\E[7m$<2/>, - rf=/usr/share/tabset/vt100, ri=\EM$<5/>, - rmkx=\E[?1l\E>, rmso=\E[m$<2/>, rmul=\E[m$<2/>, - rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr0=\E[m$<2/>, smkx=\E[?1h\E=, smso=\E[7m$<2/>, - smul=\E[4m$<2/>, - -#### IBM -# - -ibm327x|line mode IBM 3270 style, - gn, - clear=^M^J, el=^M, home=^M, - -ibm3101|i3101|IBM 3101-10, - OTbs, am, xon, - cols#80, lines#24, - bel=^G, clear=\EK, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, - el=\EI, home=\EH, hts=\E0, ind=^J, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, nel=^M^J, tbc=\EH, -ibm3151|IBM 3151 display, - is2=\E S, rmacs=\E>B, rmcup=\E>B, rs2=\E S, s0ds=\E>B, - sgr=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;%?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t%{80}%|%;%c%?%p9%t\E>A%e\E>B%;, - sgr0=\E4@\E>B, smacs=\E>A, smcup=\E>B, use=ibm3162, -# From: Mark Easter 29 Oct 1992 -# removed kend, knp, kpp -TD -ibm3161|ibm3163|wy60-316X|wyse60-316X|IBM 3161/3163 display, - OTbs, am, mir, msgr, - cols#80, it#8, lines#24, - acsc=j\352k\353l\354m\355n\356q\361t\364u\365v\366w\367x\370, - bel=^G, blink=\E4D, bold=\E4H, clear=\EH\EJ, cr=^M, cub1=\ED, - cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=\EA, dch1=\EQ, dl1=\EO, ed=\EJ, el=\EI, home=\EH, ind=^J, - invis=\E4P, kbs=^H, kcbt=\E2, kclr=\EL\r, kctab=\E1, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\EQ, - kdl1=\EO, ked=\EJ, kel=\EI, kf1=\Ea\r, kf10=\Ej\r, - kf11=\Ek\r, kf12=\El\r, kf13=\E!a\r, kf14=\E!b\r, - kf15=\E!c\r, kf16=\E!d\r, kf17=\E!e\r, kf18=\E!f\r, - kf19=\E!g\r, kf2=\Eb\r, kf20=\E!h\r, kf21=\E!i\r, - kf22=\E!j\r, kf23=\E!k\r, kf24=\E!l\r, kf3=\Ec\r, - kf4=\Ed\r, kf5=\Ee\r, kf6=\Ef\r, kf7=\Eg\r, kf8=\Eh\r, - kf9=\Ei\r, khome=\EH, khts=\E0, kich1=\EP \010, kil1=\EN, - ktbc=\E 1, mc4=^P^T, mc5=^P^R, rev=\E4A, rmcup=\E>A, - rmso=\E4@, rmul=\E4@, - sgr=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;%?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t%{80}%|%;%c%?%p9%t\E>A%e\E<@%;, - sgr0=\E4@\E<@, smcup=\E>A, smso=\E4A, smul=\E4B, - -ibm3161-C|IBM 3161-C NLS terminal using cartridge, - rmcup=\E>B, s0ds=\E>B, s1ds=\E>A, smcup=\E>B, use=ibm3161, -ibm3162|IBM 3162 display, - blink=\E4$a, bold=\E4(a, il1=\EN, invis=\E40a, rev=\E4!a, - rmso=\E4>b, rmul=\E4=b, sgr0=\E4@, smso=\E4!a, smul=\E4"a, - use=ibm3161-C, - -# This really should not use setab/setaf, but it is clear that the -# original terminfo does not toggle red/blue colors as in setb/setf. -ibm3164|i3164|IBM 3164, - msgr, - colors#8, pairs#64, - op=\E4 "@, rmcup=\E!9(N\E>B, s0ds=\E>B, s1ds=\E>A, - setab=\E4 %p1%{64}%+%c, - setaf=\E4%?%p1%t %p1%{32}%+%c%e!'%;@, - smcup=\E!9/N\E>B, use=ibm3161, - -ibm5151|wy60-AT|wyse60-AT|IBM 5151 Monochrome display, - am, bw, msgr, xon, - cols#80, it#8, lines#25, - acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H, - hpa=\E[%i%p1%dG, il=\E[%p1%dL, il1=\E[L, ind=\E[S, - indn=\E[%p1%dS, invis=\E[8m, is2=\Ec, kbs=^H, kcbt=\E[Z, - kclr=\E[144q, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kdch1=\E[P, ked=\E[148q, kel=\E[142q, - kend=\E[146q, kf1=\E[001q, kf10=\E[010q, kf11=\E[011q, - kf12=\E[012q, kf13=\E[013q, kf14=\E[014q, kf15=\E[015q, - kf16=\E[016q, kf17=\E[017q, kf18=\E[018q, kf19=\E[019q, - kf2=\E[002q, kf20=\E[020q, kf21=\E[021q, kf22=\E[022q, - kf23=\E[023q, kf24=\E[024q, kf25=\E[025q, kf26=\E[026q, - kf27=\E[027q, kf28=\E[028q, kf29=\E[029q, kf3=\E[003q, - kf30=\E[030q, kf31=\E[031q, kf32=\E[032q, kf33=\E[033q, - kf34=\E[034q, kf35=\E[035q, kf36=\E[036q, kf4=\E[004q, - kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, kf8=\E[008q, - kf9=\E[009q, khome=\E[H, kich1=\E[139q, kil1=\E[140q, - kind=\E[151q, knp=\E[154q, kpp=\E[150q, kri=\E[155q, - krmir=\E[4l, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, rmir=\E[4l, - rmso=\E[m, rmul=\E[m, rs2=\Ec, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m, - sgr0=\E[0m, smir=\E[4h, smso=\E[7m, smul=\E[4m, - -ibmaed|IBM Experimental display, - OTbs, am, eo, msgr, - cols#80, it#8, lines#52, - clear=\EH\EK, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EQ, - dl1=\EO, ed=\EJ, el=\EI, flash=\EG, home=\EH, ht=^I, ich1=\EP, - il1=\EN, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - rmso=\E0, sgr0=\E0, smso=\E0, -ibm-apl|apl|IBM apl terminal simulator, - lines#25, use=dm1520, -# (ibmmono: this had an unknown `sb' boolean, I changed it to `bs'. -# Also it had ":I0=f10:" which pretty obviously should be "l0=f10" -- esr) -ibmmono|IBM workstation monochrome, - eslok, hs, - bold=\EZ, dl1=\EM, dsl=\Ej\EY8 \EI\Ek, fsl=\Ek, il1=\EL, - invis=\EF\Ef0;\Eb0;, kbs=^H, kf0=\E<, kf1=\ES, kf2=\ET, - kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\EY, - khome=\EH, kich1=\0, kind=\EE, knp=\EE, kpp=\Eg, kri=\EG, - lf0=f10, rev=\Ep, ri=\EA, rmso=\Ez, rmul=\Ew, - sgr0=\Ew\Eq\Ez\EB, smso=\EZ, smul=\EW, tsl=\Ej\EY8%+ \Eo, - use=ibm3101, -ibmega|IBM Enhanced Color Display, - cr=^M, cud1=^J, ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, - nel=^M^J, use=ibmmono, -# This color scheme is assumed in some recent IBM terminal descriptions -# (green on black, emulated on a 16-color terminal). -ibm+color|IBM color definitions, - colors#8, ncv#3, pairs#64, - op=\E[32m\E[40m, - setb=\E[%?%p1%{0}%=%t40m%e%p1%{1}%=%t41m%e%p1%{2}%=%t42m%e%p1%{3}%=%t43m%e%p1%{4}%=%t44m%e%p1%{5}%=%t45m%e%p1%{6}%=%t46m%e%p1%{7}%=%t107m%;, - setf=\E[%?%p1%{0}%=%t30m%e%p1%{1}%=%t31m%e%p1%{2}%=%t32m%e%p1%{3}%=%t33m%e%p1%{4}%=%t34m%e%p1%{5}%=%t35m%e%p1%{6}%=%t36m%e%p1%{7}%=%t97m%;, -ibm+16color|IBM aixterm color definitions, - colors#16, pairs#256, - setab=\E[%?%p1%{8}%<%t%p1%{40}%+%e%p1%{92}%+%;%dm, - setaf=\E[%?%p1%{8}%<%t%p1%{30}%+%e%p1%{82}%+%;%dm, - setb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m, - setf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m, -ibm5154|IBM 5154 Color display, - colors#8, ncv@, pairs#64, - bold@, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=ibm5151, - use=ibm+color, -ibmega-c|ibm5154-c|IBM Enhanced Color Display with standout and underline, - rmso=\EB, rmul=\EB, smso=\EF\Ef3;, smul=\EF\Ef2;, - use=ibmmono, -ibmvga-c|IBM VGA display color termcap, - cr=^M, cud1=^J, ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, - nel=^M^J, use=ibmega-c, -ibmvga|IBM VGA display, - cr=^M, cud1=^J, ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, - nel=^M^J, use=ibmega, -# ibmapa* and ibmmono entries come from ACIS 4.3 distribution -rtpc|ibmapa16|IBM 6155 Extended Monochrome Graphics Display, - lines#32, - dsl=\Ej\EY@ \EI\Ek, tsl=\Ej\EY@%+ \Eo, use=ibmmono, -ibm6155|IBM 6155 Black & White display, - blink@, bold@, use=ibm5151, -# Advanced Monochrome (6153) and Color (6154) Graphics Display: -ibmapa8c|ibmapa8|IBM 6154 Advanced Graphics Display, - lines#31, - dsl=\Ej\EY? \EI\Ek, tsl=\Ej\EY?%+ \Eo, use=ibmmono, -ibmapa8c-c|ibm6154-c|IBM 6154 Advanced Color Graphics Display, - lines#31, - dim=\EF\Ef7;, dsl=\Ej\EY? \EI\Ek, tsl=\Ej\EY?%+ \Eo, - use=ibmega-c, -ibm6154|IBM 6154 Color displays, - blink@, bold=\E[12m, s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;12%;m, - sgr0=\E[0;10m, use=ibm5154, -ibm6153|IBM 6153 Black & White display, - blink@, bold=\E[12m, s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;12%;m, - sgr0=\E[0;10m, use=ibm5151, -ibm6153-90|IBM 6153 Black & White display, - cols#90, lines#36, - blink@, bold@, use=ibm5151, -ibm6153-40|IBM 6153 Black & White display, - cols#40, lines#12, use=ibm6153-90, -ibm8512|ibm8513|IBM color VGA Terminal, - am, mir, msgr, - cols#80, it#8, lines#25, - acsc=jjkkllmmnnqqttuuvvwwxx, blink=\E[5m, bold=\E[1m, - clear=\E[H\E[J, cub1=\E[D, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H, il=\E[%p1%dL, - il1=\E[L, is2=\Eb\E[m\017\E[?7h, kcud1=\E[B, kcuu1=\E[A, - kf0=\E[010q, kf1=\E[001q, kf2=\E[002q, kf3=\E[003q, - kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, - kf8=\E[008q, kf9=\E[009q, khome=\E[H, rc=\E[u, rev=\E[7m, - rmacs=^O, rmam=\E[?7l, rmcup=\E[20h, rmdc=\E[4l, - rmir=\E[4l, rmso=\E[m, rmul=\E[m, - rs1=\Eb\E[m\017\E[?7h\E[H\E[J, sc=\E[s, sgr0=\E[m, - smacs=^N, smam=\E[?7h, smcup=\E[20;4l\E[?7h\Eb, - smdc=\E[4h, smir=\E[4h, smso=\E[7m, smul=\E[4m, - use=ibm8503, -hft-c|HFT with Color, - colors#8, pairs#64, - acsc=jjkkllmmnnqqttuuvvwwxx, s0ds=\E(B, s1ds=\E(0, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0m\E(B, - use=ibm5151, use=ibm+color, -hft-c-old|HFT with Color PC850, - colors#8, pairs#64, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=ibm5151, - use=ibm+color, -hft-old|AIWS High Function Terminal, - am, xon, - cols#80, lines#25, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, - cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, - ht=^I, ich1=\E[@, il1=\E[L, ind=^J, invis=\E[8m, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\E[001q, kf2=\E[002q, kf3=\E[003q, kf4=\E[004q, - kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, kf8=\E[008q, - kf9=\E[009q, khome=\E[H, knp=\E[153q, kpp=\E[159q, - ktbc=\E[010q, rev=\E[7m, rmir=\E6, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smir=\E6, smso=\E[7m, smul=\E[4m, use=ibm+color, -ibm-system1|system1|ibm system/1 computer, - am, xt, - cols#80, lines#24, - bel=^G, clear=^Z, cub1=^H, cuf1=^\, - cup=\005%p1%{32}%+%c%p2%{32}%+%c, cuu1=^^, home=^K, - ind=^J, -# lft-pc850 : IBM Low Function Terminal Device -# lft "supports" underline, bold, and blink in the sense that the lft code -# sets all the right bits. HOWEVER, depending upon the adapter, these -# attributes may or may not be supported by the device driver. -lft|lft-pc850|LFT-PC850|IBM LFT PC850 Device, - am, bw, msgr, xon, - cols#80, it#8, lines#25, - acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, - cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[2J, el=\E[0K, - home=\E[H, hpa=\E[%i%p1%dG, ich=\E[%p1%d@, il=\E[%p1%dL, - il1=\E[L, ind=\ED, indn=\E[%p1%dS, invis=\E[8m, is2=\Ec, - kbs=^H, kcbt=\E[Z, kclr=\E[144q, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, ked=\E[148q, - kel=\E[142q, kend=\E[146q, kf1=\E[001q, kf10=\E[010q, - kf11=\E[011q, kf12=\E[012q, kf13=\E[013q, kf14=\E[014q, - kf15=\E[015q, kf16=\E[016q, kf17=\E[017q, kf18=\E[018q, - kf19=\E[019q, kf2=\E[002q, kf20=\E[020q, kf21=\E[021q, - kf22=\E[022q, kf23=\E[023q, kf24=\E[024q, kf25=\E[025q, - kf26=\E[026q, kf27=\E[027q, kf28=\E[028q, kf29=\E[029q, - kf3=\E[003q, kf30=\E[030q, kf31=\E[031q, kf32=\E[032q, - kf33=\E[033q, kf34=\E[034q, kf35=\E[035q, kf36=\E[036q, - kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, - kf8=\E[008q, kf9=\E[009q, khome=\E[H, kich1=\E[139q, - kil1=\E[140q, kind=\E[151q, knp=\E[154q, kpp=\E[150q, - kri=\E[155q, krmir=\E[4l, rev=\E[7m, ri=\EL, rin=\E[%p1%dT, - rmacs=\E(B, rmir=\E[4l, rmso=\E[0m, rmul=\E[0m, rs2=\Ec, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\E[0m, smacs=\E(0, smir=\E[4h, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, -ibm5081|hft|IBM Megapel Color display, - acsc=jjkkllmmnnqqttuuvvwwxx, blink@, bold@, s0ds=\E(B, - s1ds=\E(0, sgr0=\E[0m\E(B, use=ibm5154, -ibm5081-c|ibmmpel-c|IBM 5081 1024x1024 256/4096 Megapel enhanced color display, - eslok, hs, - lines#33, - dsl=\Ej\EYA \EI\Ek, fsl=\Ek, tsl=\Ej\EYA%+ \Eo, - use=ibmega-c, -ibm8503|ibm8507|ibm8604|IBM 8503 B & W VGA display, - use=hft-c, -ibm8514|IBM 8514/a color VGA display, - eslok, hs, - dsl=\Ej\EYI \EI\Ek, fsl=\Ek, tsl=\Ej\EYI%+ \Eo, use=hft, -ibm8514-c|IBM 8514 color display with standout and underline, - eslok, hs, - lines#41, - cr=^M, cud1=^J, dsl=\Ej\EYI \EI\Ek, fsl=\Ek, ht=^I, ind=^J, - kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, tsl=\Ej\EYI%+ \Eo, - use=ibmega-c, - -# -# AIX entries. IBM ships these with AIX 3.2.5. -# -- added rc, sc based on manpage -TD -# Note that we could use ibm+16color, but that is not how IBM defines this one. -aixterm|IBM Aixterm Terminal Emulator, - eslok, hs, - acsc=jjkkllmmnnqqttuuvvwwxx, bold=\E[1m, dsl=\E[?E, - fsl=\E[?F, rc=\E8, ri@, s0ds=\E(B, s1ds=\E(0, sc=\E7, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\E[0;10m\E(B, tsl=\E[?%p1%dT, use=ibm6154, -aixterm-m|IBM AIXterm Monochrome Terminal Emulator, - eslok, hs, - acsc=jjkkllmmnnqqttuuvvwwxx, bold=\E[1m, dsl=\E[?E, - fsl=\E[?F, ri@, s0ds=\E(B, s1ds=\E(0, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m, - sgr0=\E[0;10m\E(B, tsl=\E[?%p1%dT, use=ibm6153, -aixterm-m-old|old IBM AIXterm Monochrome Terminal Emulator, - eslok, hs, - bold=\E[1m, dsl=\E[?E, fsl=\E[?F, ri@, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m, - tsl=\E[?%p1%dT, use=ibm6153, -jaixterm|IBM Kanji Aixterm Terminal Eemulator, - acsc@, use=aixterm, -jaixterm-m|IBM Kanji AIXterm Monochrome Terminal Emulator, - acsc@, use=aixterm-m, - -# This flavor is adapted from xterm, in turn from aixterm documentation -TD -aixterm-16color|IBM Aixterm Terminal Emulator with 16 colors, - use=ibm+16color, use=aixterm, - -#### Infoton/General Terminal Corp. -# - -# gt100 sounds like something DEC would come out with. Let's hope they don't. -i100|gt100|gt100a|General Terminal 100A (formerly Infoton 100), - OTbs, am, - cols#80, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\Ef%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA, dl1=\EM, - ed=\EJ, el=\EK, flash=\Eb$<200/>\Ea, home=\EH, il1=\EL, - ind=^J, rmso=\Ea, smso=\Eb, -i400|infoton 400, - OTbs, am, - cols#80, lines#25, - bel=^G, clear=\E[2J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%3d;%p2%3dH, cuu1=\E[A, - dch1=\E[4h\E[2Q\E[P\E[4l\E[0Q, dl1=\E[M, el=\E[N, - il1=\E[L, ind=^J, rmir=\E[4l\E[0Q, smir=\E[4h\E[2Q, -# (addrinfo: removed obsolete ":bc=^Z:" -- esr) -addrinfo, - am, - cols#80, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^Z, cud1=^J, cuf1=^Y, - cup=\037%p1%c%p2%c, cuu1=^\, ed=^K, home=^H, ind=^J, ll=^H^\, -# (infoton: used to have the no-ops , , -- esr) -infoton, - am, - cols#80, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^Z, cud1=^J, cuf1=^Y, cuu1=^\, - ed=^K, ind=^J, ll=^H^\, - -# The ICL6402 was actually the Kokusai Display System 6402. -# The 6404 was the KDS7372 (color version of the 6402). -# -# ICL6404 control codes follow: -# -#code function -#~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#ctrl-A set SOM position at cursor position -#ctrl-G Bell -#ctrl-H Backspace -#ctrl-I Horiz tab -#ctrl-J Linefeed -#ctrl-K Cursor up -#ctrl-L Cursor right -#ctrl-M Carriage return -#ctrl-N Disable xon/xoff to host -#ctrl-O Enable xon/xoff to host -#ctrl-R Enable bidirectional mode -#ctrl-T Disable bidirectional mode -#ctrl-V Cursor down -#ctrl-Z Clear unprotected data to insert char -#ctrl-^ Cursor home -#ctrl-_ Newline -# -#ESC lead-in char for multiple character command -# -#ESC space R execute power on sequence -#ESC ! p1 p2 define scroll region: -# p1 = scroll top line: 20h - 37h -# p1 = scroll bottom line: 20h - 37h -#ESC " unlock keyboard -#ESC # lock keyboard -#ESC $ Semi-graphics mode on -#ESC % Semi-graphics mode off -#ESC & protect mode on -#ESC ' protect mode off -#ESC ( write protect mode off (full intensity) -#ESC ) write protect mode on (half intensity) -# -#ESC * clear screen -#ESC + clear unprotected data to insert char -#ESC , clear unprotected data to half intensity spaces -#ESC - p1 p2 p3 p4 address cursor to page, row, column: -# p1 = page number 0 - 3 -# p2 = row 20h - 7fh -# p3 = column (lo) 20h - 7fh -# p4 = column (hi) 20h - 21h (only 132 col) -#ESC . p1 set cursor style: -# p1 = 0 invisible cursor -# p1 = 1 block blinking cursor -# p1 = 2 block steady cursor -# p1 = 3 underline blinking cursor -# p1 = 4 underline steady cursor -#ESC / transmit cursor location (page, row, column) -#ESC 0 p1 p2 p3 p4 program edit key: -# p1 = edit key code: '@'-'S', '`'-'s' -# p2 p3 p4 = program data (3 bytes) -# -#ESC 1 set tab -#ESC 2 clear tab at cursor -#ESC 3 clear all tabs -#ESC 4 send unprotect line to cursor -#ESC 5 send unprotect page to cursor -#ESC 6 send line to cursor -#ESC 7 send page to cursor -#ESC 8 n set scroll mode: -# n = 0 set jump scroll -# n = 1 set smooth scroll -#ESC 9 n control display: -# n = 0 display off -# n = 1 display on -#ESC : clear unprotected data to null -#ESC ; clear unprotected data to insert char -# -#ESC < keyclick on -#ESC = p1 p2 address cursor to row, column -# p1 = row 20h - 7fh -# p2 = column (lo) 20h - 7fh -# p3 = column (hi) 20h - 21h (only 132 col) -#ESC > keyclick off -#ESC ? transmit cursor location (row, column) -# -#ESC @ copy print mode on -#ESC A copy print mode off -#ESC B block mode on -#ESC C block mode off (conversation mode) -#ESC D F set full duplex -#ESC D H set half duplex -#ESC E line insert -#ESC F p1 p2 set page colour (p1 = f/grnd, p2 = b/grnd) -# 0 = black, 1 = red, 2 = green, 3 = yellow -# 4 = blue, 5 = magenta, 6 = cyan, 7 = white -#ESC G n set serial field attribute (n = 30h - 3Fh) -#ESC H n full graphics mode: -# n = 0 exit full graphics mode -# n = 1 enter full graphics mode -#ESC I back tab -#ESC J back page -#ESC K forward page -# -#ESC L unformatted page print -#ESC M L move window left (132 col mode only) -#ESC M R move window right (132 col mode only) -#ESC N set page edit (clear line edit) -#ESC O set line edit (clear page edit) -#ESC P formatted page print -#ESC Q character insert -#ESC R line delete -#ESC S send message unprotected only -#ESC T erase line to insert char -#ESC U set monitor mode (see ESC X, ESC u) -# -#ESC V n select video attribute mode: -# n = 0 serial field attribute mode -# n = 1 parallel character attribute mode -#ESC V 2 n define line attribute: -# n = 0 single width single height -# n = 1 single width double height -# n = 2 double width single height -# n = 3 double width double height -#ESC V 3 n select character font: -# n = 0 system font -# n = 1 user defined font -#ESC V 4 n select screen mode: -# n = 0 page screen mode -# n = 1 virtual screen mode -#ESC V 5 n control mouse mode: -# n = 0 disable mouse -# n = 1 enable sample mode -# n = 2 send mouse information -# n = 3 enable request mode -#ESC W character delete -#ESC X clear monitor mode (see ESC U, ESC u) -#ESC Y erase page to insert char -# -#ESC Z n send user/status line: -# n = 0 send user line -# n = 1 send status line -# n = 2 send terminal ID -#ESC [ p1 p2 p3 set character attribute (parallel char mode): -# p1: 0 = normal -# 1 = blank -# 2 = blink -# 3 = blink blank (= blank) -# 4 = reverse -# 5 = reverse blank -# 6 = reverse blink -# 7 = reverse blink blank (= reverse blank) -# 8 = underline -# 9 = underline blank -# : = underline blink -# ; = underline blink blank -# < = reverse underline -# = = reverse underline blank -# > = reverse underline blink -# ? = reverse underline blink blank -# p2, p3: f/grnd, b/grnd colour -# (see ESC F for colours) -# use ZZ for mono, eg. -# ESC [ 0 Z Z for normal -# ESC [ 4 Z Z for inverse etc. -# -#ESC \ n set page size: -# n = 1 24 lines/page -# n = 2 48 lines/page -# n = 3 72 lines/page -# n = 4 96 lines/page -#ESC ] n set Wordstar mode: -# n = 0 normal (KDS7372) mode -# n = 1 Wordstar mode -# -#ESC b set foreground colour screen -# -#ESC c n enter self-test mode: -# n = 0 exit self test mode -# n = 1 ROM test -# n = 2 RAM test -# n = 3 NVRAM test -# n = 4 screen display test -# n = 5 main/printer port test -# n = 6 mouse port test -# n = 7 graphics board test -# n = 8 graphics memory test -# n = 9 display all 'E' -# n = : display all 'H' -#ESC d set background colour screen -# -#ESC e n program insert char (n = insert char) -#ESC f text CR load user status line with 'text' -# -#ESC g display user status line on 25th line -#ESC h display system status line on 25th line -#ESC i tab -#ESC j reverse linefeed -#ESC k n duplex/local edit mode: -# n = 0 duplex edit mode -# n = 1 local edit mode -#ESC l n select virtual screen: -# n = 0 screen 1 -# n = 1 screen 2 -#ESC m save current config to NVRAM -#ESC n p1 select display screen: -# p1 = 0 screen 1 -# p1 = 1 screen 2 -# p1 = 2 screen 3 -# p1 = 3 screen 4 -#ESC o p1 p2 set characters/line and attribute: -# p1 = 0 80 chars/line -# -#ESC o p1 p2 set characters/line and attribute: -# p1 = 0 80 chars/line -# p1 = 1 132 chars/line -# p2 = 0 single width single height -# p2 = 1 single width double height -# p2 = 2 double width single height -# p2 = 3 double width double height -# -#ESC q insert mode on -#ESC r edit mode on -#ESC s send message all -#ESC t erase line to null -#ESC u clear monitor mode (see ESC U, ESC X) -#ESC v autopage mode on -#ESC w autopage mode off -#ESC x p1 p2 p3 define delimiter code... -#ESC y erase page to null -# -#ESC z 2 p1 p2 p3 p4 draw quadrangle: -# p1 = starting row -# p2 = starting column -# p3 = end row -# p4 = end column -# -#ESC { p1 p2 p3 p4 configure main port -# (baud, stop bits, parity, word length) -# -#ESC | p1 p2 text Ctrl-Y program function key with 'text': -# p1 = function key code: -# '1' - ';' normal f1- f11 -# '<' - 'F' shifted f1 - f11 -# p2 = program mode: -# 1 = FDX -# 2 = LOC -# 3 = HDX -# Ctrl-Y = terminator -# (use Ctrl-P to escape ^P, ^Y ) -# -#ESC } p1 p2 p3 p4 configure printer port -# (baud, stop bits, parity, word length) -#ESC ~ send system status -# -# Codes and info from Peter Disdale 12 May 1997 -# -# Entry is by esr going solely on above information and is UNTESTED. -# This actually looks a lot like a Televideo 9xx. -# This entry uses page 0 and is monochrome; I'm not brave enough to try -# to make color work without a test terminal. The capability is a guess. -# The initialization string sets conversation mode, blinking underline cursor, -# full duplex, parallel attribute mode, display user status line, white -# foreground, black background, normal highlight. -# -icl6404|kds7372|icl6402|kds6402|ICL 6404 aka Kokusai Display Systems 7372, - OTbs, am, hs, - cols#80, lines#24, - bel=^G, blink=\E[2ZZ, cbt=\EI, civis=\E.0, clear=\E*, - cnorm=\E.3, cr=^M, - csr=\E!%+%p1%{32}%+%p2%{32} cud1=\026, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{80}%m%{32}%+%c%p2%{80}%>%{32}%+%c, - cuu1=^K, cvvis=\E.1, dch1=\EW, dl1=\ER, home=^^, ht=^I, - hts=\E1, il1=\EE, invis=\E[1ZZ, - is1=\EC\E.3\EDF\EV1\Eg\E[0ZZ, nel=^_, rev=\E[4ZZ, - rmir=\Er, rmso=\E[%gh%{4}%^%Ph%gh%dZZ, - rmul=\E[%gh%{8}%^%Ph%gh%dZZ, rs2=\Eo1, - sgr=\E[%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;ZZ, - sgr0=\E[0ZZ, smir=\Eq, smso=\E[8ZZ, smul=\E[8ZZ, tbc=\E3, -icl6404-w|kds7372-w|ICL 6404 aka Kokusai Display Systems 7372 132 cols, - rs2=\Eo1, use=icl6404, - -#### Interactive Systems Corp -# -# ISC used to sell OEMed and customized hardware to support ISC UNIX. -# ISC UNIX still exists in 1995, but ISC itself is no more; they got -# bought out by Sun. -# - -# From: Wed Sep 16 08:06:44 1981 -# (intext: removed obsolete ":ma=^K^P^R^L^L ::bc=^_:", also the -# ":le=^_:" later overridden -- esr) -intext|Interactive Systems Corporation modified owl 1200, - OTbs, am, - cols#80, it#8, lines#24, xmc#1, - bel=^G, cbt=^Y, clear=\014$<132>, cr=^M, cub1=^H, cud1=^J, - cuf1=^^, cup=\017%p1%{32}%+%c%p2%{32}%+%c, cuu1=^\, - dch1=\022$<5.5*>, dl1=\021$<5.5*>, ed=\026J$<5.5*>, - el=^Kp^R, ht=^I, il1=\020$<5.5*>, ind=^J, ip=$<5.5*>, kbs=^H, - kcub1=^_, kcud1=^J, kcuf1=^^, kcuu1=^\, kf0=^VJ\r, kf1=^VA\r, - kf2=^VB\r, kf3=^VC\r, kf4=^VD\r, kf5=^VE\r, kf6=^VF\r, - kf7=^VG\r, kf8=^VH\r, kf9=^VI\r, khome=^Z, rmir=^V<, - rmkx=^V9, rmso=^V#\s, smir=^V;, smkx=\036\:\264\026%%, - smso=^V$\,, -intext2|intextii|INTERACTIVE modified owl 1251, - am, bw, ul, - cols#80, lines#24, xmc#0, - bel=^G, cbt=\E[Z, clear=\E[H\E[2J, cr=^M, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J, el=\E[K, - flash=\E[;;;;;;;;;2;;u$<200/>\E[;;;;;;;;;1;;u, - hpa=\E[%p1%{1}%+%dG, ht=^I, ich1=\E[@, il1=\E[L, ind=\E[S, - kbs=^H, kcub1=\ED\r, kcud1=\EB\r, kcuf1=\EC\r, kcuu1=\EA\r, - kf0=\E@\r, kf1=\EP\r, kf2=\EQ\r, kf3=\ES\r, kf4=\ET\r, - kf5=\EU\r, kf6=\EV\r, kf7=\EW\r, kf8=\EX\r, kf9=\EY\r, - khome=\ER\r, lf0=REFRSH, lf1=DEL CH, lf2=TABSET, lf3=GOTO, - lf4=+PAGE, lf5=+SRCH, lf6=-PAGE, lf7=-SRCH, lf8=LEFT, - lf9=RIGHT, ri=\E[T, rmso=\E[2 D, rmul=\E[2 D, smso=\E[6 D, - smul=\E[18 D, - -#### Kimtron (abm, kt) -# -# Kimtron seems to be history, but as March 1998 these people are still -# offering repair services for Kimtron equipment: -# -# Com/Pair Monitor Service -# 1105 N. Cliff Ave. -# Sioux Falls, South Dakota 57103 -# -# WATS voice: 1-800/398-4946 -# POTS fax: +1 605/338-8709 -# POTS voice: +1 605/338-9650 -# Email: -# Internet/Web: -# -# Kimtron entries include (undocumented) codes for: enter dim mode, -# enter bold mode, enter reverse mode, turn off all attributes. -# - -# Kimtron ABM 85 added by Dual Systems -# (abm85: removed duplicated ":kd=^J:" -- esr) -abm85|Kimtron ABM 85, - OTbs, am, bw, msgr, - cols#80, it#8, lines#24, xmc#1, - cbt=\EI, clear=\E*, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\Ey, el=\Et, ht=^I, - if=/usr/share/tabset/stdcrt, il1=\EE, - is2=\EC\EX\Eg\En\E%\Er\E(\Ek\Em\Eq, kbs=^H, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, rmir=\Er, rmso=\Ek, - rmul=\Em, smir=\EQ, smso=\Ej, smul=\El, -# Kimtron ABM 85H added by Dual Systems. -# Some notes about the abm85h entries: -# 1) there are several firmware revs of 85H in the world. Use abm85h-old for -# firmware revs prior to SP51 -# 2) Make sure to use abm85h entry if the terminal is in 85h mode and the -# abm85e entry if it is in tvi920 emulation mode. They are incompatible -# in some places and NOT software settable i.e., can't fix it) -# 3) In 85h mode, the arrow keys and special functions transmit when -# the terminal is in dup-edit, and work only locally in local-edit. -# Vi won't swallow `del char' for instance, but turns on -# dup-edit anyway so that the arrow keys will work right. If the -# arrow keys don't work the way you like, change , , and -# . Note that 920E mode does not have software commands to toggle -# between dup and local edit, so you get whatever was set last on the -# terminal. -# 4) attribute is nice, but seems too slow to work correctly -# (\Eb\Ed) -# 5) Make sure `hidden' attributes are selected. If `embedded' attributes -# are selected, the entry should be removed. -# 6) auto new-line should be on (selectable from setup mode only) -# -# From: Erik Fair Sun Oct 27 07:21:05 1985 -abm85h|Kimtron ABM 85H native mode, - hs, - xmc@, - bel=^G, cnorm=\E.4, cvvis=\E.2, dim=\E), dsl=\Ee, flash@, - fsl=^M, invis@, - is2=\EC\EN\EX\024\016\EA\Ea\E%\E9\Ee\Er\En\E"\E}\E'\E(\Ef\r\EG0\Ed\E.4\El, - kcud1=^V, sgr0=\E(\EG0, smir=\EZ, tsl=\Eg\Ef, use=adm+sgr, - use=abm85, -abm85e|Kimtron ABM 85H in 920E mode, - xmc@, - bel=^G, dim=\E), flash@, - is2=\EC\EX\EA\E%\E9\Ee\Er\En\E"\E}\E'\E(\Ef\r\Ek\Eq\Em, - rev=\Ej, sgr0=\E(\Ek, smir=\EZ, use=abm85, -abm85h-old|oabm85h|o85h|Kimtron ABM 85H with old firmware rev., - xmc@, - bel=^G, dim=\E), - is2=\E}\EC\EX\Ee\En\E%\Er\E(\Ek\Em\Eq\Ed\ET\EC\E9\EF, - rev=\Ej, sgr0=\E(\Ek, smir=\EZ, use=abm85, -# From: -# (kt7: removed obsolete :ma=^V^J^L :" -- esr) -kt7|kimtron model kt-7, - OTbs, am, - cols#80, it#8, lines#24, - cbt=\EI, clear=^Z, cub1=^H, cud1=^V, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET, fsl=\Eg, home=^^, ht=^I, ich1=\EQ, - if=/usr/share/tabset/stdcrt, il1=\EE, invis@, is2=\El\E", - kbs=^H, kcbt=\EI, kclr=^Z, kcub1=^H, kcud1=^V, kcuf1=^L, - kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, kel=\ET, kf0=^AI\r, - kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, - kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, - kich1=\EQ, kil1=\EE, tsl=\Ef, use=adm+sgr, -# Renamed TB=^I to :ta:, BE=^G to :bl:, BS=^H to :kb:, N to :kS: (based on the -# other kt7 entry and the adjacent key capabilities). Removed EE which is -# identical to :mh:. Removed :ES=\EGD: which is some kind of highlight -# but we can't figure out what. -kt7ix|kimtron model kt-7 or 70 in IX mode, - am, bw, - cols#80, it#8, lines#25, - acsc=jYk?lZm@nEqDt4uCvAwBx3, bel=^G, blink=\EG2, cbt=\EI, - civis=\E.0, clear=\E*, cnorm=\E.3, cr=^M, cub1=^H, cud1=^V, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\EW, dim=\EG@, dl1=\ER, dsl=\Ef\r, ed=\EY, el=\ET, fsl=^M, - home=^^, ht=^I, ich1=\EQ, il1=\EE, ind=^J, - is2=\EG0\E s\017\E~, kbs=^H, kcbt=\EI, kclr=\E*, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdl1=\ER, - ked=\EY, kel=\ET, kend=\EY, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, - kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, knp=\EJ, - nel=^M^J, pulse=\EK, rmacs=\E%%, rmir=, rmso=\EG0, rmul=\EG0, - sgr0=\EG0, smacs=\E$, smir=, smso=\EG4, smul=\EG8, tsl=\Ef, - -#### Microdata/MDIS -# -# This was a line of terminals made by McDonnell-Douglas Information Systems. -# These entries come direct from MDIS documentation. I have edited them only -# to move primary names of the form p[0-9] * to aliases, and to comment out -# / in a couple of entries without strings. I have -# also removed the change history; the last version indicates this is -# version 4.3 by A.Barkus, September 1990 (earliest entry is October 1989). -# - -# McDonnell Information Systems Terminal Family History -# ========================================= -# -# Prism-1, Prism-2 and P99: -# Ancient Microdata and CMC terminals, vaguely like Adds Regent 25. -# -# Prism-4 and Prism-5: -# Slightly less ancient range of Microdata terminals. Follow-on from -# Prism-2, but with many enhancements. P5 has eight display pages. -# -# Prism-6: -# A special terminal for use with library systems, primarily in Germany. -# Limited numbers. Similar functionality to P5 (except attributes?). -# -# Prism-7, Prism-8 and Prism-9: -# More recent range of MDIS terminals, in which P7 and P8 -# replace the P4 & P5, with added functionality, and P9 is the flagship. -# The P9 has two emulation modes - P8 and ANSI - and includes a -# large number of the DEC VT220 control sequences. Both -# P8 and P9 support 80c/24ln/8pg and 132cl/24li/4pg formats. -# -# Prism-12 and Prism-14: -# Latest range, functionally very similar to the P9. The P14 has a -# black-on-white overscanning screen. -# -# The terminfo definitions given here are: -# -# p2 - Prism-2 (or Prism-1 or P99). -# -# p4 - Prism-4 (and older P7s & P8s). -# p5 - Prism-5 (or Prism-6). -# -# p7 - Prism-7. -# p8 - Prism-8 (in national or multinational mode). -# p8-w - 132 column version of p8. -# p9 - Prism-9 in ANSI mode. -# p9-w - 132 column version of p9. -# p9-8 - Prism-9 in Prism-8 emulation mode. -# p9-8-w - As p9-8, but with 132 columns. -# -# p12 - Prism-12 in ANSI mode. -# p12-w - 132 column version of p12. -# p12-m - Prism-12 in MDC emulation mode. -# p12-m-w - As p12-m, but with 132 columns. -# p14 - Prism-14 in ANSI mode. -# p14-w - 132 column version of p14. -# p14-m - Prism-14 in MDC emulation mode. -# p14-m-w - As p14-m, but with 132 columns. -# -# p2: Prism-2 -# ----------- -# -# Includes Prism-1 and basic P99 without SP or MP loaded. -# The simplest form of Prism-type terminal. -# Basic cursor movement and clearing operations only. -# No video attributes. -# Notes: -# Horizontal cursor qualifiers of NUL, XON and XOFF are mapped to the next -# value up, followed by backspace. -# -prism2|MDC Prism-2, - am, bw, msgr, - cols#80, lines#24, - bel=^G, clear=\014$<20>, cr=^M, cub1=^H, cud1=^J, cuf1=^F, - cup=\013%p1%{32}%+%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c, - cuu1=^Z, ed=\EJ, el=\EK, home=^A, - hpa=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c, - ind=^J, kbs=^H, khome=^A, vpa=\013%p1%{32}%+%c, - -# p4: Prism-4 -# ----------- -# -# Includes early versions of P7 & P8. -# Basic family definition for most Prisms (except P2 and P9 ANSI). -# Notes: -# Horizontal cursor qualifiers of NUL, XON and XOFF are mapped to the next -# value up, followed by backspace. -# Cursor key definitions removed because they interfere with vi and csh keys. -# -prism4|p4|P4|MDC Prism-4, - am, bw, hs, mc5i, msgr, - cols#80, lines#24, wsl#72, xmc#1, - bel=^G, blink=^CB, civis=^]\344, clear=\014$<20>, - cnorm=^]\342, cr=^M, cub1=^H, cud1=^J, cuf1=^F, - cup=\013%p1%{32}%+%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c, - cuu1=^Z, dim=^CA, dsl=\035\343\035\345, ed=\EJ, el=\EK, - fsl=^]\345, home=^A, - hpa=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c, - ind=^J, invis=^CH, kbs=^H, khome=^A, mc0=\EU, mc4=\ET, mc5=\ER, - rev=^CD, rmso=^C\s, rmul=^C\s, - sgr=\003%{64}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{16}%+%;%?%p4%t%{2}%+%;%?%p5%t%{1}%+%;%?%p7%t%{8}%+%;%c%?%p9%t\016%e\017%;, - sgr0=^C\s, smso=^CD, smul=^CP, tsl=^]\343, - vpa=\013%p1%{32}%+%c, - -# p5: Prism-5 -# ----------- -# -# Same definition as p4. Includes Prism-6 (not tested!). -# Does not use any multi-page features. -# -prism5|p5|P5|MDC Prism-5, - use=p4, - -# p7: Prism-7 -# ----------- -# -# Similar definition to p4. Uses ANSI cursor motion to avoid network problems. -# Notes: -# Use p4 for very early models of P7. -# Rev-index removed; can't send nulls to terminal in 8-bit modes. -# -prism7|p7|P7|MDC Prism-7, - cup=\E[%i%p1%d;%p2%dH, hpa@, vpa@, use=p4, - -# p8: Prism-8 -# ----------- -# -# Similar definition to p7. Uses ANSI cursor motion to avoid network problems. -# Supports national and multinational character sets. -# Notes: -# Alternate char set operations only work in multinational mode. -# Use p4 for very early models of P8. -# Rev-index removed; can't send nulls to terminal in 8-bit modes. -# (esr: commented out / because there's no ) -# -prism8|p8|P8|MDC Prism-8, - cup=\E[%i%p1%d;%p2%dH, hpa=\E[%i%p1%d`, is2=\E[<12h, - vpa=\E[%i%p1%dd, use=p4, - -# p8-w: Prism-8 in 132 column mode -# -------------------------------- -# -# 'Wide' version of p8. -# Notes: -# Rev-index removed; can't send nulls to terminal in 8-bit modes. -# -prism8-w|p8-w|P8-W|MDC Prism-8 in 132 column mode, - cols#132, - is2=\E[<12h\E[<14h, use=p8, - -# p9: Prism-9 in ANSI mode -# ------------------------- -# -# The "flagship" model of this generation of terminals. -# ANSI X3.64 (ISO 6429) standard sequences, plus many DEC VT220 ones. -# Notes: -# Tabs only reset by "reset". Otherwise assumes default (8 cols). -# Fixes to deal with terminal firmware bugs: -# . 'ri' uses insert-line since rev index doesn't always -# . 'sgr0' has extra '0' since esc[m fails -# . 'fsl' & 'dsl' use illegal char since cr is actioned wrong on line 25 -# Not covered in the current definition: -# . Labels -# . Programming Fn keys -# . Graphic characters (defaults correctly to vt100) -# . Padding values (sets xon) -# (esr: commented out / because there's no ) -# -prism9|p9|P9|MDC Prism-9 in ANSII mode, - am, bw, hs, mc5i, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, wsl#72, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[<4l, - clear=^L, cnorm=\E[<4h, cr=^M, csr=\E[%i%p1%d;%p2%d%%v, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, dsl=\E[%}\024, ech=\E[%p1%dX, - ed=\E[J$<10>, el=\E[K, fsl=^T, home=\E[H, hpa=\E[%i%p1%d`, - ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, - is2=\E[&p\E[<12l\E F, kbs=^H, kclr=^L, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\E[11~, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[32~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, - kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[H, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=^M^J, - prot=\E[32%{, rc=\E[%z, rep=\E[%p2%db%p1%c, rev=\E[7m, - ri=\E[L, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, - rs2=\E[&p\E[<12l\E F\E[3g\E[9;17;25;33;41;49;57;65;73 N, - sc=\E[%y, - sgr=\E[%{0}%?%p1%p3%|%t%{7}%+%;%?%p2%t%{2}%+%;%?%p4%t%{5}%+%;%?%p6%t%{1}%+%;m%?%p8%t\E[%{32}%+%d%%{%;%?%p9%t\016%e\017%;, - sgr0=\E[0m\017, smir=\E[4h, smso=\E[7m, smul=\E[4m, - tbc=\E[2g, tsl=\E[%i%p1%d%%}, vpa=\E[%i%p1%dd, - -# p9-w: Prism-9 in 132 column mode -# -------------------------------- -# -# 'Wide' version of p9. -# -prism9-w|p9-w|P9-W|MDC Prism-9 in 132 column mode, - cols#132, - is2=\E[&p\E[<12l\E F\E[<14h, - rs2=\E[&p\E[<12l\E F\E[<14h, use=p9, - -# p9-8: Prism-9 in P8 mode -# ------------------------ -# -# P9 terminal in P8 emulation mode. -# Similar to p8 definition. -# Insertion and deletion operations possible. -# -prism9-8|p9-8|P9-8|MDC Prism-9 in P8 mode, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, use=p8, - -# p9-8-w: Prism-9 in P8 and 132 column modes -# ------------------------------------------ -# -# P9 terminal in P8 emulation mode and 132 column mode. -# -prism9-8-w|p9-8-w|P9-8-W|MDC Prism-9 in Prism 8 emulation and 132 column mode, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, use=p8-w, - -# p12: Prism-12 in ANSI mode -# --------------------------- -# -# See p9 definition. -# -prism12|p12|P12|MDC Prism-12 in ANSI mode, - use=p9, - -# p12-w: Prism-12 in 132 column mode -# ---------------------------------- -# -# 'Wide' version of p12. -# -prism12-w|p12-w|P12-W|MDC Prism-12 in 132 column mode, - use=p9-w, - -# p12-m: Prism-12 in MDC emulation mode -# ------------------------------------- -# -# P12 terminal in MDC emulation mode. -# Similar to p8 definition. -# Insertion and deletion operations possible. -# -prism12-m|p12-m|P12-M|MDC Prism-12 in MDC emulation mode, - use=p9-8, - -# p12-m-w: Prism-12 in MDC emulation and 132 column modes -# ------------------------------------------------------- -# -# P12 terminal in MDC emulation mode and 132 column mode. -# -prism12-m-w|p12-m-w|P12-M-W|MDC Prism-12 in MDC emulation and 132 column mode, - use=p9-8-w, - -# p14: Prism-14 in ANSII mode -# --------------------------- -# -# See p9 definition. -# -prism14|p14|P14|MDC Prism-14 in ANSII mode, - use=p9, - -# p14-w: Prism-14 in 132 column mode -# ---------------------------------- -# -# 'Wide' version of p14. -# -prism14-w|p14-w|P14-W|MDC Prism-14 in 132 column mode, - use=p9-w, - -# p14-m: Prism-14 in MDC emulation mode -# ------------------------------------- -# -# P14 terminal in MDC emulation mode. -# Similar to p8 definition. -# Insertion and deletion operations possible. -# -prism14-m|p14-m|P14-M|MDC Prism-14 in MDC emulation mode, - use=p9-8, - -# p14-m-w: Prism-14 in MDC emulation and 132 column modes -# ------------------------------------------------------- -# -# P14 terminal in MDC emulation mode and 132 column mode. -# -prism14-m-w|p14-m-w|P14-M-W|MDC Prism-14 in MDC emulation and 132 column mode, - use=p9-8-w, - -# End of McDonnell Information Systems Prism definitions - -# These things were popular in the Pick database community at one time -# From: George Land 24 Sep 1996 -p8gl|prism8gl|McDonnell-Douglas Prism-8 alternate definition, - am, bw, hs, mir, - cols#80, lines#24, ma#1, wsl#78, xmc#1, - bel=^G, blink=^CB, clear=^L, cr=^M, cub1=^U, cud1=^J, cuf1=^F, - cup=\E[%i%p1%d;%p2%dH, cuu1=^Z, dch1=\s^H, dim=^CA, dl1=^P, - ed=\EJ, el=\EK, home=^A, ind=^J, invis=^CH, kbs=^H, kcub1=^U, - kcud1=^J, kcuf1=^F, kcuu1=^Z, kdch1=\s^H, kdl1=^P, ked=\EJ, - kel=\EK, kf1=^A@\r, kf10=^AI\r, kf12=^AJ\r, kf13=^AK\r, - kf14=^AL\r, kf15=^AM\r, kf16=^AN\r, kf17=^AO\r, kf2=^AA\r, - kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, khome=^A, lf1=F1, lf10=F10, lf2=F2, - lf3=F3, lf4=F4, lf5=F5, lf6=F6, lf7=F7, lf8=F8, lf9=F9, nel=^J^M, - pad=\0, rev=^CD, rmso=^C\s, rmul=^C\s, sgr0=^C\s, smso=^CE, - smul=^C0, - -#### Microterm (act, mime) -# -# The mime1 entries refer to the Microterm Mime I or Mime II. -# The default mime is assumed to be in enhanced act iv mode. -# - -# New "safe" cursor movement (5/87) from . Prevents -# freakout with out-of-range args on Sytek multiplexors. No and -# since it gets confused and it's too dim anyway. No -# since Sytek insists ^S means xoff. -# (act4: found ":ic=2^S:ei=:im=:ip=.1*^V:" commented out in 8.3 -- esr) -act4|microterm|microterm act iv, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\014$<12/>, cr=^M, cub1=^H, cud1=^K, cuf1=^X, - cup=\024%p1%{24}%+%c%p2%p2%?%{47}%>%t%{48}%+%;%{80}%+%c, - cuu1=^Z, dch1=\004$<.1*/>, dl1=\027$<2.3*/>, - ed=\037$<2.2*/>, el=\036$<.1*/>, home=^], - il1=\001<2.3*/>, ind=^J, kcub1=^H, kcud1=^K, kcuf1=^X, - kcuu1=^Z, -# The padding on :sr: and :ta: for act5 and mime is a guess and not final. -# The act 5 has hardware tabs, but they are in columns 8, 16, 24, 32, 41 (!)... -# (microterm5: removed obsolete ":ma==^Z^P^Xl^Kj:" -- esr) -act5|microterm5|microterm act v, - kcub1=^H, kcud1=^K, kcuf1=^X, kcuu1=^Z, ri=\EH$<3>, uc=^H\EA, - use=act4, -# Mimes using brightness for standout. Half bright is really dim unless -# you turn up the brightness so far that lines show up on the screen. -mime-fb|full bright mime1, - is2=^S\E, rmso=^S, smso=^Y, use=mime, -mime-hb|half bright mime1, - is2=^Y\E, rmso=^Y, smso=^S, use=mime, -# (mime: removed obsolete ":ma=^X ^K^J^Z^P:"; removed ":do=^K:" that overrode -# the more plausible ":do=^J:" -- esr) -# uc was at one time disabled to get around a curses bug, be wary of it -mime|mime1|mime2|mimei|mimeii|microterm mime1, - OTbs, am, - cols#80, it#8, lines#24, vt#9, - bel=^G, clear=^]^C, cr=^M, cub1=^H, cud1=^J, cuf1=^X, - cup=\024%p1%{24}%+%c%p2%p2%?%{32}%>%t%{48}%+%;%{80}%+%c, - cuu1=^Z, dl1=\027$<80>, ed=^_, el=^^, home=^], ht=\011$<2>, - il1=\001$<80>, ind=^J, is2=^S\E^Q, kcub1=^H, kcud1=^K, - kcuf1=^X, kcuu1=^Z, ri=\022$<3>, uc=^U, -# These termcaps (for mime2a) put the terminal in low intensity mode -# since high intensity mode is so obnoxious. -mime2a-s|microterm mime2a (emulating an enhanced soroc iq120), - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\EL, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EI, dch1=\ED, - dl1=\027$<20*>, ed=\EJ$<20*>, el=\EK, home=^^, - il1=\001$<20*>, ind=^J, ip=$<2>, is2=\E), kcub1=^H, kcud1=^J, - kcuf1=^L, kcuu1=^K, ri=\EI, rmir=^Z, rmso=\E;, rmul=\E7, - smir=\EE, smso=\E\:, smul=\E6, -# This is the preferred mode (but ^X can't be used as a kill character) -mime2a|mime2a-v|microterm mime2a (emulating an enhanced vt52), - OTbs, - cols#80, it#8, lines#24, - bel=^G, clear=\EL, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=^N, - dl1=\027$<20*>, ed=\EQ$<20*>, el=\EP, home=\EH, ht=^I, - il1=\001$<20*>, ind=^J, ip=$<2>, is2=^Y, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, ri=\EA, rmir=^Z, rmso=\E9, - rmul=\E5, smir=^O, smso=\E8, smul=\E4, -# (mime3a: removed obsolete ":ma=^X ^K^J^Z^P:" -- esr) -mime3a|mime1 emulating 3a, - am@, - kcub1=^H, kcud1=^K, kcuf1=^X, kcuu1=^Z, use=adm3a, -mime3ax|mime-3ax|mime1 emulating enhanced 3a, - it#8, - dl1=\027$<80>, ed=^_, el=^X, ht=\011$<3>, il1=\001$<80>, - use=mime3a, -# Wed Mar 9 18:53:21 1983 -# We run our terminals at 2400 baud, so there might be some timing problems at -# higher speeds. The major improvements in this model are the terminal now -# scrolls down and insert mode works without redrawing the rest of the line -# to the right of the cursor. This is done with a bit of a kludge using the -# exit graphics mode to get out of insert, but it does not appear to hurt -# anything when using vi at least. If you have some users using act4s with -# programs that use curses and graphics mode this could be a problem. -mime314|mm314|mime 314, - am, - cols#80, lines#24, - clear=^L, cub1=^H, cuf1=^X, cup=\024%p1%c%p2%c, cuu1=^Z, - dch1=^D, dl1=^W, ed=^_, el=^^, home=^], ht=^I, il1=^A, kcub1=^H, - kcud1=^K, kcuf1=^X, kcuu1=^Z, rmir=^V, smir=^S, -# Microterm mime 340 from University of Wisconsin -mm340|mime340|mime 340, - cols#80, lines#24, - clear=\032$<12/>, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\E#$<2.1*/>, dl1=\EV$<49.6/>, ed=\037$<2*/>, - el=\EL$<2.1/>, ht=^I, il1=\EU$<46/>, ind=^J, is2=\E\,, - kbs=^H, kcub1=^H, kcud1=^J, kcuu1=^K, nel=^M^J, -# This came from University of Wisconsin marked "astro termcap for jooss". -# (mt4520-rv: removed obsolete ":kn#4:" and incorrect ":ri=\E[C:"; -# also added / based on the init string -- esr) -mt4520-rv|micro-term 4520 reverse video, - am, hs, msgr, xenl, xon, - cols#80, it#8, lines#24, wsl#80, - bel=^G, clear=\E[H\E[J, cnorm=\E[0V\E8, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E7\E[0U, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, flash=\E[?5l$<200/>\E[?5h, - fsl=\E[?5l\E[?5h, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\ED, - is2=\E(B\E[2l\E>\E[20l\E[?3l\E[?5h\E[?7h\E[1;24r\E[24;1H\E[H\E[J, - kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, - ll=\E[24;1H, nel=\EE, rc=\E8, rf=/usr/share/tabset/vt100, - ri=\EM, rmam=\E[?7l, rmso=\E[0m, rmul=\E[24m, - rs1=\E(B\E[2l\E>\E[20l\E[?3l\E[?5h\E[?7h\E[H\E[J, - sc=\E7, sgr0=\E[m, smam=\E[?7h, smso=\E[7m, smul=\E[4m, - tbc=\E[g, tsl=\E[25;1H, - -# Fri Aug 5 08:11:57 1983 -# This entry works for the ergo 4000 with the following setups: -# ansi,wraparound,newline disabled, xon/xoff disabled in both -# setup a & c. -# -# WARNING!!! There are multiple versions of ERGO 4000 microcode -# Be advised that very early versions DO NOT WORK RIGHT !! -# Microterm does have a ROM exchange program- use it or lose big -# (ergo400: added / based on the init string -- esr) -ergo4000|microterm ergo 4000, - da, db, msgr, - cols#80, lines#66, - bel=^G, clear=\E[H\E[2J$<80>, cr=^M, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - dch1=\E[1P$<80>, dl1=\E[1M$<5*>, ed=\E[0J$<15>, - el=\E[0K$<13>, ht=^I, il1=\E[1L$<5*>, ind=\ED$<20*>, - is2=\E<\E=\E[?1l\E[?4l\E[?5l\E[?7h\E[?8h$<300>, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, lf1=pf1, lf2=pf2, lf3=pf3, - lf4=pf4, ri=\EM$<20*>, rmam=\E[?7l, rmir=\E[4l, - rmkx=\E=$<4>, rmso=\E[m$<20>, sgr0=\E[m$<20>, - smam=\E[?7m, smir=\E[4h$<6>, smkx=\E=$<4>, - smso=\E[7m$<20>, - -#### NCR -# -# NCR's terminal group was merged with AT&T's when AT&T bought the company. -# For what happened to that group, see the ADDS section. -# -# There is an NCR4103 terminal that's just a re-badged Wyse-50. -# - -# The following vendor-supplied termcaps were captured from the Boundless -# Technologies site, 8 March 1998. I removed all-upper-case names that were -# identical, except for case, to lower-case ones. I also uncommented the acsc -# capabilities.X -# -# The Intecolor emulation of the NCR 2900/260C color terminal is basically a -# DEC vt200/300 with color capabilities added. -ncr260intan|NCR Intecolor emulation of the 2900_260C with an ANSI keyboard, - colors#8, pairs#64, - op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - use=ncr260vt300an, -# The Intecolor emulation of the NCR 2900/260C color terminal is basically a -# DEC vt200/300 with color capabilities added. -ncr260intwan|NCR Intecolor emulation of the 2900_260C with an ANSI keyboard, - colors#8, pairs#64, - op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - use=ncr260vt300wan, -# The Intecolor emulation of the NCR 2900/260C color terminal is basically a -# DEC vt200/300 with color capabilities added. -ncr260intpp|NCR Intecolor emulation of the 2900_260C with a PC+ keyboard, - colors#8, pairs#64, - op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - use=ncr260vt300pp, -# The Intecolor emulation of the NCR 2900/260C color terminal is basicly a -# DEC vt200/300 with color capabilities added. -ncr260intwpp|NCR Intecolor emulation of the 2900_260C with a PC+ keyboard in 132 column mode, - colors#8, pairs#64, - op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - use=ncr260vt300wpp, -# This definition for ViewPoint supports several attributes. This means -# that it has magic cookies (extra spaces where the attributes begin). -# Some applications do not function well with magic cookies. The System -# Administrator's Shell in NCR Unix SVR4 1.03 is one such application. -# If supporting various attributes is not vital, 'xmc#1' and the extra -# attributes can be removed. -# Mapping to ASCII character set ('acsc' capability) can also be -# restored if needed. -ncr260vppp|NCR 2900_260 viewpoint, - am, bw, hs, km, mc5i, mir, msgr, xon, - cols#80, lines#24, nlab#32, xmc#1, - acsc=07a?h;j5k3l2m1n8q\:t4u9v=w0x6, bel=^G, blink=\EG2, - cbt=\EI, civis=\E`0, clear=\014$<40>, cnorm=\E`5, - cr=\r$<2>, cub1=\010$<2>, cud1=\n$<2>, cuf1=\006$<2>, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<5>, cuu1=\032$<2>, - dch1=\EW$<2>, dim=\EGp, dl1=\El$<2>, dsl=\E`c, ed=\Ek$<2>, - el=\EK$<2>, fsl=^M, home=\036$<2>, ht=^I, hts=\E1, - il1=\EM$<2>, ind=\n$<2>, invis=\EG1, - is2=\Ee6\E~%$<100>\E+\E`\:\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7$<100>, - kDC=\El, kEND=\Ek, kHOM=^A, kPRT=\E7, kRIT=^F, ka1=^A, ka3=\EJ, - kbs=^H, kc1=\ET, kc3=\EJ, kcub1=^U, kcud1=^J, kcuf1=^F, - kcuu1=^Z, kdch1=\EW, kend=\EK, kf1=^B1\r, kf10=^B\:\r, - kf11=^B;\r, kf12=^B<\r, kf13=^B=\r, kf14=^B>\r, kf15=^B?\r, - kf16=^B@\r, kf17=^B!\r, kf18=^B"\r, kf19=^B#\r, kf2=^B2\r, - kf20=^B$\r, kf21=\002%^M, kf22=^B&\r, kf23=^B'\r, - kf24=^B(\r, kf25=^B)\r, kf26=^B*\r, kf27=^B+\r, - kf28=^B\,\r, kf29=^B-\r, kf3=^B3\r, kf30=^B.\r, kf31=^B/\r, - kf32=^B0\r, kf4=^B4\r, kf5=^B5\r, kf6=^B6\r, kf7=^B7\r, - kf8=^B8\r, kf9=^B9\r, khome=^A, kich1=\Eq, knp=\EJ, kpp=\EJ, - kprt=\EP, ll=\001$<5>, mc0=\EP$<100>, mc4=^T, mc5=^R, - mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<5>, - nel=\037$<2>, rev=\EG4, ri=\Ej$<2>, rmacs=\EcB0\EH\003, - rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20, - rs2=\Ee6\E~%$<100>\E+\E`\:\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7$<100>, - sgr0=\EG0\EH\003, smacs=\EcB1\EH\002, smir=\Eq, - smso=\EG4, smul=\EG8, smxon=\Ec21, tsl=\EF, -ncr260vpwpp|NCR 2900_260 viewpoint wide mode, - cols#132, - cup=\Ea%i%p1%dR%p2%dC$<30>, - is2=\Ee6\E~%$<100>\E+\E`;\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7$<100>, - rs2=\Ee6\E~%$<100>\E+\E`;\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7$<100>, - use=ncr260vppp, -ncr260vt100an|NCR 2900_260 vt100 with ansi kybd, - am, hs, mir, msgr, xenl, xon, - cols#80, lines#24, nlab#32, - acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G, - blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[2J\E[1;1H$<20>, cnorm=\E[?25h, cr=\r$<1>, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD$<5>, - cub1=\E[D$<5>, cud=\E[%p1%dB$<5>, cud1=\E[B$<5>, - cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA$<5>, - cuu1=\E[A$<5>, dch=\E[%p1%dP$<5>, dch1=\E[1P$<5>, - dl=\E[%p1%dM$<5>, dl1=\E[M$<5>, dsl=\E[0$~\E[1$~, - ech=\E[%p1%dX, ed=\E[0J$<5>, el=\E[0K$<3>, el1=\E[1K$<3>, - fsl=\E[0$}, home=\E[H$<1>, hpa=\E[%p1%dG$<40>, ht=^I, - hts=\EH, ich=\E[%p1%d@$<5>, il=\E[%p1%dL$<5>, - il1=\E[L$<5>, ind=\ED$<5>, indn=\E[%p1%dE$<5>, - invis=\E[8m, - is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~, - knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, nel=\EE$<5>, - rc=\E8, rev=\E[7m, ri=\EM$<5>, rmacs=^O, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[0m, rmul=\E[0m, - rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>, - sgr0=\E[0m\017$<20>, smacs=^N, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[1;7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, use=vt220+keypad, -ncr260vt100wan|NCR 2900_260 vt100 wide mode ansi kybd, - cols#132, - cup=\E[%i%p1%d;%p2%dH$<30>, - is2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - rs2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - use=ncr260vt100an, -ncr260vt100pp|NCR 2900_260 vt100 with PC+ kybd, - is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - ka1=\E[H, ka3=\EOu, kb2=\E[V, kc3=\E[U, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[4~, - kend=\E[5~, khome=\E[2~, kich1=\E[1~, knp=\E[6~, kpp=\E[3~, - lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, rmkx=\E>, - rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - smkx=\E=, use=ncr260vt100an, -ncr260vt100wpp|NCR 2900_260 vt100 wide mode pc+ kybd, - cols#132, - cup=\E[%i%p1%d;%p2%dH$<30>, - is2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - rs2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - use=ncr260vt100pp, -ncr260vt200an|NCR 2900_260 vt200 with ansi kybd, - am, hs, mir, msgr, xenl, xon, - cols#80, lines#24, nlab#32, - acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G, - blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[2J\E[1;1H$<20>, cnorm=\E[?25h, cr=\r$<1>, - csr=\E[%i%p1%d;%p2%dr$<5>, cub=\E[%p1%dD$<5>, - cub1=\E[D$<5>, cud=\E[%p1%dB$<5>, cud1=\E[B$<5>, - cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA$<5>, - cuu1=\E[A$<5>, dch=\E[%p1%dP$<5>, dch1=\E[1P$<5>, - dl=\E[%p1%dM$<5>, dl1=\E[M$<5>, dsl=\E[0$~\E[1$~, - ech=\E[%p1%dX$<5>, ed=\E[0J, el=\E[0K$<5>, el1=\E[1K$<5>, - fsl=\E[0$}, home=\E[H, hpa=\E[%p1%dG$<40>, ht=^I, hts=\EH, - ich=\E[%p1%d@$<5>, il=\E[%p1%dL$<5>, il1=\E[L$<5>, - ind=\ED$<5>, indn=\E[%p1%dE$<5>, invis=\E[8m, - is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kf0=\EOy, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf2=\EOQ, kf20=\E[34~, kf21=\E[31~, kf22=\E[32~, - kf23=\E[33~, kf24=\E[34~, kf25=\E[35~, kf26=\E[1~, - kf27=\E[2~, kf28=\E[3~, kf29=\E[4~, kf3=\EOR, kf30=\E[5~, - kf31=\E[6~, kf32=\E[7~, kf33=\E[8~, kf34=\E[9~, - kf35=\E[10~, kf4=\EOS, kf5=\E[M, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, - kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, - mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m, - ri=\EM$<5>, rmacs=\017$<20>, rmam=\E[?7l, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, - rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>, - sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h, - smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, - use=vt220+keypad, -ncr260vt200wan|NCR 2900_260 vt200 wide mode ansi kybd, - cols#132, - cup=\E[%i%p1%d;%p2%dH$<30>, - is2=\E[!p\E[?3;7;19;67h\E[?4l\E(B\E)0\017\E[2J\E[1;1H$<200>, - rs2=\E[!p\E[?3;7;19;67h\E[?4l\E(B\E)0\017\E[2J\E[1;1H$<200>, - use=ncr260vt200an, -ncr260vt200pp|NCR 2900_260 vt200 with pc+ kybd, - ka1=\E[H, ka3=\EOu, kb2=\E[V, kc3=\E[U, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[4~, - kend=\E[1~, khome=\E[H, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, rmkx=\E>, smkx=\E=, - use=ncr260vt200an, -ncr260vt200wpp|NCR 2900_260 vt200 wide mode pc+ kybd, - cols#132, - cup=\E[%i%p1%d;%p2%dH$<30>, - is2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - rs2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - use=ncr260vt200pp, -ncr260vt300an|NCR 2900_260 vt300 with ansi kybd, - am, hs, mir, msgr, xenl, xon, - cols#80, lines#24, nlab#32, - acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G, - blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[2J\E[1;1H$<20>, cnorm=\E[?25h, cr=\r$<1>, - csr=\E[%i%p1%d;%p2%dr$<5>, cub=\E[%p1%dD$<5>, - cub1=\E[D$<5>, cud=\E[%p1%dB$<5>, cud1=\E[B$<5>, - cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA$<5>, - cuu1=\E[A$<5>, dch=\E[%p1%dP$<5>, dch1=\E[1P$<5>, - dl=\E[%p1%dM$<5>, dl1=\E[M$<5>, dsl=\E[0$~\E[1$~, - ech=\E[%p1%dX$<5>, ed=\E[0J, el=\E[0K$<5>, el1=\E[1K$<5>, - fsl=\E[0$}, home=\E[H, hpa=\E[%p1%dG$<40>, ht=^I, hts=\EH, - ich=\E[%p1%d@$<5>, il=\E[%p1%dL$<5>, il1=\E[L$<5>, - ind=\ED$<5>, indn=\E[%p1%dE$<5>, invis=\E[8m, - is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kf0=\EOy, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf20=\E[34~, kf21=\E[31~, kf22=\E[32~, kf23=\E[33~, - kf24=\E[34~, kf25=\E[35~, kf26=\E[1~, kf27=\E[2~, - kf28=\E[3~, kf29=\E[4~, kf30=\E[5~, kf31=\E[6~, kf32=\E[7~, - kf33=\E[8~, kf34=\E[9~, kf35=\E[10~, kf5=\E[M, kf6=\E[17~, - kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, - khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - krdo=\E[29~, kslt=\E[4~, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, - nel=\EE, rc=\E8, rev=\E[7m, ri=\EM$<5>, rmacs=\017$<20>, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, - rmul=\E[24m, - rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>, - sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h, - smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, - use=vt220+keypad, -ncr260vt300wan|NCR 2900_260 vt300 wide mode ansi kybd, - cols#132, - cup=\E[%i%p1%d;%p2%dH$<30>, - is2=\E[!p\E[?3;7;19;67h\E[?4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H$<200>, - rs2=\E[!p\E[?3;7;19;67h\E[?4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H$<200>, - use=ncr260vt300an, -ncr260vt300pp|NCR 2900_260 vt300 with pc+ kybd, - ka1=\E[H, ka3=\EOu, kb2=\E[V, kc3=\E[U, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[4~, - kend=\E[1~, khome=\E[H, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, rmkx=\E>, smkx=\E=, - use=ncr260vt300an, -NCR260VT300WPP|ncr260vt300wpp|NCR 2900_260 vt300 wide mode pc+ kybd, - cols#132, - cup=\E[%i%p1%d;%p2%dH$<30>, - is2=\E[!p\E[?3;7;19;67h\E[?1;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - rs2=\E[!p\E[?3;7;19;67h\E[?1;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - use=ncr260vt300pp, -# This terminfo file contains color capabilities for the Wyse325 emulation of -# the NCR 2900/260C color terminal. Because of the structure of the command -# (escape sequence) used to set color attributes, one of the fore/background -# colors must be preset to a given value. I have set the background color to -# black. The user can change this setup by altering the last section of the -# 'setf' definition. The escape sequence to set color attributes is -# ESC d y 1 -# In addition, the background color can be changed through the desk accessories. -# The capablitiy 'op' sets colors to green on black (default combination). -# -# NOTE: The NCR Unix System Administrator's Shell will not function properly -# if the 'pairs' capability is defined. Un-Comment the 'pairs' -# capability and recompile if you wish to have it included. -# -ncr260wy325pp|NCR 2900_260 wyse 325, - am, bw, hs, km, mc5i, mir, msgr, xon, - colors#16, cols#80, lines#24, ncv#33, nlab#32, - acsc=07a?h;j5k3l2m1n8q\:t4u9v=w0x6, bel=^G, blink=\EG2, - cbt=\EI, civis=\E`0, clear=\E*$<10>, cnorm=\E`1, cr=^M, - cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<10>, cuu1=\013$<5>, - cvvis=\E`5, dch1=\EW$<50>, dl1=\ER$<5>, dsl=\E`c, - ed=\Ey$<5>, el=\Et$<5>, fsl=^M, home=\036$<5>, ht=^I, - hts=\E1, il1=\EE$<5>, ind=\n$<5>, invis=\EG1, - is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - kDC=\ER, kEND=\EY, kHOM=\E{, kNXT=\EK, kPRT=\E7, kPRV=\EJ, - kRIT=^L, ka1=^^, kb2=\EJ, kbs=^H, kc1=\ET, kc3=\EK, kcbt=\EI, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kend=\ET, - kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, - kf14=^AM\r, kf15=^AN\r, kf16=^AO\r, kf17=^A`\r, kf18=^Aa\r, - kf19=^Ab\r, kf2=^AA\r, kf20=^Ac\r, kf21=^Ad\r, kf22=^Ae\r, - kf23=^Af\r, kf24=^Ag\r, kf25=^Ah\r, kf26=^Ai\r, kf27=^Aj\r, - kf28=^Ak\r, kf29=^Al\r, kf3=^AB\r, kf30=^Am\r, kf31=^An\r, - kf32=^Ao\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\Eq, knp=\EK, kpp=\EJ, - kprt=\EP, mc0=\EP, mc4=^T, mc5=^R, - mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<10>, - nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH\003\EcB0, - rmam=\Ed., rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20, - rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - setb=\s, - setf=%?%p1%{0}%=%t%{49}%e%p1%{1}%=%t%{50}%e%p1%{2}%=%t%{51}%e%p1%{3}%=%t%{52}%e%p1%{4}%=%t%{53}%e%p1%{5}%=%t%{54}%e%p1%{6}%=%t%{55}%e%p1%{7}%=%t%{64}%e%p1%{8}%=%t%{57}%e%p1%{9}%=%t%{58}%e%p1%{10}%=%t%{59}%e%p1%{11}%=%t%{60}%e%p1%{12}%=%t%{61}%e%p1%{13}%=%t%{62}%e%p1%{14}%=%t%{63}%e%p1%{15}%=%t%{56}%;\Edy%c11$<100>, - sgr0=\EG0\EcB0\EcD$<15>, smacs=\EH\002\EcB1, smam=\Ed/, - smir=\Eq, smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0, - tsl=\EF, -ncr260wy325wpp|NCR 2900_260 wyse 325 wide mode, - cols#132, - cup=\Ea%i%p1%dR%p2%dC$<30>, - is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - use=ncr260wy325pp, -# This definition for Wyse 350 supports several attributes. This means -# that it has magic cookies (extra spaces where the attributes begin). -# Some applications do not function well with magic cookies. The System -# Administrator's Shell in NCR Unix SVR4 1.03 is one such application. -# If supporting various attributes is not vital, 'xmc#1' and the extra -# attributes can be removed. -# Mapping to ASCII character set ('acsc' capability) can also be -# restored if needed. -# In addition, color capabilities have been added to this file. The drawback, -# however, is that the background color has to be black. The foreground colors -# are numbered 0 through 15. -# -# NOTE: The NCR Unix System Administrator's Shell does not function properly -# with the 'pairs' capability defined as below. If you wish to -# have it included, Un-comment it and recompile (using 'tic'). -# -ncr260wy350pp|NCR 2900_260 wyse 350, - am, bw, hs, km, mc5i, mir, msgr, xon, - colors#16, cols#80, lines#24, ncv#33, nlab#32, pairs#16, xmc#1, - acsc=07a?h;j5k3l2m1n8q\:t4u9v=w0x6, bel=^G, blink=\EG2, - cbt=\EI, civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=^M, - cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<40>, cuu1=\013$<5>, - cvvis=\E`5, dch1=\EW$<50>, dim=\EGp, dl1=\ER$<5>, dsl=\E`c, - ed=\Ey$<5>, el=\Et$<5>, fsl=^M, home=\036$<10>, ht=^I, - hts=\E1, il1=\EE$<5>, ind=\n$<5>, invis=\EG1, - is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - kDC=\ER, kEND=\EY, kHOM=\E{, kPRT=\E7, kRIT=^L, ka1=^^, kbs=^H, - kc1=\ET, kc3=\EK, kcbt=\EI, kcub1=^H, kcud1=^J, kcuf1=^L, - kcuu1=^K, kdch1=\EW, kend=\ET, kf1=^A@\r, kf10=^AI\r, - kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, - kf16=^AO\r, kf17=^A`\r, kf18=^Aa\r, kf19=^Ab\r, kf2=^AA\r, - kf20=^Ac\r, kf21=^Ad\r, kf22=^Ae\r, kf23=^Af\r, kf24=^Ag\r, - kf25=^Ah\r, kf26=^Ai\r, kf27=^Aj\r, kf28=^Ak\r, kf29=^Al\r, - kf3=^AB\r, kf30=^Am\r, kf31=^An\r, kf32=^Ao\r, kf4=^AC\r, - kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, - khome=^^, kich1=\Eq, knp=\EK, kpp=\EJ, kprt=\EP, - mc0=\EP$<10>, mc4=^T, mc5=^R, - mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<20>, - nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH\003\EcB0, - rmam=\Ed., rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20, - rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - setb=\s, - setf=%?%p1%{0}%=%t%{49}%e%p1%{1}%=%t%{50}%e%p1%{2}%=%t%{51}%e%p1%{3}%=%t%{52}%e%p1%{4}%=%t%{53}%e%p1%{5}%=%t%{54}%e%p1%{6}%=%t%{55}%e%p1%{7}%=%t%{102}%e%p1%{8}%=%t%{97}%e%p1%{9}%=%t%{98}%e%p1%{10}%=%t%{99}%e%p1%{11}%=%t%{101}%e%p1%{12}%=%t%{106}%e%p1%{13}%=%t%{110}%e%p1%{14}%=%t%{111}%e%p1%{15}%=%t%{56}%;\Em0%c$<100>, - sgr0=\EG0\EH\003\EcD, smacs=\EH\002\EcB1, smam=\Ed/, - smir=\Eq, smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0, - tsl=\EF, -ncr260wy350wpp|NCR 2900_260 wyse 350 wide mode, - cols#132, - cup=\Ea%i%p1%dR%p2%dC$<30>, - is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<200>, - rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<200>, - use=ncr260wy350pp, -# This definition for Wyse 50+ supports several attributes. This means -# that it has magic cookies (extra spaces where the attributes begin). -# Some applications do not function well with magic cookies. The System -# Administrator's Shell in NCR Unix SVR4 1.03 is one such application. -# If supporting various attributes is not vital, 'xmc#1' and the extra -# attributes can be removed. -# Mapping to ASCII character set ('acsc' capability) can also be -# restored if needed. -# (ncr260wy50+pp: originally contained commented-out -# , as well as the commented-out one there -- esr) -ncr260wy50+pp|NCR 2900_260 wyse 50+, - am, bw, hs, km, mc5i, mir, msgr, xon, - cols#80, lines#24, nlab#32, xmc#1, - acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, blink=\EG2, - cbt=\EI$<5>, civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=^M, - cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<30>, cuu1=\013$<5>, - cvvis=\E`5, dch1=\EW$<50>, dim=\EGp, dl1=\ER$<5>, dsl=\E`c, - ed=\EY$<5>, el=\ET$<5>, fsl=^M, home=\036$<10>, - ht=\011$<5>, hts=\E1$<5>, il1=\EE$<5>, ind=\n$<5>, - invis=\EG1, - is2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - kDC=\ER, kEND=\EY, kHOM=\E{, kPRT=\E7, kRIT=^L, ka1=^^, kbs=^H, - kc1=\ET, kc3=\EK, kcbt=\EI, kcub1=^H, kcud1=^J, kcuf1=^L, - kcuu1=^K, kdch1=\EW, kend=\ET, kf1=^A@\r, kf10=^AI\r, - kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, - kf16=^AO\r, kf17=^A`\r, kf18=^Aa\r, kf19=^Ab\r, kf2=^AA\r, - kf20=^Ac\r, kf21=^Ad\r, kf22=^Ae\r, kf23=^Af\r, kf24=^Ag\r, - kf25=^Ah\r, kf26=^Ai\r, kf27=^Aj\r, kf28=^Ak\r, kf29=^Al\r, - kf3=^AB\r, kf30=^Am\r, kf31=^An\r, kf32=^Ao\r, kf4=^AC\r, - kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, - khome=^^, kich1=\Eq, knp=\EK, kpp=\EJ, kprt=\EP, - mc0=\EP$<10>, mc4=^T, mc5=^R, - mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<10>, - nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH^C, rmam=\Ed., - rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20, - rs2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - sgr0=\EG0\EH\003$<15>, smacs=\EH^B, smam=\Ed/, smir=\Eq, - smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0$<5>, tsl=\EF, -ncr260wy50+wpp|NCR 2900_260 wyse 50+ wide mode, - cols#132, - cup=\Ea%i%p1%dR%p2%dC$<30>, - is2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<200>, - rs2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<200>, - use=ncr260wy50+pp, -ncr260wy60pp|NCR 2900_260 wyse 60, - am, bw, hs, km, mc5i, mir, msgr, xon, - cols#80, lines#24, nlab#32, - acsc=07a?h;j5k3l2m1n8q\:t4u9v=w0x6, bel=^G, blink=\EG2, - cbt=\EI$<15>, civis=\E`0, clear=\E*$<100>, cnorm=\E`1, - cr=^M, cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<10>, cuu1=\013$<5>, - cvvis=\E`5, dch1=\EW$<50>, dl1=\ER$<5>, dsl=\E`c, - ed=\Ey$<5>, el=\Et$<5>, fsl=^M, home=\036$<25>, - ht=\011$<15>, hts=\E1$<15>, il1=\EE$<5>, ind=\n$<5>, - invis=\EG1, - is2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - kDC=\ER, kEND=\EY, kHOM=\E{, kNXT=\EK, kPRT=\E7, kPRV=\EJ, - kRIT=^L, ka1=^^, kb2=\EJ, kbs=^H, kc1=\ET, kc3=\EK, - kcbt=\EI$<15>, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, - kdch1=\EW, kend=\ET, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, - kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r, - kf17=^A`\r, kf18=^Aa\r, kf19=^Ab\r, kf2=^AA\r, kf20=^Ac\r, - kf21=^Ad\r, kf22=^Ae\r, kf23=^Af\r, kf24=^Ag\r, kf25=^Ah\r, - kf26=^Ai\r, kf27=^Aj\r, kf28=^Ak\r, kf29=^Al\r, kf3=^AB\r, - kf30=^Am\r, kf31=^An\r, kf32=^Ao\r, kf4=^AC\r, kf5=^AD\r, - kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, - kich1=\Eq, knp=\EK, kpp=\EJ, kprt=\EP, mc0=\EP, mc4=^T, mc5=^R, - mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<30>, - nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH^C, rmam=\Ed., - rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20, - rs2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - sgr0=\EG0\EcB0\EcD$<15>, smacs=\EH^B, smam=\Ed/, - smir=\Eq, smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0$<15>, - tsl=\EF, -ncr260wy60wpp|NCR 2900_260 wyse 60 wide mode, - cols#132, - cup=\Ea%i%p1%dR%p2%dC$<30>, - is2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - rs2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - use=ncr260wy60pp, -ncr160vppp|NCR 2900_160 viewpoint, - use=ncr260vppp, -ncr160vpwpp|NCR 2900_160 viewpoint wide mode, - use=ncr260vpwpp, -ncr160vt100an|NCR 2900_160 vt100 with ansi kybd, - use=ncr260vt100an, -ncr160vt100pp|NCR 2900_160 vt100 with PC+ kybd, - use=ncr260vt100pp, -ncr160vt100wan|NCR 2900_160 vt100 wide mode ansi kybd, - use=ncr260vt100wan, -ncr160vt100wpp|NCR 2900_160 vt100 wide mode pc+ kybd, - use=ncr260vt100wpp, -ncr160vt200an|NCR 2900_160 vt200 with ansi kybd, - use=ncr260vt200an, -ncr160vt200pp|NCR 2900_160 vt200 with pc+ kybd, - use=ncr260vt200pp, -ncr160vt200wan|NCR 2900_160 vt200 wide mode ansi kybd, - use=ncr260vt200wan, -ncr160vt200wpp|NCR 2900_160 vt200 wide mode pc+ kybd, - use=ncr260vt200wpp, -ncr160vt300an|NCR 2900_160 vt300 with ansi kybd, - use=ncr260vt300an, -ncr160vt300pp|NCR 2900_160 vt300 with pc+ kybd, - use=ncr260vt300pp, -ncr160vt300wan|NCR 2900_160 vt300 wide mode ansi kybd, - use=ncr260vt300wan, -ncr160vt300wpp|NCR 2900_160 vt300 wide mode pc+ kybd, - use=ncr260vt300wpp, -ncr160wy50+pp|NCR 2900_160 wyse 50+, - use=ncr260wy50+pp, -ncr160wy50+wpp|NCR 2900_160 wyse 50+ wide mode, - use=ncr260wy50+wpp, -ncr160wy60pp|NCR 2900_160 wyse 60, - use=ncr260wy60pp, -ncr160wy60wpp|NCR 2900_160 wyse 60 wide mode, - use=ncr260wy60wpp, -ncrvt100an|ncrvt100pp|NCR vt100 for the 2900 terminal, - am, hs, mc5i, mir, msgr, xon, - cols#80, it#8, lines#24, nlab#32, - acsc=``aaffgghhiijjkkllmmnnqqttuuvvwwxxyyzz~~, - bel=^G, blink=\E[5m$<30>, bold=\E[1m$<30>, - clear=\E[2J\E[1;1H$<300>, cr=^M, - csr=\E[%i%p1%d;%p2%dr$<100>, cub=\E[%p1%dD$<30>, - cub1=\E[D$<2>, cud=\E[%p1%dB$<30>, cud1=\E[B$<2>, - cuf=\E[%p1%dC$<30>, cuf1=\E[C$<2>, - cup=\E[%i%p1%d;%p2%dH$<100>, cuu=\E[%p1%dA$<30>, - cuu1=\E[A$<2>, dch=\E[%p1%dP$<40>, dch1=\E[1P$<10>, - dl=\E[%p1%dM$<70>, dl1=\E[M$<40>, dsl=\E[31l$<25>, - ed=\E[0J$<300>, el=\E[0K$<30>, el1=\E[1K$<30>, - enacs=\E(B\E)0$<40>, fsl=1$<10>, home=\E[H$<2>$<80>, - ht=^I, hts=\EH, il=\E[%p1%dL$<80>, il1=\E[B\E[L$<80>, - ind=\ED, - is2=\E[12h\E[?10l\E%/0n\E[P\031\E[?3l\E(B\E)0$<200>, - kLFT=\E[D, kRIT=\E[C, ka1=\E[H, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kent=^M, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, mc0=\E[i$<100>, nel=\EE, - rc=\E8, rev=\E[7m$<30>, ri=\EM$<50>, rmacs=\017$<90>, - rmir=\E[4l$<80>, rmso=\E[0m$<30>, rmul=\E[0m$<30>, - rs2=\Ec\E[12;31h\E[?3;4;5;10l\E[?6;7;19;25h\E[33;34l\E[0m\E(B\E)0\E%/0n\E[P\031$<200>, - sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<100>, - sgr0=\017\E[0m$<120>, smacs=\016$<90>, smir=\E[4h$<80>, - smso=\E[7m$<30>, smul=\E[4m$<30>, tbc=\E[3g$<40>, - tsl=\E[>+1$<70>, -ncrvt100wan|NCRVT100WPP|ncrvt100wpp|NCR VT100 emulation of the 2900 terminal, - cols#132, - is2=\E[12h\E[?10l\E%/0n\E[P\031\E[?3h\E(B\E)0$<200>, - rs2=\Ec\E[12;31h\E[?4;5;10l\E?3;6;7;19;25h\E[33;34l\E[0m\E(B\E)0\E%/0n\E[P\031$<200>, - use=ncrvt100an, -# -# Vendor-supplied NCR termcaps end here - -# NCR7900 DIP switches: -# -# Switch A: -# 1-4 - Baud Rate -# 5 - Parity (Odd/Even) -# 6 - Don't Send or Do Send Spaces -# 7 - Parity Enable -# 8 - Stop Bits (One/Two) -# -# Switch B: -# 1 - Upper/Lower Shift -# 2 - Typewriter Shift -# 3 - Half Duplex / Full Duplex -# 4 - Light/Dark Background -# 5-6 - Carriage Return Without / With Line Feed -# 7 - Extended Mode -# 8 - Suppress Keyboard Display -# -# Switch C: -# 1 - End of line entry disabled/enabled -# 2 - Conversational mode / (Local?) Mode -# 3 - Control characters displayed / not displayed -# 4 - (2-wire?) / 4-wire communications -# 5 - RTS on and off for each character -# 6 - (50Hz?) / 60 Hz -# 7 - Exit after level zero diagnostics -# 8 - RS-232 interface -# -# Switch D: -# 1 - Reverse Channel (yes / no) -# 2 - Manual answer (no / yes) -# 3-4 - Cursor appearance -# 5 - Communication Rate -# 6 - Enable / Disable EXT turnoff -# 7 - Enable / Disable CR turnoff -# 8 - Enable / Disable backspace -# -# Since each attribute parameter is 0 or 1, we shift each attribute (standout, -# reverse, blink, dim, and underline) the appropriate number of bits (by -# multiplying the 0 or 1 by a correct factor to shift) so the bias character, -# '@' is (effectively) "or"ed with each attribute to generate the proper third -# character in the 0 sequence. The string implements the following -# equation: -# -# ((((('@' + P5) | (P4 << 1)) | (P3 << 3)) | (P2 << 4)) | (p1 * 17)) => -# ((((('@' + P5) + (P4 << 1)) + (P3 << 3)) + (P2 << 4)) + (p1 * 17)) -# -# Where: P1 <==> Standout attribute parameter -# P2 <==> Underline attribute parameter -# P3 <==> Reverse attribute parameter -# P4 <==> Blink attribute parameter -# P5 <==> Dim attribute parameter -# From , init string hacked by SCO. -ncr7900i|ncr7900|ncr 7900 model 1, - am, bw, ul, - cols#80, lines#24, xmc#1, - bel=^G, blink=\E0B, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^F, - cup=\E1%p2%c%p1%c, cuu1=^Z, dim=\E0A, ed=\Ek, el=\EK, ind=^J, - is2=\E0@\010\E3\E4\E7, kcub1=^U, kcud1=^J, kcuf1=^F, - kcuu1=^Z, khome=^A, ll=^A, mc4=^T, mc5=^R, rev=\E0P, rmso=\E0@, - rmul=\E0@, - sgr=\E0%p5%{64}%+%p4%{2}%*%+%p3%{16}%*%+%p2%{32}%*%+%p1%{17}%*%+%c, - sgr0=\E0@, smso=\E0Q, smul=\E0`, -ncr7900iv|ncr 7900 model 4, - am, bw, eslok, hs, - cols#80, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, - cup=\013%p1%{64}%+%c\E\005%p2%02d, dl1=\E^O, dsl=\Ey1, - fsl=\Ek\Ey5, home=\013@\E^E00, il1=\E^N, ind=^J, kbs=^H, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf1=\ES, kf2=\ET, - kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, - khome=\EH, lf6=blue, lf7=red, lf8=white, nel=^M^J, - tsl=\Ej\Ex5\Ex1\EY8%p1%{32}%+%c\Eo, -# Warning: This terminal will lock out the keyboard when it receives a CTRL-D. -# The user can enter a CTRL-B to get out of this locked state. -# In , we want to output the character given by the formula: -# ((col / 10) * 16) + (col % 10) where "col" is "p1" -ncr7901|ncr 7901 model, - am, bw, ul, - cols#80, lines#24, - bel=^G, blink=\E0B, civis=^W, clear=^L, cnorm=^X, cr=^M, - cub1=^H, cud1=^J, cuf1=^F, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, dim=\E0A, - ed=\Ek, el=\EK, - hpa=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%c, ind=^J, - is2=\E4^O, kclr=^L, kcub1=^U, kcud1=^J, kcuf1=^F, kcuu1=^Z, - khome=^H, ll=^A, mc4=^T, mc5=^R, rev=\E0P, rmso=^O, rmul=^O, - sgr=\E0%p5%{64}%+%p4%{2}%*%+%p3%{16}%*%+%p2%{32}%*%+%p1%{17}%*%+%c\016, - sgr0=^O, smso=\E0Q\016, smul=\E0`\016, - vpa=\013%p1%{64}%+%c, - -#### Perkin-Elmer (Owl) -# -# These are official terminfo entries from within Perkin-Elmer. -# - -bantam|pe550|pe6100|perkin elmer 550, - OTbs, - cols#80, lines#24, - bel=^G, clear=\EK$<20>, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA, - el=\EI$<20>, home=\EH, ind=^J, ll=\EH\EA, -fox|pe1100|perkin elmer 1100, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\EH\EJ$<132>, cr=^M, cub1=^H, cud1=^J, - cuf1=\EC, cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA, - ed=\EJ$<5.5*>, el=\EI, flash=\020\002$<200/>\020\003, - home=\EH, hts=\E1, ind=^J, ll=\EH\EA, tbc=\E3, -owl|pe1200|perkin elmer 1200, - OTbs, am, in, - cols#80, lines#24, - bel=^G, clear=\EH\EJ$<132>, cr=^M, cub1=^H, cud1=^J, - cuf1=\EC, cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA, - dch1=\EO$<5.5*>, dl1=\EM$<5.5*>, ed=\EJ$<5.5*>, - el=\EI$<5.5>, flash=\020\002$<200/>\020\003, home=\EH, - hts=\E1, ich1=\EN, il1=\EL$<5.5*>, ind=^J, ip=$<5.5*>, - kbs=^H, kf0=\ERJ, kf1=\ERA, kf2=\ERB, kf3=\ERC, kf4=\ERD, - kf5=\ERE, kf6=\ERF, kf7=\ERG, kf8=\ERH, kf9=\ERI, ll=\EH\EA, - rmso=\E!\0, sgr0=\E!\0, smso=\E!^H, tbc=\E3, -pe1251|pe6300|pe6312|perkin elmer 1251, - am, - cols#80, it#8, lines#24, pb#300, vt#8, xmc#1, - bel=^G, clear=\EK$<332>, cr=^M, cub1=\ED, cud1=\EB, cuf1=\EC, - cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA, - ed=\EJ$<20*>, el=\EI$<10*>, home=\EH, hts=\E1, ind=^J, - kf0=\ERA, kf1=\ERB, kf10=\ERK, kf2=\ERC, kf3=\ERD, kf4=\ERE, - kf5=\ERF, kf6=\ERG, kf7=\ERH, kf8=\ERI, kf9=\ERJ, tbc=\E3, -# (pe7000m: this had -# rmul=\E!\0, smul=\E!\040, -# which is probably wrong, it collides with kf0 -pe7000m|perkin elmer 7000 series monochrome monitor, - am, - cols#80, lines#24, - bel=^G, cbt=\E!Y, clear=\EK, cr=^M, cub1=\ED, cud1=\EB, - cuf1=\EC, cup=\ES%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, - ed=\EJ, el=\EI, home=\EH, ind=^J, - is1=\E!\0\EW 7o\Egf\ES7\s, kbs=^H, kcub1=\E!V, - kcud1=\E!U, kcuf1=\E!W, kcuu1=\E!T, kf0=\E!\0, kf1=\E!^A, - kf10=\E!^J, kf2=\E!^B, kf3=\E!^C, kf4=\E!^D, kf5=\E!^E, - kf6=\E!^F, kf7=\E!^G, kf8=\E!^H, kf9=\E!^I, khome=\E!S, - ll=\ES7\s, ri=\ER, -pe7000c|perkin elmer 7000 series colour monitor, - is1=\E!\0\EW 7o\Egf\Eb0\Ec7\ES7\s, rmso=\Eb0, - rmul=\E!\0, smso=\Eb2, smul=\E!\s, use=pe7000m, - -#### Sperry Univac -# -# Sperry Univac has merged with Burroughs to form Unisys. -# - -# This entry is for the Sperry UTS30 terminal running the TTY -# utility under control of CP/M Plus 1R1. The functionality -# provided is comparable to the DEC vt100. -# (uts30: I added / based on the init string -- esr) -uts30|sperry uts30 with cp/m@1R1, - am, bw, hs, - cols#80, lines#24, wsl#40, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\ER, clear=^L, - cnorm=\ES, cr=^M, csr=\EU%p1%{32}%+%c%p2%{32}%+%c, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\EB, - cuf=\E[%p1%dC, cuf1=\EC, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\EM, - dl=\E[%p1%dM, dl1=\EL, ed=\E[J, el=\E[K, fsl=^M, home=\E[H, - ht=^I, ich=\E[%p1%d@, ich1=\EO, il=\E[%p1%dL, il1=\EN, - ind=^J, indn=\E[%p1%dB, is2=\E[U 7\E[24;1H, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, khome=\E[H, - rc=\EX, rev=\E[7m, rf=/usr/share/tabset/vt100, ri=\EI, - rin=\E[%p1%dA, rmacs=\Ed, rmam=\E[?7l, rmso=\E[m, - rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - sc=\EW, sgr0=\E[m, smacs=\EF, smam=\E[?7m, smso=\E[7m, - smul=\E[4m, tsl=\E], uc=\EPB, - -#### Tandem -# -# Tandem builds these things for use with its line of fault-tolerant -# transaction-processing computers. They aren't generally available -# on the merchant market, and so are fairly uncommon. -# - -tandem6510|adm3a repackaged by Tandem, - use=adm3a, - -# A funny series of terminal that TANDEM uses. The actual model numbers -# have a fourth digit after 653 that designates minor variants. These are -# natively block-mode and rather ugly, but they have a character mode which -# this doubtless(?) exploits. There is a 6520 that is slightly dumber. -# (tandem653: had ":sb=\ES:", probably someone's mistake for sf; also, -# removed , no such file -- esr) -tandem653|t653x|Tandem 653x multipage terminal, - OTbs, am, da, db, hs, - cols#80, lines#24, wsl#64, xmc#1, - clear=\EI, cub1=^H, cud1=^J, cuf1=\EC, - cup=\023%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dsl=\Eo\r, - ed=\EJ, el=\EK, fsl=^M, home=\EH, ind=\ES, ri=\ET, rmso=\E6\s, - rmul=\E6\s, sgr0=\E6\s, smso=\E6$, smul=\E60, tsl=\Eo, - -#### Tandy/Radio Shack -# -# Tandy has a line of VDTs distinct from its microcomputers. -# - -dmterm|deskmate terminal, - am, bw, - cols#80, lines#24, - bel=^G, civis=\EG5, clear=\Ej, cnorm=\EG6, cr=^M, cub1=^H, - cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=\EA, dch1=\ES, dl1=\ER, ed=\EJ, el=\EK, home=\EH, ht=^I, - ich1=\EQ, il1=\EP, ind=\EX, invis@, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, kf0=\E1, kf1=\E2, kf2=\E3, kf3=\E4, - kf4=\E5, kf5=\E6, kf6=\E7, kf7=\E8, kf8=\E9, kf9=\E0, - khome=\EH, lf0=f1, lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6, - lf6=f7, lf7=f8, lf8=f9, lf9=f10, ll=\EE, rmul@, smul@, - use=adm+sgr, -dt100|dt-100|Tandy DT-100 terminal, - xon, - cols#80, lines#24, xmc#1, - acsc=jjkkllmmnnqqttuuvvwwxx, bel=^G, civis=\E[?25l, - clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, - csr=\E[%p1%2d;%p2%2dr, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\010\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, - il1=\E[L, ind=^J, is2=\E[?3l\E)0\E(B, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\E[?3i, - kf10=\E[?5i, kf2=\E[2i, kf3=\E[@, kf4=\E[M, kf5=\E[17~, - kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, khome=\E[H, - knp=\E[29~, kpp=\E[28~, lf1=f1, lf2=f2, lf3=f3, lf4=f4, lf5=f5, - lf6=f6, lf7=f7, lf8=f8, ri=\EM, rmacs=^O, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smacs=^N, smso=\E[7m, smul=\E[4m, -dt100w|dt-100w|Tandy DT-100 terminal (wide mode), - cols#132, use=dt100, -dt110|Tandy DT-110 emulating ansi, - xon, - cols#80, lines#24, - acsc=jjkkllmmnnqqttuuvvwwxx, bel=^G, civis=\E[?25l, - clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[0B, cuf1=\E[C, - cup=\010\E[%i%p1%d;%p2%dH, cuu1=\E[0A, dch1=\E[0P, - dl1=\E[0M, ed=\E[0J, el=\E[0K, enacs=\E(B\E)0, home=\E[H, - ht=^I, ich1=\E[0@, il1=\E[0L, ind=^J, is2=\E[?3l\E)0\E(B, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[K, - kf1=\E[1~, kf10=\E[10~, kf2=\E[2~, kf3=\E[3~, kf4=\E[4~, - kf5=\E[5~, kf6=\E[6~, kf7=\E[7~, kf8=\E[8~, kf9=\E[9~, - khome=\E[G, kich1=\E[@, knp=\E[26~, kpp=\E[25~, lf0=f1, - lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf8=f9, - lf9=f10, ri=\EM, rmacs=^O, rmso=\E[m, rmul=\E[m, sgr0=\E[m, - smacs=^N, smso=\E[7m, smul=\E[4m, -pt210|TRS-80 PT-210 printing terminal, - hc, os, - cols#80, - bel=^G, cr=^M, cud1=^J, ind=^J, - -#### Tektronix (tek) -# -# Tektronix tubes are graphics terminals. Most of them use modified -# oscilloscope technology incorporating a long-persistence green phosphor, -# and support vector graphics on a main screen with an attached "dialogue -# area" for interactive text. -# - -tek|tek4012|tektronix 4012, - OTbs, os, - cols#75, lines#35, - bel=^G, clear=\E\014$<1000>, cr=^M, cub1=^H, cud1=^J, - ff=\014$<1000>, is2=\E^O, -# (tek4013: added to suppress tic warnings re / --esr) -tek4013|tektronix 4013, - acsc=, rmacs=\E^O, smacs=\E^N, use=tek4012, -tek4014|tektronix 4014, - cols#81, lines#38, - is2=\E\017\E9, use=tek4012, -# (tek4015: added to suppress tic warnings re / --esr) -tek4015|tektronix 4015, - acsc=, rmacs=\E^O, smacs=\E^N, use=tek4014, -tek4014-sm|tektronix 4014 in small font, - cols#121, lines#58, - is2=\E\017\E\:, use=tek4014, -# (tek4015-sm: added to suppress tic warnings re / --esr) -tek4015-sm|tektronix 4015 in small font, - acsc=, rmacs=\E^O, smacs=\E^N, use=tek4014-sm, -# Tektronix 4023 from Andrew Klossner -# -# You need to have "stty nl2" in effect. Some versions of tset(1) know -# how to set it for you. -# -# It's got the Magic Cookie problem around stand-out mode. If you can't -# live with Magic Cookie, remove the :so: and :se: fields and do without -# reverse video. If you like reverse video stand-out mode but don't want -# it to flash, change the letter 'H' to 'P' in the :so: field. -tek4023|tektronix 4023, - OTbs, am, - OTdN#4, cols#80, lines#24, vt#4, xmc#1, - OTnl=^J, bel=^G, clear=\E\014$<4/>, cr=^M, cub1=^H, cud1=^J, - cuf1=^I, cup=\034%p2%{32}%+%c%p1%{32}%+%c, kbs=^H, - rmso=^_@, smso=^_P, -# It is recommended that you run the 4025 at 4800 baud or less; -# various bugs in the terminal appear at 9600. It wedges at the -# bottom of memory (try "cat /usr/dict/words"); ^S and ^Q typed -# on keyboard don't work. You have to hit BREAK twice to get -# one break at any speed - this is a documented feature. -# Can't use cursor motion because it's memory relative, and -# because it only works in the workspace, not the monitor. -# Same for home. Likewise, standout only works in the workspace. -# -# was commented out since vi and rogue seem to work better -# simulating it with lots of spaces! -# -# and had 145ms of padding, but that slowed down vi's ^U -# and didn't seem necessary. -# -tek4024|tek4025|tek4027|tektronix 4024/4025/4027, - OTbs, am, da, db, - cols#80, it#8, lines#34, lm#0, - bel=^G, clear=\037era\r\n\n, cmdch=^_, cr=^M, - cub=\037lef %p1%d\r, cub1=^H, cud=\037dow %p1%d\r, - cud1=^F^J, cuf=\037rig %p1%d\r, cuf1=\037rig\r, - cuu=\037up %p1%d\r, cuu1=^K, dch1=\037dch\r, - dl=\037dli %p1%d\r\006, dl1=\037dli\r\006, - ed=\037dli 50\r, ht=^I, ich1=\037ich\r \010, - il=\037up\r\037ili %p1%d\r, il1=\037up\r\037ili\r, - ind=^F^J, - is2=!com 31\r\n\037sto 9 17 25 33 41 49 57 65 73\r, - rmkx=\037lea p2\r\037lea p4\r\037lea p6\r\037lea p8\r\037lea f5\r, - smkx=\037lea p4 /h/\r\037lea p8 /k/\r\037lea p6 / /\r\037lea p2 /j/\r\037lea f5 /H/\r, -tek4025-17|tek 4025 17 line window, - lines#17, use=tek4025, -tek4025-17-ws|tek 4025 17 line window in workspace, - is2=!com 31\r\n\037sto 9 17 25 33 41 49 57 65 73\r\037wor 17\r\037mon 17\r, - rmcup=\037mon h\r, rmso=\037att s\r, smcup=\037wor h\r, - smso=\037att e\r, use=tek4025-17, -tek4025-ex|tek4027-ex|tek 4025/4027 w/!, - is2=\037com 33\r\n!sto 9 17 25 33 41 49 57 65 73\r, - rmcup=\037com 33\r, smcup=!com 31\r, use=tek4025, -# Tektronix 4025a -# From: Doug Gwyn -# The following status modes are assumed for normal operation (replace the -# initial "!" by whatever the current command character is): -# !COM 29 # NOTE: changes command character to GS (^]) -# ^]DUP -# ^]ECH R -# ^]EOL -# ^]RSS T -# ^]SNO N -# ^]STO 9 17 25 33 41 49 57 65 73 -# Other modes may be set according to communication requirements. -# If the command character is inadvertently changed, termcap can't restore it. -# Insert-character cannot be made to work on both top and bottom rows. -# Clear-to-end-of-display emulation via !DLI 988 is too grotty to use, alas. -# There also seems to be a problem with vertical motion, perhaps involving -# delete/insert-line, following a typed carriage return. This terminal sucks. -# Delays not specified; use "stty ixon -ixany" to enable DC3/DC1 flow control! -# (tek4025a: removed obsolete ":xx:". This may mean the tek4025a entry won't -# work any more. -- esr) -tek4025a|Tektronix 4025A, - OTbs, OTpt, am, bw, da, db, xon, - cols#80, it#8, lines#34, - bel=^G, cbt=\035bac;, clear=\035era;\n\035rup;, cmdch=^], - cr=^M, cub=\035lef %p1%d;, cub1=^H, cud=\035dow %p1%d;, - cud1=^J, cuf=\035rig %p1%d;, cuf1=\035rig;, - cuu=\035up %p1%d;, cuu1=^K, dch=\035dch %p1%d;, - dch1=\035dch;, dl=\035dli %p1%d;, dl1=\035dli;, - el=\035dch 80;, hpa=\r\035rig %p1%d;, ht=^I, - il1=\013\035ili;, ind=^J, indn=\035dow %p1%d;, - rs2=!com 29\035del 0\035rss t\035buf\035buf n\035cle\035dis\035dup\035ech r\035eol\035era g\035for n\035pad 203\035pad 209\035sno n\035sto 9 17 25 33 41 49 57 65 73\035wor 0;, - tbc=\035sto;, -# From: cbosg!teklabs!davem Wed Sep 16 21:11:41 1981 -# Here's the command file that I use to get rogue to work on the 4025. -# It should work with any program using the old curses (e.g. it better -# not try to scroll, or cursor addressing won't work. Also, you can't -# see the cursor.) -# (This "learns" the arrow keys for rogue. I have adapted it for termcap - mrh) -tek4025-cr|tek 4025 for curses and rogue, - OTbs, am, - cols#80, it#8, lines#33, - clear=\037era;, cub1=^H, cud1=^F^J, cuf1=\037rig;, - cup=\037jum%i%p1%d\,%p2%d;, cuu1=^K, ht=^I, ind=^F^J, - is2=!com 31\r\n\037sto 9 17 25 33 41 49 57 65 73\r, - rmcup=\037wor 0, smcup=\037wor 33h, -# next two lines commented out since curses only allows 128 chars, sigh. -# :ti=\037lea p1/b/\037lea p2/j/\037lea p3/n/\037lea p4/h/\037lea p5/ /\037lea p6/l/\037lea p7/y/\037lea p8/k/\037lea p9/u/\037lea p./f/\037lea pt/`era w/13\037lea p0/s/\037wor 33h:\ -# :te=\037lea p1\037lea p2\037lea p3\037lea p4\037lea pt\037lea p5\037lea p6\037lea p7\037lea p8\037lea p9/la/13\037lea p.\037lea p0\037wor 0: -tek4025ex|4025ex|4027ex|tek 4025 w/!, - is2=\037com 33\r\n!sto 9\,17\,25\,33\,41\,49\,57\,65\,73\r, - rmcup=\037com 33\r, smcup=!com 31\r, use=tek4025, -tek4105|tektronix 4105, - OTbs, am, mir, msgr, ul, xenl, xt, - cols#79, it#8, lines#29, - acsc=, bel=^G, blink=\E[=3;<7m, bold=\E[=7;<4m, cbt=\E[Z, - clear=\E[2J\E[H, cr=^M, cud1=\E[1B, cuf1=\E[1C, - cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[1A, dch1=\E[1P, - dim=\E[=1;<6m, dl1=\E[1M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, - il1=\E[1L, ind=\E[S, invis=\E[=6;<5, is1=\E%!1\E[m, - is2=\E%!1\E[?6141\E[m, kbs=^H, kcub1=\E[1D, kcud1=\E[1B, - kcuf1=\E[1C, kcuu1=\E[1A, rev=\E[=1;<3m, ri=\E[T, - rmacs=\E[m, rmcup=, rmir=\E[4l, rmso=\E[=0;<1m, - rmul=\E[=0;<1m, sgr0=\E[=0;<1m, smacs=\E[1m, - smcup=\E%!1\E[?6l\E[2J, smir=\E[4h, smso=\E[=2;<3m, - smul=\E[=5;<2m, tbc=\E[1g, - -# (tek4105-30: I added / based on the init string -- esr) -tek4105-30|4015 emulating 30 line vt100, - am, mir, msgr, xenl, xon, - cols#80, it#8, lines#30, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C$<2>, - cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, - cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>, - enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8, - rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, - rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>, - sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, - smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, - use=vt100+fnkeys, - -# Tektronix 4105 from BRL -# The following setup modes are assumed for normal operation: -# CODE ansi CRLF no DABUFFER 141 -# DAENABLE yes DALINES 30 DAMODE replace -# DAVISIBILITY yes ECHO no EDITMARGINS 1 30 -# FLAGGING input INSERTREPLACE replace LFCR no -# ORIGINMODE relative PROMPTMODE no SELECTCHARSET G0 B -# SELECTCHARSET G1 0 TABS -2 -# Other setup modes may be set for operator convenience or communication -# requirements; I recommend -# ACURSOR 1 0 AUTOREPEAT yes AUTOWRAP yes -# BYPASSCANCEL CURSORKEYMODE no DAINDEX 1 0 0 -# EOFSTRING '' EOLSTRING EOMCHARS -# GAMODE overstrike GCURSOR 0 100 0 GSPEED 10 1 -# IGNOREDEL no KEYEXCHAR
NVDEFINE -53 "" -# PROMPTSTRING '' QUEUESIZE 2460 WINDOW 0 0 4095 3132 -# XMTDELAY 0 -# and factory color maps. After setting these modes, save them with NVSAVE. No -# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control! -# "IC" cannot be used in combination with "im" & "ei". -# "tek4105a" is just a guess: -tek4105a|Tektronix 4105, - OTbs, OTpt, msgr, xon, - OTkn#8, cols#80, it#8, lines#30, vt#3, - acsc=, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, - civis=\E%!0\ETD00\E%!1, clear=\E[H\E[J, - cnorm=\E%!0\ETD10\E%!1, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\EM, cvvis=\E%!0\ETD70\E%!1, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\EH, - il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, is2=\E%!1, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf0=\EOA, kf1=\EOB, kf2=\EOC, kf3=\EOD, kf4=\EOP, kf5=\EOQ, - kf6=\EOR, kf7=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4, lf4=F5, - lf5=F6, lf6=F8, ll=\E[30;H, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, - rin=\E[%p1%dT, rmacs=^O, rmcup=\E%!0\ELBH=\E%!1, - rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs2=\030\E%!0\EKC\E\014\EKR0\EKF0\ENM0\ELBH=\ETF8000010F40\ELI100\ELLA>\ELM0\EKE0\ENF1\EKS0\END0\E%!1\Ec\E[?3;5l\E[?7;8h\E[r\E[m\E>, - sc=\E7, sgr0=\E[m, smacs=^N, smcup=\E[?6l, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - -# -# Tektronix 4106/4107/4109 from BRL -# The following setup modes are assumed for normal operation: -# CODE ansi COLUMNMODE 80 CRLF no -# DABUFFER 141 DAENABLE yes DALINES 32 -# DAMODE replace DAVISIBILITY yes ECHO no -# EDITMARGINS 1 32 FLAGGING input INSERTREPLACE replace -# LFCR no LOCKKEYBOARD no ORIGINMODE relative -# PROMPTMODE no SELECTCHARSET G0 B SELECTCHARSET G1 0 -# TABS -2 -# Other setup modes may be set for operator convenience or communication -# requirements; I recommend -# ACURSOR 1 0 AUTOREPEAT yes AUTOWRAP yes -# BYPASSCANCEL CURSORKEYMODE no DAINDEX 1 0 0 -# EOFSTRING '' EOLSTRING EOMCHARS -# GAMODE overstrike GCURSOR 0 100 0 GSPEED 9 3 -# IGNOREDEL no KEYEXCHAR
NVDEFINE -53 "" -# PROMPTSTRING '' QUEUESIZE 2620 WINDOW 0 0 4095 3132 -# XMTDELAY 0 -# and factory color maps. After setting these modes, save them with NVSAVE. No -# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control! -# "IC" cannot be used in combination with "im" & "ei". -tek4106brl|tek4107brl|tek4109brl|Tektronix 4106 4107 or 4109, - msgr, xon, - cols#80, it#8, lines#32, vt#3, - acsc=, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, - civis=\E%!0\ETD00\E%!1, clear=\E[H\E[J, - cnorm=\E%!0\ETD10\E%!1, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\EM, cvvis=\E%!0\ETD70\E%!1, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\EH, - il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, is2=\E%!1, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf0=\EOA, kf1=\EOB, kf2=\EOC, kf3=\EOD, kf4=\EOP, kf5=\EOQ, - kf6=\EOR, kf7=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4, lf4=F5, - lf5=F6, lf6=F8, ll=\E[32;H, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, - rin=\E[%p1%dT, rmacs=^O, rmcup=\E%!0\ELBH=\E%!1, - rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs1=\030\E%!0\EKC\E\014\EKR0\EKF0\ENM0\ELBH=\ETF8000010F40\ELI100\ELLB0\ELM0\EKE0\ENF1\EKS0\END0\ERE0\E%!1\Ec\E[?3;5l\E[?7;8h\E[r\E[m\E>, - sc=\E7, sgr0=\E[m, smacs=^N, smcup=\E[?6l, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7;42m, smul=\E[4m, tbc=\E[3g, - -tek4107|tek4109|tektronix terminals 4107 4109, - OTbs, am, mir, msgr, ul, xenl, xt, - cols#79, it#8, lines#29, - bel=^G, blink=\E%!1\E[5m$<2>\E%!0, - bold=\E%!1\E[1m$<2>\E%!0, clear=\ELZ, cnorm=\E%!0, cr=^M, - cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\E%!3, - dim=\E%!1\E[<0m$<2>\E%!0, ed=\EJ, el=\EK, ht=^I, ind=^J, - kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - rev=\E%!1\E[7m$<2>\E%0, ri=\EI, - rmso=\E%!1\E[m$<2>\E%!0, rmul=\E%!1\E[m$<2>\E%!0, - sgr=\E%%!1\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>\E%%!0, - sgr0=\E%!1\E[m$<2>\E%!0, smso=\E%!1\E[7;5m$<2>\E%!0, - smul=\E%!1\E[4m$<2>\E%!0, -# Tektronix 4207 with sysline. In the ancestral termcap file this was 4107-s; -# see the note attached to tek4207. -tek4207-s|Tektronix 4207 with sysline but no memory, - eslok, hs, - dsl=\E7\E[?6l\E[2K\E[?6h\E8, fsl=\E[?6h\E8, - is1=\E%!1\E[2;32r\E[132D\E[2g\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[J, - is2=\E7\E[?6l\E[2K\E[?6h\E8, - tsl=\E7\E[?6l\E[2K\E[;%i%df, use=tek4107, - -# The 4110 series may be a wonderful graphics series, but they make the 4025 -# look good for screen editing. In the dialog area, you can't move the cursor -# off the bottom line. Out of the dialog area, ^K moves it up, but there -# is no way to scroll. -# -# Note that there is a floppy for free from Tek that makes the -# 4112 emulate the vt52 (use the vt52 termcap). There is also -# an expected enhancement that will use ANSI standard sequences. -# -# 4112 in non-dialog area pretending to scroll. It really wraps -# but vi is said to work (more or less) in this mode. -# -# 'vi' works reasonably well with this entry. -# -otek4112|o4112-nd|otek4113|otek4114|old tektronix 4110 series, - am, - cols#80, lines#34, - bel=^G, clear=\E^L, cr=^M, cub1=^H, cud1=^J, cuu1=^K, ind=^J, - rmcup=\EKA1\ELV1, smcup=\EKA0\ELV0\EMG0, -# The 4112 with the ANSI compatibility enhancement -tek4112|tek4114|tektronix 4110 series, - OTbs, am, db, - cols#80, lines#34, - cbt=\E[Z, clear=\E[2J\E[0;0H, cub1=^H, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\EM, dch1=\E[P, dl1=\E[M, - ed=\E[0J, el=\E[0K, ich1=\E[@, il1=\E[L, - ind=\E7\E[0;0H\E[M\E8, is2=\E3!1, ri=\E7\E[0;0H\E[L\E8, - rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m, -tek4112-nd|4112 not in dialog area, - OTns, - cuu1=^K, use=tek4112, -tek4112-5|4112 in 5 line dialog area, - lines#5, use=tek4112, -# (tek4113: this used to have "", someone's mistake; -# removed ", ", which had been commented out in 8.3. -# Note, the !0 and !1 sequences in /// were -# previously \0410 and \0411 sequences...I don't *think* they were supposed -# to be 4-digit octal -- esr) -tek4113|tektronix 4113 color graphics with 5 line dialog area, - OTbs, am, da, eo, - cols#80, lines#5, - clear=\ELZ, cub1=^H, cud1=^J, cuf1=\ELM1 \ELM0, - flash=\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERB0, - is2=\EKA1\ELL5\ELV0\ELV1, uc=\010\ELM1_\ELM0, -tek4113-34|tektronix 4113 color graphics with 34 line dialog area, - lines#34, - is2=\EKA1\ELLB2\ELV0\ELV1, use=tek4113, -# :ns: left off to allow vi visual mode. APL font (:as=\E^N:/:ae=\E^O:) not -# supported here. :uc: is slow, but looks nice. Suggest setenv MORE -up . -# :vb: needs enough delay to let you see the background color being toggled. -tek4113-nd|tektronix 4113 color graphics with no dialog area, - OTbs, am, eo, - cols#80, it#8, lines#34, - clear=\E^L, cub1=^H, cud1=^J, cuf1=^I, cuu1=^K, - cvvis=\ELZ\EKA0, - flash=\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERB0, - home=\ELF7l\177 @, ht=^I, is2=\ELZ\EKA0\ELF7l\177 @, - ll=\ELF hl @, rmso=\EMT1, smso=\EMT2, uc=\010\EMG1_\EMG0, -# This entry is from Tek. Inc. (Brian Biehl) -# (tek4115: :bc: renamed to :le:, / added based on init string -- esr) -otek4115|Tektronix 4115, - OTbs, am, da, db, eo, - cols#80, it#8, lines#34, - cbt=\E[Z, clear=\E[H\E[2J, - cnorm=\E%!0\ELBG8\E%!1\E[34;1H, cub1=\E[D, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - cvvis=\E%!0\ELBB2\E%!1, dch1=\E[P, dl1=\E[M, ed=\E[J, - el=\E[K, home=\E[H, ht=^I, if=/usr/share/tabset/vt100, - il1=\E[L, - is2=\E%!0\E%\014\ELV0\EKA1\ELBB2\ENU@=\ELLB2\ELM0\ELV1\EKYA?\E%!1\E[<1l\E[?7h\E[?8h\E[34;1H\E[34B\E[m, - kbs=^H, ri=\EM, rmam=\E[?7l, - rmcup=\E%!0\ELBG8\E%!1\E[34;1H\E[J, rmir=\E[4l, - rmkx=\E>, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smam=\E[?7h, - smcup=\E%!0\ELBB2\E%!1, smir=\E[4h, smkx=\E=, smso=\E[7m, - smul=\E[4m, -tek4115|newer tektronix 4115 entry with more ANSI capabilities, - am, xon, - cols#80, lines#34, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, - cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, hpa=\E[%p1%{1}%+%dG, - ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, - il1=\E[L, ind=^J, invis=\E[8m, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, - rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, rmam=\E[?7l, - rmso=\E[m, rmul=\E[m, - sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m, - sgr0=\E[m, smam=\E[?7h, smso=\E[7m, smul=\E[4m, tbc=\E[2g, - vpa=\E[%p1%{1}%+%dd, -# The tek4125 emulates a vt100 incorrectly - the scrolling region -# command is ignored. The following entry replaces with the needed -# , , and ; removes some cursor pad commands that the tek4125 -# chokes on; and adds a lot of initialization for the tek dialog area. -# Note that this entry uses all 34 lines and sets the cursor color to green. -# Steve Jacobson 8/85 -# (tek4125: there were two "\!"s in the is that I replaced with "\E!"; -# commented out, =\E1 because there's no -- esr) -tek4125|tektronix 4125, - lines#34, - csr@, dl1=\E[1M, il1=\E[1L, - is2=\E%\E!0\EQD1\EUX03\EKA\ELBB2\ELCE0\ELI100\ELJ2\ELLB2\ELM0\ELS1\ELX00\ELV1\E%\E!1\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - rc@, sc@, smkx=\E=, use=vt100, - -# From: -# (tek4207: This was the termcap file's entry for the 4107/4207, but SCO -# supplied another, less capable 4107 entry. So we'll use that for 4107 and -# note that if jcoker wasn't confused you may be able to use this one. -# I merged in ,,,, from a BRL entry -- esr) -tek4207|Tektronix 4207 graphics terminal with memory, - am, bw, mir, msgr, ul, xenl, - cols#80, it#8, lines#32, - blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J$<156/>, - cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu1=\EM, dch1=\E[P$<4/>, dl1=\E[M$<3/>, ed=\E[J, - el=\E[K$<5/>, home=\E[H, ht=^I, ich1=\E[@$<4/>, - il1=\E[L$<3/>, ind=\E[S, invis=\E[=6;<5, - is2=\E%!0\ELBP0\E%!1\E[H\E[2g\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[J, - kcub1=\E[D, kcud1=\ED, kcuf1=\E[C, kcuu1=\EM, khome=\E[H, - rev=\E[7m, ri=\E[T, - rmcup=\E[?6h\E%!0\ELBP0\E%!1\E[32;1f, rmso=\E[m, - rmul=\E[m, sgr0=\E[m, smcup=\E[?6l\E[H\E[J, smso=\E[7m, - smul=\E[4m, tbc=\E[1g, - -# From: Thu Oct 31 12:54:27 1985 -# (tek4404: There was a "\!" in that I replaced with "\E!". -# Tab had been given as \E2I,that must be the tab-set capability -- esr) -tek4404|tektronix 4404, - OTbs, - cols#80, it#8, lines#32, - blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, - csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[1M, - ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\E[2I, il1=\E[1L, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, rc=\E8, - rmcup=\E[1;1H\E[0J\E[?6h\E[?1l, rmir=\E[4l, - rmkx=\E[?1h, rmso=\E[27m, rmul=\E[m, sc=\E7, sgr0=\E[m, - smcup=\E%\E!1\E[1;32r\E[?6l\E>, smir=\E[4h, - smkx=\E[?1l, smso=\E[7m, smul=\E[4m, -# Some unknown person wrote: -# I added the is string - straight Unix has ESC ; in the login -# string which sets a ct8500 into monitor mode (aka 4025 snoopy -# mode). The is string here cleans up a few things (but not -# everything). -ct8500|tektronix ct8500, - am, bw, da, db, - cols#80, lines#25, - bel=^G, cbt=\E^I, clear=\E^E, cr=^M, cub1=^H, cud1=^J, - cuf1=\ES, cup=\E|%p1%{32}%+%c%p2%{32}%+%c, cuu1=\ER, - dch1=\E^], dl1=\E^M, ed=\E^U, el=\E^T, ht=^I, ich1=\E^\, - il1=\E^L, ind=^J, is2=\037\EZ\Ek, ri=\E^A, rmso=\E\s, - rmul=\E\s, sgr0=\E\s, smso=\E$, smul=\E!, - -# Tektronix 4205 terminal. -# -# am is not defined because the wrap around occurs not when the char. -# is placed in the 80'th column, but when we are attempting to type -# the 81'st character on the line. (esr: hmm, this is like the vt100 -# version of xenl, perhaps am + xenl would work!) -# -# Bold, dim, and standout are simulated by colors and thus not allowed -# with colors. The tektronix color table is mapped into the RGB color -# table by setf/setb. All colors are reset to factory specifications by oc. -# The cap uses RGB notation to define colors. for arguments 1-3 the -# interval (0-1000) is broken into 8 smaller sub-intervals (125). Each sub- -# interval then maps into pre-defined value. -tek4205|tektronix 4205, - ccc, mir, msgr, - colors#8, cols#80, it#8, lines#30, ncv#49, pairs#63, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[=7;<4m, cbt=\E[Z, - clear=\E[2J\E[H, cr=^M, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch1=\E[1P, dim=\E[=1;<6m, dl1=\E[1M, ech=\E%p1%dX, - ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, home=\E[H, ht=^I, - ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[1L, ind=\ED, - initc=\E%%!0\ETF4%?%p1%{0}%=%t0%e%p1%{1}%=%t4%e%p1%{2}%=%t3%e%p1%{3}%=%t5%e%p1%{4}%=%t2%e%p1%{5}%=%t6%e%p1%{6}%=%t7%e1%;%?%p2%{125}%<%t0%e%p2%{250}%<%tA2%e%p2%{375}%<%tA?%e%p2%{500}%<%tC8%e%p2%{625}%<%tD4%e%p2%{750}%<%tE1%e%p2%{875}%<%tE\:%eF4%;%?%p3%{125}%<%t0%e%p3%{250}%<%tA2%e%p3%{375}%<%tA?%e%p3%{500}%<%tC8%e%p3%{625}%<%tD4%e%p3%{750}%<%tE1%e%p3%{875}%<%tE\:%eF4%;%?%p4%{125}%<%t0%e%p4%{250}%<%tA2%e%p4%{375}%<%tA?%e%p4%{500}%<%tC8%e%p4%{625}%<%tD4%e%p4%{750}%<%tE1%e%p4%{875}%<%tE\:%eF4%;\E%%!1, - invis=\E[=6;<5, is1=\E%!0\ETM1\E%!1\E[m, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\EOA, - kf1=\EOB, kf2=\EOC, kf3=\EOD, kf4=\EP, kf5=\EQ, kf6=\ER, - kf7=\ES, - oc=\E%!0\ETFB000001F4F4F42F40030F404A4C because of a bug in old vi (if stty says you have -# a "newline" style terminal (-crmode) vi figures all it needs is nl -# to get crlf, even if is not ^M.) -# (tty40: removed obsolete ":nl=\EG\EB:", it's just do+cr -- esr) -tty40|ds40|ds40-2|dataspeed40|teletype dataspeed 40/2, - OTbs, xon, - cols#80, lines#24, - clear=\EH$<20>\EJ$<80>, cr=\EG, cub1=^H, cud1=\EB, - cuf1=\EC, cuu1=\E7, dch1=\EP$<50>, dl1=\EM$<50>, - ed=\EJ$<75>, home=\EH$<10>, ht=\E@$<10>, hts=\E1, - ich1=\E\^$<50>, il1=\EL$<50>, ind=\ES$<20>, kbs=^], - kcub1=^H, mc4=^T, mc5=\022$<2000>, ri=\ET$<10>, rmso=\E4, - rs2=\023\ER$<60>, smso=\E3, tbc=\EH\E2$<80>, -tty43|model 43 teletype, - OTbs, am, hc, os, xon, - cols#132, - bel=^G, cr=^M, cub1=^H, cud1=^J, ind=^J, kbs=^H, - -#### Tymshare -# - -# You can add to put this 40-column mode, though I can't -# for the life of me think why anyone would want to. -scanset|sc410|sc415|Tymshare Scan Set, - am, bw, msgr, - cols#80, lines#24, - acsc=j%k4l, sc=^B, smacs=^N, - -#### Volker-Craig (vc) -# -# If you saw a Byte Magazine cover with a terminal on it during the early -# 1980s, it was probably one of these. Carl Helmers liked them because -# they could crank 19.2 and were cheap (that is, he liked them until he tried -# to program one...) -# - -# Missing in vc303a and vc303 descriptions: they scroll 2 lines at a time -# every other linefeed. -vc303|vc103|vc203|volker-craig 303, - OTbs, OTns, am, - cols#80, lines#24, - bel=^G, clear=\014$<40>, cr=^M, cub1=^H, cud1=^J, cuf1=^I, - cuu1=^N, home=\013$<40>, kcub1=^H, kcud1=^J, kcuf1=^I, - kcuu1=^N, ll=\017$<1>W, -vc303a|vc403a|volker-craig 303a, - clear=\030$<40>, cuf1=^U, cuu1=^Z, el=\026$<20>, - home=\031$<40>, kcuf1=^U, kcuu1=^Z, ll=^P, use=vc303, -# (vc404: removed obsolete ":ma=^Z^P^U :" -- esr) -vc404|volker-craig 404, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\030$<40>, cr=^M, cub1=^H, cud1=^J, cuf1=^U, - cup=\020%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, - ed=\027$<40>, el=\026$<20>, home=\031$<40>, ind=^J, - kcub1=^H, kcud1=^J, kcuf1=^U, kcuu1=^Z, -vc404-s|volker-craig 404 w/standout mode, - cud1=^J, rmso=^O, smso=^N, use=vc404, -# From: -# (vc414: merged in cup/dl1/home from an old vc414h-noxon) -vc414|vc414h|Volker-Craig 414H in sane escape mode., - OTbs, am, - cols#80, lines#24, - clear=\E\034$<40>, cud1=\E^K, cuf1=^P, - cup=\E\021%p2%c%p1%c$<40>, cuu1=\E^L, dch1=\E3, - dl1=\E\023$<40>, ed=\E^X, el=\E\017$<10/>, home=\E^R, - ich1=\E\:, il1=\E\032$<40>, kcub1=^H, kcud1=\E^K, kcuf1=^P, - kcuu1=\E^L, kf0=\EA, kf1=\EB, kf2=\EC, kf3=\ED, kf4=\EE, - kf5=\EF, kf6=\EG, kf7=\EH, khome=\E^R, lf0=PF1, lf1=PF2, - lf2=PF3, lf3=PF4, lf4=PF5, lf5=PF6, lf6=PF7, lf7=PF8, - rmso=\E^_, smso=\E^Y, -vc415|volker-craig 415, - clear=^L, use=vc404, - -######## OBSOLETE PERSONAL-MICRO CONSOLES AND EMULATIONS -# - -#### IBM PC and clones -# - -# The pcplot IBM-PC terminal emulation program is really messed up. It is -# supposed to emulate a vt-100, but emulates the wraparound bug incorrectly, -# doesn't support scrolling regions, ignores add line commands, and ignores -# delete line commands. Consequently, the resulting behavior looks like a -# crude adm3a-type terminal. -# Steve Jacobson 8/85 -pcplot|pc-plot terminal emulation program, - xenl@, - csr@, dl@, dl1@, il@, il1@, rc@, sc@, use=vt100, -# KayPro II from Richard G Turner -# I've found that my KayPro II, running MDM730, continues to emulate an -# ADM-3A terminal, just like I was running TERM.COM. On our 4.2 UNIX -# system the following termcap entry works well: -# I have noticed a couple of minor glitches, but nothing I can't work -# around. (I added two capabilities from the BRL entry -- esr) -kaypro|kaypro2|kaypro II, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\032$<1/>, cr=^M, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dl1=\ER, ed=^W, - el=^X, home=^^, il1=\EE, ind=^J, kcud1=^J, kcuf1=^L, kcuu1=^K, - -# From IBM, Thu May 5 19:35:27 1983 -# (ibmpc: commented out =\200R because we don't know -- esr) -ibm-pc|ibm5051|5051|IBM Personal Computer (no ANSI.SYS), - OTbs, am, - cols#80, lines#24, - bel=^G, clear=^L^K, cr=^M^^, cub1=^], cud1=^J, cuf1=^\, - cuu1=^^, home=^K, ind=\n$<10>, kcud1=^_, - -ibmpc|wy60-PC|wyse60-PC|IBM PC/XT running PC/IX, - OTbs, am, bw, eo, hs, km, msgr, ul, - cols#80, it#8, lines#24, - acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\Ec, cr=^M, - cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, ech=\E[%p1%dX, ed=\E[J, el=\E[K, - home=\E[H, hpa=\E[%i%p1%dG, ind=\E[S\E[B, - indn=\E[%p1%dS\E[%p1%dB, invis=\E[30;40m, kbs=^H, - kcbt=^], kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\177, kend=\E[Y, kf1=\240, kf10=\251, kf2=\241, - kf3=\242, kf4=\243, kf5=\244, kf6=\245, kf7=\246, kf8=\247, - kf9=\250, khome=\E[H, kich1=\E[^H, knp=\E[U, kpp=\E[V, - ll=\E[24;1H, nel=^M, rev=\E[7m, ri=\E[T\E[A, - rin=\E[%p1%dT\E[%p1%dA, rmso=\E[m, rmul=\E[m, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m, - sgr0=\E[m, smso=\E[7m, smul=\E[4m, - -#### Apple II -# -# Apple II firmware console first, then various 80-column cards and -# terminal emulators. For two cents I'd toss all these in the UFO file -# along with the 40-column apple entries. -# - -# From: brsmith@umn-cs.cs.umn.edu (Brian R. Smith) via BRL -# 'it#8' tells UNIX that you have tabs every 8 columns. This is a -# function of TIC, not the firmware. -# The clear key on a IIgs will do something like clear-screen, -# depending on what you're in. -appleIIgs|appleIIe|appleIIc|Apple 80 column firmware interface, - OTbs, am, bw, eo, msgr, - cols#80, it#8, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^\, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^], - home=^Y, ht=^I, ind=^W, kbs=^H, kclr=^X, kcub1=^H, kcud1=^J, - kcuf1=^U, kcuu1=^K, kdch1=\177, nel=^M^W, ri=^V, rmso=^N, - smso=^O, -# Apple //e with 80-column card, entry from BRL -# The modem interface is permitted to discard LF (maybe DC1), otherwise -# passing characters to the 80-column firmware via COUT (PR#3 assumed). -# Auto-wrap does not work right due to newline scrolling delay, which also -# requires that you set "stty cr2". -# Note: Cursor addressing is only available via the Pascal V1.1 entry, -# not via the BASIC PR#3 hook. All this nonsense can be avoided only by -# using a terminal emulation program instead of the built-in firmware. -apple2e|Apple //e, - bw, msgr, - cols#80, lines#24, - bel=^G, clear=\014$<100/>, cub1=^H, cud1=^J, cuu1=^_, - ed=\013$<4*/>, el=\035$<4/>, home=^Y, ht=^I, ind=^W, - is2=^R^N, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^U, kcuu1=^K, - nel=\r$<100/>, rev=^O, ri=^V, rmso=^N, rs1=^R^N, sgr0=^N, - smso=^O, -# mcvax!vu44!vu45!wilcke uses the "ap" entry together with Ascii Express Pro -# 4.20, with incoming and outgoing terminals both on 0, emulation On. -apple2e-p|Apple //e via Pascal, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, kbs=^H, kcub1=^H, - kcud1=^J, use=apple2e, -# (ASCII Express) MouseTalk "Standard Apple //" emulation from BRL -# Enable DC3/DC1 flow control with "stty ixon -ixany". -apple-ae|ASCII Express, - OTbs, am, bw, msgr, nxon, xon, - cols#80, it#8, lines#24, - bel=\007$<500/>, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^U, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^], - home=^Y, ind=^W, is2=^R^N, kclr=^X, kcub1=^H, kcud1=^J, - kcuf1=^U, kcuu1=^K, rev=^O, ri=^V, rmso=^N, rs1=^R^N, sgr0=^N, - smso=^O, -appleII|apple ii plus, - OTbs, am, - cols#80, it#8, lines#24, - clear=^L, cnorm=^TC2, cub1=^H, cud1=^J, cuf1=^\, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, cvvis=^TC6, - ed=^K, el=^], flash=\024G1$<200/>\024T1, home=\E^Y, ht=^I, - is2=\024T1\016, kcud1=^J, kcuf1=^U, rmso=^N, sgr0=^N, - smso=^O, -# Originally by Gary Ford 21NOV83 -# From: Fri Oct 11 21:27:00 1985 -apple-80|apple II with smarterm 80 col, - OTbs, am, bw, - cols#80, lines#24, - cbt=^R, clear=\014$<10*/>, cr=\r$<10*/>, cub1=^H, cud1=^J, - cuf1=^\, cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, - ed=\013$<10*/>, el=\035$<10/>, home=^Y, -apple-soroc|apple emulating soroc 120, - am, - cols#80, lines#24, - bel=^G, clear=\E*$<300>, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EY, el=\ET, - home=^^, ind=^J, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, -# From Peter Harrison, Computer Graphics Lab, San Francisco -# ucbvax!ucsfmis!harrison .....uucp -# ucbvax!ucsfmis!harrison@BERKELEY .......ARPA -# "These two work. If you don't have the inverse video chip for the -# Apple with videx then remove the :so: and :se: fields." -# (apple-videx: this used to be called DaleApple -- esr) -apple-videx|Apple with videx videoterm 80 column board with inverse video, - OTbs, am, xenl, - cols#80, it#8, lines#24, - clear=\014$<300/>, cub1=^H, cud1=^J, cuf1=^\, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^], - home=^Y, ht=^I, kcub1=^H, kcud1=^J, kcuf1=^U, khome=^Y, - rmso=^Z2, sgr0=^Z2, smso=^Z3, -# My system [for reference] : Apple ][+, 64K, Ultraterm display card, -# Apple Cat ][ 212 modem, + more all -# controlled by ASCII Express: Pro. -# From Dave Shaver -apple-uterm-vb|Videx Ultraterm for Apple micros with Visible Bell, - OTbs, am, eo, xt, - cols#80, lines#24, - acsc=, clear=^L, cuf1=^\, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^], - flash=^W35^W06, home=^Y, - is2=^V4^W06\017\rVisible Bell Installed.\016\r\n, - rmso=^N, smso=^O, -apple-uterm|Ultraterm for Apple micros, - OTbs, am, eo, xt, - cols#80, lines#24, - acsc=, clear=^L, cuf1=^\, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^], - home=^Y, is2=^V4^W06\016, rmso=^N, smso=^O, -# from trwrba!bwong (Bradley W. Wong): -# -# This entry assumes that you are using an apple with the UCSD Pascal -# language card. SYSTEM.MISCINFO is assumed to be the same as that -# supplied with the standard apple except that screenwidth should be set -# using SETUP to 80 columns. Note that the right arrow in not mapped in -# this termcap entry. This is because that key, on the Apple, transmits -# a ^U and would thus preempt the more useful "up" function of vi. -# -# HMH 2/23/81 -apple80p|80-column apple with Pascal card, - am, bw, - cols#80, lines#24, - clear=^Y^L, cuf1=^\\:, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^], - home=^Y, kcub1=^H, -# -# Apple II+ equipped with Videx 80 column card -# -# Terminfo from ihnp4!ihu1g!djc1 (Dave Christensen) via BRL; -# manually converted by D A Gwyn -# -# DO NOT use any terminal emulation with this data base, it works directly -# with the Videx card. This has been tested with vi 1200 baud and works fine. -# -# This works great for vi, except I've noticed in pre-R2, ^U will scroll back -# 1 screen, while in R2 ^U doesn't. -# For inverse alternate character set add: -# =^O:=^N: -# (apple-v: added it#8 -- esr) -apple-videx2|Apple II+ w/ Videx card (similar to Datamedia h1520), - am, xenl, - cols#80, it#8, lines#24, - bel=\007$<100/>, clear=\014$<16*/>, cr=^M, cub1=^H, - cud1=^J, cuf1=^\, cup=\036%p2%{32}%+%c%p1%{32}%+%c, - cuu1=^_, ed=\013$<16*/>, el=^], home=^Y, ht=\011$<8/>, - ind=^J, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^\, kcuu1=^_, - khome=^Y, rmso=^Z2, smso=^Z3, -apple-videx3|vapple|Apple II with 80 col card, - OTbs, am, - cols#80, lines#24, - clear=\Ev, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=\EA, el=\Ex, home=\EH, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kf0=\EP, kf1=\EQ, kf2=\ER, kf3=\E\s, kf4=\E!, - kf5=\E", kf6=\E#, kf7=\E$, kf8=\E%%, kf9=\E&, khome=\EH, -#From: decvax!cbosgd!cbdkc1!mww Mike Warren via BRL -aepro|Apple II+ running ASCII Express Pro--vt52, - OTbs, - cols#80, lines#24, - clear=\014$<300/>, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, - el=\EK, home=\EH, -# UCSD addition: Yet another termcap from Brian Kantor's Micro Munger Factory -apple-vm80|ap-vm80|apple with viewmax-80, - OTbs, - cols#80, lines#24, - clear=\014$<300/>, cuf1=^\\:, - cup=\036%p1%{32}%+%c%p2%{32}%+%c$<100/>, cuu1=^_, - ed=\013$<300/>, el=^], home=\031$<200/>, - -#### Apple Lisa & Macintosh -# - -# (lisa: changed to -- esr) -lisa|apple lisa console display (black on white), - OTbs, am, eo, msgr, - cols#88, it#8, lines#32, - acsc=jdkclfmenbqattuvvuwsx`, civis=\E[5h, clear=^L, - cnorm=\E[5l, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, - is2=\E>\E[m\014, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, rmacs=\E[10m, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smacs=\E[11m, smso=\E[7m, smul=\E[4m, -liswb|apple lisa console display (white on black), - is2=\E>\E[0;7m\014, rmso=\E[0;7m, rmul=\E[0;7m, - smso=\E[m, smul=\E[4m, use=lisa, - -# lisaterm from ulysses!gamma!epsilon!mb2c!jed (John E. Duncan III) via BRL; -# revised by Ferd Brundick -# -# These entries assume that the 'Auto Wraparound' is enabled. -# Xon-Xoff flow control should also be enabled. -# -# The vt100 uses :rs2: and :rf: rather than :is2:/:tbc:/:hts: because the tab -# settings are in non-volatile memory and don't need to be reset upon login. -# Also setting the number of columns glitches the screen annoyingly. -# You can type "reset" to get them set. -# -lisaterm|Apple Lisa or Lisa/2 running LisaTerm vt100 emulation, - OTbs, OTpt, am, xenl, xon, - OTkn#4, cols#80, it#8, lines#24, vt#3, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, ed=\E[J, - el=\E[K, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOP, kf1=\EOQ, - kf2=\EOR, kf3=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4, rc=\E8, - rev=\E[7m, ri=\EM, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs1=\E>\E[?1l\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r, - sc=\E7, sgr0=\E[m, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, -# Lisaterm in 132 column ("wide") mode. -lisaterm-w|Apple Lisa with Lisaterm in 132 column mode, - cols#132, - kbs=^H, kcub1=^H, kcud1=^J, use=lisaterm, -# Although MacTerminal has insert/delete line, it is commented out here -# since it is much faster and cleaner to use the "lock scrolling region" -# method of inserting and deleting lines due to the MacTerminal implementation. -# Also, the "Insert/delete ch" strings have an extra character appended to them -# due to a bug in MacTerminal V1.1. Blink is disabled since it is not -# supported by MacTerminal. -mac|macintosh|Macintosh with MacTerminal, - xenl, - OTdN#30, - blink@, dch1=\E[P$<7/>, ich1=\E[@$<9/>, ip=$<7/>, use=lisa, -# Lisaterm in 132 column ("wide") mode. -mac-w|macterminal-w|Apple Macintosh with Macterminal in 132 column mode, - cols#132, use=mac, - -# The AppKit Terminal.app descriptions all have names beginning with -# "nsterm". Note that the statusline (-s) versions use the window -# titlebar as a phony status line, and may produce warnings during -# compilation as a result ("tsl uses 0 parameters, expected 1".) Ignore -# these warnings, or even ignore these entries entirely. Apps which -# need to position the cursor or do other fancy stuff inside the status -# line won't work with these entries. They're primarily useful for -# programs like Pine which provide simple notifications in the status -# line. Please note that non-ASCII characters don't work right in the -# status line, since Terminal.app incorrectly interprets their Unicode -# codepoints as MacRoman codepoints. -# -# * Renamed the AppKit Terminal.app entry from "Apple_Terminal" to -# "nsterm" to comply with the name length and case conventions and -# limitations of various software packages [notably Solaris terminfo -# and UNIX.] A single Apple_Terminal alias is retained for -# backwards-compatbility. -# -# * Added function key support (F1-F4). These only work in Terminal.app -# version 51, hopefully the capabilities won't cause problems for people -# using version 41. -# -# * Added "full color" (-c) entries which support the 16-color mode in -# version 51. -# -# * By default, version 51 uses UTF-8 encoding with broken altcharset -# support, so "ASCII" (-7) entries without altcharset support were -# added. - -# nsterm - AppKit Terminal.app -# -# Apple's Mac OS X includes a Terminal.app derived from the old NeXT -# Terminal.app. It is a partial VT100 emulation with some xterm-like -# extensions. This terminfo was written to describe versions 41 -# (shipped with Mac OS X version 10.0) and 51 (shipped with Mac OS X -# version 10.1) of Terminal.app. -# -# Terminal.app runs under the Mac OS X Quartz windowing system (and -# other AppKit-supported windowing systems.) On the Mac OS X machine I -# use, the executable for Terminal.app is: -# /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal -# -# If you're looking for a description of the full-screen system -# console which runs under Apple's Darwin operating system on PowerPC -# platforms, see the "xnuppc" entry instead. -# -# There were no function keys in version 41. In version 51, there are -# four working function keys (F1, F2, F3 and F4.) The function keys -# are included in all of these entries. -# -# It does not support mouse pointer position reporting. Under some -# circumstances the cursor can be positioned using option-click; this -# works by comparing the cursor position and the selected position, -# and simulating enough cursor-key presses to move the cursor to the -# selected position. This technique fails in all but the simplest -# applications. -# -# It provides partial ANSI color support (background colors interacted -# badly with bold in version 41, though, as reflected in :ncv:.) The -# monochrome (-m) entries are useful if you've disabled color support -# or use a monochrome monitor. The full color (-c) entries are useful -# in version 51, which doesn't exhibit the background color bug. They -# also enable an xterm-compatible 16-color mode. -# -# The configurable titlebar is set using xterm-compatible sequences; -# it is used as a status bar in the statusline (-s) entries. Its width -# depends on font sizes and window sizes, but 50 characters seems to -# be the default for an 80x24 window. -# -# The MacRoman character encoding is used for some of the alternate -# characters in the "MacRoman" entries; the "ASCII" (-7) entries -# disable alternate character set support entirely, and the "VT100" -# (-acs) entries rely instead on Terminal.app's own buggy VT100 -# graphics emulation, which seems to think the character encoding is -# the old NeXT charset instead of MacRoman. The "ASCII" (-7) entries -# are useful in Terminal.app version 51, which supports UTF-8 and -# other ASCII-compatible character encodings but does not correctly -# implement VT100 graphics; once VT100 graphics are correctly -# implemented in Terminal.app, the "VT100" (-acs) entries should be -# usable in any ASCII-compatible character encoding [except perhaps -# in UTF-8, where some experts argue for disallowing alternate -# characters entirely.] -# -# Terminal.app reports "vt100" as the terminal type, but exports -# several environment variables which may aid detection in a shell -# profile (i.e. .profile or .login): -# -# TERM=vt100 -# TERM_PROGRAM=Apple_Terminal -# TERM_PROGRAM_VERSION=41 # in Terminal.app version 41 -# TERM_PROGRAM_VERSION=51 # in Terminal.app version 51 -# -# For example, the following Bourne shell script would detect the -# correct terminal type: -# -# if [ :"$TERM" = :"vt100" -a :"$TERM_PROGRAM" = :"Apple_Terminal" ] -# then -# export TERM -# if [ :"$TERM_PROGRAM_VERSION" = :41 ] -# then -# TERM="nsterm" -# else -# TERM="nsterm-c-7" -# fi -# fi -# -# In a C shell derivative, this would be accomplished by: -# -# if ( $?TERM && $?TERM_PROGRAM && $?TERM_PROGRAM_VERSION) then -# if ( :"$TERM" == :"vt100" && :"$TERM_PROGRAM" == :"Apple_Terminal" ) then -# if ( :"$TERM_PROGRAM_VERSION" == :41 ) then -# setenv TERM "nsterm" -# else -# setenv TERM "nsterm-c-7" -# endif -# endif -# endif - -# The '+' entries are building blocks -nsterm+7|AppKit Terminal.app v41+ basic capabilities w/ASCII charset, - am, bw, msgr, xenl, xon, - cols#80, it#8, lines#24, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, - kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kent=\EOM, rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l, - rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m, - sgr0=\E[m\017, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, - u8=\E[?1;2c, u9=\E[c, use=vt100+pfkeys, - -nsterm+acs|AppKit Terminal.app v41+ basic capabilities w/VT100 alternate-charset, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - enacs=\E(B\E)0, rmacs=^O, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - smacs=^N, use=nsterm+7, - -nsterm+mac|AppKit Terminal.app v41+ basic capabilities w/MacRoman alternate-charset, - acsc=0#`\327a\:f\241g\261h#i\360jjkkllmmnno\370p\370q\321rrssttuuvvwwxxy\262z\263{\271|\255}\243~\245+\335-\366\,\334.\377, - enacs=\E(B\E)0, rmacs=^O, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - smacs=^N, use=nsterm+7, - -nsterm+s|AppKit Terminal.app v41+ status-line (window titlebar) support, - hs, - wsl#50, - dsl=\E]2;\007, fsl=^G, tsl=\E]2;, - -nsterm+c|AppKit Terminal.app v51+ full color support (including 16 colors), - op=\E[0m, use=ibm+16color, - -nsterm+c41|AppKit Terminal.app v41 color support, - colors#8, ncv#37, pairs#64, - op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - -# These are different combinations of the building blocks - -# ASCII charset (-7) -nsterm-m-7|nsterm-7-m|AppKit Terminal.app v41+ w/ASCII charset (monochrome), - use=nsterm+7, - -nsterm-m-s-7|nsterm-7-m-s|AppKit Terminal.app v41+ w/ASCII charset (monochrome w/statusline), - use=nsterm+s, use=nsterm+7, - -nsterm-7|AppKit Terminal.app v41+ w/ASCII charset (color), - use=nsterm+c41, use=nsterm+7, - -nsterm-7-c|nsterm-c-7|AppKit Terminal.app v51+ w/ASCII charset (full color), - use=nsterm+c, use=nsterm+7, - -nsterm-s-7|nsterm-7-s|AppKit Terminal.app v41+ w/ASCII charset (color w/statusline), - use=nsterm+s, use=nsterm+c41, use=nsterm+7, - -nsterm-c-s-7|nsterm-7-c-s|AppKit Terminal.app v51+ w/ASCII charset (full color w/statusline), - use=nsterm+s, use=nsterm+c, use=nsterm+7, - -# VT100 alternate-charset (-acs) -nsterm-m-acs|nsterm-acs-m|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome), - use=nsterm+acs, - -nsterm-m-s-acs|nsterm-acs-m-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome w/statusline), - use=nsterm+s, use=nsterm+acs, - -nsterm-acs|AppKit Terminal.app v41+ w/VT100 alternate-charset (color), - use=nsterm+c41, use=nsterm+acs, - -nsterm-c-acs|nsterm-acs-c|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color), - use=nsterm+c, use=nsterm+acs, - -nsterm-s-acs|nsterm-acs-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (color w/statusline), - use=nsterm+s, use=nsterm+c41, use=nsterm+acs, - -nsterm-c-s-acs|nsterm-acs-c-s|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color w/statusline), - use=nsterm+s, use=nsterm+c, use=nsterm+acs, - -# MacRoman charset -nsterm-m|AppKit Terminal.app v41+ w/MacRoman charset (monochrome), - use=nsterm+mac, - -nsterm-m-s|AppKit Terminal.app v41+ w/MacRoman charset (monochrome w/statusline), - use=nsterm+s, use=nsterm+mac, - -nsterm|Apple_Terminal|AppKit Terminal.app v41+ w/MacRoman charset (color), - use=nsterm+c41, use=nsterm+mac, - -nsterm-c|AppKit Terminal.app v51+ w/MacRoman charset (full color), - use=nsterm+c, use=nsterm+mac, - -nsterm-s|AppKit Terminal.app v41+ w/MacRoman charset (color w/statusline), - use=nsterm+s, use=nsterm+c41, use=nsterm+mac, - -nsterm-c-s|AppKit Terminal.app v51+ w/MacRoman charset (full color w/statusline), - use=nsterm+s, use=nsterm+c, use=nsterm+mac, - -# xnuppc - Darwin PowerPC Console (a.k.a. "darwin") -# -# On PowerPC platforms, Apple's Darwin operating system uses a -# full-screen system console derived from a NetBSD framebuffer -# console. It is an ANSI-style terminal, and is not really VT-100 -# compatible. -# -# Under Mac OS X, this is the system console driver used while in -# single-user mode [reachable by holding down Command-S during the -# boot process] and when logged in using console mode [reachable by -# typing ">console" at the graphical login prompt.] -# -# If you're looking for a description of the Terminal.app terminal -# emulator which runs under the Mac OS X Quartz windowing system (and -# other AppKit-supported windowing systems,) see the "nsterm" -# entry instead. -# -# NOTE: Under Mac OS X version 10.1, the default login window does not -# prompt for user name, instead requiring an icon to be selected from -# a list of known users. Since the special ">console" login is not in -# this list, you must make one of two changes in the Login Window -# panel of the Login section of System Prefs to make the special -# ">console" login accessible. The first option is to enable 'Show -# "Other User" in list for network users', which will add a special -# "Other..." icon to the graphical login panel. Selecting "Other..." -# will present the regular graphical login prompt. The second option -# is to change the 'Display Login Window as:' setting to 'Name and -# password entry fields', which replaces the login panel with a -# graphical login prompt. -# -# There are no function keys, at least not in Darwin 1.3. -# -# It has no mouse support. -# -# It has full ANSI color support, and color combines correctly with -# all three supported attributes: bold, inverse-video and underline. -# However, bold colored text is almost unreadable (bolding is -# accomplished using shifting and or-ing, and looks smeared) so bold -# has been excluded from the list of color-compatible attributes -# [using (ncv)]. The monochrome entry (-m) is useful if you use a -# monochrome monitor. -# -# There is one serious bug with this terminal emulation's color -# support: repositioning the cursor onto a cell with non-matching -# colors obliterates that cell's contents, replacing it with a blank -# and displaying a colored cursor in the "current" colors. There is -# no complete workaround at present [other than using the monochrome -# (-m) entries,] but removing the (msgr) capability seemed to help. -# -# The "standout" chosen was simple reverse-video, although a colorful -# standout might be more aesthetically pleasing. Similarly, the bold -# chosen is the terminal's own smeared bold, although a simple -# color-change might be more readable. The color-bold (-b) entries -# uses magenta colored text for bolding instead. The fancy color (-f -# and -f2) entries use color for bold, standout and underlined text -# (underlined text is still underlined, though.) -# -# Apparently the terminal emulator does support a VT-100-style -# alternate character set, but all the alternate character set -# positions have been left blank in the font. For this reason, no -# alternate character set capabilities have been included in this -# description. The console driver appears to be ASCII-only, so (enacs) -# has been excluded [although the VT-100 sequence does work.] -# -# The default Mac OS X and Darwin installation reports "vt100" as the -# terminal type, and exports no helpful environment variables. To fix -# this, change the "console" entry in /etc/ttys from "vt100" to -# "xnuppc-WxH", where W and H are the character dimensions of your -# console (see below.) -# -# The font used by the terminal emulator is apparently one originally -# drawn by Ka-Ping Yee, and uses 8x16-pixel characters. This -# file includes descriptions for the following geometries: -# -# Pixels Characters Entry Name (append -m for monochrome) -# ------------------------------------------------------------------- -# 640x400 80x25 xnuppc-80x25 -# 640x480 80x30 xnuppc-80x30 -# 720x480 90x30 xnuppc-90x30 -# 800x600 100x37 xnuppc-100x37 -# 896x600 112x37 xnuppc-112x37 -# 1024x640 128x40 xnuppc-128x40 -# 1024x768 128x48 xnuppc-128x48 -# 1152x768 144x48 xnuppc-144x48 -# 1280x1024 160x64 xnuppc-160x64 -# 1600x1024 200x64 xnuppc-200x64 -# 1600x1200 200x75 xnuppc-200x75 -# 2048x1536 256x96 xnuppc-256x96 -# -# The basic "xnuppc" entry includes no size information, and the -# emulator includes no reporting capability, so you'll be at the mercy -# of the TTY device (which reports incorrectly on my hardware.) The -# color-bold entries do not include size information. - -# The '+' entries are building blocks -xnuppc+basic|Darwin PowerPC Console basic capabilities, - am, bce, mir, xenl, - it#8, - bold=\E[1m, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dsl=\E]2;\007, ed=\E[J, el=\E[K, - el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=\177, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8, - rev=\E[7m, ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, - rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, - sgr0=\E[m\017, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, use=vt100+keypad, - -xnuppc+c|Darwin PowerPC Console ANSI color support, - colors#8, ncv#32, pairs#64, - op=\E[37;40m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - -xnuppc+b|Darwin PowerPC Console color-bold support, - ncv#32, - bold=\E[35m, - sgr=\E[0%?%p6%t;35%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, - use=xnuppc+basic, - -xnuppc+f|Darwin PowerPC Console fancy color support, - ncv#35, - sgr=\E[0%?%p6%t;35%;%?%p2%t;36;4%;%?%p1%t;33;44%;%p3%t;7%;m, - smso=\E[33;44m, smul=\E[36;4m, use=xnuppc+b, - -xnuppc+f2|Darwin PowerPC Console alternate fancy color support, - ncv#35, - bold=\E[33m, - sgr=\E[0%?%p6%t;33%;%?%p2%t;34%;%?%p1%t;31;47%;%p3%t;7%;m, - smso=\E[31;47m, smul=\E[34m, use=xnuppc+basic, - -# Building blocks for specific screen sizes -xnuppc+80x25|Darwin PowerPC Console 80x25 support (640x400 pixels), - cols#80, lines#25, - -xnuppc+80x30|Darwin PowerPC Console 80x30 support (640x480 pixels), - cols#80, lines#30, - -xnuppc+90x30|Darwin PowerPC Console 90x30 support (720x480 pixels), - cols#90, lines#30, - -xnuppc+100x37|Darwin PowerPC Console 100x37 support (800x600 pixels), - cols#100, lines#37, - -xnuppc+112x37|Darwin PowerPC Console 112x37 support (896x600 pixels), - cols#112, lines#37, - -xnuppc+128x40|Darwin PowerPC Console 128x40 support (1024x640 pixels), - cols#128, lines#40, - -xnuppc+128x48|Darwin PowerPC Console 128x48 support (1024x768 pixels), - cols#128, lines#48, - -xnuppc+144x48|Darwin PowerPC Console 144x48 support (1152x768 pixels), - cols#144, lines#48, - -xnuppc+160x64|Darwin PowerPC Console 160x64 support (1280x1024 pixels), - cols#160, lines#64, - -xnuppc+200x64|Darwin PowerPC Console 200x64 support (1600x1024 pixels), - cols#200, lines#64, - -xnuppc+200x75|Darwin PowerPC Console 200x75 support (1600x1200 pixels), - cols#200, lines#75, - -xnuppc+256x96|Darwin PowerPC Console 256x96 support (2048x1536 pixels), - cols#256, lines#96, - -# These are different combinations of the building blocks - -xnuppc-m|darwin-m|Darwin PowerPC Console (monochrome), - use=xnuppc+basic, - -xnuppc|darwin|Darwin PowerPC Console (color), - use=xnuppc+c, use=xnuppc+basic, - -xnuppc-m-b|darwin-m-b|Darwin PowerPC Console (monochrome w/color-bold), - use=xnuppc+b, - -xnuppc-b|darwin-b|Darwin PowerPC Console (color w/color-bold), - use=xnuppc+b, use=xnuppc+c, - -xnuppc-m-f|darwin-m-f|Darwin PowerPC Console (fancy monochrome), - use=xnuppc+f, - -xnuppc-f|darwin-f|Darwin PowerPC Console (fancy color), - use=xnuppc+f, use=xnuppc+c, - -xnuppc-m-f2|darwin-m-f2|Darwin PowerPC Console (alternate fancy monochrome), - use=xnuppc+f2, - -xnuppc-f2|darwin-f2|Darwin PowerPC Console (alternate fancy color), - use=xnuppc+f2, use=xnuppc+c, - -# Combinations for specific screen sizes -xnuppc-80x25-m|darwin-80x25-m|Darwin PowerPC Console (monochrome) 80x25, - use=xnuppc+80x25, use=xnuppc+basic, - -xnuppc-80x25|darwin-80x25|Darwin PowerPC Console (color) 80x25, - use=xnuppc+c, use=xnuppc+80x25, use=xnuppc+basic, - -xnuppc-80x30-m|darwin-80x30-m|Darwin PowerPC Console (monochrome) 80x30, - use=xnuppc+80x30, use=xnuppc+basic, - -xnuppc-80x30|darwin-80x30|Darwin PowerPC Console (color) 80x30, - use=xnuppc+c, use=xnuppc+80x30, use=xnuppc+basic, - -xnuppc-90x30-m|darwin-90x30-m|Darwin PowerPC Console (monochrome) 90x30, - use=xnuppc+90x30, use=xnuppc+basic, - -xnuppc-90x30|darwin-90x30|Darwin PowerPC Console (color) 90x30, - use=xnuppc+c, use=xnuppc+90x30, use=xnuppc+basic, - -xnuppc-100x37-m|darwin-100x37-m|Darwin PowerPC Console (monochrome) 100x37, - use=xnuppc+100x37, use=xnuppc+basic, - -xnuppc-100x37|darwin-100x37|Darwin PowerPC Console (color) 100x37, - use=xnuppc+c, use=xnuppc+100x37, use=xnuppc+basic, - -xnuppc-112x37-m|darwin-112x37-m|Darwin PowerPC Console (monochrome) 112x37, - use=xnuppc+112x37, use=xnuppc+basic, - -xnuppc-112x37|darwin-112x37|Darwin PowerPC Console (color) 112x37, - use=xnuppc+c, use=xnuppc+112x37, use=xnuppc+basic, - -xnuppc-128x40-m|darwin-128x40-m|Darwin PowerPC Console (monochrome) 128x40, - use=xnuppc+128x40, use=xnuppc+basic, - -xnuppc-128x40|darwin-128x40|Darwin PowerPC Console (color) 128x40, - use=xnuppc+c, use=xnuppc+128x40, use=xnuppc+basic, - -xnuppc-128x48-m|darwin-128x48-m|Darwin PowerPC Console (monochrome) 128x48, - use=xnuppc+128x48, use=xnuppc+basic, - -xnuppc-128x48|darwin-128x48|Darwin PowerPC Console (color) 128x48, - use=xnuppc+c, use=xnuppc+128x48, use=xnuppc+basic, - -xnuppc-144x48-m|darwin-144x48-m|Darwin PowerPC Console (monochrome) 144x48, - use=xnuppc+144x48, use=xnuppc+basic, - -xnuppc-144x48|darwin-144x48|Darwin PowerPC Console (color) 144x48, - use=xnuppc+c, use=xnuppc+144x48, use=xnuppc+basic, - -xnuppc-160x64-m|darwin-160x64-m|Darwin PowerPC Console (monochrome) 160x64, - use=xnuppc+160x64, use=xnuppc+basic, - -xnuppc-160x64|darwin-160x64|Darwin PowerPC Console (color) 160x64, - use=xnuppc+c, use=xnuppc+160x64, use=xnuppc+basic, - -xnuppc-200x64-m|darwin-200x64-m|Darwin PowerPC Console (monochrome) 200x64, - use=xnuppc+200x64, use=xnuppc+basic, - -xnuppc-200x64|darwin-200x64|Darwin PowerPC Console (color) 200x64, - use=xnuppc+c, use=xnuppc+200x64, use=xnuppc+basic, - -xnuppc-200x75-m|darwin-200x75-m|Darwin PowerPC Console (monochrome) 200x75, - use=xnuppc+200x75, use=xnuppc+basic, - -xnuppc-200x75|darwin-200x75|Darwin PowerPC Console (color) 200x75, - use=xnuppc+c, use=xnuppc+200x75, use=xnuppc+basic, - -xnuppc-256x96-m|darwin-256x96-m|Darwin PowerPC Console (monochrome) 256x96, - use=xnuppc+256x96, use=xnuppc+basic, - -xnuppc-256x96|darwin-256x96|Darwin PowerPC Console (color) 256x96, - use=xnuppc+c, use=xnuppc+256x96, use=xnuppc+basic, - -#### Radio Shack/Tandy -# - -# (coco3: This had "ta" used incorrectly as a boolean and bl given as "bl#7". -# I read these as mistakes for ":it#8:" and ":bl=\007:" respectively -- esr) -# From: <{pbrown,ctl}@ocf.berkeley.edu> 12 Mar 90 -coco3|os9LII|Tandy CoCo3 24*80 OS9 Level II, - OTbs, am, - cols#80, it#8, lines#24, - bel=^G, blink=^_", bold=\E\:^A, civis=^E\s, - clear=\014$<5*/>, cnorm=^E!, cub1=^H, cud1=^J, cuf1=^F, - cup=\002%p2%{32}%+%c%p1%{32}%+%c$<2/>, cuu1=^I, - dl1=^_1, ed=^K, el=^D, home=^A, il1=^_0, kcub1=^H, kcud1=^J, - kcuf1=^I, kcuu1=^L, rev=^_\s, rmso=^_!, rmul=^_#, - sgr0=\037!\E\:\0, smso=^_\s, smul=^_", -# (trs2: removed obsolete ":nl=^_:" -- esr) -trs2|trsII|trs80II|Radio Shack Model II using P&T CP/M, - OTbs, am, msgr, - cols#80, it#8, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^_, cuf1=^], - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^^, dl1=^K, ed=^B, - el=^A, home=^F, ht=^I, il1=^D, ind=^J, kbs=^H, kcub1=^\, - kcud1=^_, kcuf1=^], kcuu1=^^, rmso=^O, sgr0=^O, smso=^N, -# From: Kevin Braunsdorf -# (This had extension capabilities -# :BN=\E[?33h:BF=\E[?33l:UC=\E[_ q:BC=\E[\177 q:\ -# :CN=\ERC:CF=\ERc:NR=\ERD:NM=\ER@: -# I also deleted the unnecessary ":kn#2:", ":sg#0:" -- esr) -trs16|trs-80 model 16 console, - OTbs, am, - cols#80, it#8, lines#24, - acsc=jak`l_mbquvewcxs, bel=^G, civis=\ERc, clear=^L, - cnorm=\ERC, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EQ, - dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\EP, il1=\EL, - ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - kf0=^A, kf1=^B, kf2=^D, kf3=^L, kf4=^U, kf5=^P, kf6=^N, kf7=^S, - khome=^W, lf0=f1, lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, - lf7=f8, mc4=\E]+, mc5=\E]=, rmacs=\ERg, rmso=\ER@, sgr0=\ER@, - smacs=\ERG, smso=\ERD, - -#### Atari ST -# - -# From: Simson L. Garfinkel -atari|atari st, - OTbs, am, - cols#80, it#8, lines#25, - clear=\EH\EJ, cub1=\ED, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dl1=\EM, - ed=\EJ, el=\EK, ht=^I, il1=\EL, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, ri=\EI, rmso=\Eq, sgr0=\Eq, smso=\Ep, -# UniTerm terminal program for the Atari ST: 49-line VT220 emulation mode -# From: Paul M. Aoki -uniterm|uniterm49|UniTerm VT220 emulator with 49 lines, - lines#49, - is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;49r\E[49;1H, - use=vt220, -# MiNT VT52 emulation. 80 columns, 25 rows. -# MiNT is Now TOS, the operating system which comes with all Ataris now -# (mainly Atari Falcon). This termcap is for the VT52 emulation you get -# under tcsh/zsh/bash/sh/ksh/ash/csh when you run MiNT in `console' mode -# From: Per Persson , 27 Feb 1996 -st52|Atari ST with VT52 emulation, - am, km, - cols#80, lines#25, - bel=^G, civis=\Ef, clear=\EH\EJ, cnorm=\Ee, cr=^M, cub1=\ED, - cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=\EA, dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL, - ind=^J, ka1=\E#7, ka3=\E#5, kb2=\E#9, kbs=^H, kc1=\E#1, - kc3=\E#3, kclr=\E#7, kcub1=\E#K, kcud1=\E#P, kcuf1=\E#M, - kcuu1=\E#H, kf0=\E#D, kf1=\E#;, kf2=\E#<, kf3=\E#=, kf4=\E#>, - kf5=\E#?, kf6=\E#@, kf7=\E#A, kf8=\E#B, kf9=\E#C, khome=\E#G, - kil1=\E#R, kind=\E#2, kri=\E#8, lf0=f10, nel=^M^J, rc=\Ek, - ri=\EI, rmcup=, rmso=\Eq, rs1=\Ez_\Eb@\EcA, sc=\Ej, sgr0=\Eq, - smcup=\Ee, smso=\Ep, - -#### Commodore Business Machines -# -# Formerly located in West Chester, PA; went spectacularly bust in 1994 -# after years of shaky engineering and egregious mismanagement. Made one -# really nice machine (the Amiga) and boatloads of nasty ones (PET, C-64, -# C-128, VIC-20). The C-64 is said to have been the most popular machine -# ever (most units sold); they can still be found gathering dust in closets -# everywhere. -# - -# From: Kent Polk , 30 May 90 -# Added a few more entries, converted caret-type control sequence (^x) entries -# to '\0xx' entries since a couple of people mentioned losing '^x' sequences. -# Corrections by Ty Sarna , Sat Feb 28 18:55:15 1998 -# -# :as:, :ae: Support for alternate character sets. -# :ve=\E[\040p:vi=\E[\060\040p: cursor visible/invisible. -# :xn: vt100 kludginess at column 80/NEWLINE ignore after 80 cols(Concept) -# This one appears to fix a problem I always had with a line ending -# at 'width+1' (I think) followed by a blank line in vi. The blank -# line tended to disappear and reappear depending on how the screen -# was refreshed. Note that this is probably needed only if you use -# something like a Dnet Fterm with the window sized to some peculiar -# dimension larger than 80 columns. -# :k0=\E9~: map F10 to k0 - could have F0-9 -> k0-9, but ... F10 was 'k;' -# (amiga: removed obsolete :kn#10:, -# also added empty to suppress a warning --esr) -amiga|Amiga ANSI, - OTbs, am, bw, xenl, - cols#80, lines#24, - acsc=, bel=^G, blink=\E[7;2m, bold=\E[1m, cbt=\E[Z, - civis=\E[0 p, clear=\E[H\E[J, cnorm=\E[ p, cub=\E[%p1%dD, - cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S, - indn=\E[%p1%dS, invis=\E[8m, is2=\E[20l, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\E[9~, - kf1=\E[0~, kf2=\E[1~, kf3=\E[2~, kf4=\E[3~, kf5=\E[4~, - kf6=\E[5~, kf7=\E[6~, kf8=\E[7~, kf9=\E[8~, rev=\E[7m, - ri=\E[T, rin=\E[%p1%dT, rmacs=^O, rmso=\E[m, rmul=\E[m, - rs1=\Ec, sgr0=\E[m, smacs=^N, smso=\E[7m, smul=\E[4m, - -# From: Hans Verkuil , 4 Dec 1995 -# (amiga: added empty to suppress a warning. -# I'm told this entry screws up badly with AS225, the Amiga -# TCP/IP package once from Commodore, and now sold by InterWorks.--esr) -amiga-h|Hans Verkuil's Amiga ANSI, - OTbs, bw, msgr, - cols#80, lines#24, - acsc=, bel=^G, blink=\2337;2m, bold=\2331m, cbt=\233Z, - civis=\2330 p, clear=\233H\233J, cnorm=\233 p, cr=^M, - cub=\233%p1%dD, cub1=\233D, cud=\233%p1%dB, cud1=\233B, - cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH, - cuu=\233%p1%dA, cuu1=\233A, dch=\233%p1%dP, dch1=\233P, - dim=\2332m, ech=\233%p1%dP, ed=\233J, el=\233K, flash=^G, - home=\233H, ht=^I, ich=\233%p1%d@, ich1=\233@, ind=\233S, - indn=\233%p1%dS, invis=\2338m, is2=\23320l, kbs=^H, - kcub1=\233D, kcud1=\233B, kcuf1=\233C, kcuu1=\233A, - kdch1=\177, kf0=\2339~, kf1=\2330~, kf2=\2331~, kf3=\2332~, - kf4=\2333~, kf5=\2334~, kf6=\2335~, kf7=\2336~, kf8=\2337~, - kf9=\2338~, nel=\233B\r, rev=\2337m, ri=\233T, - rin=\233%p1%dT, rmacs=^O, rmcup=\233?7h, rmso=\2330m, - rmul=\2330m, rs1=\Ec, sgr0=\2330m, smacs=^N, smcup=\233?7l, - smso=\2337m, smul=\2334m, - -# From: Henning 'Faroul' Peters , 25 Sep 1999 -# -# Pavel Fedin added -# Home Shift+Left -# End Shift+Right -# PgUp Shift+Up -# PgDn Shift+Down -amiga-8bit|Amiga ANSI using 8-bit controls, - acsc=, dl=\233%p1%dM, dl1=\233M, il=\233%p1%dL, il1=\233L, - ind=\204, indn@, kend=\233 @, khome=\233 A, knp=\233S, - kpp=\233T, ri=\215, rin@, use=amiga-h, - -# From: Ruediger Kuhlmann , 18 Jul 2000 -# requires use of appropriate preferences settings. -amiga-vnc|Amiga using VNC console (black on light gray), - am, da, db, msgr, ndscr, - btns#1, colors#16, cols#80, lines#24, lm#0, ncv#0, pairs#256, - bel=^G, blink=\E[7;2m, bold=\E[1m, civis=\E[0p, - clear=\E[H\E[J, cnorm=\E[p\E[>?6l, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[>?6h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[1M, ed=\E[J, el=\E[K, flash=^G, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[1L, ind=\ED, - indn=\E[%p1%dS, invis=\E8m, - is2=\E[>?2;18l\E[>?26;?6;20;>?15;?7;>?22;>?8h, - kbs=^H, kcbt=\233Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kdch1=\177, kf0=\E[9~, kf1=\E[0~, kf2=\E[1~, - kf3=\E[2~, kf4=\E[3~, kf5=\E[4~, kf6=\E[5~, kf7=\E[6~, - kf8=\E[7~, kf9=\E[8~, khlp=\E[?~, khome=\E[44~, kll=\E[45~, - kmous=\E[M, knp=\E[42~, kpp=\E[41~, nel=\EE, oc=\E[0m, - rev=\E[7m, ri=\EM, rin=\E[%p1%dT, rmcup=\E[?7h\E[r\E[J, - rmkx=\E[?1l, rmso=\E[21m, rmul=\E[24m, rs1=\Ec, - rs2=\E[>?2;18l\E[>?26;?6;20;>?15;?7;>?22;>?8h, - setab=\E[%?%p1%{8}%>%t%'F'%p1%+%d%e4%p1%d%;m, - setaf=\E[%?%p1%{8}%>%t%'2'%p1%+%d%e3%p1%d%;m, - sgr0=\E[0m\017\E[30;85;>15m, smcup=\E[?7h, smkx=\E[?1h, - smso=\E[1m, smul=\E[4m, - -# MorphOS on Genesi Pegasos -# By Pavel Fedin -morphos, - acsc=, dl=\233%p1%dM, dl1=\233M, il=\233%p1%dL, il1=\233L, - ind=\204, indn@, kend=\23345~, kf11=\23320~, kf12=\23321~, - khome=\23344~, kich1=\23340~, knp=\23342~, kpp=\23341~, - ri=\215, rin@, use=amiga-h, - -# Commodore B-128 microcomputer from Doug Tyrol -# I'm trying to write a termcap for a commodore b-128, and I'm -# having a little trouble. I've had to map most of my control characters -# to something that unix will accept (my delete-char is a ctrl-t, etc), -# and create some functions (like cm), but thats life. -# The problem is with the arrow keys - right, and up work fine, but -# left deletes the previous character and down I just can't figure out. -# Jove knows what I want, but I don't know what it's sending to me (it -# isn't thats bound to next-line in jove). -# Anybody got any ideas? Here's my termcap. -# DAG -- I changed his "^n" entries to "\n"; see if that works. -# -commodore|b-128|Commodore B-128 micro, - am, bw, - OTdN#20, cols#80, lines#24, pb#150, - OTbc=^H, OTnl=^M, clear=\E\006$<10/>, cr=^M, cud1=^J, - cuf1=^F, cup=\E\013%p1%2d\,%p2%2d\,$<20/>, cuu1=^P, - dch1=\177$<10*/>, dl1=\Ed$<10*/>, el=\Eq$<10/>, - home=\E^E, ht=\011$<5/>, ich1=\E\n$<5/>, il1=\Ei$<10/>, - kcub1=^B, kcud1=^J, kcuf1=^F, kcuu1=^P, khome=\E^E, rmir=, - smir=, - -#### North Star -# -# North Star Advantage from Lt. Fickie via BRL -northstar|North Star Advantage, - OTbs, - cols#80, lines#24, - clear=\004$<200/>, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<1/>, ed=\017$<200/>, - el=\016$<200/>, home=\034\032$<200/>, - -#### Osborne -# -# Thu Jul 7 03:55:16 1983 -# -# As an aside, be careful; it may sound like an anomaly on the -# Osborne, but with the 80-column upgrade, it's too easy to -# enter lines >80 columns! -# -# I've already had several comments... -# The Osborne-1 with the 80-col option is capable of being -# 52, 80, or 104 characters wide; default to 80 for compatibility -# with most systems. -# -# The tab is destructive on the Ozzie; make sure to 'stty -tabs'. -osborne-w|osborne1-w|osborne I in 104-column mode, - msgr, ul, xt, - cols#104, lines#24, - bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, el=\ET, ich1=\EQ, il1=\EE, ind=^J, kcub1=^H, kcud1=^J, - kcuf1=^L, kcuu1=^K, rmso=\E(, rmul=\Em, smso=\E), smul=\El, -# Osborne I from ptsfa!rhc (Robert Cohen) via BRL -osborne|osborne1|osborne I in 80-column mode, - OTbs, am, mir, msgr, ul, xhp, - OTdB#4, cols#80, lines#24, - clear=^Z, cub1=\010$<4>, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\EW$<4/>, dl1=\ER, el=\ET, il1=\EE, is2=^Z, kbs=^H, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, rmir=, rmso=\E), - rmul=\Em, smir=\EQ, smso=\E(, smul=\El, -# -# Osborne Executive definition from BRL -# Similar to tvi920 -# Added by David Milligan and Tom Smith (SMU) -osexec|Osborne executive, - OTbs, am, - OTug#1, cols#80, lines#24, xmc#1, - OTnl=^J, bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET, home=^^, hts=\E1, ich1=\EQ, il1=\EE, - is2=\Eq\Ek\Em\EA\Ex0, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, - kcuu1=^K, kf0=^A@\r, kf1=^AA\r, kf2=^AB\r, kf3=^AC\r, - kf4=^AD\r, kf5=^AE\r, kf6=^AF\r, kf7=^AG\r, kf8=^AH\r, - kf9=^AI\r, rmir=, rmso=\Ek, rmul=\Em, smir=, smso=\Ej, - smul=\El, tbc=\E3, - -#### Console types for obsolete UNIX clones -# -# Coherent, Minix, Venix, and several lesser-known kin were OSs for 8088 -# machines that tried to emulate the UNIX look'n'feel. Coherent and Venix -# were commercial, Minix an educational tool sold in conjunction with a book. -# Memory-segmentation limits and a strong tendency to look like V7 long after -# it was obsolete made all three pretty lame. Venix croaked early. Coherent -# and Minix were ported to 32-bit Intel boxes, only to be run over by a -# steamroller named `Linux' (which, to be fair, traces some lineage to Minix). -# Coherent's vendor, the Mark Williams Company, went belly-up in 1994. There -# are also, I'm told, Minix ports that ran on Amiga and Atari machines and -# even as single processes under SunOS and the Macintosh OS. -# - -# This is the entry provided with minix 1.7.4, with bogus :ri: removed. -minix|minix console (v1.7), - am, xenl, - cols#80, it#8, lines#25, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[0J, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, el=\E[K, home=\E[H, ht=^I, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, - is2=\E[0m, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf0=\E[Y, kf1=\E[V, kf2=\E[U, kf3=\E[T, kf4=\E[S, - kf5=\E[G, khome=\E[H, lf0=End, lf1=PgUp, lf2=PgDn, lf3=Num +, - lf4=Num -, lf5=Num 5, nel=^M^J, rev=\E[7m, ri=\EM, - rmso=\E[0m, rmul=\E[0m, sgr0=\E[0m, smso=\E[7m, smul=\E[4m, -# Corrected Jan 14, 1997 by Vincent Broman -minix-old|minix console (v1.5), - xon, - cols#80, it#8, lines#25, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[0J, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, el=\E[K, home=\E[H, ht=^I, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, - kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf0=\E[Y, kf1=\E[V, kf2=\E[U, kf3=\E[T, kf4=\E[S, kf5=\E[G, - khome=\E[H, nel=^M^J, rev=\E[7m, ri=\EM, rmso=\E[0m, - rmul=\E[0m, sgr0=\E[0m, smso=\E[7m, smul=\E[4m, -# The linewrap option can be specified by editing /usr/include/minix/config.h -# before recompiling the minix 1.5 kernel. -minix-old-am|minix console with linewrap, - am, use=minix-old, - -pc-minix|minix console on an Intel box, - use=klone+acs, use=minix, - -# According to the Coherent 2.3 manual, the PC console is similar -# to a z19. The differences seem to be (1) 25 lines, (2) no status -# line, (3) standout is broken, (4) ins/del line is broken, (5) -# has blinking and bold. -pc-coherent|pcz19|coherent|IBM PC console running Coherent, - am, mir, - cols#80, it#8, lines#25, - bel=^G, clear=\EE, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EN, - ed=\EJ, el=\EK, home=\EH, ht=^I, ind=^J, kbs=^H, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\EH, ri=\EI, rmir=\EO, - rmso=\Eq, sgr0=\Eq, smir=\E@, smso=\Ep, - -# According to the Venix 1.1 manual, the PC console is similar -# to a DEC vt52. Differences seem to be (1) arrow keys send -# different strings, (2) enhanced standout, (3) added insert/delete line. -# Note in particular that it doesn't have automatic margins. -# There are other keys (f1-f10, kpp, knp, kcbt, kich1, kdch1) but they -# not described here because this derives from an old termcap entry. -pc-venix|venix|IBM PC console running Venix, - cols#80, it#8, lines#25, - bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dl1=\EM, - ed=\EJ, el=\EK, ht=^I, il1=\EL, ind=^J, kbs=^H, kcub1=\EK, - kcud1=\EP, kcuf1=\EM, kcuu1=\EH, khome=\EG, ri=\EI, - -#### Miscellaneous microcomputer consoles -# -# If you know anything more about any of these, please tell me. -# - -# The MAI Basic Four computer was obsolete at the end of the 1980s. -# It may be used as a terminal by putting it in "line" mode as seen on -# one of the status lines. -# Initialization is similar to CIT80. will set ANSI mode for you. -# Hardware tabs set by at 8-spacing. Auto line wrap causes glitches so -# wrap mode is reset by . Using =\E[S caused errors so I -# used \ED instead. -# From: bf347@lafn.org (David Lawyer), 28 Jun 1997 -mai|basic4|MAI Basic Four in ansi mode, - am, da, db, mir, msgr, - cols#82, it#8, lines#25, - bel=^G, blink=\E[5m, bold=\E[1m, clear=^]^_, cnorm=\E[?7h, - cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=^X, - cup=\E[%i%p1%d;%p2%dH, cuu1=^Z, cvvis=\E[?7l, dch1=\E[1P, - dl1=\E[M, ed=^_, el=^^, home=^], ht=^I, - if=/usr/share/tabset/vt100, il1=\E[L, ind=\ED, - is2=\E>\E[?1h\E[?7h\E[?5l\017\E(B\E[m\E[20l\E[1;24r\E[24;1H, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, - kf7=\EOV, kf8=\EOW, nel=^M\ED, rc=\E8, rev=\E[7m, ri=\E[T, - rmir=\E[4l, rmso=\E[m, rmul=\E[m, sc=\E7, sgr0=\E[m, - smir=\E[4h, smso=\E[7m, smul=\E[4m, -# basis from Peter Harrison, Computer Graphics Lab, San Francisco -# ucbvax!ucsfmis!harrison ...uucp / ucbvax!ucsfmis!harrison@BERKELEY ...ARPA -# -# On Sat, 7 Aug 1999, Torsten Jerzembeck wrote: -# The Basis 108 was a Apple II clone, manufactured by the "Basis -# Mikrocomputer GmbH" in Munster, Germany (the company still exists today, -# about 1,5 km from where I live, but doesn't build own computers any -# more). A Basis 108 featured a really heavy (cast aluminium?) case, was -# equipped with one or two 5.25" disk drives, had a monochrome and colour -# video output for a TV set or a dedicated monitor and several slots for -# Apple II cards. Basis 108 were quite popular at german schools before -# the advent of the IBM PC. They run, for example, the UCSD Pascal -# development system (which I used even in 1993 to program the steering -# and data recording for our school's experimental solar panel :), Apple DOS -# or CP/M. -# (basis: removed obsolete ":ma=^K^P^R^L^L :nl=5000*^J:" -- esr) -basis|BASIS108 computer with terminal translation table active, - clear=\E*$<300/>, cud1=\n$<5000/>, ed=\EY, el=\ET, kbs=^H, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, rmso=\E), sgr0=\E), - smso=\E(, use=adm3a, -# luna's BMC terminal emulator -luna|luna68k|LUNA68K Bitmap console, - cols#88, lines#46, use=ansi-mini, -megatek|pegasus workstation terminal emulator, - am, os, - cols#83, lines#60, -# The Xerox 820 was a Z80 micro with a snazzy XEROX PARC-derived -# interface (pre-Macintosh by several years) that went nowhere. -xerox820|x820|Xerox 820, - am, - cols#80, lines#24, - bel=^G, clear=1^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=^Q, el=^X, - home=^^, ind=^J, - -#### Videotex and teletext -# - -# \E\:1} switch to te'le'informatique mode (ascii terminal/ISO 6429) -# \E[?3l 80 columns -# \E[?4l scrolling on -# \E[12h local echo off -# \Ec reset: G0 U.S. charset (to get #,@,{,},...), 80 cols, clear screen -# \E)0 G1 DEC set (line graphics) -# -# From: Igor Tamitegama , 18 Jan 1997 -m2-nam|minitel|minitel-2|minitel-2-nam|France Telecom Minitel 2 mode te'le'informatique, - OTbs, eslok, hs, xenl, - cols#80, it#8, lines#24, wsl#72, xmc#0, - acsc=aaffggjjkkllmmnnooqqssttuuvvwwxx, bel=^G, - blink=\E[5m, bold=\E[1m, civis=\E[<1h, clear=\E[H\E[J, - cnorm=\E[<1l, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, flash=^G, fsl=^J, - home=\E[H, ht=^I, il=\E[%p1%dL, il1=\E[L, ind=^J, ip=$<7/>, - is1=\E\:1}\Ec\E[?4l\E[12h, is2=\Ec\E[12h\E)0, - is3=\E[?3l kbs=\010, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[M, kf0=\EOp, - kf1=\EOq, kf10=\EOp, kf2=\EOr, kf3=\EOs, kf4=\EOt, kf5=\EOu, - kf6=\EOv, kf7=\EOw, kf8=\EOx, kf9=\EOy, khome=\E[H, - kich1=\E[4h, kil1=\E[4l, knp=\EOn, kpp=\EOR, ll=\E[24;80H, - mc0=\E[i, nel=^M^J, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, - rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, - rs1=\Ec\E[?4l\E[12h, rs2=\Ec\E)0, sc=\E7, sgr0=\E[m, - smacs=^N, smir=\E[4h, smso=\E[7m, smul=\E[4m, tsl=^_@A, - u6=\E[%i%d;%dR, u7=\E[6n, - -# From: Alexandre Montaron , 18 Jun 1998 -# -minitel1|minitel 1, - am, bw, eslok, hs, hz, msgr, - colors#8, cols#40, lines#24, pairs#8, - acsc=+.\,\,./f0g1, bel=^G, blink=\EH, civis=^T, clear=^L, - cnorm=^Q, cr=^M, cub1=^H, cud1=^J, cuf1=^I, - cup=\037%p1%{65}%+%c%p2%{65}%+%c, cuu1=^K, el=^X, - enacs=^Y, fsl=^J, home=^^, ind=^J, - is2=\E;`ZQ\E\:iC\E\:iE\021, nel=^M^J, op=\EG, - rep=%p1%c\022%p2%{63}%+%c, rev=\E], ri=^K, rmso=\E\\, - setf=\E%?%p1%{1}%=%tD%e%p1%{3}%=%tF%e%p1%{4}%=%tA%e%p1%{6}%=%tC%e%p1%{64}%+%c%;, - sgr=%?%p1%t\E]%;%?%p3%t\E]%;%?%p4%t\EH%;, - sgr0=\EI\E\\, smso=\E], tsl=\037@%p1%{65}%+%c, -# is2=Fnct TE, Fnct MR, Fnct CM et pour finir: curseur ON. -minitel1b|minitel 1-bistandard (in 40cols mode), - mir, - cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC, - cuu=\E[%p1%dA, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el1=\E[1K, il=\E[%p1%dL, il1=\E[L, - is1=\E;iYA\E;jYC, kclr=\E[2J, kctab=^I, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[M, - kel=^X, khome=\E[H, kich1=\E[4h, kil1=\E[L, rmir=\E[4l, - smir=\E[4h, smkx=\E;iYA\E;jYC, use=minitel1, -# posait des problemes (logout en sortant de vi). -minitel1b-80|minitel 1-bistandard (standard teleinformatique), - am@, bw@, hz@, - colors@, cols#80, it#8, pairs@, - blink=\E[5m, bold=\E[1m, civis=\037@A\024\n, - clear=\E[H\E[2J, cnorm=\037@A\021\n, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H, - ht=^I, ind=\ED, is1@, is2@, kent=\EOM, kf0=\EOp, kf1=\EOq, - kf2=\EOr, kf3=\EOs, kf4=\EOt, kf5=\EOu, kf6=\EOv, kf7=\EOw, - kf8=\EOx, kf9=\EOy, nel=\EE, op@, rc=\E8, rep@, rev=\E[7m, - ri=\EM, rmkx@, rmso=\E[27m, rmul=\E[24m, sc=\E7, setf@, - sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m, - sgr0=\E[m, smkx@, smso=\E[7m, smul=\E[4m, use=minitel1b, - -######## OBSOLETE VDT TYPES -# -# These terminals are *long* dead -- these entries are retained for -# historical interest only. - -#### Amtek Business Machines -# - -# (abm80: early versions of this entry apparently had ":se=\E^_:so=\E^Y", -# but these caps were commented out in 8.3; also, removed overridden -# ":do=^J:" -- esr) -abm80|amtek business machines 80, - OTbs, am, bw, - cols#80, lines#24, - cbt=^T, clear=\E^\, cub1=^H, cud1=\E^K, cuf1=^P, - cup=\E\021%p2%{32}%+%c%p1%{32}%+%c, cuu1=\E^L, - dl1=\E^S, ed=\E^X, el=\E^O, home=\E^R, il1=\E^Z, - -#### Bell Labs blit terminals -# -# These were AT&T's official entries. The 5620 FAQ maintained by -# David Breneman has this to say: -# -# Actually, in the beginning was the Jerq, and the Jerq was white with a -# green face, and Locanthi and Pike looked upon the Jerq and said the Jerq -# was good. But lo, upon the horizon loomed a mighty management-type person -# (known now only by the initials VP) who said, the mighty Jerq must stay -# alone, and could not go forth into the world. So Locanthi and Pike put the -# Jerq to sleep, cloned its parts, and the Blit was brought forth unto the -# world. And the Jerq lived the rest of its days in research, but never -# strayed from those paths. -# -# In all seriousness, the Blit was originally known as the Jerq, but when -# it started to be shown outside of the halls of the Bell Labs Research -# organization, the management powers that be decided that the name could -# not remain. So it was renamed to be Blit. This was in late 1981. -# -# (The AT&T 5620 was the commercialized Blit. Its successors were the 630, -# 730, and 730+.) -# - -blit|jerq|blit running teletype rom, - am, eo, ul, xon, - cols#87, it#8, lines#72, - bel=^G, clear=^L, cr=^M, cub1=\ED, cud1=^J, cuf1=\EC, - cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA, - dch=\Ee%p1%{32}%+%c, dch1=\Ee!, dl=\EE%p1%{32}%+%c, - dl1=\EE!, el=\EK, ht=^I, ich=\Ef%p1%{32}%+%c, ich1=\Ef!, - il=\EF%p1%{32}%+%c, il1=\EF!, ind=^J, kbs=^H, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf1=\Ex, kf2=\Ey, kf3=\Ez, - -# (cbblit: here's a BSD termcap that says -- esr) -cbblit|fixterm|blit running columbus code, - cols#88, - ed=\EJ, flash=\E^G, ich1@, mc4=^T, mc5=^R, mc5p=\EP%p1%03d, - rmir=\ER, rmso=\EV!, rmul=\EV", smir=\EQ, smso=\EU!, - smul=\EU", use=blit, - -oblit|ojerq|first version of blit rom, - am, da, db, eo, mir, ul, xon, - cols#88, it#8, lines#72, - bel=^G, clear=^L, cr=^M, cub1=\ED, cud1=^J, cuf1=\EC, - cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA, dch1=\EO, - dl=\Ee%p1%{32}%+%c, dl1=\EE, ed=\EJ, el=\EK, flash=\E^G, - ht=^I, il=\Ef%p1%{32}%+%c, il1=\EF, ind=^J, kbs=^H, rmir=\ER, - smir=\EQ, - -#### Bolt, Beranek & Newman (bbn) -# -# The BitGraph was a product of the now-defunct BBN Computer Corporation. -# The parent company, best known as the architects of the Internet, is -# still around. -# -# Jeff DelPapa writes: -# The bitgraph was a large white box that contained a monochrome bitmap -# display, and a 68000 to run it. You could download code and run it on -# the cpu, it had 128kb (I think) of memory. I used one in the late -# 70's, sure beat a vt100. It had one strange feature tho -- it used -# the cpu to bitblt pixels to scroll, it took longer than the refresh -# rate, and looked like a rubber sheet stretching, then snapping -# upwards. It had everything the early mac had, except a floppy drive a -# small screen (it had a 17" crisp beauty) and a real OS. They (Bolt -# Beranek and Neuman) sold at most a few hundred of them to the real -# world. DOD may have bought more... -# - -# Entries for the BitGraph terminals. The problem -# with scrolling in vi can only be fixed by getting BBN to put -# smarter scroll logic in the terminal or changing vi or padding -# scrolls with about 500 ms delay. -# -# I always thought the problem was related to the terminal -# counting newlines in its input buffer before scrolling and -# then moving the screen that much. Then vi comes along and -# paints lines in on the bottom line of the screen, so you get -# this big white gap. - -bitgraph|bg2.0nv|bg3.10nv|bbn bitgraph 2.0 or later (normal video), - flash=\E[?5h$<200/>\E[?5l, is2=\E>\E[?5l\E[?7h, - use=bg2.0, -bg2.0rv|bg3.10rv|bbn bitgraph 2.0 (reverse video), - flash=\E[?5l$<200/>\E[?5h, is2=\E>\E[?5h\E[?7h, - use=bg2.0, -bg2.0|bg3.10|bbn bitgraph 2.0 or later (no init), - OTbs, xenl, - cols#85, lines#64, - bel=^G, clear=\E[H\E[J$<150>, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A, dl1=\E[M$<2*>, - ed=\E[J$<150>, el=\E[K$<2>, ht=^I, il1=\E[L$<2*>, - ind=\n$<280>, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, lf1=PF1, - lf2=PF2, lf3=PF3, lf4=PF4, rc=\E8, rmkx=\E>, rmso=\E[m, sc=\E7, - sgr0=\E[m, smkx=\E=, smso=\E[7m, - -bg1.25rv|bbn bitgraph 1.25 (reverse video), - flash=\E[?5l$<200/>\E[?5h, is2=\E>\E[?5h\E[?7h, - use=bg1.25, -bg1.25nv|bbn bitgraph 1.25 (normal video), - flash=\E[?5h$<200/>\E[?5l, is2=\E>\E[?5l\E[?7h, - use=bg1.25, -# (bg1.25: I added / based on the init string -- esr) -bg1.25|bbn bitgraph 1.25, - cols#85, lines#64, - bel=^G, clear=\E[H\E[J$<150>, cr=^M, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A, - dl1=\E[M$<2*>, ed=\E[J$<150>, el=\E[K$<2>, ht=^I, - il1=\E[L$<2*>, ind=\n$<280>, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, kf1=\EP, kf2=\EQ, kf3=\ER, kf4=\ES, - lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, ll=\E[64;1H, rmam=\E[?7l, - rmkx=\E>, rmso=\E[m, sgr0=\E[m, smam=\E[?7h, smkx=\E=, - smso=\E[7m, - -#### Bull (bq, dku, vip) -# -# (Adapted for terminfo; AIX extension capabilities translated -- esr) - -#============================================# -# BULL QUESTAR 210 `SDP' terminals emulation # -#============================================# -# -# Description written by R.K.Saunders (Bull Transac) -# -# Modifications written by F. Girard (Bull MTS) -# 19-05-87 V02.00.01 -# 17-12-87 V02.00.02 -# 15-09-89 V02.00.05 -# -# Typical technical selections F1 (modes SDP/ROLL): -# ------------------------------------------------------- -# | 01 02 03 04 05 06 07 08 09 10 | -# | 1010 0011 1010 0110 0110 0001 0100 0000 0000 0000 | -# | | -# | 11 12 13 14 15 16 17 18 19 20 | -# | 0000 0110 100? 0000 0000 0000 0001 0000 0000 0001 | -# | | -# | 21 22 23 24 25 26 27 28 29 30 | -# | 0011 0000 0001 1000 0000 0000 0000 0000 0000 0000 | -# | | -# | 31 32 33 34 35 36 37 38 39 40 | -# | 1010 0011 0000 0000 0000 0000 0000 0000 0000 0000 | -# ------------------------------------------------------- -# Typical firmware identification F5 "etat 6": -# P287.02.04b (AZERTY) -# P297.11.04 (24-pin: 2732) or P798.11.04 (28-pin: 2764) -# P298.03.03 (monochrome) or P374.03.02 (colour) -# -# SM SDP mode (VIP command): ^[[?=h -# RIS (erases screen): ^[c -# DMI disable keyboard: ^[` -# SM double rendition mode: ^[[?>h -# RM solicited status mode: ^[[5l -# RM character mode: ^[[>l -# RM echoplex mode: ^[[12l -# RM column tab mode: ^[[18l -# RM forbid SS2 keyboard mode: ^[[?h\EPY99\:98\E\\, - is2=\E[5;>;12;18;?h\EPY99\:98\E\\, - smir=\E[4h, smso=\E[0;7m, smul=\E[0;4m, tbc=\E[2g, - tsl=\EPY99\:98\E\\\E[0;98v\E[2;7m, -tws2102-sna|dku7102-sna|BULL Questar tws2102 for SNA, - dsl=\E[0;98v\E[2J\E[v, fsl=\E[v, is3=\Eb, tsl=\E[0;98v, - use=tws-generic, -tws2103|xdku|BULL Questar tws2103, - ht=^I, use=tws-generic, -tws2103-sna|dku7103-sna|BULL Questar tws2103 for SNA, - ht=^I, use=tws2102-sna, -dku7102-old|BULL Questar 200 DKU7102 (microcode version < 6), - clear=\E[2J\E[H, cup@, dl@, dl1@, - dsl=\EPY99\:98\E\\\E[0;98v\E[2J\E[H\E[v, el=\E[K\E[m, - il@, il1@, tsl=\EPY99\:98\E\\\E[0;98v\E[H\E[2;7m, - use=tws-generic, -dku7202|BULL Questar 200 DKU7202 (colour/character attributes), - blink=\E[0;2;4m, dim=\E[0;5m, ht=^I, is3=\E[?3h\Eb, - smso=\E[0;4;5;7m, smul=\E[0;2m, use=tws-generic, - -#=========================================================# -# BULL QUESTAR 303 & 310 `DEC VT 320' terminals emulation # -#=========================================================# -# -# Description written by J. Staerck (BULL SA) -# Copyright (c) 1989 BULL SA -#--------------------------------------------------------------------------- -# This entry is used for terminals with vt320 emulation mode -# and following set-up : -# 8 bit ISO Latin Character Set (ISO 8859-1), -# 7 bit Control Characters, -# 80 columns screen. -# Hereafter are some DEC vt terminals' commands. (valid on vt200 and 300) -# They are used in string capabilities with vt220-320 emulation mode. -# In the following DEC definitions, two kinds of terminfo databases are -# provided : -# 1. the first with Command Sequence Introducer starting with escape -# sequence in 7 bits characters ex. ESC [ : 2 chars. in 7-bit mode. -# 2. the second with Command Sequence Introducer starting with escape -# sequence in 8 bits characters ex. ESC [ : 1 char. 'CSI' =x9B. -# Soft Terminal Reset esc [ ! p -# RIS (erases screen): esc c -# DECKPNM numeric keypad mode: esc > -# DECKPAM applic. keypad mode: esc = -# DECSTBM Scrolling region: esc [ r -# SCS select G0 = US: esc ( B -# SCS select G1 = line-graphic: esc ) 0 -# Select 7-bit C1 controls: esc sp F -# Select 8-bit C1 controls: esc sp G -# Select cursor home: esc [ H -# Select erase screen: esc [ J -# SM KAM lock keyboard: esc [ 2 h -# RM KAM unlock keyboard: esc [ 2 l -# SM SRM local echo off: esc [ 1 2 h -# RM SRM local echo on: esc [ 1 2 l -# SM LNM New line : esc [ 2 0 h -# RM LNM return = CR only: esc [ 2 0 l -# SM DECCKM cursor keys mode: esc [ ? 1 h -# RM DECCKM appli. keys mode: esc [ ? 1 l -# SM DECANM ANSI mode on: esc [ ? 2 h -# RM DECANM ANSI mode off: esc [ ? 2 l -# SM DECCOLM 132-column screen: esc [ ? 3 h -# RM DECCOLM 80-column screen: esc [ ? 3 l -# SM DECSCLM Smooth scroll: esc [ ? 4 h -# RM DECSCLM Jump scroll: esc [ ? 4 l -# SM DECSCNM screen light backgr. esc [ ? 5 h -# RM DECSCNM screen dark backgr. esc [ ? 5 l -# SM DECOM move within margins: esc [ ? 6 h -# RM DECOM move outside margins: esc [ ? 6 l -# SM DECAWM auto right margin: esc [ ? 7 h -# RM DECAWM auto right margin: esc [ ? 7 l -# SM DECARM auto repeat: esc [ ? 8 h -# RM DECARM auto repeat: esc [ ? 8 l -# DECSASD Select active main: esc [ 0 $ } -# DECSASD Select active status: esc [ 1 $ } -# DECSSDT Select status none: esc [ 0 $ ~ -# DECSSDT Select status indic.: esc [ 1 $ ~ -# DECSSDT Select status host-wr: esc [ 2 $ ~ -# SM DECTCEM Visible cursor: esc [ ? 2 5 h -# RM DECTCEM Invisible cursor: esc [ ? 2 5 l -# SM DECNCRM 7 bits NCR set: esc [ ? 4 2 h -# RM DECNCRM Multi or ISO latin: esc [ ? 4 2 l -# SM DECNKM numeric keypad mode: esc [ ? 6 6 h -# RM DECNKM numeric keypad appl.: esc [ ? 6 6 l -# SM DECKBUM clavier informatique esc [ ? 6 8 h -# RM DECKBUM clavier bureautique: esc [ ? 6 8 l -# DECSCL vt300 mode 8-bit ctrl: esc [ 6 3 " p -# or DECSCL vt300 mode 8-bit ctrl: esc [ 6 3 ; 0 " p -# or DECSCL vt300 mode 8-bit ctrl: esc [ 6 3 ; 2 " p -# DECSCL vt300 mode 7-bit ctrl: esc [ 6 3 ; 1 " p -# Char. and Line attributes: esc [ Ps ... Ps m -# with: 0 All off, 1 Bold, 4 Underline, 5 Blinking, 7 Reverse -# and : 22 Bold off, 24 Underline off, 25 Blinking off, 27 Reverse off -# - -# This entry covers BQ303, BQ306, BQ310, Q303, Q306, Q310 -bq300|Bull vt320 ISO Latin 1 80 columns terminal, - am, eo, eslok, hs, km, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - dsl=\E[1$}\E[2$~\n\E[0$}, ech=\E[%p1%dX, ed=\E[J, - el=\E[K, el1=\E[1K, enacs=\E(B\E)0, - flash=\E[?5h$<50>\E[?5l, fsl=\E[0$}, home=\E[H, ht=^I, - hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED, - is1=\E[63;1"p\E[2h, - is2=\E[?2h\E[?3l\E[?5l\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l, - is3=\E[0$}\E[?25h\E[2l\E[H\E[J, ka1=\EOw, ka3=\EOy, - kb2=\EOu, kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, - kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, - kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, - khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - krdo=\E[29~, kslt=\E[4~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, - mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m, - ri=\EM, rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?7h, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, rs1=\E[!p, - rs2=\E[?3l, s0ds=\E(B, s1ds=\E(0, sc=\E7, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\E[0m\E(B, smacs=\E(0, smam=\E[?7h, - smcup=\E[?7l\E[?1l\E(B, smir=\E[4h, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, tsl=\E[1$}\E[2$~, -bq300-rv|Bull vt320 reverse 80 columns, - flash=\E[?5l$<50>\E[?5h, - is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l, - use=bq300, -bq300-w|Bull vt320 132 columns, - cols#132, wsl#132, - is2=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l, - rs2=\E[?3h, use=bq300, -bq300-w-rv|Bull vt320 reverse mode 132 columns, - cols#132, wsl#132, - flash=\E[?5l$<50>\E[?5h, - is2=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l, - rs2=\E[?3h, use=bq300, - -# This entry is used for terminals with vt320 emulation mode -# and following set-up : -# 8 bit ISO Latin Character Set (ISO 8859-1), -# 8 bit Control Characters, (CSI coded as x9B for ESC [) -# 80 columns screen. -# Soft Terminal Reset csi ! p -# RIS (erases screen): esc c -# DECKPNM numeric keypad mode: esc > -# DECKPAM applic. keypad mode: esc = -# DECSTBM Scrolling region: esc [ r -# SCS select G0 = US: esc ( B -# SCS select G1 = line-graphic: esc ) 0 -# Select 7-bit C1 controls: esc sp F -# Select 8-bit C1 controls: esc sp G -# Select cursor home: csi H -# Select erase screen: csi J -# SM KAM lock keyboard: csi 2 h -# RM KAM unlock keyboard: csi 2 l -# SM SRM local echo off: csi 1 2 h -# RM SRM local echo on: csi 1 2 l -# SM LNM New line : csi 2 0 h -# RM LNM return = CR only: csi 2 0 l -# SM DECCKM cursor keys mode: csi ? 1 h -# RM DECCKM appli. keys mode: csi ? 1 l -# SM DECANM ANSI mode on: csi ? 2 h -# RM DECANM ANSI mode off: csi ? 2 l -# SM DECCOLM 132-column screen: csi ? 3 h -# RM DECCOLM 80-column screen: csi ? 3 l -# SM DECSCLM Smooth scroll: csi ? 4 h -# RM DECSCLM Jump scroll: csi ? 4 l -# SM DECSCNM screen light backgr. csi ? 5 h -# RM DECSCNM screen dark backgr. csi ? 5 l -# SM DECOM move within margins: csi ? 6 h -# RM DECOM move outside margins: csi ? 6 l -# SM DECAWM auto right margin: csi ? 7 h -# RM DECAWM auto right margin: csi ? 7 l -# SM DECARM auto repeat: csi ? 8 h -# RM DECARM auto repeat: csi ? 8 l -# DECSASD Select active main: csi 0 $ } -# DECSASD Select active status: csi 1 $ } -# DECSSDT Select status none: csi 0 $ ~ -# DECSSDT Select status indic.: csi 1 $ ~ -# DECSSDT Select status host-wr: csi 2 $ ~ -# SM DECTCEM Visible cursor: csi ? 2 5 h -# RM DECTCEM Invisible cursor: csi ? 2 5 l -# SM DECNCRM 7 bits NCR set: csi ? 4 2 h -# RM DECNCRM Multi or ISO latin: csi ? 4 2 l -# DECSCL vt300 mode 8-bit ctrl: csi 6 3 " p -# or DECSCL vt300 mode 8-bit ctrl: csi 6 3 ; 0 " p -# DECSCL vt300 mode 7-bit ctrl: csi 6 3 ; 1 " p -# Char. and Line attributes: csi Ps ... Ps m -# with: 0 All off, 1 Bold, 4 Underline, 5 Blinking, 7 Reverse -# and : 22 Bold off, 24 Underline off, 25 Blinking off, 27 Reverse off -# (bq300-8: ,,,,, to get under 1024 --esr) -bq300-8|Bull vt320 full 8 bits 80 columns, - am, eo, eslok, hs, km, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\2335m, bold=\2331m, civis=\233?25l, - clear=\233H\233J, cnorm=\233?25h, cr=^M, - csr=\233%i%p1%d;%p2%dr, cub=\233%p1%dD, cud=\233%p1%dB, - cuf=\233%p1%dC, cup=\233%i%p1%d;%p2%dH, cuu=\233%p1%dA, - dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, - dsl=\2331$}\2332$~\n\2330$}, ech=\233%p1%dX, ed=\233J, - el=\233K, el1=\2331K, enacs=\E(B\E)0, - flash=\233?5h$<50>\233?5l, fsl=\2330$}, home=\233H, - ht=^I, hts=\EH, ich=\233%p1%d@, il=\233%p1%dL, ind=\ED, - is1=\E[63;2"p\E[2h, - is2=\E[?2h\E[?3l\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l, - is3=\2330$}\233?25h\2332l\233H\233J, ka1=\217w, - ka3=\217y, kb2=\217u, kbs=^H, kc1=\217q, kc3=\217s, - kcub1=\233D, kcud1=\233B, kcuf1=\233C, kcuu1=\233A, - kdch1=\2333~, kf1=\217P, kf10=\23321~, kf11=\23323~, - kf12=\23324~, kf13=\23325~, kf14=\23326~, kf15=\23328~, - kf16=\23329~, kf17=\23331~, kf18=\23332~, kf19=\23333~, - kf2=\217Q, kf20=\23334~, kf3=\217R, kf4=\217S, kf6=\23317~, - kf7=\23318~, kf8=\23319~, kf9=\23320~, kfnd=\2331~, - khlp=\23328~, kich1=\2332~, knp=\2336~, kpp=\2335~, - krdo=\23329~, kslt=\2334~, lf1=pf1, lf2=pf2, lf3=pf3, - lf4=pf4, mc0=\233i, mc4=\2334i, mc5=\2335i, nel=\EE, rc=\E8, - rev=\2337m, ri=\EM, rmacs=^O, rmam=\233?7l, rmcup=\233?7h, - rmir=\2334l, rmkx=\233?1l\E>, rmso=\23327m, rmul=\23324m, - rs1=\E[!p, rs2=\E[?3l, s0ds=\E(B, s1ds=\E(0, sc=\E7, - sgr=\233%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\2330m\E(B, smacs=^N, smam=\233?7h, - smcup=\233?7l\233?1l\E(B, smir=\2334h, smso=\2337m, - smul=\2334m, tbc=\2333g, tsl=\2331$}\2332$~, -bq300-8rv|Bull vt320 8-bit reverse mode 80 columns, - flash=\233?5l$<50>\233?5h, - is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l, - use=bq300-8, -bq300-8w|Bull vt320 8-bit 132 columns, - cols#132, wsl#132, - is2=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l, - rs2=\233?3h, use=bq300-8, -bq300-w-8rv|Bull vt320 8-bit reverse mode 132 columns, - cols#132, wsl#132, - flash=\233?5l$<50>\233?5h, - is2=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l, - rs2=\233?3h, use=bq300-8, - -# This entry is used for terminals with vt320 emulation mode -# a 102 keys keyboard (PC scancode !) and following set-up : -# 8 bit ISO Latin Character Set (ISO 8859-1), -# 7 bit Control Characters, -# 80 columns screen. -bq300-pc|Questar 303 with PC keyboard ISO Latin 1 80 columns, - kbs=^H, kdch1=\E[3~, kend=\E[4~, kf1=\E[17~, kf10=\E[28~, - kf11=\E[29~, kf12=\E[31~, kf13@, kf14@, kf15@, kf16@, kf17@, - kf18@, kf19@, kf2=\E[18~, kf20@, kf3=\E[19~, kf4=\E[20~, - kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, kf9=\E[26~, - kfnd@, khlp@, khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - krdo@, kslt@, lf1@, lf2@, lf3@, lf4@, use=bq300, -bq300-pc-rv|Questar 303 with PC keyboard reverse mode 80 columns, - flash=\E[?5l$<50>\E[?5h, - is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l, - use=bq300-pc, -bq300-pc-w|Questar 303 with PC keyboard 132 columns terminal, - cols#132, wsl#132, - is2=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l, - rs2=\E[?3h, use=bq300-pc, -bq300-pc-w-rv|Questar 303 with PC keyboard reverse mode 132 columns, - cols#132, wsl#132, - flash=\E[?5l$<50>\E[?5h, - is2=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l, - rs2=\E[?3h, use=bq300-pc, -# 8 bit ISO Latin Character Set (ISO 8859-1), -# 8 bit Control Characters, -# 80 columns screen. -bq300-8-pc|Q306-8-pc|Questar 303 with PC keyboard in full 8 bits 80 columns, - kbs=^H, kdch1=\2333~, kend=\2334~, kf1=\23317~, - kf10=\23328~, kf11=\23329~, kf12=\23331~, kf13@, kf14@, - kf15@, kf16@, kf17@, kf18@, kf19@, kf2=\23318~, kf20@, - kf3=\23319~, kf4=\23320~, kf5=\23321~, kf6=\23323~, - kf7=\23324~, kf8=\23325~, kf9=\23326~, kfnd@, khlp@, - khome=\2331~, kich1=\2332~, knp=\2336~, kpp=\2335~, krdo@, - kslt@, lf1@, lf2@, lf3@, lf4@, use=bq300-8, -bq300-8-pc-rv|Questar 303 with PC keyboard full 8 bits reverse mode 80 columns, - flash=\E[?5l$<50>\E[?5h, - is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l, - use=bq300-8-pc, -bq300-8-pc-w|Questar 303 with PC keyboard full 8 bits 132 columns, - cols#132, wsl#132, - is2=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l, - rs2=\E[?3h, use=bq300-8-pc, -bq300-8-pc-w-rv|Questar 303 with PC keyboard full 8 bits reverse 132 columns, - cols#132, wsl#132, - flash=\E[?5l$<50>\E[?5h, - is2=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l, - rs2=\E[?3h, use=bq300-8-pc, - -#======================================================# -# BULL QUESTAR 310 `VIP 7800/8800' terminals emulation # -#======================================================# - -# normal mode, 8 bits, 80 columns terminal. -# RES reset : ^[e -# RIS reset initial state: ^[c -# BLE bell enable ^[h -# BLD bell disable ^[g -# CAMS char. attr. mode set ^[[D -# CAMR char. attr. mode reset ^[[G -# CLR clear ^[` -# KBU keyboard unlock (set) ^[[W -# KBL keyboard lock (reset) ^[[X -# CM character mode (async.) ^[k -# NEP non echoplex mode (by host) ^[l -# EP echoplex mode (by host) ^[m -# IM insert mode set ^[[I -# IM insert mode reset ^[[J -# RMS roll mode set ^[r -# RMR roll mode reset ^[q -# SM78 set mode vip7800 ^[[1q -# SD scroll up (72 lines) ^[[0s -# SD scroll down (72 lines) ^[[1s -# RBM block mode reset ^[[E -# SLS status line set ^[w -# SLR status line reset ^[v -# SLL status line lock ^[O -# LGS Line-graphic mode set ^[G -# LGR Line-graphic mode reset ^[F -# TBC tab clear (at cursor pos.) ^[[g -# TBI tab initialize ^[[N -# TBS tab set (at cursor pos.) ^[p -# PDS print data space ^[[0p -# PHD print host data ^[[3p -# PDT print data terminator ^[[

u -# SSP0 partition 0 set ^[[00u -# SSP1 partition n format 1 ^[[PnPnSTRINGu -# SSP2 partition n format 2 ^[[PnPnSTRINGu -# SSP3 partition n format 3 ^[[PnPnu -# ATR attribute (visual) -# blink : ^[sB -# dim : ^[sL -# hide (blank) : ^[sH -# restore : ^[sR -# inverse video : ^[sI -# prot. : ^[sP -# underline : ^[s_ -# reset : ^{ -# -# This covers the vip7800 and BQ3155-vip7800 -vip|Bull Questar 3155-7800, - am, eslok, hs, km, mc5i, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, wsl#80, - acsc=0pjdkblamcnkqitgufvhwexj, bel=^G, blink=\EsB, - cbt=\E[Z, clear=\E`, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\E[%i%p1%03d%p2%03df, cuu1=\EA, dch1=\E[P, dim=\EsL, - dl1=\E[M, dsl=\Ev, ed=\EJ, el=\EK, - flash=\007$<80>\007$<80>\007, fsl=\EO, home=\EH, ht=^I, - hts=\Ep, ich1=\E[I, ind=^J, invis=\EsH, - is2=\E[00u\E[<>001001024080024080u\E[01u, - is3=\Er\E[W\E`, kHOM=\EH, kLFT=\Eo, kRIT=\Eu, kbs=^H, - kcbt=\E[Z, kclr=\E`, kctab=\E[g, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, kdch1=\E[P, kdl1=\E[M, ked=\EJ, - kel=\EK, kf1=\E0, kf10=\ET, kf11=\E\\, kf12=\E\^, kf13@, kf14@, - kf15@, kf16@, kf17@, kf18@, kf19@, kf2=\E2, kf20@, kf21=\E1, - kf22=\E5, kf23=\E7, kf24=\E9, kf25=\E;, kf26=\E=, kf27=\E?, - kf28=\EQ, kf29=\ES, kf3=\E6, kf30=\EV, kf31=\E], kf32=\E_, - kf4=\E8, kf5=\E\:, kf6=\E<, kf7=\E>, kf8=\EP, kf9=\ER, - khome=\EH, khts=\Ep, kich1=\E[I, kil1=\E[L, kind=\E[0s, - kll=\EH\EA, kri=\E[1s, krmir=\E[J, ktbc=\E[N, lf1=pf1, - lf2=pf2, lf3=pf3, lf4=pf4, ll=\EH\EA, mc0=\E[0p, mc4=\E[, rmacs=\EF, rmir=\E[J, rmso=\EsR, - rmul=\EsR, rs1=\Ec, rs2=\E[G, s0ds=\EF, s1ds=\EG, - sgr0=\EsR\EsU\EF, smacs=\EG, smir=\E[I, smso=\EsI, - smul=\Es_, tbc=\E[N, tsl=\Ew, -# normal screen, 8 bits, 132 columns terminal. -vip-w|vip7800-w|Q310-vip-w|Q310-vip-w-am|Questar 3155-vip7800 wide, - cols#132, wsl#132, - is2=\E[00u\E[<>001001024132024132u\E[01u, use=vip, -vip-H|vip7800-H|Q310-vip-H|Q310-vip-H-am|Questar 3155-vip7800 72 lines, - lines#72, - is2=\E[00u\E[<>001001024080072080u\E[01u, use=vip, -vip-Hw|vip7800-Hw|Q310-vip-Hw|Questar 3155-vip7800 wide 72 lines, - cols#132, lines#72, wsl#132, - is2=\E[00u\E[<>001001024132072132u\E[01u, use=vip, - -#### Chromatics -# - -# I have put the long strings in /. Ti sets up a window -# that is smaller than the screen, and puts up a warning message -# outside the window. Te erases the warning message, puts the -# window back to be the whole screen, and puts the cursor at just -# below the small window. I defined and to really turn -# the cursor on and off, but I have taken this out since I don't -# like the cursor being turned off when vi exits. -cg7900|chromatics|chromatics 7900, - am, - cols#80, lines#40, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^], - cup=\001M%p2%d\,%p1%d\,, cuu1=^K, dch1=^A<1, dl1=^A<2, - ed=^Al, el=^A`, home=^\, ich1=^A>1, il1=^A>2, ind=^J, ll=^A|, - rmcup=\001W0\,40\,85\,48\,\014\001W0\,0\,85\,48\,\001M0\,40\,, - rmso=\001C1\,\001c2\,, - smcup=\001P0\001O1\001R1\001C4\,\001c0\,\014\001M0\,42\,WARNING DOUBLE ENTER ESCAPE and \025\001C1\,\001c2\,\001W0\,0\,79\,39\,, - smso=\001C4\,\001c7\,, uc=\001\001_\001\0, - -#### Computer Automation -# - -ca22851|computer automation 22851, - am, - cols#80, lines#24, - bel=^G, clear=\014$<8>, cr=^M, cub1=^U, cud1=^J, cuf1=^I, - cup=\002%i%p1%c%p2%c, cuu1=^V, ed=^\, el=^], home=^^, ind=^J, - kcub1=^U, kcud1=^W, kcuu1=^V, khome=^^, - -#### Cybernex -# - -# This entry has correct padding and the undocumented "ri" capability -cyb83|xl83|cybernex xl-83, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\014$<62>, cr=^M, cub1=^H, cud1=^J, cuf1=^I, - cup=\027%p1%{32}%+%c%p2%{32}%+%c, cuu1=^N, - ed=\020$<62>, el=\017$<3>, home=^K, ind=^J, kcub1=^H, - kcud1=^J, kcuf1=^I, kcuu1=^N, ri=^N, -# (mdl110: removed obsolete ":ma=^Z^P:" and overridden ":cd=145^NA^W:" -- esr) -cyb110|mdl110|cybernex mdl-110, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\030$<70>, cr=^M, cub1=^H, cud1=^J, cuf1=^U, - cup=\020%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, - dch1=\016A\036$<3.5>, dl1=\016A\016\036$<40>, - ed=\016@\026$<6>, el=\016@\026$<145>, home=^Y, - ht=\011$<43>, ich1=\016A\035$<3.5>, - il1=\016A\016\035$<65>, ind=^J, rmso=^NG, smso=^NF, - -#### Datapoint -# -# Datapoint is gone. They used to be headquartered in Texas. -# They created ARCnet, an Ethernet competitor that flourished for a while -# in the early 1980s before 3COM got wise and cut its prices. The service -# side of Datapoint still lives (1995) in the form of Intelogic Trace. -# - -dp3360|datapoint|datapoint 3360, - OTbs, am, - cols#82, lines#25, - bel=^G, clear=^]^_, cr=^M, cub1=^H, cud1=^J, cuf1=^X, cuu1=^Z, - ed=^_, el=^^, home=^], ind=^J, - -# From: Jan Willem Stumpel , 11 May 1997 -# The Datapoint 8242 Workstation was sold at least between 1985 -# and 1989. To make the terminal work with this entry, press -# CONTROL-INT-INT to take the terminal off-line, and type (opt). -# Set the options AUTO ROLL, ROLL DN, and ESC KBD on, and AUTO -# CR/LF off. Use control-shift-[] as escape key, control-I as tab, -# shift-F1 to shift-F5 as F6 to F10 (unshifted F1 to F5 are in -# fact unusable because the strings sent by the terminal conflict -# with other keys). -# The terminal is capable of displaying "box draw" characters. -# For each graphic character you must send 2 ESC's (\E\E) followed -# by a control character as follows: -# character meaning -# ========= ======= -# ctrl-E top tee -# ctrl-F right tee -# ctrl-G bottom tee -# ctrl-H left tee -# ctrl-I cross -# ctrl-J top left corner -# ctrl-K top right corner -# ctrl-L bottom left corner -# ctrl-M bottom right corner -# ctrl-N horizontal line -# ctrl-O vertical line -# Unfortunately this cannot be fitted into the termcap/terminfo -# description scheme. -dp8242|datapoint 8242, - msgr, - cols#80, lines#25, - bel=^G, civis=^Y, clear=\025\E\004\027\030, cnorm=^X, - cr=^M, cub1=^H, cud1=^J, - cup=\011%p2%'\0'%+%c%p1%'\0'%+%c, dl1=\E^Z, ed=^W, el=^V, - home=^U, ht=^I, il1=\E^T, ind=^C, - is1=\E\014\E\016\0\230\0\317\025\027\030\E\004, - kbs=^H, kcub1=^D, kcud1=^B, kcuf1=^F, kcuu1=^E, kf1=^G\Ee, - kf10=\EK\Ea, kf2=^I\Ed, kf3=^J\Ec, kf4=^J\Eb, kf5=^S\Ea, - kf6=\EO\Ee, kf7=\EN\Ed, kf8=\EM\Ec, kf9=\EL\Eb, nel=^M^J, - rep=\E\023%p1%c%p2%c, ri=^K, rmso=\E^D, rmul=\E^D, - rs1=\E\014\E\016\0\230\0\317\025\027\030\E\004, - smso=\E^E, smul=\E^F, - wind=\E\014\E\016%p1%'\0'%+%c%p2%'\0'%+%c%p3%'\0'%+%c%p4%'\0'%+%c\025, - -#### DEC terminals (Obsolete types: DECwriter and vt40/42/50) -# -# These entries are DEC's official terminfos for its older terminals. -# Contact Bill Hedberg of Terminal Support -# Engineering for more information. Updated terminfos and termcaps -# are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps. -# - -gt40|dec gt40, - OTbs, os, - cols#72, lines#30, - bel=^G, cr=^M, cub1=^H, cud1=^J, -gt42|dec gt42, - OTbs, os, - cols#72, lines#40, - bel=^G, cr=^M, cub1=^H, cud1=^J, -vt50|dec vt50, - OTbs, - cols#80, lines#12, - bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cuu1=\EA, ed=\EJ, el=\EK, ht=^I, ind=^J, -vt50h|dec vt50h, - OTbs, - cols#80, lines#12, - bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, - el=\EK, ht=^I, ind=^J, ri=\EI, -# (vt61: there's a BSD termcap that claims , ) -vt61|vt-61|vt61.5|dec vt61, - cols#80, lines#24, - bel=^G, clear=\EH\EJ$<120>, cr=\r$<20>, cub1=^H, cud1=^J, - cuf1=\EC$<20>, cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<20>, - cuu1=\EA$<20>, ed=\EJ$<120>, el=\EK$<70>, ht=^I, - ind=\n$<20>, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - ri=\E$<20>I, - -# The gigi does standout with red! -# (gigi: I added / based on the init string, corrected cub1 -- esr) -gigi|vk100|dec gigi graphics terminal, - OTbs, am, xenl, - cols#84, lines#24, - bel=^G, clear=\E[H\E[2J, cr=^M, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, ed=\E[J, - el=\E[K, ht=^I, ind=^J, - is2=\E>\E[?3l\E[?4l\E[?5l\E[?20l\E[?7h\E[?8h, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, ri=\EM, - rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7;31m, - smul=\E[4m, - -# DEC PRO-350 console (VT220-style). The 350 was DEC's attempt to produce -# a PC differentiated from the IBM clones. It was a total, ludicrous, -# grossly-overpriced failure (among other things, DEC's OS didn't include -# a format program, so you had to buy pre-formatted floppies from DEC at -# a hefty premium!). -pro350|decpro|dec pro console, - OTbs, - cols#80, it#8, lines#24, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - clear=\EH\EJ, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, - el=\EK, home=\EH, ht=^I, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kf0=\EE, kf1=\EF, kf2=\EG, kf3=\EH, kf4=\EI, - kf5=\EJ, kf6=\Ei, kf7=\Ej, khome=\EH, ri=\EI, rmacs=\EG, - rmso=\E^N, rmul=\E^C, smacs=\EF, smso=\E^H, smul=\E^D, - -dw1|decwriter I, - OTbs, hc, os, - cols#72, - bel=^G, cr=^M, cub1=^H, cud1=^J, ind=^J, -dw2|decwriter|dw|decwriter II, - OTbs, hc, os, - cols#132, - bel=^G, cr=^M, cub1=^H, cud1=^J, ind=^J, kbs=^H, -# \E(B Use U.S. character set (otherwise # => british pound !) -# \E[20l Disable "linefeed newline" mode (else puts \r after \n,\f,\v) -# \E[w 10 char/in pitch -# \E[1;132 full width horizontal margins -# \E[2g clear all tab stops -# \E[z 6 lines/in -# \E[66t 66 lines/page (for \f) -# \E[1;66r full vertical page can be printed -# \E[4g clear vertical tab stops -# \E> disable alternate keypad mode (so it transmits numbers!) -# \E[%i%p1%du set tab stop at column %d (origin == 1) -# (Full syntax is \E[n;n;n;n;n;...;nu where each 'n' is -# a tab stop) -# -# The dw3 does standout with wide characters. -# -dw3|la120|decwriter III, - OTbs, hc, os, - cols#132, - bel=^G, cr=^M, cub1=^H, cud1=^J, ht=^I, ind=^J, - is1=\E(B\E[20l\E[w\E[0;132s\E[2g\E[z\E[66t\E[1;66r\E[4g\E>, - is2=\E[9;17;25;33;41;49;57;65;73;81;89;97;105;113;121;129u\r, - kbs=^H, rmso=\E[w, sgr0=\E[w, smso=\E[6w, -dw4|decwriter IV, - OTbs, am, hc, os, - cols#132, - bel=^G, cr=^M, cub1=^H, cud1=^J, ht=^I, ind=^J, is2=\Ec, kbs=^H, - kf0=\EOP, kf1=\EOQ, kf2=\EOR, kf3=\EOS, - -# These aren't official -ln03|dec ln03 laser printer, - hc, - cols#80, lines#66, - bel=^G, cr=^M, cud1=^J, hd=\EK, ht=^I, hu=\EL, ind=^J, nel=^M^J, - rmso=\E[22m, rmul=\E[24m, sgr0=\E[m, smso=\E[1m, - smul=\E[4m, -ln03-w|dec ln03 laser printer 132 cols, - cols#132, - bel=^G, cr=^M, cud1=^J, ht=^I, ind=^J, kbs=^H, kcub1=^H, - kcud1=^J, nel=^M^J, use=ln03, - -#### Delta Data (dd) -# - -# Untested. The cup sequence is hairy enough that it probably needs work. -# The idea is ctrl(O), dd(row), dd(col), where dd(x) is x - 2*(x%16) + '9'. -# There are BSD-derived termcap entries floating around for this puppy -# that are *certainly* wrong. -delta|dd5000|delta data 5000, - OTbs, am, - cols#80, lines#27, - bel=^G, clear=^NR, cub1=^H, cud1=^J, cuf1=^Y, - cup=\017%p1%p1%{16}%m%{2}%*%-%{57}%+%c%p2%p2%{16}%m%{2}%*%-%{57}%+%c, - cuu1=^Z, dch1=^NV, el=^NU, home=^NQ, ind=^J, - -#### Digital Data Research (ddr) -# - -# (ddr: I added / based on the init string -- esr) -ddr|rebus3180|ddr3180|Rebus/DDR 3180 vt100 emulator, - OTbs, am, xenl, - cols#80, it#8, lines#24, vt#3, - blink=\E[5m$<2/>, bold=\E[1m$<2/>, - clear=\E[H\E[2J$<50/>, csr=\E[%i%p1%d;%p2%dr, cub1=^H, - cud1=^J, cuf1=\E[C$<2/>, cup=\E[%i%p1%d;%p2%dH$<5/>, - cuu1=\E[A$<2/>, ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H, - ht=^I, ind=\ED$<5/>, is2=\E[1;24r\E[24;1H, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m$<2/>, - rf=/usr/share/tabset/vt100, ri=\EM$<5/>, rmam=\E[7l, - rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m$<2/>, - rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr0=\E[m$<2/>, smam=\E[7l, smkx=\E[?1h\E=, smso=\E[7m, - smul=\E[4m$<2/>, - -#### Evans & Sutherland -# - -# Jon Leech tells us: -# The ps300 was the Evans & Sutherland Picture System 300, a high -# performance 3D vector graphics system with a bunch of specialized hardware. -# Approximate date of release was 1982 (early 80s, anyway), and it had several -# evolutions including (limited) color versions such as the PS330C. PS300s -# were effectively obsolete by the late 80s, replaced by raster graphics -# systems, although specialized applications like molecular modelling -# hung onto them for a while longer. AFAIK all E&S vector graphics systems -# are out of production, though of course E&S is very much alive (in 1996). -# (ps300: changed ":pt@:" to "it@" -- esr) -# -ps300|Picture System 300, - xt, - it@, - rmso@, rmul@, smso@, smul@, use=vt100, - -#### General Electric (ge) -# - -terminet1200|terminet300|tn1200|tn300|terminet|GE terminet 1200, - OTbs, hc, os, - cols#120, - bel=^G, cr=^M, cud1=^J, ind=^J, - -#### Heathkit/Zenith -# - -# Here is a description of the H19 DIP switches: -# -# S401 -# 0-3 = baud rate as follows: -# -# 3 2 1 0 -# --- --- --- --- -# 0 0 1 1 300 baud -# 0 1 0 1 1200 baud -# 1 0 0 0 2400 baud -# 1 0 1 0 4800 baud -# 1 1 0 0 9600 baud -# 1 1 0 1 19.2K baud -# -# 4 = parity (0 = no parity) -# 5 = even parity (0 = odd parity) -# 6 = stick parity (0 = normal parity) -# 7 = full duplex (0 = half duplex) -# -# S402 -# 0 = block cursor (0 = underscore cursor) -# 1 = no key click (0 = keyclick) -# 2 = wrap at end of line (0 = no wrap) -# 3 = auto LF on CR (0 = no LF on CR) -# 4 = auto CR on LF (0 = no CR on LF) -# 5 = ANSI mode (0 = VT52 mode) -# 6 = keypad shifted (0 = keypad unshifted) -# 7 = 50Hz refresh (1 = 60Hz refresh) -# -# Factory Default settings are as follows: -# 7 6 5 4 3 2 1 0 -# S401 1 0 0 0 1 1 0 0 -# S402 0 0 0 0 0 0 0 0 -# (h19: I added / based on the init string; -# also added empty to suppress a tic warning -- esr) -h19-a|h19a|heath-ansi|heathkit-a|heathkit h19 ansi mode, - OTbs, am, mir, msgr, - cols#80, it#8, lines#24, - acsc=, bel=^G, clear=\E[2J, cnorm=\E[>4l, cr=^M, cub1=^H, - cud1=\E[1B, cuf1=\E[1C, cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[1A, cvvis=\E[>4h, dch1=\E[1P, dl1=\E[1M$<1*>, - ed=\E[J, el=\E[K, home=\E[H, ht=^I, il1=\E[1L$<1*>, ind=^J, - is2=\E<\E[>1;2;3;4;5;6;7;8;9l\E[m\E[11m\E[?7h, - kbs=^H, kcub1=\E[1D, kcud1=\E[1B, kcuf1=\E[1C, kcuu1=\E[1A, - kf1=\EOS, kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP, - kf7=\EOQ, kf8=\EOR, khome=\E[H, lf6=blue, lf7=red, lf8=white, - ri=\EM, rmacs=\E[11m, rmam=\E[?7l, rmir=\E[4l, rmso=\E[m, - smacs=\E[10m, smam=\E[?7h, smir=\E[4h, smso=\E[7m, -h19-bs|heathkit w/keypad shifted, - rmkx=\Eu, smkx=\Et, use=h19-b, -h19-us|h19us|h19-smul|heathkit w/keypad shifted/underscore cursor, - rmkx=\Eu, smkx=\Et, use=h19-u, -# (h19: merged in from BSDI hp19-e entry>; -# also added empty to suppress a tic warning --esr) -# From: Tim Pierce , 23 Feb 1998 -# Tim tells us that: -# I have an old Zenith-19 terminal at home that still gets a lot of use. -# This terminal suffers from the same famous insert-mode padding lossage -# that has been acknowledged for the Z29 terminal. Emacs is nearly -# unusable on this box, since even a half-scroll up or down the window -# causes flaming terminal death. -# -# On the Z19, the only way I have found around this problem is to remove -# the :al: and :dl: entries entirely. No amount of extra padding will -# help (I have tried up to 20000). Removing and -# makes Emacs a little slower, but it remains in the land of the living. -# Big win. -h19|heath|h19-b|heathkit|heath-19|z19|zenith|heathkit h19, - OTbs, am, eslok, hs, mir, msgr, - cols#80, it#8, lines#24, - acsc=, bel=^G, clear=\EE, cnorm=\Ey4, cr=^M, cub1=^H, cud1=\EB, - cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, - cvvis=\Ex4, dch1=\EN, ed=\EJ, el=\EK, fsl=\Ek\Ey5, home=\EH, - ht=^I, ind=^J, ip=<1.5/>, kbs=^H, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV, - kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, khome=\EH, lf6=blue, - lf7=red, lf8=white, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq, - smacs=\EF, smir=\E@, smso=\Ep, - tsl=\Ej\Ex5\EY8%p1%{32}%+%c\Eo\Eo, -h19-u|heathkit with underscore cursor, - cnorm@, cvvis@, use=h19-b, -h19-g|h19g|heathkit w/block cursor, - cnorm=\Ex4, use=h19-b, -alto-h19|altoh19|altoheath|alto-heath|alto emulating heathkit h19, - lines#60, - dl1=\EM, il1=\EL, use=h19, - -# The major problem with the Z29 is that it requires more padding than the Z19. -# -# The problem with declaring an H19 to be synonymous with a Z29 is that -# it needs more padding. It especially loses if a program attempts -# to put the Z29 into insert mode and insert text at 9600 baud. It -# even loses worse if the program attempts to insert tabs at 9600 -# baud. Adding padding to text that is inserted loses because in -# order to make the Z29 not die, one must add so much padding that -# whenever the program tries to use insert mode, the effective -# rate is about 110 baud. -# -# What program would want to put the terminal into insert mode -# and shove stuff at it at 9600 baud you ask? -# -# Emacs. Emacs seems to want to do the mathematically optimal -# thing in doing a redisplay rather than the practical thing. -# When it is about to output a line on top of a line that is -# already on the screen, instead of just killing to the end of -# the line and outputting the new line, it compares the old line -# and the new line and if there are any similarities, it -# constructs the new line by deleting the text on the old line -# on the terminal that is already there and then inserting new -# text into the line to transform it into the new line that is -# to be displayed. The Z29 does not react kindly to this. -# -# But don't cry for too long.... There is a solution. You can make -# a termcap entry for the Z29 that says the Z29 has no insert mode. -# Then Emacs cannot use it. "Oh, no, but now inserting into a -# line will be really slow", you say. Well there is a sort of a -# solution to that too. There is an insert character option on -# the Z29 that will insert one character. Unfortunately, it -# involves putting the terminal into ansi mode, inserting the -# character, and changing it back to H19 mode. All this takes 12 -# characters. Pretty expensive to insert one character, but it -# works. Either Emacs doesn't try to use its inserting hack when -# it's only given an insert character ability or the Z29 doesn't -# require padding with this (the former is probably more likely, -# but I haven't checked it out). -# (z29: added empty to suppress a tic warning, merged in -# status line capabilities from BRL entry --esr) -z29|zenith29|z29b|zenith z29b, - OTbs, OTpt, am, eslok, hs, mir, msgr, - OTkn#10, cols#80, lines#24, - OTbc=\ED, acsc=, bel=^G, cbt=\E-, clear=\EE$<14>, cnorm=\Ey4, - cr=^M, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\E$<1>A, - cvvis=\Ex4, dch1=\EN$<0.1*>, dl1=\EM$<1/>, dsl=\Ey1, - ed=\EJ$<14>, el=\EK$<1>, fsl=\Ek\Ey5, home=\EH, ht=^I, - ich1=\E<\E[1@\E[?2h$<1>, il1=\EL$<1/>, ind=\n$<2>, - is2=\E<\E[?2h\Ev, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kf0=\E~, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV, - kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\E0I, khome=\EH, - lf0=home, ri=\EI$<2/>, rmacs=\EF, rmir=\EO, rmso=\Eq, - rmul=\Es0, smacs=\EG, smir=\E@, smso=\Ep, smul=\Es8, - tsl=\Ej\Ex5\Ex1\EY8%+ \Eo, -# z29 in ansi mode. Assumes that the cursor is in the correct state, and that -# the world is stable. causes the terminal to be reset to the state -# indicated by the name. kc -> key click, nkc -> no key click, uc -> underscore -# cursor, bc -> block cursor. -# From: Mike Meyers -# (z29a: replaced nonexistent befause -# looks vt100-compatible -- esr) -z29a|z29a-kc-bc|h29a-kc-bc|heath/zenith 29 in ansi mode, - OTbs, OTpt, am, eslok, hs, mir, msgr, - OTkn#10, cols#80, it#8, lines#24, - OTbc=\ED, bel=^G, blink=\E[5m, bold=\E[2m, clear=\E[2J, - cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, dl=\E[%p1%dM, - dsl=\E[>1l, ed=\E[J, el=\E[K, fsl=\E[u\E[>5l, home=\E[H, - ht=^I, hts=\EH, if=/usr/share/tabset/vt100, il=\E[%p1%dL, - ind=\ED, kbs=^H, kclr=\E[J, kcub1=\EOD, kcud1=\EOB, - kcuf1=\EOC, kcuu1=\EOA, ked=\E[J, kf0=\E[~, kf1=\EOS, - kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP, kf7=\EOQ, - kf8=\EOR, kf9=\EOX, khome=\E[H, lf0=help, mc0=\E#7, - nel=^M\ED, rc=\E[r, rev=\E[7m, ri=\EM, rmcup=\E[?7h, - rmso=\E[m, rmul=\E[m, - rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>4h\E[>1;2;3;5;6;7;8;9l\E[m\E[11m, - sc=\E[s, sgr0=\E[m, smcup=\E[?7l, smso=\E[7;2m, smul=\E[4m, - tbc=\E[3g, tsl=\E[s\E[>5;1h\E[25;%i%dH\E[1K, -z29a-kc-uc|h29a-kc-uc|z29 ansi mode with keyckick and underscore cursor, - rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>1;2;3;4;5;6;7;8;9l\E[m\E[11m, - use=z29a, -z29a-nkc-bc|h29a-nkc-bc|z29 ansi mode with block cursor and no keyclick, - rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>2;4h\E[>1;3;5;6;7;8;9l\E[m\E[11m, - use=z29a, -z29a-nkc-uc|h29a-nkc-uc|z29 ansi mode with underscore cursor and no keyclick, - rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>2h\E[>1;3;4;5;6;7;8;9l\E[m\E[11m, - use=z29a, -# From: Jeff Bartig 31 Mar 1995 -z39-a|z39a|zenith39-a|zenith39-ansi|Zenith 39 in ANSI mode, - am, eslok, hs, mc5i, mir, msgr, xon, - cols#80, lines#24, - acsc=0a``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G, - blink=\E[5m, bold=\E[1m, cbt=\E[1Z, civis=\E[>5h, - clear=\E[2J\E[H, cnorm=\E[>5l, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, dl=\E[%p1%dM, - dl1=\E[1M, dsl=\E[>1l, ed=\E[0J, el=\E[0K, el1=\E[1K, - fsl=\E[u, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[1L, - ind=^J, is2=\E<\E[>1;3;5;6;7l\E[0m\E[2J, ka1=\EOw, - ka3=\EOu, kb2=\EOy, kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, ked=\E[J, kf1=\EOS, - kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP, kf7=\EOQ, - kf8=\EOR, kf9=\EOX, khlp=\E[~, khome=\E[H, ll=\E[24;1H, - mc0=\E[?19h\E[i, mc4=\E[4i, mc5=\E[5i, rc=\E[u, rev=\E[7m, - rmacs=\E(B, rmir=\E[4l, rmkx=\E[>7l, rmso=\E[0m, - rmul=\E[0m, rs2=\E<\Ec\0, sc=\E[s, sgr0=\E[0m, smacs=\E(0, - smir=\E[4h, smkx=\E[>7h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[s\E[>1h\E[25;%i%p1%dH, - -# From: Brad Brahms -z100|h100|z110|z-100|h-100|heath/zenith z-100 pc with color monitor, - cnorm=\Ey4\Em70, cvvis=\Ex4\Em71, use=z100bw, -# (z100bw: removed obsolete ":kn#10:", added empty -- esr) -z100bw|h100bw|z110bw|z-100bw|h-100bw|heath/zenith z-100 pc, - OTbs, OTpt, mir, msgr, - OTkn#10, cols#80, it#8, lines#24, - acsc=, clear=\EE$<5*/>, cnorm=\Ey4, cub1=^H, cud1=\EB, - cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<1*/>, - cuu1=\EA, cvvis=\Ex4, dch1=\EN$<1*/>, dl1=\EM$<5*/>, - ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL$<5*/>, kbs=^H, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf0=\EJ, kf1=\ES, - kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, - kf9=\EOI, khome=\EH, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq, - smacs=\EF, smir=\E@, smso=\Ep, -p19|h19-b with il1/dl1, - dl1=\EM$<2*/>, il1=\EL$<2*/>, use=h19-b, -# From: -# (ztx: removed duplicate :sr: -- esr) -ztx|ztx11|zt-1|htx11|ztx-1-a|ztx-10 or 11, - OTbs, am, eslok, hs, - cols#80, it#8, lines#24, - clear=\EE, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dl1=\EM, - dsl=\Ey1, ed=\EJ, el=\EK, fsl=\Ek\Ey5, home=\EH, ht=^I, - il1=\EL, is2=\Ej\EH\Eq\Ek\Ev\Ey1\Ey5\EG\Ey8\Ey9\Ey>, - kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf0=\ES, - kf1=\EB, kf2=\EU, kf3=\EV, kf4=\EW, kf5=\EP, kf6=\EQ, kf7=\ER, - ri=\EI, rmso=\Eq, rmul=\Eq, smso=\Es5, smul=\Es2, - tsl=\Ej\Ex5\Ex1\EY8%+ \Eo, - -#### IMS International (ims) -# -# There was a company called IMS International located in Carson City, -# Nevada, that flourished from the mid-70s to mid-80s. They made S-100 -# bus/Z80 hardware and a line of terminals called Ultimas. -# - -# From: Erik Fair Sun Oct 27 07:21:05 1985 -ims950-b|bare ims950 no init string, - is2@, use=ims950, -# (ims950: removed obsolete ":ko@:" -- esr) -ims950|ims televideo 950 emulation, - xenl@, - flash@, kbs@, kcub1@, kcud1@, kcuf1@, kcuu1@, kf0@, kf1@, kf2@, kf3@, - kf4@, kf5@, kf6@, kf7@, kf8@, kf9@, khome@, use=tvi950, -# (ims950-rv: removed obsolete ":ko@:" -- esr) -ims950-rv|ims tvi950 rev video, - xenl@, - flash@, kbs@, kcub1@, kcud1@, kcuf1@, kcuu1@, kf0@, kf1@, kf2@, kf3@, - kf4@, kf5@, kf6@, kf7@, kf8@, kf9@, khome@, use=tvi950-rv, -ims-ansi|ultima2|ultimaII|IMS Ultima II, - OTbs, am, - cols#80, it#8, lines#24, - clear=\E[H\E[2J, cub1=^H, cud1=\ED, - cup=\E[%i%p1%2d;%p2%2dH, cuu1=\EM, ed=\E[0J, el=\E[0K, - ht=^I, if=/usr/share/tabset/vt100, - is2=\E[m\E[>14l\E[?1;?5;20l\E>\E[1m\r, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, ri=\EM, - rmso=\E[m\E[1m, rmul=\E[m\E[1m, sgr0=\E[m, smso=\E[7m, - smul=\E[4m, - -#### Intertec Data Systems -# -# I think this company is long dead as of 1995. They made an early CP/M -# micro called the "Intertec Superbrain" that was moderately popular, -# then sank out of sight. -# - -superbrain|intertec superbrain, - OTbs, am, bw, - cols#80, lines#24, - OTbc=^U, bel=^G, clear=\014$<5*>, cr=^M, cub1=^H, cud1=^J, - cuf1=^F, cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<20>, cuu1=^K, - ed=\E~k<10*>, el=\E~K$<15>, ht=^I, ind=^J, kcub1=^U, - kcud1=^J, kcuf1=^F, kcuu1=^K, rmcup=^L, smcup=^L, -# (intertube: a Gould entry via BRL asserted smul=\E0@$<200/>, -# rmul=\E0A$<200/>; my guess is the highlight letter is bit-coded like an ADM, -# and the reverse is actually true. Try it. -- esr) -intertube|intertec|Intertec InterTube, - OTbs, am, - cols#80, lines#25, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^F, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<50>, cuu1=^Z, home=^A, - ind=^J, rmso=\E0@, smso=\E0P, -# The intertube 2 has the "full duplex" problem like the tek 4025: if you -# are typing and a command comes in, the keystrokes you type get interspersed -# with the command and it messes up -intertube2|intertec data systems intertube 2, - OTbs, - cup=\016%p1%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%c, - el=\EK, hpa=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%c, - ll=^K^X\r, vpa=\013%p1%c, use=intertube, - -#### Ithaca Intersystems -# -# This company made S100-bus personal computers long ago in the pre-IBM-PC -# past. They used to be reachable at: -# -# Ithaca Intersystems -# 1650 Hanshaw Road -# Ithaca, New York 14850 -# -# However, the outfit went bankrupt years ago. -# - -# The Graphos III was a color graphics terminal from Ithaca Intersystems. -# These entries were written (originally in termcap syntax) by Brian Yandell -# and Mike Meyer at the -# University of Wisconsin. - -# (graphos: removed obsolete and syntactically incorrect :kn=4:, -# removed and -# no such file & no -- esr) -graphos|graphos III, - am, mir, - cols#80, it#8, lines#24, - clear=\E[H\E[2J, cnorm=\Ez56;2;0;0z\Ez73z\Ez4;1;1z, - cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\Ez4;2;1z\Ez56;2;80;24z, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, il=\E[%p1%dL, - il1=\E[L, ind=\ED, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, khome=\E[H, nel=^M\ED, rc=\E8, ri=\EM, rmdc=\E[4l, - rmir=\E[4l, rmso=\E[m, sc=\E7, sgr0=\E[m, smdc=\E[4h, - smir=\E[4h, smso=\E[7m, -graphos-30|graphos III with 30 lines, - lines#30, - cvvis=\Ez4;2;1z\Ez56;2;80;30z, use=graphos, - -#### Modgraph -# -# These people used to be reachable at: -# -# Modgraph, Inc -# 1393 Main Street, -# Waltham, MA 02154 -# Vox: (617)-890-5796. -# -# However, if you call that number today you'll get an insurance company. -# I have mail from "Michael Berman, V.P. Sales, Modgraph" dated -# 26 Feb 1997 that says: -# -# Modgraph GX-1000, replaced by GX-2000. Both are out of production, have been -# for ~7 years. Modgraph still in business. Products are rugged laptop and -# portable PC's and specialized CRT and LCD monitors (rugged, rack-mount -# panel-mount etc). I can be emailed at sonfour@aol.com -# -# Peter D. Smith notes that his modgraph manual was -# dated 1984. According to the manual, it featured Tek 4010/4014 -# graphics and DEC VT100/VT52 + ADM-3A emulation with a VT220-style keyboard. -# - -modgraph|mod24|modgraph terminal emulating vt100, - xenl@, - cols#80, lines#24, - cvvis=\E\^9;0s\E\^7;1s, - is2=\E\^9;0s\E\^7;1s\E[3g\E\^11;9s\E\^11;17s\E\^11;25s\E\^11;33s\E\^11;41s\E\^11;49s\E\^11;57s\E\^11;65s\E\^11;73s\E\^11;81s\E\^11;89s, - rf@, ri=\EM\E[K$<5/>, use=vt100, -# The GX-1000 manual is dated 1984. This looks rather like a VT-52. -modgraph2|modgraph gx-1000 80x24 with keypad not enabled, - am, da, db, - cols#80, it#8, lines#24, - clear=\EH\EJ$<50/>, cub1=^H, cuf1=\EC$<2/>, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<5/>, cuu1=\EA$<2/>, - ed=\EJ$<50/>, el=\EK$<3/>, ht=^I, - is2=\E<\E\^5;2s\E\^7;1s\E[3g\E\^11;9s\E\^11;17s\E\^11;25s\E\^11;33s\E\^11;41s\E\^11;49s\E\^11;57s\E\^11;65s\E\^11;73s\E\^11;81s\E\^11;89s\E\^12;0s\E\^14;2s\E\^15;9s\E\^25;1s\E\^9;1s\E\^27;1, - ri=\EI$<5/>, -# -# Modgraph from Nancy L. Cider -# BUG NOTE from Barbara E. Ringers : -# If we set TERM=vt100, and set the Modgraph screen to 24 lines, setting a -# mark and using delete-to-killbuffer work correctly. However, we would -# like normal mode of operation to be using a Modgraph with 48 line setting. -# If we set TERM=mod (which is a valid entry in termcap with 48 lines) -# the setting mark and delete-to-killbuffer results in the deletion of only -# the line the mark is set on. -# We've discovered that the delete-to-killbuffer works correctly -# with TERM=mod and screen set to 80x48 but it's not obvious. Only -# the first line disappears but a ctrl-l shows that it did work -# correctly. -modgraph48|mod|Modgraph w/48 lines, - OTbs, OTpt, am, xenl, - cols#80, it#8, lines#48, vt#3, - OTnl=^J, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[;H\E[2J, - cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K, - flash=\E[?5h\E[0q\E[1;2q\E[?5l\E[0q\E[4;3q, - home=\E[H, ht=^I, is2=\E<\E[1;48r\E[0q\E[3;4q\E=\E[?1h, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m, - ri=\EM, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs1=\E=\E[0q\E>, sc=\E7, sgr0=\E[m, smkx=\E[?1h\E=, - smso=\E[7m, smul=\E[4m, - -#### Morrow Designs -# -# This was George Morrow's company. They started in the late 1970s making -# S100-bus machines. They used to be reachable at: -# -# Morrow -# 600 McCormick St. -# San Leandro, CA 94577 -# -# but they're long gone now (1995). -# - -# The mt70 terminal was shipped with the Morrow MD-3 microcomputer. -# Jeff's specimen was dated June 1984. -# From: Jeff Wieland 24 Feb 1995 -mt70|mt-70|Morrow MD-70; native Morrow mode, - am, mir, msgr, xon, - cols#80, it#8, lines#24, - acsc=+z\,{-x.yOi`|jGkFlEmDnHqJtLuKvNwMxI, bel=^G, - cbt=\EI, civis=\E"0, clear=^Z, cnorm=\E"2, cr=^M, cub1=^H, - cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<1>, - cuu1=^K, dch1=\EW, dim=\EG2, dl1=\ER, ed=\EY, el=\ET$<10>, - flash=\EK1$<200>\EK0, home=^^, ht=^I, ich1=\EQ, il1=\EE, - ind=^J, invis@, is1=\E"2\EG0\E], kbs=^H, kcbt=^A^Z\r, - kclr=^An\r, kcub1=^AL\r, kcud1=^AK\r, kcuf1=^AM\r, - kcuu1=^AJ\r, kdch1=\177, kf1=^A@\r, kf10=^AI\r, kf11=^A`\r, - kf12=^Aa\r, kf13=^Ab\r, kf14=^Ac\r, kf15=^Ad\r, kf16=^Ae\r, - kf17=^Af\r, kf18=^Ag\r, kf19=^Ah\r, kf2=^AA\r, kf20=^Ai\r, - kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, khlp=^AO\r, khome=^AN\r, nel=^_, - rmacs=\E%%, rmcup=, smacs=\E$, smcup=\E"2\EG0\E], - smul=\EG1, tbc=\E0, use=adm+sgr, - -#### Motorola -# - -# Motorola EXORterm 155 from {decvax, ihnp4}!philabs!sbcs!megad!seth via BRL -# (Seth H Zirin) -ex155|Motorola Exorterm 155, - OTbs, am, bw, - OTkn#5, OTug#1, cols#80, lines#24, - cbt=\E[, clear=\EX, cud1=\EB, cuf1=\ED, - cup=\EE%p1%{32}%+%c%p2%{32}%+%c, ed=\ET, el=\EU, - home=\E@, ht=\EZ, kbs=^H, kcbt=\E[, kclr=\EX, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, ked=\ET, kel=\EU, khome=\E@, - rmso=\Ec\ED, rmul=\Eg\ED, smso=\Eb\ED, smul=\Ef\ED, - -#### Omron -# -# This company is still around in 1995, manufacturing point-of-sale systems. - -omron|Omron 8025AG, - OTbs, am, da, db, - cols#80, lines#24, - bel=^G, clear=\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, cuu1=\EA, - cvvis=\EN, dch1=\EP, dl1=\EM, ed=\ER, el=\EK, home=\EH, - il1=\EL, ind=\ES, ri=\ET, rmso=\E4, smso=\Ef, - -#### Ramtek -# -# Ramtek was a vendor of high-end graphics terminals around 1979-1983; they -# were competition for things like the Tektronics 4025. -# - -# Ramtek 6221 from BRL, probably by Doug Gwyn -# The following SET-UP modes are assumed for normal operation: -# UNDERLINE_CURSOR ANSI_MODE AUTO_XON/XOFF_ON -# NEWLINE_OFF 80_COLUMNS -# Other SET-UP modes may be set for operator convenience or communication -# requirements; I recommend -# SMOOTH_SCROLL AUTO_REPEAT_ON 3_#_SHIFTED WRAP_AROUND_ON -# Hardware tabs are assumed to be every 8 columns; they can be set up by the -# "reset", "tset", or "tabs" utilities (use rt6221-w, 160 columns, for this). -# Note that the Control-E key is useless on this brain-damaged terminal. No -# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control! -rt6221|Ramtek 6221 80x24, - OTbs, OTpt, msgr, xon, - OTkn#4, cols#80, it#8, lines#24, vt#3, - acsc=, bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[>5l, - clear=\E[1;1H\E[J, cnorm=\E[>5h\E[>9h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^K, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM, - cvvis=\E[>7h\E[>9l, ed=\E[J, el=\E[K, home=\E[1;1H, ht=^I, - hts=\EH, ind=^J, is2=\E)0, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kf0=\EOP, kf1=\EOQ, kf2=\EOR, - kf3=\EOS, lf0=PF1, lf1=PF2, lf2=PF3, lf3=PF4, ll=\E[24;1H, - nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmkx=\E>, - rmso=\E[m, rmul=\E[m, - rs1=\E[1w\E[>37m\E[>39m\E[1v\E[20l\E[?3l\E[?6l\E[>5h\E[>6h\E[>7h\E[>8l\E[>9h\E[>10l\E[1;24r\E[m\E[q\E(B\017\E)0\E#5\E>, - sc=\E7, sgr0=\E[m, smacs=^N, smkx=\E=, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, -# [TO DO: Check out: short forms of ho/cl and ll; reset (\Ec)]. -rt6221-w|Ramtek 6221 160x48, - cols#160, lines#48, - ll=\E[48;1H, use=rt6221, - -#### RCA -# - -# RCA VP3301 or VP3501 -rca|rca vp3301/vp3501, - OTbs, - cols#40, lines#24, - clear=^L, cuf1=^U, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=^K, home=^Z, rmso=\E\ES0, smso=\E\ES1, - - -#### Selanar -# - -# Selanar HiREZ-100 from BRL, probably by Doug Gwyn -# The following SET-UP modes are assumed for normal operation: -# SET_DEFAULT_TABS 48_LINES 80_COLUMNS -# ONLINE ANSI CURSOR_VISIBLE -# VT102_AUTO_WRAP_ON VT102_NEWLINE_OFF VT102_MONITOR_MODE_OFF -# LOCAL_ECHO_OFF US_CHAR_SET WPS_TERMINAL_DISABLED -# CPU_AUTO_XON/XOFF_ENABLED PRINT_FULL_SCREEN -# For use with graphics software, all graphics modes should be set to factory -# default. Other SET-UP modes may be set for operator convenience or -# communication requirements. No delays are specified; use "stty ixon -ixany" -# to enable DC3/DC1 flow control! -# I commented out the scrolling capabilities since they are too slow. -hirez100|Selanar HiREZ-100, - OTbs, OTpt, mir, msgr, xon, - OTkn#4, cols#80, it#8, lines#48, vt#3, - acsc=, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, - cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\EM, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, - hts=\EH, il=\E[%p1%dL, il1=\E[L, is2=\E<\E)0, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOP, - kf1=\EOQ, kf2=\EOR, kf3=\EOS, lf0=PF1, lf1=PF2, lf2=PF3, - lf3=PF4, ll=\E[48H, mc0=\E[i, mc4=\E[4i\E[?4i, - mc5=\E[?5i\E[5i, nel=\EE, rc=\E8, rev=\E[7m, rmacs=^O, - rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs1=\030\E2\E<\E[4i\E[?4i\E[12h\E[2;4;20l\E[?0;7h\E[?1;3;6;19l\E[r\E[m\E(B\017\E)0\E>, - sc=\E7, sgr0=\E[m, smacs=^N, smkx=\E[?1h\E=, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, -hirez100-w|Selanar HiREZ-100 in 132-column mode, - cols#132, use=hirez100, - -#### Signetics -# - -# From University of Wisconsin -vsc|Signetics Vsc Video driver by RMC, - am, msgr, - cols#80, it#8, lines#26, - clear=\E[;H\E[2J$<50/>, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H, - ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, rev=^_\s, - rmso=^_!, rmul=^_#, sgr0=^_!, smso=^_\s, smul=^_", - -#### Soroc -# -# Alan Frisbie writes: -# -# As you may recall, the Soroc logo consisted of their name, -# with the letter "S" superimposed over an odd design. This -# consisted of a circle with a slightly smaller 15 degree (approx.) -# wedge with rounded corners inside it. The color was sort of -# a metallic gold/yellow. -# -# If I had been more of a beer drinker it might have been obvious -# to me, but it took a clue from their service department to make -# me exclaim, "Of course!" The circular object was the top of -# a beer can (the old removable pop-top style) and "Soroc" was an -# anagram for "Coors". -# -# I can just imagine the founders of the company sitting around -# one evening, tossing back a few and trying to decide what to -# call their new company and what to use for a logo. -# - -# (soroc120: removed obsolete ":ma=^K^P^R^L^L :" -- esr) -soroc120|iq120|soroc|soroc iq120, - clear=\E*$<2>, cud1=^J, ed=\EY, el=\ET, kcub1=^H, kcud1=^J, - kcuf1=^L, kcuu1=^K, use=adm3a, -soroc140|iq140|soroc iq140, - OTbs, am, mir, - cols#80, lines#24, - bel=^G, cbt=\EI, clear=\E+, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\Ew, - dl1=\Er$<.7*>, ed=\Ey, el=\Et, home=^^, il1=\Ee$<1*>, ind=^J, - kbs=^H, kcuf1=^L, kcuu1=^K, kf0=^A0\r, kf1=^A@\r, kf2=^AA\r, - kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, khome=^^, ll=^^^K, rmir=\E8, - rmso=\E\177, rmul=\E^A, smir=\E9, smso=\E\177, smul=\E^A, - -#### Southwest Technical Products -# -# These guys made an early personal micro called the M6800. -# The ct82 was probably its console terminal. -# - -# (swtp: removed obsolete ":bc=^D:" -- esr) -swtp|ct82|southwest technical products ct82, - am, - cols#82, lines#20, - bel=^G, clear=^L, cr=^M, cub1=^D, cud1=^J, cuf1=^S, - cup=\013%p2%c%p1%c, cuu1=^A, dch1=^\^H, dl1=^Z, ed=^V, el=^F, - home=^P, ich1=^\^X, il1=^\^Y, ind=^N, - is2=\034\022\036\023\036\004\035\027\011\023\036\035\036\017\035\027\022\011, - ll=^C, ri=^O, rmso=^^^F, smso=^^^V, - -#### Synertek -# -# Bob Manson writes (28 Apr 1995): -# -# Synertek used to make ICs, various 6502-based single-board process -# control and hobbyist computers, and assorted peripherals including a -# series of small inexpensive terminals (I think they were one of the -# first to have a "terminal-on-a-keyboard", where the terminal itself -# was only slightly larger than the keyboard). -# -# They apparently had a KTM-1 model, which I've never seen. The KTM-2/40 -# was a 40x24 terminal that could connect to a standard TV through a -# video modulator. The KTM-2/80 was the 80-column version (the 2/40 -# could be upgraded to the 2/80 by adding 2 2114 SRAMs and a new ROM). -# I have a KTM-2/80 still in working order. The KTM-2s had fully -# socketed parts, used 2 6507s, a 6532 as keyboard scanner, a program -# ROM and 2 ROMs as character generators. They were incredibly simple, -# and I've never had any problems with mine (witness the fact that mine -# was made in 1981 and is still working great... I've blown the video -# output transistor a couple of times, but it's a 2N2222 :-) -# -# The KTM-3 (which is what is listed in the terminfo file) was their -# attempt at putting a KTM-2 in a box (and some models came with a -# CRT). It wasn't much different from the KTM-2 hardware-wise, but the -# control and escape sequences are very different. The KTM-3 was always -# real broken, at least according to the folks I've talked to about it. -# -# The padding in the entry is probably off--these terminals were very -# slow (it takes like 100ms for the KTM-2 to clear the screen...) And -# anyone with any sanity replaced the ROMs with something that provided -# a reasonable subset of VT100 functionality, since the usual ROMs were -# obviously very primitive... oh, you could get an upgraded ROM from -# Synertek for some incredible amount of money, but what hacker with an -# EPROM burner would do that? :) -# -# Sorry I don't have any contact info; I believe they were located in -# Sunnyvale, and I'm fairly sure they are still manufacturing ICs -# (they've gone to ASICs and FPGAs), but I doubt they're in the computer -# business these days. -# - -# Tested, seems to work fine with vi. -synertek|ktm|synertek380|synertek ktm 3/80 tubeless terminal, - am, - cols#80, lines#24, - clear=^Z, cub1=^H, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EJ, el=\EK, - -#### Tab Office Products -# -# TAB Products Co. - Palo Alto, California -# Electronic Office Products, -# 1451 California Avenue 94304 -# -# I think they're out of business. -# - -# The tab 132 uses xon/xoff, so no padding needed. -# / have nothing to do with arrow keys. -# sets 80 col mode, normal video, autowrap on (for ). -# Seems to be no way to get rid of status line. -# The manual for this puppy was dated June 1981. It claims to be VT52- -# compatible but looks more vt100-like. -tab132|tab|tab132-15|tab 132/15, - da, db, - OTdN@, cols#80, lines#24, lm#96, - cud1=^J, cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M, - il1=\E[L, is2=\E[?7h\E[?3l\E[?5l, kcub1=\E[D, kcud1=\E[B, - kcuu1=\E[A, rmir=\E[4l, rmkx@, smir=\E[4h, smkx@, use=vt100, -tab132-w|tab132 in wide mode, - cols#132, - is2=\E[?7h\E[?3h\E[?5l, use=tab132, -tab132-rv|tab132 in reverse-video mode, - is2=\E[?7h\E[?3l\E[?5h, use=tab132, -tab132-w-rv|tab132 in reverse-video/wide mode, - is2=\E[?7h\E[?3h\E[?5h, use=tab132-w, - - -#### Teleray -# -# Research Incorporated -# 6425 Flying Cloud Drive -# Eden Prairie, MN 55344 -# Vox: (612)-941-3300 -# -# The Teleray terminals were all discontinued in 1992-93. RI still services -# and repairs these beasts, but no longer manufactures them. The Teleray -# people believe that all the types listed below are very rare now (1995). -# There was a newer line of Telerays (Model 7, Model 20, Model 30, and -# Model 100) that were ANSI-compatible. -# -# Note two things called "teleray". Reorder should move the common one -# to the front if you have either. A dumb teleray with the cursor stuck -# on the bottom and no obvious model number is probably a 3700. -# - -t3700|dumb teleray 3700, - OTbs, - cols#80, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, ind=^J, -t3800|teleray 3800 series, - OTbs, - cols#80, it#8, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EJ, el=\EK, - home=\EH, ht=^I, ind=^J, ll=\EY7\s, -t1061|teleray|teleray 1061, - OTbs, am, km, xhp, xt, - cols#80, it#8, lines#24, xmc#1, - bel=^G, clear=\014$<1>, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EQ, - dl1=\EM$<2*>, ed=\EJ$<1>, el=\EK, home=\EH, ht=^I, hts=\EF, - ich1=\EP, il1=\EL$<2*>, ind=^J, ip=$<0.4*>, - is2=\Ee\EU01^Z1\EV\EU02^Z2\EV\EU03^Z3\EV\EU04^Z4\EV\EU05^Z5\EV\EU06^Z6\EV\EU07^Z7\EV\EU08^Z8\EV\Ef, - kf1=^Z1, kf2=^Z2, kf3=^Z3, kf4=^Z4, kf5=^Z5, kf6=^Z6, kf7=^Z7, - kf8=^Z8, rmso=\ER@, rmul=\ER@, smso=\s\ERD, smul=\ERH, - tbc=\EG, -t1061f|teleray 1061 with fast PROMs, - dl1=\EM, il1=\EL, ip@, use=t1061, -# "Teleray Arpa Special", officially designated as -# "Teleray Arpa network model 10" with "Special feature 720". -# This is the new (1981) fast microcode updating the older "arpa" proms -# (which gave meta-key and programmable-fxn keys). 720 is much much faster, -# converts the keypad to programmable function keys, and has other goodies. -# Standout mode is still broken (magic cookie, etc) so is suppressed as no -# programs handle such lossage properly. -# Note: this is NOT the old termcap's "t1061f with fast proms." -# From: J. Lepreau Tue Feb 1 06:39:37 1983, Univ of Utah -# (t10: removed overridden ":so@:se@:us@:ue@:" -- esr) -t10|teleray 10 special, - OTbs, km, xhp, xt, - cols#80, it#8, lines#24, xmc#2, - clear=\Ej$<30/>, cub1=^H, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EQ, - dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\EP, il1=\EL, - ind=\Eq, pad=\0, ri=\Ep, rmso=\ER@, rmul=\ER@, smso=\ERD, - smul=\ERH, -# teleray 16 - map the arrow keys for vi/rogue, shifted to up/down page, and -# back/forth words. Put the function keys (f1-f10) where they can be -# found, and turn off the other magic keys along the top row, except -# for line/local. Do the magic appropriate to make the page shifts work. -# Also toggle ^S/^Q for those of us who use Emacs. -t16|teleray 16, - am, da, db, mir, xhp, xt, - cols#80, lines#24, - bel=^G, clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=%i\E[%p1%d;%p2%df, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[0J, el=\E[0K, home=\E[H, ht=^I, il1=\E[L, - ind=^J, kf1=^Z1, kf10=^Z0, kf2=^Z2, kf3=^Z3, kf4=^Z4, kf5=^Z5, - kf6=^Z6, kf7=^Z7, kf8=^Z8, kf9=^Z9, ri=\E[T, - rmcup=\E[V\E[24;1f\E[?38h, rmir=\E[4l, rmso=\E[m, - rmul=\E[m, sgr0=\E[m, smcup=\E[U\E[?38l, smir=\E[4h, - smso=\E[7m, smul=\E[4m, - -#### Texas Instruments (ti) -# - -# The Silent 700 was so called because it was built around a quiet thermal -# printer. It was portable, equipped with an acoustic coupler, and pretty -# neat for its day. -ti700|ti733|ti735|ti745|ti800|ti silent 700/733/735/745 or omni 800, - OTbs, hc, os, - cols#80, - bel=^G, cr=\r$<162>, cub1=^H, cud1=^J, ind=^J, - -# -# Texas Instruments 916 VDT 7 bit control mode -# -ti916|ti916-220-7|Texas Instruments 916 VDT 8859/1 vt220 mode 7 bit CTRL, - da, db, in, msgr, - cbt=\E[Z, civis=\E[?25l, clear=\E[H\E[2J$<6>, - cnorm=\E[?25h, cub=\E[%p1%dD, cud=\E[%p1%dB, - cuf=\E[%p1%dC, cup=\E[%p1%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - dch=\E[%p1%dP$<250>, dch1=\E[P, dl=\E[%p1%dM, - ech=\E[%p1%dX$<20>, ed=\E[J$<6>, el=\E[0K, el1=\E[1K, - enacs=\E(B\E)0, ff=^L, flash=\E[?5h\E[?5l$<6>, - hpa=\E[%p1%{1}%+%dG, hts=\E[0W, ich=\E[%p1%d@$<250>, - il=\E[%p1%dL$<36>, ip=$<10>, is2=\E[1;24r\E[24;1H, - kcmd=\E[29~, kdch1=\E[P, kent=^J, kf1=\E[17~, kf10=\E[28~, - kf11=\E[29~, kf12=\E[31~, kf2=\E[18~, kf3=\E[19~, - kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, - kf9=\E[26~, khome=\E[H, kich1=\E[@, knp=\E[S, kpp=\E[T, - kprt=^X, prot=\E&, rmacs=\017$<2>, rs2=\E[!p, sgr@, - smacs=\016$<2>, tbc=\E[3g, vpa=\E[%p1%{1}%+%dd, - use=vt220, -# -# Texas Instruments 916 VDT 8 bit control mode -# -ti916-8|ti916-220-8|Texas Instruments 916 VDT 8859/1 8 vt220 mode bit CTRL, - kcmd=\23329~, kcub1=\233D, kcud1=\233B, kcuf1=\233C, - kcuu1=\233A, kdch1=\233P, kent=^J, kf1=\23317~, - kf10=\23328~, kf11=\23329~, kf12=\23331~, kf2=\23318~, - kf3=\23319~, kf4=\23320~, kf5=\23321~, kf6=\23323~, - kf7=\23324~, kf8=\23325~, kf9=\23326~, khome=\233H, - kich1=\233@, knp=\233S, kpp=\233T, kprt=^X, use=ti916, -# -# Texas Instruments 916 VDT 8859/1 7 bit control 132 column mode -# -ti916-132|Texas Instruments 916 VDT vt220 132 column, - cols#132, use=ti916, -# -# Texas Instruments 916 VDT 8859/1 8 bit control 132 column mode -# -ti916-8-132|Texas Instruments 916 VDT 8-bit vt220 132 column, - cols#132, use=ti916-8, -ti924|Texas Instruments 924 VDT 8859/1 7 bit CTRL, - OTbs, am, xon, - cols#80, it#8, lines#24, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[2J\E[H, cnorm=\E[?25h, cr=^M, - csr=%i\E[%p1%d;%p2%dr, cub1=\E[D, cud1=\E[B, cuf1=\E[C, - cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A, cvvis=\E[?31h, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\EH, - il1=\E[L, ind=\ED, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kf1=\EOP, kf2=\EOQ, - kf3=\EOR, kf4=\EOS, kf5=\E[16~, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, kich1=\E[@, rc=\E8, rev=\E[7m, - ri=\EM, rmso=\E[m, rmul=\E[m, sc=\E7, sgr0=\E[m, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, -ti924-8|Texas Instruments 924 VDT 8859/1 8 bit CTRL, - am, xon, - cols#80, it#8, lines#24, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[2J\E[H, cnorm=\E[?25h, cr=^M, - csr=%i\E[%p1%d;%p2%dr, cub1=\E[D, cud1=\E[B, cuf1=\E[C, - cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A, cvvis=\E[?31h, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\EH, - il1=\E[L, ind=\ED, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=P$<\233>, kf1=P$<\217>, - kf2=Q$<\217>, kf3=R$<\217>, kf4=S$<\217>, kf5=~$<\23316>, - kf6=~$<\23317>, kf7=~$<\23318>, kf8=~$<\23319>, - kf9=~$<\23320>, kich1=@$<\233>, rc=\E8, rev=\E[7m, ri=\EM, - rmso=\E[m, rmul=\E[m, sc=\E7, sgr0=\E[m, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, -ti924w|Texas Instruments 924 VDT 7 bit - 132 column mode, - cols#132, use=ti924, -ti924-8w|Texas Instruments 924 VDT 8 bit - 132 column mode, - cols#132, use=ti924-8, -ti931|Texas Instruments 931 VDT, - OTbs, am, xon, - cols#80, lines#24, - bel=^G, blink=\E4P, clear=\EL, cnorm=\E4@, cr=^M, cub1=\ED, - cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=\EA, dch1=\EQ, dl1=\EO, ed=\EJ, el=\EI, home=\EH, - ich1=\ER\EP\EM, il1=\EN, ind=\Ea, invis=\E4H, - is2=\EGB\E(@B@@\E), kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kdch1=\EQ, kdl1=\EO, kf1=\Ei1, kf2=\Ei2, kf3=\Ei3, - kf4=\Ei4, kf5=\Ei5, kf6=\Ei6, kf7=\Ei7, kf8=\Ei8, kf9=\Ei9, - kich1=\EP, kil1=\EN, rev=\E4B, ri=\Eb, rmso=\E4@, rmul=\E4@, - sgr0=\E4@, smso=\E4A, smul=\E4D, -ti926|Texas Instruments 926 VDT 8859/1 7 bit CTRL, - csr@, ind=\E[1S, ri=\E[1T, use=ti924, -# (ti926-8: I corrected this from the broken SCO entry -- esr) -ti926-8|Texas Instruments 926 VDT 8859/1 8 bit CTRL, - csr@, ind=\2331S, ri=\2331T, use=ti924-8, -ti_ansi|basic entry for ti928, - am, bce, eo, xenl, xon, - colors#8, cols#80, it#8, lines#25, pairs#64, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[2J\E[H, - cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, - il1=\E[L, ind=\E[S, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kend=\E[F, kf0=\E[V, kf1=\E[M, - kf2=\E[N, kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R, kf7=\E[S, - kf8=\E[T, kf9=\E[U, khome=\E[H, knp=\E[G, kpp=\E[I, - op=\E[37;40m, ri=\E[T, rmso=\E[m, rmul=\E[m, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[m, - smso=\E[7m, smul=\E[4m, -# -# 928 VDT 7 bit control mode -# -ti928|Texas Instruments 928 VDT 8859/1 7 bit CTRL, - kdch1=\E[P, kend=\E_1\E\\, kent=\E[8~, kf1=\E[17~, - kf10=\E[28~, kf11=\E[29~, kf12=\E[31~, kf13=\E[32~, - kf15=\E[34~, kf2=\E[18~, kf3=\E[19~, kf4=\E[20~, - kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, kf9=\E[26~, - kich1=\E[@, knp=\E[S, kpp=\E[T, kprt=\E[35~, use=ti_ansi, -# -# 928 VDT 8 bit control mode -# -ti928-8|Texas Instruments 928 VDT 8859/1 8 bit CTRL, - kdch1=\233P, kend=\2371\234, kent=\2338~, kf1=\23317~, - kf10=\23328~, kf11=\23329~, kf12=\23331~, kf13=\23332~, - kf15=\23334~, kf2=\23318~, kf3=\23319~, kf4=\23320~, - kf5=\23321~, kf6=\23323~, kf7=\23324~, kf8=\23325~, - kf9=\23326~, khome=\233H, kich1=\233@, knp=\233S, - kpp=\233T, kprt=\23335~, use=ti_ansi, - -#### Zentec (zen) -# - -# (zen30: removed obsolete :ma=^L ^R^L^K^P:. This entry originally -# had just =\EG6 which I think means standout was supposed to be -# dim-reverse using ADM12-style attributes. ADM12 / and -# might work-- esr) -zen30|z30|zentec 30, - OTbs, am, mir, ul, - cols#80, lines#24, - bel=^G, clear=\E*, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dim=\EG2, dl1=\ER$<1.5*>, ed=\EY, el=\ET$<1.0*>, home=^^, - il1=\EE$<1.5*>, ind=^J, rmir=\Er, rmul@, smir=\Eq, smso=\EG6, - smul@, use=adm+sgr, -# (zen50: this had extension capabilities -# :BS=^U:CL=^V:CR=^B: -# UK/DK/RK/LK/HM were someone's aliases for ku/kd/kl/kr/kh, -# which were also in the original entry -- esr) -# (zen50: removed obsolete ":ma=^Hh^Ll^Jj^Kk:" -- esr) -zen50|z50|zentec zephyr, - OTbs, am, - cols#80, lines#24, xmc#1, - clear=\E+, cub1=^H, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, - cuu1=^K, dch1=\EW, dl1=\ER, ed=\EY, el=\ET, ich1=\EQ, il1=\EE, - invis@, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, - rmul@, smul@, use=adm+sgr, - -# CCI 4574 (Office Power) from Will Martin via BRL -cci|cci1|z8001|zen8001|CCI Custom Zentec 8001, - OTbs, am, bw, - cols#80, lines#24, - blink=\EM", clear=\EH\EJ, cnorm=\EP, - csr=\ER%p1%{32}%+%c%p2%{32}%+%c, cub1=^H, cud1=^J, - cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, - cvvis=\EF\EQ\EM \ER 7, dim=\EM!, ed=\EJ, el=\EK, home=\EH, - invis=\EM(, is2=\EM \EF\ET\EP\ER 7, kbs=^H, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\EH, mc4=^T, mc5=^R, - rev=\EM$, ri=\EI, rmso=\EM\s, rmul=\EM\s, sgr0=\EM\s, - smso=\EM$, smul=\EM0, - -######## OBSOLETE UNIX CONSOLES -# - -#### Apollo consoles -# -# Apollo got bought by Hewlett-Packard. The Apollo workstations are -# labeled HP700s now. -# - -# From: Gary Darland -apollo|apollo console, - OTbs, am, mir, - cols#88, lines#53, - clear=^L, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\EM%p1%{32}%+%c%p2%d), cuu1=\EA, dch1=\EP, dl1=\EL, - ed=\EJ, el=\EK, hpa=\EN%p1%d, il1=\EI, ind=\EE, ri=\ED, - rmcup=\EX, rmir=\ER, rmso=\ET, rmul=\EV, smcup=\EW, smir=\EQ, - smso=\ES, smul=\EU, vpa=\EO+\s, - -# We don't know whether or not the apollo guys replicated DEC's firmware bug -# in the VT132 that reversed /. To be on the safe side, disable -# both these capabilities. -apollo_15P|apollo 15 inch display, - rmir@, smir@, use=vt132, -apollo_19L|apollo 19 inch display, - rmir@, smir@, use=vt132, -apollo_color|apollo color display, - rmir@, smir@, use=vt132, - -#### Convergent Technology -# -# Burroughs bought Convergent shortly before it merged with Univac. -# CTOS is (I believe) dead. Probably the aws is too (this entry dates -# from 1991 or earlier). -# - -# Convergent AWS workstation from Gould/SEL UTX/32 via BRL -# (aws: removed unknown :dn=^K: -- esr) -aws|Convergent Technologies AWS workstation under UTX and Xenix, - am, - OTug#0, cols#80, lines#28, xmc#0, - OTbc=^H, OTma=\016h\013j\001k\022l\002m, OTnl=^J, acsc=, - clear=^L, cud1=^K, cuf1=^R, cup=\EC%p2%c%p1%c, cuu1=^A, - dch1=\EDC, dl1=\EDL, ed=\EEF, el=\EEL, hpa=\EH%p1%c, - ich1=\EIC, il1=\EIL, ind=\ESU, kbs=^H, kcub1=^N, kcud1=^K, - kcuf1=^R, kcuu1=^A, ri=\ESD, rmacs=\EAAF, rmso=\EARF, - rmul=\EAUF, smacs=\EAAN, smso=\EARN, smul=\EAUN, - vpa=\EV%p1%c, -awsc|Convergent Technologies AWS workstation under CTOS, - am, - OTug#0, cols#80, lines#24, xmc#0, - OTbc=^N, OTma=\016h\013j\001k\022l\002m, acsc=, clear=^L, - cud1=^K, cuf1=^R, cup=\EC%p2%c%p1%c, cuu1=^A, ed=\EEF, - el=\EEL, kbs=^H, kcub1=^N, kcud1=^K, kcuf1=^R, kcuu1=^A, - rmacs=\EAAF, rmso=\EAA, rmul=\EAA, smacs=\EAAN, smso=\EAE, - smul=\EAC, - -#### DEC consoles -# - -# The MicroVax console. Tim Theisen writes: -# The digital uVax II's had a graphic display called a qdss. It was -# supposed to be a high performance graphic accelerator, but it was -# late to market and barely appeared before faster dumb frame buffers -# appeared. I have only used this display while running X11. However, -# during bootup, it was in text mode, and probably had a terminal emulator -# within it. And that is what your termcap entry is for. In graphics -# mode the screen size is 1024x864 pixels. -qdss|qdcons|qdss glass tty, - OTbs, am, - cols#128, lines#57, - clear=\032$<1/>, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%c%p2%c, cuu1=^K, - -#### Fortune Systems consoles -# -# Fortune made a line of 68K-based UNIX boxes that were pretty nifty -# in their day; I (esr) used one myself for a year or so around 1984. -# They had no graphics, though, and couldn't compete against Suns and -# the like. R.I.P. -# - -# From: Robert Nathanson via tut Wed Oct 5, 1983 -# (This had extension capabilities -# :rv=\EH:re=\EI:rg=0:GG=0:\ -# :CO=\E\\:WL=^Aa\r:WR=^Ab\r:CL=^Ac\r:CR=^Ad\r:DL=^Ae\r:RF=^Af\r:\ -# :RC=^Ag\r:CW=^Ah\r:NU=^Aj\r:EN=^Ak\r:HM=^Al:PL=^Am\r:\ -# :PU=^An\r:PD=^Ao\r:PR=^Ap\r:HP=^A@\r:RT=^Aq\r:TB=\r:CN=\177:MP=\E+F: -# It had both ":bs:" and ":bs=^H:"; I removed the latter. Also, it had -# ":sg=0:" and ":ug=0:"; evidently the composer was trying (unnecessarily) -# to force both magic cookie glitches off. Once upon a time, I -# used a Fortune myself, so I know the capabilities of the form ^A[a-z]\r are -# function keys; thus the "Al" value for HM was certainly an error. I renamed -# EN/PD/PU/CO/CF/RT according to the XENIX/TC mappings, but not HM/DL/RF/RC. -# I think :rv: and :re: are start/end reverse video and :rg: is a nonexistent -# "reverse-video-glitch" capability; I have put :rv: and :re: in with standard -# names below. I've removed obsolete ":nl=5^J:" as there is a :do: -- esr) -fos|fortune|Fortune system, - OTbs, am, bw, - cols#80, lines#25, - acsc=j*k(l m"q&v%w#x-, bel=^G, blink=\EN, civis=\E], - clear=\014$<20>, cnorm=\E\\, cr=^M, cub1=^H, cud1=\n$<3>, - cup=\034C%p1%{32}%+%c%p2%{32}%+%c, cuu1=\013$<3>, - cvvis=\E\:, dch1=\034W$<5>, dl1=\034R$<15>, - ed=\034Y$<3*>, el=^\Z, home=\036$<10>, ht=^Z, - ich1=\034Q$<5>, il1=\034E$<15>, ind=^J, is2=^_.., kbs=^H, - kcub1=^Aw\r, kcud1=^Ay\r, kcuf1=^Az\r, kcuu1=^Ax\r, - kend=^Ak\r, kent=^Aq, kf1=^Aa\r, kf2=^Ab\r, kf3=^Ac\r, - kf4=^Ad\r, kf5=^Ae\r, kf6=^Af\r, kf7=^Ag\r, kf8=^Ah\r, - khome=^A?\r, knp=^Ao\r, kpp=^An\r, nel=^M^J, rev=\EH, - rmacs=^O, rmso=^\I`, rmul=^\IP, sgr0=\EI, smacs=\Eo, - smso=^\H`, smul=^\HP, - -#### Masscomp consoles -# -# Masscomp has gone out of business. Their product line was purchased by -# comany in Georgia (US) called "XS International", parts and service may -# still be available through them. -# - -# (masscomp: ":MT:" changed to ":km:"; -- esr) -masscomp|masscomp workstation console, - OTbs, km, mir, - cols#80, it#8, lines#24, - clear=\E[2J, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - ed=\E[J, el=\E[K, ht=^I, il1=\E[L, is2=\EGc\EGb\EGw, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rmir=\E[4l, - rmso=\E[m, rmul=\EGau, smir=\E[4h, smso=\E[7m, smul=\EGu, -masscomp1|masscomp large screen version 1, - cols#104, lines#36, use=masscomp, -masscomp2|masscomp large screen version 2, - cols#64, lines#21, use=masscomp, - -######## OTHER OBSOLETE TYPES -# -# These terminals are *long* dead -- these entries are retained for -# historical interest only. -# - -#### Obsolete non-ANSI software emulations -# - -# CTRM terminal emulator -# 1. underlining is not allowed with colors: first, is is simulated by -# black on white, second, it disables background color manipulations. -# 2. BLINKING, REVERSE and BOLD are allowed with colors, -# so we have to save their status in the static registers A, B and H -# respectively, to be able to restore them when color changes -# (because any color change turns off ALL attributes) -# 3. and sequences alternate modes, -# rather than simply entering them. Thus we have to check the -# static register B and H to determine the status, before sending the -# escape sequence. -# 4. now must set the status of all 3 register (A,B,H) to zero -# and then reset colors -# 5. implementation of the protect mode would badly penalize the performance. -# we would have to use \E&bn sequence to turn off colors (as well as all -# other attributes), and keep the status of protect mode in yet another -# static variable. If someone really needs this mode, they would have to -# create another terminfo entry. -# 6. original color-pair is white on black. -# store the information about colors into static registers -# 7. set foreground color. it performs the following steps. -# 1) turn off all attributes -# 2) turn on the background and video attributes that have been turned -# on before (this information is stored in static registers X,Y,Z,A,B,H,D). -# 3) turn on foreground attributes -# 4) store information about foreground into U,V,W static registers -# 8. turn on background: similar to turn on foreground above -ctrm|C terminal emulator, - am, bce, xon, - colors#8, cols#80, lh#0, lines#24, lm#0, lw#0, ncv#2, nlab#0, - pairs#63, pb#19200, vt#6, - bel=^G, blink=\E&dA%{1}%PA, - bold=%?%gH%{0}%=%t\E&dH%{1}%PH%;, cbt=\Ei, - clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\E&a%p2%dc%p1%dY, cuu1=\EA, dch1=\EP$<2>, dl1=\EM, - ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=\011$<2>, hts=\E1, - il1=\EL, ind=^J, ip=$<2>, is2=\E&jA\r, kbs=^H, kcub1=\Eu\r, - kcud1=\Ew\r, kcuf1=\Ev\r, kcuu1=\Et\r, kf1=\Ep\r, - kf2=\Eq\r, kf3=\Er\r, kf4=\Es\r, kf5=\Et\r, kf6=\Eu\r, - kf7=\Ev\r, kf8=\Ew\r, khome=\Ep\r, - op=\E&bn\E&bB\E&bG\E&bR%{0}%PX%{0}%PY%{0}%PZ%{1}%PW%{1}%PV%{1}%PU, - rev=%?%gB%{0}%=%t\E&dB%{1}%PB%;, rmir=\ER, rmkx=\E&jA, - setb=\E&bn%?%gA%t\E&dA%;%?%gB%t\E&dB%;%?%gH%t\E&dH%;%?%gU%t\E&bR%;%?%gV%t\E&bG%;%?%gW%t\E&bB%;%?%p1%{1}%&%t\E&bb%{1}%e%{0}%;%PZ%?%p1%{2}%&%t\E&bg%{1}%e%{0}%;%PY%?%p1%{4}%&%t\E&br%{1}%e%{0}%;%PX, - setf=\E&bn%?%gA%t\E&dA%;%?%gB%t\E&dB%;%?%gH%t\E&dH%;%?%gX%t\E&br%;%?%gY%t\E&bg%;%?%gZ%t\E&bb%;%?%p1%{1}%&%t\E&bB%{1}%e%{0}%;%PW%?%p1%{2}%&%t\E&bG%{1}%e%{0}%;%PV%?%p1%{4}%&%t\E&bR%{1}%e%{0}%;%PU, - sgr=\E&d@%{0}%PA%{0}%PB%{0}%PD%{0}%PH%?%p1%p3%p5%|%|%t\E&dB%{1}%PB%;%?%p4%t\E&dA%{1}%PA%;%?%p6%t\E&dH%{1}%PH%;%?%p2%t\E&dD%;, - sgr0=\E&d@%{0}%PA%{0}%PB%{0}%PH, smir=\EQ, smkx=\E&jB, - smso=\E&dD, smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY, - -# gs6300 - can't use blue foreground, it clashes with underline; -# it's simulated with cyan -# Bug: The capability probably resets attributes. -# (gs6300: commented out (no ) --esr) -gs6300|emots|AT&T PC6300 with EMOTS terminal emulator, - am, bce, msgr, xon, - colors#8, cols#80, it#8, lines#24, pairs#63, - acsc=++\,\,--..``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, - is2=\E[m, kbs=^H, kcbt=^R^I, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kf1=\E[0s, kf2=\E[24s, kf3=\E[1s, - kf4=\E[23s, kf5=\E[2s, kf6=\E[22s, kf7=\E[3s, kf8=\E[21s, - khome=\E[H, mc4=\E[4i, mc5=\E[5i, op=\E[?;m, rev=\E[7m, - ri=\E[L, rmacs=\E[10m, rs1=\Ec, setb=\E[?;%p1%dm, - setf=\E[?%?%p1%{0}%=%t0%e%p1%{1}%=%t2%e%p1%{1}%-%d%;m, - sgr0=\E[m\E[10m, smacs=\E[11m, smso=\E[1m, smul=\E[4m, - -# From: 29 Oct 85 05:40:18 GMT -# MS-Kermit with Heath-19 emulation mode enabled -# (h19k: changed ":pt@:" to ":it@" -h19k|h19kermit|heathkit emulation provided by Kermit (no auto margin), - am@, da, db, xt, - it@, - ht@, use=h19-u, - -# Apple Macintosh with Versaterm, a terminal emulator distributed by Synergy -# Software (formerly Peripherals Computers & Supplies, Inc) of -# 2457 Perkiomen Ave., Reading, PA 19606, 1-800-876-8376. They can -# also be reached at support@synergy.com. -versaterm|versaterm vt100 emulator for the macintosh, - am, xenl, - cols#80, it#8, lines#24, - bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>, - clear=\E[;H\E[2J$<50/>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=^J, cuf1=\E[C$<2/>, - cup=\E[%i%p1%d;%p2%dH$<5/>, cuu1=\E[A$<2/>, - dch1=\E[1P$<7/>, dl1=\E[1M$<9/>, ed=\E[J$<50/>, - el=\E[K$<3/>, home=\E[H, ht=^I, ich1=\E[1@$<7/>, - il1=\E[1L$<9/>, is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, - kf3=\EOR, kf4=\EOS, nel=^M^J, rc=\E8, rev=\E[7m$<2/>, - rf=/usr/share/tabset/vt100, ri=\EM$<5/>, - rmkx=\E>\E[?1l, rmso=\E[m$<2/>, rmul=\E[m$<2/>, rs1=\E>, - sc=\E7, sgr0=\E[m$<2/>, smkx=\E=\E[?1h, smso=\E[7m$<2/>, - smul=\E[4m$<2/>, - -# From: Rick Thomas -# (xtalk: I added / based on the init string. -xtalk|IBM PC with xtalk communication program (versions up to 3.4), - am, mir, msgr, xon, - cols#80, it#8, lines#24, vt#3, xmc#1, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, clear=\E[H\E[J$<50>, cr=^M, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C$<2>, - cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, - cuu1=\E[A$<2>, dl1=\E[M$<99>, ed=\E[J$<50>, el=\E[K$<3>, - el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, - il1=\E[L$<99>, ind=^J, kbs=^H, kcub1=\EOD, kcud1=\EOB, - kcuf1=\EOC, kcuu1=\EOA, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, - rmkx=\E[?1l\E>, rmso=\E[m\s, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr0=\E[m, - smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m\s, - tbc=\E[3g, use=vt100+fnkeys, - -# The official PC terminal emulator program of the AT&T Product Centers. -# Note - insert mode commented out - doesn't seem to work on AT&T PC. -simterm|attpc running simterm, - am, - cols#80, lines#24, - bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\ER, - dl1=\EM, ed=\EJ, el=\EK, home=\EH, il1=\EL, ind=^J, rmcup=\EVE, - rmso=\E&d@, sgr0=\E&d@, smcup=\EVS, smso=\E&dB, - -#### Daisy wheel printers -# -# This section collects Diablo, DTC, Xerox, Qume, and other daisy -# wheel terminals. These are now largely obsolete. -# - -# (diablo1620: removed , no such file -- esr) -diablo1620|diablo1720|diablo450|ipsi|diablo 1620, - hc, os, - cols#132, it#8, - cub1=^H, cud1=^J, cuu1=\E^J, hd=\ED, hpa=\E\011%i%p1%c, - ht=^I, hts=\E1, hu=\EU, kbs=^H, tbc=\E2, -diablo1620-m8|diablo1640-m8|diablo 1620 w/8 column left margin, - cols#124, - is2=\r \E9, use=diablo1620, -# (diablo1640: removed , no such file -- esr) -diablo1640|diablo1730|diablo1740|diablo630|x1700|diablo|xerox|diablo 1640, - bel=^G, rmso=\E&, rmul=\ER, smso=\EW, smul=\EE, - use=diablo1620, -# (diablo1640-lm: removed , no such -# file -- esr) -diablo1640-lm|diablo-lm|xerox-lm|diablo 1640 with indented left margin, - cols#124, - rmso=\E&, rmul=\ER, smso=\EW, smul=\EE, use=diablo1620, -diablo1740-lm|630-lm|1730-lm|x1700-lm|diablo 1740 printer, - use=diablo1640-lm, -# DTC 382 with VDU. Has no so we fake it with . Standout -# works but won't go away without dynamite . -# The terminal has tabs, but I'm getting tired of fighting the braindamage. -# If no tab is set or the terminal's in a bad mood, it glitches the screen -# around all of memory. Note that return puts a blank ("a return character") -# in the space the cursor was at, so we use ^P return (and thus ^P newline for -# newline). Note also that if you turn off :pt: and let Unix expand tabs, -# curses won't work (some old BSD versions) because it doesn't clear this bit, -# and cursor addressing sends a tab for row/column 9. What a losing terminal! -# I have been unable to get tabs set in all 96 lines - it always leaves at -# least one line with no tabs in it, and once you tab through that line, -# it completely weirds out. -# (dtc382: change to -- it just does a clear --esr) -dtc382|DTC 382, - am, da, db, xhp, - cols#80, lines#24, lm#96, - bel=^G, clear=\020\035$<20>, cnorm=^Pb, cr=^P^M, cub1=^H, - cuf1=^PR, cup=\020\021%p2%c%p1%c, cuu1=^P^L, cvvis=^PB, - dch1=^X, dl1=^P^S, ed=\020\025\020\023\020\023, el=^P^U, - home=^P^R, il1=^P^Z, ind=^J, pad=\177, rmcup=, rmir=^Pi, - rmul=^P \0, smcup=\020\035$<20>, smir=^PI, smul=^P ^P, -dtc300s|DTC 300s, - hc, os, - cols#132, - bel=^G, cr=^M, cub1=^H, cud1=^J, cuu1=^Z, ff=^L, hd=\Eh, ht=^I, - hts=\E1, hu=\EH, ind=^J, kbs=^H, tbc=\E3, -gsi|mystery gsi terminal, - hc, os, - cols#132, - bel=^G, cr=^M, cub1=^H, cud1=^J, cuu1=^Z, hd=\Eh, ht=^I, hu=\EH, - ind=^J, -aj830|aj832|aj|anderson jacobson, - hc, os, - bel=^G, cr=^M, cub1=^H, cud1=^J, cuu1=\E7, hd=\E9, hu=\E8, - ind=^J, -# From: Chris Torek Thu, 7 Nov 85 18:21:58 EST -aj510|Anderson-Jacobson model 510, - am, mir, - cols#80, lines#24, - clear=^L, cub1=^H, cuf1=\EX, - cup=\E#%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EY, - dch1=.1*\E'D, dl1=\E&D$<2*/>, ed=\E'P, el=\E'L, ich1=, - il1=\E&I$<2*/>, ip=$<.1*/>, kcub1=\EW, kcud1=\EZ, - kcuf1=\EX, kcuu1=\EY, pad=\177, rmcup=\E"N, rmir=\E'J, - rmso=\E"I, rmul=\E"U, smcup=\E"N, smir=\E'I, smso=\E"I, - smul=\E"U, -# From: Thu Aug 20 09:09:18 1981 -# This is incomplete, but it's a start. -nec5520|nec|spinwriter|nec 5520, - hc, os, - cols#132, it#8, - bel=^G, cr=^M, cub1=^H, cud1=^J, cuu1=\E9, ff=^L, - hd=\E]s\n\E]W, ht=^I, hts=\E1, hu=\E]s\E9\E]W, ind=^J, - kbs=^H, tbc=\E3, -qume5|qume|Qume Sprint 5, - hc, os, - cols#80, it#8, - bel=^G, cr=^M, cub1=^H, cud1=^J, cuu1=^Z, ff=^L, hd=\Eh, ht=^I, - hts=\E1, hu=\EH, ind=^J, kbs=^H, tbc=\E3, -# I suspect the xerox 1720 is the same as the diablo 1620. -xerox1720|x1720|x1750|xerox 1720, - hc, os, - cols#132, it#8, - bel=^G, cr=^M, cub1=^H, cud1=^J, ff=^L, ht=^I, hts=\E1, ind=^J, - tbc=\E2, - -#### Miscellaneous obsolete terminals, manufacturers unknown -# -# If you have any information about these (like, a manufacturer's name, -# and a date on the serial-number plate) please send it! - -cad68-3|cgc3|cad68 basic monitor transparent mode size 3 chars, - OTbs, am, - cols#73, lines#36, - clear=^Z, cub1=^H, cuf1=^L, cuu1=^K, home=^^, -cad68-2|cgc2|cad68 basic monitor transparent mode size 2 chars, - OTbs, am, - cols#85, lines#39, - clear=^Z, cub1=^H, cuf1=^L, cuu1=^K, home=^^, kcub1=\E3, - kcud1=\E2, kcuf1=\E4, kcuu1=\E1, kf1=\E5, kf2=\E6, kf3=\E7, - kf4=\E8, rmso=\Em^C, smso=\Em^L, -cops10|cops|cops-10|cops 10, - am, bw, - cols#80, lines#24, - bel=^G, clear=\030$<30/>, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\020%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=^W, el=^V, - ind=^J, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, - khome=^Y, -# (d132: removed duplicate :ic=\E5:, -# merged in capabilities from a BRL entry -- esr) -d132|datagraphix|datagraphix 132a, - da, db, in, - cols#80, lines#30, - bel=^G, clear=^L, cnorm=\Em\En, cr=^M, cub1=^H, cud1=^J, - cuf1=\EL, cup=\E8%i%p1%3d%p2%3d, cuu1=\EK, cvvis=\Ex, - dch1=\E6, home=\ET, ht=^I, ich1=\E5, il1=\E3, ind=^J, kbs=^H, - kcub1=^H, kcud1=^J, nel=^M^J, ri=\Ew, -# The d800 was an early portable terminal from c.1984-85 that looked a lot -# like the original Compaq `lunchbox' portable (but no handle). It had a vt220 -# mode (which is what this entry looks like) and several other lesser-known -# emulations. -d800|Direct 800/A, - OTbs, am, da, db, msgr, xhp, - cols#80, it#8, lines#24, - acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~, - bel=^G, clear=\E[1;1H\E[2J, cnorm=\E[>12h, cr=^M, cub1=^H, - cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - cvvis=\E[>12l, ed=\E[J, el=\E[K, ht=^I, ind=\ED, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, - kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, - ri=\EM, rmacs=\E[m, rmso=\E[m, rmul=\E[m, sgr0=\E[m, - smacs=\E[1m, smso=\E[7m, smul=\E[4m, -digilog|digilog 333, - OTbs, - cols#80, lines#16, - bel=^G, cr=^M, cub1=^H, cud1=^J, cuf1=^I, cuu1=^O, el=^X, - home=^N, ind=^J, -# The DWK was a terminal manufactured in the Soviet Union c.1986 -dwk|dwk-vt|dwk terminal, - am, - cols#80, it#8, lines#24, - acsc=+\^\,Q-S.M0\177`+a\:f'g#h#i#jXkClJmFnNo~qUs_tEuPv\\wKxW~_, - bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EP, - ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\EQ, ind=^J, kbs=\177, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\Ee, - kf1=\Ef1, kf10=\Ef0, kf2=\Ef2, kf3=\Ef3, kf4=\Ef4, kf5=\Ef5, - kf6=\Ef6, kf7=\Ef7, kf8=\Ef8, kf9=\Ef9, kich1=\Ed, knp=\Eh, - kpp=\Eg, nel=^M^J, rev=\ET, ri=\ES, rmacs=\EG, rmso=\EX, - sgr0=\EX, smacs=\EF, smso=\ET, -env230|envision230|envision 230 graphics terminal, - xenl@, - mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, - sgr=\E[%?%p1%t;1%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>, - use=vt100, -# These execuports were impact-printer ttys with a 30- or maybe 15-cps acoustic -# coupler attached, the whole rig fitting in a suitcase and more or less -# portable. Hot stuff for c.1977 :-) -- esr -ep48|ep4080|execuport 4080, - OTbs, am, os, - cols#80, - bel=^G, cr=^M, cub1=^H, cud1=^J, hd=^\, hu=^^, ind=^J, -ep40|ep4000|execuport 4000, - cols#136, use=ep4080, -# Adam Thompson tells us: -# Informer series - these are all portable units, resembling older -# automatic bread-baking machines. The terminal looks like a `clamshell' -# design, but isn't. The structure is similar to the Direct terminals, -# but only half the width. The entire unit is only about 10" wide. -# It features an 8" screen (6" or 7" if you have color!), and an 9"x6" -# keyboard. All the keys are crammed together, much like some laptop -# PCs today, but perhaps less well organized...all these units have a -# bewildering array of plugs on the back, including a built-in modem. -# The 305 was a color version of the 304; the 306 and 307 were mono and -# color terminals built for IBM bisync protocols. -# From: Paul Leondis -ifmr|Informer D304, - OTbs, am, - cols#80, lines#24, - clear=\EZ, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA, dch1=\E\\, - ed=\E/, el=\EQ, home=\EH, ich1=\E[, ri=\En, rmso=\EK, sgr0=\EK, - smso=\EJ, -# Entry largely based on wy60 and has the features of wy60ak. -opus3n1+|Esprit Opus3n1+ in wy60 mode with ANSI arrow keys, - am, bw, hs, km, mir, msgr, ul, xon, - cols#80, lh#1, lines#24, lw#8, nlab#8, wsl#80, - acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, blink=\EG2, - cbt=\EI, civis=\E`0, clear=\E*$<100>, cnorm=\E`1, cr=^M, - cub1=^H, cud1=^J, cuf1=^L, cup=\Ea%i%p1%dR%p2%dC, cuu1=^K, - dch1=\EW$<11>, dim=\EGp, dl1=\ER$<5>, dsl=\Ez(\r, - ed=\EY$<100>, el=\ET, fsl=^M, home=\036$<2>, ht=\011$<5>, - hts=\E1, if=/usr/share/tabset/std, il1=\EE$<4>, ind=^J, - ip=$<3>, - is2=\E`\:\Ee(\EO\Ee6\Ec41\E~4\Ec21\Ed/\Ezz&\E[A\177\Ezz'\E[B\177\Ezz(\E[D\177\Ezz)\E[C\177\Ezz<\E[Q\177\Ezz`\E[F\177\EA1*\EZH12, - kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\EW, kdl1=\ER, ked=\EY, - kel=\ET, kend=\E[F, kent=\E7, kf1=^A@\r, kf10=^AI\r, - kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, - kf16=^AO\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, - kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, - kich1=\EQ, kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, - mc0=\EP, mc4=^T, mc5=^R, nel=\r\n$<3>, - pfloc=\EZ2%p1%{63}%+%c%p2%s\177, - pfx=\EZ1%p1%{63}%+%c%p2%s\177, - pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<7>, - rmacs=\EH^C, rmam=\Ed., rmcup=, rmir=\Er, rmln=\EA11, - rmxon=\Ec20, rs1=\E~!\E~4$<150>, rs2=\EeF$<150>, - rs3=\EwG\Ee($<150>, - sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;\EG%{48}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c, - sgr0=\E(\EH\003\EG0\EcD, smacs=\EH^B, smam=\Ed/, - smcup=\Ezz&\E[A\177\Ezz'\E[B\177\Ezz(\E[D\177\Ezz)\E[C\177\Ezz<\E[Q\177, - smir=\Eq, smln=\EA10, smxon=\Ec21, tbc=\E0, tsl=\Ez(, - uc=\EG8\EG0, use=adm+sgr, -teletec|Teletec Datascreen, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^_, cuu1=^K, - home=^^, ind=^J, -# From: Mark Dornfeld -# This description is for the LANPAR Technologies VISION 3220 -# terminal from 1984/85. The function key definitions k0-k5 represent the -# edit keypad: FIND, INSERT HERE, REMOVE, SELECT, PREV SCREEN, -# NEXT SCREEN. The key definitions k6-k9 represent the PF1 to PF4 keys. -# -# Kenneth Randell writes on 31 Dec 1998: -# I had a couple of scopes (3221) like this once where I used to work, around -# the 1987 time frame if memory serves me correctly. These scopes were made -# by an outfit called LANPAR Technologies, and were meant to me DEC VT 220 -# compatible. The 3220 was a plain text terminal like the VT-220, the 3221 -# was a like the VT-240 (monochrome with Regis + Sixel graphics), and the 3222 -# was like the VT-241 (color with Regis + Sixel Graphics). These terminals -# (3221) cost about $1500 each, and one was always broken -- had to be sent -# back to the shop for repairs. -# The only real advantage these scopes had over the VT-240's were: -# 1) They were faster in the Regis display, or at least the ones I did -# 2) They had a handy debugging feature where you could split-screen the -# scope, the graphics would appear on the top, and the REGIS commands would -# appear on the bottom. I don't remember the VT-240s being able to do that. -# I would swear that LANPAR Technologies was in MA someplace, but since I -# don't work at the same place anymore, and those terminals and manuals were -# long since junked, I cannot be any more sure than that. -# -# (v3220: removed obsolete ":kn#10:", -# I added / based on the init string -- esr) -v3220|LANPAR Vision II model 3220/3221/3222, - OTbs, am, mir, xenl, - cols#80, it#8, lines#24, - clear=\E[H\E[J, cub1=^H, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - ed=\E[J, el=\E[K, ht=^I, il1=\E[L, - is2=\E>\E[?3l\E[?7h\E[?8h\E[p, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kf0=\E[1~, kf1=\E[2~, kf2=\E[3~, - kf3=\E[4~, kf4=\E[5~, kf5=\E[6~, kf6=\E[OP, kf7=\E[OQ, - kf8=\E[OR, kf9=\E[OS, khome=\E[H, ri=\EM, rmam=\E[?7l, - rmir=\E[4l, rmkx=\E>, rmso=\E[m, rmul=\E[m, sgr0=\E[m, - smam=\E[?7h, smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m, -######## ICH/ICH1 VERSUS RMIR/SMIR -# -# Some non-curses applications get confused if both ich/ich1 and rmir/smir -# are present; the symptom is doubled characters in an update using insert. -# These applications are technically correct; in both 4.3BSD termcap and -# terminfo, you're not actually supposed to specify both ich/ich1 and rmir/smir -# unless the terminal needs both. To my knowledge, no terminal still in this -# file requires both other than the very obsolete dm2500. -# -# For ncurses-based applications this is not a problem, as ncurses uses -# one or the other as appropriate but never mixes the two. Therefore we -# have not corrected entries like `linux' and `xterm' that specify both. -# If you see doubled characters from these, use the linux-nic and xterm-nic -# entries that suppress ich/ich1. And upgrade to ncurses! -# - -######## VT100/ANSI/ISO 6429/ECMA-48/PC-TERM TERMINAL STANDARDS -# -# ANSI X3.64 has been withdrawn and replaced by ECMA-48. The ISO 6429 and -# ECMA-48 standards are said to be almost identical, but are not the same -# as X3.64 (though for practical purposes they are close supersets of it). -# -# You can obtain ECMA-48 for free by sending email to helpdesk@ecma.ch -# requesting the standard(s) you want (i.e. ECMA-48, "Control Functions for -# Coded Character Sets"), include your snail-mail address, and you should -# receive the document in due course. Don't expect an email acknowledgement. -# -# Related standards include "X3.4-1977: American National Standard Code for -# Information Interchange" (the ASCII standard) and "X3.41.1974: -# Code-Extension Techniques for Use with the 7-Bit Coded Character Set of -# American National Standard for Information Interchange." I believe (but -# am not certain) that these are effectively identical to ECMA-6 and ECMA-35 -# respectively. -# - -#### VT100/ANSI/ECMA-48 -# -# ANSI Standard (X3.64) Control Sequences for Video Terminals and Peripherals -# and ECMA-48 Control Functions for Coded Character Sets. -# -# Much of the content of this comment is adapted from a table prepared by -# Richard Shuford, based on a 1984 Byte article. Terminfo correspondences, -# discussion of some terminfo-related issues, and updates to capture ECMA-48 -# have been added. Control functions described in ECMA-48 only are tagged -# with * after their names. -# -# The table is a complete list of the defined ANSI X3.64/ECMA-48 control -# sequences. In the main table, \E stands for an escape (\033) character, -# SPC for space. Pn stands for a single numeric parameter to be inserted -# in decimal ASCII. Ps stands for a list of such parameters separated by -# semicolons. Parameter meanings for most parametrized sequences are -# decribed in the notes. -# -# Sequence Sequence Parameter or -# Mnemonic Name Sequence Value Mode terminfo -# ----------------------------------------------------------------------------- -# APC Applicatn Program Command \E _ - Delim - -# BEL Bell * ^G - - bel -# BPH Break Permitted Here * \E B - * - -# BS Backpace * ^H - EF - -# CAN Cancel * ^X - - - (A) -# CBT Cursor Backward Tab \E [ Pn Z 1 eF cbt -# CCH Cancel Previous Character \E T - - - -# CHA Cursor Horizntal Absolute \E [ Pn G 1 eF hpa (B) -# CHT Cursor Horizontal Tab \E [ Pn I 1 eF tab (C) -# CMD Coding Method Delimiter * \E -# CNL Cursor Next Line \E [ Pn E 1 eF nel (D) -# CPL Cursor Preceding Line \E [ Pn F 1 eF - -# CPR Cursor Position Report \E [ Pn ; Pn R 1, 1 - - (E) -# CSI Control Sequence Intro \E [ - Intro - -# CTC Cursor Tabulation Control \E [ Ps W 0 eF - (F) -# CUB Cursor Backward \E [ Pn D 1 eF cub -# CUD Cursor Down \E [ Pn B 1 eF cud -# CUF Cursor Forward \E [ Pn C 1 eF cuf -# CUP Cursor Position \E [ Pn ; Pn H 1, 1 eF cup (G) -# CUU Cursor Up \E [ Pn A 1 eF cuu -# CVT Cursor Vertical Tab \E [ Pn Y - eF - (H) -# DA Device Attributes \E [ Pn c 0 - - -# DAQ Define Area Qualification \E [ Ps o 0 - - -# DCH Delete Character \E [ Pn P 1 eF dch -# DCS Device Control String \E P - Delim - -# DL Delete Line \E [ Pn M 1 eF dl -# DLE Data Link Escape * ^P - - - -# DMI Disable Manual Input \E \ - Fs - -# DSR Device Status Report \E [ Ps n 0 - - (I) -# DTA Dimension Text Area * \E [ Pn ; Pn SPC T - PC - -# EA Erase in Area \E [ Ps O 0 eF - (J) -# ECH Erase Character \E [ Pn X 1 eF ech -# ED Erase in Display \E [ Ps J 0 eF ed (J) -# EF Erase in Field \E [ Ps N 0 eF - -# EL Erase in Line \E [ Ps K 0 eF el (J) -# EM End of Medium * ^Y - - - -# EMI Enable Manual Input \E b Fs - -# ENQ Enquire ^E - - - -# EOT End Of Transmission ^D - * - -# EPA End of Protected Area \E W - - - (K) -# ESA End of Selected Area \E G - - - -# ESC Escape ^[ - - - -# ETB End Transmission Block ^W - - - -# ETX End of Text ^C - - - -# FF Form Feed ^L - - - -# FNK Function Key * \E [ Pn SPC W - - - -# GCC Graphic Char Combination* \E [ Pn ; Pn SPC B - - - -# FNT Font Selection \E [ Pn ; Pn SPC D 0, 0 FE - -# GSM Graphic Size Modify \E [ Pn ; Pn SPC B 100, 100 FE - (L) -# GSS Graphic Size Selection \E [ Pn SPC C none FE - -# HPA Horz Position Absolute \E [ Pn ` 1 FE - (B) -# HPB Char Position Backward \E [ j 1 FE - -# HPR Horz Position Relative \E [ Pn a 1 FE - (M) -# HT Horizontal Tab * ^I - FE - (N) -# HTJ Horz Tab w/Justification \E I - FE - -# HTS Horizontal Tab Set \E H - FE hts -# HVP Horz & Vertical Position \E [ Pn ; Pn f 1, 1 FE - (G) -# ICH Insert Character \E [ Pn @ 1 eF ich -# IDCS ID Device Control String \E [ SPC O - * - -# IGS ID Graphic Subrepertoire \E [ SPC M - * - -# IL Insert Line \E [ Pn L 1 eF il -# IND Index \E D - FE - -# INT Interrupt \E a - Fs - -# JFY Justify \E [ Ps SPC F 0 FE - -# IS1 Info Separator #1 * ^_ - * - -# IS2 Info Separator #1 * ^^ - * - -# IS3 Info Separator #1 * ^] - * - -# IS4 Info Separator #1 * ^\ - * - -# LF Line Feed ^J - - - -# LS1R Locking Shift Right 1 * \E ~ - - - -# LS2 Locking Shift 2 * \E n - - - -# LS2R Locking Shift Right 2 * \E } - - - -# LS3 Locking Shift 3 * \E o - - - -# LS3R Locking Shift Right 3 * \E | - - - -# MC Media Copy \E [ Ps i 0 - - (S) -# MW Message Waiting \E U - - - -# NAK Negative Acknowledge * ^U - * - -# NBH No Break Here * \E C - - - -# NEL Next Line \E E - FE nel (D) -# NP Next Page \E [ Pn U 1 eF - -# NUL Null * ^@ - - - -# OSC Operating System Command \E ] - Delim - -# PEC Pres. Expand/Contract * \E Pn SPC Z 0 - - -# PFS Page Format Selection * \E Pn SPC J 0 - - -# PLD Partial Line Down \E K - FE - (T) -# PLU Partial Line Up \E L - FE - (U) -# PM Privacy Message \E ^ - Delim - -# PP Preceding Page \E [ Pn V 1 eF - -# PPA Page Position Absolute * \E [ Pn SPC P 1 FE - -# PPB Page Position Backward * \E [ Pn SPC R 1 FE - -# PPR Page Position Forward * \E [ Pn SPC Q 1 FE - -# PTX Parallel Texts * \E [ \ - - - -# PU1 Private Use 1 \E Q - - - -# PU2 Private Use 2 \E R - - - -# QUAD Typographic Quadding \E [ Ps SPC H 0 FE - -# REP Repeat Char or Control \E [ Pn b 1 - rep -# RI Reverse Index \E M - FE - (V) -# RIS Reset to Initial State \E c - Fs - -# RM Reset Mode * \E [ Ps l - - - (W) -# SACS Set Add. Char. Sep. * \E [ Pn SPC / 0 - - -# SAPV Sel. Alt. Present. Var. * \E [ Ps SPC ] 0 - - (X) -# SCI Single-Char Introducer \E Z - - - -# SCO Sel. Char. Orientation * \E [ Pn ; Pn SPC k - - - -# SCS Set Char. Spacing * \E [ Pn SPC g - - - -# SD Scroll Down \E [ Pn T 1 eF rin -# SDS Start Directed String * \E [ Pn ] 1 - - -# SEE Select Editing Extent \E [ Ps Q 0 - - (Y) -# SEF Sheet Eject & Feed * \E [ Ps ; Ps SPC Y 0,0 - - -# SGR Select Graphic Rendition \E [ Ps m 0 FE sgr (O) -# SHS Select Char. Spacing * \E [ Ps SPC K 0 - - -# SI Shift In ^O - - - (P) -# SIMD Sel. Imp. Move Direct. * \E [ Ps ^ - - - -# SL Scroll Left \E [ Pn SPC @ 1 eF - -# SLH Set Line Home * \E [ Pn SPC U - - - -# SLL Set Line Limit * \E [ Pn SPC V - - - -# SLS Set Line Spacing * \E [ Pn SPC h - - - -# SM Select Mode \E [ Ps h none - - (W) -# SO Shift Out ^N - - - (Q) -# SOH Start Of Heading * ^A - - - -# SOS Start of String * \E X - - - -# SPA Start of Protected Area \E V - - - (Z) -# SPD Select Pres. Direction * \E [ Ps ; Ps SPC S 0,0 - - -# SPH Set Page Home * \E [ Ps SPC G - - - -# SPI Spacing Increment \E [ Pn ; Pn SPC G none FE - -# SPL Set Page Limit * \E [ Ps SPC j - - - -# SPQR Set Pr. Qual. & Rapid. * \E [ Ps SPC X 0 - - -# SR Scroll Right \E [ Pn SPC A 1 eF - -# SRCS Set Reduced Char. Sep. * \E [ Pn SPC f 0 - - -# SRS Start Reversed String * \E [ Ps [ 0 - - -# SSA Start of Selected Area \E F - - - -# SSU Select Size Unit * \E [ Pn SPC I 0 - - -# SSW Set Space Width * \E [ Pn SPC [ none - - -# SS2 Single Shift 2 (G2 set) \E N - Intro - -# SS3 Single Shift 3 (G3 set) \E O - Intro - -# ST String Terminator \E \ - Delim - -# STAB Selective Tabulation * \E [ Pn SPC ^ - - - -# STS Set Transmit State \E S - - - -# STX Start pf Text * ^B - - - -# SU Scroll Up \E [ Pn S 1 eF indn -# SUB Substitute * ^Z - - - -# SVS Select Line Spacing * \E [ Pn SPC \ 1 - - -# SYN Synchronous Idle * ^F - - - -# TAC Tabul. Aligned Centered * \E [ Pn SPC b - - - -# TALE Tabul. Al. Leading Edge * \E [ Pn SPC a - - - -# TATE Tabul. Al. Trailing Edge* \E [ Pn SPC ` - - - -# TBC Tab Clear \E [ Ps g 0 FE tbc -# TCC Tabul. Centered on Char * \E [ Pn SPC c - - - -# TSR Tabulation Stop Remove * \E [ Pn SPC d - FE - -# TSS Thin Space Specification \E [ Pn SC E none FE - -# VPA Vert. Position Absolute \E [ Pn d 1 FE vpa -# VPB Line Position Backward * \E [ Pn k 1 FE - -# VPR Vert. Position Relative \E [ Pn e 1 FE - (R) -# VT Vertical Tabulation * ^K - FE - -# VTS Vertical Tabulation Set \E J - FE - -# -# --------------------------------------------------------------------------- -# -# Notes: -# -# Some control characters are listed in the ECMA-48 standard without -# being assigned functions relevant to terminal control there (they -# referred to other standards such as ISO 1745 or ECMA-35). They are listed -# here anyway for completeness. -# -# (A) ECMA-48 calls this "CancelCharacter" but retains the CCH abbreviation. -# -# (B) There seems to be some confusion abroad between CHA and HPA. Most -# `ANSI' terminals accept the CHA sequence, not the HPA. but terminfo calls -# the capability (hpa). ECMA-48 calls this "Cursor Character Absolute" but -# preserved the CHA abbreviation. -# -# (C) CHT corresponds to terminfo (tab). Usually it has the value ^I. -# Occasionally (as on, for example, certain HP terminals) this has the HTJ -# value. ECMA-48 calls this "Cursor Forward Tabulation" but preserved the -# CHT abbreviation. -# -# (D) terminfo (nel) is usually \r\n rather than ANSI \EE. -# -# (E) ECMA-48 calls this "Active Position Report" but preserves the CPR -# abbreviation. -# -# (F) CTC parameter values: 0 = set char tab, 1 = set line tab, 2 = clear -# char tab, 3 = clear line tab, 4 = clear all char tabs on current line, -# 5 = clear all char tabs, 6 = clear all line tabs. -# -# (G) CUP and HVP are identical in effect. Some ANSI.SYS versions accept -# HVP, but always allow CUP as an alternate. ECMA-48 calls HVP "Character -# Position Absolute" but retains the HVP abbreviation. -# -# (H) ECMA calls this "Cursor Line Tabulation" but preserves the CVT -# abbreviation. -# -# (I) DSR parameter values: 0 = ready, 1 = busy, 2 = busy, will send DSR -# later, 3 = malfunction, 4 = malfunction, will send DSR later, 5 = request -# DSR, 6 = request CPR response. -# -# (J) ECMA calls ED "Erase In Page". EA/ED/EL parameters: 0 = clear to end, -# 1 = clear from beginning, 2 = clear. -# -# (K) ECMA calls this "End of Guarded Area" but preserves the EPA abbreviation. -# -# (L) The GSM parameters are vertical and horizontal parameters to scale by. -# -# (M) Some ANSI.SYS versions accept HPR, but more commonly `ANSI' terminals -# use CUF for this function and ignore HPR. ECMA-48 calls this "Character -# Position Relative" but retains the HPR abbreviation. -# -# (N) ECMA-48 calls this "Character Tabulation" but retains the HT -# abbreviation. -# -# (O) SGR parameter values: 0 = default mode (attributes off), 1 = bold, -# 2 = dim, 3 = italicized, 4 = underlined, 5 = slow blink, 6 = fast blink, -# 7 = reverse video, 8 = invisible, 9 = crossed-out (marked for deletion), -# 10 = primary font, 10 + n (n in 1..9) = nth alternative font, 20 = Fraktur, -# 21 = double underline, 22 = turn off 2, 23 = turn off 3, 24 = turn off 4, -# 25 = turn off 5, 26 = proportional spacing, 27 = turn off 7, 28 = turn off -# 8, 29 = turn off 9, 30 = black fg, 31 = red fg, 32 = green fg, 33 = yellow -# fg, 34 = blue fg, 35 = magenta fg, 36 = cyan fg, 37 = white fg, 38 = set -# fg color as in CCIT T.416, 39 = set default fg color, 40 = black bg -# 41 = red bg, 42 = green bg, 43 = yellow bg, 44 = blue bg, 45 = magenta bg, -# 46 = cyan bg, 47 = white bg, 48 = set bg color as in CCIT T.416, 39 = set -# default bg color, 50 = turn off 26, 51 = framed, 52 = encircled, 53 = -# overlined, 54 = turn off 51 & 52, 55 = not overlined, 56-59 = reserved, -# 61-65 = variable highlights for ideograms. -# -# (P) SI is also called LSO, Locking Shift Zero. -# -# (Q) SI is also called LS1, Locking Shift One. -# -# (R) Some ANSI.SYS versions accept VPR, but more commonly `ANSI' terminals -# use CUD for this function and ignore VPR. ECMA calls it `Line Position -# Absolute' but retains the VPA abbreviation. -# -# (S) MC parameters: 0 = start xfer to primary aux device, 1 = start xfer from -# primary aux device, 2 = start xfer to secondary aux device, 3 = start xfer -# from secondary aux device, 4 = stop relay to primary aux device, 5 = -# start relay to primary aux device, 6 = stop relay to secondary aux device, -# 7 = start relay to secondary aux device. -# -# (T) ECMA-48 calls this "Partial Line Forward" but retains the PLD -# abbreviation. -# -# (U) ECMA-48 calls this "Partial Line Backward" but retains the PLU -# abbreviation. -# -# (V) ECMA-48 calls this "Reverse Line Feed" but retains the RI abbreviation. -# -# (W) RM/SM modes are as follows: 1 = Guarded Area Transfer Mode (GATM), -# 2 = Keyboard Action Mode (KAM), 3 = Control Representation Mode (CRM), -# 4 = Insertion Replacement Mode, 5 = Status Report Transfer Mode (SRTM), -# 6 = Erasure Mode (ERM), 7 = Line Editing Mode (LEM), 8 = Bi-Directional -# Support Mode (BDSM), 9 = Device Component Select Mode (DCSM), -# 10 = Character Editing Mode (HEM), 11 = Positioning Unit Mode (PUM), -# 12 = Send/Receive Mode, 13 = Format Effector Action Mode (FEAM), -# 14 = Format Effector Transfer Mode (FETM), 15 = Multiple Area Transfer -# Mode (MATM), 16 = Transfer Termination Mode, 17 = Selected Area Transfer -# Mode, 18 = Tabulation Stop Mode, 19 = Editing Boundary Mode, 20 = Line Feed -# New Line Mode (LF/NL), Graphic Rendition Combination Mode (GRCM), 22 = -# Zero Default Mode (ZDM). The EBM and LF/NL modes have actually been removed -# from ECMA-48's 5th edition but are listed here for reference. -# -# (X) Select Alternate Presentation Variants is used only for non-Latin -# alphabets. -# -# (Y) "Select Editing Extent" (SEE) was ANSI "Select Edit Extent Mode" (SEM). -# -# (Z) ECMA-48 calls this "Start of Guarded Area" but retains the SPA -# abbreviation. -# -# --------------------------------------------------------------------------- -# -# Abbreviations: -# -# Intro an Introducer of some kind of defined sequence; the normal 7-bit -# X3.64 Control Sequence Introducer is the two characters "Escape [" -# -# Delim a Delimiter -# -# x/y identifies a character by position in the ASCII table (column/row) -# -# eF editor function (see explanation) -# -# FE format effector (see explanation) -# -# F is a Final character in -# an Escape sequence (F from 3/0 to 7/14 in the ASCII table) -# a control sequence (F from 4/0 to 7/14) -# -# Gs is a graphic character appearing in strings (Gs ranges from -# 2/0 to 7/14) in the ASCII table -# -# Ce is a control represented as a single bit combination in the C1 set -# of controls in an 8-bit character set -# -# C0 the familiar set of 7-bit ASCII control characters -# -# C1 roughly, the set of control chars available only in 8-bit systems. -# This is too complicated to explain fully here, so read Jim Fleming's -# article in the February 1983 BYTE, especially pages 214 through 224. -# -# Fe is a Final character of a 2-character Escape sequence that has an -# equivalent representation in an 8-bit environment as a Ce-type -# (Fe ranges from 4/0 to 5/15) -# -# Fs is a Final character of a 2-character Escape sequence that is -# standardized internationally with identical representation in 7-bit -# and 8-bit environments and is independent of the currently -# designated C0 and C1 control sets (Fs ranges from 6/0 to 7/14) -# -# I is an Intermediate character from 2/0 to 2/15 (inclusive) in the -# ASCII table -# -# P is a parameter character from 3/0 to 3/15 (inclusive) in the ASCII -# table -# -# Pn is a numeric parameter in a control sequence, a string of zero or -# more characters ranging from 3/0 to 3/9 in the ASCII table -# -# Ps is a variable number of selective parameters in a control sequence -# with each selective parameter separated from the other by the code -# 3/11 (which usually represents a semicolon); Ps ranges from -# 3/0 to 3/9 and includes 3/11 -# -# * Not relevant to terminal control, listed for completeness only. -# -# Format Effectors versus Editor Functions -# -# A format effector specifies how following output is to be displayed. -# An editor function allows you to modify the display. Informally -# format effectors may be destructive; format effectors should not be. -# -# For instance, a format effector that moves the "active position" (the -# cursor or equivalent) one space to the left would be useful when you want to -# create an overstrike, a compound character made of two standard characters -# overlaid. Control-H, the Backspace character, is actually supposed to be a -# format effector, so you can do this. But many systems use it in a -# nonstandard fashion, as an editor function, deleting the character to the -# left of the cursor and moving the cursor left. When Control-H is assumed to -# be an editor function, you cannot predict whether its use will create an -# overstrike unless you also know whether the output device is in an "insert -# mode" or an "overwrite mode". When Control-H is used as a format effector, -# its effect can always be predicted. The familiar characters carriage -# return, linefeed, formfeed, etc., are defined as format effectors. -# -# NOTES ON THE DEC VT100 IMPLEMENTATION -# -# Control sequences implemented in the VT100 are as follows: -# -# CPR, CUB, CUD, CUF, CUP, CUU, DA, DSR, ED, EL, HTS, HVP, IND, -# LNM, NEL, RI, RIS, RM, SGR, SM, TBC -# -# plus several private DEC commands. -# -# Erasing parts of the display (EL and ED) in the VT100 is performed thus: -# -# Erase from cursor to end of line Esc [ 0 K or Esc [ K -# Erase from beginning of line to cursor Esc [ 1 K -# Erase line containing cursor Esc [ 2 K -# Erase from cursor to end of screen Esc [ 0 J or Esc [ J -# Erase from beginning of screen to cursor Esc [ 1 J -# Erase entire screen Esc [ 2 J -# -# Some brain-damaged terminal/emulators respond to Esc [ J as if it were -# Esc [ 2 J, but this is wrong; the default is 0. -# -# The VT100 responds to receiving the DA (Device Attributes) control -# -# Esc [ c (or Esc [ 0 c) -# -# by transmitting the sequence -# -# Esc [ ? l ; Ps c -# -# where Ps is a character that describes installed options. -# -# The VT100's cursor location can be read with the DSR (Device Status -# Report) control -# -# Esc [ 6 n -# -# The VT100 reports by transmitting the CPR sequence -# -# Esc [ Pl ; Pc R -# -# where Pl is the line number and Pc is the column number (in decimal). -# -# The specification for the DEC VT100 is document EK-VT100-UG-003. - -#### ANSI.SYS -# -# Here is a description of the color and attribute controls supported in the -# the ANSI.SYS driver under MS-DOS. Most console drivers and ANSI -# terminal emulators for Intel boxes obey these. They are a proper subset -# of the ECMA-48 escapes. -# -# 0 all attributes off -# 1 foreground bright -# 4 underscore on -# 5 blink on/background bright (not reliable with brown) -# 7 reverse-video -# 8 set blank (non-display) -# 10 set primary font -# 11 set first alternate font (on PCs, display ROM characters 1-31) -# 12 set second alternate font (on PCs, display IBM high-half chars) -# -# Color attribute sets -# 3n set foreground color / 0=black, 1=red, 2=green, 3=brown, -# 4n set background color \ 4=blue, 5=magenta, 6=cyan, 7=white -# Bright black becomes gray. Bright brown becomes yellow, -# These coincide with the prescriptions of the ISO 6429/ECMA-48 standard. -# -# * If the 5 attribute is on and you set a background color (40-47) it is -# supposed to enable bright background. -# -# * Many VGA cards (such as the Paradise and compatibles) do the wrong thing -# when you try to set a "bright brown" (yellow) background with attribute -# 5 (you get a blinking yellow foreground instead). A few displays -# (including the System V console) support an attribute 6 that undoes this -# braindamage (this is required by iBCS2). -# -# * Some older versions of ANSI.SYS have a bug that causes thems to require -# ESC [ Pn k as EL rather than the ANSI ESC [ Pn K. (This is not ECMA-48 -# compatible.) - -#### Intel Binary Compatibility Standard -# -# For comparison, here are the capabilities implied by the Intel Binary -# Compatibility Standard for UNIX systems (Intel order number 468366-001). -# These recommendations are optional. IBCS2 allows the leading escape to -# be either the 7-bit \E[ or 8-bit \0233 introducer, in accordance with -# the ANSI X.364/ISO 6429/ECMA-48 standard. Here are the iBCS2 capabilities -# (as described in figure 9-3 of the standard). Those expressed in the ibcs2 -# terminfo entry are followed with the corresponding capability in parens: -# -# CSI k disable (n=0) or enable (n=1) keyclick -# CSI 2h lock keyboard -# CSI 2i send screen as input -# CSI 2l unlock keyboard -# CSI 6m enable background color intensity -# CSI <0-2>c reserved -# CSI <0-59>m select graphic rendition -# CSI ;H (cup) cursor to line n and column m -# CSI ;f cursor to line n and column m -# CSI @ (ich) insert characters -# CSI A (cuu) cursor up n lines -# CSI B (cud) cursor down n lines -# CSI C (cuu) cursor right n characters -# CSI D (cud) cursor left n characters -# CSI E cursor down n lines and in first column -# CSI F cursor up n lines and in first column -# CSI G (hpa) position cursor at column n-1 -# CSI J (ed) erase in display -# CSI K (el) erase in line -# CSI L (il) insert line(s) -# CSI P (dch) delete characters -# CSI S (indn) scroll up n lines -# CSI T (rin) scroll down n lines -# CSI X (ech) erase characters -# CSI Z (cbt) back up n tab stops -# CSI ` cursor to column n on line -# CSI a (cuu) cursor right n characters -# CSI d (vpa) cursor to line n -# CSI e cursor down n lines and in first column -# CSI g (cbt) clear all tabs -# CSI z make virtual terminal n active -# CSI ?7h (smam) turn automargin on -# CSI ?7l (rmam) turn automargin off -# CSI s save cursor position -# CSI u restore cursor position to saved value -# CSI =A set overscan color -# CSI =F set normal foreground color -# CSI =G set normal background color -# CSI =H set reverse foreground color -# CSI =I set reverse foreground color -# CSI =J set graphic foreground color -# CSI =K set graphic foreground color -# CSI =g (dispc) display n from alternate graphics character set -# CSI =

;B set bell parameters -# CSI =;C set cursor parameters -# CSI =D enable/disable intensity of background color -# CSI =E set/clear blink vs. bold background -# CSI 7 (sc) (sc) save cursor position -# CSI 8 (rc) (rc) restore cursor position to saved value -# CSI H (hts) (hts) set tab stop -# CSI Q define function key string -# (string must begin and end with delimiter char) -# CSI c (clear) clear screen -# -# The lack of any specification for attributes in SGR (among other things) -# makes this a wretchedly weak standard. The table above is literally -# everything iBSC2 has to say about terminal escape sequences; there is -# no further discussion of their meaning or how to set the parameters -# in these sequences at all. -# - -######## NONSTANDARD CAPABILITY TRANSLATIONS USED IN THIS FILE -# -# The historical termcap file entries were written primarily in 4.4BSD termcap. -# The 4.4BSD termcap set was substantially larger than the original 4.1BSD set, -# with the extension names chosen for compatibility with the termcap names -# assigned in System V terminfo. There are some variant extension sets out -# there. We try to describe them here. -# -# XENIX extensions: -# -# The XENIX extensions include a set of function-key capabilities as follows: -# -# code XENIX variable name terminfo name name clashes? -# ---- ------------------- ------------- ----------------------- -# CL key_char_left -# CR key_char_right -# CW key_change_window create_window -# EN key_end kend -# HM key_home khome -# HP ?? -# LD key_delete_line kdl1 -# LF key_linefeed label_off -# NU key_next_unlocked_cell -# PD key_page_down knp -# PL ?? -# PN start_print mc5 -# PR ?? -# PS stop_print mc4 -# PU key_page_up kpp pulse -# RC key_recalc remove_clock -# RF key_toggle_ref req_for_input -# RT key_return kent -# UP key_up_arrow kcuu1 parm_up_cursor -# WL key_word_left -# WR key_word_right -# -# The XENIX extensions also include the following character-set and highlight -# capabilities: -# -# XENIX terminfo function -# ----- -------- ------------------------------ -# GS smacs start alternate character set -# GE rmacs end alternate character set -# GG :as:/:ae: glitch (analogous to :sg:/:ug:) -# bo blink begin blink (not used in /etc/termcap) -# be end blink (not used in /etc/termcap) -# bb blink glitch (not used in /etc/termcap) -# it dim begin dim (not used in /etc/termcap) -# ie end dim (not used in /etc/termcap) -# ig dim glitch (not used in /etc/termcap) -# -# Finally, XENIX also used the following forms-drawing capabilities: -# -# single double type ASCII approximation -# ------ ------ ------------- ------------------- -# GV Gv vertical line | -# GH Gv horizontal line - _ -# G1 G5 top right corner _ | -# G2 G6 top left corner | -# G3 G7 bottom left corner |_ -# G4 G8 bottom right corner _| -# GD Gd down-tick character T -# GL Gl left-tick character -| -# GR Gr right-tick character |- -# GC Gc middle intersection -|- -# GU Gu up-tick character _|_ -# -# These were invented to take advantage of the IBM PC ROM character set. One -# can compose an acsc string from the single-width characters as follows -# "j{G4}k{G1}l{G2}m{G3}q{GH}x{GV}t{GR}u{GL}v{GU}w{GD}n{GC}" -# When translating a termcap file, ncurses tic will do this automatically. -# The double forms characters don't fit the SVr4 terminfo model. -# -# AT&T Extensions: -# -# The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of -# nonstandard capabilities. Its signature is the KM capability, used to name -# some sort of keymap file. EE, BO, CI, CV, XS, DS, FL and FE are in this -# set. Comments in the original, and a little cross-checking with other AT&T -# documentation, seem to establish that BO=:mr: (start reverse video), DS=:mh: -# (start dim), XS=:mk: (secure/invisible mode), EE=:me: (end highlights), -# FL=:LO: (enable soft labels), FE=:LF: (disable soft labels), CI=:vi: (make -# cursor invisible), and CV=:ve: (make cursor normal). -# -# HP Extensions -# -# The HP library (as of mid-1995, their term.h file version 70.1) appears to -# have the System V capabilities up to SVr1 level. After that, it supports -# two nonstandard caps meml and memu corresponding to the old termcap :ml:, -# :mu: capabilities. After that, it supports caps plab_norm, label_on, -# label_off, and key_f11..key_f63 capabilities like SVr4's. This makes the -# HP binary format incompatible with SVr4's. -# -# IBM Extensions -# -# There is a set of nonstandard terminfos used by IBM's AIX operating system. -# The AIX terminfo library diverged from SVr1 terminfo, and replaces all -# capabilities following prtr_non with the following special capabilties: -# box[12], batt[12], colb[0123456789], colf[0123456789], f[01234567], kbtab, -# kdo, kcmd, kcpn, kend, khlp, knl, knpn, kppn, kppn, kquit, ksel, kscl, kscr, -# ktab, kmpf[123456789], apstr, ksf1..ksf10, kf11...kf63, kact, topl, btml, -# rvert, lvert. Some of these are identical to XPG4/SVr4 equivalents: -# kcmd, kend, khlp, and kf11...kf63. Two others (kbtab and ksel) can be -# renamed (to kcbt and kslt). The places in the box[12] capabilities -# correspond to acsc chars, here is the mapping: -# -# box1[0] = ACS_ULCORNER -# box1[1] = ACS_HLINE -# box1[2] = ACS_URCORNER -# box1[3] = ACS_VLINE -# box1[4] = ACS_LRCORNER -# box1[5] = ACS_LLCORNER -# box1[6] = ACS_TTEE -# box1[7] = ACS_RTEE -# box1[8] = ACS_BTEE -# box1[9] = ACS_LTEE -# box1[10] = ACS_PLUS -# -# The box2 characters are the double-line versions of these forms graphics. -# The AIX binary terminfo format is incompatible with SVr4's. -# -# Iris console extensions: -# -# HS is half-intensity start; HE is half-intensity end -# CT is color terminal type (for Curses & rogue) -# CP is color change escape sequence -# CZ are color names (for Curses & rogue) -# -# The ncurses tic utility recognizes HS as an alias for mh . -# -# TC Extensions: -# -# There is a set of extended termcaps associated with something -# called the "Terminal Control" or TC package created by MainStream Systems, -# Winfield Kansas. This one also uses GS/GE for as/ae, and also uses -# CF for civis and CO for cvvis. Finally, they define a boolean :ct: -# that flags color terminals. -# -######## CHANGE HISTORY -# -# The last /etc/termcap version maintained by John Kunze was 8.3, dated 8/5/94. -# Releases 9 and up are maintained by Eric S. Raymond as part of the ncurses -# project. -# -# This file contains all the capability information present in John Kunze's -# last version of the termcap master file, except as noted in the change -# comments at end of file. Some information about very ancient obsolete -# capabilities has been moved to comments. Some all-numeric names of older -# terminals have been retired. -# -# I changed :MT: to :km: (the 4.4BSD name) everywhere. I commented out some -# capabilities (EP, dF, dT, dV, kn, ma, ml, mu, xr, xx) that are no longer -# used by BSD curses. -# -# The 9.1.0 version of this file was translated from my lightly-edited copy of -# 8.3, then mechanically checked against 8.3 using Emacs Lisp code written for -# the purpose. Unless the ncurses tic implementation and the Lisp code were -# making perfectly synchronized mistakes which I then failed to catch by -# eyeball, the translation was correct and perfectly information-preserving. -# -# Major version number bumps correspond to major version changes in ncurses. -# -# Here is a log of the changes since then: -# -# 9.1.0 (Wed Feb 1 04:50:32 EST 1995): -# * First terminfo master translated from 8.3. -# 9.2.0 (Wed Feb 1 12:21:45 EST 1995): -# * Replaced Wyse entries with updated entries supplied by vendor. -# -# 9.3.0 (Mon Feb 6 19:14:40 EST 1995): -# * Added contact & status info from G. Clark Brown . -# 9.3.1 (Tue Feb 7 12:00:24 EST 1995): -# * Better XENIX keycap translation. Describe TC termcaps. -# * Contact and history info supplied by Qume. -# 9.3.2 (Sat Feb 11 23:40:02 EST 1995): -# * Raided the Shuford FTP site for recent termcaps/terminfos. -# * Added information on X3.64 and VT100 standard escape sequences. -# 9.3.3 (Mon Feb 13 12:26:15 EST 1995): -# * Added a correct X11R6 xterm entry. -# * Fixed terminfo translations of padding. -# 9.3.4 (Wed Feb 22 19:27:34 EST 1995): -# * Added correct acsc/smacs/rmacs strings for vt100 and xterm. -# * Added u6/u7/u8/u9 capabilities. -# * Added PCVT entry. -# 9.3.5 (Thu Feb 23 09:37:12 EST 1995): -# * Emacs uses :so:, not :mr:, for its mode line. Fix linux entry -# to use reverse-video standout so Emacs will look right. -# * Added el1 capability to ansi. -# * Added smacs/rmacs to ansi.sys. -# -# 9.4.0 (Sat Feb 25 16:43:25 EST 1995): -# * New mt70 entry. -# * Added COPYRIGHTS AND OTHER DELUSIONS. -# * Added AT&T 23xx & 500/513, vt220 and vt420, opus3n1+, netronics -# smartvid & smarterm, ampex 175 & 219 & 232, -# env230, falco ts100, fluke, intertube, superbrain, ncr7901, vic20, -# ozzie, trs200, tr600, Tandy & Texas Instruments VDTs, intext2, -# screwpoint, fviewpoint, Contel Business Systems, Datamedia Colorscan, -# adm36, mime314, ergo4000, ca22851. Replaced att7300, esprit, dd5500. -# * Replaced the Perkin-Elmer entries with vendor's official ones. -# * Restored the old minimal-ansi entry, luna needs it. -# * Fixed some incorrect ip and proportional-padding translations. -# 9.4.1 (Mon Feb 27 14:18:33 EST 1995): -# * Fix linux & AT386 sgr strings to do A_ALTCHARSET turnoff correctly. -# * Make the xterm entry 65 lines again; create xterm25 and xterm24 -# to force a particular height. -# * Added beehive4 and reorganized other Harris entries. -# 9.4.2 (Thu Mar 9 01:45:44 EST 1995): -# * Merged in DEC's official entries for its terminals. The only old -# entry I kept was Doug Gwyn's alternate vt100 (as vt100-avo). -# * Replaced the translated BBN Bitgraph entries with purpose-built -# ones from AT&T's SVr3. -# * Replaced the AT&T entries with AT&T's official terminfos. -# * Added teleray 16, vc415, cops10. -# * Merged in many individual capabilities from SCO terminfo files. -# 9.4.3 (Mon Mar 13 02:37:53 EST 1995): -# * Typo fixes. -# * Change linux entry so A_PROTECT enables IBM-PC ROM characters. -# 9.4.4 (Mon Mar 27 12:32:35 EST 1995): -# * Added tty35, Ann Arbor Guru series. vi300 and 550, cg7900, tvi803, -# pt210, ibm3164, IBM System 1, ctrm, Tymshare scanset, dt200, adm21, -# simterm, citoh and variants. -# * Replaced sol entry with sol1 and sol2. -# * Replaced Qume QVT and Freedom-series entries with purpose-built -# terminfo entries. -# * Enhanced vt220, tvi910, tvi924, hpterm, hp2645, adm42, tek -# and dg200 entries using caps from from SCO. -# * Added the usual set of function-key mappings to ANSI entry. -# * Corrected xterm's function-key capabilities. -# 9.4.5 (Tue Mar 28 14:27:49 EST 1995): -# * Fix in xterm entry, cub and cud are not reliable under X11R6. -# 9.4.6 (Thu Mar 30 14:52:15 EST 1995): -# * Fix in xterm entry, get the arrow keys right. -# * Change some \0 escapes to \200. -# 9.4.7 (Tue Apr 4 11:27:11 EDT 1995) -# * Added apple (Videx card), adm1a, oadm31. -# * Fixed malformed ampex csr. -# * Fixed act4, cyb110; they had old-style prefix padding left in. -# * Changed mandatory to advisory padding in many entries. -# * Replaced HP entries up to hpsub with purpose-built ones. -# * Blank rmir/smir/rmdc/smdc capabilities removed. -# * Small fixes merged in from SCO entries for lpr, fos, tvi910+, tvi924. -# 9.4.8 (Fri Apr 7 09:36:34 EDT 199): -# * Replaced the Ann Arbor entries with SCO's, the init strings are -# more efficient (but the entries otherwise identical). -# * Added dg211 from Shuford archive. -# * Added synertek, apple-soroc, ibmpc, pc-venix, pc-coherent, xtalk, -# adm42-nl, pc52, gs6300, xerox820, uts30. -# * Pull SCO's padding into vi200 entry. -# * Improved capabilities for tvi4107 and other Televideo and Viewpoint -# entries merged in from SCO's descriptions. -# * Fixed old-style prefix padding on zen50, h1500. -# * Moved old superbee entry to superbee-xsb, pulled in new superbee -# entry from SCO's description. -# * Reorganized the special entries. -# * Added lm#0 to cbunix and virtual entries. -# -# 9.5.0 (Mon Apr 10 11:30:00 EDT 1995): -# * Restored cdc456tst. -# * Fixed sb1 entry, SCO erroneously left out the xsb glitch. -# * Added megatek, beacon, microkit. -# * Freeze for ncurses-1.9 release. -# 9.5.1 (Fri Apr 21 12:46:42 EDT 1995): -# * Added historical data for TAB. -# * Comment fixes from David MacKenzie. -# * Added the new BSDI pc3 entry. -# 9.5.2 (Tue Apr 25 17:27:52 EDT 1995) -# * A change in the tic -C logic now ensures that all entries in -# the termcap translation will fit in < 1024 bytes. -# * Added `bobcat' and `gator' HP consoles and the Nu machine entries -# from GNU termcap file. This merges in all their local information. -# 9.5.3 (Tue Apr 25 22:28:13 EDT 1995) -# * Changed tic -C logic to dump all capabilities used by GNU termcap. -# * Added warnings about entries with long translations (restoring -# all the GNU termcaps pushes a few over the edge). -# 9.5.4 (Wed Apr 26 15:35:09 EDT 1995) -# * Yet another tic change, and a couple of entry tweaks, to reduce the -# number of long (> 1024) termcap translations back to 0. -# -# 9.6.0 (Mon May 1 10:35:54 EDT 1995) -# * Added kf13-kf20 to Linux entry. -# * Regularize Prime terminal names. -# * Historical data on Synertek. -# * Freeze for ncurses-1.9.1. -# 9.6.1 (Sat May 6 02:00:52 EDT 1995): -# * Added true xterm-color entry, renamed djm's pseudo-color entry. -# * Eliminate whitespace in short name fields, this tanks some scripts. -# * Name field changes to shorten some long entries. -# * Termcap translation now automatically generates empty rmir/smir -# when ich1/ich is present (copes with an ancient vi bug). -# * Added `screen' entries from FSF's screen-3.6.2. -# * Added linux-nic and xterm-nic entries. -# 9.6.2 (Sat May 6 17:00:55 EDT 1995): -# * Change linux entry to use smacs=\E[11m and have an explicit acsc, -# eliminating some special-case code in ncurses. -# -# 9.7.0 (Tue May 9 18:03:12 EDT 1995): -# * Added vt320-k3, rsvidtx from the Emacs termcap.dat file. I think -# that captures everything unique from it. -# * Added reorder script generator. -# * Freeze for ncurses 1.9.2 release. -# 9.7.1 (Thu Jun 29 09:35:22 EDT 1995): -# * Added Sean Farley's kspd, flash, rs1 capabilities for linux. -# * Added Olaf Siebert's corrections for adm12. -# * ansi-pc-color now includes the colors and pairs caps, so that -# entries which use it will inherit them automatically. -# * The linux entry can now recognize the center (keypad 5) key. -# * Removed some junk that found its way into Linux acsc. -# -# 9.8.0 (Fri Jul 7 04:46:57 EDT 1995): -# * Add 50% cut mark as a desperate hack to reduce tic's core usage. -# * xterm doesn't try to use application keypad mode any more. -# * Freeze for ncurses-1.9.3 release. -# 9.8.1 (Thu Jul 19 17:02:12 EDT 1995): -# * Added corrected sun entry from vendor. -# * Added csr capability to linux entry. -# * Peter Wemm says the at386 hpa should be \E[%i%p1%dG, not \E[%p1%dG. -# * Added vt102-nsgr to cope with stupid IBM PC `VT100' emulators. -# * Some commented-out caps in long entries come back in, my code -# for computing string-table lengths had a bug in it. -# * pcansi series modified to fit comm-program reality better. -# 9.8.2 (Sat Sep 9 23:35:00 EDT 1995): -# * BSD/OS actually ships the ibmpc3 bold entry as its console. -# * Correct some bad aliases in the pcansi series -# * Added entry for QNX console. -# * Clean up duplicate long names for use with 4.4 library. -# * Change vt100 standout to be normal reverse vide, not bright reverse; -# this makes the Emacs status line look better. -# 9.8.3 (Sun Sep 10 13:07:34 EDT 1995): -# * Added Adam Thompson's VT320 entries, also his dtx-sas and z340. -# * Minor surgery, mostly on name strings, to shorten termcap version. -# -# 9.9.0 (Sat Sep 16 23:03:48 EDT 1995): -# * Added dec-vt100 for use with the EWAN emulator. -# * Added kmous to xterm for use with xterm's mouse-tracking facility. -# * Freeze for 1.9.5 alpha release. -# 9.9.1 (Wed Sep 20 13:46:09 EDT 1995): -# * Changed xterm lines to 24, the X11R6 default. -# 9.9.2 (Sat Sep 23 21:29:21 EDT 1995): -# * Added 7 newly discovered, undocumented acsc characters to linux -# entry (the pryz{|} characters). -# * ncurses no longer steals A_PROTECT. Simplify linux sgr accordingly. -# * Correct two typos in the xterm entries introduced in 9.9.1. -# * I finally figured out how to translate ko capabilities. Done. -# * Added tvi921 entries from Tim Theisen. -# * Cleanup: dgd211 -> dg211, adm42-nl -> adm42-nsl. -# * Removed mystery tec entry, it was neither interesting nor useful. -# * shortened altos3, qvt203, tvi910+, tvi92D, tvi921-g, tvi955, vi200-f, -# vi300-ss, att505-24, contel301, dm3045, f200vi, pe7000c, vc303a, -# trs200, wind26, wind40, wind50, cdc456tst, dku7003, f110, dg211, -# by making them relative to use capabilities -# * Added cuf1=^L to tvi925 from deleted variant tvi925a. -# * fixed cup in adm22 entry and parametrized strings in vt320-k3. -# * added it#8 to entries that used to have :pt: -- tvi912, vi200, -# ampex80, -# * Translate all home=\E[;H capabilities to home=\E[H, they're -# equivalent. -# * Translate \E[0m -> \E[m in [rs]mso, [rs]mul, and init strings of -# vt100 and ANSI-like terminals. -# 9.9.3 (Tue Sep 26 20:11:15 EDT 1995): -# * Added it#8 and ht=\t to *all* entries with :pt:; the ncurses tic -# does this now, too. -# * fviewpoint is gone, it duplicated screwpoint. -# * Added hp2627, graphos, graphos-30, hpex, ibmega, ibm8514, ibm8514-c, -# ibmvga, ibmvga-c, minix, mm340, mt4520-rv, screen2, screen3, -# versaterm, vi500, vsc, vt131, vt340, vt400 entries from UW. -# The UW vi50 replaces the old one, which becomes vi50adm, -# * No more embedded commas in name fields. -# -# 9.10.0 (Wed Oct 4 15:39:37 EDT 1995): -# * XENIX forms characters in fos, trs16, scoansi become acsc strings, -# * Introduced klone+* entries for describing Intel-console behavior. -# * Linux kbs is default-mapped to delete for some brain-dead reason. -# * -nsl -> -ns. The -pp syntax is obsolete. -# * Eliminate [A-Z]* primaries in accordance with SVr4 terminfo docs. -# * Make xterm entry do application-keypad mode again. I got complaints -# that it was messing up someone's 3270 emulator. -# * Added some longname fields in order to avoid warning messages from -# older tic implementations. -# * According to ctlseqs.ms, xterm has a full vt100 graphics set. Use -# it! (This gives us pi, greater than, less than, and a few more.) -# * Freeze for ncurses-1.9.6 release. -# 9.10.1 (Sat Oct 21 22:18:09 EDT 1995): -# * Add xon to a number of console entries, they're memory-mapped and -# don't need padding. -# * Correct the use dependencies in the ansi series. -# * Hand-translate more XENIX capabilities. -# * Added hpterm entry for HP's X terminal emulator. -# * Added aixterm entries. -# * Shortened four names so everything fits in 14 chars. -# -# 9.11.0 (Thu Nov 2 17:29:35 EST 1995): -# * Added ibcs2 entry and info on iBCS2 standard. -# * Corrected hpa/vpa in linux entry. They still fail the worm test. -# * We can handle the HP meml/memu capability now. -# * Added smacs to klone entries, just as documentation. -# * Carrected ansi.sys and cit-500 entries. -# * Added z39, vt320-k311, v220c, and avatar entries. -# * Make pcansi use the ansi.sys invis capability. -# * Added DIP switch descriptions for vt100, adm31, tvi910, tvi920c, -# tvi925, tvi950, dt80, ncr7900i, h19. -# * X3.64 has been withdrawn, change some references. -# * Removed function keys from ansi-m entry. -# * Corrected ansi.sys entry. -# * Freeze for ncurses-1.9.7 release. -# 9.11.1 (Tue Nov 6 18:18:38 EST 1995): -# * Added rmam/smam capabilities to many entries based on init strings. -# * Added correct hpa/vpa to linux. -# * Reduced several entries relative to vt52. -# 9.11.2 (Tue Nov 7 00:21:06 EST 1995): -# * Exiled some utterly unidentifiable custom and homebrew types to the -# UFO file; also, obsolete small-screen hardware; also, entries which -# look flat-out incorrect, garbled, or redundant. These include the -# following entries: carlock, cdc456tst, microkit, qdss, ramtek, tec, -# tec400, tec500, ubell, wind, wind16, wind40, wind50, plasma, agile, -# apple, bch, daleblit, nucterm, ttywilliams, nuterminal, nu24, bnu, -# fnu, nunix-30, nunix-61, exidy, ex3000, sexidy, pc52, sanyo55, -# yterm10, yterm11, yterm10nat, aed, aed-ucb, compucolor, compucolor2, -# vic20, dg1, act5s, netx, smartvid, smarterm, sol, sol2, dt200, -# trs80, trs100, trs200, trs600, xitex, rsvidtx, vid, att2300-x40, -# att2350-x40, att4410-nfk, att5410-ns, otty5410, att5425-nl-w, -# tty5425-fk, tty5425-w-fk, cita, c108-na, c108-rv-na, c100-rv-na, -# c108-na-acs, c108-rv-na-acs, ims950-ns, infotonKAS, ncr7900i-na, -# regent60na, scanset-n, tvi921-g, tvi925n, tvi925vbn, tvi925vb, -# vc404-na, vc404-s-na, vt420nam, vt420f-nam, vt420pc-nam, vt510nam, -# vt510pc-nam, vt520nam, vt525nam, xterm25, xterm50, xterm65, xterms. -# * Corrected pcvt25h as suggested by Brian C. Grayson -# . -# 9.11.3 (Thu Nov 9 12:14:40 EST 1995): -# * Added kspd=\E[P, kcbt=\E[Z, to linux entry, changed kbs back to ^H. -# * Added kent=\EOM to xterm entry. -# -# 9.11.4 (Fri Nov 10 08:31:35 EST 1995): -# * Corrected gigi entry. -# * Restored cuf/cud1 to xterm, their apparent bugginess was due to -# bad hpa/vpa capabilities. -# * Corrected flash strings to have a uniform delay of .2 sec. No -# more speed-dependent NUL-padding! -# * terminfo capabilities in comments bracketed with <>. -# 9.11.5 (Fri Nov 10 15:35:02 EST 1995): -# * Replaced pcvt with the 3.31 pcvt entries. -# * Freeze for 1.9.7a. -# 9.11.6 (Mon Nov 13 10:20:24 EST 1995): -# * Added emu entry from the X11R6 contrib tape sources. -# -# 9.12.0 (Wed Nov 29 04:22:25 EST 1995): -# * Improved iris-ansi and sun entries. -# * More flash string improvements. -# * Corrected wy160 & wy160 as suggested by Robert Dunn -# * Added dim to at386. -# * Reconciled pc3 and ibmpc3 with the BSDI termcap file. Keith says -# he's ready to start using the termcap generated from this one. -# * Added vt102-w, vt220-w, xterm-bold, wyse-vp, wy75ap, att4424m, -# ln03, lno3-w, h19-g, z29a*, qdss. Made vt200 an alias of vt220. -# * Improved hpterm, apollo consoles, fos, qvt101, tvi924. tvi925, -# att610, att620, att630, -# * Changed hazeltine name prefix from h to hz. -# * Sent t500 to the UFI file. -# * I think we've sucked all the juice out of BSDI's termcap file now. -# * Freeze for ncurses 1.9.8 release -# 9.12.1 (Thu Nov 30 03:14:06 EST 1995) -# * Unfreeze, linux kbs needed to be fixed. -# * Tim Theisen pinned down a bug in the DMD firmware. -# 9.12.2 (Thu Nov 30 19:08:55 EST 1995): -# * Fixes to ansi and klone capabilities (thank you, Aaron Ucko). -# (The broken ones had been shadowed by sgr.) -# 9.12.3 (Thu Dec 7 17:47:22 EST 1995): -# * Added documentation on ECMA-48 standard. -# * New Amiga entry. -# 9.12.4 (Thu Dec 14 04:16:39 EST 1995): -# * More ECMA-48 stuff -# * Corrected typo in minix entry, added pc-minix. -# * Corrected khome/kend in xterm (thank you again, Aaron Ucko). -# * Added rxvt entry. -# * Added 1.3.x color-change capabilities to linux entry. -# 9.12.5 (Tue Dec 19 00:22:10 EST 1995): -# * Corrected rxvt entry khome/kend. -# * Corrected linux color change capabilities. -# * NeXT entries from Dave Wetzel. -# * Cleaned up if and rf file names (all in /usr/share now). -# * Changed linux op capability to avoid screwing up a background color -# pair set by setterm. -# 9.12.6 (Wed Feb 7 16:14:35 EST 1996): -# * Added xterm-sun. -# 9.12.7 (Fri Feb 9 13:27:35 EST 1996): -# * Added visa50. -# -# 9.13.0 (Sun Mar 10 00:13:08 EST 1996): -# * Another sweep through the Shuford archive looking for new info. -# * Added dg100 alias to dg6053 based on a comp.terminals posting. -# * Added st52 from Per Persson. -# * Added eterm from the GNU Emacs 19.30 distribution. -# * Freeze for 1.9.9. -# 9.13.1 (Fri Mar 29 14:06:46 EST 1996): -# * FreeBSD console entries from Andrew Chernov. -# * Removed duplicate Atari st52 name. -# 9.13.2 (Tue May 7 16:10:06 EDT 1996) -# * xterm doesn't actually have ACS_BLOCK. -# * Change klone+color setf/setb to simpler forms that can be -# translated into termcap. -# * Added xterm1. -# * Removed mechanically-generated junk capabilities from cons* entries. -# * Added color support to bsdos. -# 9.13.3 (Thu May 9 10:35:51 EDT 1996): -# * Added Wyse 520 entries from Wm. Randolph Franklin . -# * Created ecma+color, linux can use it. Also added ech to linux. -# * Teach xterm about more keys. Add Thomas Dickey's 3.1.2E updates. -# * Add descriptions to FreeBSD console entries. Also shorten -# some aliases to <= 14 chars for portability. -# * Added x68k console -# * Added OTbs to several VT-series entries. -# 9.13.4 (Wed May 22 10:54:09 EDT 1996): -# * screen entry update for 3.7.1 from Michael Alan Dorfman. -# 9.13.5 (Wed Jun 5 11:22:41 EDT 1996): -# * kterm correction due to Kenji Rikitake. -# * ACS correction in vt320-kll due to Phillippe De Muyter. -# 9.13.6 (Sun Jun 16 15:01:07 EDT 1996): -# * Sun console entry correction from J.T. Conklin. -# * Changed all DEC VT300 and up terminals to use VT300 tab set -# 9.13.7 (Mon Jul 8 20:14:32 EDT 1996): -# * Added smul to linux entry (we never noticed it was missing -# because of sgr!). -# * Added rmln to hp+labels (deduced from other HP entries). -# * Added vt100 acsc capability to vt220, vt340, vt400, d800, dt80-sas, -# pro350, att7300, 5420_2, att4418, att4424, att4426, att505, vt320-k3. -# * Corrected vt220 acsc. -# * The klone+sgr and klone+sgr-dumb entries now use klone+acs; -# this corresponds to reality and helps prevent some tic warnings. -# * Added sgr0 to c101, pcix, vt100-nav, screen2, oldsun, next, altos2, -# hpgeneric, hpansi, hpsub, hp236, hp700-wy, bobcat, dku7003, adm11, -# adm12, adm20, adm21, adm22, adm31, adm36, adm42, pt100, pt200, -# qvt101, tvi910, tvi921, tvi92B, tvi925, tvi950, tvi970, wy30-mc, -# wy50-mc, wy100, wyse-vp, ampex232, regent100, viewpoint, vp90, -# adds980, cit101, cit500, contel300, cs10, dm80, falco, falco-p, -# f1720a, go140, sb1, superbeeic, microb, ibm8512, kt7, ergo4000, -# owl, uts30, dmterm, dt100, dt100, dt110, appleII, apple-videx, -# lisa, trsII, atari, st52, pc-coherent, basis, m2-man, bg2.0, bg1.25, -# dw3, ln03, ims-ansi, graphos, t16, zen30, xtalk, simterm, d800, -# ifmr, v3220, wy100q, tandem653, ibmaed. -# * Added DWK terminal description. -# 9.13.8 (Wed Jul 10 11:45:21 EDT 1996): -# * Many entries now have highlights inherited from adm+sgr. -# * xterm entry now corresponds to XFree86 3.1.2E, with color. -# * xtitle and xtitle-twm enable access to the X status line. -# * Added linux-1.3.6 color palette caps in conventional format. -# * Added adm1178 terminal. -# * Move fos and apollo terminals to obsolete category. -# * Aha! The BRL terminals file told us what the Iris extensions mean. -# * Added, from the BRL termcap file: rt6221, rt6221-w, northstar, -# commodore, cdc721-esc, excel62, osexec. Replaced from the BRL file: -# cit500, adm11. -# 9.13.9 (Mon Jul 15 00:32:51 EDT 1996): -# * Added, from the BRL termcap file: cdc721, cdc721l, cdc752, cdc756, -# aws, awsc, zentec8001, modgraph48, rca vp3301/vp3501, ex155. -# * Corrected, from BRL termcap file: vi50. -# * Better rxvt entry & corrected xterm entries from Thomas Dickey. -# 9.13.10 (Mon Jul 15 12:20:13 EDT 1996): -# * Added from BRL: cit101e & variants, hmod1, vi200, ansi77, att5620-1, -# att5620-s, att5620-s, dg210, aas1901, hz1520, hp9845, osborne -# (old osborne moved to osborne-w), tvi970-vb, tvi970-2p, tvi925-hi, -# tek4105brl, tek4106brl, tek4107brl,tek4109brl, hazel, aepro, -# apple40p, apple80p, appleIIgs, apple2e, apple2e-p, apple-ae. -# * Paired-attribute fixes to various terminals. -# * Sun entry corrections from A. Lukyanov & Gert-Jan Vons. -# * xterm entry corrections from Thomas Dickey. -# 9.13.11 (Tue Jul 30 16:42:58 EDT 1996): -# * Added t916 entry, translated from a termcap in SCO's support area. -# * New qnx entry from Michael Hunter. -# 9.13.12 (Mon Aug 5 14:31:11 EDT 1996): -# * Added hpex2 from Ville Sulko. -# * Fixed a bug that ran the qnx and pcvtXX together. -# 9.13.13 (Fri Aug 9 01:16:17 EDT 1996): -# * Added dtterm entry from Solaris CDE. -# 9.13.14 (Tue Sep 10 15:31:56 EDT 1996): -# * corrected pairs#8 typo in dtterm entry. -# * added tvi9065. -# 9.13.15 (Sun Sep 15 02:47:05 EDT 1996): -# * updated xterm entry to cover 3.1.2E's new features. -# 9.13.16 (Tue Sep 24 12:47:43 EDT 1996): -# * Added new minix entry -# * Removed aliases of the form ^[0-9]* for obsolete terminals. -# * Commented out linux-old, nobody's using pre-1.2 kernels now. -# 9.13.17 (Fri Sep 27 13:25:38 EDT 1996): -# * Added Prism entries and kt7ix. -# * Caution notes about EWAN and tabset files. -# * Changed /usr/lib/tabset -> /usr/share/tabset. -# * Added acsc/rmacs/smacs to vt52. -# 9.13.18 (Mon Oct 28 13:24:59 EST 1996): -# * Merged in Thomas Dickey's reorganization of the xterm entries; -# added technical corrections to avoid warning messages. -# 9.13.19 (Sat Nov 16 16:05:49 EST 1996): -# * Added rmso=\E[27m in Linux entry. -# * Added koi8-r support for Linux console. -# * Replace xterm entries with canonical ones from XFree86 3.2. -# 9.13.20 (Sun Nov 17 23:02:51 EST 1996): -# * Added color_xterm from Jacob Mandelson -# 9.13.21 (Mon Nov 18 12:43:42 EST 1996): -# * Back off the xterm entry to use r6 as a base. -# 9.13.22 (Sat Nov 30 11:51:31 EST 1996): -# * Added dec-vt220 at Adrian Garside's request. -# 9.13.23 (Fri Feb 21 16:36:06 EST 1997): -# * Replaced minitel-2 entry. -# * Added MGR, ansi-nt. -# * Minor corrections to xterm entries. -# * Replaced EWAN telnet entry. -# * Dropped the reorder script generator. It was a fossil. -# 9.13.24 (Sun Feb 23 20:55:23 EST 1997): -# * Thorsten Lockert added termcap `bs' to a lot of types, working from -# the 4.4BSD Lite2 file. -# 9.13.25 (Fri Jun 20 12:33:36 EDT 1997): -# * Added Datapoint 8242, pilot, ansi_psx, rbcomm, vt220js. -# * Updated iris-ansi; corrected vt102-w. -# * Switch base xterm entry to 3.3 level. -# 9.13.26 (Mon Jun 30 22:45:45 EDT 1997) -# * Added basic4. -# * Removed rmir/smir from tv92B. -# -# 10.2.0 (Sat Feb 28 12:47:36 EST 1998): -# * add hds200 description (Walter Skorski) -# * add beterm entry (Fred Fish) -# * add Thomas Dickey's xterm-xf86-v40, xterm-8bit, xterm-16color, -# iris-color entries. -# * add emx entries. -# * Replaced unixpc entry with Benjamin Sittler's corrected version. -# * Replaced xterm/rxvt/emu/syscons entries with Thomas Dickey's -# versions. -# * remove sgr string from qnx based on report by Xiaodan Tang -# * Added u8/u9, removed rmul/smul from sun-il. -# * 4.2 tic displays \0 rather than \200. -# * add linux-koi8r to replace linux-koi8 (which uses a corrupt acsc, -# apparently based on cp-866). -# * Merged in Pavel Roskin's acsc for linux-koi8 -# * Corrected some erroneous \\'s to \. -# * 4.2 ncurses has been changed to use setaf/setab, consistent w/SysV. -# * II -> ii in pcvtXX, screen, xterm. -# * Removed \n chars following ANSI escapes in sgr & friends. -# * Updated Wyse entries. -# * h19 corrections from Tim Pierce. -# * Noted that the dm2500 has both ich and smir. -# * added pccons for the Alpha under OSF/1. -# * Added Sony NEWS workstation entries and cit101e-rv. -# * Reverted `amiga'; to Kent Polk's version, as I'm told -# the Verkuil entry messes up with Amiga Telnet. -# 10.2.1 (Sun Mar 8 18:32:04 EST 1998): -# * Corrected attributions in 10.2.0 release notes. -# * Scanned the Shuford archive for new terminfos and information. -# * Removed sgr from qnx entry (Thomas Dickey). -# * Added entries for ICL and Kokusai Data Systems terminals. -# * Incorporated NCR terminfos from the Boundless Technology FTP site. -# * Incorporated att700 from the Boundless Technology FTP site. -# * Miscellaneous contact-address and Web-page updates. -# -# 1998/5/9 -# * add nxterm and xterm-color terminfo description (request by Cristian -# Gafton ). -# * modify rxvt terminfo description to clear alternate screen before -# switching back to normal screen, for compatibility with applications -# which use xterm (reported by Manoj Kasichainula ). -# * modify linux terminfo description to reset color palette (reported -# by Telford Tendys ). -# -# 1998/7/4 -# * merge changes from current XFree86 xterm terminfo descriptions. -# -# 1998/7/25 -# * Added minitel1 entries from Alexander Montaron. -# * Added qnxt2 from Federico Bianchi. -# * Added arm100 terminfo entries from Dave Millen. -# -# 1998/8/6 -# * Added ncsa telnet entries from Francesco Potorti -# -# 1998/8/15 -# * modify ncsa telnet entry to reflect color, other capabilities based on -# examination of the source code - T.Dickey. -# -# 1998/8/22 -# * Corrected some erroneous \\'s to \ (eterm, osborne) - TD. -# -# 1998/8/29 -# * Added Francesco Potorti's tuned Wyse 99 entries. -# * dtterm enacs correction from Alexander V. Lukyanov. -# * Add ncsa-ns, ncsa-m-ns and ncsa-m entries from esr version. -# * correct a typo in icl6404 entry. -# * add xtermm and xtermc -# -# 1998/9/26 -# * format most %'char' sequences to %{number} -# * adapt IBM AIX 3.2.5 terminfo - T.Dickey -# * merge Data General terminfo from Hasufin - TD -# -# 1998/10/10 -# * update xterm-xfree86 to current (patch 84), for is2/rs2 changes - TD -# * correct initialization string in xterm-r5, add misc other features -# to correspond with xterm patch 84 - TD -# -# 1998/12/19 -# * update xterm-xfree86 to current (patch 90), smcur/rmcur changes - TD -# * add Mathew Vernon's mach console entries -# * corrections for ncsa function-keys (report by Larry Virden) -# -# 1998/12/19 -# * change linux to use ncv#2, since underline does not work with color - TD -# -# 1999/1/9 -# * add kbt to iris-ansi, document other shift/control functionkeys - TD -# * correct iris-ansi and iris-ansi-ap with respect to normal vs keypad -# application modes, change kent to use the correct keypad code - TD -# -# 1999/1/10 -# * add entry for Tera Term - TD -# -# 1999/1/23 -# * minor improvements for teraterm entry - TD -# * rename several entries used by BSDI: bsdos to bsdos-pc-nobold, -# and bsdos-bold to bsdos-pc (Jeffrey C Honig) -# -# 1999/2/20 -# * resolve ambiguity of kend/kll/kslt and khome/kfnd/kich1 strings in -# xterm and ncsa entries by removing the unneeded ones. Note that -# some entries will return kend & khome versus kslt and kfnd, for -# PC-style keyboards versus strict vt220 compatiblity - TD -# -# 1999/3/13 -# * adjust xterm-xfree86 khome/kend to match default PC-style keyboard -# tables - TD -# * add 'crt' entry - TD -# * correct typos in 'linux-c' entry - TD -# -# 1999/3/14 -# * update entries for BSD/OS console to use klone+sgr and klone+color -# (Jeffrey C Honig) -# -# 1999/3/27 -# * adjust xterm-xfree86 miscellaneous keypad keys, as per patch #94 - TD. -# -# 1999/4/10 -# * add linux-lat, from RedHat patches to ncurses 4.2 -# -# 1999/4/17 -# * add complete set of default function-key definitions for scoansi - TD. -# -# 1999/7/3 -# * add cnorm, cvvis for Linux 2.2 kernels -# -# 1999/7/24 -# * add kmous to xterm-r5 -TD -# * correct entries xterm+sl and xterm+sl-twm, which were missing the -# parent "use" clause -TD -# -# 1999/7/31 -# * corrected cnorm, added el1 in 'screen' description -TD -# -# 1999/8/14 -# * add ms-vt100 -TD -# -# 1999/8/21 -# * corrections to beterm entry -TD -# -# 1999/8/28 -# * add cygwin entry -TD -# -# 1999/9/4 -# * minor corrections for beterm entry -TD -# -# 1999/9/18 -# * add acsc string to HP 70092 terminfo entry -Joerg Wunsch -# -# 1999/9/25 -# * add amiga-8bit entry -# * add console entries from NetBSD: ofcons, wsvt25, wsvt25m, rcons, -# rcons-color, based on -# ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/share/termcap/termcap.src -# * add alias for iris-ansi-net -# -# 1999/10/2 -# * corrected scoansi entry's acsc, some function keys, add color -TD -# -# 1999/10/23 -# * add cnorm, cvvis to cons25w, and modify ncv to add 'dim' -TD -# * reorder ncsa entries to make ncsa-vt220 use the alternate function -# key mapping, leaving Potorti's entries more like he named them -TD -# * remove enter/exit am-mode from cygwin -TD -# -# 1999/10/30 -# * correct typos in several entries (missing '[' from CSI): -# mgr-sun, ncsa-m, vt320-k3, att505, avt-ns, as well as smir/rmir -# strings for avt-ns -TD -# * add 'dim' to ncv mask for linux (report by Klaus Weide). -# -# 1999/11/27 -# * correct kf1-kf4 in xterm-r6 which were vt100-style PF1-PF4 -TD -# * add hts to xterm-r6, and u6-u9 to xterm-r5 -TD -# * add xterm-88color and xterm-256color -TD -# -# 1999/12/4 -# * add "obsolete" termcap strings -TD -# * add kvt and gnome entries -TD -# -# 1999/12/11 -# * correct cup string for regent100 -TD -# -# 2000/1/1 -# * update mach, add mach-color based on Debian diffs for ncurses 5.0 -TD -# * add entries for xterm-hp, xterm-vt220, xterm-vt52 and xterm-noapp -TD -# * change OTrs capabilities to rs2 -TD -# * add obsolete and extended capabilities to 'screen' -TD -# -# 2000/1/5 -# * remove kf0 from rxvt, vt520, vt525 and ibm5151 since it conflicts -# with kf10 -TD -# * updated xterm-xf86-v40, making kdch1 correspond to vt220 'Remove', -# and adding kcbt -TD -# -# 2000/1/12 -# * remove incorrect khome/kend from xterm-xf86-v333, which was based on -# nonstandard resource settings -TD -# -# 2000/2/26 -# * minor fixes for xterm-*, based on Debian #58530 -TD -# -# 2000/3/4 -# * add several terminal types from esr's "11.0", as well as comments. -# bq300*, dku7102-old, dku7202, hft, lft, pcmw, pmcons, tws*, vip*, -# vt220-8bit, vt220-old, wy85-8bit -# -# 2000/3/18 -# * add several terminal types from esr's "11.0.1" (ansi-*). -# * update OTxx capabilities for changes on 2000/3/4. -# * revert part of vt220 change (request by Todd C Miller for OpenBSD) -# -# 2000/3/26 -# * move screen's AX extension to ecma+color, modify several entries to -# use that, adjusting ncv as needed -TD -# -# 2000/4/8 -# * add bsdos-pc-m, bsdos-pc-mono (Jeffrey C Honig) -# * correct spelling error in entry name: bq300-rv was given as bg300-rv -# in esr's version. -# -# 2000/4/15 -# * add cud, ech, etc., to beterm based on feedback from Rico Tudor -TD -# * correct color definition for ibm3164, make minor changes to other -# IBM terminal definitions based on recent terminfo descriptions -TD -# -# 2000/4/22 -# * add mgterm, from NetBSD -TD -# * add alias sun-cgsix for sun-ss5 as per NetBSD -# * change cons25w to use rs2 for reset rather than rs1 -TD -# * add rc/sc to aixterm based on manpage -TD -# -# 2000/5/13 -# * remove ncv from xterm-16color, xterm-256 color -# -# 2000/6/10 -# * add kmous capability to linux to use Joerg Schoen's gpm patch. -# -# 2000/7/1 -# * add Eterm (Michael Jennings) -# -# 2000-07-18 -# * add amiga-vnc entry. -# -# 2000-08-12 -# * correct description of Top Gun Telnet. -# * add kterm-color -# -# 2000-08-26 -# * add qansi* entries from QNX ftp site. -# -# 2000-09-16 -# * add Matrix Orbital entries by Eric Z. Ayers). -# * add xterm-basic, xterm-sco entries, update related entries to XFree86 -# 4.0.1c -TD -# -# 2000-09-17 -# * add S0, E0 extensions to screen's entry -TD -# -# 2000-09-23 -# * several corrections based on tic's new parameter-checking code -TD -# * modify xterm-r6 and similar rs2 sequences which had \E7...\E8 -# bracketing sequences that reset video attributes (\E8 would restore -# them) -TD -# -# 2000-11-11 -# * rename cygwin to cygwinB19, adapt newer entry from Earnie Boyd -TD -# -# 2000-12-16 -# * improved scoansi, based on SCO man-page, and testing console, -# scoterm with tack -TD -# -# 2001-01-27 -# * modify kterm to use acsc via SCS controls. -# -# 2001-02-10 -# * screen 3.9.8 allows xterm mouse controls to pass-through -# -# 2001-03-11 -# * remove spurious "%|" from some xterm entries. -# -# 2001-03-31 -# * modify 'screen' khome/kend to match screen 3.09.08 -# * add examples of 'screen' customization (screen.xterm-xfree86, -# screen.xterm-r6, screen.teraterm) -TD -# -# 2001-04-14 -# * correct definitions of shifted editing keys for xterm-xfree86 -TD -# * add "Apple_Terminal" entries -Benjamin Sittler -# * remove time-delays from "Apple_Terminal" entries -TD -# * make sgr entries time-delays consistent with individual caps -TD -# -# 2001-05-05 -# * corrected/updated screen.xterm-xfree86 -# -# 2001-05-19 -# * ELKS descriptions, from Federico Bianchi -# * add u6 (CSR) to Eterm (Michael Jennings). -# -# 2001-07-21 -# * renamed "Apple_Terminal" entries to "nsterm" to work with Solaris's -# tic which handles names no longer than 14 characters. Add -# corresponding descriptions for the Darwin PowerPC console named -# "xnuppc" -Benjamin Sittler -# -# 2001-09-01 -# * change kbs in mach entries to ^? (Marcus Brinkmann). -# -# 2001-11-17 -# * add "putty" entry -TD -# * updated "Apple_Terminal" entries -Benjamin Sittler -# -# 2001-11-24 -# * add ms-vt100-color entry -TD -# * add "konsole" entries -TD -# -# 2001-12-08 -# * update gnome entry to Redhat 7.2 -TD -# -# 2002-05-25 -# * add kf13-kf48 strings to cons25w -TD -# * add pcvt25-color entry -TD -# * changed a few /usr/lib/tabset -> /usr/share/tabset. -# * improve some features of scoansi entry based on SCO's version -TD -# * add scoansi-new entry corresponding to OpenServer 5.0.6 -# -# 2002-06-15 -# * add kcbt to screen entry -TD -# -# 2002-06-22 -# * add rxvt-16color, ibm+16color, mvterm entries -TD -# -# 2002-09-28 -# * split out linux-basic entry, making linux-c inherit from that, and -# in turn linux (with cnorm, etc) inherit from linux-c-nc to reflect -# the history of this console type -TD -# * scaled the linux-c terminfo entry to match linux-c-nc, i.e., the -# r/g/b parameters of initc are in the range 0 to 1000 -TD -# -# 2002-10-05 -# * minor fix for scale-factor of linux-c and linux-c-nc -TD -# -# 2002-11-09 -# * split-out vt100+keypad and vt220+keypad, fix interchanged ka3/kb2 -# in the latter -TD -# -# 2002-11-16 -# * add entries for mterm (mterm, mterm-ansi, decansi) -TD -# * ncr260wy350pp has only 16 color pairs -TD -# * add sun-type4 from NetBSD -TD -# * update xterm-xfree86 to current (patch 170) -TD -# * add screen-bce, screen-s entries -TD -# * add xterm-1002, xterm-1003 entries -TD -# -# 2003-01-11 -# * update homepage for Top Gun Telnet/SSH -# -# 2003-01-25 -# * reduce duplication in emx entries, added emx-base -TD -# -# 2003-05-24 -# * corrected acs for screen.teraterm -TD -# * add tkterm entry -TD -# -# 2003-07-15 -# * cygwin changes from Charles Wilson: -# misc/terminfo.src (nxterm|xterm-color): make xterm-color -# primary instead of nxterm, to match XFree86's xterm.terminfo -# usage and to prevent circular links. -# (rxvt): add additional codes from rxvt.org. -# (rxvt-color): new alias -# (rxvt-xpm): new alias -# (rxvt-cygwin): like rxvt, but with special acsc codes. -# (rxvt-cygwin-native): ditto. rxvt may be run under XWindows, or -# with a "native" MSWin GUI. Each takes different acsc codes, -# which are both different from the "normal" rxvt's acsc. -# (cygwin): cygwin-in-cmd.exe window. Lots of fixes. -# (cygwinDBG): ditto. -# -# 2003-09-27 -# * update gnome terminal entries -TD -# -# 2003-10-04 -# * add entries for djgpp 2.03 and 2.04 -TD -# -# 2003-10-25 -# * add alias for vtnt -TD -# * update xterm-xfree86 for XFree86 4.4 -TD -# -# 2003-11-22 -# * add linux-vt (Andrey V Lukyanov) -# -# 2003-12-20 -# * add screen.linux -TD -# -# 2004-01-10 -# * revised/improved entries for tvi912b, tvi920b (Benjamin Sittler) -# -# 2004-01-17 -# * add OpenNT/Interix/SFU entries (Federico Bianchi) -# * add vt100+ and vt-utf8 entries -TD -# * add uwin entry -TD -# -# 2004-03-27 -# * add sgr strings to several common entries lacking them, e.g., -# screen, to make the entries more portable -TD -# * remove cvvis from rxvt entry, since it is the same as cnorm -TD -# * similar fixups for cvvis/cnorm various entries -TD -# -# 2004-05-22 -# * remove 'ncv' from xterm-256color (patch 188) -TD -# -# 2004-06-26 -# * add mlterm -TD -# * add xterm-xf86-v44 -TD -# * modify xterm-new aka xterm-xfree86 to accommodate luit, which relies -# on G1 being used via an ISO-2022 escape sequence (report by -# Juliusz Chroboczek) -TD -# * add 'hurd' entry -TD -# -# 2004-07-03 -# * make xterm-xf86-v43 derived from xterm-xf86-v40 rather than -# xterm-basic -TD -# * align with xterm #192's use of xterm-new -TD -# * update xterm-new and xterm-8bit for cvvis/cnorm strings -TD -# * make xterm-new the default "xterm" -TD -# -# 2004-07-10 -# * minor fixes for emu -TD -# * add emu-220 -# * add rmam/smam to linux (Trevor Van Bremen) -# * change wyse acsc strings to use 'i' map rather than 'I' -TD -# * fixes for avatar0 -TD -# * fixes for vp3a+ -TD -# -# 2004-07-17 -# * add xterm-pc-fkeys -TD -# * review/update gnome and gnome-rh90 entries (prompted by -# Redhat Bugzilla #122815) -TD -# * review/update konsole entries -TD -# * add sgr, correct sgr0 for kterm and mlterm -TD -# * correct tsl string in kterm -TD -# -# 2004-07-24 -# * make ncsa-m rmacs/smacs consistent with sgr -TD -# * add sgr, rc/sc and ech to syscons entries -TD -# * add function-keys to decansi -TD -# * add sgr to mterm-ansi -TD -# * add sgr, civis, cnorm to emu -TD -# * correct/simplify cup in addrinfo -TD -# * corrections for gnome and konsole entries -# (Redhat Bugzilla #122815) -Hans de Goede -# * modify DEC entries (vt220, etc), to add sgr string, and to use -# ISO-2022 strings for rmacs/smacs -TD -# -# 2004-07-31 -# * rename xterm-pc-fkeys to xterm+pcfkeys -TD -# -# 2004-08-07 -# * improved putty entry -Robert de Bath -# -# 2004-08-14 -# * remove dch/dch1 from rxvt because they are implemented inconsistently -# with the common usage of bce/ech -TD -# * remove khome from vt220 (vt220's have no home key) -TD -# * add rxvt+pcfkeys -TD -# -# 2004-08-21 -# * modify several entries to ensure xterm mouse and cursor visibility -# are reset in rs2 string: hurd, putty, gnome, konsole-base, mlterm, -# Eterm, screen. (The xterm entries are left alone - old ones for -# compatibility, and the new ones do not require this change) -TD -# -# 2004-08-28 -# * add morphos entry -Pavel Fedin -# * modify amiga-8bit to add khome/kend/knp/kpp -Pavel Fedin -# * corrected \E[5?l to \E[?5l in vt320 entries -TD -# -# 2004-11-20 -# * update wsvt25 entry -TD -# -# 2005-01-29 -# * update pairs for xterm-88color and xterm-256color to reflect the -# ncurses extended-color support -TD -# -# 2005-02-26 -# * modify sgr/sgr0 in xterm-new to improve tgetent's derived "me" -TD -# * add aixterm-16color to demonstrate 16-color capability -TD -# -# 2005-04-23 -# * add media-copy to vt100 -TD -# * corrected acsc string for vt52 -TD -# -# 2005-04-30 -# * add kUP, kDN (user-defined shifted up/down arrow) definitions for -# xterm-new -TD -# * add kUP5, kUP6, etc., for xterm-new and rxvt -TD -# -# 2005-05-07 -# * re-corrected acsc string for vt52 -TD -# -# 2005-05-28 -# * corrected sun-il sgr string which referred to bold and underline -TD -# * add sun-color entry -TD -# -# 2005-07-23 -# * modify sgr0 in several entries to reset alternate-charset as in the -# sgr string -TD -# * modify sgr string of prism9 to better match the individual -# attributes -TD -# -# The following sets edit modes for GNU EMACS. -# Local Variables: -# fill-prefix:"\t" -# fill-column:75 -# comment-column:0 -# comment-start-skip:"^#+" -# comment-start:"# " -# compile-command:"tic -c terminfo.master" -# End: -######## SHANTIH! SHANTIH! SHANTIH! diff --git a/src/libs/ncurses/misc/terminfo.tmp b/src/libs/ncurses/misc/terminfo.tmp deleted file mode 100644 index 6fe95946b3..0000000000 --- a/src/libs/ncurses/misc/terminfo.tmp +++ /dev/null @@ -1,21021 +0,0 @@ -######## TERMINAL TYPE DESCRIPTIONS SOURCE FILE -# -# This version of terminfo.src is distributed with ncurses. -# Report bugs and new terminal descriptions to -# bug-ncurses@gnu.org -# -# $Revision: 1.268 $ -# $Date: 2005/07/24 00:22:25 $ -# -# The original header is preserved below for reference. It is noted that there -# is a "newer" version which differs in some cosmetic details (but actually -# stopped updates several years ago); we have decided to not change the header -# unless there is also a change in content. -# -#------------------------------------------------------------------------------ -# Version 10.2.1 -# terminfo syntax -# -# Eric S. Raymond (current maintainer) -# John Kunze, Berkeley -# Craig Leres, Berkeley -# -# Please e-mail changes to terminfo@thyrsus.com; the old termcap@berkeley.edu -# address is no longer valid. The latest version can always be found at -# . -# -# PURPOSE OF THIS FILE: -# -# This file describes the capabilities of various character-cell terminals, -# as needed by software such as screen-oriented editors. -# -# Other terminfo and termcap files exist, supported by various OS vendors -# or as relics of various older versions of UNIX. This one is the longest -# and most comprehensive one in existence. It subsumes not only the entirety -# of the historical 4.4BSD, GNU, System V and SCO termcap files and the BRL -# termcap file, but also large numbers of vendor-maintained termcap and -# terminfo entries more complete and carefully tested than those in historical -# termcap/terminfo versions. -# -# Pointers to related resources (including the ncurses distribution) may -# be found at . -# -# INTERNATIONALIZATION: -# -# This file uses only the US-ASCII character set (no ISO8859 characters). -# -# This file assumes a US-ASCII character set. If you need to fix this, start -# by global-replacing \E(B and \E)B with the appropriate ISO 6429 enablers -# for your character set. \E(A and \E)A enables the British character set -# with the pound sign at position 2/3. -# -# In a Japanese-processing environment using EUC/Japanese or Shift-JIS, -# C1 characters are considered the first-byte set of the Japanese encodings, -# so \E)0 should be avoided in and initialization strings. -# -# FILE FORMAT: -# -# The version you are looking at may be in any of three formats: master -# (terminfo with OT capabilities), stock terminfo, or termcap. You can tell -# which by the format given in the header above. -# -# The master format is accepted and generated by the terminfo tools in the -# ncurses suite; it differs from stock (System V-compatible) terminfo only -# in that it admits a group of capabilities (prefixed `OT') equivalent to -# various obsolete termcap capabilities. You can, thus, convert from master -# to stock terminfo simply by filtering with `sed "/OT[^,]*,/s///"'; but if -# you have ncurses `tic -I' is nicer (among other things, it automatically -# outputs entries in a canonical form). -# -# The termcap version is generated automatically from the master version -# using tic -C. This filtering leaves in the OT capabilities under their -# original termcap names. All translated entries fit within the 1023-byte -# string-table limit of archaic termcap libraries except where explicitly -# noted below. Note that the termcap translation assumes that your termcap -# library can handle multiple tc capabilities in an entry. 4.4BSD has this -# capability. Older versions of GNU termcap, through 1.3, do not. -# -# For details on these formats, see terminfo(5) in the ncurses distribution, -# and termcap(5) in the 4.4BSD Unix Programmer's Manual. Be aware that 4.4BSD -# curses has been declared obsolete by the caretakers of the 4.4BSD sources -# as of June 1995; they are encouraging everyone to migrate to ncurses. -# -# Note: unlike some other distributed terminfo files (Novell Unix & SCO's), -# no entry in this file has embedded comments. This is so source translation -# to termcap only has to carry over leading comments. Also, no name field -# contains embedded whitespace (such whitespace confuses rdist). -# -# Further note: older versions of this file were often installed with an editor -# script (reorder) that moved the most common terminal types to the front of -# the file. This should no longer be necessary, as the file is now ordered -# roughly by type frequency with ANSI/VT100 and other common types up front. -# -# Some information has been merged in from terminfo files distributed by -# USL and SCO (see COPYRIGHTS AND OTHER DELUSIONS below). Much information -# comes from vendors who maintain official terminfos for their hardware -# (notably DEC and Wyse). -# -# A detailed change history is included at the end of this file. -# -# FILE ORGANIZATION: -# -# Comments in this file begin with # - they cannot appear in the middle -# of a terminfo/termcap entry (this feature had to be sacrificed in order -# to allow standard terminfo and termcap syntax to be generated cleanly from -# the master format). Individual capabilities are commented out by -# placing a period between the colon and the capability name. -# -# The file is divided up into major sections (headed by lines beginning with -# the string "########") and minor sections (beginning with "####"); do -# -# grep "^####" | more -# -# to see a listing of section headings. The intent of the divisions is -# (a) to make it easier to find things, and (b) to order the database so -# that important and frequently-encountered terminal types are near the -# front (so that you'll get reasonable search efficiency from a linear -# search of the termcap form even if you don't use reorder). Minor sections -# usually correspond to manufacturers or standard terminal classes. -# Parenthesized words following manufacturer names are type prefixes or -# product line names used by that manufacturers. -# -# HOW TO READ THE ENTRIES: -# -# The first name in an entry is the canonical name for the model or -# type, last entry is a verbose description. Others are mnemonic synonyms for -# the terminal. -# -# Terminal names look like - -# The part to the left of the dash, if a dash is present, describes the -# particular hardware of the terminal. The part to the right may be used -# for flags indicating special ROMs, extra memory, particular terminal modes, -# or user preferences. -# -# All names should be in lower case, for consistency in typing. -# -# The following are conventionally used suffixes: -# -2p Has two pages of memory. Likewise 4p, 8p, etc. -# -am Enable auto-margin. -# -m Monochrome. Suppress color support -# -mc Magic-cookie. Some terminals (notably older Wyses) can -# only support one attribute without magic-cookie lossage. -# Their base entry is usually paired with another that -# uses magic cookies to support multiple attributes. -# -nam No auto-margin - suppress capability -# -nl No labels - suppress soft labels -# -ns No status line - suppress status line -# -rv Terminal in reverse video mode (black on white) -# -s Enable status line. -# -vb Use visible bell () rather than . -# -w Wide - in 132 column mode. -# If a name has multiple suffixes and one is a line height, that one should -# go first. Thus `aaa-30-s-rv' is recommended over `aaa-s-rv-30'. -# -# Entries with embedded plus signs are designed to be included through use/tc -# capabilities, not used as standalone entries. -# -# To avoid search clashes, some older all-numeric names for terminals have -# been removed (i.e., "33" for the Model 33 Teletype, "2621" for the HP2621). -# All primary names of terminals now have alphanumeric prefixes. -# -# Comments marked "esr" are mostly results of applying the termcap-compiler -# code packaged with ncurses and contemplating the resulting error messages. -# In many cases, these indicated obvious fixes to syntax garbled by the -# composers. In a few cases, I was able to deduce corrected forms for garbled -# capabilities by looking at context. All the information in the original -# entries is preserved in the comments. -# -# In the comments, terminfo capability names are bracketed with <> (angle -# brackets). Termcap capability names are bracketed with :: (colons). -# -# INTERPRETATION OF USER CAPABILITIES -# -# The System V Release 4 and XPG4 terminfo format defines ten string -# capabilities for use by applications, .... In this file, we use -# certain of these capabilities to describe functions which are not covered -# by terminfo. The mapping is as follows: -# -# u9 terminal enquire string (equiv. to ANSI/ECMA-48 DA) -# u8 terminal answerback description -# u7 cursor position request (equiv. to VT100/ANSI/ECMA-48 DSR 6) -# u6 cursor position report (equiv. to ANSI/ECMA-48 CPR) -# -# The terminal enquire string should elicit an answerback response -# from the terminal. Common values for will be ^E (on older ASCII -# terminals) or \E[c (on newer VT100/ANSI/ECMA-48-compatible terminals). -# -# The cursor position request () string should elicit a cursor position -# report. A typical value (for VT100 terminals) is \E[6n. -# -# The terminal answerback description (u8) must consist of an expected -# answerback string. The string may contain the following scanf(3)-like -# escapes: -# -# %c Accept any character -# %[...] Accept any number of characters in the given set -# -# The cursor position report () string must contain two scanf(3)-style -# %d format elements. The first of these must correspond to the Y coordinate -# and the second to the %d. If the string contains the sequence %i, it is -# taken as an instruction to decrement each value after reading it (this is -# the inverse sense from the cup string). The typical CPR value is -# \E[%i%d;%dR (on VT100/ANSI/ECMA-48-compatible terminals). -# -# These capabilities are used by tack(1m), the terminfo action checker -# (distributed with ncurses 5.0). -# -# TABSET FILES -# -# All the entries in this file have been edited to assume that the tabset -# files directory is /usr/local/share/tabset, in conformance with the File Hierarchy -# Standard for Linux and open-source BSD systems. Some vendors (notably Sun) -# use /usr/lib/tabset or (more recently) /usr/share/lib/tabset. -# -# No curses package we know of actually uses these files. If their location -# is an issue, you will have to hand-patch the file locations before compiling -# this file. -# -# REQUEST FOR CONTACT INFORMATION AND HISTORICAL MATERIAL -# -# As the ANSI/ECMA-48 standard and variants take firmer hold, and as -# character-cell terminals are increasingly replaced by X displays, much of -# this file is becoming a historical document (this is part of the reason for -# the new organization, which puts ANSI types, xterm, Unix consoles, -# and vt100 up front in confidence that this will catch 95% of new hardware). -# -# For the terminal types still alive, I'd like to have manufacturer's -# contact data (Internet address and/or snail-mail + phone). -# -# I'm also interested in enriching the comments so that the latter portions of -# the file do in fact become a potted history of VDT technology as seen by -# UNIX hackers. Ideally, I'd like the headers for each manufacturer to -# include its live/dead/out-of-the-business status, and for as many -# terminal types as possible to be tagged with information like years -# of heaviest use, popularity, and interesting features. -# -# I'm especially interested in identifying the obscure entries listed under -# `Miscellaneous obsolete terminals, manufacturers unknown' before the tribal -# wisdom about them gets lost. If you know a lot about obscure old terminals, -# please go to the terminfo resource page, grab the UFO file (ufo.ti), and -# eyeball it for things you can identify and describe. -# -# If you have been around long enough to contribute, please read the file -# with this in mind and send me your annotations. -# -# COPYRIGHTS AND OTHER DELUSIONS -# -# The BSD ancestor of this file had a standard Regents of the University of -# California copyright with dates from 1980 to 1993. -# -# Some information has been merged in from a terminfo file SCO distributes. -# It has an obnoxious boilerplate copyright which I'm ignoring because they -# took so much of the content from the ancestral BSD versions of this file -# and didn't attribute it, thereby violating the BSD Regents' copyright. -# -# Not that anyone should care. However many valid functions copyrights may -# serve, putting one on a termcap/terminfo file with hundreds of anonymous -# contributors makes about as much sense as copyrighting a wall-full of -# graffiti -- it's legally dubious, ethically bogus, and patently ridiculous. -# -# This file deliberately has no copyright. It belongs to no one and everyone. -# If you claim you own it, you will merely succeed in looking like a fool. -# Use it as you like. Use it at your own risk. Copy and redistribute freely. -# There are no guarantees anywhere. Svaha! -# - -######## ANSI, UNIX CONSOLE, AND SPECIAL TYPES -# -# This section describes terminal classes and brands that are still -# quite common. -# - -#### Specials -# -# Special "terminals". These are used to label tty lines when you don't -# know what kind of terminal is on it. The characteristics of an unknown -# terminal are the lowest common denominator - they look about like a ti 700. -# - -dumb|80-column dumb tty, - am, - cols#80, - bel=^G, cr=^M, cud1=^J, ind=^J, -unknown|unknown terminal type, - gn, use=dumb, -lpr|printer|line printer, - OTbs, hc, os, - cols#132, lines#66, - bel=^G, cr=^M, cub1=^H, cud1=^J, ff=^L, ind=^J, -glasstty|classic glass tty interpreting ASCII control characters, - OTbs, am, - cols#80, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, ht=^I, kcub1=^H, - kcud1=^J, nel=^M^J, .kbs=^H, - -vanilla|dumb tty, - OTbs, - bel=^G, cr=^M, cud1=^J, ind=^J, - -#### ANSI.SYS/ISO 6429/ECMA-48 Capabilities -# -# See the end-of-file comment for more on these. -# - -# ANSI capabilities are broken up into pieces, so that a terminal -# implementing some ANSI subset can use many of them. -ansi+local1, - cub1=\E[D, cud1=\E[B, cuf1=\E[C, cuu1=\E[A, -ansi+local, - cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC, - cuu=\E[%p1%dA, use=ansi+local1, -ansi+tabs, - cbt=\E[Z, ht=^I, hts=\EH, tbc=\E[2g, -ansi+inittabs, - it#8, use=ansi+tabs, -ansi+erase, - clear=\E[H\E[J, ed=\E[J, el=\E[K, -ansi+rca, - hpa=\E[%p1%{1}%+%dG, vpa=\E[%p1%{1}%+%dd, -ansi+cup, - cup=\E[%i%p1%d;%p2%dH, home=\E[H, -ansi+rep, - rep=%p1%c\E[%p2%{1}%-%db, -ansi+idl1, - dl1=\E[M, il1=\E[L, -ansi+idl, - dl=\E[%p1%dM, il=\E[%p1%dL, use=ansi+idl1, -ansi+idc, - dch1=\E[P, ich=\E[%p1%d@, ich1=\E[@, rmir=\E6, smir=\E6, -ansi+arrows, - kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - khome=\E[H, -ansi+sgr|ansi graphic renditions, - blink=\E[5m, invis=\E[8m, rev=\E[7m, - sgr=\E[0%?%p3%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%;, - sgr0=\E[0m, -ansi+sgrso|ansi standout only, - rmso=\E[m, smso=\E[7m, -ansi+sgrul|ansi underline only, - rmul=\E[m, smul=\E[4m, -ansi+sgrbold|ansi graphic renditions; assuming terminal has bold; not dim, - bold=\E[1m, - sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m, - use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul, -ansi+sgrdim|ansi graphic renditions; assuming terminal has dim; not bold, - dim=\E[2m, - sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p5%t2;%;%?%p7%t8;%;m, - use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul, -ansi+pp|ansi printer port, - mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, -ansi+csr|ansi scroll-region plus cursor save & restore, - csr=\E[%i%p1%d;%p2%dr, rc=\E8, sc=\E7, - -# The IBM PC alternate character set. Plug this into any Intel console entry. -# We use \E[11m for rmacs rather than \E[12m so the string can use the -# ROM graphics for control characters such as the diamond, up- and down-arrow. -# This works with the System V, Linux, and BSDI consoles. It's a safe bet this -# will work with any Intel console, they all seem to have inherited \E[11m -# from the ANSI.SYS de-facto standard. -klone+acs|alternate character set for ansi.sys displays, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - rmacs=\E[10m, smacs=\E[11m, - -# Highlight controls corresponding to the ANSI.SYS standard. Most -# console drivers for Intel boxes obey these. Makes the same assumption -# about \E[11m as klone+acs. True ANSI/ECMA-48 would have , -# , but this isn't a documented feature of ANSI.SYS. -klone+sgr|attribute control for ansi.sys displays, - blink=\E[5m, bold=\E[1m, invis=\E[8m, rev=\E[7m, - rmpch=\E[10m, rmso=\E[m, rmul=\E[m, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, - sgr0=\E[0;10m, smpch=\E[11m, smso=\E[7m, smul=\E[4m, - use=klone+acs, - -# Highlight controls corresponding to the ANSI.SYS standard. *All* -# console drivers for Intel boxes obey these. Does not assume \E[11m will -# work; uses \E[12m instead, which is pretty bulletproof but loses you the ACS -# diamond and arrow characters under curses. -klone+sgr-dumb|attribute control for ansi.sys displays (no ESC [ 11 m), - blink=\E[5m, bold=\E[1m, invis=\E[8m, rev=\E[7m, rmso=\E[m, - rmul=\E[m, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m, - sgr0=\E[0;10m, smacs=\E[12m, smso=\E[7m, smul=\E[4m, - use=klone+acs, - -# KOI8-R (RFC1489) acs (alternate character set) -# From: Qing Long , 24 Feb 1996. -klone+koi8acs|alternate character set for ansi.sys displays with KOI8 charset, - acsc=+\020\,\021-\036.^_0\215`\004a\237f\234g\232h\222i\220j\205k\203l\202m\204n\212o\213p\216q\0r\217s\214t\206u\207v\210w\211x\201y\230z\231{\267|\274}L~\225, - rmacs=\E[10m, smacs=\E[11m, - -# ANSI.SYS color control. The setab/setaf caps depend on the coincidence -# between SVr4/XPG4's color numbers and ANSI.SYS attributes. Here are longer -# but equivalent strings that don't rely on that coincidence: -# setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, -# setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, -# The DOS 5 manual asserts that these sequences meet the ISO 6429 standard. -# They match a subset of ECMA-48. -klone+color|color control for ansi.sys and ISO6429-compatible displays, - colors#8, ncv#3, pairs#64, - op=\E[37;40m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - -# This is better than klone+color, it doesn't assume white-on-black as the -# default color pair, but many `ANSI' terminals don't grok the cap. -ecma+color|color control for ECMA-48-compatible terminals, - AX, - colors#8, ncv#3, pairs#64, - op=\E[39;49m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - -# Attribute control for ECMA-48-compatible terminals -ecma+sgr|attribute capabilities for true ECMA-48 terminals, - rmso=\E[27m, rmul=\E[24m, use=klone+sgr, - -# For comparison, here are all the capabilities implied by the Intel -# Binary Compatibility Standard (level 2) that fit within terminfo. -# For more detail on this rather pathetic standard, see the comments -# near the end of this file. -ibcs2|Intel Binary Compatibility Standard prescriptions, - cbt=\E[Z, clear=\Ec, cub=\E[%p1%dD, cud=\E[%p1%dB, - cuf=\E[%p1%dC, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - dch=\E[%p1%dP, dispc=\E=%p1%dg, ech=\E[%p1%dX, - hpa=\E[%i%p1%dG, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, - indn=\E[%p1%dS, rc=\E7, rin=\E[%p1%dT, rmam=\E[?7l, sc=\E7, - smam=\E[?7h, tbc=\E[g, vpa=\E[%i%p1%dd, - -#### ANSI/ECMA-48 terminals and terminal emulators -# -# See near the end of this file for details on ANSI conformance. -# Don't mess with these entries! Lots of other entries depend on them! -# -# This section lists entries in a least-capable to most-capable order. -# if you're in doubt about what `ANSI' matches yours, try them in that -# order and back off from the first that breaks. - -# ansi-mr is for ANSI terminals with ONLY relative cursor addressing -# and more than one page of memory. It uses local motions instead of -# direct cursor addressing, and makes almost no assumptions. It does -# assume auto margins, no padding and/or xon/xoff, and a 24x80 screen. -ansi-mr|mem rel cup ansi, - am, xon, - cols#80, lines#24, use=vanilla, use=ansi+erase, - use=ansi+local1, - -# ansi-mini is a bare minimum ANSI terminal. This should work on anything, but -# beware of screen size problems and memory relative cursor addressing. -ansi-mini|any ansi terminal with pessimistic assumptions, - am, xon, - cols#80, lines#24, use=vanilla, use=ansi+cup, - use=ansi+erase, - -# ansi-mtabs adds relative addressing and minimal tab support -ansi-mtabs|any ansi terminal with pessimistic assumptions, - it#8, - ht=^I, use=ansi+local1, use=ansi-mini, - -# ANSI X3.64 from emory!mlhhh (Hugh Hansard) via BRL -# -# The following is an entry for the full ANSI 3.64 (1977). It lacks -# padding, but most terminals using the standard are "fast" enough -# not to require any -- even at 9600 bps. If you encounter problems, -# try including the padding specifications. -# -# Note: the :as: and :ae: specifications are not implemented here, for -# the available termcap documentation does not make clear WHICH alternate -# character set to specify. ANSI 3.64 seems to make allowances for several. -# Please make the appropriate adjustments to fit your needs -- that is -# if you will be using alternate character sets. -# -# There are very few terminals running the full ANSI 3.64 standard, -# so I could only test this entry on one verified terminal (Visual 102). -# I would appreciate the results on other terminals sent to me. -# -# Please report comments, changes, and problems to: -# -# U.S. MAIL: Hugh Hansard -# Box: 22830 -# Emory University -# Atlanta, GA. 30322. -# -# USENET {akgua,msdc,sb1,sb6,gatech}!emory!mlhhh. -# -# (Added vt100 , to quiet a tic warning --esr) -ansi77|ansi 3.64 standard 1977 version, - OTbs, am, mir, - cols#80, it#8, lines#24, - bel=^G, clear=\E[;H\E[2J, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, dch1=\E[P, dl1=\E[M$<5*/>, ed=\E[J, el=\E[K, - home=\E[H, ht=^I, il1=\E[L$<5*/>, ind=\ED, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, - kf2=\EOR, kf4=\EOS, khome=\E[H, nel=^M\ED, rc=\E8, ri=\EM, - rmir=\E[4l, rmso=\E[m, rmul=\E[m, sc=\E7, smir=\E[4h, - smso=\E[7m, smul=\E[4m, - -# Procomm and some other ANSI emulations don't recognize all of the ANSI- -# standard capabilities. This entry deletes , , , , and -# / capabilities, forcing curses to use repetitions of , -# , and . Also deleted and , as QModem up to -# 5.03 doesn't recognize these. Finally, we delete and , which seem -# to confuse many emulators. On the other hand, we can count on these programs -# doing //. Older versions of this entry featured -# , but now seems to be more common under -# ANSI.SYS influence. -# From: Eric S. Raymond Oct 30 1995 -pcansi-m|pcansi-mono|ibm-pc terminal programs claiming to be ansi (mono mode), - OTbs, am, mir, msgr, - cols#80, it#8, lines#24, - bel=^G, cbt=\E[Z, clear=\E[H\E[J, cr=^M, cub1=\E[D, - cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, - hts=\EH, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, tbc=\E[2g, - use=klone+sgr-dumb, -pcansi-25-m|pcansi25m|ibm-pc terminal programs with 25 lines (mono mode), - lines#25, use=pcansi-m, -pcansi-33-m|pcansi33m|ibm-pc terminal programs with 33 lines (mono mode), - lines#33, use=pcansi-m, -pcansi-43-m|ansi43m|ibm-pc terminal programs with 43 lines (mono mode), - lines#43, use=pcansi-m, -# The color versions. All PC emulators do color... -pcansi|ibm-pc terminal programs claiming to be ansi, - use=klone+color, use=pcansi-m, -pcansi-25|pcansi25|ibm-pc terminal programs with 25 lines, - lines#25, use=pcansi, -pcansi-33|pcansi33|ibm-pc terminal programs with 33 lines, - lines#33, use=pcansi, -pcansi-43|pcansi43|ibm-pc terminal programs with 43 lines, - lines#43, use=pcansi, - -# ansi-m -- full ANSI X3.64 with ANSI.SYS-compatible attributes, no color. -# If you want pound signs rather than dollars, replace `B' with `A' -# in the , , , and capabilities. -# From: Eric S. Raymond Nov 6 1995 -ansi-m|ansi-mono|ANSI X3.64-1979 terminal with ANSI.SYS compatible attributes, - mc5i, - cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC, - cuu=\E[%p1%dA, dch=\E[%p1%dP, dl=\E[%p1%dM, - ech=\E[%p1%dX, el1=\E[1K, hpa=\E[%i%p1%dG, ht=\E[I, - ich=\E[%p1%d@, il=\E[%p1%dL, indn=\E[%p1%dS, kbs=^H, - kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kich1=\E[L, mc4=\E[4i, mc5=\E[5i, nel=\r\E[S, - rep=%p1%c\E[%p2%{1}%-%db, rin=\E[%p1%dT, s0ds=\E(B, - s1ds=\E)B, s2ds=\E*B, s3ds=\E+B, tbc=\E[2g, - vpa=\E[%i%p1%dd, use=pcansi-m, - -# ansi -- this terminfo expresses the largest subset of X3.64 that will fit in -# standard terminfo. Assumes ANSI.SYS-compatible attributes and color. -# From: Eric S. Raymond Nov 6 1995 -ansi|ansi/pc-term compatible with color, - u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?%[;0123456789]c, - u9=\E[c, use=ecma+color, use=klone+sgr, use=ansi-m, - -# ansi-generic is a vanilla ANSI terminal. This is assumed to implement -# all the normal ANSI stuff with no extensions. It assumes -# insert/delete line/char is there, so it won't work with -# vt100 clones. It assumes video attributes for bold, blink, -# underline, and reverse, which won't matter much if the terminal -# can't do some of those. Padding is assumed to be zero, which -# shouldn't hurt since xon/xoff is assumed. -ansi-generic|generic ansi standard terminal, - am, xon, - cols#80, lines#24, use=vanilla, use=ansi+csr, use=ansi+cup, - use=ansi+rca, use=ansi+erase, use=ansi+tabs, - use=ansi+local, use=ansi+idc, use=ansi+idl, use=ansi+rep, - use=ansi+sgrbold, use=ansi+arrows, - -#### DOS ANSI.SYS variants -# -# This completely describes the sequences specified in the DOS 2.1 ANSI.SYS -# documentation (except for the keyboard key reassignment feature, which -# doesn't fit the model well). The klone+acs sequences were valid -# though undocumented. The capability is untested but should work for -# keys F1-F10 (%p1 values outside this range will yield unpredictable results). -# From: Eric S. Raymond Nov 7 1995 -ansi.sys-old|ANSI.SYS under PC-DOS 2.1, - OTbs, am, mir, msgr, xon, - cols#80, lines#25, - clear=\E[2J, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[k, home=\E[H, - is2=\E[m\E[?7h, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, - khome=^^, pfkey=\E[0;%p1%{58}%+%d;%p2"%s", rc=\E[u, - rmam=\E[?7l, sc=\E[s, smam=\E[?7h, u6=\E[%i%d;%dR, - u7=\E[6n, use=klone+color, use=klone+sgr, -ansi.sys|ANSI.SYS 3.1 and later versions, - el=\E[K, use=ansi.sys-old, - -# -# Define IBM PC keypad keys for vi as per MS-Kermit while using ANSI.SYS. -# This should only be used when the terminal emulator cannot redefine the keys. -# Since redefining keys with ansi.sys also affects PC-DOS programs, the key -# definitions must be restored. If the terminal emulator is quit while in vi -# or others using /, the keypad will not be defined as per PC-DOS. -# The PgUp and PgDn are prefixed with ESC so that tn3270 can be used on Unix -# (^U and ^D are already defined for tn3270). The ESC is safe for vi but it -# does "beep". ESC ESC i is used for Ins to avoid tn3270 ESC i for coltab. -# Note that is always BS, because PC-dos can tolerate this change. -# Caution: vi is limited to 256 string bytes, longer crashes or weirds out vi. -# Consequently the End keypad key could not be set (it is relatively safe and -# actually useful because it sends ^@ O, which beeps and opens a line above). -ansi.sysk|ansisysk|PC-DOS 3.1 ANSI.SYS with keypad redefined for vi, - is2=U2 PC-DOS 3.1 ANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p, - rmkx=\E[;71;0;71p\E[;72;0;72p\E[;73;0;73p\E[;77;0;77p\E[;80;0;80p\E[;81;0;81p\E[;82;0;82p\E[;83;0;83p, - smkx=\E[;71;30p\E[;72;11p\E[;73;27;21p\E[;77;12p\E[;80;10p\E[;81;27;4p\E[;82;27;27;105p\E[;83;127p, - use=ansi.sys, -# -# Adds ins/del line/character, hence vi reverse scrolls/inserts/deletes nicer. -nansi.sys|nansisys|PC-DOS Public Domain NANSI.SYS, - dch1=\E[1P, dl1=\E[1M, ich1=\E[1@, il1=\E[1L, - is2=U3 PC-DOS Public Domain NANSI.SYS 9-23-86\n, - use=ansi.sys, -# -# See ansi.sysk and nansi.sys above. -nansi.sysk|nansisysk|PC-DOS Public Domain NANSI.SYS with keypad redefined for vi, - dch1=\E[1P, dl1=\E[1M, ich1=\E[1@, il1=\E[1L, - is2=U4 PC-DOS Public Domain NANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p, - use=ansi.sysk, - -#### ANSI console types -# - -#### BeOS -# -# BeOS entry for Terminal program Seems to be almost ANSI -beterm|BeOS Terminal, - am, eo, mir, msgr, xenl, xon, - colors#8, cols#80, it#8, lines#25, ncv#5, pairs#64, - bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, - hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, - il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, - kend=\E[4~, kf1=\E[11~, kf10=\E[20~, kf11=\E[21~, - kf12=\E[22~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, - kf5=\E[15~, kf6=\E[16~, kf7=\E[17~, kf8=\E[18~, kf9=\E[19~, - khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kspd=^Z, - nel=^M^J, op=\E[m, rc=\E8, rev=\E[7m, ri=\EM, rmir=\E[4l, - rmkx=\E[?4l, rmso=\E[m, rmul=\E[24m, rs1=\Ec, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - setb=\E[%p1%{40}%+%cm, setf=\E[%p1%{30}%+%cm, - sgr0=\E[0;10m, smir=\E[4h, smkx=\E[?4h, smso=\E[7m, - smul=\E[4m, u6=\E[%i%p1%d;%p2%dR, u7=\E[6n, - vpa=\E[%i%p1%dd, - -#### Linux consoles -# - -# This entry is good for the 1.2.13 or later version of the Linux console. -# -# *************************************************************************** -# * * -# * WARNING: * -# * Linuxes come with a default keyboard mapping kcbt=^I. This entry, in * -# * response to user requests, assumes kcbt=\E[Z, the ANSI/ECMA reverse-tab * -# * character. Here are the keymap replacement lines that will set this up: * -# * * -# keycode 15 = Tab Tab -# alt keycode 15 = Meta_Tab -# shift keycode 15 = F26 -# string F26 ="\033[Z" -# * * -# * This has to use a key slot which is unfortunate (any unused one will * -# * do, F26 is the higher-numbered one). The change ought to be built * -# * into the kernel tables. * -# * * -# *************************************************************************** -# -# This entry is good for the 1.2.13 or later version of the Linux console. -# -# *************************************************************************** -# * * -# * WARNING: * -# * Linuxes come with a default keyboard mapping kcbt=^I. This entry, in * -# * response to user requests, assumes kcbt=\E[Z, the ANSI/ECMA reverse-tab * -# * character. Here are the keymap replacement lines that will set this up: * -# * * -# keycode 15 = Tab Tab -# alt keycode 15 = Meta_Tab -# shift keycode 15 = F26 -# string F26 ="\033[Z" -# * * -# * This has to use a key slot which is unfortunate (any unused one will * -# * do, F26 is the higher-numbered one). The change ought to be built * -# * into the kernel tables. * -# * * -# *************************************************************************** -# -# All linux kernels since 1.2.13 (at least) set the screen size -# themselves; this entry assumes that capability. -# -linux-basic|linux console, - am, bce, eo, mir, msgr, xenl, xon, - it#8, ncv#18, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - bel=^G, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, - el1=\E[1K, flash=\E[?5h\E[?5l$<200/>, home=\E[H, - hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, - il=\E[%p1%dL, il1=\E[L, ind=^J, kb2=\E[G, kbs=\177, - kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, - kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, - kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D, - kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - kspd=^Z, nel=^M^J, rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l, - rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R, sc=\E7, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, - smam=\E[?7h, smir=\E[4h, smul=\E[4m, tbc=\E[3g, - u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, u9=\E[c, - vpa=\E[%i%p1%dd, use=klone+sgr, use=ecma+color, - -linux-m|Linux console no color, - colors@, pairs@, - setab@, setaf@, setb@, setf@, use=linux, - -# The 1.3.x kernels add color-change capabilities; if yours doesn't have this -# and it matters, turn off . The %02x escape used to implement this is -# not supposedly back-portable to older SV curses (although it has worked fine -# on Solaris for several years) and not supported in ncurses versions before -# 1.9.9. -linux-c-nc|linux console with color-change, - ccc, - initc=\E]P%p1%x%p2%{256}%*%{1000}%/%02x%p3%{256}%*%{1000}%/%02x%p4%{256}%*%{1000}%/%02x, - oc=\E]R, use=linux-basic, -# From: Dennis Henriksen , 9 July 1996 -linux-c|linux console 1.3.6+ for older ncurses, - ccc, - initc=\E]P%?%p1%{9}%>%t%p1%{10}%-%'a'%+%c%e%p1%d%;%p2%{256}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%p3%{256}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%p4%{256}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;, - oc=\E]R, use=linux-basic, - -# The 2.2.x kernels add a private mode that sets the cursor type; use that to -# get a block cursor for cvvis. -# reported by Frank Heckenbach . -linux|linux console, - civis=\E[?25l\E[?1c, cnorm=\E[?25h\E[?0c, - cvvis=\E[?25h\E[?8c, use=linux-c-nc, - -# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file -linux-nic|linux with ich/ich1 suppressed for non-curses programs, - ich@, ich1@, use=linux, - -# This assumes you have used setfont(8) to load one of the Linux koi8-r fonts. -# acsc entry from Pavel Roskin" , 29 Sep 1997. -linux-koi8|linux with koi8 alternate character set, - acsc=+\020\,\021-\030.^Y0\215`\004a\221f\234g\237h\220i\276j\205k\203l\202m\204n\212o~p\0q\0r\0s_t\206u\207v\211w\210x\201y\230z\231{\267|\274~\224, - use=linux, use=klone+koi8acs, - -# Another entry for KOI8-r with Qing Long's acsc. -# (which one better complies with the standard?) -linux-koi8r|linux with koi8-r alternate character set, - use=linux, use=klone+koi8acs, - -# Entry for the latin1 and latin2 fonts -linux-lat|linux with latin1 or latin2 alternate character set, - acsc=+\020\,\021-\030.^Y0\333`\004a\013f\370g\361h\260i\316j\211k\214l\206m\203n\305o~p\304q\212r\304s_t\207u\215v\301w\302x\205y\363z\362{\343|\330}\234~\376, - use=linux, - -# This uses graphics from VT codeset instead of from cp437. -# reason: cp437 (aka "straight to font") is not functional under luit. -# from: Andrey V Lukyanov . -linux-vt|linux console using VT codes for graphics, - acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~, - rmacs=\E(K, rmpch@, sgr@, sgr0=\E[0m\E(K\017, smacs=\E(0, - smpch@, use=linux, - -#### Mach -# - -# From: Matthew Vernon -mach|Mach Console, - am, km, - cols#80, it#8, lines#25, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\Ec, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, home=\E[H, ht=^I, il=\E[%p1%dL, il1=\E[L, ind=^J, - kbs=\177, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[9, kend=\E[Y, kf1=\EOP, kf10=\EOY, kf2=\EOQ, - kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, - kf9=\EOX, khome=\E[H, kich1=\E[@, kll=\E[F, knp=\E[U, - kpp=\E[V, rev=\E[7m, rmso=\E[0m, rmul=\E[24m, sgr0=\E[0m, - smso=\E[7m, smul=\E[4m, -mach-bold|Mach Console with bold instead of underline, - rmul=\E[0m, smul=\E[1m, use=mach, -mach-color|Mach Console with ANSI color, - colors#8, pairs#64, - dim=\E[2m, invis=\E[8m, op=\E[37;40m, rmso=\E[27m, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=mach, - -# From: Marcus Brinkmann -# http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/hurd/hurd/console/ -# -# Comments in the original are summarized here: -# -# hurd uses 8-bit characters (km). -# -# Although it doesn't do XON/XOFF, we don't want padding characters (xon). -# -# Regarding compatibility to vt100: hurd doesn't specify , as we don't -# have the eat_newline_glitch. It doesn't support setting or removing tab -# stops (hts/tbc). -# -# hurd uses ^H instead of \E[D for cub1, as only ^H implements and it is -# one byte instead three. -# -# is not included because hurd has insert mode. -# -# hurd doesn't use ^J for scrolling, because this could put things into the -# scrollback buffer. -# -# gsbom/grbom are used to enable/disable real bold (not intensity bright) mode. -# This is a GNU extension. -# -# The original has commented-out ncv, but is restored here. -# -# Reading the source, RIS resets cnorm, but not xmous. -hurd|The GNU Hurd console server, - am, bce, bw, eo, km, mir, msgr, xon, - colors#8, it#8, ncv#18, pairs#64, - acsc=++\,\,--..00ii``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\Ec, cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[34l, dch=\E[%p1%dP, - dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, flash=\Eg, - home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=\E[S, indn=\E[%p1%dS, - invis=\E[8m, kb2=\E[G, kbs=\177, kcbt=\E[Z, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, - kend=\E[4~, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[15~, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - kspd=^Z, nel=^M^J, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\E[T, - rin=\E[%p1%dT, ritm=\E[23m, rmacs=\E[10m, rmir=\E[4l, - rmso=\E[27m, rmul=\E[24m, rs1=\EM\E[?1000l, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, - sgr0=\E[0m, sitm=\E[3m, smacs=\E[11m, smir=\E[4h, - smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd, grbom=\E[>1l, - gsbom=\E[>1h, - -#### OSF Unix -# - -# OSF/1 1.1 Snapshot 2 -pmcons|pmconsole|PMAX console, - am, - cols#128, lines#57, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuu1=^K, ht=^I, - ind=^J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, - -# SCO console and SOS-Syscons console for 386bsd -# (scoansi: had unknown capabilities -# :Gc=N:Gd=K:Gh=M:Gl=L:Gu=J:Gv=\072:\ -# :GC=E:GD=B:GH=D:GL=\64:GU=A:GV=\63:GR=C: -# :G1=?:G2=Z:G3=@:G4=Y:G5=;:G6=I:G7=H:G8=<:\ -# :CW=\E[M:NU=\E[N:RF=\E[O:RC=\E[P:\ -# :WL=\E[S:WR=\E[T:CL=\E[U:CR=\E[V:\ -# I renamed GS/GE/HM/EN/PU/PD/RT and added klone+sgr-dumb, based -# on the =\E[12m -- esr) -# -# klone+sgr-dumb is an error since the acsc does not match -TD -# -# In this description based on SCO's keyboard(HW) manpage list of default -# function key values: -# F13-F24 are shifted F1-F12 -# F25-F36 are control F1-F12 -# F37-F48 are shift+control F1-F12 -# -# hpa/vpa work in the console, but not in scoterm: -# hpa=\E[%p1%dG, -# vpa=\E[%p1%dd, -# -# SCO's terminfo uses -# kLFT=\E[d, -# kRIT=\E[c, -# which do not work (console or scoterm). -# -# Console documents only 3 attributes can be set with SGR (so we don't use sgr). -scoansi-old|SCO Extended ANSI standard crt (5.0.5), - OTbs, am, bce, eo, xon, - colors#8, cols#80, it#8, lines#25, pairs#64, - acsc=-\230.\231\,.+/0[5566778899\:\:;;<<==>>FFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`\204a0fxgqh2jYk?lZm@nEqDtCu4vAwBx3yszr{c}\034~\207, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, - civis=\E[=14;12C, clear=\E[H\E[2J, cnorm=\E[=10;12C, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[=0;12C, dch=\E[%p1%dP, - dch1=\E[P, dispc=\E[=%p1%dg, dl=\E[%p1%dM, dl1=\E[M, - ed=\E[m\E[J, el=\E[m\E[K, el1=\E[1K, home=\E[H, ht=^I, - hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, - ind=\E[S, indn=\E[%p1%dS, invis=\E[8m, kbeg=\E[E, kbs=^H, - kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W, - kf12=\E[X, kf13=\E[Y, kf15=\E[a, kf16=\E[b, kf17=\E[c, - kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g, - kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l, - kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p, - kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u, - kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P, - kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[], - kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q, - kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, - kich1=\E[L, knp=\E[G, kpp=\E[I, op=\E[0;37;40m, rc=\E8, - rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, rmacs=\E[10m, - rmam=\E[?7l, rmso=\E[m, rmul=\E[m, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0;10m, - smacs=\E[12m, smam=\E[?7h, smso=\E[7m, smul=\E[4m, -scoansi-new|SCO Extended ANSI standard crt (5.0.6), - km, - civis=\E[=0c, cnorm=\E[=1c, csr=\E[%i%p1%d;%p2%dr, - cvvis=\E[=2c, mgc=\E[=r, oc=\E[51m, op=\E[50m, - rep=\E[%p1%d;%p2%db, rmm=\E[=11L, - sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m, - smgb=\E[=1;0m, smgbp=\E[=1;%i%p1%dm, - smglp=\E[=2;%i%p1%dm, smgr=\E[=3;0m, - smgrp=\E[=3;%i%p1%dm, smgt=\E[=0;0m, - smgtp=\E[=0;%i%p1%dm, smm=\E[=10L, - wind=\E[%i%p1%d;%p2%d;%i%p3%d;%p4%dr, - use=scoansi-old, -# make this easy to change... -scoansi|SCO Extended ANSI standard crt, - use=scoansi-old, - -# This actually describes the generic SVr4 display driver for Intel boxes. -# The isn't documented and therefore may not be reliable. -# From: Eric Raymond Mon Nov 27 19:00:53 EST 1995 -att6386|at386|386at|AT&T WGS 6386 console, - am, bw, eo, xon, - cols#80, it#8, lines#25, - acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[=C, - clear=\E[2J\E[H, cnorm=\E[=1C, cr=^M, cub=\E[%p1%dD, - cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[1M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, - home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, - ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, ind=\E[S, - indn=\E[%p1%dS, invis=\E[9m, is2=\E[0;10;39m, kbs=^H, - kcbt=^], kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[P, kend=\E[Y, kf1=\EOP, kf10=\EOY, kf11=\EOZ, - kf12=\EOA, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, - kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kich1=\E[@, - knp=\E[U, kpp=\E[V, krmir=\E0, nel=\r\E[S, rc=\E8, rev=\E[7m, - ri=\E[T, rin=\E[%p1%dT, rmacs=\E[10m, rmso=\E[m, rmul=\E[m, - sc=\E7, - sgr=\E[10m\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p9%t;12%e;10%;%?%p7%t;9%;m, - sgr0=\E[0;10m, smacs=\E[12m, smso=\E[7m, smul=\E[4m, - tbc=\E[2g, vpa=\E[%i%p1%dd, use=klone+color, -# (pc6300plus: removed ":KM=/usr/lib/ua/kmap.s5:"; renamed BO/EE/CI/CV -- esr) -pc6300plus|AT&T 6300 plus, - OTbs, am, xon, - cols#80, lines#24, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[=C, - clear=\E[2J\E[H, cnorm=\E[=1C, cr=^M, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, - dch1=\E[1P, dim=\E[2m, dl1=\E[1M, ed=\E[0J, el=\E[0K, - home=\E[H, hts=\EH, ich1=\E[1@, il1=\E[1L, ind=^J, - invis=\E[9m, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf1=\EOc, kf10=\EOu, kf2=\EOd, kf3=\EOe, - kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\EOk, - nel=^M^J, rev=\E[7m, rmso=\E[m, rmul=\E[m, sgr0=\E[m, - smso=\E[7m, smul=\E[4m, tbc=\E[3g, - -# From: Benjamin C. W. Sittler -# -# I have a UNIX PC which I use as a terminal attached to my Linux PC. -# Unfortunately, the UNIX PC terminfo entry that comes with ncurses -# is broken. All the special key sequences are broken, making it unusable -# with Emacs. The problem stems from the following: -# -# The UNIX PC has a plethora of keys (103 of them, and there's no numeric -# keypad!), loadable fonts, and strange highlighting modes ("dithered" -# half-intensity, "smeared" bold, and real strike-out, for example.) It also -# uses resizable terminal windows, but the bundled terminal program always -# uses an 80x24 window (and doesn't support seem to support a 132-column -# mode.) -# -# HISTORY: The UNIX PC was one of the first machines with a GUI, and used a -# library which was a superset of SVr3.5 curses (called tam, for "terminal -# access method".) tam includes support for real, overlapping windows, -# onscreen function key labels, and bitmap graphics. But since the primary -# user interface on the UNIX PC was a GUI program (ua, for "user -# assistant",) and remote administration was considered important for the -# machine, tam also supported VT100-compatible terminals attached to the -# serial port or used across the StarLan network. To simulate the extra keys -# not present on a VT100, users could press ESC and a two-letter sequence, -# such as u d (Undo) or U D (Shift-Undo.) These two-letter sequences, -# however, were not the same as those sent by the actual Undo key. The -# actual Undo key sends ESC 0 s unshifted, and ESC 0 S shifted, for example. -# (If you're interested in adding some of the tam calls to ncurses, btw, I -# have the full documentation and several programs which use tam. It also -# used an extended terminfo format to describe key sequences, special -# highlighting modes, etc.) -# -# KEYS: This means that ncurses would quite painful on the UNIX PC, since -# there are two sequences for every key-modifier combination (local keyboard -# sequence and remote "VT100" sequence.) But I doubt many people are trying -# to use ncurses on the UNIX PC, since ncurses doesn't properly handle the -# GUI. Unfortunately, the terminfo entry (and the termcap, too, I presume) -# seem to have been built from the manual describing the VT100 sequences. -# This means it doesn't work for a real live UNIX PC. -# -# FONTS: The UNIX PC also has a strange interpretation of "alternate -# character set". Rather than the VT100 graphics you might expect, it allows -# up to 8 custom fonts to be loaded at any given time. This means that -# programs expecting VT100 graphics will usually be disappointed. For this -# reason I have disabled the smacs/rmacs sequences, but they could easily be -# re-enabled. Here are the relevant control sequences (from the ESCAPE(7) -# manpage), should you wish to do so: -# -# SGR10 - Select font 0 - ESC [ 10 m or SO -# SGR11 - Select font 1 - ESC [ 11 m or SI -# SGR12 - Select font 2 - ESC [ 12 m -# ... (etc.) -# SGR17 - Select font 7 - ESC [ 17 m -# -# Graphics for line drawing are not reliably found at *any* character -# location because the UNIX PC has dynamically reloadable fonts. I use font -# 0 for regular text and font 1 for italics, but this is by no means -# universal. So ASCII line drawing is in order if smacs/rmacs are enabled. -# -# MISC: The cursor visible/cursor invisible sequences were swapped in the -# distributed terminfo. -# -# To ameliorate these problems (and fix a few highlighting bugs) I rewrote -# the UNIX PC terminfo entry. The modified version works great with Lynx, -# Emacs, and XEmacs running on my Linux PC and displaying on the UNIX PC -# attached by serial cable. In Emacs, even the Undo key works, and many -# applications can now use the F1-F8 keys. -# -# esr's notes: -# Terminfo entry for the AT&T Unix PC 7300 -# from escape(7) in Unix PC 7300 Manual. -# Somewhat similar to a vt100-am (but different enough -# to redo this from scratch.) -# -# /*************************************************************** -# * -# * FONT LOADING PROGRAM FOR THE UNIX PC -# * -# * This routine loads a font defined in the file ALTFONT -# * into font memory slot #1. Once the font has been loaded, -# * it can be used as an alternative character set. -# * -# * The call to ioctl with the argument WIOCLFONT is the key -# * to this routine. For more information, see window(7) in -# * the PC 7300 documentation. -# ***************************************************************/ -# #include /* needed for strcpy call */ -# #include /* needed for ioctl call */ -# #define FNSIZE 60 /* font name size */ -# #define ALTFONT "/usr/lib/wfont/special.8.ft" /* font file */ -# /* -# * The file /usr/lib/wfont/special.8.ft comes with the -# * standard PC software. It defines a graphics character set -# * similar to that of the Teletype 5425 terminal. To view -# * this or other fonts in /usr/lib/wfont, use the command -# * cfont . For further information on fonts see -# * cfont(1) in the PC 7300 documentation. -# */ -# -# struct altfdata /* structure for alt font data */ -# { -# short altf_slot; /* memory slot number */ -# char altf_name[FNSIZE]; /* font name (file name) */ -# }; -# ldfont() -# { -# int wd; /* window in which altfont will be */ -# struct altfdata altf; -# altf.altf_slot=1; -# strcpy(altf.altf_name,ALTFONT); -# for (wd =1; wd < 12; wd++) { -# ioctl(wd, WIOCLFONT,&altf); -# } -# } -# -# (att7300: added /// from the BSDI entry, -# they're confirmed by the man page for the System V display---esr) -# -att7300|unixpc|pc7300|3b1|s4|AT&T UNIX PC Model 7300, - am, xon, - cols#80, it#8, lines#24, - bel=^G, blink=\E[9m, bold=\E[1m, cbt=\E^I, civis=\E[=1C, - clear=\E[2J\E[H, cnorm=\E[=0C, cr=^M, cub=\E[%p1%dD, - cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, - ed=\E[0J, el=\E[0K, home=\E[H, ich1=\E[@, il=\E[%p1%dL, - il1=\E[L, ind=^J, invis=\E[9m, is1=\017\E[=1w, kBEG=\ENB, - kCAN=\EOW, kCPY=\END, kCRT=\EON, kDC=\ENF, kDL=\ENE, - kEND=\ENN, kEOL=\EOA, kFND=\EOX, kHLP=\EOM, kHOM=\ENM, - kIC=\ENJ, kLFT=\ENK, kMOV=\ENC, kNXT=\ENH, kOPT=\EOR, - kPRV=\ENG, kRDO=\EOT, kRIT=\ENL, kRPL=\EOY, kSAV=\EOO, - kUND=\EOS, kbeg=\ENb, kbs=^H, kcan=\EOw, kcbt=\E[Z, - kclo=\EOV, kclr=\E[J, kcmd=\EOu, kcpy=\ENd, kcrt=\EOn, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\ENf, - ked=\E[J, kel=\EOa, kend=\E0, kext=\EOk, kf1=\EOc, kf2=\EOd, - kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, - kfnd=\EOx, khlp=\EOm, khome=\E[H, kich1=\ENj, kind=\E[B, - kmov=\ENc, kmrk=\ENi, knp=\E[U, knxt=\ENh, kopn=\EOv, - kopt=\EOr, kpp=\E[V, kprt=\EOz, kprv=\ENg, krdo=\EOt, - kref=\EOb, krfr=\ENa, kri=\E[A, krpl=\EOy, krst=\EOB, - ksav=\EOo, kslt=\ENI, kund=\EOs, nel=\EE, rev=\E[7m, ri=\EM, - rmso=\E[m, rmul=\E[m, sgr0=\E[0;10m, smso=\E[7m, - smul=\E[4m, - -# Sent by Stefan Stapelberg , 24 Feb 1997, this is -# from SGI's terminfo database. SGI's entry shows F9-F12 with the codes -# for the application keypad mode. We have added iris-ansi-ap rather than -# change the original to keypad mode. -# -# (iris-ansi: added rmam/smam based on init string -- esr) -# -# This entry, and those derived from it, is used in xwsh (also known as -# winterm). Some capabilities that do not fit into the terminfo model -# include the shift- and control-functionkeys: -# -# F1-F12 generate different codes when shift or control modifiers are used. -# For example: -# F1 \E[001q -# shift F1 \E[013q -# control-F1 \E[025q -# -# In application keypad mode, F9-F12 generate codes like vt100 PF1-PF4, i.e., -# \EOP to \EOS. The shifted and control modifiers still do the same thing. -# -# The cursor keys also have different codes: -# control-up \E[162q -# control-down \E[165q -# control-left \E[159q -# control-right \E[168q -# -# shift-up \E[161q -# shift-down \E[164q -# shift-left \E[158q -# shift-right \E[167q -# -# control-tab \[072q -# -iris-ansi|iris-ansi-net|IRIS emulating 40 line ANSI terminal (almost VT100), - am, - cols#80, it#8, lines#40, - bel=^G, bold=\E[1m, clear=\E[H\E[2J, - cnorm=\E[9/y\E[12/y\E[=6l, cr=^M, cub=\E[%p1%dD, - cub1=\E[D, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, cvvis=\E[10/y\E[=1h\E[=2l\E[=6h, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=\ED, - is2=\E[?1l\E>\E[?7h\E[100g\E[0m\E7\E[r\E8, kDC=\E[P, - kEND=\E[147q, kHOM=\E[143q, kLFT=\E[158q, kPRT=\E[210q, - kRIT=\E[167q, kSPD=\E[218q, kbs=^H, kcbt=\E[Z, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, - kend=\E[146q, kent=^M, kf1=\E[001q, kf10=\E[010q, - kf11=\E[011q, kf12=\E[012q, kf2=\E[002q, kf3=\E[003q, - kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, - kf8=\E[008q, kf9=\E[009q, khome=\E[H, kich1=\E[139q, - knp=\E[154q, kpp=\E[150q, kprt=\E[209q, krmir=\E[146q, - kspd=\E[217q, nel=\EE, pfkey=\EP101;%p1%d.y%p2%s\E\\, - rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l, rmso=\E[m, rmul=\E[m, - sc=\E7, sgr0=\E[m, smam=\E[?7h, smso=\E[1;7m, smul=\E[4m, - tbc=\E[3g, -iris-ansi-ap|IRIS ANSI in application-keypad mode, - is2=\E[?1l\E=\E[?7h, kent=\EOM, kf10=\E[010q, - kf11=\E[011q, kf12=\E[012q, kf9=\E[009q, use=iris-ansi, - -# From the man-page, this is a quasi-vt100 emulator that runs on SGI's IRIX -# (T.Dickey 98/1/24) -iris-color|xwsh|IRIX ANSI with color, - ncv#33, - csr=\E[%i%p1%d;%p2%dr, dch=\E[%p1%dP, dim=\E[2m, - ech=\E[%p1%dX, ich=\E[%p1%d@, rc=\E8, ritm=\E[23m, - rmul=\E[24m, rs1=\Ec, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sitm=\E[3m, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, - use=klone+color, use=iris-ansi-ap, - -# The following is a version of the ibm-pc entry distributed with PC/IX, -# (Interactive Systems' System 3 for the Big Blue), modified by Richard -# McIntosh at UCB/CSM. The :pt: and :uc: have been removed from the original, -# (the former is untrue, and the latter failed under UCB/man); standout and -# underline modes have been added. Note: this entry describes the "native" -# capabilities of the PC monochrome display, without ANY emulation; most -# communications packages (but NOT PC/IX connect) do some kind of emulation. -pcix|PC/IX console, - am, bw, eo, - cols#80, lines#24, - clear=\Ec, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\E[J, el=\E[K, - home=\E[H, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m, - smul=\E[4m, - -# (ibmpcx: this entry used to be known as ibmx. -# It formerly included the following extension capabilities: -# :GC=b:GL=v:GR=t:RT=^J:\ -# :GH=\E[196g:GV=\E[179g:\ -# :GU=\E[193g:GD=\E[194g:\ -# :G1=\E[191g:G2=\E[218g:G3=\E[192g:G4=\E[217g:\ -# :CW=\E[E:NU=\E[F:RF=\E[G:RC=\E[H:\ -# :WL=\E[K:WR=\E[L:CL=\E[M:CR=\E[N:\ -# I renamed GS/GE/WL/WR/CL/CR/PU/PD/HM/EN; also, removed a duplicate -# ":kh=\E[Y:". Added IBM-PC forms characters and highlights, they match -# what was there before. -- esr) -ibmpcx|xenix|ibmx|IBM PC xenix console display, - OTbs, am, msgr, - cols#80, lines#25, - clear=^L, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - ed=\E[J, el=\E[K, home=\E[H, ich1=\E[@, il1=\E[L, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[d, - kf1=\E[K, kf2=\E[L, kf3=\E[M, kf4=\E[N, khome=\E[Y, knp=\E[e, - kpp=\E[Z, use=klone+acs, use=klone+sgr, - -#### QNX -# - -# QNX 4.0 Console -# Michael's original version of this entry had , , -# ; this was so terminfo applications could write the lower -# right corner without triggering a scroll. The ncurses terminfo library can -# handle this case with the capability, and prefers for better -# optimization. Bug: The capability resets attributes. -# From: Michael Hunter 30 Jul 1996 -# (removed: ) -qnx|qnx4|qnx console, - daisy, km, mir, msgr, xhpa, xt, - colors#8, cols#80, it#4, lines#25, ncv#3, pairs#8, - acsc=O\333a\261j\331k\277l\332m\300n\305o\337q\304s\334t\303u\264v\301w\302x\263, - bel=^G, blink=\E{, bold=\E<, civis=\Ey0, clear=\EH\EJ, - cnorm=\Ey1, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\Ey2, - dch1=\Ef, dl1=\EF, ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\Ee, - il1=\EE, ind=^J, kBEG=\377\356, kCAN=\377\263, - kCMD=\377\267, kCPY=\377\363, kCRT=\377\364, - kDL=\377\366, kEND=\377\301, kEOL=\377\311, - kEXT=\377\367, kFND=\377\370, kHLP=\377\371, - kHOM=\377\260, kIC=\377\340, kLFT=\377\264, - kMOV=\377\306, kMSG=\377\304, kNXT=\377\272, - kOPT=\377\372, kPRT=\377\275, kPRV=\377\262, - kRDO=\377\315, kRES=\377\374, kRIT=\377\266, - kRPL=\377\373, kSAV=\377\307, kSPD=\377\303, - kUND=\377\337, kbeg=\377\300, kcan=\377\243, kcbt=\377\0, - kclo=\377\343, kclr=\377\341, kcmd=\377\245, - kcpy=\377\265, kcrt=\377\305, kctab=\377\237, - kcub1=\377\244, kcud1=\377\251, kcuf1=\377\246, - kcuu1=\377\241, kdch1=\377\254, kdl1=\377\274, - ked=\377\314, kel=\377\310, kend=\377\250, kent=\377\320, - kext=\377\270, kf1=\377\201, kf10=\377\212, - kf11=\377\256, kf12=\377\257, kf13=\377\213, - kf14=\377\214, kf15=\377\215, kf16=\377\216, - kf17=\377\217, kf18=\377\220, kf19=\377\221, - kf2=\377\202, kf20=\377\222, kf21=\377\223, - kf22=\377\224, kf23=\377\333, kf24=\377\334, - kf25=\377\225, kf26=\377\226, kf27=\377\227, - kf28=\377\230, kf29=\377\231, kf3=\377\203, - kf30=\377\232, kf31=\377\233, kf32=\377\234, - kf33=\377\235, kf34=\377\236, kf35=\377\276, - kf36=\377\277, kf37=\377\321, kf38=\377\322, - kf39=\377\323, kf4=\377\204, kf40=\377\324, - kf41=\377\325, kf42=\377\326, kf43=\377\327, - kf44=\377\330, kf45=\377\331, kf46=\377\332, - kf47=\377\316, kf48=\377\317, kf5=\377\205, kf6=\377\206, - kf7=\377\207, kf8=\377\210, kf9=\377\211, kfnd=\377\346, - khlp=\377\350, khome=\377\240, khts=\377\342, - kich1=\377\253, kil1=\377\273, kind=\377\261, - kmov=\377\351, kmrk=\377\355, kmsg=\377\345, - knp=\377\252, knxt=\377\312, kopn=\377\357, - kopt=\377\353, kpp=\377\242, kprt=\377\255, - kprv=\377\302, krdo=\377\336, kref=\377\354, - kres=\377\360, krfr=\377\347, kri=\377\271, - krmir=\377\313, krpl=\377\362, krst=\377\352, - ksav=\377\361, kslt=\377\247, kspd=\377\335, - ktbc=\377\344, kund=\377\365, mvpa=\E!%p1%02d, op=\ER, - rep=\Eg%p2%{32}%+%c%p1%c, rev=\E(, ri=\EI, rmcup=\Eh\ER, - rmso=\E), rmul=\E], rs1=\ER, setb=\E@%p1%Pb%gb%gf%d%d, - setf=\E@%p1%Pf%gb%gf%d%d, sgr0=\E}\E]\E>\E), smcup=\Ei, - smso=\E(, smul=\E[, -# -# -qnxt|qnxt4|QNX4 terminal, - crxm, use=qnx4, -# -qnxm|QNX4 with mouse events, - maddr#1, - chr=\E/, cvr=\E", is1=\E/0t, mcub=\E/>1h, mcub1=\E/>7h, - mcud=\E/>1h, mcud1=\E/>1l\E/>9h, mcuf=\E/>1h\E/>9l, - mcuf1=\E/>7l, mcuu=\E/>6h, mcuu1=\E/>6l, rmicm=\E/>2l, - smicm=\E/>2h, use=qnx4, -# -qnxw|QNX4 windows, - xvpa, use=qnxm, -# -# Monochrome QNX4 terminal or console. Setting this terminal type will -# allow an application running on a color console to behave as if it -# were a monochrome terminal. Output will be through stdout instead of -# console writes because the term routines will recognize that the -# terminal name starts with 'qnxt'. -# -qnxtmono|Monochrome QNX4 terminal or console, - colors@, pairs@, - scp@, use=qnx4, - -# From: Federico Bianchi , 1 Jul 1998 -# (esr: commented out and to avoid warnings.) -# (TD: derive from original qnx4 entry) -qnxt2|qnx 2.15 serial terminal, - am, - civis@, cnorm@, cvvis@, dch1@, ich1@, kRES@, kRPL@, kUND@, kspd@, - rep@, rmcup@, rmso=\E>, setb@, setf@, smcup@, smso=\E<, use=qnx4, - -# QNX ANSI terminal definition -qansi-g|QNX ANSI, - am, eslok, hs, xon, - colors#8, cols#80, it#8, lines#25, ncv#19, pairs#64, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~Oa, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[2J\E[H, cnorm=\E[?25h\E[?12l, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[1M, dsl=\E[r, ech=\E[%p1%dX, ed=\E[J, - el=\E[K, el1=\E[1K\E[X, flash=\E[?5h$<200>\E[?5l, - fsl=\E[?6h\E8, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, - ich=\E[%p1%d@, ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, - ind=\E[S, indn=\E[%p1%dS, invis=\E[9m, - is2=\E>\E[?1l\E[?7h\E[0;10;39;49m, is3=\E(B\E)0, - kBEG=\ENn, kCAN=\E[s, kCMD=\E[t, kCPY=\ENs, kCRT=\ENt, - kDL=\ENv, kEXT=\ENw, kFND=\ENx, kHLP=\ENy, kHOM=\E[h, - kLFT=\E[d, kNXT=\E[u, kOPT=\ENz, kPRV=\E[v, kRIT=\E[c, - kbs=^H, kcan=\E[S, kcbt=\E[Z, kclo=\ENc, kclr=\ENa, - kcmd=\E[G, kcpy=\E[g, kctab=\E[z, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[p, kend=\E[Y, - kext=\E[y, kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EOA, - kf13=\EOp, kf14=\EOq, kf15=\EOr, kf16=\EOs, kf17=\EOt, - kf18=\EOu, kf19=\EOv, kf2=\EOQ, kf20=\EOw, kf21=\EOx, - kf22=\EOy, kf23=\EOz, kf24=\EOa, kf25=\E[1~, kf26=\E[2~, - kf27=\E[3~, kf28=\E[4~, kf29=\E[5~, kf3=\EOR, kf30=\E[6~, - kf31=\E[7~, kf32=\E[8~, kf33=\E[9~, kf34=\E[10~, - kf35=\E[11~, kf36=\E[12~, kf37=\E[17~, kf38=\E[18~, - kf39=\E[19~, kf4=\EOS, kf40=\E[20~, kf41=\E[21~, - kf42=\E[22~, kf43=\E[23~, kf44=\E[24~, kf45=\E[25~, - kf46=\E[26~, kf47=\E[27~, kf48=\E[28~, kf5=\EOT, kf6=\EOU, - kf7=\EOV, kf8=\EOW, kf9=\EOX, kfnd=\ENf, khlp=\ENh, - khome=\E[H, khts=\ENb, kich1=\E[@, kil1=\E[`, kind=\E[a, - kmov=\ENi, kmrk=\ENm, kmsg=\ENe, knp=\E[U, kopn=\ENo, - kopt=\ENk, kpp=\E[V, kref=\ENl, kres=\ENp, krfr=\ENg, - kri=\E[b, krpl=\ENr, krst=\ENj, ksav=\ENq, kslt=\E[T, - ktbc=\ENd, kund=\ENu, ll=\E[99H, nel=\EE, op=\E[39;49m, - rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\E[T, - rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, rmso=\E[27m, - rmul=\E[24m, rs1=\017\E[?7h\E[0;39;49m$<2>\E>\E[?1l, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;9%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smso=\E[7m, - smul=\E[4m, tbc=\E[2g, - tsl=\E7\E1;24r\E[?6l\E[25;%i%p1%dH, -# -qansi|QNX ansi with console writes, - daisy, xhpa, use=qansi-g, -# -qansi-t|QNX ansi without console writes, - crxm, use=qansi, -# -qansi-m|QNX ansi with mouse, - maddr#1, - chr=\E[, cvr=\E], is1=\E[0t, mcub=\E[>1h, mcub1=\E[>7h, - mcud=\E[>1h, mcud1=\E[>1l\E[>9h, mcuf=\E[>1h\E[>9l, - mcuf1=\E[>7l, mcuu=\E[>6h, mcuu1=\E[>6l, rmicm=\E[>2l, - smicm=\E[>2h, use=qansi, -# -qansi-w|QNX ansi for windows, - xvpa, use=qansi-m, - -#### NetBSD consoles -# -# pcvt termcap database entries (corresponding to release 3.31) -# Author's last edit-date: [Fri Sep 15 20:29:10 1995] -# -# (For the terminfo master file, I translated these into terminfo syntax. -# Then I dropped all the pseudo-HP entries. we don't want and can't use -# the :Xs: flag. Then I split :is: into a size-independent and a -# size-dependent . Finally, I added / -- esr) - -# NOTE: has been taken out of this entry. for reference, it should -# be . For discussion, see ICH/ICH1 VERSUS RMIR/SMIR below. -# (esr: added and to resolve NetBSD Problem Report #4583) -pcvtXX|pcvt vt200 emulator (DEC VT220), - am, km, mir, msgr, xenl, - it#8, vt#3, - acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=\ED, indn=\E[%p1%dS, - is1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kbs=\177, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kf1=\E[17~, kf2=\E[18~, kf3=\E[19~, - kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, - khome=\E[1~, kich1=\E[2~, kll=\E[4~, knp=\E[6~, kpp=\E[5~, - nel=\EE, rc=\E8, rev=\E[7m, rf=/usr/local/share/tabset/vt100, - ri=\EM, rin=\E[%p1%dT, rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, - rs1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr0=\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - -# NetBSD/FreeBSD vt220 terminal emulator console (pc keyboard & monitor) -# termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and -# 50 lines entries; 80 columns -pcvt25|dec vt220 emulation with 25 lines, - cols#80, lines#25, - is2=\E[1;25r\E[25;1H, use=pcvtXX, -pcvt28|dec vt220 emulation with 28 lines, - cols#80, lines#28, - is2=\E[1;28r\E[28;1H, use=pcvtXX, -pcvt35|dec vt220 emulation with 35 lines, - cols#80, lines#35, - is2=\E[1;35r\E[35;1H, use=pcvtXX, -pcvt40|dec vt220 emulation with 40 lines, - cols#80, lines#40, - is2=\E[1;40r\E[40;1H, use=pcvtXX, -pcvt43|dec vt220 emulation with 43 lines, - cols#80, lines#43, - is2=\E[1;43r\E[43;1H, use=pcvtXX, -pcvt50|dec vt220 emulation with 50 lines, - cols#80, lines#50, - is2=\E[1;50r\E[50;1H, use=pcvtXX, - -# NetBSD/FreeBSD vt220 terminal emulator console (pc keyboard & monitor) -# termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and -# 50 lines entries; 132 columns -pcvt25w|dec vt220 emulation with 25 lines and 132 cols, - cols#132, lines#25, - is2=\E[1;25r\E[25;1H, use=pcvtXX, -pcvt28w|dec vt220 emulation with 28 lines and 132 cols, - cols#132, lines#28, - is2=\E[1;28r\E[28;1H, use=pcvtXX, -pcvt35w|dec vt220 emulation with 35 lines and 132 cols, - cols#132, lines#35, - is2=\E[1;35r\E[35;1H, use=pcvtXX, -pcvt40w|dec vt220 emulation with 40 lines and 132 cols, - cols#132, lines#40, - is2=\E[1;40r\E[40;1H, use=pcvtXX, -pcvt43w|dec vt220 emulation with 43 lines and 132 cols, - cols#132, lines#43, - is2=\E[1;43r\E[43;1H, use=pcvtXX, -pcvt50w|dec vt220 emulation with 50 lines and 132 cols, - cols#132, lines#50, - is2=\E[1;50r\E[50;1H, use=pcvtXX, - -# OpenBSD implements a color variation -pcvt25-color|dec vt220 emulation with 25 lines and color, - cols#80, lines#25, - is2=\E[1;25r\E[25;1H, kf1=\EOP, kf10=\E[29~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[17~, - kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, use=pcvtXX, - use=ecma+color, - -# Terminfo entries to enable the use of the ncurses library in colour on a -# NetBSD-arm32 console (only tested on a RiscPC). -# Created by Dave Millen 22.07.98 -# modified codes for setf/setb to setaf/setab, then to klone+color, corrected -# typo in invis - TD -arm100|arm100-am|Arm(RiscPC) ncurses compatible (for 640x480), - am, bce, msgr, xenl, xon, - cols#80, it#8, lines#30, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C$<2>, - cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, - cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>, - enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, - invis=\E[8m$<2>, ka1=\E[q, ka3=\E[s, kb2=\E[r, kbs=^H, - kc1=\E[p, kc3=\E[n, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kent=\E[M, kf0=\E[y, kf1=\E[P, kf10=\E[x, - kf2=\E[Q, kf3=\E[R, kf4=\E[S, kf5=\E[t, kf6=\E[u, kf7=\E[v, - kf8=\E[l, kf9=\E[w, rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, - rmacs=^O, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m$<2>, - rmul=\E[m$<2>, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<2>, - sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, - smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, use=ecma+sgr, - use=klone+color, - -arm100-w|arm100-wam|Arm(RiscPC) ncurses compatible (for 1024x768), - cols#132, lines#50, use=arm100, - -# NetBSD/x68k console vt200 emulator. This port runs on a 68K machine -# manufactured by Sharp for the Japenese market. -# From Minoura Makoto , 12 May 1996 -x68k|x68k-ite|NetBSD/x68k ITE, - cols#96, lines#32, - kclr=\E[9~, khlp=\E[28~, use=vt220, - -# : -# Entry for the DNARD OpenFirmware console, close to ANSI but not quite. -# -# (still unfinished, but good enough so far.) -ofcons|DNARD OpenFirmware console, - bw, - cols#80, lines#30, - bel=^G, blink=\2337;2m, bold=\2331m, clear=^L, cr=^M, - cub=\233%p1%dD, cub1=\233D, cud=\233%p1%dB, cud1=\233B, - cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH, - cuu=\233%p1%dA, cuu1=\233A, dch=\233%p1%dP, dch1=\233P, - dim=\2332m, dl=\233%p1%dM, dl1=\233M, ed=\233J, el=\233K, - flash=^G, ht=^I, ich=\233%p1%d@, ich1=\233@, il=\233%p1%dL, - il1=\233L, ind=^J, invis=\2338m, kbs=^H, kcub1=\233D, - kcud1=\233B, kcuf1=\233C, kcuu1=\233A, kdch1=\233P, - kf1=\2330P, kf10=\2330M, kf2=\2330Q, kf3=\2330W, - kf4=\2330x, kf5=\2330t, kf6=\2330u, kf7=\2330q, kf8=\2330r, - kf9=\2330p, knp=\233/, kpp=\233?, nel=^M^J, rev=\2337m, - rmso=\2330m, rmul=\2330m, - sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, - sgr0=\2330m, - -# NetBSD "wscons" emulator in vt220 mode. -# This entry is based on the NetBSD termcap entry, correcting the ncv value. -# The emulator renders underlined text in red. Colors are otherwise usable. -# -# Testing the emulator and reading the source code (NetBSD 2.0), it appears -# that "vt220" is inaccurate. There are a few vt220-features, but most of the -# vt220 screens in vttest do not work with this emulator. For instance, it -# identifies itself (primary DA response) as a vt220 with selective erase. But -# the selective erase feature does not work. The secondary response is copied -# from Kermit's emulation of vt220, does not correspond to actual vt220. At -# the level of detail in a termcap, it is a passable emulator, since ECH does -# work. Don't use it on a VMS system -TD -wsvt25|NetBSD wscons in 25 line DEC VT220 mode, - bce, msgr, - colors#8, cols#80, it#8, lines#25, ncv#2, pairs#64, - is2=\E[r\E[25;1H, kend=\E[8~, kf1=\E[11~, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~, - kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, - kf9=\E[20~, khome=\E[7~, op=\E[m, setab=\E[4%p1%dm, - setaf=\E[3%p1%dm, use=vt220, - -wsvt25m|NetBSD wscons in 25 line DEC VT220 mode with Meta, - km, use=wsvt25, - -# `rasterconsole' provided by 4.4BSD, NetBSD and OpenBSD on SPARC, and -# DECstation/pmax. -rcons|BSD rasterconsole, - use=sun-il, -# Color version of above. Color currently only provided by NetBSD. -rcons-color|BSD rasterconsole with ANSI color, - bce, - colors#8, pairs#64, - op=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=rcons, - -# mgterm -- MGL/MGL2, MobileGear Graphic Library -# for PocketBSD,PocketLinux,NetBSD/{hpcmips,mac68k} -# -- the setf/setb are probably incorrect, more likely setaf/setab -TD -# -- compare with cons25w -mgterm, - OTbs, OTpt, am, bce, bw, eo, km, msgr, npc, - colors#8, cols#80, it#8, lines#18, pairs#64, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, - cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dim=\E[30;1m, dl=\E[%p1%dM, - dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, - home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S, - indn=\E[%p1%dS, kb2=\E[E, kbs=^H, kcbt=\E[Z, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, kend=\E[F, - kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X, kf2=\E[N, - kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, - kf9=\E[U, khome=\E[H, kich1=\E[L, knp=\E[G, kpp=\E[I, - nel=\E[E, op=\E[x, rc=\E8, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, - rmso=\E[m, rs2=\E[x\E[m\Ec, sc=\E7, setb=\E[4%p1%dm, - setf=\E[3%p1%dm, sgr0=\E[m, smso=\E[7m, vpa=\E[%i%p1%dd, - -#### FreeBSD console entries -# -# From: Andrey Chernov 29 Mar 1996 -# Andrey Chernov maintains the FreeBSD termcap distributions. -# -# Note: Users of FreeBSD 2.1.0 and older versions must either upgrade -# or comment out the :cb: capability in the console entry. -# -# Alexander Lukyanov reports: -# I have seen FreeBSD-2.1.5R... The old el1 bug changed, but it is still there. -# Now el1 clears not only to the line beginning, but also a large chunk -# of previous line. But there is another bug - ech does not work at all. -# - -# for syscons -# common entry without semigraphics -# Bug: The capability resets attributes. -# Bug? The ech and el1 attributes appear to move the cursor in some cases; for -# instance el1 does if the cursor is moved to the right margin first. Removed -# by T.Dickey 97/5/3 (ech=\E[%p1%dX, el1=\E[1K) -# -# Setting colors turns off reverse; we cannot guarantee order, so use ncv. -# Note that this disables standout with color. -# -# The emulator sends difference strings based on shift- and control-keys, -# like scoansi: -# F13-F24 are shifted F1-F12 -# F25-F36 are control F1-F12 -# F37-F48 are shift+control F1-F12 -cons25w|ansiw|ansi80x25-raw|freebsd console (25-line raw mode), - am, bce, bw, eo, msgr, npc, - colors#8, cols#80, it#8, lines#25, ncv#21, pairs#64, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, - cnorm=\E[=0C, cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, - cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[=1C, dch=\E[%p1%dP, dch1=\E[P, dim=\E[30;1m, - dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, - home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S, - indn=\E[%p1%dS, kb2=\E[E, kbs=^H, kcbt=\E[Z, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, kend=\E[F, - kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X, kf13=\E[Y, - kf14=\E[Z, kf15=\E[a, kf16=\E[b, kf17=\E[c, kf18=\E[d, - kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g, kf22=\E[h, - kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l, kf27=\E[m, - kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p, kf31=\E[q, - kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u, kf36=\E[v, - kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P, kf40=\E[z, - kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[], kf45=\E[\^, - kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q, kf6=\E[R, - kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, kich1=\E[L, - knp=\E[G, kpp=\E[I, nel=\E[E, op=\E[x, rc=\E8, rev=\E[7m, - ri=\E[T, rin=\E[%p1%dT, rmso=\E[m, rs2=\E[x\E[m\Ec, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0%?%p1%t;2;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;30;1%;%?%p6%t;1%;m, - sgr0=\E[m, smso=\E[7m, vpa=\E[%i%p1%dd, -cons25|ansis|ansi80x25|freebsd console (25-line ansi mode), - acsc=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371, - use=cons25w, -cons25-m|ansis-mono|ansi80x25-mono|freebsd console (25-line mono ansi mode), - colors@, pairs@, - bold@, dim@, op@, rmul=\E[m, setab@, setaf@, - sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m, - smul=\E[4m, use=cons25, -cons30|ansi80x30|freebsd console (30-line ansi mode), - lines#30, use=cons25, -cons30-m|ansi80x30-mono|freebsd console (30-line mono ansi mode), - lines#30, use=cons25-m, -cons43|ansi80x43|freebsd console (43-line ansi mode), - lines#43, use=cons25, -cons43-m|ansi80x43-mono|freebsd console (43-line mono ansi mode), - lines#43, use=cons25-m, -cons50|ansil|ansi80x50|freebsd console (50-line ansi mode), - lines#50, use=cons25, -cons50-m|ansil-mono|ansi80x50-mono|freebsd console (50-line mono ansi mode), - lines#50, use=cons25-m, -cons60|ansi80x60|freebsd console (60-line ansi mode), - lines#60, use=cons25, -cons60-m|ansi80x60-mono|freebsd console (60-line mono ansi mode), - lines#60, use=cons25-m, -cons25r|pc3r|ibmpc3r|cons25-koi8-r|freebsd console w/koi8-r cyrillic, - acsc=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225, - use=cons25w, -cons25r-m|pc3r-m|ibmpc3r-mono|cons25-koi8r-m|freebsd console w/koi8-r cyrillic (mono), - colors@, pairs@, - op@, rmul=\E[m, setab@, setaf@, - sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;30;1%;%?%p6%t;1%;m, - smul=\E[4m, use=cons25r, -cons50r|cons50-koi8r|freebsd console w/koi8-r cyrillic (50 lines), - lines#50, use=cons25r, -cons50r-m|cons50-koi8r-m|freebsd console w/koi8-r cyrillic (50-line mono), - lines#50, use=cons25r-m, -cons60r|cons60-koi8r|freebsd console w/koi8-r cyrillic (60 lines), - lines#60, use=cons25r, -cons60r-m|cons60-koi8r-m|freebsd console w/koi8-r cyrillic (60-line mono), - lines#60, use=cons25r-m, -# ISO 8859-1 FreeBSD console -cons25l1|cons25-iso8859|freebsd console w/iso 8859-1 chars, - acsc=+\253\,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237, - use=cons25w, -cons25l1-m|cons25-iso-m|freebsd console w/iso 8859-1 chars (mono), - colors@, pairs@, - bold@, dim@, op@, rmul=\E[m, setab@, setaf@, - sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m, - smul=\E[4m, use=cons25l1, -cons50l1|cons50-iso8859|freebsd console w/iso 8859-1 chars (50 lines), - lines#50, use=cons25l1, -cons50l1-m|cons50-iso-m|freebsd console w/iso 8859-1 chars (50-line mono), - lines#50, use=cons25l1-m, -cons60l1|cons60-iso|freebsd console w/iso 8859-1 chars (60 lines), - lines#60, use=cons25l1, -cons60l1-m|cons60-iso-m|freebsd console w/iso 8859-1 chars (60-line mono), - lines#60, use=cons25l1-m, - -#### 386BSD and BSD/OS Consoles -# - -# This was the original 386BSD console entry (I think). -# Some places it's named oldpc3|oldibmpc3. -# From: Alex R.N. Wetmore -origpc3|origibmpc3|IBM PC 386BSD Console, - OTbs, am, bw, eo, xon, - cols#80, lines#25, - acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263, - bold=\E[7m, clear=\Ec, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\E[J, el=\E[K, - home=\E[H, ind=\E[S, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, khome=\E[Y, ri=\E[T, rmso=\E[1;0x\E[2;7x, - rmul=\E[1;0x\E[2;7x, sgr0=\E[m\E[1;0x\E[2;7x, - smso=\E[1;7x\E[2;0x, smul=\E[1;7x\E[2;0x, - -# description of BSD/386 console emulator in version 1.0 (supplied by BSDI) -oldpc3|oldibmpc3|old IBM PC BSD/386 Console, - OTbs, km, - lines#25, - bel=^G, bold=\E[=15F, cr=^M, cud1=^J, dim=\E[=8F, dl1=\E[M, - ht=^I, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, kich1=\E[L, kll=\E[F, - knp=\E[G, kpp=\E[I, nel=^M^J, sgr0=\E[=R, - -# Description of BSD/OS console emulator in version 1.1, 2.0, 2.1 -# Note, the emulator supports many of the additional console features -# listed in the iBCS2 (e.g. character-set selection) though not all -# are described here. This entry really ought to be upgraded. -# Also note, the console will also work with fewer lines after doing -# "stty rows NN", e.g. to use 24 lines. -# (Color support from Kevin Rosenberg , 2 May 1996) -# Bug: The capability resets attributes. -bsdos-pc|IBM PC BSD/OS Console, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;1%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, - use=bsdos-pc-nobold, - -bsdos-pc-nobold|BSD/OS PC console w/o bold, - use=klone+color, use=bsdos-pc-m, - -bsdos-pc-m|bsdos-pc-mono|BSD/OS PC console mono, - OTbs, am, eo, km, xon, - cols#80, it#8, lines#25, - bel=^G, clear=\Ec, cr=^M, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, - il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, kich1=\E[L, - kll=\E[F, knp=\E[G, kpp=\E[I, nel=^M^J, rc=\E8, sc=\E7, - sgr=\E[0;10%?%p1%t;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m%?%p5%t\E[=8F%;, - use=klone+sgr, - -# Old names for BSD/OS PC console used in releases before 4.1. -pc3|BSD/OS on the PC Console, - use=bsdos-pc-nobold, -ibmpc3|pc3-bold|BSD/OS on the PC Console with bold instead of underline, - use=bsdos-pc, - -# BSD/OS on the SPARC -bsdos-sparc|Sun SPARC BSD/OS Console, - use=sun, - -# BSD/OS on the PowerPC -bsdos-ppc|PowerPC BSD/OS Console, - use=bsdos-pc, - -#### DEC VT52 -# (// capabilities aren't in DEC's official entry -- esr) -# -# Actually (TD pointed this out at the time the acsc string was added): -# vt52 shouldn't define full acsc since most of the cells don't match. -# see vt100 manual page A-31. This is the list that does match: -# f degree -# g plus/minus -# h right-arrow -# k down-arrow -# m scan-1 -# o scan-3 -# q scan-5 -# s scan-7 -# The line-drawing happens to work in several terminal emulators, but should -# not be used as a guide to the capabilities of the vt52. Note in particular -# that vt52 does not support line-drawing characters (the scan-X values refer -# to a crude plotting feature) -TD -vt52|dec vt52, - OTbs, - cols#80, it#8, lines#24, - acsc=ffgghhompoqqss.k, bel=^G, clear=\EH\EJ, cr=^M, - cub1=\ED, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, - el=\EK, home=\EH, ht=^I, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, nel=^M^J, ri=\EI, rmacs=\EG, smacs=\EF, - -#### DEC VT100 and compatibles -# -# DEC terminals from the vt100 forward are collected here. Older DEC terminals -# and micro consoles can be found in the `obsolete' section. More details on -# the relationship between the VT100 and ANSI X3.64/ISO 6429/ECMA-48 may be -# found near the end of this file. -# -# Except where noted, these entries are DEC's official terminfos. -# Contact Bill Hedberg of Terminal Support -# Engineering for more information. Updated terminfos and termcaps -# are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps. -# -# In October 1995 DEC sold its terminals business, including the VT and Dorio -# line and trademark, to SunRiver Data Systems. SunRiver has since changed -# its name to Boundless Technologies; see http://www.boundless.com. -# - -# NOTE: Any VT100 emulation, whether in hardware or software, almost -# certainly includes what DEC called the `Level 1 editing extension' codes; -# only the very oldest VT100s lacked these and there probably aren't any of -# those left alive. To capture these, use one of the VT102 entries. -# -# Note that the glitch in vt100 is not quite the same as on the Concept, -# since the cursor is left in a different position while in the -# weird state (concept at beginning of next line, vt100 at end -# of this line) so all versions of vi before 3.7 don't handle -# right on vt100. The correct way to handle is when -# you output the char in column 80, immediately output CR LF -# and then assume you are in column 1 of the next line. If -# is on, am should be on too. -# -# I assume you have smooth scroll off or are at a slow enough baud -# rate that it doesn't matter (1200? or less). Also this assumes -# that you set auto-nl to "on", if you set it off use vt100-nam -# below. -# -# The padding requirements listed here are guesses. It is strongly -# recommended that xon/xoff be enabled, as this is assumed here. -# -# The vt100 uses and rather than // because the -# tab settings are in non-volatile memory and don't need to be -# reset upon login. Also setting the number of columns glitches -# the screen annoyingly. You can type "reset" to get them set. -# -# The VT100 series terminals have cursor ("arrows") keys which can operate -# in two different modes: Cursor Mode and Application Mode. Cursor Mode -# is the reset state, and is assumed to be the normal state. Application -# Mode is the "set" state. In Cursor Mode, the cursor keys transmit -# "Esc [ {code}" sequences, conforming to ANSI standards. In Application -# Mode, the cursor keys transmit "Esc O " sequences. Application Mode -# was provided primarily as an aid to the porting of VT52 applications. It is -# assumed that the cursor keys are normally in Cursor Mode, and expected that -# applications such as vi will always transmit the string. Therefore, -# the definitions for the cursor keys are made to match what the terminal -# transmits after the string is transmitted. If the string -# is a null string or is not defined, then cursor keys are assumed to be in -# "Cursor Mode", and the cursor keys definitions should match that assumption, -# else the application may fail. It is also expected that applications will -# always transmit the string to the terminal before they exit. -# -# The VT100 series terminals have an auxiliary keypad, commonly referred to as -# the "Numeric Keypad", because it is a cluster of numeric and function keys. -# The Numeric Keypad which can operate in two different modes: Numeric Mode and -# Application Mode. Numeric Mode is the reset state, and is assumed to be -# the normal state. Application Mode is the "set" state. In Numeric Mode, -# the numeric and punctuation keys transmit ASCII 7-bit characters, and the -# Enter key transmits the same as the Return key (Note: the Return key -# can be configured to send either LF (\015) or CR LF). In Application Mode, -# all the keypad keys transmit "Esc O {code}" sequences. The PF1 - PF4 keys -# always send the same "Esc O {code}" sequences. It is assumed that the keypad -# is normally in Numeric Mode. If an application requires that the keypad be -# in Application Mode then it is expected that the user, or the application, -# will set the TERM environment variable to point to a terminfo entry which has -# defined the string to include the codes that switch the keypad into -# Application Mode, and the terminfo entry will also define function key -# fields to match the Application Mode control codes. If the string -# is a null string or is not defined, then the keypad is assumed to be in -# Numeric Mode. If the string switches the keypad into Application -# Mode, it is expected that the string will contain the control codes -# necessary to reset the keypad to "Normal" mode, and it is also expected that -# applications which transmit the string will also always transmit the -# string to the terminal before they exit. -# -# Here's a diagram of the VT100 keypad keys with their bindings. -# The top line is the name of the key (some DEC keyboards have the keys -# labelled somewhat differently, like GOLD instead of PF1, but this is -# the most "official" name). The second line is the escape sequence it -# generates in Application Keypad mode (where "$" means the ESC -# character). The third line contains two items, first the mapping of -# the key in terminfo, and then in termcap. -# _______________________________________ -# | PF1 | PF2 | PF3 | PF4 | -# | $OP | $OQ | $OR | $OS | -# |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_| -# | 7 8 9 - | -# | $Ow | $Ox | $Oy | $Om | -# |_kf9__k9_|_kf10_k;_|_kf0__k0_|_________| -# | 4 | 5 | 6 | , | -# | $Ot | $Ou | $Ov | $Ol | -# |_kf5__k5_|_kf6__k6_|_kf7__k7_|_kf8__k8_| -# | 1 | 2 | 3 | | -# | $Oq | $Or | $Os | enter | -# |_ka1__K1_|_kb2__K2_|_ka3__K3_| $OM | -# | 0 | . | | -# | $Op | $On | | -# |___kc1_______K4____|_kc3__K5_|_kent_@8_| -# -# Note however, that the arrangement of the 5-key ka1-kc3 do not follow the -# terminfo guidelines. That is a compromise used to assign the remaining -# keys on the keypad to kf5-kf0, used on older systems with legacy termcap -# support: -vt100+keypad|dec vt100 numeric keypad no fkeys, - ka1=\EOq, ka3=\EOs, kb2=\EOr, kc1=\EOp, kc3=\EOn, -vt100+pfkeys|dec vt100 numeric keypad, - kent=\EOM, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, - use=vt100+keypad, -vt100+fnkeys|dec vt100 numeric keypad, - kf0=\EOy, kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl, - kf9=\EOw, use=vt100+pfkeys, -# -# A better adaptation to modern keyboards such as the PC's, which have a dozen -# function keys and the keypad 2,4,6,8 keys are labeled with arrows keys, is to -# use the 5-key arrangement to model the arrow keys as suggested in the -# terminfo guidelines: -# _______________________________________ -# | PF1 | PF2 | PF3 | PF4 | -# | $OP | $OQ | $OR | $OS | -# |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_| -# | 7 8 9 - | -# | $Ow | $Ox | $Oy | $Om | -# |_ka1__K1_|_________|_ka3__K3_|_________| -# | 4 | 5 | 6 | , | -# | $Ot | $Ou | $Ov | $Ol | -# |_________|_kb2__K2_|_________|_________| -# | 1 | 2 | 3 | | -# | $Oq | $Or | $Os | enter | -# |_kc1__K4_|_________|_kc3__K5_| $OM | -# | 0 | . | | -# | $Op | $On | | -# |___________________|_________|_kent_@8_| -# -vt220+keypad|dec vt220 numeric keypad, - ka1=\EOw, ka3=\EOy, kb2=\EOu, kc1=\EOq, kc3=\EOs, kent=\EOM, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, -# -# And here, for those of you with orphaned VT100s lacking documentation, is -# a description of the soft switches invoked when you do `Set Up'. -# -# Scroll 0-Jump Shifted 3 0-# -# | 1-Smooth | 1-British pound sign -# | Autorepeat 0-Off | Wrap Around 0-Off -# | | 1-On | | 1-On -# | | Screen 0-Dark Bkg | | New Line 0-Off -# | | | 1-Light Bkg | | | 1-On -# | | | Cursor 0-Underline | | | Interlace 0-Off -# | | | | 1-Block | | | | 1-On -# | | | | | | | | -# 1 1 0 1 1 1 1 1 0 1 0 0 0 0 1 0 <--Standard Settings -# | | | | | | | | -# | | | Auto XON/XOFF 0-Off | | | Power 0-60 Hz -# | | | 1-On | | | 1-50 Hz -# | | Ansi/VT52 0-VT52 | | Bits Per Char. 0-7 Bits -# | | 1-ANSI | | 1-8 Bits -# | Keyclick 0-Off | Parity 0-Off -# | 1-On | 1-On -# Margin Bell 0-Off Parity Sense 0-Odd -# 1-On 1-Even -# -# The following SET-UP modes are assumed for normal operation: -# ANSI_MODE AUTO_XON/XOFF_ON NEWLINE_OFF 80_COLUMNS -# WRAP_AROUND_ON JUMP_SCROLL_OFF -# Other SET-UP modes may be set for operator convenience or communication -# requirements; I recommend -# AUTOREPEAT_ON BLOCK_CURSOR MARGIN_BELL_OFF SHIFTED_3_# -# Unless you have a graphics add-on such as Digital Engineering's VT640 -# (and even then, whenever it can be arranged!) you should set -# INTERLACE_OFF -# -# (vt100: I added / based on the init string, also . -- esr) -vt100|vt100-am|dec vt100 (w/advanced video), - OTbs, am, mc5i, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C$<2>, - cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, - cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>, - enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, lf1=pf1, - lf2=pf2, lf3=pf3, lf4=pf4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, - rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, - rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>, - sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, - smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, - use=vt100+fnkeys, -vt100nam|vt100-nam|vt100 no automargins, - am@, xenl@, use=vt100-am, -vt100-vb|dec vt100 (w/advanced video) & no beep, - bel@, flash=\E[?5h\E[?5l, use=vt100, - -# Ordinary vt100 in 132 column ("wide") mode. -vt100-w|vt100-w-am|dec vt100 132 cols (w/advanced video), - cols#132, lines#24, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=vt100-am, -vt100-w-nam|vt100-nam-w|dec vt100 132 cols (w/advanced video no automargin), - cols#132, lines#14, vt@, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=vt100-nam, - -# vt100 with no advanced video. -vt100-nav|vt100 without advanced video option, - xmc#1, - blink@, bold@, rev@, rmso=\E[m, rmul@, sgr@, sgr0@, smso=\E[7m, - smul@, use=vt100, -vt100-nav-w|vt100-w-nav|dec vt100 132 cols 14 lines (no advanced video option), - cols#132, lines#14, use=vt100-nav, - -# vt100 with one of the 24 lines used as a status line. -# We put the status line on the top. -vt100-s|vt100-s-top|vt100-top-s|vt100 for use with top sysline, - eslok, hs, - lines#23, - clear=\E[2;1H\E[J$<50>, csr=\E[%i%i%p1%d;%p2%dr, - cup=\E[%i%p1%{1}%+%d;%p2%dH$<5>, dsl=\E7\E[1;24r\E8, - fsl=\E8, home=\E[2;1H, is2=\E7\E[2;24r\E8, - tsl=\E7\E[1;%p1%dH\E[1K, use=vt100-am, - -# Status line at bottom. -# Clearing the screen will clobber status line. -vt100-s-bot|vt100-bot-s|vt100 for use with bottom sysline, - eslok, hs, - lines#23, - dsl=\E7\E[1;24r\E8, fsl=\E8, is2=\E[1;23r\E[23;1H, - tsl=\E7\E[24;%p1%dH\E[1K, use=vt100-am, - -# Most of the `vt100' emulators out there actually emulate a vt102 -# This entry (or vt102-nsgr) is probably the right thing to use for -# these. -vt102|dec vt102, - dch1=\E[P, dl1=\E[M, il1=\E[L, rmir=\E[4l, smir=\E[4h, - use=vt100, -vt102-w|dec vt102 in wide mode, - cols#132, - rs3=\E[?3h, use=vt102, - -# Many brain-dead PC comm programs that pretend to be `vt100-compatible' -# fail to interpret the ^O and ^N escapes properly. Symptom: the -# string in the canonical vt100 entry above leaves the screen littered -# with little snowflake or star characters (IBM PC ROM character \017 = ^O) -# after highlight turnoffs. This entry should fix that, and even leave -# ACS support working, at the cost of making multiple-highlight changes -# slightly more expensive. -# From: Eric S. Raymond July 22 1995 -vt102-nsgr|vt102 no sgr (use if you see snowflakes after highlight changes), - sgr@, sgr0=\E[m, use=vt102, - -# VT125 Graphics CRT. Clear screen also erases graphics -# Some vt125's came configured with vt102 support. -vt125|vt125 graphics terminal, - mir, - clear=\E[H\E[2J\EPpS(E)\E\\$<50>, use=vt100, - -# This isn't a DEC entry, it came from University of Wisconsin. -# (vt131: I added / based on the init string, also -- esr) -vt131|dec vt131, - OTbs, am, xenl, - cols#80, it#8, lines#24, vt#3, - bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>, - clear=\E[;H\E[2J$<50/>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=^J, cuf1=\E[C$<2/>, - cup=\E[%i%p1%d;%p2%dH$<5/>, cuu1=\E[A$<2/>, - ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H, ht=^I, - is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\EOD, kcud1=\EOB, - kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, nel=^M^J, rc=\E8, rev=\E[7m$<2/>, ri=\EM$<5/>, - rmam=\E[?7h, rmkx=\E[?1l\E>, rmso=\E[m$<2/>, - rmul=\E[m$<2/>, - rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr0=\E[m$<2/>, smam=\E[?7h, smkx=\E[?1h\E=, - smso=\E[7m$<2/>, smul=\E[4m$<2/>, - -# vt132 - like vt100 but slower and has ins/del line and such. -# I'm told that / are backwards in the terminal from the -# manual and from the ANSI standard, this describes the actual -# terminal. I've never actually used a vt132 myself, so this -# is untested. -# -vt132|DEC vt132, - xenl, - dch1=\E[P$<7>, dl1=\E[M$<99>, il1=\E[L$<99>, ind=\n$<30>, - ip=$<7>, rmir=\E[4h, smir=\E[4l, use=vt100, - -# This vt220 description maps F5--F9 to the second block of function keys -# at the top of the keyboard. The "DO" key is used as F10 to avoid conflict -# with the key marked (ESC) on the vt220. See vt220d for an alternate mapping. -# PF1--PF4 are used as F1--F4. -# -vt220-old|vt200-old|DEC VT220 in vt100 emulation mode, - OTbs, OTpt, am, mir, xenl, xon, - cols#80, lines#24, vt#3, - OTnl=^J, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, civis=\E[?25l, - clear=\E[H\E[2J$<50>, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, - if=/usr/local/share/tabset/vt100, il1=\E[L, ind=\ED$<20/>, - is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\EOP, - kf10=\E[29~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[17~, - kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, - khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, rc=\E8, - rev=\E[7m$<2>, rf=/usr/local/share/tabset/vt100, - ri=\EM$<14/>, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, - rmso=\E[27m, rmul=\E[24m, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, - smso=\E[7m, smul=\E[4m, - -# A much better description of the VT200/220; used to be vt220-8 -# changed rmacs/smacs from shift-in/shift-out to vt200-old's explicit G0/G1 -# designation to accommodate bug in pcvt -TD -vt220|vt200|dec vt220, - OTbs, am, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, - flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I, hts=\EH, - ich=\E[%p1%d@, if=/usr/local/share/tabset/vt100, - il=\E[%p1%dL, il1=\E[L, ind=\ED, - is2=\E[?7h\E[>\E[?1h\E F\E[?4l, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, - kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, - kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, - kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, - lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\E[i, mc4=\E[4i, - mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, - rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m, - rmul=\E[24m, rs1=\E[?3l, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m\E(B, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, - smso=\E[7m, smul=\E[4m, tbc=\E[3g, -vt220-w|vt200-w|DEC vt220 in wide mode, - cols#132, - rs3=\E[?3h, use=vt220, -vt220-8bit|vt220-8|vt200-8bit|vt200-8|dec vt220/200 in 8-bit mode, - OTbs, am, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\2335m, bold=\2331m, clear=\233H\233J, cr=^M, - csr=\233%i%p1%d;%p2%dr, cub=\233%p1%dD, cub1=^H, - cud=\233%p1%dB, cud1=^J, cuf=\233%p1%dC, cuf1=\233C, - cup=\233%i%p1%d;%p2%dH, cuu=\233%p1%dA, cuu1=\233A, - dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, dl1=\233M, - ech=\233%p1%dX, ed=\233J, el=\233K, el1=\2331K, enacs=\E)0, - flash=\233?5h$<200/>\233?5l, home=\233H, ht=^I, hts=\EH, - ich=\233%p1%d@, if=/usr/local/share/tabset/vt100, - il=\233%p1%dL, il1=\233L, ind=\ED, - is2=\233?7h\233>\233?1h\E F\233?4l, kbs=^H, - kcub1=\233D, kcud1=\233B, kcuf1=\233C, kcuu1=\233A, - kf1=\EOP, kf10=\23321~, kf11=\23323~, kf12=\23324~, - kf13=\23325~, kf14=\23326~, kf17=\23331~, kf18=\23332~, - kf19=\23333~, kf2=\EOQ, kf20=\23334~, kf3=\EOR, kf4=\EOS, - kf6=\23317~, kf7=\23318~, kf8=\23319~, kf9=\23320~, - kfnd=\2331~, khlp=\23328~, khome=\233H, kich1=\2332~, - knp=\2336~, kpp=\2335~, krdo=\23329~, kslt=\2334~, lf1=pf1, - lf2=pf2, lf3=pf3, lf4=pf4, mc0=\233i, mc4=\2334i, mc5=\2335i, - nel=\EE, rc=\E8, rev=\2337m, ri=\EM, rmacs=\E(B, - rmam=\233?7l, rmir=\2334l, rmso=\23327m, rmul=\23324m, - rs1=\233?3l, sc=\E7, - sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h, smir=\2334h, - smso=\2337m, smul=\2334m, tbc=\2333g, - -# vt220d: -# This vt220 description regards F6--F10 as the second block of function keys -# at the top of the keyboard. This mapping follows the description given -# in the VT220 Programmer Reference Manual and agrees with the labeling -# on some terminals that emulate the vt220. There is no support for an F5. -# See vt220 for an alternate mapping. -# -vt220d|DEC VT220 in vt100 mode with DEC function key labeling, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[32~, kf19=\E[33~, kf20=\E[34~, kf5@, kf6=\E[17~, - kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, use=vt220-old, - -vt220-nam|v200-nam|VT220 in vt100 mode with no auto margins, - am@, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h, use=vt220, - -# vt220 termcap written Tue Oct 25 20:41:10 1988 by Alex Latzko -# (not an official DEC entry!) -# The problem with real vt220 terminals is they don't send escapes when in -# in vt220 mode. This can be gotten around two ways. 1> don't send -# escapes or 2> put the vt220 into vt100 mode and use all the nifty -# features of vt100 advanced video which it then has. -# -# This entry takes the view of putting a vt220 into vt100 mode so -# you can use the escape key in emacs and everything else which needs it. -# -# You probably don't want to use this on a VMS machine since VMS will think -# it has a vt220 and will get fouled up coming out of emacs -# -# From: Alexander Latzko , 30 Dec 1996 -# (Added vt100 , to quiet a tic warning -- esr) -vt200-js|vt220-js|dec vt200 series with jump scroll, - am, - cols#80, - bel=^G, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=^J, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, - il1=\E[L, ind=\ED, - is2=\E[61"p\E[H\E[?3l\E[?4l\E[?1l\E[?5l\E[?6l\E[?7h\E[?8h\E[?25h\E>\E[m, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=^M\ED, rc=\E8, - rf=/usr/local/share/tabset/vt100, ri=\EM, rmdc=, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[27m$<5/>, rmul=\E[24m, - rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, smdc=, - smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m$<5/>, smul=\E[4m, - -# This was DEC's vt320. Use the purpose-built one below instead -#vt320|DEC VT320 in vt100 emulation mode, -# use=vt220, - -# Use v320n for SCO's LYRIX. Otherwise, use Adam Thompson's vt320-nam. -# -vt320nam|v320n|DEC VT320 in vt100 emul. mode with NO AUTO WRAP mode, - am@, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h, use=vt220, - -# These entries are not DEC's official ones, they were purpose-built for the -# VT320. Here are the designer's notes: -# is end on a PC kbd. Actually 'select' on a VT. Mapped to -# 'Erase to End of Field'... since nothing seems to use 'end' anyways... -# khome is Home on a PC kbd. Actually 'FIND' on a VT. -# Things that use usually use tab anyways... and things that don't use -# tab usually use instead... -# kprv is same as tab - Backtab is useless... -# I left out because of its RIDICULOUS complexity, -# and the resulting fact that it causes the termcap translation of the entry -# to SMASH the 1k-barrier... -# From: Adam Thompson Sept 10 1995 -# (vt320: uncommented --esr) -vt320|vt300|dec vt320 7 bit terminal, - am, eslok, hs, mir, msgr, xenl, - cols#80, lines#24, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, fsl=\E[0$}, - home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, - il1=\E[L, ind=\ED, - is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, - kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kel=\E[4~, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, - kf9=\E[20~, khome=\E[1~, kich1=\E[2~, knp=\E[6~, knxt=^I, - kpp=\E[5~, kprv=\E[Z, kslt=\E[4~, mc0=\E[i, mc4=\E[?4i, - mc5=\E[?5i, nel=\EE, rc=\E8, rev=\E[7m, - rf=/usr/local/share/tabset/vt300, ri=\EM, rmacs=\E(B, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, - rmul=\E[m, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, - sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[1$}\E[H\E[K, use=vt220+keypad, -vt320-nam|vt300-nam|dec vt320 7 bit terminal with no am to make SAS happy, - am@, - is2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H, - use=vt320, -# We have to init 132-col mode, not 80-col mode. -vt320-w|vt300-w|dec vt320 wide 7 bit terminal, - cols#132, wsl#132, - is2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, - use=vt320, -vt320-w-nam|vt300-w-nam|dec vt320 wide 7 bit terminal with no am, - am@, - is2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H, - use=vt320-w, - -# VT330 and VT340 -- These are ReGIS and SIXEL graphics terminals -# which are pretty much a superset of the VT320. They have the -# host writable status line, yet another different DRCS matrix size, -# and such, but they add the DEC Technical character set, Multiple text -# pages, selectable length pages, and the like. The difference between -# the vt330 and vt340 is that the latter has only 2 planes and a monochrome -# monitor, the former has 4 planes and a color monitor. These terminals -# support VT131 and ANSI block mode, but as with much of these things, -# termcap/terminfo doesn't deal with these features. -# -# Note that this entry is are set up in what was the standard way for GNU -# Emacs v18 terminal modes to deal with the cursor keys in that the arrow -# keys were switched into application mode at the same time the numeric pad -# is switched into application mode. This changes the definitions of the -# arrow keys. Emacs v19 is smarter and mines its keys directly out of -# your termcap or terminfo entry, -# -# From: Daniel Glasser , 13 Oct 1993 -# (vt340: string capability "sb=\E[M" corrected to "sr"; -# also, added / based on the init string -- esr) -vt340|dec-vt340|vt330|dec-vt330|dec vt340 graphics terminal with 24 line page, - am, eslok, hs, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - blink=\E[5m, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[J, - cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, dsl=\E[2$~\r\E[1$}\E[K\E[$}, - ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l$<200/>, fsl=\E[$}, - home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, - il1=\E[L, ind=\ED, - is2=\E<\E F\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~, - kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, lf1=pf1, lf2=pf2, - lf3=pf3, lf4=pf4, nel=^M\ED, rc=\E8, rev=\E[7m, - rf=/usr/local/share/tabset/vt300, ri=\EM, rmacs=\E(B, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, - rmul=\E[24m, rs1=\E[?3l, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[2$~\E[1$}\E[1;%dH, - -# DEC doesn't supply a vt400 description, so we add Daniel Glasser's -# (originally written with vt420 as its primary name, and usable for it). -# -# VT400/420 -- This terminal is a superset of the vt320. It adds the multiple -# text pages and long text pages with selectable length of the vt340, along -# with left and right margins, rectangular area text copy, fill, and erase -# operations, selected region character attribute change operations, -# page memory and rectangle checksums, insert/delete column, reception -# macros, and other features too numerous to remember right now. TERMCAP -# can only take advantage of a few of these added features. -# -# Note that this entry is are set up in what was the standard way for GNU -# Emacs v18 terminal modes to deal with the cursor keys in that the arrow -# keys were switched into application mode at the same time the numeric pad -# is switched into application mode. This changes the definitions of the -# arrow keys. Emacs v19 is smarter and mines its keys directly out of -# your termcap entry, -# -# From: Daniel Glasser , 13 Oct 1993 -# (vt400: string capability ":sb=\E[M:" corrected to ":sr=\E[M:"; -# also, added / based on the init string -- esr) -vt400|vt400-24|dec-vt400|dec vt400 24x80 column autowrap, - am, eslok, hs, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[J$<10/>, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - dsl=\E[2$~\r\E[1$}\E[K\E[$}, ed=\E[J$<10/>, - el=\E[K$<4/>, flash=\E[?5h\E[?5l$<200/>, fsl=\E[$}, - home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, - il=\E[%p1%dL, il1=\E[L, ind=\ED, - is2=\E<\E F\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~, - kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, lf1=pf1, lf2=pf2, - lf3=pf3, lf4=pf4, nel=^M\ED, rc=\E8, rev=\E[7m, - rf=/usr/local/share/tabset/vt300, ri=\EM, rmacs=\E(B, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, - rmul=\E[24m, rs1=\E<\E[?3l\E[!p\E[?7h, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[2$~\E[1$}\E[1;%dH, - -# (vt420: I removed , it collided with . I also restored -# a missing -- esr) -vt420|DEC VT420, - am, mir, xenl, xon, - cols#80, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, - if=/usr/local/share/tabset/vt300, il1=\E[L, ind=\ED, - is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, - kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, rc=\E8, rev=\E[7m$<2>, - rf=/usr/local/share/tabset/vt300, ri=\EM, rmacs=\E(B$<4>, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, - rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, - smkx=\E=, smso=\E[7m, smul=\E[4m, - -# DEC VT220 and up support DECUDK (user-defined keys). DECUDK (i.e., pfx) -# takes two parameters, the key and the string. Translating the key is -# straightforward (keys 1-5 are not defined on real terminals, though some -# emulators define these): -# -# if (key < 16) then value = key; -# else if (key < 21) then value = key + 1; -# else if (key < 25) then value = key + 2; -# else if (key < 27) then value = key + 3; -# else if (key < 30) then value = key + 4; -# else value = key + 5; -# -# The string must be the hexadecimal equivalent, e.g., "5052494E" for "PRINT". -# There's no provision in terminfo for emitting a string in this format, so the -# application has to know it. -# -vt420pc|DEC VT420 w/PC keyboard, - kdch1=\177, kend=\E[4~, kf1=\E[11~, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13=\E[11;2~, kf14=\E[12;2~, - kf15=\E[13;2~, kf16=\E[14;2~, kf17=\E[15;2~, - kf18=\E[17;2~, kf19=\E[18;2~, kf2=\E[12~, kf20=\E[19;2~, - kf21=\E[20;2~, kf22=\E[21;2~, kf23=\E[23;2~, - kf24=\E[24;2~, kf25=\E[23~, kf26=\E[24~, kf27=\E[25~, - kf28=\E[26~, kf29=\E[28~, kf3=\E[13~, kf30=\E[29~, - kf31=\E[31~, kf32=\E[32~, kf33=\E[33~, kf34=\E[34~, - kf35=\E[35~, kf36=\E[36~, kf37=\E[23;2~, kf38=\E[24;2~, - kf39=\E[25;2~, kf4=\E[14~, kf40=\E[26;2~, kf41=\E[28;2~, - kf42=\E[29;2~, kf43=\E[31;2~, kf44=\E[32;2~, - kf45=\E[33;2~, kf46=\E[34;2~, kf47=\E[35;2~, - kf48=\E[36;2~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, khome=\E[H, - pctrm=USR_TERM\:vt420pcdos\:, - pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\, - use=vt420, - -vt420pcdos|DEC VT420 w/PC for DOS Merge, - lines#25, - dispc=%?%p1%{19}%=%t\E\023\021%e%p1%{32}%<%t\E%p1%c%e%p1%{127}%=%t\E\177%e%p1%c%;, - pctrm@, - rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr@, - sgr0=\E[m, smsc=\E[?1;2r\E[34h, use=vt420pc, - -vt420f|DEC VT420 with VT kbd; VT400 mode; F1-F5 used as Fkeys, - kdch1=\177, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, - kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[H, lf1=\EOP, lf2=\EOQ, lf3=\EOR, lf4=\EOS, - use=vt420, - -vt510|DEC VT510, - use=vt420, -vt510pc|DEC VT510 w/PC keyboard, - use=vt420pc, -vt510pcdos|DEC VT510 w/PC for DOS Merge, - use=vt420pcdos, - -# VT520/VT525 -# -# The VT520 is a monochrome text terminal capable of managing up to -# four independent sessions in the terminal. It has multiple ANSI -# emulations (VT520, VT420, VT320, VT220, VT100, VT PCTerm, SCO Console) -# and ASCII emulations (WY160/60, PCTerm, 50/50+, 150/120, TVI 950, -# 925 910+, ADDS A2). This terminfo data is for the ANSI emulations only. -# -# Terminal Set-Up is entered by pressing [F3], [Caps Lock]/[F3] or -# [Alt]/[Print Screen] depending upon which keyboard and which -# terminal mode is being used. If Set-Up has been disabled or -# assigned to an unknown key, Set-Up may be entered by pressing -# [F3] as the first key after power up, regardless of keyboard type. -# (vt520: I added / based on the init string, also -- esr) -vt520|DEC VT520, - am, mir, xenl, xon, - cols#80, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, - if=/usr/local/share/tabset/vt300, il1=\E[L, ind=\ED, - is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, - kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, - pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\, - rc=\E8, rev=\E[7m$<2>, rf=/usr/local/share/tabset/vt300, - ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, - rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, - smso=\E[7m, smul=\E[4m, - -# (vt525: I added / based on the init string; -# removed =\E[m, =\E[m, added -- esr) -vt525|DEC VT525, - am, mir, xenl, xon, - cols#80, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, - if=/usr/local/share/tabset/vt300, il1=\E[L, ind=\ED, - is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, - kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, - pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\, - rc=\E8, rev=\E[7m$<2>, rf=/usr/local/share/tabset/vt300, - ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, - rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, - smso=\E[7m, smul=\E[4m, - -#### VT100 emulations -# - -# John Hawkinson tells us that the EWAN telnet for Windows -# (the best Windows telnet as of September 1995) presents the name `dec-vt100' -# to telnetd. Michael Deutschmann informs us -# that this works best with a stock vt100 entry. -dec-vt100|EWAN telnet's vt100 emulation, - use=vt100, - -# From: Adrian Garside <94ajg2@eng.cam.ac.uk>, 19 Nov 1996 -dec-vt220|DOS tnvt200 terminal emulator, - am@, use=vt220, - -# Zstem340 is an (IMHO) excellent VT emulator for PC's. I recommend it to -# anyone who needs PC VT340 emulation. (or anything below that level, for -# that matter -- DEC's ALL-in-1 seems happy with it, as does INFOPLUS's -# RDBM systems, it includes ReGIS and SiXel support! I'm impressed... -# I can send the address if requested. -# (z340: changed garbled \E[5?l to \E[?5l, DEC smooth scroll off -- esr) -# From: Adam Thompson Sept 10 1995 -z340|zstem vt340 terminal emulator 132col 42line, - lines#42, - is2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H, - use=vt320-w, -z340-nam|zstem vt340 terminal emulator 132col 42line (no automatic margins), - am@, - is2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H, - use=z340, - -# CRT is shareware. It implements some xterm features, including mouse. -crt|crt-vt220|CRT 2.3 emulating VT220, - bce, msgr, - ncv@, - hts=\EH, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, - use=vt220, use=ecma+color, - -# PuTTY 0.55 (released 3 August 2004) -# http://www.chiark.greenend.org.uk/~sgtatham/putty/ -# -# Comparing with 0.51, vttest is much better (only a few problems with the -# cursor position reports and wrapping). -# -# PuTTY 0.51 (released 14 December 2000) -# -# This emulates vt100 + vt52 (plus a few vt220 features: ech, SRM, DECTCEM, as -# well as SCO and Atari, color palettes from Linux console). Reading the code, -# it is intended to be VT102 plus selected features. By default, it sets $TERM -# to xterm, which is incorrect, since several features are misimplemented: -# -# Alt+key always sends ESC+key, so 'km' capability is removed. -# -# Control responses, wrapping and tabs are buggy, failing a couple of -# screens in vttest. -# -# xterm mouse support is not implemented (unrelease version may). -# -# Several features such as backspace/delete are optional; this entry documents -# the default behavior -TD - -putty|PuTTY terminal emulator, - am, bce, bw, ccc, hs, mir, msgr, xenl, xon, - colors#8, it#8, ncv#22, pairs#64, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\ED, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM, - dch=\E[%p1%dP, dch1=\E[P, - dispc=%?%p1%{8}%=%t\E%%G\342\227\230\E%%@%e%p1%{10}%=%t\E%%G\342\227\231\E%%@%e%p1%{12}%=%t\E%%G\342\231\0\E%%@%e%p1%{13}%=%t\E%%G\342\231\252\E%%@%e%p1%{14}%=%t\E%%G\342\231\253\E%%@%e%p1%{15}%=%t\E%%G\342\230\274\E%%@%e%p1%{27}%=%t\E%%G\342\206\220\E%%@%e%p1%{155}%=%t\E%%G\340\202\242\E%%@%e%p1%c%;, - dl=\E[%p1%dM, dl1=\E[M, dsl=\E]0;\007, ech=\E[%p1%dX, - ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0, - flash=\E[?5h\E[?5l, fsl=^G, home=\E[H, hpa=\E[%i%p1%dG, - ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, - indn=\E[%p1%dS, - initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x, - is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R, - kb2=\E[G, kbs=\177, kcan=^C, kcbt=\E[Z, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, - kend=\E[4~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, - kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - kspd=^Z, nel=^M^J, oc=\E]R, op=\E[39;49m, rc=\E8, rev=\E[7m, - ri=\EM, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, - rmcup=\E[2J\E[?47l, rmir=\E[4l, rmpch=\E[10m, - rmso=\E[27m, rmul=\E[24m, - rs2=\E<\E["p\E[50;6"p\Ec\E[?3l\E]R\E[?1000l, - s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[?47h, - smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, tsl=\E]0;, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, - u9=\E[c, vpa=\E[%i%p1%dd, -vt100-putty|Reset Putty to pure vt100, - rs2=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p, - use=vt100, - -# This entry is for Tera Term Pro version 2.3, for MS-Windows 95/NT written by -# T. Teranishi dated Mar 10, 1998. It is a free software terminal emulator -# (communication program) which supports: -# -# - Serial port connections. -# - TCP/IP (telnet) connections. -# - VT100 emulation, and selected VT200/300 emulation. -# - TEK4010 emulation. -# - File transfer protocols (Kermit, XMODEM, ZMODEM, B-PLUS and -# Quick-VAN). -# - Scripts using the "Tera Term Language". -# - Japanese and Russian character sets. -# -# The program does not come with terminfo or termcap entries. However, the -# emulation (testing with vttest and ncurses) is reasonably close to vt100 (no -# vt52 or doublesize character support; blinking is done with color). Besides -# the HPA, VPA extensions it also implements CPL and CNL. -# -# All of the function keys can be remapped. This description shows the default -# mapping, as installed. Both vt100 PF1-PF4 keys and quasi-vt220 F1-F4 keys -# are supported. F13-F20 are obtained by shifting F3-F10. The editing keypad -# is laid out like vt220, rather than the face codes on the PC keyboard, i.e, -# kfnd Insert -# kslt Delete -# kich1 Home -# kdch1 PageUp -# kpp End -# knp PageDown -# -# ANSI colors are implemented, but cannot be combined with video attributes -# except for reverse. -# -# No fonts are supplied with the program, so the acsc string is chosen to -# correspond with the default Microsoft terminal font. -# -# Tera Term recognizes some xterm sequences, including those for setting and -# retrieving the window title, and for setting the window size (i.e., using -# "resize -s"), though it does not pass SIGWINCH to the application if the -# user resizes the window with the mouse. -teraterm|Tera Term Pro, - km, xon@, - ncv#43, vt@, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - blink=\E[5m, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[J, - cnorm=\E[?25h, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, - flash=\E[?5h\E[?5l$<200/>, hpa=\E[%i%p1%dG, - il=\E[%p1%dL, il1=\E[L, kdch1=\E[3~, kf1=\E[11~, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, - kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, - kpp=\E[5~, kslt=\E[4~, op=\E[100m, rev=\E[7m, ri=\EM, - rmso=\E[27m, rmul=\E[24m, sgr0=\E[0m\017, smso=\E[7m, - smul=\E[4m, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, - vpa=\E[%i%p1%dd, use=klone+color, use=vt100, - -# Tested with WinNT 4.0, the telnet application assumes the screensize is -# 25x80. This entry uses the 'Terminal' font, to get line-drawing characters. -# -# Other notes: -# a) Fails tack's cup (cursor-addressing) test, though cup works well enough -# for casual (occasional) use. Also fails several of the vttest screens, -# but that is not unusual for vt100 "emulators". -# b) Does not implement vt100 keypad -# c) Recognizes a subset of vt52 controls. -ms-vt100|MS telnet imitating dec vt100, - lines#25, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - ka1@, ka3@, kb2@, kc1@, kc3@, kent@, kf0@, kf1@, kf10@, kf2@, kf3@, kf4@, - kf5@, kf6@, kf7@, kf8@, kf9@, tbc@, u6=\E[%i%d;%dR, u7=\E[6n, - u8=\E[?6c, u9=\E[c, use=vt100, - -# Tested with Windows 2000, the telnet application runs in a console window, -# also using 'Terminal' font. -# -# Other notes: -# a) This version has no function keys or numeric keypad. Unlike the older -# version, the numeric keypad is entirely ignored. -# b) The program sets $TERM to "ansi", which of course is inaccurate. -ms-vt100-color|vtnt|windows 2000 ansi (sic), - bce, - dch=\E[%p1%dP, ich=\E[%p1%d@, use=ecma+color, - use=ms-vt100, - -# Based on comments from Federico Bianchi: -# -# vt100+ is basically a VT102-noSGR with ANSI.SYS colors and a different -# scheme for PF keys. -# -# and PuTTY wishlist: -# -# The modifiers are represented as the codes listed above, prefixed to -# the normal sequences. If the modifier is pressed alone, its sequence -# is transmitted twice in succession. If multiple modifiers apply, -# they're transmitted in the order shift, control, alt. -# -# Shift \E^S -# Alt \E^A, -# Ctrl \E^C, -ms-vt100+|vt100+|windows XP vt100+ (sic), - kdch1=\E-, kend=\Ek, kf1=\E1, kf10=\E0, kf11=\E!, kf12=\E@, - kf13=\E\023\E1, kf14=\E\023\E2, kf15=\E\023\E3, - kf16=\E\023\E4, kf17=\E\023\E5, kf18=\E\023\E6, - kf19=\E\023\E7, kf2=\E2, kf20=\E\023\E8, kf21=\E\023\E9, - kf22=\E\023\E0, kf23=\E\023\E!, kf24=\E\023\E@, - kf25=\E\003\E1, kf26=\E\003\E2, kf27=\E\003\E3, - kf28=\E\003\E4, kf29=\E\003\E5, kf3=\E3, kf30=\E\003\E6, - kf31=\E\003\E7, kf32=\E\003\E8, kf33=\E\003\E9, - kf34=\E\003\E0, kf35=\E\003\E!, kf36=\E\003\E@, - kf37=\E\001\E1, kf38=\E\001\E2, kf39=\E\001\E3, kf4=\E4, - kf40=\E\001\E4, kf41=\E\001\E5, kf42=\E\001\E6, - kf43=\E\001\E7, kf44=\E\001\E8, kf45=\E\001\E9, - kf46=\E\001\E0, kf47=\E\001\E!, kf48=\E\001\E@, kf5=\E5, - kf6=\E6, kf7=\E7, kf8=\E8, kf9=\E9, khome=\Eh, kich1=\E+, - knp=\E/, kpp=\E?, use=ms-vt100-color, - -ms-vt-utf8|vt-utf8|UTF-8 flavor of vt100+, - use=ms-vt100+, - -# a minimal subset of a vt100 (compare with "news-unk). -tt|tkterm|Don Libes' tk text widget terminal emulator, - clear=\E[H\E[J, cr=^M, cuf1=\E[C, cup=\E[%p1%d;%p2%dH, - cuu1=\E[A, ind=^J, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, - kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, rmso=\E[m, - smso=\E[7m, - -#### X terminal emulators -# -# You can add the following line to your .Xdefaults to change the terminal type -# set by the xterms you start up to my-xterm: -# -# *termName: my-xterm -# -# System administrators can change the default entry for xterm instances -# by adding a similar line to /usr/X11/lib/X11/app-defaults/XTerm. In either -# case, xterm will detect and reject an invalid terminal type, falling back -# to the default of xterm. -# - -# X10/6.6 11/7/86, minus alternate screen, plus (csr) -# (xterm: ":MT:" changed to ":km:"; added / based on init string; -# removed (hs, eslok, tsl=\E[?E\E[?%i%dT, fsl=\E[?F, dsl=\E[?E) -# as these seem not to work -- esr) -x10term|vs100-x10|xterm terminal emulator (X10 window system), - OTbs, am, km, mir, msgr, xenl, xon, - cols#80, it#8, lines#65, - bold=\E[1m, clear=\E[H\E[2J, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, il=\E[%p1%dL, - il1=\E[L, ind=^J, is2=\E\E[m\E[?7h\E[?1;4l, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, rev=\E[7m, ri=\EM, rmam=\E[?7l, - rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smam=\E[?7h, smir=\E[4h, smkx=\E[?1h\E=, - smso=\E[7m, smul=\E[4m, -# Compatible with the R5 xterm -# (from the XFree86 3.2 distribution, removed) -# added khome/kend, rmir/smir, rmul/smul, hts based on the R5 xterm code - TD -# corrected typos in rs2 string - TD -# added u6-u9 -TD -xterm-r5|xterm R5 version, - OTbs, am, km, msgr, xenl, - cols#80, it#8, lines#24, - bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, - il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, - kdl1=\E[31~, kel=\E[8~, kend=\E[4~, kf0=\EOq, kf1=\E[11~, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, - kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, - kil1=\E[30~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, rc=\E8, - rev=\E[7m, ri=\EM, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, - rmul=\E[m, - rs2=\E>\E[?1;3;4;5;6l\E[4l\E[?7h\E[m\E[r\E[2J\E[H, - sc=\E7, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m, - sgr0=\E[m, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, - u8=\E[?1;2c, u9=\E[c, -# Compatible with the R6 xterm -# (from XFree86 3.2 distribution, and added, removed) -# added khome/kend, hts based on the R6 xterm code - TD -# (khome/kend do not actually work in X11R5 or X11R6, but many people use this -# for compatibility with other emulators). -xterm-r6|xterm-old|xterm X11R6 version, - OTbs, am, km, mir, msgr, xenl, - cols#80, it#8, lines#24, - acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, enacs=\E)0, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, - il1=\E[L, ind=^J, - is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, - kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - kfnd=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, meml=\El, memu=\Em, rc=\E8, rev=\E[7m, ri=\EM, - rmacs=^O, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>, sc=\E7, - sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, -# This is the base xterm entry for the xterm supplied with XFree86 3.2 & up. -# The name has been changed and some aliases have been removed. -xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System), - OTbs, am, bce, km, mir, msgr, xenl, - cols#80, it#8, lines#24, ncv@, - acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0, - flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG, - ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, - il1=\E[L, ind=^J, - is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, - kbeg=\EOE, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, - kcuu1=\EOA, kdch1=\177, kend=\EOF, kf1=\E[11~, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, - kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, - kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, - kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, - kf9=\E[20~, kfnd=\E[1~, khome=\EOH, kich1=\E[2~, - kmous=\E[M, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, meml=\El, - memu=\Em, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l, - rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>, - rmso=\E[27m, rmul=\E[24m, rs1=^O, - rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>, sc=\E7, - setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h, - smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, - vpa=\E[%i%p1%dd, use=ecma+color, use=vt220+keypad, - -# This is the stock xterm entry supplied with XFree86 3.3, which uses VT100 -# codes for F1-F4 except while in VT220 mode. -xterm-xf86-v33|xterm terminal emulator (XFree86 3.3 Window System), - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, use=xterm-xf86-v32, - -# This version was released in XFree86 3.3.3 (November 1998). -# Besides providing printer support, it exploits a new feature that allows -# xterm to use terminfo-based descriptions with the titeInhibit resource. -# -- the distribution contained incorrect khome/kend values -TD -xterm-xf86-v333|xterm terminal emulator (XFree86 3.3.3 Window System), - mc5i, - blink=\E[5m, ich1@, invis=\E[8m, - is2=\E[!p\E[?3;4l\E[4l\E>, kdch1=\E[3~, kfnd@, kslt@, - mc0=\E[i, mc4=\E[4i, mc5=\E[5i, rmcup=\E[?1047l\E[?1048l, - rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - smcup=\E[?1048h\E[?1047h, use=xterm-xf86-v33, - -# This version was released in XFree86 4.0. -xterm-xf86-v40|xterm terminal emulator (XFree86 4.0 Window System), - npc, - kDC=\E[3;5~, kEND=\EO5F, kHOM=\EO5H, kIC=\E[2;5~, - kLFT=\EO5D, kNXT=\E[6;5~, kPRV=\E[5;5~, kRIT=\EO5C, ka1@, - ka3@, kb2=\EOE, kc1@, kc3@, kcbt=\E[Z, kdch1=\E[3~, kend=\EOF, - kf13=\EO2P, kf14=\EO2Q, kf15=\EO2R, kf16=\EO2S, - kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~, - kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~, - kf23=\E[23;2~, kf24=\E[24;2~, kf25=\EO5P, kf26=\EO5Q, - kf27=\EO5R, kf28=\EO5S, kf29=\E[15;5~, kf30=\E[17;5~, - kf31=\E[18;5~, kf32=\E[19;5~, kf33=\E[20;5~, - kf34=\E[21;5~, kf35=\E[23;5~, kf36=\E[24;5~, kf37=\EO6P, - kf38=\EO6Q, kf39=\EO6R, kf40=\EO6S, kf41=\E[15;6~, - kf42=\E[17;6~, kf43=\E[18;6~, kf44=\E[19;6~, - kf45=\E[20;6~, kf46=\E[21;6~, kf47=\E[23;6~, - kf48=\E[24;6~, khome=\EOH, rmcup=\E[?1049l, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - smcup=\E[?1049h, use=xterm-xf86-v333, - -# This version was released in XFree86 4.3. -xterm-xf86-v43|xterm terminal emulator (XFree86 4.3 Window System), - kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~, - kLFT=\E[1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\E[1;2C, - kbeg@, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - use=xterm-xf86-v40, - -# This version was released in XFree86 4.4. -xterm-xf86-v44|xterm terminal emulator (XFree86 4.4 Window System), - cnorm=\E[?12l\E[?25h, cvvis=\E[?12;25h, indn=\E[%p1%dS, - rin=\E[%p1%dT, use=xterm-xf86-v43, - -# This is the most common alias for xterm-new. -xterm-xfree86|xterm terminal emulator (XFree86), - use=xterm-new, -# use=xterm-old, - -# This version is current (XFree86 xterm patch #192). -xterm-new|modern xterm terminal emulator, - npc, - indn=\E[%p1%dS, kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, - kIC=\E[2;2~, kLFT=\E[1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, - kRIT=\E[1;2C, kb2=\EOE, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, - kcuf1=\EOC, kcuu1=\EOA, kend=\EOF, kent=\EOM, khome=\EOH, - kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - rin=\E[%p1%dT, use=xterm+pcfkeys, use=xterm-basic, -# -# This fragment describes as much of XFree86 xterm's "pc-style" function -# keys as will fit into terminfo's 60 function keys. -# From ctlseqs.ms: -# Code Modifiers -# --------------------------------- -# 2 Shift -# 3 Alt -# 4 Shift + Alt -# 5 Control -# 6 Shift + Control -# 7 Alt + Control -# 8 Shift + Alt + Control -# --------------------------------- -# The meta key may also be used as a modifier in this scheme, adding another -# bit to the parameter. -xterm+pcfkeys|fragment for PC-style fkeys, - kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, - kf13=\EO2P, kf14=\EO2Q, kf15=\EO2R, kf16=\EO2S, - kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~, kf2=\EOQ, - kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~, - kf23=\E[23;2~, kf24=\E[24;2~, kf25=\EO5P, kf26=\EO5Q, - kf27=\EO5R, kf28=\EO5S, kf29=\E[15;5~, kf3=\EOR, - kf30=\E[17;5~, kf31=\E[18;5~, kf32=\E[19;5~, - kf33=\E[20;5~, kf34=\E[21;5~, kf35=\E[23;5~, - kf36=\E[24;5~, kf37=\EO6P, kf38=\EO6Q, kf39=\EO6R, - kf4=\EOS, kf40=\EO6S, kf41=\E[15;6~, kf42=\E[17;6~, - kf43=\E[18;6~, kf44=\E[19;6~, kf45=\E[20;6~, - kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~, kf49=\EO3P, - kf5=\E[15~, kf50=\EO3Q, kf51=\EO3R, kf52=\EO3S, - kf53=\E[15;3~, kf54=\E[17;3~, kf55=\E[18;3~, - kf56=\E[19;3~, kf57=\E[20;3~, kf58=\E[21;3~, - kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~, kf61=\EO4P, - kf62=\EO4Q, kf63=\EO4R, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - kDN=\E[1;2B, kDN5=\E[1;5B, kDN6=\E[1;6B, kLFT5=\E[1;5D, - kLFT6=\E[1;6D, kRIT5=\E[1;5C, kRIT6=\E[1;6C, kUP=\E[1;2A, - kUP5=\E[1;5A, kUP6=\E[1;6A, -# -# This chunk is used for building the VT220/Sun/PC keyboard variants. -xterm-basic|xterm terminal emulator - common (XFree86), - OTbs, am, bce, km, mc5i, mir, msgr, xenl, AX, - colors#8, cols#80, it#8, lines#24, pairs#64, - acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[2J, cnorm=\E[?12l\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, - flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG, - ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, - ind=^J, invis=\E[8m, is2=\E[!p\E[?3;4l\E[4l\E>, kbs=^H, - kdch1=\E[3~, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, meml=\El, - memu=\Em, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, - rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?1049l, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, rs1=\Ec, - rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, setab=\E[4%p1%dm, - setaf=\E[3%p1%dm, - setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m, - sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smcup=\E[?1049h, - smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, - vpa=\E[%i%p1%dd, - -# From: David J. MacKenzie , 14 Nov 1997 -# In retrospect, something like xterm-r6 was intended here -TD -xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1, - rmso=\E[m, rmul=\E[m, use=xterm-xf86-v33, - -# This is one of the variants of XFree86 3.3 xterm, updated for 4.0 (T.Dickey) -xterm-16color|xterm with 16 colors like aixterm, - ncv#32, use=ibm+16color, use=xterm-new, - -# These variants of XFree86 3.9.16 xterm are built as a configure option. -xterm-256color|xterm with 256 colors, - ccc, - colors#256, pairs#32767, - initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\, - setab=\E[48;5;%p1%dm, setaf=\E[38;5;%p1%dm, - setb=\E[48;5;%p1%dm, setf=\E[38;5;%p1%dm, - use=xterm-new, -xterm-88color|xterm with 88 colors, - colors#88, pairs#7744, use=xterm-256color, - -# These two are used to demonstrate the any-event mouse support, i.e., by -# using an extended name "XM" which tells ncurses to put the terminal into -# a special mode when initializing the xterm mouse. -xterm-1002|testing xterm-mouse, - XM=\E[?1002%?%p1%{1}%=%th%el%;, use=xterm-new, -xterm-1003|testing xterm-mouse, - XM=\E[?1003%?%p1%{1}%=%th%el%;, use=xterm-new, - -# This is another variant, for XFree86 4.0 xterm (T.Dickey) -# This is an 8-bit version of xterm, which emulates DEC vt220 with ANSI color. -# To use it, your decTerminalID resource must be set to 200 or above. -# -# HTS \E H \210 -# RI \E M \215 -# SS3 \E O \217 -# CSI \E [ \233 -# -xterm-8bit|xterm terminal emulator 8-bit controls (X Window System), - OTbs, am, bce, km, mc5i, mir, msgr, npc, xenl, AX, - colors#8, cols#80, it#8, lines#24, pairs#64, - acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\2335m, bold=\2331m, cbt=\233Z, - civis=\233?25l, clear=\233H\2332J, - cnorm=\233?25l\233?25h, cr=^M, csr=\233%i%p1%d;%p2%dr, - cub=\233%p1%dD, cub1=^H, cud=\233%p1%dB, cud1=^J, - cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH, - cuu=\233%p1%dA, cuu1=\233A, cvvis=\233?12;25h, - dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, dl1=\233M, - ech=\233%p1%dX, ed=\233J, el=\233K, el1=\2331K, - flash=\233?5h$<100/>\233?5l, home=\233H, - hpa=\233%i%p1%dG, ht=^I, hts=\210, ich=\233%p1%d@, - il=\233%p1%dL, il1=\233L, ind=^J, invis=\2338m, - is2=\E[62"p\E G\233m\233?7h\E>\E7\233?1;3;4;6l\2334l\233r\E8, - ka1=\217w, ka3=\217u, kb2=\217y, kbeg=\217E, kbs=^H, - kc1=\217q, kc3=\217s, kcbt=\233Z, kcub1=\217D, kcud1=\217B, - kcuf1=\217C, kcuu1=\217A, kdch1=\2333~, kend=\2334~, - kent=\217M, kf1=\23311~, kf10=\23321~, kf11=\23323~, - kf12=\23324~, kf13=\23325~, kf14=\23326~, kf15=\23328~, - kf16=\23329~, kf17=\23331~, kf18=\23332~, kf19=\23333~, - kf2=\23312~, kf20=\23334~, kf3=\23313~, kf4=\23314~, - kf5=\23315~, kf6=\23317~, kf7=\23318~, kf8=\23319~, - kf9=\23320~, khome=\2331~, kich1=\2332~, kmous=\233M, - knp=\2336~, kpp=\2335~, mc0=\233i, mc4=\2334i, mc5=\2335i, - meml=\El, memu=\Em, op=\23339;49m, rc=\E8, rev=\2337m, - ri=\215, rmacs=\E(B, rmam=\233?7l, rmcup=\233?1049l, - rmir=\2334l, rmkx=\233?1l\E>, rmso=\23327m, rmul=\23324m, - rs1=\Ec, - rs2=\E[62"p\E G\233m\233?7h\E>\E7\233?1;3;4;6l\2334l\233r\E8, - sc=\E7, setab=\2334%p1%dm, setaf=\2333%p1%dm, - setb=\2334%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - setf=\2333%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h, - smcup=\233?1049h, smir=\2334h, smkx=\233?1h\E=, - smso=\2337m, smul=\2334m, tbc=\2333g, u6=\233[%i%d;%dR, - u7=\E[6n, u8=\233[?1;2c, u9=\E[c, vpa=\233%i%p1%dd, - -xterm-hp|XFree86 xterm with hpterm function keys, - kclr=\EJ, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - kdch1=\EP, kend=\EF, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, - kf5=\Et, kf6=\Eu, kf7=\Ev, kf8=\Ew, khome=\Eh, kich1=\EQ, - knp=\ES, kpp=\ET, use=xterm-basic, - -xterm-sco|XFree86 xterm with SCO function keys, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[F, - kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X, kf13=\E[Y, - kf15=\E[a, kf16=\E[b, kf17=\E[c, kf18=\E[d, kf19=\E[e, - kf2=\E[N, kf20=\E[f, kf21=\E[g, kf22=\E[h, kf23=\E[i, - kf24=\E[j, kf25=\E[k, kf26=\E[l, kf27=\E[m, kf28=\E[n, - kf29=\E[o, kf3=\E[O, kf30=\E[p, kf31=\E[q, kf32=\E[r, - kf33=\E[s, kf34=\E[t, kf35=\E[u, kf4=\E[P, kf5=\E[Q, - kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, - kich1=\E[L, knp=\E[G, kpp=\E[I, use=xterm-basic, - -# The xterm-new description has all of the features, but is not completely -# compatible with vt220. If you are using a Sun or PC keyboard, set the -# sunKeyboard resource to true: -# + maps the editing keypad -# + interprets control-function-key as a second array of keys, so a -# 12-fkey keyboard can support vt220's 20-fkeys. -# + maps numeric keypad "+" to ",". -# + uses DEC-style control sequences for the application keypad. -# -xterm-vt220|XFree86 xterm emulating vt220, - kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kend=\E[4~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, - kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, - kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~, - kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - use=xterm-basic, use=vt220+keypad, - -xterm-vt52|XFree86 xterm emulating dec vt52, - cols#80, it#8, lines#24, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, clear=\EH\EJ, cr=^M, cub1=\ED, cud1=\EB, cuf1=\EC, - cup=\EY%p1%' '%+%c%p2%' '%+%c, cuu1=\EA, ed=\EJ, el=\EK, - home=\EH, ht=^I, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, nel=^M^J, ri=\EI, rmacs=\EG, smacs=\EF, - -xterm-noapp|xterm with cursor keys in normal mode, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, rmcup@, - rmkx=\E>, smcup@, smkx=\E=, use=xterm, - -xterm-24|vs100|xterms|xterm terminal emulator (X Window System), - lines#24, use=xterm-r6, - -# This is xterm for ncurses. -xterm|xterm terminal emulator (X Window System), - use=xterm-new, - -# These entries allow access to the X titlebar and icon name as a status line. -# Note that twm (and possibly window managers descended from it such as tvtwm, -# ctwm, and vtwm) track windows by icon-name; thus, you don't want to mess -# with it. -xterm+sl|access X title line and icon name, - hs, - wsl#40, - dsl=\E]0;\007, fsl=^G, tsl=\E]0;, use=xterm, -xterm+sl-twm|access X title line (pacify twm-descended window managers), - hs, - wsl#40, - dsl=\E]2;\007, fsl=^G, tsl=\E]2;, use=xterm, - -# -# The following xterm variants don't depend on your base version -# -# xterm with bold instead of underline -xterm-bold|xterm terminal emulator (X11R6 Window System) standout w/bold, - smso=\E[7m, smul=\E[1m, use=xterm, -# (kterm: this had extension capabilities ":KJ:TY=ascii:" -- esr) -# (kterm should not invoke DEC Graphics as the alternate character set -# -- Kenji Rikitake) -# (proper setting of enacs, smacs, rmacs makes kterm to use DEC Graphics -# -- MATSUMOTO Shoji) -kterm|kterm kanji terminal emulator (X window system), - eslok, hs, - acsc=++\,\,--..00ii``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - csr=\E[%i%p1%d;%p2%dr, dsl=\E[?H, enacs=, fsl=\E[?F, - kmous=\E[M, rc=\E8, rmacs=\E(B, rmam=\E[?7l, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, - tsl=\E[?E\E[?%i%p1%dT, use=xterm-r6, use=ecma+color, -kterm-color|kterm-co|kterm with ANSI colors, - ncv@, use=kterm, use=ecma+color, -# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file -xterm-nic|xterm with ich/ich1 suppressed for non-curses programs, - ich@, ich1@, use=xterm, -# From: Mark Sheppard , 4 May 1996 -xterm1|xterm terminal emulator ignoring the alternate screen buffer, - rmcup@, smcup@, use=xterm, - -# This describes the capabilities of color_xterm, an xterm variant from -# before ECMA-64 color support was folded into the main-line xterm release. -# This entry is straight from color_xterm's maintainer. -# From: Jacob Mandelson , 09 Nov 1996 -# The README's with the distribution also say that it supports SGR 21, 24, 25 -# and 27, but they are not present in the terminfo or termcap. -color_xterm|cx|cx100|color_xterm color terminal emulator for X, - OTbs, am, km, mir, msgr, xenl, - cols#80, it#8, lines#65, ncv@, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, el1=\E[1K, enacs=\E(B\E)0, home=\E[H, ht=^I, - ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J, - is1=\E[r\E[m\E[?7h\E[?4;6l\E[4l, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[8~, kf1=\E[11~, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, - kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, khome=\E[7~, kich1=\E[2~, - kmous=\E[M, knp=\E[6~, kpp=\E[5~, rc=\E8, rev=\E[7m, ri=\EM, - rmacs=^O, rmam=\E[?7l, rmcup=\E>\E[?41;1r, rmir=\E[4l, - rmso=\E[27m, rmul=\E[24m, - rs1=\E(B\017\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E<, - sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[0m\017, smacs=^N, smam=\E[?7h, - smcup=\E[?1;41s\E[?1;41h\E=, smir=\E[4h, smso=\E[7m, - smul=\E[4m, use=ecma+color, use=vt220+keypad, - -# The 'nxterm' distributed with Redhat Linux 5.2 is a slight rehack of -# xterm-sb_right-ansi-3d, which implements ANSI colors, but does not support -# SGR 39 or 49. SGR 0 does reset colors (along with everything else). This -# description is "compatible" with color_xterm, rxvt and XFree86 xterm, except -# that each of those implements the home, end, delete keys differently. -# -# Redhat Linux 6.x distributes XFree86 xterm as "nxterm", which uses bce -# colors; note that this is not compatible with the 5.2 version. -# csw (2002-05-15): make xterm-color primary instead of nxterm, to -# match XFree86's xterm.terminfo usage and prevent circular links -xterm-color|nxterm|generic color xterm, - ncv@, - op=\E[m, use=xterm-r6, use=klone+color, - -# this describes the alpha-version of Gnome terminal shipped with Redhat 6.0 -gnome-rh62|Gnome terminal, - bce, - kdch1=\177, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, - use=xterm-color, - -# GNOME Terminal 1.4.0.4 (Redhat 7.2) -# -# This implements a subset of vt102 with a random selection of features from -# other terminals such as color and function-keys. -# -# shift-f1 to shift-f10 are f11 to f20 -# -# NumLock changes the application keypad to approximate vt100 keypad, except -# that there is no escape sequence matching comma (,). -# -# Other defects observed: -# vt100 LNM mode is not implemented. -# vt100 80/132 column mode is not implemented. -# vt100 DECALN is not implemented. -# vt100 DECSCNM mode is not implemented, so flash does not work. -# vt100 TBC (tab reset) is not implemented. -# xterm alternate screen controls do not restore cursor position properly -# it hangs in tack after running function-keys test. -gnome-rh72|GNOME Terminal, - bce, - civis=\E[?25l, cnorm=\E[?25h, kdch1=\E[3~, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, rmam=\E[?7l, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\016%e\017%;, - sgr0=\E[0m\017, smam=\E[?7h, tbc@, use=xterm-color, - -# GNOME Terminal 2.0.1 (Redhat 8.0) -# -# Documentation now claims it implements vt220 (which is demonstrably false). -# However, it does implement ECH, which is a vt220 feature. And there are -# workable vt100 LNM, DECALN, DECSNM modes, making it possible to display -# more of its bugs using vttest. -# -# However, note that bce and msgr are broken in this release. Tabs (tbc and -# hts) are broken as well. Sometimes flash (as in xterm-new) works. -# -# kf1 and kf10 are not tested since they're assigned (hardcoded?) to menu -# operations. Shift-tab generates a distinct sequence so it can be argued -# that it implements kcbt. -gnome-rh80|GNOME Terminal, - bce@, msgr@, - ech=\E[%p1%dX, flash=\E[?5h$<100/>\E[?5l, kbs=\177, - kcbt=\E^I, op=\E[39;49m, use=gnome-rh72, - -# GNOME Terminal 2.2.1 (Redhat 9.0) -# -# bce and msgr are repaired. -gnome-rh90|GNOME Terminal, - bce, msgr, - hpa=\E[%i%p1%dG, kDC=\E[3;2~, kLFT=\EO2D, kRIT=\EO2C, - kb2=\E[E, kcbt=\E[Z, kend=\EOF, khome=\EOH, tbc=\E[3g, - vpa=\E[%i%p1%dd, use=xterm+pcfkeys, use=gnome-rh80, - -gnome|GNOME Terminal, - rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h, - use=gnome-rh90, - -# This is kvt 0-18.7, shipped with Redhat 6.0 (though whether it supports bce -# or not is debatable). -kvt|KDE terminal, - bce, km@, - kdch1=\177, kend=\E[F, khome=\E[H, use=xterm-color, - -# Konsole 1.0.1 -# (formerly known as kvt) -# -# This program hardcodes $TERM to 'xterm', which is not accurate. However, to -# simplify this entry (and point out why konsole isn't xterm), we base this on -# xterm-r6. The default keyboard appears to be 'linux'. -# -# Notes: -# a) konsole implements several features from XFree86 xterm, though none of -# that is documented - except of course in its source code - apparently -# because its implementors are unaccustomed to reading documentation - as -# evidenced by the sparse and poorly edited documentation distributed with -# konsole. Some features such as the 1049 private mode are recognized but -# incorrectly implemented as a duplicate of the 47 private mode. -# b) even with the "vt100 (historical)" keyboard setting, the numeric keypad -# sends PC-style escapes rather than vt100. -# c) fails vttest menu 3 (Test of character sets) because it does not properly -# parse some control sequences. Also fails vttest Primary Device Attributes -# by sending a bogus code (in the source it says it's supposed to be a -# vt220, which is doubly incorrect because it does not implement vt220 -# control sequences except for a few special cases). Treat it as a -# mildly-broken vt102. -# -# Update for konsole 1.3.2: -# The 1049 private mode works (but see the other xterm screens in vttest). -# Primary Device Attributes now returns the code for a vt100 with advanced -# video option. Perhaps that's intended to be a "mildly-broken vt102". -konsole-base|KDE console window, - bce, km@, npc, - bel@, blink=\E[5m, civis=\E[?25l, cnorm=\E[?25h, - ech=\E[%p1%dX, flash=\E[?5h$<100/>\E[?5l, - hpa=\E[%i%p1%dG, indn=\E[%p1%dS, kbs=\177, kdch1@, - kend=\E[4~, kf1@, kf10@, kf11@, kf12@, kf13@, kf14@, kf15@, kf16@, - kf17@, kf18@, kf19@, kf2@, kf20@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, - kf9@, kfnd@, khome=\E[1~, kslt@, rin=\E[%p1%dT, rmam=\E[?7l, - rmso=\E[27m, rmul=\E[24m, - rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[0m\017, smam=\E[?7h, vpa=\E[%i%p1%dd, - use=ecma+color, use=xterm-r6, -konsole-linux|KDE console window with linux keyboard, - kdch1=\E[3~, kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13@, kf14@, kf15@, kf16@, kf17@, kf18@, kf19@, - kf2=\E[[B, kf20@, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - use=konsole-base, -# KDE's "XFree86 3.x.x" keyboard is based on reading the xterm terminfo rather -# than testing the code. -konsole-xf3x|KDE console window with keyboard for XFree86 3.x xterm, - kend=\E[4~, khome=\E[1~, use=konsole-vt100, -# The value for kbs reflects local customization rather than the settings used -# for XFree86 xterm. -konsole-xf4x|KDE console window with keyboard for XFree86 4.x xterm, - kend=\EOF, kf1=\EOP, kf13=\EO2P, kf14=\EO2Q, kf15=\EO2R, - kf16=\EO2S, kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~, - kf2=\EOQ, kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~, - kf23=\E[23;2~, kf24=\E[24;2~, kf3=\EOR, kf4=\EOS, - khome=\EOH, use=konsole-vt100, -# KDE's "vt100" keyboard has no relationship to any terminal that DEC made, but -# it is still useful for deriving the other entries. -konsole-vt100|KDE console window with vt100 (sic) keyboard, - kbs=\177, kdch1=\E[3~, kend=\E[F, kf1=\E[11~, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13@, kf14@, kf15@, kf16@, kf17@, - kf18@, kf19@, kf2=\E[12~, kf20@, kf3=\E[13~, kf4=\E[14~, - kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[H, use=konsole-base, -konsole-vt420pc|KDE console window with vt420 pc keyboard, - kbs=^H, kdch1=\177, use=konsole-vt100, -konsole-16color|klone of xterm-16color, - ncv#32, use=ibm+16color, use=konsole, -# make a default entry for konsole -konsole|KDE console window, - use=konsole-xf4x, - -# Based on mlterm 2.8.0's mlterm.ti, with corrections/additions from reading -# the source code and running tack -TD -# -# This is nominally a vt102 emulator, with features borrowed from rxvt and -# xterm. -# -# There are some problems with vttest: -# save/restore cursor doesn't restore character -# test of character sets leaves it in line-drawing mode. -mlterm|multi lingual terminal emulator, - am, eslok, km, mc5i, mir, msgr, npc, xenl, - colors#8, cols#80, it#8, lines#24, pairs#64, - acsc=00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=, - home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, - is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, - kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kend=\EOF, kent=\EOM, kf1=\E[11~, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~, - kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, - kf9=\E[20~, kfnd=\E[1~, khome=\EOH, kich1=\E[2~, - kmous=\E[M, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, mc0=\E[i, - nel=\EE, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, - rin=\E[%p1%dT, rmacs=\E(B, rmam=\E[?7l, - rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>, - rmso=\E[m, rmul=\E[m, - rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l, - sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smcup=\E7\E[?47h, - smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, - vpa=\E[%i%p1%dd, - -# From: Thomas Dickey 04 Oct 1997 -# Updated: Oezguer Kesim 02 Nov 1997 -# Notes: -# rxvt 2.21b uses -# smacs=\E(B\E)U^N, rmacs=\E(B\E)0^O, -# but some applications don't work with that. -# It also has an AIX extension -# box2=lqkxjmwuvtn, -# and -# ech=\E[%p1%dX, -# but the latter does not work correctly. -# -# The distributed terminfo says it implements hpa and vpa, but they are not -# implemented correctly, using relative rather than absolute positioning. -# -# rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM. -# Since rxvt is not really compatible with xterm, it should be configured as -# "rxvt" (monochrome) and "rxvt-color". -# -# removed dch/dch1 because they are inconsistent with bce/ech -TD -rxvt-basic|rxvt terminal base (X Window System), - OTbs, am, bce, eo, km, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - enacs=\E(B\E)0, flash=\E[?5h\E[?5l, home=\E[H, ht=^I, - hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, - ind=^J, is1=\E[?47l\E=\E[?1l, - is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H, - kcbt=\E[Z, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, - rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E>, rmso=\E[27m, - rmul=\E[24m, - rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, - rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h, - s0ds=\E(B, s1ds=\E(0, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[0m\017, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, - smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - use=vt220+keypad, use=rxvt+pcfkeys, -# Key Codes from rxvt reference: -# -# Note: Shift + F1-F10 generates F11-F20 -# -# For the keypad, use Shift to temporarily override Application-Keypad -# setting use Num_Lock to toggle Application-Keypad setting if Num_Lock -# is off, escape sequences toggle Application-Keypad setting. -# Also note that values of Home, End, Delete may have been compiled -# differently on your system. -# -# Normal Shift Control Ctrl+Shift -# Tab ^I ESC [ Z ^I ESC [ Z -# BackSpace ^H ^? ^? ^? -# Find ESC [ 1 ~ ESC [ 1 $ ESC [ 1 ^ ESC [ 1 @ -# Insert ESC [ 2 ~ paste ESC [ 2 ^ ESC [ 2 @ -# Execute ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @ -# Select ESC [ 4 ~ ESC [ 4 $ ESC [ 4 ^ ESC [ 4 @ -# Prior ESC [ 5 ~ scroll-up ESC [ 5 ^ ESC [ 5 @ -# Next ESC [ 6 ~ scroll-down ESC [ 6 ^ ESC [ 6 @ -# Home ESC [ 7 ~ ESC [ 7 $ ESC [ 7 ^ ESC [ 7 @ -# End ESC [ 8 ~ ESC [ 8 $ ESC [ 8 ^ ESC [ 8 @ -# Delete ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @ -# F1 ESC [ 11 ~ ESC [ 23 ~ ESC [ 11 ^ ESC [ 23 ^ -# F2 ESC [ 12 ~ ESC [ 24 ~ ESC [ 12 ^ ESC [ 24 ^ -# F3 ESC [ 13 ~ ESC [ 25 ~ ESC [ 13 ^ ESC [ 25 ^ -# F4 ESC [ 14 ~ ESC [ 26 ~ ESC [ 14 ^ ESC [ 26 ^ -# F5 ESC [ 15 ~ ESC [ 28 ~ ESC [ 15 ^ ESC [ 28 ^ -# F6 ESC [ 17 ~ ESC [ 29 ~ ESC [ 17 ^ ESC [ 29 ^ -# F7 ESC [ 18 ~ ESC [ 31 ~ ESC [ 18 ^ ESC [ 31 ^ -# F8 ESC [ 19 ~ ESC [ 32 ~ ESC [ 19 ^ ESC [ 32 ^ -# F9 ESC [ 20 ~ ESC [ 33 ~ ESC [ 20 ^ ESC [ 33 ^ -# F10 ESC [ 21 ~ ESC [ 34 ~ ESC [ 21 ^ ESC [ 34 ^ -# F11 ESC [ 23 ~ ESC [ 23 $ ESC [ 23 ^ ESC [ 23 @ -# F12 ESC [ 24 ~ ESC [ 24 $ ESC [ 24 ^ ESC [ 24 @ -# F13 ESC [ 25 ~ ESC [ 25 $ ESC [ 25 ^ ESC [ 25 @ -# F14 ESC [ 26 ~ ESC [ 26 $ ESC [ 26 ^ ESC [ 26 @ -# F15 (Help) ESC [ 28 ~ ESC [ 28 $ ESC [ 28 ^ ESC [ 28 @ -# F16 (Menu) ESC [ 29 ~ ESC [ 29 $ ESC [ 29 ^ ESC [ 29 @ -# F17 ESC [ 31 ~ ESC [ 31 $ ESC [ 31 ^ ESC [ 31 @ -# F18 ESC [ 32 ~ ESC [ 32 $ ESC [ 32 ^ ESC [ 32 @ -# F19 ESC [ 33 ~ ESC [ 33 $ ESC [ 33 ^ ESC [ 33 @ -# F20 ESC [ 34 ~ ESC [ 34 $ ESC [ 34 ^ ESC [ 34 @ -# Application -# Up ESC [ A ESC [ a ESC O a ESC O A -# Down ESC [ B ESC [ b ESC O b ESC O B -# Right ESC [ C ESC [ c ESC O c ESC O C -# Left ESC [ D ESC [ d ESC O d ESC O D -# KP_Enter ^M ESC O M -# KP_F1 ESC O P ESC O P -# KP_F2 ESC O Q ESC O Q -# KP_F3 ESC O R ESC O R -# KP_F4 ESC O S ESC O S -# XK_KP_Multiply * ESC O j -# XK_KP_Add + ESC O k -# XK_KP_Separator , ESC O l -# XK_KP_Subtract - ESC O m -# XK_KP_Decimal . ESC O n -# XK_KP_Divide / ESC O o -# XK_KP_0 0 ESC O p -# XK_KP_1 1 ESC O q -# XK_KP_2 2 ESC O r -# XK_KP_3 3 ESC O s -# XK_KP_4 4 ESC O t -# XK_KP_5 5 ESC O u -# XK_KP_6 6 ESC O v -# XK_KP_7 7 ESC O w -# XK_KP_8 8 ESC O x -# XK_KP_9 9 ESC O y -rxvt+pcfkeys|fragment for PC-style fkeys, - kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kLFT=\E[d, kNXT=\E[6$, - kPRV=\E[5$, kRIT=\E[c, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kdch1=\E[3~, kel=\E[8\^, kend=\E[8~, - kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, - kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, - kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, - kf20=\E[34~, kf21=\E[23$, kf22=\E[24$, kf23=\E[11\^, - kf24=\E[12\^, kf25=\E[13\^, kf26=\E[14\^, kf27=\E[15\^, - kf28=\E[17\^, kf29=\E[18\^, kf3=\E[13~, kf30=\E[19\^, - kf31=\E[20\^, kf32=\E[21\^, kf33=\E[23\^, kf34=\E[24\^, - kf35=\E[25\^, kf36=\E[26\^, kf37=\E[28\^, kf38=\E[29\^, - kf39=\E[31\^, kf4=\E[14~, kf40=\E[32\^, kf41=\E[33\^, - kf42=\E[34\^, kf43=\E[23@, kf44=\E[24@, kf5=\E[15~, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, - khome=\E[7~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, - kDN=\E[b, kDN5=\EOb, kDN6=\EOB, kLFT5=\EOd, kLFT6=\EOD, - kRIT5=\EOc, kRIT6=\EOC, kUP=\E[a, kUP5=\EOa, kUP6=\EOA, -rxvt|rxvt terminal emulator (X Window System), - ncv@, - hpa=\E[%i%p1%dG, kf0=\E[21~, sgr0=\E[m\017, - vpa=\E[%i%p1%dd, use=rxvt-basic, use=ecma+color, -rxvt-color|rxvt terminal emulator (X Window System), - use=rxvt, -rxvt-xpm|rxvt terminal emulator (X Window System), - use=rxvt, -rxvt-cygwin|rxvt terminal emulator (X Window System) on cygwin, - acsc=0\333+\257\,\256-\^`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - use=rxvt, -rxvt-cygwin-native|rxvt terminal emulator (native MS Window System port) on cygwin, - acsc=0\333+\257\,\256-\^`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330~\376, - use=rxvt-cygwin, - -# This variant is supposed to work with rxvt 2.7.7 when compiled with -# NO_BRIGHTCOLOR defined. rxvt needs more work... -rxvt-16color|xterm with 16 colors like aixterm, - ncv#32, use=ibm+16color, use=rxvt, - -# From: Michael Jennings -# removed kf0 which conflicts with kf10 -TD -# remove cvvis which conflicts with cnorm -TD -Eterm|Eterm-color|Eterm with xterm-style color support (X Window System), - am, bce, bw, eo, km, mc5i, mir, msgr, xenl, xon, - btns#5, cols#80, it#8, lines#24, lm#0, ncv@, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, - flash=\E[?5h\E[?5l, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, - hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, - ind=^J, is1=\E[?47l\E>\E[?1l, - is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, - kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kLFT=\E[d, kNXT=\E[6$, - kPRV=\E[5$, kRIT=\E[c, ka1=\E[7~, ka3=\E[5~, kb2=\EOu, - kbeg=\EOu, kbs=^H, kc1=\E[8~, kc3=\E[6~, kcbt=\E[Z, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kel=\E[8\^, kend=\E[8~, kent=\EOM, kf1=\E[11~, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, - kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, - khome=\E[7~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM, - rmacs=^O, rmam=\E[?7l, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, - rmkx=, rmso=\E[27m, rmul=\E[24m, - rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, - rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h, - sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h, - smir=\E[4h, smkx=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, - vpa=\E[%i%p1%dd, use=ecma+color, - -# These (xtermc and xtermm) are distributed with Solaris. They refer to a -# variant of xterm which is apparently no longer supported, but are interesting -# because they illustrate SVr4 curses mouse controls - T.Dickey -xtermm|xterm terminal emulator (monocrome), - OTbs, am, km, mir, msgr, xenl, - btns#3, cols#80, it#8, lines#24, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink@, bold=\E[1m, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[1D, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, getm=\E[%p1%dY, - home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, - il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kf0=\EOy, - kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf5=\EOT, kf6=\EOU, - kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kmous=\E[^_, - knp=\E[U, kpp=\E[V, rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM, - rmacs=^O, rmcup=\E@0\E[?4r, rmso=\E[m, - rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1, - smso=\E[7m, tbc=\E[3g, use=vt100+fnkeys, - -xtermc|xterm terminal emulator (color), - colors#8, ncv#7, pairs#64, - op=\E[100m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - use=xtermm, - -# From: David J. MacKenzie 20 Apr 1995 -# Here's a termcap entry I've been using for xterm_color, which comes -# with BSD/OS 2.0, and the X11R6 contrib tape too I think. Besides the -# color stuff, I also have a status line defined as the window manager -# title bar. [I have translated it to terminfo -- ESR] -xterm-pcolor|xterm with color used for highlights and status line, - bold=\E[1m\E[43m, rev=\E[7m\E[34m, smso=\E[7m\E[31m, - smul=\E[4m\E[42m, use=xterm+sl, use=xterm-r6, - -# HP ships this, except for the pb#9600 which was merged in from BSD termcap. -# (hpterm: added empty , we have no idea what ACS chars look like --esr) -hpterm|X-hpterm|hp X11 terminal emulator, - am, da, db, mir, xhp, - cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8, pb#9600, xmc#0, - acsc=, bel=^G, bold=\E&dB, cbt=\Ei, clear=\E&a0y0C\EJ, cr=^M, - cub1=^H, cud1=\EB, cuf1=\EC, cup=\E&a%p1%dy%p2%dC, - cuu1=\EA, dch1=\EP, dim=\E&dH, dl1=\EM, ed=\EJ$<1>, el=\EK, - hpa=\E&a%p1%dC, ht=^I, hts=\E1, il1=\EL, ind=^J, kbs=^H, - kclr=\EJ, kctab=\E2, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kdch1=\EP, kdl1=\EM, ked=\EJ, kel=\EK, kf1=\Ep, - kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, kf6=\Eu, kf7=\Ev, kf8=\Ew, - khome=\Eh, khts=\E1, kich1=\EQ, kil1=\EL, kind=\ES, kll=\EF, - knp=\EU, kpp=\EV, kri=\ET, krmir=\ER, ktbc=\E3, meml=\El, - memu=\Em, pfkey=\E&f%p1%dk%p2%l%dL%p2%s, - pfloc=\E&f1a%p1%dk%p2%l%dL%p2%s, - pfx=\E&f2a%p1%dk%p2%l%dL%p2%s, - pln=\E&f%p1%dk%p2%l%dd0L%p2%s, rev=\E&dB, ri=\ET, - rmacs=^O, rmir=\ER, rmkx=\E&s0A, rmln=\E&j@, rmso=\E&d@, - rmul=\E&d@, - sgr=\E&d%?%p7%t%{115}%c%;%p1%p3%|%p6%|%{2}%*%p2%{4}%*%+%p4%+%p5%{8}%*%+%{64}%+%c%?%p9%t%'\016'%c%e%'\017'%c%;, - sgr0=\E&d@, smacs=^N, smir=\EQ, smkx=\E&s1A, smln=\E&jB, - smso=\E&dJ, smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY, - -# This entry describes an xterm with Sun-style function keys enabled -# via the X resource setting "xterm*sunFunctionKeys:true" -# To understand / note that L1,L2 and F11,F12 are the same. -# The ... keys are L3-L10. We don't set -# because we want it to be seen as . -# The ... keys are R1-R15. We treat some of these in accordance -# with their Sun keyboard labels instead. -# From: Simon J. Gerraty 10 Jan 1996 -xterm-sun|xterm with sunFunctionKeys true, - kb2=\E[218z, kcpy=\E[197z, kend=\E[220z, kf1=\E[224z, - kf10=\E[233z, kf11=\E[192z, kf12=\E[193z, kf13=\E[194z, - kf14=\E[195z, kf15=\E[196z, kf17=\E[198z, kf18=\E[199z, - kf19=\E[200z, kf2=\E[225z, kf20=\E[201z, kf3=\E[226z, - kf31=\E[208z, kf32=\E[209z, kf33=\E[210z, kf34=\E[211z, - kf35=\E[212z, kf36=\E[213z, kf38=\E[215z, kf4=\E[227z, - kf40=\E[217z, kf42=\E[219z, kf44=\E[221z, kf5=\E[228z, - kf6=\E[229z, kf7=\E[230z, kf8=\E[231z, kf9=\E[232z, - kfnd=\E[200z, khlp=\E[196z, khome=\E[214z, kich1=\E[2z, - knp=\E[222z, kpp=\E[216z, kund=\E[195z, use=xterm, -xterms-sun|small (80x24) xterm with sunFunctionKeys true, - cols#80, lines#24, use=xterm-sun, - -# This is for the extensible terminal emulator on the X11R6 contrib tape. -# It corresponds to emu's internal emulation: -# emu -term emu -# emu's default sets TERM to "xterm", but that doesn't work well -TD -# fixes: remove bogus rmacs/smacs, change oc to op, add bce, am -TD -# fixes: add civis, cnorm, sgr -TD -emu|emu native mode, - am, bce, mir, msgr, xon, - colors#15, cols#80, it#8, lines#24, pairs#64, vt#200, - acsc=61a\202f\260g2j\213k\214l\215m\216n\217o\220q\222s\224t\225u\226v\227w\230x\231~\244, - bel=^G, blink=\EW, bold=\EU, civis=\EZ, clear=\EP\EE0;0;, - cnorm=\Ea, cr=^M, csr=\Ek%p1%d;%p2%d;, cub=\Eq-%p1%d;, - cub1=^H, cud=\Ep%p1%d;, cud1=\EB, cuf=\Eq%p1%d;, cuf1=\ED, - cup=\EE%p1%d;%p2%d;, cuu=\Ep-%p1%d;, cuu1=\EA, - dch=\EI%p1%d;, dch1=\EI1;, dl=\ER%p1%d;, dl1=\ER1;, - ech=\Ej%p1%d;, ed=\EN, el=\EK, el1=\EL, home=\EE0;0;, ht=^I, - hts=\Eh, il=\EQ%p1%d;, il1=\EQ1;, ind=\EG, - is2=\ES\Er0;\Es0;, kbs=^H, kcub1=\EC, kcud1=\EB, kcuf1=\ED, - kcuu1=\EA, kdch1=\177, kent=^M, kf0=\EF00, kf1=\EF01, - kf10=\EF10, kf11=\EF11, kf12=\EF12, kf13=\EF13, kf14=\EF14, - kf15=\EF15, kf16=\EF16, kf17=\EF17, kf18=\EF18, kf19=\EF19, - kf2=\EF02, kf20=\EF20, kf3=\EF03, kf4=\EF04, kf5=\EF05, - kf6=\EF06, kf7=\EF07, kf8=\EF08, kf9=\EF09, kfnd=\Efind, - kich1=\Eins, knp=\Enext, kpp=\Eprior, kslt=\Esel, - op=\Es0;\Er0;, rev=\ET, ri=\EF, rmir=\EX, rmso=\ES, rmul=\ES, - rs2=\ES\Es0;\Er0;, setab=\Es%i%p1%d;, - setaf=\Er%i%p1%d;, - sgr=\ES%?%p1%t\ET%;%?%p2%t\EV%;%?%p3%t\ET%;%?%p4%t\EW%;%?%p6%t\EU%;, - sgr0=\ES, smir=\EY, smso=\ET, smul=\EV, tbc=\Ej, - -# vt220 Terminfo entry for the Emu emulation, corresponds to -# emu -term vt220 -# with NumLock set (to make the keypad transmit kf0-kf9). -# fixes: add am, xenl, corrected sgr0 -TD -emu-220|Emu-220 (vt200-7bit mode), - am, xenl, xon, - cols#80, it#8, lines#24, vt#200, - acsc=aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G, - blink=\E[0;5m, bold=\E[0;1m, civis=\E[?25l, - clear=\E[2J\E[H, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[1D, - cud=\E[%p1%dB, cud1=\E[1B, cuf=\E[%p1%dC, cuf1=\E[1C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[1A, - dch=\E[%p1%dP, dch1=\E[1P, dl=\E[%p1%dM, dl1=\E[1M, - ed=\E[0J, el=\E[0K, el1=\E[1K, enacs=\E)0, home=\E[H, ht=^I, - hts=\EH, if=/usr/local/share/tabset/vt300, il=\E[%p1%dL, - il1=\E[1L, ind=\ED, is2=\E>\E[?1l\E[?3l\E[4l\E[?7h, - kbs=^H, kcmd=\E[29~, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kdch1=\E[3~, kent=\EOM, kf0=\EOp, kf1=\EOq, - kf10=\EOl, kf11=\EOm, kf12=\EOn, kf13=\EOP, kf14=\EOQ, - kf15=\EOR, kf16=\EOS, kf2=\EOr, kf26=\E[17~, kf27=\E[18~, - kf28=\E[19~, kf29=\E[20~, kf3=\EOs, kf30=\E[21~, - kf34=\E[26~, kf37=\E[31~, kf38=\E[32~, kf39=\E[33~, - kf4=\EOt, kf40=\E[34~, kf5=\EOu, kf6=\EOv, kf7=\EOw, - kf8=\EOx, kf9=\EOy, kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~, - knp=\E[6~, kpp=\E[5~, kslt=\E[4~, rc=\E8, rev=\E[0;7m, - ri=\EM, rmacs=^O, rmcup=\E>, rmkx=\E>, rmso=\E[m, rmul=\E[m, - rs2=\E[4l\E[34l\E[?1l\E[?3l\E[?5l\E[?7h, sc=\E7, - sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m, smacs=^N, smcup=\E[?1l\E=, smkx=\E=, - smso=\E[0;7m, smul=\E[0;4m, tbc=\E[3g, -# A commercial product, Reportedly a version of Xterm with an OPEN LOOK UI, -# print interface, ANSI X3.64 colour escape sequences, etc. Newsgroup postings -# indicate that it emulates more than one terminal, but incompletely. -# -# This is adapted from a FreeBSD bug-report by Daniel Rudy -# It is based on vt102's entry, with some subtle differences, but also -# has status line -# supports ANSI colors (except for 'op' string) -# apparently implements alternate screen like xterm -# does not use padding, of course. -mvterm|vv100|SwitchTerm aka mvTERM, - am, eslok, hs, km, mir, msgr, xenl, - colors#8, cols#80, it#8, lines#24, pairs#64, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - dsl=\E[?E, ed=\E[J, el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, - fsl=\E[?F, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOy, - kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, - op=\E[100m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, - rmcup=\E[2J\E[?47l\E8, rmkx=\E[?1l\E>, rmso=\E[m, - rmul=\E[m, - rs2=\E>\E[1;3;4;5;6l\E[?7h\E[100m\E[m\E[r\E[2J\E[H, - sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smcup=\E7\E[?47h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[?E\E[?%i%p1%dT, use=vt100+fnkeys, - -### MTERM -# -# This application is available by email from . -# -# "mterm -type ansi" sets $TERM to "ansi" -mterm-ansi|ANSI emulation, - am, bw, mir, msgr, - it#8, - acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, - cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, - el=\E[K, home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=, - il=\E[%p1%dL, il1=\E[L, ind=\E[S, indn=\E[%p1%dS, - invis=\E[8m, is2=\E)0\017, kbs=^H, nel=\EE, rev=\E[7m, - ri=\E[T, rin=\E[%p1%dT, rmacs=^O, rmir=\E[4l, rmso=\E[27m, - rmul=\E[24m, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m, smacs=^N, smir=\E[4h, smso=\E[7m, smul=\E[4m, - vpa=\E[%i%p1%dd, -# mterm normally sets $TERM to "mterm" -mterm|mouse-sun|Der Mouse term, - am, bw, mir, - it#8, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^N, cuf1=^S, - cup=\006%p1%d.%p2%d., cuu1=^X, dch1=^Y, dl1=^K, ed=^B, el=^C, - home=^P, ht=^I, il1=^A, ind=^U, kbs=^H, ll=^R, nel=^M^U, ri=^W, - rmir=^O, rmso=^T, smir=^Q, smso=^V, -# "mterm -type decansi" sets $TERM to "decansi" -# -# note: kdch1, kfnd, kslt are in the source code, but do not work -TD -decansi|ANSI emulation with DEC compatibility hacks, - am, mir, msgr, xenl, - colors#8, it#8, pairs#64, - acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, - dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, enacs=\E(B\E)0, - home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=, il=\E[%p1%dL, - il1=\E[L, ind=\E[S, indn=\E[%p1%dS, invis=\E[8m, - is2=\E)0\E[r\017, kbs=^H, kcub1=\EOD, kcud1=\EOB, - kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kf1=\E[11~, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, - kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, - kpp=\E[5~, kslt=\E[4~, nel=\EE, op=\E[0m, rc=\E8, rev=\E[7m, - ri=\E[T, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m, smacs=^N, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, u6=\E[%i%d;%dR, - u7=\E[6n, vpa=\E[%i%p1%dd, - -#### MGR -# -# MGR is a Bell Labs window system lighter-weight than X. -# These entries describe MGR's xterm-equivalent. -# They are courtesy of Vincent Broman 14 Jan 1997 -# - -mgr|Bellcore MGR (non X) window system terminal emulation, - am, km, - bel=^G, bold=\E2n, civis=\E9h, clear=^L, cnorm=\Eh, cr=^M, - csr=\E%p1%d;%p2%dt, cub1=^H, cud1=\Ef, cuf1=\Er, - cup=\E%p2%d;%p1%dM, cuu1=\Eu, cvvis=\E0h, - dch=\E%p1%dE$<5>, dch1=\EE, dl=\E%p1%dd$<3*>, - dl1=\Ed$<3>, ed=\EC, el=\Ec, hd=\E1;2f, ht=^I, hu=\E1;2u, - ich=\E%p1%dA$<5>, ich1=\EA, il=\E%p1%da$<3*>, - il1=\Ea$<3>, ind=^J, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, nel=^M^J, rev=\E1n, rmam=\E5S, - rmso=\E0n, rmul=\E0n, sgr0=\E0n, smam=\E5s, smso=\E1n, - smul=\E4n, -mgr-sun|Mgr window with Sun keyboard, - ka1=\E[214z, ka3=\E[216z, kb2=\E[218z, kc1=\E[220z, - kc3=\E[222z, kcpy=\E[197z, kend=\E[220z, kent=\E[250z, - kf1=\E[224z, kf10=\E[233z, kf11=\E[234z, kf12=\E[235z, - kf2=\E[225z, kf3=\E[226z, kf4=\E[227z, kf5=\E[228z, - kf6=\E[229z, kf7=\E[230z, kf8=\E[231z, kf9=\E[232z, - kfnd=\E[200z, khlp=\E[207z, khome=\E[214z, knp=\E[222z, - kopn=\E[198z, kpp=\E[216z, kund=\E[195z, use=mgr, -mgr-linux|Mgr window with Linux keyboard, - ka1=\E[H, ka3=\E[5~, kb2=\E[G, kc1=\E[Y, kc3=\E[6~, - kdch1=\E[3~, kend=\E[4~, kf0=\E[[J, kf1=\E[[A, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, - kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[1~, knp=\E[6~, kpp=\E[5~, use=mgr, - -######## UNIX VIRTUAL TERMINALS, VIRTUAL CONSOLES, AND TELNET CLIENTS -# - -# Columbus UNIX virtual terminal. This terminal also appears in -# UNIX 4.0 and successors as line discipline 1 (?), but is -# undocumented and does not really work quite right. -cbunix|cb unix virtual terminal, - OTbs, am, da, db, - cols#80, lines#24, lm#0, - bel=^G, clear=\EL, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EG%p2%c%p1%c, cuu1=\EA, dch1=\EM, dl1=\EN, ed=\EL, - el=\EK, ich1=\EO, il1=\EP, ind=^J, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, khome=\EE, rmso=\Eb^D, rmul=\Eb^A, - smso=\Ea^D, smul=\Ea^A, -# (vremote: removed obsolete ":nl@:" -- esr) -vremote|virtual remote terminal, - am@, - cols#79, use=cbunix, - -pty|4bsd pseudo teletype, - cup=\EG%p1%{32}%+%c%p2%{32}%+%c, rmso=\Eb$, rmul=\Eb!, - smso=\Ea$, smul=\Ea!, use=cbunix, - -# The codes supported by the term.el terminal emulation in GNU Emacs 19.30 -eterm|gnu emacs term.el terminal emulation, - am, mir, xenl, - cols#80, lines#24, - bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, el1=\E[1K, home=\E[H, ht=^I, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=^J, rev=\E[7m, - rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smcup=\E7\E[?47h, smir=\E[4h, smso=\E[7m, - smul=\E[4m, - -# Entries for use by the `screen' program by Juergen Weigert, -# Michael Schroeder, Oliver Laumann. The screen and -# screen-w entries came with version 3.7.1. The screen2 and screen3 entries -# come from University of Wisconsin and may be older. -# (screen: added on ANSI model -- esr) -# -# 'screen' defines extensions to termcap. Some are used in its terminal -# description: -# G0 (bool) Terminal can deal with ISO 2022 font selection sequences. -# AX (bool) Does understand ANSI set default fg/bg color -# (\E[39m / \E[49m). -# S0 (str) Switch charset 'G0' to the specified charset. -# E0 (str) Switch charset 'G0' back to standard charset. -# -# tested with screen 3.09.08 -screen|VT 100/ANSI X3.64 virtual terminal, - OTbs, OTpt, am, km, mir, msgr, xenl, G0, - colors#8, cols#80, it#8, lines#24, pairs#64, - acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[34h\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM, - cvvis=\E[34l, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0, - flash=\Eg, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E)0, kbs=^H, kcbt=\E[Z, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, - kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, - nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, - rmcup=\E[?1049l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[23m, - rmul=\E[24m, rs2=\Ec\E[?1000l\E[?25h, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[m, smacs=^N, smcup=\E[?1049h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[3m, smul=\E[4m, tbc=\E[3g, E0=\E(B, - S0=\E(%p1%c, use=ecma+color, -# The bce and status-line entries are from screen 3.9.13 (and require some -# changes to .screenrc). -screen-bce|VT 100/ANSI X3.64 virtual terminal with bce, - bce, use=screen, -screen-s|VT 100/ANSI X3.64 virtual terminal with hardstatus line, - dsl=\E_\E\\, fsl=\E\\, tsl=\E_, use=screen, - -# Read the fine manpage: -# When screen tries to figure out a terminal name for -# itself, it first looks for an entry named "screen.", -# where is the contents of your $TERM variable. If -# no such entry exists, screen tries "screen" (or "screen-w" -# if the terminal is wide (132 cols or more)). If even this -# entry cannot be found, "vt100" is used as a substitute. -# -# Here are a few customized entries which are useful -TD -# -# Notes: -# (a) screen does not support invis. -# (b) screen's implementation of bw is incorrect according to tack. -# (c) screen appears to hardcode the strings for khome/kend, making it -# necessary to override the "use=" clause's values. -# (d) screen sets $TERMCAP to a termcap-formatted copy of the 'screen' entry, -# which is NOT the same as the terminfo screen.. -# (e) when screen finds one of these customized entries, it sets $TERM to -# match. Hence, no "screen.xterm" entry is provided, since that would -# create heartburn for people running remote xterm's. -# -# xterm (-xfree86 or -r6) does not normally support kIC, kNXT and kPRV -# since the default translations override the built-in keycode -# translation. They are suppressed here to show what is tested by tack. -screen.xterm-xfree86|screen.xterm-new|screen customized for modern xterm, - bce@, bw, - invis@, kIC@, kNXT@, kPRV@, kend=\E[4~, khome=\E[1~, meml@, - memu@, - sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m, - use=xterm-new, -# xterm-r6 does not really support khome/kend unless it is propped up by -# the translations resource. -screen.xterm-r6|screen customized for X11R6 xterm, - bw, use=xterm-r6, -# Color applications running in screen and TeraTerm do not play well together -# on Solaris because Sun's curses implementation gets confused. -screen.teraterm|disable ncv in teraterm, - ncv#127, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - use=screen, -# fix the backspace key -screen.linux|screen in linux console, - bw, - kbs=\177, kcbt@, use=screen, - -screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols, - cols#132, use=screen, - -screen2|old VT 100/ANSI X3.64 virtual terminal, - cols#80, it#8, lines#24, - cbt=\E[Z, clear=\E[2J\E[H, cr=^M, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=, il=\E[%p1%dL, - il1=\E[L, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kf0=\E~, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV, - kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\E0I, khome=\EH, - nel=^M^J, rc=\E8, ri=\EM, rmir=\E[4l, rmso=\E[23m, - rmul=\E[24m, rs1=\Ec, sc=\E7, sgr0=\E[m, smir=\E[4h, - smso=\E[3m, smul=\E[4m, tbc=\E[3g, -# (screen3: removed unknown ":xv:LP:G0:" -- esr) -screen3|older VT 100/ANSI X3.64 virtual terminal, - km, mir, msgr, - cols#80, it#8, lines#24, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, - cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E)0, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, - kf3=\EOR, kf4=\EOS, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, - rmir=\E[4l, rmkx=\E>, rmso=\E[23m, rmul=\E[24m, rs1=\Ec, - sc=\E7, sgr0=\E[m, smir=\E[4h, smkx=\E=, smso=\E[3m, - smul=\E[4m, tbc=\E[3g, - -# Francesco Potorti : -# NCSA telnet is one of the most used telnet clients for the Macintosh. It has -# been maintained until recently by the National Center for Supercomputer -# Applications, and it is feature rich, stable and free. It can be downloaded -# from www.ncsa.edu. This terminfo description file is based on xterm-vt220, -# xterm+sl, and the docs at NCSA. It works well. -# -# NCSA Telnet 2.6 for Macintosh in vt220 8-bit emulation mode -# The terminal options should be set as follows: -# Xterm sequences ON -# use VT wrap mode ON -# use Emacs arrow keys OFF -# CTRL-COMND is Emacs meta ON -# 8 bit mode ON -# answerback string: "ncsa-vt220-8" -# setup keys: all disabled -# -# Application mode is not used. -# -# Other special mappings: -# Apple VT220 -# HELP Find -# HOME Insert here -# PAGEUP Remove -# DEL Select -# END Prev Screen -# PAGEDOWN Next Screen -# -# Though it supports ANSI color, NCSA Telnet uses color to represent blinking -# text. -# -# The status-line manipulation is a mapping of the xterm-compatible control -# sequences for setting the window-title. So you must use tsl and fsl in -# pairs, since the latter ends the string that is loaded to the window-title. -ncsa-m|ncsa-vt220-8|NCSA Telnet 2.6 for Macintosh in vt220-8 mode, - am, hs, km, mir, msgr, xenl, - acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - dsl=\E]0;\007, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, - flash=\E[?5h\E[?5l, fsl=^G, home=\E[H, ht=^I, hts=\EH, - ich=\E[%p1%d@, if=/usr/local/share/tabset/vt100, - il=\E[%p1%dL, il1=\E[L, ind=\n$<150*>, - is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[4~, kend=\E[5~, kf1=\E[17~, kf10=\E[28~, - kf11=\E[29~, kf12=\E[31~, kf13=\E[32~, kf14=\E[33~, - kf15=\E[34~, kf2=\E[18, kf3=\E[19~, kf4=\E[20~, kf5=\E[21~, - kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, kf9=\E[26~, khlp=\E[1~, - khome=\E[2~, knp=\E[6~, kpp=\E[3~, mc4=\E[4i, mc5=\E[5i, - rc=\E8, rev=\E[7m, rf=/usr/local/share/tabset/vt100, ri=\EM, - rmacs=\E(B, rmam=\E[?7l, rmcup=\E[2J\E8, rmir=\E[4l, - rmso=\E[27m, rmul=\E[24m, - rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;4;6l\E[4l\E>, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smcup=\E7, - smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E]0;, - u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?62;1;6c, u9=\E[c, -ncsa|NCSA Telnet 2.7 for Macintosh in vt220-8 mode, - use=ncsa-m, use=klone+color, -ncsa-ns|NCSA Telnet 2.7 for Macintosh in vt220-8 mode, - hs@, - dsl@, fsl@, tsl@, use=ncsa, -ncsa-m-ns|NCSA Telnet 2.6 for Macintosh in vt220-8 mode, - hs@, - dsl@, fsl@, tsl@, use=ncsa-m, -# alternate -TD: -# The documented function-key mapping refers to the Apple Extended Keyboard -# (e.g., NCSA Telnet's F1 corresponds to a VT220 F6). We use the VT220-style -# codes, however, since the numeric keypad (VT100) PF1-PF4 are available on -# some keyboards and many applications require these as F1-F4. -# -ncsa-vt220|NCSA Telnet using vt220-compatible function keys, - kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, - kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, - kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, - kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, use=ncsa, - -#### Pilot Pro Palm-Top -# -# Termcap for Top Gun Telnet and SSH on the Palm Pilot. -# http://www.ai/~iang/TGssh/ -pilot|tgtelnet|Top Gun Telnet on the Palm Pilot Professional, - OTbs, am, xenl, - cols#39, lines#16, - bel=^G, clear=\Ec, cr=^M, cub1=^H, cud1=^J, - cup=\Em%p1%{32}%+%c%p2%{32}%+%c, home=\Em\s\s, ht=^I, - ind=^J, kbs=^H, kcub1=^H, kcud1=^J, knp=^L, kpp=^K, nel=\Em~\s, - rmso=\EB, smso=\Eb, - -# From: Federico Bianchi -# These entries are for the Embeddable Linux Kernel System (ELKS) -# project - an heavily stripped down Linux to be run on 16 bit -# boxes or, eventually, to be used in embedded systems - and have been -# adapted from the stock ELKS termcap. The project itself looks stalled, -# and the latest improvements I know of date back to March 2000. -# -# To cope with the ELKS dumb console I added an "elks-glasstty" entry; -# as an added bonus, this deals with all the capabilities common to -# both VT52 and ANSI (or, eventually, "special") modes. - -elks-glasstty|ELKS glass-TTY capabilities, - OTbs, am, - cols#80, it#8, lines#25, - bel=^G, cr=^M, ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, - nel=^M^J, - -elks-vt52|ELKS vt52 console, - clear=\EH\EJ, cub1=\ED, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, el=\EK, - home=\EH, use=elks-glasstty, - -elks-ansi|ELKS ANSI console, - clear=\E[H\E[2J, cub1=\E[D, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H, - rmso=\E[m, smso=\E[7m, use=elks-glasstty, - -# As a matter of fact, ELKS 0.0.83 on PCs defaults to ANSI emulation -# instead of VT52, but the "elks" entry still refers to the latter. - -elks|default ELKS console, - use=elks-vt52, - -# Project SIBO (for Psion 3 palmtops) console is identical to the ELKS -# one but in screen size - -sibo|ELKS SIBO console, - cols#61, it#8, lines#20, use=elks-vt52, - -######## COMMERCIAL WORKSTATION CONSOLES -# - -#### Alpha consoles -# - -# This is from the OSF/1 Release 1.0 termcap file -pccons|pcconsole|ANSI (mostly) Alpha PC console terminal emulation, - am, xon, - cols#80, lines#25, - bel=^G, clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, - nel=^M^J, rev=\E[7m, rmso=\E[m, sgr0=\E[m, smso=\E[7m, - -#### Sun consoles -# - -# :is1: resets scrolling region in case a previous user had used "tset vt100" -oldsun|Sun Microsystems Workstation console, - OTbs, am, km, mir, msgr, - cols#80, it#8, lines#34, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP, - dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, ht=^I, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, - is1=\E[1r, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, - rmso=\E[m, sgr0=\E[m, smso=\E[7m, -# From: Alexander Lukyanov , 14 Nov 1995 -# capability later corrected by J.T. Conklin -# SGR 1, 4 aren't supported - removed bold/underline (T.Dickey 17 Jan 1998) -sun-il|Sun Microsystems console with working insert-line, - am, km, msgr, - cols#80, lines#34, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP, - dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, ht=^I, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, - kb2=\E[218z, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kdch1=\177, kend=\E[220z, kf1=\E[224z, - kf10=\E[233z, kf11=\E[234z, kf12=\E[235z, kf2=\E[225z, - kf3=\E[226z, kf4=\E[227z, kf5=\E[228z, kf6=\E[229z, - kf7=\E[230z, kf8=\E[231z, kf9=\E[232z, khome=\E[214z, - knp=\E[222z, kopt=\E[194z, kpp=\E[216z, kres=\E[193z, - kund=\E[195z, rev=\E[7m, rmso=\E[m, rmul@, rs2=\E[s, - sgr=\E[0%?%p1%p3%|%t;7%;m, sgr0=\E[m, smso=\E[7m, - u8=\E[1t, u9=\E[11t, -# On some versions of CGSIX framebuffer firmware (SparcStation 5), / -# flake out on the last line. Unfortunately, without them the terminal has no -# way to scroll. -sun-cgsix|sun-ss5|Sun SparcStation 5 console, - il@, il1@, use=sun-il, -# If you are using an SS5, change the sun definition to use sun-ss5. -sun|sun1|sun2|Sun Microsystems Inc. workstation console, - use=sun-il, - -# From: Tue Sep 24 13:14:44 1985 -sun-s|Sun Microsystems Workstation window with status line, - hs, - dsl=\E]l\E\\, fsl=\E\\, tsl=\E]l, use=sun, -sun-e-s|sun-s-e|Sun Microsystems Workstation with status hacked for emacs, - hs, - dsl=\E]l\E\\, fsl=\E\\, tsl=\E]l, use=sun-e, -sun-48|Sun 48-line window, - cols#80, lines#48, use=sun, -sun-34|Sun 34-line window, - cols#80, lines#34, use=sun, -sun-24|Sun 24-line window, - cols#80, lines#24, use=sun, -sun-17|Sun 17-line window, - cols#80, lines#17, use=sun, -sun-12|Sun 12-line window, - cols#80, lines#12, use=sun, -sun-1|Sun 1-line window for sysline, - eslok, hs, - cols#80, lines#1, - dsl=^L, fsl=\E[K, tsl=^M, use=sun, -sun-e|sun-nic|sune|Sun Microsystems Workstation without insert character, - ich1@, rmir@, smir@, use=sun, -sun-c|sun-cmd|Sun Microsystems Workstation console with scrollable history, - lines#35, - rmcup=\E[>4h, smcup=\E[>4l, use=sun, -sun-type4|Sun Workstation console with type 4 keyboard, - kcub1=\E[217z, kcud1=\E[221z, kcuf1=\E[219z, - kcuu1=\E[215z, use=sun-il, - -# Most of the current references to sun-color are from users wondering why this -# is the default on install. Details from reading the wscons manpage, adding -# cub, etc., here (rather than in the base sun-il entry) since it is not clear -# when those were added -TD -sun-color|Sun Microsystems Workstation console with color support (IA systems), - colors#8, pairs#64, - cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC, - cuu=\E[%p1%dA, home=\E[H, op=\E[m\E[p, setab=\E[4%p1%dm, - setaf=\E[3%p1%dm, - setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - use=sun, - -#### Iris consoles -# - -# (wsiris: this had extension capabilities -# :HS=\E7F2:HE=\E7F7:\ -# :CT#2:CZ=*Bblack,red,green,yellow,blue,magenta,cyan,*Fwhite: -# See the note on Iris extensions near the end of this file. -# Finally, removed suboptimal =\EH\EJ and added & -# from BRL -- esr) -wsiris|iris40|iris emulating a 40 line visual 50 (approximately), - OTbs, OTnc, OTpt, am, - OTkn#3, cols#80, it#8, lines#40, - OTnl=\EB, bel=^G, clear=\Ev, cnorm=\E>, cub1=^H, cud1=\EB, - cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, - cvvis=\E;, dim=\E7F2, dl1=\EM, ed=\EJ, el=\EK, - flash=\E7F4\E7B1\013\E7F7\E7B0, home=\EH, ht=^I, il1=\EL, - ind=^J, is2=\E7B0\E7F7\E7C2\E7R3, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, kf0=\E0, kf1=\E1, kf2=\E2, kf3=\E3, - kf4=\E4, kf5=\E5, kf6=\E6, kf7=\E7, kf8=\E8, kf9=\E9, ri=\EI, - rmso=\E0@, rmul=\E7R3\E0@, sgr0=\E7F7, smso=\E9P, - smul=\E7R2\E9P, - -#### NeWS consoles -# -# Console terminal windows under the NeWS (Sun's Display Postscript windowing -# environment). Note: these have nothing to do with Sony's News workstation -# line. -# - -# Entry for NeWS's psterm from Eric Messick & Hugh Daniel -# (psterm: unknown ":sl=\EOl:el=\ENl:" removed -- esr) -psterm|psterm-basic|NeWS psterm-80x34, - OTbs, am, hs, km, ul, - cols#80, it#8, lines#34, - blink=\EOb, bold=\EOd, clear=^L, csr=\EE%p1%d;%p2%d;, - cub1=\ET, cud1=\EP, cuf1=\EV, cup=\E%p1%d;%p2%d;, cuu1=\EY, - dch1=\EF, dl1=\EK, ed=\EB, el=\EC, flash=\EZ, fsl=\ENl, - home=\ER, ht=^I, il1=\EA, ind=\EW, is1=\EN*, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, ll=\EU, rc=^\, rev=\EOr, - ri=\EX, rmcup=\ENt, rmir=\ENi, rmso=\ENo, rmul=\ENu, sc=^], - sgr0=\EN*, smcup=\EOt, smir=\EOi, smso=\EOo, smul=\EOu, - tsl=\EOl, -psterm-96x48|NeWS psterm 96x48, - cols#96, lines#48, use=psterm, -psterm-90x28|NeWS psterm 90x28, - cols#90, lines#28, use=psterm, -psterm-80x24|NeWS psterm 80x24, - cols#80, lines#24, use=psterm, -# This is a faster termcap for psterm. Warning: if you use this termcap, -# some control characters you type will do strange things to the screen. -# (psterm-fast: unknown ":sl=^Ol:el=^Nl:" -- esr) -psterm-fast|NeWS psterm fast version (flaky ctrl chars), - OTbs, am, hs, km, ul, - cols#80, it#8, lines#34, - blink=^Ob, bold=^Od, clear=^L, csr=\005%p1%d;%p2%d;, - cub1=^T, cud1=^P, cuf1=^V, cup=\004%p1%d;%p2%d;, cuu1=^Y, - dch1=^F, dl1=^K, ed=^B, el=^C, flash=^Z, fsl=^Nl, home=^R, ht=^I, - il1=^A, ind=^W, is1=^N*, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, ll=^U, rc=^\, rev=^Or, ri=^X, rmcup=^Nt, rmir=^Ni, - rmso=^No, rmul=^Nu, sc=^], sgr0=^N*, smcup=^Ot, smir=^Oi, - smso=^Oo, smul=^Ou, tsl=^Ol, - -#### NeXT consoles -# -# Use `glasstty' for the Workspace application -# - -# From: Dave Wetzel 22 Dec 1995 -next|NeXT console, - am, xt, - cols#80, it#8, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H, - ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, - rmso=\E[4;1m, sgr0=\E[m, smso=\E[4;2m, -nextshell|NeXT Shell application, - am, - cols#80, - bel=^G, cr=^M, cub1=^H, cud1=^J, ht=^I, kbs=^H, kcub1=^H, - kcud1=^J, nel=^M^J, - -#### Sony NEWS workstations -# - -# (news-unk: this had :KB=news: -- esr) -news-unk|SONY NEWS vt100 emulator common entry, - OTbs, OTpt, am, xenl, - cols#80, - OTnl=^J, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, - cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M, - ed=\E[J, el=\E[K, home=\E[H, ht=^I, - if=/usr/local/share/tabset/vt100, il=\E[%p1%dL, il1=\E[L, - is2=\E[?7h\E[?1l\E[?3l\E7\E8, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOY, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, - kf8=\EOW, kf9=\EOX, rc=\E8, rev=\E[7m, ri=\EM, - rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r, sc=\E7, - sgr0=\E[m, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, -# -# (news-29: this had :TY=ascii: --esr) -news-29, - lines#29, use=news-unk, -# (news-29-euc: this had :TY=euc: --esr) -news-29-euc, - use=news-29, -# (news-29-sjis: this had :TY=sjis: --esr) -news-29-sjis, - use=news-29, -# -# (news-33: this had :TY=ascii: --esr) -news-33, - lines#33, use=news-unk, -# (news-33-euc: this had :TY=euc: --esr) -news-33-euc, - use=news-33, -# (news-33-sjis: this had :TY=sjis: --esr) -news-33-sjis, - use=news-33, -# -# (news-42: this had :TY=ascii: --esr) -news-42, - lines#42, use=news-unk, -# (news-42-euc: this had :TY=euc: --esr) -news-42-euc, - use=news-42, -# (news-42-sjis: this had :TY=sjis: --esr) -news-42-sjis, - use=news-42, -# -# NEWS-OS old termcap entry -# -# (news-old-unk: this had :KB=news:TY=sjis: --esr) -news-old-unk|SONY NEWS vt100 emulator common entry, - OTbs, OTpt, am, xenl, - cols#80, vt#3, - OTnl=^J, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[;H\E[2J, - cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K, - home=\E[H, ht=^I, if=/usr/local/share/tabset/vt100, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m, ri=\EM, - rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr0=\E[m, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, -# -# (nwp512: this had :DE=^H:, which I think means --esr) -nwp512|news|nwp514|news40|vt100-bm|old sony vt100 emulator 40 lines, - OTbs, - lines#40, - is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;40r\E8, - use=news-old-unk, -# -# (nwp512-a: this had :TY=ascii: and the alias vt100-bm --esr) -nwp512-a|nwp514-a|news-a|news42|news40-a|sony vt100 emulator 42 line, - lines#42, - is2=\E[?7h\E[?1l\E[?3l\E7\E[1;42r\E8, - use=news-old-unk, -# -# (nwp-512-o: this had :KB=nwp410:DE=^H: I interpret the latter as . --esr) -nwp512-o|nwp514-o|news-o|news40-o|vt100-bm-o|sony vt100 emulator 40 lines, - OTbs, - lines#40, - is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;40r\E8, - use=news-old-unk, -# -# (nwp513: this had :DE=^H: and the alias vt100-bm --esr) -nwp513|nwp518|nwe501|newscbm|news31|sony vt100 emulator 33 lines, - OTbs, - lines#31, - is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;31r\E8, - use=news-old-unk, -# -# (nwp513-a: this had :TY=ascii: and :DE=^H:, which I interpret as ; --esr) -# also the alias vt100-bm. -nwp513-a|nwp518-a|nwe501-a|nwp251-a|newscbm-a|news31-a|newscbm33|news33|old sony vt100 emulator 33 lines, - OTbs, - lines#33, - is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;33r\E8, - use=news-old-unk, -# -# (nwp513-o: had :DE=^H:, I think that's ; also the alias vt100-bm --esr) -nwp513-o|nwp518-o|nwe501-o|nwp251-o|newscbm-o|news31-o|old sony vt100 emulator 33 lines, - OTbs, - lines#31, - is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;31r\E8, - use=news-old-unk, -# -# (news28: this had :DE=^H:, I think that's , and :KB=nws1200: --esr) -news28|sony vt100 emulator 28 lines, - OTbs, - lines#28, - is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;28r\E8, - use=news-old-unk, -# -# (news29: this had :TY=ascii:KB=nws1200:\ --esr) -news29|news28-a|sony vt100 emulator 29 lines, - lines#29, - is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;29r\E8, - use=news-old-unk, -# -# (news511: this had :TY=sjis: --esr) -nwp511|nwp-511|nwp-511 vt100, - OTbs, OTpt, am, xenl, - cols#80, lines#24, - clear=\E[;H\E[2J$<20/>, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A$<2/>, dl1=\E[M, - ed=\E[J$<30/>, el=\E[K$<3/>, - flash=\E[?5h\0\0\0\0\0\0\0\0\0\0\0\0\0\E[?5l, - il1=\E[L, is2=\E[?5l\E[?1l\E>\E[?7h\E[?8h, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, - kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\E#W, khome=\E[H, - ri=\EM$<5/>, rmso=\E[m$<2/>, rmul=\E[m$<2/>, - rs2=\E7\E[r\E8\E[?5l\E[?1l\E>\E[?7h\E[?8h, - smso=\E[7m$<2/>, smul=\E[4m$<2/>, -# (news517: this had :TY=sjis:. --esr) -nwp517|nwp-517|nwp-517 vt200 80 cols 30 rows, - eslok, hs, - cols#80, lines#30, - OTi2=\E[2$~\n, dsl=\E[1$~, fsl=\E[0$}, - is2=\E7\E[r\E8\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - tsl=\E[1$}\E[;%df, use=vt200, -# (news517-w: this had :TY=sjis:. --esr) -nwp517-w|nwp-517-w|nwp-517 vt200 132 cols 50 rows, - eslok, hs, - cols#132, lines#50, - OTi2=\E[2$~\n, dsl=\E[1$~, fsl=\E[0$}, - is2=\E7\E[r\E8\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h, - tsl=\E[1$}\E[;%df, use=vt200, - -#### Common Desktop Environment -# - -# This ships with Sun's CDE in Solaris 2.5 -# Corrected Sun Aug 9 1998 by Alexander V. Lukyanov -dtterm|CDE desktop terminal, - am, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, lm#0, ncv@, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, - dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, - enacs=\E(B\E)0, flash=\E[?5h$<200>\E[?5l, home=\E[H, - ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, - ind=\ED, invis=\E[8m, is2=\E F\E>\E[?1l\E[?7h\E[?45l, - kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, - kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, - rmam=\E[?7l, rmir=\E[4l, rmso=\E[22;27m, rmul=\E[24m, - sc=\E7, - sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, - smso=\E[2;7m, smul=\E[4m, tbc=\E[3g, use=ecma+color, - -#### Non-Unix Consoles -# - -### EMX termcap.dat compatibility modes -# -# Keypad: Home=\0G Up=\0H PrPag=\0I -# ka1,kh kcuu1 kpp,ka3 -# -# Left=\0K 5=\0L Right=\0M -# kcub1 kb2 kcuf1 -# -# End=\0O Down=\0P NxPag=\0Q -# kc1,kend kcud1 kc3,knp -# -# Ins=\0R Del=\0S -# kich1 kdch1 -# -# On keyboard with 12 function keys, -# shifted f-keys: F13-F24 -# control f-keys: F25-F36 -# alt f-keys: F37-F48 -# The shift/control/alt keys do not modify each other, but alt overrides both, -# and control overrides shift. -# -# Also (possibly only EMX, so we don't put it in ansi.sys, etc): set the -# no_color_video to inform the application that standout(1), underline(2) -# reverse(4) and invisible(64) don't work with color. -emx-base|DOS special keys, - bce, bw, - it#8, ncv#71, - bel=^G, ka1=\0G, ka3=\0I, kb2=\0L, kbs=^H, kc1=\0O, kc3=\0Q, - kcbt=\0^O, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H, - kdch1=\0S, kend=\0O, kf1=\0;, kf10=\0D, kf11=\0\205, - kf12=\0\206, kf13=\0T, kf14=\0U, kf15=\0V, kf16=\0W, - kf17=\0X, kf18=\0Y, kf19=\0Z, kf2=\0<, kf20=\0[, kf21=\0\\, - kf22=\0], kf23=\0\207, kf24=\0\210, kf25=\0\^, kf26=\0_, - kf27=\0`, kf28=\0a, kf29=\0b, kf3=\0=, kf30=\0c, kf31=\0d, - kf32=\0e, kf33=\0f, kf34=\0g, kf35=\0\211, kf36=\0\212, - kf37=\0h, kf38=\0i, kf39=\0j, kf4=\0>, kf40=\0k, kf41=\0l, - kf42=\0m, kf43=\0n, kf44=\0o, kf45=\0p, kf46=\0q, - kf47=\0\213, kf48=\0\214, kf5=\0?, kf6=\0@, kf7=\0A, kf8=\0B, - kf9=\0C, khome=\0G, kich1=\0R, knp=\0Q, kpp=\0I, - use=ansi.sys, - -# Except for the "-emx" suffixes, these are as distributed with EMX 0.9b, -# a Unix-style environment used on OS/2. (Note that the suffix makes some -# names longer than 14 characters, the nominal maximum). -# -# Removed: rmacs=\E[10m, smacs=\E[11m, because OS/2 does not implement acs. -ansi-emx|ANSI.SYS color, - am, bce, eo, mir, msgr, xon, - colors#8, cols#80, it#8, lines#25, pairs#64, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[1;33;44m\E[H\E[J, cnorm=\E[?25h, cr=^M, cub1=^H, - cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - dch=\E[%p1%dp, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l, - home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=^J, - kb2=\E[G, kbs=^H, kf0=\0D, kll=\0O, kspd=^Z, nel=^M^J, - rev=\E[5;37;41m, rmir=\E[4l, rmpch=\E[10m, - rmso=\E[0;44m\E[1;33m, rmul=\E[0;44m\E[1;33m, rs1=\Ec, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr0=\E[0m\E[1;33;44m, smir=\E[4h, smpch=\E[11m, - smso=\E[0;31;47m, smul=\E[1;31;44m, tbc=\E[3g, u8=\E[?6c, - u9=\E[c, use=emx-base, -# nice colors for Emacs (white on blue, mode line white on cyan) -ansi-color-2-emx|ANSI.SYS color 2, - clear=\E[0;37;44m\E[H\E[J, rev=\E[1;37;46m, - rmso=\E[0;37;44m, rmul=\E[0;37;44m, rs1=\Ec, - setaf=\E[3%p1%dm, sgr0=\E[0;37;44m, smso=\E[1;37;46m, - smul=\E[1;36;44m, use=ansi-emx, -# nice colors for Emacs (white on black, mode line black on cyan) -ansi-color-3-emx|ANSI.SYS color 3, - clear=\E[0;37;40m\E[H\E[J, rev=\E[1;37;46m, - rmso=\E[0;37;40m, rmul=\E[0;37;40m, rs1=\Ec, - setaf=\E[3%p1%dm, sgr0=\E[0;10m, smso=\E[1;37;46m, - smul=\E[0;36;40m, use=ansi-emx, -mono-emx|stupid monochrome ansi terminal with only one kind of emphasis, - am, - cols#80, it#8, lines#24, - clear=\E[H\E[2J$<50>, cub1=\E[D, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H, - ht=^I, kb2=\E[G, kbs=^H, kcub1=\0K, kcud1=\0P, kcuf1=\0M, - kcuu1=\0H, kf0=\0D, kf1=\0;, kf2=\0<, kf3=\0=, kf4=\0>, - kf5=\0?, kf6=\0@, kf7=\0A, kf8=\0B, kf9=\0C, khome=\0G, - kich1=\0R, kll=\0O, knp=\0Q, kpp=\0I, nel=^M^J, rev=\E[7m, - sgr0=\E[0m, - -# Use this for cygwin32 (tested with beta 19.1) -# underline is colored bright magenta -# shifted kf1-kf12 are kf11-kf22 -cygwinB19|ansi emulation for cygwin32, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, - kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, - kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D, - kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, rmam@, smam@, - use=ansi.sys, - -# Use this for cygwin (tested with version 1.1.0). -# I've combined pcansi and linux. Some values of course were different and -# I've indicated which of these were and which I used. -# Cheers, earnie_boyd@yahoo.com -# several changes based on running with tack and comparing with older entry -TD -# more changes from csw: -# add cbt [backtab] -# remove eo [erase overstrike with blank] -# change clear was \E[H\E[J now \E[2J (faster?) -# remove cols -# remove lines -# remove ncv#3 [colors collide with highlights, bitmask] not applicable -# to MSDOS box? -# add cub [cursor back param] -# add cuf [cursor forward param] -# add cuu [cursor up param] -# add cud [cursor down param] -# add hs [has status line] -# add fsl [return from status line] -# add tsl [go to status line] -# add smacs [Start alt charset] (not sure if this works) -# add rmacs [End alt charset] (ditto) -# add smcup [enter_ca_mode] (save console; thanks Corinna) -# add rmcup [exit_ca_mode] (restore console; thanks Corinna) -# add kb2 [center of keypad] -# add u8 [user string 8] \E[?6c -# add el [clear to end of line] \E[K -# Notes: -# cnorm [make cursor normal] not implemented -# flash [flash] not implemented -# blink [blink] not implemented very usefully in cygwin? \E[5m -# dim [dim] not implemented very usefully in cygwin? \E[2m -# cub1 [cursor back 1] typically \E[D, but ^H is faster? -# kNXT [shifted next key] not implemented -# kPRV [shifted prev key] not implemented -# khome [home key] really is \E[1~ NOT \E[H -# tbc [clear tab stops] not implemented -# xenl [newline ignnored after 80 cols] messes up last line? Ehud Karni -# smpch [Start PC charset] is \E[11m, same as smacs -# rmpch [End PC charset] is \E[10m, same as rmacs -# mir [move in insert mode] fails in tack? -# bce [back color erase] causes problems with change background color? -# cvvis [make cursor very visible] causes a stackdump when testing with -# testcurs using the output option? \E[?25h\E[?8c -# civis [make cursor invisible] causes everything to stackdump? \E[?25l\E[?1c -# ech [erase characters param] broken \E[%p1%dX -# kcbt [back-tab key] not implemented in cygwin? \E[Z -cygwin|ansi emulation for Cygwin, - am, hs, in, msgr, xon, - colors#8, it#8, pairs#64, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - bel=^G, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, fsl=^G, - home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m, - kb2=\E[G, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[32~, kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, - kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, - knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J, op=\E[39;49m, - rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E[10m, - rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmpch=\E[10m, - rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, - sgr0=\E[0;10m, smacs=\E11m, smcup=\E7\E[?47h, smir=\E[4h, - smpch=\E[11m, smso=\E[7m, smul=\E[4m, tsl=\E];, - u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, u9=\E[c, - vpa=\E[%i%p1%dd, - -# I've supplied this so that you can help test new values and add other -# features. Cheers, earnie_boyd@yahoo.com. -# -# Some features are from pcansi. The op value is from linux. Function-keys -# are from linux. These have been tested not to cause problems. xenl was in -# this list, but DOES cause problems so it has been removed -cygwinDBG|Debug Version for Cygwin, - am, eo, mir, msgr, xon, - colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, - cnorm=\E[?25h, cr=^M, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - flash=\E[?5h\E[?5l$<200/>, home=\E[H, hpa=\E[%i%p1%dG, - ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, - il1=\E[L, ind=^J, invis=\E[8m, kNXT=\E[6$, kPRV=\E[5$, - kb2=\E[G, kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[32~, kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, - kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, - knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J, op=\E[39;49m, - rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E[10m, rmir=\E[4l, - rmso=\E[m, rmul=\E[m, rs1=\Ec\E]R, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m, - sgr0=\E[0;10m, smacs=\E[11m, smir=\E[4h, smso=\E[7m, - smul=\E[4m, tbc=\E[2g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, - u9=\E[c, vpa=\E[%i%p1%dd, - -# Key definitions: -# The encodings for unshifted arrow keys, F1-F12, Home, Insert, etc. match the -# encodings used by other x86 environments. All others are invented for DJGPP. -# Oddly enough, while several combinations of modifiers are tabulated, there is -# none for shifted cursor keys. -# -# F1 \E[[A -# F2 \E[[B -# F3 \E[[C -# F4 \E[[D -# F5 \E[[E -# F6 \E[17~ -# F7 \E[18~ -# F8 \E[19~ -# F9 \E[20~ -# F10 \E[21~ -# F11 \E[23~ -# F12 \E[24~ -# -# Delete \E[3~ -# Down Arrow \E[B -# End \E[4~ -# Home \E[1~ -# Insert \E[2~ -# Left Arrow \E[D -# Page Down \E[6~ -# Page Up \E[5~ -# Right Arrow \E[C -# Up Arrow \E[A -# -# Shift-F1 \E[25~ -# Shift-F2 \E[26~ -# Shift-F3 \E[27~ -# Shift-F4 \E[28~ -# Shift-F5 \E[29~ -# Shift-F6 \E[30~ -# Shift-F7 \E[31~ -# Shift-F8 \E[32~ -# Shift-F9 \E[33~ -# Shift-F10 \E[34~ -# Shift-F11 \E[35~ -# Shift-F12 \E[36~ -# -# Ctrl-F1 \E[47~ -# Ctrl-F2 \E[48~ -# Ctrl-F3 \E[49~ -# Ctrl-F4 \E[50~ -# Ctrl-F5 \E[51~ -# Ctrl-F6 \E[52~ -# Ctrl-F7 \E[53~ -# Ctrl-F8 \E[54~ -# Ctrl-F9 \E[55~ -# Ctrl-F10 \E[56~ -# Ctrl-F11 \E[57~ -# Ctrl-F12 \E[58~ -# -# Ctrl-Delete \E[43~ -# Ctrl-Down Arrow \E[38~ -# Ctrl-End \E[44~ -# Ctrl-Home \E[41~ -# Ctrl-Insert \E[42~ -# Ctrl-Left Arrow \E[39~ -# Ctrl-Page Down \E[46~ -# Ctrl-Page Up \E[45~ -# Ctrl-Right Arrow \E[40~ -# Ctrl-Up Arrow \E[37~ -# -# Alt-F1 \E[59~ -# Alt-F2 \E[60~ -# Alt-F3 \E[61~ -# Alt-F4 \E[62~ -# Alt-F5 \E[63~ -# Alt-F6 \E[64~ -# Alt-F7 \E[65~ -# Alt-F8 \E[66~ -# Alt-F9 \E[67~ -# Alt-F10 \E[68~ -# Alt-F11 \E[79~ -# Alt-F12 \E[80~ -# -# Alt-Delete \E[65~ -# Alt-Down Arrow \E[60~ -# Alt-End \E[66~ -# Alt-Home \E[41~ -# Alt-Insert \E[64~ -# Alt-Left Arrow \E[61~ -# Alt-Page Down \E[68~ -# Alt-Page Up \E[67~ -# Alt-Right Arrow \E[62~ -# Alt-Up Arrow \E[59~ -# -# Also: -# Alt-A \E[82~ -# Alt-B \E[82~ -# Alt-C \E[83~ -# Alt-D \E[84~ -# Alt-E \E[85~ -# Alt-F \E[86~ -# Alt-G \E[87~ -# Alt-H \E[88~ -# Alt-I \E[89~ -# Alt-J \E[90~ -# Alt-K \E[91~ -# Alt-L \E[92~ -# Alt-M \E[93~ -# Alt-N \E[94~ -# Alt-O \E[95~ -# Alt-P \E[96~ -# Alt-Q \E[97~ -# Alt-R \E[98~ -# Alt-S \E[99~ -# Alt-T \E[100~ -# Alt-U \E[101~ -# Alt-V \E[102~ -# Alt-W \E[103~ -# Alt-X \E[104~ -# Alt-Y \E[105~ -# Alt-Z \E[106~ -djgpp|ansi emulation for DJGPP alpha, - am, bce, msgr, xhp, xon, xt, - colors#8, it#8, pairs#64, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[1v, - clear=\E[H\E[J, cnorm=\E[v, cr=^M, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[2v, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, - home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S, - indn=\E[%p1%dS, invis=\E[8m, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, - kend=\E[4~, kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, nel=^M^J, - op=\E[37;40m, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, rmso=\E[m, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%e;25%;%?%p6%t;1%;%?%p7%t;8%;m, - sgr0=\E[m, smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd, - -djgpp203|Entry for DJGPP 2.03, - OTbs, am, - cols#80, it#8, lines#25, - bel=^G, cr=^M, cub1=^H, cud1=^J, ht=^I, ind=^J, kbs=^H, kcub1=^H, - kcud1=^J, nel=^M^J, - -djgpp204|Entry for DJGPP 2.04, - OTbs, am, AX, - colors#8, cols#80, it#8, lines#25, ncv#3, pairs#64, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[1v, - clear=\E[H\E[2J, cnorm=\E[v, cr=^M, cub=\E[%p1%dD, - cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, cvvis=\E[2v, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, - home=\E[H, ht=^I, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, - il1=\E[L, ind=\E[S, indn=\E[%p1%dS, invis=\E[8m, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kf0=\E[21~, kf1=\E[[A, kf10=\E[21~, kf2=\E[[B, - kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, - kll=\E[4~, knp=\E[6~, kpp=\E[5~, nel=^M^J, rev=\E[7m, - ri=\E[T, rin=\E[%p1%dT, rmso=\E[m, setab=\E[4%p1%dm, - setaf=\E[3%p1%dm, sgr0=\E[m, smso=\E[7m, smul=\E[4m, - -# This is tested using U/Win's telnet. Scrolling is omitted because it is -# buggy. Another odd bug appears when displaying "~" in alternate character -# set (the emulator spits out error messages). Compare with att6386 -TD -uwin|U/Win 3.2 console, - am, eo, in, msgr, xenl, xon, - colors#8, it#8, ncv#58, pairs#64, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, cub1=^H, cud1=^J, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ech=\E[%p1%dX, - ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, ht=^I, hts=\EH, - ich=\E[%p1%d@, ich1=\E[@, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, kend=\E[Y, kf1=\EOP, - kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, - khome=\E[H, kich1=\E[@, nel=^M^J, op=\E[39;49m, rc=\E8, - rev=\E[7m, rmacs=\E[10m, rmir=\E[4l, rmpch=\E[10m, - rmso=\E[27m, rmul=\E[m, rs1=\Ec\E]R, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0;10m, - smacs=\E[11m, smir=\E[4h, smpch=\E[11m, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, - -# This entry fits the Windows NT console when the _POSIX_TERM environment -# variable is set to 'on'. While the Windows NT POSIX console is seldom used, -# the Telnet client supplied with both the Windows for WorkGroup 3.11 TCP/IP -# stack and the Win32 (i.e., Windows 95 and Windows NT 3.1 or later) operating -# systems is not, and (surprise!) they match very well. -# -# See: MS Knowledge Base item Q108581, dated 13-MAY-1997, titled "Setting Up -# VI POSIX Editor for Windows NT 3.1". True to Microsoft form, not only -# are the installation instructions a pile of mind-numbing bureaucratese, -# but the termcap entry is actually broken and unusable as given; the :do: -# capability is misspelled "d". -# -# To use this, you need to a bunch of environment variables: -# -# SET _POSIX_TERM=on -# SET TERM=ansi -# SET TERMCAP=location of termcap file in POSIX file format -# which is case-sensitive. -# e.g. SET TERMCAP=//D/RESKIT35/posix/termcap -# SET TMP=//C/TEMP -# -# Important note: setting the TMP environment variable in POSIX style renders -# it incompatible with a lot of other applications, including Visual C++. So -# you should have a separate command window just for vi. All the other -# variables may be permanently set in the Control Panel\System applet. -# -# You can find out more about the restrictions of this facility at -# . -# -# From: Federico Bianchi , 15 Jan 1997 -ansi-nt|psx_ansi|Microsoft Windows NT console POSIX ANSI mode, - am, bw, msgr, - cols#80, it#8, lines#25, - bel=^G, clear=\E[2J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K, - home=\E[H, ht=^I, ind=\E[S, kbs=^H, kcub1=\E[D, kcud1=\E[V, - kcuf1=\E[C, kcuu1=\E[A, nel=\r\E[S, rc=\E[u, rev=\E[7m, - ri=\E[T, rmso=\E[m, sc=\E[s, sgr0=\E[0m, smso=\E[7m, -# From: jew@venus.sunquest.com -# Date: 19 Feb 93 23:41:07 GMT -# Here's a combination of ansi and vt100 termcap -# entries that works nearly perfectly for me -# (Gateway 2000 Handbook and Microsoft Works 3.0): -pcmw|PC running Microsoft Works, - am, xenl, - cols#80, it#8, lines#24, vt#3, - bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>, - clear=\E[;H\E[2J$<50/>, cr=^M, cub1=^H, cud1=^J, - cuf1=\E[C$<2/>, cup=\E[%i%p1%d;%p2%dH$<5/>, - cuu1=\E[A$<2/>, ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H, - ht=^I, hts=\EH$<2/>, ind=\ED$<5/>, is2=\E[1;24r\E[24;1H, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\r\ED$<5/>, - rc=\E8, rev=\E[7m$<2/>, rf=/usr/share/lib/tabset/vt100, - ri=\EM$<5/>, rmso=\E[m$<2/>, rmul=\E[m$<2/>, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr0=\E[m$<2/>, smso=\E[7m$<2/>, smul=\E[4m$<2/>, - tbc=\E[3g$<2/>, - -# From: Federico Bianchi -# This is the entry for the OpenNT terminal. -# The ntconsole name is for backward compatability. -# This is for OpenNT 2.0 and later. -# Later OpenNT was renamed to Interix. -# -# Presently it is distributed by Microsoft as Services For Unix (SFU). -# The 3.5 beta contains ncurses 4.2 (that is header files and executables, -# the documentation dates from 1.9.9e) -TD - -interix|opennt|opennt-25|ntconsole|ntconsole-25|OpenNT-term compatible with color, - am, bw, msgr, - colors#8, cols#80, lines#25, ncv#3, pairs#64, - acsc=`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~q\304r\362s_t\303u\264v\301w\302x\263y\371z\372{\373|\374}\375~\376.\031-\030\,\021+^P0\333p\304r\304y\363z\362{\343|\330}\234, - bel=^G, bold=\E[1m, cbt=\E[Z, clear=\E[2J, cub=\E[%p1%dD, - cub1=\E[D, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, - home=\E[H, ht=^I, il=\E[%p1%dL, il1=\E[L, ind=\E[S, - indn=\E[%p1%dS, kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[M, kend=\E[U, kf0=\EFA, - kf1=\EF1, kf10=\EFA, kf11=\EFB, kf12=\EFC, kf13=\EFD, - kf14=\EFE, kf15=\EFF, kf16=\EFG, kf17=\EFH, kf18=\EFI, - kf19=\EFJ, kf2=\EF2, kf20=\EFK, kf21=\EFL, kf22=\EFM, - kf23=\EFN, kf24=\EFO, kf25=\EFP, kf26=\EFQ, kf27=\EFR, - kf28=\EFS, kf29=\EFT, kf3=\EF3, kf30=\EFU, kf31=\EFV, - kf32=\EFW, kf33=\EFX, kf34=\EFY, kf35=\EFZ, kf36=\EFa, - kf37=\EFb, kf38=\EFc, kf39=\EFd, kf4=\EF4, kf40=\EFe, - kf41=\EFf, kf42=\EFg, kf43=\EFh, kf44=\EFi, kf45=\EFj, - kf46=\EFk, kf47=\EFm, kf48=\EFn, kf49=\EFo, kf5=\EF5, - kf50=\EFp, kf51=\EFq, kf52=\EFr, kf53=\EFs, kf54=\EFt, - kf55=\EFu, kf56=\EFv, kf57=\EFw, kf58=\EFx, kf59=\EFy, - kf6=\EF6, kf60=\EFz, kf61=\EF+, kf62=\EF-, - kf63=\EF\014 kf64=\EF$, kf7=\EF7, kf8=\EF8, kf9=\EF9, - kich1=\E[L, kll=\E[U, knp=\E[T, kpp=\E[S, ll=\E[U, nel=^M^J, - op=\E[m, rc=\E[u, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, - rmcup=\E[2b\E[u\r\E[K, rmso=\E[m, rmul=\E[m, rs1=\Ec, - sc=\E[s, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - setb=\E[%p1%{40}%+%dm, setf=\E[%p1%{30}%+%dm, - sgr0=\E[0m, smcup=\E[s\E[1b, smso=\E[1m, smul=\E[4m, - -opennt-35|ntconsole-35|OpenNT-term35 compatible with color, - lines#35, use=opennt, - -opennt-50|ntconsole-50|OpenNT-term50 compatible with color, - lines#50, use=opennt, - -opennt-60|ntconsole-60|OpenNT-term60 compatible with color, - lines#60, use=opennt, - -opennt-100|ntconsole-100|OpenNT-term100 compatible with color, - lines#100, use=opennt, - -# OpenNT wide terminals -opennt-w|opennt-25-w|ntconsole-w|ntconsole-25-w|OpenNT-term-w compat with color, - cols#125, use=opennt, - -opennt-35-w|ntconsole-35-w|OpenNT-term35-w compatible with color, - lines#35, use=opennt-w, - -opennt-50-w|ntconsole-50-w|OpenNT-term50-w compatible with color, - lines#50, use=opennt-w, - -opennt-60-w|ntconsole-60-w|OpenNT-term60-w compatible with color, - lines#60, use=opennt-w, - -opennt-w-vt|opennt-25-w-vt|ntconsole-w-vt|ntconsole-25-w-vt|OpenNT-term-w-vt compat with color, - cols#132, use=opennt, - -# OpenNT terminals with no smcup/rmcup (names match termcap entries) -interix-nti|opennt-nti|opennt-25-nti|ntconsole-25-nti|OpenNT-nti compatible with color, - rmcup@, smcup@, use=opennt, - -opennt-35-nti|ntconsole-35-nti|OpenNT-term35-nti compatible with color, - lines#35, use=opennt-nti, - -opennt-50-nti|ntconsole-50-nti|OpenNT-term50-nti compatible with color, - lines#50, use=opennt-nti, - -opennt-60-nti|ntconsole-60-nti|OpenNT-term60-nti compatible with color, - lines#60, use=opennt-nti, - -opennt-100-nti|ntconsole-100-nti|OpenNT-term100-nti compatible with color, - lines#100, use=opennt-nti, - -######## COMMON TERMINAL TYPES -# -# This section describes terminal classes and maker brands that are still -# quite common, but have proprietary command sets not blessed by ANSI. -# - -#### Altos -# -# Altos made a moderately successful line of UNIX boxes. In 1990 they were -# bought out by Acer, a major Taiwanese manufacturer of PC-clones. -# Acer has a web site at http://www.acer.com. -# -# Altos descriptions from Ted Mittelstaedt 4 Sep 1993 -# His comments suggest they were shipped with the system. -# - -# (altos2: had extension capabilities -# :c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\ -# :c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\ -# :c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\ -# :cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r: -# :XU=^Aq\r:XD=^Ar\r:XR=^As\r:XL=^At\r:\ -# :YU=^AQ\r:YD=^AR\r:YR=^AS\r:YL=^AT\r:\ -# :HL=^AP\r:SP=\E[i:\ -# :IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:\ -# :LO=\E[0q:LC=\E[5q:LL=\E[6q:\ -# Comparison with the k* capabilities makes it obvious that the c* things are -# shift keys. I have renamed them to keys 32 and up accordingly. Also, -# :sr: was given as a boolean-- esr) -altos2|alt2|altos-2|altos II, - cols#80, it#8, lines#24, xmc#0, - clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=\E[1B, cuf1=\E[1C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[1A, dch1=\E[P, dl1=\E[M, - ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, - if=/usr/local/share/tabset/vt100, il1=\E[L, ind=^J, - is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kDL=^Am\r, - kEOL=^An\r, kbs=^H, kcbt=^AK\r, kclr=^AL\r, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=^AM\r, kel=^AN\r, - kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf32=^A`\r, - kf33=^Aa\r, kf34=^Ab\r, kf35=^Ac\r, kf36=^Ad\r, kf37=^Ae\r, - kf38=^Af\r, kf39=^Ag\r, kf4=^AC\r, kf40=^Ah\r, kf41=^Ai\r, - kf42=^Aj\r, kf43=^Ak\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, khome=\E[f, kil1=^AJ\r, kind=^AO\r, - nel=^M^J, rmam=\E[?7l, rmso=\E[m, rmul=\E[m, sgr0=\E[m, - smam=\E[?7h, smso=\E[7m, smul=\E[4m, -# (altos3: had extension capabilities -# :c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\ -# :c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\ -# :c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\ -# :cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r: -# :XU=^Aq\r:XD=^Ar\r:XR=^As\r:XL=^At\r:\ -# :HL=^AP\r:SP=\E[i:\ -# :IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:\ -altos3|altos5|alt3|alt5|altos-3|altos-5|altos III or V, - blink=\E[5p, ri=\EM, sgr0=\E[p, use=altos2, -altos4|alt4|altos-4|altos IV, - use=wy50, -# (altos7: had extension capabilities: -# :GG#0:GI=\EH8:GF=\EH7:\ -# :c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\ -# :c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\ -# :c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\ -# :cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r: -# Comparison with the k* capabilities makes it obvious that the c* things are -# shift keys. I have renamed them to keys 32 and up accordingly. I have -# also made this entry relative to adm12 in order to give it an . The -# imported by use=adm+sgr may work, let me know. -- esr) -altos7|alt7|altos VII, - am, mir, - cols#80, lines#24, xmc#0, - acsc=j5k3l2m1n8q\:t4u9v=w0x6, blink=\EG2, bold=\EGt, - clear=\E+^^, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dim=\EGp, dl1=\ER, ed=\EY, el=\ET, home=^^, ht=^I, il1=\EE, - ind=^J, invis=\EG1, - is2=\E`\:\Ee(\EO\Ee6\Ec41\E~4\Ec21\Eu\E~2, kDL=^Am\r, - kEOL=^An\r, kbs=^H, kcbt=^AK\r, kclr=^AL\r, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=^AM\r, kel=^AN\r, - kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf32=^A`\r, - kf33=^Aa\r, kf34=^Ab\r, kf35=^Ac\r, kf36=^Ad\r, kf37=^Ae\r, - kf38=^Af\r, kf39=^Ag\r, kf4=^AC\r, kf40=^Ah\r, kf41=^Ai\r, - kf42=^Aj\r, kf43=^Ak\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, khome=^^, kil1=^AJ\r, kind=^AO\r, - knp=\EK, kpp=\EJ, mc4=\EJ, mc5=\Ed#, nel=^M^J, ri=\Ej, - rmir=\Er, smir=\Eq, use=adm+sgr, -altos7pc|alt7pc|altos PC VII, - kend=\ET, use=altos7, - -#### Hewlett-Packard (hp) -# -# Hewlett-Packard -# 8000 Foothills Blvd -# Roseville, CA 95747 -# Vox: 1-(916)-785-4363 (Technical response line for VDTs) -# 1-(800)-633-3600 (General customer support) -# -# -# As of March 1998, HP no longer has any terminals in production. -# The 700 series (22, 32, 41, 44, 92, 94, 96, 98) is still being -# supported (they still have parts). So are the 2392a and 2394a. -# See the WORKSTATION CONSOLES section for the 700s. -# - -# Generic HP terminal - this should (hopefully) work on any HP terminal. -hpgeneric|hp|hewlett-packard generic terminal, - OTbs, OTpt, am, da, db, mir, xhp, - cols#80, lines#24, lm#0, vt#6, - bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\E&a%p2%dc%p1%dY$<6>, cuu1=\EA, dch1=\EP, dl1=\EM, - ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, hts=\E1, il1=\EL, - ind=^J, kbs=^H, kcbt=\Ei, rmir=\ER, rmso=\E&d@, rmul=\E&d@, - sgr0=\E&d@, smir=\EQ, smso=\E&dJ, smul=\E&dD, tbc=\E3, - vpa=\E&a%p1%dY, - -hp110|hewlett-packard model 110 portable, - lines#16, use=hpgeneric, - -hp+pfk+cr|hp function keys with CR, - kf1=\Ep\r, kf2=\Eq\r, kf3=\Er\r, kf4=\Es\r, kf5=\Et\r, - kf6=\Eu\r, kf7=\Ev\r, kf8=\Ew\r, - -hp+pfk-cr|hp function keys w/o CR, - kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, kf6=\Eu, kf7=\Ev, - kf8=\Ew, - -# The hp2621s use the same keys for the arrows and function keys, -# but not separate escape sequences. These definitions allow the -# user to use those keys as arrow keys rather than as function -# keys. -hp+pfk+arrows|hp alternate arrow definitions, - kcub1=\Eu\r, kcud1=\Ew\r, kcuf1=\Ev\r, kcuu1=\Et\r, kf1@, - kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, khome=\Ep\r, kind=\Er\r, - kll=\Eq\r, kri=\Es\r, - -hp+arrows|hp arrow definitions, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\Eh, - kind=\ES, kll=\EF, kri=\ET, - -# Generic stuff from the HP 262x series -# -hp262x|HP 262x terminals, - xhp, - blink=\E&dA, dch1=\EP$<2>, ed=\EJ, ht=\011$<2>, ind=\ES, - invis=\E&dS, ip=$<2>, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kdch1=\EP, kdl1=\EM, ked=\EJ, kel=\EK, khome=\Eh, - kich1=\EQ, kil1=\EL, kind=\ES, knp=\EU, kpp=\EV, kri=\ET, - krmir=\ER, rev=\E&dB, rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@, - sgr=\E&d%{64}%?%p1%t%{66}%|%;%?%p2%t%{68}%|%;%?%p3%t%{66}%|%;%?%p4%t%{65}%|%;%c, - sgr0=\E&d@, smkx=\E&s1A, smso=\E&dB, smul=\E&dD, - -# Note: no on HPs since that homes to top of memory, not screen. -# Due to severe 2621 braindamage, the only way to get the arrow keys to -# transmit anything at all is to turn on the function key labels -# with , and even then the user has to hold down shift! -# The default 2621 turns off the labels except when it has to to -# enable the function keys. If your installation prefers labels -# on all the time, or off all the time (at the "expense" of the -# function keys), use 2621-nl or 2621-wl. -# -# Note: there are newer ROMs for 2621's that allow you to set -# strap A so the regular arrow keys xmit \EA, etc, as with the -# 2645. However, even with this strap set, the terminal stops -# xmitting if you reset it, until you unset and reset the strap! -# Since there is no way to set/unset the strap with an escape -# sequence, we don't use it in the default. -# If you like, you can use 2621-ba (brain-damaged arrow keys). -hp2621-ba|2621 w/new rom and strap A set, - rmkx@, smkx@, use=hp+arrows, use=hp2621, - -# hp2621 with function labels. Most of the time they are off, -# but inside vi, the function key labels appear. You have to -# hold down shift to get them to xmit. -hp2621|hp2621a|hp2621A|2621|2621a|2621A|hp2621-wl|2621-wl|hp 2621 w/labels, - is2=\E&jA\r, rmkx=\E&jA, use=hp2621-fl, -hp2621-fl|hp 2621, - xhp@, xon, - pb#19200, - cbt=\Ei, cup=\E&a%p2%dc%p1%dY, dch1=\EP$<2>, ht=\011$<2>, - ip=$<2>, is2=\E&j@\r, rmkx=\E&j@, rmso=\E&d@, rmul=\E&d@, - sgr0=\E&d@, smkx=\E&jB, smso=\E&dD, smul=\E&dD, - use=hp+pfk+cr, use=hpgeneric, - -# To use hp2621p printer, setenv TERM=2621p, PRINTER=2612p -hp2621p|hp 2621 with printer, - mc4=\E&p13C, mc5=\E&p11C, use=hp2621, - -hp2621p-a|hp2621p with fn as arrows, - use=hp+pfk+arrows, use=hp2621p, - -# hp2621 with k45 keyboard -hp2621-k45|hp2621k45|k45|hp 2621 with 45 keyboard, - kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - khome=\Eh, rmkx=\E&s0A, smkx=\E&s1A, use=hp2621, - -# 2621 using all 48 lines of memory, only 24 visible at any time. -hp2621-48|48 line 2621, - lines#48, - cup=\E&a%p2%dc%p1%dR, home=\EH, vpa=\E&a%p1%dR, - use=hp2621, - -# 2621 with no labels ever. Also prevents vi delays on escape. -hp2621-nl|hp 2621 with no labels, - kcub1@, kcud1@, kcuf1@, kcuu1@, khome@, rmkx@, smkx@, - use=hp2621-fl, - -# Needed for UCB ARPAVAX console, since lsi-11 expands tabs -# (wrong). -# -hp2621-nt|hp 2621 w/no tabs, - ht@, use=hp2621, - -# Hp 2624 B with 4 or 10 pages of memory. -# -# Some assumptions are made with this entry. These settings are -# NOT set up by the initialization strings. -# -# Port Configuration -# RecvPace=Xon/Xoff -# XmitPace=Xon/Xoff -# StripNulDel=Yes -# -# Terminal Configuration -# InhHndShk=Yes -# InhDC2=Yes -# XmitFnctn(A)=No -# InhEolWrp=No -# -# Note: the 2624 DOES have a true , believe it or not! -# -# The 2624 has an "error line" to which messages can be sent. -# This is CLOSE to what is expected for a "status line". However, -# after a message is sent to the "error line", the next carriage -# return is EATEN and the "error line" is turned back off again! -# So I guess we can't define , , , , , . -# -# This entry supports emacs (and any other program that uses raw -# mode) at 4800 baud and less. I couldn't get the padding right -# for 9600. -# -# (hp2624: replaced NUL sequences in flash with mandatory pauses -- esr) -hp2624|hp2624a|hp2624b|hp2624b-4p|Hewlett Packard 2624 B, - da, db, - lm#96, - flash=\E&w13F$<66/>\E&w12F$<66/>\E&w13F$<66/>\E&w12F, - use=hp+labels, use=scrhp, - -# This hp2626 entry does not use any of the fancy windowing stuff -# of the 2626. -# -# Indeed, terminfo does not yet handle such stuff. Since changing -# any window clears memory, it is probably not possible to use -# this for screen opt. -# -# ed is incredibly slow most of the time - I am guessing at the -# exact padding. Since the terminal uses xoff/xon this is intended -# only for cost computation, so that the terminal will prefer el -# or even dl1 which is probably faster! -# -# \ED\EJ\EC hack for ed from Ed Bradford - apparently ed is only -# extra slow on the last line of the window. -# -# The padding probably should be changed. -# -hp2626|hp2626a|hp2626p|hp 2626, - da, db, - lm#0, pb#19200, - ed=\ED\EJ$<500>\EC, indn=\E&r%p1%dD, ip=$<4>, - is2=\E&j@\r, rin=\E&r%p1%dU, use=hp+pfk+cr, - use=hp+labels, use=scrhp, - -# This entry is for sysline. It allocates a 23 line window with -# a 115 line workspace for regular use, and a 1 line window for -# the status line. -# -# This assumes port 2 is being used. -# Turn off horizontal line, Create ws #1 with 115 lines, -# Create ws #2 with 1 line, Create window #1 lines 1-23, -# Create window #2 lines 24-24, Attach cursor to workspace #1. -# Note that this clears the tabs so it must be done by tset before -# it sets the tabs. -# -hp2626-s|hp 2626 using only 23 lines, - eslok, hs, - lines#23, - fsl=\E&d@\E&w7f2p1I\E&w4f1I, - is1=\E&q3t0{0H \E&w0f115n1I \E&w0f1n2I \E&w2f1i0d0u22l0S \E&w2f2i0d23u23l0S \E&w7f2p1I \r, - tsl=\E&w7f2p2I\E&w4f2I\r\EK\E&a%p1%dC, use=hp2626, -# Force terminal back to 24 lines after being 23. -hp2626-ns|hp 2626 using all 24 lines, - is1=\E&q3t0{0H \E&w0f118n1I \E&w0f1n2I \E&w2f1i0d0u23l0S \E&w3f2I \E&w7f2p1I \r, - use=hp2626, -# Various entries useful for small windows on 2626. -hp2626-12|hewlett-packard 2626 12 lines, - lines#12, use=hp2626, -hp2626-12x40|hewlett-packard 2626 12 lines 40 columns, - cols#40, lines#12, use=hp2626, -hp2626-x40|hewlett-packard 2626 40 columns, - cols#40, use=hp2626, -hp2626-12-s|hewlett-packard 2626 11 lines plus status, - lines#11, use=hp2626-s, - -# -# hp2627 color tubes from University of Wisconsin -# -hp2627a-rev|hp 2627 with reverse video colors, - cr=^M, cud1=^J, ht=^I, ind=^J, - is2=\E&v0m1a0b0c1x1y1z1i0a0b1c1x1y1z0i0S\E&j@\r\E3\r, - kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, rmul=\E&v0S\E&d@, - smul=\E&dD\E&v1S, use=hp2621-nl, -hp2627a|hp 2627 color terminal with no labels, - cr=^M, cud1=^J, ht=^I, ind=^J, - is2=\E&v0m1a1b0c1i0a1b1c2i1a0b0c0i0S\E&j@\r\E3\r, - kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, rmso=\E&v0S, - rmul=\E&v0S\E&d@, smso=\E&v2S, smul=\E&dD\E&v1S, - use=hp2621-nl, -hp2627c|hp 2627 color (cyan) terminal with no labels, - cr=^M, cud1=^J, ht=^I, ind=^J, - is2=\E&v0m1a0b0c2i1a1b0c1i0a1b1c0i0S\E&j@\r\E3\r, - kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, use=hp2627a, - -# hp2640a doesn't have the Y cursor addressing feature, and C is -# memory relative instead of screen relative, as we need. -# -hp2640a|hp 2640a, - cup@, rmkx@, smkx@, use=hp2645, - -hp2640b|hp2644a|hp 264x series, - rmkx@, smkx@, use=hp2645, - -# (hp2641a: removed unknown :gu: -- esr) -hp2641a|hp2645a|hp2647a|HP 264?A series BRL entry, - am, da, db, mir, xhp, - cols#80, lines#24, - bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\E&a%p2%2dc%p1%2dY, cuu1=\EA, dch1=\EP, dl1=\EM, - ed=\EJ, el=\EK, hpa=\E&a%p1%2dC, ht=^I, - if=/usr/local/share/tabset/std, il1=\EL, ind=^J, - is2=\EE$<500/>, kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, - rmir=\ER, rmso=\E&d@, smir=\EQ, smso=\E&dB, - vpa=\E&a%p1%2dY, - -# This terminal should be used at 4800 baud or less. It needs padding for -# plain characters at 9600, I guessed at an appropriate cr delay. It really -# wants ^E/^F handshaking, but that doesn't work well even if you write -# software to support it. -hp2645|hp45|HP 2645 series, - pb#9600, - blink=\E&dA, cr=\r$<20>, dim=\E&dH, kctab=\E2, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\EP, kdl1=\EM, - ked=\EJ, kel=\EK, khome=\Eh, khts=\E1, kich1=\EQ, kil1=\EL, - kind=\ES, knp=\EU, kpp=\EV, kri=\ET, krmir=\ER, rev=\E&dB, - rmkx=\E&s0A, - sgr=\E&d%{64}%?%p1%t%{66}%|%;%?%p2%t%{68}%|%;%?%p3%t%{66}%|%;%?%p4%t%{65}%|%;%?%p5%t%{72}%|%;%?%p6%t%{66}%|%;%c, - sgr0=\E&d@, smkx=\E&s1A, smul=\E&dD, use=hpgeneric, -# You should use this terminal at 4800 baud or less. -hp2648|hp2648a|HP 2648a graphics terminal, - clear=\EH\EJ$<50>, cup=\E&a%p2%dc%p1%dY$<20>, - dch1=\EP$<7>, ip=$<5>, use=hp2645, - -# The HP 150 terminal is a fairly vanilla HP terminal, with the -# clreol standout problem. It also has graphics capabilities and -# a touch screen, which we don't describe here. -hp150|hewlett packard Model 150, - OTbs, use=hp2622, - -# HP 2382a terminals, "the little ones." They don't have any -# alternate character set support and sending out ^N/^O will -# leave the screen blank. -hp2382a|hp2382|hewlett packard 2382a, - da, db, - lh#1, lm#48, - acsc@, - pln=\E&f0a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s, - rmacs@, - sgr=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c, - sgr0=\E&d@, smacs@, use=hp+labels, use=scrhp, - -hp2621-a|hp2621a-a|hp2621 with fn as arrows, - use=hp+pfk+arrows, use=hp2621-fl, - -# newer hewlett packard terminals - -newhpkeyboard|generic entry for HP extended keyboard, - kbs=^H, kcbt=\Ei, kclr=\EJ, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kdch1=\EP, kdl1=\EM, ked=\EJ, kel=\EK, khome=\Eh, - kich1=\EQ, kil1=\EL, kind=\ET, kll=\EF, knp=\EU, kpp=\EV, - kri=\ES, krmir=\ER, rmkx=\E&s0A, smkx=\E&s1A, - use=hp+pfk-cr, - -newhp|generic entry for new hewlett packard terminals, - am, bw, mir, xhp, xon, - cols#80, lines#24, pb#4800, - acsc=2[3@4>5I9(\:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X\:Y+Z*dHjGkTlRmFn/q\,t5u6v8w7x., - bel=^G, blink=\E&dA, bold=\E&dF, cbt=\Ei, cr=^M, cub1=^H, - cud1=^J, cuf1=\EC, cuu1=\EA, dch1=\EP$<2>, dim=\E&dH, - dl1=\EM, ed=\EJ, el=\EK, ht=\011$<2>, hts=\E1, il1=\EL, ind=^J, - invis=\E&dS, ip=$<2>, is1=\E&jB$<8>, nel=^M^J, - pfkey=\E&f0a%p1%dk0d%p2%l%dL%p2%s, - pfloc=\E&f1a%p1%dk0d%p2%l%dL%p2%s, - pfx=\E&f2a%p1%dk0d%p2%l%dL%p2%s, rev=\E&dB, ri=\ET, - rmacs=^O, rmir=\ER, rmso=\E&d@, rmul=\E&d@, rs1=\Eg, - sgr=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga%+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+%Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}%+%e%{64}%;%;%c%?%p9%t\016%e\017%;, - sgr0=\E&d@\017, smacs=^N, smir=\EQ, smso=\E&dJ, smul=\E&dD, - tbc=\E3, use=newhpkeyboard, - -memhp|memory relative addressing for new HP ttys, - vt#6, - clear=\EH\EJ$<40>, cub=\E&a-%p1%dC, cud=\E&a+%p1%dR, - cuf=\E&a+%p1%dC, cup=\E&a%p1%dr%p2%dC, cuu=\E&a-%p1%dR, - home=\EH, hpa=\E&a%p1%dC, ll=\E&a23R\r, - mrcup=\E&a%p1%dr%p2%dC, vpa=\E&a%p1%dR, use=newhp, - -scrhp|screen relative addressing for new HP ttys, - clear=\E&a0c0Y\EJ$<40>, cub=\E&a-%p1%dC, - cud=\E&a+%p1%dR, cuf=\E&a+%p1%dC, - cup=\E&a%p1%dy%p2%dC$<10>, cuu=\E&a-%p1%dR, - home=\E&a0y0C, hpa=\E&a%p1%dC, ll=\E&a0y0C\EA, - mrcup=\E&a%p1%dr%p2%dC, vpa=\E&a%p1%dY, use=newhp, - -# (hp+labels: added label values from a BRL termcap -- esr) -hp+labels|"standard" label info for new HP ttys, - lh#2, lw#8, nlab#8, - lf0=f1, lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, - pln=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t %;%p2%s, - rmln=\E&j@, smln=\E&jB, - -hp+printer|"standard" printer info for HP ttys, - ff=\E&p4u0C, mc0=\EH\E&p4dF, mc4=\E&p13C, mc5=\E&p11C, - - -# The new hp2621b is kind of a cross between the old 2621 and the -# new 262x series of machines. It has dip-switched options. -# The firmware has a bug in it such that if you give it a null -# length label, the following character is eaten! -hp2621b|hp 2621b with old style keyboard, - lh#1, lm#48, lw#8, nlab#8, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\Eh, - kind=\ET, kll=\EF, kri=\ES, - pln=\E&f0a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d3L%?%ga%!%t%{32}%c%;%p2%s\E%{111}%p1%+%c\r, - smln=\E&jB, use=hp2621, - -hp2621b-p|hp 2621b with printer, - use=hp+printer, use=hp2621b, - -# hp2621b - new 2621b with new extended keyboard -# these are closer to the new 26xx series than the other 2621b -hp2621b-kx|hp 2621b with extended keyboard, - use=newhpkeyboard, use=hp2621b, - -hp2621b-kx-p|hp 2621b with new keyboard & printer, - use=hp+printer, use=hp2621b-kx, - -# Some assumptions are made in the following entries. -# These settings are NOT set up by the initialization strings. -# -# Port Configuration -# RecvPace=Xon/Xoff XmitPace=Xon/Xoff StripNulDel=Yes -# -# Terminal Configuration -# InhHndShk(G)=Yes InhDC2(H)=Yes -# XmitFnctn(A)=No InhEolWrp=No -# -# -# Hp 2622a & hp2623a display and graphics terminals -# -hp2622|hp2622a|hp 2622, - da, db, - lm#0, pb#19200, - is2=\E&dj@\r, use=hp+pfk+cr, use=hp+labels, use=scrhp, - -# The 2623 is a 2622 with extra graphics hardware. -hp2623|hp2623a|hp 2623, - use=hp2622, - -hp2624b-p|hp2624b-4p-p|hewlett packard 2624 B with printer, - use=hp+printer, use=hp2624, - -# The hewlett packard B can have an optional extra 6 pages of memory. -hp2624-10p|hp2624a-10p|hp2624b-10p|hewlett packard 2624 B w/ 10 pages of memory, - lm#240, use=hp2624, - -hp2624b-10p-p|hewlett packard 2624 B w/ extra memory & printer, - lm#240, use=hp2624b-p, - -# Color manipulations for HP terminals -hp+color|hp with colors, - ccc, - colors#16, ncv#17, pairs#7, - initp=\E&v%?%p2%{1000}%=%t1%e.%p2%d%;a%?%p3%{1000}%=%t1%e.%p3%d%;b%?%p4%{1000}%=%t1%e.%p4%d%;c%?%p5%{1000}%=%t1%e.%p5%d%;x%?%p6%{1000}%=%t1%e.%p6%d%;y%?%p7%{1000}%=%t1%e.%p7%d%;z%p1%dI, - oc=\E&v0m1a1b1c0I\E&v1a1I\E&v1b2I\E&v1a1b3I\E&v1c4I\E&v1a1c5I\E&v1b1c6I\E&v1x1y7I, - op=\E&v0S, scp=\E&v%p1%dS, - -# sets the screen to be 80 columns wide -hp2397a|hp2397|hewlett packard 2397A color terminal, - is2=\E&w6f80X, use=memhp, use=hp+labels, use=hp+color, - -# HP 700/44 Setup parameters: -# Terminal Mode HP-PCterm -# Inhibit Auto Wrap NO -# Status Line Host Writable -# PC Character Set YES -# Twenty-Five Line Mode YES -# XON/XOFF @128 or 64 (sc) -# Keycode Mode NO or YES (sc) -# Backspace Key BS or BS/DEL -# -# sets pcterm; autowrap; 25 lines; pc char set; prog DEL key; -# \E\\? does not turn off keycode mode -# sets alternate start/stop; keycode on -hpansi|hp700|hewlett packard 700/44 in HP-PCterm mode, - am, eo, xenl, xon, - cols#80, lines#25, - acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263, - bel=^G, cbt=\E[Z, civis=\E[?25l, clear=\E[2J\E[H, - cnorm=\E[?25h, cr=^M, cub1=\E[D, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, - ind=^J, - is2=\E[44"p\E[?7h\E[>10h\E[>12h\EP1;1|3/7F\E\\, - kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kend=\E[4~, kf1=\E[17~, kf10=\E[28~, - kf2=\E[18~, kf3=\E[19~, kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, - kf7=\E[24~, kf8=\E[25~, kf9=\E[26~, khome=\E[1~, knp=\E[6~, - kpp=\E[5~, rmam=\E[?7l, - rmsc=\E[>11l\EP1**x0/11;1/13\E[m\E\\, rmso=\E[m, - rmul=\E[m, sgr0=\E[m, smam=\E[?7h, - smsc=\E[>11h\EPO**x0/65;1/67\E\\$<250>, smso=\E[7m, - smul=\E[4m, xoffc=g, xonc=e, -# -# (hp2392: copied here from hpex -- esr) -hp2392|239x series, - cols#80, - cbt=\Ei, cup=\E&a%p1%dy%p2%dC, kf1=\Ep\r, kf2=\Eq\r, - kf3=\Er\r, kf4=\Es\r, kf5=\Et\r, kf6=\Eu\r, kf7=\Ev\r, - kf8=\Ew\r, khome=\Eh, kind=\EU, knp=\Eu, kpp=\Ev, kri=\EV, - rmir=\ER, rmul=\E&d@, smir=\EQ, smul=\E&dD, vpa=\E&a%p1%dY, - use=hpsub, - -hpsub|hp terminals -- capability subset, - am, da, db, mir, xhp, xon, - lines#24, - bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC, - cuu1=\EA, dch1=\EP, dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, - ht=^I, if=/usr/local/share/tabset/stdcrt, il1=\EL, ind=^J, - is2=\E&s1A\E<\E&k0\\, kbs=^H, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, khome=\Eh, rmkx=\E&s0A, rmso=\E&d@, - sgr0=\E&d@, smkx=\E&s1A, smso=\E&dB, - -# hpex: -# May be used for most 24 x 80 hp terminals, -# but has no padding added, so may allow runover in some terminals at high -# baud rates. Will not work for hp2640a or hp2640b terminals, hp98x6 and -# hp98x5 terminal emulators or hp98x6 consoles. -# Adds xy-cursor addressing, vertical cursor addressing, home, -# last line, and underline capabilities. -# -# (hpex: removed memory-lock capabilities ":ml=\El:mu=\Em:", -# moved here from hpsub -- esr) -hpex|hp extended capabilites, - cr=^M, cud1=^J, cup=\E&a%p1%dy%p2%dC, ht=^I, ind=^J, kbs=^H, - kcub1=^H, kcud1=^J, nel=^M^J, rmir=\ER, rmul=\E&d@, smir=\EQ, - smul=\E&dD, vpa=\E&a%p1%dY, use=hpsub, - -# From: Ville Sulko , 05 Aug 1996 -hp2|hpex2|hewlett-packard extended capabilities newer version, - am, da, db, mir, xhp, - cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8, xmc#0, - bel=^G, clear=\E&a0y0C\EJ, cr=^M, cub1=^H, cud1=\EB, - cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA, dch1=\EP, - dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, hts=\E1, - il1=\EL, ind=^J, kbs=^H, kclr=\EJ, kctab=\E2, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\EP, kdl1=\EM, - ked=\EJ, kel=\EK, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, - kf6=\Eu, kf7=\Ev, kf8=\Ew, khome=\Eh, khts=\E1, kich1=\EQ, - kil1=\EL, kind=\ES, kll=\EF, knp=\EU, kpp=\EV, kri=\ET, - krmir=\ER, ktbc=\E3, meml=\El, memu=\Em, - pfkey=\E&f%p1%dk%p2%l%dL%p2%s, - pfloc=\E&f1a%p1%dk%p2%l%dL%p2%s, - pfx=\E&f2a%p1%dk%p2%l%dL%p2%s, - pln=\E&f%p1%dk%p2%l%dd0L%p2%s, rmir=\ER, rmkx=\E&s0A, - rmln=\E&j@, rmso=\E&d@, rmul=\E&d@, - sgr=\E&d%?%p7%t%{115}%c%;%p1%p3%|%p6%|%{2}%*%p2%{4}%*%+%p4%+%p5%{8}%*%+%{64}%+%c%?%p9%t%'\016'%c%e%'\017'%c%;, - sgr0=\E&d@, smir=\EQ, smkx=\E&s1A, smln=\E&jB, smso=\E&dB, - smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY, - -# HP 236 console -# From: -hp236|hp236 internal terminal emulator, - OTbs, am, - cols#80, lines#24, - clear=\EF, cnorm=\EDE, cub1=^H, - cup=\EE%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, cvvis=\EDB, - dch1=\EJ, dl1=\EH, el=\EK, ich1=\EI, il1=\EG, rmso=\ECI, - sgr0=\ECI, smso=\EBI, - -# This works on a hp300 console running Utah 4.3 BSD -# From: Craig Leres -hp300h|HP Catseye console, - OTbs, am, da, db, mir, xhp, - cols#128, lines#51, lm#0, xmc#0, - bel=^G, cbt=\Ei, clear=\E&a0y0C\EJ, cr=^M, cub1=^H, cud1=\EB, - cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA, dch1=\EP, - dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, - if=/usr/local/share/tabset/stdcrt, il1=\EL, ind=^J, kbs=^H, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\Eh, - rmir=\ER, rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@, sgr0=\E&d@, - smir=\EQ, smkx=\E&s1A, smso=\E&dB, smul=\E&dD, tbc=\E3, - vpa=\E&a%p1%dY, -# From: Greg Couch -hp9837|hp98720|hp98721|HP 9000/300 workstations, - OTbs, am, da, db, mir, xhp, - cols#128, it#8, lines#46, lm#0, - bel=^G, cbt=\Ei, clear=\E&a0y0C\EJ, cub1=^H, cud1=\EB, - cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA, dch1=\EP, - dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, hts=\E1, - il1=\EL, ind=^J, is2=\E&v0m1b0i&j@, kbs=^H, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\EP, kdl1=\EM, - ked=\EJ, kel=\EK, khome=\Eh, kich1=\EQ, kil1=\EL, knp=\EU, - kpp=\EV, rmir=\ER, rmkx=\E&s0A, rmso=\E&v0S, rmul=\E&d@, - sgr0=\E&d@, smir=\EQ, smkx=\E&s1A, smso=\E&v5S, smul=\E&dD, - tbc=\E3, vpa=\E&a%p1%dY, -# HP 9845 desktop computer from BRL -# (hp9845: removed unknown capability :gu: -- esr) -hp9845|HP 9845, - OTbs, am, da, db, eo, mir, xhp, - cols#80, lines#21, - OTbc=\ED, clear=\EH\EJ, cuf1=\EC, cup=\E&a%p2%2dc%p1%2dY, - cuu1=\EA, dch1=\EP, dl1=\EM, ed=\EJ, el=\EK, - if=/usr/local/share/tabset/std, il1=\EL, rmir=\ER, rmso=\E&d@, - smir=\EQ, smso=\E&dB, -# From: Charles A. Finnell of MITRE , developed 07SEP90 -# (hp98550: replaced /usr/local/share/tabset/9837 with std because ,; -# added empty to avoid warnings re / --esr) -hp98550|hp98550a|HP 9000 Series 300 color console, - OTbs, am, da, db, mir, xhp, - cols#128, it#8, lines#49, lm#0, - acsc=, bel=^G, blink=\E&dA, bold=\E&dJ, cbt=\Ei, civis=\E*dR, - clear=\EH\EJ, cnorm=\E*dQ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\E&a%p1%dy%p2%dC, cuu1=\EA, dch1=\EP, dim=\E&dH, - dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, hts=\E1, - if=/usr/local/share/tabset/std, il1=\EL, ind=^J, invis=\E&ds, - kbs=^H, kclr=\EJ, kctab=\E2, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kdch1=\EP, kdl1=\EM, ked=\EJ, kel=\EK, kf1=\Ep, - kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, kf6=\Eu, kf7=\Ev, kf8=\Ew, - khome=\Eh, khts=\E1, kich1=\EQ, kil1=\EL, kind=\ES, kll=\EF, - knp=\EU, kpp=\EV, kri=\ET, krmir=\ER, ktbc=\E3, rev=\E&dJ, - rmacs=^O, rmir=\ER, rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@, - sgr0=\E&d@, smacs=^N, smir=\EQ, smkx=\E&s1A, smso=\E&dJ, - smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY, -# From: Victor Duchovni -# (hp700-wy: removed obsolete ":nl=^J:"; -# replaced /usr/local/share/tabset/hp700-wy with std because , -- esr) -hp700-wy|HP700/41 emulating wyse30, - OTbs, am, bw, mir, msgr, - cols#80, it#8, lines#24, xmc#1, - cbt=\EI, clear=^Z, cr=^M, cub1=^H, cud1=^V, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET$<10/>, home=^^, ht=^I, hts=\E1, - if=/usr/local/share/tabset/stdcrt, il1=\EE$<0.7*/>, - is1=\E~"\EC\Er\E(\EG0\003\E`9\E`1, kbs=\177, kcbt=\EI, - kclr=^Z, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, ked=\EY, - kel=\ET, khome=^^, khts=\EI, kich1=\Eq, krmir=\Er, ll=^^^K, - ri=\Ej, rmir=\Er, rmso=\EG0$<10/>, rmul=\EG0$<10/>, - sgr0=\EG0$<10/>, smir=\Eq, smso=\EG4$<10/>, - smul=\EG8$<10/>, tbc=\E0, vpa=\E[%p1%{32}%+%c, -hp70092|hp70092a|hp70092A|HP 700/92, - am, da, db, xhp, - cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8, - acsc=0cjgktlrmfn/q\,t5u6v8w7x., bel=^G, blink=\E&dA, - bold=\E&dB, cbt=\Ei, clear=\E&a0y0C\EJ, cr=^M, cub1=^H, - cud1=\EB, cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA, - dch1=\EP, dim=\E&dH, dl1=\EM, el=\EK, hpa=\E&a%p1%dC, ht=^I, - hts=\E1, il1=\EL, kbs=^H, kclr=\EJ, kctab=\E2, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\EP, kdl1=\EM, - ked=\EJ, kel=\EK, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, - kf6=\Eu, kf7=\Ev, kf8=\Ew, khome=\Eh, khts=\E1, kich1=\EQ, - kil1=\EL, kind=\ES, kll=\EF, knp=\EU, kpp=\EV, kri=\ET, - krmir=\ER, ktbc=\E3, rev=\E&dB, ri=\ET, rmacs=^O, rmir=\ER, - rmkx=\E&s0A, rmln=\E&j@, rmso=\E&d@, rmul=\E&d@, - sgr0=\E&d@, smacs=^N, smir=\EQ, smkx=\E&s1A, smln=\E&jB, - smso=\E&dJ, smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY, - -bobcat|sbobcat|HP 9000 model 300 console, - am, da, db, mir, xhp, - cols#128, it#8, lines#47, xmc#0, - cbt=\Ei, clear=\EH\EJ, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\E&a%p1%dy%p2%dC$<6/>, cuu1=\EA, dch1=\EP, - dl1=\EM$<10*/>, ed=\EJ, el=\EK, hpa=\E&a%p1%dC$<6/>, ht=^I, - il1=\EL$<10*/>, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, khome=\Eh, nel=^M^J, rmir=\ER, - rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@, sgr0=\E&d@, smir=\EQ, - smkx=\E&s1A, smso=\E&dB, smul=\E&dD, vpa=\E&a%p1%dY$<6/>, -gator-t|HP 9000 model 237 emulating extra-tall AAA, - lines#94, use=gator, -gator|HP 9000 model 237 emulating AAA, - bw, km, mir, ul, - cols#128, it#8, lines#47, - bel=^G, cbt=\E[Z, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\EM, - dch=\E[%p1%dP$<4/>, dch1=\E[P, dl=\E[%p1%dM$<1*/>, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, hpa=\E[%i%p1%d`, - ht=^I, ich=\E[%p1%d@$<4/>, ich1=\E[@, il=\E[%p1%dL$<1*/>, - il1=\E[L, kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, - rep=%p1%c\E[%p2%db$<1*/>, rev=\E[7m, rmso=\E[m, - rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m, -gator-52|HP 9000 model 237 emulating VT52, - cols#128, lines#47, use=vt52, -gator-52t|HP 9000 model 237 emulating extra-tall VT52, - lines#94, use=gator-52, - -#### Honeywell-Bull -# -# From: Michael Haardt 11 Jan 93 -# - -# Honeywell Bull terminal. Its cursor and function keys send single -# control characters and it has standout/underline glitch. Most programs -# do not like these features/bugs. Visual bell is realized by flashing the -# "keyboard locked" LED. -dku7003-dumb|Honeywell Bull DKU 7003 dumb mode, - cols#80, lines#25, - clear=^]^_, cr=^M, cub1=^Y, cud1=^K, cuf1=^X, - cup=\E[%i%p1%d;%p2%dH, cuu1=^Z, ed=^_, el=\E[K, - flash=\E[2h\E[2l, home=^], ht=^I, ind=^J, kbs=^H, kcub1=^Y, - kcud1=^K, kcuf1=^X, kcuu1=^Z, khome=^], nel=^M^J, -dku7003|Honeywell Bull DKU 7003 all features described, - msgr, - xmc#1, - blink=\E[5m, bold=\E[7m, dim=\E[2m, rev=\E[7m, rmso=\E[m, - rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m, - use=dku7003-dumb, - -#### Lear-Siegler (adm) -# -# These guys are long since out of the terminals business, but -# in 1995 many current terminals still have an adm type as one of their -# emulations (usually their stupidest, and usually labeled adm3, though -# these `adm3' emulations normally have adm3a+ capabilities). -# -# WARNING: Some early ADM terminals (including the ADM3 and ADM5) had a -# `diagnostic feature' that sending them a ^G while pin 22 (`Ring Indicator') -# was being held to ground would trigger a send of the top line on the screen. -# A quick fix might be to drop back to a cheesy 4-wire cable with pin 22 -# hanging in the air. (Thanks to Eric Fischer, , -# for clearing up this point.) - -adm1a|adm1|lsi adm1a, - am, - cols#80, lines#24, - bel=^G, clear=\E;$<1>, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, home=^^, - ind=^J, -adm2|lsi adm2, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\E;, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET, home=^^, ich1=\EQ, il1=\EE, ind=^J, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, -# (adm3: removed obsolete ":ma=^K^P:" -- esr) -adm3|lsi adm3, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, ind=^J, -# The following ADM-3A switch settings are assumed for normal operation: -# SPACE U/L_DISP CLR_SCRN 24_LINE -# CUR_CTL LC_EN AUTO_NL FDX -# Other switches may be set for operator convenience or communication -# requirements. I recommend -# DISABLE_KB_LOCK LOCAL_OFF 103 202_OFF -# ETX_OFF EOT_OFF -# Most of these terminals required an option ROM to support lower case display. -# Open the case and look at the motherboard; if you see an open 24-pin DIP -# socket, you may be out of luck. -# -# (adm3a: some capabilities merged in from BRl entry -- esr) -adm3a|lsi adm3a, - OTbs, am, - cols#80, lines#24, - OTma=^K^P, OTnl=^J, bel=^G, clear=\032$<1/>, cr=^M, cub1=^H, - cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, - cuu1=^K, home=^^, ind=^J, kcub1=^H, kcud1=^J, kcuf1=^L, - kcuu1=^K, rs2=^N, -adm3a+|adm3a plus, - kbs=^H, use=adm3a, -# (adm5: removed obsolete ":ma=^Hh^Jj^Kk^Ll^^H:" & duplicate ":do=^J:" -- esr) -adm5|lsi adm5, - xmc#1, - bel=^G, cr=^M, cud1=^J, ed=\EY, el=\ET, kbs=^H, khome=^^, - rmso=\EG, smso=\EG, use=adm3a+, -# A lot of terminals other than adm11s use these. Wherever you see -# use=adm+sgr with some of its capabilities disabled, try the -# disabled ones. They may well work but not have been documented or -# expressed in the using entry. We'd like to cook up an but the -# / sequences of the using entries vary too much. -adm+sgr|adm style highlight capabilities, - invis=\EG1, rev=\EG4, rmso=\EG0, rmul=\EG0, sgr0=\EG0, - smso=\EG4, smul=\EG8, -# LSI ADM-11 from George William Hartwig, Jr. via BRL -# Status line additions from Stephen J. Muir -# from . could also -# be ^Z, according to his entry. -# (adm11: =\EG4 was obviously erroneous because it also said -# =\EG4. Looking at other ADMs confirms this -- esr) -adm11|LSI ADM-11, - OTbs, am, hs, - OTkn#8, cols#80, lines#24, - OTnl=^J, bel=^G, blink=\EG2, clear=\E*, cr=^M, cub1=^H, - cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, - cuu1=^K, dsl=\Eh, ed=\EY, el=\ET, fsl=\E(\r, home=^^, ht=^I, - kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf1=^A@\r, - kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, - kf7=^AF\r, kf8=^AG\r, khome=^^, nel=^M^J, tsl=\EF\E), - use=adm+sgr, -# From: Andrew Scott Beals -# Corrected by Olaf Siebert , 11 May 1995 -# Supervisor mode info by Ari Wuolle, , 27 Aug 1996 -# (adm12: removed obsolete ":kn:ma=j^Jk^P^K^Pl ^R^L^L :". This formerly had -# =\Eq but that looked wrong; this is from Dave Yost -# via BRL. That entry asserted , but I've left that out because -# neither earlier nor later ADMSs have it -- esr) -# -# You will need to get into the supervisor setup before you can set -# baudrate etc. for your ADM-12+. Press Shift-Ctrl-Setup and you should -# see a lot more setup options. -# -# While in supervisor setup you can also use following codes: -# -# Ctrl-P Personality character selections (configure for example what -# arrow keys send, if I recall correctly) -# Ctrl-T tabs 1-80 use left&right to move and up to set and -# Ctrl-V tabs 81-158 down to clear tab. Shift-Ctrl-M sets right margin at cursor -# Ctrl-B Binary setup (probably not needed. I think that everything can -# be set using normal setup) -# Ctrl-A Answerback mode (enter answerback message) -# Ctrl-U User friendly mode (normal setup) -# Ctrl-D Defaults entire setup and function keys from EPROM tables -# Ctrl-S Save both setup and functions keys. Takes from 6 to 10 seconds. -# Ctrl-R Reads both setup and functions keys from NVM. -# Shift-Ctrl-X Unlock keyboard and cancel received X-OFF status -# -# ADM-12+ supports hardware handshaking, but it is DTR/CTS as opposed to -# RTS/CTS used nowadays with virtually every modem and computer. 19200 -# bps works fine with hardware flow control. -# -# The following null-modem cable should fix this and enable you to use -# RTS/CTS handshaking (which Linux supports, use CRTSCTS setting). Also -# set ADM-12+ for DTR handshaking from supervisor setup. -# -# PC Serial ADM-12+ -# -------- ------- -# 2 - 3 -# 3 - 2 -# 4 - 5 -# 5 - 20 -# 6,8 - 4 -# 7 - 7 -# 20 - 6,8 -# -adm12|lsi adm12, - OTbs, OTpt, am, mir, - OTug#1, cols#80, it#8, lines#24, - bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET, home=^^, hts=\E1, ich1=\EQ, il1=\EE, - is2=\E0 \E1 \E1 \E1 \E1 \E1 \E1 \E1 \E1, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf0=^A0\r, kf1=^A1\r, - kf2=^A2\r, kf3=^A3\r, kf4=^A4\r, kf5=^A5\r, kf6=^A6\r, - kf7=^A7\r, kf8=^A8\r, kf9=^A9\r, rmir=\Er, smir=\Eq, tbc=\E0, - use=adm+sgr, -# (adm20: removed obsolete ":kn#7:" -- esr) -adm20|lear siegler adm20, - OTbs, am, - cols#80, it#8, lines#24, - bel=^G, cbt=\EI, clear=^Z, cr=^M, cub1=^H, cuf1=^L, - cup=\E=%i%p2%{31}%+%c%p1%{31}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET, home=^^, ht=^I, ich1=\EQ, il1=\EE, - kf1=^A, kf2=^B, kf3=^W, kf4=^D, kf5=^E, kf6=^X, kf7=^Z, rmso=\E(, - sgr0=\E(, smso=\E), -adm21|lear siegler adm21, - xmc#1, - bel=^G, cr=^M, cud1=^J, dch1=\EW, dl1=30*\ER, ed=\EY, el=\ET, - ich1=\EQ, il1=30*\EE, ind=^J, invis@, kbs=^H, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, use=adm+sgr, - use=adm3a, -# (adm22: ":em=:" was an obvious typo for ":ei=:"; also, -# removed obsolete ":kn#7:ma=j^Jk^P^K^Pl ^R^L^L :"; -# removed bogus-looking \200 from before . -- esr) -adm22|lsi adm22, - OTbs, am, - cols#80, lines#24, - bel=^G, cbt=\EI, clear=\E+, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\Ey, el=\Et, home=^^, ht=\Ei, ich1=\EQ, il1=\EE, - is2=\E%\014\014\014\016\003\0\003\002\003\002\0\0\0\0\0\0\0\0\0\0\0, - kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf1=^A@\r, - kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, - kf7=^AF\r, khome=^^, lf1=F1, lf2=F2, lf3=F3, lf4=F4, lf5=F5, - lf6=F6, lf7=F7, rmso=\E(, sgr0=\E(, smso=\E), -# ADM 31 DIP Switches -# -# This information comes from two versions of the manual for the -# Lear-Siegler ADM 31. -# -# Main board: -# rear of case -# +-||||-------------------------------------+ -# + S1S2 ||S + -# + ||3 + -# + + -# + ||S + -# + ||4 + -# + + -# + + -# + + -# + + -# + + -# +-+ +-+ -# + + -# + S5 S6 S7 + -# + == == == + -# +----------------------------------------------+ -# front of case (keyboard) -# -# S1 - Data Rate - Modem -# S2 - Data Rate - Printer -# ------------------------ -# Data Rate Setting -# ------------------- -# 50 0 0 0 0 -# 75 1 0 0 0 -# 110 0 1 0 0 -# 134.5 1 1 0 0 -# 150 0 0 1 0 -# 300 1 0 1 0 -# 600 0 1 1 0 -# 1200 1 1 1 0 -# 1800 0 0 0 1 -# 2000 1 0 0 1 -# 2400 0 1 0 1 -# 3600 1 1 0 1 -# 4800 0 0 1 1 -# 7200 1 0 1 1 -# 9600 0 1 1 1 -# x 1 1 1 1 -# -# S3 - Interface/Printer/Attributes -# --------------------------------- -# Printer Busy Control -# sw1 sw2 sw3 -# --------------- -# off off off Busy not active, CD disabled -# off off on Busy not active, CD enabled -# off on off Busy active on J5-20, CD disabled -# on off off Busy active on J5-19, CD disabled - Factory Set. -# on off on Busy active on J5-19, CD enabled -# -# sw4 Used in conjuction with S4 for comm interface control - Fact 0 -# -# sw5 Secondary Channel Control (Hardware implementation only) - Fact 0 -# -# sw6 ON enables printer BUSY active LOW - Factory Setting -# OFF enables printer BUSY active HIGH - If set to this, ADM31 senses -# -# sw7 ON - steady cursor - Factory Setting -# OFF - blinking cursor -# -# sw8 ON causes selected attribute character to be displayed -# OFF causes SPACE to be displayed instead - Factory Setting -# -# S4 - Interface -# -------------- -# Modem Interface -# S3 S4 S4 S4 S4 -# sw4 sw1 sw2 sw3 sw4 -# --------------------------- -# OFF ON OFF ON OFF Enable RS-232C interface, Direct Connect and -# Current Loop disabled - Factory Setting -# ON ON OFF ON OFF Enable Current Loop interface, Direct Connect -# disabled -# OFF OFF ON OFF ON Enable Direct Connect interface, RS-232C and -# Current Loop Disabled -# -# sw5 ON disables dot stretching mode - Factory Setting -# OFF enables dot stretching mode -# sw6 ON enables blanking function -# OFF enables underline function - Factory Setting -# sw7 ON causes NULLS to be displayed as NULLS -# OFF causes NULLS to be displayed as SPACES - Factory Setting -# -# S5 - Word Structure -# ------------------- -# sw1 ON enables BREAK key - Factory Setting -# OFF disables BREAK key -# sw2 ON selects 50Hz monitor refresh rate -# OFF selects 60Hz monitor refresh rate - Factory Setting -# -# Modem Port Selection -# sw3 sw4 sw5 -# --------------- -# ON ON ON Selects 7 DATA bits, even parity, 2 STOP bits -# OFF ON ON Selects 7 DATA bits, odd parity, 2 STOP bits -# ON OFF ON Selects 7 DATA bits, even parity, 1 STOP bit - Factory Set. -# OFF OFF ON Selects 7 DATA bits, odd parity, 1 STOP bit -# ON ON OFF Selects 8 DATA bits, no parity, 2 STOP bits -# OFF ON OFF Selects 8 DATA bits, no parity, 1 STOP bit -# ON OFF OFF Selects 8 DATA bits, even parity, 1 STOP bit -# OFF OFF OFF Selects 8 DATA bits, odd parity, 1 STOP bit -# -# sw6 ON sends bit 8 a 1 (mark) -# OFF sends bit 8 as 0 (space) - Factory Setting -# sw7 ON selects Block Mode -# OFF selects Conversation Mode - Factory Setting -# sw8 ON selects Full Duplex operation -# OFF selects Half Duplex operation - Factory Setting -# -# S6 - Printer -# ------------ -# sw1, sw2, sw6, sw7 Reserved - Factory 0 -# -# Printer Port Selection -# same as Modem above, bit 8 (when 8 DATA bits) is always = 0 -# -# sw8 ON enables Printer Port -# OFF disables Printer Port - Factory Setting -# -# S7 - Polling Address -# -------------------- -# sw1-7 Establish ASCII character which designates terminal polling address -# ON = logic 0 -# OFF = logic 1 - Factory Setting -# sw8 ON enables Polling Option -# OFF disables Polling Option - Factory Setting -# -# -# On some older adm31s, S4 does not exist, and S5-sw6 is not defined. -# -# This adm31 entry uses underline as the standout mode. -# If the adm31 gives you trouble with standout mode, check the DIP switch in -# position 6, bank @c11, 25% from back end of the circuit board. Should be -# OFF. If there is no such switch, you have an old adm31 and must use oadm31. -# (adm31: removed obsolete ":ma=j^Jk^P^K^Pl ^R^L^L :" -- esr) -adm31|lsi adm31 with sw6 set for underline mode, - OTbs, am, mir, - cols#80, lines#24, - bel=^G, clear=\E*, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET, home=^^, il1=\EE, ind=^J, is2=\Eu\E0, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf0=^A0\r, kf1=^A1\r, - kf2=^A2\r, kf3=^A3\r, kf4=^A4\r, kf5=^A5\r, kf6=^A6\r, - kf7=^A7\r, kf8=^A8\r, kf9=^A9\r, rmir=\Er, rmso=\EG0, - rmul=\EG0, sgr0=\EG0, smir=\Eq, smso=\EG1, smul=\EG1, -adm31-old|o31|old adm31, - rmul@, smso=\EG4, smul@, use=adm31, -# LSI ADM-36 from Col. George L. Sicherman via BRL -adm36|LSI ADM36, - OTbs, OTpt, - OTkn#4, - if=/usr/local/share/tabset/vt100, - is2=\E<\E>\E[6;?2;?7;?8h\E[4;20;?1;?3;?4;?5;?6;?18;?19l, - use=vt100, -# (adm42: removed obsolete ":ma=^K^P:" -- esr) -adm42|lsi adm42, - OTbs, am, - cols#80, lines#24, - bel=^G, cbt=\EI, clear=\E;, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - cvvis=\EC\E3 \E3(, dch1=\EW, dl1=\ER, ed=\EY, el=\ET, ht=^I, - il1=\EE$<270>, ind=^J, invis@, ip=$<6*>, kcub1=^H, kcud1=^J, - kcuf1=^L, kcuu1=^K, khome=^^, pad=\177, rmir=\Er, rmul@, - smir=\Eq, smul@, use=adm+sgr, -# The following termcap for the Lear Siegler ADM-42 leaves the -# "system line" at the bottom of the screen blank (for those who -# find it distracting otherwise) -adm42-ns|lsi adm-42 with no system line, - cbt=\EI\EF \011, clear=\E;\EF \011, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<6>\EF \011, - dch1=\EW\EF \011, dl1=\ER\EF \011, ed=\EY\EF \011, - el=\ET\EF \011, il1=\EE\EF \011, rmir=\Er\EF \011, - smir=\Eq\EF \011, use=adm42, -# ADM 1178 terminal -- rather like an ADM-42. Manual is dated March 1 1985. -# The insert mode of this terminal is commented out because it's broken for our -# purposes in that it will shift the position of every character on the page, -# not just the cursor line! -# From: Michael Driscoll 10 July 1996 -adm1178|1178|lsi adm1178, - am, - cols#80, lines#24, xmc#1, - bel=^G, bold=\E(, cbt=\EI, clear=\E+, cr=^M, cub1=^H, cud1=^J, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - cvvis=\EC\E3 \E3(, dch1=\EW, dl1=\ER, ed=\EY, el=\ET, - home=^^, ht=^I, il1=\EE, ind=^J, ip=$<6*/>, kbs=^H, kcub1=^H, - kcud1=^J, nel=^M^J, pad=\177, rev=\EG4, rmso=\EG0, rmul=\EG0, - sgr0=\E), smso=\EG4, smul=\EG1, - -#### Prime -# -# Yes, Prime made terminals. These entries were posted by Kevin J. Cummings -# on 14 Dec 1992 and lightly edited by esr. -# Prime merged with ComputerVision in the late 1980s; you can reach them at: -# -# ComputerVision Services -# 500 Old Connecticut Path -# Framingham, Mass. -# - -# Standout mode is dim reverse-video. -pt100|pt200|wren|fenix|prime pt100/pt200, - am, bw, mir, msgr, - cols#80, it#8, lines#24, - cbt=\E[Z, clear=\E?, cr=^M, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\ED, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E0%p1%{33}%+%c%p2%{33}%+%c, cuu=\E[%p1%dA, - cuu1=\EM, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl1=\E[M, - ed=\E[J\E[r, el=\E[K\E[t, flash=\E$$<200/>\E$P, - home=\E$B, ht=^I, il1=\E[L\E[t, ind=^J, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E$A, nel=^M^J, - rmcup=, rmir=\E[4l, rmkx=\E[>13l, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, - smcup=\E[>1l\E[>2l\E[>16l\E[4l\E[>9l\E[20l\E[>3l\E[>7h\E[>12l\E[1Q, - smir=\E[4h, smkx=\E[>13h, smso=\E[2;7m, smul=\E[4m, -pt100w|pt200w|wrenw|fenixw|prime pt100/pt200 in 132-column mode, - cols#132, - cup=\E[%i%p1%d;%p2%dH, use=pt100, -pt250|Prime PT250, - rmso@, smso@, use=pt100, -pt250w|Prime PT250 in 132-column mode, - rmso@, smso@, use=pt100w, - -#### Qume (qvt) -# -# Qume, Inc. -# 3475-A North 1st Street -# San Jose CA 95134 -# Vox: (800)-457-4447 -# Fax: (408)-473-1510 -# Net: josed@techsupp.wyse.com (Jose D'Oliveira) -# -# Qume was bought by Wyse, but still (as of early 1995) has its own support -# group and production division. -# -# Discontinued Qume models: -# -# The qvt101 and qvt102 listed here are long obsolete; so is the qvt101+ -# built to replace them, and a qvt119+ which was a 101+ with available wide -# mode (132 columns). There was a qvt103 which added vt100/vt131 emulations -# and an ANSI-compatible qvt203 that replaced it. Qume started producing -# ANSI-compatible terminals with the qvt323 and qvt61. -# -# Current Qume models (as of February 1995): -# -# All current Qume terminals have ANSI-compatible operation modes. -# Qume is still producing the qvt62, which features emulations for other -# popular lines such as ADDS, and dual-host capabilities. The qvt82 is -# designed for use as a SCO ANSI terminal. The qvt70 is a color terminal -# with many emulations including Wyse370, Wyse 325, etc. Their newest -# model is the qvt520, which is vt420-compatible. -# -# There are some ancient printing Qume terminals under `Daisy Wheel Printers' -# -# If you inherit a Qume without docs, try Ctrl-Shift-Setup to enter its -# setup mode. Shift-s should be a configuration save to NVRAM. - -qvt101|qvt108|qume qvt 101 and QVT 108, - xmc#1, use=qvt101+, - -# This used to have but no or . The BSD termcap -# file had . I've done the safe thing and yanked -# both. The is from BSD, which also claimed bold=\E( and dim=\E). -# What seems to be going on here is that this entry was designed so that -# the normal highlight is bold and standout is dim plus something else -# (reverse-video maybe? But then, are there two sequences?) -qvt101+|qvt101p|qume qvt 101 PLUS product, - am, bw, hs, ul, - cols#80, lines#24, xmc#0, - bel=^G, cbt=\EI, clear=^Z, cnorm=\E.4, cr=^M, cub1=^H, cud1=^J, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\EW, dl1=\ER, dsl=\Eg\Ef\r, ed=\EY, el=\ET, - flash=\Eb$<200>\Ed, fsl=^M, home=^^, ht=^I, hts=\E1, - ich1=\EQ, il1=\EE, ind=^J, invis@, kbs=^H, kcbt=\EI, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, kdl1=\ER, ked=\EY, kel=\ET, - kf1=^A@\r, kf10=^AI\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, - kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, - khome=^^, kich1=\EQ, kil1=\EE, mc4=\EA, mc5=\E@, rmso=\E(, - smso=\E0P\E), tbc=\E3, tsl=\Eg\Ef, use=adm+sgr, -qvt102|qume qvt 102, - cnorm=\E., use=qvt101, -# (qvt103: added / based on init string -- esr) -qvt103|qume qvt 103, - am, xenl, xon, - cols#80, it#8, lines#24, vt#3, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C$<2>, - cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, - cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, - hts=\EH, ind=^J, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, - kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, - rev=\E[7m$<2>, ri=\EM$<5>, rmam=\E[?7l, rmkx=\E[?1l\E>, - rmso=\E[m$<2>, rmul=\E[m$<2>, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>, - sgr0=\E[m$<2>, smam=\E[?7h, smkx=\E[?1h\E=, - smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, -qvt103-w|qume qvt103 132 cols, - cols#132, lines#24, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=qvt103, -qvt119+|qvt119p|qvt119|qume qvt 119 and 119PLUS terminals, - am, hs, mir, msgr, - cols#80, lines#24, xmc#0, - bel=^G, cbt=\EI, clear=\E*1, cnorm=\E.4, cr=^M, cub1=^H, - cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, - cuu1=^K, cvvis=\E.2, dch1=\EW, dl1=\ER, dsl=\Eg\Ef\r, ed=\Ey, - el=\Et, flash=\En0$<200>\En1, fsl=^M, home=^^, ht=^I, - hts=\E1, il1=\EE, ind=^J, is2=\EDF\EC\EG0\Er\E(\E%EX, - kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf0=^AI\r, - kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, - kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, - mc4=\EA, mc5=\E@, ri=\EJ, rmir=\Er, smir=\Eq, smul=\EG8, - tbc=\E3, tsl=\Eg\Ef, use=adm+sgr, -qvt119+-25|qvt119p-25|QVT 119 PLUS with 25 data lines, - lines#25, use=qvt119+, -qvt119+-w|qvt119p-w|qvt119-w|QVT 119 and 119 PLUS in 132 column mode, - cols#132, - is2=\EDF\EC\EG0\Er\E(\E%\EX\En4, use=qvt119+, -qvt119+-25-w|qvt119p-25-w|qvt119-25-w|QVT 119 and 119 PLUS 132 by 25, - lines#25, use=qvt119+, -qvt203|qvt203+|qume qvt 203 Plus, - dch1=\E[P$<7>, dl1=\E[M$<99>, il1=\E[L$<99>, ind=\n$<30>, - ip=$<7>, kf0=\E[29~, kf1=\E[17~, kf2=\E[18~, kf3=\E[19~, - kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, - kf9=\E[28~, rmir=\E[4l, smir=\E[4h, use=qvt103, -qvt203-w|qvt203-w-am|qume qvt 203 PLUS in 132 cols (w/advanced video), - cols#132, lines#24, - rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=qvt203, -# -# Since a command is present for enabling 25 data lines, -# a specific terminfo entry may be generated for the 203. -# If one is desired for the QVT 119 PLUS then 25 lines must -# be selected in the status line (setup line 9). -# -qvt203-25|QVT 203 PLUS with 25 by 80 column mode, - cols#80, lines#25, - is2=\E[=40h\E[?3l, use=qvt203, -qvt203-25-w|QVT 203 PLUS with 25 by 132 columns, - cols#132, lines#25, - rs2=\E[?3h\E[=40h, use=qvt203, - -#### Televideo (tvi) -# -# TeleVideo -# 550 East Brokaw Road -# PO Box 49048 95161 -# San Jose CA 95112 -# Vox: (408)-954-8333 -# Fax: (408)-954-0623 -# -# -# These require incredible amounts of padding. -# -# All of these terminals (912 to 970 and the tvipt) are discontinued. Newer -# Televideo terminals are ANSI and PC-ANSI compatible. - -tvi803|televideo 803, - clear=\E*$<10>, use=tvi950, - -# Vanilla tvi910 -- W. Gish 10/29/86 -# Switch settings are: -# -# S1 1 2 3 4 -# D D D D 9600 -# D D D U 50 -# D D U D 75 -# D D U U 110 -# D U D D 135 -# D U D U 150 -# D U U D 300 -# D U U U 600 -# U D D D 1200 -# U D D U 1800 -# U D U D 2400 -# U D U U 3600 -# U U D D 4800 -# U U D U 7200 -# U U U D 9600 -# U U U U 19200 -# -# S1 5 6 7 8 -# U D X D 7N1 (data bits, parity, stop bits) (X means ignored) -# U D X U 7N2 -# U U D D 7O1 -# U U D U 7O2 -# U U U D 7E1 -# U U U U 7E2 -# D D X D 8N1 -# D D X U 8N2 -# D U D D 8O1 -# D U U U 8E2 -# -# S1 9 Autowrap -# U on -# D off -# -# S1 10 CR/LF -# U do CR/LF when CR received -# D do CR when CR received -# -# S2 1 Mode -# U block -# D conversational -# -# S2 2 Duplex -# U half -# D full -# -# S2 3 Hertz -# U 50 -# D 60 -# -# S2 4 Edit mode -# U local -# D duplex -# -# S2 5 Cursor type -# U underline -# D block -# -# S2 6 Cursor down key -# U send ^J -# D send ^V -# -# S2 7 Screen colour -# U green on black -# D black on green -# -# S2 8 DSR status (pin 6) -# U disconnected -# D connected -# -# S2 9 DCD status (pin 8) -# U disconnected -# D duplex -# -# S2 10 DTR status (pin 20) -# U disconnected -# D duplex -# (tvi910: removed obsolete ":ma=^Kk^Ll^R^L:"; added , , , -# , , , , from SCO entry -- esr) -tvi910|televideo model 910, - OTbs, am, msgr, - cols#80, it#8, lines#24, xmc#1, - bel=^G, cbt=\EI, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EY, el=\ET, - home=\E=\001\001, hpa=\E]%p1%{32}%+%c, ht=^I, - if=/usr/local/share/tabset/stdcrt, ind=^J, invis@, kbs=^H, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kf0=^AI\r, kf1=^A@\r, - kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, - kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, - vpa=\E[%p1%{32}%+%c, use=adm+sgr, -# From: Alan R. Rogers -# as subsequently hacked over by someone at SCO -# (tvi910+: removed obsolete ":ma=^K^P^L :" -- esr) -# -# Here are the 910+'s DIP switches (U = up, D = down, X = don't care): -# -# S1 1 2 3 4: -# D D D D 9600 D D D U 50 D D U D 75 D D U U 110 -# D U D D 135 D U D U 150 D U U D 300 D U U U 600 -# U D D D 1200 U D D U 1800 U D U D 2400 U D U U 3600 -# U U D D 4800 U U D U 7200 U U U D 9600 U U U U 19200 -# -# S1 5 6 7 8: -# U D X D 7N1 U D X U 7N2 U U D D 7O1 U U D U 7O2 -# U U U D 7E1 U U U U 7E2 D D X D 8N1 D D X U 8N2 -# D U D D 8O1 D U U U 8E2 -# -# S1 9 Autowrap (U = on, D = off) -# S1 10 CR/LF (U = CR/LF on CR received, D = CR on CR received) -# S2 1 Mode (U = block, D = conversational) -# S2 2 Duplex (U = half, D = full) -# S2 3 Hertz (U = 50, D = 60) -# S2 4 Edit mode (U = local, D = duplex) -# S2 5 Cursor type (U = underline, D = block) -# S2 6 Cursor down key (U = send ^J, D = send ^V) -# S2 7 Screen colour (U = green on black, D = black on green) -# S2 8 DSR status (pin 6) (U = disconnected, D = connected) -# S2 9 DCD status (pin 8) (U = disconnected, D = connected) -# S2 10 DTR status (pin 20) (U = disconnected, D = connected) -# -tvi910+|televideo 910+, - dch1=\EW, dl1=\ER$<33*>, home=^^, ich1=\EQ, il1=\EE$<33*>, - kf0=^A@\r, kf1=^AA\r, kf2=^AB\r, kf3=^AC\r, kf4=^AD\r, - kf5=^AE\r, kf6=^AF\r, kf7=^AG\r, kf8=^AH\r, kf9=^AI\r, - ll=\E=7\s, use=tvi910, - -# (tvi912: removed obsolete ":ma=^K^P^L :", added and -# from BRL entry -- esr) -tvi912|tvi914|tvi920|old televideo 912/914/920, - OTbs, OTpt, am, msgr, - cols#80, it#8, lines#24, xmc#1, - bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER$<33*>, ed=\Ey, el=\ET, flash=\Eb$<50/>\Ed, home=^^, - ht=^I, hts=\E1, ich1=\EQ, if=/usr/local/share/tabset/stdcrt, - il1=\EE$<33*>, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, - kcuu1=^K, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, - kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, - kf9=^AH\r, khome=^^, rmso=\Ek, rmul=\Em, smso=\Ej, smul=\El, - tbc=\E3, -# We got some new tvi912c terminals that act really weird on the regular -# termcap, so one of our gurus worked this up. Seems that cursor -# addressing is broken. -tvi912cc|tvi912 at cowell college, - cup@, use=tvi912c, - -# tvi{912,920}[bc] - TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C -# From: Benjamin C. W. Sittler -# -# Someone has put a scanned copy of the manual online at: -# http://vt100.net/televideo/912b-om/ -# -# These terminals were produced ca. 1979, and had a 12" monochrome -# screen, supported 75-9600 baud (no handshaking), monochrome, 7-bit -# ASCII, and were generally similar to adm3a but with attributes -# (including some with magic cookies), fancy half-duplex mode, and -# different bugs. -# -# Some operations reqire truly incredible amounts of padding. The -# insert_line () and delete_line () operations in particular -# are so slow as to be nearly unusable. -# -# There may or may not have been a separate, earlier series of 912/920 -# terminals (without the "B" and "C" suffix); I have never seen one, -# and the manual only describes the "B" and "C" series. The 912 and 920 -# are quite distinct from the 914 and 924, which were much nicer non- -# magic-cookie terminals similar to the 950. -# -# This is a new description for the following TeleVideo terminals, -# distinguished chiefly by their keyboards: -# -# TVI-912B - very odd layout, no function keys (84 keys) -# TVI-920B - typewriter layout, no function keys (103 keys) -# TVI-912C - very odd layout, function keys F1-F11 (82 keys) -# TVI-920C - typewriter layout, function keys F1-F11 (101 keys) -# -# To choose a setting for the TERM variable, start with the model: -# -# Model || base name -# ----------||----------- -# TVI-912B || tvi912b -# TVI-912C || tvi912c -# TVI-920B || tvi920b -# TVI-920C || tvi920c -# -# Then add a suffix from the following table describing installed options -# and how you'd like to use the terminal: -# -# Use Video | Second | Visual | Magic | Page || feature -# Attributes | Page | Bell | Cookies | Print || suffix -# ------------|--------|--------|---------|-------||--------- -# No | No | N/A | N/A | No || -unk -# No | No | N/A | N/A | Yes || -p -# No | Yes | No | N/A | No || -2p-unk -# No | Yes | No | N/A | Yes || -2p-p -# No | Yes | Yes | N/A | No || -vb-unk -# No | Yes | Yes | N/A | Yes || -vb-p -# Yes | No | N/A | No | N/A || -# Yes | No | N/A | Yes | N/A || -mc -# Yes | Yes | No | No | N/A || -2p -# Yes | Yes | No | Yes | N/A || -2p-mc -# Yes | Yes | Yes | No | N/A || -vb -# Yes | Yes | Yes | Yes | N/A || -vb-mc -# -# So e.g. a model 920 C with second page memory option, visual bell -# and no magic cookies would be tvi920c-vb; a model 912 B without the -# second page memory option and using magic cookies would be -# tvi912b-mc -# -# PADDING -# -# At 9600 baud, the terminal is prone to overflow its input buffer -# during complex operations (insert/delete -# character/line/screen/page), and it does not signal this over the -# RS232 cable. The typical symptom of an overrun is that the terminal -# starts beeping, and output becomes garbled. -# -# The padding delays in this terminfo were derived using tack(1) -# running on a Linux box connected to a TVI-920C with a later-model -# (A49C1-style) ROM running at 9600 baud, so your mileage may -# vary. The numbers below seem to give the terminal enough time so -# that it doesn't overflow its input buffer and start losing -# characters. -# -# KEYS -# -# If you want to use the FUNCT key on a tvi912[bc], use the -# corresponding tvi920[bc] terminfo with FUNCT + ... equivalents from -# the following table (these also work on the 920 series): -# -# Unshifted Function Keys: -# -# Key | capname|| Equivalent -# -----|--------||------------ -# F1 | || FUNCT + @ -# F2 | || FUNCT + A -# F3 | || FUNCT + B -# F4 | || FUNCT + C -# F5 | || FUNCT + D -# F6 | || FUNCT + E -# F7 | || FUNCT + F -# F8 | || FUNCT + G -# F9 | || FUNCT + H -# F10 | || FUNCT + I -# F11 | || FUNCT + J -# -# Shifted Function Keys: -# -# SHIFT + Key | capname|| Equivalent -# -------------|--------||------------ -# SHIFT + F1 | || FUNCT + ` -# SHIFT + F2 | || FUNCT + a -# SHIFT + F3 | || FUNCT + b -# SHIFT + F4 | || FUNCT + c -# SHIFT + F5 | || FUNCT + d -# SHIFT + F6 | || FUNCT + e -# SHIFT + F7 | || FUNCT + f -# SHIFT + F8 | || FUNCT + g -# SHIFT + F9 | || FUNCT + h -# SHIFT + F10 | || FUNCT + i -# SHIFT + F11 | || FUNCT + j -# -# PORTS AND SWITCH SETTINGS -# -# Here are the switch settings for the TVI-912B/TVI-920B and -# TVI-912C/TVI-920C: -# -# S1 (Line), and S3 (Printer) baud rates -- put one, and only one, switch down: -# 2: 9600 3: 4800 4: 2400 5: 1200 -# 6: 600 7: 300 8: 150 9: 75 -# 10: 110 -# -# S2 UART/Terminal options: -# Up Down -# 1: Not used Not allowed -# 2: Alternate character set Standard character set -# 3: Full duplex Half duplex -# 4: 50 Hz refresh 60 Hz refresh -# 5: No parity Send parity -# 6: 2 stop bits 1 stop bit -# 7: 8 data bits 7 data bits -# 8: Not used Not allowed on Rev E or lower -# 9: Even parity Odd parity -# 10: Steady cursor Blinking cursor -# (On Rev E or lower, use W25 instead of switch 10.) -# -# S5 UART/Terminal options: -# Open Closed -# 1: P3-6 Not connected DSR received on P3-6 -# 2: P3-8 Not connected DCD received on P3-8 -# -# 3 Open, 4 Open: P3-20 Not connected -# 3 Open, 4 Closed: DTR on when terminal is on -# 3 Closed, 4 Open: DTR is connected to RTS -# 3 Closed, 4 Closed: Not allowed -# -# 5 Closed: HDX printer (hardware control) Rev. K with extension port off, -# all data transmitted out of the modem port (P3) will also be -# transmitted out of the printer port (P4). -# -# 6 Open, 7 Open: Not allowed -# 6 Open, 7 Closed: 20ma current loop input -# 6 Closed, 7 Open: RS232 input -# 6 Closed, 7 Closed: Not allowed -# -# Jumper options: -# If the jumper is installed, the effect will occur (the next time the terminal -# is switched on). -# -# S4/W31: Enables automatic LF upon receipt of CR from -# remote or keyboard. -# S4/W32: Enables transmission of EOT at the end of Send. If not -# installed, a carriage return is sent. -# S4/W33: Disables automatic carriage return in column 80. -# S4/W34: Selects Page Print Mode as initial condition. If not -# installed, Extension Mode is selected. -# -# NON-STANDARD CAPABILITIES -# -# Sending or returns a cursor position report in the format -# YX\r, where Y and X are as in . This format is described in -# and , but it's not clear how one should write an -# appropriate scanf string, since we need to subtract %' ' from the -# character after reading it. The capability is used by tack(1) -# to synchronize during padding tests, and seems to work for that -# purpose. -# -# This description also includes the obsolete termcap capabilities -# has_hardware_tabs () and backspaces_with_bs (). -# -# FEATURES NOT YET DESCRIBED IN THIS TERMINFO -# -# The FUNCT modifier actually works with every normal key by sending -# ^AX\r, where X is the sequence normally sent by that key. This is a -# sort of meta key not currently describable in terminfo. -# -# There are quite a few other keys (especially on the 920 models,) but -# they are for the most part only useful in block mode. -# -# These terminals have lots of forms manipulation features, mainly -# useful in block mode, including "clear X to nulls" (vs. "clear X to -# spaces"; nulls are sentinels for "send X" operations); "send X" -# operations for uploading all or part of the screen; and block-mode -# editing keys (they don't send escape sequences, but manipulate video -# memory directly). Block mode is used for local editing, and protect -# mode (in conjunction with the "write protect" attribute, -# a.k.a. half-intensity outside of protect mode) is used to control -# which parts of the screen are edited/sent/printed (by ). -# -# There are at least two major families of ROM, "early" and -# A49B1/A49C1; the major difference seems to be that the latter ROMs -# support a few extra escape sequences for manipulating the off-screen -# memory page, and for sending whole pages back to the host (mainly -# useful in block mode.) The descriptions in this file don't use any -# of those sequences: set cursor position including page (\E-PYX, -# where P is \s for page 0 and ! for page 1 [actually only the LSB of -# P is taken into account, so e.g. 0 and 1 work too,] and Y and X are -# as in ); read cursor position (\E/), which is analogous to -# and returns PYX\r, where P is \s for page 0 or ! for page 1, and YX -# are as in , and some "send page" features mainly useful for -# forms manipulation. -# -# The keyboard enable (\E") and disable (\E#) sequences are unused, -# except that a terminal reset () enables the keyboard. -# -# Auto-flip mode (\Ev) is likely faster than the scrolling mode (\Ew) -# enabled in , but auto-flip is very jarring so we don't use it. -# -# BUGS -# -# At least up to the A49B1 and A49C1 ROMs, there are no \Eb and \Ed -# sequences (I infer that in some TeleVideo terminal they may invert -# and uninvert the display) so the sequence given here is a -# cheesy page-flip instead. -# -# The back_tab () sequence (\EI) doesn't work according to -# tack(1), so it is not included in the descriptions below. -# -# It's not clear whether auto_left_margin () flag should be set -# for these terminals; tack says yes, so it is set here, but this -# differs from other descriptions I've seen. -# -# Extension print mode () echoes all characters to the printer -# port [in addition to displaying them] except for the page print mode -# sequence (); this is a slight violation of the terminfo -# definition for but I don't expect it to cause problems. We -# reset to page print mode in since it may have been enabled -# accidentally. -# -# The descriptions with plus signs (+) are building blocks. - -tvi912b-unk|tvi912c-unk|TeleVideo TVI-912B or TVI-912C (no attributes), - OTbs, OTpt, am, bw, - cols#80, it#8, lines#24, - bel=^G, clear=\032$<50>, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%' '%+%c%p2%' '%+%c, cuu1=^K, dch1=\EW$<30>, - dl1=\ER$<1*>$<100>, ed=\Ey$<2*>$<10>, el=\ET$<15>, - home=^^, ht=^I, hts=\E1, ich1=\EQ$<30>, - if=/usr/local/share/tabset/stdcrt, il1=\EE$<1*>$<100>, - ind=\n$<10>, is2=\Ew\EA\E'\E"\E(, kcub1=^H, kcud1=^J, - kcuf1=^L, kcuu1=^K, kdch1=\177, kent=^M, khome=^^, mc4=\EA, - mc5=\E@, rs1=\Ek\010\Em\010\Eq\032, tbc=\E3, u6=%c%c\r, - u7=\E?, u8=%c%c\r, u9=\E?, - -# This isn't included in the basic capabilities because it is -# typically unusable in combination with the full range of video -# attributes, since the magic cookie attributes turn into ASCII -# control characters, and the half-intensity ("protected") attribute -# converts all affected characters to spaces. - -tvi912b+printer|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C page print support, - mc0=\EP, - -# This uses half-intensity mode () for standout (), and -# exposes no other attributes (half-intensity is the only attribute -# that does not generate a magic cookie.) - -tvi912b+dim|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C half-intensity attribute support, - msgr, - dim=\E), rmso=\E(, sgr=\E%?%p1%p5%|%t)%e(%;, sgr0=\E(, - smso=\E), - -# Full magic-cookie attribute support, with half-intensity reverse -# video for standout. Note that we add a space in the sequence -# to give a consistent magic-cookie count. Also note that uses -# backspacing (in the TVI-supported order) to apply all requested -# attributes with only a single magic cookie. - -tvi912b+mc|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C full magic-cookie attribute support, - xmc#1, - blink=\E\^, dim=\E)\s, invis=\E_, rev=\Ej, rmso=\E(\Ek, - rmul=\Em, - sgr=\E%?%p1%p5%|%t)%e(%; \010\E%?%p1%p3%|%tj%ek%;\010\E%?%p2%tl%em%;\010\E%?%p7%t_%e%?%p4%t\^%eq%;%;, - sgr0=\E(\Ek\010\Em\010\Eq, smso=\E)\Ej, smul=\El, - -# This uses the second page memory option to save & restore screen -# contents. If your terminal is missing the option, this description -# should still work, but that has not been tested. - -tvi912b+2p|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C second page memory option support, - flash=\EK$<100>\EK, rmcup=\032$<50>\EK\E=7\s, - smcup=\EK\032$<50>\E(\Ek\010\Em\010\Eq\032$<50>, - -# This simulates flashing by briefly toggling to the other page -# (kludge!) - -tvi912b+vb|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C second page memory option "visible bell" support, - bel=\EK$<100>\EK, use=tvi912b+2p, - -# Function keys ( .. are shifted .. ) - -tvi920b+fn|TeleVideo TVI-920B and TVI-920C function key support, - kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, kf12=^A`\r, kf13=^Aa\r, - kf14=^Ab\r, kf15=^Ac\r, kf16=^Ad\r, kf17=^Ae\r, kf18=^Af\r, - kf19=^Ag\r, kf2=^AA\r, kf20=^Ah\r, kf21=^Ai\r, kf22=^Aj\r, - kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, - -# Combinations of the basic building blocks - -tvi912b-2p-unk|tvi912c-2p-unk|tvi912b-unk-2p|tvi912c-unk-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; no attributes), - use=tvi912b+2p, use=tvi912b-unk, - -tvi912b-vb-unk|tvi912c-vb-unk|tvi912b-unk-vb|tvi912c-unk-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; no attributes), - use=tvi912b+vb, use=tvi912b-unk, - -tvi912b-p|tvi912c-p|TeleVideo TVI-912B or TVI-912C (no attributes; page print), - use=tvi912b+printer, use=tvi912b-unk, - -tvi912b-2p-p|tvi912c-2p-p|tvi912b-p-2p|tvi912c-p-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; no attributes; page print), - use=tvi912b+2p, use=tvi912b+printer, use=tvi912b-unk, - -tvi912b-vb-p|tvi912c-vb-p|tvi912b-p-vb|tvi912c-p-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; no attributes; page print), - use=tvi912b+vb, use=tvi912b+printer, use=tvi912b-unk, - -tvi912b-2p|tvi912c-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; half-intensity attribute), - use=tvi912b+2p, use=tvi912b+dim, use=tvi912b-unk, - -tvi912b-2p-mc|tvi912c-2p-mc|tvi912b-mc-2p|tvi912c-mc-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; magic cookies), - use=tvi912b+2p, use=tvi912b+mc, use=tvi912b-unk, - -tvi912b-vb|tvi912c-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; half-intensity attribute), - use=tvi912b+vb, use=tvi912b+dim, use=tvi912b-unk, - -tvi912b-vb-mc|tvi912c-vb-mc|tvi912b-mc-vb|tvi912c-mc-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; magic cookies), - use=tvi912b+vb, use=tvi912b+mc, use=tvi912b-unk, - -tvi912b|tvi912c|TeleVideo TVI-912B or TVI-912C (half-intensity attribute), - use=tvi912b+dim, use=tvi912b-unk, - -tvi912b-mc|tvi912c-mc|TeleVideo TVI-912B or TVI-912C (magic cookies), - use=tvi912b+mc, use=tvi912b-unk, - -tvi920b-unk|tvi920c-unk|TeleVideo TVI-920B or TVI-920C (no attributes), - use=tvi920b+fn, use=tvi912b-unk, - -tvi920b-2p-unk|tvi920c-2p-unk|tvi920b-unk-2p|tvi920c-unk-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; no attributes), - use=tvi920b+fn, use=tvi912b+2p, use=tvi912b-unk, - -tvi920b-vb-unk|tvi920c-vb-unk|tvi920b-unk-vb|tvi920c-unk-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; no attributes), - use=tvi920b+fn, use=tvi912b+vb, use=tvi912b-unk, - -tvi920b-p|tvi920c-p|TeleVideo TVI-920B or TVI-920C (no attributes; page print), - use=tvi920b+fn, use=tvi912b+printer, use=tvi912b-unk, - -tvi920b-2p-p|tvi920c-2p-p|tvi920b-p-2p|tvi920c-p-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; no attributes; page print), - use=tvi920b+fn, use=tvi912b+2p, use=tvi912b+printer, - use=tvi912b-unk, - -tvi920b-vb-p|tvi920c-vb-p|tvi920b-p-vb|tvi920c-p-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; no attributes; page print), - use=tvi920b+fn, use=tvi912b+vb, use=tvi912b+printer, - use=tvi912b-unk, - -tvi920b-2p|tvi920c-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; half-intensity attribute), - use=tvi920b+fn, use=tvi912b+2p, use=tvi912b+dim, - use=tvi912b-unk, - -tvi920b-2p-mc|tvi920c-2p-mc|tvi920b-mc-2p|tvi920c-mc-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; magic cookies), - use=tvi920b+fn, use=tvi912b+2p, use=tvi912b+mc, - use=tvi912b-unk, - -tvi920b-vb|tvi920c-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; half-intensity attribute), - use=tvi920b+fn, use=tvi912b+vb, use=tvi912b+dim, - use=tvi912b-unk, - -tvi920b-vb-mc|tvi920c-vb-mc|tvi920b-mc-vb|tvi920c-mc-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; magic cookies), - use=tvi920b+fn, use=tvi912b+vb, use=tvi912b+mc, - use=tvi912b-unk, - -tvi920b|tvi920c|TeleVideo TVI-920B or TVI-920C (half-intensity attribute), - use=tvi920b+fn, use=tvi912b+dim, use=tvi912b-unk, - -tvi920b-mc|tvi920c-mc|TeleVideo TVI-920B or TVI-920C (magic cookies), - use=tvi920b+fn, use=tvi912b+mc, use=tvi912b-unk, - -# Televideo 921 and variants -# From: Tim Theisen 22 Sept 1995 -# (tvi921: removed :ko=bt: before translation, I see no backtab cap; -# also added empty to suppress tic warning -- esr) -tvi921|televideo model 921 with sysline same as page & real vi function, - OTbs, OTpt, am, hs, xenl, xhp, - cols#80, lines#24, xmc#0, - acsc=, clear=^Z, cnorm=\E.3, cr=^M, cub1=^H, cud1=^V, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<3/>, cuu1=^K, - cvvis=\E.2, dch1=\EW, dl1=\ER$<1*/>, dsl=\Ef\r\Eg, ed=\EY, - el=\ET, fsl=\Eg, home=^^, ht=^I, ich1=\EQ, - if=/usr/local/share/tabset/stdcrt, il1=\EE, ind=^J, invis@, - is2=\El\E"\EF1\E.3\017\EA\E<, kbs=^H, kclr=^Z, kcub1=^H, - kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER$<1*/>, - ked=\EY, kel=\ET, kich1=\EQ, kil1=\EE, nel=^M^J, rmacs=\E%%, - rmir=, smacs=\E$, smir=, tsl=\Ef\EG0, use=adm+sgr, -# without the beeper -# (tvi92B: removed :ko=bt: before translation, I see no backtab cap; -# also added empty to suppress tic warning -- esr) -tvi92B|televideo model 921 with sysline same as page & real vi function & no beeper, - am, hs, xenl, xhp, - cols#80, lines#24, xmc#0, - acsc=, clear=^Z, cnorm=\E.3, cr=^M, cub1=^H, cud1=^V, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<3/>, cuu1=^K, - cvvis=\E.2, dch1=\EW, dl1=\ER$<1*/>, dsl=\Ef\r\Eg, ed=\EY, - el=\ET, flash=\Eb$<200/>\Ed, fsl=\Eg, home=^^, ht=^I, - ich1=\EQ, if=/usr/local/share/tabset/stdcrt, il1=\EE, ind=^J, - invis@, is2=\El\E"\EF1\E.3\017\EA\E<, kbs=^H, kclr=^Z, - kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, - kdl1=\ER$<1*/>, ked=\EY, kel=\ET, kich1=\EQ, kil1=\EE, - nel=^M^J, rmacs=\E%%, smacs=\E$, tsl=\Ef\EG0, use=adm+sgr, -# (tvi92D: removed :ko=bt: before translation, I see no backtab cap -- esr) -tvi92D|tvi92B with DTR instead of XON/XOFF & better padding, - dl1=\ER$<2*/>, il1=\EE$<2*/>, - is2=\El\E"\EF1\E.3\016\EA\E<, kdl1=\ER$<2*/>, - kil1=\EE$<2*/>, use=tvi92B, - -# (tvi924: This used to have , . I put the new strings -# in from a BSD termcap file because it looks like they do something the -# old ones skip -- esr) -tvi924|televideo tvi924, - am, bw, hs, in, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, wsl#80, xmc#0, - bel=^G, blink=\EG2, cbt=\EI, civis=\E.0, clear=\E*0, - cnorm=\E.3, cr=^M, csr=\E_%p1%{32}%+%c%p2%{32}%+%c, - cub1=^H, cud1=^V, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, cvvis=\E.1, - dch1=\EW, dl1=\ER, dsl=\Es0\Ef\031, ed=\Ey, el=\Et, - flash=\Eb$<200>\Ed, fsl=\031\Es1, home=^^, ht=^I, hts=\E1, - ich1=\EQ, if=/usr/local/share/tabset/stdcrt, il1=\EE, ind=^J, - invis@, is1=\017\E%\E'\E(\EDF\EC\EG0\EN0\Es0\Ev0, - kbs=^H, kclr=\E*0, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, - kdch1=\EW, kdl1=\ER, ked=\Ey, kel=\Et, kf0=^A@\r, kf1=^AA\r, - kf10=^AJ\r, kf11=^AK\r, kf12=^AL\r, kf13=^AM\r, kf14=^AN\r, - kf15=^AO\r, kf2=^AB\r, kf3=^AC\r, kf4=^AD\r, kf5=^AE\r, - kf6=^AF\r, kf7=^AG\r, kf8=^AH\r, kf9=^AI\r, khome=^^, - kich1=\EQ, kil1=\EE, lf0=F1, lf1=F2, lf10=F11, lf2=F3, lf3=F4, - lf4=F5, lf5=F6, lf6=F7, lf7=F8, lf8=F9, lf9=F10, - pfkey=\E|%p1%{49}%+%c%p2%s\031, ri=\Ej, tbc=\E3, tsl=\Ef, - use=adm+sgr, - -# TVI925 DIP switches. In each of these, D = Down and U = Up, -# -# Here are the settings for the external (baud) switches (S1): -# -# Position Baud -# 7 8 9 10 [Printer] -# 1 2 3 4 [Main RS232] -# ----------------------------------------------------- -# D D D D 9600 -# D D D U 50 -# D D U D 75 -# D D U U 110 -# D U D D 135 -# D U D U 150 -# D U U D 300 -# D U U U 600 -# U D D D 1200 -# U D D U 1800 -# U D U D 2400 -# U D U U 3600 -# U U D D 4800 -# U U D U 7200 -# U U U D 9600 -# U U U U 19200 -# -# -# Settings for word length and stop-bits (S1) -# -# Position Description -# 5 6 -# --------------------------- -# U - 7-bit word -# D - 8-bit word -# - U 2 stop bits -# - D 1 stop bit -# -# -# S2 (external) settings -# -# Position Up Dn Description -# -------------------------------------------- -# 1 X Local edit -# X Duplex edit (transmit editing keys) -# -------------------------------------------- -# 2 X 912/920 emulation -# X 925 -# -------------------------------------------- -# 3 X -# 4 X No parity -# 5 X -# -------------------------------------------- -# 3 X -# 4 X Odd parity -# 5 X -# -------------------------------------------- -# 3 X -# 4 X Even parity -# 5 X -# -------------------------------------------- -# 3 X -# 4 X Mark parity -# 5 X -# -------------------------------------------- -# 3 X -# 4 X Space parity -# 5 X -# -------------------------------------------- -# 6 X White on black display -# X Black on white display -# -------------------------------------------- -# 7 X Half Duplex -# 8 X -# -------------------------------------------- -# 7 X Full Duplex -# 8 X -# -------------------------------------------- -# 7 X Block mode -# 8 X -# -------------------------------------------- -# 9 X 50 Hz -# X 60 Hz -# -------------------------------------------- -# 10 X CR/LF (Auto LF) -# X CR only -# -# S3 (internal switch) settings: -# -# Position Up Dn Description -# -------------------------------------------- -# 1 X Keyclick off -# X Keyclick on -# -------------------------------------------- -# 2 X English -# 3 X -# -------------------------------------------- -# 2 X German -# 3 X -# -------------------------------------------- -# 2 X French -# 3 X -# -------------------------------------------- -# 2 X Spanish -# 3 X -# -------------------------------------------- -# 4 X Blinking block cursor -# 5 X -# -------------------------------------------- -# 4 X Blinking underline cursor -# 5 X -# -------------------------------------------- -# 4 X Steady block cursor -# 5 X -# -------------------------------------------- -# 4 X Steady underline cursor -# 5 X -# -------------------------------------------- -# 6 X Screen blanking timer (ON) -# X Screen blanking timer (OFF) -# -------------------------------------------- -# 7 X Page attributes -# X Line attributes -# -------------------------------------------- -# 8 X DCD disconnected -# X DCD connected -# -------------------------------------------- -# 9 X DSR disconnected -# X DSR connected -# -------------------------------------------- -# 10 X DTR Disconnected -# X DTR connected -# -------------------------------------------- -# -# (tvi925: BSD has . I got and from there -- esr) -tvi925|televideo 925, - OTbs, am, bw, hs, ul, - cols#80, lines#24, xmc#1, - bel=^G, cbt=\EI, clear=^Z, cnorm=\E.4, cr=^M, cub1=^H, cud1=^V, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - cvvis=\E.2, dch1=\EW, dl1=\ER, dsl=\Eh, ed=\EY, el=\ET, - flash=\Eb$<200>\Ed, fsl=^M\Eg, home=^^, ht=^I, hts=\E1, - ich1=\EQ, il1=\EE, ind=^J, invis@, is2=\El\E", kbs=^H, kclr=^Z, - kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, - ked=\EY, kel=\ET, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, - kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, - kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, ri=\Ej, tbc=\E3, - tsl=\Eh\Ef, use=adm+sgr, -# TeleVideo 925 from Mitch Bradley via BRL -# to avoid "magic cookie" standout glitch: -tvi925-hi|TeleVideo Model 925 with half intensity standout mode, - xmc@, - kbs=^H, kcub1=^H, kcud1=^J, rmso=\E(, smso=\E), use=tvi925, - -# From: Todd Litwin 28 May 1993 -# Originally Tim Curry, Univ. of Central Fla., 5/21/82 -# for additional capabilities, -# The following tvi descriptions from B:pjphar and virus!mike -# is for all 950s. It sets the following attributes: -# full duplex (\EDF) write protect off (\E() -# conversation mode (\EC) graphics mode off (\E%) -# white on black (\Ed) auto page flip off (\Ew) -# turn off status line (\Eg) clear status line (\Ef\r) -# normal video (\E0) monitor mode off (\EX or \Eu) -# edit mode (\Er) load blank char to space (\Ee\040) -# line edit mode (\EO) enable buffer control (^O) -# protect mode off (\E\047) duplex edit keys (\El) -# program unshifted send key to send line all (\E016) -# program shifted send key to send line unprotected (\E004) -# set the following to nulls: -# field delimiter (\Ex0\200\200) -# line delimiter (\Ex1\200\200) -# start-protected field delimiter (\Ex2\200\200) -# end-protected field delimiter (\Ex3\200\200) -# set end of text delimiter to carriage return/null (\Ex4\r\200) -# -# TVI 950 Switch Setting Reference Charts -# -# TABLE 1: -# -# S1 1 2 3 4 5 6 7 8 9 10 -# +-----------------------+-----+-----+-----------------------+ -# | Computer Baud Rate |Data |Stop | Printer Baud Rate | -# | |Bits |Bits | | -# +------+-----------------------+-----+-----+-----------------------+ -# | Up | See | 7 | 2 | See | -# +------+-----------------------+-----+-----+-----------------------+ -# | Down | TABLE 2 | 8 | 1 | TABLE 2 | -# +------+-----------------------+-----+-----+-----------------------+ -# -# -# S2 1 2 3 4 5 6 7 8 9 10 -# +-----+-----+-----------------+-----+-----------+-----+-----+ -# |Edit |Cursr| Parity |Video|Transmiss'n| Hz |Click| -# +------+-----+-----+-----------------+-----+-----------+-----+-----+ -# | Up | Dplx|Blink| See |GonBk| See | 60 | Off | -# +------+-----+-----+-----------------+-----+-----------+-----+-----+ -# | Down |Local|St'dy| TABLE 3 |BkonG| CHART | 50 | On | -# +------+-----+-----+-----------------+-----+-----------+-----+-----+ -# -# TABLE 2: -# -# +-----------+-----+-----+-----+-----+-----------+ -# | Display | 1 | 2 | 3 | 4 | Baud | -# +-----------+-----+-----+-----+-----+ | -# | Printer | 7 | 8 | 9 | 10 | Rate | -# +-----------+-----+-----+-----+-----+-----------+ -# | D | D | D | D | 9600 | -# | U | D | D | D | 50 | -# | D | U | D | D | 75 | -# | U | U | D | D | 110 | -# | D | D | U | D | 135 | -# | U | D | U | D | 150 | -# | D | U | U | D | 300 | -# | U | U | U | D | 600 | -# | D | D | D | U | 1200 | -# | U | D | D | U | 1800 | -# | D | U | D | U | 2400 | -# | U | U | D | U | 3600 | -# | D | D | U | U | 4800 | -# | U | D | U | U | 7200 | -# | D | U | U | U | 9600 | -# | U | U | U | U | 19200 | -# +-----+-----+-----+-----+-----------+ -# -# TABLE 3: -# +-----+-----+-----+-----------+ -# | 3 | 4 | 5 | Parity | -# +-----+-----+-----+-----------+ -# | X | X | D | None | -# | D | D | U | Odd | -# | D | U | U | Even | -# | U | D | U | Mark | -# | U | U | U | Space | -# +-----+-----+-----+-----------+ -# X = don't care -# -# CHART: -# +-----+-----+-----------------+ -# | 7 | 8 | Communication | -# +-----+-----+-----------------+ -# | D | D | Half Duplex | -# | D | U | Full Duplex | -# | U | D | Block | -# | U | U | Local | -# +-----+-----+-----------------+ -# -# (tvi950: early versions had obsolete ":ma=^Vj^Kk^Hh^Ll^^H:". -# I also inserted and ; the :ko: string indicated that -# should be present and all tvi native modes use the same string for this. -# Finally, note that BSD has cud1=^V. -- esr) -tvi950|televideo 950, - OTbs, am, hs, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, xmc#1, - acsc=b\011c\014d\re\ni\013, bel=^G, cbt=\EI, clear=\E*, - cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, dsl=\Eg\Ef\r, ed=\Ey, el=\Et, flash=\Eb$<200/>\Ed, - fsl=^M, home=^^, ht=^I, hts=\E1, ich1=\EQ, il1=\EE, ind=^J, - invis@, - is2=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\El\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\Ef\r, - kbs=^H, kcbt=\EI, kclr=\E*, kcub1=^H, kcud1=^V, kcuf1=^L, - kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\Ey, kel=\Et, kf0=^A0\r, - kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, - kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, - kich1=\EQ, kil1=\EE, mc4=\Ea, mc5=\E`, ri=\Ej, rmacs=^X, - rmir=\Er, smacs=^U, smir=\Eq, tbc=\E3, tsl=\Eg\Ef, - use=adm+sgr, -# -# is for 950 with two pages adds the following: -# set 48 line page (\E\\2) -# place cursor at page 0, line 24, column 1 (\E-07 ) -# set local (no send) edit keys (\Ek) -# -# two page 950 adds the following: -# when entering ex, set 24 line page (\E\\1) -# when exiting ex, reset 48 line page (\E\\2) -# place cursor at 0,24,1 (\E-07 ) -# set duplex (send) edit keys (\El) when entering vi -# set local (no send) edit keys (\Ek) when exiting vi -# -tvi950-2p|televideo950 w/2 pages, - is2=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\Ek\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\E\\2\E-07 \011, - rmcup=\E\\2\E-07\s, rmkx=\Ek, smcup=\E\\1\E-07\s, - smkx=\El, use=tvi950, -# -# is for 950 with four pages adds the following: -# set 96 line page (\E\\3) -# place cursor at page 0, line 24, column 1 (\E-07 ) -# -# four page 950 adds the following: -# when entering ex, set 24 line page (\E\\1) -# when exiting ex, reset 96 line page (\E\\3) -# place cursor at 0,24,1 (\E-07 ) -# -tvi950-4p|televideo950 w/4 pages, - is2=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\Ek\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\E\\3\E-07 \011, - rmcup=\E\\3\E-07\s, rmkx=\Ek, smcup=\E\\1\E-07\s, - smkx=\El, use=tvi950, -# -# for reverse video 950 changes the following: -# set reverse video (\Ed) -# -# set vb accordingly (\Ed ...delay... \Eb) -# -tvi950-rv|televideo950 rev video, - flash=\Ed$<200/>\Eb, - is2=\EDF\EC\Eb\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\El\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0, - use=tvi950, - -# tvi950-rv-2p uses the appropriate entries from 950-2p and 950-rv -tvi950-rv-2p|televideo950 rev video w/2 pages, - flash=\Ed$<200/>\Eb, - is2=\EDF\EC\Eb\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\Ek\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\E\\2\E-07\s, - rmcup=\E\\2\E-07\s, rmkx=\Ek, smcup=\E\\1\E-07\s, - smkx=\El, use=tvi950, - -# tvi950-rv uses the appropriate entries from 950-4p and 950-rv -tvi950-rv-4p|televideo950 rev video w/4 pages, - flash=\Ed$<200/>\Eb, - is2=\EDF\EC\Eb\EG0\Er\EO\E'\E(\E%\Ew\EX\Ee \017\011\Ek\E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0\E\\3\E-07\s, - rmcup=\E\\3\E-07\s, rmkx=\Ek, smcup=\E\\1\E-07\s, - smkx=\El, use=tvi950, -# From: Andreas Stolcke -# (tvi955: removed obsolete ":ma:=^Vj^Kk^Hh^Ll^^H"; -# removed incorrect (and overridden) ":do=^J:"; fixed broken continuations in -# the :rs: string, inserted the implied by the termcap :ko: string. Note -# the :ko: string had :cl: in it, which means that one of the original -# , had to be wrong; set because that's what -# the 950 has. Finally, corrected the string to match the 950 and what -# ko implies -- esr) -# If the BSD termcap file was right, would -# also work. -tvi955|televideo 955, - OTbs, mc5i, msgr@, - it#8, xmc@, - acsc=0_`RjHkGlFmEnIoPqKsQtMuLvOwNxJ, blink=\EG2, - civis=\E.0, cnorm=\E.2, cud1=^V, cup=\E[%i%p1%d;%p2%dH, - cvvis=\E.1, dim=\E[=5h, ind@, invis=\EG1, - is2=\E[=3l\EF1\Ed\EG0\E[=5l\E%\El, kctab=\E2, khts=\E1, - knp=\EK, kpp=\EJ, krmir=\EQ, ktbc=\E3, mc0=\EP, rmacs=\E%%, - rmam=\E[=7l, rmxon=^N, - rs1=\EDF\EC\Eg\Er\EO\E'\E(\Ew\EX\Ee \017\E0P\E6\0\E0p\E4\0\Ef\r, - sgr0=\EG0\E[=5l, smacs=\E$, smam=\E[=7h, smxon=^O, - use=tvi950, -tvi955-w|955-w|televideo955 w/132 cols, - cols#132, - is2=\E[=3h\EF1\Ed\EG0\E[=5l\E%\El, use=tvi955, -# use half-intensity as normal mode, full intensity as -tvi955-hb|955-hb|televideo955 half-bright, - bold=\E[=5l, dim@, is2=\E[=3l\EF1\Ed\EG0\E[=5h\E%\El, - sgr0=\EG0\E[=5h, use=tvi955, -# From: Humberto Appleton , 880521 UT Austin -# (tvi970: removed ":sg#0:"; removed =\E[m, =\E[m; -# added ////// from BRL. -# According to BRL we could have =\E>, =\E= but I'm not sure what -# it does to the function keys. I deduced /. -# also added empty to suppress tic warning, -- esr) -tvi970|televideo 970, - OTbs, OTpt, am, da, db, mir, msgr, - cols#80, it#8, lines#24, - acsc=, cbt=\E[Z, clear=\E[H\E[2J, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=\ED, cuf1=\E[C, cup=\E[%i%p1%d;%p2%df, - cuu1=\EM, cvvis=\E[1Q, dch1=\E[P, dl1=\E[M, dsl=\Eg\Ef\r, - ed=\E[J, el=\E[K, flash=\E[5m$<200/>\E[m, home=\E[H, - hpa=\E[%i%p1%dG, ht=^I, il1=\E[L, - is2=\E<\E[?21l\E[19h\E[1Q\E[10l\E[7l\E[H\E[2J, - kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\E?a, kf2=\E?b, kf3=\E?c, kf4=\E?d, kf5=\E?e, kf6=\E?f, - kf7=\E?g, kf8=\E?h, kf9=\E?i, khome=\E[H, ri=\EM, rmacs=\E(B, - rmam=\E[?7h, rmcup=, rmir=\E[4l, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smacs=\E(B, smam=\E[?7l, - smcup=\E[?20l\E[?7h\E[1Q, smir=\E[4h, smso=\E[7m, - smul=\E[4m, vpa=\E[%i%p1%dd, -tvi970-vb|televideo 970 with visual bell, - flash=\E[?5h\0\0\0\0\0\0\0\0\0\0\0\0\0\E[?5l, - use=tvi970, -tvi970-2p|televideo 970 with using 2 pages of memory, - rmcup=\E[H\E[J\E[V, smcup=\E[U\E[?20l\E[?7h\E[1Q, - use=tvi970, -# Works with vi and rogue. NOTE: Esc v sets autowrap on, Esc u sets 80 chars -# per line (rather than 40), Esc K chooses the normal character set. Not sure -# padding is needed, but adapted from the tvi920c termcap. The and -# strings are klutzy, but at least use no screen space. -# (tvipt: removed obsolete ":ma=^Kk^Ll^R^L:". I wish we knew , -# its absence means =\Ev isn't safe to use. -- esr) -# From: Gene Rochlin 9/19/84. -# The ////, and caps are from BRL, which says: -# F1 and F2 should be programmed as ^A and ^B; required for UNIFY. -tvipt|televideo personal terminal, - OTbs, am, - cols#80, lines#24, - cbt=\EI, clear=^Z, cub1=^H, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dl1=\ER$<5*>, - ed=\EY, el=\ET, home=^^, if=/usr/local/share/tabset/stdcrt, - il1=\EE$<5*>, is2=\Ev\Eu\EK, kbs=^H, kcub1=^H, kcud1=^J, - kcuf1=^L, kcuu1=^K, kf0=^A, kf1=^B, khome=^^, mc4=^T, mc5=^R, - rmso=\EF, rmul=\EF, smso=\EG1@A\EH, smul=\EG1B@\EH, -# From: Nathan Peterson , 03 Sep 1996 -tvi9065|televideo 9065, - am, bw, chts, hs, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lh#1, lines#25, lm#0, lw#9, ma#4, nlab#8, vt#0, - wnum#0, wsl#30, - acsc='r0_jhkglfmeniopqksqtmulvownxj, bel=^G, - blink=\EG2, bold=\EG\,, cbt=\EI, civis=\E.0, clear=^Z, - cnorm=\E.3, cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, - cub1=^H, cud=\E[%p1%dB, cud1=^V, cuf=\E[%p1%dC, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu=\E[%p1%dA, - cuu1=^K, cvvis=\E.2, dch=\E[%p1%dP, dch1=\EW, dim=\EGp, - dl=\E[%p1%dM, dl1=\ER, dsl=\E_30\r, ech=\E[%p1%d@, ed=\EY, - el=\ET, flash=\Eb$<15>\Ed, fsl=^M, home=^^, ht=^I, hts=\E1, - ich=\E[%p1%d@, if=/usr/local/share/tabset/stdcrt, - il=\E[%p1%dL, il1=\EE, ind=^J, indn=\E[%p1%dS, invis=\EG1, - ip=$<3>, - is1=\E"\E%\E'\E(\EG@\EO\EX\E[=5l\E[=6l\E[=7h\Ed\Er, - is2=\EF2\EG0\E\\L, is3=\E<\E[=4l\E[=8h, kHOM=\E\s\s\s, - kbs=^H, kcbt=\EI, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, - kdch1=\EW, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, kf12=^AK\r, - kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, - kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, ll=\E[25;1H, - mc0=\E[0;0i, mc4=\Ea, mc5=\E`, nel=^M^J, - pfkey=\E|%p1%{48}%+%c3%p2%s\031, - pfloc=\E|%p1%{48}%+%c2%p2%s\031, - pfx=\E|%p1%{48}%+%c1%p2%s\031, - pln=\E_%p1%{63}%+%c%p2%s\r, prot=\E&, - rep=\E[%p2%db%p1%c, rev=\EG4, - rf=/usr/local/share/tabset/stdcrt, ri=\Ej, rin=\E[%p1%dT, - rmacs=\E%%, rmam=\E[=7l, rmcup=\E.3\Er\E[1;25r\E[25;0H, - rmdc=\0, rmir=\Er, rmln=\E[4;1v, rmso=\EG0, rmul=\EG0, - rmxon=^N, rs1=\EC\EDF\E[0;0v\E[8;1v\E[=65l, - rs2=\E.b\E[10;20v\E[14;1v\E[3;0v\E[7;0v\E[=11.h\E[=12.h\E[=13.h\E[=14.h\E[=15l\E[=20h\E[=60l\E[=61h\E[=9l\E[=10l\E[=21l\E[=23l\E[=3l\E_40\E_50\En\Ew\Ee \Ex0\0\0\Ex1\0\0\Ex2\0\0\Ex3\0\0\Ex4\0\0\E1, - rs3=\E[=19h\E.3\E9\E0O\0\0\0\0\0\E0o\0\0\0\0\0\E0J\177\0\0\0\0, - sgr=\EG0%?%p1%t\EGt%;%?%p2%t\EG8%;%?%p3%t\EG4%;%?%p4%t\EG2%;%?%p5%t\EGp%;%?%p6%t\EG\,%;%?%p7%t\EG1%;%?%p9%t\E$%e\E%%%;, - sgr0=\EG0, smacs=\E$, smam=\E=7h, smcup=\E.2, smdc=\Er, - smir=\Eq, smln=\E[4;2v, smso=\EGt, smul=\EG8, smxon=^O, - tbc=\E3, tsl=\E[4;1v\E_30, uc=\EG8\EG0, - -#### Visual (vi) -# -# In September 1993, Visual Technology of Westboro, Massachusetts, -# merged with White Pine Software of Nashua, New Hampshire. -# -# White Pine Software may be contacted at +1 603/886-9050. -# Or visit White Pine on the World Wide Web at URL http://www.wpine.com. -# - -# Visual 50 from Beau Shekita, BTL-Whippany -# Recently I hacked together the following termcap for Visual -# Technology's Visual 50 terminal. It's a slight modification of -# the vt52 termcap. -# It's intended to run when the Visual 50 is in vt52 emulation mode -# (I know what you're thinking; if it's emulating a vt52, then why -# another termcap? Well, it turns out that the Visual 50 can handle -# and db(?) among other things, which the vt52 can't) -# The termcap works OK for the most part. The only problem is on -# character inserts. The whole line gets painfully redrawn for each -# character typed. Any suggestions? -# Beau's entry is combined with the vi50 entry from University of Wisconsin. -# Note especially the function. - are really l4-l6 in -# disguise; - are really l1-l3. -vi50|visual 50, - OTbs, OTpt, am, da, db, msgr, - cols#80, it#8, lines#24, - OTnl=^J, bel=^G, cbt=\Ez$<4/>, clear=\EH\EJ, cr=^M, cub1=^H, - cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=\EA, dl1=\EM$<3*/>, ed=\EJ, el=\EK$<16/>, home=\EH, - ht=^I, il1=\EL, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, kf1=\EP, kf2=\EQ, kf3=\ER, kf4=\EV, - kf5=\EE, kf6=\E], kf7=\EL, kf8=\Ev, kf9=\EM, khome=\EH, - nel=^M^J, ri=\EI, rmso=\ET, rmul=\EW, smso=\EU, smul=\ES, -# this one was BSD & SCO's vi50 -vi50adm|visual 50 in adm3a mode, - am, msgr, - cols#80, it#8, lines#24, - bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dl1=\EM, - ed=\Ek, el=\EK, home=\EH, ht=^I, il1=\EL, ind=^J, kbs=^H, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\EH, - rmso=\ET, smso=\EU, -# From: Jeff Siegal -vi55|Visual 55, - OTbs, am, mir, msgr, - cols#80, it#8, lines#24, - clear=\Ev, csr=\E_%p1%{65}%+%c%p2%{65}%+%c, cub1=^H, - cud1=^J, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=\EA, dch1=\Ew, dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, - il1=\EL, is2=\Ev\E_AX\Eb\EW\E9P\ET, kbs=^H, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, ri=\EI, rmir=\Eb, rmso=\ET, - smir=\Ea, smso=\EU, - -# Visual 200 from BRL -# The following switch settings are assumed for normal operation: -# FULL_DUPLEX SCROLL CR -# AUTO_NEW_LINE_ON VISUAL_200_EMULATION_MODE -# Other switches may be set for operator convenience or communication -# requirements. -# Character insertion is kludged in order to get around the "beep" misfeature. -# (This cap is commented out because / is more efficient -- esr) -# Supposedly "4*" delays should be used for , , , , -# and strings, but we seem to get along fine without them. -vi200|visual 200, - OTbs, OTpt, am, mir, msgr, - OTkn#10, cols#80, it#8, lines#24, - acsc=, bel=^G, cbt=\Ez, clear=\Ev, cnorm=\Ec, cr=^M, cub1=^H, - cud1=^J, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=\EA, cvvis=\Ed, dch1=\EO, dim=\E4, dl1=\EM, ed=\Ey, - el=\Ex, home=\EH, ht=^I, hts=\E1, il1=\EL, ind=^J, invis=\Ea, - kbs=^H, kclr=\Ev, kctab=\E2, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kdch1=\EO, kdl1=\EM, ked=\EJ, kel=\Et, kf0=\E?p, - kf1=\E?q, kf2=\E?r, kf3=\E?s, kf4=\E?t, kf5=\E?u, kf6=\E?v, - kf7=\E?w, kf8=\E?x, kf9=\E?y, khome=\EH, khts=\E1, kich1=\Ei, - kil1=\EL, krmir=\Ej, mc0=\EH\E], mc4=\EX, mc5=\EW, ri=\EI, - rmacs=\EG, rmkx=\E>, rmso=\E3, - rs1=\E3\Eb\Ej\E\El\EG\Ec\Ek\EX, sgr0=\E3\Eb, smacs=\EF, - smkx=\E=, smso=\E4, tbc=\Eg, -# The older Visuals didn't come with function keys. This entry uses -# and so that the keypad keys can be used as function keys. -# If your version of vi doesn't support function keys you may want -# to use vi200-f. -vi200-f|visual 200 no function keys, - is2=\E3\Eb\Ej\E\\\El\EG\Ed\Ek, kf0=\E?p, kf1=\E?q, - kf2=\E?r, kf3=\E?s, kf4=\E?t, kf5=\E?u, kf6=\E?v, kf7=\E?w, - kf8=\E?x, kf9=\E?y, rmkx=\E>, rmso@, smkx=\E=, smso@, - use=vi200, -vi200-rv|visual 200 reverse video, - cnorm@, cvvis@, ri@, rmso=\E3, smso=\E4, use=vi200, - -# the function keys are programmable but we don't reprogram them to their -# default values with because programming them is very verbose. maybe -# an initialization file should be made for the 300 and they could be stuck -# in it. -# (vi300: added / based on init string -- esr) -vi300|visual 300 ansi x3.64, - am, bw, mir, xenl, - cols#80, lines#24, - bel=^G, cbt=\E[Z, clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - dch1=\E[P$<40>, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, - il1=\E[L, ind=^J, - is2=\E[7s\E[2;3;4;20;?5;?6l\E[12;?7h\E[1Q\E[0;1(D\E[8s, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\E_A\E\\, kf2=\E_B\E\\, kf3=\E_C\E\\, kf4=\E_D\E\\, - kf5=\E_E\E\\, kf6=\E_F\E\\, kf7=\E_G\E\\, kf8=\E_H\E\\, - kf9=\E_I\E\\, khome=\E[H, ri=\EM, rmam=\E[?7l, rmir=\E[4l, - rmso=\E[m, rmul=\E[m, sgr0=\E[m, smam=\E[?7h, smir=\E[4h, - smso=\E[1m, smul=\E[4m, -# some of the vi300s have older firmware that has the command -# sequence for setting editing extent reversed. -vi300-old|visual 300 with old firmware (set edit extent reversed), - is2=\E[7s\E[2;3;4;20;?5;?6l\E[12;?7h\E[2Q\E[0;1(D\E[8s, - use=vi300, - -# Visual 500 prototype entry from University of Wisconsin. -# The best place to look for the escape sequences is page A1-1 of the -# Visual 500 manual. The initialization sequence given here may be -# overkill, but it does leave out some of the initializations which can -# be done with the menus in set-up mode. -# The :xp: line below is so that emacs can understand the padding requirements -# of this slow terminal. :xp: is 10 time the padding factor. -# (vi500: removed unknown :xp#4: termcap; -# also added empty to suppress tic warning -- esr) -vi500|visual 500, - am, mir, msgr, - cols#80, it#8, lines#33, - acsc=, cbt=\Ez$<4/>, clear=\Ev$<6*/>, cr=^M, - csr=\E(%p1%{32}%+%c%p2%{32}%+%c, cub1=^H, cud1=\EB, - cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, - dch1=\EO$<3*/>, dl1=\EM$<3*/>, ed=\Ey$<3*/>, - el=\Ex$<16/>, home=\EH, ht=\011$<8/>, il1=\EL\Ex$<3*/>, - ind=^J, - is2=\E3\E\001\E\007\E\003\Ek\EG\Ed\EX\El\E>\Eb\E\\, - kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - khome=\EH, nel=^M^J, rmacs=^O, rmir=\Ej, rmso=\E^G, - rmul=\E^C, smacs=^N, smir=\Ei, smso=\E^H, smul=\E^D, - -# The visual 550 is a visual 300 with tektronix graphics, -# and with 33 lines. clear screen is modified here to -# also clear the graphics. -vi550|visual 550 ansi x3.64, - lines#33, - clear=\030\E[H\E[2J, use=vi300, - -vi603|visual603|visual 603, - hs, mir, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, - csr=\E[%i%p1%d;%p2%dr, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - dsl=\EP2;1~\E\\, ed=\E[J, el=\E[K, fsl=\E\\, il1=\E[L, - ind=\ED, is1=\E>\E[?3l\E[?4l\E[?7h\E[?8h\E[1;24r, - rev=\E[7m, ri=\EM, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, - sgr0=\E[m, smir=\E[4h, smso=\E[7m, smul=\E[4m, tsl=\EP2~, - use=vt100, - -#### Wyse (wy) -# -# Wyse Technology -# 3471 North First Street -# San Jose, CA 95134 -# Vox: (408)-473-1200 -# Fax: (408) 473-1222 -# Web: http://www.wyse.com -# -# Wyse sales can be reached by phone at 1-800-GET-WYSE. Tech support is at -# (800)-800-WYSE (option 5 gets you a human). There's a Web page at the -# obvious address, . They keep terminfo entries at -# . -# -# Wyse bought out Link Technology, Inc. in 1990 and closed it down in 1995. -# They now own the Qume and Amdek brands, too. So these are the people to -# talk with about all Link, Qume, and Amdek terminals. -# -# These entries include a few small fixes. -# I canceled the bel capacities in the vb entries. -# I made two trivial syntax fixes in the wyse30 entry. -# I made some entries relative to adm+sgr. -# -# -# Note: The wyse75, wyse85, and wyse99 have been discontinued. - -# Although the Wyse 30 can support more than one attribute -# it requires magic cookies to do so. Many applications do not -# function well with magic cookies. The following terminfo uses -# the protect mode to support one attribute (dim) without cookies. -# If more than one attribute is needed then the wy30-mc terminfo -# should be used. -# -wy30|wyse30|Wyse 30, - am, bw, hs, mc5i, mir, msgr, xon, - cols#80, lh#1, lines#24, lw#8, ma#1, nlab#8, wsl#45, - acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, cbt=\EI, - civis=\E`0, clear=\E+$<80>, cnorm=\E`1, cr=^M, cub1=^H, - cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, - cuu1=^K, dch1=\EW$<10>, dim=\E`7\E), dl1=\ER$<1>, - dsl=\EF\r, ed=\EY$<80>, el=\ET, flash=\E`8$<100/>\E`9, - fsl=^M, home=^^, ht=\011$<1>, hts=\E1, il1=\EE$<2>, - ind=\n$<2>, ip=$<2>, is2=\E'\E(\E\^3\E`9\016\024, - kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H, kcud1=^J, kcuf1=^L, - kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, kel=\ET, kent=\E7, - kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, - kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, khome=^^, kich1=\EQ, - kil1=\EE, knp=\EK, kpp=\EJ, krpl=\Er, ll=^^^K, mc0=\EP, mc4=^T, - mc5=^X, nel=^M^J, pfx=\Ez%p1%{63}%+%c%p2%s\177, - pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E`7\E), ri=\Ej$<3>, - rmacs=\EH^C, rmir=\Er, rmln=\EA11, rmso=\E(, - sgr=%?%p1%p5%p8%|%|%t\E`7\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;, - sgr0=\E(\EH\003, smacs=\EH^B, smir=\Eq, smln=\EA10, - smso=\E`7\E), tbc=\E0, tsl=\EF, -# -# This terminal description uses the non-hidden attribute mode -# (with magic cookie). -# -# (wy30-mc: added to suppress tic warning --esr) -wy30-mc|wyse30-mc|wyse 30 with magic cookies, - msgr@, - ma@, xmc#1, - blink=\EG2, dim=\EGp, prot=\EG0\E), rmacs=\EG0\EH\003, - rmcup=\EG0, rmso=\EG0, - sgr=\EG%{48}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;, - sgr0=\EG0\E(\EH\003, smacs=\EG0\EH\002, smcup=, - smso=\EG4, use=wy30, use=adm+sgr, -# The mandatory pause used by does not work with -# older versions of terminfo. If you see this effect then -# unset xon and delete the / from the delay. -# i.e. change $<100/> to $<100> -wy30-vb|wyse30-vb|wyse 30 visible bell, - bel@, use=wy30, -# -# The Wyse 50 can support one attribute (e.g. Dim, Inverse, -# Normal) without magic cookies by using the protect mode. -# The following description uses this feature, but when more -# than one attribute is put on the screen at once, all attributes -# will be changed to be the same as the last attribute given. -# The Wyse 50 can support more attributes when used with magic -# cookies. The wy50-mc terminal description uses magic cookies -# to correctly handle multiple attributes on a screen. -# -wy50|wyse50|Wyse 50, - am, bw, hs, mc5i, mir, msgr, xon, - cols#80, lh#1, lines#24, lw#8, ma#1, nlab#8, wsl#45, - acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, cbt=\EI, - civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=^M, cub1=^H, - cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, - cuu1=^K, dch1=\EW$<1>, dim=\E`7\E), dl1=\ER, dsl=\EF\r, - ed=\EY$<20>, el=\ET, flash=\E`8$<100/>\E`9, fsl=^M, - home=^^, ht=^I, hts=\E1, il1=\EE, ind=\n$<2>, ip=$<1>, - is1=\E`\:\E`9$<30>, is2=\016\024\E'\E(, kHOM=\E{, kbs=^H, - kcbt=\EI, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, - kdl1=\ER, ked=\EY, kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, - kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, - kf16=^AO\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, - kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, - kich1=\EQ, kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, - ll=^^^K, mc0=\EP, mc4=^T, mc5=^X, nel=^M^J, - pfx=\Ez%p1%{63}%+%c%p2%s\177, - pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E`7\E), rev=\E`6\E), - ri=\Ej, rmacs=\EH^C, rmir=\Er, rmln=\EA11, rmso=\E(, - sgr=%?%p1%p3%|%t\E`6\E)%e%p5%p8%|%t\E`7\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;, - sgr0=\E(\EH\003, smacs=\EH^B, smir=\Eq, smln=\EA10, - smso=\E`6\E), tbc=\E0, tsl=\EF, -# -# This terminal description uses the non-hidden attribute mode -# (with magic cookie). -# -# The mandatory pause used by flash does not work with some -# older versions of terminfo. If you see this effect then -# unset and delete the / from the delay. -# i.e. change $<100/> to $<100> -# (wy50-mc: added to suppress tic warning --esr) -wy50-mc|wyse50-mc|wyse 50 with magic cookies, - msgr@, - ma@, xmc#1, - blink=\EG2, dim=\EGp, prot=\EG0\E), rev=\EG4, - rmacs=\EG0\EH\003, rmcup=\EG0, rmso=\EG0, - sgr=\EG%{48}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;, - sgr0=\EG0\E(\EH\003, smacs=\EG0\EH\002, smcup=, - smso=\EGt, use=wy50, use=adm+sgr, -wy50-vb|wyse50-vb|wyse 50 visible bell, - bel@, use=wy50, -wy50-w|wyse50-w|wyse 50 132-column, - cols#132, lw#7, nlab#16, wsl#97, - cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<2>, is1=\E`;\E`9$<30>, - use=wy50, -wy50-wvb|wyse50-wvb|wyse 50 132-column visible bell, - bel@, use=wy50-w, - -# -# The Wyse 350 is a Wyse 50 with color. -# Unfortunately this means that it has magic cookies. -# The color attributes are designed to overlap the reverse, dim and -# underline attributes. This is nice for monochrome applications -# because you can make underline stuff green (or any other color) -# but for true color applications it's not so hot because you cannot -# mix color with reverse, dim or underline. -# To further complicate things one of the attributes must be -# black (either the foreground or the background). In reverse video -# the background changes color with black letters. In normal video -# the foreground changes colors on a black background. -# This terminfo uses some of the more advanced features of curses -# to display both color and blink. In the final analysis I am not -# sure that the wy350 runs better with this terminfo than it does -# with the wy50 terminfo (with user adjusted colors). -# -# The mandatory pause used by flash does not work with -# older versions of terminfo. If you see this effect then -# unset xon and delete the / from the delay. -# i.e. change $<100/> to $<100> -# -# Bug: The capability resets attributes. -wy350|wyse350|Wyse 350, - am, bw, hs, mc5i, mir, xon, - colors#8, cols#80, lh#1, lines#24, lw#8, ncv#55, nlab#8, pairs#8, - wsl#45, xmc#1, - acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, blink=\EG2, - cbt=\EI, civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=^M, - cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW$<1>, - dim=\EGp, dl1=\ER, dsl=\EF\r, ed=\EY$<20>, el=\ET, - flash=\E`8$<100/>\E`9, fsl=^M, home=^^, ht=^I, hts=\E1, - il1=\EE, ind=\n$<2>, ip=$<1>, is1=\E`\:\E`9$<30>, - is2=\016\024\E'\E(, is3=\E%?, kHOM=\E{, kbs=^H, kcbt=\EI, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, - ked=\EY, kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, - kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, - kf16=^AO\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, - kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, - kich1=\EQ, kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, - ll=^^^K, mc0=\EP, mc4=^T, mc5=^X, nel=^M^J, oc=\E%?, op=\EG0, - pfx=\Ez%p1%{63}%+%c%p2%s\177, - pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\EG0\E), ri=\Ej, - rmacs=\EG0\EH\003, rmir=\Er, rmln=\EA11, setb=, - setf=%?%p1%{0}%=%t%{76}%e%p1%{1}%=%t%{64}%e%p1%{2}%=%t%{8}%e%p1%{3}%=%t%{72}%e%p1%{4}%=%t%{4}%e%p1%{5}%=%t%{68}%e%p1%{6}%=%t%{12}%e%p1%{7}%=%t%{0}%;%PC\EG%gC%gA%+%{48}%+%c, - sgr=%{0}%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;%PA\EG%?%gC%t%gC%e%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p5%t%{64}%|%;%;%gA%+%{48}%+%c%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;, - sgr0=\EG0\E(\EH\003%{0}%PA%{0}%PC, smacs=\EG0\EH\002, - smir=\Eq, smln=\EA10, tbc=\E0, tsl=\EF, use=adm+sgr, -wy350-vb|wyse350-vb|wyse 350 visible bell, - bel@, use=wy350, -wy350-w|wyse350-w|wyse 350 132-column, - cols#132, lw#7, nlab#16, wsl#97, - cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<2>, is1=\E`;\E`9$<30>, - use=wy350, -wy350-wvb|wyse350-wvb|wyse 350 132-column visible bell, - bel@, use=wy350-w, -# -# This terminfo description is untested. -# The wyse100 emulates an adm31, so the adm31 entry should work. -# -wy100|wyse 100, - hs, mir, - cols#80, lines#24, xmc#1, - bel=^G, clear=\E;, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, dsl=\EA31, ed=\EY, el=\ET, fsl=^M, il1=\EE, ind=^J, - invis@, is2=\Eu\E0, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, - kcuu1=^K, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, - kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, khome=\E{, - rmir=\Er, smir=\Eq, tsl=\EF, use=adm+sgr, -# -# The Wyse 120/150 has most of the features of the Wyse 60. -# This terminal does not need padding up to 9600 baud! -# should be set but the clear screen fails when in -# alt-charset mode. Try \EcE\s\s\E+\s if the screen is really clear -# then set . -# -wy120|wyse120|wy150|wyse150|Wyse 120/150, - am, bw, hs, km, mc5i, mir, msgr, xon, - cols#80, it#8, lh#1, lines#24, lw#8, nlab#8, pb#9601, wsl#45, - acsc=+/\,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~, - bel=^G, blink=\EG2, cbt=\EI, civis=\E`0, clear=\E+$<50>, - cnorm=\E`1, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW$<7>, - dim=\EGp, dl1=\ER$<3>, dsl=\EF\r, ed=\EY$<50>, el=\ET$<4>, - flash=\E`8$<100/>\E`9, fsl=^M, home=^^, ht=\011$<1>, - hts=\E1, il1=\EE$<3>, ind=\n$<3>, ip=$<2>, is1=\EcB0\EcC1, - is2=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El, - is3=\EwJ\Ew1$<150>, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, - kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, - kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r, - kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, - kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ, - kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=^^^K, - mc0=\EP, mc4=^T, mc5=\Ed#, nel=\r\n$<3>, - pfloc=\EZ2%p1%{63}%+%c%p2%s\177, - pfx=\EZ1%p1%{63}%+%c%p2%s\177, - pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<2>, - rmacs=\EcD, rmam=\Ed., rmcup=\Ew1, rmir=\Er, rmln=\EA11, - rmxon=\Ec20, rs1=\E~!\E~4$<30>, rs2=\EeF\E`\:$<70>, - rs3=\EwG\Ee($<100>, - sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c, - sgr0=\E(\EH\003\EG0\EcD, smacs=\EcE, smam=\Ed/, - smcup=\Ew0, smir=\Eq, smln=\EA10, smso=\EGt, smxon=\Ec21, - tbc=\E0, tsl=\EF, use=adm+sgr, -# -wy120-w|wyse120-w|wy150-w|wyse150-w|wyse 120/150 132-column, - cols#132, lw#7, nlab#16, wsl#97, - cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<12>, ip=$<4>, - rs2=\E`;$<70>, use=wy120, -# -wy120-25|wyse120-25|wy150-25|wyse150-25|wyse 120/150 80-column 25-lines, - lh@, lines#25, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<100>, use=wy120, -# -wy120-25-w|wyse120-25-w|wy150-25-w|wyse150-25-w|wyse 120/150 132-column 25-lines, - lh@, lines#25, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<100>, use=wy120-w, -# -wy120-vb|wyse120-vb|wy150-vb|wyse150-vb|Wyse 120/150 visible bell, - bel@, use=wy120, -# -wy120-w-vb|wy120-wvb|wyse120-wvb|wy150-w-vb|wyse150-w-vb|Wyse 120/150 132-column visible bell, - bel@, use=wy120-w, -# -# The Wyse 60 is like the Wyse 50 but with more padding. -# The reset strings are slow and the pad times very depending -# on other parameters such as font loading. I have tried -# to follow the following outline: -# -# -> set personality -# -> set number of columns -# -> set number of lines -# -> select the proper font -# -> do the initialization -# -> set up display memory (2 pages) -# -# The Wyse 60's that have vt100 emulation are slower than the -# older Wyse 60's. This change happened mid-1987. -# The capabilities effected are -# -# The meta key is only half right. This terminal will return the -# high order bit set when you hit CTRL-function_key -# -# It may be useful to assign two function keys with the -# values \E=(\s look at old data in page 1 -# \E=W, look at bottom of page 1 -# where \s is a space ( ). -# -# Note: -# The Wyse 60 runs faster when the XON/XOFF -# handshake is turned off. -# -# (wy60: we use \E{ rather than ^^ for home (both are documented) to avoid -# a bug reported by Robert Dunn, -- esr) -wy60|wyse60|Wyse 60, - am, bw, hs, km, mc5i, mir, msgr, - cols#80, lh#1, lines#24, lw#8, nlab#8, wsl#45, - acsc=+/\,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~, - bel=^G, blink=\EG2, cbt=\EI, civis=\E`0, clear=\E+$<100>, - cnorm=\E`1, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\EW$<11>, dclk=\E`b, dim=\EGp, dl1=\ER$<5>, dsl=\EF\r, - ed=\EY$<100>, el=\ET, flash=\E`8$<100/>\E`9, fsl=^M, - home=\E{, ht=\011$<1>, hts=\E1, il1=\EE$<4>, ind=\n$<5>, - ip=$<3>, is1=\EcB0\EcC1, - is2=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El, - is3=\EwJ\Ew1$<150>, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, - kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, - kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r, - kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, - kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ, - kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=\E{^K, - mc0=\EP, mc4=^T, mc5=\Ed#, nel=\r\n$<3>, - pfloc=\EZ2%p1%{63}%+%c%p2%s\177, - pfx=\EZ1%p1%{63}%+%c%p2%s\177, - pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<7>, - rmacs=\EcD, rmam=\Ed., rmclk=\E`c, rmcup=\Ew1, rmir=\Er, - rmln=\EA11, rmxon=\Ec20, rs1=\E~!\E~4$<150>, - rs2=\EeG$<150>, rs3=\EwG\Ee($<200>, - sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c, - sgr0=\E(\EH\003\EG0\EcD, smacs=\EcE, smam=\Ed/, - smcup=\Ew0, smir=\Eq, smln=\EA10, smso=\EGt, smxon=\Ec21, - tbc=\E0, tsl=\EF, use=adm+sgr, -# -wy60-w|wyse60-w|wyse 60 132-column, - cols#132, lw#7, nlab#16, wsl#97, - cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<16>, ip=$<5>, - rs2=\EeF$<150>\E`;$<150>, use=wy60, -# -wy60-25|wyse60-25|wyse 60 80-column 25-lines, - lh@, lines#25, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<200>, use=wy60, -wy60-25-w|wyse60-25-w|wyse 60 132-column 25-lines, - lh@, lines#25, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<200>, use=wy60-w, -# -wy60-42|wyse60-42|wyse 60 80-column 42-lines, - lines#42, - clear=\E+$<260>, cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<2>, - dch1=\EW$<16>, dl1=\ER$<11>, ed=\Ey$<260>, il1=\EE$<11>, - ind=\n$<9>, ip=$<5>, is1=\EcB2\EcC3, nel=\r\n$<6>, - ri=\Ej$<10>, rs3=\Ee*$<150>, use=wy60, -wy60-42-w|wyse60-42-w|wyse 60 132-column 42-lines, - cols#132, lw#7, nlab#16, wsl#97, - clear=\E+$<260>, cup=\Ea%i%p1%dR%p2%dC$<2>, - dch1=\EW$<19>, ed=\Ey$<260>, home=\036$<2>, ip=$<6>, - nel=\r\n$<11>, rs2=\EeF$<150>\E`;$<150>, use=wy60-42, -# -wy60-43|wyse60-43|wyse 60 80-column 43-lines, - lh@, lines#43, lw@, nlab@, - pln@, rs3=\Ee+$<150>, use=wy60-42, -wy60-43-w|wyse60-43-w|wyse 60 132-column 43-lines, - lh@, lines#43, lw@, nlab@, - pln@, rs3=\Ee+$<150>, use=wy60-42-w, -# -wy60-vb|wyse60-vb|Wyse 60 visible bell, - bel@, use=wy60, -wy60-w-vb|wy60-wvb|wyse60-wvb|Wyse 60 132-column visible bell, - bel@, use=wy60-w, - -# The Wyse-99GT looks at lot like the Wyse 60 except that it -# does not have the 42/43 line mode. In the Wyse-60 the "lines" -# setup parameter controls the number of lines on the screen. -# For the Wyse 99GT the "lines" setup parameter controls the -# number of lines in a page. The screen can display 25 lines max. -# The Wyse-99GT also has personalities for the VT220 and -# Tektronix 4014. But this has no bearing on the native mode. -# -# (msgr) should be set but the clear screen fails when in -# alt-charset mode. Try \EcE\s\s\E+\s if the screen is really clear -# then set msgr, else use msgr@. -# -# u0 -> enter Tektronix mode -# u1 -> exit Tektronix mode -# -wy99gt|wyse99gt|Wyse 99gt, - msgr@, - clear=\E+$<130>, dch1=\EW$<7>, dl1=\ER$<4>, ed=\Ey$<130>, - el=\Et$<5>, flash=\E`8$<100/>\E`9, ht=\011$<1>, - il1=\EE$<4>, ind=\n$<4>, ip=$<2>, is3=\Ew0$<20>, nel@, - ri=\Ej$<3>, rmcup=\Ew0, rs2=\E`\:$<150>, smcup=\Ew1, - u0=\E~>\E8, u1=\E[42h, use=wy60, -# -wy99gt-w|wyse99gt-w|wyse 99gt 132-column, - cols#132, lw#7, nlab#16, wsl#97, - clear=\E+$<160>, cup=\Ea%i%p1%dR%p2%dC$<2>, - dch1=\EW$<9>, ed=\Ey$<160>, ip=$<4>, rs2=\E`;$<150>, - use=wy99gt, -# -wy99gt-25|wyse99gt-25|wyse 99gt 80-column 25-lines, - lh@, lines#25, lw@, nlab@, - pln@, rs2=\E`\:$<150>, rs3=\EwG\Ee)$<200>, use=wy99gt, -# -wy99gt-25-w|wyse99gt-25-w|wyse 99gt 132-column 25-lines, - lh@, lines#25, lw@, nlab@, - pln@, rs2=\E`;$<150>, use=wy99gt-w, -# -wy99gt-vb|wyse99gt-vb|Wyse 99gt visible bell, - bel@, use=wy99gt, -# -wy99gt-w-vb|wy99gt-wvb|wyse99gt-wvb|Wyse 99gt 132-column visible bell, - bel@, use=wy99gt-w, - -# Can't set tabs! Other bugs (ANSI mode only): -# - can't redefine function keys (anyway, key redefinition in ANSI mode -# is too much complex to be described); -# - meta key can't be described (the terminal forgets it when reset); -# The xon-xoff handshaking can't be disabled while in ansi personality, so -# emacs can't work at speed greater than 9600 baud. No padding is needed at -# this speed. -# dch1 has been commented out because it causes annoying glittering when -# vi deletes one character at the beginning of a line with tabs in it. -# dch makes sysgen(1M) have a horrible behaviour when deleting -# a screen and makes screen(1) behave badly, so it is disabled too. The nice -# thing is that vi goes crazy if smir-rmir are present and both dch-dch1 are -# not, so smir and rmir are commented out as well. -# From: Francesco Potorti` , 24 Aug 1998 -wy99-ansi|Wyse WY-99GT in ansi mode (int'l PC keyboard), - am, km, mc5i, mir, msgr, xenl, - cols#80, it#8, lines#25, vt#3, - acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J$<200>, cnorm=\E[34h\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD$<1>, - cub1=\010$<1>, cud=\E[%p1%dB, cud1=\ED, - cuf=\E[%p1%dC$<1>, cuf1=\E[C$<1>, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM, - cvvis=\E[34l\E[?25h, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J$<8*>, el=\E[K$<1>, el1=\E[1K$<1>, - enacs=\E)0, flash=\E[?5h$<30/>\E[?5l, home=\E[H, - hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, il=\E[%p1%dL, - il1=\E[L, ind=\n$<1>, invis=\E[8m, - is2=\E7\E[1r\E8\E[2;3;4;13;20;34;39;36l\E[12;16;34h\E[?1;3;4;5;10;18l\E[?7;8;25h\E>\E[?5W\E(B\017\E[4i, - kbs=^H, kcbt=\E[z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, - kcuu1=\EOA, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf17=\E[K, kf18=\E[31~, kf19=\E[32~, kf2=\EOQ, - kf20=\E[33~, kf21=\E[34~, kf22=\E[35~, kf23=\E[1~, - kf24=\E[2~, kf3=\EOR, kf4=\EOS, kf5=\E[M, kf6=\E[17~, - kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, ll=\E[24E, mc0=\E[?19h, - mc4=\E[4i, mc5=\E[5i, nel=\EE, prot=\E[1"q, rc=\E8, - rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, - rmkx=\E[?1l, rmso=\E[27m, rmul=\E[24m, - rs2=\E[61"p\E[40h\E[?6l\E[1r\E[2;3;4;13;20;34;39;36l\E[12;16;34h\E[?1;3;4;5;10;18l\E[?7;8;25h\E>\E[?5W\E(B\017\E[24E\E[4i, - sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%O%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m\E[%?%p8%t1%;"q%?%p9%t\016%e\017%;, - sgr0=\E[m\017\E["q, smacs=^N, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h, smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd, - -# This is the american terminal. Here tabs work fine. -# From: Francesco Potorti` , 24 Aug 1998 -wy99a-ansi|Wyse WY-99GT in ansi mode (US PC keyboard), - hts=\EH, is3=\E[?5l, rs3=\E[?5l, tbc=\E[3g, use=wy99-ansi, - -# This terminal (firmware version 02) has a lot of bugs: -# - can't set tabs; -# - other bugs in ANSI modes (see above). -# This description disables handshaking when using cup. This is because -# GNU emacs doesn't like Xon-Xoff handshaking. This means the terminal -# cannot be used at speeds greater than 9600 baud, because at greater -# speeds handshaking is needed even for character sending. If you use -# DTR handshaking, you can use even greater speeds. -# From: Francesco Potorti` , 24 Aug 1998 -wy99f|wy99fgt|wy-99fgt|Wyse WY-99GT (int'l PC keyboard), - am, bw, hs, km, mc5i, mir, msgr, xon, - cols#80, it#8, lines#25, wsl#46, - acsc='x+y.wi~_vj(k'l&m%n)o9q*s8t-u.v\,w+x=, bel=^G, - blink=\EG2, cbt=\EI, civis=\E`0, clear=\E'\E(\032, - cnorm=\E`4\E`1, cr=^M, cub1=^H, cud1=\Ej, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - cvvis=\E`2\E`1, dch1=\EW, dim=\EGp, dl1=\ER, dsl=\EF\r, - ed=\EY$<8*>, el=\ET$<8>, enacs=\Ec@1J$<2000>, - flash=\E\^1$<30/>\E\^0, fsl=^M, home=^^, ht=^I, il1=\EE, - ind=^J, invis=\EG3, - is2=\Eu\Ee6\EC\EDF\Ec21\Ec31\Ec62\Ec72\Ee;\016\E'\EeL\E`9\E\^0\E`1\E`4\Ee.\E`\:\Ee1\EG0\E(\Ed/\Ee4\Ed*\EO\E`I\Er\Ee"\EcD\024, - ka1=^^, ka3=\EJ, kbs=^H, kc1=\ET, kc3=\EK, kcbt=\EI, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, kf1=^A@\r, kf10=^AI\r, - kf11=^AJ\r, kf12=^AK\r, kf13=^A`\r, kf14=^Aa\r, kf15=^Ab\r, - kf16=^Ac\r, kf17=^Ad\r, kf18=^Ae\r, kf19=^Af\r, kf2=^AA\r, - kf20=^Ag\r, kf21=^Ah\r, kf22=^Ai\r, kf23=^Aj\r, kf24=^Ak\r, - kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, kprt=\EP, mc0=\EP, mc4=^T, mc5=\Ed#, - nel=^_, prot=\E), rev=\EG4, ri=\Ej, rmacs=\EcD, rmam=\Ed., - rmcup=\Ec21\Ec31, rmir=\Er, rmso=\EG0, rmxon=\Ec20\Ec30, - rs2=\Eu\E~4\Ee6\EC\EDF\Ec21\Ec31\Ec62\Ec72\Ee;\016\E'\EeL\E`9\E\^0\E`1\E`4\Ee.\E`\:\Ee)\Ew\EwG\Ew0\Ee1\EG0\E(\Ed/\Ee4\Ed*\EO\E`I\Er\Ee"\Ec@0B\EcD\024, - sgr=\E(\EG%{48}%?%p1%p3%O%t%{4}%+%;%?%p2%t%{8}%+%;%?%p4%t%{2}%+%;%?%p5%t%{64}%+%;%?%p7%t%{1}%+%;%c%?%p8%t\E)%;%?%p9%t\EcE%e\EcD%;, - sgr0=\E(\EG0, smacs=\EcE, smam=\Ed/, smcup=\Ec20\Ec30, - smir=\Eq, smso=\EG4, smxon=\Ec21\Ec31, tsl=\EF, - -# This is the american terminal. Here tabs work. -# From: Francesco Potorti` , 24 Aug 1998 -wy99fa|wy99fgta|wy-99fgta|Wyse WY-99GT (US PC keyboard), - hts=\E1, tbc=\E0, use=wy99f, - -# -# The Wyse 160 is combination of the WY-60 and the WY-99gt. -# The reset strings are slow and the pad times very depending -# on other parameters such as font loading. I have tried -# to follow the following outline: -# -# -> set personality -# -> set number of columns -# -> set number of lines -# -> select the proper font -# -> do the initialization -# -> set up display memory (2 pages) -# -# The display memory may be used for either text or graphics. -# When "Display Memory = Shared" the terminal will have more pages -# but garbage may be left on the screen when you switch from -# graphics to text. If "Display Memory = Unshared" then the -# text area will be only one page long. -# -# (wy160: we use \E{ rather than ^^ for home (both are documented) to avoid -# a bug reported by Robert Dunn, -- esr) -wy160|wyse160|Wyse 160, - am, bw, hs, km, mc5i, mir, msgr, - cols#80, lh#1, lines#24, lw#8, nlab#8, wsl#38, - acsc=+/\,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~, - bel=^G, blink=\EG2, cbt=\EI, civis=\E`0, clear=\E+$<30>, - cnorm=\E`1, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW$<5>, - dclk=\E`b, dim=\EGp, dl1=\ER$<1>, dsl=\EF\r, ed=\EY$<30>, - el=\ET$<5>, flash=\E`8$<100/>\E`9, fsl=^M, home=\E{, ht=^I, - hts=\E1, il1=\EE$<1>, ind=\n$<1>, ip=$<2>, is1=\EcB0\EcC1, - is2=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El, - is3=\Ew0$<100>, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, - kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, - kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r, - kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, - kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ, - kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=\E{^K, - mc0=\EP, mc4=^T, mc5=\Ed#, nel=\r\n$<1>, - pfloc=\EZ2%p1%{63}%+%c%p2%s\177, - pfx=\EZ1%p1%{63}%+%c%p2%s\177, - pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<1>, - rmacs=\EcD, rmam=\Ed., rmclk=\E`c, rmcup=\Ew0, rmir=\Er, - rmln=\EA11, rmxon=\Ec20, rs1=\E~!\E~4$<70>, - rs2=\E`\:$<100>, rs3=\EwG\Ee($<140>, - sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c, - sgr0=\E(\EH\003\EG0\EcD, smacs=\EcE, smam=\Ed/, - smcup=\Ew1, smir=\Eq, smln=\EA10, smso=\EGt, smxon=\Ec21, - tbc=\E0, tsl=\EF, use=adm+sgr, -# -wy160-w|wyse160-w|wyse 160 132-column, - cols#132, lw#7, nlab#16, wsl#90, - cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<9>, - rs2=\EeF$<150>\E`;$<150>, use=wy160, -# -wy160-25|wyse160-25|wyse 160 80-column 25-lines, - lh@, lines#25, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<200>, use=wy160, -wy160-25-w|wyse160-25-w|wyse 160 132-column 25-lines, - lh@, lines#25, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<200>, use=wy160-w, -# -wy160-42|wyse160-42|wyse 160 80-column 42-lines, - lines#42, - clear=\E+$<50>, dl1=\ER$<2>, ed=\Ey$<50>, il1=\EE$<2>, - ind=\n$<2>, is1=\EcB2\EcC3, nel=\r\n$<2>, ri=\Ej$<2>, - rs3=\Ee*$<150>, use=wy160, -wy160-42-w|wyse160-42-w|wyse 160 132-column 42-lines, - cols#132, lw#7, nlab#16, wsl#90, - cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<8>, ip=$<3>, - rs2=\EeF$<150>\E`;$<150>, use=wy160-42, -# -wy160-43|wyse160-43|wyse 160 80-column 43-lines, - lh@, lines#43, lw@, nlab@, - pln@, rs3=\Ee+$<150>, use=wy160-42, -wy160-43-w|wyse160-43-w|wyse 160 132-column 43-lines, - lh@, lines#43, lw@, nlab@, - pln@, rs3=\Ee+$<150>, use=wy160-42-w, -# -wy160-vb|wyse160-vb|Wyse 160 visible bell, - bel@, use=wy160, -wy160-w-vb|wy160-wvb|wyse160-wvb|Wyse 160 132-column visible bell, - bel@, use=wy160-w, -# -# The Wyse 75 is a vt100 lookalike without advanced video. -# -# The Wyse 75 can support one attribute (e.g. Dim, Inverse, -# Underline) without magic cookies. The following description -# uses this capability, but when more than one attribute is -# put on the screen at once, all attributes will be changed -# to be the same as the last attribute given. -# The Wyse 75 can support more attributes when used with magic -# cookies. The wy75-mc terminal description uses magic cookies -# to correctly handle multiple attributes on a screen. -# -wy75|wyse75|wyse 75, - am, hs, mc5i, mir, msgr, xenl, xon, - cols#80, lines#24, ma#1, pb#1201, wsl#78, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, cbt=\E[Z, civis=\E[?25l, clear=\E[H\E[J$<30>, - cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr$<2>, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP$<3*>, - dch1=\E[P$<3>, dim=\E[0t\E[2m, dl=\E[%p1%dM$<1*>, - dl1=\E[M, dsl=\E[>\,\001\001\E[>-\001\001, - ech=\E[%p1%dX, ed=\E[J$<30>, el=\E[K$<3>, el1=\E[1K$<3>, - enacs=\E)0, flash=\E[30h\E\,\E[30l$<250>, fsl=^A, - home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, - ich=\E[%p1%d@$<1*>, il=\E[%p1%dL$<2*>, il1=\E[L$<2>, - ind=\n$<2>, ip=$<1>, - is1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h, - is2=\E>\E(B\E)0\017, is3=\E[m, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdl1=\E[M, kel=\E[K, - kf1=\E[?5i, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, - kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, - kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[?3i, - kf20=\E[34~, kf21=\E[35~, kf3=\E[2i, kf4=\E[@, kf5=\E[M, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, - khlp=\E[28~, khome=\E[H, kich1=\E[@, kil1=\E[L, knp=\E[6~, - kpp=\E[5~, kprt=\E[?5i, kslt=\E[4~, mc0=\E[0i, mc4=\E[4i, - mc5=\E[5i, rc=\E8, rev=\E[1t\E[7m, ri=\EM$<2>, rmacs=^O, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[m, rmul=\E[m, - rs1=\E[13l\E[3l\E!p, rs2=\E[35h\E[?3l$<80>, rs3=\E[?5l, - sc=\E7, - sgr=%?%p5%t\E[0t%;%?%p3%p1%|%t\E[1t%;%?%p2%t\E[2t%;%?%p4%t\E[3t%;%?%p1%p2%p3%p4%p5%|%|%|%|%t\E[7m%e\E[m%;%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1l\E[?7h\E=, smso=\E[1t\E[7m, smul=\E[2t\E[4m, - tbc=\E[3g, tsl=\E[>\,\001, use=vt220+keypad, -# -# This terminal description uses the non-hidden attribute mode -# (with magic cookie). -# -wy75-mc|wyse75-mc|wyse 75 with magic cookies, - msgr@, - ma@, xmc#1, - blink=\E[2p, dim=\E[1p, invis=\E[4p, is3=\E[m\E[p, - rev=\E[16p, rmacs=\E[0p\017, rmso=\E[0p, rmul=\E[0p, - sgr=\E[%{0}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{16}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{1}%|%;%?%p7%t%{4}%|%;%dp%?%p9%t\016%e\017%;, - sgr0=\E[0p\017, smacs=\E[0p\016, smso=\E[17p, smul=\E[8p, - use=wy75, -wy75-vb|wyse75-vb|wyse 75 with visible bell, - pb@, - bel@, use=wy75, -wy75-w|wyse75-w|wyse 75 in 132 column mode, - cols#132, wsl#130, - rs2=\E[35h\E[?3h$<80>, use=wy75, -wy75-wvb|wyse75-wvb|wyse 75 with visible bell 132 columns, - pb@, - bel@, use=wy75-w, -# -# Wyse 85 emulating a vt220 7 bit mode. -# 24 line screen with status line. -# -# The vt220 mode permits more function keys but it wipes out -# the escape key. I strongly recommend that be set to -# escape (esc). -# The terminal may have to be set for 8 data bits and 2 stop -# bits for the arrow keys to work. -# The Wyse 85 runs faster with XON/XOFF enabled. Also the -# and work best when XON/XOFF is set. and -# leave trash on the screen when used without XON/XOFF. -# -wy85|wyse85|wyse 85, - am, hs, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J$<110>, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<1>, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP$<3*>, dch1=\E[P$<3>, dim=\E[2m, - dl=\E[%p1%dM$<3*>, dl1=\E[M$<3>, dsl=\E[40l, - ech=\E[%p1%dX, ed=\E[J$<110>, el=\E[K$<1>, el1=\E[1K, - enacs=\E)0, flash=\E[30h\E\,\E[30l$<300>, - fsl=\E[1;24r\E8, home=\E[H, ht=\011$<1>, hts=\EH, - ich=\E[%p1%d@$<4*>, il=\E[%p1%dL$<5*>, il1=\E[L$<5>, - ind=\n$<3>, invis=\E[8m, ip=$<3>, is1=\E[62;1"p\E[?5W, - is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h$<16>, - is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, - kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, - kf19=\E[33~, kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, - khome=\E[26~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, - mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM$<3>, - rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[m, - rmul=\E[m, rs1=\E[13l\E[3l\E!p, rs2=\E[35h\E[?3l$<70>, - rs3=\E[?5l, sc=\E7, - sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[40h\E7\E[25;%i%p1%dH, use=vt220+keypad, -# -# Wyse 85 with visual bell. -wy85-vb|wyse85-vb|wyse 85 with visible bell, - bel@, flash=\E[30h\E\,\E[30l$<300>, use=wy85, -# -# Wyse 85 in 132-column mode. -wy85-w|wyse85-w|wyse 85 in 132-column mode, - cols#132, wsl#132, - rs2=\E[35h\E[?3h$<70>, use=wy85, -# -# Wyse 85 in 132-column mode with visual bell. -wy85-wvb|wyse85-wvb|wyse 85 with visible bell 132-columns, - bel@, use=wy85-w, - -# From: Kevin Turner , 12 Jul 1998 -# This copes with an apparent firmware bug in the wy85. He writes: -# "What I did was change leave the terminal cursor keys set to Normal -# (instead of application), and change \E[ to \233 for all the keys in -# terminfo. At one point, I found some reference indicating that this -# terminal bug (not sending \E[) was acknowledged by Wyse (so it's not just -# me), but I can't find that and the server under my bookmark to "Wyse -# Technical" isn't responding. So there's the question of wether the wy85 -# terminfo should reflect the manufactuer's intended behaviour of the terminal -# or the actual." -wy85-8bit|wyse85-8bit|wyse 85 in 8-bit mode, - am, hs, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J$<110>, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<1>, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP$<3*>, dch1=\E[P$<3>, dim=\E[2m, - dl=\E[%p1%dM$<3*>, dl1=\E[M$<3>, dsl=\E[40l, - ech=\E[%p1%dX, ed=\E[J$<110>, el=\E[K$<1>, el1=\E[1K, - enacs=\E)0, flash=\E[30h\E\,\E[30l$<300>, - fsl=\E[1;24r\E8, home=\E[H, ht=\011$<1>, hts=\EH, - ich=\E[%p1%d@$<4*>, il=\E[%p1%dL$<5*>, il1=\E[L$<5>, - ind=\n$<3>, invis=\E[8m, ip=$<3>, is1=\E[62;1"p\E[?5W, - is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h$<16>, - is3=\E>\E(B\E)0\017\E[m, ka1=\EOw, ka3=\EOy, kb2=\EOu, - kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\233D, kcud1=\233B, - kcuf1=\233C, kcuu1=\233A, kdch1=\2333~, kent=\EOM, - kf1=\EOP, kf10=\23321~, kf11=\23323~, kf12=\23324~, - kf13=\23325~, kf14=\23326~, kf15=\23328~, kf16=\23329~, - kf17=\23331~, kf18=\23332~, kf19=\23333~, kf2=\EOQ, - kf20=\23334~, kf3=\EOR, kf4=\EOS, kf6=\23317~, kf7=\23318~, - kf8=\23319~, kf9=\23320~, kfnd=\2331~, khlp=\23328~, - khome=\23326~, kich1=\2332~, knp=\2336~, kpp=\2335~, - kslt=\2334~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, - mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM$<3>, - rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[m, - rmul=\E[m, rs1=\E[13l\E[3l\E!p, rs2=\E[35h\E[?3l$<70>, - rs3=\E[?5l, sc=\E7, - sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;+m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[40h\E7\E[25;%i%p1%dH, -# -# Wyse 185 emulating a vt320 7 bit mode. -# -# This terminal always displays 25 lines. These lines may be used -# as 24 data lines and a terminal status line (top or bottom) or -# 25 data lines. The 48 and 50 line modes change the page size -# and not the number of lines on the screen. -# -# The Compose Character key can be used as a meta key if changed -# by set-up. -# -wy185|wyse185|wyse 185, - am, hs, km, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J$<40>, cnorm=\E[34h\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr$<20>, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?25h\E[34l, dch=\E[%p1%dP$<3>, dch1=\E[P$<3>, - dim=\E[2m, dl=\E[%p1%dM$<2*>, dl1=\E[M$<2>, - dsl=\E7\E[99;0H\E[K\E8, ech=\E[%p1%dX, ed=\E[J$<40>, - el=\E[K, el1=\E[1K, enacs=\E)0, - flash=\E[30h\E\,\E[30l$<100>, fsl=\E[1;24r\E8, - home=\E[H, hpa=\E[%i%p1%d`, ht=^I, hts=\EH, - ich=\E[%p1%d@$<2>, il=\E[%p1%dL$<3*>, il1=\E[L$<3>, - ind=\n$<2>, invis=\E[8m, ip=$<4>, is1=\E[?5W, - is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h, - is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcbt=\E[Z, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, - kf4=\EOS, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - kfnd=\E[1~, khlp=\E[28~, khome=\E[26~, kich1=\E[2~, - knp=\E[6~, kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, - lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, - ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, rmcup=\E[ R, rmir=\E[4l, - rmkx=\E>, rmso=\E[27m, rmul=\E[24m, - rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p, rs2=\E[35h\E[?3l, - rs3=\E[?5l\E[47h\E[40l\E[r, sc=\E7, - sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[ Q, - smir=\E[4h, smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, tsl=\E7\E[99;%i%p1%dH, vpa=\E[%i%p1%dd, - use=vt220+keypad, -# -# Wyse 185 with 24 data lines and top status (terminal status) -wy185-24|wyse185-24|wyse 185 with 24 data lines, - hs@, - dsl@, fsl@, rs3=\E[?5l\E[47h\E[40l\E[1;24r, tsl@, - use=wy185, -# -# Wyse 185 with visual bell. -wy185-vb|wyse185-vb|wyse 185+flash, - bel@, use=wy185, -# -# Wyse 185 in 132-column mode. -wy185-w|wyse185-w|wyse 185 in 132-column mode, - cols#132, wsl#132, - dch=\E[%p1%dP$<7>, dch1=\E[P$<7>, ich=\E[%p1%d@$<7>, - ip=$<7>, rs2=\E[35h\E[?3h, use=wy185, -# -# Wyse 185 in 132-column mode with visual bell. -wy185-wvb|wyse185-wvb|wyse 185+flash+132 cols, - bel@, use=wy185-w, - -# wy325 terminfo entries -# Done by Joe H. Davis 3-9-92 - -# lines 25 columns 80 -# -wy325|wyse325|Wyse epc, - am, bw, hs, mc5i, mir, - cols#80, lh#1, lines#24, lw#8, nlab#8, pb#9601, wsl#45, - acsc=+/\,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~, - bel=^G, blink=\EG2, cbt=\EI, civis=\E`0, clear=\E+$<50>, - cnorm=\E`1, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW$<7>, - dim=\EGp, dl1=\ER$<3>, dsl=\EF\r, ed=\EY$<50>, el=\ET$<4>, - flash=\E`8$<100/>\E`9, fsl=^M, home=^^, ht=^I, hts=\E1, - il1=\EE$<3>, ind=\n$<3>, ip=$<2>, is1=\EcB0\EcC1, - is2=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024\El, - is3=\Ew0$<16>, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, - kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, - kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r, - kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, - kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\Eq, - kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=^^^K, - mc0=\EP, mc4=^T, mc5=\Ed#, - pfloc=\EZ2%p1%{63}%+%c%p2%s\177, - pfx=\EZ1%p1%{63}%+%c%p2%s\177, - pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<2>, - rmacs=\EcD, rmam=\Ed., rmcup=\Ew0, rmir=\Er, rmln=\EA11, - rs1=\E~!\E~4$<30>, rs2=\EeF\E`\:$<70>, - rs3=\EwG\Ee($<100>, - sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c, - sgr0=\E(\EH\003\EG0\EcD, smacs=\EcE, smam=\Ed/, - smcup=\Ew1, smir=\Eq, smln=\EA10, smso=\EGt, tbc=\E0, - tsl=\EF, use=adm+sgr, - -# -# lines 24 columns 80 vb -# -wy325-vb|wyse325-vb|wyse-325 with visual bell, - bel@, use=wy325, - -# -# lines 24 columns 132 -# -wy325-w|wyse325-w|wy325w-24|wyse-325 in wide mode, - cols#132, lw#7, nlab#16, wsl#97, - cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<12>, ip=$<4>, - rs2=\E`;$<70>, use=wy325, -# -# lines 25 columns 80 -# -wy325-25|wyse325-25|wy325-80|wyse-325|wyse-325 25 lines, - lh@, lines#25, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<100>, use=wy325, -# -# lines 25 columns 132 -# -wy325-25w|wyse325-25w|wy325 132 columns, - lh@, lines#25, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<100>, use=wy325-w, -# -# lines 25 columns 132 vb -# -wy325-w-vb|wy325-wvb|wyse325-wvb|wyse-325 wide mode reverse video, - bel@, use=wy325-w, - -# -# lines 42 columns 80 -# -wy325-42|wyse325-42|wyse-325 42 lines, - lh@, lines#42, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<100>, use=wy325, -# -# lines 42 columns 132 -# -wy325-42w|wyse325-42w|wyse-325 42 lines wide mode, - lh@, lines#42, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<100>, use=wy325-w, -# -# lines 42 columns 132 vb -# -wy325-42w-vb|wy325-42wvb|wyse-325 42 lines wide mode visual bell, - bel@, use=wy325-w, -# -# lines 43 columns 80 -# -wy325-43|wyse325-43|wyse-325 43 lines, - lh@, lines#43, lw@, nlab@, - pln@, use=wy325, -# -# lines 43 columns 132 -# -wy325-43w|wyse325-43w|wyse-325 43 lines wide mode, - lh@, lines#43, lw@, nlab@, - pln@, rs3=\EwG\Ee)$<100>, use=wy325-w, -# -# lines 43 columns 132 vb -# -wy325-43w-vb|wy325-43wvb|wyse-325 43 lines wide mode visual bell, - bel@, use=wy325-w, - -# Wyse 370 -- 24 line screen with status line. -# -# The terminal may have to be set for 8 data bits and 2 stop -# bits for the arrow keys to work. -# -# If you change keyboards the terminal will send different -# escape sequences. -# The following definition is for the basic terminal without -# function keys. -# -# -> enter Tektronix 4010/4014 mode -# -> exit Tektronix 4010/4014 mode -# -> enter ASCII mode (from any ANSI mode) -# -> exit ASCII mode (goto native ANSI mode) -# -> enter Tek 4207 ANSI mode (from any ANSI mode) -# -> exit Tek 4207 mode (goto native ANSI mode) -# -# Bug: The capability resets attributes. -wy370-nk|wyse 370 without function keys, - am, ccc, hs, mc5i, mir, msgr, xenl, xon, - colors#64, cols#80, it#8, lines#24, ncv#48, pairs#64, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J$<40>, cnorm=\E[34h\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<1>, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?25h\E[34l, dch=\E[%p1%dP$<1*>, dch1=\E[P$<1>, - dclk=\E[31h, dim=\E[2m, dl=\E[%p1%dM$<2*>, dl1=\E[M$<2>, - dsl=\E[40l, ech=\E[%p1%dX$<.1*>, ed=\E[J$<40>, - el=\E[K$<10>, el1=\E[1K$<12>, enacs=\E)0, - flash=\E[30h\E\,\E[30l$<300>, fsl=\E[1;24r\E8, - home=\E[H, hpa=\E[%i%p1%d`, ht=\011$<1>, hts=\EH, - ich=\E[%p1%d@$<1*>, il=\E[%p1%dL$<2*>, il1=\E[L$<2>, - ind=\n$<2>, - initc=\E[66;%p1%d;%?%p2%{250}%<%t%{0}%e%p2%{500}%<%t%{16}%e%p2%{750}%<%t%{32}%e%{48}%;%?%p3%{250}%<%t%{0}%e%p3%{500}%<%t%{4}%e%p3%{750}%<%t%{8}%e%{12}%;%?%p4%{250}%<%t%{0}%e%p4%{500}%<%t%{1}%e%p4%{750}%<%t%{2}%e%{3}%;%{1}%+%+%+%dw, - invis=\E[8m, ip=$<1>, is1=\E[90;1"p\E[?5W$<6>, - is2=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h, - is3=\E>\017\E)0\E(B\E[63;0w\E[m, mc0=\E[0i, mc4=\E[4i, - mc5=\E[5i, - oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w\E[66;5;51w\E[66;6;61w\E[66;7;64w, - op=\E[m, rc=\E8, rev=\E[7m, ri=\EM$<2>, rmacs=^O, - rmam=\E[?7l, rmclk=\E[31l, rmcup=\E[ R, rmir=\E[4l, - rmkx=\E>, rmso=\E[27m, rmul=\E[24m, - rs1=\E[13l\E[3l\E!p\E[?4i, rs2=\E[35h\E[?3l$<8>, - rs3=\E[?5l, sc=\E7, setb=\E[62;%p1%dw, setf=\E[61;%p1%dw, - sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[ Q, - smir=\E[4h, smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, tsl=\E[40l\E[40h\E7\E[99;%i%p1%dH, - u0=\E[?38h\E8, u1=\E[?38l\E)0, u2=\E[92;52"p, u3=\E~B, - u4=\E[92;76"p, u5=\E%!1\E[90;1"p, vpa=\E[%i%p1%dd, -# -# Function key set for the ASCII (wy-50 compatible) keyboard -# This is the default 370. -# -wy370|wyse370|wy370-101k|Wyse 370 with 101 key keyboard, - kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kdch1=\EOQ, kdl1=\EOQ, kent=\EOM, kf1=\E[?4i, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf2=\E[?3i, - kf3=\E[2i, kf4=\E[@, kf5=\E[M, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, khome=\E[H, kich1=\EOP, kil1=\EOP, - knp=\E[U, kpp=\E[V, use=wy370-nk, -# -# Function key set for the VT-320 (and wy85) compatible keyboard -# -wy370-105k|Wyse 370 with 105 key keyboard, - kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, - kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, - kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, - khlp=\E[28~, khome=\E[26~, kich1=\E[2~, knp=\E[6~, - kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, - use=wy370-nk, use=vt220+keypad, -# -# Function key set for the PC compatible keyboard -# -wy370-EPC|Wyse 370 with 102 key keyboard, - kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kend=\E[1~, kent=\EOM, kf1=\EOP, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, - kf5=\E[M, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[H, kich1=\E[2~, knp=\E[U, kpp=\E[V, use=wy370-nk, -# -# Wyse 370 with visual bell. -wy370-vb|Wyse 370 with visible bell, - bel@, use=wy370, -# -# Wyse 370 in 132-column mode. -wy370-w|Wyse 370 in 132-column mode, - cols#132, wsl#132, - rs2=\E[35h\E[?3h$<70>, use=wy370, -# -# Wyse 370 in 132-column mode with visual bell. -wy370-wvb|Wyse 370 with visible bell 132-columns, - flash=\E[30h\E\,\E[30l$<300>, use=wy370-w, -wy370-rv|Wyse 370 reverse video, - rs3=\E[32h\E[?5h, use=wy370, -# -# Wyse 99gt Tektronix 4010/4014 emulator, -# -wy99gt-tek|Wyse 99gt Tektronix 4010/4014 emulator, - am, os, - cols#74, lines#35, - bel=^G, clear=\E^L, cr=^M, cub1=^H, cud1=^J, cuf1=\s, - cup=\035%{3040}%{89}%p1%*%-%Py%p2%{55}%*%Px%gy%{128}%/%{31}%&%{32}%+%c%gy%{3}%&%{4}%*%gx%{3}%&%+%{96}%+%c%gy%{004}%/%{31}%&%{96}%+%c%gx%{128}%/%{31}%&%{32}%+%c%gx%{004}%/%{31}%&%{64}%+%c\037, - cuu1=^K, ff=^L, - hd=\036HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\037, - home=^]7`x @\037, - hu=\036DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\037, - is2=\E8, nel=^M^J, u0=\E~>\E8, u1=\E[42h, -# -# Wyse 160 Tektronix 4010/4014 emulator, -# -wy160-tek|Wyse 160 Tektronix 4010/4014 emulator, - cup=\035%{3103}%{91}%p1%*%-%Py%p2%{55}%*%Px%gy%{128}%/%{31}%&%{32}%+%c%gy%{3}%&%{4}%*%gx%{3}%&%+%{96}%+%c%gy%{004}%/%{31}%&%{96}%+%c%gx%{128}%/%{31}%&%{32}%+%c%gx%{004}%/%{31}%&%{64}%+%c\037, - home=^]8`g @\037, use=wy99gt-tek, -# -# Wyse 370 Tektronix 4010/4014 emulator, -# -wy370-tek|Wyse 370 Tektronix 4010/4014 emulator, - am, os, - cols#80, lines#36, - bel=^G, clear=\E^L, cr=^M, cub1=^H, cud1=^J, cuf1=\s, - cup=\035%{775}%{108}%p1%*%{5}%/%-%Py%p2%{64}%*%{4}%+%{5}%/%Px%gy%{32}%/%{31}%&%{32}%+%c%gy%{31}%&%{96}%+%c%gx%{32}%/%{31}%&%{32}%+%c%gx%{31}%&%{64}%+%c\037, - cuu1=^K, ff=^L, - hd=\036HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\037, - home=^]8g @\037, - hu=\036DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\037, - is2=\E8, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^I, kcuu1=^K, - nel=^M^J, u0=\E[?38h\E8, u1=\E[?38l\E)0, - -# Vendor-supplied Wyse entries end here. - -# -#TITLE: TERMINFO ENTRY WY520 -#DATE: 8/5/93 -# The WY520 terminfo is based on the WY285 entry published on the WYSE -# BBS with the addition of more function keys and special keys. -# -# rs1 -> set personality -# rs2 -> set number of columns -# rs3 -> set number of lines -# is1 -> select the proper font -# is2 -> do the initialization -# is3 -> If this string is empty then rs3 gets sent. -# -# Wyse 520 emulating a vt420 7 bit mode with default ANSI keyboard -# - The BS key is programmed to generate BS in smcup since -# is2 doesn't seem to work. -# - Remove and shift/Remove: delete a character -# - Insert : enter insert mode -# - Find : delete to end of file -# - Select : clear a line -# - F11, F12, F13: send default sequences (not ESC, BS, LF) -# - F14 : Home key -# - Bottom status line (host writable line) is used. -# - smkx,rmkx are removed because this would put the numeric -# keypad in Dec application mode which doesn't seem to work -# with SCO applications. -# -wy520|wyse520|wyse 520, - am, hs, km, mc5i, mir, xenl, xon, - cols#80, it#8, lines#24, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J$<40>, cnorm=\E[34h\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr$<20>, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?25h\E[34l, dch=\E[%p1%dP$<3>, dch1=\E[P$<30>, - dim=\E[2m, dl=\E[%p1%dM$<2*>, dl1=\E[M$<2>, dsl=\E[0$~, - ech=\E[%p1%dX, ed=\E[J$<40>, el=\E[K, el1=\E[1K, - enacs=\E)0, fsl=\E[0$}, home=\E[H, hpa=\E[%i%p1%d`, ht=^I, - hts=\EH, ich=\E[%p1%d@$<2>, il=\E[%p1%dL$<3*>, - il1=\E[L$<3>, ind=\n$<2>, invis=\E[8m, ip=$<4>, is1=\E[?5W, - is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25;67h, - is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcbt=\E[Z, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, ked=\E[1~, - kel=\E[4~, kent=\EOM, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, - kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, khome=\E[26~, - kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, lf1=PF1, - lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, - rc=\E8, rev=\E[7m, ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, - rmcup=\E[ R, rmir=\E[4l, rmso=\E[m, rmul=\E[24m, - rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p, rs2=\E[35h\E[?3l, - rs3=\E[?5l\E[47h\E[40l\E[r, sc=\E7, - sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, - smcup=\E[ Q\E[?67;8h, smir=\E[4h, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, tsl=\E[2$~\E[1$}\E[%i%p1%d`, - vpa=\E[%i%p1%dd, use=vt220+keypad, -# -# Wyse 520 with 24 data lines and status (terminal status) -wy520-24|wyse520-24|wyse 520 with 24 data lines, - hs@, - dsl@, fsl@, rs3=\E[?5l\E[47h\E[40l\E[1;24r, tsl@, - use=wy520, -# -# Wyse 520 with visual bell. -wy520-vb|wyse520-vb|wyse 520 with visible bell, - flash=\E[30h\E\,\E[30l$<100>, use=wy520, -# -# Wyse 520 in 132-column mode. -wy520-w|wyse520-w|wyse 520 in 132-column mode, - cols#132, wsl#132, - dch=\E[%p1%dP$<7>, dch1=\E[P$<7>, ich=\E[%p1%d@$<7>, - ip=$<7>, rs2=\E[35h\E[?3h, use=wy520, -# -# Wyse 520 in 132-column mode with visual bell. -wy520-wvb|wyse520-wvb|wyse 520 with visible bell 132-columns, - flash=\E[30h\E\,\E[30l$<100>, use=wy520-w, -# -# -# Wyse 520 emulating a vt420 7 bit mode. -# The DEL key is programmed to generate BS in is2. -# With EPC keyboard. -# - 'End' key will clear till end of line on EPC keyboard -# - Shift/End : ignored. -# - Insert : enter insert mode. -# - Delete : delete a character (have to change interrupt character -# to CTRL-C: stty intr '^c') for it to work since the -# Delete key sends 7FH. -wy520-epc|wyse520-epc|wyse 520 with EPC keyboard, - kdch1=\177, kel=\E[4~, kend=\E[4~, kf0=\E[21~, kf1=\E[11~, - kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, khome=\E[H, - use=wy520, -# -# Wyse 520 with 24 data lines and status (terminal status) -# with EPC keyboard. -wy520-epc-24|wyse520-pc-24|wyse 520 with 24 data lines and EPC keyboard, - hs@, - dsl@, fsl@, rs3=\E[?5l\E[47h\E[40l\E[1;24r, tsl@, - use=wy520-epc, -# -# Wyse 520 with visual bell. -wy520-epc-vb|wyse520-pc-vb|wyse 520 with visible bell and EPC keyboard, - flash=\E[30h\E\,\E[30l$<100>, use=wy520-epc, -# -# Wyse 520 in 132-column mode. -wy520-epc-w|wyse520-epc-w|wyse 520 in 132-column mode with EPC keyboard, - cols#132, wsl#132, - dch=\E[%p1%dP$<7>, dch1=\E[P$<7>, ich=\E[%p1%d@$<7>, - ip=$<7>, rs2=\E[35h\E[?3h, use=wy520-epc, -# -# Wyse 520 in 132-column mode with visual bell. -wy520-epc-wvb|wyse520-p-wvb|wyse 520 with visible bell 132-columns and EPC keyboard, - flash=\E[30h\E\,\E[30l$<100>, use=wy520-epc-w, -# -# Wyse 520 in 80-column, 36 lines -wy520-36|wyse520-36|wyse 520 with 36 data lines, - hs@, - lines#36, - dsl@, fsl@, rs3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r, tsl@, - use=wy520, -# -# Wyse 520 in 80-column, 48 lines -wy520-48|wyse520-48|wyse 520 with 48 data lines, - hs@, - lines#48, - dsl@, fsl@, rs3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r, tsl@, - use=wy520, -# -# Wyse 520 in 132-column, 36 lines -wy520-36w|wyse520-36w|wyse 520 with 132 columns and 36 data lines, - cols#132, wsl#132, - rs2=\E[?3h, - rs3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r\E[132$|, - use=wy520-36, -# -# Wyse 520 in 132-column, 48 lines -wy520-48w|wyse520-48w|wyse 520 with 48 data lines, - cols#132, wsl#132, - rs2=\E[?3h, - rs3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r\E[132$|, - use=wy520-48, -# -# -# Wyse 520 in 80-column, 36 lines with EPC keyboard -wy520-36pc|wyse520-36pc|wyse 520 with 36 data lines and EPC keyboard, - hs@, - lines#36, - dsl@, fsl@, rs3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r, tsl@, - use=wy520-epc, -# -# Wyse 520 in 80-column, 48 lines with EPC keyboard -wy520-48pc|wyse520-48pc|wyse 520 with 48 data lines and EPC keyboard, - hs@, - lines#48, - dsl@, fsl@, rs3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r, tsl@, - use=wy520-epc, -# -# Wyse 520 in 132-column, 36 lines with EPC keyboard -wy520-36wpc|wyse520-36wpc|wyse 520 with 36 data lines and EPC keyboard, - cols#132, wsl#132, - rs2=\E[?3h, - rs3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r\E[132$|, - use=wy520-36pc, -# -# Wyse 520 in 132-column, 48 lines with EPC keyboard -wy520-48wpc|wyse520-48wpc|wyse 520 with 48 data lines and EPC keyboard, - cols#132, wsl#132, - rs2=\E[?3h, - rs3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r\E[132$|, - use=wy520-48pc, - -# From: John Gilmore -# (wyse-vp: removed , there's no such -# file and we don't know what is -- esr) -wyse-vp|Wyse 50 in ADDS Viewpoint emulation mode with "enhance" on, - OTbs, am, - cols#80, it#8, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^F, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, dch1=\EW, - dl1=\El, ed=\Ek, el=\EK, home=^A, ht=^I, il1=\EM, ind=^J, - is2=\E`\:\E`9\017\Er, kbs=^H, kcub1=^U, kcud1=^J, kcuf1=^F, - kcuu1=^Z, khome=^A, ll=^A^Z, nel=^M^J, rmir=\Er, rmso=^O, - rmul=^O, rs1=\E`\:\E`9\017\Er, sgr0=^O, smir=\Eq, smso=^N, - smul=^N, - -wy75ap|wyse75ap|wy-75ap|wyse-75ap|Wyse WY-75 Applications and Cursor keypad, - is2=\E[1;24r\E[?10;3l\E[?1;25h\E[4l\E[m\E(B\E=, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - khome=\EOH, rmkx=\E[?1l\E>$<10/>, smkx=\E[?1h\E=$<10/>, - use=wy75, - -# From: Eric Freudenthal -wy100q|Wyse 100 for Quotron, - OTbs, - cols#80, lines#24, xmc#1, - cbt=\EI, clear=^Z, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET, home=^^, il1=\EE, invis@, - is2=\E`\:\0\EC\EDF\E0\E'\E(\EA21, kcub1=^H, kcud1=^J, - kcuf1=^L, kcuu1=^K, ri=\Ej, rmir=\Er, smir=\Eq, use=adm+sgr, - -#### Kermit terminal emulations -# -# Obsolete Kermit versions may be listed in the section describing obsolete -# non-ANSI terminal emulators later in the file. -# - -# KERMIT standard all versions. -# Straight ascii keyboard. :sr=\EI: not avail. many versions + bug prone in vi. -# (kermit: removed obsolete ":ma=^Hh^Jj^Kk^Ll^^H:" -- esr) -# From: greg small 9-25-84 -kermit|standard kermit, - OTbs, - cols#80, lines#24, - clear=\EE, cub1=^H, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, - el=\EK, home=\EH, is2=K0 Standard Kermit 9-25-84\n, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, -kermit-am|standard kermit plus auto-margin, - am, - is2=K1 Standard Kermit plus Automatic Margins\n, - use=kermit, -# IBMPC Kermit 1.2. -# Bugs: , : do not work except at beginning of line! does -# not work, but fake with :cl=\EH\EJ (since :cd=\EJ: works at beginning of -# line). -# From: greg small 8-30-84 -pckermit|pckermit12|UCB IBMPC Kermit 1.2, - am, - lines#25, - clear=\EH\EJ, ed@, el@, - is2=K2 UCB IBMPC Kermit 1.2 8-30-84\n, use=kermit, -# IBMPC Kermit 1.20 -# Cannot use line 25, now acts funny like ansi special scrolling region. -# Initialization must escape from that region by cursor position to line 24. -# Cannot use character insert because 1.20 goes crazy if insert at col 80. -# Does not use :am: because autowrap is lost when kermit dropped and restarted. -# From: greg small 12-19-84 -pckermit120|UCB IBMPC Kermit 1.20, - it#8, lines#24, - cud1=\EB, cvvis=\EO\Eq\EEK3, dch1=\EN, dl1=\EM, ht=^I, - il1=\EL, - is2=\EO\Eq\EJ\EY7 K3 UCB IBMPC Kermit 1.20 12-19-84\n, - rmir@, rmso=\Eq, smir@, smso=\Ep, use=kermit, -# MS-DOS Kermit 2.27 for the IBMPC -# Straight ascii keyboard. :sr=\EI: not avail. many versions + bug prone in vi. -# Cannot use line 25, now acts funny like ansi special scrolling region. -# Initialization must escape from that region by cursor position to line 24. -# Does not use am: because autowrap is lost when kermit dropped and restarted. -# Reverse video for standout like H19. -# (msk227: removed obsolete ":ma=^Hh^Jj^Kk^Ll^^H:" -- esr) -# From: greg small 3-17-85 -msk227|mskermit227|MS-DOS Kermit 2.27 for the IBMPC, - OTbs, am@, - cols#80, it#8, lines#24, - clear=\EE, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, - cvvis=\EO\Eq\EG\EwK4, dch1=\EN, dl1=\EM, ed=\EJ, el=\EK, - home=\EH, ht=^I, il1=\EL, - is2=\EO\Eq\EG\Ew\EJ\EY7 K4 MS Kermit 2.27 for the IBMPC 3-17-85\n, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, rc=\Ek, - rmir=\EO, rmso=\Eq, sc=\Ej, smir=\E@, smso=\Ep, -# MS-DOS Kermit 2.27 with automatic margins -# From: greg small 3-17-85 -msk227am|mskermit227am|UCB MS-DOS Kermit 2.27 with automatic margins, - am, - cvvis=\EO\Eq\EG\EvK5, - is2=\EO\Eq\EG\Ev\EJ\EY7 K5 MS Kermit 2.27 +automatic margins 3-17-85\n, - use=msk227, -# MS-DOS Kermit 2.27 UCB 227.14 for the IBM PC -# Automatic margins now default. Use ansi for highlights. -# Define function keys. -# (msk22714: removed obsolete ":kn#10:" -- esr) -# From: greg small 3-17-85 -msk22714|mskermit22714|UCB MS-DOS Kermit 2.27 UCB 227.14 IBM PC, - am, - bold=\E[1m, cvvis=\EO\Eq\EG\EvK6, - is2=\EO\Eq\EG\Ev\EJ\EY7 K6 MS Kermit 2.27 UCB 227.14 IBM PC 3-17-85\n, - kf0=\E0, kf1=\E1, kf2=\E2, kf3=\E3, kf4=\E4, kf5=\E5, kf6=\E6, - kf7=\E7, kf8=\E8, kf9=\E9, rev=\E[7m, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smso=\E[1m, smul=\E[4m, use=mskermit227, -# This was designed for a VT320 emulator, but it is probably a good start -# at support for the VT320 itself. -# Please send changes with explanations to bug-gnu-emacs@prep.ai.mit.edu. -# (vt320-k3: I added / based on the init string -- esr) -vt320-k3|MS-Kermit 3.00's vt320 emulation, - am, eslok, hs, km, mir, msgr, xenl, - cols#80, it#8, lines#49, pb#9600, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[J, cmdch=\E, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - dsl=\E[0$~, ech=\E[%p1%dX, ed=\E[J, el=\E[K, - flash=\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l, - fsl=\E[0$}, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, - ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J, - is2=\E>\E F\E[?1l\E[?7h\E[r\E[2$~, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdl1=\E[3~, kf0=\E[21~, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~, - kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kich1=\E[2~, knp=\E[6~, - kpp=\E[5~, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, nel=^M^J, rc=\E8, - rev=\E[7m, ri=\EM, rin=\E[%p1%dL, rmacs=\E(B, rmam=\E[?7l, - rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, - rs1=\E(B\E)B\E>\E F\E[4;20l\E[12h\E[?1;5;6;38;42l\E[?7;25h\E[4i\E[?4i\E[m\E[r\E[2$~, - sc=\E7, sgr0=\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[1$}\r\E[K, vpa=\E[%i%p1%dd, -# From: Joseph Gil 13 Dec 1991 -# ACS capabilities from Philippe De Muyter 30 May 1996 -# (I removed a bogus boolean :mo: and added , , -- esr) -vt320-k311|dec vt320 series as defined by kermit 3.11, - am, eslok, hs, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[;H\E[2J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - dsl=\E[2$~\r\E[1$}\E[K\E[$}, ed=\E[J, el=\E[K, - flash=\E[?5h\E[?5l, fsl=\E[$}, home=\E[H, ht=^I, hts=\EH, - ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L$<3/>, ind=\ED, - is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~, - kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, lf1=pf1, lf2=pf2, - lf3=pf3, lf4=pf4, nel=^M\ED, rc=\E8, rev=\E[7m, - rf=/usr/local/share/tabset/vt100, ri=\EM, rmacs=^O, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, - rmul=\E[24m, rs1=\E[?3l, sc=\E7, sgr0=\E[m, smacs=^N, - smam=\E[?7h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, tsl=\E[2$~\E[1$}\E[1;%dH, - -######## NON-ANSI TERMINAL EMULATIONS -# - -#### Avatar -# -# These entries attempt to describe Avatar, a terminal emulation used with -# MS-DOS bulletin-board systems. It was designed to give ANSI-like -# capabilities, but with cheaper (shorter) control sequences. Messy design, -# excessively dependent on PC idiosyncracies, but apparently rather popular -# in the BBS world. -# -# No color support. Avatar doesn't fit either of the Tektronix or HP color -# models that terminfo knows about. An Avatar color attribute is the -# low 7 bits of the IBM-PC display-memory attribute. Bletch. -# -# I wrote these entries while looking at the Avatar spec. I don't have -# the facilities to test them. Let me know if they work, or don't. -# -# Avatar escapes not used by these entries (because maybe you're smarter -# and more motivated than I am and can figure out how to wrap terminfo -# around some of them, and because they are weird enough to be funny): -# level 0: -# ^L -- clear window/reset current attribute to default -# ^V^A%p1%c -- set current color attribute, parameter decodes as follows: -# -# bit: 6 5 4 3 2 1 0 -# | | | | | -# +---+---+ | +---+---+ -# | | | -# | | foreground color -# | foreground intensity -# background color -# level 0+: -# ^V^J%p1%c%p2%c%p3%c%p4%c%p5%c -- scroll (p2,p3) to (p4,p5) up by p1 lines -# ^V^K%p1%c%p2%c%p3%c%p4%c%p5%c -- scroll (p2,p3) to (p4,p5) down by p1 lines -# ^V^L%p1%c%p2%c%p3%c -- clear p2 lines and p3 cols w/attr %p1 -# ^V^M%p1%c%p2%c%p3%c%p4%c -- fill p3 lines & p4 cols w/char p2+attr %p1 -# (^V^L and ^V^M set the current attribute as a side-effect.) -# ^V ^Y [...] -- repeat pattern. specifies the number of bytes -# in the pattern, the number of times the pattern -# should be repeated. If either value is 0, no-op. -# The pattern can contain Avatar console codes, -# including other ^V ^Y patterns. -# level 1: -# ^V^O -- clockwise mode on; turn print direction right each time you -# hit a window edge (yes, really). Turned off by CR -# ^V^P -- no-op -# ^V^Q%c -- query the driver -# ^V^R -- driver reset -# ^V^S -- Sound tone (PC-specific) -# ^V^T -- change highlight at current cursor poition to %c -# ^V^U%p1%c%p2%c -- highlight window with attribute -# ^V^V%p1%c%p2%c%p3%c%p4%c%p5%c -# -- define window -# -# From: Eric S. Raymond 1 Nov 1995 -# (The ///// capabilities exist only to -# tell ncurses that the corresponding highlights exist; it should use , -# which is the only method that will actually work for multiple highlights.) -# -# Update by TD - 2004: half of this was inconsistent. Found documentation -# and repaired most of the damage. sgr0 is probably incorrect, but the -# available documentation gives no clues for a workable string. -avatar0|avatar terminal emulator level 0, - am, bce, msgr, - cols#80, it#8, lines#25, - blink=^V^B, bold=^V^A^P, cr=^M, cub1=^V^E, cud1=^V^D, - cuf1=^V^F, cup=\026\010%p1%c%p2%c, cuu1=^V^C, el=^V^G, - ind=^J, invis=^V^A\0, rep=\031%p1%c%p2%c, rev=^V^Ap, - rmacs@, rs2=^L, - sgr=%?%p1%p2%|%p3%|%p6%|%p7%|%t\026\001%?%p7%t%{128}%e%{0}%?%p1%t%{112}%|%;%?%p2%t%{1}%|%;%?%p3%t%{112}%|%;%?%p6%t%{16}%|%;%;%c%;%?%p4%t\026\002%;, - sgr0=^V^A^G, smacs@, smso=^V^Ap, smul=^V^A^A, - use=klone+acs, -# From: Eric S. Raymond 1 Nov 1995 -avatar0+|avatar terminal emulator level 0+, - dch1=^V^N, rmir=\026\n\0\0\0\0, smir=^V^I, use=avatar0, -# From: Eric S. Raymond 1 Nov 1995 -avatar|avatar1|avatar terminal emulator level 1, - civis=^V'^B, cnorm=^V'^A, cvvis=^V^C, dl1=^V-, il1=^V+, - rmam=^V", rmir=^V^P, smam=^V$, use=avatar0+, - -#### RBcomm -# -# RBComm is a lean and mean terminal emulator written by the Interrupt List -# maintainer, Ralf Brown. It was fairly popular in the late DOS years (early -# '90s), especially in the BBS world, and still has some loyal users due to -# its very small memory footprint and to a cute macro language. -rbcomm|IBM PC with RBcomm and EMACS keybindings, - am, bw, mir, msgr, xenl, - cols#80, it#8, lines#25, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=^L, cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=^C, cuf1=^B, - cup=\037%p2%{32}%+%c%p1%{32}%+%c, cuu1=^^, dch1=^W, - dl=\E[%p1%dM, dl1=^Z, ech=\E[%p1%dX, ed=^F5, el=^P^P, ht=^I, - il=\E[%p1%dL, il1=^K, ind=\ED, invis=\E[8m, - is2=\017\035\E(B\E)0\E[?7h\E[?3l\E[>8g, kbs=^H, - kcub1=^B, kcud1=^N, kcuf1=^F, kcuu1=^P, khome=^A, nel=^M\ED, - rc=\E8, rep=\030%p1%c%p2%c, rev=^R, ri=\EM, rmcup=, rmdc=, - rmir=^], rmkx=\E>, rmso=^U, rmul=^U, - rs1=\017\E(B\E)0\025\E[?3l\E[>8g, sc=\E7, sgr0=\E[m, - smcup=, smdc=, smir=^\, smkx=\E=, smso=^R, smul=^T, -rbcomm-nam|IBM PC with RBcomm without autowrap, - am@, - bel=^G, cr=^M, cud1=^J, ht=^I, ind=^J, - is2=\017\035\E(B\E)0\E[?7l\E[?3l\E[>8g, kbs=^H, - kcub1=^H, kcud1=^J, nel=^M^J, use=rbcomm, -rbcomm-w|IBM PC with RBcomm in 132 column mode, - cols#132, - bel=^G, cr=^M, cud1=^J, ht=^I, ind=^J, - is2=\017\035\E(B\E)0\E[?7h\E[?3h\E[>8g, kbs=^H, - kcub1=^H, kcud1=^J, nel=^M^J, use=rbcomm, - -######## LCD DISPLAYS -# - -#### Matrix Orbital -# from: Eric Z. Ayers (eric@ale.org) -# -# Matrix Orbital 20x4 LCD display -# Command Character is 0xFE (decimal 254, octal 376) -# -# On this device, cursor addressability isn't possible. The LCD expects: -# 0xfe G -# for cup: %p1 == row and %p2 is column -# -# This line: -# cup=\376G%p2%c%p1%c -# LOOKS like it will work, but sometimes only one of the two numbers is sent. -# See the terminfo (5) manpage commented regarding 'Terminals which use "%c"'. -# -# Alas, there is no cursor upline capability on this display. -# -# These entries add some 'sanity stuff' to the clear function. That is, it -# does a 'clear' and also turns OFF auto scroll, turns ON Auto Line Wrapping, -# and turns off the cursor blinking and stuff like that. -# -# NOTE: calling 'beep' turns on the backlight (bell) -# NOTE: calling 'flash' turns it on and back off (visual bell) -# -MtxOrb| Generic Matrix Orbital LCD display, - bel=\376B^A, clear=\376X\376C\376R\376K\376T, - cnorm=\376K\376T, cub1=\376L, cuf1=\376M, - flash=\376B\001$<200>\376F, home=\376H, -MtxOrb204| 20x4 Matrix Orbital LCD display, - cols#20, lines#4, use=MtxOrb, -MtxOrb162| 16x2 Matrix Orbital LCD display, - cols#16, lines#2, use=MtxOrb, -# The end - -######## OLDER TERMINAL TYPES -# -# This section is devoted to older commercial terminal brands that are now -# discontinued, but known to be still in use or represented by emulations. -# - -#### AT&T (att, tty) -# -# This section also includes Teletype-branded VDTs. -# -# The AT&T/Teletype terminals group was sold to SunRiver Data Systems (now -# Boundless Technologies); for details, see the header comment on the ADDS -# section. -# -# These are AT&T's official terminfo entries. All-caps aliases have been -# removed. -# -att2300|sv80|AT&T 2300 Video Information Terminal 80 column mode, - am, eo, mir, msgr, xon, - cols#80, it#8, lines#24, - bel=^G, clear=\E[H\E[J, cr=^M, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, el1=\E[1K, home=\E[H, ht=^I, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcbt=\E[Z, kclr=\E[J, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, - kdl1=\E[M, kf1=\E[1r, kf10=\E[10r, kf11=\E[11r, - kf12=\E[12r, kf13=\E[13r, kf14=\E[14r, kf15=\E[15r, - kf16=\E[16r, kf2=\E[2r, kf3=\E[3r, kf4=\E[4r, kf5=\E[5r, - kf6=\E[6r, kf7=\E[7r, kf8=\E[8r, kf9=\E[9r, khome=\E[H, - kich1=\E[@, kil1=\E[L, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, - rev=\E[7m, rmir=\E[4l, rmso=\E[m, sgr0=\E[m, smir=\E[4h, - smso=\E[7m, -att2350|AT&T 2350 Video Information Terminal 80 column mode, - mc0@, mc4@, mc5@, use=att2300, - -# Must setup RETURN KEY - CR, REC'VD LF - INDEX. -# Seems upward compatible with vt100, plus ins/del line/char. -# On sgr, the protection parameter is ignored. -# No check is made to make sure that only 3 parameters are output. -# standout= reverse + half-intensity = 3 | 5. -# bold= reverse + underline = 2 | 3. -# note that half-bright blinking doesn't look different from normal blinking. -# NOTE:you must program the function keys first, label second! -# (att4410: a BSD entry has been seen with the following capabilities: -# , , , , , -# , , , -- esr) -att5410v1|att4410v1|tty5410v1|AT&T 4410/5410 80 columns - version 1, - am, hs, mir, msgr, xon, - cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80, - acsc=++\,\,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[2;7m, clear=\E[H\E[J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dim=\E[2m, - dl1=\E[M, ed=\E[J, el=\E[K, fsl=\E8, home=\E[H, ht=^I, - ich1=\E[@, il1=\E[L, ind=^J, invis=\E[8m, is1=\E[?3l\E)0, - is3=\E[1;03q f1 \EOP\E[2;03q f2 \EOQ\E[3;03q f3 \EOR\E[4;03q f4 \EOS\E[5;03q f5 \EOT\E[6;03q f6 \EOU\E[7;03q f7 \EOV\E[8;03q f8 \EOW, - kbs=^H, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, - kf6=\EOU, kf7=\EOV, kf8=\EOW, khome=\E[H, kll=\E[24;1H, - ll=\E[24H, nel=^M^J, - pfx=\E[%p1%1d;%p2%l%2.2dq f%p1%1d %p2%s, - pln=\E[%p1%d;00q%p2%:-16s, rc=\E8, rev=\E[7m, ri=\EM, - rmacs=^O, rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y, - sc=\E7, - sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smso=\E[7m, smul=\E[4m, - tsl=\E7\E[25;%p1%{1}%+%dH, - -att4410v1-w|att5410v1-w|tty5410v1-w|AT&T 4410/5410 132 columns - version 1, - cols#132, wsl#132, - is1=\E[?3h\E)0, rs2=\Ec\E[?3h\E[2;0y, use=att5410v1, - -att4410|att5410|tty5410|AT&T 4410/5410 80 columns - version 2, - OTbs, - pfx=\E[%p1%d;%p2%l%02dq f%p1%d %p2%s, - use=att5410v1, - -att5410-w|att4410-w|4410-w|tty5410-w|5410-w|AT&T 4410/5410 in 132 column mode, - cols#132, wsl#132, - is1=\E[?3h\E)0, rs2=\Ec\E[?3h\E[2;0y, use=att4410, - -# 5410 in terms of a vt100 -# (v5410: added / based on init string -- esr) -v5410|att5410 in terms of a vt100, - am, mir, msgr, xon, - cols#80, it#8, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=^J, cuf1=\E[C$<2>, - cup=\E[%i%p1%d;%p2%dH$<5>, cuu1=\E[A$<2>, dch1=\E[P, - dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>, - enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ich1=\E[@, - il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, - kcuu1=\EOA, rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, - rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m$<2>, - rmul=\E[m$<2>, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>, - sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, - smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, - use=vt100+fnkeys, - -# -# Teletype Model 5420 -- A souped up 5410, with multiple windows, -# even! the 5420 has three modes: scroll, window or page mode -# this terminfo should work in scroll or window mode, but doesn't -# take advantage of any of the differences between them. -# -# Has memory below (2 lines!) -# 3 pages of memory (plus some spare) -# The 5410 sequences for , , ,

, , , , -# , would work for these, but these work in both scroll and window -# mode... Unset insert character so insert mode works -# sets 80 column mode, -# escape sequence: -# 1) turn off all fonts -# 2) function keys off, keyboard lock off, control display off, -# insert mode off, erasure mode off, -# 3) full duplex, monitor mode off, send graphics off, nl on lf off -# 4) reset origin mode -# 5) set line wraparound -# 6) exit erasure mode, positional attribute mode, and erasure extent mode -# 7) clear margins -# 8) program ENTER to transmit ^J, -# We use \212 to program the ^J because a bare ^J will get translated by -# UNIX into a CR/LF. The enter key is needed for AT&T uOMS. -# 1 2 3 4 5 6 7 8 -# set screen color to black, -# No representation in terminfo for the delete word key: kdw1=\Ed -# Key capabilities assume the power-up send sequence... -# This is not strictly necessary, but it helps maximize -# memory usefulness: , -# Alternate sgr0: , -# Alternate sgr: , -# smkx programs the SYS PF keys to send a set sequence. -# It also sets up labels f1, f2, ..., f8, and sends edit keys. -# This string causes them to send the strings - -# when pressed in SYS PF mode. -# (att4415: I added / based on the init string -- esr) -att4415|tty5420|att5420|AT&T 4415/5420 80 cols, - OTbs, db, mir, xon, - lh#2, lm#78, lw#8, nlab#8, wsl#55, - cbt=\E[Z, clear=\E[x\E[J, cnorm=\E[11;0j, cub=\E[%p1%dD, - cud=\E[%p1%dB, cuf=\E[%p1%dC, cup=\E[%i%p1%d;%p2%dx, - cuu=\E[%p1%dA, cvvis=\E[11;1j, dch=\E[%p1%dP, - dl=\E[%p1%dM, ech=\E[%p1%ds\E[%p1%dD, - flash=\E[?5h$<200>\E[?5l, home=\E[x, - hpa=\E[%p1%{1}%+%dG, hts=\EH, ich=\E[%p1%d@, ich1@, - il=\E[%p1%dL, indn=\E[%p1%dE, is1=\E[?3l$<100>, - is2=\E[m\017\E[1;2;3;4;6l\E[12;13;14;20l\E[?6;97;99l\E[?7h\E[4i\Ex\E[21;1j\212, - is3=\E[?5l, kbeg=\Et, kcbt=\E[Z, kdch1=\E[P, kdl1=\E[M, - kel=\E[2K, kend=\Ez, kent=\Eent, kf1=\EOc, kf2=\EOd, - kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, - kich1=\E[4h, kil1=\E[L, kind=\E[T, kll=\Eu, knp=\E[U, - kpp=\E[V, kri=\E[S, lf1=F1, lf2=F2, lf3=F3, lf4=F4, lf5=F5, - lf6=F6, lf7=F7, lf8=F8, ll=\Ew, mc0=\E[?2i, mc4=\E[?9i, - mc5=\E[?4i, mrcup=\E[%i%p1%d;%p2%dt, - pfx=\E[%p1%d;%p2%l%02dq F%p1%d %p2%s, - pln=\E[%p1%d;0;0;0q%p2%:-16.16s, prot=\EV, - rin=\E[%p1%dF, rmam=\E[?7l, rmir=\E[4l, - rmkx=\E[19;0j\E[21;1j\212, rmln=\E|, - sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smam=\E[?7h, smir=\E[4h, - smkx=\E[19;1j\E[21;4j\Eent, smln=\E~, tbc=\E[3g, - tsl=\E7\E[25;%p1%{8}%+%dH, vpa=\E[%p1%{1}%+%dd, - use=att4410, - -att4415-w|tty5420-w|att5420-w|AT&T 4415/5420 132 cols, - cols#132, lm#54, wsl#97, - is1=\E[?3h$<100>, use=att4415, - -att4415-rv|tty5420-rv|att5420-rv|AT&T 4415/5420 80 cols/rv, - flash=\E[?5l$<200>\E[?5h, is3=\E[?5h, use=att4415, - -att4415-w-rv|tty5420-w-rv|att5420-w-rv|AT&T 4415/5420 132 cols/rv, - cols#132, lm#54, wsl#97, - flash=\E[?5l$<200>\E[?5h, is1=\E[?3h$<100>, is3=\E[?5h, - use=att4415, - -# Note that this mode permits programming USER PF KEYS and labels -# However, when you program user pf labels you have to reselect -# user pf keys to make them appear! -att4415+nl|tty5420+nl|att5420+nl|generic AT&T 4415/5420 changes for not changing labels, - kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, - pfx=\E[%p1%d;%p2%l%02d;0;1q F%p1%d %p2%s, - pln=\E[%p1%d;0;0;1q%p2%:-16.16s, - -att4415-nl|tty5420-nl|att5420-nl|AT&T 4415/5420 without changing labels, - kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, use=att4415+nl, - use=att4415, - -att4415-rv-nl|tty5420-rv-nl|att5420-rv-nl|AT&T 4415/5420 reverse video without changing labels, - kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, use=att4415+nl, - use=att4415-rv, - -att4415-w-nl|tty5420-w-nl|att5420-w-nl|AT&T 4415/5420 132 cols without changing labels, - kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, use=att4415+nl, - use=att4415-w, - -att4415-w-rv-n|tty5420-w-rv-n|att5420-w-rv-n|AT&T 4415/5420 132 cols reverse without changing labels, - kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, use=att4415+nl, - use=att4415-w-rv, - -att5420_2|AT&T 5420 model 2 80 cols, - am, db, hs, mir, msgr, xon, - cols#80, it#8, lh#2, lines#24, lm#78, lw#8, nlab#8, wsl#55, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - blink=\E[5m, cbt=\E[1Z, clear=\EH\EJ, cnorm=\E[11;0j, - cr=\EG, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud1=\E[1B, cuf=\E[%p1%dC, cuf1=\E[1C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cvvis=\E[11;1j, - dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, - dl1=\E[M, ech=\E[%p1%ds\E[%p1%dD, ed=\E[0J, el=\E[0K, - el1=\E[1K, flash=\E[?5h$<200>\E[?5l, fsl=\E8, home=\E[H, - hpa=\E[%p1%{1}%+%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dE, - invis=\E[8m, - is1=\E[0;23r\Ex\Ey\E[2;0j\E[3;3j\E[4;0j\E[5;0j\E[6;0j\E[7;0j\E[8;0j\E[9;1j\E[10;0j\E[15;0j\E[16;1j\E[19;0j\E[20;1j\E[29;0j\E[1;24r, - kbeg=\Et, kbs=^H, kcbt=\E[Z, kclr=\E[2J, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[M, - kel=\E[2K, kend=\Ez, kent=^J, kf1=\EOc, kf2=\EOd, kf3=\EOe, - kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, khome=\E[H, - kich1=\E[4h, kil1=\E[L, kind=\E[T, kll=\Eu, knp=\E[U, - kpp=\E[V, kri=\E[S, lf1=F1, lf2=F2, lf3=F3, lf4=F4, lf5=F5, - lf6=F6, lf7=F7, lf8=F8, ll=\Ew, mc0=\E[?;2i, mc4=\E[4i, - mc5=\E[5i, mrcup=\E[%i%p1%d;%p2%dt, nel=^M^J, - pfx=\E[%p1%d;%p2%l%02dq F%p1%d %p2%s\E~, - pln=\E[%p1%d;0;0;0q%p2%:-16.16s\E~, prot=\EV, rc=\E8, - rev=\E[7m, ri=\EM, rin=\E[%p1%dF, rmacs=^O, rmkx=\E[19;0j, - rmln=\E|, rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y, - sc=\E7, - sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smkx=\E[19;1j, smln=\E~, - smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E7\E[25;%p1%{8}%+%dH, vpa=\E[%p1%{1}%+%dd, -att5420_2-w|AT&T 5420 model 2 in 132 column mode, - cols#132, - is1=\E[0;23r\Ex\Ey\E[2;0j\E[3;3j\E[4;0j\E[5;1j\E[6;0j\E[7;0j\E[8;0j\E[9;1j\E[10;0j\E[15;0j\E[16;1j\E[19;0j\E[20;1j\E[29;0j\E[1;24r, - use=att5420_2, - -att4418|att5418|AT&T 5418 80 cols, - am, xon, - cols#80, lines#24, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, clear=\E[H\E[2J, cr=^M, cub=\E[%p1%dD, - cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, el=\E[0K, home=\E[H, - ich=\E[%p1%d@, ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, ind=^J, - is1=\E[?3l, is2=\E)0\E?6l\E?5l, kclr=\E[%%, kcub1=\E@, - kcud1=\EU, kcuf1=\EA, kcuu1=\ES, kent=\E[, kf1=\E[h, - kf10=\E[m, kf11=\E[n, kf12=\E[o, kf13=\E[H, kf14=\E[I, - kf15=\E[J, kf18=\E[K, kf19=\E[L, kf2=\E[i, kf20=\E[E, - kf21=\E[_, kf22=\E[M, kf23=\E[N, kf24=\E[O, kf3=\E[j, - kf6=\E[k, kf7=\E[l, kf8=\E[f, kf9=\E[w, khome=\Ec, rc=\E8, - rev=\E[7m, rmacs=^O, rmso=\E[m, rmul=\E[m, sc=\E7, - sgr0=\E[m\017, smacs=^N, smso=\E[7m, smul=\E[4m, -att4418-w|att5418-w|AT&T 5418 132 cols, - cols#132, - is1=\E[?3h, use=att5418, - -att4420|tty4420|teletype 4420, - OTbs, da, db, eo, msgr, ul, xon, - cols#80, lines#24, lm#72, - bel=^G, clear=\EH\EJ, cr=\EG, cub1=\ED, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EP, - dl1=\EM, ed=\EJ, el=\Ez, home=\EH, il1=\EL, ind=\EH\EM\EY7\s, - kcbt=\EO, kclr=\EJ, kcub1=^H, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kdch1=\EP, kdl1=\EM, kf0=\EU, kf3=\E@, khome=\EH, - kich1=\E\^, kil1=\EL, kind=\ES, kri=\ET, - lf0=segment advance, lf3=cursor tab, rmdc@, rmso=\E~, - rmul=\EZ, smdc@, smso=\E}, smul=\E\\, - -# The following is a terminfo entry for the Teletype 4424 -# asynchronous keyboard-display terminal. It supports -# the vi editor. The terminal must be set up as follows, -# -# HIGHLIGHT DEFINITION 3-TONE -# DISPLAY FUNCTION GROUP III -# -# The second entry below provides limited (a la adm3a) -# operation under GROUP II. -# -# This must be used with DISPLAY FUNCTION GROUP I or III -# and HIGHLIGHT DEFINITION 3-TONE -# The terminal has either bold or blink, depending on options -# -# (att4424: commented out =\E[1m, we don't need bright locked on -- esr) -att4424|tty4424|teletype 4424, - OTbs, am, xon, - cols#80, lines#24, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E3, bold=\E3, cbt=\EO, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\EB, cuf=\E[%p1%dC, cuf1=\EC, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EA, - dch=\E[%p1%dP, dch1=\EP, dim=\EW, dl=\E[%p1%dM, dl1=\EM, - ed=\EJ, el=\Ez, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, - ich1=\E\^, il=\E[%p1%dL, il1=\EL, ind=^J, is2=\E[20l\E[?7h, - kbs=^H, kclr=\EJ, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, - khome=\E[H, nel=\EE, rev=\E}, ri=\ET, rmacs=\E(B, rmso=\E~, - rmul=\EZ, - sgr=\E[%?%p1%t7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p6%p4%|%t;5%;%?%p5%t;0%;m, - sgr0=\EX\E~\EZ\E4\E(B, smacs=\E(0, smso=\E}, smul=\E\\, - tbc=\EF, - -att4424-1|tty4424-1|teletype 4424 in display function group I, - kclr@, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome@, - use=att4424, - -# This entry is not one of AT&T's official ones, it was translated from the -# 4.4BSD termcap file. The highlight strings are different from att4424. -# I have no idea why this is -- older firmware version, maybe? -# The following two lines are the comment originally attached to the entry: -# This entry appears to avoid the top line - I have no idea why. -# From: jwb Wed Mar 31 13:25:09 1982 remote from ihuxp -att4424m|tty4424m|teletype 4424M, - am, da, db, mir, - cols#80, it#8, lines#23, - bel=^G, clear=\E[2;H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%2d;%p2%2dH\E[B, cuu1=\E[A, dch1=\EP, - dl1=\EM, el=\E[K, ht=^I, ich1=\E\^, il1=\EL, ind=^J, ip=$<2/>, - is2=\E[m\E[2;24r, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, khome=\E[H, nel=^M^J, ri=\ET, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smso=\E[7m, smul=\E[4m, - -# The Teletype 5425 is really version 2 of the Teletype 5420. It -# is quite similar, except for some minor differences. No page -# mode, for example, so all of the sequences used above have -# to change back to what's being used for the 5410. Many of the -# option settings have changed their numbering as well. -# -# This has been tested on a preliminary model. -# -# (att5425: added / based on the init string -- esr) -att5425|tty5425|att4425|AT&T 4425/5425, - am, da, db, hs, mir, msgr, xenl, xon, - cols#80, it#8, lh#2, lines#24, lm#78, lw#8, nlab#8, wsl#55, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[2;7m, cbt=\E[Z, - clear=\E[H\E[J, cnorm=\E[12;0j, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[12;1j, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%ds\E[%p1%dD, ed=\E[J, - el=\E[K, el1=\E[1K, enacs=\E(B\E)0, - flash=\E[?5h$<200>\E[?5l, fsl=\E8, home=\E[H, - hpa=\E[%p1%{1}%+%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dE, - invis=\E[8m, is1=\E<\E[?3l$<100>, - is2=\E[m\017\E[1;2;3;4;6l\E[12;13;14;20l\E[?6;97;99l\E[?7h\E[4i\Ex\E[25;1j\212, - is3=\E[?5l, kbeg=\Et, kbs=^H, kcbt=\E[Z, kclr=\E[J, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, - kdl1=\E[M, kel=\E[2K, kend=\Ez, kent=\Eent, kf1=\EOc, - kf2=\EOd, kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, - kf8=\EOj, khome=\E[H, kich1=\E[4h, kil1=\E[L, kind=\E[T, - kri=\E[S, ll=\E[24H, mc0=\E[?2i, mc4=\E[?9i, mc5=\E[?4i, - nel=^M^J, - pfx=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s, - pln=\E[%p1%d;0;0;0q%p2%:-16.16s, prot=\EV, rc=\E8, - rev=\E[7m, ri=\EM, rin=\E[%p1%dF, rmacs=^O, rmam=\E[?7l, - rmir=\E[4l, rmkx=\E[21;0j\E[25;1j\212, rmln=\E|, - rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y, sc=\E7, - sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, - smkx=\E[21;1j\E[25;4j\Eent\E~, smln=\E~, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, tsl=\E7\E[25;%p1%{8}%+%dH, - vpa=\E[%p1%{1}%+%dd, - -att5425-nl|tty5425-nl|att4425-nl|AT&T 4425/5425 80 columns no labels, - smkx=\E[21;1j\E[25;4j\Eent, use=att4425, - -att5425-w|att4425-w|tty5425-w|teletype 4425/5425 in 132 column mode, - cols#132, lm#54, wsl#97, - is1=\E[?3h$<100>, use=tty5425, - -# (att4426: his had bogus capabilities: :ri=\EM:, :ri=\E[1U:. -# I also added / -- esr) -att4426|tty4426|teletype 4426S, - am, da, db, xon, - cols#80, lines#24, lm#48, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, bold=\E[5m, clear=\E[H\E[2J\E[1U\E[H\E[2J\E[1V, - cr=^M, cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\EA, dch=\E[%p1%dP, dch1=\EP, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[0K, home=\E[H, - hpa=\E[%p1%dG, ht=^I, hts=\E1, ich=\E[%p1%d@, ich1=\E\^, - il=\E[%p1%dL, il1=\EL, ind=^J, indn=\E[%p1%dS, - is1=\Ec\E[?7h, is2=\E[m\E[1;24r, kbs=^H, kcbt=\EO, - kclr=\E[2J, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, - kf7=\EOV, kf8=\EOW, khome=\E[H, kll=\E[24;1H, ll=\E[24H, - nel=^M^J, rc=\E8, rev=\E[7m, ri=\ET, rin=\E[%p1%dT, - rmacs=\E(B, rmam=\E[?7l, rmso=\E[m, rmul=\E[m, - rs2=\Ec\E[?3l\E[2;0y, sc=\E7, sgr0=\E[m\E(B, smacs=\E(0, - smam=\E[?7h, smso=\E[5m, smul=\E[4m, tbc=\E[3g, - vpa=\E[%p1%dd, - -# Terminfo entry for the AT&T 510 A Personal Terminal -# Function keys 9 - 16 are available only after the -# screen labeled (soft keys/action blocks) are labeled. Function key -# 9 corresponds to the leftmost touch target on the screen, -# function key 16 corresponds to the rightmost. -# -# This entry is based on one done by Ernie Rice at Summit, NJ and -# changed by Anne Gallup, Skokie, IL, ttrdc!anne -att510a|bct510a|AT&T 510A Personal Terminal, - am, mir, msgr, xenl, xon, - cols#80, lh#2, lines#24, lw#7, nlab#8, - acsc=+g\,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[2;7m, cbt=\E[Z, - civis=\E[11;0|, clear=\E[H\E[J, cnorm=\E[11;3|, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[1B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[11;2|, dch=\E[%p1%dP, - dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, - el=\E[0K, el1=\E[1K, enacs=\E(B\E)1, ff=^L, home=\E[H, ht=^I, - hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, is1=\E(B\E)1\E[2l, - is3=\E[21;1|\212, kLFT=\E[u, kRIT=\E[v, kbs=^H, kcbt=\E[Z, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOm, - kf10=\EOd, kf11=\EOe, kf12=\EOf, kf13=\EOg, kf14=\EOh, - kf15=\EOi, kf16=\EOj, kf2=\EOV, kf3=\EOu, kf4=\ENj, kf5=\ENe, - kf6=\ENf, kf7=\ENh, kf8=\E[H, kf9=\EOc, kind=\E[S, kri=\E[T, - mc0=\E[0i, mc4=\E[?8i, mc5=\E[?4i, nel=\EE, - pln=\E[%p1%dp%p2%:-16s, rc=\E8, rev=\E[7m, ri=\EM, - rmacs=^O, rmkx=\E[19;0|, rmso=\E[m, rmul=\E[m, sc=\E7, - sgr=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smkx=\E[19;1|, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, - -# Terminfo entry for the AT&T 510 D Personal Terminal -# Function keys 9 through 16 are accessed by bringing up the -# system blocks. -# Function key 9 corresponds to the leftmost touch target on the screen, -# function key 16 corresponds to the rightmost. -# -# There are problems with soft key labeling. These are due to -# strangenesses in the native terminal that are impossible to -# describe in a terminfo. -att510d|bct510d|AT&T 510D Personal Terminal, - am, da, db, mir, msgr, xenl, xon, - cols#80, lh#2, lines#24, lm#48, lw#7, nlab#8, - acsc=+g\,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[2;7m, cbt=\E[Z, - clear=\E[H\E[J, cnorm=\E[11;3|, cr=^M, cub=\E[%p1%dD, - cub1=^H, cud=\E[%p1%dB, cud1=\E[1B, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, cvvis=\E[11;2|, dch=\E[%p1%dP, dch1=\E[P, - dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, el=\E[0K, - el1=\E[1K, enacs=\E(B\E)1, ff=^L, home=\E[H, - hpa=\E[%p1%{1}%+%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, - invis=\E[8m, is1=\E(B\E)1\E[5;0|, is3=\E[21;1|\212, - kLFT=\E[u, kRIT=\E[v, kbs=^H, kcbt=\E[Z, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOm, kf10=\EOd, - kf11=\EOe, kf12=\EOf, kf13=\EOg, kf14=\EOh, kf15=\EOi, - kf16=\EOj, kf2=\EOV, kf3=\EOu, kf4=\ENj, kf5=\ENe, kf6=\ENf, - kf7=\ENh, kf8=\E[H, kf9=\EOc, kind=\E[S, kri=\E[T, ll=\E#2, - mc0=\E[0i, mc4=\E[?8i, mc5=\E[?4i, mgc=\E\:, nel=\EE, - pln=\E[%p1%dp%p2%:-16s, rc=\E8, - rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM, - rin=\E[%p1%dT, rmacs=^O, rmir=\E[4l, rmkx=\E[19;0|, - rmln=\E<, rmso=\E[m, rmul=\E[m, rmxon=\E[29;1|, - rs2=\E[5;0|, sc=\E7, - sgr=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smgl=\E4, smgr=\E5, smir=\E[4h, - smkx=\E[19;1|, smln=\E?, smso=\E[7m, smul=\E[4m, - smxon=\E[29;0|, tbc=\E[3g, vpa=\E[%p1%{1}%+%dd, - -# (att500: I merged this with the att513 entry, att500 just used att513 -- esr) -att500|att513|AT&T 513 using page mode, - am, chts, mir, msgr, xenl, xon, - cols#80, lh#2, lines#24, lw#8, nlab#8, - acsc=+g\,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[2;7m, cbt=\E[Z, - clear=\E[H\E[J, cnorm=\E[11;0|, cr=^M, - csr=%i\E[%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[11;1|, dch=\E[%p1%dP, dch1=\E[P$<1>, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - enacs=\E(B\E)1, home=\E[H, hpa=\E[%p1%{1}%+%dG, ht=^I, - hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J, - indn=\E[%p1%dE, invis=\E[8m, - is1=\E?\E[3;3|\E[10;0|\E[21;1|\212\E[6;1|\E[1{\E[?99l, - kBEG=\ENB, kCAN=\EOW, kCMD=\EOU, kCPY=\END, kCRT=\EON, - kDC=\ENF, kDL=\ENE, kEND=\ENN, kEOL=\EOA, kEXT=\EOK, - kFND=\EOX, kHLP=\EOM, kHOM=\ENM, kIC=\ENJ, kLFT=\ENK, - kMOV=\ENC, kMSG=\EOL, kNXT=\ENH, kOPT=\EOR, kPRT=\EOZ, - kPRV=\ENG, kRDO=\EOT, kRES=\EOQ, kRIT=\ENL, kRPL=\EOY, - kSAV=\EOO, kSPD=\EOP, kUND=\EOS, kbeg=\E9, kbs=^H, kcan=\EOw, - kcbt=\E[Z, kclo=\EOV, kclr=\E[J, kcmd=\EOu, kcpy=\ENd, - kcrt=\EOn, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\ENf, kdl1=\ENe, kel=\EOa, kend=\E0, kent=\Eent, - kext=\EOk, kf1=\EOc, kf2=\EOd, kf3=\EOe, kf4=\EOf, kf5=\EOg, - kf6=\EOh, kf7=\EOi, kf8=\EOj, kfnd=\EOx, khlp=\EOm, - khome=\E[H, kich1=\ENj, kind=\E[S, kmov=\ENc, kmrk=\ENi, - kmsg=\EOl, knp=\E[U, knxt=\ENh, kopn=\EOv, kopt=\EOr, - kpp=\E[V, kprt=\EOz, kprv=\ENg, krdo=\EOt, kref=\EOb, - kres=\EOq, krfr=\ENa, kri=\E[T, krpl=\EOy, krst=\EOB, - ksav=\EOo, kslt=\ENI, kspd=\EOp, kund=\EOs, ll=\E#2, - mc0=\E[?98l\E[0i, mc4=\E[?98l\E[?8i, mc5=\E[?98l\E[?4i, - nel=\EE, - pfkey=\E[%p1%d;%p2%l%d;3;0p F%p1%d %p2%s, - pfloc=\E[%p1%d;%p2%l%d;2;0p F%p1%d %p2%s, - pfx=\E[%p1%d;%p2%l%d;1;0p F%p1%d %p2%s, - pln=\E[%p1%dp%p2%:-16s, rc=\E8, - rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM, - rin=\E[%p1%dF, rmacs=^O, rmir=\E[4l, - rmkx=\E[19;0|\E[21;1|\212, rmln=\E<, rmso=\E[m, - rmul=\E[m, - rs1=\E?\E[3;3|\E[10;0|\E[21;1|\212\E[6;1|\E[1{\E[?99l\E[2;0|\E[6;1|\E[8;0|\E[19;0|\E[1{\E[?99l, - rs2=\E[5;0|, sc=\E7, - sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smir=\E[4h, - smkx=\E[19;1|\E[21;4|\Eent, smln=\E?, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, vpa=\E[%p1%{1}%+%dd, - -# 01-07-88 -# printer must be set to EMUL ANSI to accept ESC codes -# stops at top margin -# sets cpi 10,lpi 6,form 66,left 1,right 132,top 1,bottom 66,font -# and alt font ascii,wrap on,tabs cleared -# disables newline on LF,Emphasized off -# The capability sets form length -att5310|att5320|AT&T Model 53210 or 5320 matrix printer, - xhpa, xvpa, - bufsz#8192, cols#132, cps#120, it#8, lines#66, orc#10, - orhi#100, orl#12, orvi#72, - cpi=%?%p1%{10}%=%t\E[w%e%p1%{12}%=%t\E[2w%e%p1%{5}%=%t\E[5w%e%p1%{13}%=%p1%{14}%=%O%t\E[3w%e%p1%{16}%=%p1%{17}%=%O%t\E[4w%e%p1%{6}%=%t\E[6w%e%p1%{7}%=%t\E[7w%e%p1%{8}%=%t\E[8w%;, - cr=^M, - csnm=%?%p1%{0}%=%tusascii%e%p1%{1}%=%tenglish%e%p1%{2}%=%tfinnish%e%p1%{3}%=%tjapanese%e%p1%{4}%=%tnorwegian%e%p1%{5}%=%tswedish%e%p1%{6}%=%tgermanic%e%p1%{7}%=%tfrench%e%p1%{8}%=%tcanadian_french%e%p1%{9}%=%titalian%e%p1%{10}%=%tspanish%e%p1%{11}%=%tline%e%p1%{12}%=%tsecurity%e%p1%{13}%=%tebcdic%e%p1%{14}%=%tapl%e%p1%{15}%=%tmosaic%;, - cud=\E[%p1%de, cud1=^J, cuf=\E[%p1%da, cuf1=\s, cuu1=\EM, - ff=^L, hpa=\E[%p1%d`, ht=^I, is1=\Ec, is2=\E[20l\r, - lpi=%?%p1%{2}%=%t\E[4z%e%p1%{3}%=%t\E[5z%e%p1%{4}%=%t\E[6z%e%p1%{6}%=%t\E[z%e%p1%{8}%=%t\E[2z%e%p1%{12}%=%t\E[3z%;, - rshm=\E[m, - scs=%?%p1%{0}%=%t\E(B%e%p1%{1}%=%t\E(A%e%p1%{2}%=%t\E(C%e%p1%{3}%=%t\E(D%e%p1%{4}%=%t\E(E%e%p1%{5}%=%t\E(H%e%p1%{6}%=%t\E(K%e%p1%{7}%=%t\E(R%e%p1%{8}%=%t\E(Q%e%p1%{9}%=%t\E(Y%e%p1%{10}%=%t\E(Z%e%p1%{11}%=%t\E(0%e%p1%{12}%=%t\E(1%e%p1%{13}%=%t\E(3%e%p1%{14}%=%t\E(8%e%p1%{15}%=%t\E(}%;, - smgbp=\E[;%p1%dr, smglp=\E[%{1}%p1%+%ds, - smgrp=\E[;%{1}%p1%+%ds, smgtp=\E[%p1%dr, sshm=\E[5m, - u0=\E[%p1%dt, vpa=\E[%p1%dd, - -# Teletype 5620, firmware version 1.1 (8;7;3) or earlier from BRL -# The following SET-UP modes are assumed for normal operation: -# CR_DEF=CR NL_DEF=INDEX DUPLEX=FULL -# Other SET-UP modes may be set for operator convenience or communication -# requirements. This termcap description is for the Resident Terminal Mode. -# No delays specified; use "stty ixon -ixany" to enable DC3/DC1 flow control! -# The BRL entry also said: UNSAFE :ll=\E[70H: -att5620-1|tty5620-1|dmd1|Teletype 5620 with old ROMs, - am, xon, - cols#88, it#8, lines#70, vt#3, - bel=^G, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP, - dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, - home=\E[H, ht=^I, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, - il1=\E[L, ind=^J, indn=\E[%p1%dS, kbs=^H, kclr=\E[2J, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, - kll=\E[70;1H, nel=^M^J, rc=\E8, ri=\E[T, rin=\E[%p1%dT, - rs1=\Ec, sc=\E7, - -# 5620 terminfo (2.0 or later ROMS with char attributes) -# The following SET-UP modes are assumed for normal operation: -# DUPLEX=FULL GEN_FLOW=ON NEWLINE=INDEX RETURN=CR -# Other SET-UP modes may be set for operator convenience or communication -# requirements. This termcap description is for Resident Terminal Mode. No -# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control! -# assumptions: (scroll forward one line) is only done at screen bottom -# Be aware that older versions of the dmd have a firmware bug that affects -# parameter defaulting; for this terminal, the 0 in \E[0m is not optional. -# is from an otherwise inferior BRL for this terminal. That entry -# also has =\E[70H commented out and marked unsafe. -# For more, see the 5620 FAQ maintained by David Breneman . -att5620|dmd|tty5620|ttydmd|5620|5620 terminal 88 columns, - OTbs, am, msgr, npc, xon, - cols#88, it#8, lines#70, - bel=^G, bold=\E[2m, clear=\E[H\E[J, cr=^M, cub1=^H, - cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S, - indn=\E[%p1%dS, kbs=^H, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, kll=\E[70;1H, nel=^J, - pfx=\E[%p1%d;%p2%l%dq%p2%s, rc=\E8, rev=\E[7m, ri=\E[T, - rin=\E[%p1%dT, rmso=\E[0m, rmul=\E[0m, rs1=\Ec, sc=\E7, - sgr0=\E[0m, smso=\E[7m, smul=\E[4m, -att5620-24|tty5620-24|dmd-24|teletype dmd 5620 in a 24x80 layer, - lines#24, use=att5620, -att5620-34|tty5620-34|dmd-34|teletype dmd 5620 in a 34x80 layer, - lines#34, use=att5620, -# 5620 layer running the "S" system's downloaded graphics handler: -att5620-s|tty5620-s|layer|vitty|5620 S layer, - OTbs, OTpt, am, - cols#80, it#8, lines#72, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, - cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=^K, dl1=\ED, - el=\EK, flash=\E^G, ht=^I, il1=\EI, ind=^J, kbs=^H, kclr=\E[2J, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, - kll=\E[70;1H, - -# Entries for thru refer to the shifted system pf keys. -# -# Entries for thru refer to the alternate keypad mode -# keys: = * / + 7 8 9 - 4 5 6 , 1 2 3 0 . ENTER -att605|AT&T 605 80 column 102key keyboard, - am, eo, xon, - cols#80, lines#24, lw#8, nlab#8, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, - cr=^M, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP, - dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, el1=\E[1K, fsl=\E8, ht=^I, ich=\E[%p1%d@, ich1=\E[@, - il1=\E[L, ind=^J, invis=\E[8m, - is1=\E[8;0|\E[?\E[13;20l\E[?\E[12h, is2=\E[m\017, - kLFT=\E[ A, kRIT=\E[ @, kbs=^H, kcbt=\E[Z, kclr=\E[2J, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, - kdl1=\E[M, kend=\E[24;1H, kf1=\EOc, kf10=\ENp, kf11=\ENq, - kf12=\ENr, kf13=\ENs, kf14=\ENt, kf15=\EOC, kf16=\EOD, - kf17=\EOE, kf18=\EOF, kf19=\EOG, kf2=\EOd, kf20=\EOH, - kf21=\EOI, kf22=\EOJ, kf23=\ENO, kf24=\ENP, kf25=\ENQ, - kf26=\ENR, kf27=\ENS, kf28=\ENT, kf29=\EOP, kf3=\EOe, - kf30=\EOQ, kf31=\EOR, kf32=\EOS, kf33=\EOw, kf34=\EOx, - kf35=\EOy, kf36=\EOm, kf37=\EOt, kf38=\EOu, kf39=\EOv, - kf4=\EOf, kf40=\EOl, kf41=\EOq, kf42=\EOr, kf43=\EOs, - kf44=\EOp, kf45=\EOn, kf46=\EOM, kf5=\EOg, kf6=\EOh, - kf7=\EOi, kf8=\EOj, kf9=\ENo, khome=\E[H, kich1=\E[@, - kil1=\E[L, kind=\E[S, knp=\E[U, kpp=\E[V, ll=\E[24H, - mc4=\E[?4i, mc5=\E[?5i, nel=\EE, - pfx=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s, - pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, rev=\E[7m, - rmacs=^O, rmir=\E[4l, rmln=\E[2p, rmso=\E[m, rmul=\E[m, - rs2=\Ec\E[?3l, sc=\E7, sgr0=\E[m\017, smacs=\E)0\016, - smir=\E[4h, smln=\E[p, smso=\E[7m, smul=\E[4m, - tsl=\E7\E[25;%i%p1%dx, -att605-pc|ATT 605 in pc term mode, - acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263, - cbt=\E[Z, cub1=\E[D, cud1=\E[B, cuf1=\E[C, cuu1=\E[A, - dch1=\E[P, dl1=\E[M, ich1=\E[@, il1=\E[L, kcbt=\E[Z, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, - kdl1=\E[M, kend=\E[F, kf1=\E[M, kf10=\E[V, kf2=\E[N, - kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, - kf9=\E[U, khome=\E[H, kich1=\E[@, knp=\E[G, kpp=\E[I, - rmsc=400\E[50;0|, smsc=250\E[?11l\E[50;1|, xoffc=g, - xonc=e, use=att605, -att605-w|AT&T 605-w 132 column 102 key keyboard, - cols#132, wsl#132, - is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h\E(B\E)0, - use=att605, -# (att610: I added / based on the init string. I also -# added and because the BSD file says the att615s have them, -# and the 615 is like a 610 with a big keyboard, and most of their other -# smart terminals support the same sequence -- esr) -att610|AT&T 610; 80 column; 98key keyboard, - am, eslok, hs, mir, msgr, xenl, xon, - cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h\E[?12l, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - flash=\E[?5h$<200>\E[?5l, fsl=\E8, home=\E[H, ht=^I, - ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED, - indn=\E[%p1%dS, invis=\E[8m, - is1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h\E(B\E)0, - is2=\E[m\017, is3=\E(B\E)0, kLFT=\E[ @, kRIT=\E[ A, kbs=^H, - kcbt=\E[Z, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf1=\EOc, kf10=\ENp, kf11=\ENq, kf12=\ENr, - kf13=\ENs, kf14=\ENt, kf2=\EOd, kf3=\EOe, kf4=\EOf, kf5=\EOg, - kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\ENo, khome=\E[H, - kind=\E[S, kri=\E[T, ll=\E[24H, mc4=\E[?4i, mc5=\E[?5i, - nel=\EE, - pfx=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s, - pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, rev=\E[7m, - ri=\EM, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, - rmln=\E[2p, rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, - smln=\E[p, smso=\E[7m, smul=\E[4m, tsl=\E7\E[25;%i%p1%dx, -att610-w|AT&T 610; 132 column; 98key keyboard, - cols#132, wsl#132, - is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h, - use=att610, - -att610-103k|AT&T 610; 80 column; 103key keyboard, - kBEG=\ENB, kCAN=\EOW, kCMD=\EOU, kCPY=\END, kCRT=\EON, - kDC=\ENF, kDL=\ENE, kEND=\ENN, kEOL=\EOA, kEXT=\EOK, - kFND=\EOX, kHLP=\EOM, kMOV=\ENC, kMSG=\EOL, kNXT=\ENH, - kOPT=\EOR, kPRT=\EOZ, kPRV=\ENG, kRDO=\EOT, kRES=\EOQ, - kRPL=\EOY, kSAV=\EOO, kSPD=\EOP, kUND=\EOS, kbeg=\E9, - kcan=\EOw, kclo=\EOV, kcmd=\EOu, kcpy=\ENd, kcrt=\EOn, - kdch1=\ENf, kdl1=\ENe, kel=\EOa, kend=\E0, kent=^M, - kext=\EOk, kf10@, kf11@, kf12@, kf13@, kf14@, kf9@, kfnd=\EOx, - khlp=\EOm, kich1=\ENj, kmov=\ENc, kmrk=\ENi, kmsg=\EOl, - knp=\E[U, knxt=\ENh, kopn=\EOv, kopt=\EOr, kpp=\E[V, - kprt=\EOz, kprv=\ENg, krdo=\EOt, kref=\EOb, kres=\EOq, - krfr=\ENa, krmir=\ENj, krpl=\EOy, krst=\EOB, ksav=\EOo, - kslt=\ENI, kspd=\EOp, kund=\EOs, use=att610, -att610-103k-w|AT&T 610; 132 column; 103key keyboard, - cols#132, wsl#132, - is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h, - use=att610-103k, -att615|AT&T 615; 80 column; 98key keyboard, - kLFT=\E[ A, kRIT=\E[ @, kf15=\EOC, kf16=\EOD, kf17=\EOE, - kf18=\EOF, kf19=\EOG, kf20=\EOH, kf21=\EOI, kf22=\EOJ, - kf23=\ENO, kf24=\ENP, kf25=\ENQ, kf26=\ENR, kf27=\ENS, - kf28=\ENT, kf29=\EOP, kf30=\EOQ, kf31=\EOR, kf32=\EOS, - kf33=\EOw, kf34=\EOx, kf35=\EOy, kf36=\EOm, kf37=\EOt, - kf38=\EOu, kf39=\EOv, kf40=\EOl, kf41=\EOq, kf42=\EOr, - kf43=\EOs, kf44=\EOp, kf45=\EOn, kf46=\EOM, use=att610, -att615-w|AT&T 615; 132 column; 98key keyboard, - kLFT=\E[ A, kRIT=\E[ @, kf15=\EOC, kf16=\EOD, kf17=\EOE, - kf18=\EOF, kf19=\EOG, kf20=\EOH, kf21=\EOI, kf22=\EOJ, - kf23=\ENO, kf24=\ENP, kf25=\ENQ, kf26=\ENR, kf27=\ENS, - kf28=\ENT, kf29=\EOP, kf30=\EOQ, kf31=\EOR, kf32=\EOS, - kf33=\EOw, kf34=\EOx, kf35=\EOy, kf36=\EOm, kf37=\EOt, - kf38=\EOu, kf39=\EOv, kf40=\EOl, kf41=\EOq, kf42=\EOr, - kf43=\EOs, kf44=\EOp, kf45=\EOn, kf46=\EOM, use=att610-w, -att615-103k|AT&T 615; 80 column; 103key keyboard, - kLFT=\E[ A, kRIT=\E[ @, use=att610-103k, -att615-103k-w|AT&T 615; 132 column; 103key keyboard, - kLFT=\E[ A, kRIT=\E[ @, use=att610-103k-w, -# (att620: I added / based on the init string and -# / from a BSD termcap -- esr) -att620|AT&T 620; 80 column; 98key keyboard, - am, eslok, hs, mir, msgr, xenl, xon, - cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h\E[?12l, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - flash=\E[?5h$<200>\E[?5l, fsl=\E8, home=\E[H, ht=^I, - ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED, - indn=\E[%p1%dS, invis=\E[8m, - is1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h, - is2=\E[m\017, is3=\E(B\E)0, kLFT=\E[ A, kRIT=\E[ @, kbs=^H, - kcbt=\E[Z, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf1=\EOc, kf10=\ENp, kf11=\ENq, kf12=\ENr, - kf13=\ENs, kf14=\ENt, kf15=\EOC, kf16=\EOD, kf17=\EOE, - kf18=\EOF, kf19=\EOG, kf2=\EOd, kf20=\EOH, kf21=\EOI, - kf22=\EOJ, kf23=\ENO, kf24=\ENP, kf25=\ENQ, kf26=\ENR, - kf27=\ENS, kf28=\ENT, kf29=\EOP, kf3=\EOe, kf30=\EOQ, - kf31=\EOR, kf32=\EOS, kf33=\EOw, kf34=\EOx, kf35=\EOy, - kf36=\EOm, kf37=\EOt, kf38=\EOu, kf39=\EOv, kf4=\EOf, - kf40=\EOl, kf41=\EOq, kf42=\EOr, kf43=\EOs, kf44=\EOp, - kf45=\EOn, kf46=\EOM, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, - kf9=\ENo, khome=\E[H, kind=\E[S, kri=\E[T, ll=\E[24H, - mc4=\E[?4i, mc5=\E[?5i, nel=\EE, - pfx=\E[%p1%d;%p2%l%02dq F%p1%1d %p2%s, - pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, rev=\E[7m, - ri=\EM, rin=\E[%p1%dT, rmacs=\E(B\017, rmam=\E[?7l, - rmir=\E[4l, rmln=\E[2p, rmso=\E[m, rmul=\E[m, - rs2=\Ec\E[?3l, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\E(B\017, smacs=\E)0\016, smam=\E[?7h, - smir=\E[4h, smln=\E[p, smso=\E[7m, smul=\E[4m, - tsl=\E7\E[25;%i%p1%dx, -att620-w|AT&T 620; 132 column; 98key keyboard, - cols#132, wsl#132, - is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h, - use=att620, -att620-103k|AT&T 620; 80 column; 103key keyboard, - kBEG=\ENB, kCAN=\EOW, kCMD=\EOU, kCPY=\END, kCRT=\EON, - kDC=\ENF, kDL=\ENE, kEND=\ENN, kEOL=\EOA, kEXT=\EOK, - kFND=\EOX, kHLP=\EOM, kMOV=\ENC, kMSG=\EOL, kNXT=\ENH, - kOPT=\EOR, kPRT=\EOZ, kPRV=\ENG, kRDO=\EOT, kRES=\EOQ, - kRPL=\EOY, kSAV=\EOO, kSPD=\EOP, kUND=\EOS, kbeg=\E9, - kcan=\EOw, kclo=\EOV, kcmd=\EOu, kcpy=\ENd, kcrt=\EOn, - kdch1=\ENf, kdl1=\ENe, kel=\EOa, kend=\E0, kent=^M, - kext=\EOk, kf10@, kf11@, kf12@, kf13@, kf14@, kf15@, kf16@, kf17@, - kf18@, kf19@, kf20@, kf21@, kf22@, kf23@, kf24@, kf25@, kf26@, kf27@, - kf28@, kf29@, kf30@, kf31@, kf32@, kf33@, kf34@, kf35@, kf36@, kf37@, - kf38@, kf39@, kf40@, kf41@, kf42@, kf43@, kf44@, kf45@, kf46@, kf9@, - kfnd=\EOx, khlp=\EOm, kich1=\ENj, kmov=\ENc, kmrk=\ENi, - kmsg=\EOl, knp=\E[U, knxt=\ENh, kopn=\EOv, kopt=\EOr, - kpp=\E[V, kprt=\EOz, kprv=\ENg, krdo=\EOt, kref=\EOb, - kres=\EOq, krfr=\ENa, krmir=\ENj, krpl=\EOy, krst=\EOB, - ksav=\EOo, kslt=\ENI, kspd=\EOp, kund=\EOs, use=att620, - -att620-103k-w|AT&T 620; 132 column; 103key keyboard, - cols#132, wsl#132, - is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h, - use=att620-103k, - -# AT&T (formerly Teletype) 630 Multi-Tasking Graphics terminal -# The following SETUP modes are assumed for normal operation: -# Local_Echo=Off Gen_Flow=On Return=CR Received_Newline=LF -# Font_Size=Large Non-Layers_Window_Cols=80 -# Non-Layers_Window_Rows=60 -# Other SETUP modes may be set for operator convenience or communication -# requirements. Some capabilities assume a printer attached to the Aux EIA -# port. This termcap description is for the Fixed Non-Layers Window. No -# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control! -# (att630: added , and from a BSD termcap file -- esr) -att630|AT&T 630 windowing terminal, - OTbs, am, da, db, mir, msgr, npc, xon, - cols#80, it#8, lines#60, lm#0, - bel=^G, blink=\E[5m, cbt=\E[Z, clear=\E[H\E[J, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, - el1=\E[1K, home=\E[H, ht=^I, ich=\E[%p1%d@, ich1=\E[@, - il=\E[%p1%dL, il1=\E[L, ind=\ED, indn=\E[%p1%dS, is2=\E[m, - kbs=^H, kcbt=\E[Z, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[M, kent=^M, - kf10=\ENp, kf11=\ENq, kf12=\ENr, kf13=\ENs, kf14=\ENt, - kf15=\ENu, kf16=\ENv, kf17=\ENw, kf18=\ENx, kf19=\ENy, - kf20=\ENz, kf21=\EN{, kf22=\EN|, kf23=\EN}, kf24=\EN~, - kf9=\ENo, khome=\E[H, kich1=\E[@, kil1=\E[L, mc4=\E[?4i, - mc5=\E[?5i, nel=^M^J, pfx=\E[%p1%d;%p2%l%dq%p2%s, rc=\E8, - rev=\E[7m, ri=\EM, rin=\E[%p1%dT, rmir=\E[4l, rmso=\E[m, - rmul=\E[m, rs2=\Ec, sc=\E7, - sgr=\E[0%?%p2%t;4%;%?%p1%p3%|%p4%|%p5%|%t;7%;m, - sgr0=\E[m, smir=\E[4h, smso=\E[7m, smul=\E[4m, -att630-24|5630-24|5630DMD-24|630MTG-24|AT&T 630 windowing terminal 24 lines, - lines#24, use=att630, - -# This is the att700 entry for 700 native emulation of the AT&T 700 -# terminal. Comments are relative to changes from the 605V2 entry and -# att730 on which the entry is based. Comments show the terminfo -# capability name, termcap name, and description. -# -# Here is what's going onm in the init string: -# ESC [ 50;4| set 700 native mode (really is 605) -# x ESC [ 56;ps| set lines to 24: ps=0; 40: ps=1 (plus status line) -# ESC [ 53;0| set GenFlow to Xon/Xoff -# ESC [ 8 ;0| set CR on NL -# x ESC [ ? 3 l/h set workspace: 80 col(l); 132 col(h) -# ESC [ ? 4 l jump scroll -# ESC [ ? 5 l/h video: normal (l); reverse (h) -# ESC [ ?13 l Labels on -# ESC [ ?15 l parity check = no -# ESC [ 13 l monitor mode off -# ESC [ 20 l LF on NL (not CRLF on NL) -# ESC [ ? 7 h autowrap on -# ESC [ 12 h local echo off -# ESC ( B GO = ASCII -# ESC ) 0 G1 = Special Char & Line Drawing -# ESC [ ? 31 l Set 7 bit controls -# -# Note: Most terminals, especially the 600 family use Reverse Video for -# standout mode. DEC also uses reverse video. The VT100 uses bold in addition -# Assume we should stay with reverse video for 70.. However, the 605V2 exits -# standout mode with \E[m (all normal attributes). The 730 entry simply -# exits reverse video which would leave other current attributes intact. It -# was assumed the 730 entry to be more correct so rmso has changed. The -# 605V2 has no sequences to turn individual attributes off, thus its setting -# and the rmso/smso settings from the 730. -# -# Note: For the same reason as above in rmso I changed exit under-score mode -# to specifically turn off underscore, rather than return to all normal -# attributes -# -# Note: The following pkey_xmit is taken from the 605V2 which contained the -# capability as pfxl. It was changed here to pfx since pfxl -# will only compile successfully with Unix 4.0 tic. Also note that pfx only -# allows strings to be parameters and label values must be programmed as -# constant strings. Supposedly the pfxl of Version 4.0 allows both labels -# and strings to be parameters. The 605V2 pfx entry should be examined later -# in this regard. For reference the 730 pfxl entry is shown here for comparison -# 730 pfx entry: -# pfxl=\E[%?%p1%{25}%<%t%p1%e%p1%{24}%-%;%d;%p2%l%02d%?%p1%{25}%<%tq\s\s\s -# SYS\s\s\s\s\sF%p1%:-2d\s\s%e;0;3q%;%p2%s, -# -# (for 4.0 tic) -# pfxl=\E[%p1%d;%p2%l%02dq%?%p1%{9}%<%t F%p1%1d %;%p2%s, -# -# (for <4.0 tic) -# pfx=\E[%p1%d;%p2%l%02dq%?%p1%{9}%<%t F%p1%1d %;%p2%s, -# -# From the AT&T 705 Multi-tasking terminal user's guide Page 8-8,8-9 -# -# Port1 Interface -# -# modular 10 pin Connector -# Left side Right side -# Pin 1 2 3 4 5 6 7 8 9 10 -# -# Key (notch) at bottom -# -# Pin 1 DSR -# 3 DCD -# 4 DTR -# 5 Sig Ground -# 6 RD -# 7 SD -# 8 CTS -# 9 RTS -# 10 Frame Ground -# -# The manual is 189 pages and is loaded with details about the escape codes, -# etc..... Available from AT&T CIC 800-432-6600... -# ask for Document number 999-300-660.. -# -att700|AT&T 700 24x80 column display w/102key keyboard, - am, eslok, hs, mir, msgr, xenl, xon, - cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h\E[?12l, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - enacs=\E(B\E)0, flash=\E[?5h$<200>\E[?5l, fln=4\,4, - fsl=\E8, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=\ED, invis=\E[8m, - is2=\E[50;4|\E[53;0|\E[8;0|\E[?4;13;15l\E[13;20l\E[?7h\E[12h\E(B\E)0\E[?31l\E[0m\017, - is3=\E(B\E)0, kLFT=\E[ A, kRIT=\E[ @, kbs=^H, kcbt=\E[Z, - kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[P, kdl1=\E[M, kend=\E[24;1H, kf1=\EOc, kf10=\ENp, - kf11=\ENq, kf12=\ENr, kf13=\ENs, kf14=\ENt, kf15=\EOC, - kf16=\EOD, kf17=\EOE, kf18=\EOF, kf19=\EOG, kf2=\EOd, - kf20=\EOH, kf21=\EOI, kf22=\EOJ, kf23=\ENO, kf24=\ENP, - kf25=\ENQ, kf26=\ENR, kf27=\ENS, kf28=\ENT, kf29=\EOq, - kf3=\EOe, kf30=\EOr, kf31=\EOs, kf32=\EOt, kf33=\EOu, - kf34=\EOv, kf35=\EOw, kf36=\EOx, kf37=\EOy, kf38=\EOu, - kf39=\EOv, kf4=\EOf, kf40=\EOl, kf41=\EOq, kf42=\EOr, - kf43=\EOs, kf44=\EOp, kf45=\EOn, kf46=\EOM, kf5=\EOg, - kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\ENo, khome=\E[H, - kich1=\E[@, kil1=\E[L, knp=\E[U, kpp=\E[V, ll=\E[24H, - mc0=\E[i, mc4=\E[?4i, mc5=\E[?5i, nel=\EE, - pfx=\E[%p1%d;%p2%l%02dq%?%p1%{9}%<%t F%p1%1d %;%p2%s, - pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, - rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM, rmacs=^O, - rmir=\E[4l, rmln=\E[2p, rmso=\E[27m, rmul=\E[24m, - rmxon=\E[53;3|, rs1=\Ec\E[?3;5l\E[56;0|, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smir=\E[4h, smln=\E[p, smso=\E[7m, - smul=\E[4m, smxon=\E[53;0|, tbc=\E[3g, - tsl=\E7\E[99;%i%p1%dx, - -# This entry was modified 3/13/90 by JWE. -# fixes include additions of , correcting , and modification -# of . (See comments below) -# att730 has status line of 80 chars -# These were commented out: , , -# the and up keys are used for shifted system Fkeys -# NOTE: JWE 3/13/90 The 98 key keyboard translation for shift/HOME is -# currently the same as (unshifted HOME or \E[H). On the 102, 102+1 -# and 122 key keyboards, the 730's translation is \E[2J. For consistency -# has been commented out. The user can uncomment if using the -# 102, 102+1, or 122 key keyboards -# kHOM=\E[2J, -# (att730: I added / based on the init string -- esr) -att730|AT&T 730 windowing terminal, - am, da, db, eslok, hs, mir, msgr, npc, xenl, xon, - cols#80, it#8, lh#2, lines#60, lm#0, lw#8, nlab#24, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h\E[?12l, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - enacs=\E(B\E)0, flash=\E[?5h$<200>\E[?5l, fsl=\E8, - home=\E[H, ht=^I, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, - ind=\ED, invis=\E[8m, - is1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h\E(B\E)B, - is2=\E[m\017, is3=\E(B\E)0, kLFT=\E[ @, kRIT=\E[ A, kbs=^H, - kcbt=\E[Z, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf1=\EOc, kf10=\ENp, kf11=\ENq, kf12=\ENr, - kf13=\ENs, kf14=\ENt, kf15=\ENu, kf16=\ENv, kf17=\ENw, - kf18=\ENx, kf19=\ENy, kf2=\EOd, kf20=\ENz, kf21=\EN{, - kf22=\EN|, kf23=\EN}, kf24=\EN~, kf25=\EOC, kf26=\EOD, - kf27=\EOE, kf28=\EOF, kf29=\EOG, kf3=\EOe, kf30=\EOH, - kf31=\EOI, kf32=\EOJ, kf33=\ENO, kf34=\ENP, kf35=\ENQ, - kf36=\ENR, kf37=\ENS, kf38=\ENT, kf39=\EOU, kf4=\EOf, - kf40=\EOV, kf41=\EOW, kf42=\EOX, kf43=\EOY, kf44=\EOZ, - kf45=\EO[, kf46=\EO\s, kf47=\EO], kf48=\EO\^, kf5=\EOg, - kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\ENo, khome=\E[H, - kich1=\E[@, kil1=\E[L, kind=\E[S, kri=\E[T, - mc0=\E[?19h\E[0i, mc4=\E[?4i, mc5=\E[?5i, nel=\EE, - pfx=\E[%?%p1%{25}%<%t%p1%e%p1%{24}%-%;%d;%p2%l%02d%?%p1%{25}%<%tq SYS F%p1%:-2d %e;0;3q%;%p2%s, - pfxl=\E[%p1%d;%p2%l%02d;0;0q%p3%:-16.16s%p2%s, - pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, - rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM, rmacs=^O, - rmam=\E[?7l, rmir=\E[4l, rmln=\E[?13h, rmso=\E[27m, - rmul=\E[24m, rmxon=\E[?21l, rs2=\Ec\E[?3l, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, - smln=\E[?13l, smso=\E[7m, smul=\E[4m, smxon=\E[?21h, - swidm=\E#6, tsl=\E7\E[;%i%p1%dx, -att730-41|730MTG-41|AT&T 730-41 windowing terminal Version, - lines#41, use=att730, -att730-24|730MTG-24|AT&T 730-24 windowing terminal Version, - lines#24, use=att730, -att730r|730MTGr|AT&T 730 rev video windowing terminal Version, - flash=\E[?5l$<200>\E[?5h, - is1=\E[8;0|\E[?3;4;13;15l\E[?5h\E[13;20l\E[?7h\E[12h\E(B\E)B, - use=att730, -att730r-41|730MTG-41r|AT&T 730r-41 rev video windowing terminal Version, - lines#41, use=att730r, -att730r-24|730MTGr-24|AT&T 730r-24 rev video windowing terminal Version, - lines#24, use=att730r, - -# The following represents the screen layout along with the associated -# bezel buttons for the 5430/pt505 terminal. The "kf" designations do -# not appear on the screen but are shown to reference the bezel buttons. -# The "CMD", "MAIL", and "REDRAW" buttons are shown in their approximate -# position relative to the screen. -# -# -# -# +----------------------------------------------------------------+ -# | | -# XXXX | kf0 kf24 | XXXX -# | | -# | | -# XXXX | kf1 kf23 | XXXX -# | | -# | | -# XXXX | kf2 kf22 | XXXX -# | | -# | | -# XXXX | kf3 kf21 | XXXX -# | | -# | | -# XXXX | kf4 kf20 | XXXX -# | | -# | | -# XXXX | kf5 kf19 | XXXX -# | | -# | | -# XXXX | kf6 kf18 | XXXX -# | | -# | | -# XXXX | | XXXX -# | | -# | | -# +----------------------------------------------------------------+ -# -# XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX -# -# Note: XXXX represents the screen buttons -# CMD REDRAW -# -# MAIL -# -# version 1 note: -# The character string sent by key 'kf26' may be user programmable -# to send either \E[16s, or \E[26s. -# The character string sent by key 'krfr' may be user programmable -# to send either \E[17s, or \E[27s. -# -# Depression of the "CMD" key sends \E! (kcmd) -# Depression of the "MAIL" key sends \E[26s (kf26) -# "REDRAW" same as "REFRESH" (krfr) -# -# "kf" functions adds carriage return to output string if terminal is in -# 'new line' mode. -# -# The following are functions not covered in the table above: -# -# Set keyboard character (SKC): \EPn1;Pn2w -# Pn1= 0 Back Space key -# Pn1= 1 Break key -# Pn2= Program char (hex) -# -# Screen Definition (SDF): \E[Pn1;Pn2;Pn3;Pn4;Pn5t -# Pn1= Window number (1-39) -# Pn2-Pn5= Y;X;Y;X coordinates -# -# Screen Selection (SSL): \E[Pnu -# Pn= Window number -# -# Set Terminal Modes (SM): \E[Pnh -# Pn= 3 Graphics mode -# Pn= > Cursor blink -# Pn= < Enter new line mode -# Pn= = Enter reverse insert/replace mode -# Pn= ? Enter no scroll mode -# -# Reset Terminal Mode (RM): \E[Pnl -# Pn= 3 Exit graphics mode -# Pn= > Exit cursor blink -# Pn= < Exit new line mode -# Pn= = Exit reverse insert/replace mode -# Pn= ? Exit no scroll mode -# -# Screen Status Report (SSR): \E[Pnp -# Pn= 0 Request current window number -# Pn= 1 Request current window dimensions -# -# Device Status Report (DSR): \E[6n Request cursor position -# -# Call Status Report (CSR): \E[Pnv -# Pn= 0 Call failed -# Pn= 1 Call successful -# -# Transparent Button String (TBS): \E[Pn1;Pn2;Pn3;{string -# Pn1= Button number to be loaded -# Pn2= Character count of "string" -# Pn3= Key mode being loaded: -# 0= Unshifted -# 1= Shifted -# 2= Control -# String= Text string (15 chars max) -# -# Screen Number Report (SNR): \E[Pnp -# Pn= Screen number -# -# Screen Dimension Report (SDR): \E[Pn1;Pn2r -# Pn1= Number of rows available in window -# Pn2= Number of columns available in window -# -# Cursor Position Report (CPR): \E[Pn1;Pn2R -# Pn1= "Y" Position of cursor -# Pn2= "X" Position of cursor -# -# Request Answer Back (RAB): \E[c -# -# Answer Back Response (ABR): \E[?;*;30;VSV -# *= 0 No printer available -# *= 2 Printer available -# V= Software version number -# SV= Software sub version number -# (printer-available field not documented in v1) -# -# Screen Alignment Aid: \En -# -# Bell (lower pitch): \E[x -# -# Dial Phone Number: \EPdstring\ -# string= Phone number to be dialed -# -# Set Phone Labels: \EPpstring\ -# string= Label for phone buttons -# -# Set Clock: \EPchour;minute;second\ -# -# Position Clock: \EPsY;X\ -# Y= "Y" coordinate -# X= "X" coordinate -# -# Delete Clock: \Epr\ -# -# Programming The Function Buttons: \EPfPn;string\ -# Pn= Button number (00-06, 18-24) -# (kf00-kf06, kf18-kf24) -# string= Text to sent on button depression -# -# The following in version 2 only: -# -# Request For Local Directory Data: \EPp12;\ -# -# Local Directory Data to host: \EPp11;LOCAL...DIRECTORY...DATA\ -# -# Request for Local Directory Data in print format: \EPp13;\ -# -# Enable 'Prt on Line' mode: \022 (DC2) -# -# Disable 'Prt on Line' mode: \024 (DC4) -# - -# 05-Aug-86: -# The following Terminfo entry describes functions which are supported by -# the AT&T 5430/pt505 terminal software version 2 and later. -att505|pt505|att5430|gs5430|AT&T Personal Terminal 505 or 5430 GETSET terminal, - am, xon, - cols#80, it#8, lines#24, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[2J\E[H, - cnorm=\E[>l, cr=^M, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[>h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[0J, el=\E[0K, el1=\E[2K, home=\E[H, ht=^I, - il=\E[%p1%dL, il1=\E[L, ind=^J, - is1=\EPr\\E[0u\E[2J\E[0;0H\E[m\E[3l\E[l\E[=l\E[?l, - kbs=^H, kcmd=\E!, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf0=\E[00s, kf1=\E[01s, kf18=\E[18s, - kf19=\E[19s, kf2=\E[02s, kf20=\E[20s, kf21=\E[21s, - kf22=\E[22s, kf23=\E[23s, kf24=\E[24s, kf26=\E[26s, - kf3=\E[03s, kf4=\E[04s, kf5=\E[05s, kf6=\E[06s, - krfr=\E[27s, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, - rmacs=\E[10m, rmam=\E[11;1j, rmir=\E[4l, rmso=\E[m, - rmul=\E[m, rs1=\Ec, sc=\E7, sgr0=\E[m, smacs=\E[11m, - smam=\E[11;0j, smir=\E[4h, smso=\E[1m, smul=\E[4m, - -# The following Terminfo entry describes functions which are supported by -# the AT&T 5430/pt505 terminal software version 1. -att505-24|pt505-24|gs5430-24|AT&T PT505 or 5430 GETSET version 1 24 lines, - lines#24, - mc4@, mc5@, rc@, rmam@, sc@, smam@, use=att505, -tt505-22|pt505-22|gs5430-22|AT&T PT505 or 5430 GETSET version 1 22 lines, - lines#22, use=att505, -# -#### ------------------ TERMINFO FILE CAN BE SPLIT HERE --------------------- -# This cut mark helps make life less painful for people running ncurses tic -# on machines with relatively little RAM. The file can be broken in half here -# cleanly and compiled in sections -- no `use' references cross this cut -# going forward. -# - -#### Ampex (Dialogue) -# -# Yes, these are the same people who are better-known for making audio- and -# videotape. I'm told they are located in Redwood City, CA. -# - -# From: Fri Sep 11 22:38:32 1981 -# (ampex80: some capabilities merged in from SCO's entry -- esr) -ampex80|a80|d80|dialogue|dialogue80|ampex dialogue 80, - OTbs, am, bw, ul, - cols#80, it#8, lines#24, - bel=^G, cbt=\EI, clear=\E*$<75>, cr=^M, cub1=^H, cud1=^J, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\EW, dl1=\ER$<5*>, ed=\Ey, el=\Et, ht=^I, hts=\E1, - ich1=\EQ, il1=\EE$<5*>, ind=^J, is2=\EA, rmso=\Ek, rmul=\Em, - smso=\Ej, smul=\El, tbc=\E3, -# This entry was from somebody anonymous, Tue Aug 9 20:11:37 1983, who wrote: -ampex175|ampex d175, - am, - cols#80, lines#24, - bel=^G, clear=\E+, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\Ey, el=\Et, home=^^, ich1=\EQ, il1=\EE, ind=^J, - is2=\EX\EA\EF, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, - kdch1=\EW, kdl1=\ER, khome=^^, kich1=\EQ, kil1=\EE, ll=^^^K, - rmcup=\EF, rmso=\Ek, rmul=\Em, smcup=\EN, smso=\Ej, smul=\El, -# No backspace key in the main QWERTY cluster. Fortunately, it has a -# NEWLINE/PAGE key just above RETURN that sends a strange single-character -# code. Given a suitable Unix (one that lets you set an echo-erase-as-BS-SP-BS -# mode), this key can be used as the erase key; I find I like this. Because -# some people and some systems may not, there is another termcap ("ampex175") -# that suppresses this little eccentricity by omitting the relevant capability. -ampex175-b|ampex d175 using left arrow for erase, - kbs=^_, use=ampex175, -# From: Richard Bascove -# (ampex210: removed obsolete ":kn#10:" -- esr) -ampex210|a210|ampex a210, - OTbs, am, hs, xenl, - cols#80, it#8, lines#24, xmc#1, - cbt=\EI, clear=\E*, cub1=^H, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\Ey, el=\Et, flash=\EU\EX\EU\EX\EU\EX\EU\EX, - fsl=\E.2, home=^^, ht=^I, ich1=\EQ, - if=/usr/local/share/tabset/std, il1=\EE, invis@, - is2=\EC\Eu\E'\E(\El\EA\E%\E{\E.2\EG0\Ed\En, kcub1=^H, - kcud1=^V, kcuf1=^L, kcuu1=^K, kf0=^A0\r, kf1=^A1\r, - kf2=^A2\r, kf3=^A3\r, kf4=^A4\r, kf5=^A5\r, kf6=^A6\r, - kf7=^A7\r, kf8=^A8\r, kf9=^A9\r, khome=^^, - tsl=\E.0\Eg\E}\Ef, use=adm+sgr, -# (ampex219: I added / based on the init string, added -# from ampex219w, added =\E[?3l, irresistibly suggested by , -# and moved the padding to be *after* the caps -- esr) -ampex219|ampex-219|amp219|Ampex with Automargins, - hs, xenl, - cols#80, it#8, lines#24, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, cbt=\E[Z, - clear=\E[H\E[2J$<50>, cnorm=\E[?3l, cr=^M, - csr=%i\E[%p1%2d;%p2%2dr, cub1=^H, cud1=\E[B, - cuf1=\E[C$<2>, cup=\E[%i%p1%d;%p2%dH$<5>, - cuu1=\E[A$<2>, cvvis=\E[?3h, dim=\E[1m, ed=\E[J$<50>, - el=\E[K$<3>, home=\E[H, ht=^I, ind=^J, - is2=\E>\E[?1l\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\E[21~, - kf1=\E[7~, kf2=\E[8~, kf3=\E[9~, kf4=\E[10~, kf5=\E[11~, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[H, - rev=\E[7m, ri=\EM$<5>, rmam=\E[?7l, rmkx=\E>, - rmso=\E[m$<2>, rmul=\E[m$<2>, sgr0=\E[m$<2>, smam=\E[?7h, - smkx=\E=, smso=\E[7m$<2>, smul=\E[4m$<2>, -ampex219w|ampex-219w|amp219w|Ampex 132 cols, - cols#132, lines#24, - bel=^G, cr=^M, cud1=^J, ind=^J, - is2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h, use=ampex219, -# (ampex232: removed , no file and no --esr) -ampex232|ampex-232|Ampex Model 232, - am, - cols#80, lines#24, xmc#1, - cbt=\EI, civis=\E.0, clear=\E+, cnorm=\E.4, cub1=^H, cud1=^V, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\EW, dl1=\ER$<5*/>, ed=\EY, el=\ET, - flash=\Eb$<200/>\Ed, ht=^I, ich1=\EQ, il1=\EE$<5*/>, - invis@, is2=\Eg\El, kbs=^H, kcub1=^H, kcud1=^V, kcuf1=^L, - kcuu1=^K, kf0=^A@\r, kf1=^AA\r, kf2=^AB\r, kf3=^AC\r, - kf4=^AD\r, kf5=^AE\r, kf6=^AF\r, kf7=^AG\r, kf8=^AH\r, - kf9=^AI\r, khome=^^, use=adm+sgr, -# (ampex: removed , no file and no -- esr) -ampex232w|Ampex Model 232 / 132 columns, - cols#132, lines#24, - is2=\E\034Eg\El, use=ampex232, - -#### Ann Arbor (aa) -# -# Ann Arbor made dream terminals for hackers -- large screen sizes and huge -# numbers of function keys. At least some used monitors in portrait mode, -# allowing up to 76-character screen heights! They were reachable at: -# -# Ann Arbor Terminals -# 6175 Jackson Road -# Ann Arbor, MI 48103 -# (313)-663-8000 -# -# But in 1996 the phone number reaches some kitschy retail shop, and Ann Arbor -# can't be found on the Web; I fear they're long dead. R.I.P. -# - - -# Originally from Mike O'Brien@Rand and Howard Katseff at Bell Labs. -# Highly modified 6/22 by Mike O'Brien. -# split out into several for the various screen sizes by dave-yost@rand -# Modifications made 3/82 by Mark Horton -# Modified by Tom Quarles at UCB for greater efficiency and more diversity -# status line moved to top of screen, removed 5/82 -# Some unknown person at SCO then hacked the init strings to make them more -# efficient. -# -# assumes the following setup: -# A menu: 0000 1010 0001 0000 -# B menu: 9600 0100 1000 0000 0000 1000 0000 17 19 -# C menu: 56 66 0 0 9600 0110 1100 -# D menu: 0110 1001 1 0 -# -# Briefly, the settings are for the following modes: -# (values are for bit set/clear with * indicating our preference -# and the value used to test these termcaps) -# Note that many of these settings are irrelevent to the terminfo -# and are just set to the default mode of the terminal as shipped -# by the factory. -# -# A menu: 0000 1010 0001 0000 -# Block/underline cursor* -# blinking/nonblinking cursor* -# key click/no key click* -# bell/no bell at column 72* -# -# key pad is cursor control*/key pad is numeric -# return and line feed/return for key * -# repeat after .5 sec*/no repeat -# repeat at 25/15 chars per sec. * -# -# hold data until pause pressed/process data unless pause pressed* -# slow scroll/no slow scroll* -# Hold in area/don't hold in area* -# functions keys have default*/function keys disabled on powerup -# -# show/don't show position of cursor during page transmit* -# unused -# unused -# unused -# -# B menu: 9600 0100 1000 0000 0000 1000 0000 17 19 -# Baud rate (9600*) -# -# 2 bits of parity - 00=odd,01=even*,10=space,11=mark -# 1 stop bit*/2 stop bits -# parity error detection off*/on -# -# keyboard local/on line* -# half/full duplex* -# disable/do not disable keyboard after data transmission* -# -# transmit entire page/stop transmission at cursor* -# transfer/do not transfer protected characters* -# transmit all characters/transmit only selected characters* -# transmit all selected areas/transmit only 1 selected area* -# -# transmit/do not transmit line separators to host* -# transmit/do not transmit page tab stops tabs to host* -# transmit/do not transmit column tab stop tabs to host* -# transmit/do not transmit graphics control (underline,inverse..)* -# -# enable*/disable auto XON/XOFF control -# require/do not require receipt of a DC1 from host after each LF* -# pause key acts as a meta key/pause key is pause* -# unused -# -# unused -# unused -# unused -# unused -# -# XON character (17*) -# XOFF character (19*) -# -# C menu: 56 66 0 0 9600 0110 1100 -# number of lines to print data on (printer) (56*) -# -# number of lines on a sheet of paper (printer) (66*) -# -# left margin (printer) (0*) -# -# number of pad chars on new line to printer (0*) -# -# printer baud rate (9600*) -# -# printer parity: 00=odd,01=even*,10=space,11=mark -# printer stop bits: 2*/1 -# print/do not print guarded areas* -# -# new line is: 01=LF,10=CR,11=CRLF* -# unused -# unused -# -# D menu: 0110 1001 1 0 -# LF is newline/LF is down one line, same column* -# wrap to preceding line if move left from col 1*/don't wrap -# wrap to next line if move right from col 80*/don't wrap -# backspace is/is not destructive* -# -# display*/ignore DEL character -# display will not/will scroll* -# page/column tab stops* -# erase everything*/erase unprotected only -# -# editing extent: 0=display,1=line*,2=field,3=area -# -# unused -# - -annarbor4080|aa4080|ann arbor 4080, - OTbs, am, - cols#80, lines#40, - bel=^G, clear=\014$<2>, cr=^M, cub1=^H, cud1=^J, cuf1=^_, - cup=\017%p2%{10}%/%{16}%*%p2%{10}%m%+%c%p1%?%p1%{19}%>%t%{12}%+%;%{64}%+%c, - cuu1=^N, home=^K, ht=^I, hts=^]^P1, ind=^J, kbs=^^, kcub1=^H, - kcud1=^J, kcuf1=^_, kcuu1=^N, khome=^K, tbc=^\^P^P, - -# Strange Ann Arbor terminal from BRL -aas1901|Ann Arbor K4080 w/S1901 mod, - am, - cols#80, lines#40, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^_, cuu1=^N, - home=^K, ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, ll=^O\0c, - nel=^M^J, - -# If you're using the GNU termcap library, add -# :cS=\E[%p1%d;%p2%d;%p3%d;%p4%dp: -# to these capabilities. This is the nonstandard GNU termcap scrolling -# capability, arguments are: -# 1. Total number of lines on the screen. -# 2. Number of lines above desired scroll region. -# 3. Number of lines below (outside of) desired scroll region. -# 4. Total number of lines on the screen, the same as the first parameter. -# The generic Ann Arbor entry is the only one that uses this. -aaa+unk|aaa-unk|ann arbor ambassador (internal - don't use this directly), - OTbs, am, km, mc5i, mir, xon, - cols#80, it#8, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, - clear=\E[H\E[J$<156>, cr=^M, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^K, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K$<5>, home=\E[H, hpa=\E[%p1%{1}%+%dG, ht=^I, - hts=\EH, ich=\E[%p1%d@$<4*>, ich1=\E[@$<4>, il=\E[%p1%dL, - il1=\E[L$<3>, ind=^K, invis=\E[8m, is1=\E[m\E7\E[H\E9\E8, - is3=\E[1Q\E[>20;30l\EP`+x~M\E\\, kbs=^H, kcbt=\E[Z, - kclr=\E[J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[P, kdl1=\E[M, kf1=\EOA, kf10=\EOJ, kf11=\EOK, - kf12=\EOL, kf13=\EOM, kf14=\EON, kf15=\EOO, kf16=\EOP, - kf17=\EOQ, kf18=\EOR, kf19=\EOS, kf2=\EOB, kf20=\EOT, - kf21=\EOU, kf22=\EOV, kf23=\EOW, kf24=\EOX, kf3=\EOC, - kf4=\EOD, kf5=\EOE, kf6=\EOF, kf7=\EOG, kf8=\EOH, kf9=\EOI, - khome=\E[H, kich1=\E[@, kil1=\E[L, krmir=\E6, mc0=\E[0i, - mc4=^C, mc5=\E[v, mc5p=\E[%p1%dv, rc=\E8, - rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, - rmkx=\EP`>y~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\E\\, - rmm=\E[>52l, rmso=\E[m, rmul=\E[m, sc=\E7, - sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m, - sgr0=\E[m, - smkx=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\, - smm=\E[>52h, smso=\E[7m, smul=\E[4m, tbc=\E[2g, - vpa=\E[%p1%{1}%+%dd, - -aaa+rv|ann arbor ambassador in reverse video, - blink=\E[5;7m, bold=\E[1;7m, invis=\E[7;8m, - is1=\E[7m\E7\E[H\E9\E8, rev=\E[m, rmso=\E[7m, rmul=\E[7m, - rs1=\E[H\E[7m\E[J$<156>, - sgr=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m, - sgr0=\E[7m\016, smso=\E[m, smul=\E[4;7m, -# Ambassador with the DEC option, for partial vt100 compatibility. -aaa+dec|ann arbor ambassador in dec vt100 mode, - acsc=aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}, - csr=\E[%i%p1%d;%p2%dr, enacs=\E(0, rmacs=^N, - sgr=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m%?%p9%t\017%e\016%;, - smacs=^O, -aaa-18|ann arbor ambassador/18 lines, - lines#18, - is2=\E7\E[60;0;0;18p\E8, - rmcup=\E[60;0;0;18p\E[60;1H\E[K, smcup=\E[18;0;0;18p, - use=aaa+unk, -aaa-18-rv|ann arbor ambassador/18 lines+reverse video, - use=aaa+rv, use=aaa-18, -aaa-20|ann arbor ambassador/20 lines, - lines#20, - is2=\E7\E[60;0;0;20p\E8, - rmcup=\E[60;0;0;20p\E[60;1H\E[K, smcup=\E[20;0;0;20p, - use=aaa+unk, -aaa-22|ann arbor ambassador/22 lines, - lines#22, - is2=\E7\E[60;0;0;22p\E8, - rmcup=\E[60;0;0;22p\E[60;1H\E[K, smcup=\E[22;0;0;22p, - use=aaa+unk, -aaa-24|ann arbor ambassador/24 lines, - lines#24, - is2=\E7\E[60;0;0;24p\E8, - rmcup=\E[60;0;0;24p\E[60;1H\E[K, smcup=\E[24;0;0;24p, - use=aaa+unk, -aaa-24-rv|ann arbor ambassador/24 lines+reverse video, - use=aaa+rv, use=aaa-24, -aaa-26|ann arbor ambassador/26 lines, - lines#26, - is2=\E7\E[60;0;0;26p\E8, - rmcup=\E[60;0;0;26p\E[26;1H\E[K, - smcup=\E[H\E[J$<156>\E[26;0;0;26p, use=aaa+unk, -aaa-28|ann arbor ambassador/28 lines, - lines#28, - is2=\E7\E[60;0;0;28p\E8, - rmcup=\E[60;0;0;28p\E[28;1H\E[K, - smcup=\E[H\E[J$<156>\E[28;0;0;28p, use=aaa+unk, -aaa-30-s|aaa-s|ann arbor ambassador/30 lines w/status, - eslok, hs, - lines#29, - dsl=\E7\E[60;0;0;30p\E[1;1H\E[K\E[H\E8\r\n\E[K, - fsl=\E[>51l, is2=\r\n\E[A\E7\E[60;1;0;30p\E8, - rmcup=\E[60;1;0;30p\E[29;1H\E[K, - smcup=\E[H\E[J$<156>\E[30;1;0;30p\E[30;1H\E[K, - tsl=\E[>51h\E[1;%p1%dH\E[2K, use=aaa+unk, -aaa-30-s-rv|aaa-s-rv|ann arbor ambassador/30 lines+status+reverse video, - use=aaa+rv, use=aaa-30-s, -aaa-s-ctxt|aaa-30-s-ctxt|ann arbor ambassador/30 lines+status+save context, - rmcup=\E[60;1;0;30p\E[59;1H\E[K, - smcup=\E[30;1H\E[K\E[30;1;0;30p, use=aaa-30-s, -aaa-s-rv-ctxt|aaa-30-s-rv-ct|ann arbor ambassador/30 lines+status+save context+reverse video, - rmcup=\E[60;1;0;30p\E[59;1H\E[K, - smcup=\E[30;1H\E[K\E[30;1;0;30p, use=aaa-30-s-rv, -aaa|aaa-30|ambas|ambassador|ann arbor ambassador/30 lines, - lines#30, - is2=\E7\E[60;0;0;30p\E8, - rmcup=\E[60;0;0;30p\E[30;1H\E[K, - smcup=\E[H\E[J$<156>\E[30;0;0;30p, use=aaa+unk, -aaa-30-rv|aaa-rv|ann arbor ambassador/30 lines in reverse video, - use=aaa+rv, use=aaa-30, -aaa-30-ctxt|aaa-ctxt|ann arbor ambassador/30 lines; saving context, - rmcup=\E[60;0;0;30p\E[60;1H\E[K, smcup=\E[30;0;0;30p, - use=aaa-30, -aaa-30-rv-ctxt|aaa-rv-ctxt|ann arbor ambassador/30 lines reverse video; saving context, - rmcup=\E[60;0;0;30p\E[60;1H\E[K, smcup=\E[30;0;0;30p, - use=aaa+rv, use=aaa-30, -aaa-36|ann arbor ambassador/36 lines, - lines#36, - is2=\E7\E[60;0;0;36p\E8, - rmcup=\E[60;0;0;36p\E[36;1H\E[K, - smcup=\E[H\E[J$<156>\E[36;0;0;36p, use=aaa+unk, -aaa-36-rv|ann arbor ambassador/36 lines+reverse video, - use=aaa+rv, use=aaa-36, -aaa-40|ann arbor ambassador/40 lines, - lines#40, - is2=\E7\E[60;0;0;40p\E8, - rmcup=\E[60;0;0;40p\E[40;1H\E[K, - smcup=\E[H\E[J$<156>\E[40;0;0;40p, use=aaa+unk, -aaa-40-rv|ann arbor ambassador/40 lines+reverse video, - use=aaa+rv, use=aaa-40, -aaa-48|ann arbor ambassador/48 lines, - lines#48, - is2=\E7\E[60;0;0;48p\E8, - rmcup=\E[60;0;0;48p\E[48;1H\E[K, - smcup=\E[H\E[J$<156>\E[48;0;0;48p, use=aaa+unk, -aaa-48-rv|ann arbor ambassador/48 lines+reverse video, - use=aaa+rv, use=aaa-48, -aaa-60-s|ann arbor ambassador/59 lines+status, - eslok, hs, - lines#59, - dsl=\E7\E[60;0;0;60p\E[1;1H\E[K\E[H\E8\r\n\E[K, - fsl=\E[>51l, is2=\r\n\E[A\E7\E[60;1;0;60p\E8, - tsl=\E[>51h\E[1;%p1%dH\E[2K, use=aaa+unk, -aaa-60-s-rv|ann arbor ambassador/59 lines+status+reverse video, - use=aaa+rv, use=aaa-60-s, -aaa-60-dec-rv|ann arbor ambassador/dec mode+59 lines+status+rev video, - use=aaa+dec, use=aaa+rv, use=aaa-60-s, -aaa-60|ann arbor ambassador/60 lines, - lines#60, - is2=\E7\E[60;0;0;60p\E[1Q\E[m\E[>20;30l\E8, - use=aaa+unk, -aaa-60-rv|ann arbor ambassador/60 lines+reverse video, - use=aaa+rv, use=aaa-60, -aaa-db|ann arbor ambassador 30/destructive backspace, - OTbs@, - cub1=\E[D, is3=\E[1Q\E[m\E[>20l\E[>30h, use=aaa-30, - -guru|guru-33|guru+unk|ann arbor guru/33 lines 80 cols, - lines#33, - flash=\E[>59h$<100>\E[>59l, - is2=\E7\E[255;0;0;33;80;80p\E8\E[J, is3=\E[>59l, - rmcup=\E[255p\E[255;1H\E[K, smcup=\E[33p, use=aaa+unk, -guru+rv|guru changes for reverse video, - flash=\E[>59l$<100>\E[>59h, is3=\E[>59h, -guru-rv|guru-33-rv|ann arbor guru/33 lines+reverse video, - use=guru+rv, use=guru-33, -guru+s|guru status line, - eslok, hs, - dsl=\E7\E[;0p\E[1;1H\E[K\E[H\E8\r\n\E[K, fsl=\E[>51l, - rmcup=\E[255;1p\E[255;1H\E[K, smcup=, - tsl=\E[>51h\E[1;%p1%dH\E[2K, -guru-nctxt|guru with no saved context, - smcup=\E[H\E[J$<156>\E[33p\E[255;1H\E[K, use=guru, -guru-s|guru-33-s|ann arbor guru/33 lines+status, - lines#32, - is2=\r\n\E[A\E7\E[255;1;0;33;80;80p\E8\E[J, - smcup=\E[33;1p\E[255;1H\E[K, use=guru+s, use=guru+unk, -guru-24|ann arbor guru 24 lines, - cols#80, lines#24, - is2=\E7\E[255;0;0;24;80;80p\E8\E[J, smcup=\E[24p, - use=guru+unk, -guru-44|ann arbor guru 44 lines, - cols#97, lines#44, - is2=\E7\E[255;0;0;44;97;100p\E8\E[J, smcup=\E[44p, - use=guru+unk, -guru-44-s|ann arbor guru/44 lines+status, - lines#43, - is2=\r\n\E[A\E7\E[255;1;0;44;80;80p\E8\E[J, - smcup=\E[44;1p\E[255;1H\E[K, use=guru+s, use=guru+unk, -guru-76|guru with 76 lines by 89 cols, - cols#89, lines#76, - is2=\E7\E[255;0;0;76;89;100p\E8\E[J, smcup=\E[76p, - use=guru+unk, -guru-76-s|ann arbor guru/76 lines+status, - cols#89, lines#75, - is2=\r\n\E[A\E7\E[255;1;0;76;89;100p\E8\E[J, - smcup=\E[76;1p\E[255;1H\E[K, use=guru+s, use=guru+unk, -guru-76-lp|guru-lp|guru with page bigger than line printer, - cols#134, lines#76, - is2=\E7\E[255;0;0;76;134;134p\E8\E[J, smcup=\E[76p, - use=guru+unk, -guru-76-w|guru 76 lines by 178 cols, - cols#178, lines#76, - is2=\E7\E[255;0;0;76;178;178p\E8\E[J, smcup=\E[76p, - use=guru+unk, -guru-76-w-s|ann arbor guru/76 lines+status+wide, - cols#178, lines#75, - is2=\r\n\E[A\E7\E[255;1;0;76;178;178p\E8\E[J, - smcup=\E[76;1p\E[255;1H\E[K, use=guru+s, use=guru+unk, -guru-76-wm|guru 76 lines by 178 cols with 255 cols memory, - cols#178, lines#76, - is2=\E7\E[255;0;0;76;178;255p\E8\E[J, smcup=\E[76p, - use=guru+unk, -aaa-rv-unk|ann arbor unknown type, - lh#0, lw#0, nlab#0, - blink=\E[5;7m, bold=\E[1;7m, home=\E[H, invis=\E[7;8m, - is1=\E[7m\E7\E[H\E9\E8, rev=\E[m, rmso=\E[7m, rmul=\E[7m, - rs1=\E[H\E[7m\E[J, - sgr=\E[%?%p1%!%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m, - sgr0=\E[7m, smso=\E[m, smul=\E[4;7m, - -#### Applied Digital Data Systems (adds) -# -# ADDS itself is long gone. ADDS was bought by NCR, and the same group made -# ADDS and NCR terminals. When AT&T and NCR merged, the engineering for -# terminals was merged again. Then AT&T sold the terminal business to -# SunRiver, which later changed its name to Boundless Technologies. The -# engineers from Teletype, AT&T terminals, ADDS, and NCR (who are still there -# as of early 1995) are at: -# -# Boundless Technologies -# 100 Marcus Boulevard -# Hauppauge, NY 11788-3762 -# Vox: (800)-231-5445 -# Fax: (516)-342-7378 -# Web: http://boundless.com -# -# Their voice mail used to describe the place as "SunRiver (formerly ADDS)". -# In 1995 Boundless acquired DEC's terminals business. -# - -# Regent: lowest common denominator, works on all regents. -# (regent: renamed ":bc:" to ":le:" -- esr) -regent|Adds Regent Series, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^U, cud1=^J, cuf1=^F, cuu1=^Z, - home=\EY\s\s, ind=^J, ll=^A, -# Regent 100 has a bug where if computer sends escape when user is holding -# down shift key it gets confused, so we avoid escape. -regent100|Adds Regent 100, - xmc#1, - bel=^G, - cup=\013%p1%' '%+%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%c, - kf0=^B1\r, kf1=^B2\r, kf2=^B3\r, kf3=^B4\r, kf4=^B5\r, - kf5=^B6\r, kf6=^B7\r, kf7=^B8\r, lf0=F1, lf1=F2, lf2=F3, - lf3=F4, lf4=F5, lf5=F6, lf6=F7, lf7=F8, rmso=\E0@, rmul=\E0@, - sgr0=\E0@, smso=\E0P, smul=\E0`, use=regent, -regent20|Adds Regent 20, - bel=^G, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, ed=\Ek, el=\EK, - use=regent, -regent25|Adds Regent 25, - bel=^G, kcub1=^U, kcud1=^J, kcuf1=^F, kcuu1=^Z, khome=^A, - use=regent20, -regent40|Adds Regent 40, - xmc#1, - bel=^G, dl1=\El$<2*>, il1=\EM$<2*>, kf0=^B1\r, kf1=^B2\r, - kf2=^B3\r, kf3=^B4\r, kf4=^B5\r, kf5=^B6\r, kf6=^B7\r, - kf7=^B8\r, lf0=F1, lf1=F2, lf2=F3, lf3=F4, lf4=F5, lf5=F6, - lf6=F7, lf7=F8, rmso=\E0@, rmul=\E0@, sgr0=\E0@, smso=\E0P, - smul=\E0`, use=regent25, -regent40+|Adds Regent 40+, - is2=\EB, use=regent40, -regent60|regent200|Adds Regent 60, - dch1=\EE, is2=\EV\EB, kdch1=\EE, kich1=\EF, krmir=\EF, - rmir=\EF, rmso=\ER\E0@\EV, smir=\EF, smso=\ER\E0P\EV, - use=regent40+, -# From: Thu Jul 9 09:27:33 1981 -# (viewpoint: added , function key, and capabilities -- esr) -viewpoint|addsviewpoint|adds viewpoint, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=^L, cnorm=\017\E0`, cr=^M, cub1=^H, cud1=^J, - cuf1=^F, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, - cvvis=\017\E0P, dl1=\El, ed=\Ek$<16.1*>, el=\EK$<16>, - ind=^J, is2=\017\E0`, kcub1=^U, kcud1=^J, kcuf1=^F, kcuu1=^Z, - kf0=^B1, kf2=^B2, kf3=^B!, kf4=^B", kf5=^B#, khome=^A, ll=^A, - rmso=^O, rmul=^O, sgr0=^O, smso=^N, smul=^N, -# Some viewpoints have bad ROMs that foo up on ^O -screwpoint|adds viewpoint with ^O bug, - cvvis@, rmso@, rmul@, smso@, smul@, use=viewpoint, - -# From: Jay S. Rouman 5 Jul 92 -# The /// strings were added by ESR from specs. -# Theory; the vp3a+ wants \E0%c to set highlights, where normal=01000000, -# underline=01100000, rev=01010000, blink=01000010,dim=01000001, -# invis=01000100 and %c is the logical or of desired attributes. -# There is also a `tag bit' enabling attributes, set by \E) and unset by \E(. -# -# Update by TD - 2004: -# Adapted from -# http://www.cs.utk.edu/~shuford/terminal/adds_viewpoint_news.txt -# -# COMMANDS ASCII CODE -# -# Address, Absolute ESC,=,row,column -# Beep BEL -# Aux Port Enable ESC,@ -# Aux Port Disable ESC,A -# Backspace BS -# Cursor back BS -# Cursor down LF -# Cursor forward FF -# Cursor home RS -# Cursor up VT -# Cursor supress ETB -# Cursor enable CAN -# Erase to end of line ESC,T -# Erase to end of page ESC,Y -# Erase screen SUB -# Keyboard lock SI -# Keyboard unlock SO -# Read current cursor position ESC,? -# Set Attribute ESC,0,x (see below for values of x) -# Tag bit reset ESC,( -# Tag bit set ESC,) -# Transparent Print on ESC,3 -# Transparent Print off ESC,4 -# -# -# ATTRIBUTES -# -# Normal @ 0100 -# Half Intensity A 0101 -# Blinking B 0102 -# Half Intensity Blinking C 0103 -# Reverse Video P 0120 -# Reverse Video Half Intensity Q 0121 -# Reverse Video Blinking R 0122 -# Reverse Video Half Intensity -# Blinking S 0123 -# Underlined ` 0140 -# Underlined Half Intensity a 0141 -# Underlined Blinking b 0142 -# Underlined Half Intensity -# Blinking c 0143 -# Video suppress D 0104 -vp3a+|viewpoint3a+|adds viewpoint 3a+, - am, bw, - cols#80, it#8, lines#24, - blink=\E0B\E), civis=^W, clear=\E*$<80>, cnorm=^X, cr=^M, - cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dim=\E0A\E), - ed=\EY$<80>, el=\ET, home=^^, ht=^I, ind=^J, invis=\E0D\E), - kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, - nel=^M^J, rev=\E0P\E), rmso=\E(, - sgr=%?%p1%p2%|%p3%|%p4%|%p5%|%p7%|%t\E0%{64}%?%p1%t%{17}%|%;%?%p2%t%{32}%|%;%?%p3%t%{16}%|%;%?%p4%t%{2}%|%;%?%p5%t%{1}%|%;%c%?%p7%tD%;\E)%e\E(%;, - sgr0=\E(, smso=\E0Q\E), smul=\E0`\E), -vp60|viewpoint60|addsvp60|adds viewpoint60, - use=regent40, -# -# adds viewpoint 90 - from cornell -# Note: emacs sends ei occasionally to insure the terminal is out of -# insert mode. This unfortunately puts the viewpoint90 IN insert -# mode. A hack to get around this is . (Also, -# - :ei=:im=: must be present in the termcap translation.) -# - indicates glitch that attributes stick to location -# - means it's safe to move in standout mode -# - : clears screen and visual attributes without affecting -# the status line -# Function key and label capabilities merged in from SCO. -vp90|viewpoint90|adds viewpoint 90, - OTbs, bw, msgr, xhp, - cols#80, lines#24, - clear=\EG\Ek, cub1=^H, cud1=^J, cuf1=^F, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, dch1=\EE, - dl1=\El, ed=\Ek, el=\EK, home=\EY\s\s, ht=^I, - ich1=\EF \EF\025, ind=^J, kbs=^H, kcub1=^U, kcud1=^J, - kcuf1=^F, kcuu1=^Z, kf0=^B1\r, kf1=^B2\r, kf10=^B;\r, - kf2=^B3\r, kf3=^B4\r, kf4=^B5\r, kf5=^B6\r, kf6=^B7\r, - kf7=^B8\r, kf8=^B9\r, kf9=^B\:\r, khome=^A, lf0=F1, lf1=F2, - lf10=F11, lf2=F3, lf3=F4, lf4=F5, lf5=F6, lf6=F7, lf7=F8, lf8=F9, - lf9=F10, ll=^A, rmso=\ER\E0@\EV, rmul=\ER\E0@\EV, - sgr0=\ER\E0@\EV, smso=\ER\E0Q\EV, smul=\ER\E0`\EV, -# Note: if return acts weird on a980, check internal switch #2 -# on the top chip on the CONTROL pc board. -adds980|a980|adds consul 980, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\014$<1>\013@, cr=^M, cub1=^H, cud1=^J, - cuf1=\E^E01, cup=\013%p1%{64}%+%c\E\005%p2%2d, - dl1=\E\017$<13>, il1=\E\016$<13>, ind=^J, kf0=\E0, kf1=\E1, - kf2=\E2, kf3=\E3, kf4=\E4, kf5=\E5, kf6=\E6, kf7=\E7, kf8=\E8, - kf9=\E9, rmso=^O, sgr0=^O, smso=^Y^^^N, - -#### C. Itoh Electronics -# -# As of 1995 these people no longer make terminals (they're still in the -# printer business). Their terminals were all clones of the DEC VT series. -# They're located in Orange County, CA. -# - -# CIT 80 - vt-52 emulator, the termcap has been modified to remove -# the delay times and do an auto tab set rather than the indirect -# file used in vt100. -cit80|cit-80|citoh 80, - OTbs, am, - cols#80, lines#24, - clear=\E[H\EJ, cr=^M, cub1=^H, cuf1=\E[C, - cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\EJ, el=\EK, ff=^L, - ind=^J, is2=\E>, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, - kcuu1=\EOA, rmkx=\E[?1l\E>, smkx=\E[?1h\E=, -# From: Tim Wood Fri Sep 27 09:39:12 PDT 1985 -# (cit101: added / based on init string, merged this with c101 -- esr) -cit101|citc|C.itoh fast vt100, - OTbs, am, xenl, - cols#80, lines#24, - bel=^G, clear=\E[H\E[2J, cnorm=\E[V\E8, cub1=^H, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, cvvis=\E7\E[U, - dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, - flash=\E[?5h$<200/>\E[?5l, ich1=\E[@, il1=\E[L, - is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[3g\E[>5g, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m, - smul=\E[4m, -# CIE Terminals CIT-101e from Geoff Kuenning via BRL -# The following termcap entry was created from the Callan cd100 entry. The -# last two lines (with the capabilities in caps) are used by RM-cobol to allow -# full selection of combinations of reverse video, underline, and blink. -# (cit101e: removed unknown :f0=\EOp:f1=\EOq:f2=\EOr:f3=\EOs:f4=\EOt:f5=\EOu:\ -# f6=\EOv:f7=\EOw:f8=\EOx:f9=\EOy:AB=\E[0;5m:AL=\E[m:AR=\E[0;7m:AS=\E[0;5;7m:\ -# :NB=\E[0;1;5m:NM=\E[0;1m:NR=\E[0;1;7m:NS=\E[0;1;5;7m: -- esr) -cit101e|C. Itoh CIT-101e, - OTbs, OTpt, am, mir, msgr, - cols#80, it#8, lines#24, - acsc=, clear=\E[H\E[J, cnorm=, csr=\E[%i%p1%2d;%p2%2dr, - cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, - cvvis=\E[?1l\E[?4l\E[?7h, dch1=\E[P, dl1=\E[M, ed=\E[J, - el=\E[K, if=/usr/local/share/tabset/vt100, il1=\E[L, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\EOT, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOm, kf6=\EOl, - kf7=\EOM, kf8=\EOn, rc=\E8, ri=\EM, rmacs=^O, rmir=\E[4l, - rmkx=\E>, rmso=\E[m, rmul=\E[m, sc=\E7, smacs=^N, smir=\E[4h, - smkx=\E=, smso=\E[7m, smul=\E[4m, -# From: David S. Lawyer, June 1997: -# The CIT 101-e was made in Japan in 1983-4 and imported by CIE -# Terminals in Irvine, CA. It was part of CITOH Electronics. In the -# late 1980's CIT Terminals went out of business. -# There is no need to use the initialization string is=... (by invoking -# tset or setterm etc.) provided that the terminal has been manually set -# up (and the setup saved with ^S) to be compatible with this termcap. To be -# compatible it should be in ANSI mode (not VT52). A set-up that -# works is to set all the manually setable stuff to factory defaults -# by pressing ^D in set-up mode. Then increse the brighness with the -# up-arrow key since the factory default will likely be dim on an old -# terminal. Then change any options you want (provided that they are -# compatible with the termcap). For my terminal I set: Screen -# Background: light; Keyclicks: silent; Auto wraparound: on; CRT saver: -# on. I also set up mine for parity (but you may not need it). Then -# save the setup with ^S. -# (cit101e-rv: added empty to suppress a tic warning. --esr) -cit101e-rv|Citoh CIT-101e (sets reverse video), - am, eo, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, - OTnl=\EM, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, - civis=\E[1v, clear=\E[H\E[J, cnorm=\E[0;3;4v, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[3;5v, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, flash=\E[?5l\E[?5h$<200/>, - home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, - is2=\E<\E>\E[?1l\E[?3l\E[?4l\E[?5h\E[?7h\E[?8h\E[3g\E[>5g\E(B\E[m\E[20l\E[1;24r\E[24;1H, - kbs=\177, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\EE, rc=\E8, - rev=\E[7m, ri=\EM, rin=\E[%p1%dT, rmcup=, rmir=\E[4l, - rmso=\E[m, rmul=\E[m, rs1=\Ec\E[?7h\E[>5g, sc=\E7, - sgr0=\E[m, smcup=\E[>5g\E[?7h\E[?5h, smir=\E[4h, - smso=\E[7m, smul=\E[4m, tbc=\E[3g, u6=\E[%i%p1%d;%p2%dR, - u7=\E[6n, u8=\E[?6c, u9=\E[c, -cit101e-n|CIT-101e w/o am, - am@, - cvvis=\E[?1l\E[?4l\E[?7l, kbs=^H, kcub1=^H, kcud1=^J, - use=cit101e, -cit101e-132|CIT-101e with 132 cols, - cols#132, - kbs=^H, kcub1=^H, kcud1=^J, use=cit101e, -cit101e-n132|CIT-101e with 132 cols w/o am, - am@, - cols#132, - cvvis=\E[?1l\E[?4l\E[?7l, kbs=^H, kcub1=^H, kcud1=^J, - use=cit101e, -# CIE Terminals CIT-500 from BRL -# The following SET-UP modes are assumed for normal operation: -# GENERATE_XON/XOFF:YES DUPLEX:FULL NEWLINE:OFF -# AUTOWRAP:ON MODE:ANSI SCREEN_LENGTH:64_LINES -# DSPLY_CNTRL_CODES?NO PAGE_WIDTH:80 EDIT_MODE:OFF -# Other SET-UP modes may be set for operator convenience or communication -# requirements. -# Hardware tabs are assumed to be set every 8 columns; they can be set up -# by the "reset", "tset", or "tabs" utilities. No delays are specified; use -# "stty ixon -ixany" to enable DC3/DC1 flow control! -# (cit500: I added / based on the init string -- esr) -cit500|CIE Terminals CIT-500, - OTbs, OTpt, mir, msgr, xon, - OTkn#10, cols#80, it#8, lines#64, vt#3, - acsc=, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, - clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\EM, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ed=\EJ, el=\EK, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, - il1=\E[L, ind=^J, is2=\E<\E)0, kbs=^H, kcbt=\E[Z, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[P, kdl1=\E[M, - ked=\EJ, kel=\EK, kf0=\EOP, kf1=\EOQ, kf2=\EOR, kf3=\EOS, - kf4=\EOU, kf5=\EOV, kf6=\EOW, kf7=\EOX, kf8=\EOY, kf9=\EOZ, - khome=\E[H, kich1=\E[4h, kil1=\E[L, krmir=\E[4l, lf0=PF1, - lf1=PF2, lf2=PF3, lf3=PF4, lf4=F15, lf5=F16, lf6=F17, lf7=F18, - lf8=F19, lf9=F20, ll=\E[64H, nel=\EE, rc=\E8, rev=\E[7m, - ri=\EM, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, - rmso=\E[m, rmul=\E[m, - rs1=\E<\E2\E[20l\E[?6l\E[r\E[m\E[q\E(B\017\E)0\E>, - sc=\E7, sgr0=\E[m, smacs=^N, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - -# C. Itoh printers begin here -citoh|ci8510|8510|c.itoh 8510a, - cols#80, it#8, - bold=\E!, cub1@, - is2=\E(009\,017\,025\,033\,041\,049\,057\,065\,073., - rep=\ER%p2%03d%p1%c, ri=\Er, rmul=\EY, sgr0=\E"\EY, - smul=\EX, use=lpr, -citoh-pica|citoh in pica, - is1=\EN, use=citoh, -citoh-elite|citoh in elite, - cols#96, - is1=\EE, - is2=\E(009\,017\,025\,033\,041\,049\,057\,065\,073\,081\,089., - use=citoh, -citoh-comp|citoh in compressed, - cols#136, - is1=\EQ, - is2=\E(009\,017\,025\,033\,041\,049\,057\,065\,073\,081\,089\,097\,105\,113\,121\,129., - use=citoh, -# citoh has infinite cols because we don't want lp ever inserting \n\t**. -citoh-prop|citoh-ps|ips|citoh in proportional spacing mode, - cols#32767, - is1=\EP, use=citoh, -citoh-6lpi|citoh in 6 lines per inch mode, - is3=\EA, use=citoh, -citoh-8lpi|citoh in 8 lines per inch mode, - lines#88, - is3=\EB, use=citoh, - -#### Control Data (cdc) -# - -cdc456|cdc 456 terminal, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=^Y^X, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E1%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, dl1=\EJ, ed=^X, - el=^V, home=^Y, il1=\EL, ind=^J, - -# Assorted CDC terminals from BRL (improvements by DAG & Ferd Brundick) -cdc721|CDC Viking, - OTbs, am, - cols#80, lines#24, - clear=^L, cuf1=^X, cup=\002%p2%{32}%+%c%p1%{32}%+%c, - cuu1=^W, el=^K, home=^Y, kcub1=^H, kcud1=^J, kcuf1=^I, - kcuu1=^W, khome=^Y, -cdc721ll|CDC Vikingll, - OTbs, am, - cols#132, lines#24, - clear=^L, cuf1=^X, cup=\002%p2%{32}%+%c%p1%{32}%+%c, - cuu1=^W, el=^K, home=^Y, kcub1=^H, kcud1=^J, kcuf1=^I, - kcuu1=^W, khome=^Y, -# (cdc752: the BRL entry had :ll=\E1 ^Z: commented out -cdc752|CDC 752, - OTbs, am, bw, xhp, - cols#80, lines#24, - bel=^G, clear=\030\E1\s\s, cr=^M, cub1=^H, cud1=^J, cuf1=^U, - cup=\E1%p2%{32}%+%c%p1%{32}%+%c, cuu1=^Z, el=^V, - home=\E1\s\s, ind=^J, ll=^Y, rs1=\E1 \030\002\003\017, -# CDC 756 -# The following switch/key settings are assumed for normal operation: -# 96 chars SCROLL FULL duplex not BLOCK -# Other switches may be set according to communication requirements. -# Insert/delete-character cannot be used, as the whole display is affected. -# "so" & "se" are commented out until jove handles "sg" correctly. -cdc756|CDC 756, - OTbs, am, bw, - OTkn#10, cols#80, lines#24, - bel=^G, clear=^Y^X, cr=^M, cub1=^H, cud1=^J, cuf1=^U, - cup=\E1%p2%{32}%+%c%p1%{32}%+%c, cuu1=^Z, - dl1=\EJ$<6*/>, ed=^X, el=^V, home=^Y, il1=\EL$<6*/>, ind=^J, - kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^U, kcuu1=^Z, kdch1=\EI, - kdl1=\EL, ked=^X, kel=^V, kf0=\EA, kf1=\EB, kf2=\EC, kf3=\ED, - kf4=\EE, kf5=\EF, kf6=\EG, kf7=\EH, kf8=\Ea, kf9=\Eb, khome=^Y, - khts=^O, kich1=\EK, kil1=\EL, lf0=F1, lf1=F2, lf2=F3, lf3=F4, - lf4=F5, lf5=F6, lf6=F7, lf7=F8, lf8=F9, lf9=F10, ll=^Y^Z, - rs1=\031\030\002\003\017, -# -# CDC 721 from Robert Viduya, Ga. Tech. via BRL. -# -# Part of the long initialization string defines the "DOWN" key to the left -# of the tab key to send an ESC. The real ESC key is positioned way out -# in right field. -# -# The termcap won't work in 132 column mode due to the way it it moves the -# cursor. Termcap doesn't have the capability (as far as I could tell) to -# handle the 721 in 132 column mode. -# -# (cdc721: changed :ri: to :sr: -- esr) -cdc721-esc|Control Data 721, - OTbs, OTpt, am, bw, msgr, xon, - OTkn#10, cols#80, it#8, lines#30, - bel=^G, blink=^N, cbt=^^^K, clear=^L, cub1=^H, cud1=^Z, - cuf1=^X, cup=\002%p2%{32}%+%c%p1%{32}%+%c, cuu1=^W, - dch1=^^N, dim=^\, dl1=^^Q, ed=^^P, el=^K, home=^Y, hts=^^^RW, - ich1=^^O, il1=^^R, ind=\036W =\036U, invis=^^^R[, - is2=\036\022B\003\036\035\017\022\025\035\036E\036\022H\036\022J\036\022L\036\022N\036\022P\036\022Q\036\022\036\022\^\036\022b\036\022i\036W =\036\022Z\036\011C1-` `!k/o, - kbs=^H, kcub1=^H, kcud1=^Z, kcuf1=^X, kcuu1=^W, kf0=^^q, - kf1=^^r, kf2=^^s, kf3=^^t, kf4=^^u, kf5=^^v, kf6=^^w, kf7=^^x, - kf8=^^y, kf9=^^z, khome=^Y, ll=^B =, rev=^^D, - ri=\036W =\036V, rmir=, rmkx=^^^Rl, rmso=^^E, rmul=^], - sgr0=\017\025\035\036E\036\022\\, smir=, smkx=^^^Rk, - smso=^^D, smul=^\, tbc=^^^RY, - -#### Getronics -# -# Getronics is a Dutch electronics company that at one time was called -# `Geveke' and made async terminals; but (according to the company itself!) -# they've lost all their documentation on the command set. The hardware -# documentation suggests the terminals were actually manufactured by a -# Taiwanese electronics company named Cal-Comp. There are known -# to have been at least two models, the 33 and the 50. -# - -# The 50 seems to be a top end vt220 clone, with the addition of a higher -# screen resolution, a larger screen, at least 1 page of memory above and -# below the screen, apparently pages of memory right and left of the screen -# which can be panned, and about 75 function keys (15 function keys x normal, -# shift, control, func A, func B). It also has more setup possibilities than -# the vt220. The monitor case is dated November 1978 and the keyboard case is -# May 1982. -# -# The vt100 emulation works as is. The entry below describes the rather -# non-conformant (but more featureful) ANSI mode. -# -# From: Stephen Peterson , 27 May 1995 -visa50|geveke visa 50 terminal in ansi 80 character mode, - bw, mir, msgr, - cols#80, lines#25, - acsc=0_aaffggh jjkkllmmnnooqqssttuuvvwwxx, bel=^G, - blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dX, dch1=\E[X, dim=\E[2m, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l, home=\E[H, - hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, ich1=\E[@, - il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m, - is2=\E0;2m\E[1;25r\E[25;1H\E[?3l\E[?7h\E[?8h, - ka1=\E[f, ka3=\EOQ, kb2=\EOP, kbs=^H, kc1=\EOR, kc3=\EOS, - kcub1=\E[D, kcud1=\E[A, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, - kdl1=\EOS, kf0=\E010, kf1=\E001, kf10=\E011, kf2=\E002, - kf3=\E003, kf4=\E004, kf5=\E005, kf6=\E006, kf7=\E007, - kf8=\E008, kf9=\E009, khome=\E[f, lf2=A delete char, - lf3=A insert line, lf4=A delete line, lf5=A clear, - lf6=A ce of/cf gn, lf7=A print, lf8=A on-line, - lf9=A funcl0=A send, nel=^M^J, rev=\E[7m, rmacs=\E[3l, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[0;2m, - rmul=\E[0m, sgr0=\E[0;2m, smacs=\E3h, smam=\E?7h, - smir=\E[4h, smkx=\E=, smso=\E[2;7m, smul=\E[4m, tbc=\E[3g, - vpa=\E[%i%p1%dd, - -#### Human Designed Systems (Concept) -# -# Human Designed Systems -# 400 Fehley Drive -# King of Prussia, PA 19406 -# Vox: (610)-277-8300 -# Fax: (610)-275-5739 -# Net: support@hds.com -# -# John Martin is their termcap expert. They're mostly out of -# the character-terminal business now (1995) and making X terminals. In -# particular, the whole `Concept' line described here was discontinued long -# ago. -# - -# From: Sat Jun 27 07:41:20 1981 -# Extensive changes to c108 by arpavax:eric Feb 1982 -# Some unknown person at SCO then translated it to terminfo. -# -# There seem to be a number of different versions of the C108 PROMS -# (with bug fixes in its Z-80 program). -# -# The first one that we had would lock out the keyboard of you -# sent lots of short lines (like /usr/dict/words) at 9600 baud. -# Try that on your C108 and see if it sends a ^S when you type it. -# If so, you have an old version of the PROMs. -# -# You should configure the C108 to send ^S/^Q before running this. -# It is much faster (at 9600 baud) than the c100 because the delays -# are not fixed. -# new status line display entries for c108-8p: -# - init str #3 - setup term for status display - -# set programmer mode, select window 2, define window at last -# line of memory, set bkgnd stat mesg there, select window 0. -# -# - to status line - select window 2, home cursor, erase to -# end-of-window, 1/2 bright on, goto(line#0, col#?) -# -# - from status line - 1/2 bright off, select window 0 -# -# - disable status display - set bkgnd status mesg with -# illegal window # -# -# There are probably more function keys that should be added but -# I don't know what they are. -# -# No delays needed on c108 because of ^S/^Q handshaking -# -c108|concept108|c108-8p|concept108-8p|concept 108 w/8 pages, - is3=\EU\E z"\Ev\001\177 !p\E ;"\E z \Ev \001\177p\Ep\n, - rmcup=\Ev \001\177p\Ep\r\n, use=c108-4p, -c108-4p|concept108-4p|concept 108 w/4 pages, - OTbs, eslok, hs, xon, - pb@, - acsc=jEkTl\\mMqLxU, cnorm=\Ew, cr=^M, - cup=\Ea%p1%?%p1%{95}%>%t\001%{96}%-%;%{32}%+%c%p2%?%p2%{95}%>%t\001%{96}%-%;%{32}%+%c, - cvvis=\EW, dch1=\E 1$<16*>, dsl=\E ;\177, fsl=\Ee\E z\s, - ind=^J, is1=\EK\E!\E F, - is3=\EU\E z"\Ev\177 !p\E ;"\E z \Ev \001 p\Ep\n, - rmacs=\Ej\s, rmcup=\Ev \001 p\Ep\r\n, smacs=\Ej!, - smcup=\EU\Ev 8p\Ep\r\E\025, - tsl=\E z"\E?\E\005\EE\Ea %+\s, use=c100, -c108-rv|c108-rv-8p|concept 108 w/8 pages in reverse video, - rmcup=\Ev \002 p\Ep\r\n, smcup=\EU\Ev 8p\Ep\r, - use=c108-rv-4p, -c108-rv-4p|concept108rv4p|concept 108 w/4 pages in reverse video, - flash=\EK$<200>\Ek, is1=\Ek, rmso=\Ee, smso=\EE, - use=c108-4p, -c108-w|c108-w-8p|concept108-w-8|concept108-w8p|concept 108 w/8 pages in wide mode, - cols#132, - is1=\E F\E", rmcup=\Ev ^A0\001D\Ep\r\n, - smcup=\EU\Ev 8\001D\Ep\r, use=c108-8p, - -# Concept 100: -# These have only window relative cursor addressing, not screen -# relative. To get it to work right here, smcup/rmcup (which -# were invented for the concept) lock you into a one page -# window for screen style programs. -# -# To get out of the one page window, we use a clever trick: -# we set the window size to zero ("\Ev " in rmcup) which the -# terminal recognizes as an error and resets the window to all -# of memory. -# -# This trick works on c100 but does not on c108, sigh. -# -# Some tty drivers use cr3 for concept, others use nl3, hence -# the delays on cr and ind below. This padding is only needed at -# 9600 baud and up. One or the other is commented out depending on -# local conventions. -# -# 2 ms padding on isn't always enough. 6 works fine. Maybe -# less than 6 but more than 2 will work. -# -# Note: can't use function keys f7-f10 because they are -# indistinguishable from arrow keys (!), also, del char and -# clear eol use xon/xoff so they probably won't work very well. -# -# Also note that we don't define insrt/del char/delline/eop/send -# because they don't transmit unless we reset them - I figured -# it was a bad idea to clobber their definitions. -# -# The sequence changes the escape character to ^^ so that -# escapes will be passed through to the printer. Only trouble -# is that ^^ won't be - ^^ was chosen to be unlikely. -# Unfortunately, if you're sending raster bits through to be -# plotted, any character you choose will be likely, so we lose. -# -# \EQ"\EY(^W (send anything from printer to host, for xon/xoff) -# cannot be # in is2 because it will hang a c100 with no printer -# if sent twice. -c100|concept100|concept|c104|c100-4p|hds concept 100, - OTbs, am, eo, mir, ul, xenl, - cols#80, lines#24, pb#9600, vt#8, - bel=^G, blink=\EC, clear=\E?\E\005$<2*>, cr=$<9>\r, - cub1=^H, cud1=^J, cuf1=\E=, - cup=\Ea%p1%{32}%+%c%p2%{32}%+%c, cuu1=\E;, - dch1=\E\021$<16*>, dim=\EE, dl1=\E\002$<3*>, - ed=\E\005$<16*>, el=\E\025$<16>, flash=\Ek$<200>\EK, - ht=\011$<8>, il1=\E\022$<3*>, ind=^J, invis=\EH, ip=$<16*>, - is1=\EK, - is2=\EU\Ef\E7\E5\E8\El\ENH\E\0\Eo&\0\Eo'\E\Eo!\0\E\007!\E\010A@ \E4#\:"\E\:a\E4#;"\E\:b\E4#<"\E\:c, - is3=\Ev $<6>\Ep\n, kbs=^H, kcbt=\E', kctab=\E_, - kcub1=\E>, kcud1=\E<, kcuf1=\E=, kcuu1=\E;, kdch1=\E^Q, - kdl1=\E^B, ked=\E^C, kel=\E^S, kf1=\E5, kf2=\E6, kf3=\E7, - kf4=\E8, kf5=\E9, kf6=\E\:a, kf7=\E\:b, kf8=\E\:c, khome=\E?, - khts=\E], kich1=\E^P, kil1=\E^R, kind=\E[, knp=\E-, kpp=\E., - kri=\E\\, krmir=\E\0, mc4=\036o \E\EQ!\EYP\027, - mc5=\EQ"\EY(\027\EYD\Eo \036, prot=\EI, - rep=\Er%p1%c%p2%{32}%+%c$<.2*>, rev=\ED, - rmcup=\Ev $<6>\Ep\r\n, rmir=\E\s\s, rmkx=\Ex, - rmso=\Ed, rmul=\Eg, sgr0=\EN@, - smcup=\EU\Ev 8p\Ep\r\E\025$<16>, smir=\E^P, smkx=\EX, - smso=\ED, smul=\EG, -c100-rv|c100-rv-4p|concept100-rv|c100 rev video, - cnorm@, cvvis@, flash=\EK$<200>\Ek, is1=\Ek, rmso=\Ee, - smso=\EE, use=c100, -oc100|oconcept|c100-1p|old 1 page concept 100, - in, - is3@, use=c100, - -# From: Walter Skorski , 16-oct-1996. -# Lots of notes, originally inline, but ncurses doesn't grok that. -# -# am: not available in power on mode, but turned on with \E[=107;207h in -# is2=. Also, \E=124l in is2= could have been used to prevent needing -# to specify xenl:, but that would have rendered the last space on the -# last line useless. -# bw: Not available in power on mode, but turned on with \E[=107;207h in -# is2=. -# clear: Could be done with \E[2J alone, except that vi (and probably most -# other programs) assume that this also homes the cursor. -# dsl: Go to window 2, go to the beginning of the line, use a line feed to -# scroll the window, and go back to window 1. -# is2: the string may cause a warning to be issued by tic that it -# found a very long line and that it suspects that a comma is missing -# somewhere. This warning can be ignored (unless it comes up more than -# once). The initialization string contains the following commands: -# -# [Setup mode items changed from factory defaults:] -# \E)0 set alternate character set to -# graphics -# ^O set character set to default -# [In case it wasn't] -# \E[m turn off all attributes -# [In case they weren't off] -# \E[=107; cursor wrap and -# 207h character wrap on -# \E[90;3u set Fkey definitions to "transmit" -# defaults -# \E[92;3u set cursor key definitions to -# "transmit" defaults -# \E[43;1u set shift F13 to transmit... -# \177\E$P\177 -# \E[44;1u set shift F14 to transmit... -# \177\E$Q\177 -# \E[45;1u set shift F15 to transmit... -# \177\E$R\177 -# \E[46;1u set shift F16 to transmit... -# \177\E$S\177 -# \E[200;1u set shift up to transmit... -# \177\E$A\177 -# \E[201;1u set shift down to transmit... -# \177\E$B\177 -# \E[202;1u set shift right to transmit... -# \177\E$C\177 -# \E[203;1u set shift left to transmit... -# \177\E$D\177 -# \E[204;1u set shift home to transmit... -# \177\E$H\177 -# \E[212;1u set backtab to transmit... -# \177\E$I\177 -# \E[213;1u set shift backspace to transmit... -# \177\E$^H\177 -# \E[214;1u set shift del to transmit... -# "\E$\177" -# [Necessary items not mentioned in setup mode:] -# \E[2!w move to window 2 -# \E[25;25w define window as line 25 of memory -# \E[!w move to window 1 -# \E[2*w show current line of window 2 as -# status line -# \E[2+x set meta key to use high bit -# \E[;3+} move underline to bottom of character -# -# All Fkeys are set to their default transmit definitions with \E[90;3u -# in is2=. IMPORTANT: to use this terminal definition, the "quit" stty -# setting MUST be redefined or deactivated, because the default is -# contained in almost all of this terminal's Fkey strings! If for some -# reason "quit" cannot be altered, the Fkeys can, but it would be -# necessary to change ^| to ^] in all of these definitions, and add -# \E[2;029!t to is2. -# lines: is set to 24 because this terminal refuses to treat the 25th -# line normally. -# ll: Not available in power on mode, but turned on with \E[=107;207h in -# is2=. -# lm: Pointless, given that this definition locks a single screen of -# memory into view, but what the hey... -# rmso: Could use \E[1;7!{ to turn off only bold and reverse (leaving any -# other attributes alone), but some programs expect this to turn off -# everything. -# rmul: Could use \E[4!{ to turn off only underline (leaving any other -# attributes alone), but some programs expect this to turn off -# everything. -# sgr: Attributes are set on this terminal with the string \E[ followed by -# a list of attribute code numbers (in decimal, separated by -# semicolons), followed by the character m. The attribute code -# numbers are: -# 1 for bold; -# 2 for dim (which is ignored in power on mode); -# 4 for underline; -# 5 for blinking; -# 7 for inverse; -# 8 for not displayable; and -# =99 for protected (except that there are strange side -# effects to protected characters which make them inadvisable). -# The mapping of terminfo parameters to attributes is as follows: -# %p1 (standout) = bold and inverse together; -# %p2 (underline) = underline; -# %p3 (reverse) = inverse; -# %p4 (blink) = blinking; -# %p5 (dim) is ignored; -# %p6 (bold) = bold; -# %p7 (invisible) = not displayable; -# %p8 (protected) is ignored; and -# %p9 (alt char set) = alt char set. -# The code to do this is: -# \E[0 OUTPUT \E[0 -# %?%p1%p6%O IF (standout; bold) OR -# %t;1 THEN OUTPUT ;1 -# %; ENDIF -# %?%p2 IF underline -# %t;4 THEN OUTPUT ;4 -# %; ENDIF -# %?%p4 IF blink -# %t;5 THEN OUTPUT ;5 -# %; ENDIF -# %?%p1%p3%O IF (standout; reverse) OR -# %t;7 THEN OUTPUT ;7 -# %; ENDIF -# %?%p7 IF invisible -# %t;8 THEN OUTPUT ;8 -# %; ENDIF -# m OUTPUT m -# %?%p9 IF altcharset -# %t^N THEN OUTPUT ^N -# %e^O ELSE OUTPUT ^O -# %; ENDIF -# sgr0: Everything is turned off (including alternate character set), since -# there is no way of knowing what it is that the program wants turned -# off. -# smul: The "underline" attribute is reconfigurable to an overline or -# strikethru, or (as done with \E[;3+} in is2=), to a line at the true -# bottom of the character cell. This was done to allow for more readable -# underlined characters, and to be able to distinguish between an -# underlined space, an underscore, and an underlined underscore. -# xenl: Terminal can be configured to not need this, but this "glitch" -# behavior is actually preferable with autowrap terminals. -# -# Parameters kf31= thru kf53= actually contain the strings sent by the shifted -# Fkeys. There are no parameters for shifted Fkeys in terminfo. The is2 -# string modifies the 'O' in kf43 to kf46 to a '$'. -# -# kcbt was originally ^I but redefined in is2=. -# kHOM was \E[H originally but redefined in is2=, as were a number of -# other keys. -# kDC was originally \177 but redefined in is2=. -# -# kbs: Shift was also ^H originally but redefined as \E$^H in is2=. -# tsl: Go to window 2, then do an hpa=. -# -#------- flash=\E[8;3!}^G\E[3;3!} -#------- flash=\E[?5h$<100>\E[?5l -# There are two ways to flash the screen, both of which have their drawbacks. -# The first is to set the bell mode to video, transmit a bell character, and -# set the bell mode back - but to what? There is no way of knowing what the -# user's old bell setting was before we messed with it. Worse, the command to -# set the bell mode also sets the key click volume, and there is no way to say -# "leave that alone", or to know what it's set to, either. -# The second way to do a flash is to set the screen to inverse video, pad for a -# tenth of a second, and set it back - but like before, there's no way to know -# that the screen wasn't ALREADY in inverse video, or that the user may prefer -# it that way. The point is moot anyway, since vi (and probably other -# programs) assume that by defining flash=, you want the computer to use it -# INSTEAD of bel=, rather than as a secondary type of signal. -# -#------- cvvis=\E[+{ -# The is the power on setting, which is also as visible as the cursor -# gets. -#------- wind=\E[%i%p1%d;%p2%d;%p3%{1}%+%d;%p4%{1}%+%dw -# Windowing is possible, but not defined here because it is also used to -# emulate status line functions. Allowing a program to set a window could -# clobber the status line or render it unusable. There is additional memory, -# but screen scroll functions are destructive and do not make use of it. -# -#------- dim= Not available in power on mode. -# You have a choice of defining low intensity characters as "half bright" and -# high intensity as "normal", or defining low as "normal" and high as "bold". -# No matter which you choose, only one of either "half bright" or "bold" is -# available at any time, so taking the time to override the default is -# pointless. -# -#------- prot=\E[=0;99m -# Not defined, because it appears to have some strange side effects. -#------- pfkey=%?%p1%{24}%<%p1%{30}%>%p1%{54}%<%A%O%t\E[%p1%du\177%p2%s\177%; -#------- pfloc=%?%p1%{24}%<%p1%{30}%>%p1%{54}%<%A%O%t\E[%p1%du\177%p2%s\177%; -#------- pfx=%?%p1%{24}%<%p1%{30}%>%p1%{54}%<%A%O%t\E[%p1%d;1u\177%p2%s\177%; -# Available, but making them available to programs is inadvisable. -# The code to do this is: -# %?%p1%{24}%< IF ((key; 24) <; -# %p1%{30}%> ((key; 30) >; -# %p1%{54}%< (key; 54) < -# %A ) AND -# %O ) OR -# [that is, "IF key < 24 OR (key > 30 AND key < 54)",] -# %t\E[ THEN OUTPUT \E[ -# %p1%d OUTPUT (key) as decimal -# [next line applies to pfx only] -# ;1 OUTPUT ;1 -# u OUTPUT u -# \177 OUTPUT \177 -# %p2%s OUTPUT (string) as string -# \177 OUTPUT \177 -# [DEL chosen as delimiter, but could be any character] -# [implied: ELSE do nothing] -# %; ENDIF -# -#------- rs2= -# Not defined since anything it might do could be done faster and easier with -# either Meta-Shift-Reset or the main power switch. -# -#------- smkx=\E[1!z -#------- rmkx=\E[!z -# These sequences apply to the cursor and setup keys only, not to the -# numeric keypad. But it doesn't matter anyway, since making these -# available to programs is inadvisable. -# For the key definitions below, all sequences beginning with \E$ are -# custom and programmed into the terminal via is2. \E$ also has no -# meaning to any other terminal. -# -#------- cmdch=\E[;%p1%d!t -# Available, but making it available to programs is inadvisable. -#------- smxon=\E[1*q -# Available, but making it available to programs is inadvisable. -# Terminal will send XON/XOFF on buffer overflow. -#------- rmxon=\E[*q -# Available, but making it available to programs is inadvisable. -# Terminal will not notify on buffer overflow. -#------- smm=\E[2+x -#------- rmm=\E[+x -# Available, but making them available to programs is inadvisable. -# -# Printing: -# It's not made clear in the manuals, but based on other ansi/vt type -# terminals, it's a good guess that this terminal is capable of both -# "transparent print" (which doesn't copy data to the screen, and -# therefore needs mc5i: specified to say so) and "auxilliary print" -# (which does duplicate printed data on the screen, in which case mc4= -# and mc5= should use the \E[?4i and \E[?5i strings instead). - -hds200|Human Designed Systems HDS200, - am, bw, eslok, hs, km, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, lm#0, - acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G, - blink=\E[0;5m, bold=\E[0;1m, cbt=\E[Z, civis=\E[6+{, - clear=\E[H\E[J, cnorm=\E[+{, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - dsl=\E[2!w\r\n\E[!w, ed=\E[J, el=\E[K, el1=\E[1K, - fsl=\E[!w, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, - ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED, - invis=\E[0;8m, - is2=\E)0\017\E[m\E[=107;207h\E[90;3u\E[92;3u\E[43;1u\177\E$P\177\E[44;1u\177\E$Q\177\E[45;1u\177\E$R\177\E[46;1u\177\E$S\177\E[200;1u\177\E$A\177\E[201;1u\177\E$B\177\E[202;1u\177\E$C\177\E[203;1u\177\E$D\177\E[204;1u\177\E$H\177\E[212;1u\177\E$I\177\E[213;1u\177\E$\010\177\E[214;1u"\E$\177"\E[2!w\E[25;25w\E[!w\E[2*w\E[2+x\E[;3+}, - kDC=\E$\177, kHOM=\E$H, kLFT=\E$D, kRIT=\E$C, kbs=^H, - kcbt=\E$I, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\177, kent=^M, kf1=^\001\r, kf10=^\010\r, - kf11=^\011\r, kf12=^\012\r, kf13=\EOP, kf14=\EOQ, - kf15=\EOR, kf16=\EOS, kf17=^\017\r, kf18=^\018\r, - kf19=^\019\r, kf2=^\002\r, kf20=^\020\r, kf21=^\021\r, - kf22=^\022\r, kf23=^\023\r, kf3=^\003\r, kf31=^\031\r, - kf32=^\032\r, kf33=^\033\r, kf34=^\034\r, kf35=^\035\r, - kf36=^\036\r, kf37=^\037\r, kf38=^\038\r, kf39=^\039\r, - kf4=^\004\r, kf40=^\040\r, kf41=^\041\r, kf42=^\042\r, - kf43=\E$P, kf44=\E$Q, kf45=\E$R, kf46=\E$S, kf47=^\047\r, - kf48=^\048\r, kf49=^\049\r, kf5=^\005\r, kf50=^\050\r, - kf51=^\051\r, kf52=^\052\r, kf53=^\053\r, kf6=^\006\r, - kf7=^\007\r, kf8=^\008\r, kf9=^\009\r, khome=\E[H, - kind=\E[T, knp=\E[U, kpp=\E[V, kri=\E[S, ll=\E[H\E[A, - mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=\E[E, rc=\E8, - rev=\E[0;7m, ri=\EM, rmacs=^O, rmir=\E[4l, rmso=\E[m\017, - rmul=\E[m\017, sc=\E7, - sgr=\E[0%?%p1%p6%O%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%O%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smir=\E[4h, smso=\E[0;1;7m, - smul=\E[0;4m, tbc=\E[3g, tsl=\E[2!w\E[%i%p1%dG, - vpa=\E[%i%p1%dd, - -# through included to specify padding needed in raw mode. -# (avt-ns: added empty to suppress a tic warning --esr) -avt-ns|concept avt no status line, - OTbs, am, eo, mir, ul, xenl, xon, - cols#80, it#8, lines#24, lm#192, - acsc=, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, - clear=\E[H\E[J$<38>, cnorm=\E[=119l, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[=119h, dch1=\E[P, dim=\E[1!{, dl=\E[%p1%dM$<4*>, - dl1=\E[M$<4>, ed=\E[J$<96>, el=\E[K$<6>, home=\E[H, - hpa=\E[%p1%{1}%+%dG, ht=\011$<4>, hts=\EH, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL$<4*>, il1=\E[L$<4>, ind=\n$<8>, - invis=\E[8m, ip=$<4>, is1=\E[=103l\E[=205l, - is2=\E[1*q\E[2!t\E[7!t\E[=4;101;119;122l\E[=107;118;207h\E)1\E[1Q\EW\E[!y\E[!z\E>\E[0\:0\:32!r\E[0*w\E[w\E2\r\n\E[2;27!t, - kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E^B\r, ked=\E^D\r, kf1=\EOP, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, khome=\E[H, kich1=\E^A\r, kil1=\E^C\r, ll=\E[24H, - mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, - pfloc=\E[%p1%d;0u#%p2%s#, pfx=\E[%p1%d;1u#%p2%s#, - prot=\E[99m, rc=\E8, rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, - ri=\EM$<4>, rmacs=\016$<1>, rmcup=\E[w\E2\r\n, - rmir=\E[4l, rmkx=\E[!z\E[0;2u, rmso=\E[7!{, rmul=\E[4!{, - sc=\E7, - sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m, - sgr0=\E[m, smacs=\017$<1>, smcup=\E[=4l\E[1;24w\E2\r, - smir=\E[4h, smkx=\E[1!z\E[0;3u, smso=\E[7m, smul=\E[4m, - tbc=\E[2g, vpa=\E[%p1%{1}%+%dd, -avt-rv-ns|concept avt in reverse video mode/no status line, - flash=\E[=205l$<200>\E[=205h, is1=\E[=103l\E[=205h, - use=avt-ns, -avt-w-ns|concept avt in 132 column mode/no status line, - is1=\E[=103h\E[=205l, smcup=\E[H\E[1;24;1;132w, - use=avt-ns, -avt-w-rv-ns|concept avt in 132 column mode/no status line/reverse video, - flash=\E[=205l$<200>\E[=205h, is1=\E[=103h\E[=205h, - smcup=\E[H\E[1;24;1;132w, use=avt-ns, - -# Concept AVT with status line. We get the status line using the -# "Background status line" feature of the terminal. We swipe the -# first line of memory in window 2 for the status line, keeping -# 191 lines of memory and 24 screen lines for regular use. -# The first line is used instead of the last so that this works -# on both 4 and 8 page AVTs. (Note the lm#191 or 192 - this -# assumes an 8 page AVT but lm isn't currently used anywhere.) -# -avt+s|concept avt status line changes, - eslok, hs, - lm#191, - dsl=\E[0*w, fsl=\E[1;1!w, - is3=\E[2w\E[2!w\E[1;1;1;80w\E[H\E[2*w\E[1!w\E2\r\n, - rmcup=\E[2w\E2\r\n, smcup=\E[2;25w\E2\r, - tsl=\E[2;1!w\E[;%p1%dH\E[2K, -avt|avt-s|concept-avt|avt w/80 columns, - use=avt+s, use=avt-ns, -avt-rv|avt-rv-s|avt reverse video w/sl, - flash=\E[=205l$<200>\E[=205h, is1=\E[=103l\E[=205h, - use=avt+s, use=avt-ns, -avt-w|avt-w-s|concept avt 132 cols+status, - is1=\E[=103h\E[=205l, smcup=\E[H\E[1;24;1;132w, - use=avt+s, use=avt-ns, -avt-w-rv|avt-w-rv-s|avt wide+status+rv, - flash=\E[=205l$<200>\E[=205h, is1=\E[=103h\E[=205h, - smcup=\E[H\E[1;24;1;132w, use=avt+s, use=avt-ns, - -#### Contel Business Systems. -# - -# Contel c300 and c320 terminals. -contel300|contel320|c300|Contel Business Systems C-300 or C-320, - am, in, xon, - cols#80, lines#24, xmc#1, - bel=^G, clear=\EK, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA, - dch1=\EO$<5.5*>, dl1=\EM$<5.5*>, ed=\EJ$<5.5*>, - el=\EI$<5.5>, flash=\020\002$<200/>\020\003, home=\EH, - hts=\E1, ich1=\EN, il1=\EL$<5.5*>, ind=^J, ip=$<5.5*>, - kbs=^H, kf0=\ERJ, kf1=\ERA, kf2=\ERB, kf3=\ERC, kf4=\ERD, - kf5=\ERE, kf6=\ERF, kf7=\ERG, kf8=\ERH, kf9=\ERI, ll=\EH\EA, - rmso=\E!\0, sgr0=\E!\0, smso=\E!\r, tbc=\E3, -# Contel c301 and c321 terminals. -contel301|contel321|c301|c321|Contel Business Systems C-301 or C-321, - flash@, ich1@, ip@, rmso=\E!\0$<20>, smso=\E!\r$<20>, - use=contel300, - -#### Data General (dg) -# -# According to James Carlson writing in January 1995, -# the terminals group at Data General was shut down in 1991; all these -# terminals have thus been discontinued. -# -# DG terminals have function keys that respond to the SHIFT and CTRL keys, -# e.g., SHIFT-F1 generates a different code from F1. To number the keys -# sequentially, first the unmodified key codes are listed as F1 through F15. -# Then their SHIFT versions are listed as F16 through F30, their CTRL versions -# are listed as F31 through F45, and their CTRL-SHIFT versions are listed as -# F46 through F60. This is done in the private "includes" below whose names -# start with "dgkeys+". -# -# DG terminals generally support 8 bit characters. For each of these terminals -# two descriptions are supplied: -# 1) A default description for 8 bits/character communications, which -# uses the default DG international character set and keyboard codes. -# 2) A description with suffix "-7b" for 7 bits/character communications. -# This description must use the NON-DEFAULT native keyboard language. - -# Unmodified fkeys (kf1-kf11), Shift fkeys (kf12-kf22), Ctrl fkeys (kf23-kf33), -# Ctrl/Shift fdkeys (kf34-kf44). - -dgkeys+8b|Private entry describing DG terminal 8-bit ANSI mode special keys, - ka1=\233020z, ka3=\233021z, kc1=\233022z, kc3=\233023z, - kclr=\2332J, kcub1=\233D, kcud1=\233B, kcuf1=\233C, - kcuu1=\233A, kel=\233K, kf1=\233001z, kf10=\233010z, - kf11=\233011z, kf12=\233012z, kf13=\233013z, - kf14=\233014z, kf15=\233000z, kf16=\233101z, - kf17=\233102z, kf18=\233103z, kf19=\233104z, - kf2=\233002z, kf20=\233105z, kf21=\233106z, - kf22=\233107z, kf23=\233108z, kf24=\233109z, - kf25=\233110z, kf26=\233111z, kf27=\233112z, - kf28=\233113z, kf29=\233114z, kf3=\233003z, - kf30=\233100z, kf31=\233201z, kf32=\233202z, - kf33=\233203z, kf34=\233204z, kf35=\233205z, - kf36=\233206z, kf37=\233207z, kf38=\233208z, - kf39=\233209z, kf4=\233004z, kf40=\233210z, - kf41=\233211z, kf42=\233212z, kf43=\233213z, - kf44=\233214z, kf45=\233200z, kf46=\233301z, - kf47=\233302z, kf48=\233303z, kf49=\233304z, - kf5=\233005z, kf50=\233305z, kf51=\233306z, - kf52=\233307z, kf53=\233308z, kf54=\233309z, - kf55=\233310z, kf56=\233311z, kf57=\233312z, - kf58=\233313z, kf59=\233314z, kf6=\233006z, - kf60=\233300z, kf7=\233007z, kf8=\233008z, kf9=\233009z, - khome=\233H, kprt=\233i, - -dgkeys+7b|Private entry describing DG terminal 7-bit ANSI mode special keys, - ka1=\E[020z, ka3=\E[021z, kc1=\E[022z, kc3=\E[023z, - kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kel=\E[K, kf1=\E[001z, kf10=\E[010z, kf11=\E[011z, - kf12=\E[012z, kf13=\E[013z, kf14=\E[014z, kf15=\E[000z, - kf16=\E[101z, kf17=\E[102z, kf18=\E[103z, kf19=\E[104z, - kf2=\E[002z, kf20=\E[105z, kf21=\E[106z, kf22=\E[107z, - kf23=\E[108z, kf24=\E[109z, kf25=\E[110z, kf26=\E[111z, - kf27=\E[112z, kf28=\E[113z, kf29=\E[114z, kf3=\E[003z, - kf30=\E[100z, kf31=\E[201z, kf32=\E[202z, kf33=\E[203z, - kf34=\E[204z, kf35=\E[205z, kf36=\E[206z, kf37=\E[207z, - kf38=\E[208z, kf39=\E[209z, kf4=\E[004z, kf40=\E[210z, - kf41=\E[211z, kf42=\E[212z, kf43=\E[213z, kf44=\E[214z, - kf45=\E[200z, kf46=\E[301z, kf47=\E[302z, kf48=\E[303z, - kf49=\E[304z, kf5=\E[005z, kf50=\E[305z, kf51=\E[306z, - kf52=\E[307z, kf53=\E[308z, kf54=\E[309z, kf55=\E[310z, - kf56=\E[311z, kf57=\E[312z, kf58=\E[313z, kf59=\E[314z, - kf6=\E[006z, kf60=\E[300z, kf7=\E[007z, kf8=\E[008z, - kf9=\E[009z, khome=\E[H, kprt=\E[i, - -dgkeys+11|Private entry describing 11 minimal-subset DG mode special keys, - kclr=^L, kcub1=^Y, kcud1=^Z, kcuf1=^X, kcuu1=^W, kel=^K, - kf1=^^q, kf10=^^z, kf11=^^{, kf12=^^a, kf13=^^b, kf14=^^c, - kf15=^^d, kf16=^^e, kf17=^^f, kf18=^^g, kf19=^^h, kf2=^^r, - kf20=^^i, kf21=^^j, kf22=^^k, kf23=^^1, kf24=^^2, kf25=^^3, - kf26=^^4, kf27=^^5, kf28=^^6, kf29=^^7, kf3=^^s, kf30=^^8, - kf31=^^9, kf32=^^\:, kf33=^^;, kf34=^^!, kf35=^^", kf36=^^#, - kf37=^^$, kf38=^^%%, kf39=^^&, kf4=^^t, kf40=^^', kf41=^^(, - kf42=^^), kf43=^^*, kf44=^^+, kf5=^^u, kf6=^^v, kf7=^^w, - kf8=^^x, kf9=^^y, khome=^H, - -dgkeys+15|Private entry describing 15 DG mode special keys, - kHOM=^^^H, kLFT=^^^Y, kRIT=^^^X, ka1=^^\\, ka3=^^], kc1=^^\^, - kc3=^^_, kf1=^^q, kf10=^^z, kf11=^^{, kf12=^^|, kf13=^^}, - kf14=^^~, kf15=^^p, kf16=^^a, kf17=^^b, kf18=^^c, kf19=^^d, - kf2=^^r, kf20=^^e, kf21=^^f, kf22=^^g, kf23=^^h, kf24=^^i, - kf25=^^j, kf26=^^k, kf27=^^l, kf28=^^m, kf29=^^n, kf3=^^s, - kf30=^^`, kf31=^^1, kf32=^^2, kf33=^^3, kf34=^^4, kf35=^^5, - kf36=^^6, kf37=^^7, kf38=^^8, kf39=^^9, kf4=^^t, kf40=^^\:, - kf41=^^;, kf42=^^<, kf43=^^=, kf44=^^>, kf45=^^0, kf46=^^!, - kf47=^^", kf48=^^#, kf49=^^$, kf5=^^u, kf50=^^%%, kf51=^^&, - kf52=^^', kf53=^^(, kf54=^^), kf55=^^*, kf56=^^+, kf57=^^\,, - kf58=^^-, kf59=^^., kf6=^^v, kf60=^^\s, kf7=^^w, kf8=^^x, - kf9=^^y, - -# Data General color terminals use the "Tektronix" color model. The total -# number of colors varies with the terminal model, as does support for -# attributes used in conjunction with color. - -# Removed u7, u8 definitions since they conflict with tack: -# Preserve user-defined colors in at least some cases. -# u7=^^Fh, -# Default is ACM mode. -# u8=^^F}20^^Fi^^F}21, -# -dgunix+fixed|Fixed color info for DG D430C terminals in DG-UNIX mode, - bce, - colors#16, ncv#53, pairs#256, - op=\036Ad\036Bd, - setab=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c, - setaf=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c, - setb=\036B%p1%{48}%+%c, setf=\036A%p1%{48}%+%c, - -dg+fixed|Fixed color info for DG D430C terminals in DG mode, - use=dgunix+fixed, - -# Video attributes are coordinated using static variables set by "sgr", then -# checked by "op", "seta[bf]", and "set[bf]" to refresh the attribute settings. -# (D=dim, U=underline, B=blink, R=reverse.) -dg+color8|Color info for Data General D220 and D230C terminals in ANSI mode, - bce, - colors#8, ncv#16, pairs#64, - op=\E[%?%gD%t2;%;%?%gU%t4;%;%?%gB%t5;%;%?%gR%t7;%;m, - setab=\E[4%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m, - setaf=\E[3%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m, - setb=\E[4%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m, - setf=\E[3%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m, - -dg+color|Color info for Data General D470C terminals in ANSI mode, - colors#16, ncv#53, pairs#256, - setab=\E[%?%p1%{8}%<%t4%p1%e=%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m, - setaf=\E[%?%p1%{8}%<%t3%p1%e<%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m, - setb=\E[%?%p1%{8}%<%t4%e=%;%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m, - setf=\E[%?%p1%{8}%<%t3%e<%;%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m, - use=dg+color8, - -dgmode+color8|Color info for Data General D220/D230C terminals in DG mode, - bce, - colors#8, ncv#16, pairs#64, - op=\036Ad\036Bd, - setab=\036B%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%{48}%+%c, - setaf=\036A%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%{48}%+%c, - setb=\036B%p1%{48}%+%c, setf=\036A%p1%{48}%+%c, - -dgmode+color|Color info for Data General D470C terminals in DG mode, - colors#16, pairs#256, - setab=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c, - setaf=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;%;%{48}%+%c, - use=dgmode+color8, - -dgunix+ccc|Configurable color info for DG D430C terminals in DG-UNIX mode, - bce, ccc, - colors#52, ncv#53, pairs#26, - initp=\036RG0%p1%02X%p2%{256}%*%{1001}%/%02X%p3%{256}%*%{1001}%/%02X%p4%{256}%*%{1001}%/%02X%p5%{256}%*%{1001}%/%02X%p6%{256}%*%{1001}%/%02X%p7%{256}%*%{1001}%/%02X, - oc=\036RG01A00FF00000000\036RG01B00000000FF00\036RG01C007F00000000\036RG01D000000007F00, - op=\036RF4831A\036RF2E31B\036RF1D31C\036RF3F31D, - scp=\036RG2%p1%02X, - -# Colors are in the order: normal, reverse, dim, dim + reverse. -dg+ccc|Configurable color info for DG D430C terminals in DG mode, - bce, ccc, - colors#52, ncv#53, pairs#26, - initp=\036RG0%p1%{16}%/%{48}%+%c%p1%{16}%m%{48}%+%c%p2%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p3%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p4%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p5%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p6%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p7%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c, - oc=\036RG01\:00??00000000\036RG01;00000000??00\036RG01<007?00000000\036RG01=000000007?00, - op=\036RF4831\:\036RF2>31;\036RF1=31<\036RF3?31=, - scp=\036RG2%p1%{16}%/%{48}%+%c%p1%{16}%m%{48}%+%c, - -# The generic DG terminal type (an 8-bit-clean subset of the 6053) -# Initialization string 1 sets: -# ^R - vertical scrolling enabled -# ^C - blinking enabled -dg-generic|Generic Data General terminal in DG mode, - am, bw, msgr, xon, - cols#80, lines#24, - bel=^G, blink=^N, clear=^L, cr=^M, cub1=^Y, cud1=^Z, cuf1=^X, - cup=\020%p2%c%p1%c, cuu1=^W, dim=^\, el=^K, ind=^J, is1=^R^C, - mc0=^Q, nel=^J, rmso=^], rmul=^U, sgr0=^O^U^], smso=^\, - smul=^T, use=dgkeys+11, - -# According to the 4.4BSD termcap file, the dg200 should be the -# termcap equivalent of \020%p2%{128}%+%c%p1%{128}%+%c (in termcap -# notation that's "^P%r%+\200%+\200"). Those \200s are suspicious, -# maybe they were originally nuls (which would fit). - -dg200|data general dasher 200, - OTbs, am, bw, - cols#80, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^Y, cud1=^Z, cuf1=^X, - cup=\020%p2%c%p1%c, cuu1=^W, el=^K, home=^H, ind=^J, - kcub1=^Y, kcud1=^Z, kcuf1=^X, kcuu1=^W, kf0=^^z, kf1=^^q, - kf2=^^r, kf3=^^s, kf4=^^t, kf5=^^u, kf6=^^v, kf7=^^w, kf8=^^x, - kf9=^^y, khome=^H, lf0=f10, nel=^J, rmso=^^E, rmul=^U, - smso=^^D, smul=^T, - -# Data General 210/211 (and 410?) from Lee Pearson (umich!lp) via BRL -dg210|dg-ansi|Data General 210/211, - am, - cols#80, lines#24, - OTnl=\E[B, clear=\E[2J, cud1=\E[B, cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, ed=\E[J, el=\E[K, home=\E[H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, - nel=\r\E[H\E[A\n, rmso=\E[0;m, rmul=\E[0;m, smso=\E[7;m, - smul=\E[4;m, -# From: Peter N. Wan -# courtesy of Carlos Rucalde of Vantage Software, Inc. -# (dg211: this had ., which was an ancient termcap hangover. -# I suspect the d200 function keys actually work on the dg211, check it out.) -dg211|Data General d211, - cnorm=^L, cvvis=^L^R, ht=^I, ind@, kbs=^Y, kf0@, kf1@, kf2@, kf3@, - kf4@, kf5@, kf6@, kf7@, kf8@, kf9@, lf0@, nel=^M^Z, rmcup=^L, - rmso=\036E$<\0/>, smcup=^L^R, smso=\036D$<5/>, use=dg200, - -# dg450 from Cornell (not official) -dg450|dg6134|data general 6134, - cub1@, cuf1=^X, use=dg200, - -# Not official... -# Note: lesser Dasher terminals will not work with vi because vi insists upon -# having a command to move straight down from any position on the bottom line -# and scroll the screen up, or a direct vertical scroll command. The 460 and -# above have both, the D210/211, for instance, has neither. We must use ANSI -# mode rather than DG mode because standard UNIX tty drivers assume that ^H is -# backspace on all terminals. This is not so in DG mode. -# (dg460-ansi: removed obsolete ":kn#6:"; also removed ":mu=\EW:", on the -# grounds that there is no matching ":ml:" -# fixed garbled ":k9=\E[00\:z:" capability -- esr) -dg460-ansi|Data General Dasher 460 in ANSI-mode, - OTbs, am, msgr, ul, - cols#80, it#8, lines#24, - OTnl=\ED, blink=\E[5m, clear=\E[2J, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, dch1=\E[P, - dim=\E[2m, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, - ich1=\E[@, il1=\E[L, ind=\E[S, is2=^^F@, kbs=\E[D, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf0=\E[001z, kf1=\E[002z, kf2=\E[003z, kf3=\E[004z, - kf4=\E[005z, kf5=\E[006z, kf6=\E[007z, kf7=\E[008z, - kf8=\E[009z, kf9=\E[010z, khome=\E[H, lf0=f1, lf1=f2, lf2=f3, - lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf9=f10, rev=\E[7m, - ri=\E[T, rmso=\E[m, rmul=\E[05, sgr0=\E[m, smso=\E[7m, - smul=\E[4m, -# From: Wayne Throop (not official) -# Data General 605x -# Ought to work for a Model 6242, Type D210 as well as a 605x. -# Note that the cursor-down key transmits ^Z. Job control users, beware! -# This also matches a posted description of something called a `Dasher 100' -# so there's a dg100 alias here. -# (dg6053: the 4.4BSD file had , , . -- esr) -dg6053-old|dg100|data general 6053, - OTbs, am, bw, ul, - cols#80, lines#24, - OTbc=^Y, bel=^G, clear=^L, cnorm=^L, cr=^M, cub1=^Y, cud1=^Z, - cuf1=^X, cup=\020%p2%c%p1%c, cuu1=^W, cvvis=^L^R, el=^K, - home=^H, ht=^I, is2=^R, kbs=^Y, kcub1=^Y, kcud1=^Z, kcuf1=^X, - kcuu1=^W, kf0=^^q, kf1=^^r, kf2=^^s, kf3=^^t, kf4=^^u, kf5=^^v, - kf6=^^w, kf7=^^x, kf8=^^y, kf9=^^z, khome=^H, rmcup=^L, - rmso=\0^^E, rmul=^U, smcup=^L^R, smso=\0\0\0\0\0\036D, - smul=^T, - -# (Some performance can be gained over the generic DG terminal type) -dg6053|6053|6053-dg|dg605x|605x|605x-dg|d2|d2-dg|Data General DASHER 6053, - xon@, - home=^P\0\0, ll=^P\0^W, use=dg-generic, - -# Like 6053, but adds reverse video and more keypad and function keys. -d200|d200-dg|Data General DASHER D200, - bold=^^D^T, home@, ll@, rev=^^D, rmso=^^E^], - sgr=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;, - sgr0=\017\025\035\036E, smso=^^D^\, use=dgkeys+15, - use=dg6053, - -# DASHER D210 series terminals in ANSI mode. -# Reverse video, no insert/delete character/line, 7 bits/character only. -# -# Initialization string 1 sets: -# <0 - scrolling enabled -# <1 - blink enabled -# <4 - print characters regardless of attributes -d210|d214|Data General DASHER D210 series, - am, bw, msgr, xon, - cols#80, lines#24, - bel=^G, blink=\E[5m, bold=\E[4;7m, clear=\E[2J, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dim=\E[2m, ed=\E[J, el=\E[K, - el1=\E[1K, home=\E[H, ind=^J, is1=\E[<0;<1;<4l, - ll=\E[H\E[A, nel=^J, rev=\E[7m, rmso=\E[m, rmul=\E[m, - sgr=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m, - sgr0=\E[m, smso=\E[2;7m, smul=\E[4m, use=dgkeys+7b, - -# DASHER D210 series terminals in DG mode. -# Like D200, but adds clear to end-of-screen and needs XON/XOFF. -d210-dg|d214-dg|Data General DASHER D210 series in DG mode, - xon, - ed=^^FF, use=d200-dg, - -# DASHER D211 series terminals in ANSI mode. -# Like the D210, but with 8-bit characters and local printer support. -# -# Initialization string 2 sets: -# \E[2;1;1;1v -# 2;1 - 8 bit operations -# 1;1 - 8 bit (international) keyboard language -# \E(B - default primary character set (U.S. ASCII) -# \E)4 - default secondary character set (international) -# ^O - primary character set -# -d211|d215|Data General DASHER D211 series, - km, - is2=\E[2;1;1;1v\E(B\E)4\017, mc0=\E[i, use=dgkeys+8b, - use=d210, - -# Initialization string 2 sets: -# \E[2;0;1;0v -# 2;0 - 7 bit operations -# 1;0 - 7 bit (native) keyboard language -# \E(0 - default character set (the keyboard native language) -# ^O - primary character set -d211-7b|d215-7b|Data General DASHER D211 series in 7 bit mode, - km@, - is2=\E[2;0;1;0v\E(0\017, use=dgkeys+7b, use=d211, - -# Like the D210 series, but adds support for 8-bit characters. -# -# Reset string 2 sets: -# ^^N - secondary character set -# ^^FS0> - 8 bit international character set -# ^^O - primary character set -# ^^FS00 - default character set (matching the native keyboard language) -# -d211-dg|d215-dg|Data General DASHER D211 series in DG mode, - km, - rs2=\036N\036FS0>\036O\036FS00, use=d210-dg, - -d216-dg|d216e-dg|d216+dg|d216e+dg|d217-dg|Data General DASHER D216 series in DG mode, - use=d211-dg, - -# Enhanced DG mode with changes to be more UNIX compatible. -d216-unix|d216e-unix|d216+|d216e+|Data General DASHER D216+ in DG-UNIX mode, - mc5i, - it#8, - acsc=a\177j$k"l!m#n)q+t'u&v(w%x*, blink=^^PI, - clear=^^PH, cub1=^^PD, cud1=^^PB, cuf1=^^PC, cuu1=^^PA, - el=^^PE, home=^^PF, hpa=\020%p1%c\177, ht=^I, ind=^J, - is1=\022\003\036P@1, is3=\036Fz0, kHOM=^^Pf, kLFT=^^Pd, - kPRT=^^P1, kRIT=^^Pc, kclr=^^PH, kcub1=^^PD, kcud1=^^PB, - kcuf1=^^PC, kcuu1=^^PA, kel=^^PE, khome=^^PF, kprt=^^P0, - mc0=\036F?9, mc4=^^Fa, mc5=^^F`, rmacs=\036FS00, - rs2=\036N\036FS0E\036O\036FS00, - sgr=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;\036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;, - sgr0=\036PJ\025\035\036E\036FS00, smacs=\036FS11, - vpa=\020\177%p1%c, use=dgkeys+15, use=d216-dg, -d216-unix-25|d216+25|Data General DASHER D216+ in DG-UNIX mode with 25 lines, - lines#25, - is3=\036Fz2, use=d216+, - -d217-unix|Data General DASHER D217 in DG-UNIX mode, - use=d216-unix, -d217-unix-25|Data General DASHER D217 in DG-UNIX mode with 25 lines, - use=d216-unix-25, - -# DASHER D220 color terminal in ANSI mode. -# Like the D470C but with fewer colors and screen editing features. -# -# Initialization string 1 sets: -# \E[<0;<1;<4l -# <0 - scrolling enabled -# <1 - blink enabled -# <4 - print characters regardless of attributes -# \E[m - all attributes off -# Reset string 1 sets: -# \Ec - initial mode defaults (RIS) -# -d220|Data General DASHER D220, - mc5i@, - dl@, dl1@, il@, il1@, is1=\E[<0;<1;<4l\E[m, mc4@, mc5@, rs1=\Ec, - use=dg+color8, use=d470c, - -d220-7b|Data General DASHER D220 in 7 bit mode, - mc5i@, - dl@, dl1@, il@, il1@, is1=\E[<0;<1;<4l\E[m, mc4@, mc5@, rs1=\Ec, - use=dg+color8, use=d470c-7b, - -# Initialization string 3 sets: -# - default cursor (solid rectangle) -# Reset string 2 sets: -# ^^N - secondary character set -# ^^FS0> - 8 bit international character set -# ^^O - primary character set -# ^^FS00 - default character set (matching the native keyboard language) -# -d220-dg|Data General DASHER D220 color terminal in DG mode, - mc5i@, - dl1@, home@, il1@, is2@, is3=\036FQ2, ll@, mc4@, mc5@, rs1@, - rs2=\036N\036FS0>\036O\036FS00, use=dgmode+color8, - use=d470c-dg, - -# DASHER D230C color terminal in ANSI mode. -# Like the D220 but with minor ANSI compatibility improvements. -# -d230c|d230|Data General DASHER D230C, - blink=\E[5;50m, bold=\E[4;7;50m, dim=\E[2;50m, nel=^M^J, - rev=\E[7;50m, rmkx=\E[2;1v, rmso=\E[50m, rmul=\E[50m, - sgr=\E[50%?%p1%p3%|%p6%|%t;7%{1}%e%{0}%;%PR%?%p4%t;5%{1}%e%{0}%;%PB%?%p2%p6%|%t;4%{1}%e%{0}%;%PU%?%p1%p5%|%t;2%{1}%e%{0}%;%PDm\E)%?%p9%t6\016%e4\017%;, - sgr0=\E[50m\E)4\017, smkx=\E[2;0v, smso=\E[2;7;50m, - smul=\E[4;50m, use=dgkeys+7b, use=d220, - -d230c-dg|d230-dg|Data General DASHER D230C in DG mode, - use=d220-dg, - -# DASHER D400/D450 series terminals. -# These add intelligent features like insert/delete to the D200 series. -# -# Initialization string 2 sets: -# ^^FQ2 - default cursor (solid rectangle) -# ^^FW - character protection disabled -# ^^FJ - normal (80 column) mode -# ^^F\^ - horizontal scrolling enabled (for alignment) -# ^^FX004? - margins at columns 0 and 79 -# ^^F] - horizontal scrolling disabled -# ^^O - primary character set -# ^^FS00 - default character set (the keyboard native language) -# - (should reset scrolling regions, but that glitches the screen) -# Reset string 1 sets: -# ^^FA - all terminal defaults except scroll rate -# Reset string 2 sets: -# ^^F] - horizontal scrolling disabled -# ^^FT0 - jump scrolling -# -d400|d400-dg|d450|d450-dg|Data General DASHER D400/D450 series, - mc5i, - acsc=j$k"l!m#n)q+t'u&v(w%x*, civis=\036FQ0, - cnorm=\036FQ2, dch1=^^K, dl1=^^FI, - enacs=\036N\036FS11\036O, home=^^FG, hpa=\020%p1%c\177, - ich1=^^J, il1=^^FH, - is2=\036FQ2\036FW\036FJ\036F\^\036FX004?\036F]\036O\036FS00, - ll=\036FG\027, mc4=^^Fa, mc5=^^F`, ri=^^I, rmacs=^^O, - rs1=^^FA, rs2=\036F]\036FT0, - sgr=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036%?%p9%tN%eO%;, - sgr0=\017\025\035\036E\036O, smacs=^^N, - vpa=\020\177%p1%c, use=d210-dg, - -# DASHER D410/D460 series terminals in ANSI mode. -# These add a large number of intelligent terminal features. -# -# Initialization string 1 sets: -# \E[<0;<1;<2;<4l -# <0 - scrolling enabled -# <1 - blink enabled -# <2 - horizontal scrolling enabled (for alignment) -# <4 - print characters regardless of attributes -# \E[5;0v - normal (80 column) mode -# \E[1;1;80w - margins at columns 1 and 80 -# \E[1;6;<2h -# 1 - print all characters even if protected -# 6 - character protection disabled -# <2 - horizontal scrolling disabled -# - (should reset scrolling regions, but that glitches the screen) -# -# Initialization string 2 sets: -# \E[3;2;2;1;1;1v -# 3;2 - default cursor (solid rectangle) -# 2;1 - 8 bit operations -# 1;1 - international keyboard language -# \E(B - default primary character set (U.S. ASCII) -# \E)4 - default secondary character set (international) -# ^O - primary character set -# -# Reset string 1 sets: -# \Ec - initial mode defaults (RIS) -# \E[<2h - horizontal scrolling disabled -# -# Reset string 2 sets: -# \E[4;0;2;1;1;1v -# 4;0 - jump scrolling -# 2;1 - 8 bit operations -# 1;1 - 8 bit (international) keyboard language -# \E(B - default primary character set (U.S. ASCII) -# \E)4 - default secondary character set (international) -# -d410|d411|d460|d461|Data General DASHER D410/D460 series, - mc5i, - acsc=j$k"l!m#n)q+t'u&v(w%x*, civis=\E[3;0v, - cnorm=\E[3;2v, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, - is1=\E[<0;<1;<2;<4l\E[5;0v\E[1;1;80w\E[1;6;<2h, - is2=\E[3;2;2;1;1;1v\E(B\E)4\017, mc4=\E[4i, mc5=\E[5i, - ri=\EM, rmacs=\E)4\017, rs1=\Ec\E[<2h, - rs2=\E[4;0;2;1;1;1v\E(B\E)4, - sgr=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m\E)%?%p9%t6\016%e4\017%;, - sgr0=\E[m\E)4\017, smacs=\E)6\016, use=d211, - -# Initialization string 2 sets: -# \E[3;2;2;0;1;0v -# 3;2 - default cursor (solid rectangle) -# 2;0 - 7 bit operations -# 1;0 - 7 bit (native) keyboard language -# \E(0 - default character set (the keyboard native language) -# ^O - primary character set -# -# Reset string 2 sets: -# \E[4;0;2;0;1;0v -# 4;0 - jump scrolling -# 2;0 - 7 bit operations -# 1;0 - 7 bit (native) keyboard language -# \E(0 - default character set (the keyboard native language) -# -d410-7b|d411-7b|d460-7b|d461-7b|Data General DASHER D410/D460 series in 7 bit mode, - km@, - enacs=\E)6, is2=\E[3;2;2;0;1;0v\E(0\017, rmacs=^O, - rs2=\E[4;0;2;0;1;0v\E(0, - sgr=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, use=dgkeys+7b, use=d410, - -d410-dg|d460-dg|d411-dg|d461-dg|Data General DASHER D410/D460 series in DG mode, - km, - enacs@, rmacs=\036FS00, - sgr=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4%t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e00%;, - sgr0=\017\025\035\036E\036FS00, smacs=\036FS11, - use=d400-dg, - -# DASHER D410/D460 series terminals in wide (126 columns) ANSI mode. -# -# Initialization string 1 sets: -# \E[<0;<1;<2;<4l -# <0 - scrolling enabled -# <1 - blink enabled -# <2 - horizontal scrolling enabled (for alignment) -# <4 - print characters regardless of attributes -# \E[5;1v - compressed (135 column) mode -# \E[1;1;126 - margins at columns 1 and 126 -# \E[1;6;<2h -# 1 - print all characters even if protected -# 6 - character protection disabled -# <2 - horizontal scrolling disabled -# - (should reset scrolling regions, but that glitches the screen) -# -# Reset string 1 sets: -# \Ec - initial mode defaults (RIS) -# \E[5;1v - compressed (135 column) mode -# \E[1;1;126w - margins at columns 1 and 126 -# \E[<2h - horizontal scrolling disabled -# -d410-w|d411-w|d460-w|d461-w|Data General DASHER D410/D460 series in wide mode, - cols#126, - is1=\E[<0;<1;<2;<4l\E[5;1v\E[1;1;126w\E[1;6;<2h, - rs1=\Ec\E[5;1v\E[1;1;126w\E[<2h, use=d410, - -d410-7b-w|d411-7b-w|d460-7b-w|d461-7b-w|Data General DASHER D410/D460 series in wide 7 bit mode, - cols#126, - is1=\E[<0;<1;<2;<4l\E[5;1v\E[1;1;126w\E[1;6;<2h, - rs1=\Ec\E[5;1v\E[1;1;126w\E[<2h, use=d410-7b, - -d412-dg|d462-dg|d462e-dg|d412+dg|d462+dg|d413-dg|d463-dg|Data General DASHER D412/D462 series in DG mode, - use=d410-dg, - -# These add intelligent features like scrolling regions. -d412-unix|d462-unix|d412+|d462+|Data General DASHER D412+/D462+ series in Unix mode, - civis=\036FQ0, clear=^^FE, cnorm=\036FQ5, - cup=\036FP%p2%2.2X%p1%2.2X, dch1=^^K, dl1=^^FI, - home=^^FG, hpa=\036FP%p1%2.2XFF, ich1=^^J, il1=^^FH, - is2=\036FQ5\036FW\036FJ\036F\^\036FX004F\036O\036FS00, - ll=\036FG\036PA, mc0=^A, rc=\036F}11, ri=^^I, - rs1=\036FA\036FT0, rs2=\036P@1, sc=\036F}10, - vpa=\036FPFF%p1%2.2X, - wind=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X, - use=d216+, -d412-unix-w|d462-unix-w|d412+w|d462+w|Data General DASHER D412+/D462+ series in wide Unix mode, - cols#132, - is2=\036FQ5\036FW\036FK\036F\^\036FX0083\036O\036FS00, - rs2=\036P@1\036FK\036FX0083, - wind=\036FB%?%p1%t%p1%2.2X1%;%p2%p1%-%{1}%+%2.2X1%?%{23}%p2%>%t001%;\036FX%p3%2.2X%p4%2.2X, - use=d412-unix, -d412-unix-25|d462-unix-25|d412+25|d462+25|Data General DASHER D412+/D462+ series in Unix mode with 25 lines, - lines#25, - is3=\036Fz2, - wind=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{24}%p2%>%t000%;\036FX%p3%2.2X%p4%2.2X, - use=d462+, -d412-unix-s|d462-unix-s|d412+s|d462+s|Data General DASHER D412+/D462+ in Unix mode with status line, - eslok, hs, - clear=\036FG\036PH, fsl=\036F}01\022, - is3=\036Fz2\036F}00\036FB180000\036F}01, ll@, - tsl=\036F}00\036FP%p1%2.2X18\036PG, - wind=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t%{23}%p2%-%2.2X0%;000\036FX%p3%2.2X%p4%2.2X, - use=d462+, - -# Relative cursor motions are confined to the current window, -# which is not what the scrolling region specification expects. -# Thus, relative vertical cursor positioning must be deleted. -d412-unix-sr|d462-unix-sr|d412+sr|d462+sr|Data General DASHER D412+/D462+ in Unix mode with scrolling region, - csr=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>%t000%;, - cud1@, cuu1@, ll@, use=d462+, - -d413-unix|d463-unix|Data General DASHER D413/D463 series in DG-UNIX mode, - use=d412-unix, -d413-unix-w|d463-unix-w|Data General DASHER D413/D463 series in wide DG-UNIX mode, - use=d412-unix-w, -d413-unix-25|d463-unix-25|Data General DASHER D413/D463 series in DG-UNIX mode with 25 lines, - use=d412-unix-25, -d413-unix-s|d463-unix-s|Data General DASHER D413/D463 in DG-UNIX mode with status line, - use=d412-unix-s, -d413-unix-sr|d463-unix-sr|Data General DASHER D413/D463 in DG-UNIX mode with scrolling region, - use=d412-unix-sr, - -d414-unix|d464-unix|Data General D414/D464 in DG-UNIX mode, - use=d413-unix, -d414-unix-w|d464-unix-w|Data General D414/D464 in wide DG-UNIX mode, - use=d413-unix-w, -d414-unix-25|d464-unix-25|Data General D414/D464 in DG-UNIX mode with 25 lines, - use=d413-unix-25, -d414-unix-s|d464-unix-s|Data General D414/D464 in DG-UNIX mode with status line, - use=d413-unix-s, -d414-unix-sr|d464-unix-sr|Data General D414/D464 in DG-UNIX mode with scrolling region, - use=d413-unix-sr, - -d430c-dg|d430-dg|Data General D430C in DG mode, - use=d413-dg, use=dg+fixed, -d430c-dg-ccc|d430-dg-ccc|Data General D430C in DG mode with configurable colors, - use=d413-dg, use=dg+ccc, - -d430c-unix|d430-unix|Data General D430C in DG-UNIX mode, - use=d413-unix, use=dgunix+fixed, -d430c-unix-w|d430-unix-w|Data General D430C in wide DG-UNIX mode, - use=d413-unix-w, use=dgunix+fixed, -d430c-unix-25|d430-unix-25|Data General D430C in DG-UNIX mode with 25 lines, - use=d413-unix-25, use=dgunix+fixed, -d430c-unix-s|d430-unix-s|Data General D430C in DG-UNIX mode with status line, - use=d413-unix-s, use=dgunix+fixed, -d430c-unix-sr|d430-unix-sr|Data General D430C in DG-UNIX mode with scrolling region, - use=d413-unix-sr, use=dgunix+fixed, -d430c-unix-ccc|d430-unix-ccc|Data General D430C in DG-UNIX mode with configurable colors, - use=d413-unix, use=dgunix+ccc, -d430c-unix-w-ccc|d430-unix-w-ccc|Data General D430C in wide DG-UNIX mode with configurable colors, - use=d413-unix-w, use=dgunix+ccc, -d430c-unix-25-ccc|d430-unix-25-ccc|Data General D430C in DG-UNIX mode with 25 lines and configurable colors, - use=d413-unix-25, use=dgunix+ccc, -d430c-unix-s-ccc|d430-unix-s-ccc|Data General D430C in DG-UNIX mode with status line and configurable colors, - use=d413-unix-s, use=dgunix+ccc, -d430c-unix-sr-ccc|d430-unix-sr-ccc|Data General D430C in DG-UNIX mode with scrolling region and configurable colors, - use=d413-unix-sr, use=dgunix+ccc, - -# DASHER D470C color terminal in ANSI mode. -# Like the D460 but with 16 colors and without a compressed mode. -# -# Initialization string 1 sets: -# \E[<0;<1;<2;<4l -# <0 - scrolling enabled -# <1 - blink enabled -# <2 - horizontal scrolling enabled (for alignment) -# <4 - print characters regardless of attributes -# \E[1;1;80w - margins at columns 1 and 80 -# \E[1;6;<2h -# 1 - print all characters even if protected -# 6 - character protection disabled -# <2 - horizontal scrolling disabled -# - (should reset scrolling regions, but that glitches the screen) -# -d470c|d470|Data General DASHER D470C, - is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h, - sgr=\E[%?%p1%p3%|%p6%|%t7;%{1}%e%{0}%;%PR%?%p4%t5;%{1}%e%{0}%;%PB%?%p2%p6%|%t4;%{1}%e%{0}%;%PU%?%p1%p5%|%t2;%{1}%e%{0}%;%PDm\E)%?%p9%t6\016%e4\017%;, - use=dg+color, use=d460, - -d470c-7b|d470-7b|Data General DASHER D470C in 7 bit mode, - is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h, - sgr=\E[%?%p1%p3%|%p6%|%t7;%{1}%e%{0}%;%PR%?%p4%t5;%{1}%e%{0}%;%PB%?%p2%p6%|%t4;%{1}%e%{0}%;%PU%?%p1%p5%|%t2;%{1}%e%{0}%;%PDm%?%p9%t\016%e\017%;, - use=dg+color, use=d460-7b, - -# Initialization string 2 sets: -# ^^FQ2 - default cursor (solid rectangle) -# ^^FW - character protection disabled -# ^^F\^ - horizontal scrolling enabled (for alignment) -# ^^FX004? - margins at columns 0 and 79 -# ^^F] - horizontal scrolling disabled -# ^^O - primary character set -# ^^FS00 - default character set (the keyboard native language) -# - (should reset scrolling regions, but that glitches the screen) -# -d470c-dg|d470-dg|Data General DASHER D470C in DG mode, - is2=\036FQ2\036FW\036F\^\036FX004?\036F]\036O\036FS00, - use=dgmode+color, use=d460-dg, - -# DASHER D555 terminal in ANSI mode. -# Like a D411, but has an integrated phone. -d555|Data General DASHER D555, - use=d411, -d555-7b|Data General DASHER D555 in 7-bit mode, - use=d411-7b, -d555-w|Data General DASHER D555 in wide mode, - use=d411-w, -d555-7b-w|Data General DASHER D555 in wide 7-bit mode, - use=d411-7b-w, -d555-dg|Data General DASHER D555 series in DG mode, - use=d411-dg, - -# DASHER D577 terminal in ANSI mode. -# Like a D411, but acts as a keyboard for serial printers ("KSR" modes). -d577|Data General DASHER D577, - use=d411, -d577-7b|Data General DASHER D577 in 7-bit mode, - use=d411-7b, -d577-w|Data General DASHER D577 in wide mode, - use=d411-w, -d577-7b-w|Data General DASHER D577 in wide 7-bit mode, - use=d411-7b-w, - -d577-dg|d578-dg|Data General DASHER D577/D578 series in DG mode, - use=d411-dg, - -# DASHER D578 terminal. -# Like a D577, but without compressed mode; like a D470C in this respect. -# -# Initialization string 1 sets: -# \E[<0;<1;<2;<4l -# <0 - scrolling enabled -# <1 - blink enabled -# <2 - horizontal scrolling enabled (for alignment) -# <4 - print characters regardless of attributes -# \E[1;1;80w - margins at columns 1 and 80 -# \E[1;6;<2h -# 1 - print all characters even if protected -# 6 - character protection disabled -# <2 - horizontal scrolling disabled -# - (should reset scrolling regions, but that glitches the screen) -# -d578|Data General DASHER D578, - is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h, use=d577, -d578-7b|Data General DASHER D578 in 7-bit mode, - is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h, use=d577-7b, - -#### Datamedia (dm) -# -# Datamedia was headquartered in Nashua, New Hampshire until it went -# out of business in 1993, but the ID plates on the terminals referred -# to the factory in Pennsauken, NJ. The factory was sold to a PCB board -# manufacturer which threw out all information about the terminals. -# - -cs10|colorscan|Datamedia Color Scan 10, - msgr, - cols#80, lines#24, - bel=^G, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%02d;%p2%02dH, cuu1=\E[A, ed=\E[J, el=\E[K, - ind=^J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smso=\E[7m, smul=\E[4m, -cs10-w|Datamedia Color Scan 10 with 132 columns, - cols#132, - cup=\E[%i%p1%02d;%p2%03dH, use=cs10, - -# (dm1520: removed obsolete ":ma=^\ ^_^P^YH:" -- esr) -dm1520|dm1521|datamedia 1520, - OTbs, am, xenl, - cols#80, it#8, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^\, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^], - home=^Y, ht=^I, ind=^J, kcub1=^H, kcud1=^J, kcuf1=^\, kcuu1=^_, - khome=^Y, -# dm2500: this terminal has both and . Applications using -# termcap/terminfo directly (rather than through ncurses) might be confused. -dm2500|datamedia2500|datamedia 2500, - OTbs, OTnc, - cols#80, lines#24, - bel=^G, clear=^^^^\177, cub1=^H, cud1=^J, cuf1=^\, - cup=\014%p2%{96}%^%c%p1%{96}%^%c, cuu1=^Z, - dch1=\020\010\030\035$<10*>, - dl1=\020\032\030\035$<10*>, el=^W, home=^B, - ich1=\020\034\030\035$<10*>, - il1=\020\n\030\035\030\035$<15>, ind=^J, pad=\377, - rmdc=^X^], rmir=\377\377\030\035$<10>, rmso=^X^], - smdc=^P, smir=^P, smso=^N, -# dmchat is like DM2500, but DOES need "all that padding" (jcm 1/31/82) -# also, has a meta-key. -# From: -# (dmchat: ":MT:" changed to ":km:" -- esr) -dmchat|dmchat version of datamedia 2500, - km, - dl1=\020\032\030\035$<2/>, - il1=\020\n\030\035\030\035$<1*/>, use=dm2500, -# (dm3025: ":MT:" changed to ":km:" -- esr) -dm3025|datamedia 3025a, - OTbs, km, - cols#80, it#8, lines#24, - bel=^G, clear=\EM$<2>, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA, - dch1=\010$<6>, dl1=\EP\EA\EQ$<130>, ed=\EJ$<2>, el=\EK, - home=\EH, ht=^I, il1=\EP\n\EQ$<130>, ind=^J, ip=$<6>, - is2=\EQ\EU\EV, rmdc=\EQ, rmir=\EQ, rmso=\EO0, smdc=\EP, - smir=\EP, smso=\EO1, -dm3045|datamedia 3045a, - OTbs, am, eo, km@, ul, xenl, - dch1=\EB$<6>, dl1@, il1@, is2=\EU\EV, kcuf1=\EC, kcuu1=\EA, - kf0=\Ey\r, kf1=\Ep\r, kf2=\Eq\r, kf3=\Er\r, kf4=\Es\r, - kf5=\Et\r, kf6=\Eu\r, kf7=\Ev\r, kf8=\Ew\r, kf9=\Ex\r, - khome=\EH, pad=\177, rmdc@, rmir=\EP, rmso@, smdc@, smso@, - use=dm3025, -# Datamedia DT80 soft switches: -# 1 0=Jump 1=Smooth -# Autorepeat 0=off 1=on -# Screen 0=Dark 1=light -# Cursor 0=u/l 1=block -# -# 2 Margin Bell 0=off 1=on -# Keyclick 0=off 1=on -# Ansi/VT52 0=VT52 1=Ansi -# Xon/Xoff 0=Off 1=On -# -# 3 Shift3 0=Hash 1=UK Pound -# Wrap 0=Off 1=On -# Newline 0=Off 1=On -# Interlace 0=Off 1=On -# -# 4 Parity 0=Odd 1=Even -# Parity 0=Off 1=On -# Bits/Char 0=7 1=8 -# Power 0=60Hz 1=50Hz -# -# 5 Line Interface 0=EIA 1=Loop -# Aux Interface 0=EIA 1=Loop -# Local Copy 0=Off 1=On -# Spare -# -# 6 Aux Parity 0=Odd 1=Even -# Aux Parity 0=Off 1=On -# Aux Bits/Char 0=7 1=8 -# CRT Saver 0=Off 1=On -# dm80/1 is a vt100 lookalike, but it doesn't seem to need any padding. -dm80|dmdt80|dt80|datamedia dt80/1, - clear=\E[2J\E[H, cud1=^J, cuf1=\E[C, - cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K, - home=\E[H, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, ri=\EM, - rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m, - use=vt100, -# except in 132 column mode, where it needs a little padding. -# This is still less padding than the vt100, and you can always turn on -# the ^S/^Q handshaking, so you can use vt100 flavors for things like -# reverse video. -dm80w|dmdt80w|dt80w|datamedia dt80/1 in 132 char mode, - cols#132, - clear=\E[H\E[2J$<50/>, cud1=^J, - cup=\E[%i%p1%d;%p2%dH$<5/>, cuu1=\E[A$<5/>, - ed=\E[0J$<20/>, el=\E[0K$<20/>, use=dm80, -# From: Adam Thompson Sept 10 1995 -dt80-sas|Datamedia DT803/DTX for SAS usage, - am, bw, - cols#80, lines#24, - acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~, - bel=^G, clear=^L, cr=^M, - csr=\E=%p1%{32}%+%c%{32}%c\E#1\E=%p2%{32}%+%c%{32}%c\E#2, - cub1=^H, cud1=\EB, cuf1=^\, - cup=\E=%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, dl1=\EM, ed=^K, - el=^], ff=^L, home=^Y, ht=^I, hts=\E'1, il1=\EL, ind=\EB, - is2=\E)0\E<\EP\E'0\E$2, kclr=^L, kcub1=^H, kcud1=^J, - kcuf1=^\, kcuu1=^_, ked=^K, kel=^], khome=^Y, mc4=^O, mc5=^N, - rev=\E$2\004, ri=\EI, rmacs=\EG, rmso=^X, sgr0=^X, smacs=\EF, - smso=\E$2\004, tbc=\E'0, - -# Datamedia Excel 62, 64 from Gould/SEL UTX/32 via BRL -# These aren't end-all Excel termcaps; but do insert/delete char/line -# and name some of the extra function keys. (Mike Feldman ccvaxa!feldman) -# The naming convention has been bent somewhat, with the use of E? (where -# E is for 'Excel') as # a name. This was done to distinguish the entries -# from the other Datamedias in use here, and yet to associate a model of -# the Excel terminals with the regular datamedia terminals that share -# major characteristics. -excel62|excel64|datamedia Excel 62, - dch1=\E[P, kbs=^H, kcub1=^H, kcud1=^J, kf5=\EOu, kf6=\EOv, - kf7=\EOw, kf8=\EOx, kf9=\EOy, rmir=\E[4l, smir=\E[4h, - use=dt80, -excel62-w|excel64-w|datamedia Excel 62 in 132 char mode, - dch1=\E[P, kbs=^H, kcub1=^H, kcud1=^J, kf5=\EOu, kf6=\EOv, - kf7=\EOw, kf8=\EOx, kf9=\EOy, rmir=\E[4l, smir=\E[4h, - use=dt80w, -excel62-rv|excel64-rv|datamedia Excel 62 in reverse video mode, - dch1=\E[P, flash=\E[?5l\E[?5h, kbs=^H, kcub1=^H, kcud1=^J, - kf5=\EOu, kf6=\EOv, kf7=\EOw, kf8=\EOx, kf9=\EOy, rmir=\E[4l, - smir=\E[4h, use=dt80, - -#### Falco -# -# Falco Data Products -# 440 Potrero Avenue -# Sunnyvale, CA 940864-196 -# Vox: (800)-325-2648 -# Fax: (408)-745-7860 -# Net: techsup@charm.sys.falco.com -# -# Current Falco models as of 1995 are generally ANSI-compatible and support -# emulations of DEC VT-series, Wyse, and Televideo types. -# - -# Test version for Falco ts-1. See for info -# This terminal was released around 1983 and was discontinued long ago. -# The standout and underline highlights are the same. -falco|ts1|ts-1|falco ts-1, - OTbs, am, - cols#80, it#8, lines#24, - bel=^G, clear=\E*, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET\EG0\010, home=^^, ht=^I, il1=\EE, - ind=^J, is2=\Eu\E3, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, - kf0=^A0\r, rmir=\Er, rmso=\Eg0, rmul=\Eg0, sgr0=\Eg0, - smir=\Eq, smso=\Eg1, smul=\Eg1, -falco-p|ts1p|ts-1p|falco ts-1 with paging option, - OTbs, am, da, db, mir, msgr, ul, - cols#80, it#8, lines#24, - bel=^G, cbt=\EI, clear=\E*, cr=^M, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=\E[A, - dch1=\EW, dl1=\ER, ed=\EY, el=\ET\EG0\010\Eg0, ht=^I, - il1=\EE, ind=^J, is2=\EZ\E3\E_c, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, rmcup=\E_b, rmir=\Er, - rmso=\Eg0, rmul=\Eg0, sgr0=\Eg0, smcup=\E_d, smir=\Eq, - smso=\Eg4, smul=\Eg1, -# (ts100: I added / based on the init string -- esr) -ts100|ts100-sp|falco ts100-sp, - am, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C$<2>, - cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, - cuu1=\E[A$<2>, dch1=\E~W, dl1=\E~R, ed=\E[J$<50>, - el=\E[K$<3>, el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H, - ht=^I, hts=\EH, ich1=\E~Q, il1=\E~E, ind=^J, is1=\E~)\E~ea, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, - rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>, - sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, - smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, - use=vt100+fnkeys, -ts100-ctxt|falco ts-100 saving context, - rmcup=\E~_b, smcup=\E~_d\E[2J, use=ts100, - -#### Florida Computer Graphics -# - -# Florida Computer Graphics Beacon System, using terminal emulator program -# "host.com", as provided by FCG. This description is for an early release -# of the "host" program. Known bug: clears the whole screen, so it's -# commented out. - -# From: David Bryant 1/7/83 -beacon|FCG Beacon System, - am, da, db, - cols#80, lines#32, - bel=\ESTART\r\E37\r\EEND\r$<1>, - blink=\ESTART\r\E61\,1\r\EEND\r, clear=\EZ$<10>, cr=^M, - cub1=^H, cud1=^J, cuf1=\EV, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<20>, cuu1=\EU, - dch1=\EW, dl1=\ER, el=\ET, home=\EH$<10>, ich1=\EQ, il1=\EE, - ind=^J, rev=\ESTART\r\E59\,1\r\EEND\r, rmcup=, - rmso=\ESTART\r\E70\,0\r\EEND\r$<20>, - rmul=\ESTART\r\E60\,0\r\EEND\r, - sgr0=\ESTART\r\E78\r\E70\,0\r\EEND\r$<20>, - smcup=\ESTART\r\E2\,0\r\E12\r\EEND\r$<10>, - smso=\ESTART\r\E70\,6\r\EEND\r$<20>, - smul=\ESTART\r\E60\,1\r\EEND\r, - -#### Fluke -# - -# The f1720a differences from ANSI: no auto margin, destructive -# tabs, # of lines, funny highlighting and underlining -f1720|f1720a|fluke 1720A, - xt, - cols#80, lines#16, xmc#1, - bel=^G, clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, - el=\E[K, ind=\ED, is2=\E[H\E[2J, kcub1=^_, kcud1=^], - kcuf1=^^, kcuu1=^\, ri=\EM, rmso=\E[m, rmul=\E[m, sgr0=\E[m, - smso=\E[7m, smul=\E[4m, - -#### Liberty Electronics (Freedom) -# -# Liberty Electronics -# 48089 Fremont Blvd -# Fremont CA 94538 -# Vox: (510)-623-6000 -# Fax: (510)-623-7021 - -# From: -# (f100: added empty to suppress a tic warning; -# made this relative to adm+sgr -- note that isn't -# known to work for f100 but does on the f110. --esr) -f100|freedom|freedom100|freedom model 100, - OTbs, am, bw, hs, mir, msgr, xon, - cols#80, lines#24, - acsc=, bel=^G, cbt=\EI, clear=^Z, cr=^M, cub1=^H, cud1=^J, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\EW, dl1=\ER$<11.5*>, dsl=\Eg\Ef\r, ed=\EY, el=\ET, - flash=\Eb$<200>\Ed, fsl=^M, home=^^, hpa=\E]%p1%{32}%+%c, - ht=^I, hts=\E1, il1=\EE$<8.5*>, ind=^J, ip=$<6>, - is2=\Eg\Ef\r\Ed, kbs=^H, kcbt=\EI, kcub1=^H, kcud1=^V, - kcuf1=^L, kcuu1=^K, kf1=^A@\r, kf10=^AI\r, kf2=^AA\r, - kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, khome=^^, ri=\Ej, rmacs=\E$, rmir=\Er, - smacs=\E%%, smir=\Eq, tbc=\E3, tsl=\Eg\Ef, - vpa=\E[%p1%{32}%+%c, use=adm+sgr, -f100-rv|freedom-rv|freedom 100 in reverse video, - flash=\Ed$<200>\Eb, is2=\Eg\Ef\r\Eb, use=f100, -# The f110 and f200 have problems with vi(1). They use the ^V -# code for the down cursor key. When kcud1 is defined in terminfo -# as ^V, the Control Character Quoting capability (^V in insert mode) -# is lost! It cannot be remapped in vi because it is necessary to enter -# a ^V to to quote the ^V that is being remapped!!! -# -# f110/f200 users will have to decide whether -# to lose the down cursor key or the quoting capability. We will opt -# initially for leaving the quoting capability out, since use of VI -# is not generally applicable to most interactive applications -# (f110: added , & from f100 -- esr) -f110|freedom110|Liberty Freedom 110, - bw@, eslok, - it#8, wsl#80, - blink=\EG2, bold=\EG0, civis=\E.1, cnorm=\E.2, cud1=^V, - dim=\EG@, dl1=\ER, dsl=\Ef\r, flash=\Eb$<200/>\Ed, il1=\EE, - ip@, is2@, kclr=^^, kdch1=\EW, kdl1=\ER, ked=\EY, kel=\ET, - kf0=^AI\r, kf10@, kich1=\EQ, kil1=\EE, mc4=\Ea, mc5=\E`, - ri=\EJ, rmacs=\E%%, rmir=\Er\EO, smacs=\E$, smir=\EO\Eq, - smso=\EG<, tsl=\Ef, use=f100, -f110-14|Liberty Freedom 110 14inch, - dch1@, use=f110, -f110-w|Liberty Freedom 110 - 132 cols, - cols#132, use=f110, -f110-14w|Liberty Freedom 110 14in/132 cols, - cols#132, - dch1@, use=f110, -# (f200: added to suppress tic warnings re / --esr) -f200|freedom200|Liberty Freedom 200, - OTbs, am, eslok, hs, mir, msgr, xon, - cols#80, it#8, lines#24, wsl#80, - acsc=, bel=^G, blink=\EG2, bold=\EG0, cbt=\EI, civis=\E.0, - clear=^Z, cnorm=\E.1, cr=^M, - csr=\Em0%p1%{32}%+%c%p2%{32}%+%c, cub1=^H, cud1=^V, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\EW, dim=\EG@, dl1=\ER, dsl=\Ef\r, ed=\EY, el=\ET, - flash=\Eo$<200/>\En, fsl=^M, home=^^, - hpa=\E]%p1%{32}%+%c, hts=\E1, il1=\EE, ind=^J, kbs=^H, - kclr=^^, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, - kdl1=\ER, ked=\EY, kel=\ET, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, - kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, kich1=\EQ, kil1=\EE, mc4=\Ea, mc5=\E`, - ri=\EJ, rmacs=\E%%, rmir=\Er, smacs=\E$, smir=\Eq, smso=\EG<, - tbc=\E3, tsl=\Ef, vpa=\E[%p1%{32}%+%c, use=adm+sgr, -f200-w|Liberty Freedom 200 - 132 cols, - cols#132, use=f200, -# The f200 has the ability to reprogram the down cursor key. The key is -# reprogrammed to ^J (linefeed). This value is remembered in non-volatile RAM, -# so powering the terminal off and on will not cause the change to be lost. -f200vi|Liberty Freedom 200 for vi, - flash=\Eb$<200/>\Ed, kcud1=^J, use=f200, -f200vi-w|Liberty Freedom 200 - 132 cols for vi, - cols#132, use=f200vi, - -#### GraphOn (go) -# -# Graphon Corporation -# 544 Division Street -# Campbell, CA 95008 -# Vox: (408)-370-4080 -# Fax: (408)-370-5047 -# Net: troy@graphon.com (Troy Morrison) -# -# -# The go140 and go225 have been discontinued. GraphOn now makes X terminals, -# including one odd hybrid that starts out life on power-up as a character -# terminal, than can be switched to X graphics mode (driven over the serial -# line) by an escape sequence. No info on this beast yet. -# (go140: I added / based on the init string -- esr) -go140|graphon go-140, - OTbs, - cols#80, it#8, lines#24, - clear=\E[H\E[2J$<10/>, cub1=^H, cuf1=\E[C, - cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - ed=\E[J$<10/>, el=\E[K, ht=^I, - if=/usr/local/share/tabset/vt100, il1=\E[L, - is2=\E<\E=\E[?3l\E[?7l\E(B\E[J\E7\E[;r\E8\E[m\E[q, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, ri=\EM, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, - rmul=\E[m, sgr0=\E[m, smam=\E[?7h, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, -go140w|graphon go-140 in 132 column mode, - am, - cols#132, - is2=\E<\E=\E[?3h\E[?7h\E(B\E[J\E7\E[;r\E8\E[m\E[q, - use=go140, -# Hacked up vt200 termcap to handle GO-225/VT220 -# From: -# (go225: I added / based on the init string -- esr) -go225|go-225|Graphon 225, - OTbs, am, mir, xenl, - cols#80, it#8, lines#25, vt#3, - blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, - csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - ed=\E[J, el=\E[K, home=\E[H, ht=^I, il1=\E[L, ind=\ED, - is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, rc=\E8, rev=\E[7m, - rf=/usr/local/share/tabset/vt100, ri=\EM, rmam=\E[?7l, - rmcup=\E[!p\E[?7h\E[2;1;1#w, rmir=\E[4l, rmkx=\E>, - rmso=\E[27m, rmul=\E[24m, rs1=\E[!p\E[?7h\E[2;1;1#w, - sc=\E7, sgr0=\E[m, smam=\E[?7h, smcup=\E[2;0#w\E[1;25r, - smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m, - -#### Harris (Beehive) -# -# Bletch. These guys shared the Terminal Brain Damage laurels with Hazeltine. -# Their terminal group is ancient history now (1995) though the parent -# company is still in business. -# - -# Beehive documentation is undated and marked Preliminary and has no figures -# so we must have early Superbee2 (Model 600, according to phone conversation -# with mfr.). It has proved reliable except for some missing padding -# (notably after \EK and at bottom of screen). -# -# The key idea is that AEP mode is poison for & that US's in -# the local memory should be avoided like the plague. That means -# that the 2048 character local buffer is used as 25 lines of 80 -# characters, period. No scrolling local memory, folks. It also -# appears that we cannot use naked INS LINE feature since it uses -# US. The sbi fakes with an 80-space insert that may be too -# slow at low speeds; also spaces get converted to \040 which is -# too long for some programs (not vi). DEL LINE is ok but slow. -# -# The string is designed for last line of screen ONLY; cup to -# 25th line corrects the motion inherent in scrolling to Page 1. -# -# There is one understood bug. It is that the screen appears to -# pop to a new (blank) page after a , or leave a half-line -# ellipsis to a quad that is the extra 48 memory locations. The -# data received is dumped into memory but not displayed. Not to -# worry if is being used; the lines not displayed will be, -# whenever the cursor is moved up there. Since is addressed -# relative to MEMORY of window, nothing is lost; but beware of -# relative cursor motion (,,,). Recommended, -# therefore, is setenv MORE -c . -# -# WARNING: Not all features tested. -# -# Timings are assembled from 3 sources. Some timings may reflect -# SB2/Model 300 that were used if more conservative. -# Tested on a Model 600 at 1200 and 9600 bd. -# -# The BACKSPACEkb option is cute. The NEWLINE key, so cleverly -# placed on the keyboard and useless because of AEP, is made -# into a backspace key. In use ESC must be pressed twice (to send) -# and sending ^C must be prefixed by ESC to avoid that weird -# transmit mode associated with ENTER key. -# -# IF TERMINAL EVER GOES CATATONIC with the cursor buzzing across -# the screen, then it has dropped into ENTER mode; hit -# RESET--ONLINE--!tset. -# -# As delivered this machine has a FATAL feature that will throw -# it into that strange transmit state (SPOW) if the space bar is -# hit after a CR is received, but before receiving a LF (or a -# few others). -# -# The circuits MUST be modified to eliminate the SPOW latch. -# This is done by strapping on chip A46 of the I/O board; cut -# the p.c. connection to Pin 5 and strap Pin 5 to Pin 8 of that -# chip. This mod has been checked out on a Mod 600 of Superbee II. -# With this modification absurdly high timings on cr are -# unnecessary. -# -# NOTE WELL that the rear panel switch should be set to CR/LF, -# not AEP! -# -sb1|beehive superbee, - OTbs, am, bw, da, db, mir, ul, xsb, - cols#80, lines#25, xmc#1, - bel=^G, cbt=\E`$<650>, clear=\EH$<1>\EJ$<3>, cr=$<1>\r, - cub1=^H, cud1=^J, cuf1=\EC$<3>, cup=\EF%p2%03d%p1%03d, - cuu1=\EA$<3>, dch1=\EP$<3>, dl1=\EM$<100>, ed=\EJ$<3>, - el=\EK$<3>, home=\EH$<1>, ht=^I, hts=\E1, - il1=\EN\EL$<3>\EQ \EP$<3> \EO\ER\EA$<3>, - ind=^J, is2=\EE$<3>\EX\EZ\EO\Eb\Eg\ER, kbs=^_, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdl1=\EM, ked=\EJ, kel=\EK, - kf0=\E2, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, kf6=\Eu, - kf7=\Ev, kf8=\Ew, kf9=\E1, khome=\EH, kich1=\EQ\EO, - krmir=\ER, lf0=TAB CLEAR, lf9=TAB SET, rmcup=, rmir=\ER, - rmso=\E_3, rmul=\E_3, sgr0=\E_3, smcup=\EO, smir=\EQ\EO, - smso=\E_1, smul=\E_0, tbc=\E3, -sbi|superbee|beehive superbee at Indiana U., - xsb, - cr=\r$<1>, il1=1\EN\EL$<9>\EQ \EP$<9> \EO\ER\EA, - use=sb1, -# Alternate (older) description of Superbee - f1=escape, f2=^C. -# Note: there are at least 3 kinds of superbees in the world. The sb1 -# holds onto escapes and botches ^C's. The sb2 is the best of the 3. -# The sb3 puts garbage on the bottom of the screen when you scroll with -# the switch in the back set to CRLF instead of AEP. This description -# is tested on the sb2 but should work on all with either switch setting. -# The f1/f2 business is for the sb1 and the can be taken out for -# the other two if you want to try to hit that tiny escape key. -# This description is tricky: being able to use cup depends on there being -# 2048 bytes of memory and the hairy string. -superbee-xsb|beehive super bee, - am, da, db, xsb, - cols#80, it#8, lines#25, - clear=\EH\EJ$<3>, cnorm=^J, cr=\r$<1000>, cub1=^H, cud1=^J, - cuf1=\EC, cup=\EF%p2%3d%p1%3d, cuu1=\EA$<3>, - dch1=\EP$<3>, dl1=\EM$<100>, ed=\EJ$<3>, el=\EK$<3>, - home=\EH, ht=^I, hts=\E1, - ind=\n\0\0\0\n\0\0\0\EA\EK\0\0\0\ET\ET, is2=\EH\EJ, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf1=\Ep, kf2=\Eq, - kf3=\Er, kf4=\Es, kf5=\Et, kf6=\Eu, kf7=\Ev, kf8=\Ew, - khome=\EH, rmso=\E_3, sgr0=\E_3, smso=\E_1, tbc=\E3, -# This loses on lines > 80 chars long, use at your own risk -superbeeic|super bee with insert char, - ich1=, rmir=\ER, smir=\EQ, use=superbee-xsb, -sb2|sb3|fixed superbee, - xsb@, use=superbee, - -#### Beehive Medical Electronics -# -# Steve Seymour writes (Wed, 03 Feb 1999): -# Regarding your question though; Beehive terminals weren't made by Harris. -# They were made by Beehive Medical Electronics in Utah. They went out of -# business in the early '80s. -# -# (OK, then, I don't know why a couple of these say "harris beehive".) -# - -# Reports are that most of these Beehive entries (except superbee) have not -# been tested and do not work right. is a trouble spot. Be warned. - -# (bee: was empty, which is obviously bogus -- esr) -beehive|bee|harris beehive, - OTbs, am, mir, - cols#80, lines#24, - cbt=\E>, clear=\EE, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\EF%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EP, - dl1=\EM, ed=\EJ, el=\EK, home=\EH, il1=\EL, kbs=^H, kcbt=\E>, - kclr=\EE, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - kdch1=\EP, kdl1=\EM, kel=\EK, khome=\EH, kich1=\EQ, kil1=\EL, - krmir=\E@, rmir=\E@, rmso=\Ed@, rmul=\Ed@, sgr0=\Ed@, - smir=\EQ, smso=\EdP, smul=\Ed`, -# set tab is ^F, clear (one) tab is ^V, no way to clear all tabs. -# good grief - does this entry make :sg:/:ug: when it doesn't have to? -# look at those spaces in /. Seems strange to me... -# (beehive: removed, no such file. If you -# really care, cook up one using ^F -- esr) -beehive3|bh3m|beehiveIIIm|harris beehive 3m, - OTbs, am, - cols#80, it#8, lines#20, - bel=^G, clear=^E^R, cr=^M, cub1=^H, cud1=^J, cuf1=^L, cuu1=^K, - dl1=\021$<350>, ed=^R, el=^P, home=^E, ht=^I, hts=^F, - il1=\023$<160>, ind=^J, ll=^E^K, rmso=\s^_, smso=^]\s, -beehive4|bh4|beehive 4, - am, - cols#80, lines#24, - bel=^G, clear=\EE, cr=^M, cub1=\ED, cud1=^J, cuf1=\EC, - cuu1=\EA, ed=\EJ, el=\EK, home=\EH, ind=^J, -# There was an early Australian kit-built computer called a "Microbee". -# It's not clear whether this is for one of those or for a relative -# of the Beehive. -microb|microbee|micro bee series, - OTbs, am, - cols#80, it#8, lines#24, - bel=^G, clear=\EE, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EF%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, - el=\EK, ht=^I, ind=^J, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, - kf6=\Eu, kf7=\Ev, kf8=\Ew, kf9=\Ex, khome=\EH, rmso=\Ed@, - rmul=\Ed@, sgr0=\Ed@, smso=\s\EdP, smul=\Ed`, - -# 8675, 8686, and bee from Cyrus Rahman -# (8675: changed k10, k11...k16 to k;, F1...F6 -- esr) -ha8675|harris 8675, - is2=\ES\E#\E*\Eh\Em\E?\E1\E9\E@\EX\EU, kf1=^F, - kf10=\Ed, kf11=^W, kf12=\ER, kf13=\EE, kf14=\EI, kf15=\Ei, - kf16=\Eg, kf2=^P, kf3=^N, kf4=^V, kf5=^J, kf6=^T, kf7=^H, - kf8=\177, kf9=\Ee, use=bee, -# (8686: changed k10, k11...k16 to k;, F1...F6; fixed broken continuation -# in :is: -- esr) -ha8686|harris 8686, - is2=\ES\E#\E*\Eh\Em\E?\E1\E9\E@\EX\EU\E"*Z01\E"8F35021B7C83#\E"8F45021B7D83#\E"8F55021B7E83#\E"8F65021B7F83#\E"8F75021B7383#\E"8F851BD7#\E"8F95021B7083#\E"8FA5021B7183#\E"8FB5021B7283#, - kf1=\002\Ep\003, kf10=\Ej, kf11=\EW, kf12=\002\E{\003, - kf13=\002\E|\003, kf14=\002\E}\003, kf15=\002\E~\003, - kf16=\002\E\177\003, kf2=\002\Eq\003, kf3=\002\Er\003, - kf4=\002\Es\003, kf5=\E3, kf6=\EI, kf7=\ER, kf8=\EJ, kf9=\E(, - use=bee, - -#### Hazeltine -# -# Hazeltine appears to be out of the terminal business as of 1995. These -# guys were co-owners of the Terminal Brain Damage Hall Of Fame along with -# Harris. They have a hazeltine.com domain (but no web page there ) and can -# be reached at: -# -# Hazeltine -# 450 East Pulaski Road -# Greenlawn, New York 11740 -# -# As late as 1993, manuals for the terminal product line could still be -# purchased from: -# -# TRW Customer Service Division -# 15 Law Drive -# P.O. Box 2076 -# Fairfield, NJ 07007-2078 -# -# They're now (1998) a subsidiary of General Electric, operating under the -# marque "GEC-Marconi Hazeltine" and doing military avionics. Web page -# at . -# - -# Since is blank, when you want to erase something you -# are out of luck. You will have to do ^L's a lot to -# redraw the screen. h1000 is untested. It doesn't work in -# vi - this terminal is too dumb for even vi. (The code is -# there but it isn't debugged for this case.) -hz1000|hazeltine 1000, - OTbs, - cols#80, lines#12, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=\s, home=^K, - ind=^J, -# From: Thu Aug 20 09:09:18 1981 -hz1420|hazeltine 1420, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\E^\, cr=^M, cub1=^H, cud1=^J, cuf1=^P, - cup=\E\021%p2%c%p1%{32}%+%c, cuu1=\E^L, dl1=\E^S, - ed=\E^X, el=\E^O, ht=^N, il1=\E^Z, ind=^J, rmso=\E^Y, - smso=\E^_, -# New "safe" cursor movement (11/87) from . Prevents -# freakout with out-of-range args and tn3270. No hz since it needs to -# receive tildes. -hz1500|hazeltine 1500, - OTbs, am, hz, - cols#80, lines#24, - bel=^G, clear=~^\, cr=^M, cub1=^H, cud1=~^K, cuf1=^P, - cup=~\021%p2%p2%?%{30}%>%t%{32}%+%;%{96}%+%c%p1%{96}%+%c, - cuu1=~^L, dl1=~\023$<40>, ed=~\030$<10>, el=~^O, home=~^R, - il1=~\032$<40>, ind=^J, kcub1=^H, kcud1=^J, kcuf1=^P, - kcuu1=~^L, khome=~^R, rmso=~^Y, smso=~^_, -# h1510 assumed to be in sane escape mode. Else use h1500. -# (h1510: early versions of this entry apparently had ", -# , but these caps were commented out in 8.3; also, -# removed incorrect and overridden ":do=^J:" -- esr) -hz1510|hazeltine 1510, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\E^\, cr=^M, cub1=^H, cud1=\E^K, cuf1=^P, - cup=\E\021%p2%c%p1%c, cuu1=\E^L, dl1=\E^S, ed=\E^X, - el=\E^O, il1=\E^Z, ind=^J, -# Hazeltine 1520 -# The following switch settings are assumed for normal operation: -# FULL CR U/L_CASE ESCAPE -# FORMAT_OFF EOM_A_OFF EOM_B_OFF WRAPAROUND_ON -# Other switches may be set for operator convenience or communication -# requirements. -hz1520|Hazeltine 1520, - OTbs, am, bw, msgr, - cols#80, lines#24, - bel=^G, bold=\E^_, clear=\E^\, cr=^M, cub1=^H, cud1=^J, - cuf1=^P, cup=\E\021%p2%c%p1%c, cuu1=\E^L, dl1=\E^S, - ed=\E^X, el=\E^O, home=\E^R, il1=\E^Z, ind=^J, kbs=^H, - kclr=\E^\, kcub1=^H, kcud1=\E^K, kcuf1=^P, kcuu1=\E^L, - kdl1=\E^S, ked=\E^X, kel=\E^O, khome=\E^R, kil1=\E^Z, - rmso=\E^Y, rs1=\E$\E\005\E?\E\031, sgr0=\E^Y, smso=\E^_, -# This version works with the escape switch off -# (h1520: removed incorrect and overridden ":do=^J:" -- esr) -hz1520-noesc|hazeltine 1520, - am, hz, - cols#80, lines#24, - bel=^G, clear=~^\, cr=^M, cub1=^H, cud1=~^K, cuf1=^P, - cup=~\021%p2%c%p1%c$<1>, cuu1=~^L, dl1=~^S, ed=~^X, el=~^O, - home=~^R, il1=~^Z, ind=^J, rmso=~^Y, smso=~^_, -# Note: the h1552 appears to be the first Hazeltine terminal which -# is not braindamaged. It has tildes and backprimes and everything! -# Be sure the auto lf/cr switch is set to cr. -hz1552|hazeltine 1552, - OTbs, - cud1=^J, dl1=\EO, il1=\EE, kf1=\EP, kf2=\EQ, kf3=\ER, lf1=blue, - lf2=red, lf3=green, use=vt52, -hz1552-rv|hazeltine 1552 reverse video, - cud1=^J, rmso=\ET, smso=\ES, use=hz1552, -# Note: h2000 won't work well because of a clash between upper case and ~'s. -hz2000|hazeltine 2000, - OTbs, OTnc, am, - cols#74, lines#27, - bel=^G, clear=~\034$<6>, cub1=^H, cud1=^J, - cup=~\021%p2%c%p1%c, dl1=~\023$<6>, home=~^R, - il1=~\032$<6>, ind=^J, pad=\177, -# Date: Fri Jul 23 10:27:53 1982. Some unknown person wrote: -# I tested this termcap entry for the Hazeltine Esprit with vi. It seems -# to work ok. There is one problem though if one types a lot of garbage -# characters very fast vi seems not able to keep up and hangs while trying -# to insert. That's in insert mode while trying to insert in the middle of -# a line. It might be because the Esprit doesn't have insert char and delete -# char as a built in function. Vi has to delete to end of line and then -# redraw the rest of the line. -esprit|Hazeltine Esprit I, - OTbs, am, bw, - cols#80, lines#24, - bel=^G, cbt=\E^T, clear=\E^\, cr=^M, cub1=^H, cud1=\E^K, - cuf1=^P, cup=\E\021%p2%c%p1%c, cuu1=\E^L, dl1=\E^S, - ed=\E^W, el=\E^O, home=\E^R, il1=\E^Z, ind=^J, is2=\E?, kbs=^H, - kcub1=^H, kcud1=\E^K, kcuf1=^P, kcuu1=\E^L, kf0=^B0^J, - kf1=^B1^J, kf2=^B2^J, kf3=^B3^J, kf4=^B4^J, kf5=^B5^J, - kf6=^B6^J, kf7=^B7^J, kf8=^B8^J, kf9=^B9^J, khome=\E^R, - lf0=0, lf1=1, lf2=2, lf3=3, lf4=4, lf5=5, lf6=6, lf7=7, lf8=8, lf9=9, - rmkx=\E>, rmso=\E^Y, smkx=\E<, smso=\E^_, -esprit-am|hazeltine esprit auto-margin, - am, use=esprit, -# Hazeltine Modular-1 from Cliff Shackelton via BRL -# Vi it seems always wants to send a control J for "do" and it turned out -# that the terminal would work somewhat if the auto LF/CR was turned off. -# (hmod1: removed :dn=~^K: -- esr) -hmod1|Hazeltine Modular 1, - OTbs, am, hz, - cols#80, lines#24, - bel=^G, cbt=~^T, clear=~^\, cr=^M, cub1=^H, cud1=~^K, cuf1=^P, - cup=~\021%p2%c%p1%c, cuu1=~^L, dl1=~^S, home=~^R, il1=~^Z, - ind=^J, kcub1=^H, kcud1=~^K, kcuf1=^P, kcuu1=~^L, khome=~^R, - rc=~^Q, rmso=~^Y, sc=~^E, sgr0=~^Y, smso=~^_, -# -# Hazeltine Executive 80 Model 30 (1554?) -# from Will Martin via BRL -# Like VT100, except for different "am" behavior. -hazel|exec80|h80|he80|Hazeltine Executive 80, - OTbs, OTpt, am, - cols#80, it#8, lines#24, vt#3, - OTnl=^J, bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>, - clear=\E[;H\E[2J$<50/>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=^J, cuf1=\E[C$<2/>, - cup=\E[%i%p1%d;%p2%dH$<5/>, cuu1=\E[A$<2/>, - ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H, ht=^I, - is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\EOD, kcud1=\EOB, - kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, rc=\E8, rev=\E[7m$<2/>, - rf=/usr/local/share/tabset/vt100, ri=\EM$<5/>, - rmkx=\E[?1l\E>, rmso=\E[m$<2/>, rmul=\E[m$<2/>, - rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr0=\E[m$<2/>, smkx=\E[?1h\E=, smso=\E[7m$<2/>, - smul=\E[4m$<2/>, - -#### IBM -# - -ibm327x|line mode IBM 3270 style, - gn, - clear=^M^J, el=^M, home=^M, - -ibm3101|i3101|IBM 3101-10, - OTbs, am, xon, - cols#80, lines#24, - bel=^G, clear=\EK, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, - el=\EI, home=\EH, hts=\E0, ind=^J, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, nel=^M^J, tbc=\EH, -ibm3151|IBM 3151 display, - is2=\E S, rmacs=\E>B, rmcup=\E>B, rs2=\E S, s0ds=\E>B, - sgr=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;%?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t%{80}%|%;%c%?%p9%t\E>A%e\E>B%;, - sgr0=\E4@\E>B, smacs=\E>A, smcup=\E>B, use=ibm3162, -# From: Mark Easter 29 Oct 1992 -# removed kend, knp, kpp -TD -ibm3161|ibm3163|wy60-316X|wyse60-316X|IBM 3161/3163 display, - OTbs, am, mir, msgr, - cols#80, it#8, lines#24, - acsc=j\352k\353l\354m\355n\356q\361t\364u\365v\366w\367x\370, - bel=^G, blink=\E4D, bold=\E4H, clear=\EH\EJ, cr=^M, cub1=\ED, - cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=\EA, dch1=\EQ, dl1=\EO, ed=\EJ, el=\EI, home=\EH, ind=^J, - invis=\E4P, kbs=^H, kcbt=\E2, kclr=\EL\r, kctab=\E1, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\EQ, - kdl1=\EO, ked=\EJ, kel=\EI, kf1=\Ea\r, kf10=\Ej\r, - kf11=\Ek\r, kf12=\El\r, kf13=\E!a\r, kf14=\E!b\r, - kf15=\E!c\r, kf16=\E!d\r, kf17=\E!e\r, kf18=\E!f\r, - kf19=\E!g\r, kf2=\Eb\r, kf20=\E!h\r, kf21=\E!i\r, - kf22=\E!j\r, kf23=\E!k\r, kf24=\E!l\r, kf3=\Ec\r, - kf4=\Ed\r, kf5=\Ee\r, kf6=\Ef\r, kf7=\Eg\r, kf8=\Eh\r, - kf9=\Ei\r, khome=\EH, khts=\E0, kich1=\EP \010, kil1=\EN, - ktbc=\E 1, mc4=^P^T, mc5=^P^R, rev=\E4A, rmcup=\E>A, - rmso=\E4@, rmul=\E4@, - sgr=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;%?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t%{80}%|%;%c%?%p9%t\E>A%e\E<@%;, - sgr0=\E4@\E<@, smcup=\E>A, smso=\E4A, smul=\E4B, - -ibm3161-C|IBM 3161-C NLS terminal using cartridge, - rmcup=\E>B, s0ds=\E>B, s1ds=\E>A, smcup=\E>B, use=ibm3161, -ibm3162|IBM 3162 display, - blink=\E4$a, bold=\E4(a, il1=\EN, invis=\E40a, rev=\E4!a, - rmso=\E4>b, rmul=\E4=b, sgr0=\E4@, smso=\E4!a, smul=\E4"a, - use=ibm3161-C, - -# This really should not use setab/setaf, but it is clear that the -# original terminfo does not toggle red/blue colors as in setb/setf. -ibm3164|i3164|IBM 3164, - msgr, - colors#8, pairs#64, - op=\E4 "@, rmcup=\E!9(N\E>B, s0ds=\E>B, s1ds=\E>A, - setab=\E4 %p1%{64}%+%c, - setaf=\E4%?%p1%t %p1%{32}%+%c%e!'%;@, - smcup=\E!9/N\E>B, use=ibm3161, - -ibm5151|wy60-AT|wyse60-AT|IBM 5151 Monochrome display, - am, bw, msgr, xon, - cols#80, it#8, lines#25, - acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H, - hpa=\E[%i%p1%dG, il=\E[%p1%dL, il1=\E[L, ind=\E[S, - indn=\E[%p1%dS, invis=\E[8m, is2=\Ec, kbs=^H, kcbt=\E[Z, - kclr=\E[144q, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kdch1=\E[P, ked=\E[148q, kel=\E[142q, - kend=\E[146q, kf1=\E[001q, kf10=\E[010q, kf11=\E[011q, - kf12=\E[012q, kf13=\E[013q, kf14=\E[014q, kf15=\E[015q, - kf16=\E[016q, kf17=\E[017q, kf18=\E[018q, kf19=\E[019q, - kf2=\E[002q, kf20=\E[020q, kf21=\E[021q, kf22=\E[022q, - kf23=\E[023q, kf24=\E[024q, kf25=\E[025q, kf26=\E[026q, - kf27=\E[027q, kf28=\E[028q, kf29=\E[029q, kf3=\E[003q, - kf30=\E[030q, kf31=\E[031q, kf32=\E[032q, kf33=\E[033q, - kf34=\E[034q, kf35=\E[035q, kf36=\E[036q, kf4=\E[004q, - kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, kf8=\E[008q, - kf9=\E[009q, khome=\E[H, kich1=\E[139q, kil1=\E[140q, - kind=\E[151q, knp=\E[154q, kpp=\E[150q, kri=\E[155q, - krmir=\E[4l, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, rmir=\E[4l, - rmso=\E[m, rmul=\E[m, rs2=\Ec, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m, - sgr0=\E[0m, smir=\E[4h, smso=\E[7m, smul=\E[4m, - -ibmaed|IBM Experimental display, - OTbs, am, eo, msgr, - cols#80, it#8, lines#52, - clear=\EH\EK, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EQ, - dl1=\EO, ed=\EJ, el=\EI, flash=\EG, home=\EH, ht=^I, ich1=\EP, - il1=\EN, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - rmso=\E0, sgr0=\E0, smso=\E0, -ibm-apl|apl|IBM apl terminal simulator, - lines#25, use=dm1520, -# (ibmmono: this had an unknown `sb' boolean, I changed it to `bs'. -# Also it had ":I0=f10:" which pretty obviously should be "l0=f10" -- esr) -ibmmono|IBM workstation monochrome, - eslok, hs, - bold=\EZ, dl1=\EM, dsl=\Ej\EY8 \EI\Ek, fsl=\Ek, il1=\EL, - invis=\EF\Ef0;\Eb0;, kbs=^H, kf0=\E<, kf1=\ES, kf2=\ET, - kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\EY, - khome=\EH, kich1=\0, kind=\EE, knp=\EE, kpp=\Eg, kri=\EG, - lf0=f10, rev=\Ep, ri=\EA, rmso=\Ez, rmul=\Ew, - sgr0=\Ew\Eq\Ez\EB, smso=\EZ, smul=\EW, tsl=\Ej\EY8%+ \Eo, - use=ibm3101, -ibmega|IBM Enhanced Color Display, - cr=^M, cud1=^J, ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, - nel=^M^J, use=ibmmono, -# This color scheme is assumed in some recent IBM terminal descriptions -# (green on black, emulated on a 16-color terminal). -ibm+color|IBM color definitions, - colors#8, ncv#3, pairs#64, - op=\E[32m\E[40m, - setb=\E[%?%p1%{0}%=%t40m%e%p1%{1}%=%t41m%e%p1%{2}%=%t42m%e%p1%{3}%=%t43m%e%p1%{4}%=%t44m%e%p1%{5}%=%t45m%e%p1%{6}%=%t46m%e%p1%{7}%=%t107m%;, - setf=\E[%?%p1%{0}%=%t30m%e%p1%{1}%=%t31m%e%p1%{2}%=%t32m%e%p1%{3}%=%t33m%e%p1%{4}%=%t34m%e%p1%{5}%=%t35m%e%p1%{6}%=%t36m%e%p1%{7}%=%t97m%;, -ibm+16color|IBM aixterm color definitions, - colors#16, pairs#256, - setab=\E[%?%p1%{8}%<%t%p1%{40}%+%e%p1%{92}%+%;%dm, - setaf=\E[%?%p1%{8}%<%t%p1%{30}%+%e%p1%{82}%+%;%dm, - setb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m, - setf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m, -ibm5154|IBM 5154 Color display, - colors#8, ncv@, pairs#64, - bold@, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=ibm5151, - use=ibm+color, -ibmega-c|ibm5154-c|IBM Enhanced Color Display with standout and underline, - rmso=\EB, rmul=\EB, smso=\EF\Ef3;, smul=\EF\Ef2;, - use=ibmmono, -ibmvga-c|IBM VGA display color termcap, - cr=^M, cud1=^J, ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, - nel=^M^J, use=ibmega-c, -ibmvga|IBM VGA display, - cr=^M, cud1=^J, ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, - nel=^M^J, use=ibmega, -# ibmapa* and ibmmono entries come from ACIS 4.3 distribution -rtpc|ibmapa16|IBM 6155 Extended Monochrome Graphics Display, - lines#32, - dsl=\Ej\EY@ \EI\Ek, tsl=\Ej\EY@%+ \Eo, use=ibmmono, -ibm6155|IBM 6155 Black & White display, - blink@, bold@, use=ibm5151, -# Advanced Monochrome (6153) and Color (6154) Graphics Display: -ibmapa8c|ibmapa8|IBM 6154 Advanced Graphics Display, - lines#31, - dsl=\Ej\EY? \EI\Ek, tsl=\Ej\EY?%+ \Eo, use=ibmmono, -ibmapa8c-c|ibm6154-c|IBM 6154 Advanced Color Graphics Display, - lines#31, - dim=\EF\Ef7;, dsl=\Ej\EY? \EI\Ek, tsl=\Ej\EY?%+ \Eo, - use=ibmega-c, -ibm6154|IBM 6154 Color displays, - blink@, bold=\E[12m, s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;12%;m, - sgr0=\E[0;10m, use=ibm5154, -ibm6153|IBM 6153 Black & White display, - blink@, bold=\E[12m, s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;12%;m, - sgr0=\E[0;10m, use=ibm5151, -ibm6153-90|IBM 6153 Black & White display, - cols#90, lines#36, - blink@, bold@, use=ibm5151, -ibm6153-40|IBM 6153 Black & White display, - cols#40, lines#12, use=ibm6153-90, -ibm8512|ibm8513|IBM color VGA Terminal, - am, mir, msgr, - cols#80, it#8, lines#25, - acsc=jjkkllmmnnqqttuuvvwwxx, blink=\E[5m, bold=\E[1m, - clear=\E[H\E[J, cub1=\E[D, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H, il=\E[%p1%dL, - il1=\E[L, is2=\Eb\E[m\017\E[?7h, kcud1=\E[B, kcuu1=\E[A, - kf0=\E[010q, kf1=\E[001q, kf2=\E[002q, kf3=\E[003q, - kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, - kf8=\E[008q, kf9=\E[009q, khome=\E[H, rc=\E[u, rev=\E[7m, - rmacs=^O, rmam=\E[?7l, rmcup=\E[20h, rmdc=\E[4l, - rmir=\E[4l, rmso=\E[m, rmul=\E[m, - rs1=\Eb\E[m\017\E[?7h\E[H\E[J, sc=\E[s, sgr0=\E[m, - smacs=^N, smam=\E[?7h, smcup=\E[20;4l\E[?7h\Eb, - smdc=\E[4h, smir=\E[4h, smso=\E[7m, smul=\E[4m, - use=ibm8503, -hft-c|HFT with Color, - colors#8, pairs#64, - acsc=jjkkllmmnnqqttuuvvwwxx, s0ds=\E(B, s1ds=\E(0, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0m\E(B, - use=ibm5151, use=ibm+color, -hft-c-old|HFT with Color PC850, - colors#8, pairs#64, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=ibm5151, - use=ibm+color, -hft-old|AIWS High Function Terminal, - am, xon, - cols#80, lines#25, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, - cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, - ht=^I, ich1=\E[@, il1=\E[L, ind=^J, invis=\E[8m, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\E[001q, kf2=\E[002q, kf3=\E[003q, kf4=\E[004q, - kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, kf8=\E[008q, - kf9=\E[009q, khome=\E[H, knp=\E[153q, kpp=\E[159q, - ktbc=\E[010q, rev=\E[7m, rmir=\E6, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smir=\E6, smso=\E[7m, smul=\E[4m, use=ibm+color, -ibm-system1|system1|ibm system/1 computer, - am, xt, - cols#80, lines#24, - bel=^G, clear=^Z, cub1=^H, cuf1=^\, - cup=\005%p1%{32}%+%c%p2%{32}%+%c, cuu1=^^, home=^K, - ind=^J, -# lft-pc850 : IBM Low Function Terminal Device -# lft "supports" underline, bold, and blink in the sense that the lft code -# sets all the right bits. HOWEVER, depending upon the adapter, these -# attributes may or may not be supported by the device driver. -lft|lft-pc850|LFT-PC850|IBM LFT PC850 Device, - am, bw, msgr, xon, - cols#80, it#8, lines#25, - acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, - cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[2J, el=\E[0K, - home=\E[H, hpa=\E[%i%p1%dG, ich=\E[%p1%d@, il=\E[%p1%dL, - il1=\E[L, ind=\ED, indn=\E[%p1%dS, invis=\E[8m, is2=\Ec, - kbs=^H, kcbt=\E[Z, kclr=\E[144q, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, ked=\E[148q, - kel=\E[142q, kend=\E[146q, kf1=\E[001q, kf10=\E[010q, - kf11=\E[011q, kf12=\E[012q, kf13=\E[013q, kf14=\E[014q, - kf15=\E[015q, kf16=\E[016q, kf17=\E[017q, kf18=\E[018q, - kf19=\E[019q, kf2=\E[002q, kf20=\E[020q, kf21=\E[021q, - kf22=\E[022q, kf23=\E[023q, kf24=\E[024q, kf25=\E[025q, - kf26=\E[026q, kf27=\E[027q, kf28=\E[028q, kf29=\E[029q, - kf3=\E[003q, kf30=\E[030q, kf31=\E[031q, kf32=\E[032q, - kf33=\E[033q, kf34=\E[034q, kf35=\E[035q, kf36=\E[036q, - kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, - kf8=\E[008q, kf9=\E[009q, khome=\E[H, kich1=\E[139q, - kil1=\E[140q, kind=\E[151q, knp=\E[154q, kpp=\E[150q, - kri=\E[155q, krmir=\E[4l, rev=\E[7m, ri=\EL, rin=\E[%p1%dT, - rmacs=\E(B, rmir=\E[4l, rmso=\E[0m, rmul=\E[0m, rs2=\Ec, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\E[0m, smacs=\E(0, smir=\E[4h, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, -ibm5081|hft|IBM Megapel Color display, - acsc=jjkkllmmnnqqttuuvvwwxx, blink@, bold@, s0ds=\E(B, - s1ds=\E(0, sgr0=\E[0m\E(B, use=ibm5154, -ibm5081-c|ibmmpel-c|IBM 5081 1024x1024 256/4096 Megapel enhanced color display, - eslok, hs, - lines#33, - dsl=\Ej\EYA \EI\Ek, fsl=\Ek, tsl=\Ej\EYA%+ \Eo, - use=ibmega-c, -ibm8503|ibm8507|ibm8604|IBM 8503 B & W VGA display, - use=hft-c, -ibm8514|IBM 8514/a color VGA display, - eslok, hs, - dsl=\Ej\EYI \EI\Ek, fsl=\Ek, tsl=\Ej\EYI%+ \Eo, use=hft, -ibm8514-c|IBM 8514 color display with standout and underline, - eslok, hs, - lines#41, - cr=^M, cud1=^J, dsl=\Ej\EYI \EI\Ek, fsl=\Ek, ht=^I, ind=^J, - kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, tsl=\Ej\EYI%+ \Eo, - use=ibmega-c, - -# -# AIX entries. IBM ships these with AIX 3.2.5. -# -- added rc, sc based on manpage -TD -# Note that we could use ibm+16color, but that is not how IBM defines this one. -aixterm|IBM Aixterm Terminal Emulator, - eslok, hs, - acsc=jjkkllmmnnqqttuuvvwwxx, bold=\E[1m, dsl=\E[?E, - fsl=\E[?F, rc=\E8, ri@, s0ds=\E(B, s1ds=\E(0, sc=\E7, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\E[0;10m\E(B, tsl=\E[?%p1%dT, use=ibm6154, -aixterm-m|IBM AIXterm Monochrome Terminal Emulator, - eslok, hs, - acsc=jjkkllmmnnqqttuuvvwwxx, bold=\E[1m, dsl=\E[?E, - fsl=\E[?F, ri@, s0ds=\E(B, s1ds=\E(0, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m, - sgr0=\E[0;10m\E(B, tsl=\E[?%p1%dT, use=ibm6153, -aixterm-m-old|old IBM AIXterm Monochrome Terminal Emulator, - eslok, hs, - bold=\E[1m, dsl=\E[?E, fsl=\E[?F, ri@, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m, - tsl=\E[?%p1%dT, use=ibm6153, -jaixterm|IBM Kanji Aixterm Terminal Eemulator, - acsc@, use=aixterm, -jaixterm-m|IBM Kanji AIXterm Monochrome Terminal Emulator, - acsc@, use=aixterm-m, - -# This flavor is adapted from xterm, in turn from aixterm documentation -TD -aixterm-16color|IBM Aixterm Terminal Emulator with 16 colors, - use=ibm+16color, use=aixterm, - -#### Infoton/General Terminal Corp. -# - -# gt100 sounds like something DEC would come out with. Let's hope they don't. -i100|gt100|gt100a|General Terminal 100A (formerly Infoton 100), - OTbs, am, - cols#80, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\Ef%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA, dl1=\EM, - ed=\EJ, el=\EK, flash=\Eb$<200/>\Ea, home=\EH, il1=\EL, - ind=^J, rmso=\Ea, smso=\Eb, -i400|infoton 400, - OTbs, am, - cols#80, lines#25, - bel=^G, clear=\E[2J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%3d;%p2%3dH, cuu1=\E[A, - dch1=\E[4h\E[2Q\E[P\E[4l\E[0Q, dl1=\E[M, el=\E[N, - il1=\E[L, ind=^J, rmir=\E[4l\E[0Q, smir=\E[4h\E[2Q, -# (addrinfo: removed obsolete ":bc=^Z:" -- esr) -addrinfo, - am, - cols#80, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^Z, cud1=^J, cuf1=^Y, - cup=\037%p1%c%p2%c, cuu1=^\, ed=^K, home=^H, ind=^J, ll=^H^\, -# (infoton: used to have the no-ops , , -- esr) -infoton, - am, - cols#80, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^Z, cud1=^J, cuf1=^Y, cuu1=^\, - ed=^K, ind=^J, ll=^H^\, - -# The ICL6402 was actually the Kokusai Display System 6402. -# The 6404 was the KDS7372 (color version of the 6402). -# -# ICL6404 control codes follow: -# -#code function -#~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#ctrl-A set SOM position at cursor position -#ctrl-G Bell -#ctrl-H Backspace -#ctrl-I Horiz tab -#ctrl-J Linefeed -#ctrl-K Cursor up -#ctrl-L Cursor right -#ctrl-M Carriage return -#ctrl-N Disable xon/xoff to host -#ctrl-O Enable xon/xoff to host -#ctrl-R Enable bidirectional mode -#ctrl-T Disable bidirectional mode -#ctrl-V Cursor down -#ctrl-Z Clear unprotected data to insert char -#ctrl-^ Cursor home -#ctrl-_ Newline -# -#ESC lead-in char for multiple character command -# -#ESC space R execute power on sequence -#ESC ! p1 p2 define scroll region: -# p1 = scroll top line: 20h - 37h -# p1 = scroll bottom line: 20h - 37h -#ESC " unlock keyboard -#ESC # lock keyboard -#ESC $ Semi-graphics mode on -#ESC % Semi-graphics mode off -#ESC & protect mode on -#ESC ' protect mode off -#ESC ( write protect mode off (full intensity) -#ESC ) write protect mode on (half intensity) -# -#ESC * clear screen -#ESC + clear unprotected data to insert char -#ESC , clear unprotected data to half intensity spaces -#ESC - p1 p2 p3 p4 address cursor to page, row, column: -# p1 = page number 0 - 3 -# p2 = row 20h - 7fh -# p3 = column (lo) 20h - 7fh -# p4 = column (hi) 20h - 21h (only 132 col) -#ESC . p1 set cursor style: -# p1 = 0 invisible cursor -# p1 = 1 block blinking cursor -# p1 = 2 block steady cursor -# p1 = 3 underline blinking cursor -# p1 = 4 underline steady cursor -#ESC / transmit cursor location (page, row, column) -#ESC 0 p1 p2 p3 p4 program edit key: -# p1 = edit key code: '@'-'S', '`'-'s' -# p2 p3 p4 = program data (3 bytes) -# -#ESC 1 set tab -#ESC 2 clear tab at cursor -#ESC 3 clear all tabs -#ESC 4 send unprotect line to cursor -#ESC 5 send unprotect page to cursor -#ESC 6 send line to cursor -#ESC 7 send page to cursor -#ESC 8 n set scroll mode: -# n = 0 set jump scroll -# n = 1 set smooth scroll -#ESC 9 n control display: -# n = 0 display off -# n = 1 display on -#ESC : clear unprotected data to null -#ESC ; clear unprotected data to insert char -# -#ESC < keyclick on -#ESC = p1 p2 address cursor to row, column -# p1 = row 20h - 7fh -# p2 = column (lo) 20h - 7fh -# p3 = column (hi) 20h - 21h (only 132 col) -#ESC > keyclick off -#ESC ? transmit cursor location (row, column) -# -#ESC @ copy print mode on -#ESC A copy print mode off -#ESC B block mode on -#ESC C block mode off (conversation mode) -#ESC D F set full duplex -#ESC D H set half duplex -#ESC E line insert -#ESC F p1 p2 set page colour (p1 = f/grnd, p2 = b/grnd) -# 0 = black, 1 = red, 2 = green, 3 = yellow -# 4 = blue, 5 = magenta, 6 = cyan, 7 = white -#ESC G n set serial field attribute (n = 30h - 3Fh) -#ESC H n full graphics mode: -# n = 0 exit full graphics mode -# n = 1 enter full graphics mode -#ESC I back tab -#ESC J back page -#ESC K forward page -# -#ESC L unformatted page print -#ESC M L move window left (132 col mode only) -#ESC M R move window right (132 col mode only) -#ESC N set page edit (clear line edit) -#ESC O set line edit (clear page edit) -#ESC P formatted page print -#ESC Q character insert -#ESC R line delete -#ESC S send message unprotected only -#ESC T erase line to insert char -#ESC U set monitor mode (see ESC X, ESC u) -# -#ESC V n select video attribute mode: -# n = 0 serial field attribute mode -# n = 1 parallel character attribute mode -#ESC V 2 n define line attribute: -# n = 0 single width single height -# n = 1 single width double height -# n = 2 double width single height -# n = 3 double width double height -#ESC V 3 n select character font: -# n = 0 system font -# n = 1 user defined font -#ESC V 4 n select screen mode: -# n = 0 page screen mode -# n = 1 virtual screen mode -#ESC V 5 n control mouse mode: -# n = 0 disable mouse -# n = 1 enable sample mode -# n = 2 send mouse information -# n = 3 enable request mode -#ESC W character delete -#ESC X clear monitor mode (see ESC U, ESC u) -#ESC Y erase page to insert char -# -#ESC Z n send user/status line: -# n = 0 send user line -# n = 1 send status line -# n = 2 send terminal ID -#ESC [ p1 p2 p3 set character attribute (parallel char mode): -# p1: 0 = normal -# 1 = blank -# 2 = blink -# 3 = blink blank (= blank) -# 4 = reverse -# 5 = reverse blank -# 6 = reverse blink -# 7 = reverse blink blank (= reverse blank) -# 8 = underline -# 9 = underline blank -# : = underline blink -# ; = underline blink blank -# < = reverse underline -# = = reverse underline blank -# > = reverse underline blink -# ? = reverse underline blink blank -# p2, p3: f/grnd, b/grnd colour -# (see ESC F for colours) -# use ZZ for mono, eg. -# ESC [ 0 Z Z for normal -# ESC [ 4 Z Z for inverse etc. -# -#ESC \ n set page size: -# n = 1 24 lines/page -# n = 2 48 lines/page -# n = 3 72 lines/page -# n = 4 96 lines/page -#ESC ] n set Wordstar mode: -# n = 0 normal (KDS7372) mode -# n = 1 Wordstar mode -# -#ESC b set foreground colour screen -# -#ESC c n enter self-test mode: -# n = 0 exit self test mode -# n = 1 ROM test -# n = 2 RAM test -# n = 3 NVRAM test -# n = 4 screen display test -# n = 5 main/printer port test -# n = 6 mouse port test -# n = 7 graphics board test -# n = 8 graphics memory test -# n = 9 display all 'E' -# n = : display all 'H' -#ESC d set background colour screen -# -#ESC e n program insert char (n = insert char) -#ESC f text CR load user status line with 'text' -# -#ESC g display user status line on 25th line -#ESC h display system status line on 25th line -#ESC i tab -#ESC j reverse linefeed -#ESC k n duplex/local edit mode: -# n = 0 duplex edit mode -# n = 1 local edit mode -#ESC l n select virtual screen: -# n = 0 screen 1 -# n = 1 screen 2 -#ESC m save current config to NVRAM -#ESC n p1 select display screen: -# p1 = 0 screen 1 -# p1 = 1 screen 2 -# p1 = 2 screen 3 -# p1 = 3 screen 4 -#ESC o p1 p2 set characters/line and attribute: -# p1 = 0 80 chars/line -# -#ESC o p1 p2 set characters/line and attribute: -# p1 = 0 80 chars/line -# p1 = 1 132 chars/line -# p2 = 0 single width single height -# p2 = 1 single width double height -# p2 = 2 double width single height -# p2 = 3 double width double height -# -#ESC q insert mode on -#ESC r edit mode on -#ESC s send message all -#ESC t erase line to null -#ESC u clear monitor mode (see ESC U, ESC X) -#ESC v autopage mode on -#ESC w autopage mode off -#ESC x p1 p2 p3 define delimiter code... -#ESC y erase page to null -# -#ESC z 2 p1 p2 p3 p4 draw quadrangle: -# p1 = starting row -# p2 = starting column -# p3 = end row -# p4 = end column -# -#ESC { p1 p2 p3 p4 configure main port -# (baud, stop bits, parity, word length) -# -#ESC | p1 p2 text Ctrl-Y program function key with 'text': -# p1 = function key code: -# '1' - ';' normal f1- f11 -# '<' - 'F' shifted f1 - f11 -# p2 = program mode: -# 1 = FDX -# 2 = LOC -# 3 = HDX -# Ctrl-Y = terminator -# (use Ctrl-P to escape ^P, ^Y ) -# -#ESC } p1 p2 p3 p4 configure printer port -# (baud, stop bits, parity, word length) -#ESC ~ send system status -# -# Codes and info from Peter Disdale 12 May 1997 -# -# Entry is by esr going solely on above information and is UNTESTED. -# This actually looks a lot like a Televideo 9xx. -# This entry uses page 0 and is monochrome; I'm not brave enough to try -# to make color work without a test terminal. The capability is a guess. -# The initialization string sets conversation mode, blinking underline cursor, -# full duplex, parallel attribute mode, display user status line, white -# foreground, black background, normal highlight. -# -icl6404|kds7372|icl6402|kds6402|ICL 6404 aka Kokusai Display Systems 7372, - OTbs, am, hs, - cols#80, lines#24, - bel=^G, blink=\E[2ZZ, cbt=\EI, civis=\E.0, clear=\E*, - cnorm=\E.3, cr=^M, - csr=\E!%+%p1%{32}%+%p2%{32} cud1=\026, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{80}%m%{32}%+%c%p2%{80}%>%{32}%+%c, - cuu1=^K, cvvis=\E.1, dch1=\EW, dl1=\ER, home=^^, ht=^I, - hts=\E1, il1=\EE, invis=\E[1ZZ, - is1=\EC\E.3\EDF\EV1\Eg\E[0ZZ, nel=^_, rev=\E[4ZZ, - rmir=\Er, rmso=\E[%gh%{4}%^%Ph%gh%dZZ, - rmul=\E[%gh%{8}%^%Ph%gh%dZZ, rs2=\Eo1, - sgr=\E[%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;ZZ, - sgr0=\E[0ZZ, smir=\Eq, smso=\E[8ZZ, smul=\E[8ZZ, tbc=\E3, -icl6404-w|kds7372-w|ICL 6404 aka Kokusai Display Systems 7372 132 cols, - rs2=\Eo1, use=icl6404, - -#### Interactive Systems Corp -# -# ISC used to sell OEMed and customized hardware to support ISC UNIX. -# ISC UNIX still exists in 1995, but ISC itself is no more; they got -# bought out by Sun. -# - -# From: Wed Sep 16 08:06:44 1981 -# (intext: removed obsolete ":ma=^K^P^R^L^L ::bc=^_:", also the -# ":le=^_:" later overridden -- esr) -intext|Interactive Systems Corporation modified owl 1200, - OTbs, am, - cols#80, it#8, lines#24, xmc#1, - bel=^G, cbt=^Y, clear=\014$<132>, cr=^M, cub1=^H, cud1=^J, - cuf1=^^, cup=\017%p1%{32}%+%c%p2%{32}%+%c, cuu1=^\, - dch1=\022$<5.5*>, dl1=\021$<5.5*>, ed=\026J$<5.5*>, - el=^Kp^R, ht=^I, il1=\020$<5.5*>, ind=^J, ip=$<5.5*>, kbs=^H, - kcub1=^_, kcud1=^J, kcuf1=^^, kcuu1=^\, kf0=^VJ\r, kf1=^VA\r, - kf2=^VB\r, kf3=^VC\r, kf4=^VD\r, kf5=^VE\r, kf6=^VF\r, - kf7=^VG\r, kf8=^VH\r, kf9=^VI\r, khome=^Z, rmir=^V<, - rmkx=^V9, rmso=^V#\s, smir=^V;, smkx=\036\:\264\026%%, - smso=^V$\,, -intext2|intextii|INTERACTIVE modified owl 1251, - am, bw, ul, - cols#80, lines#24, xmc#0, - bel=^G, cbt=\E[Z, clear=\E[H\E[2J, cr=^M, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J, el=\E[K, - flash=\E[;;;;;;;;;2;;u$<200/>\E[;;;;;;;;;1;;u, - hpa=\E[%p1%{1}%+%dG, ht=^I, ich1=\E[@, il1=\E[L, ind=\E[S, - kbs=^H, kcub1=\ED\r, kcud1=\EB\r, kcuf1=\EC\r, kcuu1=\EA\r, - kf0=\E@\r, kf1=\EP\r, kf2=\EQ\r, kf3=\ES\r, kf4=\ET\r, - kf5=\EU\r, kf6=\EV\r, kf7=\EW\r, kf8=\EX\r, kf9=\EY\r, - khome=\ER\r, lf0=REFRSH, lf1=DEL CH, lf2=TABSET, lf3=GOTO, - lf4=+PAGE, lf5=+SRCH, lf6=-PAGE, lf7=-SRCH, lf8=LEFT, - lf9=RIGHT, ri=\E[T, rmso=\E[2 D, rmul=\E[2 D, smso=\E[6 D, - smul=\E[18 D, - -#### Kimtron (abm, kt) -# -# Kimtron seems to be history, but as March 1998 these people are still -# offering repair services for Kimtron equipment: -# -# Com/Pair Monitor Service -# 1105 N. Cliff Ave. -# Sioux Falls, South Dakota 57103 -# -# WATS voice: 1-800/398-4946 -# POTS fax: +1 605/338-8709 -# POTS voice: +1 605/338-9650 -# Email: -# Internet/Web: -# -# Kimtron entries include (undocumented) codes for: enter dim mode, -# enter bold mode, enter reverse mode, turn off all attributes. -# - -# Kimtron ABM 85 added by Dual Systems -# (abm85: removed duplicated ":kd=^J:" -- esr) -abm85|Kimtron ABM 85, - OTbs, am, bw, msgr, - cols#80, it#8, lines#24, xmc#1, - cbt=\EI, clear=\E*, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\Ey, el=\Et, ht=^I, - if=/usr/local/share/tabset/stdcrt, il1=\EE, - is2=\EC\EX\Eg\En\E%\Er\E(\Ek\Em\Eq, kbs=^H, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, rmir=\Er, rmso=\Ek, - rmul=\Em, smir=\EQ, smso=\Ej, smul=\El, -# Kimtron ABM 85H added by Dual Systems. -# Some notes about the abm85h entries: -# 1) there are several firmware revs of 85H in the world. Use abm85h-old for -# firmware revs prior to SP51 -# 2) Make sure to use abm85h entry if the terminal is in 85h mode and the -# abm85e entry if it is in tvi920 emulation mode. They are incompatible -# in some places and NOT software settable i.e., can't fix it) -# 3) In 85h mode, the arrow keys and special functions transmit when -# the terminal is in dup-edit, and work only locally in local-edit. -# Vi won't swallow `del char' for instance, but turns on -# dup-edit anyway so that the arrow keys will work right. If the -# arrow keys don't work the way you like, change , , and -# . Note that 920E mode does not have software commands to toggle -# between dup and local edit, so you get whatever was set last on the -# terminal. -# 4) attribute is nice, but seems too slow to work correctly -# (\Eb\Ed) -# 5) Make sure `hidden' attributes are selected. If `embedded' attributes -# are selected, the entry should be removed. -# 6) auto new-line should be on (selectable from setup mode only) -# -# From: Erik Fair Sun Oct 27 07:21:05 1985 -abm85h|Kimtron ABM 85H native mode, - hs, - xmc@, - bel=^G, cnorm=\E.4, cvvis=\E.2, dim=\E), dsl=\Ee, flash@, - fsl=^M, invis@, - is2=\EC\EN\EX\024\016\EA\Ea\E%\E9\Ee\Er\En\E"\E}\E'\E(\Ef\r\EG0\Ed\E.4\El, - kcud1=^V, sgr0=\E(\EG0, smir=\EZ, tsl=\Eg\Ef, use=adm+sgr, - use=abm85, -abm85e|Kimtron ABM 85H in 920E mode, - xmc@, - bel=^G, dim=\E), flash@, - is2=\EC\EX\EA\E%\E9\Ee\Er\En\E"\E}\E'\E(\Ef\r\Ek\Eq\Em, - rev=\Ej, sgr0=\E(\Ek, smir=\EZ, use=abm85, -abm85h-old|oabm85h|o85h|Kimtron ABM 85H with old firmware rev., - xmc@, - bel=^G, dim=\E), - is2=\E}\EC\EX\Ee\En\E%\Er\E(\Ek\Em\Eq\Ed\ET\EC\E9\EF, - rev=\Ej, sgr0=\E(\Ek, smir=\EZ, use=abm85, -# From: -# (kt7: removed obsolete :ma=^V^J^L :" -- esr) -kt7|kimtron model kt-7, - OTbs, am, - cols#80, it#8, lines#24, - cbt=\EI, clear=^Z, cub1=^H, cud1=^V, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET, fsl=\Eg, home=^^, ht=^I, ich1=\EQ, - if=/usr/local/share/tabset/stdcrt, il1=\EE, invis@, is2=\El\E", - kbs=^H, kcbt=\EI, kclr=^Z, kcub1=^H, kcud1=^V, kcuf1=^L, - kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, kel=\ET, kf0=^AI\r, - kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, - kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, - kich1=\EQ, kil1=\EE, tsl=\Ef, use=adm+sgr, -# Renamed TB=^I to :ta:, BE=^G to :bl:, BS=^H to :kb:, N to :kS: (based on the -# other kt7 entry and the adjacent key capabilities). Removed EE which is -# identical to :mh:. Removed :ES=\EGD: which is some kind of highlight -# but we can't figure out what. -kt7ix|kimtron model kt-7 or 70 in IX mode, - am, bw, - cols#80, it#8, lines#25, - acsc=jYk?lZm@nEqDt4uCvAwBx3, bel=^G, blink=\EG2, cbt=\EI, - civis=\E.0, clear=\E*, cnorm=\E.3, cr=^M, cub1=^H, cud1=^V, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\EW, dim=\EG@, dl1=\ER, dsl=\Ef\r, ed=\EY, el=\ET, fsl=^M, - home=^^, ht=^I, ich1=\EQ, il1=\EE, ind=^J, - is2=\EG0\E s\017\E~, kbs=^H, kcbt=\EI, kclr=\E*, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdl1=\ER, - ked=\EY, kel=\ET, kend=\EY, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, - kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, knp=\EJ, - nel=^M^J, pulse=\EK, rmacs=\E%%, rmir=, rmso=\EG0, rmul=\EG0, - sgr0=\EG0, smacs=\E$, smir=, smso=\EG4, smul=\EG8, tsl=\Ef, - -#### Microdata/MDIS -# -# This was a line of terminals made by McDonnell-Douglas Information Systems. -# These entries come direct from MDIS documentation. I have edited them only -# to move primary names of the form p[0-9] * to aliases, and to comment out -# / in a couple of entries without strings. I have -# also removed the change history; the last version indicates this is -# version 4.3 by A.Barkus, September 1990 (earliest entry is October 1989). -# - -# McDonnell Information Systems Terminal Family History -# ========================================= -# -# Prism-1, Prism-2 and P99: -# Ancient Microdata and CMC terminals, vaguely like Adds Regent 25. -# -# Prism-4 and Prism-5: -# Slightly less ancient range of Microdata terminals. Follow-on from -# Prism-2, but with many enhancements. P5 has eight display pages. -# -# Prism-6: -# A special terminal for use with library systems, primarily in Germany. -# Limited numbers. Similar functionality to P5 (except attributes?). -# -# Prism-7, Prism-8 and Prism-9: -# More recent range of MDIS terminals, in which P7 and P8 -# replace the P4 & P5, with added functionality, and P9 is the flagship. -# The P9 has two emulation modes - P8 and ANSI - and includes a -# large number of the DEC VT220 control sequences. Both -# P8 and P9 support 80c/24ln/8pg and 132cl/24li/4pg formats. -# -# Prism-12 and Prism-14: -# Latest range, functionally very similar to the P9. The P14 has a -# black-on-white overscanning screen. -# -# The terminfo definitions given here are: -# -# p2 - Prism-2 (or Prism-1 or P99). -# -# p4 - Prism-4 (and older P7s & P8s). -# p5 - Prism-5 (or Prism-6). -# -# p7 - Prism-7. -# p8 - Prism-8 (in national or multinational mode). -# p8-w - 132 column version of p8. -# p9 - Prism-9 in ANSI mode. -# p9-w - 132 column version of p9. -# p9-8 - Prism-9 in Prism-8 emulation mode. -# p9-8-w - As p9-8, but with 132 columns. -# -# p12 - Prism-12 in ANSI mode. -# p12-w - 132 column version of p12. -# p12-m - Prism-12 in MDC emulation mode. -# p12-m-w - As p12-m, but with 132 columns. -# p14 - Prism-14 in ANSI mode. -# p14-w - 132 column version of p14. -# p14-m - Prism-14 in MDC emulation mode. -# p14-m-w - As p14-m, but with 132 columns. -# -# p2: Prism-2 -# ----------- -# -# Includes Prism-1 and basic P99 without SP or MP loaded. -# The simplest form of Prism-type terminal. -# Basic cursor movement and clearing operations only. -# No video attributes. -# Notes: -# Horizontal cursor qualifiers of NUL, XON and XOFF are mapped to the next -# value up, followed by backspace. -# -prism2|MDC Prism-2, - am, bw, msgr, - cols#80, lines#24, - bel=^G, clear=\014$<20>, cr=^M, cub1=^H, cud1=^J, cuf1=^F, - cup=\013%p1%{32}%+%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c, - cuu1=^Z, ed=\EJ, el=\EK, home=^A, - hpa=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c, - ind=^J, kbs=^H, khome=^A, vpa=\013%p1%{32}%+%c, - -# p4: Prism-4 -# ----------- -# -# Includes early versions of P7 & P8. -# Basic family definition for most Prisms (except P2 and P9 ANSI). -# Notes: -# Horizontal cursor qualifiers of NUL, XON and XOFF are mapped to the next -# value up, followed by backspace. -# Cursor key definitions removed because they interfere with vi and csh keys. -# -prism4|p4|P4|MDC Prism-4, - am, bw, hs, mc5i, msgr, - cols#80, lines#24, wsl#72, xmc#1, - bel=^G, blink=^CB, civis=^]\344, clear=\014$<20>, - cnorm=^]\342, cr=^M, cub1=^H, cud1=^J, cuf1=^F, - cup=\013%p1%{32}%+%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c, - cuu1=^Z, dim=^CA, dsl=\035\343\035\345, ed=\EJ, el=\EK, - fsl=^]\345, home=^A, - hpa=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c, - ind=^J, invis=^CH, kbs=^H, khome=^A, mc0=\EU, mc4=\ET, mc5=\ER, - rev=^CD, rmso=^C\s, rmul=^C\s, - sgr=\003%{64}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{16}%+%;%?%p4%t%{2}%+%;%?%p5%t%{1}%+%;%?%p7%t%{8}%+%;%c%?%p9%t\016%e\017%;, - sgr0=^C\s, smso=^CD, smul=^CP, tsl=^]\343, - vpa=\013%p1%{32}%+%c, - -# p5: Prism-5 -# ----------- -# -# Same definition as p4. Includes Prism-6 (not tested!). -# Does not use any multi-page features. -# -prism5|p5|P5|MDC Prism-5, - use=p4, - -# p7: Prism-7 -# ----------- -# -# Similar definition to p4. Uses ANSI cursor motion to avoid network problems. -# Notes: -# Use p4 for very early models of P7. -# Rev-index removed; can't send nulls to terminal in 8-bit modes. -# -prism7|p7|P7|MDC Prism-7, - cup=\E[%i%p1%d;%p2%dH, hpa@, vpa@, use=p4, - -# p8: Prism-8 -# ----------- -# -# Similar definition to p7. Uses ANSI cursor motion to avoid network problems. -# Supports national and multinational character sets. -# Notes: -# Alternate char set operations only work in multinational mode. -# Use p4 for very early models of P8. -# Rev-index removed; can't send nulls to terminal in 8-bit modes. -# (esr: commented out / because there's no ) -# -prism8|p8|P8|MDC Prism-8, - cup=\E[%i%p1%d;%p2%dH, hpa=\E[%i%p1%d`, is2=\E[<12h, - vpa=\E[%i%p1%dd, use=p4, - -# p8-w: Prism-8 in 132 column mode -# -------------------------------- -# -# 'Wide' version of p8. -# Notes: -# Rev-index removed; can't send nulls to terminal in 8-bit modes. -# -prism8-w|p8-w|P8-W|MDC Prism-8 in 132 column mode, - cols#132, - is2=\E[<12h\E[<14h, use=p8, - -# p9: Prism-9 in ANSI mode -# ------------------------- -# -# The "flagship" model of this generation of terminals. -# ANSI X3.64 (ISO 6429) standard sequences, plus many DEC VT220 ones. -# Notes: -# Tabs only reset by "reset". Otherwise assumes default (8 cols). -# Fixes to deal with terminal firmware bugs: -# . 'ri' uses insert-line since rev index doesn't always -# . 'sgr0' has extra '0' since esc[m fails -# . 'fsl' & 'dsl' use illegal char since cr is actioned wrong on line 25 -# Not covered in the current definition: -# . Labels -# . Programming Fn keys -# . Graphic characters (defaults correctly to vt100) -# . Padding values (sets xon) -# (esr: commented out / because there's no ) -# -prism9|p9|P9|MDC Prism-9 in ANSII mode, - am, bw, hs, mc5i, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, wsl#72, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[<4l, - clear=^L, cnorm=\E[<4h, cr=^M, csr=\E[%i%p1%d;%p2%d%%v, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, dsl=\E[%}\024, ech=\E[%p1%dX, - ed=\E[J$<10>, el=\E[K, fsl=^T, home=\E[H, hpa=\E[%i%p1%d`, - ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, - is2=\E[&p\E[<12l\E F, kbs=^H, kclr=^L, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\E[11~, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[32~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, - kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[H, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=^M^J, - prot=\E[32%{, rc=\E[%z, rep=\E[%p2%db%p1%c, rev=\E[7m, - ri=\E[L, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, - rs2=\E[&p\E[<12l\E F\E[3g\E[9;17;25;33;41;49;57;65;73 N, - sc=\E[%y, - sgr=\E[%{0}%?%p1%p3%|%t%{7}%+%;%?%p2%t%{2}%+%;%?%p4%t%{5}%+%;%?%p6%t%{1}%+%;m%?%p8%t\E[%{32}%+%d%%{%;%?%p9%t\016%e\017%;, - sgr0=\E[0m\017, smir=\E[4h, smso=\E[7m, smul=\E[4m, - tbc=\E[2g, tsl=\E[%i%p1%d%%}, vpa=\E[%i%p1%dd, - -# p9-w: Prism-9 in 132 column mode -# -------------------------------- -# -# 'Wide' version of p9. -# -prism9-w|p9-w|P9-W|MDC Prism-9 in 132 column mode, - cols#132, - is2=\E[&p\E[<12l\E F\E[<14h, - rs2=\E[&p\E[<12l\E F\E[<14h, use=p9, - -# p9-8: Prism-9 in P8 mode -# ------------------------ -# -# P9 terminal in P8 emulation mode. -# Similar to p8 definition. -# Insertion and deletion operations possible. -# -prism9-8|p9-8|P9-8|MDC Prism-9 in P8 mode, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, use=p8, - -# p9-8-w: Prism-9 in P8 and 132 column modes -# ------------------------------------------ -# -# P9 terminal in P8 emulation mode and 132 column mode. -# -prism9-8-w|p9-8-w|P9-8-W|MDC Prism-9 in Prism 8 emulation and 132 column mode, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, use=p8-w, - -# p12: Prism-12 in ANSI mode -# --------------------------- -# -# See p9 definition. -# -prism12|p12|P12|MDC Prism-12 in ANSI mode, - use=p9, - -# p12-w: Prism-12 in 132 column mode -# ---------------------------------- -# -# 'Wide' version of p12. -# -prism12-w|p12-w|P12-W|MDC Prism-12 in 132 column mode, - use=p9-w, - -# p12-m: Prism-12 in MDC emulation mode -# ------------------------------------- -# -# P12 terminal in MDC emulation mode. -# Similar to p8 definition. -# Insertion and deletion operations possible. -# -prism12-m|p12-m|P12-M|MDC Prism-12 in MDC emulation mode, - use=p9-8, - -# p12-m-w: Prism-12 in MDC emulation and 132 column modes -# ------------------------------------------------------- -# -# P12 terminal in MDC emulation mode and 132 column mode. -# -prism12-m-w|p12-m-w|P12-M-W|MDC Prism-12 in MDC emulation and 132 column mode, - use=p9-8-w, - -# p14: Prism-14 in ANSII mode -# --------------------------- -# -# See p9 definition. -# -prism14|p14|P14|MDC Prism-14 in ANSII mode, - use=p9, - -# p14-w: Prism-14 in 132 column mode -# ---------------------------------- -# -# 'Wide' version of p14. -# -prism14-w|p14-w|P14-W|MDC Prism-14 in 132 column mode, - use=p9-w, - -# p14-m: Prism-14 in MDC emulation mode -# ------------------------------------- -# -# P14 terminal in MDC emulation mode. -# Similar to p8 definition. -# Insertion and deletion operations possible. -# -prism14-m|p14-m|P14-M|MDC Prism-14 in MDC emulation mode, - use=p9-8, - -# p14-m-w: Prism-14 in MDC emulation and 132 column modes -# ------------------------------------------------------- -# -# P14 terminal in MDC emulation mode and 132 column mode. -# -prism14-m-w|p14-m-w|P14-M-W|MDC Prism-14 in MDC emulation and 132 column mode, - use=p9-8-w, - -# End of McDonnell Information Systems Prism definitions - -# These things were popular in the Pick database community at one time -# From: George Land 24 Sep 1996 -p8gl|prism8gl|McDonnell-Douglas Prism-8 alternate definition, - am, bw, hs, mir, - cols#80, lines#24, ma#1, wsl#78, xmc#1, - bel=^G, blink=^CB, clear=^L, cr=^M, cub1=^U, cud1=^J, cuf1=^F, - cup=\E[%i%p1%d;%p2%dH, cuu1=^Z, dch1=\s^H, dim=^CA, dl1=^P, - ed=\EJ, el=\EK, home=^A, ind=^J, invis=^CH, kbs=^H, kcub1=^U, - kcud1=^J, kcuf1=^F, kcuu1=^Z, kdch1=\s^H, kdl1=^P, ked=\EJ, - kel=\EK, kf1=^A@\r, kf10=^AI\r, kf12=^AJ\r, kf13=^AK\r, - kf14=^AL\r, kf15=^AM\r, kf16=^AN\r, kf17=^AO\r, kf2=^AA\r, - kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, khome=^A, lf1=F1, lf10=F10, lf2=F2, - lf3=F3, lf4=F4, lf5=F5, lf6=F6, lf7=F7, lf8=F8, lf9=F9, nel=^J^M, - pad=\0, rev=^CD, rmso=^C\s, rmul=^C\s, sgr0=^C\s, smso=^CE, - smul=^C0, - -#### Microterm (act, mime) -# -# The mime1 entries refer to the Microterm Mime I or Mime II. -# The default mime is assumed to be in enhanced act iv mode. -# - -# New "safe" cursor movement (5/87) from . Prevents -# freakout with out-of-range args on Sytek multiplexors. No and -# since it gets confused and it's too dim anyway. No -# since Sytek insists ^S means xoff. -# (act4: found ":ic=2^S:ei=:im=:ip=.1*^V:" commented out in 8.3 -- esr) -act4|microterm|microterm act iv, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\014$<12/>, cr=^M, cub1=^H, cud1=^K, cuf1=^X, - cup=\024%p1%{24}%+%c%p2%p2%?%{47}%>%t%{48}%+%;%{80}%+%c, - cuu1=^Z, dch1=\004$<.1*/>, dl1=\027$<2.3*/>, - ed=\037$<2.2*/>, el=\036$<.1*/>, home=^], - il1=\001<2.3*/>, ind=^J, kcub1=^H, kcud1=^K, kcuf1=^X, - kcuu1=^Z, -# The padding on :sr: and :ta: for act5 and mime is a guess and not final. -# The act 5 has hardware tabs, but they are in columns 8, 16, 24, 32, 41 (!)... -# (microterm5: removed obsolete ":ma==^Z^P^Xl^Kj:" -- esr) -act5|microterm5|microterm act v, - kcub1=^H, kcud1=^K, kcuf1=^X, kcuu1=^Z, ri=\EH$<3>, uc=^H\EA, - use=act4, -# Mimes using brightness for standout. Half bright is really dim unless -# you turn up the brightness so far that lines show up on the screen. -mime-fb|full bright mime1, - is2=^S\E, rmso=^S, smso=^Y, use=mime, -mime-hb|half bright mime1, - is2=^Y\E, rmso=^Y, smso=^S, use=mime, -# (mime: removed obsolete ":ma=^X ^K^J^Z^P:"; removed ":do=^K:" that overrode -# the more plausible ":do=^J:" -- esr) -# uc was at one time disabled to get around a curses bug, be wary of it -mime|mime1|mime2|mimei|mimeii|microterm mime1, - OTbs, am, - cols#80, it#8, lines#24, vt#9, - bel=^G, clear=^]^C, cr=^M, cub1=^H, cud1=^J, cuf1=^X, - cup=\024%p1%{24}%+%c%p2%p2%?%{32}%>%t%{48}%+%;%{80}%+%c, - cuu1=^Z, dl1=\027$<80>, ed=^_, el=^^, home=^], ht=\011$<2>, - il1=\001$<80>, ind=^J, is2=^S\E^Q, kcub1=^H, kcud1=^K, - kcuf1=^X, kcuu1=^Z, ri=\022$<3>, uc=^U, -# These termcaps (for mime2a) put the terminal in low intensity mode -# since high intensity mode is so obnoxious. -mime2a-s|microterm mime2a (emulating an enhanced soroc iq120), - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\EL, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EI, dch1=\ED, - dl1=\027$<20*>, ed=\EJ$<20*>, el=\EK, home=^^, - il1=\001$<20*>, ind=^J, ip=$<2>, is2=\E), kcub1=^H, kcud1=^J, - kcuf1=^L, kcuu1=^K, ri=\EI, rmir=^Z, rmso=\E;, rmul=\E7, - smir=\EE, smso=\E\:, smul=\E6, -# This is the preferred mode (but ^X can't be used as a kill character) -mime2a|mime2a-v|microterm mime2a (emulating an enhanced vt52), - OTbs, - cols#80, it#8, lines#24, - bel=^G, clear=\EL, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=^N, - dl1=\027$<20*>, ed=\EQ$<20*>, el=\EP, home=\EH, ht=^I, - il1=\001$<20*>, ind=^J, ip=$<2>, is2=^Y, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, ri=\EA, rmir=^Z, rmso=\E9, - rmul=\E5, smir=^O, smso=\E8, smul=\E4, -# (mime3a: removed obsolete ":ma=^X ^K^J^Z^P:" -- esr) -mime3a|mime1 emulating 3a, - am@, - kcub1=^H, kcud1=^K, kcuf1=^X, kcuu1=^Z, use=adm3a, -mime3ax|mime-3ax|mime1 emulating enhanced 3a, - it#8, - dl1=\027$<80>, ed=^_, el=^X, ht=\011$<3>, il1=\001$<80>, - use=mime3a, -# Wed Mar 9 18:53:21 1983 -# We run our terminals at 2400 baud, so there might be some timing problems at -# higher speeds. The major improvements in this model are the terminal now -# scrolls down and insert mode works without redrawing the rest of the line -# to the right of the cursor. This is done with a bit of a kludge using the -# exit graphics mode to get out of insert, but it does not appear to hurt -# anything when using vi at least. If you have some users using act4s with -# programs that use curses and graphics mode this could be a problem. -mime314|mm314|mime 314, - am, - cols#80, lines#24, - clear=^L, cub1=^H, cuf1=^X, cup=\024%p1%c%p2%c, cuu1=^Z, - dch1=^D, dl1=^W, ed=^_, el=^^, home=^], ht=^I, il1=^A, kcub1=^H, - kcud1=^K, kcuf1=^X, kcuu1=^Z, rmir=^V, smir=^S, -# Microterm mime 340 from University of Wisconsin -mm340|mime340|mime 340, - cols#80, lines#24, - clear=\032$<12/>, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\E#$<2.1*/>, dl1=\EV$<49.6/>, ed=\037$<2*/>, - el=\EL$<2.1/>, ht=^I, il1=\EU$<46/>, ind=^J, is2=\E\,, - kbs=^H, kcub1=^H, kcud1=^J, kcuu1=^K, nel=^M^J, -# This came from University of Wisconsin marked "astro termcap for jooss". -# (mt4520-rv: removed obsolete ":kn#4:" and incorrect ":ri=\E[C:"; -# also added / based on the init string -- esr) -mt4520-rv|micro-term 4520 reverse video, - am, hs, msgr, xenl, xon, - cols#80, it#8, lines#24, wsl#80, - bel=^G, clear=\E[H\E[J, cnorm=\E[0V\E8, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E7\E[0U, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, flash=\E[?5l$<200/>\E[?5h, - fsl=\E[?5l\E[?5h, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, - ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\ED, - is2=\E(B\E[2l\E>\E[20l\E[?3l\E[?5h\E[?7h\E[1;24r\E[24;1H\E[H\E[J, - kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, - ll=\E[24;1H, nel=\EE, rc=\E8, rf=/usr/local/share/tabset/vt100, - ri=\EM, rmam=\E[?7l, rmso=\E[0m, rmul=\E[24m, - rs1=\E(B\E[2l\E>\E[20l\E[?3l\E[?5h\E[?7h\E[H\E[J, - sc=\E7, sgr0=\E[m, smam=\E[?7h, smso=\E[7m, smul=\E[4m, - tbc=\E[g, tsl=\E[25;1H, - -# Fri Aug 5 08:11:57 1983 -# This entry works for the ergo 4000 with the following setups: -# ansi,wraparound,newline disabled, xon/xoff disabled in both -# setup a & c. -# -# WARNING!!! There are multiple versions of ERGO 4000 microcode -# Be advised that very early versions DO NOT WORK RIGHT !! -# Microterm does have a ROM exchange program- use it or lose big -# (ergo400: added / based on the init string -- esr) -ergo4000|microterm ergo 4000, - da, db, msgr, - cols#80, lines#66, - bel=^G, clear=\E[H\E[2J$<80>, cr=^M, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - dch1=\E[1P$<80>, dl1=\E[1M$<5*>, ed=\E[0J$<15>, - el=\E[0K$<13>, ht=^I, il1=\E[1L$<5*>, ind=\ED$<20*>, - is2=\E<\E=\E[?1l\E[?4l\E[?5l\E[?7h\E[?8h$<300>, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, lf1=pf1, lf2=pf2, lf3=pf3, - lf4=pf4, ri=\EM$<20*>, rmam=\E[?7l, rmir=\E[4l, - rmkx=\E=$<4>, rmso=\E[m$<20>, sgr0=\E[m$<20>, - smam=\E[?7m, smir=\E[4h$<6>, smkx=\E=$<4>, - smso=\E[7m$<20>, - -#### NCR -# -# NCR's terminal group was merged with AT&T's when AT&T bought the company. -# For what happened to that group, see the ADDS section. -# -# There is an NCR4103 terminal that's just a re-badged Wyse-50. -# - -# The following vendor-supplied termcaps were captured from the Boundless -# Technologies site, 8 March 1998. I removed all-upper-case names that were -# identical, except for case, to lower-case ones. I also uncommented the acsc -# capabilities.X -# -# The Intecolor emulation of the NCR 2900/260C color terminal is basically a -# DEC vt200/300 with color capabilities added. -ncr260intan|NCR Intecolor emulation of the 2900_260C with an ANSI keyboard, - colors#8, pairs#64, - op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - use=ncr260vt300an, -# The Intecolor emulation of the NCR 2900/260C color terminal is basically a -# DEC vt200/300 with color capabilities added. -ncr260intwan|NCR Intecolor emulation of the 2900_260C with an ANSI keyboard, - colors#8, pairs#64, - op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - use=ncr260vt300wan, -# The Intecolor emulation of the NCR 2900/260C color terminal is basically a -# DEC vt200/300 with color capabilities added. -ncr260intpp|NCR Intecolor emulation of the 2900_260C with a PC+ keyboard, - colors#8, pairs#64, - op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - use=ncr260vt300pp, -# The Intecolor emulation of the NCR 2900/260C color terminal is basicly a -# DEC vt200/300 with color capabilities added. -ncr260intwpp|NCR Intecolor emulation of the 2900_260C with a PC+ keyboard in 132 column mode, - colors#8, pairs#64, - op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - use=ncr260vt300wpp, -# This definition for ViewPoint supports several attributes. This means -# that it has magic cookies (extra spaces where the attributes begin). -# Some applications do not function well with magic cookies. The System -# Administrator's Shell in NCR Unix SVR4 1.03 is one such application. -# If supporting various attributes is not vital, 'xmc#1' and the extra -# attributes can be removed. -# Mapping to ASCII character set ('acsc' capability) can also be -# restored if needed. -ncr260vppp|NCR 2900_260 viewpoint, - am, bw, hs, km, mc5i, mir, msgr, xon, - cols#80, lines#24, nlab#32, xmc#1, - acsc=07a?h;j5k3l2m1n8q\:t4u9v=w0x6, bel=^G, blink=\EG2, - cbt=\EI, civis=\E`0, clear=\014$<40>, cnorm=\E`5, - cr=\r$<2>, cub1=\010$<2>, cud1=\n$<2>, cuf1=\006$<2>, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<5>, cuu1=\032$<2>, - dch1=\EW$<2>, dim=\EGp, dl1=\El$<2>, dsl=\E`c, ed=\Ek$<2>, - el=\EK$<2>, fsl=^M, home=\036$<2>, ht=^I, hts=\E1, - il1=\EM$<2>, ind=\n$<2>, invis=\EG1, - is2=\Ee6\E~%$<100>\E+\E`\:\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7$<100>, - kDC=\El, kEND=\Ek, kHOM=^A, kPRT=\E7, kRIT=^F, ka1=^A, ka3=\EJ, - kbs=^H, kc1=\ET, kc3=\EJ, kcub1=^U, kcud1=^J, kcuf1=^F, - kcuu1=^Z, kdch1=\EW, kend=\EK, kf1=^B1\r, kf10=^B\:\r, - kf11=^B;\r, kf12=^B<\r, kf13=^B=\r, kf14=^B>\r, kf15=^B?\r, - kf16=^B@\r, kf17=^B!\r, kf18=^B"\r, kf19=^B#\r, kf2=^B2\r, - kf20=^B$\r, kf21=\002%^M, kf22=^B&\r, kf23=^B'\r, - kf24=^B(\r, kf25=^B)\r, kf26=^B*\r, kf27=^B+\r, - kf28=^B\,\r, kf29=^B-\r, kf3=^B3\r, kf30=^B.\r, kf31=^B/\r, - kf32=^B0\r, kf4=^B4\r, kf5=^B5\r, kf6=^B6\r, kf7=^B7\r, - kf8=^B8\r, kf9=^B9\r, khome=^A, kich1=\Eq, knp=\EJ, kpp=\EJ, - kprt=\EP, ll=\001$<5>, mc0=\EP$<100>, mc4=^T, mc5=^R, - mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<5>, - nel=\037$<2>, rev=\EG4, ri=\Ej$<2>, rmacs=\EcB0\EH\003, - rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20, - rs2=\Ee6\E~%$<100>\E+\E`\:\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7$<100>, - sgr0=\EG0\EH\003, smacs=\EcB1\EH\002, smir=\Eq, - smso=\EG4, smul=\EG8, smxon=\Ec21, tsl=\EF, -ncr260vpwpp|NCR 2900_260 viewpoint wide mode, - cols#132, - cup=\Ea%i%p1%dR%p2%dC$<30>, - is2=\Ee6\E~%$<100>\E+\E`;\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7$<100>, - rs2=\Ee6\E~%$<100>\E+\E`;\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0\EcC1\Ee7$<100>, - use=ncr260vppp, -ncr260vt100an|NCR 2900_260 vt100 with ansi kybd, - am, hs, mir, msgr, xenl, xon, - cols#80, lines#24, nlab#32, - acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G, - blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[2J\E[1;1H$<20>, cnorm=\E[?25h, cr=\r$<1>, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD$<5>, - cub1=\E[D$<5>, cud=\E[%p1%dB$<5>, cud1=\E[B$<5>, - cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA$<5>, - cuu1=\E[A$<5>, dch=\E[%p1%dP$<5>, dch1=\E[1P$<5>, - dl=\E[%p1%dM$<5>, dl1=\E[M$<5>, dsl=\E[0$~\E[1$~, - ech=\E[%p1%dX, ed=\E[0J$<5>, el=\E[0K$<3>, el1=\E[1K$<3>, - fsl=\E[0$}, home=\E[H$<1>, hpa=\E[%p1%dG$<40>, ht=^I, - hts=\EH, ich=\E[%p1%d@$<5>, il=\E[%p1%dL$<5>, - il1=\E[L$<5>, ind=\ED$<5>, indn=\E[%p1%dE$<5>, - invis=\E[8m, - is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~, - knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, nel=\EE$<5>, - rc=\E8, rev=\E[7m, ri=\EM$<5>, rmacs=^O, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[0m, rmul=\E[0m, - rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>, - sgr0=\E[0m\017$<20>, smacs=^N, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[1;7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, use=vt220+keypad, -ncr260vt100wan|NCR 2900_260 vt100 wide mode ansi kybd, - cols#132, - cup=\E[%i%p1%d;%p2%dH$<30>, - is2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - rs2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - use=ncr260vt100an, -ncr260vt100pp|NCR 2900_260 vt100 with PC+ kybd, - is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - ka1=\E[H, ka3=\EOu, kb2=\E[V, kc3=\E[U, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[4~, - kend=\E[5~, khome=\E[2~, kich1=\E[1~, knp=\E[6~, kpp=\E[3~, - lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, rmkx=\E>, - rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - smkx=\E=, use=ncr260vt100an, -ncr260vt100wpp|NCR 2900_260 vt100 wide mode pc+ kybd, - cols#132, - cup=\E[%i%p1%d;%p2%dH$<30>, - is2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - rs2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - use=ncr260vt100pp, -ncr260vt200an|NCR 2900_260 vt200 with ansi kybd, - am, hs, mir, msgr, xenl, xon, - cols#80, lines#24, nlab#32, - acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G, - blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[2J\E[1;1H$<20>, cnorm=\E[?25h, cr=\r$<1>, - csr=\E[%i%p1%d;%p2%dr$<5>, cub=\E[%p1%dD$<5>, - cub1=\E[D$<5>, cud=\E[%p1%dB$<5>, cud1=\E[B$<5>, - cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA$<5>, - cuu1=\E[A$<5>, dch=\E[%p1%dP$<5>, dch1=\E[1P$<5>, - dl=\E[%p1%dM$<5>, dl1=\E[M$<5>, dsl=\E[0$~\E[1$~, - ech=\E[%p1%dX$<5>, ed=\E[0J, el=\E[0K$<5>, el1=\E[1K$<5>, - fsl=\E[0$}, home=\E[H, hpa=\E[%p1%dG$<40>, ht=^I, hts=\EH, - ich=\E[%p1%d@$<5>, il=\E[%p1%dL$<5>, il1=\E[L$<5>, - ind=\ED$<5>, indn=\E[%p1%dE$<5>, invis=\E[8m, - is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kf0=\EOy, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf2=\EOQ, kf20=\E[34~, kf21=\E[31~, kf22=\E[32~, - kf23=\E[33~, kf24=\E[34~, kf25=\E[35~, kf26=\E[1~, - kf27=\E[2~, kf28=\E[3~, kf29=\E[4~, kf3=\EOR, kf30=\E[5~, - kf31=\E[6~, kf32=\E[7~, kf33=\E[8~, kf34=\E[9~, - kf35=\E[10~, kf4=\EOS, kf5=\E[M, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, - kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, - mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m, - ri=\EM$<5>, rmacs=\017$<20>, rmam=\E[?7l, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, - rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>, - sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h, - smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, - use=vt220+keypad, -ncr260vt200wan|NCR 2900_260 vt200 wide mode ansi kybd, - cols#132, - cup=\E[%i%p1%d;%p2%dH$<30>, - is2=\E[!p\E[?3;7;19;67h\E[?4l\E(B\E)0\017\E[2J\E[1;1H$<200>, - rs2=\E[!p\E[?3;7;19;67h\E[?4l\E(B\E)0\017\E[2J\E[1;1H$<200>, - use=ncr260vt200an, -ncr260vt200pp|NCR 2900_260 vt200 with pc+ kybd, - ka1=\E[H, ka3=\EOu, kb2=\E[V, kc3=\E[U, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[4~, - kend=\E[1~, khome=\E[H, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, rmkx=\E>, smkx=\E=, - use=ncr260vt200an, -ncr260vt200wpp|NCR 2900_260 vt200 wide mode pc+ kybd, - cols#132, - cup=\E[%i%p1%d;%p2%dH$<30>, - is2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - rs2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - use=ncr260vt200pp, -ncr260vt300an|NCR 2900_260 vt300 with ansi kybd, - am, hs, mir, msgr, xenl, xon, - cols#80, lines#24, nlab#32, - acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G, - blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[2J\E[1;1H$<20>, cnorm=\E[?25h, cr=\r$<1>, - csr=\E[%i%p1%d;%p2%dr$<5>, cub=\E[%p1%dD$<5>, - cub1=\E[D$<5>, cud=\E[%p1%dB$<5>, cud1=\E[B$<5>, - cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA$<5>, - cuu1=\E[A$<5>, dch=\E[%p1%dP$<5>, dch1=\E[1P$<5>, - dl=\E[%p1%dM$<5>, dl1=\E[M$<5>, dsl=\E[0$~\E[1$~, - ech=\E[%p1%dX$<5>, ed=\E[0J, el=\E[0K$<5>, el1=\E[1K$<5>, - fsl=\E[0$}, home=\E[H, hpa=\E[%p1%dG$<40>, ht=^I, hts=\EH, - ich=\E[%p1%d@$<5>, il=\E[%p1%dL$<5>, il1=\E[L$<5>, - ind=\ED$<5>, indn=\E[%p1%dE$<5>, invis=\E[8m, - is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kf0=\EOy, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, - kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, - kf20=\E[34~, kf21=\E[31~, kf22=\E[32~, kf23=\E[33~, - kf24=\E[34~, kf25=\E[35~, kf26=\E[1~, kf27=\E[2~, - kf28=\E[3~, kf29=\E[4~, kf30=\E[5~, kf31=\E[6~, kf32=\E[7~, - kf33=\E[8~, kf34=\E[9~, kf35=\E[10~, kf5=\E[M, kf6=\E[17~, - kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, - khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - krdo=\E[29~, kslt=\E[4~, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, - nel=\EE, rc=\E8, rev=\E[7m, ri=\EM$<5>, rmacs=\017$<20>, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, - rmul=\E[24m, - rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>, - sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h, - smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, - use=vt220+keypad, -ncr260vt300wan|NCR 2900_260 vt300 wide mode ansi kybd, - cols#132, - cup=\E[%i%p1%d;%p2%dH$<30>, - is2=\E[!p\E[?3;7;19;67h\E[?4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H$<200>, - rs2=\E[!p\E[?3;7;19;67h\E[?4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H$<200>, - use=ncr260vt300an, -ncr260vt300pp|NCR 2900_260 vt300 with pc+ kybd, - ka1=\E[H, ka3=\EOu, kb2=\E[V, kc3=\E[U, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[4~, - kend=\E[1~, khome=\E[H, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, rmkx=\E>, smkx=\E=, - use=ncr260vt300an, -NCR260VT300WPP|ncr260vt300wpp|NCR 2900_260 vt300 wide mode pc+ kybd, - cols#132, - cup=\E[%i%p1%d;%p2%dH$<30>, - is2=\E[!p\E[?3;7;19;67h\E[?1;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - rs2=\E[!p\E[?3;7;19;67h\E[?1;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, - use=ncr260vt300pp, -# This terminfo file contains color capabilities for the Wyse325 emulation of -# the NCR 2900/260C color terminal. Because of the structure of the command -# (escape sequence) used to set color attributes, one of the fore/background -# colors must be preset to a given value. I have set the background color to -# black. The user can change this setup by altering the last section of the -# 'setf' definition. The escape sequence to set color attributes is -# ESC d y 1 -# In addition, the background color can be changed through the desk accessories. -# The capablitiy 'op' sets colors to green on black (default combination). -# -# NOTE: The NCR Unix System Administrator's Shell will not function properly -# if the 'pairs' capability is defined. Un-Comment the 'pairs' -# capability and recompile if you wish to have it included. -# -ncr260wy325pp|NCR 2900_260 wyse 325, - am, bw, hs, km, mc5i, mir, msgr, xon, - colors#16, cols#80, lines#24, ncv#33, nlab#32, - acsc=07a?h;j5k3l2m1n8q\:t4u9v=w0x6, bel=^G, blink=\EG2, - cbt=\EI, civis=\E`0, clear=\E*$<10>, cnorm=\E`1, cr=^M, - cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<10>, cuu1=\013$<5>, - cvvis=\E`5, dch1=\EW$<50>, dl1=\ER$<5>, dsl=\E`c, - ed=\Ey$<5>, el=\Et$<5>, fsl=^M, home=\036$<5>, ht=^I, - hts=\E1, il1=\EE$<5>, ind=\n$<5>, invis=\EG1, - is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - kDC=\ER, kEND=\EY, kHOM=\E{, kNXT=\EK, kPRT=\E7, kPRV=\EJ, - kRIT=^L, ka1=^^, kb2=\EJ, kbs=^H, kc1=\ET, kc3=\EK, kcbt=\EI, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kend=\ET, - kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, - kf14=^AM\r, kf15=^AN\r, kf16=^AO\r, kf17=^A`\r, kf18=^Aa\r, - kf19=^Ab\r, kf2=^AA\r, kf20=^Ac\r, kf21=^Ad\r, kf22=^Ae\r, - kf23=^Af\r, kf24=^Ag\r, kf25=^Ah\r, kf26=^Ai\r, kf27=^Aj\r, - kf28=^Ak\r, kf29=^Al\r, kf3=^AB\r, kf30=^Am\r, kf31=^An\r, - kf32=^Ao\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\Eq, knp=\EK, kpp=\EJ, - kprt=\EP, mc0=\EP, mc4=^T, mc5=^R, - mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<10>, - nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH\003\EcB0, - rmam=\Ed., rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20, - rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - setb=\s, - setf=%?%p1%{0}%=%t%{49}%e%p1%{1}%=%t%{50}%e%p1%{2}%=%t%{51}%e%p1%{3}%=%t%{52}%e%p1%{4}%=%t%{53}%e%p1%{5}%=%t%{54}%e%p1%{6}%=%t%{55}%e%p1%{7}%=%t%{64}%e%p1%{8}%=%t%{57}%e%p1%{9}%=%t%{58}%e%p1%{10}%=%t%{59}%e%p1%{11}%=%t%{60}%e%p1%{12}%=%t%{61}%e%p1%{13}%=%t%{62}%e%p1%{14}%=%t%{63}%e%p1%{15}%=%t%{56}%;\Edy%c11$<100>, - sgr0=\EG0\EcB0\EcD$<15>, smacs=\EH\002\EcB1, smam=\Ed/, - smir=\Eq, smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0, - tsl=\EF, -ncr260wy325wpp|NCR 2900_260 wyse 325 wide mode, - cols#132, - cup=\Ea%i%p1%dR%p2%dC$<30>, - is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - use=ncr260wy325pp, -# This definition for Wyse 350 supports several attributes. This means -# that it has magic cookies (extra spaces where the attributes begin). -# Some applications do not function well with magic cookies. The System -# Administrator's Shell in NCR Unix SVR4 1.03 is one such application. -# If supporting various attributes is not vital, 'xmc#1' and the extra -# attributes can be removed. -# Mapping to ASCII character set ('acsc' capability) can also be -# restored if needed. -# In addition, color capabilities have been added to this file. The drawback, -# however, is that the background color has to be black. The foreground colors -# are numbered 0 through 15. -# -# NOTE: The NCR Unix System Administrator's Shell does not function properly -# with the 'pairs' capability defined as below. If you wish to -# have it included, Un-comment it and recompile (using 'tic'). -# -ncr260wy350pp|NCR 2900_260 wyse 350, - am, bw, hs, km, mc5i, mir, msgr, xon, - colors#16, cols#80, lines#24, ncv#33, nlab#32, pairs#16, xmc#1, - acsc=07a?h;j5k3l2m1n8q\:t4u9v=w0x6, bel=^G, blink=\EG2, - cbt=\EI, civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=^M, - cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<40>, cuu1=\013$<5>, - cvvis=\E`5, dch1=\EW$<50>, dim=\EGp, dl1=\ER$<5>, dsl=\E`c, - ed=\Ey$<5>, el=\Et$<5>, fsl=^M, home=\036$<10>, ht=^I, - hts=\E1, il1=\EE$<5>, ind=\n$<5>, invis=\EG1, - is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - kDC=\ER, kEND=\EY, kHOM=\E{, kPRT=\E7, kRIT=^L, ka1=^^, kbs=^H, - kc1=\ET, kc3=\EK, kcbt=\EI, kcub1=^H, kcud1=^J, kcuf1=^L, - kcuu1=^K, kdch1=\EW, kend=\ET, kf1=^A@\r, kf10=^AI\r, - kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, - kf16=^AO\r, kf17=^A`\r, kf18=^Aa\r, kf19=^Ab\r, kf2=^AA\r, - kf20=^Ac\r, kf21=^Ad\r, kf22=^Ae\r, kf23=^Af\r, kf24=^Ag\r, - kf25=^Ah\r, kf26=^Ai\r, kf27=^Aj\r, kf28=^Ak\r, kf29=^Al\r, - kf3=^AB\r, kf30=^Am\r, kf31=^An\r, kf32=^Ao\r, kf4=^AC\r, - kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, - khome=^^, kich1=\Eq, knp=\EK, kpp=\EJ, kprt=\EP, - mc0=\EP$<10>, mc4=^T, mc5=^R, - mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<20>, - nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH\003\EcB0, - rmam=\Ed., rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20, - rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - setb=\s, - setf=%?%p1%{0}%=%t%{49}%e%p1%{1}%=%t%{50}%e%p1%{2}%=%t%{51}%e%p1%{3}%=%t%{52}%e%p1%{4}%=%t%{53}%e%p1%{5}%=%t%{54}%e%p1%{6}%=%t%{55}%e%p1%{7}%=%t%{102}%e%p1%{8}%=%t%{97}%e%p1%{9}%=%t%{98}%e%p1%{10}%=%t%{99}%e%p1%{11}%=%t%{101}%e%p1%{12}%=%t%{106}%e%p1%{13}%=%t%{110}%e%p1%{14}%=%t%{111}%e%p1%{15}%=%t%{56}%;\Em0%c$<100>, - sgr0=\EG0\EH\003\EcD, smacs=\EH\002\EcB1, smam=\Ed/, - smir=\Eq, smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0, - tsl=\EF, -ncr260wy350wpp|NCR 2900_260 wyse 350 wide mode, - cols#132, - cup=\Ea%i%p1%dR%p2%dC$<30>, - is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<200>, - rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<200>, - use=ncr260wy350pp, -# This definition for Wyse 50+ supports several attributes. This means -# that it has magic cookies (extra spaces where the attributes begin). -# Some applications do not function well with magic cookies. The System -# Administrator's Shell in NCR Unix SVR4 1.03 is one such application. -# If supporting various attributes is not vital, 'xmc#1' and the extra -# attributes can be removed. -# Mapping to ASCII character set ('acsc' capability) can also be -# restored if needed. -# (ncr260wy50+pp: originally contained commented-out -# , as well as the commented-out one there -- esr) -ncr260wy50+pp|NCR 2900_260 wyse 50+, - am, bw, hs, km, mc5i, mir, msgr, xon, - cols#80, lines#24, nlab#32, xmc#1, - acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, blink=\EG2, - cbt=\EI$<5>, civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=^M, - cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<30>, cuu1=\013$<5>, - cvvis=\E`5, dch1=\EW$<50>, dim=\EGp, dl1=\ER$<5>, dsl=\E`c, - ed=\EY$<5>, el=\ET$<5>, fsl=^M, home=\036$<10>, - ht=\011$<5>, hts=\E1$<5>, il1=\EE$<5>, ind=\n$<5>, - invis=\EG1, - is2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - kDC=\ER, kEND=\EY, kHOM=\E{, kPRT=\E7, kRIT=^L, ka1=^^, kbs=^H, - kc1=\ET, kc3=\EK, kcbt=\EI, kcub1=^H, kcud1=^J, kcuf1=^L, - kcuu1=^K, kdch1=\EW, kend=\ET, kf1=^A@\r, kf10=^AI\r, - kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, - kf16=^AO\r, kf17=^A`\r, kf18=^Aa\r, kf19=^Ab\r, kf2=^AA\r, - kf20=^Ac\r, kf21=^Ad\r, kf22=^Ae\r, kf23=^Af\r, kf24=^Ag\r, - kf25=^Ah\r, kf26=^Ai\r, kf27=^Aj\r, kf28=^Ak\r, kf29=^Al\r, - kf3=^AB\r, kf30=^Am\r, kf31=^An\r, kf32=^Ao\r, kf4=^AC\r, - kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, - khome=^^, kich1=\Eq, knp=\EK, kpp=\EJ, kprt=\EP, - mc0=\EP$<10>, mc4=^T, mc5=^R, - mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<10>, - nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH^C, rmam=\Ed., - rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20, - rs2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - sgr0=\EG0\EH\003$<15>, smacs=\EH^B, smam=\Ed/, smir=\Eq, - smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0$<5>, tsl=\EF, -ncr260wy50+wpp|NCR 2900_260 wyse 50+ wide mode, - cols#132, - cup=\Ea%i%p1%dR%p2%dC$<30>, - is2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<200>, - rs2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<200>, - use=ncr260wy50+pp, -ncr260wy60pp|NCR 2900_260 wyse 60, - am, bw, hs, km, mc5i, mir, msgr, xon, - cols#80, lines#24, nlab#32, - acsc=07a?h;j5k3l2m1n8q\:t4u9v=w0x6, bel=^G, blink=\EG2, - cbt=\EI$<15>, civis=\E`0, clear=\E*$<100>, cnorm=\E`1, - cr=^M, cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<10>, cuu1=\013$<5>, - cvvis=\E`5, dch1=\EW$<50>, dl1=\ER$<5>, dsl=\E`c, - ed=\Ey$<5>, el=\Et$<5>, fsl=^M, home=\036$<25>, - ht=\011$<15>, hts=\E1$<15>, il1=\EE$<5>, ind=\n$<5>, - invis=\EG1, - is2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - kDC=\ER, kEND=\EY, kHOM=\E{, kNXT=\EK, kPRT=\E7, kPRV=\EJ, - kRIT=^L, ka1=^^, kb2=\EJ, kbs=^H, kc1=\ET, kc3=\EK, - kcbt=\EI$<15>, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, - kdch1=\EW, kend=\ET, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, - kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r, - kf17=^A`\r, kf18=^Aa\r, kf19=^Ab\r, kf2=^AA\r, kf20=^Ac\r, - kf21=^Ad\r, kf22=^Ae\r, kf23=^Af\r, kf24=^Ag\r, kf25=^Ah\r, - kf26=^Ai\r, kf27=^Aj\r, kf28=^Ak\r, kf29=^Al\r, kf3=^AB\r, - kf30=^Am\r, kf31=^An\r, kf32=^Ao\r, kf4=^AC\r, kf5=^AD\r, - kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, - kich1=\Eq, knp=\EK, kpp=\EJ, kprt=\EP, mc0=\EP, mc4=^T, mc5=^R, - mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<30>, - nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH^C, rmam=\Ed., - rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20, - rs2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`\:\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - sgr0=\EG0\EcB0\EcD$<15>, smacs=\EH^B, smam=\Ed/, - smir=\Eq, smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0$<15>, - tsl=\EF, -ncr260wy60wpp|NCR 2900_260 wyse 60 wide mode, - cols#132, - cup=\Ea%i%p1%dR%p2%dC$<30>, - is2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - rs2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9\Ee7$<100>, - use=ncr260wy60pp, -ncr160vppp|NCR 2900_160 viewpoint, - use=ncr260vppp, -ncr160vpwpp|NCR 2900_160 viewpoint wide mode, - use=ncr260vpwpp, -ncr160vt100an|NCR 2900_160 vt100 with ansi kybd, - use=ncr260vt100an, -ncr160vt100pp|NCR 2900_160 vt100 with PC+ kybd, - use=ncr260vt100pp, -ncr160vt100wan|NCR 2900_160 vt100 wide mode ansi kybd, - use=ncr260vt100wan, -ncr160vt100wpp|NCR 2900_160 vt100 wide mode pc+ kybd, - use=ncr260vt100wpp, -ncr160vt200an|NCR 2900_160 vt200 with ansi kybd, - use=ncr260vt200an, -ncr160vt200pp|NCR 2900_160 vt200 with pc+ kybd, - use=ncr260vt200pp, -ncr160vt200wan|NCR 2900_160 vt200 wide mode ansi kybd, - use=ncr260vt200wan, -ncr160vt200wpp|NCR 2900_160 vt200 wide mode pc+ kybd, - use=ncr260vt200wpp, -ncr160vt300an|NCR 2900_160 vt300 with ansi kybd, - use=ncr260vt300an, -ncr160vt300pp|NCR 2900_160 vt300 with pc+ kybd, - use=ncr260vt300pp, -ncr160vt300wan|NCR 2900_160 vt300 wide mode ansi kybd, - use=ncr260vt300wan, -ncr160vt300wpp|NCR 2900_160 vt300 wide mode pc+ kybd, - use=ncr260vt300wpp, -ncr160wy50+pp|NCR 2900_160 wyse 50+, - use=ncr260wy50+pp, -ncr160wy50+wpp|NCR 2900_160 wyse 50+ wide mode, - use=ncr260wy50+wpp, -ncr160wy60pp|NCR 2900_160 wyse 60, - use=ncr260wy60pp, -ncr160wy60wpp|NCR 2900_160 wyse 60 wide mode, - use=ncr260wy60wpp, -ncrvt100an|ncrvt100pp|NCR vt100 for the 2900 terminal, - am, hs, mc5i, mir, msgr, xon, - cols#80, it#8, lines#24, nlab#32, - acsc=``aaffgghhiijjkkllmmnnqqttuuvvwwxxyyzz~~, - bel=^G, blink=\E[5m$<30>, bold=\E[1m$<30>, - clear=\E[2J\E[1;1H$<300>, cr=^M, - csr=\E[%i%p1%d;%p2%dr$<100>, cub=\E[%p1%dD$<30>, - cub1=\E[D$<2>, cud=\E[%p1%dB$<30>, cud1=\E[B$<2>, - cuf=\E[%p1%dC$<30>, cuf1=\E[C$<2>, - cup=\E[%i%p1%d;%p2%dH$<100>, cuu=\E[%p1%dA$<30>, - cuu1=\E[A$<2>, dch=\E[%p1%dP$<40>, dch1=\E[1P$<10>, - dl=\E[%p1%dM$<70>, dl1=\E[M$<40>, dsl=\E[31l$<25>, - ed=\E[0J$<300>, el=\E[0K$<30>, el1=\E[1K$<30>, - enacs=\E(B\E)0$<40>, fsl=1$<10>, home=\E[H$<2>$<80>, - ht=^I, hts=\EH, il=\E[%p1%dL$<80>, il1=\E[B\E[L$<80>, - ind=\ED, - is2=\E[12h\E[?10l\E%/0n\E[P\031\E[?3l\E(B\E)0$<200>, - kLFT=\E[D, kRIT=\E[C, ka1=\E[H, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kent=^M, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, mc0=\E[i$<100>, nel=\EE, - rc=\E8, rev=\E[7m$<30>, ri=\EM$<50>, rmacs=\017$<90>, - rmir=\E[4l$<80>, rmso=\E[0m$<30>, rmul=\E[0m$<30>, - rs2=\Ec\E[12;31h\E[?3;4;5;10l\E[?6;7;19;25h\E[33;34l\E[0m\E(B\E)0\E%/0n\E[P\031$<200>, - sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<100>, - sgr0=\017\E[0m$<120>, smacs=\016$<90>, smir=\E[4h$<80>, - smso=\E[7m$<30>, smul=\E[4m$<30>, tbc=\E[3g$<40>, - tsl=\E[>+1$<70>, -ncrvt100wan|NCRVT100WPP|ncrvt100wpp|NCR VT100 emulation of the 2900 terminal, - cols#132, - is2=\E[12h\E[?10l\E%/0n\E[P\031\E[?3h\E(B\E)0$<200>, - rs2=\Ec\E[12;31h\E[?4;5;10l\E?3;6;7;19;25h\E[33;34l\E[0m\E(B\E)0\E%/0n\E[P\031$<200>, - use=ncrvt100an, -# -# Vendor-supplied NCR termcaps end here - -# NCR7900 DIP switches: -# -# Switch A: -# 1-4 - Baud Rate -# 5 - Parity (Odd/Even) -# 6 - Don't Send or Do Send Spaces -# 7 - Parity Enable -# 8 - Stop Bits (One/Two) -# -# Switch B: -# 1 - Upper/Lower Shift -# 2 - Typewriter Shift -# 3 - Half Duplex / Full Duplex -# 4 - Light/Dark Background -# 5-6 - Carriage Return Without / With Line Feed -# 7 - Extended Mode -# 8 - Suppress Keyboard Display -# -# Switch C: -# 1 - End of line entry disabled/enabled -# 2 - Conversational mode / (Local?) Mode -# 3 - Control characters displayed / not displayed -# 4 - (2-wire?) / 4-wire communications -# 5 - RTS on and off for each character -# 6 - (50Hz?) / 60 Hz -# 7 - Exit after level zero diagnostics -# 8 - RS-232 interface -# -# Switch D: -# 1 - Reverse Channel (yes / no) -# 2 - Manual answer (no / yes) -# 3-4 - Cursor appearance -# 5 - Communication Rate -# 6 - Enable / Disable EXT turnoff -# 7 - Enable / Disable CR turnoff -# 8 - Enable / Disable backspace -# -# Since each attribute parameter is 0 or 1, we shift each attribute (standout, -# reverse, blink, dim, and underline) the appropriate number of bits (by -# multiplying the 0 or 1 by a correct factor to shift) so the bias character, -# '@' is (effectively) "or"ed with each attribute to generate the proper third -# character in the 0 sequence. The string implements the following -# equation: -# -# ((((('@' + P5) | (P4 << 1)) | (P3 << 3)) | (P2 << 4)) | (p1 * 17)) => -# ((((('@' + P5) + (P4 << 1)) + (P3 << 3)) + (P2 << 4)) + (p1 * 17)) -# -# Where: P1 <==> Standout attribute parameter -# P2 <==> Underline attribute parameter -# P3 <==> Reverse attribute parameter -# P4 <==> Blink attribute parameter -# P5 <==> Dim attribute parameter -# From , init string hacked by SCO. -ncr7900i|ncr7900|ncr 7900 model 1, - am, bw, ul, - cols#80, lines#24, xmc#1, - bel=^G, blink=\E0B, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^F, - cup=\E1%p2%c%p1%c, cuu1=^Z, dim=\E0A, ed=\Ek, el=\EK, ind=^J, - is2=\E0@\010\E3\E4\E7, kcub1=^U, kcud1=^J, kcuf1=^F, - kcuu1=^Z, khome=^A, ll=^A, mc4=^T, mc5=^R, rev=\E0P, rmso=\E0@, - rmul=\E0@, - sgr=\E0%p5%{64}%+%p4%{2}%*%+%p3%{16}%*%+%p2%{32}%*%+%p1%{17}%*%+%c, - sgr0=\E0@, smso=\E0Q, smul=\E0`, -ncr7900iv|ncr 7900 model 4, - am, bw, eslok, hs, - cols#80, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, - cup=\013%p1%{64}%+%c\E\005%p2%02d, dl1=\E^O, dsl=\Ey1, - fsl=\Ek\Ey5, home=\013@\E^E00, il1=\E^N, ind=^J, kbs=^H, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf1=\ES, kf2=\ET, - kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, - khome=\EH, lf6=blue, lf7=red, lf8=white, nel=^M^J, - tsl=\Ej\Ex5\Ex1\EY8%p1%{32}%+%c\Eo, -# Warning: This terminal will lock out the keyboard when it receives a CTRL-D. -# The user can enter a CTRL-B to get out of this locked state. -# In , we want to output the character given by the formula: -# ((col / 10) * 16) + (col % 10) where "col" is "p1" -ncr7901|ncr 7901 model, - am, bw, ul, - cols#80, lines#24, - bel=^G, blink=\E0B, civis=^W, clear=^L, cnorm=^X, cr=^M, - cub1=^H, cud1=^J, cuf1=^F, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, dim=\E0A, - ed=\Ek, el=\EK, - hpa=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%c, ind=^J, - is2=\E4^O, kclr=^L, kcub1=^U, kcud1=^J, kcuf1=^F, kcuu1=^Z, - khome=^H, ll=^A, mc4=^T, mc5=^R, rev=\E0P, rmso=^O, rmul=^O, - sgr=\E0%p5%{64}%+%p4%{2}%*%+%p3%{16}%*%+%p2%{32}%*%+%p1%{17}%*%+%c\016, - sgr0=^O, smso=\E0Q\016, smul=\E0`\016, - vpa=\013%p1%{64}%+%c, - -#### Perkin-Elmer (Owl) -# -# These are official terminfo entries from within Perkin-Elmer. -# - -bantam|pe550|pe6100|perkin elmer 550, - OTbs, - cols#80, lines#24, - bel=^G, clear=\EK$<20>, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA, - el=\EI$<20>, home=\EH, ind=^J, ll=\EH\EA, -fox|pe1100|perkin elmer 1100, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\EH\EJ$<132>, cr=^M, cub1=^H, cud1=^J, - cuf1=\EC, cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA, - ed=\EJ$<5.5*>, el=\EI, flash=\020\002$<200/>\020\003, - home=\EH, hts=\E1, ind=^J, ll=\EH\EA, tbc=\E3, -owl|pe1200|perkin elmer 1200, - OTbs, am, in, - cols#80, lines#24, - bel=^G, clear=\EH\EJ$<132>, cr=^M, cub1=^H, cud1=^J, - cuf1=\EC, cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA, - dch1=\EO$<5.5*>, dl1=\EM$<5.5*>, ed=\EJ$<5.5*>, - el=\EI$<5.5>, flash=\020\002$<200/>\020\003, home=\EH, - hts=\E1, ich1=\EN, il1=\EL$<5.5*>, ind=^J, ip=$<5.5*>, - kbs=^H, kf0=\ERJ, kf1=\ERA, kf2=\ERB, kf3=\ERC, kf4=\ERD, - kf5=\ERE, kf6=\ERF, kf7=\ERG, kf8=\ERH, kf9=\ERI, ll=\EH\EA, - rmso=\E!\0, sgr0=\E!\0, smso=\E!^H, tbc=\E3, -pe1251|pe6300|pe6312|perkin elmer 1251, - am, - cols#80, it#8, lines#24, pb#300, vt#8, xmc#1, - bel=^G, clear=\EK$<332>, cr=^M, cub1=\ED, cud1=\EB, cuf1=\EC, - cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA, - ed=\EJ$<20*>, el=\EI$<10*>, home=\EH, hts=\E1, ind=^J, - kf0=\ERA, kf1=\ERB, kf10=\ERK, kf2=\ERC, kf3=\ERD, kf4=\ERE, - kf5=\ERF, kf6=\ERG, kf7=\ERH, kf8=\ERI, kf9=\ERJ, tbc=\E3, -# (pe7000m: this had -# rmul=\E!\0, smul=\E!\040, -# which is probably wrong, it collides with kf0 -pe7000m|perkin elmer 7000 series monochrome monitor, - am, - cols#80, lines#24, - bel=^G, cbt=\E!Y, clear=\EK, cr=^M, cub1=\ED, cud1=\EB, - cuf1=\EC, cup=\ES%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, - ed=\EJ, el=\EI, home=\EH, ind=^J, - is1=\E!\0\EW 7o\Egf\ES7\s, kbs=^H, kcub1=\E!V, - kcud1=\E!U, kcuf1=\E!W, kcuu1=\E!T, kf0=\E!\0, kf1=\E!^A, - kf10=\E!^J, kf2=\E!^B, kf3=\E!^C, kf4=\E!^D, kf5=\E!^E, - kf6=\E!^F, kf7=\E!^G, kf8=\E!^H, kf9=\E!^I, khome=\E!S, - ll=\ES7\s, ri=\ER, -pe7000c|perkin elmer 7000 series colour monitor, - is1=\E!\0\EW 7o\Egf\Eb0\Ec7\ES7\s, rmso=\Eb0, - rmul=\E!\0, smso=\Eb2, smul=\E!\s, use=pe7000m, - -#### Sperry Univac -# -# Sperry Univac has merged with Burroughs to form Unisys. -# - -# This entry is for the Sperry UTS30 terminal running the TTY -# utility under control of CP/M Plus 1R1. The functionality -# provided is comparable to the DEC vt100. -# (uts30: I added / based on the init string -- esr) -uts30|sperry uts30 with cp/m@1R1, - am, bw, hs, - cols#80, lines#24, wsl#40, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\ER, clear=^L, - cnorm=\ES, cr=^M, csr=\EU%p1%{32}%+%c%p2%{32}%+%c, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\EB, - cuf=\E[%p1%dC, cuf1=\EC, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\EM, - dl=\E[%p1%dM, dl1=\EL, ed=\E[J, el=\E[K, fsl=^M, home=\E[H, - ht=^I, ich=\E[%p1%d@, ich1=\EO, il=\E[%p1%dL, il1=\EN, - ind=^J, indn=\E[%p1%dB, is2=\E[U 7\E[24;1H, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, khome=\E[H, - rc=\EX, rev=\E[7m, rf=/usr/local/share/tabset/vt100, ri=\EI, - rin=\E[%p1%dA, rmacs=\Ed, rmam=\E[?7l, rmso=\E[m, - rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - sc=\EW, sgr0=\E[m, smacs=\EF, smam=\E[?7m, smso=\E[7m, - smul=\E[4m, tsl=\E], uc=\EPB, - -#### Tandem -# -# Tandem builds these things for use with its line of fault-tolerant -# transaction-processing computers. They aren't generally available -# on the merchant market, and so are fairly uncommon. -# - -tandem6510|adm3a repackaged by Tandem, - use=adm3a, - -# A funny series of terminal that TANDEM uses. The actual model numbers -# have a fourth digit after 653 that designates minor variants. These are -# natively block-mode and rather ugly, but they have a character mode which -# this doubtless(?) exploits. There is a 6520 that is slightly dumber. -# (tandem653: had ":sb=\ES:", probably someone's mistake for sf; also, -# removed , no such file -- esr) -tandem653|t653x|Tandem 653x multipage terminal, - OTbs, am, da, db, hs, - cols#80, lines#24, wsl#64, xmc#1, - clear=\EI, cub1=^H, cud1=^J, cuf1=\EC, - cup=\023%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dsl=\Eo\r, - ed=\EJ, el=\EK, fsl=^M, home=\EH, ind=\ES, ri=\ET, rmso=\E6\s, - rmul=\E6\s, sgr0=\E6\s, smso=\E6$, smul=\E60, tsl=\Eo, - -#### Tandy/Radio Shack -# -# Tandy has a line of VDTs distinct from its microcomputers. -# - -dmterm|deskmate terminal, - am, bw, - cols#80, lines#24, - bel=^G, civis=\EG5, clear=\Ej, cnorm=\EG6, cr=^M, cub1=^H, - cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=\EA, dch1=\ES, dl1=\ER, ed=\EJ, el=\EK, home=\EH, ht=^I, - ich1=\EQ, il1=\EP, ind=\EX, invis@, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, kf0=\E1, kf1=\E2, kf2=\E3, kf3=\E4, - kf4=\E5, kf5=\E6, kf6=\E7, kf7=\E8, kf8=\E9, kf9=\E0, - khome=\EH, lf0=f1, lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6, - lf6=f7, lf7=f8, lf8=f9, lf9=f10, ll=\EE, rmul@, smul@, - use=adm+sgr, -dt100|dt-100|Tandy DT-100 terminal, - xon, - cols#80, lines#24, xmc#1, - acsc=jjkkllmmnnqqttuuvvwwxx, bel=^G, civis=\E[?25l, - clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, - csr=\E[%p1%2d;%p2%2dr, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\010\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, - il1=\E[L, ind=^J, is2=\E[?3l\E)0\E(B, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\E[?3i, - kf10=\E[?5i, kf2=\E[2i, kf3=\E[@, kf4=\E[M, kf5=\E[17~, - kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, khome=\E[H, - knp=\E[29~, kpp=\E[28~, lf1=f1, lf2=f2, lf3=f3, lf4=f4, lf5=f5, - lf6=f6, lf7=f7, lf8=f8, ri=\EM, rmacs=^O, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smacs=^N, smso=\E[7m, smul=\E[4m, -dt100w|dt-100w|Tandy DT-100 terminal (wide mode), - cols#132, use=dt100, -dt110|Tandy DT-110 emulating ansi, - xon, - cols#80, lines#24, - acsc=jjkkllmmnnqqttuuvvwwxx, bel=^G, civis=\E[?25l, - clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[0B, cuf1=\E[C, - cup=\010\E[%i%p1%d;%p2%dH, cuu1=\E[0A, dch1=\E[0P, - dl1=\E[0M, ed=\E[0J, el=\E[0K, enacs=\E(B\E)0, home=\E[H, - ht=^I, ich1=\E[0@, il1=\E[0L, ind=^J, is2=\E[?3l\E)0\E(B, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[K, - kf1=\E[1~, kf10=\E[10~, kf2=\E[2~, kf3=\E[3~, kf4=\E[4~, - kf5=\E[5~, kf6=\E[6~, kf7=\E[7~, kf8=\E[8~, kf9=\E[9~, - khome=\E[G, kich1=\E[@, knp=\E[26~, kpp=\E[25~, lf0=f1, - lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf8=f9, - lf9=f10, ri=\EM, rmacs=^O, rmso=\E[m, rmul=\E[m, sgr0=\E[m, - smacs=^N, smso=\E[7m, smul=\E[4m, -pt210|TRS-80 PT-210 printing terminal, - hc, os, - cols#80, - bel=^G, cr=^M, cud1=^J, ind=^J, - -#### Tektronix (tek) -# -# Tektronix tubes are graphics terminals. Most of them use modified -# oscilloscope technology incorporating a long-persistence green phosphor, -# and support vector graphics on a main screen with an attached "dialogue -# area" for interactive text. -# - -tek|tek4012|tektronix 4012, - OTbs, os, - cols#75, lines#35, - bel=^G, clear=\E\014$<1000>, cr=^M, cub1=^H, cud1=^J, - ff=\014$<1000>, is2=\E^O, -# (tek4013: added to suppress tic warnings re / --esr) -tek4013|tektronix 4013, - acsc=, rmacs=\E^O, smacs=\E^N, use=tek4012, -tek4014|tektronix 4014, - cols#81, lines#38, - is2=\E\017\E9, use=tek4012, -# (tek4015: added to suppress tic warnings re / --esr) -tek4015|tektronix 4015, - acsc=, rmacs=\E^O, smacs=\E^N, use=tek4014, -tek4014-sm|tektronix 4014 in small font, - cols#121, lines#58, - is2=\E\017\E\:, use=tek4014, -# (tek4015-sm: added to suppress tic warnings re / --esr) -tek4015-sm|tektronix 4015 in small font, - acsc=, rmacs=\E^O, smacs=\E^N, use=tek4014-sm, -# Tektronix 4023 from Andrew Klossner -# -# You need to have "stty nl2" in effect. Some versions of tset(1) know -# how to set it for you. -# -# It's got the Magic Cookie problem around stand-out mode. If you can't -# live with Magic Cookie, remove the :so: and :se: fields and do without -# reverse video. If you like reverse video stand-out mode but don't want -# it to flash, change the letter 'H' to 'P' in the :so: field. -tek4023|tektronix 4023, - OTbs, am, - OTdN#4, cols#80, lines#24, vt#4, xmc#1, - OTnl=^J, bel=^G, clear=\E\014$<4/>, cr=^M, cub1=^H, cud1=^J, - cuf1=^I, cup=\034%p2%{32}%+%c%p1%{32}%+%c, kbs=^H, - rmso=^_@, smso=^_P, -# It is recommended that you run the 4025 at 4800 baud or less; -# various bugs in the terminal appear at 9600. It wedges at the -# bottom of memory (try "cat /usr/dict/words"); ^S and ^Q typed -# on keyboard don't work. You have to hit BREAK twice to get -# one break at any speed - this is a documented feature. -# Can't use cursor motion because it's memory relative, and -# because it only works in the workspace, not the monitor. -# Same for home. Likewise, standout only works in the workspace. -# -# was commented out since vi and rogue seem to work better -# simulating it with lots of spaces! -# -# and had 145ms of padding, but that slowed down vi's ^U -# and didn't seem necessary. -# -tek4024|tek4025|tek4027|tektronix 4024/4025/4027, - OTbs, am, da, db, - cols#80, it#8, lines#34, lm#0, - bel=^G, clear=\037era\r\n\n, cmdch=^_, cr=^M, - cub=\037lef %p1%d\r, cub1=^H, cud=\037dow %p1%d\r, - cud1=^F^J, cuf=\037rig %p1%d\r, cuf1=\037rig\r, - cuu=\037up %p1%d\r, cuu1=^K, dch1=\037dch\r, - dl=\037dli %p1%d\r\006, dl1=\037dli\r\006, - ed=\037dli 50\r, ht=^I, ich1=\037ich\r \010, - il=\037up\r\037ili %p1%d\r, il1=\037up\r\037ili\r, - ind=^F^J, - is2=!com 31\r\n\037sto 9 17 25 33 41 49 57 65 73\r, - rmkx=\037lea p2\r\037lea p4\r\037lea p6\r\037lea p8\r\037lea f5\r, - smkx=\037lea p4 /h/\r\037lea p8 /k/\r\037lea p6 / /\r\037lea p2 /j/\r\037lea f5 /H/\r, -tek4025-17|tek 4025 17 line window, - lines#17, use=tek4025, -tek4025-17-ws|tek 4025 17 line window in workspace, - is2=!com 31\r\n\037sto 9 17 25 33 41 49 57 65 73\r\037wor 17\r\037mon 17\r, - rmcup=\037mon h\r, rmso=\037att s\r, smcup=\037wor h\r, - smso=\037att e\r, use=tek4025-17, -tek4025-ex|tek4027-ex|tek 4025/4027 w/!, - is2=\037com 33\r\n!sto 9 17 25 33 41 49 57 65 73\r, - rmcup=\037com 33\r, smcup=!com 31\r, use=tek4025, -# Tektronix 4025a -# From: Doug Gwyn -# The following status modes are assumed for normal operation (replace the -# initial "!" by whatever the current command character is): -# !COM 29 # NOTE: changes command character to GS (^]) -# ^]DUP -# ^]ECH R -# ^]EOL -# ^]RSS T -# ^]SNO N -# ^]STO 9 17 25 33 41 49 57 65 73 -# Other modes may be set according to communication requirements. -# If the command character is inadvertently changed, termcap can't restore it. -# Insert-character cannot be made to work on both top and bottom rows. -# Clear-to-end-of-display emulation via !DLI 988 is too grotty to use, alas. -# There also seems to be a problem with vertical motion, perhaps involving -# delete/insert-line, following a typed carriage return. This terminal sucks. -# Delays not specified; use "stty ixon -ixany" to enable DC3/DC1 flow control! -# (tek4025a: removed obsolete ":xx:". This may mean the tek4025a entry won't -# work any more. -- esr) -tek4025a|Tektronix 4025A, - OTbs, OTpt, am, bw, da, db, xon, - cols#80, it#8, lines#34, - bel=^G, cbt=\035bac;, clear=\035era;\n\035rup;, cmdch=^], - cr=^M, cub=\035lef %p1%d;, cub1=^H, cud=\035dow %p1%d;, - cud1=^J, cuf=\035rig %p1%d;, cuf1=\035rig;, - cuu=\035up %p1%d;, cuu1=^K, dch=\035dch %p1%d;, - dch1=\035dch;, dl=\035dli %p1%d;, dl1=\035dli;, - el=\035dch 80;, hpa=\r\035rig %p1%d;, ht=^I, - il1=\013\035ili;, ind=^J, indn=\035dow %p1%d;, - rs2=!com 29\035del 0\035rss t\035buf\035buf n\035cle\035dis\035dup\035ech r\035eol\035era g\035for n\035pad 203\035pad 209\035sno n\035sto 9 17 25 33 41 49 57 65 73\035wor 0;, - tbc=\035sto;, -# From: cbosg!teklabs!davem Wed Sep 16 21:11:41 1981 -# Here's the command file that I use to get rogue to work on the 4025. -# It should work with any program using the old curses (e.g. it better -# not try to scroll, or cursor addressing won't work. Also, you can't -# see the cursor.) -# (This "learns" the arrow keys for rogue. I have adapted it for termcap - mrh) -tek4025-cr|tek 4025 for curses and rogue, - OTbs, am, - cols#80, it#8, lines#33, - clear=\037era;, cub1=^H, cud1=^F^J, cuf1=\037rig;, - cup=\037jum%i%p1%d\,%p2%d;, cuu1=^K, ht=^I, ind=^F^J, - is2=!com 31\r\n\037sto 9 17 25 33 41 49 57 65 73\r, - rmcup=\037wor 0, smcup=\037wor 33h, -# next two lines commented out since curses only allows 128 chars, sigh. -# :ti=\037lea p1/b/\037lea p2/j/\037lea p3/n/\037lea p4/h/\037lea p5/ /\037lea p6/l/\037lea p7/y/\037lea p8/k/\037lea p9/u/\037lea p./f/\037lea pt/`era w/13\037lea p0/s/\037wor 33h:\ -# :te=\037lea p1\037lea p2\037lea p3\037lea p4\037lea pt\037lea p5\037lea p6\037lea p7\037lea p8\037lea p9/la/13\037lea p.\037lea p0\037wor 0: -tek4025ex|4025ex|4027ex|tek 4025 w/!, - is2=\037com 33\r\n!sto 9\,17\,25\,33\,41\,49\,57\,65\,73\r, - rmcup=\037com 33\r, smcup=!com 31\r, use=tek4025, -tek4105|tektronix 4105, - OTbs, am, mir, msgr, ul, xenl, xt, - cols#79, it#8, lines#29, - acsc=, bel=^G, blink=\E[=3;<7m, bold=\E[=7;<4m, cbt=\E[Z, - clear=\E[2J\E[H, cr=^M, cud1=\E[1B, cuf1=\E[1C, - cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[1A, dch1=\E[1P, - dim=\E[=1;<6m, dl1=\E[1M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, - il1=\E[1L, ind=\E[S, invis=\E[=6;<5, is1=\E%!1\E[m, - is2=\E%!1\E[?6141\E[m, kbs=^H, kcub1=\E[1D, kcud1=\E[1B, - kcuf1=\E[1C, kcuu1=\E[1A, rev=\E[=1;<3m, ri=\E[T, - rmacs=\E[m, rmcup=, rmir=\E[4l, rmso=\E[=0;<1m, - rmul=\E[=0;<1m, sgr0=\E[=0;<1m, smacs=\E[1m, - smcup=\E%!1\E[?6l\E[2J, smir=\E[4h, smso=\E[=2;<3m, - smul=\E[=5;<2m, tbc=\E[1g, - -# (tek4105-30: I added / based on the init string -- esr) -tek4105-30|4015 emulating 30 line vt100, - am, mir, msgr, xenl, xon, - cols#80, it#8, lines#30, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C$<2>, - cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, - cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>, - enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8, - rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, - rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>, - sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, - smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, - use=vt100+fnkeys, - -# Tektronix 4105 from BRL -# The following setup modes are assumed for normal operation: -# CODE ansi CRLF no DABUFFER 141 -# DAENABLE yes DALINES 30 DAMODE replace -# DAVISIBILITY yes ECHO no EDITMARGINS 1 30 -# FLAGGING input INSERTREPLACE replace LFCR no -# ORIGINMODE relative PROMPTMODE no SELECTCHARSET G0 B -# SELECTCHARSET G1 0 TABS -2 -# Other setup modes may be set for operator convenience or communication -# requirements; I recommend -# ACURSOR 1 0 AUTOREPEAT yes AUTOWRAP yes -# BYPASSCANCEL CURSORKEYMODE no DAINDEX 1 0 0 -# EOFSTRING '' EOLSTRING EOMCHARS -# GAMODE overstrike GCURSOR 0 100 0 GSPEED 10 1 -# IGNOREDEL no KEYEXCHAR
NVDEFINE -53 "" -# PROMPTSTRING '' QUEUESIZE 2460 WINDOW 0 0 4095 3132 -# XMTDELAY 0 -# and factory color maps. After setting these modes, save them with NVSAVE. No -# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control! -# "IC" cannot be used in combination with "im" & "ei". -# "tek4105a" is just a guess: -tek4105a|Tektronix 4105, - OTbs, OTpt, msgr, xon, - OTkn#8, cols#80, it#8, lines#30, vt#3, - acsc=, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, - civis=\E%!0\ETD00\E%!1, clear=\E[H\E[J, - cnorm=\E%!0\ETD10\E%!1, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\EM, cvvis=\E%!0\ETD70\E%!1, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\EH, - il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, is2=\E%!1, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf0=\EOA, kf1=\EOB, kf2=\EOC, kf3=\EOD, kf4=\EOP, kf5=\EOQ, - kf6=\EOR, kf7=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4, lf4=F5, - lf5=F6, lf6=F8, ll=\E[30;H, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, - rin=\E[%p1%dT, rmacs=^O, rmcup=\E%!0\ELBH=\E%!1, - rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs2=\030\E%!0\EKC\E\014\EKR0\EKF0\ENM0\ELBH=\ETF8000010F40\ELI100\ELLA>\ELM0\EKE0\ENF1\EKS0\END0\E%!1\Ec\E[?3;5l\E[?7;8h\E[r\E[m\E>, - sc=\E7, sgr0=\E[m, smacs=^N, smcup=\E[?6l, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - -# -# Tektronix 4106/4107/4109 from BRL -# The following setup modes are assumed for normal operation: -# CODE ansi COLUMNMODE 80 CRLF no -# DABUFFER 141 DAENABLE yes DALINES 32 -# DAMODE replace DAVISIBILITY yes ECHO no -# EDITMARGINS 1 32 FLAGGING input INSERTREPLACE replace -# LFCR no LOCKKEYBOARD no ORIGINMODE relative -# PROMPTMODE no SELECTCHARSET G0 B SELECTCHARSET G1 0 -# TABS -2 -# Other setup modes may be set for operator convenience or communication -# requirements; I recommend -# ACURSOR 1 0 AUTOREPEAT yes AUTOWRAP yes -# BYPASSCANCEL CURSORKEYMODE no DAINDEX 1 0 0 -# EOFSTRING '' EOLSTRING EOMCHARS -# GAMODE overstrike GCURSOR 0 100 0 GSPEED 9 3 -# IGNOREDEL no KEYEXCHAR
NVDEFINE -53 "" -# PROMPTSTRING '' QUEUESIZE 2620 WINDOW 0 0 4095 3132 -# XMTDELAY 0 -# and factory color maps. After setting these modes, save them with NVSAVE. No -# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control! -# "IC" cannot be used in combination with "im" & "ei". -tek4106brl|tek4107brl|tek4109brl|Tektronix 4106 4107 or 4109, - msgr, xon, - cols#80, it#8, lines#32, vt#3, - acsc=, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, - civis=\E%!0\ETD00\E%!1, clear=\E[H\E[J, - cnorm=\E%!0\ETD10\E%!1, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\EM, cvvis=\E%!0\ETD70\E%!1, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\EH, - il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, is2=\E%!1, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf0=\EOA, kf1=\EOB, kf2=\EOC, kf3=\EOD, kf4=\EOP, kf5=\EOQ, - kf6=\EOR, kf7=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4, lf4=F5, - lf5=F6, lf6=F8, ll=\E[32;H, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, - rin=\E[%p1%dT, rmacs=^O, rmcup=\E%!0\ELBH=\E%!1, - rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs1=\030\E%!0\EKC\E\014\EKR0\EKF0\ENM0\ELBH=\ETF8000010F40\ELI100\ELLB0\ELM0\EKE0\ENF1\EKS0\END0\ERE0\E%!1\Ec\E[?3;5l\E[?7;8h\E[r\E[m\E>, - sc=\E7, sgr0=\E[m, smacs=^N, smcup=\E[?6l, smir=\E[4h, - smkx=\E[?1h\E=, smso=\E[7;42m, smul=\E[4m, tbc=\E[3g, - -tek4107|tek4109|tektronix terminals 4107 4109, - OTbs, am, mir, msgr, ul, xenl, xt, - cols#79, it#8, lines#29, - bel=^G, blink=\E%!1\E[5m$<2>\E%!0, - bold=\E%!1\E[1m$<2>\E%!0, clear=\ELZ, cnorm=\E%!0, cr=^M, - cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\E%!3, - dim=\E%!1\E[<0m$<2>\E%!0, ed=\EJ, el=\EK, ht=^I, ind=^J, - kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - rev=\E%!1\E[7m$<2>\E%0, ri=\EI, - rmso=\E%!1\E[m$<2>\E%!0, rmul=\E%!1\E[m$<2>\E%!0, - sgr=\E%%!1\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>\E%%!0, - sgr0=\E%!1\E[m$<2>\E%!0, smso=\E%!1\E[7;5m$<2>\E%!0, - smul=\E%!1\E[4m$<2>\E%!0, -# Tektronix 4207 with sysline. In the ancestral termcap file this was 4107-s; -# see the note attached to tek4207. -tek4207-s|Tektronix 4207 with sysline but no memory, - eslok, hs, - dsl=\E7\E[?6l\E[2K\E[?6h\E8, fsl=\E[?6h\E8, - is1=\E%!1\E[2;32r\E[132D\E[2g\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[J, - is2=\E7\E[?6l\E[2K\E[?6h\E8, - tsl=\E7\E[?6l\E[2K\E[;%i%df, use=tek4107, - -# The 4110 series may be a wonderful graphics series, but they make the 4025 -# look good for screen editing. In the dialog area, you can't move the cursor -# off the bottom line. Out of the dialog area, ^K moves it up, but there -# is no way to scroll. -# -# Note that there is a floppy for free from Tek that makes the -# 4112 emulate the vt52 (use the vt52 termcap). There is also -# an expected enhancement that will use ANSI standard sequences. -# -# 4112 in non-dialog area pretending to scroll. It really wraps -# but vi is said to work (more or less) in this mode. -# -# 'vi' works reasonably well with this entry. -# -otek4112|o4112-nd|otek4113|otek4114|old tektronix 4110 series, - am, - cols#80, lines#34, - bel=^G, clear=\E^L, cr=^M, cub1=^H, cud1=^J, cuu1=^K, ind=^J, - rmcup=\EKA1\ELV1, smcup=\EKA0\ELV0\EMG0, -# The 4112 with the ANSI compatibility enhancement -tek4112|tek4114|tektronix 4110 series, - OTbs, am, db, - cols#80, lines#34, - cbt=\E[Z, clear=\E[2J\E[0;0H, cub1=^H, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\EM, dch1=\E[P, dl1=\E[M, - ed=\E[0J, el=\E[0K, ich1=\E[@, il1=\E[L, - ind=\E7\E[0;0H\E[M\E8, is2=\E3!1, ri=\E7\E[0;0H\E[L\E8, - rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m, -tek4112-nd|4112 not in dialog area, - OTns, - cuu1=^K, use=tek4112, -tek4112-5|4112 in 5 line dialog area, - lines#5, use=tek4112, -# (tek4113: this used to have "", someone's mistake; -# removed ", ", which had been commented out in 8.3. -# Note, the !0 and !1 sequences in /// were -# previously \0410 and \0411 sequences...I don't *think* they were supposed -# to be 4-digit octal -- esr) -tek4113|tektronix 4113 color graphics with 5 line dialog area, - OTbs, am, da, eo, - cols#80, lines#5, - clear=\ELZ, cub1=^H, cud1=^J, cuf1=\ELM1 \ELM0, - flash=\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERB0, - is2=\EKA1\ELL5\ELV0\ELV1, uc=\010\ELM1_\ELM0, -tek4113-34|tektronix 4113 color graphics with 34 line dialog area, - lines#34, - is2=\EKA1\ELLB2\ELV0\ELV1, use=tek4113, -# :ns: left off to allow vi visual mode. APL font (:as=\E^N:/:ae=\E^O:) not -# supported here. :uc: is slow, but looks nice. Suggest setenv MORE -up . -# :vb: needs enough delay to let you see the background color being toggled. -tek4113-nd|tektronix 4113 color graphics with no dialog area, - OTbs, am, eo, - cols#80, it#8, lines#34, - clear=\E^L, cub1=^H, cud1=^J, cuf1=^I, cuu1=^K, - cvvis=\ELZ\EKA0, - flash=\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERB0, - home=\ELF7l\177 @, ht=^I, is2=\ELZ\EKA0\ELF7l\177 @, - ll=\ELF hl @, rmso=\EMT1, smso=\EMT2, uc=\010\EMG1_\EMG0, -# This entry is from Tek. Inc. (Brian Biehl) -# (tek4115: :bc: renamed to :le:, / added based on init string -- esr) -otek4115|Tektronix 4115, - OTbs, am, da, db, eo, - cols#80, it#8, lines#34, - cbt=\E[Z, clear=\E[H\E[2J, - cnorm=\E%!0\ELBG8\E%!1\E[34;1H, cub1=\E[D, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - cvvis=\E%!0\ELBB2\E%!1, dch1=\E[P, dl1=\E[M, ed=\E[J, - el=\E[K, home=\E[H, ht=^I, if=/usr/local/share/tabset/vt100, - il1=\E[L, - is2=\E%!0\E%\014\ELV0\EKA1\ELBB2\ENU@=\ELLB2\ELM0\ELV1\EKYA?\E%!1\E[<1l\E[?7h\E[?8h\E[34;1H\E[34B\E[m, - kbs=^H, ri=\EM, rmam=\E[?7l, - rmcup=\E%!0\ELBG8\E%!1\E[34;1H\E[J, rmir=\E[4l, - rmkx=\E>, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smam=\E[?7h, - smcup=\E%!0\ELBB2\E%!1, smir=\E[4h, smkx=\E=, smso=\E[7m, - smul=\E[4m, -tek4115|newer tektronix 4115 entry with more ANSI capabilities, - am, xon, - cols#80, lines#34, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, - cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, hpa=\E[%p1%{1}%+%dG, - ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, - il1=\E[L, ind=^J, invis=\E[8m, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, - rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, rmam=\E[?7l, - rmso=\E[m, rmul=\E[m, - sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m, - sgr0=\E[m, smam=\E[?7h, smso=\E[7m, smul=\E[4m, tbc=\E[2g, - vpa=\E[%p1%{1}%+%dd, -# The tek4125 emulates a vt100 incorrectly - the scrolling region -# command is ignored. The following entry replaces with the needed -# , , and ; removes some cursor pad commands that the tek4125 -# chokes on; and adds a lot of initialization for the tek dialog area. -# Note that this entry uses all 34 lines and sets the cursor color to green. -# Steve Jacobson 8/85 -# (tek4125: there were two "\!"s in the is that I replaced with "\E!"; -# commented out, =\E1 because there's no -- esr) -tek4125|tektronix 4125, - lines#34, - csr@, dl1=\E[1M, il1=\E[1L, - is2=\E%\E!0\EQD1\EUX03\EKA\ELBB2\ELCE0\ELI100\ELJ2\ELLB2\ELM0\ELS1\ELX00\ELV1\E%\E!1\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - rc@, sc@, smkx=\E=, use=vt100, - -# From: -# (tek4207: This was the termcap file's entry for the 4107/4207, but SCO -# supplied another, less capable 4107 entry. So we'll use that for 4107 and -# note that if jcoker wasn't confused you may be able to use this one. -# I merged in ,,,, from a BRL entry -- esr) -tek4207|Tektronix 4207 graphics terminal with memory, - am, bw, mir, msgr, ul, xenl, - cols#80, it#8, lines#32, - blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J$<156/>, - cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu1=\EM, dch1=\E[P$<4/>, dl1=\E[M$<3/>, ed=\E[J, - el=\E[K$<5/>, home=\E[H, ht=^I, ich1=\E[@$<4/>, - il1=\E[L$<3/>, ind=\E[S, invis=\E[=6;<5, - is2=\E%!0\ELBP0\E%!1\E[H\E[2g\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[J, - kcub1=\E[D, kcud1=\ED, kcuf1=\E[C, kcuu1=\EM, khome=\E[H, - rev=\E[7m, ri=\E[T, - rmcup=\E[?6h\E%!0\ELBP0\E%!1\E[32;1f, rmso=\E[m, - rmul=\E[m, sgr0=\E[m, smcup=\E[?6l\E[H\E[J, smso=\E[7m, - smul=\E[4m, tbc=\E[1g, - -# From: Thu Oct 31 12:54:27 1985 -# (tek4404: There was a "\!" in that I replaced with "\E!". -# Tab had been given as \E2I,that must be the tab-set capability -- esr) -tek4404|tektronix 4404, - OTbs, - cols#80, it#8, lines#32, - blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, - csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[1M, - ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\E[2I, il1=\E[1L, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, rc=\E8, - rmcup=\E[1;1H\E[0J\E[?6h\E[?1l, rmir=\E[4l, - rmkx=\E[?1h, rmso=\E[27m, rmul=\E[m, sc=\E7, sgr0=\E[m, - smcup=\E%\E!1\E[1;32r\E[?6l\E>, smir=\E[4h, - smkx=\E[?1l, smso=\E[7m, smul=\E[4m, -# Some unknown person wrote: -# I added the is string - straight Unix has ESC ; in the login -# string which sets a ct8500 into monitor mode (aka 4025 snoopy -# mode). The is string here cleans up a few things (but not -# everything). -ct8500|tektronix ct8500, - am, bw, da, db, - cols#80, lines#25, - bel=^G, cbt=\E^I, clear=\E^E, cr=^M, cub1=^H, cud1=^J, - cuf1=\ES, cup=\E|%p1%{32}%+%c%p2%{32}%+%c, cuu1=\ER, - dch1=\E^], dl1=\E^M, ed=\E^U, el=\E^T, ht=^I, ich1=\E^\, - il1=\E^L, ind=^J, is2=\037\EZ\Ek, ri=\E^A, rmso=\E\s, - rmul=\E\s, sgr0=\E\s, smso=\E$, smul=\E!, - -# Tektronix 4205 terminal. -# -# am is not defined because the wrap around occurs not when the char. -# is placed in the 80'th column, but when we are attempting to type -# the 81'st character on the line. (esr: hmm, this is like the vt100 -# version of xenl, perhaps am + xenl would work!) -# -# Bold, dim, and standout are simulated by colors and thus not allowed -# with colors. The tektronix color table is mapped into the RGB color -# table by setf/setb. All colors are reset to factory specifications by oc. -# The cap uses RGB notation to define colors. for arguments 1-3 the -# interval (0-1000) is broken into 8 smaller sub-intervals (125). Each sub- -# interval then maps into pre-defined value. -tek4205|tektronix 4205, - ccc, mir, msgr, - colors#8, cols#80, it#8, lines#30, ncv#49, pairs#63, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[=7;<4m, cbt=\E[Z, - clear=\E[2J\E[H, cr=^M, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch1=\E[1P, dim=\E[=1;<6m, dl1=\E[1M, ech=\E%p1%dX, - ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, home=\E[H, ht=^I, - ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[1L, ind=\ED, - initc=\E%%!0\ETF4%?%p1%{0}%=%t0%e%p1%{1}%=%t4%e%p1%{2}%=%t3%e%p1%{3}%=%t5%e%p1%{4}%=%t2%e%p1%{5}%=%t6%e%p1%{6}%=%t7%e1%;%?%p2%{125}%<%t0%e%p2%{250}%<%tA2%e%p2%{375}%<%tA?%e%p2%{500}%<%tC8%e%p2%{625}%<%tD4%e%p2%{750}%<%tE1%e%p2%{875}%<%tE\:%eF4%;%?%p3%{125}%<%t0%e%p3%{250}%<%tA2%e%p3%{375}%<%tA?%e%p3%{500}%<%tC8%e%p3%{625}%<%tD4%e%p3%{750}%<%tE1%e%p3%{875}%<%tE\:%eF4%;%?%p4%{125}%<%t0%e%p4%{250}%<%tA2%e%p4%{375}%<%tA?%e%p4%{500}%<%tC8%e%p4%{625}%<%tD4%e%p4%{750}%<%tE1%e%p4%{875}%<%tE\:%eF4%;\E%%!1, - invis=\E[=6;<5, is1=\E%!0\ETM1\E%!1\E[m, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\EOA, - kf1=\EOB, kf2=\EOC, kf3=\EOD, kf4=\EP, kf5=\EQ, kf6=\ER, - kf7=\ES, - oc=\E%!0\ETFB000001F4F4F42F40030F404A4C because of a bug in old vi (if stty says you have -# a "newline" style terminal (-crmode) vi figures all it needs is nl -# to get crlf, even if is not ^M.) -# (tty40: removed obsolete ":nl=\EG\EB:", it's just do+cr -- esr) -tty40|ds40|ds40-2|dataspeed40|teletype dataspeed 40/2, - OTbs, xon, - cols#80, lines#24, - clear=\EH$<20>\EJ$<80>, cr=\EG, cub1=^H, cud1=\EB, - cuf1=\EC, cuu1=\E7, dch1=\EP$<50>, dl1=\EM$<50>, - ed=\EJ$<75>, home=\EH$<10>, ht=\E@$<10>, hts=\E1, - ich1=\E\^$<50>, il1=\EL$<50>, ind=\ES$<20>, kbs=^], - kcub1=^H, mc4=^T, mc5=\022$<2000>, ri=\ET$<10>, rmso=\E4, - rs2=\023\ER$<60>, smso=\E3, tbc=\EH\E2$<80>, -tty43|model 43 teletype, - OTbs, am, hc, os, xon, - cols#132, - bel=^G, cr=^M, cub1=^H, cud1=^J, ind=^J, kbs=^H, - -#### Tymshare -# - -# You can add to put this 40-column mode, though I can't -# for the life of me think why anyone would want to. -scanset|sc410|sc415|Tymshare Scan Set, - am, bw, msgr, - cols#80, lines#24, - acsc=j%k4l, sc=^B, smacs=^N, - -#### Volker-Craig (vc) -# -# If you saw a Byte Magazine cover with a terminal on it during the early -# 1980s, it was probably one of these. Carl Helmers liked them because -# they could crank 19.2 and were cheap (that is, he liked them until he tried -# to program one...) -# - -# Missing in vc303a and vc303 descriptions: they scroll 2 lines at a time -# every other linefeed. -vc303|vc103|vc203|volker-craig 303, - OTbs, OTns, am, - cols#80, lines#24, - bel=^G, clear=\014$<40>, cr=^M, cub1=^H, cud1=^J, cuf1=^I, - cuu1=^N, home=\013$<40>, kcub1=^H, kcud1=^J, kcuf1=^I, - kcuu1=^N, ll=\017$<1>W, -vc303a|vc403a|volker-craig 303a, - clear=\030$<40>, cuf1=^U, cuu1=^Z, el=\026$<20>, - home=\031$<40>, kcuf1=^U, kcuu1=^Z, ll=^P, use=vc303, -# (vc404: removed obsolete ":ma=^Z^P^U :" -- esr) -vc404|volker-craig 404, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\030$<40>, cr=^M, cub1=^H, cud1=^J, cuf1=^U, - cup=\020%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, - ed=\027$<40>, el=\026$<20>, home=\031$<40>, ind=^J, - kcub1=^H, kcud1=^J, kcuf1=^U, kcuu1=^Z, -vc404-s|volker-craig 404 w/standout mode, - cud1=^J, rmso=^O, smso=^N, use=vc404, -# From: -# (vc414: merged in cup/dl1/home from an old vc414h-noxon) -vc414|vc414h|Volker-Craig 414H in sane escape mode., - OTbs, am, - cols#80, lines#24, - clear=\E\034$<40>, cud1=\E^K, cuf1=^P, - cup=\E\021%p2%c%p1%c$<40>, cuu1=\E^L, dch1=\E3, - dl1=\E\023$<40>, ed=\E^X, el=\E\017$<10/>, home=\E^R, - ich1=\E\:, il1=\E\032$<40>, kcub1=^H, kcud1=\E^K, kcuf1=^P, - kcuu1=\E^L, kf0=\EA, kf1=\EB, kf2=\EC, kf3=\ED, kf4=\EE, - kf5=\EF, kf6=\EG, kf7=\EH, khome=\E^R, lf0=PF1, lf1=PF2, - lf2=PF3, lf3=PF4, lf4=PF5, lf5=PF6, lf6=PF7, lf7=PF8, - rmso=\E^_, smso=\E^Y, -vc415|volker-craig 415, - clear=^L, use=vc404, - -######## OBSOLETE PERSONAL-MICRO CONSOLES AND EMULATIONS -# - -#### IBM PC and clones -# - -# The pcplot IBM-PC terminal emulation program is really messed up. It is -# supposed to emulate a vt-100, but emulates the wraparound bug incorrectly, -# doesn't support scrolling regions, ignores add line commands, and ignores -# delete line commands. Consequently, the resulting behavior looks like a -# crude adm3a-type terminal. -# Steve Jacobson 8/85 -pcplot|pc-plot terminal emulation program, - xenl@, - csr@, dl@, dl1@, il@, il1@, rc@, sc@, use=vt100, -# KayPro II from Richard G Turner -# I've found that my KayPro II, running MDM730, continues to emulate an -# ADM-3A terminal, just like I was running TERM.COM. On our 4.2 UNIX -# system the following termcap entry works well: -# I have noticed a couple of minor glitches, but nothing I can't work -# around. (I added two capabilities from the BRL entry -- esr) -kaypro|kaypro2|kaypro II, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\032$<1/>, cr=^M, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dl1=\ER, ed=^W, - el=^X, home=^^, il1=\EE, ind=^J, kcud1=^J, kcuf1=^L, kcuu1=^K, - -# From IBM, Thu May 5 19:35:27 1983 -# (ibmpc: commented out =\200R because we don't know -- esr) -ibm-pc|ibm5051|5051|IBM Personal Computer (no ANSI.SYS), - OTbs, am, - cols#80, lines#24, - bel=^G, clear=^L^K, cr=^M^^, cub1=^], cud1=^J, cuf1=^\, - cuu1=^^, home=^K, ind=\n$<10>, kcud1=^_, - -ibmpc|wy60-PC|wyse60-PC|IBM PC/XT running PC/IX, - OTbs, am, bw, eo, hs, km, msgr, ul, - cols#80, it#8, lines#24, - acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\Ec, cr=^M, - cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, ech=\E[%p1%dX, ed=\E[J, el=\E[K, - home=\E[H, hpa=\E[%i%p1%dG, ind=\E[S\E[B, - indn=\E[%p1%dS\E[%p1%dB, invis=\E[30;40m, kbs=^H, - kcbt=^], kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\177, kend=\E[Y, kf1=\240, kf10=\251, kf2=\241, - kf3=\242, kf4=\243, kf5=\244, kf6=\245, kf7=\246, kf8=\247, - kf9=\250, khome=\E[H, kich1=\E[^H, knp=\E[U, kpp=\E[V, - ll=\E[24;1H, nel=^M, rev=\E[7m, ri=\E[T\E[A, - rin=\E[%p1%dT\E[%p1%dA, rmso=\E[m, rmul=\E[m, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m, - sgr0=\E[m, smso=\E[7m, smul=\E[4m, - -#### Apple II -# -# Apple II firmware console first, then various 80-column cards and -# terminal emulators. For two cents I'd toss all these in the UFO file -# along with the 40-column apple entries. -# - -# From: brsmith@umn-cs.cs.umn.edu (Brian R. Smith) via BRL -# 'it#8' tells UNIX that you have tabs every 8 columns. This is a -# function of TIC, not the firmware. -# The clear key on a IIgs will do something like clear-screen, -# depending on what you're in. -appleIIgs|appleIIe|appleIIc|Apple 80 column firmware interface, - OTbs, am, bw, eo, msgr, - cols#80, it#8, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^\, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^], - home=^Y, ht=^I, ind=^W, kbs=^H, kclr=^X, kcub1=^H, kcud1=^J, - kcuf1=^U, kcuu1=^K, kdch1=\177, nel=^M^W, ri=^V, rmso=^N, - smso=^O, -# Apple //e with 80-column card, entry from BRL -# The modem interface is permitted to discard LF (maybe DC1), otherwise -# passing characters to the 80-column firmware via COUT (PR#3 assumed). -# Auto-wrap does not work right due to newline scrolling delay, which also -# requires that you set "stty cr2". -# Note: Cursor addressing is only available via the Pascal V1.1 entry, -# not via the BASIC PR#3 hook. All this nonsense can be avoided only by -# using a terminal emulation program instead of the built-in firmware. -apple2e|Apple //e, - bw, msgr, - cols#80, lines#24, - bel=^G, clear=\014$<100/>, cub1=^H, cud1=^J, cuu1=^_, - ed=\013$<4*/>, el=\035$<4/>, home=^Y, ht=^I, ind=^W, - is2=^R^N, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^U, kcuu1=^K, - nel=\r$<100/>, rev=^O, ri=^V, rmso=^N, rs1=^R^N, sgr0=^N, - smso=^O, -# mcvax!vu44!vu45!wilcke uses the "ap" entry together with Ascii Express Pro -# 4.20, with incoming and outgoing terminals both on 0, emulation On. -apple2e-p|Apple //e via Pascal, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, kbs=^H, kcub1=^H, - kcud1=^J, use=apple2e, -# (ASCII Express) MouseTalk "Standard Apple //" emulation from BRL -# Enable DC3/DC1 flow control with "stty ixon -ixany". -apple-ae|ASCII Express, - OTbs, am, bw, msgr, nxon, xon, - cols#80, it#8, lines#24, - bel=\007$<500/>, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^U, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^], - home=^Y, ind=^W, is2=^R^N, kclr=^X, kcub1=^H, kcud1=^J, - kcuf1=^U, kcuu1=^K, rev=^O, ri=^V, rmso=^N, rs1=^R^N, sgr0=^N, - smso=^O, -appleII|apple ii plus, - OTbs, am, - cols#80, it#8, lines#24, - clear=^L, cnorm=^TC2, cub1=^H, cud1=^J, cuf1=^\, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, cvvis=^TC6, - ed=^K, el=^], flash=\024G1$<200/>\024T1, home=\E^Y, ht=^I, - is2=\024T1\016, kcud1=^J, kcuf1=^U, rmso=^N, sgr0=^N, - smso=^O, -# Originally by Gary Ford 21NOV83 -# From: Fri Oct 11 21:27:00 1985 -apple-80|apple II with smarterm 80 col, - OTbs, am, bw, - cols#80, lines#24, - cbt=^R, clear=\014$<10*/>, cr=\r$<10*/>, cub1=^H, cud1=^J, - cuf1=^\, cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, - ed=\013$<10*/>, el=\035$<10/>, home=^Y, -apple-soroc|apple emulating soroc 120, - am, - cols#80, lines#24, - bel=^G, clear=\E*$<300>, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EY, el=\ET, - home=^^, ind=^J, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, -# From Peter Harrison, Computer Graphics Lab, San Francisco -# ucbvax!ucsfmis!harrison .....uucp -# ucbvax!ucsfmis!harrison@BERKELEY .......ARPA -# "These two work. If you don't have the inverse video chip for the -# Apple with videx then remove the :so: and :se: fields." -# (apple-videx: this used to be called DaleApple -- esr) -apple-videx|Apple with videx videoterm 80 column board with inverse video, - OTbs, am, xenl, - cols#80, it#8, lines#24, - clear=\014$<300/>, cub1=^H, cud1=^J, cuf1=^\, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^], - home=^Y, ht=^I, kcub1=^H, kcud1=^J, kcuf1=^U, khome=^Y, - rmso=^Z2, sgr0=^Z2, smso=^Z3, -# My system [for reference] : Apple ][+, 64K, Ultraterm display card, -# Apple Cat ][ 212 modem, + more all -# controlled by ASCII Express: Pro. -# From Dave Shaver -apple-uterm-vb|Videx Ultraterm for Apple micros with Visible Bell, - OTbs, am, eo, xt, - cols#80, lines#24, - acsc=, clear=^L, cuf1=^\, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^], - flash=^W35^W06, home=^Y, - is2=^V4^W06\017\rVisible Bell Installed.\016\r\n, - rmso=^N, smso=^O, -apple-uterm|Ultraterm for Apple micros, - OTbs, am, eo, xt, - cols#80, lines#24, - acsc=, clear=^L, cuf1=^\, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^], - home=^Y, is2=^V4^W06\016, rmso=^N, smso=^O, -# from trwrba!bwong (Bradley W. Wong): -# -# This entry assumes that you are using an apple with the UCSD Pascal -# language card. SYSTEM.MISCINFO is assumed to be the same as that -# supplied with the standard apple except that screenwidth should be set -# using SETUP to 80 columns. Note that the right arrow in not mapped in -# this termcap entry. This is because that key, on the Apple, transmits -# a ^U and would thus preempt the more useful "up" function of vi. -# -# HMH 2/23/81 -apple80p|80-column apple with Pascal card, - am, bw, - cols#80, lines#24, - clear=^Y^L, cuf1=^\\:, - cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^], - home=^Y, kcub1=^H, -# -# Apple II+ equipped with Videx 80 column card -# -# Terminfo from ihnp4!ihu1g!djc1 (Dave Christensen) via BRL; -# manually converted by D A Gwyn -# -# DO NOT use any terminal emulation with this data base, it works directly -# with the Videx card. This has been tested with vi 1200 baud and works fine. -# -# This works great for vi, except I've noticed in pre-R2, ^U will scroll back -# 1 screen, while in R2 ^U doesn't. -# For inverse alternate character set add: -# =^O:=^N: -# (apple-v: added it#8 -- esr) -apple-videx2|Apple II+ w/ Videx card (similar to Datamedia h1520), - am, xenl, - cols#80, it#8, lines#24, - bel=\007$<100/>, clear=\014$<16*/>, cr=^M, cub1=^H, - cud1=^J, cuf1=^\, cup=\036%p2%{32}%+%c%p1%{32}%+%c, - cuu1=^_, ed=\013$<16*/>, el=^], home=^Y, ht=\011$<8/>, - ind=^J, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^\, kcuu1=^_, - khome=^Y, rmso=^Z2, smso=^Z3, -apple-videx3|vapple|Apple II with 80 col card, - OTbs, am, - cols#80, lines#24, - clear=\Ev, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=\EA, el=\Ex, home=\EH, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kf0=\EP, kf1=\EQ, kf2=\ER, kf3=\E\s, kf4=\E!, - kf5=\E", kf6=\E#, kf7=\E$, kf8=\E%%, kf9=\E&, khome=\EH, -#From: decvax!cbosgd!cbdkc1!mww Mike Warren via BRL -aepro|Apple II+ running ASCII Express Pro--vt52, - OTbs, - cols#80, lines#24, - clear=\014$<300/>, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, - el=\EK, home=\EH, -# UCSD addition: Yet another termcap from Brian Kantor's Micro Munger Factory -apple-vm80|ap-vm80|apple with viewmax-80, - OTbs, - cols#80, lines#24, - clear=\014$<300/>, cuf1=^\\:, - cup=\036%p1%{32}%+%c%p2%{32}%+%c$<100/>, cuu1=^_, - ed=\013$<300/>, el=^], home=\031$<200/>, - -#### Apple Lisa & Macintosh -# - -# (lisa: changed to -- esr) -lisa|apple lisa console display (black on white), - OTbs, am, eo, msgr, - cols#88, it#8, lines#32, - acsc=jdkclfmenbqattuvvuwsx`, civis=\E[5h, clear=^L, - cnorm=\E[5l, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, - is2=\E>\E[m\014, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, rmacs=\E[10m, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smacs=\E[11m, smso=\E[7m, smul=\E[4m, -liswb|apple lisa console display (white on black), - is2=\E>\E[0;7m\014, rmso=\E[0;7m, rmul=\E[0;7m, - smso=\E[m, smul=\E[4m, use=lisa, - -# lisaterm from ulysses!gamma!epsilon!mb2c!jed (John E. Duncan III) via BRL; -# revised by Ferd Brundick -# -# These entries assume that the 'Auto Wraparound' is enabled. -# Xon-Xoff flow control should also be enabled. -# -# The vt100 uses :rs2: and :rf: rather than :is2:/:tbc:/:hts: because the tab -# settings are in non-volatile memory and don't need to be reset upon login. -# Also setting the number of columns glitches the screen annoyingly. -# You can type "reset" to get them set. -# -lisaterm|Apple Lisa or Lisa/2 running LisaTerm vt100 emulation, - OTbs, OTpt, am, xenl, xon, - OTkn#4, cols#80, it#8, lines#24, vt#3, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, ed=\E[J, - el=\E[K, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOP, kf1=\EOQ, - kf2=\EOR, kf3=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4, rc=\E8, - rev=\E[7m, ri=\EM, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs1=\E>\E[?1l\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r, - sc=\E7, sgr0=\E[m, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, -# Lisaterm in 132 column ("wide") mode. -lisaterm-w|Apple Lisa with Lisaterm in 132 column mode, - cols#132, - kbs=^H, kcub1=^H, kcud1=^J, use=lisaterm, -# Although MacTerminal has insert/delete line, it is commented out here -# since it is much faster and cleaner to use the "lock scrolling region" -# method of inserting and deleting lines due to the MacTerminal implementation. -# Also, the "Insert/delete ch" strings have an extra character appended to them -# due to a bug in MacTerminal V1.1. Blink is disabled since it is not -# supported by MacTerminal. -mac|macintosh|Macintosh with MacTerminal, - xenl, - OTdN#30, - blink@, dch1=\E[P$<7/>, ich1=\E[@$<9/>, ip=$<7/>, use=lisa, -# Lisaterm in 132 column ("wide") mode. -mac-w|macterminal-w|Apple Macintosh with Macterminal in 132 column mode, - cols#132, use=mac, - -# The AppKit Terminal.app descriptions all have names beginning with -# "nsterm". Note that the statusline (-s) versions use the window -# titlebar as a phony status line, and may produce warnings during -# compilation as a result ("tsl uses 0 parameters, expected 1".) Ignore -# these warnings, or even ignore these entries entirely. Apps which -# need to position the cursor or do other fancy stuff inside the status -# line won't work with these entries. They're primarily useful for -# programs like Pine which provide simple notifications in the status -# line. Please note that non-ASCII characters don't work right in the -# status line, since Terminal.app incorrectly interprets their Unicode -# codepoints as MacRoman codepoints. -# -# * Renamed the AppKit Terminal.app entry from "Apple_Terminal" to -# "nsterm" to comply with the name length and case conventions and -# limitations of various software packages [notably Solaris terminfo -# and UNIX.] A single Apple_Terminal alias is retained for -# backwards-compatbility. -# -# * Added function key support (F1-F4). These only work in Terminal.app -# version 51, hopefully the capabilities won't cause problems for people -# using version 41. -# -# * Added "full color" (-c) entries which support the 16-color mode in -# version 51. -# -# * By default, version 51 uses UTF-8 encoding with broken altcharset -# support, so "ASCII" (-7) entries without altcharset support were -# added. - -# nsterm - AppKit Terminal.app -# -# Apple's Mac OS X includes a Terminal.app derived from the old NeXT -# Terminal.app. It is a partial VT100 emulation with some xterm-like -# extensions. This terminfo was written to describe versions 41 -# (shipped with Mac OS X version 10.0) and 51 (shipped with Mac OS X -# version 10.1) of Terminal.app. -# -# Terminal.app runs under the Mac OS X Quartz windowing system (and -# other AppKit-supported windowing systems.) On the Mac OS X machine I -# use, the executable for Terminal.app is: -# /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal -# -# If you're looking for a description of the full-screen system -# console which runs under Apple's Darwin operating system on PowerPC -# platforms, see the "xnuppc" entry instead. -# -# There were no function keys in version 41. In version 51, there are -# four working function keys (F1, F2, F3 and F4.) The function keys -# are included in all of these entries. -# -# It does not support mouse pointer position reporting. Under some -# circumstances the cursor can be positioned using option-click; this -# works by comparing the cursor position and the selected position, -# and simulating enough cursor-key presses to move the cursor to the -# selected position. This technique fails in all but the simplest -# applications. -# -# It provides partial ANSI color support (background colors interacted -# badly with bold in version 41, though, as reflected in :ncv:.) The -# monochrome (-m) entries are useful if you've disabled color support -# or use a monochrome monitor. The full color (-c) entries are useful -# in version 51, which doesn't exhibit the background color bug. They -# also enable an xterm-compatible 16-color mode. -# -# The configurable titlebar is set using xterm-compatible sequences; -# it is used as a status bar in the statusline (-s) entries. Its width -# depends on font sizes and window sizes, but 50 characters seems to -# be the default for an 80x24 window. -# -# The MacRoman character encoding is used for some of the alternate -# characters in the "MacRoman" entries; the "ASCII" (-7) entries -# disable alternate character set support entirely, and the "VT100" -# (-acs) entries rely instead on Terminal.app's own buggy VT100 -# graphics emulation, which seems to think the character encoding is -# the old NeXT charset instead of MacRoman. The "ASCII" (-7) entries -# are useful in Terminal.app version 51, which supports UTF-8 and -# other ASCII-compatible character encodings but does not correctly -# implement VT100 graphics; once VT100 graphics are correctly -# implemented in Terminal.app, the "VT100" (-acs) entries should be -# usable in any ASCII-compatible character encoding [except perhaps -# in UTF-8, where some experts argue for disallowing alternate -# characters entirely.] -# -# Terminal.app reports "vt100" as the terminal type, but exports -# several environment variables which may aid detection in a shell -# profile (i.e. .profile or .login): -# -# TERM=vt100 -# TERM_PROGRAM=Apple_Terminal -# TERM_PROGRAM_VERSION=41 # in Terminal.app version 41 -# TERM_PROGRAM_VERSION=51 # in Terminal.app version 51 -# -# For example, the following Bourne shell script would detect the -# correct terminal type: -# -# if [ :"$TERM" = :"vt100" -a :"$TERM_PROGRAM" = :"Apple_Terminal" ] -# then -# export TERM -# if [ :"$TERM_PROGRAM_VERSION" = :41 ] -# then -# TERM="nsterm" -# else -# TERM="nsterm-c-7" -# fi -# fi -# -# In a C shell derivative, this would be accomplished by: -# -# if ( $?TERM && $?TERM_PROGRAM && $?TERM_PROGRAM_VERSION) then -# if ( :"$TERM" == :"vt100" && :"$TERM_PROGRAM" == :"Apple_Terminal" ) then -# if ( :"$TERM_PROGRAM_VERSION" == :41 ) then -# setenv TERM "nsterm" -# else -# setenv TERM "nsterm-c-7" -# endif -# endif -# endif - -# The '+' entries are building blocks -nsterm+7|AppKit Terminal.app v41+ basic capabilities w/ASCII charset, - am, bw, msgr, xenl, xon, - cols#80, it#8, lines#24, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, - kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kent=\EOM, rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l, - rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m, - sgr0=\E[m\017, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, - u8=\E[?1;2c, u9=\E[c, use=vt100+pfkeys, - -nsterm+acs|AppKit Terminal.app v41+ basic capabilities w/VT100 alternate-charset, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - enacs=\E(B\E)0, rmacs=^O, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - smacs=^N, use=nsterm+7, - -nsterm+mac|AppKit Terminal.app v41+ basic capabilities w/MacRoman alternate-charset, - acsc=0#`\327a\:f\241g\261h#i\360jjkkllmmnno\370p\370q\321rrssttuuvvwwxxy\262z\263{\271|\255}\243~\245+\335-\366\,\334.\377, - enacs=\E(B\E)0, rmacs=^O, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - smacs=^N, use=nsterm+7, - -nsterm+s|AppKit Terminal.app v41+ status-line (window titlebar) support, - hs, - wsl#50, - dsl=\E]2;\007, fsl=^G, tsl=\E]2;, - -nsterm+c|AppKit Terminal.app v51+ full color support (including 16 colors), - op=\E[0m, use=ibm+16color, - -nsterm+c41|AppKit Terminal.app v41 color support, - colors#8, ncv#37, pairs#64, - op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - -# These are different combinations of the building blocks - -# ASCII charset (-7) -nsterm-m-7|nsterm-7-m|AppKit Terminal.app v41+ w/ASCII charset (monochrome), - use=nsterm+7, - -nsterm-m-s-7|nsterm-7-m-s|AppKit Terminal.app v41+ w/ASCII charset (monochrome w/statusline), - use=nsterm+s, use=nsterm+7, - -nsterm-7|AppKit Terminal.app v41+ w/ASCII charset (color), - use=nsterm+c41, use=nsterm+7, - -nsterm-7-c|nsterm-c-7|AppKit Terminal.app v51+ w/ASCII charset (full color), - use=nsterm+c, use=nsterm+7, - -nsterm-s-7|nsterm-7-s|AppKit Terminal.app v41+ w/ASCII charset (color w/statusline), - use=nsterm+s, use=nsterm+c41, use=nsterm+7, - -nsterm-c-s-7|nsterm-7-c-s|AppKit Terminal.app v51+ w/ASCII charset (full color w/statusline), - use=nsterm+s, use=nsterm+c, use=nsterm+7, - -# VT100 alternate-charset (-acs) -nsterm-m-acs|nsterm-acs-m|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome), - use=nsterm+acs, - -nsterm-m-s-acs|nsterm-acs-m-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome w/statusline), - use=nsterm+s, use=nsterm+acs, - -nsterm-acs|AppKit Terminal.app v41+ w/VT100 alternate-charset (color), - use=nsterm+c41, use=nsterm+acs, - -nsterm-c-acs|nsterm-acs-c|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color), - use=nsterm+c, use=nsterm+acs, - -nsterm-s-acs|nsterm-acs-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (color w/statusline), - use=nsterm+s, use=nsterm+c41, use=nsterm+acs, - -nsterm-c-s-acs|nsterm-acs-c-s|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color w/statusline), - use=nsterm+s, use=nsterm+c, use=nsterm+acs, - -# MacRoman charset -nsterm-m|AppKit Terminal.app v41+ w/MacRoman charset (monochrome), - use=nsterm+mac, - -nsterm-m-s|AppKit Terminal.app v41+ w/MacRoman charset (monochrome w/statusline), - use=nsterm+s, use=nsterm+mac, - -nsterm|Apple_Terminal|AppKit Terminal.app v41+ w/MacRoman charset (color), - use=nsterm+c41, use=nsterm+mac, - -nsterm-c|AppKit Terminal.app v51+ w/MacRoman charset (full color), - use=nsterm+c, use=nsterm+mac, - -nsterm-s|AppKit Terminal.app v41+ w/MacRoman charset (color w/statusline), - use=nsterm+s, use=nsterm+c41, use=nsterm+mac, - -nsterm-c-s|AppKit Terminal.app v51+ w/MacRoman charset (full color w/statusline), - use=nsterm+s, use=nsterm+c, use=nsterm+mac, - -# xnuppc - Darwin PowerPC Console (a.k.a. "darwin") -# -# On PowerPC platforms, Apple's Darwin operating system uses a -# full-screen system console derived from a NetBSD framebuffer -# console. It is an ANSI-style terminal, and is not really VT-100 -# compatible. -# -# Under Mac OS X, this is the system console driver used while in -# single-user mode [reachable by holding down Command-S during the -# boot process] and when logged in using console mode [reachable by -# typing ">console" at the graphical login prompt.] -# -# If you're looking for a description of the Terminal.app terminal -# emulator which runs under the Mac OS X Quartz windowing system (and -# other AppKit-supported windowing systems,) see the "nsterm" -# entry instead. -# -# NOTE: Under Mac OS X version 10.1, the default login window does not -# prompt for user name, instead requiring an icon to be selected from -# a list of known users. Since the special ">console" login is not in -# this list, you must make one of two changes in the Login Window -# panel of the Login section of System Prefs to make the special -# ">console" login accessible. The first option is to enable 'Show -# "Other User" in list for network users', which will add a special -# "Other..." icon to the graphical login panel. Selecting "Other..." -# will present the regular graphical login prompt. The second option -# is to change the 'Display Login Window as:' setting to 'Name and -# password entry fields', which replaces the login panel with a -# graphical login prompt. -# -# There are no function keys, at least not in Darwin 1.3. -# -# It has no mouse support. -# -# It has full ANSI color support, and color combines correctly with -# all three supported attributes: bold, inverse-video and underline. -# However, bold colored text is almost unreadable (bolding is -# accomplished using shifting and or-ing, and looks smeared) so bold -# has been excluded from the list of color-compatible attributes -# [using (ncv)]. The monochrome entry (-m) is useful if you use a -# monochrome monitor. -# -# There is one serious bug with this terminal emulation's color -# support: repositioning the cursor onto a cell with non-matching -# colors obliterates that cell's contents, replacing it with a blank -# and displaying a colored cursor in the "current" colors. There is -# no complete workaround at present [other than using the monochrome -# (-m) entries,] but removing the (msgr) capability seemed to help. -# -# The "standout" chosen was simple reverse-video, although a colorful -# standout might be more aesthetically pleasing. Similarly, the bold -# chosen is the terminal's own smeared bold, although a simple -# color-change might be more readable. The color-bold (-b) entries -# uses magenta colored text for bolding instead. The fancy color (-f -# and -f2) entries use color for bold, standout and underlined text -# (underlined text is still underlined, though.) -# -# Apparently the terminal emulator does support a VT-100-style -# alternate character set, but all the alternate character set -# positions have been left blank in the font. For this reason, no -# alternate character set capabilities have been included in this -# description. The console driver appears to be ASCII-only, so (enacs) -# has been excluded [although the VT-100 sequence does work.] -# -# The default Mac OS X and Darwin installation reports "vt100" as the -# terminal type, and exports no helpful environment variables. To fix -# this, change the "console" entry in /etc/ttys from "vt100" to -# "xnuppc-WxH", where W and H are the character dimensions of your -# console (see below.) -# -# The font used by the terminal emulator is apparently one originally -# drawn by Ka-Ping Yee, and uses 8x16-pixel characters. This -# file includes descriptions for the following geometries: -# -# Pixels Characters Entry Name (append -m for monochrome) -# ------------------------------------------------------------------- -# 640x400 80x25 xnuppc-80x25 -# 640x480 80x30 xnuppc-80x30 -# 720x480 90x30 xnuppc-90x30 -# 800x600 100x37 xnuppc-100x37 -# 896x600 112x37 xnuppc-112x37 -# 1024x640 128x40 xnuppc-128x40 -# 1024x768 128x48 xnuppc-128x48 -# 1152x768 144x48 xnuppc-144x48 -# 1280x1024 160x64 xnuppc-160x64 -# 1600x1024 200x64 xnuppc-200x64 -# 1600x1200 200x75 xnuppc-200x75 -# 2048x1536 256x96 xnuppc-256x96 -# -# The basic "xnuppc" entry includes no size information, and the -# emulator includes no reporting capability, so you'll be at the mercy -# of the TTY device (which reports incorrectly on my hardware.) The -# color-bold entries do not include size information. - -# The '+' entries are building blocks -xnuppc+basic|Darwin PowerPC Console basic capabilities, - am, bce, mir, xenl, - it#8, - bold=\E[1m, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dsl=\E]2;\007, ed=\E[J, el=\E[K, - el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=\177, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8, - rev=\E[7m, ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, - rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, - sgr0=\E[m\017, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, use=vt100+keypad, - -xnuppc+c|Darwin PowerPC Console ANSI color support, - colors#8, ncv#32, pairs#64, - op=\E[37;40m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - -xnuppc+b|Darwin PowerPC Console color-bold support, - ncv#32, - bold=\E[35m, - sgr=\E[0%?%p6%t;35%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, - use=xnuppc+basic, - -xnuppc+f|Darwin PowerPC Console fancy color support, - ncv#35, - sgr=\E[0%?%p6%t;35%;%?%p2%t;36;4%;%?%p1%t;33;44%;%p3%t;7%;m, - smso=\E[33;44m, smul=\E[36;4m, use=xnuppc+b, - -xnuppc+f2|Darwin PowerPC Console alternate fancy color support, - ncv#35, - bold=\E[33m, - sgr=\E[0%?%p6%t;33%;%?%p2%t;34%;%?%p1%t;31;47%;%p3%t;7%;m, - smso=\E[31;47m, smul=\E[34m, use=xnuppc+basic, - -# Building blocks for specific screen sizes -xnuppc+80x25|Darwin PowerPC Console 80x25 support (640x400 pixels), - cols#80, lines#25, - -xnuppc+80x30|Darwin PowerPC Console 80x30 support (640x480 pixels), - cols#80, lines#30, - -xnuppc+90x30|Darwin PowerPC Console 90x30 support (720x480 pixels), - cols#90, lines#30, - -xnuppc+100x37|Darwin PowerPC Console 100x37 support (800x600 pixels), - cols#100, lines#37, - -xnuppc+112x37|Darwin PowerPC Console 112x37 support (896x600 pixels), - cols#112, lines#37, - -xnuppc+128x40|Darwin PowerPC Console 128x40 support (1024x640 pixels), - cols#128, lines#40, - -xnuppc+128x48|Darwin PowerPC Console 128x48 support (1024x768 pixels), - cols#128, lines#48, - -xnuppc+144x48|Darwin PowerPC Console 144x48 support (1152x768 pixels), - cols#144, lines#48, - -xnuppc+160x64|Darwin PowerPC Console 160x64 support (1280x1024 pixels), - cols#160, lines#64, - -xnuppc+200x64|Darwin PowerPC Console 200x64 support (1600x1024 pixels), - cols#200, lines#64, - -xnuppc+200x75|Darwin PowerPC Console 200x75 support (1600x1200 pixels), - cols#200, lines#75, - -xnuppc+256x96|Darwin PowerPC Console 256x96 support (2048x1536 pixels), - cols#256, lines#96, - -# These are different combinations of the building blocks - -xnuppc-m|darwin-m|Darwin PowerPC Console (monochrome), - use=xnuppc+basic, - -xnuppc|darwin|Darwin PowerPC Console (color), - use=xnuppc+c, use=xnuppc+basic, - -xnuppc-m-b|darwin-m-b|Darwin PowerPC Console (monochrome w/color-bold), - use=xnuppc+b, - -xnuppc-b|darwin-b|Darwin PowerPC Console (color w/color-bold), - use=xnuppc+b, use=xnuppc+c, - -xnuppc-m-f|darwin-m-f|Darwin PowerPC Console (fancy monochrome), - use=xnuppc+f, - -xnuppc-f|darwin-f|Darwin PowerPC Console (fancy color), - use=xnuppc+f, use=xnuppc+c, - -xnuppc-m-f2|darwin-m-f2|Darwin PowerPC Console (alternate fancy monochrome), - use=xnuppc+f2, - -xnuppc-f2|darwin-f2|Darwin PowerPC Console (alternate fancy color), - use=xnuppc+f2, use=xnuppc+c, - -# Combinations for specific screen sizes -xnuppc-80x25-m|darwin-80x25-m|Darwin PowerPC Console (monochrome) 80x25, - use=xnuppc+80x25, use=xnuppc+basic, - -xnuppc-80x25|darwin-80x25|Darwin PowerPC Console (color) 80x25, - use=xnuppc+c, use=xnuppc+80x25, use=xnuppc+basic, - -xnuppc-80x30-m|darwin-80x30-m|Darwin PowerPC Console (monochrome) 80x30, - use=xnuppc+80x30, use=xnuppc+basic, - -xnuppc-80x30|darwin-80x30|Darwin PowerPC Console (color) 80x30, - use=xnuppc+c, use=xnuppc+80x30, use=xnuppc+basic, - -xnuppc-90x30-m|darwin-90x30-m|Darwin PowerPC Console (monochrome) 90x30, - use=xnuppc+90x30, use=xnuppc+basic, - -xnuppc-90x30|darwin-90x30|Darwin PowerPC Console (color) 90x30, - use=xnuppc+c, use=xnuppc+90x30, use=xnuppc+basic, - -xnuppc-100x37-m|darwin-100x37-m|Darwin PowerPC Console (monochrome) 100x37, - use=xnuppc+100x37, use=xnuppc+basic, - -xnuppc-100x37|darwin-100x37|Darwin PowerPC Console (color) 100x37, - use=xnuppc+c, use=xnuppc+100x37, use=xnuppc+basic, - -xnuppc-112x37-m|darwin-112x37-m|Darwin PowerPC Console (monochrome) 112x37, - use=xnuppc+112x37, use=xnuppc+basic, - -xnuppc-112x37|darwin-112x37|Darwin PowerPC Console (color) 112x37, - use=xnuppc+c, use=xnuppc+112x37, use=xnuppc+basic, - -xnuppc-128x40-m|darwin-128x40-m|Darwin PowerPC Console (monochrome) 128x40, - use=xnuppc+128x40, use=xnuppc+basic, - -xnuppc-128x40|darwin-128x40|Darwin PowerPC Console (color) 128x40, - use=xnuppc+c, use=xnuppc+128x40, use=xnuppc+basic, - -xnuppc-128x48-m|darwin-128x48-m|Darwin PowerPC Console (monochrome) 128x48, - use=xnuppc+128x48, use=xnuppc+basic, - -xnuppc-128x48|darwin-128x48|Darwin PowerPC Console (color) 128x48, - use=xnuppc+c, use=xnuppc+128x48, use=xnuppc+basic, - -xnuppc-144x48-m|darwin-144x48-m|Darwin PowerPC Console (monochrome) 144x48, - use=xnuppc+144x48, use=xnuppc+basic, - -xnuppc-144x48|darwin-144x48|Darwin PowerPC Console (color) 144x48, - use=xnuppc+c, use=xnuppc+144x48, use=xnuppc+basic, - -xnuppc-160x64-m|darwin-160x64-m|Darwin PowerPC Console (monochrome) 160x64, - use=xnuppc+160x64, use=xnuppc+basic, - -xnuppc-160x64|darwin-160x64|Darwin PowerPC Console (color) 160x64, - use=xnuppc+c, use=xnuppc+160x64, use=xnuppc+basic, - -xnuppc-200x64-m|darwin-200x64-m|Darwin PowerPC Console (monochrome) 200x64, - use=xnuppc+200x64, use=xnuppc+basic, - -xnuppc-200x64|darwin-200x64|Darwin PowerPC Console (color) 200x64, - use=xnuppc+c, use=xnuppc+200x64, use=xnuppc+basic, - -xnuppc-200x75-m|darwin-200x75-m|Darwin PowerPC Console (monochrome) 200x75, - use=xnuppc+200x75, use=xnuppc+basic, - -xnuppc-200x75|darwin-200x75|Darwin PowerPC Console (color) 200x75, - use=xnuppc+c, use=xnuppc+200x75, use=xnuppc+basic, - -xnuppc-256x96-m|darwin-256x96-m|Darwin PowerPC Console (monochrome) 256x96, - use=xnuppc+256x96, use=xnuppc+basic, - -xnuppc-256x96|darwin-256x96|Darwin PowerPC Console (color) 256x96, - use=xnuppc+c, use=xnuppc+256x96, use=xnuppc+basic, - -#### Radio Shack/Tandy -# - -# (coco3: This had "ta" used incorrectly as a boolean and bl given as "bl#7". -# I read these as mistakes for ":it#8:" and ":bl=\007:" respectively -- esr) -# From: <{pbrown,ctl}@ocf.berkeley.edu> 12 Mar 90 -coco3|os9LII|Tandy CoCo3 24*80 OS9 Level II, - OTbs, am, - cols#80, it#8, lines#24, - bel=^G, blink=^_", bold=\E\:^A, civis=^E\s, - clear=\014$<5*/>, cnorm=^E!, cub1=^H, cud1=^J, cuf1=^F, - cup=\002%p2%{32}%+%c%p1%{32}%+%c$<2/>, cuu1=^I, - dl1=^_1, ed=^K, el=^D, home=^A, il1=^_0, kcub1=^H, kcud1=^J, - kcuf1=^I, kcuu1=^L, rev=^_\s, rmso=^_!, rmul=^_#, - sgr0=\037!\E\:\0, smso=^_\s, smul=^_", -# (trs2: removed obsolete ":nl=^_:" -- esr) -trs2|trsII|trs80II|Radio Shack Model II using P&T CP/M, - OTbs, am, msgr, - cols#80, it#8, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^_, cuf1=^], - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^^, dl1=^K, ed=^B, - el=^A, home=^F, ht=^I, il1=^D, ind=^J, kbs=^H, kcub1=^\, - kcud1=^_, kcuf1=^], kcuu1=^^, rmso=^O, sgr0=^O, smso=^N, -# From: Kevin Braunsdorf -# (This had extension capabilities -# :BN=\E[?33h:BF=\E[?33l:UC=\E[_ q:BC=\E[\177 q:\ -# :CN=\ERC:CF=\ERc:NR=\ERD:NM=\ER@: -# I also deleted the unnecessary ":kn#2:", ":sg#0:" -- esr) -trs16|trs-80 model 16 console, - OTbs, am, - cols#80, it#8, lines#24, - acsc=jak`l_mbquvewcxs, bel=^G, civis=\ERc, clear=^L, - cnorm=\ERC, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EQ, - dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\EP, il1=\EL, - ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - kf0=^A, kf1=^B, kf2=^D, kf3=^L, kf4=^U, kf5=^P, kf6=^N, kf7=^S, - khome=^W, lf0=f1, lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, - lf7=f8, mc4=\E]+, mc5=\E]=, rmacs=\ERg, rmso=\ER@, sgr0=\ER@, - smacs=\ERG, smso=\ERD, - -#### Atari ST -# - -# From: Simson L. Garfinkel -atari|atari st, - OTbs, am, - cols#80, it#8, lines#25, - clear=\EH\EJ, cub1=\ED, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dl1=\EM, - ed=\EJ, el=\EK, ht=^I, il1=\EL, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, ri=\EI, rmso=\Eq, sgr0=\Eq, smso=\Ep, -# UniTerm terminal program for the Atari ST: 49-line VT220 emulation mode -# From: Paul M. Aoki -uniterm|uniterm49|UniTerm VT220 emulator with 49 lines, - lines#49, - is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;49r\E[49;1H, - use=vt220, -# MiNT VT52 emulation. 80 columns, 25 rows. -# MiNT is Now TOS, the operating system which comes with all Ataris now -# (mainly Atari Falcon). This termcap is for the VT52 emulation you get -# under tcsh/zsh/bash/sh/ksh/ash/csh when you run MiNT in `console' mode -# From: Per Persson , 27 Feb 1996 -st52|Atari ST with VT52 emulation, - am, km, - cols#80, lines#25, - bel=^G, civis=\Ef, clear=\EH\EJ, cnorm=\Ee, cr=^M, cub1=\ED, - cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=\EA, dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL, - ind=^J, ka1=\E#7, ka3=\E#5, kb2=\E#9, kbs=^H, kc1=\E#1, - kc3=\E#3, kclr=\E#7, kcub1=\E#K, kcud1=\E#P, kcuf1=\E#M, - kcuu1=\E#H, kf0=\E#D, kf1=\E#;, kf2=\E#<, kf3=\E#=, kf4=\E#>, - kf5=\E#?, kf6=\E#@, kf7=\E#A, kf8=\E#B, kf9=\E#C, khome=\E#G, - kil1=\E#R, kind=\E#2, kri=\E#8, lf0=f10, nel=^M^J, rc=\Ek, - ri=\EI, rmcup=, rmso=\Eq, rs1=\Ez_\Eb@\EcA, sc=\Ej, sgr0=\Eq, - smcup=\Ee, smso=\Ep, - -#### Commodore Business Machines -# -# Formerly located in West Chester, PA; went spectacularly bust in 1994 -# after years of shaky engineering and egregious mismanagement. Made one -# really nice machine (the Amiga) and boatloads of nasty ones (PET, C-64, -# C-128, VIC-20). The C-64 is said to have been the most popular machine -# ever (most units sold); they can still be found gathering dust in closets -# everywhere. -# - -# From: Kent Polk , 30 May 90 -# Added a few more entries, converted caret-type control sequence (^x) entries -# to '\0xx' entries since a couple of people mentioned losing '^x' sequences. -# Corrections by Ty Sarna , Sat Feb 28 18:55:15 1998 -# -# :as:, :ae: Support for alternate character sets. -# :ve=\E[\040p:vi=\E[\060\040p: cursor visible/invisible. -# :xn: vt100 kludginess at column 80/NEWLINE ignore after 80 cols(Concept) -# This one appears to fix a problem I always had with a line ending -# at 'width+1' (I think) followed by a blank line in vi. The blank -# line tended to disappear and reappear depending on how the screen -# was refreshed. Note that this is probably needed only if you use -# something like a Dnet Fterm with the window sized to some peculiar -# dimension larger than 80 columns. -# :k0=\E9~: map F10 to k0 - could have F0-9 -> k0-9, but ... F10 was 'k;' -# (amiga: removed obsolete :kn#10:, -# also added empty to suppress a warning --esr) -amiga|Amiga ANSI, - OTbs, am, bw, xenl, - cols#80, lines#24, - acsc=, bel=^G, blink=\E[7;2m, bold=\E[1m, cbt=\E[Z, - civis=\E[0 p, clear=\E[H\E[J, cnorm=\E[ p, cub=\E[%p1%dD, - cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S, - indn=\E[%p1%dS, invis=\E[8m, is2=\E[20l, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\E[9~, - kf1=\E[0~, kf2=\E[1~, kf3=\E[2~, kf4=\E[3~, kf5=\E[4~, - kf6=\E[5~, kf7=\E[6~, kf8=\E[7~, kf9=\E[8~, rev=\E[7m, - ri=\E[T, rin=\E[%p1%dT, rmacs=^O, rmso=\E[m, rmul=\E[m, - rs1=\Ec, sgr0=\E[m, smacs=^N, smso=\E[7m, smul=\E[4m, - -# From: Hans Verkuil , 4 Dec 1995 -# (amiga: added empty to suppress a warning. -# I'm told this entry screws up badly with AS225, the Amiga -# TCP/IP package once from Commodore, and now sold by InterWorks.--esr) -amiga-h|Hans Verkuil's Amiga ANSI, - OTbs, bw, msgr, - cols#80, lines#24, - acsc=, bel=^G, blink=\2337;2m, bold=\2331m, cbt=\233Z, - civis=\2330 p, clear=\233H\233J, cnorm=\233 p, cr=^M, - cub=\233%p1%dD, cub1=\233D, cud=\233%p1%dB, cud1=\233B, - cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH, - cuu=\233%p1%dA, cuu1=\233A, dch=\233%p1%dP, dch1=\233P, - dim=\2332m, ech=\233%p1%dP, ed=\233J, el=\233K, flash=^G, - home=\233H, ht=^I, ich=\233%p1%d@, ich1=\233@, ind=\233S, - indn=\233%p1%dS, invis=\2338m, is2=\23320l, kbs=^H, - kcub1=\233D, kcud1=\233B, kcuf1=\233C, kcuu1=\233A, - kdch1=\177, kf0=\2339~, kf1=\2330~, kf2=\2331~, kf3=\2332~, - kf4=\2333~, kf5=\2334~, kf6=\2335~, kf7=\2336~, kf8=\2337~, - kf9=\2338~, nel=\233B\r, rev=\2337m, ri=\233T, - rin=\233%p1%dT, rmacs=^O, rmcup=\233?7h, rmso=\2330m, - rmul=\2330m, rs1=\Ec, sgr0=\2330m, smacs=^N, smcup=\233?7l, - smso=\2337m, smul=\2334m, - -# From: Henning 'Faroul' Peters , 25 Sep 1999 -# -# Pavel Fedin added -# Home Shift+Left -# End Shift+Right -# PgUp Shift+Up -# PgDn Shift+Down -amiga-8bit|Amiga ANSI using 8-bit controls, - acsc=, dl=\233%p1%dM, dl1=\233M, il=\233%p1%dL, il1=\233L, - ind=\204, indn@, kend=\233 @, khome=\233 A, knp=\233S, - kpp=\233T, ri=\215, rin@, use=amiga-h, - -# From: Ruediger Kuhlmann , 18 Jul 2000 -# requires use of appropriate preferences settings. -amiga-vnc|Amiga using VNC console (black on light gray), - am, da, db, msgr, ndscr, - btns#1, colors#16, cols#80, lines#24, lm#0, ncv#0, pairs#256, - bel=^G, blink=\E[7;2m, bold=\E[1m, civis=\E[0p, - clear=\E[H\E[J, cnorm=\E[p\E[>?6l, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\E[>?6h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[1M, ed=\E[J, el=\E[K, flash=^G, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[1L, ind=\ED, - indn=\E[%p1%dS, invis=\E8m, - is2=\E[>?2;18l\E[>?26;?6;20;>?15;?7;>?22;>?8h, - kbs=^H, kcbt=\233Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kdch1=\177, kf0=\E[9~, kf1=\E[0~, kf2=\E[1~, - kf3=\E[2~, kf4=\E[3~, kf5=\E[4~, kf6=\E[5~, kf7=\E[6~, - kf8=\E[7~, kf9=\E[8~, khlp=\E[?~, khome=\E[44~, kll=\E[45~, - kmous=\E[M, knp=\E[42~, kpp=\E[41~, nel=\EE, oc=\E[0m, - rev=\E[7m, ri=\EM, rin=\E[%p1%dT, rmcup=\E[?7h\E[r\E[J, - rmkx=\E[?1l, rmso=\E[21m, rmul=\E[24m, rs1=\Ec, - rs2=\E[>?2;18l\E[>?26;?6;20;>?15;?7;>?22;>?8h, - setab=\E[%?%p1%{8}%>%t%'F'%p1%+%d%e4%p1%d%;m, - setaf=\E[%?%p1%{8}%>%t%'2'%p1%+%d%e3%p1%d%;m, - sgr0=\E[0m\017\E[30;85;>15m, smcup=\E[?7h, smkx=\E[?1h, - smso=\E[1m, smul=\E[4m, - -# MorphOS on Genesi Pegasos -# By Pavel Fedin -morphos, - acsc=, dl=\233%p1%dM, dl1=\233M, il=\233%p1%dL, il1=\233L, - ind=\204, indn@, kend=\23345~, kf11=\23320~, kf12=\23321~, - khome=\23344~, kich1=\23340~, knp=\23342~, kpp=\23341~, - ri=\215, rin@, use=amiga-h, - -# Commodore B-128 microcomputer from Doug Tyrol -# I'm trying to write a termcap for a commodore b-128, and I'm -# having a little trouble. I've had to map most of my control characters -# to something that unix will accept (my delete-char is a ctrl-t, etc), -# and create some functions (like cm), but thats life. -# The problem is with the arrow keys - right, and up work fine, but -# left deletes the previous character and down I just can't figure out. -# Jove knows what I want, but I don't know what it's sending to me (it -# isn't thats bound to next-line in jove). -# Anybody got any ideas? Here's my termcap. -# DAG -- I changed his "^n" entries to "\n"; see if that works. -# -commodore|b-128|Commodore B-128 micro, - am, bw, - OTdN#20, cols#80, lines#24, pb#150, - OTbc=^H, OTnl=^M, clear=\E\006$<10/>, cr=^M, cud1=^J, - cuf1=^F, cup=\E\013%p1%2d\,%p2%2d\,$<20/>, cuu1=^P, - dch1=\177$<10*/>, dl1=\Ed$<10*/>, el=\Eq$<10/>, - home=\E^E, ht=\011$<5/>, ich1=\E\n$<5/>, il1=\Ei$<10/>, - kcub1=^B, kcud1=^J, kcuf1=^F, kcuu1=^P, khome=\E^E, rmir=, - smir=, - -#### North Star -# -# North Star Advantage from Lt. Fickie via BRL -northstar|North Star Advantage, - OTbs, - cols#80, lines#24, - clear=\004$<200/>, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<1/>, ed=\017$<200/>, - el=\016$<200/>, home=\034\032$<200/>, - -#### Osborne -# -# Thu Jul 7 03:55:16 1983 -# -# As an aside, be careful; it may sound like an anomaly on the -# Osborne, but with the 80-column upgrade, it's too easy to -# enter lines >80 columns! -# -# I've already had several comments... -# The Osborne-1 with the 80-col option is capable of being -# 52, 80, or 104 characters wide; default to 80 for compatibility -# with most systems. -# -# The tab is destructive on the Ozzie; make sure to 'stty -tabs'. -osborne-w|osborne1-w|osborne I in 104-column mode, - msgr, ul, xt, - cols#104, lines#24, - bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, el=\ET, ich1=\EQ, il1=\EE, ind=^J, kcub1=^H, kcud1=^J, - kcuf1=^L, kcuu1=^K, rmso=\E(, rmul=\Em, smso=\E), smul=\El, -# Osborne I from ptsfa!rhc (Robert Cohen) via BRL -osborne|osborne1|osborne I in 80-column mode, - OTbs, am, mir, msgr, ul, xhp, - OTdB#4, cols#80, lines#24, - clear=^Z, cub1=\010$<4>, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - dch1=\EW$<4/>, dl1=\ER, el=\ET, il1=\EE, is2=^Z, kbs=^H, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, rmir=, rmso=\E), - rmul=\Em, smir=\EQ, smso=\E(, smul=\El, -# -# Osborne Executive definition from BRL -# Similar to tvi920 -# Added by David Milligan and Tom Smith (SMU) -osexec|Osborne executive, - OTbs, am, - OTug#1, cols#80, lines#24, xmc#1, - OTnl=^J, bel=^G, clear=^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dl1=\ER, ed=\EY, el=\ET, home=^^, hts=\E1, ich1=\EQ, il1=\EE, - is2=\Eq\Ek\Em\EA\Ex0, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, - kcuu1=^K, kf0=^A@\r, kf1=^AA\r, kf2=^AB\r, kf3=^AC\r, - kf4=^AD\r, kf5=^AE\r, kf6=^AF\r, kf7=^AG\r, kf8=^AH\r, - kf9=^AI\r, rmir=, rmso=\Ek, rmul=\Em, smir=, smso=\Ej, - smul=\El, tbc=\E3, - -#### Console types for obsolete UNIX clones -# -# Coherent, Minix, Venix, and several lesser-known kin were OSs for 8088 -# machines that tried to emulate the UNIX look'n'feel. Coherent and Venix -# were commercial, Minix an educational tool sold in conjunction with a book. -# Memory-segmentation limits and a strong tendency to look like V7 long after -# it was obsolete made all three pretty lame. Venix croaked early. Coherent -# and Minix were ported to 32-bit Intel boxes, only to be run over by a -# steamroller named `Linux' (which, to be fair, traces some lineage to Minix). -# Coherent's vendor, the Mark Williams Company, went belly-up in 1994. There -# are also, I'm told, Minix ports that ran on Amiga and Atari machines and -# even as single processes under SunOS and the Macintosh OS. -# - -# This is the entry provided with minix 1.7.4, with bogus :ri: removed. -minix|minix console (v1.7), - am, xenl, - cols#80, it#8, lines#25, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[0J, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, el=\E[K, home=\E[H, ht=^I, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, - is2=\E[0m, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf0=\E[Y, kf1=\E[V, kf2=\E[U, kf3=\E[T, kf4=\E[S, - kf5=\E[G, khome=\E[H, lf0=End, lf1=PgUp, lf2=PgDn, lf3=Num +, - lf4=Num -, lf5=Num 5, nel=^M^J, rev=\E[7m, ri=\EM, - rmso=\E[0m, rmul=\E[0m, sgr0=\E[0m, smso=\E[7m, smul=\E[4m, -# Corrected Jan 14, 1997 by Vincent Broman -minix-old|minix console (v1.5), - xon, - cols#80, it#8, lines#25, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[0J, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, el=\E[K, home=\E[H, ht=^I, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, - kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf0=\E[Y, kf1=\E[V, kf2=\E[U, kf3=\E[T, kf4=\E[S, kf5=\E[G, - khome=\E[H, nel=^M^J, rev=\E[7m, ri=\EM, rmso=\E[0m, - rmul=\E[0m, sgr0=\E[0m, smso=\E[7m, smul=\E[4m, -# The linewrap option can be specified by editing /usr/include/minix/config.h -# before recompiling the minix 1.5 kernel. -minix-old-am|minix console with linewrap, - am, use=minix-old, - -pc-minix|minix console on an Intel box, - use=klone+acs, use=minix, - -# According to the Coherent 2.3 manual, the PC console is similar -# to a z19. The differences seem to be (1) 25 lines, (2) no status -# line, (3) standout is broken, (4) ins/del line is broken, (5) -# has blinking and bold. -pc-coherent|pcz19|coherent|IBM PC console running Coherent, - am, mir, - cols#80, it#8, lines#25, - bel=^G, clear=\EE, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EN, - ed=\EJ, el=\EK, home=\EH, ht=^I, ind=^J, kbs=^H, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\EH, ri=\EI, rmir=\EO, - rmso=\Eq, sgr0=\Eq, smir=\E@, smso=\Ep, - -# According to the Venix 1.1 manual, the PC console is similar -# to a DEC vt52. Differences seem to be (1) arrow keys send -# different strings, (2) enhanced standout, (3) added insert/delete line. -# Note in particular that it doesn't have automatic margins. -# There are other keys (f1-f10, kpp, knp, kcbt, kich1, kdch1) but they -# not described here because this derives from an old termcap entry. -pc-venix|venix|IBM PC console running Venix, - cols#80, it#8, lines#25, - bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dl1=\EM, - ed=\EJ, el=\EK, ht=^I, il1=\EL, ind=^J, kbs=^H, kcub1=\EK, - kcud1=\EP, kcuf1=\EM, kcuu1=\EH, khome=\EG, ri=\EI, - -#### Miscellaneous microcomputer consoles -# -# If you know anything more about any of these, please tell me. -# - -# The MAI Basic Four computer was obsolete at the end of the 1980s. -# It may be used as a terminal by putting it in "line" mode as seen on -# one of the status lines. -# Initialization is similar to CIT80. will set ANSI mode for you. -# Hardware tabs set by at 8-spacing. Auto line wrap causes glitches so -# wrap mode is reset by . Using =\E[S caused errors so I -# used \ED instead. -# From: bf347@lafn.org (David Lawyer), 28 Jun 1997 -mai|basic4|MAI Basic Four in ansi mode, - am, da, db, mir, msgr, - cols#82, it#8, lines#25, - bel=^G, blink=\E[5m, bold=\E[1m, clear=^]^_, cnorm=\E[?7h, - cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=^X, - cup=\E[%i%p1%d;%p2%dH, cuu1=^Z, cvvis=\E[?7l, dch1=\E[1P, - dl1=\E[M, ed=^_, el=^^, home=^], ht=^I, - if=/usr/local/share/tabset/vt100, il1=\E[L, ind=\ED, - is2=\E>\E[?1h\E[?7h\E[?5l\017\E(B\E[m\E[20l\E[1;24r\E[24;1H, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, - kf7=\EOV, kf8=\EOW, nel=^M\ED, rc=\E8, rev=\E[7m, ri=\E[T, - rmir=\E[4l, rmso=\E[m, rmul=\E[m, sc=\E7, sgr0=\E[m, - smir=\E[4h, smso=\E[7m, smul=\E[4m, -# basis from Peter Harrison, Computer Graphics Lab, San Francisco -# ucbvax!ucsfmis!harrison ...uucp / ucbvax!ucsfmis!harrison@BERKELEY ...ARPA -# -# On Sat, 7 Aug 1999, Torsten Jerzembeck wrote: -# The Basis 108 was a Apple II clone, manufactured by the "Basis -# Mikrocomputer GmbH" in Munster, Germany (the company still exists today, -# about 1,5 km from where I live, but doesn't build own computers any -# more). A Basis 108 featured a really heavy (cast aluminium?) case, was -# equipped with one or two 5.25" disk drives, had a monochrome and colour -# video output for a TV set or a dedicated monitor and several slots for -# Apple II cards. Basis 108 were quite popular at german schools before -# the advent of the IBM PC. They run, for example, the UCSD Pascal -# development system (which I used even in 1993 to program the steering -# and data recording for our school's experimental solar panel :), Apple DOS -# or CP/M. -# (basis: removed obsolete ":ma=^K^P^R^L^L :nl=5000*^J:" -- esr) -basis|BASIS108 computer with terminal translation table active, - clear=\E*$<300/>, cud1=\n$<5000/>, ed=\EY, el=\ET, kbs=^H, - kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, rmso=\E), sgr0=\E), - smso=\E(, use=adm3a, -# luna's BMC terminal emulator -luna|luna68k|LUNA68K Bitmap console, - cols#88, lines#46, use=ansi-mini, -megatek|pegasus workstation terminal emulator, - am, os, - cols#83, lines#60, -# The Xerox 820 was a Z80 micro with a snazzy XEROX PARC-derived -# interface (pre-Macintosh by several years) that went nowhere. -xerox820|x820|Xerox 820, - am, - cols#80, lines#24, - bel=^G, clear=1^Z, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=^Q, el=^X, - home=^^, ind=^J, - -#### Videotex and teletext -# - -# \E\:1} switch to te'le'informatique mode (ascii terminal/ISO 6429) -# \E[?3l 80 columns -# \E[?4l scrolling on -# \E[12h local echo off -# \Ec reset: G0 U.S. charset (to get #,@,{,},...), 80 cols, clear screen -# \E)0 G1 DEC set (line graphics) -# -# From: Igor Tamitegama , 18 Jan 1997 -m2-nam|minitel|minitel-2|minitel-2-nam|France Telecom Minitel 2 mode te'le'informatique, - OTbs, eslok, hs, xenl, - cols#80, it#8, lines#24, wsl#72, xmc#0, - acsc=aaffggjjkkllmmnnooqqssttuuvvwwxx, bel=^G, - blink=\E[5m, bold=\E[1m, civis=\E[<1h, clear=\E[H\E[J, - cnorm=\E[<1l, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, flash=^G, fsl=^J, - home=\E[H, ht=^I, il=\E[%p1%dL, il1=\E[L, ind=^J, ip=$<7/>, - is1=\E\:1}\Ec\E[?4l\E[12h, is2=\Ec\E[12h\E)0, - is3=\E[?3l kbs=\010, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[M, kf0=\EOp, - kf1=\EOq, kf10=\EOp, kf2=\EOr, kf3=\EOs, kf4=\EOt, kf5=\EOu, - kf6=\EOv, kf7=\EOw, kf8=\EOx, kf9=\EOy, khome=\E[H, - kich1=\E[4h, kil1=\E[4l, knp=\EOn, kpp=\EOR, ll=\E[24;80H, - mc0=\E[i, nel=^M^J, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, - rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, - rs1=\Ec\E[?4l\E[12h, rs2=\Ec\E)0, sc=\E7, sgr0=\E[m, - smacs=^N, smir=\E[4h, smso=\E[7m, smul=\E[4m, tsl=^_@A, - u6=\E[%i%d;%dR, u7=\E[6n, - -# From: Alexandre Montaron , 18 Jun 1998 -# -minitel1|minitel 1, - am, bw, eslok, hs, hz, msgr, - colors#8, cols#40, lines#24, pairs#8, - acsc=+.\,\,./f0g1, bel=^G, blink=\EH, civis=^T, clear=^L, - cnorm=^Q, cr=^M, cub1=^H, cud1=^J, cuf1=^I, - cup=\037%p1%{65}%+%c%p2%{65}%+%c, cuu1=^K, el=^X, - enacs=^Y, fsl=^J, home=^^, ind=^J, - is2=\E;`ZQ\E\:iC\E\:iE\021, nel=^M^J, op=\EG, - rep=%p1%c\022%p2%{63}%+%c, rev=\E], ri=^K, rmso=\E\\, - setf=\E%?%p1%{1}%=%tD%e%p1%{3}%=%tF%e%p1%{4}%=%tA%e%p1%{6}%=%tC%e%p1%{64}%+%c%;, - sgr=%?%p1%t\E]%;%?%p3%t\E]%;%?%p4%t\EH%;, - sgr0=\EI\E\\, smso=\E], tsl=\037@%p1%{65}%+%c, -# is2=Fnct TE, Fnct MR, Fnct CM et pour finir: curseur ON. -minitel1b|minitel 1-bistandard (in 40cols mode), - mir, - cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC, - cuu=\E[%p1%dA, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el1=\E[1K, il=\E[%p1%dL, il1=\E[L, - is1=\E;iYA\E;jYC, kclr=\E[2J, kctab=^I, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[M, - kel=^X, khome=\E[H, kich1=\E[4h, kil1=\E[L, rmir=\E[4l, - smir=\E[4h, smkx=\E;iYA\E;jYC, use=minitel1, -# posait des problemes (logout en sortant de vi). -minitel1b-80|minitel 1-bistandard (standard teleinformatique), - am@, bw@, hz@, - colors@, cols#80, it#8, pairs@, - blink=\E[5m, bold=\E[1m, civis=\037@A\024\n, - clear=\E[H\E[2J, cnorm=\037@A\021\n, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H, - ht=^I, ind=\ED, is1@, is2@, kent=\EOM, kf0=\EOp, kf1=\EOq, - kf2=\EOr, kf3=\EOs, kf4=\EOt, kf5=\EOu, kf6=\EOv, kf7=\EOw, - kf8=\EOx, kf9=\EOy, nel=\EE, op@, rc=\E8, rep@, rev=\E[7m, - ri=\EM, rmkx@, rmso=\E[27m, rmul=\E[24m, sc=\E7, setf@, - sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m, - sgr0=\E[m, smkx@, smso=\E[7m, smul=\E[4m, use=minitel1b, - -######## OBSOLETE VDT TYPES -# -# These terminals are *long* dead -- these entries are retained for -# historical interest only. - -#### Amtek Business Machines -# - -# (abm80: early versions of this entry apparently had ":se=\E^_:so=\E^Y", -# but these caps were commented out in 8.3; also, removed overridden -# ":do=^J:" -- esr) -abm80|amtek business machines 80, - OTbs, am, bw, - cols#80, lines#24, - cbt=^T, clear=\E^\, cub1=^H, cud1=\E^K, cuf1=^P, - cup=\E\021%p2%{32}%+%c%p1%{32}%+%c, cuu1=\E^L, - dl1=\E^S, ed=\E^X, el=\E^O, home=\E^R, il1=\E^Z, - -#### Bell Labs blit terminals -# -# These were AT&T's official entries. The 5620 FAQ maintained by -# David Breneman has this to say: -# -# Actually, in the beginning was the Jerq, and the Jerq was white with a -# green face, and Locanthi and Pike looked upon the Jerq and said the Jerq -# was good. But lo, upon the horizon loomed a mighty management-type person -# (known now only by the initials VP) who said, the mighty Jerq must stay -# alone, and could not go forth into the world. So Locanthi and Pike put the -# Jerq to sleep, cloned its parts, and the Blit was brought forth unto the -# world. And the Jerq lived the rest of its days in research, but never -# strayed from those paths. -# -# In all seriousness, the Blit was originally known as the Jerq, but when -# it started to be shown outside of the halls of the Bell Labs Research -# organization, the management powers that be decided that the name could -# not remain. So it was renamed to be Blit. This was in late 1981. -# -# (The AT&T 5620 was the commercialized Blit. Its successors were the 630, -# 730, and 730+.) -# - -blit|jerq|blit running teletype rom, - am, eo, ul, xon, - cols#87, it#8, lines#72, - bel=^G, clear=^L, cr=^M, cub1=\ED, cud1=^J, cuf1=\EC, - cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA, - dch=\Ee%p1%{32}%+%c, dch1=\Ee!, dl=\EE%p1%{32}%+%c, - dl1=\EE!, el=\EK, ht=^I, ich=\Ef%p1%{32}%+%c, ich1=\Ef!, - il=\EF%p1%{32}%+%c, il1=\EF!, ind=^J, kbs=^H, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf1=\Ex, kf2=\Ey, kf3=\Ez, - -# (cbblit: here's a BSD termcap that says -- esr) -cbblit|fixterm|blit running columbus code, - cols#88, - ed=\EJ, flash=\E^G, ich1@, mc4=^T, mc5=^R, mc5p=\EP%p1%03d, - rmir=\ER, rmso=\EV!, rmul=\EV", smir=\EQ, smso=\EU!, - smul=\EU", use=blit, - -oblit|ojerq|first version of blit rom, - am, da, db, eo, mir, ul, xon, - cols#88, it#8, lines#72, - bel=^G, clear=^L, cr=^M, cub1=\ED, cud1=^J, cuf1=\EC, - cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA, dch1=\EO, - dl=\Ee%p1%{32}%+%c, dl1=\EE, ed=\EJ, el=\EK, flash=\E^G, - ht=^I, il=\Ef%p1%{32}%+%c, il1=\EF, ind=^J, kbs=^H, rmir=\ER, - smir=\EQ, - -#### Bolt, Beranek & Newman (bbn) -# -# The BitGraph was a product of the now-defunct BBN Computer Corporation. -# The parent company, best known as the architects of the Internet, is -# still around. -# -# Jeff DelPapa writes: -# The bitgraph was a large white box that contained a monochrome bitmap -# display, and a 68000 to run it. You could download code and run it on -# the cpu, it had 128kb (I think) of memory. I used one in the late -# 70's, sure beat a vt100. It had one strange feature tho -- it used -# the cpu to bitblt pixels to scroll, it took longer than the refresh -# rate, and looked like a rubber sheet stretching, then snapping -# upwards. It had everything the early mac had, except a floppy drive a -# small screen (it had a 17" crisp beauty) and a real OS. They (Bolt -# Beranek and Neuman) sold at most a few hundred of them to the real -# world. DOD may have bought more... -# - -# Entries for the BitGraph terminals. The problem -# with scrolling in vi can only be fixed by getting BBN to put -# smarter scroll logic in the terminal or changing vi or padding -# scrolls with about 500 ms delay. -# -# I always thought the problem was related to the terminal -# counting newlines in its input buffer before scrolling and -# then moving the screen that much. Then vi comes along and -# paints lines in on the bottom line of the screen, so you get -# this big white gap. - -bitgraph|bg2.0nv|bg3.10nv|bbn bitgraph 2.0 or later (normal video), - flash=\E[?5h$<200/>\E[?5l, is2=\E>\E[?5l\E[?7h, - use=bg2.0, -bg2.0rv|bg3.10rv|bbn bitgraph 2.0 (reverse video), - flash=\E[?5l$<200/>\E[?5h, is2=\E>\E[?5h\E[?7h, - use=bg2.0, -bg2.0|bg3.10|bbn bitgraph 2.0 or later (no init), - OTbs, xenl, - cols#85, lines#64, - bel=^G, clear=\E[H\E[J$<150>, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A, dl1=\E[M$<2*>, - ed=\E[J$<150>, el=\E[K$<2>, ht=^I, il1=\E[L$<2*>, - ind=\n$<280>, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, lf1=PF1, - lf2=PF2, lf3=PF3, lf4=PF4, rc=\E8, rmkx=\E>, rmso=\E[m, sc=\E7, - sgr0=\E[m, smkx=\E=, smso=\E[7m, - -bg1.25rv|bbn bitgraph 1.25 (reverse video), - flash=\E[?5l$<200/>\E[?5h, is2=\E>\E[?5h\E[?7h, - use=bg1.25, -bg1.25nv|bbn bitgraph 1.25 (normal video), - flash=\E[?5h$<200/>\E[?5l, is2=\E>\E[?5l\E[?7h, - use=bg1.25, -# (bg1.25: I added / based on the init string -- esr) -bg1.25|bbn bitgraph 1.25, - cols#85, lines#64, - bel=^G, clear=\E[H\E[J$<150>, cr=^M, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A, - dl1=\E[M$<2*>, ed=\E[J$<150>, el=\E[K$<2>, ht=^I, - il1=\E[L$<2*>, ind=\n$<280>, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, kf1=\EP, kf2=\EQ, kf3=\ER, kf4=\ES, - lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, ll=\E[64;1H, rmam=\E[?7l, - rmkx=\E>, rmso=\E[m, sgr0=\E[m, smam=\E[?7h, smkx=\E=, - smso=\E[7m, - -#### Bull (bq, dku, vip) -# -# (Adapted for terminfo; AIX extension capabilities translated -- esr) - -#============================================# -# BULL QUESTAR 210 `SDP' terminals emulation # -#============================================# -# -# Description written by R.K.Saunders (Bull Transac) -# -# Modifications written by F. Girard (Bull MTS) -# 19-05-87 V02.00.01 -# 17-12-87 V02.00.02 -# 15-09-89 V02.00.05 -# -# Typical technical selections F1 (modes SDP/ROLL): -# ------------------------------------------------------- -# | 01 02 03 04 05 06 07 08 09 10 | -# | 1010 0011 1010 0110 0110 0001 0100 0000 0000 0000 | -# | | -# | 11 12 13 14 15 16 17 18 19 20 | -# | 0000 0110 100? 0000 0000 0000 0001 0000 0000 0001 | -# | | -# | 21 22 23 24 25 26 27 28 29 30 | -# | 0011 0000 0001 1000 0000 0000 0000 0000 0000 0000 | -# | | -# | 31 32 33 34 35 36 37 38 39 40 | -# | 1010 0011 0000 0000 0000 0000 0000 0000 0000 0000 | -# ------------------------------------------------------- -# Typical firmware identification F5 "etat 6": -# P287.02.04b (AZERTY) -# P297.11.04 (24-pin: 2732) or P798.11.04 (28-pin: 2764) -# P298.03.03 (monochrome) or P374.03.02 (colour) -# -# SM SDP mode (VIP command): ^[[?=h -# RIS (erases screen): ^[c -# DMI disable keyboard: ^[` -# SM double rendition mode: ^[[?>h -# RM solicited status mode: ^[[5l -# RM character mode: ^[[>l -# RM echoplex mode: ^[[12l -# RM column tab mode: ^[[18l -# RM forbid SS2 keyboard mode: ^[[?h\EPY99\:98\E\\, - is2=\E[5;>;12;18;?h\EPY99\:98\E\\, - smir=\E[4h, smso=\E[0;7m, smul=\E[0;4m, tbc=\E[2g, - tsl=\EPY99\:98\E\\\E[0;98v\E[2;7m, -tws2102-sna|dku7102-sna|BULL Questar tws2102 for SNA, - dsl=\E[0;98v\E[2J\E[v, fsl=\E[v, is3=\Eb, tsl=\E[0;98v, - use=tws-generic, -tws2103|xdku|BULL Questar tws2103, - ht=^I, use=tws-generic, -tws2103-sna|dku7103-sna|BULL Questar tws2103 for SNA, - ht=^I, use=tws2102-sna, -dku7102-old|BULL Questar 200 DKU7102 (microcode version < 6), - clear=\E[2J\E[H, cup@, dl@, dl1@, - dsl=\EPY99\:98\E\\\E[0;98v\E[2J\E[H\E[v, el=\E[K\E[m, - il@, il1@, tsl=\EPY99\:98\E\\\E[0;98v\E[H\E[2;7m, - use=tws-generic, -dku7202|BULL Questar 200 DKU7202 (colour/character attributes), - blink=\E[0;2;4m, dim=\E[0;5m, ht=^I, is3=\E[?3h\Eb, - smso=\E[0;4;5;7m, smul=\E[0;2m, use=tws-generic, - -#=========================================================# -# BULL QUESTAR 303 & 310 `DEC VT 320' terminals emulation # -#=========================================================# -# -# Description written by J. Staerck (BULL SA) -# Copyright (c) 1989 BULL SA -#--------------------------------------------------------------------------- -# This entry is used for terminals with vt320 emulation mode -# and following set-up : -# 8 bit ISO Latin Character Set (ISO 8859-1), -# 7 bit Control Characters, -# 80 columns screen. -# Hereafter are some DEC vt terminals' commands. (valid on vt200 and 300) -# They are used in string capabilities with vt220-320 emulation mode. -# In the following DEC definitions, two kinds of terminfo databases are -# provided : -# 1. the first with Command Sequence Introducer starting with escape -# sequence in 7 bits characters ex. ESC [ : 2 chars. in 7-bit mode. -# 2. the second with Command Sequence Introducer starting with escape -# sequence in 8 bits characters ex. ESC [ : 1 char. 'CSI' =x9B. -# Soft Terminal Reset esc [ ! p -# RIS (erases screen): esc c -# DECKPNM numeric keypad mode: esc > -# DECKPAM applic. keypad mode: esc = -# DECSTBM Scrolling region: esc [ r -# SCS select G0 = US: esc ( B -# SCS select G1 = line-graphic: esc ) 0 -# Select 7-bit C1 controls: esc sp F -# Select 8-bit C1 controls: esc sp G -# Select cursor home: esc [ H -# Select erase screen: esc [ J -# SM KAM lock keyboard: esc [ 2 h -# RM KAM unlock keyboard: esc [ 2 l -# SM SRM local echo off: esc [ 1 2 h -# RM SRM local echo on: esc [ 1 2 l -# SM LNM New line : esc [ 2 0 h -# RM LNM return = CR only: esc [ 2 0 l -# SM DECCKM cursor keys mode: esc [ ? 1 h -# RM DECCKM appli. keys mode: esc [ ? 1 l -# SM DECANM ANSI mode on: esc [ ? 2 h -# RM DECANM ANSI mode off: esc [ ? 2 l -# SM DECCOLM 132-column screen: esc [ ? 3 h -# RM DECCOLM 80-column screen: esc [ ? 3 l -# SM DECSCLM Smooth scroll: esc [ ? 4 h -# RM DECSCLM Jump scroll: esc [ ? 4 l -# SM DECSCNM screen light backgr. esc [ ? 5 h -# RM DECSCNM screen dark backgr. esc [ ? 5 l -# SM DECOM move within margins: esc [ ? 6 h -# RM DECOM move outside margins: esc [ ? 6 l -# SM DECAWM auto right margin: esc [ ? 7 h -# RM DECAWM auto right margin: esc [ ? 7 l -# SM DECARM auto repeat: esc [ ? 8 h -# RM DECARM auto repeat: esc [ ? 8 l -# DECSASD Select active main: esc [ 0 $ } -# DECSASD Select active status: esc [ 1 $ } -# DECSSDT Select status none: esc [ 0 $ ~ -# DECSSDT Select status indic.: esc [ 1 $ ~ -# DECSSDT Select status host-wr: esc [ 2 $ ~ -# SM DECTCEM Visible cursor: esc [ ? 2 5 h -# RM DECTCEM Invisible cursor: esc [ ? 2 5 l -# SM DECNCRM 7 bits NCR set: esc [ ? 4 2 h -# RM DECNCRM Multi or ISO latin: esc [ ? 4 2 l -# SM DECNKM numeric keypad mode: esc [ ? 6 6 h -# RM DECNKM numeric keypad appl.: esc [ ? 6 6 l -# SM DECKBUM clavier informatique esc [ ? 6 8 h -# RM DECKBUM clavier bureautique: esc [ ? 6 8 l -# DECSCL vt300 mode 8-bit ctrl: esc [ 6 3 " p -# or DECSCL vt300 mode 8-bit ctrl: esc [ 6 3 ; 0 " p -# or DECSCL vt300 mode 8-bit ctrl: esc [ 6 3 ; 2 " p -# DECSCL vt300 mode 7-bit ctrl: esc [ 6 3 ; 1 " p -# Char. and Line attributes: esc [ Ps ... Ps m -# with: 0 All off, 1 Bold, 4 Underline, 5 Blinking, 7 Reverse -# and : 22 Bold off, 24 Underline off, 25 Blinking off, 27 Reverse off -# - -# This entry covers BQ303, BQ306, BQ310, Q303, Q306, Q310 -bq300|Bull vt320 ISO Latin 1 80 columns terminal, - am, eo, eslok, hs, km, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - dsl=\E[1$}\E[2$~\n\E[0$}, ech=\E[%p1%dX, ed=\E[J, - el=\E[K, el1=\E[1K, enacs=\E(B\E)0, - flash=\E[?5h$<50>\E[?5l, fsl=\E[0$}, home=\E[H, ht=^I, - hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED, - is1=\E[63;1"p\E[2h, - is2=\E[?2h\E[?3l\E[?5l\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l, - is3=\E[0$}\E[?25h\E[2l\E[H\E[J, ka1=\EOw, ka3=\EOy, - kb2=\EOu, kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, - kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, - kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, - khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - krdo=\E[29~, kslt=\E[4~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, - mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m, - ri=\EM, rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?7h, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, rs1=\E[!p, - rs2=\E[?3l, s0ds=\E(B, s1ds=\E(0, sc=\E7, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\E[0m\E(B, smacs=\E(0, smam=\E[?7h, - smcup=\E[?7l\E[?1l\E(B, smir=\E[4h, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, tsl=\E[1$}\E[2$~, -bq300-rv|Bull vt320 reverse 80 columns, - flash=\E[?5l$<50>\E[?5h, - is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l, - use=bq300, -bq300-w|Bull vt320 132 columns, - cols#132, wsl#132, - is2=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l, - rs2=\E[?3h, use=bq300, -bq300-w-rv|Bull vt320 reverse mode 132 columns, - cols#132, wsl#132, - flash=\E[?5l$<50>\E[?5h, - is2=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l, - rs2=\E[?3h, use=bq300, - -# This entry is used for terminals with vt320 emulation mode -# and following set-up : -# 8 bit ISO Latin Character Set (ISO 8859-1), -# 8 bit Control Characters, (CSI coded as x9B for ESC [) -# 80 columns screen. -# Soft Terminal Reset csi ! p -# RIS (erases screen): esc c -# DECKPNM numeric keypad mode: esc > -# DECKPAM applic. keypad mode: esc = -# DECSTBM Scrolling region: esc [ r -# SCS select G0 = US: esc ( B -# SCS select G1 = line-graphic: esc ) 0 -# Select 7-bit C1 controls: esc sp F -# Select 8-bit C1 controls: esc sp G -# Select cursor home: csi H -# Select erase screen: csi J -# SM KAM lock keyboard: csi 2 h -# RM KAM unlock keyboard: csi 2 l -# SM SRM local echo off: csi 1 2 h -# RM SRM local echo on: csi 1 2 l -# SM LNM New line : csi 2 0 h -# RM LNM return = CR only: csi 2 0 l -# SM DECCKM cursor keys mode: csi ? 1 h -# RM DECCKM appli. keys mode: csi ? 1 l -# SM DECANM ANSI mode on: csi ? 2 h -# RM DECANM ANSI mode off: csi ? 2 l -# SM DECCOLM 132-column screen: csi ? 3 h -# RM DECCOLM 80-column screen: csi ? 3 l -# SM DECSCLM Smooth scroll: csi ? 4 h -# RM DECSCLM Jump scroll: csi ? 4 l -# SM DECSCNM screen light backgr. csi ? 5 h -# RM DECSCNM screen dark backgr. csi ? 5 l -# SM DECOM move within margins: csi ? 6 h -# RM DECOM move outside margins: csi ? 6 l -# SM DECAWM auto right margin: csi ? 7 h -# RM DECAWM auto right margin: csi ? 7 l -# SM DECARM auto repeat: csi ? 8 h -# RM DECARM auto repeat: csi ? 8 l -# DECSASD Select active main: csi 0 $ } -# DECSASD Select active status: csi 1 $ } -# DECSSDT Select status none: csi 0 $ ~ -# DECSSDT Select status indic.: csi 1 $ ~ -# DECSSDT Select status host-wr: csi 2 $ ~ -# SM DECTCEM Visible cursor: csi ? 2 5 h -# RM DECTCEM Invisible cursor: csi ? 2 5 l -# SM DECNCRM 7 bits NCR set: csi ? 4 2 h -# RM DECNCRM Multi or ISO latin: csi ? 4 2 l -# DECSCL vt300 mode 8-bit ctrl: csi 6 3 " p -# or DECSCL vt300 mode 8-bit ctrl: csi 6 3 ; 0 " p -# DECSCL vt300 mode 7-bit ctrl: csi 6 3 ; 1 " p -# Char. and Line attributes: csi Ps ... Ps m -# with: 0 All off, 1 Bold, 4 Underline, 5 Blinking, 7 Reverse -# and : 22 Bold off, 24 Underline off, 25 Blinking off, 27 Reverse off -# (bq300-8: ,,,,, to get under 1024 --esr) -bq300-8|Bull vt320 full 8 bits 80 columns, - am, eo, eslok, hs, km, mc5i, mir, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, wsl#80, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\2335m, bold=\2331m, civis=\233?25l, - clear=\233H\233J, cnorm=\233?25h, cr=^M, - csr=\233%i%p1%d;%p2%dr, cub=\233%p1%dD, cud=\233%p1%dB, - cuf=\233%p1%dC, cup=\233%i%p1%d;%p2%dH, cuu=\233%p1%dA, - dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, - dsl=\2331$}\2332$~\n\2330$}, ech=\233%p1%dX, ed=\233J, - el=\233K, el1=\2331K, enacs=\E(B\E)0, - flash=\233?5h$<50>\233?5l, fsl=\2330$}, home=\233H, - ht=^I, hts=\EH, ich=\233%p1%d@, il=\233%p1%dL, ind=\ED, - is1=\E[63;2"p\E[2h, - is2=\E[?2h\E[?3l\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l, - is3=\2330$}\233?25h\2332l\233H\233J, ka1=\217w, - ka3=\217y, kb2=\217u, kbs=^H, kc1=\217q, kc3=\217s, - kcub1=\233D, kcud1=\233B, kcuf1=\233C, kcuu1=\233A, - kdch1=\2333~, kf1=\217P, kf10=\23321~, kf11=\23323~, - kf12=\23324~, kf13=\23325~, kf14=\23326~, kf15=\23328~, - kf16=\23329~, kf17=\23331~, kf18=\23332~, kf19=\23333~, - kf2=\217Q, kf20=\23334~, kf3=\217R, kf4=\217S, kf6=\23317~, - kf7=\23318~, kf8=\23319~, kf9=\23320~, kfnd=\2331~, - khlp=\23328~, kich1=\2332~, knp=\2336~, kpp=\2335~, - krdo=\23329~, kslt=\2334~, lf1=pf1, lf2=pf2, lf3=pf3, - lf4=pf4, mc0=\233i, mc4=\2334i, mc5=\2335i, nel=\EE, rc=\E8, - rev=\2337m, ri=\EM, rmacs=^O, rmam=\233?7l, rmcup=\233?7h, - rmir=\2334l, rmkx=\233?1l\E>, rmso=\23327m, rmul=\23324m, - rs1=\E[!p, rs2=\E[?3l, s0ds=\E(B, s1ds=\E(0, sc=\E7, - sgr=\233%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\2330m\E(B, smacs=^N, smam=\233?7h, - smcup=\233?7l\233?1l\E(B, smir=\2334h, smso=\2337m, - smul=\2334m, tbc=\2333g, tsl=\2331$}\2332$~, -bq300-8rv|Bull vt320 8-bit reverse mode 80 columns, - flash=\233?5l$<50>\233?5h, - is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l, - use=bq300-8, -bq300-8w|Bull vt320 8-bit 132 columns, - cols#132, wsl#132, - is2=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l, - rs2=\233?3h, use=bq300-8, -bq300-w-8rv|Bull vt320 8-bit reverse mode 132 columns, - cols#132, wsl#132, - flash=\233?5l$<50>\233?5h, - is2=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l, - rs2=\233?3h, use=bq300-8, - -# This entry is used for terminals with vt320 emulation mode -# a 102 keys keyboard (PC scancode !) and following set-up : -# 8 bit ISO Latin Character Set (ISO 8859-1), -# 7 bit Control Characters, -# 80 columns screen. -bq300-pc|Questar 303 with PC keyboard ISO Latin 1 80 columns, - kbs=^H, kdch1=\E[3~, kend=\E[4~, kf1=\E[17~, kf10=\E[28~, - kf11=\E[29~, kf12=\E[31~, kf13@, kf14@, kf15@, kf16@, kf17@, - kf18@, kf19@, kf2=\E[18~, kf20@, kf3=\E[19~, kf4=\E[20~, - kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, kf9=\E[26~, - kfnd@, khlp@, khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - krdo@, kslt@, lf1@, lf2@, lf3@, lf4@, use=bq300, -bq300-pc-rv|Questar 303 with PC keyboard reverse mode 80 columns, - flash=\E[?5l$<50>\E[?5h, - is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l, - use=bq300-pc, -bq300-pc-w|Questar 303 with PC keyboard 132 columns terminal, - cols#132, wsl#132, - is2=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l, - rs2=\E[?3h, use=bq300-pc, -bq300-pc-w-rv|Questar 303 with PC keyboard reverse mode 132 columns, - cols#132, wsl#132, - flash=\E[?5l$<50>\E[?5h, - is2=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l, - rs2=\E[?3h, use=bq300-pc, -# 8 bit ISO Latin Character Set (ISO 8859-1), -# 8 bit Control Characters, -# 80 columns screen. -bq300-8-pc|Q306-8-pc|Questar 303 with PC keyboard in full 8 bits 80 columns, - kbs=^H, kdch1=\2333~, kend=\2334~, kf1=\23317~, - kf10=\23328~, kf11=\23329~, kf12=\23331~, kf13@, kf14@, - kf15@, kf16@, kf17@, kf18@, kf19@, kf2=\23318~, kf20@, - kf3=\23319~, kf4=\23320~, kf5=\23321~, kf6=\23323~, - kf7=\23324~, kf8=\23325~, kf9=\23326~, kfnd@, khlp@, - khome=\2331~, kich1=\2332~, knp=\2336~, kpp=\2335~, krdo@, - kslt@, lf1@, lf2@, lf3@, lf4@, use=bq300-8, -bq300-8-pc-rv|Questar 303 with PC keyboard full 8 bits reverse mode 80 columns, - flash=\E[?5l$<50>\E[?5h, - is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l, - use=bq300-8-pc, -bq300-8-pc-w|Questar 303 with PC keyboard full 8 bits 132 columns, - cols#132, wsl#132, - is2=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l, - rs2=\E[?3h, use=bq300-8-pc, -bq300-8-pc-w-rv|Questar 303 with PC keyboard full 8 bits reverse 132 columns, - cols#132, wsl#132, - flash=\E[?5l$<50>\E[?5h, - is2=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l, - rs2=\E[?3h, use=bq300-8-pc, - -#======================================================# -# BULL QUESTAR 310 `VIP 7800/8800' terminals emulation # -#======================================================# - -# normal mode, 8 bits, 80 columns terminal. -# RES reset : ^[e -# RIS reset initial state: ^[c -# BLE bell enable ^[h -# BLD bell disable ^[g -# CAMS char. attr. mode set ^[[D -# CAMR char. attr. mode reset ^[[G -# CLR clear ^[` -# KBU keyboard unlock (set) ^[[W -# KBL keyboard lock (reset) ^[[X -# CM character mode (async.) ^[k -# NEP non echoplex mode (by host) ^[l -# EP echoplex mode (by host) ^[m -# IM insert mode set ^[[I -# IM insert mode reset ^[[J -# RMS roll mode set ^[r -# RMR roll mode reset ^[q -# SM78 set mode vip7800 ^[[1q -# SD scroll up (72 lines) ^[[0s -# SD scroll down (72 lines) ^[[1s -# RBM block mode reset ^[[E -# SLS status line set ^[w -# SLR status line reset ^[v -# SLL status line lock ^[O -# LGS Line-graphic mode set ^[G -# LGR Line-graphic mode reset ^[F -# TBC tab clear (at cursor pos.) ^[[g -# TBI tab initialize ^[[N -# TBS tab set (at cursor pos.) ^[p -# PDS print data space ^[[0p -# PHD print host data ^[[3p -# PDT print data terminator ^[[

u -# SSP0 partition 0 set ^[[00u -# SSP1 partition n format 1 ^[[PnPnSTRINGu -# SSP2 partition n format 2 ^[[PnPnSTRINGu -# SSP3 partition n format 3 ^[[PnPnu -# ATR attribute (visual) -# blink : ^[sB -# dim : ^[sL -# hide (blank) : ^[sH -# restore : ^[sR -# inverse video : ^[sI -# prot. : ^[sP -# underline : ^[s_ -# reset : ^{ -# -# This covers the vip7800 and BQ3155-vip7800 -vip|Bull Questar 3155-7800, - am, eslok, hs, km, mc5i, msgr, xenl, xon, - cols#80, it#8, lines#24, vt#3, wsl#80, - acsc=0pjdkblamcnkqitgufvhwexj, bel=^G, blink=\EsB, - cbt=\E[Z, clear=\E`, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\E[%i%p1%03d%p2%03df, cuu1=\EA, dch1=\E[P, dim=\EsL, - dl1=\E[M, dsl=\Ev, ed=\EJ, el=\EK, - flash=\007$<80>\007$<80>\007, fsl=\EO, home=\EH, ht=^I, - hts=\Ep, ich1=\E[I, ind=^J, invis=\EsH, - is2=\E[00u\E[<>001001024080024080u\E[01u, - is3=\Er\E[W\E`, kHOM=\EH, kLFT=\Eo, kRIT=\Eu, kbs=^H, - kcbt=\E[Z, kclr=\E`, kctab=\E[g, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, kdch1=\E[P, kdl1=\E[M, ked=\EJ, - kel=\EK, kf1=\E0, kf10=\ET, kf11=\E\\, kf12=\E\^, kf13@, kf14@, - kf15@, kf16@, kf17@, kf18@, kf19@, kf2=\E2, kf20@, kf21=\E1, - kf22=\E5, kf23=\E7, kf24=\E9, kf25=\E;, kf26=\E=, kf27=\E?, - kf28=\EQ, kf29=\ES, kf3=\E6, kf30=\EV, kf31=\E], kf32=\E_, - kf4=\E8, kf5=\E\:, kf6=\E<, kf7=\E>, kf8=\EP, kf9=\ER, - khome=\EH, khts=\Ep, kich1=\E[I, kil1=\E[L, kind=\E[0s, - kll=\EH\EA, kri=\E[1s, krmir=\E[J, ktbc=\E[N, lf1=pf1, - lf2=pf2, lf3=pf3, lf4=pf4, ll=\EH\EA, mc0=\E[0p, mc4=\E[, rmacs=\EF, rmir=\E[J, rmso=\EsR, - rmul=\EsR, rs1=\Ec, rs2=\E[G, s0ds=\EF, s1ds=\EG, - sgr0=\EsR\EsU\EF, smacs=\EG, smir=\E[I, smso=\EsI, - smul=\Es_, tbc=\E[N, tsl=\Ew, -# normal screen, 8 bits, 132 columns terminal. -vip-w|vip7800-w|Q310-vip-w|Q310-vip-w-am|Questar 3155-vip7800 wide, - cols#132, wsl#132, - is2=\E[00u\E[<>001001024132024132u\E[01u, use=vip, -vip-H|vip7800-H|Q310-vip-H|Q310-vip-H-am|Questar 3155-vip7800 72 lines, - lines#72, - is2=\E[00u\E[<>001001024080072080u\E[01u, use=vip, -vip-Hw|vip7800-Hw|Q310-vip-Hw|Questar 3155-vip7800 wide 72 lines, - cols#132, lines#72, wsl#132, - is2=\E[00u\E[<>001001024132072132u\E[01u, use=vip, - -#### Chromatics -# - -# I have put the long strings in /. Ti sets up a window -# that is smaller than the screen, and puts up a warning message -# outside the window. Te erases the warning message, puts the -# window back to be the whole screen, and puts the cursor at just -# below the small window. I defined and to really turn -# the cursor on and off, but I have taken this out since I don't -# like the cursor being turned off when vi exits. -cg7900|chromatics|chromatics 7900, - am, - cols#80, lines#40, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^], - cup=\001M%p2%d\,%p1%d\,, cuu1=^K, dch1=^A<1, dl1=^A<2, - ed=^Al, el=^A`, home=^\, ich1=^A>1, il1=^A>2, ind=^J, ll=^A|, - rmcup=\001W0\,40\,85\,48\,\014\001W0\,0\,85\,48\,\001M0\,40\,, - rmso=\001C1\,\001c2\,, - smcup=\001P0\001O1\001R1\001C4\,\001c0\,\014\001M0\,42\,WARNING DOUBLE ENTER ESCAPE and \025\001C1\,\001c2\,\001W0\,0\,79\,39\,, - smso=\001C4\,\001c7\,, uc=\001\001_\001\0, - -#### Computer Automation -# - -ca22851|computer automation 22851, - am, - cols#80, lines#24, - bel=^G, clear=\014$<8>, cr=^M, cub1=^U, cud1=^J, cuf1=^I, - cup=\002%i%p1%c%p2%c, cuu1=^V, ed=^\, el=^], home=^^, ind=^J, - kcub1=^U, kcud1=^W, kcuu1=^V, khome=^^, - -#### Cybernex -# - -# This entry has correct padding and the undocumented "ri" capability -cyb83|xl83|cybernex xl-83, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\014$<62>, cr=^M, cub1=^H, cud1=^J, cuf1=^I, - cup=\027%p1%{32}%+%c%p2%{32}%+%c, cuu1=^N, - ed=\020$<62>, el=\017$<3>, home=^K, ind=^J, kcub1=^H, - kcud1=^J, kcuf1=^I, kcuu1=^N, ri=^N, -# (mdl110: removed obsolete ":ma=^Z^P:" and overridden ":cd=145^NA^W:" -- esr) -cyb110|mdl110|cybernex mdl-110, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=\030$<70>, cr=^M, cub1=^H, cud1=^J, cuf1=^U, - cup=\020%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, - dch1=\016A\036$<3.5>, dl1=\016A\016\036$<40>, - ed=\016@\026$<6>, el=\016@\026$<145>, home=^Y, - ht=\011$<43>, ich1=\016A\035$<3.5>, - il1=\016A\016\035$<65>, ind=^J, rmso=^NG, smso=^NF, - -#### Datapoint -# -# Datapoint is gone. They used to be headquartered in Texas. -# They created ARCnet, an Ethernet competitor that flourished for a while -# in the early 1980s before 3COM got wise and cut its prices. The service -# side of Datapoint still lives (1995) in the form of Intelogic Trace. -# - -dp3360|datapoint|datapoint 3360, - OTbs, am, - cols#82, lines#25, - bel=^G, clear=^]^_, cr=^M, cub1=^H, cud1=^J, cuf1=^X, cuu1=^Z, - ed=^_, el=^^, home=^], ind=^J, - -# From: Jan Willem Stumpel , 11 May 1997 -# The Datapoint 8242 Workstation was sold at least between 1985 -# and 1989. To make the terminal work with this entry, press -# CONTROL-INT-INT to take the terminal off-line, and type (opt). -# Set the options AUTO ROLL, ROLL DN, and ESC KBD on, and AUTO -# CR/LF off. Use control-shift-[] as escape key, control-I as tab, -# shift-F1 to shift-F5 as F6 to F10 (unshifted F1 to F5 are in -# fact unusable because the strings sent by the terminal conflict -# with other keys). -# The terminal is capable of displaying "box draw" characters. -# For each graphic character you must send 2 ESC's (\E\E) followed -# by a control character as follows: -# character meaning -# ========= ======= -# ctrl-E top tee -# ctrl-F right tee -# ctrl-G bottom tee -# ctrl-H left tee -# ctrl-I cross -# ctrl-J top left corner -# ctrl-K top right corner -# ctrl-L bottom left corner -# ctrl-M bottom right corner -# ctrl-N horizontal line -# ctrl-O vertical line -# Unfortunately this cannot be fitted into the termcap/terminfo -# description scheme. -dp8242|datapoint 8242, - msgr, - cols#80, lines#25, - bel=^G, civis=^Y, clear=\025\E\004\027\030, cnorm=^X, - cr=^M, cub1=^H, cud1=^J, - cup=\011%p2%'\0'%+%c%p1%'\0'%+%c, dl1=\E^Z, ed=^W, el=^V, - home=^U, ht=^I, il1=\E^T, ind=^C, - is1=\E\014\E\016\0\230\0\317\025\027\030\E\004, - kbs=^H, kcub1=^D, kcud1=^B, kcuf1=^F, kcuu1=^E, kf1=^G\Ee, - kf10=\EK\Ea, kf2=^I\Ed, kf3=^J\Ec, kf4=^J\Eb, kf5=^S\Ea, - kf6=\EO\Ee, kf7=\EN\Ed, kf8=\EM\Ec, kf9=\EL\Eb, nel=^M^J, - rep=\E\023%p1%c%p2%c, ri=^K, rmso=\E^D, rmul=\E^D, - rs1=\E\014\E\016\0\230\0\317\025\027\030\E\004, - smso=\E^E, smul=\E^F, - wind=\E\014\E\016%p1%'\0'%+%c%p2%'\0'%+%c%p3%'\0'%+%c%p4%'\0'%+%c\025, - -#### DEC terminals (Obsolete types: DECwriter and vt40/42/50) -# -# These entries are DEC's official terminfos for its older terminals. -# Contact Bill Hedberg of Terminal Support -# Engineering for more information. Updated terminfos and termcaps -# are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps. -# - -gt40|dec gt40, - OTbs, os, - cols#72, lines#30, - bel=^G, cr=^M, cub1=^H, cud1=^J, -gt42|dec gt42, - OTbs, os, - cols#72, lines#40, - bel=^G, cr=^M, cub1=^H, cud1=^J, -vt50|dec vt50, - OTbs, - cols#80, lines#12, - bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cuu1=\EA, ed=\EJ, el=\EK, ht=^I, ind=^J, -vt50h|dec vt50h, - OTbs, - cols#80, lines#12, - bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, - el=\EK, ht=^I, ind=^J, ri=\EI, -# (vt61: there's a BSD termcap that claims , ) -vt61|vt-61|vt61.5|dec vt61, - cols#80, lines#24, - bel=^G, clear=\EH\EJ$<120>, cr=\r$<20>, cub1=^H, cud1=^J, - cuf1=\EC$<20>, cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<20>, - cuu1=\EA$<20>, ed=\EJ$<120>, el=\EK$<70>, ht=^I, - ind=\n$<20>, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, - ri=\E$<20>I, - -# The gigi does standout with red! -# (gigi: I added / based on the init string, corrected cub1 -- esr) -gigi|vk100|dec gigi graphics terminal, - OTbs, am, xenl, - cols#84, lines#24, - bel=^G, clear=\E[H\E[2J, cr=^M, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, ed=\E[J, - el=\E[K, ht=^I, ind=^J, - is2=\E>\E[?3l\E[?4l\E[?5l\E[?20l\E[?7h\E[?8h, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, ri=\EM, - rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7;31m, - smul=\E[4m, - -# DEC PRO-350 console (VT220-style). The 350 was DEC's attempt to produce -# a PC differentiated from the IBM clones. It was a total, ludicrous, -# grossly-overpriced failure (among other things, DEC's OS didn't include -# a format program, so you had to buy pre-formatted floppies from DEC at -# a hefty premium!). -pro350|decpro|dec pro console, - OTbs, - cols#80, it#8, lines#24, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - clear=\EH\EJ, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, - el=\EK, home=\EH, ht=^I, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kf0=\EE, kf1=\EF, kf2=\EG, kf3=\EH, kf4=\EI, - kf5=\EJ, kf6=\Ei, kf7=\Ej, khome=\EH, ri=\EI, rmacs=\EG, - rmso=\E^N, rmul=\E^C, smacs=\EF, smso=\E^H, smul=\E^D, - -dw1|decwriter I, - OTbs, hc, os, - cols#72, - bel=^G, cr=^M, cub1=^H, cud1=^J, ind=^J, -dw2|decwriter|dw|decwriter II, - OTbs, hc, os, - cols#132, - bel=^G, cr=^M, cub1=^H, cud1=^J, ind=^J, kbs=^H, -# \E(B Use U.S. character set (otherwise # => british pound !) -# \E[20l Disable "linefeed newline" mode (else puts \r after \n,\f,\v) -# \E[w 10 char/in pitch -# \E[1;132 full width horizontal margins -# \E[2g clear all tab stops -# \E[z 6 lines/in -# \E[66t 66 lines/page (for \f) -# \E[1;66r full vertical page can be printed -# \E[4g clear vertical tab stops -# \E> disable alternate keypad mode (so it transmits numbers!) -# \E[%i%p1%du set tab stop at column %d (origin == 1) -# (Full syntax is \E[n;n;n;n;n;...;nu where each 'n' is -# a tab stop) -# -# The dw3 does standout with wide characters. -# -dw3|la120|decwriter III, - OTbs, hc, os, - cols#132, - bel=^G, cr=^M, cub1=^H, cud1=^J, ht=^I, ind=^J, - is1=\E(B\E[20l\E[w\E[0;132s\E[2g\E[z\E[66t\E[1;66r\E[4g\E>, - is2=\E[9;17;25;33;41;49;57;65;73;81;89;97;105;113;121;129u\r, - kbs=^H, rmso=\E[w, sgr0=\E[w, smso=\E[6w, -dw4|decwriter IV, - OTbs, am, hc, os, - cols#132, - bel=^G, cr=^M, cub1=^H, cud1=^J, ht=^I, ind=^J, is2=\Ec, kbs=^H, - kf0=\EOP, kf1=\EOQ, kf2=\EOR, kf3=\EOS, - -# These aren't official -ln03|dec ln03 laser printer, - hc, - cols#80, lines#66, - bel=^G, cr=^M, cud1=^J, hd=\EK, ht=^I, hu=\EL, ind=^J, nel=^M^J, - rmso=\E[22m, rmul=\E[24m, sgr0=\E[m, smso=\E[1m, - smul=\E[4m, -ln03-w|dec ln03 laser printer 132 cols, - cols#132, - bel=^G, cr=^M, cud1=^J, ht=^I, ind=^J, kbs=^H, kcub1=^H, - kcud1=^J, nel=^M^J, use=ln03, - -#### Delta Data (dd) -# - -# Untested. The cup sequence is hairy enough that it probably needs work. -# The idea is ctrl(O), dd(row), dd(col), where dd(x) is x - 2*(x%16) + '9'. -# There are BSD-derived termcap entries floating around for this puppy -# that are *certainly* wrong. -delta|dd5000|delta data 5000, - OTbs, am, - cols#80, lines#27, - bel=^G, clear=^NR, cub1=^H, cud1=^J, cuf1=^Y, - cup=\017%p1%p1%{16}%m%{2}%*%-%{57}%+%c%p2%p2%{16}%m%{2}%*%-%{57}%+%c, - cuu1=^Z, dch1=^NV, el=^NU, home=^NQ, ind=^J, - -#### Digital Data Research (ddr) -# - -# (ddr: I added / based on the init string -- esr) -ddr|rebus3180|ddr3180|Rebus/DDR 3180 vt100 emulator, - OTbs, am, xenl, - cols#80, it#8, lines#24, vt#3, - blink=\E[5m$<2/>, bold=\E[1m$<2/>, - clear=\E[H\E[2J$<50/>, csr=\E[%i%p1%d;%p2%dr, cub1=^H, - cud1=^J, cuf1=\E[C$<2/>, cup=\E[%i%p1%d;%p2%dH$<5/>, - cuu1=\E[A$<2/>, ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H, - ht=^I, ind=\ED$<5/>, is2=\E[1;24r\E[24;1H, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, - kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m$<2/>, - rf=/usr/local/share/tabset/vt100, ri=\EM$<5/>, rmam=\E[7l, - rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m$<2/>, - rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr0=\E[m$<2/>, smam=\E[7l, smkx=\E[?1h\E=, smso=\E[7m, - smul=\E[4m$<2/>, - -#### Evans & Sutherland -# - -# Jon Leech tells us: -# The ps300 was the Evans & Sutherland Picture System 300, a high -# performance 3D vector graphics system with a bunch of specialized hardware. -# Approximate date of release was 1982 (early 80s, anyway), and it had several -# evolutions including (limited) color versions such as the PS330C. PS300s -# were effectively obsolete by the late 80s, replaced by raster graphics -# systems, although specialized applications like molecular modelling -# hung onto them for a while longer. AFAIK all E&S vector graphics systems -# are out of production, though of course E&S is very much alive (in 1996). -# (ps300: changed ":pt@:" to "it@" -- esr) -# -ps300|Picture System 300, - xt, - it@, - rmso@, rmul@, smso@, smul@, use=vt100, - -#### General Electric (ge) -# - -terminet1200|terminet300|tn1200|tn300|terminet|GE terminet 1200, - OTbs, hc, os, - cols#120, - bel=^G, cr=^M, cud1=^J, ind=^J, - -#### Heathkit/Zenith -# - -# Here is a description of the H19 DIP switches: -# -# S401 -# 0-3 = baud rate as follows: -# -# 3 2 1 0 -# --- --- --- --- -# 0 0 1 1 300 baud -# 0 1 0 1 1200 baud -# 1 0 0 0 2400 baud -# 1 0 1 0 4800 baud -# 1 1 0 0 9600 baud -# 1 1 0 1 19.2K baud -# -# 4 = parity (0 = no parity) -# 5 = even parity (0 = odd parity) -# 6 = stick parity (0 = normal parity) -# 7 = full duplex (0 = half duplex) -# -# S402 -# 0 = block cursor (0 = underscore cursor) -# 1 = no key click (0 = keyclick) -# 2 = wrap at end of line (0 = no wrap) -# 3 = auto LF on CR (0 = no LF on CR) -# 4 = auto CR on LF (0 = no CR on LF) -# 5 = ANSI mode (0 = VT52 mode) -# 6 = keypad shifted (0 = keypad unshifted) -# 7 = 50Hz refresh (1 = 60Hz refresh) -# -# Factory Default settings are as follows: -# 7 6 5 4 3 2 1 0 -# S401 1 0 0 0 1 1 0 0 -# S402 0 0 0 0 0 0 0 0 -# (h19: I added / based on the init string; -# also added empty to suppress a tic warning -- esr) -h19-a|h19a|heath-ansi|heathkit-a|heathkit h19 ansi mode, - OTbs, am, mir, msgr, - cols#80, it#8, lines#24, - acsc=, bel=^G, clear=\E[2J, cnorm=\E[>4l, cr=^M, cub1=^H, - cud1=\E[1B, cuf1=\E[1C, cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[1A, cvvis=\E[>4h, dch1=\E[1P, dl1=\E[1M$<1*>, - ed=\E[J, el=\E[K, home=\E[H, ht=^I, il1=\E[1L$<1*>, ind=^J, - is2=\E<\E[>1;2;3;4;5;6;7;8;9l\E[m\E[11m\E[?7h, - kbs=^H, kcub1=\E[1D, kcud1=\E[1B, kcuf1=\E[1C, kcuu1=\E[1A, - kf1=\EOS, kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP, - kf7=\EOQ, kf8=\EOR, khome=\E[H, lf6=blue, lf7=red, lf8=white, - ri=\EM, rmacs=\E[11m, rmam=\E[?7l, rmir=\E[4l, rmso=\E[m, - smacs=\E[10m, smam=\E[?7h, smir=\E[4h, smso=\E[7m, -h19-bs|heathkit w/keypad shifted, - rmkx=\Eu, smkx=\Et, use=h19-b, -h19-us|h19us|h19-smul|heathkit w/keypad shifted/underscore cursor, - rmkx=\Eu, smkx=\Et, use=h19-u, -# (h19: merged in from BSDI hp19-e entry>; -# also added empty to suppress a tic warning --esr) -# From: Tim Pierce , 23 Feb 1998 -# Tim tells us that: -# I have an old Zenith-19 terminal at home that still gets a lot of use. -# This terminal suffers from the same famous insert-mode padding lossage -# that has been acknowledged for the Z29 terminal. Emacs is nearly -# unusable on this box, since even a half-scroll up or down the window -# causes flaming terminal death. -# -# On the Z19, the only way I have found around this problem is to remove -# the :al: and :dl: entries entirely. No amount of extra padding will -# help (I have tried up to 20000). Removing and -# makes Emacs a little slower, but it remains in the land of the living. -# Big win. -h19|heath|h19-b|heathkit|heath-19|z19|zenith|heathkit h19, - OTbs, am, eslok, hs, mir, msgr, - cols#80, it#8, lines#24, - acsc=, bel=^G, clear=\EE, cnorm=\Ey4, cr=^M, cub1=^H, cud1=\EB, - cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, - cvvis=\Ex4, dch1=\EN, ed=\EJ, el=\EK, fsl=\Ek\Ey5, home=\EH, - ht=^I, ind=^J, ip=<1.5/>, kbs=^H, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV, - kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, khome=\EH, lf6=blue, - lf7=red, lf8=white, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq, - smacs=\EF, smir=\E@, smso=\Ep, - tsl=\Ej\Ex5\EY8%p1%{32}%+%c\Eo\Eo, -h19-u|heathkit with underscore cursor, - cnorm@, cvvis@, use=h19-b, -h19-g|h19g|heathkit w/block cursor, - cnorm=\Ex4, use=h19-b, -alto-h19|altoh19|altoheath|alto-heath|alto emulating heathkit h19, - lines#60, - dl1=\EM, il1=\EL, use=h19, - -# The major problem with the Z29 is that it requires more padding than the Z19. -# -# The problem with declaring an H19 to be synonymous with a Z29 is that -# it needs more padding. It especially loses if a program attempts -# to put the Z29 into insert mode and insert text at 9600 baud. It -# even loses worse if the program attempts to insert tabs at 9600 -# baud. Adding padding to text that is inserted loses because in -# order to make the Z29 not die, one must add so much padding that -# whenever the program tries to use insert mode, the effective -# rate is about 110 baud. -# -# What program would want to put the terminal into insert mode -# and shove stuff at it at 9600 baud you ask? -# -# Emacs. Emacs seems to want to do the mathematically optimal -# thing in doing a redisplay rather than the practical thing. -# When it is about to output a line on top of a line that is -# already on the screen, instead of just killing to the end of -# the line and outputting the new line, it compares the old line -# and the new line and if there are any similarities, it -# constructs the new line by deleting the text on the old line -# on the terminal that is already there and then inserting new -# text into the line to transform it into the new line that is -# to be displayed. The Z29 does not react kindly to this. -# -# But don't cry for too long.... There is a solution. You can make -# a termcap entry for the Z29 that says the Z29 has no insert mode. -# Then Emacs cannot use it. "Oh, no, but now inserting into a -# line will be really slow", you say. Well there is a sort of a -# solution to that too. There is an insert character option on -# the Z29 that will insert one character. Unfortunately, it -# involves putting the terminal into ansi mode, inserting the -# character, and changing it back to H19 mode. All this takes 12 -# characters. Pretty expensive to insert one character, but it -# works. Either Emacs doesn't try to use its inserting hack when -# it's only given an insert character ability or the Z29 doesn't -# require padding with this (the former is probably more likely, -# but I haven't checked it out). -# (z29: added empty to suppress a tic warning, merged in -# status line capabilities from BRL entry --esr) -z29|zenith29|z29b|zenith z29b, - OTbs, OTpt, am, eslok, hs, mir, msgr, - OTkn#10, cols#80, lines#24, - OTbc=\ED, acsc=, bel=^G, cbt=\E-, clear=\EE$<14>, cnorm=\Ey4, - cr=^M, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\E$<1>A, - cvvis=\Ex4, dch1=\EN$<0.1*>, dl1=\EM$<1/>, dsl=\Ey1, - ed=\EJ$<14>, el=\EK$<1>, fsl=\Ek\Ey5, home=\EH, ht=^I, - ich1=\E<\E[1@\E[?2h$<1>, il1=\EL$<1/>, ind=\n$<2>, - is2=\E<\E[?2h\Ev, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kf0=\E~, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV, - kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\E0I, khome=\EH, - lf0=home, ri=\EI$<2/>, rmacs=\EF, rmir=\EO, rmso=\Eq, - rmul=\Es0, smacs=\EG, smir=\E@, smso=\Ep, smul=\Es8, - tsl=\Ej\Ex5\Ex1\EY8%+ \Eo, -# z29 in ansi mode. Assumes that the cursor is in the correct state, and that -# the world is stable. causes the terminal to be reset to the state -# indicated by the name. kc -> key click, nkc -> no key click, uc -> underscore -# cursor, bc -> block cursor. -# From: Mike Meyers -# (z29a: replaced nonexistent befause -# looks vt100-compatible -- esr) -z29a|z29a-kc-bc|h29a-kc-bc|heath/zenith 29 in ansi mode, - OTbs, OTpt, am, eslok, hs, mir, msgr, - OTkn#10, cols#80, it#8, lines#24, - OTbc=\ED, bel=^G, blink=\E[5m, bold=\E[2m, clear=\E[2J, - cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, dl=\E[%p1%dM, - dsl=\E[>1l, ed=\E[J, el=\E[K, fsl=\E[u\E[>5l, home=\E[H, - ht=^I, hts=\EH, if=/usr/local/share/tabset/vt100, il=\E[%p1%dL, - ind=\ED, kbs=^H, kclr=\E[J, kcub1=\EOD, kcud1=\EOB, - kcuf1=\EOC, kcuu1=\EOA, ked=\E[J, kf0=\E[~, kf1=\EOS, - kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP, kf7=\EOQ, - kf8=\EOR, kf9=\EOX, khome=\E[H, lf0=help, mc0=\E#7, - nel=^M\ED, rc=\E[r, rev=\E[7m, ri=\EM, rmcup=\E[?7h, - rmso=\E[m, rmul=\E[m, - rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>4h\E[>1;2;3;5;6;7;8;9l\E[m\E[11m, - sc=\E[s, sgr0=\E[m, smcup=\E[?7l, smso=\E[7;2m, smul=\E[4m, - tbc=\E[3g, tsl=\E[s\E[>5;1h\E[25;%i%dH\E[1K, -z29a-kc-uc|h29a-kc-uc|z29 ansi mode with keyckick and underscore cursor, - rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>1;2;3;4;5;6;7;8;9l\E[m\E[11m, - use=z29a, -z29a-nkc-bc|h29a-nkc-bc|z29 ansi mode with block cursor and no keyclick, - rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>2;4h\E[>1;3;5;6;7;8;9l\E[m\E[11m, - use=z29a, -z29a-nkc-uc|h29a-nkc-uc|z29 ansi mode with underscore cursor and no keyclick, - rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>2h\E[>1;3;4;5;6;7;8;9l\E[m\E[11m, - use=z29a, -# From: Jeff Bartig 31 Mar 1995 -z39-a|z39a|zenith39-a|zenith39-ansi|Zenith 39 in ANSI mode, - am, eslok, hs, mc5i, mir, msgr, xon, - cols#80, lines#24, - acsc=0a``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G, - blink=\E[5m, bold=\E[1m, cbt=\E[1Z, civis=\E[>5h, - clear=\E[2J\E[H, cnorm=\E[>5l, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, dl=\E[%p1%dM, - dl1=\E[1M, dsl=\E[>1l, ed=\E[0J, el=\E[0K, el1=\E[1K, - fsl=\E[u, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[1L, - ind=^J, is2=\E<\E[>1;3;5;6;7l\E[0m\E[2J, ka1=\EOw, - ka3=\EOu, kb2=\EOy, kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, ked=\E[J, kf1=\EOS, - kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP, kf7=\EOQ, - kf8=\EOR, kf9=\EOX, khlp=\E[~, khome=\E[H, ll=\E[24;1H, - mc0=\E[?19h\E[i, mc4=\E[4i, mc5=\E[5i, rc=\E[u, rev=\E[7m, - rmacs=\E(B, rmir=\E[4l, rmkx=\E[>7l, rmso=\E[0m, - rmul=\E[0m, rs2=\E<\Ec\0, sc=\E[s, sgr0=\E[0m, smacs=\E(0, - smir=\E[4h, smkx=\E[>7h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[s\E[>1h\E[25;%i%p1%dH, - -# From: Brad Brahms -z100|h100|z110|z-100|h-100|heath/zenith z-100 pc with color monitor, - cnorm=\Ey4\Em70, cvvis=\Ex4\Em71, use=z100bw, -# (z100bw: removed obsolete ":kn#10:", added empty -- esr) -z100bw|h100bw|z110bw|z-100bw|h-100bw|heath/zenith z-100 pc, - OTbs, OTpt, mir, msgr, - OTkn#10, cols#80, it#8, lines#24, - acsc=, clear=\EE$<5*/>, cnorm=\Ey4, cub1=^H, cud1=\EB, - cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<1*/>, - cuu1=\EA, cvvis=\Ex4, dch1=\EN$<1*/>, dl1=\EM$<5*/>, - ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL$<5*/>, kbs=^H, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf0=\EJ, kf1=\ES, - kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, - kf9=\EOI, khome=\EH, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq, - smacs=\EF, smir=\E@, smso=\Ep, -p19|h19-b with il1/dl1, - dl1=\EM$<2*/>, il1=\EL$<2*/>, use=h19-b, -# From: -# (ztx: removed duplicate :sr: -- esr) -ztx|ztx11|zt-1|htx11|ztx-1-a|ztx-10 or 11, - OTbs, am, eslok, hs, - cols#80, it#8, lines#24, - clear=\EE, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dl1=\EM, - dsl=\Ey1, ed=\EJ, el=\EK, fsl=\Ek\Ey5, home=\EH, ht=^I, - il1=\EL, is2=\Ej\EH\Eq\Ek\Ev\Ey1\Ey5\EG\Ey8\Ey9\Ey>, - kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf0=\ES, - kf1=\EB, kf2=\EU, kf3=\EV, kf4=\EW, kf5=\EP, kf6=\EQ, kf7=\ER, - ri=\EI, rmso=\Eq, rmul=\Eq, smso=\Es5, smul=\Es2, - tsl=\Ej\Ex5\Ex1\EY8%+ \Eo, - -#### IMS International (ims) -# -# There was a company called IMS International located in Carson City, -# Nevada, that flourished from the mid-70s to mid-80s. They made S-100 -# bus/Z80 hardware and a line of terminals called Ultimas. -# - -# From: Erik Fair Sun Oct 27 07:21:05 1985 -ims950-b|bare ims950 no init string, - is2@, use=ims950, -# (ims950: removed obsolete ":ko@:" -- esr) -ims950|ims televideo 950 emulation, - xenl@, - flash@, kbs@, kcub1@, kcud1@, kcuf1@, kcuu1@, kf0@, kf1@, kf2@, kf3@, - kf4@, kf5@, kf6@, kf7@, kf8@, kf9@, khome@, use=tvi950, -# (ims950-rv: removed obsolete ":ko@:" -- esr) -ims950-rv|ims tvi950 rev video, - xenl@, - flash@, kbs@, kcub1@, kcud1@, kcuf1@, kcuu1@, kf0@, kf1@, kf2@, kf3@, - kf4@, kf5@, kf6@, kf7@, kf8@, kf9@, khome@, use=tvi950-rv, -ims-ansi|ultima2|ultimaII|IMS Ultima II, - OTbs, am, - cols#80, it#8, lines#24, - clear=\E[H\E[2J, cub1=^H, cud1=\ED, - cup=\E[%i%p1%2d;%p2%2dH, cuu1=\EM, ed=\E[0J, el=\E[0K, - ht=^I, if=/usr/local/share/tabset/vt100, - is2=\E[m\E[>14l\E[?1;?5;20l\E>\E[1m\r, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, ri=\EM, - rmso=\E[m\E[1m, rmul=\E[m\E[1m, sgr0=\E[m, smso=\E[7m, - smul=\E[4m, - -#### Intertec Data Systems -# -# I think this company is long dead as of 1995. They made an early CP/M -# micro called the "Intertec Superbrain" that was moderately popular, -# then sank out of sight. -# - -superbrain|intertec superbrain, - OTbs, am, bw, - cols#80, lines#24, - OTbc=^U, bel=^G, clear=\014$<5*>, cr=^M, cub1=^H, cud1=^J, - cuf1=^F, cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<20>, cuu1=^K, - ed=\E~k<10*>, el=\E~K$<15>, ht=^I, ind=^J, kcub1=^U, - kcud1=^J, kcuf1=^F, kcuu1=^K, rmcup=^L, smcup=^L, -# (intertube: a Gould entry via BRL asserted smul=\E0@$<200/>, -# rmul=\E0A$<200/>; my guess is the highlight letter is bit-coded like an ADM, -# and the reverse is actually true. Try it. -- esr) -intertube|intertec|Intertec InterTube, - OTbs, am, - cols#80, lines#25, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^F, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<50>, cuu1=^Z, home=^A, - ind=^J, rmso=\E0@, smso=\E0P, -# The intertube 2 has the "full duplex" problem like the tek 4025: if you -# are typing and a command comes in, the keystrokes you type get interspersed -# with the command and it messes up -intertube2|intertec data systems intertube 2, - OTbs, - cup=\016%p1%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%c, - el=\EK, hpa=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%c, - ll=^K^X\r, vpa=\013%p1%c, use=intertube, - -#### Ithaca Intersystems -# -# This company made S100-bus personal computers long ago in the pre-IBM-PC -# past. They used to be reachable at: -# -# Ithaca Intersystems -# 1650 Hanshaw Road -# Ithaca, New York 14850 -# -# However, the outfit went bankrupt years ago. -# - -# The Graphos III was a color graphics terminal from Ithaca Intersystems. -# These entries were written (originally in termcap syntax) by Brian Yandell -# and Mike Meyer at the -# University of Wisconsin. - -# (graphos: removed obsolete and syntactically incorrect :kn=4:, -# removed and -# no such file & no -- esr) -graphos|graphos III, - am, mir, - cols#80, it#8, lines#24, - clear=\E[H\E[2J, cnorm=\Ez56;2;0;0z\Ez73z\Ez4;1;1z, - cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, - cvvis=\Ez4;2;1z\Ez56;2;80;24z, dch1=\E[P, dl=\E[%p1%dM, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, il=\E[%p1%dL, - il1=\E[L, ind=\ED, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, khome=\E[H, nel=^M\ED, rc=\E8, ri=\EM, rmdc=\E[4l, - rmir=\E[4l, rmso=\E[m, sc=\E7, sgr0=\E[m, smdc=\E[4h, - smir=\E[4h, smso=\E[7m, -graphos-30|graphos III with 30 lines, - lines#30, - cvvis=\Ez4;2;1z\Ez56;2;80;30z, use=graphos, - -#### Modgraph -# -# These people used to be reachable at: -# -# Modgraph, Inc -# 1393 Main Street, -# Waltham, MA 02154 -# Vox: (617)-890-5796. -# -# However, if you call that number today you'll get an insurance company. -# I have mail from "Michael Berman, V.P. Sales, Modgraph" dated -# 26 Feb 1997 that says: -# -# Modgraph GX-1000, replaced by GX-2000. Both are out of production, have been -# for ~7 years. Modgraph still in business. Products are rugged laptop and -# portable PC's and specialized CRT and LCD monitors (rugged, rack-mount -# panel-mount etc). I can be emailed at sonfour@aol.com -# -# Peter D. Smith notes that his modgraph manual was -# dated 1984. According to the manual, it featured Tek 4010/4014 -# graphics and DEC VT100/VT52 + ADM-3A emulation with a VT220-style keyboard. -# - -modgraph|mod24|modgraph terminal emulating vt100, - xenl@, - cols#80, lines#24, - cvvis=\E\^9;0s\E\^7;1s, - is2=\E\^9;0s\E\^7;1s\E[3g\E\^11;9s\E\^11;17s\E\^11;25s\E\^11;33s\E\^11;41s\E\^11;49s\E\^11;57s\E\^11;65s\E\^11;73s\E\^11;81s\E\^11;89s, - rf@, ri=\EM\E[K$<5/>, use=vt100, -# The GX-1000 manual is dated 1984. This looks rather like a VT-52. -modgraph2|modgraph gx-1000 80x24 with keypad not enabled, - am, da, db, - cols#80, it#8, lines#24, - clear=\EH\EJ$<50/>, cub1=^H, cuf1=\EC$<2/>, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<5/>, cuu1=\EA$<2/>, - ed=\EJ$<50/>, el=\EK$<3/>, ht=^I, - is2=\E<\E\^5;2s\E\^7;1s\E[3g\E\^11;9s\E\^11;17s\E\^11;25s\E\^11;33s\E\^11;41s\E\^11;49s\E\^11;57s\E\^11;65s\E\^11;73s\E\^11;81s\E\^11;89s\E\^12;0s\E\^14;2s\E\^15;9s\E\^25;1s\E\^9;1s\E\^27;1, - ri=\EI$<5/>, -# -# Modgraph from Nancy L. Cider -# BUG NOTE from Barbara E. Ringers : -# If we set TERM=vt100, and set the Modgraph screen to 24 lines, setting a -# mark and using delete-to-killbuffer work correctly. However, we would -# like normal mode of operation to be using a Modgraph with 48 line setting. -# If we set TERM=mod (which is a valid entry in termcap with 48 lines) -# the setting mark and delete-to-killbuffer results in the deletion of only -# the line the mark is set on. -# We've discovered that the delete-to-killbuffer works correctly -# with TERM=mod and screen set to 80x48 but it's not obvious. Only -# the first line disappears but a ctrl-l shows that it did work -# correctly. -modgraph48|mod|Modgraph w/48 lines, - OTbs, OTpt, am, xenl, - cols#80, it#8, lines#48, vt#3, - OTnl=^J, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[;H\E[2J, - cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K, - flash=\E[?5h\E[0q\E[1;2q\E[?5l\E[0q\E[4;3q, - home=\E[H, ht=^I, is2=\E<\E[1;48r\E[0q\E[3;4q\E=\E[?1h, - kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m, - ri=\EM, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs1=\E=\E[0q\E>, sc=\E7, sgr0=\E[m, smkx=\E[?1h\E=, - smso=\E[7m, smul=\E[4m, - -#### Morrow Designs -# -# This was George Morrow's company. They started in the late 1970s making -# S100-bus machines. They used to be reachable at: -# -# Morrow -# 600 McCormick St. -# San Leandro, CA 94577 -# -# but they're long gone now (1995). -# - -# The mt70 terminal was shipped with the Morrow MD-3 microcomputer. -# Jeff's specimen was dated June 1984. -# From: Jeff Wieland 24 Feb 1995 -mt70|mt-70|Morrow MD-70; native Morrow mode, - am, mir, msgr, xon, - cols#80, it#8, lines#24, - acsc=+z\,{-x.yOi`|jGkFlEmDnHqJtLuKvNwMxI, bel=^G, - cbt=\EI, civis=\E"0, clear=^Z, cnorm=\E"2, cr=^M, cub1=^H, - cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<1>, - cuu1=^K, dch1=\EW, dim=\EG2, dl1=\ER, ed=\EY, el=\ET$<10>, - flash=\EK1$<200>\EK0, home=^^, ht=^I, ich1=\EQ, il1=\EE, - ind=^J, invis@, is1=\E"2\EG0\E], kbs=^H, kcbt=^A^Z\r, - kclr=^An\r, kcub1=^AL\r, kcud1=^AK\r, kcuf1=^AM\r, - kcuu1=^AJ\r, kdch1=\177, kf1=^A@\r, kf10=^AI\r, kf11=^A`\r, - kf12=^Aa\r, kf13=^Ab\r, kf14=^Ac\r, kf15=^Ad\r, kf16=^Ae\r, - kf17=^Af\r, kf18=^Ag\r, kf19=^Ah\r, kf2=^AA\r, kf20=^Ai\r, - kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, khlp=^AO\r, khome=^AN\r, nel=^_, - rmacs=\E%%, rmcup=, smacs=\E$, smcup=\E"2\EG0\E], - smul=\EG1, tbc=\E0, use=adm+sgr, - -#### Motorola -# - -# Motorola EXORterm 155 from {decvax, ihnp4}!philabs!sbcs!megad!seth via BRL -# (Seth H Zirin) -ex155|Motorola Exorterm 155, - OTbs, am, bw, - OTkn#5, OTug#1, cols#80, lines#24, - cbt=\E[, clear=\EX, cud1=\EB, cuf1=\ED, - cup=\EE%p1%{32}%+%c%p2%{32}%+%c, ed=\ET, el=\EU, - home=\E@, ht=\EZ, kbs=^H, kcbt=\E[, kclr=\EX, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, ked=\ET, kel=\EU, khome=\E@, - rmso=\Ec\ED, rmul=\Eg\ED, smso=\Eb\ED, smul=\Ef\ED, - -#### Omron -# -# This company is still around in 1995, manufacturing point-of-sale systems. - -omron|Omron 8025AG, - OTbs, am, da, db, - cols#80, lines#24, - bel=^G, clear=\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, cuu1=\EA, - cvvis=\EN, dch1=\EP, dl1=\EM, ed=\ER, el=\EK, home=\EH, - il1=\EL, ind=\ES, ri=\ET, rmso=\E4, smso=\Ef, - -#### Ramtek -# -# Ramtek was a vendor of high-end graphics terminals around 1979-1983; they -# were competition for things like the Tektronics 4025. -# - -# Ramtek 6221 from BRL, probably by Doug Gwyn -# The following SET-UP modes are assumed for normal operation: -# UNDERLINE_CURSOR ANSI_MODE AUTO_XON/XOFF_ON -# NEWLINE_OFF 80_COLUMNS -# Other SET-UP modes may be set for operator convenience or communication -# requirements; I recommend -# SMOOTH_SCROLL AUTO_REPEAT_ON 3_#_SHIFTED WRAP_AROUND_ON -# Hardware tabs are assumed to be every 8 columns; they can be set up by the -# "reset", "tset", or "tabs" utilities (use rt6221-w, 160 columns, for this). -# Note that the Control-E key is useless on this brain-damaged terminal. No -# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control! -rt6221|Ramtek 6221 80x24, - OTbs, OTpt, msgr, xon, - OTkn#4, cols#80, it#8, lines#24, vt#3, - acsc=, bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[>5l, - clear=\E[1;1H\E[J, cnorm=\E[>5h\E[>9h, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^K, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM, - cvvis=\E[>7h\E[>9l, ed=\E[J, el=\E[K, home=\E[1;1H, ht=^I, - hts=\EH, ind=^J, is2=\E)0, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kf0=\EOP, kf1=\EOQ, kf2=\EOR, - kf3=\EOS, lf0=PF1, lf1=PF2, lf2=PF3, lf3=PF4, ll=\E[24;1H, - nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmkx=\E>, - rmso=\E[m, rmul=\E[m, - rs1=\E[1w\E[>37m\E[>39m\E[1v\E[20l\E[?3l\E[?6l\E[>5h\E[>6h\E[>7h\E[>8l\E[>9h\E[>10l\E[1;24r\E[m\E[q\E(B\017\E)0\E#5\E>, - sc=\E7, sgr0=\E[m, smacs=^N, smkx=\E=, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, -# [TO DO: Check out: short forms of ho/cl and ll; reset (\Ec)]. -rt6221-w|Ramtek 6221 160x48, - cols#160, lines#48, - ll=\E[48;1H, use=rt6221, - -#### RCA -# - -# RCA VP3301 or VP3501 -rca|rca vp3301/vp3501, - OTbs, - cols#40, lines#24, - clear=^L, cuf1=^U, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=^K, home=^Z, rmso=\E\ES0, smso=\E\ES1, - - -#### Selanar -# - -# Selanar HiREZ-100 from BRL, probably by Doug Gwyn -# The following SET-UP modes are assumed for normal operation: -# SET_DEFAULT_TABS 48_LINES 80_COLUMNS -# ONLINE ANSI CURSOR_VISIBLE -# VT102_AUTO_WRAP_ON VT102_NEWLINE_OFF VT102_MONITOR_MODE_OFF -# LOCAL_ECHO_OFF US_CHAR_SET WPS_TERMINAL_DISABLED -# CPU_AUTO_XON/XOFF_ENABLED PRINT_FULL_SCREEN -# For use with graphics software, all graphics modes should be set to factory -# default. Other SET-UP modes may be set for operator convenience or -# communication requirements. No delays are specified; use "stty ixon -ixany" -# to enable DC3/DC1 flow control! -# I commented out the scrolling capabilities since they are too slow. -hirez100|Selanar HiREZ-100, - OTbs, OTpt, mir, msgr, xon, - OTkn#4, cols#80, it#8, lines#48, vt#3, - acsc=, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, - cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\EM, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, - hts=\EH, il=\E[%p1%dL, il1=\E[L, is2=\E<\E)0, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOP, - kf1=\EOQ, kf2=\EOR, kf3=\EOS, lf0=PF1, lf1=PF2, lf2=PF3, - lf3=PF4, ll=\E[48H, mc0=\E[i, mc4=\E[4i\E[?4i, - mc5=\E[?5i\E[5i, nel=\EE, rc=\E8, rev=\E[7m, rmacs=^O, - rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs1=\030\E2\E<\E[4i\E[?4i\E[12h\E[2;4;20l\E[?0;7h\E[?1;3;6;19l\E[r\E[m\E(B\017\E)0\E>, - sc=\E7, sgr0=\E[m, smacs=^N, smkx=\E[?1h\E=, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, -hirez100-w|Selanar HiREZ-100 in 132-column mode, - cols#132, use=hirez100, - -#### Signetics -# - -# From University of Wisconsin -vsc|Signetics Vsc Video driver by RMC, - am, msgr, - cols#80, it#8, lines#26, - clear=\E[;H\E[2J$<50/>, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H, - ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J, rev=^_\s, - rmso=^_!, rmul=^_#, sgr0=^_!, smso=^_\s, smul=^_", - -#### Soroc -# -# Alan Frisbie writes: -# -# As you may recall, the Soroc logo consisted of their name, -# with the letter "S" superimposed over an odd design. This -# consisted of a circle with a slightly smaller 15 degree (approx.) -# wedge with rounded corners inside it. The color was sort of -# a metallic gold/yellow. -# -# If I had been more of a beer drinker it might have been obvious -# to me, but it took a clue from their service department to make -# me exclaim, "Of course!" The circular object was the top of -# a beer can (the old removable pop-top style) and "Soroc" was an -# anagram for "Coors". -# -# I can just imagine the founders of the company sitting around -# one evening, tossing back a few and trying to decide what to -# call their new company and what to use for a logo. -# - -# (soroc120: removed obsolete ":ma=^K^P^R^L^L :" -- esr) -soroc120|iq120|soroc|soroc iq120, - clear=\E*$<2>, cud1=^J, ed=\EY, el=\ET, kcub1=^H, kcud1=^J, - kcuf1=^L, kcuu1=^K, use=adm3a, -soroc140|iq140|soroc iq140, - OTbs, am, mir, - cols#80, lines#24, - bel=^G, cbt=\EI, clear=\E+, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\Ew, - dl1=\Er$<.7*>, ed=\Ey, el=\Et, home=^^, il1=\Ee$<1*>, ind=^J, - kbs=^H, kcuf1=^L, kcuu1=^K, kf0=^A0\r, kf1=^A@\r, kf2=^AA\r, - kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, - kf8=^AG\r, kf9=^AH\r, khome=^^, ll=^^^K, rmir=\E8, - rmso=\E\177, rmul=\E^A, smir=\E9, smso=\E\177, smul=\E^A, - -#### Southwest Technical Products -# -# These guys made an early personal micro called the M6800. -# The ct82 was probably its console terminal. -# - -# (swtp: removed obsolete ":bc=^D:" -- esr) -swtp|ct82|southwest technical products ct82, - am, - cols#82, lines#20, - bel=^G, clear=^L, cr=^M, cub1=^D, cud1=^J, cuf1=^S, - cup=\013%p2%c%p1%c, cuu1=^A, dch1=^\^H, dl1=^Z, ed=^V, el=^F, - home=^P, ich1=^\^X, il1=^\^Y, ind=^N, - is2=\034\022\036\023\036\004\035\027\011\023\036\035\036\017\035\027\022\011, - ll=^C, ri=^O, rmso=^^^F, smso=^^^V, - -#### Synertek -# -# Bob Manson writes (28 Apr 1995): -# -# Synertek used to make ICs, various 6502-based single-board process -# control and hobbyist computers, and assorted peripherals including a -# series of small inexpensive terminals (I think they were one of the -# first to have a "terminal-on-a-keyboard", where the terminal itself -# was only slightly larger than the keyboard). -# -# They apparently had a KTM-1 model, which I've never seen. The KTM-2/40 -# was a 40x24 terminal that could connect to a standard TV through a -# video modulator. The KTM-2/80 was the 80-column version (the 2/40 -# could be upgraded to the 2/80 by adding 2 2114 SRAMs and a new ROM). -# I have a KTM-2/80 still in working order. The KTM-2s had fully -# socketed parts, used 2 6507s, a 6532 as keyboard scanner, a program -# ROM and 2 ROMs as character generators. They were incredibly simple, -# and I've never had any problems with mine (witness the fact that mine -# was made in 1981 and is still working great... I've blown the video -# output transistor a couple of times, but it's a 2N2222 :-) -# -# The KTM-3 (which is what is listed in the terminfo file) was their -# attempt at putting a KTM-2 in a box (and some models came with a -# CRT). It wasn't much different from the KTM-2 hardware-wise, but the -# control and escape sequences are very different. The KTM-3 was always -# real broken, at least according to the folks I've talked to about it. -# -# The padding in the entry is probably off--these terminals were very -# slow (it takes like 100ms for the KTM-2 to clear the screen...) And -# anyone with any sanity replaced the ROMs with something that provided -# a reasonable subset of VT100 functionality, since the usual ROMs were -# obviously very primitive... oh, you could get an upgraded ROM from -# Synertek for some incredible amount of money, but what hacker with an -# EPROM burner would do that? :) -# -# Sorry I don't have any contact info; I believe they were located in -# Sunnyvale, and I'm fairly sure they are still manufacturing ICs -# (they've gone to ASICs and FPGAs), but I doubt they're in the computer -# business these days. -# - -# Tested, seems to work fine with vi. -synertek|ktm|synertek380|synertek ktm 3/80 tubeless terminal, - am, - cols#80, lines#24, - clear=^Z, cub1=^H, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EJ, el=\EK, - -#### Tab Office Products -# -# TAB Products Co. - Palo Alto, California -# Electronic Office Products, -# 1451 California Avenue 94304 -# -# I think they're out of business. -# - -# The tab 132 uses xon/xoff, so no padding needed. -# / have nothing to do with arrow keys. -# sets 80 col mode, normal video, autowrap on (for ). -# Seems to be no way to get rid of status line. -# The manual for this puppy was dated June 1981. It claims to be VT52- -# compatible but looks more vt100-like. -tab132|tab|tab132-15|tab 132/15, - da, db, - OTdN@, cols#80, lines#24, lm#96, - cud1=^J, cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M, - il1=\E[L, is2=\E[?7h\E[?3l\E[?5l, kcub1=\E[D, kcud1=\E[B, - kcuu1=\E[A, rmir=\E[4l, rmkx@, smir=\E[4h, smkx@, use=vt100, -tab132-w|tab132 in wide mode, - cols#132, - is2=\E[?7h\E[?3h\E[?5l, use=tab132, -tab132-rv|tab132 in reverse-video mode, - is2=\E[?7h\E[?3l\E[?5h, use=tab132, -tab132-w-rv|tab132 in reverse-video/wide mode, - is2=\E[?7h\E[?3h\E[?5h, use=tab132-w, - - -#### Teleray -# -# Research Incorporated -# 6425 Flying Cloud Drive -# Eden Prairie, MN 55344 -# Vox: (612)-941-3300 -# -# The Teleray terminals were all discontinued in 1992-93. RI still services -# and repairs these beasts, but no longer manufactures them. The Teleray -# people believe that all the types listed below are very rare now (1995). -# There was a newer line of Telerays (Model 7, Model 20, Model 30, and -# Model 100) that were ANSI-compatible. -# -# Note two things called "teleray". Reorder should move the common one -# to the front if you have either. A dumb teleray with the cursor stuck -# on the bottom and no obvious model number is probably a 3700. -# - -t3700|dumb teleray 3700, - OTbs, - cols#80, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, ind=^J, -t3800|teleray 3800 series, - OTbs, - cols#80, it#8, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EJ, el=\EK, - home=\EH, ht=^I, ind=^J, ll=\EY7\s, -t1061|teleray|teleray 1061, - OTbs, am, km, xhp, xt, - cols#80, it#8, lines#24, xmc#1, - bel=^G, clear=\014$<1>, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EQ, - dl1=\EM$<2*>, ed=\EJ$<1>, el=\EK, home=\EH, ht=^I, hts=\EF, - ich1=\EP, il1=\EL$<2*>, ind=^J, ip=$<0.4*>, - is2=\Ee\EU01^Z1\EV\EU02^Z2\EV\EU03^Z3\EV\EU04^Z4\EV\EU05^Z5\EV\EU06^Z6\EV\EU07^Z7\EV\EU08^Z8\EV\Ef, - kf1=^Z1, kf2=^Z2, kf3=^Z3, kf4=^Z4, kf5=^Z5, kf6=^Z6, kf7=^Z7, - kf8=^Z8, rmso=\ER@, rmul=\ER@, smso=\s\ERD, smul=\ERH, - tbc=\EG, -t1061f|teleray 1061 with fast PROMs, - dl1=\EM, il1=\EL, ip@, use=t1061, -# "Teleray Arpa Special", officially designated as -# "Teleray Arpa network model 10" with "Special feature 720". -# This is the new (1981) fast microcode updating the older "arpa" proms -# (which gave meta-key and programmable-fxn keys). 720 is much much faster, -# converts the keypad to programmable function keys, and has other goodies. -# Standout mode is still broken (magic cookie, etc) so is suppressed as no -# programs handle such lossage properly. -# Note: this is NOT the old termcap's "t1061f with fast proms." -# From: J. Lepreau Tue Feb 1 06:39:37 1983, Univ of Utah -# (t10: removed overridden ":so@:se@:us@:ue@:" -- esr) -t10|teleray 10 special, - OTbs, km, xhp, xt, - cols#80, it#8, lines#24, xmc#2, - clear=\Ej$<30/>, cub1=^H, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EQ, - dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\EP, il1=\EL, - ind=\Eq, pad=\0, ri=\Ep, rmso=\ER@, rmul=\ER@, smso=\ERD, - smul=\ERH, -# teleray 16 - map the arrow keys for vi/rogue, shifted to up/down page, and -# back/forth words. Put the function keys (f1-f10) where they can be -# found, and turn off the other magic keys along the top row, except -# for line/local. Do the magic appropriate to make the page shifts work. -# Also toggle ^S/^Q for those of us who use Emacs. -t16|teleray 16, - am, da, db, mir, xhp, xt, - cols#80, lines#24, - bel=^G, clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=%i\E[%p1%d;%p2%df, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[0J, el=\E[0K, home=\E[H, ht=^I, il1=\E[L, - ind=^J, kf1=^Z1, kf10=^Z0, kf2=^Z2, kf3=^Z3, kf4=^Z4, kf5=^Z5, - kf6=^Z6, kf7=^Z7, kf8=^Z8, kf9=^Z9, ri=\E[T, - rmcup=\E[V\E[24;1f\E[?38h, rmir=\E[4l, rmso=\E[m, - rmul=\E[m, sgr0=\E[m, smcup=\E[U\E[?38l, smir=\E[4h, - smso=\E[7m, smul=\E[4m, - -#### Texas Instruments (ti) -# - -# The Silent 700 was so called because it was built around a quiet thermal -# printer. It was portable, equipped with an acoustic coupler, and pretty -# neat for its day. -ti700|ti733|ti735|ti745|ti800|ti silent 700/733/735/745 or omni 800, - OTbs, hc, os, - cols#80, - bel=^G, cr=\r$<162>, cub1=^H, cud1=^J, ind=^J, - -# -# Texas Instruments 916 VDT 7 bit control mode -# -ti916|ti916-220-7|Texas Instruments 916 VDT 8859/1 vt220 mode 7 bit CTRL, - da, db, in, msgr, - cbt=\E[Z, civis=\E[?25l, clear=\E[H\E[2J$<6>, - cnorm=\E[?25h, cub=\E[%p1%dD, cud=\E[%p1%dB, - cuf=\E[%p1%dC, cup=\E[%p1%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - dch=\E[%p1%dP$<250>, dch1=\E[P, dl=\E[%p1%dM, - ech=\E[%p1%dX$<20>, ed=\E[J$<6>, el=\E[0K, el1=\E[1K, - enacs=\E(B\E)0, ff=^L, flash=\E[?5h\E[?5l$<6>, - hpa=\E[%p1%{1}%+%dG, hts=\E[0W, ich=\E[%p1%d@$<250>, - il=\E[%p1%dL$<36>, ip=$<10>, is2=\E[1;24r\E[24;1H, - kcmd=\E[29~, kdch1=\E[P, kent=^J, kf1=\E[17~, kf10=\E[28~, - kf11=\E[29~, kf12=\E[31~, kf2=\E[18~, kf3=\E[19~, - kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, - kf9=\E[26~, khome=\E[H, kich1=\E[@, knp=\E[S, kpp=\E[T, - kprt=^X, prot=\E&, rmacs=\017$<2>, rs2=\E[!p, sgr@, - smacs=\016$<2>, tbc=\E[3g, vpa=\E[%p1%{1}%+%dd, - use=vt220, -# -# Texas Instruments 916 VDT 8 bit control mode -# -ti916-8|ti916-220-8|Texas Instruments 916 VDT 8859/1 8 vt220 mode bit CTRL, - kcmd=\23329~, kcub1=\233D, kcud1=\233B, kcuf1=\233C, - kcuu1=\233A, kdch1=\233P, kent=^J, kf1=\23317~, - kf10=\23328~, kf11=\23329~, kf12=\23331~, kf2=\23318~, - kf3=\23319~, kf4=\23320~, kf5=\23321~, kf6=\23323~, - kf7=\23324~, kf8=\23325~, kf9=\23326~, khome=\233H, - kich1=\233@, knp=\233S, kpp=\233T, kprt=^X, use=ti916, -# -# Texas Instruments 916 VDT 8859/1 7 bit control 132 column mode -# -ti916-132|Texas Instruments 916 VDT vt220 132 column, - cols#132, use=ti916, -# -# Texas Instruments 916 VDT 8859/1 8 bit control 132 column mode -# -ti916-8-132|Texas Instruments 916 VDT 8-bit vt220 132 column, - cols#132, use=ti916-8, -ti924|Texas Instruments 924 VDT 8859/1 7 bit CTRL, - OTbs, am, xon, - cols#80, it#8, lines#24, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[2J\E[H, cnorm=\E[?25h, cr=^M, - csr=%i\E[%p1%d;%p2%dr, cub1=\E[D, cud1=\E[B, cuf1=\E[C, - cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A, cvvis=\E[?31h, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\EH, - il1=\E[L, ind=\ED, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kf1=\EOP, kf2=\EOQ, - kf3=\EOR, kf4=\EOS, kf5=\E[16~, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, kich1=\E[@, rc=\E8, rev=\E[7m, - ri=\EM, rmso=\E[m, rmul=\E[m, sc=\E7, sgr0=\E[m, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, -ti924-8|Texas Instruments 924 VDT 8859/1 8 bit CTRL, - am, xon, - cols#80, it#8, lines#24, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, - clear=\E[2J\E[H, cnorm=\E[?25h, cr=^M, - csr=%i\E[%p1%d;%p2%dr, cub1=\E[D, cud1=\E[B, cuf1=\E[C, - cup=%i\E[%p1%d;%p2%dH, cuu1=\E[A, cvvis=\E[?31h, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\EH, - il1=\E[L, ind=\ED, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=P$<\233>, kf1=P$<\217>, - kf2=Q$<\217>, kf3=R$<\217>, kf4=S$<\217>, kf5=~$<\23316>, - kf6=~$<\23317>, kf7=~$<\23318>, kf8=~$<\23319>, - kf9=~$<\23320>, kich1=@$<\233>, rc=\E8, rev=\E[7m, ri=\EM, - rmso=\E[m, rmul=\E[m, sc=\E7, sgr0=\E[m, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, -ti924w|Texas Instruments 924 VDT 7 bit - 132 column mode, - cols#132, use=ti924, -ti924-8w|Texas Instruments 924 VDT 8 bit - 132 column mode, - cols#132, use=ti924-8, -ti931|Texas Instruments 931 VDT, - OTbs, am, xon, - cols#80, lines#24, - bel=^G, blink=\E4P, clear=\EL, cnorm=\E4@, cr=^M, cub1=\ED, - cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, - cuu1=\EA, dch1=\EQ, dl1=\EO, ed=\EJ, el=\EI, home=\EH, - ich1=\ER\EP\EM, il1=\EN, ind=\Ea, invis=\E4H, - is2=\EGB\E(@B@@\E), kcub1=\ED, kcud1=\EB, kcuf1=\EC, - kcuu1=\EA, kdch1=\EQ, kdl1=\EO, kf1=\Ei1, kf2=\Ei2, kf3=\Ei3, - kf4=\Ei4, kf5=\Ei5, kf6=\Ei6, kf7=\Ei7, kf8=\Ei8, kf9=\Ei9, - kich1=\EP, kil1=\EN, rev=\E4B, ri=\Eb, rmso=\E4@, rmul=\E4@, - sgr0=\E4@, smso=\E4A, smul=\E4D, -ti926|Texas Instruments 926 VDT 8859/1 7 bit CTRL, - csr@, ind=\E[1S, ri=\E[1T, use=ti924, -# (ti926-8: I corrected this from the broken SCO entry -- esr) -ti926-8|Texas Instruments 926 VDT 8859/1 8 bit CTRL, - csr@, ind=\2331S, ri=\2331T, use=ti924-8, -ti_ansi|basic entry for ti928, - am, bce, eo, xenl, xon, - colors#8, cols#80, it#8, lines#25, pairs#64, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[2J\E[H, - cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, - il1=\E[L, ind=\E[S, kbs=^H, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kend=\E[F, kf0=\E[V, kf1=\E[M, - kf2=\E[N, kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R, kf7=\E[S, - kf8=\E[T, kf9=\E[U, khome=\E[H, knp=\E[G, kpp=\E[I, - op=\E[37;40m, ri=\E[T, rmso=\E[m, rmul=\E[m, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[m, - smso=\E[7m, smul=\E[4m, -# -# 928 VDT 7 bit control mode -# -ti928|Texas Instruments 928 VDT 8859/1 7 bit CTRL, - kdch1=\E[P, kend=\E_1\E\\, kent=\E[8~, kf1=\E[17~, - kf10=\E[28~, kf11=\E[29~, kf12=\E[31~, kf13=\E[32~, - kf15=\E[34~, kf2=\E[18~, kf3=\E[19~, kf4=\E[20~, - kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, kf9=\E[26~, - kich1=\E[@, knp=\E[S, kpp=\E[T, kprt=\E[35~, use=ti_ansi, -# -# 928 VDT 8 bit control mode -# -ti928-8|Texas Instruments 928 VDT 8859/1 8 bit CTRL, - kdch1=\233P, kend=\2371\234, kent=\2338~, kf1=\23317~, - kf10=\23328~, kf11=\23329~, kf12=\23331~, kf13=\23332~, - kf15=\23334~, kf2=\23318~, kf3=\23319~, kf4=\23320~, - kf5=\23321~, kf6=\23323~, kf7=\23324~, kf8=\23325~, - kf9=\23326~, khome=\233H, kich1=\233@, knp=\233S, - kpp=\233T, kprt=\23335~, use=ti_ansi, - -#### Zentec (zen) -# - -# (zen30: removed obsolete :ma=^L ^R^L^K^P:. This entry originally -# had just =\EG6 which I think means standout was supposed to be -# dim-reverse using ADM12-style attributes. ADM12 / and -# might work-- esr) -zen30|z30|zentec 30, - OTbs, am, mir, ul, - cols#80, lines#24, - bel=^G, clear=\E*, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, - dim=\EG2, dl1=\ER$<1.5*>, ed=\EY, el=\ET$<1.0*>, home=^^, - il1=\EE$<1.5*>, ind=^J, rmir=\Er, rmul@, smir=\Eq, smso=\EG6, - smul@, use=adm+sgr, -# (zen50: this had extension capabilities -# :BS=^U:CL=^V:CR=^B: -# UK/DK/RK/LK/HM were someone's aliases for ku/kd/kl/kr/kh, -# which were also in the original entry -- esr) -# (zen50: removed obsolete ":ma=^Hh^Ll^Jj^Kk:" -- esr) -zen50|z50|zentec zephyr, - OTbs, am, - cols#80, lines#24, xmc#1, - clear=\E+, cub1=^H, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, - cuu1=^K, dch1=\EW, dl1=\ER, ed=\EY, el=\ET, ich1=\EQ, il1=\EE, - invis@, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, khome=^^, - rmul@, smul@, use=adm+sgr, - -# CCI 4574 (Office Power) from Will Martin via BRL -cci|cci1|z8001|zen8001|CCI Custom Zentec 8001, - OTbs, am, bw, - cols#80, lines#24, - blink=\EM", clear=\EH\EJ, cnorm=\EP, - csr=\ER%p1%{32}%+%c%p2%{32}%+%c, cub1=^H, cud1=^J, - cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, - cvvis=\EF\EQ\EM \ER 7, dim=\EM!, ed=\EJ, el=\EK, home=\EH, - invis=\EM(, is2=\EM \EF\ET\EP\ER 7, kbs=^H, kcub1=\ED, - kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome=\EH, mc4=^T, mc5=^R, - rev=\EM$, ri=\EI, rmso=\EM\s, rmul=\EM\s, sgr0=\EM\s, - smso=\EM$, smul=\EM0, - -######## OBSOLETE UNIX CONSOLES -# - -#### Apollo consoles -# -# Apollo got bought by Hewlett-Packard. The Apollo workstations are -# labeled HP700s now. -# - -# From: Gary Darland -apollo|apollo console, - OTbs, am, mir, - cols#88, lines#53, - clear=^L, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\EM%p1%{32}%+%c%p2%d), cuu1=\EA, dch1=\EP, dl1=\EL, - ed=\EJ, el=\EK, hpa=\EN%p1%d, il1=\EI, ind=\EE, ri=\ED, - rmcup=\EX, rmir=\ER, rmso=\ET, rmul=\EV, smcup=\EW, smir=\EQ, - smso=\ES, smul=\EU, vpa=\EO+\s, - -# We don't know whether or not the apollo guys replicated DEC's firmware bug -# in the VT132 that reversed /. To be on the safe side, disable -# both these capabilities. -apollo_15P|apollo 15 inch display, - rmir@, smir@, use=vt132, -apollo_19L|apollo 19 inch display, - rmir@, smir@, use=vt132, -apollo_color|apollo color display, - rmir@, smir@, use=vt132, - -#### Convergent Technology -# -# Burroughs bought Convergent shortly before it merged with Univac. -# CTOS is (I believe) dead. Probably the aws is too (this entry dates -# from 1991 or earlier). -# - -# Convergent AWS workstation from Gould/SEL UTX/32 via BRL -# (aws: removed unknown :dn=^K: -- esr) -aws|Convergent Technologies AWS workstation under UTX and Xenix, - am, - OTug#0, cols#80, lines#28, xmc#0, - OTbc=^H, OTma=\016h\013j\001k\022l\002m, OTnl=^J, acsc=, - clear=^L, cud1=^K, cuf1=^R, cup=\EC%p2%c%p1%c, cuu1=^A, - dch1=\EDC, dl1=\EDL, ed=\EEF, el=\EEL, hpa=\EH%p1%c, - ich1=\EIC, il1=\EIL, ind=\ESU, kbs=^H, kcub1=^N, kcud1=^K, - kcuf1=^R, kcuu1=^A, ri=\ESD, rmacs=\EAAF, rmso=\EARF, - rmul=\EAUF, smacs=\EAAN, smso=\EARN, smul=\EAUN, - vpa=\EV%p1%c, -awsc|Convergent Technologies AWS workstation under CTOS, - am, - OTug#0, cols#80, lines#24, xmc#0, - OTbc=^N, OTma=\016h\013j\001k\022l\002m, acsc=, clear=^L, - cud1=^K, cuf1=^R, cup=\EC%p2%c%p1%c, cuu1=^A, ed=\EEF, - el=\EEL, kbs=^H, kcub1=^N, kcud1=^K, kcuf1=^R, kcuu1=^A, - rmacs=\EAAF, rmso=\EAA, rmul=\EAA, smacs=\EAAN, smso=\EAE, - smul=\EAC, - -#### DEC consoles -# - -# The MicroVax console. Tim Theisen writes: -# The digital uVax II's had a graphic display called a qdss. It was -# supposed to be a high performance graphic accelerator, but it was -# late to market and barely appeared before faster dumb frame buffers -# appeared. I have only used this display while running X11. However, -# during bootup, it was in text mode, and probably had a terminal emulator -# within it. And that is what your termcap entry is for. In graphics -# mode the screen size is 1024x864 pixels. -qdss|qdcons|qdss glass tty, - OTbs, am, - cols#128, lines#57, - clear=\032$<1/>, cub1=^H, cud1=^J, cuf1=^L, - cup=\E=%p1%c%p2%c, cuu1=^K, - -#### Fortune Systems consoles -# -# Fortune made a line of 68K-based UNIX boxes that were pretty nifty -# in their day; I (esr) used one myself for a year or so around 1984. -# They had no graphics, though, and couldn't compete against Suns and -# the like. R.I.P. -# - -# From: Robert Nathanson via tut Wed Oct 5, 1983 -# (This had extension capabilities -# :rv=\EH:re=\EI:rg=0:GG=0:\ -# :CO=\E\\:WL=^Aa\r:WR=^Ab\r:CL=^Ac\r:CR=^Ad\r:DL=^Ae\r:RF=^Af\r:\ -# :RC=^Ag\r:CW=^Ah\r:NU=^Aj\r:EN=^Ak\r:HM=^Al:PL=^Am\r:\ -# :PU=^An\r:PD=^Ao\r:PR=^Ap\r:HP=^A@\r:RT=^Aq\r:TB=\r:CN=\177:MP=\E+F: -# It had both ":bs:" and ":bs=^H:"; I removed the latter. Also, it had -# ":sg=0:" and ":ug=0:"; evidently the composer was trying (unnecessarily) -# to force both magic cookie glitches off. Once upon a time, I -# used a Fortune myself, so I know the capabilities of the form ^A[a-z]\r are -# function keys; thus the "Al" value for HM was certainly an error. I renamed -# EN/PD/PU/CO/CF/RT according to the XENIX/TC mappings, but not HM/DL/RF/RC. -# I think :rv: and :re: are start/end reverse video and :rg: is a nonexistent -# "reverse-video-glitch" capability; I have put :rv: and :re: in with standard -# names below. I've removed obsolete ":nl=5^J:" as there is a :do: -- esr) -fos|fortune|Fortune system, - OTbs, am, bw, - cols#80, lines#25, - acsc=j*k(l m"q&v%w#x-, bel=^G, blink=\EN, civis=\E], - clear=\014$<20>, cnorm=\E\\, cr=^M, cub1=^H, cud1=\n$<3>, - cup=\034C%p1%{32}%+%c%p2%{32}%+%c, cuu1=\013$<3>, - cvvis=\E\:, dch1=\034W$<5>, dl1=\034R$<15>, - ed=\034Y$<3*>, el=^\Z, home=\036$<10>, ht=^Z, - ich1=\034Q$<5>, il1=\034E$<15>, ind=^J, is2=^_.., kbs=^H, - kcub1=^Aw\r, kcud1=^Ay\r, kcuf1=^Az\r, kcuu1=^Ax\r, - kend=^Ak\r, kent=^Aq, kf1=^Aa\r, kf2=^Ab\r, kf3=^Ac\r, - kf4=^Ad\r, kf5=^Ae\r, kf6=^Af\r, kf7=^Ag\r, kf8=^Ah\r, - khome=^A?\r, knp=^Ao\r, kpp=^An\r, nel=^M^J, rev=\EH, - rmacs=^O, rmso=^\I`, rmul=^\IP, sgr0=\EI, smacs=\Eo, - smso=^\H`, smul=^\HP, - -#### Masscomp consoles -# -# Masscomp has gone out of business. Their product line was purchased by -# comany in Georgia (US) called "XS International", parts and service may -# still be available through them. -# - -# (masscomp: ":MT:" changed to ":km:"; -- esr) -masscomp|masscomp workstation console, - OTbs, km, mir, - cols#80, it#8, lines#24, - clear=\E[2J, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - ed=\E[J, el=\E[K, ht=^I, il1=\E[L, is2=\EGc\EGb\EGw, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rmir=\E[4l, - rmso=\E[m, rmul=\EGau, smir=\E[4h, smso=\E[7m, smul=\EGu, -masscomp1|masscomp large screen version 1, - cols#104, lines#36, use=masscomp, -masscomp2|masscomp large screen version 2, - cols#64, lines#21, use=masscomp, - -######## OTHER OBSOLETE TYPES -# -# These terminals are *long* dead -- these entries are retained for -# historical interest only. -# - -#### Obsolete non-ANSI software emulations -# - -# CTRM terminal emulator -# 1. underlining is not allowed with colors: first, is is simulated by -# black on white, second, it disables background color manipulations. -# 2. BLINKING, REVERSE and BOLD are allowed with colors, -# so we have to save their status in the static registers A, B and H -# respectively, to be able to restore them when color changes -# (because any color change turns off ALL attributes) -# 3. and sequences alternate modes, -# rather than simply entering them. Thus we have to check the -# static register B and H to determine the status, before sending the -# escape sequence. -# 4. now must set the status of all 3 register (A,B,H) to zero -# and then reset colors -# 5. implementation of the protect mode would badly penalize the performance. -# we would have to use \E&bn sequence to turn off colors (as well as all -# other attributes), and keep the status of protect mode in yet another -# static variable. If someone really needs this mode, they would have to -# create another terminfo entry. -# 6. original color-pair is white on black. -# store the information about colors into static registers -# 7. set foreground color. it performs the following steps. -# 1) turn off all attributes -# 2) turn on the background and video attributes that have been turned -# on before (this information is stored in static registers X,Y,Z,A,B,H,D). -# 3) turn on foreground attributes -# 4) store information about foreground into U,V,W static registers -# 8. turn on background: similar to turn on foreground above -ctrm|C terminal emulator, - am, bce, xon, - colors#8, cols#80, lh#0, lines#24, lm#0, lw#0, ncv#2, nlab#0, - pairs#63, pb#19200, vt#6, - bel=^G, blink=\E&dA%{1}%PA, - bold=%?%gH%{0}%=%t\E&dH%{1}%PH%;, cbt=\Ei, - clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\E&a%p2%dc%p1%dY, cuu1=\EA, dch1=\EP$<2>, dl1=\EM, - ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=\011$<2>, hts=\E1, - il1=\EL, ind=^J, ip=$<2>, is2=\E&jA\r, kbs=^H, kcub1=\Eu\r, - kcud1=\Ew\r, kcuf1=\Ev\r, kcuu1=\Et\r, kf1=\Ep\r, - kf2=\Eq\r, kf3=\Er\r, kf4=\Es\r, kf5=\Et\r, kf6=\Eu\r, - kf7=\Ev\r, kf8=\Ew\r, khome=\Ep\r, - op=\E&bn\E&bB\E&bG\E&bR%{0}%PX%{0}%PY%{0}%PZ%{1}%PW%{1}%PV%{1}%PU, - rev=%?%gB%{0}%=%t\E&dB%{1}%PB%;, rmir=\ER, rmkx=\E&jA, - setb=\E&bn%?%gA%t\E&dA%;%?%gB%t\E&dB%;%?%gH%t\E&dH%;%?%gU%t\E&bR%;%?%gV%t\E&bG%;%?%gW%t\E&bB%;%?%p1%{1}%&%t\E&bb%{1}%e%{0}%;%PZ%?%p1%{2}%&%t\E&bg%{1}%e%{0}%;%PY%?%p1%{4}%&%t\E&br%{1}%e%{0}%;%PX, - setf=\E&bn%?%gA%t\E&dA%;%?%gB%t\E&dB%;%?%gH%t\E&dH%;%?%gX%t\E&br%;%?%gY%t\E&bg%;%?%gZ%t\E&bb%;%?%p1%{1}%&%t\E&bB%{1}%e%{0}%;%PW%?%p1%{2}%&%t\E&bG%{1}%e%{0}%;%PV%?%p1%{4}%&%t\E&bR%{1}%e%{0}%;%PU, - sgr=\E&d@%{0}%PA%{0}%PB%{0}%PD%{0}%PH%?%p1%p3%p5%|%|%t\E&dB%{1}%PB%;%?%p4%t\E&dA%{1}%PA%;%?%p6%t\E&dH%{1}%PH%;%?%p2%t\E&dD%;, - sgr0=\E&d@%{0}%PA%{0}%PB%{0}%PH, smir=\EQ, smkx=\E&jB, - smso=\E&dD, smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY, - -# gs6300 - can't use blue foreground, it clashes with underline; -# it's simulated with cyan -# Bug: The capability probably resets attributes. -# (gs6300: commented out (no ) --esr) -gs6300|emots|AT&T PC6300 with EMOTS terminal emulator, - am, bce, msgr, xon, - colors#8, cols#80, it#8, lines#24, pairs#63, - acsc=++\,\,--..``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, - ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, - is2=\E[m, kbs=^H, kcbt=^R^I, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kf1=\E[0s, kf2=\E[24s, kf3=\E[1s, - kf4=\E[23s, kf5=\E[2s, kf6=\E[22s, kf7=\E[3s, kf8=\E[21s, - khome=\E[H, mc4=\E[4i, mc5=\E[5i, op=\E[?;m, rev=\E[7m, - ri=\E[L, rmacs=\E[10m, rs1=\Ec, setb=\E[?;%p1%dm, - setf=\E[?%?%p1%{0}%=%t0%e%p1%{1}%=%t2%e%p1%{1}%-%d%;m, - sgr0=\E[m\E[10m, smacs=\E[11m, smso=\E[1m, smul=\E[4m, - -# From: 29 Oct 85 05:40:18 GMT -# MS-Kermit with Heath-19 emulation mode enabled -# (h19k: changed ":pt@:" to ":it@" -h19k|h19kermit|heathkit emulation provided by Kermit (no auto margin), - am@, da, db, xt, - it@, - ht@, use=h19-u, - -# Apple Macintosh with Versaterm, a terminal emulator distributed by Synergy -# Software (formerly Peripherals Computers & Supplies, Inc) of -# 2457 Perkiomen Ave., Reading, PA 19606, 1-800-876-8376. They can -# also be reached at support@synergy.com. -versaterm|versaterm vt100 emulator for the macintosh, - am, xenl, - cols#80, it#8, lines#24, - bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>, - clear=\E[;H\E[2J$<50/>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=^J, cuf1=\E[C$<2/>, - cup=\E[%i%p1%d;%p2%dH$<5/>, cuu1=\E[A$<2/>, - dch1=\E[1P$<7/>, dl1=\E[1M$<9/>, ed=\E[J$<50/>, - el=\E[K$<3/>, home=\E[H, ht=^I, ich1=\E[1@$<7/>, - il1=\E[1L$<9/>, is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, - kf3=\EOR, kf4=\EOS, nel=^M^J, rc=\E8, rev=\E[7m$<2/>, - rf=/usr/local/share/tabset/vt100, ri=\EM$<5/>, - rmkx=\E>\E[?1l, rmso=\E[m$<2/>, rmul=\E[m$<2/>, rs1=\E>, - sc=\E7, sgr0=\E[m$<2/>, smkx=\E=\E[?1h, smso=\E[7m$<2/>, - smul=\E[4m$<2/>, - -# From: Rick Thomas -# (xtalk: I added / based on the init string. -xtalk|IBM PC with xtalk communication program (versions up to 3.4), - am, mir, msgr, xon, - cols#80, it#8, lines#24, vt#3, xmc#1, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, clear=\E[H\E[J$<50>, cr=^M, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C$<2>, - cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, - cuu1=\E[A$<2>, dl1=\E[M$<99>, ed=\E[J$<50>, el=\E[K$<3>, - el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, - il1=\E[L$<99>, ind=^J, kbs=^H, kcub1=\EOD, kcud1=\EOB, - kcuf1=\EOC, kcuu1=\EOA, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, - rmkx=\E[?1l\E>, rmso=\E[m\s, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr0=\E[m, - smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m\s, - tbc=\E[3g, use=vt100+fnkeys, - -# The official PC terminal emulator program of the AT&T Product Centers. -# Note - insert mode commented out - doesn't seem to work on AT&T PC. -simterm|attpc running simterm, - am, - cols#80, lines#24, - bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC, - cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\ER, - dl1=\EM, ed=\EJ, el=\EK, home=\EH, il1=\EL, ind=^J, rmcup=\EVE, - rmso=\E&d@, sgr0=\E&d@, smcup=\EVS, smso=\E&dB, - -#### Daisy wheel printers -# -# This section collects Diablo, DTC, Xerox, Qume, and other daisy -# wheel terminals. These are now largely obsolete. -# - -# (diablo1620: removed , no such file -- esr) -diablo1620|diablo1720|diablo450|ipsi|diablo 1620, - hc, os, - cols#132, it#8, - cub1=^H, cud1=^J, cuu1=\E^J, hd=\ED, hpa=\E\011%i%p1%c, - ht=^I, hts=\E1, hu=\EU, kbs=^H, tbc=\E2, -diablo1620-m8|diablo1640-m8|diablo 1620 w/8 column left margin, - cols#124, - is2=\r \E9, use=diablo1620, -# (diablo1640: removed , no such file -- esr) -diablo1640|diablo1730|diablo1740|diablo630|x1700|diablo|xerox|diablo 1640, - bel=^G, rmso=\E&, rmul=\ER, smso=\EW, smul=\EE, - use=diablo1620, -# (diablo1640-lm: removed , no such -# file -- esr) -diablo1640-lm|diablo-lm|xerox-lm|diablo 1640 with indented left margin, - cols#124, - rmso=\E&, rmul=\ER, smso=\EW, smul=\EE, use=diablo1620, -diablo1740-lm|630-lm|1730-lm|x1700-lm|diablo 1740 printer, - use=diablo1640-lm, -# DTC 382 with VDU. Has no so we fake it with . Standout -# works but won't go away without dynamite . -# The terminal has tabs, but I'm getting tired of fighting the braindamage. -# If no tab is set or the terminal's in a bad mood, it glitches the screen -# around all of memory. Note that return puts a blank ("a return character") -# in the space the cursor was at, so we use ^P return (and thus ^P newline for -# newline). Note also that if you turn off :pt: and let Unix expand tabs, -# curses won't work (some old BSD versions) because it doesn't clear this bit, -# and cursor addressing sends a tab for row/column 9. What a losing terminal! -# I have been unable to get tabs set in all 96 lines - it always leaves at -# least one line with no tabs in it, and once you tab through that line, -# it completely weirds out. -# (dtc382: change to -- it just does a clear --esr) -dtc382|DTC 382, - am, da, db, xhp, - cols#80, lines#24, lm#96, - bel=^G, clear=\020\035$<20>, cnorm=^Pb, cr=^P^M, cub1=^H, - cuf1=^PR, cup=\020\021%p2%c%p1%c, cuu1=^P^L, cvvis=^PB, - dch1=^X, dl1=^P^S, ed=\020\025\020\023\020\023, el=^P^U, - home=^P^R, il1=^P^Z, ind=^J, pad=\177, rmcup=, rmir=^Pi, - rmul=^P \0, smcup=\020\035$<20>, smir=^PI, smul=^P ^P, -dtc300s|DTC 300s, - hc, os, - cols#132, - bel=^G, cr=^M, cub1=^H, cud1=^J, cuu1=^Z, ff=^L, hd=\Eh, ht=^I, - hts=\E1, hu=\EH, ind=^J, kbs=^H, tbc=\E3, -gsi|mystery gsi terminal, - hc, os, - cols#132, - bel=^G, cr=^M, cub1=^H, cud1=^J, cuu1=^Z, hd=\Eh, ht=^I, hu=\EH, - ind=^J, -aj830|aj832|aj|anderson jacobson, - hc, os, - bel=^G, cr=^M, cub1=^H, cud1=^J, cuu1=\E7, hd=\E9, hu=\E8, - ind=^J, -# From: Chris Torek Thu, 7 Nov 85 18:21:58 EST -aj510|Anderson-Jacobson model 510, - am, mir, - cols#80, lines#24, - clear=^L, cub1=^H, cuf1=\EX, - cup=\E#%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EY, - dch1=.1*\E'D, dl1=\E&D$<2*/>, ed=\E'P, el=\E'L, ich1=, - il1=\E&I$<2*/>, ip=$<.1*/>, kcub1=\EW, kcud1=\EZ, - kcuf1=\EX, kcuu1=\EY, pad=\177, rmcup=\E"N, rmir=\E'J, - rmso=\E"I, rmul=\E"U, smcup=\E"N, smir=\E'I, smso=\E"I, - smul=\E"U, -# From: Thu Aug 20 09:09:18 1981 -# This is incomplete, but it's a start. -nec5520|nec|spinwriter|nec 5520, - hc, os, - cols#132, it#8, - bel=^G, cr=^M, cub1=^H, cud1=^J, cuu1=\E9, ff=^L, - hd=\E]s\n\E]W, ht=^I, hts=\E1, hu=\E]s\E9\E]W, ind=^J, - kbs=^H, tbc=\E3, -qume5|qume|Qume Sprint 5, - hc, os, - cols#80, it#8, - bel=^G, cr=^M, cub1=^H, cud1=^J, cuu1=^Z, ff=^L, hd=\Eh, ht=^I, - hts=\E1, hu=\EH, ind=^J, kbs=^H, tbc=\E3, -# I suspect the xerox 1720 is the same as the diablo 1620. -xerox1720|x1720|x1750|xerox 1720, - hc, os, - cols#132, it#8, - bel=^G, cr=^M, cub1=^H, cud1=^J, ff=^L, ht=^I, hts=\E1, ind=^J, - tbc=\E2, - -#### Miscellaneous obsolete terminals, manufacturers unknown -# -# If you have any information about these (like, a manufacturer's name, -# and a date on the serial-number plate) please send it! - -cad68-3|cgc3|cad68 basic monitor transparent mode size 3 chars, - OTbs, am, - cols#73, lines#36, - clear=^Z, cub1=^H, cuf1=^L, cuu1=^K, home=^^, -cad68-2|cgc2|cad68 basic monitor transparent mode size 2 chars, - OTbs, am, - cols#85, lines#39, - clear=^Z, cub1=^H, cuf1=^L, cuu1=^K, home=^^, kcub1=\E3, - kcud1=\E2, kcuf1=\E4, kcuu1=\E1, kf1=\E5, kf2=\E6, kf3=\E7, - kf4=\E8, rmso=\Em^C, smso=\Em^L, -cops10|cops|cops-10|cops 10, - am, bw, - cols#80, lines#24, - bel=^G, clear=\030$<30/>, cr=^M, cub1=^H, cud1=^J, cuf1=^L, - cup=\020%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=^W, el=^V, - ind=^J, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K, - khome=^Y, -# (d132: removed duplicate :ic=\E5:, -# merged in capabilities from a BRL entry -- esr) -d132|datagraphix|datagraphix 132a, - da, db, in, - cols#80, lines#30, - bel=^G, clear=^L, cnorm=\Em\En, cr=^M, cub1=^H, cud1=^J, - cuf1=\EL, cup=\E8%i%p1%3d%p2%3d, cuu1=\EK, cvvis=\Ex, - dch1=\E6, home=\ET, ht=^I, ich1=\E5, il1=\E3, ind=^J, kbs=^H, - kcub1=^H, kcud1=^J, nel=^M^J, ri=\Ew, -# The d800 was an early portable terminal from c.1984-85 that looked a lot -# like the original Compaq `lunchbox' portable (but no handle). It had a vt220 -# mode (which is what this entry looks like) and several other lesser-known -# emulations. -d800|Direct 800/A, - OTbs, am, da, db, msgr, xhp, - cols#80, it#8, lines#24, - acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~, - bel=^G, clear=\E[1;1H\E[2J, cnorm=\E[>12h, cr=^M, cub1=^H, - cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, - cvvis=\E[>12l, ed=\E[J, el=\E[K, ht=^I, ind=\ED, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, - kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, - ri=\EM, rmacs=\E[m, rmso=\E[m, rmul=\E[m, sgr0=\E[m, - smacs=\E[1m, smso=\E[7m, smul=\E[4m, -digilog|digilog 333, - OTbs, - cols#80, lines#16, - bel=^G, cr=^M, cub1=^H, cud1=^J, cuf1=^I, cuu1=^O, el=^X, - home=^N, ind=^J, -# The DWK was a terminal manufactured in the Soviet Union c.1986 -dwk|dwk-vt|dwk terminal, - am, - cols#80, it#8, lines#24, - acsc=+\^\,Q-S.M0\177`+a\:f'g#h#i#jXkClJmFnNo~qUs_tEuPv\\wKxW~_, - bel=^G, clear=\EH\EJ, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EP, - ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\EQ, ind=^J, kbs=\177, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\Ee, - kf1=\Ef1, kf10=\Ef0, kf2=\Ef2, kf3=\Ef3, kf4=\Ef4, kf5=\Ef5, - kf6=\Ef6, kf7=\Ef7, kf8=\Ef8, kf9=\Ef9, kich1=\Ed, knp=\Eh, - kpp=\Eg, nel=^M^J, rev=\ET, ri=\ES, rmacs=\EG, rmso=\EX, - sgr0=\EX, smacs=\EF, smso=\ET, -env230|envision230|envision 230 graphics terminal, - xenl@, - mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, - sgr=\E[%?%p1%t;1%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>, - use=vt100, -# These execuports were impact-printer ttys with a 30- or maybe 15-cps acoustic -# coupler attached, the whole rig fitting in a suitcase and more or less -# portable. Hot stuff for c.1977 :-) -- esr -ep48|ep4080|execuport 4080, - OTbs, am, os, - cols#80, - bel=^G, cr=^M, cub1=^H, cud1=^J, hd=^\, hu=^^, ind=^J, -ep40|ep4000|execuport 4000, - cols#136, use=ep4080, -# Adam Thompson tells us: -# Informer series - these are all portable units, resembling older -# automatic bread-baking machines. The terminal looks like a `clamshell' -# design, but isn't. The structure is similar to the Direct terminals, -# but only half the width. The entire unit is only about 10" wide. -# It features an 8" screen (6" or 7" if you have color!), and an 9"x6" -# keyboard. All the keys are crammed together, much like some laptop -# PCs today, but perhaps less well organized...all these units have a -# bewildering array of plugs on the back, including a built-in modem. -# The 305 was a color version of the 304; the 306 and 307 were mono and -# color terminals built for IBM bisync protocols. -# From: Paul Leondis -ifmr|Informer D304, - OTbs, am, - cols#80, lines#24, - clear=\EZ, cub1=^H, cud1=^J, cuf1=\EC, - cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA, dch1=\E\\, - ed=\E/, el=\EQ, home=\EH, ich1=\E[, ri=\En, rmso=\EK, sgr0=\EK, - smso=\EJ, -# Entry largely based on wy60 and has the features of wy60ak. -opus3n1+|Esprit Opus3n1+ in wy60 mode with ANSI arrow keys, - am, bw, hs, km, mir, msgr, ul, xon, - cols#80, lh#1, lines#24, lw#8, nlab#8, wsl#80, - acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, blink=\EG2, - cbt=\EI, civis=\E`0, clear=\E*$<100>, cnorm=\E`1, cr=^M, - cub1=^H, cud1=^J, cuf1=^L, cup=\Ea%i%p1%dR%p2%dC, cuu1=^K, - dch1=\EW$<11>, dim=\EGp, dl1=\ER$<5>, dsl=\Ez(\r, - ed=\EY$<100>, el=\ET, fsl=^M, home=\036$<2>, ht=\011$<5>, - hts=\E1, if=/usr/local/share/tabset/std, il1=\EE$<4>, ind=^J, - ip=$<3>, - is2=\E`\:\Ee(\EO\Ee6\Ec41\E~4\Ec21\Ed/\Ezz&\E[A\177\Ezz'\E[B\177\Ezz(\E[D\177\Ezz)\E[C\177\Ezz<\E[Q\177\Ezz`\E[F\177\EA1*\EZH12, - kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\EW, kdl1=\ER, ked=\EY, - kel=\ET, kend=\E[F, kent=\E7, kf1=^A@\r, kf10=^AI\r, - kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, - kf16=^AO\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, - kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, - kich1=\EQ, kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, - mc0=\EP, mc4=^T, mc5=^R, nel=\r\n$<3>, - pfloc=\EZ2%p1%{63}%+%c%p2%s\177, - pfx=\EZ1%p1%{63}%+%c%p2%s\177, - pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<7>, - rmacs=\EH^C, rmam=\Ed., rmcup=, rmir=\Er, rmln=\EA11, - rmxon=\Ec20, rs1=\E~!\E~4$<150>, rs2=\EeF$<150>, - rs3=\EwG\Ee($<150>, - sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;\EG%{48}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c, - sgr0=\E(\EH\003\EG0\EcD, smacs=\EH^B, smam=\Ed/, - smcup=\Ezz&\E[A\177\Ezz'\E[B\177\Ezz(\E[D\177\Ezz)\E[C\177\Ezz<\E[Q\177, - smir=\Eq, smln=\EA10, smxon=\Ec21, tbc=\E0, tsl=\Ez(, - uc=\EG8\EG0, use=adm+sgr, -teletec|Teletec Datascreen, - OTbs, am, - cols#80, lines#24, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuf1=^_, cuu1=^K, - home=^^, ind=^J, -# From: Mark Dornfeld -# This description is for the LANPAR Technologies VISION 3220 -# terminal from 1984/85. The function key definitions k0-k5 represent the -# edit keypad: FIND, INSERT HERE, REMOVE, SELECT, PREV SCREEN, -# NEXT SCREEN. The key definitions k6-k9 represent the PF1 to PF4 keys. -# -# Kenneth Randell writes on 31 Dec 1998: -# I had a couple of scopes (3221) like this once where I used to work, around -# the 1987 time frame if memory serves me correctly. These scopes were made -# by an outfit called LANPAR Technologies, and were meant to me DEC VT 220 -# compatible. The 3220 was a plain text terminal like the VT-220, the 3221 -# was a like the VT-240 (monochrome with Regis + Sixel graphics), and the 3222 -# was like the VT-241 (color with Regis + Sixel Graphics). These terminals -# (3221) cost about $1500 each, and one was always broken -- had to be sent -# back to the shop for repairs. -# The only real advantage these scopes had over the VT-240's were: -# 1) They were faster in the Regis display, or at least the ones I did -# 2) They had a handy debugging feature where you could split-screen the -# scope, the graphics would appear on the top, and the REGIS commands would -# appear on the bottom. I don't remember the VT-240s being able to do that. -# I would swear that LANPAR Technologies was in MA someplace, but since I -# don't work at the same place anymore, and those terminals and manuals were -# long since junked, I cannot be any more sure than that. -# -# (v3220: removed obsolete ":kn#10:", -# I added / based on the init string -- esr) -v3220|LANPAR Vision II model 3220/3221/3222, - OTbs, am, mir, xenl, - cols#80, it#8, lines#24, - clear=\E[H\E[J, cub1=^H, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - ed=\E[J, el=\E[K, ht=^I, il1=\E[L, - is2=\E>\E[?3l\E[?7h\E[?8h\E[p, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kf0=\E[1~, kf1=\E[2~, kf2=\E[3~, - kf3=\E[4~, kf4=\E[5~, kf5=\E[6~, kf6=\E[OP, kf7=\E[OQ, - kf8=\E[OR, kf9=\E[OS, khome=\E[H, ri=\EM, rmam=\E[?7l, - rmir=\E[4l, rmkx=\E>, rmso=\E[m, rmul=\E[m, sgr0=\E[m, - smam=\E[?7h, smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m, -######## ICH/ICH1 VERSUS RMIR/SMIR -# -# Some non-curses applications get confused if both ich/ich1 and rmir/smir -# are present; the symptom is doubled characters in an update using insert. -# These applications are technically correct; in both 4.3BSD termcap and -# terminfo, you're not actually supposed to specify both ich/ich1 and rmir/smir -# unless the terminal needs both. To my knowledge, no terminal still in this -# file requires both other than the very obsolete dm2500. -# -# For ncurses-based applications this is not a problem, as ncurses uses -# one or the other as appropriate but never mixes the two. Therefore we -# have not corrected entries like `linux' and `xterm' that specify both. -# If you see doubled characters from these, use the linux-nic and xterm-nic -# entries that suppress ich/ich1. And upgrade to ncurses! -# - -######## VT100/ANSI/ISO 6429/ECMA-48/PC-TERM TERMINAL STANDARDS -# -# ANSI X3.64 has been withdrawn and replaced by ECMA-48. The ISO 6429 and -# ECMA-48 standards are said to be almost identical, but are not the same -# as X3.64 (though for practical purposes they are close supersets of it). -# -# You can obtain ECMA-48 for free by sending email to helpdesk@ecma.ch -# requesting the standard(s) you want (i.e. ECMA-48, "Control Functions for -# Coded Character Sets"), include your snail-mail address, and you should -# receive the document in due course. Don't expect an email acknowledgement. -# -# Related standards include "X3.4-1977: American National Standard Code for -# Information Interchange" (the ASCII standard) and "X3.41.1974: -# Code-Extension Techniques for Use with the 7-Bit Coded Character Set of -# American National Standard for Information Interchange." I believe (but -# am not certain) that these are effectively identical to ECMA-6 and ECMA-35 -# respectively. -# - -#### VT100/ANSI/ECMA-48 -# -# ANSI Standard (X3.64) Control Sequences for Video Terminals and Peripherals -# and ECMA-48 Control Functions for Coded Character Sets. -# -# Much of the content of this comment is adapted from a table prepared by -# Richard Shuford, based on a 1984 Byte article. Terminfo correspondences, -# discussion of some terminfo-related issues, and updates to capture ECMA-48 -# have been added. Control functions described in ECMA-48 only are tagged -# with * after their names. -# -# The table is a complete list of the defined ANSI X3.64/ECMA-48 control -# sequences. In the main table, \E stands for an escape (\033) character, -# SPC for space. Pn stands for a single numeric parameter to be inserted -# in decimal ASCII. Ps stands for a list of such parameters separated by -# semicolons. Parameter meanings for most parametrized sequences are -# decribed in the notes. -# -# Sequence Sequence Parameter or -# Mnemonic Name Sequence Value Mode terminfo -# ----------------------------------------------------------------------------- -# APC Applicatn Program Command \E _ - Delim - -# BEL Bell * ^G - - bel -# BPH Break Permitted Here * \E B - * - -# BS Backpace * ^H - EF - -# CAN Cancel * ^X - - - (A) -# CBT Cursor Backward Tab \E [ Pn Z 1 eF cbt -# CCH Cancel Previous Character \E T - - - -# CHA Cursor Horizntal Absolute \E [ Pn G 1 eF hpa (B) -# CHT Cursor Horizontal Tab \E [ Pn I 1 eF tab (C) -# CMD Coding Method Delimiter * \E -# CNL Cursor Next Line \E [ Pn E 1 eF nel (D) -# CPL Cursor Preceding Line \E [ Pn F 1 eF - -# CPR Cursor Position Report \E [ Pn ; Pn R 1, 1 - - (E) -# CSI Control Sequence Intro \E [ - Intro - -# CTC Cursor Tabulation Control \E [ Ps W 0 eF - (F) -# CUB Cursor Backward \E [ Pn D 1 eF cub -# CUD Cursor Down \E [ Pn B 1 eF cud -# CUF Cursor Forward \E [ Pn C 1 eF cuf -# CUP Cursor Position \E [ Pn ; Pn H 1, 1 eF cup (G) -# CUU Cursor Up \E [ Pn A 1 eF cuu -# CVT Cursor Vertical Tab \E [ Pn Y - eF - (H) -# DA Device Attributes \E [ Pn c 0 - - -# DAQ Define Area Qualification \E [ Ps o 0 - - -# DCH Delete Character \E [ Pn P 1 eF dch -# DCS Device Control String \E P - Delim - -# DL Delete Line \E [ Pn M 1 eF dl -# DLE Data Link Escape * ^P - - - -# DMI Disable Manual Input \E \ - Fs - -# DSR Device Status Report \E [ Ps n 0 - - (I) -# DTA Dimension Text Area * \E [ Pn ; Pn SPC T - PC - -# EA Erase in Area \E [ Ps O 0 eF - (J) -# ECH Erase Character \E [ Pn X 1 eF ech -# ED Erase in Display \E [ Ps J 0 eF ed (J) -# EF Erase in Field \E [ Ps N 0 eF - -# EL Erase in Line \E [ Ps K 0 eF el (J) -# EM End of Medium * ^Y - - - -# EMI Enable Manual Input \E b Fs - -# ENQ Enquire ^E - - - -# EOT End Of Transmission ^D - * - -# EPA End of Protected Area \E W - - - (K) -# ESA End of Selected Area \E G - - - -# ESC Escape ^[ - - - -# ETB End Transmission Block ^W - - - -# ETX End of Text ^C - - - -# FF Form Feed ^L - - - -# FNK Function Key * \E [ Pn SPC W - - - -# GCC Graphic Char Combination* \E [ Pn ; Pn SPC B - - - -# FNT Font Selection \E [ Pn ; Pn SPC D 0, 0 FE - -# GSM Graphic Size Modify \E [ Pn ; Pn SPC B 100, 100 FE - (L) -# GSS Graphic Size Selection \E [ Pn SPC C none FE - -# HPA Horz Position Absolute \E [ Pn ` 1 FE - (B) -# HPB Char Position Backward \E [ j 1 FE - -# HPR Horz Position Relative \E [ Pn a 1 FE - (M) -# HT Horizontal Tab * ^I - FE - (N) -# HTJ Horz Tab w/Justification \E I - FE - -# HTS Horizontal Tab Set \E H - FE hts -# HVP Horz & Vertical Position \E [ Pn ; Pn f 1, 1 FE - (G) -# ICH Insert Character \E [ Pn @ 1 eF ich -# IDCS ID Device Control String \E [ SPC O - * - -# IGS ID Graphic Subrepertoire \E [ SPC M - * - -# IL Insert Line \E [ Pn L 1 eF il -# IND Index \E D - FE - -# INT Interrupt \E a - Fs - -# JFY Justify \E [ Ps SPC F 0 FE - -# IS1 Info Separator #1 * ^_ - * - -# IS2 Info Separator #1 * ^^ - * - -# IS3 Info Separator #1 * ^] - * - -# IS4 Info Separator #1 * ^\ - * - -# LF Line Feed ^J - - - -# LS1R Locking Shift Right 1 * \E ~ - - - -# LS2 Locking Shift 2 * \E n - - - -# LS2R Locking Shift Right 2 * \E } - - - -# LS3 Locking Shift 3 * \E o - - - -# LS3R Locking Shift Right 3 * \E | - - - -# MC Media Copy \E [ Ps i 0 - - (S) -# MW Message Waiting \E U - - - -# NAK Negative Acknowledge * ^U - * - -# NBH No Break Here * \E C - - - -# NEL Next Line \E E - FE nel (D) -# NP Next Page \E [ Pn U 1 eF - -# NUL Null * ^@ - - - -# OSC Operating System Command \E ] - Delim - -# PEC Pres. Expand/Contract * \E Pn SPC Z 0 - - -# PFS Page Format Selection * \E Pn SPC J 0 - - -# PLD Partial Line Down \E K - FE - (T) -# PLU Partial Line Up \E L - FE - (U) -# PM Privacy Message \E ^ - Delim - -# PP Preceding Page \E [ Pn V 1 eF - -# PPA Page Position Absolute * \E [ Pn SPC P 1 FE - -# PPB Page Position Backward * \E [ Pn SPC R 1 FE - -# PPR Page Position Forward * \E [ Pn SPC Q 1 FE - -# PTX Parallel Texts * \E [ \ - - - -# PU1 Private Use 1 \E Q - - - -# PU2 Private Use 2 \E R - - - -# QUAD Typographic Quadding \E [ Ps SPC H 0 FE - -# REP Repeat Char or Control \E [ Pn b 1 - rep -# RI Reverse Index \E M - FE - (V) -# RIS Reset to Initial State \E c - Fs - -# RM Reset Mode * \E [ Ps l - - - (W) -# SACS Set Add. Char. Sep. * \E [ Pn SPC / 0 - - -# SAPV Sel. Alt. Present. Var. * \E [ Ps SPC ] 0 - - (X) -# SCI Single-Char Introducer \E Z - - - -# SCO Sel. Char. Orientation * \E [ Pn ; Pn SPC k - - - -# SCS Set Char. Spacing * \E [ Pn SPC g - - - -# SD Scroll Down \E [ Pn T 1 eF rin -# SDS Start Directed String * \E [ Pn ] 1 - - -# SEE Select Editing Extent \E [ Ps Q 0 - - (Y) -# SEF Sheet Eject & Feed * \E [ Ps ; Ps SPC Y 0,0 - - -# SGR Select Graphic Rendition \E [ Ps m 0 FE sgr (O) -# SHS Select Char. Spacing * \E [ Ps SPC K 0 - - -# SI Shift In ^O - - - (P) -# SIMD Sel. Imp. Move Direct. * \E [ Ps ^ - - - -# SL Scroll Left \E [ Pn SPC @ 1 eF - -# SLH Set Line Home * \E [ Pn SPC U - - - -# SLL Set Line Limit * \E [ Pn SPC V - - - -# SLS Set Line Spacing * \E [ Pn SPC h - - - -# SM Select Mode \E [ Ps h none - - (W) -# SO Shift Out ^N - - - (Q) -# SOH Start Of Heading * ^A - - - -# SOS Start of String * \E X - - - -# SPA Start of Protected Area \E V - - - (Z) -# SPD Select Pres. Direction * \E [ Ps ; Ps SPC S 0,0 - - -# SPH Set Page Home * \E [ Ps SPC G - - - -# SPI Spacing Increment \E [ Pn ; Pn SPC G none FE - -# SPL Set Page Limit * \E [ Ps SPC j - - - -# SPQR Set Pr. Qual. & Rapid. * \E [ Ps SPC X 0 - - -# SR Scroll Right \E [ Pn SPC A 1 eF - -# SRCS Set Reduced Char. Sep. * \E [ Pn SPC f 0 - - -# SRS Start Reversed String * \E [ Ps [ 0 - - -# SSA Start of Selected Area \E F - - - -# SSU Select Size Unit * \E [ Pn SPC I 0 - - -# SSW Set Space Width * \E [ Pn SPC [ none - - -# SS2 Single Shift 2 (G2 set) \E N - Intro - -# SS3 Single Shift 3 (G3 set) \E O - Intro - -# ST String Terminator \E \ - Delim - -# STAB Selective Tabulation * \E [ Pn SPC ^ - - - -# STS Set Transmit State \E S - - - -# STX Start pf Text * ^B - - - -# SU Scroll Up \E [ Pn S 1 eF indn -# SUB Substitute * ^Z - - - -# SVS Select Line Spacing * \E [ Pn SPC \ 1 - - -# SYN Synchronous Idle * ^F - - - -# TAC Tabul. Aligned Centered * \E [ Pn SPC b - - - -# TALE Tabul. Al. Leading Edge * \E [ Pn SPC a - - - -# TATE Tabul. Al. Trailing Edge* \E [ Pn SPC ` - - - -# TBC Tab Clear \E [ Ps g 0 FE tbc -# TCC Tabul. Centered on Char * \E [ Pn SPC c - - - -# TSR Tabulation Stop Remove * \E [ Pn SPC d - FE - -# TSS Thin Space Specification \E [ Pn SC E none FE - -# VPA Vert. Position Absolute \E [ Pn d 1 FE vpa -# VPB Line Position Backward * \E [ Pn k 1 FE - -# VPR Vert. Position Relative \E [ Pn e 1 FE - (R) -# VT Vertical Tabulation * ^K - FE - -# VTS Vertical Tabulation Set \E J - FE - -# -# --------------------------------------------------------------------------- -# -# Notes: -# -# Some control characters are listed in the ECMA-48 standard without -# being assigned functions relevant to terminal control there (they -# referred to other standards such as ISO 1745 or ECMA-35). They are listed -# here anyway for completeness. -# -# (A) ECMA-48 calls this "CancelCharacter" but retains the CCH abbreviation. -# -# (B) There seems to be some confusion abroad between CHA and HPA. Most -# `ANSI' terminals accept the CHA sequence, not the HPA. but terminfo calls -# the capability (hpa). ECMA-48 calls this "Cursor Character Absolute" but -# preserved the CHA abbreviation. -# -# (C) CHT corresponds to terminfo (tab). Usually it has the value ^I. -# Occasionally (as on, for example, certain HP terminals) this has the HTJ -# value. ECMA-48 calls this "Cursor Forward Tabulation" but preserved the -# CHT abbreviation. -# -# (D) terminfo (nel) is usually \r\n rather than ANSI \EE. -# -# (E) ECMA-48 calls this "Active Position Report" but preserves the CPR -# abbreviation. -# -# (F) CTC parameter values: 0 = set char tab, 1 = set line tab, 2 = clear -# char tab, 3 = clear line tab, 4 = clear all char tabs on current line, -# 5 = clear all char tabs, 6 = clear all line tabs. -# -# (G) CUP and HVP are identical in effect. Some ANSI.SYS versions accept -# HVP, but always allow CUP as an alternate. ECMA-48 calls HVP "Character -# Position Absolute" but retains the HVP abbreviation. -# -# (H) ECMA calls this "Cursor Line Tabulation" but preserves the CVT -# abbreviation. -# -# (I) DSR parameter values: 0 = ready, 1 = busy, 2 = busy, will send DSR -# later, 3 = malfunction, 4 = malfunction, will send DSR later, 5 = request -# DSR, 6 = request CPR response. -# -# (J) ECMA calls ED "Erase In Page". EA/ED/EL parameters: 0 = clear to end, -# 1 = clear from beginning, 2 = clear. -# -# (K) ECMA calls this "End of Guarded Area" but preserves the EPA abbreviation. -# -# (L) The GSM parameters are vertical and horizontal parameters to scale by. -# -# (M) Some ANSI.SYS versions accept HPR, but more commonly `ANSI' terminals -# use CUF for this function and ignore HPR. ECMA-48 calls this "Character -# Position Relative" but retains the HPR abbreviation. -# -# (N) ECMA-48 calls this "Character Tabulation" but retains the HT -# abbreviation. -# -# (O) SGR parameter values: 0 = default mode (attributes off), 1 = bold, -# 2 = dim, 3 = italicized, 4 = underlined, 5 = slow blink, 6 = fast blink, -# 7 = reverse video, 8 = invisible, 9 = crossed-out (marked for deletion), -# 10 = primary font, 10 + n (n in 1..9) = nth alternative font, 20 = Fraktur, -# 21 = double underline, 22 = turn off 2, 23 = turn off 3, 24 = turn off 4, -# 25 = turn off 5, 26 = proportional spacing, 27 = turn off 7, 28 = turn off -# 8, 29 = turn off 9, 30 = black fg, 31 = red fg, 32 = green fg, 33 = yellow -# fg, 34 = blue fg, 35 = magenta fg, 36 = cyan fg, 37 = white fg, 38 = set -# fg color as in CCIT T.416, 39 = set default fg color, 40 = black bg -# 41 = red bg, 42 = green bg, 43 = yellow bg, 44 = blue bg, 45 = magenta bg, -# 46 = cyan bg, 47 = white bg, 48 = set bg color as in CCIT T.416, 39 = set -# default bg color, 50 = turn off 26, 51 = framed, 52 = encircled, 53 = -# overlined, 54 = turn off 51 & 52, 55 = not overlined, 56-59 = reserved, -# 61-65 = variable highlights for ideograms. -# -# (P) SI is also called LSO, Locking Shift Zero. -# -# (Q) SI is also called LS1, Locking Shift One. -# -# (R) Some ANSI.SYS versions accept VPR, but more commonly `ANSI' terminals -# use CUD for this function and ignore VPR. ECMA calls it `Line Position -# Absolute' but retains the VPA abbreviation. -# -# (S) MC parameters: 0 = start xfer to primary aux device, 1 = start xfer from -# primary aux device, 2 = start xfer to secondary aux device, 3 = start xfer -# from secondary aux device, 4 = stop relay to primary aux device, 5 = -# start relay to primary aux device, 6 = stop relay to secondary aux device, -# 7 = start relay to secondary aux device. -# -# (T) ECMA-48 calls this "Partial Line Forward" but retains the PLD -# abbreviation. -# -# (U) ECMA-48 calls this "Partial Line Backward" but retains the PLU -# abbreviation. -# -# (V) ECMA-48 calls this "Reverse Line Feed" but retains the RI abbreviation. -# -# (W) RM/SM modes are as follows: 1 = Guarded Area Transfer Mode (GATM), -# 2 = Keyboard Action Mode (KAM), 3 = Control Representation Mode (CRM), -# 4 = Insertion Replacement Mode, 5 = Status Report Transfer Mode (SRTM), -# 6 = Erasure Mode (ERM), 7 = Line Editing Mode (LEM), 8 = Bi-Directional -# Support Mode (BDSM), 9 = Device Component Select Mode (DCSM), -# 10 = Character Editing Mode (HEM), 11 = Positioning Unit Mode (PUM), -# 12 = Send/Receive Mode, 13 = Format Effector Action Mode (FEAM), -# 14 = Format Effector Transfer Mode (FETM), 15 = Multiple Area Transfer -# Mode (MATM), 16 = Transfer Termination Mode, 17 = Selected Area Transfer -# Mode, 18 = Tabulation Stop Mode, 19 = Editing Boundary Mode, 20 = Line Feed -# New Line Mode (LF/NL), Graphic Rendition Combination Mode (GRCM), 22 = -# Zero Default Mode (ZDM). The EBM and LF/NL modes have actually been removed -# from ECMA-48's 5th edition but are listed here for reference. -# -# (X) Select Alternate Presentation Variants is used only for non-Latin -# alphabets. -# -# (Y) "Select Editing Extent" (SEE) was ANSI "Select Edit Extent Mode" (SEM). -# -# (Z) ECMA-48 calls this "Start of Guarded Area" but retains the SPA -# abbreviation. -# -# --------------------------------------------------------------------------- -# -# Abbreviations: -# -# Intro an Introducer of some kind of defined sequence; the normal 7-bit -# X3.64 Control Sequence Introducer is the two characters "Escape [" -# -# Delim a Delimiter -# -# x/y identifies a character by position in the ASCII table (column/row) -# -# eF editor function (see explanation) -# -# FE format effector (see explanation) -# -# F is a Final character in -# an Escape sequence (F from 3/0 to 7/14 in the ASCII table) -# a control sequence (F from 4/0 to 7/14) -# -# Gs is a graphic character appearing in strings (Gs ranges from -# 2/0 to 7/14) in the ASCII table -# -# Ce is a control represented as a single bit combination in the C1 set -# of controls in an 8-bit character set -# -# C0 the familiar set of 7-bit ASCII control characters -# -# C1 roughly, the set of control chars available only in 8-bit systems. -# This is too complicated to explain fully here, so read Jim Fleming's -# article in the February 1983 BYTE, especially pages 214 through 224. -# -# Fe is a Final character of a 2-character Escape sequence that has an -# equivalent representation in an 8-bit environment as a Ce-type -# (Fe ranges from 4/0 to 5/15) -# -# Fs is a Final character of a 2-character Escape sequence that is -# standardized internationally with identical representation in 7-bit -# and 8-bit environments and is independent of the currently -# designated C0 and C1 control sets (Fs ranges from 6/0 to 7/14) -# -# I is an Intermediate character from 2/0 to 2/15 (inclusive) in the -# ASCII table -# -# P is a parameter character from 3/0 to 3/15 (inclusive) in the ASCII -# table -# -# Pn is a numeric parameter in a control sequence, a string of zero or -# more characters ranging from 3/0 to 3/9 in the ASCII table -# -# Ps is a variable number of selective parameters in a control sequence -# with each selective parameter separated from the other by the code -# 3/11 (which usually represents a semicolon); Ps ranges from -# 3/0 to 3/9 and includes 3/11 -# -# * Not relevant to terminal control, listed for completeness only. -# -# Format Effectors versus Editor Functions -# -# A format effector specifies how following output is to be displayed. -# An editor function allows you to modify the display. Informally -# format effectors may be destructive; format effectors should not be. -# -# For instance, a format effector that moves the "active position" (the -# cursor or equivalent) one space to the left would be useful when you want to -# create an overstrike, a compound character made of two standard characters -# overlaid. Control-H, the Backspace character, is actually supposed to be a -# format effector, so you can do this. But many systems use it in a -# nonstandard fashion, as an editor function, deleting the character to the -# left of the cursor and moving the cursor left. When Control-H is assumed to -# be an editor function, you cannot predict whether its use will create an -# overstrike unless you also know whether the output device is in an "insert -# mode" or an "overwrite mode". When Control-H is used as a format effector, -# its effect can always be predicted. The familiar characters carriage -# return, linefeed, formfeed, etc., are defined as format effectors. -# -# NOTES ON THE DEC VT100 IMPLEMENTATION -# -# Control sequences implemented in the VT100 are as follows: -# -# CPR, CUB, CUD, CUF, CUP, CUU, DA, DSR, ED, EL, HTS, HVP, IND, -# LNM, NEL, RI, RIS, RM, SGR, SM, TBC -# -# plus several private DEC commands. -# -# Erasing parts of the display (EL and ED) in the VT100 is performed thus: -# -# Erase from cursor to end of line Esc [ 0 K or Esc [ K -# Erase from beginning of line to cursor Esc [ 1 K -# Erase line containing cursor Esc [ 2 K -# Erase from cursor to end of screen Esc [ 0 J or Esc [ J -# Erase from beginning of screen to cursor Esc [ 1 J -# Erase entire screen Esc [ 2 J -# -# Some brain-damaged terminal/emulators respond to Esc [ J as if it were -# Esc [ 2 J, but this is wrong; the default is 0. -# -# The VT100 responds to receiving the DA (Device Attributes) control -# -# Esc [ c (or Esc [ 0 c) -# -# by transmitting the sequence -# -# Esc [ ? l ; Ps c -# -# where Ps is a character that describes installed options. -# -# The VT100's cursor location can be read with the DSR (Device Status -# Report) control -# -# Esc [ 6 n -# -# The VT100 reports by transmitting the CPR sequence -# -# Esc [ Pl ; Pc R -# -# where Pl is the line number and Pc is the column number (in decimal). -# -# The specification for the DEC VT100 is document EK-VT100-UG-003. - -#### ANSI.SYS -# -# Here is a description of the color and attribute controls supported in the -# the ANSI.SYS driver under MS-DOS. Most console drivers and ANSI -# terminal emulators for Intel boxes obey these. They are a proper subset -# of the ECMA-48 escapes. -# -# 0 all attributes off -# 1 foreground bright -# 4 underscore on -# 5 blink on/background bright (not reliable with brown) -# 7 reverse-video -# 8 set blank (non-display) -# 10 set primary font -# 11 set first alternate font (on PCs, display ROM characters 1-31) -# 12 set second alternate font (on PCs, display IBM high-half chars) -# -# Color attribute sets -# 3n set foreground color / 0=black, 1=red, 2=green, 3=brown, -# 4n set background color \ 4=blue, 5=magenta, 6=cyan, 7=white -# Bright black becomes gray. Bright brown becomes yellow, -# These coincide with the prescriptions of the ISO 6429/ECMA-48 standard. -# -# * If the 5 attribute is on and you set a background color (40-47) it is -# supposed to enable bright background. -# -# * Many VGA cards (such as the Paradise and compatibles) do the wrong thing -# when you try to set a "bright brown" (yellow) background with attribute -# 5 (you get a blinking yellow foreground instead). A few displays -# (including the System V console) support an attribute 6 that undoes this -# braindamage (this is required by iBCS2). -# -# * Some older versions of ANSI.SYS have a bug that causes thems to require -# ESC [ Pn k as EL rather than the ANSI ESC [ Pn K. (This is not ECMA-48 -# compatible.) - -#### Intel Binary Compatibility Standard -# -# For comparison, here are the capabilities implied by the Intel Binary -# Compatibility Standard for UNIX systems (Intel order number 468366-001). -# These recommendations are optional. IBCS2 allows the leading escape to -# be either the 7-bit \E[ or 8-bit \0233 introducer, in accordance with -# the ANSI X.364/ISO 6429/ECMA-48 standard. Here are the iBCS2 capabilities -# (as described in figure 9-3 of the standard). Those expressed in the ibcs2 -# terminfo entry are followed with the corresponding capability in parens: -# -# CSI k disable (n=0) or enable (n=1) keyclick -# CSI 2h lock keyboard -# CSI 2i send screen as input -# CSI 2l unlock keyboard -# CSI 6m enable background color intensity -# CSI <0-2>c reserved -# CSI <0-59>m select graphic rendition -# CSI ;H (cup) cursor to line n and column m -# CSI ;f cursor to line n and column m -# CSI @ (ich) insert characters -# CSI A (cuu) cursor up n lines -# CSI B (cud) cursor down n lines -# CSI C (cuu) cursor right n characters -# CSI D (cud) cursor left n characters -# CSI E cursor down n lines and in first column -# CSI F cursor up n lines and in first column -# CSI G (hpa) position cursor at column n-1 -# CSI J (ed) erase in display -# CSI K (el) erase in line -# CSI L (il) insert line(s) -# CSI P (dch) delete characters -# CSI S (indn) scroll up n lines -# CSI T (rin) scroll down n lines -# CSI X (ech) erase characters -# CSI Z (cbt) back up n tab stops -# CSI ` cursor to column n on line -# CSI a (cuu) cursor right n characters -# CSI d (vpa) cursor to line n -# CSI e cursor down n lines and in first column -# CSI g (cbt) clear all tabs -# CSI z make virtual terminal n active -# CSI ?7h (smam) turn automargin on -# CSI ?7l (rmam) turn automargin off -# CSI s save cursor position -# CSI u restore cursor position to saved value -# CSI =A set overscan color -# CSI =F set normal foreground color -# CSI =G set normal background color -# CSI =H set reverse foreground color -# CSI =I set reverse foreground color -# CSI =J set graphic foreground color -# CSI =K set graphic foreground color -# CSI =g (dispc) display n from alternate graphics character set -# CSI =

;B set bell parameters -# CSI =;C set cursor parameters -# CSI =D enable/disable intensity of background color -# CSI =E set/clear blink vs. bold background -# CSI 7 (sc) (sc) save cursor position -# CSI 8 (rc) (rc) restore cursor position to saved value -# CSI H (hts) (hts) set tab stop -# CSI Q define function key string -# (string must begin and end with delimiter char) -# CSI c (clear) clear screen -# -# The lack of any specification for attributes in SGR (among other things) -# makes this a wretchedly weak standard. The table above is literally -# everything iBSC2 has to say about terminal escape sequences; there is -# no further discussion of their meaning or how to set the parameters -# in these sequences at all. -# - -######## NONSTANDARD CAPABILITY TRANSLATIONS USED IN THIS FILE -# -# The historical termcap file entries were written primarily in 4.4BSD termcap. -# The 4.4BSD termcap set was substantially larger than the original 4.1BSD set, -# with the extension names chosen for compatibility with the termcap names -# assigned in System V terminfo. There are some variant extension sets out -# there. We try to describe them here. -# -# XENIX extensions: -# -# The XENIX extensions include a set of function-key capabilities as follows: -# -# code XENIX variable name terminfo name name clashes? -# ---- ------------------- ------------- ----------------------- -# CL key_char_left -# CR key_char_right -# CW key_change_window create_window -# EN key_end kend -# HM key_home khome -# HP ?? -# LD key_delete_line kdl1 -# LF key_linefeed label_off -# NU key_next_unlocked_cell -# PD key_page_down knp -# PL ?? -# PN start_print mc5 -# PR ?? -# PS stop_print mc4 -# PU key_page_up kpp pulse -# RC key_recalc remove_clock -# RF key_toggle_ref req_for_input -# RT key_return kent -# UP key_up_arrow kcuu1 parm_up_cursor -# WL key_word_left -# WR key_word_right -# -# The XENIX extensions also include the following character-set and highlight -# capabilities: -# -# XENIX terminfo function -# ----- -------- ------------------------------ -# GS smacs start alternate character set -# GE rmacs end alternate character set -# GG :as:/:ae: glitch (analogous to :sg:/:ug:) -# bo blink begin blink (not used in /etc/termcap) -# be end blink (not used in /etc/termcap) -# bb blink glitch (not used in /etc/termcap) -# it dim begin dim (not used in /etc/termcap) -# ie end dim (not used in /etc/termcap) -# ig dim glitch (not used in /etc/termcap) -# -# Finally, XENIX also used the following forms-drawing capabilities: -# -# single double type ASCII approximation -# ------ ------ ------------- ------------------- -# GV Gv vertical line | -# GH Gv horizontal line - _ -# G1 G5 top right corner _ | -# G2 G6 top left corner | -# G3 G7 bottom left corner |_ -# G4 G8 bottom right corner _| -# GD Gd down-tick character T -# GL Gl left-tick character -| -# GR Gr right-tick character |- -# GC Gc middle intersection -|- -# GU Gu up-tick character _|_ -# -# These were invented to take advantage of the IBM PC ROM character set. One -# can compose an acsc string from the single-width characters as follows -# "j{G4}k{G1}l{G2}m{G3}q{GH}x{GV}t{GR}u{GL}v{GU}w{GD}n{GC}" -# When translating a termcap file, ncurses tic will do this automatically. -# The double forms characters don't fit the SVr4 terminfo model. -# -# AT&T Extensions: -# -# The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of -# nonstandard capabilities. Its signature is the KM capability, used to name -# some sort of keymap file. EE, BO, CI, CV, XS, DS, FL and FE are in this -# set. Comments in the original, and a little cross-checking with other AT&T -# documentation, seem to establish that BO=:mr: (start reverse video), DS=:mh: -# (start dim), XS=:mk: (secure/invisible mode), EE=:me: (end highlights), -# FL=:LO: (enable soft labels), FE=:LF: (disable soft labels), CI=:vi: (make -# cursor invisible), and CV=:ve: (make cursor normal). -# -# HP Extensions -# -# The HP library (as of mid-1995, their term.h file version 70.1) appears to -# have the System V capabilities up to SVr1 level. After that, it supports -# two nonstandard caps meml and memu corresponding to the old termcap :ml:, -# :mu: capabilities. After that, it supports caps plab_norm, label_on, -# label_off, and key_f11..key_f63 capabilities like SVr4's. This makes the -# HP binary format incompatible with SVr4's. -# -# IBM Extensions -# -# There is a set of nonstandard terminfos used by IBM's AIX operating system. -# The AIX terminfo library diverged from SVr1 terminfo, and replaces all -# capabilities following prtr_non with the following special capabilties: -# box[12], batt[12], colb[0123456789], colf[0123456789], f[01234567], kbtab, -# kdo, kcmd, kcpn, kend, khlp, knl, knpn, kppn, kppn, kquit, ksel, kscl, kscr, -# ktab, kmpf[123456789], apstr, ksf1..ksf10, kf11...kf63, kact, topl, btml, -# rvert, lvert. Some of these are identical to XPG4/SVr4 equivalents: -# kcmd, kend, khlp, and kf11...kf63. Two others (kbtab and ksel) can be -# renamed (to kcbt and kslt). The places in the box[12] capabilities -# correspond to acsc chars, here is the mapping: -# -# box1[0] = ACS_ULCORNER -# box1[1] = ACS_HLINE -# box1[2] = ACS_URCORNER -# box1[3] = ACS_VLINE -# box1[4] = ACS_LRCORNER -# box1[5] = ACS_LLCORNER -# box1[6] = ACS_TTEE -# box1[7] = ACS_RTEE -# box1[8] = ACS_BTEE -# box1[9] = ACS_LTEE -# box1[10] = ACS_PLUS -# -# The box2 characters are the double-line versions of these forms graphics. -# The AIX binary terminfo format is incompatible with SVr4's. -# -# Iris console extensions: -# -# HS is half-intensity start; HE is half-intensity end -# CT is color terminal type (for Curses & rogue) -# CP is color change escape sequence -# CZ are color names (for Curses & rogue) -# -# The ncurses tic utility recognizes HS as an alias for mh . -# -# TC Extensions: -# -# There is a set of extended termcaps associated with something -# called the "Terminal Control" or TC package created by MainStream Systems, -# Winfield Kansas. This one also uses GS/GE for as/ae, and also uses -# CF for civis and CO for cvvis. Finally, they define a boolean :ct: -# that flags color terminals. -# -######## CHANGE HISTORY -# -# The last /etc/termcap version maintained by John Kunze was 8.3, dated 8/5/94. -# Releases 9 and up are maintained by Eric S. Raymond as part of the ncurses -# project. -# -# This file contains all the capability information present in John Kunze's -# last version of the termcap master file, except as noted in the change -# comments at end of file. Some information about very ancient obsolete -# capabilities has been moved to comments. Some all-numeric names of older -# terminals have been retired. -# -# I changed :MT: to :km: (the 4.4BSD name) everywhere. I commented out some -# capabilities (EP, dF, dT, dV, kn, ma, ml, mu, xr, xx) that are no longer -# used by BSD curses. -# -# The 9.1.0 version of this file was translated from my lightly-edited copy of -# 8.3, then mechanically checked against 8.3 using Emacs Lisp code written for -# the purpose. Unless the ncurses tic implementation and the Lisp code were -# making perfectly synchronized mistakes which I then failed to catch by -# eyeball, the translation was correct and perfectly information-preserving. -# -# Major version number bumps correspond to major version changes in ncurses. -# -# Here is a log of the changes since then: -# -# 9.1.0 (Wed Feb 1 04:50:32 EST 1995): -# * First terminfo master translated from 8.3. -# 9.2.0 (Wed Feb 1 12:21:45 EST 1995): -# * Replaced Wyse entries with updated entries supplied by vendor. -# -# 9.3.0 (Mon Feb 6 19:14:40 EST 1995): -# * Added contact & status info from G. Clark Brown . -# 9.3.1 (Tue Feb 7 12:00:24 EST 1995): -# * Better XENIX keycap translation. Describe TC termcaps. -# * Contact and history info supplied by Qume. -# 9.3.2 (Sat Feb 11 23:40:02 EST 1995): -# * Raided the Shuford FTP site for recent termcaps/terminfos. -# * Added information on X3.64 and VT100 standard escape sequences. -# 9.3.3 (Mon Feb 13 12:26:15 EST 1995): -# * Added a correct X11R6 xterm entry. -# * Fixed terminfo translations of padding. -# 9.3.4 (Wed Feb 22 19:27:34 EST 1995): -# * Added correct acsc/smacs/rmacs strings for vt100 and xterm. -# * Added u6/u7/u8/u9 capabilities. -# * Added PCVT entry. -# 9.3.5 (Thu Feb 23 09:37:12 EST 1995): -# * Emacs uses :so:, not :mr:, for its mode line. Fix linux entry -# to use reverse-video standout so Emacs will look right. -# * Added el1 capability to ansi. -# * Added smacs/rmacs to ansi.sys. -# -# 9.4.0 (Sat Feb 25 16:43:25 EST 1995): -# * New mt70 entry. -# * Added COPYRIGHTS AND OTHER DELUSIONS. -# * Added AT&T 23xx & 500/513, vt220 and vt420, opus3n1+, netronics -# smartvid & smarterm, ampex 175 & 219 & 232, -# env230, falco ts100, fluke, intertube, superbrain, ncr7901, vic20, -# ozzie, trs200, tr600, Tandy & Texas Instruments VDTs, intext2, -# screwpoint, fviewpoint, Contel Business Systems, Datamedia Colorscan, -# adm36, mime314, ergo4000, ca22851. Replaced att7300, esprit, dd5500. -# * Replaced the Perkin-Elmer entries with vendor's official ones. -# * Restored the old minimal-ansi entry, luna needs it. -# * Fixed some incorrect ip and proportional-padding translations. -# 9.4.1 (Mon Feb 27 14:18:33 EST 1995): -# * Fix linux & AT386 sgr strings to do A_ALTCHARSET turnoff correctly. -# * Make the xterm entry 65 lines again; create xterm25 and xterm24 -# to force a particular height. -# * Added beehive4 and reorganized other Harris entries. -# 9.4.2 (Thu Mar 9 01:45:44 EST 1995): -# * Merged in DEC's official entries for its terminals. The only old -# entry I kept was Doug Gwyn's alternate vt100 (as vt100-avo). -# * Replaced the translated BBN Bitgraph entries with purpose-built -# ones from AT&T's SVr3. -# * Replaced the AT&T entries with AT&T's official terminfos. -# * Added teleray 16, vc415, cops10. -# * Merged in many individual capabilities from SCO terminfo files. -# 9.4.3 (Mon Mar 13 02:37:53 EST 1995): -# * Typo fixes. -# * Change linux entry so A_PROTECT enables IBM-PC ROM characters. -# 9.4.4 (Mon Mar 27 12:32:35 EST 1995): -# * Added tty35, Ann Arbor Guru series. vi300 and 550, cg7900, tvi803, -# pt210, ibm3164, IBM System 1, ctrm, Tymshare scanset, dt200, adm21, -# simterm, citoh and variants. -# * Replaced sol entry with sol1 and sol2. -# * Replaced Qume QVT and Freedom-series entries with purpose-built -# terminfo entries. -# * Enhanced vt220, tvi910, tvi924, hpterm, hp2645, adm42, tek -# and dg200 entries using caps from from SCO. -# * Added the usual set of function-key mappings to ANSI entry. -# * Corrected xterm's function-key capabilities. -# 9.4.5 (Tue Mar 28 14:27:49 EST 1995): -# * Fix in xterm entry, cub and cud are not reliable under X11R6. -# 9.4.6 (Thu Mar 30 14:52:15 EST 1995): -# * Fix in xterm entry, get the arrow keys right. -# * Change some \0 escapes to \200. -# 9.4.7 (Tue Apr 4 11:27:11 EDT 1995) -# * Added apple (Videx card), adm1a, oadm31. -# * Fixed malformed ampex csr. -# * Fixed act4, cyb110; they had old-style prefix padding left in. -# * Changed mandatory to advisory padding in many entries. -# * Replaced HP entries up to hpsub with purpose-built ones. -# * Blank rmir/smir/rmdc/smdc capabilities removed. -# * Small fixes merged in from SCO entries for lpr, fos, tvi910+, tvi924. -# 9.4.8 (Fri Apr 7 09:36:34 EDT 199): -# * Replaced the Ann Arbor entries with SCO's, the init strings are -# more efficient (but the entries otherwise identical). -# * Added dg211 from Shuford archive. -# * Added synertek, apple-soroc, ibmpc, pc-venix, pc-coherent, xtalk, -# adm42-nl, pc52, gs6300, xerox820, uts30. -# * Pull SCO's padding into vi200 entry. -# * Improved capabilities for tvi4107 and other Televideo and Viewpoint -# entries merged in from SCO's descriptions. -# * Fixed old-style prefix padding on zen50, h1500. -# * Moved old superbee entry to superbee-xsb, pulled in new superbee -# entry from SCO's description. -# * Reorganized the special entries. -# * Added lm#0 to cbunix and virtual entries. -# -# 9.5.0 (Mon Apr 10 11:30:00 EDT 1995): -# * Restored cdc456tst. -# * Fixed sb1 entry, SCO erroneously left out the xsb glitch. -# * Added megatek, beacon, microkit. -# * Freeze for ncurses-1.9 release. -# 9.5.1 (Fri Apr 21 12:46:42 EDT 1995): -# * Added historical data for TAB. -# * Comment fixes from David MacKenzie. -# * Added the new BSDI pc3 entry. -# 9.5.2 (Tue Apr 25 17:27:52 EDT 1995) -# * A change in the tic -C logic now ensures that all entries in -# the termcap translation will fit in < 1024 bytes. -# * Added `bobcat' and `gator' HP consoles and the Nu machine entries -# from GNU termcap file. This merges in all their local information. -# 9.5.3 (Tue Apr 25 22:28:13 EDT 1995) -# * Changed tic -C logic to dump all capabilities used by GNU termcap. -# * Added warnings about entries with long translations (restoring -# all the GNU termcaps pushes a few over the edge). -# 9.5.4 (Wed Apr 26 15:35:09 EDT 1995) -# * Yet another tic change, and a couple of entry tweaks, to reduce the -# number of long (> 1024) termcap translations back to 0. -# -# 9.6.0 (Mon May 1 10:35:54 EDT 1995) -# * Added kf13-kf20 to Linux entry. -# * Regularize Prime terminal names. -# * Historical data on Synertek. -# * Freeze for ncurses-1.9.1. -# 9.6.1 (Sat May 6 02:00:52 EDT 1995): -# * Added true xterm-color entry, renamed djm's pseudo-color entry. -# * Eliminate whitespace in short name fields, this tanks some scripts. -# * Name field changes to shorten some long entries. -# * Termcap translation now automatically generates empty rmir/smir -# when ich1/ich is present (copes with an ancient vi bug). -# * Added `screen' entries from FSF's screen-3.6.2. -# * Added linux-nic and xterm-nic entries. -# 9.6.2 (Sat May 6 17:00:55 EDT 1995): -# * Change linux entry to use smacs=\E[11m and have an explicit acsc, -# eliminating some special-case code in ncurses. -# -# 9.7.0 (Tue May 9 18:03:12 EDT 1995): -# * Added vt320-k3, rsvidtx from the Emacs termcap.dat file. I think -# that captures everything unique from it. -# * Added reorder script generator. -# * Freeze for ncurses 1.9.2 release. -# 9.7.1 (Thu Jun 29 09:35:22 EDT 1995): -# * Added Sean Farley's kspd, flash, rs1 capabilities for linux. -# * Added Olaf Siebert's corrections for adm12. -# * ansi-pc-color now includes the colors and pairs caps, so that -# entries which use it will inherit them automatically. -# * The linux entry can now recognize the center (keypad 5) key. -# * Removed some junk that found its way into Linux acsc. -# -# 9.8.0 (Fri Jul 7 04:46:57 EDT 1995): -# * Add 50% cut mark as a desperate hack to reduce tic's core usage. -# * xterm doesn't try to use application keypad mode any more. -# * Freeze for ncurses-1.9.3 release. -# 9.8.1 (Thu Jul 19 17:02:12 EDT 1995): -# * Added corrected sun entry from vendor. -# * Added csr capability to linux entry. -# * Peter Wemm says the at386 hpa should be \E[%i%p1%dG, not \E[%p1%dG. -# * Added vt102-nsgr to cope with stupid IBM PC `VT100' emulators. -# * Some commented-out caps in long entries come back in, my code -# for computing string-table lengths had a bug in it. -# * pcansi series modified to fit comm-program reality better. -# 9.8.2 (Sat Sep 9 23:35:00 EDT 1995): -# * BSD/OS actually ships the ibmpc3 bold entry as its console. -# * Correct some bad aliases in the pcansi series -# * Added entry for QNX console. -# * Clean up duplicate long names for use with 4.4 library. -# * Change vt100 standout to be normal reverse vide, not bright reverse; -# this makes the Emacs status line look better. -# 9.8.3 (Sun Sep 10 13:07:34 EDT 1995): -# * Added Adam Thompson's VT320 entries, also his dtx-sas and z340. -# * Minor surgery, mostly on name strings, to shorten termcap version. -# -# 9.9.0 (Sat Sep 16 23:03:48 EDT 1995): -# * Added dec-vt100 for use with the EWAN emulator. -# * Added kmous to xterm for use with xterm's mouse-tracking facility. -# * Freeze for 1.9.5 alpha release. -# 9.9.1 (Wed Sep 20 13:46:09 EDT 1995): -# * Changed xterm lines to 24, the X11R6 default. -# 9.9.2 (Sat Sep 23 21:29:21 EDT 1995): -# * Added 7 newly discovered, undocumented acsc characters to linux -# entry (the pryz{|} characters). -# * ncurses no longer steals A_PROTECT. Simplify linux sgr accordingly. -# * Correct two typos in the xterm entries introduced in 9.9.1. -# * I finally figured out how to translate ko capabilities. Done. -# * Added tvi921 entries from Tim Theisen. -# * Cleanup: dgd211 -> dg211, adm42-nl -> adm42-nsl. -# * Removed mystery tec entry, it was neither interesting nor useful. -# * shortened altos3, qvt203, tvi910+, tvi92D, tvi921-g, tvi955, vi200-f, -# vi300-ss, att505-24, contel301, dm3045, f200vi, pe7000c, vc303a, -# trs200, wind26, wind40, wind50, cdc456tst, dku7003, f110, dg211, -# by making them relative to use capabilities -# * Added cuf1=^L to tvi925 from deleted variant tvi925a. -# * fixed cup in adm22 entry and parametrized strings in vt320-k3. -# * added it#8 to entries that used to have :pt: -- tvi912, vi200, -# ampex80, -# * Translate all home=\E[;H capabilities to home=\E[H, they're -# equivalent. -# * Translate \E[0m -> \E[m in [rs]mso, [rs]mul, and init strings of -# vt100 and ANSI-like terminals. -# 9.9.3 (Tue Sep 26 20:11:15 EDT 1995): -# * Added it#8 and ht=\t to *all* entries with :pt:; the ncurses tic -# does this now, too. -# * fviewpoint is gone, it duplicated screwpoint. -# * Added hp2627, graphos, graphos-30, hpex, ibmega, ibm8514, ibm8514-c, -# ibmvga, ibmvga-c, minix, mm340, mt4520-rv, screen2, screen3, -# versaterm, vi500, vsc, vt131, vt340, vt400 entries from UW. -# The UW vi50 replaces the old one, which becomes vi50adm, -# * No more embedded commas in name fields. -# -# 9.10.0 (Wed Oct 4 15:39:37 EDT 1995): -# * XENIX forms characters in fos, trs16, scoansi become acsc strings, -# * Introduced klone+* entries for describing Intel-console behavior. -# * Linux kbs is default-mapped to delete for some brain-dead reason. -# * -nsl -> -ns. The -pp syntax is obsolete. -# * Eliminate [A-Z]* primaries in accordance with SVr4 terminfo docs. -# * Make xterm entry do application-keypad mode again. I got complaints -# that it was messing up someone's 3270 emulator. -# * Added some longname fields in order to avoid warning messages from -# older tic implementations. -# * According to ctlseqs.ms, xterm has a full vt100 graphics set. Use -# it! (This gives us pi, greater than, less than, and a few more.) -# * Freeze for ncurses-1.9.6 release. -# 9.10.1 (Sat Oct 21 22:18:09 EDT 1995): -# * Add xon to a number of console entries, they're memory-mapped and -# don't need padding. -# * Correct the use dependencies in the ansi series. -# * Hand-translate more XENIX capabilities. -# * Added hpterm entry for HP's X terminal emulator. -# * Added aixterm entries. -# * Shortened four names so everything fits in 14 chars. -# -# 9.11.0 (Thu Nov 2 17:29:35 EST 1995): -# * Added ibcs2 entry and info on iBCS2 standard. -# * Corrected hpa/vpa in linux entry. They still fail the worm test. -# * We can handle the HP meml/memu capability now. -# * Added smacs to klone entries, just as documentation. -# * Carrected ansi.sys and cit-500 entries. -# * Added z39, vt320-k311, v220c, and avatar entries. -# * Make pcansi use the ansi.sys invis capability. -# * Added DIP switch descriptions for vt100, adm31, tvi910, tvi920c, -# tvi925, tvi950, dt80, ncr7900i, h19. -# * X3.64 has been withdrawn, change some references. -# * Removed function keys from ansi-m entry. -# * Corrected ansi.sys entry. -# * Freeze for ncurses-1.9.7 release. -# 9.11.1 (Tue Nov 6 18:18:38 EST 1995): -# * Added rmam/smam capabilities to many entries based on init strings. -# * Added correct hpa/vpa to linux. -# * Reduced several entries relative to vt52. -# 9.11.2 (Tue Nov 7 00:21:06 EST 1995): -# * Exiled some utterly unidentifiable custom and homebrew types to the -# UFO file; also, obsolete small-screen hardware; also, entries which -# look flat-out incorrect, garbled, or redundant. These include the -# following entries: carlock, cdc456tst, microkit, qdss, ramtek, tec, -# tec400, tec500, ubell, wind, wind16, wind40, wind50, plasma, agile, -# apple, bch, daleblit, nucterm, ttywilliams, nuterminal, nu24, bnu, -# fnu, nunix-30, nunix-61, exidy, ex3000, sexidy, pc52, sanyo55, -# yterm10, yterm11, yterm10nat, aed, aed-ucb, compucolor, compucolor2, -# vic20, dg1, act5s, netx, smartvid, smarterm, sol, sol2, dt200, -# trs80, trs100, trs200, trs600, xitex, rsvidtx, vid, att2300-x40, -# att2350-x40, att4410-nfk, att5410-ns, otty5410, att5425-nl-w, -# tty5425-fk, tty5425-w-fk, cita, c108-na, c108-rv-na, c100-rv-na, -# c108-na-acs, c108-rv-na-acs, ims950-ns, infotonKAS, ncr7900i-na, -# regent60na, scanset-n, tvi921-g, tvi925n, tvi925vbn, tvi925vb, -# vc404-na, vc404-s-na, vt420nam, vt420f-nam, vt420pc-nam, vt510nam, -# vt510pc-nam, vt520nam, vt525nam, xterm25, xterm50, xterm65, xterms. -# * Corrected pcvt25h as suggested by Brian C. Grayson -# . -# 9.11.3 (Thu Nov 9 12:14:40 EST 1995): -# * Added kspd=\E[P, kcbt=\E[Z, to linux entry, changed kbs back to ^H. -# * Added kent=\EOM to xterm entry. -# -# 9.11.4 (Fri Nov 10 08:31:35 EST 1995): -# * Corrected gigi entry. -# * Restored cuf/cud1 to xterm, their apparent bugginess was due to -# bad hpa/vpa capabilities. -# * Corrected flash strings to have a uniform delay of .2 sec. No -# more speed-dependent NUL-padding! -# * terminfo capabilities in comments bracketed with <>. -# 9.11.5 (Fri Nov 10 15:35:02 EST 1995): -# * Replaced pcvt with the 3.31 pcvt entries. -# * Freeze for 1.9.7a. -# 9.11.6 (Mon Nov 13 10:20:24 EST 1995): -# * Added emu entry from the X11R6 contrib tape sources. -# -# 9.12.0 (Wed Nov 29 04:22:25 EST 1995): -# * Improved iris-ansi and sun entries. -# * More flash string improvements. -# * Corrected wy160 & wy160 as suggested by Robert Dunn -# * Added dim to at386. -# * Reconciled pc3 and ibmpc3 with the BSDI termcap file. Keith says -# he's ready to start using the termcap generated from this one. -# * Added vt102-w, vt220-w, xterm-bold, wyse-vp, wy75ap, att4424m, -# ln03, lno3-w, h19-g, z29a*, qdss. Made vt200 an alias of vt220. -# * Improved hpterm, apollo consoles, fos, qvt101, tvi924. tvi925, -# att610, att620, att630, -# * Changed hazeltine name prefix from h to hz. -# * Sent t500 to the UFI file. -# * I think we've sucked all the juice out of BSDI's termcap file now. -# * Freeze for ncurses 1.9.8 release -# 9.12.1 (Thu Nov 30 03:14:06 EST 1995) -# * Unfreeze, linux kbs needed to be fixed. -# * Tim Theisen pinned down a bug in the DMD firmware. -# 9.12.2 (Thu Nov 30 19:08:55 EST 1995): -# * Fixes to ansi and klone capabilities (thank you, Aaron Ucko). -# (The broken ones had been shadowed by sgr.) -# 9.12.3 (Thu Dec 7 17:47:22 EST 1995): -# * Added documentation on ECMA-48 standard. -# * New Amiga entry. -# 9.12.4 (Thu Dec 14 04:16:39 EST 1995): -# * More ECMA-48 stuff -# * Corrected typo in minix entry, added pc-minix. -# * Corrected khome/kend in xterm (thank you again, Aaron Ucko). -# * Added rxvt entry. -# * Added 1.3.x color-change capabilities to linux entry. -# 9.12.5 (Tue Dec 19 00:22:10 EST 1995): -# * Corrected rxvt entry khome/kend. -# * Corrected linux color change capabilities. -# * NeXT entries from Dave Wetzel. -# * Cleaned up if and rf file names (all in /usr/share now). -# * Changed linux op capability to avoid screwing up a background color -# pair set by setterm. -# 9.12.6 (Wed Feb 7 16:14:35 EST 1996): -# * Added xterm-sun. -# 9.12.7 (Fri Feb 9 13:27:35 EST 1996): -# * Added visa50. -# -# 9.13.0 (Sun Mar 10 00:13:08 EST 1996): -# * Another sweep through the Shuford archive looking for new info. -# * Added dg100 alias to dg6053 based on a comp.terminals posting. -# * Added st52 from Per Persson. -# * Added eterm from the GNU Emacs 19.30 distribution. -# * Freeze for 1.9.9. -# 9.13.1 (Fri Mar 29 14:06:46 EST 1996): -# * FreeBSD console entries from Andrew Chernov. -# * Removed duplicate Atari st52 name. -# 9.13.2 (Tue May 7 16:10:06 EDT 1996) -# * xterm doesn't actually have ACS_BLOCK. -# * Change klone+color setf/setb to simpler forms that can be -# translated into termcap. -# * Added xterm1. -# * Removed mechanically-generated junk capabilities from cons* entries. -# * Added color support to bsdos. -# 9.13.3 (Thu May 9 10:35:51 EDT 1996): -# * Added Wyse 520 entries from Wm. Randolph Franklin . -# * Created ecma+color, linux can use it. Also added ech to linux. -# * Teach xterm about more keys. Add Thomas Dickey's 3.1.2E updates. -# * Add descriptions to FreeBSD console entries. Also shorten -# some aliases to <= 14 chars for portability. -# * Added x68k console -# * Added OTbs to several VT-series entries. -# 9.13.4 (Wed May 22 10:54:09 EDT 1996): -# * screen entry update for 3.7.1 from Michael Alan Dorfman. -# 9.13.5 (Wed Jun 5 11:22:41 EDT 1996): -# * kterm correction due to Kenji Rikitake. -# * ACS correction in vt320-kll due to Phillippe De Muyter. -# 9.13.6 (Sun Jun 16 15:01:07 EDT 1996): -# * Sun console entry correction from J.T. Conklin. -# * Changed all DEC VT300 and up terminals to use VT300 tab set -# 9.13.7 (Mon Jul 8 20:14:32 EDT 1996): -# * Added smul to linux entry (we never noticed it was missing -# because of sgr!). -# * Added rmln to hp+labels (deduced from other HP entries). -# * Added vt100 acsc capability to vt220, vt340, vt400, d800, dt80-sas, -# pro350, att7300, 5420_2, att4418, att4424, att4426, att505, vt320-k3. -# * Corrected vt220 acsc. -# * The klone+sgr and klone+sgr-dumb entries now use klone+acs; -# this corresponds to reality and helps prevent some tic warnings. -# * Added sgr0 to c101, pcix, vt100-nav, screen2, oldsun, next, altos2, -# hpgeneric, hpansi, hpsub, hp236, hp700-wy, bobcat, dku7003, adm11, -# adm12, adm20, adm21, adm22, adm31, adm36, adm42, pt100, pt200, -# qvt101, tvi910, tvi921, tvi92B, tvi925, tvi950, tvi970, wy30-mc, -# wy50-mc, wy100, wyse-vp, ampex232, regent100, viewpoint, vp90, -# adds980, cit101, cit500, contel300, cs10, dm80, falco, falco-p, -# f1720a, go140, sb1, superbeeic, microb, ibm8512, kt7, ergo4000, -# owl, uts30, dmterm, dt100, dt100, dt110, appleII, apple-videx, -# lisa, trsII, atari, st52, pc-coherent, basis, m2-man, bg2.0, bg1.25, -# dw3, ln03, ims-ansi, graphos, t16, zen30, xtalk, simterm, d800, -# ifmr, v3220, wy100q, tandem653, ibmaed. -# * Added DWK terminal description. -# 9.13.8 (Wed Jul 10 11:45:21 EDT 1996): -# * Many entries now have highlights inherited from adm+sgr. -# * xterm entry now corresponds to XFree86 3.1.2E, with color. -# * xtitle and xtitle-twm enable access to the X status line. -# * Added linux-1.3.6 color palette caps in conventional format. -# * Added adm1178 terminal. -# * Move fos and apollo terminals to obsolete category. -# * Aha! The BRL terminals file told us what the Iris extensions mean. -# * Added, from the BRL termcap file: rt6221, rt6221-w, northstar, -# commodore, cdc721-esc, excel62, osexec. Replaced from the BRL file: -# cit500, adm11. -# 9.13.9 (Mon Jul 15 00:32:51 EDT 1996): -# * Added, from the BRL termcap file: cdc721, cdc721l, cdc752, cdc756, -# aws, awsc, zentec8001, modgraph48, rca vp3301/vp3501, ex155. -# * Corrected, from BRL termcap file: vi50. -# * Better rxvt entry & corrected xterm entries from Thomas Dickey. -# 9.13.10 (Mon Jul 15 12:20:13 EDT 1996): -# * Added from BRL: cit101e & variants, hmod1, vi200, ansi77, att5620-1, -# att5620-s, att5620-s, dg210, aas1901, hz1520, hp9845, osborne -# (old osborne moved to osborne-w), tvi970-vb, tvi970-2p, tvi925-hi, -# tek4105brl, tek4106brl, tek4107brl,tek4109brl, hazel, aepro, -# apple40p, apple80p, appleIIgs, apple2e, apple2e-p, apple-ae. -# * Paired-attribute fixes to various terminals. -# * Sun entry corrections from A. Lukyanov & Gert-Jan Vons. -# * xterm entry corrections from Thomas Dickey. -# 9.13.11 (Tue Jul 30 16:42:58 EDT 1996): -# * Added t916 entry, translated from a termcap in SCO's support area. -# * New qnx entry from Michael Hunter. -# 9.13.12 (Mon Aug 5 14:31:11 EDT 1996): -# * Added hpex2 from Ville Sulko. -# * Fixed a bug that ran the qnx and pcvtXX together. -# 9.13.13 (Fri Aug 9 01:16:17 EDT 1996): -# * Added dtterm entry from Solaris CDE. -# 9.13.14 (Tue Sep 10 15:31:56 EDT 1996): -# * corrected pairs#8 typo in dtterm entry. -# * added tvi9065. -# 9.13.15 (Sun Sep 15 02:47:05 EDT 1996): -# * updated xterm entry to cover 3.1.2E's new features. -# 9.13.16 (Tue Sep 24 12:47:43 EDT 1996): -# * Added new minix entry -# * Removed aliases of the form ^[0-9]* for obsolete terminals. -# * Commented out linux-old, nobody's using pre-1.2 kernels now. -# 9.13.17 (Fri Sep 27 13:25:38 EDT 1996): -# * Added Prism entries and kt7ix. -# * Caution notes about EWAN and tabset files. -# * Changed /usr/lib/tabset -> /usr/local/share/tabset. -# * Added acsc/rmacs/smacs to vt52. -# 9.13.18 (Mon Oct 28 13:24:59 EST 1996): -# * Merged in Thomas Dickey's reorganization of the xterm entries; -# added technical corrections to avoid warning messages. -# 9.13.19 (Sat Nov 16 16:05:49 EST 1996): -# * Added rmso=\E[27m in Linux entry. -# * Added koi8-r support for Linux console. -# * Replace xterm entries with canonical ones from XFree86 3.2. -# 9.13.20 (Sun Nov 17 23:02:51 EST 1996): -# * Added color_xterm from Jacob Mandelson -# 9.13.21 (Mon Nov 18 12:43:42 EST 1996): -# * Back off the xterm entry to use r6 as a base. -# 9.13.22 (Sat Nov 30 11:51:31 EST 1996): -# * Added dec-vt220 at Adrian Garside's request. -# 9.13.23 (Fri Feb 21 16:36:06 EST 1997): -# * Replaced minitel-2 entry. -# * Added MGR, ansi-nt. -# * Minor corrections to xterm entries. -# * Replaced EWAN telnet entry. -# * Dropped the reorder script generator. It was a fossil. -# 9.13.24 (Sun Feb 23 20:55:23 EST 1997): -# * Thorsten Lockert added termcap `bs' to a lot of types, working from -# the 4.4BSD Lite2 file. -# 9.13.25 (Fri Jun 20 12:33:36 EDT 1997): -# * Added Datapoint 8242, pilot, ansi_psx, rbcomm, vt220js. -# * Updated iris-ansi; corrected vt102-w. -# * Switch base xterm entry to 3.3 level. -# 9.13.26 (Mon Jun 30 22:45:45 EDT 1997) -# * Added basic4. -# * Removed rmir/smir from tv92B. -# -# 10.2.0 (Sat Feb 28 12:47:36 EST 1998): -# * add hds200 description (Walter Skorski) -# * add beterm entry (Fred Fish) -# * add Thomas Dickey's xterm-xf86-v40, xterm-8bit, xterm-16color, -# iris-color entries. -# * add emx entries. -# * Replaced unixpc entry with Benjamin Sittler's corrected version. -# * Replaced xterm/rxvt/emu/syscons entries with Thomas Dickey's -# versions. -# * remove sgr string from qnx based on report by Xiaodan Tang -# * Added u8/u9, removed rmul/smul from sun-il. -# * 4.2 tic displays \0 rather than \200. -# * add linux-koi8r to replace linux-koi8 (which uses a corrupt acsc, -# apparently based on cp-866). -# * Merged in Pavel Roskin's acsc for linux-koi8 -# * Corrected some erroneous \\'s to \. -# * 4.2 ncurses has been changed to use setaf/setab, consistent w/SysV. -# * II -> ii in pcvtXX, screen, xterm. -# * Removed \n chars following ANSI escapes in sgr & friends. -# * Updated Wyse entries. -# * h19 corrections from Tim Pierce. -# * Noted that the dm2500 has both ich and smir. -# * added pccons for the Alpha under OSF/1. -# * Added Sony NEWS workstation entries and cit101e-rv. -# * Reverted `amiga'; to Kent Polk's version, as I'm told -# the Verkuil entry messes up with Amiga Telnet. -# 10.2.1 (Sun Mar 8 18:32:04 EST 1998): -# * Corrected attributions in 10.2.0 release notes. -# * Scanned the Shuford archive for new terminfos and information. -# * Removed sgr from qnx entry (Thomas Dickey). -# * Added entries for ICL and Kokusai Data Systems terminals. -# * Incorporated NCR terminfos from the Boundless Technology FTP site. -# * Incorporated att700 from the Boundless Technology FTP site. -# * Miscellaneous contact-address and Web-page updates. -# -# 1998/5/9 -# * add nxterm and xterm-color terminfo description (request by Cristian -# Gafton ). -# * modify rxvt terminfo description to clear alternate screen before -# switching back to normal screen, for compatibility with applications -# which use xterm (reported by Manoj Kasichainula ). -# * modify linux terminfo description to reset color palette (reported -# by Telford Tendys ). -# -# 1998/7/4 -# * merge changes from current XFree86 xterm terminfo descriptions. -# -# 1998/7/25 -# * Added minitel1 entries from Alexander Montaron. -# * Added qnxt2 from Federico Bianchi. -# * Added arm100 terminfo entries from Dave Millen. -# -# 1998/8/6 -# * Added ncsa telnet entries from Francesco Potorti -# -# 1998/8/15 -# * modify ncsa telnet entry to reflect color, other capabilities based on -# examination of the source code - T.Dickey. -# -# 1998/8/22 -# * Corrected some erroneous \\'s to \ (eterm, osborne) - TD. -# -# 1998/8/29 -# * Added Francesco Potorti's tuned Wyse 99 entries. -# * dtterm enacs correction from Alexander V. Lukyanov. -# * Add ncsa-ns, ncsa-m-ns and ncsa-m entries from esr version. -# * correct a typo in icl6404 entry. -# * add xtermm and xtermc -# -# 1998/9/26 -# * format most %'char' sequences to %{number} -# * adapt IBM AIX 3.2.5 terminfo - T.Dickey -# * merge Data General terminfo from Hasufin - TD -# -# 1998/10/10 -# * update xterm-xfree86 to current (patch 84), for is2/rs2 changes - TD -# * correct initialization string in xterm-r5, add misc other features -# to correspond with xterm patch 84 - TD -# -# 1998/12/19 -# * update xterm-xfree86 to current (patch 90), smcur/rmcur changes - TD -# * add Mathew Vernon's mach console entries -# * corrections for ncsa function-keys (report by Larry Virden) -# -# 1998/12/19 -# * change linux to use ncv#2, since underline does not work with color - TD -# -# 1999/1/9 -# * add kbt to iris-ansi, document other shift/control functionkeys - TD -# * correct iris-ansi and iris-ansi-ap with respect to normal vs keypad -# application modes, change kent to use the correct keypad code - TD -# -# 1999/1/10 -# * add entry for Tera Term - TD -# -# 1999/1/23 -# * minor improvements for teraterm entry - TD -# * rename several entries used by BSDI: bsdos to bsdos-pc-nobold, -# and bsdos-bold to bsdos-pc (Jeffrey C Honig) -# -# 1999/2/20 -# * resolve ambiguity of kend/kll/kslt and khome/kfnd/kich1 strings in -# xterm and ncsa entries by removing the unneeded ones. Note that -# some entries will return kend & khome versus kslt and kfnd, for -# PC-style keyboards versus strict vt220 compatiblity - TD -# -# 1999/3/13 -# * adjust xterm-xfree86 khome/kend to match default PC-style keyboard -# tables - TD -# * add 'crt' entry - TD -# * correct typos in 'linux-c' entry - TD -# -# 1999/3/14 -# * update entries for BSD/OS console to use klone+sgr and klone+color -# (Jeffrey C Honig) -# -# 1999/3/27 -# * adjust xterm-xfree86 miscellaneous keypad keys, as per patch #94 - TD. -# -# 1999/4/10 -# * add linux-lat, from RedHat patches to ncurses 4.2 -# -# 1999/4/17 -# * add complete set of default function-key definitions for scoansi - TD. -# -# 1999/7/3 -# * add cnorm, cvvis for Linux 2.2 kernels -# -# 1999/7/24 -# * add kmous to xterm-r5 -TD -# * correct entries xterm+sl and xterm+sl-twm, which were missing the -# parent "use" clause -TD -# -# 1999/7/31 -# * corrected cnorm, added el1 in 'screen' description -TD -# -# 1999/8/14 -# * add ms-vt100 -TD -# -# 1999/8/21 -# * corrections to beterm entry -TD -# -# 1999/8/28 -# * add cygwin entry -TD -# -# 1999/9/4 -# * minor corrections for beterm entry -TD -# -# 1999/9/18 -# * add acsc string to HP 70092 terminfo entry -Joerg Wunsch -# -# 1999/9/25 -# * add amiga-8bit entry -# * add console entries from NetBSD: ofcons, wsvt25, wsvt25m, rcons, -# rcons-color, based on -# ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/share/termcap/termcap.src -# * add alias for iris-ansi-net -# -# 1999/10/2 -# * corrected scoansi entry's acsc, some function keys, add color -TD -# -# 1999/10/23 -# * add cnorm, cvvis to cons25w, and modify ncv to add 'dim' -TD -# * reorder ncsa entries to make ncsa-vt220 use the alternate function -# key mapping, leaving Potorti's entries more like he named them -TD -# * remove enter/exit am-mode from cygwin -TD -# -# 1999/10/30 -# * correct typos in several entries (missing '[' from CSI): -# mgr-sun, ncsa-m, vt320-k3, att505, avt-ns, as well as smir/rmir -# strings for avt-ns -TD -# * add 'dim' to ncv mask for linux (report by Klaus Weide). -# -# 1999/11/27 -# * correct kf1-kf4 in xterm-r6 which were vt100-style PF1-PF4 -TD -# * add hts to xterm-r6, and u6-u9 to xterm-r5 -TD -# * add xterm-88color and xterm-256color -TD -# -# 1999/12/4 -# * add "obsolete" termcap strings -TD -# * add kvt and gnome entries -TD -# -# 1999/12/11 -# * correct cup string for regent100 -TD -# -# 2000/1/1 -# * update mach, add mach-color based on Debian diffs for ncurses 5.0 -TD -# * add entries for xterm-hp, xterm-vt220, xterm-vt52 and xterm-noapp -TD -# * change OTrs capabilities to rs2 -TD -# * add obsolete and extended capabilities to 'screen' -TD -# -# 2000/1/5 -# * remove kf0 from rxvt, vt520, vt525 and ibm5151 since it conflicts -# with kf10 -TD -# * updated xterm-xf86-v40, making kdch1 correspond to vt220 'Remove', -# and adding kcbt -TD -# -# 2000/1/12 -# * remove incorrect khome/kend from xterm-xf86-v333, which was based on -# nonstandard resource settings -TD -# -# 2000/2/26 -# * minor fixes for xterm-*, based on Debian #58530 -TD -# -# 2000/3/4 -# * add several terminal types from esr's "11.0", as well as comments. -# bq300*, dku7102-old, dku7202, hft, lft, pcmw, pmcons, tws*, vip*, -# vt220-8bit, vt220-old, wy85-8bit -# -# 2000/3/18 -# * add several terminal types from esr's "11.0.1" (ansi-*). -# * update OTxx capabilities for changes on 2000/3/4. -# * revert part of vt220 change (request by Todd C Miller for OpenBSD) -# -# 2000/3/26 -# * move screen's AX extension to ecma+color, modify several entries to -# use that, adjusting ncv as needed -TD -# -# 2000/4/8 -# * add bsdos-pc-m, bsdos-pc-mono (Jeffrey C Honig) -# * correct spelling error in entry name: bq300-rv was given as bg300-rv -# in esr's version. -# -# 2000/4/15 -# * add cud, ech, etc., to beterm based on feedback from Rico Tudor -TD -# * correct color definition for ibm3164, make minor changes to other -# IBM terminal definitions based on recent terminfo descriptions -TD -# -# 2000/4/22 -# * add mgterm, from NetBSD -TD -# * add alias sun-cgsix for sun-ss5 as per NetBSD -# * change cons25w to use rs2 for reset rather than rs1 -TD -# * add rc/sc to aixterm based on manpage -TD -# -# 2000/5/13 -# * remove ncv from xterm-16color, xterm-256 color -# -# 2000/6/10 -# * add kmous capability to linux to use Joerg Schoen's gpm patch. -# -# 2000/7/1 -# * add Eterm (Michael Jennings) -# -# 2000-07-18 -# * add amiga-vnc entry. -# -# 2000-08-12 -# * correct description of Top Gun Telnet. -# * add kterm-color -# -# 2000-08-26 -# * add qansi* entries from QNX ftp site. -# -# 2000-09-16 -# * add Matrix Orbital entries by Eric Z. Ayers). -# * add xterm-basic, xterm-sco entries, update related entries to XFree86 -# 4.0.1c -TD -# -# 2000-09-17 -# * add S0, E0 extensions to screen's entry -TD -# -# 2000-09-23 -# * several corrections based on tic's new parameter-checking code -TD -# * modify xterm-r6 and similar rs2 sequences which had \E7...\E8 -# bracketing sequences that reset video attributes (\E8 would restore -# them) -TD -# -# 2000-11-11 -# * rename cygwin to cygwinB19, adapt newer entry from Earnie Boyd -TD -# -# 2000-12-16 -# * improved scoansi, based on SCO man-page, and testing console, -# scoterm with tack -TD -# -# 2001-01-27 -# * modify kterm to use acsc via SCS controls. -# -# 2001-02-10 -# * screen 3.9.8 allows xterm mouse controls to pass-through -# -# 2001-03-11 -# * remove spurious "%|" from some xterm entries. -# -# 2001-03-31 -# * modify 'screen' khome/kend to match screen 3.09.08 -# * add examples of 'screen' customization (screen.xterm-xfree86, -# screen.xterm-r6, screen.teraterm) -TD -# -# 2001-04-14 -# * correct definitions of shifted editing keys for xterm-xfree86 -TD -# * add "Apple_Terminal" entries -Benjamin Sittler -# * remove time-delays from "Apple_Terminal" entries -TD -# * make sgr entries time-delays consistent with individual caps -TD -# -# 2001-05-05 -# * corrected/updated screen.xterm-xfree86 -# -# 2001-05-19 -# * ELKS descriptions, from Federico Bianchi -# * add u6 (CSR) to Eterm (Michael Jennings). -# -# 2001-07-21 -# * renamed "Apple_Terminal" entries to "nsterm" to work with Solaris's -# tic which handles names no longer than 14 characters. Add -# corresponding descriptions for the Darwin PowerPC console named -# "xnuppc" -Benjamin Sittler -# -# 2001-09-01 -# * change kbs in mach entries to ^? (Marcus Brinkmann). -# -# 2001-11-17 -# * add "putty" entry -TD -# * updated "Apple_Terminal" entries -Benjamin Sittler -# -# 2001-11-24 -# * add ms-vt100-color entry -TD -# * add "konsole" entries -TD -# -# 2001-12-08 -# * update gnome entry to Redhat 7.2 -TD -# -# 2002-05-25 -# * add kf13-kf48 strings to cons25w -TD -# * add pcvt25-color entry -TD -# * changed a few /usr/lib/tabset -> /usr/local/share/tabset. -# * improve some features of scoansi entry based on SCO's version -TD -# * add scoansi-new entry corresponding to OpenServer 5.0.6 -# -# 2002-06-15 -# * add kcbt to screen entry -TD -# -# 2002-06-22 -# * add rxvt-16color, ibm+16color, mvterm entries -TD -# -# 2002-09-28 -# * split out linux-basic entry, making linux-c inherit from that, and -# in turn linux (with cnorm, etc) inherit from linux-c-nc to reflect -# the history of this console type -TD -# * scaled the linux-c terminfo entry to match linux-c-nc, i.e., the -# r/g/b parameters of initc are in the range 0 to 1000 -TD -# -# 2002-10-05 -# * minor fix for scale-factor of linux-c and linux-c-nc -TD -# -# 2002-11-09 -# * split-out vt100+keypad and vt220+keypad, fix interchanged ka3/kb2 -# in the latter -TD -# -# 2002-11-16 -# * add entries for mterm (mterm, mterm-ansi, decansi) -TD -# * ncr260wy350pp has only 16 color pairs -TD -# * add sun-type4 from NetBSD -TD -# * update xterm-xfree86 to current (patch 170) -TD -# * add screen-bce, screen-s entries -TD -# * add xterm-1002, xterm-1003 entries -TD -# -# 2003-01-11 -# * update homepage for Top Gun Telnet/SSH -# -# 2003-01-25 -# * reduce duplication in emx entries, added emx-base -TD -# -# 2003-05-24 -# * corrected acs for screen.teraterm -TD -# * add tkterm entry -TD -# -# 2003-07-15 -# * cygwin changes from Charles Wilson: -# misc/terminfo.src (nxterm|xterm-color): make xterm-color -# primary instead of nxterm, to match XFree86's xterm.terminfo -# usage and to prevent circular links. -# (rxvt): add additional codes from rxvt.org. -# (rxvt-color): new alias -# (rxvt-xpm): new alias -# (rxvt-cygwin): like rxvt, but with special acsc codes. -# (rxvt-cygwin-native): ditto. rxvt may be run under XWindows, or -# with a "native" MSWin GUI. Each takes different acsc codes, -# which are both different from the "normal" rxvt's acsc. -# (cygwin): cygwin-in-cmd.exe window. Lots of fixes. -# (cygwinDBG): ditto. -# -# 2003-09-27 -# * update gnome terminal entries -TD -# -# 2003-10-04 -# * add entries for djgpp 2.03 and 2.04 -TD -# -# 2003-10-25 -# * add alias for vtnt -TD -# * update xterm-xfree86 for XFree86 4.4 -TD -# -# 2003-11-22 -# * add linux-vt (Andrey V Lukyanov) -# -# 2003-12-20 -# * add screen.linux -TD -# -# 2004-01-10 -# * revised/improved entries for tvi912b, tvi920b (Benjamin Sittler) -# -# 2004-01-17 -# * add OpenNT/Interix/SFU entries (Federico Bianchi) -# * add vt100+ and vt-utf8 entries -TD -# * add uwin entry -TD -# -# 2004-03-27 -# * add sgr strings to several common entries lacking them, e.g., -# screen, to make the entries more portable -TD -# * remove cvvis from rxvt entry, since it is the same as cnorm -TD -# * similar fixups for cvvis/cnorm various entries -TD -# -# 2004-05-22 -# * remove 'ncv' from xterm-256color (patch 188) -TD -# -# 2004-06-26 -# * add mlterm -TD -# * add xterm-xf86-v44 -TD -# * modify xterm-new aka xterm-xfree86 to accommodate luit, which relies -# on G1 being used via an ISO-2022 escape sequence (report by -# Juliusz Chroboczek) -TD -# * add 'hurd' entry -TD -# -# 2004-07-03 -# * make xterm-xf86-v43 derived from xterm-xf86-v40 rather than -# xterm-basic -TD -# * align with xterm #192's use of xterm-new -TD -# * update xterm-new and xterm-8bit for cvvis/cnorm strings -TD -# * make xterm-new the default "xterm" -TD -# -# 2004-07-10 -# * minor fixes for emu -TD -# * add emu-220 -# * add rmam/smam to linux (Trevor Van Bremen) -# * change wyse acsc strings to use 'i' map rather than 'I' -TD -# * fixes for avatar0 -TD -# * fixes for vp3a+ -TD -# -# 2004-07-17 -# * add xterm-pc-fkeys -TD -# * review/update gnome and gnome-rh90 entries (prompted by -# Redhat Bugzilla #122815) -TD -# * review/update konsole entries -TD -# * add sgr, correct sgr0 for kterm and mlterm -TD -# * correct tsl string in kterm -TD -# -# 2004-07-24 -# * make ncsa-m rmacs/smacs consistent with sgr -TD -# * add sgr, rc/sc and ech to syscons entries -TD -# * add function-keys to decansi -TD -# * add sgr to mterm-ansi -TD -# * add sgr, civis, cnorm to emu -TD -# * correct/simplify cup in addrinfo -TD -# * corrections for gnome and konsole entries -# (Redhat Bugzilla #122815) -Hans de Goede -# * modify DEC entries (vt220, etc), to add sgr string, and to use -# ISO-2022 strings for rmacs/smacs -TD -# -# 2004-07-31 -# * rename xterm-pc-fkeys to xterm+pcfkeys -TD -# -# 2004-08-07 -# * improved putty entry -Robert de Bath -# -# 2004-08-14 -# * remove dch/dch1 from rxvt because they are implemented inconsistently -# with the common usage of bce/ech -TD -# * remove khome from vt220 (vt220's have no home key) -TD -# * add rxvt+pcfkeys -TD -# -# 2004-08-21 -# * modify several entries to ensure xterm mouse and cursor visibility -# are reset in rs2 string: hurd, putty, gnome, konsole-base, mlterm, -# Eterm, screen. (The xterm entries are left alone - old ones for -# compatibility, and the new ones do not require this change) -TD -# -# 2004-08-28 -# * add morphos entry -Pavel Fedin -# * modify amiga-8bit to add khome/kend/knp/kpp -Pavel Fedin -# * corrected \E[5?l to \E[?5l in vt320 entries -TD -# -# 2004-11-20 -# * update wsvt25 entry -TD -# -# 2005-01-29 -# * update pairs for xterm-88color and xterm-256color to reflect the -# ncurses extended-color support -TD -# -# 2005-02-26 -# * modify sgr/sgr0 in xterm-new to improve tgetent's derived "me" -TD -# * add aixterm-16color to demonstrate 16-color capability -TD -# -# 2005-04-23 -# * add media-copy to vt100 -TD -# * corrected acsc string for vt52 -TD -# -# 2005-04-30 -# * add kUP, kDN (user-defined shifted up/down arrow) definitions for -# xterm-new -TD -# * add kUP5, kUP6, etc., for xterm-new and rxvt -TD -# -# 2005-05-07 -# * re-corrected acsc string for vt52 -TD -# -# 2005-05-28 -# * corrected sun-il sgr string which referred to bold and underline -TD -# * add sun-color entry -TD -# -# 2005-07-23 -# * modify sgr0 in several entries to reset alternate-charset as in the -# sgr string -TD -# * modify sgr string of prism9 to better match the individual -# attributes -TD -# -# The following sets edit modes for GNU EMACS. -# Local Variables: -# fill-prefix:"\t" -# fill-column:75 -# comment-column:0 -# comment-start-skip:"^#+" -# comment-start:"# " -# compile-command:"tic -c terminfo.master" -# End: -######## SHANTIH! SHANTIH! SHANTIH! diff --git a/src/libs/ncurses/mk-0th.awk b/src/libs/ncurses/mk-0th.awk deleted file mode 100644 index fe91cca689..0000000000 --- a/src/libs/ncurses/mk-0th.awk +++ /dev/null @@ -1,109 +0,0 @@ -# $Id: mk-0th.awk,v 1.17 2005/01/22 16:31:40 tom Exp $ -############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996,1997 -# -# Generate list of sources for a library, together with lint/lintlib rules -# -# Variables: -# libname (library name, e.g., "ncurses", "panel", "forms", "menus") -# subsets (is used here to decide if wide-character code is used) -# -BEGIN { - using = 0; - found = 0; - } - !/^[@#]/ { - if (using == 0) - { - print "" - print "# generated by mk-0th.awk" - printf "# libname: %s\n", libname - printf "# subsets: %s\n", subsets - print "" - print ".SUFFIXES: .c .cc .h .i .ii" - print ".c.i :" - printf "\t$(CPP) $(CPPFLAGS) $< >$@\n" - print ".cc.ii :" - printf "\t$(CPP) $(CPPFLAGS) $< >$@\n" - print ".h.i :" - printf "\t$(CPP) $(CPPFLAGS) $< >$@\n" - print "" - using = 1; - } - if ( $0 != "" && $1 != "link_test" ) - { - if ( found == 0 ) - { - if ( subsets ~ /widechar/ ) - widechar = 1; - else - widechar = 0; - printf "C_SRC =" - if ( $2 == "lib" ) - found = 1 - else - found = 2 - } - if ( libname == "c++" || libname == "c++w" ) { - printf " \\\n\t%s/%s.cc", $3, $1 - } else if ( widechar == 1 || $3 != "$(wide)" ) { - printf " \\\n\t%s/%s.c", $3, $1 - } - } - } -END { - print "" - if ( found == 1 ) - { - print "" - printf "# Producing llib-l%s is time-consuming, so there's no direct-dependency for\n", libname - print "# it in the lintlib rule. We'll only remove in the cleanest setup." - print "clean ::" - printf "\trm -f llib-l%s.*\n", libname - print "" - print "realclean ::" - printf "\trm -f llib-l%s\n", libname - print "" - printf "llib-l%s : $(C_SRC)\n", libname - printf "\tcproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(C_SRC) >$@\n" - print "" - print "lintlib :" - printf "\tsh $(srcdir)/../misc/makellib %s $(CPPFLAGS)", libname - print "" - print "lint :" - print "\t$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(C_SRC) $(LINT_LIBS)" - } - else - { - print "" - print "lintlib :" - print "\t@echo no action needed" - } - } diff --git a/src/libs/ncurses/mk-1st.awk b/src/libs/ncurses/mk-1st.awk deleted file mode 100644 index cf7817d229..0000000000 --- a/src/libs/ncurses/mk-1st.awk +++ /dev/null @@ -1,390 +0,0 @@ -# $Id: mk-1st.awk,v 1.65 2005/06/18 19:15:57 tom Exp $ -############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey -# -# Generate list of objects for a given model library -# Variables: -# name (library name, e.g., "ncurses", "panel", "forms", "menus") -# traces ("all" or "DEBUG", to control whether tracing is compiled in) -# MODEL (e.g., "DEBUG", uppercase; toupper is not portable) -# model (directory into which we compile, e.g., "obj") -# prefix (e.g., "lib", for Unix-style libraries) -# suffix (e.g., "_g.a", for debug libraries) -# subset ("none", "base", "base+ext_funcs" or "termlib") -# ShlibVer ("rel", "abi" or "auto", to augment DoLinks variable) -# ShlibVerInfix ("yes" or "no", determines location of version #) -# DoLinks ("yes", "reverse" or "no", flag to add symbolic links) -# rmSoLocs ("yes" or "no", flag to add extra clean target) -# ldconfig (path for this tool, if used) -# overwrite ("yes" or "no", flag to add link to libcurses.a -# depend (optional dependencies for all objects, e.g, ncurses_cfg.h) -# host (cross-compile host, if any) -# -# Notes: -# CLIXs nawk does not like underscores in command-line variable names. -# Mixed-case is ok. -# HP/UX requires shared libraries to have executable permissions. -# -function symlink(src,dst) { - if ( src != dst ) { - printf "rm -f %s; ", dst - printf "$(LN_S) %s %s; ", src, dst - } - } -function rmlink(directory, dst) { - printf "\t-rm -f %s/%s\n", directory, dst -} -function removelinks(directory) { - rmlink(directory, end_name); - if ( DoLinks == "reverse" ) { - if ( ShlibVer == "rel" ) { - rmlink(directory, abi_name); - rmlink(directory, rel_name); - } else if ( ShlibVer == "abi" ) { - rmlink(directory, abi_name); - } - } else { - if ( ShlibVer == "rel" ) { - rmlink(directory, abi_name); - rmlink(directory, lib_name); - } else if ( ShlibVer == "abi" ) { - rmlink(directory, lib_name); - } - } - } -function sharedlinks(directory) { - if ( ShlibVer != "auto" && ShlibVer != "cygdll" ) { - printf "\tcd %s && (", directory - if ( DoLinks == "reverse" ) { - if ( ShlibVer == "rel" ) { - symlink(lib_name, abi_name); - symlink(abi_name, rel_name); - } else if ( ShlibVer == "abi" ) { - symlink(lib_name, abi_name); - } - } else { - if ( ShlibVer == "rel" ) { - symlink(rel_name, abi_name); - symlink(abi_name, lib_name); - } else if ( ShlibVer == "abi" ) { - symlink(abi_name, lib_name); - } - } - printf ")\n" - } - } -BEGIN { - found = 0 - using = 0 - } - /^@/ { - using = 0 - if (subset == "none") { - using = 1 - } else if (index(subset,$2) > 0) { - if (using == 0) { - if (found == 0) { - print "" - printf "# generated by mk-1st.awk (subset=%s)\n", subset - printf "# name: %s\n", name - printf "# traces: %s\n", traces - printf "# MODEL: %s\n", MODEL - printf "# model: %s\n", model - printf "# prefix: %s\n", prefix - printf "# suffix: %s\n", suffix - printf "# subset: %s\n", subset - printf "# ShlibVer: %s\n", ShlibVer - printf "# ShlibVerInfix: %s\n", ShlibVerInfix - printf "# DoLinks: %s\n", DoLinks - printf "# rmSoLocs: %s\n", rmSoLocs - printf "# ldconfig: %s\n", ldconfig - printf "# overwrite: %s\n", overwrite - printf "# depend: %s\n", depend - printf "# host: %s\n", host - print "" - } - using = 1 - } - if ( subset == "termlib" || subset == "termlib+ext_tinfo" ) { - OBJS = MODEL "_T" - } else { - OBJS = MODEL - } - } - } - /^[@#]/ { - next - } - $1 ~ /trace/ { - if (traces != "all" && traces != MODEL && $1 != "lib_trace") - next - } - { - if (using \ - && ( $1 != "link_test" ) \ - && ( $2 == "lib" \ - || $2 == "progs" \ - || $2 == "c++" \ - || $2 == "tack" )) - { - if ( found == 0 ) - { - printf "%s_OBJS =", OBJS - if ( $2 == "lib" ) - found = 1 - else - found = 2 - } - printf " \\\n\t../%s/%s$o", model, $1 - } - } -END { - print "" - if ( found != 0 ) - { - printf "\n$(%s_OBJS) : %s\n", OBJS, depend - } - if ( found == 1 ) - { - print "" - lib_name = sprintf("%s%s%s", prefix, name, suffix) - if ( MODEL == "SHARED" ) - { - if (ShlibVerInfix == "cygdll") { - abi_name = sprintf("%s%s$(ABI_VERSION)%s", "cyg", name, suffix); - rel_name = sprintf("%s%s$(REL_VERSION)%s", "cyg", name, suffix); - imp_name = sprintf("%s%s%s.a", prefix, name, suffix); - } else if (ShlibVerInfix == "yes") { - abi_name = sprintf("%s%s.$(ABI_VERSION)%s", prefix, name, suffix); - rel_name = sprintf("%s%s.$(REL_VERSION)%s", prefix, name, suffix); - } else { - abi_name = sprintf("%s.$(ABI_VERSION)", lib_name); - rel_name = sprintf("%s.$(REL_VERSION)", lib_name); - } - if ( DoLinks == "reverse") { - end_name = lib_name; - } else { - if ( ShlibVer == "rel" ) { - end_name = rel_name; - } else if ( ShlibVer == "abi" || ShlibVer == "cygdll" ) { - end_name = abi_name; - } else { - end_name = lib_name; - } - } - - if ( ShlibVer == "cygdll" ) { - dst_dirs = "$(DESTDIR)$(bindir) $(DESTDIR)$(libdir)"; - printf "$(SHARED_LIB) $(IMPORT_LIB) : $(%s_OBJS)\n", OBJS; - print "\t-@rm -f $(SHARED_LIB) $(IMPORT_LIB)"; - } else { - dst_dirs = "$(DESTDIR)$(libdir)"; - printf "../lib/%s : $(%s_OBJS)\n", end_name, OBJS - print "\t-@rm -f $@"; - } - if ( subset == "termlib" || subset == "termlib+ext_tinfo" ) { - printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(TINFO_LIST) $(LDFLAGS)\n", OBJS - } else { - printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(SHLIB_LIST) $(LDFLAGS)\n", OBJS - } - sharedlinks("../lib") - - print "" - print "install \\" - print "install.libs \\" - printf "install.%s :: %s $(LIBRARIES)\n", name, dst_dirs - - if ( ShlibVer == "cygdll" ) { - - src_name = sprintf("../lib/%s", end_name); - dst_name = sprintf("$(DESTDIR)$(bindir)/%s", end_name); - printf "\t@echo installing %s as %s\n", src_name, dst_name - printf "\t-@rm -f %s\n", dst_name - printf "\t$(INSTALL_LIB) %s %s\n", src_name, dst_name - - src_name = sprintf("../lib/%s", imp_name); - dst_name = sprintf("$(DESTDIR)$(libdir)/%s", imp_name); - printf "\t@echo installing %s as %s\n", src_name, dst_name - printf "\t-@rm -f %s\n", dst_name - printf "\t$(INSTALL_LIB) %s %s\n", src_name, dst_name - - } else { - - src_name = sprintf("../lib/%s", end_name); - dst_name = sprintf("$(DESTDIR)$(libdir)/%s", end_name); - printf "\t@echo installing %s as %s\n", src_name, dst_name - printf "\t-@rm -f %s\n", dst_name - printf "\t$(INSTALL_LIB) %s %s\n", src_name, dst_name - - sharedlinks("$(DESTDIR)$(libdir)") - - } - - if ( overwrite == "yes" && name == "ncurses" ) - { - if ( ShlibVer == "cygdll" ) { - ovr_name = sprintf("libcurses%s.a", suffix) - printf "\t@echo linking %s to %s\n", imp_name, ovr_name - printf "\tcd $(DESTDIR)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, imp_name, ovr_name - } else { - ovr_name = sprintf("libcurses%s", suffix) - printf "\t@echo linking %s to %s\n", end_name, ovr_name - printf "\tcd $(DESTDIR)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, end_name, ovr_name - } - } - if ( ldconfig != "" ) { - printf "\t- test -z \"$(DESTDIR)\" && %s\n", ldconfig - } - print "" - print "uninstall \\" - print "uninstall.libs \\" - printf "uninstall.%s ::\n", name - if ( ShlibVer == "cygdll" ) { - - printf "\t@echo uninstalling $(DESTDIR)$(bindir)/%s\n", end_name - printf "\t-@rm -f $(DESTDIR)$(bindir)/%s\n", end_name - - printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", imp_name - printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", imp_name - - } else { - printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", end_name - removelinks("$(DESTDIR)$(libdir)") - if ( overwrite == "yes" && name == "ncurses" ) - { - if ( ShlibVer == "cygdll" ) { - ovr_name = sprintf("libcurses%s.a", suffix) - } else { - ovr_name = sprintf("libcurses%s", suffix) - } - printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", ovr_name - } - } - if ( rmSoLocs == "yes" ) { - print "" - print "mostlyclean \\" - print "clean ::" - printf "\t-@rm -f so_locations\n" - } - } - else if ( MODEL == "LIBTOOL" ) - { - if ( $2 == "c++" ) { - compile="CXX" - } else { - compile="CC" - } - end_name = lib_name; - printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS - printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(SHLIB_LIST)\n", compile, lib_name, OBJS - print "" - print "install \\" - print "install.libs \\" - printf "install.%s :: $(DESTDIR)$(libdir) ../lib/%s\n", name, lib_name - printf "\t@echo installing ../lib/%s as $(DESTDIR)$(libdir)/%s\n", lib_name, lib_name - printf "\tcd ../lib; $(LIBTOOL_INSTALL) $(INSTALL) %s $(DESTDIR)$(libdir)\n", lib_name - print "" - print "uninstall \\" - print "uninstall.libs \\" - printf "uninstall.%s ::\n", name - printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", lib_name - printf "\t-@$(LIBTOOL_UNINSTALL) rm -f $(DESTDIR)$(libdir)/%s\n", lib_name - } - else - { - end_name = lib_name; - printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS - printf "\t$(AR) $(AR_OPTS) $@ $?\n" - printf "\t$(RANLIB) $@\n" - if ( host == "vxworks" ) - { - printf "\t$(LD) $(LD_OPTS) $? -o $(@:.a=$o)\n" - } - print "" - print "install \\" - print "install.libs \\" - printf "install.%s :: $(DESTDIR)$(libdir) ../lib/%s\n", name, lib_name - printf "\t@echo installing ../lib/%s as $(DESTDIR)$(libdir)/%s\n", lib_name, lib_name - printf "\t$(INSTALL_DATA) ../lib/%s $(DESTDIR)$(libdir)/%s\n", lib_name, lib_name - if ( overwrite == "yes" && lib_name == "libncurses.a" ) - { - printf "\t@echo linking libcurses.a to libncurses.a\n" - printf "\t-@rm -f $(DESTDIR)$(libdir)/libcurses.a\n" - printf "\t(cd $(DESTDIR)$(libdir) && $(LN_S) libncurses.a libcurses.a)\n" - } - printf "\t$(RANLIB) $(DESTDIR)$(libdir)/%s\n", lib_name - if ( host == "vxworks" ) - { - printf "\t@echo installing ../lib/lib%s$o as $(DESTDIR)$(libdir)/lib%s$o\n", name, name - printf "\t$(INSTALL_DATA) ../lib/lib%s$o $(DESTDIR)$(libdir)/lib%s$o\n", name, name - } - print "" - print "uninstall \\" - print "uninstall.libs \\" - printf "uninstall.%s ::\n", name - printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", lib_name - printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", lib_name - if ( overwrite == "yes" && lib_name == "libncurses.a" ) - { - printf "\t@echo linking libcurses.a to libncurses.a\n" - printf "\t-@rm -f $(DESTDIR)$(libdir)/libcurses.a\n" - } - if ( host == "vxworks" ) - { - printf "\t@echo uninstalling $(DESTDIR)$(libdir)/lib%s$o\n", name - printf "\t-@rm -f $(DESTDIR)$(libdir)/lib%s$o\n", name - } - } - print "" - print "clean ::" - removelinks("../lib"); - print "" - print "mostlyclean::" - printf "\t-rm -f $(%s_OBJS)\n", OBJS - if ( MODEL == "LIBTOOL" ) { - printf "\t-$(LIBTOOL_CLEAN) rm -f $(%s_OBJS:$o=.lo)\n", OBJS - } - } - else if ( found == 2 ) - { - print "" - print "mostlyclean::" - printf "\t-rm -f $(%s_OBJS)\n", OBJS - if ( MODEL == "LIBTOOL" ) { - printf "\t-$(LIBTOOL_CLEAN) rm -f $(%s_OBJS:$o=.lo)\n", OBJS - } - print "" - print "clean ::" - printf "\t-rm -f $(%s_OBJS)\n", OBJS - if ( MODEL == "LIBTOOL" ) { - printf "\t-$(LIBTOOL_CLEAN) rm -f $(%s_OBJS:$o=.lo)\n", OBJS - } - } - } diff --git a/src/libs/ncurses/mk-2nd.awk b/src/libs/ncurses/mk-2nd.awk deleted file mode 100644 index 1f63763522..0000000000 --- a/src/libs/ncurses/mk-2nd.awk +++ /dev/null @@ -1,146 +0,0 @@ -# $Id: mk-2nd.awk,v 1.19 2005/01/22 16:30:04 tom Exp $ -############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey -# -# Generate compile-rules for the modules that we are using in libraries or -# programs. We are listing them explicitly because we have turned off the -# suffix rules (to force compilation with the appropriate flags). We could use -# make-recursion but that would result in makefiles that are useless for -# development. -# -# Variables: -# model directory into which objects are compiled. -# MODEL (uppercase version of "model"; toupper is not portable) -# echo (yes iff we will show the $(CC) lines) -# subset ("none", "base", "base+ext_funcs" or "termlib") -# crenames ("yes" or "no", flag to control whether -c & -o options are used) -# cxxrenames ("yes" or "no", flag to control whether -c & -o options are used) -# traces ("all" or "DEBUG", to control whether tracing is compiled in) -# srcdir is expanded when "configure --srcdir" was used -# -# Fields in src/modules: -# $1 = module name -# $2 = progs|lib|c++ -# $3 = source-directory -# -# Fields in src/modules past $3 are dependencies -# -BEGIN { - found = 0 - using = 0 - } - /^@/ { - using = 0 - if (subset == "none") { - using = 1 - } else if (index(subset,$2) > 0) { - if (using == 0) { - if (found == 0) { - print "" - print "# generated by mk-2nd.awk" - printf "# model: %s\n", model - printf "# MODEL: %s\n", MODEL - printf "# echo: %s\n", echo - printf "# subset: %s\n", subset - printf "# crenames: %s\n", crenames - printf "# cxxrenames: %s\n", cxxrenames - printf "# traces: %s\n", traces - printf "# srcdir: %s\n", srcdir - } - using = 1 - } - } - } - /^[@#]/ { - next - } - $1 ~ /trace/ { - if (traces != "all" && traces != MODEL && $1 != "lib_trace") - next - } - { - if ($0 != "" \ - && using != 0) { - found = 1 - if ( $1 != "" ) { - print "" - if ( $2 == "c++" ) { - compile="CXX" - suffix=".cc" - use_c_o=cxxrenames - } else { - compile="CC" - suffix=".c" - use_c_o=crenames - } - printf "../%s/%s$o :\t%s/%s%s", model, $1, $3, $1, suffix - for (n = 4; n <= NF; n++) printf " \\\n\t\t\t%s", $n - print "" - if ( echo == "yes" ) - atsign="" - else { - atsign="@" - printf "\t@echo 'compiling %s (%s)'\n", $1, model - } - printf "\t%s", atsign; - if ( use_c_o != "yes" ) { - printf "cd ../%s; ", model; - } - # The choice here is between - # base+ext_funcs and - # termlib+ext_tinfo - # but they may appear in the same value. - if ( subset ~ /base/ ) { - mycflags="" - } else if ( subset ~ /termlib/ ) { - mycflags=" -DUSE_TERMLIB" - } - printf "$(LIBTOOL_COMPILE) $(%s) $(CFLAGS_%s)%s -c ", compile, MODEL, mycflags - if ( $3 == "." || srcdir == "." ) { - dir = $3 "/" - sub("^\\$\\(srcdir\\)/","",dir); - sub("^\\./","",dir); - printf "../%s/%s%s%s", name, dir, $1, suffix - } else { - printf "%s/%s%s", $3, $1, suffix - } - if ( use_c_o == "yes" ) { - printf " -o ../%s/%s$o", model, $1 - } - } else { - printf "%s", $1 - for (n = 2; n <= NF; n++) printf " %s", $n - } - print "" - } - } -END { - print "" - } diff --git a/src/libs/ncurses/mkinstalldirs b/src/libs/ncurses/mkinstalldirs deleted file mode 100755 index ffe7494c40..0000000000 --- a/src/libs/ncurses/mkinstalldirs +++ /dev/null @@ -1,38 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman -# Created: 1993-05-16 -# Last modified: 1994-03-25 -# Public domain -# - -errstatus=0 -umask 022 - -for file in ${1+"$@"} ; do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift - - pathcomp= - for d in ${1+"$@"} ; do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" 1>&2 - case "$pathcomp" in - [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]: ) - ;; # DOSISH systems - * ) mkdir "$pathcomp" || errstatus=$? ;; - esac - fi - - pathcomp="$pathcomp/" - done -done - -exit $errstatus - -# mkinstalldirs ends here diff --git a/src/libs/ncurses/ncurses/Jamfile b/src/libs/ncurses/ncurses/Jamfile deleted file mode 100644 index 51feb775bb..0000000000 --- a/src/libs/ncurses/ncurses/Jamfile +++ /dev/null @@ -1,199 +0,0 @@ -SubDir HAIKU_TOP src libs ncurses ncurses ; - -SetSubDirSupportedPlatforms $(HAIKU_BONE_COMPATIBLE_PLATFORMS) ; - -UseHeaders [ FDirName $(SUBDIR) $(DOTDOT) include ] : true ; -UseHeaders [ FDirName $(SUBDIR) ] : true ; - -SEARCH_SOURCE += [ FDirName $(SUBDIR) base ] ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) tinfo ] ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) trace ] ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) tty ] ; -SEARCH_SOURCE += [ FDirName $(SUBDIR) widechar ] ; - -#local defines = [ FDefines TRACE=1 ] ; -#SubDirCcFlags $(defines) ; - -StaticLibrary libncurses.a : - # main - codes.c - comp_captab.c - expanded.c - fallback.c - lib_gen.c - lib_keyname.c - names.c - unctrl.c - - # base - define_key.c - key_defined.c - keybound.c - keyok.c - lib_addch.c - lib_addstr.c - lib_beep.c - lib_bkgd.c - lib_box.c - lib_chgat.c - lib_clear.c - lib_clearok.c - lib_clrbot.c - lib_clreol.c - lib_color.c - lib_colorset.c - lib_delch.c - lib_delwin.c - lib_dft_fgbg.c - lib_echo.c - lib_endwin.c - lib_erase.c - lib_flash.c - lib_freeall.c - lib_getch.c - lib_getstr.c - lib_hline.c - lib_immedok.c - lib_inchstr.c - lib_initscr.c - lib_insch.c - lib_insdel.c - lib_insnstr.c - lib_instr.c - lib_isendwin.c - lib_leaveok.c - lib_mouse.c - lib_move.c - lib_mvwin.c - lib_newterm.c - lib_newwin.c - lib_nl.c - lib_overlay.c - lib_pad.c - lib_printw.c - lib_redrawln.c - lib_refresh.c - lib_restart.c - lib_scanw.c - lib_screen.c - lib_scroll.c - lib_scrollok.c - lib_scrreg.c - lib_set_term.c - lib_slk.c - lib_slkatr_set.c - lib_slkatrof.c - lib_slkatron.c - lib_slkatrset.c - lib_slkattr.c - lib_slkclear.c - lib_slkcolor.c - lib_slkinit.c - lib_slklab.c - lib_slkrefr.c - lib_slkset.c - lib_slktouch.c - lib_touch.c - lib_ungetch.c - lib_vline.c - lib_wattroff.c - lib_wattron.c - lib_winch.c - lib_window.c -# memmove.c - nc_panel.c - resizeterm.c - safe_sprintf.c - tries.c - version.c - vsscanf.c - wresize.c - - # tinfo - access.c - add_tries.c - alloc_entry.c - alloc_ttype.c - captoinfo.c - comp_error.c - comp_expand.c - comp_hash.c - comp_parse.c - comp_scan.c - doalloc.c - free_ttype.c - getenv_num.c - home_terminfo.c - init_keytry.c - lib_acs.c - lib_baudrate.c - lib_cur_term.c - lib_data.c - lib_has_cap.c - lib_kernel.c - lib_longname.c - lib_napms.c - lib_options.c - lib_print.c - lib_raw.c - lib_setup.c - lib_termcap.c - lib_termname.c - lib_tgoto.c - lib_ti.c - lib_tparm.c - lib_tputs.c - lib_ttyflags.c - name_match.c - parse_entry.c - read_entry.c - read_termcap.c - setbuf.c - strings.c - trim_sgr0.c - write_entry.c - - # trace - lib_trace.c -# lib_traceatr.c -# lib_tracebits.c -# lib_tracechr.c -# lib_tracedmp.c -# lib_tracemse.c -# trace_buf.c -# trace_tries.c -# trace_xnames.c -# varargs.c - visbuf.c - - # tty - hardscroll.c - hashmap.c - lib_mvcur.c - lib_tstp.c - lib_twait.c - lib_vidattr.c - tty_update.c - - # widechar -# charable.c -# lib_add_wch.c -# lib_box_set.c -# lib_cchar.c -# lib_erasewchar.c -# lib_get_wch.c -# lib_get_wstr.c -# lib_hline_set.c -# lib_in_wch.c -# lib_in_wchnstr.c -# lib_ins_wch.c -# lib_inwstr.c -# lib_pecho_wchar.c -# lib_slk_wset.c -# lib_unget_wch.c -# lib_vid_attr.c -# lib_vline_set.c -# lib_wacs.c -# lib_wunctrl.c -; - diff --git a/src/libs/ncurses/ncurses/Makefile b/src/libs/ncurses/ncurses/Makefile deleted file mode 100644 index 1357b4ea9e..0000000000 --- a/src/libs/ncurses/ncurses/Makefile +++ /dev/null @@ -1,1958 +0,0 @@ -# $Id: Makefile.in,v 1.96 2005/05/07 18:57:05 tom Exp $ -############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996-2002 -# -# Makefile for ncurses source code. -# -# This makes the following: -# programs -# includes -# libraries (normal/debug/profile/shared) -# -# The variable 'srcdir' refers to the source-distribution, and can be set with -# the configure script by "--srcdir=DIR". -# -# The rules are organized to produce the libraries for the configured models, -# and the programs with the configured default model. - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -CF_MFLAGS = - - -x = -o = .o - -MODEL = normal -DESTDIR = -top_srcdir = .. -srcdir = . -prefix = /usr/local -exec_prefix = ${prefix} -bindir = ${exec_prefix}/bin -libdir = ${exec_prefix}/lib -includedir = $(prefix)/include/ncurses -datadir = ${prefix}/share - -LIBTOOL = -LIBTOOL_CLEAN = -LIBTOOL_COMPILE = -LIBTOOL_LINK = -LIBTOOL_INSTALL = -LIBTOOL_UNINSTALL = - -INSTALL = /bin/install -c -INSTALL_LIB = /bin/install -c -m 644 -INSTALL_PROG = @INSTALL_PROG@ -INSTALL_DATA = ${INSTALL} -m 644 - -AR = ar -AR_OPTS = rv -AWK = gawk -LD = ld -LN_S = ln -s - -CC = gcc -CPP = gcc -E -CFLAGS = -O2 - -INCDIR = $(srcdir)/../include -CPPFLAGS = -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) -I. -I../include -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=199506L -DNDEBUG -I$(includedir) - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) - -BUILD_CPPFLAGS = -I../include $(CPPFLAGS) -BUILD_CC = $(CC) -BUILD_CCFLAGS = -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) -I$(INCDIR) $(BUILD_CPPFLAGS) $(CFLAGS) -BUILD_LDFLAGS = $(LDFLAGS) -BUILD_LIBS = $(LIBS) - -# The executables built in this directory are used for generating source that -# is compiled into the build, or are test-programs that are not installed. - -BUILD_EXEEXT = $x -x = - -CFLAGS_LIBTOOL = $(CCFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) -g -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) -fPIC - -CFLAGS_DEFAULT = $(CFLAGS_NORMAL) - -LINK = $(LIBTOOL) $(CC) -LDFLAGS = - -SHLIB_DIRS = -L../lib -SHLIB_LIST = $(SHLIB_DIRS) -TINFO_LIST = $(SHLIB_DIRS) - -MK_SHARED_LIB = $(CC) -o $@ -Xlinker -soname=`basename $@` -nostart -e 0 - -NCURSES_MAJOR = 5 -NCURSES_MINOR = 5 -REL_VERSION = 5.5 -ABI_VERSION = 5 - -RANLIB = ranlib - -IMPORT_LIB = -SHARED_LIB = -LIBRARIES = ../lib/libncurses.a ../lib/libncurses_g.a - -LINT = -LINT_OPTS = -LINT_LIBS = -lncurses - -FALLBACK_LIST = - -TERMINFO_CAPS = $(top_srcdir)/include/Caps - -AUTO_SRC = \ - ../include/nomacros.h \ - codes.c \ - comp_captab.c \ - expanded.c \ - fallback.c \ - init_keytry.h \ - keys.list \ - lib_gen.c \ - lib_keyname.c \ - link_test.c \ - names.c \ - unctrl.c - -TEST_DEPS = ../lib/libncurses.a -TEST_ARGS = -L../lib -lncurses -TEST_LDFLAGS = $(TEST_ARGS) - -TEST_PROGS = \ - captoinfo$x \ - hardscroll$x \ - link_test$x \ - hashmap$x \ - lib_mvcur$x - -base = $(srcdir)/base -serial = $(srcdir)/tty -tinfo = $(srcdir)/tinfo -trace = $(srcdir)/trace -wide = $(srcdir)/widechar - -################################################################################ -all \ -libs :: $(AUTO_SRC) ../lib $(LIBRARIES) - -sources: $(AUTO_SRC) - -$(DESTDIR)$(bindir) \ -$(DESTDIR)$(libdir) : - sh $(srcdir)/../mkinstalldirs $@ - -../lib : ; mkdir $@ - -fallback.c : $(tinfo)/MKfallback.sh - sh $(tinfo)/MKfallback.sh /usr/local/share/terminfo ${top_srcdir}/misc/terminfo.src $(FALLBACK_LIST) >$@ - -lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h - sh $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@ - -../include/nomacros.h : $(base)/MKlib_gen.sh ../include/curses.h - sh $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h | \ - fgrep undef >$@ - -init_keytry.h: make_keys$(BUILD_EXEEXT) keys.list - ./make_keys$(BUILD_EXEEXT) keys.list > $@ - -keys.list : $(tinfo)/MKkeys_list.sh - AWK=$(AWK) sh $(tinfo)/MKkeys_list.sh $(TERMINFO_CAPS) | sort >$@ - -make_keys$(BUILD_EXEEXT) : \ - $(tinfo)/make_keys.c \ - names.c - $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) $(tinfo)/make_keys.c $(BUILD_LDFLAGS) $(BUILD_LIBS) - -make_hash$(BUILD_EXEEXT) : \ - $(tinfo)/comp_hash.c \ - ../include/hashsize.h - $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) -DMAIN_PROGRAM $(tinfo)/comp_hash.c $(BUILD_LDFLAGS) $(BUILD_LIBS) - -expanded.c : $(serial)/MKexpanded.sh - sh $(serial)/MKexpanded.sh "$(CPP)" $(CPPFLAGS) > $@ - -comp_captab.c: \ - make_hash$(BUILD_EXEEXT) \ - ../include/hashsize.h \ - $(tinfo)/MKcaptab.awk - sh $(tinfo)/MKcaptab.awk $(AWK) $(srcdir)/../include/Caps > $@ - -lib_keyname.c: keys.list $(base)/MKkeyname.awk - $(AWK) -f $(base)/MKkeyname.awk keys.list > $@ - -names.c codes.c: $(tinfo)/MKnames.awk - $(AWK) -f $(tinfo)/MKnames.awk $(srcdir)/../include/Caps - cat namehdr boolnames boolfnames numnames numfnames strnames strfnames nameftr >names.c - cat namehdr boolcodes numcodes strcodes codeftr >codes.c - -rm -f namehdr nameftr codeftr boolnames boolfnames boolcodes numnames numfnames numcodes strnames strfnames strcodes - -unctrl.c: $(base)/MKunctrl.awk - echo | $(AWK) -f $(base)/MKunctrl.awk >$@ - -tags: - ctags *.[ch] */*.[ch] - -TAGS: - etags *.[ch] */*.[ch] - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace - -rm -f $(TEST_PROGS) - -clean :: mostlyclean - -rm -f $(AUTO_SRC) - -rm -f make_keys$(BUILD_EXEEXT) - -rm -f make_hash$(BUILD_EXEEXT) - -rm -rf .libs - -distclean :: clean - -rm -f Makefile - -realclean :: distclean - -# These rules are used to allow "make -n" to work on a clean directory-tree -../include/hashsize.h \ -../include/parametrized.h \ -../include/term.h : - cd ../include; $(MAKE) $(CF_MFLAGS) - -# These rules build test-programs for the modules that have test-drivers -test_progs : $(TEST_PROGS) - -link_test.c : $(base)/MKlib_gen.sh ../include/curses.h - sh $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" implemented <../include/curses.h >$@ - -captoinfo$x : $(tinfo)/captoinfo.c $(TEST_DEPS) - $(CC) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(TEST_LDFLAGS) - -hardscroll$x : $(serial)/hardscroll.c $(TEST_DEPS) - $(CC) -o $@ $(CFLAGS_DEFAULT) -DSCROLLDEBUG $(serial)/hardscroll.c $(TEST_LDFLAGS) - -hashmap$x : $(serial)/hashmap.c $(TEST_DEPS) - $(CC) -o $@ $(CFLAGS_DEFAULT) -DHASHDEBUG $(serial)/hashmap.c $(TEST_LDFLAGS) - -lib_mvcur$x : $(serial)/lib_mvcur.c $(TEST_DEPS) \ - ../objects/dump_entry$o - $(CC) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c ../objects/dump_entry$o $(TEST_LDFLAGS) - -link_test$x : link_test.c $(TEST_DEPS) \ - ../objects/link_test$o - $(CC) -o $@ $(CFLAGS_DEFAULT) ../objects/link_test$o $(TEST_LDFLAGS) - -../objects/dump_entry$o: - cd ../progs && $(MAKE) ../objects/dump_entry$o - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### - -# generated by mk-0th.awk -# libname: ncurses -# subsets: termlib+ext_tinfo+base+ext_funcs - -.SUFFIXES: .c .cc .h .i .ii -.c.i : - $(CPP) $(CPPFLAGS) $< >$@ -.cc.ii : - $(CPP) $(CPPFLAGS) $< >$@ -.h.i : - $(CPP) $(CPPFLAGS) $< >$@ - -C_SRC = \ - $(serial)/hardscroll.c \ - $(serial)/hashmap.c \ - $(base)/lib_addch.c \ - $(base)/lib_addstr.c \ - $(base)/lib_beep.c \ - $(base)/lib_bkgd.c \ - $(base)/lib_box.c \ - $(base)/lib_chgat.c \ - $(base)/lib_clear.c \ - $(base)/lib_clearok.c \ - $(base)/lib_clrbot.c \ - $(base)/lib_clreol.c \ - $(base)/lib_color.c \ - $(base)/lib_colorset.c \ - $(base)/lib_delch.c \ - $(base)/lib_delwin.c \ - $(base)/lib_echo.c \ - $(base)/lib_endwin.c \ - $(base)/lib_erase.c \ - $(base)/lib_flash.c \ - ./lib_gen.c \ - $(base)/lib_getch.c \ - $(base)/lib_getstr.c \ - $(base)/lib_hline.c \ - $(base)/lib_immedok.c \ - $(base)/lib_inchstr.c \ - $(base)/lib_initscr.c \ - $(base)/lib_insch.c \ - $(base)/lib_insdel.c \ - $(base)/lib_insnstr.c \ - $(base)/lib_instr.c \ - $(base)/lib_isendwin.c \ - $(base)/lib_leaveok.c \ - $(base)/lib_mouse.c \ - $(base)/lib_move.c \ - $(serial)/lib_mvcur.c \ - $(base)/lib_mvwin.c \ - $(base)/lib_newterm.c \ - $(base)/lib_newwin.c \ - $(base)/lib_nl.c \ - $(base)/lib_overlay.c \ - $(base)/lib_pad.c \ - $(base)/lib_printw.c \ - $(base)/lib_redrawln.c \ - $(base)/lib_refresh.c \ - $(base)/lib_restart.c \ - $(base)/lib_scanw.c \ - $(base)/lib_screen.c \ - $(base)/lib_scroll.c \ - $(base)/lib_scrollok.c \ - $(base)/lib_scrreg.c \ - $(base)/lib_set_term.c \ - $(base)/lib_slk.c \ - $(base)/lib_slkatr_set.c \ - $(base)/lib_slkatrof.c \ - $(base)/lib_slkatron.c \ - $(base)/lib_slkatrset.c \ - $(base)/lib_slkattr.c \ - $(base)/lib_slkclear.c \ - $(base)/lib_slkcolor.c \ - $(base)/lib_slkinit.c \ - $(base)/lib_slklab.c \ - $(base)/lib_slkrefr.c \ - $(base)/lib_slkset.c \ - $(base)/lib_slktouch.c \ - $(base)/lib_touch.c \ - $(trace)/lib_tracedmp.c \ - $(trace)/lib_tracemse.c \ - $(serial)/lib_tstp.c \ - $(base)/lib_ungetch.c \ - $(serial)/lib_vidattr.c \ - $(base)/lib_vline.c \ - $(base)/lib_wattroff.c \ - $(base)/lib_wattron.c \ - $(base)/lib_winch.c \ - $(base)/lib_window.c \ - $(base)/nc_panel.c \ - $(base)/safe_sprintf.c \ - $(serial)/tty_update.c \ - $(trace)/varargs.c \ - $(base)/memmove.c \ - $(base)/vsscanf.c \ - $(base)/lib_freeall.c \ - ./expanded.c \ - $(base)/lib_dft_fgbg.c \ - $(tinfo)/lib_print.c \ - $(base)/resizeterm.c \ - $(trace)/trace_xnames.c \ - $(base)/wresize.c \ - $(tinfo)/access.c \ - $(tinfo)/add_tries.c \ - $(tinfo)/alloc_entry.c \ - $(tinfo)/alloc_ttype.c \ - $(tinfo)/captoinfo.c \ - ./codes.c \ - ./comp_captab.c \ - $(tinfo)/comp_error.c \ - $(tinfo)/comp_expand.c \ - $(tinfo)/comp_hash.c \ - $(tinfo)/comp_parse.c \ - $(tinfo)/comp_scan.c \ - $(tinfo)/doalloc.c \ - ./fallback.c \ - $(tinfo)/free_ttype.c \ - $(tinfo)/getenv_num.c \ - $(tinfo)/home_terminfo.c \ - $(tinfo)/init_keytry.c \ - $(tinfo)/lib_acs.c \ - $(tinfo)/lib_baudrate.c \ - $(tinfo)/lib_cur_term.c \ - $(tinfo)/lib_data.c \ - $(tinfo)/lib_has_cap.c \ - $(tinfo)/lib_kernel.c \ - ./lib_keyname.c \ - $(tinfo)/lib_longname.c \ - $(tinfo)/lib_napms.c \ - $(tinfo)/lib_options.c \ - $(tinfo)/lib_raw.c \ - $(tinfo)/lib_setup.c \ - $(tinfo)/lib_termcap.c \ - $(tinfo)/lib_termname.c \ - $(tinfo)/lib_tgoto.c \ - $(tinfo)/lib_ti.c \ - $(tinfo)/lib_tparm.c \ - $(tinfo)/lib_tputs.c \ - $(trace)/lib_trace.c \ - $(trace)/lib_traceatr.c \ - $(trace)/lib_tracebits.c \ - $(trace)/lib_tracechr.c \ - $(tinfo)/lib_ttyflags.c \ - $(serial)/lib_twait.c \ - $(tinfo)/name_match.c \ - ./names.c \ - $(tinfo)/parse_entry.c \ - $(tinfo)/read_entry.c \ - $(tinfo)/read_termcap.c \ - $(tinfo)/setbuf.c \ - $(tinfo)/strings.c \ - $(trace)/trace_buf.c \ - $(trace)/trace_tries.c \ - $(base)/tries.c \ - $(tinfo)/trim_sgr0.c \ - ./unctrl.c \ - $(trace)/visbuf.c \ - $(tinfo)/write_entry.c \ - $(base)/define_key.c \ - $(base)/key_defined.c \ - $(base)/keybound.c \ - $(base)/keyok.c \ - $(base)/version.c - -# Producing llib-lncurses is time-consuming, so there's no direct-dependency for -# it in the lintlib rule. We'll only remove in the cleanest setup. -clean :: - rm -f llib-lncurses.* - -realclean :: - rm -f llib-lncurses - -llib-lncurses : $(C_SRC) - cproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(C_SRC) >$@ - -lintlib : - sh $(srcdir)/../misc/makellib ncurses $(CPPFLAGS) -lint : - $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(C_SRC) $(LINT_LIBS) - -# generated by mk-1st.awk (subset=termlib+ext_tinfo+base+ext_funcs) -# name: ncurses -# traces: DEBUG -# MODEL: NORMAL -# model: objects -# prefix: lib -# suffix: .a -# subset: termlib+ext_tinfo+base+ext_funcs -# ShlibVer: auto -# ShlibVerInfix: no -# DoLinks: no -# rmSoLocs: no -# ldconfig: -# overwrite: no -# depend: ../include/ncurses_cfg.h ./curses.priv.h -# host: i586-pc-beos - -NORMAL_OBJS = \ - ../objects/hardscroll$o \ - ../objects/hashmap$o \ - ../objects/lib_addch$o \ - ../objects/lib_addstr$o \ - ../objects/lib_beep$o \ - ../objects/lib_bkgd$o \ - ../objects/lib_box$o \ - ../objects/lib_chgat$o \ - ../objects/lib_clear$o \ - ../objects/lib_clearok$o \ - ../objects/lib_clrbot$o \ - ../objects/lib_clreol$o \ - ../objects/lib_color$o \ - ../objects/lib_colorset$o \ - ../objects/lib_delch$o \ - ../objects/lib_delwin$o \ - ../objects/lib_echo$o \ - ../objects/lib_endwin$o \ - ../objects/lib_erase$o \ - ../objects/lib_flash$o \ - ../objects/lib_gen$o \ - ../objects/lib_getch$o \ - ../objects/lib_getstr$o \ - ../objects/lib_hline$o \ - ../objects/lib_immedok$o \ - ../objects/lib_inchstr$o \ - ../objects/lib_initscr$o \ - ../objects/lib_insch$o \ - ../objects/lib_insdel$o \ - ../objects/lib_insnstr$o \ - ../objects/lib_instr$o \ - ../objects/lib_isendwin$o \ - ../objects/lib_leaveok$o \ - ../objects/lib_mouse$o \ - ../objects/lib_move$o \ - ../objects/lib_mvcur$o \ - ../objects/lib_mvwin$o \ - ../objects/lib_newterm$o \ - ../objects/lib_newwin$o \ - ../objects/lib_nl$o \ - ../objects/lib_overlay$o \ - ../objects/lib_pad$o \ - ../objects/lib_printw$o \ - ../objects/lib_redrawln$o \ - ../objects/lib_refresh$o \ - ../objects/lib_restart$o \ - ../objects/lib_scanw$o \ - ../objects/lib_screen$o \ - ../objects/lib_scroll$o \ - ../objects/lib_scrollok$o \ - ../objects/lib_scrreg$o \ - ../objects/lib_set_term$o \ - ../objects/lib_slk$o \ - ../objects/lib_slkatr_set$o \ - ../objects/lib_slkatrof$o \ - ../objects/lib_slkatron$o \ - ../objects/lib_slkatrset$o \ - ../objects/lib_slkattr$o \ - ../objects/lib_slkclear$o \ - ../objects/lib_slkcolor$o \ - ../objects/lib_slkinit$o \ - ../objects/lib_slklab$o \ - ../objects/lib_slkrefr$o \ - ../objects/lib_slkset$o \ - ../objects/lib_slktouch$o \ - ../objects/lib_touch$o \ - ../objects/lib_tstp$o \ - ../objects/lib_ungetch$o \ - ../objects/lib_vidattr$o \ - ../objects/lib_vline$o \ - ../objects/lib_wattroff$o \ - ../objects/lib_wattron$o \ - ../objects/lib_winch$o \ - ../objects/lib_window$o \ - ../objects/nc_panel$o \ - ../objects/safe_sprintf$o \ - ../objects/tty_update$o \ - ../objects/varargs$o \ - ../objects/memmove$o \ - ../objects/vsscanf$o \ - ../objects/lib_freeall$o \ - ../objects/expanded$o \ - ../objects/lib_dft_fgbg$o \ - ../objects/lib_print$o \ - ../objects/resizeterm$o \ - ../objects/wresize$o \ - ../objects/access$o \ - ../objects/add_tries$o \ - ../objects/alloc_entry$o \ - ../objects/alloc_ttype$o \ - ../objects/captoinfo$o \ - ../objects/codes$o \ - ../objects/comp_captab$o \ - ../objects/comp_error$o \ - ../objects/comp_expand$o \ - ../objects/comp_hash$o \ - ../objects/comp_parse$o \ - ../objects/comp_scan$o \ - ../objects/doalloc$o \ - ../objects/fallback$o \ - ../objects/free_ttype$o \ - ../objects/getenv_num$o \ - ../objects/home_terminfo$o \ - ../objects/init_keytry$o \ - ../objects/lib_acs$o \ - ../objects/lib_baudrate$o \ - ../objects/lib_cur_term$o \ - ../objects/lib_data$o \ - ../objects/lib_has_cap$o \ - ../objects/lib_kernel$o \ - ../objects/lib_keyname$o \ - ../objects/lib_longname$o \ - ../objects/lib_napms$o \ - ../objects/lib_options$o \ - ../objects/lib_raw$o \ - ../objects/lib_setup$o \ - ../objects/lib_termcap$o \ - ../objects/lib_termname$o \ - ../objects/lib_tgoto$o \ - ../objects/lib_ti$o \ - ../objects/lib_tparm$o \ - ../objects/lib_tputs$o \ - ../objects/lib_trace$o \ - ../objects/lib_ttyflags$o \ - ../objects/lib_twait$o \ - ../objects/name_match$o \ - ../objects/names$o \ - ../objects/parse_entry$o \ - ../objects/read_entry$o \ - ../objects/read_termcap$o \ - ../objects/setbuf$o \ - ../objects/strings$o \ - ../objects/tries$o \ - ../objects/trim_sgr0$o \ - ../objects/unctrl$o \ - ../objects/visbuf$o \ - ../objects/write_entry$o \ - ../objects/define_key$o \ - ../objects/key_defined$o \ - ../objects/keybound$o \ - ../objects/keyok$o \ - ../objects/version$o - -$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./curses.priv.h - -../lib/libncurses.a : $(NORMAL_OBJS) - $(AR) $(AR_OPTS) $@ $? - $(RANLIB) $@ - -install \ -install.libs \ -install.ncurses :: $(DESTDIR)$(libdir) ../lib/libncurses.a - @echo installing ../lib/libncurses.a as $(DESTDIR)$(libdir)/libncurses.a - $(INSTALL_DATA) ../lib/libncurses.a $(DESTDIR)$(libdir)/libncurses.a - $(RANLIB) $(DESTDIR)$(libdir)/libncurses.a - -uninstall \ -uninstall.libs \ -uninstall.ncurses :: - @echo uninstalling $(DESTDIR)$(libdir)/libncurses.a - -@rm -f $(DESTDIR)$(libdir)/libncurses.a - -clean :: - -rm -f ../lib/libncurses.a - -mostlyclean:: - -rm -f $(NORMAL_OBJS) - -# generated by mk-2nd.awk -# model: objects -# MODEL: NORMAL -# echo: yes -# subset: termlib+ext_tinfo+base+ext_funcs -# crenames: yes -# cxxrenames: yes -# traces: DEBUG -# srcdir: . - -../objects/hardscroll$o : $(serial)/hardscroll.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/hardscroll.c -o ../objects/hardscroll$o - -../objects/hashmap$o : $(serial)/hashmap.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/hashmap.c -o ../objects/hashmap$o - -../objects/lib_addch$o : $(base)/lib_addch.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_addch.c -o ../objects/lib_addch$o - -../objects/lib_addstr$o : $(base)/lib_addstr.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_addstr.c -o ../objects/lib_addstr$o - -../objects/lib_beep$o : $(base)/lib_beep.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_beep.c -o ../objects/lib_beep$o - -../objects/lib_bkgd$o : $(base)/lib_bkgd.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_bkgd.c -o ../objects/lib_bkgd$o - -../objects/lib_box$o : $(base)/lib_box.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_box.c -o ../objects/lib_box$o - -../objects/lib_chgat$o : $(base)/lib_chgat.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_chgat.c -o ../objects/lib_chgat$o - -../objects/lib_clear$o : $(base)/lib_clear.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_clear.c -o ../objects/lib_clear$o - -../objects/lib_clearok$o : $(base)/lib_clearok.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_clearok.c -o ../objects/lib_clearok$o - -../objects/lib_clrbot$o : $(base)/lib_clrbot.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_clrbot.c -o ../objects/lib_clrbot$o - -../objects/lib_clreol$o : $(base)/lib_clreol.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_clreol.c -o ../objects/lib_clreol$o - -../objects/lib_color$o : $(base)/lib_color.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_color.c -o ../objects/lib_color$o - -../objects/lib_colorset$o : $(base)/lib_colorset.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_colorset.c -o ../objects/lib_colorset$o - -../objects/lib_delch$o : $(base)/lib_delch.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_delch.c -o ../objects/lib_delch$o - -../objects/lib_delwin$o : $(base)/lib_delwin.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_delwin.c -o ../objects/lib_delwin$o - -../objects/lib_echo$o : $(base)/lib_echo.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_echo.c -o ../objects/lib_echo$o - -../objects/lib_endwin$o : $(base)/lib_endwin.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_endwin.c -o ../objects/lib_endwin$o - -../objects/lib_erase$o : $(base)/lib_erase.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_erase.c -o ../objects/lib_erase$o - -../objects/lib_flash$o : $(base)/lib_flash.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_flash.c -o ../objects/lib_flash$o - -../objects/lib_gen$o : ./lib_gen.c \ - ../include/curses.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/lib_gen.c -o ../objects/lib_gen$o - -../objects/lib_getch$o : $(base)/lib_getch.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_getch.c -o ../objects/lib_getch$o - -../objects/lib_getstr$o : $(base)/lib_getstr.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_getstr.c -o ../objects/lib_getstr$o - -../objects/lib_hline$o : $(base)/lib_hline.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_hline.c -o ../objects/lib_hline$o - -../objects/lib_immedok$o : $(base)/lib_immedok.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_immedok.c -o ../objects/lib_immedok$o - -../objects/lib_inchstr$o : $(base)/lib_inchstr.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_inchstr.c -o ../objects/lib_inchstr$o - -../objects/lib_initscr$o : $(base)/lib_initscr.c \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_initscr.c -o ../objects/lib_initscr$o - -../objects/lib_insch$o : $(base)/lib_insch.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_insch.c -o ../objects/lib_insch$o - -../objects/lib_insdel$o : $(base)/lib_insdel.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_insdel.c -o ../objects/lib_insdel$o - -../objects/lib_insnstr$o : $(base)/lib_insnstr.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_insnstr.c -o ../objects/lib_insnstr$o - -../objects/lib_instr$o : $(base)/lib_instr.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_instr.c -o ../objects/lib_instr$o - -../objects/lib_isendwin$o : $(base)/lib_isendwin.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_isendwin.c -o ../objects/lib_isendwin$o - -../objects/lib_leaveok$o : $(base)/lib_leaveok.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_leaveok.c -o ../objects/lib_leaveok$o - -../objects/lib_mouse$o : $(base)/lib_mouse.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_mouse.c -o ../objects/lib_mouse$o - -../objects/lib_move$o : $(base)/lib_move.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_move.c -o ../objects/lib_move$o - -../objects/lib_mvcur$o : $(serial)/lib_mvcur.c \ - ../include/term.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/lib_mvcur.c -o ../objects/lib_mvcur$o - -../objects/lib_mvwin$o : $(base)/lib_mvwin.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_mvwin.c -o ../objects/lib_mvwin$o - -../objects/lib_newterm$o : $(base)/lib_newterm.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_newterm.c -o ../objects/lib_newterm$o - -../objects/lib_newwin$o : $(base)/lib_newwin.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_newwin.c -o ../objects/lib_newwin$o - -../objects/lib_nl$o : $(base)/lib_nl.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_nl.c -o ../objects/lib_nl$o - -../objects/lib_overlay$o : $(base)/lib_overlay.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_overlay.c -o ../objects/lib_overlay$o - -../objects/lib_pad$o : $(base)/lib_pad.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_pad.c -o ../objects/lib_pad$o - -../objects/lib_printw$o : $(base)/lib_printw.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_printw.c -o ../objects/lib_printw$o - -../objects/lib_redrawln$o : $(base)/lib_redrawln.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_redrawln.c -o ../objects/lib_redrawln$o - -../objects/lib_refresh$o : $(base)/lib_refresh.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_refresh.c -o ../objects/lib_refresh$o - -../objects/lib_restart$o : $(base)/lib_restart.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_restart.c -o ../objects/lib_restart$o - -../objects/lib_scanw$o : $(base)/lib_scanw.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_scanw.c -o ../objects/lib_scanw$o - -../objects/lib_screen$o : $(base)/lib_screen.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_screen.c -o ../objects/lib_screen$o - -../objects/lib_scroll$o : $(base)/lib_scroll.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_scroll.c -o ../objects/lib_scroll$o - -../objects/lib_scrollok$o : $(base)/lib_scrollok.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_scrollok.c -o ../objects/lib_scrollok$o - -../objects/lib_scrreg$o : $(base)/lib_scrreg.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_scrreg.c -o ../objects/lib_scrreg$o - -../objects/lib_set_term$o : $(base)/lib_set_term.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_set_term.c -o ../objects/lib_set_term$o - -../objects/lib_slk$o : $(base)/lib_slk.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slk.c -o ../objects/lib_slk$o - -../objects/lib_slkatr_set$o : $(base)/lib_slkatr_set.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkatr_set.c -o ../objects/lib_slkatr_set$o - -../objects/lib_slkatrof$o : $(base)/lib_slkatrof.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkatrof.c -o ../objects/lib_slkatrof$o - -../objects/lib_slkatron$o : $(base)/lib_slkatron.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkatron.c -o ../objects/lib_slkatron$o - -../objects/lib_slkatrset$o : $(base)/lib_slkatrset.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkatrset.c -o ../objects/lib_slkatrset$o - -../objects/lib_slkattr$o : $(base)/lib_slkattr.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkattr.c -o ../objects/lib_slkattr$o - -../objects/lib_slkclear$o : $(base)/lib_slkclear.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkclear.c -o ../objects/lib_slkclear$o - -../objects/lib_slkcolor$o : $(base)/lib_slkcolor.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkcolor.c -o ../objects/lib_slkcolor$o - -../objects/lib_slkinit$o : $(base)/lib_slkinit.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkinit.c -o ../objects/lib_slkinit$o - -../objects/lib_slklab$o : $(base)/lib_slklab.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slklab.c -o ../objects/lib_slklab$o - -../objects/lib_slkrefr$o : $(base)/lib_slkrefr.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkrefr.c -o ../objects/lib_slkrefr$o - -../objects/lib_slkset$o : $(base)/lib_slkset.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkset.c -o ../objects/lib_slkset$o - -../objects/lib_slktouch$o : $(base)/lib_slktouch.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slktouch.c -o ../objects/lib_slktouch$o - -../objects/lib_touch$o : $(base)/lib_touch.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_touch.c -o ../objects/lib_touch$o - -../objects/lib_tstp$o : $(serial)/lib_tstp.c \ - $(srcdir)/SigAction.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/lib_tstp.c -o ../objects/lib_tstp$o - -../objects/lib_ungetch$o : $(base)/lib_ungetch.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_ungetch.c -o ../objects/lib_ungetch$o - -../objects/lib_vidattr$o : $(serial)/lib_vidattr.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/lib_vidattr.c -o ../objects/lib_vidattr$o - -../objects/lib_vline$o : $(base)/lib_vline.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_vline.c -o ../objects/lib_vline$o - -../objects/lib_wattroff$o : $(base)/lib_wattroff.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_wattroff.c -o ../objects/lib_wattroff$o - -../objects/lib_wattron$o : $(base)/lib_wattron.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_wattron.c -o ../objects/lib_wattron$o - -../objects/lib_winch$o : $(base)/lib_winch.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_winch.c -o ../objects/lib_winch$o - -../objects/lib_window$o : $(base)/lib_window.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_window.c -o ../objects/lib_window$o - -../objects/link_test$o : ./link_test.c \ - ../include/curses.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/link_test.c -o ../objects/link_test$o - -../objects/nc_panel$o : $(base)/nc_panel.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/nc_panel.c -o ../objects/nc_panel$o - -../objects/safe_sprintf$o : $(base)/safe_sprintf.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/safe_sprintf.c -o ../objects/safe_sprintf$o - -../objects/tty_update$o : $(serial)/tty_update.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/tty_update.c -o ../objects/tty_update$o - -../objects/varargs$o : $(trace)/varargs.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(trace)/varargs.c -o ../objects/varargs$o - -../objects/memmove$o : $(base)/memmove.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/memmove.c -o ../objects/memmove$o - -../objects/vsscanf$o : $(base)/vsscanf.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/vsscanf.c -o ../objects/vsscanf$o - -../objects/lib_freeall$o : $(base)/lib_freeall.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_freeall.c -o ../objects/lib_freeall$o - -../objects/expanded$o : ./expanded.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/expanded.c -o ../objects/expanded$o - -../objects/lib_dft_fgbg$o : $(base)/lib_dft_fgbg.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_dft_fgbg.c -o ../objects/lib_dft_fgbg$o - -../objects/lib_print$o : $(tinfo)/lib_print.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_print.c -o ../objects/lib_print$o - -../objects/resizeterm$o : $(base)/resizeterm.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/resizeterm.c -o ../objects/resizeterm$o - -../objects/wresize$o : $(base)/wresize.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/wresize.c -o ../objects/wresize$o - -../objects/access$o : $(tinfo)/access.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/access.c -o ../objects/access$o - -../objects/add_tries$o : $(tinfo)/add_tries.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/add_tries.c -o ../objects/add_tries$o - -../objects/alloc_entry$o : $(tinfo)/alloc_entry.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/alloc_entry.c -o ../objects/alloc_entry$o - -../objects/alloc_ttype$o : $(tinfo)/alloc_ttype.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/alloc_ttype.c -o ../objects/alloc_ttype$o - -../objects/captoinfo$o : $(tinfo)/captoinfo.c \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/captoinfo.c -o ../objects/captoinfo$o - -../objects/codes$o : ./codes.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/codes.c -o ../objects/codes$o - -../objects/comp_captab$o : ./comp_captab.c \ - $(INCDIR)/tic.h \ - ../include/term.h \ - ../include/hashsize.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/comp_captab.c -o ../objects/comp_captab$o - -../objects/comp_error$o : $(tinfo)/comp_error.c \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/comp_error.c -o ../objects/comp_error$o - -../objects/comp_expand$o : $(tinfo)/comp_expand.c \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/comp_expand.c -o ../objects/comp_expand$o - -../objects/comp_hash$o : $(tinfo)/comp_hash.c \ - ../include/term.h \ - $(INCDIR)/tic.h \ - ../include/hashsize.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/comp_hash.c -o ../objects/comp_hash$o - -../objects/comp_parse$o : $(tinfo)/comp_parse.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/comp_parse.c -o ../objects/comp_parse$o - -../objects/comp_scan$o : $(tinfo)/comp_scan.c \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/comp_scan.c -o ../objects/comp_scan$o - -../objects/doalloc$o : $(tinfo)/doalloc.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/doalloc.c -o ../objects/doalloc$o - -../objects/fallback$o : ./fallback.c \ - ../include/term.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/fallback.c -o ../objects/fallback$o - -../objects/free_ttype$o : $(tinfo)/free_ttype.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/free_ttype.c -o ../objects/free_ttype$o - -../objects/getenv_num$o : $(tinfo)/getenv_num.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/getenv_num.c -o ../objects/getenv_num$o - -../objects/home_terminfo$o : $(tinfo)/home_terminfo.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/home_terminfo.c -o ../objects/home_terminfo$o - -../objects/init_keytry$o : $(tinfo)/init_keytry.c \ - ../include/term.h \ - $(INCDIR)/tic.h \ - init_keytry.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/init_keytry.c -o ../objects/init_keytry$o - -../objects/lib_acs$o : $(tinfo)/lib_acs.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_acs.c -o ../objects/lib_acs$o - -../objects/lib_baudrate$o : $(tinfo)/lib_baudrate.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_baudrate.c -o ../objects/lib_baudrate$o - -../objects/lib_cur_term$o : $(tinfo)/lib_cur_term.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_cur_term.c -o ../objects/lib_cur_term$o - -../objects/lib_data$o : $(tinfo)/lib_data.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_data.c -o ../objects/lib_data$o - -../objects/lib_has_cap$o : $(tinfo)/lib_has_cap.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_has_cap.c -o ../objects/lib_has_cap$o - -../objects/lib_kernel$o : $(tinfo)/lib_kernel.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_kernel.c -o ../objects/lib_kernel$o - -../objects/lib_keyname$o : ./lib_keyname.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/lib_keyname.c -o ../objects/lib_keyname$o - -../objects/lib_longname$o : $(tinfo)/lib_longname.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_longname.c -o ../objects/lib_longname$o - -../objects/lib_napms$o : $(tinfo)/lib_napms.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_napms.c -o ../objects/lib_napms$o - -../objects/lib_options$o : $(tinfo)/lib_options.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_options.c -o ../objects/lib_options$o - -../objects/lib_raw$o : $(tinfo)/lib_raw.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_raw.c -o ../objects/lib_raw$o - -../objects/lib_setup$o : $(tinfo)/lib_setup.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_setup.c -o ../objects/lib_setup$o - -../objects/lib_termcap$o : $(tinfo)/lib_termcap.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h \ - $(INCDIR)/capdefaults.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_termcap.c -o ../objects/lib_termcap$o - -../objects/lib_termname$o : $(tinfo)/lib_termname.c \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_termname.c -o ../objects/lib_termname$o - -../objects/lib_tgoto$o : $(tinfo)/lib_tgoto.c \ - ../include/term.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_tgoto.c -o ../objects/lib_tgoto$o - -../objects/lib_ti$o : $(tinfo)/lib_ti.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_ti.c -o ../objects/lib_ti$o - -../objects/lib_tparm$o : $(tinfo)/lib_tparm.c \ - ../include/term.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_tparm.c -o ../objects/lib_tparm$o - -../objects/lib_tputs$o : $(tinfo)/lib_tputs.c \ - ../include/term.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_tputs.c -o ../objects/lib_tputs$o - -../objects/lib_trace$o : $(trace)/lib_trace.c \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(trace)/lib_trace.c -o ../objects/lib_trace$o - -../objects/lib_ttyflags$o : $(tinfo)/lib_ttyflags.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_ttyflags.c -o ../objects/lib_ttyflags$o - -../objects/lib_twait$o : $(serial)/lib_twait.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/lib_twait.c -o ../objects/lib_twait$o - -../objects/name_match$o : $(tinfo)/name_match.c \ - ../include/term.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/name_match.c -o ../objects/name_match$o - -../objects/names$o : ./names.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/names.c -o ../objects/names$o - -../objects/parse_entry$o : $(tinfo)/parse_entry.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h \ - ../include/parametrized.h \ - $(INCDIR)/capdefaults.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/parse_entry.c -o ../objects/parse_entry$o - -../objects/read_entry$o : $(tinfo)/read_entry.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/read_entry.c -o ../objects/read_entry$o - -../objects/read_termcap$o : $(tinfo)/read_termcap.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/read_termcap.c -o ../objects/read_termcap$o - -../objects/setbuf$o : $(tinfo)/setbuf.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/setbuf.c -o ../objects/setbuf$o - -../objects/strings$o : $(tinfo)/strings.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/strings.c -o ../objects/strings$o - -../objects/tries$o : $(base)/tries.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/tries.c -o ../objects/tries$o - -../objects/trim_sgr0$o : $(tinfo)/trim_sgr0.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/trim_sgr0.c -o ../objects/trim_sgr0$o - -../objects/unctrl$o : ./unctrl.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/unctrl.c -o ../objects/unctrl$o - -../objects/visbuf$o : $(trace)/visbuf.c \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(trace)/visbuf.c -o ../objects/visbuf$o - -../objects/write_entry$o : $(tinfo)/write_entry.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/write_entry.c -o ../objects/write_entry$o - -../objects/define_key$o : $(base)/define_key.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/define_key.c -o ../objects/define_key$o - -../objects/key_defined$o : $(base)/key_defined.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/key_defined.c -o ../objects/key_defined$o - -../objects/keybound$o : $(base)/keybound.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/keybound.c -o ../objects/keybound$o - -../objects/keyok$o : $(base)/keyok.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/keyok.c -o ../objects/keyok$o - -../objects/version$o : $(base)/version.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/version.c -o ../objects/version$o - - -# generated by mk-1st.awk (subset=termlib+ext_tinfo+base+ext_funcs) -# name: ncurses -# traces: DEBUG -# MODEL: DEBUG -# model: obj_g -# prefix: lib -# suffix: _g.a -# subset: termlib+ext_tinfo+base+ext_funcs -# ShlibVer: auto -# ShlibVerInfix: no -# DoLinks: no -# rmSoLocs: no -# ldconfig: -# overwrite: no -# depend: ../include/ncurses_cfg.h ./curses.priv.h -# host: i586-pc-beos - -DEBUG_OBJS = \ - ../obj_g/hardscroll$o \ - ../obj_g/hashmap$o \ - ../obj_g/lib_addch$o \ - ../obj_g/lib_addstr$o \ - ../obj_g/lib_beep$o \ - ../obj_g/lib_bkgd$o \ - ../obj_g/lib_box$o \ - ../obj_g/lib_chgat$o \ - ../obj_g/lib_clear$o \ - ../obj_g/lib_clearok$o \ - ../obj_g/lib_clrbot$o \ - ../obj_g/lib_clreol$o \ - ../obj_g/lib_color$o \ - ../obj_g/lib_colorset$o \ - ../obj_g/lib_delch$o \ - ../obj_g/lib_delwin$o \ - ../obj_g/lib_echo$o \ - ../obj_g/lib_endwin$o \ - ../obj_g/lib_erase$o \ - ../obj_g/lib_flash$o \ - ../obj_g/lib_gen$o \ - ../obj_g/lib_getch$o \ - ../obj_g/lib_getstr$o \ - ../obj_g/lib_hline$o \ - ../obj_g/lib_immedok$o \ - ../obj_g/lib_inchstr$o \ - ../obj_g/lib_initscr$o \ - ../obj_g/lib_insch$o \ - ../obj_g/lib_insdel$o \ - ../obj_g/lib_insnstr$o \ - ../obj_g/lib_instr$o \ - ../obj_g/lib_isendwin$o \ - ../obj_g/lib_leaveok$o \ - ../obj_g/lib_mouse$o \ - ../obj_g/lib_move$o \ - ../obj_g/lib_mvcur$o \ - ../obj_g/lib_mvwin$o \ - ../obj_g/lib_newterm$o \ - ../obj_g/lib_newwin$o \ - ../obj_g/lib_nl$o \ - ../obj_g/lib_overlay$o \ - ../obj_g/lib_pad$o \ - ../obj_g/lib_printw$o \ - ../obj_g/lib_redrawln$o \ - ../obj_g/lib_refresh$o \ - ../obj_g/lib_restart$o \ - ../obj_g/lib_scanw$o \ - ../obj_g/lib_screen$o \ - ../obj_g/lib_scroll$o \ - ../obj_g/lib_scrollok$o \ - ../obj_g/lib_scrreg$o \ - ../obj_g/lib_set_term$o \ - ../obj_g/lib_slk$o \ - ../obj_g/lib_slkatr_set$o \ - ../obj_g/lib_slkatrof$o \ - ../obj_g/lib_slkatron$o \ - ../obj_g/lib_slkatrset$o \ - ../obj_g/lib_slkattr$o \ - ../obj_g/lib_slkclear$o \ - ../obj_g/lib_slkcolor$o \ - ../obj_g/lib_slkinit$o \ - ../obj_g/lib_slklab$o \ - ../obj_g/lib_slkrefr$o \ - ../obj_g/lib_slkset$o \ - ../obj_g/lib_slktouch$o \ - ../obj_g/lib_touch$o \ - ../obj_g/lib_tracedmp$o \ - ../obj_g/lib_tracemse$o \ - ../obj_g/lib_tstp$o \ - ../obj_g/lib_ungetch$o \ - ../obj_g/lib_vidattr$o \ - ../obj_g/lib_vline$o \ - ../obj_g/lib_wattroff$o \ - ../obj_g/lib_wattron$o \ - ../obj_g/lib_winch$o \ - ../obj_g/lib_window$o \ - ../obj_g/nc_panel$o \ - ../obj_g/safe_sprintf$o \ - ../obj_g/tty_update$o \ - ../obj_g/varargs$o \ - ../obj_g/memmove$o \ - ../obj_g/vsscanf$o \ - ../obj_g/lib_freeall$o \ - ../obj_g/expanded$o \ - ../obj_g/lib_dft_fgbg$o \ - ../obj_g/lib_print$o \ - ../obj_g/resizeterm$o \ - ../obj_g/trace_xnames$o \ - ../obj_g/wresize$o \ - ../obj_g/access$o \ - ../obj_g/add_tries$o \ - ../obj_g/alloc_entry$o \ - ../obj_g/alloc_ttype$o \ - ../obj_g/captoinfo$o \ - ../obj_g/codes$o \ - ../obj_g/comp_captab$o \ - ../obj_g/comp_error$o \ - ../obj_g/comp_expand$o \ - ../obj_g/comp_hash$o \ - ../obj_g/comp_parse$o \ - ../obj_g/comp_scan$o \ - ../obj_g/doalloc$o \ - ../obj_g/fallback$o \ - ../obj_g/free_ttype$o \ - ../obj_g/getenv_num$o \ - ../obj_g/home_terminfo$o \ - ../obj_g/init_keytry$o \ - ../obj_g/lib_acs$o \ - ../obj_g/lib_baudrate$o \ - ../obj_g/lib_cur_term$o \ - ../obj_g/lib_data$o \ - ../obj_g/lib_has_cap$o \ - ../obj_g/lib_kernel$o \ - ../obj_g/lib_keyname$o \ - ../obj_g/lib_longname$o \ - ../obj_g/lib_napms$o \ - ../obj_g/lib_options$o \ - ../obj_g/lib_raw$o \ - ../obj_g/lib_setup$o \ - ../obj_g/lib_termcap$o \ - ../obj_g/lib_termname$o \ - ../obj_g/lib_tgoto$o \ - ../obj_g/lib_ti$o \ - ../obj_g/lib_tparm$o \ - ../obj_g/lib_tputs$o \ - ../obj_g/lib_trace$o \ - ../obj_g/lib_traceatr$o \ - ../obj_g/lib_tracebits$o \ - ../obj_g/lib_tracechr$o \ - ../obj_g/lib_ttyflags$o \ - ../obj_g/lib_twait$o \ - ../obj_g/name_match$o \ - ../obj_g/names$o \ - ../obj_g/parse_entry$o \ - ../obj_g/read_entry$o \ - ../obj_g/read_termcap$o \ - ../obj_g/setbuf$o \ - ../obj_g/strings$o \ - ../obj_g/trace_buf$o \ - ../obj_g/trace_tries$o \ - ../obj_g/tries$o \ - ../obj_g/trim_sgr0$o \ - ../obj_g/unctrl$o \ - ../obj_g/visbuf$o \ - ../obj_g/write_entry$o \ - ../obj_g/define_key$o \ - ../obj_g/key_defined$o \ - ../obj_g/keybound$o \ - ../obj_g/keyok$o \ - ../obj_g/version$o - -$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./curses.priv.h - -../lib/libncurses_g.a : $(DEBUG_OBJS) - $(AR) $(AR_OPTS) $@ $? - $(RANLIB) $@ - -install \ -install.libs \ -install.ncurses :: $(DESTDIR)$(libdir) ../lib/libncurses_g.a - @echo installing ../lib/libncurses_g.a as $(DESTDIR)$(libdir)/libncurses_g.a - $(INSTALL_DATA) ../lib/libncurses_g.a $(DESTDIR)$(libdir)/libncurses_g.a - $(RANLIB) $(DESTDIR)$(libdir)/libncurses_g.a - -uninstall \ -uninstall.libs \ -uninstall.ncurses :: - @echo uninstalling $(DESTDIR)$(libdir)/libncurses_g.a - -@rm -f $(DESTDIR)$(libdir)/libncurses_g.a - -clean :: - -rm -f ../lib/libncurses_g.a - -mostlyclean:: - -rm -f $(DEBUG_OBJS) - -# generated by mk-2nd.awk -# model: obj_g -# MODEL: DEBUG -# echo: yes -# subset: termlib+ext_tinfo+base+ext_funcs -# crenames: yes -# cxxrenames: yes -# traces: DEBUG -# srcdir: . - -../obj_g/hardscroll$o : $(serial)/hardscroll.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/hardscroll.c -o ../obj_g/hardscroll$o - -../obj_g/hashmap$o : $(serial)/hashmap.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/hashmap.c -o ../obj_g/hashmap$o - -../obj_g/lib_addch$o : $(base)/lib_addch.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_addch.c -o ../obj_g/lib_addch$o - -../obj_g/lib_addstr$o : $(base)/lib_addstr.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_addstr.c -o ../obj_g/lib_addstr$o - -../obj_g/lib_beep$o : $(base)/lib_beep.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_beep.c -o ../obj_g/lib_beep$o - -../obj_g/lib_bkgd$o : $(base)/lib_bkgd.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_bkgd.c -o ../obj_g/lib_bkgd$o - -../obj_g/lib_box$o : $(base)/lib_box.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_box.c -o ../obj_g/lib_box$o - -../obj_g/lib_chgat$o : $(base)/lib_chgat.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_chgat.c -o ../obj_g/lib_chgat$o - -../obj_g/lib_clear$o : $(base)/lib_clear.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_clear.c -o ../obj_g/lib_clear$o - -../obj_g/lib_clearok$o : $(base)/lib_clearok.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_clearok.c -o ../obj_g/lib_clearok$o - -../obj_g/lib_clrbot$o : $(base)/lib_clrbot.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_clrbot.c -o ../obj_g/lib_clrbot$o - -../obj_g/lib_clreol$o : $(base)/lib_clreol.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_clreol.c -o ../obj_g/lib_clreol$o - -../obj_g/lib_color$o : $(base)/lib_color.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_color.c -o ../obj_g/lib_color$o - -../obj_g/lib_colorset$o : $(base)/lib_colorset.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_colorset.c -o ../obj_g/lib_colorset$o - -../obj_g/lib_delch$o : $(base)/lib_delch.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_delch.c -o ../obj_g/lib_delch$o - -../obj_g/lib_delwin$o : $(base)/lib_delwin.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_delwin.c -o ../obj_g/lib_delwin$o - -../obj_g/lib_echo$o : $(base)/lib_echo.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_echo.c -o ../obj_g/lib_echo$o - -../obj_g/lib_endwin$o : $(base)/lib_endwin.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_endwin.c -o ../obj_g/lib_endwin$o - -../obj_g/lib_erase$o : $(base)/lib_erase.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_erase.c -o ../obj_g/lib_erase$o - -../obj_g/lib_flash$o : $(base)/lib_flash.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_flash.c -o ../obj_g/lib_flash$o - -../obj_g/lib_gen$o : ./lib_gen.c \ - ../include/curses.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/lib_gen.c -o ../obj_g/lib_gen$o - -../obj_g/lib_getch$o : $(base)/lib_getch.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_getch.c -o ../obj_g/lib_getch$o - -../obj_g/lib_getstr$o : $(base)/lib_getstr.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_getstr.c -o ../obj_g/lib_getstr$o - -../obj_g/lib_hline$o : $(base)/lib_hline.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_hline.c -o ../obj_g/lib_hline$o - -../obj_g/lib_immedok$o : $(base)/lib_immedok.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_immedok.c -o ../obj_g/lib_immedok$o - -../obj_g/lib_inchstr$o : $(base)/lib_inchstr.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_inchstr.c -o ../obj_g/lib_inchstr$o - -../obj_g/lib_initscr$o : $(base)/lib_initscr.c \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_initscr.c -o ../obj_g/lib_initscr$o - -../obj_g/lib_insch$o : $(base)/lib_insch.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_insch.c -o ../obj_g/lib_insch$o - -../obj_g/lib_insdel$o : $(base)/lib_insdel.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_insdel.c -o ../obj_g/lib_insdel$o - -../obj_g/lib_insnstr$o : $(base)/lib_insnstr.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_insnstr.c -o ../obj_g/lib_insnstr$o - -../obj_g/lib_instr$o : $(base)/lib_instr.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_instr.c -o ../obj_g/lib_instr$o - -../obj_g/lib_isendwin$o : $(base)/lib_isendwin.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_isendwin.c -o ../obj_g/lib_isendwin$o - -../obj_g/lib_leaveok$o : $(base)/lib_leaveok.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_leaveok.c -o ../obj_g/lib_leaveok$o - -../obj_g/lib_mouse$o : $(base)/lib_mouse.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_mouse.c -o ../obj_g/lib_mouse$o - -../obj_g/lib_move$o : $(base)/lib_move.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_move.c -o ../obj_g/lib_move$o - -../obj_g/lib_mvcur$o : $(serial)/lib_mvcur.c \ - ../include/term.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/lib_mvcur.c -o ../obj_g/lib_mvcur$o - -../obj_g/lib_mvwin$o : $(base)/lib_mvwin.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_mvwin.c -o ../obj_g/lib_mvwin$o - -../obj_g/lib_newterm$o : $(base)/lib_newterm.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_newterm.c -o ../obj_g/lib_newterm$o - -../obj_g/lib_newwin$o : $(base)/lib_newwin.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_newwin.c -o ../obj_g/lib_newwin$o - -../obj_g/lib_nl$o : $(base)/lib_nl.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_nl.c -o ../obj_g/lib_nl$o - -../obj_g/lib_overlay$o : $(base)/lib_overlay.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_overlay.c -o ../obj_g/lib_overlay$o - -../obj_g/lib_pad$o : $(base)/lib_pad.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_pad.c -o ../obj_g/lib_pad$o - -../obj_g/lib_printw$o : $(base)/lib_printw.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_printw.c -o ../obj_g/lib_printw$o - -../obj_g/lib_redrawln$o : $(base)/lib_redrawln.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_redrawln.c -o ../obj_g/lib_redrawln$o - -../obj_g/lib_refresh$o : $(base)/lib_refresh.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_refresh.c -o ../obj_g/lib_refresh$o - -../obj_g/lib_restart$o : $(base)/lib_restart.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_restart.c -o ../obj_g/lib_restart$o - -../obj_g/lib_scanw$o : $(base)/lib_scanw.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_scanw.c -o ../obj_g/lib_scanw$o - -../obj_g/lib_screen$o : $(base)/lib_screen.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_screen.c -o ../obj_g/lib_screen$o - -../obj_g/lib_scroll$o : $(base)/lib_scroll.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_scroll.c -o ../obj_g/lib_scroll$o - -../obj_g/lib_scrollok$o : $(base)/lib_scrollok.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_scrollok.c -o ../obj_g/lib_scrollok$o - -../obj_g/lib_scrreg$o : $(base)/lib_scrreg.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_scrreg.c -o ../obj_g/lib_scrreg$o - -../obj_g/lib_set_term$o : $(base)/lib_set_term.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_set_term.c -o ../obj_g/lib_set_term$o - -../obj_g/lib_slk$o : $(base)/lib_slk.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slk.c -o ../obj_g/lib_slk$o - -../obj_g/lib_slkatr_set$o : $(base)/lib_slkatr_set.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkatr_set.c -o ../obj_g/lib_slkatr_set$o - -../obj_g/lib_slkatrof$o : $(base)/lib_slkatrof.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkatrof.c -o ../obj_g/lib_slkatrof$o - -../obj_g/lib_slkatron$o : $(base)/lib_slkatron.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkatron.c -o ../obj_g/lib_slkatron$o - -../obj_g/lib_slkatrset$o : $(base)/lib_slkatrset.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkatrset.c -o ../obj_g/lib_slkatrset$o - -../obj_g/lib_slkattr$o : $(base)/lib_slkattr.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkattr.c -o ../obj_g/lib_slkattr$o - -../obj_g/lib_slkclear$o : $(base)/lib_slkclear.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkclear.c -o ../obj_g/lib_slkclear$o - -../obj_g/lib_slkcolor$o : $(base)/lib_slkcolor.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkcolor.c -o ../obj_g/lib_slkcolor$o - -../obj_g/lib_slkinit$o : $(base)/lib_slkinit.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkinit.c -o ../obj_g/lib_slkinit$o - -../obj_g/lib_slklab$o : $(base)/lib_slklab.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slklab.c -o ../obj_g/lib_slklab$o - -../obj_g/lib_slkrefr$o : $(base)/lib_slkrefr.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkrefr.c -o ../obj_g/lib_slkrefr$o - -../obj_g/lib_slkset$o : $(base)/lib_slkset.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkset.c -o ../obj_g/lib_slkset$o - -../obj_g/lib_slktouch$o : $(base)/lib_slktouch.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slktouch.c -o ../obj_g/lib_slktouch$o - -../obj_g/lib_touch$o : $(base)/lib_touch.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_touch.c -o ../obj_g/lib_touch$o - -../obj_g/lib_tracedmp$o : $(trace)/lib_tracedmp.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_tracedmp.c -o ../obj_g/lib_tracedmp$o - -../obj_g/lib_tracemse$o : $(trace)/lib_tracemse.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_tracemse.c -o ../obj_g/lib_tracemse$o - -../obj_g/lib_tstp$o : $(serial)/lib_tstp.c \ - $(srcdir)/SigAction.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/lib_tstp.c -o ../obj_g/lib_tstp$o - -../obj_g/lib_ungetch$o : $(base)/lib_ungetch.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_ungetch.c -o ../obj_g/lib_ungetch$o - -../obj_g/lib_vidattr$o : $(serial)/lib_vidattr.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/lib_vidattr.c -o ../obj_g/lib_vidattr$o - -../obj_g/lib_vline$o : $(base)/lib_vline.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_vline.c -o ../obj_g/lib_vline$o - -../obj_g/lib_wattroff$o : $(base)/lib_wattroff.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_wattroff.c -o ../obj_g/lib_wattroff$o - -../obj_g/lib_wattron$o : $(base)/lib_wattron.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_wattron.c -o ../obj_g/lib_wattron$o - -../obj_g/lib_winch$o : $(base)/lib_winch.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_winch.c -o ../obj_g/lib_winch$o - -../obj_g/lib_window$o : $(base)/lib_window.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_window.c -o ../obj_g/lib_window$o - -../obj_g/link_test$o : ./link_test.c \ - ../include/curses.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/link_test.c -o ../obj_g/link_test$o - -../obj_g/nc_panel$o : $(base)/nc_panel.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/nc_panel.c -o ../obj_g/nc_panel$o - -../obj_g/safe_sprintf$o : $(base)/safe_sprintf.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/safe_sprintf.c -o ../obj_g/safe_sprintf$o - -../obj_g/tty_update$o : $(serial)/tty_update.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/tty_update.c -o ../obj_g/tty_update$o - -../obj_g/varargs$o : $(trace)/varargs.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/varargs.c -o ../obj_g/varargs$o - -../obj_g/memmove$o : $(base)/memmove.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/memmove.c -o ../obj_g/memmove$o - -../obj_g/vsscanf$o : $(base)/vsscanf.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/vsscanf.c -o ../obj_g/vsscanf$o - -../obj_g/lib_freeall$o : $(base)/lib_freeall.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_freeall.c -o ../obj_g/lib_freeall$o - -../obj_g/expanded$o : ./expanded.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/expanded.c -o ../obj_g/expanded$o - -../obj_g/lib_dft_fgbg$o : $(base)/lib_dft_fgbg.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_dft_fgbg.c -o ../obj_g/lib_dft_fgbg$o - -../obj_g/lib_print$o : $(tinfo)/lib_print.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_print.c -o ../obj_g/lib_print$o - -../obj_g/resizeterm$o : $(base)/resizeterm.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/resizeterm.c -o ../obj_g/resizeterm$o - -../obj_g/trace_xnames$o : $(trace)/trace_xnames.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/trace_xnames.c -o ../obj_g/trace_xnames$o - -../obj_g/wresize$o : $(base)/wresize.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/wresize.c -o ../obj_g/wresize$o - -../obj_g/access$o : $(tinfo)/access.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/access.c -o ../obj_g/access$o - -../obj_g/add_tries$o : $(tinfo)/add_tries.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/add_tries.c -o ../obj_g/add_tries$o - -../obj_g/alloc_entry$o : $(tinfo)/alloc_entry.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/alloc_entry.c -o ../obj_g/alloc_entry$o - -../obj_g/alloc_ttype$o : $(tinfo)/alloc_ttype.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/alloc_ttype.c -o ../obj_g/alloc_ttype$o - -../obj_g/captoinfo$o : $(tinfo)/captoinfo.c \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/captoinfo.c -o ../obj_g/captoinfo$o - -../obj_g/codes$o : ./codes.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/codes.c -o ../obj_g/codes$o - -../obj_g/comp_captab$o : ./comp_captab.c \ - $(INCDIR)/tic.h \ - ../include/term.h \ - ../include/hashsize.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/comp_captab.c -o ../obj_g/comp_captab$o - -../obj_g/comp_error$o : $(tinfo)/comp_error.c \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/comp_error.c -o ../obj_g/comp_error$o - -../obj_g/comp_expand$o : $(tinfo)/comp_expand.c \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/comp_expand.c -o ../obj_g/comp_expand$o - -../obj_g/comp_hash$o : $(tinfo)/comp_hash.c \ - ../include/term.h \ - $(INCDIR)/tic.h \ - ../include/hashsize.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/comp_hash.c -o ../obj_g/comp_hash$o - -../obj_g/comp_parse$o : $(tinfo)/comp_parse.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/comp_parse.c -o ../obj_g/comp_parse$o - -../obj_g/comp_scan$o : $(tinfo)/comp_scan.c \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/comp_scan.c -o ../obj_g/comp_scan$o - -../obj_g/doalloc$o : $(tinfo)/doalloc.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/doalloc.c -o ../obj_g/doalloc$o - -../obj_g/fallback$o : ./fallback.c \ - ../include/term.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/fallback.c -o ../obj_g/fallback$o - -../obj_g/free_ttype$o : $(tinfo)/free_ttype.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/free_ttype.c -o ../obj_g/free_ttype$o - -../obj_g/getenv_num$o : $(tinfo)/getenv_num.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/getenv_num.c -o ../obj_g/getenv_num$o - -../obj_g/home_terminfo$o : $(tinfo)/home_terminfo.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/home_terminfo.c -o ../obj_g/home_terminfo$o - -../obj_g/init_keytry$o : $(tinfo)/init_keytry.c \ - ../include/term.h \ - $(INCDIR)/tic.h \ - init_keytry.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/init_keytry.c -o ../obj_g/init_keytry$o - -../obj_g/lib_acs$o : $(tinfo)/lib_acs.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_acs.c -o ../obj_g/lib_acs$o - -../obj_g/lib_baudrate$o : $(tinfo)/lib_baudrate.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_baudrate.c -o ../obj_g/lib_baudrate$o - -../obj_g/lib_cur_term$o : $(tinfo)/lib_cur_term.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_cur_term.c -o ../obj_g/lib_cur_term$o - -../obj_g/lib_data$o : $(tinfo)/lib_data.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_data.c -o ../obj_g/lib_data$o - -../obj_g/lib_has_cap$o : $(tinfo)/lib_has_cap.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_has_cap.c -o ../obj_g/lib_has_cap$o - -../obj_g/lib_kernel$o : $(tinfo)/lib_kernel.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_kernel.c -o ../obj_g/lib_kernel$o - -../obj_g/lib_keyname$o : ./lib_keyname.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/lib_keyname.c -o ../obj_g/lib_keyname$o - -../obj_g/lib_longname$o : $(tinfo)/lib_longname.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_longname.c -o ../obj_g/lib_longname$o - -../obj_g/lib_napms$o : $(tinfo)/lib_napms.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_napms.c -o ../obj_g/lib_napms$o - -../obj_g/lib_options$o : $(tinfo)/lib_options.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_options.c -o ../obj_g/lib_options$o - -../obj_g/lib_raw$o : $(tinfo)/lib_raw.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_raw.c -o ../obj_g/lib_raw$o - -../obj_g/lib_setup$o : $(tinfo)/lib_setup.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_setup.c -o ../obj_g/lib_setup$o - -../obj_g/lib_termcap$o : $(tinfo)/lib_termcap.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h \ - $(INCDIR)/capdefaults.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_termcap.c -o ../obj_g/lib_termcap$o - -../obj_g/lib_termname$o : $(tinfo)/lib_termname.c \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_termname.c -o ../obj_g/lib_termname$o - -../obj_g/lib_tgoto$o : $(tinfo)/lib_tgoto.c \ - ../include/term.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_tgoto.c -o ../obj_g/lib_tgoto$o - -../obj_g/lib_ti$o : $(tinfo)/lib_ti.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_ti.c -o ../obj_g/lib_ti$o - -../obj_g/lib_tparm$o : $(tinfo)/lib_tparm.c \ - ../include/term.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_tparm.c -o ../obj_g/lib_tparm$o - -../obj_g/lib_tputs$o : $(tinfo)/lib_tputs.c \ - ../include/term.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_tputs.c -o ../obj_g/lib_tputs$o - -../obj_g/lib_trace$o : $(trace)/lib_trace.c \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_trace.c -o ../obj_g/lib_trace$o - -../obj_g/lib_traceatr$o : $(trace)/lib_traceatr.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_traceatr.c -o ../obj_g/lib_traceatr$o - -../obj_g/lib_tracebits$o : $(trace)/lib_tracebits.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_tracebits.c -o ../obj_g/lib_tracebits$o - -../obj_g/lib_tracechr$o : $(trace)/lib_tracechr.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_tracechr.c -o ../obj_g/lib_tracechr$o - -../obj_g/lib_ttyflags$o : $(tinfo)/lib_ttyflags.c \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_ttyflags.c -o ../obj_g/lib_ttyflags$o - -../obj_g/lib_twait$o : $(serial)/lib_twait.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/lib_twait.c -o ../obj_g/lib_twait$o - -../obj_g/name_match$o : $(tinfo)/name_match.c \ - ../include/term.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/name_match.c -o ../obj_g/name_match$o - -../obj_g/names$o : ./names.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/names.c -o ../obj_g/names$o - -../obj_g/parse_entry$o : $(tinfo)/parse_entry.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h \ - ../include/parametrized.h \ - $(INCDIR)/capdefaults.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/parse_entry.c -o ../obj_g/parse_entry$o - -../obj_g/read_entry$o : $(tinfo)/read_entry.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/read_entry.c -o ../obj_g/read_entry$o - -../obj_g/read_termcap$o : $(tinfo)/read_termcap.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/read_termcap.c -o ../obj_g/read_termcap$o - -../obj_g/setbuf$o : $(tinfo)/setbuf.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/setbuf.c -o ../obj_g/setbuf$o - -../obj_g/strings$o : $(tinfo)/strings.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/strings.c -o ../obj_g/strings$o - -../obj_g/trace_buf$o : $(trace)/trace_buf.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/trace_buf.c -o ../obj_g/trace_buf$o - -../obj_g/trace_tries$o : $(trace)/trace_tries.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/trace_tries.c -o ../obj_g/trace_tries$o - -../obj_g/tries$o : $(base)/tries.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/tries.c -o ../obj_g/tries$o - -../obj_g/trim_sgr0$o : $(tinfo)/trim_sgr0.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/trim_sgr0.c -o ../obj_g/trim_sgr0$o - -../obj_g/unctrl$o : ./unctrl.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/unctrl.c -o ../obj_g/unctrl$o - -../obj_g/visbuf$o : $(trace)/visbuf.c \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/visbuf.c -o ../obj_g/visbuf$o - -../obj_g/write_entry$o : $(tinfo)/write_entry.c \ - ../include/term.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/write_entry.c -o ../obj_g/write_entry$o - -../obj_g/define_key$o : $(base)/define_key.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/define_key.c -o ../obj_g/define_key$o - -../obj_g/key_defined$o : $(base)/key_defined.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/key_defined.c -o ../obj_g/key_defined$o - -../obj_g/keybound$o : $(base)/keybound.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/keybound.c -o ../obj_g/keybound$o - -../obj_g/keyok$o : $(base)/keyok.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/keyok.c -o ../obj_g/keyok$o - -../obj_g/version$o : $(base)/version.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/version.c -o ../obj_g/version$o - -depend : $(AUTO_SRC) - makedepend -- $(CPPFLAGS) -- $(C_SRC) - -# DO NOT DELETE THIS LINE -- make depend depends on it. diff --git a/src/libs/ncurses/ncurses/Makefile.in b/src/libs/ncurses/ncurses/Makefile.in deleted file mode 100644 index 2f5d22d17a..0000000000 --- a/src/libs/ncurses/ncurses/Makefile.in +++ /dev/null @@ -1,288 +0,0 @@ -# $Id: Makefile.in,v 1.96 2005/05/07 18:57:05 tom Exp $ -############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996-2002 -# -# Makefile for ncurses source code. -# -# This makes the following: -# programs -# includes -# libraries (normal/debug/profile/shared) -# -# The variable 'srcdir' refers to the source-distribution, and can be set with -# the configure script by "--srcdir=DIR". -# -# The rules are organized to produce the libraries for the configured models, -# and the programs with the configured default model. - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -CF_MFLAGS = @cf_cv_makeflags@ -@SET_MAKE@ - -x = @EXEEXT@ -o = .@OBJEXT@ - -MODEL = @DFT_LWR_MODEL@ -DESTDIR = @DESTDIR@ -top_srcdir = @top_srcdir@ -srcdir = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ -bindir = @bindir@ -libdir = @libdir@ -includedir = @includedir@ -datadir = @datadir@ - -LIBTOOL = @LIBTOOL@ -LIBTOOL_CLEAN = @LIB_CLEAN@ -LIBTOOL_COMPILE = @LIB_COMPILE@ -LIBTOOL_LINK = @LIB_LINK@ -LIBTOOL_INSTALL = @LIB_INSTALL@ -LIBTOOL_UNINSTALL = @LIB_UNINSTALL@ - -INSTALL = @INSTALL@ -INSTALL_LIB = @INSTALL@ @INSTALL_LIB@ -INSTALL_PROG = @INSTALL_PROG@ -INSTALL_DATA = @INSTALL_DATA@ - -AR = @AR@ -AR_OPTS = @AR_OPTS@ -AWK = @AWK@ -LD = @LD@ -LN_S = @LN_S@ - -CC = @CC@ -CPP = @CPP@ -CFLAGS = @CFLAGS@ - -INCDIR = $(srcdir)/../include -CPPFLAGS = -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) @CPPFLAGS@ - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) - -BUILD_CPPFLAGS = -I../include @BUILD_CPPFLAGS@ -BUILD_CC = @BUILD_CC@ -BUILD_CCFLAGS = -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) -I$(INCDIR) $(BUILD_CPPFLAGS) @BUILD_CFLAGS@ -BUILD_LDFLAGS = @BUILD_LDFLAGS@ -BUILD_LIBS = @BUILD_LIBS@ - -# The executables built in this directory are used for generating source that -# is compiled into the build, or are test-programs that are not installed. - -BUILD_EXEEXT = @BUILD_EXEEXT@ -x = @PROG_EXT@ - -CFLAGS_LIBTOOL = $(CCFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ - -CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) - -LINK = $(LIBTOOL) $(CC) -LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ - -SHLIB_DIRS = -L../lib -SHLIB_LIST = $(SHLIB_DIRS) @SHLIB_LIST@ -TINFO_LIST = $(SHLIB_DIRS) @TINFO_LIST@ - -MK_SHARED_LIB = @MK_SHARED_LIB@ - -NCURSES_MAJOR = @NCURSES_MAJOR@ -NCURSES_MINOR = @NCURSES_MINOR@ -REL_VERSION = @cf_cv_rel_version@ -ABI_VERSION = @cf_cv_abi_version@ - -RANLIB = @LIB_PREP@ - -IMPORT_LIB = @IMPORT_LIB@ -SHARED_LIB = @SHARED_LIB@ -LIBRARIES = @LIBS_TO_MAKE@ - -LINT = @LINT@ -LINT_OPTS = @LINT_OPTS@ -LINT_LIBS = -lncurses @LIBS@ - -FALLBACK_LIST = @FALLBACK_LIST@ - -TERMINFO_CAPS = $(top_srcdir)/include/@TERMINFO_CAPS@ - -AUTO_SRC = \ - ../include/nomacros.h \ - codes.c \ - comp_captab.c \ - expanded.c \ - fallback.c \ - init_keytry.h \ - keys.list \ - lib_gen.c \ - lib_keyname.c \ - link_test.c \ - names.c \ - unctrl.c - -TEST_DEPS = ../lib/@LIB_PREFIX@ncurses@DFT_DEP_SUFFIX@ -TEST_ARGS = -L../lib -lncurses@DFT_ARG_SUFFIX@ -TEST_LDFLAGS = @LD_MODEL@ $(TEST_ARGS) @LIBS@ @LOCAL_LDFLAGS@ @LDFLAGS@ - -TEST_PROGS = \ - captoinfo$x \ - hardscroll$x \ - link_test$x \ - hashmap$x \ - lib_mvcur$x - -base = $(srcdir)/base -serial = $(srcdir)/tty -tinfo = $(srcdir)/tinfo -trace = $(srcdir)/trace -wide = $(srcdir)/widechar - -################################################################################ -all \ -libs :: $(AUTO_SRC) ../lib $(LIBRARIES) - -sources: $(AUTO_SRC) - -$(DESTDIR)$(bindir) \ -$(DESTDIR)$(libdir) : - sh $(srcdir)/../mkinstalldirs $@ - -../lib : ; mkdir $@ - -fallback.c : $(tinfo)/MKfallback.sh - sh $(tinfo)/MKfallback.sh @TERMINFO@ @TERMINFO_SRC@ $(FALLBACK_LIST) >$@ - -lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h - sh $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@ - -../include/nomacros.h : $(base)/MKlib_gen.sh ../include/curses.h - sh $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h | \ - fgrep undef >$@ - -init_keytry.h: make_keys$(BUILD_EXEEXT) keys.list - ./make_keys$(BUILD_EXEEXT) keys.list > $@ - -keys.list : $(tinfo)/MKkeys_list.sh - AWK=$(AWK) sh $(tinfo)/MKkeys_list.sh $(TERMINFO_CAPS) | sort >$@ - -make_keys$(BUILD_EXEEXT) : \ - $(tinfo)/make_keys.c \ - names.c - $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) $(tinfo)/make_keys.c $(BUILD_LDFLAGS) $(BUILD_LIBS) - -make_hash$(BUILD_EXEEXT) : \ - $(tinfo)/comp_hash.c \ - ../include/hashsize.h - $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) -DMAIN_PROGRAM $(tinfo)/comp_hash.c $(BUILD_LDFLAGS) $(BUILD_LIBS) - -expanded.c : $(serial)/MKexpanded.sh - sh $(serial)/MKexpanded.sh "$(CPP)" $(CPPFLAGS) > $@ - -comp_captab.c: \ - make_hash$(BUILD_EXEEXT) \ - ../include/hashsize.h \ - $(tinfo)/MKcaptab.awk - sh $(tinfo)/MKcaptab.awk $(AWK) $(srcdir)/../include/@TERMINFO_CAPS@ > $@ - -lib_keyname.c: keys.list $(base)/MKkeyname.awk - $(AWK) -f $(base)/MKkeyname.awk keys.list > $@ - -names.c codes.c: $(tinfo)/MKnames.awk - $(AWK) -f $(tinfo)/MKnames.awk $(srcdir)/../include/@TERMINFO_CAPS@ - cat namehdr boolnames boolfnames numnames numfnames strnames strfnames nameftr >names.c - cat namehdr boolcodes numcodes strcodes codeftr >codes.c - -rm -f namehdr nameftr codeftr boolnames boolfnames boolcodes numnames numfnames numcodes strnames strfnames strcodes - -unctrl.c: $(base)/MKunctrl.awk - echo | $(AWK) -f $(base)/MKunctrl.awk >$@ - -tags: - ctags *.[ch] */*.[ch] - -@MAKE_UPPER_TAGS@TAGS: -@MAKE_UPPER_TAGS@ etags *.[ch] */*.[ch] - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace - -rm -f $(TEST_PROGS) - -clean :: mostlyclean - -rm -f $(AUTO_SRC) - -rm -f make_keys$(BUILD_EXEEXT) - -rm -f make_hash$(BUILD_EXEEXT) - -rm -rf .libs - -distclean :: clean - -rm -f Makefile - -realclean :: distclean - -# These rules are used to allow "make -n" to work on a clean directory-tree -../include/hashsize.h \ -../include/parametrized.h \ -../include/term.h : - cd ../include; $(MAKE) $(CF_MFLAGS) - -# These rules build test-programs for the modules that have test-drivers -test_progs : $(TEST_PROGS) - -link_test.c : $(base)/MKlib_gen.sh ../include/curses.h - sh $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" implemented <../include/curses.h >$@ - -captoinfo$x : $(tinfo)/captoinfo.c $(TEST_DEPS) - @ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(TEST_LDFLAGS) - -hardscroll$x : $(serial)/hardscroll.c $(TEST_DEPS) - @ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DSCROLLDEBUG $(serial)/hardscroll.c $(TEST_LDFLAGS) - -hashmap$x : $(serial)/hashmap.c $(TEST_DEPS) - @ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DHASHDEBUG $(serial)/hashmap.c $(TEST_LDFLAGS) - -lib_mvcur$x : $(serial)/lib_mvcur.c $(TEST_DEPS) \ - ../@DFT_OBJ_SUBDIR@/dump_entry$o - @ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c ../@DFT_OBJ_SUBDIR@/dump_entry$o $(TEST_LDFLAGS) - -link_test$x : link_test.c $(TEST_DEPS) \ - ../@DFT_OBJ_SUBDIR@/link_test$o - @ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) ../@DFT_OBJ_SUBDIR@/link_test$o $(TEST_LDFLAGS) - -../@DFT_OBJ_SUBDIR@/dump_entry$o: - cd ../progs && $(MAKE) ../@DFT_OBJ_SUBDIR@/dump_entry$o - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### diff --git a/src/libs/ncurses/ncurses/README b/src/libs/ncurses/ncurses/README deleted file mode 100644 index 20c94d3c28..0000000000 --- a/src/libs/ncurses/ncurses/README +++ /dev/null @@ -1,2 +0,0 @@ -For discussion of the package internals, see hackguide.html in the doc/html -directory. diff --git a/src/libs/ncurses/ncurses/README.IZ b/src/libs/ncurses/ncurses/README.IZ deleted file mode 100644 index 2952f6854e..0000000000 --- a/src/libs/ncurses/ncurses/README.IZ +++ /dev/null @@ -1,65 +0,0 @@ -Here is the patch. I did no testing whatsoever with event watching -requests present (I need some applications which exersize this before -this, probably lynx ;-), but the code looks working "the normal way". - -I had no way to test that the poll() branch compiles/works... - -Here is the API: - -*) two new functions wgetch_events() wgetstrn_event() are introduced, - which allow an event-watch specification given as the last argument; - -*) if the last argument is NULL, they behave as wgetch() and - wgetstrn() (TESTED!); - -*) the event specification is a pointer to _nc_eventlist, which - contains bookkeeping elements (count and the summary of results), - and an array of pointers to _nc_event; - -*) each _nc_event is a typed union, with two types supported "as - shipped": _NC_EVENT_TIMEOUT_MSEC, _NC_EVENT_FILE. For - _NC_EVENT_FILE the fields are fd, flag, and the output field. - -*) The only supported flag "as shipped" is _NC_EVENT_FILE_READABLE. - If the file was found readable, the return field is set to this, - otherwise to 0; - -*) If these functions return KEY_EVENT, this means that the return - fields in both the _nc_eventlist and _nc_event structures make - sense. The field result_flags of _nc_eventlist may have a - combination of bits _NC_EVENT_TIMEOUT_MSEC and _NC_EVENT_FILE_READABLE - set; - -*) The timeout_msec field of _NC_EVENT_TIMEOUT_MSEC _nc_event's is - updated on return, even if the return is not KEY_EVENT. However, - the change in the value represents only the amount of time spent in - waiting for events, not the amount of time spent bookkeeping; - -*) the return KEY_EVENT of wgetstrn_event() means that the output - string includes the user input typed so far, but the user did not have - a chance to press ENTER (or whatever). This call should be - repeated (with "shifted" pointer to a buffer, of course) to - complete the input; - -*) The presence of this extension can be checked via inspecting - #ifdef NCURSES_EVENT_VERSION. This symbol is not defined on BeOS, - since there is no support for this on BeOS. - -Known issues: calls interrupted by KEY_EVENT reset the ESCDELAY -timer. This is not entirely new, since other synthetic events behave -the same (see "if (ch >= KEY_MIN)" branch of kgetch()). However, -KEY_EVENT may be generated in a continuous stream (say, when -downloading a file), thus this may be more important than with other -synthetic keys. An additional field in window structure which keeps -timestamp of the first raw key in the queue may be needed to -circumvent this. - -Another possible issue: KEY_EVENT has a preference over a user input, -so a stream of KEY_EVENT's can make input hard. Maybe use -result_flags as in input parameter too, which specifies whether the -user input should have higher precedence? - -Also: I took an opportunity to document kgetch() better. - -Enjoy, -Ilya diff --git a/src/libs/ncurses/ncurses/SigAction.h b/src/libs/ncurses/ncurses/SigAction.h deleted file mode 100644 index 5dfde643f6..0000000000 --- a/src/libs/ncurses/ncurses/SigAction.h +++ /dev/null @@ -1,109 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * $Id: SigAction.h,v 1.8 2005/08/06 20:05:32 tom Exp $ - * - * This file exists to handle non-POSIX systems which don't have , - * and usually no sigaction() nor - */ - -#ifndef _SIGACTION_H -#define _SIGACTION_H - -#ifndef HAVE_SIGACTION -#define HAVE_SIGACTION 0 -#endif - -#ifndef HAVE_SIGVEC -#define HAVE_SIGVEC 0 -#endif - -#if HAVE_SIGACTION - -#if !HAVE_TYPE_SIGACTION -typedef struct sigaction sigaction_t; -#endif - -#else /* !HAVE_SIGACTION */ - -#if HAVE_SIGVEC - -#undef SIG_BLOCK -#define SIG_BLOCK 00 - -#undef SIG_UNBLOCK -#define SIG_UNBLOCK 01 - -#undef SIG_SETMASK -#define SIG_SETMASK 02 - - /* - * is in the Linux 1.2.8 + gcc 2.7.0 configuration, - * and is useful for testing this header file. - */ -#if HAVE_BSD_SIGNAL_H -#include -#endif - -typedef struct sigvec sigaction_t; - -#define sigset_t _nc_sigset_t -typedef unsigned long sigset_t; - -#undef sa_mask -#define sa_mask sv_mask -#undef sa_handler -#define sa_handler sv_handler -#undef sa_flags -#define sa_flags sv_flags - -#undef sigaction -#define sigaction _nc_sigaction -#undef sigprocmask -#define sigprocmask _nc_sigprocmask -#undef sigemptyset -#define sigemptyset _nc_sigemptyset -#undef sigsuspend -#define sigsuspend _nc_sigsuspend -#undef sigdelset -#define sigdelset _nc_sigdelset -#undef sigaddset -#define sigaddset _nc_sigaddset - -/* tty/lib_tstp.c is the only user */ -#include - -#endif /* HAVE_SIGVEC */ -#endif /* HAVE_SIGACTION */ -#endif /* !defined(_SIGACTION_H) */ diff --git a/src/libs/ncurses/ncurses/base/MKkeyname.awk b/src/libs/ncurses/ncurses/base/MKkeyname.awk deleted file mode 100644 index 9ac65837a5..0000000000 --- a/src/libs/ncurses/ncurses/base/MKkeyname.awk +++ /dev/null @@ -1,118 +0,0 @@ -# $Id: MKkeyname.awk,v 1.28 2005/04/30 19:26:25 tom Exp $ -############################################################################## -# Copyright (c) 1999-2002,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -BEGIN { - print "/* generated by MKkeyname.awk */" - print "" - print "#include " - print "#include " - print "#include " - print "" - print "const struct kn _nc_key_names[] = {" -} - -/^[^#]/ { - printf "\t{ \"%s\", %s },\n", $1, $1; - } - -END { - printf "\t{ 0, 0 }};\n" - print "" - print "NCURSES_EXPORT(NCURSES_CONST char *) keyname (int c)" - print "{" - print " static char **table;" - print " int i;" - print " char name[20];" - print " char *p;" - print " NCURSES_CONST char *result = 0;" - print "" - print " if (c == -1) {" - print " result = \"-1\";" - print " } else {" - print " for (i = 0; _nc_key_names[i].name != 0; i++) {" - print " if (_nc_key_names[i].code == c) {" - print " result = (NCURSES_CONST char *)_nc_key_names[i].name;" - print " break;" - print " }" - print " }" - print "" - print " if (result == 0 && (c >= 0 && c < 256)) {" - print " if (table == 0)" - print " table = typeCalloc(char *, 256);" - print " if (table != 0) {" - print " if (table[c] == 0) {" - print " p = name;" - print " if (c >= 128) {" - print " strcpy(p, \"M-\");" - print " p += 2;" - print " c -= 128;" - print " }" - print " if (c < 32)" - print " sprintf(p, \"^%c\", c + '@');" - print " else if (c == 127)" - print " strcpy(p, \"^?\");" - print " else" - print " sprintf(p, \"%c\", c);" - print " table[c] = strdup(name);" - print " }" - print " result = table[c];" - print " }" - print "#if NCURSES_EXT_FUNCS && NCURSES_XNAMES" - print " } else if (result == 0 && cur_term != 0) {" - print " int j, k;" - print " char * bound;" - print " TERMTYPE *tp = &(cur_term->type);" - print " int save_trace = _nc_tracing;" - print "" - print " _nc_tracing = 0; /* prevent recursion via keybound() */" - print " for (j = 0; (bound = keybound(c, j)) != 0; ++j) {" - print " for(k = STRCOUNT; k < NUM_STRINGS(tp); k++) {" - print " if (tp->Strings[k] != 0 && !strcmp(bound, tp->Strings[k])) {" - print " result = ExtStrname(tp, k, strnames);" - print " break;" - print " }" - print " }" - print " if (result != 0)" - print " break;" - print " }" - print " _nc_tracing = save_trace;" - print "#endif" - print " }" - print " }" - print " return result;" - print "}" - print "" - print "#if USE_WIDEC_SUPPORT" - print "NCURSES_EXPORT(NCURSES_CONST char *) key_name (wchar_t c)" - print "{" - print " NCURSES_CONST char *result = keyname((int)c);" - print " if (!strncmp(result, \"M-\", 2)) result = 0;" - print " return result;" - print "}" - print "#endif" -} diff --git a/src/libs/ncurses/ncurses/base/MKlib_gen.sh b/src/libs/ncurses/ncurses/base/MKlib_gen.sh deleted file mode 100755 index d22f40024c..0000000000 --- a/src/libs/ncurses/ncurses/base/MKlib_gen.sh +++ /dev/null @@ -1,416 +0,0 @@ -#!/bin/sh -# -# MKlib_gen.sh -- generate sources from curses.h macro definitions -# -# ($Id: MKlib_gen.sh,v 1.24 2005/06/11 19:26:05 tom Exp $) -# -############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# The XSI Curses standard requires all curses entry points to exist as -# functions, even though many definitions would normally be shadowed -# by macros. Rather than hand-hack all that code, we actually -# generate functions from the macros. -# -# This script accepts a file of prototypes on standard input. It discards -# any that don't have a `generated' comment attached. It then parses each -# prototype (relying on the fact that none of the macros take function -# pointer or array arguments) and generates C source from it. -# -# Here is what the pipeline stages are doing: -# -# 1. sed: extract prototypes of generated functions -# 2. sed: decorate prototypes with generated arguments a1. a2,...z -# 3. awk: generate the calls with args matching the formals -# 4. sed: prefix function names in prototypes so the preprocessor won't expand -# them. -# 5. cpp: macro-expand the file so the macro calls turn into C calls -# 6. awk: strip the expansion junk off the front and add the new header -# 7. sed: squeeze spaces, strip off gen_ prefix, create needed #undef -# - -# keep the editing independent of locale: -if test "${LANGUAGE+set}" = set; then LANGUAGE=C; export LANGUAGE; fi -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi -if test "${LC_COLLATE+set}" = set; then LC_COLLATE=C; export LC_COLLATE; fi - -preprocessor="$1 -I../include" -AWK="$2" -USE="$3" - -PID=$$ -ED1=sed1_${PID}.sed -ED2=sed2_${PID}.sed -ED3=sed3_${PID}.sed -ED4=sed4_${PID}.sed -AW1=awk1_${PID}.awk -AW2=awk2_${PID}.awk -TMP=gen__${PID}.c -trap "rm -f $ED1 $ED2 $ED3 $ED4 $AW1 $AW2 $TMP" 0 1 2 5 15 - -ALL=$USE -if test "$USE" = implemented ; then - CALL="call_" - cat >$ED1 <$ED1 <$ED2 <$ED3 <$ED4 <$ED4 <$AW1 <<\EOF1 -BEGIN { - skip=0; - } -/^P_POUNDCif/ { - print "\n" - print $0 - skip=0; -} -/^P_POUNDCendif/ { - print $0 - skip=1; -} -$0 !~ /^P_/ { - if (skip) - print "\n" - skip=1; - - first=$1 - for (i = 1; i <= NF; i++) { - if ( $i != "NCURSES_CONST" ) { - first = i; - break; - } - } - second = first + 1; - if ( $first == "chtype" ) { - returnType = "Char"; - } else if ( $first == "SCREEN" ) { - returnType = "SP"; - } else if ( $first == "WINDOW" ) { - returnType = "Win"; - } else if ( $first == "attr_t" || $second == "attrset" || $second == "standout" || $second == "standend" || $second == "wattrset" || $second == "wstandout" || $second == "wstandend" ) { - returnType = "Attr"; - } else if ( $first == "bool" || $first == "NCURSES_BOOL" ) { - returnType = "Bool"; - } else if ( $second == "*" ) { - returnType = "Ptr"; - } else { - returnType = "Code"; - } - myfunc = second; - for (i = second; i <= NF; i++) { - if ($i != "*") { - myfunc = i; - break; - } - } - if (using == "generated") { - print "M_" $myfunc - } - print $0; - print "{"; - argcount = 1; - check = NF - 1; - if ($check == "void") - argcount = 0; - if (argcount != 0) { - for (i = 1; i <= NF; i++) - if ($i == ",") - argcount++; - } - - # suppress trace-code for functions that we cannot do properly here, - # since they return data. - dotrace = 1; - if ($myfunc ~ /innstr/) - dotrace = 0; - if ($myfunc ~ /innwstr/) - dotrace = 0; - - # workaround functions that we do not parse properly - if ($myfunc ~ /ripoffline/) { - dotrace = 0; - argcount = 2; - } - if ($myfunc ~ /wunctrl/) { - dotrace = 0; - } - - call = "%%T((T_CALLED(\"" - args = "" - comma = "" - num = 0; - pointer = 0; - va_list = 0; - varargs = 0; - argtype = "" - for (i = myfunc; i <= NF; i++) { - ch = $i; - if ( ch == "*" ) - pointer = 1; - else if ( ch == "va_list" ) - va_list = 1; - else if ( ch == "..." ) - varargs = 1; - else if ( ch == "char" ) - argtype = "char"; - else if ( ch == "int" ) - argtype = "int"; - else if ( ch == "short" ) - argtype = "short"; - else if ( ch == "chtype" ) - argtype = "chtype"; - else if ( ch == "attr_t" || ch == "NCURSES_ATTR_T" ) - argtype = "attr"; - - if ( ch == "," || ch == ")" ) { - if (va_list) { - call = call "%s" - } else if (varargs) { - call = call "%s" - } else if (pointer) { - if ( argtype == "char" ) { - call = call "%s" - comma = comma "_nc_visbuf2(" num "," - pointer = 0; - } else - call = call "%p" - } else if (argcount != 0) { - if ( argtype == "int" || argtype == "short" ) { - call = call "%d" - argtype = "" - } else if ( argtype != "" ) { - call = call "%s" - comma = comma "_trace" argtype "2(" num "," - } else { - call = call "%#lx" - comma = comma "(long)" - } - } - if (ch == ",") { - args = args comma "a" ++num; - } else if ( argcount != 0 ) { - if ( va_list ) { - args = args comma "\"va_list\"" - } else if ( varargs ) { - args = args comma "\"...\"" - } else { - args = args comma "z" - } - } - call = call ch - if (pointer == 0 && argcount != 0 && argtype != "" ) - args = args ")" - if (args != "") - comma = ", " - pointer = 0; - argtype = "" - } - if ( i == 2 || ch == "(" ) - call = call ch - } - call = call "\")" - if (args != "") - call = call ", " args - call = call ")); " - - if (dotrace) - printf "%s", call - - if (match($0, "^void")) - call = "" - else if (dotrace) - call = sprintf("return%s( ", returnType); - else - call = "%%return "; - - call = call $myfunc "("; - for (i = 1; i < argcount; i++) { - if (i != 1) - call = call ", "; - call = call "a" i; - } - if ( argcount != 0 && $check != "..." ) { - if (argcount != 1) - call = call ", "; - call = call "z"; - } - if (!match($0, "^void")) - call = call ") "; - if (dotrace) - call = call ")"; - print call ";" - - if (match($0, "^void")) - print "%%returnVoid;" - print "}"; -} -EOF1 - -cat >$AW2 <" - print "" - } -/^DECLARATIONS/ {start = 1; next;} - {if (start) print \$0;} -END { - if ( "$USE" != "generated" ) { - print "int main(void) { return 0; }" - } - } -EOF1 - -cat >$TMP < -#include - -DECLARATIONS - -EOF - -sed -n -f $ED1 \ -| sed -e 's/NCURSES_EXPORT(\(.*\)) \(.*\) (\(.*\))/\1 \2(\3)/' \ -| sed -f $ED2 \ -| $AWK -f $AW1 using=$USE \ -| sed -e 's/^\([a-z_][a-z_]*[ *]*\)/\1 gen_/' -e 's/ / /g' >>$TMP - -$preprocessor $TMP 2>/dev/null \ -| sed -e 's/ / /g' -e 's/^ //' \ -| $AWK -f $AW2 \ -| sed -f $ED3 \ -| sed \ - -e 's/^.*T_CALLED.*returnCode( \([a-z].*) \));/ return \1;/' \ - -e 's/^.*T_CALLED.*returnCode( \((wmove.*) \));/ return \1;/' \ -| sed -f $ED4 diff --git a/src/libs/ncurses/ncurses/base/MKunctrl.awk b/src/libs/ncurses/ncurses/base/MKunctrl.awk deleted file mode 100644 index 79ca5fc567..0000000000 --- a/src/libs/ncurses/ncurses/base/MKunctrl.awk +++ /dev/null @@ -1,72 +0,0 @@ -# $Id: MKunctrl.awk,v 1.10 2004/04/03 22:50:37 tom Exp $ -############################################################################## -# Copyright (c) 1998,2001,2004 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1997 -# - -BEGIN { - print "/* generated by MKunctrl.awk */" - print "" - print "#include " - print "" - print "#undef unctrl" - print "" - } -END { - print "NCURSES_EXPORT(NCURSES_CONST char *) unctrl (register chtype ch)" - print "{" - printf "static const char* const table[] = {" - for ( ch = 0; ch < 256; ch++ ) { - gap = "," - if ((ch % 8) == 0) - printf "\n " - if (ch < 32) { - printf "\"^\\%03o\"", ch + 64 - } else if (ch == 127) { - printf "\"^?\"" - } else if (ch >= 128 && ch < 160) { - printf "\"~\\%03o\"", ch - 64 - } else { - printf "\"\\%03o\"", ch - gap = gap " " - } - if (ch == 255) - gap = "\n" - else if (((ch + 1) % 8) != 0) - gap = gap " " - printf "%s", gap - } - print "};" - print "int check = ChCharOf(ch);" - print "" - print "\tif (check < 0 || check >= (int)SIZEOF(table)) return 0;" - print "" - print "\treturn (NCURSES_CONST char *)table[check];" - print "}" - } diff --git a/src/libs/ncurses/ncurses/base/README b/src/libs/ncurses/ncurses/base/README deleted file mode 100644 index ffa16963e9..0000000000 --- a/src/libs/ncurses/ncurses/base/README +++ /dev/null @@ -1,7 +0,0 @@ --- $Id: README,v 1.1 1998/11/14 22:58:22 tom Exp $ - -The functions in this directory are the generic (not device-specific) modules -of ncurses. - -As a rule, these modules should not depend directly on term.h references and -associated terminfo function and variables. diff --git a/src/libs/ncurses/ncurses/base/define_key.c b/src/libs/ncurses/ncurses/base/define_key.c deleted file mode 100644 index a89cf2255f..0000000000 --- a/src/libs/ncurses/ncurses/base/define_key.c +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1997 * - ****************************************************************************/ - -#include - -MODULE_ID("$Id: define_key.c,v 1.9 2005/04/30 16:21:26 tom Exp $") - -NCURSES_EXPORT(int) -define_key(const char *str, int keycode) -{ - int code = ERR; - - T((T_CALLED("define_key(%s,%d)"), _nc_visbuf(str), keycode)); - if (SP == 0) { - code = ERR; - } else if (keycode > 0) { - if (str != 0) { - define_key(str, 0); - } else if (has_key(keycode)) { - while (_nc_remove_key(&(SP->_keytry), keycode)) - code = OK; - } - if (str != 0) { - if (key_defined(str) == 0) { - (void) _nc_add_to_try(&(SP->_keytry), str, keycode); - code = OK; - } else { - code = ERR; - } - } - } else { - while (_nc_remove_string(&(SP->_keytry), str)) - code = OK; - } - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/base/key_defined.c b/src/libs/ncurses/ncurses/base/key_defined.c deleted file mode 100644 index dac1887487..0000000000 --- a/src/libs/ncurses/ncurses/base/key_defined.c +++ /dev/null @@ -1,76 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey, 2003 * - ****************************************************************************/ - -#include - -MODULE_ID("$Id: key_defined.c,v 1.3 2003/05/17 23:12:27 tom Exp $") - -static int -find_definition(struct tries *tree, const char *str) -{ - struct tries *ptr; - int result = 0; - - if (str != 0 && *str != '\0') { - for (ptr = tree; ptr != 0; ptr = ptr->sibling) { - if (UChar(*str) == UChar(ptr->ch)) { - if (str[1] == '\0' && ptr->child != 0) { - result = -1; - } else if ((result = find_definition(ptr->child, str + 1)) == 0) { - result = ptr->value; - } else if (str[1] == '\0') { - result = -1; - } - } - if (result != 0) - break; - } - } - return (result); -} - -/* - * Returns the keycode associated with the given string. If none is found, - * return 0. If the string is only a prefix to other strings, return -1. - */ -NCURSES_EXPORT(int) -key_defined(const char *str) -{ - int code = ERR; - - T((T_CALLED("key_defined(%s)"), _nc_visbuf(str))); - if (SP != 0 && str != 0) { - code = find_definition(SP->_keytry, str); - } - - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/base/keybound.c b/src/libs/ncurses/ncurses/base/keybound.c deleted file mode 100644 index b982d226c8..0000000000 --- a/src/libs/ncurses/ncurses/base/keybound.c +++ /dev/null @@ -1,52 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1999-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1999 * - ****************************************************************************/ - -#include - -MODULE_ID("$Id: keybound.c,v 1.5 2005/04/30 16:53:42 tom Exp $") - -/* - * Returns the count'th string definition which is associated with the - * given keycode. The result is malloc'd, must be freed by the caller. - */ - -NCURSES_EXPORT(char *) -keybound(int code, int count) -{ - char *result = 0; - - T((T_CALLED("keybound(%d,%d)"), code, count)); - if (SP != 0) { - result = _nc_expand_try(SP->_keytry, code, &count, 0); - } - returnPtr(result); -} diff --git a/src/libs/ncurses/ncurses/base/keyok.c b/src/libs/ncurses/ncurses/base/keyok.c deleted file mode 100644 index e3b4be297c..0000000000 --- a/src/libs/ncurses/ncurses/base/keyok.c +++ /dev/null @@ -1,73 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1997 * - ****************************************************************************/ - -#include - -MODULE_ID("$Id: keyok.c,v 1.5 2000/12/10 02:43:26 tom Exp $") - -/* - * Enable (or disable) ncurses' interpretation of a keycode by adding (or - * removing) the corresponding 'tries' entry. - * - * Do this by storing a second tree of tries, which records the disabled keys. - * The simplest way to copy is to make a function that returns the string (with - * nulls set to 0200), then use that to reinsert the string into the - * corresponding tree. - */ - -NCURSES_EXPORT(int) -keyok(int c, bool flag) -{ - int code = ERR; - int count = 0; - char *s; - - T((T_CALLED("keyok(%d,%d)"), c, flag)); - if (flag) { - while ((s = _nc_expand_try(SP->_key_ok, c, &count, 0)) != 0 - && _nc_remove_key(&(SP->_key_ok), c)) { - _nc_add_to_try(&(SP->_keytry), s, c); - free(s); - code = OK; - count = 0; - } - } else { - while ((s = _nc_expand_try(SP->_keytry, c, &count, 0)) != 0 - && _nc_remove_key(&(SP->_keytry), c)) { - _nc_add_to_try(&(SP->_key_ok), s, c); - free(s); - code = OK; - count = 0; - } - } - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/base/lib_addch.c b/src/libs/ncurses/ncurses/base/lib_addch.c deleted file mode 100644 index df5fddd0ba..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_addch.c +++ /dev/null @@ -1,526 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/* -** lib_addch.c -** -** The routine waddch(). -** -*/ - -#include -#include - -MODULE_ID("$Id: lib_addch.c,v 1.95 2005/03/27 16:52:16 tom Exp $") - -/* - * Ugly microtweaking alert. Everything from here to end of module is - * likely to be speed-critical -- profiling data sure says it is! - * Most of the important screen-painting functions are shells around - * waddch(). So we make every effort to reduce function-call overhead - * by inlining stuff, even at the cost of making wrapped copies for - * export. Also we supply some internal versions that don't call the - * window sync hook, for use by string-put functions. - */ - -/* Return bit mask for clearing color pair number if given ch has color */ -#define COLOR_MASK(ch) (~(attr_t)((ch) & A_COLOR ? A_COLOR : 0)) - -static inline NCURSES_CH_T -render_char(WINDOW *win, NCURSES_CH_T ch) -/* compute a rendition of the given char correct for the current context */ -{ - attr_t a = win->_attrs; - int pair = GetPair(ch); - - if (ISBLANK(ch) - && AttrOf(ch) == A_NORMAL - && pair == 0) { - /* color/pair in attrs has precedence over bkgrnd */ - ch = win->_nc_bkgd; - SetAttr(ch, a | AttrOf(win->_nc_bkgd)); - if ((pair = GET_WINDOW_PAIR(win)) == 0) - pair = GetPair(win->_nc_bkgd); - SetPair(ch, pair); - } else { - /* color in attrs has precedence over bkgrnd */ - a |= AttrOf(win->_nc_bkgd) & COLOR_MASK(a); - /* color in ch has precedence */ - if (pair == 0) { - if ((pair = GET_WINDOW_PAIR(win)) == 0) - pair = GetPair(win->_nc_bkgd); - } -#if 0 - if (pair > 255) { - NCURSES_CH_T fixme = ch; - SetPair(fixme, pair); - } -#endif - AddAttr(ch, (a & COLOR_MASK(AttrOf(ch)))); - SetPair(ch, pair); - } - - TR(TRACE_VIRTPUT, - ("render_char bkg %s (%d), attrs %s (%d) -> ch %s (%d)", - _tracech_t2(1, CHREF(win->_nc_bkgd)), - GetPair(win->_nc_bkgd), - _traceattr(win->_attrs), - GET_WINDOW_PAIR(win), - _tracech_t2(3, CHREF(ch)), - GetPair(ch))); - - return (ch); -} - -NCURSES_EXPORT(NCURSES_CH_T) -_nc_render(WINDOW *win, NCURSES_CH_T ch) -/* make render_char() visible while still allowing us to inline it below */ -{ - return render_char(win, ch); -} - -/* check if position is legal; if not, return error */ -#ifndef NDEBUG /* treat this like an assertion */ -#define CHECK_POSITION(win, x, y) \ - if (y > win->_maxy \ - || x > win->_maxx \ - || y < 0 \ - || x < 0) { \ - TR(TRACE_VIRTPUT, ("Alert! Win=%p _curx = %d, _cury = %d " \ - "(_maxx = %d, _maxy = %d)", win, x, y, \ - win->_maxx, win->_maxy)); \ - return(ERR); \ - } -#else -#define CHECK_POSITION(win, x, y) /* nothing */ -#endif - -/* - * The _WRAPPED flag is useful only for telling an application that we've just - * wrapped the cursor. We don't do anything with this flag except set it when - * wrapping, and clear it whenever we move the cursor. If we try to wrap at - * the lower-right corner of a window, we cannot move the cursor (since that - * wouldn't be legal). So we return an error (which is what SVr4 does). - * Unlike SVr4, we can successfully add a character to the lower-right corner - * (Solaris 2.6 does this also, however). - */ -static int -wrap_to_next_line(WINDOW *win) -{ - win->_flags |= _WRAPPED; - if (++win->_cury > win->_regbottom) { - win->_cury = win->_regbottom; - win->_curx = win->_maxx; - if (!win->_scroll) - return (ERR); - scroll(win); - } - win->_curx = 0; - return (OK); -} - -#if USE_WIDEC_SUPPORT -static int waddch_literal(WINDOW *, NCURSES_CH_T); -/* - * Fill the given number of cells with blanks using the current background - * rendition. This saves/restores the current x-position. - */ -static void -fill_cells(WINDOW *win, int count) -{ - NCURSES_CH_T blank = NewChar2(BLANK_TEXT, BLANK_ATTR); - int save_x = win->_curx; - int save_y = win->_cury; - - while (count-- > 0) { - if (waddch_literal(win, blank) == ERR) - break; - } - win->_curx = save_x; - win->_cury = save_y; -} -#endif - -/* - * Build up the bytes for a multibyte character, returning the length when - * complete (a positive number), -1 for error and -2 for incomplete. - */ -#if USE_WIDEC_SUPPORT -NCURSES_EXPORT(int) -_nc_build_wch(WINDOW *win, ARG_CH_T ch) -{ - char *buffer = WINDOW_EXT(win, addch_work); - int len; - int x = win->_curx; - int y = win->_cury; - mbstate_t state; - wchar_t result; - - if ((WINDOW_EXT(win, addch_used) != 0) && - (WINDOW_EXT(win, addch_x) != x || - WINDOW_EXT(win, addch_y) != y)) { - /* discard the incomplete multibyte character */ - WINDOW_EXT(win, addch_used) = 0; - TR(TRACE_VIRTPUT, - ("Alert discarded multibyte on move (%d,%d) -> (%d,%d)", - WINDOW_EXT(win, addch_y), WINDOW_EXT(win, addch_x), - y, x)); - } - WINDOW_EXT(win, addch_x) = x; - WINDOW_EXT(win, addch_y) = y; - - init_mb(state); - buffer[WINDOW_EXT(win, addch_used)] = CharOf(CHDEREF(ch)); - WINDOW_EXT(win, addch_used) += 1; - buffer[WINDOW_EXT(win, addch_used)] = '\0'; - if ((len = mbrtowc(&result, - buffer, - WINDOW_EXT(win, addch_used), &state)) > 0) { - attr_t attrs = AttrOf(CHDEREF(ch)); - SetChar(CHDEREF(ch), result, attrs); - WINDOW_EXT(win, addch_used) = 0; - } else { - if (len == -1) { - /* - * An error occurred. We could either discard everything, - * or assume that the error was in the previous input. - * Try the latter. - */ - TR(TRACE_VIRTPUT, ("Alert! mbrtowc returns error")); - buffer[0] = CharOf(CHDEREF(ch)); - WINDOW_EXT(win, addch_used) = 1; - } - } - return len; -} -#endif /* USE_WIDEC_SUPPORT */ - -static -#if !USE_WIDEC_SUPPORT /* cannot be inline if it is recursive */ -inline -#endif -int -waddch_literal(WINDOW *win, NCURSES_CH_T ch) -{ - int x; - int y; - struct ldat *line; - - x = win->_curx; - y = win->_cury; - - CHECK_POSITION(win, x, y); - - ch = render_char(win, ch); - - line = win->_line + y; - - CHANGED_CELL(line, x); - - /* - * Build up multibyte characters until we have a wide-character. - */ - if_WIDEC({ - if (WINDOW_EXT(win, addch_used) != 0 || !Charable(ch)) { - int len = _nc_build_wch(win, CHREF(ch)); - - if (len > 0) { - if (is8bits(CharOf(ch))) { - const char *s = unctrl(CharOf(ch)); - if (s[1] != 0) { - return waddstr(win, s); - } - } - } else { - return OK; - } - } - }); - - /* - * Non-spacing characters are added to the current cell. - * - * Spacing characters that are wider than one column require some display - * adjustments. - */ - if_WIDEC({ - int len = wcwidth(CharOf(ch)); - int i; - int j; - - if (len == 0) { /* non-spacing */ - if ((x > 0 && y >= 0) - || ((y = win->_cury - 1) >= 0 && - (x = win->_maxx) > 0)) { - wchar_t *chars = (win->_line[y].text[x - 1].chars); - for (i = 0; i < CCHARW_MAX; ++i) { - if (chars[i] == 0) { - TR(TRACE_VIRTPUT, - ("added non-spacing %d: %x", - x, (int) CharOf(ch))); - chars[i] = CharOf(ch); - break; - } - } - } - goto testwrapping; - } else if (len > 1) { /* multi-column characters */ - /* - * Check if the character will fit on the current line. If it does - * not fit, fill in the remainder of the line with blanks. and - * move to the next line. - */ - if (len > win->_maxx + 1) { - TR(TRACE_VIRTPUT, ("character will not fit")); - return ERR; - } else if (x + len > win->_maxx + 1) { - int count = win->_maxx + 1 - x; - TR(TRACE_VIRTPUT, ("fill %d remaining cells", count)); - fill_cells(win, count); - if (wrap_to_next_line(win) == ERR) - return ERR; - x = win->_curx; - y = win->_cury; - } - /* - * Check for cells which are orphaned by adding this character, set - * those to blanks. - * - * FIXME: this actually could fill j-i cells, more complicated to - * setup though. - */ - for (i = 0; i < len; ++i) { - if (isWidecBase(win->_line[y].text[i])) { - break; - } else if (isWidecExt(win->_line[y].text[x + i])) { - for (j = i; x + j <= win->_maxx; ++j) { - if (!isWidecExt(win->_line[y].text[x + j])) { - TR(TRACE_VIRTPUT, ("fill %d orphan cells", j)); - fill_cells(win, j); - break; - } - } - break; - } - } - /* - * Finally, add the cells for this character. - */ - for (i = 0; i < len; ++i) { - NCURSES_CH_T value = ch; - SetWidecExt(value, i); - TR(TRACE_VIRTPUT, ("multicolumn %d:%d", i + 1, len)); - line->text[x] = value; - CHANGED_CELL(line, x); - ++x; - } - goto testwrapping; - } - }); - - /* - * Single-column characters. - */ - line->text[x++] = ch; - /* - * This label is used only for wide-characters. - */ - if_WIDEC( - testwrapping: - ); - - TR(TRACE_VIRTPUT, ("cell (%d, %d..%d) = %s", - win->_cury, win->_curx, x - 1, - _tracech_t(CHREF(ch)))); - - if (x > win->_maxx) { - return wrap_to_next_line(win); - } - win->_curx = x; - return OK; -} - -static inline int -waddch_nosync(WINDOW *win, const NCURSES_CH_T ch) -/* the workhorse function -- add a character to the given window */ -{ - int x, y; - chtype t = CharOf(ch); - const char *s = unctrl(t); - - /* - * If we are using the alternate character set, forget about locale. - * Otherwise, if unctrl() returns a single-character or the locale - * claims the code is printable, treat it that way. - */ - if ((AttrOf(ch) & A_ALTCHARSET) - || ( -#if USE_WIDEC_SUPPORT - (SP != 0 && SP->_legacy_coding) && -#endif - s[1] == 0 - ) - || ( - isprint(t) -#if USE_WIDEC_SUPPORT - || ((SP == 0 || !SP->_legacy_coding) && - (WINDOW_EXT(win, addch_used) - || !_nc_is_charable(CharOf(ch)))) -#endif - )) - return waddch_literal(win, ch); - - /* - * Handle carriage control and other codes that are not printable, or are - * known to expand to more than one character according to unctrl(). - */ - x = win->_curx; - y = win->_cury; - - switch (t) { - case '\t': - x += (TABSIZE - (x % TABSIZE)); - - /* - * Space-fill the tab on the bottom line so that we'll get the - * "correct" cursor position. - */ - if ((!win->_scroll && (y == win->_regbottom)) - || (x <= win->_maxx)) { - NCURSES_CH_T blank = NewChar2(BLANK_TEXT, BLANK_ATTR); - AddAttr(blank, AttrOf(ch)); - while (win->_curx < x) { - if (waddch_literal(win, blank) == ERR) - return (ERR); - } - break; - } else { - wclrtoeol(win); - win->_flags |= _WRAPPED; - if (++y > win->_regbottom) { - x = win->_maxx; - y--; - if (win->_scroll) { - scroll(win); - x = 0; - } - } else { - x = 0; - } - } - break; - case '\n': - wclrtoeol(win); - if (++y > win->_regbottom) { - y--; - if (win->_scroll) - scroll(win); - else - return (ERR); - } - /* FALLTHRU */ - case '\r': - x = 0; - win->_flags &= ~_WRAPPED; - break; - case '\b': - if (x == 0) - return (OK); - x--; - win->_flags &= ~_WRAPPED; - break; - default: - while (*s) { - NCURSES_CH_T sch; - SetChar(sch, *s++, AttrOf(ch)); - if (waddch_literal(win, sch) == ERR) - return ERR; - } - return (OK); - } - - win->_curx = x; - win->_cury = y; - - return (OK); -} - -NCURSES_EXPORT(int) -_nc_waddch_nosync(WINDOW *win, const NCURSES_CH_T c) -/* export copy of waddch_nosync() so the string-put functions can use it */ -{ - return (waddch_nosync(win, c)); -} - -/* - * The versions below call _nc_synchook(). We wanted to avoid this in the - * version exported for string puts; they'll call _nc_synchook once at end - * of run. - */ - -/* These are actual entry points */ - -NCURSES_EXPORT(int) -waddch(WINDOW *win, const chtype ch) -{ - int code = ERR; - NCURSES_CH_T wch; - SetChar2(wch, ch); - - TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("waddch(%p, %s)"), win, - _tracechtype(ch))); - - if (win && (waddch_nosync(win, wch) != ERR)) { - _nc_synchook(win); - code = OK; - } - - TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_RETURN("%d"), code)); - return (code); -} - -NCURSES_EXPORT(int) -wechochar(WINDOW *win, const chtype ch) -{ - int code = ERR; - NCURSES_CH_T wch; - SetChar2(wch, ch); - - TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wechochar(%p, %s)"), win, - _tracechtype(ch))); - - if (win && (waddch_nosync(win, wch) != ERR)) { - bool save_immed = win->_immed; - win->_immed = TRUE; - _nc_synchook(win); - win->_immed = save_immed; - code = OK; - } - TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_RETURN("%d"), code)); - return (code); -} diff --git a/src/libs/ncurses/ncurses/base/lib_addstr.c b/src/libs/ncurses/ncurses/base/lib_addstr.c deleted file mode 100644 index 7a93c4152e..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_addstr.c +++ /dev/null @@ -1,245 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * * - * Rewritten 2001-2004 to support wide-characters by * - * Sven Verdoolaege * - * Thomas Dickey * - ****************************************************************************/ - -/* -** lib_addstr.c -* -** The routines waddnstr(), waddchnstr(). -** -*/ - -#include - -MODULE_ID("$Id: lib_addstr.c,v 1.43 2004/12/12 00:15:31 tom Exp $") - -NCURSES_EXPORT(int) -waddnstr(WINDOW *win, const char *astr, int n) -{ - const char *str = astr; - int code = ERR; - - T((T_CALLED("waddnstr(%p,%s,%d)"), win, _nc_visbufn(astr, n), n)); - - if (win && (str != 0)) { - TR(TRACE_VIRTPUT | TRACE_ATTRS, ("... current %s", _traceattr(win->_attrs))); - code = OK; - if (n < 0) - n = (int) strlen(astr); - - TR(TRACE_VIRTPUT, ("str is not null, length = %d", n)); - while ((n-- > 0) && (*str != '\0')) { - NCURSES_CH_T ch; - TR(TRACE_VIRTPUT, ("*str = %#o", UChar(*str))); - SetChar(ch, UChar(*str++), A_NORMAL); - if (_nc_waddch_nosync(win, ch) == ERR) { - code = ERR; - break; - } - } - _nc_synchook(win); - } - TR(TRACE_VIRTPUT, ("waddnstr returns %d", code)); - returnCode(code); -} - -NCURSES_EXPORT(int) -waddchnstr(WINDOW *win, const chtype *astr, int n) -{ - NCURSES_SIZE_T y = win->_cury; - NCURSES_SIZE_T x = win->_curx; - int code = OK; - struct ldat *line; - - T((T_CALLED("waddchnstr(%p,%p,%d)"), win, astr, n)); - - if (!win) - returnCode(ERR); - - if (n < 0) { - const chtype *str; - n = 0; - for (str = (const chtype *) astr; *str != 0; str++) - n++; - } - if (n > win->_maxx - x + 1) - n = win->_maxx - x + 1; - if (n == 0) - returnCode(code); - - line = &(win->_line[y]); -#if USE_WIDEC_SUPPORT - { - int i; - for (i = 0; i < n; ++i) - SetChar(line->text[i + x], ChCharOf(astr[i]), ChAttrOf(astr[i])); - } -#else - memcpy(line->text + x, astr, n * sizeof(*astr)); -#endif - CHANGED_RANGE(line, x, x + n - 1); - - _nc_synchook(win); - returnCode(code); -} - -#if USE_WIDEC_SUPPORT - -NCURSES_EXPORT(int) -_nc_wchstrlen(const cchar_t *s) -{ - int result = 0; - while (CharOf(s[result]) != L'\0') { - result++; - } - return result; -} - -NCURSES_EXPORT(int) -wadd_wchnstr(WINDOW *win, const cchar_t *astr, int n) -{ - NCURSES_CH_T blank = NewChar(BLANK_TEXT); - NCURSES_SIZE_T y = win->_cury; - NCURSES_SIZE_T x = win->_curx; - int code = OK; - struct ldat *line; - int i, j, start, len, end; - - T((T_CALLED("wadd_wchnstr(%p,%s,%d)"), win, _nc_viscbuf(astr, n), n)); - - if (!win) - returnCode(ERR); - - if (n < 0) { - n = _nc_wchstrlen(astr); - } - if (n > win->_maxx - x + 1) - n = win->_maxx - x + 1; - if (n == 0) - returnCode(code); - - line = &(win->_line[y]); - start = x; - end = x + n - 1; - - /* - * Reset orphaned cells of multi-column characters that extend up to the - * new string's location to blanks. - */ - if (x > 0 && isWidecExt(line->text[x])) { - for (i = 0; i <= x; ++i) { - if (!isWidecExt(line->text[x - i])) { - /* must be isWidecBase() */ - start -= i; - while (i > 0) { - line->text[x - i--] = _nc_render(win, blank); - } - break; - } - } - } - - /* - * Copy the new string to the window. - */ - for (i = 0; i < n && x <= win->_maxx; ++i) { - if (isWidecExt(astr[i])) - continue; - - len = wcwidth(CharOf(astr[i])); - - if (x + len - 1 <= win->_maxx) { - line->text[x] = _nc_render(win, astr[i]); - if (len > 1) { - for (j = 0; j < len; ++j) { - if (j != 0) { - line->text[x + j] = line->text[x]; - } - SetWidecExt(line->text[x + j], j); - } - } - x += len; - end += len - 1; - } else { - break; - } - } - - /* - * Set orphaned cells of multi-column characters which lie after the new - * string to blanks. - */ - while (x <= win->_maxx && isWidecExt(line->text[x])) { - line->text[x] = _nc_render(win, blank); - ++end; - ++x; - } - CHANGED_RANGE(line, start, end); - - _nc_synchook(win); - returnCode(code); -} - -NCURSES_EXPORT(int) -waddnwstr(WINDOW *win, const wchar_t *str, int n) -{ - int code = ERR; - - T((T_CALLED("waddnwstr(%p,%s,%d)"), win, _nc_viswbufn(str, n), n)); - - if (win && (str != 0)) { - TR(TRACE_VIRTPUT | TRACE_ATTRS, ("... current %s", _traceattr(win->_attrs))); - code = OK; - if (n < 0) - n = (int) wcslen(str); - - TR(TRACE_VIRTPUT, ("str is not null, length = %d", n)); - while ((n-- > 0) && (*str != L('\0'))) { - NCURSES_CH_T ch; - TR(TRACE_VIRTPUT, ("*str[0] = %#lx", (unsigned long) *str)); - SetChar(ch, *str++, A_NORMAL); - if (wadd_wch(win, &ch) == ERR) { - code = ERR; - break; - } - } - _nc_synchook(win); - } - TR(TRACE_VIRTPUT, ("waddnwstr returns %d", code)); - returnCode(code); -} - -#endif diff --git a/src/libs/ncurses/ncurses/base/lib_beep.c b/src/libs/ncurses/ncurses/base/lib_beep.c deleted file mode 100644 index b478f251a1..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_beep.c +++ /dev/null @@ -1,76 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * beep.c - * - * The routine beep(). - * - */ - -#include -#include /* beep, flash */ - -MODULE_ID("$Id: lib_beep.c,v 1.10 2005/04/09 15:20:04 tom Exp $") - -/* - * beep() - * - * Sound the current terminal's audible bell if it has one. If not, - * flash the screen if possible. - * - */ - -NCURSES_EXPORT(int) -beep(void) -{ - int res = ERR; - - T((T_CALLED("beep()"))); - - /* FIXME: should make sure that we are not in altchar mode */ - if (cur_term == 0) { - res = ERR; - } else if (bell) { - TPUTS_TRACE("bell"); - res = putp(bell); - _nc_flush(); - } else if (flash_screen) { - TPUTS_TRACE("flash_screen"); - res = putp(flash_screen); - _nc_flush(); - } - - returnCode(res); -} diff --git a/src/libs/ncurses/ncurses/base/lib_bkgd.c b/src/libs/ncurses/ncurses/base/lib_bkgd.c deleted file mode 100644 index 48111a7816..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_bkgd.c +++ /dev/null @@ -1,156 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Juergen Pfeifer 1997 * - * and: Sven Verdoolaege 2000 * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -#include - -MODULE_ID("$Id: lib_bkgd.c,v 1.32 2005/04/16 18:03:48 tom Exp $") - -/* - * Set the window's background information. - */ -#if USE_WIDEC_SUPPORT -NCURSES_EXPORT(void) -#else -static inline void -#endif -wbkgrndset(WINDOW *win, const ARG_CH_T ch) -{ - T((T_CALLED("wbkgdset(%p,%s)"), win, _tracech_t(ch))); - - if (win) { - attr_t off = AttrOf(win->_nc_bkgd); - attr_t on = AttrOf(CHDEREF(ch)); - - toggle_attr_off(win->_attrs, off); - toggle_attr_on(win->_attrs, on); - -#if NCURSES_EXT_COLORS - { - int pair; - - if ((pair = GetPair(win->_nc_bkgd)) != 0) - SET_WINDOW_PAIR(win, 0); - if ((pair = GetPair(CHDEREF(ch))) != 0) - SET_WINDOW_PAIR(win, pair); - } -#endif - - if (CharOf(CHDEREF(ch)) == L('\0')) { - SetChar(win->_nc_bkgd, BLANK_TEXT, AttrOf(CHDEREF(ch))); - SetPair(win->_nc_bkgd, GetPair(CHDEREF(ch))); - } else { - win->_nc_bkgd = CHDEREF(ch); - } -#if USE_WIDEC_SUPPORT - /* - * If we're compiled for wide-character support, _bkgrnd is the - * preferred location for the background information since it stores - * more than _bkgd. Update _bkgd each time we modify _bkgrnd, so the - * macro getbkgd() will work. - */ - { - cchar_t wch; - int tmp; - - wgetbkgrnd(win, &wch); - tmp = _nc_to_char((wint_t) CharOf(wch)); - - win->_bkgd = (((tmp == EOF) ? ' ' : (chtype) tmp) - | (AttrOf(wch) & ALL_BUT_COLOR) - | COLOR_PAIR(GET_WINDOW_PAIR(win))); - } -#endif - } - returnVoid; -} - -NCURSES_EXPORT(void) -wbkgdset(WINDOW *win, chtype ch) -{ - NCURSES_CH_T wch; - SetChar2(wch, ch); - wbkgrndset(win, CHREF(wch)); -} - -/* - * Set the window's background information and apply it to each cell. - */ -#if USE_WIDEC_SUPPORT -NCURSES_EXPORT(int) -#else -static inline int -#undef wbkgrnd -#endif -wbkgrnd(WINDOW *win, const ARG_CH_T ch) -{ - int code = ERR; - int x, y; - NCURSES_CH_T new_bkgd = CHDEREF(ch); - - T((T_CALLED("wbkgd(%p,%s)"), win, _tracech_t(ch))); - - if (win) { - NCURSES_CH_T old_bkgrnd; - wgetbkgrnd(win, &old_bkgrnd); - - wbkgrndset(win, CHREF(new_bkgd)); - wattrset(win, AttrOf(win->_nc_bkgd)); - - for (y = 0; y <= win->_maxy; y++) { - for (x = 0; x <= win->_maxx; x++) { - if (CharEq(win->_line[y].text[x], old_bkgrnd)) - win->_line[y].text[x] = win->_nc_bkgd; - else { - NCURSES_CH_T wch = win->_line[y].text[x]; - RemAttr(wch, (~A_ALTCHARSET)); - win->_line[y].text[x] = _nc_render(win, wch); - } - } - } - touchwin(win); - _nc_synchook(win); - code = OK; - } - returnCode(code); -} - -NCURSES_EXPORT(int) -wbkgd(WINDOW *win, chtype ch) -{ - NCURSES_CH_T wch; - SetChar2(wch, ch); - return wbkgrnd(win, CHREF(wch)); -} diff --git a/src/libs/ncurses/ncurses/base/lib_box.c b/src/libs/ncurses/ncurses/base/lib_box.c deleted file mode 100644 index 50f436592d..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_box.c +++ /dev/null @@ -1,126 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_box.c -** -** The routine wborder(). -** -*/ - -#include - -MODULE_ID("$Id: lib_box.c,v 1.21 2002/09/15 01:04:27 tom Exp $") - -#if USE_WIDEC_SUPPORT -static inline chtype -_my_render(WINDOW *win, chtype ch) -{ - NCURSES_CH_T wch; - SetChar2(wch, ch); - wch = _nc_render(win, wch); - return CharOf(wch) | AttrOf(wch); -} -#define RENDER_WITH_DEFAULT(ch,def) w ## ch = _my_render(win, (ch == 0) ? def : ch) -#else -#define RENDER_WITH_DEFAULT(ch,def) w ## ch = _nc_render(win, (ch == 0) ? def : ch) -#endif - -NCURSES_EXPORT(int) -wborder(WINDOW *win, - chtype ls, chtype rs, - chtype ts, chtype bs, - chtype tl, chtype tr, - chtype bl, chtype br) -{ - NCURSES_SIZE_T i; - NCURSES_SIZE_T endx, endy; - chtype wls, wrs, wts, wbs, wtl, wtr, wbl, wbr; - - T((T_CALLED("wborder(%p,%s,%s,%s,%s,%s,%s,%s,%s)"), - win, - _tracechtype2(1, ls), - _tracechtype2(2, rs), - _tracechtype2(3, ts), - _tracechtype2(4, bs), - _tracechtype2(5, tl), - _tracechtype2(6, tr), - _tracechtype2(7, bl), - _tracechtype2(8, br))); - - if (!win) - returnCode(ERR); - - RENDER_WITH_DEFAULT(ls, ACS_VLINE); - RENDER_WITH_DEFAULT(rs, ACS_VLINE); - RENDER_WITH_DEFAULT(ts, ACS_HLINE); - RENDER_WITH_DEFAULT(bs, ACS_HLINE); - RENDER_WITH_DEFAULT(tl, ACS_ULCORNER); - RENDER_WITH_DEFAULT(tr, ACS_URCORNER); - RENDER_WITH_DEFAULT(bl, ACS_LLCORNER); - RENDER_WITH_DEFAULT(br, ACS_LRCORNER); - - T(("using %s, %s, %s, %s, %s, %s, %s, %s", - _tracechtype2(1, wls), - _tracechtype2(2, wrs), - _tracechtype2(3, wts), - _tracechtype2(4, wbs), - _tracechtype2(5, wtl), - _tracechtype2(6, wtr), - _tracechtype2(7, wbl), - _tracechtype2(8, wbr))); - - endx = win->_maxx; - endy = win->_maxy; - - for (i = 0; i <= endx; i++) { - SetChar2(win->_line[0].text[i], wts); - SetChar2(win->_line[endy].text[i], wbs); - } - win->_line[endy].firstchar = win->_line[0].firstchar = 0; - win->_line[endy].lastchar = win->_line[0].lastchar = endx; - - for (i = 0; i <= endy; i++) { - SetChar2(win->_line[i].text[0], wls); - SetChar2(win->_line[i].text[endx], wrs); - win->_line[i].firstchar = 0; - win->_line[i].lastchar = endx; - } - SetChar2(win->_line[0].text[0], wtl); - SetChar2(win->_line[0].text[endx], wtr); - SetChar2(win->_line[endy].text[0], wbl); - SetChar2(win->_line[endy].text[endx], wbr); - - _nc_synchook(win); - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/base/lib_chgat.c b/src/libs/ncurses/ncurses/base/lib_chgat.c deleted file mode 100644 index fc8a22f454..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_chgat.c +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Sven Verdoolaege 2001 * - * and: Thomas E. Dickey 2005 * - ****************************************************************************/ - -/* -** lib_chgat.c -** -** The routine wchgat(). -** -*/ - -#include - -MODULE_ID("$Id: lib_chgat.c,v 1.6 2005/01/29 21:46:12 tom Exp $") - -NCURSES_EXPORT(int) -wchgat(WINDOW *win, int n, attr_t attr, short color, const void *opts GCC_UNUSED) -{ - int i; - - T((T_CALLED("wchgat(%p,%d,%s,%d)"), win, n, _traceattr(attr), color)); - - if (win) { - toggle_attr_on(attr, COLOR_PAIR(color)); - - for (i = win->_curx; i <= win->_maxx && (n == -1 || (n-- > 0)); i++) { - SetAttr(win->_line[win->_cury].text[i], attr); - SetPair(win->_line[win->_cury].text[i], color); - } - - returnCode(OK); - } else - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/base/lib_clear.c b/src/libs/ncurses/ncurses/base/lib_clear.c deleted file mode 100644 index e0b4edf9e2..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_clear.c +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_clear.c -** -** The routine wclear(). -** -*/ - -#include - -MODULE_ID("$Id: lib_clear.c,v 1.7 2000/12/10 02:43:26 tom Exp $") - -NCURSES_EXPORT(int) -wclear(WINDOW *win) -{ - int code = ERR; - - T((T_CALLED("wclear(%p)"), win)); - - if ((code = werase(win)) != ERR) - win->_clear = TRUE; - - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/base/lib_clearok.c b/src/libs/ncurses/ncurses/base/lib_clearok.c deleted file mode 100644 index 9b56bd1ec6..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_clearok.c +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_clearok.c -** -** The routine clearok. -** -*/ - -#include - -MODULE_ID("$Id: lib_clearok.c,v 1.4 2000/12/10 02:43:26 tom Exp $") - -NCURSES_EXPORT(int) -clearok(WINDOW *win, bool flag) -{ - T((T_CALLED("clearok(%p,%d)"), win, flag)); - - if (win) { - win->_clear = flag; - returnCode(OK); - } else - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/base/lib_clrbot.c b/src/libs/ncurses/ncurses/base/lib_clrbot.c deleted file mode 100644 index bc12960e48..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_clrbot.c +++ /dev/null @@ -1,76 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_clrbot.c -** -** The routine wclrtobot(). -** -*/ - -#include - -MODULE_ID("$Id: lib_clrbot.c,v 1.19 2001/12/19 01:05:59 tom Exp $") - -NCURSES_EXPORT(int) -wclrtobot(WINDOW *win) -{ - int code = ERR; - - T((T_CALLED("wclrtobot(%p)"), win)); - - if (win) { - NCURSES_SIZE_T y; - NCURSES_SIZE_T startx = win->_curx; - NCURSES_CH_T blank = win->_nc_bkgd; - - T(("clearing from y = %d to y = %d with maxx = %d", - win->_cury, win->_maxy, win->_maxx)); - - for (y = win->_cury; y <= win->_maxy; y++) { - struct ldat *line = &(win->_line[y]); - NCURSES_CH_T *ptr = &(line->text[startx]); - NCURSES_CH_T *end = &(line->text[win->_maxx]); - - CHANGED_TO_EOL(line, startx, win->_maxx); - - while (ptr <= end) - *ptr++ = blank; - - startx = 0; - } - _nc_synchook(win); - code = OK; - } - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/base/lib_clreol.c b/src/libs/ncurses/ncurses/base/lib_clreol.c deleted file mode 100644 index c46ebd93a3..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_clreol.c +++ /dev/null @@ -1,91 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_clreol.c -** -** The routine wclrtoeol(). -** -*/ - -#include - -MODULE_ID("$Id: lib_clreol.c,v 1.21 2001/12/19 01:06:04 tom Exp $") - -NCURSES_EXPORT(int) -wclrtoeol(WINDOW *win) -{ - int code = ERR; - - T((T_CALLED("wclrtoeol(%p)"), win)); - - if (win) { - NCURSES_CH_T blank; - NCURSES_CH_T *ptr, *end; - struct ldat *line; - NCURSES_SIZE_T y = win->_cury; - NCURSES_SIZE_T x = win->_curx; - - /* - * If we have just wrapped the cursor, the clear applies to the - * new line, unless we are at the lower right corner. - */ - if ((win->_flags & _WRAPPED) != 0 - && y < win->_maxy) { - win->_flags &= ~_WRAPPED; - } - - /* - * There's no point in clearing if we're not on a legal - * position, either. - */ - if ((win->_flags & _WRAPPED) != 0 - || y > win->_maxy - || x > win->_maxx) - returnCode(ERR); - - blank = win->_nc_bkgd; - line = &win->_line[y]; - CHANGED_TO_EOL(line, x, win->_maxx); - - ptr = &(line->text[x]); - end = &(line->text[win->_maxx]); - - while (ptr <= end) - *ptr++ = blank; - - _nc_synchook(win); - code = OK; - } - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/base/lib_color.c b/src/libs/ncurses/ncurses/base/lib_color.c deleted file mode 100644 index 27fb37278b..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_color.c +++ /dev/null @@ -1,571 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* lib_color.c - * - * Handles color emulation of SYS V curses - */ - -#include - -#include -#include - -MODULE_ID("$Id: lib_color.c,v 1.75 2005/06/18 20:19:08 tom Exp $") - -/* - * These should be screen structure members. They need to be globals for - * historical reasons. So we assign them in start_color() and also in - * set_term()'s screen-switching logic. - */ -NCURSES_EXPORT_VAR(int) COLOR_PAIRS = 0; -NCURSES_EXPORT_VAR(int) COLORS = 0; - -#define DATA(r,g,b) {r,g,b, 0,0,0, 0} - -#define TYPE_CALLOC(type,elts) typeCalloc(type, (unsigned)(elts)) - -/* - * Given a RGB range of 0..1000, we'll normally set the individual values - * to about 2/3 of the maximum, leaving full-range for bold/bright colors. - */ -#define RGB_ON 680 -#define RGB_OFF 0 -/* *INDENT-OFF* */ -static const color_t cga_palette[] = -{ - /* R G B */ - DATA(RGB_OFF, RGB_OFF, RGB_OFF), /* COLOR_BLACK */ - DATA(RGB_ON, RGB_OFF, RGB_OFF), /* COLOR_RED */ - DATA(RGB_OFF, RGB_ON, RGB_OFF), /* COLOR_GREEN */ - DATA(RGB_ON, RGB_ON, RGB_OFF), /* COLOR_YELLOW */ - DATA(RGB_OFF, RGB_OFF, RGB_ON), /* COLOR_BLUE */ - DATA(RGB_ON, RGB_OFF, RGB_ON), /* COLOR_MAGENTA */ - DATA(RGB_OFF, RGB_ON, RGB_ON), /* COLOR_CYAN */ - DATA(RGB_ON, RGB_ON, RGB_ON), /* COLOR_WHITE */ -}; - -static const color_t hls_palette[] = -{ - /* H L S */ - DATA( 0, 0, 0), /* COLOR_BLACK */ - DATA( 120, 50, 100), /* COLOR_RED */ - DATA( 240, 50, 100), /* COLOR_GREEN */ - DATA( 180, 50, 100), /* COLOR_YELLOW */ - DATA( 330, 50, 100), /* COLOR_BLUE */ - DATA( 60, 50, 100), /* COLOR_MAGENTA */ - DATA( 300, 50, 100), /* COLOR_CYAN */ - DATA( 0, 50, 100), /* COLOR_WHITE */ -}; -/* *INDENT-ON* */ - -#if NCURSES_EXT_FUNCS -/* - * These are called from _nc_do_color(), which in turn is called from - * vidattr - so we have to assume that SP may be null. - */ -static int -default_fg(void) -{ - return (SP != 0) ? SP->_default_fg : COLOR_WHITE; -} - -static int -default_bg(void) -{ - return SP != 0 ? SP->_default_bg : COLOR_BLACK; -} -#else -#define default_fg() COLOR_WHITE -#define default_bg() COLOR_BLACK -#endif - -/* - * SVr4 curses is known to interchange color codes (1,4) and (3,6), possibly - * to maintain compatibility with a pre-ANSI scheme. The same scheme is - * also used in the FreeBSD syscons. - */ -static int -toggled_colors(int c) -{ - if (c < 16) { - static const int table[] = - {0, 4, 2, 6, 1, 5, 3, 7, - 8, 12, 10, 14, 9, 13, 11, 15}; - c = table[c]; - } - return c; -} - -static void -set_background_color(int bg, int (*outc) (int)) -{ - if (set_a_background) { - TPUTS_TRACE("set_a_background"); - tputs(tparm(set_a_background, bg), 1, outc); - } else { - TPUTS_TRACE("set_background"); - tputs(tparm(set_background, toggled_colors(bg)), 1, outc); - } -} - -static void -set_foreground_color(int fg, int (*outc) (int)) -{ - if (set_a_foreground) { - TPUTS_TRACE("set_a_foreground"); - tputs(tparm(set_a_foreground, fg), 1, outc); - } else { - TPUTS_TRACE("set_foreground"); - tputs(tparm(set_foreground, toggled_colors(fg)), 1, outc); - } -} - -static void -init_color_table(void) -{ - const color_t *tp; - int n; - - tp = (hue_lightness_saturation) ? hls_palette : cga_palette; - for (n = 0; n < COLORS; n++) { - if (n < 8) { - SP->_color_table[n] = tp[n]; - } else { - SP->_color_table[n] = tp[n % 8]; - if (hue_lightness_saturation) { - SP->_color_table[n].green = 100; - } else { - if (SP->_color_table[n].red) - SP->_color_table[n].red = 1000; - if (SP->_color_table[n].green) - SP->_color_table[n].green = 1000; - if (SP->_color_table[n].blue) - SP->_color_table[n].blue = 1000; - } - } - } -} - -/* - * Reset the color pair, e.g., to whatever color pair 0 is. - */ -static bool -reset_color_pair(void) -{ - bool result = FALSE; - - if (orig_pair != 0) { - TPUTS_TRACE("orig_pair"); - putp(orig_pair); - result = TRUE; - } - return result; -} - -/* - * Reset color pairs and definitions. Actually we do both more to accommodate - * badly-written terminal descriptions than for the relatively rare case where - * someone has changed the color definitions. - */ -bool -_nc_reset_colors(void) -{ - int result = FALSE; - - T((T_CALLED("_nc_reset_colors()"))); - if (SP->_color_defs > 0) - SP->_color_defs = -(SP->_color_defs); - - if (reset_color_pair()) - result = TRUE; - if (orig_colors != 0) { - TPUTS_TRACE("orig_colors"); - putp(orig_colors); - result = TRUE; - } - returnBool(result); -} - -NCURSES_EXPORT(int) -start_color(void) -{ - int result = ERR; - - T((T_CALLED("start_color()"))); - - if (SP == 0) { - result = ERR; - } else if (SP->_coloron) { - result = OK; - } else { - - if (reset_color_pair() != TRUE) { - set_foreground_color(default_fg(), _nc_outch); - set_background_color(default_bg(), _nc_outch); - } - - if (max_pairs > 0 && max_colors > 0) { - COLOR_PAIRS = SP->_pair_count = max_pairs; - COLORS = SP->_color_count = max_colors; - - if ((SP->_color_pairs = TYPE_CALLOC(colorpair_t, - max_pairs)) != 0) { - if ((SP->_color_table = TYPE_CALLOC(color_t, - max_colors)) != 0) { - SP->_color_pairs[0] = PAIR_OF(default_fg(), default_bg()); - init_color_table(); - - T(("started color: COLORS = %d, COLOR_PAIRS = %d", - COLORS, COLOR_PAIRS)); - - SP->_coloron = 1; - result = OK; - } else if (SP->_color_pairs != 0) { - FreeAndNull(SP->_color_pairs); - } - } - } else { - result = OK; - } - } - returnCode(result); -} - -/* This function was originally written by Daniel Weaver */ -static void -rgb2hls(short r, short g, short b, short *h, short *l, short *s) -/* convert RGB to HLS system */ -{ - short min, max, t; - - if ((min = g < r ? g : r) > b) - min = b; - if ((max = g > r ? g : r) < b) - max = b; - - /* calculate lightness */ - *l = (min + max) / 20; - - if (min == max) { /* black, white and all shades of gray */ - *h = 0; - *s = 0; - return; - } - - /* calculate saturation */ - if (*l < 50) - *s = ((max - min) * 100) / (max + min); - else - *s = ((max - min) * 100) / (2000 - max - min); - - /* calculate hue */ - if (r == max) - t = 120 + ((g - b) * 60) / (max - min); - else if (g == max) - t = 240 + ((b - r) * 60) / (max - min); - else - t = 360 + ((r - g) * 60) / (max - min); - - *h = t % 360; -} - -/* - * Extension (1997/1/18) - Allow negative f/b values to set default color - * values. - */ -NCURSES_EXPORT(int) -init_pair(short pair, short f, short b) -{ - colorpair_t result; - - T((T_CALLED("init_pair(%d,%d,%d)"), pair, f, b)); - - if ((pair < 0) || (pair >= COLOR_PAIRS) || SP == 0 || !SP->_coloron) - returnCode(ERR); -#if NCURSES_EXT_FUNCS - if (SP->_default_color) { - if (f < 0) - f = COLOR_DEFAULT; - if (b < 0) - b = COLOR_DEFAULT; - if (f >= COLORS && !isDefaultColor(f)) - returnCode(ERR); - if (b >= COLORS && !isDefaultColor(b)) - returnCode(ERR); - } else -#endif - { - if ((f < 0) || (f >= COLORS) - || (b < 0) || (b >= COLORS) - || (pair < 1)) - returnCode(ERR); - } - - /* - * When a pair's content is changed, replace its colors (if pair was - * initialized before a screen update is performed replacing original - * pair colors with the new ones). - */ - result = PAIR_OF(f, b); - if (SP->_color_pairs[pair] != 0 - && SP->_color_pairs[pair] != result) { - int y, x; - - for (y = 0; y <= curscr->_maxy; y++) { - struct ldat *ptr = &(curscr->_line[y]); - bool changed = FALSE; - for (x = 0; x <= curscr->_maxx; x++) { - if (GetPair(ptr->text[x]) == pair) { - /* Set the old cell to zero to ensure it will be - updated on the next doupdate() */ - SetChar(ptr->text[x], 0, 0); - CHANGED_CELL(ptr, x); - changed = TRUE; - } - } - if (changed) - _nc_make_oldhash(y); - } - } - SP->_color_pairs[pair] = result; - if (GET_SCREEN_PAIR(SP) == pair) - SET_SCREEN_PAIR(SP, ~0); /* force attribute update */ - - if (initialize_pair) { - const color_t *tp = hue_lightness_saturation ? hls_palette : cga_palette; - - T(("initializing pair: pair = %d, fg=(%d,%d,%d), bg=(%d,%d,%d)", - pair, - tp[f].red, tp[f].green, tp[f].blue, - tp[b].red, tp[b].green, tp[b].blue)); - - if (initialize_pair) { - TPUTS_TRACE("initialize_pair"); - putp(tparm(initialize_pair, - pair, - tp[f].red, tp[f].green, tp[f].blue, - tp[b].red, tp[b].green, tp[b].blue)); - } - } - - returnCode(OK); -} - -#define okRGB(n) ((n) >= 0 && (n) <= 1000) - -NCURSES_EXPORT(int) -init_color(short color, short r, short g, short b) -{ - int result = ERR; - - T((T_CALLED("init_color(%d,%d,%d,%d)"), color, r, g, b)); - - if (initialize_color != NULL - && SP != 0 - && SP->_coloron - && (color >= 0 && color < COLORS) - && (okRGB(r) && okRGB(g) && okRGB(b))) { - - SP->_color_table[color].init = 1; - SP->_color_table[color].r = r; - SP->_color_table[color].g = g; - SP->_color_table[color].b = b; - - if (hue_lightness_saturation) { - rgb2hls(r, g, b, - &SP->_color_table[color].red, - &SP->_color_table[color].green, - &SP->_color_table[color].blue); - } else { - SP->_color_table[color].red = r; - SP->_color_table[color].green = g; - SP->_color_table[color].blue = b; - } - - TPUTS_TRACE("initialize_color"); - putp(tparm(initialize_color, color, r, g, b)); - SP->_color_defs = max(color + 1, SP->_color_defs); - result = OK; - } - returnCode(result); -} - -NCURSES_EXPORT(bool) -can_change_color(void) -{ - T((T_CALLED("can_change_color()"))); - returnCode((can_change != 0) ? TRUE : FALSE); -} - -NCURSES_EXPORT(bool) -has_colors(void) -{ - T((T_CALLED("has_colors()"))); - returnCode((VALID_NUMERIC(max_colors) && VALID_NUMERIC(max_pairs) - && (((set_foreground != NULL) - && (set_background != NULL)) - || ((set_a_foreground != NULL) - && (set_a_background != NULL)) - || set_color_pair)) ? TRUE : FALSE); -} - -NCURSES_EXPORT(int) -color_content(short color, short *r, short *g, short *b) -{ - int result; - - T((T_CALLED("color_content(%d,%p,%p,%p)"), color, r, g, b)); - if (color < 0 || color >= COLORS || SP == 0 || !SP->_coloron) { - result = ERR; - } else { - NCURSES_COLOR_T c_r = SP->_color_table[color].red; - NCURSES_COLOR_T c_g = SP->_color_table[color].green; - NCURSES_COLOR_T c_b = SP->_color_table[color].blue; - - if (r) - *r = c_r; - if (g) - *g = c_g; - if (b) - *b = c_b; - - T(("...color_content(%d,%d,%d,%d)", color, c_r, c_g, c_b)); - result = OK; - } - returnCode(result); -} - -NCURSES_EXPORT(int) -pair_content(short pair, short *f, short *b) -{ - int result; - - T((T_CALLED("pair_content(%d,%p,%p)"), pair, f, b)); - - if ((pair < 0) || (pair >= COLOR_PAIRS) || SP == 0 || !SP->_coloron) { - result = ERR; - } else { - NCURSES_COLOR_T fg = ((SP->_color_pairs[pair] >> C_SHIFT) & C_MASK); - NCURSES_COLOR_T bg = (SP->_color_pairs[pair] & C_MASK); - -#if NCURSES_EXT_FUNCS - if (fg == COLOR_DEFAULT) - fg = -1; - if (bg == COLOR_DEFAULT) - bg = -1; -#endif - - if (f) - *f = fg; - if (b) - *b = bg; - - T(("...pair_content(%d,%d,%d)", pair, fg, bg)); - result = OK; - } - returnCode(result); -} - -NCURSES_EXPORT(void) -_nc_do_color(int old_pair, int pair, bool reverse, int (*outc) (int)) -{ - NCURSES_COLOR_T fg = COLOR_DEFAULT; - NCURSES_COLOR_T bg = COLOR_DEFAULT; - NCURSES_COLOR_T old_fg, old_bg; - - if (pair < 0 || pair >= COLOR_PAIRS) { - return; - } else if (pair != 0) { - if (set_color_pair) { - TPUTS_TRACE("set_color_pair"); - tputs(tparm(set_color_pair, pair), 1, outc); - return; - } else if (SP != 0) { - pair_content(pair, &fg, &bg); - } - } - - if (old_pair >= 0 - && SP != 0 - && pair_content(old_pair, &old_fg, &old_bg) != ERR) { - if ((isDefaultColor(fg) && !isDefaultColor(old_fg)) - || (isDefaultColor(bg) && !isDefaultColor(old_bg))) { -#if NCURSES_EXT_FUNCS - /* - * A minor optimization - but extension. If "AX" is specified in - * the terminal description, treat it as screen's indicator of ECMA - * SGR 39 and SGR 49, and assume the two sequences are independent. - */ - if (SP->_has_sgr_39_49 - && isDefaultColor(old_bg) - && !isDefaultColor(old_fg)) { - tputs("\033[39m", 1, outc); - } else if (SP->_has_sgr_39_49 - && isDefaultColor(old_fg) - && !isDefaultColor(old_bg)) { - tputs("\033[49m", 1, outc); - } else -#endif - reset_color_pair(); - } - } else { - reset_color_pair(); - if (old_pair < 0) - return; - } - -#if NCURSES_EXT_FUNCS - if (isDefaultColor(fg)) - fg = default_fg(); - if (isDefaultColor(bg)) - bg = default_bg(); -#endif - - if (reverse) { - NCURSES_COLOR_T xx = fg; - fg = bg; - bg = xx; - } - - TR(TRACE_ATTRS, ("setting colors: pair = %d, fg = %d, bg = %d", pair, - fg, bg)); - - if (!isDefaultColor(fg)) { - set_foreground_color(fg, outc); - } - if (!isDefaultColor(bg)) { - set_background_color(bg, outc); - } -} diff --git a/src/libs/ncurses/ncurses/base/lib_colorset.c b/src/libs/ncurses/ncurses/base/lib_colorset.c deleted file mode 100644 index a973c5350c..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_colorset.c +++ /dev/null @@ -1,60 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1998 * - * and: Thomas E. Dickey, 2005 * - ****************************************************************************/ - -/* -** lib_colorset.c -** -** The routine wcolor_set(). -** -*/ - -#include -#include - -MODULE_ID("$Id: lib_colorset.c,v 1.11 2005/01/29 21:40:51 tom Exp $") - -NCURSES_EXPORT(int) -wcolor_set(WINDOW *win, short color_pair_number, void *opts) -{ - T((T_CALLED("wcolor_set(%p,%d)"), win, color_pair_number)); - if (win - && !opts - && (color_pair_number >= 0) - && (color_pair_number < COLOR_PAIRS)) { - TR(TRACE_ATTRS, ("... current %ld", (long) GET_WINDOW_PAIR(win))); - SET_WINDOW_PAIR(win, color_pair_number); - if_EXT_COLORS(win->_color = color_pair_number); - returnCode(OK); - } else - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/base/lib_delch.c b/src/libs/ncurses/ncurses/base/lib_delch.c deleted file mode 100644 index 0c30f2d93c..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_delch.c +++ /dev/null @@ -1,69 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_delch.c -** -** The routine wdelch(). -** -*/ - -#include - -MODULE_ID("$Id: lib_delch.c,v 1.12 2001/12/19 01:06:09 tom Exp $") - -NCURSES_EXPORT(int) -wdelch(WINDOW *win) -{ - int code = ERR; - - T((T_CALLED("wdelch(%p)"), win)); - - if (win) { - NCURSES_CH_T blank = win->_nc_bkgd; - struct ldat *line = &(win->_line[win->_cury]); - NCURSES_CH_T *end = &(line->text[win->_maxx]); - NCURSES_CH_T *temp2 = &(line->text[win->_curx + 1]); - NCURSES_CH_T *temp1 = temp2 - 1; - - CHANGED_TO_EOL(line, win->_curx, win->_maxx); - while (temp1 < end) - *temp1++ = *temp2++; - - *temp1 = blank; - - _nc_synchook(win); - code = OK; - } - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/base/lib_delwin.c b/src/libs/ncurses/ncurses/base/lib_delwin.c deleted file mode 100644 index 89d8e7c32e..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_delwin.c +++ /dev/null @@ -1,78 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_delwin.c -** -** The routine delwin(). -** -*/ - -#include - -MODULE_ID("$Id: lib_delwin.c,v 1.13 2001/08/26 00:40:20 tom Exp $") - -static bool -cannot_delete(WINDOW *win) -{ - WINDOWLIST *p; - bool result = TRUE; - - for (p = _nc_windows; p != 0; p = p->next) { - if (&(p->win) == win) { - result = FALSE; - } else if ((p->win._flags & _SUBWIN) != 0 - && p->win._parent == win) { - result = TRUE; - break; - } - } - return result; -} - -NCURSES_EXPORT(int) -delwin(WINDOW *win) -{ - T((T_CALLED("delwin(%p)"), win)); - - if (win == 0 - || cannot_delete(win)) - returnCode(ERR); - - if (win->_flags & _SUBWIN) - touchwin(win->_parent); - else if (curscr != 0) - touchwin(curscr); - - returnCode(_nc_freewin(win)); -} diff --git a/src/libs/ncurses/ncurses/base/lib_dft_fgbg.c b/src/libs/ncurses/ncurses/base/lib_dft_fgbg.c deleted file mode 100644 index e78281ea10..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_dft_fgbg.c +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey * - ****************************************************************************/ - -#include -#include - -MODULE_ID("$Id: lib_dft_fgbg.c,v 1.17 2005/01/29 21:42:15 tom Exp $") - -/* - * Modify the behavior of color-pair 0 so that the library doesn't assume that - * it is white on black. This is an extension to XSI curses. - */ -NCURSES_EXPORT(int) -use_default_colors(void) -{ - T((T_CALLED("use_default_colors()"))); - returnCode(assume_default_colors(-1, -1)); -} - -/* - * Modify the behavior of color-pair 0 so that the library assumes that it - * is something specific, possibly not white on black. - */ -NCURSES_EXPORT(int) -assume_default_colors(int fg, int bg) -{ - T((T_CALLED("assume_default_colors(%d,%d)"), fg, bg)); - - if (!orig_pair && !orig_colors) - returnCode(ERR); - - if (initialize_pair) /* don't know how to handle this */ - returnCode(ERR); - - SP->_default_color = isDefaultColor(fg) || isDefaultColor(bg); - SP->_has_sgr_39_49 = (tigetflag("AX") == TRUE); - SP->_default_fg = isDefaultColor(fg) ? COLOR_DEFAULT : (fg & C_MASK); - SP->_default_bg = isDefaultColor(bg) ? COLOR_DEFAULT : (bg & C_MASK); - if (SP->_color_pairs != 0) { - bool save = SP->_default_color; - SP->_default_color = TRUE; - init_pair(0, fg, bg); - SP->_default_color = save; - } - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/base/lib_echo.c b/src/libs/ncurses/ncurses/base/lib_echo.c deleted file mode 100644 index df44713d1a..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_echo.c +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * echo.c - * - * Routines: - * echo() - * noecho() - * - */ - -#include - -MODULE_ID("$Id: lib_echo.c,v 1.5 2000/12/10 02:43:27 tom Exp $") - -NCURSES_EXPORT(int) -echo(void) -{ - T((T_CALLED("echo()"))); - SP->_echo = TRUE; - returnCode(OK); -} - -NCURSES_EXPORT(int) -noecho(void) -{ - T((T_CALLED("noecho()"))); - SP->_echo = FALSE; - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/base/lib_endwin.c b/src/libs/ncurses/ncurses/base/lib_endwin.c deleted file mode 100644 index 6666287196..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_endwin.c +++ /dev/null @@ -1,60 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_endwin.c -** -** The routine endwin(). -** -*/ - -#include -#include - -MODULE_ID("$Id: lib_endwin.c,v 1.19 2000/12/10 02:43:27 tom Exp $") - -NCURSES_EXPORT(int) -endwin(void) -{ - T((T_CALLED("endwin()"))); - - if (SP) { - SP->_endwin = TRUE; - SP->_mouse_wrap(SP); - _nc_screen_wrap(); - _nc_mvcur_wrap(); /* wrap up cursor addressing */ - returnCode(reset_shell_mode()); - } - - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/base/lib_erase.c b/src/libs/ncurses/ncurses/base/lib_erase.c deleted file mode 100644 index 5e397312ff..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_erase.c +++ /dev/null @@ -1,73 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_erase.c -** -** The routine werase(). -** -*/ - -#include - -MODULE_ID("$Id: lib_erase.c,v 1.15 2001/12/19 01:06:13 tom Exp $") - -NCURSES_EXPORT(int) -werase(WINDOW *win) -{ - int code = ERR; - int y; - NCURSES_CH_T blank; - NCURSES_CH_T *sp, *end, *start; - - T((T_CALLED("werase(%p)"), win)); - - if (win) { - blank = win->_nc_bkgd; - for (y = 0; y <= win->_maxy; y++) { - start = win->_line[y].text; - end = &start[win->_maxx]; - - for (sp = start; sp <= end; sp++) - *sp = blank; - - win->_line[y].firstchar = 0; - win->_line[y].lastchar = win->_maxx; - } - win->_curx = win->_cury = 0; - win->_flags &= ~_WRAPPED; - _nc_synchook(win); - code = OK; - } - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/base/lib_flash.c b/src/libs/ncurses/ncurses/base/lib_flash.c deleted file mode 100644 index a6b022a8e8..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_flash.c +++ /dev/null @@ -1,73 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * flash.c - * - * The routine flash(). - * - */ - -#include -#include /* beep, flash */ - -MODULE_ID("$Id: lib_flash.c,v 1.6 2000/12/10 02:43:27 tom Exp $") - -/* - * flash() - * - * Flash the current terminal's screen if possible. If not, - * sound the audible bell if one exists. - * - */ - -NCURSES_EXPORT(int) -flash(void) -{ - int res = ERR; - - T((T_CALLED("flash()"))); - - /* FIXME: should make sure that we are not in altchar mode */ - if (flash_screen) { - TPUTS_TRACE("flash_screen"); - res = putp(flash_screen); - _nc_flush(); - } else if (bell) { - TPUTS_TRACE("bell"); - res = putp(bell); - _nc_flush(); - } - - returnCode(res); -} diff --git a/src/libs/ncurses/ncurses/base/lib_freeall.c b/src/libs/ncurses/ncurses/base/lib_freeall.c deleted file mode 100644 index a5be4a589a..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_freeall.c +++ /dev/null @@ -1,138 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1996,1997 * - ****************************************************************************/ - -#include -#include -#include - -#if HAVE_NC_FREEALL - -#if HAVE_LIBDBMALLOC -extern int malloc_errfd; /* FIXME */ -#endif - -MODULE_ID("$Id: lib_freeall.c,v 1.33 2005/06/04 22:34:01 tom Exp $") - -/* - * Free all ncurses data. This is used for testing only (there's no practical - * use for it as an extension). - */ -NCURSES_EXPORT(void) -_nc_freeall(void) -{ - WINDOWLIST *p, *q; - char *s; - - T((T_CALLED("_nc_freeall()"))); -#if NO_LEAKS - _nc_free_tparm(); - if (_nc_oldnums != 0) { - FreeAndNull(_nc_oldnums); - } -#endif - if (SP != 0) { - while (_nc_windows != 0) { - /* Delete only windows that're not a parent */ - for (p = _nc_windows; p != 0; p = p->next) { - bool found = FALSE; - - for (q = _nc_windows; q != 0; q = q->next) { - if ((p != q) - && (q->win._flags & _SUBWIN) - && (&(p->win) == q->win._parent)) { - found = TRUE; - break; - } - } - - if (!found) { - delwin(&(p->win)); - break; - } - } - } - delscreen(SP); - } - - del_curterm(cur_term); - _nc_free_entries(_nc_head); - _nc_get_type(0); - _nc_first_name(0); -#if USE_WIDEC_SUPPORT - FreeIfNeeded(_nc_wacs); -#endif -#if NO_LEAKS - _nc_alloc_entry_leaks(); - _nc_captoinfo_leaks(); - _nc_comp_scan_leaks(); -#endif - - if ((s = _nc_home_terminfo()) != 0) - free(s); - - (void) _nc_printf_string(0, 0); -#ifdef TRACE - (void) _nc_trace_buf(-1, 0); -#endif - -#if HAVE_LIBDBMALLOC - malloc_dump(malloc_errfd); -#elif HAVE_LIBDMALLOC -#elif HAVE_LIBMPATROL - __mp_summary(); -#elif HAVE_PURIFY - purify_all_inuse(); -#endif - returnVoid; -} - -NCURSES_EXPORT(void) -_nc_free_and_exit(int code) -{ - char *last_setbuf = (SP != 0) ? SP->_setbuf : 0; - - _nc_freeall(); -#ifdef TRACE - trace(0); /* close trace file, freeing its setbuf */ - free(_nc_varargs("?", 0)); -#endif - fclose(stdout); - FreeIfNeeded(last_setbuf); - exit(code); -} - -#else -NCURSES_EXPORT(void) -_nc_freeall(void) -{ -} -#endif diff --git a/src/libs/ncurses/ncurses/base/lib_getch.c b/src/libs/ncurses/ncurses/base/lib_getch.c deleted file mode 100644 index 9cf42f5077..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_getch.c +++ /dev/null @@ -1,576 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* -** lib_getch.c -** -** The routine getch(). -** -*/ - -#include - -MODULE_ID("$Id: lib_getch.c,v 1.73 2005/06/11 18:08:57 tom Exp $") - -#include - -NCURSES_EXPORT_VAR(int) -ESCDELAY = 1000; /* max interval betw. chars in funkeys, in millisecs */ - -#ifdef NCURSES_WGETCH_EVENTS -#define TWAIT_MASK 7 -#else -#define TWAIT_MASK 3 -#endif - -/* - * Check for mouse activity, returning nonzero if we find any. - */ -static int -check_mouse_activity(int delay EVENTLIST_2nd(_nc_eventlist * evl)) -{ - int rc; - -#if USE_SYSMOUSE - if ((SP->_mouse_type == M_SYSMOUSE) - && (SP->_sysmouse_head < SP->_sysmouse_tail)) { - return 2; - } -#endif - rc = _nc_timed_wait(TWAIT_MASK, delay, (int *) 0 EVENTLIST_2nd(evl)); -#if USE_SYSMOUSE - if ((SP->_mouse_type == M_SYSMOUSE) - && (SP->_sysmouse_head < SP->_sysmouse_tail) - && (rc == 0) - && (errno == EINTR)) { - rc |= 2; - } -#endif - return rc; -} - -static inline int -fifo_peek(void) -{ - int ch = SP->_fifo[peek]; - TR(TRACE_IEVENT, ("peeking at %d", peek)); - - p_inc(); - return ch; -} - -static inline int -fifo_pull(void) -{ - int ch; - ch = SP->_fifo[head]; - TR(TRACE_IEVENT, ("pulling %s from %d", _tracechar(ch), head)); - - if (peek == head) { - h_inc(); - peek = head; - } else - h_inc(); - -#ifdef TRACE - if (_nc_tracing & TRACE_IEVENT) - _nc_fifo_dump(); -#endif - return ch; -} - -static inline int -fifo_push(EVENTLIST_0th(_nc_eventlist * evl)) -{ - int n; - int ch = 0; - int mask = 0; - - (void) mask; - if (tail == -1) - return ERR; - -#ifdef HIDE_EINTR - again: - errno = 0; -#endif - -#ifdef NCURSES_WGETCH_EVENTS - if (evl -#if USE_GPM_SUPPORT || USE_EMX_MOUSE || USE_SYSMOUSE - || (SP->_mouse_fd >= 0) -#endif - ) { - mask = check_mouse_activity(-1 EVENTLIST_2nd(evl)); - } else - mask = 0; - - if (mask & 4) { - T(("fifo_push: ungetch KEY_EVENT")); - ungetch(KEY_EVENT); - return KEY_EVENT; - } -#elif USE_GPM_SUPPORT || USE_EMX_MOUSE || USE_SYSMOUSE - if (SP->_mouse_fd >= 0) { - mask = check_mouse_activity(-1 EVENTLIST_2nd(evl)); - } -#endif - -#if USE_GPM_SUPPORT || USE_EMX_MOUSE - if ((SP->_mouse_fd >= 0) && (mask & 2)) { - SP->_mouse_event(SP); - ch = KEY_MOUSE; - n = 1; - } else -#endif -#if USE_SYSMOUSE - if ((SP->_mouse_type == M_SYSMOUSE) - && (SP->_sysmouse_head < SP->_sysmouse_tail)) { - SP->_mouse_event(SP); - ch = KEY_MOUSE; - n = 1; - } else if ((SP->_mouse_type == M_SYSMOUSE) - && (mask <= 0) && errno == EINTR) { - SP->_mouse_event(SP); - ch = KEY_MOUSE; - n = 1; - } else -#endif - { /* Can block... */ - unsigned char c2 = 0; - n = read(SP->_ifd, &c2, 1); - ch = c2; - } - -#ifdef HIDE_EINTR - /* - * Under System V curses with non-restarting signals, getch() returns - * with value ERR when a handled signal keeps it from completing. - * If signals restart system calls, OTOH, the signal is invisible - * except to its handler. - * - * We don't want this difference to show. This piece of code - * tries to make it look like we always have restarting signals. - */ - if (n <= 0 && errno == EINTR) - goto again; -#endif - - if ((n == -1) || (n == 0)) { - TR(TRACE_IEVENT, ("read(%d,&ch,1)=%d, errno=%d", SP->_ifd, n, errno)); - ch = ERR; - } - TR(TRACE_IEVENT, ("read %d characters", n)); - - SP->_fifo[tail] = ch; - SP->_fifohold = 0; - if (head == -1) - head = peek = tail; - t_inc(); - TR(TRACE_IEVENT, ("pushed %s at %d", _tracechar(ch), tail)); -#ifdef TRACE - if (_nc_tracing & TRACE_IEVENT) - _nc_fifo_dump(); -#endif - return ch; -} - -static inline void -fifo_clear(void) -{ - memset(SP->_fifo, 0, sizeof(SP->_fifo)); - head = -1; - tail = peek = 0; -} - -static int kgetch(EVENTLIST_0th(_nc_eventlist * evl)); - -#define wgetch_should_refresh(win) (\ - (is_wintouched(win) || (win->_flags & _HASMOVED)) \ - && !(win->_flags & _ISPAD)) - -NCURSES_EXPORT(int) -_nc_wgetch(WINDOW *win, - unsigned long *result, - int use_meta - EVENTLIST_2nd(_nc_eventlist * evl)) -{ - int ch; -#ifdef NCURSES_WGETCH_EVENTS - long event_delay = -1; -#endif - - T((T_CALLED("_nc_wgetch(%p)"), win)); - - *result = 0; - if (win == 0 || SP == 0) - returnCode(ERR); - - if (cooked_key_in_fifo()) { - if (wgetch_should_refresh(win)) - wrefresh(win); - - *result = fifo_pull(); - returnCode(OK); - } -#ifdef NCURSES_WGETCH_EVENTS - if (evl && (evl->count == 0)) - evl = NULL; - event_delay = _nc_eventlist_timeout(evl); -#endif - - /* - * Handle cooked mode. Grab a string from the screen, - * stuff its contents in the FIFO queue, and pop off - * the first character to return it. - */ - if (head == -1 && - !SP->_notty && - !SP->_raw && - !SP->_cbreak && - !SP->_called_wgetch) { - char buf[MAXCOLUMNS], *sp; - int rc; - - TR(TRACE_IEVENT, ("filling queue in cooked mode")); - - SP->_called_wgetch = TRUE; - rc = wgetnstr(win, buf, MAXCOLUMNS); - SP->_called_wgetch = FALSE; - - /* ungetch in reverse order */ -#ifdef NCURSES_WGETCH_EVENTS - if (rc != KEY_EVENT) -#endif - ungetch('\n'); - for (sp = buf + strlen(buf); sp > buf; sp--) - ungetch(sp[-1]); - -#ifdef NCURSES_WGETCH_EVENTS - /* Return it first */ - if (rc == KEY_EVENT) { - *result = rc; - returnCode(OK); - } -#endif - - *result = fifo_pull(); - returnCode(OK); - } - - if (win->_use_keypad != SP->_keypad_on) - _nc_keypad(win->_use_keypad); - - if (wgetch_should_refresh(win)) - wrefresh(win); - - if (!win->_notimeout && (win->_delay >= 0 || SP->_cbreak > 1)) { - int delay; - - TR(TRACE_IEVENT, ("timed delay in wgetch()")); - if (SP->_cbreak > 1) - delay = (SP->_cbreak - 1) * 100; - else - delay = win->_delay; - -#ifdef NCURSES_WGETCH_EVENTS - if (event_delay >= 0 && delay > event_delay) - delay = event_delay; -#endif - - TR(TRACE_IEVENT, ("delay is %d milliseconds", delay)); - - if (head == -1) { /* fifo is empty */ - int rc = check_mouse_activity(delay EVENTLIST_2nd(evl)); - -#ifdef NCURSES_WGETCH_EVENTS - if (rc & 4) { - *result = KEY_EVENT; - returnCode(OK); - } -#endif - if (!rc) - returnCode(ERR); - } - /* else go on to read data available */ - } - - if (win->_use_keypad) { - /* - * This is tricky. We only want to get special-key - * events one at a time. But we want to accumulate - * mouse events until either (a) the mouse logic tells - * us it's picked up a complete gesture, or (b) - * there's a detectable time lapse after one. - * - * Note: if the mouse code starts failing to compose - * press/release events into clicks, you should probably - * increase the wait with mouseinterval(). - */ - int runcount = 0; - int rc; - - do { - ch = kgetch(EVENTLIST_1st(evl)); - if (ch == KEY_MOUSE) { - ++runcount; - if (SP->_mouse_inline(SP)) - break; - } - if (SP->_maxclick < 0) - break; - } while - (ch == KEY_MOUSE - && (((rc = check_mouse_activity(SP->_maxclick - EVENTLIST_2nd(evl))) != 0 - && !(rc & 4)) - || !SP->_mouse_parse(runcount))); -#ifdef NCURSES_WGETCH_EVENTS - if ((rc & 4) && !ch == KEY_EVENT) { - ungetch(ch); - ch = KEY_EVENT; - } -#endif - if (runcount > 0 && ch != KEY_MOUSE) { -#ifdef NCURSES_WGETCH_EVENTS - /* mouse event sequence ended by an event, report event */ - if (ch == KEY_EVENT) { - ungetch(KEY_MOUSE); /* FIXME This interrupts a gesture... */ - } else -#endif - { - /* mouse event sequence ended by keystroke, store keystroke */ - ungetch(ch); - ch = KEY_MOUSE; - } - } - } else { - if (head == -1) - fifo_push(EVENTLIST_1st(evl)); - ch = fifo_pull(); - } - - if (ch == ERR) { -#if USE_SIZECHANGE - if (SP->_sig_winch) { - _nc_update_screensize(); - /* resizeterm can push KEY_RESIZE */ - if (cooked_key_in_fifo()) { - *result = fifo_pull(); - returnCode(*result >= KEY_MIN ? KEY_CODE_YES : OK); - } - } -#endif - returnCode(ERR); - } - - /* - * If echo() is in effect, display the printable version of the - * key on the screen. Carriage return and backspace are treated - * specially by Solaris curses: - * - * If carriage return is defined as a function key in the - * terminfo, e.g., kent, then Solaris may return either ^J (or ^M - * if nonl() is set) or KEY_ENTER depending on the echo() mode. - * We echo before translating carriage return based on nonl(), - * since the visual result simply moves the cursor to column 0. - * - * Backspace is a different matter. Solaris curses does not - * translate it to KEY_BACKSPACE if kbs=^H. This does not depend - * on the stty modes, but appears to be a hardcoded special case. - * This is a difference from ncurses, which uses the terminfo entry. - * However, we provide the same visual result as Solaris, moving the - * cursor to the left. - */ - if (SP->_echo && !(win->_flags & _ISPAD)) { - chtype backup = (ch == KEY_BACKSPACE) ? '\b' : ch; - if (backup < KEY_MIN) - wechochar(win, backup); - } - - /* - * Simulate ICRNL mode - */ - if ((ch == '\r') && SP->_nl) - ch = '\n'; - - /* Strip 8th-bit if so desired. We do this only for characters that - * are in the range 128-255, to provide compatibility with terminals - * that display only 7-bit characters. Note that 'ch' may be a - * function key at this point, so we mustn't strip _those_. - */ - if (!use_meta) - if ((ch < KEY_MIN) && (ch & 0x80)) - ch &= 0x7f; - - T(("wgetch returning : %s", _tracechar(ch))); - - *result = ch; - returnCode(ch >= KEY_MIN ? KEY_CODE_YES : OK); -} - -#ifdef NCURSES_WGETCH_EVENTS -NCURSES_EXPORT(int) -wgetch_events(WINDOW *win, _nc_eventlist * evl) -{ - int code; - unsigned long value; - - T((T_CALLED("wgetch_events(%p,%p)"), win, evl)); - code = _nc_wgetch(win, - &value, - SP->_use_meta - EVENTLIST_2nd(evl)); - if (code != ERR) - code = value; - returnCode(code); -} -#endif - -NCURSES_EXPORT(int) -wgetch(WINDOW *win) -{ - int code; - unsigned long value; - - T((T_CALLED("wgetch(%p)"), win)); - code = _nc_wgetch(win, - &value, - (SP ? SP->_use_meta : 0) - EVENTLIST_2nd((_nc_eventlist *) 0)); - if (code != ERR) - code = value; - returnCode(code); -} - -/* -** int -** kgetch() -** -** Get an input character, but take care of keypad sequences, returning -** an appropriate code when one matches the input. After each character -** is received, set an alarm call based on ESCDELAY. If no more of the -** sequence is received by the time the alarm goes off, pass through -** the sequence gotten so far. -** -** This function must be called when there are no cooked keys in queue. -** (that is head==-1 || peek==head) -** -*/ - -static int -kgetch(EVENTLIST_0th(_nc_eventlist * evl)) -{ - struct tries *ptr; - int ch = 0; - int timeleft = ESCDELAY; - - TR(TRACE_IEVENT, ("kgetch() called")); - - ptr = SP->_keytry; - - for (;;) { - if (cooked_key_in_fifo() && SP->_fifo[head] >= KEY_MIN) { - break; - } else if (!raw_key_in_fifo()) { - ch = fifo_push(EVENTLIST_1st(evl)); - if (ch == ERR) { - peek = head; /* the keys stay uninterpreted */ - return ERR; - } -#ifdef NCURSES_WGETCH_EVENTS - else if (ch == KEY_EVENT) { - peek = head; /* the keys stay uninterpreted */ - return fifo_pull(); /* Remove KEY_EVENT from the queue */ - } -#endif - } - - ch = fifo_peek(); - if (ch >= KEY_MIN) { - /* If not first in queue, somebody put this key there on purpose in - * emergency. Consider it higher priority than the unfinished - * keysequence we are parsing. - */ - peek = head; - /* assume the key is the last in fifo */ - t_dec(); /* remove the key */ - return ch; - } - - TR(TRACE_IEVENT, ("ch: %s", _tracechar((unsigned char) ch))); - while ((ptr != NULL) && (ptr->ch != (unsigned char) ch)) - ptr = ptr->sibling; - - if (ptr == NULL) { - TR(TRACE_IEVENT, ("ptr is null")); - break; - } - TR(TRACE_IEVENT, ("ptr=%p, ch=%d, value=%d", - ptr, ptr->ch, ptr->value)); - - if (ptr->value != 0) { /* sequence terminated */ - TR(TRACE_IEVENT, ("end of sequence")); - if (peek == tail) - fifo_clear(); - else - head = peek; - return (ptr->value); - } - - ptr = ptr->child; - - if (!raw_key_in_fifo()) { - int rc; - - TR(TRACE_IEVENT, ("waiting for rest of sequence")); - rc = check_mouse_activity(timeleft EVENTLIST_2nd(evl)); -#ifdef NCURSES_WGETCH_EVENTS - if (rc & 4) { - TR(TRACE_IEVENT, ("interrupted by a user event")); - /* FIXME Should have preserved remainder timeleft for reusal... */ - peek = head; /* Restart interpreting later */ - return KEY_EVENT; - } -#endif - if (!rc) { - TR(TRACE_IEVENT, ("ran out of time")); - break; - } - } - } - ch = fifo_pull(); - peek = head; - return ch; -} diff --git a/src/libs/ncurses/ncurses/base/lib_getstr.c b/src/libs/ncurses/ncurses/base/lib_getstr.c deleted file mode 100644 index 7617038244..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_getstr.c +++ /dev/null @@ -1,215 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_getstr.c -** -** The routine wgetstr(). -** -*/ - -#include -#include - -MODULE_ID("$Id: lib_getstr.c,v 1.24 2002/09/01 17:31:12 tom Exp $") - -/* - * This wipes out the last character, no matter whether it was a tab, control - * or other character, and handles reverse wraparound. - */ -static char * -WipeOut(WINDOW *win, int y, int x, char *first, char *last, bool echoed) -{ - if (last > first) { - *--last = '\0'; - if (echoed) { - int y1 = win->_cury; - int x1 = win->_curx; - - wmove(win, y, x); - waddstr(win, first); - getyx(win, y, x); - while (win->_cury < y1 - || (win->_cury == y1 && win->_curx < x1)) - waddch(win, (chtype) ' '); - - wmove(win, y, x); - } - } - return last; -} - -NCURSES_EXPORT(int) -wgetnstr_events(WINDOW *win, - char *str, - int maxlen, - EVENTLIST_1st(_nc_eventlist * evl)) -{ - TTY buf; - bool oldnl, oldecho, oldraw, oldcbreak; - char erasec; - char killc; - char *oldstr; - int ch; - int y, x; - - T((T_CALLED("wgetnstr(%p,%p, %d)"), win, str, maxlen)); - - if (!win) - returnCode(ERR); - - _nc_get_tty_mode(&buf); - - oldnl = SP->_nl; - oldecho = SP->_echo; - oldraw = SP->_raw; - oldcbreak = SP->_cbreak; - nl(); - noecho(); - noraw(); - cbreak(); - - erasec = erasechar(); - killc = killchar(); - - oldstr = str; - getyx(win, y, x); - - if (is_wintouched(win) || (win->_flags & _HASMOVED)) - wrefresh(win); - - while ((ch = wgetch_events(win, evl)) != ERR) { - /* - * Some terminals (the Wyse-50 is the most common) generate - * a \n from the down-arrow key. With this logic, it's the - * user's choice whether to set kcud=\n for wgetch(); - * terminating *getstr() with \n should work either way. - */ - if (ch == '\n' - || ch == '\r' - || ch == KEY_DOWN - || ch == KEY_ENTER) { - if (oldecho == TRUE - && win->_cury == win->_maxy - && win->_scroll) - wechochar(win, (chtype) '\n'); - break; - } -#ifdef KEY_EVENT - if (ch == KEY_EVENT) - break; -#endif - if (ch == erasec || ch == KEY_LEFT || ch == KEY_BACKSPACE) { - if (str > oldstr) { - str = WipeOut(win, y, x, oldstr, str, oldecho); - } - } else if (ch == killc) { - while (str > oldstr) { - str = WipeOut(win, y, x, oldstr, str, oldecho); - } - } else if (ch >= KEY_MIN - || (maxlen >= 0 && str - oldstr >= maxlen)) { - beep(); - } else { - *str++ = ch; - if (oldecho == TRUE) { - int oldy = win->_cury; - if (waddch(win, (chtype) ch) == ERR) { - /* - * We can't really use the lower-right - * corner for input, since it'll mess - * up bookkeeping for erases. - */ - win->_flags &= ~_WRAPPED; - waddch(win, (chtype) ' '); - str = WipeOut(win, y, x, oldstr, str, oldecho); - continue; - } else if (win->_flags & _WRAPPED) { - /* - * If the last waddch forced a wrap & - * scroll, adjust our reference point - * for erasures. - */ - if (win->_scroll - && oldy == win->_maxy - && win->_cury == win->_maxy) { - if (--y <= 0) { - y = 0; - } - } - win->_flags &= ~_WRAPPED; - } - wrefresh(win); - } - } - } - - win->_curx = 0; - win->_flags &= ~_WRAPPED; - if (win->_cury < win->_maxy) - win->_cury++; - wrefresh(win); - - /* Restore with a single I/O call, to fix minor asymmetry between - * raw/noraw, etc. - */ - SP->_nl = oldnl; - SP->_echo = oldecho; - SP->_raw = oldraw; - SP->_cbreak = oldcbreak; - - _nc_set_tty_mode(&buf); - - *str = '\0'; - if (ch == ERR) - returnCode(ch); -#ifdef KEY_EVENT - if (ch == KEY_EVENT) - returnCode(ch); -#endif - - T(("wgetnstr returns %s", _nc_visbuf(oldstr))); - - returnCode(OK); -} - -#ifdef NCURSES_WGETCH_EVENTS -NCURSES_EXPORT(int) -wgetnstr(WINDOW *win, char *str, int maxlen) -{ - returnCode(wgetnstr_events(win, - str, - maxlen, - EVENTLIST_1st((_nc_eventlist *) 0))); -} -#endif diff --git a/src/libs/ncurses/ncurses/base/lib_hline.c b/src/libs/ncurses/ncurses/base/lib_hline.c deleted file mode 100644 index 2cb6cc5ce6..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_hline.c +++ /dev/null @@ -1,80 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_hline.c -** -** The routine whline(). -** -*/ - -#include - -MODULE_ID("$Id: lib_hline.c,v 1.10 2001/06/03 00:39:24 skimo Exp $") - -NCURSES_EXPORT(int) -whline(WINDOW *win, chtype ch, int n) -{ - int code = ERR; - NCURSES_SIZE_T start; - NCURSES_SIZE_T end; - - T((T_CALLED("whline(%p,%s,%d)"), win, _tracechtype(ch), n)); - - if (win) { - struct ldat *line = &(win->_line[win->_cury]); - NCURSES_CH_T wch; - - start = win->_curx; - end = start + n - 1; - if (end > win->_maxx) - end = win->_maxx; - - CHANGED_RANGE(line, start, end); - - if (ch == 0) - SetChar(wch, ChCharOf(ACS_HLINE), ChAttrOf(ACS_HLINE)); - else - SetChar(wch, ChCharOf(ch), ChAttrOf(ch)); - wch = _nc_render(win, wch); - - while (end >= start) { - line->text[end] = wch; - end--; - } - - _nc_synchook(win); - code = OK; - } - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/base/lib_immedok.c b/src/libs/ncurses/ncurses/base/lib_immedok.c deleted file mode 100644 index 87988b66f1..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_immedok.c +++ /dev/null @@ -1,54 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_immedok.c -** -** The routine immedok. -** -*/ - -#include - -MODULE_ID("$Id: lib_immedok.c,v 1.4 2000/12/10 02:43:27 tom Exp $") - -NCURSES_EXPORT(void) -immedok(WINDOW *win, bool flag) -{ - T((T_CALLED("immedok(%p,%d)"), win, flag)); - - if (win) - win->_immed = flag; - - returnVoid; -} diff --git a/src/libs/ncurses/ncurses/base/lib_inchstr.c b/src/libs/ncurses/ncurses/base/lib_inchstr.c deleted file mode 100644 index 6ff0168782..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_inchstr.c +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_inchstr.c -** -** The routine winchnstr(). -** -*/ - -#include - -MODULE_ID("$Id: lib_inchstr.c,v 1.10 2001/06/02 23:37:58 skimo Exp $") - -NCURSES_EXPORT(int) -winchnstr(WINDOW *win, chtype * str, int n) -{ - int i = 0; - - T((T_CALLED("winchnstr(%p,%p,%d)"), win, str, n)); - - if (!str) - returnCode(0); - - if (win) { - for (; (n < 0 || (i < n)) && (win->_curx + i <= win->_maxx); i++) - str[i] = - CharOf(win->_line[win->_cury].text[win->_curx + i]) | - AttrOf(win->_line[win->_cury].text[win->_curx + i]); - } - str[i] = (chtype) 0; - - returnCode(i); -} diff --git a/src/libs/ncurses/ncurses/base/lib_initscr.c b/src/libs/ncurses/ncurses/base/lib_initscr.c deleted file mode 100644 index d8ac5c6ce3..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_initscr.c +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-2003 * - ****************************************************************************/ - -/* -** lib_initscr.c -** -** The routines initscr(), and termname(). -** -*/ - -#include - -#if HAVE_SYS_TERMIO_H -#include /* needed for ISC */ -#endif - -MODULE_ID("$Id: lib_initscr.c,v 1.33 2003/12/27 19:13:51 tom Exp $") - -NCURSES_EXPORT(WINDOW *) -initscr(void) -{ - static bool initialized = FALSE; - NCURSES_CONST char *name; - int value; - - START_TRACE(); - T((T_CALLED("initscr()"))); - /* Portable applications must not call initscr() more than once */ - if (!initialized) { - initialized = TRUE; - - if ((name = getenv("TERM")) == 0 - || *name == '\0') - name = "unknown"; -#ifdef __CYGWIN__ - /* - * 2002/9/21 - * Work around a bug in Cygwin. Full-screen subprocesses run from - * bash, in turn spawned from another full-screen process, will dump - * core when attempting to write to stdout. Opening /dev/tty - * explicitly seems to fix the problem. - */ - if (isatty(fileno(stdout))) { - FILE *fp = fopen("/dev/tty", "w"); - if (fp != 0 && isatty(fileno(fp))) { - fclose(stdout); - dup2(fileno(fp), STDOUT_FILENO); - stdout = fdopen(STDOUT_FILENO, "w"); - } - } -#endif - if (newterm(name, stdout, stdin) == 0) { - fprintf(stderr, "Error opening terminal: %s.\n", name); - exit(EXIT_FAILURE); - } - - /* allow user to set maximum escape delay from the environment */ - if ((value = _nc_getenv_num("ESCDELAY")) >= 0) { - ESCDELAY = value; - } - - /* def_shell_mode - done in newterm/_nc_setupscreen */ - def_prog_mode(); - } - returnWin(stdscr); -} diff --git a/src/libs/ncurses/ncurses/base/lib_insch.c b/src/libs/ncurses/ncurses/base/lib_insch.c deleted file mode 100644 index b8a856df3a..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_insch.c +++ /dev/null @@ -1,139 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Sven Verdoolaege * - * and: Thomas E. Dickey * - ****************************************************************************/ - -/* -** lib_insch.c -** -** The routine winsch(). -** -*/ - -#include -#include - -MODULE_ID("$Id: lib_insch.c,v 1.24 2005/02/26 19:27:28 tom Exp $") - -/* - * Insert the given character, updating the current location to simplify - * inserting a string. - */ -NCURSES_EXPORT(int) -_nc_insert_ch(WINDOW *win, chtype ch) -{ - int code = OK; - NCURSES_CH_T wch; - int count; - NCURSES_CONST char *s; - - switch (ch) { - case '\t': - for (count = (TABSIZE - (win->_curx % TABSIZE)); count > 0; count--) { - if ((code = _nc_insert_ch(win, ' ')) != OK) - break; - } - break; - case '\n': - case '\r': - case '\b': - SetChar2(wch, ch); - _nc_waddch_nosync(win, wch); - break; - default: - if ( -#if USE_WIDEC_SUPPORT - WINDOW_EXT(win, addch_used) == 0 && -#endif - is8bits(ChCharOf(ch)) && - isprint(ChCharOf(ch))) { - if (win->_curx <= win->_maxx) { - struct ldat *line = &(win->_line[win->_cury]); - NCURSES_CH_T *end = &(line->text[win->_curx]); - NCURSES_CH_T *temp1 = &(line->text[win->_maxx]); - NCURSES_CH_T *temp2 = temp1 - 1; - - SetChar2(wch, ch); - - CHANGED_TO_EOL(line, win->_curx, win->_maxx); - while (temp1 > end) - *temp1-- = *temp2--; - - *temp1 = _nc_render(win, wch); - win->_curx++; - } - } else if (is8bits(ChCharOf(ch)) && iscntrl(ChCharOf(ch))) { - s = unctrl(ChCharOf(ch)); - while (*s != '\0') { - if ((code = _nc_insert_ch(win, ChAttrOf(ch) | UChar(*s))) != OK) - break; - ++s; - } - } -#if USE_WIDEC_SUPPORT - else { - /* - * Handle multibyte characters here - */ - SetChar2(wch, ch); - wch = _nc_render(win, wch); - if (_nc_build_wch(win, &wch) >= 0) - code = wins_wch(win, &wch); - } -#endif - break; - } - return code; -} - -NCURSES_EXPORT(int) -winsch(WINDOW *win, chtype c) -{ - NCURSES_SIZE_T oy; - NCURSES_SIZE_T ox; - int code = ERR; - - T((T_CALLED("winsch(%p, %s)"), win, _tracechtype(c))); - - if (win != 0) { - oy = win->_cury; - ox = win->_curx; - - code = _nc_insert_ch(win, c); - - win->_curx = ox; - win->_cury = oy; - _nc_synchook(win); - } - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/base/lib_insdel.c b/src/libs/ncurses/ncurses/base/lib_insdel.c deleted file mode 100644 index 342c6541f9..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_insdel.c +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_insdel.c -** -** The routine winsdelln(win, n). -** positive n insert n lines above current line -** negative n delete n lines starting from current line -** -*/ - -#include - -MODULE_ID("$Id: lib_insdel.c,v 1.12 2003/07/26 22:40:06 tom Exp $") - -NCURSES_EXPORT(int) -winsdelln(WINDOW *win, int n) -{ - int code = ERR; - - T((T_CALLED("winsdelln(%p,%d)"), win, n)); - - if (win) { - if (n != 0) { - _nc_scroll_window(win, -n, win->_cury, win->_maxy, - win->_nc_bkgd); - _nc_synchook(win); - } - code = OK; - } - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/base/lib_insnstr.c b/src/libs/ncurses/ncurses/base/lib_insnstr.c deleted file mode 100644 index b6ddfde3c5..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_insnstr.c +++ /dev/null @@ -1,68 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey * - ****************************************************************************/ - -/* -** lib_insnstr.c -** -** The routine winsnstr(). -** -*/ - -#include -#include - -MODULE_ID("$Id: lib_insnstr.c,v 1.1 2004/02/28 23:44:56 tom Exp $") - -NCURSES_EXPORT(int) -winsnstr(WINDOW *win, const char *s, int n) -{ - int code = ERR; - NCURSES_SIZE_T oy; - NCURSES_SIZE_T ox; - const unsigned char *str = (const unsigned char *) s; - const unsigned char *cp; - - T((T_CALLED("winsnstr(%p,%s,%d)"), win, _nc_visbufn(s, n), n)); - - if (win != 0 && str != 0) { - oy = win->_cury; - ox = win->_curx; - for (cp = str; *cp && (n <= 0 || (cp - str) < n); cp++) { - _nc_insert_ch(win, (chtype) UChar(*cp)); - } - win->_curx = ox; - win->_cury = oy; - _nc_synchook(win); - code = OK; - } - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/base/lib_instr.c b/src/libs/ncurses/ncurses/base/lib_instr.c deleted file mode 100644 index d75dee9e40..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_instr.c +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* -** lib_instr.c -** -** The routine winnstr(). -** -*/ - -#include - -MODULE_ID("$Id: lib_instr.c,v 1.14 2005/04/16 17:51:12 tom Exp $") - -NCURSES_EXPORT(int) -winnstr(WINDOW *win, char *str, int n) -{ - int i = 0, row, col; - - T((T_CALLED("winnstr(%p,%p,%d)"), win, str, n)); - - if (!str) - returnCode(0); - - if (win) { - getyx(win, row, col); - - if (n < 0) - n = win->_maxx - win->_curx + 1; - - for (; i < n;) { -#if USE_WIDEC_SUPPORT - cchar_t *cell = &(win->_line[row].text[col]); - wchar_t *wch; - attr_t attrs; - short pair; - int n2; - bool done = FALSE; - mbstate_t state; - size_t i3, n3; - char *tmp; - - if (!isWidecExt(*cell)) { - n2 = getcchar(cell, 0, 0, 0, 0); - if (n2 > 0 - && (wch = typeCalloc(wchar_t, (unsigned) n2 + 1)) != 0) { - if (getcchar(cell, wch, &attrs, &pair, 0) == OK) { - - init_mb(state); - n3 = wcstombs(0, wch, 0); - if (isEILSEQ(n3) || (n3 == 0)) { - ; - } else if ((int) (n3 + i) >= n) { - done = TRUE; - } else if ((tmp = typeCalloc(char, n3 + 10)) == 0) { - done = TRUE; - } else { - init_mb(state); - wcstombs(tmp, wch, n3); - for (i3 = 0; i3 < n3; ++i3) - str[i++] = tmp[i3]; - free(tmp); - } - } - free(wch); - if (done) - break; - } - } -#else - str[i++] = CharOf(win->_line[row].text[col]); -#endif - if (++col > win->_maxx) { - col = 0; - if (++row > win->_maxy) - break; - } - } - } - str[i] = '\0'; /* SVr4 does not seem to count the null */ - T(("winnstr returns %s", _nc_visbuf(str))); - returnCode(i); -} diff --git a/src/libs/ncurses/ncurses/base/lib_isendwin.c b/src/libs/ncurses/ncurses/base/lib_isendwin.c deleted file mode 100644 index b337d97a94..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_isendwin.c +++ /dev/null @@ -1,51 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_endwin.c -** -** The routine endwin(). -** -*/ - -#include - -MODULE_ID("$Id: lib_isendwin.c,v 1.6 2000/12/10 02:43:27 tom Exp $") - -NCURSES_EXPORT(bool) -isendwin(void) -{ - if (SP == NULL) - return FALSE; - return SP->_endwin; -} diff --git a/src/libs/ncurses/ncurses/base/lib_leaveok.c b/src/libs/ncurses/ncurses/base/lib_leaveok.c deleted file mode 100644 index 17d095d0f8..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_leaveok.c +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_leaveok.c -** -** The routine leaveok. -** -*/ - -#include - -MODULE_ID("$Id: lib_leaveok.c,v 1.5 2000/12/10 02:43:27 tom Exp $") - -NCURSES_EXPORT(int) -leaveok(WINDOW *win, bool flag) -{ - T((T_CALLED("leaveok(%p,%d)"), win, flag)); - - if (win) { - win->_leaveok = flag; - returnCode(OK); - } else - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/base/lib_mouse.c b/src/libs/ncurses/ncurses/base/lib_mouse.c deleted file mode 100644 index 7bb20de55b..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_mouse.c +++ /dev/null @@ -1,1357 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * This module is intended to encapsulate ncurses's interface to pointing - * devices. - * - * The primary method used is xterm's internal mouse-tracking facility. - * Additional methods depend on the platform: - * Alessandro Rubini's GPM server (Linux) - * sysmouse (FreeBSD) - * special-purpose mouse interface for OS/2 EMX. - * - * Notes for implementors of new mouse-interface methods: - * - * The code is logically split into a lower level that accepts event reports - * in a device-dependent format and an upper level that parses mouse gestures - * and filters events. The mediating data structure is a circular queue of - * MEVENT structures. - * - * Functionally, the lower level's job is to pick up primitive events and - * put them on the circular queue. This can happen in one of two ways: - * either (a) _nc_mouse_event() detects a series of incoming mouse reports - * and queues them, or (b) code in lib_getch.c detects the kmous prefix in - * the keyboard input stream and calls _nc_mouse_inline to queue up a series - * of adjacent mouse reports. - * - * In either case, _nc_mouse_parse() should be called after the series is - * accepted to parse the digested mouse reports (low-level MEVENTs) into - * a gesture (a high-level or composite MEVENT). - * - * Don't be too shy about adding new event types or modifiers, if you can find - * room for them in the 32-bit mask. The API is written so that users get - * feedback on which theoretical event types they won't see when they call - * mousemask. There's one bit per button (the RESERVED_EVENT bit) not being - * used yet, and a couple of bits open at the high end. - */ - -#ifdef __EMX__ -# include -# define INCL_DOS -# define INCL_VIO -# define INCL_KBD -# define INCL_MOU -# define INCL_DOSPROCESS -# include /* Need to include before the others */ -#endif - -#include - -MODULE_ID("$Id: lib_mouse.c,v 1.77 2005/09/10 22:58:57 tom Exp $") - -#include -#include - -#if USE_GPM_SUPPORT -#ifndef LINT /* don't need this for llib-lncurses */ -#undef buttons /* term.h defines this, and gpm uses it! */ -#include -#include /* defines KG_* macros */ -/* use dynamic loader to avoid linkage dependency */ -#include -#ifdef RTLD_NOW -#define my_RTLD RTLD_NOW -#else -#ifdef RTLD_LAZY -#define my_RTLD RTLD_LAZY -#else -make an error -#endif -#endif -#endif -#endif /* USE_GPM_SUPPORT */ - -#if USE_SYSMOUSE -#undef buttons /* symbol conflict in consio.h */ -#undef mouse_info /* symbol conflict in consio.h */ -#include -#if (__FreeBSD_version >= 400017) -#include -#include -#else -#include -#endif -#endif /* use_SYSMOUSE */ - -#define MY_TRACE TRACE_ICALLS|TRACE_IEVENT - -#define MASK_RELEASE(x) NCURSES_MOUSE_MASK(x, 001) -#define MASK_PRESS(x) NCURSES_MOUSE_MASK(x, 002) -#define MASK_CLICK(x) NCURSES_MOUSE_MASK(x, 004) -#define MASK_DOUBLE_CLICK(x) NCURSES_MOUSE_MASK(x, 010) -#define MASK_TRIPLE_CLICK(x) NCURSES_MOUSE_MASK(x, 020) -#define MASK_RESERVED_EVENT(x) NCURSES_MOUSE_MASK(x, 040) - -#if NCURSES_MOUSE_VERSION == 1 -#define BUTTON_CLICKED (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED | BUTTON4_CLICKED) -#define BUTTON_PRESSED (BUTTON1_PRESSED | BUTTON2_PRESSED | BUTTON3_PRESSED | BUTTON4_PRESSED) -#define BUTTON_RELEASED (BUTTON1_RELEASED | BUTTON2_RELEASED | BUTTON3_RELEASED | BUTTON4_RELEASED) -#define BUTTON_DOUBLE_CLICKED (BUTTON1_DOUBLE_CLICKED | BUTTON2_DOUBLE_CLICKED | BUTTON3_DOUBLE_CLICKED | BUTTON4_DOUBLE_CLICKED) -#define BUTTON_TRIPLE_CLICKED (BUTTON1_TRIPLE_CLICKED | BUTTON2_TRIPLE_CLICKED | BUTTON3_TRIPLE_CLICKED | BUTTON4_TRIPLE_CLICKED) -#define MAX_BUTTONS 4 -#else -#define BUTTON_CLICKED (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED | BUTTON4_CLICKED | BUTTON5_CLICKED) -#define BUTTON_PRESSED (BUTTON1_PRESSED | BUTTON2_PRESSED | BUTTON3_PRESSED | BUTTON4_PRESSED | BUTTON5_PRESSED) -#define BUTTON_RELEASED (BUTTON1_RELEASED | BUTTON2_RELEASED | BUTTON3_RELEASED | BUTTON4_RELEASED | BUTTON5_RELEASED) -#define BUTTON_DOUBLE_CLICKED (BUTTON1_DOUBLE_CLICKED | BUTTON2_DOUBLE_CLICKED | BUTTON3_DOUBLE_CLICKED | BUTTON4_DOUBLE_CLICKED | BUTTON5_DOUBLE_CLICKED) -#define BUTTON_TRIPLE_CLICKED (BUTTON1_TRIPLE_CLICKED | BUTTON2_TRIPLE_CLICKED | BUTTON3_TRIPLE_CLICKED | BUTTON4_TRIPLE_CLICKED | BUTTON5_TRIPLE_CLICKED) -#define MAX_BUTTONS 5 -#endif - -#define INVALID_EVENT -1 -#define NORMAL_EVENT 0 - -#if USE_GPM_SUPPORT -#ifndef LINT - -#ifndef LIBGPM_SONAME -#define LIBGPM_SONAME "libgpm.so" -#endif - -#define GET_DLSYM(name) (my_##name = (TYPE_##name) dlsym(obj, #name)) - -static Gpm_Connect gpm_connect; - -typedef int *TYPE_gpm_fd; -typedef int (*TYPE_Gpm_Open) (Gpm_Connect *, int); -typedef int (*TYPE_Gpm_Close) (void); -typedef int (*TYPE_Gpm_GetEvent) (Gpm_Event *); - -static TYPE_gpm_fd my_gpm_fd; -static TYPE_Gpm_Open my_Gpm_Open; -static TYPE_Gpm_Close my_Gpm_Close; -static TYPE_Gpm_GetEvent my_Gpm_GetEvent; - -#endif /* LINT */ -#endif /* USE_GPM_SUPPORT */ - -static mmask_t eventmask; /* current event mask */ - -static bool _nc_mouse_parse(int); -static void _nc_mouse_resume(SCREEN *); -static void _nc_mouse_wrap(SCREEN *); - -/* maintain a circular list of mouse events */ - -/* The definition of the circular list size (EV_MAX), is in curses.priv.h, so - * wgetch() may refer to the size and call _nc_mouse_parse() before circular - * list overflow. - */ -static MEVENT events[EV_MAX]; /* hold the last mouse event seen */ -static MEVENT *eventp = events; /* next free slot in event queue */ - -#undef NEXT -#define NEXT(ep) ((ep == events + EV_MAX - 1) ? events : ep + 1) - -#undef PREV -#define PREV(ep) ((ep == events) ? events + EV_MAX - 1 : ep - 1) - -#ifdef TRACE -static void -_trace_slot(const char *tag) -{ - MEVENT *ep; - - _tracef(tag); - - for (ep = events; ep < events + EV_MAX; ep++) - _tracef("mouse event queue slot %ld = %s", - (long) (ep - events), - _tracemouse(ep)); -} -#endif - -#if USE_EMX_MOUSE - -# define TOP_ROW 0 -# define LEFT_COL 0 - -static int mouse_wfd; -static int mouse_thread; -static int mouse_activated; -static char mouse_buttons[] = -{0, 1, 3, 2}; - -# define M_FD(sp) sp->_mouse_fd - -static void -write_event(int down, int button, int x, int y) -{ - char buf[6]; - unsigned long ignore; - - strncpy(buf, key_mouse, 3); /* should be "\033[M" */ - buf[3] = ' ' + (button - 1) + (down ? 0 : 0x40); - buf[4] = ' ' + x - LEFT_COL + 1; - buf[5] = ' ' + y - TOP_ROW + 1; - DosWrite(mouse_wfd, buf, 6, &ignore); -} - -static void -mouse_server(unsigned long ignored GCC_UNUSED) -{ - unsigned short fWait = MOU_WAIT; - /* NOPTRRECT mourt = { 0,0,24,79 }; */ - MOUEVENTINFO mouev; - HMOU hmou; - unsigned short mask = MOUSE_BN1_DOWN | MOUSE_BN2_DOWN | MOUSE_BN3_DOWN; - int nbuttons = 3; - int oldstate = 0; - char err[80]; - unsigned long rc; - - /* open the handle for the mouse */ - if (MouOpen(NULL, &hmou) == 0) { - rc = MouSetEventMask(&mask, hmou); - if (rc) { /* retry with 2 buttons */ - mask = MOUSE_BN1_DOWN | MOUSE_BN2_DOWN; - rc = MouSetEventMask(&mask, hmou); - nbuttons = 2; - } - if (rc == 0 && MouDrawPtr(hmou) == 0) { - for (;;) { - /* sit and wait on the event queue */ - rc = MouReadEventQue(&mouev, &fWait, hmou); - if (rc) { - sprintf(err, "Error reading mouse queue, rc=%lu.\r\n", rc); - break; - } - if (!mouse_activated) - goto finish; - - /* - * OS/2 numbers a 3-button mouse inconsistently from other - * platforms: - * 1 = left - * 2 = right - * 3 = middle. - */ - if ((mouev.fs ^ oldstate) & MOUSE_BN1_DOWN) - write_event(mouev.fs & MOUSE_BN1_DOWN, - mouse_buttons[1], mouev.col, mouev.row); - if ((mouev.fs ^ oldstate) & MOUSE_BN2_DOWN) - write_event(mouev.fs & MOUSE_BN2_DOWN, - mouse_buttons[3], mouev.col, mouev.row); - if ((mouev.fs ^ oldstate) & MOUSE_BN3_DOWN) - write_event(mouev.fs & MOUSE_BN3_DOWN, - mouse_buttons[2], mouev.col, mouev.row); - - finish: - oldstate = mouev.fs; - } - } else - sprintf(err, "Error setting event mask, buttons=%d, rc=%lu.\r\n", - nbuttons, rc); - - DosWrite(2, err, strlen(err), &rc); - MouClose(hmou); - } - DosExit(EXIT_THREAD, 0L); -} - -#endif /* USE_EMX_MOUSE */ - -#if USE_SYSMOUSE -static void -handle_sysmouse(int sig GCC_UNUSED) -{ - struct mouse_info the_mouse; - MEVENT *work; - - the_mouse.operation = MOUSE_GETINFO; - if (SP != 0 - && SP->_mouse_fd >= 0 - && SP->_sysmouse_tail < FIFO_SIZE - && ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse) != -1) { - - if (SP->_sysmouse_head > SP->_sysmouse_tail) { - SP->_sysmouse_tail = 0; - SP->_sysmouse_head = 0; - } - work = &(SP->_sysmouse_fifo[SP->_sysmouse_tail]); - memset(work, 0, sizeof(*work)); - work->id = NORMAL_EVENT; /* there's only one mouse... */ - - SP->_sysmouse_old_buttons = SP->_sysmouse_new_buttons; - SP->_sysmouse_new_buttons = the_mouse.u.data.buttons & 0x7; - - if (SP->_sysmouse_new_buttons) { - if (SP->_sysmouse_new_buttons & 1) - work->bstate |= BUTTON1_PRESSED; - if (SP->_sysmouse_new_buttons & 2) - work->bstate |= BUTTON2_PRESSED; - if (SP->_sysmouse_new_buttons & 4) - work->bstate |= BUTTON3_PRESSED; - } else { - if (SP->_sysmouse_old_buttons & 1) - work->bstate |= BUTTON1_RELEASED; - if (SP->_sysmouse_old_buttons & 2) - work->bstate |= BUTTON2_RELEASED; - if (SP->_sysmouse_old_buttons & 4) - work->bstate |= BUTTON3_RELEASED; - } - - /* for cosmetic bug in syscons.c on FreeBSD 3.[34] */ - the_mouse.operation = MOUSE_HIDE; - ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse); - the_mouse.operation = MOUSE_SHOW; - ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse); - - /* - * We're only interested if the button is pressed or released. - * FIXME: implement continuous event-tracking. - */ - if (SP->_sysmouse_new_buttons != SP->_sysmouse_old_buttons) { - SP->_sysmouse_tail += 1; - } - work->x = the_mouse.u.data.x / SP->_sysmouse_char_width; - work->y = the_mouse.u.data.y / SP->_sysmouse_char_height; - } -} -#endif /* USE_SYSMOUSE */ - -static int initialized; - -static void -init_xterm_mouse(void) -{ - SP->_mouse_type = M_XTERM; - SP->_mouse_xtermcap = tigetstr("XM"); - if (!VALID_STRING(SP->_mouse_xtermcap)) - SP->_mouse_xtermcap = "\033[?1000%?%p1%{1}%=%th%el%;"; -} - -static void -enable_xterm_mouse(int enable) -{ -#if USE_EMX_MOUSE - mouse_activated = enable; -#else - putp(tparm(SP->_mouse_xtermcap, enable)); -#endif - SP->_mouse_active = enable; -} - -#if USE_GPM_SUPPORT -static int -allow_gpm_mouse(void) -{ - /* GPM does printf's without checking if stdout is a terminal */ - if (isatty(fileno(stdout))) { - char *env = getenv("TERM"); - /* GPM checks the beginning of the $TERM variable to decide if - * it should pass xterm events through. There is no real advantage - * in allowing GPM to do this. - */ - if (env == 0 || strncmp(env, "xterm", 5)) - return TRUE; - } - return FALSE; -} - -static bool -enable_gpm_mouse(int enable) -{ - bool result; - - T((T_CALLED("enable_gpm_mouse(%d)"), enable)); - - if (enable && !SP->_mouse_active) { - /* GPM: initialize connection to gpm server */ - gpm_connect.eventMask = GPM_DOWN | GPM_UP; - gpm_connect.defaultMask = ~(gpm_connect.eventMask | GPM_HARD); - gpm_connect.minMod = 0; - gpm_connect.maxMod = (unsigned short) (~((1 << KG_SHIFT) | - (1 << KG_SHIFTL) | - (1 << KG_SHIFTR))); - /* - * Note: GPM hardcodes \E[?1001s and \E[?1000h during its open. - * The former is recognized by wscons (SunOS), and the latter by - * xterm. Those will not show up in ncurses' traces. - */ - result = (my_Gpm_Open(&gpm_connect, 0) >= 0); - SP->_mouse_active = result; - T(("GPM open %s", result ? "succeeded" : "failed")); - } else { - if (!enable && SP->_mouse_active) { - /* GPM: close connection to gpm server */ - my_Gpm_Close(); - SP->_mouse_active = FALSE; - T(("GPM closed")); - } - result = FALSE; - } - returnBool(result); -} -#endif /* USE_GPM_SUPPORT */ - -static void -initialize_mousetype(void) -{ - static const char *xterm_kmous = "\033[M"; - - T((T_CALLED("initialize_mousetype()"))); - - /* Try gpm first, because gpm may be configured to run in xterm */ -#if USE_GPM_SUPPORT - if (allow_gpm_mouse()) { - static bool first = TRUE; - static bool found = FALSE; - - if (first) { - void *obj; - first = FALSE; - - if ((obj = dlopen(LIBGPM_SONAME, my_RTLD)) != 0) { - if (GET_DLSYM(gpm_fd) == 0 || - GET_DLSYM(Gpm_Open) == 0 || - GET_DLSYM(Gpm_Close) == 0 || - GET_DLSYM(Gpm_GetEvent) == 0) { - T(("GPM initialization failed: %s", dlerror())); - dlclose(obj); - } else { - found = TRUE; - } - } - } - - /* - * The gpm_fd file-descriptor may be negative (xterm). So we have to - * maintain our notion of whether the mouse connection is active - * without testing the file-descriptor. - */ - if (found && enable_gpm_mouse(TRUE)) { - SP->_mouse_type = M_GPM; - SP->_mouse_fd = *my_gpm_fd; - T(("GPM mouse_fd %d", SP->_mouse_fd)); - returnVoid; - } - } -#endif /* USE_GPM_SUPPORT */ - - /* OS/2 VIO */ -#if USE_EMX_MOUSE - if (!mouse_thread - && strstr(cur_term->type.term_names, "xterm") == 0 - && key_mouse) { - int handles[2]; - - if (pipe(handles) < 0) { - perror("mouse pipe error"); - returnVoid; - } else { - int rc; - - if (!mouse_buttons[0]) { - char *s = getenv("MOUSE_BUTTONS_123"); - - mouse_buttons[0] = 1; - if (s && strlen(s) >= 3) { - mouse_buttons[1] = s[0] - '0'; - mouse_buttons[2] = s[1] - '0'; - mouse_buttons[3] = s[2] - '0'; - } - } - mouse_wfd = handles[1]; - M_FD(SP) = handles[0]; - /* Needed? */ - setmode(handles[0], O_BINARY); - setmode(handles[1], O_BINARY); - /* Do not use CRT functions, we may single-threaded. */ - rc = DosCreateThread((unsigned long *) &mouse_thread, - mouse_server, 0, 0, 8192); - if (rc) { - printf("mouse thread error %d=%#x", rc, rc); - } else { - SP->_mouse_type = M_XTERM; - } - returnVoid; - } - } -#endif /* USE_EMX_MOUSE */ - -#if USE_SYSMOUSE - { - struct mouse_info the_mouse; - char *the_device = 0; - - if (isatty(SP->_ifd)) - the_device = ttyname(SP->_ifd); - if (the_device == 0) - the_device = "/dev/tty"; - - SP->_mouse_fd = open(the_device, O_RDWR); - - if (SP->_mouse_fd >= 0) { - /* - * sysmouse does not have a usable user interface for obtaining - * mouse events. The logical way to proceed (reading data on a - * stream) only works if one opens the device as root. Even in - * that mode, careful examination shows we lose events - * occasionally. The interface provided for user programs is to - * establish a signal handler. really. - * - * Take over SIGUSR2 for this purpose since SIGUSR1 is more - * likely to be used by an application. getch() will have to - * handle the misleading EINTR's. - */ - signal(SIGUSR2, SIG_IGN); - the_mouse.operation = MOUSE_MODE; - the_mouse.u.mode.mode = 0; - the_mouse.u.mode.signal = SIGUSR2; - if (ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse) != -1) { - signal(SIGUSR2, handle_sysmouse); - the_mouse.operation = MOUSE_SHOW; - ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse); - -#if defined(FBIO_MODEINFO) || defined(CONS_MODEINFO) /* FreeBSD > 2.x */ - { -#ifndef FBIO_GETMODE /* FreeBSD 3.x */ -#define FBIO_GETMODE CONS_GET -#define FBIO_MODEINFO CONS_MODEINFO -#endif /* FBIO_GETMODE */ - video_info_t the_video; - - if (ioctl(SP->_mouse_fd, - FBIO_GETMODE, - &the_video.vi_mode) != -1 - && ioctl(SP->_mouse_fd, - FBIO_MODEINFO, - &the_video) != -1) { - SP->_sysmouse_char_width = the_video.vi_cwidth; - SP->_sysmouse_char_height = the_video.vi_cheight; - } - } -#endif /* defined(FBIO_MODEINFO) || defined(CONS_MODEINFO) */ - - if (SP->_sysmouse_char_width <= 0) - SP->_sysmouse_char_width = 8; - if (SP->_sysmouse_char_height <= 0) - SP->_sysmouse_char_height = 16; - SP->_mouse_type = M_SYSMOUSE; - returnVoid; - } - } - } -#endif /* USE_SYSMOUSE */ - - /* we know how to recognize mouse events under "xterm" */ - if (key_mouse != 0) { - if (!strcmp(key_mouse, xterm_kmous)) { - init_xterm_mouse(); - } - } else if (strstr(cur_term->type.term_names, "xterm") != 0) { - (void) _nc_add_to_try(&(SP->_keytry), xterm_kmous, KEY_MOUSE); - init_xterm_mouse(); - } - returnVoid; -} - -static bool -_nc_mouse_init(void) -/* initialize the mouse */ -{ - int i; - - if (!initialized && (SP != 0)) { - initialized = TRUE; - - TR(MY_TRACE, ("_nc_mouse_init() called")); - - for (i = 0; i < EV_MAX; i++) - events[i].id = INVALID_EVENT; - - initialize_mousetype(); - - T(("_nc_mouse_init() set mousetype to %d", SP->_mouse_type)); - } - return initialized; -} - -/* - * Query to see if there is a pending mouse event. This is called from - * fifo_push() in lib_getch.c - */ -static bool -_nc_mouse_event(SCREEN *sp GCC_UNUSED) -{ - bool result = FALSE; - - switch (SP->_mouse_type) { - case M_XTERM: - /* xterm: never have to query, mouse events are in the keyboard stream */ -#if USE_EMX_MOUSE - { - char kbuf[3]; - - int i, res = read(M_FD(sp), &kbuf, 3); /* Eat the prefix */ - if (res != 3) - printf("Got %d chars instead of 3 for prefix.\n", res); - for (i = 0; i < res; i++) { - if (kbuf[i] != key_mouse[i]) - printf("Got char %d instead of %d for prefix.\n", - (int) kbuf[i], (int) key_mouse[i]); - } - result = TRUE; - } -#endif /* USE_EMX_MOUSE */ - break; - -#if USE_GPM_SUPPORT - case M_GPM: - { - /* query server for event, return TRUE if we find one */ - Gpm_Event ev; - - if (my_Gpm_GetEvent(&ev) == 1) { - /* there's only one mouse... */ - eventp->id = NORMAL_EVENT; - - eventp->bstate = 0; - switch (ev.type & 0x0f) { - case (GPM_DOWN): - if (ev.buttons & GPM_B_LEFT) - eventp->bstate |= BUTTON1_PRESSED; - if (ev.buttons & GPM_B_MIDDLE) - eventp->bstate |= BUTTON2_PRESSED; - if (ev.buttons & GPM_B_RIGHT) - eventp->bstate |= BUTTON3_PRESSED; - break; - case (GPM_UP): - if (ev.buttons & GPM_B_LEFT) - eventp->bstate |= BUTTON1_RELEASED; - if (ev.buttons & GPM_B_MIDDLE) - eventp->bstate |= BUTTON2_RELEASED; - if (ev.buttons & GPM_B_RIGHT) - eventp->bstate |= BUTTON3_RELEASED; - break; - default: - break; - } - - eventp->x = ev.x - 1; - eventp->y = ev.y - 1; - eventp->z = 0; - - /* bump the next-free pointer into the circular list */ - eventp = NEXT(eventp); - result = TRUE; - } - } - break; -#endif - -#if USE_SYSMOUSE - case M_SYSMOUSE: - if (SP->_sysmouse_head < SP->_sysmouse_tail) { - *eventp = SP->_sysmouse_fifo[SP->_sysmouse_head]; - - /* - * Point the fifo-head to the next possible location. If there - * are none, reset the indices. This may be interrupted by the - * signal handler, doing essentially the same reset. - */ - SP->_sysmouse_head += 1; - if (SP->_sysmouse_head == SP->_sysmouse_tail) { - SP->_sysmouse_tail = 0; - SP->_sysmouse_head = 0; - } - - /* bump the next-free pointer into the circular list */ - eventp = NEXT(eventp); - result = TRUE; - } - break; -#endif /* USE_SYSMOUSE */ - - case M_NONE: - break; - } - - return result; /* true if we found an event */ -} - -static bool -_nc_mouse_inline(SCREEN *sp) -/* mouse report received in the keyboard stream -- parse its info */ -{ - int b; - bool result = FALSE; - - TR(MY_TRACE, ("_nc_mouse_inline() called")); - - if (SP->_mouse_type == M_XTERM) { - unsigned char kbuf[4]; - mmask_t prev; - size_t grabbed; - int res; - - /* This code requires that your xterm entry contain the kmous - * capability and that it be set to the \E[M documented in the - * Xterm Control Sequences reference. This is how we - * arrange for mouse events to be reported via a KEY_MOUSE - * return value from wgetch(). After this value is received, - * _nc_mouse_inline() gets called and is immediately - * responsible for parsing the mouse status information - * following the prefix. - * - * The following quotes from the ctrlseqs.ms document in the - * X distribution, describing the X mouse tracking feature: - * - * Parameters for all mouse tracking escape sequences - * generated by xterm encode numeric parameters in a single - * character as value+040. For example, ! is 1. - * - * On button press or release, xterm sends ESC [ M CbCxCy. - * The low two bits of Cb encode button information: 0=MB1 - * pressed, 1=MB2 pressed, 2=MB3 pressed, 3=release. The - * upper bits encode what modifiers were down when the - * button was pressed and are added together. 4=Shift, - * 8=Meta, 16=Control. Cx and Cy are the x and y coordinates - * of the mouse event. The upper left corner is (1,1). - * - * (End quote) By the time we get here, we've eaten the - * key prefix. FYI, the loop below is necessary because - * mouse click info isn't guaranteed to present as a - * single clist item. - * - * Wheel mice may return buttons 4 and 5 when the wheel is turned. - * We encode those as button presses. - */ - for (grabbed = 0; grabbed < 3; grabbed += res) { - - /* For VIO mouse we add extra bit 64 to disambiguate button-up. */ -#if USE_EMX_MOUSE - res = read(M_FD(sp) >= 0 ? M_FD(sp) : sp->_ifd, &kbuf, 3); -#else - res = read(sp->_ifd, kbuf + grabbed, 3 - grabbed); -#endif - if (res == -1) - break; - } - kbuf[3] = '\0'; - - TR(TRACE_IEVENT, - ("_nc_mouse_inline sees the following xterm data: '%s'", kbuf)); - - /* there's only one mouse... */ - eventp->id = NORMAL_EVENT; - - /* processing code goes here */ - eventp->bstate = 0; - prev = PREV(eventp)->bstate; - -#if USE_EMX_MOUSE -#define PRESS_POSITION(n) \ - eventp->bstate = MASK_PRESS(n); \ - if (kbuf[0] & 0x40) \ - eventp->bstate = MASK_RELEASE(n) -#else -#define PRESS_POSITION(n) \ - eventp->bstate = (prev & MASK_PRESS(n) \ - ? REPORT_MOUSE_POSITION \ - : MASK_PRESS(n)) -#endif - - switch (kbuf[0] & 0x3) { - case 0x0: - if (kbuf[0] & 64) - eventp->bstate = MASK_PRESS(4); - else - PRESS_POSITION(1); - break; - - case 0x1: -#if NCURSES_MOUSE_VERSION == 2 - if (kbuf[0] & 64) - eventp->bstate = MASK_PRESS(5); - else -#endif - PRESS_POSITION(2); - break; - - case 0x2: - PRESS_POSITION(3); - break; - - case 0x3: - /* - * Release events aren't reported for individual buttons, just for - * the button set as a whole. However, because there are normally - * no mouse events under xterm that intervene between press and - * release, we can infer the button actually released by looking at - * the previous event. - */ - if (prev & (BUTTON_PRESSED | BUTTON_RELEASED)) { - eventp->bstate = BUTTON_RELEASED; - for (b = 1; b <= MAX_BUTTONS; ++b) { - if (!(prev & MASK_PRESS(b))) - eventp->bstate &= ~MASK_RELEASE(b); - } - } else { - /* - * XFree86 xterm will return a stream of release-events to - * let the application know where the mouse is going, if the - * private mode 1002 or 1003 is enabled. - */ - eventp->bstate = REPORT_MOUSE_POSITION; - } - break; - } - result = (eventp->bstate & REPORT_MOUSE_POSITION) ? TRUE : FALSE; - - if (kbuf[0] & 4) { - eventp->bstate |= BUTTON_SHIFT; - } - if (kbuf[0] & 8) { - eventp->bstate |= BUTTON_ALT; - } - if (kbuf[0] & 16) { - eventp->bstate |= BUTTON_CTRL; - } - - eventp->x = (kbuf[1] - ' ') - 1; - eventp->y = (kbuf[2] - ' ') - 1; - TR(MY_TRACE, - ("_nc_mouse_inline: primitive mouse-event %s has slot %ld", - _tracemouse(eventp), - (long) (eventp - events))); - - /* bump the next-free pointer into the circular list */ - eventp = NEXT(eventp); -#if 0 /* this return would be needed for QNX's mods to lib_getch.c */ - return (TRUE); -#endif - } - - return (result); -} - -static void -mouse_activate(bool on) -{ - if (!on && !initialized) - return; - - if (!_nc_mouse_init()) - return; - - if (on) { - - switch (SP->_mouse_type) { - case M_XTERM: -#if NCURSES_EXT_FUNCS - keyok(KEY_MOUSE, on); -#endif - TPUTS_TRACE("xterm mouse initialization"); - enable_xterm_mouse(1); - break; -#if USE_GPM_SUPPORT - case M_GPM: - if (enable_gpm_mouse(1)) { - SP->_mouse_fd = *my_gpm_fd; - T(("GPM mouse_fd %d", SP->_mouse_fd)); - } - break; -#endif -#if USE_SYSMOUSE - case M_SYSMOUSE: - signal(SIGUSR2, handle_sysmouse); - SP->_mouse_active = TRUE; - break; -#endif - case M_NONE: - return; - } - /* Make runtime binding to cut down on object size of applications that - * do not use the mouse (e.g., 'clear'). - */ - SP->_mouse_event = _nc_mouse_event; - SP->_mouse_inline = _nc_mouse_inline; - SP->_mouse_parse = _nc_mouse_parse; - SP->_mouse_resume = _nc_mouse_resume; - SP->_mouse_wrap = _nc_mouse_wrap; - } else { - - switch (SP->_mouse_type) { - case M_XTERM: - TPUTS_TRACE("xterm mouse deinitialization"); - enable_xterm_mouse(0); - break; -#if USE_GPM_SUPPORT - case M_GPM: - enable_gpm_mouse(0); - break; -#endif -#if USE_SYSMOUSE - case M_SYSMOUSE: - signal(SIGUSR2, SIG_IGN); - SP->_mouse_active = FALSE; - break; -#endif - case M_NONE: - return; - } - } - _nc_flush(); -} - -/************************************************************************** - * - * Device-independent code - * - **************************************************************************/ - -static bool -_nc_mouse_parse(int runcount) -/* parse a run of atomic mouse events into a gesture */ -{ - MEVENT *ep, *runp, *next, *prev = PREV(eventp); - int n; - int b; - bool merge; - - TR(MY_TRACE, ("_nc_mouse_parse(%d) called", runcount)); - - /* - * When we enter this routine, the event list next-free pointer - * points just past a run of mouse events that we know were separated - * in time by less than the critical click interval. The job of this - * routine is to collapse this run into a single higher-level event - * or gesture. - * - * We accomplish this in two passes. The first pass merges press/release - * pairs into click events. The second merges runs of click events into - * double or triple-click events. - * - * It's possible that the run may not resolve to a single event (for - * example, if the user quadruple-clicks). If so, leading events - * in the run are ignored. - * - * Note that this routine is independent of the format of the specific - * format of the pointing-device's reports. We can use it to parse - * gestures on anything that reports press/release events on a per- - * button basis, as long as the device-dependent mouse code puts stuff - * on the queue in MEVENT format. - */ - if (runcount == 1) { - TR(MY_TRACE, - ("_nc_mouse_parse: returning simple mouse event %s at slot %ld", - _tracemouse(prev), - (long) (prev - events))); - return (prev->id >= NORMAL_EVENT) - ? ((prev->bstate & eventmask) ? TRUE : FALSE) - : FALSE; - } - - /* find the start of the run */ - runp = eventp; - for (n = runcount; n > 0; n--) { - runp = PREV(runp); - } - -#ifdef TRACE - if (_nc_tracing & TRACE_IEVENT) { - _trace_slot("before mouse press/release merge:"); - _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d", - (long) (runp - events), - (long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX, - runcount); - } -#endif /* TRACE */ - - /* first pass; merge press/release pairs */ - do { - merge = FALSE; - for (ep = runp; (next = NEXT(ep)) != eventp; ep = next) { - -#define MASK_CHANGED(x) (!(ep->bstate & MASK_PRESS(x)) \ - == !(next->bstate & MASK_RELEASE(x))) - - if (ep->x == next->x && ep->y == next->y - && (ep->bstate & BUTTON_PRESSED) - && MASK_CHANGED(1) - && MASK_CHANGED(2) - && MASK_CHANGED(3) - && MASK_CHANGED(4) -#if NCURSES_MOUSE_VERSION == 2 - && MASK_CHANGED(5) -#endif - ) { - for (b = 1; b <= MAX_BUTTONS; ++b) { - if ((eventmask & MASK_CLICK(b)) - && (ep->bstate & MASK_PRESS(b))) { - ep->bstate &= ~MASK_PRESS(b); - ep->bstate |= MASK_CLICK(b); - merge = TRUE; - } - } - if (merge) - next->id = INVALID_EVENT; - } - } - } while - (merge); - -#ifdef TRACE - if (_nc_tracing & TRACE_IEVENT) { - _trace_slot("before mouse click merge:"); - _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d", - (long) (runp - events), - (long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX, - runcount); - } -#endif /* TRACE */ - - /* - * Second pass; merge click runs. At this point, click events are - * each followed by one invalid event. We merge click events - * forward in the queue. - * - * NOTE: There is a problem with this design! If the application - * allows enough click events to pile up in the circular queue so - * they wrap around, it will cheerfully merge the newest forward - * into the oldest, creating a bogus doubleclick and confusing - * the queue-traversal logic rather badly. Generally this won't - * happen, because calling getmouse() marks old events invalid and - * ineligible for merges. The true solution to this problem would - * be to timestamp each MEVENT and perform the obvious sanity check, - * but the timer element would have to have sub-second resolution, - * which would get us into portability trouble. - */ - do { - MEVENT *follower; - - merge = FALSE; - for (ep = runp; (next = NEXT(ep)) != eventp; ep = next) - if (ep->id != INVALID_EVENT) { - if (next->id != INVALID_EVENT) - continue; - follower = NEXT(next); - if (follower->id == INVALID_EVENT) - continue; - - /* merge click events forward */ - if ((ep->bstate & BUTTON_CLICKED) - && (follower->bstate & BUTTON_CLICKED)) { - for (b = 1; b <= MAX_BUTTONS; ++b) { - if ((eventmask & MASK_DOUBLE_CLICK(b)) - && (follower->bstate & MASK_CLICK(b))) { - follower->bstate &= ~MASK_CLICK(b); - follower->bstate |= MASK_DOUBLE_CLICK(b); - merge = TRUE; - } - } - if (merge) - ep->id = INVALID_EVENT; - } - - /* merge double-click events forward */ - if ((ep->bstate & BUTTON_DOUBLE_CLICKED) - && (follower->bstate & BUTTON_CLICKED)) { - for (b = 1; b <= MAX_BUTTONS; ++b) { - if ((eventmask & MASK_TRIPLE_CLICK(b)) - && (follower->bstate & MASK_CLICK(b))) { - follower->bstate &= ~MASK_CLICK(b); - follower->bstate |= MASK_TRIPLE_CLICK(b); - merge = TRUE; - } - } - if (merge) - ep->id = INVALID_EVENT; - } - } - } while - (merge); - -#ifdef TRACE - if (_nc_tracing & TRACE_IEVENT) { - _trace_slot("before mouse event queue compaction:"); - _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d", - (long) (runp - events), - (long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX, - runcount); - } -#endif /* TRACE */ - - /* - * Now try to throw away trailing events flagged invalid, or that - * don't match the current event mask. - */ - for (; runcount; prev = PREV(eventp), runcount--) - if (prev->id == INVALID_EVENT || !(prev->bstate & eventmask)) { - eventp = prev; - } -#ifdef TRACE - if (_nc_tracing & TRACE_IEVENT) { - _trace_slot("after mouse event queue compaction:"); - _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d", - (long) (runp - events), - (long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX, - runcount); - } - for (ep = runp; ep != eventp; ep = NEXT(ep)) - if (ep->id != INVALID_EVENT) - TR(MY_TRACE, - ("_nc_mouse_parse: returning composite mouse event %s at slot %ld", - _tracemouse(ep), - (long) (ep - events))); -#endif /* TRACE */ - - /* after all this, do we have a valid event? */ - return (PREV(eventp)->id != INVALID_EVENT); -} - -static void -_nc_mouse_wrap(SCREEN *sp GCC_UNUSED) -/* release mouse -- called by endwin() before shellout/exit */ -{ - TR(MY_TRACE, ("_nc_mouse_wrap() called")); - - switch (SP->_mouse_type) { - case M_XTERM: - if (eventmask) - mouse_activate(FALSE); - break; -#if USE_GPM_SUPPORT - /* GPM: pass all mouse events to next client */ - case M_GPM: - if (eventmask) - mouse_activate(FALSE); - break; -#endif -#if USE_SYSMOUSE - case M_SYSMOUSE: - mouse_activate(FALSE); - break; -#endif - case M_NONE: - break; - } -} - -static void -_nc_mouse_resume(SCREEN *sp GCC_UNUSED) -/* re-connect to mouse -- called by doupdate() after shellout */ -{ - TR(MY_TRACE, ("_nc_mouse_resume() called")); - - switch (SP->_mouse_type) { - case M_XTERM: - /* xterm: re-enable reporting */ - if (eventmask) - mouse_activate(TRUE); - break; - -#if USE_GPM_SUPPORT - case M_GPM: - /* GPM: reclaim our event set */ - if (eventmask) - mouse_activate(TRUE); - break; -#endif - -#if USE_SYSMOUSE - case M_SYSMOUSE: - mouse_activate(TRUE); - break; -#endif - case M_NONE: - break; - } -} - -/************************************************************************** - * - * Mouse interface entry points for the API - * - **************************************************************************/ - -NCURSES_EXPORT(int) -getmouse(MEVENT * aevent) -/* grab a copy of the current mouse event */ -{ - T((T_CALLED("getmouse(%p)"), aevent)); - - if (aevent && (SP->_mouse_type != M_NONE)) { - /* compute the current-event pointer */ - MEVENT *prev = PREV(eventp); - - /* copy the event we find there */ - *aevent = *prev; - - TR(TRACE_IEVENT, ("getmouse: returning event %s from slot %ld", - _tracemouse(prev), - (long) (prev - events))); - - prev->id = INVALID_EVENT; /* so the queue slot becomes free */ - returnCode(OK); - } - returnCode(ERR); -} - -NCURSES_EXPORT(int) -ungetmouse(MEVENT * aevent) -/* enqueue a synthesized mouse event to be seen by the next wgetch() */ -{ - T((T_CALLED("ungetmouse(%p)"), aevent)); - - /* stick the given event in the next-free slot */ - *eventp = *aevent; - - /* bump the next-free pointer into the circular list */ - eventp = NEXT(eventp); - - /* push back the notification event on the keyboard queue */ - returnCode(ungetch(KEY_MOUSE)); -} - -NCURSES_EXPORT(mmask_t) -mousemask(mmask_t newmask, mmask_t * oldmask) -/* set the mouse event mask */ -{ - mmask_t result = 0; - - T((T_CALLED("mousemask(%#lx,%p)"), (unsigned long) newmask, oldmask)); - - if (oldmask) - *oldmask = eventmask; - - if (!newmask && !initialized) - returnBits(0); - - _nc_mouse_init(); - if (SP != 0 && SP->_mouse_type != M_NONE) { - eventmask = newmask & - (REPORT_MOUSE_POSITION | BUTTON_ALT | BUTTON_CTRL | BUTTON_SHIFT - | BUTTON_PRESSED - | BUTTON_RELEASED - | BUTTON_CLICKED - | BUTTON_DOUBLE_CLICKED - | BUTTON_TRIPLE_CLICKED); - - mouse_activate(eventmask != 0); - - result = eventmask; - } - - returnBits(result); -} - -NCURSES_EXPORT(bool) -wenclose(const WINDOW *win, int y, int x) -/* check to see if given window encloses given screen location */ -{ - bool result = FALSE; - - T((T_CALLED("wenclose(%p,%d,%d)"), win, y, x)); - - if (win != 0) { - y -= win->_yoffset; - result = ((win->_begy <= y && - win->_begx <= x && - (win->_begx + win->_maxx) >= x && - (win->_begy + win->_maxy) >= y) ? TRUE : FALSE); - } - returnBool(result); -} - -NCURSES_EXPORT(int) -mouseinterval(int maxclick) -/* set the maximum mouse interval within which to recognize a click */ -{ - int oldval; - - T((T_CALLED("mouseinterval(%d)"), maxclick)); - - if (SP != 0) { - oldval = SP->_maxclick; - if (maxclick >= 0) - SP->_maxclick = maxclick; - } else { - oldval = DEFAULT_MAXCLICK; - } - - returnCode(oldval); -} - -/* This may be used by other routines to ask for the existence of mouse - support */ -NCURSES_EXPORT(int) -_nc_has_mouse(void) -{ - return (SP->_mouse_type == M_NONE ? 0 : 1); -} - -NCURSES_EXPORT(bool) -wmouse_trafo(const WINDOW *win, int *pY, int *pX, bool to_screen) -{ - bool result = FALSE; - - T((T_CALLED("wmouse_trafo(%p,%p,%p,%d)"), win, pY, pX, to_screen)); - - if (win && pY && pX) { - int y = *pY; - int x = *pX; - - if (to_screen) { - y += win->_begy + win->_yoffset; - x += win->_begx; - if (wenclose(win, y, x)) - result = TRUE; - } else { - if (wenclose(win, y, x)) { - y -= (win->_begy + win->_yoffset); - x -= win->_begx; - result = TRUE; - } - } - if (result) { - *pX = x; - *pY = y; - } - } - returnBool(result); -} diff --git a/src/libs/ncurses/ncurses/base/lib_move.c b/src/libs/ncurses/ncurses/base/lib_move.c deleted file mode 100644 index 652c44d7b7..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_move.c +++ /dev/null @@ -1,60 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* -** lib_move.c -** -** The routine wmove(). -** -*/ - -#include - -MODULE_ID("$Id: lib_move.c,v 1.12 2004/12/04 21:50:07 tom Exp $") - -NCURSES_EXPORT(int) -wmove(WINDOW *win, int y, int x) -{ - T((T_CALLED("wmove(%p,%d,%d)"), win, y, x)); - - if (LEGALYX(win, y, x)) { - win->_curx = (NCURSES_SIZE_T) x; - win->_cury = (NCURSES_SIZE_T) y; - - win->_flags &= ~_WRAPPED; - win->_flags |= _HASMOVED; - returnCode(OK); - } else - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/base/lib_mvwin.c b/src/libs/ncurses/ncurses/base/lib_mvwin.c deleted file mode 100644 index 63d54ccda5..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_mvwin.c +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_mvwin.c -** -** The routine mvwin(). -** -*/ - -#include - -MODULE_ID("$Id: lib_mvwin.c,v 1.12 2001/12/19 01:06:22 tom Exp $") - -NCURSES_EXPORT(int) -mvwin(WINDOW *win, int by, int bx) -{ - T((T_CALLED("mvwin(%p,%d,%d)"), win, by, bx)); - - if (!win || (win->_flags & _ISPAD)) - returnCode(ERR); - - /* Copying subwindows is allowed, but it is expensive... */ - if (win->_flags & _SUBWIN) { - int err = ERR; - WINDOW *parent = win->_parent; - if (parent) { /* Now comes the complicated and costly part, you should really - * try to avoid to move subwindows. Because a subwindow shares - * the text buffers with its parent, one can't do a simple - * memmove of the text buffers. One has to create a copy, then - * to relocate the subwindow and then to do a copy. - */ - if ((by - parent->_begy == win->_pary) && - (bx - parent->_begx == win->_parx)) - err = OK; /* we don't actually move */ - else { - WINDOW *clone = dupwin(win); - if (clone) { - /* now we have the clone, so relocate win */ - - werase(win); /* Erase the original place */ - /* fill with parents background */ - wbkgrnd(win, CHREF(parent->_nc_bkgd)); - wsyncup(win); /* Tell the parent(s) */ - - err = mvderwin(win, - by - parent->_begy, - bx - parent->_begx); - if (err != ERR) { - err = copywin(clone, win, - 0, 0, 0, 0, win->_maxy, win->_maxx, 0); - if (ERR != err) - wsyncup(win); - } - if (ERR == delwin(clone)) - err = ERR; - } - } - } - returnCode(err); - } - - if (by + win->_maxy > screen_lines - 1 - || bx + win->_maxx > screen_columns - 1 - || by < 0 - || bx < 0) - returnCode(ERR); - - /* - * Whether or not the window is moved, touch the window's contents so - * that a following call to 'wrefresh()' will paint the window at the - * new location. This ensures that if the caller has refreshed another - * window at the same location, that this one will be displayed. - */ - win->_begy = by; - win->_begx = bx; - returnCode(touchwin(win)); -} diff --git a/src/libs/ncurses/ncurses/base/lib_newterm.c b/src/libs/ncurses/ncurses/base/lib_newterm.c deleted file mode 100644 index ad7b122be8..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_newterm.c +++ /dev/null @@ -1,211 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* -** lib_newterm.c -** -** The newterm() function. -** -*/ - -#include - -#if SVR4_TERMIO && !defined(_POSIX_SOURCE) -#define _POSIX_SOURCE -#endif - -#include /* clear_screen, cup & friends, cur_term */ -#include - -MODULE_ID("$Id: lib_newterm.c,v 1.58 2004/08/14 20:36:39 tom Exp $") - -#ifndef ONLCR /* Allows compilation under the QNX 4.2 OS */ -#define ONLCR 0 -#endif - -/* - * SVr4/XSI Curses specify that hardware echo is turned off in initscr, and not - * restored during the curses session. The library simulates echo in software. - * (The behavior is unspecified if the application enables hardware echo). - * - * The newterm function also initializes terminal settings, and since initscr - * is supposed to behave as if it calls newterm, we do it here. - */ -static inline int -_nc_initscr(void) -{ - int result = ERR; - - /* for extended XPG4 conformance requires cbreak() at this point */ - /* (SVr4 curses does this anyway) */ - if (cbreak() == OK) { - TTY buf; - - buf = cur_term->Nttyb; -#ifdef TERMIOS - buf.c_lflag &= ~(ECHO | ECHONL); - buf.c_iflag &= ~(ICRNL | INLCR | IGNCR); - buf.c_oflag &= ~(ONLCR); -#else - buf.sg_flags &= ~(ECHO | CRMOD); -#endif - if ((result = _nc_set_tty_mode(&buf)) == OK) - cur_term->Nttyb = buf; - } - return result; -} - -/* - * filter() has to be called before either initscr() or newterm(), so there is - * apparently no way to make this flag apply to some terminals and not others, - * aside from possibly delaying a filter() call until some terminals have been - * initialized. - */ -static int filter_mode = FALSE; - -NCURSES_EXPORT(void) -filter(void) -{ - T((T_CALLED("filter"))); - filter_mode = TRUE; - returnVoid; -} - -NCURSES_EXPORT(SCREEN *) -newterm(NCURSES_CONST char *name, FILE *ofp, FILE *ifp) -{ - int errret; - int slk_format = _nc_slk_format; - SCREEN *current; - - START_TRACE(); - T((T_CALLED("newterm(\"%s\",%p,%p)"), name, ofp, ifp)); - - /* this loads the capability entry, then sets LINES and COLS */ - if (setupterm(name, fileno(ofp), &errret) == ERR) - returnSP(0); - - /* implement filter mode */ - if (filter_mode) { - LINES = 1; - - clear_screen = 0; - cursor_down = parm_down_cursor = 0; - cursor_address = 0; - cursor_up = parm_up_cursor = 0; - row_address = 0; - - cursor_home = carriage_return; - } - - /* If we must simulate soft labels, grab off the line to be used. - We assume that we must simulate, if it is none of the standard - formats (4-4 or 3-2-3) for which there may be some hardware - support. */ - if (num_labels <= 0 || !SLK_STDFMT(slk_format)) - if (slk_format) { - if (ERR == _nc_ripoffline(-SLK_LINES(slk_format), - _nc_slk_initialize)) - returnSP(0); - } - /* this actually allocates the screen structure, and saves the - * original terminal settings. - */ - current = SP; - _nc_set_screen(0); - if (_nc_setupscreen(LINES, COLS, ofp) == ERR) { - _nc_set_screen(current); - returnSP(0); - } - - /* if the terminal type has real soft labels, set those up */ - if (slk_format && num_labels > 0 && SLK_STDFMT(slk_format)) - _nc_slk_initialize(stdscr, COLS); - - SP->_ifd = fileno(ifp); - typeahead(fileno(ifp)); -#ifdef TERMIOS - SP->_use_meta = ((cur_term->Ottyb.c_cflag & CSIZE) == CS8 && - !(cur_term->Ottyb.c_iflag & ISTRIP)); -#else - SP->_use_meta = FALSE; -#endif - SP->_endwin = FALSE; - - /* Check whether we can optimize scrolling under dumb terminals in case - * we do not have any of these capabilities, scrolling optimization - * will be useless. - */ - SP->_scrolling = ((scroll_forward && scroll_reverse) || - ((parm_rindex || parm_insert_line || insert_line) && - (parm_index || parm_delete_line || delete_line))); - - baudrate(); /* sets a field in the SP structure */ - - SP->_keytry = 0; - - /* - * Check for mismatched graphic-rendition capabilities. Most SVr4 - * terminfo trees contain entries that have rmul or rmso equated to - * sgr0 (Solaris curses copes with those entries). We do this only for - * curses, since many termcap applications assume that smso/rmso and - * smul/rmul are paired, and will not function properly if we remove - * rmso or rmul. Curses applications shouldn't be looking at this - * detail. - */ -#define SGR0_TEST(mode) (mode != 0) && (exit_attribute_mode == 0 || strcmp(mode, exit_attribute_mode)) - SP->_use_rmso = SGR0_TEST(exit_standout_mode); - SP->_use_rmul = SGR0_TEST(exit_underline_mode); - - /* compute movement costs so we can do better move optimization */ - _nc_mvcur_init(); - - /* initialize terminal to a sane state */ - _nc_screen_init(); - - /* Initialize the terminal line settings. */ - _nc_initscr(); - - _nc_signal_handler(TRUE); - -#if USE_SIZECHANGE - /* - * Pretend we received a SIGWINCH, just in case we're starting up in a - * terminal that cannot initialize its size properly (Debian #265631). - */ - SP->_sig_winch = TRUE; -#endif - - returnSP(SP); -} diff --git a/src/libs/ncurses/ncurses/base/lib_newwin.c b/src/libs/ncurses/ncurses/base/lib_newwin.c deleted file mode 100644 index c0980ad589..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_newwin.c +++ /dev/null @@ -1,307 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* -** lib_newwin.c -** -** The routines newwin(), subwin() and their dependent -** -*/ - -#include - -MODULE_ID("$Id: lib_newwin.c,v 1.36 2005/04/09 15:23:04 tom Exp $") - -static WINDOW * -remove_window_from_screen(WINDOW *win) -{ - SCREEN **scan = &_nc_screen_chain; - - while (*scan) { - SCREEN *sp = *scan; - if (sp->_curscr == win) { - sp->_curscr = 0; - if (win == curscr) - curscr = 0; - } else if (sp->_stdscr == win) { - sp->_stdscr = 0; - if (win == stdscr) - stdscr = 0; - } else if (sp->_newscr == win) { - sp->_newscr = 0; - if (win == newscr) - newscr = 0; - } else { - scan = &(*scan)->_next_screen; - continue; - } - break; - } - - return 0; -} - -NCURSES_EXPORT(int) -_nc_freewin(WINDOW *win) -{ - WINDOWLIST *p, *q; - int i; - int result = ERR; - - if (win != 0) { - for (p = _nc_windows, q = 0; p != 0; q = p, p = p->next) { - if (&(p->win) == win) { - remove_window_from_screen(win); - if (q == 0) - _nc_windows = p->next; - else - q->next = p->next; - - if (!(win->_flags & _SUBWIN)) { - for (i = 0; i <= win->_maxy; i++) - FreeIfNeeded(win->_line[i].text); - } - free(win->_line); - free(p); - - result = OK; - T(("...deleted win=%p", win)); - break; - } - } - } - return result; -} - -NCURSES_EXPORT(WINDOW *) -newwin(int num_lines, int num_columns, int begy, int begx) -{ - WINDOW *win; - NCURSES_CH_T *ptr; - int i; - - T((T_CALLED("newwin(%d,%d,%d,%d)"), num_lines, num_columns, begy, begx)); - - if (begy < 0 || begx < 0 || num_lines < 0 || num_columns < 0) - returnWin(0); - - if (num_lines == 0) - num_lines = SP->_lines_avail - begy; - if (num_columns == 0) - num_columns = screen_columns - begx; - - if ((win = _nc_makenew(num_lines, num_columns, begy, begx, 0)) == 0) - returnWin(0); - - for (i = 0; i < num_lines; i++) { - win->_line[i].text = typeCalloc(NCURSES_CH_T, (unsigned) num_columns); - if (win->_line[i].text == 0) { - (void) _nc_freewin(win); - returnWin(0); - } - for (ptr = win->_line[i].text; - ptr < win->_line[i].text + num_columns; - ptr++) - SetChar(*ptr, BLANK_TEXT, BLANK_ATTR); - } - - returnWin(win); -} - -NCURSES_EXPORT(WINDOW *) -derwin(WINDOW *orig, int num_lines, int num_columns, int begy, int begx) -{ - WINDOW *win; - int i; - int flags = _SUBWIN; - - T((T_CALLED("derwin(%p,%d,%d,%d,%d)"), orig, num_lines, num_columns, - begy, begx)); - - /* - * make sure window fits inside the original one - */ - if (begy < 0 || begx < 0 || orig == 0 || num_lines < 0 || num_columns < 0) - returnWin(0); - if (begy + num_lines > orig->_maxy + 1 - || begx + num_columns > orig->_maxx + 1) - returnWin(0); - - if (num_lines == 0) - num_lines = orig->_maxy + 1 - begy; - - if (num_columns == 0) - num_columns = orig->_maxx + 1 - begx; - - if (orig->_flags & _ISPAD) - flags |= _ISPAD; - - if ((win = _nc_makenew(num_lines, num_columns, orig->_begy + begy, - orig->_begx + begx, flags)) == 0) - returnWin(0); - - win->_pary = begy; - win->_parx = begx; - win->_attrs = orig->_attrs; - win->_nc_bkgd = orig->_nc_bkgd; - - for (i = 0; i < num_lines; i++) - win->_line[i].text = &orig->_line[begy++].text[begx]; - - win->_parent = orig; - - returnWin(win); -} - -NCURSES_EXPORT(WINDOW *) -subwin(WINDOW *w, int l, int c, int y, int x) -{ - T((T_CALLED("subwin(%p, %d, %d, %d, %d)"), w, l, c, y, x)); - T(("parent has begy = %d, begx = %d", w->_begy, w->_begx)); - - returnWin(derwin(w, l, c, y - w->_begy, x - w->_begx)); -} - -static bool -dimension_limit(int value) -{ - NCURSES_SIZE_T test = value; - return (test == value && value > 0); -} - -NCURSES_EXPORT(WINDOW *) -_nc_makenew(int num_lines, int num_columns, int begy, int begx, int flags) -{ - int i; - WINDOWLIST *wp; - WINDOW *win; - bool is_pad = (flags & _ISPAD); - - T(("_nc_makenew(%d,%d,%d,%d)", num_lines, num_columns, begy, begx)); - - if (SP == 0) - return 0; - - if (!dimension_limit(num_lines) || !dimension_limit(num_columns)) - return 0; - - if ((wp = typeCalloc(WINDOWLIST, 1)) == 0) - return 0; - - win = &(wp->win); - - if ((win->_line = typeCalloc(struct ldat, ((unsigned) num_lines))) == 0) { - free(win); - return 0; - } - - win->_curx = 0; - win->_cury = 0; - win->_maxy = num_lines - 1; - win->_maxx = num_columns - 1; - win->_begy = begy; - win->_begx = begx; - win->_yoffset = SP->_topstolen; - - win->_flags = flags; - win->_attrs = A_NORMAL; - SetChar(win->_nc_bkgd, BLANK_TEXT, BLANK_ATTR); - - win->_clear = is_pad ? FALSE : (num_lines == screen_lines - && num_columns == screen_columns); - win->_idlok = FALSE; - win->_idcok = TRUE; - win->_scroll = FALSE; - win->_leaveok = FALSE; - win->_use_keypad = FALSE; - win->_delay = -1; - win->_immed = FALSE; - win->_sync = 0; - win->_parx = -1; - win->_pary = -1; - win->_parent = 0; - - win->_regtop = 0; - win->_regbottom = num_lines - 1; - - win->_pad._pad_y = -1; - win->_pad._pad_x = -1; - win->_pad._pad_top = -1; - win->_pad._pad_bottom = -1; - win->_pad._pad_left = -1; - win->_pad._pad_right = -1; - - for (i = 0; i < num_lines; i++) { - /* - * This used to do - * - * win->_line[i].firstchar = win->_line[i].lastchar = _NOCHANGE; - * - * which marks the whole window unchanged. That's how - * SVr1 curses did it, but SVr4 curses marks the whole new - * window changed. - * - * With the old SVr1-like code, say you have stdscr full of - * characters, then create a new window with newwin(), - * then do a printw(win, "foo ");, the trailing spaces are - * completely ignored by the following refreshes. So, you - * get "foojunkjunk" on the screen instead of "foo " as - * you actually intended. - * - * SVr4 doesn't do this. Instead the spaces are actually written. - * So that's how we want ncurses to behave. - */ - win->_line[i].firstchar = 0; - win->_line[i].lastchar = num_columns - 1; - - if_USE_SCROLL_HINTS(win->_line[i].oldindex = i); - } - - if (!is_pad && (begx + num_columns == screen_columns)) { - win->_flags |= _ENDLINE; - - if (begx == 0 && num_lines == screen_lines && begy == 0) - win->_flags |= _FULLWIN; - - if (begy + num_lines == screen_lines) - win->_flags |= _SCROLLWIN; - } - - wp->next = _nc_windows; - _nc_windows = wp; - - T((T_CREATE("window %p"), win)); - - return (win); -} diff --git a/src/libs/ncurses/ncurses/base/lib_nl.c b/src/libs/ncurses/ncurses/base/lib_nl.c deleted file mode 100644 index 32515da0be..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_nl.c +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,1999,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * nl.c - * - * Routines: - * nl() - * nonl() - * - */ - -#include - -MODULE_ID("$Id: lib_nl.c,v 1.8 2000/12/10 02:43:27 tom Exp $") - -#ifdef __EMX__ -#include -#endif - -NCURSES_EXPORT(int) -nl(void) -{ - T((T_CALLED("nl()"))); - - SP->_nl = TRUE; - -#ifdef __EMX__ - _nc_flush(); - _fsetmode(NC_OUTPUT, "t"); -#endif - - returnCode(OK); -} - -NCURSES_EXPORT(int) -nonl(void) -{ - T((T_CALLED("nonl()"))); - - SP->_nl = FALSE; - -#ifdef __EMX__ - _nc_flush(); - _fsetmode(NC_OUTPUT, "b"); -#endif - - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/base/lib_overlay.c b/src/libs/ncurses/ncurses/base/lib_overlay.c deleted file mode 100644 index 7840b45036..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_overlay.c +++ /dev/null @@ -1,184 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_overlay.c -** -** The routines overlay(), copywin(), and overwrite(). -** -*/ - -#include - -MODULE_ID("$Id: lib_overlay.c,v 1.21 2002/09/21 23:03:32 tom Exp $") - -static int -overlap(const WINDOW *const s, WINDOW *const d, int const flag) -{ - int sx1, sy1, sx2, sy2; - int dx1, dy1, dx2, dy2; - int sminrow, smincol; - int dminrow, dmincol; - int dmaxrow, dmaxcol; - - T((T_CALLED("overlap(%p,%p,%d)"), s, d, flag)); - - if (s == 0 || d == 0) { - returnCode(ERR); - } else { - T(("src : begy %d, begx %d, maxy %d, maxx %d", - s->_begy, s->_begx, s->_maxy, s->_maxx)); - T(("dst : begy %d, begx %d, maxy %d, maxx %d", - d->_begy, d->_begx, d->_maxy, d->_maxx)); - - sx1 = s->_begx; - sy1 = s->_begy; - sx2 = sx1 + s->_maxx; - sy2 = sy1 + s->_maxy; - - dx1 = d->_begx; - dy1 = d->_begy; - dx2 = dx1 + d->_maxx; - dy2 = dy1 + d->_maxy; - - if (dx2 < sx1 || dx1 > sx2 || dy2 < sy1 || dy1 > sy2) { - returnCode(ERR); /* No intersection */ - } else { - sminrow = max(sy1, dy1) - sy1; - smincol = max(sx1, dx1) - sx1; - dminrow = max(sy1, dy1) - dy1; - dmincol = max(sx1, dx1) - dx1; - dmaxrow = min(sy2, dy2) - dy1; - dmaxcol = min(sx2, dx2) - dx1; - - returnCode(copywin(s, d, - sminrow, smincol, - dminrow, dmincol, - dmaxrow, dmaxcol, - flag)); - } - } -} - -/* -** -** overlay(win1, win2) -** -** -** overlay() writes the overlapping area of win1 behind win2 -** on win2 non-destructively. -** -**/ - -NCURSES_EXPORT(int) -overlay(const WINDOW *win1, WINDOW *win2) -{ - T((T_CALLED("overlay(%p,%p)"), win1, win2)); - returnCode(overlap(win1, win2, TRUE)); -} - -/* -** -** overwrite(win1, win2) -** -** -** overwrite() writes the overlapping area of win1 behind win2 -** on win2 destructively. -** -**/ - -NCURSES_EXPORT(int) -overwrite(const WINDOW *win1, WINDOW *win2) -{ - T((T_CALLED("overwrite(%p,%p)"), win1, win2)); - returnCode(overlap(win1, win2, FALSE)); -} - -NCURSES_EXPORT(int) -copywin(const WINDOW *src, WINDOW *dst, - int sminrow, int smincol, - int dminrow, int dmincol, - int dmaxrow, int dmaxcol, - int over) -{ - int sx, sy, dx, dy; - bool touched; - attr_t bk = AttrOf(dst->_nc_bkgd); - attr_t mask = ~(attr_t) ((bk & A_COLOR) ? A_COLOR : 0); - - T((T_CALLED("copywin(%p, %p, %d, %d, %d, %d, %d, %d, %d)"), - src, dst, sminrow, smincol, dminrow, dmincol, dmaxrow, dmaxcol, over)); - - if (!src || !dst) - returnCode(ERR); - - /* make sure rectangle exists in source */ - if ((sminrow + dmaxrow - dminrow) > (src->_maxy + 1) || - (smincol + dmaxcol - dmincol) > (src->_maxx + 1)) { - returnCode(ERR); - } - - T(("rectangle exists in source")); - - /* make sure rectangle fits in destination */ - if (dmaxrow > dst->_maxy || dmaxcol > dst->_maxx) { - returnCode(ERR); - } - - T(("rectangle fits in destination")); - - for (dy = dminrow, sy = sminrow; dy <= dmaxrow; sy++, dy++) { - touched = FALSE; - for (dx = dmincol, sx = smincol; dx <= dmaxcol; sx++, dx++) { - if (over) { - if ((CharOf(src->_line[sy].text[sx]) != L(' ')) && - (!CharEq(dst->_line[dy].text[dx], src->_line[sy].text[sx]))) { - dst->_line[dy].text[dx] = src->_line[sy].text[sx]; - SetAttr(dst->_line[dy].text[dx], - (AttrOf(src->_line[sy].text[sx]) & mask) | bk); - touched = TRUE; - } - } else { - if (!CharEq(dst->_line[dy].text[dx], src->_line[sy].text[sx])) { - dst->_line[dy].text[dx] = src->_line[sy].text[sx]; - touched = TRUE; - } - } - } - if (touched) { - touchline(dst, dminrow, (dmaxrow - dminrow + 1)); - } - } - T(("finished copywin")); - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/base/lib_pad.c b/src/libs/ncurses/ncurses/base/lib_pad.c deleted file mode 100644 index 67adbf6d2d..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_pad.c +++ /dev/null @@ -1,313 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * lib_pad.c - * newpad -- create a new pad - * pnoutrefresh -- refresh a pad, no update - * pechochar -- add a char to a pad and refresh - */ - -#include - -MODULE_ID("$Id: lib_pad.c,v 1.39 2004/10/23 18:48:09 tom Exp $") - -NCURSES_EXPORT(WINDOW *) -newpad(int l, int c) -{ - WINDOW *win; - NCURSES_CH_T *ptr; - int i; - - T((T_CALLED("newpad(%d, %d)"), l, c)); - - if (l <= 0 || c <= 0) - returnWin(0); - - if ((win = _nc_makenew(l, c, 0, 0, _ISPAD)) == NULL) - returnWin(0); - - for (i = 0; i < l; i++) { - if_USE_SCROLL_HINTS(win->_line[i].oldindex = _NEWINDEX); - if ((win->_line[i].text = typeCalloc(NCURSES_CH_T, ((size_t) c))) == 0) { - (void) _nc_freewin(win); - returnWin(0); - } - for (ptr = win->_line[i].text; ptr < win->_line[i].text + c; ptr++) - SetChar(*ptr, BLANK_TEXT, BLANK_ATTR); - } - - returnWin(win); -} - -NCURSES_EXPORT(WINDOW *) -subpad -(WINDOW *orig, int l, int c, int begy, int begx) -{ - WINDOW *win = (WINDOW *) 0; - - T((T_CALLED("subpad(%d, %d)"), l, c)); - - if (orig) { - if (!(orig->_flags & _ISPAD) - || ((win = derwin(orig, l, c, begy, begx)) == NULL)) - returnWin(0); - } - returnWin(win); -} - -NCURSES_EXPORT(int) -prefresh -(WINDOW *win, int pminrow, int pmincol, - int sminrow, int smincol, int smaxrow, int smaxcol) -{ - T((T_CALLED("prefresh()"))); - if (pnoutrefresh(win, pminrow, pmincol, sminrow, smincol, smaxrow, - smaxcol) != ERR - && doupdate() != ERR) { - returnCode(OK); - } - returnCode(ERR); -} - -NCURSES_EXPORT(int) -pnoutrefresh -(WINDOW *win, int pminrow, int pmincol, - int sminrow, int smincol, int smaxrow, int smaxcol) -{ - NCURSES_SIZE_T i, j; - NCURSES_SIZE_T m, n; - NCURSES_SIZE_T pmaxrow; - NCURSES_SIZE_T pmaxcol; - -#if USE_SCROLL_HINTS - const int my_len = 2; /* parameterize the threshold for hardscroll */ - NCURSES_SIZE_T displaced; - bool wide; -#endif - - T((T_CALLED("pnoutrefresh(%p, %d, %d, %d, %d, %d, %d)"), - win, pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol)); - - if (win == 0) - returnCode(ERR); - - if (!(win->_flags & _ISPAD)) - returnCode(ERR); - - /* negative values are interpreted as zero */ - if (pminrow < 0) - pminrow = 0; - if (pmincol < 0) - pmincol = 0; - if (sminrow < 0) - sminrow = 0; - if (smincol < 0) - smincol = 0; - - pmaxrow = pminrow + smaxrow - sminrow; - pmaxcol = pmincol + smaxcol - smincol; - - T((" pminrow + smaxrow - sminrow %d, win->_maxy %d", pmaxrow, win->_maxy)); - T((" pmincol + smaxcol - smincol %d, win->_maxx %d", pmaxcol, win->_maxx)); - - /* - * Trim the caller's screen size back to the actual limits. - */ - if (pmaxrow > win->_maxy) { - smaxrow -= (pmaxrow - win->_maxy); - pmaxrow = pminrow + smaxrow - sminrow; - } - if (pmaxcol > win->_maxx) { - smaxcol -= (pmaxcol - win->_maxx); - pmaxcol = pmincol + smaxcol - smincol; - } - - if (smaxrow >= screen_lines - || smaxcol >= screen_columns - || sminrow > smaxrow - || smincol > smaxcol) - returnCode(ERR); - - T(("pad being refreshed")); - -#if USE_SCROLL_HINTS - if (win->_pad._pad_y >= 0) { - displaced = pminrow - win->_pad._pad_y - - (sminrow - win->_pad._pad_top); - T(("pad being shifted by %d line(s)", displaced)); - } else - displaced = 0; -#endif - - /* - * For pure efficiency, we'd want to transfer scrolling information - * from the pad to newscr whenever the window is wide enough that - * its update will dominate the cost of the update for the horizontal - * band of newscr that it occupies. Unfortunately, this threshold - * tends to be complex to estimate, and in any case scrolling the - * whole band and rewriting the parts outside win's image would look - * really ugly. So. What we do is consider the pad "wide" if it - * either (a) occupies the whole width of newscr, or (b) occupies - * all but at most one column on either vertical edge of the screen - * (this caters to fussy people who put boxes around full-screen - * windows). Note that changing this formula will not break any code, - * merely change the costs of various update cases. - */ -#if USE_SCROLL_HINTS - wide = (smincol < my_len && smaxcol > (newscr->_maxx - my_len)); -#endif - - for (i = pminrow, m = sminrow + win->_yoffset; - i <= pmaxrow && m <= newscr->_maxy; - i++, m++) { - register struct ldat *nline = &newscr->_line[m]; - register struct ldat *oline = &win->_line[i]; - for (j = pmincol, n = smincol; j <= pmaxcol; j++, n++) { - NCURSES_CH_T ch = oline->text[j]; -#if USE_WIDEC_SUPPORT - /* - * Special case for leftmost character of the displayed area. - * Only half of a double-width character may be visible. - */ - if (j == pmincol - && j > 0 - && isWidecExt(ch)) { - SetChar(ch, L(' '), AttrOf(oline->text[j - 1])); - } -#endif - if (!CharEq(ch, nline->text[n])) { - nline->text[n] = ch; - CHANGED_CELL(nline, n); - } - } - -#if USE_SCROLL_HINTS - if (wide) { - int nind = m + displaced; - if (oline->oldindex < 0 - || nind < sminrow - || nind > smaxrow) { - nind = _NEWINDEX; - } else if (displaced) { - register struct ldat *pline = &curscr->_line[nind]; - for (j = 0; j <= my_len; j++) { - int k = newscr->_maxx - j; - if (pline->text[j] != nline->text[j] - || pline->text[k] != nline->text[k]) { - nind = _NEWINDEX; - break; - } - } - } - - nline->oldindex = nind; - } -#endif /* USE_SCROLL_HINTS */ - oline->firstchar = oline->lastchar = _NOCHANGE; - if_USE_SCROLL_HINTS(oline->oldindex = i); - } - - /* - * Clean up debris from scrolling or resizing the pad, so we do not - * accidentally pick up the index value during the next call to this - * procedure. The only rows that should have an index value are those - * that are displayed during this cycle. - */ -#if USE_SCROLL_HINTS - for (i = pminrow - 1; (i >= 0) && (win->_line[i].oldindex >= 0); i--) - win->_line[i].oldindex = _NEWINDEX; - for (i = pmaxrow + 1; (i <= win->_maxy) - && (win->_line[i].oldindex >= 0); i++) - win->_line[i].oldindex = _NEWINDEX; -#endif - - win->_begx = smincol; - win->_begy = sminrow; - - if (win->_clear) { - win->_clear = FALSE; - newscr->_clear = TRUE; - } - - /* - * Use the pad's current position, if it will be visible. - * If not, don't do anything; it's not an error. - */ - if (win->_leaveok == FALSE - && win->_cury >= pminrow - && win->_curx >= pmincol - && win->_cury <= pmaxrow - && win->_curx <= pmaxcol) { - newscr->_cury = win->_cury - pminrow + win->_begy + win->_yoffset; - newscr->_curx = win->_curx - pmincol + win->_begx; - } - newscr->_leaveok = win->_leaveok; - win->_flags &= ~_HASMOVED; - - /* - * Update our cache of the line-numbers that we displayed from the pad. - * We will use this on subsequent calls to this function to derive - * values to stuff into 'oldindex[]' -- for scrolling optimization. - */ - win->_pad._pad_y = pminrow; - win->_pad._pad_x = pmincol; - win->_pad._pad_top = sminrow; - win->_pad._pad_left = smincol; - win->_pad._pad_bottom = smaxrow; - win->_pad._pad_right = smaxcol; - - returnCode(OK); -} - -NCURSES_EXPORT(int) -pechochar(WINDOW *pad, const chtype ch) -{ - T((T_CALLED("pechochar(%p, %s)"), pad, _tracechtype(ch))); - - if (pad == 0) - returnCode(ERR); - - if (!(pad->_flags & _ISPAD)) - returnCode(wechochar(pad, ch)); - - waddch(pad, ch); - prefresh(pad, pad->_pad._pad_y, - pad->_pad._pad_x, - pad->_pad._pad_top, - pad->_pad._pad_left, - pad->_pad._pad_bottom, - pad->_pad._pad_right); - - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/base/lib_printw.c b/src/libs/ncurses/ncurses/base/lib_printw.c deleted file mode 100644 index 7cccf563be..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_printw.c +++ /dev/null @@ -1,138 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1997 * - ****************************************************************************/ - -/* -** lib_printw.c -** -** The routines printw(), wprintw() and friends. -** -*/ - -#include - -MODULE_ID("$Id: lib_printw.c,v 1.16 2005/06/11 19:30:51 tom Exp $") - -NCURSES_EXPORT(int) -printw(const char *fmt,...) -{ - va_list argp; - int code; - -#ifdef TRACE - va_start(argp, fmt); - T((T_CALLED("printw(%s%s)"), - _nc_visbuf(fmt), _nc_varargs(fmt, argp))); - va_end(argp); -#endif - - va_start(argp, fmt); - code = vwprintw(stdscr, fmt, argp); - va_end(argp); - - returnCode(code); -} - -NCURSES_EXPORT(int) -wprintw(WINDOW *win, const char *fmt,...) -{ - va_list argp; - int code; - -#ifdef TRACE - va_start(argp, fmt); - T((T_CALLED("wprintw(%p,%s%s)"), - win, _nc_visbuf(fmt), _nc_varargs(fmt, argp))); - va_end(argp); -#endif - - va_start(argp, fmt); - code = vwprintw(win, fmt, argp); - va_end(argp); - - returnCode(code); -} - -NCURSES_EXPORT(int) -mvprintw(int y, int x, const char *fmt,...) -{ - va_list argp; - int code; - -#ifdef TRACE - va_start(argp, fmt); - T((T_CALLED("mvprintw(%d,%d,%s%s)"), - y, x, _nc_visbuf(fmt), _nc_varargs(fmt, argp))); - va_end(argp); -#endif - - if ((code = move(y, x)) != ERR) { - va_start(argp, fmt); - code = vwprintw(stdscr, fmt, argp); - va_end(argp); - } - returnCode(code); -} - -NCURSES_EXPORT(int) -mvwprintw(WINDOW *win, int y, int x, const char *fmt,...) -{ - va_list argp; - int code; - -#ifdef TRACE - va_start(argp, fmt); - T((T_CALLED("mvwprintw(%d,%d,%p,%s%s)"), - y, x, win, _nc_visbuf(fmt), _nc_varargs(fmt, argp))); - va_end(argp); -#endif - - if ((code = wmove(win, y, x)) != ERR) { - va_start(argp, fmt); - code = vwprintw(win, fmt, argp); - va_end(argp); - } - returnCode(code); -} - -NCURSES_EXPORT(int) -vwprintw(WINDOW *win, const char *fmt, va_list argp) -{ - char *buf; - int code = ERR; - - T((T_CALLED("vwprintw(%p,%s,va_list)"), win, _nc_visbuf(fmt))); - - if ((buf = _nc_printf_string(fmt, argp)) != 0) { - code = waddstr(win, buf); - } - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/base/lib_redrawln.c b/src/libs/ncurses/ncurses/base/lib_redrawln.c deleted file mode 100644 index 91a03711de..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_redrawln.c +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1997 * - ****************************************************************************/ - -/* - * lib_redrawln.c - * - * The routine wredrawln(). - * - */ - -#include - -MODULE_ID("$Id: lib_redrawln.c,v 1.10 2001/09/29 17:41:31 tom Exp $") - -NCURSES_EXPORT(int) -wredrawln(WINDOW *win, int beg, int num) -{ - int i; - int end; - size_t len = (win->_maxx + 1); - - T((T_CALLED("wredrawln(%p,%d,%d)"), win, beg, num)); - - if (beg < 0) - beg = 0; - - if (touchline(win, beg, num) == ERR) - returnCode(ERR); - - end = beg + num; - if (end > curscr->_maxy + 1) - end = curscr->_maxy + 1; - if (end > win->_maxy + 1) - end = win->_maxy + 1; - - if (len > (size_t) (curscr->_maxx + 1)) - len = (size_t) (curscr->_maxx + 1); - len *= sizeof(curscr->_line[0].text[0]); - - for (i = beg; i < end; i++) { - memset(curscr->_line[i + win->_begy].text + win->_begx, 0, len); - _nc_make_oldhash(i + win->_begy); - } - - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/base/lib_refresh.c b/src/libs/ncurses/ncurses/base/lib_refresh.c deleted file mode 100644 index 5d8eab542b..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_refresh.c +++ /dev/null @@ -1,190 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * lib_refresh.c - * - * The routines wrefresh() and wnoutrefresh(). - * - */ - -#include - -MODULE_ID("$Id: lib_refresh.c,v 1.33 2005/04/09 15:20:58 tom Exp $") - -NCURSES_EXPORT(int) -wrefresh(WINDOW *win) -{ - int code; - - T((T_CALLED("wrefresh(%p)"), win)); - - if (win == 0) { - code = ERR; - } else if (win == curscr) { - curscr->_clear = TRUE; - code = doupdate(); - } else if ((code = wnoutrefresh(win)) == OK) { - if (win->_clear) - newscr->_clear = TRUE; - code = doupdate(); - /* - * Reset the clearok() flag in case it was set for the special - * case in hardscroll.c (if we don't reset it here, we'll get 2 - * refreshes because the flag is copied from stdscr to newscr). - * Resetting the flag shouldn't do any harm, anyway. - */ - win->_clear = FALSE; - } - returnCode(code); -} - -NCURSES_EXPORT(int) -wnoutrefresh(WINDOW *win) -{ - NCURSES_SIZE_T limit_x; - NCURSES_SIZE_T i, j; - NCURSES_SIZE_T begx; - NCURSES_SIZE_T begy; - NCURSES_SIZE_T m, n; -#if USE_SCROLL_HINTS - bool wide; -#endif - - T((T_CALLED("wnoutrefresh(%p)"), win)); -#ifdef TRACE - if (_nc_tracing & TRACE_UPDATE) - _tracedump("...win", win); -#endif /* TRACE */ - - /* - * This function will break badly if we try to refresh a pad. - */ - if ((win == 0) - || (win->_flags & _ISPAD)) - returnCode(ERR); - - /* put them here so "win == 0" won't break our code */ - begx = win->_begx; - begy = win->_begy; - - newscr->_nc_bkgd = win->_nc_bkgd; - newscr->_attrs = win->_attrs; - - /* merge in change information from all subwindows of this window */ - wsyncdown(win); - -#if USE_SCROLL_HINTS - /* - * For pure efficiency, we'd want to transfer scrolling information - * from the window to newscr whenever the window is wide enough that - * its update will dominate the cost of the update for the horizontal - * band of newscr that it occupies. Unfortunately, this threshold - * tends to be complex to estimate, and in any case scrolling the - * whole band and rewriting the parts outside win's image would look - * really ugly. So. What we do is consider the window "wide" if it - * either (a) occupies the whole width of newscr, or (b) occupies - * all but at most one column on either vertical edge of the screen - * (this caters to fussy people who put boxes around full-screen - * windows). Note that changing this formula will not break any code, - * merely change the costs of various update cases. - */ - wide = (begx <= 1 && win->_maxx >= (newscr->_maxx - 1)); -#endif - - win->_flags &= ~_HASMOVED; - - /* - * Microtweaking alert! This double loop is one of the genuine - * hot spots in the code. Even gcc doesn't seem to do enough - * common-subexpression chunking to make it really tense, - * so we'll force the issue. - */ - - /* limit(n) */ - limit_x = win->_maxx; - /* limit(j) */ - if (limit_x > newscr->_maxx - begx) - limit_x = newscr->_maxx - begx; - - for (i = 0, m = begy + win->_yoffset; - i <= win->_maxy && m <= newscr->_maxy; - i++, m++) { - register struct ldat *nline = &newscr->_line[m]; - register struct ldat *oline = &win->_line[i]; - - if (oline->firstchar != _NOCHANGE) { - int last = oline->lastchar; - - if (last > limit_x) - last = limit_x; - - for (j = oline->firstchar, n = j + begx; j <= last; j++, n++) { - if (!CharEq(oline->text[j], nline->text[n])) { - nline->text[n] = oline->text[j]; - CHANGED_CELL(nline, n); - } - } - - } -#if USE_SCROLL_HINTS - if (wide) { - int oind = oline->oldindex; - - nline->oldindex = (oind == _NEWINDEX) ? _NEWINDEX : begy + oind - + win->_yoffset; - } -#endif /* USE_SCROLL_HINTS */ - - oline->firstchar = oline->lastchar = _NOCHANGE; - if_USE_SCROLL_HINTS(oline->oldindex = i); - } - - if (win->_clear) { - win->_clear = FALSE; - newscr->_clear = TRUE; - } - - if (!win->_leaveok) { - newscr->_cury = win->_cury + win->_begy + win->_yoffset; - newscr->_curx = win->_curx + win->_begx; - } - newscr->_leaveok = win->_leaveok; - -#ifdef TRACE - if (_nc_tracing & TRACE_UPDATE) - _tracedump("newscr", newscr); -#endif /* TRACE */ - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/base/lib_restart.c b/src/libs/ncurses/ncurses/base/lib_restart.c deleted file mode 100644 index 31da4b7cb8..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_restart.c +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * Terminfo-only terminal setup routines: - * - * int restartterm(const char *, int, int *) - * TERMINAL *set_curterm(TERMINAL *) - * int del_curterm(TERMINAL *) - */ - -#include - -#if SVR4_TERMIO && !defined(_POSIX_SOURCE) -#define _POSIX_SOURCE -#endif - -#include /* lines, columns, cur_term */ - -MODULE_ID("$Id: lib_restart.c,v 1.5 2002/08/31 22:30:10 Philippe.Blain Exp $") - -NCURSES_EXPORT(int) -restartterm(NCURSES_CONST char *termp, int filenum, int *errret) -{ - int saveecho = SP->_echo; - int savecbreak = SP->_cbreak; - int saveraw = SP->_raw; - int savenl = SP->_nl; - - T((T_CALLED("restartterm(%s,%d,%p)"), termp, filenum, errret)); - - if (setupterm(termp, filenum, errret) != OK) - returnCode(ERR); - - if (saveecho) - echo(); - else - noecho(); - - if (savecbreak) { - cbreak(); - noraw(); - } else if (saveraw) { - nocbreak(); - raw(); - } else { - nocbreak(); - noraw(); - } - if (savenl) - nl(); - else - nonl(); - - reset_prog_mode(); - -#if USE_SIZECHANGE - _nc_update_screensize(); -#endif - - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/base/lib_scanw.c b/src/libs/ncurses/ncurses/base/lib_scanw.c deleted file mode 100644 index b8a5a227a1..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_scanw.c +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_scanw.c -** -** The routines scanw(), wscanw() and friends. -** -*/ - -#include - -MODULE_ID("$Id: lib_scanw.c,v 1.11 2001/06/30 23:39:41 tom Exp $") - -NCURSES_EXPORT(int) -vwscanw(WINDOW *win, NCURSES_CONST char *fmt, va_list argp) -{ - char buf[BUFSIZ]; - - if (wgetnstr(win, buf, sizeof(buf) - 1) == ERR) - return (ERR); - - return (vsscanf(buf, fmt, argp)); -} - -NCURSES_EXPORT(int) -scanw(NCURSES_CONST char *fmt,...) -{ - int code; - va_list ap; - - T(("scanw(\"%s\",...) called", fmt)); - - va_start(ap, fmt); - code = vwscanw(stdscr, fmt, ap); - va_end(ap); - return (code); -} - -NCURSES_EXPORT(int) -wscanw(WINDOW *win, NCURSES_CONST char *fmt,...) -{ - int code; - va_list ap; - - T(("wscanw(%p,\"%s\",...) called", win, fmt)); - - va_start(ap, fmt); - code = vwscanw(win, fmt, ap); - va_end(ap); - return (code); -} - -NCURSES_EXPORT(int) -mvscanw(int y, int x, NCURSES_CONST char *fmt,...) -{ - int code; - va_list ap; - - va_start(ap, fmt); - code = (move(y, x) == OK) ? vwscanw(stdscr, fmt, ap) : ERR; - va_end(ap); - return (code); -} - -NCURSES_EXPORT(int) -mvwscanw(WINDOW *win, int y, int x, NCURSES_CONST char *fmt,...) -{ - int code; - va_list ap; - - va_start(ap, fmt); - code = (wmove(win, y, x) == OK) ? vwscanw(win, fmt, ap) : ERR; - va_end(ap); - return (code); -} diff --git a/src/libs/ncurses/ncurses/base/lib_screen.c b/src/libs/ncurses/ncurses/base/lib_screen.c deleted file mode 100644 index 43f848d8a6..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_screen.c +++ /dev/null @@ -1,205 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996 on * - ****************************************************************************/ - -#include - -MODULE_ID("$Id: lib_screen.c,v 1.28 2002/09/14 23:30:41 tom Exp $") - -NCURSES_EXPORT(WINDOW *) -getwin(FILE * filep) -{ - WINDOW tmp, *nwin; - int n; - - T((T_CALLED("getwin(%p)"), filep)); - - clearerr(filep); - (void) fread(&tmp, sizeof(WINDOW), 1, filep); - if (ferror(filep)) - returnWin(0); - - if (tmp._flags & _ISPAD) { - nwin = newpad(tmp._maxy + 1, tmp._maxx + 1); - } else { - nwin = newwin(tmp._maxy + 1, tmp._maxx + 1, 0, 0); - } - - /* - * We deliberately do not restore the _parx, _pary, or _parent - * fields, because the window hierarchy within which they - * made sense is probably gone. - */ - if (nwin != 0) { - nwin->_curx = tmp._curx; - nwin->_cury = tmp._cury; - nwin->_maxy = tmp._maxy; - nwin->_maxx = tmp._maxx; - nwin->_begy = tmp._begy; - nwin->_begx = tmp._begx; - nwin->_yoffset = tmp._yoffset; - nwin->_flags = tmp._flags & ~(_SUBWIN); - - nwin->_attrs = tmp._attrs; - nwin->_nc_bkgd = tmp._nc_bkgd; - - nwin->_notimeout = tmp._notimeout; - nwin->_clear = tmp._clear; - nwin->_leaveok = tmp._leaveok; - nwin->_idlok = tmp._idlok; - nwin->_idcok = tmp._idcok; - nwin->_immed = tmp._immed; - nwin->_scroll = tmp._scroll; - nwin->_sync = tmp._sync; - nwin->_use_keypad = tmp._use_keypad; - nwin->_delay = tmp._delay; - - nwin->_regtop = tmp._regtop; - nwin->_regbottom = tmp._regbottom; - - if (tmp._flags & _ISPAD) - nwin->_pad = tmp._pad; - - for (n = 0; n <= nwin->_maxy; n++) { - clearerr(filep); - (void) fread(nwin->_line[n].text, - sizeof(NCURSES_CH_T), - (size_t) (nwin->_maxx + 1), - filep); - if (ferror(filep)) { - delwin(nwin); - returnWin(0); - } - } - touchwin(nwin); - } - returnWin(nwin); -} - -NCURSES_EXPORT(int) -putwin(WINDOW *win, FILE * filep) -{ - int code = ERR; - int n; - - T((T_CALLED("putwin(%p,%p)"), win, filep)); - - if (win != 0) { - size_t len = (win->_maxx + 1); - - clearerr(filep); - if (fwrite(win, sizeof(WINDOW), 1, filep) != 1 - || ferror(filep)) - returnCode(code); - - for (n = 0; n <= win->_maxy; n++) { - if (fwrite(win->_line[n].text, - sizeof(NCURSES_CH_T), len, filep) != len - || ferror(filep)) { - returnCode(code); - } - } - code = OK; - } - returnCode(code); -} - -NCURSES_EXPORT(int) -scr_restore(const char *file) -{ - FILE *fp = 0; - - T((T_CALLED("scr_restore(%s)"), _nc_visbuf(file))); - - if (_nc_access(file, R_OK) < 0 - || (fp = fopen(file, "rb")) == 0) { - returnCode(ERR); - } else { - delwin(newscr); - SP->_newscr = newscr = getwin(fp); - (void) fclose(fp); - returnCode(OK); - } -} - -NCURSES_EXPORT(int) -scr_dump(const char *file) -{ - FILE *fp = 0; - - T((T_CALLED("scr_dump(%s)"), _nc_visbuf(file))); - - if (_nc_access(file, W_OK) < 0 - || (fp = fopen(file, "wb")) == 0) { - returnCode(ERR); - } else { - (void) putwin(newscr, fp); - (void) fclose(fp); - returnCode(OK); - } -} - -NCURSES_EXPORT(int) -scr_init(const char *file) -{ - FILE *fp = 0; - - T((T_CALLED("scr_init(%s)"), _nc_visbuf(file))); - - if (exit_ca_mode && non_rev_rmcup) - returnCode(ERR); - - if (_nc_access(file, R_OK) < 0 - || (fp = fopen(file, "rb")) == 0) { - returnCode(ERR); - } else { - delwin(curscr); - SP->_curscr = curscr = getwin(fp); - (void) fclose(fp); - returnCode(OK); - } -} - -NCURSES_EXPORT(int) -scr_set(const char *file) -{ - T((T_CALLED("scr_set(%s)"), _nc_visbuf(file))); - - if (scr_init(file) == ERR) { - returnCode(ERR); - } else { - delwin(newscr); - SP->_newscr = newscr = dupwin(curscr); - returnCode(OK); - } -} diff --git a/src/libs/ncurses/ncurses/base/lib_scroll.c b/src/libs/ncurses/ncurses/base/lib_scroll.c deleted file mode 100644 index ec462c9e07..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_scroll.c +++ /dev/null @@ -1,149 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1996-2003 * - * and: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_scroll.c -** -** The routine wscrl(win, n). -** positive n scroll the window up (ie. move lines down) -** negative n scroll the window down (ie. move lines up) -** -*/ - -#include - -MODULE_ID("$Id: lib_scroll.c,v 1.25 2004/12/11 18:28:51 tom Exp $") - -NCURSES_EXPORT(void) -_nc_scroll_window(WINDOW *win, - int const n, - NCURSES_SIZE_T const top, - NCURSES_SIZE_T const bottom, - NCURSES_CH_T blank) -{ - int limit; - int line; - int j; - size_t to_copy = (size_t) (sizeof(NCURSES_CH_T) * (win->_maxx + 1)); - - TR(TRACE_MOVE, ("_nc_scroll_window(%p, %d, %d, %d)", win, n, top, bottom)); - - if (top < 0 - || bottom < top - || bottom > win->_maxy) { - TR(TRACE_MOVE, ("nothing to scroll")); - return; - } - - /* - * This used to do a line-text pointer-shuffle instead of text copies. - * That (a) doesn't work when the window is derived and doesn't have - * its own storage, (b) doesn't save you a lot on modern machines - * anyway. Your typical memcpy implementations are coded in - * assembler using a tight BLT loop; for the size of copies we're - * talking here, the total execution time is dominated by the one-time - * setup cost. So there is no point in trying to be excessively - * clever -- esr. - */ - - /* shift n lines downwards */ - if (n < 0) { - limit = top - n; - for (line = bottom; line >= limit && line >= 0; line--) { - TR(TRACE_MOVE, ("...copying %d to %d", line + n, line)); - memcpy(win->_line[line].text, - win->_line[line + n].text, - to_copy); - if_USE_SCROLL_HINTS(win->_line[line].oldindex = - win->_line[line + n].oldindex); - } - for (line = top; line < limit && line <= win->_maxy; line++) { - TR(TRACE_MOVE, ("...filling %d", line)); - for (j = 0; j <= win->_maxx; j++) - win->_line[line].text[j] = blank; - if_USE_SCROLL_HINTS(win->_line[line].oldindex = _NEWINDEX); - } - } - - /* shift n lines upwards */ - if (n > 0) { - limit = bottom - n; - for (line = top; line <= limit && line <= win->_maxy; line++) { - memcpy(win->_line[line].text, - win->_line[line + n].text, - to_copy); - if_USE_SCROLL_HINTS(win->_line[line].oldindex = - win->_line[line + n].oldindex); - } - for (line = bottom; line > limit && line >= 0; line--) { - for (j = 0; j <= win->_maxx; j++) - win->_line[line].text[j] = blank; - if_USE_SCROLL_HINTS(win->_line[line].oldindex = _NEWINDEX); - } - } - touchline(win, top, bottom - top + 1); - - if_WIDEC({ - if (WINDOW_EXT(win, addch_used) != 0) { - int next = WINDOW_EXT(win, addch_y) + n; - if (next < 0 || next > win->_maxy) { - TR(TRACE_VIRTPUT, - ("Alert discarded multibyte on scroll")); - WINDOW_EXT(win, addch_y) = 0; - } else { - TR(TRACE_VIRTPUT, ("scrolled working position to %d,%d", - WINDOW_EXT(win, addch_y), - WINDOW_EXT(win, addch_x))); - WINDOW_EXT(win, addch_y) = next; - } - } - }) -} - -NCURSES_EXPORT(int) -wscrl(WINDOW *win, int n) -{ - T((T_CALLED("wscrl(%p,%d)"), win, n)); - - if (!win || !win->_scroll) { - TR(TRACE_MOVE, ("...scrollok is false")); - returnCode(ERR); - } - - if (n != 0) { - _nc_scroll_window(win, n, win->_regtop, win->_regbottom, win->_nc_bkgd); - _nc_synchook(win); - } - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/base/lib_scrollok.c b/src/libs/ncurses/ncurses/base/lib_scrollok.c deleted file mode 100644 index f6b30259be..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_scrollok.c +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_scrollok.c -** -** The routine scrollok. -** -*/ - -#include - -MODULE_ID("$Id: lib_scrollok.c,v 1.4 2000/12/10 02:43:27 tom Exp $") - -NCURSES_EXPORT(int) -scrollok(WINDOW *win, bool flag) -{ - T((T_CALLED("scrollok(%p,%d)"), win, flag)); - - if (win) { - win->_scroll = flag; - returnCode(OK); - } else - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/base/lib_scrreg.c b/src/libs/ncurses/ncurses/base/lib_scrreg.c deleted file mode 100644 index c85d60f116..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_scrreg.c +++ /dev/null @@ -1,60 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_scrreg.c -** -** The routine wsetscrreg(). -** -*/ - -#include - -MODULE_ID("$Id: lib_scrreg.c,v 1.10 2000/12/10 02:43:27 tom Exp $") - -NCURSES_EXPORT(int) -wsetscrreg(WINDOW *win, int top, int bottom) -{ - T((T_CALLED("wsetscrreg(%p,%d,%d)"), win, top, bottom)); - - if (win && - top >= 0 && top <= win->_maxy && - bottom >= 0 && bottom <= win->_maxy && - bottom > top) { - win->_regtop = (NCURSES_SIZE_T) top; - win->_regbottom = (NCURSES_SIZE_T) bottom; - - returnCode(OK); - } else - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/base/lib_set_term.c b/src/libs/ncurses/ncurses/base/lib_set_term.c deleted file mode 100644 index 0d5471e12a..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_set_term.c +++ /dev/null @@ -1,503 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* -** lib_set_term.c -** -** The routine set_term(). -** -*/ - -#include - -#include /* cur_term */ -#include - -MODULE_ID("$Id: lib_set_term.c,v 1.85 2005/01/22 17:36:01 tom Exp $") - -NCURSES_EXPORT(SCREEN *) -set_term(SCREEN *screenp) -{ - SCREEN *oldSP; - - T((T_CALLED("set_term(%p)"), screenp)); - - oldSP = SP; - _nc_set_screen(screenp); - - set_curterm(SP->_term); - curscr = SP->_curscr; - newscr = SP->_newscr; - stdscr = SP->_stdscr; - COLORS = SP->_color_count; - COLOR_PAIRS = SP->_pair_count; - - T((T_RETURN("%p"), oldSP)); - return (oldSP); -} - -static void -_nc_free_keytry(struct tries *kt) -{ - if (kt != 0) { - _nc_free_keytry(kt->child); - _nc_free_keytry(kt->sibling); - free(kt); - } -} - -/* - * Free the storage associated with the given SCREEN sp. - */ -NCURSES_EXPORT(void) -delscreen(SCREEN *sp) -{ - SCREEN **scan = &_nc_screen_chain; - int i; - - T((T_CALLED("delscreen(%p)"), sp)); - - while (*scan) { - if (*scan == sp) { - *scan = sp->_next_screen; - break; - } - scan = &(*scan)->_next_screen; - } - - (void) _nc_freewin(sp->_curscr); - (void) _nc_freewin(sp->_newscr); - (void) _nc_freewin(sp->_stdscr); - - if (sp->_slk != 0) { - if (sp->_slk->ent != 0) { - for (i = 0; i < sp->_slk->labcnt; ++i) { - FreeIfNeeded(sp->_slk->ent[i].ent_text); - FreeIfNeeded(sp->_slk->ent[i].form_text); - } - free(sp->_slk->ent); - } - free(sp->_slk); - sp->_slk = 0; - } - - _nc_free_keytry(sp->_keytry); - sp->_keytry = 0; - - _nc_free_keytry(sp->_key_ok); - sp->_key_ok = 0; - - FreeIfNeeded(sp->_current_attr); - - FreeIfNeeded(sp->_color_table); - FreeIfNeeded(sp->_color_pairs); - - FreeIfNeeded(sp->oldhash); - FreeIfNeeded(sp->newhash); - FreeIfNeeded(sp->hashtab); - - del_curterm(sp->_term); - - /* - * If the associated output stream has been closed, we can discard the - * set-buffer. Limit the error check to EBADF, since fflush may fail - * for other reasons than trying to operate upon a closed stream. - */ - if (sp->_ofp != 0 - && sp->_setbuf != 0 - && fflush(sp->_ofp) != 0 - && errno == EBADF) { - free(sp->_setbuf); - } - - free(sp); - - /* - * If this was the current screen, reset everything that the - * application might try to use (except cur_term, which may have - * multiple references in different screens). - */ - if (sp == SP) { - curscr = 0; - newscr = 0; - stdscr = 0; - COLORS = 0; - COLOR_PAIRS = 0; - _nc_set_screen(0); - } - returnVoid; -} - -static ripoff_t rippedoff[5]; -static ripoff_t *rsp = rippedoff; -#define N_RIPS SIZEOF(SP->_rippedoff) - -static bool -no_mouse_event(SCREEN *sp GCC_UNUSED) -{ - return FALSE; -} - -static bool -no_mouse_inline(SCREEN *sp GCC_UNUSED) -{ - return FALSE; -} - -static bool -no_mouse_parse(int code GCC_UNUSED) -{ - return TRUE; -} - -static void -no_mouse_resume(SCREEN *sp GCC_UNUSED) -{ -} - -static void -no_mouse_wrap(SCREEN *sp GCC_UNUSED) -{ -} - -#if NCURSES_EXT_FUNCS && USE_COLORFGBG -static char * -extract_fgbg(char *src, int *result) -{ - char *dst = 0; - long value = strtol(src, &dst, 0); - - if (dst == 0) { - dst = src; - } else if (value >= 0) { - *result = value; - } - while (*dst != 0 && *dst != ';') - dst++; - if (*dst == ';') - dst++; - return dst; -} -#endif - -NCURSES_EXPORT(int) -_nc_setupscreen(short slines, short const scolumns, FILE *output) -/* OS-independent screen initializations */ -{ - int bottom_stolen = 0; - int i; - - T((T_CALLED("_nc_setupscreen(%d, %d, %p)"), slines, scolumns, output)); - assert(SP == 0); /* has been reset in newterm() ! */ - if (!_nc_alloc_screen()) - returnCode(ERR); - - T(("created SP %p", SP)); - SP->_next_screen = _nc_screen_chain; - _nc_screen_chain = SP; - - if ((SP->_current_attr = typeCalloc(NCURSES_CH_T, 1)) == 0) - returnCode(ERR); - -#ifdef __DJGPP__ - T(("setting output mode to binary")); - fflush(output); - setmode(output, O_BINARY); -#endif - _nc_set_buffer(output, TRUE); - SP->_term = cur_term; - SP->_lines = slines; - SP->_lines_avail = slines; - SP->_columns = scolumns; - SP->_cursrow = -1; - SP->_curscol = -1; - SP->_nl = TRUE; - SP->_raw = FALSE; - SP->_cbreak = 0; - SP->_echo = TRUE; - SP->_fifohead = -1; - SP->_endwin = TRUE; - SP->_ofp = output; - SP->_cursor = -1; /* cannot know real cursor shape */ - -#if NCURSES_NO_PADDING - SP->_no_padding = getenv("NCURSES_NO_PADDING") != 0; - TR(TRACE_CHARPUT | TRACE_MOVE, ("padding will%s be used", - SP->_no_padding ? " not" : "")); -#endif - -#if NCURSES_EXT_FUNCS - SP->_default_color = FALSE; - SP->_has_sgr_39_49 = FALSE; - - /* - * Set our assumption of the terminal's default foreground and background - * colors. The curs_color man-page states that we can assume that the - * background is black. The origin of this assumption appears to be - * terminals that displayed colored text, but no colored backgrounds, e.g., - * the first colored terminals around 1980. More recent ones with better - * technology can display not only colored backgrounds, but all - * combinations. So a terminal might be something other than "white" on - * black (green/black looks monochrome too), but black on white or even - * on ivory. - * - * White-on-black is the simplest thing to use for monochrome. Almost - * all applications that use color paint both text and background, so - * the distinction is moot. But a few do not - which is why we leave this - * configurable (a better solution is to use assume_default_colors() for - * the rare applications that do require that sort of appearance, since - * is appears that more users expect to be able to make a white-on-black - * or black-on-white display under control of the application than not). - */ -#ifdef USE_ASSUMED_COLOR - SP->_default_fg = COLOR_WHITE; - SP->_default_bg = COLOR_BLACK; -#else - SP->_default_fg = C_MASK; - SP->_default_bg = C_MASK; -#endif - - /* - * Allow those assumed/default color assumptions to be overridden at - * runtime: - */ - if (getenv("NCURSES_ASSUMED_COLORS") != 0) { - char *p = getenv("NCURSES_ASSUMED_COLORS"); - int fg, bg; - char sep1, sep2; - int count = sscanf(p, "%d%c%d%c", &fg, &sep1, &bg, &sep2); - if (count >= 1) { - SP->_default_fg = (fg >= 0 && fg < max_colors) ? fg : C_MASK; - if (count >= 3) { - SP->_default_bg = (bg >= 0 && bg < max_colors) ? bg : C_MASK; - } - TR(TRACE_CHARPUT | TRACE_MOVE, - ("from environment assumed fg=%d, bg=%d", - SP->_default_fg, - SP->_default_bg)); - } - } -#if USE_COLORFGBG - /* - * If rxvt's $COLORFGBG variable is set, use it to specify the assumed - * default colors. Note that rxvt (mis)uses bold colors, equating a bold - * color to that value plus 8. We'll only use the non-bold color for now - - * decide later if it is worth having default attributes as well. - */ - if (getenv("COLORFGBG") != 0) { - char *p = getenv("COLORFGBG"); - TR(TRACE_CHARPUT | TRACE_MOVE, ("decoding COLORFGBG %s", p)); - p = extract_fgbg(p, &(SP->_default_fg)); - p = extract_fgbg(p, &(SP->_default_bg)); - if (*p) /* assume rxvt was compiled with xpm support */ - p = extract_fgbg(p, &(SP->_default_bg)); - TR(TRACE_CHARPUT | TRACE_MOVE, ("decoded fg=%d, bg=%d", - SP->_default_fg, SP->_default_bg)); - if (SP->_default_fg >= max_colors) { - if (set_a_foreground != ABSENT_STRING - && !strcmp(set_a_foreground, "\033[3%p1%dm")) { - set_a_foreground = "\033[3%?%p1%{8}%>%t9%e%p1%d%;m"; - } else { - SP->_default_fg %= max_colors; - } - } - if (SP->_default_bg >= max_colors) { - if (set_a_background != ABSENT_STRING - && !strcmp(set_a_background, "\033[4%p1%dm")) { - set_a_background = "\033[4%?%p1%{8}%>%t9%e%p1%d%;m"; - } else { - SP->_default_bg %= max_colors; - } - } - } -#endif -#endif /* NCURSES_EXT_FUNCS */ - - SP->_maxclick = DEFAULT_MAXCLICK; - SP->_mouse_event = no_mouse_event; - SP->_mouse_inline = no_mouse_inline; - SP->_mouse_parse = no_mouse_parse; - SP->_mouse_resume = no_mouse_resume; - SP->_mouse_wrap = no_mouse_wrap; - SP->_mouse_fd = -1; - - /* initialize the panel hooks */ - SP->_panelHook.top_panel = (struct panel *) 0; - SP->_panelHook.bottom_panel = (struct panel *) 0; - SP->_panelHook.stdscr_pseudo_panel = (struct panel *) 0; - - /* - * If we've no magic cookie support, we suppress attributes that xmc - * would affect, i.e., the attributes that affect the rendition of a - * space. Note that this impacts the alternate character set mapping - * as well. - */ - if (magic_cookie_glitch > 0) { - - SP->_xmc_triggers = termattrs() & ( - A_ALTCHARSET | - A_BLINK | - A_BOLD | - A_REVERSE | - A_STANDOUT | - A_UNDERLINE - ); - SP->_xmc_suppress = SP->_xmc_triggers & (chtype) ~(A_BOLD); - - T(("magic cookie attributes %s", _traceattr(SP->_xmc_suppress))); -#if USE_XMC_SUPPORT - /* - * To keep this simple, suppress all of the optimization hooks - * except for clear_screen and the cursor addressing. - */ - clr_eol = 0; - clr_eos = 0; - set_attributes = 0; -#else - magic_cookie_glitch = ABSENT_NUMERIC; - acs_chars = 0; -#endif - } - - /* initialize normal acs before wide, since we use mapping in the latter */ - _nc_init_acs(); -#if USE_WIDEC_SUPPORT - _nc_init_wacs(); - - SP->_screen_acs_fix = (_nc_unicode_locale() && _nc_locale_breaks_acs()); - { - char *env = _nc_get_locale(); - SP->_legacy_coding = ((env == 0) - || !strcmp(env, "C") - || !strcmp(env, "POSIX")); - } -#endif - - _nc_idcok = TRUE; - _nc_idlok = FALSE; - - _nc_windows = 0; /* no windows yet */ - - SP->oldhash = 0; - SP->newhash = 0; - - T(("creating newscr")); - if ((newscr = newwin(slines, scolumns, 0, 0)) == 0) - returnCode(ERR); - - T(("creating curscr")); - if ((curscr = newwin(slines, scolumns, 0, 0)) == 0) - returnCode(ERR); - - SP->_newscr = newscr; - SP->_curscr = curscr; -#if USE_SIZECHANGE - SP->_resize = resizeterm; -#endif - - newscr->_clear = TRUE; - curscr->_clear = FALSE; - - def_shell_mode(); - def_prog_mode(); - - for (i = 0, rsp = rippedoff; rsp->line && (i < (int) N_RIPS); rsp++, i++) { - T(("ripping off line %d at %s", i, rsp->line < 0 ? "bottom" : "top")); - SP->_rippedoff[i] = rippedoff[i]; - if (rsp->hook) { - int count = (rsp->line < 0) ? -rsp->line : rsp->line; - - SP->_rippedoff[i].w = newwin(count, - scolumns, - ((rsp->line < 0) - ? SP->_lines_avail - count - : 0), - 0); - if (SP->_rippedoff[i].w != 0) - SP->_rippedoff[i].hook(SP->_rippedoff[i].w, scolumns); - else - returnCode(ERR); - if (rsp->line < 0) - bottom_stolen += count; - else - SP->_topstolen += count; - SP->_lines_avail -= count; - } - rsp->line = 0; - } - SP->_rip_count = i; - /* reset the stack */ - rsp = rippedoff; - - T(("creating stdscr")); - assert((SP->_lines_avail + SP->_topstolen + bottom_stolen) == slines); - if ((stdscr = newwin(LINES = SP->_lines_avail, scolumns, 0, 0)) == 0) - returnCode(ERR); - SP->_stdscr = stdscr; - - returnCode(OK); -} - -/* The internal implementation interprets line as the number of - lines to rip off from the top or bottom. - */ -NCURSES_EXPORT(int) -_nc_ripoffline(int line, int (*init) (WINDOW *, int)) -{ - T((T_CALLED("_nc_ripoffline(%d, %p)"), line, init)); - - if (line != 0) { - - if (rsp >= rippedoff + N_RIPS) - returnCode(ERR); - - rsp->line = line; - rsp->hook = init; - rsp->w = 0; - rsp++; - } - - returnCode(OK); -} - -NCURSES_EXPORT(int) -ripoffline(int line, int (*init) (WINDOW *, int)) -{ - T((T_CALLED("ripoffline(%d,%p)"), line, init)); - - if (line == 0) - returnCode(OK); - - returnCode(_nc_ripoffline((line < 0) ? -1 : 1, init)); -} diff --git a/src/libs/ncurses/ncurses/base/lib_slk.c b/src/libs/ncurses/ncurses/base/lib_slk.c deleted file mode 100644 index 5609e3b590..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_slk.c +++ /dev/null @@ -1,220 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Authors: * - * Gerhard Fuernkranz 1993 (original) * - * Zeyd M. Ben-Halim 1992,1995 (sic) * - * Eric S. Raymond * - * Juergen Pfeifer 1996-on * - * Thomas E. Dickey * - ****************************************************************************/ - -/* - * lib_slk.c - * Soft key routines. - */ - -#include - -#include -#include /* num_labels, label_*, plab_norm */ - -MODULE_ID("$Id: lib_slk.c,v 1.30 2005/01/08 21:56:36 tom Exp $") - -/* - * We'd like to move these into the screen context structure, but cannot, - * because slk_init() is called before initscr()/newterm(). - */ -NCURSES_EXPORT_VAR(int) -_nc_slk_format = 0; /* one more than format specified in slk_init() */ - -/* - * Paint the info line for the PC style SLK emulation. - * - */ -static void -slk_paint_info(WINDOW *win) -{ - if (win && SP->slk_format == 4) { - int i; - - mvwhline(win, 0, 0, 0, getmaxx(win)); - wmove(win, 0, 0); - - for (i = 0; i < SP->_slk->maxlab; i++) { - mvwprintw(win, 0, SP->_slk->ent[i].ent_x, "F%d", i + 1); - } - } -} - -/* - * Free any memory related to soft labels, return an error. - */ -static int -slk_failed(void) -{ - if (SP->_slk) { - FreeIfNeeded(SP->_slk->ent); - free(SP->_slk); - SP->_slk = (SLK *) 0; - } - return ERR; -} - -/* - * Initialize soft labels. - * Called from newterm() - */ -NCURSES_EXPORT(int) -_nc_slk_initialize(WINDOW *stwin, int cols) -{ - int i, x; - int res = OK; - unsigned max_length; - - T((T_CALLED("_nc_slk_initialize()"))); - - if (SP->_slk) { /* we did this already, so simply return */ - returnCode(OK); - } else if ((SP->_slk = typeCalloc(SLK, 1)) == 0) - returnCode(ERR); - - SP->_slk->ent = NULL; - - /* - * If we use colors, vidputs() will suppress video attributes that conflict - * with colors. In that case, we're still guaranteed that "reverse" would - * work. - */ - if ((no_color_video & 1) == 0) - SetAttr(SP->_slk->attr, A_STANDOUT); - else - SetAttr(SP->_slk->attr, A_REVERSE); - - SP->_slk->maxlab = ((num_labels > 0) - ? num_labels - : MAX_SKEY(_nc_slk_format)); - SP->_slk->maxlen = ((num_labels > 0) - ? label_width * label_height - : MAX_SKEY_LEN(_nc_slk_format)); - SP->_slk->labcnt = ((SP->_slk->maxlab < MAX_SKEY(_nc_slk_format)) - ? MAX_SKEY(_nc_slk_format) - : SP->_slk->maxlab); - - if (SP->_slk->maxlen <= 0 - || SP->_slk->labcnt <= 0 - || (SP->_slk->ent = typeCalloc(slk_ent, - (unsigned) SP->_slk->labcnt)) == NULL) - returnCode(slk_failed()); - - max_length = SP->_slk->maxlen; - for (i = 0; i < SP->_slk->labcnt; i++) { - size_t used = max_length + 1; - - if ((SP->_slk->ent[i].ent_text = (char *) _nc_doalloc(0, used)) == 0) - returnCode(slk_failed()); - memset(SP->_slk->ent[i].ent_text, 0, used); - - if ((SP->_slk->ent[i].form_text = (char *) _nc_doalloc(0, used)) == 0) - returnCode(slk_failed()); - memset(SP->_slk->ent[i].form_text, 0, used); - - memset(SP->_slk->ent[i].form_text, ' ', max_length); - SP->_slk->ent[i].visible = (i < SP->_slk->maxlab); - } - if (_nc_slk_format >= 3) { /* PC style */ - int gap = (cols - 3 * (3 + 4 * max_length)) / 2; - - if (gap < 1) - gap = 1; - - for (i = x = 0; i < SP->_slk->maxlab; i++) { - SP->_slk->ent[i].ent_x = x; - x += max_length; - x += (i == 3 || i == 7) ? gap : 1; - } - slk_paint_info(stwin); - } else { - if (_nc_slk_format == 2) { /* 4-4 */ - int gap = cols - (SP->_slk->maxlab * max_length) - 6; - - if (gap < 1) - gap = 1; - for (i = x = 0; i < SP->_slk->maxlab; i++) { - SP->_slk->ent[i].ent_x = x; - x += max_length; - x += (i == 3) ? gap : 1; - } - } else { - if (_nc_slk_format == 1) { /* 1 -> 3-2-3 */ - int gap = (cols - (SP->_slk->maxlab * max_length) - 5) - / 2; - - if (gap < 1) - gap = 1; - for (i = x = 0; i < SP->_slk->maxlab; i++) { - SP->_slk->ent[i].ent_x = x; - x += max_length; - x += (i == 2 || i == 4) ? gap : 1; - } - } else - returnCode(slk_failed()); - } - } - SP->_slk->dirty = TRUE; - if ((SP->_slk->win = stwin) == NULL) { - returnCode(slk_failed()); - } - - /* We now reset the format so that the next newterm has again - * per default no SLK keys and may call slk_init again to - * define a new layout. (juergen 03-Mar-1999) - */ - SP->slk_format = _nc_slk_format; - _nc_slk_format = 0; - returnCode(res); -} - -/* - * Restore the soft labels on the screen. - */ -NCURSES_EXPORT(int) -slk_restore(void) -{ - T((T_CALLED("slk_restore()"))); - - if (SP->_slk == NULL) - return (ERR); - SP->_slk->hidden = FALSE; - SP->_slk->dirty = TRUE; - /* we have to repaint info line eventually */ - slk_paint_info(SP->_slk->win); - - returnCode(slk_refresh()); -} diff --git a/src/libs/ncurses/ncurses/base/lib_slkatr_set.c b/src/libs/ncurses/ncurses/base/lib_slkatr_set.c deleted file mode 100644 index 3bff940ad2..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_slkatr_set.c +++ /dev/null @@ -1,59 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1998 * - * and: Thomas E. Dickey 2005 * - ****************************************************************************/ - -/* - * lib_slkatr_set.c - * Soft key routines. - * Set the label's attributes - */ -#include - -MODULE_ID("$Id: lib_slkatr_set.c,v 1.9 2005/01/08 22:59:37 tom Exp $") - -NCURSES_EXPORT(int) -slk_attr_set(const attr_t attr, short color_pair_number, void *opts) -{ - T((T_CALLED("slk_attr_set(%s,%d)"), _traceattr(attr), color_pair_number)); - - if (SP != 0 && SP->_slk != 0 && !opts && - color_pair_number >= 0 && color_pair_number < COLOR_PAIRS) { - TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP->_slk->attr)))); - SetAttr(SP->_slk->attr, attr); - if (color_pair_number > 0) { - SetPair(SP->_slk->attr, color_pair_number); - } - TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP->_slk->attr)))); - returnCode(OK); - } else - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/base/lib_slkatrof.c b/src/libs/ncurses/ncurses/base/lib_slkatrof.c deleted file mode 100644 index 14b4c3bfad..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_slkatrof.c +++ /dev/null @@ -1,58 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - * and: Thomas E. Dickey 2005 * - ****************************************************************************/ - -/* - * lib_slkatrof.c - * Soft key routines. - * Switch off labels attributes - */ -#include - -MODULE_ID("$Id: lib_slkatrof.c,v 1.8 2005/01/08 23:01:32 tom Exp $") - -NCURSES_EXPORT(int) -slk_attroff(const chtype attr) -{ - T((T_CALLED("slk_attroff(%s)"), _traceattr(attr))); - - if (SP != 0 && SP->_slk != 0) { - TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP->_slk->attr)))); - RemAttr(SP->_slk->attr, attr); - if ((attr & A_COLOR) != 0) { - SetPair(SP->_slk->attr, 0); - } - TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP->_slk->attr)))); - returnCode(OK); - } else - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/base/lib_slkatron.c b/src/libs/ncurses/ncurses/base/lib_slkatron.c deleted file mode 100644 index 90add86dc1..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_slkatron.c +++ /dev/null @@ -1,58 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - * and: Thomas E. Dickey 2005 * - ****************************************************************************/ - -/* - * lib_slkatron.c - * Soft key routines. - * Switch on labels attributes - */ -#include - -MODULE_ID("$Id: lib_slkatron.c,v 1.8 2005/01/08 23:02:01 tom Exp $") - -NCURSES_EXPORT(int) -slk_attron(const chtype attr) -{ - T((T_CALLED("slk_attron(%s)"), _traceattr(attr))); - - if (SP != 0 && SP->_slk != 0) { - TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP->_slk->attr)))); - AddAttr(SP->_slk->attr, attr); - if ((attr & A_COLOR) != 0) { - SetPair(SP->_slk->attr, PAIR_NUMBER(attr)); - } - TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP->_slk->attr)))); - returnCode(OK); - } else - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/base/lib_slkatrset.c b/src/libs/ncurses/ncurses/base/lib_slkatrset.c deleted file mode 100644 index 8da9981b3b..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_slkatrset.c +++ /dev/null @@ -1,53 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - * and: Thomas E. Dickey 2005 * - ****************************************************************************/ - -/* - * lib_slkatrset.c - * Soft key routines. - * Set the labels attributes - */ -#include - -MODULE_ID("$Id: lib_slkatrset.c,v 1.7 2005/01/08 21:46:47 tom Exp $") - -NCURSES_EXPORT(int) -slk_attrset(const chtype attr) -{ - T((T_CALLED("slk_attrset(%s)"), _traceattr(attr))); - - if (SP != 0 && SP->_slk != 0) { - SetAttr(SP->_slk->attr, attr); - returnCode(OK); - } else - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/base/lib_slkattr.c b/src/libs/ncurses/ncurses/base/lib_slkattr.c deleted file mode 100644 index da82ee5b62..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_slkattr.c +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1997 * - * and: Thomas E. Dickey 2005 * - ****************************************************************************/ - -/* - * lib_slkattr.c - * Soft key routines. - * Fetch the labels attributes - */ -#include - -MODULE_ID("$Id: lib_slkattr.c,v 1.6 2005/01/08 21:44:28 tom Exp $") - -NCURSES_EXPORT(attr_t) -slk_attr(void) -{ - T((T_CALLED("slk_attr()"))); - - if (SP != 0 && SP->_slk != 0) { - attr_t result = AttrOf(SP->_slk->attr) & ALL_BUT_COLOR; - int pair = GetPair(SP->_slk->attr); - - result |= COLOR_PAIR(pair); - returnAttr(result); - } else - returnAttr(0); -} diff --git a/src/libs/ncurses/ncurses/base/lib_slkclear.c b/src/libs/ncurses/ncurses/base/lib_slkclear.c deleted file mode 100644 index 03e6721cbb..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_slkclear.c +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * lib_slkclear.c - * Soft key routines. - * Remove soft labels from the screen. - */ -#include - -MODULE_ID("$Id: lib_slkclear.c,v 1.8 2001/12/19 01:07:01 tom Exp $") - -NCURSES_EXPORT(int) -slk_clear(void) -{ - T((T_CALLED("slk_clear()"))); - - if (SP == NULL || SP->_slk == NULL) - returnCode(ERR); - SP->_slk->hidden = TRUE; - /* For simulated SLK's it's looks much more natural to - inherit those attributes from the standard screen */ - SP->_slk->win->_nc_bkgd = stdscr->_nc_bkgd; - SP->_slk->win->_attrs = stdscr->_attrs; - if (SP->_slk->win == stdscr) { - returnCode(OK); - } else { - werase(SP->_slk->win); - returnCode(wrefresh(SP->_slk->win)); - } -} diff --git a/src/libs/ncurses/ncurses/base/lib_slkcolor.c b/src/libs/ncurses/ncurses/base/lib_slkcolor.c deleted file mode 100644 index b677b65a52..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_slkcolor.c +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer, 1998 * - * and: Thomas E. Dickey 2005 * - ****************************************************************************/ - -/* - * lib_slkcolor.c - * Soft key routines. - * Set the label's color - */ -#include - -MODULE_ID("$Id: lib_slkcolor.c,v 1.12 2005/01/28 21:11:53 tom Exp $") - -NCURSES_EXPORT(int) -slk_color(short color_pair_number) -{ - T((T_CALLED("slk_color(%d)"), color_pair_number)); - - if (SP != 0 && SP->_slk != 0 && - color_pair_number >= 0 && color_pair_number < COLOR_PAIRS) { - TR(TRACE_ATTRS, ("... current is %s", _tracech_t(CHREF(SP->_slk->attr)))); - SetPair(SP->_slk->attr, color_pair_number); - TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP->_slk->attr)))); - returnCode(OK); - } else - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/base/lib_slkinit.c b/src/libs/ncurses/ncurses/base/lib_slkinit.c deleted file mode 100644 index f003b5f033..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_slkinit.c +++ /dev/null @@ -1,51 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * lib_slkinit.c - * Soft key routines. - * Initialize soft labels. Called by the user before initscr(). - */ -#include - -MODULE_ID("$Id: lib_slkinit.c,v 1.5 2000/12/10 02:43:27 tom Exp $") - -NCURSES_EXPORT(int) -slk_init(int format) -{ - T((T_CALLED("slk_init(%d)"), format)); - if (format < 0 || format > 3) - returnCode(ERR); - _nc_slk_format = 1 + format; - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/base/lib_slklab.c b/src/libs/ncurses/ncurses/base/lib_slklab.c deleted file mode 100644 index 42bb4ac142..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_slklab.c +++ /dev/null @@ -1,51 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * lib_slklab.c - * Soft key routines. - * Fetch the label text. - */ -#include - -MODULE_ID("$Id: lib_slklab.c,v 1.7 2003/03/29 22:53:48 tom Exp $") - -NCURSES_EXPORT(char *) -slk_label(int n) -{ - T((T_CALLED("slk_label(%d)"), n)); - - if (SP == NULL || SP->_slk == NULL || n < 1 || n > SP->_slk->labcnt) - returnPtr(0); - returnPtr(SP->_slk->ent[n - 1].ent_text); -} diff --git a/src/libs/ncurses/ncurses/base/lib_slkrefr.c b/src/libs/ncurses/ncurses/base/lib_slkrefr.c deleted file mode 100644 index 19f36403d5..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_slkrefr.c +++ /dev/null @@ -1,122 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Juergen Pfeifer 1996-on * - * and: Thomas E. Dickey * - ****************************************************************************/ - -/* - * lib_slkrefr.c - * Write SLK window to the (virtual) screen. - */ -#include -#include /* num_labels, label_*, plab_norm */ - -MODULE_ID("$Id: lib_slkrefr.c,v 1.13 2005/01/08 21:46:31 tom Exp $") - -/* - * Write the soft labels to the soft-key window. - */ -static void -slk_intern_refresh(SLK * slk) -{ - int i; - int fmt = SP->slk_format; - - for (i = 0; i < slk->labcnt; i++) { - if (slk->dirty || slk->ent[i].dirty) { - if (slk->ent[i].visible) { - if (num_labels > 0 && SLK_STDFMT(fmt)) { - if (i < num_labels) { - TPUTS_TRACE("plab_norm"); - putp(tparm(plab_norm, i + 1, slk->ent[i].form_text)); - } - } else { - wmove(slk->win, SLK_LINES(fmt) - 1, slk->ent[i].ent_x); - if (SP && SP->_slk) { - wattrset(slk->win, AttrOf(SP->_slk->attr)); - } - waddstr(slk->win, slk->ent[i].form_text); - /* if we simulate SLK's, it's looking much more - natural to use the current ATTRIBUTE also - for the label window */ - wattrset(slk->win, stdscr->_attrs); - } - } - slk->ent[i].dirty = FALSE; - } - } - slk->dirty = FALSE; - - if (num_labels > 0) { - if (slk->hidden) { - TPUTS_TRACE("label_off"); - putp(label_off); - } else { - TPUTS_TRACE("label_on"); - putp(label_on); - } - } -} - -/* - * Refresh the soft labels. - */ -NCURSES_EXPORT(int) -slk_noutrefresh(void) -{ - T((T_CALLED("slk_noutrefresh()"))); - - if (SP == NULL || SP->_slk == NULL) - returnCode(ERR); - if (SP->_slk->hidden) - returnCode(OK); - slk_intern_refresh(SP->_slk); - - returnCode(wnoutrefresh(SP->_slk->win)); -} - -/* - * Refresh the soft labels. - */ -NCURSES_EXPORT(int) -slk_refresh(void) -{ - T((T_CALLED("slk_refresh()"))); - - if (SP == NULL || SP->_slk == NULL) - returnCode(ERR); - if (SP->_slk->hidden) - returnCode(OK); - slk_intern_refresh(SP->_slk); - - returnCode(wrefresh(SP->_slk->win)); -} diff --git a/src/libs/ncurses/ncurses/base/lib_slkset.c b/src/libs/ncurses/ncurses/base/lib_slkset.c deleted file mode 100644 index 47ef382379..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_slkset.c +++ /dev/null @@ -1,142 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Juergen Pfeifer * - * and: Thomas E. Dickey * - ****************************************************************************/ - -/* - * lib_slkset.c - * Set soft label text. - */ -#include -#include - -#if USE_WIDEC_SUPPORT -#include -#endif - -MODULE_ID("$Id: lib_slkset.c,v 1.15 2005/04/16 17:47:34 tom Exp $") - -NCURSES_EXPORT(int) -slk_set(int i, const char *astr, int format) -{ - SLK *slk = SP->_slk; - int offset; - int numchrs; - int numcols; - int limit; - const char *str = astr; - const char *p; - - T((T_CALLED("slk_set(%d, \"%s\", %d)"), i, str, format)); - - if (slk == NULL || i < 1 || i > slk->labcnt || format < 0 || format > 2) - returnCode(ERR); - if (str == NULL) - str = ""; - --i; /* Adjust numbering of labels */ - - limit = MAX_SKEY_LEN(SP->slk_format); - while (isspace(UChar(*str))) - str++; /* skip over leading spaces */ - p = str; - -#if USE_WIDEC_SUPPORT - numcols = 0; - while (*p != 0) { - mbstate_t state; - wchar_t wc; - size_t need; - - init_mb(state); - need = mbrtowc(0, p, strlen(p), &state); - if (need == (size_t) -1) - break; - mbrtowc(&wc, p, need, &state); - if (!iswprint((wint_t) wc)) - break; - if (wcwidth(wc) + numcols > limit) - break; - numcols += wcwidth(wc); - p += need; - } - numchrs = (p - str); -#else - while (isprint(UChar(*p))) - p++; /* The first non-print stops */ - - numcols = (p - str); - if (numcols > limit) - numcols = limit; - numchrs = numcols; -#endif - - FreeIfNeeded(slk->ent[i].ent_text); - if ((slk->ent[i].ent_text = strdup(str)) == 0) - returnCode(ERR); - slk->ent[i].ent_text[numchrs] = '\0'; - - if ((slk->ent[i].form_text = (char *) _nc_doalloc(slk->ent[i].form_text, - (unsigned) (limit + - numchrs + 1)) - ) == 0) - returnCode(ERR); - - switch (format) { - default: - case 0: /* left-justified */ - offset = 0; - break; - case 1: /* centered */ - offset = (limit - numcols) / 2; - break; - case 2: /* right-justified */ - offset = limit - numcols; - break; - } - if (offset <= 0) - offset = 0; - else - memset(slk->ent[i].form_text, ' ', (unsigned) offset); - - memcpy(slk->ent[i].form_text + offset, - slk->ent[i].ent_text, - (unsigned) numchrs); - - if (offset < limit) { - memset(slk->ent[i].form_text + offset + numchrs, - ' ', - (unsigned) (limit - (offset + numcols))); - } - - slk->ent[i].form_text[numchrs - numcols + limit] = 0; - slk->ent[i].dirty = TRUE; - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/base/lib_slktouch.c b/src/libs/ncurses/ncurses/base/lib_slktouch.c deleted file mode 100644 index 5eb5df385b..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_slktouch.c +++ /dev/null @@ -1,53 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * lib_slktouch.c - * Soft key routines. - * Force the code to believe that the soft keys have been changed. - */ -#include - -MODULE_ID("$Id: lib_slktouch.c,v 1.5 2000/12/10 02:43:27 tom Exp $") - -NCURSES_EXPORT(int) -slk_touch(void) -{ - T((T_CALLED("slk_touch()"))); - - if (SP == NULL || SP->_slk == NULL) - returnCode(ERR); - SP->_slk->dirty = TRUE; - - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/base/lib_touch.c b/src/libs/ncurses/ncurses/base/lib_touch.c deleted file mode 100644 index 2ac21f2e0d..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_touch.c +++ /dev/null @@ -1,91 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_touch.c -** -** The routines untouchwin(), -** wtouchln(), -** is_linetouched() -** is_wintouched(). -** -*/ - -#include - -MODULE_ID("$Id: lib_touch.c,v 1.9 2000/12/10 02:43:27 tom Exp $") - -NCURSES_EXPORT(bool) -is_linetouched(WINDOW *win, int line) -{ - T((T_CALLED("is_linetouched(%p,%d)"), win, line)); - - /* XSI doesn't define any error */ - if (!win || (line > win->_maxy) || (line < 0)) - returnCode((bool) ERR); - - returnCode(win->_line[line].firstchar != _NOCHANGE ? TRUE : FALSE); -} - -NCURSES_EXPORT(bool) -is_wintouched(WINDOW *win) -{ - int i; - - T((T_CALLED("is_wintouched(%p)"), win)); - - if (win) - for (i = 0; i <= win->_maxy; i++) - if (win->_line[i].firstchar != _NOCHANGE) - returnCode(TRUE); - returnCode(FALSE); -} - -NCURSES_EXPORT(int) -wtouchln(WINDOW *win, int y, int n, int changed) -{ - int i; - - T((T_CALLED("wtouchln(%p,%d,%d,%d)"), win, y, n, changed)); - - if (!win || (n < 0) || (y < 0) || (y > win->_maxy)) - returnCode(ERR); - - for (i = y; i < y + n; i++) { - if (i > win->_maxy) - break; - win->_line[i].firstchar = changed ? 0 : _NOCHANGE; - win->_line[i].lastchar = changed ? win->_maxx : _NOCHANGE; - } - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/base/lib_ungetch.c b/src/libs/ncurses/ncurses/base/lib_ungetch.c deleted file mode 100644 index a6164df5ed..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_ungetch.c +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_ungetch.c -** -** The routine ungetch(). -** -*/ - -#include - -MODULE_ID("$Id: lib_ungetch.c,v 1.8 2002/08/24 22:08:48 tom Exp $") - -#include - -#ifdef TRACE -NCURSES_EXPORT(void) -_nc_fifo_dump(void) -{ - int i; - T(("head = %d, tail = %d, peek = %d", head, tail, peek)); - for (i = 0; i < 10; i++) - T(("char %d = %s", i, _tracechar(SP->_fifo[i]))); -} -#endif /* TRACE */ - -NCURSES_EXPORT(int) -ungetch(int ch) -{ - T((T_CALLED("ungetch(%s)"), _tracechar(ch))); - - if (tail == -1) - returnCode(ERR); - if (head == -1) { - head = 0; - t_inc() - peek = tail; /* no raw keys */ - } else - h_dec(); - - SP->_fifo[head] = ch; - T(("ungetch %s ok", _tracechar(ch))); -#ifdef TRACE - if (_nc_tracing & TRACE_IEVENT) - _nc_fifo_dump(); -#endif - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/base/lib_vline.c b/src/libs/ncurses/ncurses/base/lib_vline.c deleted file mode 100644 index c19570b662..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_vline.c +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_vline.c -** -** The routine wvline(). -** -*/ - -#include - -MODULE_ID("$Id: lib_vline.c,v 1.9 2001/06/03 00:39:24 skimo Exp $") - -NCURSES_EXPORT(int) -wvline(WINDOW *win, chtype ch, int n) -{ - int code = ERR; - NCURSES_SIZE_T row, col; - NCURSES_SIZE_T end; - - T((T_CALLED("wvline(%p,%s,%d)"), win, _tracechtype(ch), n)); - - if (win) { - NCURSES_CH_T wch; - row = win->_cury; - col = win->_curx; - end = row + n - 1; - if (end > win->_maxy) - end = win->_maxy; - - if (ch == 0) - SetChar(wch, ChCharOf(ACS_VLINE), ChAttrOf(ACS_VLINE)); - else - SetChar(wch, ChCharOf(ch), ChAttrOf(ch)); - wch = _nc_render(win, wch); - - while (end >= row) { - struct ldat *line = &(win->_line[end]); - line->text[col] = wch; - CHANGED_CELL(line, col); - end--; - } - - _nc_synchook(win); - code = OK; - } - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/base/lib_wattroff.c b/src/libs/ncurses/ncurses/base/lib_wattroff.c deleted file mode 100644 index 9ac331ae5a..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_wattroff.c +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* -** lib_wattroff.c -** -** The routine wattr_off(). -** -*/ - -#include -#include - -MODULE_ID("$Id: lib_wattroff.c,v 1.8 2005/01/29 21:20:03 tom Exp $") - -NCURSES_EXPORT(int) -wattr_off(WINDOW *win, attr_t at, void *opts GCC_UNUSED) -{ - T((T_CALLED("wattr_off(%p,%s)"), win, _traceattr(at))); - if (win) { - T(("... current %s (%d)", _traceattr(win->_attrs), GET_WINDOW_PAIR(win))); - if_EXT_COLORS({ - if (at & A_COLOR) - win->_color = 0; - }); - toggle_attr_off(win->_attrs, at); - returnCode(OK); - } else - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/base/lib_wattron.c b/src/libs/ncurses/ncurses/base/lib_wattron.c deleted file mode 100644 index 1d3b24a7af..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_wattron.c +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* -** lib_wattron.c -** -** The routines wattr_on(). -** -*/ - -#include -#include - -MODULE_ID("$Id: lib_wattron.c,v 1.8 2005/01/29 21:23:08 tom Exp $") - -NCURSES_EXPORT(int) -wattr_on(WINDOW *win, attr_t at, void *opts GCC_UNUSED) -{ - T((T_CALLED("wattr_on(%p,%s)"), win, _traceattr(at))); - if (win != 0) { - T(("... current %s (%d)", _traceattr(win->_attrs), GET_WINDOW_PAIR(win))); - if_EXT_COLORS({ - if (at & A_COLOR) - win->_color = PAIR_NUMBER(at); - }); - toggle_attr_on(win->_attrs, at); - returnCode(OK); - } else - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/base/lib_winch.c b/src/libs/ncurses/ncurses/base/lib_winch.c deleted file mode 100644 index 18da9c5949..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_winch.c +++ /dev/null @@ -1,54 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1998 * - ****************************************************************************/ - -/* -** lib_winch.c -** -** The routine winch(). -** -*/ - -#include - -MODULE_ID("$Id: lib_winch.c,v 1.5 2001/06/02 23:42:08 skimo Exp $") - -NCURSES_EXPORT(chtype) -winch(WINDOW *win) -{ - T((T_CALLED("winch(%p)"), win)); - if (win != 0) { - returnChar(CharOf(win->_line[win->_cury].text[win->_curx]) | - AttrOf(win->_line[win->_cury].text[win->_curx])); - } else { - returnChar(0); - } -} diff --git a/src/libs/ncurses/ncurses/base/lib_window.c b/src/libs/ncurses/ncurses/base/lib_window.c deleted file mode 100644 index 2510167304..0000000000 --- a/src/libs/ncurses/ncurses/base/lib_window.c +++ /dev/null @@ -1,248 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_window.c -** -** -*/ - -#include - -MODULE_ID("$Id: lib_window.c,v 1.21 2002/09/14 23:28:02 tom Exp $") - -NCURSES_EXPORT(void) -_nc_synchook(WINDOW *win) -/* hook to be called after each window change */ -{ - if (win->_immed) - wrefresh(win); - if (win->_sync) - wsyncup(win); -} - -NCURSES_EXPORT(int) -mvderwin(WINDOW *win, int y, int x) -/* move a derived window */ -{ - WINDOW *orig; - int i; - - T((T_CALLED("mvderwin(%p,%d,%d)"), win, y, x)); - - if (win && (orig = win->_parent)) { - if (win->_parx == x && win->_pary == y) - returnCode(OK); - if (x < 0 || y < 0) - returnCode(ERR); - if ((x + getmaxx(win) > getmaxx(orig)) || - (y + getmaxy(win) > getmaxy(orig))) - returnCode(ERR); - } else - returnCode(ERR); - wsyncup(win); - win->_parx = x; - win->_pary = y; - for (i = 0; i < getmaxy(win); i++) - win->_line[i].text = &(orig->_line[y++].text[x]); - returnCode(OK); -} - -NCURSES_EXPORT(int) -syncok(WINDOW *win, bool bf) -/* enable/disable automatic wsyncup() on each change to window */ -{ - T((T_CALLED("syncok(%p,%d)"), win, bf)); - - if (win) { - win->_sync = bf; - returnCode(OK); - } else - returnCode(ERR); -} - -NCURSES_EXPORT(void) -wsyncup(WINDOW *win) -/* mark changed every cell in win's ancestors that is changed in win */ -/* Rewritten by J. Pfeifer, 1-Apr-96 (don't even think that...) */ -{ - WINDOW *wp; - - T((T_CALLED("wsyncup(%p)"), win)); - if (win && win->_parent) { - for (wp = win; wp->_parent; wp = wp->_parent) { - int y; - WINDOW *pp = wp->_parent; - - assert((wp->_pary <= pp->_maxy) && - ((wp->_pary + wp->_maxy) <= pp->_maxy)); - - for (y = 0; y <= wp->_maxy; y++) { - int left = wp->_line[y].firstchar; - if (left >= 0) { /* line is touched */ - struct ldat *line = &(pp->_line[wp->_pary + y]); - /* left & right character in parent window coordinates */ - int right = wp->_line[y].lastchar + wp->_parx; - left += wp->_parx; - - CHANGED_RANGE(line, left, right); - } - } - } - } - returnVoid; -} - -NCURSES_EXPORT(void) -wsyncdown(WINDOW *win) -/* mark changed every cell in win that is changed in any of its ancestors */ -/* Rewritten by J. Pfeifer, 1-Apr-96 (don't even think that...) */ -{ - T((T_CALLED("wsyncdown(%p)"), win)); - - if (win && win->_parent) { - WINDOW *pp = win->_parent; - int y; - - /* This recursion guarantees, that the changes are propagated down- - wards from the root to our direct parent. */ - wsyncdown(pp); - - /* and now we only have to propagate the changes from our direct - parent, if there are any. */ - assert((win->_pary <= pp->_maxy) && - ((win->_pary + win->_maxy) <= pp->_maxy)); - - for (y = 0; y <= win->_maxy; y++) { - if (pp->_line[win->_pary + y].firstchar >= 0) { /* parent changed */ - struct ldat *line = &(win->_line[y]); - /* left and right character in child coordinates */ - int left = pp->_line[win->_pary + y].firstchar - win->_parx; - int right = pp->_line[win->_pary + y].lastchar - win->_parx; - /* The change maybe outside the childs range */ - if (left < 0) - left = 0; - if (right > win->_maxx) - right = win->_maxx; - CHANGED_RANGE(line, left, right); - } - } - } - returnVoid; -} - -NCURSES_EXPORT(void) -wcursyncup(WINDOW *win) -/* sync the cursor in all derived windows to its value in the base window */ -{ - WINDOW *wp; - - T((T_CALLED("wcursyncup(%p)"), win)); - for (wp = win; wp && wp->_parent; wp = wp->_parent) { - wmove(wp->_parent, wp->_pary + wp->_cury, wp->_parx + wp->_curx); - } - returnVoid; -} - -NCURSES_EXPORT(WINDOW *) -dupwin(WINDOW *win) -/* make an exact duplicate of the given window */ -{ - WINDOW *nwin = 0; - size_t linesize; - int i; - - T((T_CALLED("dupwin(%p)"), win)); - - if (win != 0) { - - if (win->_flags & _ISPAD) { - nwin = newpad(win->_maxy + 1, - win->_maxx + 1); - } else { - nwin = newwin(win->_maxy + 1, - win->_maxx + 1, - win->_begy, - win->_begx); - } - - if (nwin != 0) { - - nwin->_curx = win->_curx; - nwin->_cury = win->_cury; - nwin->_maxy = win->_maxy; - nwin->_maxx = win->_maxx; - nwin->_begy = win->_begy; - nwin->_begx = win->_begx; - nwin->_yoffset = win->_yoffset; - - nwin->_flags = win->_flags & ~_SUBWIN; - /* Due to the use of newwin(), the clone is not a subwindow. - * The text is really copied into the clone. - */ - - nwin->_attrs = win->_attrs; - nwin->_nc_bkgd = win->_nc_bkgd; - - nwin->_notimeout = win->_notimeout; - nwin->_clear = win->_clear; - nwin->_leaveok = win->_leaveok; - nwin->_scroll = win->_scroll; - nwin->_idlok = win->_idlok; - nwin->_idcok = win->_idcok; - nwin->_immed = win->_immed; - nwin->_sync = win->_sync; - nwin->_use_keypad = win->_use_keypad; - nwin->_delay = win->_delay; - - nwin->_parx = 0; - nwin->_pary = 0; - nwin->_parent = (WINDOW *) 0; - /* See above: the clone isn't a subwindow! */ - - nwin->_regtop = win->_regtop; - nwin->_regbottom = win->_regbottom; - - if (win->_flags & _ISPAD) - nwin->_pad = win->_pad; - - linesize = (win->_maxx + 1) * sizeof(NCURSES_CH_T); - for (i = 0; i <= nwin->_maxy; i++) { - memcpy(nwin->_line[i].text, win->_line[i].text, linesize); - nwin->_line[i].firstchar = win->_line[i].firstchar; - nwin->_line[i].lastchar = win->_line[i].lastchar; - } - } - } - returnWin(nwin); -} diff --git a/src/libs/ncurses/ncurses/base/memmove.c b/src/libs/ncurses/ncurses/base/memmove.c deleted file mode 100644 index 4fafc4cda9..0000000000 --- a/src/libs/ncurses/ncurses/base/memmove.c +++ /dev/null @@ -1,69 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -#include - -MODULE_ID("$Id: memmove.c,v 1.4 2000/12/10 02:43:28 tom Exp $") - -/**************************************************************************** - * Author: Thomas E. Dickey 1998 * - ****************************************************************************/ - -#if USE_MY_MEMMOVE -#define DST ((char *)s1) -#define SRC ((const char *)s2) -NCURSES_EXPORT(void *) -_nc_memmove(void *s1, const void *s2, size_t n) -{ - if (n != 0) { - if ((DST + n > SRC) && (SRC + n > DST)) { - static char *bfr; - static size_t length; - register size_t j; - if (length < n) { - length = (n * 3) / 2; - bfr = typeRealloc(char, length, bfr); - } - for (j = 0; j < n; j++) - bfr[j] = SRC[j]; - SRC = bfr; - } - while (n-- != 0) - DST[n] = SRC[n]; - } - return s1; -} -#else -extern -NCURSES_EXPORT(void) -_nc_memmove(void); /* quiet's gcc warning */ -NCURSES_EXPORT(void) -_nc_memmove(void) -{ -} /* nonempty for strict ANSI compilers */ -#endif /* USE_MY_MEMMOVE */ diff --git a/src/libs/ncurses/ncurses/base/nc_panel.c b/src/libs/ncurses/ncurses/base/nc_panel.c deleted file mode 100644 index 59bfbbe86e..0000000000 --- a/src/libs/ncurses/ncurses/base/nc_panel.c +++ /dev/null @@ -1,41 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1997 * - ****************************************************************************/ - -#include - -MODULE_ID("$Id: nc_panel.c,v 1.4 2000/12/10 02:43:28 tom Exp $") - -NCURSES_EXPORT(struct panelhook *) -_nc_panelhook(void) -{ - return (SP ? &(SP->_panelHook) : NULL); -} diff --git a/src/libs/ncurses/ncurses/base/resizeterm.c b/src/libs/ncurses/ncurses/base/resizeterm.c deleted file mode 100644 index 09ba6007e5..0000000000 --- a/src/libs/ncurses/ncurses/base/resizeterm.c +++ /dev/null @@ -1,330 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey * - ****************************************************************************/ - -/* - * This is an extension to the curses library. It provides callers with a hook - * into the NCURSES data to resize windows, primarily for use by programs - * running in an X Window terminal (e.g., xterm). I abstracted this module - * from my application library for NCURSES because it must be compiled with - * the private data structures -- T.Dickey 1995/7/4. - */ - -#include -#include - -MODULE_ID("$Id: resizeterm.c,v 1.17 2004/07/31 20:24:38 tom Exp $") - -#define stolen_lines (screen_lines - SP->_lines_avail) - -static int current_lines; -static int current_cols; - -#ifdef TRACE -static void -show_window_sizes(const char *name) -{ - WINDOWLIST *wp; - - _tracef("%s resizing: %2d x %2d (%2d x %2d)", name, LINES, COLS, - screen_lines, screen_columns); - for (wp = _nc_windows; wp != 0; wp = wp->next) { - _tracef(" window %p is %2d x %2d at %2d,%2d", - &(wp->win), - wp->win._maxy + 1, - wp->win._maxx + 1, - wp->win._begy, - wp->win._begx); - } -} -#endif - -NCURSES_EXPORT(bool) -is_term_resized(int ToLines, int ToCols) -{ - T((T_CALLED("is_term_resized(%d, %d)"), ToLines, ToCols)); - returnCode(ToLines > 0 - && ToCols > 0 - && (ToLines != screen_lines - || ToCols != screen_columns)); -} - -/* - * Return the number of levels of child-windows under the current window. - */ -static int -child_depth(WINDOW *cmp) -{ - int depth = 0; - - if (cmp != 0) { - WINDOWLIST *wp; - - for (wp = _nc_windows; wp != 0; wp = wp->next) { - WINDOW *tst = &(wp->win); - if (tst->_parent == cmp) { - depth = 1 + child_depth(tst); - break; - } - } - } - return depth; -} - -/* - * Return the number of levels of parent-windows above the current window. - */ -static int -parent_depth(WINDOW *cmp) -{ - int depth = 0; - - if (cmp != 0) { - WINDOW *tst; - while ((tst = cmp->_parent) != 0) { - ++depth; - cmp = tst; - } - } - return depth; -} - -/* - * FIXME: must adjust position so it's within the parent! - */ -static int -adjust_window(WINDOW *win, int ToLines, int ToCols, int stolen) -{ - int result; - int bottom = current_lines + SP->_topstolen - stolen; - int myLines = win->_maxy + 1; - int myCols = win->_maxx + 1; - - T((T_CALLED("adjust_window(%p,%d,%d) currently %dx%d at %d,%d"), - win, ToLines, ToCols, - getmaxy(win), getmaxx(win), - getbegy(win), getbegx(win))); - - if (win->_begy >= bottom) { - win->_begy += (ToLines - current_lines); - } else { - if (myLines == current_lines - stolen - && ToLines != current_lines) - myLines = ToLines - stolen; - else if (myLines == current_lines - && ToLines != current_lines) - myLines = ToLines; - } - - if (myLines > ToLines) - myLines = ToLines; - - if (myCols > ToCols) - myCols = ToCols; - - if (myLines == current_lines - && ToLines != current_lines) - myLines = ToLines; - - if (myCols == current_cols - && ToCols != current_cols) - myCols = ToCols; - - result = wresize(win, myLines, myCols); - returnCode(result); -} - -/* - * If we're decreasing size, recursively search for windows that have no - * children, decrease those to fit, then decrease the containing window, etc. - */ -static int -decrease_size(int ToLines, int ToCols, int stolen) -{ - bool found; - int depth = 0; - WINDOWLIST *wp; - - T((T_CALLED("decrease_size(%d, %d)"), ToLines, ToCols)); - - do { - found = FALSE; - TR(TRACE_UPDATE, ("decreasing size of windows to %dx%d, depth=%d", - ToLines, ToCols, depth)); - for (wp = _nc_windows; wp != 0; wp = wp->next) { - WINDOW *win = &(wp->win); - - if (!(win->_flags & _ISPAD)) { - if (child_depth(win) == depth) { - found = TRUE; - if (adjust_window(win, ToLines, ToCols, stolen) != OK) - returnCode(ERR); - } - } - } - ++depth; - } while (found); - returnCode(OK); -} - -/* - * If we're increasing size, recursively search for windows that have no - * parent, increase those to fit, then increase the contained window, etc. - */ -static int -increase_size(int ToLines, int ToCols, int stolen) -{ - bool found; - int depth = 0; - WINDOWLIST *wp; - - T((T_CALLED("increase_size(%d, %d)"), ToLines, ToCols)); - - do { - found = FALSE; - TR(TRACE_UPDATE, ("increasing size of windows to %dx%d, depth=%d", - ToLines, ToCols, depth)); - for (wp = _nc_windows; wp != 0; wp = wp->next) { - WINDOW *win = &(wp->win); - - if (!(win->_flags & _ISPAD)) { - if (parent_depth(win) == depth) { - found = TRUE; - if (adjust_window(win, ToLines, ToCols, stolen) != OK) - returnCode(ERR); - } - } - } - ++depth; - } while (found); - returnCode(OK); -} - -/* - * This function reallocates NCURSES window structures, with no side-effects - * such as ungetch(). - */ -NCURSES_EXPORT(int) -resize_term(int ToLines, int ToCols) -{ - int result = OK; - int was_stolen = (screen_lines - SP->_lines_avail); - - T((T_CALLED("resize_term(%d,%d) old(%d,%d)"), - ToLines, ToCols, - screen_lines, screen_columns)); - - if (is_term_resized(ToLines, ToCols)) { - int myLines = current_lines = screen_lines; - int myCols = current_cols = screen_columns; - -#ifdef TRACE - if (_nc_tracing & TRACE_UPDATE) - show_window_sizes("before"); -#endif - if (ToLines > screen_lines) { - increase_size(myLines = ToLines, myCols, was_stolen); - current_lines = myLines; - current_cols = myCols; - } - - if (ToCols > screen_columns) { - increase_size(myLines, myCols = ToCols, was_stolen); - current_lines = myLines; - current_cols = myCols; - } - - if (ToLines < myLines || - ToCols < myCols) { - decrease_size(ToLines, ToCols, was_stolen); - } - - screen_lines = lines = ToLines; - screen_columns = columns = ToCols; - - SP->_lines_avail = lines - was_stolen; - - if (SP->oldhash) { - FreeAndNull(SP->oldhash); - } - if (SP->newhash) { - FreeAndNull(SP->newhash); - } -#ifdef TRACE - if (_nc_tracing & TRACE_UPDATE) { - LINES = ToLines - was_stolen; - COLS = ToCols; - show_window_sizes("after"); - } -#endif - } - - /* - * Always update LINES, to allow for call from lib_doupdate.c which - * needs to have the count adjusted by the stolen (ripped off) lines. - */ - LINES = ToLines - was_stolen; - COLS = ToCols; - - returnCode(result); -} - -/* - * This function reallocates NCURSES window structures. It is invoked in - * response to a SIGWINCH interrupt. Other user-defined windows may also need - * to be reallocated. - * - * Because this performs memory allocation, it should not (in general) be - * invoked directly from the signal handler. - */ -NCURSES_EXPORT(int) -resizeterm(int ToLines, int ToCols) -{ - int result = OK; - - SP->_sig_winch = FALSE; - - T((T_CALLED("resizeterm(%d,%d) old(%d,%d)"), - ToLines, ToCols, - screen_lines, screen_columns)); - - if (is_term_resized(ToLines, ToCols)) { - -#if USE_SIGWINCH - ungetch(KEY_RESIZE); /* so application can know this */ - clearok(curscr, TRUE); /* screen contents are unknown */ -#endif - - result = resize_term(ToLines, ToCols); - } - - returnCode(result); -} diff --git a/src/libs/ncurses/ncurses/base/safe_sprintf.c b/src/libs/ncurses/ncurses/base/safe_sprintf.c deleted file mode 100644 index 81fe44f0c7..0000000000 --- a/src/libs/ncurses/ncurses/base/safe_sprintf.c +++ /dev/null @@ -1,262 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1997 * - ****************************************************************************/ - -#include -#include - -MODULE_ID("$Id: safe_sprintf.c,v 1.18 2003/08/09 21:52:04 tom Exp $") - -#if USE_SAFE_SPRINTF - -typedef enum { - Flags, Width, Prec, Type, Format -} PRINTF; - -#define VA_INTGR(type) ival = va_arg(ap, type) -#define VA_FLOAT(type) fval = va_arg(ap, type) -#define VA_POINT(type) pval = (void *)va_arg(ap, type) - -/* - * Scan a variable-argument list for printf to determine the number of - * characters that would be emitted. - */ -static int -_nc_printf_length(const char *fmt, va_list ap) -{ - size_t length = BUFSIZ; - char *buffer; - char *format; - int len = 0; - size_t fmt_len; - char fmt_arg[BUFSIZ]; - - if (fmt == 0 || *fmt == '\0') - return 0; - fmt_len = strlen(fmt) + 1; - if ((format = typeMalloc(char, fmt_len)) == 0) - return -1; - if ((buffer = typeMalloc(char, length)) == 0) { - free(format); - return -1; - } - - while (*fmt != '\0') { - if (*fmt == '%') { - static char dummy[] = ""; - PRINTF state = Flags; - char *pval = dummy; /* avoid const-cast */ - double fval = 0.0; - int done = FALSE; - int ival = 0; - int prec = -1; - int type = 0; - int used = 0; - int width = -1; - size_t f = 0; - - format[f++] = *fmt; - while (*++fmt != '\0' && len >= 0 && !done) { - format[f++] = *fmt; - - if (isdigit(UChar(*fmt))) { - int num = *fmt - '0'; - if (state == Flags && num != 0) - state = Width; - if (state == Width) { - if (width < 0) - width = 0; - width = (width * 10) + num; - } else if (state == Prec) { - if (prec < 0) - prec = 0; - prec = (prec * 10) + num; - } - } else if (*fmt == '*') { - VA_INTGR(int); - if (state == Flags) - state = Width; - if (state == Width) { - width = ival; - } else if (state == Prec) { - prec = ival; - } - sprintf(fmt_arg, "%d", ival); - fmt_len += strlen(fmt_arg); - if ((format = realloc(format, fmt_len)) == 0) { - return -1; - } - strcpy(&format[--f], fmt_arg); - f = strlen(format); - } else if (isalpha(UChar(*fmt))) { - done = TRUE; - switch (*fmt) { - case 'Z': /* FALLTHRU */ - case 'h': /* FALLTHRU */ - case 'l': /* FALLTHRU */ - done = FALSE; - type = *fmt; - break; - case 'i': /* FALLTHRU */ - case 'd': /* FALLTHRU */ - case 'u': /* FALLTHRU */ - case 'x': /* FALLTHRU */ - case 'X': /* FALLTHRU */ - if (type == 'l') - VA_INTGR(long); - else if (type == 'Z') - VA_INTGR(size_t); - else - VA_INTGR(int); - used = 'i'; - break; - case 'f': /* FALLTHRU */ - case 'e': /* FALLTHRU */ - case 'E': /* FALLTHRU */ - case 'g': /* FALLTHRU */ - case 'G': /* FALLTHRU */ - VA_FLOAT(double); - used = 'f'; - break; - case 'c': - VA_INTGR(int); - used = 'i'; - break; - case 's': - VA_POINT(char *); - if (prec < 0) - prec = strlen(pval); - if (prec > (int) length) { - length = length + prec; - buffer = typeRealloc(char, length, buffer); - if (buffer == 0) { - free(format); - return -1; - } - } - used = 'p'; - break; - case 'p': - VA_POINT(void *); - used = 'p'; - break; - case 'n': - VA_POINT(int *); - used = 0; - break; - default: - break; - } - } else if (*fmt == '.') { - state = Prec; - } else if (*fmt == '%') { - done = TRUE; - used = 'p'; - } - } - format[f] = '\0'; - switch (used) { - case 'i': - sprintf(buffer, format, ival); - break; - case 'f': - sprintf(buffer, format, fval); - break; - default: - sprintf(buffer, format, pval); - break; - } - len += (int) strlen(buffer); - } else { - fmt++; - len++; - } - } - - free(buffer); - free(format); - return len; -} -#endif - -/* - * Wrapper for vsprintf that allocates a buffer big enough to hold the result. - */ -NCURSES_EXPORT(char *) -_nc_printf_string(const char *fmt, va_list ap) -{ - static char *buf; - static size_t used; - char *result = 0; - - if (fmt != 0) { -#if USE_SAFE_SPRINTF - int len = _nc_printf_length(fmt, ap); - - if ((int) used < len + 1) { - used = 2 * (len + 1); - buf = typeRealloc(char, used, buf); - } - if (buf != 0) { - *buf = '\0'; - if (len >= 0) { - vsprintf(buf, fmt, ap); - } - result = buf; - } -#else - static int rows, cols; - - if (screen_lines > rows || screen_columns > cols) { - if (screen_lines > rows) - rows = screen_lines; - if (screen_columns > cols) - cols = screen_columns; - used = (rows * (cols + 1)) + 1; - buf = typeRealloc(char, used, buf); - } - - if (buf != 0) { -# if HAVE_VSNPRINTF - vsnprintf(buf, used, fmt, ap); /* GNU extension */ -# else - vsprintf(buf, fmt, ap); /* ANSI */ -# endif - result = buf; - } -#endif - } else if (buf != 0) { /* see _nc_freeall() */ - free(buf); - buf = 0; - used = 0; - } - return result; -} diff --git a/src/libs/ncurses/ncurses/base/sigaction.c b/src/libs/ncurses/ncurses/base/sigaction.c deleted file mode 100644 index 36442e090a..0000000000 --- a/src/libs/ncurses/ncurses/base/sigaction.c +++ /dev/null @@ -1,99 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-2003 * - ****************************************************************************/ - -/* This file provides sigaction() emulation using sigvec() */ -/* Use only if this is non POSIX system */ - -MODULE_ID("$Id: sigaction.c,v 1.14 2003/12/07 01:06:52 tom Exp $") - -static int -_nc_sigaction(int sig, sigaction_t * sigact, sigaction_t * osigact) -{ - return sigvec(sig, sigact, osigact); -} - -static int -_nc_sigemptyset(sigset_t * mask) -{ - *mask = 0; - return 0; -} - -static int -_nc_sigprocmask(int mode, sigset_t * mask, sigset_t * omask) -{ - sigset_t current = sigsetmask(0); - - if (omask) - *omask = current; - - if (mode == SIG_BLOCK) - current |= *mask; - else if (mode == SIG_UNBLOCK) - current &= ~*mask; - else if (mode == SIG_SETMASK) - current = *mask; - - sigsetmask(current); - return 0; -} - -static int -_nc_sigaddset(sigset_t * mask, int sig) -{ - *mask |= sigmask(sig); - return 0; -} - -/* not used in lib_tstp.c */ -#if 0 -static int -_nc_sigsuspend(sigset_t * mask) -{ - return sigpause(*mask); -} - -static int -_nc_sigdelset(sigset_t * mask, int sig) -{ - *mask &= ~sigmask(sig); - return 0; -} - -static int -_nc_sigismember(sigset_t * mask, int sig) -{ - return (*mask & sigmask(sig)) != 0; -} -#endif diff --git a/src/libs/ncurses/ncurses/base/tries.c b/src/libs/ncurses/ncurses/base/tries.c deleted file mode 100644 index 7e60e2c88d..0000000000 --- a/src/libs/ncurses/ncurses/base/tries.c +++ /dev/null @@ -1,141 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1997 * - ****************************************************************************/ - -/* -** tries.c -** -** Functions to manage the tree of partial-completions for keycodes. -** -*/ - -#include - -MODULE_ID("$Id: tries.c,v 1.20 2005/04/30 19:14:18 tom Exp $") - -/* - * Expand a keycode into the string that it corresponds to, returning null if - * no match was found, otherwise allocating a string of the result. - */ -NCURSES_EXPORT(char *) -_nc_expand_try(struct tries *tree, unsigned short code, int *count, size_t len) -{ - struct tries *ptr = tree; - char *result = 0; - - if (code != 0) { - while (ptr != 0) { - if ((result = _nc_expand_try(ptr->child, code, count, len + 1)) - != 0) { - break; - } - if (ptr->value == code) { - *count -= 1; - if (*count == -1) { - result = typeCalloc(char, len + 2); - break; - } - } - ptr = ptr->sibling; - } - } - if (result != 0) { - if ((result[len] = ptr->ch) == 0) - *((unsigned char *) (result + len)) = 128; -#ifdef TRACE - if (len == 0 && _nc_tracing != 0) - _tracef("expand_key %s %s", _tracechar(code), _nc_visbuf(result)); -#endif - } - return result; -} - -/* - * Remove a code from the specified tree, freeing the unused nodes. Returns - * true if the code was found/removed. - */ -NCURSES_EXPORT(int) -_nc_remove_key(struct tries **tree, unsigned short code) -{ - T((T_CALLED("_nc_remove_key(%p,%d)"), tree, code)); - - if (code == 0) - returnCode(FALSE); - - while (*tree != 0) { - if (_nc_remove_key(&(*tree)->child, code)) { - returnCode(TRUE); - } - if ((*tree)->value == code) { - if ((*tree)->child) { - /* don't cut the whole sub-tree */ - (*tree)->value = 0; - } else { - struct tries *to_free = *tree; - *tree = (*tree)->sibling; - free(to_free); - } - returnCode(TRUE); - } - tree = &(*tree)->sibling; - } - returnCode(FALSE); -} - -/* - * Remove a string from the specified tree, freeing the unused nodes. Returns - * true if the string was found/removed. - */ -NCURSES_EXPORT(int) -_nc_remove_string(struct tries **tree, const char *string) -{ - T((T_CALLED("_nc_remove_string(%p,%s)"), tree, _nc_visbuf(string))); - - if (string == 0 || *string == 0) - returnCode(FALSE); - - while (*tree != 0) { - if (UChar((*tree)->ch) == UChar(*string)) { - if (string[1] != 0) - returnCode(_nc_remove_string(&(*tree)->child, string + 1)); - if ((*tree)->child == 0) { - struct tries *to_free = *tree; - *tree = (*tree)->sibling; - free(to_free); - returnCode(TRUE); - } else { - returnCode(FALSE); - } - } - tree = &(*tree)->sibling; - } - returnCode(FALSE); -} diff --git a/src/libs/ncurses/ncurses/base/version.c b/src/libs/ncurses/ncurses/base/version.c deleted file mode 100644 index ef83967d46..0000000000 --- a/src/libs/ncurses/ncurses/base/version.c +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1999-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1999 * - ****************************************************************************/ - -#include - -MODULE_ID("$Id: version.c,v 1.6 2005/01/02 01:23:54 tom Exp $") - -NCURSES_EXPORT(const char *) -curses_version(void) -{ - T((T_CALLED("curses_version()"))); - returnCPtr("ncurses " NCURSES_VERSION_STRING); -} diff --git a/src/libs/ncurses/ncurses/base/vsscanf.c b/src/libs/ncurses/ncurses/base/vsscanf.c deleted file mode 100644 index e6253c3a38..0000000000 --- a/src/libs/ncurses/ncurses/base/vsscanf.c +++ /dev/null @@ -1,356 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * State-machine fallback written by Thomas E. Dickey 2002 * - ****************************************************************************/ - -/* - * This function is needed to support vwscanw - */ - -#include - -#if !HAVE_VSSCANF - -MODULE_ID("$Id: vsscanf.c,v 1.18 2004/04/03 20:27:02 tom Exp $") - -#if !(HAVE_VFSCANF || HAVE__DOSCAN) - -#include - -#define L_SQUARE '[' -#define R_SQUARE ']' - -typedef enum { - cUnknown - ,cError /* anything that isn't ANSI */ - ,cAssigned - ,cChar - ,cInt - ,cFloat - ,cDouble - ,cPointer - ,cLong - ,cShort - ,cRange - ,cString -} ChunkType; - -typedef enum { - oUnknown - ,oShort - ,oLong -} OtherType; - -typedef enum { - sUnknown - ,sPercent /* last was '%' beginning a format */ - ,sNormal /* ...somewhere in the middle */ - ,sLeft /* last was left square bracket beginning a range */ - ,sRange /* ...somewhere in the middle */ - ,sFinal /* last finished a format */ -} ScanState; - -static ChunkType -final_ch(int ch, OtherType other) -{ - ChunkType result = cUnknown; - - switch (ch) { - case 'c': - if (other == oUnknown) - result = cChar; - else - result = cError; - break; - case 'd': - case 'i': - case 'X': - case 'x': - switch (other) { - case oUnknown: - result = cInt; - break; - case oShort: - result = cShort; - break; - case oLong: - result = cLong; - break; - } - break; - case 'E': - case 'e': - case 'f': - case 'g': - switch (other) { - case oUnknown: - result = cFloat; - break; - case oShort: - result = cError; - break; - case oLong: - result = cDouble; - break; - } - break; - case 'n': - if (other == oUnknown) - result = cAssigned; - else - result = cError; - break; - case 'p': - if (other == oUnknown) - result = cPointer; - else - result = cError; - break; - case 's': - if (other == oUnknown) - result = cString; - else - result = cError; - break; - } - return result; -} - -static OtherType -other_ch(int ch) -{ - OtherType result = oUnknown; - switch (ch) { - case 'h': - result = oShort; - break; - case 'l': - result = oLong; - break; - } - return result; -} -#endif - -/*VARARGS2*/ -NCURSES_EXPORT(int) -vsscanf(const char *str, const char *format, va_list ap) -{ -#if HAVE_VFSCANF || HAVE__DOSCAN - /* - * This code should work on anything descended from AT&T SVr1. - */ - FILE strbuf; - - strbuf._flag = _IOREAD; - strbuf._ptr = strbuf._base = (unsigned char *) str; - strbuf._cnt = strlen(str); - strbuf._file = _NFILE; - -#if HAVE_VFSCANF - return (vfscanf(&strbuf, format, ap)); -#else - return (_doscan(&strbuf, format, ap)); -#endif -#else - static int can_convert = -1; - - int assigned = 0; - int consumed = 0; - - T((T_CALLED("vsscanf(%s,%s,...)"), - _nc_visbuf2(1, str), - _nc_visbuf2(2, format))); - - /* - * This relies on having a working "%n" format conversion. Check if it - * works. Only very old C libraries do not support it. - * - * FIXME: move this check into the configure script. - */ - if (can_convert < 0) { - int check1; - int check2; - if (sscanf("123", "%d%n", &check1, &check2) > 0 - && check1 == 123 - && check2 == 3) { - can_convert = 1; - } else { - can_convert = 0; - } - } - - if (can_convert) { - size_t len_fmt = strlen(format) + 32; - char *my_fmt = malloc(len_fmt); - ChunkType chunk, ctest; - OtherType other, otest; - ScanState state; - unsigned n; - int eaten; - void *pointer; - - if (my_fmt != 0) { - /* - * Split the original format into chunks, adding a "%n" to the end - * of each (except of course if it used %n), and use that - * information to decide where to start scanning the next chunk. - * - * FIXME: does %n count bytes or characters? If the latter, this - * will require further work for multibyte strings. - */ - while (*format != '\0') { - /* find a chunk */ - state = sUnknown; - chunk = cUnknown; - other = oUnknown; - pointer = 0; - for (n = 0; format[n] != 0 && state != sFinal; ++n) { - my_fmt[n] = format[n]; - switch (state) { - case sUnknown: - if (format[n] == '%') - state = sPercent; - break; - case sPercent: - if (format[n] == '%') { - state = sUnknown; - } else if (format[n] == L_SQUARE) { - state = sLeft; - } else { - state = sNormal; - --n; - } - break; - case sLeft: - state = sRange; - if (format[n] == '^') { - ++n; - my_fmt[n] = format[n]; - } - break; - case sRange: - if (format[n] == R_SQUARE) { - state = sFinal; - chunk = cRange; - } - break; - case sNormal: - if (format[n] == '*') { - state = sUnknown; - } else { - if ((ctest = final_ch(format[n], other)) != cUnknown) { - state = sFinal; - chunk = ctest; - } else if ((otest = other_ch(format[n])) != oUnknown) { - other = otest; - } else if (isalpha(UChar(format[n]))) { - state = sFinal; - chunk = cError; - } - } - break; - case sFinal: - break; - } - } - my_fmt[n] = '\0'; - format += n; - - if (chunk == cUnknown - || chunk == cError) { - if (assigned == 0) - assigned = EOF; - break; - } - - /* add %n, if the format was not that */ - if (chunk != cAssigned) { - strcat(my_fmt, "%n"); - } - - switch (chunk) { - case cAssigned: - strcat(my_fmt, "%n"); - pointer = &eaten; - break; - case cInt: - pointer = va_arg(ap, int *); - break; - case cShort: - pointer = va_arg(ap, short *); - break; - case cFloat: - pointer = va_arg(ap, float *); - break; - case cDouble: - pointer = va_arg(ap, double *); - break; - case cLong: - pointer = va_arg(ap, long *); - break; - case cPointer: - pointer = va_arg(ap, void *); - break; - case cChar: - case cRange: - case cString: - pointer = va_arg(ap, char *); - break; - case cError: - case cUnknown: - break; - } - /* do the conversion */ - T(("...converting chunk #%d type %d(%s,%s)", - assigned + 1, chunk, - _nc_visbuf2(1, str + consumed), - _nc_visbuf2(2, my_fmt))); - if (sscanf(str + consumed, my_fmt, pointer, &eaten) > 0) - consumed += eaten; - else - break; - ++assigned; - } - free(my_fmt); - } - } - returnCode(assigned); -#endif -} -#else -extern -NCURSES_EXPORT(void) -_nc_vsscanf(void); /* quiet's gcc warning */ -NCURSES_EXPORT(void) -_nc_vsscanf(void) -{ -} /* nonempty for strict ANSI compilers */ -#endif /* !HAVE_VSSCANF */ diff --git a/src/libs/ncurses/ncurses/base/wresize.c b/src/libs/ncurses/ncurses/base/wresize.c deleted file mode 100644 index a61742a57c..0000000000 --- a/src/libs/ncurses/ncurses/base/wresize.c +++ /dev/null @@ -1,239 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1996-2002 * - ****************************************************************************/ - -#include - -MODULE_ID("$Id: wresize.c,v 1.23 2002/09/28 15:15:51 tom Exp $") - -static int -cleanup_lines(struct ldat *data, int length) -{ - while (--length >= 0) - free(data->text); - free(data); - return ERR; -} - -/* - * If we have reallocated the ldat structs, we will have to repair pointers - * used in subwindows. - */ -static void -repair_subwindows(WINDOW *cmp) -{ - WINDOWLIST *wp; - struct ldat *pline = cmp->_line; - int row; - - for (wp = _nc_windows; wp != 0; wp = wp->next) { - WINDOW *tst = &(wp->win); - - if (tst->_parent == cmp) { - - if (tst->_pary > cmp->_maxy) - tst->_pary = cmp->_maxy; - if (tst->_parx > cmp->_maxx) - tst->_parx = cmp->_maxx; - - if (tst->_maxy + tst->_pary > cmp->_maxy) - tst->_maxy = cmp->_maxy - tst->_pary; - if (tst->_maxx + tst->_parx > cmp->_maxx) - tst->_maxx = cmp->_maxx - tst->_parx; - - for (row = 0; row <= tst->_maxy; ++row) { - tst->_line[row].text = &pline[tst->_pary + row].text[tst->_parx]; - } - repair_subwindows(tst); - } - } -} - -/* - * Reallocate a curses WINDOW struct to either shrink or grow to the specified - * new lines/columns. If it grows, the new character cells are filled with - * blanks. The application is responsible for repainting the blank area. - */ -NCURSES_EXPORT(int) -wresize(WINDOW *win, int ToLines, int ToCols) -{ - int col, row, size_x, size_y; - struct ldat *pline; - struct ldat *new_lines = 0; - -#ifdef TRACE - T((T_CALLED("wresize(%p,%d,%d)"), win, ToLines, ToCols)); - if (win) { - TR(TRACE_UPDATE, ("...beg (%d, %d), max(%d,%d), reg(%d,%d)", - win->_begy, win->_begx, - win->_maxy, win->_maxx, - win->_regtop, win->_regbottom)); - if (_nc_tracing & TRACE_UPDATE) - _tracedump("...before", win); - } -#endif - - if (!win || --ToLines < 0 || --ToCols < 0) - returnCode(ERR); - - size_x = win->_maxx; - size_y = win->_maxy; - - if (ToLines == size_y - && ToCols == size_x) - returnCode(OK); - - if ((win->_flags & _SUBWIN)) { - /* - * Check if the new limits will fit into the parent window's size. If - * not, do not resize. We could adjust the location of the subwindow, - * but the application may not like that. - */ - if (win->_pary + ToLines > win->_parent->_maxy - || win->_parx + ToCols > win->_parent->_maxx) { - returnCode(ERR); - } - pline = win->_parent->_line; - } else { - pline = 0; - } - - /* - * Allocate new memory as needed. Do the allocations without modifying - * the original window, in case an allocation fails. Always allocate - * (at least temporarily) the array pointing to the individual lines. - */ - new_lines = typeCalloc(struct ldat, (unsigned) (ToLines + 1)); - if (new_lines == 0) - returnCode(ERR); - - /* - * For each line in the target, allocate or adjust pointers for the - * corresponding text, depending on whether this is a window or a - * subwindow. - */ - for (row = 0; row <= ToLines; ++row) { - int begin = (row > size_y) ? 0 : (size_x + 1); - int end = ToCols; - NCURSES_CH_T *s; - - if (!(win->_flags & _SUBWIN)) { - if (row <= size_y) { - if (ToCols != size_x) { - if ((s = typeMalloc(NCURSES_CH_T, ToCols + 1)) == 0) - returnCode(cleanup_lines(new_lines, row)); - for (col = 0; col <= ToCols; ++col) { - s[col] = (col <= size_x - ? win->_line[row].text[col] - : win->_nc_bkgd); - } - } else { - s = win->_line[row].text; - } - } else { - if ((s = typeMalloc(NCURSES_CH_T, ToCols + 1)) == 0) - returnCode(cleanup_lines(new_lines, row)); - for (col = 0; col <= ToCols; ++col) - s[col] = win->_nc_bkgd; - } - } else { - s = &pline[win->_pary + row].text[win->_parx]; - } - - if_USE_SCROLL_HINTS(new_lines[row].oldindex = row); - if (row <= size_y) { - new_lines[row].firstchar = win->_line[row].firstchar; - new_lines[row].lastchar = win->_line[row].lastchar; - } - if ((ToCols != size_x) || (row > size_y)) { - if (end >= begin) { /* growing */ - if (new_lines[row].firstchar < begin) - new_lines[row].firstchar = begin; - } else { /* shrinking */ - new_lines[row].firstchar = 0; - } - new_lines[row].lastchar = ToCols; - } - new_lines[row].text = s; - } - - /* - * Dispose of unwanted memory. - */ - if (!(win->_flags & _SUBWIN)) { - if (ToCols == size_x) { - for (row = ToLines + 1; row <= size_y; row++) { - free(win->_line[row].text); - } - } else { - for (row = 0; row <= size_y; row++) { - free(win->_line[row].text); - } - } - } - - free(win->_line); - win->_line = new_lines; - - /* - * Finally, adjust the parameters showing screen size and cursor - * position: - */ - win->_maxx = ToCols; - win->_maxy = ToLines; - - if (win->_regtop > win->_maxy) - win->_regtop = win->_maxy; - if (win->_regbottom > win->_maxy - || win->_regbottom == size_y) - win->_regbottom = win->_maxy; - - if (win->_curx > win->_maxx) - win->_curx = win->_maxx; - if (win->_cury > win->_maxy) - win->_cury = win->_maxy; - - /* - * Check for subwindows of this one, and readjust pointers to our text, - * if needed. - */ - repair_subwindows(win); - -#ifdef TRACE - TR(TRACE_UPDATE, ("...beg (%d, %d), max(%d,%d), reg(%d,%d)", - win->_begy, win->_begx, - win->_maxy, win->_maxx, - win->_regtop, win->_regbottom)); - if (_nc_tracing & TRACE_UPDATE) - _tracedump("...after:", win); -#endif - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/codes.c b/src/libs/ncurses/ncurses/codes.c deleted file mode 100644 index 927be998a4..0000000000 --- a/src/libs/ncurses/ncurses/codes.c +++ /dev/null @@ -1,529 +0,0 @@ -/* This file was generated by MKnames.awk */ - -#include - -#define IT NCURSES_CONST char * const - -#if BROKEN_LINKER -#include -#define DCL(it) static IT data##it[] -#else -#define DCL(it) NCURSES_EXPORT_VAR(IT) it[] -#endif - -DCL(boolcodes) = { - "bw", - "am", - "xb", - "xs", - "xn", - "eo", - "gn", - "hc", - "km", - "hs", - "in", - "da", - "db", - "mi", - "ms", - "os", - "es", - "xt", - "hz", - "ul", - "xo", - "nx", - "5i", - "HC", - "NR", - "NP", - "ND", - "cc", - "ut", - "hl", - "YA", - "YB", - "YC", - "YD", - "YE", - "YF", - "YG", - "bs", - "ns", - "nc", - "MT", - "NL", - "pt", - "xr", - (NCURSES_CONST char *)0, -}; - -DCL(numcodes) = { - "co", - "it", - "li", - "lm", - "sg", - "pb", - "vt", - "ws", - "Nl", - "lh", - "lw", - "ma", - "MW", - "Co", - "pa", - "NC", - "Ya", - "Yb", - "Yc", - "Yd", - "Ye", - "Yf", - "Yg", - "Yh", - "Yi", - "Yj", - "Yk", - "Yl", - "Ym", - "Yn", - "BT", - "Yo", - "Yp", - "ug", - "dC", - "dN", - "dB", - "dT", - "kn", - (NCURSES_CONST char *)0, -}; - -DCL(strcodes) = { - "bt", - "bl", - "cr", - "cs", - "ct", - "cl", - "ce", - "cd", - "ch", - "CC", - "cm", - "do", - "ho", - "vi", - "le", - "CM", - "ve", - "nd", - "ll", - "up", - "vs", - "dc", - "dl", - "ds", - "hd", - "as", - "mb", - "md", - "ti", - "dm", - "mh", - "im", - "mk", - "mp", - "mr", - "so", - "us", - "ec", - "ae", - "me", - "te", - "ed", - "ei", - "se", - "ue", - "vb", - "ff", - "fs", - "i1", - "is", - "i3", - "if", - "ic", - "al", - "ip", - "kb", - "ka", - "kC", - "kt", - "kD", - "kL", - "kd", - "kM", - "kE", - "kS", - "k0", - "k1", - "k;", - "k2", - "k3", - "k4", - "k5", - "k6", - "k7", - "k8", - "k9", - "kh", - "kI", - "kA", - "kl", - "kH", - "kN", - "kP", - "kr", - "kF", - "kR", - "kT", - "ku", - "ke", - "ks", - "l0", - "l1", - "la", - "l2", - "l3", - "l4", - "l5", - "l6", - "l7", - "l8", - "l9", - "mo", - "mm", - "nw", - "pc", - "DC", - "DL", - "DO", - "IC", - "SF", - "AL", - "LE", - "RI", - "SR", - "UP", - "pk", - "pl", - "px", - "ps", - "pf", - "po", - "rp", - "r1", - "r2", - "r3", - "rf", - "rc", - "cv", - "sc", - "sf", - "sr", - "sa", - "st", - "wi", - "ta", - "ts", - "uc", - "hu", - "iP", - "K1", - "K3", - "K2", - "K4", - "K5", - "pO", - "rP", - "ac", - "pn", - "kB", - "SX", - "RX", - "SA", - "RA", - "XN", - "XF", - "eA", - "LO", - "LF", - "@1", - "@2", - "@3", - "@4", - "@5", - "@6", - "@7", - "@8", - "@9", - "@0", - "%1", - "%2", - "%3", - "%4", - "%5", - "%6", - "%7", - "%8", - "%9", - "%0", - "&1", - "&2", - "&3", - "&4", - "&5", - "&6", - "&7", - "&8", - "&9", - "&0", - "*1", - "*2", - "*3", - "*4", - "*5", - "*6", - "*7", - "*8", - "*9", - "*0", - "#1", - "#2", - "#3", - "#4", - "%a", - "%b", - "%c", - "%d", - "%e", - "%f", - "%g", - "%h", - "%i", - "%j", - "!1", - "!2", - "!3", - "RF", - "F1", - "F2", - "F3", - "F4", - "F5", - "F6", - "F7", - "F8", - "F9", - "FA", - "FB", - "FC", - "FD", - "FE", - "FF", - "FG", - "FH", - "FI", - "FJ", - "FK", - "FL", - "FM", - "FN", - "FO", - "FP", - "FQ", - "FR", - "FS", - "FT", - "FU", - "FV", - "FW", - "FX", - "FY", - "FZ", - "Fa", - "Fb", - "Fc", - "Fd", - "Fe", - "Ff", - "Fg", - "Fh", - "Fi", - "Fj", - "Fk", - "Fl", - "Fm", - "Fn", - "Fo", - "Fp", - "Fq", - "Fr", - "cb", - "MC", - "ML", - "MR", - "Lf", - "SC", - "DK", - "RC", - "CW", - "WG", - "HU", - "DI", - "QD", - "TO", - "PU", - "fh", - "PA", - "WA", - "u0", - "u1", - "u2", - "u3", - "u4", - "u5", - "u6", - "u7", - "u8", - "u9", - "op", - "oc", - "Ic", - "Ip", - "sp", - "Sf", - "Sb", - "ZA", - "ZB", - "ZC", - "ZD", - "ZE", - "ZF", - "ZG", - "ZH", - "ZI", - "ZJ", - "ZK", - "ZL", - "ZM", - "ZN", - "ZO", - "ZP", - "ZQ", - "ZR", - "ZS", - "ZT", - "ZU", - "ZV", - "ZW", - "ZX", - "ZY", - "ZZ", - "Za", - "Zb", - "Zc", - "Zd", - "Ze", - "Zf", - "Zg", - "Zh", - "Zi", - "Zj", - "Zk", - "Zl", - "Zm", - "Zn", - "Zo", - "Zp", - "Zq", - "Zr", - "Zs", - "Zt", - "Zu", - "Zv", - "Zw", - "Zx", - "Zy", - "Km", - "Mi", - "RQ", - "Gm", - "AF", - "AB", - "xl", - "dv", - "ci", - "s0", - "s1", - "s2", - "s3", - "ML", - "MT", - "Xy", - "Zz", - "Yv", - "Yw", - "Yx", - "Yy", - "Yz", - "YZ", - "S1", - "S2", - "S3", - "S4", - "S5", - "S6", - "S7", - "S8", - "Xh", - "Xl", - "Xo", - "Xr", - "Xt", - "Xv", - "sA", - "sL", - "i2", - "rs", - "nl", - "bc", - "ko", - "ma", - "G2", - "G3", - "G1", - "G4", - "GR", - "GL", - "GU", - "GD", - "GH", - "GV", - "GC", - "ml", - "mu", - "bx", - (NCURSES_CONST char *)0, -}; - - -#if BROKEN_LINKER -#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API _nc_##it(void) { return data##it; } -FIX(boolcodes) -FIX(numcodes) -FIX(strcodes) -#endif /* BROKEN_LINKER */ diff --git a/src/libs/ncurses/ncurses/comp_captab.c b/src/libs/ncurses/ncurses/comp_captab.c deleted file mode 100644 index 15c2774dde..0000000000 --- a/src/libs/ncurses/ncurses/comp_captab.c +++ /dev/null @@ -1,3090 +0,0 @@ -/* - * comp_captab.c -- The names of the capabilities indexed via a hash - * table for the compiler. - * - */ - -#include -#include -#include -#include - -static struct name_table_entry const _nc_info_table[] = -{ - { "bw", BOOLEAN, 0, -1 }, - { "am", BOOLEAN, 1, -1 }, - { "xsb", BOOLEAN, 2, -1 }, - { "xhp", BOOLEAN, 3, -1 }, - { "xenl", BOOLEAN, 4, -1 }, - { "eo", BOOLEAN, 5, -1 }, - { "gn", BOOLEAN, 6, -1 }, - { "hc", BOOLEAN, 7, -1 }, - { "km", BOOLEAN, 8, -1 }, - { "hs", BOOLEAN, 9, -1 }, - { "in", BOOLEAN, 10, -1 }, - { "da", BOOLEAN, 11, -1 }, - { "db", BOOLEAN, 12, -1 }, - { "mir", BOOLEAN, 13, -1 }, - { "msgr", BOOLEAN, 14, -1 }, - { "os", BOOLEAN, 15, -1 }, - { "eslok", BOOLEAN, 16, -1 }, - { "xt", BOOLEAN, 17, -1 }, - { "hz", BOOLEAN, 18, -1 }, - { "ul", BOOLEAN, 19, -1 }, - { "xon", BOOLEAN, 20, -1 }, - { "nxon", BOOLEAN, 21, -1 }, - { "mc5i", BOOLEAN, 22, -1 }, - { "chts", BOOLEAN, 23, -1 }, - { "nrrmc", BOOLEAN, 24, -1 }, - { "npc", BOOLEAN, 25, -1 }, - { "ndscr", BOOLEAN, 26, -1 }, - { "ccc", BOOLEAN, 27, -1 }, - { "bce", BOOLEAN, 28, -1 }, - { "hls", BOOLEAN, 29, -1 }, - { "xhpa", BOOLEAN, 30, -1 }, - { "crxm", BOOLEAN, 31, -1 }, - { "daisy", BOOLEAN, 32, -1 }, - { "xvpa", BOOLEAN, 33, -1 }, - { "sam", BOOLEAN, 34, -1 }, - { "cpix", BOOLEAN, 35, -1 }, - { "lpix", BOOLEAN, 36, -1 }, - { "cols", NUMBER, 0, -1 }, - { "it", NUMBER, 1, -1 }, - { "lines", NUMBER, 2, 6 }, - { "lm", NUMBER, 3, -1 }, - { "xmc", NUMBER, 4, -1 }, - { "pb", NUMBER, 5, -1 }, - { "vt", NUMBER, 6, -1 }, - { "wsl", NUMBER, 7, -1 }, - { "nlab", NUMBER, 8, -1 }, - { "lh", NUMBER, 9, -1 }, - { "lw", NUMBER, 10, -1 }, - { "ma", NUMBER, 11, -1 }, - { "wnum", NUMBER, 12, -1 }, - { "colors", NUMBER, 13, -1 }, - { "pairs", NUMBER, 14, -1 }, - { "ncv", NUMBER, 15, -1 }, - { "bufsz", NUMBER, 16, 46 }, - { "spinv", NUMBER, 17, -1 }, - { "spinh", NUMBER, 18, -1 }, - { "maddr", NUMBER, 19, -1 }, - { "mjump", NUMBER, 20, -1 }, - { "mcs", NUMBER, 21, -1 }, - { "mls", NUMBER, 22, -1 }, - { "npins", NUMBER, 23, -1 }, - { "orc", NUMBER, 24, -1 }, - { "orl", NUMBER, 25, -1 }, - { "orhi", NUMBER, 26, -1 }, - { "orvi", NUMBER, 27, -1 }, - { "cps", NUMBER, 28, -1 }, - { "widcs", NUMBER, 29, -1 }, - { "btns", NUMBER, 30, -1 }, - { "bitwin", NUMBER, 31, -1 }, - { "bitype", NUMBER, 32, 68 }, - { "cbt", STRING, 0, -1 }, - { "bel", STRING, 1, -1 }, - { "cr", STRING, 2, -1 }, - { "csr", STRING, 3, -1 }, - { "tbc", STRING, 4, -1 }, - { "clear", STRING, 5, -1 }, - { "el", STRING, 6, -1 }, - { "ed", STRING, 7, -1 }, - { "hpa", STRING, 8, -1 }, - { "cmdch", STRING, 9, -1 }, - { "cup", STRING, 10, 73 }, - { "cud1", STRING, 11, -1 }, - { "home", STRING, 12, -1 }, - { "civis", STRING, 13, -1 }, - { "cub1", STRING, 14, -1 }, - { "mrcup", STRING, 15, -1 }, - { "cnorm", STRING, 16, -1 }, - { "cuf1", STRING, 17, -1 }, - { "ll", STRING, 18, -1 }, - { "cuu1", STRING, 19, -1 }, - { "cvvis", STRING, 20, -1 }, - { "dch1", STRING, 21, -1 }, - { "dl1", STRING, 22, -1 }, - { "dsl", STRING, 23, -1 }, - { "hd", STRING, 24, -1 }, - { "smacs", STRING, 25, -1 }, - { "blink", STRING, 26, -1 }, - { "bold", STRING, 27, -1 }, - { "smcup", STRING, 28, -1 }, - { "smdc", STRING, 29, -1 }, - { "dim", STRING, 30, -1 }, - { "smir", STRING, 31, -1 }, - { "invis", STRING, 32, -1 }, - { "prot", STRING, 33, -1 }, - { "rev", STRING, 34, -1 }, - { "smso", STRING, 35, -1 }, - { "smul", STRING, 36, -1 }, - { "ech", STRING, 37, -1 }, - { "rmacs", STRING, 38, -1 }, - { "sgr0", STRING, 39, -1 }, - { "rmcup", STRING, 40, -1 }, - { "rmdc", STRING, 41, -1 }, - { "rmir", STRING, 42, -1 }, - { "rmso", STRING, 43, -1 }, - { "rmul", STRING, 44, -1 }, - { "flash", STRING, 45, -1 }, - { "ff", STRING, 46, -1 }, - { "fsl", STRING, 47, -1 }, - { "is1", STRING, 48, -1 }, - { "is2", STRING, 49, 59 }, - { "is3", STRING, 50, 76 }, - { "if", STRING, 51, -1 }, - { "ich1", STRING, 52, 20 }, - { "il1", STRING, 53, -1 }, - { "ip", STRING, 54, -1 }, - { "kbs", STRING, 55, -1 }, - { "ktbc", STRING, 56, -1 }, - { "kclr", STRING, 57, 98 }, - { "kctab", STRING, 58, -1 }, - { "kdch1", STRING, 59, -1 }, - { "kdl1", STRING, 60, -1 }, - { "kcud1", STRING, 61, -1 }, - { "krmir", STRING, 62, -1 }, - { "kel", STRING, 63, -1 }, - { "ked", STRING, 64, -1 }, - { "kf0", STRING, 65, -1 }, - { "kf1", STRING, 66, -1 }, - { "kf10", STRING, 67, -1 }, - { "kf2", STRING, 68, -1 }, - { "kf3", STRING, 69, -1 }, - { "kf4", STRING, 70, -1 }, - { "kf5", STRING, 71, 61 }, - { "kf6", STRING, 72, -1 }, - { "kf7", STRING, 73, -1 }, - { "kf8", STRING, 74, -1 }, - { "kf9", STRING, 75, -1 }, - { "khome", STRING, 76, -1 }, - { "kich1", STRING, 77, -1 }, - { "kil1", STRING, 78, -1 }, - { "kcub1", STRING, 79, -1 }, - { "kll", STRING, 80, -1 }, - { "knp", STRING, 81, -1 }, - { "kpp", STRING, 82, -1 }, - { "kcuf1", STRING, 83, -1 }, - { "kind", STRING, 84, 55 }, - { "kri", STRING, 85, 105 }, - { "khts", STRING, 86, -1 }, - { "kcuu1", STRING, 87, 81 }, - { "rmkx", STRING, 88, -1 }, - { "smkx", STRING, 89, -1 }, - { "lf0", STRING, 90, -1 }, - { "lf1", STRING, 91, -1 }, - { "lf10", STRING, 92, -1 }, - { "lf2", STRING, 93, -1 }, - { "lf3", STRING, 94, 33 }, - { "lf4", STRING, 95, -1 }, - { "lf5", STRING, 96, -1 }, - { "lf6", STRING, 97, -1 }, - { "lf7", STRING, 98, 7 }, - { "lf8", STRING, 99, 94 }, - { "lf9", STRING, 100, -1 }, - { "rmm", STRING, 101, 131 }, - { "smm", STRING, 102, -1 }, - { "nel", STRING, 103, -1 }, - { "pad", STRING, 104, 30 }, - { "dch", STRING, 105, -1 }, - { "dl", STRING, 106, -1 }, - { "cud", STRING, 107, -1 }, - { "ich", STRING, 108, -1 }, - { "indn", STRING, 109, -1 }, - { "il", STRING, 110, -1 }, - { "cub", STRING, 111, -1 }, - { "cuf", STRING, 112, 156 }, - { "rin", STRING, 113, -1 }, - { "cuu", STRING, 114, -1 }, - { "pfkey", STRING, 115, 51 }, - { "pfloc", STRING, 116, -1 }, - { "pfx", STRING, 117, -1 }, - { "mc0", STRING, 118, -1 }, - { "mc4", STRING, 119, -1 }, - { "mc5", STRING, 120, -1 }, - { "rep", STRING, 121, -1 }, - { "rs1", STRING, 122, -1 }, - { "rs2", STRING, 123, -1 }, - { "rs3", STRING, 124, 126 }, - { "rf", STRING, 125, -1 }, - { "rc", STRING, 126, -1 }, - { "vpa", STRING, 127, -1 }, - { "sc", STRING, 128, -1 }, - { "ind", STRING, 129, -1 }, - { "ri", STRING, 130, -1 }, - { "sgr", STRING, 131, -1 }, - { "hts", STRING, 132, -1 }, - { "wind", STRING, 133, -1 }, - { "ht", STRING, 134, -1 }, - { "tsl", STRING, 135, -1 }, - { "uc", STRING, 136, 23 }, - { "hu", STRING, 137, -1 }, - { "iprog", STRING, 138, -1 }, - { "ka1", STRING, 139, -1 }, - { "ka3", STRING, 140, -1 }, - { "kb2", STRING, 141, 210 }, - { "kc1", STRING, 142, 211 }, - { "kc3", STRING, 143, 135 }, - { "mc5p", STRING, 144, -1 }, - { "rmp", STRING, 145, -1 }, - { "acsc", STRING, 146, 176 }, - { "pln", STRING, 147, -1 }, - { "kcbt", STRING, 148, 194 }, - { "smxon", STRING, 149, -1 }, - { "rmxon", STRING, 150, -1 }, - { "smam", STRING, 151, 137 }, - { "rmam", STRING, 152, -1 }, - { "xonc", STRING, 153, -1 }, - { "xoffc", STRING, 154, -1 }, - { "enacs", STRING, 155, -1 }, - { "smln", STRING, 156, -1 }, - { "rmln", STRING, 157, -1 }, - { "kbeg", STRING, 158, -1 }, - { "kcan", STRING, 159, -1 }, - { "kclo", STRING, 160, -1 }, - { "kcmd", STRING, 161, -1 }, - { "kcpy", STRING, 162, -1 }, - { "kcrt", STRING, 163, 54 }, - { "kend", STRING, 164, 192 }, - { "kent", STRING, 165, -1 }, - { "kext", STRING, 166, -1 }, - { "kfnd", STRING, 167, 193 }, - { "khlp", STRING, 168, -1 }, - { "kmrk", STRING, 169, 70 }, - { "kmsg", STRING, 170, 235 }, - { "kmov", STRING, 171, -1 }, - { "knxt", STRING, 172, -1 }, - { "kopn", STRING, 173, 177 }, - { "kopt", STRING, 174, -1 }, - { "kprv", STRING, 175, -1 }, - { "kprt", STRING, 176, -1 }, - { "krdo", STRING, 177, -1 }, - { "kref", STRING, 178, -1 }, - { "krfr", STRING, 179, 239 }, - { "krpl", STRING, 180, 219 }, - { "krst", STRING, 181, 80 }, - { "kres", STRING, 182, 249 }, - { "ksav", STRING, 183, 252 }, - { "kspd", STRING, 184, 240 }, - { "kund", STRING, 185, 254 }, - { "kBEG", STRING, 186, -1 }, - { "kCAN", STRING, 187, -1 }, - { "kCMD", STRING, 188, 101 }, - { "kCPY", STRING, 189, -1 }, - { "kCRT", STRING, 190, -1 }, - { "kDC", STRING, 191, -1 }, - { "kDL", STRING, 192, -1 }, - { "kslt", STRING, 193, 244 }, - { "kEND", STRING, 194, -1 }, - { "kEOL", STRING, 195, 152 }, - { "kEXT", STRING, 196, -1 }, - { "kFND", STRING, 197, 150 }, - { "kHLP", STRING, 198, -1 }, - { "kHOM", STRING, 199, 268 }, - { "kIC", STRING, 200, -1 }, - { "kLFT", STRING, 201, 72 }, - { "kMSG", STRING, 202, -1 }, - { "kMOV", STRING, 203, -1 }, - { "kNXT", STRING, 204, -1 }, - { "kOPT", STRING, 205, -1 }, - { "kPRV", STRING, 206, -1 }, - { "kPRT", STRING, 207, 196 }, - { "kRDO", STRING, 208, -1 }, - { "kRPL", STRING, 209, -1 }, - { "kRIT", STRING, 210, -1 }, - { "kRES", STRING, 211, -1 }, - { "kSAV", STRING, 212, 281 }, - { "kSPD", STRING, 213, 272 }, - { "kUND", STRING, 214, 283 }, - { "rfi", STRING, 215, -1 }, - { "kf11", STRING, 216, -1 }, - { "kf12", STRING, 217, 134 }, - { "kf13", STRING, 218, -1 }, - { "kf14", STRING, 219, -1 }, - { "kf15", STRING, 220, -1 }, - { "kf16", STRING, 221, 43 }, - { "kf17", STRING, 222, 256 }, - { "kf18", STRING, 223, -1 }, - { "kf19", STRING, 224, -1 }, - { "kf20", STRING, 225, 286 }, - { "kf21", STRING, 226, 287 }, - { "kf22", STRING, 227, 288 }, - { "kf23", STRING, 228, 289 }, - { "kf24", STRING, 229, 290 }, - { "kf25", STRING, 230, 291 }, - { "kf26", STRING, 231, 292 }, - { "kf27", STRING, 232, 293 }, - { "kf28", STRING, 233, 294 }, - { "kf29", STRING, 234, 133 }, - { "kf30", STRING, 235, 296 }, - { "kf31", STRING, 236, 297 }, - { "kf32", STRING, 237, 298 }, - { "kf33", STRING, 238, 299 }, - { "kf34", STRING, 239, 300 }, - { "kf35", STRING, 240, 301 }, - { "kf36", STRING, 241, 302 }, - { "kf37", STRING, 242, 303 }, - { "kf38", STRING, 243, 304 }, - { "kf39", STRING, 244, 257 }, - { "kf40", STRING, 245, 306 }, - { "kf41", STRING, 246, 307 }, - { "kf42", STRING, 247, 308 }, - { "kf43", STRING, 248, 309 }, - { "kf44", STRING, 249, 310 }, - { "kf45", STRING, 250, 311 }, - { "kf46", STRING, 251, 312 }, - { "kf47", STRING, 252, 313 }, - { "kf48", STRING, 253, 314 }, - { "kf49", STRING, 254, 226 }, - { "kf50", STRING, 255, 316 }, - { "kf51", STRING, 256, 317 }, - { "kf52", STRING, 257, 318 }, - { "kf53", STRING, 258, 319 }, - { "kf54", STRING, 259, 320 }, - { "kf55", STRING, 260, 321 }, - { "kf56", STRING, 261, 322 }, - { "kf57", STRING, 262, 323 }, - { "kf58", STRING, 263, 324 }, - { "kf59", STRING, 264, 258 }, - { "kf60", STRING, 265, 326 }, - { "kf61", STRING, 266, 327 }, - { "kf62", STRING, 267, 328 }, - { "kf63", STRING, 268, 329 }, - { "el1", STRING, 269, -1 }, - { "mgc", STRING, 270, -1 }, - { "smgl", STRING, 271, 335 }, - { "smgr", STRING, 272, 332 }, - { "fln", STRING, 273, -1 }, - { "sclk", STRING, 274, -1 }, - { "dclk", STRING, 275, -1 }, - { "rmclk", STRING, 276, -1 }, - { "cwin", STRING, 277, 37 }, - { "wingo", STRING, 278, -1 }, - { "hup", STRING, 279, -1 }, - { "dial", STRING, 280, -1 }, - { "qdial", STRING, 281, -1 }, - { "tone", STRING, 282, -1 }, - { "pulse", STRING, 283, -1 }, - { "hook", STRING, 284, -1 }, - { "pause", STRING, 285, 8 }, - { "wait", STRING, 286, 262 }, - { "u0", STRING, 287, -1 }, - { "u1", STRING, 288, -1 }, - { "u2", STRING, 289, -1 }, - { "u3", STRING, 290, -1 }, - { "u4", STRING, 291, -1 }, - { "u5", STRING, 292, -1 }, - { "u6", STRING, 293, -1 }, - { "u7", STRING, 294, -1 }, - { "u8", STRING, 295, -1 }, - { "u9", STRING, 296, -1 }, - { "op", STRING, 297, -1 }, - { "oc", STRING, 298, -1 }, - { "initc", STRING, 299, -1 }, - { "initp", STRING, 300, -1 }, - { "scp", STRING, 301, -1 }, - { "setf", STRING, 302, 325 }, - { "setb", STRING, 303, 221 }, - { "cpi", STRING, 304, 243 }, - { "lpi", STRING, 305, -1 }, - { "chr", STRING, 306, 250 }, - { "cvr", STRING, 307, -1 }, - { "defc", STRING, 308, 141 }, - { "swidm", STRING, 309, 248 }, - { "sdrfq", STRING, 310, 218 }, - { "sitm", STRING, 311, -1 }, - { "slm", STRING, 312, 201 }, - { "smicm", STRING, 313, 229 }, - { "snlq", STRING, 314, 264 }, - { "snrmq", STRING, 315, 253 }, - { "sshm", STRING, 316, 334 }, - { "ssubm", STRING, 317, -1 }, - { "ssupm", STRING, 318, 236 }, - { "sum", STRING, 319, 185 }, - { "rwidm", STRING, 320, -1 }, - { "ritm", STRING, 321, -1 }, - { "rlm", STRING, 322, -1 }, - { "rmicm", STRING, 323, -1 }, - { "rshm", STRING, 324, 112 }, - { "rsubm", STRING, 325, -1 }, - { "rsupm", STRING, 326, -1 }, - { "rum", STRING, 327, -1 }, - { "mhpa", STRING, 328, -1 }, - { "mcud1", STRING, 329, -1 }, - { "mcub1", STRING, 330, -1 }, - { "mcuf1", STRING, 331, 53 }, - { "mvpa", STRING, 332, -1 }, - { "mcuu1", STRING, 333, 47 }, - { "porder", STRING, 334, 155 }, - { "mcud", STRING, 335, -1 }, - { "mcub", STRING, 336, -1 }, - { "mcuf", STRING, 337, -1 }, - { "mcuu", STRING, 338, -1 }, - { "scs", STRING, 339, -1 }, - { "smgb", STRING, 340, -1 }, - { "smgbp", STRING, 341, 383 }, - { "smglp", STRING, 342, -1 }, - { "smgrp", STRING, 343, -1 }, - { "smgt", STRING, 344, 386 }, - { "smgtp", STRING, 345, 238 }, - { "sbim", STRING, 346, -1 }, - { "scsd", STRING, 347, 344 }, - { "rbim", STRING, 348, 31 }, - { "rcsd", STRING, 349, -1 }, - { "subcs", STRING, 350, 380 }, - { "supcs", STRING, 351, 255 }, - { "docr", STRING, 352, -1 }, - { "zerom", STRING, 353, -1 }, - { "csnm", STRING, 354, 347 }, - { "kmous", STRING, 355, -1 }, - { "minfo", STRING, 356, -1 }, - { "reqmp", STRING, 357, -1 }, - { "getm", STRING, 358, 87 }, - { "setaf", STRING, 359, -1 }, - { "setab", STRING, 360, -1 }, - { "pfxl", STRING, 361, -1 }, - { "devt", STRING, 362, -1 }, - { "csin", STRING, 363, -1 }, - { "s0ds", STRING, 364, -1 }, - { "s1ds", STRING, 365, 212 }, - { "s2ds", STRING, 366, 109 }, - { "s3ds", STRING, 367, 213 }, - { "smglr", STRING, 368, 230 }, - { "smgtb", STRING, 369, -1 }, - { "birep", STRING, 370, -1 }, - { "binel", STRING, 371, -1 }, - { "bicr", STRING, 372, -1 }, - { "colornm", STRING, 373, -1 }, - { "defbi", STRING, 374, -1 }, - { "endbi", STRING, 375, -1 }, - { "setcolor", STRING, 376, -1 }, - { "slines", STRING, 377, 116 }, - { "dispc", STRING, 378, -1 }, - { "smpch", STRING, 379, 231 }, - { "rmpch", STRING, 380, -1 }, - { "smsc", STRING, 381, 338 }, - { "rmsc", STRING, 382, -1 }, - { "pctrm", STRING, 383, -1 }, - { "scesc", STRING, 384, 197 }, - { "scesa", STRING, 385, 430 }, - { "ehhlm", STRING, 386, -1 }, - { "elhlm", STRING, 387, -1 }, - { "elohlm", STRING, 388, -1 }, - { "erhlm", STRING, 389, -1 }, - { "ethlm", STRING, 390, -1 }, - { "evhlm", STRING, 391, -1 }, - { "sgr1", STRING, 392, 437 }, - { "slength", STRING, 393, -1 }, - { "OTi2", STRING, 394, -1 }, - { "OTrs", STRING, 395, -1 }, - { "OTug", NUMBER, 33, -1 }, - { "OTbs", BOOLEAN, 37, -1 }, - { "OTns", BOOLEAN, 38, -1 }, - { "OTnc", BOOLEAN, 39, -1 }, - { "OTdC", NUMBER, 34, -1 }, - { "OTdN", NUMBER, 35, -1 }, - { "OTnl", STRING, 396, -1 }, - { "OTbc", STRING, 397, 13 }, - { "OTMT", BOOLEAN, 40, -1 }, - { "OTNL", BOOLEAN, 41, 446 }, - { "OTdB", NUMBER, 36, -1 }, - { "OTdT", NUMBER, 37, -1 }, - { "OTkn", NUMBER, 38, -1 }, - { "OTko", STRING, 398, 472 }, - { "OTma", STRING, 399, -1 }, - { "OTpt", BOOLEAN, 42, -1 }, - { "OTxr", BOOLEAN, 43, -1 }, - { "OTG2", STRING, 400, -1 }, - { "OTG3", STRING, 401, -1 }, - { "OTG1", STRING, 402, -1 }, - { "OTG4", STRING, 403, -1 }, - { "OTGR", STRING, 404, -1 }, - { "OTGL", STRING, 405, -1 }, - { "OTGU", STRING, 406, -1 }, - { "OTGD", STRING, 407, -1 }, - { "OTGH", STRING, 408, 26 }, - { "OTGV", STRING, 409, 60 }, - { "OTGC", STRING, 410, 121 }, - { "meml", STRING, 411, 407 }, - { "memu", STRING, 412, 402 }, - { "box1", STRING, 413, -1 } -}; - -const struct name_table_entry * const _nc_info_hash_table[995] = -{ - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 465, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 261, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 457, - 0, - 0, - _nc_info_table + 265, - _nc_info_table + 216, - _nc_info_table + 120, - 0, - 0, - 0, - _nc_info_table + 180, - 0, - 0, - _nc_info_table + 88, - 0, - _nc_info_table + 420, - 0, - _nc_info_table + 398, - 0, - _nc_info_table + 348, - 0, - 0, - _nc_info_table + 19, - 0, - 0, - 0, - _nc_info_table + 359, - 0, - _nc_info_table + 174, - 0, - _nc_info_table + 245, - 0, - _nc_info_table + 74, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 269, - 0, - _nc_info_table + 480, - 0, - 0, - 0, - _nc_info_table + 124, - 0, - 0, - 0, - _nc_info_table + 390, - _nc_info_table + 379, - _nc_info_table + 367, - 0, - 0, - _nc_info_table + 444, - 0, - 0, - 0, - _nc_info_table + 305, - 0, - 0, - _nc_info_table + 363, - 0, - 0, - _nc_info_table + 483, - _nc_info_table + 377, - 0, - 0, - 0, - 0, - _nc_info_table + 460, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 204, - _nc_info_table + 38, - 0, - _nc_info_table + 82, - 0, - _nc_info_table + 110, - _nc_info_table + 127, - 0, - 0, - _nc_info_table + 463, - 0, - 0, - 0, - 0, - _nc_info_table + 336, - 0, - _nc_info_table + 17, - _nc_info_table + 128, - _nc_info_table + 434, - 0, - _nc_info_table + 188, - _nc_info_table + 129, - 0, - _nc_info_table + 351, - 0, - 0, - _nc_info_table + 16, - 0, - 0, - _nc_info_table + 259, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 489, - 0, - _nc_info_table + 353, - 0, - _nc_info_table + 71, - _nc_info_table + 247, - 0, - 0, - 0, - 0, - _nc_info_table + 78, - 0, - 0, - _nc_info_table + 331, - 0, - 0, - _nc_info_table + 173, - _nc_info_table + 136, - _nc_info_table + 161, - _nc_info_table + 189, - 0, - 0, - 0, - 0, - _nc_info_table + 454, - 0, - 0, - 0, - 0, - _nc_info_table + 224, - _nc_info_table + 479, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 354, - 0, - 0, - _nc_info_table + 233, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 125, - _nc_info_table + 11, - 0, - 0, - _nc_info_table + 378, - _nc_info_table + 166, - 0, - _nc_info_table + 191, - 0, - 0, - _nc_info_table + 48, - _nc_info_table + 228, - 0, - _nc_info_table + 2, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 374, - 0, - _nc_info_table + 408, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 375, - 0, - _nc_info_table + 52, - _nc_info_table + 145, - _nc_info_table + 170, - 0, - _nc_info_table + 392, - _nc_info_table + 382, - 0, - _nc_info_table + 393, - _nc_info_table + 411, - 0, - 0, - 0, - _nc_info_table + 276, - 0, - 0, - _nc_info_table + 35, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 396, - _nc_info_table + 388, - _nc_info_table + 36, - 0, - 0, - _nc_info_table + 64, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 350, - 0, - 0, - _nc_info_table + 215, - _nc_info_table + 91, - 0, - 0, - _nc_info_table + 439, - 0, - _nc_info_table + 122, - 0, - _nc_info_table + 200, - 0, - _nc_info_table + 67, - 0, - _nc_info_table + 410, - 0, - 0, - _nc_info_table + 89, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 96, - _nc_info_table + 21, - 0, - _nc_info_table + 103, - _nc_info_table + 1, - 0, - 0, - _nc_info_table + 369, - 0, - 0, - _nc_info_table + 345, - 0, - 0, - 0, - _nc_info_table + 355, - _nc_info_table + 40, - 0, - _nc_info_table + 27, - 0, - _nc_info_table + 406, - 0, - 0, - 0, - _nc_info_table + 482, - _nc_info_table + 419, - _nc_info_table + 417, - 0, - 0, - _nc_info_table + 360, - _nc_info_table + 270, - 0, - 0, - _nc_info_table + 251, - 0, - 0, - 0, - 0, - _nc_info_table + 349, - 0, - 0, - _nc_info_table + 278, - 0, - _nc_info_table + 442, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 438, - 0, - _nc_info_table + 494, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 315, - 0, - _nc_info_table + 340, - _nc_info_table + 364, - _nc_info_table + 356, - 0, - _nc_info_table + 484, - 0, - 0, - 0, - 0, - _nc_info_table + 32, - 0, - 0, - 0, - _nc_info_table + 260, - 0, - 0, - 0, - 0, - _nc_info_table + 207, - _nc_info_table + 487, - _nc_info_table + 84, - _nc_info_table + 453, - 0, - 0, - _nc_info_table + 413, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 214, - 0, - _nc_info_table + 337, - _nc_info_table + 352, - _nc_info_table + 477, - 0, - _nc_info_table + 435, - _nc_info_table + 56, - 0, - 0, - _nc_info_table + 34, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 132, - 0, - _nc_info_table + 85, - _nc_info_table + 492, - _nc_info_table + 428, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 199, - 0, - _nc_info_table + 342, - 0, - 0, - 0, - _nc_info_table + 138, - _nc_info_table + 163, - _nc_info_table + 190, - _nc_info_table + 147, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 266, - 0, - 0, - _nc_info_table + 433, - 0, - 0, - _nc_info_table + 474, - 0, - 0, - 0, - 0, - _nc_info_table + 385, - _nc_info_table + 100, - 0, - 0, - 0, - _nc_info_table + 431, - 0, - _nc_info_table + 391, - _nc_info_table + 381, - _nc_info_table + 12, - _nc_info_table + 58, - 0, - _nc_info_table + 142, - _nc_info_table + 167, - 0, - 0, - _nc_info_table + 409, - 0, - 0, - 0, - 0, - _nc_info_table + 42, - _nc_info_table + 45, - _nc_info_table + 66, - 0, - 0, - _nc_info_table + 424, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 220, - _nc_info_table + 376, - 0, - 0, - _nc_info_table + 343, - 0, - 0, - 0, - _nc_info_table + 114, - _nc_info_table + 106, - 0, - 0, - _nc_info_table + 447, - 0, - _nc_info_table + 217, - _nc_info_table + 493, - _nc_info_table + 171, - _nc_info_table + 172, - _nc_info_table + 399, - _nc_info_table + 346, - 0, - 0, - 0, - 0, - _nc_info_table + 195, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 496, - 0, - 0, - 0, - 0, - _nc_info_table + 241, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 151, - 0, - _nc_info_table + 118, - 0, - _nc_info_table + 62, - _nc_info_table + 187, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 234, - 0, - _nc_info_table + 443, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 357, - 0, - 0, - 0, - _nc_info_table + 246, - 0, - 0, - 0, - _nc_info_table + 448, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 39, - 0, - _nc_info_table + 10, - _nc_info_table + 397, - _nc_info_table + 389, - 0, - 0, - _nc_info_table + 154, - 0, - 0, - 0, - _nc_info_table + 130, - 0, - _nc_info_table + 22, - _nc_info_table + 222, - _nc_info_table + 373, - _nc_info_table + 162, - 0, - _nc_info_table + 361, - _nc_info_table + 203, - 0, - 0, - _nc_info_table + 242, - 0, - 0, - 0, - 0, - _nc_info_table + 459, - 0, - 0, - _nc_info_table + 271, - 0, - _nc_info_table + 97, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 427, - 0, - _nc_info_table + 175, - _nc_info_table + 107, - 0, - 0, - 0, - _nc_info_table + 178, - _nc_info_table + 423, - _nc_info_table + 372, - _nc_info_table + 69, - 0, - _nc_info_table + 365, - 0, - _nc_info_table + 4, - _nc_info_table + 486, - _nc_info_table + 184, - 0, - 0, - 0, - 0, - _nc_info_table + 461, - 0, - 0, - _nc_info_table + 282, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 475, - 0, - 0, - 0, - _nc_info_table + 395, - _nc_info_table + 387, - 0, - 0, - _nc_info_table + 79, - _nc_info_table + 63, - 0, - 0, - _nc_info_table + 452, - _nc_info_table + 451, - 0, - _nc_info_table + 50, - 0, - _nc_info_table + 436, - 0, - 0, - _nc_info_table + 285, - 0, - 0, - _nc_info_table + 83, - _nc_info_table + 455, - 0, - 0, - 0, - _nc_info_table + 279, - _nc_info_table + 370, - 0, - 0, - 0, - _nc_info_table + 18, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 421, - 0, - _nc_info_table + 495, - 0, - 0, - 0, - 0, - _nc_info_table + 227, - _nc_info_table + 333, - 0, - 0, - _nc_info_table + 25, - _nc_info_table + 139, - _nc_info_table + 164, - 0, - 0, - _nc_info_table + 371, - 0, - 0, - _nc_info_table + 429, - 0, - 0, - 0, - _nc_info_table + 273, - 0, - _nc_info_table + 466, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 181, - 0, - 0, - _nc_info_table + 75, - 0, - _nc_info_table + 92, - _nc_info_table + 339, - 0, - _nc_info_table + 384, - 0, - _nc_info_table + 123, - 0, - _nc_info_table + 143, - _nc_info_table + 168, - 0, - _nc_info_table + 183, - _nc_info_table + 186, - 0, - _nc_info_table + 108, - _nc_info_table + 95, - _nc_info_table + 368, - 0, - 0, - _nc_info_table + 277, - _nc_info_table + 198, - 0, - _nc_info_table + 206, - _nc_info_table + 432, - 0, - _nc_info_table + 476, - 0, - _nc_info_table + 458, - 0, - 0, - _nc_info_table + 182, - 0, - _nc_info_table + 441, - 0, - 0, - 0, - _nc_info_table + 115, - _nc_info_table + 113, - _nc_info_table + 404, - 0, - _nc_info_table + 473, - 0, - 0, - 0, - _nc_info_table + 490, - _nc_info_table + 104, - 0, - 0, - _nc_info_table + 450, - _nc_info_table + 449, - 0, - 0, - 0, - _nc_info_table + 274, - 0, - _nc_info_table + 481, - _nc_info_table + 111, - _nc_info_table + 99, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 263, - _nc_info_table + 93, - 0, - _nc_info_table + 117, - 0, - _nc_info_table + 29, - 0, - 0, - 0, - 0, - _nc_info_table + 119, - 0, - 0, - _nc_info_table + 426, - _nc_info_table + 491, - 0, - 0, - _nc_info_table + 205, - 0, - _nc_info_table + 237, - _nc_info_table + 44, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 418, - _nc_info_table + 416, - 0, - 0, - _nc_info_table + 358, - 0, - 0, - 0, - _nc_info_table + 65, - 0, - _nc_info_table + 440, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 5, - 0, - 0, - 0, - _nc_info_table + 488, - 0, - 0, - 0, - _nc_info_table + 28, - _nc_info_table + 412, - 0, - _nc_info_table + 405, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 295, - 0, - _nc_info_table + 471, - _nc_info_table + 362, - 0, - 0, - _nc_info_table + 485, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 202, - 0, - 0, - _nc_info_table + 284, - 0, - _nc_info_table + 469, - 0, - 0, - _nc_info_table + 9, - _nc_info_table + 24, - 0, - 0, - _nc_info_table + 179, - 0, - 0, - _nc_info_table + 15, - 0, - 0, - _nc_info_table + 148, - 0, - 0, - 0, - _nc_info_table + 341, - 0, - 0, - _nc_info_table + 366, - _nc_info_table + 209, - _nc_info_table + 223, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 0, - 0, - _nc_info_table + 208, - _nc_info_table + 467, - 0, - _nc_info_table + 422, - 0, - _nc_info_table + 464, - _nc_info_table + 157, - 0, - _nc_info_table + 403, - 0, - _nc_info_table + 415, - 0, - 0, - 0, - 0, - _nc_info_table + 445, - 0, - 0, - _nc_info_table + 330, - 0, - 0, - 0, - _nc_info_table + 462, - _nc_info_table + 160, - 0, - 0, - 0, - 0, - _nc_info_table + 86, - 0, - 0, - _nc_info_table + 41, - 0, - _nc_info_table + 280, - 0, - _nc_info_table + 478, - 0, - 0, - _nc_info_table + 57, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 394, - _nc_info_table + 414, - 0, - 0, - 0, - _nc_info_table + 140, - _nc_info_table + 165, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 275, - _nc_info_table + 102, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 232, - 0, - _nc_info_table + 14, - 0, - 0, - _nc_info_table + 225, - 0, - 0, - _nc_info_table + 267, - 0, - _nc_info_table + 77, - 0, - _nc_info_table + 144, - _nc_info_table + 169, - 0, - _nc_info_table + 149, - 0, - _nc_info_table + 400, - 0, - 0, - 0, - _nc_info_table + 3, - 0, - 0, - 0, - _nc_info_table + 468, - _nc_info_table + 425, - 0, - 0, - _nc_info_table + 470, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_info_table + 456, - 0, - _nc_info_table + 158, - _nc_info_table + 159, - 0, - 0, - _nc_info_table + 146, - _nc_info_table + 49, - 0, - 0, - _nc_info_table + 153, - 0, - _nc_info_table + 401, - _nc_info_table + 90, - _nc_info_table /* base-of-table */ -}; - -#if (BOOLCOUNT!=44)||(NUMCOUNT!=39)||(STRCOUNT!=414) -#error --> term.h and comp_captab.c disagree about the <-- -#error --> numbers of booleans, numbers and/or strings <-- -#endif - -static struct name_table_entry const _nc_cap_table[] = -{ - { "bw", BOOLEAN, 0, -1 }, - { "am", BOOLEAN, 1, -1 }, - { "xb", BOOLEAN, 2, -1 }, - { "xs", BOOLEAN, 3, -1 }, - { "xn", BOOLEAN, 4, -1 }, - { "eo", BOOLEAN, 5, -1 }, - { "gn", BOOLEAN, 6, -1 }, - { "hc", BOOLEAN, 7, -1 }, - { "km", BOOLEAN, 8, -1 }, - { "hs", BOOLEAN, 9, -1 }, - { "in", BOOLEAN, 10, -1 }, - { "da", BOOLEAN, 11, -1 }, - { "db", BOOLEAN, 12, -1 }, - { "mi", BOOLEAN, 13, -1 }, - { "ms", BOOLEAN, 14, -1 }, - { "os", BOOLEAN, 15, -1 }, - { "es", BOOLEAN, 16, -1 }, - { "xt", BOOLEAN, 17, -1 }, - { "hz", BOOLEAN, 18, -1 }, - { "ul", BOOLEAN, 19, -1 }, - { "xo", BOOLEAN, 20, -1 }, - { "nx", BOOLEAN, 21, -1 }, - { "5i", BOOLEAN, 22, -1 }, - { "HC", BOOLEAN, 23, -1 }, - { "NR", BOOLEAN, 24, 1 }, - { "NP", BOOLEAN, 25, -1 }, - { "ND", BOOLEAN, 26, -1 }, - { "cc", BOOLEAN, 27, -1 }, - { "ut", BOOLEAN, 28, -1 }, - { "hl", BOOLEAN, 29, -1 }, - { "YA", BOOLEAN, 30, -1 }, - { "YB", BOOLEAN, 31, -1 }, - { "YC", BOOLEAN, 32, -1 }, - { "YD", BOOLEAN, 33, -1 }, - { "YE", BOOLEAN, 34, -1 }, - { "YF", BOOLEAN, 35, -1 }, - { "YG", BOOLEAN, 36, -1 }, - { "co", NUMBER, 0, -1 }, - { "it", NUMBER, 1, -1 }, - { "li", NUMBER, 2, -1 }, - { "lm", NUMBER, 3, -1 }, - { "sg", NUMBER, 4, -1 }, - { "pb", NUMBER, 5, -1 }, - { "vt", NUMBER, 6, -1 }, - { "ws", NUMBER, 7, -1 }, - { "Nl", NUMBER, 8, -1 }, - { "lh", NUMBER, 9, -1 }, - { "lw", NUMBER, 10, -1 }, - { "ma", NUMBER, 11, -1 }, - { "MW", NUMBER, 12, -1 }, - { "Co", NUMBER, 13, -1 }, - { "pa", NUMBER, 14, -1 }, - { "NC", NUMBER, 15, -1 }, - { "Ya", NUMBER, 16, -1 }, - { "Yb", NUMBER, 17, -1 }, - { "Yc", NUMBER, 18, -1 }, - { "Yd", NUMBER, 19, -1 }, - { "Ye", NUMBER, 20, -1 }, - { "Yf", NUMBER, 21, -1 }, - { "Yg", NUMBER, 22, -1 }, - { "Yh", NUMBER, 23, -1 }, - { "Yi", NUMBER, 24, -1 }, - { "Yj", NUMBER, 25, -1 }, - { "Yk", NUMBER, 26, -1 }, - { "Yl", NUMBER, 27, -1 }, - { "Ym", NUMBER, 28, -1 }, - { "Yn", NUMBER, 29, -1 }, - { "BT", NUMBER, 30, -1 }, - { "Yo", NUMBER, 31, -1 }, - { "Yp", NUMBER, 32, -1 }, - { "bt", STRING, 0, -1 }, - { "bl", STRING, 1, -1 }, - { "cr", STRING, 2, -1 }, - { "cs", STRING, 3, -1 }, - { "ct", STRING, 4, -1 }, - { "cl", STRING, 5, -1 }, - { "ce", STRING, 6, -1 }, - { "cd", STRING, 7, -1 }, - { "ch", STRING, 8, -1 }, - { "CC", STRING, 9, -1 }, - { "cm", STRING, 10, -1 }, - { "do", STRING, 11, -1 }, - { "ho", STRING, 12, -1 }, - { "vi", STRING, 13, -1 }, - { "le", STRING, 14, -1 }, - { "CM", STRING, 15, -1 }, - { "ve", STRING, 16, -1 }, - { "nd", STRING, 17, -1 }, - { "ll", STRING, 18, -1 }, - { "up", STRING, 19, -1 }, - { "vs", STRING, 20, -1 }, - { "dc", STRING, 21, -1 }, - { "dl", STRING, 22, -1 }, - { "ds", STRING, 23, -1 }, - { "hd", STRING, 24, -1 }, - { "as", STRING, 25, -1 }, - { "mb", STRING, 26, -1 }, - { "md", STRING, 27, -1 }, - { "ti", STRING, 28, -1 }, - { "dm", STRING, 29, -1 }, - { "mh", STRING, 30, -1 }, - { "im", STRING, 31, -1 }, - { "mk", STRING, 32, -1 }, - { "mp", STRING, 33, -1 }, - { "mr", STRING, 34, -1 }, - { "so", STRING, 35, -1 }, - { "us", STRING, 36, -1 }, - { "ec", STRING, 37, -1 }, - { "ae", STRING, 38, -1 }, - { "me", STRING, 39, -1 }, - { "te", STRING, 40, -1 }, - { "ed", STRING, 41, -1 }, - { "ei", STRING, 42, -1 }, - { "se", STRING, 43, -1 }, - { "ue", STRING, 44, -1 }, - { "vb", STRING, 45, -1 }, - { "ff", STRING, 46, -1 }, - { "fs", STRING, 47, -1 }, - { "i1", STRING, 48, 102 }, - { "is", STRING, 49, -1 }, - { "i3", STRING, 50, -1 }, - { "if", STRING, 51, -1 }, - { "ic", STRING, 52, -1 }, - { "al", STRING, 53, -1 }, - { "ip", STRING, 54, -1 }, - { "kb", STRING, 55, -1 }, - { "ka", STRING, 56, -1 }, - { "kC", STRING, 57, -1 }, - { "kt", STRING, 58, -1 }, - { "kD", STRING, 59, -1 }, - { "kL", STRING, 60, -1 }, - { "kd", STRING, 61, -1 }, - { "kM", STRING, 62, -1 }, - { "kE", STRING, 63, -1 }, - { "kS", STRING, 64, -1 }, - { "k0", STRING, 65, -1 }, - { "k1", STRING, 66, -1 }, - { "k;", STRING, 67, -1 }, - { "k2", STRING, 68, -1 }, - { "k3", STRING, 69, -1 }, - { "k4", STRING, 70, -1 }, - { "k5", STRING, 71, -1 }, - { "k6", STRING, 72, -1 }, - { "k7", STRING, 73, -1 }, - { "k8", STRING, 74, -1 }, - { "k9", STRING, 75, 15 }, - { "kh", STRING, 76, -1 }, - { "kI", STRING, 77, -1 }, - { "kA", STRING, 78, -1 }, - { "kl", STRING, 79, -1 }, - { "kH", STRING, 80, -1 }, - { "kN", STRING, 81, -1 }, - { "kP", STRING, 82, -1 }, - { "kr", STRING, 83, -1 }, - { "kF", STRING, 84, -1 }, - { "kR", STRING, 85, -1 }, - { "kT", STRING, 86, -1 }, - { "ku", STRING, 87, -1 }, - { "ke", STRING, 88, -1 }, - { "ks", STRING, 89, -1 }, - { "l0", STRING, 90, -1 }, - { "l1", STRING, 91, -1 }, - { "la", STRING, 92, 35 }, - { "l2", STRING, 93, -1 }, - { "l3", STRING, 94, -1 }, - { "l4", STRING, 95, -1 }, - { "l5", STRING, 96, -1 }, - { "l6", STRING, 97, -1 }, - { "l7", STRING, 98, -1 }, - { "l8", STRING, 99, -1 }, - { "l9", STRING, 100, -1 }, - { "mo", STRING, 101, -1 }, - { "mm", STRING, 102, 120 }, - { "nw", STRING, 103, -1 }, - { "pc", STRING, 104, -1 }, - { "DC", STRING, 105, -1 }, - { "DL", STRING, 106, -1 }, - { "DO", STRING, 107, -1 }, - { "IC", STRING, 108, -1 }, - { "SF", STRING, 109, -1 }, - { "AL", STRING, 110, -1 }, - { "LE", STRING, 111, -1 }, - { "RI", STRING, 112, 111 }, - { "SR", STRING, 113, -1 }, - { "UP", STRING, 114, -1 }, - { "pk", STRING, 115, 161 }, - { "pl", STRING, 116, 163 }, - { "px", STRING, 117, -1 }, - { "ps", STRING, 118, 170 }, - { "pf", STRING, 119, -1 }, - { "po", STRING, 120, 166 }, - { "rp", STRING, 121, -1 }, - { "r1", STRING, 122, -1 }, - { "r2", STRING, 123, -1 }, - { "r3", STRING, 124, -1 }, - { "rf", STRING, 125, -1 }, - { "rc", STRING, 126, -1 }, - { "cv", STRING, 127, -1 }, - { "sc", STRING, 128, -1 }, - { "sf", STRING, 129, -1 }, - { "sr", STRING, 130, -1 }, - { "sa", STRING, 131, -1 }, - { "st", STRING, 132, -1 }, - { "wi", STRING, 133, -1 }, - { "ta", STRING, 134, -1 }, - { "ts", STRING, 135, -1 }, - { "uc", STRING, 136, -1 }, - { "hu", STRING, 137, -1 }, - { "iP", STRING, 138, -1 }, - { "K1", STRING, 139, -1 }, - { "K3", STRING, 140, -1 }, - { "K2", STRING, 141, -1 }, - { "K4", STRING, 142, -1 }, - { "K5", STRING, 143, -1 }, - { "pO", STRING, 144, -1 }, - { "rP", STRING, 145, 37 }, - { "ac", STRING, 146, -1 }, - { "pn", STRING, 147, 165 }, - { "kB", STRING, 148, -1 }, - { "SX", STRING, 149, 117 }, - { "RX", STRING, 150, 16 }, - { "SA", STRING, 151, -1 }, - { "RA", STRING, 152, -1 }, - { "XN", STRING, 153, -1 }, - { "XF", STRING, 154, 126 }, - { "eA", STRING, 155, -1 }, - { "LO", STRING, 156, -1 }, - { "LF", STRING, 157, -1 }, - { "@1", STRING, 158, -1 }, - { "@2", STRING, 159, -1 }, - { "@3", STRING, 160, -1 }, - { "@4", STRING, 161, -1 }, - { "@5", STRING, 162, -1 }, - { "@6", STRING, 163, -1 }, - { "@7", STRING, 164, 183 }, - { "@8", STRING, 165, -1 }, - { "@9", STRING, 166, -1 }, - { "@0", STRING, 167, 116 }, - { "%1", STRING, 168, -1 }, - { "%2", STRING, 169, 97 }, - { "%3", STRING, 170, 109 }, - { "%4", STRING, 171, -1 }, - { "%5", STRING, 172, -1 }, - { "%6", STRING, 173, 100 }, - { "%7", STRING, 174, 13 }, - { "%8", STRING, 175, -1 }, - { "%9", STRING, 176, 118 }, - { "%0", STRING, 177, 96 }, - { "&1", STRING, 178, -1 }, - { "&2", STRING, 179, 87 }, - { "&3", STRING, 180, -1 }, - { "&4", STRING, 181, -1 }, - { "&5", STRING, 182, -1 }, - { "&6", STRING, 183, -1 }, - { "&7", STRING, 184, -1 }, - { "&8", STRING, 185, -1 }, - { "&9", STRING, 186, -1 }, - { "&0", STRING, 187, -1 }, - { "*1", STRING, 188, 196 }, - { "*2", STRING, 189, -1 }, - { "*3", STRING, 190, -1 }, - { "*4", STRING, 191, 195 }, - { "*5", STRING, 192, -1 }, - { "*6", STRING, 193, -1 }, - { "*7", STRING, 194, -1 }, - { "*8", STRING, 195, -1 }, - { "*9", STRING, 196, -1 }, - { "*0", STRING, 197, -1 }, - { "#1", STRING, 198, -1 }, - { "#2", STRING, 199, 131 }, - { "#3", STRING, 200, 158 }, - { "#4", STRING, 201, -1 }, - { "%a", STRING, 202, -1 }, - { "%b", STRING, 203, -1 }, - { "%c", STRING, 204, -1 }, - { "%d", STRING, 205, -1 }, - { "%e", STRING, 206, -1 }, - { "%f", STRING, 207, -1 }, - { "%g", STRING, 208, -1 }, - { "%h", STRING, 209, -1 }, - { "%i", STRING, 210, -1 }, - { "%j", STRING, 211, -1 }, - { "!1", STRING, 212, 122 }, - { "!2", STRING, 213, -1 }, - { "!3", STRING, 214, -1 }, - { "RF", STRING, 215, -1 }, - { "F1", STRING, 216, -1 }, - { "F2", STRING, 217, 46 }, - { "F3", STRING, 218, 39 }, - { "F4", STRING, 219, -1 }, - { "F5", STRING, 220, -1 }, - { "F6", STRING, 221, 88 }, - { "F7", STRING, 222, 40 }, - { "F8", STRING, 223, -1 }, - { "F9", STRING, 224, -1 }, - { "FA", STRING, 225, 47 }, - { "FB", STRING, 226, -1 }, - { "FC", STRING, 227, -1 }, - { "FD", STRING, 228, -1 }, - { "FE", STRING, 229, -1 }, - { "FF", STRING, 230, 53 }, - { "FG", STRING, 231, 54 }, - { "FH", STRING, 232, 55 }, - { "FI", STRING, 233, 56 }, - { "FJ", STRING, 234, 57 }, - { "FK", STRING, 235, 58 }, - { "FL", STRING, 236, 59 }, - { "FM", STRING, 237, 60 }, - { "FN", STRING, 238, 61 }, - { "FO", STRING, 239, 62 }, - { "FP", STRING, 240, 63 }, - { "FQ", STRING, 241, 64 }, - { "FR", STRING, 242, 65 }, - { "FS", STRING, 243, 66 }, - { "FT", STRING, 244, 68 }, - { "FU", STRING, 245, 69 }, - { "FV", STRING, 246, -1 }, - { "FW", STRING, 247, -1 }, - { "FX", STRING, 248, -1 }, - { "FY", STRING, 249, -1 }, - { "FZ", STRING, 250, -1 }, - { "Fa", STRING, 251, -1 }, - { "Fb", STRING, 252, -1 }, - { "Fc", STRING, 253, -1 }, - { "Fd", STRING, 254, -1 }, - { "Fe", STRING, 255, -1 }, - { "Ff", STRING, 256, -1 }, - { "Fg", STRING, 257, 7 }, - { "Fh", STRING, 258, 94 }, - { "Fi", STRING, 259, -1 }, - { "Fj", STRING, 260, -1 }, - { "Fk", STRING, 261, -1 }, - { "Fl", STRING, 262, -1 }, - { "Fm", STRING, 263, -1 }, - { "Fn", STRING, 264, -1 }, - { "Fo", STRING, 265, 184 }, - { "Fp", STRING, 266, 29 }, - { "Fq", STRING, 267, -1 }, - { "Fr", STRING, 268, -1 }, - { "cb", STRING, 269, -1 }, - { "MC", STRING, 270, -1 }, - { "ML", STRING, 271, -1 }, - { "MR", STRING, 272, -1 }, - { "Lf", STRING, 273, 257 }, - { "SC", STRING, 274, -1 }, - { "DK", STRING, 275, -1 }, - { "RC", STRING, 276, -1 }, - { "CW", STRING, 277, 4 }, - { "WG", STRING, 278, -1 }, - { "HU", STRING, 279, -1 }, - { "DI", STRING, 280, -1 }, - { "QD", STRING, 281, -1 }, - { "TO", STRING, 282, -1 }, - { "PU", STRING, 283, -1 }, - { "fh", STRING, 284, 229 }, - { "PA", STRING, 285, -1 }, - { "WA", STRING, 286, -1 }, - { "u0", STRING, 287, -1 }, - { "u1", STRING, 288, -1 }, - { "u2", STRING, 289, -1 }, - { "u3", STRING, 290, -1 }, - { "u4", STRING, 291, -1 }, - { "u5", STRING, 292, -1 }, - { "u6", STRING, 293, -1 }, - { "u7", STRING, 294, -1 }, - { "u8", STRING, 295, -1 }, - { "u9", STRING, 296, -1 }, - { "op", STRING, 297, 142 }, - { "oc", STRING, 298, -1 }, - { "Ic", STRING, 299, -1 }, - { "Ip", STRING, 300, 149 }, - { "sp", STRING, 301, -1 }, - { "Sf", STRING, 302, -1 }, - { "Sb", STRING, 303, -1 }, - { "ZA", STRING, 304, -1 }, - { "ZB", STRING, 305, -1 }, - { "ZC", STRING, 306, -1 }, - { "ZD", STRING, 307, -1 }, - { "ZE", STRING, 308, -1 }, - { "ZF", STRING, 309, 48 }, - { "ZG", STRING, 310, 247 }, - { "ZH", STRING, 311, 238 }, - { "ZI", STRING, 312, 239 }, - { "ZJ", STRING, 313, 240 }, - { "ZK", STRING, 314, 241 }, - { "ZL", STRING, 315, 242 }, - { "ZM", STRING, 316, 243 }, - { "ZN", STRING, 317, 244 }, - { "ZO", STRING, 318, 245 }, - { "ZP", STRING, 319, 246 }, - { "ZQ", STRING, 320, -1 }, - { "ZR", STRING, 321, 172 }, - { "ZS", STRING, 322, -1 }, - { "ZT", STRING, 323, 171 }, - { "ZU", STRING, 324, 103 }, - { "ZV", STRING, 325, -1 }, - { "ZW", STRING, 326, 104 }, - { "ZX", STRING, 327, 14 }, - { "ZY", STRING, 328, -1 }, - { "ZZ", STRING, 329, -1 }, - { "Za", STRING, 330, -1 }, - { "Zb", STRING, 331, -1 }, - { "Zc", STRING, 332, -1 }, - { "Zd", STRING, 333, -1 }, - { "Ze", STRING, 334, -1 }, - { "Zf", STRING, 335, -1 }, - { "Zg", STRING, 336, -1 }, - { "Zh", STRING, 337, -1 }, - { "Zi", STRING, 338, -1 }, - { "Zj", STRING, 339, -1 }, - { "Zk", STRING, 340, -1 }, - { "Zl", STRING, 341, -1 }, - { "Zm", STRING, 342, -1 }, - { "Zn", STRING, 343, -1 }, - { "Zo", STRING, 344, 208 }, - { "Zp", STRING, 345, -1 }, - { "Zq", STRING, 346, -1 }, - { "Zr", STRING, 347, -1 }, - { "Zs", STRING, 348, -1 }, - { "Zt", STRING, 349, -1 }, - { "Zu", STRING, 350, -1 }, - { "Zv", STRING, 351, -1 }, - { "Zw", STRING, 352, -1 }, - { "Zx", STRING, 353, 272 }, - { "Zy", STRING, 354, 273 }, - { "Km", STRING, 355, 387 }, - { "Mi", STRING, 356, -1 }, - { "RQ", STRING, 357, -1 }, - { "Gm", STRING, 358, -1 }, - { "AF", STRING, 359, -1 }, - { "AB", STRING, 360, -1 }, - { "xl", STRING, 361, -1 }, - { "dv", STRING, 362, -1 }, - { "ci", STRING, 363, -1 }, - { "s0", STRING, 364, -1 }, - { "s1", STRING, 365, 67 }, - { "s2", STRING, 366, -1 }, - { "s3", STRING, 367, -1 }, - { "ML", STRING, 368, 341 }, - { "MT", STRING, 369, -1 }, - { "Xy", STRING, 370, -1 }, - { "Zz", STRING, 371, 274 }, - { "Yv", STRING, 372, -1 }, - { "Yw", STRING, 373, -1 }, - { "Yx", STRING, 374, -1 }, - { "Yy", STRING, 375, -1 }, - { "Yz", STRING, 376, -1 }, - { "YZ", STRING, 377, -1 }, - { "S1", STRING, 378, -1 }, - { "S2", STRING, 379, -1 }, - { "S3", STRING, 380, -1 }, - { "S4", STRING, 381, 357 }, - { "S5", STRING, 382, 358 }, - { "S6", STRING, 383, 359 }, - { "S7", STRING, 384, 360 }, - { "S8", STRING, 385, 361 }, - { "Xh", STRING, 386, -1 }, - { "Xl", STRING, 387, -1 }, - { "Xo", STRING, 388, -1 }, - { "Xr", STRING, 389, -1 }, - { "Xt", STRING, 390, -1 }, - { "Xv", STRING, 391, -1 }, - { "sA", STRING, 392, -1 }, - { "sL", STRING, 393, -1 }, - { "i2", STRING, 394, 390 }, - { "rs", STRING, 395, -1 }, - { "ug", NUMBER, 33, -1 }, - { "bs", BOOLEAN, 37, -1 }, - { "ns", BOOLEAN, 38, -1 }, - { "nc", BOOLEAN, 39, 248 }, - { "dC", NUMBER, 34, -1 }, - { "dN", NUMBER, 35, 203 }, - { "nl", STRING, 396, -1 }, - { "bc", STRING, 397, -1 }, - { "MT", BOOLEAN, 40, 439 }, - { "NL", BOOLEAN, 41, -1 }, - { "dB", NUMBER, 36, -1 }, - { "dT", NUMBER, 37, -1 }, - { "kn", NUMBER, 38, -1 }, - { "ko", STRING, 398, -1 }, - { "ma", STRING, 399, 379 }, - { "pt", BOOLEAN, 42, -1 }, - { "xr", BOOLEAN, 43, -1 }, - { "G2", STRING, 400, 386 }, - { "G3", STRING, 401, 425 }, - { "G1", STRING, 402, 385 }, - { "G4", STRING, 403, 388 }, - { "GR", STRING, 404, 412 }, - { "GL", STRING, 405, 406 }, - { "GU", STRING, 406, 415 }, - { "GD", STRING, 407, -1 }, - { "GH", STRING, 408, 402 }, - { "GV", STRING, 409, 416 }, - { "GC", STRING, 410, -1 }, - { "ml", STRING, 411, 464 }, - { "mu", STRING, 412, 399 }, - { "bx", STRING, 413, -1 } -}; - -const struct name_table_entry * const _nc_cap_hash_table[995] = -{ - _nc_cap_table + 253, - 0, - _nc_cap_table + 45, - _nc_cap_table + 211, - _nc_cap_table + 263, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 449, - _nc_cap_table + 457, - _nc_cap_table + 311, - _nc_cap_table + 411, - 0, - _nc_cap_table + 132, - 0, - 0, - 0, - 0, - _nc_cap_table + 123, - _nc_cap_table + 71, - _nc_cap_table + 75, - _nc_cap_table + 92, - _nc_cap_table + 427, - _nc_cap_table + 233, - 0, - _nc_cap_table + 336, - 0, - 0, - _nc_cap_table + 370, - _nc_cap_table + 291, - _nc_cap_table + 494, - _nc_cap_table + 472, - _nc_cap_table + 138, - _nc_cap_table + 186, - 0, - 0, - 0, - 0, - _nc_cap_table + 19, - _nc_cap_table + 193, - _nc_cap_table + 436, - _nc_cap_table + 431, - _nc_cap_table + 453, - 0, - _nc_cap_table + 315, - _nc_cap_table + 489, - _nc_cap_table + 349, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 353, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 124, - 0, - 0, - 0, - _nc_cap_table + 394, - 0, - _nc_cap_table + 367, - _nc_cap_table + 167, - 0, - _nc_cap_table + 191, - _nc_cap_table + 371, - 0, - _nc_cap_table + 89, - 0, - 0, - 0, - _nc_cap_table + 363, - _nc_cap_table + 460, - _nc_cap_table + 319, - _nc_cap_table + 419, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 70, - _nc_cap_table + 74, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 38, - 0, - _nc_cap_table + 128, - 0, - _nc_cap_table + 398, - 0, - 0, - _nc_cap_table + 481, - 0, - 0, - _nc_cap_table + 202, - 0, - _nc_cap_table + 28, - _nc_cap_table + 43, - 0, - _nc_cap_table + 17, - 0, - 0, - _nc_cap_table + 444, - _nc_cap_table + 423, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 496, - 0, - 0, - 0, - 0, - _nc_cap_table + 430, - 0, - 0, - 0, - 0, - _nc_cap_table + 296, - 0, - _nc_cap_table + 21, - 0, - _nc_cap_table + 187, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 321, - _nc_cap_table + 276, - 0, - 0, - _nc_cap_table + 31, - _nc_cap_table + 375, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 429, - _nc_cap_table + 476, - 0, - 0, - 0, - _nc_cap_table + 300, - _nc_cap_table + 400, - 0, - _nc_cap_table + 218, - 0, - 0, - _nc_cap_table + 227, - 0, - 0, - 0, - 0, - _nc_cap_table + 11, - _nc_cap_table + 285, - _nc_cap_table + 179, - 0, - _nc_cap_table + 325, - _nc_cap_table + 280, - 0, - _nc_cap_table + 224, - _nc_cap_table + 162, - _nc_cap_table + 480, - 0, - 0, - _nc_cap_table + 51, - 0, - 0, - _nc_cap_table + 201, - _nc_cap_table + 204, - 0, - 0, - 0, - 0, - _nc_cap_table + 22, - 0, - _nc_cap_table + 304, - _nc_cap_table + 404, - 0, - _nc_cap_table + 154, - 0, - 0, - 0, - 0, - _nc_cap_table + 108, - 0, - _nc_cap_table + 76, - 0, - 0, - 0, - 0, - _nc_cap_table + 329, - _nc_cap_table + 284, - 0, - _nc_cap_table + 270, - _nc_cap_table + 84, - _nc_cap_table + 383, - _nc_cap_table + 250, - _nc_cap_table + 426, - 0, - 0, - _nc_cap_table + 260, - _nc_cap_table + 113, - _nc_cap_table + 110, - _nc_cap_table + 114, - _nc_cap_table + 86, - 0, - 0, - 0, - 0, - _nc_cap_table + 308, - _nc_cap_table + 408, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 433, - 0, - _nc_cap_table + 112, - _nc_cap_table + 230, - 0, - _nc_cap_table + 333, - _nc_cap_table + 428, - 0, - _nc_cap_table + 223, - _nc_cap_table + 288, - _nc_cap_table + 484, - _nc_cap_table + 254, - 0, - 0, - _nc_cap_table + 210, - _nc_cap_table + 264, - 0, - _nc_cap_table + 98, - 0, - _nc_cap_table + 83, - _nc_cap_table + 471, - 0, - _nc_cap_table + 450, - 0, - _nc_cap_table + 312, - _nc_cap_table + 487, - 0, - _nc_cap_table + 151, - 0, - 0, - 0, - _nc_cap_table + 342, - _nc_cap_table + 24, - 0, - _nc_cap_table + 80, - _nc_cap_table + 99, - 0, - _nc_cap_table + 234, - 0, - _nc_cap_table + 337, - _nc_cap_table + 101, - 0, - _nc_cap_table + 8, - _nc_cap_table + 292, - _nc_cap_table + 391, - 0, - _nc_cap_table + 139, - _nc_cap_table + 164, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 194, - _nc_cap_table + 437, - 0, - _nc_cap_table + 454, - 0, - _nc_cap_table + 316, - _nc_cap_table + 492, - 0, - _nc_cap_table + 155, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 395, - 0, - _nc_cap_table + 143, - _nc_cap_table + 168, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 364, - 0, - _nc_cap_table + 320, - _nc_cap_table + 420, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 207, - 0, - 0, - _nc_cap_table + 157, - _nc_cap_table + 447, - _nc_cap_table + 495, - 0, - _nc_cap_table + 137, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 440, - _nc_cap_table + 445, - _nc_cap_table + 424, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 79, - _nc_cap_table + 175, - 0, - _nc_cap_table + 297, - _nc_cap_table + 493, - _nc_cap_table + 23, - _nc_cap_table + 178, - 0, - 0, - 0, - _nc_cap_table + 340, - _nc_cap_table + 52, - 0, - 0, - 0, - _nc_cap_table + 346, - _nc_cap_table + 344, - 0, - _nc_cap_table + 322, - _nc_cap_table + 277, - 0, - 0, - _nc_cap_table + 32, - _nc_cap_table + 376, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 373, - 0, - _nc_cap_table + 470, - 0, - 0, - 0, - _nc_cap_table + 301, - _nc_cap_table + 401, - 0, - _nc_cap_table + 127, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 339, - _nc_cap_table + 12, - 0, - 0, - 0, - _nc_cap_table + 326, - _nc_cap_table + 281, - _nc_cap_table + 348, - _nc_cap_table + 125, - _nc_cap_table + 36, - _nc_cap_table + 380, - _nc_cap_table + 343, - 0, - _nc_cap_table + 42, - 0, - _nc_cap_table + 267, - 0, - 0, - _nc_cap_table + 372, - _nc_cap_table + 115, - 0, - _nc_cap_table + 2, - _nc_cap_table + 345, - 0, - _nc_cap_table + 305, - _nc_cap_table + 405, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 237, - 0, - _nc_cap_table + 330, - _nc_cap_table + 121, - 0, - _nc_cap_table + 271, - 0, - _nc_cap_table + 384, - _nc_cap_table + 251, - 0, - _nc_cap_table + 189, - 0, - _nc_cap_table + 261, - _nc_cap_table + 199, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 177, - 0, - _nc_cap_table + 309, - _nc_cap_table + 409, - 0, - 0, - 0, - 0, - _nc_cap_table + 226, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 231, - _nc_cap_table + 352, - _nc_cap_table + 334, - 0, - 0, - 0, - _nc_cap_table + 289, - _nc_cap_table + 486, - _nc_cap_table + 255, - _nc_cap_table + 135, - _nc_cap_table + 160, - _nc_cap_table + 212, - _nc_cap_table + 265, - 0, - 0, - 0, - 0, - _nc_cap_table + 434, - 0, - _nc_cap_table + 451, - 0, - _nc_cap_table + 313, - _nc_cap_table + 413, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 214, - 0, - 0, - 0, - 0, - _nc_cap_table + 235, - _nc_cap_table + 6, - _nc_cap_table + 338, - _nc_cap_table + 10, - 0, - _nc_cap_table + 478, - _nc_cap_table + 293, - _nc_cap_table + 392, - 0, - _nc_cap_table + 140, - _nc_cap_table + 217, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 347, - _nc_cap_table + 455, - _nc_cap_table + 459, - _nc_cap_table + 317, - _nc_cap_table + 417, - 0, - _nc_cap_table + 134, - 0, - 0, - 0, - _nc_cap_table + 49, - 0, - 0, - _nc_cap_table + 72, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 153, - 0, - _nc_cap_table + 396, - 0, - _nc_cap_table + 144, - _nc_cap_table + 169, - 0, - 0, - _nc_cap_table + 200, - 0, - 0, - 0, - 0, - _nc_cap_table + 482, - _nc_cap_table + 365, - _nc_cap_table + 461, - _nc_cap_table + 442, - _nc_cap_table + 421, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 197, - _nc_cap_table + 432, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 446, - _nc_cap_table + 441, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 18, - 0, - 0, - 0, - _nc_cap_table + 298, - _nc_cap_table + 490, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 26, - 0, - 0, - _nc_cap_table + 351, - 0, - 0, - 0, - _nc_cap_table + 323, - _nc_cap_table + 278, - 0, - _nc_cap_table + 369, - _nc_cap_table + 33, - _nc_cap_table + 377, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 302, - _nc_cap_table + 491, - 0, - _nc_cap_table + 129, - 0, - 0, - 0, - 0, - _nc_cap_table + 216, - _nc_cap_table + 473, - _nc_cap_table + 27, - _nc_cap_table + 91, - _nc_cap_table + 107, - 0, - 0, - _nc_cap_table + 327, - _nc_cap_table + 282, - 0, - _nc_cap_table + 268, - 0, - _nc_cap_table + 381, - _nc_cap_table + 469, - _nc_cap_table + 368, - _nc_cap_table + 174, - 0, - _nc_cap_table + 258, - _nc_cap_table + 198, - 0, - _nc_cap_table + 206, - _nc_cap_table + 180, - 0, - 0, - _nc_cap_table + 176, - 0, - _nc_cap_table + 306, - _nc_cap_table + 488, - 0, - _nc_cap_table + 150, - 0, - 0, - 0, - _nc_cap_table + 438, - _nc_cap_table + 475, - 0, - 0, - 0, - 0, - _nc_cap_table + 228, - 0, - _nc_cap_table + 331, - 0, - 0, - 0, - _nc_cap_table + 286, - _nc_cap_table + 485, - _nc_cap_table + 252, - 0, - 0, - _nc_cap_table + 209, - _nc_cap_table + 262, - _nc_cap_table + 41, - 0, - _nc_cap_table + 466, - 0, - 0, - 0, - _nc_cap_table + 448, - 0, - _nc_cap_table + 310, - _nc_cap_table + 410, - 0, - _nc_cap_table + 130, - 0, - 0, - 0, - 0, - _nc_cap_table + 25, - 0, - 0, - _nc_cap_table + 463, - _nc_cap_table + 50, - _nc_cap_table + 232, - 0, - _nc_cap_table + 335, - 0, - 0, - 0, - _nc_cap_table + 290, - _nc_cap_table + 389, - _nc_cap_table + 256, - _nc_cap_table + 136, - _nc_cap_table + 185, - _nc_cap_table + 213, - _nc_cap_table + 266, - 0, - 0, - 0, - _nc_cap_table + 192, - _nc_cap_table + 435, - 0, - _nc_cap_table + 452, - _nc_cap_table + 458, - _nc_cap_table + 314, - _nc_cap_table + 414, - 0, - _nc_cap_table + 152, - 0, - 0, - 0, - _nc_cap_table + 474, - 0, - 0, - _nc_cap_table + 215, - _nc_cap_table + 81, - _nc_cap_table + 5, - _nc_cap_table + 236, - 0, - _nc_cap_table + 82, - 0, - 0, - _nc_cap_table + 479, - _nc_cap_table + 294, - _nc_cap_table + 393, - 0, - _nc_cap_table + 141, - _nc_cap_table + 190, - 0, - 0, - _nc_cap_table + 105, - 0, - 0, - 0, - _nc_cap_table + 477, - _nc_cap_table + 20, - _nc_cap_table + 362, - 0, - _nc_cap_table + 318, - _nc_cap_table + 418, - 0, - _nc_cap_table + 156, - 0, - 0, - 0, - 0, - _nc_cap_table + 95, - _nc_cap_table + 467, - _nc_cap_table + 73, - _nc_cap_table + 93, - _nc_cap_table + 220, - _nc_cap_table + 219, - 0, - _nc_cap_table + 9, - _nc_cap_table + 119, - 0, - _nc_cap_table + 159, - 0, - _nc_cap_table + 397, - _nc_cap_table + 468, - _nc_cap_table + 145, - _nc_cap_table + 188, - 0, - _nc_cap_table + 465, - 0, - _nc_cap_table + 205, - _nc_cap_table + 106, - _nc_cap_table + 90, - _nc_cap_table + 44, - _nc_cap_table + 3, - _nc_cap_table + 366, - 0, - _nc_cap_table + 443, - _nc_cap_table + 422, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 295, - 0, - _nc_cap_table + 173, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 355, - 0, - _nc_cap_table + 222, - _nc_cap_table + 221, - 0, - 0, - _nc_cap_table + 275, - _nc_cap_table + 356, - 0, - _nc_cap_table + 30, - _nc_cap_table + 374, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 225, - 0, - 0, - _nc_cap_table + 299, - 0, - 0, - _nc_cap_table + 148, - 0, - 0, - _nc_cap_table + 181, - 0, - 0, - 0, - 0, - _nc_cap_table + 462, - 0, - 0, - 0, - _nc_cap_table + 324, - _nc_cap_table + 279, - 0, - 0, - _nc_cap_table + 34, - _nc_cap_table + 378, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 350, - 0, - _nc_cap_table + 303, - _nc_cap_table + 403, - 0, - _nc_cap_table + 133, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 77, - 0, - _nc_cap_table + 182, - 0, - 0, - _nc_cap_table + 328, - _nc_cap_table + 283, - 0, - _nc_cap_table + 269, - 0, - _nc_cap_table + 382, - _nc_cap_table + 249, - 0, - 0, - 0, - _nc_cap_table + 259, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 85, - 0, - _nc_cap_table + 456, - _nc_cap_table + 307, - _nc_cap_table + 407, - 0, - _nc_cap_table + 147, - 0, - 0, - 0, - 0, - 0, - 0, - _nc_cap_table + 78, - 0, - 0, - _nc_cap_table + 354, - 0, - _nc_cap_table + 332, - 0, - 0, - _nc_cap_table + 146, - _nc_cap_table + 287, - _nc_cap_table + 483, - _nc_cap_table /* base-of-table */ -}; - -#if (BOOLCOUNT!=44)||(NUMCOUNT!=39)||(STRCOUNT!=414) -#error --> term.h and comp_captab.c disagree about the <-- -#error --> numbers of booleans, numbers and/or strings <-- -#endif - -const struct alias _nc_capalias_table[] = -{ - {"sb", "sr", "BSD"}, /* scroll */ - {"BO", "mr", "AT&T"}, /* enter_reverse_mode */ - {"CI", "vi", "AT&T"}, /* cursor_invisible */ - {"CV", "ve", "AT&T"}, /* cursor_normal */ - {"DS", "mh", "AT&T"}, /* enter_dim_mode */ - {"FE", "LF", "AT&T"}, /* label_on */ - {"FL", "LO", "AT&T"}, /* label_off */ - {"XS", "mk", "AT&T"}, /* enter_secure_mode */ - {"EE", "mh", "XENIX"}, /* exit_attribute_mode */ - {"GE", "ae", "XENIX"}, /* exit_alt_charset_mode */ - {"GS", "as", "XENIX"}, /* enter_alt_charset_mode */ - {"CF", "vi", "XENIX"}, /* cursor_invis */ - {"CO", "ve", "XENIX"}, /* cursor_normal */ - {"EN", "@7", "XENIX"}, /* key_end */ - {"HM", "kh", "XENIX"}, /* key_home */ - {"LD", "kL", "XENIX"}, /* key_dl */ - {"PD", "kN", "XENIX"}, /* key_npage */ - {"PN", "po", "XENIX"}, /* prtr_off */ - {"PS", "pf", "XENIX"}, /* prtr_on */ - {"PU", "kP", "XENIX"}, /* key_ppage */ - {"RT", "@8", "XENIX"}, /* kent */ - {"UP", "ku", "XENIX"}, /* kcuu1 */ - {"G6", (char *)NULL, "XENIX"}, /* double-ACS_ULCORNER */ - {"G7", (char *)NULL, "XENIX"}, /* double-ACS_LLCORNER */ - {"G5", (char *)NULL, "XENIX"}, /* double-ACS_URCORNER */ - {"G8", (char *)NULL, "XENIX"}, /* double-ACS_LRCORNER */ - {"Gr", (char *)NULL, "XENIX"}, /* double-ACS_LTEE */ - {"Gr", (char *)NULL, "XENIX"}, /* double-ACS_RTEE */ - {"Gu", (char *)NULL, "XENIX"}, /* double-ACS_BTEE */ - {"Gd", (char *)NULL, "XENIX"}, /* double */ - {"Gh", (char *)NULL, "XENIX"}, /* double-ACS_HLINE */ - {"Gv", (char *)NULL, "XENIX"}, /* double-ACS_VLINE */ - {"Gc", (char *)NULL, "XENIX"}, /* double-ACS_PLUS */ - {"GG", (char *)NULL, "XENIX"}, /* acs-glitch */ - {"kq", "%1", "IBM"}, /* key_help */ - {"HS", "mh", "IRIS"}, /* enter_dim_mode */ - {"KA", "k;", "Tek"}, /* key_f10 */ - {"KB", "F1", "Tek"}, /* key_f11 */ - {"KC", "F2", "Tek"}, /* key_f12 */ - {"KD", "F3", "Tek"}, /* key_f13 */ - {"KE", "F4", "Tek"}, /* key_f14 */ - {"KF", "F5", "Tek"}, /* key_f15 */ - {"BC", "Sb", "Tek"}, /* set_background */ - {"FC", "Sf", "Tek"}, /* set_foreground */ - {(char *)NULL, (char *)NULL, (char *)NULL} -}; - -const struct alias _nc_infoalias_table[] = -{ - {"font0", "s0ds", "IBM"}, /* set0_des_seq */ - {"font1", "s1ds", "IBM"}, /* set1_des_seq */ - {"font2", "s2ds", "IBM"}, /* set2_des_seq */ - {"font3", "s3ds", "IBM"}, /* set3_des_seq */ - {"kbtab", "kcbt", "IBM"}, /* key_backtab */ - {"ksel", "kslt", "IBM"}, /* key_select */ - {(char *)NULL, (char *)NULL, (char *)NULL} -}; - -NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool termcap) -{ - return termcap ? _nc_cap_table: _nc_info_table ; -} - -NCURSES_EXPORT(const struct name_table_entry * const *) _nc_get_hash_table (bool termcap) -{ - return termcap ? _nc_cap_hash_table: _nc_info_hash_table ; -} diff --git a/src/libs/ncurses/ncurses/curses.priv.h b/src/libs/ncurses/ncurses/curses.priv.h deleted file mode 100644 index 93bf44978b..0000000000 --- a/src/libs/ncurses/ncurses/curses.priv.h +++ /dev/null @@ -1,1237 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - - -/* - * $Id: curses.priv.h,v 1.286 2005/09/10 22:34:50 tom Exp $ - * - * curses.priv.h - * - * Header file for curses library objects which are private to - * the library. - * - */ - -#ifndef CURSES_PRIV_H -#define CURSES_PRIV_H 1 - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#if USE_RCS_IDS -#define MODULE_ID(id) static const char Ident[] = id; -#else -#define MODULE_ID(id) /*nothing*/ -#endif - -#include -#include -#include - -#if HAVE_UNISTD_H -#include -#endif - -#if HAVE_SYS_BSDTYPES_H -#include /* needed for ISC */ -#endif - -#if HAVE_LIMITS_H -# include -#elif HAVE_SYS_PARAM_H -# include -#endif - -#include -#include - -#include - -#ifndef PATH_MAX -# if defined(_POSIX_PATH_MAX) -# define PATH_MAX _POSIX_PATH_MAX -# elif defined(MAXPATHLEN) -# define PATH_MAX MAXPATHLEN -# else -# define PATH_MAX 255 /* the Posix minimum path-size */ -# endif -#endif - -#if DECL_ERRNO -extern int errno; -#endif - -#include - -/* Some systems have a broken 'select()', but workable 'poll()'. Use that */ -#if HAVE_WORKING_POLL -#define USE_FUNC_POLL 1 -#if HAVE_POLL_H -#include -#else -#include -#endif -#else -#define USE_FUNC_POLL 0 -#endif - -/* include signal.h before curses.h to work-around defect in glibc 2.1.3 */ -#include - -/* Alessandro Rubini's GPM (general-purpose mouse) */ -#if HAVE_LIBGPM && HAVE_GPM_H -#define USE_GPM_SUPPORT 1 -#else -#define USE_GPM_SUPPORT 0 -#endif - -/* QNX mouse support */ -#if defined(__QNX__) && !defined(__QNXNTO__) -#define USE_QNX_MOUSE 1 -#else -#define USE_QNX_MOUSE 0 -#endif - -/* EMX mouse support */ -#ifdef __EMX__ -#define USE_EMX_MOUSE 1 -#else -#define USE_EMX_MOUSE 0 -#endif - -#define DEFAULT_MAXCLICK 166 -#define EV_MAX 8 /* size of mouse circular event queue */ - -/* - * If we don't have signals to support it, don't add a sigwinch handler. - * In any case, resizing is an extended feature. Use it if we've got it. - */ -#if !NCURSES_EXT_FUNCS -#undef HAVE_SIZECHANGE -#define HAVE_SIZECHANGE 0 -#endif - -#if HAVE_SIZECHANGE && defined(SIGWINCH) -#define USE_SIZECHANGE 1 -#else -#define USE_SIZECHANGE 0 -#undef USE_SIGWINCH -#define USE_SIGWINCH 0 -#endif - -/* - * If desired, one can configure this, disabling environment variables that - * point to custom terminfo/termcap locations. - */ -#ifdef USE_ROOT_ENVIRON -#define use_terminfo_vars() 1 -#else -#define use_terminfo_vars() _nc_env_access() -extern NCURSES_EXPORT(int) _nc_env_access (void); -#endif - -/* - * Not all platforms have memmove; some have an equivalent bcopy. (Some may - * have neither). - */ -#if USE_OK_BCOPY -#define memmove(d,s,n) bcopy(s,d,n) -#elif USE_MY_MEMMOVE -#define memmove(d,s,n) _nc_memmove(d,s,n) -extern NCURSES_EXPORT(void *) _nc_memmove (void *, const void *, size_t); -#endif - -/* - * Scroll hints are useless when hashmap is used - */ -#if !USE_SCROLL_HINTS -#if !USE_HASHMAP -#define USE_SCROLL_HINTS 1 -#else -#define USE_SCROLL_HINTS 0 -#endif -#endif - -#if USE_SCROLL_HINTS -#define if_USE_SCROLL_HINTS(stmt) stmt -#else -#define if_USE_SCROLL_HINTS(stmt) /*nothing*/ -#endif - -/* - * Note: ht/cbt expansion flakes out randomly under Linux 1.1.47, but only - * when we're throwing control codes at the screen at high volume. To see - * this, re-enable USE_HARD_TABS and run worm for a while. Other systems - * probably don't want to define this either due to uncertainties about tab - * delays and expansion in raw mode. - */ - -struct tries { - struct tries *child; /* ptr to child. NULL if none */ - struct tries *sibling; /* ptr to sibling. NULL if none */ - unsigned char ch; /* character at this node */ - unsigned short value; /* code of string so far. 0 if none. */ -}; - -/* - * Common/troublesome character definitions - */ -#define L_BRACE '{' -#define R_BRACE '}' -#define S_QUOTE '\'' -#define D_QUOTE '"' - -#define VT_ACSC "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~" - -/* - * Structure for palette tables - */ - -typedef struct -{ - short red, green, blue; /* what color_content() returns */ - short r, g, b; /* params to init_color() */ - int init; /* true if we called init_color() */ -} -color_t; - -#define MAXCOLUMNS 135 -#define MAXLINES 66 -#define FIFO_SIZE MAXCOLUMNS+2 /* for nocbreak mode input */ - -#define ACS_LEN 128 - -#define WINDOWLIST struct _win_list - -#if USE_WIDEC_SUPPORT -#define _nc_bkgd _bkgrnd -#else -#undef _XOPEN_SOURCE_EXTENDED -#define _nc_bkgd _bkgd -#define wgetbkgrnd(win, wch) *wch = win->_bkgd -#define wbkgrnd wbkgd -#endif - -#include /* we'll use -Ipath directive to get the right one! */ -#include -#include - -#if NCURSES_EXT_COLORS && USE_WIDEC_SUPPORT -#define if_EXT_COLORS(stmt) stmt -#define NetPair(value,p) (value).ext_color = (p), \ - AttrOf(value) &= ALL_BUT_COLOR, \ - AttrOf(value) |= (A_COLOR & COLOR_PAIR((p > 255) ? 255 : p)) -#define SetPair(value,p) (value).ext_color = (p) -#define GetPair(value) (value).ext_color -#define unColor(n) (AttrOf(n) & ALL_BUT_COLOR) -#define GET_WINDOW_PAIR(w) (w)->_color -#define SET_WINDOW_PAIR(w,p) (w)->_color = (p) -#define SameAttrOf(a,b) (AttrOf(a) == AttrOf(b) && GetPair(a) == GetPair(b)) -#define VIDATTR(attr, pair) vid_attr(attr, pair, 0) -#else -#define if_EXT_COLORS(stmt) /* nothing */ -#define SetPair(value,p) RemAttr(value, A_COLOR), \ - SetAttr(value, AttrOf(value) | (A_COLOR & COLOR_PAIR(p))) -#define GetPair(value) PAIR_NUMBER(AttrOf(value)) -#define unColor(n) (AttrOf(n) & ALL_BUT_COLOR) -#define GET_WINDOW_PAIR(w) PAIR_NUMBER((w)->_attrs) -#define SET_WINDOW_PAIR(w,p) (w)->_attrs &= ALL_BUT_COLOR, \ - (w)->_attrs |= (A_COLOR & COLOR_PAIR(p)) -#define SameAttrOf(a,b) (AttrOf(a) == AttrOf(b)) -#define VIDATTR(attr, pair) vidattr(attr) -#endif - -#define SCREEN_ATTRS(s) (*((s)->_current_attr)) -#define GET_SCREEN_PAIR(s) GetPair(SCREEN_ATTRS(s)) -#define SET_SCREEN_PAIR(s,p) SetPair(SCREEN_ATTRS(s), p) - -/* - * Definitions for color pairs - */ -typedef unsigned colorpair_t; /* type big enough to store PAIR_OF() */ -#define C_SHIFT 9 /* we need more bits than there are colors */ -#define C_MASK ((1 << C_SHIFT) - 1) -#define PAIR_OF(fg, bg) ((((fg) & C_MASK) << C_SHIFT) | ((bg) & C_MASK)) -#define isDefaultColor(c) ((c) >= COLOR_DEFAULT || (c) < 0) - -#define COLOR_DEFAULT C_MASK - -#ifdef USE_TERMLIB - -#undef NCURSES_CH_T /* this is not a termlib feature */ -#define NCURSES_CH_T void /* ...but we need a pointer in SCREEN */ - -#endif /* USE_TERMLIB */ - -#ifndef USE_TERMLIB -struct ldat -{ - NCURSES_CH_T *text; /* text of the line */ - NCURSES_SIZE_T firstchar; /* first changed character in the line */ - NCURSES_SIZE_T lastchar; /* last changed character in the line */ - NCURSES_SIZE_T oldindex; /* index of the line at last update */ -}; -#endif /* USE_TERMLIB */ - -typedef enum { - M_XTERM = -1 /* use xterm's mouse tracking? */ - ,M_NONE = 0 /* no mouse device */ -#if USE_GPM_SUPPORT - ,M_GPM /* use GPM */ -#endif -#if USE_SYSMOUSE - ,M_SYSMOUSE /* FreeBSD sysmouse on console */ -#endif -} MouseType; - -/* - * Structures for scrolling. - */ - -typedef struct { - unsigned long hashval; - int oldcount, newcount; - int oldindex, newindex; -} HASHMAP; - -/* - * Structures for soft labels. - */ - -struct _SLK; - -#ifndef USE_TERMLIB - -typedef struct -{ - char *ent_text; /* text for the label */ - char *form_text; /* formatted text (left/center/...) */ - int ent_x; /* x coordinate of this field */ - char dirty; /* this label has changed */ - char visible; /* field is visible */ -} slk_ent; - -typedef struct _SLK { - char dirty; /* all labels have changed */ - char hidden; /* soft labels are hidden */ - WINDOW *win; - slk_ent *ent; - short maxlab; /* number of available labels */ - short labcnt; /* number of allocated labels */ - short maxlen; /* length of labels */ - NCURSES_CH_T attr; /* soft label attribute */ -} SLK; - -#endif /* USE_TERMLIB */ - -typedef struct { - int line; /* lines to take, < 0 => from bottom*/ - int (*hook)(WINDOW *, int); /* callback for user */ - WINDOW *w; /* maybe we need this for cleanup */ -} ripoff_t; - -/* - * The SCREEN structure. - */ - -struct screen { - int _ifd; /* input file ptr for screen */ - FILE *_ofp; /* output file ptr for screen */ - char *_setbuf; /* buffered I/O for output */ - int _buffered; /* setvbuf uses _setbuf data */ - int _checkfd; /* filedesc for typeahead check */ - TERMINAL *_term; /* terminal type information */ - short _lines; /* screen lines */ - short _columns; /* screen columns */ - - short _lines_avail; /* lines available for stdscr */ - short _topstolen; /* lines stolen from top */ - ripoff_t _rippedoff[5]; /* list of lines stolen */ - int _rip_count; /* ...and total lines stolen */ - - WINDOW *_curscr; /* current screen */ - WINDOW *_newscr; /* virtual screen to be updated to */ - WINDOW *_stdscr; /* screen's full-window context */ - - struct tries *_keytry; /* "Try" for use with keypad mode */ - struct tries *_key_ok; /* Disabled keys via keyok(,FALSE) */ - bool _tried; /* keypad mode was initialized */ - bool _keypad_on; /* keypad mode is currently on */ - - bool _called_wgetch; /* check for recursion in wgetch() */ - int _fifo[FIFO_SIZE]; /* input push-back buffer */ - short _fifohead, /* head of fifo queue */ - _fifotail, /* tail of fifo queue */ - _fifopeek, /* where to peek for next char */ - _fifohold; /* set if breakout marked */ - - int _endwin; /* are we out of window mode? */ - NCURSES_CH_T *_current_attr; /* holds current attributes set */ - int _coloron; /* is color enabled? */ - int _color_defs; /* are colors modified */ - int _cursor; /* visibility of the cursor */ - int _cursrow; /* physical cursor row */ - int _curscol; /* physical cursor column */ - bool _notty; /* true if we cannot switch non-tty */ - int _nl; /* True if NL -> CR/NL is on */ - int _raw; /* True if in raw mode */ - int _cbreak; /* 1 if in cbreak mode */ - /* > 1 if in halfdelay mode */ - int _echo; /* True if echo on */ - int _use_meta; /* use the meta key? */ - struct _SLK *_slk; /* ptr to soft key struct / NULL */ - int slk_format; /* selected format for this screen */ - /* cursor movement costs; units are 10ths of milliseconds */ -#if NCURSES_NO_PADDING - int _no_padding; /* flag to set if padding disabled */ -#endif - int _char_padding; /* cost of character put */ - int _cr_cost; /* cost of (carriage_return) */ - int _cup_cost; /* cost of (cursor_address) */ - int _home_cost; /* cost of (cursor_home) */ - int _ll_cost; /* cost of (cursor_to_ll) */ -#if USE_HARD_TABS - int _ht_cost; /* cost of (tab) */ - int _cbt_cost; /* cost of (backtab) */ -#endif /* USE_HARD_TABS */ - int _cub1_cost; /* cost of (cursor_left) */ - int _cuf1_cost; /* cost of (cursor_right) */ - int _cud1_cost; /* cost of (cursor_down) */ - int _cuu1_cost; /* cost of (cursor_up) */ - int _cub_cost; /* cost of (parm_cursor_left) */ - int _cuf_cost; /* cost of (parm_cursor_right) */ - int _cud_cost; /* cost of (parm_cursor_down) */ - int _cuu_cost; /* cost of (parm_cursor_up) */ - int _hpa_cost; /* cost of (column_address) */ - int _vpa_cost; /* cost of (row_address) */ - /* used in tty_update.c, must be chars */ - int _ed_cost; /* cost of (clr_eos) */ - int _el_cost; /* cost of (clr_eol) */ - int _el1_cost; /* cost of (clr_bol) */ - int _dch1_cost; /* cost of (delete_character) */ - int _ich1_cost; /* cost of (insert_character) */ - int _dch_cost; /* cost of (parm_dch) */ - int _ich_cost; /* cost of (parm_ich) */ - int _ech_cost; /* cost of (erase_chars) */ - int _rep_cost; /* cost of (repeat_char) */ - int _hpa_ch_cost; /* cost of (column_address) */ - int _cup_ch_cost; /* cost of (cursor_address) */ - int _cuf_ch_cost; /* cost of (parm_cursor_right) */ - int _inline_cost; /* cost of inline-move */ - int _smir_cost; /* cost of (enter_insert_mode) */ - int _rmir_cost; /* cost of (exit_insert_mode) */ - int _ip_cost; /* cost of (insert_padding) */ - /* used in lib_mvcur.c */ - char * _address_cursor; - /* used in tty_update.c */ - int _scrolling; /* 1 if terminal's smart enough to */ - - /* used in lib_color.c */ - color_t *_color_table; /* screen's color palette */ - int _color_count; /* count of colors in palette */ - colorpair_t *_color_pairs; /* screen's color pair list */ - int _pair_count; /* count of color pairs */ -#if NCURSES_EXT_FUNCS - bool _default_color; /* use default colors */ - bool _has_sgr_39_49; /* has ECMA default color support */ - int _default_fg; /* assumed default foreground */ - int _default_bg; /* assumed default background */ -#endif - chtype _xmc_suppress; /* attributes to suppress if xmc */ - chtype _xmc_triggers; /* attributes to process if xmc */ - chtype _acs_map[ACS_LEN]; /* the real alternate-charset map */ - - /* used in lib_vidattr.c */ - bool _use_rmso; /* true if we may use 'rmso' */ - bool _use_rmul; /* true if we may use 'rmul' */ - - /* - * These data correspond to the state of the idcok() and idlok() - * functions. A caveat is in order here: the XSI and SVr4 - * documentation specify that these functions apply to the window which - * is given as an argument. However, ncurses implements this logic - * only for the newscr/curscr update process, _not_ per-window. - */ - bool _nc_sp_idlok; - bool _nc_sp_idcok; -#define _nc_idlok SP->_nc_sp_idlok -#define _nc_idcok SP->_nc_sp_idcok - - /* - * These are the data that support the mouse interface. - */ - MouseType _mouse_type; - int _maxclick; - bool (*_mouse_event) (SCREEN *); - bool (*_mouse_inline)(SCREEN *); - bool (*_mouse_parse) (int); - void (*_mouse_resume)(SCREEN *); - void (*_mouse_wrap) (SCREEN *); - int _mouse_fd; /* file-descriptor, if any */ - bool _mouse_active; /* true if initialized */ - NCURSES_CONST char *_mouse_xtermcap; /* string to enable/disable mouse */ -#if USE_SYSMOUSE - MEVENT _sysmouse_fifo[FIFO_SIZE]; - int _sysmouse_head; - int _sysmouse_tail; - int _sysmouse_char_width; /* character width */ - int _sysmouse_char_height; /* character height */ - int _sysmouse_old_buttons; - int _sysmouse_new_buttons; -#endif - - /* - * This supports automatic resizing - */ -#if USE_SIZECHANGE - int (*_resize)(int,int); -#endif - - /* - * These are data that support the proper handling of the panel stack on an - * per screen basis. - */ - struct panelhook _panelHook; - /* - * Linked-list of all windows, to support '_nc_resizeall()' and - * '_nc_freeall()' - */ - WINDOWLIST *_nc_sp_windows; -#define _nc_windows SP->_nc_sp_windows - - bool _sig_winch; - SCREEN *_next_screen; - - /* hashes for old and new lines */ - unsigned long *oldhash, *newhash; - HASHMAP *hashtab; - int hashtab_len; - - bool _cleanup; /* cleanup after int/quit signal */ - int (*_outch)(int); /* output handler if not putc */ - - /* recent versions of 'screen' have partially-working support for - * UTF-8, but do not permit ACS at the same time (see tty_update.c). - */ -#if USE_WIDEC_SUPPORT - bool _legacy_coding; - bool _screen_acs_fix; -#endif - bool _screen_acs_map[ACS_LEN]; -}; - -extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain; - -#if NCURSES_NOMACROS -#include -#endif - - WINDOWLIST { - WINDOW win; /* first, so WINDOW_EXT() works */ - WINDOWLIST *next; -#ifdef _XOPEN_SOURCE_EXTENDED - char addch_work[(MB_LEN_MAX * 9) + 1]; - unsigned addch_used; /* number of bytes in addch_work[] */ - int addch_x; /* x-position for addch_work[] */ - int addch_y; /* y-position for addch_work[] */ -#endif -}; - -#define WINDOW_EXT(win,field) (((WINDOWLIST *)(win))->field) - -/* usually in */ -#ifndef UCHAR_MAX -#define UCHAR_MAX 255 -#endif - -/* The terminfo source is assumed to be 7-bit ASCII */ -#define is7bits(c) ((unsigned)(c) < 128) - -/* Checks for isprint() should be done on 8-bit characters (non-wide) */ -#define is8bits(c) ((unsigned)(c) <= UCHAR_MAX) - -#ifndef min -#define min(a,b) ((a) > (b) ? (b) : (a)) -#endif - -#ifndef max -#define max(a,b) ((a) < (b) ? (b) : (a)) -#endif - -/* usually in */ -#ifndef STDIN_FILENO -#define STDIN_FILENO 0 -#endif - -#ifndef STDOUT_FILENO -#define STDOUT_FILENO 1 -#endif - -#ifndef STDERR_FILENO -#define STDERR_FILENO 2 -#endif - -#ifndef EXIT_SUCCESS -#define EXIT_SUCCESS 0 -#endif - -#ifndef EXIT_FAILURE -#define EXIT_FAILURE 1 -#endif - -#ifndef R_OK -#define R_OK 4 /* Test for read permission. */ -#endif -#ifndef W_OK -#define W_OK 2 /* Test for write permission. */ -#endif -#ifndef X_OK -#define X_OK 1 /* Test for execute permission. */ -#endif -#ifndef F_OK -#define F_OK 0 /* Test for existence. */ -#endif - -#if HAVE_FCNTL_H -#include /* may define O_BINARY */ -#endif - -#ifndef O_BINARY -#define O_BINARY 0 -#endif - -#ifdef TRACE -#define TRACE_OUTCHARS(n) _nc_outchars += (n); -#else -#define TRACE_OUTCHARS(n) /* nothing */ -#endif - -#define UChar(c) ((unsigned char)(c)) -#define ChCharOf(c) ((c) & (chtype)A_CHARTEXT) -#define ChAttrOf(c) ((c) & (chtype)A_ATTRIBUTES) - -#ifndef MB_LEN_MAX -#define MB_LEN_MAX 8 /* should be >= MB_CUR_MAX, but that may be a function */ -#endif - -#if USE_WIDEC_SUPPORT /* { */ -#define isEILSEQ(status) ((status == (size_t)-1) && (errno == EILSEQ)) - -#define init_mb(state) memset(&state, 0, sizeof(state)) - -#if NCURSES_EXT_COLORS -#define NulColor , 0 -#else -#define NulColor /* nothing */ -#endif - -#define NulChar 0,0,0,0 /* FIXME: see CCHARW_MAX */ -#define CharOf(c) ((c).chars[0]) -#define AttrOf(c) ((c).attr) -#define AddAttr(c,a) AttrOf(c) |= a -#define RemAttr(c,a) AttrOf(c) &= ~(a) -#define SetAttr(c,a) AttrOf(c) = a -#define NewChar(ch) { ChAttrOf(ch), { ChCharOf(ch), NulChar } NulColor } -#define NewChar2(c,a) { a, { c, NulChar } NulColor } -#define CharEq(a,b) (!memcmp(&a, &b, sizeof(a))) -#define SetChar(ch,c,a) do { \ - NCURSES_CH_T *_cp = &ch; \ - memset(_cp, 0, sizeof(ch)); \ - _cp->chars[0] = c; \ - _cp->attr = a; \ - if_EXT_COLORS(SetPair(ch, PAIR_NUMBER(a))); \ - } while (0) -#define CHREF(wch) (&wch) -#define CHDEREF(wch) (*wch) -#define ARG_CH_T NCURSES_CH_T * -#define CARG_CH_T const NCURSES_CH_T * -#define PUTC_DATA char PUTC_buf[MB_LEN_MAX]; int PUTC_i, PUTC_n; \ - mbstate_t PUT_st; wchar_t PUTC_ch -#define PUTC_INIT init_mb (PUT_st); \ - PUTC_i = 0 -#define PUTC(ch,b) do { if(!isWidecExt(ch)) { \ - if (Charable(ch)) { \ - fputc(CharOf(ch), b); \ - TRACE_OUTCHARS(1); \ - } else { \ - PUTC_INIT; \ - do { \ - PUTC_ch = PUTC_i < CCHARW_MAX ? \ - (ch).chars[PUTC_i] : L'\0'; \ - PUTC_n = wcrtomb(PUTC_buf, \ - (ch).chars[PUTC_i], &PUT_st); \ - if (PUTC_ch == L'\0') \ - --PUTC_n; \ - if (PUTC_n <= 0) \ - break; \ - fwrite(PUTC_buf, (unsigned) PUTC_n, 1, b); \ - ++PUTC_i; \ - } while (PUTC_ch != L'\0'); \ - TRACE_OUTCHARS(PUTC_i); \ - } } } while (0) - -#define BLANK { WA_NORMAL, {' '} NulColor } -#define ZEROS { WA_NORMAL, {'\0'} NulColor } -#define ISBLANK(ch) ((ch).chars[0] == L' ' && (ch).chars[1] == L'\0') - - /* - * Wide characters cannot be represented in the A_CHARTEXT mask of - * attr_t's but an application might have set a narrow character there. - * But even in that case, it would only be a printable character, or - * zero. Otherwise we can use those bits to tell if a cell is the - * first or extension part of a wide character. - */ -#define WidecExt(ch) (AttrOf(ch) & A_CHARTEXT) -#define isWidecBase(ch) (WidecExt(ch) == 1) -#define isWidecExt(ch) (WidecExt(ch) > 1 && WidecExt(ch) < 32) -#define SetWidecExt(dst, ext) AttrOf(dst) &= ~A_CHARTEXT, \ - AttrOf(dst) |= (ext + 1) - -#define if_WIDEC(code) code -#define Charable(ch) ((SP != 0 && SP->_legacy_coding) \ - || (AttrOf(ch) & A_ALTCHARSET) \ - || (!isWidecExt(ch) && \ - (ch).chars[1] == L'\0' && \ - _nc_is_charable(CharOf(ch)))) - -#define L(ch) L ## ch -#else /* }{ */ -#define CharOf(c) ChCharOf(c) -#define AttrOf(c) ChAttrOf(c) -#define AddAttr(c,a) c |= a -#define RemAttr(c,a) c &= ~(a & A_ATTRIBUTES) -#define SetAttr(c,a) c = (c & ~A_ATTRIBUTES) | a -#define NewChar(ch) (ch) -#define NewChar2(c,a) (c | a) -#define CharEq(a,b) (a == b) -#define SetChar(ch,c,a) ch = c | a -#define CHREF(wch) wch -#define CHDEREF(wch) wch -#define ARG_CH_T NCURSES_CH_T -#define CARG_CH_T NCURSES_CH_T -#define PUTC_DATA int data = 0 -#define PUTC(a,b) do { data = CharOf(ch); putc(data,b); } while (0) - -#define BLANK (' '|A_NORMAL) -#define ZEROS ('\0'|A_NORMAL) -#define ISBLANK(ch) (CharOf(ch) == ' ') - -#define isWidecExt(ch) (0) -#define if_WIDEC(code) /* nothing */ - -#define L(ch) ch -#endif /* } */ - -#define AttrOfD(ch) AttrOf(CHDEREF(ch)) -#define CharOfD(ch) CharOf(CHDEREF(ch)) -#define SetChar2(wch,ch) SetChar(wch,ChCharOf(ch),ChAttrOf(ch)) - -#define BLANK_ATTR A_NORMAL -#define BLANK_TEXT L(' ') - -#define CHANGED -1 - -#define LEGALYX(w, y, x) \ - ((w) != 0 && \ - ((x) >= 0 && (x) <= (w)->_maxx && \ - (y) >= 0 && (y) <= (w)->_maxy)) - -#define CHANGED_CELL(line,col) \ - if (line->firstchar == _NOCHANGE) \ - line->firstchar = line->lastchar = col; \ - else if ((col) < line->firstchar) \ - line->firstchar = col; \ - else if ((col) > line->lastchar) \ - line->lastchar = col - -#define CHANGED_RANGE(line,start,end) \ - if (line->firstchar == _NOCHANGE \ - || line->firstchar > (start)) \ - line->firstchar = start; \ - if (line->lastchar == _NOCHANGE \ - || line->lastchar < (end)) \ - line->lastchar = end - -#define CHANGED_TO_EOL(line,start,end) \ - if (line->firstchar == _NOCHANGE \ - || line->firstchar > (start)) \ - line->firstchar = start; \ - line->lastchar = end - -#define SIZEOF(v) (sizeof(v)/sizeof(v[0])) - -#define FreeIfNeeded(p) if ((p) != 0) free(p) - -/* FreeAndNull() is not a comma-separated expression because some compilers - * do not accept a mixture of void with values. - */ -#define FreeAndNull(p) free(p); p = 0 - -#include - -/* - * Prefixes for call/return points of library function traces. We use these to - * instrument the public functions so that the traces can be easily transformed - * into regression scripts. - */ -#define T_CALLED(fmt) "called {" fmt -#define T_CREATE(fmt) "create :" fmt -#define T_RETURN(fmt) "return }" fmt - -#ifdef TRACE - -#define START_TRACE() \ - if ((_nc_tracing & TRACE_MAXIMUM) == 0) { \ - int t = _nc_getenv_num("NCURSES_TRACE"); \ - if (t >= 0) \ - trace((unsigned) t); \ - } - -#define TR(n, a) if (_nc_tracing & (n)) _tracef a -#define T(a) TR(TRACE_CALLS, a) -#define TPUTS_TRACE(s) _nc_tputs_trace = s; -#define TRACE_RETURN(value,type) return _nc_retrace_##type(value) - -#define returnAttr(code) TRACE_RETURN(code,attr_t) -#define returnBits(code) TRACE_RETURN(code,unsigned) -#define returnBool(code) TRACE_RETURN(code,bool) -#define returnCPtr(code) TRACE_RETURN(code,cptr) -#define returnCVoidPtr(code) TRACE_RETURN(code,cvoid_ptr) -#define returnChar(code) TRACE_RETURN(code,chtype) -#define returnCode(code) TRACE_RETURN(code,int) -#define returnPtr(code) TRACE_RETURN(code,ptr) -#define returnSP(code) TRACE_RETURN(code,sp) -#define returnVoid T((T_RETURN(""))); return -#define returnVoidPtr(code) TRACE_RETURN(code,void_ptr) -#define returnWin(code) TRACE_RETURN(code,win) - -extern NCURSES_EXPORT(NCURSES_BOOL) _nc_retrace_bool (NCURSES_BOOL); -extern NCURSES_EXPORT(NCURSES_CONST void *) _nc_retrace_cvoid_ptr (NCURSES_CONST void *); -extern NCURSES_EXPORT(SCREEN *) _nc_retrace_sp (SCREEN *); -extern NCURSES_EXPORT(WINDOW *) _nc_retrace_win (WINDOW *); -extern NCURSES_EXPORT(attr_t) _nc_retrace_attr_t (attr_t); -extern NCURSES_EXPORT(char *) _nc_retrace_ptr (char *); -extern NCURSES_EXPORT(char *) _nc_trace_ttymode(TTY *tty); -extern NCURSES_EXPORT(char *) _nc_varargs (const char *, va_list); -extern NCURSES_EXPORT(chtype) _nc_retrace_chtype (chtype); -extern NCURSES_EXPORT(const char *) _nc_altcharset_name(attr_t, chtype); -extern NCURSES_EXPORT(const char *) _nc_retrace_cptr (const char *); -extern NCURSES_EXPORT(int) _nc_retrace_int (int); -extern NCURSES_EXPORT(unsigned) _nc_retrace_unsigned (unsigned); -extern NCURSES_EXPORT(void *) _nc_retrace_void_ptr (void *); -extern NCURSES_EXPORT(void) _nc_fifo_dump (void); -extern NCURSES_EXPORT_VAR(const char *) _nc_tputs_trace; -extern NCURSES_EXPORT_VAR(long) _nc_outchars; -extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing; - -#if USE_WIDEC_SUPPORT -extern NCURSES_EXPORT(const char *) _nc_viswbuf2 (int, const wchar_t *); -extern NCURSES_EXPORT(const char *) _nc_viswbufn (const wchar_t *, int); -extern NCURSES_EXPORT(const char *) _nc_viscbuf2 (int, const cchar_t *, int); -extern NCURSES_EXPORT(const char *) _nc_viscbuf (const cchar_t *, int); -#endif - -#else /* !TRACE */ - -#define START_TRACE() /* nothing */ - -#define T(a) -#define TR(n, a) -#define TPUTS_TRACE(s) - -#define returnAttr(code) return code -#define returnBits(code) return code -#define returnBool(code) return code -#define returnCPtr(code) return code -#define returnCVoidPtr(code) return code -#define returnChar(code) return code -#define returnCode(code) return code -#define returnPtr(code) return code -#define returnSP(code) return code -#define returnVoid return -#define returnVoidPtr(code) return code -#define returnWin(code) return code - -#endif /* TRACE/!TRACE */ - -extern NCURSES_EXPORT(const char *) _nc_visbuf2 (int, const char *); -extern NCURSES_EXPORT(const char *) _nc_visbufn (const char *, int); - -#define empty_module(name) \ -extern NCURSES_EXPORT(void) name (void); \ - NCURSES_EXPORT(void) name (void) { } - -#define ALL_BUT_COLOR ((chtype)~(A_COLOR)) -#define NONBLANK_ATTR (A_NORMAL|A_BOLD|A_DIM|A_BLINK) -#define XMC_CHANGES(c) ((c) & SP->_xmc_suppress) - -#define toggle_attr_on(S,at) {\ - if (PAIR_NUMBER(at) > 0) {\ - (S) = ((S) & ALL_BUT_COLOR) | (at);\ - } else {\ - (S) |= (at);\ - }\ - TR(TRACE_ATTRS, ("new attribute is %s", _traceattr((S))));} - - -#define toggle_attr_off(S,at) {\ - if (PAIR_NUMBER(at) > 0) {\ - (S) &= ~(at|A_COLOR);\ - } else {\ - (S) &= ~(at);\ - }\ - TR(TRACE_ATTRS, ("new attribute is %s", _traceattr((S))));} - -#define DelCharCost(count) \ - ((parm_dch != 0) \ - ? SP->_dch_cost \ - : ((delete_character != 0) \ - ? (SP->_dch1_cost * count) \ - : INFINITY)) - -#define InsCharCost(count) \ - ((parm_ich != 0) \ - ? SP->_ich_cost \ - : ((enter_insert_mode && exit_insert_mode) \ - ? SP->_smir_cost + SP->_rmir_cost + (SP->_ip_cost * count) \ - : ((insert_character != 0) \ - ? ((SP->_ich1_cost + SP->_ip_cost) * count) \ - : INFINITY))) - -#if USE_XMC_SUPPORT -#define UpdateAttrs(c) if (!SameAttrOf(SCREEN_ATTRS(SP), c)) { \ - attr_t chg = AttrOf(SCREEN_ATTRS(SP)); \ - VIDATTR(AttrOf(c), GetPair(c)); \ - if (magic_cookie_glitch > 0 \ - && XMC_CHANGES((chg ^ AttrOf(SCREEN_ATTRS(SP))))) { \ - T(("%s @%d before glitch %d,%d", \ - __FILE__, __LINE__, \ - SP->_cursrow, \ - SP->_curscol)); \ - _nc_do_xmc_glitch(chg); \ - } \ - } -#else -#define UpdateAttrs(c) if (!SameAttrOf(SCREEN_ATTRS(SP), c)) \ - VIDATTR(AttrOf(c), GetPair(c)); -#endif - -/* - * Macros to make additional parameter to implement wgetch_events() - */ -#ifdef NCURSES_WGETCH_EVENTS -#define EVENTLIST_0th(param) param -#define EVENTLIST_1st(param) param -#define EVENTLIST_2nd(param) , param -#else -#define EVENTLIST_0th(param) void -#define EVENTLIST_1st(param) /* nothing */ -#define EVENTLIST_2nd(param) /* nothing */ -#endif - -#if NCURSES_EXPANDED && NCURSES_EXT_FUNCS - -#undef toggle_attr_on -#define toggle_attr_on(S,at) _nc_toggle_attr_on(&(S), at) -extern NCURSES_EXPORT(void) _nc_toggle_attr_on (attr_t *, attr_t); - -#undef toggle_attr_off -#define toggle_attr_off(S,at) _nc_toggle_attr_off(&(S), at) -extern NCURSES_EXPORT(void) _nc_toggle_attr_off (attr_t *, attr_t); - -#undef DelCharCost -#define DelCharCost(count) _nc_DelCharCost(count) -extern NCURSES_EXPORT(int) _nc_DelCharCost (int); - -#undef InsCharCost -#define InsCharCost(count) _nc_InsCharCost(count) -extern NCURSES_EXPORT(int) _nc_InsCharCost (int); - -#undef UpdateAttrs -#define UpdateAttrs(c) _nc_UpdateAttrs(c) -extern NCURSES_EXPORT(void) _nc_UpdateAttrs (NCURSES_CH_T); - -#else - -extern NCURSES_EXPORT(void) _nc_expanded (void); - -#endif - -#if !HAVE_GETCWD -#define getcwd(buf,len) getwd(buf) -#endif - -/* charable.c */ -#if USE_WIDEC_SUPPORT -extern NCURSES_EXPORT(bool) _nc_is_charable(wchar_t); -extern NCURSES_EXPORT(int) _nc_to_char(wint_t); -extern NCURSES_EXPORT(wint_t) _nc_to_widechar(int); -#endif - -/* doupdate.c */ -#if USE_XMC_SUPPORT -extern NCURSES_EXPORT(void) _nc_do_xmc_glitch (attr_t); -#endif - -/* hardscroll.c */ -#if defined(TRACE) || defined(SCROLLDEBUG) || defined(HASHDEBUG) -extern NCURSES_EXPORT(void) _nc_linedump (void); -#endif - -/* lib_acs.c */ -extern NCURSES_EXPORT(void) _nc_init_acs (void); /* corresponds to traditional 'init_acs()' */ -extern NCURSES_EXPORT(int) _nc_msec_cost (const char *const, int); /* used by 'tack' program */ - -/* lib_addch.c */ -#if USE_WIDEC_SUPPORT -NCURSES_EXPORT(int) _nc_build_wch(WINDOW *win, ARG_CH_T ch); -#endif - -/* lib_addstr.c */ -#if USE_WIDEC_SUPPORT && !defined(USE_TERMLIB) -extern NCURSES_EXPORT(int) _nc_wchstrlen(const cchar_t *); -#endif - -/* lib_color.c */ -extern NCURSES_EXPORT(bool) _nc_reset_colors(void); - -/* lib_getch.c */ -extern NCURSES_EXPORT(int) _nc_wgetch(WINDOW *, unsigned long *, int EVENTLIST_2nd(_nc_eventlist *)); - -/* lib_insch.c */ -extern NCURSES_EXPORT(int) _nc_insert_ch(WINDOW *, chtype); - -/* lib_mvcur.c */ -#define INFINITY 1000000 /* cost: too high to use */ - -extern NCURSES_EXPORT(void) _nc_mvcur_init (void); -extern NCURSES_EXPORT(void) _nc_mvcur_resume (void); -extern NCURSES_EXPORT(void) _nc_mvcur_wrap (void); - -extern NCURSES_EXPORT(int) _nc_scrolln (int, int, int, int); - -extern NCURSES_EXPORT(void) _nc_screen_init (void); -extern NCURSES_EXPORT(void) _nc_screen_resume (void); -extern NCURSES_EXPORT(void) _nc_screen_wrap (void); - -/* lib_mouse.c */ -extern NCURSES_EXPORT(int) _nc_has_mouse (void); - -/* lib_mvcur.c */ -#define INFINITY 1000000 /* cost: too high to use */ -#define BAUDBYTE 9 /* 9 = 7 bits + 1 parity + 1 stop */ - -/* lib_setup.c */ -extern NCURSES_EXPORT(char *) _nc_get_locale(void); -extern NCURSES_EXPORT(int) _nc_unicode_locale(void); -extern NCURSES_EXPORT(int) _nc_locale_breaks_acs(void); -extern NCURSES_EXPORT(int) _nc_setupterm(NCURSES_CONST char *, int , int *, bool); - -/* lib_wacs.c */ -#if USE_WIDEC_SUPPORT -extern NCURSES_EXPORT(void) _nc_init_wacs(void); -#endif - -typedef struct { - char *s_head; /* beginning of the string (may be null) */ - char *s_tail; /* end of the string (may be null) */ - size_t s_size; /* current remaining size available */ - size_t s_init; /* total size available */ -} string_desc; - -/* strings.c */ -extern NCURSES_EXPORT(string_desc *) _nc_str_init (string_desc *, char *, size_t); -extern NCURSES_EXPORT(string_desc *) _nc_str_null (string_desc *, size_t); -extern NCURSES_EXPORT(string_desc *) _nc_str_copy (string_desc *, string_desc *); -extern NCURSES_EXPORT(bool) _nc_safe_strcat (string_desc *, const char *); -extern NCURSES_EXPORT(bool) _nc_safe_strcpy (string_desc *, const char *); - -#if !HAVE_STRSTR -#define strstr _nc_strstr -extern NCURSES_EXPORT(char *) _nc_strstr (const char *, const char *); -#endif - -/* safe_sprintf.c */ -extern NCURSES_EXPORT(char *) _nc_printf_string (const char *, va_list); - -/* tries.c */ -extern NCURSES_EXPORT(void) _nc_add_to_try (struct tries **, const char *, unsigned short); -extern NCURSES_EXPORT(char *) _nc_expand_try (struct tries *, unsigned short, int *, size_t); -extern NCURSES_EXPORT(int) _nc_remove_key (struct tries **, unsigned short); -extern NCURSES_EXPORT(int) _nc_remove_string (struct tries **, const char *); - -/* elsewhere ... */ -extern NCURSES_EXPORT(ENTRY *) _nc_delink_entry(ENTRY *, TERMTYPE *); -extern NCURSES_EXPORT(WINDOW *) _nc_makenew (int, int, int, int, int); -extern NCURSES_EXPORT(char *) _nc_home_terminfo (void); -extern NCURSES_EXPORT(char *) _nc_trace_buf (int, size_t); -extern NCURSES_EXPORT(char *) _nc_trace_bufcat (int, const char *); -extern NCURSES_EXPORT(int) _nc_access (const char *, int); -extern NCURSES_EXPORT(int) _nc_baudrate (int); -extern NCURSES_EXPORT(int) _nc_freewin (WINDOW *); -extern NCURSES_EXPORT(int) _nc_getenv_num (const char *); -extern NCURSES_EXPORT(int) _nc_keypad (bool); -extern NCURSES_EXPORT(int) _nc_ospeed (int); -extern NCURSES_EXPORT(int) _nc_outch (int); -extern NCURSES_EXPORT(int) _nc_setupscreen (short, short const, FILE *); -extern NCURSES_EXPORT(int) _nc_timed_wait(int, int, int * EVENTLIST_2nd(_nc_eventlist *)); -extern NCURSES_EXPORT(void) _nc_do_color (int, int, bool, int (*)(int)); -extern NCURSES_EXPORT(void) _nc_flush (void); -extern NCURSES_EXPORT(void) _nc_free_entry(ENTRY *, TERMTYPE *); -extern NCURSES_EXPORT(void) _nc_freeall (void); -extern NCURSES_EXPORT(void) _nc_hash_map (void); -extern NCURSES_EXPORT(void) _nc_init_keytry (void); -extern NCURSES_EXPORT(void) _nc_keep_tic_dir (const char *); -extern NCURSES_EXPORT(void) _nc_make_oldhash (int i); -extern NCURSES_EXPORT(void) _nc_scroll_oldhash (int n, int top, int bot); -extern NCURSES_EXPORT(void) _nc_scroll_optimize (void); -extern NCURSES_EXPORT(void) _nc_set_buffer (FILE *, bool); -extern NCURSES_EXPORT(void) _nc_signal_handler (bool); -extern NCURSES_EXPORT(void) _nc_synchook (WINDOW *); -extern NCURSES_EXPORT(void) _nc_trace_tries (struct tries *); - -#if NO_LEAKS -extern NCURSES_EXPORT(void) _nc_alloc_entry_leaks(void); -extern NCURSES_EXPORT(void) _nc_captoinfo_leaks(void); -extern NCURSES_EXPORT(void) _nc_comp_scan_leaks(void); -#endif - -#ifndef USE_TERMLIB -extern NCURSES_EXPORT(NCURSES_CH_T) _nc_render (WINDOW *, NCURSES_CH_T); -extern NCURSES_EXPORT(int) _nc_waddch_nosync (WINDOW *, const NCURSES_CH_T); -extern NCURSES_EXPORT(void) _nc_scroll_window (WINDOW *, int const, short const, short const, NCURSES_CH_T); -#endif - -#if USE_WIDEC_SUPPORT && !defined(USE_TERMLIB) -#ifdef linux -extern NCURSES_EXPORT(size_t) _nc_wcrtomb (char *, wchar_t, mbstate_t *); -#else -#define _nc_wcrtomb(s,wc,ps) wcrtomb(s,wc,ps) -#endif -#endif - -#if USE_SIZECHANGE -extern NCURSES_EXPORT(void) _nc_update_screensize (void); -#endif - -#if HAVE_RESIZETERM -extern NCURSES_EXPORT(void) _nc_resize_margins (WINDOW *); -#else -#define _nc_resize_margins(wp) /* nothing */ -#endif - -#ifdef NCURSES_WGETCH_EVENTS -extern NCURSES_EXPORT(int) _nc_eventlist_timeout(_nc_eventlist *); -#else -#define wgetch_events(win, evl) wgetch(win) -#define wgetnstr_events(win, str, maxlen, evl) wgetnstr(win, str, maxlen) -#endif - -/* - * Not everyone has vsscanf(), but we'd like to use it for scanw(). - */ -#if !HAVE_VSSCANF -extern int vsscanf(const char *str, const char *format, va_list __arg); -#endif - -/* scroll indices */ -extern NCURSES_EXPORT_VAR(int *) _nc_oldnums; - -#define USE_SETBUF_0 0 - -#define NC_BUFFERED(flag) _nc_set_buffer(SP->_ofp, flag) - -#define NC_OUTPUT ((SP != 0) ? SP->_ofp : stdout) - -/* - * On systems with a broken linker, define 'SP' as a function to force the - * linker to pull in the data-only module with 'SP'. - */ -#if BROKEN_LINKER -#define SP _nc_screen() -extern NCURSES_EXPORT(SCREEN *) _nc_screen (void); -extern NCURSES_EXPORT(int) _nc_alloc_screen (void); -extern NCURSES_EXPORT(void) _nc_set_screen (SCREEN *); -#else -/* current screen is private data; avoid possible linking conflicts too */ -extern NCURSES_EXPORT_VAR(SCREEN *) SP; -#define _nc_alloc_screen() ((SP = typeCalloc(SCREEN, 1)) != 0) -#define _nc_set_screen(sp) SP = sp -#endif - -/* - * We don't want to use the lines or columns capabilities internally, because - * if the application is running multiple screens under X, it's quite possible - * they could all have type xterm but have different sizes! So... - */ -#define screen_lines SP->_lines -#define screen_columns SP->_columns - -extern NCURSES_EXPORT_VAR(int) _nc_slk_format; /* != 0 if slk_init() called */ -extern NCURSES_EXPORT(int) _nc_slk_initialize (WINDOW *, int); - -/* - * Some constants related to SLK's - */ -#define MAX_SKEY_OLD 8 /* count of soft keys */ -#define MAX_SKEY_LEN_OLD 8 /* max length of soft key text */ -#define MAX_SKEY_PC 12 /* This is what most PC's have */ -#define MAX_SKEY_LEN_PC 5 - -/* Macro to check whether or not we use a standard format */ -#define SLK_STDFMT(fmt) (fmt < 3) -/* Macro to determine height of label window */ -#define SLK_LINES(fmt) (SLK_STDFMT(fmt) ? 1 : ((fmt) - 2)) - -#define MAX_SKEY(fmt) (SLK_STDFMT(fmt)? MAX_SKEY_OLD : MAX_SKEY_PC) -#define MAX_SKEY_LEN(fmt) (SLK_STDFMT(fmt)? MAX_SKEY_LEN_OLD : MAX_SKEY_LEN_PC) - -extern NCURSES_EXPORT(int) _nc_ripoffline (int line, int (*init)(WINDOW *,int)); - -/* - * Common error messages - */ -#define MSG_NO_MEMORY "Out of memory" -#define MSG_NO_INPUTS "Premature EOF" - -#ifdef __cplusplus -} -#endif - -#endif /* CURSES_PRIV_H */ diff --git a/src/libs/ncurses/ncurses/expanded.c b/src/libs/ncurses/ncurses/expanded.c deleted file mode 100644 index 9201cc76cf..0000000000 --- a/src/libs/ncurses/ncurses/expanded.c +++ /dev/null @@ -1,27 +0,0 @@ -/* generated by MKexpanded.sh */ -#include -#include -#if NCURSES_EXPANDED - void _nc_toggle_attr_on (attr_t *S, attr_t at) -{ - { if (PAIR_NUMBER( at ) > 0) { ( *S ) = (( *S ) & ALL_BUT_COLOR) | ( at ); } else { ( *S ) |= ( at ); } ;} ; -} - void _nc_toggle_attr_off (attr_t *S, attr_t at) -{ - { if (PAIR_NUMBER( at ) > 0) { ( *S ) &= ~( at | (( ((1UL) << 8) - 1UL ) << (( 0 ) + 8 )) ); } else { ( *S ) &= ~( at ); } ;} ; -} - int _nc_DelCharCost (int count) -{ - return ((cur_term->type. Strings[105] != 0) ? SP->_dch_cost : ((cur_term->type. Strings[21] != 0) ? (SP->_dch1_cost * count ) : 1000000 )) ; -} - int _nc_InsCharCost (int count) -{ - return ((cur_term->type. Strings[108] != 0) ? SP->_ich_cost : ((cur_term->type. Strings[31] && cur_term->type. Strings[42] ) ? SP->_smir_cost + SP->_rmir_cost + (SP->_ip_cost * count ) : ((cur_term->type. Strings[52] != 0) ? ((SP->_ich1_cost + SP->_ip_cost) * count ) : 1000000 ))) ; -} - void _nc_UpdateAttrs (chtype c) -{ - if (! ((( (*(( SP )->_current_attr)) ) & (chtype)(( ~(1UL - 1UL) ) << (( 0 ) + 8 )) ) == (( c ) & (chtype)(( ~(1UL - 1UL) ) << (( 0 ) + 8 )) ) ) ) vidattr( (( c ) & (chtype)(( ~(1UL - 1UL) ) << (( 0 ) + 8 )) ) ) ; ; -} -#else /* ! NCURSES_EXPANDED */ -NCURSES_EXPORT(void) _nc_expanded (void) { } -#endif /* NCURSES_EXPANDED */ diff --git a/src/libs/ncurses/ncurses/fallback.c b/src/libs/ncurses/ncurses/fallback.c deleted file mode 100644 index a94e4ae495..0000000000 --- a/src/libs/ncurses/ncurses/fallback.c +++ /dev/null @@ -1,12 +0,0 @@ -/* - * DO NOT EDIT THIS FILE BY HAND! It is generated by MKfallback.sh. - */ - -#include -#include - -NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *name GCC_UNUSED) -{ - /* the fallback list is empty */ - return((TERMTYPE *)0); -} diff --git a/src/libs/ncurses/ncurses/fifo_defs.h b/src/libs/ncurses/ncurses/fifo_defs.h deleted file mode 100644 index 67799577ae..0000000000 --- a/src/libs/ncurses/ncurses/fifo_defs.h +++ /dev/null @@ -1,59 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * Common macros for lib_getch.c, lib_ungetch.c - * - * $Id: fifo_defs.h,v 1.4 2002/03/16 20:47:50 tom Exp $ - */ - -#ifndef FIFO_DEFS_H -#define FIFO_DEFS_H 1 - -#define head SP->_fifohead -#define tail SP->_fifotail -/* peek points to next uninterpreted character */ -#define peek SP->_fifopeek - -#define h_inc() { head == FIFO_SIZE-1 ? head = 0 : head++; if (head == tail) head = -1, tail = 0;} -#define h_dec() { head == 0 ? head = FIFO_SIZE-1 : head--; if (head == tail) tail = -1;} -#define t_inc() { tail == FIFO_SIZE-1 ? tail = 0 : tail++; if (tail == head) tail = -1;} -#define t_dec() { tail == 0 ? tail = FIFO_SIZE-1 : tail--; if (head == tail) fifo_clear();} -#define p_inc() { peek == FIFO_SIZE-1 ? peek = 0 : peek++;} - -#define cooked_key_in_fifo() ((head != -1) && (peek != head)) -#define raw_key_in_fifo() ((head != -1) && (peek != tail)) - -#undef HIDE_EINTR - -#endif /* FIFO_DEFS_H */ diff --git a/src/libs/ncurses/ncurses/init_keytry.h b/src/libs/ncurses/ncurses/init_keytry.h deleted file mode 100644 index 5d95b1a158..0000000000 --- a/src/libs/ncurses/ncurses/init_keytry.h +++ /dev/null @@ -1,162 +0,0 @@ -#ifndef NCU_KEYS_H -#define NCU_KEYS_H 1 - -/* This file was generated by MAKE_KEYS */ - -#if BROKEN_LINKER -static -#endif -struct tinfo_fkeys _nc_tinfo_fkeys[] = { - { 139, KEY_A1 }, /* key_a1 */ - { 140, KEY_A3 }, /* key_a3 */ - { 141, KEY_B2 }, /* key_b2 */ - { 55, KEY_BACKSPACE }, /* key_backspace */ - { 158, KEY_BEG }, /* key_beg */ - { 148, KEY_BTAB }, /* key_btab */ - { 142, KEY_C1 }, /* key_c1 */ - { 143, KEY_C3 }, /* key_c3 */ - { 159, KEY_CANCEL }, /* key_cancel */ - { 56, KEY_CATAB }, /* key_catab */ - { 57, KEY_CLEAR }, /* key_clear */ - { 160, KEY_CLOSE }, /* key_close */ - { 161, KEY_COMMAND }, /* key_command */ - { 162, KEY_COPY }, /* key_copy */ - { 163, KEY_CREATE }, /* key_create */ - { 58, KEY_CTAB }, /* key_ctab */ - { 59, KEY_DC }, /* key_dc */ - { 60, KEY_DL }, /* key_dl */ - { 61, KEY_DOWN }, /* key_down */ - { 62, KEY_EIC }, /* key_eic */ - { 164, KEY_END }, /* key_end */ - { 165, KEY_ENTER }, /* key_enter */ - { 63, KEY_EOL }, /* key_eol */ - { 64, KEY_EOS }, /* key_eos */ - { 166, KEY_EXIT }, /* key_exit */ - { 65, KEY_F(0) }, /* key_f0 */ - { 66, KEY_F(1) }, /* key_f1 */ - { 67, KEY_F(10) }, /* key_f10 */ - { 216, KEY_F(11) }, /* key_f11 */ - { 217, KEY_F(12) }, /* key_f12 */ - { 218, KEY_F(13) }, /* key_f13 */ - { 219, KEY_F(14) }, /* key_f14 */ - { 220, KEY_F(15) }, /* key_f15 */ - { 221, KEY_F(16) }, /* key_f16 */ - { 222, KEY_F(17) }, /* key_f17 */ - { 223, KEY_F(18) }, /* key_f18 */ - { 224, KEY_F(19) }, /* key_f19 */ - { 68, KEY_F(2) }, /* key_f2 */ - { 225, KEY_F(20) }, /* key_f20 */ - { 226, KEY_F(21) }, /* key_f21 */ - { 227, KEY_F(22) }, /* key_f22 */ - { 228, KEY_F(23) }, /* key_f23 */ - { 229, KEY_F(24) }, /* key_f24 */ - { 230, KEY_F(25) }, /* key_f25 */ - { 231, KEY_F(26) }, /* key_f26 */ - { 232, KEY_F(27) }, /* key_f27 */ - { 233, KEY_F(28) }, /* key_f28 */ - { 234, KEY_F(29) }, /* key_f29 */ - { 69, KEY_F(3) }, /* key_f3 */ - { 235, KEY_F(30) }, /* key_f30 */ - { 236, KEY_F(31) }, /* key_f31 */ - { 237, KEY_F(32) }, /* key_f32 */ - { 238, KEY_F(33) }, /* key_f33 */ - { 239, KEY_F(34) }, /* key_f34 */ - { 240, KEY_F(35) }, /* key_f35 */ - { 241, KEY_F(36) }, /* key_f36 */ - { 242, KEY_F(37) }, /* key_f37 */ - { 243, KEY_F(38) }, /* key_f38 */ - { 244, KEY_F(39) }, /* key_f39 */ - { 70, KEY_F(4) }, /* key_f4 */ - { 245, KEY_F(40) }, /* key_f40 */ - { 246, KEY_F(41) }, /* key_f41 */ - { 247, KEY_F(42) }, /* key_f42 */ - { 248, KEY_F(43) }, /* key_f43 */ - { 249, KEY_F(44) }, /* key_f44 */ - { 250, KEY_F(45) }, /* key_f45 */ - { 251, KEY_F(46) }, /* key_f46 */ - { 252, KEY_F(47) }, /* key_f47 */ - { 253, KEY_F(48) }, /* key_f48 */ - { 254, KEY_F(49) }, /* key_f49 */ - { 71, KEY_F(5) }, /* key_f5 */ - { 255, KEY_F(50) }, /* key_f50 */ - { 256, KEY_F(51) }, /* key_f51 */ - { 257, KEY_F(52) }, /* key_f52 */ - { 258, KEY_F(53) }, /* key_f53 */ - { 259, KEY_F(54) }, /* key_f54 */ - { 260, KEY_F(55) }, /* key_f55 */ - { 261, KEY_F(56) }, /* key_f56 */ - { 262, KEY_F(57) }, /* key_f57 */ - { 263, KEY_F(58) }, /* key_f58 */ - { 264, KEY_F(59) }, /* key_f59 */ - { 72, KEY_F(6) }, /* key_f6 */ - { 265, KEY_F(60) }, /* key_f60 */ - { 266, KEY_F(61) }, /* key_f61 */ - { 267, KEY_F(62) }, /* key_f62 */ - { 268, KEY_F(63) }, /* key_f63 */ - { 73, KEY_F(7) }, /* key_f7 */ - { 74, KEY_F(8) }, /* key_f8 */ - { 75, KEY_F(9) }, /* key_f9 */ - { 167, KEY_FIND }, /* key_find */ - { 168, KEY_HELP }, /* key_help */ - { 76, KEY_HOME }, /* key_home */ - { 77, KEY_IC }, /* key_ic */ - { 78, KEY_IL }, /* key_il */ - { 79, KEY_LEFT }, /* key_left */ - { 80, KEY_LL }, /* key_ll */ - { 169, KEY_MARK }, /* key_mark */ - { 170, KEY_MESSAGE }, /* key_message */ - { 355, KEY_MOUSE }, /* key_mouse */ - { 171, KEY_MOVE }, /* key_move */ - { 172, KEY_NEXT }, /* key_next */ - { 81, KEY_NPAGE }, /* key_npage */ - { 173, KEY_OPEN }, /* key_open */ - { 174, KEY_OPTIONS }, /* key_options */ - { 82, KEY_PPAGE }, /* key_ppage */ - { 175, KEY_PREVIOUS }, /* key_previous */ - { 176, KEY_PRINT }, /* key_print */ - { 177, KEY_REDO }, /* key_redo */ - { 178, KEY_REFERENCE }, /* key_reference */ - { 179, KEY_REFRESH }, /* key_refresh */ - { 180, KEY_REPLACE }, /* key_replace */ - { 181, KEY_RESTART }, /* key_restart */ - { 182, KEY_RESUME }, /* key_resume */ - { 83, KEY_RIGHT }, /* key_right */ - { 183, KEY_SAVE }, /* key_save */ - { 186, KEY_SBEG }, /* key_sbeg */ - { 187, KEY_SCANCEL }, /* key_scancel */ - { 188, KEY_SCOMMAND }, /* key_scommand */ - { 189, KEY_SCOPY }, /* key_scopy */ - { 190, KEY_SCREATE }, /* key_screate */ - { 191, KEY_SDC }, /* key_sdc */ - { 192, KEY_SDL }, /* key_sdl */ - { 193, KEY_SELECT }, /* key_select */ - { 194, KEY_SEND }, /* key_send */ - { 195, KEY_SEOL }, /* key_seol */ - { 196, KEY_SEXIT }, /* key_sexit */ - { 84, KEY_SF }, /* key_sf */ - { 197, KEY_SFIND }, /* key_sfind */ - { 198, KEY_SHELP }, /* key_shelp */ - { 199, KEY_SHOME }, /* key_shome */ - { 200, KEY_SIC }, /* key_sic */ - { 201, KEY_SLEFT }, /* key_sleft */ - { 202, KEY_SMESSAGE }, /* key_smessage */ - { 203, KEY_SMOVE }, /* key_smove */ - { 204, KEY_SNEXT }, /* key_snext */ - { 205, KEY_SOPTIONS }, /* key_soptions */ - { 206, KEY_SPREVIOUS }, /* key_sprevious */ - { 207, KEY_SPRINT }, /* key_sprint */ - { 85, KEY_SR }, /* key_sr */ - { 208, KEY_SREDO }, /* key_sredo */ - { 209, KEY_SREPLACE }, /* key_sreplace */ - { 210, KEY_SRIGHT }, /* key_sright */ - { 211, KEY_SRSUME }, /* key_srsume */ - { 212, KEY_SSAVE }, /* key_ssave */ - { 213, KEY_SSUSPEND }, /* key_ssuspend */ - { 86, KEY_STAB }, /* key_stab */ - { 214, KEY_SUNDO }, /* key_sundo */ - { 184, KEY_SUSPEND }, /* key_suspend */ - { 185, KEY_UNDO }, /* key_undo */ - { 87, KEY_UP }, /* key_up */ - { 0, 0} }; - -#endif /* NCU_KEYS_H */ diff --git a/src/libs/ncurses/ncurses/keys.list b/src/libs/ncurses/ncurses/keys.list deleted file mode 100644 index 3cb4bf460d..0000000000 --- a/src/libs/ncurses/ncurses/keys.list +++ /dev/null @@ -1,155 +0,0 @@ -# These definitions were generated by ./tinfo/MKkeys_list.sh ../include/Caps -KEY_A1 key_a1 -KEY_A3 key_a3 -KEY_B2 key_b2 -KEY_BACKSPACE key_backspace -KEY_BEG key_beg -KEY_BREAK -KEY_BTAB key_btab -KEY_C1 key_c1 -KEY_C3 key_c3 -KEY_CANCEL key_cancel -KEY_CATAB key_catab -KEY_CLEAR key_clear -KEY_CLOSE key_close -KEY_COMMAND key_command -KEY_COPY key_copy -KEY_CREATE key_create -KEY_CTAB key_ctab -KEY_DC key_dc -KEY_DL key_dl -KEY_DOWN key_down -KEY_EIC key_eic -KEY_END key_end -KEY_ENTER key_enter -KEY_EOL key_eol -KEY_EOS key_eos -KEY_EXIT key_exit -KEY_F(0) key_f0 -KEY_F(1) key_f1 -KEY_F(10) key_f10 -KEY_F(11) key_f11 -KEY_F(12) key_f12 -KEY_F(13) key_f13 -KEY_F(14) key_f14 -KEY_F(15) key_f15 -KEY_F(16) key_f16 -KEY_F(17) key_f17 -KEY_F(18) key_f18 -KEY_F(19) key_f19 -KEY_F(2) key_f2 -KEY_F(20) key_f20 -KEY_F(21) key_f21 -KEY_F(22) key_f22 -KEY_F(23) key_f23 -KEY_F(24) key_f24 -KEY_F(25) key_f25 -KEY_F(26) key_f26 -KEY_F(27) key_f27 -KEY_F(28) key_f28 -KEY_F(29) key_f29 -KEY_F(3) key_f3 -KEY_F(30) key_f30 -KEY_F(31) key_f31 -KEY_F(32) key_f32 -KEY_F(33) key_f33 -KEY_F(34) key_f34 -KEY_F(35) key_f35 -KEY_F(36) key_f36 -KEY_F(37) key_f37 -KEY_F(38) key_f38 -KEY_F(39) key_f39 -KEY_F(4) key_f4 -KEY_F(40) key_f40 -KEY_F(41) key_f41 -KEY_F(42) key_f42 -KEY_F(43) key_f43 -KEY_F(44) key_f44 -KEY_F(45) key_f45 -KEY_F(46) key_f46 -KEY_F(47) key_f47 -KEY_F(48) key_f48 -KEY_F(49) key_f49 -KEY_F(5) key_f5 -KEY_F(50) key_f50 -KEY_F(51) key_f51 -KEY_F(52) key_f52 -KEY_F(53) key_f53 -KEY_F(54) key_f54 -KEY_F(55) key_f55 -KEY_F(56) key_f56 -KEY_F(57) key_f57 -KEY_F(58) key_f58 -KEY_F(59) key_f59 -KEY_F(6) key_f6 -KEY_F(60) key_f60 -KEY_F(61) key_f61 -KEY_F(62) key_f62 -KEY_F(63) key_f63 -KEY_F(7) key_f7 -KEY_F(8) key_f8 -KEY_F(9) key_f9 -KEY_FIND key_find -KEY_HELP key_help -KEY_HOME key_home -KEY_IC key_ic -KEY_IL key_il -KEY_LEFT key_left -KEY_LL key_ll -KEY_MARK key_mark -KEY_MESSAGE key_message -KEY_MOUSE key_mouse -KEY_MOVE key_move -KEY_NEXT key_next -KEY_NPAGE key_npage -KEY_OPEN key_open -KEY_OPTIONS key_options -KEY_PPAGE key_ppage -KEY_PREVIOUS key_previous -KEY_PRINT key_print -KEY_REDO key_redo -KEY_REFERENCE key_reference -KEY_REFRESH key_refresh -KEY_REPLACE key_replace -KEY_RESET -KEY_RESIZE -KEY_RESTART key_restart -KEY_RESUME key_resume -KEY_RIGHT key_right -KEY_SAVE key_save -KEY_SBEG key_sbeg -KEY_SCANCEL key_scancel -KEY_SCOMMAND key_scommand -KEY_SCOPY key_scopy -KEY_SCREATE key_screate -KEY_SDC key_sdc -KEY_SDL key_sdl -KEY_SELECT key_select -KEY_SEND key_send -KEY_SEOL key_seol -KEY_SEXIT key_sexit -KEY_SF key_sf -KEY_SFIND key_sfind -KEY_SHELP key_shelp -KEY_SHOME key_shome -KEY_SIC key_sic -KEY_SLEFT key_sleft -KEY_SMESSAGE key_smessage -KEY_SMOVE key_smove -KEY_SNEXT key_snext -KEY_SOPTIONS key_soptions -KEY_SPREVIOUS key_sprevious -KEY_SPRINT key_sprint -KEY_SR key_sr -KEY_SREDO key_sredo -KEY_SREPLACE key_sreplace -KEY_SRESET -KEY_SRIGHT key_sright -KEY_SRSUME key_srsume -KEY_SSAVE key_ssave -KEY_SSUSPEND key_ssuspend -KEY_STAB key_stab -KEY_SUNDO key_sundo -KEY_SUSPEND key_suspend -KEY_UNDO key_undo -KEY_UP key_up diff --git a/src/libs/ncurses/ncurses/lib_gen.c b/src/libs/ncurses/ncurses/lib_gen.c deleted file mode 100644 index e2e1f008f7..0000000000 --- a/src/libs/ncurses/ncurses/lib_gen.c +++ /dev/null @@ -1,825 +0,0 @@ -/* - * DO NOT EDIT THIS FILE BY HAND! - * It is generated by ./base/MKlib_gen.sh generated. - * - * This is a file of trivial functions generated from macro - * definitions in curses.h to satisfy the XSI Curses requirement - * that every macro also exist as a callable function. - * - * It will never be linked unless you call one of the entry - * points with its normal macro definition disabled. In that - * case, if you have no shared libraries, it will indirectly - * pull most of the rest of the library into your link image. - */ -#include - - -#undef addch -NCURSES_EXPORT(int) addch (const chtype z) -{ - T((T_CALLED("addch(%s)"), _tracechtype2(0,z))); returnCode(waddch(stdscr, z)); -} - - -#undef addchnstr -NCURSES_EXPORT(int) addchnstr (const chtype * a1, int z) -{ - T((T_CALLED("addchnstr(%p,%d)"), a1, z)); returnCode(waddchnstr(stdscr, a1, z)); -} - - -#undef addchstr -NCURSES_EXPORT(int) addchstr (const chtype * z) -{ - T((T_CALLED("addchstr(%p)"), z)); returnCode(waddchnstr(stdscr, z,-1)); -} - - -#undef addnstr -NCURSES_EXPORT(int) addnstr (const char * a1, int z) -{ - T((T_CALLED("addnstr(%s,%d)"), _nc_visbuf2(0,a1), z)); returnCode(waddnstr(stdscr, a1, z)); -} - - -#undef addstr -NCURSES_EXPORT(int) addstr (const char * z) -{ - T((T_CALLED("addstr(%s)"), _nc_visbuf2(0,z))); returnCode(waddnstr(stdscr, z,-1)); -} - - -#undef attroff -NCURSES_EXPORT(int) attroff (attr_t z) -{ - T((T_CALLED("attroff(%s)"), _traceattr2(0,z))); returnCode(wattr_off(stdscr, (attr_t)(z), ((void *)0))); -} - - -#undef attron -NCURSES_EXPORT(int) attron (attr_t z) -{ - T((T_CALLED("attron(%s)"), _traceattr2(0,z))); returnCode(wattr_on(stdscr, (attr_t)(z), ((void *)0))); -} - - -#undef attrset -NCURSES_EXPORT(int) attrset (attr_t z) -{ - T((T_CALLED("attrset(%s)"), _traceattr2(0,z))); returnAttr(((stdscr)->_attrs = (z))); -} - - -#undef attr_get -NCURSES_EXPORT(int) attr_get (attr_t * a1, short * a2, void * z) -{ - T((T_CALLED("attr_get(%p,%p,%p)"), a1, a2, z)); returnCode(((void)((a1) != 0 && (*(a1) = (stdscr)->_attrs)), (void)((a2) != 0 && (*(a2) = ((int)(((((stdscr)->_attrs) & ((((1UL) << 8) - 1UL) << ((0) + 8))) >> 8))))), (0))); -} - - -#undef attr_off -NCURSES_EXPORT(int) attr_off (attr_t a1, void * z) -{ - T((T_CALLED("attr_off(%s,%p)"), _traceattr2(0,a1), z)); returnCode(wattr_off(stdscr, a1, z)); -} - - -#undef attr_on -NCURSES_EXPORT(int) attr_on (attr_t a1, void * z) -{ - T((T_CALLED("attr_on(%s,%p)"), _traceattr2(0,a1), z)); returnCode(wattr_on(stdscr, a1, z)); -} - - -#undef attr_set -NCURSES_EXPORT(int) attr_set (attr_t a1, short a2, void * z) -{ - T((T_CALLED("attr_set(%s,%d,%p)"), _traceattr2(0,a1), a2, z)); returnCode(((stdscr)->_attrs = (((a1) & ~((((1UL) << 8) - 1UL) << ((0) + 8))) | ((a2) << ((0) + 8))), (0))); -} - - -#undef bkgd -NCURSES_EXPORT(int) bkgd (chtype z) -{ - T((T_CALLED("bkgd(%s)"), _tracechtype2(0,z))); returnCode(wbkgd(stdscr, z)); -} - - -#undef bkgdset -NCURSES_EXPORT(void) bkgdset (chtype z) -{ - T((T_CALLED("bkgdset(%s)"), _tracechtype2(0,z))); wbkgdset(stdscr, z) ; - returnVoid; -} - - -#undef border -NCURSES_EXPORT(int) border (chtype a1, chtype a2, chtype a3, chtype a4, chtype a5, chtype a6, chtype a7, chtype z) -{ - T((T_CALLED("border(%s,%s,%s,%s,%s,%s,%s,%s)"), _tracechtype2(0,a1), _tracechtype2(1,a2), _tracechtype2(2,a3), _tracechtype2(3,a4), _tracechtype2(4,a5), _tracechtype2(5,a6), _tracechtype2(6,a7), _tracechtype2(7,z))); returnCode(wborder(stdscr, a1, a2, a3, a4, a5, a6, a7, z)); -} - - -#undef box -NCURSES_EXPORT(int) box (WINDOW * a1, chtype a2, chtype z) -{ - T((T_CALLED("box(%p,%s,%s)"), a1, _tracechtype2(1,a2), _tracechtype2(2,z))); returnCode(wborder(a1, a2, a2, z, z, 0, 0, 0, 0)); -} - - -#undef chgat -NCURSES_EXPORT(int) chgat (int a1, attr_t a2, short a3, const void * z) -{ - T((T_CALLED("chgat(%d,%s,%d,%p)"), a1, _traceattr2(1,a2), a3, z)); returnCode(wchgat(stdscr, a1, a2, a3, z)); -} - - -#undef clear -NCURSES_EXPORT(int) clear (void) -{ - T((T_CALLED("clear()"))); returnCode(wclear(stdscr)); -} - - -#undef clrtobot -NCURSES_EXPORT(int) clrtobot (void) -{ - T((T_CALLED("clrtobot()"))); returnCode(wclrtobot(stdscr)); -} - - -#undef clrtoeol -NCURSES_EXPORT(int) clrtoeol (void) -{ - T((T_CALLED("clrtoeol()"))); returnCode(wclrtoeol(stdscr)); -} - - -#undef color_set -NCURSES_EXPORT(int) color_set (short a1, void * z) -{ - T((T_CALLED("color_set(%d,%p)"), a1, z)); returnCode(wcolor_set(stdscr, a1, z)); -} - - -#undef COLOR_PAIR -NCURSES_EXPORT(int) COLOR_PAIR (int z) -{ - T((T_CALLED("COLOR_PAIR(%d)"), z)); returnCode(((z) << ((0) + 8))); -} - - -#undef delch -NCURSES_EXPORT(int) delch (void) -{ - T((T_CALLED("delch()"))); returnCode(wdelch(stdscr)); -} - - -#undef deleteln -NCURSES_EXPORT(int) deleteln (void) -{ - T((T_CALLED("deleteln()"))); returnCode(winsdelln(stdscr,-1)); -} - - -#undef echochar -NCURSES_EXPORT(int) echochar (const chtype z) -{ - T((T_CALLED("echochar(%s)"), _tracechtype2(0,z))); returnCode(wechochar(stdscr, z)); -} - - -#undef erase -NCURSES_EXPORT(int) erase (void) -{ - T((T_CALLED("erase()"))); returnCode(werase(stdscr)); -} - - -#undef getbkgd -NCURSES_EXPORT(chtype) getbkgd (WINDOW * z) -{ - T((T_CALLED("getbkgd(%p)"), z)); returnChar(((z)->_bkgd)); -} - - -#undef getch -NCURSES_EXPORT(int) getch (void) -{ - T((T_CALLED("getch()"))); returnCode(wgetch(stdscr)); -} - - -#undef getnstr -NCURSES_EXPORT(int) getnstr (char * a1, int z) -{ - T((T_CALLED("getnstr(%s,%d)"), _nc_visbuf2(0,a1), z)); returnCode(wgetnstr(stdscr, a1, z)); -} - - -#undef getstr -NCURSES_EXPORT(int) getstr (char * z) -{ - T((T_CALLED("getstr(%s)"), _nc_visbuf2(0,z))); returnCode(wgetnstr(stdscr, z, -1)); -} - - -#undef hline -NCURSES_EXPORT(int) hline (chtype a1, int z) -{ - T((T_CALLED("hline(%s,%d)"), _tracechtype2(0,a1), z)); returnCode(whline(stdscr, a1, z)); -} - - -#undef inch -NCURSES_EXPORT(chtype) inch (void) -{ - T((T_CALLED("inch()"))); returnChar(winch(stdscr)); -} - - -#undef inchnstr -NCURSES_EXPORT(int) inchnstr (chtype * a1, int z) -{ - T((T_CALLED("inchnstr(%p,%d)"), a1, z)); returnCode(winchnstr(stdscr, a1, z)); -} - - -#undef inchstr -NCURSES_EXPORT(int) inchstr (chtype * z) -{ - T((T_CALLED("inchstr(%p)"), z)); returnCode(winchnstr(stdscr, z, -1)); -} - - -#undef innstr -NCURSES_EXPORT(int) innstr (char * a1, int z) -{ - return winnstr(stdscr, a1, z) ; -} - - -#undef insch -NCURSES_EXPORT(int) insch (chtype z) -{ - T((T_CALLED("insch(%s)"), _tracechtype2(0,z))); returnCode(winsch(stdscr, z)); -} - - -#undef insdelln -NCURSES_EXPORT(int) insdelln (int z) -{ - T((T_CALLED("insdelln(%d)"), z)); returnCode(winsdelln(stdscr, z)); -} - - -#undef insertln -NCURSES_EXPORT(int) insertln (void) -{ - T((T_CALLED("insertln()"))); returnCode(winsdelln(stdscr,1)); -} - - -#undef insnstr -NCURSES_EXPORT(int) insnstr (const char * a1, int z) -{ - T((T_CALLED("insnstr(%s,%d)"), _nc_visbuf2(0,a1), z)); returnCode(winsnstr(stdscr, a1, z)); -} - - -#undef insstr -NCURSES_EXPORT(int) insstr (const char * z) -{ - T((T_CALLED("insstr(%s)"), _nc_visbuf2(0,z))); returnCode(winsnstr(stdscr, z, -1)); -} - - -#undef instr -NCURSES_EXPORT(int) instr (char * z) -{ - T((T_CALLED("instr(%s)"), _nc_visbuf2(0,z))); returnCode(winnstr(stdscr, z, -1)); -} - - -#undef move -NCURSES_EXPORT(int) move (int a1, int z) -{ - T((T_CALLED("move(%d,%d)"), a1, z)); returnCode(wmove(stdscr, a1, z)); -} - - -#undef mvaddch -NCURSES_EXPORT(int) mvaddch (int a1, int a2, const chtype z) -{ - T((T_CALLED("mvaddch(%d,%d,%s)"), a1, a2, _tracechtype2(2,z))); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : waddch(stdscr, z))); -} - - -#undef mvaddchnstr -NCURSES_EXPORT(int) mvaddchnstr (int a1, int a2, const chtype * a3, int z) -{ - T((T_CALLED("mvaddchnstr(%d,%d,%p,%d)"), a1, a2, a3, z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : waddchnstr(stdscr, a3, z))); -} - - -#undef mvaddchstr -NCURSES_EXPORT(int) mvaddchstr (int a1, int a2, const chtype * z) -{ - T((T_CALLED("mvaddchstr(%d,%d,%p)"), a1, a2, z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : waddchnstr(stdscr, z,-1))); -} - - -#undef mvaddnstr -NCURSES_EXPORT(int) mvaddnstr (int a1, int a2, const char * a3, int z) -{ - T((T_CALLED("mvaddnstr(%d,%d,%s,%d)"), a1, a2, _nc_visbuf2(2,a3), z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : waddnstr(stdscr, a3, z))); -} - - -#undef mvaddstr -NCURSES_EXPORT(int) mvaddstr (int a1, int a2, const char * z) -{ - T((T_CALLED("mvaddstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z))); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : waddnstr(stdscr, z,-1))); -} - - -#undef mvchgat -NCURSES_EXPORT(int) mvchgat (int a1, int a2, int a3, attr_t a4, short a5, const void * z) -{ - T((T_CALLED("mvchgat(%d,%d,%d,%s,%d,%p)"), a1, a2, a3, _traceattr2(3,a4), a5, z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : wchgat(stdscr, a3, a4, a5, z))); -} - - -#undef mvdelch -NCURSES_EXPORT(int) mvdelch (int a1, int z) -{ - T((T_CALLED("mvdelch(%d,%d)"), a1, z)); returnCode((wmove(stdscr, a1, z) == (-1) ? (-1) : wdelch(stdscr))); -} - - -#undef mvgetch -NCURSES_EXPORT(int) mvgetch (int a1, int z) -{ - T((T_CALLED("mvgetch(%d,%d)"), a1, z)); returnCode((wmove(stdscr, a1, z) == (-1) ? (-1) : wgetch(stdscr))); -} - - -#undef mvgetnstr -NCURSES_EXPORT(int) mvgetnstr (int a1, int a2, char * a3, int z) -{ - T((T_CALLED("mvgetnstr(%d,%d,%s,%d)"), a1, a2, _nc_visbuf2(2,a3), z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : wgetnstr(stdscr, a3, z))); -} - - -#undef mvgetstr -NCURSES_EXPORT(int) mvgetstr (int a1, int a2, char * z) -{ - T((T_CALLED("mvgetstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z))); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : wgetnstr(stdscr, z, -1))); -} - - -#undef mvhline -NCURSES_EXPORT(int) mvhline (int a1, int a2, chtype a3, int z) -{ - T((T_CALLED("mvhline(%d,%d,%s,%d)"), a1, a2, _tracechtype2(2,a3), z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : whline(stdscr, a3, z))); -} - - -#undef mvinch -NCURSES_EXPORT(chtype) mvinch (int a1, int z) -{ - T((T_CALLED("mvinch(%d,%d)"), a1, z)); returnChar((wmove(stdscr, a1, z) == (-1) ? (chtype)((-1)) : winch(stdscr))); -} - - -#undef mvinchnstr -NCURSES_EXPORT(int) mvinchnstr (int a1, int a2, chtype * a3, int z) -{ - T((T_CALLED("mvinchnstr(%d,%d,%p,%d)"), a1, a2, a3, z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : winchnstr(stdscr, a3, z))); -} - - -#undef mvinchstr -NCURSES_EXPORT(int) mvinchstr (int a1, int a2, chtype * z) -{ - T((T_CALLED("mvinchstr(%d,%d,%p)"), a1, a2, z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : winchnstr(stdscr, z, -1))); -} - - -#undef mvinnstr -NCURSES_EXPORT(int) mvinnstr (int a1, int a2, char * a3, int z) -{ - return (wmove(stdscr, a1, a2) == (-1) ? (-1) : winnstr(stdscr, a3, z)) ; -} - - -#undef mvinsch -NCURSES_EXPORT(int) mvinsch (int a1, int a2, chtype z) -{ - T((T_CALLED("mvinsch(%d,%d,%s)"), a1, a2, _tracechtype2(2,z))); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : winsch(stdscr, z))); -} - - -#undef mvinsnstr -NCURSES_EXPORT(int) mvinsnstr (int a1, int a2, const char * a3, int z) -{ - T((T_CALLED("mvinsnstr(%d,%d,%s,%d)"), a1, a2, _nc_visbuf2(2,a3), z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : winsnstr(stdscr, a3, z))); -} - - -#undef mvinsstr -NCURSES_EXPORT(int) mvinsstr (int a1, int a2, const char * z) -{ - T((T_CALLED("mvinsstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z))); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : winsnstr(stdscr, z, -1))); -} - - -#undef mvinstr -NCURSES_EXPORT(int) mvinstr (int a1, int a2, char * z) -{ - T((T_CALLED("mvinstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z))); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : winnstr(stdscr, z, -1))); -} - - -#undef mvvline -NCURSES_EXPORT(int) mvvline (int a1, int a2, chtype a3, int z) -{ - T((T_CALLED("mvvline(%d,%d,%s,%d)"), a1, a2, _tracechtype2(2,a3), z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : wvline(stdscr, a3, z))); -} - - -#undef mvwaddch -NCURSES_EXPORT(int) mvwaddch (WINDOW * a1, int a2, int a3, const chtype z) -{ - T((T_CALLED("mvwaddch(%p,%d,%d,%s)"), a1, a2, a3, _tracechtype2(3,z))); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : waddch(a1, z))); -} - - -#undef mvwaddchnstr -NCURSES_EXPORT(int) mvwaddchnstr (WINDOW * a1, int a2, int a3, const chtype * a4, int z) -{ - T((T_CALLED("mvwaddchnstr(%p,%d,%d,%p,%d)"), a1, a2, a3, a4, z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : waddchnstr(a1, a4, z))); -} - - -#undef mvwaddchstr -NCURSES_EXPORT(int) mvwaddchstr (WINDOW * a1, int a2, int a3, const chtype * z) -{ - T((T_CALLED("mvwaddchstr(%p,%d,%d,%p)"), a1, a2, a3, z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : waddchnstr(a1, z,-1))); -} - - -#undef mvwaddnstr -NCURSES_EXPORT(int) mvwaddnstr (WINDOW * a1, int a2, int a3, const char * a4, int z) -{ - T((T_CALLED("mvwaddnstr(%p,%d,%d,%s,%d)"), a1, a2, a3, _nc_visbuf2(3,a4), z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : waddnstr(a1, a4, z))); -} - - -#undef mvwaddstr -NCURSES_EXPORT(int) mvwaddstr (WINDOW * a1, int a2, int a3, const char * z) -{ - T((T_CALLED("mvwaddstr(%p,%d,%d,%s)"), a1, a2, a3, _nc_visbuf2(3,z))); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : waddnstr(a1, z,-1))); -} - - -#undef mvwchgat -NCURSES_EXPORT(int) mvwchgat (WINDOW * a1, int a2, int a3, int a4, attr_t a5, short a6, const void * z) -{ - T((T_CALLED("mvwchgat(%p,%d,%d,%d,%s,%d,%p)"), a1, a2, a3, a4, _traceattr2(4,a5), a6, z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : wchgat(a1, a4, a5, a6, z))); -} - - -#undef mvwdelch -NCURSES_EXPORT(int) mvwdelch (WINDOW * a1, int a2, int z) -{ - T((T_CALLED("mvwdelch(%p,%d,%d)"), a1, a2, z)); returnCode((wmove(a1, a2, z) == (-1) ? (-1) : wdelch(a1))); -} - - -#undef mvwgetch -NCURSES_EXPORT(int) mvwgetch (WINDOW * a1, int a2, int z) -{ - T((T_CALLED("mvwgetch(%p,%d,%d)"), a1, a2, z)); returnCode((wmove(a1, a2, z) == (-1) ? (-1) : wgetch(a1))); -} - - -#undef mvwgetnstr -NCURSES_EXPORT(int) mvwgetnstr (WINDOW * a1, int a2, int a3, char * a4, int z) -{ - T((T_CALLED("mvwgetnstr(%p,%d,%d,%s,%d)"), a1, a2, a3, _nc_visbuf2(3,a4), z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : wgetnstr(a1, a4, z))); -} - - -#undef mvwgetstr -NCURSES_EXPORT(int) mvwgetstr (WINDOW * a1, int a2, int a3, char * z) -{ - T((T_CALLED("mvwgetstr(%p,%d,%d,%s)"), a1, a2, a3, _nc_visbuf2(3,z))); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : wgetnstr(a1, z, -1))); -} - - -#undef mvwhline -NCURSES_EXPORT(int) mvwhline (WINDOW * a1, int a2, int a3, chtype a4, int z) -{ - T((T_CALLED("mvwhline(%p,%d,%d,%s,%d)"), a1, a2, a3, _tracechtype2(3,a4), z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : whline(a1, a4, z))); -} - - -#undef mvwinch -NCURSES_EXPORT(chtype) mvwinch (WINDOW * a1, int a2, int z) -{ - T((T_CALLED("mvwinch(%p,%d,%d)"), a1, a2, z)); returnChar((wmove(a1, a2, z) == (-1) ? (chtype)((-1)) : winch(a1))); -} - - -#undef mvwinchnstr -NCURSES_EXPORT(int) mvwinchnstr (WINDOW * a1, int a2, int a3, chtype * a4, int z) -{ - T((T_CALLED("mvwinchnstr(%p,%d,%d,%p,%d)"), a1, a2, a3, a4, z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : winchnstr(a1, a4, z))); -} - - -#undef mvwinchstr -NCURSES_EXPORT(int) mvwinchstr (WINDOW * a1, int a2, int a3, chtype * z) -{ - T((T_CALLED("mvwinchstr(%p,%d,%d,%p)"), a1, a2, a3, z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : winchnstr(a1, z, -1))); -} - - -#undef mvwinnstr -NCURSES_EXPORT(int) mvwinnstr (WINDOW * a1, int a2, int a3, char * a4, int z) -{ - return (wmove(a1, a2, a3) == (-1) ? (-1) : winnstr(a1, a4, z)) ; -} - - -#undef mvwinsch -NCURSES_EXPORT(int) mvwinsch (WINDOW * a1, int a2, int a3, chtype z) -{ - T((T_CALLED("mvwinsch(%p,%d,%d,%s)"), a1, a2, a3, _tracechtype2(3,z))); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : winsch(a1, z))); -} - - -#undef mvwinsnstr -NCURSES_EXPORT(int) mvwinsnstr (WINDOW * a1, int a2, int a3, const char * a4, int z) -{ - T((T_CALLED("mvwinsnstr(%p,%d,%d,%s,%d)"), a1, a2, a3, _nc_visbuf2(3,a4), z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : winsnstr(a1, a4, z))); -} - - -#undef mvwinsstr -NCURSES_EXPORT(int) mvwinsstr (WINDOW * a1, int a2, int a3, const char * z) -{ - T((T_CALLED("mvwinsstr(%p,%d,%d,%s)"), a1, a2, a3, _nc_visbuf2(3,z))); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : winsnstr(a1, z, -1))); -} - - -#undef mvwinstr -NCURSES_EXPORT(int) mvwinstr (WINDOW * a1, int a2, int a3, char * z) -{ - T((T_CALLED("mvwinstr(%p,%d,%d,%s)"), a1, a2, a3, _nc_visbuf2(3,z))); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : winnstr(a1, z, -1))); -} - - -#undef mvwvline -NCURSES_EXPORT(int) mvwvline (WINDOW * a1, int a2, int a3, chtype a4, int z) -{ - T((T_CALLED("mvwvline(%p,%d,%d,%s,%d)"), a1, a2, a3, _tracechtype2(3,a4), z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : wvline(a1, a4, z))); -} - - -#undef PAIR_NUMBER -NCURSES_EXPORT(int) PAIR_NUMBER (int z) -{ - T((T_CALLED("PAIR_NUMBER(%d)"), z)); returnCode(((int)((((z) & ((((1UL) << 8) - 1UL) << ((0) + 8))) >> 8)))); -} - - -#undef redrawwin -NCURSES_EXPORT(int) redrawwin (WINDOW * z) -{ - T((T_CALLED("redrawwin(%p)"), z)); returnCode(wredrawln(z, 0, (z)->_maxy+1)); -} - - -#undef refresh -NCURSES_EXPORT(int) refresh (void) -{ - T((T_CALLED("refresh()"))); returnCode(wrefresh(stdscr)); -} - - -#undef scrl -NCURSES_EXPORT(int) scrl (int z) -{ - T((T_CALLED("scrl(%d)"), z)); returnCode(wscrl(stdscr, z)); -} - - -#undef scroll -NCURSES_EXPORT(int) scroll (WINDOW * z) -{ - T((T_CALLED("scroll(%p)"), z)); returnCode(wscrl(z,1)); -} - - -#undef setscrreg -NCURSES_EXPORT(int) setscrreg (int a1, int z) -{ - T((T_CALLED("setscrreg(%d,%d)"), a1, z)); returnCode(wsetscrreg(stdscr, a1, z)); -} - - -#if USE_WIDEC_SUPPORT -#undef slk_attr_off -NCURSES_EXPORT(int) slk_attr_off (const attr_t a1, void * z) -{ - T((T_CALLED("slk_attr_off(%s,%p)"), _traceattr2(0,a1), z)); returnCode(((z) ? (-1) : slk_attroff(a1))); -} -#endif - - -#if USE_WIDEC_SUPPORT -#undef slk_attr_on -NCURSES_EXPORT(int) slk_attr_on (attr_t a1, void * z) -{ - T((T_CALLED("slk_attr_on(%s,%p)"), _traceattr2(0,a1), z)); returnCode(((z) ? (-1) : slk_attron(a1))); -} -#endif - - -#undef standout -NCURSES_EXPORT(int) standout (void) -{ - T((T_CALLED("standout()"))); returnAttr((((stdscr)->_attrs = (((1UL) << ((8) + 8)))))); -} - - -#undef standend -NCURSES_EXPORT(int) standend (void) -{ - T((T_CALLED("standend()"))); returnAttr((((stdscr)->_attrs = ((1UL - 1UL))))); -} - - -#undef timeout -NCURSES_EXPORT(void) timeout (int z) -{ - T((T_CALLED("timeout(%d)"), z)); wtimeout(stdscr, z) ; - returnVoid; -} - - -#undef touchline -NCURSES_EXPORT(int) touchline (WINDOW * a1, int a2, int z) -{ - T((T_CALLED("touchline(%p,%d,%d)"), a1, a2, z)); returnCode(wtouchln((a1), a2, z, 1)); -} - - -#undef touchwin -NCURSES_EXPORT(int) touchwin (WINDOW * z) -{ - T((T_CALLED("touchwin(%p)"), z)); returnCode(wtouchln((z), 0, ((z)?((z)->_maxy + 1): (-1)), 1)); -} - - -#undef untouchwin -NCURSES_EXPORT(int) untouchwin (WINDOW * z) -{ - T((T_CALLED("untouchwin(%p)"), z)); returnCode(wtouchln((z), 0, ((z)?((z)->_maxy + 1): (-1)), 0)); -} - - -#undef vline -NCURSES_EXPORT(int) vline (chtype a1, int z) -{ - T((T_CALLED("vline(%s,%d)"), _tracechtype2(0,a1), z)); returnCode(wvline(stdscr, a1, z)); -} - - -#undef vw_printw -NCURSES_EXPORT(int) vw_printw (WINDOW * a1, const char * a2, va_list z) -{ - T((T_CALLED("vw_printw(%p,%s,%s)"), a1, _nc_visbuf2(1,a2), "va_list")); returnCode(vwprintw (a1, a2, z)); -} - - -#undef vw_scanw -NCURSES_EXPORT(int) vw_scanw (WINDOW * a1, char * a2, va_list z) -{ - T((T_CALLED("vw_scanw(%p,%s,%s)"), a1, _nc_visbuf2(1,a2), "va_list")); returnCode(vwscanw (a1, a2, z)); -} - - -#undef waddchstr -NCURSES_EXPORT(int) waddchstr (WINDOW * a1, const chtype * z) -{ - T((T_CALLED("waddchstr(%p,%p)"), a1, z)); returnCode(waddchnstr(a1, z,-1)); -} - - -#undef waddstr -NCURSES_EXPORT(int) waddstr (WINDOW * a1, const char * z) -{ - T((T_CALLED("waddstr(%p,%s)"), a1, _nc_visbuf2(1,z))); returnCode(waddnstr(a1, z,-1)); -} - - -#undef wattron -NCURSES_EXPORT(int) wattron (WINDOW * a1, int z) -{ - T((T_CALLED("wattron(%p,%d)"), a1, z)); returnCode(wattr_on(a1, (attr_t)(z), ((void *)0))); -} - - -#undef wattroff -NCURSES_EXPORT(int) wattroff (WINDOW * a1, int z) -{ - T((T_CALLED("wattroff(%p,%d)"), a1, z)); returnCode(wattr_off(a1, (attr_t)(z), ((void *)0))); -} - - -#undef wattrset -NCURSES_EXPORT(int) wattrset (WINDOW * a1, int z) -{ - T((T_CALLED("wattrset(%p,%d)"), a1, z)); returnAttr(((a1)->_attrs = (z))); -} - - -#undef wattr_get -NCURSES_EXPORT(int) wattr_get (WINDOW * a1, attr_t * a2, short * a3, void * z) -{ - T((T_CALLED("wattr_get(%p,%p,%p,%p)"), a1, a2, a3, z)); returnCode(((void)((a2) != 0 && (*(a2) = (a1)->_attrs)), (void)((a3) != 0 && (*(a3) = ((int)(((((a1)->_attrs) & ((((1UL) << 8) - 1UL) << ((0) + 8))) >> 8))))), (0))); -} - - -#undef wattr_set -NCURSES_EXPORT(int) wattr_set (WINDOW * a1, attr_t a2, short a3, void * z) -{ - T((T_CALLED("wattr_set(%p,%s,%d,%p)"), a1, _traceattr2(1,a2), a3, z)); returnCode(((a1)->_attrs = (((a2) & ~((((1UL) << 8) - 1UL) << ((0) + 8))) | ((a3) << ((0) + 8))), (0))); -} - - -#undef wdeleteln -NCURSES_EXPORT(int) wdeleteln (WINDOW * z) -{ - T((T_CALLED("wdeleteln(%p)"), z)); returnCode(winsdelln(z,-1)); -} - - -#undef wgetstr -NCURSES_EXPORT(int) wgetstr (WINDOW * a1, char * z) -{ - T((T_CALLED("wgetstr(%p,%s)"), a1, _nc_visbuf2(1,z))); returnCode(wgetnstr(a1, z, -1)); -} - - -#undef winchstr -NCURSES_EXPORT(int) winchstr (WINDOW * a1, chtype * z) -{ - T((T_CALLED("winchstr(%p,%p)"), a1, z)); returnCode(winchnstr(a1, z, -1)); -} - - -#undef winsertln -NCURSES_EXPORT(int) winsertln (WINDOW * z) -{ - T((T_CALLED("winsertln(%p)"), z)); returnCode(winsdelln(z,1)); -} - - -#undef winsstr -NCURSES_EXPORT(int) winsstr (WINDOW * a1, const char * z) -{ - T((T_CALLED("winsstr(%p,%s)"), a1, _nc_visbuf2(1,z))); returnCode(winsnstr(a1, z, -1)); -} - - -#undef winstr -NCURSES_EXPORT(int) winstr (WINDOW * a1, char * z) -{ - T((T_CALLED("winstr(%p,%s)"), a1, _nc_visbuf2(1,z))); returnCode(winnstr(a1, z, -1)); -} - - -#undef wstandout -NCURSES_EXPORT(int) wstandout (WINDOW * z) -{ - T((T_CALLED("wstandout(%p)"), z)); returnAttr((((z)->_attrs = (((1UL) << ((8) + 8)))))); -} - - -#undef wstandend -NCURSES_EXPORT(int) wstandend (WINDOW * z) -{ - T((T_CALLED("wstandend(%p)"), z)); returnAttr((((z)->_attrs = ((1UL - 1UL))))); -} - - -#undef mouse_trafo -NCURSES_EXPORT(NCURSES_BOOL) mouse_trafo (int * a1, int * a2, NCURSES_BOOL z) -{ - T((T_CALLED("mouse_trafo(%p,%p,%#lx)"), a1, a2, (long)z)); returnBool(wmouse_trafo(stdscr, a1, a2, z)); -} diff --git a/src/libs/ncurses/ncurses/lib_keyname.c b/src/libs/ncurses/ncurses/lib_keyname.c deleted file mode 100644 index 1d06fe7d59..0000000000 --- a/src/libs/ncurses/ncurses/lib_keyname.c +++ /dev/null @@ -1,235 +0,0 @@ -/* generated by MKkeyname.awk */ - -#include -#include -#include - -const struct kn _nc_key_names[] = { - { "KEY_A1", KEY_A1 }, - { "KEY_A3", KEY_A3 }, - { "KEY_B2", KEY_B2 }, - { "KEY_BACKSPACE", KEY_BACKSPACE }, - { "KEY_BEG", KEY_BEG }, - { "KEY_BREAK", KEY_BREAK }, - { "KEY_BTAB", KEY_BTAB }, - { "KEY_C1", KEY_C1 }, - { "KEY_C3", KEY_C3 }, - { "KEY_CANCEL", KEY_CANCEL }, - { "KEY_CATAB", KEY_CATAB }, - { "KEY_CLEAR", KEY_CLEAR }, - { "KEY_CLOSE", KEY_CLOSE }, - { "KEY_COMMAND", KEY_COMMAND }, - { "KEY_COPY", KEY_COPY }, - { "KEY_CREATE", KEY_CREATE }, - { "KEY_CTAB", KEY_CTAB }, - { "KEY_DC", KEY_DC }, - { "KEY_DL", KEY_DL }, - { "KEY_DOWN", KEY_DOWN }, - { "KEY_EIC", KEY_EIC }, - { "KEY_END", KEY_END }, - { "KEY_ENTER", KEY_ENTER }, - { "KEY_EOL", KEY_EOL }, - { "KEY_EOS", KEY_EOS }, - { "KEY_EXIT", KEY_EXIT }, - { "KEY_F(0)", KEY_F(0) }, - { "KEY_F(1)", KEY_F(1) }, - { "KEY_F(10)", KEY_F(10) }, - { "KEY_F(11)", KEY_F(11) }, - { "KEY_F(12)", KEY_F(12) }, - { "KEY_F(13)", KEY_F(13) }, - { "KEY_F(14)", KEY_F(14) }, - { "KEY_F(15)", KEY_F(15) }, - { "KEY_F(16)", KEY_F(16) }, - { "KEY_F(17)", KEY_F(17) }, - { "KEY_F(18)", KEY_F(18) }, - { "KEY_F(19)", KEY_F(19) }, - { "KEY_F(2)", KEY_F(2) }, - { "KEY_F(20)", KEY_F(20) }, - { "KEY_F(21)", KEY_F(21) }, - { "KEY_F(22)", KEY_F(22) }, - { "KEY_F(23)", KEY_F(23) }, - { "KEY_F(24)", KEY_F(24) }, - { "KEY_F(25)", KEY_F(25) }, - { "KEY_F(26)", KEY_F(26) }, - { "KEY_F(27)", KEY_F(27) }, - { "KEY_F(28)", KEY_F(28) }, - { "KEY_F(29)", KEY_F(29) }, - { "KEY_F(3)", KEY_F(3) }, - { "KEY_F(30)", KEY_F(30) }, - { "KEY_F(31)", KEY_F(31) }, - { "KEY_F(32)", KEY_F(32) }, - { "KEY_F(33)", KEY_F(33) }, - { "KEY_F(34)", KEY_F(34) }, - { "KEY_F(35)", KEY_F(35) }, - { "KEY_F(36)", KEY_F(36) }, - { "KEY_F(37)", KEY_F(37) }, - { "KEY_F(38)", KEY_F(38) }, - { "KEY_F(39)", KEY_F(39) }, - { "KEY_F(4)", KEY_F(4) }, - { "KEY_F(40)", KEY_F(40) }, - { "KEY_F(41)", KEY_F(41) }, - { "KEY_F(42)", KEY_F(42) }, - { "KEY_F(43)", KEY_F(43) }, - { "KEY_F(44)", KEY_F(44) }, - { "KEY_F(45)", KEY_F(45) }, - { "KEY_F(46)", KEY_F(46) }, - { "KEY_F(47)", KEY_F(47) }, - { "KEY_F(48)", KEY_F(48) }, - { "KEY_F(49)", KEY_F(49) }, - { "KEY_F(5)", KEY_F(5) }, - { "KEY_F(50)", KEY_F(50) }, - { "KEY_F(51)", KEY_F(51) }, - { "KEY_F(52)", KEY_F(52) }, - { "KEY_F(53)", KEY_F(53) }, - { "KEY_F(54)", KEY_F(54) }, - { "KEY_F(55)", KEY_F(55) }, - { "KEY_F(56)", KEY_F(56) }, - { "KEY_F(57)", KEY_F(57) }, - { "KEY_F(58)", KEY_F(58) }, - { "KEY_F(59)", KEY_F(59) }, - { "KEY_F(6)", KEY_F(6) }, - { "KEY_F(60)", KEY_F(60) }, - { "KEY_F(61)", KEY_F(61) }, - { "KEY_F(62)", KEY_F(62) }, - { "KEY_F(63)", KEY_F(63) }, - { "KEY_F(7)", KEY_F(7) }, - { "KEY_F(8)", KEY_F(8) }, - { "KEY_F(9)", KEY_F(9) }, - { "KEY_FIND", KEY_FIND }, - { "KEY_HELP", KEY_HELP }, - { "KEY_HOME", KEY_HOME }, - { "KEY_IC", KEY_IC }, - { "KEY_IL", KEY_IL }, - { "KEY_LEFT", KEY_LEFT }, - { "KEY_LL", KEY_LL }, - { "KEY_MARK", KEY_MARK }, - { "KEY_MESSAGE", KEY_MESSAGE }, - { "KEY_MOUSE", KEY_MOUSE }, - { "KEY_MOVE", KEY_MOVE }, - { "KEY_NEXT", KEY_NEXT }, - { "KEY_NPAGE", KEY_NPAGE }, - { "KEY_OPEN", KEY_OPEN }, - { "KEY_OPTIONS", KEY_OPTIONS }, - { "KEY_PPAGE", KEY_PPAGE }, - { "KEY_PREVIOUS", KEY_PREVIOUS }, - { "KEY_PRINT", KEY_PRINT }, - { "KEY_REDO", KEY_REDO }, - { "KEY_REFERENCE", KEY_REFERENCE }, - { "KEY_REFRESH", KEY_REFRESH }, - { "KEY_REPLACE", KEY_REPLACE }, - { "KEY_RESET", KEY_RESET }, - { "KEY_RESIZE", KEY_RESIZE }, - { "KEY_RESTART", KEY_RESTART }, - { "KEY_RESUME", KEY_RESUME }, - { "KEY_RIGHT", KEY_RIGHT }, - { "KEY_SAVE", KEY_SAVE }, - { "KEY_SBEG", KEY_SBEG }, - { "KEY_SCANCEL", KEY_SCANCEL }, - { "KEY_SCOMMAND", KEY_SCOMMAND }, - { "KEY_SCOPY", KEY_SCOPY }, - { "KEY_SCREATE", KEY_SCREATE }, - { "KEY_SDC", KEY_SDC }, - { "KEY_SDL", KEY_SDL }, - { "KEY_SELECT", KEY_SELECT }, - { "KEY_SEND", KEY_SEND }, - { "KEY_SEOL", KEY_SEOL }, - { "KEY_SEXIT", KEY_SEXIT }, - { "KEY_SF", KEY_SF }, - { "KEY_SFIND", KEY_SFIND }, - { "KEY_SHELP", KEY_SHELP }, - { "KEY_SHOME", KEY_SHOME }, - { "KEY_SIC", KEY_SIC }, - { "KEY_SLEFT", KEY_SLEFT }, - { "KEY_SMESSAGE", KEY_SMESSAGE }, - { "KEY_SMOVE", KEY_SMOVE }, - { "KEY_SNEXT", KEY_SNEXT }, - { "KEY_SOPTIONS", KEY_SOPTIONS }, - { "KEY_SPREVIOUS", KEY_SPREVIOUS }, - { "KEY_SPRINT", KEY_SPRINT }, - { "KEY_SR", KEY_SR }, - { "KEY_SREDO", KEY_SREDO }, - { "KEY_SREPLACE", KEY_SREPLACE }, - { "KEY_SRESET", KEY_SRESET }, - { "KEY_SRIGHT", KEY_SRIGHT }, - { "KEY_SRSUME", KEY_SRSUME }, - { "KEY_SSAVE", KEY_SSAVE }, - { "KEY_SSUSPEND", KEY_SSUSPEND }, - { "KEY_STAB", KEY_STAB }, - { "KEY_SUNDO", KEY_SUNDO }, - { "KEY_SUSPEND", KEY_SUSPEND }, - { "KEY_UNDO", KEY_UNDO }, - { "KEY_UP", KEY_UP }, - { 0, 0 }}; - -NCURSES_EXPORT(NCURSES_CONST char *) keyname (int c) -{ - static char **table; - int i; - char name[20]; - char *p; - NCURSES_CONST char *result = 0; - - if (c == -1) { - result = "-1"; - } else { - for (i = 0; _nc_key_names[i].name != 0; i++) { - if (_nc_key_names[i].code == c) { - result = (NCURSES_CONST char *)_nc_key_names[i].name; - break; - } - } - - if (result == 0 && (c >= 0 && c < 256)) { - if (table == 0) - table = typeCalloc(char *, 256); - if (table != 0) { - if (table[c] == 0) { - p = name; - if (c >= 128) { - strcpy(p, "M-"); - p += 2; - c -= 128; - } - if (c < 32) - sprintf(p, "^%c", c + '@'); - else if (c == 127) - strcpy(p, "^?"); - else - sprintf(p, "%c", c); - table[c] = strdup(name); - } - result = table[c]; - } -#if NCURSES_EXT_FUNCS && NCURSES_XNAMES - } else if (result == 0 && cur_term != 0) { - int j, k; - char * bound; - TERMTYPE *tp = &(cur_term->type); - int save_trace = _nc_tracing; - - _nc_tracing = 0; /* prevent recursion via keybound() */ - for (j = 0; (bound = keybound(c, j)) != 0; ++j) { - for(k = STRCOUNT; k < NUM_STRINGS(tp); k++) { - if (tp->Strings[k] != 0 && !strcmp(bound, tp->Strings[k])) { - result = ExtStrname(tp, k, strnames); - break; - } - } - if (result != 0) - break; - } - _nc_tracing = save_trace; -#endif - } - } - return result; -} - -#if USE_WIDEC_SUPPORT -NCURSES_EXPORT(NCURSES_CONST char *) key_name (wchar_t c) -{ - NCURSES_CONST char *result = keyname((int)c); - if (!strncmp(result, "M-", 2)) result = 0; - return result; -} -#endif diff --git a/src/libs/ncurses/ncurses/link_test.c b/src/libs/ncurses/ncurses/link_test.c deleted file mode 100644 index 289be30015..0000000000 --- a/src/libs/ncurses/ncurses/link_test.c +++ /dev/null @@ -1,1858 +0,0 @@ -/* - * DO NOT EDIT THIS FILE BY HAND! - * It is generated by ./base/MKlib_gen.sh implemented. - */ -#include - - -extern int call_addch (const chtype z); -int call_addch (const chtype z) -{ - T((T_CALLED("addch(%s)"), _tracechtype2(0,z))); returnCode(waddch(stdscr, z)); -} - - -extern int call_addchnstr (const chtype * a1, int z); -int call_addchnstr (const chtype * a1, int z) -{ - T((T_CALLED("addchnstr(%p,%d)"), a1, z)); returnCode(waddchnstr(stdscr, a1, z)); -} - - -extern int call_addchstr (const chtype * z); -int call_addchstr (const chtype * z) -{ - T((T_CALLED("addchstr(%p)"), z)); returnCode(waddchnstr(stdscr, z,-1)); -} - - -extern int call_addnstr (const char * a1, int z); -int call_addnstr (const char * a1, int z) -{ - T((T_CALLED("addnstr(%s,%d)"), _nc_visbuf2(0,a1), z)); returnCode(waddnstr(stdscr, a1, z)); -} - - -extern int call_addstr (const char * z); -int call_addstr (const char * z) -{ - T((T_CALLED("addstr(%s)"), _nc_visbuf2(0,z))); returnCode(waddnstr(stdscr, z,-1)); -} - - -extern int call_attroff (attr_t z); -int call_attroff (attr_t z) -{ - T((T_CALLED("attroff(%s)"), _traceattr2(0,z))); returnCode(wattr_off(stdscr, (attr_t)(z), ((void *)0))); -} - - -extern int call_attron (attr_t z); -int call_attron (attr_t z) -{ - T((T_CALLED("attron(%s)"), _traceattr2(0,z))); returnCode(wattr_on(stdscr, (attr_t)(z), ((void *)0))); -} - - -extern int call_attrset (attr_t z); -int call_attrset (attr_t z) -{ - T((T_CALLED("attrset(%s)"), _traceattr2(0,z))); returnAttr(((stdscr)->_attrs = (z))); -} - - -extern int call_attr_get (attr_t * a1, short * a2, void * z); -int call_attr_get (attr_t * a1, short * a2, void * z) -{ - T((T_CALLED("attr_get(%p,%p,%p)"), a1, a2, z)); returnCode(((void)((a1) != 0 && (*(a1) = (stdscr)->_attrs)), (void)((a2) != 0 && (*(a2) = ((int)(((((stdscr)->_attrs) & ((((1UL) << 8) - 1UL) << ((0) + 8))) >> 8))))), (0))); -} - - -extern int call_attr_off (attr_t a1, void * z); -int call_attr_off (attr_t a1, void * z) -{ - T((T_CALLED("attr_off(%s,%p)"), _traceattr2(0,a1), z)); returnCode(wattr_off(stdscr, a1, z)); -} - - -extern int call_attr_on (attr_t a1, void * z); -int call_attr_on (attr_t a1, void * z) -{ - T((T_CALLED("attr_on(%s,%p)"), _traceattr2(0,a1), z)); returnCode(wattr_on(stdscr, a1, z)); -} - - -extern int call_attr_set (attr_t a1, short a2, void * z); -int call_attr_set (attr_t a1, short a2, void * z) -{ - T((T_CALLED("attr_set(%s,%d,%p)"), _traceattr2(0,a1), a2, z)); returnCode(((stdscr)->_attrs = (((a1) & ~((((1UL) << 8) - 1UL) << ((0) + 8))) | ((a2) << ((0) + 8))), (0))); -} - - -extern int call_baudrate (void); -int call_baudrate (void) -{ - T((T_CALLED("baudrate()"))); returnCode(baudrate()); -} - - -extern int call_beep (void); -int call_beep (void) -{ - T((T_CALLED("beep()"))); returnCode(beep()); -} - - -extern int call_bkgd (chtype z); -int call_bkgd (chtype z) -{ - T((T_CALLED("bkgd(%s)"), _tracechtype2(0,z))); returnCode(wbkgd(stdscr, z)); -} - - -extern void call_bkgdset (chtype z); -void call_bkgdset (chtype z) -{ - T((T_CALLED("bkgdset(%s)"), _tracechtype2(0,z))); wbkgdset(stdscr, z) ; - returnVoid; -} - - -extern int call_border (chtype a1, chtype a2, chtype a3, chtype a4, chtype a5, chtype a6, chtype a7, chtype z); -int call_border (chtype a1, chtype a2, chtype a3, chtype a4, chtype a5, chtype a6, chtype a7, chtype z) -{ - T((T_CALLED("border(%s,%s,%s,%s,%s,%s,%s,%s)"), _tracechtype2(0,a1), _tracechtype2(1,a2), _tracechtype2(2,a3), _tracechtype2(3,a4), _tracechtype2(4,a5), _tracechtype2(5,a6), _tracechtype2(6,a7), _tracechtype2(7,z))); returnCode(wborder(stdscr, a1, a2, a3, a4, a5, a6, a7, z)); -} - - -extern int call_box (WINDOW * a1, chtype a2, chtype z); -int call_box (WINDOW * a1, chtype a2, chtype z) -{ - T((T_CALLED("box(%p,%s,%s)"), a1, _tracechtype2(1,a2), _tracechtype2(2,z))); returnCode(wborder(a1, a2, a2, z, z, 0, 0, 0, 0)); -} - - -extern NCURSES_BOOL call_can_change_color (void); -NCURSES_BOOL call_can_change_color (void) -{ - T((T_CALLED("can_change_color()"))); returnBool(can_change_color()); -} - - -extern int call_cbreak (void); -int call_cbreak (void) -{ - T((T_CALLED("cbreak()"))); returnCode(cbreak()); -} - - -extern int call_chgat (int a1, attr_t a2, short a3, const void * z); -int call_chgat (int a1, attr_t a2, short a3, const void * z) -{ - T((T_CALLED("chgat(%d,%s,%d,%p)"), a1, _traceattr2(1,a2), a3, z)); returnCode(wchgat(stdscr, a1, a2, a3, z)); -} - - -extern int call_clear (void); -int call_clear (void) -{ - T((T_CALLED("clear()"))); returnCode(wclear(stdscr)); -} - - -extern int call_clearok (WINDOW * a1, NCURSES_BOOL z); -int call_clearok (WINDOW * a1, NCURSES_BOOL z) -{ - T((T_CALLED("clearok(%p,%#lx)"), a1, (long)z)); returnCode(clearok(a1, z)); -} - - -extern int call_clrtobot (void); -int call_clrtobot (void) -{ - T((T_CALLED("clrtobot()"))); returnCode(wclrtobot(stdscr)); -} - - -extern int call_clrtoeol (void); -int call_clrtoeol (void) -{ - T((T_CALLED("clrtoeol()"))); returnCode(wclrtoeol(stdscr)); -} - - -extern int call_color_content (short a1, short * a2, short * a3, short * z); -int call_color_content (short a1, short * a2, short * a3, short * z) -{ - T((T_CALLED("color_content(%d,%p,%p,%p)"), a1, a2, a3, z)); returnCode(color_content(a1, a2, a3, z)); -} - - -extern int call_color_set (short a1, void * z); -int call_color_set (short a1, void * z) -{ - T((T_CALLED("color_set(%d,%p)"), a1, z)); returnCode(wcolor_set(stdscr, a1, z)); -} - - -extern int call_COLOR_PAIR (int z); -int call_COLOR_PAIR (int z) -{ - T((T_CALLED("COLOR_PAIR(%d)"), z)); returnCode(((z) << ((0) + 8))); -} - - -extern int call_copywin (const WINDOW * a1, WINDOW * a2, int a3, int a4, int a5, int a6, int a7, int a8, int z); -int call_copywin (const WINDOW * a1, WINDOW * a2, int a3, int a4, int a5, int a6, int a7, int a8, int z) -{ - T((T_CALLED("copywin(%p,%p,%d,%d,%d,%d,%d,%d,%d)"), a1, a2, a3, a4, a5, a6, a7, a8, z)); returnCode(copywin(a1, a2, a3, a4, a5, a6, a7, a8, z)); -} - - -extern int call_curs_set (int z); -int call_curs_set (int z) -{ - T((T_CALLED("curs_set(%d)"), z)); returnCode(curs_set(z)); -} - - -extern int call_def_prog_mode (void); -int call_def_prog_mode (void) -{ - T((T_CALLED("def_prog_mode()"))); returnCode(def_prog_mode()); -} - - -extern int call_def_shell_mode (void); -int call_def_shell_mode (void) -{ - T((T_CALLED("def_shell_mode()"))); returnCode(def_shell_mode()); -} - - -extern int call_delay_output (int z); -int call_delay_output (int z) -{ - T((T_CALLED("delay_output(%d)"), z)); returnCode(delay_output(z)); -} - - -extern int call_delch (void); -int call_delch (void) -{ - T((T_CALLED("delch()"))); returnCode(wdelch(stdscr)); -} - - -extern void call_delscreen (SCREEN * z); -void call_delscreen (SCREEN * z) -{ - T((T_CALLED("delscreen(%p)"), z)); delscreen(z); - returnVoid; -} - - -extern int call_delwin (WINDOW * z); -int call_delwin (WINDOW * z) -{ - T((T_CALLED("delwin(%p)"), z)); returnCode(delwin(z)); -} - - -extern int call_deleteln (void); -int call_deleteln (void) -{ - T((T_CALLED("deleteln()"))); returnCode(winsdelln(stdscr,-1)); -} - - -extern WINDOW * call_derwin (WINDOW * a1, int a2, int a3, int a4, int z); -WINDOW * call_derwin (WINDOW * a1, int a2, int a3, int a4, int z) -{ - T((T_CALLED("(%p,%d,%d,%d,%d)"), a1, a2, a3, a4, z)); returnWin(derwin(a1, a2, a3, a4, z)); -} - - -extern int call_doupdate (void); -int call_doupdate (void) -{ - T((T_CALLED("doupdate()"))); returnCode(doupdate()); -} - - -extern WINDOW * call_dupwin (WINDOW * z); -WINDOW * call_dupwin (WINDOW * z) -{ - T((T_CALLED("(%p)"), z)); returnWin(dupwin(z)); -} - - -extern int call_echo (void); -int call_echo (void) -{ - T((T_CALLED("echo()"))); returnCode(echo()); -} - - -extern int call_echochar (const chtype z); -int call_echochar (const chtype z) -{ - T((T_CALLED("echochar(%s)"), _tracechtype2(0,z))); returnCode(wechochar(stdscr, z)); -} - - -extern int call_erase (void); -int call_erase (void) -{ - T((T_CALLED("erase()"))); returnCode(werase(stdscr)); -} - - -extern int call_endwin (void); -int call_endwin (void) -{ - T((T_CALLED("endwin()"))); returnCode(endwin()); -} - - -extern char call_erasechar (void); -char call_erasechar (void) -{ - T((T_CALLED("erasechar()"))); returnCode(erasechar()); -} - - -extern void call_filter (void); -void call_filter (void) -{ - T((T_CALLED("filter()"))); filter(); - returnVoid; -} - - -extern int call_flash (void); -int call_flash (void) -{ - T((T_CALLED("flash()"))); returnCode(flash()); -} - - -extern int call_flushinp (void); -int call_flushinp (void) -{ - T((T_CALLED("flushinp()"))); returnCode(flushinp()); -} - - -extern chtype call_getbkgd (WINDOW * z); -chtype call_getbkgd (WINDOW * z) -{ - T((T_CALLED("getbkgd(%p)"), z)); returnChar(((z)->_bkgd)); -} - - -extern int call_getch (void); -int call_getch (void) -{ - T((T_CALLED("getch()"))); returnCode(wgetch(stdscr)); -} - - -extern int call_getnstr (char * a1, int z); -int call_getnstr (char * a1, int z) -{ - T((T_CALLED("getnstr(%s,%d)"), _nc_visbuf2(0,a1), z)); returnCode(wgetnstr(stdscr, a1, z)); -} - - -extern int call_getstr (char * z); -int call_getstr (char * z) -{ - T((T_CALLED("getstr(%s)"), _nc_visbuf2(0,z))); returnCode(wgetnstr(stdscr, z, -1)); -} - - -extern WINDOW * call_getwin (FILE * z); -WINDOW * call_getwin (FILE * z) -{ - T((T_CALLED("(%p)"), z)); returnWin(getwin(z)); -} - - -extern int call_halfdelay (int z); -int call_halfdelay (int z) -{ - T((T_CALLED("halfdelay(%d)"), z)); returnCode(halfdelay(z)); -} - - -extern NCURSES_BOOL call_has_colors (void); -NCURSES_BOOL call_has_colors (void) -{ - T((T_CALLED("has_colors()"))); returnBool(has_colors()); -} - - -extern NCURSES_BOOL call_has_ic (void); -NCURSES_BOOL call_has_ic (void) -{ - T((T_CALLED("has_ic()"))); returnBool(has_ic()); -} - - -extern NCURSES_BOOL call_has_il (void); -NCURSES_BOOL call_has_il (void) -{ - T((T_CALLED("has_il()"))); returnBool(has_il()); -} - - -extern int call_hline (chtype a1, int z); -int call_hline (chtype a1, int z) -{ - T((T_CALLED("hline(%s,%d)"), _tracechtype2(0,a1), z)); returnCode(whline(stdscr, a1, z)); -} - - -extern void call_idcok (WINDOW * a1, NCURSES_BOOL z); -void call_idcok (WINDOW * a1, NCURSES_BOOL z) -{ - T((T_CALLED("idcok(%p,%#lx)"), a1, (long)z)); idcok(a1, z); - returnVoid; -} - - -extern int call_idlok (WINDOW * a1, NCURSES_BOOL z); -int call_idlok (WINDOW * a1, NCURSES_BOOL z) -{ - T((T_CALLED("idlok(%p,%#lx)"), a1, (long)z)); returnCode(idlok(a1, z)); -} - - -extern void call_immedok (WINDOW * a1, NCURSES_BOOL z); -void call_immedok (WINDOW * a1, NCURSES_BOOL z) -{ - T((T_CALLED("immedok(%p,%#lx)"), a1, (long)z)); immedok(a1, z); - returnVoid; -} - - -extern chtype call_inch (void); -chtype call_inch (void) -{ - T((T_CALLED("inch()"))); returnChar(winch(stdscr)); -} - - -extern int call_inchnstr (chtype * a1, int z); -int call_inchnstr (chtype * a1, int z) -{ - T((T_CALLED("inchnstr(%p,%d)"), a1, z)); returnCode(winchnstr(stdscr, a1, z)); -} - - -extern int call_inchstr (chtype * z); -int call_inchstr (chtype * z) -{ - T((T_CALLED("inchstr(%p)"), z)); returnCode(winchnstr(stdscr, z, -1)); -} - - -extern WINDOW * call_initscr (void); -WINDOW * call_initscr (void) -{ - T((T_CALLED("()"))); returnWin(initscr()); -} - - -extern int call_init_color (short a1, short a2, short a3, short z); -int call_init_color (short a1, short a2, short a3, short z) -{ - T((T_CALLED("init_color(%d,%d,%d,%d)"), a1, a2, a3, z)); returnCode(init_color(a1, a2, a3, z)); -} - - -extern int call_init_pair (short a1, short a2, short z); -int call_init_pair (short a1, short a2, short z) -{ - T((T_CALLED("init_pair(%d,%d,%d)"), a1, a2, z)); returnCode(init_pair(a1, a2, z)); -} - - -extern int call_innstr (char * a1, int z); -int call_innstr (char * a1, int z) -{ - return winnstr(stdscr, a1, z) ; -} - - -extern int call_insch (chtype z); -int call_insch (chtype z) -{ - T((T_CALLED("insch(%s)"), _tracechtype2(0,z))); returnCode(winsch(stdscr, z)); -} - - -extern int call_insdelln (int z); -int call_insdelln (int z) -{ - T((T_CALLED("insdelln(%d)"), z)); returnCode(winsdelln(stdscr, z)); -} - - -extern int call_insertln (void); -int call_insertln (void) -{ - T((T_CALLED("insertln()"))); returnCode(winsdelln(stdscr,1)); -} - - -extern int call_insnstr (const char * a1, int z); -int call_insnstr (const char * a1, int z) -{ - T((T_CALLED("insnstr(%s,%d)"), _nc_visbuf2(0,a1), z)); returnCode(winsnstr(stdscr, a1, z)); -} - - -extern int call_insstr (const char * z); -int call_insstr (const char * z) -{ - T((T_CALLED("insstr(%s)"), _nc_visbuf2(0,z))); returnCode(winsnstr(stdscr, z, -1)); -} - - -extern int call_instr (char * z); -int call_instr (char * z) -{ - T((T_CALLED("instr(%s)"), _nc_visbuf2(0,z))); returnCode(winnstr(stdscr, z, -1)); -} - - -extern int call_intrflush (WINDOW * a1, NCURSES_BOOL z); -int call_intrflush (WINDOW * a1, NCURSES_BOOL z) -{ - T((T_CALLED("intrflush(%p,%#lx)"), a1, (long)z)); returnCode(intrflush(a1, z)); -} - - -extern NCURSES_BOOL call_isendwin (void); -NCURSES_BOOL call_isendwin (void) -{ - T((T_CALLED("isendwin()"))); returnBool(isendwin()); -} - - -extern NCURSES_BOOL call_is_linetouched (WINDOW * a1, int z); -NCURSES_BOOL call_is_linetouched (WINDOW * a1, int z) -{ - T((T_CALLED("is_linetouched(%p,%d)"), a1, z)); returnBool(is_linetouched(a1, z)); -} - - -extern NCURSES_BOOL call_is_wintouched (WINDOW * z); -NCURSES_BOOL call_is_wintouched (WINDOW * z) -{ - T((T_CALLED("is_wintouched(%p)"), z)); returnBool(is_wintouched(z)); -} - - -extern char * call_keyname (int z); -char * call_keyname (int z) -{ - T((T_CALLED("(%d)"), z)); returnPtr(keyname(z)); -} - - -extern int call_keypad (WINDOW * a1, NCURSES_BOOL z); -int call_keypad (WINDOW * a1, NCURSES_BOOL z) -{ - T((T_CALLED("keypad(%p,%#lx)"), a1, (long)z)); returnCode(keypad(a1, z)); -} - - -extern char call_killchar (void); -char call_killchar (void) -{ - T((T_CALLED("killchar()"))); returnCode(killchar()); -} - - -extern int call_leaveok (WINDOW * a1, NCURSES_BOOL z); -int call_leaveok (WINDOW * a1, NCURSES_BOOL z) -{ - T((T_CALLED("leaveok(%p,%#lx)"), a1, (long)z)); returnCode(leaveok(a1, z)); -} - - -extern char * call_longname (void); -char * call_longname (void) -{ - T((T_CALLED("()"))); returnPtr(longname()); -} - - -extern int call_meta (WINDOW * a1, NCURSES_BOOL z); -int call_meta (WINDOW * a1, NCURSES_BOOL z) -{ - T((T_CALLED("meta(%p,%#lx)"), a1, (long)z)); returnCode(meta(a1, z)); -} - - -extern int call_move (int a1, int z); -int call_move (int a1, int z) -{ - T((T_CALLED("move(%d,%d)"), a1, z)); returnCode(wmove(stdscr, a1, z)); -} - - -extern int call_mvaddch (int a1, int a2, const chtype z); -int call_mvaddch (int a1, int a2, const chtype z) -{ - T((T_CALLED("mvaddch(%d,%d,%s)"), a1, a2, _tracechtype2(2,z))); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : waddch(stdscr, z))); -} - - -extern int call_mvaddchnstr (int a1, int a2, const chtype * a3, int z); -int call_mvaddchnstr (int a1, int a2, const chtype * a3, int z) -{ - T((T_CALLED("mvaddchnstr(%d,%d,%p,%d)"), a1, a2, a3, z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : waddchnstr(stdscr, a3, z))); -} - - -extern int call_mvaddchstr (int a1, int a2, const chtype * z); -int call_mvaddchstr (int a1, int a2, const chtype * z) -{ - T((T_CALLED("mvaddchstr(%d,%d,%p)"), a1, a2, z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : waddchnstr(stdscr, z,-1))); -} - - -extern int call_mvaddnstr (int a1, int a2, const char * a3, int z); -int call_mvaddnstr (int a1, int a2, const char * a3, int z) -{ - T((T_CALLED("mvaddnstr(%d,%d,%s,%d)"), a1, a2, _nc_visbuf2(2,a3), z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : waddnstr(stdscr, a3, z))); -} - - -extern int call_mvaddstr (int a1, int a2, const char * z); -int call_mvaddstr (int a1, int a2, const char * z) -{ - T((T_CALLED("mvaddstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z))); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : waddnstr(stdscr, z,-1))); -} - - -extern int call_mvchgat (int a1, int a2, int a3, attr_t a4, short a5, const void * z); -int call_mvchgat (int a1, int a2, int a3, attr_t a4, short a5, const void * z) -{ - T((T_CALLED("mvchgat(%d,%d,%d,%s,%d,%p)"), a1, a2, a3, _traceattr2(3,a4), a5, z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : wchgat(stdscr, a3, a4, a5, z))); -} - - -extern int call_mvcur (int a1, int a2, int a3, int z); -int call_mvcur (int a1, int a2, int a3, int z) -{ - T((T_CALLED("mvcur(%d,%d,%d,%d)"), a1, a2, a3, z)); returnCode(mvcur(a1, a2, a3, z)); -} - - -extern int call_mvdelch (int a1, int z); -int call_mvdelch (int a1, int z) -{ - T((T_CALLED("mvdelch(%d,%d)"), a1, z)); returnCode((wmove(stdscr, a1, z) == (-1) ? (-1) : wdelch(stdscr))); -} - - -extern int call_mvderwin (WINDOW * a1, int a2, int z); -int call_mvderwin (WINDOW * a1, int a2, int z) -{ - T((T_CALLED("mvderwin(%p,%d,%d)"), a1, a2, z)); returnCode(mvderwin(a1, a2, z)); -} - - -extern int call_mvgetch (int a1, int z); -int call_mvgetch (int a1, int z) -{ - T((T_CALLED("mvgetch(%d,%d)"), a1, z)); returnCode((wmove(stdscr, a1, z) == (-1) ? (-1) : wgetch(stdscr))); -} - - -extern int call_mvgetnstr (int a1, int a2, char * a3, int z); -int call_mvgetnstr (int a1, int a2, char * a3, int z) -{ - T((T_CALLED("mvgetnstr(%d,%d,%s,%d)"), a1, a2, _nc_visbuf2(2,a3), z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : wgetnstr(stdscr, a3, z))); -} - - -extern int call_mvgetstr (int a1, int a2, char * z); -int call_mvgetstr (int a1, int a2, char * z) -{ - T((T_CALLED("mvgetstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z))); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : wgetnstr(stdscr, z, -1))); -} - - -extern int call_mvhline (int a1, int a2, chtype a3, int z); -int call_mvhline (int a1, int a2, chtype a3, int z) -{ - T((T_CALLED("mvhline(%d,%d,%s,%d)"), a1, a2, _tracechtype2(2,a3), z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : whline(stdscr, a3, z))); -} - - -extern chtype call_mvinch (int a1, int z); -chtype call_mvinch (int a1, int z) -{ - T((T_CALLED("mvinch(%d,%d)"), a1, z)); returnChar((wmove(stdscr, a1, z) == (-1) ? (chtype)((-1)) : winch(stdscr))); -} - - -extern int call_mvinchnstr (int a1, int a2, chtype * a3, int z); -int call_mvinchnstr (int a1, int a2, chtype * a3, int z) -{ - T((T_CALLED("mvinchnstr(%d,%d,%p,%d)"), a1, a2, a3, z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : winchnstr(stdscr, a3, z))); -} - - -extern int call_mvinchstr (int a1, int a2, chtype * z); -int call_mvinchstr (int a1, int a2, chtype * z) -{ - T((T_CALLED("mvinchstr(%d,%d,%p)"), a1, a2, z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : winchnstr(stdscr, z, -1))); -} - - -extern int call_mvinnstr (int a1, int a2, char * a3, int z); -int call_mvinnstr (int a1, int a2, char * a3, int z) -{ - return (wmove(stdscr, a1, a2) == (-1) ? (-1) : winnstr(stdscr, a3, z)) ; -} - - -extern int call_mvinsch (int a1, int a2, chtype z); -int call_mvinsch (int a1, int a2, chtype z) -{ - T((T_CALLED("mvinsch(%d,%d,%s)"), a1, a2, _tracechtype2(2,z))); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : winsch(stdscr, z))); -} - - -extern int call_mvinsnstr (int a1, int a2, const char * a3, int z); -int call_mvinsnstr (int a1, int a2, const char * a3, int z) -{ - T((T_CALLED("mvinsnstr(%d,%d,%s,%d)"), a1, a2, _nc_visbuf2(2,a3), z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : winsnstr(stdscr, a3, z))); -} - - -extern int call_mvinsstr (int a1, int a2, const char * z); -int call_mvinsstr (int a1, int a2, const char * z) -{ - T((T_CALLED("mvinsstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z))); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : winsnstr(stdscr, z, -1))); -} - - -extern int call_mvinstr (int a1, int a2, char * z); -int call_mvinstr (int a1, int a2, char * z) -{ - T((T_CALLED("mvinstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z))); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : winnstr(stdscr, z, -1))); -} - - -extern int call_mvvline (int a1, int a2, chtype a3, int z); -int call_mvvline (int a1, int a2, chtype a3, int z) -{ - T((T_CALLED("mvvline(%d,%d,%s,%d)"), a1, a2, _tracechtype2(2,a3), z)); returnCode((wmove(stdscr, a1, a2) == (-1) ? (-1) : wvline(stdscr, a3, z))); -} - - -extern int call_mvwaddch (WINDOW * a1, int a2, int a3, const chtype z); -int call_mvwaddch (WINDOW * a1, int a2, int a3, const chtype z) -{ - T((T_CALLED("mvwaddch(%p,%d,%d,%s)"), a1, a2, a3, _tracechtype2(3,z))); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : waddch(a1, z))); -} - - -extern int call_mvwaddchnstr (WINDOW * a1, int a2, int a3, const chtype * a4, int z); -int call_mvwaddchnstr (WINDOW * a1, int a2, int a3, const chtype * a4, int z) -{ - T((T_CALLED("mvwaddchnstr(%p,%d,%d,%p,%d)"), a1, a2, a3, a4, z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : waddchnstr(a1, a4, z))); -} - - -extern int call_mvwaddchstr (WINDOW * a1, int a2, int a3, const chtype * z); -int call_mvwaddchstr (WINDOW * a1, int a2, int a3, const chtype * z) -{ - T((T_CALLED("mvwaddchstr(%p,%d,%d,%p)"), a1, a2, a3, z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : waddchnstr(a1, z,-1))); -} - - -extern int call_mvwaddnstr (WINDOW * a1, int a2, int a3, const char * a4, int z); -int call_mvwaddnstr (WINDOW * a1, int a2, int a3, const char * a4, int z) -{ - T((T_CALLED("mvwaddnstr(%p,%d,%d,%s,%d)"), a1, a2, a3, _nc_visbuf2(3,a4), z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : waddnstr(a1, a4, z))); -} - - -extern int call_mvwaddstr (WINDOW * a1, int a2, int a3, const char * z); -int call_mvwaddstr (WINDOW * a1, int a2, int a3, const char * z) -{ - T((T_CALLED("mvwaddstr(%p,%d,%d,%s)"), a1, a2, a3, _nc_visbuf2(3,z))); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : waddnstr(a1, z,-1))); -} - - -extern int call_mvwchgat (WINDOW * a1, int a2, int a3, int a4, attr_t a5, short a6, const void * z); -int call_mvwchgat (WINDOW * a1, int a2, int a3, int a4, attr_t a5, short a6, const void * z) -{ - T((T_CALLED("mvwchgat(%p,%d,%d,%d,%s,%d,%p)"), a1, a2, a3, a4, _traceattr2(4,a5), a6, z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : wchgat(a1, a4, a5, a6, z))); -} - - -extern int call_mvwdelch (WINDOW * a1, int a2, int z); -int call_mvwdelch (WINDOW * a1, int a2, int z) -{ - T((T_CALLED("mvwdelch(%p,%d,%d)"), a1, a2, z)); returnCode((wmove(a1, a2, z) == (-1) ? (-1) : wdelch(a1))); -} - - -extern int call_mvwgetch (WINDOW * a1, int a2, int z); -int call_mvwgetch (WINDOW * a1, int a2, int z) -{ - T((T_CALLED("mvwgetch(%p,%d,%d)"), a1, a2, z)); returnCode((wmove(a1, a2, z) == (-1) ? (-1) : wgetch(a1))); -} - - -extern int call_mvwgetnstr (WINDOW * a1, int a2, int a3, char * a4, int z); -int call_mvwgetnstr (WINDOW * a1, int a2, int a3, char * a4, int z) -{ - T((T_CALLED("mvwgetnstr(%p,%d,%d,%s,%d)"), a1, a2, a3, _nc_visbuf2(3,a4), z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : wgetnstr(a1, a4, z))); -} - - -extern int call_mvwgetstr (WINDOW * a1, int a2, int a3, char * z); -int call_mvwgetstr (WINDOW * a1, int a2, int a3, char * z) -{ - T((T_CALLED("mvwgetstr(%p,%d,%d,%s)"), a1, a2, a3, _nc_visbuf2(3,z))); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : wgetnstr(a1, z, -1))); -} - - -extern int call_mvwhline (WINDOW * a1, int a2, int a3, chtype a4, int z); -int call_mvwhline (WINDOW * a1, int a2, int a3, chtype a4, int z) -{ - T((T_CALLED("mvwhline(%p,%d,%d,%s,%d)"), a1, a2, a3, _tracechtype2(3,a4), z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : whline(a1, a4, z))); -} - - -extern int call_mvwin (WINDOW * a1, int a2, int z); -int call_mvwin (WINDOW * a1, int a2, int z) -{ - T((T_CALLED("mvwin(%p,%d,%d)"), a1, a2, z)); returnCode(mvwin(a1, a2, z)); -} - - -extern chtype call_mvwinch (WINDOW * a1, int a2, int z); -chtype call_mvwinch (WINDOW * a1, int a2, int z) -{ - T((T_CALLED("mvwinch(%p,%d,%d)"), a1, a2, z)); returnChar((wmove(a1, a2, z) == (-1) ? (chtype)((-1)) : winch(a1))); -} - - -extern int call_mvwinchnstr (WINDOW * a1, int a2, int a3, chtype * a4, int z); -int call_mvwinchnstr (WINDOW * a1, int a2, int a3, chtype * a4, int z) -{ - T((T_CALLED("mvwinchnstr(%p,%d,%d,%p,%d)"), a1, a2, a3, a4, z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : winchnstr(a1, a4, z))); -} - - -extern int call_mvwinchstr (WINDOW * a1, int a2, int a3, chtype * z); -int call_mvwinchstr (WINDOW * a1, int a2, int a3, chtype * z) -{ - T((T_CALLED("mvwinchstr(%p,%d,%d,%p)"), a1, a2, a3, z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : winchnstr(a1, z, -1))); -} - - -extern int call_mvwinnstr (WINDOW * a1, int a2, int a3, char * a4, int z); -int call_mvwinnstr (WINDOW * a1, int a2, int a3, char * a4, int z) -{ - return (wmove(a1, a2, a3) == (-1) ? (-1) : winnstr(a1, a4, z)) ; -} - - -extern int call_mvwinsch (WINDOW * a1, int a2, int a3, chtype z); -int call_mvwinsch (WINDOW * a1, int a2, int a3, chtype z) -{ - T((T_CALLED("mvwinsch(%p,%d,%d,%s)"), a1, a2, a3, _tracechtype2(3,z))); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : winsch(a1, z))); -} - - -extern int call_mvwinsnstr (WINDOW * a1, int a2, int a3, const char * a4, int z); -int call_mvwinsnstr (WINDOW * a1, int a2, int a3, const char * a4, int z) -{ - T((T_CALLED("mvwinsnstr(%p,%d,%d,%s,%d)"), a1, a2, a3, _nc_visbuf2(3,a4), z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : winsnstr(a1, a4, z))); -} - - -extern int call_mvwinsstr (WINDOW * a1, int a2, int a3, const char * z); -int call_mvwinsstr (WINDOW * a1, int a2, int a3, const char * z) -{ - T((T_CALLED("mvwinsstr(%p,%d,%d,%s)"), a1, a2, a3, _nc_visbuf2(3,z))); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : winsnstr(a1, z, -1))); -} - - -extern int call_mvwinstr (WINDOW * a1, int a2, int a3, char * z); -int call_mvwinstr (WINDOW * a1, int a2, int a3, char * z) -{ - T((T_CALLED("mvwinstr(%p,%d,%d,%s)"), a1, a2, a3, _nc_visbuf2(3,z))); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : winnstr(a1, z, -1))); -} - - -extern int call_mvwvline (WINDOW * a1, int a2, int a3, chtype a4, int z); -int call_mvwvline (WINDOW * a1, int a2, int a3, chtype a4, int z) -{ - T((T_CALLED("mvwvline(%p,%d,%d,%s,%d)"), a1, a2, a3, _tracechtype2(3,a4), z)); returnCode((wmove(a1, a2, a3) == (-1) ? (-1) : wvline(a1, a4, z))); -} - - -extern int call_napms (int z); -int call_napms (int z) -{ - T((T_CALLED("napms(%d)"), z)); returnCode(napms(z)); -} - - -extern WINDOW * call_newpad (int a1, int z); -WINDOW * call_newpad (int a1, int z) -{ - T((T_CALLED("(%d,%d)"), a1, z)); returnWin(newpad(a1, z)); -} - - -extern SCREEN * call_newterm (char * a1, FILE * a2, FILE * z); -SCREEN * call_newterm (char * a1, FILE * a2, FILE * z) -{ - T((T_CALLED("(%s,%p,%p)"), _nc_visbuf2(0,a1), a2, z)); returnSP(newterm(a1, a2, z)); -} - - -extern WINDOW * call_newwin (int a1, int a2, int a3, int z); -WINDOW * call_newwin (int a1, int a2, int a3, int z) -{ - T((T_CALLED("(%d,%d,%d,%d)"), a1, a2, a3, z)); returnWin(newwin(a1, a2, a3, z)); -} - - -extern int call_nl (void); -int call_nl (void) -{ - T((T_CALLED("nl()"))); returnCode(nl()); -} - - -extern int call_nocbreak (void); -int call_nocbreak (void) -{ - T((T_CALLED("nocbreak()"))); returnCode(nocbreak()); -} - - -extern int call_nodelay (WINDOW * a1, NCURSES_BOOL z); -int call_nodelay (WINDOW * a1, NCURSES_BOOL z) -{ - T((T_CALLED("nodelay(%p,%#lx)"), a1, (long)z)); returnCode(nodelay(a1, z)); -} - - -extern int call_noecho (void); -int call_noecho (void) -{ - T((T_CALLED("noecho()"))); returnCode(noecho()); -} - - -extern int call_nonl (void); -int call_nonl (void) -{ - T((T_CALLED("nonl()"))); returnCode(nonl()); -} - - -extern void call_noqiflush (void); -void call_noqiflush (void) -{ - T((T_CALLED("noqiflush()"))); noqiflush(); - returnVoid; -} - - -extern int call_noraw (void); -int call_noraw (void) -{ - T((T_CALLED("noraw()"))); returnCode(noraw()); -} - - -extern int call_notimeout (WINDOW * a1, NCURSES_BOOL z); -int call_notimeout (WINDOW * a1, NCURSES_BOOL z) -{ - T((T_CALLED("notimeout(%p,%#lx)"), a1, (long)z)); returnCode(notimeout(a1, z)); -} - - -extern int call_overlay (const WINDOW * a1, WINDOW * z); -int call_overlay (const WINDOW * a1, WINDOW * z) -{ - T((T_CALLED("overlay(%p,%p)"), a1, z)); returnCode(overlay(a1, z)); -} - - -extern int call_overwrite (const WINDOW * a1, WINDOW * z); -int call_overwrite (const WINDOW * a1, WINDOW * z) -{ - T((T_CALLED("overwrite(%p,%p)"), a1, z)); returnCode(overwrite(a1, z)); -} - - -extern int call_pair_content (short a1, short * a2, short * z); -int call_pair_content (short a1, short * a2, short * z) -{ - T((T_CALLED("pair_content(%d,%p,%p)"), a1, a2, z)); returnCode(pair_content(a1, a2, z)); -} - - -extern int call_PAIR_NUMBER (int z); -int call_PAIR_NUMBER (int z) -{ - T((T_CALLED("PAIR_NUMBER(%d)"), z)); returnCode(((int)((((z) & ((((1UL) << 8) - 1UL) << ((0) + 8))) >> 8)))); -} - - -extern int call_pechochar (WINDOW * a1, const chtype z); -int call_pechochar (WINDOW * a1, const chtype z) -{ - T((T_CALLED("pechochar(%p,%s)"), a1, _tracechtype2(1,z))); returnCode(pechochar(a1, z)); -} - - -extern int call_pnoutrefresh (WINDOW * a1, int a2, int a3, int a4, int a5, int a6, int z); -int call_pnoutrefresh (WINDOW * a1, int a2, int a3, int a4, int a5, int a6, int z) -{ - T((T_CALLED("pnoutrefresh(%p,%d,%d,%d,%d,%d,%d)"), a1, a2, a3, a4, a5, a6, z)); returnCode(pnoutrefresh(a1, a2, a3, a4, a5, a6, z)); -} - - -extern int call_prefresh (WINDOW * a1, int a2, int a3, int a4, int a5, int a6, int z); -int call_prefresh (WINDOW * a1, int a2, int a3, int a4, int a5, int a6, int z) -{ - T((T_CALLED("prefresh(%p,%d,%d,%d,%d,%d,%d)"), a1, a2, a3, a4, a5, a6, z)); returnCode(prefresh(a1, a2, a3, a4, a5, a6, z)); -} - - -extern int call_putp (const char * z); -int call_putp (const char * z) -{ - T((T_CALLED("putp(%s)"), _nc_visbuf2(0,z))); returnCode(putp(z)); -} - - -extern int call_putwin (WINDOW * a1, FILE * z); -int call_putwin (WINDOW * a1, FILE * z) -{ - T((T_CALLED("putwin(%p,%p)"), a1, z)); returnCode(putwin(a1, z)); -} - - -extern void call_qiflush (void); -void call_qiflush (void) -{ - T((T_CALLED("qiflush()"))); qiflush(); - returnVoid; -} - - -extern int call_raw (void); -int call_raw (void) -{ - T((T_CALLED("raw()"))); returnCode(raw()); -} - - -extern int call_redrawwin (WINDOW * z); -int call_redrawwin (WINDOW * z) -{ - T((T_CALLED("redrawwin(%p)"), z)); returnCode(wredrawln(z, 0, (z)->_maxy+1)); -} - - -extern int call_refresh (void); -int call_refresh (void) -{ - T((T_CALLED("refresh()"))); returnCode(wrefresh(stdscr)); -} - - -extern int call_resetty (void); -int call_resetty (void) -{ - T((T_CALLED("resetty()"))); returnCode(resetty()); -} - - -extern int call_reset_prog_mode (void); -int call_reset_prog_mode (void) -{ - T((T_CALLED("reset_prog_mode()"))); returnCode(reset_prog_mode()); -} - - -extern int call_reset_shell_mode (void); -int call_reset_shell_mode (void) -{ - T((T_CALLED("reset_shell_mode()"))); returnCode(reset_shell_mode()); -} - - -extern int call_ripoffline (int a1, int(* z)(WINDOW * a2, int)); -int call_ripoffline (int a1, int(* z)(WINDOW * a2, int)) -{ - return ripoffline(a1, z) ; -} - - -extern int call_savetty (void); -int call_savetty (void) -{ - T((T_CALLED("savetty()"))); returnCode(savetty()); -} - - -extern int call_scr_dump (const char * z); -int call_scr_dump (const char * z) -{ - T((T_CALLED("scr_dump(%s)"), _nc_visbuf2(0,z))); returnCode(scr_dump(z)); -} - - -extern int call_scr_init (const char * z); -int call_scr_init (const char * z) -{ - T((T_CALLED("scr_init(%s)"), _nc_visbuf2(0,z))); returnCode(scr_init(z)); -} - - -extern int call_scrl (int z); -int call_scrl (int z) -{ - T((T_CALLED("scrl(%d)"), z)); returnCode(wscrl(stdscr, z)); -} - - -extern int call_scroll (WINDOW * z); -int call_scroll (WINDOW * z) -{ - T((T_CALLED("scroll(%p)"), z)); returnCode(wscrl(z,1)); -} - - -extern int call_scrollok (WINDOW * a1, NCURSES_BOOL z); -int call_scrollok (WINDOW * a1, NCURSES_BOOL z) -{ - T((T_CALLED("scrollok(%p,%#lx)"), a1, (long)z)); returnCode(scrollok(a1, z)); -} - - -extern int call_scr_restore (const char * z); -int call_scr_restore (const char * z) -{ - T((T_CALLED("scr_restore(%s)"), _nc_visbuf2(0,z))); returnCode(scr_restore(z)); -} - - -extern int call_scr_set (const char * z); -int call_scr_set (const char * z) -{ - T((T_CALLED("scr_set(%s)"), _nc_visbuf2(0,z))); returnCode(scr_set(z)); -} - - -extern int call_setscrreg (int a1, int z); -int call_setscrreg (int a1, int z) -{ - T((T_CALLED("setscrreg(%d,%d)"), a1, z)); returnCode(wsetscrreg(stdscr, a1, z)); -} - - -extern SCREEN * call_set_term (SCREEN * z); -SCREEN * call_set_term (SCREEN * z) -{ - T((T_CALLED("(%p)"), z)); returnSP(set_term(z)); -} - - -extern int call_slk_attroff (const chtype z); -int call_slk_attroff (const chtype z) -{ - T((T_CALLED("slk_attroff(%s)"), _tracechtype2(0,z))); returnCode(slk_attroff(z)); -} - - -#if USE_WIDEC_SUPPORT -extern int call_slk_attr_off (const attr_t a1, void * z); -int call_slk_attr_off (const attr_t a1, void * z) -{ - T((T_CALLED("slk_attr_off(%s,%p)"), _traceattr2(0,a1), z)); returnCode(((z) ? (-1) : slk_attroff(a1))); -} -#endif - - -extern int call_slk_attron (const chtype z); -int call_slk_attron (const chtype z) -{ - T((T_CALLED("slk_attron(%s)"), _tracechtype2(0,z))); returnCode(slk_attron(z)); -} - - -#if USE_WIDEC_SUPPORT -extern int call_slk_attr_on (attr_t a1, void * z); -int call_slk_attr_on (attr_t a1, void * z) -{ - T((T_CALLED("slk_attr_on(%s,%p)"), _traceattr2(0,a1), z)); returnCode(((z) ? (-1) : slk_attron(a1))); -} -#endif - - -extern int call_slk_attrset (const chtype z); -int call_slk_attrset (const chtype z) -{ - T((T_CALLED("slk_attrset(%s)"), _tracechtype2(0,z))); returnCode(slk_attrset(z)); -} - - -extern attr_t call_slk_attr (void); -attr_t call_slk_attr (void) -{ - T((T_CALLED("slk_attr()"))); returnAttr(slk_attr()); -} - - -extern int call_slk_attr_set (const attr_t a1, short a2, void * z); -int call_slk_attr_set (const attr_t a1, short a2, void * z) -{ - T((T_CALLED("slk_attr_set(%s,%d,%p)"), _traceattr2(0,a1), a2, z)); returnCode(slk_attr_set(a1, a2, z)); -} - - -extern int call_slk_clear (void); -int call_slk_clear (void) -{ - T((T_CALLED("slk_clear()"))); returnCode(slk_clear()); -} - - -extern int call_slk_color (short z); -int call_slk_color (short z) -{ - T((T_CALLED("slk_color(%d)"), z)); returnCode(slk_color(z)); -} - - -extern int call_slk_init (int z); -int call_slk_init (int z) -{ - T((T_CALLED("slk_init(%d)"), z)); returnCode(slk_init(z)); -} - - -extern char * call_slk_label (int z); -char * call_slk_label (int z) -{ - T((T_CALLED("(%d)"), z)); returnPtr(slk_label(z)); -} - - -extern int call_slk_noutrefresh (void); -int call_slk_noutrefresh (void) -{ - T((T_CALLED("slk_noutrefresh()"))); returnCode(slk_noutrefresh()); -} - - -extern int call_slk_refresh (void); -int call_slk_refresh (void) -{ - T((T_CALLED("slk_refresh()"))); returnCode(slk_refresh()); -} - - -extern int call_slk_restore (void); -int call_slk_restore (void) -{ - T((T_CALLED("slk_restore()"))); returnCode(slk_restore()); -} - - -extern int call_slk_set (int a1, const char * a2, int z); -int call_slk_set (int a1, const char * a2, int z) -{ - T((T_CALLED("slk_set(%d,%s,%d)"), a1, _nc_visbuf2(1,a2), z)); returnCode(slk_set(a1, a2, z)); -} - - -extern int call_slk_touch (void); -int call_slk_touch (void) -{ - T((T_CALLED("slk_touch()"))); returnCode(slk_touch()); -} - - -extern int call_standout (void); -int call_standout (void) -{ - T((T_CALLED("standout()"))); returnAttr((((stdscr)->_attrs = (((1UL) << ((8) + 8)))))); -} - - -extern int call_standend (void); -int call_standend (void) -{ - T((T_CALLED("standend()"))); returnAttr((((stdscr)->_attrs = ((1UL - 1UL))))); -} - - -extern int call_start_color (void); -int call_start_color (void) -{ - T((T_CALLED("start_color()"))); returnCode(start_color()); -} - - -extern WINDOW * call_subpad (WINDOW * a1, int a2, int a3, int a4, int z); -WINDOW * call_subpad (WINDOW * a1, int a2, int a3, int a4, int z) -{ - T((T_CALLED("(%p,%d,%d,%d,%d)"), a1, a2, a3, a4, z)); returnWin(subpad(a1, a2, a3, a4, z)); -} - - -extern WINDOW * call_subwin (WINDOW * a1, int a2, int a3, int a4, int z); -WINDOW * call_subwin (WINDOW * a1, int a2, int a3, int a4, int z) -{ - T((T_CALLED("(%p,%d,%d,%d,%d)"), a1, a2, a3, a4, z)); returnWin(subwin(a1, a2, a3, a4, z)); -} - - -extern int call_syncok (WINDOW * a1, NCURSES_BOOL z); -int call_syncok (WINDOW * a1, NCURSES_BOOL z) -{ - T((T_CALLED("syncok(%p,%#lx)"), a1, (long)z)); returnCode(syncok(a1, z)); -} - - -extern chtype call_termattrs (void); -chtype call_termattrs (void) -{ - T((T_CALLED("termattrs()"))); returnChar(termattrs()); -} - - -extern char * call_termname (void); -char * call_termname (void) -{ - T((T_CALLED("()"))); returnPtr(termname()); -} - - -extern int call_tigetflag (char * z); -int call_tigetflag (char * z) -{ - T((T_CALLED("tigetflag(%s)"), _nc_visbuf2(0,z))); returnCode(tigetflag(z)); -} - - -extern int call_tigetnum (char * z); -int call_tigetnum (char * z) -{ - T((T_CALLED("tigetnum(%s)"), _nc_visbuf2(0,z))); returnCode(tigetnum(z)); -} - - -extern char * call_tigetstr (char * z); -char * call_tigetstr (char * z) -{ - T((T_CALLED("(%s)"), _nc_visbuf2(0,z))); returnPtr(tigetstr(z)); -} - - -extern void call_timeout (int z); -void call_timeout (int z) -{ - T((T_CALLED("timeout(%d)"), z)); wtimeout(stdscr, z) ; - returnVoid; -} - - -extern int call_touchline (WINDOW * a1, int a2, int z); -int call_touchline (WINDOW * a1, int a2, int z) -{ - T((T_CALLED("touchline(%p,%d,%d)"), a1, a2, z)); returnCode(wtouchln((a1), a2, z, 1)); -} - - -extern int call_touchwin (WINDOW * z); -int call_touchwin (WINDOW * z) -{ - T((T_CALLED("touchwin(%p)"), z)); returnCode(wtouchln((z), 0, ((z)?((z)->_maxy + 1): (-1)), 1)); -} - - -extern char * call_tparm (char * a1, ...); -char * call_tparm (char * a1, ...) -{ - T((T_CALLED("(%s,%s)"), _nc_visbuf2(0,a1), "...")); returnPtr(tparm(a1)); -} - - -extern int call_typeahead (int z); -int call_typeahead (int z) -{ - T((T_CALLED("typeahead(%d)"), z)); returnCode(typeahead(z)); -} - - -extern int call_ungetch (int z); -int call_ungetch (int z) -{ - T((T_CALLED("ungetch(%d)"), z)); returnCode(ungetch(z)); -} - - -extern int call_untouchwin (WINDOW * z); -int call_untouchwin (WINDOW * z) -{ - T((T_CALLED("untouchwin(%p)"), z)); returnCode(wtouchln((z), 0, ((z)?((z)->_maxy + 1): (-1)), 0)); -} - - -extern void call_use_env (NCURSES_BOOL z); -void call_use_env (NCURSES_BOOL z) -{ - T((T_CALLED("use_env(%#lx)"), (long)z)); use_env(z); - returnVoid; -} - - -extern int call_vidattr (chtype z); -int call_vidattr (chtype z) -{ - T((T_CALLED("vidattr(%s)"), _tracechtype2(0,z))); returnCode(vidattr(z)); -} - - -extern int call_vidputs (chtype a1, int(* z)(int)); -int call_vidputs (chtype a1, int(* z)(int)) -{ - T((T_CALLED("vidputs(%s,"), _tracechtype2(0,a1))); returnCode(vidputs(a1, z)); -} - - -extern int call_vline (chtype a1, int z); -int call_vline (chtype a1, int z) -{ - T((T_CALLED("vline(%s,%d)"), _tracechtype2(0,a1), z)); returnCode(wvline(stdscr, a1, z)); -} - - -extern int call_vwprintw (WINDOW * a1, const char * a2, va_list z); -int call_vwprintw (WINDOW * a1, const char * a2, va_list z) -{ - T((T_CALLED("vwprintw(%p,%s,%s)"), a1, _nc_visbuf2(1,a2), "va_list")); returnCode(vwprintw(a1, a2, z)); -} - - -extern int call_vw_printw (WINDOW * a1, const char * a2, va_list z); -int call_vw_printw (WINDOW * a1, const char * a2, va_list z) -{ - T((T_CALLED("vw_printw(%p,%s,%s)"), a1, _nc_visbuf2(1,a2), "va_list")); returnCode(vwprintw (a1, a2, z)); -} - - -extern int call_vwscanw (WINDOW * a1, char * a2, va_list z); -int call_vwscanw (WINDOW * a1, char * a2, va_list z) -{ - T((T_CALLED("vwscanw(%p,%s,%s)"), a1, _nc_visbuf2(1,a2), "va_list")); returnCode(vwscanw(a1, a2, z)); -} - - -extern int call_vw_scanw (WINDOW * a1, char * a2, va_list z); -int call_vw_scanw (WINDOW * a1, char * a2, va_list z) -{ - T((T_CALLED("vw_scanw(%p,%s,%s)"), a1, _nc_visbuf2(1,a2), "va_list")); returnCode(vwscanw (a1, a2, z)); -} - - -extern int call_waddch (WINDOW * a1, const chtype z); -int call_waddch (WINDOW * a1, const chtype z) -{ - T((T_CALLED("waddch(%p,%s)"), a1, _tracechtype2(1,z))); returnCode(waddch(a1, z)); -} - - -extern int call_waddchnstr (WINDOW * a1, const chtype * a2, int z); -int call_waddchnstr (WINDOW * a1, const chtype * a2, int z) -{ - T((T_CALLED("waddchnstr(%p,%p,%d)"), a1, a2, z)); returnCode(waddchnstr(a1, a2, z)); -} - - -extern int call_waddchstr (WINDOW * a1, const chtype * z); -int call_waddchstr (WINDOW * a1, const chtype * z) -{ - T((T_CALLED("waddchstr(%p,%p)"), a1, z)); returnCode(waddchnstr(a1, z,-1)); -} - - -extern int call_waddnstr (WINDOW * a1, const char * a2, int z); -int call_waddnstr (WINDOW * a1, const char * a2, int z) -{ - T((T_CALLED("waddnstr(%p,%s,%d)"), a1, _nc_visbuf2(1,a2), z)); returnCode(waddnstr(a1, a2, z)); -} - - -extern int call_waddstr (WINDOW * a1, const char * z); -int call_waddstr (WINDOW * a1, const char * z) -{ - T((T_CALLED("waddstr(%p,%s)"), a1, _nc_visbuf2(1,z))); returnCode(waddnstr(a1, z,-1)); -} - - -extern int call_wattron (WINDOW * a1, int z); -int call_wattron (WINDOW * a1, int z) -{ - T((T_CALLED("wattron(%p,%d)"), a1, z)); returnCode(wattr_on(a1, (attr_t)(z), ((void *)0))); -} - - -extern int call_wattroff (WINDOW * a1, int z); -int call_wattroff (WINDOW * a1, int z) -{ - T((T_CALLED("wattroff(%p,%d)"), a1, z)); returnCode(wattr_off(a1, (attr_t)(z), ((void *)0))); -} - - -extern int call_wattrset (WINDOW * a1, int z); -int call_wattrset (WINDOW * a1, int z) -{ - T((T_CALLED("wattrset(%p,%d)"), a1, z)); returnAttr(((a1)->_attrs = (z))); -} - - -extern int call_wattr_get (WINDOW * a1, attr_t * a2, short * a3, void * z); -int call_wattr_get (WINDOW * a1, attr_t * a2, short * a3, void * z) -{ - T((T_CALLED("wattr_get(%p,%p,%p,%p)"), a1, a2, a3, z)); returnCode(((void)((a2) != 0 && (*(a2) = (a1)->_attrs)), (void)((a3) != 0 && (*(a3) = ((int)(((((a1)->_attrs) & ((((1UL) << 8) - 1UL) << ((0) + 8))) >> 8))))), (0))); -} - - -extern int call_wattr_on (WINDOW * a1, attr_t a2, void * z); -int call_wattr_on (WINDOW * a1, attr_t a2, void * z) -{ - T((T_CALLED("wattr_on(%p,%s,%p)"), a1, _traceattr2(1,a2), z)); returnCode(wattr_on(a1, a2, z)); -} - - -extern int call_wattr_off (WINDOW * a1, attr_t a2, void * z); -int call_wattr_off (WINDOW * a1, attr_t a2, void * z) -{ - T((T_CALLED("wattr_off(%p,%s,%p)"), a1, _traceattr2(1,a2), z)); returnCode(wattr_off(a1, a2, z)); -} - - -extern int call_wattr_set (WINDOW * a1, attr_t a2, short a3, void * z); -int call_wattr_set (WINDOW * a1, attr_t a2, short a3, void * z) -{ - T((T_CALLED("wattr_set(%p,%s,%d,%p)"), a1, _traceattr2(1,a2), a3, z)); returnCode(((a1)->_attrs = (((a2) & ~((((1UL) << 8) - 1UL) << ((0) + 8))) | ((a3) << ((0) + 8))), (0))); -} - - -extern int call_wbkgd (WINDOW * a1, chtype z); -int call_wbkgd (WINDOW * a1, chtype z) -{ - T((T_CALLED("wbkgd(%p,%s)"), a1, _tracechtype2(1,z))); returnCode(wbkgd(a1, z)); -} - - -extern void call_wbkgdset (WINDOW * a1, chtype z); -void call_wbkgdset (WINDOW * a1, chtype z) -{ - T((T_CALLED("wbkgdset(%p,%s)"), a1, _tracechtype2(1,z))); wbkgdset(a1, z); - returnVoid; -} - - -extern int call_wborder (WINDOW * a1, chtype a2, chtype a3, chtype a4, chtype a5, chtype a6, chtype a7, chtype a8, chtype z); -int call_wborder (WINDOW * a1, chtype a2, chtype a3, chtype a4, chtype a5, chtype a6, chtype a7, chtype a8, chtype z) -{ - T((T_CALLED("wborder(%p,%s,%s,%s,%s,%s,%s,%s,%s)"), a1, _tracechtype2(1,a2), _tracechtype2(2,a3), _tracechtype2(3,a4), _tracechtype2(4,a5), _tracechtype2(5,a6), _tracechtype2(6,a7), _tracechtype2(7,a8), _tracechtype2(8,z))); returnCode(wborder(a1, a2, a3, a4, a5, a6, a7, a8, z)); -} - - -extern int call_wchgat (WINDOW * a1, int a2, attr_t a3, short a4, const void * z); -int call_wchgat (WINDOW * a1, int a2, attr_t a3, short a4, const void * z) -{ - T((T_CALLED("wchgat(%p,%d,%s,%d,%p)"), a1, a2, _traceattr2(2,a3), a4, z)); returnCode(wchgat(a1, a2, a3, a4, z)); -} - - -extern int call_wclear (WINDOW * z); -int call_wclear (WINDOW * z) -{ - T((T_CALLED("wclear(%p)"), z)); returnCode(wclear(z)); -} - - -extern int call_wclrtobot (WINDOW * z); -int call_wclrtobot (WINDOW * z) -{ - T((T_CALLED("wclrtobot(%p)"), z)); returnCode(wclrtobot(z)); -} - - -extern int call_wclrtoeol (WINDOW * z); -int call_wclrtoeol (WINDOW * z) -{ - T((T_CALLED("wclrtoeol(%p)"), z)); returnCode(wclrtoeol(z)); -} - - -extern int call_wcolor_set (WINDOW * a1, short a2, void * z); -int call_wcolor_set (WINDOW * a1, short a2, void * z) -{ - T((T_CALLED("wcolor_set(%p,%d,%p)"), a1, a2, z)); returnCode(wcolor_set(a1, a2, z)); -} - - -extern void call_wcursyncup (WINDOW * z); -void call_wcursyncup (WINDOW * z) -{ - T((T_CALLED("wcursyncup(%p)"), z)); wcursyncup(z); - returnVoid; -} - - -extern int call_wdelch (WINDOW * z); -int call_wdelch (WINDOW * z) -{ - T((T_CALLED("wdelch(%p)"), z)); returnCode(wdelch(z)); -} - - -extern int call_wdeleteln (WINDOW * z); -int call_wdeleteln (WINDOW * z) -{ - T((T_CALLED("wdeleteln(%p)"), z)); returnCode(winsdelln(z,-1)); -} - - -extern int call_wechochar (WINDOW * a1, const chtype z); -int call_wechochar (WINDOW * a1, const chtype z) -{ - T((T_CALLED("wechochar(%p,%s)"), a1, _tracechtype2(1,z))); returnCode(wechochar(a1, z)); -} - - -extern int call_werase (WINDOW * z); -int call_werase (WINDOW * z) -{ - T((T_CALLED("werase(%p)"), z)); returnCode(werase(z)); -} - - -extern int call_wgetch (WINDOW * z); -int call_wgetch (WINDOW * z) -{ - T((T_CALLED("wgetch(%p)"), z)); returnCode(wgetch(z)); -} - - -extern int call_wgetnstr (WINDOW * a1, char * a2, int z); -int call_wgetnstr (WINDOW * a1, char * a2, int z) -{ - T((T_CALLED("wgetnstr(%p,%s,%d)"), a1, _nc_visbuf2(1,a2), z)); returnCode(wgetnstr(a1, a2, z)); -} - - -extern int call_wgetstr (WINDOW * a1, char * z); -int call_wgetstr (WINDOW * a1, char * z) -{ - T((T_CALLED("wgetstr(%p,%s)"), a1, _nc_visbuf2(1,z))); returnCode(wgetnstr(a1, z, -1)); -} - - -extern int call_whline (WINDOW * a1, chtype a2, int z); -int call_whline (WINDOW * a1, chtype a2, int z) -{ - T((T_CALLED("whline(%p,%s,%d)"), a1, _tracechtype2(1,a2), z)); returnCode(whline(a1, a2, z)); -} - - -extern chtype call_winch (WINDOW * z); -chtype call_winch (WINDOW * z) -{ - T((T_CALLED("winch(%p)"), z)); returnChar(winch(z)); -} - - -extern int call_winchnstr (WINDOW * a1, chtype * a2, int z); -int call_winchnstr (WINDOW * a1, chtype * a2, int z) -{ - T((T_CALLED("winchnstr(%p,%p,%d)"), a1, a2, z)); returnCode(winchnstr(a1, a2, z)); -} - - -extern int call_winchstr (WINDOW * a1, chtype * z); -int call_winchstr (WINDOW * a1, chtype * z) -{ - T((T_CALLED("winchstr(%p,%p)"), a1, z)); returnCode(winchnstr(a1, z, -1)); -} - - -extern int call_winnstr (WINDOW * a1, char * a2, int z); -int call_winnstr (WINDOW * a1, char * a2, int z) -{ - return winnstr(a1, a2, z) ; -} - - -extern int call_winsch (WINDOW * a1, chtype z); -int call_winsch (WINDOW * a1, chtype z) -{ - T((T_CALLED("winsch(%p,%s)"), a1, _tracechtype2(1,z))); returnCode(winsch(a1, z)); -} - - -extern int call_winsdelln (WINDOW * a1, int z); -int call_winsdelln (WINDOW * a1, int z) -{ - T((T_CALLED("winsdelln(%p,%d)"), a1, z)); returnCode(winsdelln(a1, z)); -} - - -extern int call_winsertln (WINDOW * z); -int call_winsertln (WINDOW * z) -{ - T((T_CALLED("winsertln(%p)"), z)); returnCode(winsdelln(z,1)); -} - - -extern int call_winsnstr (WINDOW * a1, const char * a2, int z); -int call_winsnstr (WINDOW * a1, const char * a2, int z) -{ - T((T_CALLED("winsnstr(%p,%s,%d)"), a1, _nc_visbuf2(1,a2), z)); returnCode(winsnstr(a1, a2, z)); -} - - -extern int call_winsstr (WINDOW * a1, const char * z); -int call_winsstr (WINDOW * a1, const char * z) -{ - T((T_CALLED("winsstr(%p,%s)"), a1, _nc_visbuf2(1,z))); returnCode(winsnstr(a1, z, -1)); -} - - -extern int call_winstr (WINDOW * a1, char * z); -int call_winstr (WINDOW * a1, char * z) -{ - T((T_CALLED("winstr(%p,%s)"), a1, _nc_visbuf2(1,z))); returnCode(winnstr(a1, z, -1)); -} - - -extern int call_wmove (WINDOW * a1, int a2, int z); -int call_wmove (WINDOW * a1, int a2, int z) -{ - T((T_CALLED("wmove(%p,%d,%d)"), a1, a2, z)); returnCode(wmove(a1, a2, z)); -} - - -extern int call_wnoutrefresh (WINDOW * z); -int call_wnoutrefresh (WINDOW * z) -{ - T((T_CALLED("wnoutrefresh(%p)"), z)); returnCode(wnoutrefresh(z)); -} - - -extern int call_wredrawln (WINDOW * a1, int a2, int z); -int call_wredrawln (WINDOW * a1, int a2, int z) -{ - T((T_CALLED("wredrawln(%p,%d,%d)"), a1, a2, z)); returnCode(wredrawln(a1, a2, z)); -} - - -extern int call_wrefresh (WINDOW * z); -int call_wrefresh (WINDOW * z) -{ - T((T_CALLED("wrefresh(%p)"), z)); returnCode(wrefresh(z)); -} - - -extern int call_wscrl (WINDOW * a1, int z); -int call_wscrl (WINDOW * a1, int z) -{ - T((T_CALLED("wscrl(%p,%d)"), a1, z)); returnCode(wscrl(a1, z)); -} - - -extern int call_wsetscrreg (WINDOW * a1, int a2, int z); -int call_wsetscrreg (WINDOW * a1, int a2, int z) -{ - T((T_CALLED("wsetscrreg(%p,%d,%d)"), a1, a2, z)); returnCode(wsetscrreg(a1, a2, z)); -} - - -extern int call_wstandout (WINDOW * z); -int call_wstandout (WINDOW * z) -{ - T((T_CALLED("wstandout(%p)"), z)); returnAttr((((z)->_attrs = (((1UL) << ((8) + 8)))))); -} - - -extern int call_wstandend (WINDOW * z); -int call_wstandend (WINDOW * z) -{ - T((T_CALLED("wstandend(%p)"), z)); returnAttr((((z)->_attrs = ((1UL - 1UL))))); -} - - -extern void call_wsyncdown (WINDOW * z); -void call_wsyncdown (WINDOW * z) -{ - T((T_CALLED("wsyncdown(%p)"), z)); wsyncdown(z); - returnVoid; -} - - -extern void call_wsyncup (WINDOW * z); -void call_wsyncup (WINDOW * z) -{ - T((T_CALLED("wsyncup(%p)"), z)); wsyncup(z); - returnVoid; -} - - -extern void call_wtimeout (WINDOW * a1, int z); -void call_wtimeout (WINDOW * a1, int z) -{ - T((T_CALLED("wtimeout(%p,%d)"), a1, z)); wtimeout(a1, z); - returnVoid; -} - - -extern int call_wtouchln (WINDOW * a1, int a2, int a3, int z); -int call_wtouchln (WINDOW * a1, int a2, int a3, int z) -{ - T((T_CALLED("wtouchln(%p,%d,%d,%d)"), a1, a2, a3, z)); returnCode(wtouchln(a1, a2, a3, z)); -} - - -extern int call_wvline (WINDOW * a1, chtype a2, int z); -int call_wvline (WINDOW * a1, chtype a2, int z) -{ - T((T_CALLED("wvline(%p,%s,%d)"), a1, _tracechtype2(1,a2), z)); returnCode(wvline(a1, a2, z)); -} - - -extern NCURSES_BOOL call_mouse_trafo (int * a1, int * a2, NCURSES_BOOL z); -NCURSES_BOOL call_mouse_trafo (int * a1, int * a2, NCURSES_BOOL z) -{ - T((T_CALLED("mouse_trafo(%p,%p,%#lx)"), a1, a2, (long)z)); returnBool(wmouse_trafo(stdscr, a1, a2, z)); -} -int main(void) { return 0; } diff --git a/src/libs/ncurses/ncurses/llib-lncurses b/src/libs/ncurses/ncurses/llib-lncurses deleted file mode 100644 index 072a653924..0000000000 --- a/src/libs/ncurses/ncurses/llib-lncurses +++ /dev/null @@ -1,3173 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1996-2004,2005 * - ****************************************************************************/ -/* LINTLIBRARY */ - -/* ./tty/hardscroll.c */ - -#include - -#undef _nc_oldnums -int *_nc_oldnums; - -#undef _nc_scroll_optimize -void _nc_scroll_optimize(void) - { /* void */ } - -#undef _nc_linedump -void _nc_linedump(void) - { /* void */ } - -/* ./tty/hashmap.c */ - -#include - -#undef _nc_hash_map -void _nc_hash_map(void) - { /* void */ } - -#undef _nc_make_oldhash -void _nc_make_oldhash( - int i) - { /* void */ } - -#undef _nc_scroll_oldhash -void _nc_scroll_oldhash( - int n, - int top, - int bot) - { /* void */ } - -/* ./base/lib_addch.c */ - -#include - -#undef _nc_render -chtype _nc_render( - WINDOW *win, - chtype ch) - { return(*(chtype *)0); } - -#undef _nc_waddch_nosync -int _nc_waddch_nosync( - WINDOW *win, - const chtype c) - { return(*(int *)0); } - -#undef waddch -int waddch( - WINDOW *win, - const chtype ch) - { return(*(int *)0); } - -#undef wechochar -int wechochar( - WINDOW *win, - const chtype ch) - { return(*(int *)0); } - -/* ./base/lib_addstr.c */ - -#undef waddnstr -int waddnstr( - WINDOW *win, - const char *astr, - int n) - { return(*(int *)0); } - -#undef waddchnstr -int waddchnstr( - WINDOW *win, - const chtype *astr, - int n) - { return(*(int *)0); } - -/* ./base/lib_beep.c */ - -#undef beep -int beep(void) - { return(*(int *)0); } - -/* ./base/lib_bkgd.c */ - -#undef wbkgdset -void wbkgdset( - WINDOW *win, - chtype ch) - { /* void */ } - -#undef wbkgd -int wbkgd( - WINDOW *win, - chtype ch) - { return(*(int *)0); } - -/* ./base/lib_box.c */ - -#undef wborder -int wborder( - WINDOW *win, - chtype ls, - chtype rs, - chtype ts, - chtype bs, - chtype tl, - chtype tr, - chtype bl, - chtype br) - { return(*(int *)0); } - -/* ./base/lib_chgat.c */ - -#undef wchgat -int wchgat( - WINDOW *win, - int n, - attr_t attr, - short color, - const void *opts) - { return(*(int *)0); } - -/* ./base/lib_clear.c */ - -#undef wclear -int wclear( - WINDOW *win) - { return(*(int *)0); } - -/* ./base/lib_clearok.c */ - -#undef clearok -int clearok( - WINDOW *win, - NCURSES_BOOL flag) - { return(*(int *)0); } - -/* ./base/lib_clrbot.c */ - -#undef wclrtobot -int wclrtobot( - WINDOW *win) - { return(*(int *)0); } - -/* ./base/lib_clreol.c */ - -#undef wclrtoeol -int wclrtoeol( - WINDOW *win) - { return(*(int *)0); } - -/* ./base/lib_color.c */ - -#include - -#undef COLOR_PAIRS -int COLOR_PAIRS; -#undef COLORS -int COLORS; - -#undef _nc_reset_colors -NCURSES_BOOL _nc_reset_colors(void) - { return(*(NCURSES_BOOL *)0); } - -#undef start_color -int start_color(void) - { return(*(int *)0); } - -#undef init_pair -int init_pair( - short pair, - short f, - short b) - { return(*(int *)0); } - -#undef init_color -int init_color( - short color, - short r, - short g, - short b) - { return(*(int *)0); } - -#undef can_change_color -NCURSES_BOOL can_change_color(void) - { return(*(NCURSES_BOOL *)0); } - -#undef has_colors -NCURSES_BOOL has_colors(void) - { return(*(NCURSES_BOOL *)0); } - -#undef color_content -int color_content( - short color, - short *r, - short *g, - short *b) - { return(*(int *)0); } - -#undef pair_content -int pair_content( - short pair, - short *f, - short *b) - { return(*(int *)0); } - -#undef _nc_do_color -void _nc_do_color( - int old_pair, - int pair, - NCURSES_BOOL reverse, - int (*outc)( - int p1)) - { /* void */ } - -/* ./base/lib_colorset.c */ - -#undef wcolor_set -int wcolor_set( - WINDOW *win, - short color_pair_number, - void *opts) - { return(*(int *)0); } - -/* ./base/lib_delch.c */ - -#undef wdelch -int wdelch( - WINDOW *win) - { return(*(int *)0); } - -/* ./base/lib_delwin.c */ - -#undef delwin -int delwin( - WINDOW *win) - { return(*(int *)0); } - -/* ./base/lib_echo.c */ - -#undef echo -int echo(void) - { return(*(int *)0); } - -#undef noecho -int noecho(void) - { return(*(int *)0); } - -/* ./base/lib_endwin.c */ - -#undef endwin -int endwin(void) - { return(*(int *)0); } - -/* ./base/lib_erase.c */ - -#undef werase -int werase( - WINDOW *win) - { return(*(int *)0); } - -/* ./base/lib_flash.c */ - -#undef flash -int flash(void) - { return(*(int *)0); } - -/* ./lib_gen.c */ - -#undef addch -int addch( - const chtype z) - { return(*(int *)0); } - -#undef addchnstr -int addchnstr( - const chtype *a1, - int z) - { return(*(int *)0); } - -#undef addchstr -int addchstr( - const chtype *z) - { return(*(int *)0); } - -#undef addnstr -int addnstr( - const char *a1, - int z) - { return(*(int *)0); } - -#undef addstr -int addstr( - const char *z) - { return(*(int *)0); } - -#undef attroff -int attroff( - NCURSES_ATTR_T z) - { return(*(int *)0); } - -#undef attron -int attron( - NCURSES_ATTR_T z) - { return(*(int *)0); } - -#undef attrset -int attrset( - NCURSES_ATTR_T z) - { return(*(int *)0); } - -#undef attr_get -int attr_get( - attr_t *a1, - short *a2, - void *z) - { return(*(int *)0); } - -#undef attr_off -int attr_off( - attr_t a1, - void *z) - { return(*(int *)0); } - -#undef attr_on -int attr_on( - attr_t a1, - void *z) - { return(*(int *)0); } - -#undef attr_set -int attr_set( - attr_t a1, - short a2, - void *z) - { return(*(int *)0); } - -#undef bkgd -int bkgd( - chtype z) - { return(*(int *)0); } - -#undef bkgdset -void bkgdset( - chtype z) - { /* void */ } - -#undef border -int border( - chtype a1, - chtype a2, - chtype a3, - chtype a4, - chtype a5, - chtype a6, - chtype a7, - chtype z) - { return(*(int *)0); } - -#undef box -int box( - WINDOW *a1, - chtype a2, - chtype z) - { return(*(int *)0); } - -#undef chgat -int chgat( - int a1, - attr_t a2, - short a3, - const void *z) - { return(*(int *)0); } - -#undef clear -int clear(void) - { return(*(int *)0); } - -#undef clrtobot -int clrtobot(void) - { return(*(int *)0); } - -#undef clrtoeol -int clrtoeol(void) - { return(*(int *)0); } - -#undef color_set -int color_set( - short a1, - void *z) - { return(*(int *)0); } - -#undef COLOR_PAIR -int COLOR_PAIR( - int z) - { return(*(int *)0); } - -#undef delch -int delch(void) - { return(*(int *)0); } - -#undef deleteln -int deleteln(void) - { return(*(int *)0); } - -#undef echochar -int echochar( - const chtype z) - { return(*(int *)0); } - -#undef erase -int erase(void) - { return(*(int *)0); } - -#undef getbkgd -chtype getbkgd( - WINDOW *z) - { return(*(chtype *)0); } - -#undef getch -int getch(void) - { return(*(int *)0); } - -#undef getnstr -int getnstr( - char *a1, - int z) - { return(*(int *)0); } - -#undef getstr -int getstr( - char *z) - { return(*(int *)0); } - -#undef hline -int hline( - chtype a1, - int z) - { return(*(int *)0); } - -#undef inch -chtype inch(void) - { return(*(chtype *)0); } - -#undef inchnstr -int inchnstr( - chtype *a1, - int z) - { return(*(int *)0); } - -#undef inchstr -int inchstr( - chtype *z) - { return(*(int *)0); } - -#undef innstr -int innstr( - char *a1, - int z) - { return(*(int *)0); } - -#undef insch -int insch( - chtype z) - { return(*(int *)0); } - -#undef insdelln -int insdelln( - int z) - { return(*(int *)0); } - -#undef insertln -int insertln(void) - { return(*(int *)0); } - -#undef insnstr -int insnstr( - const char *a1, - int z) - { return(*(int *)0); } - -#undef insstr -int insstr( - const char *z) - { return(*(int *)0); } - -#undef instr -int instr( - char *z) - { return(*(int *)0); } - -#undef move -int move( - int a1, - int z) - { return(*(int *)0); } - -#undef mvaddch -int mvaddch( - int a1, - int a2, - const chtype z) - { return(*(int *)0); } - -#undef mvaddchnstr -int mvaddchnstr( - int a1, - int a2, - const chtype *a3, - int z) - { return(*(int *)0); } - -#undef mvaddchstr -int mvaddchstr( - int a1, - int a2, - const chtype *z) - { return(*(int *)0); } - -#undef mvaddnstr -int mvaddnstr( - int a1, - int a2, - const char *a3, - int z) - { return(*(int *)0); } - -#undef mvaddstr -int mvaddstr( - int a1, - int a2, - const char *z) - { return(*(int *)0); } - -#undef mvchgat -int mvchgat( - int a1, - int a2, - int a3, - attr_t a4, - short a5, - const void *z) - { return(*(int *)0); } - -#undef mvdelch -int mvdelch( - int a1, - int z) - { return(*(int *)0); } - -#undef mvgetch -int mvgetch( - int a1, - int z) - { return(*(int *)0); } - -#undef mvgetnstr -int mvgetnstr( - int a1, - int a2, - char *a3, - int z) - { return(*(int *)0); } - -#undef mvgetstr -int mvgetstr( - int a1, - int a2, - char *z) - { return(*(int *)0); } - -#undef mvhline -int mvhline( - int a1, - int a2, - chtype a3, - int z) - { return(*(int *)0); } - -#undef mvinch -chtype mvinch( - int a1, - int z) - { return(*(chtype *)0); } - -#undef mvinchnstr -int mvinchnstr( - int a1, - int a2, - chtype *a3, - int z) - { return(*(int *)0); } - -#undef mvinchstr -int mvinchstr( - int a1, - int a2, - chtype *z) - { return(*(int *)0); } - -#undef mvinnstr -int mvinnstr( - int a1, - int a2, - char *a3, - int z) - { return(*(int *)0); } - -#undef mvinsch -int mvinsch( - int a1, - int a2, - chtype z) - { return(*(int *)0); } - -#undef mvinsnstr -int mvinsnstr( - int a1, - int a2, - const char *a3, - int z) - { return(*(int *)0); } - -#undef mvinsstr -int mvinsstr( - int a1, - int a2, - const char *z) - { return(*(int *)0); } - -#undef mvinstr -int mvinstr( - int a1, - int a2, - char *z) - { return(*(int *)0); } - -#undef mvvline -int mvvline( - int a1, - int a2, - chtype a3, - int z) - { return(*(int *)0); } - -#undef mvwaddch -int mvwaddch( - WINDOW *a1, - int a2, - int a3, - const chtype z) - { return(*(int *)0); } - -#undef mvwaddchnstr -int mvwaddchnstr( - WINDOW *a1, - int a2, - int a3, - const chtype *a4, - int z) - { return(*(int *)0); } - -#undef mvwaddchstr -int mvwaddchstr( - WINDOW *a1, - int a2, - int a3, - const chtype *z) - { return(*(int *)0); } - -#undef mvwaddnstr -int mvwaddnstr( - WINDOW *a1, - int a2, - int a3, - const char *a4, - int z) - { return(*(int *)0); } - -#undef mvwaddstr -int mvwaddstr( - WINDOW *a1, - int a2, - int a3, - const char *z) - { return(*(int *)0); } - -#undef mvwchgat -int mvwchgat( - WINDOW *a1, - int a2, - int a3, - int a4, - attr_t a5, - short a6, - const void *z) - { return(*(int *)0); } - -#undef mvwdelch -int mvwdelch( - WINDOW *a1, - int a2, - int z) - { return(*(int *)0); } - -#undef mvwgetch -int mvwgetch( - WINDOW *a1, - int a2, - int z) - { return(*(int *)0); } - -#undef mvwgetnstr -int mvwgetnstr( - WINDOW *a1, - int a2, - int a3, - char *a4, - int z) - { return(*(int *)0); } - -#undef mvwgetstr -int mvwgetstr( - WINDOW *a1, - int a2, - int a3, - char *z) - { return(*(int *)0); } - -#undef mvwhline -int mvwhline( - WINDOW *a1, - int a2, - int a3, - chtype a4, - int z) - { return(*(int *)0); } - -#undef mvwinch -chtype mvwinch( - WINDOW *a1, - int a2, - int z) - { return(*(chtype *)0); } - -#undef mvwinchnstr -int mvwinchnstr( - WINDOW *a1, - int a2, - int a3, - chtype *a4, - int z) - { return(*(int *)0); } - -#undef mvwinchstr -int mvwinchstr( - WINDOW *a1, - int a2, - int a3, - chtype *z) - { return(*(int *)0); } - -#undef mvwinnstr -int mvwinnstr( - WINDOW *a1, - int a2, - int a3, - char *a4, - int z) - { return(*(int *)0); } - -#undef mvwinsch -int mvwinsch( - WINDOW *a1, - int a2, - int a3, - chtype z) - { return(*(int *)0); } - -#undef mvwinsnstr -int mvwinsnstr( - WINDOW *a1, - int a2, - int a3, - const char *a4, - int z) - { return(*(int *)0); } - -#undef mvwinsstr -int mvwinsstr( - WINDOW *a1, - int a2, - int a3, - const char *z) - { return(*(int *)0); } - -#undef mvwinstr -int mvwinstr( - WINDOW *a1, - int a2, - int a3, - char *z) - { return(*(int *)0); } - -#undef mvwvline -int mvwvline( - WINDOW *a1, - int a2, - int a3, - chtype a4, - int z) - { return(*(int *)0); } - -#undef PAIR_NUMBER -int PAIR_NUMBER( - int z) - { return(*(int *)0); } - -#undef redrawwin -int redrawwin( - WINDOW *z) - { return(*(int *)0); } - -#undef refresh -int refresh(void) - { return(*(int *)0); } - -#undef scrl -int scrl( - int z) - { return(*(int *)0); } - -#undef scroll -int scroll( - WINDOW *z) - { return(*(int *)0); } - -#undef setscrreg -int setscrreg( - int a1, - int z) - { return(*(int *)0); } - -#undef standout -int standout(void) - { return(*(int *)0); } - -#undef standend -int standend(void) - { return(*(int *)0); } - -#undef timeout -void timeout( - int z) - { /* void */ } - -#undef touchline -int touchline( - WINDOW *a1, - int a2, - int z) - { return(*(int *)0); } - -#undef touchwin -int touchwin( - WINDOW *z) - { return(*(int *)0); } - -#undef untouchwin -int untouchwin( - WINDOW *z) - { return(*(int *)0); } - -#undef vline -int vline( - chtype a1, - int z) - { return(*(int *)0); } - -#undef vw_printw -int vw_printw( - WINDOW *a1, - const char *a2, - va_list z) - { return(*(int *)0); } - -#undef vw_scanw -int vw_scanw( - WINDOW *a1, - char *a2, - va_list z) - { return(*(int *)0); } - -#undef waddchstr -int waddchstr( - WINDOW *a1, - const chtype *z) - { return(*(int *)0); } - -#undef waddstr -int waddstr( - WINDOW *a1, - const char *z) - { return(*(int *)0); } - -#undef wattron -int wattron( - WINDOW *a1, - int z) - { return(*(int *)0); } - -#undef wattroff -int wattroff( - WINDOW *a1, - int z) - { return(*(int *)0); } - -#undef wattrset -int wattrset( - WINDOW *a1, - int z) - { return(*(int *)0); } - -#undef wattr_get -int wattr_get( - WINDOW *a1, - attr_t *a2, - short *a3, - void *z) - { return(*(int *)0); } - -#undef wattr_set -int wattr_set( - WINDOW *a1, - attr_t a2, - short a3, - void *z) - { return(*(int *)0); } - -#undef wdeleteln -int wdeleteln( - WINDOW *z) - { return(*(int *)0); } - -#undef wgetstr -int wgetstr( - WINDOW *a1, - char *z) - { return(*(int *)0); } - -#undef winchstr -int winchstr( - WINDOW *a1, - chtype *z) - { return(*(int *)0); } - -#undef winsertln -int winsertln( - WINDOW *z) - { return(*(int *)0); } - -#undef winsstr -int winsstr( - WINDOW *a1, - const char *z) - { return(*(int *)0); } - -#undef winstr -int winstr( - WINDOW *a1, - char *z) - { return(*(int *)0); } - -#undef wstandout -int wstandout( - WINDOW *z) - { return(*(int *)0); } - -#undef wstandend -int wstandend( - WINDOW *z) - { return(*(int *)0); } - -#undef mouse_trafo -NCURSES_BOOL mouse_trafo( - int *a1, - int *a2, - NCURSES_BOOL z) - { return(*(NCURSES_BOOL *)0); } - -/* ./base/lib_getch.c */ - -#include - -#undef ESCDELAY -int ESCDELAY; - -#undef _nc_wgetch -int _nc_wgetch( - WINDOW *win, - unsigned long *result, - int use_meta) - { return(*(int *)0); } - -#undef wgetch -int wgetch( - WINDOW *win) - { return(*(int *)0); } - -/* ./base/lib_getstr.c */ - -#undef wgetnstr -int wgetnstr( - WINDOW *win, - char *str, - int maxlen) - { return(*(int *)0); } - -/* ./base/lib_hline.c */ - -#undef whline -int whline( - WINDOW *win, - chtype ch, - int n) - { return(*(int *)0); } - -/* ./base/lib_immedok.c */ - -#undef immedok -void immedok( - WINDOW *win, - NCURSES_BOOL flag) - { /* void */ } - -/* ./base/lib_inchstr.c */ - -#undef winchnstr -int winchnstr( - WINDOW *win, - chtype *str, - int n) - { return(*(int *)0); } - -/* ./base/lib_initscr.c */ - -#undef initscr -WINDOW *initscr(void) - { return(*(WINDOW **)0); } - -/* ./base/lib_insch.c */ - -#undef _nc_insert_ch -int _nc_insert_ch( - WINDOW *win, - chtype ch) - { return(*(int *)0); } - -#undef winsch -int winsch( - WINDOW *win, - chtype c) - { return(*(int *)0); } - -/* ./base/lib_insdel.c */ - -#undef winsdelln -int winsdelln( - WINDOW *win, - int n) - { return(*(int *)0); } - -/* ./base/lib_insnstr.c */ - -#undef winsnstr -int winsnstr( - WINDOW *win, - const char *s, - int n) - { return(*(int *)0); } - -/* ./base/lib_instr.c */ - -#undef winnstr -int winnstr( - WINDOW *win, - char *str, - int n) - { return(*(int *)0); } - -/* ./base/lib_isendwin.c */ - -#undef isendwin -NCURSES_BOOL isendwin(void) - { return(*(NCURSES_BOOL *)0); } - -/* ./base/lib_leaveok.c */ - -#undef leaveok -int leaveok( - WINDOW *win, - NCURSES_BOOL flag) - { return(*(int *)0); } - -/* ./base/lib_mouse.c */ - -#undef getmouse -int getmouse( - MEVENT *aevent) - { return(*(int *)0); } - -#undef ungetmouse -int ungetmouse( - MEVENT *aevent) - { return(*(int *)0); } - -#undef mousemask -mmask_t mousemask( - mmask_t newmask, - mmask_t *oldmask) - { return(*(mmask_t *)0); } - -#undef wenclose -NCURSES_BOOL wenclose( - const WINDOW *win, - int y, - int x) - { return(*(NCURSES_BOOL *)0); } - -#undef mouseinterval -int mouseinterval( - int maxclick) - { return(*(int *)0); } - -#undef _nc_has_mouse -int _nc_has_mouse(void) - { return(*(int *)0); } - -#undef wmouse_trafo -NCURSES_BOOL wmouse_trafo( - const WINDOW *win, - int *pY, - int *pX, - NCURSES_BOOL to_screen) - { return(*(NCURSES_BOOL *)0); } - -/* ./base/lib_move.c */ - -#undef wmove -int wmove( - WINDOW *win, - int y, - int x) - { return(*(int *)0); } - -/* ./tty/lib_mvcur.c */ - -#undef _nc_msec_cost -int _nc_msec_cost( - const char *const cap, - int affcnt) - { return(*(int *)0); } - -#undef _nc_mvcur_resume -void _nc_mvcur_resume(void) - { /* void */ } - -#undef _nc_mvcur_init -void _nc_mvcur_init(void) - { /* void */ } - -#undef _nc_mvcur_wrap -void _nc_mvcur_wrap(void) - { /* void */ } - -#undef mvcur -int mvcur( - int yold, - int xold, - int ynew, - int xnew) - { return(*(int *)0); } - -#undef _nc_optimize_enable -int _nc_optimize_enable; - -/* ./base/lib_mvwin.c */ - -#undef mvwin -int mvwin( - WINDOW *win, - int by, - int bx) - { return(*(int *)0); } - -/* ./base/lib_newterm.c */ - -#undef filter -void filter(void) - { /* void */ } - -#undef newterm -SCREEN *newterm( - char *name, - FILE *ofp, - FILE *ifp) - { return(*(SCREEN **)0); } - -/* ./base/lib_newwin.c */ - -#undef _nc_freewin -int _nc_freewin( - WINDOW *win) - { return(*(int *)0); } - -#undef newwin -WINDOW *newwin( - int num_lines, - int num_columns, - int begy, - int begx) - { return(*(WINDOW **)0); } - -#undef derwin -WINDOW *derwin( - WINDOW *orig, - int num_lines, - int num_columns, - int begy, - int begx) - { return(*(WINDOW **)0); } - -#undef subwin -WINDOW *subwin( - WINDOW *w, - int l, - int c, - int y, - int x) - { return(*(WINDOW **)0); } - -#undef _nc_makenew -WINDOW *_nc_makenew( - int num_lines, - int num_columns, - int begy, - int begx, - int flags) - { return(*(WINDOW **)0); } - -/* ./base/lib_nl.c */ - -#undef nl -int nl(void) - { return(*(int *)0); } - -#undef nonl -int nonl(void) - { return(*(int *)0); } - -/* ./base/lib_overlay.c */ - -#undef overlay -int overlay( - const WINDOW *win1, - WINDOW *win2) - { return(*(int *)0); } - -#undef overwrite -int overwrite( - const WINDOW *win1, - WINDOW *win2) - { return(*(int *)0); } - -#undef copywin -int copywin( - const WINDOW *src, - WINDOW *dst, - int sminrow, - int smincol, - int dminrow, - int dmincol, - int dmaxrow, - int dmaxcol, - int over) - { return(*(int *)0); } - -/* ./base/lib_pad.c */ - -#undef newpad -WINDOW *newpad( - int l, - int c) - { return(*(WINDOW **)0); } - -#undef subpad -WINDOW *subpad( - WINDOW *orig, - int l, - int c, - int begy, - int begx) - { return(*(WINDOW **)0); } - -#undef prefresh -int prefresh( - WINDOW *win, - int pminrow, - int pmincol, - int sminrow, - int smincol, - int smaxrow, - int smaxcol) - { return(*(int *)0); } - -#undef pnoutrefresh -int pnoutrefresh( - WINDOW *win, - int pminrow, - int pmincol, - int sminrow, - int smincol, - int smaxrow, - int smaxcol) - { return(*(int *)0); } - -#undef pechochar -int pechochar( - WINDOW *pad, - const chtype ch) - { return(*(int *)0); } - -/* ./base/lib_printw.c */ - -#undef printw -int printw( - const char *fmt, - ...) - { return(*(int *)0); } - -#undef wprintw -int wprintw( - WINDOW *win, - const char *fmt, - ...) - { return(*(int *)0); } - -#undef mvprintw -int mvprintw( - int y, - int x, - const char *fmt, - ...) - { return(*(int *)0); } - -#undef mvwprintw -int mvwprintw( - WINDOW *win, - int y, - int x, - const char *fmt, - ...) - { return(*(int *)0); } - -#undef vwprintw -int vwprintw( - WINDOW *win, - const char *fmt, - va_list argp) - { return(*(int *)0); } - -/* ./base/lib_redrawln.c */ - -#undef wredrawln -int wredrawln( - WINDOW *win, - int beg, - int num) - { return(*(int *)0); } - -/* ./base/lib_refresh.c */ - -#undef wrefresh -int wrefresh( - WINDOW *win) - { return(*(int *)0); } - -#undef wnoutrefresh -int wnoutrefresh( - WINDOW *win) - { return(*(int *)0); } - -/* ./base/lib_restart.c */ - -#undef restartterm -int restartterm( - char *termp, - int filenum, - int *errret) - { return(*(int *)0); } - -/* ./base/lib_scanw.c */ - -#undef vwscanw -int vwscanw( - WINDOW *win, - char *fmt, - va_list argp) - { return(*(int *)0); } - -#undef scanw -int scanw( - char *fmt, - ...) - { return(*(int *)0); } - -#undef wscanw -int wscanw( - WINDOW *win, - char *fmt, - ...) - { return(*(int *)0); } - -#undef mvscanw -int mvscanw( - int y, - int x, - char *fmt, - ...) - { return(*(int *)0); } - -#undef mvwscanw -int mvwscanw( - WINDOW *win, - int y, - int x, - char *fmt, - ...) - { return(*(int *)0); } - -/* ./base/lib_screen.c */ - -#undef getwin -WINDOW *getwin( - FILE *filep) - { return(*(WINDOW **)0); } - -#undef putwin -int putwin( - WINDOW *win, - FILE *filep) - { return(*(int *)0); } - -#undef scr_restore -int scr_restore( - const char *file) - { return(*(int *)0); } - -#undef scr_dump -int scr_dump( - const char *file) - { return(*(int *)0); } - -#undef scr_init -int scr_init( - const char *file) - { return(*(int *)0); } - -#undef scr_set -int scr_set( - const char *file) - { return(*(int *)0); } - -/* ./base/lib_scroll.c */ - -#undef _nc_scroll_window -void _nc_scroll_window( - WINDOW *win, - int const n, - short const top, - short const bottom, - chtype blank) - { /* void */ } - -#undef wscrl -int wscrl( - WINDOW *win, - int n) - { return(*(int *)0); } - -/* ./base/lib_scrollok.c */ - -#undef scrollok -int scrollok( - WINDOW *win, - NCURSES_BOOL flag) - { return(*(int *)0); } - -/* ./base/lib_scrreg.c */ - -#undef wsetscrreg -int wsetscrreg( - WINDOW *win, - int top, - int bottom) - { return(*(int *)0); } - -/* ./base/lib_set_term.c */ - -#undef set_term -SCREEN *set_term( - SCREEN *screenp) - { return(*(SCREEN **)0); } - -#undef delscreen -void delscreen( - SCREEN *sp) - { /* void */ } - -#undef _nc_setupscreen -int _nc_setupscreen( - short slines, - short const scolumns, - FILE *output) - { return(*(int *)0); } - -#undef _nc_ripoffline -int _nc_ripoffline( - int line, - int (*init)( - WINDOW *p1, - int p2)) - { return(*(int *)0); } - -#undef ripoffline -int ripoffline( - int line, - int (*init)( - WINDOW *p1, - int p2)) - { return(*(int *)0); } - -/* ./base/lib_slk.c */ - -#undef _nc_slk_format -int _nc_slk_format; - -#undef _nc_slk_initialize -int _nc_slk_initialize( - WINDOW *stwin, - int cols) - { return(*(int *)0); } - -#undef slk_restore -int slk_restore(void) - { return(*(int *)0); } - -/* ./base/lib_slkatr_set.c */ - -#undef slk_attr_set -int slk_attr_set( - const attr_t attr, - short color_pair_number, - void *opts) - { return(*(int *)0); } - -/* ./base/lib_slkatrof.c */ - -#undef slk_attroff -int slk_attroff( - const chtype attr) - { return(*(int *)0); } - -/* ./base/lib_slkatron.c */ - -#undef slk_attron -int slk_attron( - const chtype attr) - { return(*(int *)0); } - -/* ./base/lib_slkatrset.c */ - -#undef slk_attrset -int slk_attrset( - const chtype attr) - { return(*(int *)0); } - -/* ./base/lib_slkattr.c */ - -#undef slk_attr -attr_t slk_attr(void) - { return(*(attr_t *)0); } - -/* ./base/lib_slkclear.c */ - -#undef slk_clear -int slk_clear(void) - { return(*(int *)0); } - -/* ./base/lib_slkcolor.c */ - -#undef slk_color -int slk_color( - short color_pair_number) - { return(*(int *)0); } - -/* ./base/lib_slkinit.c */ - -#undef slk_init -int slk_init( - int format) - { return(*(int *)0); } - -/* ./base/lib_slklab.c */ - -#undef slk_label -char *slk_label( - int n) - { return(*(char **)0); } - -/* ./base/lib_slkrefr.c */ - -#undef slk_noutrefresh -int slk_noutrefresh(void) - { return(*(int *)0); } - -#undef slk_refresh -int slk_refresh(void) - { return(*(int *)0); } - -/* ./base/lib_slkset.c */ - -#undef slk_set -int slk_set( - int i, - const char *astr, - int format) - { return(*(int *)0); } - -/* ./base/lib_slktouch.c */ - -#undef slk_touch -int slk_touch(void) - { return(*(int *)0); } - -/* ./base/lib_touch.c */ - -#undef is_linetouched -NCURSES_BOOL is_linetouched( - WINDOW *win, - int line) - { return(*(NCURSES_BOOL *)0); } - -#undef is_wintouched -NCURSES_BOOL is_wintouched( - WINDOW *win) - { return(*(NCURSES_BOOL *)0); } - -#undef wtouchln -int wtouchln( - WINDOW *win, - int y, - int n, - int changed) - { return(*(int *)0); } - -/* ./trace/lib_traceatr.c */ - -#undef _traceattr2 -char *_traceattr2( - int bufnum, - attr_t newmode) - { return(*(char **)0); } - -#undef _traceattr -char *_traceattr( - attr_t newmode) - { return(*(char **)0); } - -#undef _nc_retrace_attr_t -attr_t _nc_retrace_attr_t( - attr_t code) - { return(*(attr_t *)0); } - -#undef _nc_altcharset_name -const char *_nc_altcharset_name( - attr_t attr, - chtype ch) - { return(*(const char **)0); } - -#undef _tracechtype2 -char *_tracechtype2( - int bufnum, - chtype ch) - { return(*(char **)0); } - -#undef _tracechtype -char *_tracechtype( - chtype ch) - { return(*(char **)0); } - -#undef _nc_retrace_chtype -chtype _nc_retrace_chtype( - chtype code) - { return(*(chtype *)0); } - -/* ./trace/lib_tracedmp.c */ - -#undef _tracedump -void _tracedump( - const char *name, - WINDOW *win) - { /* void */ } - -/* ./trace/lib_tracemse.c */ - -#undef _tracemouse -char *_tracemouse( - MEVENT const *ep) - { return(*(char **)0); } - -/* ./tty/lib_tstp.c */ - -#include - -#undef _nc_signal_handler -void _nc_signal_handler( - NCURSES_BOOL enable) - { /* void */ } - -/* ./base/lib_ungetch.c */ - -#undef _nc_fifo_dump -void _nc_fifo_dump(void) - { /* void */ } - -#undef ungetch -int ungetch( - int ch) - { return(*(int *)0); } - -/* ./tty/lib_vidattr.c */ - -#undef vidputs -int vidputs( - chtype newmode, - int (*outc)( - int p1)) - { return(*(int *)0); } - -#undef vidattr -int vidattr( - chtype newmode) - { return(*(int *)0); } - -#undef termattrs -chtype termattrs(void) - { return(*(chtype *)0); } - -/* ./base/lib_vline.c */ - -#undef wvline -int wvline( - WINDOW *win, - chtype ch, - int n) - { return(*(int *)0); } - -/* ./base/lib_wattroff.c */ - -#undef wattr_off -int wattr_off( - WINDOW *win, - attr_t at, - void *opts) - { return(*(int *)0); } - -/* ./base/lib_wattron.c */ - -#undef wattr_on -int wattr_on( - WINDOW *win, - attr_t at, - void *opts) - { return(*(int *)0); } - -/* ./base/lib_winch.c */ - -#undef winch -chtype winch( - WINDOW *win) - { return(*(chtype *)0); } - -/* ./base/lib_window.c */ - -#undef _nc_synchook -void _nc_synchook( - WINDOW *win) - { /* void */ } - -#undef mvderwin -int mvderwin( - WINDOW *win, - int y, - int x) - { return(*(int *)0); } - -#undef syncok -int syncok( - WINDOW *win, - NCURSES_BOOL bf) - { return(*(int *)0); } - -#undef wsyncup -void wsyncup( - WINDOW *win) - { /* void */ } - -#undef wsyncdown -void wsyncdown( - WINDOW *win) - { /* void */ } - -#undef wcursyncup -void wcursyncup( - WINDOW *win) - { /* void */ } - -#undef dupwin -WINDOW *dupwin( - WINDOW *win) - { return(*(WINDOW **)0); } - -/* ./base/nc_panel.c */ - -#undef _nc_panelhook -struct panelhook *_nc_panelhook(void) - { return(*(struct panelhook **)0); } - -/* ./base/safe_sprintf.c */ - -#undef _nc_printf_string -char *_nc_printf_string( - const char *fmt, - va_list ap) - { return(*(char **)0); } - -/* ./tty/tty_update.c */ - -#include -#include - -#undef doupdate -int doupdate(void) - { return(*(int *)0); } - -#undef _nc_scrolln -int _nc_scrolln( - int n, - int top, - int bot, - int maxy) - { return(*(int *)0); } - -#undef _nc_screen_resume -void _nc_screen_resume(void) - { /* void */ } - -#undef _nc_screen_init -void _nc_screen_init(void) - { /* void */ } - -#undef _nc_screen_wrap -void _nc_screen_wrap(void) - { /* void */ } - -#undef _nc_do_xmc_glitch -void _nc_do_xmc_glitch( - attr_t previous) - { /* void */ } - -/* ./trace/varargs.c */ - -typedef enum { - atUnknown = 0, atInteger, atFloat, atPoint, atString -} ARGTYPE; - -#undef _nc_varargs -char *_nc_varargs( - const char *fmt, - va_list ap) - { return(*(char **)0); } - -/* ./base/memmove.c */ - -#undef _nc_memmove -void _nc_memmove(void) - { /* void */ } - -/* ./base/vsscanf.c */ - -#undef _nc_vsscanf -void _nc_vsscanf(void) - { /* void */ } - -/* ./base/lib_freeall.c */ - -#include - -#undef _nc_freeall -void _nc_freeall(void) - { /* void */ } - -/* ./expanded.c */ - -#undef _nc_toggle_attr_on -void _nc_toggle_attr_on( - attr_t *S, - attr_t at) - { /* void */ } - -#undef _nc_toggle_attr_off -void _nc_toggle_attr_off( - attr_t *S, - attr_t at) - { /* void */ } - -#undef _nc_DelCharCost -int _nc_DelCharCost( - int count) - { return(*(int *)0); } - -#undef _nc_InsCharCost -int _nc_InsCharCost( - int count) - { return(*(int *)0); } - -#undef _nc_UpdateAttrs -void _nc_UpdateAttrs( - chtype c) - { /* void */ } - -/* ./base/lib_dft_fgbg.c */ - -#undef use_default_colors -int use_default_colors(void) - { return(*(int *)0); } - -#undef assume_default_colors -int assume_default_colors( - int fg, - int bg) - { return(*(int *)0); } - -/* ./tinfo/lib_print.c */ - -#undef mcprint -int mcprint( - char *data, - int len) - { return(*(int *)0); } - -/* ./base/resizeterm.c */ - -#undef is_term_resized -NCURSES_BOOL is_term_resized( - int ToLines, - int ToCols) - { return(*(NCURSES_BOOL *)0); } - -#undef resize_term -int resize_term( - int ToLines, - int ToCols) - { return(*(int *)0); } - -#undef resizeterm -int resizeterm( - int ToLines, - int ToCols) - { return(*(int *)0); } - -/* ./trace/trace_xnames.c */ - -#undef _nc_trace_xnames -void _nc_trace_xnames( - TERMTYPE *tp) - { /* void */ } - -/* ./base/wresize.c */ - -#undef wresize -int wresize( - WINDOW *win, - int ToLines, - int ToCols) - { return(*(int *)0); } - -/* ./tinfo/access.c */ - -#include - -#undef _nc_rootname -char *_nc_rootname( - char *path) - { return(*(char **)0); } - -#undef _nc_pathlast -unsigned _nc_pathlast( - const char *path) - { return(*(unsigned *)0); } - -#undef _nc_basename -char *_nc_basename( - char *path) - { return(*(char **)0); } - -#undef _nc_access -int _nc_access( - const char *path, - int mode) - { return(*(int *)0); } - -#undef _nc_env_access -int _nc_env_access(void) - { return(*(int *)0); } - -/* ./tinfo/add_tries.c */ - -#undef _nc_add_to_try -void _nc_add_to_try( - struct tries **tree, - const char *str, - unsigned short code) - { /* void */ } - -/* ./tinfo/alloc_entry.c */ - -#undef _nc_init_entry -void _nc_init_entry( - TERMTYPE *const tp) - { /* void */ } - -#undef _nc_copy_entry -ENTRY *_nc_copy_entry( - ENTRY *oldp) - { return(*(ENTRY **)0); } - -#undef _nc_save_str -char *_nc_save_str( - const char *const string) - { return(*(char **)0); } - -#undef _nc_wrap_entry -void _nc_wrap_entry( - ENTRY *const ep, - NCURSES_BOOL copy_strings) - { /* void */ } - -#undef _nc_merge_entry -void _nc_merge_entry( - TERMTYPE *const to, - TERMTYPE *const from) - { /* void */ } - -/* ./tinfo/alloc_ttype.c */ - -#undef _nc_align_termtype -void _nc_align_termtype( - TERMTYPE *to, - TERMTYPE *from) - { /* void */ } - -#undef _nc_copy_termtype -void _nc_copy_termtype( - TERMTYPE *dst, - TERMTYPE *src) - { /* void */ } - -/* ./tinfo/captoinfo.c */ - -#undef _nc_captoinfo -char *_nc_captoinfo( - const char *cap, - const char *s, - int const parameterized) - { return(*(char **)0); } - -#undef _nc_infotocap -char *_nc_infotocap( - const char *cap, - const char *str, - int const parameterized) - { return(*(char **)0); } - -/* ./codes.c */ - -#undef boolcodes -char *const boolcodes[] = {0}; -#undef numcodes -char *const numcodes[] = {0}; -#undef strcodes -char *const strcodes[] = {0}; - -/* ./comp_captab.c */ - -#include - -#undef _nc_info_hash_table -const struct name_table_entry *const _nc_info_hash_table[995] = {0}; -#undef _nc_cap_hash_table -const struct name_table_entry *const _nc_cap_hash_table[995] = {0}; -#undef _nc_capalias_table -const struct alias _nc_capalias_table[] = {0}; -#undef _nc_infoalias_table -const struct alias _nc_infoalias_table[] = {0}; - -#undef _nc_get_table -const struct name_table_entry *_nc_get_table( - NCURSES_BOOL termcap) - { return(*(const struct name_table_entry **)0); } - -#undef _nc_get_hash_table -const struct name_table_entry *const *_nc_get_hash_table( - NCURSES_BOOL termcap) - { return(*(const struct name_table_entry **)0); } - -/* ./tinfo/comp_error.c */ - -#undef _nc_suppress_warnings -NCURSES_BOOL _nc_suppress_warnings; -#undef _nc_curr_line -int _nc_curr_line; -#undef _nc_curr_col -int _nc_curr_col; - -#undef _nc_set_source -void _nc_set_source( - const char *const name) - { /* void */ } - -#undef _nc_set_type -void _nc_set_type( - const char *const name) - { /* void */ } - -#undef _nc_get_type -void _nc_get_type( - char *name) - { /* void */ } - -#undef _nc_warning -void _nc_warning( - const char *const fmt, - ...) - { /* void */ } - -#undef _nc_err_abort -void _nc_err_abort( - const char *const fmt, - ...) - { /* void */ } - -#undef _nc_syserr_abort -void _nc_syserr_abort( - const char *const fmt, - ...) - { /* void */ } - -/* ./tinfo/comp_expand.c */ - -#undef _nc_tic_expand -char *_nc_tic_expand( - const char *srcp, - NCURSES_BOOL tic_format, - int numbers) - { return(*(char **)0); } - -/* ./tinfo/comp_hash.c */ - -#include - -#undef _nc_find_entry -struct name_table_entry const *_nc_find_entry( - const char *string, - const struct name_table_entry *const *hash_table) - { return(*(struct name_table_entry const **)0); } - -#undef _nc_find_type_entry -struct name_table_entry const *_nc_find_type_entry( - const char *string, - int type, - const struct name_table_entry *table) - { return(*(struct name_table_entry const **)0); } - -/* ./tinfo/comp_parse.c */ - -#undef _nc_check_termtype2 -void (*_nc_check_termtype2)( - TERMTYPE *p1, - NCURSES_BOOL p2); -#undef _nc_check_termtype -void (*_nc_check_termtype)( - TERMTYPE *p1); -#undef _nc_head -ENTRY *_nc_head; -#undef _nc_tail -ENTRY *_nc_tail; - -#undef _nc_free_entries -void _nc_free_entries( - ENTRY *headp) - { /* void */ } - -#undef _nc_delink_entry -ENTRY *_nc_delink_entry( - ENTRY *headp, - TERMTYPE *tterm) - { return(*(ENTRY **)0); } - -#undef _nc_free_entry -void _nc_free_entry( - ENTRY *headp, - TERMTYPE *tterm) - { /* void */ } - -#undef _nc_entry_match -NCURSES_BOOL _nc_entry_match( - char *n1, - char *n2) - { return(*(NCURSES_BOOL *)0); } - -#undef _nc_read_entry_source -void _nc_read_entry_source( - FILE *fp, - char *buf, - int literal, - NCURSES_BOOL silent, - NCURSES_BOOL (*hook)( - ENTRY *p1)) - { /* void */ } - -#undef _nc_resolve_uses2 -int _nc_resolve_uses2( - NCURSES_BOOL fullresolve, - NCURSES_BOOL literal) - { return(*(int *)0); } - -#undef _nc_resolve_uses -int _nc_resolve_uses( - NCURSES_BOOL fullresolve) - { return(*(int *)0); } - -/* ./tinfo/comp_scan.c */ - -#undef _nc_syntax -int _nc_syntax; -#undef _nc_curr_file_pos -long _nc_curr_file_pos; -#undef _nc_comment_start -long _nc_comment_start; -#undef _nc_comment_end -long _nc_comment_end; -#undef _nc_start_line -long _nc_start_line; -#undef _nc_curr_token -struct token _nc_curr_token; -#undef _nc_disable_period -NCURSES_BOOL _nc_disable_period; - -#undef _nc_reset_input -void _nc_reset_input( - FILE *fp, - char *buf) - { /* void */ } - -#undef _nc_get_token -int _nc_get_token( - NCURSES_BOOL silent) - { return(*(int *)0); } - -#undef _nc_trans_string -int _nc_trans_string( - char *ptr, - char *last) - { return(*(int *)0); } - -#undef _nc_push_token -void _nc_push_token( - int tokclass) - { /* void */ } - -#undef _nc_panic_mode -void _nc_panic_mode( - char ch) - { /* void */ } - -/* ./tinfo/doalloc.c */ - -#undef _nc_doalloc -void *_nc_doalloc( - void *oldp, - size_t amount) - { return(*(void **)0); } - -/* ./fallback.c */ - -#undef _nc_fallback -const TERMTYPE *_nc_fallback( - const char *name) - { return(*(const TERMTYPE **)0); } - -/* ./tinfo/free_ttype.c */ - -#undef _nc_free_termtype -void _nc_free_termtype( - TERMTYPE *ptr) - { /* void */ } - -#undef _nc_user_definable -NCURSES_BOOL _nc_user_definable; - -#undef use_extended_names -int use_extended_names( - NCURSES_BOOL flag) - { return(*(int *)0); } - -/* ./tinfo/getenv_num.c */ - -#undef _nc_getenv_num -int _nc_getenv_num( - const char *name) - { return(*(int *)0); } - -/* ./tinfo/home_terminfo.c */ - -#undef _nc_home_terminfo -char *_nc_home_terminfo(void) - { return(*(char **)0); } - -/* ./tinfo/init_keytry.c */ - -#if 0 - -#include - -#undef _nc_tinfo_fkeys -struct tinfo_fkeys _nc_tinfo_fkeys[]; - -#endif - -#undef _nc_init_keytry -void _nc_init_keytry(void) - { /* void */ } - -/* ./tinfo/lib_acs.c */ - -#undef acs_map -chtype acs_map[128]; - -#undef _nc_init_acs -void _nc_init_acs(void) - { /* void */ } - -/* ./tinfo/lib_baudrate.c */ - -#include - -struct speed { - int s; - int sp; -}; - -#undef _nc_baudrate -int _nc_baudrate( - int OSpeed) - { return(*(int *)0); } - -#undef _nc_ospeed -int _nc_ospeed( - int BaudRate) - { return(*(int *)0); } - -#undef baudrate -int baudrate(void) - { return(*(int *)0); } - -/* ./tinfo/lib_cur_term.c */ - -#undef cur_term -TERMINAL *cur_term; - -#undef set_curterm -TERMINAL *set_curterm( - TERMINAL *termp) - { return(*(TERMINAL **)0); } - -#undef del_curterm -int del_curterm( - TERMINAL *termp) - { return(*(int *)0); } - -/* ./tinfo/lib_data.c */ - -#undef stdscr -WINDOW *stdscr; -#undef curscr -WINDOW *curscr; -#undef newscr -WINDOW *newscr; -#undef _nc_screen_chain -SCREEN *_nc_screen_chain; -#undef SP -SCREEN *SP; - -/* ./tinfo/lib_has_cap.c */ - -#undef has_ic -NCURSES_BOOL has_ic(void) - { return(*(NCURSES_BOOL *)0); } - -#undef has_il -NCURSES_BOOL has_il(void) - { return(*(NCURSES_BOOL *)0); } - -/* ./tinfo/lib_kernel.c */ - -#undef erasechar -char erasechar(void) - { return(*(char *)0); } - -#undef killchar -char killchar(void) - { return(*(char *)0); } - -#undef flushinp -int flushinp(void) - { return(*(int *)0); } - -/* ./lib_keyname.c */ - -#undef _nc_key_names -const struct kn _nc_key_names[] = {0}; - -#undef keyname -char *keyname( - int c) - { return(*(char **)0); } - -/* ./tinfo/lib_longname.c */ - -#undef longname -char *longname(void) - { return(*(char **)0); } - -/* ./tinfo/lib_napms.c */ - -#include - -#undef napms -int napms( - int ms) - { return(*(int *)0); } - -/* ./tinfo/lib_options.c */ - -#undef idlok -int idlok( - WINDOW *win, - NCURSES_BOOL flag) - { return(*(int *)0); } - -#undef idcok -void idcok( - WINDOW *win, - NCURSES_BOOL flag) - { /* void */ } - -#undef halfdelay -int halfdelay( - int t) - { return(*(int *)0); } - -#undef nodelay -int nodelay( - WINDOW *win, - NCURSES_BOOL flag) - { return(*(int *)0); } - -#undef notimeout -int notimeout( - WINDOW *win, - NCURSES_BOOL f) - { return(*(int *)0); } - -#undef wtimeout -void wtimeout( - WINDOW *win, - int delay) - { /* void */ } - -#undef keypad -int keypad( - WINDOW *win, - NCURSES_BOOL flag) - { return(*(int *)0); } - -#undef meta -int meta( - WINDOW *win, - NCURSES_BOOL flag) - { return(*(int *)0); } - -#undef curs_set -int curs_set( - int vis) - { return(*(int *)0); } - -#undef typeahead -int typeahead( - int fd) - { return(*(int *)0); } - -#undef has_key -int has_key( - int keycode) - { return(*(int *)0); } - -#undef _nc_keypad -int _nc_keypad( - NCURSES_BOOL flag) - { return(*(int *)0); } - -/* ./tinfo/lib_raw.c */ - -#undef raw -int raw(void) - { return(*(int *)0); } - -#undef cbreak -int cbreak(void) - { return(*(int *)0); } - -#undef qiflush -void qiflush(void) - { /* void */ } - -#undef noraw -int noraw(void) - { return(*(int *)0); } - -#undef nocbreak -int nocbreak(void) - { return(*(int *)0); } - -#undef noqiflush -void noqiflush(void) - { /* void */ } - -#undef intrflush -int intrflush( - WINDOW *win, - NCURSES_BOOL flag) - { return(*(int *)0); } - -/* ./tinfo/lib_setup.c */ - -#include -#include -#include - -#undef ttytype -char ttytype[256]; -#undef LINES -int LINES; -#undef COLS -int COLS; -#undef TABSIZE -int TABSIZE; - -#undef use_env -void use_env( - NCURSES_BOOL f) - { /* void */ } - -#undef _nc_update_screensize -void _nc_update_screensize(void) - { /* void */ } - -#undef _nc_get_locale -char *_nc_get_locale(void) - { return(*(char **)0); } - -#undef _nc_unicode_locale -int _nc_unicode_locale(void) - { return(*(int *)0); } - -#undef _nc_locale_breaks_acs -int _nc_locale_breaks_acs(void) - { return(*(int *)0); } - -#undef _nc_setupterm -int _nc_setupterm( - char *tname, - int Filedes, - int *errret, - NCURSES_BOOL reuse) - { return(*(int *)0); } - -#undef setupterm -int setupterm( - char *tname, - int Filedes, - int *errret) - { return(*(int *)0); } - -/* ./tinfo/lib_termcap.c */ - -#undef UP -char *UP; -#undef BC -char *BC; - -#undef tgetent -int tgetent( - char *bufp, - const char *name) - { return(*(int *)0); } - -#if 0 - -#include - -#endif - -#undef tgetflag -int tgetflag( - char *id) - { return(*(int *)0); } - -#undef tgetnum -int tgetnum( - char *id) - { return(*(int *)0); } - -#undef tgetstr -char *tgetstr( - char *id, - char **area) - { return(*(char **)0); } - -/* ./tinfo/lib_termname.c */ - -#undef termname -char *termname(void) - { return(*(char **)0); } - -/* ./tinfo/lib_tgoto.c */ - -#undef tgoto -char *tgoto( - const char *string, - int x, - int y) - { return(*(char **)0); } - -/* ./tinfo/lib_ti.c */ - -#undef tigetflag -int tigetflag( - char *str) - { return(*(int *)0); } - -#undef tigetnum -int tigetnum( - char *str) - { return(*(int *)0); } - -#undef tigetstr -char *tigetstr( - char *str) - { return(*(char **)0); } - -/* ./tinfo/lib_tparm.c */ - -typedef struct { - union { - int num; - char *str; - } data; - NCURSES_BOOL num_type; -} stack_frame; - -#undef _nc_tparm_err -int _nc_tparm_err; - -#undef _nc_tparm_analyze -int _nc_tparm_analyze( - const char *string, - char *p_is_s[9], - int *popcount) - { return(*(int *)0); } - -#undef tparm -char *tparm( - char *string, - ...) - { return(*(char **)0); } - -/* ./tinfo/lib_tputs.c */ - -#undef PC -char PC; -#undef ospeed -NCURSES_OSPEED ospeed; -#undef _nc_nulls_sent -int _nc_nulls_sent; - -#undef delay_output -int delay_output( - int ms) - { return(*(int *)0); } - -#undef _nc_flush -void _nc_flush(void) - { /* void */ } - -#undef _nc_outch -int _nc_outch( - int ch) - { return(*(int *)0); } - -#undef putp -int putp( - const char *string) - { return(*(int *)0); } - -#undef tputs -int tputs( - const char *string, - int affcnt, - int (*outc)( - int p1)) - { return(*(int *)0); } - -/* ./trace/lib_trace.c */ - -#undef _nc_tracing -unsigned _nc_tracing; -#undef _nc_tputs_trace -const char *_nc_tputs_trace = {0}; -#undef _nc_outchars -long _nc_outchars; - -#undef trace -void trace( - const unsigned int tracelevel) - { /* void */ } - -#undef _tracef -void _tracef( - const char *fmt, - ...) - { /* void */ } - -#undef _nc_retrace_bool -NCURSES_BOOL _nc_retrace_bool( - NCURSES_BOOL code) - { return(*(NCURSES_BOOL *)0); } - -#undef _nc_retrace_int -int _nc_retrace_int( - int code) - { return(*(int *)0); } - -#undef _nc_retrace_unsigned -unsigned _nc_retrace_unsigned( - unsigned code) - { return(*(unsigned *)0); } - -#undef _nc_retrace_ptr -char *_nc_retrace_ptr( - char *code) - { return(*(char **)0); } - -#undef _nc_retrace_cptr -const char *_nc_retrace_cptr( - const char *code) - { return(*(const char **)0); } - -#undef _nc_retrace_cvoid_ptr -void *_nc_retrace_cvoid_ptr( - void *code) - { return(*(void **)0); } - -#undef _nc_retrace_void_ptr -void *_nc_retrace_void_ptr( - void *code) - { return(*(void **)0); } - -#undef _nc_retrace_sp -SCREEN *_nc_retrace_sp( - SCREEN *code) - { return(*(SCREEN **)0); } - -#undef _nc_retrace_win -WINDOW *_nc_retrace_win( - WINDOW *code) - { return(*(WINDOW **)0); } - -/* ./trace/lib_tracebits.c */ - -typedef struct { - unsigned int val; - const char *name; -} BITNAMES; - -#undef _nc_trace_ttymode -char *_nc_trace_ttymode( - struct termios *tty) - { return(*(char **)0); } - -#undef _nc_tracebits -char *_nc_tracebits(void) - { return(*(char **)0); } - -/* ./trace/lib_tracechr.c */ - -#undef _tracechar -char *_tracechar( - int ch) - { return(*(char **)0); } - -/* ./tinfo/lib_ttyflags.c */ - -#undef _nc_get_tty_mode -int _nc_get_tty_mode( - struct termios *buf) - { return(*(int *)0); } - -#undef _nc_set_tty_mode -int _nc_set_tty_mode( - struct termios *buf) - { return(*(int *)0); } - -#undef def_shell_mode -int def_shell_mode(void) - { return(*(int *)0); } - -#undef def_prog_mode -int def_prog_mode(void) - { return(*(int *)0); } - -#undef reset_prog_mode -int reset_prog_mode(void) - { return(*(int *)0); } - -#undef reset_shell_mode -int reset_shell_mode(void) - { return(*(int *)0); } - -#undef savetty -int savetty(void) - { return(*(int *)0); } - -#undef resetty -int resetty(void) - { return(*(int *)0); } - -/* ./tty/lib_twait.c */ - -#undef _nc_timed_wait -int _nc_timed_wait( - int mode, - int milliseconds, - int *timeleft) - { return(*(int *)0); } - -/* ./tinfo/name_match.c */ - -#undef _nc_first_name -char *_nc_first_name( - const char *const sp) - { return(*(char **)0); } - -#undef _nc_name_match -int _nc_name_match( - const char *const namelst, - const char *const name, - const char *const delim) - { return(*(int *)0); } - -/* ./names.c */ - -#undef boolnames -char *const boolnames[] = {0}; -#undef boolfnames -char *const boolfnames[] = {0}; -#undef numnames -char *const numnames[] = {0}; -#undef numfnames -char *const numfnames[] = {0}; -#undef strnames -char *const strnames[] = {0}; -#undef strfnames -char *const strfnames[] = {0}; - -/* ./tinfo/parse_entry.c */ - -#undef _nc_parse_entry -int _nc_parse_entry( - struct entry *entryp, - int literal, - NCURSES_BOOL silent) - { return(*(int *)0); } - -#undef _nc_capcmp -int _nc_capcmp( - const char *s, - const char *t) - { return(*(int *)0); } - -typedef struct { - const char *from; - const char *to; -} assoc; - -/* ./tinfo/read_entry.c */ - -#undef _nc_tic_dir -const char *_nc_tic_dir( - const char *path) - { return(*(const char **)0); } - -#undef _nc_keep_tic_dir -void _nc_keep_tic_dir( - const char *path) - { /* void */ } - -#undef _nc_read_file_entry -int _nc_read_file_entry( - const char *const filename, - TERMTYPE *ptr) - { return(*(int *)0); } - -#undef _nc_read_entry -int _nc_read_entry( - const char *const tn, - char *const filename, - TERMTYPE *const tp) - { return(*(int *)0); } - -/* ./tinfo/read_termcap.c */ - -#include -#include - -#undef _nc_read_termcap_entry -int _nc_read_termcap_entry( - const char *const tn, - TERMTYPE *const tp) - { return(*(int *)0); } - -/* ./tinfo/setbuf.c */ - -#undef _nc_set_buffer -void _nc_set_buffer( - FILE *ofp, - NCURSES_BOOL buffered) - { /* void */ } - -/* ./tinfo/strings.c */ - -#undef _nc_str_init -string_desc *_nc_str_init( - string_desc *dst, - char *src, - size_t len) - { return(*(string_desc **)0); } - -#undef _nc_str_null -string_desc *_nc_str_null( - string_desc *dst, - size_t len) - { return(*(string_desc **)0); } - -#undef _nc_str_copy -string_desc *_nc_str_copy( - string_desc *dst, - string_desc *src) - { return(*(string_desc **)0); } - -#undef _nc_safe_strcat -NCURSES_BOOL _nc_safe_strcat( - string_desc *dst, - const char *src) - { return(*(NCURSES_BOOL *)0); } - -#undef _nc_safe_strcpy -NCURSES_BOOL _nc_safe_strcpy( - string_desc *dst, - const char *src) - { return(*(NCURSES_BOOL *)0); } - -/* ./trace/trace_buf.c */ - -typedef struct { - char *text; - size_t size; -} LIST; - -#undef _nc_trace_buf -char *_nc_trace_buf( - int bufnum, - size_t want) - { return(*(char **)0); } - -#undef _nc_trace_bufcat -char *_nc_trace_bufcat( - int bufnum, - const char *value) - { return(*(char **)0); } - -/* ./trace/trace_tries.c */ - -#undef _nc_trace_tries -void _nc_trace_tries( - struct tries *tree) - { /* void */ } - -/* ./base/tries.c */ - -#undef _nc_expand_try -char *_nc_expand_try( - struct tries *tree, - unsigned short code, - int *count, - size_t len) - { return(*(char **)0); } - -#undef _nc_remove_key -int _nc_remove_key( - struct tries **tree, - unsigned short code) - { return(*(int *)0); } - -#undef _nc_remove_string -int _nc_remove_string( - struct tries **tree, - const char *string) - { return(*(int *)0); } - -/* ./tinfo/trim_sgr0.c */ - -#undef _nc_trim_sgr0 -char *_nc_trim_sgr0( - TERMTYPE *tp) - { return(*(char **)0); } - -/* ./unctrl.c */ - -#undef unctrl -char *unctrl( - chtype ch) - { return(*(char **)0); } - -/* ./trace/visbuf.c */ - -#undef _nc_visbuf2 -const char *_nc_visbuf2( - int bufnum, - const char *buf) - { return(*(const char **)0); } - -#undef _nc_visbuf -const char *_nc_visbuf( - const char *buf) - { return(*(const char **)0); } - -#undef _nc_visbufn -const char *_nc_visbufn( - const char *buf, - int len) - { return(*(const char **)0); } - -/* ./tinfo/write_entry.c */ - -#undef _nc_set_writedir -void _nc_set_writedir( - char *dir) - { /* void */ } - -#undef _nc_write_entry -void _nc_write_entry( - TERMTYPE *const tp) - { /* void */ } - -#undef _nc_tic_written -int _nc_tic_written(void) - { return(*(int *)0); } - -/* ./base/define_key.c */ - -#undef define_key -int define_key( - const char *str, - int keycode) - { return(*(int *)0); } - -/* ./base/key_defined.c */ - -#undef key_defined -int key_defined( - const char *str) - { return(*(int *)0); } - -/* ./base/keybound.c */ - -#undef keybound -char *keybound( - int code, - int count) - { return(*(char **)0); } - -/* ./base/keyok.c */ - -#undef keyok -int keyok( - int c, - NCURSES_BOOL flag) - { return(*(int *)0); } - -/* ./base/version.c */ - -#undef curses_version -const char *curses_version(void) - { return(*(const char **)0); } diff --git a/src/libs/ncurses/ncurses/llib-lncursesw b/src/libs/ncurses/ncurses/llib-lncursesw deleted file mode 100644 index be5d864559..0000000000 --- a/src/libs/ncurses/ncurses/llib-lncursesw +++ /dev/null @@ -1,3957 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2001-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 2001-2005 * - ****************************************************************************/ -/* LINTLIBRARY */ - -/* ./tty/hardscroll.c */ - -#include - -#undef _nc_oldnums -int *_nc_oldnums; - -#undef _nc_scroll_optimize -void _nc_scroll_optimize(void) - { /* void */ } - -#undef _nc_linedump -void _nc_linedump(void) - { /* void */ } - -/* ./tty/hashmap.c */ - -#include - -#undef _nc_hash_map -void _nc_hash_map(void) - { /* void */ } - -#undef _nc_make_oldhash -void _nc_make_oldhash( - int i) - { /* void */ } - -#undef _nc_scroll_oldhash -void _nc_scroll_oldhash( - int n, - int top, - int bot) - { /* void */ } - -/* ./base/lib_addch.c */ - -#include - -#undef _nc_render -cchar_t _nc_render( - WINDOW *win, - cchar_t ch) - { return(*(cchar_t *)0); } - -#undef _nc_build_wch -int _nc_build_wch( - WINDOW *win, - cchar_t *ch) - { return(*(int *)0); } - -#undef _nc_waddch_nosync -int _nc_waddch_nosync( - WINDOW *win, - const cchar_t c) - { return(*(int *)0); } - -#undef waddch -int waddch( - WINDOW *win, - const chtype ch) - { return(*(int *)0); } - -#undef wechochar -int wechochar( - WINDOW *win, - const chtype ch) - { return(*(int *)0); } - -/* ./base/lib_addstr.c */ - -#undef waddnstr -int waddnstr( - WINDOW *win, - const char *astr, - int n) - { return(*(int *)0); } - -#undef waddchnstr -int waddchnstr( - WINDOW *win, - const chtype *astr, - int n) - { return(*(int *)0); } - -#undef _nc_wchstrlen -int _nc_wchstrlen( - const cchar_t *s) - { return(*(int *)0); } - -#undef wadd_wchnstr -int wadd_wchnstr( - WINDOW *win, - const cchar_t *astr, - int n) - { return(*(int *)0); } - -#undef waddnwstr -int waddnwstr( - WINDOW *win, - const wchar_t *str, - int n) - { return(*(int *)0); } - -/* ./base/lib_beep.c */ - -#undef beep -int beep(void) - { return(*(int *)0); } - -/* ./base/lib_bkgd.c */ - -#undef wbkgrndset -void wbkgrndset( - WINDOW *win, - const cchar_t *ch) - { /* void */ } - -#undef wbkgdset -void wbkgdset( - WINDOW *win, - chtype ch) - { /* void */ } - -#undef wbkgrnd -int wbkgrnd( - WINDOW *win, - const cchar_t *ch) - { return(*(int *)0); } - -#undef wbkgd -int wbkgd( - WINDOW *win, - chtype ch) - { return(*(int *)0); } - -/* ./base/lib_box.c */ - -#undef wborder -int wborder( - WINDOW *win, - chtype ls, - chtype rs, - chtype ts, - chtype bs, - chtype tl, - chtype tr, - chtype bl, - chtype br) - { return(*(int *)0); } - -/* ./base/lib_chgat.c */ - -#undef wchgat -int wchgat( - WINDOW *win, - int n, - attr_t attr, - short color, - const void *opts) - { return(*(int *)0); } - -/* ./base/lib_clear.c */ - -#undef wclear -int wclear( - WINDOW *win) - { return(*(int *)0); } - -/* ./base/lib_clearok.c */ - -#undef clearok -int clearok( - WINDOW *win, - NCURSES_BOOL flag) - { return(*(int *)0); } - -/* ./base/lib_clrbot.c */ - -#undef wclrtobot -int wclrtobot( - WINDOW *win) - { return(*(int *)0); } - -/* ./base/lib_clreol.c */ - -#undef wclrtoeol -int wclrtoeol( - WINDOW *win) - { return(*(int *)0); } - -/* ./base/lib_color.c */ - -#include - -#undef COLOR_PAIRS -int COLOR_PAIRS; -#undef COLORS -int COLORS; - -#undef _nc_reset_colors -NCURSES_BOOL _nc_reset_colors(void) - { return(*(NCURSES_BOOL *)0); } - -#undef start_color -int start_color(void) - { return(*(int *)0); } - -#undef init_pair -int init_pair( - short pair, - short f, - short b) - { return(*(int *)0); } - -#undef init_color -int init_color( - short color, - short r, - short g, - short b) - { return(*(int *)0); } - -#undef can_change_color -NCURSES_BOOL can_change_color(void) - { return(*(NCURSES_BOOL *)0); } - -#undef has_colors -NCURSES_BOOL has_colors(void) - { return(*(NCURSES_BOOL *)0); } - -#undef color_content -int color_content( - short color, - short *r, - short *g, - short *b) - { return(*(int *)0); } - -#undef pair_content -int pair_content( - short pair, - short *f, - short *b) - { return(*(int *)0); } - -#undef _nc_do_color -void _nc_do_color( - int old_pair, - int pair, - NCURSES_BOOL reverse, - int (*outc)( - int p1)) - { /* void */ } - -/* ./base/lib_colorset.c */ - -#undef wcolor_set -int wcolor_set( - WINDOW *win, - short color_pair_number, - void *opts) - { return(*(int *)0); } - -/* ./base/lib_delch.c */ - -#undef wdelch -int wdelch( - WINDOW *win) - { return(*(int *)0); } - -/* ./base/lib_delwin.c */ - -#undef delwin -int delwin( - WINDOW *win) - { return(*(int *)0); } - -/* ./base/lib_echo.c */ - -#undef echo -int echo(void) - { return(*(int *)0); } - -#undef noecho -int noecho(void) - { return(*(int *)0); } - -/* ./base/lib_endwin.c */ - -#undef endwin -int endwin(void) - { return(*(int *)0); } - -/* ./base/lib_erase.c */ - -#undef werase -int werase( - WINDOW *win) - { return(*(int *)0); } - -/* ./base/lib_flash.c */ - -#undef flash -int flash(void) - { return(*(int *)0); } - -/* ./lib_gen.c */ - -#undef addch -int addch( - const chtype z) - { return(*(int *)0); } - -#undef addchnstr -int addchnstr( - const chtype *a1, - int z) - { return(*(int *)0); } - -#undef addchstr -int addchstr( - const chtype *z) - { return(*(int *)0); } - -#undef addnstr -int addnstr( - const char *a1, - int z) - { return(*(int *)0); } - -#undef addstr -int addstr( - const char *z) - { return(*(int *)0); } - -#undef attroff -int attroff( - NCURSES_ATTR_T z) - { return(*(int *)0); } - -#undef attron -int attron( - NCURSES_ATTR_T z) - { return(*(int *)0); } - -#undef attrset -int attrset( - NCURSES_ATTR_T z) - { return(*(int *)0); } - -#undef attr_get -int attr_get( - attr_t *a1, - short *a2, - void *z) - { return(*(int *)0); } - -#undef attr_off -int attr_off( - attr_t a1, - void *z) - { return(*(int *)0); } - -#undef attr_on -int attr_on( - attr_t a1, - void *z) - { return(*(int *)0); } - -#undef attr_set -int attr_set( - attr_t a1, - short a2, - void *z) - { return(*(int *)0); } - -#undef bkgd -int bkgd( - chtype z) - { return(*(int *)0); } - -#undef bkgdset -void bkgdset( - chtype z) - { /* void */ } - -#undef border -int border( - chtype a1, - chtype a2, - chtype a3, - chtype a4, - chtype a5, - chtype a6, - chtype a7, - chtype z) - { return(*(int *)0); } - -#undef box -int box( - WINDOW *a1, - chtype a2, - chtype z) - { return(*(int *)0); } - -#undef chgat -int chgat( - int a1, - attr_t a2, - short a3, - const void *z) - { return(*(int *)0); } - -#undef clear -int clear(void) - { return(*(int *)0); } - -#undef clrtobot -int clrtobot(void) - { return(*(int *)0); } - -#undef clrtoeol -int clrtoeol(void) - { return(*(int *)0); } - -#undef color_set -int color_set( - short a1, - void *z) - { return(*(int *)0); } - -#undef COLOR_PAIR -int COLOR_PAIR( - int z) - { return(*(int *)0); } - -#undef delch -int delch(void) - { return(*(int *)0); } - -#undef deleteln -int deleteln(void) - { return(*(int *)0); } - -#undef echochar -int echochar( - const chtype z) - { return(*(int *)0); } - -#undef erase -int erase(void) - { return(*(int *)0); } - -#undef getbkgd -chtype getbkgd( - WINDOW *z) - { return(*(chtype *)0); } - -#undef getch -int getch(void) - { return(*(int *)0); } - -#undef getnstr -int getnstr( - char *a1, - int z) - { return(*(int *)0); } - -#undef getstr -int getstr( - char *z) - { return(*(int *)0); } - -#undef hline -int hline( - chtype a1, - int z) - { return(*(int *)0); } - -#undef inch -chtype inch(void) - { return(*(chtype *)0); } - -#undef inchnstr -int inchnstr( - chtype *a1, - int z) - { return(*(int *)0); } - -#undef inchstr -int inchstr( - chtype *z) - { return(*(int *)0); } - -#undef innstr -int innstr( - char *a1, - int z) - { return(*(int *)0); } - -#undef insch -int insch( - chtype z) - { return(*(int *)0); } - -#undef insdelln -int insdelln( - int z) - { return(*(int *)0); } - -#undef insertln -int insertln(void) - { return(*(int *)0); } - -#undef insnstr -int insnstr( - const char *a1, - int z) - { return(*(int *)0); } - -#undef insstr -int insstr( - const char *z) - { return(*(int *)0); } - -#undef instr -int instr( - char *z) - { return(*(int *)0); } - -#undef move -int move( - int a1, - int z) - { return(*(int *)0); } - -#undef mvaddch -int mvaddch( - int a1, - int a2, - const chtype z) - { return(*(int *)0); } - -#undef mvaddchnstr -int mvaddchnstr( - int a1, - int a2, - const chtype *a3, - int z) - { return(*(int *)0); } - -#undef mvaddchstr -int mvaddchstr( - int a1, - int a2, - const chtype *z) - { return(*(int *)0); } - -#undef mvaddnstr -int mvaddnstr( - int a1, - int a2, - const char *a3, - int z) - { return(*(int *)0); } - -#undef mvaddstr -int mvaddstr( - int a1, - int a2, - const char *z) - { return(*(int *)0); } - -#undef mvchgat -int mvchgat( - int a1, - int a2, - int a3, - attr_t a4, - short a5, - const void *z) - { return(*(int *)0); } - -#undef mvdelch -int mvdelch( - int a1, - int z) - { return(*(int *)0); } - -#undef mvgetch -int mvgetch( - int a1, - int z) - { return(*(int *)0); } - -#undef mvgetnstr -int mvgetnstr( - int a1, - int a2, - char *a3, - int z) - { return(*(int *)0); } - -#undef mvgetstr -int mvgetstr( - int a1, - int a2, - char *z) - { return(*(int *)0); } - -#undef mvhline -int mvhline( - int a1, - int a2, - chtype a3, - int z) - { return(*(int *)0); } - -#undef mvinch -chtype mvinch( - int a1, - int z) - { return(*(chtype *)0); } - -#undef mvinchnstr -int mvinchnstr( - int a1, - int a2, - chtype *a3, - int z) - { return(*(int *)0); } - -#undef mvinchstr -int mvinchstr( - int a1, - int a2, - chtype *z) - { return(*(int *)0); } - -#undef mvinnstr -int mvinnstr( - int a1, - int a2, - char *a3, - int z) - { return(*(int *)0); } - -#undef mvinsch -int mvinsch( - int a1, - int a2, - chtype z) - { return(*(int *)0); } - -#undef mvinsnstr -int mvinsnstr( - int a1, - int a2, - const char *a3, - int z) - { return(*(int *)0); } - -#undef mvinsstr -int mvinsstr( - int a1, - int a2, - const char *z) - { return(*(int *)0); } - -#undef mvinstr -int mvinstr( - int a1, - int a2, - char *z) - { return(*(int *)0); } - -#undef mvvline -int mvvline( - int a1, - int a2, - chtype a3, - int z) - { return(*(int *)0); } - -#undef mvwaddch -int mvwaddch( - WINDOW *a1, - int a2, - int a3, - const chtype z) - { return(*(int *)0); } - -#undef mvwaddchnstr -int mvwaddchnstr( - WINDOW *a1, - int a2, - int a3, - const chtype *a4, - int z) - { return(*(int *)0); } - -#undef mvwaddchstr -int mvwaddchstr( - WINDOW *a1, - int a2, - int a3, - const chtype *z) - { return(*(int *)0); } - -#undef mvwaddnstr -int mvwaddnstr( - WINDOW *a1, - int a2, - int a3, - const char *a4, - int z) - { return(*(int *)0); } - -#undef mvwaddstr -int mvwaddstr( - WINDOW *a1, - int a2, - int a3, - const char *z) - { return(*(int *)0); } - -#undef mvwchgat -int mvwchgat( - WINDOW *a1, - int a2, - int a3, - int a4, - attr_t a5, - short a6, - const void *z) - { return(*(int *)0); } - -#undef mvwdelch -int mvwdelch( - WINDOW *a1, - int a2, - int z) - { return(*(int *)0); } - -#undef mvwgetch -int mvwgetch( - WINDOW *a1, - int a2, - int z) - { return(*(int *)0); } - -#undef mvwgetnstr -int mvwgetnstr( - WINDOW *a1, - int a2, - int a3, - char *a4, - int z) - { return(*(int *)0); } - -#undef mvwgetstr -int mvwgetstr( - WINDOW *a1, - int a2, - int a3, - char *z) - { return(*(int *)0); } - -#undef mvwhline -int mvwhline( - WINDOW *a1, - int a2, - int a3, - chtype a4, - int z) - { return(*(int *)0); } - -#undef mvwinch -chtype mvwinch( - WINDOW *a1, - int a2, - int z) - { return(*(chtype *)0); } - -#undef mvwinchnstr -int mvwinchnstr( - WINDOW *a1, - int a2, - int a3, - chtype *a4, - int z) - { return(*(int *)0); } - -#undef mvwinchstr -int mvwinchstr( - WINDOW *a1, - int a2, - int a3, - chtype *z) - { return(*(int *)0); } - -#undef mvwinnstr -int mvwinnstr( - WINDOW *a1, - int a2, - int a3, - char *a4, - int z) - { return(*(int *)0); } - -#undef mvwinsch -int mvwinsch( - WINDOW *a1, - int a2, - int a3, - chtype z) - { return(*(int *)0); } - -#undef mvwinsnstr -int mvwinsnstr( - WINDOW *a1, - int a2, - int a3, - const char *a4, - int z) - { return(*(int *)0); } - -#undef mvwinsstr -int mvwinsstr( - WINDOW *a1, - int a2, - int a3, - const char *z) - { return(*(int *)0); } - -#undef mvwinstr -int mvwinstr( - WINDOW *a1, - int a2, - int a3, - char *z) - { return(*(int *)0); } - -#undef mvwvline -int mvwvline( - WINDOW *a1, - int a2, - int a3, - chtype a4, - int z) - { return(*(int *)0); } - -#undef PAIR_NUMBER -int PAIR_NUMBER( - int z) - { return(*(int *)0); } - -#undef redrawwin -int redrawwin( - WINDOW *z) - { return(*(int *)0); } - -#undef refresh -int refresh(void) - { return(*(int *)0); } - -#undef scrl -int scrl( - int z) - { return(*(int *)0); } - -#undef scroll -int scroll( - WINDOW *z) - { return(*(int *)0); } - -#undef setscrreg -int setscrreg( - int a1, - int z) - { return(*(int *)0); } - -#undef slk_attr_off -int slk_attr_off( - const attr_t a1, - void *z) - { return(*(int *)0); } - -#undef slk_attr_on -int slk_attr_on( - attr_t a1, - void *z) - { return(*(int *)0); } - -#undef standout -int standout(void) - { return(*(int *)0); } - -#undef standend -int standend(void) - { return(*(int *)0); } - -#undef timeout -void timeout( - int z) - { /* void */ } - -#undef touchline -int touchline( - WINDOW *a1, - int a2, - int z) - { return(*(int *)0); } - -#undef touchwin -int touchwin( - WINDOW *z) - { return(*(int *)0); } - -#undef untouchwin -int untouchwin( - WINDOW *z) - { return(*(int *)0); } - -#undef vline -int vline( - chtype a1, - int z) - { return(*(int *)0); } - -#undef vw_printw -int vw_printw( - WINDOW *a1, - const char *a2, - va_list z) - { return(*(int *)0); } - -#undef vw_scanw -int vw_scanw( - WINDOW *a1, - char *a2, - va_list z) - { return(*(int *)0); } - -#undef waddchstr -int waddchstr( - WINDOW *a1, - const chtype *z) - { return(*(int *)0); } - -#undef waddstr -int waddstr( - WINDOW *a1, - const char *z) - { return(*(int *)0); } - -#undef wattron -int wattron( - WINDOW *a1, - int z) - { return(*(int *)0); } - -#undef wattroff -int wattroff( - WINDOW *a1, - int z) - { return(*(int *)0); } - -#undef wattrset -int wattrset( - WINDOW *a1, - int z) - { return(*(int *)0); } - -#undef wattr_get -int wattr_get( - WINDOW *a1, - attr_t *a2, - short *a3, - void *z) - { return(*(int *)0); } - -#undef wattr_set -int wattr_set( - WINDOW *a1, - attr_t a2, - short a3, - void *z) - { return(*(int *)0); } - -#undef wdeleteln -int wdeleteln( - WINDOW *z) - { return(*(int *)0); } - -#undef wgetstr -int wgetstr( - WINDOW *a1, - char *z) - { return(*(int *)0); } - -#undef winchstr -int winchstr( - WINDOW *a1, - chtype *z) - { return(*(int *)0); } - -#undef winsertln -int winsertln( - WINDOW *z) - { return(*(int *)0); } - -#undef winsstr -int winsstr( - WINDOW *a1, - const char *z) - { return(*(int *)0); } - -#undef winstr -int winstr( - WINDOW *a1, - char *z) - { return(*(int *)0); } - -#undef wstandout -int wstandout( - WINDOW *z) - { return(*(int *)0); } - -#undef wstandend -int wstandend( - WINDOW *z) - { return(*(int *)0); } - -#undef add_wch -int add_wch( - const cchar_t *z) - { return(*(int *)0); } - -#undef add_wchnstr -int add_wchnstr( - const cchar_t *a1, - int z) - { return(*(int *)0); } - -#undef add_wchstr -int add_wchstr( - const cchar_t *z) - { return(*(int *)0); } - -#undef addnwstr -int addnwstr( - const wchar_t *a1, - int z) - { return(*(int *)0); } - -#undef addwstr -int addwstr( - const wchar_t *z) - { return(*(int *)0); } - -#undef bkgrnd -int bkgrnd( - const cchar_t *z) - { return(*(int *)0); } - -#undef bkgrndset -void bkgrndset( - const cchar_t *z) - { /* void */ } - -#undef border_set -int border_set( - const cchar_t *a1, - const cchar_t *a2, - const cchar_t *a3, - const cchar_t *a4, - const cchar_t *a5, - const cchar_t *a6, - const cchar_t *a7, - const cchar_t *z) - { return(*(int *)0); } - -#undef box_set -int box_set( - WINDOW *a1, - const cchar_t *a2, - const cchar_t *z) - { return(*(int *)0); } - -#undef echo_wchar -int echo_wchar( - const cchar_t *z) - { return(*(int *)0); } - -#undef get_wch -int get_wch( - wint_t *z) - { return(*(int *)0); } - -#undef get_wstr -int get_wstr( - wint_t *z) - { return(*(int *)0); } - -#undef getbkgrnd -int getbkgrnd( - cchar_t *z) - { return(*(int *)0); } - -#undef getn_wstr -int getn_wstr( - wint_t *a1, - int z) - { return(*(int *)0); } - -#undef hline_set -int hline_set( - const cchar_t *a1, - int z) - { return(*(int *)0); } - -#undef in_wch -int in_wch( - cchar_t *z) - { return(*(int *)0); } - -#undef in_wchnstr -int in_wchnstr( - cchar_t *a1, - int z) - { return(*(int *)0); } - -#undef in_wchstr -int in_wchstr( - cchar_t *z) - { return(*(int *)0); } - -#undef innwstr -int innwstr( - wchar_t *a1, - int z) - { return(*(int *)0); } - -#undef ins_nwstr -int ins_nwstr( - const wchar_t *a1, - int z) - { return(*(int *)0); } - -#undef ins_wch -int ins_wch( - const cchar_t *z) - { return(*(int *)0); } - -#undef ins_wstr -int ins_wstr( - const wchar_t *z) - { return(*(int *)0); } - -#undef inwstr -int inwstr( - wchar_t *z) - { return(*(int *)0); } - -#undef mvadd_wch -int mvadd_wch( - int a1, - int a2, - const cchar_t *z) - { return(*(int *)0); } - -#undef mvadd_wchnstr -int mvadd_wchnstr( - int a1, - int a2, - const cchar_t *a3, - int z) - { return(*(int *)0); } - -#undef mvadd_wchstr -int mvadd_wchstr( - int a1, - int a2, - const cchar_t *z) - { return(*(int *)0); } - -#undef mvaddnwstr -int mvaddnwstr( - int a1, - int a2, - const wchar_t *a3, - int z) - { return(*(int *)0); } - -#undef mvaddwstr -int mvaddwstr( - int a1, - int a2, - const wchar_t *z) - { return(*(int *)0); } - -#undef mvget_wch -int mvget_wch( - int a1, - int a2, - wint_t *z) - { return(*(int *)0); } - -#undef mvget_wstr -int mvget_wstr( - int a1, - int a2, - wint_t *z) - { return(*(int *)0); } - -#undef mvgetn_wstr -int mvgetn_wstr( - int a1, - int a2, - wint_t *a3, - int z) - { return(*(int *)0); } - -#undef mvhline_set -int mvhline_set( - int a1, - int a2, - const cchar_t *a3, - int z) - { return(*(int *)0); } - -#undef mvin_wch -int mvin_wch( - int a1, - int a2, - cchar_t *z) - { return(*(int *)0); } - -#undef mvin_wchnstr -int mvin_wchnstr( - int a1, - int a2, - cchar_t *a3, - int z) - { return(*(int *)0); } - -#undef mvin_wchstr -int mvin_wchstr( - int a1, - int a2, - cchar_t *z) - { return(*(int *)0); } - -#undef mvinnwstr -int mvinnwstr( - int a1, - int a2, - wchar_t *a3, - int z) - { return(*(int *)0); } - -#undef mvins_nwstr -int mvins_nwstr( - int a1, - int a2, - const wchar_t *a3, - int z) - { return(*(int *)0); } - -#undef mvins_wch -int mvins_wch( - int a1, - int a2, - const cchar_t *z) - { return(*(int *)0); } - -#undef mvins_wstr -int mvins_wstr( - int a1, - int a2, - const wchar_t *z) - { return(*(int *)0); } - -#undef mvinwstr -int mvinwstr( - int a1, - int a2, - wchar_t *z) - { return(*(int *)0); } - -#undef mvvline_set -int mvvline_set( - int a1, - int a2, - const cchar_t *a3, - int z) - { return(*(int *)0); } - -#undef mvwadd_wch -int mvwadd_wch( - WINDOW *a1, - int a2, - int a3, - const cchar_t *z) - { return(*(int *)0); } - -#undef mvwadd_wchnstr -int mvwadd_wchnstr( - WINDOW *a1, - int a2, - int a3, - const cchar_t *a4, - int z) - { return(*(int *)0); } - -#undef mvwadd_wchstr -int mvwadd_wchstr( - WINDOW *a1, - int a2, - int a3, - const cchar_t *z) - { return(*(int *)0); } - -#undef mvwaddnwstr -int mvwaddnwstr( - WINDOW *a1, - int a2, - int a3, - const wchar_t *a4, - int z) - { return(*(int *)0); } - -#undef mvwaddwstr -int mvwaddwstr( - WINDOW *a1, - int a2, - int a3, - const wchar_t *z) - { return(*(int *)0); } - -#undef mvwget_wch -int mvwget_wch( - WINDOW *a1, - int a2, - int a3, - wint_t *z) - { return(*(int *)0); } - -#undef mvwget_wstr -int mvwget_wstr( - WINDOW *a1, - int a2, - int a3, - wint_t *z) - { return(*(int *)0); } - -#undef mvwgetn_wstr -int mvwgetn_wstr( - WINDOW *a1, - int a2, - int a3, - wint_t *a4, - int z) - { return(*(int *)0); } - -#undef mvwhline_set -int mvwhline_set( - WINDOW *a1, - int a2, - int a3, - const cchar_t *a4, - int z) - { return(*(int *)0); } - -#undef mvwin_wch -int mvwin_wch( - WINDOW *a1, - int a2, - int a3, - cchar_t *z) - { return(*(int *)0); } - -#undef mvwin_wchnstr -int mvwin_wchnstr( - WINDOW *a1, - int a2, - int a3, - cchar_t *a4, - int z) - { return(*(int *)0); } - -#undef mvwin_wchstr -int mvwin_wchstr( - WINDOW *a1, - int a2, - int a3, - cchar_t *z) - { return(*(int *)0); } - -#undef mvwinnwstr -int mvwinnwstr( - WINDOW *a1, - int a2, - int a3, - wchar_t *a4, - int z) - { return(*(int *)0); } - -#undef mvwins_nwstr -int mvwins_nwstr( - WINDOW *a1, - int a2, - int a3, - const wchar_t *a4, - int z) - { return(*(int *)0); } - -#undef mvwins_wch -int mvwins_wch( - WINDOW *a1, - int a2, - int a3, - const cchar_t *z) - { return(*(int *)0); } - -#undef mvwins_wstr -int mvwins_wstr( - WINDOW *a1, - int a2, - int a3, - const wchar_t *z) - { return(*(int *)0); } - -#undef mvwinwstr -int mvwinwstr( - WINDOW *a1, - int a2, - int a3, - wchar_t *z) - { return(*(int *)0); } - -#undef mvwvline_set -int mvwvline_set( - WINDOW *a1, - int a2, - int a3, - const cchar_t *a4, - int z) - { return(*(int *)0); } - -#undef vline_set -int vline_set( - const cchar_t *a1, - int z) - { return(*(int *)0); } - -#undef wadd_wchstr -int wadd_wchstr( - WINDOW *a1, - const cchar_t *z) - { return(*(int *)0); } - -#undef waddwstr -int waddwstr( - WINDOW *a1, - const wchar_t *z) - { return(*(int *)0); } - -#undef wget_wstr -int wget_wstr( - WINDOW *a1, - wint_t *z) - { return(*(int *)0); } - -#undef win_wchstr -int win_wchstr( - WINDOW *a1, - cchar_t *z) - { return(*(int *)0); } - -#undef wins_wstr -int wins_wstr( - WINDOW *a1, - const wchar_t *z) - { return(*(int *)0); } - -#undef mouse_trafo -NCURSES_BOOL mouse_trafo( - int *a1, - int *a2, - NCURSES_BOOL z) - { return(*(NCURSES_BOOL *)0); } - -/* ./base/lib_getch.c */ - -#include - -#undef ESCDELAY -int ESCDELAY; - -#undef _nc_wgetch -int _nc_wgetch( - WINDOW *win, - unsigned long *result, - int use_meta) - { return(*(int *)0); } - -#undef wgetch -int wgetch( - WINDOW *win) - { return(*(int *)0); } - -/* ./base/lib_getstr.c */ - -#undef wgetnstr -int wgetnstr( - WINDOW *win, - char *str, - int maxlen) - { return(*(int *)0); } - -/* ./base/lib_hline.c */ - -#undef whline -int whline( - WINDOW *win, - chtype ch, - int n) - { return(*(int *)0); } - -/* ./base/lib_immedok.c */ - -#undef immedok -void immedok( - WINDOW *win, - NCURSES_BOOL flag) - { /* void */ } - -/* ./base/lib_inchstr.c */ - -#undef winchnstr -int winchnstr( - WINDOW *win, - chtype *str, - int n) - { return(*(int *)0); } - -/* ./base/lib_initscr.c */ - -#undef initscr -WINDOW *initscr(void) - { return(*(WINDOW **)0); } - -/* ./base/lib_insch.c */ - -#undef _nc_insert_ch -int _nc_insert_ch( - WINDOW *win, - chtype ch) - { return(*(int *)0); } - -#undef winsch -int winsch( - WINDOW *win, - chtype c) - { return(*(int *)0); } - -/* ./base/lib_insdel.c */ - -#undef winsdelln -int winsdelln( - WINDOW *win, - int n) - { return(*(int *)0); } - -/* ./base/lib_insnstr.c */ - -#undef winsnstr -int winsnstr( - WINDOW *win, - const char *s, - int n) - { return(*(int *)0); } - -/* ./base/lib_instr.c */ - -#undef winnstr -int winnstr( - WINDOW *win, - char *str, - int n) - { return(*(int *)0); } - -/* ./base/lib_isendwin.c */ - -#undef isendwin -NCURSES_BOOL isendwin(void) - { return(*(NCURSES_BOOL *)0); } - -/* ./base/lib_leaveok.c */ - -#undef leaveok -int leaveok( - WINDOW *win, - NCURSES_BOOL flag) - { return(*(int *)0); } - -/* ./base/lib_mouse.c */ - -#undef getmouse -int getmouse( - MEVENT *aevent) - { return(*(int *)0); } - -#undef ungetmouse -int ungetmouse( - MEVENT *aevent) - { return(*(int *)0); } - -#undef mousemask -mmask_t mousemask( - mmask_t newmask, - mmask_t *oldmask) - { return(*(mmask_t *)0); } - -#undef wenclose -NCURSES_BOOL wenclose( - const WINDOW *win, - int y, - int x) - { return(*(NCURSES_BOOL *)0); } - -#undef mouseinterval -int mouseinterval( - int maxclick) - { return(*(int *)0); } - -#undef _nc_has_mouse -int _nc_has_mouse(void) - { return(*(int *)0); } - -#undef wmouse_trafo -NCURSES_BOOL wmouse_trafo( - const WINDOW *win, - int *pY, - int *pX, - NCURSES_BOOL to_screen) - { return(*(NCURSES_BOOL *)0); } - -/* ./base/lib_move.c */ - -#undef wmove -int wmove( - WINDOW *win, - int y, - int x) - { return(*(int *)0); } - -/* ./tty/lib_mvcur.c */ - -#undef _nc_msec_cost -int _nc_msec_cost( - const char *const cap, - int affcnt) - { return(*(int *)0); } - -#undef _nc_mvcur_resume -void _nc_mvcur_resume(void) - { /* void */ } - -#undef _nc_mvcur_init -void _nc_mvcur_init(void) - { /* void */ } - -#undef _nc_mvcur_wrap -void _nc_mvcur_wrap(void) - { /* void */ } - -#undef mvcur -int mvcur( - int yold, - int xold, - int ynew, - int xnew) - { return(*(int *)0); } - -#undef _nc_optimize_enable -int _nc_optimize_enable; - -/* ./base/lib_mvwin.c */ - -#undef mvwin -int mvwin( - WINDOW *win, - int by, - int bx) - { return(*(int *)0); } - -/* ./base/lib_newterm.c */ - -#undef filter -void filter(void) - { /* void */ } - -#undef newterm -SCREEN *newterm( - char *name, - FILE *ofp, - FILE *ifp) - { return(*(SCREEN **)0); } - -/* ./base/lib_newwin.c */ - -#undef _nc_freewin -int _nc_freewin( - WINDOW *win) - { return(*(int *)0); } - -#undef newwin -WINDOW *newwin( - int num_lines, - int num_columns, - int begy, - int begx) - { return(*(WINDOW **)0); } - -#undef derwin -WINDOW *derwin( - WINDOW *orig, - int num_lines, - int num_columns, - int begy, - int begx) - { return(*(WINDOW **)0); } - -#undef subwin -WINDOW *subwin( - WINDOW *w, - int l, - int c, - int y, - int x) - { return(*(WINDOW **)0); } - -#undef _nc_makenew -WINDOW *_nc_makenew( - int num_lines, - int num_columns, - int begy, - int begx, - int flags) - { return(*(WINDOW **)0); } - -/* ./base/lib_nl.c */ - -#undef nl -int nl(void) - { return(*(int *)0); } - -#undef nonl -int nonl(void) - { return(*(int *)0); } - -/* ./base/lib_overlay.c */ - -#undef overlay -int overlay( - const WINDOW *win1, - WINDOW *win2) - { return(*(int *)0); } - -#undef overwrite -int overwrite( - const WINDOW *win1, - WINDOW *win2) - { return(*(int *)0); } - -#undef copywin -int copywin( - const WINDOW *src, - WINDOW *dst, - int sminrow, - int smincol, - int dminrow, - int dmincol, - int dmaxrow, - int dmaxcol, - int over) - { return(*(int *)0); } - -/* ./base/lib_pad.c */ - -#undef newpad -WINDOW *newpad( - int l, - int c) - { return(*(WINDOW **)0); } - -#undef subpad -WINDOW *subpad( - WINDOW *orig, - int l, - int c, - int begy, - int begx) - { return(*(WINDOW **)0); } - -#undef prefresh -int prefresh( - WINDOW *win, - int pminrow, - int pmincol, - int sminrow, - int smincol, - int smaxrow, - int smaxcol) - { return(*(int *)0); } - -#undef pnoutrefresh -int pnoutrefresh( - WINDOW *win, - int pminrow, - int pmincol, - int sminrow, - int smincol, - int smaxrow, - int smaxcol) - { return(*(int *)0); } - -#undef pechochar -int pechochar( - WINDOW *pad, - const chtype ch) - { return(*(int *)0); } - -/* ./base/lib_printw.c */ - -#undef printw -int printw( - const char *fmt, - ...) - { return(*(int *)0); } - -#undef wprintw -int wprintw( - WINDOW *win, - const char *fmt, - ...) - { return(*(int *)0); } - -#undef mvprintw -int mvprintw( - int y, - int x, - const char *fmt, - ...) - { return(*(int *)0); } - -#undef mvwprintw -int mvwprintw( - WINDOW *win, - int y, - int x, - const char *fmt, - ...) - { return(*(int *)0); } - -#undef vwprintw -int vwprintw( - WINDOW *win, - const char *fmt, - va_list argp) - { return(*(int *)0); } - -/* ./base/lib_redrawln.c */ - -#undef wredrawln -int wredrawln( - WINDOW *win, - int beg, - int num) - { return(*(int *)0); } - -/* ./base/lib_refresh.c */ - -#undef wrefresh -int wrefresh( - WINDOW *win) - { return(*(int *)0); } - -#undef wnoutrefresh -int wnoutrefresh( - WINDOW *win) - { return(*(int *)0); } - -/* ./base/lib_restart.c */ - -#undef restartterm -int restartterm( - char *termp, - int filenum, - int *errret) - { return(*(int *)0); } - -/* ./base/lib_scanw.c */ - -#undef vwscanw -int vwscanw( - WINDOW *win, - char *fmt, - va_list argp) - { return(*(int *)0); } - -#undef scanw -int scanw( - char *fmt, - ...) - { return(*(int *)0); } - -#undef wscanw -int wscanw( - WINDOW *win, - char *fmt, - ...) - { return(*(int *)0); } - -#undef mvscanw -int mvscanw( - int y, - int x, - char *fmt, - ...) - { return(*(int *)0); } - -#undef mvwscanw -int mvwscanw( - WINDOW *win, - int y, - int x, - char *fmt, - ...) - { return(*(int *)0); } - -/* ./base/lib_screen.c */ - -#undef getwin -WINDOW *getwin( - FILE *filep) - { return(*(WINDOW **)0); } - -#undef putwin -int putwin( - WINDOW *win, - FILE *filep) - { return(*(int *)0); } - -#undef scr_restore -int scr_restore( - const char *file) - { return(*(int *)0); } - -#undef scr_dump -int scr_dump( - const char *file) - { return(*(int *)0); } - -#undef scr_init -int scr_init( - const char *file) - { return(*(int *)0); } - -#undef scr_set -int scr_set( - const char *file) - { return(*(int *)0); } - -/* ./base/lib_scroll.c */ - -#undef _nc_scroll_window -void _nc_scroll_window( - WINDOW *win, - int const n, - short const top, - short const bottom, - cchar_t blank) - { /* void */ } - -#undef wscrl -int wscrl( - WINDOW *win, - int n) - { return(*(int *)0); } - -/* ./base/lib_scrollok.c */ - -#undef scrollok -int scrollok( - WINDOW *win, - NCURSES_BOOL flag) - { return(*(int *)0); } - -/* ./base/lib_scrreg.c */ - -#undef wsetscrreg -int wsetscrreg( - WINDOW *win, - int top, - int bottom) - { return(*(int *)0); } - -/* ./base/lib_set_term.c */ - -#undef set_term -SCREEN *set_term( - SCREEN *screenp) - { return(*(SCREEN **)0); } - -#undef delscreen -void delscreen( - SCREEN *sp) - { /* void */ } - -#undef _nc_setupscreen -int _nc_setupscreen( - short slines, - short const scolumns, - FILE *output) - { return(*(int *)0); } - -#undef _nc_ripoffline -int _nc_ripoffline( - int line, - int (*init)( - WINDOW *p1, - int p2)) - { return(*(int *)0); } - -#undef ripoffline -int ripoffline( - int line, - int (*init)( - WINDOW *p1, - int p2)) - { return(*(int *)0); } - -/* ./base/lib_slk.c */ - -#undef _nc_slk_format -int _nc_slk_format; - -#undef _nc_slk_initialize -int _nc_slk_initialize( - WINDOW *stwin, - int cols) - { return(*(int *)0); } - -#undef slk_restore -int slk_restore(void) - { return(*(int *)0); } - -/* ./base/lib_slkatr_set.c */ - -#undef slk_attr_set -int slk_attr_set( - const attr_t attr, - short color_pair_number, - void *opts) - { return(*(int *)0); } - -/* ./base/lib_slkatrof.c */ - -#undef slk_attroff -int slk_attroff( - const chtype attr) - { return(*(int *)0); } - -/* ./base/lib_slkatron.c */ - -#undef slk_attron -int slk_attron( - const chtype attr) - { return(*(int *)0); } - -/* ./base/lib_slkatrset.c */ - -#undef slk_attrset -int slk_attrset( - const chtype attr) - { return(*(int *)0); } - -/* ./base/lib_slkattr.c */ - -#undef slk_attr -attr_t slk_attr(void) - { return(*(attr_t *)0); } - -/* ./base/lib_slkclear.c */ - -#undef slk_clear -int slk_clear(void) - { return(*(int *)0); } - -/* ./base/lib_slkcolor.c */ - -#undef slk_color -int slk_color( - short color_pair_number) - { return(*(int *)0); } - -/* ./base/lib_slkinit.c */ - -#undef slk_init -int slk_init( - int format) - { return(*(int *)0); } - -/* ./base/lib_slklab.c */ - -#undef slk_label -char *slk_label( - int n) - { return(*(char **)0); } - -/* ./base/lib_slkrefr.c */ - -#undef slk_noutrefresh -int slk_noutrefresh(void) - { return(*(int *)0); } - -#undef slk_refresh -int slk_refresh(void) - { return(*(int *)0); } - -/* ./base/lib_slkset.c */ - -#include - -#undef slk_set -int slk_set( - int i, - const char *astr, - int format) - { return(*(int *)0); } - -/* ./base/lib_slktouch.c */ - -#undef slk_touch -int slk_touch(void) - { return(*(int *)0); } - -/* ./base/lib_touch.c */ - -#undef is_linetouched -NCURSES_BOOL is_linetouched( - WINDOW *win, - int line) - { return(*(NCURSES_BOOL *)0); } - -#undef is_wintouched -NCURSES_BOOL is_wintouched( - WINDOW *win) - { return(*(NCURSES_BOOL *)0); } - -#undef wtouchln -int wtouchln( - WINDOW *win, - int y, - int n, - int changed) - { return(*(int *)0); } - -/* ./trace/lib_traceatr.c */ - -#undef _traceattr2 -char *_traceattr2( - int bufnum, - attr_t newmode) - { return(*(char **)0); } - -#undef _traceattr -char *_traceattr( - attr_t newmode) - { return(*(char **)0); } - -#undef _nc_retrace_attr_t -attr_t _nc_retrace_attr_t( - attr_t code) - { return(*(attr_t *)0); } - -#undef _nc_altcharset_name -const char *_nc_altcharset_name( - attr_t attr, - chtype ch) - { return(*(const char **)0); } - -#undef _tracechtype2 -char *_tracechtype2( - int bufnum, - chtype ch) - { return(*(char **)0); } - -#undef _tracechtype -char *_tracechtype( - chtype ch) - { return(*(char **)0); } - -#undef _nc_retrace_chtype -chtype _nc_retrace_chtype( - chtype code) - { return(*(chtype *)0); } - -#undef _tracecchar_t2 -char *_tracecchar_t2( - int bufnum, - const cchar_t *ch) - { return(*(char **)0); } - -#undef _tracecchar_t -char *_tracecchar_t( - const cchar_t *ch) - { return(*(char **)0); } - -/* ./trace/lib_tracedmp.c */ - -#undef _tracedump -void _tracedump( - const char *name, - WINDOW *win) - { /* void */ } - -/* ./trace/lib_tracemse.c */ - -#undef _tracemouse -char *_tracemouse( - MEVENT const *ep) - { return(*(char **)0); } - -/* ./tty/lib_tstp.c */ - -#include - -#undef _nc_signal_handler -void _nc_signal_handler( - NCURSES_BOOL enable) - { /* void */ } - -/* ./base/lib_ungetch.c */ - -#undef _nc_fifo_dump -void _nc_fifo_dump(void) - { /* void */ } - -#undef ungetch -int ungetch( - int ch) - { return(*(int *)0); } - -/* ./tty/lib_vidattr.c */ - -#undef vidputs -int vidputs( - chtype newmode, - int (*outc)( - int p1)) - { return(*(int *)0); } - -#undef vidattr -int vidattr( - chtype newmode) - { return(*(int *)0); } - -#undef termattrs -chtype termattrs(void) - { return(*(chtype *)0); } - -/* ./base/lib_vline.c */ - -#undef wvline -int wvline( - WINDOW *win, - chtype ch, - int n) - { return(*(int *)0); } - -/* ./base/lib_wattroff.c */ - -#undef wattr_off -int wattr_off( - WINDOW *win, - attr_t at, - void *opts) - { return(*(int *)0); } - -/* ./base/lib_wattron.c */ - -#undef wattr_on -int wattr_on( - WINDOW *win, - attr_t at, - void *opts) - { return(*(int *)0); } - -/* ./base/lib_winch.c */ - -#undef winch -chtype winch( - WINDOW *win) - { return(*(chtype *)0); } - -/* ./base/lib_window.c */ - -#undef _nc_synchook -void _nc_synchook( - WINDOW *win) - { /* void */ } - -#undef mvderwin -int mvderwin( - WINDOW *win, - int y, - int x) - { return(*(int *)0); } - -#undef syncok -int syncok( - WINDOW *win, - NCURSES_BOOL bf) - { return(*(int *)0); } - -#undef wsyncup -void wsyncup( - WINDOW *win) - { /* void */ } - -#undef wsyncdown -void wsyncdown( - WINDOW *win) - { /* void */ } - -#undef wcursyncup -void wcursyncup( - WINDOW *win) - { /* void */ } - -#undef dupwin -WINDOW *dupwin( - WINDOW *win) - { return(*(WINDOW **)0); } - -/* ./base/nc_panel.c */ - -#undef _nc_panelhook -struct panelhook *_nc_panelhook(void) - { return(*(struct panelhook **)0); } - -/* ./base/safe_sprintf.c */ - -#undef _nc_printf_string -char *_nc_printf_string( - const char *fmt, - va_list ap) - { return(*(char **)0); } - -/* ./tty/tty_update.c */ - -#include -#include - -#undef doupdate -int doupdate(void) - { return(*(int *)0); } - -#undef _nc_scrolln -int _nc_scrolln( - int n, - int top, - int bot, - int maxy) - { return(*(int *)0); } - -#undef _nc_screen_resume -void _nc_screen_resume(void) - { /* void */ } - -#undef _nc_screen_init -void _nc_screen_init(void) - { /* void */ } - -#undef _nc_screen_wrap -void _nc_screen_wrap(void) - { /* void */ } - -#undef _nc_do_xmc_glitch -void _nc_do_xmc_glitch( - attr_t previous) - { /* void */ } - -/* ./trace/varargs.c */ - -typedef enum { - atUnknown = 0, atInteger, atFloat, atPoint, atString -} ARGTYPE; - -#undef _nc_varargs -char *_nc_varargs( - const char *fmt, - va_list ap) - { return(*(char **)0); } - -/* ./base/memmove.c */ - -#undef _nc_memmove -void _nc_memmove(void) - { /* void */ } - -/* ./base/vsscanf.c */ - -#undef _nc_vsscanf -void _nc_vsscanf(void) - { /* void */ } - -/* ./base/lib_freeall.c */ - -#include - -#undef _nc_freeall -void _nc_freeall(void) - { /* void */ } - -/* ./widechar/charable.c */ - -#undef _nc_is_charable -NCURSES_BOOL _nc_is_charable( - wchar_t ch) - { return(*(NCURSES_BOOL *)0); } - -#undef _nc_to_char -int _nc_to_char( - wint_t ch) - { return(*(int *)0); } - -#undef _nc_to_widechar -wint_t _nc_to_widechar( - int ch) - { return(*(wint_t *)0); } - -/* ./widechar/lib_add_wch.c */ - -#undef wadd_wch -int wadd_wch( - WINDOW *win, - const cchar_t *wch) - { return(*(int *)0); } - -#undef wecho_wchar -int wecho_wchar( - WINDOW *win, - const cchar_t *wch) - { return(*(int *)0); } - -/* ./widechar/lib_box_set.c */ - -#undef wborder_set -int wborder_set( - WINDOW *win, - const cchar_t *ls, - const cchar_t *rs, - const cchar_t *ts, - const cchar_t *bs, - const cchar_t *tl, - const cchar_t *tr, - const cchar_t *bl, - const cchar_t *br) - { return(*(int *)0); } - -/* ./widechar/lib_cchar.c */ - -#undef setcchar -int setcchar( - cchar_t *wcval, - const wchar_t *wch, - const attr_t attrs, - short color_pair, - const void *opts) - { return(*(int *)0); } - -#undef getcchar -int getcchar( - const cchar_t *wcval, - wchar_t *wch, - attr_t *attrs, - short *color_pair, - void *opts) - { return(*(int *)0); } - -/* ./widechar/lib_get_wch.c */ - -#undef wget_wch -int wget_wch( - WINDOW *win, - wint_t *result) - { return(*(int *)0); } - -/* ./widechar/lib_erasewchar.c */ - -#undef erasewchar -int erasewchar( - wchar_t *wch) - { return(*(int *)0); } - -#undef killwchar -int killwchar( - wchar_t *wch) - { return(*(int *)0); } - -/* ./widechar/lib_get_wstr.c */ - -#undef wgetn_wstr -int wgetn_wstr( - WINDOW *win, - wint_t *str, - int maxlen) - { return(*(int *)0); } - -/* ./widechar/lib_hline_set.c */ - -#undef whline_set -int whline_set( - WINDOW *win, - const cchar_t *ch, - int n) - { return(*(int *)0); } - -/* ./widechar/lib_in_wch.c */ - -#undef win_wch -int win_wch( - WINDOW *win, - cchar_t *wcval) - { return(*(int *)0); } - -/* ./widechar/lib_in_wchnstr.c */ - -#undef win_wchnstr -int win_wchnstr( - WINDOW *win, - cchar_t *wchstr, - int n) - { return(*(int *)0); } - -/* ./widechar/lib_ins_wch.c */ - -#undef wins_wch -int wins_wch( - WINDOW *win, - const cchar_t *wch) - { return(*(int *)0); } - -#undef wins_nwstr -int wins_nwstr( - WINDOW *win, - const wchar_t *wstr, - int n) - { return(*(int *)0); } - -/* ./widechar/lib_inwstr.c */ - -#undef winnwstr -int winnwstr( - WINDOW *win, - wchar_t *wstr, - int n) - { return(*(int *)0); } - -#undef winwstr -int winwstr( - WINDOW *win, - wchar_t *wstr) - { return(*(int *)0); } - -/* ./widechar/lib_pecho_wchar.c */ - -#undef pecho_wchar -int pecho_wchar( - WINDOW *pad, - const cchar_t *wch) - { return(*(int *)0); } - -/* ./widechar/lib_slk_wset.c */ - -#undef slk_wset -int slk_wset( - int i, - const wchar_t *astr, - int format) - { return(*(int *)0); } - -/* ./widechar/lib_unget_wch.c */ - -#undef _nc_wcrtomb -size_t _nc_wcrtomb( - char *target, - wchar_t source, - mbstate_t *state) - { return(*(size_t *)0); } - -#undef unget_wch -int unget_wch( - const wchar_t wch) - { return(*(int *)0); } - -/* ./widechar/lib_vid_attr.c */ - -#undef vid_puts -int vid_puts( - attr_t newmode, - short pair, - void *opts, - int (*outc)( - int p1)) - { return(*(int *)0); } - -#undef vid_attr -int vid_attr( - attr_t newmode, - short pair, - void *opts) - { return(*(int *)0); } - -#undef term_attrs -attr_t term_attrs(void) - { return(*(attr_t *)0); } - -/* ./widechar/lib_vline_set.c */ - -#undef wvline_set -int wvline_set( - WINDOW *win, - const cchar_t *ch, - int n) - { return(*(int *)0); } - -/* ./widechar/lib_wacs.c */ - -#undef _nc_wacs -cchar_t *_nc_wacs; - -#undef _nc_init_wacs -void _nc_init_wacs(void) - { /* void */ } - -/* ./widechar/lib_wunctrl.c */ - -#undef wunctrl -wchar_t *wunctrl( - cchar_t *wc) - { return(*(wchar_t **)0); } - -/* ./expanded.c */ - -#undef _nc_toggle_attr_on -void _nc_toggle_attr_on( - attr_t *S, - attr_t at) - { /* void */ } - -#undef _nc_toggle_attr_off -void _nc_toggle_attr_off( - attr_t *S, - attr_t at) - { /* void */ } - -#undef _nc_DelCharCost -int _nc_DelCharCost( - int count) - { return(*(int *)0); } - -#undef _nc_InsCharCost -int _nc_InsCharCost( - int count) - { return(*(int *)0); } - -#undef _nc_UpdateAttrs -void _nc_UpdateAttrs( - cchar_t c) - { /* void */ } - -/* ./base/lib_dft_fgbg.c */ - -#undef use_default_colors -int use_default_colors(void) - { return(*(int *)0); } - -#undef assume_default_colors -int assume_default_colors( - int fg, - int bg) - { return(*(int *)0); } - -/* ./tinfo/lib_print.c */ - -#undef mcprint -int mcprint( - char *data, - int len) - { return(*(int *)0); } - -/* ./base/resizeterm.c */ - -#undef is_term_resized -NCURSES_BOOL is_term_resized( - int ToLines, - int ToCols) - { return(*(NCURSES_BOOL *)0); } - -#undef resize_term -int resize_term( - int ToLines, - int ToCols) - { return(*(int *)0); } - -#undef resizeterm -int resizeterm( - int ToLines, - int ToCols) - { return(*(int *)0); } - -/* ./trace/trace_xnames.c */ - -#undef _nc_trace_xnames -void _nc_trace_xnames( - TERMTYPE *tp) - { /* void */ } - -/* ./base/wresize.c */ - -#undef wresize -int wresize( - WINDOW *win, - int ToLines, - int ToCols) - { return(*(int *)0); } - -/* ./tinfo/access.c */ - -#include - -#undef _nc_rootname -char *_nc_rootname( - char *path) - { return(*(char **)0); } - -#undef _nc_pathlast -unsigned _nc_pathlast( - const char *path) - { return(*(unsigned *)0); } - -#undef _nc_basename -char *_nc_basename( - char *path) - { return(*(char **)0); } - -#undef _nc_access -int _nc_access( - const char *path, - int mode) - { return(*(int *)0); } - -#undef _nc_env_access -int _nc_env_access(void) - { return(*(int *)0); } - -/* ./tinfo/add_tries.c */ - -#undef _nc_add_to_try -void _nc_add_to_try( - struct tries **tree, - const char *str, - unsigned short code) - { /* void */ } - -/* ./tinfo/alloc_entry.c */ - -#undef _nc_init_entry -void _nc_init_entry( - TERMTYPE *const tp) - { /* void */ } - -#undef _nc_copy_entry -ENTRY *_nc_copy_entry( - ENTRY *oldp) - { return(*(ENTRY **)0); } - -#undef _nc_save_str -char *_nc_save_str( - const char *const string) - { return(*(char **)0); } - -#undef _nc_wrap_entry -void _nc_wrap_entry( - ENTRY *const ep, - NCURSES_BOOL copy_strings) - { /* void */ } - -#undef _nc_merge_entry -void _nc_merge_entry( - TERMTYPE *const to, - TERMTYPE *const from) - { /* void */ } - -/* ./tinfo/alloc_ttype.c */ - -#undef _nc_align_termtype -void _nc_align_termtype( - TERMTYPE *to, - TERMTYPE *from) - { /* void */ } - -#undef _nc_copy_termtype -void _nc_copy_termtype( - TERMTYPE *dst, - TERMTYPE *src) - { /* void */ } - -/* ./tinfo/captoinfo.c */ - -#undef _nc_captoinfo -char *_nc_captoinfo( - const char *cap, - const char *s, - int const parameterized) - { return(*(char **)0); } - -#undef _nc_infotocap -char *_nc_infotocap( - const char *cap, - const char *str, - int const parameterized) - { return(*(char **)0); } - -/* ./codes.c */ - -#undef boolcodes -char *const boolcodes[] = {0}; -#undef numcodes -char *const numcodes[] = {0}; -#undef strcodes -char *const strcodes[] = {0}; - -/* ./comp_captab.c */ - -#include - -#undef _nc_info_hash_table -const struct name_table_entry *const _nc_info_hash_table[995] = {0}; -#undef _nc_cap_hash_table -const struct name_table_entry *const _nc_cap_hash_table[995] = {0}; -#undef _nc_capalias_table -const struct alias _nc_capalias_table[] = {0}; -#undef _nc_infoalias_table -const struct alias _nc_infoalias_table[] = {0}; - -#undef _nc_get_table -const struct name_table_entry *_nc_get_table( - NCURSES_BOOL termcap) - { return(*(const struct name_table_entry **)0); } - -#undef _nc_get_hash_table -const struct name_table_entry *const *_nc_get_hash_table( - NCURSES_BOOL termcap) - { return(*(const struct name_table_entry **)0); } - -/* ./tinfo/comp_error.c */ - -#undef _nc_suppress_warnings -NCURSES_BOOL _nc_suppress_warnings; -#undef _nc_curr_line -int _nc_curr_line; -#undef _nc_curr_col -int _nc_curr_col; - -#undef _nc_set_source -void _nc_set_source( - const char *const name) - { /* void */ } - -#undef _nc_set_type -void _nc_set_type( - const char *const name) - { /* void */ } - -#undef _nc_get_type -void _nc_get_type( - char *name) - { /* void */ } - -#undef _nc_warning -void _nc_warning( - const char *const fmt, - ...) - { /* void */ } - -#undef _nc_err_abort -void _nc_err_abort( - const char *const fmt, - ...) - { /* void */ } - -#undef _nc_syserr_abort -void _nc_syserr_abort( - const char *const fmt, - ...) - { /* void */ } - -/* ./tinfo/comp_expand.c */ - -#undef _nc_tic_expand -char *_nc_tic_expand( - const char *srcp, - NCURSES_BOOL tic_format, - int numbers) - { return(*(char **)0); } - -/* ./tinfo/comp_hash.c */ - -#include - -#undef _nc_find_entry -struct name_table_entry const *_nc_find_entry( - const char *string, - const struct name_table_entry *const *hash_table) - { return(*(struct name_table_entry const **)0); } - -#undef _nc_find_type_entry -struct name_table_entry const *_nc_find_type_entry( - const char *string, - int type, - const struct name_table_entry *table) - { return(*(struct name_table_entry const **)0); } - -/* ./tinfo/comp_parse.c */ - -#undef _nc_check_termtype2 -void (*_nc_check_termtype2)( - TERMTYPE *p1, - NCURSES_BOOL p2); -#undef _nc_check_termtype -void (*_nc_check_termtype)( - TERMTYPE *p1); -#undef _nc_head -ENTRY *_nc_head; -#undef _nc_tail -ENTRY *_nc_tail; - -#undef _nc_free_entries -void _nc_free_entries( - ENTRY *headp) - { /* void */ } - -#undef _nc_delink_entry -ENTRY *_nc_delink_entry( - ENTRY *headp, - TERMTYPE *tterm) - { return(*(ENTRY **)0); } - -#undef _nc_free_entry -void _nc_free_entry( - ENTRY *headp, - TERMTYPE *tterm) - { /* void */ } - -#undef _nc_entry_match -NCURSES_BOOL _nc_entry_match( - char *n1, - char *n2) - { return(*(NCURSES_BOOL *)0); } - -#undef _nc_read_entry_source -void _nc_read_entry_source( - FILE *fp, - char *buf, - int literal, - NCURSES_BOOL silent, - NCURSES_BOOL (*hook)( - ENTRY *p1)) - { /* void */ } - -#undef _nc_resolve_uses2 -int _nc_resolve_uses2( - NCURSES_BOOL fullresolve, - NCURSES_BOOL literal) - { return(*(int *)0); } - -#undef _nc_resolve_uses -int _nc_resolve_uses( - NCURSES_BOOL fullresolve) - { return(*(int *)0); } - -/* ./tinfo/comp_scan.c */ - -#undef _nc_syntax -int _nc_syntax; -#undef _nc_curr_file_pos -long _nc_curr_file_pos; -#undef _nc_comment_start -long _nc_comment_start; -#undef _nc_comment_end -long _nc_comment_end; -#undef _nc_start_line -long _nc_start_line; -#undef _nc_curr_token -struct token _nc_curr_token; -#undef _nc_disable_period -NCURSES_BOOL _nc_disable_period; - -#undef _nc_reset_input -void _nc_reset_input( - FILE *fp, - char *buf) - { /* void */ } - -#undef _nc_get_token -int _nc_get_token( - NCURSES_BOOL silent) - { return(*(int *)0); } - -#undef _nc_trans_string -int _nc_trans_string( - char *ptr, - char *last) - { return(*(int *)0); } - -#undef _nc_push_token -void _nc_push_token( - int tokclass) - { /* void */ } - -#undef _nc_panic_mode -void _nc_panic_mode( - char ch) - { /* void */ } - -/* ./tinfo/doalloc.c */ - -#undef _nc_doalloc -void *_nc_doalloc( - void *oldp, - size_t amount) - { return(*(void **)0); } - -/* ./fallback.c */ - -#undef _nc_fallback -const TERMTYPE *_nc_fallback( - const char *name) - { return(*(const TERMTYPE **)0); } - -/* ./tinfo/free_ttype.c */ - -#undef _nc_free_termtype -void _nc_free_termtype( - TERMTYPE *ptr) - { /* void */ } - -#undef _nc_user_definable -NCURSES_BOOL _nc_user_definable; - -#undef use_extended_names -int use_extended_names( - NCURSES_BOOL flag) - { return(*(int *)0); } - -/* ./tinfo/getenv_num.c */ - -#undef _nc_getenv_num -int _nc_getenv_num( - const char *name) - { return(*(int *)0); } - -/* ./tinfo/home_terminfo.c */ - -#undef _nc_home_terminfo -char *_nc_home_terminfo(void) - { return(*(char **)0); } - -/* ./tinfo/init_keytry.c */ - -#if 0 - -#include - -#undef _nc_tinfo_fkeys -struct tinfo_fkeys _nc_tinfo_fkeys[]; - -#endif - -#undef _nc_init_keytry -void _nc_init_keytry(void) - { /* void */ } - -/* ./tinfo/lib_acs.c */ - -#undef acs_map -chtype acs_map[128]; - -#undef _nc_init_acs -void _nc_init_acs(void) - { /* void */ } - -/* ./tinfo/lib_baudrate.c */ - -#include - -struct speed { - int s; - int sp; -}; - -#undef _nc_baudrate -int _nc_baudrate( - int OSpeed) - { return(*(int *)0); } - -#undef _nc_ospeed -int _nc_ospeed( - int BaudRate) - { return(*(int *)0); } - -#undef baudrate -int baudrate(void) - { return(*(int *)0); } - -/* ./tinfo/lib_cur_term.c */ - -#undef cur_term -TERMINAL *cur_term; - -#undef set_curterm -TERMINAL *set_curterm( - TERMINAL *termp) - { return(*(TERMINAL **)0); } - -#undef del_curterm -int del_curterm( - TERMINAL *termp) - { return(*(int *)0); } - -/* ./tinfo/lib_data.c */ - -#undef stdscr -WINDOW *stdscr; -#undef curscr -WINDOW *curscr; -#undef newscr -WINDOW *newscr; -#undef _nc_screen_chain -SCREEN *_nc_screen_chain; -#undef SP -SCREEN *SP; - -/* ./tinfo/lib_has_cap.c */ - -#undef has_ic -NCURSES_BOOL has_ic(void) - { return(*(NCURSES_BOOL *)0); } - -#undef has_il -NCURSES_BOOL has_il(void) - { return(*(NCURSES_BOOL *)0); } - -/* ./tinfo/lib_kernel.c */ - -#undef erasechar -char erasechar(void) - { return(*(char *)0); } - -#undef killchar -char killchar(void) - { return(*(char *)0); } - -#undef flushinp -int flushinp(void) - { return(*(int *)0); } - -/* ./lib_keyname.c */ - -#undef _nc_key_names -const struct kn _nc_key_names[] = {0}; - -#undef keyname -char *keyname( - int c) - { return(*(char **)0); } - -#undef key_name -char *key_name( - wchar_t c) - { return(*(char **)0); } - -/* ./tinfo/lib_longname.c */ - -#undef longname -char *longname(void) - { return(*(char **)0); } - -/* ./tinfo/lib_napms.c */ - -#include - -#undef napms -int napms( - int ms) - { return(*(int *)0); } - -/* ./tinfo/lib_options.c */ - -#undef idlok -int idlok( - WINDOW *win, - NCURSES_BOOL flag) - { return(*(int *)0); } - -#undef idcok -void idcok( - WINDOW *win, - NCURSES_BOOL flag) - { /* void */ } - -#undef halfdelay -int halfdelay( - int t) - { return(*(int *)0); } - -#undef nodelay -int nodelay( - WINDOW *win, - NCURSES_BOOL flag) - { return(*(int *)0); } - -#undef notimeout -int notimeout( - WINDOW *win, - NCURSES_BOOL f) - { return(*(int *)0); } - -#undef wtimeout -void wtimeout( - WINDOW *win, - int delay) - { /* void */ } - -#undef keypad -int keypad( - WINDOW *win, - NCURSES_BOOL flag) - { return(*(int *)0); } - -#undef meta -int meta( - WINDOW *win, - NCURSES_BOOL flag) - { return(*(int *)0); } - -#undef curs_set -int curs_set( - int vis) - { return(*(int *)0); } - -#undef typeahead -int typeahead( - int fd) - { return(*(int *)0); } - -#undef has_key -int has_key( - int keycode) - { return(*(int *)0); } - -#undef _nc_keypad -int _nc_keypad( - NCURSES_BOOL flag) - { return(*(int *)0); } - -/* ./tinfo/lib_raw.c */ - -#undef raw -int raw(void) - { return(*(int *)0); } - -#undef cbreak -int cbreak(void) - { return(*(int *)0); } - -#undef qiflush -void qiflush(void) - { /* void */ } - -#undef noraw -int noraw(void) - { return(*(int *)0); } - -#undef nocbreak -int nocbreak(void) - { return(*(int *)0); } - -#undef noqiflush -void noqiflush(void) - { /* void */ } - -#undef intrflush -int intrflush( - WINDOW *win, - NCURSES_BOOL flag) - { return(*(int *)0); } - -/* ./tinfo/lib_setup.c */ - -#include -#include -#include - -#undef ttytype -char ttytype[256]; -#undef LINES -int LINES; -#undef COLS -int COLS; -#undef TABSIZE -int TABSIZE; - -#undef use_env -void use_env( - NCURSES_BOOL f) - { /* void */ } - -#undef _nc_update_screensize -void _nc_update_screensize(void) - { /* void */ } - -#undef _nc_get_locale -char *_nc_get_locale(void) - { return(*(char **)0); } - -#undef _nc_unicode_locale -int _nc_unicode_locale(void) - { return(*(int *)0); } - -#undef _nc_locale_breaks_acs -int _nc_locale_breaks_acs(void) - { return(*(int *)0); } - -#undef _nc_setupterm -int _nc_setupterm( - char *tname, - int Filedes, - int *errret, - NCURSES_BOOL reuse) - { return(*(int *)0); } - -#undef setupterm -int setupterm( - char *tname, - int Filedes, - int *errret) - { return(*(int *)0); } - -/* ./tinfo/lib_termcap.c */ - -#undef UP -char *UP; -#undef BC -char *BC; - -#undef tgetent -int tgetent( - char *bufp, - const char *name) - { return(*(int *)0); } - -#if 0 - -#include - -#endif - -#undef tgetflag -int tgetflag( - char *id) - { return(*(int *)0); } - -#undef tgetnum -int tgetnum( - char *id) - { return(*(int *)0); } - -#undef tgetstr -char *tgetstr( - char *id, - char **area) - { return(*(char **)0); } - -/* ./tinfo/lib_termname.c */ - -#undef termname -char *termname(void) - { return(*(char **)0); } - -/* ./tinfo/lib_tgoto.c */ - -#undef tgoto -char *tgoto( - const char *string, - int x, - int y) - { return(*(char **)0); } - -/* ./tinfo/lib_ti.c */ - -#undef tigetflag -int tigetflag( - char *str) - { return(*(int *)0); } - -#undef tigetnum -int tigetnum( - char *str) - { return(*(int *)0); } - -#undef tigetstr -char *tigetstr( - char *str) - { return(*(char **)0); } - -/* ./tinfo/lib_tparm.c */ - -typedef struct { - union { - int num; - char *str; - } data; - NCURSES_BOOL num_type; -} stack_frame; - -#undef _nc_tparm_err -int _nc_tparm_err; - -#undef _nc_tparm_analyze -int _nc_tparm_analyze( - const char *string, - char *p_is_s[9], - int *popcount) - { return(*(int *)0); } - -#undef tparm -char *tparm( - char *string, - ...) - { return(*(char **)0); } - -/* ./tinfo/lib_tputs.c */ - -#undef PC -char PC; -#undef ospeed -NCURSES_OSPEED ospeed; -#undef _nc_nulls_sent -int _nc_nulls_sent; - -#undef delay_output -int delay_output( - int ms) - { return(*(int *)0); } - -#undef _nc_flush -void _nc_flush(void) - { /* void */ } - -#undef _nc_outch -int _nc_outch( - int ch) - { return(*(int *)0); } - -#undef putp -int putp( - const char *string) - { return(*(int *)0); } - -#undef tputs -int tputs( - const char *string, - int affcnt, - int (*outc)( - int p1)) - { return(*(int *)0); } - -/* ./trace/lib_trace.c */ - -#undef _nc_tracing -unsigned _nc_tracing; -#undef _nc_tputs_trace -const char *_nc_tputs_trace = {0}; -#undef _nc_outchars -long _nc_outchars; - -#undef trace -void trace( - const unsigned int tracelevel) - { /* void */ } - -#undef _tracef -void _tracef( - const char *fmt, - ...) - { /* void */ } - -#undef _nc_retrace_bool -NCURSES_BOOL _nc_retrace_bool( - NCURSES_BOOL code) - { return(*(NCURSES_BOOL *)0); } - -#undef _nc_retrace_int -int _nc_retrace_int( - int code) - { return(*(int *)0); } - -#undef _nc_retrace_unsigned -unsigned _nc_retrace_unsigned( - unsigned code) - { return(*(unsigned *)0); } - -#undef _nc_retrace_ptr -char *_nc_retrace_ptr( - char *code) - { return(*(char **)0); } - -#undef _nc_retrace_cptr -const char *_nc_retrace_cptr( - const char *code) - { return(*(const char **)0); } - -#undef _nc_retrace_cvoid_ptr -void *_nc_retrace_cvoid_ptr( - void *code) - { return(*(void **)0); } - -#undef _nc_retrace_void_ptr -void *_nc_retrace_void_ptr( - void *code) - { return(*(void **)0); } - -#undef _nc_retrace_sp -SCREEN *_nc_retrace_sp( - SCREEN *code) - { return(*(SCREEN **)0); } - -#undef _nc_retrace_win -WINDOW *_nc_retrace_win( - WINDOW *code) - { return(*(WINDOW **)0); } - -/* ./trace/lib_tracebits.c */ - -typedef struct { - unsigned int val; - const char *name; -} BITNAMES; - -#undef _nc_trace_ttymode -char *_nc_trace_ttymode( - struct termios *tty) - { return(*(char **)0); } - -#undef _nc_tracebits -char *_nc_tracebits(void) - { return(*(char **)0); } - -/* ./trace/lib_tracechr.c */ - -#undef _tracechar -char *_tracechar( - int ch) - { return(*(char **)0); } - -/* ./tinfo/lib_ttyflags.c */ - -#undef _nc_get_tty_mode -int _nc_get_tty_mode( - struct termios *buf) - { return(*(int *)0); } - -#undef _nc_set_tty_mode -int _nc_set_tty_mode( - struct termios *buf) - { return(*(int *)0); } - -#undef def_shell_mode -int def_shell_mode(void) - { return(*(int *)0); } - -#undef def_prog_mode -int def_prog_mode(void) - { return(*(int *)0); } - -#undef reset_prog_mode -int reset_prog_mode(void) - { return(*(int *)0); } - -#undef reset_shell_mode -int reset_shell_mode(void) - { return(*(int *)0); } - -#undef savetty -int savetty(void) - { return(*(int *)0); } - -#undef resetty -int resetty(void) - { return(*(int *)0); } - -/* ./tty/lib_twait.c */ - -#undef _nc_timed_wait -int _nc_timed_wait( - int mode, - int milliseconds, - int *timeleft) - { return(*(int *)0); } - -/* ./tinfo/name_match.c */ - -#undef _nc_first_name -char *_nc_first_name( - const char *const sp) - { return(*(char **)0); } - -#undef _nc_name_match -int _nc_name_match( - const char *const namelst, - const char *const name, - const char *const delim) - { return(*(int *)0); } - -/* ./names.c */ - -#undef boolnames -char *const boolnames[] = {0}; -#undef boolfnames -char *const boolfnames[] = {0}; -#undef numnames -char *const numnames[] = {0}; -#undef numfnames -char *const numfnames[] = {0}; -#undef strnames -char *const strnames[] = {0}; -#undef strfnames -char *const strfnames[] = {0}; - -/* ./tinfo/parse_entry.c */ - -#undef _nc_parse_entry -int _nc_parse_entry( - struct entry *entryp, - int literal, - NCURSES_BOOL silent) - { return(*(int *)0); } - -#undef _nc_capcmp -int _nc_capcmp( - const char *s, - const char *t) - { return(*(int *)0); } - -typedef struct { - const char *from; - const char *to; -} assoc; - -/* ./tinfo/read_entry.c */ - -#undef _nc_tic_dir -const char *_nc_tic_dir( - const char *path) - { return(*(const char **)0); } - -#undef _nc_keep_tic_dir -void _nc_keep_tic_dir( - const char *path) - { /* void */ } - -#undef _nc_read_file_entry -int _nc_read_file_entry( - const char *const filename, - TERMTYPE *ptr) - { return(*(int *)0); } - -#undef _nc_read_entry -int _nc_read_entry( - const char *const tn, - char *const filename, - TERMTYPE *const tp) - { return(*(int *)0); } - -/* ./tinfo/read_termcap.c */ - -#include -#include - -#undef _nc_read_termcap_entry -int _nc_read_termcap_entry( - const char *const tn, - TERMTYPE *const tp) - { return(*(int *)0); } - -/* ./tinfo/setbuf.c */ - -#undef _nc_set_buffer -void _nc_set_buffer( - FILE *ofp, - NCURSES_BOOL buffered) - { /* void */ } - -/* ./tinfo/strings.c */ - -#undef _nc_str_init -string_desc *_nc_str_init( - string_desc *dst, - char *src, - size_t len) - { return(*(string_desc **)0); } - -#undef _nc_str_null -string_desc *_nc_str_null( - string_desc *dst, - size_t len) - { return(*(string_desc **)0); } - -#undef _nc_str_copy -string_desc *_nc_str_copy( - string_desc *dst, - string_desc *src) - { return(*(string_desc **)0); } - -#undef _nc_safe_strcat -NCURSES_BOOL _nc_safe_strcat( - string_desc *dst, - const char *src) - { return(*(NCURSES_BOOL *)0); } - -#undef _nc_safe_strcpy -NCURSES_BOOL _nc_safe_strcpy( - string_desc *dst, - const char *src) - { return(*(NCURSES_BOOL *)0); } - -/* ./trace/trace_buf.c */ - -typedef struct { - char *text; - size_t size; -} LIST; - -#undef _nc_trace_buf -char *_nc_trace_buf( - int bufnum, - size_t want) - { return(*(char **)0); } - -#undef _nc_trace_bufcat -char *_nc_trace_bufcat( - int bufnum, - const char *value) - { return(*(char **)0); } - -/* ./trace/trace_tries.c */ - -#undef _nc_trace_tries -void _nc_trace_tries( - struct tries *tree) - { /* void */ } - -/* ./base/tries.c */ - -#undef _nc_expand_try -char *_nc_expand_try( - struct tries *tree, - unsigned short code, - int *count, - size_t len) - { return(*(char **)0); } - -#undef _nc_remove_key -int _nc_remove_key( - struct tries **tree, - unsigned short code) - { return(*(int *)0); } - -#undef _nc_remove_string -int _nc_remove_string( - struct tries **tree, - const char *string) - { return(*(int *)0); } - -/* ./tinfo/trim_sgr0.c */ - -#undef _nc_trim_sgr0 -char *_nc_trim_sgr0( - TERMTYPE *tp) - { return(*(char **)0); } - -/* ./unctrl.c */ - -#undef unctrl -char *unctrl( - chtype ch) - { return(*(char **)0); } - -/* ./trace/visbuf.c */ - -#undef _nc_visbuf2 -const char *_nc_visbuf2( - int bufnum, - const char *buf) - { return(*(const char **)0); } - -#undef _nc_visbuf -const char *_nc_visbuf( - const char *buf) - { return(*(const char **)0); } - -#undef _nc_visbufn -const char *_nc_visbufn( - const char *buf, - int len) - { return(*(const char **)0); } - -#undef _nc_viswbuf2 -const char *_nc_viswbuf2( - int bufnum, - const wchar_t *buf) - { return(*(const char **)0); } - -#undef _nc_viswbuf -const char *_nc_viswbuf( - const wchar_t *buf) - { return(*(const char **)0); } - -#undef _nc_viswbufn -const char *_nc_viswbufn( - const wchar_t *buf, - int len) - { return(*(const char **)0); } - -#undef _nc_viswibuf -const char *_nc_viswibuf( - const wint_t *buf) - { return(*(const char **)0); } - -#undef _nc_viscbuf2 -const char *_nc_viscbuf2( - int bufnum, - const cchar_t *buf, - int len) - { return(*(const char **)0); } - -#undef _nc_viscbuf -const char *_nc_viscbuf( - const cchar_t *buf, - int len) - { return(*(const char **)0); } - -/* ./tinfo/write_entry.c */ - -#undef _nc_set_writedir -void _nc_set_writedir( - char *dir) - { /* void */ } - -#undef _nc_write_entry -void _nc_write_entry( - TERMTYPE *const tp) - { /* void */ } - -#undef _nc_tic_written -int _nc_tic_written(void) - { return(*(int *)0); } - -/* ./base/define_key.c */ - -#undef define_key -int define_key( - const char *str, - int keycode) - { return(*(int *)0); } - -/* ./base/key_defined.c */ - -#undef key_defined -int key_defined( - const char *str) - { return(*(int *)0); } - -/* ./base/keybound.c */ - -#undef keybound -char *keybound( - int code, - int count) - { return(*(char **)0); } - -/* ./base/keyok.c */ - -#undef keyok -int keyok( - int c, - NCURSES_BOOL flag) - { return(*(int *)0); } - -/* ./base/version.c */ - -#undef curses_version -const char *curses_version(void) - { return(*(const char **)0); } diff --git a/src/libs/ncurses/ncurses/modules b/src/libs/ncurses/ncurses/modules deleted file mode 100644 index c300274e02..0000000000 --- a/src/libs/ncurses/ncurses/modules +++ /dev/null @@ -1,220 +0,0 @@ -# $Id: modules,v 1.104 2005/08/20 20:02:44 tom Exp $ -############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996-1998, etc. -# - -@ base -# Library objects -hardscroll lib $(serial) -hashmap lib $(serial) ../include/term.h -lib_addch lib $(base) -lib_addstr lib $(base) -lib_beep lib $(base) ../include/term.h -lib_bkgd lib $(base) -lib_box lib $(base) -lib_chgat lib $(base) -lib_clear lib $(base) -lib_clearok lib $(base) -lib_clrbot lib $(base) -lib_clreol lib $(base) -lib_color lib $(base) ../include/term.h -lib_colorset lib $(base) -lib_delch lib $(base) -lib_delwin lib $(base) -lib_echo lib $(base) -lib_endwin lib $(base) ../include/term.h -lib_erase lib $(base) -lib_flash lib $(base) ../include/term.h -lib_gen lib . ../include/curses.h -lib_getch lib $(base) -lib_getstr lib $(base) ../include/term.h -lib_hline lib $(base) -lib_immedok lib $(base) -lib_inchstr lib $(base) -lib_initscr lib $(base) $(INCDIR)/tic.h -lib_insch lib $(base) -lib_insdel lib $(base) -lib_insnstr lib $(base) -lib_instr lib $(base) -lib_isendwin lib $(base) -lib_leaveok lib $(base) -lib_mouse lib $(base) ../include/term.h -lib_move lib $(base) -lib_mvcur lib $(serial) ../include/term.h $(INCDIR)/tic.h -lib_mvwin lib $(base) -lib_newterm lib $(base) ../include/term.h -lib_newwin lib $(base) -lib_nl lib $(base) -lib_overlay lib $(base) -lib_pad lib $(base) -lib_printw lib $(base) -lib_redrawln lib $(base) -lib_refresh lib $(base) -lib_restart lib $(base) ../include/term.h -lib_scanw lib $(base) -lib_screen lib $(base) ../include/term.h -lib_scroll lib $(base) -lib_scrollok lib $(base) -lib_scrreg lib $(base) -lib_set_term lib $(base) ../include/term.h -lib_slk lib $(base) ../include/term.h -lib_slkatr_set lib $(base) -lib_slkatrof lib $(base) -lib_slkatron lib $(base) -lib_slkatrset lib $(base) -lib_slkattr lib $(base) -lib_slkclear lib $(base) -lib_slkcolor lib $(base) -lib_slkinit lib $(base) -lib_slklab lib $(base) -lib_slkrefr lib $(base) ../include/term.h -lib_slkset lib $(base) -lib_slktouch lib $(base) -lib_touch lib $(base) -lib_tracedmp lib $(trace) -lib_tracemse lib $(trace) -lib_tstp lib $(serial) $(srcdir)/SigAction.h -lib_ungetch lib $(base) -lib_vidattr lib $(serial) ../include/term.h -lib_vline lib $(base) -lib_wattroff lib $(base) -lib_wattron lib $(base) -lib_winch lib $(base) -lib_window lib $(base) -link_test lib . ../include/curses.h -nc_panel lib $(base) -safe_sprintf lib $(base) -tty_update lib $(serial) ../include/term.h -varargs lib $(trace) - -# Modules for porting -memmove lib $(base) -vsscanf lib $(base) - -# actually an extension, but with its own configure option (--disable-leaks) -lib_freeall lib $(base) - -# XSI extensions to the base library (wide-character) -@ widechar -charable lib $(wide) -lib_add_wch lib $(wide) -lib_box_set lib $(wide) -lib_cchar lib $(wide) -lib_get_wch lib $(wide) -lib_erasewchar lib $(wide) -lib_get_wstr lib $(wide) -lib_hline_set lib $(wide) -lib_in_wch lib $(wide) -lib_in_wchnstr lib $(wide) -lib_ins_wch lib $(wide) -lib_inwstr lib $(wide) -lib_pecho_wchar lib $(wide) -lib_slk_wset lib $(wide) -lib_unget_wch lib $(wide) -lib_vid_attr lib $(wide) ../include/term.h -lib_vline_set lib $(wide) -lib_wacs lib $(wide) -lib_wunctrl lib $(wide) - -# Extensions to the base library -@ ext_funcs -expanded lib . -lib_dft_fgbg lib $(base) ../include/term.h -lib_print lib $(tinfo) ../include/term.h -resizeterm lib $(base) ../include/term.h -trace_xnames lib $(trace) ../include/term.h $(INCDIR)/term_entry.h -wresize lib $(base) ../include/term.h - -# Support for termcap (and tic, etc.), which can be a separate library -@ termlib -access lib $(tinfo) -add_tries lib $(tinfo) -alloc_entry lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h -alloc_ttype lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h -captoinfo lib $(tinfo) $(INCDIR)/tic.h -codes lib . -comp_captab lib . $(INCDIR)/tic.h ../include/term.h ../include/hashsize.h -comp_error lib $(tinfo) $(INCDIR)/tic.h -comp_expand lib $(tinfo) $(INCDIR)/tic.h -comp_hash lib $(tinfo) ../include/term.h $(INCDIR)/tic.h ../include/hashsize.h -comp_parse lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h -comp_scan lib $(tinfo) $(INCDIR)/tic.h -doalloc lib $(tinfo) -fallback lib . ../include/term.h $(INCDIR)/tic.h -free_ttype lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h -getenv_num lib $(tinfo) -home_terminfo lib $(tinfo) -init_keytry lib $(tinfo) ../include/term.h $(INCDIR)/tic.h init_keytry.h -lib_acs lib $(tinfo) ../include/term.h -lib_baudrate lib $(tinfo) ../include/term.h -lib_cur_term lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h -lib_data lib $(tinfo) -lib_has_cap lib $(tinfo) ../include/term.h -lib_kernel lib $(tinfo) ../include/term.h -lib_keyname lib . ../include/term.h -lib_longname lib $(tinfo) -lib_napms lib $(tinfo) -lib_options lib $(tinfo) ../include/term.h -lib_raw lib $(tinfo) ../include/term.h -lib_setup lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h -lib_termcap lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h $(INCDIR)/capdefaults.c -lib_termname lib $(tinfo) $(INCDIR)/tic.h -lib_tgoto lib $(tinfo) ../include/term.h $(INCDIR)/tic.h -lib_ti lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h -lib_tparm lib $(tinfo) ../include/term.h $(INCDIR)/tic.h -lib_tputs lib $(tinfo) ../include/term.h $(INCDIR)/tic.h -lib_trace lib $(trace) $(INCDIR)/tic.h -lib_traceatr lib $(trace) ../include/term.h -lib_tracebits lib $(trace) ../include/term.h -lib_tracechr lib $(trace) -lib_ttyflags lib $(tinfo) ../include/term.h -lib_twait lib $(serial) -name_match lib $(tinfo) ../include/term.h $(INCDIR)/tic.h -names lib . -parse_entry lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h ../include/parametrized.h $(INCDIR)/capdefaults.c -read_entry lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h -read_termcap lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h -setbuf lib $(tinfo) -strings lib $(tinfo) -trace_buf lib $(trace) -trace_tries lib $(trace) -tries lib $(base) -trim_sgr0 lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h -unctrl lib . -visbuf lib $(trace) $(INCDIR)/tic.h -write_entry lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h - -# Extensions to the termlib library -@ ext_tinfo -define_key lib $(base) -key_defined lib $(base) -keybound lib $(base) -keyok lib $(base) -version lib $(base) diff --git a/src/libs/ncurses/ncurses/names.c b/src/libs/ncurses/ncurses/names.c deleted file mode 100644 index 822db4684e..0000000000 --- a/src/libs/ncurses/ncurses/names.c +++ /dev/null @@ -1,1045 +0,0 @@ -/* This file was generated by MKnames.awk */ - -#include - -#define IT NCURSES_CONST char * const - -#if BROKEN_LINKER -#include -#define DCL(it) static IT data##it[] -#else -#define DCL(it) NCURSES_EXPORT_VAR(IT) it[] -#endif - -/* - * names.c - Arrays of capability names and codes - * - */ - -DCL(boolnames) = { - "bw", - "am", - "xsb", - "xhp", - "xenl", - "eo", - "gn", - "hc", - "km", - "hs", - "in", - "da", - "db", - "mir", - "msgr", - "os", - "eslok", - "xt", - "hz", - "ul", - "xon", - "nxon", - "mc5i", - "chts", - "nrrmc", - "npc", - "ndscr", - "ccc", - "bce", - "hls", - "xhpa", - "crxm", - "daisy", - "xvpa", - "sam", - "cpix", - "lpix", - "OTbs", - "OTns", - "OTnc", - "OTMT", - "OTNL", - "OTpt", - "OTxr", - (NCURSES_CONST char *)0, -}; - -DCL(boolfnames) = { - "auto_left_margin", - "auto_right_margin", - "no_esc_ctlc", - "ceol_standout_glitch", - "eat_newline_glitch", - "erase_overstrike", - "generic_type", - "hard_copy", - "has_meta_key", - "has_status_line", - "insert_null_glitch", - "memory_above", - "memory_below", - "move_insert_mode", - "move_standout_mode", - "over_strike", - "status_line_esc_ok", - "dest_tabs_magic_smso", - "tilde_glitch", - "transparent_underline", - "xon_xoff", - "needs_xon_xoff", - "prtr_silent", - "hard_cursor", - "non_rev_rmcup", - "no_pad_char", - "non_dest_scroll_region", - "can_change", - "back_color_erase", - "hue_lightness_saturation", - "col_addr_glitch", - "cr_cancels_micro_mode", - "has_print_wheel", - "row_addr_glitch", - "semi_auto_right_margin", - "cpi_changes_res", - "lpi_changes_res", - "backspaces_with_bs", - "crt_no_scrolling", - "no_correctly_working_cr", - "gnu_has_meta_key", - "linefeed_is_newline", - "has_hardware_tabs", - "return_does_clr_eol", - (NCURSES_CONST char *)0, -}; - -DCL(numnames) = { - "cols", - "it", - "lines", - "lm", - "xmc", - "pb", - "vt", - "wsl", - "nlab", - "lh", - "lw", - "ma", - "wnum", - "colors", - "pairs", - "ncv", - "bufsz", - "spinv", - "spinh", - "maddr", - "mjump", - "mcs", - "mls", - "npins", - "orc", - "orl", - "orhi", - "orvi", - "cps", - "widcs", - "btns", - "bitwin", - "bitype", - "OTug", - "OTdC", - "OTdN", - "OTdB", - "OTdT", - "OTkn", - (NCURSES_CONST char *)0, -}; - -DCL(numfnames) = { - "columns", - "init_tabs", - "lines", - "lines_of_memory", - "magic_cookie_glitch", - "padding_baud_rate", - "virtual_terminal", - "width_status_line", - "num_labels", - "label_height", - "label_width", - "max_attributes", - "maximum_windows", - "max_colors", - "max_pairs", - "no_color_video", - "buffer_capacity", - "dot_vert_spacing", - "dot_horz_spacing", - "max_micro_address", - "max_micro_jump", - "micro_col_size", - "micro_line_size", - "number_of_pins", - "output_res_char", - "output_res_line", - "output_res_horz_inch", - "output_res_vert_inch", - "print_rate", - "wide_char_size", - "buttons", - "bit_image_entwining", - "bit_image_type", - "magic_cookie_glitch_ul", - "carriage_return_delay", - "new_line_delay", - "backspace_delay", - "horizontal_tab_delay", - "number_of_function_keys", - (NCURSES_CONST char *)0, -}; - -DCL(strnames) = { - "cbt", - "bel", - "cr", - "csr", - "tbc", - "clear", - "el", - "ed", - "hpa", - "cmdch", - "cup", - "cud1", - "home", - "civis", - "cub1", - "mrcup", - "cnorm", - "cuf1", - "ll", - "cuu1", - "cvvis", - "dch1", - "dl1", - "dsl", - "hd", - "smacs", - "blink", - "bold", - "smcup", - "smdc", - "dim", - "smir", - "invis", - "prot", - "rev", - "smso", - "smul", - "ech", - "rmacs", - "sgr0", - "rmcup", - "rmdc", - "rmir", - "rmso", - "rmul", - "flash", - "ff", - "fsl", - "is1", - "is2", - "is3", - "if", - "ich1", - "il1", - "ip", - "kbs", - "ktbc", - "kclr", - "kctab", - "kdch1", - "kdl1", - "kcud1", - "krmir", - "kel", - "ked", - "kf0", - "kf1", - "kf10", - "kf2", - "kf3", - "kf4", - "kf5", - "kf6", - "kf7", - "kf8", - "kf9", - "khome", - "kich1", - "kil1", - "kcub1", - "kll", - "knp", - "kpp", - "kcuf1", - "kind", - "kri", - "khts", - "kcuu1", - "rmkx", - "smkx", - "lf0", - "lf1", - "lf10", - "lf2", - "lf3", - "lf4", - "lf5", - "lf6", - "lf7", - "lf8", - "lf9", - "rmm", - "smm", - "nel", - "pad", - "dch", - "dl", - "cud", - "ich", - "indn", - "il", - "cub", - "cuf", - "rin", - "cuu", - "pfkey", - "pfloc", - "pfx", - "mc0", - "mc4", - "mc5", - "rep", - "rs1", - "rs2", - "rs3", - "rf", - "rc", - "vpa", - "sc", - "ind", - "ri", - "sgr", - "hts", - "wind", - "ht", - "tsl", - "uc", - "hu", - "iprog", - "ka1", - "ka3", - "kb2", - "kc1", - "kc3", - "mc5p", - "rmp", - "acsc", - "pln", - "kcbt", - "smxon", - "rmxon", - "smam", - "rmam", - "xonc", - "xoffc", - "enacs", - "smln", - "rmln", - "kbeg", - "kcan", - "kclo", - "kcmd", - "kcpy", - "kcrt", - "kend", - "kent", - "kext", - "kfnd", - "khlp", - "kmrk", - "kmsg", - "kmov", - "knxt", - "kopn", - "kopt", - "kprv", - "kprt", - "krdo", - "kref", - "krfr", - "krpl", - "krst", - "kres", - "ksav", - "kspd", - "kund", - "kBEG", - "kCAN", - "kCMD", - "kCPY", - "kCRT", - "kDC", - "kDL", - "kslt", - "kEND", - "kEOL", - "kEXT", - "kFND", - "kHLP", - "kHOM", - "kIC", - "kLFT", - "kMSG", - "kMOV", - "kNXT", - "kOPT", - "kPRV", - "kPRT", - "kRDO", - "kRPL", - "kRIT", - "kRES", - "kSAV", - "kSPD", - "kUND", - "rfi", - "kf11", - "kf12", - "kf13", - "kf14", - "kf15", - "kf16", - "kf17", - "kf18", - "kf19", - "kf20", - "kf21", - "kf22", - "kf23", - "kf24", - "kf25", - "kf26", - "kf27", - "kf28", - "kf29", - "kf30", - "kf31", - "kf32", - "kf33", - "kf34", - "kf35", - "kf36", - "kf37", - "kf38", - "kf39", - "kf40", - "kf41", - "kf42", - "kf43", - "kf44", - "kf45", - "kf46", - "kf47", - "kf48", - "kf49", - "kf50", - "kf51", - "kf52", - "kf53", - "kf54", - "kf55", - "kf56", - "kf57", - "kf58", - "kf59", - "kf60", - "kf61", - "kf62", - "kf63", - "el1", - "mgc", - "smgl", - "smgr", - "fln", - "sclk", - "dclk", - "rmclk", - "cwin", - "wingo", - "hup", - "dial", - "qdial", - "tone", - "pulse", - "hook", - "pause", - "wait", - "u0", - "u1", - "u2", - "u3", - "u4", - "u5", - "u6", - "u7", - "u8", - "u9", - "op", - "oc", - "initc", - "initp", - "scp", - "setf", - "setb", - "cpi", - "lpi", - "chr", - "cvr", - "defc", - "swidm", - "sdrfq", - "sitm", - "slm", - "smicm", - "snlq", - "snrmq", - "sshm", - "ssubm", - "ssupm", - "sum", - "rwidm", - "ritm", - "rlm", - "rmicm", - "rshm", - "rsubm", - "rsupm", - "rum", - "mhpa", - "mcud1", - "mcub1", - "mcuf1", - "mvpa", - "mcuu1", - "porder", - "mcud", - "mcub", - "mcuf", - "mcuu", - "scs", - "smgb", - "smgbp", - "smglp", - "smgrp", - "smgt", - "smgtp", - "sbim", - "scsd", - "rbim", - "rcsd", - "subcs", - "supcs", - "docr", - "zerom", - "csnm", - "kmous", - "minfo", - "reqmp", - "getm", - "setaf", - "setab", - "pfxl", - "devt", - "csin", - "s0ds", - "s1ds", - "s2ds", - "s3ds", - "smglr", - "smgtb", - "birep", - "binel", - "bicr", - "colornm", - "defbi", - "endbi", - "setcolor", - "slines", - "dispc", - "smpch", - "rmpch", - "smsc", - "rmsc", - "pctrm", - "scesc", - "scesa", - "ehhlm", - "elhlm", - "elohlm", - "erhlm", - "ethlm", - "evhlm", - "sgr1", - "slength", - "OTi2", - "OTrs", - "OTnl", - "OTbc", - "OTko", - "OTma", - "OTG2", - "OTG3", - "OTG1", - "OTG4", - "OTGR", - "OTGL", - "OTGU", - "OTGD", - "OTGH", - "OTGV", - "OTGC", - "meml", - "memu", - "box1", - (NCURSES_CONST char *)0, -}; - -DCL(strfnames) = { - "back_tab", - "bell", - "carriage_return", - "change_scroll_region", - "clear_all_tabs", - "clear_screen", - "clr_eol", - "clr_eos", - "column_address", - "command_character", - "cursor_address", - "cursor_down", - "cursor_home", - "cursor_invisible", - "cursor_left", - "cursor_mem_address", - "cursor_normal", - "cursor_right", - "cursor_to_ll", - "cursor_up", - "cursor_visible", - "delete_character", - "delete_line", - "dis_status_line", - "down_half_line", - "enter_alt_charset_mode", - "enter_blink_mode", - "enter_bold_mode", - "enter_ca_mode", - "enter_delete_mode", - "enter_dim_mode", - "enter_insert_mode", - "enter_secure_mode", - "enter_protected_mode", - "enter_reverse_mode", - "enter_standout_mode", - "enter_underline_mode", - "erase_chars", - "exit_alt_charset_mode", - "exit_attribute_mode", - "exit_ca_mode", - "exit_delete_mode", - "exit_insert_mode", - "exit_standout_mode", - "exit_underline_mode", - "flash_screen", - "form_feed", - "from_status_line", - "init_1string", - "init_2string", - "init_3string", - "init_file", - "insert_character", - "insert_line", - "insert_padding", - "key_backspace", - "key_catab", - "key_clear", - "key_ctab", - "key_dc", - "key_dl", - "key_down", - "key_eic", - "key_eol", - "key_eos", - "key_f0", - "key_f1", - "key_f10", - "key_f2", - "key_f3", - "key_f4", - "key_f5", - "key_f6", - "key_f7", - "key_f8", - "key_f9", - "key_home", - "key_ic", - "key_il", - "key_left", - "key_ll", - "key_npage", - "key_ppage", - "key_right", - "key_sf", - "key_sr", - "key_stab", - "key_up", - "keypad_local", - "keypad_xmit", - "lab_f0", - "lab_f1", - "lab_f10", - "lab_f2", - "lab_f3", - "lab_f4", - "lab_f5", - "lab_f6", - "lab_f7", - "lab_f8", - "lab_f9", - "meta_off", - "meta_on", - "newline", - "pad_char", - "parm_dch", - "parm_delete_line", - "parm_down_cursor", - "parm_ich", - "parm_index", - "parm_insert_line", - "parm_left_cursor", - "parm_right_cursor", - "parm_rindex", - "parm_up_cursor", - "pkey_key", - "pkey_local", - "pkey_xmit", - "print_screen", - "prtr_off", - "prtr_on", - "repeat_char", - "reset_1string", - "reset_2string", - "reset_3string", - "reset_file", - "restore_cursor", - "row_address", - "save_cursor", - "scroll_forward", - "scroll_reverse", - "set_attributes", - "set_tab", - "set_window", - "tab", - "to_status_line", - "underline_char", - "up_half_line", - "init_prog", - "key_a1", - "key_a3", - "key_b2", - "key_c1", - "key_c3", - "prtr_non", - "char_padding", - "acs_chars", - "plab_norm", - "key_btab", - "enter_xon_mode", - "exit_xon_mode", - "enter_am_mode", - "exit_am_mode", - "xon_character", - "xoff_character", - "ena_acs", - "label_on", - "label_off", - "key_beg", - "key_cancel", - "key_close", - "key_command", - "key_copy", - "key_create", - "key_end", - "key_enter", - "key_exit", - "key_find", - "key_help", - "key_mark", - "key_message", - "key_move", - "key_next", - "key_open", - "key_options", - "key_previous", - "key_print", - "key_redo", - "key_reference", - "key_refresh", - "key_replace", - "key_restart", - "key_resume", - "key_save", - "key_suspend", - "key_undo", - "key_sbeg", - "key_scancel", - "key_scommand", - "key_scopy", - "key_screate", - "key_sdc", - "key_sdl", - "key_select", - "key_send", - "key_seol", - "key_sexit", - "key_sfind", - "key_shelp", - "key_shome", - "key_sic", - "key_sleft", - "key_smessage", - "key_smove", - "key_snext", - "key_soptions", - "key_sprevious", - "key_sprint", - "key_sredo", - "key_sreplace", - "key_sright", - "key_srsume", - "key_ssave", - "key_ssuspend", - "key_sundo", - "req_for_input", - "key_f11", - "key_f12", - "key_f13", - "key_f14", - "key_f15", - "key_f16", - "key_f17", - "key_f18", - "key_f19", - "key_f20", - "key_f21", - "key_f22", - "key_f23", - "key_f24", - "key_f25", - "key_f26", - "key_f27", - "key_f28", - "key_f29", - "key_f30", - "key_f31", - "key_f32", - "key_f33", - "key_f34", - "key_f35", - "key_f36", - "key_f37", - "key_f38", - "key_f39", - "key_f40", - "key_f41", - "key_f42", - "key_f43", - "key_f44", - "key_f45", - "key_f46", - "key_f47", - "key_f48", - "key_f49", - "key_f50", - "key_f51", - "key_f52", - "key_f53", - "key_f54", - "key_f55", - "key_f56", - "key_f57", - "key_f58", - "key_f59", - "key_f60", - "key_f61", - "key_f62", - "key_f63", - "clr_bol", - "clear_margins", - "set_left_margin", - "set_right_margin", - "label_format", - "set_clock", - "display_clock", - "remove_clock", - "create_window", - "goto_window", - "hangup", - "dial_phone", - "quick_dial", - "tone", - "pulse", - "flash_hook", - "fixed_pause", - "wait_tone", - "user0", - "user1", - "user2", - "user3", - "user4", - "user5", - "user6", - "user7", - "user8", - "user9", - "orig_pair", - "orig_colors", - "initialize_color", - "initialize_pair", - "set_color_pair", - "set_foreground", - "set_background", - "change_char_pitch", - "change_line_pitch", - "change_res_horz", - "change_res_vert", - "define_char", - "enter_doublewide_mode", - "enter_draft_quality", - "enter_italics_mode", - "enter_leftward_mode", - "enter_micro_mode", - "enter_near_letter_quality", - "enter_normal_quality", - "enter_shadow_mode", - "enter_subscript_mode", - "enter_superscript_mode", - "enter_upward_mode", - "exit_doublewide_mode", - "exit_italics_mode", - "exit_leftward_mode", - "exit_micro_mode", - "exit_shadow_mode", - "exit_subscript_mode", - "exit_superscript_mode", - "exit_upward_mode", - "micro_column_address", - "micro_down", - "micro_left", - "micro_right", - "micro_row_address", - "micro_up", - "order_of_pins", - "parm_down_micro", - "parm_left_micro", - "parm_right_micro", - "parm_up_micro", - "select_char_set", - "set_bottom_margin", - "set_bottom_margin_parm", - "set_left_margin_parm", - "set_right_margin_parm", - "set_top_margin", - "set_top_margin_parm", - "start_bit_image", - "start_char_set_def", - "stop_bit_image", - "stop_char_set_def", - "subscript_characters", - "superscript_characters", - "these_cause_cr", - "zero_motion", - "char_set_names", - "key_mouse", - "mouse_info", - "req_mouse_pos", - "get_mouse", - "set_a_foreground", - "set_a_background", - "pkey_plab", - "device_type", - "code_set_init", - "set0_des_seq", - "set1_des_seq", - "set2_des_seq", - "set3_des_seq", - "set_lr_margin", - "set_tb_margin", - "bit_image_repeat", - "bit_image_newline", - "bit_image_carriage_return", - "color_names", - "define_bit_image_region", - "end_bit_image_region", - "set_color_band", - "set_page_length", - "display_pc_char", - "enter_pc_charset_mode", - "exit_pc_charset_mode", - "enter_scancode_mode", - "exit_scancode_mode", - "pc_term_options", - "scancode_escape", - "alt_scancode_esc", - "enter_horizontal_hl_mode", - "enter_left_hl_mode", - "enter_low_hl_mode", - "enter_right_hl_mode", - "enter_top_hl_mode", - "enter_vertical_hl_mode", - "set_a_attributes", - "set_pglen_inch", - "termcap_init2", - "termcap_reset", - "linefeed_if_not_lf", - "backspace_if_not_bs", - "other_non_function_keys", - "arrow_key_map", - "acs_ulcorner", - "acs_llcorner", - "acs_urcorner", - "acs_lrcorner", - "acs_ltee", - "acs_rtee", - "acs_btee", - "acs_ttee", - "acs_hline", - "acs_vline", - "acs_plus", - "memory_lock", - "memory_unlock", - "box_chars_1", - (NCURSES_CONST char *)0, -}; - -#if BROKEN_LINKER -#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API _nc_##it(void) { return data##it; } -FIX(boolnames) -FIX(boolfnames) -FIX(numnames) -FIX(numfnames) -FIX(strnames) -FIX(strfnames) -#endif /* BROKEN_LINKER */ diff --git a/src/libs/ncurses/ncurses/tinfo/MKcaptab.awk b/src/libs/ncurses/ncurses/tinfo/MKcaptab.awk deleted file mode 100644 index ff9601ba62..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/MKcaptab.awk +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/sh -# $Id: MKcaptab.awk,v 1.12 2000/12/10 00:14:12 tom Exp $ -AWK=${1-awk} -DATA=${2-../include/Caps} - -cat <<'EOF' -/* - * comp_captab.c -- The names of the capabilities indexed via a hash - * table for the compiler. - * - */ - -#include -#include -#include -#include - -EOF - -./make_hash 1 info <$DATA -./make_hash 3 cap <$DATA - -cat <<'EOF' -const struct alias _nc_capalias_table[] = -{ -EOF - -$AWK <$DATA ' -$1 == "capalias" { - if ($3 == "IGNORE") - to = "(char *)NULL"; - else - to = "\"" $3 "\""; - printf "\t{\"%s\", %s, \"%s\"},\t /* %s */\n", - $2, to, $4, $5 - } -' - -cat <<'EOF' - {(char *)NULL, (char *)NULL, (char *)NULL} -}; - -const struct alias _nc_infoalias_table[] = -{ -EOF - -$AWK <$DATA ' -$1 == "infoalias" { - if ($3 == "IGNORE") - to = "(char *)NULL"; - else - to = "\"" $3 "\""; - printf "\t{\"%s\", %s, \"%s\"},\t /* %s */\n", - $2, to, $4, $5 - } -' - -cat <<'EOF' - {(char *)NULL, (char *)NULL, (char *)NULL} -}; - -NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool termcap) -{ - return termcap ? _nc_cap_table: _nc_info_table ; -} - -NCURSES_EXPORT(const struct name_table_entry * const *) _nc_get_hash_table (bool termcap) -{ - return termcap ? _nc_cap_hash_table: _nc_info_hash_table ; -} -EOF diff --git a/src/libs/ncurses/ncurses/tinfo/MKfallback.sh b/src/libs/ncurses/ncurses/tinfo/MKfallback.sh deleted file mode 100755 index d1abcd2eed..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/MKfallback.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/bin/sh -# $Id: MKfallback.sh,v 1.11 2001/12/02 01:55:30 tom Exp $ -# -# MKfallback.sh -- create fallback table for entry reads -# -# This script generates source code for a custom version of read_entry.c -# that (instead of reading capabilities for an argument terminal type -# from an on-disk terminfo tree) tries to match the type with one of a -# specified list of types generated in. -# - -terminfo_dir=$1 -shift - -terminfo_src=$1 -shift - -if test $# != 0 ; then - tmp_info=tmp_info - echo creating temporary terminfo directory... >&2 - - TERMINFO=`pwd`/$tmp_info - export TERMINFO - - TERMINFO_DIRS=$TERMINFO:$terminfo_dir - export TERMINFO_DIRS - - tic $terminfo_src >&2 -else - tmp_info= -fi - -cat < -#include - -EOF - -if [ "$*" ] -then - cat < - -/* fallback entries for: $* */ -EOF - for x in $* - do - echo "/* $x */" - infocmp -E $x - done - - cat <term_names, name, "|")) - return(tp); -EOF -else - echo " /* the fallback list is empty */"; -fi - -cat <&2 - rm -rf $tmp_info -fi diff --git a/src/libs/ncurses/ncurses/tinfo/MKkeys_list.sh b/src/libs/ncurses/ncurses/tinfo/MKkeys_list.sh deleted file mode 100755 index 14017b0168..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/MKkeys_list.sh +++ /dev/null @@ -1,62 +0,0 @@ -#! /bin/sh -# $Id: MKkeys_list.sh,v 1.4 2003/10/25 16:19:54 tom Exp $ -############################################################################## -# Copyright (c) 2001,2003 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# MKkey_defs.sh -- generate list of function-keys for terminfo database -# -# Author: Thomas E. Dickey 2001 -# -# Extract function-key names from the Caps file -# -: ${AWK-awk} -DATA=${1-../../include/Caps} - -data=data$$ -trap 'rm -f $data' 0 1 2 5 15 -sed -e 's/[ ][ ]*/ /g' < $DATA >$data - -cat < "namehdr" - print "" > "namehdr" - print "#include " > "namehdr" - print "" > "namehdr" - print "#define IT NCURSES_CONST char * const" > "namehdr" - print "" > "namehdr" - print "#if BROKEN_LINKER" > "namehdr" - print "#include " > "namehdr" - print "#define DCL(it) static IT data##it[]" > "namehdr" - print "#else" > "namehdr" - print "#define DCL(it) NCURSES_EXPORT_VAR(IT) it[]" > "namehdr" - print "#endif" > "namehdr" - print "" > "namehdr" - print "/*" > "boolnames" - print " * names.c - Arrays of capability names and codes" > "boolnames" - print " *" > "boolnames" - print " */" > "boolnames" - print "" > "boolnames" - print "DCL(boolnames) = {" > "boolnames" - print "DCL(boolfnames) = {" > "boolfnames" - print "DCL(boolcodes) = {" > "boolcodes" - print "DCL(numnames) = {" > "numnames" - print "DCL(numfnames) = {" > "numfnames" - print "DCL(numcodes) = {" > "numcodes" - print "DCL(strnames) = {" > "strnames" - print "DCL(strfnames) = {" > "strfnames" - print "DCL(strcodes) = {" > "strcodes" - } - -$1 ~ /^#/ {next;} - -$1 == "SKIPWARN" {next;} - -$3 == "bool" { - printf "\t\t\"%s\",\n", $2 > "boolnames" - printf "\t\t\"%s\",\n", $1 > "boolfnames" - printf "\t\t\"%s\",\n", $4 > "boolcodes" - } - -$3 == "num" { - printf "\t\t\"%s\",\n", $2 > "numnames" - printf "\t\t\"%s\",\n", $1 > "numfnames" - printf "\t\t\"%s\",\n", $4 > "numcodes" - } - -$3 == "str" { - printf "\t\t\"%s\",\n", $2 > "strnames" - printf "\t\t\"%s\",\n", $1 > "strfnames" - printf "\t\t\"%s\",\n", $4 > "strcodes" - } - -END { - print "\t\t(NCURSES_CONST char *)0," > "boolnames" - print "};" > "boolnames" - print "" > "boolnames" - print "\t\t(NCURSES_CONST char *)0," > "boolfnames" - print "};" > "boolfnames" - print "" > "boolfnames" - print "\t\t(NCURSES_CONST char *)0," > "boolcodes" - print "};" > "boolcodes" - print "" > "boolcodes" - print "\t\t(NCURSES_CONST char *)0," > "numnames" - print "};" > "numnames" - print "" > "numnames" - print "\t\t(NCURSES_CONST char *)0," > "numfnames" - print "};" > "numfnames" - print "" > "numfnames" - print "\t\t(NCURSES_CONST char *)0," > "numcodes" - print "};" > "numcodes" - print "" > "numcodes" - print "\t\t(NCURSES_CONST char *)0," > "strnames" - print "};" > "strnames" - print "" > "strnames" - print "\t\t(NCURSES_CONST char *)0," > "strfnames" - print "};" > "strfnames" - print "" > "strfnames" - print "\t\t(NCURSES_CONST char *)0," > "strcodes" - print "};" > "strcodes" - print "" > "strcodes" - print "#if BROKEN_LINKER" > "nameftr" - print "#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API _nc_##it(void) { return data##it; }" > "nameftr" - print "FIX(boolnames)" > "nameftr" - print "FIX(boolfnames)" > "nameftr" - print "FIX(numnames)" > "nameftr" - print "FIX(numfnames)" > "nameftr" - print "FIX(strnames)" > "nameftr" - print "FIX(strfnames)" > "nameftr" - print "#endif /* BROKEN_LINKER */" > "nameftr" - print "" > "codeftr" - print "#if BROKEN_LINKER" > "codeftr" - print "#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API _nc_##it(void) { return data##it; }" > "codeftr" - print "FIX(boolcodes)" > "codeftr" - print "FIX(numcodes)" > "codeftr" - print "FIX(strcodes)" > "codeftr" - print "#endif /* BROKEN_LINKER */" > "codeftr" - } diff --git a/src/libs/ncurses/ncurses/tinfo/README b/src/libs/ncurses/ncurses/tinfo/README deleted file mode 100644 index 8b092c1ba4..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/README +++ /dev/null @@ -1,8 +0,0 @@ --- $Id: README,v 1.1 1998/11/07 22:59:07 tom Exp $ - -The files in this directory (tinfo) are those that support the terminfo -database and interfaces for ncurses. The terminfo library can be built -separately, as a lower-level library for ncurses, but usually is bundled. - -In addition to the standard documented interfaces, ncurses uses internal -functions which reside in tinfo to satisfy linkage requirements. diff --git a/src/libs/ncurses/ncurses/tinfo/access.c b/src/libs/ncurses/ncurses/tinfo/access.c deleted file mode 100644 index 44c7e1b2f5..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/access.c +++ /dev/null @@ -1,132 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2001,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1998,2000,2001 * - ****************************************************************************/ - -#include -#include -#include - -MODULE_ID("$Id: access.c,v 1.10 2003/07/05 19:31:28 tom Exp $") - -#define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c)) - -NCURSES_EXPORT(char *) -_nc_rootname(char *path) -{ - char *result = _nc_basename(path); -#if !defined(MIXEDCASE_FILENAMES) || defined(PROG_EXT) - static char *temp; - char *s; - - temp = strdup(result); - result = temp; -#if !defined(MIXEDCASE_FILENAMES) - int n; - for (s = result; *s != '\0'; ++s) { - *s = LOWERCASE(*s); - } -#endif -#if defined(PROG_EXT) - if ((s = strrchr(result, '.')) != 0) { - if (!strcmp(s, PROG_EXT)) - *s = '\0'; - } -#endif -#endif - return result; -} - -/* - * Return index of the basename - */ -NCURSES_EXPORT(unsigned) -_nc_pathlast(const char *path) -{ - const char *test = strrchr(path, '/'); -#ifdef __EMX__ - if (test == 0) - test = strrchr(path, '\\'); -#endif - if (test == 0) - test = path; - else - test++; - return (test - path); -} - -NCURSES_EXPORT(char *) -_nc_basename(char *path) -{ - return path + _nc_pathlast(path); -} - -NCURSES_EXPORT(int) -_nc_access(const char *path, int mode) -{ - if (access(path, mode) < 0) { - if ((mode & W_OK) != 0 - && errno == ENOENT - && strlen(path) < PATH_MAX) { - char head[PATH_MAX]; - char *leaf = _nc_basename(strcpy(head, path)); - - if (leaf == 0) - leaf = head; - *leaf = '\0'; - if (head == leaf) - (void) strcpy(head, "."); - - return access(head, R_OK | W_OK | X_OK); - } - return -1; - } - return 0; -} - -#ifndef USE_ROOT_ENVIRON -/* - * Returns true if we allow application to use environment variables that are - * used for searching lists of directories, etc. - */ -NCURSES_EXPORT(int) -_nc_env_access(void) -{ -#if HAVE_ISSETUGID - if (issetugid()) - return FALSE; -#elif HAVE_GETEUID && HAVE_GETEGID - if (getuid() != geteuid() - || getgid() != getegid()) - return FALSE; -#endif - return getuid() != 0 && geteuid() != 0; /* ...finally, disallow root */ -} -#endif diff --git a/src/libs/ncurses/ncurses/tinfo/add_tries.c b/src/libs/ncurses/ncurses/tinfo/add_tries.c deleted file mode 100644 index f83249ccf0..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/add_tries.c +++ /dev/null @@ -1,125 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1998 * - ****************************************************************************/ - -/* -** add_tries.c -** -** Add keycode/string to tries-tree. -** -*/ - -#include - -MODULE_ID("$Id: add_tries.c,v 1.4 2000/12/10 02:55:07 tom Exp $") - -#define SET_TRY(dst,src) if ((dst->ch = *src++) == 128) dst->ch = '\0' -#define CMP_TRY(a,b) ((a)? (a == b) : (b == 128)) - -NCURSES_EXPORT(void) -_nc_add_to_try(struct tries **tree, const char *str, unsigned short code) -{ - static bool out_of_memory = FALSE; - struct tries *ptr, *savedptr; - unsigned const char *txt = (unsigned const char *) str; - - if (txt == 0 || *txt == '\0' || out_of_memory || code == 0) - return; - - if ((*tree) != 0) { - ptr = savedptr = (*tree); - - for (;;) { - unsigned char cmp = *txt; - - while (!CMP_TRY(ptr->ch, cmp) - && ptr->sibling != 0) - ptr = ptr->sibling; - - if (CMP_TRY(ptr->ch, cmp)) { - if (*(++txt) == '\0') { - ptr->value = code; - return; - } - if (ptr->child != 0) - ptr = ptr->child; - else - break; - } else { - if ((ptr->sibling = typeCalloc(struct tries, 1)) == 0) { - out_of_memory = TRUE; - return; - } - - savedptr = ptr = ptr->sibling; - SET_TRY(ptr, txt); - ptr->value = 0; - - break; - } - } /* end for (;;) */ - } else { /* (*tree) == 0 :: First sequence to be added */ - savedptr = ptr = (*tree) = typeCalloc(struct tries, 1); - - if (ptr == 0) { - out_of_memory = TRUE; - return; - } - - SET_TRY(ptr, txt); - ptr->value = 0; - } - - /* at this point, we are adding to the try. ptr->child == 0 */ - - while (*txt) { - ptr->child = typeCalloc(struct tries, 1); - - ptr = ptr->child; - - if (ptr == 0) { - out_of_memory = TRUE; - - while ((ptr = savedptr) != 0) { - savedptr = ptr->child; - free(ptr); - } - - return; - } - - SET_TRY(ptr, txt); - ptr->value = 0; - } - - ptr->value = code; - return; -} diff --git a/src/libs/ncurses/ncurses/tinfo/alloc_entry.c b/src/libs/ncurses/ncurses/tinfo/alloc_entry.c deleted file mode 100644 index 3af5f5d83e..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/alloc_entry.c +++ /dev/null @@ -1,287 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * alloc_entry.c -- allocation functions for terminfo entries - * - * _nc_copy_entry() - * _nc_init_entry() - * _nc_merge_entry() - * _nc_save_str() - * _nc_wrap_entry() - * - */ - -#include - -#include -#include - -MODULE_ID("$Id: alloc_entry.c,v 1.45 2005/06/04 22:07:53 tom Exp $") - -#define ABSENT_OFFSET -1 -#define CANCELLED_OFFSET -2 - -#define MAX_STRTAB 4096 /* documented maximum entry size */ - -static char *stringbuf; /* buffer for string capabilities */ -static size_t next_free; /* next free character in stringbuf */ - -NCURSES_EXPORT(void) -_nc_init_entry(TERMTYPE *const tp) -/* initialize a terminal type data block */ -{ - unsigned i; - -#if NO_LEAKS - if (tp == 0 && stringbuf != 0) { - FreeAndNull(stringbuf); - return; - } -#endif - - if (stringbuf == 0) - stringbuf = (char *) malloc(MAX_STRTAB); - -#if NCURSES_XNAMES - tp->num_Booleans = BOOLCOUNT; - tp->num_Numbers = NUMCOUNT; - tp->num_Strings = STRCOUNT; - tp->ext_Booleans = 0; - tp->ext_Numbers = 0; - tp->ext_Strings = 0; -#endif - if (tp->Booleans == 0) - tp->Booleans = typeMalloc(char, BOOLCOUNT); - if (tp->Numbers == 0) - tp->Numbers = typeMalloc(short, NUMCOUNT); - if (tp->Strings == 0) - tp->Strings = typeMalloc(char *, STRCOUNT); - - for_each_boolean(i, tp) - tp->Booleans[i] = FALSE; - - for_each_number(i, tp) - tp->Numbers[i] = ABSENT_NUMERIC; - - for_each_string(i, tp) - tp->Strings[i] = ABSENT_STRING; - - next_free = 0; -} - -NCURSES_EXPORT(ENTRY *) -_nc_copy_entry(ENTRY * oldp) -{ - ENTRY *newp = typeCalloc(ENTRY, 1); - - if (newp != 0) { - *newp = *oldp; - _nc_copy_termtype(&(newp->tterm), &(oldp->tterm)); - } - return newp; -} - -/* save a copy of string in the string buffer */ -NCURSES_EXPORT(char *) -_nc_save_str(const char *const string) -{ - char *result = 0; - size_t old_next_free = next_free; - size_t len = strlen(string) + 1; - - if (len == 1 && next_free != 0) { - /* - * Cheat a little by making an empty string point to the end of the - * previous string. - */ - if (next_free < MAX_STRTAB) { - result = (stringbuf + next_free - 1); - } - } else if (next_free + len < MAX_STRTAB) { - strcpy(&stringbuf[next_free], string); - DEBUG(7, ("Saved string %s", _nc_visbuf(string))); - DEBUG(7, ("at location %d", (int) next_free)); - next_free += len; - result = (stringbuf + old_next_free); - } else { - _nc_warning("Too much data, some is lost"); - } - return result; -} - -NCURSES_EXPORT(void) -_nc_wrap_entry(ENTRY * const ep, bool copy_strings) -/* copy the string parts to allocated storage, preserving pointers to it */ -{ - int offsets[MAX_ENTRY_SIZE / 2], useoffsets[MAX_USES]; - unsigned i, n; - unsigned nuses = ep->nuses; - TERMTYPE *tp = &(ep->tterm); - - if (copy_strings) { - next_free = 0; /* clear static storage */ - - /* copy term_names, Strings, uses */ - tp->term_names = _nc_save_str(tp->term_names); - for_each_string(i, tp) { - if (tp->Strings[i] != ABSENT_STRING && - tp->Strings[i] != CANCELLED_STRING) { - tp->Strings[i] = _nc_save_str(tp->Strings[i]); - } - } - - for (i = 0; i < nuses; i++) { - if (ep->uses[i].name == 0) { - ep->uses[i].name = _nc_save_str(ep->uses[i].name); - } - } - - free(tp->str_table); - } - - n = tp->term_names - stringbuf; - for_each_string(i, &(ep->tterm)) { - if (tp->Strings[i] == ABSENT_STRING) - offsets[i] = ABSENT_OFFSET; - else if (tp->Strings[i] == CANCELLED_STRING) - offsets[i] = CANCELLED_OFFSET; - else - offsets[i] = tp->Strings[i] - stringbuf; - } - - for (i = 0; i < nuses; i++) { - if (ep->uses[i].name == 0) - useoffsets[i] = ABSENT_OFFSET; - else - useoffsets[i] = ep->uses[i].name - stringbuf; - } - - if ((tp->str_table = typeMalloc(char, next_free)) == (char *) 0) - _nc_err_abort(MSG_NO_MEMORY); - (void) memcpy(tp->str_table, stringbuf, next_free); - - tp->term_names = tp->str_table + n; - for_each_string(i, &(ep->tterm)) { - if (offsets[i] == ABSENT_OFFSET) - tp->Strings[i] = ABSENT_STRING; - else if (offsets[i] == CANCELLED_OFFSET) - tp->Strings[i] = CANCELLED_STRING; - else - tp->Strings[i] = tp->str_table + offsets[i]; - } - -#if NCURSES_XNAMES - if (!copy_strings) { - if ((n = NUM_EXT_NAMES(tp)) != 0) { - unsigned length = 0; - for (i = 0; i < n; i++) { - length += strlen(tp->ext_Names[i]) + 1; - offsets[i] = tp->ext_Names[i] - stringbuf; - } - if ((tp->ext_str_table = typeMalloc(char, length)) == 0) - _nc_err_abort(MSG_NO_MEMORY); - for (i = 0, length = 0; i < n; i++) { - tp->ext_Names[i] = tp->ext_str_table + length; - strcpy(tp->ext_Names[i], stringbuf + offsets[i]); - length += strlen(tp->ext_Names[i]) + 1; - } - } - } -#endif - - for (i = 0; i < nuses; i++) { - if (useoffsets[i] == ABSENT_OFFSET) - ep->uses[i].name = 0; - else - ep->uses[i].name = (tp->str_table + useoffsets[i]); - } -} - -NCURSES_EXPORT(void) -_nc_merge_entry(TERMTYPE *const to, TERMTYPE *const from) -/* merge capabilities from `from' entry into `to' entry */ -{ - unsigned i; - -#if NCURSES_XNAMES - _nc_align_termtype(to, from); -#endif - for_each_boolean(i, from) { - if (to->Booleans[i] != (char) CANCELLED_BOOLEAN) { - int mergebool = from->Booleans[i]; - - if (mergebool == CANCELLED_BOOLEAN) - to->Booleans[i] = FALSE; - else if (mergebool == TRUE) - to->Booleans[i] = mergebool; - } - } - - for_each_number(i, from) { - if (to->Numbers[i] != CANCELLED_NUMERIC) { - int mergenum = from->Numbers[i]; - - if (mergenum == CANCELLED_NUMERIC) - to->Numbers[i] = ABSENT_NUMERIC; - else if (mergenum != ABSENT_NUMERIC) - to->Numbers[i] = mergenum; - } - } - - /* - * Note: the copies of strings this makes don't have their own - * storage. This is OK right now, but will be a problem if we - * we ever want to deallocate entries. - */ - for_each_string(i, from) { - if (to->Strings[i] != CANCELLED_STRING) { - char *mergestring = from->Strings[i]; - - if (mergestring == CANCELLED_STRING) - to->Strings[i] = ABSENT_STRING; - else if (mergestring != ABSENT_STRING) - to->Strings[i] = mergestring; - } - } -} - -#if NO_LEAKS -NCURSES_EXPORT(void) -_nc_alloc_entry_leaks(void) -{ - FreeAndNull(stringbuf); - next_free = 0; -} -#endif diff --git a/src/libs/ncurses/ncurses/tinfo/alloc_ttype.c b/src/libs/ncurses/ncurses/tinfo/alloc_ttype.c deleted file mode 100644 index 36747186e1..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/alloc_ttype.c +++ /dev/null @@ -1,491 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1999-2002,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1999 * - ****************************************************************************/ - -/* - * align_ttype.c -- functions for TERMTYPE - * - * _nc_align_termtype() - * _nc_copy_termtype() - * - */ - -#include - -#include -#include - -MODULE_ID("$Id: alloc_ttype.c,v 1.14 2003/05/24 21:10:28 tom Exp $") - -#if NCURSES_XNAMES -/* - * Merge the a/b lists into dst. Both a/b are sorted (see _nc_extend_names()), - * so we do not have to worry about order dependencies. - */ -static int -merge_names(char **dst, char **a, int na, char **b, int nb) -{ - int n = 0; - while (na > 0 && nb > 0) { - int cmp = strcmp(*a, *b); - if (cmp < 0) { - dst[n++] = *a++; - na--; - } else if (cmp > 0) { - dst[n++] = *b++; - nb--; - } else if (cmp == 0) { - dst[n++] = *a; - a++, b++; - na--, nb--; - } - } - while (na-- > 0) { - dst[n++] = *a++; - } - while (nb-- > 0) { - dst[n++] = *b++; - } - DEBUG(4, ("merge_names -> %d", n)); - return n; -} - -static bool -find_name(char **table, int length, char *name) -{ - while (length-- > 0) { - if (!strcmp(*table++, name)) { - DEBUG(4, ("found name '%s'", name)); - return TRUE; - } - } - DEBUG(4, ("did not find name '%s'", name)); - return FALSE; -} - -static void -realign_data(TERMTYPE * to, char **ext_Names, - int ext_Booleans, - int ext_Numbers, - int ext_Strings) -{ - int n, m, base; - int limit = (to->ext_Booleans + to->ext_Numbers + to->ext_Strings); - - if (to->ext_Booleans != ext_Booleans) { - to->num_Booleans += (ext_Booleans - to->ext_Booleans); - to->Booleans = typeRealloc(char, to->num_Booleans, to->Booleans); - for (n = to->ext_Booleans - 1, - m = ext_Booleans - 1, - base = to->num_Booleans - (m + 1); m >= 0; m--) { - if (find_name(to->ext_Names, limit, ext_Names[m])) { - to->Booleans[base + m] = to->Booleans[base + n--]; - } else { - to->Booleans[base + m] = FALSE; - } - } - to->ext_Booleans = ext_Booleans; - } - if (to->ext_Numbers != ext_Numbers) { - to->num_Numbers += (ext_Numbers - to->ext_Numbers); - to->Numbers = typeRealloc(short, to->num_Numbers, to->Numbers); - for (n = to->ext_Numbers - 1, - m = ext_Numbers - 1, - base = to->num_Numbers - (m + 1); m >= 0; m--) { - if (find_name(to->ext_Names, limit, ext_Names[m + ext_Booleans])) { - to->Numbers[base + m] = to->Numbers[base + n--]; - } else { - to->Numbers[base + m] = ABSENT_NUMERIC; - } - } - to->ext_Numbers = ext_Numbers; - } - if (to->ext_Strings != ext_Strings) { - to->num_Strings += (ext_Strings - to->ext_Strings); - to->Strings = typeRealloc(char *, to->num_Strings, to->Strings); - for (n = to->ext_Strings - 1, - m = ext_Strings - 1, - base = to->num_Strings - (m + 1); m >= 0; m--) { - if (find_name(to->ext_Names, limit, ext_Names[m + ext_Booleans + ext_Numbers])) { - to->Strings[base + m] = to->Strings[base + n--]; - } else { - to->Strings[base + m] = ABSENT_STRING; - } - } - to->ext_Strings = ext_Strings; - } -} - -/* - * Returns the first index in ext_Names[] for the given token-type - */ -static int -_nc_first_ext_name(TERMTYPE * tp, int token_type) -{ - int first; - - switch (token_type) { - case BOOLEAN: - first = 0; - break; - case NUMBER: - first = tp->ext_Booleans; - break; - case STRING: - first = tp->ext_Booleans + tp->ext_Numbers; - break; - default: - first = 0; - break; - } - return first; -} - -/* - * Returns the last index in ext_Names[] for the given token-type - */ -static int -_nc_last_ext_name(TERMTYPE * tp, int token_type) -{ - int last; - - switch (token_type) { - case BOOLEAN: - last = tp->ext_Booleans; - break; - case NUMBER: - last = tp->ext_Booleans + tp->ext_Numbers; - break; - default: - case STRING: - last = NUM_EXT_NAMES(tp); - break; - } - return last; -} - -/* - * Lookup an entry from extended-names, returning -1 if not found - */ -static int -_nc_find_ext_name(TERMTYPE * tp, char *name, int token_type) -{ - unsigned j; - unsigned first = _nc_first_ext_name(tp, token_type); - unsigned last = _nc_last_ext_name(tp, token_type); - - for (j = first; j < last; j++) { - if (!strcmp(name, tp->ext_Names[j])) { - return j; - } - } - return -1; -} - -/* - * Translate an index into ext_Names[] into the corresponding index into data - * (e.g., Booleans[]). - */ -static int -_nc_ext_data_index(TERMTYPE * tp, int n, int token_type) -{ - switch (token_type) { - case BOOLEAN: - n += (tp->num_Booleans - tp->ext_Booleans); - break; - case NUMBER: - n += (tp->num_Numbers - tp->ext_Numbers) - - (tp->ext_Booleans); - break; - default: - case STRING: - n += (tp->num_Strings - tp->ext_Strings) - - (tp->ext_Booleans + tp->ext_Numbers); - } - return n; -} - -/* - * Adjust tables to remove (not free) an extended name and its corresponding - * data. - */ -static bool -_nc_del_ext_name(TERMTYPE * tp, char *name, int token_type) -{ - int j; - int first, last; - - if ((first = _nc_find_ext_name(tp, name, token_type)) >= 0) { - last = NUM_EXT_NAMES(tp) - 1; - for (j = first; j < last; j++) { - tp->ext_Names[j] = tp->ext_Names[j + 1]; - } - first = _nc_ext_data_index(tp, first, token_type); - switch (token_type) { - case BOOLEAN: - last = tp->num_Booleans - 1; - for (j = first; j < last; j++) - tp->Booleans[j] = tp->Booleans[j + 1]; - tp->ext_Booleans -= 1; - tp->num_Booleans -= 1; - break; - case NUMBER: - last = tp->num_Numbers - 1; - for (j = first; j < last; j++) - tp->Numbers[j] = tp->Numbers[j + 1]; - tp->ext_Numbers -= 1; - tp->num_Numbers -= 1; - break; - case STRING: - last = tp->num_Strings - 1; - for (j = first; j < last; j++) - tp->Strings[j] = tp->Strings[j + 1]; - tp->ext_Strings -= 1; - tp->num_Strings -= 1; - break; - } - return TRUE; - } - return FALSE; -} - -/* - * Adjust tables to insert an extended name, making room for new data. The - * index into the corresponding data array is returned. - */ -static int -_nc_ins_ext_name(TERMTYPE * tp, char *name, int token_type) -{ - unsigned first = _nc_first_ext_name(tp, token_type); - unsigned last = _nc_last_ext_name(tp, token_type); - unsigned total = NUM_EXT_NAMES(tp) + 1; - unsigned j, k; - - for (j = first; j < last; j++) { - int cmp = strcmp(name, tp->ext_Names[j]); - if (cmp == 0) - /* already present */ - return _nc_ext_data_index(tp, (int) j, token_type); - if (cmp < 0) { - break; - } - } - - tp->ext_Names = typeRealloc(char *, total, tp->ext_Names); - for (k = total - 1; k > j; k--) - tp->ext_Names[k] = tp->ext_Names[k - 1]; - tp->ext_Names[j] = name; - j = _nc_ext_data_index(tp, (int) j, token_type); - - switch (token_type) { - case BOOLEAN: - tp->ext_Booleans += 1; - tp->num_Booleans += 1; - tp->Booleans = typeRealloc(char, tp->num_Booleans, tp->Booleans); - for (k = tp->num_Booleans - 1; k > j; k--) - tp->Booleans[k] = tp->Booleans[k - 1]; - break; - case NUMBER: - tp->ext_Numbers += 1; - tp->num_Numbers += 1; - tp->Numbers = typeRealloc(short, tp->num_Numbers, tp->Numbers); - for (k = tp->num_Numbers - 1; k > j; k--) - tp->Numbers[k] = tp->Numbers[k - 1]; - break; - case STRING: - tp->ext_Strings += 1; - tp->num_Strings += 1; - tp->Strings = typeRealloc(char *, tp->num_Strings, tp->Strings); - for (k = tp->num_Strings - 1; k > j; k--) - tp->Strings[k] = tp->Strings[k - 1]; - break; - } - return j; -} - -/* - * Look for strings that are marked cancelled, which happen to be the same name - * as a boolean or number. We'll get this as a special case when we get a - * cancellation of a name that is inherited from another entry. - */ -static void -adjust_cancels(TERMTYPE * to, TERMTYPE * from) -{ - int first = to->ext_Booleans + to->ext_Numbers; - int last = first + to->ext_Strings; - int j, k; - - for (j = first; j < last;) { - char *name = to->ext_Names[j]; - unsigned j_str = to->num_Strings - first - to->ext_Strings; - - if (to->Strings[j + j_str] == CANCELLED_STRING) { - if ((k = _nc_find_ext_name(from, to->ext_Names[j], BOOLEAN)) >= 0) { - if (_nc_del_ext_name(to, name, STRING) - || _nc_del_ext_name(to, name, NUMBER)) { - k = _nc_ins_ext_name(to, name, BOOLEAN); - to->Booleans[k] = FALSE; - } else { - j++; - } - } else if ((k = _nc_find_ext_name(from, to->ext_Names[j], - NUMBER)) >= 0) { - if (_nc_del_ext_name(to, name, STRING) - || _nc_del_ext_name(to, name, BOOLEAN)) { - k = _nc_ins_ext_name(to, name, NUMBER); - to->Numbers[k] = CANCELLED_NUMERIC; - } else { - j++; - } - } - } else { - j++; - } - } -} - -NCURSES_EXPORT(void) -_nc_align_termtype(TERMTYPE * to, TERMTYPE * from) -{ - int na = NUM_EXT_NAMES(to); - int nb = NUM_EXT_NAMES(from); - int n; - bool same; - char **ext_Names; - int ext_Booleans, ext_Numbers, ext_Strings; - - DEBUG(2, ("align_termtype to(%d:%s), from(%d:%s)", na, to->term_names, - nb, from->term_names)); - - if (na != 0 || nb != 0) { - if ((na == nb) /* check if the arrays are equivalent */ - &&(to->ext_Booleans == from->ext_Booleans) - && (to->ext_Numbers == from->ext_Numbers) - && (to->ext_Strings == from->ext_Strings)) { - for (n = 0, same = TRUE; n < na; n++) { - if (strcmp(to->ext_Names[n], from->ext_Names[n])) { - same = FALSE; - break; - } - } - if (same) - return; - } - /* - * This is where we pay for having a simple extension representation. - * Allocate a new ext_Names array and merge the two ext_Names arrays - * into it, updating to's counts for booleans, etc. Fortunately we do - * this only for the terminfo compiler (tic) and comparer (infocmp). - */ - ext_Names = typeMalloc(char *, na + nb); - - if (to->ext_Strings && (from->ext_Booleans + from->ext_Numbers)) - adjust_cancels(to, from); - - if (from->ext_Strings && (to->ext_Booleans + to->ext_Numbers)) - adjust_cancels(from, to); - - ext_Booleans = merge_names(ext_Names, - to->ext_Names, - to->ext_Booleans, - from->ext_Names, - from->ext_Booleans); - ext_Numbers = merge_names(ext_Names + ext_Booleans, - to->ext_Names - + to->ext_Booleans, - to->ext_Numbers, - from->ext_Names - + from->ext_Booleans, - from->ext_Numbers); - ext_Strings = merge_names(ext_Names + ext_Numbers + ext_Booleans, - to->ext_Names - + to->ext_Booleans - + to->ext_Numbers, - to->ext_Strings, - from->ext_Names - + from->ext_Booleans - + from->ext_Numbers, - from->ext_Strings); - /* - * Now we must reallocate the Booleans, etc., to allow the data to be - * overlaid. - */ - if (na != (ext_Booleans + ext_Numbers + ext_Strings)) { - realign_data(to, ext_Names, ext_Booleans, ext_Numbers, ext_Strings); - FreeIfNeeded(to->ext_Names); - to->ext_Names = ext_Names; - DEBUG(2, ("realigned %d extended names for '%s' (to)", - NUM_EXT_NAMES(to), to->term_names)); - } - if (nb != (ext_Booleans + ext_Numbers + ext_Strings)) { - nb = (ext_Booleans + ext_Numbers + ext_Strings); - realign_data(from, ext_Names, ext_Booleans, ext_Numbers, ext_Strings); - from->ext_Names = typeRealloc(char *, nb, from->ext_Names); - memcpy(from->ext_Names, ext_Names, sizeof(char *) * nb); - DEBUG(2, ("realigned %d extended names for '%s' (from)", - NUM_EXT_NAMES(from), from->term_names)); - } - } -} -#endif - -NCURSES_EXPORT(void) -_nc_copy_termtype(TERMTYPE * dst, TERMTYPE * src) -{ - unsigned i; - - *dst = *src; /* ...to copy the sizes and string-tables */ - dst->Booleans = typeMalloc(char, NUM_BOOLEANS(dst)); - dst->Numbers = typeMalloc(short, NUM_NUMBERS(dst)); - dst->Strings = typeMalloc(char *, NUM_STRINGS(dst)); - - /* FIXME: use memcpy for these and similar loops */ - for_each_boolean(i, dst) - dst->Booleans[i] = src->Booleans[i]; - for_each_number(i, dst) - dst->Numbers[i] = src->Numbers[i]; - for_each_string(i, dst) - dst->Strings[i] = src->Strings[i]; - - /* FIXME: we probably should also copy str_table and ext_str_table, - * but tic and infocmp are not written to exploit that (yet). - */ - -#if NCURSES_XNAMES - if ((i = NUM_EXT_NAMES(src)) != 0) { - dst->ext_Names = typeMalloc(char *, i); - memcpy(dst->ext_Names, src->ext_Names, i * sizeof(char *)); - } else { - dst->ext_Names = 0; - } -#endif - -} diff --git a/src/libs/ncurses/ncurses/tinfo/captoinfo.c b/src/libs/ncurses/ncurses/tinfo/captoinfo.c deleted file mode 100644 index 84d43a9cd4..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/captoinfo.c +++ /dev/null @@ -1,845 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * captoinfo.c --- conversion between termcap and terminfo formats - * - * The captoinfo() code was swiped from Ross Ridge's mytinfo package, - * adapted to fit ncurses by Eric S. Raymond . - * - * There is just one entry point: - * - * char *_nc_captoinfo(n, s, parameterized) - * - * Convert value s for termcap string capability named n into terminfo - * format. - * - * This code recognizes all the standard 4.4BSD %-escapes: - * - * %% output `%' - * %d output value as in printf %d - * %2 output value as in printf %2d - * %3 output value as in printf %3d - * %. output value as in printf %c - * %+x add x to value, then do %. - * %>xy if value > x then add y, no output - * %r reverse order of two parameters, no output - * %i increment by one, no output - * %n exclusive-or all parameters with 0140 (Datamedia 2500) - * %B BCD (16*(value/10)) + (value%10), no output - * %D Reverse coding (value - 2*(value%16)), no output (Delta Data). - * - * Also, %02 and %03 are accepted as synonyms for %2 and %3. - * - * Besides all the standard termcap escapes, this translator understands - * the following extended escapes: - * - * used by GNU Emacs termcap libraries - * %a[+*-/=][cp]x GNU arithmetic. - * %m xor the first two parameters by 0177 - * %b backup to previous parameter - * %f skip this parameter - * - * used by the University of Waterloo (MFCF) termcap libraries - * %-x subtract parameter FROM char x and output it as a char - * %ax add the character x to parameter - * - * If #define WATERLOO is on, also enable these translations: - * - * %sx subtract parameter FROM the character x - * - * By default, this Waterloo translations are not compiled in, because - * the Waterloo %s conflicts with the way terminfo uses %s in strings for - * function programming. - * - * Note the two definitions of %a: the GNU definition is translated if the - * characters after the 'a' are valid for it, otherwise the UW definition - * is translated. - */ - -#include - -#include -#include - -MODULE_ID("$Id: captoinfo.c,v 1.47 2005/06/04 22:06:43 tom Exp $") - -#define MAX_PUSHED 16 /* max # args we can push onto the stack */ - -static int stack[MAX_PUSHED]; /* the stack */ -static int stackptr; /* the next empty place on the stack */ -static int onstack; /* the top of stack */ -static int seenm; /* seen a %m */ -static int seenn; /* seen a %n */ -static int seenr; /* seen a %r */ -static int param; /* current parameter */ -static char *dp; /* pointer to end of the converted string */ - -static char *my_string; -static size_t my_length; - -static char * -init_string(void) -/* initialize 'my_string', 'my_length' */ -{ - if (my_string == 0) - my_string = typeMalloc(char, my_length = 256); - if (my_string == 0) - _nc_err_abort(MSG_NO_MEMORY); - - *my_string = '\0'; - return my_string; -} - -static char * -save_string(char *d, const char *const s) -{ - size_t have = (d - my_string); - size_t need = have + strlen(s) + 2; - if (need > my_length) { - my_string = (char *) realloc(my_string, my_length = (need + need)); - if (my_string == 0) - _nc_err_abort(MSG_NO_MEMORY); - d = my_string + have; - } - (void) strcpy(d, s); - return d + strlen(d); -} - -static inline char * -save_char(char *s, int c) -{ - static char temp[2]; - temp[0] = (char) c; - return save_string(s, temp); -} - -static void -push(void) -/* push onstack on to the stack */ -{ - if (stackptr > MAX_PUSHED) - _nc_warning("string too complex to convert"); - else - stack[stackptr++] = onstack; -} - -static void -pop(void) -/* pop the top of the stack into onstack */ -{ - if (stackptr == 0) { - if (onstack == 0) - _nc_warning("I'm confused"); - else - onstack = 0; - } else - onstack = stack[--stackptr]; - param++; -} - -static int -cvtchar(register const char *sp) -/* convert a character to a terminfo push */ -{ - unsigned char c = 0; - int len; - - switch (*sp) { - case '\\': - switch (*++sp) { - case '\'': - case '$': - case '\\': - case '%': - c = *sp; - len = 2; - break; - case '\0': - c = '\\'; - len = 1; - break; - case '0': - case '1': - case '2': - case '3': - len = 1; - while (isdigit(UChar(*sp))) { - c = 8 * c + (*sp++ - '0'); - len++; - } - break; - default: - c = *sp; - len = 2; - break; - } - break; - case '^': - c = (*++sp & 0x1f); - len = 2; - break; - default: - c = *sp; - len = 1; - } - if (isgraph(c) && c != ',' && c != '\'' && c != '\\' && c != ':') { - dp = save_string(dp, "%\'"); - dp = save_char(dp, c); - dp = save_char(dp, '\''); - } else { - dp = save_string(dp, "%{"); - if (c > 99) - dp = save_char(dp, c / 100 + '0'); - if (c > 9) - dp = save_char(dp, ((int) (c / 10)) % 10 + '0'); - dp = save_char(dp, c % 10 + '0'); - dp = save_char(dp, '}'); - } - return len; -} - -static void -getparm(int parm, int n) -/* push n copies of param on the terminfo stack if not already there */ -{ - if (seenr) { - if (parm == 1) - parm = 2; - else if (parm == 2) - parm = 1; - } - if (onstack == parm) { - if (n > 1) { - _nc_warning("string may not be optimal"); - dp = save_string(dp, "%Pa"); - while (n--) { - dp = save_string(dp, "%ga"); - } - } - return; - } - if (onstack != 0) - push(); - - onstack = parm; - - while (n--) { - dp = save_string(dp, "%p"); - dp = save_char(dp, '0' + parm); - } - - if (seenn && parm < 3) { - dp = save_string(dp, "%{96}%^"); - } - - if (seenm && parm < 3) { - dp = save_string(dp, "%{127}%^"); - } -} - -/* - * Convert a termcap string to terminfo format. - * 'cap' is the relevant terminfo capability index. - * 's' is the string value of the capability. - * 'parameterized' tells what type of translations to do: - * % translations if 1 - * pad translations if >=0 - */ -NCURSES_EXPORT(char *) -_nc_captoinfo(const char *cap, const char *s, int const parameterized) -{ - const char *capstart; - - stackptr = 0; - onstack = 0; - seenm = 0; - seenn = 0; - seenr = 0; - param = 1; - - dp = init_string(); - - /* skip the initial padding (if we haven't been told not to) */ - capstart = 0; - if (s == 0) - s = ""; - if (parameterized >= 0 && isdigit(UChar(*s))) - for (capstart = s;; s++) - if (!(isdigit(UChar(*s)) || *s == '*' || *s == '.')) - break; - - while (*s != '\0') { - switch (*s) { - case '%': - s++; - if (parameterized < 1) { - dp = save_char(dp, '%'); - break; - } - switch (*s++) { - case '%': - dp = save_char(dp, '%'); - break; - case 'r': - if (seenr++ == 1) { - _nc_warning("saw %%r twice in %s", cap); - } - break; - case 'm': - if (seenm++ == 1) { - _nc_warning("saw %%m twice in %s", cap); - } - break; - case 'n': - if (seenn++ == 1) { - _nc_warning("saw %%n twice in %s", cap); - } - break; - case 'i': - dp = save_string(dp, "%i"); - break; - case '6': - case 'B': - getparm(param, 1); - dp = save_string(dp, "%{10}%/%{16}%*"); - getparm(param, 1); - dp = save_string(dp, "%{10}%m%+"); - break; - case '8': - case 'D': - getparm(param, 2); - dp = save_string(dp, "%{2}%*%-"); - break; - case '>': - getparm(param, 2); - /* %?%{x}%>%t%{y}%+%; */ - dp = save_string(dp, "%?"); - s += cvtchar(s); - dp = save_string(dp, "%>%t"); - s += cvtchar(s); - dp = save_string(dp, "%+%;"); - break; - case 'a': - if ((*s == '=' || *s == '+' || *s == '-' - || *s == '*' || *s == '/') - && (s[1] == 'p' || s[1] == 'c') - && s[2] != '\0') { - int l; - l = 2; - if (*s != '=') - getparm(param, 1); - if (s[1] == 'p') { - getparm(param + s[2] - '@', 1); - if (param != onstack) { - pop(); - param--; - } - l++; - } else - l += cvtchar(s + 2); - switch (*s) { - case '+': - dp = save_string(dp, "%+"); - break; - case '-': - dp = save_string(dp, "%-"); - break; - case '*': - dp = save_string(dp, "%*"); - break; - case '/': - dp = save_string(dp, "%/"); - break; - case '=': - if (seenr) { - if (param == 1) - onstack = 2; - else if (param == 2) - onstack = 1; - else - onstack = param; - } else - onstack = param; - break; - } - s += l; - break; - } - getparm(param, 1); - s += cvtchar(s); - dp = save_string(dp, "%+"); - break; - case '+': - getparm(param, 1); - s += cvtchar(s); - dp = save_string(dp, "%+%c"); - pop(); - break; - case 's': -#ifdef WATERLOO - s += cvtchar(s); - getparm(param, 1); - dp = save_string(dp, "%-"); -#else - getparm(param, 1); - dp = save_string(dp, "%s"); - pop(); -#endif /* WATERLOO */ - break; - case '-': - s += cvtchar(s); - getparm(param, 1); - dp = save_string(dp, "%-%c"); - pop(); - break; - case '.': - getparm(param, 1); - dp = save_string(dp, "%c"); - pop(); - break; - case '0': /* not clear any of the historical termcaps did this */ - if (*s == '3') - goto see03; - else if (*s != '2') - goto invalid; - /* FALLTHRU */ - case '2': - getparm(param, 1); - dp = save_string(dp, "%2d"); - pop(); - break; - case '3': - see03: - getparm(param, 1); - dp = save_string(dp, "%3d"); - pop(); - break; - case 'd': - getparm(param, 1); - dp = save_string(dp, "%d"); - pop(); - break; - case 'f': - param++; - break; - case 'b': - param--; - break; - case '\\': - dp = save_string(dp, "%\\"); - break; - default: - invalid: - dp = save_char(dp, '%'); - s--; - _nc_warning("unknown %% code %s (%#x) in %s", - unctrl((chtype) *s), UChar(*s), cap); - break; - } - break; -#ifdef REVISIBILIZE - case '\\': - dp = save_char(dp, *s++); - dp = save_char(dp, *s++); - break; - case '\n': - dp = save_string(dp, "\\n"); - s++; - break; - case '\t': - dp = save_string(dp, "\\t"); - s++; - break; - case '\r': - dp = save_string(dp, "\\r"); - s++; - break; - case '\200': - dp = save_string(dp, "\\0"); - s++; - break; - case '\f': - dp = save_string(dp, "\\f"); - s++; - break; - case '\b': - dp = save_string(dp, "\\b"); - s++; - break; - case ' ': - dp = save_string(dp, "\\s"); - s++; - break; - case '^': - dp = save_string(dp, "\\^"); - s++; - break; - case ':': - dp = save_string(dp, "\\:"); - s++; - break; - case ',': - dp = save_string(dp, "\\,"); - s++; - break; - default: - if (*s == '\033') { - dp = save_string(dp, "\\E"); - s++; - } else if (*s > 0 && *s < 32) { - dp = save_char(dp, '^'); - dp = save_char(dp, *s + '@'); - s++; - } else if (*s <= 0 || *s >= 127) { - dp = save_char(dp, '\\'); - dp = save_char(dp, ((*s & 0300) >> 6) + '0'); - dp = save_char(dp, ((*s & 0070) >> 3) + '0'); - dp = save_char(dp, (*s & 0007) + '0'); - s++; - } else - dp = save_char(dp, *s++); - break; -#else - default: - dp = save_char(dp, *s++); - break; -#endif - } - } - - /* - * Now, if we stripped off some leading padding, add it at the end - * of the string as mandatory padding. - */ - if (capstart) { - dp = save_string(dp, "$<"); - for (s = capstart;; s++) - if (isdigit(UChar(*s)) || *s == '*' || *s == '.') - dp = save_char(dp, *s); - else - break; - dp = save_string(dp, "/>"); - } - - (void) save_char(dp, '\0'); - return (my_string); -} - -/* - * Check for an expression that corresponds to "%B" (BCD): - * (parameter / 10) * 16 + (parameter % 10) - */ -static int -bcd_expression(const char *str) -{ - /* leave this non-const for HPUX */ - static char fmt[] = "%%p%c%%{10}%%/%%{16}%%*%%p%c%%{10}%%m%%+"; - int len = 0; - char ch1, ch2; - - if (sscanf(str, fmt, &ch1, &ch2) == 2 - && isdigit(UChar(ch1)) - && isdigit(UChar(ch2)) - && (ch1 == ch2)) { - len = 28; -#ifndef NDEBUG - { - char buffer[80]; - int tst; - sprintf(buffer, fmt, ch1, ch2); - tst = strlen(buffer) - 1; - assert(len == tst); - } -#endif - } - return len; -} - -static char * -save_tc_char(char *bufptr, int c1) -{ - char temp[80]; - - if (is7bits(c1) && isprint(c1)) { - if (c1 == ':' || c1 == '\\') - bufptr = save_char(bufptr, '\\'); - bufptr = save_char(bufptr, c1); - } else { - if (c1 == (c1 & 0x1f)) /* iscntrl() returns T on 255 */ - (void) strcpy(temp, unctrl((chtype) c1)); - else - (void) sprintf(temp, "\\%03o", c1); - bufptr = save_string(bufptr, temp); - } - return bufptr; -} - -static char * -save_tc_inequality(char *bufptr, int c1, int c2) -{ - bufptr = save_string(bufptr, "%>"); - bufptr = save_tc_char(bufptr, c1); - bufptr = save_tc_char(bufptr, c2); - return bufptr; -} - -/* - * Here are the capabilities infotocap assumes it can translate to: - * - * %% output `%' - * %d output value as in printf %d - * %2 output value as in printf %2d - * %3 output value as in printf %3d - * %. output value as in printf %c - * %+c add character c to value, then do %. - * %>xy if value > x then add y, no output - * %r reverse order of two parameters, no output - * %i increment by one, no output - * %n exclusive-or all parameters with 0140 (Datamedia 2500) - * %B BCD (16*(value/10)) + (value%10), no output - * %D Reverse coding (value - 2*(value%16)), no output (Delta Data). - * %m exclusive-or all parameters with 0177 (not in 4.4BSD) - */ - -/* - * Convert a terminfo string to termcap format. Parameters are as in - * _nc_captoinfo(). - */ -NCURSES_EXPORT(char *) -_nc_infotocap(const char *cap GCC_UNUSED, const char *str, int const parameterized) -{ - int seenone = 0, seentwo = 0, saw_m = 0, saw_n = 0; - const char *padding; - const char *trimmed = 0; - char ch1 = 0, ch2 = 0; - char *bufptr = init_string(); - int len; - bool syntax_error = FALSE; - - /* we may have to move some trailing mandatory padding up front */ - padding = str + strlen(str) - 1; - if (padding > str && *padding == '>' && *--padding == '/') { - --padding; - while (isdigit(UChar(*padding)) || *padding == '.' || *padding == '*') - padding--; - if (padding > str && *padding == '<' && *--padding == '$') - trimmed = padding; - padding += 2; - - while (isdigit(UChar(*padding)) || *padding == '.' || *padding == '*') - bufptr = save_char(bufptr, *padding++); - } - - for (; *str && str != trimmed; str++) { - int c1, c2; - char *cp = 0; - - if (str[0] == '\\' && (str[1] == '^' || str[1] == ',')) { - bufptr = save_char(bufptr, *++str); - } else if (str[0] == '$' && str[1] == '<') { /* discard padding */ - str += 2; - while (isdigit(UChar(*str)) - || *str == '.' - || *str == '*' - || *str == '/' - || *str == '>') - str++; - --str; - } else if (str[0] == '%' && str[1] == '%') { /* escaped '%' */ - bufptr = save_string(bufptr, "%%"); - ++str; - } else if (*str != '%' || (parameterized < 1)) { - bufptr = save_char(bufptr, *str); - } else if (sscanf(str, "%%?%%{%d}%%>%%t%%{%d}%%+%%;", &c1, &c2) == 2) { - str = strchr(str, ';'); - bufptr = save_tc_inequality(bufptr, c1, c2); - } else if (sscanf(str, "%%?%%{%d}%%>%%t%%'%c'%%+%%;", &c1, &ch2) == 2) { - str = strchr(str, ';'); - bufptr = save_tc_inequality(bufptr, c1, c2); - } else if (sscanf(str, "%%?%%'%c'%%>%%t%%{%d}%%+%%;", &ch1, &c2) == 2) { - str = strchr(str, ';'); - bufptr = save_tc_inequality(bufptr, c1, c2); - } else if (sscanf(str, "%%?%%'%c'%%>%%t%%'%c'%%+%%;", &ch1, &ch2) == 2) { - str = strchr(str, ';'); - bufptr = save_tc_inequality(bufptr, c1, c2); - } else if ((len = bcd_expression(str)) != 0) { - str += len; - bufptr = save_string(bufptr, "%B"); - } else if ((sscanf(str, "%%{%d}%%+%%c", &c1) == 1 - || sscanf(str, "%%'%c'%%+%%c", &ch1) == 1) - && (cp = strchr(str, '+'))) { - str = cp + 2; - bufptr = save_string(bufptr, "%+"); - - if (ch1) - c1 = ch1; - bufptr = save_tc_char(bufptr, c1); - } - /* FIXME: this "works" for 'delta' */ - else if (strncmp(str, "%{2}%*%-", 8) == 0) { - str += 7; - bufptr = save_string(bufptr, "%D"); - } else if (strncmp(str, "%{96}%^", 7) == 0) { - str += 6; - if (saw_m++ == 0) { - bufptr = save_string(bufptr, "%n"); - } - } else if (strncmp(str, "%{127}%^", 8) == 0) { - str += 7; - if (saw_n++ == 0) { - bufptr = save_string(bufptr, "%m"); - } - } else { /* cm-style format element */ - str++; - switch (*str) { - case '%': - bufptr = save_char(bufptr, '%'); - break; - - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - bufptr = save_char(bufptr, '%'); - while (isdigit(UChar(*str))) - bufptr = save_char(bufptr, *str++); - if (strchr("doxX.", *str)) { - if (*str != 'd') /* termcap doesn't have octal, hex */ - return 0; - } - break; - - case 'd': - bufptr = save_string(bufptr, "%d"); - break; - - case 'c': - bufptr = save_string(bufptr, "%."); - break; - - /* - * %s isn't in termcap, but it's convenient to pass it through - * so we can represent things like terminfo pfkey strings in - * termcap notation. - */ - case 's': - bufptr = save_string(bufptr, "%s"); - break; - - case 'p': - str++; - if (*str == '1') - seenone = 1; - else if (*str == '2') { - if (!seenone && !seentwo) { - bufptr = save_string(bufptr, "%r"); - seentwo++; - } - } else if (*str >= '3') - return (0); - break; - - case 'i': - bufptr = save_string(bufptr, "%i"); - break; - - default: - bufptr = save_char(bufptr, *str); - syntax_error = TRUE; - break; - } /* endswitch (*str) */ - } /* endelse (*str == '%') */ - - if (*str == '\0') - break; - - } /* endwhile (*str) */ - - return (syntax_error ? NULL : my_string); -} - -#ifdef MAIN - -int curr_line; - -int -main(int argc, char *argv[]) -{ - int c, tc = FALSE; - - while ((c = getopt(argc, argv, "c")) != EOF) - switch (c) { - case 'c': - tc = TRUE; - break; - } - - curr_line = 0; - for (;;) { - char buf[BUFSIZ]; - - ++curr_line; - if (fgets(buf, sizeof(buf), stdin) == 0) - break; - buf[strlen(buf) - 1] = '\0'; - _nc_set_source(buf); - - if (tc) { - char *cp = _nc_infotocap("to termcap", buf, 1); - - if (cp) - (void) fputs(cp, stdout); - } else - (void) fputs(_nc_captoinfo("to terminfo", buf, 1), stdout); - (void) putchar('\n'); - } - return (0); -} -#endif /* MAIN */ - -#if NO_LEAKS -NCURSES_EXPORT(void) -_nc_captoinfo_leaks(void) -{ - FreeAndNull(my_string); - my_length = 0; -} -#endif diff --git a/src/libs/ncurses/ncurses/tinfo/comp_error.c b/src/libs/ncurses/ncurses/tinfo/comp_error.c deleted file mode 100644 index d29f027e36..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/comp_error.c +++ /dev/null @@ -1,153 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * comp_error.c -- Error message routines - * - */ - -#include - -#include - -MODULE_ID("$Id: comp_error.c,v 1.29 2005/08/20 19:22:36 tom Exp $") - -NCURSES_EXPORT_VAR(bool) _nc_suppress_warnings = FALSE; -NCURSES_EXPORT_VAR(int) _nc_curr_line = 0; /* current line # in input */ -NCURSES_EXPORT_VAR(int) _nc_curr_col = 0; /* current column # in input */ - -static const char *sourcename; -static char *termtype; - -NCURSES_EXPORT(const char *) -_nc_get_source(void) -{ - return sourcename; -} - -NCURSES_EXPORT(void) -_nc_set_source(const char *const name) -{ - sourcename = name; -} - -NCURSES_EXPORT(void) -_nc_set_type(const char *const name) -{ - if (termtype == 0) - termtype = typeMalloc(char, MAX_NAME_SIZE + 1); - if (termtype != 0) { - termtype[0] = '\0'; - if (name) - strncat(termtype, name, MAX_NAME_SIZE); - } -} - -NCURSES_EXPORT(void) -_nc_get_type(char *name) -{ -#if NO_LEAKS - if (name == 0 && termtype != 0) { - FreeAndNull(termtype); - return; - } -#endif - if (name != 0) - strcpy(name, termtype != 0 ? termtype : ""); -} - -static inline void -where_is_problem(void) -{ - fprintf(stderr, "\"%s\"", sourcename); - if (_nc_curr_line >= 0) - fprintf(stderr, ", line %d", _nc_curr_line); - if (_nc_curr_col >= 0) - fprintf(stderr, ", col %d", _nc_curr_col); - if (termtype != 0 && termtype[0] != '\0') - fprintf(stderr, ", terminal '%s'", termtype); - fputc(':', stderr); - fputc(' ', stderr); -} - -NCURSES_EXPORT(void) -_nc_warning(const char *const fmt,...) -{ - va_list argp; - - if (_nc_suppress_warnings) - return; - - where_is_problem(); - va_start(argp, fmt); - vfprintf(stderr, fmt, argp); - fprintf(stderr, "\n"); - va_end(argp); -} - -NCURSES_EXPORT(void) -_nc_err_abort(const char *const fmt,...) -{ - va_list argp; - - where_is_problem(); - va_start(argp, fmt); - vfprintf(stderr, fmt, argp); - fprintf(stderr, "\n"); - va_end(argp); - exit(EXIT_FAILURE); -} - -NCURSES_EXPORT(void) -_nc_syserr_abort(const char *const fmt,...) -{ - va_list argp; - - where_is_problem(); - va_start(argp, fmt); - vfprintf(stderr, fmt, argp); - fprintf(stderr, "\n"); - va_end(argp); - - /* If we're debugging, try to show where the problem occurred - this - * will dump core. - */ -#if defined(TRACE) || !defined(NDEBUG) - abort(); -#else - /* Dumping core in production code is not a good idea. - */ - exit(EXIT_FAILURE); -#endif -} diff --git a/src/libs/ncurses/ncurses/tinfo/comp_expand.c b/src/libs/ncurses/ncurses/tinfo/comp_expand.c deleted file mode 100644 index 7ba438aff8..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/comp_expand.c +++ /dev/null @@ -1,184 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1998 * - ****************************************************************************/ - -#include - -#include -#include - -MODULE_ID("$Id: comp_expand.c,v 1.17 2001/09/22 19:16:52 tom Exp $") - -static int -trailing_spaces(const char *src) -{ - while (*src == ' ') - src++; - return *src == 0; -} - -/* this deals with differences over whether 0x7f and 0x80..0x9f are controls */ -#define REALCTL(s) (UChar(*(s)) < 127 && iscntrl(UChar(*(s)))) -#define REALPRINT(s) (UChar(*(s)) < 127 && isprint(UChar(*(s)))) - -NCURSES_EXPORT(char *) -_nc_tic_expand -(const char *srcp, bool tic_format, int numbers) -{ - static char *buffer; - static size_t length; - - int bufp; - const char *str = VALID_STRING(srcp) ? srcp : ""; - bool islong = (strlen(str) > 3); - size_t need = (2 + strlen(str)) * 4; - int ch; - - if (buffer == 0 || need > length) { - if ((buffer = typeRealloc(char, length = need, buffer)) == 0) - return 0; - } - - bufp = 0; - while ((ch = UChar(*str)) != 0) { - if (ch == '%' && REALPRINT(str + 1)) { - buffer[bufp++] = *str++; - /* - * Though the character literals are more compact, most - * terminal descriptions use numbers and are not easy - * to read in character-literal form. - */ - switch (numbers) { - case -1: - if (str[0] == S_QUOTE - && str[1] != '\\' - && REALPRINT(str + 1) - && str[2] == S_QUOTE) { - sprintf(buffer + bufp, "{%d}", str[1]); - bufp += strlen(buffer + bufp); - str += 2; - } else { - buffer[bufp++] = *str; - } - break; - /* - * If we have a "%{number}", try to translate it into - * a "%'char'" form, since that will run a little faster - * when we're interpreting it. Also, having one form - * for the constant makes it simpler to compare terminal - * descriptions. - */ - case 1: - if (str[0] == L_BRACE - && isdigit(UChar(str[1]))) { - char *dst = 0; - long value = strtol(str + 1, &dst, 0); - if (dst != 0 - && *dst == R_BRACE - && value < 127 - && value != '\\' /* FIXME */ - && isprint((int) value)) { - ch = (int) value; - buffer[bufp++] = S_QUOTE; - if (ch == '\\' - || ch == S_QUOTE) - buffer[bufp++] = '\\'; - buffer[bufp++] = ch; - buffer[bufp++] = S_QUOTE; - str = dst; - } else { - buffer[bufp++] = *str; - } - } else { - buffer[bufp++] = *str; - } - break; - default: - buffer[bufp++] = *str; - break; - } - } else if (ch == 128) { - buffer[bufp++] = '\\'; - buffer[bufp++] = '0'; - } else if (ch == '\033') { - buffer[bufp++] = '\\'; - buffer[bufp++] = 'E'; - } else if (ch == '\\' && tic_format && (str == srcp || str[-1] != '^')) { - buffer[bufp++] = '\\'; - buffer[bufp++] = '\\'; - } else if (ch == ' ' && tic_format && (str == srcp || - trailing_spaces(str))) { - buffer[bufp++] = '\\'; - buffer[bufp++] = 's'; - } else if ((ch == ',' || ch == ':' || ch == '^') && tic_format) { - buffer[bufp++] = '\\'; - buffer[bufp++] = ch; - } else if (REALPRINT(str) - && (ch != ',' - && ch != ':' - && !(ch == '!' && !tic_format) - && ch != '^')) - buffer[bufp++] = ch; -#if 0 /* FIXME: this would be more readable (in fact the whole 'islong' logic should be removed) */ - else if (ch == '\b') { - buffer[bufp++] = '\\'; - buffer[bufp++] = 'b'; - } else if (ch == '\f') { - buffer[bufp++] = '\\'; - buffer[bufp++] = 'f'; - } else if (ch == '\t' && islong) { - buffer[bufp++] = '\\'; - buffer[bufp++] = 't'; - } -#endif - else if (ch == '\r' && (islong || (strlen(srcp) > 2 && str[1] == '\0'))) { - buffer[bufp++] = '\\'; - buffer[bufp++] = 'r'; - } else if (ch == '\n' && islong) { - buffer[bufp++] = '\\'; - buffer[bufp++] = 'n'; - } -#define UnCtl(c) ((c) + '@') - else if (REALCTL(str) && ch != '\\' - && (!islong || isdigit(UChar(str[1])))) { - (void) sprintf(&buffer[bufp], "^%c", UnCtl(ch)); - bufp += 2; - } else { - (void) sprintf(&buffer[bufp], "\\%03o", ch); - bufp += 4; - } - - str++; - } - - buffer[bufp] = '\0'; - return (buffer); -} diff --git a/src/libs/ncurses/ncurses/tinfo/comp_hash.c b/src/libs/ncurses/ncurses/tinfo/comp_hash.c deleted file mode 100644 index d4d9eaa62e..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/comp_hash.c +++ /dev/null @@ -1,331 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * comp_hash.c --- Routines to deal with the hashtable of capability - * names. - * - */ - -#define USE_TERMLIB 1 -#include - -#include -#include - -#ifdef MAIN_PROGRAM -#include -#undef DEBUG -#define DEBUG(level, params) /*nothing */ -#endif - -MODULE_ID("$Id: comp_hash.c,v 1.28 2005/08/20 19:58:18 tom Exp $") - -static int hash_function(const char *); - -/* - * _nc_make_hash_table() - * - * Takes the entries in table[] and hashes them into hash_table[] - * by name. There are CAPTABSIZE entries in table[] and HASHTABSIZE - * slots in hash_table[]. - * - */ - -#ifdef MAIN_PROGRAM - -#undef MODULE_ID -#define MODULE_ID(id) /*nothing */ -#include - -static void -_nc_make_hash_table(struct name_table_entry *table, - struct name_table_entry **hash_table) -{ - int i; - int hashvalue; - int collisions = 0; - - for (i = 0; i < CAPTABSIZE; i++) { - hashvalue = hash_function(table[i].nte_name); - - if (hash_table[hashvalue] != (struct name_table_entry *) 0) - collisions++; - - if (hash_table[hashvalue] != 0) - table[i].nte_link = (short) (hash_table[hashvalue] - table); - hash_table[hashvalue] = &table[i]; - } - - DEBUG(4, ("Hash table complete: %d collisions out of %d entries", - collisions, CAPTABSIZE)); -} -#endif - -/* - * int hash_function(string) - * - * Computes the hashing function on the given string. - * - * The current hash function is the sum of each consectutive pair - * of characters, taken as two-byte integers, mod HASHTABSIZE. - * - */ - -static int -hash_function(const char *string) -{ - long sum = 0; - - DEBUG(9, ("hashing %s", string)); - while (*string) { - sum += (long) (*string + (*(string + 1) << 8)); - string++; - } - - DEBUG(9, ("sum is %ld", sum)); - return (int) (sum % HASHTABSIZE); -} - -/* - * struct name_table_entry * - * find_entry(string) - * - * Finds the entry for the given string in the hash table if present. - * Returns a pointer to the entry in the table or 0 if not found. - * - */ - -#ifndef MAIN_PROGRAM -NCURSES_EXPORT(struct name_table_entry const *) -_nc_find_entry(const char *string, - const struct name_table_entry *const *hash_table) -{ - int hashvalue; - struct name_table_entry const *ptr; - - hashvalue = hash_function(string); - - if ((ptr = hash_table[hashvalue]) != 0) { - while (strcmp(ptr->nte_name, string) != 0) { - if (ptr->nte_link < 0) - return 0; - ptr = ptr->nte_link + hash_table[HASHTABSIZE]; - } - } - - return (ptr); -} - -/* - * struct name_table_entry * - * find_type_entry(string, type, table) - * - * Finds the first entry for the given name with the given type in the - * given table if present (as distinct from find_entry, which finds the - * the last entry regardless of type). You can use this if you detect - * a name clash. It's slower, though. Returns a pointer to the entry - * in the table or 0 if not found. - */ - -NCURSES_EXPORT(struct name_table_entry const *) -_nc_find_type_entry(const char *string, - int type, - const struct name_table_entry *table) -{ - struct name_table_entry const *ptr; - - for (ptr = table; ptr < table + CAPTABSIZE; ptr++) { - if (ptr->nte_type == type && strcmp(string, ptr->nte_name) == 0) - return (ptr); - } - - return ((struct name_table_entry *) NULL); -} -#endif - -#ifdef MAIN_PROGRAM -/* - * This filter reads from standard input a list of tab-delimited columns, - * (e.g., from Caps.filtered) computes the hash-value of a specified column and - * writes the hashed tables to standard output. - * - * By compiling the hash table at build time, we're able to make the entire - * set of terminfo and termcap tables readonly (and also provide some runtime - * performance enhancement). - */ - -#define MAX_COLUMNS BUFSIZ /* this _has_ to be worst-case */ - -static char ** -parse_columns(char *buffer) -{ - static char **list; - - int col = 0; - - if (list == 0 && (list = typeCalloc(char *, MAX_COLUMNS)) == 0) - return (0); - - if (*buffer != '#') { - while (*buffer != '\0') { - char *s; - for (s = buffer; (*s != '\0') && !isspace(UChar(*s)); s++) - /*EMPTY */ ; - if (s != buffer) { - char mark = *s; - *s = '\0'; - if ((s - buffer) > 1 - && (*buffer == '"') - && (s[-1] == '"')) { /* strip the quotes */ - buffer++; - s[-1] = '\0'; - } - list[col] = buffer; - col++; - if (mark == '\0') - break; - while (*++s && isspace(UChar(*s))) - /*EMPTY */ ; - buffer = s; - } else - break; - } - } - return col ? list : 0; -} - -int -main(int argc, char **argv) -{ - struct name_table_entry *name_table = typeCalloc(struct - name_table_entry, CAPTABSIZE); - struct name_table_entry **hash_table = typeCalloc(struct name_table_entry - *, HASHTABSIZE); - const char *root_name = ""; - int column = 0; - int n; - char buffer[BUFSIZ]; - - static const char *typenames[] = - {"BOOLEAN", "NUMBER", "STRING"}; - - short BoolCount = 0; - short NumCount = 0; - short StrCount = 0; - - /* The first argument is the column-number (starting with 0). - * The second is the root name of the tables to generate. - */ - if (argc <= 2 - || (column = atoi(argv[1])) <= 0 - || (column >= MAX_COLUMNS) - || *(root_name = argv[2]) == 0) { - fprintf(stderr, "usage: make_hash column root_name\n"); - exit(EXIT_FAILURE); - } - - /* - * Read the table into our arrays. - */ - for (n = 0; (n < CAPTABSIZE) && fgets(buffer, BUFSIZ, stdin);) { - char **list, *nlp = strchr(buffer, '\n'); - if (nlp) - *nlp = '\0'; - list = parse_columns(buffer); - if (list == 0) /* blank or comment */ - continue; - name_table[n].nte_link = -1; /* end-of-hash */ - name_table[n].nte_name = strdup(list[column]); - if (!strcmp(list[2], "bool")) { - name_table[n].nte_type = BOOLEAN; - name_table[n].nte_index = BoolCount++; - } else if (!strcmp(list[2], "num")) { - name_table[n].nte_type = NUMBER; - name_table[n].nte_index = NumCount++; - } else if (!strcmp(list[2], "str")) { - name_table[n].nte_type = STRING; - name_table[n].nte_index = StrCount++; - } else { - fprintf(stderr, "Unknown type: %s\n", list[2]); - exit(EXIT_FAILURE); - } - n++; - } - _nc_make_hash_table(name_table, hash_table); - - /* - * Write the compiled tables to standard output - */ - printf("static struct name_table_entry const _nc_%s_table[] =\n", - root_name); - printf("{\n"); - for (n = 0; n < CAPTABSIZE; n++) { - sprintf(buffer, "\"%s\"", - name_table[n].nte_name); - printf("\t{ %15s,\t%10s,\t%3d, %3d }%c\n", - buffer, - typenames[name_table[n].nte_type], - name_table[n].nte_index, - name_table[n].nte_link, - n < CAPTABSIZE - 1 ? ',' : ' '); - } - printf("};\n\n"); - - printf("const struct name_table_entry * const _nc_%s_hash_table[%d] =\n", - root_name, - HASHTABSIZE + 1); - printf("{\n"); - for (n = 0; n < HASHTABSIZE; n++) { - if (hash_table[n] != 0) { - sprintf(buffer, "_nc_%s_table + %3ld", - root_name, - (long) (hash_table[n] - name_table)); - } else { - strcpy(buffer, "0"); - } - printf("\t%s,\n", buffer); - } - printf("\t_nc_%s_table\t/* base-of-table */\n", root_name); - printf("};\n\n"); - - printf("#if (BOOLCOUNT!=%d)||(NUMCOUNT!=%d)||(STRCOUNT!=%d)\n", - BoolCount, NumCount, StrCount); - printf("#error\t--> term.h and comp_captab.c disagree about the <--\n"); - printf("#error\t--> numbers of booleans, numbers and/or strings <--\n"); - printf("#endif\n\n"); - - return EXIT_SUCCESS; -} -#endif diff --git a/src/libs/ncurses/ncurses/tinfo/comp_parse.c b/src/libs/ncurses/ncurses/tinfo/comp_parse.c deleted file mode 100644 index 643c9af57d..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/comp_parse.c +++ /dev/null @@ -1,524 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * comp_parse.c -- parser driver loop and use handling. - * - * _nc_read_entry_source(FILE *, literal, bool, bool (*hook)()) - * _nc_resolve_uses2(void) - * _nc_free_entries(void) - * - * Use this code by calling _nc_read_entry_source() on as many source - * files as you like (either terminfo or termcap syntax). If you - * want use-resolution, call _nc_resolve_uses2(). To free the list - * storage, do _nc_free_entries(). - * - */ - -#include - -#include - -#include -#include - -MODULE_ID("$Id: comp_parse.c,v 1.60 2005/06/04 21:42:44 tom Exp $") - -static void sanity_check2(TERMTYPE *, bool); -NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype2) (TERMTYPE *, bool) = sanity_check2; - -/* obsolete: 20040705 */ -static void sanity_check(TERMTYPE *); -NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype) (TERMTYPE *) = sanity_check; - -/**************************************************************************** - * - * Entry queue handling - * - ****************************************************************************/ -/* - * The entry list is a doubly linked list with NULLs terminating the lists: - * - * --------- --------- --------- - * | | | | | | offset - * |-------| |-------| |-------| - * | ----+-->| ----+-->| NULL | next - * |-------| |-------| |-------| - * | NULL |<--+---- |<--+---- | last - * --------- --------- --------- - * ^ ^ - * | | - * | | - * _nc_head _nc_tail - */ - -NCURSES_EXPORT_VAR(ENTRY *) _nc_head = 0; -NCURSES_EXPORT_VAR(ENTRY *) _nc_tail = 0; - -static void -enqueue(ENTRY * ep) -/* add an entry to the in-core list */ -{ - ENTRY *newp = _nc_copy_entry(ep); - - if (newp == 0) - _nc_err_abort(MSG_NO_MEMORY); - - newp->last = _nc_tail; - _nc_tail = newp; - - newp->next = 0; - if (newp->last) - newp->last->next = newp; -} - -NCURSES_EXPORT(void) -_nc_free_entries(ENTRY * headp) -/* free the allocated storage consumed by list entries */ -{ - while (_nc_head != 0) { - _nc_free_entry(headp, &(headp->tterm)); - } -} - -NCURSES_EXPORT(ENTRY *) -_nc_delink_entry(ENTRY * headp, TERMTYPE *tterm) -/* delink the allocated storage for the given list entry */ -{ - ENTRY *ep, *last; - - for (last = 0, ep = headp; ep != 0; last = ep, ep = ep->next) { - if (&(ep->tterm) == tterm) { - if (last != 0) - last->next = ep->next; - else - headp = ep->next; - if (ep == _nc_head) - _nc_head = 0; - if (ep == _nc_tail) - _nc_tail = 0; - break; - } - } - return ep; -} - -NCURSES_EXPORT(void) -_nc_free_entry(ENTRY * headp, TERMTYPE *tterm) -/* free the allocated storage consumed by the given list entry */ -{ - ENTRY *ep; - - if ((ep = _nc_delink_entry(headp, tterm)) != 0) { - _nc_free_termtype(&(ep->tterm)); - free(ep); - } -} - -static char * -force_bar(char *dst, char *src) -{ - if (strchr(src, '|') == 0) { - size_t len = strlen(src); - if (len > MAX_NAME_SIZE) - len = MAX_NAME_SIZE; - (void) strncpy(dst, src, len); - (void) strcpy(dst + len, "|"); - src = dst; - } - return src; -} - -NCURSES_EXPORT(bool) -_nc_entry_match(char *n1, char *n2) -/* do any of the aliases in a pair of terminal names match? */ -{ - char *pstart, *qstart, *pend, *qend; - char nc1[MAX_NAME_SIZE + 2], nc2[MAX_NAME_SIZE + 2]; - - n1 = force_bar(nc1, n1); - n2 = force_bar(nc2, n2); - - for (pstart = n1; (pend = strchr(pstart, '|')); pstart = pend + 1) - for (qstart = n2; (qend = strchr(qstart, '|')); qstart = qend + 1) - if ((pend - pstart == qend - qstart) - && memcmp(pstart, qstart, (size_t) (pend - pstart)) == 0) - return (TRUE); - - return (FALSE); -} - -/**************************************************************************** - * - * Entry compiler and resolution logic - * - ****************************************************************************/ - -NCURSES_EXPORT(void) -_nc_read_entry_source(FILE *fp, char *buf, - int literal, bool silent, - bool(*hook) (ENTRY *)) -/* slurp all entries in the given file into core */ -{ - ENTRY thisentry; - bool oldsuppress = _nc_suppress_warnings; - int immediate = 0; - - if (silent) - _nc_suppress_warnings = TRUE; /* shut the lexer up, too */ - - _nc_reset_input(fp, buf); - for (;;) { - memset(&thisentry, 0, sizeof(thisentry)); - if (_nc_parse_entry(&thisentry, literal, silent) == ERR) - break; - if (!isalnum(UChar(thisentry.tterm.term_names[0]))) - _nc_err_abort("terminal names must start with letter or digit"); - - /* - * This can be used for immediate compilation of entries with no - * use references to disk, so as to avoid chewing up a lot of - * core when the resolution code could fetch entries off disk. - */ - if (hook != NULLHOOK && (*hook) (&thisentry)) { - immediate++; - } else { - enqueue(&thisentry); - FreeIfNeeded(thisentry.tterm.Booleans); - FreeIfNeeded(thisentry.tterm.Numbers); - FreeIfNeeded(thisentry.tterm.Strings); - } - } - - if (_nc_tail) { - /* set up the head pointer */ - for (_nc_head = _nc_tail; _nc_head->last; _nc_head = _nc_head->last) - continue; - - DEBUG(1, ("head = %s", _nc_head->tterm.term_names)); - DEBUG(1, ("tail = %s", _nc_tail->tterm.term_names)); - } -#ifdef TRACE - else if (!immediate) - DEBUG(1, ("no entries parsed")); -#endif - - _nc_suppress_warnings = oldsuppress; -} - -NCURSES_EXPORT(int) -_nc_resolve_uses2(bool fullresolve, bool literal) -/* try to resolve all use capabilities */ -{ - ENTRY *qp, *rp, *lastread = 0; - bool keepgoing; - int i, unresolved, total_unresolved, multiples; - - DEBUG(2, ("RESOLUTION BEGINNING")); - - /* - * Check for multiple occurrences of the same name. - */ - multiples = 0; - for_entry_list(qp) { - int matchcount = 0; - - for_entry_list(rp) { - if (qp > rp - && _nc_entry_match(qp->tterm.term_names, rp->tterm.term_names)) { - matchcount++; - if (matchcount == 1) { - (void) fprintf(stderr, "Name collision between %s", - _nc_first_name(qp->tterm.term_names)); - multiples++; - } - if (matchcount >= 1) - (void) fprintf(stderr, " %s", _nc_first_name(rp->tterm.term_names)); - } - } - if (matchcount >= 1) - (void) putc('\n', stderr); - } - if (multiples > 0) - return (FALSE); - - DEBUG(2, ("NO MULTIPLE NAME OCCURRENCES")); - - /* - * First resolution stage: compute link pointers corresponding to names. - */ - total_unresolved = 0; - _nc_curr_col = -1; - for_entry_list(qp) { - unresolved = 0; - for (i = 0; i < qp->nuses; i++) { - bool foundit; - char *child = _nc_first_name(qp->tterm.term_names); - char *lookfor = qp->uses[i].name; - long lookline = qp->uses[i].line; - - foundit = FALSE; - - _nc_set_type(child); - - /* first, try to resolve from in-core records */ - for_entry_list(rp) { - if (rp != qp - && _nc_name_match(rp->tterm.term_names, lookfor, "|")) { - DEBUG(2, ("%s: resolving use=%s (in core)", - child, lookfor)); - - qp->uses[i].link = rp; - foundit = TRUE; - } - } - - /* if that didn't work, try to merge in a compiled entry */ - if (!foundit) { - TERMTYPE thisterm; - char filename[PATH_MAX]; - - memset(&thisterm, 0, sizeof(thisterm)); - if (_nc_read_entry(lookfor, filename, &thisterm) == 1) { - DEBUG(2, ("%s: resolving use=%s (compiled)", - child, lookfor)); - - rp = typeMalloc(ENTRY, 1); - if (rp == 0) - _nc_err_abort(MSG_NO_MEMORY); - rp->tterm = thisterm; - rp->nuses = 0; - rp->next = lastread; - lastread = rp; - - qp->uses[i].link = rp; - foundit = TRUE; - } - } - - /* no good, mark this one unresolvable and complain */ - if (!foundit) { - unresolved++; - total_unresolved++; - - _nc_curr_line = lookline; - _nc_warning("resolution of use=%s failed", lookfor); - qp->uses[i].link = 0; - } - } - } - if (total_unresolved) { - /* free entries read in off disk */ - _nc_free_entries(lastread); - return (FALSE); - } - - DEBUG(2, ("NAME RESOLUTION COMPLETED OK")); - - /* - * OK, at this point all (char *) references in `name' members - * have been successfully converted to (ENTRY *) pointers in - * `link' members. Time to do the actual merges. - */ - if (fullresolve) { - do { - TERMTYPE merged; - - keepgoing = FALSE; - - for_entry_list(qp) { - if (qp->nuses > 0) { - DEBUG(2, ("%s: attempting merge", - _nc_first_name(qp->tterm.term_names))); - /* - * If any of the use entries we're looking for is - * incomplete, punt. We'll catch this entry on a - * subsequent pass. - */ - for (i = 0; i < qp->nuses; i++) - if (qp->uses[i].link->nuses) { - DEBUG(2, ("%s: use entry %d unresolved", - _nc_first_name(qp->tterm.term_names), i)); - goto incomplete; - } - - /* - * First, make sure there's no garbage in the - * merge block. as a side effect, copy into - * the merged entry the name field and string - * table pointer. - */ - _nc_copy_termtype(&merged, &(qp->tterm)); - - /* - * Now merge in each use entry in the proper - * (reverse) order. - */ - for (; qp->nuses; qp->nuses--) - _nc_merge_entry(&merged, - &qp->uses[qp->nuses - 1].link->tterm); - - /* - * Now merge in the original entry. - */ - _nc_merge_entry(&merged, &qp->tterm); - - /* - * Replace the original entry with the merged one. - */ - FreeIfNeeded(qp->tterm.Booleans); - FreeIfNeeded(qp->tterm.Numbers); - FreeIfNeeded(qp->tterm.Strings); - qp->tterm = merged; - _nc_wrap_entry(qp, TRUE); - - /* - * We know every entry is resolvable because name resolution - * didn't bomb. So go back for another pass. - */ - /* FALLTHRU */ - incomplete: - keepgoing = TRUE; - } - } - } while - (keepgoing); - - DEBUG(2, ("MERGES COMPLETED OK")); - } - - /* - * We'd like to free entries read in off disk at this point, but can't. - * The merge_entry() code doesn't copy the strings in the use entries, - * it just aliases them. If this ever changes, do a - * free_entries(lastread) here. - */ - - DEBUG(2, ("RESOLUTION FINISHED")); - - if (fullresolve) - if (_nc_check_termtype != 0) { - _nc_curr_col = -1; - for_entry_list(qp) { - _nc_curr_line = qp->startline; - _nc_set_type(_nc_first_name(qp->tterm.term_names)); - _nc_check_termtype2(&qp->tterm, literal); - } - DEBUG(2, ("SANITY CHECK FINISHED")); - } - - return (TRUE); -} - -/* obsolete: 20040705 */ -NCURSES_EXPORT(int) -_nc_resolve_uses(bool fullresolve) -{ - return _nc_resolve_uses2(fullresolve, FALSE); -} - -/* - * This bit of legerdemain turns all the terminfo variable names into - * references to locations in the arrays Booleans, Numbers, and Strings --- - * precisely what's needed. - */ - -#undef CUR -#define CUR tp-> - -static void -sanity_check2(TERMTYPE *tp, bool literal) -{ - if (!PRESENT(exit_attribute_mode)) { -#ifdef __UNUSED__ /* this casts too wide a net */ - bool terminal_entry = !strchr(tp->term_names, '+'); - if (terminal_entry && - (PRESENT(set_attributes) - || PRESENT(enter_standout_mode) - || PRESENT(enter_underline_mode) - || PRESENT(enter_blink_mode) - || PRESENT(enter_bold_mode) - || PRESENT(enter_dim_mode) - || PRESENT(enter_secure_mode) - || PRESENT(enter_protected_mode) - || PRESENT(enter_reverse_mode))) - _nc_warning("no exit_attribute_mode"); -#endif /* __UNUSED__ */ - PAIRED(enter_standout_mode, exit_standout_mode); - PAIRED(enter_underline_mode, exit_underline_mode); - } - - /* we do this check/fix in postprocess_termcap(), but some packagers - * prefer to bypass it... - */ - if (!literal) { - if (acs_chars == 0 - && enter_alt_charset_mode != 0 - && exit_alt_charset_mode != 0) - acs_chars = strdup(VT_ACSC); - ANDMISSING(enter_alt_charset_mode, acs_chars); - ANDMISSING(exit_alt_charset_mode, acs_chars); - } - - /* listed in structure-member order of first argument */ - PAIRED(enter_alt_charset_mode, exit_alt_charset_mode); - ANDMISSING(enter_blink_mode, exit_attribute_mode); - ANDMISSING(enter_bold_mode, exit_attribute_mode); - PAIRED(exit_ca_mode, enter_ca_mode); - PAIRED(enter_delete_mode, exit_delete_mode); - ANDMISSING(enter_dim_mode, exit_attribute_mode); - PAIRED(enter_insert_mode, exit_insert_mode); - ANDMISSING(enter_secure_mode, exit_attribute_mode); - ANDMISSING(enter_protected_mode, exit_attribute_mode); - ANDMISSING(enter_reverse_mode, exit_attribute_mode); - PAIRED(from_status_line, to_status_line); - PAIRED(meta_off, meta_on); - - PAIRED(prtr_on, prtr_off); - PAIRED(save_cursor, restore_cursor); - PAIRED(enter_xon_mode, exit_xon_mode); - PAIRED(enter_am_mode, exit_am_mode); - ANDMISSING(label_off, label_on); -#ifdef remove_clock - PAIRED(display_clock, remove_clock); -#endif - ANDMISSING(set_color_pair, initialize_pair); -} - -/* obsolete: 20040705 */ -static void -sanity_check(TERMTYPE *tp) -{ - sanity_check2(tp, FALSE); -} diff --git a/src/libs/ncurses/ncurses/tinfo/comp_scan.c b/src/libs/ncurses/ncurses/tinfo/comp_scan.c deleted file mode 100644 index a57af76ca6..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/comp_scan.c +++ /dev/null @@ -1,913 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996 on * - ****************************************************************************/ - -/* - * comp_scan.c --- Lexical scanner for terminfo compiler. - * - * _nc_reset_input() - * _nc_get_token() - * _nc_panic_mode() - * int _nc_syntax; - * int _nc_curr_line; - * long _nc_curr_file_pos; - * long _nc_comment_start; - * long _nc_comment_end; - */ - -#include - -#include -#include -#include - -MODULE_ID("$Id: comp_scan.c,v 1.76 2005/06/04 22:04:45 tom Exp $") - -/* - * Maximum length of string capability we'll accept before raising an error. - * Yes, there is a real capability in /etc/termcap this long, an "is". - */ -#define MAXCAPLEN 600 - -#define iswhite(ch) (ch == ' ' || ch == '\t') - -NCURSES_EXPORT_VAR(int) -_nc_syntax = 0; /* termcap or terminfo? */ -NCURSES_EXPORT_VAR(long) -_nc_curr_file_pos = 0; /* file offset of current line */ -NCURSES_EXPORT_VAR(long) -_nc_comment_start = 0; /* start of comment range before name */ -NCURSES_EXPORT_VAR(long) -_nc_comment_end = 0; /* end of comment range before name */ -NCURSES_EXPORT_VAR(long) -_nc_start_line = 0; /* start line of current entry */ - -NCURSES_EXPORT_VAR(struct token) -_nc_curr_token = -{ - 0, 0, 0 -}; - -/***************************************************************************** - * - * Token-grabbing machinery - * - *****************************************************************************/ - -static bool first_column; /* See 'next_char()' below */ -static bool had_newline; -static char separator; /* capability separator */ -static int pushtype; /* type of pushback token */ -static char *pushname; - -#if NCURSES_EXT_FUNCS -NCURSES_EXPORT_VAR(bool) -_nc_disable_period = FALSE; /* used by tic -a option */ -#endif - -/***************************************************************************** - * - * Character-stream handling - * - *****************************************************************************/ - -#define LEXBUFSIZ 1024 - -static char *bufptr; /* otherwise, the input buffer pointer */ -static char *bufstart; /* start of buffer so we can compute offsets */ -static FILE *yyin; /* scanner's input file descriptor */ - -/* - * _nc_reset_input() - * - * Resets the input-reading routines. Used on initialization, - * or after a seek has been done. Exactly one argument must be - * non-null. - */ - -NCURSES_EXPORT(void) -_nc_reset_input(FILE *fp, char *buf) -{ - pushtype = NO_PUSHBACK; - if (pushname != 0) - pushname[0] = '\0'; - yyin = fp; - bufstart = bufptr = buf; - _nc_curr_file_pos = 0L; - if (fp != 0) - _nc_curr_line = 0; - _nc_curr_col = 0; -} - -/* - * int last_char() - * - * Returns the final nonblank character on the current input buffer - */ -static int -last_char(void) -{ - size_t len = strlen(bufptr); - while (len--) { - if (!isspace(UChar(bufptr[len]))) - return bufptr[len]; - } - return 0; -} - -/* - * int next_char() - * - * Returns the next character in the input stream. Comments and leading - * white space are stripped. - * - * The global state variable 'firstcolumn' is set TRUE if the character - * returned is from the first column of the input line. - * - * The global variable _nc_curr_line is incremented for each new line. - * The global variable _nc_curr_file_pos is set to the file offset of the - * beginning of each line. - */ - -static int -next_char(void) -{ - static char *result; - static size_t allocated; - int the_char; - - if (!yyin) { - if (result != 0) { - FreeAndNull(result); - FreeAndNull(pushname); - allocated = 0; - } - /* - * An string with an embedded null will truncate the input. This is - * intentional (we don't read binary files here). - */ - if (bufptr == 0 || *bufptr == '\0') - return (EOF); - if (*bufptr == '\n') { - _nc_curr_line++; - _nc_curr_col = 0; - } else if (*bufptr == '\t') { - _nc_curr_col = (_nc_curr_col | 7); - } - } else if (!bufptr || !*bufptr) { - /* - * In theory this could be recoded to do its I/O one character at a - * time, saving the buffer space. In practice, this turns out to be - * quite hard to get completely right. Try it and see. If you - * succeed, don't forget to hack push_back() correspondingly. - */ - size_t used; - size_t len; - - do { - bufstart = 0; - used = 0; - do { - if (used + (LEXBUFSIZ / 4) >= allocated) { - allocated += (allocated + LEXBUFSIZ); - result = typeRealloc(char, allocated, result); - if (result == 0) - return (EOF); - } - if (used == 0) - _nc_curr_file_pos = ftell(yyin); - - if (fgets(result + used, (int) (allocated - used), yyin) != 0) { - bufstart = result; - if (used == 0) { - _nc_curr_line++; - _nc_curr_col = 0; - } - } else { - if (used != 0) - strcat(result, "\n"); - } - if ((bufptr = bufstart) != 0) { - used = strlen(bufptr); - while (iswhite(*bufptr)) { - if (*bufptr == '\t') { - _nc_curr_col = (_nc_curr_col | 7) + 1; - } else { - _nc_curr_col++; - } - bufptr++; - } - - /* - * Treat a trailing the same as a so we - * can read files on OS/2, etc. - */ - if ((len = strlen(bufptr)) > 1) { - if (bufptr[len - 1] == '\n' - && bufptr[len - 2] == '\r') { - len--; - bufptr[len - 1] = '\n'; - bufptr[len] = '\0'; - } - } - } else { - return (EOF); - } - } while (bufptr[len - 1] != '\n'); /* complete a line */ - } while (result[0] == '#'); /* ignore comments */ - } else if (*bufptr == '\t') { - _nc_curr_col = (_nc_curr_col | 7); - } - - first_column = (bufptr == bufstart); - if (first_column) - had_newline = FALSE; - - _nc_curr_col++; - the_char = *bufptr++; - return UChar(the_char); -} - -static void -push_back(char c) -/* push a character back onto the input stream */ -{ - if (bufptr == bufstart) - _nc_syserr_abort("Can't backspace off beginning of line"); - *--bufptr = c; - _nc_curr_col--; -} - -static long -stream_pos(void) -/* return our current character position in the input stream */ -{ - return (yyin ? ftell(yyin) : (bufptr ? bufptr - bufstart : 0)); -} - -static bool -end_of_stream(void) -/* are we at end of input? */ -{ - return ((yyin ? feof(yyin) : (bufptr && *bufptr == '\0')) - ? TRUE : FALSE); -} - -/* Assume we may be looking at a termcap-style continuation */ -static inline int -eat_escaped_newline(int ch) -{ - if (ch == '\\') - while ((ch = next_char()) == '\n' || iswhite(ch)) - continue; - return ch; -} - -/* - * int - * get_token() - * - * Scans the input for the next token, storing the specifics in the - * global structure 'curr_token' and returning one of the following: - * - * NAMES A line beginning in column 1. 'name' - * will be set to point to everything up to but - * not including the first separator on the line. - * BOOLEAN An entry consisting of a name followed by - * a separator. 'name' will be set to point to - * the name of the capability. - * NUMBER An entry of the form - * name#digits, - * 'name' will be set to point to the capability - * name and 'valnumber' to the number given. - * STRING An entry of the form - * name=characters, - * 'name' is set to the capability name and - * 'valstring' to the string of characters, with - * input translations done. - * CANCEL An entry of the form - * name@, - * 'name' is set to the capability name and - * 'valnumber' to -1. - * EOF The end of the file has been reached. - * - * A `separator' is either a comma or a semicolon, depending on whether - * we are in termcap or terminfo mode. - * - */ - -NCURSES_EXPORT(int) -_nc_get_token(bool silent) -{ - static const char terminfo_punct[] = "@%&*!#"; - static char *buffer; - - char *after_list; - char *after_name; - char *numchk; - char *ptr; - char *s; - char numbuf[80]; - int ch; - int dot_flag = FALSE; - int type; - long number; - long token_start; - unsigned found; -#ifdef TRACE - int old_line; - int old_col; -#endif - - if (pushtype != NO_PUSHBACK) { - int retval = pushtype; - - _nc_set_type(pushname != 0 ? pushname : ""); - DEBUG(3, ("pushed-back token: `%s', class %d", - _nc_curr_token.tk_name, pushtype)); - - pushtype = NO_PUSHBACK; - if (pushname != 0) - pushname[0] = '\0'; - - /* currtok wasn't altered by _nc_push_token() */ - return (retval); - } - - if (end_of_stream()) { - yyin = 0; - next_char(); /* frees its allocated memory */ - if (buffer != 0) { - if (_nc_curr_token.tk_name == buffer) - _nc_curr_token.tk_name = 0; - FreeAndNull(buffer); - } - return (EOF); - } - - start_token: - token_start = stream_pos(); - while ((ch = next_char()) == '\n' || iswhite(ch)) { - if (ch == '\n') - had_newline = TRUE; - continue; - } - - ch = eat_escaped_newline(ch); - -#ifdef TRACE - old_line = _nc_curr_line; - old_col = _nc_curr_col; -#endif - if (ch == EOF) - type = EOF; - else { - /* if this is a termcap entry, skip a leading separator */ - if (separator == ':' && ch == ':') - ch = next_char(); - - if (ch == '.' -#if NCURSES_EXT_FUNCS - && !_nc_disable_period -#endif - ) { - dot_flag = TRUE; - DEBUG(8, ("dot-flag set")); - - while ((ch = next_char()) == '.' || iswhite(ch)) - continue; - } - - if (ch == EOF) { - type = EOF; - goto end_of_token; - } - - /* have to make some punctuation chars legal for terminfo */ - if (!isalnum(UChar(ch)) -#if NCURSES_EXT_FUNCS - && !(ch == '.' && _nc_disable_period) -#endif - && !strchr(terminfo_punct, (char) ch)) { - if (!silent) - _nc_warning("Illegal character (expected alphanumeric or %s) - '%s'", - terminfo_punct, unctrl((chtype) ch)); - _nc_panic_mode(separator); - goto start_token; - } - - if (buffer == 0) - buffer = typeMalloc(char, MAX_ENTRY_SIZE); - -#ifdef TRACE - old_line = _nc_curr_line; - old_col = _nc_curr_col; -#endif - ptr = buffer; - *(ptr++) = ch; - - if (first_column) { - _nc_comment_start = token_start; - _nc_comment_end = _nc_curr_file_pos; - _nc_start_line = _nc_curr_line; - - _nc_syntax = ERR; - after_name = 0; - after_list = 0; - while ((ch = next_char()) != '\n') { - if (ch == EOF) { - _nc_err_abort(MSG_NO_INPUTS); - } else if (ch == '|') { - after_list = ptr; - if (after_name == 0) - after_name = ptr; - } else if (ch == ':' && last_char() != ',') { - _nc_syntax = SYN_TERMCAP; - separator = ':'; - break; - } else if (ch == ',') { - _nc_syntax = SYN_TERMINFO; - separator = ','; - /* - * If we did not see a '|', then we found a name with no - * aliases or description. - */ - if (after_name == 0) - break; - /* - * If we see a comma, we assume this is terminfo unless we - * subsequently run into a colon. But we don't stop - * looking for a colon until hitting a newline. This - * allows commas to be embedded in description fields of - * either syntax. - */ - } else - ch = eat_escaped_newline(ch); - - *ptr++ = ch; - } - ptr[0] = '\0'; - if (_nc_syntax == ERR) { - /* - * Grrr...what we ought to do here is barf, complaining that - * the entry is malformed. But because a couple of name fields - * in the 8.2 termcap file end with |\, we just have to assume - * it's termcap syntax. - */ - _nc_syntax = SYN_TERMCAP; - separator = ':'; - } else if (_nc_syntax == SYN_TERMINFO) { - /* throw away trailing /, *$/ */ - for (--ptr; iswhite(*ptr) || *ptr == ','; ptr--) - continue; - ptr[1] = '\0'; - } - - /* - * This is the soonest we have the terminal name fetched. Set up - * for following warning messages. If there's no '|', then there - * is no description. - */ - if (after_name != 0) { - ch = *after_name; - *after_name = '\0'; - _nc_set_type(buffer); - *after_name = ch; - } - - /* - * Compute the boundary between the aliases and the description - * field for syntax-checking purposes. - */ - if (after_list != 0) { - if (!silent) { - if (*after_list == '\0') - _nc_warning("empty longname field"); - else if (strchr(after_list, ' ') == 0) - _nc_warning("older tic versions may treat the description field as an alias"); - } - } else { - after_list = buffer + strlen(buffer); - DEBUG(1, ("missing description")); - } - - /* - * Whitespace in a name field other than the long name can confuse - * rdist and some termcap tools. Slashes are a no-no. Other - * special characters can be dangerous due to shell expansion. - */ - for (s = buffer; s < after_list; ++s) { - if (isspace(UChar(*s))) { - if (!silent) - _nc_warning("whitespace in name or alias field"); - break; - } else if (*s == '/') { - if (!silent) - _nc_warning("slashes aren't allowed in names or aliases"); - break; - } else if (strchr("$[]!*?", *s)) { - if (!silent) - _nc_warning("dubious character `%c' in name or alias field", *s); - break; - } - } - - _nc_curr_token.tk_name = buffer; - type = NAMES; - } else { - if (had_newline && _nc_syntax == SYN_TERMCAP) { - _nc_warning("Missing backslash before newline"); - had_newline = FALSE; - } - while ((ch = next_char()) != EOF) { - if (!isalnum(UChar(ch))) { - if (_nc_syntax == SYN_TERMINFO) { - if (ch != '_') - break; - } else { /* allow ';' for "k;" */ - if (ch != ';') - break; - } - } - *(ptr++) = ch; - } - - *ptr++ = '\0'; - switch (ch) { - case ',': - case ':': - if (ch != separator) - _nc_err_abort("Separator inconsistent with syntax"); - _nc_curr_token.tk_name = buffer; - type = BOOLEAN; - break; - case '@': - if ((ch = next_char()) != separator && !silent) - _nc_warning("Missing separator after `%s', have %s", - buffer, unctrl((chtype) ch)); - _nc_curr_token.tk_name = buffer; - type = CANCEL; - break; - - case '#': - found = 0; - while (isalnum(ch = next_char())) { - numbuf[found++] = ch; - if (found >= sizeof(numbuf) - 1) - break; - } - numbuf[found] = '\0'; - number = strtol(numbuf, &numchk, 0); - if (!silent) { - if (numchk == numbuf) - _nc_warning("no value given for `%s'", buffer); - if ((*numchk != '\0') || (ch != separator)) - _nc_warning("Missing separator"); - } - _nc_curr_token.tk_name = buffer; - _nc_curr_token.tk_valnumber = number; - type = NUMBER; - break; - - case '=': - ch = _nc_trans_string(ptr, buffer + MAX_ENTRY_SIZE); - if (!silent && ch != separator) - _nc_warning("Missing separator"); - _nc_curr_token.tk_name = buffer; - _nc_curr_token.tk_valstring = ptr; - type = STRING; - break; - - case EOF: - type = EOF; - break; - default: - /* just to get rid of the compiler warning */ - type = UNDEF; - if (!silent) - _nc_warning("Illegal character - '%s'", unctrl((chtype) ch)); - } - } /* end else (first_column == FALSE) */ - } /* end else (ch != EOF) */ - - end_of_token: - -#ifdef TRACE - if (dot_flag == TRUE) - DEBUG(8, ("Commented out ")); - - if (_nc_tracing >= DEBUG_LEVEL(8)) { - _tracef("parsed %d.%d to %d.%d", - old_line, old_col, - _nc_curr_line, _nc_curr_col); - } - if (_nc_tracing >= DEBUG_LEVEL(7)) { - switch (type) { - case BOOLEAN: - _tracef("Token: Boolean; name='%s'", - _nc_curr_token.tk_name); - break; - - case NUMBER: - _tracef("Token: Number; name='%s', value=%d", - _nc_curr_token.tk_name, - _nc_curr_token.tk_valnumber); - break; - - case STRING: - _tracef("Token: String; name='%s', value=%s", - _nc_curr_token.tk_name, - _nc_visbuf(_nc_curr_token.tk_valstring)); - break; - - case CANCEL: - _tracef("Token: Cancel; name='%s'", - _nc_curr_token.tk_name); - break; - - case NAMES: - - _tracef("Token: Names; value='%s'", - _nc_curr_token.tk_name); - break; - - case EOF: - _tracef("Token: End of file"); - break; - - default: - _nc_warning("Bad token type"); - } - } -#endif - - if (dot_flag == TRUE) /* if commented out, use the next one */ - type = _nc_get_token(silent); - - DEBUG(3, ("token: `%s', class %d", - ((_nc_curr_token.tk_name != 0) - ? _nc_curr_token.tk_name - : ""), - type)); - - return (type); -} - -/* - * char - * trans_string(ptr) - * - * Reads characters using next_char() until encountering a separator, nl, - * or end-of-file. The returned value is the character which caused - * reading to stop. The following translations are done on the input: - * - * ^X goes to ctrl-X (i.e. X & 037) - * {\E,\n,\r,\b,\t,\f} go to - * {ESCAPE,newline,carriage-return,backspace,tab,formfeed} - * {\^,\\} go to {carat,backslash} - * \ddd (for ddd = up to three octal digits) goes to the character ddd - * - * \e == \E - * \0 == \200 - * - */ - -NCURSES_EXPORT(int) -_nc_trans_string(char *ptr, char *last) -{ - int count = 0; - int number = 0; - int i, c; - chtype ch, last_ch = '\0'; - bool ignored = FALSE; - bool long_warning = FALSE; - - while ((ch = c = next_char()) != (chtype) separator && c != EOF) { - if (ptr == (last - 1)) - break; - if ((_nc_syntax == SYN_TERMCAP) && c == '\n') - break; - if (ch == '^' && last_ch != '%') { - ch = c = next_char(); - if (c == EOF) - _nc_err_abort(MSG_NO_INPUTS); - - if (!(is7bits(ch) && isprint(ch))) { - _nc_warning("Illegal ^ character - '%s'", unctrl(ch)); - } - if (ch == '?') { - *(ptr++) = '\177'; - if (_nc_tracing) - _nc_warning("Allow ^? as synonym for \\177"); - } else { - if ((ch &= 037) == 0) - ch = 128; - *(ptr++) = (char) (ch); - } - } else if (ch == '\\') { - ch = c = next_char(); - if (c == EOF) - _nc_err_abort(MSG_NO_INPUTS); - - if (ch >= '0' && ch <= '7') { - number = ch - '0'; - for (i = 0; i < 2; i++) { - ch = c = next_char(); - if (c == EOF) - _nc_err_abort(MSG_NO_INPUTS); - - if (c < '0' || c > '7') { - if (isdigit(c)) { - _nc_warning("Non-octal digit `%c' in \\ sequence", c); - /* allow the digit; it'll do less harm */ - } else { - push_back((char) c); - break; - } - } - - number = number * 8 + c - '0'; - } - - if (number == 0) - number = 0200; - *(ptr++) = (char) number; - } else { - switch (c) { - case 'E': - case 'e': - *(ptr++) = '\033'; - break; - - case 'a': - *(ptr++) = '\007'; - break; - - case 'l': - case 'n': - *(ptr++) = '\n'; - break; - - case 'r': - *(ptr++) = '\r'; - break; - - case 'b': - *(ptr++) = '\010'; - break; - - case 's': - *(ptr++) = ' '; - break; - - case 'f': - *(ptr++) = '\014'; - break; - - case 't': - *(ptr++) = '\t'; - break; - - case '\\': - *(ptr++) = '\\'; - break; - - case '^': - *(ptr++) = '^'; - break; - - case ',': - *(ptr++) = ','; - break; - - case ':': - *(ptr++) = ':'; - break; - - case '\n': - continue; - - default: - _nc_warning("Illegal character '%s' in \\ sequence", - unctrl(ch)); - /* FALLTHRU */ - case '|': - *(ptr++) = (char) ch; - } /* endswitch (ch) */ - } /* endelse (ch < '0' || ch > '7') */ - } - /* end else if (ch == '\\') */ - else if (ch == '\n' && (_nc_syntax == SYN_TERMINFO)) { - /* - * Newlines embedded in a terminfo string are ignored, provided - * that the next line begins with whitespace. - */ - ignored = TRUE; - } else { - *(ptr++) = (char) ch; - } - - if (!ignored) { - if (_nc_curr_col <= 1) { - push_back(ch); - ch = '\n'; - break; - } - last_ch = ch; - count++; - } - ignored = FALSE; - - if (count > MAXCAPLEN && !long_warning) { - _nc_warning("Very long string found. Missing separator?"); - long_warning = TRUE; - } - } /* end while */ - - *ptr = '\0'; - - return (ch); -} - -/* - * _nc_push_token() - * - * Push a token of given type so that it will be reread by the next - * get_token() call. - */ - -NCURSES_EXPORT(void) -_nc_push_token(int tokclass) -{ - /* - * This implementation is kind of bogus, it will fail if we ever do more - * than one pushback at a time between get_token() calls. It relies on the - * fact that _nc_curr_token is static storage that nothing but - * _nc_get_token() touches. - */ - pushtype = tokclass; - if (pushname == 0) - pushname = typeMalloc(char, MAX_NAME_SIZE + 1); - _nc_get_type(pushname); - - DEBUG(3, ("pushing token: `%s', class %d", - ((_nc_curr_token.tk_name != 0) - ? _nc_curr_token.tk_name - : ""), - pushtype)); -} - -/* - * Panic mode error recovery - skip everything until a "ch" is found. - */ -NCURSES_EXPORT(void) -_nc_panic_mode(char ch) -{ - int c; - - for (;;) { - c = next_char(); - if (c == ch) - return; - if (c == EOF) - return; - } -} - -#if NO_LEAKS -NCURSES_EXPORT(void) -_nc_comp_scan_leaks(void) -{ - FreeAndNull(pushname); -} -#endif diff --git a/src/libs/ncurses/ncurses/tinfo/doalloc.c b/src/libs/ncurses/ncurses/tinfo/doalloc.c deleted file mode 100644 index fe2a009d19..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/doalloc.c +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1998 * - ****************************************************************************/ - -/* - * Wrapper for malloc/realloc. Standard implementations allow realloc with - * a null pointer, but older libraries may not (e.g., SunOS). - * - * Also if realloc fails, we discard the old memory to avoid leaks. - */ - -#include - -MODULE_ID("$Id: doalloc.c,v 1.8 2002/08/31 21:48:11 Philippe.Blain Exp $") - -NCURSES_EXPORT(void *) -_nc_doalloc(void *oldp, size_t amount) -{ - void *newp; - - if (oldp != 0) { - if ((newp = realloc(oldp, amount)) == 0) { - free(oldp); - errno = ENOMEM; /* just in case 'free' reset */ - } - } else { - newp = malloc(amount); - } - return newp; -} - -#if !HAVE_STRDUP -NCURSES_EXPORT(char *) -_nc_strdup(const char *src) -{ - char *dst; - if (src != 0) { - dst = typeMalloc(char, strlen(src) + 1); - if (dst != 0) { - (void) strcpy(dst, src); - } - } else { - dst = 0; - } - return dst; -} -#endif diff --git a/src/libs/ncurses/ncurses/tinfo/free_ttype.c b/src/libs/ncurses/ncurses/tinfo/free_ttype.c deleted file mode 100644 index 2e714e488e..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/free_ttype.c +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1999-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1999 * - ****************************************************************************/ - -/* - * free_ttype.c -- allocation functions for TERMTYPE - * - * _nc_free_termtype() - * use_extended_names() - * - */ - -#include - -#include -#include - -MODULE_ID("$Id: free_ttype.c,v 1.11 2005/06/04 21:54:50 tom Exp $") - -NCURSES_EXPORT(void) -_nc_free_termtype(TERMTYPE *ptr) -{ - T(("_nc_free_termtype(%s)", ptr->term_names)); - - if (ptr->str_table == 0 - || (ptr->term_names < ptr->str_table - || ptr->term_names >= ptr->str_table + MAX_ENTRY_SIZE)) { - FreeIfNeeded(ptr->term_names); - } -#if NO_LEAKS - else { - if (ptr->str_table != 0 - && (ptr->term_names < ptr->str_table + MAX_ENTRY_SIZE)) { - int j; - char *last = ptr->str_table; - /* - * We should have saved the entry-size someplace. Too late, - * but this is useful for the memory-leak checking, though more - * work/time than should be in the normal library. - */ - for (j = 0; j < NUM_STRINGS(ptr); j++) { - char *s = ptr->Strings[j]; - if (VALID_STRING(s)) { - char *t = s + strlen(s) + 1; - if (t > last) - last = t; - } - } - if (last < ptr->term_names) { - FreeIfNeeded(ptr->term_names); - } - } - } -#endif - FreeIfNeeded(ptr->str_table); - FreeIfNeeded(ptr->Booleans); - FreeIfNeeded(ptr->Numbers); - FreeIfNeeded(ptr->Strings); -#if NCURSES_XNAMES - FreeIfNeeded(ptr->ext_str_table); - FreeIfNeeded(ptr->ext_Names); -#endif - memset(ptr, 0, sizeof(TERMTYPE)); - _nc_free_entry(_nc_head, ptr); -} - -#if NCURSES_XNAMES -NCURSES_EXPORT_VAR(bool) _nc_user_definable = TRUE; - -NCURSES_EXPORT(int) -use_extended_names(bool flag) -{ - int oldflag = _nc_user_definable; - - T((T_CALLED("use_extended_names(%d)"), flag)); - _nc_user_definable = flag; - returnBool(oldflag); -} -#endif diff --git a/src/libs/ncurses/ncurses/tinfo/getenv_num.c b/src/libs/ncurses/ncurses/tinfo/getenv_num.c deleted file mode 100644 index a90cc08d29..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/getenv_num.c +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1998 * - ****************************************************************************/ - -/* - * getenv_num.c -- obtain a number from the environment - */ - -#include - -MODULE_ID("$Id: getenv_num.c,v 1.3 2000/12/10 02:55:07 tom Exp $") - -NCURSES_EXPORT(int) -_nc_getenv_num(const char *name) -{ - char *dst = 0; - char *src = getenv(name); - long value; - - if ((src == 0) - || (value = strtol(src, &dst, 0)) < 0 - || (dst == src) - || (*dst != '\0') - || (int) value < value) - value = -1; - - return (int) value; -} diff --git a/src/libs/ncurses/ncurses/tinfo/home_terminfo.c b/src/libs/ncurses/ncurses/tinfo/home_terminfo.c deleted file mode 100644 index ce6576a82f..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/home_terminfo.c +++ /dev/null @@ -1,68 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1998,2000,2004,2005 * - ****************************************************************************/ - -/* - * home_terminfo.c -- return the $HOME/.terminfo string, expanded - */ - -#include -#include - -MODULE_ID("$Id: home_terminfo.c,v 1.9 2005/07/02 19:43:38 tom Exp $") - -#define my_length (strlen(home) + sizeof(PRIVATE_INFO)) - -/* ncurses extension...fall back on user's private directory */ - -NCURSES_EXPORT(char *) -_nc_home_terminfo(void) -{ - char *result = 0; -#ifdef USE_HOME_TERMINFO - char *home; - static char *temp = 0; - - if (use_terminfo_vars()) { - if (temp == 0) { - if ((home = getenv("HOME")) != 0 - && my_length <= PATH_MAX) { - temp = typeMalloc(char, my_length); - if (temp == 0) - _nc_err_abort(MSG_NO_MEMORY); - (void) sprintf(temp, PRIVATE_INFO, home); - } - } - result = temp; - } -#endif - return result; -} diff --git a/src/libs/ncurses/ncurses/tinfo/init_keytry.c b/src/libs/ncurses/ncurses/tinfo/init_keytry.c deleted file mode 100644 index c151fd9fd3..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/init_keytry.c +++ /dev/null @@ -1,110 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1999-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -#include - -#include -/* keypad_xmit, keypad_local, meta_on, meta_off */ -/* cursor_visible,cursor_normal,cursor_invisible */ - -#include /* struct tinfo_fkeys */ - -#include - -MODULE_ID("$Id: init_keytry.c,v 1.7 2005/04/30 19:32:03 tom Exp $") - -/* -** _nc_init_keytry() -** -** Construct the try for the current terminal's keypad keys. -** -*/ - -#if BROKEN_LINKER -#undef _nc_tinfo_fkeys -#endif - -/* LINT_PREPRO -#if 0*/ -#include -/* LINT_PREPRO -#endif*/ - -#if BROKEN_LINKER -struct tinfo_fkeys * -_nc_tinfo_fkeysf(void) -{ - return _nc_tinfo_fkeys; -} -#endif - -NCURSES_EXPORT(void) -_nc_init_keytry(void) -{ - size_t n; - - /* The SP->_keytry value is initialized in newterm(), where the SP - * structure is created, because we can not tell where keypad() or - * mouse_activate() (which will call keyok()) are first called. - */ - - if (SP != 0) { - for (n = 0; _nc_tinfo_fkeys[n].code; n++) { - if (_nc_tinfo_fkeys[n].offset < STRCOUNT) { - _nc_add_to_try(&(SP->_keytry), - CUR Strings[_nc_tinfo_fkeys[n].offset], - _nc_tinfo_fkeys[n].code); - } - } -#if NCURSES_XNAMES - /* - * Add any of the extended strings to the tries if their name begins - * with 'k', i.e., they follow the convention of other terminfo key - * names. - */ - { - TERMTYPE *tp = &(SP->_term->type); - for (n = STRCOUNT; n < NUM_STRINGS(tp); ++n) { - char *name = ExtStrname(tp, n, strnames); - char *value = tp->Strings[n]; - if (name != 0 - && *name == 'k' - && value != 0 - && key_defined(value) == 0) { - _nc_add_to_try(&(SP->_keytry), - value, - n - STRCOUNT + KEY_MAX); - } - } - } -#endif -#ifdef TRACE - _nc_trace_tries(SP->_keytry); -#endif - } -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_acs.c b/src/libs/ncurses/ncurses/tinfo/lib_acs.c deleted file mode 100644 index 745b055ec3..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_acs.c +++ /dev/null @@ -1,175 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -#include -#include /* ena_acs, acs_chars */ - -MODULE_ID("$Id: lib_acs.c,v 1.27 2004/10/16 15:42:40 tom Exp $") - -#if BROKEN_LINKER -NCURSES_EXPORT_VAR(chtype *) -_nc_acs_map(void) -{ - static chtype *the_map = 0; - if (the_map == 0) - the_map = typeCalloc(chtype, ACS_LEN); - return the_map; -} -#else -NCURSES_EXPORT_VAR(chtype) acs_map[ACS_LEN] = -{ - 0 -}; -#endif - -NCURSES_EXPORT(void) -_nc_init_acs(void) -{ - chtype *fake_map = acs_map; - chtype *real_map = SP != 0 ? SP->_acs_map : fake_map; - int j; - - T(("initializing ACS map")); - - /* - * If we're using this from curses (rather than terminfo), we are storing - * the mapping information in the SCREEN struct so we can decide how to - * render it. - */ - if (real_map != fake_map) { - for (j = 1; j < ACS_LEN; ++j) { - real_map[j] = 0; - fake_map[j] = A_ALTCHARSET | j; - SP->_screen_acs_map[j] = FALSE; - } - } else { - for (j = 1; j < ACS_LEN; ++j) { - real_map[j] = 0; - } - } - - /* - * Initializations for a UNIX-like multi-terminal environment. Use - * ASCII chars and count on the terminfo description to do better. - */ - real_map['l'] = '+'; /* should be upper left corner */ - real_map['m'] = '+'; /* should be lower left corner */ - real_map['k'] = '+'; /* should be upper right corner */ - real_map['j'] = '+'; /* should be lower right corner */ - real_map['u'] = '+'; /* should be tee pointing left */ - real_map['t'] = '+'; /* should be tee pointing right */ - real_map['v'] = '+'; /* should be tee pointing up */ - real_map['w'] = '+'; /* should be tee pointing down */ - real_map['q'] = '-'; /* should be horizontal line */ - real_map['x'] = '|'; /* should be vertical line */ - real_map['n'] = '+'; /* should be large plus or crossover */ - real_map['o'] = '~'; /* should be scan line 1 */ - real_map['s'] = '_'; /* should be scan line 9 */ - real_map['`'] = '+'; /* should be diamond */ - real_map['a'] = ':'; /* should be checker board (stipple) */ - real_map['f'] = '\''; /* should be degree symbol */ - real_map['g'] = '#'; /* should be plus/minus */ - real_map['~'] = 'o'; /* should be bullet */ - real_map[','] = '<'; /* should be arrow pointing left */ - real_map['+'] = '>'; /* should be arrow pointing right */ - real_map['.'] = 'v'; /* should be arrow pointing down */ - real_map['-'] = '^'; /* should be arrow pointing up */ - real_map['h'] = '#'; /* should be board of squares */ - real_map['i'] = '#'; /* should be lantern symbol */ - real_map['0'] = '#'; /* should be solid square block */ - /* these defaults were invented for ncurses */ - real_map['p'] = '-'; /* should be scan line 3 */ - real_map['r'] = '-'; /* should be scan line 7 */ - real_map['y'] = '<'; /* should be less-than-or-equal-to */ - real_map['z'] = '>'; /* should be greater-than-or-equal-to */ - real_map['{'] = '*'; /* should be greek pi */ - real_map['|'] = '!'; /* should be not-equal */ - real_map['}'] = 'f'; /* should be pound-sterling symbol */ - -#if !USE_WIDEC_SUPPORT - if (_nc_unicode_locale() && _nc_locale_breaks_acs()) { - acs_chars = NULL; - ena_acs = NULL; - enter_alt_charset_mode = NULL; - exit_alt_charset_mode = NULL; - set_attributes = NULL; - } -#endif - - if (ena_acs != NULL) { - TPUTS_TRACE("ena_acs"); - putp(ena_acs); - } - - if (acs_chars != NULL) { - size_t i = 0; - size_t length = strlen(acs_chars); - - while (i + 1 < length) { - if (acs_chars[i] != 0 && UChar(acs_chars[i]) < ACS_LEN) { - real_map[UChar(acs_chars[i])] = UChar(acs_chars[i + 1]) | A_ALTCHARSET; - if (SP != 0) - SP->_screen_acs_map[UChar(acs_chars[i])] = TRUE; - } - i += 2; - } - } -#ifdef TRACE - /* Show the equivalent mapping, noting if it does not match the - * given attribute, whether by re-ordering or duplication. - */ - if (_nc_tracing & TRACE_CALLS) { - size_t n, m; - char show[ACS_LEN + 1]; - for (n = 1, m = 0; n < ACS_LEN; n++) { - if (real_map[n] != 0) { - show[m++] = (char) n; - show[m++] = ChCharOf(real_map[n]); - } - } - show[m] = 0; - if (acs_chars == NULL || strcmp(acs_chars, show)) - _tracef("%s acs_chars %s", - (acs_chars == NULL) ? "NULL" : "READ", - _nc_visbuf(acs_chars)); - _tracef("%s acs_chars %s", - (acs_chars == NULL) - ? "NULL" - : (strcmp(acs_chars, show) - ? "DIFF" - : "SAME"), - _nc_visbuf(show)); - } -#endif /* TRACE */ -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_baudrate.c b/src/libs/ncurses/ncurses/tinfo/lib_baudrate.c deleted file mode 100644 index 5238924143..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_baudrate.c +++ /dev/null @@ -1,222 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * lib_baudrate.c - * - */ - -#include -#include /* cur_term, pad_char */ -#include /* ospeed */ - -/* - * These systems use similar header files, which define B1200 as 1200, etc., - * but can be overridden by defining USE_OLD_TTY so B1200 is 9, which makes all - * of the indices up to B115200 fit nicely in a 'short', allowing us to retain - * ospeed's type for compatibility. - */ -#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) -#undef B0 -#undef B50 -#undef B75 -#undef B110 -#undef B134 -#undef B150 -#undef B200 -#undef B300 -#undef B600 -#undef B1200 -#undef B1800 -#undef B2400 -#undef B4800 -#undef B9600 -#undef B19200 -#undef EXTA -#undef B38400 -#undef EXTB -#undef B57600 -#undef B115200 -#undef B230400 -#undef B460800 -#undef B921600 -#define USE_OLD_TTY -#include -#else -#undef USE_OLD_TTY -#endif /* USE_OLD_TTY */ - -MODULE_ID("$Id: lib_baudrate.c,v 1.22 2002/01/19 23:07:53 Andrey.A.Chernov Exp $") - -/* - * int - * baudrate() - * - * Returns the current terminal's baud rate. - * - */ - -struct speed { - int s; /* value for 'ospeed' is an index */ - int sp; /* the actual speed */ -}; - -static struct speed const speeds[] = -{ - {B0, 0}, - {B50, 50}, - {B75, 75}, - {B110, 110}, - {B134, 134}, - {B150, 150}, - {B200, 200}, - {B300, 300}, - {B600, 600}, - {B1200, 1200}, - {B1800, 1800}, - {B2400, 2400}, - {B4800, 4800}, - {B9600, 9600}, -#ifdef B19200 - {B19200, 19200}, -#else -#ifdef EXTA - {EXTA, 19200}, -#endif -#endif -#ifdef B38400 - {B38400, 38400}, -#else -#ifdef EXTB - {EXTB, 38400}, -#endif -#endif -#ifdef B57600 - {B57600, 57600}, -#endif -#ifdef B115200 - {B115200, 115200}, -#endif -#ifdef B230400 - {B230400, 230400}, -#endif -#ifdef B460800 - {B460800, 460800}, -#endif -#ifdef B921600 - {B921600, 921600}, -#endif -}; - -NCURSES_EXPORT(int) -_nc_baudrate(int OSpeed) -{ - static int last_OSpeed; - static int last_baudrate; - - int result; - unsigned i; - - if (OSpeed == last_OSpeed) { - result = last_baudrate; - } else { - result = ERR; - if (OSpeed >= 0) { - for (i = 0; i < SIZEOF(speeds); i++) { - if (speeds[i].s == OSpeed) { - result = speeds[i].sp; - break; - } - } - } - last_baudrate = result; - } - return (result); -} - -NCURSES_EXPORT(int) -_nc_ospeed(int BaudRate) -{ - int result = 1; - unsigned i; - - if (BaudRate >= 0) { - for (i = 0; i < SIZEOF(speeds); i++) { - if (speeds[i].sp == BaudRate) { - result = speeds[i].s; - break; - } - } - } - return (result); -} - -NCURSES_EXPORT(int) -baudrate(void) -{ - int result; - - T((T_CALLED("baudrate()"))); - - /* - * In debugging, allow the environment symbol to override when we're - * redirecting to a file, so we can construct repeatable test-cases - * that take into account costs that depend on baudrate. - */ -#ifdef TRACE - if (SP && !isatty(fileno(SP->_ofp)) - && getenv("BAUDRATE") != 0) { - int ret; - if ((ret = _nc_getenv_num("BAUDRATE")) <= 0) - ret = 9600; - ospeed = _nc_ospeed(ret); - returnCode(ret); - } -#endif - -#ifdef USE_OLD_TTY - result = cfgetospeed(&cur_term->Nttyb); - ospeed = _nc_ospeed(result); -#else /* !USE_OLD_TTY */ -#ifdef TERMIOS - ospeed = cfgetospeed(&cur_term->Nttyb); -#else - ospeed = cur_term->Nttyb.sg_ospeed; -#endif - result = _nc_baudrate(ospeed); -#endif - if (cur_term != 0) - cur_term->_baudrate = result; - - returnCode(result); -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_cur_term.c b/src/libs/ncurses/ncurses/tinfo/lib_cur_term.c deleted file mode 100644 index 8fccc2f88d..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_cur_term.c +++ /dev/null @@ -1,76 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1997 * - ****************************************************************************/ -/* - * Module that "owns" the 'cur_term' variable: - * - * TERMINAL *set_curterm(TERMINAL *) - * int del_curterm(TERMINAL *) - */ - -#include -#include /* TTY, cur_term */ -#include /* ospeed */ - -MODULE_ID("$Id: lib_cur_term.c,v 1.13 2003/12/27 18:21:30 tom Exp $") - -NCURSES_EXPORT_VAR(TERMINAL *) cur_term = 0; - -NCURSES_EXPORT(TERMINAL *) -set_curterm(TERMINAL * termp) -{ - TERMINAL *oldterm = cur_term; - - T((T_CALLED("set_curterm(%p)"), termp)); - - if ((cur_term = termp) != 0) { - ospeed = _nc_ospeed(cur_term->_baudrate); - PC = (pad_char != NULL) ? pad_char[0] : 0; - } - T((T_RETURN("%p"), oldterm)); - return (oldterm); -} - -NCURSES_EXPORT(int) -del_curterm(TERMINAL * termp) -{ - T((T_CALLED("del_curterm(%p)"), termp)); - - if (termp != 0) { - _nc_free_termtype(&(termp->type)); - FreeIfNeeded(termp->_termname); - free(termp); - if (termp == cur_term) - cur_term = 0; - returnCode(OK); - } - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_data.c b/src/libs/ncurses/ncurses/tinfo/lib_data.c deleted file mode 100644 index 34f033a790..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_data.c +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* -** lib_data.c -** -** Common data that may/may not be allocated, but is referenced globally -** -*/ - -#include - -MODULE_ID("$Id: lib_data.c,v 1.17 2005/01/22 17:39:22 tom Exp $") - -/* - * OS/2's native linker complains if we don't initialize public data when - * constructing a dll (reported by J.J.G.Ripoll). - */ -NCURSES_EXPORT_VAR(WINDOW *) stdscr = 0; -NCURSES_EXPORT_VAR(WINDOW *) curscr = 0; -NCURSES_EXPORT_VAR(WINDOW *) newscr = 0; - -NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain = 0; - -/* - * The variable 'SP' will be defined as a function on systems that cannot link - * data-only modules, since it is used in a lot of places within ncurses and we - * cannot guarantee that any application will use any particular function. We - * put the WINDOW variables in this module, because it appears that any - * application that uses them will also use 'SP'. - * - * This module intentionally does not reference other ncurses modules, to avoid - * module coupling that increases the size of the executable. - */ -#if BROKEN_LINKER -static SCREEN *my_screen; - -NCURSES_EXPORT(SCREEN *) -_nc_screen(void) -{ - return my_screen; -} - -NCURSES_EXPORT(int) -_nc_alloc_screen(void) -{ - return ((my_screen = typeCalloc(SCREEN, 1)) != 0); -} - -NCURSES_EXPORT(void) -_nc_set_screen(SCREEN *sp) -{ - my_screen = sp; -} - -#else -NCURSES_EXPORT_VAR(SCREEN *) SP = NULL; /* Some linkers require initialized data... */ -#endif diff --git a/src/libs/ncurses/ncurses/tinfo/lib_has_cap.c b/src/libs/ncurses/ncurses/tinfo/lib_has_cap.c deleted file mode 100644 index 0dc66bd9b9..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_has_cap.c +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-2003 * - ****************************************************************************/ - -/* -** lib_has_cap.c -** -** The routines to query terminal capabilities -** -*/ - -#include - -#include - -MODULE_ID("$Id: lib_has_cap.c,v 1.4 2003/10/25 19:43:55 tom Exp $") - -NCURSES_EXPORT(bool) -has_ic(void) -{ - T((T_CALLED("has_ic()"))); - returnCode(cur_term && - (insert_character || parm_ich - || (enter_insert_mode && exit_insert_mode)) - && (delete_character || parm_dch)); -} - -NCURSES_EXPORT(bool) -has_il(void) -{ - T((T_CALLED("has_il()"))); - returnCode(cur_term - && (insert_line || parm_insert_line) - && (delete_line || parm_delete_line)); -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_kernel.c b/src/libs/ncurses/ncurses/tinfo/lib_kernel.c deleted file mode 100644 index 89dc1e80ea..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_kernel.c +++ /dev/null @@ -1,154 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 2002 * - ****************************************************************************/ - -/* - * lib_kernel.c - * - * Misc. low-level routines: - * erasechar() - * killchar() - * flushinp() - * - * The baudrate() and delay_output() functions could logically live here, - * but are in other modules to reduce the static-link size of programs - * that use only these facilities. - */ - -#include -#include /* cur_term */ - -MODULE_ID("$Id: lib_kernel.c,v 1.24 2004/05/08 17:11:21 tom Exp $") - -static int -_nc_vdisable(void) -{ - int value = -1; -#if defined(_POSIX_VDISABLE) && HAVE_UNISTD_H - value = _POSIX_VDISABLE; -#endif -#if defined(_PC_VDISABLE) - if (value == -1) { - value = fpathconf(0, _PC_VDISABLE); - if (value == -1) { - value = 0377; - } - } -#elif defined(VDISABLE) - if (value == -1) - value = VDISABLE; -#endif - return value; -} - -/* - * erasechar() - * - * Return erase character as given in cur_term->Ottyb. - * - */ - -NCURSES_EXPORT(char) -erasechar(void) -{ - int result = ERR; - T((T_CALLED("erasechar()"))); - - if (cur_term != 0) { -#ifdef TERMIOS - result = cur_term->Ottyb.c_cc[VERASE]; - if (result == _nc_vdisable()) - result = ERR; -#else - result = cur_term->Ottyb.sg_erase; -#endif - } - returnCode(result); -} - -/* - * killchar() - * - * Return kill character as given in cur_term->Ottyb. - * - */ - -NCURSES_EXPORT(char) -killchar(void) -{ - int result = ERR; - T((T_CALLED("killchar()"))); - - if (cur_term != 0) { -#ifdef TERMIOS - result = cur_term->Ottyb.c_cc[VKILL]; - if (result == _nc_vdisable()) - result = ERR; -#else - result = cur_term->Ottyb.sg_kill; -#endif - } - returnCode(result); -} - -/* - * flushinp() - * - * Flush any input on cur_term->Filedes - * - */ - -NCURSES_EXPORT(int) -flushinp(void) -{ - T((T_CALLED("flushinp()"))); - - if (cur_term != 0) { -#ifdef TERMIOS - tcflush(cur_term->Filedes, TCIFLUSH); -#else - errno = 0; - do { - ioctl(cur_term->Filedes, TIOCFLUSH, 0); - } while - (errno == EINTR); -#endif - if (SP) { - SP->_fifohead = -1; - SP->_fifotail = 0; - SP->_fifopeek = 0; - } - returnCode(OK); - } - returnCode(ERR); -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_longname.c b/src/libs/ncurses/ncurses/tinfo/lib_longname.c deleted file mode 100644 index 1301ee5169..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_longname.c +++ /dev/null @@ -1,57 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_longname.c -** -** The routine longname(). -** -*/ - -#include - -MODULE_ID("$Id: lib_longname.c,v 1.9 2000/12/10 02:55:07 tom Exp $") - -NCURSES_EXPORT(char *) -longname(void) -{ - char *ptr; - - T((T_CALLED("longname()"))); - - for (ptr = ttytype + strlen(ttytype); ptr > ttytype; ptr--) - if (*ptr == '|') - returnPtr(ptr + 1); - - returnPtr(ttytype); -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_napms.c b/src/libs/ncurses/ncurses/tinfo/lib_napms.c deleted file mode 100644 index 926afa836d..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_napms.c +++ /dev/null @@ -1,74 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * lib_napms.c - * - * The routine napms. - * - * (This file was originally written by Eric Raymond; however except for - * comments, none of the original code remains - T.Dickey). - */ - -#include - -#if HAVE_NANOSLEEP -#include -#if HAVE_SYS_TIME_H -#include /* needed for MacOS X DP3 */ -#endif -#endif - -MODULE_ID("$Id: lib_napms.c,v 1.15 2005/04/03 13:58:14 tom Exp $") - -NCURSES_EXPORT(int) -napms(int ms) -{ - T((T_CALLED("napms(%d)"), ms)); - -#if HAVE_NANOSLEEP - { - struct timespec request, remaining; - request.tv_sec = ms / 1000; - request.tv_nsec = (ms % 1000) * 1000000; - while (nanosleep(&request, &remaining) == -1 - && errno == EINTR) { - request = remaining; - } - } -#else - _nc_timed_wait(0, ms, (int *) 0 EVENTLIST_2nd(0)); -#endif - - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_options.c b/src/libs/ncurses/ncurses/tinfo/lib_options.c deleted file mode 100644 index eae856a255..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_options.c +++ /dev/null @@ -1,270 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* -** lib_options.c -** -** The routines to handle option setting. -** -*/ - -#include - -#include - -MODULE_ID("$Id: lib_options.c,v 1.48 2005/01/22 21:13:34 tom Exp $") - -NCURSES_EXPORT(int) -idlok(WINDOW *win, bool flag) -{ - T((T_CALLED("idlok(%p,%d)"), win, flag)); - - if (win) { - _nc_idlok = win->_idlok = (flag && (has_il() || change_scroll_region)); - returnCode(OK); - } else - returnCode(ERR); -} - -NCURSES_EXPORT(void) -idcok(WINDOW *win, bool flag) -{ - T((T_CALLED("idcok(%p,%d)"), win, flag)); - - if (win) - _nc_idcok = win->_idcok = (flag && has_ic()); - - returnVoid; -} - -NCURSES_EXPORT(int) -halfdelay(int t) -{ - T((T_CALLED("halfdelay(%d)"), t)); - - if (t < 1 || t > 255 || SP == 0) - returnCode(ERR); - - cbreak(); - SP->_cbreak = t + 1; - returnCode(OK); -} - -NCURSES_EXPORT(int) -nodelay(WINDOW *win, bool flag) -{ - T((T_CALLED("nodelay(%p,%d)"), win, flag)); - - if (win) { - if (flag == TRUE) - win->_delay = 0; - else - win->_delay = -1; - returnCode(OK); - } else - returnCode(ERR); -} - -NCURSES_EXPORT(int) -notimeout(WINDOW *win, bool f) -{ - T((T_CALLED("notimout(%p,%d)"), win, f)); - - if (win) { - win->_notimeout = f; - returnCode(OK); - } else - returnCode(ERR); -} - -NCURSES_EXPORT(void) -wtimeout(WINDOW *win, int delay) -{ - T((T_CALLED("wtimeout(%p,%d)"), win, delay)); - - if (win) { - win->_delay = delay; - } - returnVoid; -} - -NCURSES_EXPORT(int) -keypad(WINDOW *win, bool flag) -{ - T((T_CALLED("keypad(%p,%d)"), win, flag)); - - if (win) { - win->_use_keypad = flag; - returnCode(_nc_keypad(flag)); - } else - returnCode(ERR); -} - -NCURSES_EXPORT(int) -meta(WINDOW *win GCC_UNUSED, bool flag) -{ - int result = ERR; - - /* Ok, we stay relaxed and don't signal an error if win is NULL */ - T((T_CALLED("meta(%p,%d)"), win, flag)); - - if (SP != 0) { - SP->_use_meta = flag; - - if (flag && meta_on) { - TPUTS_TRACE("meta_on"); - putp(meta_on); - } else if (!flag && meta_off) { - TPUTS_TRACE("meta_off"); - putp(meta_off); - } - result = OK; - } - returnCode(result); -} - -/* curs_set() moved here to narrow the kernel interface */ - -NCURSES_EXPORT(int) -curs_set(int vis) -{ - int result = ERR; - - T((T_CALLED("curs_set(%d)"), vis)); - if (SP != 0 && vis >= 0 && vis <= 2) { - int cursor = SP->_cursor; - - if (vis == cursor) { - result = cursor; - } else { - result = (cursor == -1 ? 1 : cursor); - switch (vis) { - case 2: - if (cursor_visible) { - TPUTS_TRACE("cursor_visible"); - putp(cursor_visible); - } else - result = ERR; - break; - case 1: - if (cursor_normal) { - TPUTS_TRACE("cursor_normal"); - putp(cursor_normal); - } else - result = ERR; - break; - case 0: - if (cursor_invisible) { - TPUTS_TRACE("cursor_invisible"); - putp(cursor_invisible); - } else - result = ERR; - break; - } - SP->_cursor = vis; - _nc_flush(); - } - } - returnCode(result); -} - -NCURSES_EXPORT(int) -typeahead(int fd) -{ - T((T_CALLED("typeahead(%d)"), fd)); - if (SP != 0) { - SP->_checkfd = fd; - returnCode(OK); - } else { - returnCode(ERR); - } -} - -/* -** has_key() -** -** Return TRUE if the current terminal has the given key -** -*/ - -#if NCURSES_EXT_FUNCS -static int -has_key_internal(int keycode, struct tries *tp) -{ - if (tp == 0) - return (FALSE); - else if (tp->value == keycode) - return (TRUE); - else - return (has_key_internal(keycode, tp->child) - || has_key_internal(keycode, tp->sibling)); -} - -NCURSES_EXPORT(int) -has_key(int keycode) -{ - T((T_CALLED("has_key(%d)"), keycode)); - returnCode(SP != 0 ? has_key_internal(keycode, SP->_keytry) : FALSE); -} -#endif /* NCURSES_EXT_FUNCS */ - -/* Turn the keypad on/off - * - * Note: we flush the output because changing this mode causes some terminals - * to emit different escape sequences for cursor and keypad keys. If we don't - * flush, then the next wgetch may get the escape sequence that corresponds to - * the terminal state _before_ switching modes. - */ -NCURSES_EXPORT(int) -_nc_keypad(bool flag) -{ - if (flag && keypad_xmit) { - TPUTS_TRACE("keypad_xmit"); - putp(keypad_xmit); - _nc_flush(); - } else if (!flag && keypad_local) { - TPUTS_TRACE("keypad_local"); - putp(keypad_local); - _nc_flush(); - } - - if (SP != 0) { - if (flag && !SP->_tried) { - _nc_init_keytry(); - SP->_tried = TRUE; - } - SP->_keypad_on = flag; - } - return (OK); -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_print.c b/src/libs/ncurses/ncurses/tinfo/lib_print.c deleted file mode 100644 index 3a98bc96a2..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_print.c +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -#include - -#include - -MODULE_ID("$Id: lib_print.c,v 1.15 2002/08/17 23:41:34 tom Exp $") - -NCURSES_EXPORT(int) -mcprint(char *data, int len) -/* ship binary character data to the printer via mc4/mc5/mc5p */ -{ - char *mybuf, *switchon; - size_t onsize, offsize, res; - - errno = 0; - if (!cur_term || (!prtr_non && (!prtr_on || !prtr_off))) { - errno = ENODEV; - return (ERR); - } - - if (prtr_non) { - switchon = tparm(prtr_non, len); - onsize = strlen(switchon); - offsize = 0; - } else { - switchon = prtr_on; - onsize = strlen(prtr_on); - offsize = strlen(prtr_off); - } - - if (switchon == 0 - || (mybuf = typeMalloc(char, onsize + len + offsize + 1)) == 0) { - errno = ENOMEM; - return (ERR); - } - - (void) strcpy(mybuf, switchon); - memcpy(mybuf + onsize, data, (unsigned) len); - if (offsize) - (void) strcpy(mybuf + onsize + len, prtr_off); - - /* - * We're relying on the atomicity of UNIX writes here. The - * danger is that output from a refresh() might get interspersed - * with the printer data after the write call returns but before the - * data has actually been shipped to the terminal. If the write(2) - * operation is truly atomic we're protected from this. - */ - res = write(cur_term->Filedes, mybuf, onsize + len + offsize); - - /* - * By giving up our scheduler slot here we increase the odds that the - * kernel will ship the contiguous clist items from the last write - * immediately. - */ - (void) sleep(0); - - free(mybuf); - return (res); -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_raw.c b/src/libs/ncurses/ncurses/tinfo/lib_raw.c deleted file mode 100644 index aa09f52c8c..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_raw.c +++ /dev/null @@ -1,296 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1998 on * - ****************************************************************************/ - -/* - * raw.c - * - * Routines: - * raw() - * cbreak() - * noraw() - * nocbreak() - * qiflush() - * noqiflush() - * intrflush() - * - */ - -#include -#include /* cur_term */ - -MODULE_ID("$Id: lib_raw.c,v 1.13 2002/07/06 22:00:45 tom Exp $") - -#if SVR4_TERMIO && !defined(_POSIX_SOURCE) -#define _POSIX_SOURCE -#endif - -#if HAVE_SYS_TERMIO_H -#include /* needed for ISC */ -#endif - -#ifdef __EMX__ -#include -#define _nc_setmode(mode) setmode(SP->_ifd, mode) -#else -#define _nc_setmode(mode) /* nothing */ -#endif - -#define COOKED_INPUT (IXON|BRKINT|PARMRK) - -#ifdef TRACE -#define BEFORE(N) if (_nc_tracing&TRACE_BITS) _tracef("%s before bits: %s", N, _nc_tracebits()) -#define AFTER(N) if (_nc_tracing&TRACE_BITS) _tracef("%s after bits: %s", N, _nc_tracebits()) -#else -#define BEFORE(s) -#define AFTER(s) -#endif /* TRACE */ - -NCURSES_EXPORT(int) -raw(void) -{ - int result = ERR; - - T((T_CALLED("raw()"))); - - if (SP != 0 && cur_term != 0) { - TTY buf; - - BEFORE("raw"); - _nc_setmode(O_BINARY); - - buf = cur_term->Nttyb; -#ifdef TERMIOS - buf.c_lflag &= ~(ICANON | ISIG | IEXTEN); - buf.c_iflag &= ~(COOKED_INPUT); - buf.c_cc[VMIN] = 1; - buf.c_cc[VTIME] = 0; -#else - buf.sg_flags |= RAW; -#endif - if ((result = _nc_set_tty_mode(&buf)) == OK) { - SP->_raw = TRUE; - SP->_cbreak = 1; - cur_term->Nttyb = buf; - } - AFTER("raw"); - } - returnCode(result); -} - -NCURSES_EXPORT(int) -cbreak(void) -{ - int result = ERR; - - T((T_CALLED("cbreak()"))); - - if (SP != 0 && cur_term != 0) { - TTY buf; - - BEFORE("cbreak"); - _nc_setmode(O_BINARY); - - buf = cur_term->Nttyb; -#ifdef TERMIOS - buf.c_lflag &= ~ICANON; - buf.c_iflag &= ~ICRNL; - buf.c_lflag |= ISIG; - buf.c_cc[VMIN] = 1; - buf.c_cc[VTIME] = 0; -#else - buf.sg_flags |= CBREAK; -#endif - if ((result = _nc_set_tty_mode(&buf)) == OK) { - SP->_cbreak = 1; - cur_term->Nttyb = buf; - } - AFTER("cbreak"); - } - returnCode(result); -} - -/* - * Note: - * this implementation may be wrong. See the comment under intrflush(). - */ -NCURSES_EXPORT(void) -qiflush(void) -{ - int result = ERR; - - T((T_CALLED("qiflush()"))); - - if (cur_term != 0) { - TTY buf; - - BEFORE("qiflush"); - buf = cur_term->Nttyb; -#ifdef TERMIOS - buf.c_lflag &= ~(NOFLSH); - result = _nc_set_tty_mode(&buf); -#else - /* FIXME */ -#endif - if (result == OK) - cur_term->Nttyb = buf; - AFTER("qiflush"); - } - returnVoid; -} - -NCURSES_EXPORT(int) -noraw(void) -{ - int result = ERR; - - T((T_CALLED("noraw()"))); - - if (SP != 0 && cur_term != 0) { - TTY buf; - - BEFORE("noraw"); - _nc_setmode(O_TEXT); - - buf = cur_term->Nttyb; -#ifdef TERMIOS - buf.c_lflag |= ISIG | ICANON | - (cur_term->Ottyb.c_lflag & IEXTEN); - buf.c_iflag |= COOKED_INPUT; -#else - buf.sg_flags &= ~(RAW | CBREAK); -#endif - if ((result = _nc_set_tty_mode(&buf)) == OK) { - SP->_raw = FALSE; - SP->_cbreak = 0; - cur_term->Nttyb = buf; - } - AFTER("noraw"); - } - returnCode(result); -} - -NCURSES_EXPORT(int) -nocbreak(void) -{ - int result = ERR; - - T((T_CALLED("nocbreak()"))); - - if (SP != 0 && cur_term != 0) { - TTY buf; - - BEFORE("nocbreak"); - _nc_setmode(O_TEXT); - - buf = cur_term->Nttyb; -#ifdef TERMIOS - buf.c_lflag |= ICANON; - buf.c_iflag |= ICRNL; -#else - buf.sg_flags &= ~CBREAK; -#endif - if ((result = _nc_set_tty_mode(&buf)) == OK) { - SP->_cbreak = 0; - cur_term->Nttyb = buf; - } - AFTER("nocbreak"); - } - returnCode(result); -} - -/* - * Note: - * this implementation may be wrong. See the comment under intrflush(). - */ -NCURSES_EXPORT(void) -noqiflush(void) -{ - int result = ERR; - - T((T_CALLED("noqiflush()"))); - - if (cur_term != 0) { - TTY buf; - - BEFORE("noqiflush"); - buf = cur_term->Nttyb; -#ifdef TERMIOS - buf.c_lflag |= NOFLSH; - result = _nc_set_tty_mode(&buf); -#else - /* FIXME */ -#endif - if (result == OK) { - cur_term->Nttyb = buf; - } - AFTER("noqiflush"); - } - returnVoid; -} - -/* - * This call does the same thing as the qiflush()/noqiflush() pair. We know - * for certain that SVr3 intrflush() tweaks the NOFLSH bit; on the other hand, - * the match (in the SVr4 man pages) between the language describing NOFLSH in - * termio(7) and the language describing qiflush()/noqiflush() in - * curs_inopts(3x) is too exact to be coincidence. - */ -NCURSES_EXPORT(int) -intrflush(WINDOW *win GCC_UNUSED, bool flag) -{ - int result = ERR; - - T((T_CALLED("intrflush(%d)"), flag)); - - if (cur_term != 0) { - TTY buf; - - BEFORE("intrflush"); - buf = cur_term->Nttyb; -#ifdef TERMIOS - if (flag) - buf.c_lflag &= ~(NOFLSH); - else - buf.c_lflag |= (NOFLSH); - result = _nc_set_tty_mode(&buf); -#else - /* FIXME */ -#endif - if (result == OK) { - cur_term->Nttyb = buf; - } - AFTER("intrflush"); - } - returnCode(result); -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_setup.c b/src/libs/ncurses/ncurses/tinfo/lib_setup.c deleted file mode 100644 index 4b0ec46ea6..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_setup.c +++ /dev/null @@ -1,562 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-2003 * - ****************************************************************************/ - -/* - * Terminal setup routines common to termcap and terminfo: - * - * use_env(bool) - * setupterm(char *, int, int *) - */ - -#include -#include /* for MAX_NAME_SIZE */ -#include - -#if SVR4_TERMIO && !defined(_POSIX_SOURCE) -#define _POSIX_SOURCE -#endif - -#if HAVE_LOCALE_H -#include -#endif - -#include /* lines, columns, cur_term */ - -MODULE_ID("$Id: lib_setup.c,v 1.88 2005/03/12 19:41:45 tom Exp $") - -/**************************************************************************** - * - * Terminal size computation - * - ****************************************************************************/ - -#if HAVE_SIZECHANGE -# if !defined(sun) || !TERMIOS -# if HAVE_SYS_IOCTL_H -# include -# endif -# endif -#endif - -#if NEED_PTEM_H - /* On SCO, they neglected to define struct winsize in termios.h -- it's only - * in termio.h and ptem.h (the former conflicts with other definitions). - */ -# include -# include -#endif - -#if HAVE_LANGINFO_CODESET -#include -#endif - -/* - * SCO defines TIOCGSIZE and the corresponding struct. Other systems (SunOS, - * Solaris, IRIX) define TIOCGWINSZ and struct winsize. - */ -#ifdef TIOCGSIZE -# define IOCTL_WINSIZE TIOCGSIZE -# define STRUCT_WINSIZE struct ttysize -# define WINSIZE_ROWS(n) (int)n.ts_lines -# define WINSIZE_COLS(n) (int)n.ts_cols -#else -# ifdef TIOCGWINSZ -# define IOCTL_WINSIZE TIOCGWINSZ -# define STRUCT_WINSIZE struct winsize -# define WINSIZE_ROWS(n) (int)n.ws_row -# define WINSIZE_COLS(n) (int)n.ws_col -# endif -#endif - -NCURSES_EXPORT_VAR(char) ttytype[NAMESIZE] = ""; -NCURSES_EXPORT_VAR(int) LINES = 0; -NCURSES_EXPORT_VAR(int) COLS = 0; -NCURSES_EXPORT_VAR(int) TABSIZE = 0; - -static int _use_env = TRUE; - -NCURSES_EXPORT(void) -use_env(bool f) -{ - T((T_CALLED("use_env()"))); - _use_env = f; - returnVoid; -} - -static void -_nc_get_screensize(int *linep, int *colp) -/* Obtain lines/columns values from the environment and/or terminfo entry */ -{ - /* figure out the size of the screen */ - T(("screen size: terminfo lines = %d columns = %d", lines, columns)); - - if (!_use_env) { - *linep = (int) lines; - *colp = (int) columns; - } else { /* usually want to query LINES and COLUMNS from environment */ - int value; - - *linep = *colp = 0; - - /* first, look for environment variables */ - if ((value = _nc_getenv_num("LINES")) > 0) { - *linep = value; - } - if ((value = _nc_getenv_num("COLUMNS")) > 0) { - *colp = value; - } - T(("screen size: environment LINES = %d COLUMNS = %d", *linep, *colp)); - -#ifdef __EMX__ - if (*linep <= 0 || *colp <= 0) { - int screendata[2]; - _scrsize(screendata); - *colp = screendata[0]; - *linep = screendata[1]; - T(("EMX screen size: environment LINES = %d COLUMNS = %d", - *linep, *colp)); - } -#endif -#if HAVE_SIZECHANGE - /* if that didn't work, maybe we can try asking the OS */ - if (*linep <= 0 || *colp <= 0) { - if (isatty(cur_term->Filedes)) { - STRUCT_WINSIZE size; - - errno = 0; - do { - if (ioctl(cur_term->Filedes, IOCTL_WINSIZE, &size) < 0 - && errno != EINTR) - goto failure; - } while - (errno == EINTR); - - /* - * Solaris lets users override either dimension with an - * environment variable. - */ - if (*linep <= 0) - *linep = WINSIZE_ROWS(size); - if (*colp <= 0) - *colp = WINSIZE_COLS(size); - } - /* FALLTHRU */ - failure:; - } -#endif /* HAVE_SIZECHANGE */ - - /* if we can't get dynamic info about the size, use static */ - if (*linep <= 0) { - *linep = (int) lines; - } - if (*colp <= 0) { - *colp = (int) columns; - } - - /* the ultimate fallback, assume fixed 24x80 size */ - if (*linep <= 0) { - *linep = 24; - } - if (*colp <= 0) { - *colp = 80; - } - - /* - * Put the derived values back in the screen-size caps, so - * tigetnum() and tgetnum() will do the right thing. - */ - lines = (short) (*linep); - columns = (short) (*colp); - } - - T(("screen size is %dx%d", *linep, *colp)); - - if (VALID_NUMERIC(init_tabs)) - TABSIZE = (int) init_tabs; - else - TABSIZE = 8; - T(("TABSIZE = %d", TABSIZE)); -} - -#if USE_SIZECHANGE -NCURSES_EXPORT(void) -_nc_update_screensize(void) -{ - int old_lines = lines; - int new_lines; - int old_cols = columns; - int new_cols; - - _nc_get_screensize(&new_lines, &new_cols); - - /* - * See is_term_resized() and resizeterm(). - * We're doing it this way because those functions belong to the upper - * ncurses library, while this resides in the lower terminfo library. - */ - if (SP != 0 - && SP->_resize != 0) { - if ((new_lines != old_lines) || (new_cols != old_cols)) - SP->_resize(new_lines, new_cols); - SP->_sig_winch = FALSE; - } -} -#endif - -/**************************************************************************** - * - * Terminal setup - * - ****************************************************************************/ - -#define ret_error(code, fmt, arg) if (errret) {\ - *errret = code;\ - returnCode(ERR);\ - } else {\ - fprintf(stderr, fmt, arg);\ - exit(EXIT_FAILURE);\ - } - -#define ret_error0(code, msg) if (errret) {\ - *errret = code;\ - returnCode(ERR);\ - } else {\ - fprintf(stderr, msg);\ - exit(EXIT_FAILURE);\ - } - -#if USE_DATABASE || USE_TERMCAP -static int -grab_entry(const char *const tn, TERMTYPE *const tp) -/* return 1 if entry found, 0 if not found, -1 if database not accessible */ -{ -#if USE_DATABASE - char filename[PATH_MAX]; -#endif - int status; - - /* - * $TERM shouldn't contain pathname delimiters. - */ - if (strchr(tn, '/')) - return 0; - -#if USE_DATABASE - if ((status = _nc_read_entry(tn, filename, tp)) != 1) { - -#if !PURE_TERMINFO - /* - * Try falling back on the termcap file. - * Note: allowing this call links the entire terminfo/termcap - * compiler into the startup code. It's preferable to build a - * real terminfo database and use that. - */ - status = _nc_read_termcap_entry(tn, tp); -#endif /* PURE_TERMINFO */ - - } -#else - status = _nc_read_termcap_entry(tn, tp); -#endif - - /* - * If we have an entry, force all of the cancelled strings to null - * pointers so we don't have to test them in the rest of the library. - * (The terminfo compiler bypasses this logic, since it must know if - * a string is cancelled, for merging entries). - */ - if (status == 1) { - unsigned n; - for_each_boolean(n, tp) { - if (!VALID_BOOLEAN(tp->Booleans[n])) - tp->Booleans[n] = FALSE; - } - for_each_string(n, tp) { - if (tp->Strings[n] == CANCELLED_STRING) - tp->Strings[n] = ABSENT_STRING; - } - } - return (status); -} -#endif - -/* -** do_prototype() -** -** Take the real command character out of the CC environment variable -** and substitute it in for the prototype given in 'command_character'. -** -*/ -static void -do_prototype(void) -{ - int i; - char CC; - char proto; - char *tmp; - - tmp = getenv("CC"); - CC = *tmp; - proto = *command_character; - - for_each_string(i, &(cur_term->type)) { - for (tmp = cur_term->type.Strings[i]; *tmp; tmp++) { - if (*tmp == proto) - *tmp = CC; - } - } -} - -/* - * Find the locale which is in effect. - */ -NCURSES_EXPORT(char *) -_nc_get_locale(void) -{ - char *env; -#if HAVE_LOCALE_H - /* - * This is preferable to using getenv() since it ensures that we are using - * the locale which was actually initialized by the application. - */ - env = setlocale(LC_CTYPE, 0); -#else - if (((env = getenv("LC_ALL")) != 0 && *env != '\0') - || ((env = getenv("LC_CTYPE")) != 0 && *env != '\0') - || ((env = getenv("LANG")) != 0 && *env != '\0')) { - ; - } -#endif - T(("_nc_get_locale %s", _nc_visbuf(env))); - return env; -} - -/* - * Check if we are running in a UTF-8 locale. - */ -NCURSES_EXPORT(int) -_nc_unicode_locale(void) -{ - int result = 0; -#if HAVE_LANGINFO_CODESET - char *env = nl_langinfo(CODESET); - result = !strcmp(env, "UTF-8"); - T(("_nc_unicode_locale(%s) ->%d", env, result)); -#else - char *env = _nc_get_locale(); - if (env != 0) { - if (strstr(env, ".UTF-8") != 0) { - result = 1; - T(("_nc_unicode_locale(%s) ->%d", env, result)); - } - } -#endif - return result; -} - -#define CONTROL_N(s) ((s) != 0 && strstr(s, "\016") != 0) -#define CONTROL_O(s) ((s) != 0 && strstr(s, "\017") != 0) - -/* - * Check for known broken cases where a UTF-8 locale breaks the alternate - * character set. - */ -NCURSES_EXPORT(int) -_nc_locale_breaks_acs(void) -{ - char *env; - - if ((env = getenv("NCURSES_NO_UTF8_ACS")) != 0) { - return atoi(env); - } else if ((env = getenv("TERM")) != 0) { - if (strstr(env, "linux")) - return 1; /* always broken */ - if (strstr(env, "screen") != 0 - && ((env = getenv("TERMCAP")) != 0 - && strstr(env, "screen") != 0) - && strstr(env, "hhII00") != 0) { - if (CONTROL_N(enter_alt_charset_mode) || - CONTROL_O(enter_alt_charset_mode) || - CONTROL_N(set_attributes) || - CONTROL_O(set_attributes)) - return 1; - } - } - return 0; -} - -/* - * This entrypoint is called from tgetent() to allow special a case of reusing - * the same TERMINAL data (see comment). - */ -NCURSES_EXPORT(int) -_nc_setupterm(NCURSES_CONST char *tname, int Filedes, int *errret, bool reuse) -{ - int status; - - START_TRACE(); - T((T_CALLED("setupterm(%s,%d,%p)"), _nc_visbuf(tname), Filedes, errret)); - - if (tname == 0) { - tname = getenv("TERM"); - if (tname == 0 || *tname == '\0') { - ret_error0(-1, "TERM environment variable not set.\n"); - } - } - if (strlen(tname) > MAX_NAME_SIZE) { - ret_error(-1, "TERM environment must be <= %d characters.\n", - MAX_NAME_SIZE); - } - - T(("your terminal name is %s", tname)); - - /* - * Allow output redirection. This is what SVr3 does. If stdout is - * directed to a file, screen updates go to standard error. - */ - if (Filedes == STDOUT_FILENO && !isatty(Filedes)) - Filedes = STDERR_FILENO; - - /* - * Check if we have already initialized to use this terminal. If so, we - * do not need to re-read the terminfo entry, or obtain TTY settings. - * - * This is an improvement on SVr4 curses. If an application mixes curses - * and termcap calls, it may call both initscr and tgetent. This is not - * really a good thing to do, but can happen if someone tries using ncurses - * with the readline library. The problem we are fixing is that when - * tgetent calls setupterm, the resulting Ottyb struct in cur_term is - * zeroed. A subsequent call to endwin uses the zeroed terminal settings - * rather than the ones saved in initscr. So we check if cur_term appears - * to contain terminal settings for the same output file as our current - * call - and copy those terminal settings. (SVr4 curses does not do this, - * however applications that are working around the problem will still work - * properly with this feature). - */ - if (reuse - && cur_term != 0 - && cur_term->Filedes == Filedes - && cur_term->_termname != 0 - && !strcmp(cur_term->_termname, tname) - && _nc_name_match(cur_term->type.term_names, tname, "|")) { - T(("reusing existing terminal information and mode-settings")); - } else { - TERMINAL *term_ptr; - - term_ptr = typeCalloc(TERMINAL, 1); - - if (term_ptr == 0) { - ret_error0(-1, - "Not enough memory to create terminal structure.\n"); - } -#if USE_DATABASE || USE_TERMCAP - status = grab_entry(tname, &term_ptr->type); -#else - status = 0; -#endif - - /* try fallback list if entry on disk */ - if (status != 1) { - const TERMTYPE *fallback = _nc_fallback(tname); - - if (fallback) { - term_ptr->type = *fallback; - status = 1; - } - } - - if (status <= 0) { - del_curterm(term_ptr); - if (status == -1) { - ret_error0(-1, "terminals database is inaccessible\n"); - } else if (status == 0) { - ret_error(0, "'%s': unknown terminal type.\n", tname); - } - } - - set_curterm(term_ptr); - - if (command_character && getenv("CC")) - do_prototype(); - - strncpy(ttytype, cur_term->type.term_names, NAMESIZE - 1); - ttytype[NAMESIZE - 1] = '\0'; - - cur_term->Filedes = Filedes; - cur_term->_termname = strdup(tname); - - /* - * If an application calls setupterm() rather than initscr() or - * newterm(), we will not have the def_prog_mode() call in - * _nc_setupscreen(). Do it now anyway, so we can initialize the - * baudrate. - */ - if (isatty(Filedes)) { - def_prog_mode(); - baudrate(); - } - } - - /* - * We should always check the screensize, just in case. - */ - _nc_get_screensize(&LINES, &COLS); - - if (errret) - *errret = 1; - - T((T_CREATE("screen %s %dx%d"), tname, LINES, COLS)); - - if (generic_type) { - ret_error(0, "'%s': I need something more specific.\n", tname); - } - if (hard_copy) { - ret_error(1, "'%s': I can't handle hardcopy terminals.\n", tname); - } - returnCode(OK); -} - -/* - * setupterm(termname, Filedes, errret) - * - * Find and read the appropriate object file for the terminal - * Make cur_term point to the structure. - * - */ - -NCURSES_EXPORT(int) -setupterm(NCURSES_CONST char *tname, int Filedes, int *errret) -{ - return _nc_setupterm(tname, Filedes, errret, FALSE); -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_termcap.c b/src/libs/ncurses/ncurses/tinfo/lib_termcap.c deleted file mode 100644 index c92e9ab47b..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_termcap.c +++ /dev/null @@ -1,218 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - * * - * some of the code in here was contributed by: * - * Magnus Bengtsson, d6mbeng@dtek.chalmers.se (Nov'93) * - ****************************************************************************/ - -#define __INTERNAL_CAPS_VISIBLE -#include - -#include -#include -#include - -#include - -MODULE_ID("$Id: lib_termcap.c,v 1.51 2005/07/16 23:12:51 tom Exp $") - -NCURSES_EXPORT_VAR(char *) UP = 0; -NCURSES_EXPORT_VAR(char *) BC = 0; - -static char *fix_me = 0; /* this holds the filtered sgr0 string */ - -/*************************************************************************** - * - * tgetent(bufp, term) - * - * In termcap, this function reads in the entry for terminal `term' into the - * buffer pointed to by bufp. It must be called before any of the functions - * below are called. - * In this terminfo emulation, tgetent() simply calls setupterm() (which - * does a bit more than tgetent() in termcap does), and returns its return - * value (1 if successful, 0 if no terminal with the given name could be - * found, or -1 if no terminal descriptions have been installed on the - * system). The bufp argument is ignored. - * - ***************************************************************************/ - -NCURSES_EXPORT(int) -tgetent(char *bufp GCC_UNUSED, const char *name) -{ - int errcode; - - START_TRACE(); - T((T_CALLED("tgetent()"))); - - _nc_setupterm((NCURSES_CONST char *) name, STDOUT_FILENO, &errcode, TRUE); - - PC = 0; - UP = 0; - BC = 0; - fix_me = 0; /* don't free it - application may still use */ - - if (errcode == 1) { - - if (cursor_left) - if ((backspaces_with_bs = !strcmp(cursor_left, "\b")) == 0) - backspace_if_not_bs = cursor_left; - - /* we're required to export these */ - if (pad_char != NULL) - PC = pad_char[0]; - if (cursor_up != NULL) - UP = cursor_up; - if (backspace_if_not_bs != NULL) - BC = backspace_if_not_bs; - - FreeIfNeeded(fix_me); - if ((fix_me = _nc_trim_sgr0(&(cur_term->type))) != 0) { - if (!strcmp(fix_me, exit_attribute_mode)) { - if (fix_me != exit_attribute_mode) { - free(fix_me); - } - fix_me = 0; - } - } - - (void) baudrate(); /* sets ospeed as a side-effect */ - -/* LINT_PREPRO -#if 0*/ -#include -/* LINT_PREPRO -#endif*/ - - } - returnCode(errcode); -} - -/*************************************************************************** - * - * tgetflag(str) - * - * Look up boolean termcap capability str and return its value (TRUE=1 if - * present, FALSE=0 if not). - * - ***************************************************************************/ - -NCURSES_EXPORT(int) -tgetflag(NCURSES_CONST char *id) -{ - unsigned i; - - T((T_CALLED("tgetflag(%s)"), id)); - if (cur_term != 0) { - TERMTYPE *tp = &(cur_term->type); - for_each_boolean(i, tp) { - const char *capname = ExtBoolname(tp, i, boolcodes); - if (!strncmp(id, capname, 2)) { - /* setupterm forces invalid booleans to false */ - returnCode(tp->Booleans[i]); - } - } - } - returnCode(0); /* Solaris does this */ -} - -/*************************************************************************** - * - * tgetnum(str) - * - * Look up numeric termcap capability str and return its value, or -1 if - * not given. - * - ***************************************************************************/ - -NCURSES_EXPORT(int) -tgetnum(NCURSES_CONST char *id) -{ - unsigned i; - - T((T_CALLED("tgetnum(%s)"), id)); - if (cur_term != 0) { - TERMTYPE *tp = &(cur_term->type); - for_each_number(i, tp) { - const char *capname = ExtNumname(tp, i, numcodes); - if (!strncmp(id, capname, 2)) { - if (!VALID_NUMERIC(tp->Numbers[i])) - returnCode(ABSENT_NUMERIC); - returnCode(tp->Numbers[i]); - } - } - } - returnCode(ABSENT_NUMERIC); -} - -/*************************************************************************** - * - * tgetstr(str, area) - * - * Look up string termcap capability str and return a pointer to its value, - * or NULL if not given. - * - ***************************************************************************/ - -NCURSES_EXPORT(char *) -tgetstr(NCURSES_CONST char *id, char **area) -{ - unsigned i; - char *result = NULL; - - T((T_CALLED("tgetstr(%s,%p)"), id, area)); - if (cur_term != 0) { - TERMTYPE *tp = &(cur_term->type); - for_each_string(i, tp) { - const char *capname = ExtStrname(tp, i, strcodes); - if (!strncmp(id, capname, 2)) { - result = tp->Strings[i]; - TR(TRACE_DATABASE, ("found match : %s", _nc_visbuf(result))); - /* setupterm forces canceled strings to null */ - if (VALID_STRING(result)) { - if (result == exit_attribute_mode - && fix_me != 0) { - result = fix_me; - TR(TRACE_DATABASE, ("altered to : %s", _nc_visbuf(result))); - } - if (area != 0 - && *area != 0) { - (void) strcpy(*area, result); - *area += strlen(*area) + 1; - } - } - break; - } - } - } - returnPtr(result); -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_termname.c b/src/libs/ncurses/ncurses/tinfo/lib_termname.c deleted file mode 100644 index 713d0be8c3..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_termname.c +++ /dev/null @@ -1,44 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -#include - -MODULE_ID("$Id: lib_termname.c,v 1.8 2003/12/27 18:23:01 tom Exp $") - -NCURSES_EXPORT(char *) -termname(void) -{ - char *name = 0; - - T((T_CALLED("termname()"))); - - if (cur_term != 0) - name = cur_term->_termname; - - returnPtr(name); -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_tgoto.c b/src/libs/ncurses/ncurses/tinfo/lib_tgoto.c deleted file mode 100644 index 84d4a7f36d..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_tgoto.c +++ /dev/null @@ -1,203 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2000-2002,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey * - ****************************************************************************/ - -#include - -#include -#include - -MODULE_ID("$Id: lib_tgoto.c,v 1.11 2003/11/30 00:22:18 Juha.Jarvi Exp $") - -#if !PURE_TERMINFO -static bool -is_termcap(const char *string) -{ - bool result = TRUE; - - if (string == 0 || *string == '\0') { - result = FALSE; /* tparm() handles empty strings */ - } else { - while ((*string != '\0') && result) { - if (*string == '%') { - switch (*++string) { - case 'p': - result = FALSE; - break; - case '\0': - string--; - break; - } - } else if (string[0] == '$' && string[1] == '<') { - result = FALSE; - } - string++; - } - } - return result; -} - -static char * -tgoto_internal(const char *string, int x, int y) -{ - static char *result; - static size_t length; - - int swap_arg; - int param[3]; - size_t used = 0; - size_t need = 10; - int *value = param; - bool need_BC = FALSE; - - if (BC) - need += strlen(BC); - - param[0] = y; - param[1] = x; - param[2] = 0; - - while (*string != 0) { - if ((used + need) > length) { - length += (used + need); - if ((result = typeRealloc(char, length, result)) == 0) { - length = 0; - break; - } - } - if (*string == '%') { - const char *fmt = 0; - - switch (*++string) { - case '\0': - string--; - break; - case 'd': - fmt = "%d"; - break; - case '2': - fmt = "%02d"; - *value %= 100; - break; - case '3': - fmt = "%03d"; - *value %= 1000; - break; - case '+': - *value += UChar(*++string); - /* FALLTHRU */ - case '.': - /* - * Guard against tputs() seeing a truncated string. The - * termcap documentation refers to a similar fixup for \n - * and \r, but I don't see that it could work -TD - */ - if (*value == 0) { - if (BC != 0) { - *value += 1; - need_BC = TRUE; - } else { - *value = 0200; /* tputs will treat this as \0 */ - } - } - result[used++] = *value++; - break; - case '%': - result[used++] = *string; - break; - case 'r': - swap_arg = param[0]; - param[0] = param[1]; - param[1] = swap_arg; - break; - case 'i': - param[0] += 1; - param[1] += 1; - break; - case '>': - if (*value > string[1]) - *value += string[2]; - string += 2; - break; - case 'n': /* Datamedia 2500 */ - param[0] ^= 0140; - param[1] ^= 0140; - break; - case 'B': /* BCD */ - *value = 16 * (*value / 10) + (*value % 10); - break; - case 'D': /* Reverse coding (Delta Data) */ - *value -= 2 * (*value % 16); - break; - } - if (fmt != 0) { - sprintf(result + used, fmt, *value++); - used += strlen(result + used); - fmt = 0; - } - if (value - param > 2) { - value = param + 2; - *value = 0; - } - } else { - result[used++] = *string; - } - string++; - } - if (result != 0) { - if (need_BC) { - strcpy(result + used, BC); - used += strlen(BC); - } - result[used] = '\0'; - } - return result; -} -#endif - -/* - * Retained solely for upward compatibility. Note the intentional reversing of - * the last two arguments when invoking tparm(). - */ -NCURSES_EXPORT(char *) -tgoto(const char *string, int x, int y) -{ - char *result; - - T((T_CALLED("tgoto(%s, %d, %d)"), _nc_visbuf(string), x, y)); -#if !PURE_TERMINFO - if (is_termcap(string)) - result = tgoto_internal(string, x, y); - else -#endif - result = tparm((NCURSES_CONST char *) string, y, x); - returnPtr(result); -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_ti.c b/src/libs/ncurses/ncurses/tinfo/lib_ti.c deleted file mode 100644 index df460f953e..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_ti.c +++ /dev/null @@ -1,103 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -#include - -#include -#include - -MODULE_ID("$Id: lib_ti.c,v 1.23 2003/05/24 21:10:28 tom Exp $") - -NCURSES_EXPORT(int) -tigetflag(NCURSES_CONST char *str) -{ - unsigned i; - - T((T_CALLED("tigetflag(%s)"), str)); - - if (cur_term != 0) { - TERMTYPE *tp = &(cur_term->type); - for_each_boolean(i, tp) { - const char *capname = ExtBoolname(tp, i, boolnames); - if (!strcmp(str, capname)) { - /* setupterm forces invalid booleans to false */ - returnCode(tp->Booleans[i]); - } - } - } - - returnCode(ABSENT_BOOLEAN); -} - -NCURSES_EXPORT(int) -tigetnum(NCURSES_CONST char *str) -{ - unsigned i; - - T((T_CALLED("tigetnum(%s)"), str)); - - if (cur_term != 0) { - TERMTYPE *tp = &(cur_term->type); - for_each_number(i, tp) { - const char *capname = ExtNumname(tp, i, numnames); - if (!strcmp(str, capname)) { - if (!VALID_NUMERIC(tp->Numbers[i])) - returnCode(ABSENT_NUMERIC); - returnCode(tp->Numbers[i]); - } - } - } - - returnCode(CANCELLED_NUMERIC); /* Solaris returns a -1 instead */ -} - -NCURSES_EXPORT(char *) -tigetstr(NCURSES_CONST char *str) -{ - unsigned i; - - T((T_CALLED("tigetstr(%s)"), str)); - - if (cur_term != 0) { - TERMTYPE *tp = &(cur_term->type); - for_each_string(i, tp) { - const char *capname = ExtStrname(tp, i, strnames); - if (!strcmp(str, capname)) { - /* setupterm forces cancelled strings to null */ - returnPtr(tp->Strings[i]); - } - } - } - - returnPtr(CANCELLED_STRING); -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_tparm.c b/src/libs/ncurses/ncurses/tinfo/lib_tparm.c deleted file mode 100644 index 041667b4f7..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_tparm.c +++ /dev/null @@ -1,791 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey, 1996 on * - ****************************************************************************/ - -/* - * tparm.c - * - */ - -#include - -#include -#include -#include - -MODULE_ID("$Id: lib_tparm.c,v 1.68 2004/02/07 20:52:51 tom Exp $") - -/* - * char * - * tparm(string, ...) - * - * Substitute the given parameters into the given string by the following - * rules (taken from terminfo(5)): - * - * Cursor addressing and other strings requiring parame- - * ters in the terminal are described by a parameterized string - * capability, with like escapes %x in it. For example, to - * address the cursor, the cup capability is given, using two - * parameters: the row and column to address to. (Rows and - * columns are numbered from zero and refer to the physical - * screen visible to the user, not to any unseen memory.) If - * the terminal has memory relative cursor addressing, that can - * be indicated by - * - * The parameter mechanism uses a stack and special % - * codes to manipulate it. Typically a sequence will push one - * of the parameters onto the stack and then print it in some - * format. Often more complex operations are necessary. - * - * The % encodings have the following meanings: - * - * %% outputs `%' - * %c print pop() like %c in printf() - * %s print pop() like %s in printf() - * %[[:]flags][width[.precision]][doxXs] - * as in printf, flags are [-+#] and space - * The ':' is used to avoid making %+ or %- - * patterns (see below). - * - * %p[1-9] push ith parm - * %P[a-z] set dynamic variable [a-z] to pop() - * %g[a-z] get dynamic variable [a-z] and push it - * %P[A-Z] set static variable [A-Z] to pop() - * %g[A-Z] get static variable [A-Z] and push it - * %l push strlen(pop) - * %'c' push char constant c - * %{nn} push integer constant nn - * - * %+ %- %* %/ %m - * arithmetic (%m is mod): push(pop() op pop()) - * %& %| %^ bit operations: push(pop() op pop()) - * %= %> %< logical operations: push(pop() op pop()) - * %A %O logical and & or operations for conditionals - * %! %~ unary operations push(op pop()) - * %i add 1 to first two parms (for ANSI terminals) - * - * %? expr %t thenpart %e elsepart %; - * if-then-else, %e elsepart is optional. - * else-if's are possible ala Algol 68: - * %? c1 %t b1 %e c2 %t b2 %e c3 %t b3 %e c4 %t b4 %e b5 %; - * - * For those of the above operators which are binary and not commutative, - * the stack works in the usual way, with - * %gx %gy %m - * resulting in x mod y, not the reverse. - */ - -#define STACKSIZE 20 - -typedef struct { - union { - int num; - char *str; - } data; - bool num_type; -} stack_frame; - -NCURSES_EXPORT_VAR(int) _nc_tparm_err = 0; - -static stack_frame stack[STACKSIZE]; -static int stack_ptr; -static const char *tparam_base = ""; - -#ifdef TRACE -static const char *tname; -#endif /* TRACE */ - -static char *out_buff; -static size_t out_size; -static size_t out_used; - -static char *fmt_buff; -static size_t fmt_size; - -#if NO_LEAKS -NCURSES_EXPORT(void) -_nc_free_tparm(void) -{ - if (out_buff != 0) { - FreeAndNull(out_buff); - out_size = 0; - out_used = 0; - FreeAndNull(fmt_buff); - fmt_size = 0; - } -} -#endif - -static inline void -get_space(size_t need) -{ - need += out_used; - if (need > out_size) { - out_size = need * 2; - out_buff = typeRealloc(char, out_size, out_buff); - if (out_buff == 0) - _nc_err_abort(MSG_NO_MEMORY); - } -} - -static inline void -save_text(const char *fmt, const char *s, int len) -{ - size_t s_len = strlen(s); - if (len > (int) s_len) - s_len = len; - - get_space(s_len + 1); - - (void) sprintf(out_buff + out_used, fmt, s); - out_used += strlen(out_buff + out_used); -} - -static inline void -save_number(const char *fmt, int number, int len) -{ - if (len < 30) - len = 30; /* actually log10(MAX_INT)+1 */ - - get_space((unsigned) len + 1); - - (void) sprintf(out_buff + out_used, fmt, number); - out_used += strlen(out_buff + out_used); -} - -static inline void -save_char(int c) -{ - if (c == 0) - c = 0200; - get_space(1); - out_buff[out_used++] = c; -} - -static inline void -npush(int x) -{ - if (stack_ptr < STACKSIZE) { - stack[stack_ptr].num_type = TRUE; - stack[stack_ptr].data.num = x; - stack_ptr++; - } else { - DEBUG(2, ("npush: stack overflow: %s", _nc_visbuf(tparam_base))); - _nc_tparm_err++; - } -} - -static inline int -npop(void) -{ - int result = 0; - if (stack_ptr > 0) { - stack_ptr--; - if (stack[stack_ptr].num_type) - result = stack[stack_ptr].data.num; - } else { - DEBUG(2, ("npop: stack underflow: %s", _nc_visbuf(tparam_base))); - _nc_tparm_err++; - } - return result; -} - -static inline void -spush(char *x) -{ - if (stack_ptr < STACKSIZE) { - stack[stack_ptr].num_type = FALSE; - stack[stack_ptr].data.str = x; - stack_ptr++; - } else { - DEBUG(2, ("spush: stack overflow: %s", _nc_visbuf(tparam_base))); - _nc_tparm_err++; - } -} - -static inline char * -spop(void) -{ - static char dummy[] = ""; /* avoid const-cast */ - char *result = dummy; - if (stack_ptr > 0) { - stack_ptr--; - if (!stack[stack_ptr].num_type && stack[stack_ptr].data.str != 0) - result = stack[stack_ptr].data.str; - } else { - DEBUG(2, ("spop: stack underflow: %s", _nc_visbuf(tparam_base))); - _nc_tparm_err++; - } - return result; -} - -static inline const char * -parse_format(const char *s, char *format, int *len) -{ - *len = 0; - if (format != 0) { - bool done = FALSE; - bool allowminus = FALSE; - bool dot = FALSE; - bool err = FALSE; - char *fmt = format; - int my_width = 0; - int my_prec = 0; - int value = 0; - - *len = 0; - *format++ = '%'; - while (*s != '\0' && !done) { - switch (*s) { - case 'c': /* FALLTHRU */ - case 'd': /* FALLTHRU */ - case 'o': /* FALLTHRU */ - case 'x': /* FALLTHRU */ - case 'X': /* FALLTHRU */ - case 's': - *format++ = *s; - done = TRUE; - break; - case '.': - *format++ = *s++; - if (dot) { - err = TRUE; - } else { /* value before '.' is the width */ - dot = TRUE; - my_width = value; - } - value = 0; - break; - case '#': - *format++ = *s++; - break; - case ' ': - *format++ = *s++; - break; - case ':': - s++; - allowminus = TRUE; - break; - case '-': - if (allowminus) { - *format++ = *s++; - } else { - done = TRUE; - } - break; - default: - if (isdigit(UChar(*s))) { - value = (value * 10) + (*s - '0'); - if (value > 10000) - err = TRUE; - *format++ = *s++; - } else { - done = TRUE; - } - } - } - - /* - * If we found an error, ignore (and remove) the flags. - */ - if (err) { - my_width = my_prec = value = 0; - format = fmt; - *format++ = '%'; - *format++ = *s; - } - - /* - * Any value after '.' is the precision. If we did not see '.', then - * the value is the width. - */ - if (dot) - my_prec = value; - else - my_width = value; - - *format = '\0'; - /* return maximum string length in print */ - *len = (my_width > my_prec) ? my_width : my_prec; - } - return s; -} - -#define isUPPER(c) ((c) >= 'A' && (c) <= 'Z') -#define isLOWER(c) ((c) >= 'a' && (c) <= 'z') - -/* - * Analyze the string to see how many parameters we need from the varargs list, - * and what their types are. We will only accept string parameters if they - * appear as a %l or %s format following an explicit parameter reference (e.g., - * %p2%s). All other parameters are numbers. - * - * 'number' counts coarsely the number of pop's we see in the string, and - * 'popcount' shows the highest parameter number in the string. We would like - * to simply use the latter count, but if we are reading termcap strings, there - * may be cases that we cannot see the explicit parameter numbers. - */ -NCURSES_EXPORT(int) -_nc_tparm_analyze(const char *string, char *p_is_s[NUM_PARM], int *popcount) -{ - size_t len2; - int i; - int lastpop = -1; - int len; - int number = 0; - const char *cp = string; - static char dummy[] = ""; - - if (cp == 0) - return 0; - - if ((len2 = strlen(cp)) > fmt_size) { - fmt_size = len2 + fmt_size + 2; - if ((fmt_buff = typeRealloc(char, fmt_size, fmt_buff)) == 0) - return 0; - } - - memset(p_is_s, 0, sizeof(p_is_s[0]) * NUM_PARM); - *popcount = 0; - - while ((cp - string) < (int) len2) { - if (*cp == '%') { - cp++; - cp = parse_format(cp, fmt_buff, &len); - switch (*cp) { - default: - break; - - case 'd': /* FALLTHRU */ - case 'o': /* FALLTHRU */ - case 'x': /* FALLTHRU */ - case 'X': /* FALLTHRU */ - case 'c': /* FALLTHRU */ - if (lastpop <= 0) - number++; - lastpop = -1; - break; - - case 'l': - case 's': - if (lastpop > 0) - p_is_s[lastpop - 1] = dummy; - ++number; - break; - - case 'p': - cp++; - i = (UChar(*cp) - '0'); - if (i >= 0 && i <= NUM_PARM) { - lastpop = i; - if (lastpop > *popcount) - *popcount = lastpop; - } - break; - - case 'P': - ++number; - ++cp; - break; - - case 'g': - cp++; - break; - - case S_QUOTE: - cp += 2; - lastpop = -1; - break; - - case L_BRACE: - cp++; - while (isdigit(UChar(*cp))) { - cp++; - } - break; - - case '+': - case '-': - case '*': - case '/': - case 'm': - case 'A': - case 'O': - case '&': - case '|': - case '^': - case '=': - case '<': - case '>': - lastpop = -1; - number += 2; - break; - - case '!': - case '~': - lastpop = -1; - ++number; - break; - - case 'i': - /* will add 1 to first (usually two) parameters */ - break; - } - } - if (*cp != '\0') - cp++; - } - - if (number > NUM_PARM) - number = NUM_PARM; - return number; -} - -static inline char * -tparam_internal(const char *string, va_list ap) -{ -#define NUM_VARS 26 - char *p_is_s[NUM_PARM]; - long param[NUM_PARM]; - int popcount; - int number; - int len; - int level; - int x, y; - int i; - const char *cp = string; - size_t len2; - static int dynamic_var[NUM_VARS]; - static int static_vars[NUM_VARS]; - - if (cp == NULL) - return NULL; - - out_used = 0; - len2 = strlen(cp); - - /* - * Find the highest parameter-number referred to in the format string. - * Use this value to limit the number of arguments copied from the - * variable-length argument list. - */ - number = _nc_tparm_analyze(cp, p_is_s, &popcount); - if (fmt_buff == 0) - return NULL; - - for (i = 0; i < max(popcount, number); i++) { - /* - * A few caps (such as plab_norm) have string-valued parms. - * We'll have to assume that the caller knows the difference, since - * a char* and an int may not be the same size on the stack. The - * normal prototype for this uses 9 long's, which is consistent with - * our va_arg() usage. - */ - if (p_is_s[i] != 0) { - p_is_s[i] = va_arg(ap, char *); - } else { - param[i] = va_arg(ap, long int); - } - } - - /* - * This is a termcap compatibility hack. If there are no explicit pop - * operations in the string, load the stack in such a way that - * successive pops will grab successive parameters. That will make - * the expansion of (for example) \E[%d;%dH work correctly in termcap - * style, which means tparam() will expand termcap strings OK. - */ - stack_ptr = 0; - if (popcount == 0) { - popcount = number; - for (i = number - 1; i >= 0; i--) - npush(param[i]); - } -#ifdef TRACE - if (_nc_tracing & TRACE_CALLS) { - for (i = 0; i < popcount; i++) { - if (p_is_s[i] != 0) - save_text(", %s", _nc_visbuf(p_is_s[i]), 0); - else - save_number(", %d", param[i], 0); - } - _tracef(T_CALLED("%s(%s%s)"), tname, _nc_visbuf(cp), out_buff); - out_used = 0; - } -#endif /* TRACE */ - - while ((cp - string) < (int) len2) { - if (*cp != '%') { - save_char(UChar(*cp)); - } else { - tparam_base = cp++; - cp = parse_format(cp, fmt_buff, &len); - switch (*cp) { - default: - break; - case '%': - save_char('%'); - break; - - case 'd': /* FALLTHRU */ - case 'o': /* FALLTHRU */ - case 'x': /* FALLTHRU */ - case 'X': /* FALLTHRU */ - save_number(fmt_buff, npop(), len); - break; - - case 'c': /* FALLTHRU */ - save_char(npop()); - break; - - case 'l': - save_number("%d", (int) strlen(spop()), 0); - break; - - case 's': - save_text(fmt_buff, spop(), len); - break; - - case 'p': - cp++; - i = (UChar(*cp) - '1'); - if (i >= 0 && i < NUM_PARM) { - if (p_is_s[i]) - spush(p_is_s[i]); - else - npush(param[i]); - } - break; - - case 'P': - cp++; - if (isUPPER(*cp)) { - i = (UChar(*cp) - 'A'); - static_vars[i] = npop(); - } else if (isLOWER(*cp)) { - i = (UChar(*cp) - 'a'); - dynamic_var[i] = npop(); - } - break; - - case 'g': - cp++; - if (isUPPER(*cp)) { - i = (UChar(*cp) - 'A'); - npush(static_vars[i]); - } else if (isLOWER(*cp)) { - i = (UChar(*cp) - 'a'); - npush(dynamic_var[i]); - } - break; - - case S_QUOTE: - cp++; - npush(UChar(*cp)); - cp++; - break; - - case L_BRACE: - number = 0; - cp++; - while (isdigit(UChar(*cp))) { - number = (number * 10) + (UChar(*cp) - '0'); - cp++; - } - npush(number); - break; - - case '+': - npush(npop() + npop()); - break; - - case '-': - y = npop(); - x = npop(); - npush(x - y); - break; - - case '*': - npush(npop() * npop()); - break; - - case '/': - y = npop(); - x = npop(); - npush(y ? (x / y) : 0); - break; - - case 'm': - y = npop(); - x = npop(); - npush(y ? (x % y) : 0); - break; - - case 'A': - npush(npop() && npop()); - break; - - case 'O': - npush(npop() || npop()); - break; - - case '&': - npush(npop() & npop()); - break; - - case '|': - npush(npop() | npop()); - break; - - case '^': - npush(npop() ^ npop()); - break; - - case '=': - y = npop(); - x = npop(); - npush(x == y); - break; - - case '<': - y = npop(); - x = npop(); - npush(x < y); - break; - - case '>': - y = npop(); - x = npop(); - npush(x > y); - break; - - case '!': - npush(!npop()); - break; - - case '~': - npush(~npop()); - break; - - case 'i': - if (p_is_s[0] == 0) - param[0]++; - if (p_is_s[1] == 0) - param[1]++; - break; - - case '?': - break; - - case 't': - x = npop(); - if (!x) { - /* scan forward for %e or %; at level zero */ - cp++; - level = 0; - while (*cp) { - if (*cp == '%') { - cp++; - if (*cp == '?') - level++; - else if (*cp == ';') { - if (level > 0) - level--; - else - break; - } else if (*cp == 'e' && level == 0) - break; - } - - if (*cp) - cp++; - } - } - break; - - case 'e': - /* scan forward for a %; at level zero */ - cp++; - level = 0; - while (*cp) { - if (*cp == '%') { - cp++; - if (*cp == '?') - level++; - else if (*cp == ';') { - if (level > 0) - level--; - else - break; - } - } - - if (*cp) - cp++; - } - break; - - case ';': - break; - - } /* endswitch (*cp) */ - } /* endelse (*cp == '%') */ - - if (*cp == '\0') - break; - - cp++; - } /* endwhile (*cp) */ - - get_space(1); - out_buff[out_used] = '\0'; - - T((T_RETURN("%s"), _nc_visbuf(out_buff))); - return (out_buff); -} - -NCURSES_EXPORT(char *) -tparm(NCURSES_CONST char *string,...) -{ - va_list ap; - char *result; - - _nc_tparm_err = 0; - va_start(ap, string); -#ifdef TRACE - tname = "tparm"; -#endif /* TRACE */ - result = tparam_internal(string, ap); - va_end(ap); - return result; -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_tputs.c b/src/libs/ncurses/ncurses/tinfo/lib_tputs.c deleted file mode 100644 index 3a18ffd740..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_tputs.c +++ /dev/null @@ -1,257 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * tputs.c - * delay_output() - * _nc_outch() - * tputs() - * - */ - -#include -#include -#include /* padding_baud_rate, xon_xoff */ -#include /* ospeed */ -#include - -MODULE_ID("$Id: lib_tputs.c,v 1.62 2003/08/23 21:39:20 tom Exp $") - -NCURSES_EXPORT_VAR(char) PC = 0; /* used by termcap library */ -NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed = 0; /* used by termcap library */ - -NCURSES_EXPORT_VAR(int) _nc_nulls_sent = 0; /* used by 'tack' program */ - -static int (*my_outch) (int c) = _nc_outch; - -NCURSES_EXPORT(int) -delay_output(int ms) -{ - T((T_CALLED("delay_output(%d)"), ms)); - - if (no_pad_char) { - _nc_flush(); - napms(ms); - } else { - register int nullcount; - - nullcount = (ms * _nc_baudrate(ospeed)) / (BAUDBYTE * 1000); - for (_nc_nulls_sent += nullcount; nullcount > 0; nullcount--) - my_outch(PC); - if (my_outch == _nc_outch) - _nc_flush(); - } - - returnCode(OK); -} - -NCURSES_EXPORT(void) -_nc_flush(void) -{ - (void) fflush(NC_OUTPUT); -} - -NCURSES_EXPORT(int) -_nc_outch(int ch) -{ - TRACE_OUTCHARS(1); - - if (SP != 0 - && SP->_cleanup) { - char tmp = ch; - /* - * POSIX says write() is safe in a signal handler, but the - * buffered I/O is not. - */ - write(fileno(NC_OUTPUT), &tmp, 1); - } else { - putc(ch, NC_OUTPUT); - } - return OK; -} - -NCURSES_EXPORT(int) -putp(const char *string) -{ - return tputs(string, 1, _nc_outch); -} - -NCURSES_EXPORT(int) -tputs(const char *string, int affcnt, int (*outc) (int)) -{ - bool always_delay; - bool normal_delay; - int number; -#if BSD_TPUTS - int trailpad; -#endif /* BSD_TPUTS */ - -#ifdef TRACE - char addrbuf[32]; - - if (_nc_tracing & TRACE_TPUTS) { - if (outc == _nc_outch) - (void) strcpy(addrbuf, "_nc_outch"); - else - (void) sprintf(addrbuf, "%p", outc); - if (_nc_tputs_trace) { - _tracef("tputs(%s = %s, %d, %s) called", _nc_tputs_trace, - _nc_visbuf(string), affcnt, addrbuf); - } else { - _tracef("tputs(%s, %d, %s) called", _nc_visbuf(string), affcnt, addrbuf); - } - _nc_tputs_trace = (char *) NULL; - } -#endif /* TRACE */ - - if (!VALID_STRING(string)) - return ERR; - - if (cur_term == 0) { - always_delay = FALSE; - normal_delay = TRUE; - } else { - always_delay = (string == bell) || (string == flash_screen); - normal_delay = - !xon_xoff - && padding_baud_rate -#if NCURSES_NO_PADDING - && (SP == 0 || !(SP->_no_padding)) -#endif - && (_nc_baudrate(ospeed) >= padding_baud_rate); - } - -#if BSD_TPUTS - /* - * This ugly kluge deals with the fact that some ancient BSD programs - * (like nethack) actually do the likes of tputs("50") to get delays. - */ - trailpad = 0; - if (isdigit(UChar(*string))) { - while (isdigit(UChar(*string))) { - trailpad = trailpad * 10 + (*string - '0'); - string++; - } - trailpad *= 10; - if (*string == '.') { - string++; - if (isdigit(UChar(*string))) { - trailpad += (*string - '0'); - string++; - } - while (isdigit(UChar(*string))) - string++; - } - - if (*string == '*') { - trailpad *= affcnt; - string++; - } - } -#endif /* BSD_TPUTS */ - - my_outch = outc; /* redirect delay_output() */ - while (*string) { - if (*string != '$') - (*outc) (*string); - else { - string++; - if (*string != '<') { - (*outc) ('$'); - if (*string) - (*outc) (*string); - } else { - bool mandatory; - - string++; - if ((!isdigit(UChar(*string)) && *string != '.') - || !strchr(string, '>')) { - (*outc) ('$'); - (*outc) ('<'); - continue; - } - - number = 0; - while (isdigit(UChar(*string))) { - number = number * 10 + (*string - '0'); - string++; - } - number *= 10; - if (*string == '.') { - string++; - if (isdigit(UChar(*string))) { - number += (*string - '0'); - string++; - } - while (isdigit(UChar(*string))) - string++; - } - - mandatory = FALSE; - while (*string == '*' || *string == '/') { - if (*string == '*') { - number *= affcnt; - string++; - } else { /* if (*string == '/') */ - mandatory = TRUE; - string++; - } - } - - if (number > 0 - && (always_delay - || normal_delay - || mandatory)) - delay_output(number / 10); - - } /* endelse (*string == '<') */ - } /* endelse (*string == '$') */ - - if (*string == '\0') - break; - - string++; - } - -#if BSD_TPUTS - /* - * Emit any BSD-style prefix padding that we've accumulated now. - */ - if (trailpad > 0 - && (always_delay || normal_delay)) - delay_output(trailpad / 10); -#endif /* BSD_TPUTS */ - - my_outch = _nc_outch; - return OK; -} diff --git a/src/libs/ncurses/ncurses/tinfo/lib_ttyflags.c b/src/libs/ncurses/ncurses/tinfo/lib_ttyflags.c deleted file mode 100644 index ab9c004536..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/lib_ttyflags.c +++ /dev/null @@ -1,178 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/* - * def_prog_mode() - * def_shell_mode() - * reset_prog_mode() - * reset_shell_mode() - * savetty() - * resetty() - */ - -#include -#include /* cur_term */ - -MODULE_ID("$Id: lib_ttyflags.c,v 1.11 2003/05/17 23:50:37 tom Exp $") - -#undef tabs - -#ifdef TAB3 -# define tabs TAB3 -#else -# ifdef XTABS -# define tabs XTABS -# else -# ifdef OXTABS -# define tabs OXTABS -# else -# define tabs 0 -# endif -# endif -#endif - -NCURSES_EXPORT(int) -_nc_get_tty_mode(TTY * buf) -{ - if (cur_term == 0 - || GET_TTY(cur_term->Filedes, buf) != 0) { - memset(buf, 0, sizeof(*buf)); - return (ERR); - } - TR(TRACE_BITS, ("_nc_get_tty_mode(%d): %s", - cur_term->Filedes, _nc_trace_ttymode(buf))); - return (OK); -} - -NCURSES_EXPORT(int) -_nc_set_tty_mode(TTY * buf) -{ - if (cur_term == 0 - || SET_TTY(cur_term->Filedes, buf) != 0) { - if ((errno == ENOTTY) && (SP != 0)) - SP->_notty = TRUE; - return (ERR); - } - TR(TRACE_BITS, ("_nc_set_tty_mode(%d): %s", - cur_term->Filedes, _nc_trace_ttymode(buf))); - return (OK); -} - -NCURSES_EXPORT(int) -def_shell_mode(void) -{ - T((T_CALLED("def_shell_mode()"))); - - /* - * Turn off the XTABS bit in the tty structure if it was on. If XTABS - * was on, remove the tab and backtab capabilities. - */ - - if (_nc_get_tty_mode(&cur_term->Ottyb) != OK) - returnCode(ERR); -#ifdef TERMIOS - if (cur_term->Ottyb.c_oflag & tabs) - tab = back_tab = NULL; -#else - if (cur_term->Ottyb.sg_flags & XTABS) - tab = back_tab = NULL; -#endif - returnCode(OK); -} - -NCURSES_EXPORT(int) -def_prog_mode(void) -{ - T((T_CALLED("def_prog_mode()"))); - - if (_nc_get_tty_mode(&cur_term->Nttyb) != OK) - returnCode(ERR); -#ifdef TERMIOS - cur_term->Nttyb.c_oflag &= ~tabs; -#else - cur_term->Nttyb.sg_flags &= ~XTABS; -#endif - returnCode(OK); -} - -NCURSES_EXPORT(int) -reset_prog_mode(void) -{ - T((T_CALLED("reset_prog_mode()"))); - - if (cur_term != 0) { - if (_nc_set_tty_mode(&cur_term->Nttyb) == OK) { - if (SP) { - if (SP->_keypad_on) - _nc_keypad(TRUE); - NC_BUFFERED(TRUE); - } - returnCode(OK); - } - } - returnCode(ERR); -} - -NCURSES_EXPORT(int) -reset_shell_mode(void) -{ - T((T_CALLED("reset_shell_mode()"))); - - if (cur_term != 0) { - if (SP) { - _nc_keypad(FALSE); - _nc_flush(); - NC_BUFFERED(FALSE); - } - returnCode(_nc_set_tty_mode(&cur_term->Ottyb)); - } - returnCode(ERR); -} - -/* -** savetty() and resetty() -** -*/ - -static TTY buf; - -NCURSES_EXPORT(int) -savetty(void) -{ - T((T_CALLED("savetty()"))); - - returnCode(_nc_get_tty_mode(&buf)); -} - -NCURSES_EXPORT(int) -resetty(void) -{ - T((T_CALLED("resetty()"))); - - returnCode(_nc_set_tty_mode(&buf)); -} diff --git a/src/libs/ncurses/ncurses/tinfo/make_keys.c b/src/libs/ncurses/ncurses/tinfo/make_keys.c deleted file mode 100644 index 8f6243c93c..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/make_keys.c +++ /dev/null @@ -1,142 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1997 * - ****************************************************************************/ - -/* - * This replaces an awk script which translated keys.list into keys.tries by - * making the output show the indices into the TERMTYPE Strings array. Doing - * it that way lets us cut down on the size of the init_keytry() function. - */ - -#define USE_TERMLIB 1 -#include - -MODULE_ID("$Id: make_keys.c,v 1.12 2005/08/20 19:58:18 tom Exp $") - -#include - -#define UNKNOWN (SIZEOF(strnames) + SIZEOF(strfnames)) - -static size_t -lookup(const char *name) -{ - size_t n; - bool found = FALSE; - for (n = 0; strnames[n] != 0; n++) { - if (!strcmp(name, strnames[n])) { - found = TRUE; - break; - } - } - if (!found) { - for (n = 0; strfnames[n] != 0; n++) { - if (!strcmp(name, strfnames[n])) { - found = TRUE; - break; - } - } - } - return found ? n : UNKNOWN; -} - -static void -make_keys(FILE *ifp, FILE *ofp) -{ - char buffer[BUFSIZ]; - char from[BUFSIZ]; - char to[BUFSIZ]; - int maxlen = 16; - - while (fgets(buffer, sizeof(buffer), ifp) != 0) { - if (*buffer == '#') - continue; - if (sscanf(buffer, "%s %s", to, from) == 2) { - int code = lookup(from); - if (code == UNKNOWN) - continue; - if ((int) strlen(from) > maxlen) - maxlen = strlen(from); - fprintf(ofp, "\t{ %4d, %-*.*s },\t/* %s */\n", - code, - maxlen, maxlen, - to, - from); - } - } -} - -static void -write_list(FILE *ofp, const char **list) -{ - while (*list != 0) - fprintf(ofp, "%s\n", *list++); -} - -int -main(int argc, char *argv[]) -{ - static const char *prefix[] = - { - "#ifndef NCU_KEYS_H", - "#define NCU_KEYS_H 1", - "", - "/* This file was generated by MAKE_KEYS */", - "", - "#if BROKEN_LINKER", - "static", - "#endif", - "struct tinfo_fkeys _nc_tinfo_fkeys[] = {", - 0 - }; - static const char *suffix[] = - { - "\t{ 0, 0} };", - "", - "#endif /* NCU_KEYS_H */", - 0 - }; - - write_list(stdout, prefix); - if (argc > 1) { - int n; - for (n = 1; n < argc; n++) { - FILE *fp = fopen(argv[n], "r"); - if (fp != 0) { - make_keys(fp, stdout); - fclose(fp); - } - } - } else { - make_keys(stdin, stdout); - } - write_list(stdout, suffix); - return EXIT_SUCCESS; -} diff --git a/src/libs/ncurses/ncurses/tinfo/name_match.c b/src/libs/ncurses/ncurses/tinfo/name_match.c deleted file mode 100644 index fee3ba3bc7..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/name_match.c +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1999-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1999 * - ****************************************************************************/ - -#include -#include -#include - -MODULE_ID("$Id: name_match.c,v 1.15 2005/01/22 21:47:25 tom Exp $") - -/* - * _nc_first_name(char *names) - * - * Extract the primary name from a compiled entry. - */ - -NCURSES_EXPORT(char *) -_nc_first_name(const char *const sp) -/* get the first name from the given name list */ -{ - static char *buf; - register unsigned n; - -#if NO_LEAKS - if (sp == 0) { - if (buf != 0) - FreeAndNull(buf); /* for leak-testing */ - return 0; - } -#endif - - if (buf == 0) - buf = typeMalloc(char, MAX_NAME_SIZE + 1); - for (n = 0; n < MAX_NAME_SIZE; n++) { - if ((buf[n] = sp[n]) == '\0' - || (buf[n] == '|')) - break; - } - buf[n] = '\0'; - return (buf); -} - -/* - * int _nc_name_match(namelist, name, delim) - * - * Is the given name matched in namelist? - */ - -NCURSES_EXPORT(int) -_nc_name_match(const char *const namelst, const char *const name, const char *const delim) -{ - const char *s, *d, *t; - int code, found; - - if ((s = namelst) != 0) { - while (*s != '\0') { - for (d = name; *d != '\0'; d++) { - if (*s != *d) - break; - s++; - } - found = FALSE; - for (code = TRUE; *s != '\0'; code = FALSE, s++) { - for (t = delim; *t != '\0'; t++) { - if (*s == *t) { - found = TRUE; - break; - } - } - if (found) - break; - } - if (code && *d == '\0') - return code; - if (*s++ == 0) - break; - } - } - return FALSE; -} diff --git a/src/libs/ncurses/ncurses/tinfo/parse_entry.c b/src/libs/ncurses/ncurses/tinfo/parse_entry.c deleted file mode 100644 index eed3d04465..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/parse_entry.c +++ /dev/null @@ -1,989 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * parse_entry.c -- compile one terminfo or termcap entry - * - * Get an exact in-core representation of an entry. Don't - * try to resolve use or tc capabilities, that is someone - * else's job. Depends on the lexical analyzer to get tokens - * from the input stream. - */ - -#define __INTERNAL_CAPS_VISIBLE -#include - -#include -#include -#include - -MODULE_ID("$Id: parse_entry.c,v 1.62 2005/06/02 22:04:32 tom Exp $") - -#ifdef LINT -static short const parametrized[] = -{0}; -#else -#include -#endif - -static void postprocess_termcap(TERMTYPE *, bool); -static void postprocess_terminfo(TERMTYPE *); -static struct name_table_entry const *lookup_fullname(const char *name); - -#if NCURSES_XNAMES - -static struct name_table_entry const * -_nc_extend_names(ENTRY * entryp, char *name, int token_type) -{ - static struct name_table_entry temp; - TERMTYPE *tp = &(entryp->tterm); - unsigned offset = 0; - unsigned actual; - unsigned tindex; - unsigned first, last, n; - bool found; - - switch (token_type) { - case BOOLEAN: - first = 0; - last = tp->ext_Booleans; - offset = tp->ext_Booleans; - tindex = tp->num_Booleans; - break; - case NUMBER: - first = tp->ext_Booleans; - last = tp->ext_Numbers + first; - offset = tp->ext_Booleans + tp->ext_Numbers; - tindex = tp->num_Numbers; - break; - case STRING: - first = tp->ext_Booleans + tp->ext_Numbers; - last = tp->ext_Strings + first; - offset = tp->ext_Booleans + tp->ext_Numbers + tp->ext_Strings; - tindex = tp->num_Strings; - break; - case CANCEL: - actual = NUM_EXT_NAMES(tp); - for (n = 0; n < actual; n++) { - if (!strcmp(name, tp->ext_Names[n])) { - if (n > (unsigned) (tp->ext_Booleans + tp->ext_Numbers)) { - token_type = STRING; - } else if (n > tp->ext_Booleans) { - token_type = NUMBER; - } else { - token_type = BOOLEAN; - } - return _nc_extend_names(entryp, name, token_type); - } - } - /* Well, we are given a cancel for a name that we don't recognize */ - return _nc_extend_names(entryp, name, STRING); - default: - return 0; - } - - /* Adjust the 'offset' (insertion-point) to keep the lists of extended - * names sorted. - */ - for (n = first, found = FALSE; n < last; n++) { - int cmp = strcmp(tp->ext_Names[n], name); - if (cmp == 0) - found = TRUE; - if (cmp >= 0) { - offset = n; - tindex = n - first; - switch (token_type) { - case BOOLEAN: - tindex += BOOLCOUNT; - break; - case NUMBER: - tindex += NUMCOUNT; - break; - case STRING: - tindex += STRCOUNT; - break; - } - break; - } - } - if (!found) { - switch (token_type) { - case BOOLEAN: - tp->ext_Booleans += 1; - tp->num_Booleans += 1; - tp->Booleans = typeRealloc(char, tp->num_Booleans, tp->Booleans); - for (last = tp->num_Booleans - 1; last > tindex; last--) - tp->Booleans[last] = tp->Booleans[last - 1]; - break; - case NUMBER: - tp->ext_Numbers += 1; - tp->num_Numbers += 1; - tp->Numbers = typeRealloc(short, tp->num_Numbers, tp->Numbers); - for (last = tp->num_Numbers - 1; last > tindex; last--) - tp->Numbers[last] = tp->Numbers[last - 1]; - break; - case STRING: - tp->ext_Strings += 1; - tp->num_Strings += 1; - tp->Strings = typeRealloc(char *, tp->num_Strings, tp->Strings); - for (last = tp->num_Strings - 1; last > tindex; last--) - tp->Strings[last] = tp->Strings[last - 1]; - break; - } - actual = NUM_EXT_NAMES(tp); - tp->ext_Names = typeRealloc(char *, actual, tp->ext_Names); - while (--actual > offset) - tp->ext_Names[actual] = tp->ext_Names[actual - 1]; - tp->ext_Names[offset] = _nc_save_str(name); - } - - temp.nte_name = tp->ext_Names[offset]; - temp.nte_type = token_type; - temp.nte_index = tindex; - temp.nte_link = -1; - - return &temp; -} -#endif /* NCURSES_XNAMES */ - -/* - * int - * _nc_parse_entry(entry, literal, silent) - * - * Compile one entry. Doesn't try to resolve use or tc capabilities. - * - * found-forward-use = FALSE - * re-initialise internal arrays - * get_token(); - * if the token was not a name in column 1, complain and die - * save names in entry's string table - * while (get_token() is not EOF and not NAMES) - * check for existence and type-correctness - * enter cap into structure - * if STRING - * save string in entry's string table - * push back token - */ - -#define BAD_TC_USAGE if (!bad_tc_usage) \ - { bad_tc_usage = TRUE; \ - _nc_warning("Legacy termcap allows only a trailing tc= clause"); } - -NCURSES_EXPORT(int) -_nc_parse_entry(struct entry *entryp, int literal, bool silent) -{ - int token_type; - struct name_table_entry const *entry_ptr; - char *ptr, *base; - bool bad_tc_usage = FALSE; - - token_type = _nc_get_token(silent); - - if (token_type == EOF) - return (EOF); - if (token_type != NAMES) - _nc_err_abort("Entry does not start with terminal names in column one"); - - _nc_init_entry(&entryp->tterm); - - entryp->cstart = _nc_comment_start; - entryp->cend = _nc_comment_end; - entryp->startline = _nc_start_line; - DEBUG(2, ("Comment range is %ld to %ld", entryp->cstart, entryp->cend)); - - /* - * Strip off the 2-character termcap name, if present. Originally termcap - * used that as an indexing aid. We can retain 2-character terminfo names, - * but note that they would be lost if we translate to/from termcap. This - * feature is supposedly obsolete since "newer" BSD implementations do not - * use it; however our reference for this feature is SunOS 4.x, which - * implemented it. Note that the resulting terminal type was never the - * 2-character name, but was instead the first alias after that. - */ - ptr = _nc_curr_token.tk_name; - if (_nc_syntax == SYN_TERMCAP -#if NCURSES_XNAMES - && !_nc_user_definable -#endif - ) { - if (ptr[2] == '|') { - ptr += 3; - _nc_curr_token.tk_name[2] = '\0'; - } - } - - entryp->tterm.str_table = entryp->tterm.term_names = _nc_save_str(ptr); - - DEBUG(1, ("Starting '%s'", ptr)); - - /* - * We do this because the one-token lookahead in the parse loop - * results in the terminal type getting prematurely set to correspond - * to that of the next entry. - */ - _nc_set_type(_nc_first_name(entryp->tterm.term_names)); - - /* check for overly-long names and aliases */ - for (base = entryp->tterm.term_names; (ptr = strchr(base, '|')) != 0; - base = ptr + 1) { - if (ptr - base > MAX_ALIAS) { - _nc_warning("%s `%.*s' may be too long", - (base == entryp->tterm.term_names) - ? "primary name" - : "alias", - (int) (ptr - base), base); - } - } - - entryp->nuses = 0; - - for (token_type = _nc_get_token(silent); - token_type != EOF && token_type != NAMES; - token_type = _nc_get_token(silent)) { - bool is_use = (strcmp(_nc_curr_token.tk_name, "use") == 0); - bool is_tc = !is_use && (strcmp(_nc_curr_token.tk_name, "tc") == 0); - if (is_use || is_tc) { - entryp->uses[entryp->nuses].name = _nc_save_str(_nc_curr_token.tk_valstring); - entryp->uses[entryp->nuses].line = _nc_curr_line; - entryp->nuses++; - if (entryp->nuses > 1 && is_tc) { - BAD_TC_USAGE - } - } else { - /* normal token lookup */ - entry_ptr = _nc_find_entry(_nc_curr_token.tk_name, - _nc_syntax ? _nc_cap_hash_table : _nc_info_hash_table); - - /* - * Our kluge to handle aliasing. The reason it's done - * this ugly way, with a linear search, is so the hashing - * machinery doesn't have to be made really complicated - * (also we get better warnings this way). No point in - * making this case fast, aliased caps aren't common now - * and will get rarer. - */ - if (entry_ptr == NOTFOUND) { - const struct alias *ap; - - if (_nc_syntax == SYN_TERMCAP) { - if (entryp->nuses != 0) { - BAD_TC_USAGE - } - for (ap = _nc_capalias_table; ap->from; ap++) - if (strcmp(ap->from, _nc_curr_token.tk_name) == 0) { - if (ap->to == (char *) 0) { - _nc_warning("%s (%s termcap extension) ignored", - ap->from, ap->source); - goto nexttok; - } - - entry_ptr = _nc_find_entry(ap->to, _nc_cap_hash_table); - if (entry_ptr && !silent) - _nc_warning("%s (%s termcap extension) aliased to %s", - ap->from, ap->source, ap->to); - break; - } - } else { /* if (_nc_syntax == SYN_TERMINFO) */ - for (ap = _nc_infoalias_table; ap->from; ap++) - if (strcmp(ap->from, _nc_curr_token.tk_name) == 0) { - if (ap->to == (char *) 0) { - _nc_warning("%s (%s terminfo extension) ignored", - ap->from, ap->source); - goto nexttok; - } - - entry_ptr = _nc_find_entry(ap->to, _nc_info_hash_table); - if (entry_ptr && !silent) - _nc_warning("%s (%s terminfo extension) aliased to %s", - ap->from, ap->source, ap->to); - break; - } - - if (entry_ptr == NOTFOUND) { - entry_ptr = lookup_fullname(_nc_curr_token.tk_name); - } - } - } -#if NCURSES_XNAMES - /* - * If we have extended-names active, we will automatically - * define a name based on its context. - */ - if (entry_ptr == NOTFOUND - && _nc_user_definable - && (entry_ptr = _nc_extend_names(entryp, - _nc_curr_token.tk_name, - token_type)) != 0) { - if (_nc_tracing >= DEBUG_LEVEL(1)) - _nc_warning("extended capability '%s'", _nc_curr_token.tk_name); - } -#endif /* NCURSES_XNAMES */ - - /* can't find this cap name, not even as an alias */ - if (entry_ptr == NOTFOUND) { - if (!silent) - _nc_warning("unknown capability '%s'", - _nc_curr_token.tk_name); - continue; - } - - /* deal with bad type/value combinations. */ - if (token_type != CANCEL && entry_ptr->nte_type != token_type) { - /* - * Nasty special cases here handle situations in which type - * information can resolve name clashes. Normal lookup - * finds the last instance in the capability table of a - * given name, regardless of type. find_type_entry looks - * for a first matching instance with given type. So as - * long as all ambiguous names occur in pairs of distinct - * type, this will do the job. - */ - - /* tell max_attributes from arrow_key_map */ - if (token_type == NUMBER - && !strcmp("ma", _nc_curr_token.tk_name)) { - entry_ptr = _nc_find_type_entry("ma", NUMBER, - _nc_get_table(_nc_syntax - != 0)); - - /* map terminfo's string MT to MT */ - } else if (token_type == STRING - && !strcmp("MT", _nc_curr_token.tk_name)) { - entry_ptr = _nc_find_type_entry("MT", STRING, - _nc_get_table(_nc_syntax - != 0)); - - /* treat strings without following "=" as empty strings */ - } else if (token_type == BOOLEAN - && entry_ptr->nte_type == STRING) { - token_type = STRING; - /* we couldn't recover; skip this token */ - } else { - if (!silent) { - const char *type_name; - switch (entry_ptr->nte_type) { - case BOOLEAN: - type_name = "boolean"; - break; - case STRING: - type_name = "string"; - break; - case NUMBER: - type_name = "numeric"; - break; - default: - type_name = "unknown"; - break; - } - _nc_warning("wrong type used for %s capability '%s'", - type_name, _nc_curr_token.tk_name); - } - continue; - } - } - - /* now we know that the type/value combination is OK */ - switch (token_type) { - case CANCEL: - switch (entry_ptr->nte_type) { - case BOOLEAN: - entryp->tterm.Booleans[entry_ptr->nte_index] = CANCELLED_BOOLEAN; - break; - - case NUMBER: - entryp->tterm.Numbers[entry_ptr->nte_index] = CANCELLED_NUMERIC; - break; - - case STRING: - entryp->tterm.Strings[entry_ptr->nte_index] = CANCELLED_STRING; - break; - } - break; - - case BOOLEAN: - entryp->tterm.Booleans[entry_ptr->nte_index] = TRUE; - break; - - case NUMBER: - entryp->tterm.Numbers[entry_ptr->nte_index] = - _nc_curr_token.tk_valnumber; - break; - - case STRING: - ptr = _nc_curr_token.tk_valstring; - if (_nc_syntax == SYN_TERMCAP) - ptr = _nc_captoinfo(_nc_curr_token.tk_name, - ptr, - parametrized[entry_ptr->nte_index]); - entryp->tterm.Strings[entry_ptr->nte_index] = _nc_save_str(ptr); - break; - - default: - if (!silent) - _nc_warning("unknown token type"); - _nc_panic_mode((_nc_syntax == SYN_TERMCAP) ? ':' : ','); - continue; - } - } /* end else cur_token.name != "use" */ - nexttok: - continue; /* cannot have a label w/o statement */ - } /* endwhile (not EOF and not NAMES) */ - - _nc_push_token(token_type); - _nc_set_type(_nc_first_name(entryp->tterm.term_names)); - - /* - * Try to deduce as much as possible from extension capabilities - * (this includes obsolete BSD capabilities). Sigh...it would be more - * space-efficient to call this after use resolution, but it has - * to be done before entry allocation is wrapped up. - */ - if (!literal) { - if (_nc_syntax == SYN_TERMCAP) { - bool has_base_entry = FALSE; - int i; - - /* - * Don't insert defaults if this is a `+' entry meant only - * for inclusion in other entries (not sure termcap ever - * had these, actually). - */ - if (strchr(entryp->tterm.term_names, '+')) - has_base_entry = TRUE; - else - /* - * Otherwise, look for a base entry that will already - * have picked up defaults via translation. - */ - for (i = 0; i < entryp->nuses; i++) - if (!strchr((char *) entryp->uses[i].name, '+')) - has_base_entry = TRUE; - - postprocess_termcap(&entryp->tterm, has_base_entry); - } else - postprocess_terminfo(&entryp->tterm); - } - _nc_wrap_entry(entryp, FALSE); - - return (OK); -} - -NCURSES_EXPORT(int) -_nc_capcmp(const char *s, const char *t) -/* compare two string capabilities, stripping out padding */ -{ - if (!s && !t) - return (0); - else if (!s || !t) - return (1); - - for (;;) { - if (s[0] == '$' && s[1] == '<') { - for (s += 2;; s++) - if (!(isdigit(UChar(*s)) - || *s == '.' - || *s == '*' - || *s == '/' - || *s == '>')) - break; - } - - if (t[0] == '$' && t[1] == '<') { - for (t += 2;; t++) - if (!(isdigit(UChar(*t)) - || *t == '.' - || *t == '*' - || *t == '/' - || *t == '>')) - break; - } - - /* we've now pushed s and t past any padding they were pointing at */ - - if (*s == '\0' && *t == '\0') - return (0); - - if (*s != *t) - return (*t - *s); - - /* else *s == *t but one is not NUL, so continue */ - s++, t++; - } -} - -static void -append_acs0(string_desc * dst, int code, int src) -{ - if (src != 0) { - char temp[3]; - temp[0] = code; - temp[1] = src; - temp[2] = 0; - _nc_safe_strcat(dst, temp); - } -} - -static void -append_acs(string_desc * dst, int code, char *src) -{ - if (src != 0 && strlen(src) == 1) { - append_acs0(dst, code, *src); - } -} - -/* - * The ko capability, if present, consists of a comma-separated capability - * list. For each capability, we may assume there is a keycap that sends the - * string which is the value of that capability. - */ -typedef struct { - const char *from; - const char *to; -} assoc; -static assoc const ko_xlate[] = -{ - {"al", "kil1"}, /* insert line key -> KEY_IL */ - {"bt", "kcbt"}, /* back tab -> KEY_BTAB */ - {"cd", "ked"}, /* clear-to-eos key -> KEY_EOL */ - {"ce", "kel"}, /* clear-to-eol key -> KEY_EOS */ - {"cl", "kclr"}, /* clear key -> KEY_CLEAR */ - {"ct", "tbc"}, /* clear all tabs -> KEY_CATAB */ - {"dc", "kdch1"}, /* delete char -> KEY_DC */ - {"dl", "kdl1"}, /* delete line -> KEY_DL */ - {"do", "kcud1"}, /* down key -> KEY_DOWN */ - {"ei", "krmir"}, /* exit insert key -> KEY_EIC */ - {"ho", "khome"}, /* home key -> KEY_HOME */ - {"ic", "kich1"}, /* insert char key -> KEY_IC */ - {"im", "kIC"}, /* insert-mode key -> KEY_SIC */ - {"le", "kcub1"}, /* le key -> KEY_LEFT */ - {"nd", "kcuf1"}, /* nd key -> KEY_RIGHT */ - {"nl", "kent"}, /* new line key -> KEY_ENTER */ - {"st", "khts"}, /* set-tab key -> KEY_STAB */ - {"ta", CANCELLED_STRING}, - {"up", "kcuu1"}, /* up-arrow key -> KEY_UP */ - {(char *) 0, (char *) 0}, -}; - -/* - * This routine fills in string caps that either had defaults under - * termcap or can be manufactured from obsolete termcap capabilities. - * It was lifted from Ross Ridge's mytinfo package. - */ - -static const char C_CR[] = "\r"; -static const char C_LF[] = "\n"; -static const char C_BS[] = "\b"; -static const char C_HT[] = "\t"; - -/* - * Note that WANTED and PRESENT are not simple inverses! If a capability - * has been explicitly cancelled, it's not considered WANTED. - */ -#define WANTED(s) ((s) == ABSENT_STRING) -#define PRESENT(s) (((s) != ABSENT_STRING) && ((s) != CANCELLED_STRING)) - -/* - * This bit of legerdemain turns all the terminfo variable names into - * references to locations in the arrays Booleans, Numbers, and Strings --- - * precisely what's needed. - */ - -#undef CUR -#define CUR tp-> - -static void -postprocess_termcap(TERMTYPE *tp, bool has_base) -{ - char buf[MAX_LINE * 2 + 2]; - string_desc result; - - /* - * TERMCAP DEFAULTS AND OBSOLETE-CAPABILITY TRANSLATIONS - * - * This first part of the code is the functional inverse of the - * fragment in capdefaults.c. - * ---------------------------------------------------------------------- - */ - - /* if there was a tc entry, assume we picked up defaults via that */ - if (!has_base) { - if (WANTED(init_3string) && termcap_init2) - init_3string = _nc_save_str(termcap_init2); - - if (WANTED(reset_2string) && termcap_reset) - reset_2string = _nc_save_str(termcap_reset); - - if (WANTED(carriage_return)) { - if (carriage_return_delay > 0) { - sprintf(buf, "%s$<%d>", C_CR, carriage_return_delay); - carriage_return = _nc_save_str(buf); - } else - carriage_return = _nc_save_str(C_CR); - } - if (WANTED(cursor_left)) { - if (backspace_delay > 0) { - sprintf(buf, "%s$<%d>", C_BS, backspace_delay); - cursor_left = _nc_save_str(buf); - } else if (backspaces_with_bs == 1) - cursor_left = _nc_save_str(C_BS); - else if (PRESENT(backspace_if_not_bs)) - cursor_left = backspace_if_not_bs; - } - /* vi doesn't use "do", but it does seems to use nl (or '\n') instead */ - if (WANTED(cursor_down)) { - if (PRESENT(linefeed_if_not_lf)) - cursor_down = linefeed_if_not_lf; - else if (linefeed_is_newline != 1) { - if (new_line_delay > 0) { - sprintf(buf, "%s$<%d>", C_LF, new_line_delay); - cursor_down = _nc_save_str(buf); - } else - cursor_down = _nc_save_str(C_LF); - } - } - if (WANTED(scroll_forward) && crt_no_scrolling != 1) { - if (PRESENT(linefeed_if_not_lf)) - cursor_down = linefeed_if_not_lf; - else if (linefeed_is_newline != 1) { - if (new_line_delay > 0) { - sprintf(buf, "%s$<%d>", C_LF, new_line_delay); - scroll_forward = _nc_save_str(buf); - } else - scroll_forward = _nc_save_str(C_LF); - } - } - if (WANTED(newline)) { - if (linefeed_is_newline == 1) { - if (new_line_delay > 0) { - sprintf(buf, "%s$<%d>", C_LF, new_line_delay); - newline = _nc_save_str(buf); - } else - newline = _nc_save_str(C_LF); - } else if (PRESENT(carriage_return) && PRESENT(scroll_forward)) { - _nc_str_init(&result, buf, sizeof(buf)); - if (_nc_safe_strcat(&result, carriage_return) - && _nc_safe_strcat(&result, scroll_forward)) - newline = _nc_save_str(buf); - } else if (PRESENT(carriage_return) && PRESENT(cursor_down)) { - _nc_str_init(&result, buf, sizeof(buf)); - if (_nc_safe_strcat(&result, carriage_return) - && _nc_safe_strcat(&result, cursor_down)) - newline = _nc_save_str(buf); - } - } - } - - /* - * Inverse of capdefaults.c code ends here. - * ---------------------------------------------------------------------- - * - * TERMCAP-TO TERMINFO MAPPINGS FOR SOURCE TRANSLATION - * - * These translations will *not* be inverted by tgetent(). - */ - - if (!has_base) { - /* - * We wait until now to decide if we've got a working cr because even - * one that doesn't work can be used for newline. Unfortunately the - * space allocated for it is wasted. - */ - if (return_does_clr_eol == 1 || no_correctly_working_cr == 1) - carriage_return = ABSENT_STRING; - - /* - * Supposedly most termcap entries have ta now and '\t' is no longer a - * default, but it doesn't seem to be true... - */ - if (WANTED(tab)) { - if (horizontal_tab_delay > 0) { - sprintf(buf, "%s$<%d>", C_HT, horizontal_tab_delay); - tab = _nc_save_str(buf); - } else - tab = _nc_save_str(C_HT); - } - if (init_tabs == ABSENT_NUMERIC && has_hardware_tabs == TRUE) - init_tabs = 8; - - /* - * Assume we can beep with ^G unless we're given bl@. - */ - if (WANTED(bell)) - bell = _nc_save_str("\007"); - } - - /* - * Translate the old termcap :pt: capability to it#8 + ht=\t - */ - if (has_hardware_tabs == TRUE) { - if (init_tabs != 8 && init_tabs != ABSENT_NUMERIC) - _nc_warning("hardware tabs with a width other than 8: %d", init_tabs); - else { - if (tab && _nc_capcmp(tab, C_HT)) - _nc_warning("hardware tabs with a non-^I tab string %s", - _nc_visbuf(tab)); - else { - if (WANTED(tab)) - tab = _nc_save_str(C_HT); - init_tabs = 8; - } - } - } - /* - * Now translate the ko capability, if there is one. This - * isn't from mytinfo... - */ - if (PRESENT(other_non_function_keys)) { - char *base = other_non_function_keys; - char *bp, *cp, *dp; - struct name_table_entry const *from_ptr; - struct name_table_entry const *to_ptr; - assoc const *ap; - char buf2[MAX_TERMINFO_LENGTH]; - bool foundim; - - /* we're going to use this for a special case later */ - dp = strchr(other_non_function_keys, 'i'); - foundim = (dp != 0) && (dp[1] == 'm'); - - /* look at each comma-separated capability in the ko string... */ - for (base = other_non_function_keys; - (cp = strchr(base, ',')) != 0; - base = cp + 1) { - size_t len = cp - base; - - for (ap = ko_xlate; ap->from; ap++) - if (len == strlen(ap->from) - && strncmp(ap->from, base, len) == 0) - break; - if (!ap->to) { - _nc_warning("unknown capability `%.*s' in ko string", - (int) len, base); - continue; - } else if (ap->to == CANCELLED_STRING) /* ignore it */ - continue; - - /* now we know we found a match in ko_table, so... */ - - from_ptr = _nc_find_entry(ap->from, _nc_cap_hash_table); - to_ptr = _nc_find_entry(ap->to, _nc_info_hash_table); - - if (!from_ptr || !to_ptr) /* should never happen! */ - _nc_err_abort("ko translation table is invalid, I give up"); - - if (WANTED(tp->Strings[from_ptr->nte_index])) { - _nc_warning("no value for ko capability %s", ap->from); - continue; - } - - if (tp->Strings[to_ptr->nte_index]) { - /* There's no point in warning about it if it's the same - * string; that's just an inefficiency. - */ - if (strcmp( - tp->Strings[from_ptr->nte_index], - tp->Strings[to_ptr->nte_index]) != 0) - _nc_warning("%s (%s) already has an explicit value %s, ignoring ko", - ap->to, ap->from, - _nc_visbuf(tp->Strings[to_ptr->nte_index])); - continue; - } - - /* - * The magic moment -- copy the mapped key string over, - * stripping out padding. - */ - for (dp = buf2, bp = tp->Strings[from_ptr->nte_index]; *bp; bp++) { - if (bp[0] == '$' && bp[1] == '<') { - while (*bp && *bp != '>') { - ++bp; - } - } else - *dp++ = *bp; - } - *dp++ = '\0'; - - tp->Strings[to_ptr->nte_index] = _nc_save_str(buf2); - } - - /* - * Note: ko=im and ko=ic both want to grab the `Insert' - * keycap. There's a kich1 but no ksmir, so the ic capability - * got mapped to kich1 and im to kIC to avoid a collision. - * If the description has im but not ic, hack kIC back to kich1. - */ - if (foundim && WANTED(key_ic) && key_sic) { - key_ic = key_sic; - key_sic = ABSENT_STRING; - } - } - - if (!has_base) { - if (!hard_copy) { - if (WANTED(key_backspace)) - key_backspace = _nc_save_str(C_BS); - if (WANTED(key_left)) - key_left = _nc_save_str(C_BS); - if (WANTED(key_down)) - key_down = _nc_save_str(C_LF); - } - } - - /* - * Translate XENIX forms characters. - */ - if (PRESENT(acs_ulcorner) || - PRESENT(acs_llcorner) || - PRESENT(acs_urcorner) || - PRESENT(acs_lrcorner) || - PRESENT(acs_ltee) || - PRESENT(acs_rtee) || - PRESENT(acs_btee) || - PRESENT(acs_ttee) || - PRESENT(acs_hline) || - PRESENT(acs_vline) || - PRESENT(acs_plus)) { - char buf2[MAX_TERMCAP_LENGTH]; - - _nc_str_init(&result, buf2, sizeof(buf2)); - _nc_safe_strcat(&result, acs_chars); - - append_acs(&result, 'j', acs_lrcorner); - append_acs(&result, 'k', acs_urcorner); - append_acs(&result, 'l', acs_ulcorner); - append_acs(&result, 'm', acs_llcorner); - append_acs(&result, 'n', acs_plus); - append_acs(&result, 'q', acs_hline); - append_acs(&result, 't', acs_ltee); - append_acs(&result, 'u', acs_rtee); - append_acs(&result, 'v', acs_btee); - append_acs(&result, 'w', acs_ttee); - append_acs(&result, 'x', acs_vline); - - if (buf2[0]) { - acs_chars = _nc_save_str(buf2); - _nc_warning("acsc string synthesized from XENIX capabilities"); - } - } else if (acs_chars == 0 - && enter_alt_charset_mode != 0 - && exit_alt_charset_mode != 0) { - acs_chars = _nc_save_str(VT_ACSC); - } -} - -static void -postprocess_terminfo(TERMTYPE *tp) -{ - /* - * TERMINFO-TO-TERMINFO MAPPINGS FOR SOURCE TRANSLATION - * ---------------------------------------------------------------------- - */ - - /* - * Translate AIX forms characters. - */ - if (PRESENT(box_chars_1)) { - char buf2[MAX_TERMCAP_LENGTH]; - string_desc result; - - _nc_str_init(&result, buf2, sizeof(buf2)); - _nc_safe_strcat(&result, acs_chars); - - append_acs0(&result, 'l', box_chars_1[0]); /* ACS_ULCORNER */ - append_acs0(&result, 'q', box_chars_1[1]); /* ACS_HLINE */ - append_acs0(&result, 'k', box_chars_1[2]); /* ACS_URCORNER */ - append_acs0(&result, 'x', box_chars_1[3]); /* ACS_VLINE */ - append_acs0(&result, 'j', box_chars_1[4]); /* ACS_LRCORNER */ - append_acs0(&result, 'm', box_chars_1[5]); /* ACS_LLCORNER */ - append_acs0(&result, 'w', box_chars_1[6]); /* ACS_TTEE */ - append_acs0(&result, 'u', box_chars_1[7]); /* ACS_RTEE */ - append_acs0(&result, 'v', box_chars_1[8]); /* ACS_BTEE */ - append_acs0(&result, 't', box_chars_1[9]); /* ACS_LTEE */ - append_acs0(&result, 'n', box_chars_1[10]); /* ACS_PLUS */ - - if (buf2[0]) { - acs_chars = _nc_save_str(buf2); - _nc_warning("acsc string synthesized from AIX capabilities"); - box_chars_1 = ABSENT_STRING; - } - } - /* - * ---------------------------------------------------------------------- - */ -} - -/* - * Do a linear search through the terminfo tables to find a given full-name. - * We don't expect to do this often, so there's no hashing function. - * - * In effect, this scans through the 3 lists of full-names, and looks them - * up in _nc_info_table, which is organized so that the nte_index fields are - * sorted, but the nte_type fields are not necessarily grouped together. - */ -static struct name_table_entry const * -lookup_fullname(const char *find) -{ - int state = -1; - - for (;;) { - int count = 0; - NCURSES_CONST char *const *names; - - switch (++state) { - case BOOLEAN: - names = boolfnames; - break; - case STRING: - names = strfnames; - break; - case NUMBER: - names = numfnames; - break; - default: - return NOTFOUND; - } - - for (count = 0; names[count] != 0; count++) { - if (!strcmp(names[count], find)) { - struct name_table_entry const *entry_ptr = _nc_get_table(FALSE); - while (entry_ptr->nte_type != state - || entry_ptr->nte_index != count) - entry_ptr++; - return entry_ptr; - } - } - } -} - -/* parse_entry.c ends here */ diff --git a/src/libs/ncurses/ncurses/tinfo/read_entry.c b/src/libs/ncurses/ncurses/tinfo/read_entry.c deleted file mode 100644 index abc8a7655d..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/read_entry.c +++ /dev/null @@ -1,518 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * read_entry.c -- Routine for reading in a compiled terminfo file - * - */ - -#include - -#include -#include - -MODULE_ID("$Id: read_entry.c,v 1.81 2005/06/02 22:04:32 tom Exp $") - -#if !HAVE_TELL -#define tell(fd) lseek(fd, 0, SEEK_CUR) /* lseek() is POSIX, but not tell() */ -#endif - -#define TYPE_CALLOC(type,elts) typeCalloc(type, (unsigned)(elts)) - -/* - * int - * _nc_read_file_entry(filename, ptr) - * - * Read the compiled terminfo entry in the given file into the - * structure pointed to by ptr, allocating space for the string - * table. - */ - -#undef BYTE -#define BYTE(p,n) (unsigned char)((p)[n]) - -#define IS_NEG1(p) ((BYTE(p,0) == 0377) && (BYTE(p,1) == 0377)) -#define IS_NEG2(p) ((BYTE(p,0) == 0376) && (BYTE(p,1) == 0377)) -#define LOW_MSB(p) (BYTE(p,0) + 256*BYTE(p,1)) - -static bool have_tic_directory = FALSE; -static bool keep_tic_directory = FALSE; - -/* - * Record the "official" location of the terminfo directory, according to - * the place where we're writing to, or the normal default, if not. - */ -NCURSES_EXPORT(const char *) -_nc_tic_dir(const char *path) -{ - static const char *result = TERMINFO; - - if (!keep_tic_directory) { - if (path != 0) { - result = path; - have_tic_directory = TRUE; - } else if (!have_tic_directory && use_terminfo_vars()) { - char *envp; - if ((envp = getenv("TERMINFO")) != 0) - return _nc_tic_dir(envp); - } - } - return result; -} - -/* - * Special fix to prevent the terminfo directory from being moved after tic - * has chdir'd to it. If we let it be changed, then if $TERMINFO has a - * relative path, we'll lose track of the actual directory. - */ -NCURSES_EXPORT(void) -_nc_keep_tic_dir(const char *path) -{ - _nc_tic_dir(path); - keep_tic_directory = TRUE; -} - -static void -convert_shorts(char *buf, short *Numbers, int count) -{ - int i; - for (i = 0; i < count; i++) { - if (IS_NEG1(buf + 2 * i)) - Numbers[i] = ABSENT_NUMERIC; - else if (IS_NEG2(buf + 2 * i)) - Numbers[i] = CANCELLED_NUMERIC; - else - Numbers[i] = LOW_MSB(buf + 2 * i); - TR(TRACE_DATABASE, ("get Numbers[%d]=%d", i, Numbers[i])); - } -} - -static void -convert_strings(char *buf, char **Strings, int count, int size, char *table) -{ - int i; - char *p; - - for (i = 0; i < count; i++) { - if (IS_NEG1(buf + 2 * i)) { - Strings[i] = ABSENT_STRING; - } else if (IS_NEG2(buf + 2 * i)) { - Strings[i] = CANCELLED_STRING; - } else if (LOW_MSB(buf + 2 * i) > size) { - Strings[i] = ABSENT_STRING; - } else { - Strings[i] = (LOW_MSB(buf + 2 * i) + table); - TR(TRACE_DATABASE, ("Strings[%d] = %s", i, _nc_visbuf(Strings[i]))); - } - - /* make sure all strings are NUL terminated */ - if (VALID_STRING(Strings[i])) { - for (p = Strings[i]; p <= table + size; p++) - if (*p == '\0') - break; - /* if there is no NUL, ignore the string */ - if (p > table + size) - Strings[i] = ABSENT_STRING; - } - } -} - -#define read_shorts(fd, buf, count) \ - (read(fd, buf, (unsigned) (count)*2) == (int) (count)*2) - -#define even_boundary(value) \ - if ((value) % 2 != 0) read(fd, buf, 1) - -static int -read_termtype(int fd, TERMTYPE *ptr) -/* return 1 if read, 0 if not found or garbled */ -{ - int name_size, bool_count, num_count, str_count, str_size; - int i; - char buf[MAX_ENTRY_SIZE + 1]; - unsigned want, have; - - TR(TRACE_DATABASE, ("READ termtype header @%ld", (long) tell(fd))); - - memset(ptr, 0, sizeof(*ptr)); - - /* grab the header */ - if (!read_shorts(fd, buf, 6) - || LOW_MSB(buf) != MAGIC) { - return (0); - } - - name_size = LOW_MSB(buf + 2); - bool_count = LOW_MSB(buf + 4); - num_count = LOW_MSB(buf + 6); - str_count = LOW_MSB(buf + 8); - str_size = LOW_MSB(buf + 10); - - TR(TRACE_DATABASE, - ("TERMTYPE name_size=%d, bool=%d/%d, num=%d/%d str=%d/%d(%d)", - name_size, bool_count, BOOLCOUNT, num_count, NUMCOUNT, - str_count, STRCOUNT, str_size)); - if (name_size < 0 - || bool_count < 0 - || num_count < 0 - || str_count < 0 - || str_size < 0) { - return (0); - } - - if (str_size) { - /* try to allocate space for the string table */ - if (str_count * 2 >= (int) sizeof(buf) - || (ptr->str_table = typeMalloc(char, (unsigned) str_size)) == 0) { - return (0); - } - } else { - str_count = 0; - } - - /* grab the name (a null-terminated string) */ - want = min(MAX_NAME_SIZE, (unsigned) name_size); - if ((have = read(fd, buf, want)) != want) { - memset(buf + have, 0, want - have); - } - buf[want] = '\0'; - ptr->term_names = TYPE_CALLOC(char, strlen(buf) + 1); - if (ptr->term_names == NULL) { - return (0); - } - (void) strcpy(ptr->term_names, buf); - if (have > MAX_NAME_SIZE) - lseek(fd, (off_t) (have - MAX_NAME_SIZE), 1); - - /* grab the booleans */ - if ((ptr->Booleans = TYPE_CALLOC(char, max(BOOLCOUNT, bool_count))) == 0 - || read(fd, ptr->Booleans, (unsigned) bool_count) < bool_count) { - return (0); - } - - /* - * If booleans end on an odd byte, skip it. The machine they - * originally wrote terminfo on must have been a 16-bit - * word-oriented machine that would trap out if you tried a - * word access off a 2-byte boundary. - */ - even_boundary(name_size + bool_count); - - /* grab the numbers */ - if ((ptr->Numbers = TYPE_CALLOC(short, max(NUMCOUNT, num_count))) == 0 - || !read_shorts(fd, buf, num_count)) { - return (0); - } - convert_shorts(buf, ptr->Numbers, num_count); - - if ((ptr->Strings = TYPE_CALLOC(char *, max(STRCOUNT, str_count))) == 0) - return (0); - - if (str_count) { - /* grab the string offsets */ - if (!read_shorts(fd, buf, str_count)) { - return (0); - } - /* finally, grab the string table itself */ - if (read(fd, ptr->str_table, (unsigned) str_size) != str_size) - return (0); - convert_strings(buf, ptr->Strings, str_count, str_size, ptr->str_table); - } -#if NCURSES_XNAMES - - ptr->num_Booleans = BOOLCOUNT; - ptr->num_Numbers = NUMCOUNT; - ptr->num_Strings = STRCOUNT; - - /* - * Read extended entries, if any, after the normal end of terminfo data. - */ - even_boundary(str_size); - TR(TRACE_DATABASE, ("READ extended_header @%ld", (long) tell(fd))); - if (_nc_user_definable && read_shorts(fd, buf, 5)) { - int ext_bool_count = LOW_MSB(buf + 0); - int ext_num_count = LOW_MSB(buf + 2); - int ext_str_count = LOW_MSB(buf + 4); - int ext_str_size = LOW_MSB(buf + 6); - int ext_str_limit = LOW_MSB(buf + 8); - unsigned need = (ext_bool_count + ext_num_count + ext_str_count); - int base = 0; - - if (need >= sizeof(buf) - || ext_str_size >= (int) sizeof(buf) - || ext_str_limit >= (int) sizeof(buf) - || ext_bool_count < 0 - || ext_num_count < 0 - || ext_str_count < 0 - || ext_str_size < 0 - || ext_str_limit < 0) - return (0); - - ptr->num_Booleans = BOOLCOUNT + ext_bool_count; - ptr->num_Numbers = NUMCOUNT + ext_num_count; - ptr->num_Strings = STRCOUNT + ext_str_count; - - ptr->Booleans = typeRealloc(char, ptr->num_Booleans, ptr->Booleans); - ptr->Numbers = typeRealloc(short, ptr->num_Numbers, ptr->Numbers); - ptr->Strings = typeRealloc(char *, ptr->num_Strings, ptr->Strings); - - TR(TRACE_DATABASE, ("extended header is %d/%d/%d(%d:%d)", - ext_bool_count, ext_num_count, ext_str_count, - ext_str_size, ext_str_limit)); - - TR(TRACE_DATABASE, ("READ %d extended-booleans @%ld", - ext_bool_count, (long) tell(fd))); - if ((ptr->ext_Booleans = ext_bool_count) != 0) { - if (read(fd, ptr->Booleans + BOOLCOUNT, (unsigned) - ext_bool_count) != ext_bool_count) - return (0); - } - even_boundary(ext_bool_count); - - TR(TRACE_DATABASE, ("READ %d extended-numbers @%ld", - ext_num_count, (long) tell(fd))); - if ((ptr->ext_Numbers = ext_num_count) != 0) { - if (!read_shorts(fd, buf, ext_num_count)) - return (0); - TR(TRACE_DATABASE, ("Before converting extended-numbers")); - convert_shorts(buf, ptr->Numbers + NUMCOUNT, ext_num_count); - } - - TR(TRACE_DATABASE, ("READ extended-offsets @%ld", (long) tell(fd))); - if ((ext_str_count || need) - && !read_shorts(fd, buf, ext_str_count + need)) - return (0); - - TR(TRACE_DATABASE, ("READ %d bytes of extended-strings @%ld", - ext_str_limit, (long) tell(fd))); - - if (ext_str_limit) { - if ((ptr->ext_str_table = typeMalloc(char, ext_str_limit)) == 0) - return (0); - if (read(fd, ptr->ext_str_table, (unsigned) ext_str_limit) != ext_str_limit) - return (0); - TR(TRACE_DATABASE, ("first extended-string is %s", _nc_visbuf(ptr->ext_str_table))); - } - - if ((ptr->ext_Strings = ext_str_count) != 0) { - TR(TRACE_DATABASE, - ("Before computing extended-string capabilities str_count=%d, ext_str_count=%d", - str_count, ext_str_count)); - convert_strings(buf, ptr->Strings + str_count, ext_str_count, - ext_str_limit, ptr->ext_str_table); - for (i = ext_str_count - 1; i >= 0; i--) { - TR(TRACE_DATABASE, ("MOVE from [%d:%d] %s", - i, i + str_count, - _nc_visbuf(ptr->Strings[i + str_count]))); - ptr->Strings[i + STRCOUNT] = ptr->Strings[i + str_count]; - if (VALID_STRING(ptr->Strings[i + STRCOUNT])) - base += (strlen(ptr->Strings[i + STRCOUNT]) + 1); - TR(TRACE_DATABASE, ("... to [%d] %s", - i + STRCOUNT, - _nc_visbuf(ptr->Strings[i + STRCOUNT]))); - } - } - - if (need) { - if ((ptr->ext_Names = TYPE_CALLOC(char *, need)) == 0) - return (0); - TR(TRACE_DATABASE, - ("ext_NAMES starting @%d in extended_strings, first = %s", - base, _nc_visbuf(ptr->ext_str_table + base))); - convert_strings(buf + (2 * ext_str_count), - ptr->ext_Names, - (int) need, - ext_str_limit, ptr->ext_str_table + base); - } - - T(("...done reading terminfo bool %d(%d) num %d(%d) str %d(%d)", - ptr->num_Booleans, ptr->ext_Booleans, - ptr->num_Numbers, ptr->ext_Numbers, - ptr->num_Strings, ptr->ext_Strings)); - - TR(TRACE_DATABASE, ("extend: num_Booleans:%d", ptr->num_Booleans)); - } else -#endif /* NCURSES_XNAMES */ - { - T(("...done reading terminfo bool %d num %d str %d", - bool_count, num_count, str_count)); -#if NCURSES_XNAMES - TR(TRACE_DATABASE, ("normal: num_Booleans:%d", ptr->num_Booleans)); -#endif - } - - for (i = bool_count; i < BOOLCOUNT; i++) - ptr->Booleans[i] = FALSE; - for (i = num_count; i < NUMCOUNT; i++) - ptr->Numbers[i] = ABSENT_NUMERIC; - for (i = str_count; i < STRCOUNT; i++) - ptr->Strings[i] = ABSENT_STRING; - - return (1); -} - -NCURSES_EXPORT(int) -_nc_read_file_entry(const char *const filename, TERMTYPE *ptr) -/* return 1 if read, 0 if not found or garbled */ -{ - int code, fd = -1; - - if (_nc_access(filename, R_OK) < 0 - || (fd = open(filename, O_RDONLY | O_BINARY)) < 0) { - T(("cannot open terminfo %s (errno=%d)", filename, errno)); - code = 0; - } else { - T(("read terminfo %s", filename)); - if ((code = read_termtype(fd, ptr)) == 0) { - _nc_free_termtype(ptr); - } - close(fd); - } - - return (code); -} - -/* - * Build a terminfo pathname and try to read the data. Returns 1 on success, - * 0 on failure. - */ -static int -_nc_read_tic_entry(char *const filename, - const char *const dir, const char *ttn, TERMTYPE *const tp) -{ - int need = 2 + strlen(dir) + strlen(ttn); - - if (need > PATH_MAX) - return 0; - (void) sprintf(filename, "%s/%s", dir, ttn); - return _nc_read_file_entry(filename, tp); -} - -/* - * Process the list of :-separated directories, looking for the terminal type. - * We don't use strtok because it does not show us empty tokens. - */ -static int -_nc_read_terminfo_dirs(const char *dirs, char *const filename, const char *const - ttn, TERMTYPE *const tp) -{ - char *list, *a; - const char *b; - int code = 0; - - /* we'll modify the argument, so we must copy */ - if ((b = a = list = strdup(dirs)) == NULL) - return (0); - - for (;;) { - int c = *a; - if (c == 0 || c == NCURSES_PATHSEP) { - *a = 0; - if ((b + 1) >= a) - b = TERMINFO; - if (_nc_read_tic_entry(filename, b, ttn, tp) == 1) { - code = 1; - break; - } - b = a + 1; - if (c == 0) - break; - } - a++; - } - - free(list); - return (code); -} - -/* - * _nc_read_entry(char *tn, char *filename, TERMTYPE *tp) - * - * Find and read the compiled entry for a given terminal type, - * if it exists. We take pains here to make sure no combination - * of environment variables and terminal type name can be used to - * overrun the file buffer. - */ - -NCURSES_EXPORT(int) -_nc_read_entry(const char *const tn, char *const filename, TERMTYPE *const tp) -{ - char *envp; - char ttn[PATH_MAX]; - - if (strlen(tn) == 0 - || strcmp(tn, ".") == 0 - || strcmp(tn, "..") == 0 - || _nc_pathlast(tn) != 0) { - T(("illegal or missing entry name '%s'", tn)); - return 0; - } - - /* truncate the terminal name to prevent buffer overflow */ - (void) sprintf(ttn, "%c/%.*s", *tn, (int) sizeof(ttn) - 3, tn); - - /* This is System V behavior, in conjunction with our requirements for - * writing terminfo entries. - */ - if (have_tic_directory - && _nc_read_tic_entry(filename, _nc_tic_dir(0), ttn, tp) == 1) - return 1; - - if (use_terminfo_vars()) { - if ((envp = getenv("TERMINFO")) != 0 - && _nc_read_tic_entry(filename, _nc_tic_dir(envp), ttn, tp) == 1) - return 1; - - /* this is an ncurses extension */ - if ((envp = _nc_home_terminfo()) != 0) { - if (_nc_read_tic_entry(filename, envp, ttn, tp) == 1) { - return 1; - } - } - - /* this is an ncurses extension */ - if ((envp = getenv("TERMINFO_DIRS")) != 0) - return _nc_read_terminfo_dirs(envp, filename, ttn, tp); - } - - /* Try the system directory. Note that the TERMINFO_DIRS value, if - * defined by the configure script, begins with a ":", which will be - * interpreted as TERMINFO. - */ -#ifdef TERMINFO_DIRS - return _nc_read_terminfo_dirs(TERMINFO_DIRS, filename, ttn, tp); -#else - return _nc_read_tic_entry(filename, TERMINFO, ttn, tp); -#endif -} diff --git a/src/libs/ncurses/ncurses/tinfo/read_termcap.c b/src/libs/ncurses/ncurses/tinfo/read_termcap.c deleted file mode 100644 index a5d5a2cd29..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/read_termcap.c +++ /dev/null @@ -1,1167 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * Termcap compatibility support - * - * If your OS integrator didn't install a terminfo database, you can call - * _nc_read_termcap_entry() to support reading and translating capabilities - * from the system termcap file. This is a kludge; it will bulk up and slow - * down every program that uses ncurses, and translated termcap entries cannot - * use full terminfo capabilities. Don't use it unless you absolutely have to; - * instead, get your system people to run tic(1) from root on the terminfo - * master included with ncurses to translate it into a terminfo database. - * - * If USE_GETCAP is enabled, we use what is effectively a copy of the 4.4BSD - * getcap code to fetch entries. There are disadvantages to this; mainly that - * getcap(3) does its own resolution, meaning that entries read in in this way - * can't reference the terminfo tree. The only thing it buys is faster startup - * time, getcap(3) is much faster than our tic parser. - */ - -#include - -#include -#include -#include -#include -#include - -MODULE_ID("$Id: read_termcap.c,v 1.67 2005/06/04 21:49:20 tom Exp $") - -#if !PURE_TERMINFO - -#if defined(__EMX__) || defined(__DJGPP__) -#define is_pathname(s) ((((s) != 0) && ((s)[0] == '/')) \ - || (((s)[0] != 0) && ((s)[1] == ':'))) -#else -#define is_pathname(s) ((s) != 0 && (s)[0] == '/') -#endif - -#define TC_SUCCESS 0 -#define TC_UNRESOLVED -1 -#define TC_NOT_FOUND -2 -#define TC_SYS_ERR -3 -#define TC_REF_LOOP -4 - -static NCURSES_CONST char * -get_termpath(void) -{ - NCURSES_CONST char *result; - - if (!use_terminfo_vars() || (result = getenv("TERMPATH")) == 0) - result = TERMPATH; - T(("TERMPATH is %s", result)); - return result; -} - -#if USE_GETCAP - -#if HAVE_BSD_CGETENT -#define _nc_cgetcap cgetcap -#define _nc_cgetent(buf, oline, db_array, name) cgetent(buf, db_array, name) -#define _nc_cgetmatch cgetmatch -#define _nc_cgetset cgetset -#else -static int _nc_cgetmatch(char *, const char *); -static int _nc_getent(char **, unsigned *, int *, int, char **, int, const char - *, int, char *); -static int _nc_nfcmp(const char *, char *); - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Casey Leedom of Lawrence Livermore National Laboratory. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgment: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* static char sccsid[] = "@(#)getcap.c 8.3 (Berkeley) 3/25/94"; */ - -#define BFRAG 1024 -#define BSIZE 1024 -#define MAX_RECURSION 32 /* maximum getent recursion */ - -static size_t topreclen; /* toprec length */ -static char *toprec; /* Additional record specified by cgetset() */ -static int gottoprec; /* Flag indicating retrieval of toprecord */ - -/* - * Cgetset() allows the addition of a user specified buffer to be added to the - * database array, in effect "pushing" the buffer on top of the virtual - * database. 0 is returned on success, -1 on failure. - */ -static int -_nc_cgetset(const char *ent) -{ - if (ent == 0) { - FreeIfNeeded(toprec); - toprec = 0; - topreclen = 0; - return (0); - } - topreclen = strlen(ent); - if ((toprec = typeMalloc(char, topreclen + 1)) == 0) { - errno = ENOMEM; - return (-1); - } - gottoprec = 0; - (void) strcpy(toprec, ent); - return (0); -} - -/* - * Cgetcap searches the capability record buf for the capability cap with type - * `type'. A pointer to the value of cap is returned on success, 0 if the - * requested capability couldn't be found. - * - * Specifying a type of ':' means that nothing should follow cap (:cap:). In - * this case a pointer to the terminating ':' or NUL will be returned if cap is - * found. - * - * If (cap, '@') or (cap, terminator, '@') is found before (cap, terminator) - * return 0. - */ -static char * -_nc_cgetcap(char *buf, const char *cap, int type) -{ - register const char *cp; - register char *bp; - - bp = buf; - for (;;) { - /* - * Skip past the current capability field - it's either the - * name field if this is the first time through the loop, or - * the remainder of a field whose name failed to match cap. - */ - for (;;) { - if (*bp == '\0') - return (0); - else if (*bp++ == ':') - break; - } - - /* - * Try to match (cap, type) in buf. - */ - for (cp = cap; *cp == *bp && *bp != '\0'; cp++, bp++) - continue; - if (*cp != '\0') - continue; - if (*bp == '@') - return (0); - if (type == ':') { - if (*bp != '\0' && *bp != ':') - continue; - return (bp); - } - if (*bp != type) - continue; - bp++; - return (*bp == '@' ? 0 : bp); - } - /* NOTREACHED */ -} - -/* - * Cgetent extracts the capability record name from the NULL terminated file - * array db_array and returns a pointer to a malloc'd copy of it in buf. Buf - * must be retained through all subsequent calls to cgetcap, cgetnum, cgetflag, - * and cgetstr, but may then be freed. - * - * Returns: - * - * positive # on success (i.e., the index in db_array) - * TC_UNRESOLVED if we had too many recurrences to resolve - * TC_NOT_FOUND if the requested record couldn't be found - * TC_SYS_ERR if a system error was encountered (e.g.,couldn't open a file) - * TC_REF_LOOP if a potential reference loop is detected - */ -static int -_nc_cgetent(char **buf, int *oline, char **db_array, const char *name) -{ - unsigned dummy; - - return (_nc_getent(buf, &dummy, oline, 0, db_array, -1, name, 0, 0)); -} - -/* - * Getent implements the functions of cgetent. If fd is non-negative, - * *db_array has already been opened and fd is the open file descriptor. We - * do this to save time and avoid using up file descriptors for tc= - * recursions. - * - * Getent returns the same success/failure codes as cgetent. On success, a - * pointer to a malloc'd capability record with all tc= capabilities fully - * expanded and its length (not including trailing ASCII NUL) are left in - * *cap and *len. - * - * Basic algorithm: - * + Allocate memory incrementally as needed in chunks of size BFRAG - * for capability buffer. - * + Recurse for each tc=name and interpolate result. Stop when all - * names interpolated, a name can't be found, or depth exceeds - * MAX_RECURSION. - */ -#define DOALLOC(size) typeRealloc(char, size, record) -static int -_nc_getent( - char **cap, /* termcap-content */ - unsigned *len, /* length, needed for recursion */ - int *beginning, /* line-number at match */ - int in_array, /* index in 'db_array[] */ - char **db_array, /* list of files to search */ - int fd, - const char *name, - int depth, - char *nfield) -{ - register char *r_end, *rp; - int myfd = FALSE; - char *record = 0; - int tc_not_resolved; - int current; - int lineno; - - /* - * Return with ``loop detected'' error if we've recurred more than - * MAX_RECURSION times. - */ - if (depth > MAX_RECURSION) - return (TC_REF_LOOP); - - /* - * Check if we have a top record from cgetset(). - */ - if (depth == 0 && toprec != 0 && _nc_cgetmatch(toprec, name) == 0) { - if ((record = DOALLOC(topreclen + BFRAG)) == 0) { - errno = ENOMEM; - return (TC_SYS_ERR); - } - (void) strcpy(record, toprec); - rp = record + topreclen + 1; - r_end = rp + BFRAG; - current = in_array; - } else { - int foundit; - - /* - * Allocate first chunk of memory. - */ - if ((record = DOALLOC(BFRAG)) == 0) { - errno = ENOMEM; - return (TC_SYS_ERR); - } - rp = r_end = record + BFRAG; - foundit = FALSE; - - /* - * Loop through database array until finding the record. - */ - for (current = in_array; db_array[current] != 0; current++) { - int eof = FALSE; - - /* - * Open database if not already open. - */ - if (fd >= 0) { - (void) lseek(fd, (off_t) 0, SEEK_SET); - } else if ((_nc_access(db_array[current], R_OK) < 0) - || (fd = open(db_array[current], O_RDONLY, 0)) < 0) { - /* No error on unfound file. */ - if (errno == ENOENT) - continue; - free(record); - return (TC_SYS_ERR); - } else { - myfd = TRUE; - } - lineno = 0; - - /* - * Find the requested capability record ... - */ - { - char buf[2048]; - register char *b_end = buf; - register char *bp = buf; - register int c; - - /* - * Loop invariants: - * There is always room for one more character in record. - * R_end always points just past end of record. - * Rp always points just past last character in record. - * B_end always points just past last character in buf. - * Bp always points at next character in buf. - */ - - for (;;) { - int first = lineno + 1; - - /* - * Read in a line implementing (\, newline) - * line continuation. - */ - rp = record; - for (;;) { - if (bp >= b_end) { - int n; - - n = read(fd, buf, sizeof(buf)); - if (n <= 0) { - if (myfd) - (void) close(fd); - if (n < 0) { - free(record); - return (TC_SYS_ERR); - } - fd = -1; - eof = TRUE; - break; - } - b_end = buf + n; - bp = buf; - } - - c = *bp++; - if (c == '\n') { - lineno++; - if (rp == record || *(rp - 1) != '\\') - break; - } - *rp++ = c; - - /* - * Enforce loop invariant: if no room - * left in record buffer, try to get - * some more. - */ - if (rp >= r_end) { - unsigned pos; - size_t newsize; - - pos = rp - record; - newsize = r_end - record + BFRAG; - record = DOALLOC(newsize); - if (record == 0) { - if (myfd) - (void) close(fd); - errno = ENOMEM; - return (TC_SYS_ERR); - } - r_end = record + newsize; - rp = record + pos; - } - } - /* loop invariant lets us do this */ - *rp++ = '\0'; - - /* - * If encountered eof check next file. - */ - if (eof) - break; - - /* - * Toss blank lines and comments. - */ - if (*record == '\0' || *record == '#') - continue; - - /* - * See if this is the record we want ... - */ - if (_nc_cgetmatch(record, name) == 0 - && (nfield == 0 - || !_nc_nfcmp(nfield, record))) { - foundit = TRUE; - *beginning = first; - break; /* found it! */ - } - } - } - if (foundit) - break; - } - - if (!foundit) - return (TC_NOT_FOUND); - } - - /* - * Got the capability record, but now we have to expand all tc=name - * references in it ... - */ - { - register char *newicap, *s; - register int newilen; - unsigned ilen; - int diff, iret, tclen, oline; - char *icap, *scan, *tc, *tcstart, *tcend; - - /* - * Loop invariants: - * There is room for one more character in record. - * R_end points just past end of record. - * Rp points just past last character in record. - * Scan points at remainder of record that needs to be - * scanned for tc=name constructs. - */ - scan = record; - tc_not_resolved = FALSE; - for (;;) { - if ((tc = _nc_cgetcap(scan, "tc", '=')) == 0) - break; - - /* - * Find end of tc=name and stomp on the trailing `:' - * (if present) so we can use it to call ourselves. - */ - s = tc; - while (*s != '\0') { - if (*s++ == ':') { - *(s - 1) = '\0'; - break; - } - } - tcstart = tc - 3; - tclen = s - tcstart; - tcend = s; - - iret = _nc_getent(&icap, &ilen, &oline, current, db_array, fd, - tc, depth + 1, 0); - newicap = icap; /* Put into a register. */ - newilen = ilen; - if (iret != TC_SUCCESS) { - /* an error */ - if (iret < TC_NOT_FOUND) { - if (myfd) - (void) close(fd); - free(record); - return (iret); - } - if (iret == TC_UNRESOLVED) - tc_not_resolved = TRUE; - /* couldn't resolve tc */ - if (iret == TC_NOT_FOUND) { - *(s - 1) = ':'; - scan = s - 1; - tc_not_resolved = TRUE; - continue; - } - } - - /* not interested in name field of tc'ed record */ - s = newicap; - while (*s != '\0' && *s++ != ':') ; - newilen -= s - newicap; - newicap = s; - - /* make sure interpolated record is `:'-terminated */ - s += newilen; - if (*(s - 1) != ':') { - *s = ':'; /* overwrite NUL with : */ - newilen++; - } - - /* - * Make sure there's enough room to insert the - * new record. - */ - diff = newilen - tclen; - if (diff >= r_end - rp) { - unsigned pos, tcpos, tcposend; - size_t newsize; - - pos = rp - record; - newsize = r_end - record + diff + BFRAG; - tcpos = tcstart - record; - tcposend = tcend - record; - record = DOALLOC(newsize); - if (record == 0) { - if (myfd) - (void) close(fd); - free(icap); - errno = ENOMEM; - return (TC_SYS_ERR); - } - r_end = record + newsize; - rp = record + pos; - tcstart = record + tcpos; - tcend = record + tcposend; - } - - /* - * Insert tc'ed record into our record. - */ - s = tcstart + newilen; - memmove(s, tcend, (size_t) (rp - tcend)); - memmove(tcstart, newicap, (size_t) newilen); - rp += diff; - free(icap); - - /* - * Start scan on `:' so next cgetcap works properly - * (cgetcap always skips first field). - */ - scan = s - 1; - } - } - - /* - * Close file (if we opened it), give back any extra memory, and - * return capability, length and success. - */ - if (myfd) - (void) close(fd); - *len = rp - record - 1; /* don't count NUL */ - if (r_end > rp) { - if ((record = DOALLOC((size_t) (rp - record))) == 0) { - errno = ENOMEM; - return (TC_SYS_ERR); - } - } - - *cap = record; - if (tc_not_resolved) - return (TC_UNRESOLVED); - return (current); -} - -/* - * Cgetmatch will return 0 if name is one of the names of the capability - * record buf, -1 if not. - */ -static int -_nc_cgetmatch(char *buf, const char *name) -{ - register const char *np; - register char *bp; - - /* - * Start search at beginning of record. - */ - bp = buf; - for (;;) { - /* - * Try to match a record name. - */ - np = name; - for (;;) { - if (*np == '\0') { - if (*bp == '|' || *bp == ':' || *bp == '\0') - return (0); - else - break; - } else if (*bp++ != *np++) { - break; - } - } - - /* - * Match failed, skip to next name in record. - */ - bp--; /* a '|' or ':' may have stopped the match */ - for (;;) { - if (*bp == '\0' || *bp == ':') - return (-1); /* match failed totally */ - else if (*bp++ == '|') - break; /* found next name */ - } - } -} - -/* - * Compare name field of record. - */ -static int -_nc_nfcmp(const char *nf, char *rec) -{ - char *cp, tmp; - int ret; - - for (cp = rec; *cp != ':'; cp++) ; - - tmp = *(cp + 1); - *(cp + 1) = '\0'; - ret = strcmp(nf, rec); - *(cp + 1) = tmp; - - return (ret); -} -#endif /* HAVE_BSD_CGETENT */ - -/* - * Since ncurses provides its own 'tgetent()', we cannot use the native one. - * So we reproduce the logic to get down to cgetent() -- or our cut-down - * version of that -- to circumvent the problem of configuring against the - * termcap library. - */ -#define USE_BSD_TGETENT 1 - -#if USE_BSD_TGETENT -/* - * Copyright (c) 1980, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgment: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* static char sccsid[] = "@(#)termcap.c 8.1 (Berkeley) 6/4/93" */ - -#define PBUFSIZ 512 /* max length of filename path */ -#define PVECSIZ 32 /* max number of names in path */ -#define TBUFSIZ (2048*2) - -static char *tbuf; - -/* - * On entry, srcp points to a non ':' character which is the beginning of the - * token, if any. We'll try to return a string that doesn't end with a ':'. - */ -static char * -get_tc_token(char **srcp, int *endp) -{ - int ch; - bool found = FALSE; - char *s, *base; - char *tok = 0; - - *endp = TRUE; - for (s = base = *srcp; *s != '\0';) { - ch = *s++; - if (ch == '\\') { - if (*s == '\0') { - break; - } else if (*s++ == '\n') { - while (isspace(UChar(*s))) - s++; - } else { - found = TRUE; - } - } else if (ch == ':') { - if (found) { - tok = base; - s[-1] = '\0'; - *srcp = s; - *endp = FALSE; - break; - } - base = s; - } else if (isgraph(UChar(ch))) { - found = TRUE; - } - } - - /* malformed entry may end without a ':' */ - if (tok == 0 && found) { - tok = base; - } - - return tok; -} - -static char * -copy_tc_token(char *dst, const char *src, size_t len) -{ - int ch; - - while ((ch = *src++) != '\0') { - if (ch == '\\' && *src == '\n') { - while (isspace(UChar(*src))) - src++; - continue; - } - if (--len == 0) { - dst = 0; - break; - } - *dst++ = ch; - } - return dst; -} - -/* - * Get an entry for terminal name in buffer bp from the termcap file. - */ -static int -_nc_tgetent(char *bp, char **sourcename, int *lineno, const char *name) -{ - static char *the_source; - - register char *p; - register char *cp; - char *dummy = NULL; - char **fname; - char *home; - int i; - char pathbuf[PBUFSIZ]; /* holds raw path of filenames */ - char *pathvec[PVECSIZ]; /* to point to names in pathbuf */ - char **pvec; /* holds usable tail of path vector */ - NCURSES_CONST char *termpath; - string_desc desc; - - fname = pathvec; - pvec = pathvec; - tbuf = bp; - p = pathbuf; - cp = use_terminfo_vars()? getenv("TERMCAP") : NULL; - - /* - * TERMCAP can have one of two things in it. It can be the name of a file - * to use instead of /etc/termcap. In this case it better start with a - * "/". Or it can be an entry to use so we don't have to read the file. - * In this case it has to already have the newlines crunched out. If - * TERMCAP does not hold a file name then a path of names is searched - * instead. The path is found in the TERMPATH variable, or becomes - * "$HOME/.termcap /etc/termcap" if no TERMPATH exists. - */ - _nc_str_init(&desc, pathbuf, sizeof(pathbuf)); - if (cp == NULL) { - _nc_safe_strcpy(&desc, get_termpath()); - } else if (!is_pathname(cp)) { /* TERMCAP holds an entry */ - if ((termpath = get_termpath()) != 0) { - _nc_safe_strcat(&desc, termpath); - } else { - char temp[PBUFSIZ]; - temp[0] = 0; - if ((home = getenv("HOME")) != 0 && *home != '\0' - && strchr(home, ' ') == 0 - && strlen(home) < sizeof(temp) - 10) { /* setup path */ - sprintf(temp, "%s/", home); /* $HOME first */ - } - /* if no $HOME look in current directory */ - strcat(temp, ".termcap"); - _nc_safe_strcat(&desc, temp); - _nc_safe_strcat(&desc, " "); - _nc_safe_strcat(&desc, get_termpath()); - } - } else { /* user-defined name in TERMCAP */ - _nc_safe_strcat(&desc, cp); /* still can be tokenized */ - } - - *fname++ = pathbuf; /* tokenize path into vector of names */ - while (*++p) { - if (*p == ' ' || *p == NCURSES_PATHSEP) { - *p = '\0'; - while (*++p) - if (*p != ' ' && *p != NCURSES_PATHSEP) - break; - if (*p == '\0') - break; - *fname++ = p; - if (fname >= pathvec + PVECSIZ) { - fname--; - break; - } - } - } - *fname = 0; /* mark end of vector */ - if (is_pathname(cp)) { - if (_nc_cgetset(cp) < 0) { - return (TC_SYS_ERR); - } - } - - i = _nc_cgetent(&dummy, lineno, pathvec, name); - - /* ncurses' termcap-parsing routines cannot handle multiple adjacent - * empty fields, and mistakenly use the last valid cap entry instead of - * the first (breaks tc= includes) - */ - if (i >= 0) { - char *pd, *ps, *tok; - int endflag = FALSE; - char *list[1023]; - size_t n, count = 0; - - pd = bp; - ps = dummy; - while (!endflag && (tok = get_tc_token(&ps, &endflag)) != 0) { - bool ignore = FALSE; - - for (n = 1; n < count; n++) { - char *s = list[n]; - if (s[0] == tok[0] - && s[1] == tok[1]) { - ignore = TRUE; - break; - } - } - if (ignore != TRUE) { - list[count++] = tok; - pd = copy_tc_token(pd, tok, TBUFSIZ - (2 + pd - bp)); - if (pd == 0) { - i = -1; - break; - } - *pd++ = ':'; - *pd = '\0'; - } - } - } - - FreeIfNeeded(dummy); - FreeIfNeeded(the_source); - the_source = 0; - - /* This is not related to the BSD cgetent(), but to fake up a suitable - * filename for ncurses' error reporting. (If we are not using BSD - * cgetent, then it is the actual filename). - */ - if (i >= 0) { - if ((the_source = strdup(pathvec[i])) != 0) - *sourcename = the_source; - } - - return (i); -} -#endif /* USE_BSD_TGETENT */ -#endif /* USE_GETCAP */ - -#define MAXPATHS 32 - -/* - * Add a filename to the list in 'termpaths[]', checking that we really have - * a right to open the file. - */ -#if !USE_GETCAP -static int -add_tc(char *termpaths[], char *path, int count) -{ - char *save = strchr(path, NCURSES_PATHSEP); - if (save != 0) - *save = '\0'; - if (count < MAXPATHS - && _nc_access(path, R_OK) == 0) { - termpaths[count++] = path; - T(("Adding termpath %s", path)); - } - termpaths[count] = 0; - if (save != 0) - *save = NCURSES_PATHSEP; - return count; -} -#define ADD_TC(path, count) filecount = add_tc(termpaths, path, count) -#endif /* !USE_GETCAP */ - -NCURSES_EXPORT(int) -_nc_read_termcap_entry(const char *const tn, TERMTYPE *const tp) -{ - int found = FALSE; - ENTRY *ep; -#if USE_GETCAP_CACHE - char cwd_buf[PATH_MAX]; -#endif -#if USE_GETCAP - char *p, tc[TBUFSIZ]; - static char *source; - static int lineno; - - T(("read termcap entry for %s", tn)); - - if (strlen(tn) == 0 - || strcmp(tn, ".") == 0 - || strcmp(tn, "..") == 0 - || _nc_pathlast(tn) != 0) { - T(("illegal or missing entry name '%s'", tn)); - return 0; - } - - if (use_terminfo_vars() && (p = getenv("TERMCAP")) != 0 - && !is_pathname(p) && _nc_name_match(p, tn, "|:")) { - /* TERMCAP holds a termcap entry */ - strncpy(tc, p, sizeof(tc) - 1); - tc[sizeof(tc) - 1] = '\0'; - _nc_set_source("TERMCAP"); - } else { - /* we're using getcap(3) */ - if (_nc_tgetent(tc, &source, &lineno, tn) < 0) - return (ERR); - - _nc_curr_line = lineno; - _nc_set_source(source); - } - _nc_read_entry_source((FILE *) 0, tc, FALSE, FALSE, NULLHOOK); -#else - /* - * Here is what the 4.4BSD termcap(3) page prescribes: - * - * It will look in the environment for a TERMCAP variable. If found, and - * the value does not begin with a slash, and the terminal type name is the - * same as the environment string TERM, the TERMCAP string is used instead - * of reading a termcap file. If it does begin with a slash, the string is - * used as a path name of the termcap file to search. If TERMCAP does not - * begin with a slash and name is different from TERM, tgetent() searches - * the files $HOME/.termcap and /usr/share/misc/termcap, in that order, - * unless the environment variable TERMPATH exists, in which case it - * specifies a list of file pathnames (separated by spaces or colons) to be - * searched instead. - * - * It goes on to state: - * - * Whenever multiple files are searched and a tc field occurs in the - * requested entry, the entry it names must be found in the same file or - * one of the succeeding files. - * - * However, this restriction is relaxed in ncurses; tc references to - * previous files are permitted. - * - * This routine returns 1 if an entry is found, 0 if not found, and -1 if - * the database is not accessible. - */ - FILE *fp; - char *tc, *termpaths[MAXPATHS]; - int filecount = 0; - int j, k; - bool use_buffer = FALSE; - bool normal = TRUE; - char tc_buf[1024]; - char pathbuf[PATH_MAX]; - char *copied = 0; - char *cp; - struct stat test_stat[MAXPATHS]; - - termpaths[filecount] = 0; - if (use_terminfo_vars() && (tc = getenv("TERMCAP")) != 0) { - if (is_pathname(tc)) { /* interpret as a filename */ - ADD_TC(tc, 0); - normal = FALSE; - } else if (_nc_name_match(tc, tn, "|:")) { /* treat as a capability file */ - use_buffer = TRUE; - (void) sprintf(tc_buf, "%.*s\n", (int) sizeof(tc_buf) - 2, tc); - normal = FALSE; - } - } - - if (normal) { /* normal case */ - char envhome[PATH_MAX], *h; - - copied = strdup(get_termpath()); - for (cp = copied; *cp; cp++) { - if (*cp == NCURSES_PATHSEP) - *cp = '\0'; - else if (cp == copied || cp[-1] == '\0') { - ADD_TC(cp, filecount); - } - } - -#define PRIVATE_CAP "%s/.termcap" - - if (use_terminfo_vars() && (h = getenv("HOME")) != NULL && *h != '\0' - && (strlen(h) + sizeof(PRIVATE_CAP)) < PATH_MAX) { - /* user's .termcap, if any, should override it */ - (void) strcpy(envhome, h); - (void) sprintf(pathbuf, PRIVATE_CAP, envhome); - ADD_TC(pathbuf, filecount); - } - } - - /* - * Probably /etc/termcap is a symlink to /usr/share/misc/termcap. - * Avoid reading the same file twice. - */ -#if HAVE_LINK - for (j = 0; j < filecount; j++) { - bool omit = FALSE; - if (stat(termpaths[j], &test_stat[j]) != 0 - || (test_stat[j].st_mode & S_IFMT) != S_IFREG) { - omit = TRUE; - } else { - for (k = 0; k < j; k++) { - if (test_stat[k].st_dev == test_stat[j].st_dev - && test_stat[k].st_ino == test_stat[j].st_ino) { - omit = TRUE; - break; - } - } - } - if (omit) { - T(("Path %s is a duplicate", termpaths[j])); - for (k = j + 1; k < filecount; k++) { - termpaths[k - 1] = termpaths[k]; - test_stat[k - 1] = test_stat[k]; - } - --filecount; - --j; - } - } -#endif - - /* parse the sources */ - if (use_buffer) { - _nc_set_source("TERMCAP"); - - /* - * We don't suppress warning messages here. The presumption is - * that since it's just a single entry, they won't be a pain. - */ - _nc_read_entry_source((FILE *) 0, tc_buf, FALSE, FALSE, NULLHOOK); - } else { - int i; - - for (i = 0; i < filecount; i++) { - - T(("Looking for %s in %s", tn, termpaths[i])); - if (_nc_access(termpaths[i], R_OK) == 0 - && (fp = fopen(termpaths[i], "r")) != (FILE *) 0) { - _nc_set_source(termpaths[i]); - - /* - * Suppress warning messages. Otherwise you get 400 lines of - * crap from archaic termcap files as ncurses complains about - * all the obsolete capabilities. - */ - _nc_read_entry_source(fp, (char *) 0, FALSE, TRUE, NULLHOOK); - - (void) fclose(fp); - } - } - } - if (copied != 0) - free(copied); -#endif /* USE_GETCAP */ - - if (_nc_head == 0) - return (ERR); - - /* resolve all use references */ - _nc_resolve_uses2(TRUE, FALSE); - - /* find a terminal matching tn, if we can */ -#if USE_GETCAP_CACHE - if (getcwd(cwd_buf, sizeof(cwd_buf)) != 0) { - _nc_set_writedir((char *) 0); /* note: this does a chdir */ -#endif - for_entry_list(ep) { - if (_nc_name_match(ep->tterm.term_names, tn, "|:")) { - /* - * Make a local copy of the terminal capabilities, delinked - * from the list. - */ - *tp = ep->tterm; - _nc_delink_entry(_nc_head, &(ep->tterm)); - free(ep); - - /* - * OK, now try to write the type to user's terminfo directory. - * Next time he loads this, it will come through terminfo. - * - * Advantage: Second and subsequent fetches of this entry will - * be very fast. - * - * Disadvantage: After the first time a termcap type is loaded - * by its user, editing it in the /etc/termcap file, or in - * TERMCAP, or in a local ~/.termcap, will be ineffective - * unless the terminfo entry is explicitly removed. - */ -#if USE_GETCAP_CACHE - (void) _nc_write_entry(tp); -#endif - found = TRUE; - break; - } - } -#if USE_GETCAP_CACHE - chdir(cwd_buf); - } -#endif - - return (found); -} -#else -extern -NCURSES_EXPORT(void) -_nc_read_termcap(void); -NCURSES_EXPORT(void) -_nc_read_termcap(void) -{ -} -#endif /* PURE_TERMINFO */ diff --git a/src/libs/ncurses/ncurses/tinfo/setbuf.c b/src/libs/ncurses/ncurses/tinfo/setbuf.c deleted file mode 100644 index 94bb6d3463..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/setbuf.c +++ /dev/null @@ -1,150 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** setbuf.c -** -** Support for set_term(), reset_shell_mode(), reset_prog_mode(). -** -*/ - -#include - -MODULE_ID("$Id: setbuf.c,v 1.12 2003/11/15 23:55:34 tom Exp $") - -/* - * If the output file descriptor is connected to a tty (the typical case) it - * will probably be line-buffered. Keith Bostic pointed out that we don't want - * this; it hoses people running over networks by forcing out a bunch of small - * packets instead of one big one, so screen updates on ptys look jerky. - * Restore block buffering to prevent this minor lossage. - * - * The buffer size is a compromise. Ideally we'd like a buffer that can hold - * the maximum possible update size (the whole screen plus cup commands to - * change lines as it's painted). On a 66-line xterm this can become - * excessive. So we min it with the amount of data we think we can get through - * two Ethernet packets (maximum packet size - 100 for TCP/IP overhead). - * - * Why two ethernet packets? It used to be one, on the theory that said - * packets define the maximum size of atomic update. But that's less than the - * 2000 chars on a 25 x 80 screen, and we don't want local updates to flicker - * either. Two packet lengths will handle up to a 35 x 80 screen. - * - * The magic '6' is the estimated length of the end-of-line cup sequence to go - * to the next line. It's generous. We used to mess with the buffering in - * init_mvcur() after cost computation, but that lost the sequences emitted by - * init_acs() in setupscreen(). - * - * "The setvbuf function may be used only after the stream pointed to by stream - * has been associated with an open file and before any other operation is - * performed on the stream." (ISO 7.9.5.6.) - * - * Grrrr... - * - * On a lighter note, many implementations do in fact allow an application to - * reset the buffering after it has been written to. We try to do this because - * otherwise we leave stdout in buffered mode after endwin() is called. (This - * also happens with SVr4 curses). - * - * There are pros/cons: - * - * con: - * There is no guarantee that we can reestablish buffering once we've - * dropped it. - * - * We _may_ lose data if the implementation does not coordinate this with - * fflush. - * - * pro: - * An implementation is more likely to refuse to change the buffering than - * to do it in one of the ways mentioned above. - * - * The alternative is to have the application try to change buffering - * itself, which is certainly no improvement. - * - * Just in case it does not work well on a particular system, the calls to - * change buffering are all via the macro NC_BUFFERED. Some implementations - * do indeed get confused by changing setbuf on/off, and will overrun the - * buffer. So we disable this by default (there may yet be a workaround). - */ -NCURSES_EXPORT(void) -_nc_set_buffer(FILE *ofp, bool buffered) -{ - /* optional optimization hack -- do before any output to ofp */ -#if HAVE_SETVBUF || HAVE_SETBUFFER - if (SP->_buffered != (int)buffered) { - unsigned buf_len; - char *buf_ptr; - - if (getenv("NCURSES_NO_SETBUF") != 0) - return; - - fflush(ofp); -#ifdef __DJGPP__ - setmode(ofp, O_BINARY); -#endif - if (buffered != 0) { - buf_len = min(LINES * (COLS + 6), 2800); - if ((buf_ptr = SP->_setbuf) == 0) { - if ((buf_ptr = typeMalloc(char, buf_len)) == NULL) - return; - SP->_setbuf = buf_ptr; - /* Don't try to free this! */ - } -#if !USE_SETBUF_0 - else - return; -#endif - } else { -#if !USE_SETBUF_0 - return; -#else - buf_len = 0; - buf_ptr = 0; -#endif - } - -#if HAVE_SETVBUF -#ifdef SETVBUF_REVERSED /* pre-svr3? */ - (void) setvbuf(ofp, buf_ptr, buf_len, buf_len ? _IOFBF : _IOLBF); -#else - (void) setvbuf(ofp, buf_ptr, buf_len ? _IOFBF : _IOLBF, buf_len); -#endif -#elif HAVE_SETBUFFER - (void) setbuffer(ofp, buf_ptr, (int) buf_len); -#endif - - SP->_buffered = buffered; - } -#endif /* HAVE_SETVBUF || HAVE_SETBUFFER */ -} diff --git a/src/libs/ncurses/ncurses/tinfo/strings.c b/src/libs/ncurses/ncurses/tinfo/strings.c deleted file mode 100644 index d5377fe07a..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/strings.c +++ /dev/null @@ -1,142 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2000,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey * - ****************************************************************************/ - -/* -** lib_mvcur.c -**/ - -#include - -MODULE_ID("$Id: strings.c,v 1.5 2003/08/16 23:46:00 tom Exp $") - -/**************************************************************************** - * Useful string functions (especially for mvcur) - ****************************************************************************/ - -#if !HAVE_STRSTR -NCURSES_EXPORT(char *) -_nc_strstr(const char *haystack, const char *needle) -{ - size_t len1 = strlen(haystack); - size_t len2 = strlen(needle); - char *result = 0; - - while ((len1 != 0) && (len1-- >= len2)) { - if (!strncmp(haystack, needle, len2)) { - result = haystack; - break; - } - haystack++; - } - return result; -} -#endif - -/* - * Initialize the descriptor so we can append to it. Note that 'src' may - * be a null pointer (see _nc_str_null), so the corresponding strcat and - * strcpy calls have to allow for this. - */ -NCURSES_EXPORT(string_desc *) -_nc_str_init(string_desc * dst, char *src, size_t len) -{ - if (dst != 0) { - dst->s_head = src; - dst->s_tail = src; - dst->s_size = len - 1; - dst->s_init = dst->s_size; - if (src != 0) - *src = 0; - } - return dst; -} - -/* - * Initialize the descriptor for only tracking the amount of memory used. - */ -NCURSES_EXPORT(string_desc *) -_nc_str_null(string_desc * dst, size_t len) -{ - return _nc_str_init(dst, 0, len); -} - -/* - * Copy a descriptor - */ -NCURSES_EXPORT(string_desc *) -_nc_str_copy(string_desc * dst, string_desc * src) -{ - *dst = *src; - return dst; -} - -/* - * Replaces strcat into a fixed buffer, returning false on failure. - */ -NCURSES_EXPORT(bool) -_nc_safe_strcat(string_desc * dst, const char *src) -{ - if (src != 0) { - size_t len = strlen(src); - - if (len < dst->s_size) { - if (dst->s_tail != 0) { - strcpy(dst->s_tail, src); - dst->s_tail += len; - } - dst->s_size -= len; - return TRUE; - } - } - return FALSE; -} - -/* - * Replaces strcpy into a fixed buffer, returning false on failure. - */ -NCURSES_EXPORT(bool) -_nc_safe_strcpy(string_desc * dst, const char *src) -{ - if (src != 0) { - size_t len = strlen(src); - - if (len < dst->s_size) { - if (dst->s_head != 0) { - strcpy(dst->s_head, src); - dst->s_tail = dst->s_head + len; - } - dst->s_size = dst->s_init - len; - return TRUE; - } - } - return FALSE; -} diff --git a/src/libs/ncurses/ncurses/tinfo/trim_sgr0.c b/src/libs/ncurses/ncurses/tinfo/trim_sgr0.c deleted file mode 100644 index 7e7d15dfbe..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/trim_sgr0.c +++ /dev/null @@ -1,328 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas Dickey * - ****************************************************************************/ - -#include - -#include - -#include -#include - -MODULE_ID("$Id: trim_sgr0.c,v 1.5 2005/07/17 00:13:24 tom Exp $") - -#undef CUR -#define CUR tp-> - -#define CSI 233 -#define ESC 033 /* ^[ */ -#define L_BRACK '[' - -static char * -set_attribute_9(TERMTYPE *tp, int flag) -{ - const char *result; - - if ((result = tparm(set_attributes, 0, 0, 0, 0, 0, 0, 0, 0, flag)) == 0) - result = ""; - return strdup(result); -} - -static int -is_csi(const char *s) -{ - if (UChar(s[0]) == CSI) - return 1; - else if (s[0] == ESC && s[1] == L_BRACK) - return 2; - return 0; -} - -static char * -skip_zero(char *s) -{ - if (s[0] == '0') { - if (s[1] == ';') - s += 2; - else if (isalpha(UChar(s[1]))) - s += 1; - } - return s; -} - -static const char * -skip_delay(const char *s) -{ - if (s[0] == '$' && s[1] == '<') { - s += 2; - while ((*s != '\0') && (isdigit(*s) || *s == '/')) - ++s; - if (*s == '>') - ++s; - } - return s; -} - -/* - * Improve similar_sgr a little by moving the attr-string from the beginning - * to the end of the s-string. - */ -static bool -rewrite_sgr(char *s, char *attr) -{ - if (PRESENT(s)) { - if (PRESENT(attr)) { - unsigned len_s = strlen(s); - unsigned len_a = strlen(attr); - - if (len_s > len_a && !strncmp(attr, s, len_a)) { - unsigned n; - TR(TRACE_DATABASE, ("rewrite:\n\t%s", s)); - for (n = 0; n < len_s - len_a; ++n) { - s[n] = s[n + len_a]; - } - strcpy(s + n, attr); - TR(TRACE_DATABASE, ("to:\n\t%s", s)); - } - } - return TRUE; - } - return FALSE; /* oops */ -} - -static bool -similar_sgr(char *a, char *b) -{ - bool result = FALSE; - int csi_a = is_csi(a); - int csi_b = is_csi(b); - unsigned len_a; - unsigned len_b; - - TR(TRACE_DATABASE, ("similar_sgr:\n\t%s\n\t%s", - _nc_visbuf2(1, a), - _nc_visbuf2(2, b))); - if (csi_a != 0 && csi_b != 0 && csi_a == csi_b) { - a += csi_a; - b += csi_b; - if (*a != *b) { - a = skip_zero(a); - b = skip_zero(b); - } - } - len_a = strlen(a); - len_b = strlen(b); - if (len_a && len_b) { - if (len_a > len_b) - result = (strncmp(a, b, len_b) == 0); - else - result = (strncmp(a, b, len_a) == 0); - } - TR(TRACE_DATABASE, ("...similar_sgr: %d\n\t%s\n\t%s", result, - _nc_visbuf2(1, a), - _nc_visbuf2(2, b))); - return result; -} - -static unsigned -chop_out(char *string, unsigned i, unsigned j) -{ - TR(TRACE_DATABASE, ("chop_out %d..%d from %s", i, j, _nc_visbuf(string))); - while (string[j] != '\0') { - string[i++] = string[j++]; - } - string[i] = '\0'; - return i; -} - -/* - * Compare, ignoring delays. Some of the delay values are inconsistent, and - * we do not want to be stopped by that. - * - * Returns the number of chars from 'full' that we matched. If any mismatch - * occurs, return zero. - */ -static int -compare_part(const char *part, const char *full) -{ - const char *next_part; - const char *next_full; - int used_full = 0; - int used_delay = 0; - - while (*part != 0) { - if (*part != *full) { - used_full = 0; - break; - } - - /* - * Adjust the return-value to allow the rare case of - * stringstring - * to remove the whole piece. The most common case is a delay at the - * end of the string. The adjusted string will retain the delay, which - * is conservative. - */ - if (used_delay != 0) { - used_full += used_delay; - used_delay = 0; - } - if (*part == '$' && *full == '$') { - next_part = skip_delay(part); - next_full = skip_delay(full); - if (next_part != part && next_full != full) { - used_delay += (next_full - full); - full = next_full; - part = next_part; - continue; - } - } - ++used_full; - ++part; - ++full; - } - return used_full; -} - -/* - * While 'sgr0' is the "same" as termcap 'me', there is a compatibility issue. - * The sgr/sgr0 capabilities include setting/clearing alternate character set - * mode. A termcap application cannot use sgr, so sgr0 strings that reset - * alternate character set mode will be misinterpreted. Here, we remove those - * from the more common ISO/ANSI/VT100 entries, which have sgr0 agreeing with - * sgr. - * - * This function returns the modified sgr0 if it can be modified, a null if - * an error occurs, or the original sgr0 if no change is needed. - */ -NCURSES_EXPORT(char *) -_nc_trim_sgr0(TERMTYPE *tp) -{ - char *result = exit_attribute_mode; - - T((T_CALLED("_nc_trim_sgr0()"))); - - if (PRESENT(exit_attribute_mode) - && PRESENT(set_attributes)) { - bool found = FALSE; - char *on = set_attribute_9(tp, 1); - char *off = set_attribute_9(tp, 0); - char *end = strdup(exit_attribute_mode); - char *tmp; - size_t i, j, k; - - TR(TRACE_DATABASE, ("checking if we can trim sgr0 based on sgr")); - TR(TRACE_DATABASE, ("sgr0 %s", _nc_visbuf(end))); - TR(TRACE_DATABASE, ("sgr(9:off) %s", _nc_visbuf(off))); - TR(TRACE_DATABASE, ("sgr(9:on) %s", _nc_visbuf(on))); - - if (!rewrite_sgr(on, enter_alt_charset_mode) - || !rewrite_sgr(off, exit_alt_charset_mode) - || !rewrite_sgr(end, exit_alt_charset_mode)) { - FreeIfNeeded(on); - FreeIfNeeded(off); - FreeIfNeeded(end); - } else if (similar_sgr(off, end) - && !similar_sgr(off, on)) { - TR(TRACE_DATABASE, ("adjusting sgr(9:off) : %s", _nc_visbuf(off))); - result = off; - /* - * If rmacs is a substring of sgr(0), remove that chunk. - */ - if (exit_alt_charset_mode != 0) { - TR(TRACE_DATABASE, ("scan for rmacs %s", _nc_visbuf(exit_alt_charset_mode))); - j = strlen(off); - k = strlen(exit_alt_charset_mode); - if (j > k) { - for (i = 0; i <= (j - k); ++i) { - int k2 = compare_part(exit_alt_charset_mode, off + i); - if (k2 != 0) { - found = TRUE; - chop_out(off, i, i + k2); - break; - } - } - } - } - /* - * SGR 10 would reset to normal font. - */ - if (!found) { - if ((i = is_csi(off)) != 0 - && off[strlen(off) - 1] == 'm') { - TR(TRACE_DATABASE, ("looking for SGR 10 in %s", - _nc_visbuf(off))); - tmp = skip_zero(off + i); - if (tmp[0] == '1' - && skip_zero(tmp + 1) != tmp + 1) { - i = tmp - off; - if (off[i - 1] == ';') - i--; - j = skip_zero(tmp + 1) - off; - i = chop_out(off, i, j); - found = TRUE; - } - } - } - if (!found - && (tmp = strstr(end, off)) != 0 - && strcmp(end, off) != 0) { - i = tmp - end; - j = strlen(off); - tmp = strdup(end); - chop_out(tmp, i, j); - free(off); - result = tmp; - } - TR(TRACE_DATABASE, ("...adjusted sgr0 : %s", _nc_visbuf(result))); - if (!strcmp(result, exit_attribute_mode)) { - TR(TRACE_DATABASE, ("...same result, discard")); - free(result); - result = exit_attribute_mode; - } - } else { - /* - * Either the sgr does not reference alternate character set, - * or it is incorrect. That's too hard to decide right now. - */ - free(off); - } - free(end); - free(on); - } else { - /* - * Possibly some applications are confused if sgr0 contains rmacs, - * but that would be a different bug report -TD - */ - } - - returnPtr(result); -} diff --git a/src/libs/ncurses/ncurses/tinfo/write_entry.c b/src/libs/ncurses/ncurses/tinfo/write_entry.c deleted file mode 100644 index 9750dffd5f..0000000000 --- a/src/libs/ncurses/ncurses/tinfo/write_entry.c +++ /dev/null @@ -1,591 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * write_entry.c -- write a terminfo structure onto the file system - */ - -#include - -#include - -#include -#include - -#ifndef S_ISDIR -#define S_ISDIR(mode) ((mode & S_IFMT) == S_IFDIR) -#endif - -#if 0 -#define TRACE_OUT(p) DEBUG(2, p) -#else -#define TRACE_OUT(p) /*nothing */ -#endif - -MODULE_ID("$Id: write_entry.c,v 1.58 2002/04/21 20:35:08 tom Exp $") - -static int total_written; - -static int write_object(FILE *, TERMTYPE *); - -static void -write_file(char *filename, TERMTYPE * tp) -{ - FILE *fp = (_nc_access(filename, W_OK) == 0) ? fopen(filename, "wb") : 0; - if (fp == 0) { - perror(filename); - _nc_syserr_abort("can't open %s/%s", _nc_tic_dir(0), filename); - } - DEBUG(1, ("Created %s", filename)); - - if (write_object(fp, tp) == ERR) { - _nc_syserr_abort("error writing %s/%s", _nc_tic_dir(0), filename); - } - fclose(fp); -} - -/* - * make_directory(char *path) - * - * Make a directory if it doesn't exist. - */ -static int -make_directory(const char *path) -{ - int rc; - struct stat statbuf; - char fullpath[PATH_MAX]; - const char *destination = _nc_tic_dir(0); - - if (path == destination || *path == '/') { - if (strlen(path) + 1 > sizeof(fullpath)) - return (-1); - (void) strcpy(fullpath, path); - } else { - if (strlen(destination) + strlen(path) + 2 > sizeof(fullpath)) - return (-1); - (void) sprintf(fullpath, "%s/%s", destination, path); - } - - if ((rc = stat(path, &statbuf)) < 0) { - rc = mkdir(path, 0777); - } else { - if (_nc_access(path, R_OK | W_OK | X_OK) < 0) { - rc = -1; /* permission denied */ - } else if (!(S_ISDIR(statbuf.st_mode))) { - rc = -1; /* not a directory */ - } - } - return rc; -} - -NCURSES_EXPORT(void) -_nc_set_writedir(char *dir) -/* set the write directory for compiled entries */ -{ - const char *destination; - char actual[PATH_MAX]; - - if (dir == 0 - && use_terminfo_vars()) - dir = getenv("TERMINFO"); - - if (dir != 0) - (void) _nc_tic_dir(dir); - - destination = _nc_tic_dir(0); - if (make_directory(destination) < 0) { - char *home = _nc_home_terminfo(); - - if (home != 0) { - destination = home; - if (make_directory(destination) < 0) - _nc_err_abort("%s: permission denied (errno %d)", - destination, errno); - } - } - - /* - * Note: because of this code, this logic should be exercised - * *once only* per run. - */ - if (chdir(_nc_tic_dir(destination)) < 0 - || getcwd(actual, sizeof(actual)) == 0) - _nc_err_abort("%s: not a directory", destination); - _nc_keep_tic_dir(strdup(actual)); -} - -/* - * check_writeable(char code) - * - * Miscellaneous initialisations - * - * Check for access rights to destination directories - * Create any directories which don't exist. - * Note: there's no reason to return the result of make_directory(), since - * this function is called only in instances where that has to succeed. - * - */ - -static void -check_writeable(int code) -{ - static const char dirnames[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; - static bool verified[sizeof(dirnames)]; - - char dir[2]; - char *s = 0; - - if (code == 0 || (s = strchr(dirnames, code)) == 0) - _nc_err_abort("Illegal terminfo subdirectory \"%c\"", code); - - if (verified[s - dirnames]) - return; - - dir[0] = code; - dir[1] = '\0'; - if (make_directory(dir) < 0) { - _nc_err_abort("%s/%s: permission denied", _nc_tic_dir(0), dir); - } - - verified[s - dirnames] = TRUE; -} - -/* - * _nc_write_entry() - * - * Save the compiled version of a description in the filesystem. - * - * make a copy of the name-list - * break it up into first-name and all-but-last-name - * creat(first-name) - * write object information to first-name - * close(first-name) - * for each name in all-but-last-name - * link to first-name - * - * Using 'time()' to obtain a reference for file timestamps is unreliable, - * e.g., with NFS, because the filesystem may have a different time - * reference. We check for pre-existence of links by latching the first - * timestamp from a file that we create. - * - * The _nc_warning() calls will report a correct line number only if - * _nc_curr_line is properly set before the write_entry() call. - */ - -void -_nc_write_entry(TERMTYPE * const tp) -{ - struct stat statbuf; - char name_list[MAX_TERMINFO_LENGTH]; - char *first_name, *other_names; - char *ptr; - char filename[PATH_MAX]; - char linkname[PATH_MAX]; -#if USE_SYMLINKS - char symlinkname[PATH_MAX]; -#if !HAVE_LINK -#undef HAVE_LINK -#define HAVE_LINK 1 -#endif -#endif /* USE_SYMLINKS */ - static int call_count; - static time_t start_time; /* time at start of writes */ - - if (call_count++ == 0) { - start_time = 0; - } - - (void) strcpy(name_list, tp->term_names); - DEBUG(7, ("Name list = '%s'", name_list)); - - first_name = name_list; - - ptr = &name_list[strlen(name_list) - 1]; - other_names = ptr + 1; - - while (ptr > name_list && *ptr != '|') - ptr--; - - if (ptr != name_list) { - *ptr = '\0'; - - for (ptr = name_list; *ptr != '\0' && *ptr != '|'; ptr++) - continue; - - if (*ptr == '\0') - other_names = ptr; - else { - *ptr = '\0'; - other_names = ptr + 1; - } - } - - DEBUG(7, ("First name = '%s'", first_name)); - DEBUG(7, ("Other names = '%s'", other_names)); - - _nc_set_type(first_name); - - if (strlen(first_name) > sizeof(filename) - 3) - _nc_warning("terminal name too long."); - - sprintf(filename, "%c/%s", first_name[0], first_name); - - /* - * Has this primary name been written since the first call to - * write_entry()? If so, the newer write will step on the older, - * so warn the user. - */ - if (start_time > 0 && - stat(filename, &statbuf) >= 0 - && statbuf.st_mtime >= start_time) { - _nc_warning("name multiply defined."); - } - - check_writeable(first_name[0]); - write_file(filename, tp); - - if (start_time == 0) { - if (stat(filename, &statbuf) < 0 - || (start_time = statbuf.st_mtime) == 0) { - _nc_syserr_abort("error obtaining time from %s/%s", - _nc_tic_dir(0), filename); - } - } - while (*other_names != '\0') { - ptr = other_names++; - while (*other_names != '|' && *other_names != '\0') - other_names++; - - if (*other_names != '\0') - *(other_names++) = '\0'; - - if (strlen(ptr) > sizeof(linkname) - 3) { - _nc_warning("terminal alias %s too long.", ptr); - continue; - } - if (strchr(ptr, '/') != 0) { - _nc_warning("cannot link alias %s.", ptr); - continue; - } - - check_writeable(ptr[0]); - sprintf(linkname, "%c/%s", ptr[0], ptr); - - if (strcmp(filename, linkname) == 0) { - _nc_warning("self-synonym ignored"); - } else if (stat(linkname, &statbuf) >= 0 && - statbuf.st_mtime < start_time) { - _nc_warning("alias %s multiply defined.", ptr); - } else if (_nc_access(linkname, W_OK) == 0) -#if HAVE_LINK - { - int code; -#if USE_SYMLINKS - strcpy(symlinkname, "../"); - strncat(symlinkname, filename, sizeof(symlinkname) - 4); - symlinkname[sizeof(symlinkname) - 1] = '\0'; -#endif /* USE_SYMLINKS */ -#if HAVE_REMOVE - code = remove(linkname); -#else - code = unlink(linkname); -#endif - if (code != 0 && errno == ENOENT) - code = 0; -#if USE_SYMLINKS - if (symlink(symlinkname, linkname) < 0) -#else - if (link(filename, linkname) < 0) -#endif /* USE_SYMLINKS */ - { - /* - * If there wasn't anything there, and we cannot - * link to the target because it is the same as the - * target, then the source must be on a filesystem - * that uses caseless filenames, such as Win32, etc. - */ - if (code == 0 && errno == EEXIST) - _nc_warning("can't link %s to %s", filename, linkname); - else if (code == 0 && (errno == EPERM || errno == ENOENT)) - write_file(linkname, tp); - else { -#if MIXEDCASE_FILENAMES - _nc_syserr_abort("can't link %s to %s", filename, linkname); -#else - _nc_warning("can't link %s to %s (errno=%d)", filename, - linkname, errno); -#endif - } - } else { - DEBUG(1, ("Linked %s", linkname)); - } - } -#else /* just make copies */ - write_file(linkname, tp); -#endif /* HAVE_LINK */ - } -} - -#undef LITTLE_ENDIAN /* BSD/OS defines this as a feature macro */ -#define HI(x) ((x) / 256) -#define LO(x) ((x) % 256) -#define LITTLE_ENDIAN(p, x) (p)[0] = LO(x), (p)[1] = HI(x) - -#define WRITE_STRING(str) (fwrite(str, sizeof(char), strlen(str) + 1, fp) == strlen(str) + 1) - -static int -compute_offsets(char **Strings, unsigned strmax, short *offsets) -{ - size_t nextfree = 0; - unsigned i; - - for (i = 0; i < strmax; i++) { - if (Strings[i] == ABSENT_STRING) { - offsets[i] = -1; - } else if (Strings[i] == CANCELLED_STRING) { - offsets[i] = -2; - } else { - offsets[i] = nextfree; - nextfree += strlen(Strings[i]) + 1; - TRACE_OUT(("put Strings[%d]=%s(%d)", i, _nc_visbuf(Strings[i]), nextfree)); - } - } - return nextfree; -} - -static void -convert_shorts(unsigned char *buf, short *Numbers, unsigned count) -{ - unsigned i; - for (i = 0; i < count; i++) { - if (Numbers[i] == ABSENT_NUMERIC) { /* HI/LO won't work */ - buf[2 * i] = buf[2 * i + 1] = 0377; - } else if (Numbers[i] == CANCELLED_NUMERIC) { /* HI/LO won't work */ - buf[2 * i] = 0376; - buf[2 * i + 1] = 0377; - } else { - LITTLE_ENDIAN(buf + 2 * i, Numbers[i]); - TRACE_OUT(("put Numbers[%d]=%d", i, Numbers[i])); - } - } -} - -#define even_boundary(value) \ - ((value) % 2 != 0 && fwrite(&zero, sizeof(char), 1, fp) != 1) - -static int -write_object(FILE * fp, TERMTYPE * tp) -{ - char *namelist; - size_t namelen, boolmax, nummax, strmax; - char zero = '\0'; - size_t i; - short nextfree; - short offsets[MAX_ENTRY_SIZE / 2]; - unsigned char buf[MAX_ENTRY_SIZE]; - unsigned last_bool = BOOLWRITE; - unsigned last_num = NUMWRITE; - unsigned last_str = STRWRITE; - -#if NCURSES_XNAMES - /* - * Normally we limit the list of values to exclude the "obsolete" - * capabilities. However, if we are accepting extended names, add - * these as well, since they are used for supporting translation - * to/from termcap. - */ - if (_nc_user_definable) { - last_bool = BOOLCOUNT; - last_num = NUMCOUNT; - last_str = STRCOUNT; - } -#endif - - namelist = tp->term_names; - namelen = strlen(namelist) + 1; - - boolmax = 0; - for (i = 0; i < last_bool; i++) { - if (tp->Booleans[i] == TRUE) - boolmax = i + 1; - } - - nummax = 0; - for (i = 0; i < last_num; i++) { - if (tp->Numbers[i] != ABSENT_NUMERIC) - nummax = i + 1; - } - - strmax = 0; - for (i = 0; i < last_str; i++) { - if (tp->Strings[i] != ABSENT_STRING) - strmax = i + 1; - } - - nextfree = compute_offsets(tp->Strings, strmax, offsets); - - /* fill in the header */ - LITTLE_ENDIAN(buf, MAGIC); - LITTLE_ENDIAN(buf + 2, min(namelen, MAX_NAME_SIZE + 1)); - LITTLE_ENDIAN(buf + 4, boolmax); - LITTLE_ENDIAN(buf + 6, nummax); - LITTLE_ENDIAN(buf + 8, strmax); - LITTLE_ENDIAN(buf + 10, nextfree); - - /* write out the header */ - TRACE_OUT(("Header of %s @%ld", namelist, ftell(fp))); - if (fwrite(buf, 12, 1, fp) != 1 - || fwrite(namelist, sizeof(char), namelen, fp) != namelen) - return (ERR); - - for (i = 0; i < boolmax; i++) - if (tp->Booleans[i] == TRUE) - buf[i] = TRUE; - else - buf[i] = FALSE; - if (fwrite(buf, sizeof(char), boolmax, fp) != boolmax) - return (ERR); - - if (even_boundary(namelen + boolmax)) - return (ERR); - - TRACE_OUT(("Numerics begin at %04lx", ftell(fp))); - - /* the numerics */ - convert_shorts(buf, tp->Numbers, nummax); - if (fwrite(buf, 2, nummax, fp) != nummax) - return (ERR); - - TRACE_OUT(("String offsets begin at %04lx", ftell(fp))); - - /* the string offsets */ - convert_shorts(buf, offsets, strmax); - if (fwrite(buf, 2, strmax, fp) != strmax) - return (ERR); - - TRACE_OUT(("String table begins at %04lx", ftell(fp))); - - /* the strings */ - for (i = 0; i < strmax; i++) - if (VALID_STRING(tp->Strings[i])) - if (!WRITE_STRING(tp->Strings[i])) - return (ERR); - -#if NCURSES_XNAMES - if (NUM_EXT_NAMES(tp)) { - unsigned extcnt = NUM_EXT_NAMES(tp); - - if (even_boundary(nextfree)) - return (ERR); - - nextfree = compute_offsets(tp->Strings + STRCOUNT, tp->ext_Strings, offsets); - TRACE_OUT(("after extended string capabilities, nextfree=%d", nextfree)); - nextfree += compute_offsets(tp->ext_Names, extcnt, offsets + tp->ext_Strings); - TRACE_OUT(("after extended capnames, nextfree=%d", nextfree)); - strmax = tp->ext_Strings + extcnt; - - /* - * Write the extended header - */ - LITTLE_ENDIAN(buf + 0, tp->ext_Booleans); - LITTLE_ENDIAN(buf + 2, tp->ext_Numbers); - LITTLE_ENDIAN(buf + 4, tp->ext_Strings); - LITTLE_ENDIAN(buf + 6, strmax); - LITTLE_ENDIAN(buf + 8, nextfree); - TRACE_OUT(("WRITE extended-header @%ld", ftell(fp))); - if (fwrite(buf, 10, 1, fp) != 1) - return (ERR); - - TRACE_OUT(("WRITE %d booleans @%ld", tp->ext_Booleans, ftell(fp))); - if (tp->ext_Booleans - && fwrite(tp->Booleans + BOOLCOUNT, sizeof(char), - tp->ext_Booleans, fp) != tp->ext_Booleans) - return (ERR); - - if (even_boundary(tp->ext_Booleans)) - return (ERR); - - TRACE_OUT(("WRITE %d numbers @%ld", tp->ext_Numbers, ftell(fp))); - if (tp->ext_Numbers) { - convert_shorts(buf, tp->Numbers + NUMCOUNT, tp->ext_Numbers); - if (fwrite(buf, 2, tp->ext_Numbers, fp) != tp->ext_Numbers) - return (ERR); - } - - /* - * Convert the offsets for the ext_Strings and ext_Names tables, - * in that order. - */ - convert_shorts(buf, offsets, strmax); - TRACE_OUT(("WRITE offsets @%ld", ftell(fp))); - if (fwrite(buf, 2, strmax, fp) != strmax) - return (ERR); - - /* - * Write the string table after the offset tables so we do not - * have to do anything about alignment. - */ - for (i = 0; i < tp->ext_Strings; i++) { - if (VALID_STRING(tp->Strings[i + STRCOUNT])) { - TRACE_OUT(("WRITE ext_Strings[%d]=%s", i, - _nc_visbuf(tp->Strings[i + STRCOUNT]))); - if (!WRITE_STRING(tp->Strings[i + STRCOUNT])) - return (ERR); - } - } - - /* - * Write the extended names - */ - for (i = 0; i < extcnt; i++) { - TRACE_OUT(("WRITE ext_Names[%d]=%s", i, tp->ext_Names[i])); - if (!WRITE_STRING(tp->ext_Names[i])) - return (ERR); - } - - } -#endif /* NCURSES_XNAMES */ - - total_written++; - return (OK); -} - -/* - * Returns the total number of entries written by this process - */ -NCURSES_EXPORT(int) -_nc_tic_written(void) -{ - return total_written; -} diff --git a/src/libs/ncurses/ncurses/trace/README b/src/libs/ncurses/ncurses/trace/README deleted file mode 100644 index a627a537a3..0000000000 --- a/src/libs/ncurses/ncurses/trace/README +++ /dev/null @@ -1,5 +0,0 @@ --- $Id: README,v 1.1 1998/11/08 00:11:01 tom Exp $ - -The files in this directory (trace) support both the terminfo and ncurses -libraries. Most of the functions are linked in only when the libraries -are compiled with TRACE defined. diff --git a/src/libs/ncurses/ncurses/trace/lib_trace.c b/src/libs/ncurses/ncurses/trace/lib_trace.c deleted file mode 100644 index 19e9e451f9..0000000000 --- a/src/libs/ncurses/ncurses/trace/lib_trace.c +++ /dev/null @@ -1,222 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * lib_trace.c - Tracing/Debugging routines - */ - -#include -#include - -#include - -MODULE_ID("$Id: lib_trace.c,v 1.58 2005/04/16 16:15:24 tom Exp $") - -NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0; /* always define this */ - -#ifdef TRACE -NCURSES_EXPORT_VAR(const char *) _nc_tputs_trace = ""; -NCURSES_EXPORT_VAR(long) _nc_outchars = 0; - -static FILE *tracefp = 0; /* default to writing to stderr */ - -NCURSES_EXPORT(void) -trace(const unsigned int tracelevel) -{ - static bool been_here = FALSE; - static char my_name[PATH_MAX]; - - if ((tracefp == 0) && tracelevel) { - const char *mode = been_here ? "ab" : "wb"; - - if (*my_name == '\0') { - if (getcwd(my_name, sizeof(my_name) - 10) == 0) { - perror("curses: Can't get working directory"); - exit(EXIT_FAILURE); - } - strcat(my_name, "/trace"); - } - - been_here = TRUE; - _nc_tracing = tracelevel; - if (_nc_access(my_name, W_OK) < 0 - || (tracefp = fopen(my_name, mode)) == 0) { - perror("curses: Can't open 'trace' file"); - exit(EXIT_FAILURE); - } - /* Try to set line-buffered mode, or (failing that) unbuffered, - * so that the trace-output gets flushed automatically at the - * end of each line. This is useful in case the program dies. - */ -#if HAVE_SETVBUF /* ANSI */ - (void) setvbuf(tracefp, (char *) 0, _IOLBF, 0); -#elif HAVE_SETBUF /* POSIX */ - (void) setbuffer(tracefp, (char *) 0); -#endif - _tracef("TRACING NCURSES version %s.%d (tracelevel=%#x)", - NCURSES_VERSION, - NCURSES_VERSION_PATCH, - tracelevel); - } else if (tracelevel == 0) { - if (tracefp != 0) { - fclose(tracefp); - tracefp = 0; - } - _nc_tracing = tracelevel; - } else if (_nc_tracing != tracelevel) { - _nc_tracing = tracelevel; - _tracef("tracelevel=%#x", tracelevel); - } -} - -NCURSES_EXPORT(void) -_tracef(const char *fmt,...) -{ - static const char Called[] = T_CALLED(""); - static const char Return[] = T_RETURN(""); - static int level; - va_list ap; - bool before = FALSE; - bool after = FALSE; - unsigned doit = _nc_tracing; - int save_err = errno; - - if (strlen(fmt) >= sizeof(Called) - 1) { - if (!strncmp(fmt, Called, sizeof(Called) - 1)) { - before = TRUE; - level++; - } else if (!strncmp(fmt, Return, sizeof(Return) - 1)) { - after = TRUE; - } - if (before || after) { - if ((level <= 1) - || (doit & TRACE_ICALLS) != 0) - doit &= (TRACE_CALLS | TRACE_CCALLS); - else - doit = 0; - } - } - - if (doit != 0) { - if (tracefp == 0) - tracefp = stderr; - if (before || after) { - int n; - for (n = 1; n < level; n++) - fputs("+ ", tracefp); - } - va_start(ap, fmt); - vfprintf(tracefp, fmt, ap); - fputc('\n', tracefp); - va_end(ap); - fflush(tracefp); - } - - if (after && level) - level--; - errno = save_err; -} - -/* Trace 'bool' return-values */ -NCURSES_EXPORT(NCURSES_BOOL) -_nc_retrace_bool(NCURSES_BOOL code) -{ - T((T_RETURN("%s"), code ? "TRUE" : "FALSE")); - return code; -} - -/* Trace 'int' return-values */ -NCURSES_EXPORT(int) -_nc_retrace_int(int code) -{ - T((T_RETURN("%d"), code)); - return code; -} - -/* Trace 'unsigned' return-values */ -NCURSES_EXPORT(unsigned) -_nc_retrace_unsigned(unsigned code) -{ - T((T_RETURN("%#x"), code)); - return code; -} - -/* Trace 'char*' return-values */ -NCURSES_EXPORT(char *) -_nc_retrace_ptr(char *code) -{ - T((T_RETURN("%s"), _nc_visbuf(code))); - return code; -} - -/* Trace 'const char*' return-values */ -NCURSES_EXPORT(const char *) -_nc_retrace_cptr(const char *code) -{ - T((T_RETURN("%s"), _nc_visbuf(code))); - return code; -} - -/* Trace 'NCURSES_CONST void*' return-values */ -NCURSES_EXPORT(NCURSES_CONST void *) -_nc_retrace_cvoid_ptr(NCURSES_CONST void *code) -{ - T((T_RETURN("%p"), code)); - return code; -} - -/* Trace 'void*' return-values */ -NCURSES_EXPORT(void *) -_nc_retrace_void_ptr(void *code) -{ - T((T_RETURN("%p"), code)); - return code; -} - -/* Trace 'SCREEN *' return-values */ -NCURSES_EXPORT(SCREEN *) -_nc_retrace_sp(SCREEN *code) -{ - T((T_RETURN("%p"), code)); - return code; -} - -/* Trace 'WINDOW *' return-values */ -NCURSES_EXPORT(WINDOW *) -_nc_retrace_win(WINDOW *code) -{ - T((T_RETURN("%p"), code)); - return code; -} -#endif /* TRACE */ diff --git a/src/libs/ncurses/ncurses/trace/lib_traceatr.c b/src/libs/ncurses/ncurses/trace/lib_traceatr.c deleted file mode 100644 index a162c7be06..0000000000 --- a/src/libs/ncurses/ncurses/trace/lib_traceatr.c +++ /dev/null @@ -1,339 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas Dickey 1996-on * - * and: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * lib_traceatr.c - Tracing/Debugging routines (attributes) - */ - -#include -#include /* acs_chars */ - -MODULE_ID("$Id: lib_traceatr.c,v 1.53 2005/08/20 20:21:20 tom Exp $") - -#define COLOR_OF(c) ((c < 0) ? "default" : (c > 7 ? color_of(c) : colors[c].name)) - -#ifdef TRACE - -static const char l_brace[] = {L_BRACE, 0}; -static const char r_brace[] = {R_BRACE, 0}; - -#ifndef USE_TERMLIB -static char * -color_of(int c) -{ - static char buffer[2][80]; - static int sel; - static int last = -1; - - if (c != last) { - last = c; - sel = !sel; - if (c == COLOR_DEFAULT) - strcpy(buffer[sel], "default"); - else - sprintf(buffer[sel], "color%d", c); - } - return buffer[sel]; -} -#endif /* !USE_TERMLIB */ - -NCURSES_EXPORT(char *) -_traceattr2(int bufnum, attr_t newmode) -{ - char *buf = _nc_trace_buf(bufnum, BUFSIZ); - char temp[80]; - static const struct { - unsigned int val; - const char *name; - } names[] = - { - /* *INDENT-OFF* */ - { A_STANDOUT, "A_STANDOUT" }, - { A_UNDERLINE, "A_UNDERLINE" }, - { A_REVERSE, "A_REVERSE" }, - { A_BLINK, "A_BLINK" }, - { A_DIM, "A_DIM" }, - { A_BOLD, "A_BOLD" }, - { A_ALTCHARSET, "A_ALTCHARSET" }, - { A_INVIS, "A_INVIS" }, - { A_PROTECT, "A_PROTECT" }, - { A_CHARTEXT, "A_CHARTEXT" }, - { A_NORMAL, "A_NORMAL" }, - { A_COLOR, "A_COLOR" }, - /* *INDENT-ON* */ - - } -#ifndef USE_TERMLIB - , - colors[] = - { - /* *INDENT-OFF* */ - { COLOR_BLACK, "COLOR_BLACK" }, - { COLOR_RED, "COLOR_RED" }, - { COLOR_GREEN, "COLOR_GREEN" }, - { COLOR_YELLOW, "COLOR_YELLOW" }, - { COLOR_BLUE, "COLOR_BLUE" }, - { COLOR_MAGENTA, "COLOR_MAGENTA" }, - { COLOR_CYAN, "COLOR_CYAN" }, - { COLOR_WHITE, "COLOR_WHITE" }, - /* *INDENT-ON* */ - - } -#endif /* !USE_TERMLIB */ - ; - size_t n; - unsigned save_nc_tracing = _nc_tracing; - _nc_tracing = 0; - - strcpy(buf, l_brace); - - for (n = 0; n < SIZEOF(names); n++) { - if ((newmode & names[n].val) != 0) { - if (buf[1] != '\0') - buf = _nc_trace_bufcat(bufnum, "|"); - buf = _nc_trace_bufcat(bufnum, names[n].name); - - if (names[n].val == A_COLOR) { - short pairnum = PAIR_NUMBER(newmode); -#ifdef USE_TERMLIB - /* pair_content lives in libncurses */ - (void) sprintf(temp, "{%d}", pairnum); -#else - short fg, bg; - - if (pair_content(pairnum, &fg, &bg) == OK) { - (void) sprintf(temp, - "{%d = {%s, %s}}", - pairnum, - COLOR_OF(fg), - COLOR_OF(bg)); - } else { - (void) sprintf(temp, "{%d}", pairnum); - } -#endif - buf = _nc_trace_bufcat(bufnum, temp); - } - } - } - if (ChAttrOf(newmode) == A_NORMAL) { - if (buf[1] != '\0') - (void) _nc_trace_bufcat(bufnum, "|"); - (void) _nc_trace_bufcat(bufnum, "A_NORMAL"); - } - - _nc_tracing = save_nc_tracing; - return (_nc_trace_bufcat(bufnum, r_brace)); -} - -NCURSES_EXPORT(char *) -_traceattr(attr_t newmode) -{ - return _traceattr2(0, newmode); -} - -/* Trace 'int' return-values */ -NCURSES_EXPORT(attr_t) -_nc_retrace_attr_t(attr_t code) -{ - T((T_RETURN("%s"), _traceattr(code))); - return code; -} - -const char * -_nc_altcharset_name(attr_t attr, chtype ch) -{ - const char *result = 0; - - if ((attr & A_ALTCHARSET) && (acs_chars != 0)) { - char *cp; - char *found = 0; - static const struct { - unsigned int val; - const char *name; - } names[] = - { - /* *INDENT-OFF* */ - { 'l', "ACS_ULCORNER" }, /* upper left corner */ - { 'm', "ACS_LLCORNER" }, /* lower left corner */ - { 'k', "ACS_URCORNER" }, /* upper right corner */ - { 'j', "ACS_LRCORNER" }, /* lower right corner */ - { 't', "ACS_LTEE" }, /* tee pointing right */ - { 'u', "ACS_RTEE" }, /* tee pointing left */ - { 'v', "ACS_BTEE" }, /* tee pointing up */ - { 'w', "ACS_TTEE" }, /* tee pointing down */ - { 'q', "ACS_HLINE" }, /* horizontal line */ - { 'x', "ACS_VLINE" }, /* vertical line */ - { 'n', "ACS_PLUS" }, /* large plus or crossover */ - { 'o', "ACS_S1" }, /* scan line 1 */ - { 's', "ACS_S9" }, /* scan line 9 */ - { '`', "ACS_DIAMOND" }, /* diamond */ - { 'a', "ACS_CKBOARD" }, /* checker board (stipple) */ - { 'f', "ACS_DEGREE" }, /* degree symbol */ - { 'g', "ACS_PLMINUS" }, /* plus/minus */ - { '~', "ACS_BULLET" }, /* bullet */ - { ',', "ACS_LARROW" }, /* arrow pointing left */ - { '+', "ACS_RARROW" }, /* arrow pointing right */ - { '.', "ACS_DARROW" }, /* arrow pointing down */ - { '-', "ACS_UARROW" }, /* arrow pointing up */ - { 'h', "ACS_BOARD" }, /* board of squares */ - { 'i', "ACS_LANTERN" }, /* lantern symbol */ - { '0', "ACS_BLOCK" }, /* solid square block */ - { 'p', "ACS_S3" }, /* scan line 3 */ - { 'r', "ACS_S7" }, /* scan line 7 */ - { 'y', "ACS_LEQUAL" }, /* less/equal */ - { 'z', "ACS_GEQUAL" }, /* greater/equal */ - { '{', "ACS_PI" }, /* Pi */ - { '|', "ACS_NEQUAL" }, /* not equal */ - { '}', "ACS_STERLING" }, /* UK pound sign */ - { '\0', (char *) 0 } - /* *INDENT-OFF* */ - }, - *sp; - - for (cp = acs_chars; cp[0] && cp[1]; cp += 2) { - if (ChCharOf(cp[1]) == ChCharOf(ch)) { - found = cp; - /* don't exit from loop - there may be redefinitions */ - } - } - - if (found != 0) { - ch = ChCharOf(*found); - for (sp = names; sp->val; sp++) - if (sp->val == ch) { - result = sp->name; - break; - } - } - } - return result; -} - -NCURSES_EXPORT(char *) -_tracechtype2(int bufnum, chtype ch) -{ - const char *found; - - strcpy(_nc_trace_buf(bufnum, BUFSIZ), l_brace); - if ((found = _nc_altcharset_name(ChAttrOf(ch), ch)) != 0) { - (void) _nc_trace_bufcat(bufnum, found); - } else - (void) _nc_trace_bufcat(bufnum, _tracechar((int)ChCharOf(ch))); - - if (ChAttrOf(ch) != A_NORMAL) { - (void) _nc_trace_bufcat(bufnum, " | "); - (void) _nc_trace_bufcat(bufnum, - _traceattr2(bufnum + 20, ChAttrOf(ch))); - } - - return (_nc_trace_bufcat(bufnum, r_brace)); -} - -NCURSES_EXPORT(char *) -_tracechtype (chtype ch) -{ - return _tracechtype2(0, ch); -} - -/* Trace 'chtype' return-values */ -NCURSES_EXPORT(chtype) -_nc_retrace_chtype (chtype code) -{ - T((T_RETURN("%s"), _tracechtype(code))); - return code; -} - -#if USE_WIDEC_SUPPORT -NCURSES_EXPORT(char *) -_tracecchar_t2 (int bufnum, const cchar_t *ch) -{ - char *buf = _nc_trace_buf(bufnum, BUFSIZ); - attr_t attr; - const char *found; - - strcpy(buf, l_brace); - if (ch != 0) { - attr = AttrOfD(ch); - if ((found = _nc_altcharset_name(attr, CharOfD(ch))) != 0) { - (void) _nc_trace_bufcat(bufnum, found); - attr &= ~A_ALTCHARSET; - } else if (isWidecExt(CHDEREF(ch))) { - (void) _nc_trace_bufcat(bufnum, "{NAC}"); - attr &= ~A_CHARTEXT; - } else { - PUTC_DATA; - int n; - - PUTC_INIT; - (void) _nc_trace_bufcat(bufnum, "{ "); - do { - PUTC_ch = PUTC_i < CCHARW_MAX ? ch->chars[PUTC_i] : L'\0'; - PUTC_n = wcrtomb(PUTC_buf, ch->chars[PUTC_i], &PUT_st); - if (PUTC_ch == L'\0') - --PUTC_n; - if (PUTC_n <= 0) { - if (PUTC_ch != L'\0') { - /* it could not be a multibyte sequence */ - (void) _nc_trace_bufcat(bufnum, _tracechar(UChar(ch->chars[PUTC_i]))); - } - break; - } - for (n = 0; n < PUTC_n; n++) { - if (n) - (void) _nc_trace_bufcat(bufnum, ", "); - (void) _nc_trace_bufcat(bufnum, _tracechar(UChar(PUTC_buf[n]))); - } - ++PUTC_i; - } while (PUTC_ch != L'\0'); - (void) _nc_trace_bufcat(bufnum, " }"); - } - if (attr != A_NORMAL) { - (void) _nc_trace_bufcat(bufnum, " | "); - (void) _nc_trace_bufcat(bufnum, _traceattr2(bufnum + 20, attr)); - } - } - - return (_nc_trace_bufcat(bufnum, r_brace)); -} - -NCURSES_EXPORT(char *) -_tracecchar_t (const cchar_t *ch) -{ - return _tracecchar_t2(0, ch); -} -#endif - -#else -empty_module(_nc_lib_traceatr) -#endif /* TRACE */ diff --git a/src/libs/ncurses/ncurses/trace/lib_tracebits.c b/src/libs/ncurses/ncurses/trace/lib_tracebits.c deleted file mode 100644 index 569da9203d..0000000000 --- a/src/libs/ncurses/ncurses/trace/lib_tracebits.c +++ /dev/null @@ -1,253 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -#include -#include /* cur_term */ - -MODULE_ID("$Id: lib_tracebits.c,v 1.12 2002/05/25 14:35:07 tom Exp $") - -#if SVR4_TERMIO && !defined(_POSIX_SOURCE) -#define _POSIX_SOURCE -#endif - -#if HAVE_SYS_TERMIO_H -#include /* needed for ISC */ -#endif - -#ifdef __EMX__ -#include -#endif - -/* may be undefined if we're using termio.h */ -#ifndef TOSTOP -#define TOSTOP 0 -#endif -#ifndef IEXTEN -#define IEXTEN 0 -#endif - -#ifdef TRACE - -typedef struct { - unsigned int val; - const char *name; -} BITNAMES; - -static void -lookup_bits(char *buf, const BITNAMES * table, const char *label, unsigned int val) -{ - const BITNAMES *sp; - - (void) strcat(buf, label); - (void) strcat(buf, ": {"); - for (sp = table; sp->name; sp++) - if (sp->val != 0 - && (val & sp->val) == sp->val) { - (void) strcat(buf, sp->name); - (void) strcat(buf, ", "); - } - if (buf[strlen(buf) - 2] == ',') - buf[strlen(buf) - 2] = '\0'; - (void) strcat(buf, "} "); -} - -NCURSES_EXPORT(char *) -_nc_trace_ttymode(TTY * tty) -/* describe the state of the terminal control bits exactly */ -{ - char *buf; - -#ifdef TERMIOS - static const BITNAMES iflags[] = - { - {BRKINT, "BRKINT"}, - {IGNBRK, "IGNBRK"}, - {IGNPAR, "IGNPAR"}, - {PARMRK, "PARMRK"}, - {INPCK, "INPCK"}, - {ISTRIP, "ISTRIP"}, - {INLCR, "INLCR"}, - {IGNCR, "IGNC"}, - {ICRNL, "ICRNL"}, - {IXON, "IXON"}, - {IXOFF, "IXOFF"}, - {0, NULL} -#define ALLIN (BRKINT|IGNBRK|IGNPAR|PARMRK|INPCK|ISTRIP|INLCR|IGNCR|ICRNL|IXON|IXOFF) - }, oflags[] = - { - {OPOST, "OPOST"}, - {0, NULL} -#define ALLOUT (OPOST) - }, cflags[] = - { - {CLOCAL, "CLOCAL"}, - {CREAD, "CREAD"}, - {CSTOPB, "CSTOPB"}, -#if !defined(CS5) || !defined(CS8) - {CSIZE, "CSIZE"}, -#endif - {HUPCL, "HUPCL"}, - {PARENB, "PARENB"}, - {PARODD | PARENB, "PARODD"}, /* concession to readability */ - {0, NULL} -#define ALLCTRL (CLOCAL|CREAD|CSIZE|CSTOPB|HUPCL|PARENB|PARODD) - }, lflags[] = - { - {ECHO, "ECHO"}, - {ECHOE | ECHO, "ECHOE"}, /* concession to readability */ - {ECHOK | ECHO, "ECHOK"}, /* concession to readability */ - {ECHONL, "ECHONL"}, - {ICANON, "ICANON"}, - {ISIG, "ISIG"}, - {NOFLSH, "NOFLSH"}, - {TOSTOP, "TOSTOP"}, - {IEXTEN, "IEXTEN"}, - {0, NULL} -#define ALLLOCAL (ECHO|ECHONL|ICANON|ISIG|NOFLSH|TOSTOP|IEXTEN) - }; - - buf = _nc_trace_buf(0, - 8 + sizeof(iflags) + - 8 + sizeof(oflags) + - 8 + sizeof(cflags) + - 8 + sizeof(lflags) + - 8); - - if (tty->c_iflag & ALLIN) - lookup_bits(buf, iflags, "iflags", tty->c_iflag); - - if (tty->c_oflag & ALLOUT) - lookup_bits(buf, oflags, "oflags", tty->c_oflag); - - if (tty->c_cflag & ALLCTRL) - lookup_bits(buf, cflags, "cflags", tty->c_cflag); - -#if defined(CS5) && defined(CS8) - { - static struct { - const char *name; - int value; - } csizes[] = { - { - "CS5 ", CS5 - }, -#ifdef CS6 - { - "CS6 ", CS6 - }, -#endif -#ifdef CS7 - { - "CS7 ", CS7 - }, -#endif - { - "CS8 ", CS8 - }, - }; - const char *result = "CSIZE? "; - int value = (tty->c_cflag & CSIZE); - unsigned n; - - if (value != 0) { - for (n = 0; n < SIZEOF(csizes); n++) { - if (csizes[n].value == value) { - result = csizes[n].name; - break; - } - } - } - strcat(buf, result); - } -#endif - - if (tty->c_lflag & ALLLOCAL) - lookup_bits(buf, lflags, "lflags", tty->c_lflag); - -#else - /* reference: ttcompat(4M) on SunOS 4.1 */ -#ifndef EVENP -#define EVENP 0 -#endif -#ifndef LCASE -#define LCASE 0 -#endif -#ifndef LLITOUT -#define LLITOUT 0 -#endif -#ifndef ODDP -#define ODDP 0 -#endif -#ifndef TANDEM -#define TANDEM 0 -#endif - - static const BITNAMES cflags[] = - { - {CBREAK, "CBREAK"}, - {CRMOD, "CRMOD"}, - {ECHO, "ECHO"}, - {EVENP, "EVENP"}, - {LCASE, "LCASE"}, - {LLITOUT, "LLITOUT"}, - {ODDP, "ODDP"}, - {RAW, "RAW"}, - {TANDEM, "TANDEM"}, - {XTABS, "XTABS"}, - {0, NULL} -#define ALLCTRL (CBREAK|CRMOD|ECHO|EVENP|LCASE|LLITOUT|ODDP|RAW|TANDEM|XTABS) - }; - - buf = _nc_trace_buf(0, - 8 + sizeof(cflags)); - - if (tty->sg_flags & ALLCTRL) { - lookup_bits(buf, cflags, "cflags", tty->sg_flags); - } -#endif - return (buf); -} - -NCURSES_EXPORT(char *) -_nc_tracebits(void) -{ - return _nc_trace_ttymode(&(cur_term->Nttyb)); -} -#else -NCURSES_EXPORT(char *) -_nc_tracebits(void) -{ - return NULL; -} -//empty_module(_nc_tracebits) -#endif /* TRACE */ diff --git a/src/libs/ncurses/ncurses/trace/lib_tracechr.c b/src/libs/ncurses/ncurses/trace/lib_tracechr.c deleted file mode 100644 index 34a2bb616f..0000000000 --- a/src/libs/ncurses/ncurses/trace/lib_tracechr.c +++ /dev/null @@ -1,73 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * lib_tracechr.c - Tracing/Debugging routines - */ -#include - -#include - -MODULE_ID("$Id: lib_tracechr.c,v 1.12 2005/04/16 16:55:46 tom Exp $") - -#ifdef TRACE -NCURSES_EXPORT(char *) -_tracechar(int ch) -{ - static char result[40]; - NCURSES_CONST char *name; - - if (ch > KEY_MIN || ch < 0) { - name = keyname(ch); - if (name == 0 || *name == '\0') - name = "NULL"; - (void) sprintf(result, "'%.30s' = %#03o", name, ch); - } else if (!is8bits(ch) || !isprint(UChar(ch))) { - /* - * workaround for glibc bug: - * sprintf changes the result from unctrl() to an empty string if it - * does not correspond to a valid multibyte sequence. - */ - (void) sprintf(result, "%#03o", ch); - } else { - name = unctrl((chtype) ch); - if (name == 0 || *name == 0) - name = "null"; /* shouldn't happen */ - (void) sprintf(result, "'%.30s' = %#03o", name, ch); - } - return (result); -} -#else -empty_module(_nc_lib_tracechr) -#endif diff --git a/src/libs/ncurses/ncurses/trace/lib_tracedmp.c b/src/libs/ncurses/ncurses/trace/lib_tracedmp.c deleted file mode 100644 index b5d758bdf4..0000000000 --- a/src/libs/ncurses/ncurses/trace/lib_tracedmp.c +++ /dev/null @@ -1,159 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1996-on * - * and: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * lib_tracedmp.c - Tracing/Debugging routines - */ - -#include -#include - -MODULE_ID("$Id: lib_tracedmp.c,v 1.26 2005/01/29 16:23:51 tom Exp $") - -#ifdef TRACE -NCURSES_EXPORT(void) -_tracedump(const char *name, WINDOW *win) -{ - static char *buf = 0; - static size_t used = 0; - - int i, j, n, width; - - /* compute narrowest possible display width */ - for (width = i = 0; i <= win->_maxy; ++i) { - n = 0; - for (j = 0; j <= win->_maxx; ++j) { - if (CharOf(win->_line[i].text[j]) != L(' ') - || AttrOf(win->_line[i].text[j]) != A_NORMAL - || GetPair(win->_line[i].text[j]) != 0) { - n = j; - } - } - - if (n > width) - width = n; - } - if (width < win->_maxx) - ++width; - if (++width + 1 > (int) used) { - used = 2 * (width + 1); - buf = typeRealloc(char, used, buf); - } - - for (n = 0; n <= win->_maxy; ++n) { - char *ep = buf; - bool haveattrs, havecolors; - - /* - * Dump A_CHARTEXT part. It is more important to make the grid line up - * in the trace file than to represent control- and wide-characters, so - * we map those to '.' and '?' respectively. - */ - for (j = 0; j < width; ++j) { - chtype test = CharOf(win->_line[n].text[j]); - ep[j] = (UChar(test) == test -#if USE_WIDEC_SUPPORT - && (win->_line[n].text[j].chars[1] == 0) -#endif - ) - ? (iscntrl(UChar(test)) - ? '.' - : UChar(test)) - : '?'; - } - ep[j] = '\0'; - _tracef("%s[%2d] %3d%3d ='%s'", - name, n, - win->_line[n].firstchar, - win->_line[n].lastchar, - ep); - - /* dump A_COLOR part, will screw up if there are more than 96 */ - havecolors = FALSE; - for (j = 0; j < width; ++j) - if (GetPair(win->_line[n].text[j]) != 0) { - havecolors = TRUE; - break; - } - if (havecolors) { - ep = buf; - for (j = 0; j < width; ++j) { - int pair = GetPair(win->_line[n].text[j]); - if (pair >= 52) - ep[j] = '?'; - else if (pair >= 36) - ep[j] = pair + 'A'; - else if (pair >= 10) - ep[j] = pair + 'a'; - else if (pair >= 1) - ep[j] = pair + '0'; - else - ep[j] = ' '; - } - ep[j] = '\0'; - _tracef("%*s[%2d]%*s='%s'", (int) strlen(name), - "colors", n, 8, " ", buf); - } - - for (i = 0; i < 4; ++i) { - const char *hex = " 123456789ABCDEF"; - attr_t mask = (0xf << ((i + 4) * 4)); - - haveattrs = FALSE; - for (j = 0; j < width; ++j) - if (AttrOf(win->_line[n].text[j]) & mask) { - haveattrs = TRUE; - break; - } - if (haveattrs) { - ep = buf; - for (j = 0; j < width; ++j) - ep[j] = hex[(AttrOf(win->_line[n].text[j]) & mask) >> - ((i + 4) * 4)]; - ep[j] = '\0'; - _tracef("%*s%d[%2d]%*s='%s'", (int) strlen(name) - - 1, "attrs", i, n, 8, " ", buf); - } - } - } -#if NO_LEAKS - free(buf); - buf = 0; - used = 0; -#endif -} - -#else -empty_module(_nc_lib_tracedmp) -#endif /* TRACE */ diff --git a/src/libs/ncurses/ncurses/trace/lib_tracemse.c b/src/libs/ncurses/ncurses/trace/lib_tracemse.c deleted file mode 100644 index 98290a1efb..0000000000 --- a/src/libs/ncurses/ncurses/trace/lib_tracemse.c +++ /dev/null @@ -1,126 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * lib_tracemse.c - Tracing/Debugging routines (mouse events) - */ - -#include - -MODULE_ID("$Id: lib_tracemse.c,v 1.12 2005/06/11 19:53:50 tom Exp $") - -#ifdef TRACE - -NCURSES_EXPORT(char *) -_tracemouse(MEVENT const *ep) -{ - /* - * hmm - format is no longer than 80 columns, there are 5 numbers that - * could at most have 10 digits, and the mask contains no more than 32 bits - * with each bit representing less than 15 characters. Usually the whole - * string is less than 80 columns, but this buffer size is an absolute - * limit. - */ - static char buf[80 + (5 * 10) + (32 * 15)]; - - (void) sprintf(buf, "id %2d at (%2d, %2d, %2d) state %4lx = {", - ep->id, - ep->x, - ep->y, - ep->z, - (unsigned long) ep->bstate); - -#define SHOW(m, s) if ((ep->bstate & m) == m) strcat(strcat(buf, s), ", ") - - SHOW(BUTTON1_RELEASED, "release-1"); - SHOW(BUTTON1_PRESSED, "press-1"); - SHOW(BUTTON1_CLICKED, "click-1"); - SHOW(BUTTON1_DOUBLE_CLICKED, "doubleclick-1"); - SHOW(BUTTON1_TRIPLE_CLICKED, "tripleclick-1"); -#if NCURSES_MOUSE_VERSION == 1 - SHOW(BUTTON1_RESERVED_EVENT, "reserved-1"); -#endif - - SHOW(BUTTON2_RELEASED, "release-2"); - SHOW(BUTTON2_PRESSED, "press-2"); - SHOW(BUTTON2_CLICKED, "click-2"); - SHOW(BUTTON2_DOUBLE_CLICKED, "doubleclick-2"); - SHOW(BUTTON2_TRIPLE_CLICKED, "tripleclick-2"); -#if NCURSES_MOUSE_VERSION == 1 - SHOW(BUTTON2_RESERVED_EVENT, "reserved-2"); -#endif - - SHOW(BUTTON3_RELEASED, "release-3"); - SHOW(BUTTON3_PRESSED, "press-3"); - SHOW(BUTTON3_CLICKED, "click-3"); - SHOW(BUTTON3_DOUBLE_CLICKED, "doubleclick-3"); - SHOW(BUTTON3_TRIPLE_CLICKED, "tripleclick-3"); -#if NCURSES_MOUSE_VERSION == 1 - SHOW(BUTTON3_RESERVED_EVENT, "reserved-3"); -#endif - - SHOW(BUTTON4_RELEASED, "release-4"); - SHOW(BUTTON4_PRESSED, "press-4"); - SHOW(BUTTON4_CLICKED, "click-4"); - SHOW(BUTTON4_DOUBLE_CLICKED, "doubleclick-4"); - SHOW(BUTTON4_TRIPLE_CLICKED, "tripleclick-4"); -#if NCURSES_MOUSE_VERSION == 1 - SHOW(BUTTON4_RESERVED_EVENT, "reserved-4"); -#endif - -#if NCURSES_MOUSE_VERSION == 2 - SHOW(BUTTON5_RELEASED, "release-5"); - SHOW(BUTTON5_PRESSED, "press-5"); - SHOW(BUTTON5_CLICKED, "click-5"); - SHOW(BUTTON5_DOUBLE_CLICKED, "doubleclick-5"); - SHOW(BUTTON5_TRIPLE_CLICKED, "tripleclick-5"); -#endif - - SHOW(BUTTON_CTRL, "ctrl"); - SHOW(BUTTON_SHIFT, "shift"); - SHOW(BUTTON_ALT, "alt"); - SHOW(ALL_MOUSE_EVENTS, "all-events"); - SHOW(REPORT_MOUSE_POSITION, "position"); - -#undef SHOW - - if (buf[strlen(buf) - 1] == ' ') - buf[strlen(buf) - 2] = '\0'; - (void) strcat(buf, "}"); - return (buf); -} - -#else /* !TRACE */ -empty_module(_nc_lib_tracemouse) -#endif diff --git a/src/libs/ncurses/ncurses/trace/trace_buf.c b/src/libs/ncurses/ncurses/trace/trace_buf.c deleted file mode 100644 index 85b4fbe682..0000000000 --- a/src/libs/ncurses/ncurses/trace/trace_buf.c +++ /dev/null @@ -1,109 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1997 * - ****************************************************************************/ -/* - * trace_buf.c - Tracing/Debugging buffers (attributes) - */ - -#include - -MODULE_ID("$Id: trace_buf.c,v 1.12 2003/03/15 21:21:36 tom Exp $") - -typedef struct { - char *text; - size_t size; -} LIST; - -static char * -_nc_trace_alloc(int bufnum, size_t want) -{ - char *result = 0; - static LIST *list; - static size_t have; - - if (bufnum >= 0) { - if ((size_t) (bufnum + 1) > have) { - size_t need = (bufnum + 1) * 2; - if ((list = typeRealloc(LIST, need, list)) == 0) - return (0); - while (need > have) - list[have++].text = 0; - } - - if (list[bufnum].text == 0 - || want > list[bufnum].size) { - if ((list[bufnum].text = typeRealloc(char, want, list[bufnum].text)) - != 0) - list[bufnum].size = want; - } - - result = list[bufnum].text; - } -#if NO_LEAKS - else { - if (have) { - while (have--) { - if (list[have].text != 0) - free(list[have].text); - } - free(list); - } - } -#endif - return result; -} - -/* - * (re)Allocate a buffer big enough for the caller's wants. - */ -NCURSES_EXPORT(char *) -_nc_trace_buf(int bufnum, size_t want) -{ - char *result = _nc_trace_alloc(bufnum, want); - if (result != 0) - *result = '\0'; - return result; -} - -/* - * Append a new string to an existing buffer. - */ -NCURSES_EXPORT(char *) -_nc_trace_bufcat(int bufnum, const char *value) -{ - char *buffer = _nc_trace_alloc(bufnum, 0); - size_t have = strlen(buffer); - - buffer = _nc_trace_alloc(bufnum, 1 + have + strlen(value)); - (void) strcpy(buffer + have, value); - - return buffer; -} diff --git a/src/libs/ncurses/ncurses/trace/trace_tries.c b/src/libs/ncurses/ncurses/trace/trace_tries.c deleted file mode 100644 index d7033227e2..0000000000 --- a/src/libs/ncurses/ncurses/trace/trace_tries.c +++ /dev/null @@ -1,76 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1999,2000,2001 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1999 * - ****************************************************************************/ -/* - * trace_tries.c - Tracing/Debugging buffers (keycode tries-trees) - */ - -#include - -MODULE_ID("$Id: trace_tries.c,v 1.10 2001/10/20 22:42:51 tom Exp $") - -#ifdef TRACE -static unsigned char *buffer; -static unsigned len; - -static void -recur_tries(struct tries *tree, unsigned level) -{ - if (level > len) - buffer = (unsigned char *) realloc(buffer, len = (level + 1) * 4); - - while (tree != 0) { - if ((buffer[level] = tree->ch) == 0) - buffer[level] = 128; - buffer[level + 1] = 0; - if (tree->value != 0) { - _tracef("%5d: %s (%s)", tree->value, - _nc_visbuf((char *) buffer), keyname(tree->value)); - } - if (tree->child) - recur_tries(tree->child, level + 1); - tree = tree->sibling; - } -} - -NCURSES_EXPORT(void) -_nc_trace_tries(struct tries *tree) -{ - buffer = typeMalloc(unsigned char, len = 80); - _tracef("BEGIN tries %p", tree); - recur_tries(tree, 0); - _tracef(". . . tries %p", tree); - free(buffer); -} - -#else -empty_module(_nc_trace_tries) -#endif diff --git a/src/libs/ncurses/ncurses/trace/trace_xnames.c b/src/libs/ncurses/ncurses/trace/trace_xnames.c deleted file mode 100644 index 9b0b5920d8..0000000000 --- a/src/libs/ncurses/ncurses/trace/trace_xnames.c +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1999,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1999 * - ****************************************************************************/ -/* - * trace_xnames.c - Tracing/Debugging buffers (TERMTYPE extended names) - */ - -#include -#include - -MODULE_ID("$Id: trace_xnames.c,v 1.5 2000/12/10 03:02:45 tom Exp $") - -NCURSES_EXPORT(void) -_nc_trace_xnames(TERMTYPE * tp GCC_UNUSED) -{ -#ifdef TRACE -#if NCURSES_XNAMES - int limit = tp->ext_Booleans + tp->ext_Numbers + tp->ext_Strings; - int n, m; - if (limit) { - int begin_num = tp->ext_Booleans; - int begin_str = tp->ext_Booleans + tp->ext_Numbers; - - _tracef("extended names (%s) %d = %d+%d+%d of %d+%d+%d", - tp->term_names, - limit, - tp->ext_Booleans, tp->ext_Numbers, tp->ext_Strings, - tp->num_Booleans, tp->num_Numbers, tp->num_Strings); - for (n = 0; n < limit; n++) { - if ((m = n - begin_str) >= 0) { - _tracef("[%d] %s = %s", n, - tp->ext_Names[n], - _nc_visbuf(tp->Strings[tp->num_Strings + m - tp->ext_Strings])); - } else if ((m = n - begin_num) >= 0) { - _tracef("[%d] %s = %d (num)", n, - tp->ext_Names[n], - tp->Numbers[tp->num_Numbers + m - tp->ext_Numbers]); - } else { - _tracef("[%d] %s = %d (bool)", n, - tp->ext_Names[n], - tp->Booleans[tp->num_Booleans + n - tp->ext_Booleans]); - } - } - } -#endif -#endif -} diff --git a/src/libs/ncurses/ncurses/trace/varargs.c b/src/libs/ncurses/ncurses/trace/varargs.c deleted file mode 100644 index aee2010546..0000000000 --- a/src/libs/ncurses/ncurses/trace/varargs.c +++ /dev/null @@ -1,182 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2001-2002,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 2001 * - ****************************************************************************/ - -#include - -#include - -MODULE_ID("$Id: varargs.c,v 1.4 2003/05/24 21:10:28 tom Exp $") - -#ifdef TRACE - -#define MAX_PARMS 10 - -typedef enum { - atUnknown = 0, atInteger, atFloat, atPoint, atString -} ARGTYPE; - -#define VA_INT(type) ival = va_arg(ap, type) -#define VA_FLT(type) fval = va_arg(ap, type) -#define VA_PTR(type) pval = (char *)va_arg(ap, type) -#define VA_STR(type) sval = va_arg(ap, type) - -/* - * Returns a string that represents the parameter list of a printf-style call. - */ -NCURSES_EXPORT(char *) -_nc_varargs(const char *fmt, va_list ap) -{ - static char dummy[] = ""; - static char *result_buf; - static size_t result_len; - - char buffer[BUFSIZ]; - const char *param; - int n; - - if (fmt == 0 || *fmt == '\0') - return dummy; - if (result_len == 0) - result_buf = typeMalloc(char, result_len = BUFSIZ); - if (result_buf == 0) - return dummy; - *result_buf = '\0'; - - while (*fmt != '\0') { - if (*fmt == '%') { - char *pval = 0; /* avoid const-cast */ - const char *sval = ""; - double fval = 0.0; - int done = FALSE; - int ival = 0; - int type = 0; - ARGTYPE parm[MAX_PARMS]; - int parms = 0; - ARGTYPE used = atUnknown; - - while (*++fmt != '\0' && !done) { - - if (*fmt == '*') { - VA_INT(int); - if (parms < MAX_PARMS) - parm[parms++] = atInteger; - } else if (isalpha(UChar(*fmt))) { - done = TRUE; - switch (*fmt) { - case 'Z': /* FALLTHRU */ - case 'h': /* FALLTHRU */ - case 'l': /* FALLTHRU */ - done = FALSE; - type = *fmt; - break; - case 'i': /* FALLTHRU */ - case 'd': /* FALLTHRU */ - case 'u': /* FALLTHRU */ - case 'x': /* FALLTHRU */ - case 'X': /* FALLTHRU */ - if (type == 'l') - VA_INT(long); - else if (type == 'Z') - VA_INT(size_t); - else - VA_INT(int); - used = atInteger; - break; - case 'f': /* FALLTHRU */ - case 'e': /* FALLTHRU */ - case 'E': /* FALLTHRU */ - case 'g': /* FALLTHRU */ - case 'G': /* FALLTHRU */ - VA_FLT(double); - used = atFloat; - break; - case 'c': - VA_INT(int); - used = atInteger; - break; - case 's': - VA_STR(const char *); - used = atString; - break; - case 'p': - VA_PTR(void *); - used = atPoint; - break; - case 'n': - VA_PTR(int *); - used = atPoint; - break; - default: - break; - } - } else if (*fmt == '%') { - done = TRUE; - } - if (used != atUnknown && parms < MAX_PARMS) { - parm[parms++] = used; - for (n = 0; n < parms; ++n) { - used = parm[n]; - param = buffer; - switch (used) { - case atInteger: - sprintf(buffer, "%d", ival); - break; - case atFloat: - sprintf(buffer, "%f", fval); - break; - case atPoint: - sprintf(buffer, "%p", pval); - break; - case atString: - param = _nc_visbuf2(1, sval); - break; - default: - strcpy(buffer, "?"); - break; - } - result_len += strlen(param) + 2; - result_buf = typeRealloc(char, result_len, result_buf); - sprintf(result_buf + strlen(result_buf), ", %s", param); - } - } - used = atUnknown; - } - } else { - fmt++; - } - } - - return (result_buf); -} -#else -empty_module(_nc_varargs) -#endif diff --git a/src/libs/ncurses/ncurses/trace/visbuf.c b/src/libs/ncurses/ncurses/trace/visbuf.c deleted file mode 100644 index 6a836b4004..0000000000 --- a/src/libs/ncurses/ncurses/trace/visbuf.c +++ /dev/null @@ -1,304 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2001-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1996-on * - * and: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * visbuf.c - Tracing/Debugging support routines - */ - -#include - -#include -#include - -MODULE_ID("$Id: visbuf.c,v 1.14 2005/08/20 20:01:20 tom Exp $") - -static char * -_nc_vischar(char *tp, unsigned c) -{ - if (c == '"' || c == '\\') { - *tp++ = '\\'; - *tp++ = c; - } else if (is7bits(c) && (isgraph(c) || c == ' ')) { - *tp++ = c; - } else if (c == '\n') { - *tp++ = '\\'; - *tp++ = 'n'; - } else if (c == '\r') { - *tp++ = '\\'; - *tp++ = 'r'; - } else if (c == '\b') { - *tp++ = '\\'; - *tp++ = 'b'; - } else if (c == '\033') { - *tp++ = '\\'; - *tp++ = 'e'; - } else if (is7bits(c) && iscntrl(UChar(c))) { - *tp++ = '\\'; - *tp++ = '^'; - *tp++ = '@' + c; - } else { - sprintf(tp, "\\%03lo", (unsigned long) ChCharOf(c)); - tp += strlen(tp); - } - *tp = 0; - return tp; -} - -static const char * -_nc_visbuf2n(int bufnum, const char *buf, int len) -{ - char *vbuf; - char *tp; - int c; - - if (buf == 0) - return ("(null)"); - if (buf == CANCELLED_STRING) - return ("(cancelled)"); - - if (len < 0) - len = strlen(buf); - -#ifdef TRACE - tp = vbuf = _nc_trace_buf(bufnum, (unsigned) (len * 4) + 5); -#else - { - static char *mybuf[2]; - mybuf[bufnum] = typeRealloc(char, (unsigned) (len * 4) + 5, mybuf[bufnum]); - tp = vbuf = mybuf[bufnum]; - } -#endif - *tp++ = D_QUOTE; - while ((--len >= 0) && (c = *buf++) != '\0') { - tp = _nc_vischar(tp, UChar(c)); - } - *tp++ = D_QUOTE; - *tp++ = '\0'; - return (vbuf); -} - -NCURSES_EXPORT(const char *) -_nc_visbuf2(int bufnum, const char *buf) -{ - return _nc_visbuf2n(bufnum, buf, -1); -} - -NCURSES_EXPORT(const char *) -_nc_visbuf(const char *buf) -{ - return _nc_visbuf2(0, buf); -} - -NCURSES_EXPORT(const char *) -_nc_visbufn(const char *buf, int len) -{ - return _nc_visbuf2n(0, buf, len); -} - -#if USE_WIDEC_SUPPORT -#ifdef TRACE - -#if defined(USE_TERMLIB) -#define _nc_wchstrlen _my_wchstrlen -static int -_nc_wchstrlen(const cchar_t *s) -{ - int result = 0; - while (CharOf(s[result]) != L'\0') { - result++; - } - return result; -} -#endif - -static const char * -_nc_viswbuf2n(int bufnum, const wchar_t *buf, int len) -{ - char *vbuf; - char *tp; - wchar_t c; - - if (buf == 0) - return ("(null)"); - - if (len < 0) - len = wcslen(buf); - -#ifdef TRACE - tp = vbuf = _nc_trace_buf(bufnum, (unsigned) (len * 4) + 5); -#else - { - static char *mybuf[2]; - mybuf[bufnum] = typeRealloc(char, (unsigned) (len * 4) + 5, mybuf[bufnum]); - tp = vbuf = mybuf[bufnum]; - } -#endif - *tp++ = D_QUOTE; - while ((--len >= 0) && (c = *buf++) != '\0') { - char temp[CCHARW_MAX + 80]; - int j = wctomb(temp, c), k; - if (j <= 0) { - sprintf(temp, "\\u%08X", (wint_t) c); - j = strlen(temp); - } - for (k = 0; k < j; ++k) { - tp = _nc_vischar(tp, temp[k]); - } - } - *tp++ = D_QUOTE; - *tp++ = '\0'; - return (vbuf); -} - -NCURSES_EXPORT(const char *) -_nc_viswbuf2(int bufnum, const wchar_t *buf) -{ - return _nc_viswbuf2n(bufnum, buf, -1); -} - -NCURSES_EXPORT(const char *) -_nc_viswbuf(const wchar_t *buf) -{ - return _nc_viswbuf2(0, buf); -} - -NCURSES_EXPORT(const char *) -_nc_viswbufn(const wchar_t *buf, int len) -{ - return _nc_viswbuf2n(0, buf, len); -} - -/* this special case is used for wget_wstr() */ -NCURSES_EXPORT(const char *) -_nc_viswibuf(const wint_t *buf) -{ - static wchar_t *mybuf; - static unsigned mylen; - unsigned n; - - for (n = 0; buf[n] != 0; ++n) ; - if (mylen < ++n) { - mylen = n + 80; - if (mybuf != 0) - mybuf = typeRealloc(wchar_t, mylen, mybuf); - else - mybuf = typeMalloc(wchar_t, mylen); - } - for (n = 0; buf[n] != 0; ++n) - mybuf[n] = (wchar_t) buf[n]; - - return _nc_viswbuf2(0, mybuf); -} - -NCURSES_EXPORT(const char *) -_nc_viscbuf2(int bufnum, const cchar_t *buf, int len) -{ - char *result = _nc_trace_buf(bufnum, BUFSIZ); - int n; - bool same = TRUE; - attr_t attr = A_NORMAL; - const char *found; - - if (len < 0) - len = _nc_wchstrlen(buf); - - for (n = 1; n < len; n++) { - if (!SameAttrOf(buf[n], buf[0])) { - same = FALSE; - break; - } - } - - /* - * If the rendition is the same for the whole string, display it as a - * quoted string, followed by the rendition. Otherwise, use the more - * detailed trace function that displays each character separately. - */ - if (same) { - static const char d_quote[] = - {D_QUOTE, 0}; - - result = _nc_trace_bufcat(bufnum, d_quote); - while (len-- > 0) { - if ((found = _nc_altcharset_name(attr, CharOfD(buf))) != 0) { - result = _nc_trace_bufcat(bufnum, found); - attr &= ~A_ALTCHARSET; - } else if (!isWidecExt(CHDEREF(buf))) { - PUTC_DATA; - - PUTC_INIT; - do { - PUTC_ch = PUTC_i < CCHARW_MAX ? buf->chars[PUTC_i] : L'\0'; - PUTC_n = wcrtomb(PUTC_buf, buf->chars[PUTC_i], &PUT_st); - if (PUTC_ch == L'\0') - --PUTC_n; - if (PUTC_n <= 0) - break; - for (n = 0; n < PUTC_n; n++) { - char temp[80]; - _nc_vischar(temp, UChar(PUTC_buf[n])); - result = _nc_trace_bufcat(bufnum, temp); - } - ++PUTC_i; - } while (PUTC_ch != L'\0'); - } - buf++; - } - result = _nc_trace_bufcat(bufnum, d_quote); - if (attr != A_NORMAL) { - result = _nc_trace_bufcat(bufnum, " | "); - result = _nc_trace_bufcat(bufnum, _traceattr2(bufnum + 20, attr)); - } - } else { - static const char l_brace[] = - {L_BRACE, 0}; - static const char r_brace[] = - {R_BRACE, 0}; - strcpy(result, l_brace); - while (len-- > 0) { - result = _nc_trace_bufcat(bufnum, - _tracecchar_t2(bufnum + 20, buf++)); - } - result = _nc_trace_bufcat(bufnum, r_brace); - } - return result; -} - -NCURSES_EXPORT(const char *) -_nc_viscbuf(const cchar_t *buf, int len) -{ - return _nc_viscbuf2(0, buf, len); -} -#endif /* TRACE */ -#endif /* USE_WIDEC_SUPPORT */ diff --git a/src/libs/ncurses/ncurses/tty/MKexpanded.sh b/src/libs/ncurses/ncurses/tty/MKexpanded.sh deleted file mode 100755 index bf9acf21aa..0000000000 --- a/src/libs/ncurses/ncurses/tty/MKexpanded.sh +++ /dev/null @@ -1,99 +0,0 @@ -#! /bin/sh -############################################################################## -# Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1997 -# -# $Id: MKexpanded.sh,v 1.11 2005/01/02 01:06:40 tom Exp $ -# -# Script to generate 'expanded.c', a dummy source that contains functions -# corresponding to complex macros used in this library. By making functions, -# we simplify analysis and debugging. - -if test $# != 0; then -preprocessor="$1" -else -preprocessor="cc -E" -fi -shift -if test $# != 0 ; then - preprocessor="$preprocessor $*" -else - preprocessor="$preprocessor -DHAVE_CONFIG_H -I. -I../include" -fi - -TMP=gen$$.c -trap "rm -f $TMP" 0 1 2 5 15 - -cat < -#include -#if NCURSES_EXPANDED -EOF - -cat >$TMP < -#undef NCURSES_EXPANDED /* this probably is set in ncurses_cfg.h */ -#include -/* these are names we'd like to see */ -#undef ALL_BUT_COLOR -#undef PAIR_NUMBER -#undef TRUE -#undef FALSE -/* this is a marker */ -IGNORE -NCURSES_EXPORT(void) _nc_toggle_attr_on (attr_t *S, attr_t at) -{ - toggle_attr_on(*S,at); -} -NCURSES_EXPORT(void) _nc_toggle_attr_off (attr_t *S, attr_t at) -{ - toggle_attr_off(*S,at); -} -NCURSES_EXPORT(int) _nc_DelCharCost (int count) -{ - return DelCharCost(count); -} -NCURSES_EXPORT(int) _nc_InsCharCost (int count) -{ - return InsCharCost(count); -} -NCURSES_EXPORT(void) _nc_UpdateAttrs (NCURSES_CH_T c) -{ - UpdateAttrs(c); -} -EOF - -$preprocessor $TMP 2>/dev/null | sed -e '1,/^IGNORE$/d' - -cat < 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/****************************************************************************** - -NAME - hardscroll.c -- hardware-scrolling optimization for ncurses - -SYNOPSIS - void _nc_scroll_optimize(void) - -DESCRIPTION - OVERVIEW - -This algorithm for computes optimum hardware scrolling to transform an -old screen (curscr) into a new screen (newscr) via vertical line moves. - -Because the screen has a `grain' (there are insert/delete/scroll line -operations but no insert/delete/scroll column operations), it is efficient -break the update algorithm into two pieces: a first stage that does only line -moves, optimizing the end product of user-invoked insertions, deletions, and -scrolls; and a second phase (corresponding to the present doupdate code in -ncurses) that does only line transformations. - -The common case we want hardware scrolling for is to handle line insertions -and deletions in screen-oriented text-editors. This two-stage approach will -accomplish that at a low computation and code-size cost. - - LINE-MOVE COMPUTATION - -Now, to a discussion of the line-move computation. - -For expository purposes, consider the screen lines to be represented by -integers 0..23 (with the understanding that the value of 23 may vary). -Let a new line introduced by insertion, scrolling, or at the bottom of -the screen following a line delete be given the index -1. - -Assume that the real screen starts with lines 0..23. Now, we have -the following possible line-oriented operations on the screen: - -Insertion: inserts a line at a given screen row, forcing all lines below -to scroll forward. The last screen line is lost. For example, an insertion -at line 5 would produce: 0..4 -1 5..23. - -Deletion: deletes a line at a given screen row, forcing all lines below -to scroll forward. The last screen line is made new. For example, a deletion -at line 7 would produce: 0..6 8..23 -1. - -Scroll up: move a range of lines up 1. The bottom line of the range -becomes new. For example, scrolling up the region from 9 to 14 will -produce 0..8 10..14 -1 15..23. - -Scroll down: move a range of lines down 1. The top line of the range -becomes new. For example, scrolling down the region from 12 to 16 will produce -0..11 -1 12..15 17..23. - -Now, an obvious property of all these operations is that they preserve the -order of old lines, though not their position in the sequence. - -The key trick of this algorithm is that the original line indices described -above are actually maintained as _line[].oldindex fields in the window -structure, and stick to each line through scroll and insert/delete operations. - -Thus, it is possible at update time to look at the oldnum fields and compute -an optimal set of il/dl/scroll operations that will take the real screen -lines to the virtual screen lines. Once these vertical moves have been done, -we can hand off to the second stage of the update algorithm, which does line -transformations. - -Note that the move computation does not need to have the full generality -of a diff algorithm (which it superficially resembles) because lines cannot -be moved out of order. - - THE ALGORITHM - -The scrolling is done in two passes. The first pass is from top to bottom -scroling hunks UP. The second one is from bottom to top scrolling hunks DOWN. -Obviously enough, no lines to be scrolled will be destroyed. (lav) - -HOW TO TEST THIS: - -Use the following production: - -hardscroll: hardscroll.c - $(CC) -g -DSCROLLDEBUG hardscroll.c -o hardscroll - -Then just type scramble vectors and watch. The following test loads are -a representative sample of cases: - ------------------------------ CUT HERE ------------------------------------ -# No lines moved - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 -# -# A scroll up - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 -1 -# -# A scroll down --1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -# -# An insertion (after line 12) - 0 1 2 3 4 5 6 7 8 9 10 11 12 -1 13 14 15 16 17 18 19 20 21 22 -# -# A simple deletion (line 10) - 0 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 20 21 22 23 -1 -# -# A more complex case --1 -1 -1 -1 -1 3 4 5 6 7 -1 -1 8 9 10 11 12 13 14 15 16 17 -1 -1 ------------------------------ CUT HERE ------------------------------------ - -AUTHOR - Eric S. Raymond , November 1994 - New algorithm by Alexander V. Lukyanov , Aug 1997 - -*****************************************************************************/ - -#include - -MODULE_ID("$Id: hardscroll.c,v 1.36 2001/01/14 00:17:28 tom Exp $") - -#if defined(SCROLLDEBUG) || defined(HASHDEBUG) - -# undef screen_lines -# define screen_lines MAXLINES -NCURSES_EXPORT_VAR(int) -oldnums[MAXLINES]; -# define OLDNUM(n) oldnums[n] -# define _tracef printf -# undef TR -# define TR(n, a) if (_nc_tracing & (n)) { _tracef a ; putchar('\n'); } - -#else /* no debug */ - -/* OLDNUM(n) indicates which line will be shifted to the position n. - if OLDNUM(n) == _NEWINDEX, then the line n in new, not shifted from - somewhere. */ -NCURSES_EXPORT_VAR(int *) -_nc_oldnums = 0; - -# if USE_HASHMAP - static int oldnums_allocated = 0; -# define oldnums _nc_oldnums -# define OLDNUM(n) oldnums[n] -# else /* !USE_HASHMAP */ -# define OLDNUM(n) newscr->_line[n].oldindex -# endif /* !USE_HASHMAP */ - -#endif /* defined(SCROLLDEBUG) || defined(HASHDEBUG) */ - -NCURSES_EXPORT(void) -_nc_scroll_optimize(void) -/* scroll optimization to transform curscr to newscr */ -{ - int i; - int start, end, shift; - - TR(TRACE_ICALLS, ("_nc_scroll_optimize() begins")); - -#if !defined(SCROLLDEBUG) && !defined(HASHDEBUG) -#if USE_HASHMAP - /* get enough storage */ - if (oldnums_allocated < screen_lines) { - int *new_oldnums = typeRealloc(int, screen_lines, oldnums); - if (!new_oldnums) - return; - oldnums = new_oldnums; - oldnums_allocated = screen_lines; - } - /* calculate the indices */ - _nc_hash_map(); -#endif -#endif /* !defined(SCROLLDEBUG) && !defined(HASHDEBUG) */ - -#ifdef TRACE - if (_nc_tracing & (TRACE_UPDATE | TRACE_MOVE)) - _nc_linedump(); -#endif /* TRACE */ - - /* pass 1 - from top to bottom scrolling up */ - for (i = 0; i < screen_lines;) { - while (i < screen_lines && (OLDNUM(i) == _NEWINDEX || OLDNUM(i) <= i)) - i++; - if (i >= screen_lines) - break; - - shift = OLDNUM(i) - i; /* shift > 0 */ - start = i; - - i++; - while (i < screen_lines && OLDNUM(i) != _NEWINDEX && OLDNUM(i) - i - == shift) - i++; - end = i - 1 + shift; - - TR(TRACE_UPDATE | TRACE_MOVE, ("scroll [%d, %d] by %d", start, end, shift)); -#if !defined(SCROLLDEBUG) && !defined(HASHDEBUG) - if (_nc_scrolln(shift, start, end, screen_lines - 1) == ERR) { - TR(TRACE_UPDATE | TRACE_MOVE, ("unable to scroll")); - continue; - } -#endif /* !defined(SCROLLDEBUG) && !defined(HASHDEBUG) */ - } - - /* pass 2 - from bottom to top scrolling down */ - for (i = screen_lines - 1; i >= 0;) { - while (i >= 0 && (OLDNUM(i) == _NEWINDEX || OLDNUM(i) >= i)) - i--; - if (i < 0) - break; - - shift = OLDNUM(i) - i; /* shift < 0 */ - end = i; - - i--; - while (i >= 0 && OLDNUM(i) != _NEWINDEX && OLDNUM(i) - i == shift) - i--; - start = i + 1 - (-shift); - - TR(TRACE_UPDATE | TRACE_MOVE, ("scroll [%d, %d] by %d", start, end, shift)); -#if !defined(SCROLLDEBUG) && !defined(HASHDEBUG) - if (_nc_scrolln(shift, start, end, screen_lines - 1) == ERR) { - TR(TRACE_UPDATE | TRACE_MOVE, ("unable to scroll")); - continue; - } -#endif /* !defined(SCROLLDEBUG) && !defined(HASHDEBUG) */ - } -} - -#if defined(TRACE) || defined(SCROLLDEBUG) || defined(HASHDEBUG) -NCURSES_EXPORT(void) -_nc_linedump(void) -/* dump the state of the real and virtual oldnum fields */ -{ - static size_t have; - static char *buf; - - int n; - size_t want = (screen_lines + 1) * 4; - - if (have < want) - buf = typeMalloc(char, have = want); - - (void) strcpy(buf, "virt"); - for (n = 0; n < screen_lines; n++) - (void) sprintf(buf + strlen(buf), " %02d", OLDNUM(n)); - TR(TRACE_UPDATE | TRACE_MOVE, (buf)); -#if NO_LEAKS - free(buf); - have = 0; -#endif -} -#endif /* defined(TRACE) || defined(SCROLLDEBUG) */ - -#ifdef SCROLLDEBUG - -int -main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) -{ - char line[BUFSIZ], *st; - -#ifdef TRACE - _nc_tracing = TRACE_MOVE; -#endif - for (;;) { - int n; - - for (n = 0; n < screen_lines; n++) - oldnums[n] = _NEWINDEX; - - /* grab the test vector */ - if (fgets(line, sizeof(line), stdin) == (char *) NULL) - exit(EXIT_SUCCESS); - - /* parse it */ - n = 0; - if (line[0] == '#') { - (void) fputs(line, stderr); - continue; - } - st = strtok(line, " "); - do { - oldnums[n++] = atoi(st); - } while - ((st = strtok((char *) NULL, " ")) != 0); - - /* display it */ - (void) fputs("Initial input:\n", stderr); - _nc_linedump(); - - _nc_scroll_optimize(); - } -} - -#endif /* SCROLLDEBUG */ - -/* hardscroll.c ends here */ diff --git a/src/libs/ncurses/ncurses/tty/hashmap.c b/src/libs/ncurses/ncurses/tty/hashmap.c deleted file mode 100644 index d60878617e..0000000000 --- a/src/libs/ncurses/ncurses/tty/hashmap.c +++ /dev/null @@ -1,538 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/****************************************************************************** - -NAME - hashmap.c -- fill in scramble vector based on text hashes - -SYNOPSIS - void _nc_hash_map(void) - -DESCRIPTION: - This code attempts to recognize pairs of old and new lines in the physical -and virtual screens. When a line pair is recognized, the old line index is -placed in the oldindex member of the virtual screen line, to be used by the -vertical-motion optimizer portion of the update logic (see hardscroll.c). - - Line pairs are recognized by applying a modified Heckel's algorithm, -sped up by hashing. If a line hash is unique in both screens, those -lines must be a pair. Then if the lines just before or after the pair -are the same or similar, they are a pair too. - - We don't worry about false pairs produced by hash collisions, on the -assumption that such cases are rare and will only make the latter stages -of update less efficient, not introduce errors. - -HOW TO TEST THIS: - -Use the following production: - -hashmap: hashmap.c - $(CC) -g -DHASHDEBUG hashmap.c hardscroll.c ../objects/lib_trace.o -o hashmap - -AUTHOR - Eric S. Raymond , May 1996 - Bug fixes and improvements by Alexander V. Lukyanov , 1997 - -*****************************************************************************/ - -#include -#include /* for back_color_erase */ - -MODULE_ID("$Id: hashmap.c,v 1.47 2005/01/29 21:27:58 tom Exp $") - -#ifdef HASHDEBUG - -# define _tracef printf -# undef TR -# define TR(n, a) if (_nc_tracing & (n)) { _tracef a ; putchar('\n'); } -# undef screen_lines -# define screen_lines MAXLINES -# define TEXTWIDTH 1 -int oldnums[MAXLINES], reallines[MAXLINES]; -static chtype oldtext[MAXLINES][TEXTWIDTH], newtext[MAXLINES][TEXTWIDTH]; -# define OLDNUM(n) oldnums[n] -# define OLDTEXT(n) oldtext[n] -# define NEWTEXT(m) newtext[m] -# define PENDING(n) 1 - -#else /* !HASHDEBUG */ - -# define OLDNUM(n) _nc_oldnums[n] -# define OLDTEXT(n) curscr->_line[n].text -# define NEWTEXT(m) newscr->_line[m].text -# define TEXTWIDTH (curscr->_maxx+1) -# define PENDING(n) (newscr->_line[n].firstchar != _NOCHANGE) - -#endif /* !HASHDEBUG */ - -#define oldhash (SP->oldhash) -#define newhash (SP->newhash) -#define hashtab (SP->hashtab) -#define lines_alloc (SP->hashtab_len) - -#if USE_WIDEC_SUPPORT -#define HASH_VAL(ch) (ch.chars[0]) -#else -#define HASH_VAL(ch) (ch) -#endif - -static inline unsigned long -hash(NCURSES_CH_T * text) -{ - int i; - NCURSES_CH_T ch; - unsigned long result = 0; - for (i = TEXTWIDTH; i > 0; i--) { - ch = *text++; - result += (result << 5) + HASH_VAL(ch); - } - return result; -} - -/* approximate update cost */ -static int -update_cost(NCURSES_CH_T * from, NCURSES_CH_T * to) -{ - int cost = 0; - int i; - - for (i = TEXTWIDTH; i > 0; i--) - if (!(CharEq(*from++, *to++))) - cost++; - - return cost; -} - -static int -update_cost_from_blank(NCURSES_CH_T * to) -{ - int cost = 0; - int i; - NCURSES_CH_T blank = NewChar2(BLANK_TEXT, BLANK_ATTR); - - if (back_color_erase) - SetPair(blank, GetPair(stdscr->_nc_bkgd)); - - for (i = TEXTWIDTH; i > 0; i--) - if (!(CharEq(blank, *to++))) - cost++; - - return cost; -} - -/* - * Returns true when moving line 'from' to line 'to' seems to be cost - * effective. 'blank' indicates whether the line 'to' would become blank. - */ -static inline bool -cost_effective(const int from, const int to, const bool blank) -{ - int new_from; - - if (from == to) - return FALSE; - - new_from = OLDNUM(from); - if (new_from == _NEWINDEX) - new_from = from; - - /* - * On the left side of >= is the cost before moving; - * on the right side -- cost after moving. - */ - return (((blank ? update_cost_from_blank(NEWTEXT(to)) - : update_cost(OLDTEXT(to), NEWTEXT(to))) - + update_cost(OLDTEXT(new_from), NEWTEXT(from))) - >= ((new_from == from ? update_cost_from_blank(NEWTEXT(from)) - : update_cost(OLDTEXT(new_from), NEWTEXT(from))) - + update_cost(OLDTEXT(from), NEWTEXT(to)))) ? TRUE : FALSE; -} - -static void -grow_hunks(void) -{ - int start, end, shift; - int back_limit, forward_limit; /* limits for cells to fill */ - int back_ref_limit, forward_ref_limit; /* limits for refrences */ - int i; - int next_hunk; - - /* - * This is tricky part. We have unique pairs to use as anchors. - * Use these to deduce the presence of spans of identical lines. - */ - back_limit = 0; - back_ref_limit = 0; - - i = 0; - while (i < screen_lines && OLDNUM(i) == _NEWINDEX) - i++; - for (; i < screen_lines; i = next_hunk) { - start = i; - shift = OLDNUM(i) - i; - - /* get forward limit */ - i = start + 1; - while (i < screen_lines && OLDNUM(i) != _NEWINDEX && OLDNUM(i) - i - == shift) - i++; - end = i; - while (i < screen_lines && OLDNUM(i) == _NEWINDEX) - i++; - next_hunk = i; - forward_limit = i; - if (i >= screen_lines || OLDNUM(i) >= i) - forward_ref_limit = i; - else - forward_ref_limit = OLDNUM(i); - - i = start - 1; - /* grow back */ - if (shift < 0) - back_limit = back_ref_limit + (-shift); - while (i >= back_limit) { - if (newhash[i] == oldhash[i + shift] - || cost_effective(i + shift, i, shift < 0)) { - OLDNUM(i) = i + shift; - TR(TRACE_UPDATE | TRACE_MOVE, - ("connected new line %d to old line %d (backward continuation)", - i, i + shift)); - } else { - TR(TRACE_UPDATE | TRACE_MOVE, - ("not connecting new line %d to old line %d (backward continuation)", - i, i + shift)); - break; - } - i--; - } - - i = end; - /* grow forward */ - if (shift > 0) - forward_limit = forward_ref_limit - shift; - while (i < forward_limit) { - if (newhash[i] == oldhash[i + shift] - || cost_effective(i + shift, i, shift > 0)) { - OLDNUM(i) = i + shift; - TR(TRACE_UPDATE | TRACE_MOVE, - ("connected new line %d to old line %d (forward continuation)", - i, i + shift)); - } else { - TR(TRACE_UPDATE | TRACE_MOVE, - ("not connecting new line %d to old line %d (forward continuation)", - i, i + shift)); - break; - } - i++; - } - - back_ref_limit = back_limit = i; - if (shift > 0) - back_ref_limit += shift; - } -} - -NCURSES_EXPORT(void) -_nc_hash_map(void) -{ - HASHMAP *sp; - register int i; - int start, shift, size; - - if (screen_lines > lines_alloc) { - if (hashtab) - free(hashtab); - hashtab = typeMalloc(HASHMAP, (screen_lines + 1) * 2); - if (!hashtab) { - if (oldhash) { - FreeAndNull(oldhash); - } - lines_alloc = 0; - return; - } - lines_alloc = screen_lines; - } - - if (oldhash && newhash) { - /* re-hash only changed lines */ - for (i = 0; i < screen_lines; i++) { - if (PENDING(i)) - newhash[i] = hash(NEWTEXT(i)); - } - } else { - /* re-hash all */ - if (oldhash == 0) - oldhash = typeCalloc(unsigned long, (unsigned) screen_lines); - if (newhash == 0) - newhash = typeCalloc(unsigned long, (unsigned) screen_lines); - if (!oldhash || !newhash) - return; /* malloc failure */ - for (i = 0; i < screen_lines; i++) { - newhash[i] = hash(NEWTEXT(i)); - oldhash[i] = hash(OLDTEXT(i)); - } - } - -#ifdef HASH_VERIFY - for (i = 0; i < screen_lines; i++) { - if (newhash[i] != hash(NEWTEXT(i))) - fprintf(stderr, "error in newhash[%d]\n", i); - if (oldhash[i] != hash(OLDTEXT(i))) - fprintf(stderr, "error in oldhash[%d]\n", i); - } -#endif - - /* - * Set up and count line-hash values. - */ - memset(hashtab, '\0', sizeof(*hashtab) * (screen_lines + 1) * 2); - for (i = 0; i < screen_lines; i++) { - unsigned long hashval = oldhash[i]; - - for (sp = hashtab; sp->hashval; sp++) - if (sp->hashval == hashval) - break; - sp->hashval = hashval; /* in case this is a new entry */ - sp->oldcount++; - sp->oldindex = i; - } - for (i = 0; i < screen_lines; i++) { - unsigned long hashval = newhash[i]; - - for (sp = hashtab; sp->hashval; sp++) - if (sp->hashval == hashval) - break; - sp->hashval = hashval; /* in case this is a new entry */ - sp->newcount++; - sp->newindex = i; - - OLDNUM(i) = _NEWINDEX; /* initialize old indices array */ - } - - /* - * Mark line pairs corresponding to unique hash pairs. - * - * We don't mark lines with offset 0, because it can make fail - * extending hunks by cost_effective. Otherwise, it does not - * have any side effects. - */ - for (sp = hashtab; sp->hashval; sp++) - if (sp->oldcount == 1 && sp->newcount == 1 - && sp->oldindex != sp->newindex) { - TR(TRACE_UPDATE | TRACE_MOVE, - ("new line %d is hash-identical to old line %d (unique)", - sp->newindex, sp->oldindex)); - OLDNUM(sp->newindex) = sp->oldindex; - } - - grow_hunks(); - - /* - * Eliminate bad or impossible shifts -- this includes removing - * those hunks which could not grow because of conflicts, as well - * those which are to be moved too far, they are likely to destroy - * more than carry. - */ - for (i = 0; i < screen_lines;) { - while (i < screen_lines && OLDNUM(i) == _NEWINDEX) - i++; - if (i >= screen_lines) - break; - start = i; - shift = OLDNUM(i) - i; - i++; - while (i < screen_lines && OLDNUM(i) != _NEWINDEX && OLDNUM(i) - i - == shift) - i++; - size = i - start; - if (size < 3 || size + min(size / 8, 2) < abs(shift)) { - while (start < i) { - OLDNUM(start) = _NEWINDEX; - start++; - } - } - } - - /* After clearing invalid hunks, try grow the rest. */ - grow_hunks(); -} - -NCURSES_EXPORT(void) -_nc_make_oldhash(int i) -{ - if (oldhash) - oldhash[i] = hash(OLDTEXT(i)); -} - -NCURSES_EXPORT(void) -_nc_scroll_oldhash(int n, int top, int bot) -{ - size_t size; - int i; - - if (!oldhash) - return; - - size = sizeof(*oldhash) * (bot - top + 1 - abs(n)); - if (n > 0) { - memmove(oldhash + top, oldhash + top + n, size); - for (i = bot; i > bot - n; i--) - oldhash[i] = hash(OLDTEXT(i)); - } else { - memmove(oldhash + top - n, oldhash + top, size); - for (i = top; i < top - n; i++) - oldhash[i] = hash(OLDTEXT(i)); - } -} - -#ifdef HASHDEBUG -static void -usage(void) -{ - static const char *table[] = - { - "hashmap test-driver", - "", - "# comment", - "l get initial line number vector", - "n use following letters as text of new lines", - "o use following letters as text of old lines", - "d dump state of test arrays", - "h apply hash mapper and see scroll optimization", - "? this message" - }; - size_t n; - for (n = 0; n < sizeof(table) / sizeof(table[0]); n++) - fprintf(stderr, "%s\n", table[n]); -} - -int -main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) -{ - char line[BUFSIZ], *st; - int n; - - SP = typeCalloc(SCREEN, 1); - for (n = 0; n < screen_lines; n++) { - reallines[n] = n; - oldnums[n] = _NEWINDEX; - oldtext[n][0] = newtext[n][0] = '.'; - } - - if (isatty(fileno(stdin))) - usage(); - -#ifdef TRACE - _nc_tracing = TRACE_MOVE; -#endif - for (;;) { - /* grab a test command */ - if (fgets(line, sizeof(line), stdin) == (char *) NULL) - exit(EXIT_SUCCESS); - - switch (line[0]) { - case '#': /* comment */ - (void) fputs(line, stderr); - break; - - case 'l': /* get initial line number vector */ - for (n = 0; n < screen_lines; n++) { - reallines[n] = n; - oldnums[n] = _NEWINDEX; - } - n = 0; - st = strtok(line, " "); - do { - oldnums[n++] = atoi(st); - } while - ((st = strtok((char *) NULL, " ")) != 0); - break; - - case 'n': /* use following letters as text of new lines */ - for (n = 0; n < screen_lines; n++) - newtext[n][0] = '.'; - for (n = 0; n < screen_lines; n++) - if (line[n + 1] == '\n') - break; - else - newtext[n][0] = line[n + 1]; - break; - - case 'o': /* use following letters as text of old lines */ - for (n = 0; n < screen_lines; n++) - oldtext[n][0] = '.'; - for (n = 0; n < screen_lines; n++) - if (line[n + 1] == '\n') - break; - else - oldtext[n][0] = line[n + 1]; - break; - - case 'd': /* dump state of test arrays */ -#ifdef TRACE - _nc_linedump(); -#endif - (void) fputs("Old lines: [", stdout); - for (n = 0; n < screen_lines; n++) - putchar(oldtext[n][0]); - putchar(']'); - putchar('\n'); - (void) fputs("New lines: [", stdout); - for (n = 0; n < screen_lines; n++) - putchar(newtext[n][0]); - putchar(']'); - putchar('\n'); - break; - - case 'h': /* apply hash mapper and see scroll optimization */ - _nc_hash_map(); - (void) fputs("Result:\n", stderr); -#ifdef TRACE - _nc_linedump(); -#endif - _nc_scroll_optimize(); - (void) fputs("Done.\n", stderr); - break; - case '?': - usage(); - break; - } - } - return EXIT_SUCCESS; -} - -#endif /* HASHDEBUG */ - -/* hashmap.c ends here */ diff --git a/src/libs/ncurses/ncurses/tty/lib_mvcur.c b/src/libs/ncurses/ncurses/tty/lib_mvcur.c deleted file mode 100644 index bdc4b5655c..0000000000 --- a/src/libs/ncurses/ncurses/tty/lib_mvcur.c +++ /dev/null @@ -1,1239 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* -** lib_mvcur.c -** -** The routines for moving the physical cursor and scrolling: -** -** void _nc_mvcur_init(void) -** -** void _nc_mvcur_resume(void) -** -** int mvcur(int old_y, int old_x, int new_y, int new_x) -** -** void _nc_mvcur_wrap(void) -** -** Comparisons with older movement optimizers: -** SVr3 curses mvcur() can't use cursor_to_ll or auto_left_margin. -** 4.4BSD curses can't use cuu/cud/cuf/cub/hpa/vpa/tab/cbt for local -** motions. It doesn't use tactics based on auto_left_margin. Weirdly -** enough, it doesn't use its own hardware-scrolling routine to scroll up -** destination lines for out-of-bounds addresses! -** old ncurses optimizer: less accurate cost computations (in fact, -** it was broken and had to be commented out!). -** -** Compile with -DMAIN to build an interactive tester/timer for the movement -** optimizer. You can use it to investigate the optimizer's behavior. -** You can also use it for tuning the formulas used to determine whether -** or not full optimization is attempted. -** -** This code has a nasty tendency to find bugs in terminfo entries, because it -** exercises the non-cup movement capabilities heavily. If you think you've -** found a bug, try deleting subsets of the following capabilities (arranged -** in decreasing order of suspiciousness): it, tab, cbt, hpa, vpa, cuu, cud, -** cuf, cub, cuu1, cud1, cuf1, cub1. It may be that one or more are wrong. -** -** Note: you should expect this code to look like a resource hog in a profile. -** That's because it does a lot of I/O, through the tputs() calls. The I/O -** cost swamps the computation overhead (and as machines get faster, this -** will become even more true). Comments in the test exerciser at the end -** go into detail about tuning and how you can gauge the optimizer's -** effectiveness. -**/ - -/**************************************************************************** - * - * Constants and macros for optimizer tuning. - * - ****************************************************************************/ - -/* - * The average overhead of a full optimization computation in character - * transmission times. If it's too high, the algorithm will be a bit - * over-biased toward using cup rather than local motions; if it's too - * low, the algorithm may spend more time than is strictly optimal - * looking for non-cup motions. Profile the optimizer using the `t' - * command of the exerciser (see below), and round to the nearest integer. - * - * Yes, I (esr) thought about computing expected overhead dynamically, say - * by derivation from a running average of optimizer times. But the - * whole point of this optimization is to *decrease* the frequency of - * system calls. :-) - */ -#define COMPUTE_OVERHEAD 1 /* I use a 90MHz Pentium @ 9.6Kbps */ - -/* - * LONG_DIST is the distance we consider to be just as costly to move over as a - * cup sequence is to emit. In other words, it's the length of a cup sequence - * adjusted for average computation overhead. The magic number is the length - * of "\033[yy;xxH", the typical cup sequence these days. - */ -#define LONG_DIST (8 - COMPUTE_OVERHEAD) - -/* - * Tell whether a motion is optimizable by local motions. Needs to be cheap to - * compute. In general, all the fast moves go to either the right or left edge - * of the screen. So any motion to a location that is (a) further away than - * LONG_DIST and (b) further inward from the right or left edge than LONG_DIST, - * we'll consider nonlocal. - */ -#define NOT_LOCAL(fy, fx, ty, tx) ((tx > LONG_DIST) \ - && (tx < screen_columns - 1 - LONG_DIST) \ - && (abs(ty-fy) + abs(tx-fx) > LONG_DIST)) - -/**************************************************************************** - * - * External interfaces - * - ****************************************************************************/ - -/* - * For this code to work OK, the following components must live in the - * screen structure: - * - * int _char_padding; // cost of character put - * int _cr_cost; // cost of (carriage_return) - * int _cup_cost; // cost of (cursor_address) - * int _home_cost; // cost of (cursor_home) - * int _ll_cost; // cost of (cursor_to_ll) - *#if USE_HARD_TABS - * int _ht_cost; // cost of (tab) - * int _cbt_cost; // cost of (back_tab) - *#endif USE_HARD_TABS - * int _cub1_cost; // cost of (cursor_left) - * int _cuf1_cost; // cost of (cursor_right) - * int _cud1_cost; // cost of (cursor_down) - * int _cuu1_cost; // cost of (cursor_up) - * int _cub_cost; // cost of (parm_cursor_left) - * int _cuf_cost; // cost of (parm_cursor_right) - * int _cud_cost; // cost of (parm_cursor_down) - * int _cuu_cost; // cost of (parm_cursor_up) - * int _hpa_cost; // cost of (column_address) - * int _vpa_cost; // cost of (row_address) - * int _ech_cost; // cost of (erase_chars) - * int _rep_cost; // cost of (repeat_char) - * - * The USE_HARD_TABS switch controls whether it is reliable to use tab/backtabs - * for local motions. On many systems, it's not, due to uncertainties about - * tab delays and whether or not tabs will be expanded in raw mode. If you - * have parm_right_cursor, tab motions don't win you a lot anyhow. - */ - -#include -#include -#include - -MODULE_ID("$Id: lib_mvcur.c,v 1.103 2005/06/11 19:30:15 tom Exp $") - -#define WANT_CHAR(y, x) SP->_newscr->_line[y].text[x] /* desired state */ -#define BAUDRATE cur_term->_baudrate /* bits per second */ - -#if defined(MAIN) || defined(NCURSES_TEST) -#include - -static bool profiling = FALSE; -static float diff; -#endif /* MAIN */ - -#define OPT_SIZE 512 - -static int normalized_cost(const char *const cap, int affcnt); - -/**************************************************************************** - * - * Initialization/wrapup (including cost pre-computation) - * - ****************************************************************************/ - -#ifdef TRACE -static int -trace_cost_of(const char *capname, const char *cap, int affcnt) -{ - int result = _nc_msec_cost(cap, affcnt); - TR(TRACE_CHARPUT | TRACE_MOVE, - ("CostOf %s %d %s", capname, result, _nc_visbuf(cap))); - return result; -} -#define CostOf(cap,affcnt) trace_cost_of(#cap,cap,affcnt); - -static int -trace_normalized_cost(const char *capname, const char *cap, int affcnt) -{ - int result = normalized_cost(cap, affcnt); - TR(TRACE_CHARPUT | TRACE_MOVE, - ("NormalizedCost %s %d %s", capname, result, _nc_visbuf(cap))); - return result; -} -#define NormalizedCost(cap,affcnt) trace_normalized_cost(#cap,cap,affcnt); - -#else - -#define CostOf(cap,affcnt) _nc_msec_cost(cap,affcnt); -#define NormalizedCost(cap,affcnt) normalized_cost(cap,affcnt); - -#endif - -NCURSES_EXPORT(int) -_nc_msec_cost(const char *const cap, int affcnt) -/* compute the cost of a given operation */ -{ - if (cap == 0) - return (INFINITY); - else { - const char *cp; - float cum_cost = 0.0; - - for (cp = cap; *cp; cp++) { - /* extract padding, either mandatory or required */ - if (cp[0] == '$' && cp[1] == '<' && strchr(cp, '>')) { - float number = 0.0; - - for (cp += 2; *cp != '>'; cp++) { - if (isdigit(UChar(*cp))) - number = number * 10 + (*cp - '0'); - else if (*cp == '*') - number *= affcnt; - else if (*cp == '.' && (*++cp != '>') && isdigit(UChar(*cp))) - number += (*cp - '0') / 10.0; - } - -#if NCURSES_NO_PADDING - if (!(SP->_no_padding)) -#endif - cum_cost += number * 10; - } else - cum_cost += SP->_char_padding; - } - - return ((int) cum_cost); - } -} - -static int -normalized_cost(const char *const cap, int affcnt) -/* compute the effective character-count for an operation (round up) */ -{ - int cost = _nc_msec_cost(cap, affcnt); - if (cost != INFINITY) - cost = (cost + SP->_char_padding - 1) / SP->_char_padding; - return cost; -} - -static void -reset_scroll_region(void) -/* Set the scroll-region to a known state (the default) */ -{ - if (change_scroll_region) { - TPUTS_TRACE("change_scroll_region"); - putp(tparm(change_scroll_region, 0, screen_lines - 1)); - } -} - -NCURSES_EXPORT(void) -_nc_mvcur_resume(void) -/* what to do at initialization time and after each shellout */ -{ - /* initialize screen for cursor access */ - if (enter_ca_mode) { - TPUTS_TRACE("enter_ca_mode"); - putp(enter_ca_mode); - } - - /* - * Doing this here rather than in _nc_mvcur_wrap() ensures that - * ncurses programs will see a reset scroll region even if a - * program that messed with it died ungracefully. - * - * This also undoes the effects of terminal init strings that assume - * they know the screen size. This is useful when you're running - * a vt100 emulation through xterm. - */ - reset_scroll_region(); - SP->_cursrow = SP->_curscol = -1; - - /* restore cursor shape */ - if (SP->_cursor != -1) { - int cursor = SP->_cursor; - SP->_cursor = -1; - curs_set(cursor); - } -} - -NCURSES_EXPORT(void) -_nc_mvcur_init(void) -/* initialize the cost structure */ -{ - if (isatty(fileno(SP->_ofp))) - SP->_char_padding = ((BAUDBYTE * 1000 * 10) - / (BAUDRATE > 0 ? BAUDRATE : 9600)); - else - SP->_char_padding = 1; /* must be nonzero */ - if (SP->_char_padding <= 0) - SP->_char_padding = 1; /* must be nonzero */ - TR(TRACE_CHARPUT | TRACE_MOVE, ("char_padding %d msecs", SP->_char_padding)); - - /* non-parameterized local-motion strings */ - SP->_cr_cost = CostOf(carriage_return, 0); - SP->_home_cost = CostOf(cursor_home, 0); - SP->_ll_cost = CostOf(cursor_to_ll, 0); -#if USE_HARD_TABS - SP->_ht_cost = CostOf(tab, 0); - SP->_cbt_cost = CostOf(back_tab, 0); -#endif /* USE_HARD_TABS */ - SP->_cub1_cost = CostOf(cursor_left, 0); - SP->_cuf1_cost = CostOf(cursor_right, 0); - SP->_cud1_cost = CostOf(cursor_down, 0); - SP->_cuu1_cost = CostOf(cursor_up, 0); - - SP->_smir_cost = CostOf(enter_insert_mode, 0); - SP->_rmir_cost = CostOf(exit_insert_mode, 0); - SP->_ip_cost = 0; - if (insert_padding) { - SP->_ip_cost = CostOf(insert_padding, 0); - } - - /* - * Assumption: if the terminal has memory_relative addressing, the - * initialization strings or smcup will set single-page mode so we - * can treat it like absolute screen addressing. This seems to be true - * for all cursor_mem_address terminal types in the terminfo database. - */ - SP->_address_cursor = cursor_address ? cursor_address : cursor_mem_address; - - /* - * Parametrized local-motion strings. This static cost computation - * depends on the following assumptions: - * - * (1) They never have * padding. In the entire master terminfo database - * as of March 1995, only the obsolete Zenith Z-100 pc violates this. - * (Proportional padding is found mainly in insert, delete and scroll - * capabilities). - * - * (2) The average case of cup has two two-digit parameters. Strictly, - * the average case for a 24 * 80 screen has ((10*10*(1 + 1)) + - * (14*10*(1 + 2)) + (10*70*(2 + 1)) + (14*70*4)) / (24*80) = 3.458 - * digits of parameters. On a 25x80 screen the average is 3.6197. - * On larger screens the value gets much closer to 4. - * - * (3) The average case of cub/cuf/hpa/ech/rep has 2 digits of parameters - * (strictly, (((10 * 1) + (70 * 2)) / 80) = 1.8750). - * - * (4) The average case of cud/cuu/vpa has 2 digits of parameters - * (strictly, (((10 * 1) + (14 * 2)) / 24) = 1.5833). - * - * All these averages depend on the assumption that all parameter values - * are equally probable. - */ - SP->_cup_cost = CostOf(tparm(SP->_address_cursor, 23, 23), 1); - SP->_cub_cost = CostOf(tparm(parm_left_cursor, 23), 1); - SP->_cuf_cost = CostOf(tparm(parm_right_cursor, 23), 1); - SP->_cud_cost = CostOf(tparm(parm_down_cursor, 23), 1); - SP->_cuu_cost = CostOf(tparm(parm_up_cursor, 23), 1); - SP->_hpa_cost = CostOf(tparm(column_address, 23), 1); - SP->_vpa_cost = CostOf(tparm(row_address, 23), 1); - - /* non-parameterized screen-update strings */ - SP->_ed_cost = NormalizedCost(clr_eos, 1); - SP->_el_cost = NormalizedCost(clr_eol, 1); - SP->_el1_cost = NormalizedCost(clr_bol, 1); - SP->_dch1_cost = NormalizedCost(delete_character, 1); - SP->_ich1_cost = NormalizedCost(insert_character, 1); - - /* - * If this is a bce-terminal, we want to bias the choice so we use clr_eol - * rather than spaces at the end of a line. - */ - if (back_color_erase) - SP->_el_cost = 0; - - /* parameterized screen-update strings */ - SP->_dch_cost = NormalizedCost(tparm(parm_dch, 23), 1); - SP->_ich_cost = NormalizedCost(tparm(parm_ich, 23), 1); - SP->_ech_cost = NormalizedCost(tparm(erase_chars, 23), 1); - SP->_rep_cost = NormalizedCost(tparm(repeat_char, ' ', 23), 1); - - SP->_cup_ch_cost = NormalizedCost(tparm(SP->_address_cursor, 23, 23), 1); - SP->_hpa_ch_cost = NormalizedCost(tparm(column_address, 23), 1); - SP->_cuf_ch_cost = NormalizedCost(tparm(parm_right_cursor, 23), 1); - SP->_inline_cost = min(SP->_cup_ch_cost, - min(SP->_hpa_ch_cost, - SP->_cuf_ch_cost)); - - /* - * If save_cursor is used within enter_ca_mode, we should not use it for - * scrolling optimization, since the corresponding restore_cursor is not - * nested on the various terminals (vt100, xterm, etc.) which use this - * feature. - */ - if (save_cursor != 0 - && enter_ca_mode != 0 - && strstr(enter_ca_mode, save_cursor) != 0) { - T(("...suppressed sc/rc capability due to conflict with smcup/rmcup")); - save_cursor = 0; - restore_cursor = 0; - } - - /* - * A different, possibly better way to arrange this would be to set - * SP->_endwin = TRUE at window initialization time and let this be - * called by doupdate's return-from-shellout code. - */ - _nc_mvcur_resume(); -} - -NCURSES_EXPORT(void) -_nc_mvcur_wrap(void) -/* wrap up cursor-addressing mode */ -{ - /* leave cursor at screen bottom */ - mvcur(-1, -1, screen_lines - 1, 0); - - /* set cursor to normal mode */ - if (SP->_cursor != -1) - curs_set(1); - - if (exit_ca_mode) { - TPUTS_TRACE("exit_ca_mode"); - putp(exit_ca_mode); - } - /* - * Reset terminal's tab counter. There's a long-time bug that - * if you exit a "curses" program such as vi or more, tab - * forward, and then backspace, the cursor doesn't go to the - * right place. The problem is that the kernel counts the - * escape sequences that reset things as column positions. - * Utter a \r to reset this invisibly. - */ - _nc_outch('\r'); -} - -/**************************************************************************** - * - * Optimized cursor movement - * - ****************************************************************************/ - -/* - * Perform repeated-append, returning cost - */ -static inline int -repeated_append(string_desc * target, int total, int num, int repeat, const char *src) -{ - size_t need = repeat * strlen(src); - - if (need < target->s_size) { - while (repeat-- > 0) { - if (_nc_safe_strcat(target, src)) { - total += num; - } else { - total = INFINITY; - break; - } - } - } else { - total = INFINITY; - } - return total; -} - -#ifndef NO_OPTIMIZE -#define NEXTTAB(fr) (fr + init_tabs - (fr % init_tabs)) - -/* - * Assume back_tab (CBT) does not wrap backwards at the left margin, return - * a negative value at that point to simplify the loop. - */ -#define LASTTAB(fr) ((fr > 0) ? ((fr - 1) / init_tabs) * init_tabs : -1) - -static int -relative_move(string_desc * target, int from_y, int from_x, int to_y, int - to_x, bool ovw) -/* move via local motions (cuu/cuu1/cud/cud1/cub1/cub/cuf1/cuf/vpa/hpa) */ -{ - string_desc save; - int n, vcost = 0, hcost = 0; - - (void) _nc_str_copy(&save, target); - - if (to_y != from_y) { - vcost = INFINITY; - - if (row_address != 0 - && _nc_safe_strcat(target, tparm(row_address, to_y))) { - vcost = SP->_vpa_cost; - } - - if (to_y > from_y) { - n = (to_y - from_y); - - if (parm_down_cursor - && SP->_cud_cost < vcost - && _nc_safe_strcat(_nc_str_copy(target, &save), - tparm(parm_down_cursor, n))) { - vcost = SP->_cud_cost; - } - - if (cursor_down - && (*cursor_down != '\n' || SP->_nl) - && (n * SP->_cud1_cost < vcost)) { - vcost = repeated_append(_nc_str_copy(target, &save), 0, - SP->_cud1_cost, n, cursor_down); - } - } else { /* (to_y < from_y) */ - n = (from_y - to_y); - - if (parm_up_cursor - && SP->_cuu_cost < vcost - && _nc_safe_strcat(_nc_str_copy(target, &save), - tparm(parm_up_cursor, n))) { - vcost = SP->_cuu_cost; - } - - if (cursor_up && (n * SP->_cuu1_cost < vcost)) { - vcost = repeated_append(_nc_str_copy(target, &save), 0, - SP->_cuu1_cost, n, cursor_up); - } - } - - if (vcost == INFINITY) - return (INFINITY); - } - - save = *target; - - if (to_x != from_x) { - char str[OPT_SIZE]; - string_desc check; - - hcost = INFINITY; - - if (column_address - && _nc_safe_strcat(_nc_str_copy(target, &save), - tparm(column_address, to_x))) { - hcost = SP->_hpa_cost; - } - - if (to_x > from_x) { - n = to_x - from_x; - - if (parm_right_cursor - && SP->_cuf_cost < hcost - && _nc_safe_strcat(_nc_str_copy(target, &save), - tparm(parm_right_cursor, n))) { - hcost = SP->_cuf_cost; - } - - if (cursor_right) { - int lhcost = 0; - - (void) _nc_str_init(&check, str, sizeof(str)); - -#if USE_HARD_TABS - /* use hard tabs, if we have them, to do as much as possible */ - if (init_tabs > 0 && tab) { - int nxt, fr; - - for (fr = from_x; (nxt = NEXTTAB(fr)) <= to_x; fr = nxt) { - lhcost = repeated_append(&check, lhcost, - SP->_ht_cost, 1, tab); - if (lhcost == INFINITY) - break; - } - - n = to_x - fr; - from_x = fr; - } -#endif /* USE_HARD_TABS */ - - if (n <= 0 || n >= (int) check.s_size) - ovw = FALSE; -#if BSD_TPUTS - /* - * If we're allowing BSD-style padding in tputs, don't generate - * a string with a leading digit. Otherwise, that will be - * interpreted as a padding value rather than sent to the - * screen. - */ - if (ovw - && n > 0 - && n < (int) check.s_size - && vcost == 0 - && str[0] == '\0') { - int wanted = CharOf(WANT_CHAR(to_y, from_x)); - if (is8bits(wanted) && isdigit(wanted)) - ovw = FALSE; - } -#endif - /* - * If we have no attribute changes, overwrite is cheaper. - * Note: must suppress this by passing in ovw = FALSE whenever - * WANT_CHAR would return invalid data. In particular, this - * is true between the time a hardware scroll has been done - * and the time the structure WANT_CHAR would access has been - * updated. - */ - if (ovw) { - int i; - - for (i = 0; i < n; i++) { - NCURSES_CH_T ch = WANT_CHAR(to_y, from_x + i); - if (!SameAttrOf(ch, SCREEN_ATTRS(SP)) -#if USE_WIDEC_SUPPORT - || !Charable(ch) -#endif - ) { - ovw = FALSE; - break; - } - } - } - if (ovw) { - int i; - - for (i = 0; i < n; i++) - *check.s_tail++ = CharOf(WANT_CHAR(to_y, from_x + i)); - *check.s_tail = '\0'; - check.s_size -= n; - lhcost += n * SP->_char_padding; - } else { - lhcost = repeated_append(&check, lhcost, SP->_cuf1_cost, - n, cursor_right); - } - - if (lhcost < hcost - && _nc_safe_strcat(_nc_str_copy(target, &save), str)) { - hcost = lhcost; - } - } - } else { /* (to_x < from_x) */ - n = from_x - to_x; - - if (parm_left_cursor - && SP->_cub_cost < hcost - && _nc_safe_strcat(_nc_str_copy(target, &save), - tparm(parm_left_cursor, n))) { - hcost = SP->_cub_cost; - } - - if (cursor_left) { - int lhcost = 0; - - (void) _nc_str_init(&check, str, sizeof(str)); - -#if USE_HARD_TABS - if (init_tabs > 0 && back_tab) { - int nxt, fr; - - for (fr = from_x; (nxt = LASTTAB(fr)) >= to_x; fr = nxt) { - lhcost = repeated_append(&check, lhcost, - SP->_cbt_cost, 1, back_tab); - if (lhcost == INFINITY) - break; - } - - n = fr - to_x; - } -#endif /* USE_HARD_TABS */ - - lhcost = repeated_append(&check, lhcost, SP->_cub1_cost, n, cursor_left); - - if (lhcost < hcost - && _nc_safe_strcat(_nc_str_copy(target, &save), str)) { - hcost = lhcost; - } - } - } - - if (hcost == INFINITY) - return (INFINITY); - } - - return (vcost + hcost); -} -#endif /* !NO_OPTIMIZE */ - -/* - * With the machinery set up above, it's conceivable that - * onscreen_mvcur could be modified into a recursive function that does - * an alpha-beta search of motion space, as though it were a chess - * move tree, with the weight function being boolean and the search - * depth equated to length of string. However, this would jack up the - * computation cost a lot, especially on terminals without a cup - * capability constraining the search tree depth. So we settle for - * the simpler method below. - */ - -static inline int -onscreen_mvcur(int yold, int xold, int ynew, int xnew, bool ovw) -/* onscreen move from (yold, xold) to (ynew, xnew) */ -{ - string_desc result; - char buffer[OPT_SIZE]; - int tactic = 0, newcost, usecost = INFINITY; - int t5_cr_cost; - -#if defined(MAIN) || defined(NCURSES_TEST) - struct timeval before, after; - - gettimeofday(&before, NULL); -#endif /* MAIN */ - -#define NullResult _nc_str_null(&result, sizeof(buffer)) -#define InitResult _nc_str_init(&result, buffer, sizeof(buffer)) - - /* tactic #0: use direct cursor addressing */ - if (_nc_safe_strcpy(InitResult, tparm(SP->_address_cursor, ynew, xnew))) { - tactic = 0; - usecost = SP->_cup_cost; - -#if defined(TRACE) || defined(NCURSES_TEST) - if (!(_nc_optimize_enable & OPTIMIZE_MVCUR)) - goto nonlocal; -#endif /* TRACE */ - - /* - * We may be able to tell in advance that the full optimization - * will probably not be worth its overhead. Also, don't try to - * use local movement if the current attribute is anything but - * A_NORMAL...there are just too many ways this can screw up - * (like, say, local-movement \n getting mapped to some obscure - * character because A_ALTCHARSET is on). - */ - if (yold == -1 || xold == -1 || NOT_LOCAL(yold, xold, ynew, xnew)) { -#if defined(MAIN) || defined(NCURSES_TEST) - if (!profiling) { - (void) fputs("nonlocal\n", stderr); - goto nonlocal; /* always run the optimizer if profiling */ - } -#else - goto nonlocal; -#endif /* MAIN */ - } - } -#ifndef NO_OPTIMIZE - /* tactic #1: use local movement */ - if (yold != -1 && xold != -1 - && ((newcost = relative_move(NullResult, yold, xold, ynew, xnew, - ovw)) != INFINITY) - && newcost < usecost) { - tactic = 1; - usecost = newcost; - } - - /* tactic #2: use carriage-return + local movement */ - if (yold != -1 && carriage_return - && ((newcost = relative_move(NullResult, yold, 0, ynew, xnew, ovw)) - != INFINITY) - && SP->_cr_cost + newcost < usecost) { - tactic = 2; - usecost = SP->_cr_cost + newcost; - } - - /* tactic #3: use home-cursor + local movement */ - if (cursor_home - && ((newcost = relative_move(NullResult, 0, 0, ynew, xnew, ovw)) != INFINITY) - && SP->_home_cost + newcost < usecost) { - tactic = 3; - usecost = SP->_home_cost + newcost; - } - - /* tactic #4: use home-down + local movement */ - if (cursor_to_ll - && ((newcost = relative_move(NullResult, screen_lines - 1, 0, ynew, - xnew, ovw)) != INFINITY) - && SP->_ll_cost + newcost < usecost) { - tactic = 4; - usecost = SP->_ll_cost + newcost; - } - - /* - * tactic #5: use left margin for wrap to right-hand side, - * unless strange wrap behavior indicated by xenl might hose us. - */ - t5_cr_cost = (xold > 0 ? SP->_cr_cost : 0); - if (auto_left_margin && !eat_newline_glitch - && yold > 0 && cursor_left - && ((newcost = relative_move(NullResult, yold - 1, screen_columns - - 1, ynew, xnew, ovw)) != INFINITY) - && t5_cr_cost + SP->_cub1_cost + newcost < usecost) { - tactic = 5; - usecost = t5_cr_cost + SP->_cub1_cost + newcost; - } - - /* - * These cases are ordered by estimated relative frequency. - */ - if (tactic) - InitResult; - switch (tactic) { - case 1: - (void) relative_move(&result, yold, xold, ynew, xnew, ovw); - break; - case 2: - (void) _nc_safe_strcpy(&result, carriage_return); - (void) relative_move(&result, yold, 0, ynew, xnew, ovw); - break; - case 3: - (void) _nc_safe_strcpy(&result, cursor_home); - (void) relative_move(&result, 0, 0, ynew, xnew, ovw); - break; - case 4: - (void) _nc_safe_strcpy(&result, cursor_to_ll); - (void) relative_move(&result, screen_lines - 1, 0, ynew, xnew, ovw); - break; - case 5: - if (xold > 0) - (void) _nc_safe_strcat(&result, carriage_return); - (void) _nc_safe_strcat(&result, cursor_left); - (void) relative_move(&result, yold - 1, screen_columns - 1, ynew, - xnew, ovw); - break; - } -#endif /* !NO_OPTIMIZE */ - - nonlocal: -#if defined(MAIN) || defined(NCURSES_TEST) - gettimeofday(&after, NULL); - diff = after.tv_usec - before.tv_usec - + (after.tv_sec - before.tv_sec) * 1000000; - if (!profiling) - (void) fprintf(stderr, - "onscreen: %d microsec, %f 28.8Kbps char-equivalents\n", - (int) diff, diff / 288); -#endif /* MAIN */ - - if (usecost != INFINITY) { - TPUTS_TRACE("mvcur"); - tputs(buffer, 1, _nc_outch); - SP->_cursrow = ynew; - SP->_curscol = xnew; - return (OK); - } else - return (ERR); -} - -NCURSES_EXPORT(int) -mvcur(int yold, int xold, int ynew, int xnew) -/* optimized cursor move from (yold, xold) to (ynew, xnew) */ -{ - NCURSES_CH_T oldattr; - int code; - - TR(TRACE_CALLS | TRACE_MOVE, (T_CALLED("mvcur(%d,%d,%d,%d)"), - yold, xold, ynew, xnew)); - - if (SP == 0) { - code = ERR; - } else if (yold == ynew && xold == xnew) { - code = OK; - } else { - - /* - * Most work here is rounding for terminal boundaries getting the - * column position implied by wraparound or the lack thereof and - * rolling up the screen to get ynew on the screen. - */ - if (xnew >= screen_columns) { - ynew += xnew / screen_columns; - xnew %= screen_columns; - } - - /* - * Force restore even if msgr is on when we're in an alternate - * character set -- these have a strong tendency to screw up the CR & - * LF used for local character motions! - */ - oldattr = SCREEN_ATTRS(SP); - if ((AttrOf(oldattr) & A_ALTCHARSET) - || (AttrOf(oldattr) && !move_standout_mode)) { - TR(TRACE_CHARPUT, ("turning off (%#lx) %s before move", - (unsigned long) AttrOf(oldattr), - _traceattr(AttrOf(oldattr)))); - (void) VIDATTR(A_NORMAL, 0); - } - - if (xold >= screen_columns) { - int l; - - if (SP->_nl) { - l = (xold + 1) / screen_columns; - yold += l; - if (yold >= screen_lines) - l -= (yold - screen_lines - 1); - - if (l > 0) { - if (carriage_return) { - TPUTS_TRACE("carriage_return"); - putp(carriage_return); - } else - _nc_outch('\r'); - xold = 0; - - while (l > 0) { - if (newline) { - TPUTS_TRACE("newline"); - putp(newline); - } else - _nc_outch('\n'); - l--; - } - } - } else { - /* - * If caller set nonl(), we cannot really use newlines to - * position to the next row. - */ - xold = -1; - yold = -1; - } - } - - if (yold > screen_lines - 1) - yold = screen_lines - 1; - if (ynew > screen_lines - 1) - ynew = screen_lines - 1; - - /* destination location is on screen now */ - code = onscreen_mvcur(yold, xold, ynew, xnew, TRUE); - - /* - * Restore attributes if we disabled them before moving. - */ - if (!SameAttrOf(oldattr, SCREEN_ATTRS(SP))) { - TR(TRACE_CHARPUT, ("turning on (%#lx) %s after move", - (unsigned long) AttrOf(oldattr), - _traceattr(AttrOf(oldattr)))); - (void) VIDATTR(AttrOf(oldattr), GetPair(oldattr)); - } - } - returnCode(code); -} - -#if defined(TRACE) || defined(NCURSES_TEST) -NCURSES_EXPORT_VAR(int) _nc_optimize_enable = OPTIMIZE_ALL; -#endif - -#if defined(MAIN) || defined(NCURSES_TEST) -/**************************************************************************** - * - * Movement optimizer test code - * - ****************************************************************************/ - -#include -#include - -NCURSES_EXPORT_VAR(const char *) _nc_progname = "mvcur"; - -static unsigned long xmits; - -/* these override lib_tputs.c */ -NCURSES_EXPORT(int) -tputs(const char *string, int affcnt GCC_UNUSED, int (*outc) (int) GCC_UNUSED) -/* stub tputs() that dumps sequences in a visible form */ -{ - if (profiling) - xmits += strlen(string); - else - (void) fputs(_nc_visbuf(string), stdout); - return (OK); -} - -NCURSES_EXPORT(int) -putp(const char *string) -{ - return (tputs(string, 1, _nc_outch)); -} - -NCURSES_EXPORT(int) -_nc_outch(int ch) -{ - putc(ch, stdout); - return OK; -} - -NCURSES_EXPORT(int) -delay_output(int ms GCC_UNUSED) -{ - return OK; -} - -static char tname[PATH_MAX]; - -static void -load_term(void) -{ - (void) setupterm(tname, STDOUT_FILENO, NULL); -} - -static int -roll(int n) -{ - int i, j; - - i = (RAND_MAX / n) * n; - while ((j = rand()) >= i) - continue; - return (j % n); -} - -int -main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) -{ - (void) strcpy(tname, termname()); - load_term(); - _nc_setupscreen(lines, columns, stdout); - baudrate(); - - _nc_mvcur_init(); - NC_BUFFERED(FALSE); - - (void) puts("The mvcur tester. Type ? for help"); - - fputs("smcup:", stdout); - putchar('\n'); - - for (;;) { - int fy, fx, ty, tx, n, i; - char buf[BUFSIZ], capname[BUFSIZ]; - - (void) fputs("> ", stdout); - (void) fgets(buf, sizeof(buf), stdin); - - if (buf[0] == '?') { - (void) puts("? -- display this help message"); - (void) - puts("fy fx ty tx -- (4 numbers) display (fy,fx)->(ty,tx) move"); - (void) puts("s[croll] n t b m -- display scrolling sequence"); - (void) - printf("r[eload] -- reload terminal info for %s\n", - termname()); - (void) - puts("l[oad] -- load terminal info for type "); - (void) puts("d[elete] -- delete named capability"); - (void) puts("i[nspect] -- display terminal capabilities"); - (void) - puts("c[ost] -- dump cursor-optimization cost table"); - (void) puts("o[optimize] -- toggle movement optimization"); - (void) - puts("t[orture] -- torture-test with random moves"); - (void) puts("q[uit] -- quit the program"); - } else if (sscanf(buf, "%d %d %d %d", &fy, &fx, &ty, &tx) == 4) { - struct timeval before, after; - - putchar('"'); - - gettimeofday(&before, NULL); - mvcur(fy, fx, ty, tx); - gettimeofday(&after, NULL); - - printf("\" (%ld msec)\n", - (long) (after.tv_usec - before.tv_usec - + (after.tv_sec - before.tv_sec) - * 1000000)); - } else if (sscanf(buf, "s %d %d %d %d", &fy, &fx, &ty, &tx) == 4) { - struct timeval before, after; - - putchar('"'); - - gettimeofday(&before, NULL); - _nc_scrolln(fy, fx, ty, tx); - gettimeofday(&after, NULL); - - printf("\" (%ld msec)\n", - (long) (after.tv_usec - before.tv_usec + (after.tv_sec - - before.tv_sec) - * 1000000)); - } else if (buf[0] == 'r') { - (void) strcpy(tname, termname()); - load_term(); - } else if (sscanf(buf, "l %s", tname) == 1) { - load_term(); - } else if (sscanf(buf, "d %s", capname) == 1) { - struct name_table_entry const *np = _nc_find_entry(capname, - _nc_info_hash_table); - - if (np == NULL) - (void) printf("No such capability as \"%s\"\n", capname); - else { - switch (np->nte_type) { - case BOOLEAN: - cur_term->type.Booleans[np->nte_index] = FALSE; - (void) - printf("Boolean capability `%s' (%d) turned off.\n", - np->nte_name, np->nte_index); - break; - - case NUMBER: - cur_term->type.Numbers[np->nte_index] = ABSENT_NUMERIC; - (void) printf("Number capability `%s' (%d) set to -1.\n", - np->nte_name, np->nte_index); - break; - - case STRING: - cur_term->type.Strings[np->nte_index] = ABSENT_STRING; - (void) printf("String capability `%s' (%d) deleted.\n", - np->nte_name, np->nte_index); - break; - } - } - } else if (buf[0] == 'i') { - dump_init((char *) NULL, F_TERMINFO, S_TERMINFO, 70, 0, FALSE); - dump_entry(&cur_term->type, FALSE, TRUE, 0, 0, 0); - putchar('\n'); - } else if (buf[0] == 'o') { - if (_nc_optimize_enable & OPTIMIZE_MVCUR) { - _nc_optimize_enable &= ~OPTIMIZE_MVCUR; - (void) puts("Optimization is now off."); - } else { - _nc_optimize_enable |= OPTIMIZE_MVCUR; - (void) puts("Optimization is now on."); - } - } - /* - * You can use the `t' test to profile and tune the movement - * optimizer. Use iteration values in three digits or more. - * At above 5000 iterations the profile timing averages are stable - * to within a millisecond or three. - * - * The `overhead' field of the report will help you pick a - * COMPUTE_OVERHEAD figure appropriate for your processor and - * expected line speed. The `total estimated time' is - * computation time plus a character-transmission time - * estimate computed from the number of transmits and the baud - * rate. - * - * Use this together with the `o' command to get a read on the - * optimizer's effectiveness. Compare the total estimated times - * for `t' runs of the same length in both optimized and un-optimized - * modes. As long as the optimized times are less, the optimizer - * is winning. - */ - else if (sscanf(buf, "t %d", &n) == 1) { - float cumtime = 0.0, perchar; - int speeds[] = - {2400, 9600, 14400, 19200, 28800, 38400, 0}; - - srand((unsigned) (getpid() + time((time_t *) 0))); - profiling = TRUE; - xmits = 0; - for (i = 0; i < n; i++) { - /* - * This does a move test between two random locations, - * Random moves probably short-change the optimizer, - * which will work better on the short moves probably - * typical of doupdate()'s usage pattern. Still, - * until we have better data... - */ -#ifdef FIND_COREDUMP - int from_y = roll(lines); - int to_y = roll(lines); - int from_x = roll(columns); - int to_x = roll(columns); - - printf("(%d,%d) -> (%d,%d)\n", from_y, from_x, to_y, to_x); - mvcur(from_y, from_x, to_y, to_x); -#else - mvcur(roll(lines), roll(columns), roll(lines), roll(columns)); -#endif /* FIND_COREDUMP */ - if (diff) - cumtime += diff; - } - profiling = FALSE; - - /* - * Average milliseconds per character optimization time. - * This is the key figure to watch when tuning the optimizer. - */ - perchar = cumtime / n; - - (void) printf("%d moves (%ld chars) in %d msec, %f msec each:\n", - n, xmits, (int) cumtime, perchar); - - for (i = 0; speeds[i]; i++) { - /* - * Total estimated time for the moves, computation and - * transmission both. Transmission time is an estimate - * assuming 9 bits/char, 8 bits + 1 stop bit. - */ - float totalest = cumtime + xmits * 9 * 1e6 / speeds[i]; - - /* - * Per-character optimization overhead in character transmits - * at the current speed. Round this to the nearest integer - * to figure COMPUTE_OVERHEAD for the speed. - */ - float overhead = speeds[i] * perchar / 1e6; - - (void) - printf("%6d bps: %3.2f char-xmits overhead; total estimated time %15.2f\n", - speeds[i], overhead, totalest); - } - } else if (buf[0] == 'c') { - (void) printf("char padding: %d\n", SP->_char_padding); - (void) printf("cr cost: %d\n", SP->_cr_cost); - (void) printf("cup cost: %d\n", SP->_cup_cost); - (void) printf("home cost: %d\n", SP->_home_cost); - (void) printf("ll cost: %d\n", SP->_ll_cost); -#if USE_HARD_TABS - (void) printf("ht cost: %d\n", SP->_ht_cost); - (void) printf("cbt cost: %d\n", SP->_cbt_cost); -#endif /* USE_HARD_TABS */ - (void) printf("cub1 cost: %d\n", SP->_cub1_cost); - (void) printf("cuf1 cost: %d\n", SP->_cuf1_cost); - (void) printf("cud1 cost: %d\n", SP->_cud1_cost); - (void) printf("cuu1 cost: %d\n", SP->_cuu1_cost); - (void) printf("cub cost: %d\n", SP->_cub_cost); - (void) printf("cuf cost: %d\n", SP->_cuf_cost); - (void) printf("cud cost: %d\n", SP->_cud_cost); - (void) printf("cuu cost: %d\n", SP->_cuu_cost); - (void) printf("hpa cost: %d\n", SP->_hpa_cost); - (void) printf("vpa cost: %d\n", SP->_vpa_cost); - } else if (buf[0] == 'x' || buf[0] == 'q') - break; - else - (void) puts("Invalid command."); - } - - (void) fputs("rmcup:", stdout); - _nc_mvcur_wrap(); - putchar('\n'); - - return (0); -} - -#endif /* MAIN */ - -/* lib_mvcur.c ends here */ diff --git a/src/libs/ncurses/ncurses/tty/lib_tstp.c b/src/libs/ncurses/ncurses/tty/lib_tstp.c deleted file mode 100644 index c850e41da2..0000000000 --- a/src/libs/ncurses/ncurses/tty/lib_tstp.c +++ /dev/null @@ -1,399 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas Dickey 1995-2001 * - ****************************************************************************/ - -/* -** lib_tstp.c -** -** The routine _nc_signal_handler(). -** -*/ -#include - -#include - -#if SVR4_ACTION && !defined(_POSIX_SOURCE) -#define _POSIX_SOURCE -#endif - -MODULE_ID("$Id: lib_tstp.c,v 1.30 2002/05/18 19:55:38 tom Exp $") - -#if defined(SIGTSTP) && (HAVE_SIGACTION || HAVE_SIGVEC) -#define USE_SIGTSTP 1 -#else -#define USE_SIGTSTP 0 -#endif - -#ifdef TRACE -static const char * -signal_name(int sig) -{ - switch (sig) { - case SIGALRM: - return "SIGALRM"; -#ifdef SIGCONT - case SIGCONT: - return "SIGCONT"; -#endif - case SIGINT: - return "SIGINT"; - case SIGQUIT: - return "SIGQUIT"; - case SIGTERM: - return "SIGTERM"; -#ifdef SIGTSTP - case SIGTSTP: - return "SIGTSTP"; -#endif -#ifdef SIGTTOU - case SIGTTOU: - return "SIGTTOU"; -#endif -#ifdef SIGWINCH - case SIGWINCH: - return "SIGWINCH"; -#endif - default: - return "unknown signal"; - } -} -#endif - -/* - * Note: This code is fragile! Its problem is that different OSs - * handle restart of system calls interrupted by signals differently. - * The ncurses code needs signal-call restart to happen -- otherwise, - * interrupted wgetch() calls will return FAIL, probably making the - * application think the input stream has ended and it should - * terminate. In particular, you know you have this problem if, when - * you suspend an ncurses-using lynx with ^Z and resume, it dies - * immediately. - * - * Default behavior of POSIX sigaction(2) is not to restart - * interrupted system calls, but Linux's sigaction does it anyway (at - * least, on and after the 1.1.47 I (esr) use). Thus this code works - * OK under Linux. The 4.4BSD sigaction(2) supports a (non-portable) - * SA_RESTART flag that forces the right behavior. Thus, this code - * should work OK under BSD/OS, NetBSD, and FreeBSD (let us know if it - * does not). - * - * Stock System Vs (and anything else using a strict-POSIX - * sigaction(2) without SA_RESTART) may have a problem. Possible - * solutions: - * - * sigvec restarts by default (SV_INTERRUPT flag to not restart) - * signal restarts by default in SVr4 (assuming you link with -lucb) - * and BSD, but not SVr3. - * sigset restarts, but is only available under SVr4/Solaris. - * - * The signal(3) call is mandated by the ANSI standard, and its - * interaction with sigaction(2) is described in the POSIX standard - * (3.3.4.2, page 72,line 934). According to section 8.1, page 191, - * however, signal(3) itself is not required by POSIX.1. And POSIX is - * silent on whether it is required to restart signals. - * - * So. The present situation is, we use sigaction(2) with no - * guarantee of restart anywhere but on Linux and BSD. We could - * switch to signal(3) and collar Linux, BSD, and SVr4. Any way - * we slice it, System V UNIXes older than SVr4 will probably lose - * (this may include XENIX). - * - * This implementation will probably be changed to use signal(3) in - * the future. If nothing else, it's simpler... - */ - -#if USE_SIGTSTP -static void -tstp(int dummy GCC_UNUSED) -{ - sigset_t mask, omask; - sigaction_t act, oact; - -#ifdef SIGTTOU - int sigttou_blocked; -#endif - - T(("tstp() called")); - - /* - * The user may have changed the prog_mode tty bits, so save them. - * - * But first try to detect whether we still are in the foreground - * process group - if not, an interactive shell may already have - * taken ownership of the tty and modified the settings when our - * parent was stopped before us, and we would likely pick up the - * settings already modified by the shell. - */ - if (SP != 0 && !SP->_endwin) /* don't do this if we're not in curses */ -#if HAVE_TCGETPGRP - if (tcgetpgrp(STDIN_FILENO) == getpgrp()) -#endif - def_prog_mode(); - - /* - * Block window change and timer signals. The latter - * is because applications use timers to decide when - * to repaint the screen. - */ - (void) sigemptyset(&mask); - (void) sigaddset(&mask, SIGALRM); -#if USE_SIGWINCH - (void) sigaddset(&mask, SIGWINCH); -#endif - (void) sigprocmask(SIG_BLOCK, &mask, &omask); - -#ifdef SIGTTOU - sigttou_blocked = sigismember(&omask, SIGTTOU); - if (!sigttou_blocked) { - (void) sigemptyset(&mask); - (void) sigaddset(&mask, SIGTTOU); - (void) sigprocmask(SIG_BLOCK, &mask, NULL); - } -#endif - - /* - * End window mode, which also resets the terminal state to the - * original (pre-curses) modes. - */ - endwin(); - - /* Unblock SIGTSTP. */ - (void) sigemptyset(&mask); - (void) sigaddset(&mask, SIGTSTP); -#ifdef SIGTTOU - if (!sigttou_blocked) { - /* Unblock this too if it wasn't blocked on entry */ - (void) sigaddset(&mask, SIGTTOU); - } -#endif - (void) sigprocmask(SIG_UNBLOCK, &mask, NULL); - - /* Now we want to resend SIGSTP to this process and suspend it */ - act.sa_handler = SIG_DFL; - sigemptyset(&act.sa_mask); - act.sa_flags = 0; -#ifdef SA_RESTART - act.sa_flags |= SA_RESTART; -#endif /* SA_RESTART */ - sigaction(SIGTSTP, &act, &oact); - kill(getpid(), SIGTSTP); - - /* Process gets suspended...time passes...process resumes */ - - T(("SIGCONT received")); - sigaction(SIGTSTP, &oact, NULL); - flushinp(); - - /* - * If the user modified the tty state while suspended, he wants - * those changes to stick. So save the new "default" terminal state. - */ - def_shell_mode(); - - /* - * This relies on the fact that doupdate() will restore the - * program-mode tty state, and issue enter_ca_mode if need be. - */ - doupdate(); - - /* Reset the signals. */ - (void) sigprocmask(SIG_SETMASK, &omask, NULL); -} -#endif /* USE_SIGTSTP */ - -static void -cleanup(int sig) -{ - static int nested; - - /* - * Actually, doing any sort of I/O from within an signal handler is - * "unsafe". But we'll _try_ to clean up the screen and terminal - * settings on the way out. - */ - if (!nested++ - && (sig == SIGINT - || sig == SIGQUIT)) { -#if HAVE_SIGACTION || HAVE_SIGVEC - sigaction_t act; - sigemptyset(&act.sa_mask); - act.sa_flags = 0; - act.sa_handler = SIG_IGN; - if (sigaction(sig, &act, NULL) == 0) -#else - if (signal(sig, SIG_IGN) != SIG_ERR) -#endif - { - SCREEN *scan = _nc_screen_chain; - while (scan) { - if (SP != 0 - && SP->_ofp != 0 - && isatty(fileno(SP->_ofp))) { - SP->_cleanup = TRUE; - SP->_outch = _nc_outch; - } - set_term(scan); - endwin(); - if (SP) - SP->_endwin = FALSE; /* in case we have an atexit! */ - scan = scan->_next_screen; - } - } - } - exit(EXIT_FAILURE); -} - -#if USE_SIGWINCH -static void -sigwinch(int sig GCC_UNUSED) -{ - SCREEN *scan = _nc_screen_chain; - while (scan) { - scan->_sig_winch = TRUE; - scan = scan->_next_screen; - } -} -#endif /* USE_SIGWINCH */ - -/* - * If the given signal is still in its default state, set it to the given - * handler. - */ -static int -CatchIfDefault(int sig, RETSIGTYPE (*handler) (int)) -{ - int result; -#if HAVE_SIGACTION || HAVE_SIGVEC - sigaction_t old_act; - sigaction_t new_act; - - memset(&new_act, 0, sizeof(new_act)); - sigemptyset(&new_act.sa_mask); -#ifdef SA_RESTART -#ifdef SIGWINCH - if (sig != SIGWINCH) -#endif - new_act.sa_flags |= SA_RESTART; -#endif /* SA_RESTART */ - new_act.sa_handler = handler; - - if (sigaction(sig, NULL, &old_act) == 0 - && (old_act.sa_handler == SIG_DFL - || old_act.sa_handler == handler -#if USE_SIGWINCH - || (sig == SIGWINCH && old_act.sa_handler == SIG_IGN) -#endif - )) { - (void) sigaction(sig, &new_act, NULL); - result = TRUE; - } else { - result = FALSE; - } -#else /* !HAVE_SIGACTION */ - RETSIGTYPE (*ohandler) (int); - - ohandler = signal(sig, SIG_IGN); - if (ohandler == SIG_DFL - || ohandler == handler -#if USE_SIGWINCH - || (sig == SIGWINCH && ohandler == SIG_IGN) -#endif - ) { - signal(sig, handler); - result = TRUE; - } else { - signal(sig, ohandler); - result = FALSE; - } -#endif - T(("CatchIfDefault - will %scatch %s", - result ? "" : "not ", signal_name(sig))); - return result; -} - -/* - * This is invoked once at the beginning (e.g., from 'initscr()'), to - * initialize the signal catchers, and thereafter when spawning a shell (and - * returning) to disable/enable the SIGTSTP (i.e., ^Z) catcher. - * - * If the application has already set one of the signals, we'll not modify it - * (during initialization). - * - * The XSI document implies that we shouldn't keep the SIGTSTP handler if - * the caller later changes its mind, but that doesn't seem correct. - */ -NCURSES_EXPORT(void) -_nc_signal_handler(bool enable) -{ - static bool initialized = FALSE; - - T((T_CALLED("_nc_signal_handler(%d)"), enable)); -#if USE_SIGTSTP /* Xenix 2.x doesn't have SIGTSTP, for example */ - { - static bool ignore_tstp = FALSE; - - if (!ignore_tstp) { - static sigaction_t act, oact; - - if (!enable) { - act.sa_handler = SIG_IGN; - sigaction(SIGTSTP, &act, &oact); - } else if (act.sa_handler != SIG_DFL) { - sigaction(SIGTSTP, &oact, NULL); - } else if (sigaction(SIGTSTP, NULL, &oact) == 0 - && (oact.sa_handler == SIG_DFL)) { - sigemptyset(&act.sa_mask); -#ifdef SA_RESTART - act.sa_flags |= SA_RESTART; -#endif /* SA_RESTART */ - act.sa_handler = tstp; - (void) sigaction(SIGTSTP, &act, NULL); - } else { - ignore_tstp = TRUE; - } - } - } -#endif /* !USE_SIGTSTP */ - - if (!initialized) { - if (enable) { - CatchIfDefault(SIGINT, cleanup); - CatchIfDefault(SIGTERM, cleanup); -#if USE_SIGWINCH - CatchIfDefault(SIGWINCH, sigwinch); -#endif - initialized = TRUE; - } - } - returnVoid; -} diff --git a/src/libs/ncurses/ncurses/tty/lib_twait.c b/src/libs/ncurses/ncurses/tty/lib_twait.c deleted file mode 100644 index 303f75b1f9..0000000000 --- a/src/libs/ncurses/ncurses/tty/lib_twait.c +++ /dev/null @@ -1,447 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* -** lib_twait.c -** -** The routine _nc_timed_wait(). -** -** (This file was originally written by Eric Raymond; however except for -** comments, none of the original code remains - T.Dickey). -*/ - -#include - -#if defined(__BEOS__) || defined(__HAIKU__) -#undef false -#undef true -#include -#endif - -#if USE_FUNC_POLL -# if HAVE_SYS_TIME_H -# include -# endif -#elif HAVE_SELECT -# if HAVE_SYS_TIME_H && HAVE_SYS_TIME_SELECT -# include -# endif -# if HAVE_SYS_SELECT_H -# include -# endif -#endif - -MODULE_ID("$Id: lib_twait.c,v 1.50 2004/09/25 22:53:43 tom Exp $") - -static long -_nc_gettime(bool first) -{ - long res; - -#if HAVE_GETTIMEOFDAY -# define PRECISE_GETTIME 1 - static struct timeval t0; - struct timeval t1; - gettimeofday(&t1, (struct timezone *) 0); - if (first) { - t0 = t1; - res = 0; - } else { - /* .tv_sec and .tv_usec are unsigned, be careful when subtracting */ - if (t0.tv_usec > t1.tv_usec) { /* Convert 1s in 1e6 microsecs */ - t1.tv_usec += 1000000; - t1.tv_sec--; - } - res = (t1.tv_sec - t0.tv_sec) * 1000 - + (t1.tv_usec - t0.tv_usec) / 1000; - } -#else -# define PRECISE_GETTIME 0 - static time_t t0; - time_t t1 = time((time_t *) 0); - if (first) { - t0 = t1; - } - res = (t1 - t0) * 1000; -#endif - TR(TRACE_IEVENT, ("%s time: %ld msec", first ? "get" : "elapsed", res)); - return res; -} - -#ifdef NCURSES_WGETCH_EVENTS -NCURSES_EXPORT(int) -_nc_eventlist_timeout(_nc_eventlist * evl) -{ - _nc_event **ev, **last; - int event_delay = -1; - - if (evl != 0) { - - ev = evl->events; - last = ev + evl->count; - - while (ev < last) { - if ((*ev)->type == _NC_EVENT_TIMEOUT_MSEC) { - event_delay = (*ev)->data.timeout_msec; - if (event_delay < 0) - event_delay = LONG_MAX; /* FIXME Is this defined? */ - } - } - } - return event_delay; -} -#endif /* NCURSES_WGETCH_EVENTS */ - -/* - * Wait a specified number of milliseconds, returning nonzero if the timer - * didn't expire before there is activity on the specified file descriptors. - * The file-descriptors are specified by the mode: - * 0 - none (absolute time) - * 1 - ncurses' normal input-descriptor - * 2 - mouse descriptor, if any - * 3 - either input or mouse. - * - * Experimental: if NCURSES_WGETCH_EVENTS is defined, (mode & 4) determines - * whether to pay attention to evl argument. If set, the smallest of - * millisecond and of timeout of evl is taken. - * - * We return a mask that corresponds to the mode (e.g., 2 for mouse activity). - * - * If the milliseconds given are -1, the wait blocks until activity on the - * descriptors. - */ -NCURSES_EXPORT(int) -_nc_timed_wait(int mode, - int milliseconds, - int *timeleft - EVENTLIST_2nd(_nc_eventlist * evl)) -{ - int fd; - int count; - int result; - -#ifdef NCURSES_WGETCH_EVENTS - int timeout_is_event = 0; -#endif - -#if USE_FUNC_POLL - struct pollfd fd_list[2]; - struct pollfd *fds = fd_list; -#elif defined(__BEOS__) && !defined(__HAIKU__) -#elif HAVE_SELECT - static fd_set set; -#endif - - long starttime, returntime; - - TR(TRACE_IEVENT, ("start twait: %d milliseconds, mode: %d", - milliseconds, mode)); - -#ifdef NCURSES_WGETCH_EVENTS - if (mode & 4) { - int event_delay = _nc_eventlist_timeout(evl); - - if (event_delay >= 0 - && (milliseconds >= event_delay || milliseconds < 0)) { - milliseconds = event_delay; - timeout_is_event = 1; - } - } -#endif - -#if PRECISE_GETTIME - retry: -#endif - starttime = _nc_gettime(TRUE); - - count = 0; - -#ifdef NCURSES_WGETCH_EVENTS - if ((mode & 4) && evl) - evl->result_flags = 0; -#endif - -#if USE_FUNC_POLL - memset(fd_list, 0, sizeof(fd_list)); - -#ifdef NCURSES_WGETCH_EVENTS - if ((mode & 4) && evl) - fds = typeMalloc(struct pollfd, 2 + evl->count); -#endif - - if (mode & 1) { - fds[count].fd = SP->_ifd; - fds[count].events = POLLIN; - count++; - } - if ((mode & 2) - && (fd = SP->_mouse_fd) >= 0) { - fds[count].fd = fd; - fds[count].events = POLLIN; - count++; - } -#ifdef NCURSES_WGETCH_EVENTS - if ((mode & 4) && evl) { - _nc_event **ev = evl->events; - _nc_event **last = ev + evl->count; - - while (ev < last) { - if ((*ev)->type == _NC_EVENT_FILE - && ((*ev)->data.fev.flags & _NC_EVENT_FILE_READABLE)) { - fds[count].fd = (*ev)->data.fev.fd; - fds[count].events = POLLIN; - count++; - } - } - } -#endif - - result = poll(fds, (unsigned) count, milliseconds); - -#ifdef NCURSES_WGETCH_EVENTS - if ((mode & 4) && evl) { - _nc_event **ev = evl->events; - _nc_event **last = ev + evl->count; - int c; - - if (!result) - count = 0; - while (ev < last) { - if ((*ev)->type == _NC_EVENT_FILE - && ((*ev)->data.fev.flags & _NC_EVENT_FILE_READABLE)) { - (*ev)->data.fev.result = 0; - for (c = 0; c < count; c++) - if (fds[c].fd == (*ev)->data.fev.fd - && fds[c].revents & POLLIN) { - (*ev)->data.fev.result |= _NC_EVENT_FILE_READABLE; - evl->result_flags |= _NC_EVENT_FILE_READABLE; - } - } else if ((*ev)->type == _NC_EVENT_TIMEOUT_MSEC - && !result && timeout_is_event) { - evl->result_flags |= _NC_EVENT_TIMEOUT_MSEC; - } - } - } - - if (fds != fd_list) - free((char *) fds); - -#endif - -#elif defined(__BEOS__) && !defined(__HAIKU__) - /* - * BeOS's select() is declared in socket.h, so the configure script does - * not see it. That's just as well, since that function works only for - * sockets. This (using snooze and ioctl) was distilled from Be's patch - * for ncurses which uses a separate thread to simulate select(). - * - * FIXME: the return values from the ioctl aren't very clear if we get - * interrupted. - * - * FIXME: this assumes mode&1 if milliseconds < 0 (see lib_getch.c). - */ - result = 0; - if (mode & 1) { - int step = (milliseconds < 0) ? 0 : 5000; - bigtime_t d; - bigtime_t useconds = milliseconds * 1000; - int n, howmany; - - if (useconds <= 0) /* we're here to go _through_ the loop */ - useconds = 1; - - for (d = 0; d < useconds; d += step) { - n = 0; - howmany = ioctl(0, 'ichr', &n); - if (howmany >= 0 && n > 0) { - result = 1; - break; - } - if (useconds > 1 && step > 0) { - snooze(step); - milliseconds -= (step / 1000); - if (milliseconds <= 0) { - milliseconds = 0; - break; - } - } - } - } else if (milliseconds > 0) { - snooze(milliseconds * 1000); - milliseconds = 0; - } -#elif HAVE_SELECT - /* - * select() modifies the fd_set arguments; do this in the - * loop. - */ - FD_ZERO(&set); - - if (mode & 1) { - FD_SET(SP->_ifd, &set); - count = SP->_ifd + 1; - } - if ((mode & 2) - && (fd = SP->_mouse_fd) >= 0) { - FD_SET(fd, &set); - count = max(fd, count) + 1; - } -#ifdef NCURSES_WGETCH_EVENTS - if ((mode & 4) && evl) { - _nc_event **ev = evl->events; - _nc_event **last = ev + evl->count; - - while (ev < last) { - if ((*ev)->type == _NC_EVENT_FILE - && ((*ev)->data.fev.flags & _NC_EVENT_FILE_READABLE)) { - FD_SET((*ev)->data.fev.fd, &set); - count = max((*ev)->data.fev.fd + 1, count); - } - } - } -#endif - - if (milliseconds >= 0) { - struct timeval ntimeout; - ntimeout.tv_sec = milliseconds / 1000; - ntimeout.tv_usec = (milliseconds % 1000) * 1000; - result = select(count, &set, NULL, NULL, &ntimeout); - } else { - result = select(count, &set, NULL, NULL, NULL); - } - -#ifdef NCURSES_WGETCH_EVENTS - if ((mode & 4) && evl) { - _nc_event **ev = evl->events; - _nc_event **last = ev + evl->count; - - evl->result_flags = 0; - while (ev < last) { - if ((*ev)->type == _NC_EVENT_FILE - && ((*ev)->data.fev.flags & _NC_EVENT_FILE_READABLE)) { - (*ev)->data.fev.result = 0; - if (FD_ISSET((*ev)->data.fev.fd, &set)) { - (*ev)->data.fev.result |= _NC_EVENT_FILE_READABLE; - evl->result_flags |= _NC_EVENT_FILE_READABLE; - } - } else if ((*ev)->type == _NC_EVENT_TIMEOUT_MSEC - && !result && timeout_is_event) - evl->result_flags |= _NC_EVENT_TIMEOUT_MSEC; - } - } -#endif - -#endif /* USE_FUNC_POLL, etc */ - - returntime = _nc_gettime(FALSE); - - if (milliseconds >= 0) - milliseconds -= (returntime - starttime); - -#ifdef NCURSES_WGETCH_EVENTS - if (evl) { - _nc_event **ev = evl->events; - _nc_event **last = ev + evl->count; - - evl->result_flags = 0; - while (ev < last) { - if ((*ev)->type == _NC_EVENT_TIMEOUT_MSEC) { - long diff = (returntime - starttime); - if ((*ev)->data.timeout_msec <= diff) - (*ev)->data.timeout_msec = 0; - else - (*ev)->data.timeout_msec -= diff; - } - - } - } -#endif - -#if PRECISE_GETTIME && HAVE_NANOSLEEP - /* - * If the timeout hasn't expired, and we've gotten no data, - * this is probably a system where 'select()' needs to be left - * alone so that it can complete. Make this process sleep, - * then come back for more. - */ - if (result == 0 && milliseconds > 100) { - napms(100); /* FIXME: this won't be right if I recur! */ - milliseconds -= 100; - goto retry; - } -#endif - - /* return approximate time left in milliseconds */ - if (timeleft) - *timeleft = milliseconds; - - TR(TRACE_IEVENT, ("end twait: returned %d (%d), remaining time %d msec", - result, errno, milliseconds)); - - /* - * Both 'poll()' and 'select()' return the number of file descriptors - * that are active. Translate this back to the mask that denotes which - * file-descriptors, so that we don't need all of this system-specific - * code everywhere. - */ - if (result != 0) { - if (result > 0) { - result = 0; -#if USE_FUNC_POLL - for (count = 0; count < 2; count++) { - if ((mode & (1 << count)) - && (fds[count].revents & POLLIN)) { - result |= (1 << count); - } - } -#elif defined(__BEOS__) && !defined(__HAIKU__) - result = 1; /* redundant, but simple */ -#elif HAVE_SELECT - if ((mode & 2) - && (fd = SP->_mouse_fd) >= 0 - && FD_ISSET(fd, &set)) - result |= 2; - if ((mode & 1) - && FD_ISSET(SP->_ifd, &set)) - result |= 1; -#endif - } else - result = 0; - } -#ifdef NCURSES_WGETCH_EVENTS - if ((mode & 4) && evl && evl->result_flags) - result |= 4; -#endif - - return (result); -} diff --git a/src/libs/ncurses/ncurses/tty/lib_vidattr.c b/src/libs/ncurses/ncurses/tty/lib_vidattr.c deleted file mode 100644 index afcc79718c..0000000000 --- a/src/libs/ncurses/ncurses/tty/lib_vidattr.c +++ /dev/null @@ -1,300 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996 on * - ****************************************************************************/ - -/* - * vidputs(newmode, outc) - * - * newmode is taken to be the logical 'or' of the symbols in curses.h - * representing graphic renditions. The terminal is set to be in all of - * the given modes, if possible. - * - * if the new attribute is normal - * if exit-alt-char-set exists - * emit it - * emit exit-attribute-mode - * else if set-attributes exists - * use it to set exactly what you want - * else - * if exit-attribute-mode exists - * turn off everything - * else - * turn off those which can be turned off and aren't in - * newmode. - * turn on each mode which should be on and isn't, one by one - * - * NOTE that this algorithm won't achieve the desired mix of attributes - * in some cases, but those are probably just those cases in which it is - * actually impossible, anyway, so... - * - * NOTE that we cannot assume that there's no interaction between color - * and other attribute resets. So each time we reset color (or other - * attributes) we'll have to be prepared to restore the other. - */ - -#include -#include - -MODULE_ID("$Id: lib_vidattr.c,v 1.44 2005/01/22 22:15:44 tom Exp $") - -#define doPut(mode) TPUTS_TRACE(#mode); tputs(mode, 1, outc) - -#define TurnOn(mask,mode) \ - if ((turn_on & mask) && mode) { doPut(mode); } - -#define TurnOff(mask,mode) \ - if ((turn_off & mask) && mode) { doPut(mode); turn_off &= ~mask; } - - /* if there is no current screen, assume we *can* do color */ -#define SetColorsIf(why,old_attr) \ - if (can_color && (why)) { \ - int old_pair = PAIR_NUMBER(old_attr); \ - TR(TRACE_ATTRS, ("old pair = %d -- new pair = %d", old_pair, pair)); \ - if ((pair != old_pair) \ - || (fix_pair0 && (pair == 0)) \ - || (reverse ^ ((old_attr & A_REVERSE) != 0))) { \ - _nc_do_color(old_pair, pair, reverse, outc); \ - } \ - } - -NCURSES_EXPORT(int) -vidputs(chtype newmode, int (*outc) (int)) -{ - static attr_t previous_attr = A_NORMAL; - attr_t turn_on, turn_off; - int pair; - bool reverse = FALSE; - bool can_color = (SP == 0 || SP->_coloron); -#if NCURSES_EXT_FUNCS - bool fix_pair0 = (SP != 0 && SP->_coloron && !SP->_default_color); -#else -#define fix_pair0 FALSE -#endif - - T((T_CALLED("vidputs(%s)"), _traceattr(newmode))); - - /* this allows us to go on whether or not newterm() has been called */ - if (SP) - previous_attr = AttrOf(SCREEN_ATTRS(SP)); - - TR(TRACE_ATTRS, ("previous attribute was %s", _traceattr(previous_attr))); - -#if !USE_XMC_SUPPORT - if ((SP != 0) - && (magic_cookie_glitch > 0)) - newmode &= ~(SP->_xmc_suppress); -#endif - - /* - * If we have a terminal that cannot combine color with video - * attributes, use the colors in preference. - */ - if (((newmode & A_COLOR) != 0 - || fix_pair0) - && (no_color_video > 0)) { - /* - * If we had chosen the A_xxx definitions to correspond to the - * no_color_video mask, we could simply shift it up and mask off the - * attributes. But we did not (actually copied Solaris' definitions). - * However, this is still simpler/faster than a lookup table. - * - * The 63 corresponds to A_STANDOUT, A_UNDERLINE, A_REVERSE, A_BLINK, - * A_DIM, A_BOLD which are 1:1 with no_color_video. The bits that - * correspond to A_INVIS, A_PROTECT (192) must be shifted up 1 and - * A_ALTCHARSET (256) down 2 to line up. We use the NCURSES_BITS - * macro so this will work properly for the wide-character layout. - */ - unsigned value = no_color_video; - attr_t mask = NCURSES_BITS((value & 63) - | ((value & 192) << 1) - | ((value & 256) >> 2), 8); - - if ((mask & A_REVERSE) != 0 - && (newmode & A_REVERSE) != 0) { - reverse = TRUE; - mask &= ~A_REVERSE; - } - newmode &= ~mask; - } - - if (newmode == previous_attr) - returnCode(OK); - - pair = PAIR_NUMBER(newmode); - - if (reverse) { - newmode &= ~A_REVERSE; - } - - turn_off = (~newmode & previous_attr) & ALL_BUT_COLOR; - turn_on = (newmode & ~previous_attr) & ALL_BUT_COLOR; - - SetColorsIf(((pair == 0) && !fix_pair0), previous_attr); - - if (newmode == A_NORMAL) { - if ((previous_attr & A_ALTCHARSET) && exit_alt_charset_mode) { - doPut(exit_alt_charset_mode); - previous_attr &= ~A_ALTCHARSET; - } - if (previous_attr) { - if (exit_attribute_mode) { - doPut(exit_attribute_mode); - } else { - if (!SP || SP->_use_rmul) { - TurnOff(A_UNDERLINE, exit_underline_mode); - } - if (!SP || SP->_use_rmso) { - TurnOff(A_STANDOUT, exit_standout_mode); - } - } - previous_attr &= ALL_BUT_COLOR; - } - - SetColorsIf((pair != 0) || fix_pair0, previous_attr); - } else if (set_attributes) { - if (turn_on || turn_off) { - TPUTS_TRACE("set_attributes"); - tputs(tparm(set_attributes, - (newmode & A_STANDOUT) != 0, - (newmode & A_UNDERLINE) != 0, - (newmode & A_REVERSE) != 0, - (newmode & A_BLINK) != 0, - (newmode & A_DIM) != 0, - (newmode & A_BOLD) != 0, - (newmode & A_INVIS) != 0, - (newmode & A_PROTECT) != 0, - (newmode & A_ALTCHARSET) != 0), 1, outc); - previous_attr &= ALL_BUT_COLOR; - } - SetColorsIf((pair != 0) || fix_pair0, previous_attr); - } else { - - TR(TRACE_ATTRS, ("turning %s off", _traceattr(turn_off))); - - TurnOff(A_ALTCHARSET, exit_alt_charset_mode); - - if (!SP || SP->_use_rmul) { - TurnOff(A_UNDERLINE, exit_underline_mode); - } - - if (!SP || SP->_use_rmso) { - TurnOff(A_STANDOUT, exit_standout_mode); - } - - if (turn_off && exit_attribute_mode) { - doPut(exit_attribute_mode); - turn_on |= (newmode & ALL_BUT_COLOR); - previous_attr &= ALL_BUT_COLOR; - } - SetColorsIf((pair != 0) || fix_pair0, previous_attr); - - TR(TRACE_ATTRS, ("turning %s on", _traceattr(turn_on))); - /* *INDENT-OFF* */ - TurnOn(A_ALTCHARSET, enter_alt_charset_mode); - TurnOn(A_BLINK, enter_blink_mode); - TurnOn(A_BOLD, enter_bold_mode); - TurnOn(A_DIM, enter_dim_mode); - TurnOn(A_REVERSE, enter_reverse_mode); - TurnOn(A_STANDOUT, enter_standout_mode); - TurnOn(A_PROTECT, enter_protected_mode); - TurnOn(A_INVIS, enter_secure_mode); - TurnOn(A_UNDERLINE, enter_underline_mode); -#if USE_WIDEC_SUPPORT - TurnOn(A_HORIZONTAL, enter_horizontal_hl_mode); - TurnOn(A_LEFT, enter_left_hl_mode); - TurnOn(A_LOW, enter_low_hl_mode); - TurnOn(A_RIGHT, enter_right_hl_mode); - TurnOn(A_TOP, enter_top_hl_mode); - TurnOn(A_VERTICAL, enter_vertical_hl_mode); -#endif - /* *INDENT-ON* */ - - } - - if (reverse) - newmode |= A_REVERSE; - - if (SP) - SetAttr(SCREEN_ATTRS(SP), newmode); - else - previous_attr = newmode; - - returnCode(OK); -} - -NCURSES_EXPORT(int) -vidattr(chtype newmode) -{ - T((T_CALLED("vidattr(%s)"), _traceattr(newmode))); - - returnCode(vidputs(newmode, _nc_outch)); -} - -NCURSES_EXPORT(chtype) -termattrs(void) -{ - chtype attrs = A_NORMAL; - - T((T_CALLED("termattrs()"))); - if (enter_alt_charset_mode) - attrs |= A_ALTCHARSET; - - if (enter_blink_mode) - attrs |= A_BLINK; - - if (enter_bold_mode) - attrs |= A_BOLD; - - if (enter_dim_mode) - attrs |= A_DIM; - - if (enter_reverse_mode) - attrs |= A_REVERSE; - - if (enter_standout_mode) - attrs |= A_STANDOUT; - - if (enter_protected_mode) - attrs |= A_PROTECT; - - if (enter_secure_mode) - attrs |= A_INVIS; - - if (enter_underline_mode) - attrs |= A_UNDERLINE; - - if (SP->_coloron) - attrs |= A_COLOR; - - returnChar(attrs); -} diff --git a/src/libs/ncurses/ncurses/tty/tty_display.h b/src/libs/ncurses/ncurses/tty/tty_display.h deleted file mode 100644 index 4c45a08450..0000000000 --- a/src/libs/ncurses/ncurses/tty/tty_display.h +++ /dev/null @@ -1,140 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ************************************************************************** */ - -#ifndef TTY_DISPLAY_H -#define TTY_DISPLAY_H 1 - -/* - * $Id: tty_display.h,v 1.6 2005/01/01 23:41:12 tom Exp $ - */ -extern NCURSES_EXPORT(bool) _nc_tty_beep (void); -extern NCURSES_EXPORT(bool) _nc_tty_check_resize (void); -extern NCURSES_EXPORT(bool) _nc_tty_cursor (int); -extern NCURSES_EXPORT(bool) _nc_tty_flash (void); -extern NCURSES_EXPORT(bool) _nc_tty_init_color (int,int,int,int); -extern NCURSES_EXPORT(bool) _nc_tty_init_pair (int,int,int); -extern NCURSES_EXPORT(bool) _nc_tty_slk_hide (bool); -extern NCURSES_EXPORT(bool) _nc_tty_slk_update (int,const char *); -extern NCURSES_EXPORT(bool) _nc_tty_start_color (void); -extern NCURSES_EXPORT(void) _nc_tty_display_resume (void); -extern NCURSES_EXPORT(void) _nc_tty_display_suspend (void); -extern NCURSES_EXPORT(void) _nc_tty_dispose (void); /* frees SP->_term */ -extern NCURSES_EXPORT(void) _nc_tty_switch_to (void); -extern NCURSES_EXPORT(void) _nc_tty_update (void); - -struct tty_display_data { - int _fifohold; /* set if breakout marked */ - unsigned long _current_attr; /* terminal attribute current set */ - int _cursrow; /* physical cursor row (-1=unknown) */ - int _curscol; /* physical cursor column */ - - /* cursor movement costs; units are 10ths of milliseconds */ - int _char_padding; /* cost of character put */ - int _cr_cost; /* cost of (carriage_return) */ - int _cup_cost; /* cost of (cursor_address) */ - int _home_cost; /* cost of (cursor_home) */ - int _ll_cost; /* cost of (cursor_to_ll) */ -#if USE_HARD_TABS - int _ht_cost; /* cost of (tab) */ - int _cbt_cost; /* cost of (backtab) */ -#endif /* USE_HARD_TABS */ - int _cub1_cost; /* cost of (cursor_left) */ - int _cuf1_cost; /* cost of (cursor_right) */ - int _cud1_cost; /* cost of (cursor_down) */ - int _cuu1_cost; /* cost of (cursor_up) */ - int _cub_cost; /* cost of (parm_cursor_left) */ - int _cuf_cost; /* cost of (parm_cursor_right) */ - int _cud_cost; /* cost of (parm_cursor_down) */ - int _cuu_cost; /* cost of (parm_cursor_up) */ - int _hpa_cost; /* cost of (column_address) */ - int _vpa_cost; /* cost of (row_address) */ - /* used in lib_doupdate.c, must be chars */ - int _ed_cost; /* cost of (clr_eos) */ - int _el_cost; /* cost of (clr_eol) */ - int _el1_cost; /* cost of (clr_bol) */ - int _dch1_cost; /* cost of (delete_character) */ - int _ich1_cost; /* cost of (insert_character) */ - int _dch_cost; /* cost of (parm_dch) */ - int _ich_cost; /* cost of (parm_ich) */ - int _ech_cost; /* cost of (erase_chars) */ - int _rep_cost; /* cost of (repeat_char) */ - int _hpa_ch_cost; /* cost of (column_address) */ - int _cup_ch_cost; /* cost of (cursor_address) */ - int _smir_cost; /* cost of (enter_insert_mode) */ - int _rmir_cost; /* cost of (exit_insert_mode) */ - int _ip_cost; /* cost of (insert_padding) */ - /* used in lib_mvcur.c */ - char * _address_cursor; - int _carriage_return_length; - int _cursor_home_length; - int _cursor_to_ll_length; - - chtype _xmc_suppress; /* attributes to suppress if xmc */ - chtype _xmc_triggers; /* attributes to process if xmc */ - - bool _sig_winch; -}; - - -#define DelCharCost(count) \ - ((parm_dch != 0) \ - ? D->_dch_cost \ - : ((delete_character != 0) \ - ? (D->_dch1_cost * count) \ - : INFINITY)) - -#define InsCharCost(count) \ - ((parm_ich != 0) \ - ? D->_ich_cost \ - : ((enter_insert_mode && exit_insert_mode) \ - ? D->_smir_cost + D->_rmir_cost + (D->_ip_cost * count) \ - : ((insert_character != 0) \ - ? ((D->_ich1_cost + D->_ip_cost) * count) \ - : INFINITY))) - -#if USE_XMC_SUPPORT -#define UpdateAttrs(c) if (!SameAttrOf(D->_current_attr, AttrOf(c))) { \ - attr_t chg = D->_current_attr; \ - vidattr(AttrOf(c)); \ - if (magic_cookie_glitch > 0 \ - && XMC_CHANGES((chg ^ D->_current_attr))) { \ - T(("%s @%d before glitch %d,%d", \ - __FILE__, __LINE__, \ - D->_cursrow, \ - D->_curscol)); \ - _nc_do_xmc_glitch(chg); \ - } \ - } -#else -#define UpdateAttrs(c) if (!SameAttrOf(D->_current_attr, AttrOf(c))) \ - vidattr(AttrOf(c)); -#endif - -#define XMC_CHANGES(c) ((c) & D->_xmc_suppress) - -#endif /* TTY_DISPLAY_H */ diff --git a/src/libs/ncurses/ncurses/tty/tty_input.h b/src/libs/ncurses/ncurses/tty/tty_input.h deleted file mode 100644 index e520793eea..0000000000 --- a/src/libs/ncurses/ncurses/tty/tty_input.h +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/* - * $Id: tty_input.h,v 1.2 2000/12/10 02:26:51 tom Exp $ - */ - -#ifndef TTY_INPUT_H -#define TTY_INPUT_H 1 - -extern NCURSES_EXPORT(bool) _nc_tty_mouse_mask (mmask_t); -extern NCURSES_EXPORT(bool) _nc_tty_pending (void); -extern NCURSES_EXPORT(int) _nc_tty_next_event (int); -extern NCURSES_EXPORT(void) _nc_tty_flags_changed (void); -extern NCURSES_EXPORT(void) _nc_tty_flush (void); -extern NCURSES_EXPORT(void) _nc_tty_input_resume (void); -extern NCURSES_EXPORT(void) _nc_tty_input_suspend (void); - -struct tty_input_data { - int _ifd; /* input file ptr for screen */ - int _keypad_xmit; /* current terminal state */ - int _meta_on; /* current terminal state */ - - /* - * These are the data that support the mouse interface. - */ - bool (*_mouse_event) (SCREEN *); - bool (*_mouse_inline)(SCREEN *); - bool (*_mouse_parse) (int); - void (*_mouse_resume)(SCREEN *); - void (*_mouse_wrap) (SCREEN *); - int _mouse_fd; /* file-descriptor, if any */ - int mousetype; -}; - -#endif /* TTY_INPUT_H */ diff --git a/src/libs/ncurses/ncurses/tty/tty_update.c b/src/libs/ncurses/ncurses/tty/tty_update.c deleted file mode 100644 index 7969f72e90..0000000000 --- a/src/libs/ncurses/ncurses/tty/tty_update.c +++ /dev/null @@ -1,1906 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/*----------------------------------------------------------------- - * - * lib_doupdate.c - * - * The routine doupdate() and its dependents. - * All physical output is concentrated here (except _nc_outch() - * in lib_tputs.c). - * - *-----------------------------------------------------------------*/ - -#include - -#ifdef __BEOS__ -#undef false -#undef true -#include -#endif - -#if defined(TRACE) && HAVE_SYS_TIMES_H && HAVE_TIMES -#define USE_TRACE_TIMES 1 -#else -#define USE_TRACE_TIMES 0 -#endif - -#if HAVE_SYS_TIME_H && HAVE_SYS_TIME_SELECT -#include -#endif - -#if USE_TRACE_TIMES -#include -#endif - -#if USE_FUNC_POLL -#elif HAVE_SELECT -#if HAVE_SYS_SELECT_H -#include -#endif -#endif - -#include -#include - -MODULE_ID("$Id: tty_update.c,v 1.220 2005/08/13 17:12:32 tom Exp $") - -/* - * This define controls the line-breakout optimization. Every once in a - * while during screen refresh, we want to check for input and abort the - * update if there's some waiting. CHECK_INTERVAL controls the number of - * changed lines to be emitted between input checks. - * - * Note: Input-check-and-abort is no longer done if the screen is being - * updated from scratch. This is a feature, not a bug. - */ -#define CHECK_INTERVAL 5 - -#define FILL_BCE() (SP->_coloron && !SP->_default_color && !back_color_erase) - -static const NCURSES_CH_T normal = NewChar2(BLANK_TEXT, BLANK_ATTR); - -/* - * Enable checking to see if doupdate and friends are tracking the true - * cursor position correctly. NOTE: this is a debugging hack which will - * work ONLY on ANSI-compatible terminals! - */ -/* #define POSITION_DEBUG */ - -static inline NCURSES_CH_T ClrBlank(WINDOW *win); -static int ClrBottom(int total); -static void ClearScreen(NCURSES_CH_T blank); -static void ClrUpdate(void); -static void DelChar(int count); -static void InsStr(NCURSES_CH_T * line, int count); -static void TransformLine(int const lineno); - -#ifdef POSITION_DEBUG -/**************************************************************************** - * - * Debugging code. Only works on ANSI-standard terminals. - * - ****************************************************************************/ - -static void -position_check(int expected_y, int expected_x, char *legend) -/* check to see if the real cursor position matches the virtual */ -{ - char buf[20]; - char *s; - int y, x; - - if (!_nc_tracing || (expected_y < 0 && expected_x < 0)) - return; - - _nc_flush(); - memset(buf, '\0', sizeof(buf)); - putp("\033[6n"); /* only works on ANSI-compatibles */ - _nc_flush(); - *(s = buf) = 0; - do { - int ask = sizeof(buf) - 1 - (s - buf); - int got = read(0, s, ask); - if (got == 0) - break; - s += got; - } while (strchr(buf, 'R') == 0); - _tracef("probe returned %s", _nc_visbuf(buf)); - - /* try to interpret as a position report */ - if (sscanf(buf, "\033[%d;%dR", &y, &x) != 2) { - _tracef("position probe failed in %s", legend); - } else { - if (expected_x < 0) - expected_x = x - 1; - if (expected_y < 0) - expected_y = y - 1; - if (y - 1 != expected_y || x - 1 != expected_x) { - beep(); - tputs(tparm("\033[%d;%dH", expected_y + 1, expected_x + 1), 1, _nc_outch); - _tracef("position seen (%d, %d) doesn't match expected one (%d, %d) in %s", - y - 1, x - 1, expected_y, expected_x, legend); - } else { - _tracef("position matches OK in %s", legend); - } - } -} -#else -#define position_check(expected_y, expected_x, legend) /* nothing */ -#endif /* POSITION_DEBUG */ - -/**************************************************************************** - * - * Optimized update code - * - ****************************************************************************/ - -static inline void -GoTo(int const row, int const col) -{ - TR(TRACE_MOVE, ("GoTo(%d, %d) from (%d, %d)", - row, col, SP->_cursrow, SP->_curscol)); - - position_check(SP->_cursrow, SP->_curscol, "GoTo"); - - mvcur(SP->_cursrow, SP->_curscol, row, col); - position_check(SP->_cursrow, SP->_curscol, "GoTo2"); -} - -static inline void -PutAttrChar(CARG_CH_T ch) -{ - int chlen = 1; - NCURSES_CH_T my_ch; - PUTC_DATA; - NCURSES_CH_T tilde; - NCURSES_CH_T attr = CHDEREF(ch); - - TR(TRACE_CHARPUT, ("PutAttrChar(%s) at (%d, %d)", - _tracech_t(ch), - SP->_cursrow, SP->_curscol)); -#if USE_WIDEC_SUPPORT - /* - * If this is not a valid character, there is nothing more to do. - */ - if (isWidecExt(CHDEREF(ch))) { - TR(TRACE_CHARPUT, ("...skip")); - return; - } - /* - * Determine the number of character cells which the 'ch' value will use - * on the screen. It should be at least one. - */ - if ((chlen = wcwidth(CharOf(CHDEREF(ch)))) <= 0) { - static NCURSES_CH_T blank = NewChar(BLANK_TEXT); - - if (is8bits(CharOf(CHDEREF(ch))) - && (isprint(CharOf(CHDEREF(ch))) - || (SP->_legacy_coding && CharOf(CHDEREF(ch)) >= 160))) { - ; - } else { - ch = CHREF(blank); - TR(TRACE_CHARPUT, ("forced to blank")); - } - chlen = 1; - } -#endif - - if ((AttrOf(attr) & A_ALTCHARSET) - && SP->_acs_map != 0 - && CharOfD(ch) < ACS_LEN) { - my_ch = CHDEREF(ch); /* work around const param */ -#if USE_WIDEC_SUPPORT - /* - * This is crude & ugly, but works most of the time. It checks if the - * acs_chars string specified that we have a mapping for this - * character, and uses the wide-character mapping when we expect the - * normal one to be broken (by mis-design ;-). - */ - if (SP->_screen_acs_fix - && SP->_screen_acs_map[CharOf(my_ch)]) { - RemAttr(attr, A_ALTCHARSET); - my_ch = _nc_wacs[CharOf(my_ch)]; - } -#endif - /* - * If we (still) have alternate character set, it is the normal 8bit - * flavor. The _screen_acs_map[] array tells if the character was - * really in acs_chars, needed because of the way wide/normal line - * drawing flavors are integrated. - */ - if (AttrOf(attr) & A_ALTCHARSET) { - int j = CharOfD(ch); - chtype temp = UChar(SP->_acs_map[j]); - - if (!(SP->_screen_acs_map[j])) - RemAttr(attr, A_ALTCHARSET); - if (temp != 0) - SetChar(my_ch, temp, AttrOf(attr)); - } - ch = CHREF(my_ch); - } - if (tilde_glitch && (CharOfD(ch) == L('~'))) { - SetChar(tilde, L('`'), AttrOf(attr)); - ch = CHREF(tilde); - } - - UpdateAttrs(attr); -#if !USE_WIDEC_SUPPORT - /* FIXME - we do this special case for signal handling, should see how to - * make it work for wide characters. - */ - if (SP->_outch != 0) { - SP->_outch(UChar(ch)); - } else -#endif - { - PUTC(CHDEREF(ch), SP->_ofp); /* macro's fastest... */ - TRACE_OUTCHARS(1); - } - SP->_curscol += chlen; - if (char_padding) { - TPUTS_TRACE("char_padding"); - putp(char_padding); - } -} - -static bool -check_pending(void) -/* check for pending input */ -{ - bool have_pending = FALSE; - - /* - * Only carry out this check when the flag is zero, otherwise we'll - * have the refreshing slow down drastically (or stop) if there's an - * unread character available. - */ - if (SP->_fifohold != 0) - return FALSE; - - if (SP->_checkfd >= 0) { -#if USE_FUNC_POLL - struct pollfd fds[1]; - fds[0].fd = SP->_checkfd; - fds[0].events = POLLIN; - if (poll(fds, 1, 0) > 0) { - have_pending = TRUE; - } -#elif defined(__BEOS__) && !defined(__HAIKU__) - /* - * BeOS's select() is declared in socket.h, so the configure script does - * not see it. That's just as well, since that function works only for - * sockets. This (using snooze and ioctl) was distilled from Be's patch - * for ncurses which uses a separate thread to simulate select(). - * - * FIXME: the return values from the ioctl aren't very clear if we get - * interrupted. - */ - int n = 0; - int howmany = ioctl(0, 'ichr', &n); - if (howmany >= 0 && n > 0) { - have_pending = TRUE; - } -#elif HAVE_SELECT - fd_set fdset; - struct timeval ktimeout; - - ktimeout.tv_sec = - ktimeout.tv_usec = 0; - - FD_ZERO(&fdset); - FD_SET(SP->_checkfd, &fdset); - if (select(SP->_checkfd + 1, &fdset, NULL, NULL, &ktimeout) != 0) { - have_pending = TRUE; - } -#endif - } - if (have_pending) { - SP->_fifohold = 5; - _nc_flush(); - } - return FALSE; -} - -/* put char at lower right corner */ -static void -PutCharLR(const ARG_CH_T ch) -{ - if (!auto_right_margin) { - /* we can put the char directly */ - PutAttrChar(ch); - } else if (enter_am_mode && exit_am_mode) { - /* we can suppress automargin */ - TPUTS_TRACE("exit_am_mode"); - putp(exit_am_mode); - - PutAttrChar(ch); - SP->_curscol--; - position_check(SP->_cursrow, SP->_curscol, "exit_am_mode"); - - TPUTS_TRACE("enter_am_mode"); - putp(enter_am_mode); - } else if ((enter_insert_mode && exit_insert_mode) - || insert_character || parm_ich) { - GoTo(screen_lines - 1, screen_columns - 2); - PutAttrChar(ch); - GoTo(screen_lines - 1, screen_columns - 2); - InsStr(newscr->_line[screen_lines - 1].text + screen_columns - 2, 1); - } -} - -static void -wrap_cursor(void) -{ - if (eat_newline_glitch) { - /* - * xenl can manifest two different ways. The vt100 - * way is that, when you'd expect the cursor to wrap, - * it stays hung at the right margin (on top of the - * character just emitted) and doesn't wrap until the - * *next* graphic char is emitted. The c100 way is - * to ignore LF received just after an am wrap. - * - * An aggressive way to handle this would be to - * emit CR/LF after the char and then assume the wrap - * is done, you're on the first position of the next - * line, and the terminal out of its weird state. - * Here it's safe to just tell the code that the - * cursor is in hyperspace and let the next mvcur() - * call straighten things out. - */ - SP->_curscol = -1; - SP->_cursrow = -1; - } else if (auto_right_margin) { - SP->_curscol = 0; - SP->_cursrow++; - } else { - SP->_curscol--; - } - position_check(SP->_cursrow, SP->_curscol, "wrap_cursor"); -} - -static inline void -PutChar(const ARG_CH_T ch) -/* insert character, handling automargin stuff */ -{ - if (SP->_cursrow == screen_lines - 1 && SP->_curscol == screen_columns - 1) - PutCharLR(ch); - else - PutAttrChar(ch); - - if (SP->_curscol >= screen_columns) - wrap_cursor(); - - position_check(SP->_cursrow, SP->_curscol, "PutChar"); -} - -/* - * Check whether the given character can be output by clearing commands. This - * includes test for being a space and not including any 'bad' attributes, such - * as A_REVERSE. All attribute flags which don't affect appearance of a space - * or can be output by clearing (A_COLOR in case of bce-terminal) are excluded. - */ -static inline bool -can_clear_with(ARG_CH_T ch) -{ - if (!back_color_erase && SP->_coloron) { -#if NCURSES_EXT_FUNCS - int pair; - - if (!SP->_default_color) - return FALSE; - if (SP->_default_fg != C_MASK || SP->_default_bg != C_MASK) - return FALSE; - if ((pair = GetPair(CHDEREF(ch))) != 0) { - short fg, bg; - pair_content(pair, &fg, &bg); - if (fg != C_MASK || bg != C_MASK) - return FALSE; - } -#else - if (AttrOfD(ch) & A_COLOR) - return FALSE; -#endif - } - return (ISBLANK(CHDEREF(ch)) && - (AttrOfD(ch) & ~(NONBLANK_ATTR | A_COLOR)) == BLANK_ATTR); -} - -/* - * Issue a given span of characters from an array. - * Must be functionally equivalent to: - * for (i = 0; i < num; i++) - * PutChar(ntext[i]); - * but can leave the cursor positioned at the middle of the interval. - * - * Returns: 0 - cursor is at the end of interval - * 1 - cursor is somewhere in the middle - * - * This code is optimized using ech and rep. - */ -static int -EmitRange(const NCURSES_CH_T * ntext, int num) -{ - int i; - - if (erase_chars || repeat_char) { - while (num > 0) { - int runcount; - NCURSES_CH_T ntext0; - - while (num > 1 && !CharEq(ntext[0], ntext[1])) { - PutChar(CHREF(ntext[0])); - ntext++; - num--; - } - ntext0 = ntext[0]; - if (num == 1) { - PutChar(CHREF(ntext0)); - return 0; - } - runcount = 2; - - while (runcount < num && CharEq(ntext[runcount], ntext0)) - runcount++; - - /* - * The cost expression in the middle isn't exactly right. - * _cup_ch_cost is an upper bound on the cost for moving to the - * end of the erased area, but not the cost itself (which we - * can't compute without emitting the move). This may result - * in erase_chars not getting used in some situations for - * which it would be marginally advantageous. - */ - if (erase_chars - && runcount > SP->_ech_cost + SP->_cup_ch_cost - && can_clear_with(CHREF(ntext0))) { - UpdateAttrs(ntext0); - putp(tparm(erase_chars, runcount)); - - /* - * If this is the last part of the given interval, - * don't bother moving cursor, since it can be the - * last update on the line. - */ - if (runcount < num) { - GoTo(SP->_cursrow, SP->_curscol + runcount); - } else { - return 1; /* cursor stays in the middle */ - } - } else if (repeat_char && runcount > SP->_rep_cost) { - bool wrap_possible = (SP->_curscol + runcount >= screen_columns); - int rep_count = runcount; - - if (wrap_possible) - rep_count--; - - UpdateAttrs(ntext0); - tputs(tparm(repeat_char, CharOf(ntext0), rep_count), - rep_count, _nc_outch); - SP->_curscol += rep_count; - - if (wrap_possible) - PutChar(CHREF(ntext0)); - } else { - for (i = 0; i < runcount; i++) - PutChar(CHREF(ntext[i])); - } - ntext += runcount; - num -= runcount; - } - return 0; - } - - for (i = 0; i < num; i++) - PutChar(CHREF(ntext[i])); - return 0; -} - -/* - * Output the line in the given range [first .. last] - * - * If there's a run of identical characters that's long enough to justify - * cursor movement, use that also. - * - * Returns: same as EmitRange - */ -static int -PutRange(const NCURSES_CH_T * otext, - const NCURSES_CH_T * ntext, - int row, - int first, int last) -{ - int i, j, same; - - TR(TRACE_CHARPUT, ("PutRange(%p, %p, %d, %d, %d)", - otext, ntext, row, first, last)); - - if (otext != ntext - && (last - first + 1) > SP->_inline_cost) { - for (j = first, same = 0; j <= last; j++) { - if (!same && isWidecExt(otext[j])) - continue; - if (CharEq(otext[j], ntext[j])) { - same++; - } else { - if (same > SP->_inline_cost) { - EmitRange(ntext + first, j - same - first); - GoTo(row, first = j); - } - same = 0; - } - } - i = EmitRange(ntext + first, j - same - first); - /* - * Always return 1 for the next GoTo() after a PutRange() if we found - * identical characters at end of interval - */ - return (same == 0 ? i : 1); - } - return EmitRange(ntext + first, last - first + 1); -} - -/* leave unbracketed here so 'indent' works */ -#define MARK_NOCHANGE(win,row) \ - win->_line[row].firstchar = _NOCHANGE; \ - win->_line[row].lastchar = _NOCHANGE; \ - if_USE_SCROLL_HINTS(win->_line[row].oldindex = row) - -NCURSES_EXPORT(int) -doupdate(void) -{ - int i; - int nonempty; -#if USE_TRACE_TIMES - struct tms before, after; -#endif /* USE_TRACE_TIMES */ - - T((T_CALLED("doupdate()"))); - -#ifdef TRACE - if (_nc_tracing & TRACE_UPDATE) { - if (curscr->_clear) - _tracef("curscr is clear"); - else - _tracedump("curscr", curscr); - _tracedump("newscr", newscr); - } -#endif /* TRACE */ - - _nc_signal_handler(FALSE); - - if (SP->_fifohold) - SP->_fifohold--; - -#if USE_SIZECHANGE - if (SP->_endwin || SP->_sig_winch) { - /* - * This is a transparent extension: XSI does not address it, - * and applications need not know that ncurses can do it. - * - * Check if the terminal size has changed while curses was off - * (this can happen in an xterm, for example), and resize the - * ncurses data structures accordingly. - */ - _nc_update_screensize(); - } -#endif - - if (SP->_endwin) { - - T(("coming back from shell mode")); - reset_prog_mode(); - - _nc_mvcur_resume(); - _nc_screen_resume(); - SP->_mouse_resume(SP); - - SP->_endwin = FALSE; - } -#if USE_TRACE_TIMES - /* zero the metering machinery */ - _nc_outchars = 0; - (void) times(&before); -#endif /* USE_TRACE_TIMES */ - - /* - * This is the support for magic-cookie terminals. The - * theory: we scan the virtual screen looking for attribute - * turnons. Where we find one, check to make sure it's - * realizable by seeing if the required number of - * un-attributed blanks are present before and after the - * attributed range; try to shift the range boundaries over - * blanks (not changing the screen display) so this becomes - * true. If it is, shift the beginning attribute change - * appropriately (the end one, if we've gotten this far, is - * guaranteed room for its cookie). If not, nuke the added - * attributes out of the span. - */ -#if USE_XMC_SUPPORT - if (magic_cookie_glitch > 0) { - int j, k; - attr_t rattr = A_NORMAL; - - for (i = 0; i < screen_lines; i++) { - for (j = 0; j < screen_columns; j++) { - bool failed = FALSE; - attr_t turnon = AttrOf(newscr->_line[i].text[j]) & ~rattr; - - /* is an attribute turned on here? */ - if (turnon == 0) { - rattr = AttrOf(newscr->_line[i].text[j]); - continue; - } - - TR(TRACE_ATTRS, ("At (%d, %d): from %s...", i, j, _traceattr(rattr))); - TR(TRACE_ATTRS, ("...to %s", _traceattr(turnon))); - - /* - * If the attribute change location is a blank with a - * "safe" attribute, undo the attribute turnon. This may - * ensure there's enough room to set the attribute before - * the first non-blank in the run. - */ -#define SAFE(a) (!((a) & (attr_t)~NONBLANK_ATTR)) - if (ISBLANK(newscr->_line[i].text[j]) && SAFE(turnon)) { - RemAttr(newscr->_line[i].text[j], turnon); - continue; - } - - /* check that there's enough room at start of span */ - for (k = 1; k <= magic_cookie_glitch; k++) { - if (j - k < 0 - || !ISBLANK(newscr->_line[i].text[j - k]) - || !SAFE(AttrOf(newscr->_line[i].text[j - k]))) - failed = TRUE; - } - if (!failed) { - bool end_onscreen = FALSE; - int m, n = j; - - /* find end of span, if it's onscreen */ - for (m = i; m < screen_lines; m++) { - for (; n < screen_columns; n++) { - if (AttrOf(newscr->_line[m].text[n]) == rattr) { - end_onscreen = TRUE; - TR(TRACE_ATTRS, - ("Range attributed with %s ends at (%d, %d)", - _traceattr(turnon), m, n)); - goto foundit; - } - } - n = 0; - } - TR(TRACE_ATTRS, - ("Range attributed with %s ends offscreen", - _traceattr(turnon))); - foundit:; - - if (end_onscreen) { - NCURSES_CH_T *lastline = newscr->_line[m].text; - - /* - * If there are safely-attributed blanks at the - * end of the range, shorten the range. This will - * help ensure that there is enough room at end - * of span. - */ - while (n >= 0 - && ISBLANK(lastline[n]) - && SAFE(AttrOf(lastline[n]))) - RemAttr(lastline[n--], turnon); - - /* check that there's enough room at end of span */ - for (k = 1; k <= magic_cookie_glitch; k++) - if (n + k >= screen_columns - || !ISBLANK(lastline[n + k]) - || !SAFE(AttrOf(lastline[n + k]))) - failed = TRUE; - } - } - - if (failed) { - int p, q = j; - - TR(TRACE_ATTRS, - ("Clearing %s beginning at (%d, %d)", - _traceattr(turnon), i, j)); - - /* turn off new attributes over span */ - for (p = i; p < screen_lines; p++) { - for (; q < screen_columns; q++) { - if (AttrOf(newscr->_line[p].text[q]) == rattr) - goto foundend; - RemAttr(newscr->_line[p].text[q], turnon); - } - q = 0; - } - foundend:; - } else { - TR(TRACE_ATTRS, - ("Cookie space for %s found before (%d, %d)", - _traceattr(turnon), i, j)); - - /* - * back up the start of range so there's room - * for cookies before the first nonblank character - */ - for (k = 1; k <= magic_cookie_glitch; k++) - AddAttr(newscr->_line[i].text[j - k], turnon); - } - - rattr = AttrOf(newscr->_line[i].text[j]); - } - } - -#ifdef TRACE - /* show altered highlights after magic-cookie check */ - if (_nc_tracing & TRACE_UPDATE) { - _tracef("After magic-cookie check..."); - _tracedump("newscr", newscr); - } -#endif /* TRACE */ - } -#endif /* USE_XMC_SUPPORT */ - - nonempty = 0; - if (curscr->_clear || newscr->_clear) { /* force refresh ? */ - TR(TRACE_UPDATE, ("clearing and updating from scratch")); - ClrUpdate(); - curscr->_clear = FALSE; /* reset flag */ - newscr->_clear = FALSE; /* reset flag */ - } else { - int changedlines = CHECK_INTERVAL; - - if (check_pending()) - goto cleanup; - - nonempty = min(screen_lines, newscr->_maxy + 1); - - if (SP->_scrolling) { - _nc_scroll_optimize(); - } - - nonempty = ClrBottom(nonempty); - - TR(TRACE_UPDATE, ("Transforming lines, nonempty %d", nonempty)); - for (i = 0; i < nonempty; i++) { - /* - * Here is our line-breakout optimization. - */ - if (changedlines == CHECK_INTERVAL) { - if (check_pending()) - goto cleanup; - changedlines = 0; - } - - /* - * newscr->line[i].firstchar is normally set - * by wnoutrefresh. curscr->line[i].firstchar - * is normally set by _nc_scroll_window in the - * vertical-movement optimization code, - */ - if (newscr->_line[i].firstchar != _NOCHANGE - || curscr->_line[i].firstchar != _NOCHANGE) { - TransformLine(i); - changedlines++; - } - - /* mark line changed successfully */ - if (i <= newscr->_maxy) { - MARK_NOCHANGE(newscr, i); - } - if (i <= curscr->_maxy) { - MARK_NOCHANGE(curscr, i); - } - } - } - - /* put everything back in sync */ - for (i = nonempty; i <= newscr->_maxy; i++) { - MARK_NOCHANGE(newscr, i); - } - for (i = nonempty; i <= curscr->_maxy; i++) { - MARK_NOCHANGE(curscr, i); - } - - if (!newscr->_leaveok) { - curscr->_curx = newscr->_curx; - curscr->_cury = newscr->_cury; - - GoTo(curscr->_cury, curscr->_curx); - } - - cleanup: - /* - * Keep the physical screen in normal mode in case we get other - * processes writing to the screen. - */ - UpdateAttrs(normal); - - _nc_flush(); - curscr->_attrs = newscr->_attrs; - -#if USE_TRACE_TIMES - (void) times(&after); - TR(TRACE_TIMES, - ("Update cost: %ld chars, %ld clocks system time, %ld clocks user time", - _nc_outchars, - (long) (after.tms_stime - before.tms_stime), - (long) (after.tms_utime - before.tms_utime))); -#endif /* USE_TRACE_TIMES */ - - _nc_signal_handler(TRUE); - - returnCode(OK); -} - -/* - * ClrBlank(win) - * - * Returns the attributed character that corresponds to the "cleared" - * screen. If the terminal has the back-color-erase feature, this will be - * colored according to the wbkgd() call. - * - * We treat 'curscr' specially because it isn't supposed to be set directly - * in the wbkgd() call. Assume 'stdscr' for this case. - */ -#define BCE_ATTRS (A_NORMAL|A_COLOR) -#define BCE_BKGD(win) (((win) == curscr ? stdscr : (win))->_nc_bkgd) - -static inline NCURSES_CH_T -ClrBlank(WINDOW *win) -{ - NCURSES_CH_T blank = NewChar(BLANK_TEXT); - if (back_color_erase) - AddAttr(blank, (AttrOf(BCE_BKGD(win)) & BCE_ATTRS)); - return blank; -} - -/* -** ClrUpdate() -** -** Update by clearing and redrawing the entire screen. -** -*/ - -static void -ClrUpdate(void) -{ - int i; - NCURSES_CH_T blank = ClrBlank(stdscr); - int nonempty = min(screen_lines, newscr->_maxy + 1); - - TR(TRACE_UPDATE, ("ClrUpdate() called")); - - ClearScreen(blank); - - TR(TRACE_UPDATE, ("updating screen from scratch")); - - nonempty = ClrBottom(nonempty); - - for (i = 0; i < nonempty; i++) - TransformLine(i); -} - -/* -** ClrToEOL(blank) -** -** Clear to end of current line, starting at the cursor position -*/ - -static void -ClrToEOL(NCURSES_CH_T blank, bool needclear) -{ - int j; - - if (curscr != 0 - && SP->_cursrow >= 0) { - for (j = SP->_curscol; j < screen_columns; j++) { - if (j >= 0) { - NCURSES_CH_T *cp = &(curscr->_line[SP->_cursrow].text[j]); - - if (!CharEq(*cp, blank)) { - *cp = blank; - needclear = TRUE; - } - } - } - } else { - needclear = TRUE; - } - - if (needclear) { - UpdateAttrs(blank); - TPUTS_TRACE("clr_eol"); - if (clr_eol && SP->_el_cost <= (screen_columns - SP->_curscol)) { - putp(clr_eol); - } else { - int count = (screen_columns - SP->_curscol); - while (count-- > 0) - PutChar(CHREF(blank)); - } - } -} - -/* -** ClrToEOS(blank) -** -** Clear to end of screen, starting at the cursor position -*/ - -static void -ClrToEOS(NCURSES_CH_T blank) -{ - int row, col; - - row = SP->_cursrow; - col = SP->_curscol; - - UpdateAttrs(blank); - TPUTS_TRACE("clr_eos"); - tputs(clr_eos, screen_lines - row, _nc_outch); - - while (col < screen_columns) - curscr->_line[row].text[col++] = blank; - - for (row++; row < screen_lines; row++) { - for (col = 0; col < screen_columns; col++) - curscr->_line[row].text[col] = blank; - } -} - -/* - * ClrBottom(total) - * - * Test if clearing the end of the screen would satisfy part of the - * screen-update. Do this by scanning backwards through the lines in the - * screen, checking if each is blank, and one or more are changed. - */ -static int -ClrBottom(int total) -{ - int row; - int col; - int top = total; - int last = min(screen_columns, newscr->_maxx + 1); - NCURSES_CH_T blank = newscr->_line[total - 1].text[last - 1]; - bool ok; - - if (clr_eos && can_clear_with(CHREF(blank))) { - - for (row = total - 1; row >= 0; row--) { - for (col = 0, ok = TRUE; ok && col < last; col++) { - ok = (CharEq(newscr->_line[row].text[col], blank)); - } - if (!ok) - break; - - for (col = 0; ok && col < last; col++) { - ok = (CharEq(curscr->_line[row].text[col], blank)); - } - if (!ok) - top = row; - } - - /* don't use clr_eos for just one line if clr_eol available */ - if (top < total) { - GoTo(top, 0); - ClrToEOS(blank); - if (SP->oldhash && SP->newhash) { - for (row = top; row < screen_lines; row++) - SP->oldhash[row] = SP->newhash[row]; - } - } - } - return top; -} - -#if USE_XMC_SUPPORT -#if USE_WIDEC_SUPPORT -static inline bool -check_xmc_transition(NCURSES_CH_T * a, NCURSES_CH_T * b) -{ - if (((a->attr ^ b->attr) & ~(a->attr) & SP->_xmc_triggers) != 0) { - return TRUE; - } - return FALSE; -} -#define xmc_turn_on(a,b) check_xmc_transition(&(a), &(b)) -#else -#define xmc_turn_on(a,b) ((((a)^(b)) & ~(a) & SP->_xmc_triggers) != 0) -#endif - -#define xmc_new(r,c) newscr->_line[r].text[c] -#define xmc_turn_off(a,b) xmc_turn_on(b,a) -#endif /* USE_XMC_SUPPORT */ - -/* -** TransformLine(lineno) -** -** Transform the given line in curscr to the one in newscr, using -** Insert/Delete Character if _nc_idcok && has_ic(). -** -** firstChar = position of first different character in line -** oLastChar = position of last different character in old line -** nLastChar = position of last different character in new line -** -** move to firstChar -** overwrite chars up to min(oLastChar, nLastChar) -** if oLastChar < nLastChar -** insert newLine[oLastChar+1..nLastChar] -** else -** delete oLastChar - nLastChar spaces -*/ - -static void -TransformLine(int const lineno) -{ - int firstChar, oLastChar, nLastChar; - NCURSES_CH_T *newLine = newscr->_line[lineno].text; - NCURSES_CH_T *oldLine = curscr->_line[lineno].text; - int n; - bool attrchanged = FALSE; - - TR(TRACE_UPDATE, (T_CALLED("TransformLine(%d)"), lineno)); - - /* copy new hash value to old one */ - if (SP->oldhash && SP->newhash) - SP->oldhash[lineno] = SP->newhash[lineno]; - - /* - * If we have colors, there is the possibility of having two color pairs - * that display as the same colors. For instance, Lynx does this. Check - * for this case, and update the old line with the new line's colors when - * they are equivalent. - */ - if (SP->_coloron) { - int oldPair; - int newPair; - - for (n = 0; n < screen_columns; n++) { - if (!CharEq(newLine[n], oldLine[n])) { - oldPair = GetPair(oldLine[n]); - newPair = GetPair(newLine[n]); - if (oldPair != newPair - && unColor(oldLine[n]) == unColor(newLine[n])) { - if (oldPair < COLOR_PAIRS - && newPair < COLOR_PAIRS - && SP->_color_pairs[oldPair] == SP->_color_pairs[newPair]) { - SetPair(oldLine[n], GetPair(newLine[n])); - } - } - } - } - } - - if (ceol_standout_glitch && clr_eol) { - firstChar = 0; - while (firstChar < screen_columns) { - if (!SameAttrOf(newLine[firstChar], oldLine[firstChar])) { - attrchanged = TRUE; - break; - } - firstChar++; - } - } - - firstChar = 0; - - if (attrchanged) { /* we may have to disregard the whole line */ - GoTo(lineno, firstChar); - ClrToEOL(ClrBlank(curscr), FALSE); - PutRange(oldLine, newLine, lineno, 0, (screen_columns - 1)); -#if USE_XMC_SUPPORT - - /* - * This is a very simple loop to paint characters which may have the - * magic cookie glitch embedded. It doesn't know much about video - * attributes which are continued from one line to the next. It - * assumes that we have filtered out requests for attribute changes - * that do not get mapped to blank positions. - * - * FIXME: we are not keeping track of where we put the cookies, so this - * will work properly only once, since we may overwrite a cookie in a - * following operation. - */ - } else if (magic_cookie_glitch > 0) { - GoTo(lineno, firstChar); - for (n = 0; n < screen_columns; n++) { - int m = n + magic_cookie_glitch; - - /* check for turn-on: - * If we are writing an attributed blank, where the - * previous cell is not attributed. - */ - if (ISBLANK(newLine[n]) - && ((n > 0 - && xmc_turn_on(newLine[n - 1], newLine[n])) - || (n == 0 - && lineno > 0 - && xmc_turn_on(xmc_new(lineno - 1, screen_columns - 1), - newLine[n])))) { - n = m; - } - - PutChar(CHREF(newLine[n])); - - /* check for turn-off: - * If we are writing an attributed non-blank, where the - * next cell is blank, and not attributed. - */ - if (!ISBLANK(newLine[n]) - && ((n + 1 < screen_columns - && xmc_turn_off(newLine[n], newLine[n + 1])) - || (n + 1 >= screen_columns - && lineno + 1 < screen_lines - && xmc_turn_off(newLine[n], xmc_new(lineno + 1, 0))))) { - n = m; - } - - } -#endif - } else { - NCURSES_CH_T blank; - - /* it may be cheap to clear leading whitespace with clr_bol */ - blank = newLine[0]; - if (clr_bol && can_clear_with(CHREF(blank))) { - int oFirstChar, nFirstChar; - - for (oFirstChar = 0; oFirstChar < screen_columns; oFirstChar++) - if (!CharEq(oldLine[oFirstChar], blank)) - break; - for (nFirstChar = 0; nFirstChar < screen_columns; nFirstChar++) - if (!CharEq(newLine[nFirstChar], blank)) - break; - - if (nFirstChar == oFirstChar) { - firstChar = nFirstChar; - /* find the first differing character */ - while (firstChar < screen_columns - && CharEq(newLine[firstChar], oldLine[firstChar])) - firstChar++; - } else if (oFirstChar > nFirstChar) { - firstChar = nFirstChar; - } else { /* oFirstChar < nFirstChar */ - firstChar = oFirstChar; - if (SP->_el1_cost < nFirstChar - oFirstChar) { - if (nFirstChar >= screen_columns - && SP->_el_cost <= SP->_el1_cost) { - GoTo(lineno, 0); - UpdateAttrs(blank); - TPUTS_TRACE("clr_eol"); - putp(clr_eol); - } else { - GoTo(lineno, nFirstChar - 1); - UpdateAttrs(blank); - TPUTS_TRACE("clr_bol"); - putp(clr_bol); - } - - while (firstChar < nFirstChar) - oldLine[firstChar++] = blank; - } - } - } else { - /* find the first differing character */ - while (firstChar < screen_columns - && CharEq(newLine[firstChar], oldLine[firstChar])) - firstChar++; - } - /* if there wasn't one, we're done */ - if (firstChar >= screen_columns) { - TR(TRACE_UPDATE, (T_RETURN(""))); - return; - } - - blank = newLine[screen_columns - 1]; - - if (!can_clear_with(CHREF(blank))) { - /* find the last differing character */ - nLastChar = screen_columns - 1; - - while (nLastChar > firstChar - && CharEq(newLine[nLastChar], oldLine[nLastChar])) - nLastChar--; - - if (nLastChar >= firstChar) { - GoTo(lineno, firstChar); - PutRange(oldLine, newLine, lineno, firstChar, nLastChar); - memcpy(oldLine + firstChar, - newLine + firstChar, - (nLastChar - firstChar + 1) * sizeof(NCURSES_CH_T)); - } - TR(TRACE_UPDATE, (T_RETURN(""))); - return; - } - - /* find last non-blank character on old line */ - oLastChar = screen_columns - 1; - while (oLastChar > firstChar && CharEq(oldLine[oLastChar], blank)) - oLastChar--; - - /* find last non-blank character on new line */ - nLastChar = screen_columns - 1; - while (nLastChar > firstChar && CharEq(newLine[nLastChar], blank)) - nLastChar--; - - if ((nLastChar == firstChar) - && (SP->_el_cost < (oLastChar - nLastChar))) { - GoTo(lineno, firstChar); - if (!CharEq(newLine[firstChar], blank)) - PutChar(CHREF(newLine[firstChar])); - ClrToEOL(blank, FALSE); - } else if ((nLastChar != oLastChar) - && (!CharEq(newLine[nLastChar], oldLine[oLastChar]) - || !(_nc_idcok && has_ic()))) { - GoTo(lineno, firstChar); - if ((oLastChar - nLastChar) > SP->_el_cost) { - if (PutRange(oldLine, newLine, lineno, firstChar, nLastChar)) - GoTo(lineno, nLastChar + 1); - ClrToEOL(blank, FALSE); - } else { - n = max(nLastChar, oLastChar); - PutRange(oldLine, newLine, lineno, firstChar, n); - } - } else { - int nLastNonblank = nLastChar; - int oLastNonblank = oLastChar; - - /* find the last characters that really differ */ - /* can be -1 if no characters differ */ - while (CharEq(newLine[nLastChar], oldLine[oLastChar])) { - /* don't split a wide char */ - if (isWidecExt(newLine[nLastChar]) && - !CharEq(newLine[nLastChar - 1], oldLine[oLastChar - 1])) - break; - nLastChar--; - oLastChar--; - if (nLastChar == -1 || oLastChar == -1) - break; - } - - n = min(oLastChar, nLastChar); - if (n >= firstChar) { - GoTo(lineno, firstChar); - PutRange(oldLine, newLine, lineno, firstChar, n); - } - - if (oLastChar < nLastChar) { - int m = max(nLastNonblank, oLastNonblank); -#if USE_WIDEC_SUPPORT - while (isWidecExt(newLine[n + 1]) && n) { - --n; - --oLastChar; - } -#endif - GoTo(lineno, n + 1); - if ((nLastChar < nLastNonblank) - || InsCharCost(nLastChar - oLastChar) > (m - n)) { - PutRange(oldLine, newLine, lineno, n + 1, m); - } else { - InsStr(&newLine[n + 1], nLastChar - oLastChar); - } - } else if (oLastChar > nLastChar) { - GoTo(lineno, n + 1); - if (DelCharCost(oLastChar - nLastChar) - > SP->_el_cost + nLastNonblank - (n + 1)) { - if (PutRange(oldLine, newLine, lineno, - n + 1, nLastNonblank)) - GoTo(lineno, nLastNonblank + 1); - ClrToEOL(blank, FALSE); - } else { - /* - * The delete-char sequence will - * effectively shift in blanks from the - * right margin of the screen. Ensure - * that they are the right color by - * setting the video attributes from - * the last character on the row. - */ - UpdateAttrs(blank); - DelChar(oLastChar - nLastChar); - } - } - } - } - - /* update the code's internal representation */ - if (screen_columns > firstChar) - memcpy(oldLine + firstChar, - newLine + firstChar, - (screen_columns - firstChar) * sizeof(NCURSES_CH_T)); - TR(TRACE_UPDATE, (T_RETURN(""))); - return; -} - -/* -** ClearScreen(blank) -** -** Clear the physical screen and put cursor at home -** -*/ - -static void -ClearScreen(NCURSES_CH_T blank) -{ - int i, j; - bool fast_clear = (clear_screen || clr_eos || clr_eol); - - TR(TRACE_UPDATE, ("ClearScreen() called")); - -#if NCURSES_EXT_FUNCS - if (SP->_coloron - && !SP->_default_color) { - _nc_do_color(GET_SCREEN_PAIR(SP), 0, FALSE, _nc_outch); - if (!back_color_erase) { - fast_clear = FALSE; - } - } -#endif - - if (fast_clear) { - if (clear_screen) { - UpdateAttrs(blank); - TPUTS_TRACE("clear_screen"); - putp(clear_screen); - SP->_cursrow = SP->_curscol = 0; - position_check(SP->_cursrow, SP->_curscol, "ClearScreen"); - } else if (clr_eos) { - SP->_cursrow = SP->_curscol = -1; - GoTo(0, 0); - - UpdateAttrs(blank); - TPUTS_TRACE("clr_eos"); - tputs(clr_eos, screen_lines, _nc_outch); - } else if (clr_eol) { - SP->_cursrow = SP->_curscol = -1; - - UpdateAttrs(blank); - for (i = 0; i < screen_lines; i++) { - GoTo(i, 0); - TPUTS_TRACE("clr_eol"); - putp(clr_eol); - } - GoTo(0, 0); - } - } else { - UpdateAttrs(blank); - for (i = 0; i < screen_lines; i++) { - GoTo(i, 0); - for (j = 0; j < screen_columns; j++) - PutChar(CHREF(blank)); - } - GoTo(0, 0); - } - - for (i = 0; i < screen_lines; i++) { - for (j = 0; j < screen_columns; j++) - curscr->_line[i].text[j] = blank; - } - - TR(TRACE_UPDATE, ("screen cleared")); -} - -/* -** InsStr(line, count) -** -** Insert the count characters pointed to by line. -** -*/ - -static void -InsStr(NCURSES_CH_T * line, int count) -{ - TR(TRACE_UPDATE, ("InsStr(%p,%d) called", line, count)); - - /* Prefer parm_ich as it has the smallest cost - no need to shift - * the whole line on each character. */ - /* The order must match that of InsCharCost. */ - if (parm_ich) { - TPUTS_TRACE("parm_ich"); - tputs(tparm(parm_ich, count), count, _nc_outch); - while (count) { - PutAttrChar(CHREF(*line)); - line++; - count--; - } - } else if (enter_insert_mode && exit_insert_mode) { - TPUTS_TRACE("enter_insert_mode"); - putp(enter_insert_mode); - while (count) { - PutAttrChar(CHREF(*line)); - if (insert_padding) { - TPUTS_TRACE("insert_padding"); - putp(insert_padding); - } - line++; - count--; - } - TPUTS_TRACE("exit_insert_mode"); - putp(exit_insert_mode); - } else { - while (count) { - TPUTS_TRACE("insert_character"); - putp(insert_character); - PutAttrChar(CHREF(*line)); - if (insert_padding) { - TPUTS_TRACE("insert_padding"); - putp(insert_padding); - } - line++; - count--; - } - } - position_check(SP->_cursrow, SP->_curscol, "InsStr"); -} - -/* -** DelChar(count) -** -** Delete count characters at current position -** -*/ - -static void -DelChar(int count) -{ - int n; - - TR(TRACE_UPDATE, ("DelChar(%d) called, position = (%d,%d)", count, - newscr->_cury, newscr->_curx)); - - if (parm_dch) { - TPUTS_TRACE("parm_dch"); - tputs(tparm(parm_dch, count), count, _nc_outch); - } else { - for (n = 0; n < count; n++) { - TPUTS_TRACE("delete_character"); - putp(delete_character); - } - } -} - -/* - * Physical-scrolling support - * - * This code was adapted from Keith Bostic's hardware scrolling - * support for 4.4BSD curses. I (esr) translated it to use terminfo - * capabilities, narrowed the call interface slightly, and cleaned - * up some convoluted tests. I also added support for the memory_above - * memory_below, and non_dest_scroll_region capabilities. - * - * For this code to work, we must have either - * change_scroll_region and scroll forward/reverse commands, or - * insert and delete line capabilities. - * When the scrolling region has been set, the cursor has to - * be at the last line of the region to make the scroll up - * happen, or on the first line of region to scroll down. - * - * This code makes one aesthetic decision in the opposite way from - * BSD curses. BSD curses preferred pairs of il/dl operations - * over scrolls, allegedly because il/dl looked faster. We, on - * the other hand, prefer scrolls because (a) they're just as fast - * on many terminals and (b) using them avoids bouncing an - * unchanged bottom section of the screen up and down, which is - * visually nasty. - * - * (lav): added more cases, used dl/il when bot==maxy and in csr case. - * - * I used assumption that capabilities il/il1/dl/dl1 work inside - * changed scroll region not shifting screen contents outside of it. - * If there are any terminals behaving different way, it would be - * necessary to add some conditions to scroll_csr_forward/backward. - */ - -/* Try to scroll up assuming given csr (miny, maxy). Returns ERR on failure */ -static int -scroll_csr_forward(int n, int top, int bot, int miny, int maxy, NCURSES_CH_T blank) -{ - int i; - - if (n == 1 && scroll_forward && top == miny && bot == maxy) { - GoTo(bot, 0); - UpdateAttrs(blank); - TPUTS_TRACE("scroll_forward"); - putp(scroll_forward); - } else if (n == 1 && delete_line && bot == maxy) { - GoTo(top, 0); - UpdateAttrs(blank); - TPUTS_TRACE("delete_line"); - putp(delete_line); - } else if (parm_index && top == miny && bot == maxy) { - GoTo(bot, 0); - UpdateAttrs(blank); - TPUTS_TRACE("parm_index"); - tputs(tparm(parm_index, n, 0), n, _nc_outch); - } else if (parm_delete_line && bot == maxy) { - GoTo(top, 0); - UpdateAttrs(blank); - TPUTS_TRACE("parm_delete_line"); - tputs(tparm(parm_delete_line, n, 0), n, _nc_outch); - } else if (scroll_forward && top == miny && bot == maxy) { - GoTo(bot, 0); - UpdateAttrs(blank); - for (i = 0; i < n; i++) { - TPUTS_TRACE("scroll_forward"); - putp(scroll_forward); - } - } else if (delete_line && bot == maxy) { - GoTo(top, 0); - UpdateAttrs(blank); - for (i = 0; i < n; i++) { - TPUTS_TRACE("delete_line"); - putp(delete_line); - } - } else - return ERR; - -#if NCURSES_EXT_FUNCS - if (FILL_BCE()) { - int j; - for (i = 0; i < n; i++) { - GoTo(bot - i, 0); - for (j = 0; j < screen_columns; j++) - PutChar(CHREF(blank)); - } - } -#endif - return OK; -} - -/* Try to scroll down assuming given csr (miny, maxy). Returns ERR on failure */ -/* n > 0 */ -static int -scroll_csr_backward(int n, int top, int bot, int miny, int maxy, - NCURSES_CH_T blank) -{ - int i; - - if (n == 1 && scroll_reverse && top == miny && bot == maxy) { - GoTo(top, 0); - UpdateAttrs(blank); - TPUTS_TRACE("scroll_reverse"); - putp(scroll_reverse); - } else if (n == 1 && insert_line && bot == maxy) { - GoTo(top, 0); - UpdateAttrs(blank); - TPUTS_TRACE("insert_line"); - putp(insert_line); - } else if (parm_rindex && top == miny && bot == maxy) { - GoTo(top, 0); - UpdateAttrs(blank); - TPUTS_TRACE("parm_rindex"); - tputs(tparm(parm_rindex, n, 0), n, _nc_outch); - } else if (parm_insert_line && bot == maxy) { - GoTo(top, 0); - UpdateAttrs(blank); - TPUTS_TRACE("parm_insert_line"); - tputs(tparm(parm_insert_line, n, 0), n, _nc_outch); - } else if (scroll_reverse && top == miny && bot == maxy) { - GoTo(top, 0); - UpdateAttrs(blank); - for (i = 0; i < n; i++) { - TPUTS_TRACE("scroll_reverse"); - putp(scroll_reverse); - } - } else if (insert_line && bot == maxy) { - GoTo(top, 0); - UpdateAttrs(blank); - for (i = 0; i < n; i++) { - TPUTS_TRACE("insert_line"); - putp(insert_line); - } - } else - return ERR; - -#if NCURSES_EXT_FUNCS - if (FILL_BCE()) { - int j; - for (i = 0; i < n; i++) { - GoTo(top + i, 0); - for (j = 0; j < screen_columns; j++) - PutChar(CHREF(blank)); - } - } -#endif - return OK; -} - -/* scroll by using delete_line at del and insert_line at ins */ -/* n > 0 */ -static int -scroll_idl(int n, int del, int ins, NCURSES_CH_T blank) -{ - int i; - - if (!((parm_delete_line || delete_line) && (parm_insert_line || insert_line))) - return ERR; - - GoTo(del, 0); - UpdateAttrs(blank); - if (n == 1 && delete_line) { - TPUTS_TRACE("delete_line"); - putp(delete_line); - } else if (parm_delete_line) { - TPUTS_TRACE("parm_delete_line"); - tputs(tparm(parm_delete_line, n, 0), n, _nc_outch); - } else { /* if (delete_line) */ - for (i = 0; i < n; i++) { - TPUTS_TRACE("delete_line"); - putp(delete_line); - } - } - - GoTo(ins, 0); - UpdateAttrs(blank); - if (n == 1 && insert_line) { - TPUTS_TRACE("insert_line"); - putp(insert_line); - } else if (parm_insert_line) { - TPUTS_TRACE("parm_insert_line"); - tputs(tparm(parm_insert_line, n, 0), n, _nc_outch); - } else { /* if (insert_line) */ - for (i = 0; i < n; i++) { - TPUTS_TRACE("insert_line"); - putp(insert_line); - } - } - - return OK; -} - -/* - * Note: some terminals require the cursor to be within the scrolling margins - * before setting them. Generally, the cursor must be at the appropriate end - * of the scrolling margins when issuing an indexing operation (it is not - * apparent whether it must also be at the left margin; we do this just to be - * safe). To make the related cursor movement a little faster, we use the - * save/restore cursor capabilities if the terminal has them. - */ -NCURSES_EXPORT(int) -_nc_scrolln(int n, int top, int bot, int maxy) -/* scroll region from top to bot by n lines */ -{ - NCURSES_CH_T blank = ClrBlank(stdscr); - int i; - bool cursor_saved = FALSE; - int res; - - TR(TRACE_MOVE, ("mvcur_scrolln(%d, %d, %d, %d)", n, top, bot, maxy)); - -#if USE_XMC_SUPPORT - /* - * If we scroll, we might remove a cookie. - */ - if (magic_cookie_glitch > 0) { - return (ERR); - } -#endif - - if (n > 0) { /* scroll up (forward) */ - /* - * Explicitly clear if stuff pushed off top of region might - * be saved by the terminal. - */ - res = scroll_csr_forward(n, top, bot, 0, maxy, blank); - - if (res == ERR && change_scroll_region) { - if ((((n == 1 && scroll_forward) || parm_index) - && (SP->_cursrow == bot || SP->_cursrow == bot - 1)) - && save_cursor && restore_cursor) { - cursor_saved = TRUE; - TPUTS_TRACE("save_cursor"); - putp(save_cursor); - } - TPUTS_TRACE("change_scroll_region"); - putp(tparm(change_scroll_region, top, bot)); - if (cursor_saved) { - TPUTS_TRACE("restore_cursor"); - putp(restore_cursor); - } else { - SP->_cursrow = SP->_curscol = -1; - } - - res = scroll_csr_forward(n, top, bot, top, bot, blank); - - TPUTS_TRACE("change_scroll_region"); - putp(tparm(change_scroll_region, 0, maxy)); - SP->_cursrow = SP->_curscol = -1; - } - - if (res == ERR && _nc_idlok) - res = scroll_idl(n, top, bot - n + 1, blank); - - /* - * Clear the newly shifted-in text. - */ - if (res != ERR - && (non_dest_scroll_region || (memory_below && bot == maxy))) { - NCURSES_CH_T blank2 = NewChar(BLANK_TEXT); - if (bot == maxy && clr_eos) { - GoTo(bot - n + 1, 0); - ClrToEOS(blank2); - } else { - for (i = 0; i < n; i++) { - GoTo(bot - i, 0); - ClrToEOL(blank2, FALSE); - } - } - } - - } else { /* (n < 0) - scroll down (backward) */ - res = scroll_csr_backward(-n, top, bot, 0, maxy, blank); - - if (res == ERR && change_scroll_region) { - if (top != 0 && (SP->_cursrow == top || SP->_cursrow == top - 1) - && save_cursor && restore_cursor) { - cursor_saved = TRUE; - TPUTS_TRACE("save_cursor"); - putp(save_cursor); - } - TPUTS_TRACE("change_scroll_region"); - putp(tparm(change_scroll_region, top, bot)); - if (cursor_saved) { - TPUTS_TRACE("restore_cursor"); - putp(restore_cursor); - } else { - SP->_cursrow = SP->_curscol = -1; - } - - res = scroll_csr_backward(-n, top, bot, top, bot, blank); - - TPUTS_TRACE("change_scroll_region"); - putp(tparm(change_scroll_region, 0, maxy)); - SP->_cursrow = SP->_curscol = -1; - } - - if (res == ERR && _nc_idlok) - res = scroll_idl(-n, bot + n + 1, top, blank); - - /* - * Clear the newly shifted-in text. - */ - if (res != ERR - && (non_dest_scroll_region || (memory_above && top == 0))) { - NCURSES_CH_T blank2 = NewChar(BLANK_TEXT); - for (i = 0; i < -n; i++) { - GoTo(i + top, 0); - ClrToEOL(blank2, FALSE); - } - } - } - - if (res == ERR) - return (ERR); - - _nc_scroll_window(curscr, n, top, bot, blank); - - /* shift hash values too - they can be reused */ - _nc_scroll_oldhash(n, top, bot); - - return (OK); -} - -NCURSES_EXPORT(void) -_nc_screen_resume(void) -{ - /* make sure terminal is in a sane known state */ - SetAttr(SCREEN_ATTRS(SP), A_NORMAL); - newscr->_clear = TRUE; - - /* reset color pairs and definitions */ - if (SP->_coloron || SP->_color_defs) - _nc_reset_colors(); - - /* restore user-defined colors, if any */ - if (SP->_color_defs < 0) { - int n; - SP->_color_defs = -(SP->_color_defs); - for (n = 0; n < SP->_color_defs; ++n) { - if (SP->_color_table[n].init) { - init_color(n, - SP->_color_table[n].r, - SP->_color_table[n].g, - SP->_color_table[n].b); - } - } - } - - if (exit_attribute_mode) - putp(exit_attribute_mode); - else { - /* turn off attributes */ - if (exit_alt_charset_mode) - putp(exit_alt_charset_mode); - if (exit_standout_mode) - putp(exit_standout_mode); - if (exit_underline_mode) - putp(exit_underline_mode); - } - if (exit_insert_mode) - putp(exit_insert_mode); - if (enter_am_mode && exit_am_mode) - putp(auto_right_margin ? enter_am_mode : exit_am_mode); -} - -NCURSES_EXPORT(void) -_nc_screen_init(void) -{ - _nc_screen_resume(); -} - -/* wrap up screen handling */ -NCURSES_EXPORT(void) -_nc_screen_wrap(void) -{ - UpdateAttrs(normal); -#if NCURSES_EXT_FUNCS - if (SP->_coloron - && !SP->_default_color) { - NCURSES_CH_T blank = NewChar(BLANK_TEXT); - SP->_default_color = TRUE; - _nc_do_color(-1, 0, FALSE, _nc_outch); - SP->_default_color = FALSE; - - mvcur(SP->_cursrow, SP->_curscol, screen_lines - 1, 0); - - ClrToEOL(blank, TRUE); - } -#endif - if (SP->_color_defs) { - _nc_reset_colors(); - } -} - -#if USE_XMC_SUPPORT -NCURSES_EXPORT(void) -_nc_do_xmc_glitch(attr_t previous) -{ - attr_t chg = XMC_CHANGES(previous ^ AttrOf(SCREEN_ATTRS(SP))); - - while (chg != 0) { - if (chg & 1) { - SP->_curscol += magic_cookie_glitch; - if (SP->_curscol >= SP->_columns) - wrap_cursor(); - TR(TRACE_UPDATE, ("bumped to %d,%d after cookie", SP->_cursrow, SP->_curscol)); - } - chg >>= 1; - } -} -#endif /* USE_XMC_SUPPORT */ diff --git a/src/libs/ncurses/ncurses/unctrl.c b/src/libs/ncurses/ncurses/unctrl.c deleted file mode 100644 index 3644952f9e..0000000000 --- a/src/libs/ncurses/ncurses/unctrl.c +++ /dev/null @@ -1,48 +0,0 @@ -/* generated by MKunctrl.awk */ - -#include - -#undef unctrl - -NCURSES_EXPORT(NCURSES_CONST char *) unctrl (register chtype ch) -{ -static const char* const table[] = { - "^\100", "^\101", "^\102", "^\103", "^\104", "^\105", "^\106", "^\107", - "^\110", "^\111", "^\112", "^\113", "^\114", "^\115", "^\116", "^\117", - "^\120", "^\121", "^\122", "^\123", "^\124", "^\125", "^\126", "^\127", - "^\130", "^\131", "^\132", "^\133", "^\134", "^\135", "^\136", "^\137", - "\040", "\041", "\042", "\043", "\044", "\045", "\046", "\047", - "\050", "\051", "\052", "\053", "\054", "\055", "\056", "\057", - "\060", "\061", "\062", "\063", "\064", "\065", "\066", "\067", - "\070", "\071", "\072", "\073", "\074", "\075", "\076", "\077", - "\100", "\101", "\102", "\103", "\104", "\105", "\106", "\107", - "\110", "\111", "\112", "\113", "\114", "\115", "\116", "\117", - "\120", "\121", "\122", "\123", "\124", "\125", "\126", "\127", - "\130", "\131", "\132", "\133", "\134", "\135", "\136", "\137", - "\140", "\141", "\142", "\143", "\144", "\145", "\146", "\147", - "\150", "\151", "\152", "\153", "\154", "\155", "\156", "\157", - "\160", "\161", "\162", "\163", "\164", "\165", "\166", "\167", - "\170", "\171", "\172", "\173", "\174", "\175", "\176", "^?", - "~\100", "~\101", "~\102", "~\103", "~\104", "~\105", "~\106", "~\107", - "~\110", "~\111", "~\112", "~\113", "~\114", "~\115", "~\116", "~\117", - "~\120", "~\121", "~\122", "~\123", "~\124", "~\125", "~\126", "~\127", - "~\130", "~\131", "~\132", "~\133", "~\134", "~\135", "~\136", "~\137", - "\240", "\241", "\242", "\243", "\244", "\245", "\246", "\247", - "\250", "\251", "\252", "\253", "\254", "\255", "\256", "\257", - "\260", "\261", "\262", "\263", "\264", "\265", "\266", "\267", - "\270", "\271", "\272", "\273", "\274", "\275", "\276", "\277", - "\300", "\301", "\302", "\303", "\304", "\305", "\306", "\307", - "\310", "\311", "\312", "\313", "\314", "\315", "\316", "\317", - "\320", "\321", "\322", "\323", "\324", "\325", "\326", "\327", - "\330", "\331", "\332", "\333", "\334", "\335", "\336", "\337", - "\340", "\341", "\342", "\343", "\344", "\345", "\346", "\347", - "\350", "\351", "\352", "\353", "\354", "\355", "\356", "\357", - "\360", "\361", "\362", "\363", "\364", "\365", "\366", "\367", - "\370", "\371", "\372", "\373", "\374", "\375", "\376", "\377" -}; -int check = ChCharOf(ch); - - if (check < 0 || check >= (int)SIZEOF(table)) return 0; - - return (NCURSES_CONST char *)table[check]; -} diff --git a/src/libs/ncurses/ncurses/widechar/charable.c b/src/libs/ncurses/ncurses/widechar/charable.c deleted file mode 100644 index cf72407808..0000000000 --- a/src/libs/ncurses/ncurses/widechar/charable.c +++ /dev/null @@ -1,80 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2003-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/* -** Support functions for wide/narrow conversion. -*/ - -#include - -MODULE_ID("$Id: charable.c,v 1.4 2005/04/16 18:08:56 tom Exp $") - -NCURSES_EXPORT(bool) _nc_is_charable(wchar_t ch) -{ - bool result; -#if HAVE_WCTOB - result = (wctob((wint_t) ch) == ch); -#else - result = (_nc_to_char(ch) >= 0); -#endif - return result; -} - -NCURSES_EXPORT(int) _nc_to_char(wint_t ch) -{ - int result; -#if HAVE_WCTOB - result = wctob(ch); -#elif HAVE_WCTOMB - char temp[MB_LEN_MAX]; - result = wctomb(temp, ch); - if (strlen(temp) == 1) - result = UChar(temp[0]); - else - result = -1; -#endif - return result; -} - -NCURSES_EXPORT(wint_t) _nc_to_widechar(int ch) -{ - wint_t result; -#if HAVE_BTOWC - result = btowc(ch); -#elif HAVE_MBTOWC - wchar_t convert; - char temp[2]; - temp[0] = ch; - temp[1] = '\0'; - if (mbtowc(&convert, temp, 1) >= 0) - result = convert; - else - result = WEOF; -#endif - return result; -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_add_wch.c b/src/libs/ncurses/ncurses/widechar/lib_add_wch.c deleted file mode 100644 index 29dc5eb137..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_add_wch.c +++ /dev/null @@ -1,109 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/* -** lib_add_wch.c -** -** The routine wadd_wch(). -** -*/ - -#include - -MODULE_ID("$Id: lib_add_wch.c,v 1.4 2004/09/19 00:33:51 tom Exp $") - -NCURSES_EXPORT(int) -wadd_wch(WINDOW *win, const cchar_t * wch) -{ - PUTC_DATA; - int n; - int code = ERR; - - TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wadd_wch(%p, %s)"), win, - _tracech_t(wch))); - - if (win != 0) { - PUTC_INIT; - while (PUTC_i < CCHARW_MAX) { - if ((PUTC_ch = wch->chars[PUTC_i++]) == L'\0') - break; - if ((PUTC_n = wcrtomb(PUTC_buf, PUTC_ch, &PUT_st)) <= 0) { - code = ERR; - if (is8bits(PUTC_ch)) - code = waddch(win, UChar(PUTC_ch) | wch->attr); - break; - } - for (n = 0; n < PUTC_n; n++) { - if ((code = waddch(win, UChar(PUTC_buf[n]) | wch->attr)) == ERR) { - break; - } - } - if (code == ERR) - break; - } - } - - TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_RETURN("%d"), code)); - return (code); -} - -NCURSES_EXPORT(int) -wecho_wchar(WINDOW *win, const cchar_t * wch) -{ - PUTC_DATA; - int n; - int code = ERR; - - TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wecho_wchar(%p, %s)"), win, - _tracech_t(wch))); - - if (win != 0) { - PUTC_INIT; - while (PUTC_i < CCHARW_MAX) { - if ((PUTC_ch = wch->chars[PUTC_i++]) == L'\0') - break; - if ((PUTC_n = wcrtomb(PUTC_buf, PUTC_ch, &PUT_st)) <= 0) { - code = ERR; - if (is8bits(PUTC_ch)) - code = waddch(win, UChar(PUTC_ch) | wch->attr); - break; - } - for (n = 0; n < PUTC_n; n++) { - if ((code = waddch(win, UChar(PUTC_buf[n]) | wch->attr)) == ERR) { - break; - } - } - if (code == ERR) - break; - } - wrefresh(win); - } - - TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_RETURN("%d"), code)); - return (code); -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_box_set.c b/src/libs/ncurses/ncurses/widechar/lib_box_set.c deleted file mode 100644 index 35fce46d8d..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_box_set.c +++ /dev/null @@ -1,113 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Authors: Sven Verdoolaege and Thomas Dickey 2001,2002 * - ****************************************************************************/ - -/* -** lib_box_set.c -** -** The routine wborder_set(). -** -*/ - -#include - -MODULE_ID("$Id: lib_box_set.c,v 1.4 2003/12/06 18:02:13 tom Exp $") - -NCURSES_EXPORT(int) -wborder_set(WINDOW *win, - const ARG_CH_T ls, const ARG_CH_T rs, - const ARG_CH_T ts, const ARG_CH_T bs, - const ARG_CH_T tl, const ARG_CH_T tr, - const ARG_CH_T bl, const ARG_CH_T br) -{ - NCURSES_SIZE_T i; - NCURSES_SIZE_T endx, endy; - NCURSES_CH_T wls, wrs, wts, wbs, wtl, wtr, wbl, wbr; - - T((T_CALLED("wborder(%p,%s,%s,%s,%s,%s,%s,%s,%s)"), - win, - _tracech_t2(1, ls), - _tracech_t2(2, rs), - _tracech_t2(3, ts), - _tracech_t2(4, bs), - _tracech_t2(5, tl), - _tracech_t2(6, tr), - _tracech_t2(7, bl), - _tracech_t2(8, br))); - - if (!win) - returnCode(ERR); - -#define RENDER_WITH_DEFAULT(ch,def) w ##ch = _nc_render(win, (ch == 0) ? *(const ARG_CH_T)def : *ch) - - RENDER_WITH_DEFAULT(ls, WACS_VLINE); - RENDER_WITH_DEFAULT(rs, WACS_VLINE); - RENDER_WITH_DEFAULT(ts, WACS_HLINE); - RENDER_WITH_DEFAULT(bs, WACS_HLINE); - RENDER_WITH_DEFAULT(tl, WACS_ULCORNER); - RENDER_WITH_DEFAULT(tr, WACS_URCORNER); - RENDER_WITH_DEFAULT(bl, WACS_LLCORNER); - RENDER_WITH_DEFAULT(br, WACS_LRCORNER); - - T(("using %s, %s, %s, %s, %s, %s, %s, %s", - _tracech_t2(1, CHREF(wls)), - _tracech_t2(2, CHREF(wrs)), - _tracech_t2(3, CHREF(wts)), - _tracech_t2(4, CHREF(wbs)), - _tracech_t2(5, CHREF(wtl)), - _tracech_t2(6, CHREF(wtr)), - _tracech_t2(7, CHREF(wbl)), - _tracech_t2(8, CHREF(wbr)))); - - endx = win->_maxx; - endy = win->_maxy; - - for (i = 0; i <= endx; i++) { - win->_line[0].text[i] = wts; - win->_line[endy].text[i] = wbs; - } - win->_line[endy].firstchar = win->_line[0].firstchar = 0; - win->_line[endy].lastchar = win->_line[0].lastchar = endx; - - for (i = 0; i <= endy; i++) { - win->_line[i].text[0] = wls; - win->_line[i].text[endx] = wrs; - win->_line[i].firstchar = 0; - win->_line[i].lastchar = endx; - } - win->_line[0].text[0] = wtl; - win->_line[0].text[endx] = wtr; - win->_line[endy].text[0] = wbl; - win->_line[endy].text[endx] = wbr; - - _nc_synchook(win); - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_cchar.c b/src/libs/ncurses/ncurses/widechar/lib_cchar.c deleted file mode 100644 index b6458ee4a1..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_cchar.c +++ /dev/null @@ -1,128 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2001-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/* -** lib_cchar.c -** -** The routines setcchar() and getcchar(). -** -*/ - -#include - -MODULE_ID("$Id: lib_cchar.c,v 1.11 2005/01/29 21:29:16 tom Exp $") - -/* - * The SuSv2 description leaves some room for interpretation. We'll assume wch - * points to a string which is L'\0' terminated, contains at least one - * character with strictly positive width, which must be the first, and - * contains no characters of negative width. - */ -NCURSES_EXPORT(int) -setcchar(cchar_t *wcval, - const wchar_t *wch, - const attr_t attrs, - short color_pair, - const void *opts) -{ - int i; - int len; - int code = OK; - - TR(TRACE_CCALLS, (T_CALLED("setcchar(%p,%s,%ld,%d,%p)"), - wcval, _nc_viswbuf(wch), attrs, color_pair, opts)); - - len = wcslen(wch); - if (opts != NULL - || (len > 1 && wcwidth(wch[0]) < 0)) { - code = ERR; - } else { - if (len > CCHARW_MAX) - len = CCHARW_MAX; - - /* - * If we have a following spacing-character, stop at that point. We - * are only interested in adding non-spacing characters. - */ - for (i = 1; i < len; ++i) { - if (wcwidth(wch[i]) != 0) { - len = i; - break; - } - } - - memset(wcval, 0, sizeof(*wcval)); - - if (len != 0) { - SetAttr(*wcval, attrs | COLOR_PAIR(color_pair)); - SetPair(CHDEREF(wcval), color_pair); - memcpy(&wcval->chars, wch, len * sizeof(wchar_t)); - TR(TRACE_CCALLS, ("copy %d wchars, first is %s", len, - _tracecchar_t(wcval))); - } - } - - TR(TRACE_CCALLS, (T_RETURN("%d"), code)); - return (code); -} - -NCURSES_EXPORT(int) -getcchar(const cchar_t *wcval, - wchar_t *wch, - attr_t *attrs, - short *color_pair, - void *opts) -{ - wchar_t *wp; - int len; - int code = ERR; - - TR(TRACE_CCALLS, (T_CALLED("getcchar(%p,%p,%p,%p,%p)"), - wcval, wch, attrs, color_pair, opts)); - - if (opts == NULL) { - len = (wp = wmemchr(wcval->chars, L'\0', CCHARW_MAX)) - ? wp - wcval->chars - : CCHARW_MAX; - - if (wch == NULL) { - code = len; - } else if (attrs == 0 || color_pair == 0) { - code = ERR; - } else if (len >= 0) { - *attrs = AttrOf(*wcval) & A_ATTRIBUTES; - *color_pair = GetPair(*wcval); - wmemcpy(wch, wcval->chars, (unsigned) len); - wch[len] = L'\0'; - code = OK; - } - } - - TR(TRACE_CCALLS, (T_RETURN("%d"), code)); - return (code); -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_erasewchar.c b/src/libs/ncurses/ncurses/widechar/lib_erasewchar.c deleted file mode 100644 index 7d6455370f..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_erasewchar.c +++ /dev/null @@ -1,77 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 2002 * - ****************************************************************************/ - -#include - -MODULE_ID("$Id: lib_erasewchar.c,v 1.1 2002/05/11 20:38:06 tom Exp $") - -/* - * erasewchar() - * - * Return erase character as given in cur_term->Ottyb. - * - */ - -NCURSES_EXPORT(int) -erasewchar(wchar_t * wch) -{ - int value; - int result = ERR; - - T((T_CALLED("erasewchar()"))); - if ((value = erasechar()) != ERR) { - *wch = value; - result = OK; - } - returnCode(result); -} - -/* - * killwchar() - * - * Return kill character as given in cur_term->Ottyb. - * - */ - -NCURSES_EXPORT(int) -killwchar(wchar_t * wch) -{ - int value; - int result = ERR; - - T((T_CALLED("killwchar()"))); - if ((value = killchar()) != ERR) { - *wch = value; - result = OK; - } - returnCode(result); -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_get_wch.c b/src/libs/ncurses/ncurses/widechar/lib_get_wch.c deleted file mode 100644 index 68127e92e4..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_get_wch.c +++ /dev/null @@ -1,119 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2002-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 2002-on * - ****************************************************************************/ - -/* -** lib_get_wch.c -** -** The routine get_wch(). -** -*/ - -#include -#include - -MODULE_ID("$Id: lib_get_wch.c,v 1.12 2005/08/13 18:51:43 tom Exp $") - -#if HAVE_MBTOWC && HAVE_MBLEN -#define reset_mbytes(state) mblen(NULL, 0), mbtowc(NULL, NULL, 0) -#define count_mbytes(buffer,length,state) mblen(buffer,length) -#define check_mbytes(wch,buffer,length,state) \ - (int) mbtowc(&wch, buffer, length) -#define state_unused -#elif HAVE_MBRTOWC && HAVE_MBRLEN -#define reset_mbytes(state) init_mb(state) -#define count_mbytes(buffer,length,state) mbrlen(buffer,length,&state) -#define check_mbytes(wch,buffer,length,state) \ - (int) mbrtowc(&wch, buffer, length, &state) -#else -make an error -#endif - -NCURSES_EXPORT(int) -wget_wch(WINDOW *win, wint_t *result) -{ - int code; - char buffer[(MB_LEN_MAX * 9) + 1]; /* allow some redundant shifts */ - int status; - size_t count = 0; - unsigned long value; - wchar_t wch; -#ifndef state_unused - mbstate_t state; -#endif - - T((T_CALLED("wget_wch(%p)"), win)); - - /* - * We can get a stream of single-byte characters and KEY_xxx codes from - * _nc_wgetch(), while we want to return a wide character or KEY_xxx code. - */ - for (;;) { - T(("reading %d of %d", count + 1, sizeof(buffer))); - code = _nc_wgetch(win, &value, TRUE); - if (code == ERR) { - break; - } else if (code == KEY_CODE_YES) { - /* - * If we were processing an incomplete multibyte character, return - * an error since we have a KEY_xxx code which interrupts it. For - * some cases, we could improve this by writing a new version of - * lib_getch.c(!), but it is not clear whether the improvement - * would be worth the effort. - */ - if (count != 0) { - ungetch((int) value); - code = ERR; - } - break; - } else if (count + 1 >= sizeof(buffer)) { - ungetch((int) value); - code = ERR; - break; - } else { - buffer[count++] = UChar(value); - reset_mbytes(state); - status = count_mbytes(buffer, count, state); - if (status >= 0) { - reset_mbytes(state); - if (check_mbytes(wch, buffer, count, state) != status) { - code = ERR; /* the two calls should match */ - ungetch((int) value); - } - value = wch; - break; - } - } - } - *result = value; - T(("result %#lo", value)); - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_get_wstr.c b/src/libs/ncurses/ncurses/widechar/lib_get_wstr.c deleted file mode 100644 index bf39aa1a18..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_get_wstr.c +++ /dev/null @@ -1,231 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2002-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey * - ****************************************************************************/ - -/* -** lib_get_wstr.c -** -** The routine wgetn_wstr(). -** -*/ - -#include -#include - -MODULE_ID("$Id: lib_get_wstr.c,v 1.8 2004/10/16 21:55:36 tom Exp $") - -static int -wadd_wint(WINDOW *win, wint_t *src) -{ - cchar_t tmp; - wchar_t wch[2]; - - wch[0] = *src; - wch[1] = 0; - setcchar(&tmp, wch, A_NORMAL, 0, NULL); - return wadd_wch(win, &tmp); -} - -/* - * This wipes out the last character, no matter whether it was a tab, control - * or other character, and handles reverse wraparound. - */ -static wint_t * -WipeOut(WINDOW *win, int y, int x, wint_t *first, wint_t *last, bool echoed) -{ - if (last > first) { - *--last = '\0'; - if (echoed) { - int y1 = win->_cury; - int x1 = win->_curx; - int n; - - wmove(win, y, x); - for (n = 0; first[n] != 0; ++n) { - wadd_wint(win, first + n); - } - getyx(win, y, x); - while (win->_cury < y1 - || (win->_cury == y1 && win->_curx < x1)) - waddch(win, (chtype) ' '); - - wmove(win, y, x); - } - } - return last; -} - -NCURSES_EXPORT(int) -wgetn_wstr(WINDOW *win, wint_t *str, int maxlen) -{ - TTY buf; - bool oldnl, oldecho, oldraw, oldcbreak; - wint_t erasec; - wint_t killc; - wint_t *oldstr = str; - wint_t *tmpstr = str; - wint_t ch; - int y, x, code; - - T((T_CALLED("wgetn_wstr(%p,%p, %d)"), win, str, maxlen)); - - if (!win) - returnCode(ERR); - - _nc_get_tty_mode(&buf); - - oldnl = SP->_nl; - oldecho = SP->_echo; - oldraw = SP->_raw; - oldcbreak = SP->_cbreak; - nl(); - noecho(); - noraw(); - cbreak(); - - erasec = erasechar(); - killc = killchar(); - - getyx(win, y, x); - - if (is_wintouched(win) || (win->_flags & _HASMOVED)) - wrefresh(win); - - while ((code = wget_wch(win, &ch)) != ERR) { - /* - * Map special characters into key-codes. - */ - if (ch == '\r') - ch = '\n'; - if (ch == '\n') { - code = KEY_CODE_YES; - ch = KEY_ENTER; - } - if (ch < KEY_MIN) { - if (ch == erasec) { - ch = KEY_BACKSPACE; - code = KEY_CODE_YES; - } - if (ch == killc) { - ch = KEY_EOL; - code = KEY_CODE_YES; - } - } - if (code == KEY_CODE_YES) { - /* - * Some terminals (the Wyse-50 is the most common) generate a \n - * from the down-arrow key. With this logic, it's the user's - * choice whether to set kcud=\n for wget_wch(); terminating - * *getn_wstr() with \n should work either way. - */ - if (ch == KEY_DOWN || ch == KEY_ENTER) { - if (oldecho == TRUE - && win->_cury == win->_maxy - && win->_scroll) - wechochar(win, (chtype) '\n'); - break; - } - if (ch == KEY_LEFT || ch == KEY_BACKSPACE) { - if (tmpstr > oldstr) { - tmpstr = WipeOut(win, y, x, oldstr, tmpstr, oldecho); - } - } else if (ch == KEY_EOL) { - while (tmpstr > oldstr) { - tmpstr = WipeOut(win, y, x, oldstr, tmpstr, oldecho); - } - } else { - beep(); - } - } else if (maxlen >= 0 && tmpstr - oldstr >= maxlen) { - beep(); - } else { - *tmpstr++ = ch; - *tmpstr = 0; - if (oldecho == TRUE) { - int oldy = win->_cury; - - if (wadd_wint(win, tmpstr - 1) == ERR) { - /* - * We can't really use the lower-right corner for input, - * since it'll mess up bookkeeping for erases. - */ - win->_flags &= ~_WRAPPED; - waddch(win, (chtype) ' '); - tmpstr = WipeOut(win, y, x, oldstr, tmpstr, oldecho); - continue; - } else if (win->_flags & _WRAPPED) { - /* - * If the last waddch forced a wrap & scroll, adjust our - * reference point for erasures. - */ - if (win->_scroll - && oldy == win->_maxy - && win->_cury == win->_maxy) { - if (--y <= 0) { - y = 0; - } - } - win->_flags &= ~_WRAPPED; - } - wrefresh(win); - } - } - } - - win->_curx = 0; - win->_flags &= ~_WRAPPED; - if (win->_cury < win->_maxy) - win->_cury++; - wrefresh(win); - - /* Restore with a single I/O call, to fix minor asymmetry between - * raw/noraw, etc. - */ - SP->_nl = oldnl; - SP->_echo = oldecho; - SP->_raw = oldraw; - SP->_cbreak = oldcbreak; - - (void) _nc_set_tty_mode(&buf); - - *tmpstr = 0; - if (code == ERR) { - if (tmpstr == oldstr) { - *tmpstr++ = WEOF; - *tmpstr = 0; - } - returnCode(ERR); - } - - T(("wgetn_wstr returns %s", _nc_viswibuf(oldstr))); - - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_hline_set.c b/src/libs/ncurses/ncurses/widechar/lib_hline_set.c deleted file mode 100644 index 43175de834..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_hline_set.c +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas Dickey 2002 * - ****************************************************************************/ - -/* -** lib_hline_set.c -** -** The routine whline_set(). -** -*/ - -#include - -MODULE_ID("$Id: lib_hline_set.c,v 1.2 2002/03/23 21:35:34 tom Exp $") - -NCURSES_EXPORT(int) -whline_set(WINDOW *win, const cchar_t * ch, int n) -{ - int code = ERR; - NCURSES_SIZE_T start; - NCURSES_SIZE_T end; - - T((T_CALLED("whline_set(%p,%s,%d)"), win, _tracecchar_t(ch), n)); - - if (win) { - struct ldat *line = &(win->_line[win->_cury]); - NCURSES_CH_T wch; - - start = win->_curx; - end = start + n - 1; - if (end > win->_maxx) - end = win->_maxx; - - CHANGED_RANGE(line, start, end); - - if (ch == 0) - wch = *WACS_HLINE; - else - wch = *ch; - wch = _nc_render(win, wch); - - while (end >= start) { - line->text[end] = wch; - end--; - } - - _nc_synchook(win); - code = OK; - } - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_in_wch.c b/src/libs/ncurses/ncurses/widechar/lib_in_wch.c deleted file mode 100644 index 39af409d79..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_in_wch.c +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2002,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas Dickey 2002,2004 * - ****************************************************************************/ - -/* -** lib_in_wch.c -** -** The routine win_wch(). -** -*/ - -#include - -MODULE_ID("$Id: lib_in_wch.c,v 1.3 2004/05/16 00:13:52 tom Exp $") - -NCURSES_EXPORT(int) -win_wch(WINDOW *win, cchar_t * wcval) -{ - int row, col; - int code = OK; - - TR(TRACE_CCALLS, (T_CALLED("win_wch(%p,%p)"), win, wcval)); - if (win != 0 - && wcval != 0) { - getyx(win, row, col); - - *wcval = win->_line[row].text[col]; - } else { - code = ERR; - } - TR(TRACE_CCALLS, (T_RETURN("%d"), code)); - return (code); -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_in_wchnstr.c b/src/libs/ncurses/ncurses/widechar/lib_in_wchnstr.c deleted file mode 100644 index 41ba18ccdf..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_in_wchnstr.c +++ /dev/null @@ -1,68 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2002,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas Dickey 2002,2004 * - ****************************************************************************/ - -/* -** lib_in_wchnstr.c -** -** The routine win_wchnstr(). -** -*/ - -#include - -MODULE_ID("$Id: lib_in_wchnstr.c,v 1.3 2004/05/16 00:12:30 tom Exp $") - -NCURSES_EXPORT(int) -win_wchnstr(WINDOW *win, cchar_t * wchstr, int n) -{ - int code = OK; - - TR(TRACE_CALLS, (T_CALLED("win_wchnstr(%p,%p,%d)"), win, wchstr, n)); - if (win != 0 - && wchstr != 0) { - int row, col; - int j; - - getyx(win, row, col); - - if (n < 0) { - n = getmaxx(win) + 1 - getcurx(win); - } - for (j = 0; j < n; ++j) { - wchstr[j] = win->_line[row].text[col + j]; - } - T(("result = %s", _nc_viscbuf(wchstr, n))); - } else { - code = ERR; - } - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_ins_wch.c b/src/libs/ncurses/ncurses/widechar/lib_ins_wch.c deleted file mode 100644 index 7bc7ac8c4e..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_ins_wch.c +++ /dev/null @@ -1,144 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2002-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas Dickey 2002 * - ****************************************************************************/ - -/* -** lib_ins_wch.c -** -** The routine wins_wch(). -** -*/ - -#include - -MODULE_ID("$Id: lib_ins_wch.c,v 1.7 2005/09/17 19:25:13 tom Exp $") - -/* - * Insert the given character, updating the current location to simplify - * inserting a string. - */ -static int -_nc_insert_wch(WINDOW *win, const cchar_t *wch) -{ - int cells = wcwidth(CharOf(CHDEREF(wch))); - int cell; - - if (cells <= 0) - cells = 1; - - if (win->_curx <= win->_maxx) { - struct ldat *line = &(win->_line[win->_cury]); - NCURSES_CH_T *end = &(line->text[win->_curx]); - NCURSES_CH_T *temp1 = &(line->text[win->_maxx]); - NCURSES_CH_T *temp2 = temp1 - cells; - - CHANGED_TO_EOL(line, win->_curx, win->_maxx); - while (temp1 > end) - *temp1-- = *temp2--; - - *temp1 = _nc_render(win, *wch); - for (cell = 1; cell < cells; ++cell) { - SetWidecExt(temp1[cell], cell); - } - - win->_curx++; - } - return OK; -} - -NCURSES_EXPORT(int) -wins_wch(WINDOW *win, const cchar_t *wch) -{ - NCURSES_SIZE_T oy; - NCURSES_SIZE_T ox; - int code = ERR; - - T((T_CALLED("wins_wch(%p, %s)"), win, _tracecchar_t(wch))); - - if (win != 0) { - oy = win->_cury; - ox = win->_curx; - - code = _nc_insert_wch(win, wch); - - win->_curx = ox; - win->_cury = oy; - _nc_synchook(win); - } - returnCode(code); -} - -NCURSES_EXPORT(int) -wins_nwstr(WINDOW *win, const wchar_t *wstr, int n) -{ - int code = ERR; - NCURSES_SIZE_T oy; - NCURSES_SIZE_T ox; - const wchar_t *cp; - - T((T_CALLED("wins_nwstr(%p,%s,%d)"), win, _nc_viswbufn(wstr, n), n)); - - if (win != 0 - && wstr != 0) { - if (n < 1) - n = wcslen(wstr); - code = OK; - if (n > 0) { - oy = win->_cury; - ox = win->_curx; - for (cp = wstr; *cp && ((cp - wstr) < n); cp++) { - int len = wcwidth(*cp); - - if (len != 1) { - cchar_t tmp_cchar; - wchar_t tmp_wchar = *cp; - memset(&tmp_cchar, 0, sizeof(tmp_cchar)); - (void) setcchar(&tmp_cchar, - &tmp_wchar, - WA_NORMAL, - 0, - (void *) 0); - code = _nc_insert_wch(win, &tmp_cchar); - } else { - /* tabs, other ASCII stuff */ - code = _nc_insert_ch(win, (chtype) (*cp)); - } - if (code != OK) - break; - } - - win->_curx = ox; - win->_cury = oy; - _nc_synchook(win); - } - } - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_inwstr.c b/src/libs/ncurses/ncurses/widechar/lib_inwstr.c deleted file mode 100644 index 2207a5f5d1..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_inwstr.c +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2002,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas Dickey * - ****************************************************************************/ - -/* -** lib_inwstr.c -** -** The routines winnwstr() and winwstr(). -** -*/ - -#include - -MODULE_ID("$Id: lib_inwstr.c,v 1.4 2004/10/23 20:41:28 tom Exp $") - -NCURSES_EXPORT(int) -winnwstr(WINDOW *win, wchar_t *wstr, int n) -{ - int row, col, inx; - int count = 0; - int last = 0; - cchar_t *text; - wchar_t wch; - - T((T_CALLED("winnwstr(%p,%p,%d)"), win, wstr, n)); - if (wstr != 0) { - if (win) { - getyx(win, row, col); - - text = win->_line[row].text; - while (count < n && count != ERR) { - if (!isWidecExt(text[col])) { - for (inx = 0; (inx < CCHARW_MAX) - && ((wch = text[col].chars[inx]) != 0); - ++inx) { - if (count + 1 > n) { - if ((count = last) == 0) { - count = ERR; /* error if we store nothing */ - } - break; - } - wstr[count++] = wch; - } - } - last = count; - if (++col > win->_maxx) { - break; - } - } - } - if (count > 0) { - wstr[count] = '\0'; - T(("winnwstr returns %s", _nc_viswbuf(wstr))); - } - } - returnCode(count); -} - -/* - * X/Open says winwstr() returns OK if not ERR. If that is not a blunder, it - * must have a null termination on the string (see above). Unlike winnstr(), - * it does not define what happens for a negative count with winnwstr(). - */ -NCURSES_EXPORT(int) -winwstr(WINDOW *win, wchar_t *wstr) -{ - int result = OK; - T((T_CALLED("winwstr(%p,%p)"), win, wstr)); - if (winnwstr(win, wstr, CCHARW_MAX * (win->_maxx - win->_curx + 1)) == ERR) - result = ERR; - returnCode(result); -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_pecho_wchar.c b/src/libs/ncurses/ncurses/widechar/lib_pecho_wchar.c deleted file mode 100644 index e612775743..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_pecho_wchar.c +++ /dev/null @@ -1,57 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey * - ****************************************************************************/ - -#include - -MODULE_ID("$Id: lib_pecho_wchar.c,v 1.1 2004/01/03 21:42:01 tom Exp $") - -NCURSES_EXPORT(int) -pecho_wchar(WINDOW *pad, const cchar_t * wch) -{ - T((T_CALLED("pecho_wchar(%p, %s)"), pad, _tracech_t(wch))); - - if (pad == 0) - returnCode(ERR); - - if (!(pad->_flags & _ISPAD)) - returnCode(wecho_wchar(pad, wch)); - - wadd_wch(pad, wch); - prefresh(pad, pad->_pad._pad_y, - pad->_pad._pad_x, - pad->_pad._pad_top, - pad->_pad._pad_left, - pad->_pad._pad_bottom, - pad->_pad._pad_right); - - returnCode(OK); -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_slk_wset.c b/src/libs/ncurses/ncurses/widechar/lib_slk_wset.c deleted file mode 100644 index 646b5d9e2f..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_slk_wset.c +++ /dev/null @@ -1,72 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2003-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey * - ****************************************************************************/ - -/* - * lib_slk_wset.c - * Set soft label text. - */ -#include - -#if HAVE_WCTYPE_H -#include -#endif - -MODULE_ID("$Id: lib_slk_wset.c,v 1.11 2005/01/16 01:03:53 tom Exp $") - -NCURSES_EXPORT(int) -slk_wset(int i, const wchar_t *astr, int format) -{ - int result = ERR; - size_t arglen; - const wchar_t *str; - char *mystr; - mbstate_t state; - - T((T_CALLED("slk_wset(%d, %s, %d)"), i, _nc_viswbuf(astr), format)); - - init_mb(state); - str = astr; - if ((arglen = wcsrtombs(NULL, &str, 0, &state)) != (size_t) -1) { - if ((mystr = (char *) _nc_doalloc(0, arglen + 1)) != 0) { - str = astr; - if (wcsrtombs(mystr, &str, arglen, &state) != (size_t) -1) { - /* glibc documentation claims that the terminating L'\0' - * is written, but it is not... - */ - mystr[arglen] = 0; - result = slk_set(i, mystr, format); - } - free(mystr); - } - } - returnCode(result); -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_unget_wch.c b/src/libs/ncurses/ncurses/widechar/lib_unget_wch.c deleted file mode 100644 index 62ec89d750..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_unget_wch.c +++ /dev/null @@ -1,99 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2002-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 2002 * - ****************************************************************************/ - -/* -** lib_unget_wch.c -** -** The routine unget_wch(). -** -*/ - -#include - -MODULE_ID("$Id: lib_unget_wch.c,v 1.7 2004/12/05 01:21:31 tom Exp $") - -#ifdef linux -/* - * glibc's wcrtomb() function is broken - does not return the proper value - * when target is null (noted for glibc 2.3.2). This is a workaround. - */ -NCURSES_EXPORT(size_t) -_nc_wcrtomb(char *target, wchar_t source, mbstate_t * state) -{ - if (target == 0) { - wchar_t temp[2]; - const wchar_t *tempp = temp; - temp[0] = source; - temp[1] = 0; - return wcsrtombs(NULL, &tempp, 0, state); - } - return wcrtomb(target, source, state); -} -#endif - -NCURSES_EXPORT(int) -unget_wch(const wchar_t wch) -{ - int result = OK; - mbstate_t state; - size_t length; - int n; - - T((T_CALLED("unget_wch(%#lx)"), (unsigned long) wch)); - - init_mb(state); - length = _nc_wcrtomb(0, wch, &state); - - if (length != (size_t) (-1) - && length != 0) { - char *string; - - if ((string = (char *) malloc(length)) != 0) { - init_mb(state); - wcrtomb(string, wch, &state); - - for (n = (int) (length - 1); n >= 0; --n) { - if (ungetch(string[n]) != OK) { - result = ERR; - break; - } - } - free(string); - } else { - result = ERR; - } - } else { - result = ERR; - } - - returnCode(result); -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_vid_attr.c b/src/libs/ncurses/ncurses/widechar/lib_vid_attr.c deleted file mode 100644 index c41a09ff9f..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_vid_attr.c +++ /dev/null @@ -1,274 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2002-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey * - ****************************************************************************/ - -#include -#include - -MODULE_ID("$Id: lib_vid_attr.c,v 1.3 2005/01/29 18:34:00 tom Exp $") - -#define doPut(mode) TPUTS_TRACE(#mode); tputs(mode, 1, outc) - -#define TurnOn(mask,mode) \ - if ((turn_on & mask) && mode) { doPut(mode); } - -#define TurnOff(mask,mode) \ - if ((turn_off & mask) && mode) { doPut(mode); turn_off &= ~mask; } - - /* if there is no current screen, assume we *can* do color */ -#define SetColorsIf(why, old_attr, old_pair) \ - if (can_color && (why)) { \ - TR(TRACE_ATTRS, ("old pair = %d -- new pair = %d", old_pair, pair)); \ - if ((pair != old_pair) \ - || (fix_pair0 && (pair == 0)) \ - || (reverse ^ ((old_attr & A_REVERSE) != 0))) { \ - _nc_do_color(old_pair, pair, reverse, outc); \ - } \ - } - -#define set_color(mode, pair) mode &= ALL_BUT_COLOR; mode |= COLOR_PAIR(pair) - -NCURSES_EXPORT(int) -vid_puts(attr_t newmode, short pair, void *opts GCC_UNUSED, int (*outc) (int)) -{ -#if NCURSES_EXT_COLORS - static attr_t previous_attr = A_NORMAL; - static int previous_pair = 0; - - attr_t turn_on, turn_off; - bool reverse = FALSE; - bool can_color = (SP == 0 || SP->_coloron); -#if NCURSES_EXT_FUNCS - bool fix_pair0 = (SP != 0 && SP->_coloron && !SP->_default_color); -#else -#define fix_pair0 FALSE -#endif - - T((T_CALLED("vid_puts(%s,%d)"), _traceattr(newmode), pair)); - - /* this allows us to go on whether or not newterm() has been called */ - if (SP) { - previous_attr = AttrOf(SCREEN_ATTRS(SP)); - previous_pair = GetPair(SCREEN_ATTRS(SP)); - } - - TR(TRACE_ATTRS, ("previous attribute was %s, %d", - _traceattr(previous_attr), previous_pair)); - -#if !USE_XMC_SUPPORT - if ((SP != 0) - && (magic_cookie_glitch > 0)) - newmode &= ~(SP->_xmc_suppress); -#endif - - /* - * If we have a terminal that cannot combine color with video - * attributes, use the colors in preference. - */ - if ((pair != 0 - || fix_pair0) - && (no_color_video > 0)) { - /* - * If we had chosen the A_xxx definitions to correspond to the - * no_color_video mask, we could simply shift it up and mask off the - * attributes. But we did not (actually copied Solaris' definitions). - * However, this is still simpler/faster than a lookup table. - * - * The 63 corresponds to A_STANDOUT, A_UNDERLINE, A_REVERSE, A_BLINK, - * A_DIM, A_BOLD which are 1:1 with no_color_video. The bits that - * correspond to A_INVIS, A_PROTECT (192) must be shifted up 1 and - * A_ALTCHARSET (256) down 2 to line up. We use the NCURSES_BITS - * macro so this will work properly for the wide-character layout. - */ - unsigned value = no_color_video; - attr_t mask = NCURSES_BITS((value & 63) - | ((value & 192) << 1) - | ((value & 256) >> 2), 8); - - if ((mask & A_REVERSE) != 0 - && (newmode & A_REVERSE) != 0) { - reverse = TRUE; - mask &= ~A_REVERSE; - } - newmode &= ~mask; - } - - if (newmode == previous_attr - && pair == previous_pair) - returnCode(OK); - - if (reverse) { - newmode &= ~A_REVERSE; - } - - turn_off = (~newmode & previous_attr) & ALL_BUT_COLOR; - turn_on = (newmode & ~previous_attr) & ALL_BUT_COLOR; - - SetColorsIf(((pair == 0) && !fix_pair0), previous_attr, previous_pair); - - if (newmode == A_NORMAL) { - if ((previous_attr & A_ALTCHARSET) && exit_alt_charset_mode) { - doPut(exit_alt_charset_mode); - previous_attr &= ~A_ALTCHARSET; - } - if (previous_attr) { - if (exit_attribute_mode) { - doPut(exit_attribute_mode); - } else { - if (!SP || SP->_use_rmul) { - TurnOff(A_UNDERLINE, exit_underline_mode); - } - if (!SP || SP->_use_rmso) { - TurnOff(A_STANDOUT, exit_standout_mode); - } - } - previous_attr &= ALL_BUT_COLOR; - previous_pair = 0; - } - - SetColorsIf((pair != 0) || fix_pair0, previous_attr, previous_pair); - } else if (set_attributes) { - if (turn_on || turn_off) { - TPUTS_TRACE("set_attributes"); - tputs(tparm(set_attributes, - (newmode & A_STANDOUT) != 0, - (newmode & A_UNDERLINE) != 0, - (newmode & A_REVERSE) != 0, - (newmode & A_BLINK) != 0, - (newmode & A_DIM) != 0, - (newmode & A_BOLD) != 0, - (newmode & A_INVIS) != 0, - (newmode & A_PROTECT) != 0, - (newmode & A_ALTCHARSET) != 0), 1, outc); - previous_attr &= ALL_BUT_COLOR; - previous_pair = 0; - } - SetColorsIf((pair != 0) || fix_pair0, previous_attr, previous_pair); - } else { - - TR(TRACE_ATTRS, ("turning %s off", _traceattr(turn_off))); - - TurnOff(A_ALTCHARSET, exit_alt_charset_mode); - - if (!SP || SP->_use_rmul) { - TurnOff(A_UNDERLINE, exit_underline_mode); - } - - if (!SP || SP->_use_rmso) { - TurnOff(A_STANDOUT, exit_standout_mode); - } - - if (turn_off && exit_attribute_mode) { - doPut(exit_attribute_mode); - turn_on |= (newmode & ALL_BUT_COLOR); - previous_attr &= ALL_BUT_COLOR; - previous_pair = 0; - } - SetColorsIf((pair != 0) || fix_pair0, previous_attr, previous_pair); - - TR(TRACE_ATTRS, ("turning %s on", _traceattr(turn_on))); - /* *INDENT-OFF* */ - TurnOn(A_ALTCHARSET, enter_alt_charset_mode); - TurnOn(A_BLINK, enter_blink_mode); - TurnOn(A_BOLD, enter_bold_mode); - TurnOn(A_DIM, enter_dim_mode); - TurnOn(A_REVERSE, enter_reverse_mode); - TurnOn(A_STANDOUT, enter_standout_mode); - TurnOn(A_PROTECT, enter_protected_mode); - TurnOn(A_INVIS, enter_secure_mode); - TurnOn(A_UNDERLINE, enter_underline_mode); -#if USE_WIDEC_SUPPORT - TurnOn(A_HORIZONTAL, enter_horizontal_hl_mode); - TurnOn(A_LEFT, enter_left_hl_mode); - TurnOn(A_LOW, enter_low_hl_mode); - TurnOn(A_RIGHT, enter_right_hl_mode); - TurnOn(A_TOP, enter_top_hl_mode); - TurnOn(A_VERTICAL, enter_vertical_hl_mode); -#endif - /* *INDENT-ON* */ - - } - - if (reverse) - newmode |= A_REVERSE; - - if (SP) { - SetAttr(SCREEN_ATTRS(SP), newmode); - SetPair(SCREEN_ATTRS(SP), pair); - } else { - previous_attr = newmode; - previous_pair = pair; - } - - returnCode(OK); -#else - T((T_CALLED("vid_puts(%s,%d)"), _traceattr(newmode), pair)); - set_color(newmode, pair); - returnCode(vidputs(newmode, outc)); -#endif -} - -#undef vid_attr -NCURSES_EXPORT(int) -vid_attr(attr_t newmode, short pair, void *opts) -{ - T((T_CALLED("vid_attr(%s,%d)"), _traceattr(newmode), pair)); - returnCode(vid_puts(newmode, pair, opts, _nc_outch)); -} - -/* - * This implementation uses the same mask values for A_xxx and WA_xxx, so - * we can use termattrs() for part of the logic. - */ -NCURSES_EXPORT(attr_t) -term_attrs(void) -{ - attr_t attrs; - - T((T_CALLED("term_attrs()"))); - attrs = termattrs(); - - /* these are only supported for wide-character mode */ - if (enter_horizontal_hl_mode) - attrs |= WA_HORIZONTAL; - if (enter_left_hl_mode) - attrs |= WA_LEFT; - if (enter_low_hl_mode) - attrs |= WA_LOW; - if (enter_right_hl_mode) - attrs |= WA_RIGHT; - if (enter_top_hl_mode) - attrs |= WA_TOP; - if (enter_vertical_hl_mode) - attrs |= WA_VERTICAL; - - returnAttr(attrs); -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_vline_set.c b/src/libs/ncurses/ncurses/widechar/lib_vline_set.c deleted file mode 100644 index af42df1f24..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_vline_set.c +++ /dev/null @@ -1,78 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas Dickey 2002 * - ****************************************************************************/ - -/* -** lib_vline_set.c -** -** The routine wvline_set(). -** -*/ - -#include - -MODULE_ID("$Id: lib_vline_set.c,v 1.2 2002/03/23 21:36:01 tom Exp $") - -NCURSES_EXPORT(int) -wvline_set(WINDOW *win, const cchar_t * ch, int n) -{ - int code = ERR; - NCURSES_SIZE_T row, col; - NCURSES_SIZE_T end; - - T((T_CALLED("wvline(%p,%s,%d)"), win, _tracecchar_t(ch), n)); - - if (win) { - NCURSES_CH_T wch; - row = win->_cury; - col = win->_curx; - end = row + n - 1; - if (end > win->_maxy) - end = win->_maxy; - - if (ch == 0) - wch = *WACS_VLINE; - else - wch = *ch; - wch = _nc_render(win, wch); - - while (end >= row) { - struct ldat *line = &(win->_line[end]); - line->text[col] = wch; - CHANGED_CELL(line, col); - end--; - } - - _nc_synchook(win); - code = OK; - } - returnCode(code); -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_wacs.c b/src/libs/ncurses/ncurses/widechar/lib_wacs.c deleted file mode 100644 index c956cfdba7..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_wacs.c +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas Dickey 2002 * - ****************************************************************************/ - -#include -#include - -MODULE_ID("$Id: lib_wacs.c,v 1.6 2002/12/21 12:30:19 tom Exp $") - -NCURSES_EXPORT_VAR(cchar_t) * _nc_wacs = 0; - -NCURSES_EXPORT(void) -_nc_init_wacs(void) -{ - /* *INDENT-OFF* */ - static const struct { - int map; - int value[2]; - } table[] = { - /* VT100 symbols */ - { 'l', { '+', 0x250c }}, /* upper left corner */ - { 'm', { '+', 0x2514 }}, /* lower left corner */ - { 'k', { '+', 0x2510 }}, /* upper right corner */ - { 'j', { '+', 0x2518 }}, /* lower right corner */ - { 't', { '+', 0x251c }}, /* tee pointing left */ - { 'u', { '+', 0x2524 }}, /* tee pointing right */ - { 'v', { '+', 0x2534 }}, /* tee pointing up */ - { 'w', { '+', 0x252c }}, /* tee pointing down */ - { 'q', { '-', 0x2500 }}, /* horizontal line */ - { 'x', { '|', 0x2502 }}, /* vertical line */ - { 'n', { '+', 0x253c }}, /* large plus or crossover */ - { 'o', { '~', 0x23ba }}, /* scan line 1 */ - { 's', { '_', 0x23bd }}, /* scan line 9 */ - { '`', { '+', 0x25c6 }}, /* diamond */ - { 'a', { ':', 0x2592 }}, /* checker board (stipple) */ - { 'f', { '\'', 0x00b0 }}, /* degree symbol */ - { 'g', { '#', 0x00b1 }}, /* plus/minus */ - { '~', { 'o', 0x00b7 }}, /* bullet */ - /* Teletype 5410v1 symbols */ - { ',', { '<', 0x2190 }}, /* arrow pointing left */ - { '+', { '>', 0x2192 }}, /* arrow pointing right */ - { '.', { 'v', 0x2193 }}, /* arrow pointing down */ - { '-', { '^', 0x2191 }}, /* arrow pointing up */ - { 'h', { '#', 0x2592 }}, /* board of squares */ - { 'i', { '#', 0x2603 }}, /* lantern symbol */ - { '0', { '#', 0x25ae }}, /* solid square block */ - /* these defaults were invented for ncurses */ - { 'p', { '-', 0x23bb }}, /* scan line 3 */ - { 'r', { '-', 0x23bc }}, /* scan line 7 */ - { 'y', { '<', 0x2264 }}, /* less-than-or-equal-to */ - { 'z', { '>', 0x2265 }}, /* greater-than-or-equal-to */ - { '{', { '*', 0x03c0 }}, /* greek pi */ - { '|', { '!', 0x2260 }}, /* not-equal */ - { '}', { 'f', 0x00a3 }}, /* pound-sterling symbol */ - }; - /* *INDENT-ON* */ - - unsigned n, m; - int active = _nc_unicode_locale(); - - /* - * If we're running in a UTF-8 locale, will use the Unicode equivalents - * rather than the terminfo information. Actually the terminfo should - * be the rule, but there are people who are offended by the notion that - * a Unicode-capable terminal would have something resembling a mode. - * So the smacs/rmacs may be disabled -- sometime. - */ - T(("initializing WIDE-ACS map (Unicode is%s active)", - active ? "" : " not")); - - _nc_wacs = typeCalloc(cchar_t, ACS_LEN); - for (n = 0; n < SIZEOF(table); ++n) { - m = table[n].map; - if (active) { - SetChar(_nc_wacs[m], table[n].value[active], A_NORMAL); - } else if (acs_map[m] & A_ALTCHARSET) { - SetChar(_nc_wacs[m], m, A_ALTCHARSET); - } else { - SetChar(_nc_wacs[m], table[n].value[0], A_NORMAL); - } - T(("#%d, SetChar(%c, %#04x) = %s", - n, m, - table[n].value[active], - _tracecchar_t(&_nc_wacs[m]))); - } -} diff --git a/src/libs/ncurses/ncurses/widechar/lib_wunctrl.c b/src/libs/ncurses/ncurses/widechar/lib_wunctrl.c deleted file mode 100644 index cd7c56ca73..0000000000 --- a/src/libs/ncurses/ncurses/widechar/lib_wunctrl.c +++ /dev/null @@ -1,57 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2001-2003,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/* -** lib_wunctrl.c -** -** The routine wunctrl(). -** -*/ - -#include - -#if USE_WIDEC_SUPPORT - -MODULE_ID("$Id: lib_wunctrl.c,v 1.8 2005/04/16 18:10:44 tom Exp $") - -NCURSES_EXPORT(wchar_t *) -wunctrl(cchar_t *wc) -{ - static wchar_t str[5], *sp; - - if (Charable(*wc)) { - const char *p = unctrl((unsigned) _nc_to_char((wint_t) CharOf(*wc))); - - for (sp = str; *p;) - *sp++ = _nc_to_widechar(*p++); - return str; - } else - return wc->chars; -} - -#endif diff --git a/src/libs/ncurses/panel/Makefile b/src/libs/ncurses/panel/Makefile deleted file mode 100644 index a7623d849e..0000000000 --- a/src/libs/ncurses/panel/Makefile +++ /dev/null @@ -1,483 +0,0 @@ -# $Id: Makefile.in,v 1.46 2003/11/01 22:44:33 tom Exp $ -############################################################################## -# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996-2002 -# -# Makefile for panels source code. -# -# This makes the following: -# libraries (normal/debug/profile/shared) -# -# The variable 'srcdir' refers to the source-distribution, and can be set with -# the configure script by "--srcdir=DIR". -# -# The rules are organized to produce the libraries for the configured models, - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -x = -o = .o - -MODEL = normal -DESTDIR = -srcdir = . -prefix = /usr/local -exec_prefix = ${prefix} -bindir = ${exec_prefix}/bin -libdir = ${exec_prefix}/lib -includedir = $(prefix)/include/ncurses -datadir = ${prefix}/share - -LIBTOOL = -LIBTOOL_CLEAN = -LIBTOOL_COMPILE = -LIBTOOL_LINK = -LIBTOOL_INSTALL = -LIBTOOL_UNINSTALL = - -INSTALL = /bin/install -c -INSTALL_LIB = /bin/install -c -m 644 -INSTALL_PROG = @INSTALL_PROG@ -INSTALL_DATA = ${INSTALL} -m 644 - -AR = ar -AR_OPTS = rv -AWK = gawk -LD = ld -LN_S = ln -s - -CC = gcc -CPP = gcc -E -CFLAGS = -O2 - -CPPFLAGS = -I../ncurses -DHAVE_CONFIG_H -I. -I../include -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=199506L -DNDEBUG -I$(includedir) - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) - -CFLAGS_LIBTOOL = $(CCFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) -g -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) -fPIC - -CFLAGS_DEFAULT = $(CFLAGS_NORMAL) - -LINK = $(LIBTOOL_LINK) $(CC) -LDFLAGS = - -SHLIB_DIRS = -L../lib -SHLIB_LIST = $(SHLIB_DIRS) -lncurses - -MK_SHARED_LIB = $(CC) -o $@ -Xlinker -soname=`basename $@` -nostart -e 0 - -NCURSES_MAJOR = 5 -NCURSES_MINOR = 5 -REL_VERSION = 5.5 -ABI_VERSION = 5 - -RANLIB = ranlib - -IMPORT_LIB = -SHARED_LIB = -LIBRARIES = ../lib/libpanel.a ../lib/libpanel_g.a - -LINT = -LINT_OPTS = -LINT_LIBS = -lpanel -lncurses - -AUTO_SRC = \ - ../include/panel.h - -################################################################################ -all \ -libs \ -install :: $(AUTO_SRC) $(LIBRARIES) - -sources: $(AUTO_SRC) - -$(DESTDIR)$(bindir) \ -$(DESTDIR)$(libdir) : - sh $(srcdir)/../mkinstalldirs $@ - -# make a copy to simplify include-paths while still keeping panel's include -# file in this directory. -../include/panel.h : $(srcdir)/panel.h - -rm -f $@ - cp $(srcdir)/panel.h $@ - -PANEL_PRIV_H = \ - $(srcdir)/panel.priv.h \ - $(srcdir)/panel.h - -tags: - ctags *.[ch] - -TAGS: - etags *.[ch] - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace - -clean :: mostlyclean - -rm -f $(AUTO_SRC) - -distclean :: clean - -rm -f Makefile - -realclean :: distclean - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### - -# generated by mk-0th.awk -# libname: panel -# subsets: termlib+ext_tinfo+base+ext_funcs - -.SUFFIXES: .c .cc .h .i .ii -.c.i : - $(CPP) $(CPPFLAGS) $< >$@ -.cc.ii : - $(CPP) $(CPPFLAGS) $< >$@ -.h.i : - $(CPP) $(CPPFLAGS) $< >$@ - -C_SRC = \ - $(srcdir)/panel.c \ - $(srcdir)/p_above.c \ - $(srcdir)/p_below.c \ - $(srcdir)/p_bottom.c \ - $(srcdir)/p_delete.c \ - $(srcdir)/p_hide.c \ - $(srcdir)/p_hidden.c \ - $(srcdir)/p_move.c \ - $(srcdir)/p_new.c \ - $(srcdir)/p_replace.c \ - $(srcdir)/p_show.c \ - $(srcdir)/p_top.c \ - $(srcdir)/p_update.c \ - $(srcdir)/p_user.c \ - $(srcdir)/p_win.c - -# Producing llib-lpanel is time-consuming, so there's no direct-dependency for -# it in the lintlib rule. We'll only remove in the cleanest setup. -clean :: - rm -f llib-lpanel.* - -realclean :: - rm -f llib-lpanel - -llib-lpanel : $(C_SRC) - cproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(C_SRC) >$@ - -lintlib : - sh $(srcdir)/../misc/makellib panel $(CPPFLAGS) -lint : - $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(C_SRC) $(LINT_LIBS) - -# generated by mk-1st.awk (subset=termlib+ext_tinfo+base+ext_funcs) -# name: panel -# traces: DEBUG -# MODEL: NORMAL -# model: objects -# prefix: lib -# suffix: .a -# subset: termlib+ext_tinfo+base+ext_funcs -# ShlibVer: auto -# ShlibVerInfix: no -# DoLinks: no -# rmSoLocs: no -# ldconfig: -# overwrite: no -# depend: ../include/ncurses_cfg.h ./panel.priv.h -# host: i586-pc-beos - -NORMAL_OBJS = \ - ../objects/panel$o \ - ../objects/p_above$o \ - ../objects/p_below$o \ - ../objects/p_bottom$o \ - ../objects/p_delete$o \ - ../objects/p_hide$o \ - ../objects/p_hidden$o \ - ../objects/p_move$o \ - ../objects/p_new$o \ - ../objects/p_replace$o \ - ../objects/p_show$o \ - ../objects/p_top$o \ - ../objects/p_update$o \ - ../objects/p_user$o \ - ../objects/p_win$o - -$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./panel.priv.h - -../lib/libpanel.a : $(NORMAL_OBJS) - $(AR) $(AR_OPTS) $@ $? - $(RANLIB) $@ - -install \ -install.libs \ -install.panel :: $(DESTDIR)$(libdir) ../lib/libpanel.a - @echo installing ../lib/libpanel.a as $(DESTDIR)$(libdir)/libpanel.a - $(INSTALL_DATA) ../lib/libpanel.a $(DESTDIR)$(libdir)/libpanel.a - $(RANLIB) $(DESTDIR)$(libdir)/libpanel.a - -uninstall \ -uninstall.libs \ -uninstall.panel :: - @echo uninstalling $(DESTDIR)$(libdir)/libpanel.a - -@rm -f $(DESTDIR)$(libdir)/libpanel.a - -clean :: - -rm -f ../lib/libpanel.a - -mostlyclean:: - -rm -f $(NORMAL_OBJS) - -# generated by mk-2nd.awk -# model: objects -# MODEL: NORMAL -# echo: yes -# subset: termlib+ext_tinfo+base+ext_funcs -# crenames: yes -# cxxrenames: yes -# traces: DEBUG -# srcdir: . - -../objects/panel$o : $(srcdir)/panel.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/panel.c -o ../objects/panel$o - -../objects/p_above$o : $(srcdir)/p_above.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_above.c -o ../objects/p_above$o - -../objects/p_below$o : $(srcdir)/p_below.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_below.c -o ../objects/p_below$o - -../objects/p_bottom$o : $(srcdir)/p_bottom.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_bottom.c -o ../objects/p_bottom$o - -../objects/p_delete$o : $(srcdir)/p_delete.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_delete.c -o ../objects/p_delete$o - -../objects/p_hide$o : $(srcdir)/p_hide.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_hide.c -o ../objects/p_hide$o - -../objects/p_hidden$o : $(srcdir)/p_hidden.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_hidden.c -o ../objects/p_hidden$o - -../objects/p_move$o : $(srcdir)/p_move.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_move.c -o ../objects/p_move$o - -../objects/p_new$o : $(srcdir)/p_new.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_new.c -o ../objects/p_new$o - -../objects/p_replace$o : $(srcdir)/p_replace.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_replace.c -o ../objects/p_replace$o - -../objects/p_show$o : $(srcdir)/p_show.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_show.c -o ../objects/p_show$o - -../objects/p_top$o : $(srcdir)/p_top.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_top.c -o ../objects/p_top$o - -../objects/p_update$o : $(srcdir)/p_update.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_update.c -o ../objects/p_update$o - -../objects/p_user$o : $(srcdir)/p_user.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_user.c -o ../objects/p_user$o - -../objects/p_win$o : $(srcdir)/p_win.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_win.c -o ../objects/p_win$o - - -# generated by mk-1st.awk (subset=termlib+ext_tinfo+base+ext_funcs) -# name: panel -# traces: DEBUG -# MODEL: DEBUG -# model: obj_g -# prefix: lib -# suffix: _g.a -# subset: termlib+ext_tinfo+base+ext_funcs -# ShlibVer: auto -# ShlibVerInfix: no -# DoLinks: no -# rmSoLocs: no -# ldconfig: -# overwrite: no -# depend: ../include/ncurses_cfg.h ./panel.priv.h -# host: i586-pc-beos - -DEBUG_OBJS = \ - ../obj_g/panel$o \ - ../obj_g/p_above$o \ - ../obj_g/p_below$o \ - ../obj_g/p_bottom$o \ - ../obj_g/p_delete$o \ - ../obj_g/p_hide$o \ - ../obj_g/p_hidden$o \ - ../obj_g/p_move$o \ - ../obj_g/p_new$o \ - ../obj_g/p_replace$o \ - ../obj_g/p_show$o \ - ../obj_g/p_top$o \ - ../obj_g/p_update$o \ - ../obj_g/p_user$o \ - ../obj_g/p_win$o - -$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./panel.priv.h - -../lib/libpanel_g.a : $(DEBUG_OBJS) - $(AR) $(AR_OPTS) $@ $? - $(RANLIB) $@ - -install \ -install.libs \ -install.panel :: $(DESTDIR)$(libdir) ../lib/libpanel_g.a - @echo installing ../lib/libpanel_g.a as $(DESTDIR)$(libdir)/libpanel_g.a - $(INSTALL_DATA) ../lib/libpanel_g.a $(DESTDIR)$(libdir)/libpanel_g.a - $(RANLIB) $(DESTDIR)$(libdir)/libpanel_g.a - -uninstall \ -uninstall.libs \ -uninstall.panel :: - @echo uninstalling $(DESTDIR)$(libdir)/libpanel_g.a - -@rm -f $(DESTDIR)$(libdir)/libpanel_g.a - -clean :: - -rm -f ../lib/libpanel_g.a - -mostlyclean:: - -rm -f $(DEBUG_OBJS) - -# generated by mk-2nd.awk -# model: obj_g -# MODEL: DEBUG -# echo: yes -# subset: termlib+ext_tinfo+base+ext_funcs -# crenames: yes -# cxxrenames: yes -# traces: DEBUG -# srcdir: . - -../obj_g/panel$o : $(srcdir)/panel.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/panel.c -o ../obj_g/panel$o - -../obj_g/p_above$o : $(srcdir)/p_above.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_above.c -o ../obj_g/p_above$o - -../obj_g/p_below$o : $(srcdir)/p_below.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_below.c -o ../obj_g/p_below$o - -../obj_g/p_bottom$o : $(srcdir)/p_bottom.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_bottom.c -o ../obj_g/p_bottom$o - -../obj_g/p_delete$o : $(srcdir)/p_delete.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_delete.c -o ../obj_g/p_delete$o - -../obj_g/p_hide$o : $(srcdir)/p_hide.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_hide.c -o ../obj_g/p_hide$o - -../obj_g/p_hidden$o : $(srcdir)/p_hidden.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_hidden.c -o ../obj_g/p_hidden$o - -../obj_g/p_move$o : $(srcdir)/p_move.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_move.c -o ../obj_g/p_move$o - -../obj_g/p_new$o : $(srcdir)/p_new.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_new.c -o ../obj_g/p_new$o - -../obj_g/p_replace$o : $(srcdir)/p_replace.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_replace.c -o ../obj_g/p_replace$o - -../obj_g/p_show$o : $(srcdir)/p_show.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_show.c -o ../obj_g/p_show$o - -../obj_g/p_top$o : $(srcdir)/p_top.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_top.c -o ../obj_g/p_top$o - -../obj_g/p_update$o : $(srcdir)/p_update.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_update.c -o ../obj_g/p_update$o - -../obj_g/p_user$o : $(srcdir)/p_user.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_user.c -o ../obj_g/p_user$o - -../obj_g/p_win$o : $(srcdir)/p_win.c \ - $(PANEL_PRIV_H) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_win.c -o ../obj_g/p_win$o - -$(DESTDIR)$(includedir) : - sh $(srcdir)/../mkinstalldirs $@ - -install \ -install.libs \ -install.includes :: $(AUTO_SRC) $(DESTDIR)$(includedir) \ - $(srcdir)/panel.h - @ (cd $(DESTDIR)$(includedir) && rm -f panel.h) ; ../headers.sh $(INSTALL_DATA) $(DESTDIR)$(includedir) $(srcdir) $(srcdir)/panel.h - -uninstall \ -uninstall.libs \ -uninstall.includes :: - -@ (cd $(DESTDIR)$(includedir) && rm -f panel.h) -depend : $(AUTO_SRC) - makedepend -- $(CPPFLAGS) -- $(C_SRC) - -# DO NOT DELETE THIS LINE -- make depend depends on it. diff --git a/src/libs/ncurses/panel/Makefile.in b/src/libs/ncurses/panel/Makefile.in deleted file mode 100644 index e796c400b2..0000000000 --- a/src/libs/ncurses/panel/Makefile.in +++ /dev/null @@ -1,161 +0,0 @@ -# $Id: Makefile.in,v 1.46 2003/11/01 22:44:33 tom Exp $ -############################################################################## -# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996-2002 -# -# Makefile for panels source code. -# -# This makes the following: -# libraries (normal/debug/profile/shared) -# -# The variable 'srcdir' refers to the source-distribution, and can be set with -# the configure script by "--srcdir=DIR". -# -# The rules are organized to produce the libraries for the configured models, - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -x = @EXEEXT@ -o = .@OBJEXT@ - -MODEL = @DFT_LWR_MODEL@ -DESTDIR = @DESTDIR@ -srcdir = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ -bindir = @bindir@ -libdir = @libdir@ -includedir = @includedir@ -datadir = @datadir@ - -LIBTOOL = @LIBTOOL@ -LIBTOOL_CLEAN = @LIB_CLEAN@ -LIBTOOL_COMPILE = @LIB_COMPILE@ -LIBTOOL_LINK = @LIB_LINK@ -LIBTOOL_INSTALL = @LIB_INSTALL@ -LIBTOOL_UNINSTALL = @LIB_UNINSTALL@ - -INSTALL = @INSTALL@ -INSTALL_LIB = @INSTALL@ @INSTALL_LIB@ -INSTALL_PROG = @INSTALL_PROG@ -INSTALL_DATA = @INSTALL_DATA@ - -AR = @AR@ -AR_OPTS = @AR_OPTS@ -AWK = @AWK@ -LD = @LD@ -LN_S = @LN_S@ - -CC = @CC@ -CPP = @CPP@ -CFLAGS = @CFLAGS@ - -CPPFLAGS = -I@top_srcdir@/ncurses -DHAVE_CONFIG_H @CPPFLAGS@ - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) - -CFLAGS_LIBTOOL = $(CCFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ - -CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) - -LINK = $(LIBTOOL_LINK) $(CC) -LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ - -SHLIB_DIRS = -L../lib -SHLIB_LIST = $(SHLIB_DIRS) -lncurses@LIB_SUFFIX@ @SHLIB_LIST@ - -MK_SHARED_LIB = @MK_SHARED_LIB@ - -NCURSES_MAJOR = @NCURSES_MAJOR@ -NCURSES_MINOR = @NCURSES_MINOR@ -REL_VERSION = @cf_cv_rel_version@ -ABI_VERSION = @cf_cv_abi_version@ - -RANLIB = @LIB_PREP@ - -IMPORT_LIB = @IMPORT_LIB@ -SHARED_LIB = @SHARED_LIB@ -LIBRARIES = @LIBS_TO_MAKE@ - -LINT = @LINT@ -LINT_OPTS = @LINT_OPTS@ -LINT_LIBS = -lpanel -lncurses @LIBS@ - -AUTO_SRC = \ - ../include/panel.h - -################################################################################ -all \ -libs \ -install :: $(AUTO_SRC) $(LIBRARIES) - -sources: $(AUTO_SRC) - -$(DESTDIR)$(bindir) \ -$(DESTDIR)$(libdir) : - sh $(srcdir)/../mkinstalldirs $@ - -# make a copy to simplify include-paths while still keeping panel's include -# file in this directory. -../include/panel.h : $(srcdir)/panel.h - -rm -f $@ - cp $(srcdir)/panel.h $@ - -PANEL_PRIV_H = \ - $(srcdir)/panel.priv.h \ - $(srcdir)/panel.h - -tags: - ctags *.[ch] - -@MAKE_UPPER_TAGS@TAGS: -@MAKE_UPPER_TAGS@ etags *.[ch] - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace - -clean :: mostlyclean - -rm -f $(AUTO_SRC) - -distclean :: clean - -rm -f Makefile - -realclean :: distclean - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### diff --git a/src/libs/ncurses/panel/headers b/src/libs/ncurses/panel/headers deleted file mode 100644 index fa0164cde8..0000000000 --- a/src/libs/ncurses/panel/headers +++ /dev/null @@ -1,31 +0,0 @@ -############################################################################## -# Copyright (c) 1998 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996 -# -$(srcdir)/panel.h diff --git a/src/libs/ncurses/panel/llib-lpanel b/src/libs/ncurses/panel/llib-lpanel deleted file mode 100644 index de49c234ec..0000000000 --- a/src/libs/ncurses/panel/llib-lpanel +++ /dev/null @@ -1,182 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1997,2002,2005 * - ****************************************************************************/ -/* LINTLIBRARY */ - -/* ./panel.c */ - -#include "panel.priv.h" - -#undef _nc_retrace_panel -PANEL *_nc_retrace_panel( - PANEL *pan) - { return(*(PANEL **)0); } - -#undef _nc_my_visbuf -const char *_nc_my_visbuf( - const void *ptr) - { return(*(const char **)0); } - -#undef _nc_dPanel -void _nc_dPanel( - const char *text, - const PANEL *pan) - { /* void */ } - -#undef _nc_dStack -void _nc_dStack( - const char *fmt, - int num, - const PANEL *pan) - { /* void */ } - -#undef _nc_Wnoutrefresh -void _nc_Wnoutrefresh( - const PANEL *pan) - { /* void */ } - -#undef _nc_Touchpan -void _nc_Touchpan( - const PANEL *pan) - { /* void */ } - -#undef _nc_Touchline -void _nc_Touchline( - const PANEL *pan, - int start, - int count) - { /* void */ } - -/* ./p_above.c */ - -#undef panel_above -PANEL *panel_above( - const PANEL *pan) - { return(*(PANEL **)0); } - -/* ./p_below.c */ - -#undef panel_below -PANEL *panel_below( - const PANEL *pan) - { return(*(PANEL **)0); } - -/* ./p_bottom.c */ - -#undef bottom_panel -int bottom_panel( - PANEL *pan) - { return(*(int *)0); } - -/* ./p_delete.c */ - -#undef del_panel -int del_panel( - PANEL *pan) - { return(*(int *)0); } - -/* ./p_hide.c */ - -#undef hide_panel -int hide_panel( - PANEL *pan) - { return(*(int *)0); } - -/* ./p_hidden.c */ - -#undef panel_hidden -int panel_hidden( - const PANEL *pan) - { return(*(int *)0); } - -/* ./p_move.c */ - -#undef move_panel -int move_panel( - PANEL *pan, - int starty, - int startx) - { return(*(int *)0); } - -/* ./p_new.c */ - -#undef new_panel -PANEL *new_panel( - WINDOW *win) - { return(*(PANEL **)0); } - -/* ./p_replace.c */ - -#undef replace_panel -int replace_panel( - PANEL *pan, - WINDOW *win) - { return(*(int *)0); } - -/* ./p_show.c */ - -#undef show_panel -int show_panel( - PANEL *pan) - { return(*(int *)0); } - -/* ./p_top.c */ - -#undef top_panel -int top_panel( - PANEL *pan) - { return(*(int *)0); } - -/* ./p_update.c */ - -#undef update_panels -void update_panels(void) - { /* void */ } - -/* ./p_user.c */ - -#undef set_panel_userptr -int set_panel_userptr( - PANEL *pan, - void *uptr) - { return(*(int *)0); } - -#undef panel_userptr -void *panel_userptr( - const PANEL *pan) - { return(*(void **)0); } - -/* ./p_win.c */ - -#undef panel_window -WINDOW *panel_window( - const PANEL *pan) - { return(*(WINDOW **)0); } diff --git a/src/libs/ncurses/panel/llib-lpanelw b/src/libs/ncurses/panel/llib-lpanelw deleted file mode 100644 index 48bd1e0db5..0000000000 --- a/src/libs/ncurses/panel/llib-lpanelw +++ /dev/null @@ -1,182 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2002,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 2002,2005 * - ****************************************************************************/ -/* LINTLIBRARY */ - -/* ./panel.c */ - -#include "panel.priv.h" - -#undef _nc_retrace_panel -PANEL *_nc_retrace_panel( - PANEL *pan) - { return(*(PANEL **)0); } - -#undef _nc_my_visbuf -const char *_nc_my_visbuf( - const void *ptr) - { return(*(const char **)0); } - -#undef _nc_dPanel -void _nc_dPanel( - const char *text, - const PANEL *pan) - { /* void */ } - -#undef _nc_dStack -void _nc_dStack( - const char *fmt, - int num, - const PANEL *pan) - { /* void */ } - -#undef _nc_Wnoutrefresh -void _nc_Wnoutrefresh( - const PANEL *pan) - { /* void */ } - -#undef _nc_Touchpan -void _nc_Touchpan( - const PANEL *pan) - { /* void */ } - -#undef _nc_Touchline -void _nc_Touchline( - const PANEL *pan, - int start, - int count) - { /* void */ } - -/* ./p_above.c */ - -#undef panel_above -PANEL *panel_above( - const PANEL *pan) - { return(*(PANEL **)0); } - -/* ./p_below.c */ - -#undef panel_below -PANEL *panel_below( - const PANEL *pan) - { return(*(PANEL **)0); } - -/* ./p_bottom.c */ - -#undef bottom_panel -int bottom_panel( - PANEL *pan) - { return(*(int *)0); } - -/* ./p_delete.c */ - -#undef del_panel -int del_panel( - PANEL *pan) - { return(*(int *)0); } - -/* ./p_hide.c */ - -#undef hide_panel -int hide_panel( - PANEL *pan) - { return(*(int *)0); } - -/* ./p_hidden.c */ - -#undef panel_hidden -int panel_hidden( - const PANEL *pan) - { return(*(int *)0); } - -/* ./p_move.c */ - -#undef move_panel -int move_panel( - PANEL *pan, - int starty, - int startx) - { return(*(int *)0); } - -/* ./p_new.c */ - -#undef new_panel -PANEL *new_panel( - WINDOW *win) - { return(*(PANEL **)0); } - -/* ./p_replace.c */ - -#undef replace_panel -int replace_panel( - PANEL *pan, - WINDOW *win) - { return(*(int *)0); } - -/* ./p_show.c */ - -#undef show_panel -int show_panel( - PANEL *pan) - { return(*(int *)0); } - -/* ./p_top.c */ - -#undef top_panel -int top_panel( - PANEL *pan) - { return(*(int *)0); } - -/* ./p_update.c */ - -#undef update_panels -void update_panels(void) - { /* void */ } - -/* ./p_user.c */ - -#undef set_panel_userptr -int set_panel_userptr( - PANEL *pan, - void *uptr) - { return(*(int *)0); } - -#undef panel_userptr -void *panel_userptr( - const PANEL *pan) - { return(*(void **)0); } - -/* ./p_win.c */ - -#undef panel_window -WINDOW *panel_window( - const PANEL *pan) - { return(*(WINDOW **)0); } diff --git a/src/libs/ncurses/panel/modules b/src/libs/ncurses/panel/modules deleted file mode 100644 index ed51d2c12a..0000000000 --- a/src/libs/ncurses/panel/modules +++ /dev/null @@ -1,49 +0,0 @@ -############################################################################## -# Copyright (c) 1998 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1995,1997 -# - -@ base -# Library objects -panel lib $(srcdir) $(PANEL_PRIV_H) -p_above lib $(srcdir) $(PANEL_PRIV_H) -p_below lib $(srcdir) $(PANEL_PRIV_H) -p_bottom lib $(srcdir) $(PANEL_PRIV_H) -p_delete lib $(srcdir) $(PANEL_PRIV_H) -p_hide lib $(srcdir) $(PANEL_PRIV_H) -p_hidden lib $(srcdir) $(PANEL_PRIV_H) -p_move lib $(srcdir) $(PANEL_PRIV_H) -p_new lib $(srcdir) $(PANEL_PRIV_H) -p_replace lib $(srcdir) $(PANEL_PRIV_H) -p_show lib $(srcdir) $(PANEL_PRIV_H) -p_top lib $(srcdir) $(PANEL_PRIV_H) -p_update lib $(srcdir) $(PANEL_PRIV_H) -p_user lib $(srcdir) $(PANEL_PRIV_H) -p_win lib $(srcdir) $(PANEL_PRIV_H) - diff --git a/src/libs/ncurses/panel/p_above.c b/src/libs/ncurses/panel/p_above.c deleted file mode 100644 index 32495f627f..0000000000 --- a/src/libs/ncurses/panel/p_above.c +++ /dev/null @@ -1,52 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* p_above.c - */ -#include "panel.priv.h" - -MODULE_ID("$Id: p_above.c,v 1.6 2005/02/19 16:44:57 tom Exp $") - -NCURSES_EXPORT(PANEL *) -panel_above(const PANEL * pan) -{ - T((T_CALLED("panel_above(%p)"), pan)); - if (!pan) - { - /* if top and bottom are equal, we have no or only the pseudo panel; - if not, we return the panel above the pseudo panel */ - returnPanel(EMPTY_STACK()? (PANEL *) 0 : _nc_bottom_panel->above); - } - else - returnPanel(pan->above); -} diff --git a/src/libs/ncurses/panel/p_below.c b/src/libs/ncurses/panel/p_below.c deleted file mode 100644 index c4b241015f..0000000000 --- a/src/libs/ncurses/panel/p_below.c +++ /dev/null @@ -1,54 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* p_below.c - */ -#include "panel.priv.h" - -MODULE_ID("$Id: p_below.c,v 1.6 2005/02/19 16:45:10 tom Exp $") - -NCURSES_EXPORT(PANEL *) -panel_below(const PANEL * pan) -{ - T((T_CALLED("panel_below(%p)"), pan)); - if (!pan) - { - /* if top and bottom are equal, we have no or only the pseudo panel */ - returnPanel(EMPTY_STACK()? (PANEL *) 0 : _nc_top_panel); - } - else - { - /* we must not return the pseudo panel */ - returnPanel(Is_Pseudo(pan->below) ? (PANEL *) 0 : pan->below); - } -} diff --git a/src/libs/ncurses/panel/p_bottom.c b/src/libs/ncurses/panel/p_bottom.c deleted file mode 100644 index b861fd9b2c..0000000000 --- a/src/libs/ncurses/panel/p_bottom.c +++ /dev/null @@ -1,72 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* p_bottom.c - * Place a panel on bottom of the stack; may already be in the stack - */ -#include "panel.priv.h" - -MODULE_ID("$Id: p_bottom.c,v 1.11 2005/02/19 16:38:16 tom Exp $") - -NCURSES_EXPORT(int) -bottom_panel(PANEL * pan) -{ - int err = OK; - - T((T_CALLED("bottom_panel(%p)"), pan)); - if (pan) - { - if (!Is_Bottom(pan)) - { - - dBug(("--> bottom_panel %s", USER_PTR(pan->user))); - - HIDE_PANEL(pan, err, OK); - assert(_nc_bottom_panel == _nc_stdscr_pseudo_panel); - - dStack("", 1, pan); - - pan->below = _nc_bottom_panel; - pan->above = _nc_bottom_panel->above; - if (pan->above) - pan->above->below = pan; - _nc_bottom_panel->above = pan; - - dStack("", 9, pan); - } - } - else - err = ERR; - - returnCode(err); -} diff --git a/src/libs/ncurses/panel/p_delete.c b/src/libs/ncurses/panel/p_delete.c deleted file mode 100644 index 24ee26b4ff..0000000000 --- a/src/libs/ncurses/panel/p_delete.c +++ /dev/null @@ -1,57 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* p_delete.c - * Remove a panel from stack, if in it, and free struct - */ -#include "panel.priv.h" - -MODULE_ID("$Id: p_delete.c,v 1.8 2005/02/19 16:38:45 tom Exp $") - -NCURSES_EXPORT(int) -del_panel(PANEL * pan) -{ - int err = OK; - - T((T_CALLED("del_panel(%p)"), pan)); - if (pan) - { - dBug(("--> del_panel %s", USER_PTR(pan->user))); - HIDE_PANEL(pan, err, OK); - free((void *)pan); - } - else - err = ERR; - - returnCode(err); -} diff --git a/src/libs/ncurses/panel/p_hidden.c b/src/libs/ncurses/panel/p_hidden.c deleted file mode 100644 index 624c07dae0..0000000000 --- a/src/libs/ncurses/panel/p_hidden.c +++ /dev/null @@ -1,48 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* p_hidden.c - * Test whether or not panel is hidden - */ -#include "panel.priv.h" - -MODULE_ID("$Id: p_hidden.c,v 1.7 2005/02/19 16:39:17 tom Exp $") - -NCURSES_EXPORT(int) -panel_hidden(const PANEL * pan) -{ - T((T_CALLED("panel_hidden(%p)"), pan)); - if (!pan) - returnCode(ERR); - returnCode(IS_LINKED(pan) ? FALSE : TRUE); -} diff --git a/src/libs/ncurses/panel/p_hide.c b/src/libs/ncurses/panel/p_hide.c deleted file mode 100644 index 08d8853a20..0000000000 --- a/src/libs/ncurses/panel/p_hide.c +++ /dev/null @@ -1,58 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* p_hide.c - * Remove a panel from the stack - */ -#include "panel.priv.h" - -MODULE_ID("$Id: p_hide.c,v 1.9 2005/02/19 16:39:41 tom Exp $") - -NCURSES_EXPORT(int) -hide_panel(register PANEL * pan) -{ - int err = OK; - - T((T_CALLED("hide_panel(%p)"), pan)); - if (!pan) - returnCode(ERR); - - dBug(("--> hide_panel %s", USER_PTR(pan->user))); - dStack("", 1, pan); - - HIDE_PANEL(pan, err, ERR); - - dStack("", 9, pan); - - returnCode(err); -} diff --git a/src/libs/ncurses/panel/p_move.c b/src/libs/ncurses/panel/p_move.c deleted file mode 100644 index 3818e8cba8..0000000000 --- a/src/libs/ncurses/panel/p_move.c +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* p_move.c - * Move a panel to a new location - */ -#include "panel.priv.h" - -MODULE_ID("$Id: p_move.c,v 1.9 2005/02/19 16:46:49 tom Exp $") - -NCURSES_EXPORT(int) -move_panel(PANEL * pan, int starty, int startx) -{ - T((T_CALLED("move_panel(%p,%d,%d)"), pan, starty, startx)); - - if (!pan) - returnCode(ERR); - - if (IS_LINKED(pan)) - { - Touchpan(pan); - PANEL_UPDATE(pan, (PANEL *) 0); - } - - returnCode(mvwin(pan->win, starty, startx)); -} diff --git a/src/libs/ncurses/panel/p_new.c b/src/libs/ncurses/panel/p_new.c deleted file mode 100644 index 3e48e36967..0000000000 --- a/src/libs/ncurses/panel/p_new.c +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* p_new.c - * Creation of a new panel - */ -#include "panel.priv.h" - -MODULE_ID("$Id: p_new.c,v 1.8 2005/02/19 16:41:03 tom Exp $") - -#ifdef TRACE -static char *stdscr_id; -static char *new_id; -#endif - -/*+------------------------------------------------------------------------- - Get root (i.e. stdscr's) panel. - Establish the pseudo panel for stdscr if necessary. ---------------------------------------------------------------------------*/ -static PANEL * -root_panel(void) -{ - if (_nc_stdscr_pseudo_panel == (PANEL *) 0) - { - - assert(stdscr && !_nc_bottom_panel && !_nc_top_panel); - _nc_stdscr_pseudo_panel = (PANEL *) malloc(sizeof(PANEL)); - if (_nc_stdscr_pseudo_panel != 0) - { - PANEL *pan = _nc_stdscr_pseudo_panel; - WINDOW *win = stdscr; - - pan->win = win; - pan->below = (PANEL *) 0; - pan->above = (PANEL *) 0; -#ifdef TRACE - if (!stdscr_id) - stdscr_id = strdup("stdscr"); - pan->user = stdscr_id; -#else - pan->user = (void *)0; -#endif - _nc_bottom_panel = _nc_top_panel = pan; - } - } - return _nc_stdscr_pseudo_panel; -} - -NCURSES_EXPORT(PANEL *) -new_panel(WINDOW *win) -{ - PANEL *pan = (PANEL *) 0; - - T((T_CALLED("new_panel(%p)"), win)); - - if (!win) - returnPanel(pan); - - if (!_nc_stdscr_pseudo_panel) - (void)root_panel(); - assert(_nc_stdscr_pseudo_panel); - - if (!(win->_flags & _ISPAD) && (pan = (PANEL *) malloc(sizeof(PANEL)))) - { - pan->win = win; - pan->above = (PANEL *) 0; - pan->below = (PANEL *) 0; -#ifdef TRACE - if (!new_id) - new_id = strdup("new"); - pan->user = new_id; -#else - pan->user = (char *)0; -#endif - (void)show_panel(pan); - } - returnPanel(pan); -} diff --git a/src/libs/ncurses/panel/p_replace.c b/src/libs/ncurses/panel/p_replace.c deleted file mode 100644 index 5d0d295c8b..0000000000 --- a/src/libs/ncurses/panel/p_replace.c +++ /dev/null @@ -1,58 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* p_replace.c - * Replace a panels window. - */ -#include "panel.priv.h" - -MODULE_ID("$Id: p_replace.c,v 1.9 2005/02/19 16:41:31 tom Exp $") - -NCURSES_EXPORT(int) -replace_panel(PANEL * pan, WINDOW *win) -{ - T((T_CALLED("replace_panel(%p,%p)"), pan, win)); - - if (!pan) - returnCode(ERR); - - if (IS_LINKED(pan)) - { - Touchpan(pan); - PANEL_UPDATE(pan, (PANEL *) 0); - } - - pan->win = win; - - returnCode(OK); -} diff --git a/src/libs/ncurses/panel/p_show.c b/src/libs/ncurses/panel/p_show.c deleted file mode 100644 index 35eee237b9..0000000000 --- a/src/libs/ncurses/panel/p_show.c +++ /dev/null @@ -1,69 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* p_show.c - * Place a panel on top of the stack; may already be in the stack - */ -#include "panel.priv.h" - -MODULE_ID("$Id: p_show.c,v 1.11 2005/02/19 16:42:02 tom Exp $") - -NCURSES_EXPORT(int) -show_panel(PANEL * pan) -{ - int err = OK; - - T((T_CALLED("show_panel(%p)"), pan)); - - if (!pan) - returnCode(ERR); - - if (Is_Top(pan)) - returnCode(OK); - - dBug(("--> show_panel %s", USER_PTR(pan->user))); - - HIDE_PANEL(pan, err, OK); - - dStack("", 1, pan); - assert(_nc_bottom_panel == _nc_stdscr_pseudo_panel); - - _nc_top_panel->above = pan; - pan->below = _nc_top_panel; - pan->above = (PANEL *) 0; - _nc_top_panel = pan; - - dStack("", 9, pan); - - returnCode(OK); -} diff --git a/src/libs/ncurses/panel/p_top.c b/src/libs/ncurses/panel/p_top.c deleted file mode 100644 index 8bd1d9fb3f..0000000000 --- a/src/libs/ncurses/panel/p_top.c +++ /dev/null @@ -1,46 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* p_top.c - * Place a panel on top of the stack. - */ -#include "panel.priv.h" - -MODULE_ID("$Id: p_top.c,v 1.5 2005/02/19 16:42:23 tom Exp $") - -NCURSES_EXPORT(int) -top_panel(PANEL * pan) -{ - T((T_CALLED("top_panel(%p)"), pan)); - returnCode(show_panel(pan)); -} diff --git a/src/libs/ncurses/panel/p_update.c b/src/libs/ncurses/panel/p_update.c deleted file mode 100644 index 5967718160..0000000000 --- a/src/libs/ncurses/panel/p_update.c +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* p_update.c - * wnoutrefresh windows in an orderly fashion - */ -#include "panel.priv.h" - -MODULE_ID("$Id: p_update.c,v 1.9 2005/02/19 16:49:47 tom Exp $") - -NCURSES_EXPORT(void) -update_panels(void) -{ - PANEL *pan; - - T((T_CALLED("update_panels()"))); - dBug(("--> update_panels")); - pan = _nc_bottom_panel; - while (pan && pan->above) - { - PANEL_UPDATE(pan, pan->above); - pan = pan->above; - } - - pan = _nc_bottom_panel; - while (pan) - { - Wnoutrefresh(pan); - pan = pan->above; - } - - returnVoid; -} diff --git a/src/libs/ncurses/panel/p_user.c b/src/libs/ncurses/panel/p_user.c deleted file mode 100644 index ffa25f85ae..0000000000 --- a/src/libs/ncurses/panel/p_user.c +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* p_user.c - * Set/Get panels user pointer - */ -#include "panel.priv.h" - -MODULE_ID("$Id: p_user.c,v 1.6 2005/02/19 16:52:44 tom Exp $") - -NCURSES_EXPORT(int) -set_panel_userptr(PANEL * pan, NCURSES_CONST void *uptr) -{ - T((T_CALLED("set_panel_userptr(%p,%p)"), pan, uptr)); - if (!pan) - returnCode(ERR); - pan->user = uptr; - returnCode(OK); -} - -NCURSES_EXPORT(NCURSES_CONST void *) -panel_userptr(const PANEL * pan) -{ - T((T_CALLED("panel_userptr(%p)"), pan)); - returnCVoidPtr(pan ? pan->user : (NCURSES_CONST void *)0); -} diff --git a/src/libs/ncurses/panel/p_win.c b/src/libs/ncurses/panel/p_win.c deleted file mode 100644 index e7d2cea8e3..0000000000 --- a/src/libs/ncurses/panel/p_win.c +++ /dev/null @@ -1,46 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* p_win.c - * Return a panels window. - */ -#include "panel.priv.h" - -MODULE_ID("$Id: p_win.c,v 1.5 2005/02/19 16:44:16 tom Exp $") - -NCURSES_EXPORT(WINDOW *) -panel_window(const PANEL * pan) -{ - T((T_CALLED("panel_window(%p)"), pan)); - returnWin(pan ? pan->win : (WINDOW *)0); -} diff --git a/src/libs/ncurses/panel/panel.c b/src/libs/ncurses/panel/panel.c deleted file mode 100644 index 16a8083d64..0000000000 --- a/src/libs/ncurses/panel/panel.c +++ /dev/null @@ -1,157 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* panel.c -- implementation of panels library, some core routines */ -#include "panel.priv.h" - -MODULE_ID("$Id: panel.c,v 1.23 2005/02/19 18:04:31 tom Exp $") - -/*+------------------------------------------------------------------------- - _nc_retrace_panel (pan) ---------------------------------------------------------------------------*/ -#ifdef TRACE -NCURSES_EXPORT(PANEL *) -_nc_retrace_panel(PANEL * pan) -{ - T((T_RETURN("%p"), pan)); - return pan; -} -#endif - -/*+------------------------------------------------------------------------- - _nc_my_visbuf(ptr) ---------------------------------------------------------------------------*/ -#ifdef TRACE -#ifndef TRACE_TXT -NCURSES_EXPORT(const char *) -_nc_my_visbuf(const void *ptr) -{ - char temp[32]; - - if (ptr != 0) - sprintf(temp, "ptr:%p", ptr); - else - strcpy(temp, ""); - return _nc_visbuf(temp); -} -#endif -#endif - -/*+------------------------------------------------------------------------- - dPanel(text,pan) ---------------------------------------------------------------------------*/ -#ifdef TRACE -NCURSES_EXPORT(void) -_nc_dPanel(const char *text, const PANEL * pan) -{ - _tracef("%s id=%s b=%s a=%s y=%d x=%d", - text, USER_PTR(pan->user), - (pan->below) ? USER_PTR(pan->below->user) : "--", - (pan->above) ? USER_PTR(pan->above->user) : "--", - PSTARTY(pan), PSTARTX(pan)); -} -#endif - -/*+------------------------------------------------------------------------- - dStack(fmt,num,pan) ---------------------------------------------------------------------------*/ -#ifdef TRACE -NCURSES_EXPORT(void) -_nc_dStack(const char *fmt, int num, const PANEL * pan) -{ - char s80[80]; - - sprintf(s80, fmt, num, pan); - _tracef("%s b=%s t=%s", s80, - (_nc_bottom_panel) ? USER_PTR(_nc_bottom_panel->user) : "--", - (_nc_top_panel) ? USER_PTR(_nc_top_panel->user) : "--"); - if (pan) - _tracef("pan id=%s", USER_PTR(pan->user)); - pan = _nc_bottom_panel; - while (pan) - { - dPanel("stk", pan); - pan = pan->above; - } -} -#endif - -/*+------------------------------------------------------------------------- - Wnoutrefresh(pan) - debugging hook for wnoutrefresh ---------------------------------------------------------------------------*/ -#ifdef TRACE -NCURSES_EXPORT(void) -_nc_Wnoutrefresh(const PANEL * pan) -{ - dPanel("wnoutrefresh", pan); - wnoutrefresh(pan->win); -} -#endif - -/*+------------------------------------------------------------------------- - Touchpan(pan) ---------------------------------------------------------------------------*/ -#ifdef TRACE -NCURSES_EXPORT(void) -_nc_Touchpan(const PANEL * pan) -{ - dPanel("Touchpan", pan); - touchwin(pan->win); -} -#endif - -/*+------------------------------------------------------------------------- - Touchline(pan,start,count) ---------------------------------------------------------------------------*/ -#ifdef TRACE -NCURSES_EXPORT(void) -_nc_Touchline(const PANEL * pan, int start, int count) -{ - char s80[80]; - - sprintf(s80, "Touchline s=%d c=%d", start, count); - dPanel(s80, pan); - touchline(pan->win, start, count); -} -#endif - -#ifndef TRACE -# ifndef __GNUC__ - /* Some C compilers need something defined in a source file */ -extern void _nc_dummy_panel(void); -void -_nc_dummy_panel(void) -{ -} -# endif -#endif diff --git a/src/libs/ncurses/panel/panel.h b/src/libs/ncurses/panel/panel.h deleted file mode 100644 index 3b8542a7ad..0000000000 --- a/src/libs/ncurses/panel/panel.h +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* panel.h -- interface file for panels library */ - -#ifndef NCURSES_PANEL_H_incl -#define NCURSES_PANEL_H_incl 1 - -#include - -typedef struct panel -{ - WINDOW *win; - struct panel *below; - struct panel *above; - NCURSES_CONST void *user; -} PANEL; - -#if defined(__cplusplus) -extern "C" { -#endif - -extern NCURSES_EXPORT(WINDOW*) panel_window (const PANEL *); -extern NCURSES_EXPORT(void) update_panels (void); -extern NCURSES_EXPORT(int) hide_panel (PANEL *); -extern NCURSES_EXPORT(int) show_panel (PANEL *); -extern NCURSES_EXPORT(int) del_panel (PANEL *); -extern NCURSES_EXPORT(int) top_panel (PANEL *); -extern NCURSES_EXPORT(int) bottom_panel (PANEL *); -extern NCURSES_EXPORT(PANEL*) new_panel (WINDOW *); -extern NCURSES_EXPORT(PANEL*) panel_above (const PANEL *); -extern NCURSES_EXPORT(PANEL*) panel_below (const PANEL *); -extern NCURSES_EXPORT(int) set_panel_userptr (PANEL *, NCURSES_CONST void *); -extern NCURSES_EXPORT(NCURSES_CONST void*) panel_userptr (const PANEL *); -extern NCURSES_EXPORT(int) move_panel (PANEL *, int, int); -extern NCURSES_EXPORT(int) replace_panel (PANEL *,WINDOW *); -extern NCURSES_EXPORT(int) panel_hidden (const PANEL *); - -#if defined(__cplusplus) -} -#endif - -#endif /* NCURSES_PANEL_H_incl */ - -/* end of panel.h */ diff --git a/src/libs/ncurses/panel/panel.priv.h b/src/libs/ncurses/panel/panel.priv.h deleted file mode 100644 index 0c426048fb..0000000000 --- a/src/libs/ncurses/panel/panel.priv.h +++ /dev/null @@ -1,197 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/* $Id: panel.priv.h,v 1.20 2005/02/19 17:16:54 tom Exp $ */ - -#ifndef NCURSES_PANEL_PRIV_H -#define NCURSES_PANEL_PRIV_H 1 - -#if HAVE_CONFIG_H -# include -#endif - -#include -#include -#include - -#if HAVE_LIBDMALLOC -# include /* Gray Watson's library */ -#endif - -#if HAVE_LIBDBMALLOC -# include /* Conor Cahill's library */ -#endif - -#include "curses.priv.h" -#include "panel.h" -#include - -#if ( CC_HAS_INLINE_FUNCS && !defined(TRACE) ) -# define INLINE inline -#else -# define INLINE -#endif - -#if USE_RCS_IDS -# define MODULE_ID(id) static const char Ident[] = id; -#else -# define MODULE_ID(id) /*nothing*/ -#endif - - -#ifdef TRACE - extern NCURSES_EXPORT(const char *) _nc_my_visbuf (const void *); -# ifdef TRACE_TXT -# define USER_PTR(ptr) _nc_visbuf((const char *)ptr) -# else -# define USER_PTR(ptr) _nc_my_visbuf((const char *)ptr) -# endif - -# define returnPanel(code) TRACE_RETURN(code,panel) - - extern NCURSES_EXPORT(PANEL *) _nc_retrace_panel (PANEL *); - extern NCURSES_EXPORT(void) _nc_dPanel (const char*, const PANEL*); - extern NCURSES_EXPORT(void) _nc_dStack (const char*, int, const PANEL*); - extern NCURSES_EXPORT(void) _nc_Wnoutrefresh (const PANEL*); - extern NCURSES_EXPORT(void) _nc_Touchpan (const PANEL*); - extern NCURSES_EXPORT(void) _nc_Touchline (const PANEL*, int, int); - -# define dBug(x) _tracef x -# define dPanel(text,pan) _nc_dPanel(text,pan) -# define dStack(fmt,num,pan) _nc_dStack(fmt,num,pan) -# define Wnoutrefresh(pan) _nc_Wnoutrefresh(pan) -# define Touchpan(pan) _nc_Touchpan(pan) -# define Touchline(pan,start,count) _nc_Touchline(pan,start,count) -#else /* !TRACE */ -# define returnPanel(code) return code -# define dBug(x) -# define dPanel(text,pan) -# define dStack(fmt,num,pan) -# define Wnoutrefresh(pan) wnoutrefresh((pan)->win) -# define Touchpan(pan) touchwin((pan)->win) -# define Touchline(pan,start,count) touchline((pan)->win,start,count) -#endif - -#define _nc_stdscr_pseudo_panel _nc_panelhook()->stdscr_pseudo_panel -#define _nc_top_panel _nc_panelhook()->top_panel -#define _nc_bottom_panel _nc_panelhook()->bottom_panel - -#define EMPTY_STACK() (_nc_top_panel==_nc_bottom_panel) -#define Is_Bottom(p) (((p)!=(PANEL*)0) && !EMPTY_STACK() && (_nc_bottom_panel->above==(p))) -#define Is_Top(p) (((p)!=(PANEL*)0) && !EMPTY_STACK() && (_nc_top_panel==(p))) -#define Is_Pseudo(p) ((p) && ((p)==_nc_bottom_panel)) - -/*+------------------------------------------------------------------------- - IS_LINKED(pan) - check to see if panel is in the stack ---------------------------------------------------------------------------*/ -/* This works! The only case where it would fail is, when the list has - only one element. But this could only be the pseudo panel at the bottom */ -#define IS_LINKED(p) (((p)->above || (p)->below ||((p)==_nc_bottom_panel)) ? TRUE : FALSE) - -#define PSTARTX(pan) ((pan)->win->_begx) -#define PENDX(pan) ((pan)->win->_begx + getmaxx((pan)->win) - 1) -#define PSTARTY(pan) ((pan)->win->_begy) -#define PENDY(pan) ((pan)->win->_begy + getmaxy((pan)->win) - 1) - -/*+------------------------------------------------------------------------- - PANELS_OVERLAPPED(pan1,pan2) - check panel overlapped ----------------------------------------------------------------------------*/ -#define PANELS_OVERLAPPED(pan1,pan2) \ -(( !(pan1) || !(pan2) || \ - PSTARTY(pan1) > PENDY(pan2) || PENDY(pan1) < PSTARTY(pan2) ||\ - PSTARTX(pan1) > PENDX(pan2) || PENDX(pan1) < PSTARTX(pan2) ) \ - ? FALSE : TRUE) - - -/*+------------------------------------------------------------------------- - Compute the intersection rectangle of two overlapping rectangles ----------------------------------------------------------------------------*/ -#define COMPUTE_INTERSECTION(pan1,pan2,ix1,ix2,iy1,iy2)\ - ix1 = (PSTARTX(pan1) < PSTARTX(pan2)) ? PSTARTX(pan2) : PSTARTX(pan1);\ - ix2 = (PENDX(pan1) < PENDX(pan2)) ? PENDX(pan1) : PENDX(pan2);\ - iy1 = (PSTARTY(pan1) < PSTARTY(pan2)) ? PSTARTY(pan2) : PSTARTY(pan1);\ - iy2 = (PENDY(pan1) < PENDY(pan2)) ? PENDY(pan1) : PENDY(pan2);\ - assert((ix1<=ix2) && (iy1<=iy2));\ - - -/*+------------------------------------------------------------------------- - Walk through the panel stack starting at the given location and - check for intersections; overlapping panels are "touched", so they - are incrementally overwriting cells that should be hidden. - If the "touch" flag is set, the panel gets touched before it is - updated. ----------------------------------------------------------------------------*/ -#define PANEL_UPDATE(pan,panstart)\ -{ PANEL* pan2 = ((panstart) ? (panstart) : _nc_bottom_panel);\ - while(pan2) {\ - if ((pan2 != pan) && PANELS_OVERLAPPED(pan,pan2)) {\ - int y,ix1,ix2,iy1,iy2;\ - COMPUTE_INTERSECTION(pan,pan2,ix1,ix2,iy1,iy2);\ - for(y = iy1; y <= iy2; y++) {\ - if (is_linetouched(pan->win,y - PSTARTY(pan))) {\ - struct ldat* line = &(pan2->win->_line[y - PSTARTY(pan2)]);\ - CHANGED_RANGE(line,ix1-PSTARTX(pan2),ix2-PSTARTX(pan2));\ - }\ - }\ - }\ - pan2 = pan2->above;\ - }\ -} - -/*+------------------------------------------------------------------------- - Remove panel from stack. ----------------------------------------------------------------------------*/ -#define PANEL_UNLINK(pan,err) \ -{ err = ERR;\ - if (pan) {\ - if (IS_LINKED(pan)) {\ - if ((pan)->below)\ - (pan)->below->above = (pan)->above;\ - if ((pan)->above)\ - (pan)->above->below = (pan)->below;\ - if ((pan) == _nc_bottom_panel) \ - _nc_bottom_panel = (pan)->above;\ - if ((pan) == _nc_top_panel) \ - _nc_top_panel = (pan)->below;\ - err = OK;\ - }\ - (pan)->above = (pan)->below = (PANEL*)0;\ - }\ -} - -#define HIDE_PANEL(pan,err,err_if_unlinked)\ - if (IS_LINKED(pan)) {\ - Touchpan(pan);\ - PANEL_UPDATE(pan,(PANEL*)0);\ - PANEL_UNLINK(pan,err);\ - } \ - else {\ - err = err_if_unlinked;\ - } - -#endif /* NCURSES_PANEL_PRIV_H */ diff --git a/src/libs/ncurses/progs/Jamfile b/src/libs/ncurses/progs/Jamfile deleted file mode 100644 index 5cb817e3e3..0000000000 --- a/src/libs/ncurses/progs/Jamfile +++ /dev/null @@ -1,32 +0,0 @@ -SubDir HAIKU_TOP src libs ncurses progs ; - -SubDirCcFlags -O2 -DHAVE_CONFIG_H -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=199506L -DNDEBUG ; - -SubDirSysHdrs $(SUBDIR) ; -SubDirSysHdrs [ FDirName $(SUBDIR) $(DOTDOT) include ] ; - -BinCommand tput : - tput.c - : libncurses.a : ; - -BinCommand infocmp : - dump_entry.c - infocmp.c - : libncurses.a : ; - -BinCommand tset : - tset.c - : libncurses.a : ; - -BinCommand clear : - clear.c - : libncurses.a : ; - -BinCommand toe : - toe.c - : libncurses.a : ; - -BinCommand tic : - dump_entry.c - tic.c - : libncurses.a : ; diff --git a/src/libs/ncurses/progs/MKtermsort.sh b/src/libs/ncurses/progs/MKtermsort.sh deleted file mode 100755 index 18b90ac265..0000000000 --- a/src/libs/ncurses/progs/MKtermsort.sh +++ /dev/null @@ -1,164 +0,0 @@ -#!/bin/sh -# $Id: MKtermsort.sh,v 1.9 2003/01/11 22:23:50 tom Exp $ -# -# MKtermsort.sh -- generate indirection vectors for the various sort methods -# -############################################################################## -# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# The output of this script is C source for nine arrays that list three sort -# orders for each of the three different classes of terminfo capabilities. -# -# keep the order independent of locale: -if test "${LANGUAGE+set}" = set; then LANGUAGE=C; export LANGUAGE; fi -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi -if test "${LC_COLLATE+set}" = set; then LC_COLLATE=C; export LC_COLLATE; fi -# -AWK=${1-awk} -DATA=${2-../include/Caps} - -data=data$$ -trap 'rm -f $data' 1 2 5 15 -sed -e 's/[ ][ ]*/ /g' < $DATA >$data -DATA=$data - -echo "/*"; -echo " * termsort.c --- sort order arrays for use by infocmp."; -echo " *"; -echo " * Note: this file is generated using MKtermsort.sh, do not edit by hand."; -echo " */"; - -echo "static const int bool_terminfo_sort[] = {"; -$AWK <$DATA ' -BEGIN {i = 0;} -/^#/ {next;} -$3 == "bool" {printf("%s\t%d\n", $2, i++);} -' | sort | $AWK '{print "\t", $2, ",\t/* ", $1, " */";}'; -echo "};"; -echo ""; - -echo "static const int num_terminfo_sort[] = {"; -$AWK <$DATA ' -BEGIN {i = 0;} -/^#/ {next;} -$3 == "num" {printf("%s\t%d\n", $2, i++);} -' | sort | $AWK '{print "\t", $2, ",\t/* ", $1, " */";}'; -echo "};"; -echo ""; - -echo "static const int str_terminfo_sort[] = {"; -$AWK <$DATA ' -BEGIN {i = 0;} -/^#/ {next;} -$3 == "str" {printf("%s\t%d\n", $2, i++);} -' | sort | $AWK '{print "\t", $2, ",\t/* ", $1, " */";}'; -echo "};"; -echo ""; - -echo "static const int bool_variable_sort[] = {"; -$AWK <$DATA ' -BEGIN {i = 0;} -/^#/ {next;} -$3 == "bool" {printf("%s\t%d\n", $1, i++);} -' | sort | $AWK '{print "\t", $2, ",\t/* ", $1, " */";}'; -echo "};"; -echo ""; - -echo "static const int num_variable_sort[] = {"; -$AWK <$DATA ' -BEGIN {i = 0;} -/^#/ {next;} -$3 == "num" {printf("%s\t%d\n", $1, i++);} -' | sort | $AWK '{print "\t", $2, ",\t/* ", $1, " */";}'; -echo "};"; -echo ""; - -echo "static const int str_variable_sort[] = {"; -$AWK <$DATA ' -BEGIN {i = 0;} -/^#/ {next;} -$3 == "str" {printf("%s\t%d\n", $1, i++);} -' | sort | $AWK '{print "\t", $2, ",\t/* ", $1, " */";}'; -echo "};"; -echo ""; - -echo "static const int bool_termcap_sort[] = {"; -$AWK <$DATA ' -BEGIN {i = 0;} -/^#/ {next;} -$3 == "bool" {printf("%s\t%d\n", $4, i++);} -' | sort | $AWK '{print "\t", $2, ",\t/* ", $1, " */";}'; -echo "};"; -echo ""; - -echo "static const int num_termcap_sort[] = {"; -$AWK <$DATA ' -BEGIN {i = 0;} -/^#/ {next;} -$3 == "num" {printf("%s\t%d\n", $4, i++);} -' | sort | $AWK '{print "\t", $2, ",\t/* ", $1, " */";}'; -echo "};"; -echo ""; - -echo "static const int str_termcap_sort[] = {"; -$AWK <$DATA ' -BEGIN {i = 0;} -/^#/ {next;} -$3 == "str" {printf("%s\t%d\n", $4, i++);} -' | sort | $AWK '{print "\t", $2, ",\t/* ", $1, " */";}'; -echo "};"; -echo ""; - -echo "static const bool bool_from_termcap[] = {"; -$AWK <$DATA ' -$3 == "bool" && substr($7, 1, 1) == "-" {print "\tFALSE,\t/* ", $2, " */";} -$3 == "bool" && substr($7, 1, 1) == "Y" {print "\tTRUE,\t/* ", $2, " */";} -' -echo "};"; -echo ""; - -echo "static const bool num_from_termcap[] = {"; -$AWK <$DATA ' -$3 == "num" && substr($7, 1, 1) == "-" {print "\tFALSE,\t/* ", $2, " */";} -$3 == "num" && substr($7, 1, 1) == "Y" {print "\tTRUE,\t/* ", $2, " */";} -' -echo "};"; -echo ""; - -echo "static const bool str_from_termcap[] = {"; -$AWK <$DATA ' -$3 == "str" && substr($7, 1, 1) == "-" {print "\tFALSE,\t/* ", $2, " */";} -$3 == "str" && substr($7, 1, 1) == "Y" {print "\tTRUE,\t/* ", $2, " */";} -' -echo "};"; -echo ""; - -rm -f $data diff --git a/src/libs/ncurses/progs/Makefile b/src/libs/ncurses/progs/Makefile deleted file mode 100644 index 7f6a16a211..0000000000 --- a/src/libs/ncurses/progs/Makefile +++ /dev/null @@ -1,486 +0,0 @@ -# $Id: Makefile.in,v 1.65 2005/09/25 00:42:08 tom Exp $ -############################################################################## -# Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996-2003 -# -# Makefile for ncurses source code. -# -# This makes the ncurses utility programs. -# -# The variable 'srcdir' refers to the source-distribution, and can be set with -# the configure script by "--srcdir=DIR". -# -# The rules are organized to produce the libraries for the configured models, -# and the programs with the configured default model. - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -CF_MFLAGS = - - -x = -o = .o - -MODEL = ../objects -DESTDIR = -top_srcdir = .. -srcdir = . -prefix = /usr/local -exec_prefix = ${prefix} -bindir = ${exec_prefix}/bin -libdir = ${exec_prefix}/lib -includedir = $(prefix)/include/ncurses -datadir = ${prefix}/share - -LIBTOOL = -LIBTOOL_CLEAN = -LIBTOOL_COMPILE = -LIBTOOL_LINK = -LIBTOOL_INSTALL = -LIBTOOL_UNINSTALL = - -INSTALL = /bin/install -c -INSTALL_PROGRAM = ${INSTALL} -transform = s,x,x, - -AWK = gawk -LN_S = ln -s - -CC = gcc -CPP = gcc -E -CFLAGS = -O2 - -INCDIR = $(top_srcdir)/include -CPPFLAGS = -I../progs -I$(srcdir) -DHAVE_CONFIG_H -I. -I../include -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=199506L -DNDEBUG -I$(includedir) - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) - -CFLAGS_LIBTOOL = $(CCFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) -g -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) -fPIC - -CFLAGS_DEFAULT = $(CFLAGS_NORMAL) - -LD = ld -LINK = $(LIBTOOL_LINK) $(CC) -LDFLAGS = \ - -L../lib -lncurses - -LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL) -LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL) -LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG) -LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE) -LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) - -LDFLAGS_DEFAULT = $(LDFLAGS_NORMAL) - -LINT = -LINT_OPTS = -LINT_LIBS = -lncurses - -AUTO_SRC = \ - termsort.c \ - transform.h - -# tic and toe rely on direct access to the terminfo database -GET_PROGS = infocmp$x clear$x tput$x tset$x -PUT_PROGS = tic$x toe$x -PROGS = $(PUT_PROGS) $(GET_PROGS) - -TESTPROGS = mvcur$x tctest$x hardscroll$x hashmap$x - -# Default library, for linking applications -DEPS_CURSES = ../lib/libncurses.a - -HEADER_DEPS = \ - ../include/curses.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h \ - $(INCDIR)/nc_alloc.h - -################################################################################ -all: $(AUTO_SRC) $(PROGS) - -sources: $(AUTO_SRC) - -install: $(AUTO_SRC) install.progs -uninstall: uninstall.progs - -# this line simplifies the configure-script -libs \ -install.libs \ -uninstall.libs: - -TRANSFORM = sed 's/$x$$//'|sed '$(transform)'|sed 's/$$/$x/' - -actual_captoinfo = `echo captoinfo$x| $(TRANSFORM)` -actual_clear = `echo clear$x| $(TRANSFORM)` -actual_infocmp = `echo infocmp$x| $(TRANSFORM)` -actual_infotocap = `echo infotocap$x| $(TRANSFORM)` -actual_init = `echo init$x| $(TRANSFORM)` -actual_reset = `echo reset$x| $(TRANSFORM)` -actual_tic = `echo tic$x| $(TRANSFORM)` -actual_toe = `echo toe$x| $(TRANSFORM)` -actual_tput = `echo tput$x| $(TRANSFORM)` -actual_tset = `echo tset$x| $(TRANSFORM)` - -transform.h : - echo "#define PROG_CAPTOINFO \"$(actual_captoinfo)\"" >$@ - echo "#define PROG_INFOTOCAP \"$(actual_infotocap)\"" >>$@ - echo "#define PROG_RESET \"$(actual_reset)\"" >>$@ - echo "#define PROG_INIT \"$(actual_init)\"" >>$@ - -install.progs: $(AUTO_SRC) $(PROGS) $(DESTDIR)$(bindir) - $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tic$x $(DESTDIR)$(bindir)/$(actual_tic) - $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) toe$x $(DESTDIR)$(bindir)/$(actual_toe) - @echo "linking $(actual_infotocap) to $(actual_tic)" - -@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap) - (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_infotocap)) - @echo "linking $(actual_captoinfo) to $(actual_tic)" - -@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo) - (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_captoinfo)) - $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) infocmp$x $(DESTDIR)$(bindir)/$(actual_infocmp) - $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) clear$x $(DESTDIR)$(bindir)/$(actual_clear) - $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tput$x $(DESTDIR)$(bindir)/$(actual_tput) - $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tset$x $(DESTDIR)$(bindir)/$(actual_tset) - @echo "linking $(actual_reset) to $(actual_tset)" - -@rm -f $(DESTDIR)$(bindir)/$(actual_reset) - (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tset) $(actual_reset)) - -uninstall.progs: - -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tic) - -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_toe) - -@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo) - -@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap) - -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_infocmp) - -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_clear) - -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tput) - -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tset) - -@rm -f $(DESTDIR)$(bindir)/$(actual_reset) - -$(DESTDIR)$(bindir) : - sh $(srcdir)/../mkinstalldirs $@ - -# -# Utilities normally built by make all start here -# - -DEPS_TIC = \ - $(MODEL)/tic$o \ - $(MODEL)/dump_entry$o - -tic$x: $(DEPS_TIC) $(DEPS_CURSES) transform.h - $(LINK) $(DEPS_TIC) $(LDFLAGS_DEFAULT) -o $@ - -DEPS_TOE = \ - $(MODEL)/toe$o \ - $(MODEL)/dump_entry$o - -toe$x: $(DEPS_TOE) $(DEPS_CURSES) - $(LINK) $(DEPS_TOE) $(LDFLAGS_DEFAULT) -o $@ - -DEPS_CLEAR = \ - $(MODEL)/clear$o - -clear$x: $(DEPS_CLEAR) $(DEPS_CURSES) - $(LINK) $(DEPS_CLEAR) $(LDFLAGS_DEFAULT) -o $@ - -DEPS_TPUT = \ - $(MODEL)/tput$o - -tput$x: $(DEPS_TPUT) $(DEPS_CURSES) transform.h - $(LINK) $(DEPS_TPUT) $(LDFLAGS_DEFAULT) -o $@ - -DEPS_INFOCMP = \ - $(MODEL)/infocmp$o \ - $(MODEL)/dump_entry$o - -infocmp$x: $(DEPS_INFOCMP) $(DEPS_CURSES) - $(LINK) $(DEPS_INFOCMP) $(LDFLAGS_DEFAULT) -o $@ - -DEPS_TSET = \ - $(MODEL)/tset$o \ - $(MODEL)/dump_entry$o - -tset$x: $(DEPS_TSET) $(DEPS_CURSES) transform.h - $(LINK) $(DEPS_TSET) $(LDFLAGS_DEFAULT) -o $@ - -termsort.c: $(srcdir)/MKtermsort.sh - sh $(srcdir)/MKtermsort.sh $(AWK) $(srcdir)/../include/Caps >$@ - -# -# Utility productions start here -# - -tags: - ctags *.[ch] - -TAGS: - etags *.[ch] - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace - -rm -f $(TESTPROGS) - -clean :: mostlyclean - -sh -c "if test -n '$x' ; then $(MAKE) clean x=''; fi" - -rm -f $(AUTO_SRC) - -rm -f $(PROGS) - -rm -rf .libs - -distclean :: clean - -rm -f Makefile - -realclean :: distclean - -# These rules are used to allow "make -n" to work on a clean directory-tree -../include/hashsize.h \ -../include/parametrized.h \ -../include/term.h : - cd ../include; $(MAKE) $(CF_MFLAGS) -$(DEPS_CURSES) : - cd ../ncurses; $(MAKE) $(CF_MFLAGS) - -lint: - $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tic.c $(srcdir)/dump_entry.c $(LINT_LIBS) - $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/toe.c $(srcdir)/dump_entry.c $(LINT_LIBS) - $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/clear.c $(LINT_LIBS) - $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/infocmp.c $(srcdir)/dump_entry.c $(LINT_LIBS) - $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tput.c $(LINT_LIBS) - $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tset.c $(srcdir)/dump_entry.c $(LINT_LIBS) - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### - -# generated by mk-0th.awk -# libname: progs -# subsets: termlib+ext_tinfo+base+ext_funcs - -.SUFFIXES: .c .cc .h .i .ii -.c.i : - $(CPP) $(CPPFLAGS) $< >$@ -.cc.ii : - $(CPP) $(CPPFLAGS) $< >$@ -.h.i : - $(CPP) $(CPPFLAGS) $< >$@ - -C_SRC = \ - $(srcdir)/clear.c \ - $(srcdir)/tic.c \ - $(srcdir)/toe.c \ - $(srcdir)/dump_entry.c \ - $(srcdir)/infocmp.c \ - $(srcdir)/tput.c \ - $(srcdir)/tset.c - -lintlib : - @echo no action needed - -# generated by mk-1st.awk (subset=termlib+ext_tinfo+base+ext_funcs) -# name: progs -# traces: DEBUG -# MODEL: NORMAL -# model: objects -# prefix: lib -# suffix: .a -# subset: termlib+ext_tinfo+base+ext_funcs -# ShlibVer: auto -# ShlibVerInfix: no -# DoLinks: no -# rmSoLocs: no -# ldconfig: -# overwrite: no -# depend: ../include/ncurses_cfg.h ./progs.priv.h -# host: i586-pc-beos - -NORMAL_OBJS = \ - ../objects/clear$o \ - ../objects/tic$o \ - ../objects/toe$o \ - ../objects/dump_entry$o \ - ../objects/infocmp$o \ - ../objects/tput$o \ - ../objects/tset$o - -$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./progs.priv.h - -mostlyclean:: - -rm -f $(NORMAL_OBJS) - -clean :: - -rm -f $(NORMAL_OBJS) - -# generated by mk-2nd.awk -# model: objects -# MODEL: NORMAL -# echo: yes -# subset: termlib+ext_tinfo+base+ext_funcs -# crenames: yes -# cxxrenames: yes -# traces: DEBUG -# srcdir: . - -../objects/clear$o : $(srcdir)/clear.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/clear.c -o ../objects/clear$o - -../objects/tic$o : $(srcdir)/tic.c \ - $(HEADER_DEPS) \ - transform.h \ - $(srcdir)/dump_entry.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/tic.c -o ../objects/tic$o - -../objects/toe$o : $(srcdir)/toe.c \ - $(HEADER_DEPS) \ - $(srcdir)/dump_entry.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/toe.c -o ../objects/toe$o - -../objects/dump_entry$o : $(srcdir)/dump_entry.c \ - $(HEADER_DEPS) \ - $(srcdir)/dump_entry.h \ - ../include/parametrized.h \ - $(INCDIR)/capdefaults.c \ - termsort.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/dump_entry.c -o ../objects/dump_entry$o - -../objects/infocmp$o : $(srcdir)/infocmp.c \ - $(HEADER_DEPS) \ - $(srcdir)/dump_entry.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/infocmp.c -o ../objects/infocmp$o - -../objects/tput$o : $(srcdir)/tput.c \ - $(HEADER_DEPS) \ - transform.h \ - termsort.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/tput.c -o ../objects/tput$o - -../objects/tset$o : $(srcdir)/tset.c \ - $(HEADER_DEPS) \ - transform.h \ - $(srcdir)/dump_entry.h \ - ../include/termcap.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/tset.c -o ../objects/tset$o - - -# generated by mk-1st.awk (subset=termlib+ext_tinfo+base+ext_funcs) -# name: progs -# traces: DEBUG -# MODEL: DEBUG -# model: obj_g -# prefix: lib -# suffix: _g.a -# subset: termlib+ext_tinfo+base+ext_funcs -# ShlibVer: auto -# ShlibVerInfix: no -# DoLinks: no -# rmSoLocs: no -# ldconfig: -# overwrite: no -# depend: ../include/ncurses_cfg.h ./progs.priv.h -# host: i586-pc-beos - -DEBUG_OBJS = \ - ../obj_g/clear$o \ - ../obj_g/tic$o \ - ../obj_g/toe$o \ - ../obj_g/dump_entry$o \ - ../obj_g/infocmp$o \ - ../obj_g/tput$o \ - ../obj_g/tset$o - -$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./progs.priv.h - -mostlyclean:: - -rm -f $(DEBUG_OBJS) - -clean :: - -rm -f $(DEBUG_OBJS) - -# generated by mk-2nd.awk -# model: obj_g -# MODEL: DEBUG -# echo: yes -# subset: termlib+ext_tinfo+base+ext_funcs -# crenames: yes -# cxxrenames: yes -# traces: DEBUG -# srcdir: . - -../obj_g/clear$o : $(srcdir)/clear.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/clear.c -o ../obj_g/clear$o - -../obj_g/tic$o : $(srcdir)/tic.c \ - $(HEADER_DEPS) \ - transform.h \ - $(srcdir)/dump_entry.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/tic.c -o ../obj_g/tic$o - -../obj_g/toe$o : $(srcdir)/toe.c \ - $(HEADER_DEPS) \ - $(srcdir)/dump_entry.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/toe.c -o ../obj_g/toe$o - -../obj_g/dump_entry$o : $(srcdir)/dump_entry.c \ - $(HEADER_DEPS) \ - $(srcdir)/dump_entry.h \ - ../include/parametrized.h \ - $(INCDIR)/capdefaults.c \ - termsort.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/dump_entry.c -o ../obj_g/dump_entry$o - -../obj_g/infocmp$o : $(srcdir)/infocmp.c \ - $(HEADER_DEPS) \ - $(srcdir)/dump_entry.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/infocmp.c -o ../obj_g/infocmp$o - -../obj_g/tput$o : $(srcdir)/tput.c \ - $(HEADER_DEPS) \ - transform.h \ - termsort.c - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/tput.c -o ../obj_g/tput$o - -../obj_g/tset$o : $(srcdir)/tset.c \ - $(HEADER_DEPS) \ - transform.h \ - $(srcdir)/dump_entry.h \ - ../include/termcap.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/tset.c -o ../obj_g/tset$o - -depend : $(AUTO_SRC) - makedepend -- $(CPPFLAGS) -- $(C_SRC) - -# DO NOT DELETE THIS LINE -- make depend depends on it. diff --git a/src/libs/ncurses/progs/Makefile.in b/src/libs/ncurses/progs/Makefile.in deleted file mode 100644 index f67bfff0d4..0000000000 --- a/src/libs/ncurses/progs/Makefile.in +++ /dev/null @@ -1,286 +0,0 @@ -# $Id: Makefile.in,v 1.65 2005/09/25 00:42:08 tom Exp $ -############################################################################## -# Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996-2003 -# -# Makefile for ncurses source code. -# -# This makes the ncurses utility programs. -# -# The variable 'srcdir' refers to the source-distribution, and can be set with -# the configure script by "--srcdir=DIR". -# -# The rules are organized to produce the libraries for the configured models, -# and the programs with the configured default model. - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -CF_MFLAGS = @cf_cv_makeflags@ -@SET_MAKE@ - -x = @EXEEXT@ -o = .@OBJEXT@ - -MODEL = ../@DFT_OBJ_SUBDIR@ -DESTDIR = @DESTDIR@ -top_srcdir = @top_srcdir@ -srcdir = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ -bindir = @bindir@ -libdir = @libdir@ -includedir = @includedir@ -datadir = @datadir@ - -LIBTOOL = @LIBTOOL@ -LIBTOOL_CLEAN = @LIB_CLEAN@ -LIBTOOL_COMPILE = @LIB_COMPILE@ -LIBTOOL_LINK = @LIB_LINK@ -LIBTOOL_INSTALL = @LIB_INSTALL@ -LIBTOOL_UNINSTALL = @LIB_UNINSTALL@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -transform = @program_transform_name@ - -AWK = @AWK@ -LN_S = @LN_S@ - -CC = @CC@ -CPP = @CPP@ -CFLAGS = @CFLAGS@ - -INCDIR = $(top_srcdir)/include -CPPFLAGS = -I../progs -I$(srcdir) -DHAVE_CONFIG_H @CPPFLAGS@ - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) - -CFLAGS_LIBTOOL = $(CCFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ - -CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) - -LD = @LD@ -LINK = @LINK_PROGS@ $(LIBTOOL_LINK) $(CC) -LDFLAGS = @EXTRA_LDFLAGS@ \ - @TINFO_ARGS@ @LDFLAGS@ @LD_MODEL@ @LIBS@ - -LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL) -LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL) -LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG) -LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE) -LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@ - -LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@) - -LINT = @LINT@ -LINT_OPTS = @LINT_OPTS@ -LINT_LIBS = -lncurses @LIBS@ - -AUTO_SRC = \ - termsort.c \ - transform.h - -# tic and toe rely on direct access to the terminfo database -GET_PROGS = infocmp$x clear$x tput$x tset$x -PUT_PROGS = @MAKE_TERMINFO@ tic$x toe$x -PROGS = $(PUT_PROGS) $(GET_PROGS) - -TESTPROGS = mvcur$x tctest$x hardscroll$x hashmap$x - -# Default library, for linking applications -DEPS_CURSES = ../lib/@LIB_PREFIX@ncurses@DFT_DEP_SUFFIX@ - -HEADER_DEPS = \ - ../include/curses.h \ - $(INCDIR)/term_entry.h \ - $(INCDIR)/tic.h \ - $(INCDIR)/nc_alloc.h - -################################################################################ -all: $(AUTO_SRC) $(PROGS) - -sources: $(AUTO_SRC) - -install: $(AUTO_SRC) install.progs -uninstall: uninstall.progs - -# this line simplifies the configure-script -libs \ -install.libs \ -uninstall.libs: - -TRANSFORM = sed 's/$x$$//'|sed '$(transform)'|sed 's/$$/$x/' - -actual_captoinfo = `echo captoinfo$x| $(TRANSFORM)` -actual_clear = `echo clear$x| $(TRANSFORM)` -actual_infocmp = `echo infocmp$x| $(TRANSFORM)` -actual_infotocap = `echo infotocap$x| $(TRANSFORM)` -actual_init = `echo init$x| $(TRANSFORM)` -actual_reset = `echo reset$x| $(TRANSFORM)` -actual_tic = `echo tic$x| $(TRANSFORM)` -actual_toe = `echo toe$x| $(TRANSFORM)` -actual_tput = `echo tput$x| $(TRANSFORM)` -actual_tset = `echo tset$x| $(TRANSFORM)` - -transform.h : - echo "#define PROG_CAPTOINFO \"$(actual_captoinfo)\"" >$@ - echo "#define PROG_INFOTOCAP \"$(actual_infotocap)\"" >>$@ - echo "#define PROG_RESET \"$(actual_reset)\"" >>$@ - echo "#define PROG_INIT \"$(actual_init)\"" >>$@ - -install.progs: $(AUTO_SRC) $(PROGS) $(DESTDIR)$(bindir) -@MAKE_TERMINFO@ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tic$x $(DESTDIR)$(bindir)/$(actual_tic) -@MAKE_TERMINFO@ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) toe$x $(DESTDIR)$(bindir)/$(actual_toe) -@MAKE_TERMINFO@ @echo "linking $(actual_infotocap) to $(actual_tic)" -@MAKE_TERMINFO@ -@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap) -@MAKE_TERMINFO@ (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_infotocap)) -@MAKE_TERMINFO@ @echo "linking $(actual_captoinfo) to $(actual_tic)" -@MAKE_TERMINFO@ -@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo) -@MAKE_TERMINFO@ (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_captoinfo)) - $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) infocmp$x $(DESTDIR)$(bindir)/$(actual_infocmp) - $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) clear$x $(DESTDIR)$(bindir)/$(actual_clear) - $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tput$x $(DESTDIR)$(bindir)/$(actual_tput) - $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tset$x $(DESTDIR)$(bindir)/$(actual_tset) - @echo "linking $(actual_reset) to $(actual_tset)" - -@rm -f $(DESTDIR)$(bindir)/$(actual_reset) - (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tset) $(actual_reset)) - -uninstall.progs: -@MAKE_TERMINFO@ -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tic) -@MAKE_TERMINFO@ -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_toe) -@MAKE_TERMINFO@ -@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo) -@MAKE_TERMINFO@ -@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap) - -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_infocmp) - -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_clear) - -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tput) - -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tset) - -@rm -f $(DESTDIR)$(bindir)/$(actual_reset) - -$(DESTDIR)$(bindir) : - sh $(srcdir)/../mkinstalldirs $@ - -# -# Utilities normally built by make all start here -# - -DEPS_TIC = \ - $(MODEL)/tic$o \ - $(MODEL)/dump_entry$o - -tic$x: $(DEPS_TIC) $(DEPS_CURSES) transform.h - @ECHO_LINK@ $(LINK) $(DEPS_TIC) $(LDFLAGS_DEFAULT) -o $@ - -DEPS_TOE = \ - $(MODEL)/toe$o \ - $(MODEL)/dump_entry$o - -toe$x: $(DEPS_TOE) $(DEPS_CURSES) - @ECHO_LINK@ $(LINK) $(DEPS_TOE) $(LDFLAGS_DEFAULT) -o $@ - -DEPS_CLEAR = \ - $(MODEL)/clear$o - -clear$x: $(DEPS_CLEAR) $(DEPS_CURSES) - @ECHO_LINK@ $(LINK) $(DEPS_CLEAR) $(LDFLAGS_DEFAULT) -o $@ - -DEPS_TPUT = \ - $(MODEL)/tput$o - -tput$x: $(DEPS_TPUT) $(DEPS_CURSES) transform.h - @ECHO_LINK@ $(LINK) $(DEPS_TPUT) $(LDFLAGS_DEFAULT) -o $@ - -DEPS_INFOCMP = \ - $(MODEL)/infocmp$o \ - $(MODEL)/dump_entry$o - -infocmp$x: $(DEPS_INFOCMP) $(DEPS_CURSES) - @ECHO_LINK@ $(LINK) $(DEPS_INFOCMP) $(LDFLAGS_DEFAULT) -o $@ - -DEPS_TSET = \ - $(MODEL)/tset$o \ - $(MODEL)/dump_entry$o - -tset$x: $(DEPS_TSET) $(DEPS_CURSES) transform.h - @ECHO_LINK@ $(LINK) $(DEPS_TSET) $(LDFLAGS_DEFAULT) -o $@ - -termsort.c: $(srcdir)/MKtermsort.sh - sh $(srcdir)/MKtermsort.sh $(AWK) $(srcdir)/../include/@TERMINFO_CAPS@ >$@ - -# -# Utility productions start here -# - -tags: - ctags *.[ch] - -@MAKE_UPPER_TAGS@TAGS: -@MAKE_UPPER_TAGS@ etags *.[ch] - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace - -rm -f $(TESTPROGS) - -clean :: mostlyclean - -sh -c "if test -n '$x' ; then $(MAKE) clean x=''; fi" - -rm -f $(AUTO_SRC) - -rm -f $(PROGS) - -rm -rf .libs - -distclean :: clean - -rm -f Makefile - -realclean :: distclean - -# These rules are used to allow "make -n" to work on a clean directory-tree -../include/hashsize.h \ -../include/parametrized.h \ -../include/term.h : - cd ../include; $(MAKE) $(CF_MFLAGS) -$(DEPS_CURSES) : - cd ../ncurses; $(MAKE) $(CF_MFLAGS) - -lint: -@MAKE_TERMINFO@ $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tic.c $(srcdir)/dump_entry.c $(LINT_LIBS) -@MAKE_TERMINFO@ $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/toe.c $(srcdir)/dump_entry.c $(LINT_LIBS) - $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/clear.c $(LINT_LIBS) - $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/infocmp.c $(srcdir)/dump_entry.c $(LINT_LIBS) - $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tput.c $(LINT_LIBS) - $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tset.c $(srcdir)/dump_entry.c $(LINT_LIBS) - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### diff --git a/src/libs/ncurses/progs/clear.c b/src/libs/ncurses/progs/clear.c deleted file mode 100644 index da30bcc4a3..0000000000 --- a/src/libs/ncurses/progs/clear.c +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - - -/* - * clear.c -- clears the terminal's screen - */ - -#include - -MODULE_ID("$Id: clear.c,v 1.9 2005/09/25 00:46:43 tom Exp $") - -static int putch(int c) -{ - return putchar(c); -} - -int main( - int argc GCC_UNUSED, - char *argv[] GCC_UNUSED) -{ - setupterm((char *) 0, STDOUT_FILENO, (int *) 0); - return (tputs(clear_screen, lines > 0 ? lines : 1, putch) == ERR) - ? EXIT_FAILURE - : EXIT_SUCCESS; -} diff --git a/src/libs/ncurses/progs/clear.sh b/src/libs/ncurses/progs/clear.sh deleted file mode 100755 index 1b6b0bb8a6..0000000000 --- a/src/libs/ncurses/progs/clear.sh +++ /dev/null @@ -1 +0,0 @@ -exec tput clear diff --git a/src/libs/ncurses/progs/dump_entry.c b/src/libs/ncurses/progs/dump_entry.c deleted file mode 100644 index 6187d5b130..0000000000 --- a/src/libs/ncurses/progs/dump_entry.c +++ /dev/null @@ -1,1158 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996 on * - ****************************************************************************/ - -#define __INTERNAL_CAPS_VISIBLE -#include - -#include "dump_entry.h" -#include "termsort.c" /* this C file is generated */ -#include /* so is this */ - -MODULE_ID("$Id: dump_entry.c,v 1.70 2005/07/23 20:03:30 tom Exp $") - -#define INDENT 8 -#define DISCARD(string) string = ABSENT_STRING -#define PRINTF (void) printf - -typedef struct { - char *text; - size_t used; - size_t size; -} DYNBUF; - -static int tversion; /* terminfo version */ -static int outform; /* output format to use */ -static int sortmode; /* sort mode to use */ -static int width = 60; /* max line width for listings */ -static int column; /* current column, limited by 'width' */ -static int oldcol; /* last value of column before wrap */ -static bool pretty; /* true if we format if-then-else strings */ - -static char *save_sgr; -static char *save_acsc; - -static DYNBUF outbuf; -static DYNBUF tmpbuf; - -/* indirection pointers for implementing sort and display modes */ -static const PredIdx *bool_indirect, *num_indirect, *str_indirect; -static NCURSES_CONST char *const *bool_names; -static NCURSES_CONST char *const *num_names; -static NCURSES_CONST char *const *str_names; - -static const char *separator, *trailer; - -/* cover various ports and variants of terminfo */ -#define V_ALLCAPS 0 /* all capabilities (SVr4, XSI, ncurses) */ -#define V_SVR1 1 /* SVR1, Ultrix */ -#define V_HPUX 2 /* HP/UX */ -#define V_AIX 3 /* AIX */ -#define V_BSD 4 /* BSD */ - -#if NCURSES_XNAMES -#define OBSOLETE(n) (!_nc_user_definable && (n[0] == 'O' && n[1] == 'T')) -#else -#define OBSOLETE(n) (n[0] == 'O' && n[1] == 'T') -#endif - -#define isObsolete(f,n) ((f == F_TERMINFO || f == F_VARIABLE) && OBSOLETE(n)) - -#if NCURSES_XNAMES -#define BoolIndirect(j) ((j >= BOOLCOUNT) ? (j) : ((sortmode == S_NOSORT) ? j : bool_indirect[j])) -#define NumIndirect(j) ((j >= NUMCOUNT) ? (j) : ((sortmode == S_NOSORT) ? j : num_indirect[j])) -#define StrIndirect(j) ((j >= STRCOUNT) ? (j) : ((sortmode == S_NOSORT) ? j : str_indirect[j])) -#else -#define BoolIndirect(j) ((sortmode == S_NOSORT) ? (j) : bool_indirect[j]) -#define NumIndirect(j) ((sortmode == S_NOSORT) ? (j) : num_indirect[j]) -#define StrIndirect(j) ((sortmode == S_NOSORT) ? (j) : str_indirect[j]) -#endif - -static void -strncpy_DYN(DYNBUF * dst, const char *src, size_t need) -{ - size_t want = need + dst->used + 1; - if (want > dst->size) { - dst->size += (want + 1024); /* be generous */ - dst->text = typeRealloc(char, dst->size, dst->text); - } - (void) strncpy(dst->text + dst->used, src, need); - dst->used += need; - dst->text[dst->used] = 0; -} - -static void -strcpy_DYN(DYNBUF * dst, const char *src) -{ - if (src == 0) { - dst->used = 0; - strcpy_DYN(dst, ""); - } else { - strncpy_DYN(dst, src, strlen(src)); - } -} - -#if NO_LEAKS -static void -free_DYN(DYNBUF * p) -{ - if (p->text != 0) - free(p->text); - p->text = 0; - p->size = 0; - p->used = 0; -} - -void -_nc_leaks_dump_entry(void) -{ - free_DYN(&outbuf); - free_DYN(&tmpbuf); -} -#endif - -NCURSES_CONST char * -nametrans(const char *name) -/* translate a capability name from termcap to terminfo */ -{ - const struct name_table_entry *np; - - if ((np = _nc_find_entry(name, _nc_get_hash_table(0))) != 0) - switch (np->nte_type) { - case BOOLEAN: - if (bool_from_termcap[np->nte_index]) - return (boolcodes[np->nte_index]); - break; - - case NUMBER: - if (num_from_termcap[np->nte_index]) - return (numcodes[np->nte_index]); - break; - - case STRING: - if (str_from_termcap[np->nte_index]) - return (strcodes[np->nte_index]); - break; - } - - return (0); -} - -void -dump_init(const char *version, int mode, int sort, int twidth, int traceval, - bool formatted) -/* set up for entry display */ -{ - width = twidth; - pretty = formatted; - - /* versions */ - if (version == 0) - tversion = V_ALLCAPS; - else if (!strcmp(version, "SVr1") || !strcmp(version, "SVR1") - || !strcmp(version, "Ultrix")) - tversion = V_SVR1; - else if (!strcmp(version, "HP")) - tversion = V_HPUX; - else if (!strcmp(version, "AIX")) - tversion = V_AIX; - else if (!strcmp(version, "BSD")) - tversion = V_BSD; - else - tversion = V_ALLCAPS; - - /* implement display modes */ - switch (outform = mode) { - case F_LITERAL: - case F_TERMINFO: - bool_names = boolnames; - num_names = numnames; - str_names = strnames; - separator = twidth ? ", " : ","; - trailer = "\n\t"; - break; - - case F_VARIABLE: - bool_names = boolfnames; - num_names = numfnames; - str_names = strfnames; - separator = twidth ? ", " : ","; - trailer = "\n\t"; - break; - - case F_TERMCAP: - case F_TCONVERR: - bool_names = boolcodes; - num_names = numcodes; - str_names = strcodes; - separator = ":"; - trailer = "\\\n\t:"; - break; - } - - /* implement sort modes */ - switch (sortmode = sort) { - case S_NOSORT: - if (traceval) - (void) fprintf(stderr, - "%s: sorting by term structure order\n", _nc_progname); - break; - - case S_TERMINFO: - if (traceval) - (void) fprintf(stderr, - "%s: sorting by terminfo name order\n", _nc_progname); - bool_indirect = bool_terminfo_sort; - num_indirect = num_terminfo_sort; - str_indirect = str_terminfo_sort; - break; - - case S_VARIABLE: - if (traceval) - (void) fprintf(stderr, - "%s: sorting by C variable order\n", _nc_progname); - bool_indirect = bool_variable_sort; - num_indirect = num_variable_sort; - str_indirect = str_variable_sort; - break; - - case S_TERMCAP: - if (traceval) - (void) fprintf(stderr, - "%s: sorting by termcap name order\n", _nc_progname); - bool_indirect = bool_termcap_sort; - num_indirect = num_termcap_sort; - str_indirect = str_termcap_sort; - break; - } - - if (traceval) - (void) fprintf(stderr, - "%s: width = %d, tversion = %d, outform = %d\n", - _nc_progname, width, tversion, outform); -} - -static TERMTYPE *cur_type; - -static int -dump_predicate(PredType type, PredIdx idx) -/* predicate function to use for ordinary decompilation */ -{ - switch (type) { - case BOOLEAN: - return (cur_type->Booleans[idx] == FALSE) - ? FAIL : cur_type->Booleans[idx]; - - case NUMBER: - return (cur_type->Numbers[idx] == ABSENT_NUMERIC) - ? FAIL : cur_type->Numbers[idx]; - - case STRING: - return (cur_type->Strings[idx] != ABSENT_STRING) - ? (int) TRUE : FAIL; - } - - return (FALSE); /* pacify compiler */ -} - -static void set_obsolete_termcaps(TERMTYPE *tp); - -/* is this the index of a function key string? */ -#define FNKEY(i) (((i)<= 65 && (i)>= 75) || ((i)<= 216 && (i)>= 268)) - -/* - * If we configure with a different Caps file, the offsets into the arrays - * will change. So we use an address expression. - */ -#define BOOL_IDX(name) (&(name) - &(CUR Booleans[0])) -#define NUM_IDX(name) (&(name) - &(CUR Numbers[0])) -#define STR_IDX(name) (&(name) - &(CUR Strings[0])) - -static bool -version_filter(PredType type, PredIdx idx) -/* filter out capabilities we may want to suppress */ -{ - switch (tversion) { - case V_ALLCAPS: /* SVr4, XSI Curses */ - return (TRUE); - - case V_SVR1: /* System V Release 1, Ultrix */ - switch (type) { - case BOOLEAN: - return ((idx <= BOOL_IDX(xon_xoff)) ? TRUE : FALSE); - case NUMBER: - return ((idx <= NUM_IDX(width_status_line)) ? TRUE : FALSE); - case STRING: - return ((idx <= STR_IDX(prtr_non)) ? TRUE : FALSE); - } - break; - - case V_HPUX: /* Hewlett-Packard */ - switch (type) { - case BOOLEAN: - return ((idx <= BOOL_IDX(xon_xoff)) ? TRUE : FALSE); - case NUMBER: - return ((idx <= NUM_IDX(label_width)) ? TRUE : FALSE); - case STRING: - if (idx <= STR_IDX(prtr_non)) - return (TRUE); - else if (FNKEY(idx)) /* function keys */ - return (TRUE); - else if (idx == STR_IDX(plab_norm) - || idx == STR_IDX(label_on) - || idx == STR_IDX(label_off)) - return (TRUE); - else - return (FALSE); - } - break; - - case V_AIX: /* AIX */ - switch (type) { - case BOOLEAN: - return ((idx <= BOOL_IDX(xon_xoff)) ? TRUE : FALSE); - case NUMBER: - return ((idx <= NUM_IDX(width_status_line)) ? TRUE : FALSE); - case STRING: - if (idx <= STR_IDX(prtr_non)) - return (TRUE); - else if (FNKEY(idx)) /* function keys */ - return (TRUE); - else - return (FALSE); - } - break; - - case V_BSD: /* BSD */ - switch (type) { - case BOOLEAN: - return bool_from_termcap[idx]; - case NUMBER: - return num_from_termcap[idx]; - case STRING: - return str_from_termcap[idx]; - } - break; - } - - return (FALSE); /* pacify the compiler */ -} - -static void -force_wrap(void) -{ - oldcol = column; - strcpy_DYN(&outbuf, trailer); - column = INDENT; -} - -static void -wrap_concat(const char *src) -{ - int need = strlen(src); - int want = strlen(separator) + need; - - if (column > INDENT - && column + want > width) { - force_wrap(); - } - strcpy_DYN(&outbuf, src); - strcpy_DYN(&outbuf, separator); - column += need; -} - -#define IGNORE_SEP_TRAIL(first,last,sep_trail) \ - if ((size_t)(last - first) > sizeof(sep_trail)-1 \ - && !strncmp(first, sep_trail, sizeof(sep_trail)-1)) \ - first += sizeof(sep_trail)-2 - -/* Returns the nominal length of the buffer assuming it is termcap format, - * i.e., the continuation sequence is treated as a single character ":". - * - * There are several implementations of termcap which read the text into a - * fixed-size buffer. Generally they strip the newlines from the text, but may - * not do it until after the buffer is read. Also, "tc=" resolution may be - * expanded in the same buffer. This function is useful for measuring the size - * of the best fixed-buffer implementation; the worst case may be much worse. - */ -#ifdef TEST_TERMCAP_LENGTH -static int -termcap_length(const char *src) -{ - static const char pattern[] = ":\\\n\t:"; - - int len = 0; - const char *const t = src + strlen(src); - - while (*src != '\0') { - IGNORE_SEP_TRAIL(src, t, pattern); - src++; - len++; - } - return len; -} -#else -#define termcap_length(src) strlen(src) -#endif - -static char * -fmt_complex(char *src, int level) -{ - int percent = 0; - int n; - bool if_then = strstr(src, "%?") != 0; - bool params = !if_then && (strlen(src) > 50) && (strstr(src, "%p") != 0); - - while (*src != '\0') { - switch (*src) { - case '\\': - percent = 0; - strncpy_DYN(&tmpbuf, src++, 1); - break; - case '%': - percent = 1; - break; - case '?': /* "if" */ - case 't': /* "then" */ - case 'e': /* "else" */ - if (percent) { - percent = 0; - tmpbuf.text[tmpbuf.used - 1] = '\n'; - /* treat a "%e%?" as else-if, on the same level */ - if (!strncmp(src, "e%?", 3)) { - for (n = 0; n < level; n++) - strncpy_DYN(&tmpbuf, "\t", 1); - strncpy_DYN(&tmpbuf, "%", 1); - strncpy_DYN(&tmpbuf, src, 3); - src += 3; - } else { - for (n = 0; n <= level; n++) - strncpy_DYN(&tmpbuf, "\t", 1); - strncpy_DYN(&tmpbuf, "%", 1); - strncpy_DYN(&tmpbuf, src, 1); - if (*src++ == '?') { - src = fmt_complex(src, level + 1); - } else if (level == 1) { - _nc_warning("%%%c without %%?", *src); - } - } - continue; - } - break; - case ';': /* "endif" */ - if (percent) { - percent = 0; - if (level > 1) { - tmpbuf.text[tmpbuf.used - 1] = '\n'; - for (n = 0; n < level; n++) - strncpy_DYN(&tmpbuf, "\t", 1); - strncpy_DYN(&tmpbuf, "%", 1); - strncpy_DYN(&tmpbuf, src++, 1); - return src; - } - _nc_warning("%%; without %%?"); - } - break; - case 'p': - if (percent && params) { - tmpbuf.text[tmpbuf.used - 1] = '\n'; - for (n = 0; n <= level; n++) - strncpy_DYN(&tmpbuf, "\t", 1); - strncpy_DYN(&tmpbuf, "%", 1); - } - percent = 0; - break; - default: - percent = 0; - break; - } - strncpy_DYN(&tmpbuf, src++, 1); - } - return src; -} - -#define SAME_CAP(n,cap) (&tterm->Strings[n] == &cap) - -int -fmt_entry(TERMTYPE *tterm, - PredFunc pred, - bool content_only, - bool suppress_untranslatable, - bool infodump, - int numbers) -{ - PredIdx i, j; - char buffer[MAX_TERMINFO_LENGTH]; - char *capability; - NCURSES_CONST char *name; - int predval, len; - PredIdx num_bools = 0; - PredIdx num_values = 0; - PredIdx num_strings = 0; - bool outcount = 0; - -#define WRAP_CONCAT \ - wrap_concat(buffer); \ - outcount = TRUE - - len = 12; /* terminfo file-header */ - - if (pred == 0) { - cur_type = tterm; - pred = dump_predicate; - } - - strcpy_DYN(&outbuf, 0); - if (content_only) { - column = INDENT; /* FIXME: workaround to prevent empty lines */ - } else { - strcpy_DYN(&outbuf, tterm->term_names); - strcpy_DYN(&outbuf, separator); - column = outbuf.used; - force_wrap(); - } - - for_each_boolean(j, tterm) { - i = BoolIndirect(j); - name = ExtBoolname(tterm, i, bool_names); - - if (!version_filter(BOOLEAN, i)) - continue; - else if (isObsolete(outform, name)) - continue; - - predval = pred(BOOLEAN, i); - if (predval != FAIL) { - (void) strcpy(buffer, name); - if (predval <= 0) - (void) strcat(buffer, "@"); - else if (i + 1 > num_bools) - num_bools = i + 1; - WRAP_CONCAT; - } - } - - if (column != INDENT) - force_wrap(); - - for_each_number(j, tterm) { - i = NumIndirect(j); - name = ExtNumname(tterm, i, num_names); - - if (!version_filter(NUMBER, i)) - continue; - else if (isObsolete(outform, name)) - continue; - - predval = pred(NUMBER, i); - if (predval != FAIL) { - if (tterm->Numbers[i] < 0) { - sprintf(buffer, "%s@", name); - } else { - sprintf(buffer, "%s#%d", name, tterm->Numbers[i]); - if (i + 1 > num_values) - num_values = i + 1; - } - WRAP_CONCAT; - } - } - - if (column != INDENT) - force_wrap(); - - len += num_bools - + num_values * 2 - + strlen(tterm->term_names) + 1; - if (len & 1) - len++; - -#undef CUR -#define CUR tterm-> - if (outform == F_TERMCAP) { - if (termcap_reset != ABSENT_STRING) { - if (init_3string != ABSENT_STRING - && !strcmp(init_3string, termcap_reset)) - DISCARD(init_3string); - - if (reset_2string != ABSENT_STRING - && !strcmp(reset_2string, termcap_reset)) - DISCARD(reset_2string); - } - } - - for_each_string(j, tterm) { - i = StrIndirect(j); - name = ExtStrname(tterm, i, str_names); - capability = tterm->Strings[i]; - - if (!version_filter(STRING, i)) - continue; - else if (isObsolete(outform, name)) - continue; - -#if NCURSES_XNAMES - /* - * Extended names can be longer than 2 characters, but termcap programs - * cannot read those (filter them out). - */ - if (outform == F_TERMCAP && (strlen(name) > 2)) - continue; -#endif - - if (outform == F_TERMCAP) { - /* - * Some older versions of vi want rmir/smir to be defined - * for ich/ich1 to work. If they're not defined, force - * them to be output as defined and empty. - */ - if (PRESENT(insert_character) || PRESENT(parm_ich)) { - if (SAME_CAP(i, enter_insert_mode) - && enter_insert_mode == ABSENT_STRING) { - (void) strcpy(buffer, "im="); - WRAP_CONCAT; - continue; - } - - if (SAME_CAP(i, exit_insert_mode) - && exit_insert_mode == ABSENT_STRING) { - (void) strcpy(buffer, "ei="); - WRAP_CONCAT; - continue; - } - } - /* - * termcap applications such as screen will be confused if sgr0 - * is translated to a string containing rmacs. Filter that out. - */ - if (PRESENT(exit_attribute_mode)) { - if (SAME_CAP(i, exit_attribute_mode)) { - char *trimmed_sgr0; - char *my_sgr = set_attributes; - - set_attributes = save_sgr; - - trimmed_sgr0 = _nc_trim_sgr0(tterm); - if (strcmp(capability, trimmed_sgr0)) - capability = trimmed_sgr0; - - set_attributes = my_sgr; - } - } - } - - predval = pred(STRING, i); - buffer[0] = '\0'; - - if (predval != FAIL) { - if (capability != ABSENT_STRING - && i + 1 > num_strings) - num_strings = i + 1; - - if (!VALID_STRING(capability)) { - sprintf(buffer, "%s@", name); - WRAP_CONCAT; - } else if (outform == F_TERMCAP || outform == F_TCONVERR) { - int params = ((i < (int) SIZEOF(parametrized)) - ? parametrized[i] - : 0); - char *srccap = _nc_tic_expand(capability, TRUE, numbers); - char *cv = _nc_infotocap(name, srccap, params); - - if (cv == 0) { - if (outform == F_TCONVERR) { - sprintf(buffer, "%s=!!! %s WILL NOT CONVERT !!!", - name, srccap); - } else if (suppress_untranslatable) { - continue; - } else { - char *s = srccap, *d = buffer; - sprintf(d, "..%s=", name); - d += strlen(d); - while ((*d = *s++) != 0) { - if (*d == ':') { - *d++ = '\\'; - *d = ':'; - } else if (*d == '\\') { - *++d = *s++; - } - d++; - } - } - } else { - sprintf(buffer, "%s=%s", name, cv); - } - len += strlen(capability) + 1; - WRAP_CONCAT; - } else { - char *src = _nc_tic_expand(capability, - outform == F_TERMINFO, numbers); - - strcpy_DYN(&tmpbuf, 0); - strcpy_DYN(&tmpbuf, name); - strcpy_DYN(&tmpbuf, "="); - if (pretty - && (outform == F_TERMINFO - || outform == F_VARIABLE)) { - fmt_complex(src, 1); - } else { - strcpy_DYN(&tmpbuf, src); - } - len += strlen(capability) + 1; - wrap_concat(tmpbuf.text); - outcount = TRUE; - } - } - /* e.g., trimmed_sgr0 */ - if (capability != tterm->Strings[i]) - free(capability); - } - len += num_strings * 2; - - /* - * This piece of code should be an effective inverse of the functions - * postprocess_terminfo and postprocess_terminfo in parse_entry.c. - * Much more work should be done on this to support dumping termcaps. - */ - if (tversion == V_HPUX) { - if (memory_lock) { - (void) sprintf(buffer, "meml=%s", memory_lock); - WRAP_CONCAT; - } - if (memory_unlock) { - (void) sprintf(buffer, "memu=%s", memory_unlock); - WRAP_CONCAT; - } - } else if (tversion == V_AIX) { - if (VALID_STRING(acs_chars)) { - bool box_ok = TRUE; - const char *acstrans = "lqkxjmwuvtn"; - const char *cp; - char *tp, *sp, boxchars[11]; - - tp = boxchars; - for (cp = acstrans; *cp; cp++) { - sp = strchr(acs_chars, *cp); - if (sp) - *tp++ = sp[1]; - else { - box_ok = FALSE; - break; - } - } - tp[0] = '\0'; - - if (box_ok) { - (void) strcpy(buffer, "box1="); - (void) strcat(buffer, _nc_tic_expand(boxchars, - outform == F_TERMINFO, numbers)); - WRAP_CONCAT; - } - } - } - - /* - * kludge: trim off trailer to avoid an extra blank line - * in infocmp -u output when there are no string differences - */ - if (outcount) { - bool trimmed = FALSE; - j = outbuf.used; - if (j >= 2 - && outbuf.text[j - 1] == '\t' - && outbuf.text[j - 2] == '\n') { - outbuf.used -= 2; - trimmed = TRUE; - } else if (j >= 4 - && outbuf.text[j - 1] == ':' - && outbuf.text[j - 2] == '\t' - && outbuf.text[j - 3] == '\n' - && outbuf.text[j - 4] == '\\') { - outbuf.used -= 4; - trimmed = TRUE; - } - if (trimmed) { - outbuf.text[outbuf.used] = '\0'; - column = oldcol; - } - } -#if 0 - fprintf(stderr, "num_bools = %d\n", num_bools); - fprintf(stderr, "num_values = %d\n", num_values); - fprintf(stderr, "num_strings = %d\n", num_strings); - fprintf(stderr, "term_names=%s, len=%d, strlen(outbuf)=%d, outbuf=%s\n", - tterm->term_names, len, outbuf.used, outbuf.text); -#endif - /* - * Here's where we use infodump to trigger a more stringent length check - * for termcap-translation purposes. - * Return the length of the raw entry, without tc= expansions, - * It gives an idea of which entries are deadly to even *scan past*, - * as opposed to *use*. - */ - return (infodump ? len : (int) termcap_length(outbuf.text)); -} - -static bool -kill_string(TERMTYPE *tterm, char *cap) -{ - int n; - for (n = 0; n < NUM_STRINGS(tterm); ++n) { - if (cap == tterm->Strings[n]) { - tterm->Strings[n] = ABSENT_STRING; - return TRUE; - } - } - return FALSE; -} - -static char * -find_string(TERMTYPE *tterm, char *name) -{ - PredIdx n; - for (n = 0; n < NUM_STRINGS(tterm); ++n) { - if (version_filter(STRING, n) - && !strcmp(name, strnames[n])) { - char *cap = tterm->Strings[n]; - if (VALID_STRING(cap)) { - return cap; - } - break; - } - } - return ABSENT_STRING; -} - -/* - * This is used to remove function-key labels from a termcap entry to - * make it smaller. - */ -static int -kill_labels(TERMTYPE *tterm, int target) -{ - int n; - int result = 0; - char *cap; - char name[10]; - - for (n = 0; n <= 10; ++n) { - sprintf(name, "lf%d", n); - if ((cap = find_string(tterm, name)) != ABSENT_STRING - && kill_string(tterm, cap)) { - target -= (strlen(cap) + 5); - ++result; - if (target < 0) - break; - } - } - return result; -} - -/* - * This is used to remove function-key definitions from a termcap entry to - * make it smaller. - */ -static int -kill_fkeys(TERMTYPE *tterm, int target) -{ - int n; - int result = 0; - char *cap; - char name[10]; - - for (n = 60; n >= 0; --n) { - sprintf(name, "kf%d", n); - if ((cap = find_string(tterm, name)) != ABSENT_STRING - && kill_string(tterm, cap)) { - target -= (strlen(cap) + 5); - ++result; - if (target < 0) - break; - } - } - return result; -} - -#define FMT_ENTRY() \ - fmt_entry(tterm, pred, \ - (already_used > 0), \ - suppress_untranslatable, \ - infodump, numbers) - -#define SHOW_WHY if (!already_used) PRINTF - -int -dump_entry(TERMTYPE *tterm, - bool suppress_untranslatable, - bool limited, - int already_used, - int numbers, - PredFunc pred) -/* dump a single entry */ -{ - int len, critlen; - const char *legend; - bool infodump; - - if (outform == F_TERMCAP || outform == F_TCONVERR) { - critlen = MAX_TERMCAP_LENGTH; - legend = "older termcap"; - infodump = FALSE; - set_obsolete_termcaps(tterm); - } else { - critlen = MAX_TERMINFO_LENGTH; - legend = "terminfo"; - infodump = TRUE; - } - critlen -= already_used; - - save_sgr = set_attributes; - save_acsc = acs_chars; - - if (((len = FMT_ENTRY()) > critlen) - && limited) { - if (!suppress_untranslatable) { - SHOW_WHY("# (untranslatable capabilities removed to fit entry within %d bytes)\n", - critlen); - suppress_untranslatable = TRUE; - } - if ((len = FMT_ENTRY()) > critlen) { - /* - * We pick on sgr because it's a nice long string capability that - * is really just an optimization hack. Another good candidate is - * acsc since it is both long and unused by BSD termcap. - */ - bool changed = FALSE; - -#if NCURSES_XNAMES - /* - * Extended names are most likely function-key definitions. Drop - * those first. - */ - int n; - for (n = STRCOUNT; n < NUM_STRINGS(tterm); n++) { - char *name = ExtStrname(tterm, n, strnames); - - if (VALID_STRING(tterm->Strings[n])) { - set_attributes = ABSENT_STRING; - /* we remove long names anyway - only report the short */ - if (strlen(name) <= 2) { - SHOW_WHY("# (%s removed to fit entry within %d bytes)\n", - name, - critlen); - } - changed = TRUE; - if ((len = FMT_ENTRY()) <= critlen) - break; - } - } -#endif - if (VALID_STRING(set_attributes)) { - set_attributes = ABSENT_STRING; - SHOW_WHY("# (sgr removed to fit entry within %d bytes)\n", - critlen); - changed = TRUE; - } - if (!changed || ((len = FMT_ENTRY()) > critlen)) { - if (VALID_STRING(acs_chars)) { - acs_chars = ABSENT_STRING; - SHOW_WHY("# (acsc removed to fit entry within %d bytes)\n", - critlen); - changed = TRUE; - } - } - if (!changed || ((len = FMT_ENTRY()) > critlen)) { - int oldversion = tversion; - - tversion = V_BSD; - SHOW_WHY("# (terminfo-only capabilities suppressed to fit entry within %d bytes)\n", - critlen); - - len = FMT_ENTRY(); - if (len > critlen - && kill_labels(tterm, len - critlen)) { - SHOW_WHY("# (some labels capabilities suppressed to fit entry within %d bytes)\n", - critlen); - len = FMT_ENTRY(); - } - if (len > critlen - && kill_fkeys(tterm, len - critlen)) { - SHOW_WHY("# (some function-key capabilities suppressed to fit entry within %d bytes)\n", - critlen); - len = FMT_ENTRY(); - } - if (len > critlen && !already_used) { - (void) fprintf(stderr, - "warning: %s entry is %d bytes long\n", - _nc_first_name(tterm->term_names), - len); - SHOW_WHY("# WARNING: this entry, %d bytes long, may core-dump %s libraries!\n", - already_used + len, legend); - } - tversion = oldversion; - } - set_attributes = save_sgr; - acs_chars = save_acsc; - } - } - - (void) fputs(outbuf.text, stdout); - return len; -} - -int -dump_uses(const char *name, bool infodump) -/* dump "use=" clauses in the appropriate format */ -{ - char buffer[MAX_TERMINFO_LENGTH]; - - strcpy_DYN(&outbuf, 0); - (void) sprintf(buffer, "%s%s", infodump ? "use=" : "tc=", name); - wrap_concat(buffer); - (void) fputs(outbuf.text, stdout); - return outbuf.used; -} - -void -compare_entry(void (*hook) (PredType t, PredIdx i, const char *name), - TERMTYPE *tp GCC_UNUSED, - bool quiet) -/* compare two entries */ -{ - PredIdx i, j; - NCURSES_CONST char *name; - - if (!quiet) - fputs(" comparing booleans.\n", stdout); - for_each_boolean(j, tp) { - i = BoolIndirect(j); - name = ExtBoolname(tp, i, bool_names); - - if (isObsolete(outform, name)) - continue; - - (*hook) (CMP_BOOLEAN, i, name); - } - - if (!quiet) - fputs(" comparing numbers.\n", stdout); - for_each_number(j, tp) { - i = NumIndirect(j); - name = ExtNumname(tp, i, num_names); - - if (isObsolete(outform, name)) - continue; - - (*hook) (CMP_NUMBER, i, name); - } - - if (!quiet) - fputs(" comparing strings.\n", stdout); - for_each_string(j, tp) { - i = StrIndirect(j); - name = ExtStrname(tp, i, str_names); - - if (isObsolete(outform, name)) - continue; - - (*hook) (CMP_STRING, i, name); - } - - /* (void) fputs(" comparing use entries.\n", stdout); */ - (*hook) (CMP_USE, 0, "use"); - -} - -#define NOTSET(s) ((s) == 0) - -/* - * This bit of legerdemain turns all the terminfo variable names into - * references to locations in the arrays Booleans, Numbers, and Strings --- - * precisely what's needed. - */ -#undef CUR -#define CUR tp-> - -static void -set_obsolete_termcaps(TERMTYPE *tp) -{ -#include "capdefaults.c" -} - -/* - * Convert an alternate-character-set string to canonical form: sorted and - * unique. - */ -void -repair_acsc(TERMTYPE *tp) -{ - if (VALID_STRING(acs_chars)) { - size_t n, m; - char mapped[256]; - char extra = 0; - unsigned source; - unsigned target; - bool fix_needed = FALSE; - - for (n = 0, source = 0; acs_chars[n] != 0; n++) { - target = acs_chars[n]; - if (source >= target) { - fix_needed = TRUE; - break; - } - source = target; - if (acs_chars[n + 1]) - n++; - } - if (fix_needed) { - memset(mapped, 0, sizeof(mapped)); - for (n = 0; acs_chars[n] != 0; n++) { - source = acs_chars[n]; - if ((target = (unsigned char) acs_chars[n + 1]) != 0) { - mapped[source] = target; - n++; - } else { - extra = source; - } - } - for (n = m = 0; n < sizeof(mapped); n++) { - if (mapped[n]) { - acs_chars[m++] = n; - acs_chars[m++] = mapped[n]; - } - } - if (extra) - acs_chars[m++] = extra; /* garbage in, garbage out */ - acs_chars[m] = 0; - } - } -} diff --git a/src/libs/ncurses/progs/dump_entry.h b/src/libs/ncurses/progs/dump_entry.h deleted file mode 100644 index 1f4a52a180..0000000000 --- a/src/libs/ncurses/progs/dump_entry.h +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - - -/* - * $Id: dump_entry.h,v 1.27 2004/12/04 15:37:17 tom Exp $ - * - * Dump control definitions and variables - */ - -#ifndef DUMP_ENTRY_H -#define DUMP_ENTRY_H 1 - -/* capability output formats */ -#define F_TERMINFO 0 /* use terminfo names */ -#define F_VARIABLE 1 /* use C variable names */ -#define F_TERMCAP 2 /* termcap names with capability conversion */ -#define F_TCONVERR 3 /* as T_TERMCAP, no skip of untranslatables */ -#define F_LITERAL 4 /* like F_TERMINFO, but no smart defaults */ - -/* capability sort modes */ -#define S_DEFAULT 0 /* sort by terminfo name (implicit) */ -#define S_NOSORT 1 /* don't sort */ -#define S_TERMINFO 2 /* sort by terminfo names (explicit) */ -#define S_VARIABLE 3 /* sort by C variable names */ -#define S_TERMCAP 4 /* sort by termcap names */ - -/* capability types for the comparison hook */ -#define CMP_BOOLEAN 0 /* comparison on booleans */ -#define CMP_NUMBER 1 /* comparison on numerics */ -#define CMP_STRING 2 /* comparison on strings */ -#define CMP_USE 3 /* comparison on use capabilities */ - -typedef unsigned PredType; -typedef int PredIdx; -typedef int (*PredFunc)(PredType, PredIdx); - -extern NCURSES_CONST char *nametrans(const char *); -extern void dump_init(const char *, int, int, int, int, bool); -extern int fmt_entry(TERMTYPE *, PredFunc, bool, bool, bool, int); -extern int dump_entry(TERMTYPE *, bool, bool, int, int, PredFunc); -extern int dump_uses(const char *, bool); -extern void compare_entry(void (*)(PredType, PredIdx, const char *), TERMTYPE *, bool); -extern void repair_acsc(TERMTYPE * tp); - -#define FAIL -1 - -#endif /* DUMP_ENTRY_H */ diff --git a/src/libs/ncurses/progs/infocmp.c b/src/libs/ncurses/progs/infocmp.c deleted file mode 100644 index ee422d2970..0000000000 --- a/src/libs/ncurses/progs/infocmp.c +++ /dev/null @@ -1,1626 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * infocmp.c -- decompile an entry, or compare two entries - * written by Eric S. Raymond - */ - -#include - -#include - -MODULE_ID("$Id: infocmp.c,v 1.79 2005/09/25 00:39:43 tom Exp $") - -#define L_CURL "{" -#define R_CURL "}" - -#define MAXTERMS 32 /* max # terminal arguments we can handle */ -#define MAX_STRING 1024 /* maximum formatted string */ - -const char *_nc_progname = "infocmp"; - -typedef char path[PATH_MAX]; - -/*************************************************************************** - * - * The following control variables, together with the contents of the - * terminfo entries, completely determine the actions of the program. - * - ***************************************************************************/ - -static char *tname[MAXTERMS]; /* terminal type names */ -static ENTRY entries[MAXTERMS]; /* terminfo entries */ -static int termcount; /* count of terminal entries */ - -static bool limited = TRUE; /* "-r" option is not set */ -static bool quiet = FALSE; -static bool literal = FALSE; -static const char *bool_sep = ":"; -static const char *s_absent = "NULL"; -static const char *s_cancel = "NULL"; -static const char *tversion; /* terminfo version selected */ -static int itrace; /* trace flag for debugging */ -static int mwidth = 60; -static int numbers = 0; /* format "%'char'" to/from "%{number}" */ -static int outform = F_TERMINFO; /* output format */ -static int sortmode; /* sort_mode */ - -/* main comparison mode */ -static int compare; -#define C_DEFAULT 0 /* don't force comparison mode */ -#define C_DIFFERENCE 1 /* list differences between two terminals */ -#define C_COMMON 2 /* list common capabilities */ -#define C_NAND 3 /* list capabilities in neither terminal */ -#define C_USEALL 4 /* generate relative use-form entry */ -static bool ignorepads; /* ignore pad prefixes when diffing */ - -#if NO_LEAKS -#undef ExitProgram -static void ExitProgram(int code) GCC_NORETURN; -/* prototype is to get gcc to accept the noreturn attribute */ -static void -ExitProgram(int code) -{ - while (termcount-- > 0) - _nc_free_termtype(&entries[termcount].tterm); - _nc_leaks_dump_entry(); - _nc_free_and_exit(code); -} -#endif - -static char * -canonical_name(char *ptr, char *buf) -/* extract the terminal type's primary name */ -{ - char *bp; - - (void) strcpy(buf, ptr); - if ((bp = strchr(buf, '|')) != 0) - *bp = '\0'; - - return (buf); -} - -/*************************************************************************** - * - * Predicates for dump function - * - ***************************************************************************/ - -static int -capcmp(PredIdx idx, const char *s, const char *t) -/* capability comparison function */ -{ - if (!VALID_STRING(s) && !VALID_STRING(t)) - return (s != t); - else if (!VALID_STRING(s) || !VALID_STRING(t)) - return (1); - - if ((idx == acs_chars_index) || !ignorepads) - return (strcmp(s, t)); - else - return (_nc_capcmp(s, t)); -} - -static int -use_predicate(unsigned type, PredIdx idx) -/* predicate function to use for use decompilation */ -{ - ENTRY *ep; - - switch (type) { - case BOOLEAN: - { - int is_set = FALSE; - - /* - * This assumes that multiple use entries are supposed - * to contribute the logical or of their boolean capabilities. - * This is true if we take the semantics of multiple uses to - * be 'each capability gets the first non-default value found - * in the sequence of use entries'. - * - * Note that cancelled or absent booleans are stored as FALSE, - * unlike numbers and strings, whose cancelled/absent state is - * recorded in the terminfo database. - */ - for (ep = &entries[1]; ep < entries + termcount; ep++) - if (ep->tterm.Booleans[idx] == TRUE) { - is_set = entries[0].tterm.Booleans[idx]; - break; - } - if (is_set != entries[0].tterm.Booleans[idx]) - return (!is_set); - else - return (FAIL); - } - - case NUMBER: - { - int value = ABSENT_NUMERIC; - - /* - * We take the semantics of multiple uses to be 'each - * capability gets the first non-default value found - * in the sequence of use entries'. - */ - for (ep = &entries[1]; ep < entries + termcount; ep++) - if (VALID_NUMERIC(ep->tterm.Numbers[idx])) { - value = ep->tterm.Numbers[idx]; - break; - } - - if (value != entries[0].tterm.Numbers[idx]) - return (value != ABSENT_NUMERIC); - else - return (FAIL); - } - - case STRING: - { - char *termstr, *usestr = ABSENT_STRING; - - termstr = entries[0].tterm.Strings[idx]; - - /* - * We take the semantics of multiple uses to be 'each - * capability gets the first non-default value found - * in the sequence of use entries'. - */ - for (ep = &entries[1]; ep < entries + termcount; ep++) - if (ep->tterm.Strings[idx]) { - usestr = ep->tterm.Strings[idx]; - break; - } - - if (usestr == ABSENT_STRING && termstr == ABSENT_STRING) - return (FAIL); - else if (!usestr || !termstr || capcmp(idx, usestr, termstr)) - return (TRUE); - else - return (FAIL); - } - } - - return (FALSE); /* pacify compiler */ -} - -static bool -useeq(ENTRY * e1, ENTRY * e2) -/* are the use references in two entries equivalent? */ -{ - int i, j; - - if (e1->nuses != e2->nuses) - return (FALSE); - - /* Ugh...this is quadratic again */ - for (i = 0; i < e1->nuses; i++) { - bool foundmatch = FALSE; - - /* search second entry for given use reference */ - for (j = 0; j < e2->nuses; j++) - if (!strcmp(e1->uses[i].name, e2->uses[j].name)) { - foundmatch = TRUE; - break; - } - - if (!foundmatch) - return (FALSE); - } - - return (TRUE); -} - -static bool -entryeq(TERMTYPE *t1, TERMTYPE *t2) -/* are two entries equivalent? */ -{ - unsigned i; - - for (i = 0; i < NUM_BOOLEANS(t1); i++) - if (t1->Booleans[i] != t2->Booleans[i]) - return (FALSE); - - for (i = 0; i < NUM_NUMBERS(t1); i++) - if (t1->Numbers[i] != t2->Numbers[i]) - return (FALSE); - - for (i = 0; i < NUM_STRINGS(t1); i++) - if (capcmp((PredIdx) i, t1->Strings[i], t2->Strings[i])) - return (FALSE); - - return (TRUE); -} - -#define TIC_EXPAND(result) _nc_tic_expand(result, outform==F_TERMINFO, numbers) - -static void -print_uses(ENTRY * ep, FILE *fp) -/* print an entry's use references */ -{ - int i; - - if (!ep->nuses) - fputs("NULL", fp); - else - for (i = 0; i < ep->nuses; i++) { - fputs(ep->uses[i].name, fp); - if (i < ep->nuses - 1) - fputs(" ", fp); - } -} - -static const char * -dump_boolean(int val) -/* display the value of a boolean capability */ -{ - switch (val) { - case ABSENT_BOOLEAN: - return (s_absent); - case CANCELLED_BOOLEAN: - return (s_cancel); - case FALSE: - return ("F"); - case TRUE: - return ("T"); - default: - return ("?"); - } -} - -static void -dump_numeric(int val, char *buf) -/* display the value of a boolean capability */ -{ - switch (val) { - case ABSENT_NUMERIC: - strcpy(buf, s_absent); - break; - case CANCELLED_NUMERIC: - strcpy(buf, s_cancel); - break; - default: - sprintf(buf, "%d", val); - break; - } -} - -static void -dump_string(char *val, char *buf) -/* display the value of a string capability */ -{ - if (val == ABSENT_STRING) - strcpy(buf, s_absent); - else if (val == CANCELLED_STRING) - strcpy(buf, s_cancel); - else { - sprintf(buf, "'%.*s'", MAX_STRING - 3, TIC_EXPAND(val)); - } -} - -static void -compare_predicate(PredType type, PredIdx idx, const char *name) -/* predicate function to use for entry difference reports */ -{ - register ENTRY *e1 = &entries[0]; - register ENTRY *e2 = &entries[1]; - char buf1[MAX_STRING], buf2[MAX_STRING]; - int b1, b2; - int n1, n2; - char *s1, *s2; - - switch (type) { - case CMP_BOOLEAN: - b1 = e1->tterm.Booleans[idx]; - b2 = e2->tterm.Booleans[idx]; - switch (compare) { - case C_DIFFERENCE: - if (!(b1 == ABSENT_BOOLEAN && b2 == ABSENT_BOOLEAN) && b1 != b2) - (void) printf("\t%s: %s%s%s.\n", - name, - dump_boolean(b1), - bool_sep, - dump_boolean(b2)); - break; - - case C_COMMON: - if (b1 == b2 && b1 != ABSENT_BOOLEAN) - (void) printf("\t%s= %s.\n", name, dump_boolean(b1)); - break; - - case C_NAND: - if (b1 == ABSENT_BOOLEAN && b2 == ABSENT_BOOLEAN) - (void) printf("\t!%s.\n", name); - break; - } - break; - - case CMP_NUMBER: - n1 = e1->tterm.Numbers[idx]; - n2 = e2->tterm.Numbers[idx]; - dump_numeric(n1, buf1); - dump_numeric(n2, buf2); - switch (compare) { - case C_DIFFERENCE: - if (!((n1 == ABSENT_NUMERIC && n2 == ABSENT_NUMERIC)) && n1 != n2) - (void) printf("\t%s: %s, %s.\n", name, buf1, buf2); - break; - - case C_COMMON: - if (n1 != ABSENT_NUMERIC && n2 != ABSENT_NUMERIC && n1 == n2) - (void) printf("\t%s= %s.\n", name, buf1); - break; - - case C_NAND: - if (n1 == ABSENT_NUMERIC && n2 == ABSENT_NUMERIC) - (void) printf("\t!%s.\n", name); - break; - } - break; - - case CMP_STRING: - s1 = e1->tterm.Strings[idx]; - s2 = e2->tterm.Strings[idx]; - switch (compare) { - case C_DIFFERENCE: - if (capcmp(idx, s1, s2)) { - dump_string(s1, buf1); - dump_string(s2, buf2); - if (strcmp(buf1, buf2)) - (void) printf("\t%s: %s, %s.\n", name, buf1, buf2); - } - break; - - case C_COMMON: - if (s1 && s2 && !capcmp(idx, s1, s2)) - (void) printf("\t%s= '%s'.\n", name, TIC_EXPAND(s1)); - break; - - case C_NAND: - if (!s1 && !s2) - (void) printf("\t!%s.\n", name); - break; - } - break; - - case CMP_USE: - /* unlike the other modes, this compares *all* use entries */ - switch (compare) { - case C_DIFFERENCE: - if (!useeq(e1, e2)) { - (void) fputs("\tuse: ", stdout); - print_uses(e1, stdout); - fputs(", ", stdout); - print_uses(e2, stdout); - fputs(".\n", stdout); - } - break; - - case C_COMMON: - if (e1->nuses && e2->nuses && useeq(e1, e2)) { - (void) fputs("\tuse: ", stdout); - print_uses(e1, stdout); - fputs(".\n", stdout); - } - break; - - case C_NAND: - if (!e1->nuses && !e2->nuses) - (void) printf("\t!use.\n"); - break; - } - } -} - -/*************************************************************************** - * - * Init string analysis - * - ***************************************************************************/ - -typedef struct { - const char *from; - const char *to; -} assoc; - -static const assoc std_caps[] = -{ - /* these are specified by X.364 and iBCS2 */ - {"\033c", "RIS"}, /* full reset */ - {"\0337", "SC"}, /* save cursor */ - {"\0338", "RC"}, /* restore cursor */ - {"\033[r", "RSR"}, /* not an X.364 mnemonic */ - {"\033[m", "SGR0"}, /* not an X.364 mnemonic */ - {"\033[2J", "ED2"}, /* clear page */ - - /* this group is specified by ISO 2022 */ - {"\033(0", "ISO DEC G0"}, /* enable DEC graphics for G0 */ - {"\033(A", "ISO UK G0"}, /* enable UK chars for G0 */ - {"\033(B", "ISO US G0"}, /* enable US chars for G0 */ - {"\033)0", "ISO DEC G1"}, /* enable DEC graphics for G1 */ - {"\033)A", "ISO UK G1"}, /* enable UK chars for G1 */ - {"\033)B", "ISO US G1"}, /* enable US chars for G1 */ - - /* these are DEC private controls widely supported by emulators */ - {"\033=", "DECPAM"}, /* application keypad mode */ - {"\033>", "DECPNM"}, /* normal keypad mode */ - {"\033<", "DECANSI"}, /* enter ANSI mode */ - {"\033[!p", "DECSTR"}, /* soft reset */ - {"\033 F", "S7C1T"}, /* 7-bit controls */ - - {(char *) 0, (char *) 0} -}; - -static const assoc std_modes[] = -/* ECMA \E[ ... [hl] modes recognized by many emulators */ -{ - {"2", "AM"}, /* keyboard action mode */ - {"4", "IRM"}, /* insert/replace mode */ - {"12", "SRM"}, /* send/receive mode */ - {"20", "LNM"}, /* linefeed mode */ - {(char *) 0, (char *) 0} -}; - -static const assoc private_modes[] = -/* DEC \E[ ... [hl] modes recognized by many emulators */ -{ - {"1", "CKM"}, /* application cursor keys */ - {"2", "ANM"}, /* set VT52 mode */ - {"3", "COLM"}, /* 132-column mode */ - {"4", "SCLM"}, /* smooth scroll */ - {"5", "SCNM"}, /* reverse video mode */ - {"6", "OM"}, /* origin mode */ - {"7", "AWM"}, /* wraparound mode */ - {"8", "ARM"}, /* auto-repeat mode */ - {(char *) 0, (char *) 0} -}; - -static const assoc ecma_highlights[] = -/* recognize ECMA attribute sequences */ -{ - {"0", "NORMAL"}, /* normal */ - {"1", "+BOLD"}, /* bold on */ - {"2", "+DIM"}, /* dim on */ - {"3", "+ITALIC"}, /* italic on */ - {"4", "+UNDERLINE"}, /* underline on */ - {"5", "+BLINK"}, /* blink on */ - {"6", "+FASTBLINK"}, /* fastblink on */ - {"7", "+REVERSE"}, /* reverse on */ - {"8", "+INVISIBLE"}, /* invisible on */ - {"9", "+DELETED"}, /* deleted on */ - {"10", "MAIN-FONT"}, /* select primary font */ - {"11", "ALT-FONT-1"}, /* select alternate font 1 */ - {"12", "ALT-FONT-2"}, /* select alternate font 2 */ - {"13", "ALT-FONT-3"}, /* select alternate font 3 */ - {"14", "ALT-FONT-4"}, /* select alternate font 4 */ - {"15", "ALT-FONT-5"}, /* select alternate font 5 */ - {"16", "ALT-FONT-6"}, /* select alternate font 6 */ - {"17", "ALT-FONT-7"}, /* select alternate font 7 */ - {"18", "ALT-FONT-1"}, /* select alternate font 1 */ - {"19", "ALT-FONT-1"}, /* select alternate font 1 */ - {"20", "FRAKTUR"}, /* Fraktur font */ - {"21", "DOUBLEUNDER"}, /* double underline */ - {"22", "-DIM"}, /* dim off */ - {"23", "-ITALIC"}, /* italic off */ - {"24", "-UNDERLINE"}, /* underline off */ - {"25", "-BLINK"}, /* blink off */ - {"26", "-FASTBLINK"}, /* fastblink off */ - {"27", "-REVERSE"}, /* reverse off */ - {"28", "-INVISIBLE"}, /* invisible off */ - {"29", "-DELETED"}, /* deleted off */ - {(char *) 0, (char *) 0} -}; - -static int -skip_csi(const char *cap) -{ - int result = 0; - if (cap[0] == '\033' && cap[1] == '[') - result = 2; - else if (UChar(cap[0]) == 0233) - result = 1; - return result; -} - -static void -analyze_string(const char *name, const char *cap, TERMTYPE *tp) -{ - char buf[MAX_TERMINFO_LENGTH]; - char buf2[MAX_TERMINFO_LENGTH]; - const char *sp, *ep; - const assoc *ap; - int tp_lines = tp->Numbers[2]; - - if (cap == ABSENT_STRING || cap == CANCELLED_STRING) - return; - (void) printf("%s: ", name); - - buf[0] = '\0'; - for (sp = cap; *sp; sp++) { - int i; - int csi; - size_t len = 0; - const char *expansion = 0; - - /* first, check other capabilities in this entry */ - for (i = 0; i < STRCOUNT; i++) { - char *cp = tp->Strings[i]; - - /* don't use soft-key capabilities */ - if (strnames[i][0] == 'k' && strnames[i][0] == 'f') - continue; - - if (cp != ABSENT_STRING && cp != CANCELLED_STRING && cp[0] && cp - != cap) { - len = strlen(cp); - (void) strncpy(buf2, sp, len); - buf2[len] = '\0'; - - if (_nc_capcmp(cp, buf2)) - continue; - -#define ISRS(s) (!strncmp((s), "is", 2) || !strncmp((s), "rs", 2)) - /* - * Theoretically we just passed the test for translation - * (equality once the padding is stripped). However, there - * are a few more hoops that need to be jumped so that - * identical pairs of initialization and reset strings - * don't just refer to each other. - */ - if (ISRS(name) || ISRS(strnames[i])) - if (cap < cp) - continue; -#undef ISRS - - expansion = strnames[i]; - break; - } - } - - /* now check the standard capabilities */ - if (!expansion) { - csi = skip_csi(sp); - for (ap = std_caps; ap->from; ap++) { - size_t adj = csi ? 2 : 0; - - len = strlen(ap->from); - if (len > adj - && strncmp(ap->from + adj, sp + csi, len - adj) == 0) { - expansion = ap->to; - len -= adj; - len += csi; - break; - } - } - } - - /* now check for standard-mode sequences */ - if (!expansion - && (csi = skip_csi(sp)) != 0 - && (len = strspn(sp + csi, "0123456789;")) - && ((sp[csi + len] == 'h') || (sp[csi + len] == 'l'))) { - char buf3[MAX_TERMINFO_LENGTH]; - - (void) strcpy(buf2, (sp[csi + len] == 'h') ? "ECMA+" : "ECMA-"); - (void) strncpy(buf3, sp + csi, len); - len += csi + 1; - buf3[len] = '\0'; - - ep = strtok(buf3, ";"); - do { - bool found = FALSE; - - for (ap = std_modes; ap->from; ap++) { - size_t tlen = strlen(ap->from); - - if (strncmp(ap->from, ep, tlen) == 0) { - (void) strcat(buf2, ap->to); - found = TRUE; - break; - } - } - - if (!found) - (void) strcat(buf2, ep); - (void) strcat(buf2, ";"); - } while - ((ep = strtok((char *) 0, ";"))); - buf2[strlen(buf2) - 1] = '\0'; - expansion = buf2; - } - - /* now check for private-mode sequences */ - if (!expansion - && (csi = skip_csi(sp)) != 0 - && sp[csi] == '?' - && (len = strspn(sp + csi + 1, "0123456789;")) - && ((sp[csi + 1 + len] == 'h') || (sp[csi + 1 + len] == 'l'))) { - char buf3[MAX_TERMINFO_LENGTH]; - - (void) strcpy(buf2, (sp[csi + 1 + len] == 'h') ? "DEC+" : "DEC-"); - (void) strncpy(buf3, sp + csi + 1, len); - len += csi + 2; - buf3[len] = '\0'; - - ep = strtok(buf3, ";"); - do { - bool found = FALSE; - - for (ap = private_modes; ap->from; ap++) { - size_t tlen = strlen(ap->from); - - if (strncmp(ap->from, ep, tlen) == 0) { - (void) strcat(buf2, ap->to); - found = TRUE; - break; - } - } - - if (!found) - (void) strcat(buf2, ep); - (void) strcat(buf2, ";"); - } while - ((ep = strtok((char *) 0, ";"))); - buf2[strlen(buf2) - 1] = '\0'; - expansion = buf2; - } - - /* now check for ECMA highlight sequences */ - if (!expansion - && (csi = skip_csi(sp)) != 0 - && (len = strspn(sp + csi, "0123456789;")) != 0 - && sp[csi + len] == 'm') { - char buf3[MAX_TERMINFO_LENGTH]; - - (void) strcpy(buf2, "SGR:"); - (void) strncpy(buf3, sp + csi, len); - len += csi + 1; - buf3[len] = '\0'; - - ep = strtok(buf3, ";"); - do { - bool found = FALSE; - - for (ap = ecma_highlights; ap->from; ap++) { - size_t tlen = strlen(ap->from); - - if (strncmp(ap->from, ep, tlen) == 0) { - (void) strcat(buf2, ap->to); - found = TRUE; - break; - } - } - - if (!found) - (void) strcat(buf2, ep); - (void) strcat(buf2, ";"); - } while - ((ep = strtok((char *) 0, ";"))); - - buf2[strlen(buf2) - 1] = '\0'; - expansion = buf2; - } - - if (!expansion - && (csi = skip_csi(sp)) != 0 - && sp[csi] == 'm') { - len = csi + 1; - (void) strcpy(buf2, "SGR:"); - strcat(buf2, ecma_highlights[0].to); - expansion = buf2; - } - - /* now check for scroll region reset */ - if (!expansion - && (csi = skip_csi(sp)) != 0) { - if (sp[csi] == 'r') { - expansion = "RSR"; - len = 1; - } else { - (void) sprintf(buf2, "1;%dr", tp_lines); - len = strlen(buf2); - if (strncmp(buf2, sp + csi, len) == 0) - expansion = "RSR"; - } - len += csi; - } - - /* now check for home-down */ - if (!expansion - && (csi = skip_csi(sp)) != 0) { - (void) sprintf(buf2, "%d;1H", tp_lines); - len = strlen(buf2); - if (strncmp(buf2, sp + csi, len) == 0) { - expansion = "LL"; - } else { - (void) sprintf(buf2, "%dH", tp_lines); - len = strlen(buf2); - if (strncmp(buf2, sp + csi, len) == 0) { - expansion = "LL"; - } - } - len += csi; - } - - /* now look at the expansion we got, if any */ - if (expansion) { - (void) sprintf(buf + strlen(buf), "{%s}", expansion); - sp += len - 1; - continue; - } else { - /* couldn't match anything */ - buf2[0] = *sp; - buf2[1] = '\0'; - (void) strcat(buf, TIC_EXPAND(buf2)); - } - } - (void) printf("%s\n", buf); -} - -/*************************************************************************** - * - * File comparison - * - ***************************************************************************/ - -static void -file_comparison(int argc, char *argv[]) -{ -#define MAXCOMPARE 2 - /* someday we may allow comparisons on more files */ - int filecount = 0; - ENTRY *heads[MAXCOMPARE]; - ENTRY *qp, *rp; - int i, n; - - dump_init((char *) 0, F_LITERAL, S_TERMINFO, 0, itrace, FALSE); - - for (n = 0; n < argc && n < MAXCOMPARE; n++) { - if (freopen(argv[n], "r", stdin) == 0) - _nc_err_abort("Can't open %s", argv[n]); - - _nc_head = _nc_tail = 0; - - /* parse entries out of the source file */ - _nc_set_source(argv[n]); - _nc_read_entry_source(stdin, NULL, TRUE, literal, NULLHOOK); - - if (itrace) - (void) fprintf(stderr, "Resolving file %d...\n", n - 0); - - /* maybe do use resolution */ - if (!_nc_resolve_uses2(!limited, literal)) { - (void) fprintf(stderr, - "There are unresolved use entries in %s:\n", - argv[n]); - for_entry_list(qp) { - if (qp->nuses) { - (void) fputs(qp->tterm.term_names, stderr); - (void) fputc('\n', stderr); - } - } - ExitProgram(EXIT_FAILURE); - } - - heads[filecount] = _nc_head; - filecount++; - } - - /* OK, all entries are in core. Ready to do the comparison */ - if (itrace) - (void) fprintf(stderr, "Entries are now in core...\n"); - - /* The entry-matching loop. Sigh, this is intrinsically quadratic. */ - for (qp = heads[0]; qp; qp = qp->next) { - for (rp = heads[1]; rp; rp = rp->next) - if (_nc_entry_match(qp->tterm.term_names, rp->tterm.term_names)) { - if (qp->ncrosslinks < MAX_CROSSLINKS) - qp->crosslinks[qp->ncrosslinks] = rp; - qp->ncrosslinks++; - - if (rp->ncrosslinks < MAX_CROSSLINKS) - rp->crosslinks[rp->ncrosslinks] = qp; - rp->ncrosslinks++; - } - } - - /* now we have two circular lists with crosslinks */ - if (itrace) - (void) fprintf(stderr, "Name matches are done...\n"); - - for (qp = heads[0]; qp; qp = qp->next) { - if (qp->ncrosslinks > 1) { - (void) fprintf(stderr, - "%s in file 1 (%s) has %d matches in file 2 (%s):\n", - _nc_first_name(qp->tterm.term_names), - argv[0], - qp->ncrosslinks, - argv[1]); - for (i = 0; i < qp->ncrosslinks; i++) - (void) fprintf(stderr, - "\t%s\n", - _nc_first_name((qp->crosslinks[i])->tterm.term_names)); - } - } - - for (rp = heads[1]; rp; rp = rp->next) { - if (rp->ncrosslinks > 1) { - (void) fprintf(stderr, - "%s in file 2 (%s) has %d matches in file 1 (%s):\n", - _nc_first_name(rp->tterm.term_names), - argv[1], - rp->ncrosslinks, - argv[0]); - for (i = 0; i < rp->ncrosslinks; i++) - (void) fprintf(stderr, - "\t%s\n", - _nc_first_name((rp->crosslinks[i])->tterm.term_names)); - } - } - - (void) printf("In file 1 (%s) only:\n", argv[0]); - for (qp = heads[0]; qp; qp = qp->next) - if (qp->ncrosslinks == 0) - (void) printf("\t%s\n", - _nc_first_name(qp->tterm.term_names)); - - (void) printf("In file 2 (%s) only:\n", argv[1]); - for (rp = heads[1]; rp; rp = rp->next) - if (rp->ncrosslinks == 0) - (void) printf("\t%s\n", - _nc_first_name(rp->tterm.term_names)); - - (void) printf("The following entries are equivalent:\n"); - for (qp = heads[0]; qp; qp = qp->next) { - rp = qp->crosslinks[0]; - - if (qp->ncrosslinks == 1) { - rp = qp->crosslinks[0]; - - repair_acsc(&qp->tterm); - repair_acsc(&rp->tterm); -#if NCURSES_XNAMES - _nc_align_termtype(&qp->tterm, &rp->tterm); -#endif - if (entryeq(&qp->tterm, &rp->tterm) && useeq(qp, rp)) { - char name1[NAMESIZE], name2[NAMESIZE]; - - (void) canonical_name(qp->tterm.term_names, name1); - (void) canonical_name(rp->tterm.term_names, name2); - - (void) printf("%s = %s\n", name1, name2); - } - } - } - - (void) printf("Differing entries:\n"); - termcount = 2; - for (qp = heads[0]; qp; qp = qp->next) { - - if (qp->ncrosslinks == 1) { - rp = qp->crosslinks[0]; -#if NCURSES_XNAMES - /* sorry - we have to do this on each pass */ - _nc_align_termtype(&qp->tterm, &rp->tterm); -#endif - if (!(entryeq(&qp->tterm, &rp->tterm) && useeq(qp, rp))) { - char name1[NAMESIZE], name2[NAMESIZE]; - - entries[0] = *qp; - entries[1] = *rp; - - (void) canonical_name(qp->tterm.term_names, name1); - (void) canonical_name(rp->tterm.term_names, name2); - - switch (compare) { - case C_DIFFERENCE: - if (itrace) - (void) fprintf(stderr, - "infocmp: dumping differences\n"); - (void) printf("comparing %s to %s.\n", name1, name2); - compare_entry(compare_predicate, &entries->tterm, quiet); - break; - - case C_COMMON: - if (itrace) - (void) fprintf(stderr, - "infocmp: dumping common capabilities\n"); - (void) printf("comparing %s to %s.\n", name1, name2); - compare_entry(compare_predicate, &entries->tterm, quiet); - break; - - case C_NAND: - if (itrace) - (void) fprintf(stderr, - "infocmp: dumping differences\n"); - (void) printf("comparing %s to %s.\n", name1, name2); - compare_entry(compare_predicate, &entries->tterm, quiet); - break; - - } - } - } - } -} - -static void -usage(void) -{ - static const char *tbl[] = - { - "Usage: infocmp [options] [-A directory] [-B directory] [termname...]" - ,"" - ,"Options:" - ," -1 print single-column" - ," -C use termcap-names" - ," -F compare terminfo-files" - ," -I use terminfo-names" - ," -L use long names" - ," -R subset (see manpage)" - ," -T eliminate size limits (test)" - ," -U eliminate post-processing of entries" - ," -V print version" -#if NCURSES_XNAMES - ," -a with -F, list commented-out caps" -#endif - ," -c list common capabilities" - ," -d list different capabilities" - ," -e format output for C initializer" - ," -E format output as C tables" - ," -f with -1, format complex strings" - ," -G format %{number} to %'char'" - ," -g format %'char' to %{number}" - ," -i analyze initialization/reset" - ," -l output terminfo names" - ," -n list capabilities in neither" - ," -p ignore padding specifiers" - ," -q brief listing, removes headers" - ," -r with -C, output in termcap form" - ," -r with -F, resolve use-references" - ," -s [d|i|l|c] sort fields" -#if NCURSES_XNAMES - ," -t suppress commented-out capabilities" -#endif - ," -u produce source with 'use='" - ," -v number (verbose)" - ," -w number (width)" -#if NCURSES_XNAMES - ," -x treat unknown capabilities as user-defined" -#endif - }; - const size_t first = 3; - const size_t last = SIZEOF(tbl); - const size_t left = (last - first + 1) / 2 + first; - size_t n; - - for (n = 0; n < left; n++) { - size_t m = (n < first) ? last : n + left - first; - if (m < last) - fprintf(stderr, "%-40.40s%s\n", tbl[n], tbl[m]); - else - fprintf(stderr, "%s\n", tbl[n]); - } - ExitProgram(EXIT_FAILURE); -} - -static char * -any_initializer(const char *fmt, const char *type) -{ - static char *initializer; - char *s; - - if (initializer == 0) - initializer = (char *) malloc(strlen(entries->tterm.term_names) + - strlen(type) + strlen(fmt)); - - (void) strcpy(initializer, entries->tterm.term_names); - for (s = initializer; *s != 0 && *s != '|'; s++) { - if (!isalnum(UChar(*s))) - *s = '_'; - } - *s = 0; - (void) sprintf(s, fmt, type); - return initializer; -} - -static char * -name_initializer(const char *type) -{ - return any_initializer("_%s_data", type); -} - -static char * -string_variable(const char *type) -{ - return any_initializer("_s_%s", type); -} - -/* dump C initializers for the terminal type */ -static void -dump_initializers(TERMTYPE *term) -{ - unsigned n; - int size; - const char *str = 0; - - printf("\nstatic char %s[] = \"%s\";\n\n", - name_initializer("alias"), entries->tterm.term_names); - - for_each_string(n, term) { - char buf[MAX_STRING], *sp, *tp; - - if (VALID_STRING(term->Strings[n])) { - tp = buf; - *tp++ = '"'; - for (sp = term->Strings[n]; - *sp != 0 && (tp - buf) < MAX_STRING - 6; - sp++) { - if (isascii(UChar(*sp)) - && isprint(UChar(*sp)) - && *sp != '\\' - && *sp != '"') - *tp++ = *sp; - else { - (void) sprintf(tp, "\\%03o", UChar(*sp)); - tp += 4; - } - } - *tp++ = '"'; - *tp = '\0'; - size += (strlen(term->Strings[n]) + 1); - (void) printf("static char %-20s[] = %s;\n", - string_variable(ExtStrname(term, n, strnames)), buf); - } - } - printf("\n"); - - (void) printf("static char %s[] = %s\n", name_initializer("bool"), L_CURL); - - for_each_boolean(n, term) { - switch ((int) (term->Booleans[n])) { - case TRUE: - str = "TRUE"; - break; - - case FALSE: - str = "FALSE"; - break; - - case ABSENT_BOOLEAN: - str = "ABSENT_BOOLEAN"; - break; - - case CANCELLED_BOOLEAN: - str = "CANCELLED_BOOLEAN"; - break; - } - (void) printf("\t/* %3u: %-8s */\t%s,\n", - n, ExtBoolname(term, n, boolnames), str); - } - (void) printf("%s;\n", R_CURL); - - (void) printf("static short %s[] = %s\n", name_initializer("number"), L_CURL); - - for_each_number(n, term) { - char buf[BUFSIZ]; - switch (term->Numbers[n]) { - case ABSENT_NUMERIC: - str = "ABSENT_NUMERIC"; - break; - case CANCELLED_NUMERIC: - str = "CANCELLED_NUMERIC"; - break; - default: - sprintf(buf, "%d", term->Numbers[n]); - str = buf; - break; - } - (void) printf("\t/* %3u: %-8s */\t%s,\n", n, - ExtNumname(term, n, numnames), str); - } - (void) printf("%s;\n", R_CURL); - - size = (sizeof(TERMTYPE) - + (NUM_BOOLEANS(term) * sizeof(term->Booleans[0])) - + (NUM_NUMBERS(term) * sizeof(term->Numbers[0]))); - - (void) printf("static char * %s[] = %s\n", name_initializer("string"), L_CURL); - - for_each_string(n, term) { - - if (term->Strings[n] == ABSENT_STRING) - str = "ABSENT_STRING"; - else if (term->Strings[n] == CANCELLED_STRING) - str = "CANCELLED_STRING"; - else { - str = string_variable(ExtStrname(term, n, strnames)); - } - (void) printf("\t/* %3u: %-8s */\t%s,\n", n, - ExtStrname(term, n, strnames), str); - } - (void) printf("%s;\n", R_CURL); - -#if NCURSES_XNAMES - if ((NUM_BOOLEANS(term) != BOOLCOUNT) - || (NUM_NUMBERS(term) != NUMCOUNT) - || (NUM_STRINGS(term) != STRCOUNT)) { - (void) printf("static char * %s[] = %s\n", - name_initializer("string_ext"), L_CURL); - for (n = BOOLCOUNT; n < NUM_BOOLEANS(term); ++n) { - (void) printf("\t/* %3u: bool */\t\"%s\",\n", - n, ExtBoolname(term, n, boolnames)); - } - for (n = NUMCOUNT; n < NUM_NUMBERS(term); ++n) { - (void) printf("\t/* %3u: num */\t\"%s\",\n", - n, ExtNumname(term, n, numnames)); - } - for (n = STRCOUNT; n < NUM_STRINGS(term); ++n) { - (void) printf("\t/* %3u: str */\t\"%s\",\n", - n, ExtStrname(term, n, strnames)); - } - (void) printf("%s;\n", R_CURL); - } -#endif -} - -/* dump C initializers for the terminal type */ -static void -dump_termtype(TERMTYPE *term) -{ - (void) printf("\t%s\n\t\t%s,\n", L_CURL, name_initializer("alias")); - (void) printf("\t\t(char *)0,\t/* pointer to string table */\n"); - - (void) printf("\t\t%s,\n", name_initializer("bool")); - (void) printf("\t\t%s,\n", name_initializer("number")); - - (void) printf("\t\t%s,\n", name_initializer("string")); - -#if NCURSES_XNAMES - (void) printf("#if NCURSES_XNAMES\n"); - (void) printf("\t\t(char *)0,\t/* pointer to extended string table */\n"); - (void) printf("\t\t%s,\t/* ...corresponding names */\n", - ((NUM_BOOLEANS(term) != BOOLCOUNT) - || (NUM_NUMBERS(term) != NUMCOUNT) - || (NUM_STRINGS(term) != STRCOUNT)) - ? name_initializer("string_ext") - : "(char **)0"); - - (void) printf("\t\t%d,\t\t/* count total Booleans */\n", NUM_BOOLEANS(term)); - (void) printf("\t\t%d,\t\t/* count total Numbers */\n", NUM_NUMBERS(term)); - (void) printf("\t\t%d,\t\t/* count total Strings */\n", NUM_STRINGS(term)); - - (void) printf("\t\t%d,\t\t/* count extensions to Booleans */\n", - NUM_BOOLEANS(term) - BOOLCOUNT); - (void) printf("\t\t%d,\t\t/* count extensions to Numbers */\n", - NUM_NUMBERS(term) - NUMCOUNT); - (void) printf("\t\t%d,\t\t/* count extensions to Strings */\n", - NUM_STRINGS(term) - STRCOUNT); - - (void) printf("#endif /* NCURSES_XNAMES */\n"); -#endif /* NCURSES_XNAMES */ - (void) printf("\t%s\n", R_CURL); -} - -static int -optarg_to_number(void) -{ - char *temp = 0; - long value = strtol(optarg, &temp, 0); - - if (temp == 0 || temp == optarg || *temp != 0) { - fprintf(stderr, "Expected a number, not \"%s\"\n", optarg); - ExitProgram(EXIT_FAILURE); - } - return (int) value; -} - -static char * -terminal_env(void) -{ - char *terminal; - - if ((terminal = getenv("TERM")) == 0) { - (void) fprintf(stderr, - "infocmp: environment variable TERM not set\n"); - exit(EXIT_FAILURE); - } - return terminal; -} - -/*************************************************************************** - * - * Main sequence - * - ***************************************************************************/ - -int -main(int argc, char *argv[]) -{ - char *firstdir, *restdir; - /* Avoid "local data >32k" error with mwcc */ - /* Also avoid overflowing smaller stacks on systems like AmigaOS */ - path *tfile = (path *) malloc(sizeof(path) * MAXTERMS); - int c, i, len; - bool formatted = FALSE; - bool filecompare = FALSE; - int initdump = 0; - bool init_analyze = FALSE; - bool suppress_untranslatable = FALSE; - - /* where is the terminfo database location going to default to? */ - restdir = firstdir = 0; - -#if NCURSES_XNAMES - use_extended_names(FALSE); -#endif - - while ((c = getopt(argc, - argv, - "1A:aB:CcdEeFfGgIiLlnpqR:rs:TtUuVv:w:x")) != EOF) - switch (c) { - case '1': - mwidth = 0; - break; - - case 'A': - firstdir = optarg; - break; - -#if NCURSES_XNAMES - case 'a': - _nc_disable_period = TRUE; - use_extended_names(TRUE); - break; -#endif - case 'B': - restdir = optarg; - break; - - case 'C': - outform = F_TERMCAP; - tversion = "BSD"; - if (sortmode == S_DEFAULT) - sortmode = S_TERMCAP; - break; - - case 'c': - compare = C_COMMON; - break; - - case 'd': - compare = C_DIFFERENCE; - break; - - case 'E': - initdump |= 2; - break; - - case 'e': - initdump |= 1; - break; - - case 'F': - filecompare = TRUE; - break; - - case 'f': - formatted = TRUE; - break; - - case 'G': - numbers = 1; - break; - - case 'g': - numbers = -1; - break; - - case 'I': - outform = F_TERMINFO; - if (sortmode == S_DEFAULT) - sortmode = S_VARIABLE; - tversion = 0; - break; - - case 'i': - init_analyze = TRUE; - break; - - case 'L': - outform = F_VARIABLE; - if (sortmode == S_DEFAULT) - sortmode = S_VARIABLE; - break; - - case 'l': - outform = F_TERMINFO; - break; - - case 'n': - compare = C_NAND; - break; - - case 'p': - ignorepads = TRUE; - break; - - case 'q': - quiet = TRUE; - s_absent = "-"; - s_cancel = "@"; - bool_sep = ", "; - break; - - case 'R': - tversion = optarg; - break; - - case 'r': - tversion = 0; - limited = FALSE; - break; - - case 's': - if (*optarg == 'd') - sortmode = S_NOSORT; - else if (*optarg == 'i') - sortmode = S_TERMINFO; - else if (*optarg == 'l') - sortmode = S_VARIABLE; - else if (*optarg == 'c') - sortmode = S_TERMCAP; - else { - (void) fprintf(stderr, - "infocmp: unknown sort mode\n"); - return EXIT_FAILURE; - } - break; - - case 'T': - limited = FALSE; - break; - -#if NCURSES_XNAMES - case 't': - _nc_disable_period = FALSE; - suppress_untranslatable = TRUE; - break; -#endif - - case 'U': - literal = TRUE; - break; - - case 'u': - compare = C_USEALL; - break; - - case 'V': - puts(curses_version()); - ExitProgram(EXIT_SUCCESS); - - case 'v': - itrace = optarg_to_number(); - set_trace_level(itrace); - break; - - case 'w': - mwidth = optarg_to_number(); - break; - -#if NCURSES_XNAMES - case 'x': - use_extended_names(TRUE); - break; -#endif - - default: - usage(); - } - - /* by default, sort by terminfo name */ - if (sortmode == S_DEFAULT) - sortmode = S_TERMINFO; - - /* set up for display */ - dump_init(tversion, outform, sortmode, mwidth, itrace, formatted); - - /* make sure we have at least one terminal name to work with */ - if (optind >= argc) - argv[argc++] = terminal_env(); - - /* if user is after a comparison, make sure we have two entries */ - if (compare != C_DEFAULT && optind >= argc - 1) - argv[argc++] = terminal_env(); - - /* exactly two terminal names with no options means do -d */ - if (argc - optind == 2 && compare == C_DEFAULT) - compare = C_DIFFERENCE; - - if (!filecompare) { - /* grab the entries */ - termcount = 0; - for (; optind < argc; optind++) { - if (termcount >= MAXTERMS) { - (void) fprintf(stderr, - "infocmp: too many terminal type arguments\n"); - return EXIT_FAILURE; - } else { - const char *directory = termcount ? restdir : firstdir; - int status; - - tname[termcount] = argv[optind]; - - if (directory) { - (void) sprintf(tfile[termcount], "%s/%c/%s", - directory, - *argv[optind], argv[optind]); - if (itrace) - (void) fprintf(stderr, - "infocmp: reading entry %s from file %s\n", - argv[optind], tfile[termcount]); - - status = _nc_read_file_entry(tfile[termcount], - &entries[termcount].tterm); - } else { - if (itrace) - (void) fprintf(stderr, - "infocmp: reading entry %s from system directories %s\n", - argv[optind], tname[termcount]); - - status = _nc_read_entry(tname[termcount], - tfile[termcount], - &entries[termcount].tterm); - directory = TERMINFO; /* for error message */ - } - - if (status <= 0) { - (void) fprintf(stderr, - "infocmp: couldn't open terminfo file %s.\n", - tfile[termcount]); - return EXIT_FAILURE; - } - repair_acsc(&entries[termcount].tterm); - termcount++; - } - } - -#if NCURSES_XNAMES - if (termcount > 1) - _nc_align_termtype(&entries[0].tterm, &entries[1].tterm); -#endif - - /* dump as C initializer for the terminal type */ - if (initdump) { - if (initdump & 1) - dump_termtype(&entries[0].tterm); - if (initdump & 2) - dump_initializers(&entries[0].tterm); - ExitProgram(EXIT_SUCCESS); - } - - /* analyze the init strings */ - if (init_analyze) { -#undef CUR -#define CUR entries[0].tterm. - analyze_string("is1", init_1string, &entries[0].tterm); - analyze_string("is2", init_2string, &entries[0].tterm); - analyze_string("is3", init_3string, &entries[0].tterm); - analyze_string("rs1", reset_1string, &entries[0].tterm); - analyze_string("rs2", reset_2string, &entries[0].tterm); - analyze_string("rs3", reset_3string, &entries[0].tterm); - analyze_string("smcup", enter_ca_mode, &entries[0].tterm); - analyze_string("rmcup", exit_ca_mode, &entries[0].tterm); -#undef CUR - ExitProgram(EXIT_SUCCESS); - } - - /* - * Here's where the real work gets done - */ - switch (compare) { - case C_DEFAULT: - if (itrace) - (void) fprintf(stderr, - "infocmp: about to dump %s\n", - tname[0]); - (void) printf("#\tReconstructed via infocmp from file: %s\n", - tfile[0]); - len = dump_entry(&entries[0].tterm, - suppress_untranslatable, - limited, - 0, - numbers, - NULL); - putchar('\n'); - if (itrace) - (void) fprintf(stderr, "infocmp: length %d\n", len); - break; - - case C_DIFFERENCE: - if (itrace) - (void) fprintf(stderr, "infocmp: dumping differences\n"); - (void) printf("comparing %s to %s.\n", tname[0], tname[1]); - compare_entry(compare_predicate, &entries->tterm, quiet); - break; - - case C_COMMON: - if (itrace) - (void) fprintf(stderr, - "infocmp: dumping common capabilities\n"); - (void) printf("comparing %s to %s.\n", tname[0], tname[1]); - compare_entry(compare_predicate, &entries->tterm, quiet); - break; - - case C_NAND: - if (itrace) - (void) fprintf(stderr, - "infocmp: dumping differences\n"); - (void) printf("comparing %s to %s.\n", tname[0], tname[1]); - compare_entry(compare_predicate, &entries->tterm, quiet); - break; - - case C_USEALL: - if (itrace) - (void) fprintf(stderr, "infocmp: dumping use entry\n"); - len = dump_entry(&entries[0].tterm, - suppress_untranslatable, - limited, - 0, - numbers, - use_predicate); - for (i = 1; i < termcount; i++) - len += dump_uses(tname[i], !(outform == F_TERMCAP - || outform == F_TCONVERR)); - putchar('\n'); - if (itrace) - (void) fprintf(stderr, "infocmp: length %d\n", len); - break; - } - } else if (compare == C_USEALL) - (void) fprintf(stderr, "Sorry, -u doesn't work with -F\n"); - else if (compare == C_DEFAULT) - (void) fprintf(stderr, "Use `tic -[CI] ' for this.\n"); - else if (argc - optind != 2) - (void) fprintf(stderr, - "File comparison needs exactly two file arguments.\n"); - else - file_comparison(argc - optind, argv + optind); - - ExitProgram(EXIT_SUCCESS); -} - -/* infocmp.c ends here */ diff --git a/src/libs/ncurses/progs/modules b/src/libs/ncurses/progs/modules deleted file mode 100644 index f8224649b2..0000000000 --- a/src/libs/ncurses/progs/modules +++ /dev/null @@ -1,41 +0,0 @@ -# $Id: modules,v 1.12 2005/09/25 00:54:22 tom Exp $ -# Program modules (some are in ncurses lib!) -############################################################################## -# Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1995,1997 -# - -@ base -clear progs $(srcdir) $(HEADER_DEPS) -tic progs $(srcdir) $(HEADER_DEPS) transform.h $(srcdir)/dump_entry.h -toe progs $(srcdir) $(HEADER_DEPS) $(srcdir)/dump_entry.h -dump_entry progs $(srcdir) $(HEADER_DEPS) $(srcdir)/dump_entry.h ../include/parametrized.h $(INCDIR)/capdefaults.c termsort.c -infocmp progs $(srcdir) $(HEADER_DEPS) $(srcdir)/dump_entry.h -tput progs $(srcdir) $(HEADER_DEPS) transform.h termsort.c -tset progs $(srcdir) $(HEADER_DEPS) transform.h $(srcdir)/dump_entry.h ../include/termcap.h diff --git a/src/libs/ncurses/progs/progs.priv.h b/src/libs/ncurses/progs/progs.priv.h deleted file mode 100644 index 604c56bea8..0000000000 --- a/src/libs/ncurses/progs/progs.priv.h +++ /dev/null @@ -1,181 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1997-on * - ****************************************************************************/ -/* - * $Id: progs.priv.h,v 1.29 2005/08/06 20:05:32 tom Exp $ - * - * progs.priv.h - * - * Header file for curses utility programs - */ - -#include - -#if USE_RCS_IDS -#define MODULE_ID(id) static const char Ident[] = id; -#else -#define MODULE_ID(id) /*nothing*/ -#endif - -#include -#include -#include -#include - -#if HAVE_UNISTD_H -#include -#endif - -#if HAVE_SYS_BSDTYPES_H -#include /* needed for ISC */ -#endif - -#if HAVE_LIMITS_H -# include -#elif HAVE_SYS_PARAM_H -# include -#endif - -#if HAVE_DIRENT_H -# include -# define NAMLEN(dirent) strlen((dirent)->d_name) -# if defined(_FILE_OFFSET_BITS) && defined(HAVE_STRUCT_DIRENT64) -# if !defined(_LP64) && (_FILE_OFFSET_BITS == 64) -# define DIRENT struct dirent64 -# else -# define DIRENT struct dirent -# endif -# else -# define DIRENT struct dirent -# endif -#else -# define DIRENT struct direct -# define NAMLEN(dirent) (dirent)->d_namlen -# if HAVE_SYS_NDIR_H -# include -# endif -# if HAVE_SYS_DIR_H -# include -# endif -# if HAVE_NDIR_H -# include -# endif -#endif - -#include - -#if DECL_ERRNO -extern int errno; -#endif - -#if HAVE_GETOPT_H -#include -#else -/* 'getopt()' may be prototyped in , but declaring its - * variables doesn't hurt. - */ -extern char *optarg; -extern int optind; -#endif /* HAVE_GETOPT_H */ - -#include -#include -#include -#include - -/* usually in */ -#ifndef STDOUT_FILENO -#define STDOUT_FILENO 1 -#endif - -#ifndef STDERR_FILENO -#define STDERR_FILENO 2 -#endif - -#ifndef EXIT_SUCCESS -#define EXIT_SUCCESS 0 -#endif - -#ifndef EXIT_FAILURE -#define EXIT_FAILURE 1 -#endif - -#ifndef R_OK -#define R_OK 4 /* Test for readable. */ -#endif - -#ifndef W_OK -#define W_OK 2 /* Test for writable. */ -#endif - -#ifndef X_OK -#define X_OK 1 /* Test for executable. */ -#endif - -#ifndef F_OK -#define F_OK 0 /* Test for existence. */ -#endif - -/* usually in */ -#ifndef STDOUT_FILENO -#define STDOUT_FILENO 1 -#endif - -#ifndef STDERR_FILENO -#define STDERR_FILENO 2 -#endif - -/* may be in limits.h, included from various places */ -#ifndef PATH_MAX -# if defined(_POSIX_PATH_MAX) -# define PATH_MAX _POSIX_PATH_MAX -# elif defined(MAXPATHLEN) -# define PATH_MAX MAXPATHLEN -# else -# define PATH_MAX 255 /* the Posix minimum pathsize */ -# endif -#endif - -/* We use isascii only to guard against use of 7-bit ctype tables in the - * isprint test in infocmp. - */ -#if !HAVE_ISASCII -# undef isascii -# if ('z'-'a' == 25) && ('z' < 127) && ('Z'-'A' == 25) && ('Z' < 127) && ('9' < 127) -# define isascii(c) (UChar(c) <= 127) -# else -# define isascii(c) 1 /* not really ascii anyway */ -# endif -#endif - -#define UChar(c) ((unsigned char)(c)) - -#define SIZEOF(v) (sizeof(v)/sizeof(v[0])) diff --git a/src/libs/ncurses/progs/termsort.c b/src/libs/ncurses/progs/termsort.c deleted file mode 100644 index ac6e048c5e..0000000000 --- a/src/libs/ncurses/progs/termsort.c +++ /dev/null @@ -1,2163 +0,0 @@ -/* - * termsort.c --- sort order arrays for use by infocmp. - * - * Note: this file is generated using MKtermsort.sh, do not edit by hand. - */ -static const int bool_terminfo_sort[] = { - 40 , /* OTMT */ - 41 , /* OTNL */ - 37 , /* OTbs */ - 39 , /* OTnc */ - 38 , /* OTns */ - 42 , /* OTpt */ - 43 , /* OTxr */ - 1 , /* am */ - 28 , /* bce */ - 0 , /* bw */ - 27 , /* ccc */ - 23 , /* chts */ - 35 , /* cpix */ - 31 , /* crxm */ - 11 , /* da */ - 32 , /* daisy */ - 12 , /* db */ - 5 , /* eo */ - 16 , /* eslok */ - 6 , /* gn */ - 7 , /* hc */ - 29 , /* hls */ - 9 , /* hs */ - 18 , /* hz */ - 10 , /* in */ - 8 , /* km */ - 36 , /* lpix */ - 22 , /* mc5i */ - 13 , /* mir */ - 14 , /* msgr */ - 26 , /* ndscr */ - 25 , /* npc */ - 24 , /* nrrmc */ - 21 , /* nxon */ - 15 , /* os */ - 34 , /* sam */ - 19 , /* ul */ - 4 , /* xenl */ - 3 , /* xhp */ - 30 , /* xhpa */ - 20 , /* xon */ - 2 , /* xsb */ - 17 , /* xt */ - 33 , /* xvpa */ -}; - -static const int num_terminfo_sort[] = { - 36 , /* OTdB */ - 34 , /* OTdC */ - 35 , /* OTdN */ - 37 , /* OTdT */ - 38 , /* OTkn */ - 33 , /* OTug */ - 31 , /* bitwin */ - 32 , /* bitype */ - 30 , /* btns */ - 16 , /* bufsz */ - 13 , /* colors */ - 0 , /* cols */ - 28 , /* cps */ - 1 , /* it */ - 9 , /* lh */ - 2 , /* lines */ - 3 , /* lm */ - 10 , /* lw */ - 11 , /* ma */ - 19 , /* maddr */ - 21 , /* mcs */ - 20 , /* mjump */ - 22 , /* mls */ - 15 , /* ncv */ - 8 , /* nlab */ - 23 , /* npins */ - 24 , /* orc */ - 26 , /* orhi */ - 25 , /* orl */ - 27 , /* orvi */ - 14 , /* pairs */ - 5 , /* pb */ - 18 , /* spinh */ - 17 , /* spinv */ - 6 , /* vt */ - 29 , /* widcs */ - 12 , /* wnum */ - 7 , /* wsl */ - 4 , /* xmc */ -}; - -static const int str_terminfo_sort[] = { - 402 , /* OTG1 */ - 400 , /* OTG2 */ - 401 , /* OTG3 */ - 403 , /* OTG4 */ - 410 , /* OTGC */ - 407 , /* OTGD */ - 408 , /* OTGH */ - 405 , /* OTGL */ - 404 , /* OTGR */ - 406 , /* OTGU */ - 409 , /* OTGV */ - 397 , /* OTbc */ - 394 , /* OTi2 */ - 398 , /* OTko */ - 399 , /* OTma */ - 396 , /* OTnl */ - 395 , /* OTrs */ - 146 , /* acsc */ - 1 , /* bel */ - 372 , /* bicr */ - 371 , /* binel */ - 370 , /* birep */ - 26 , /* blink */ - 27 , /* bold */ - 413 , /* box1 */ - 0 , /* cbt */ - 306 , /* chr */ - 13 , /* civis */ - 5 , /* clear */ - 9 , /* cmdch */ - 16 , /* cnorm */ - 373 , /* colornm */ - 304 , /* cpi */ - 2 , /* cr */ - 363 , /* csin */ - 354 , /* csnm */ - 3 , /* csr */ - 111 , /* cub */ - 14 , /* cub1 */ - 107 , /* cud */ - 11 , /* cud1 */ - 112 , /* cuf */ - 17 , /* cuf1 */ - 10 , /* cup */ - 114 , /* cuu */ - 19 , /* cuu1 */ - 307 , /* cvr */ - 20 , /* cvvis */ - 277 , /* cwin */ - 105 , /* dch */ - 21 , /* dch1 */ - 275 , /* dclk */ - 374 , /* defbi */ - 308 , /* defc */ - 362 , /* devt */ - 280 , /* dial */ - 30 , /* dim */ - 378 , /* dispc */ - 106 , /* dl */ - 22 , /* dl1 */ - 352 , /* docr */ - 23 , /* dsl */ - 37 , /* ech */ - 7 , /* ed */ - 386 , /* ehhlm */ - 6 , /* el */ - 269 , /* el1 */ - 387 , /* elhlm */ - 388 , /* elohlm */ - 155 , /* enacs */ - 375 , /* endbi */ - 389 , /* erhlm */ - 390 , /* ethlm */ - 391 , /* evhlm */ - 46 , /* ff */ - 45 , /* flash */ - 273 , /* fln */ - 47 , /* fsl */ - 358 , /* getm */ - 24 , /* hd */ - 12 , /* home */ - 284 , /* hook */ - 8 , /* hpa */ - 134 , /* ht */ - 132 , /* hts */ - 137 , /* hu */ - 279 , /* hup */ - 108 , /* ich */ - 52 , /* ich1 */ - 51 , /* if */ - 110 , /* il */ - 53 , /* il1 */ - 129 , /* ind */ - 109 , /* indn */ - 299 , /* initc */ - 300 , /* initp */ - 32 , /* invis */ - 54 , /* ip */ - 138 , /* iprog */ - 48 , /* is1 */ - 49 , /* is2 */ - 50 , /* is3 */ - 186 , /* kBEG */ - 187 , /* kCAN */ - 188 , /* kCMD */ - 189 , /* kCPY */ - 190 , /* kCRT */ - 191 , /* kDC */ - 192 , /* kDL */ - 194 , /* kEND */ - 195 , /* kEOL */ - 196 , /* kEXT */ - 197 , /* kFND */ - 198 , /* kHLP */ - 199 , /* kHOM */ - 200 , /* kIC */ - 201 , /* kLFT */ - 203 , /* kMOV */ - 202 , /* kMSG */ - 204 , /* kNXT */ - 205 , /* kOPT */ - 207 , /* kPRT */ - 206 , /* kPRV */ - 208 , /* kRDO */ - 211 , /* kRES */ - 210 , /* kRIT */ - 209 , /* kRPL */ - 212 , /* kSAV */ - 213 , /* kSPD */ - 214 , /* kUND */ - 139 , /* ka1 */ - 140 , /* ka3 */ - 141 , /* kb2 */ - 158 , /* kbeg */ - 55 , /* kbs */ - 142 , /* kc1 */ - 143 , /* kc3 */ - 159 , /* kcan */ - 148 , /* kcbt */ - 160 , /* kclo */ - 57 , /* kclr */ - 161 , /* kcmd */ - 162 , /* kcpy */ - 163 , /* kcrt */ - 58 , /* kctab */ - 79 , /* kcub1 */ - 61 , /* kcud1 */ - 83 , /* kcuf1 */ - 87 , /* kcuu1 */ - 59 , /* kdch1 */ - 60 , /* kdl1 */ - 64 , /* ked */ - 63 , /* kel */ - 164 , /* kend */ - 165 , /* kent */ - 166 , /* kext */ - 65 , /* kf0 */ - 66 , /* kf1 */ - 67 , /* kf10 */ - 216 , /* kf11 */ - 217 , /* kf12 */ - 218 , /* kf13 */ - 219 , /* kf14 */ - 220 , /* kf15 */ - 221 , /* kf16 */ - 222 , /* kf17 */ - 223 , /* kf18 */ - 224 , /* kf19 */ - 68 , /* kf2 */ - 225 , /* kf20 */ - 226 , /* kf21 */ - 227 , /* kf22 */ - 228 , /* kf23 */ - 229 , /* kf24 */ - 230 , /* kf25 */ - 231 , /* kf26 */ - 232 , /* kf27 */ - 233 , /* kf28 */ - 234 , /* kf29 */ - 69 , /* kf3 */ - 235 , /* kf30 */ - 236 , /* kf31 */ - 237 , /* kf32 */ - 238 , /* kf33 */ - 239 , /* kf34 */ - 240 , /* kf35 */ - 241 , /* kf36 */ - 242 , /* kf37 */ - 243 , /* kf38 */ - 244 , /* kf39 */ - 70 , /* kf4 */ - 245 , /* kf40 */ - 246 , /* kf41 */ - 247 , /* kf42 */ - 248 , /* kf43 */ - 249 , /* kf44 */ - 250 , /* kf45 */ - 251 , /* kf46 */ - 252 , /* kf47 */ - 253 , /* kf48 */ - 254 , /* kf49 */ - 71 , /* kf5 */ - 255 , /* kf50 */ - 256 , /* kf51 */ - 257 , /* kf52 */ - 258 , /* kf53 */ - 259 , /* kf54 */ - 260 , /* kf55 */ - 261 , /* kf56 */ - 262 , /* kf57 */ - 263 , /* kf58 */ - 264 , /* kf59 */ - 72 , /* kf6 */ - 265 , /* kf60 */ - 266 , /* kf61 */ - 267 , /* kf62 */ - 268 , /* kf63 */ - 73 , /* kf7 */ - 74 , /* kf8 */ - 75 , /* kf9 */ - 167 , /* kfnd */ - 168 , /* khlp */ - 76 , /* khome */ - 86 , /* khts */ - 77 , /* kich1 */ - 78 , /* kil1 */ - 84 , /* kind */ - 80 , /* kll */ - 355 , /* kmous */ - 171 , /* kmov */ - 169 , /* kmrk */ - 170 , /* kmsg */ - 81 , /* knp */ - 172 , /* knxt */ - 173 , /* kopn */ - 174 , /* kopt */ - 82 , /* kpp */ - 176 , /* kprt */ - 175 , /* kprv */ - 177 , /* krdo */ - 178 , /* kref */ - 182 , /* kres */ - 179 , /* krfr */ - 85 , /* kri */ - 62 , /* krmir */ - 180 , /* krpl */ - 181 , /* krst */ - 183 , /* ksav */ - 193 , /* kslt */ - 184 , /* kspd */ - 56 , /* ktbc */ - 185 , /* kund */ - 90 , /* lf0 */ - 91 , /* lf1 */ - 92 , /* lf10 */ - 93 , /* lf2 */ - 94 , /* lf3 */ - 95 , /* lf4 */ - 96 , /* lf5 */ - 97 , /* lf6 */ - 98 , /* lf7 */ - 99 , /* lf8 */ - 100 , /* lf9 */ - 18 , /* ll */ - 305 , /* lpi */ - 118 , /* mc0 */ - 119 , /* mc4 */ - 120 , /* mc5 */ - 144 , /* mc5p */ - 336 , /* mcub */ - 330 , /* mcub1 */ - 335 , /* mcud */ - 329 , /* mcud1 */ - 337 , /* mcuf */ - 331 , /* mcuf1 */ - 338 , /* mcuu */ - 333 , /* mcuu1 */ - 411 , /* meml */ - 412 , /* memu */ - 270 , /* mgc */ - 328 , /* mhpa */ - 356 , /* minfo */ - 15 , /* mrcup */ - 332 , /* mvpa */ - 103 , /* nel */ - 298 , /* oc */ - 297 , /* op */ - 104 , /* pad */ - 285 , /* pause */ - 383 , /* pctrm */ - 115 , /* pfkey */ - 116 , /* pfloc */ - 117 , /* pfx */ - 361 , /* pfxl */ - 147 , /* pln */ - 334 , /* porder */ - 33 , /* prot */ - 283 , /* pulse */ - 281 , /* qdial */ - 348 , /* rbim */ - 126 , /* rc */ - 349 , /* rcsd */ - 121 , /* rep */ - 357 , /* reqmp */ - 34 , /* rev */ - 125 , /* rf */ - 215 , /* rfi */ - 130 , /* ri */ - 113 , /* rin */ - 321 , /* ritm */ - 322 , /* rlm */ - 38 , /* rmacs */ - 152 , /* rmam */ - 276 , /* rmclk */ - 40 , /* rmcup */ - 41 , /* rmdc */ - 323 , /* rmicm */ - 42 , /* rmir */ - 88 , /* rmkx */ - 157 , /* rmln */ - 101 , /* rmm */ - 145 , /* rmp */ - 380 , /* rmpch */ - 382 , /* rmsc */ - 43 , /* rmso */ - 44 , /* rmul */ - 150 , /* rmxon */ - 122 , /* rs1 */ - 123 , /* rs2 */ - 124 , /* rs3 */ - 324 , /* rshm */ - 325 , /* rsubm */ - 326 , /* rsupm */ - 327 , /* rum */ - 320 , /* rwidm */ - 364 , /* s0ds */ - 365 , /* s1ds */ - 366 , /* s2ds */ - 367 , /* s3ds */ - 346 , /* sbim */ - 128 , /* sc */ - 385 , /* scesa */ - 384 , /* scesc */ - 274 , /* sclk */ - 301 , /* scp */ - 339 , /* scs */ - 347 , /* scsd */ - 310 , /* sdrfq */ - 360 , /* setab */ - 359 , /* setaf */ - 303 , /* setb */ - 376 , /* setcolor */ - 302 , /* setf */ - 131 , /* sgr */ - 39 , /* sgr0 */ - 392 , /* sgr1 */ - 311 , /* sitm */ - 393 , /* slength */ - 377 , /* slines */ - 312 , /* slm */ - 25 , /* smacs */ - 151 , /* smam */ - 28 , /* smcup */ - 29 , /* smdc */ - 340 , /* smgb */ - 341 , /* smgbp */ - 271 , /* smgl */ - 342 , /* smglp */ - 368 , /* smglr */ - 272 , /* smgr */ - 343 , /* smgrp */ - 344 , /* smgt */ - 369 , /* smgtb */ - 345 , /* smgtp */ - 313 , /* smicm */ - 31 , /* smir */ - 89 , /* smkx */ - 156 , /* smln */ - 102 , /* smm */ - 379 , /* smpch */ - 381 , /* smsc */ - 35 , /* smso */ - 36 , /* smul */ - 149 , /* smxon */ - 314 , /* snlq */ - 315 , /* snrmq */ - 316 , /* sshm */ - 317 , /* ssubm */ - 318 , /* ssupm */ - 350 , /* subcs */ - 319 , /* sum */ - 351 , /* supcs */ - 309 , /* swidm */ - 4 , /* tbc */ - 282 , /* tone */ - 135 , /* tsl */ - 287 , /* u0 */ - 288 , /* u1 */ - 289 , /* u2 */ - 290 , /* u3 */ - 291 , /* u4 */ - 292 , /* u5 */ - 293 , /* u6 */ - 294 , /* u7 */ - 295 , /* u8 */ - 296 , /* u9 */ - 136 , /* uc */ - 127 , /* vpa */ - 286 , /* wait */ - 133 , /* wind */ - 278 , /* wingo */ - 154 , /* xoffc */ - 153 , /* xonc */ - 353 , /* zerom */ -}; - -static const int bool_variable_sort[] = { - 0 , /* auto_left_margin */ - 1 , /* auto_right_margin */ - 28 , /* back_color_erase */ - 37 , /* backspaces_with_bs */ - 27 , /* can_change */ - 3 , /* ceol_standout_glitch */ - 30 , /* col_addr_glitch */ - 35 , /* cpi_changes_res */ - 31 , /* cr_cancels_micro_mode */ - 38 , /* crt_no_scrolling */ - 17 , /* dest_tabs_magic_smso */ - 4 , /* eat_newline_glitch */ - 5 , /* erase_overstrike */ - 6 , /* generic_type */ - 40 , /* gnu_has_meta_key */ - 7 , /* hard_copy */ - 23 , /* hard_cursor */ - 42 , /* has_hardware_tabs */ - 8 , /* has_meta_key */ - 32 , /* has_print_wheel */ - 9 , /* has_status_line */ - 29 , /* hue_lightness_saturation */ - 10 , /* insert_null_glitch */ - 41 , /* linefeed_is_newline */ - 36 , /* lpi_changes_res */ - 11 , /* memory_above */ - 12 , /* memory_below */ - 13 , /* move_insert_mode */ - 14 , /* move_standout_mode */ - 21 , /* needs_xon_xoff */ - 39 , /* no_correctly_working_cr */ - 2 , /* no_esc_ctlc */ - 25 , /* no_pad_char */ - 26 , /* non_dest_scroll_region */ - 24 , /* non_rev_rmcup */ - 15 , /* over_strike */ - 22 , /* prtr_silent */ - 43 , /* return_does_clr_eol */ - 33 , /* row_addr_glitch */ - 34 , /* semi_auto_right_margin */ - 16 , /* status_line_esc_ok */ - 18 , /* tilde_glitch */ - 19 , /* transparent_underline */ - 20 , /* xon_xoff */ -}; - -static const int num_variable_sort[] = { - 36 , /* backspace_delay */ - 31 , /* bit_image_entwining */ - 32 , /* bit_image_type */ - 16 , /* buffer_capacity */ - 30 , /* buttons */ - 34 , /* carriage_return_delay */ - 0 , /* columns */ - 18 , /* dot_horz_spacing */ - 17 , /* dot_vert_spacing */ - 37 , /* horizontal_tab_delay */ - 1 , /* init_tabs */ - 9 , /* label_height */ - 10 , /* label_width */ - 2 , /* lines */ - 3 , /* lines_of_memory */ - 4 , /* magic_cookie_glitch */ - 33 , /* magic_cookie_glitch_ul */ - 11 , /* max_attributes */ - 13 , /* max_colors */ - 19 , /* max_micro_address */ - 20 , /* max_micro_jump */ - 14 , /* max_pairs */ - 12 , /* maximum_windows */ - 21 , /* micro_col_size */ - 22 , /* micro_line_size */ - 35 , /* new_line_delay */ - 15 , /* no_color_video */ - 8 , /* num_labels */ - 38 , /* number_of_function_keys */ - 23 , /* number_of_pins */ - 24 , /* output_res_char */ - 26 , /* output_res_horz_inch */ - 25 , /* output_res_line */ - 27 , /* output_res_vert_inch */ - 5 , /* padding_baud_rate */ - 28 , /* print_rate */ - 6 , /* virtual_terminal */ - 29 , /* wide_char_size */ - 7 , /* width_status_line */ -}; - -static const int str_variable_sort[] = { - 406 , /* acs_btee */ - 146 , /* acs_chars */ - 408 , /* acs_hline */ - 401 , /* acs_llcorner */ - 403 , /* acs_lrcorner */ - 404 , /* acs_ltee */ - 410 , /* acs_plus */ - 405 , /* acs_rtee */ - 407 , /* acs_ttee */ - 400 , /* acs_ulcorner */ - 402 , /* acs_urcorner */ - 409 , /* acs_vline */ - 385 , /* alt_scancode_esc */ - 399 , /* arrow_key_map */ - 0 , /* back_tab */ - 397 , /* backspace_if_not_bs */ - 1 , /* bell */ - 372 , /* bit_image_carriage_return */ - 371 , /* bit_image_newline */ - 370 , /* bit_image_repeat */ - 413 , /* box_chars_1 */ - 2 , /* carriage_return */ - 304 , /* change_char_pitch */ - 305 , /* change_line_pitch */ - 306 , /* change_res_horz */ - 307 , /* change_res_vert */ - 3 , /* change_scroll_region */ - 145 , /* char_padding */ - 354 , /* char_set_names */ - 4 , /* clear_all_tabs */ - 270 , /* clear_margins */ - 5 , /* clear_screen */ - 269 , /* clr_bol */ - 6 , /* clr_eol */ - 7 , /* clr_eos */ - 363 , /* code_set_init */ - 373 , /* color_names */ - 8 , /* column_address */ - 9 , /* command_character */ - 277 , /* create_window */ - 10 , /* cursor_address */ - 11 , /* cursor_down */ - 12 , /* cursor_home */ - 13 , /* cursor_invisible */ - 14 , /* cursor_left */ - 15 , /* cursor_mem_address */ - 16 , /* cursor_normal */ - 17 , /* cursor_right */ - 18 , /* cursor_to_ll */ - 19 , /* cursor_up */ - 20 , /* cursor_visible */ - 374 , /* define_bit_image_region */ - 308 , /* define_char */ - 21 , /* delete_character */ - 22 , /* delete_line */ - 362 , /* device_type */ - 280 , /* dial_phone */ - 23 , /* dis_status_line */ - 275 , /* display_clock */ - 378 , /* display_pc_char */ - 24 , /* down_half_line */ - 155 , /* ena_acs */ - 375 , /* end_bit_image_region */ - 25 , /* enter_alt_charset_mode */ - 151 , /* enter_am_mode */ - 26 , /* enter_blink_mode */ - 27 , /* enter_bold_mode */ - 28 , /* enter_ca_mode */ - 29 , /* enter_delete_mode */ - 30 , /* enter_dim_mode */ - 309 , /* enter_doublewide_mode */ - 310 , /* enter_draft_quality */ - 386 , /* enter_horizontal_hl_mode */ - 31 , /* enter_insert_mode */ - 311 , /* enter_italics_mode */ - 387 , /* enter_left_hl_mode */ - 312 , /* enter_leftward_mode */ - 388 , /* enter_low_hl_mode */ - 313 , /* enter_micro_mode */ - 314 , /* enter_near_letter_quality */ - 315 , /* enter_normal_quality */ - 379 , /* enter_pc_charset_mode */ - 33 , /* enter_protected_mode */ - 34 , /* enter_reverse_mode */ - 389 , /* enter_right_hl_mode */ - 381 , /* enter_scancode_mode */ - 32 , /* enter_secure_mode */ - 316 , /* enter_shadow_mode */ - 35 , /* enter_standout_mode */ - 317 , /* enter_subscript_mode */ - 318 , /* enter_superscript_mode */ - 390 , /* enter_top_hl_mode */ - 36 , /* enter_underline_mode */ - 319 , /* enter_upward_mode */ - 391 , /* enter_vertical_hl_mode */ - 149 , /* enter_xon_mode */ - 37 , /* erase_chars */ - 38 , /* exit_alt_charset_mode */ - 152 , /* exit_am_mode */ - 39 , /* exit_attribute_mode */ - 40 , /* exit_ca_mode */ - 41 , /* exit_delete_mode */ - 320 , /* exit_doublewide_mode */ - 42 , /* exit_insert_mode */ - 321 , /* exit_italics_mode */ - 322 , /* exit_leftward_mode */ - 323 , /* exit_micro_mode */ - 380 , /* exit_pc_charset_mode */ - 382 , /* exit_scancode_mode */ - 324 , /* exit_shadow_mode */ - 43 , /* exit_standout_mode */ - 325 , /* exit_subscript_mode */ - 326 , /* exit_superscript_mode */ - 44 , /* exit_underline_mode */ - 327 , /* exit_upward_mode */ - 150 , /* exit_xon_mode */ - 285 , /* fixed_pause */ - 284 , /* flash_hook */ - 45 , /* flash_screen */ - 46 , /* form_feed */ - 47 , /* from_status_line */ - 358 , /* get_mouse */ - 278 , /* goto_window */ - 279 , /* hangup */ - 48 , /* init_1string */ - 49 , /* init_2string */ - 50 , /* init_3string */ - 51 , /* init_file */ - 138 , /* init_prog */ - 299 , /* initialize_color */ - 300 , /* initialize_pair */ - 52 , /* insert_character */ - 53 , /* insert_line */ - 54 , /* insert_padding */ - 139 , /* key_a1 */ - 140 , /* key_a3 */ - 141 , /* key_b2 */ - 55 , /* key_backspace */ - 158 , /* key_beg */ - 148 , /* key_btab */ - 142 , /* key_c1 */ - 143 , /* key_c3 */ - 159 , /* key_cancel */ - 56 , /* key_catab */ - 57 , /* key_clear */ - 160 , /* key_close */ - 161 , /* key_command */ - 162 , /* key_copy */ - 163 , /* key_create */ - 58 , /* key_ctab */ - 59 , /* key_dc */ - 60 , /* key_dl */ - 61 , /* key_down */ - 62 , /* key_eic */ - 164 , /* key_end */ - 165 , /* key_enter */ - 63 , /* key_eol */ - 64 , /* key_eos */ - 166 , /* key_exit */ - 65 , /* key_f0 */ - 66 , /* key_f1 */ - 67 , /* key_f10 */ - 216 , /* key_f11 */ - 217 , /* key_f12 */ - 218 , /* key_f13 */ - 219 , /* key_f14 */ - 220 , /* key_f15 */ - 221 , /* key_f16 */ - 222 , /* key_f17 */ - 223 , /* key_f18 */ - 224 , /* key_f19 */ - 68 , /* key_f2 */ - 225 , /* key_f20 */ - 226 , /* key_f21 */ - 227 , /* key_f22 */ - 228 , /* key_f23 */ - 229 , /* key_f24 */ - 230 , /* key_f25 */ - 231 , /* key_f26 */ - 232 , /* key_f27 */ - 233 , /* key_f28 */ - 234 , /* key_f29 */ - 69 , /* key_f3 */ - 235 , /* key_f30 */ - 236 , /* key_f31 */ - 237 , /* key_f32 */ - 238 , /* key_f33 */ - 239 , /* key_f34 */ - 240 , /* key_f35 */ - 241 , /* key_f36 */ - 242 , /* key_f37 */ - 243 , /* key_f38 */ - 244 , /* key_f39 */ - 70 , /* key_f4 */ - 245 , /* key_f40 */ - 246 , /* key_f41 */ - 247 , /* key_f42 */ - 248 , /* key_f43 */ - 249 , /* key_f44 */ - 250 , /* key_f45 */ - 251 , /* key_f46 */ - 252 , /* key_f47 */ - 253 , /* key_f48 */ - 254 , /* key_f49 */ - 71 , /* key_f5 */ - 255 , /* key_f50 */ - 256 , /* key_f51 */ - 257 , /* key_f52 */ - 258 , /* key_f53 */ - 259 , /* key_f54 */ - 260 , /* key_f55 */ - 261 , /* key_f56 */ - 262 , /* key_f57 */ - 263 , /* key_f58 */ - 264 , /* key_f59 */ - 72 , /* key_f6 */ - 265 , /* key_f60 */ - 266 , /* key_f61 */ - 267 , /* key_f62 */ - 268 , /* key_f63 */ - 73 , /* key_f7 */ - 74 , /* key_f8 */ - 75 , /* key_f9 */ - 167 , /* key_find */ - 168 , /* key_help */ - 76 , /* key_home */ - 77 , /* key_ic */ - 78 , /* key_il */ - 79 , /* key_left */ - 80 , /* key_ll */ - 169 , /* key_mark */ - 170 , /* key_message */ - 355 , /* key_mouse */ - 171 , /* key_move */ - 172 , /* key_next */ - 81 , /* key_npage */ - 173 , /* key_open */ - 174 , /* key_options */ - 82 , /* key_ppage */ - 175 , /* key_previous */ - 176 , /* key_print */ - 177 , /* key_redo */ - 178 , /* key_reference */ - 179 , /* key_refresh */ - 180 , /* key_replace */ - 181 , /* key_restart */ - 182 , /* key_resume */ - 83 , /* key_right */ - 183 , /* key_save */ - 186 , /* key_sbeg */ - 187 , /* key_scancel */ - 188 , /* key_scommand */ - 189 , /* key_scopy */ - 190 , /* key_screate */ - 191 , /* key_sdc */ - 192 , /* key_sdl */ - 193 , /* key_select */ - 194 , /* key_send */ - 195 , /* key_seol */ - 196 , /* key_sexit */ - 84 , /* key_sf */ - 197 , /* key_sfind */ - 198 , /* key_shelp */ - 199 , /* key_shome */ - 200 , /* key_sic */ - 201 , /* key_sleft */ - 202 , /* key_smessage */ - 203 , /* key_smove */ - 204 , /* key_snext */ - 205 , /* key_soptions */ - 206 , /* key_sprevious */ - 207 , /* key_sprint */ - 85 , /* key_sr */ - 208 , /* key_sredo */ - 209 , /* key_sreplace */ - 210 , /* key_sright */ - 211 , /* key_srsume */ - 212 , /* key_ssave */ - 213 , /* key_ssuspend */ - 86 , /* key_stab */ - 214 , /* key_sundo */ - 184 , /* key_suspend */ - 185 , /* key_undo */ - 87 , /* key_up */ - 88 , /* keypad_local */ - 89 , /* keypad_xmit */ - 90 , /* lab_f0 */ - 91 , /* lab_f1 */ - 92 , /* lab_f10 */ - 93 , /* lab_f2 */ - 94 , /* lab_f3 */ - 95 , /* lab_f4 */ - 96 , /* lab_f5 */ - 97 , /* lab_f6 */ - 98 , /* lab_f7 */ - 99 , /* lab_f8 */ - 100 , /* lab_f9 */ - 273 , /* label_format */ - 157 , /* label_off */ - 156 , /* label_on */ - 396 , /* linefeed_if_not_lf */ - 411 , /* memory_lock */ - 412 , /* memory_unlock */ - 101 , /* meta_off */ - 102 , /* meta_on */ - 328 , /* micro_column_address */ - 329 , /* micro_down */ - 330 , /* micro_left */ - 331 , /* micro_right */ - 332 , /* micro_row_address */ - 333 , /* micro_up */ - 356 , /* mouse_info */ - 103 , /* newline */ - 334 , /* order_of_pins */ - 298 , /* orig_colors */ - 297 , /* orig_pair */ - 398 , /* other_non_function_keys */ - 104 , /* pad_char */ - 105 , /* parm_dch */ - 106 , /* parm_delete_line */ - 107 , /* parm_down_cursor */ - 335 , /* parm_down_micro */ - 108 , /* parm_ich */ - 109 , /* parm_index */ - 110 , /* parm_insert_line */ - 111 , /* parm_left_cursor */ - 336 , /* parm_left_micro */ - 112 , /* parm_right_cursor */ - 337 , /* parm_right_micro */ - 113 , /* parm_rindex */ - 114 , /* parm_up_cursor */ - 338 , /* parm_up_micro */ - 383 , /* pc_term_options */ - 115 , /* pkey_key */ - 116 , /* pkey_local */ - 361 , /* pkey_plab */ - 117 , /* pkey_xmit */ - 147 , /* plab_norm */ - 118 , /* print_screen */ - 144 , /* prtr_non */ - 119 , /* prtr_off */ - 120 , /* prtr_on */ - 283 , /* pulse */ - 281 , /* quick_dial */ - 276 , /* remove_clock */ - 121 , /* repeat_char */ - 215 , /* req_for_input */ - 357 , /* req_mouse_pos */ - 122 , /* reset_1string */ - 123 , /* reset_2string */ - 124 , /* reset_3string */ - 125 , /* reset_file */ - 126 , /* restore_cursor */ - 127 , /* row_address */ - 128 , /* save_cursor */ - 384 , /* scancode_escape */ - 129 , /* scroll_forward */ - 130 , /* scroll_reverse */ - 339 , /* select_char_set */ - 364 , /* set0_des_seq */ - 365 , /* set1_des_seq */ - 366 , /* set2_des_seq */ - 367 , /* set3_des_seq */ - 392 , /* set_a_attributes */ - 360 , /* set_a_background */ - 359 , /* set_a_foreground */ - 131 , /* set_attributes */ - 303 , /* set_background */ - 340 , /* set_bottom_margin */ - 341 , /* set_bottom_margin_parm */ - 274 , /* set_clock */ - 376 , /* set_color_band */ - 301 , /* set_color_pair */ - 302 , /* set_foreground */ - 271 , /* set_left_margin */ - 342 , /* set_left_margin_parm */ - 368 , /* set_lr_margin */ - 377 , /* set_page_length */ - 393 , /* set_pglen_inch */ - 272 , /* set_right_margin */ - 343 , /* set_right_margin_parm */ - 132 , /* set_tab */ - 369 , /* set_tb_margin */ - 344 , /* set_top_margin */ - 345 , /* set_top_margin_parm */ - 133 , /* set_window */ - 346 , /* start_bit_image */ - 347 , /* start_char_set_def */ - 348 , /* stop_bit_image */ - 349 , /* stop_char_set_def */ - 350 , /* subscript_characters */ - 351 , /* superscript_characters */ - 134 , /* tab */ - 394 , /* termcap_init2 */ - 395 , /* termcap_reset */ - 352 , /* these_cause_cr */ - 135 , /* to_status_line */ - 282 , /* tone */ - 136 , /* underline_char */ - 137 , /* up_half_line */ - 287 , /* user0 */ - 288 , /* user1 */ - 289 , /* user2 */ - 290 , /* user3 */ - 291 , /* user4 */ - 292 , /* user5 */ - 293 , /* user6 */ - 294 , /* user7 */ - 295 , /* user8 */ - 296 , /* user9 */ - 286 , /* wait_tone */ - 154 , /* xoff_character */ - 153 , /* xon_character */ - 353 , /* zero_motion */ -}; - -static const int bool_termcap_sort[] = { - 22 , /* 5i */ - 23 , /* HC */ - 40 , /* MT */ - 26 , /* ND */ - 41 , /* NL */ - 25 , /* NP */ - 24 , /* NR */ - 30 , /* YA */ - 31 , /* YB */ - 32 , /* YC */ - 33 , /* YD */ - 34 , /* YE */ - 35 , /* YF */ - 36 , /* YG */ - 1 , /* am */ - 37 , /* bs */ - 0 , /* bw */ - 27 , /* cc */ - 11 , /* da */ - 12 , /* db */ - 5 , /* eo */ - 16 , /* es */ - 6 , /* gn */ - 7 , /* hc */ - 29 , /* hl */ - 9 , /* hs */ - 18 , /* hz */ - 10 , /* in */ - 8 , /* km */ - 13 , /* mi */ - 14 , /* ms */ - 39 , /* nc */ - 38 , /* ns */ - 21 , /* nx */ - 15 , /* os */ - 42 , /* pt */ - 19 , /* ul */ - 28 , /* ut */ - 2 , /* xb */ - 4 , /* xn */ - 20 , /* xo */ - 43 , /* xr */ - 3 , /* xs */ - 17 , /* xt */ -}; - -static const int num_termcap_sort[] = { - 30 , /* BT */ - 13 , /* Co */ - 12 , /* MW */ - 15 , /* NC */ - 8 , /* Nl */ - 16 , /* Ya */ - 17 , /* Yb */ - 18 , /* Yc */ - 19 , /* Yd */ - 20 , /* Ye */ - 21 , /* Yf */ - 22 , /* Yg */ - 23 , /* Yh */ - 24 , /* Yi */ - 25 , /* Yj */ - 26 , /* Yk */ - 27 , /* Yl */ - 28 , /* Ym */ - 29 , /* Yn */ - 31 , /* Yo */ - 32 , /* Yp */ - 0 , /* co */ - 36 , /* dB */ - 34 , /* dC */ - 35 , /* dN */ - 37 , /* dT */ - 1 , /* it */ - 38 , /* kn */ - 9 , /* lh */ - 2 , /* li */ - 3 , /* lm */ - 10 , /* lw */ - 11 , /* ma */ - 14 , /* pa */ - 5 , /* pb */ - 4 , /* sg */ - 33 , /* ug */ - 6 , /* vt */ - 7 , /* ws */ -}; - -static const int str_termcap_sort[] = { - 212 , /* !1 */ - 213 , /* !2 */ - 214 , /* !3 */ - 198 , /* #1 */ - 199 , /* #2 */ - 200 , /* #3 */ - 201 , /* #4 */ - 177 , /* %0 */ - 168 , /* %1 */ - 169 , /* %2 */ - 170 , /* %3 */ - 171 , /* %4 */ - 172 , /* %5 */ - 173 , /* %6 */ - 174 , /* %7 */ - 175 , /* %8 */ - 176 , /* %9 */ - 202 , /* %a */ - 203 , /* %b */ - 204 , /* %c */ - 205 , /* %d */ - 206 , /* %e */ - 207 , /* %f */ - 208 , /* %g */ - 209 , /* %h */ - 210 , /* %i */ - 211 , /* %j */ - 187 , /* &0 */ - 178 , /* &1 */ - 179 , /* &2 */ - 180 , /* &3 */ - 181 , /* &4 */ - 182 , /* &5 */ - 183 , /* &6 */ - 184 , /* &7 */ - 185 , /* &8 */ - 186 , /* &9 */ - 197 , /* *0 */ - 188 , /* *1 */ - 189 , /* *2 */ - 190 , /* *3 */ - 191 , /* *4 */ - 192 , /* *5 */ - 193 , /* *6 */ - 194 , /* *7 */ - 195 , /* *8 */ - 196 , /* *9 */ - 167 , /* @0 */ - 158 , /* @1 */ - 159 , /* @2 */ - 160 , /* @3 */ - 161 , /* @4 */ - 162 , /* @5 */ - 163 , /* @6 */ - 164 , /* @7 */ - 165 , /* @8 */ - 166 , /* @9 */ - 360 , /* AB */ - 359 , /* AF */ - 110 , /* AL */ - 9 , /* CC */ - 15 , /* CM */ - 277 , /* CW */ - 105 , /* DC */ - 280 , /* DI */ - 275 , /* DK */ - 106 , /* DL */ - 107 , /* DO */ - 216 , /* F1 */ - 217 , /* F2 */ - 218 , /* F3 */ - 219 , /* F4 */ - 220 , /* F5 */ - 221 , /* F6 */ - 222 , /* F7 */ - 223 , /* F8 */ - 224 , /* F9 */ - 225 , /* FA */ - 226 , /* FB */ - 227 , /* FC */ - 228 , /* FD */ - 229 , /* FE */ - 230 , /* FF */ - 231 , /* FG */ - 232 , /* FH */ - 233 , /* FI */ - 234 , /* FJ */ - 235 , /* FK */ - 236 , /* FL */ - 237 , /* FM */ - 238 , /* FN */ - 239 , /* FO */ - 240 , /* FP */ - 241 , /* FQ */ - 242 , /* FR */ - 243 , /* FS */ - 244 , /* FT */ - 245 , /* FU */ - 246 , /* FV */ - 247 , /* FW */ - 248 , /* FX */ - 249 , /* FY */ - 250 , /* FZ */ - 251 , /* Fa */ - 252 , /* Fb */ - 253 , /* Fc */ - 254 , /* Fd */ - 255 , /* Fe */ - 256 , /* Ff */ - 257 , /* Fg */ - 258 , /* Fh */ - 259 , /* Fi */ - 260 , /* Fj */ - 261 , /* Fk */ - 262 , /* Fl */ - 263 , /* Fm */ - 264 , /* Fn */ - 265 , /* Fo */ - 266 , /* Fp */ - 267 , /* Fq */ - 268 , /* Fr */ - 402 , /* G1 */ - 400 , /* G2 */ - 401 , /* G3 */ - 403 , /* G4 */ - 410 , /* GC */ - 407 , /* GD */ - 408 , /* GH */ - 405 , /* GL */ - 404 , /* GR */ - 406 , /* GU */ - 409 , /* GV */ - 358 , /* Gm */ - 279 , /* HU */ - 108 , /* IC */ - 299 , /* Ic */ - 300 , /* Ip */ - 139 , /* K1 */ - 141 , /* K2 */ - 140 , /* K3 */ - 142 , /* K4 */ - 143 , /* K5 */ - 355 , /* Km */ - 111 , /* LE */ - 157 , /* LF */ - 156 , /* LO */ - 273 , /* Lf */ - 270 , /* MC */ - 271 , /* ML */ - 368 , /* ML */ - 272 , /* MR */ - 369 , /* MT */ - 356 , /* Mi */ - 285 , /* PA */ - 283 , /* PU */ - 281 , /* QD */ - 152 , /* RA */ - 276 , /* RC */ - 215 , /* RF */ - 112 , /* RI */ - 357 , /* RQ */ - 150 , /* RX */ - 378 , /* S1 */ - 379 , /* S2 */ - 380 , /* S3 */ - 381 , /* S4 */ - 382 , /* S5 */ - 383 , /* S6 */ - 384 , /* S7 */ - 385 , /* S8 */ - 151 , /* SA */ - 274 , /* SC */ - 109 , /* SF */ - 113 , /* SR */ - 149 , /* SX */ - 303 , /* Sb */ - 302 , /* Sf */ - 282 , /* TO */ - 114 , /* UP */ - 286 , /* WA */ - 278 , /* WG */ - 154 , /* XF */ - 153 , /* XN */ - 386 , /* Xh */ - 387 , /* Xl */ - 388 , /* Xo */ - 389 , /* Xr */ - 390 , /* Xt */ - 391 , /* Xv */ - 370 , /* Xy */ - 377 , /* YZ */ - 372 , /* Yv */ - 373 , /* Yw */ - 374 , /* Yx */ - 375 , /* Yy */ - 376 , /* Yz */ - 304 , /* ZA */ - 305 , /* ZB */ - 306 , /* ZC */ - 307 , /* ZD */ - 308 , /* ZE */ - 309 , /* ZF */ - 310 , /* ZG */ - 311 , /* ZH */ - 312 , /* ZI */ - 313 , /* ZJ */ - 314 , /* ZK */ - 315 , /* ZL */ - 316 , /* ZM */ - 317 , /* ZN */ - 318 , /* ZO */ - 319 , /* ZP */ - 320 , /* ZQ */ - 321 , /* ZR */ - 322 , /* ZS */ - 323 , /* ZT */ - 324 , /* ZU */ - 325 , /* ZV */ - 326 , /* ZW */ - 327 , /* ZX */ - 328 , /* ZY */ - 329 , /* ZZ */ - 330 , /* Za */ - 331 , /* Zb */ - 332 , /* Zc */ - 333 , /* Zd */ - 334 , /* Ze */ - 335 , /* Zf */ - 336 , /* Zg */ - 337 , /* Zh */ - 338 , /* Zi */ - 339 , /* Zj */ - 340 , /* Zk */ - 341 , /* Zl */ - 342 , /* Zm */ - 343 , /* Zn */ - 344 , /* Zo */ - 345 , /* Zp */ - 346 , /* Zq */ - 347 , /* Zr */ - 348 , /* Zs */ - 349 , /* Zt */ - 350 , /* Zu */ - 351 , /* Zv */ - 352 , /* Zw */ - 353 , /* Zx */ - 354 , /* Zy */ - 371 , /* Zz */ - 146 , /* ac */ - 38 , /* ae */ - 53 , /* al */ - 25 , /* as */ - 397 , /* bc */ - 1 , /* bl */ - 0 , /* bt */ - 413 , /* bx */ - 269 , /* cb */ - 7 , /* cd */ - 6 , /* ce */ - 8 , /* ch */ - 363 , /* ci */ - 5 , /* cl */ - 10 , /* cm */ - 2 , /* cr */ - 3 , /* cs */ - 4 , /* ct */ - 127 , /* cv */ - 21 , /* dc */ - 22 , /* dl */ - 29 , /* dm */ - 11 , /* do */ - 23 , /* ds */ - 362 , /* dv */ - 155 , /* eA */ - 37 , /* ec */ - 41 , /* ed */ - 42 , /* ei */ - 46 , /* ff */ - 284 , /* fh */ - 47 , /* fs */ - 24 , /* hd */ - 12 , /* ho */ - 137 , /* hu */ - 48 , /* i1 */ - 394 , /* i2 */ - 50 , /* i3 */ - 138 , /* iP */ - 52 , /* ic */ - 51 , /* if */ - 31 , /* im */ - 54 , /* ip */ - 49 , /* is */ - 65 , /* k0 */ - 66 , /* k1 */ - 68 , /* k2 */ - 69 , /* k3 */ - 70 , /* k4 */ - 71 , /* k5 */ - 72 , /* k6 */ - 73 , /* k7 */ - 74 , /* k8 */ - 75 , /* k9 */ - 67 , /* k; */ - 78 , /* kA */ - 148 , /* kB */ - 57 , /* kC */ - 59 , /* kD */ - 63 , /* kE */ - 84 , /* kF */ - 80 , /* kH */ - 77 , /* kI */ - 60 , /* kL */ - 62 , /* kM */ - 81 , /* kN */ - 82 , /* kP */ - 85 , /* kR */ - 64 , /* kS */ - 86 , /* kT */ - 56 , /* ka */ - 55 , /* kb */ - 61 , /* kd */ - 88 , /* ke */ - 76 , /* kh */ - 79 , /* kl */ - 398 , /* ko */ - 83 , /* kr */ - 89 , /* ks */ - 58 , /* kt */ - 87 , /* ku */ - 90 , /* l0 */ - 91 , /* l1 */ - 93 , /* l2 */ - 94 , /* l3 */ - 95 , /* l4 */ - 96 , /* l5 */ - 97 , /* l6 */ - 98 , /* l7 */ - 99 , /* l8 */ - 100 , /* l9 */ - 92 , /* la */ - 14 , /* le */ - 18 , /* ll */ - 399 , /* ma */ - 26 , /* mb */ - 27 , /* md */ - 39 , /* me */ - 30 , /* mh */ - 32 , /* mk */ - 411 , /* ml */ - 102 , /* mm */ - 101 , /* mo */ - 33 , /* mp */ - 34 , /* mr */ - 412 , /* mu */ - 17 , /* nd */ - 396 , /* nl */ - 103 , /* nw */ - 298 , /* oc */ - 297 , /* op */ - 144 , /* pO */ - 104 , /* pc */ - 119 , /* pf */ - 115 , /* pk */ - 116 , /* pl */ - 147 , /* pn */ - 120 , /* po */ - 118 , /* ps */ - 117 , /* px */ - 122 , /* r1 */ - 123 , /* r2 */ - 124 , /* r3 */ - 145 , /* rP */ - 126 , /* rc */ - 125 , /* rf */ - 121 , /* rp */ - 395 , /* rs */ - 364 , /* s0 */ - 365 , /* s1 */ - 366 , /* s2 */ - 367 , /* s3 */ - 392 , /* sA */ - 393 , /* sL */ - 131 , /* sa */ - 128 , /* sc */ - 43 , /* se */ - 129 , /* sf */ - 35 , /* so */ - 301 , /* sp */ - 130 , /* sr */ - 132 , /* st */ - 134 , /* ta */ - 40 , /* te */ - 28 , /* ti */ - 135 , /* ts */ - 287 , /* u0 */ - 288 , /* u1 */ - 289 , /* u2 */ - 290 , /* u3 */ - 291 , /* u4 */ - 292 , /* u5 */ - 293 , /* u6 */ - 294 , /* u7 */ - 295 , /* u8 */ - 296 , /* u9 */ - 136 , /* uc */ - 44 , /* ue */ - 19 , /* up */ - 36 , /* us */ - 45 , /* vb */ - 16 , /* ve */ - 13 , /* vi */ - 20 , /* vs */ - 133 , /* wi */ - 361 , /* xl */ -}; - -static const bool bool_from_termcap[] = { - TRUE, /* bw */ - TRUE, /* am */ - TRUE, /* xsb */ - TRUE, /* xhp */ - TRUE, /* xenl */ - TRUE, /* eo */ - TRUE, /* gn */ - TRUE, /* hc */ - TRUE, /* km */ - TRUE, /* hs */ - TRUE, /* in */ - TRUE, /* da */ - TRUE, /* db */ - TRUE, /* mir */ - TRUE, /* msgr */ - TRUE, /* os */ - TRUE, /* eslok */ - TRUE, /* xt */ - TRUE, /* hz */ - TRUE, /* ul */ - TRUE, /* xon */ - FALSE, /* nxon */ - FALSE, /* mc5i */ - FALSE, /* chts */ - FALSE, /* nrrmc */ - FALSE, /* npc */ - FALSE, /* ndscr */ - FALSE, /* ccc */ - FALSE, /* bce */ - FALSE, /* hls */ - FALSE, /* xhpa */ - FALSE, /* crxm */ - FALSE, /* daisy */ - FALSE, /* xvpa */ - FALSE, /* sam */ - FALSE, /* cpix */ - FALSE, /* lpix */ - TRUE, /* OTbs */ - TRUE, /* OTns */ - TRUE, /* OTnc */ - FALSE, /* OTMT */ - TRUE, /* OTNL */ - TRUE, /* OTpt */ - TRUE, /* OTxr */ -}; - -static const bool num_from_termcap[] = { - TRUE, /* cols */ - TRUE, /* it */ - TRUE, /* lines */ - TRUE, /* lm */ - TRUE, /* xmc */ - TRUE, /* pb */ - TRUE, /* vt */ - TRUE, /* wsl */ - FALSE, /* nlab */ - FALSE, /* lh */ - FALSE, /* lw */ - TRUE, /* ma */ - FALSE, /* wnum */ - FALSE, /* colors */ - FALSE, /* pairs */ - FALSE, /* ncv */ - FALSE, /* bufsz */ - FALSE, /* spinv */ - FALSE, /* spinh */ - FALSE, /* maddr */ - FALSE, /* mjump */ - FALSE, /* mcs */ - FALSE, /* mls */ - FALSE, /* npins */ - FALSE, /* orc */ - FALSE, /* orl */ - FALSE, /* orhi */ - FALSE, /* orvi */ - FALSE, /* cps */ - FALSE, /* widcs */ - FALSE, /* btns */ - FALSE, /* bitwin */ - FALSE, /* bitype */ - TRUE, /* OTug */ - TRUE, /* OTdC */ - TRUE, /* OTdN */ - TRUE, /* OTdB */ - TRUE, /* OTdT */ - FALSE, /* OTkn */ -}; - -static const bool str_from_termcap[] = { - TRUE, /* cbt */ - TRUE, /* bel */ - TRUE, /* cr */ - TRUE, /* csr */ - TRUE, /* tbc */ - TRUE, /* clear */ - TRUE, /* el */ - TRUE, /* ed */ - FALSE, /* hpa */ - TRUE, /* cmdch */ - TRUE, /* cup */ - TRUE, /* cud1 */ - TRUE, /* home */ - TRUE, /* civis */ - TRUE, /* cub1 */ - TRUE, /* mrcup */ - TRUE, /* cnorm */ - TRUE, /* cuf1 */ - TRUE, /* ll */ - TRUE, /* cuu1 */ - TRUE, /* cvvis */ - TRUE, /* dch1 */ - TRUE, /* dl1 */ - TRUE, /* dsl */ - TRUE, /* hd */ - TRUE, /* smacs */ - TRUE, /* blink */ - TRUE, /* bold */ - TRUE, /* smcup */ - TRUE, /* smdc */ - TRUE, /* dim */ - TRUE, /* smir */ - FALSE, /* invis */ - FALSE, /* prot */ - TRUE, /* rev */ - TRUE, /* smso */ - TRUE, /* smul */ - TRUE, /* ech */ - TRUE, /* rmacs */ - TRUE, /* sgr0 */ - TRUE, /* rmcup */ - TRUE, /* rmdc */ - TRUE, /* rmir */ - TRUE, /* rmso */ - TRUE, /* rmul */ - TRUE, /* flash */ - TRUE, /* ff */ - TRUE, /* fsl */ - TRUE, /* is1 */ - TRUE, /* is2 */ - TRUE, /* is3 */ - TRUE, /* if */ - TRUE, /* ich1 */ - TRUE, /* il1 */ - TRUE, /* ip */ - TRUE, /* kbs */ - FALSE, /* ktbc */ - FALSE, /* kclr */ - FALSE, /* kctab */ - TRUE, /* kdch1 */ - FALSE, /* kdl1 */ - TRUE, /* kcud1 */ - FALSE, /* krmir */ - FALSE, /* kel */ - FALSE, /* ked */ - TRUE, /* kf0 */ - TRUE, /* kf1 */ - FALSE, /* kf10 */ - TRUE, /* kf2 */ - TRUE, /* kf3 */ - TRUE, /* kf4 */ - TRUE, /* kf5 */ - TRUE, /* kf6 */ - TRUE, /* kf7 */ - TRUE, /* kf8 */ - TRUE, /* kf9 */ - TRUE, /* khome */ - TRUE, /* kich1 */ - FALSE, /* kil1 */ - TRUE, /* kcub1 */ - TRUE, /* kll */ - TRUE, /* knp */ - TRUE, /* kpp */ - TRUE, /* kcuf1 */ - FALSE, /* kind */ - FALSE, /* kri */ - FALSE, /* khts */ - TRUE, /* kcuu1 */ - TRUE, /* rmkx */ - TRUE, /* smkx */ - FALSE, /* lf0 */ - FALSE, /* lf1 */ - FALSE, /* lf10 */ - FALSE, /* lf2 */ - FALSE, /* lf3 */ - FALSE, /* lf4 */ - FALSE, /* lf5 */ - FALSE, /* lf6 */ - FALSE, /* lf7 */ - FALSE, /* lf8 */ - FALSE, /* lf9 */ - TRUE, /* rmm */ - TRUE, /* smm */ - TRUE, /* nel */ - TRUE, /* pad */ - TRUE, /* dch */ - TRUE, /* dl */ - TRUE, /* cud */ - TRUE, /* ich */ - TRUE, /* indn */ - TRUE, /* il */ - TRUE, /* cub */ - TRUE, /* cuf */ - TRUE, /* rin */ - TRUE, /* cuu */ - FALSE, /* pfkey */ - FALSE, /* pfloc */ - FALSE, /* pfx */ - FALSE, /* mc0 */ - FALSE, /* mc4 */ - FALSE, /* mc5 */ - TRUE, /* rep */ - FALSE, /* rs1 */ - FALSE, /* rs2 */ - FALSE, /* rs3 */ - FALSE, /* rf */ - TRUE, /* rc */ - FALSE, /* vpa */ - TRUE, /* sc */ - TRUE, /* ind */ - TRUE, /* ri */ - TRUE, /* sgr */ - TRUE, /* hts */ - FALSE, /* wind */ - TRUE, /* ht */ - TRUE, /* tsl */ - TRUE, /* uc */ - TRUE, /* hu */ - FALSE, /* iprog */ - TRUE, /* ka1 */ - TRUE, /* ka3 */ - TRUE, /* kb2 */ - TRUE, /* kc1 */ - TRUE, /* kc3 */ - FALSE, /* mc5p */ - FALSE, /* rmp */ - FALSE, /* acsc */ - FALSE, /* pln */ - FALSE, /* kcbt */ - FALSE, /* smxon */ - FALSE, /* rmxon */ - FALSE, /* smam */ - FALSE, /* rmam */ - FALSE, /* xonc */ - FALSE, /* xoffc */ - FALSE, /* enacs */ - FALSE, /* smln */ - FALSE, /* rmln */ - FALSE, /* kbeg */ - FALSE, /* kcan */ - FALSE, /* kclo */ - FALSE, /* kcmd */ - FALSE, /* kcpy */ - FALSE, /* kcrt */ - FALSE, /* kend */ - FALSE, /* kent */ - FALSE, /* kext */ - FALSE, /* kfnd */ - FALSE, /* khlp */ - FALSE, /* kmrk */ - FALSE, /* kmsg */ - FALSE, /* kmov */ - FALSE, /* knxt */ - FALSE, /* kopn */ - FALSE, /* kopt */ - FALSE, /* kprv */ - FALSE, /* kprt */ - FALSE, /* krdo */ - FALSE, /* kref */ - FALSE, /* krfr */ - FALSE, /* krpl */ - FALSE, /* krst */ - FALSE, /* kres */ - FALSE, /* ksav */ - FALSE, /* kspd */ - FALSE, /* kund */ - FALSE, /* kBEG */ - FALSE, /* kCAN */ - FALSE, /* kCMD */ - FALSE, /* kCPY */ - FALSE, /* kCRT */ - FALSE, /* kDC */ - FALSE, /* kDL */ - FALSE, /* kslt */ - FALSE, /* kEND */ - FALSE, /* kEOL */ - FALSE, /* kEXT */ - FALSE, /* kFND */ - FALSE, /* kHLP */ - FALSE, /* kHOM */ - FALSE, /* kIC */ - FALSE, /* kLFT */ - FALSE, /* kMSG */ - FALSE, /* kMOV */ - FALSE, /* kNXT */ - FALSE, /* kOPT */ - FALSE, /* kPRV */ - FALSE, /* kPRT */ - FALSE, /* kRDO */ - FALSE, /* kRPL */ - FALSE, /* kRIT */ - FALSE, /* kRES */ - FALSE, /* kSAV */ - FALSE, /* kSPD */ - FALSE, /* kUND */ - FALSE, /* rfi */ - FALSE, /* kf11 */ - FALSE, /* kf12 */ - FALSE, /* kf13 */ - FALSE, /* kf14 */ - FALSE, /* kf15 */ - FALSE, /* kf16 */ - FALSE, /* kf17 */ - FALSE, /* kf18 */ - FALSE, /* kf19 */ - FALSE, /* kf20 */ - FALSE, /* kf21 */ - FALSE, /* kf22 */ - FALSE, /* kf23 */ - FALSE, /* kf24 */ - FALSE, /* kf25 */ - FALSE, /* kf26 */ - FALSE, /* kf27 */ - FALSE, /* kf28 */ - FALSE, /* kf29 */ - FALSE, /* kf30 */ - FALSE, /* kf31 */ - FALSE, /* kf32 */ - FALSE, /* kf33 */ - FALSE, /* kf34 */ - FALSE, /* kf35 */ - FALSE, /* kf36 */ - FALSE, /* kf37 */ - FALSE, /* kf38 */ - FALSE, /* kf39 */ - FALSE, /* kf40 */ - FALSE, /* kf41 */ - FALSE, /* kf42 */ - FALSE, /* kf43 */ - FALSE, /* kf44 */ - FALSE, /* kf45 */ - FALSE, /* kf46 */ - FALSE, /* kf47 */ - FALSE, /* kf48 */ - FALSE, /* kf49 */ - FALSE, /* kf50 */ - FALSE, /* kf51 */ - FALSE, /* kf52 */ - FALSE, /* kf53 */ - FALSE, /* kf54 */ - FALSE, /* kf55 */ - FALSE, /* kf56 */ - FALSE, /* kf57 */ - FALSE, /* kf58 */ - FALSE, /* kf59 */ - FALSE, /* kf60 */ - FALSE, /* kf61 */ - FALSE, /* kf62 */ - FALSE, /* kf63 */ - FALSE, /* el1 */ - FALSE, /* mgc */ - FALSE, /* smgl */ - FALSE, /* smgr */ - FALSE, /* fln */ - FALSE, /* sclk */ - FALSE, /* dclk */ - FALSE, /* rmclk */ - FALSE, /* cwin */ - FALSE, /* wingo */ - FALSE, /* hup */ - FALSE, /* dial */ - FALSE, /* qdial */ - FALSE, /* tone */ - FALSE, /* pulse */ - FALSE, /* hook */ - FALSE, /* pause */ - FALSE, /* wait */ - FALSE, /* u0 */ - FALSE, /* u1 */ - FALSE, /* u2 */ - FALSE, /* u3 */ - FALSE, /* u4 */ - FALSE, /* u5 */ - FALSE, /* u6 */ - FALSE, /* u7 */ - FALSE, /* u8 */ - FALSE, /* u9 */ - FALSE, /* op */ - FALSE, /* oc */ - FALSE, /* initc */ - FALSE, /* initp */ - FALSE, /* scp */ - FALSE, /* setf */ - FALSE, /* setb */ - FALSE, /* cpi */ - FALSE, /* lpi */ - FALSE, /* chr */ - FALSE, /* cvr */ - FALSE, /* defc */ - FALSE, /* swidm */ - FALSE, /* sdrfq */ - FALSE, /* sitm */ - FALSE, /* slm */ - FALSE, /* smicm */ - FALSE, /* snlq */ - FALSE, /* snrmq */ - FALSE, /* sshm */ - FALSE, /* ssubm */ - FALSE, /* ssupm */ - FALSE, /* sum */ - FALSE, /* rwidm */ - FALSE, /* ritm */ - FALSE, /* rlm */ - FALSE, /* rmicm */ - FALSE, /* rshm */ - FALSE, /* rsubm */ - FALSE, /* rsupm */ - FALSE, /* rum */ - FALSE, /* mhpa */ - FALSE, /* mcud1 */ - FALSE, /* mcub1 */ - FALSE, /* mcuf1 */ - FALSE, /* mvpa */ - FALSE, /* mcuu1 */ - FALSE, /* porder */ - FALSE, /* mcud */ - FALSE, /* mcub */ - FALSE, /* mcuf */ - FALSE, /* mcuu */ - FALSE, /* scs */ - FALSE, /* smgb */ - FALSE, /* smgbp */ - FALSE, /* smglp */ - FALSE, /* smgrp */ - FALSE, /* smgt */ - FALSE, /* smgtp */ - FALSE, /* sbim */ - FALSE, /* scsd */ - FALSE, /* rbim */ - FALSE, /* rcsd */ - FALSE, /* subcs */ - FALSE, /* supcs */ - FALSE, /* docr */ - FALSE, /* zerom */ - FALSE, /* csnm */ - FALSE, /* kmous */ - FALSE, /* minfo */ - FALSE, /* reqmp */ - FALSE, /* getm */ - FALSE, /* setaf */ - FALSE, /* setab */ - FALSE, /* pfxl */ - FALSE, /* devt */ - FALSE, /* csin */ - FALSE, /* s0ds */ - FALSE, /* s1ds */ - FALSE, /* s2ds */ - FALSE, /* s3ds */ - FALSE, /* smglr */ - FALSE, /* smgtb */ - FALSE, /* birep */ - FALSE, /* binel */ - FALSE, /* bicr */ - FALSE, /* colornm */ - FALSE, /* defbi */ - FALSE, /* endbi */ - FALSE, /* setcolor */ - FALSE, /* slines */ - FALSE, /* dispc */ - FALSE, /* smpch */ - FALSE, /* rmpch */ - FALSE, /* smsc */ - FALSE, /* rmsc */ - FALSE, /* pctrm */ - FALSE, /* scesc */ - FALSE, /* scesa */ - FALSE, /* ehhlm */ - FALSE, /* elhlm */ - FALSE, /* elohlm */ - FALSE, /* erhlm */ - FALSE, /* ethlm */ - FALSE, /* evhlm */ - FALSE, /* sgr1 */ - FALSE, /* slength */ - TRUE, /* OTi2 */ - TRUE, /* OTrs */ - TRUE, /* OTnl */ - TRUE, /* OTbc */ - FALSE, /* OTko */ - TRUE, /* OTma */ - FALSE, /* OTG2 */ - FALSE, /* OTG3 */ - FALSE, /* OTG1 */ - FALSE, /* OTG4 */ - FALSE, /* OTGR */ - FALSE, /* OTGL */ - FALSE, /* OTGU */ - FALSE, /* OTGD */ - FALSE, /* OTGH */ - FALSE, /* OTGV */ - FALSE, /* OTGC */ - FALSE, /* meml */ - FALSE, /* memu */ - FALSE, /* pln */ - FALSE, /* smln */ - FALSE, /* rmln */ - FALSE, /* kf11 */ - FALSE, /* kf12 */ - FALSE, /* kf13 */ - FALSE, /* kf14 */ - FALSE, /* kf15 */ - FALSE, /* kf16 */ - FALSE, /* kf17 */ - FALSE, /* kf18 */ - FALSE, /* kf19 */ - FALSE, /* kf20 */ - FALSE, /* kf21 */ - FALSE, /* kf22 */ - FALSE, /* kf23 */ - FALSE, /* kf24 */ - FALSE, /* kf25 */ - FALSE, /* kf26 */ - FALSE, /* kf27 */ - FALSE, /* kf28 */ - FALSE, /* kf29 */ - FALSE, /* kf30 */ - FALSE, /* kf31 */ - FALSE, /* kf32 */ - FALSE, /* kf33 */ - FALSE, /* kf34 */ - FALSE, /* kf35 */ - FALSE, /* kf36 */ - FALSE, /* kf37 */ - FALSE, /* kf38 */ - FALSE, /* kf39 */ - FALSE, /* kf40 */ - FALSE, /* kf41 */ - FALSE, /* kf42 */ - FALSE, /* kf43 */ - FALSE, /* kf44 */ - FALSE, /* kf45 */ - FALSE, /* kf46 */ - FALSE, /* kf47 */ - FALSE, /* kf48 */ - FALSE, /* kf49 */ - FALSE, /* kf50 */ - FALSE, /* kf51 */ - FALSE, /* kf52 */ - FALSE, /* kf53 */ - FALSE, /* kf54 */ - FALSE, /* kf55 */ - FALSE, /* kf56 */ - FALSE, /* kf57 */ - FALSE, /* kf58 */ - FALSE, /* kf59 */ - FALSE, /* kf60 */ - FALSE, /* kf61 */ - FALSE, /* kf62 */ - FALSE, /* kf63 */ - FALSE, /* box1 */ - FALSE, /* box2 */ - FALSE, /* batt1 */ - FALSE, /* batt2 */ - FALSE, /* colb0 */ - FALSE, /* colb1 */ - FALSE, /* colb2 */ - FALSE, /* colb3 */ - FALSE, /* colb4 */ - FALSE, /* colb5 */ - FALSE, /* colb6 */ - FALSE, /* colb7 */ - FALSE, /* colf0 */ - FALSE, /* colf1 */ - FALSE, /* colf2 */ - FALSE, /* colf3 */ - FALSE, /* colf4 */ - FALSE, /* colf5 */ - FALSE, /* colf6 */ - FALSE, /* colf7 */ - FALSE, /* font0 */ - FALSE, /* font1 */ - FALSE, /* font2 */ - FALSE, /* font3 */ - FALSE, /* font4 */ - FALSE, /* font5 */ - FALSE, /* font6 */ - FALSE, /* font7 */ - FALSE, /* kbtab */ - FALSE, /* kdo */ - FALSE, /* kcmd */ - FALSE, /* kcpn */ - FALSE, /* kend */ - FALSE, /* khlp */ - FALSE, /* knl */ - FALSE, /* knpn */ - FALSE, /* kppn */ - FALSE, /* kppn */ - FALSE, /* kquit */ - FALSE, /* ksel */ - FALSE, /* kscl */ - FALSE, /* kscr */ - FALSE, /* ktab */ - FALSE, /* kmpf1 */ - FALSE, /* kmpt1 */ - FALSE, /* kmpf2 */ - FALSE, /* kmpt2 */ - FALSE, /* kmpf3 */ - FALSE, /* kmpt3 */ - FALSE, /* kmpf4 */ - FALSE, /* kmpt4 */ - FALSE, /* kmpf5 */ - FALSE, /* kmpt5 */ - FALSE, /* apstr */ - FALSE, /* kmpf6 */ - FALSE, /* kmpt6 */ - FALSE, /* kmpf7 */ - FALSE, /* kmpt7 */ - FALSE, /* kmpf8 */ - FALSE, /* kmpt8 */ - FALSE, /* kmpf9 */ - FALSE, /* kmpt9 */ - FALSE, /* ksf1 */ - FALSE, /* ksf2 */ - FALSE, /* ksf3 */ - FALSE, /* ksf4 */ - FALSE, /* ksf5 */ - FALSE, /* ksf6 */ - FALSE, /* ksf7 */ - FALSE, /* ksf8 */ - FALSE, /* ksf9 */ - FALSE, /* ksf10 */ - FALSE, /* kf11 */ - FALSE, /* kf12 */ - FALSE, /* kact */ - FALSE, /* topl */ - FALSE, /* btml */ - FALSE, /* rvert */ - FALSE, /* lvert */ -}; - diff --git a/src/libs/ncurses/progs/tic.c b/src/libs/ncurses/progs/tic.c deleted file mode 100644 index a918efd753..0000000000 --- a/src/libs/ncurses/progs/tic.c +++ /dev/null @@ -1,1498 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996 on * - ****************************************************************************/ - -/* - * tic.c --- Main program for terminfo compiler - * by Eric S. Raymond - * - */ - -#include -#include - -#include -#include - -MODULE_ID("$Id: tic.c,v 1.125 2005/09/25 00:39:43 tom Exp $") - -const char *_nc_progname = "tic"; - -static FILE *log_fp; -static FILE *tmp_fp; -static bool capdump = FALSE; /* running as infotocap? */ -static bool infodump = FALSE; /* running as captoinfo? */ -static bool showsummary = FALSE; -static const char *to_remove; - -static void (*save_check_termtype) (TERMTYPE *, bool); -static void check_termtype(TERMTYPE *tt, bool); - -static const char usage_string[] = "\ -[-e names] \ -[-o dir] \ -[-R name] \ -[-v[n]] \ -[-V] \ -[-w[n]] \ -[-\ -1\ -a\ -C\ -c\ -f\ -G\ -g\ -I\ -L\ -N\ -r\ -s\ -T\ -t\ -U\ -x\ -] \ -source-file\n"; - -static void -cleanup(void) -{ - if (tmp_fp != 0) - fclose(tmp_fp); - if (to_remove != 0) { -#if HAVE_REMOVE - remove(to_remove); -#else - unlink(to_remove); -#endif - } -} - -static void -failed(const char *msg) -{ - perror(msg); - cleanup(); - ExitProgram(EXIT_FAILURE); -} - -static void -usage(void) -{ - static const char *const tbl[] = - { - "Options:", - " -1 format translation output one capability per line", -#if NCURSES_XNAMES - " -a retain commented-out capabilities (sets -x also)", -#endif - " -C translate entries to termcap source form", - " -c check only, validate input without compiling or translating", - " -e translate/compile only entries named by comma-separated list", - " -f format complex strings for readability", - " -G format %{number} to %'char'", - " -g format %'char' to %{number}", - " -I translate entries to terminfo source form", - " -L translate entries to full terminfo source form", - " -N disable smart defaults for source translation", - " -o

set output directory for compiled entry writes", - " -R restrict translation to given terminfo/termcap version", - " -r force resolution of all use entries in source translation", - " -s print summary statistics", - " -T remove size-restrictions on compiled description", -#if NCURSES_XNAMES - " -t suppress commented-out capabilities", -#endif - " -U suppress post-processing of entries", - " -V print version", - " -v[n] set verbosity level", - " -w[n] set format width for translation output", -#if NCURSES_XNAMES - " -x treat unknown capabilities as user-defined", -#endif - "", - "Parameters:", - " file to translate or compile" - }; - size_t j; - - fprintf(stderr, "Usage: %s %s\n", _nc_progname, usage_string); - for (j = 0; j < SIZEOF(tbl); j++) { - fputs(tbl[j], stderr); - putc('\n', stderr); - } - ExitProgram(EXIT_FAILURE); -} - -#define L_BRACE '{' -#define R_BRACE '}' -#define S_QUOTE '\''; - -static void -write_it(ENTRY * ep) -{ - unsigned n; - int ch; - char *s, *d, *t; - char result[MAX_ENTRY_SIZE]; - - /* - * Look for strings that contain %{number}, convert them to %'char', - * which is shorter and runs a little faster. - */ - for (n = 0; n < STRCOUNT; n++) { - s = ep->tterm.Strings[n]; - if (VALID_STRING(s) - && strchr(s, L_BRACE) != 0) { - d = result; - t = s; - while ((ch = *t++) != 0) { - *d++ = ch; - if (ch == '\\') { - *d++ = *t++; - } else if ((ch == '%') - && (*t == L_BRACE)) { - char *v = 0; - long value = strtol(t + 1, &v, 0); - if (v != 0 - && *v == R_BRACE - && value > 0 - && value != '\\' /* FIXME */ - && value < 127 - && isprint((int) value)) { - *d++ = S_QUOTE; - *d++ = (int) value; - *d++ = S_QUOTE; - t = (v + 1); - } - } - } - *d = 0; - if (strlen(result) < strlen(s)) - strcpy(s, result); - } - } - - _nc_set_type(_nc_first_name(ep->tterm.term_names)); - _nc_curr_line = ep->startline; - _nc_write_entry(&ep->tterm); -} - -static bool -immedhook(ENTRY * ep GCC_UNUSED) -/* write out entries with no use capabilities immediately to save storage */ -{ -#if !HAVE_BIG_CORE - /* - * This is strictly a core-economy kluge. The really clean way to handle - * compilation is to slurp the whole file into core and then do all the - * name-collision checks and entry writes in one swell foop. But the - * terminfo master file is large enough that some core-poor systems swap - * like crazy when you compile it this way...there have been reports of - * this process taking *three hours*, rather than the twenty seconds or - * less typical on my development box. - * - * So. This hook *immediately* writes out the referenced entry if it - * has no use capabilities. The compiler main loop refrains from - * adding the entry to the in-core list when this hook fires. If some - * other entry later needs to reference an entry that got written - * immediately, that's OK; the resolution code will fetch it off disk - * when it can't find it in core. - * - * Name collisions will still be detected, just not as cleanly. The - * write_entry() code complains before overwriting an entry that - * postdates the time of tic's first call to write_entry(). Thus - * it will complain about overwriting entries newly made during the - * tic run, but not about overwriting ones that predate it. - * - * The reason this is a hook, and not in line with the rest of the - * compiler code, is that the support for termcap fallback cannot assume - * it has anywhere to spool out these entries! - * - * The _nc_set_type() call here requires a compensating one in - * _nc_parse_entry(). - * - * If you define HAVE_BIG_CORE, you'll disable this kluge. This will - * make tic a bit faster (because the resolution code won't have to do - * disk I/O nearly as often). - */ - if (ep->nuses == 0) { - int oldline = _nc_curr_line; - - write_it(ep); - _nc_curr_line = oldline; - free(ep->tterm.str_table); - return (TRUE); - } -#endif /* HAVE_BIG_CORE */ - return (FALSE); -} - -static void -put_translate(int c) -/* emit a comment char, translating terminfo names to termcap names */ -{ - static bool in_name = FALSE; - static size_t have, used; - static char *namebuf, *suffix; - - if (in_name) { - if (used + 1 >= have) { - have += 132; - namebuf = typeRealloc(char, have, namebuf); - suffix = typeRealloc(char, have, suffix); - } - if (c == '\n' || c == '@') { - namebuf[used++] = '\0'; - (void) putchar('<'); - (void) fputs(namebuf, stdout); - putchar(c); - in_name = FALSE; - } else if (c != '>') { - namebuf[used++] = c; - } else { /* ah! candidate name! */ - char *up; - NCURSES_CONST char *tp; - - namebuf[used++] = '\0'; - in_name = FALSE; - - suffix[0] = '\0'; - if ((up = strchr(namebuf, '#')) != 0 - || (up = strchr(namebuf, '=')) != 0 - || ((up = strchr(namebuf, '@')) != 0 && up[1] == '>')) { - (void) strcpy(suffix, up); - *up = '\0'; - } - - if ((tp = nametrans(namebuf)) != 0) { - (void) putchar(':'); - (void) fputs(tp, stdout); - (void) fputs(suffix, stdout); - (void) putchar(':'); - } else { - /* couldn't find a translation, just dump the name */ - (void) putchar('<'); - (void) fputs(namebuf, stdout); - (void) fputs(suffix, stdout); - (void) putchar('>'); - } - } - } else { - used = 0; - if (c == '<') { - in_name = TRUE; - } else { - putchar(c); - } - } -} - -/* Returns a string, stripped of leading/trailing whitespace */ -static char * -stripped(char *src) -{ - while (isspace(UChar(*src))) - src++; - if (*src != '\0') { - char *dst = strcpy((char *) malloc(strlen(src) + 1), src); - size_t len = strlen(dst); - while (--len != 0 && isspace(UChar(dst[len]))) - dst[len] = '\0'; - return dst; - } - return 0; -} - -static FILE * -open_input(const char *filename) -{ - FILE *fp = fopen(filename, "r"); - struct stat sb; - - if (fp == 0) { - fprintf(stderr, "%s: Can't open %s\n", _nc_progname, filename); - ExitProgram(EXIT_FAILURE); - } - if (fstat(fileno(fp), &sb) < 0 - || (sb.st_mode & S_IFMT) != S_IFREG) { - fprintf(stderr, "%s: %s is not a file\n", _nc_progname, filename); - ExitProgram(EXIT_FAILURE); - } - return fp; -} - -/* Parse the "-e" option-value into a list of names */ -static const char ** -make_namelist(char *src) -{ - const char **dst = 0; - - char *s, *base; - unsigned pass, n, nn; - char buffer[BUFSIZ]; - - if (src == 0) { - /* EMPTY */ ; - } else if (strchr(src, '/') != 0) { /* a filename */ - FILE *fp = open_input(src); - - for (pass = 1; pass <= 2; pass++) { - nn = 0; - while (fgets(buffer, sizeof(buffer), fp) != 0) { - if ((s = stripped(buffer)) != 0) { - if (dst != 0) - dst[nn] = s; - nn++; - } - } - if (pass == 1) { - dst = typeCalloc(const char *, nn + 1); - rewind(fp); - } - } - fclose(fp); - } else { /* literal list of names */ - for (pass = 1; pass <= 2; pass++) { - for (n = nn = 0, base = src;; n++) { - int mark = src[n]; - if (mark == ',' || mark == '\0') { - if (pass == 1) { - nn++; - } else { - src[n] = '\0'; - if ((s = stripped(base)) != 0) - dst[nn++] = s; - base = &src[n + 1]; - } - } - if (mark == '\0') - break; - } - if (pass == 1) - dst = typeCalloc(const char *, nn + 1); - } - } - if (showsummary) { - fprintf(log_fp, "Entries that will be compiled:\n"); - for (n = 0; dst[n] != 0; n++) - fprintf(log_fp, "%u:%s\n", n + 1, dst[n]); - } - return dst; -} - -static bool -matches(const char **needle, const char *haystack) -/* does entry in needle list match |-separated field in haystack? */ -{ - bool code = FALSE; - size_t n; - - if (needle != 0) { - for (n = 0; needle[n] != 0; n++) { - if (_nc_name_match(haystack, needle[n], "|")) { - code = TRUE; - break; - } - } - } else - code = TRUE; - return (code); -} - -static FILE * -open_tempfile(char *name) -{ - FILE *result = 0; -#if HAVE_MKSTEMP - int fd = mkstemp(name); - if (fd >= 0) - result = fdopen(fd, "w"); -#else - if (tmpnam(name) != 0) - result = fopen(name, "w"); -#endif - return result; -} - -int -main(int argc, char *argv[]) -{ - char my_tmpname[PATH_MAX]; - int v_opt = -1, debug_level; - int smart_defaults = TRUE; - char *termcap; - ENTRY *qp; - - int this_opt, last_opt = '?'; - - int outform = F_TERMINFO; /* output format */ - int sortmode = S_TERMINFO; /* sort_mode */ - - int width = 60; - bool formatted = FALSE; /* reformat complex strings? */ - bool literal = FALSE; /* suppress post-processing? */ - int numbers = 0; /* format "%'char'" to/from "%{number}" */ - bool forceresolve = FALSE; /* force resolution */ - bool limited = TRUE; - char *tversion = (char *) NULL; - const char *source_file = "terminfo"; - const char **namelst = 0; - char *outdir = (char *) NULL; - bool check_only = FALSE; - bool suppress_untranslatable = FALSE; - - log_fp = stderr; - - _nc_progname = _nc_rootname(argv[0]); - - if ((infodump = (strcmp(_nc_progname, PROG_CAPTOINFO) == 0)) != FALSE) { - outform = F_TERMINFO; - sortmode = S_TERMINFO; - } - if ((capdump = (strcmp(_nc_progname, PROG_INFOTOCAP) == 0)) != FALSE) { - outform = F_TERMCAP; - sortmode = S_TERMCAP; - } -#if NCURSES_XNAMES - use_extended_names(FALSE); -#endif - - /* - * Processing arguments is a little complicated, since someone made a - * design decision to allow the numeric values for -w, -v options to - * be optional. - */ - while ((this_opt = getopt(argc, argv, - "0123456789CILNR:TUVace:fGgo:rstvwx")) != EOF) { - if (isdigit(this_opt)) { - switch (last_opt) { - case 'v': - v_opt = (v_opt * 10) + (this_opt - '0'); - break; - case 'w': - width = (width * 10) + (this_opt - '0'); - break; - default: - if (this_opt != '1') - usage(); - last_opt = this_opt; - width = 0; - } - continue; - } - switch (this_opt) { - case 'C': - capdump = TRUE; - outform = F_TERMCAP; - sortmode = S_TERMCAP; - break; - case 'I': - infodump = TRUE; - outform = F_TERMINFO; - sortmode = S_TERMINFO; - break; - case 'L': - infodump = TRUE; - outform = F_VARIABLE; - sortmode = S_VARIABLE; - break; - case 'N': - smart_defaults = FALSE; - literal = TRUE; - break; - case 'R': - tversion = optarg; - break; - case 'T': - limited = FALSE; - break; - case 'U': - literal = TRUE; - break; - case 'V': - puts(curses_version()); - return EXIT_SUCCESS; - case 'c': - check_only = TRUE; - break; - case 'e': - namelst = make_namelist(optarg); - break; - case 'f': - formatted = TRUE; - break; - case 'G': - numbers = 1; - break; - case 'g': - numbers = -1; - break; - case 'o': - outdir = optarg; - break; - case 'r': - forceresolve = TRUE; - break; - case 's': - showsummary = TRUE; - break; - case 'v': - v_opt = 0; - break; - case 'w': - width = 0; - break; -#if NCURSES_XNAMES - case 't': - _nc_disable_period = FALSE; - suppress_untranslatable = TRUE; - break; - case 'a': - _nc_disable_period = TRUE; - /* FALLTHRU */ - case 'x': - use_extended_names(TRUE); - break; -#endif - default: - usage(); - } - last_opt = this_opt; - } - - debug_level = (v_opt > 0) ? v_opt : (v_opt == 0); - set_trace_level(debug_level); - - if (_nc_tracing) { - save_check_termtype = _nc_check_termtype2; - _nc_check_termtype2 = check_termtype; - } -#if !HAVE_BIG_CORE - /* - * Aaargh! immedhook seriously hoses us! - * - * One problem with immedhook is it means we can't do -e. Problem - * is that we can't guarantee that for each terminal listed, all the - * terminals it depends on will have been kept in core for reference - * resolution -- in fact it's certain the primitive types at the end - * of reference chains *won't* be in core unless they were explicitly - * in the select list themselves. - */ - if (namelst && (!infodump && !capdump)) { - (void) fprintf(stderr, - "Sorry, -e can't be used without -I or -C\n"); - cleanup(); - ExitProgram(EXIT_FAILURE); - } -#endif /* HAVE_BIG_CORE */ - - if (optind < argc) { - source_file = argv[optind++]; - if (optind < argc) { - fprintf(stderr, - "%s: Too many file names. Usage:\n\t%s %s", - _nc_progname, - _nc_progname, - usage_string); - ExitProgram(EXIT_FAILURE); - } - } else { - if (infodump == TRUE) { - /* captoinfo's no-argument case */ - source_file = "/etc/termcap"; - if ((termcap = getenv("TERMCAP")) != 0 - && (namelst = make_namelist(getenv("TERM"))) != 0) { - if (access(termcap, F_OK) == 0) { - /* file exists */ - source_file = termcap; - } else if ((tmp_fp = open_tempfile(strcpy(my_tmpname, - "/tmp/XXXXXX"))) - != 0) { - source_file = my_tmpname; - fprintf(tmp_fp, "%s\n", termcap); - fclose(tmp_fp); - tmp_fp = open_input(source_file); - to_remove = source_file; - } else { - failed("tmpnam"); - } - } - } else { - /* tic */ - fprintf(stderr, - "%s: File name needed. Usage:\n\t%s %s", - _nc_progname, - _nc_progname, - usage_string); - cleanup(); - ExitProgram(EXIT_FAILURE); - } - } - - if (tmp_fp == 0) - tmp_fp = open_input(source_file); - - if (infodump) - dump_init(tversion, - smart_defaults - ? outform - : F_LITERAL, - sortmode, width, debug_level, formatted); - else if (capdump) - dump_init(tversion, - outform, - sortmode, width, debug_level, FALSE); - - /* parse entries out of the source file */ - _nc_set_source(source_file); -#if !HAVE_BIG_CORE - if (!(check_only || infodump || capdump)) - _nc_set_writedir(outdir); -#endif /* HAVE_BIG_CORE */ - _nc_read_entry_source(tmp_fp, (char *) NULL, - !smart_defaults || literal, FALSE, - ((check_only || infodump || capdump) - ? NULLHOOK - : immedhook)); - - /* do use resolution */ - if (check_only || (!infodump && !capdump) || forceresolve) { - if (!_nc_resolve_uses2(TRUE, literal) && !check_only) { - cleanup(); - ExitProgram(EXIT_FAILURE); - } - } - - /* length check */ - if (check_only && (capdump || infodump)) { - for_entry_list(qp) { - if (matches(namelst, qp->tterm.term_names)) { - int len = fmt_entry(&qp->tterm, NULL, FALSE, TRUE, infodump, numbers); - - if (len > (infodump ? MAX_TERMINFO_LENGTH : MAX_TERMCAP_LENGTH)) - (void) fprintf(stderr, - "warning: resolved %s entry is %d bytes long\n", - _nc_first_name(qp->tterm.term_names), - len); - } - } - } - - /* write or dump all entries */ - if (!check_only) { - if (!infodump && !capdump) { - _nc_set_writedir(outdir); - for_entry_list(qp) { - if (matches(namelst, qp->tterm.term_names)) - write_it(qp); - } - } else { - /* this is in case infotocap() generates warnings */ - _nc_curr_col = _nc_curr_line = -1; - - for_entry_list(qp) { - if (matches(namelst, qp->tterm.term_names)) { - int j = qp->cend - qp->cstart; - int len = 0; - - /* this is in case infotocap() generates warnings */ - _nc_set_type(_nc_first_name(qp->tterm.term_names)); - - (void) fseek(tmp_fp, qp->cstart, SEEK_SET); - while (j--) { - if (infodump) - (void) putchar(fgetc(tmp_fp)); - else - put_translate(fgetc(tmp_fp)); - } - - len = dump_entry(&qp->tterm, suppress_untranslatable, - limited, 0, numbers, NULL); - for (j = 0; j < qp->nuses; j++) - len += dump_uses(qp->uses[j].name, !capdump); - (void) putchar('\n'); - if (debug_level != 0 && !limited) - printf("# length=%d\n", len); - } - } - if (!namelst && _nc_tail) { - int c, oldc = '\0'; - bool in_comment = FALSE; - bool trailing_comment = FALSE; - - (void) fseek(tmp_fp, _nc_tail->cend, SEEK_SET); - while ((c = fgetc(tmp_fp)) != EOF) { - if (oldc == '\n') { - if (c == '#') { - trailing_comment = TRUE; - in_comment = TRUE; - } else { - in_comment = FALSE; - } - } - if (trailing_comment - && (in_comment || (oldc == '\n' && c == '\n'))) - putchar(c); - oldc = c; - } - } - } - } - - /* Show the directory into which entries were written, and the total - * number of entries - */ - if (showsummary - && (!(check_only || infodump || capdump))) { - int total = _nc_tic_written(); - if (total != 0) - fprintf(log_fp, "%d entries written to %s\n", - total, - _nc_tic_dir((char *) 0)); - else - fprintf(log_fp, "No entries written\n"); - } - cleanup(); - ExitProgram(EXIT_SUCCESS); -} - -/* - * This bit of legerdemain turns all the terminfo variable names into - * references to locations in the arrays Booleans, Numbers, and Strings --- - * precisely what's needed (see comp_parse.c). - */ - -TERMINAL *cur_term; /* tweak to avoid linking lib_cur_term.c */ - -#undef CUR -#define CUR tp-> - -/* - * Check if the alternate character-set capabilities are consistent. - */ -static void -check_acs(TERMTYPE *tp) -{ - if (VALID_STRING(acs_chars)) { - const char *boxes = "lmkjtuvwqxn"; - char mapped[256]; - char missing[256]; - const char *p; - char *q; - - memset(mapped, 0, sizeof(mapped)); - for (p = acs_chars; *p != '\0'; p += 2) { - if (p[1] == '\0') { - _nc_warning("acsc has odd number of characters"); - break; - } - mapped[UChar(p[0])] = p[1]; - } - if (mapped[UChar('I')] && !mapped[UChar('i')]) { - _nc_warning("acsc refers to 'I', which is probably an error"); - } - for (p = boxes, q = missing; *p != '\0'; ++p) { - if (!mapped[UChar(p[0])]) { - *q++ = p[0]; - } - *q = '\0'; - } - if (*missing != '\0' && strcmp(missing, boxes)) { - _nc_warning("acsc is missing some line-drawing mapping: %s", missing); - } - } -} - -/* - * Check if the color capabilities are consistent - */ -static void -check_colors(TERMTYPE *tp) -{ - if ((max_colors > 0) != (max_pairs > 0) - || ((max_colors > max_pairs) && (initialize_pair == 0))) - _nc_warning("inconsistent values for max_colors (%d) and max_pairs (%d)", - max_colors, max_pairs); - - PAIRED(set_foreground, set_background); - PAIRED(set_a_foreground, set_a_background); - PAIRED(set_color_pair, initialize_pair); - - if (VALID_STRING(set_foreground) - && VALID_STRING(set_a_foreground) - && !_nc_capcmp(set_foreground, set_a_foreground)) - _nc_warning("expected setf/setaf to be different"); - - if (VALID_STRING(set_background) - && VALID_STRING(set_a_background) - && !_nc_capcmp(set_background, set_a_background)) - _nc_warning("expected setb/setab to be different"); - - /* see: has_colors() */ - if (VALID_NUMERIC(max_colors) && VALID_NUMERIC(max_pairs) - && (((set_foreground != NULL) - && (set_background != NULL)) - || ((set_a_foreground != NULL) - && (set_a_background != NULL)) - || set_color_pair)) { - if (!VALID_STRING(orig_pair) && !VALID_STRING(orig_colors)) - _nc_warning("expected either op/oc string for resetting colors"); - } -} - -static int -keypad_final(const char *string) -{ - int result = '\0'; - - if (VALID_STRING(string) - && *string++ == '\033' - && *string++ == 'O' - && strlen(string) == 1) { - result = *string; - } - - return result; -} - -static int -keypad_index(const char *string) -{ - char *test; - const char *list = "PQRSwxymtuvlqrsPpn"; /* app-keypad except "Enter" */ - int ch; - int result = -1; - - if ((ch = keypad_final(string)) != '\0') { - test = strchr(list, ch); - if (test != 0) - result = (test - list); - } - return result; -} - -/* - * Do a quick sanity-check for vt100-style keypads to see if the 5-key keypad - * is mapped inconsistently. - */ -static void -check_keypad(TERMTYPE *tp) -{ - char show[80]; - - if (VALID_STRING(key_a1) && - VALID_STRING(key_a3) && - VALID_STRING(key_b2) && - VALID_STRING(key_c1) && - VALID_STRING(key_c3)) { - char final[6]; - int list[5]; - int increase = 0; - int j, k, kk; - int last; - int test; - - final[0] = keypad_final(key_a1); - final[1] = keypad_final(key_a3); - final[2] = keypad_final(key_b2); - final[3] = keypad_final(key_c1); - final[4] = keypad_final(key_c3); - final[5] = '\0'; - - /* special case: legacy coding using 1,2,3,0,. on the bottom */ - if (!strcmp(final, "qsrpn")) - return; - - list[0] = keypad_index(key_a1); - list[1] = keypad_index(key_a3); - list[2] = keypad_index(key_b2); - list[3] = keypad_index(key_c1); - list[4] = keypad_index(key_c3); - - /* check that they're all vt100 keys */ - for (j = 0; j < 5; ++j) { - if (list[j] < 0) { - return; - } - } - - /* check if they're all in increasing order */ - for (j = 1; j < 5; ++j) { - if (list[j] > list[j - 1]) { - ++increase; - } - } - if (increase != 4) { - show[0] = '\0'; - - for (j = 0, last = -1; j < 5; ++j) { - for (k = 0, kk = -1, test = 100; k < 5; ++k) { - if (list[k] > last && - list[k] < test) { - test = list[k]; - kk = k; - } - } - last = test; - switch (kk) { - case 0: - strcat(show, " ka1"); - break; - case 1: - strcat(show, " ka3"); - break; - case 2: - strcat(show, " kb2"); - break; - case 3: - strcat(show, " kc1"); - break; - case 4: - strcat(show, " kc3"); - break; - } - } - - _nc_warning("vt100 keypad order inconsistent: %s", show); - } - - } else if (VALID_STRING(key_a1) || - VALID_STRING(key_a3) || - VALID_STRING(key_b2) || - VALID_STRING(key_c1) || - VALID_STRING(key_c3)) { - show[0] = '\0'; - if (keypad_index(key_a1) >= 0) - strcat(show, " ka1"); - if (keypad_index(key_a3) >= 0) - strcat(show, " ka3"); - if (keypad_index(key_b2) >= 0) - strcat(show, " kb2"); - if (keypad_index(key_c1) >= 0) - strcat(show, " kc1"); - if (keypad_index(key_c3) >= 0) - strcat(show, " kc3"); - if (*show != '\0') - _nc_warning("vt100 keypad map incomplete:%s", show); - } -} - -/* - * Returns the expected number of parameters for the given capability. - */ -static int -expected_params(const char *name) -{ - /* *INDENT-OFF* */ - static const struct { - const char *name; - int count; - } table[] = { - { "S0", 1 }, /* 'screen' extension */ - { "birep", 2 }, - { "chr", 1 }, - { "colornm", 1 }, - { "cpi", 1 }, - { "csnm", 1 }, - { "csr", 2 }, - { "cub", 1 }, - { "cud", 1 }, - { "cuf", 1 }, - { "cup", 2 }, - { "cuu", 1 }, - { "cvr", 1 }, - { "cwin", 5 }, - { "dch", 1 }, - { "defc", 3 }, - { "dial", 1 }, - { "dispc", 1 }, - { "dl", 1 }, - { "ech", 1 }, - { "getm", 1 }, - { "hpa", 1 }, - { "ich", 1 }, - { "il", 1 }, - { "indn", 1 }, - { "initc", 4 }, - { "initp", 7 }, - { "lpi", 1 }, - { "mc5p", 1 }, - { "mrcup", 2 }, - { "mvpa", 1 }, - { "pfkey", 2 }, - { "pfloc", 2 }, - { "pfx", 2 }, - { "pfxl", 3 }, - { "pln", 2 }, - { "qdial", 1 }, - { "rcsd", 1 }, - { "rep", 2 }, - { "rin", 1 }, - { "sclk", 3 }, - { "scp", 1 }, - { "scs", 1 }, - { "scsd", 2 }, - { "setab", 1 }, - { "setaf", 1 }, - { "setb", 1 }, - { "setcolor", 1 }, - { "setf", 1 }, - { "sgr", 9 }, - { "sgr1", 6 }, - { "slength", 1 }, - { "slines", 1 }, - { "smgbp", 1 }, /* 2 if smgtp is not given */ - { "smglp", 1 }, - { "smglr", 2 }, - { "smgrp", 1 }, - { "smgtb", 2 }, - { "smgtp", 1 }, - { "tsl", 1 }, - { "u6", -1 }, - { "vpa", 1 }, - { "wind", 4 }, - { "wingo", 1 }, - }; - /* *INDENT-ON* */ - - unsigned n; - int result = 0; /* function-keys, etc., use none */ - - for (n = 0; n < SIZEOF(table); n++) { - if (!strcmp(name, table[n].name)) { - result = table[n].count; - break; - } - } - - return result; -} - -/* - * Make a quick sanity check for the parameters which are used in the given - * strings. If there are no "%p" tokens, then there should be no other "%" - * markers. - */ -static void -check_params(TERMTYPE *tp, const char *name, char *value) -{ - int expected = expected_params(name); - int actual = 0; - int n; - bool params[10]; - char *s = value; - -#ifdef set_top_margin_parm - if (!strcmp(name, "smgbp") - && set_top_margin_parm == 0) - expected = 2; -#endif - - for (n = 0; n < 10; n++) - params[n] = FALSE; - - while (*s != 0) { - if (*s == '%') { - if (*++s == '\0') { - _nc_warning("expected character after %% in %s", name); - break; - } else if (*s == 'p') { - if (*++s == '\0' || !isdigit((int) *s)) { - _nc_warning("expected digit after %%p in %s", name); - return; - } else { - n = (*s - '0'); - if (n > actual) - actual = n; - params[n] = TRUE; - } - } - } - s++; - } - - if (params[0]) { - _nc_warning("%s refers to parameter 0 (%%p0), which is not allowed", name); - } - if (value == set_attributes || expected < 0) { - ; - } else if (expected != actual) { - _nc_warning("%s uses %d parameters, expected %d", name, - actual, expected); - for (n = 1; n < actual; n++) { - if (!params[n]) - _nc_warning("%s omits parameter %d", name, n); - } - } -} - -static char * -skip_delay(char *s) -{ - while (*s == '/' || isdigit(UChar(*s))) - ++s; - return s; -} - -/* - * Skip a delay altogether, e.g., when comparing a simple string to sgr, - * the latter may have a worst-case delay on the end. - */ -static char * -ignore_delays(char *s) -{ - int delaying = 0; - - do { - switch (*s) { - case '$': - if (delaying == 0) - delaying = 1; - break; - case '<': - if (delaying == 1) - delaying = 2; - break; - case '\0': - delaying = 0; - break; - default: - if (delaying) { - s = skip_delay(s); - if (*s == '>') - ++s; - delaying = 0; - } - break; - } - if (delaying) - ++s; - } while (delaying); - return s; -} - -/* - * An sgr string may contain several settings other than the one we're - * interested in, essentially sgr0 + rmacs + whatever. As long as the - * "whatever" is contained in the sgr string, that is close enough for our - * sanity check. - */ -static bool -similar_sgr(int num, char *a, char *b) -{ - static const char *names[] = - { - "none" - ,"standout" - ,"underline" - ,"reverse" - ,"blink" - ,"dim" - ,"bold" - ,"invis" - ,"protect" - ,"altcharset" - }; - char *base_a = a; - char *base_b = b; - int delaying = 0; - - while (*b != 0) { - while (*a != *b) { - if (*a == 0) { - if (b[0] == '$' - && b[1] == '<') { - _nc_warning("Did not find delay %s", _nc_visbuf(b)); - } else { - _nc_warning("checking sgr(%s) %s\n\tcompare to %s\n\tunmatched %s", - names[num], _nc_visbuf2(1, base_a), - _nc_visbuf2(2, base_b), - _nc_visbuf2(3, b)); - } - return FALSE; - } else if (delaying) { - a = skip_delay(a); - b = skip_delay(b); - } else { - a++; - } - } - switch (*a) { - case '$': - if (delaying == 0) - delaying = 1; - break; - case '<': - if (delaying == 1) - delaying = 2; - break; - default: - delaying = 0; - break; - } - a++; - b++; - } - /* ignore delays on the end of the string */ - a = ignore_delays(a); - return ((num != 0) || (*a == 0)); -} - -static char * -check_sgr(TERMTYPE *tp, char *zero, int num, char *cap, const char *name) -{ - char *test; - - _nc_tparm_err = 0; - test = tparm(set_attributes, - num == 1, - num == 2, - num == 3, - num == 4, - num == 5, - num == 6, - num == 7, - num == 8, - num == 9); - if (test != 0) { - if (PRESENT(cap)) { - if (!similar_sgr(num, test, cap)) { - _nc_warning("%s differs from sgr(%d)\n\t%s=%s\n\tsgr(%d)=%s", - name, num, - name, _nc_visbuf2(1, cap), - num, _nc_visbuf2(2, test)); - } - } else if (_nc_capcmp(test, zero)) { - _nc_warning("sgr(%d) present, but not %s", num, name); - } - } else if (PRESENT(cap)) { - _nc_warning("sgr(%d) missing, but %s present", num, name); - } - if (_nc_tparm_err) - _nc_warning("stack error in sgr(%d) string", num); - return test; -} - -#define CHECK_SGR(num,name) check_sgr(tp, zero, num, name, #name) - -#ifdef TRACE -/* - * If tic is compiled with TRACE, we'll be able to see the output from the - * DEBUG() macro. But since it doesn't use traceon(), it always goes to - * the standard error. Use this function to make it simpler to follow the - * resulting debug traces. - */ -static void -show_where(unsigned level) -{ - if (_nc_tracing >= level) { - char my_name[256]; - _nc_get_type(my_name); - fprintf(stderr, "\"%s\", line %d, '%s' ", - _nc_get_source(), - _nc_curr_line, my_name); - } -} - -#else -#define show_where(level) /* nothing */ -#endif - -/* other sanity-checks (things that we don't want in the normal - * logic that reads a terminfo entry) - */ -static void -check_termtype(TERMTYPE *tp, bool literal) -{ - bool conflict = FALSE; - unsigned j, k; - char fkeys[STRCOUNT]; - - /* - * A terminal entry may contain more than one keycode assigned to - * a given string (e.g., KEY_END and KEY_LL). But curses will only - * return one (the last one assigned). - */ - if (!(_nc_syntax == SYN_TERMCAP && capdump)) { - memset(fkeys, 0, sizeof(fkeys)); - for (j = 0; _nc_tinfo_fkeys[j].code; j++) { - char *a = tp->Strings[_nc_tinfo_fkeys[j].offset]; - bool first = TRUE; - if (!VALID_STRING(a)) - continue; - for (k = j + 1; _nc_tinfo_fkeys[k].code; k++) { - char *b = tp->Strings[_nc_tinfo_fkeys[k].offset]; - if (!VALID_STRING(b) - || fkeys[k]) - continue; - if (!_nc_capcmp(a, b)) { - fkeys[j] = 1; - fkeys[k] = 1; - if (first) { - if (!conflict) { - _nc_warning("Conflicting key definitions (using the last)"); - conflict = TRUE; - } - fprintf(stderr, "... %s is the same as %s", - keyname((int) _nc_tinfo_fkeys[j].code), - keyname((int) _nc_tinfo_fkeys[k].code)); - first = FALSE; - } else { - fprintf(stderr, ", %s", - keyname((int) _nc_tinfo_fkeys[k].code)); - } - } - } - if (!first) - fprintf(stderr, "\n"); - } - } - - for (j = 0; j < NUM_STRINGS(tp); j++) { - char *a = tp->Strings[j]; - if (VALID_STRING(a)) - check_params(tp, ExtStrname(tp, j, strnames), a); - } - - check_acs(tp); - check_colors(tp); - check_keypad(tp); - - /* - * These may be mismatched because the terminal description relies on - * restoring the cursor visibility by resetting it. - */ - ANDMISSING(cursor_invisible, cursor_normal); - ANDMISSING(cursor_visible, cursor_normal); - - if (PRESENT(cursor_visible) && PRESENT(cursor_normal) - && !_nc_capcmp(cursor_visible, cursor_normal)) - _nc_warning("cursor_visible is same as cursor_normal"); - - /* - * From XSI & O'Reilly, we gather that sc/rc are required if csr is - * given, because the cursor position after the scrolling operation is - * performed is undefined. - */ - ANDMISSING(change_scroll_region, save_cursor); - ANDMISSING(change_scroll_region, restore_cursor); - - if (PRESENT(set_attributes)) { - char *zero = 0; - - _nc_tparm_err = 0; - if (PRESENT(exit_attribute_mode)) { - zero = strdup(CHECK_SGR(0, exit_attribute_mode)); - } else { - zero = strdup(tparm(set_attributes, 0, 0, 0, 0, 0, 0, 0, 0, 0)); - } - if (_nc_tparm_err) - _nc_warning("stack error in sgr(0) string"); - - if (zero != 0) { - CHECK_SGR(1, enter_standout_mode); - CHECK_SGR(2, enter_underline_mode); - CHECK_SGR(3, enter_reverse_mode); - CHECK_SGR(4, enter_blink_mode); - CHECK_SGR(5, enter_dim_mode); - CHECK_SGR(6, enter_bold_mode); - CHECK_SGR(7, enter_secure_mode); - CHECK_SGR(8, enter_protected_mode); - CHECK_SGR(9, enter_alt_charset_mode); - free(zero); - } else { - _nc_warning("sgr(0) did not return a value"); - } - } else if (PRESENT(exit_attribute_mode) && - set_attributes != CANCELLED_STRING) { - if (_nc_syntax == SYN_TERMINFO) - _nc_warning("missing sgr string"); - } - - if (PRESENT(exit_attribute_mode)) { - char *check_sgr0 = _nc_trim_sgr0(tp); - - if (check_sgr0 == 0 || *check_sgr0 == '\0') { - _nc_warning("trimmed sgr0 is empty"); - } else { - show_where(2); - if (check_sgr0 != exit_attribute_mode) { - DEBUG(2, - ("will trim sgr0\n\toriginal sgr0=%s\n\ttrimmed sgr0=%s", - _nc_visbuf2(1, exit_attribute_mode), - _nc_visbuf2(2, check_sgr0))); - free(check_sgr0); - } else { - DEBUG(2, - ("will not trim sgr0\n\toriginal sgr0=%s", - _nc_visbuf(exit_attribute_mode))); - } - } - } -#ifdef TRACE - show_where(2); - if (!auto_right_margin) { - DEBUG(2, - ("can write to lower-right directly")); - } else if (PRESENT(enter_am_mode) && PRESENT(exit_am_mode)) { - DEBUG(2, - ("can write to lower-right by suppressing automargin")); - } else if ((PRESENT(enter_insert_mode) && PRESENT(exit_insert_mode)) - || PRESENT(insert_character) || PRESENT(parm_ich)) { - DEBUG(2, - ("can write to lower-right by using inserts")); - } else { - DEBUG(2, - ("cannot write to lower-right")); - } -#endif - - /* - * Some standard applications (e.g., vi) and some non-curses - * applications (e.g., jove) get confused if we have both ich1 and - * smir/rmir. Let's be nice and warn about that, too, even though - * ncurses handles it. - */ - if ((PRESENT(enter_insert_mode) || PRESENT(exit_insert_mode)) - && PRESENT(parm_ich)) { - _nc_warning("non-curses applications may be confused by ich1 with smir/rmir"); - } - - /* - * Finally, do the non-verbose checks - */ - if (save_check_termtype != 0) - save_check_termtype(tp, literal); -} diff --git a/src/libs/ncurses/progs/toe.c b/src/libs/ncurses/progs/toe.c deleted file mode 100644 index 91777db724..0000000000 --- a/src/libs/ncurses/progs/toe.c +++ /dev/null @@ -1,308 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * toe.c --- table of entries report generator - * - */ - -#include - -#include - -#include - -MODULE_ID("$Id: toe.c,v 1.29 2005/09/25 00:39:43 tom Exp $") - -#define isDotname(name) (!strcmp(name, ".") || !strcmp(name, "..")) - -const char *_nc_progname; - -static int typelist(int eargc, char *eargv[], bool, - void (*)(const char *, TERMTYPE *)); -static void deschook(const char *, TERMTYPE *); - -#if NO_LEAKS -#undef ExitProgram -static void -ExitProgram(int code) GCC_NORETURN; - static void ExitProgram(int code) -{ - _nc_free_entries(_nc_head); - _nc_leaks_dump_entry(); - _nc_free_and_exit(code); -} -#endif - -static bool -is_a_file(char *path) -{ - struct stat sb; - return (stat(path, &sb) == 0 - && (sb.st_mode & S_IFMT) == S_IFREG); -} - -static bool -is_a_directory(char *path) -{ - struct stat sb; - return (stat(path, &sb) == 0 - && (sb.st_mode & S_IFMT) == S_IFDIR); -} - -static char * -get_directory(char *path) -{ - if (path != 0) { - if (!is_a_directory(path) - || access(path, R_OK | X_OK) != 0) - path = 0; - } - return path; -} - -int -main(int argc, char *argv[]) -{ - bool direct_dependencies = FALSE; - bool invert_dependencies = FALSE; - bool header = FALSE; - int i, c; - int code; - - _nc_progname = _nc_rootname(argv[0]); - - while ((c = getopt(argc, argv, "huv:UV")) != EOF) - switch (c) { - case 'h': - header = TRUE; - break; - case 'u': - direct_dependencies = TRUE; - break; - case 'v': - set_trace_level(atoi(optarg)); - break; - case 'U': - invert_dependencies = TRUE; - break; - case 'V': - puts(curses_version()); - ExitProgram(EXIT_SUCCESS); - default: - (void) fprintf(stderr, "usage: toe [-huUV] [-v n] [file...]\n"); - ExitProgram(EXIT_FAILURE); - } - - if (direct_dependencies || invert_dependencies) { - if (freopen(argv[optind], "r", stdin) == 0) { - (void) fflush(stdout); - fprintf(stderr, "%s: can't open %s\n", _nc_progname, argv[optind]); - ExitProgram(EXIT_FAILURE); - } - - /* parse entries out of the source file */ - _nc_set_source(argv[optind]); - _nc_read_entry_source(stdin, 0, FALSE, FALSE, NULLHOOK); - } - - /* maybe we want a direct-dependency listing? */ - if (direct_dependencies) { - ENTRY *qp; - - for_entry_list(qp) { - if (qp->nuses) { - int j; - - (void) printf("%s:", _nc_first_name(qp->tterm.term_names)); - for (j = 0; j < qp->nuses; j++) - (void) printf(" %s", qp->uses[j].name); - putchar('\n'); - } - } - - ExitProgram(EXIT_SUCCESS); - } - - /* maybe we want a reverse-dependency listing? */ - if (invert_dependencies) { - ENTRY *qp, *rp; - int matchcount; - - for_entry_list(qp) { - matchcount = 0; - for_entry_list(rp) { - if (rp->nuses == 0) - continue; - - for (i = 0; i < rp->nuses; i++) - if (_nc_name_match(qp->tterm.term_names, - rp->uses[i].name, "|")) { - if (matchcount++ == 0) - (void) printf("%s:", - _nc_first_name(qp->tterm.term_names)); - (void) printf(" %s", - _nc_first_name(rp->tterm.term_names)); - } - } - if (matchcount) - putchar('\n'); - } - - ExitProgram(EXIT_SUCCESS); - } - - /* - * If we get this far, user wants a simple terminal type listing. - */ - if (optind < argc) { - code = typelist(argc - optind, argv + optind, header, deschook); - } else { - char *home, *eargv[3]; - char personal[PATH_MAX]; - int j; - - j = 0; - if ((eargv[j] = get_directory(getenv("TERMINFO"))) != 0) { - j++; - } else { - if ((home = getenv("HOME")) != 0) { - (void) sprintf(personal, PRIVATE_INFO, home); - if ((eargv[j] = get_directory(personal)) != 0) - j++; - } - if ((eargv[j] = get_directory(strcpy(personal, TERMINFO))) != 0) - j++; - } - eargv[j] = 0; - - code = typelist(j, eargv, header, deschook); - } - - ExitProgram(code); -} - -static void -deschook(const char *cn, TERMTYPE * tp) -/* display a description for the type */ -{ - const char *desc; - - if ((desc = strrchr(tp->term_names, '|')) == 0) - desc = "(No description)"; - else - ++desc; - - (void) printf("%-10s\t%s\n", cn, desc); -} - -static int -typelist(int eargc, char *eargv[], - bool verbosity, - void (*hook) (const char *, TERMTYPE * tp)) -/* apply a function to each entry in given terminfo directories */ -{ - int i; - - for (i = 0; i < eargc; i++) { - DIR *termdir; - DIRENT *subdir; - - if ((termdir = opendir(eargv[i])) == 0) { - (void) fflush(stdout); - (void) fprintf(stderr, - "%s: can't open terminfo directory %s\n", - _nc_progname, eargv[i]); - return (EXIT_FAILURE); - } else if (verbosity) - (void) printf("#\n#%s:\n#\n", eargv[i]); - - while ((subdir = readdir(termdir)) != 0) { - size_t len = NAMLEN(subdir); - char buf[PATH_MAX]; - char name_1[PATH_MAX]; - DIR *entrydir; - DIRENT *entry; - - strncpy(name_1, subdir->d_name, len)[len] = '\0'; - if (isDotname(name_1)) - continue; - - (void) sprintf(buf, "%s/%s/", eargv[i], name_1); - if (chdir(buf) != 0) - continue; - - entrydir = opendir("."); - while ((entry = readdir(entrydir)) != 0) { - char name_2[PATH_MAX]; - TERMTYPE lterm; - char *cn; - int status; - - len = NAMLEN(entry); - strncpy(name_2, entry->d_name, len)[len] = '\0'; - if (isDotname(name_2) || !is_a_file(name_2)) - continue; - - status = _nc_read_file_entry(name_2, <erm); - if (status <= 0) { - (void) fflush(stdout); - (void) fprintf(stderr, - "toe: couldn't open terminfo file %s.\n", - name_2); - return (EXIT_FAILURE); - } - - /* only visit things once, by primary name */ - cn = _nc_first_name(lterm.term_names); - if (!strcmp(cn, name_2)) { - /* apply the selected hook function */ - (*hook) (cn, <erm); - } - if (lterm.term_names) { - free(lterm.term_names); - lterm.term_names = 0; - } - if (lterm.str_table) { - free(lterm.str_table); - lterm.str_table = 0; - } - } - closedir(entrydir); - } - closedir(termdir); - } - - return (EXIT_SUCCESS); -} diff --git a/src/libs/ncurses/progs/tput.c b/src/libs/ncurses/progs/tput.c deleted file mode 100644 index 18b2d165da..0000000000 --- a/src/libs/ncurses/progs/tput.c +++ /dev/null @@ -1,436 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - ****************************************************************************/ - -/* - * tput.c -- shellscript access to terminal capabilities - * - * by Eric S. Raymond , portions based on code from - * Ross Ridge's mytinfo package. - */ - -#include - -#if !PURE_TERMINFO -#include -#endif -#include - -MODULE_ID("$Id: tput.c,v 1.35 2005/04/03 14:25:32 tom Exp $") - -#define PUTS(s) fputs(s, stdout) -#define PUTCHAR(c) putchar(c) -#define FLUSH fflush(stdout) - -typedef enum { - Numbers = 0 - ,Num_Str - ,Num_Str_Str -} TParams; - -static char *prg_name; -static bool is_init = FALSE; -static bool is_reset = FALSE; - -static void -quit(int status, const char *fmt,...) -{ - va_list argp; - - va_start(argp, fmt); - fprintf(stderr, "%s: ", prg_name); - vfprintf(stderr, fmt, argp); - fprintf(stderr, "\n"); - va_end(argp); - ExitProgram(status); -} - -static void -usage(void) -{ - fprintf(stderr, "usage: %s [-V] [-S] [-T term] capname\n", prg_name); - ExitProgram(EXIT_FAILURE); -} - -static void -check_aliases(const char *name) -{ - is_init = (strcmp(name, PROG_INIT) == 0); - is_reset = (strcmp(name, PROG_RESET) == 0); -} - -/* - * Lookup the type of call we should make to tparm(). This ignores the actual - * terminfo capability (bad, because it is not extensible), but makes this - * code portable to platforms where sizeof(int) != sizeof(char *). - * - * FIXME: If we want extensibility, analyze the capability string as we do - * in tparm() to decide how to parse the varargs list. - */ -static TParams -tparm_type(const char *name) -{ -#define TD(code, longname, ti, tc) {code,longname},{code,ti},{code,tc} - TParams result = Numbers; - /* *INDENT-OFF* */ - static const struct { - TParams code; - const char *name; - } table[] = { - TD(Num_Str, "pkey_key", "pfkey", "pk"), - TD(Num_Str, "pkey_local", "pfloc", "pl"), - TD(Num_Str, "pkey_xmit", "pfx", "px"), - TD(Num_Str, "plab_norm", "pln", "pn"), - TD(Num_Str_Str, "pkey_plab", "pfxl", "xl"), - }; - /* *INDENT-ON* */ - - unsigned n; - for (n = 0; n < SIZEOF(table); n++) { - if (!strcmp(name, table[n].name)) { - result = table[n].code; - break; - } - } - return result; -} - -static int -exit_code(int token, int value) -{ - int result = 99; - - switch (token) { - case BOOLEAN: - result = !value; /* TRUE=0, FALSE=1 */ - break; - case NUMBER: - result = 0; /* always zero */ - break; - case STRING: - result = value; /* 0=normal, 1=missing */ - break; - } - return result; -} - -static int -tput(int argc, char *argv[]) -{ - NCURSES_CONST char *name; - char *s; - int i, j, c; - int status; - FILE *f; - - if ((name = argv[0]) == 0) - name = ""; - check_aliases(name); - if (is_reset || is_init) { - if (init_prog != 0) { - system(init_prog); - } - FLUSH; - - if (is_reset && reset_1string != 0) { - PUTS(reset_1string); - } else if (init_1string != 0) { - PUTS(init_1string); - } - FLUSH; - - if (is_reset && reset_2string != 0) { - PUTS(reset_2string); - } else if (init_2string != 0) { - PUTS(init_2string); - } - FLUSH; - -#ifdef set_lr_margin - if (set_lr_margin != 0) { - PUTS(tparm(set_lr_margin, 0, columns - 1)); - } else -#endif -#ifdef set_left_margin_parm - if (set_left_margin_parm != 0 - && set_right_margin_parm != 0) { - PUTS(tparm(set_left_margin_parm, 0)); - PUTS(tparm(set_right_margin_parm, columns - 1)); - } else -#endif - if (clear_margins != 0 - && set_left_margin != 0 - && set_right_margin != 0) { - PUTS(clear_margins); - if (carriage_return != 0) { - PUTS(carriage_return); - } else { - PUTCHAR('\r'); - } - PUTS(set_left_margin); - if (parm_right_cursor) { - PUTS(tparm(parm_right_cursor, columns - 1)); - } else { - for (i = 0; i < columns - 1; i++) { - PUTCHAR(' '); - } - } - PUTS(set_right_margin); - if (carriage_return != 0) { - PUTS(carriage_return); - } else { - PUTCHAR('\r'); - } - } - FLUSH; - - if (init_tabs != 8) { - if (clear_all_tabs != 0 && set_tab != 0) { - for (i = 0; i < columns - 1; i += 8) { - if (parm_right_cursor) { - PUTS(tparm(parm_right_cursor, 8)); - } else { - for (j = 0; j < 8; j++) - PUTCHAR(' '); - } - PUTS(set_tab); - } - FLUSH; - } - } - - if (is_reset && reset_file != 0) { - f = fopen(reset_file, "r"); - if (f == 0) { - quit(4 + errno, "Can't open reset_file: '%s'", reset_file); - } - while ((c = fgetc(f)) != EOF) { - PUTCHAR(c); - } - fclose(f); - } else if (init_file != 0) { - f = fopen(init_file, "r"); - if (f == 0) { - quit(4 + errno, "Can't open init_file: '%s'", init_file); - } - while ((c = fgetc(f)) != EOF) { - PUTCHAR(c); - } - fclose(f); - } - FLUSH; - - if (is_reset && reset_3string != 0) { - PUTS(reset_3string); - } else if (init_2string != 0) { - PUTS(init_2string); - } - FLUSH; - return 0; - } - - if (strcmp(name, "longname") == 0) { - PUTS(longname()); - return 0; - } -#if !PURE_TERMINFO - { - const struct name_table_entry *np; - - if ((np = _nc_find_entry(name, _nc_get_hash_table(1))) != 0) - switch (np->nte_type) { - case BOOLEAN: - if (bool_from_termcap[np->nte_index]) - name = boolnames[np->nte_index]; - break; - - case NUMBER: - if (num_from_termcap[np->nte_index]) - name = numnames[np->nte_index]; - break; - - case STRING: - if (str_from_termcap[np->nte_index]) - name = strnames[np->nte_index]; - break; - } - } -#endif - - if ((status = tigetflag(name)) != -1) { - return exit_code(BOOLEAN, status); - } else if ((status = tigetnum(name)) != CANCELLED_NUMERIC) { - (void) printf("%d\n", status); - return exit_code(NUMBER, 0); - } else if ((s = tigetstr(name)) == CANCELLED_STRING) { - quit(4, "unknown terminfo capability '%s'", name); - } else if (s != ABSENT_STRING) { - if (argc > 1) { - int k; - int popcount; - long numbers[1 + NUM_PARM]; - char *strings[1 + NUM_PARM]; - char *p_is_s[NUM_PARM]; - - /* Nasty hack time. The tparm function needs to see numeric - * parameters as numbers, not as pointers to their string - * representations - */ - - for (k = 1; k < argc; k++) { - char *tmp = 0; - strings[k] = argv[k]; - numbers[k] = strtol(argv[k], &tmp, 0); - if (tmp == 0 || *tmp != 0) - numbers[k] = 0; - } - for (k = argc; k <= NUM_PARM; k++) { - numbers[k] = 0; - strings[k] = 0; - } - - switch (tparm_type(name)) { - case Num_Str: - s = tparm(s, numbers[1], strings[2]); - break; - case Num_Str_Str: - s = tparm(s, numbers[1], strings[2], strings[3]); - break; - default: - (void) _nc_tparm_analyze(s, p_is_s, &popcount); -#define myParam(n) (p_is_s[n - 1] != 0 ? ((long) strings[n]) : numbers[n]) - s = tparm(s, - myParam(1), - myParam(2), - myParam(3), - myParam(4), - myParam(5), - myParam(6), - myParam(7), - myParam(8), - myParam(9)); - break; - } - } - - /* use putp() in order to perform padding */ - putp(s); - return exit_code(STRING, 0); - } - return exit_code(STRING, 1); -} - -int -main(int argc, char **argv) -{ - char *term; - int errret; - bool cmdline = TRUE; - int c; - char buf[BUFSIZ]; - int result = 0; - - check_aliases(prg_name = _nc_rootname(argv[0])); - - term = getenv("TERM"); - - while ((c = getopt(argc, argv, "ST:V")) != EOF) { - switch (c) { - case 'S': - cmdline = FALSE; - break; - case 'T': - use_env(FALSE); - term = optarg; - break; - case 'V': - puts(curses_version()); - return EXIT_SUCCESS; - default: - usage(); - /* NOTREACHED */ - } - } - - /* - * Modify the argument list to omit the options we processed. - */ - if (is_reset || is_init) { - if (optind-- < argc) { - argc -= optind; - argv += optind; - } - argv[0] = prg_name; - } else { - argc -= optind; - argv += optind; - } - - if (term == 0 || *term == '\0') - quit(2, "No value for $TERM and no -T specified"); - - if (setupterm(term, STDOUT_FILENO, &errret) != OK && errret <= 0) - quit(3, "unknown terminal \"%s\"", term); - - if (cmdline) { - if ((argc <= 0) && !is_reset && !is_init) - usage(); - return tput(argc, argv); - } - - while (fgets(buf, sizeof(buf), stdin) != 0) { - char *argvec[16]; /* command, 9 parms, null, & slop */ - int argnum = 0; - char *cp; - - /* crack the argument list into a dope vector */ - for (cp = buf; *cp; cp++) { - if (isspace(UChar(*cp))) { - *cp = '\0'; - } else if (cp == buf || cp[-1] == 0) { - argvec[argnum++] = cp; - if (argnum >= (int) SIZEOF(argvec) - 1) - break; - } - } - argvec[argnum] = 0; - - if (argnum != 0 - && tput(argnum, argvec) != 0) { - if (result == 0) - result = 4; /* will return value >4 */ - ++result; - } - } - - return result; -} diff --git a/src/libs/ncurses/progs/transform.h b/src/libs/ncurses/progs/transform.h deleted file mode 100644 index a2e7e43171..0000000000 --- a/src/libs/ncurses/progs/transform.h +++ /dev/null @@ -1,4 +0,0 @@ -#define PROG_CAPTOINFO "captoinfo" -#define PROG_INFOTOCAP "infotocap" -#define PROG_RESET "reset" -#define PROG_INIT "init" diff --git a/src/libs/ncurses/progs/tset.c b/src/libs/ncurses/progs/tset.c deleted file mode 100644 index 41a35fcdbd..0000000000 --- a/src/libs/ncurses/progs/tset.c +++ /dev/null @@ -1,1277 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Zeyd M. Ben-Halim 1992,1995 * - * and: Eric S. Raymond * - * and: Thomas E. Dickey 1996-on * - ****************************************************************************/ - -/* - * tset.c - terminal initialization utility - * - * This code was mostly swiped from 4.4BSD tset, with some obsolescent - * cruft removed and substantial portions rewritten. A Regents of the - * University of California copyright applies to some portions of the - * code, and is reproduced below: - */ -/*- - * Copyright (c) 1980, 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#define __INTERNAL_CAPS_VISIBLE /* we need to see has_hardware_tabs */ -#include - -#include -#include -#include -#include - -#if HAVE_GETTTYNAM && HAVE_TTYENT_H -#include -#endif -#ifdef NeXT -char *ttyname(int fd); -#endif - -/* this is just to stifle a missing-prototype warning */ -#ifdef linux -# include -#endif - -#if NEED_PTEM_H -/* they neglected to define struct winsize in termios.h -- it's only - in termio.h */ -#include -#include -#endif - -#include -#include - -MODULE_ID("$Id: tset.c,v 1.60 2005/09/25 00:43:52 tom Exp $") - -extern char **environ; - -#undef CTRL -#define CTRL(x) ((x) & 0x1f) - -const char *_nc_progname = "tset"; - -static TTY mode, oldmode, original; - -static bool opt_c; /* set control-chars */ -static bool opt_w; /* set window-size */ - -static bool can_restore = FALSE; -static bool isreset = FALSE; /* invoked as reset */ -static int terasechar = -1; /* new erase character */ -static int intrchar = -1; /* new interrupt character */ -static int tkillchar = -1; /* new kill character */ -static int tlines, tcolumns; /* window size */ - -#define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c)) - -static int -CaselessCmp(const char *a, const char *b) -{ /* strcasecmp isn't portable */ - while (*a && *b) { - int cmp = LOWERCASE(*a) - LOWERCASE(*b); - if (cmp != 0) - break; - a++, b++; - } - return LOWERCASE(*a) - LOWERCASE(*b); -} - -static void -exit_error(void) -{ - if (can_restore) - SET_TTY(STDERR_FILENO, &original); - (void) fprintf(stderr, "\n"); - fflush(stderr); - ExitProgram(EXIT_FAILURE); - /* NOTREACHED */ -} - -static void -err(const char *fmt,...) -{ - va_list ap; - va_start(ap, fmt); - (void) fprintf(stderr, "%s: ", _nc_progname); - (void) vfprintf(stderr, fmt, ap); - va_end(ap); - exit_error(); - /* NOTREACHED */ -} - -static void -failed(const char *msg) -{ - char temp[BUFSIZ]; - unsigned len = strlen(_nc_progname) + 2; - - if (len < sizeof(temp) - 12) { - strcpy(temp, _nc_progname); - strcat(temp, ": "); - } else { - strcpy(temp, "tset: "); - } - perror(strncat(temp, msg, sizeof(temp) - strlen(temp) - 2)); - exit_error(); - /* NOTREACHED */ -} - -static void -cat(char *file) -{ - FILE *fp; - size_t nr; - char buf[BUFSIZ]; - - if ((fp = fopen(file, "r")) == 0) - failed(file); - - while ((nr = fread(buf, sizeof(char), sizeof(buf), fp)) != 0) - if (fwrite(buf, sizeof(char), nr, stderr) != nr) - failed("write to stderr"); - fclose(fp); -} - -static int -outc(int c) -{ - return putc(c, stderr); -} - -/* Prompt the user for a terminal type. */ -static const char * -askuser(const char *dflt) -{ - static char answer[256]; - char *p; - - /* We can get recalled; if so, don't continue uselessly. */ - clearerr(stdin); - if (feof(stdin) || ferror(stdin)) { - (void) fprintf(stderr, "\n"); - exit_error(); - /* NOTREACHED */ - } - for (;;) { - if (dflt) - (void) fprintf(stderr, "Terminal type? [%s] ", dflt); - else - (void) fprintf(stderr, "Terminal type? "); - (void) fflush(stderr); - - if (fgets(answer, sizeof(answer), stdin) == 0) { - if (dflt == 0) { - exit_error(); - /* NOTREACHED */ - } - return (dflt); - } - - if ((p = strchr(answer, '\n')) != 0) - *p = '\0'; - if (answer[0]) - return (answer); - if (dflt != 0) - return (dflt); - } -} - -/************************************************************************** - * - * Mapping logic begins here - * - **************************************************************************/ - -/* Baud rate conditionals for mapping. */ -#define GT 0x01 -#define EQ 0x02 -#define LT 0x04 -#define NOT 0x08 -#define GE (GT | EQ) -#define LE (LT | EQ) - -typedef struct map { - struct map *next; /* Linked list of maps. */ - const char *porttype; /* Port type, or "" for any. */ - const char *type; /* Terminal type to select. */ - int conditional; /* Baud rate conditionals bitmask. */ - int speed; /* Baud rate to compare against. */ -} MAP; - -static MAP *cur, *maplist; - -typedef struct speeds { - const char *string; - int speed; -} SPEEDS; - -static const SPEEDS speeds[] = -{ - {"0", B0}, - {"50", B50}, - {"75", B75}, - {"110", B110}, - {"134", B134}, - {"134.5", B134}, - {"150", B150}, - {"200", B200}, - {"300", B300}, - {"600", B600}, - {"1200", B1200}, - {"1800", B1800}, - {"2400", B2400}, - {"4800", B4800}, - {"9600", B9600}, - /* sgttyb may define up to this point */ -#ifdef B19200 - {"19200", B19200}, -#endif -#ifdef B38400 - {"38400", B38400}, -#endif -#ifdef B19200 - {"19200", B19200}, -#endif -#ifdef B38400 - {"38400", B38400}, -#endif -#ifdef B19200 - {"19200", B19200}, -#else -#ifdef EXTA - {"19200", EXTA}, -#endif -#endif -#ifdef B38400 - {"38400", B38400}, -#else -#ifdef EXTB - {"38400", EXTB}, -#endif -#endif -#ifdef B57600 - {"57600", B57600}, -#endif -#ifdef B115200 - {"115200", B115200}, -#endif -#ifdef B230400 - {"230400", B230400}, -#endif -#ifdef B460800 - {"460800", B460800}, -#endif - {(char *) 0, 0} -}; - -static int -tbaudrate(char *rate) -{ - const SPEEDS *sp; - int found = FALSE; - - /* The baudrate number can be preceded by a 'B', which is ignored. */ - if (*rate == 'B') - ++rate; - - for (sp = speeds; sp->string; ++sp) { - if (!CaselessCmp(rate, sp->string)) { - found = TRUE; - break; - } - } - if (!found) - err("unknown baud rate %s", rate); - return (sp->speed); -} - -/* - * Syntax for -m: - * [port-type][test baudrate]:terminal-type - * The baud rate tests are: >, <, @, =, ! - */ -static void -add_mapping(const char *port, char *arg) -{ - MAP *mapp; - char *copy, *p; - const char *termp; - char *base = 0; - - copy = strdup(arg); - mapp = (MAP *) malloc(sizeof(MAP)); - if (copy == 0 || mapp == 0) - failed("malloc"); - mapp->next = 0; - if (maplist == 0) - cur = maplist = mapp; - else { - cur->next = mapp; - cur = mapp; - } - - mapp->porttype = arg; - mapp->conditional = 0; - - arg = strpbrk(arg, "><@=!:"); - - if (arg == 0) { /* [?]term */ - mapp->type = mapp->porttype; - mapp->porttype = 0; - goto done; - } - - if (arg == mapp->porttype) /* [><@=! baud]:term */ - termp = mapp->porttype = 0; - else - termp = base = arg; - - for (;; ++arg) { /* Optional conditionals. */ - switch (*arg) { - case '<': - if (mapp->conditional & GT) - goto badmopt; - mapp->conditional |= LT; - break; - case '>': - if (mapp->conditional & LT) - goto badmopt; - mapp->conditional |= GT; - break; - case '@': - case '=': /* Not documented. */ - mapp->conditional |= EQ; - break; - case '!': - mapp->conditional |= NOT; - break; - default: - goto next; - } - } - - next: - if (*arg == ':') { - if (mapp->conditional) - goto badmopt; - ++arg; - } else { /* Optional baudrate. */ - arg = strchr(p = arg, ':'); - if (arg == 0) - goto badmopt; - *arg++ = '\0'; - mapp->speed = tbaudrate(p); - } - - if (arg == (char *) 0) /* Non-optional type. */ - goto badmopt; - - mapp->type = arg; - - /* Terminate porttype, if specified. */ - if (termp != 0) - *base = '\0'; - - /* If a NOT conditional, reverse the test. */ - if (mapp->conditional & NOT) - mapp->conditional = ~mapp->conditional & (EQ | GT | LT); - - /* If user specified a port with an option flag, set it. */ - done:if (port) { - if (mapp->porttype) - badmopt:err("illegal -m option format: %s", copy); - mapp->porttype = port; - } -#ifdef MAPDEBUG - (void) printf("port: %s\n", mapp->porttype ? mapp->porttype : "ANY"); - (void) printf("type: %s\n", mapp->type); - (void) printf("conditional: "); - p = ""; - if (mapp->conditional & GT) { - (void) printf("GT"); - p = "/"; - } - if (mapp->conditional & EQ) { - (void) printf("%sEQ", p); - p = "/"; - } - if (mapp->conditional & LT) - (void) printf("%sLT", p); - (void) printf("\nspeed: %d\n", mapp->speed); -#endif -} - -/* - * Return the type of terminal to use for a port of type 'type', as specified - * by the first applicable mapping in 'map'. If no mappings apply, return - * 'type'. - */ -static const char * -mapped(const char *type) -{ - MAP *mapp; - int match; - - for (mapp = maplist; mapp; mapp = mapp->next) - if (mapp->porttype == 0 || !strcmp(mapp->porttype, type)) { - switch (mapp->conditional) { - case 0: /* No test specified. */ - match = TRUE; - break; - case EQ: - match = (ospeed == mapp->speed); - break; - case GE: - match = (ospeed >= mapp->speed); - break; - case GT: - match = (ospeed > mapp->speed); - break; - case LE: - match = (ospeed <= mapp->speed); - break; - case LT: - match = (ospeed < mapp->speed); - break; - default: - match = FALSE; - } - if (match) - return (mapp->type); - } - /* No match found; return given type. */ - return (type); -} - -/************************************************************************** - * - * Entry fetching - * - **************************************************************************/ - -/* - * Figure out what kind of terminal we're dealing with, and then read in - * its termcap entry. - */ -static const char * -get_termcap_entry(char *userarg) -{ - int errret; - char *p; - const char *ttype; -#if HAVE_GETTTYNAM - struct ttyent *t; -#else - FILE *fp; -#endif - char *ttypath; - - if (userarg) { - ttype = userarg; - goto found; - } - - /* Try the environment. */ - if ((ttype = getenv("TERM")) != 0) - goto map; - - if ((ttypath = ttyname(STDERR_FILENO)) != 0) { - p = _nc_basename(ttypath); -#if HAVE_GETTTYNAM - /* - * We have the 4.3BSD library call getttynam(3); that means - * there's an /etc/ttys to look up device-to-type mappings in. - * Try ttyname(3); check for dialup or other mapping. - */ - if ((t = getttynam(p))) { - ttype = t->ty_type; - goto map; - } -#else - if ((fp = fopen("/etc/ttytype", "r")) != 0 - || (fp = fopen("/etc/ttys", "r")) != 0) { - char buffer[BUFSIZ]; - char *s, *t, *d; - - while (fgets(buffer, sizeof(buffer) - 1, fp) != 0) { - for (s = buffer, t = d = 0; *s; s++) { - if (isspace(UChar(*s))) - *s = '\0'; - else if (t == 0) - t = s; - else if (d == 0 && s != buffer && s[-1] == '\0') - d = s; - } - if (t != 0 && d != 0 && !strcmp(d, p)) { - ttype = strdup(t); - fclose(fp); - goto map; - } - } - fclose(fp); - } -#endif /* HAVE_GETTTYNAM */ - } - - /* If still undefined, use "unknown". */ - ttype = "unknown"; - - map:ttype = mapped(ttype); - - /* - * If not a path, remove TERMCAP from the environment so we get a - * real entry from /etc/termcap. This prevents us from being fooled - * by out of date stuff in the environment. - */ - found:if ((p = getenv("TERMCAP")) != 0 && *p != '/') { - /* 'unsetenv("TERMCAP")' is not portable. - * The 'environ' array is better. - */ - int n; - for (n = 0; environ[n] != 0; n++) { - if (!strncmp("TERMCAP=", environ[n], 8)) { - while ((environ[n] = environ[n + 1]) != 0) { - n++; - } - break; - } - } - } - - /* - * ttype now contains a pointer to the type of the terminal. - * If the first character is '?', ask the user. - */ - if (ttype[0] == '?') { - if (ttype[1] != '\0') - ttype = askuser(ttype + 1); - else - ttype = askuser(0); - } - /* Find the terminfo entry. If it doesn't exist, ask the user. */ - while (setupterm((NCURSES_CONST char *) ttype, STDOUT_FILENO, &errret) - != OK) { - if (errret == 0) { - (void) fprintf(stderr, "%s: unknown terminal type %s\n", - _nc_progname, ttype); - ttype = 0; - } else { - (void) fprintf(stderr, - "%s: can't initialize terminal type %s (error %d)\n", - _nc_progname, ttype, errret); - ttype = 0; - } - ttype = askuser(ttype); - } -#if BROKEN_LINKER - tgetflag("am"); /* force lib_termcap.o to be linked for 'ospeed' */ -#endif - return (ttype); -} - -/************************************************************************** - * - * Mode-setting logic - * - **************************************************************************/ - -/* some BSD systems have these built in, some systems are missing - * one or more definitions. The safest solution is to override unless the - * commonly-altered ones are defined. - */ -#if !(defined(CERASE) && defined(CINTR) && defined(CKILL) && defined(CQUIT)) -#undef CEOF -#undef CERASE -#undef CINTR -#undef CKILL -#undef CLNEXT -#undef CRPRNT -#undef CQUIT -#undef CSTART -#undef CSTOP -#undef CSUSP -#endif - -/* control-character defaults */ -#ifndef CEOF -#define CEOF CTRL('D') -#endif -#ifndef CERASE -#define CERASE CTRL('H') -#endif -#ifndef CINTR -#define CINTR 127 /* ^? */ -#endif -#ifndef CKILL -#define CKILL CTRL('U') -#endif -#ifndef CLNEXT -#define CLNEXT CTRL('v') -#endif -#ifndef CRPRNT -#define CRPRNT CTRL('r') -#endif -#ifndef CQUIT -#define CQUIT CTRL('\\') -#endif -#ifndef CSTART -#define CSTART CTRL('Q') -#endif -#ifndef CSTOP -#define CSTOP CTRL('S') -#endif -#ifndef CSUSP -#define CSUSP CTRL('Z') -#endif - -#define CHK(val, dft) ((int)val <= 0 ? dft : val) - -static bool set_tabs(void); - -/* - * Reset the terminal mode bits to a sensible state. Very useful after - * a child program dies in raw mode. - */ -static void -reset_mode(void) -{ -#ifdef TERMIOS - tcgetattr(STDERR_FILENO, &mode); -#else - stty(STDERR_FILENO, &mode); -#endif - -#ifdef TERMIOS -#if defined(VDISCARD) && defined(CDISCARD) - mode.c_cc[VDISCARD] = CHK(mode.c_cc[VDISCARD], CDISCARD); -#endif - mode.c_cc[VEOF] = CHK(mode.c_cc[VEOF], CEOF); - mode.c_cc[VERASE] = CHK(mode.c_cc[VERASE], CERASE); -#if defined(VFLUSH) && defined(CFLUSH) - mode.c_cc[VFLUSH] = CHK(mode.c_cc[VFLUSH], CFLUSH); -#endif - mode.c_cc[VINTR] = CHK(mode.c_cc[VINTR], CINTR); - mode.c_cc[VKILL] = CHK(mode.c_cc[VKILL], CKILL); -#if defined(VLNEXT) && defined(CLNEXT) - mode.c_cc[VLNEXT] = CHK(mode.c_cc[VLNEXT], CLNEXT); -#endif - mode.c_cc[VQUIT] = CHK(mode.c_cc[VQUIT], CQUIT); -#if defined(VREPRINT) && defined(CRPRNT) - mode.c_cc[VREPRINT] = CHK(mode.c_cc[VREPRINT], CRPRNT); -#endif -#if defined(VSTART) && defined(CSTART) - mode.c_cc[VSTART] = CHK(mode.c_cc[VSTART], CSTART); -#endif -#if defined(VSTOP) && defined(CSTOP) - mode.c_cc[VSTOP] = CHK(mode.c_cc[VSTOP], CSTOP); -#endif -#if defined(VSUSP) && defined(CSUSP) - mode.c_cc[VSUSP] = CHK(mode.c_cc[VSUSP], CSUSP); -#endif -#if defined(VWERASE) && defined(CWERASE) - mode.c_cc[VWERASE] = CHK(mode.c_cc[VWERASE], CWERASE); -#endif - - mode.c_iflag &= ~(IGNBRK | PARMRK | INPCK | ISTRIP | INLCR | IGNCR -#ifdef IUCLC - | IUCLC -#endif -#ifdef IXANY - | IXANY -#endif - | IXOFF); - - mode.c_iflag |= (BRKINT | IGNPAR | ICRNL | IXON -#ifdef IMAXBEL - | IMAXBEL -#endif - ); - - mode.c_oflag &= ~(0 -#ifdef OLCUC - | OLCUC -#endif -#ifdef OCRNL - | OCRNL -#endif -#ifdef ONOCR - | ONOCR -#endif -#ifdef ONLRET - | ONLRET -#endif -#ifdef OFILL - | OFILL -#endif -#ifdef OFDEL - | OFDEL -#endif -#ifdef NLDLY - | NLDLY | CRDLY | TABDLY | BSDLY | VTDLY | FFDLY -#endif - ); - - mode.c_oflag |= (OPOST -#ifdef ONLCR - | ONLCR -#endif - ); - - mode.c_cflag &= ~(CSIZE | CSTOPB | PARENB | PARODD | CLOCAL); - mode.c_cflag |= (CS8 | CREAD); - mode.c_lflag &= ~(ECHONL | NOFLSH -#ifdef TOSTOP - | TOSTOP -#endif -#ifdef ECHOPTR - | ECHOPRT -#endif -#ifdef XCASE - | XCASE -#endif - ); - - mode.c_lflag |= (ISIG | ICANON | ECHO | ECHOE | ECHOK -#ifdef ECHOCTL - | ECHOCTL -#endif -#ifdef ECHOKE - | ECHOKE -#endif - ); -#endif - - SET_TTY(STDERR_FILENO, &mode); -} - -/* - * Returns a "good" value for the erase character. This is loosely based on - * the BSD4.4 logic. - */ -#ifdef TERMIOS -static int -default_erase(void) -{ - int result; - - if (over_strike - && key_backspace != 0 - && strlen(key_backspace) == 1) - result = key_backspace[0]; - else - result = CERASE; - - return result; -} -#endif - -/* - * Update the values of the erase, interrupt, and kill characters in 'mode'. - * - * SVr4 tset (e.g., Solaris 2.5) only modifies the intr, quit or erase - * characters if they're unset, or if we specify them as options. This differs - * from BSD 4.4 tset, which always sets erase. - */ -static void -set_control_chars(void) -{ -#ifdef TERMIOS - if (mode.c_cc[VERASE] == 0 || terasechar >= 0) - mode.c_cc[VERASE] = terasechar >= 0 ? terasechar : default_erase(); - - if (mode.c_cc[VINTR] == 0 || intrchar >= 0) - mode.c_cc[VINTR] = intrchar >= 0 ? intrchar : CINTR; - - if (mode.c_cc[VKILL] == 0 || tkillchar >= 0) - mode.c_cc[VKILL] = tkillchar >= 0 ? tkillchar : CKILL; -#endif -} - -/* - * Set up various conversions in 'mode', including parity, tabs, returns, - * echo, and case, according to the termcap entry. If the program we're - * running was named with a leading upper-case character, map external - * uppercase to internal lowercase. - */ -static void -set_conversions(void) -{ -#ifdef __OBSOLETE__ - /* - * Conversion logic for some *really* ancient terminal glitches, - * not supported in terminfo. Left here for succeeding generations - * to marvel at. - */ - if (tgetflag("UC")) { -#ifdef IUCLC - mode.c_iflag |= IUCLC; - mode.c_oflag |= OLCUC; -#endif - } else if (tgetflag("LC")) { -#ifdef IUCLC - mode.c_iflag &= ~IUCLC; - mode.c_oflag &= ~OLCUC; -#endif - } - mode.c_iflag &= ~(PARMRK | INPCK); - mode.c_lflag |= ICANON; - if (tgetflag("EP")) { - mode.c_cflag |= PARENB; - mode.c_cflag &= ~PARODD; - } - if (tgetflag("OP")) { - mode.c_cflag |= PARENB; - mode.c_cflag |= PARODD; - } -#endif /* __OBSOLETE__ */ - -#ifdef TERMIOS -#ifdef ONLCR - mode.c_oflag |= ONLCR; -#endif - mode.c_iflag |= ICRNL; - mode.c_lflag |= ECHO; -#ifdef OXTABS - mode.c_oflag |= OXTABS; -#endif /* OXTABS */ - - /* test used to be tgetflag("NL") */ - if (newline != (char *) 0 && newline[0] == '\n' && !newline[1]) { - /* Newline, not linefeed. */ -#ifdef ONLCR - mode.c_oflag &= ~ONLCR; -#endif - mode.c_iflag &= ~ICRNL; - } -#ifdef __OBSOLETE__ - if (tgetflag("HD")) /* Half duplex. */ - mode.c_lflag &= ~ECHO; -#endif /* __OBSOLETE__ */ -#ifdef OXTABS - /* test used to be tgetflag("pt") */ - if (has_hardware_tabs) /* Print tabs. */ - mode.c_oflag &= ~OXTABS; -#endif /* OXTABS */ - mode.c_lflag |= (ECHOE | ECHOK); -#endif -} - -/* Output startup string. */ -static void -set_init(void) -{ - char *p; - bool settle; - -#ifdef __OBSOLETE__ - if (pad_char != (char *) 0) /* Get/set pad character. */ - PC = pad_char[0]; -#endif /* OBSOLETE */ - -#ifdef TAB3 - if (oldmode.c_oflag & (TAB3 | ONLCR | OCRNL | ONLRET)) { - oldmode.c_oflag &= (TAB3 | ONLCR | OCRNL | ONLRET); - SET_TTY(STDERR_FILENO, &oldmode); - } -#endif - settle = set_tabs(); - - if (isreset) { - if ((p = reset_1string) != 0) { - tputs(p, 0, outc); - settle = TRUE; - } - if ((p = reset_2string) != 0) { - tputs(p, 0, outc); - settle = TRUE; - } - /* What about rf, rs3, as per terminfo man page? */ - /* also might be nice to send rmacs, rmul, rmm */ - if ((p = reset_file) != 0 - || (p = init_file) != 0) { - cat(p); - settle = TRUE; - } - } - - if (settle) { - (void) putc('\r', stderr); - (void) fflush(stderr); - (void) napms(1000); /* Settle the terminal. */ - } -} - -/* - * Set the hardware tabs on the terminal, using the ct (clear all tabs), - * st (set one tab) and ch (horizontal cursor addressing) capabilities. - * This is done before if and is, so they can patch in case we blow this. - * Return TRUE if we set any tab stops, FALSE if not. - */ -static bool -set_tabs() -{ - if (set_tab && clear_all_tabs) { - int c; - - (void) putc('\r', stderr); /* Force to left margin. */ - tputs(clear_all_tabs, 0, outc); - - for (c = 8; c < tcolumns; c += 8) { - /* Get to the right column. In BSD tset, this - * used to try a bunch of half-clever things - * with cup and hpa, for an average saving of - * somewhat less than two character times per - * tab stop, less than .01 sec at 2400cps. We - * lost all this cruft because it seemed to be - * introducing some odd bugs. - * -----------12345678----------- */ - (void) fputs(" ", stderr); - tputs(set_tab, 0, outc); - } - putc('\r', stderr); - return (TRUE); - } - return (FALSE); -} - -/************************************************************************** - * - * Main sequence - * - **************************************************************************/ - -/* - * Tell the user if a control key has been changed from the default value. - */ -#ifdef TERMIOS -static void -report(const char *name, int which, unsigned def) -{ - unsigned older, newer; - char *p; - - newer = mode.c_cc[which]; - older = oldmode.c_cc[which]; - - if (older == newer && older == def) - return; - - (void) fprintf(stderr, "%s %s ", name, older == newer ? "is" : "set to"); - - /* - * Check 'delete' before 'backspace', since the key_backspace value - * is ambiguous. - */ - if (newer == 0177) - (void) fprintf(stderr, "delete.\n"); - else if ((p = key_backspace) != 0 - && newer == (unsigned char) p[0] - && p[1] == '\0') - (void) fprintf(stderr, "backspace.\n"); - else if (newer < 040) { - newer ^= 0100; - (void) fprintf(stderr, "control-%c (^%c).\n", UChar(newer), UChar(newer)); - } else - (void) fprintf(stderr, "%c.\n", UChar(newer)); -} -#endif - -/* - * Convert the obsolete argument forms into something that getopt can handle. - * This means that -e, -i and -k get default arguments supplied for them. - */ -static void -obsolete(char **argv) -{ - for (; *argv; ++argv) { - char *parm = argv[0]; - - if (parm[0] == '-' && parm[1] == '\0') { - argv[0] = strdup("-q"); - continue; - } - - if ((parm[0] != '-') - || (argv[1] && argv[1][0] != '-') - || (parm[1] != 'e' && parm[1] != 'i' && parm[1] != 'k') - || (parm[2] != '\0')) - continue; - switch (argv[0][1]) { - case 'e': - argv[0] = strdup("-e^H"); - break; - case 'i': - argv[0] = strdup("-i^C"); - break; - case 'k': - argv[0] = strdup("-k^U"); - break; - } - } -} - -static void -usage(void) -{ - static const char *tbl[] = - { - "" - ,"Options:" - ," -c set control characters" - ," -e ch erase character" - ," -I no initialization strings" - ," -i ch interrupt character" - ," -k ch kill character" - ," -m mapping map identifier to type" - ," -Q do not output control key settings" - ," -r display term on stderr" - ," -s output TERM set command" - ," -V print curses-version" - ," -w set window-size" - }; - unsigned n; - (void) fprintf(stderr, "Usage: %s [options] [terminal]\n", _nc_progname); - for (n = 0; n < sizeof(tbl) / sizeof(tbl[0]); ++n) - fprintf(stderr, "%s\n", tbl[n]); - exit_error(); - /* NOTREACHED */ -} - -static char -arg_to_char(void) -{ - return (optarg[0] == '^' && optarg[1] != '\0') - ? ((optarg[1] == '?') ? '\177' : CTRL(optarg[1])) - : optarg[0]; -} - -int -main(int argc, char **argv) -{ -#if defined(TIOCGWINSZ) && defined(TIOCSWINSZ) - struct winsize win; -#endif - int ch, noinit, noset, quiet, Sflag, sflag, showterm; - const char *p; - const char *ttype; - - obsolete(argv); - noinit = noset = quiet = Sflag = sflag = showterm = 0; - while ((ch = getopt(argc, argv, "a:cd:e:Ii:k:m:np:qQSrsVw")) != EOF) { - switch (ch) { - case 'c': /* set control-chars */ - opt_c = TRUE; - break; - case 'a': /* OBSOLETE: map identifier to type */ - add_mapping("arpanet", optarg); - break; - case 'd': /* OBSOLETE: map identifier to type */ - add_mapping("dialup", optarg); - break; - case 'e': /* erase character */ - terasechar = arg_to_char(); - break; - case 'I': /* no initialization strings */ - noinit = 1; - break; - case 'i': /* interrupt character */ - intrchar = arg_to_char(); - break; - case 'k': /* kill character */ - tkillchar = arg_to_char(); - break; - case 'm': /* map identifier to type */ - add_mapping(0, optarg); - break; - case 'n': /* OBSOLETE: set new tty driver */ - break; - case 'p': /* OBSOLETE: map identifier to type */ - add_mapping("plugboard", optarg); - break; - case 'Q': /* don't output control key settings */ - quiet = 1; - break; - case 'q': /* display term only */ - noset = 1; - break; - case 'r': /* display term on stderr */ - showterm = 1; - break; - case 'S': /* OBSOLETE: output TERM & TERMCAP */ - Sflag = 1; - break; - case 's': /* output TERM set command */ - sflag = 1; - break; - case 'V': /* print curses-version */ - puts(curses_version()); - return EXIT_SUCCESS; - case 'w': /* set window-size */ - opt_w = TRUE; - break; - case '?': - default: - usage(); - } - } - - _nc_progname = _nc_rootname(*argv); - argc -= optind; - argv += optind; - - if (argc > 1) - usage(); - - if (!opt_c && !opt_w) - opt_c = opt_w = TRUE; - - if (GET_TTY(STDERR_FILENO, &mode) < 0) - failed("standard error"); - can_restore = TRUE; - original = oldmode = mode; -#ifdef TERMIOS - ospeed = cfgetospeed(&mode); -#else - ospeed = mode.sg_ospeed; -#endif - - if (!strcmp(_nc_progname, PROG_RESET)) { - isreset = TRUE; - reset_mode(); - } - - ttype = get_termcap_entry(*argv); - - if (!noset) { - tcolumns = columns; - tlines = lines; - -#if defined(TIOCGWINSZ) && defined(TIOCSWINSZ) - if (opt_w) { - /* Set window size */ - (void) ioctl(STDERR_FILENO, TIOCGWINSZ, &win); - if (win.ws_row == 0 && win.ws_col == 0 && - tlines > 0 && tcolumns > 0) { - win.ws_row = tlines; - win.ws_col = tcolumns; - (void) ioctl(STDERR_FILENO, TIOCSWINSZ, &win); - } - } -#endif - if (opt_c) { - set_control_chars(); - set_conversions(); - - if (!noinit) - set_init(); - - /* Set the modes if they've changed. */ - if (memcmp(&mode, &oldmode, sizeof(mode))) { - SET_TTY(STDERR_FILENO, &mode); - } - } - } - - /* Get the terminal name from the entry. */ - ttype = _nc_first_name(cur_term->type.term_names); - - if (noset) - (void) printf("%s\n", ttype); - else { - if (showterm) - (void) fprintf(stderr, "Terminal type is %s.\n", ttype); - /* - * If erase, kill and interrupt characters could have been - * modified and not -Q, display the changes. - */ -#ifdef TERMIOS - if (!quiet) { - report("Erase", VERASE, CERASE); - report("Kill", VKILL, CKILL); - report("Interrupt", VINTR, CINTR); - } -#endif - } - - if (Sflag) - err("The -S option is not supported under terminfo."); - - if (sflag) { - int len; - /* - * Figure out what shell we're using. A hack, we look for an - * environmental variable SHELL ending in "csh". - */ - if ((p = getenv("SHELL")) != 0 - && (len = strlen(p)) >= 3 - && !strcmp(p + len - 3, "csh")) - p = "set noglob;\nsetenv TERM %s;\nunset noglob;\n"; - else - p = "TERM=%s;\n"; - (void) printf(p, ttype); - } - - return EXIT_SUCCESS; -} diff --git a/src/libs/ncurses/tack/COPYING b/src/libs/ncurses/tack/COPYING deleted file mode 100644 index b6f92f3dbf..0000000000 --- a/src/libs/ncurses/tack/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/src/libs/ncurses/tack/HISTORY b/src/libs/ncurses/tack/HISTORY deleted file mode 100644 index a82110587f..0000000000 --- a/src/libs/ncurses/tack/HISTORY +++ /dev/null @@ -1,47 +0,0 @@ - -Current history: - -2003/10/18 1.01 Fix some logic in pad.c, improve bce test. -2003/09/20 Modified to allow running from compiled-in terminfo. -2001/10/20 Make menu titles agree with descriptions. -2000/03/04 Fix a few spelling errors -1999/09/04 Minor fix to build/link on BeOS -1999/05/16 Minor fix to build/link on CLIX -1999/05/09 Update to build/link on NeXT -1999/04/17 Update to work with ncurses 5.0 beta1 (TERMTYPE struct) -1999/02/07 Build with ncurses 4.2 981219 (renamed function) -1998/01/09 1.00 First release under GPL -1997/12/24 0.02 First version that requires ncurses -1997/10/29 0.01 Second beta release to the ncurses mailing list. -1997/10/06 0.00 First beta release to the ncurses mailing list. - -Ancient history: TACK -- the terminfo action checker - - The purpose of this program is to verify the correctness of -terminfos and to calculate the pads needed for each capability. -This program is not designed to test curses and therefore uses -as little of curses as possible. - - This program was originally called TED. In 1991 it was -released to USENET in comp.sources. TED was originally written to -test both terminfos and termcaps. The original intent was to -create a terminfo editor. This code fell quite short of its goal. -Tests were controlled by command line switches and editing was done -with pen and paper. - - In 1995 Eric S. Raymond got interested in the program and added -a first cut at making the program menu driven. He also converted -the code from K&R C to an ANSI/POSIX-conforming C. He re-christened -the program TAC (Terminfo Action Checker). Eric also wrote a man -page for TAC. - - In 1997 I decided to dust off the code and make it easier to -use by the novice. I totally rewrote the menu system and added -the editing features I originally planned for TED. I also did -a total rewrite of the code that does the timings. In the process -of rewriting the code I changed it to be more tightly coupled -with ncurses. By this time someone had taken the name TAC so -I re-christened the program TACK. - -Daniel Weaver - diff --git a/src/libs/ncurses/tack/Makefile b/src/libs/ncurses/tack/Makefile deleted file mode 100644 index ae3acb5976..0000000000 --- a/src/libs/ncurses/tack/Makefile +++ /dev/null @@ -1,487 +0,0 @@ -# $Id: Makefile.in,v 1.35 2005/06/18 23:01:59 tom Exp $ -# Makefile for tack -# -# The variable 'srcdir' refers to the source-distribution, and can be set with -# the configure script by "--srcdir=DIR". -# -# The rules are organized to produce the libraries for the configured models, -# and the programs with the configured default model. - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -CF_MFLAGS = - - -x = -o = .o - -MODEL = ../objects -DESTDIR = -srcdir = . -prefix = /usr/local -exec_prefix = ${prefix} -bindir = ${exec_prefix}/bin -libdir = ${exec_prefix}/lib -mandir = ${prefix}/man -includedir = $(prefix)/include/ncurses -datadir = ${prefix}/share - -LIBTOOL = -LIBTOOL_CLEAN = -LIBTOOL_COMPILE = -LIBTOOL_LINK = -LIBTOOL_INSTALL = -LIBTOOL_UNINSTALL = - -INSTALL = /bin/install -c -INSTALL_PROGRAM = ${INSTALL} -INSTALL_DATA = ${INSTALL} -m 644 - -AWK = gawk -LN_S = ln -s - -CC = gcc -CPP = gcc -E -CFLAGS = -O2 - -INCDIR = $(srcdir)/../include -CPPFLAGS = -DHAVE_CONFIG_H -I../tack -I$(srcdir) -I. -I../include -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=199506L -DNDEBUG -I$(includedir) - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) - -CFLAGS_LIBTOOL = $(CCFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) -g -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) -fPIC - -CFLAGS_DEFAULT = $(CFLAGS_NORMAL) - -LD = ld -LINK = $(LIBTOOL_LINK) $(CC) -LDFLAGS = \ - -L../lib -lncurses - -LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL) -LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL) -LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG) -LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE) -LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) - -LDFLAGS_DEFAULT = $(LDFLAGS_NORMAL) - -LINT = -LINT_OPTS = -LINT_LIBS = -lncurses - -PROGS = tack$x - -# Default library, for linking applications -DEPS_CURSES = ../lib/libncurses.a - -################################################################################ -all: $(PROGS) - -sources: - -install: install.tack -uninstall: uninstall.tack - -# this line simplifies the configure-script -libs \ -install.libs \ -uninstall.libs: - -EDITARGS = $(DESTDIR)$(mandir) $(srcdir) $(srcdir)/*.[0-9]* - -install.tack: $(PROGS) \ - $(DESTDIR)$(bindir) \ - $(DESTDIR)$(mandir) - $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tack$x $(DESTDIR)$(bindir)/tack$x - sh ../edit_man.sh normal installing $(EDITARGS) - -uninstall.tack: - -@$(LIBTOOL_UNINSTALL) rm -f $(DESTDIR)$(bindir)/tack$x - -sh ../edit_man.sh normal removing $(EDITARGS) - -$(DESTDIR)$(bindir) \ -$(DESTDIR)$(mandir) : - sh $(srcdir)/../mkinstalldirs $@ - -# -# Rules for building tack -# - -DEPS_TACK = \ - $(MODEL)/ansi$o \ - $(MODEL)/charset$o \ - $(MODEL)/color$o \ - $(MODEL)/control$o \ - $(MODEL)/crum$o \ - $(MODEL)/edit$o \ - $(MODEL)/fun$o \ - $(MODEL)/init$o \ - $(MODEL)/menu$o \ - $(MODEL)/modes$o \ - $(MODEL)/output$o \ - $(MODEL)/pad$o \ - $(MODEL)/scan$o \ - $(MODEL)/sync$o \ - $(MODEL)/sysdep$o \ - $(MODEL)/tack$o - -tack$x: $(DEPS_TACK) $(DEPS_CURSES) - $(LINK) $(DEPS_TACK) $(LDFLAGS_DEFAULT) -o $@ - -# -# Utility productions start here -# - -tags: - ctags *.[ch] - -TAGS: - etags *.[ch] - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.atac trace - -clean :: mostlyclean - -sh -c "if test -n '$x' ; then $(MAKE) clean x=''; fi" - -rm -f $(PROGS) - -rm -rf .libs - -distclean :: clean - -rm -f Makefile - -realclean :: distclean - -tack.tar: Makefile.in modules *.[ch] tack.1 HISTORY COPYING - tar -cvf tack.tar Makefile.in modules *.[ch] tack.1 HISTORY COPYING - -# These rules are used to allow "make -n" to work on a clean directory-tree -../include/hashsize.h \ -../include/parametrized.h \ -../include/term.h : - cd ../include; $(MAKE) $(CF_MFLAGS) - -$(DEPS_CURSES) : - cd ../ncurses; $(MAKE) $(CF_MFLAGS) - -lint: - $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/*.c $(LINT_LIBS) - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### - -# generated by mk-0th.awk -# libname: tack -# subsets: termlib+ext_tinfo+base+ext_funcs - -.SUFFIXES: .c .cc .h .i .ii -.c.i : - $(CPP) $(CPPFLAGS) $< >$@ -.cc.ii : - $(CPP) $(CPPFLAGS) $< >$@ -.h.i : - $(CPP) $(CPPFLAGS) $< >$@ - -C_SRC = \ - $(srcdir)/ansi.c \ - $(srcdir)/charset.c \ - $(srcdir)/color.c \ - $(srcdir)/control.c \ - $(srcdir)/crum.c \ - $(srcdir)/edit.c \ - $(srcdir)/fun.c \ - $(srcdir)/init.c \ - $(srcdir)/menu.c \ - $(srcdir)/modes.c \ - $(srcdir)/output.c \ - $(srcdir)/pad.c \ - $(srcdir)/scan.c \ - $(srcdir)/sync.c \ - $(srcdir)/sysdep.c \ - $(srcdir)/tack.c - -lintlib : - @echo no action needed - -# generated by mk-1st.awk (subset=termlib+ext_tinfo+base+ext_funcs) -# name: tack -# traces: DEBUG -# MODEL: NORMAL -# model: objects -# prefix: lib -# suffix: .a -# subset: termlib+ext_tinfo+base+ext_funcs -# ShlibVer: auto -# ShlibVerInfix: no -# DoLinks: no -# rmSoLocs: no -# ldconfig: -# overwrite: no -# depend: ../include/ncurses_cfg.h -# host: i586-pc-beos - -NORMAL_OBJS = \ - ../objects/ansi$o \ - ../objects/charset$o \ - ../objects/color$o \ - ../objects/control$o \ - ../objects/crum$o \ - ../objects/edit$o \ - ../objects/fun$o \ - ../objects/init$o \ - ../objects/menu$o \ - ../objects/modes$o \ - ../objects/output$o \ - ../objects/pad$o \ - ../objects/scan$o \ - ../objects/sync$o \ - ../objects/sysdep$o \ - ../objects/tack$o - -$(NORMAL_OBJS) : ../include/ncurses_cfg.h - -mostlyclean:: - -rm -f $(NORMAL_OBJS) - -clean :: - -rm -f $(NORMAL_OBJS) - -# generated by mk-2nd.awk -# model: objects -# MODEL: NORMAL -# echo: yes -# subset: termlib+ext_tinfo+base+ext_funcs -# crenames: yes -# cxxrenames: yes -# traces: DEBUG -# srcdir: . - -../objects/ansi$o : $(srcdir)/ansi.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../tack/ansi.c -o ../objects/ansi$o - -../objects/charset$o : $(srcdir)/charset.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../tack/charset.c -o ../objects/charset$o - -../objects/color$o : $(srcdir)/color.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../tack/color.c -o ../objects/color$o - -../objects/control$o : $(srcdir)/control.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../tack/control.c -o ../objects/control$o - -../objects/crum$o : $(srcdir)/crum.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../tack/crum.c -o ../objects/crum$o - -../objects/edit$o : $(srcdir)/edit.c \ - $(srcdir)/tack.h \ - ../include/term.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../tack/edit.c -o ../objects/edit$o - -../objects/fun$o : $(srcdir)/fun.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../tack/fun.c -o ../objects/fun$o - -../objects/init$o : $(srcdir)/init.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../tack/init.c -o ../objects/init$o - -../objects/menu$o : $(srcdir)/menu.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../tack/menu.c -o ../objects/menu$o - -../objects/modes$o : $(srcdir)/modes.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../tack/modes.c -o ../objects/modes$o - -../objects/output$o : $(srcdir)/output.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../tack/output.c -o ../objects/output$o - -../objects/pad$o : $(srcdir)/pad.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../tack/pad.c -o ../objects/pad$o - -../objects/scan$o : $(srcdir)/scan.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../tack/scan.c -o ../objects/scan$o - -../objects/sync$o : $(srcdir)/sync.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../tack/sync.c -o ../objects/sync$o - -../objects/sysdep$o : $(srcdir)/sysdep.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../tack/sysdep.c -o ../objects/sysdep$o - -../objects/tack$o : $(srcdir)/tack.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../tack/tack.c -o ../objects/tack$o - - -# generated by mk-1st.awk (subset=termlib+ext_tinfo+base+ext_funcs) -# name: tack -# traces: DEBUG -# MODEL: DEBUG -# model: obj_g -# prefix: lib -# suffix: _g.a -# subset: termlib+ext_tinfo+base+ext_funcs -# ShlibVer: auto -# ShlibVerInfix: no -# DoLinks: no -# rmSoLocs: no -# ldconfig: -# overwrite: no -# depend: ../include/ncurses_cfg.h -# host: i586-pc-beos - -DEBUG_OBJS = \ - ../obj_g/ansi$o \ - ../obj_g/charset$o \ - ../obj_g/color$o \ - ../obj_g/control$o \ - ../obj_g/crum$o \ - ../obj_g/edit$o \ - ../obj_g/fun$o \ - ../obj_g/init$o \ - ../obj_g/menu$o \ - ../obj_g/modes$o \ - ../obj_g/output$o \ - ../obj_g/pad$o \ - ../obj_g/scan$o \ - ../obj_g/sync$o \ - ../obj_g/sysdep$o \ - ../obj_g/tack$o - -$(DEBUG_OBJS) : ../include/ncurses_cfg.h - -mostlyclean:: - -rm -f $(DEBUG_OBJS) - -clean :: - -rm -f $(DEBUG_OBJS) - -# generated by mk-2nd.awk -# model: obj_g -# MODEL: DEBUG -# echo: yes -# subset: termlib+ext_tinfo+base+ext_funcs -# crenames: yes -# cxxrenames: yes -# traces: DEBUG -# srcdir: . - -../obj_g/ansi$o : $(srcdir)/ansi.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../tack/ansi.c -o ../obj_g/ansi$o - -../obj_g/charset$o : $(srcdir)/charset.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../tack/charset.c -o ../obj_g/charset$o - -../obj_g/color$o : $(srcdir)/color.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../tack/color.c -o ../obj_g/color$o - -../obj_g/control$o : $(srcdir)/control.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../tack/control.c -o ../obj_g/control$o - -../obj_g/crum$o : $(srcdir)/crum.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../tack/crum.c -o ../obj_g/crum$o - -../obj_g/edit$o : $(srcdir)/edit.c \ - $(srcdir)/tack.h \ - ../include/term.h \ - $(INCDIR)/tic.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../tack/edit.c -o ../obj_g/edit$o - -../obj_g/fun$o : $(srcdir)/fun.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../tack/fun.c -o ../obj_g/fun$o - -../obj_g/init$o : $(srcdir)/init.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../tack/init.c -o ../obj_g/init$o - -../obj_g/menu$o : $(srcdir)/menu.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../tack/menu.c -o ../obj_g/menu$o - -../obj_g/modes$o : $(srcdir)/modes.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../tack/modes.c -o ../obj_g/modes$o - -../obj_g/output$o : $(srcdir)/output.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../tack/output.c -o ../obj_g/output$o - -../obj_g/pad$o : $(srcdir)/pad.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../tack/pad.c -o ../obj_g/pad$o - -../obj_g/scan$o : $(srcdir)/scan.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../tack/scan.c -o ../obj_g/scan$o - -../obj_g/sync$o : $(srcdir)/sync.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../tack/sync.c -o ../obj_g/sync$o - -../obj_g/sysdep$o : $(srcdir)/sysdep.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../tack/sysdep.c -o ../obj_g/sysdep$o - -../obj_g/tack$o : $(srcdir)/tack.c \ - $(srcdir)/tack.h \ - ../include/term.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../tack/tack.c -o ../obj_g/tack$o - -depend : $(AUTO_SRC) - makedepend -- $(CPPFLAGS) -- $(C_SRC) - -# DO NOT DELETE THIS LINE -- make depend depends on it. diff --git a/src/libs/ncurses/tack/Makefile.in b/src/libs/ncurses/tack/Makefile.in deleted file mode 100644 index b278f7ddfd..0000000000 --- a/src/libs/ncurses/tack/Makefile.in +++ /dev/null @@ -1,180 +0,0 @@ -# $Id: Makefile.in,v 1.35 2005/06/18 23:01:59 tom Exp $ -# Makefile for tack -# -# The variable 'srcdir' refers to the source-distribution, and can be set with -# the configure script by "--srcdir=DIR". -# -# The rules are organized to produce the libraries for the configured models, -# and the programs with the configured default model. - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh -THIS = Makefile - -CF_MFLAGS = @cf_cv_makeflags@ -@SET_MAKE@ - -x = @EXEEXT@ -o = .@OBJEXT@ - -MODEL = ../@DFT_OBJ_SUBDIR@ -DESTDIR = @DESTDIR@ -srcdir = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ -bindir = @bindir@ -libdir = @libdir@ -mandir = @mandir@ -includedir = @includedir@ -datadir = @datadir@ - -LIBTOOL = @LIBTOOL@ -LIBTOOL_CLEAN = @LIB_CLEAN@ -LIBTOOL_COMPILE = @LIB_COMPILE@ -LIBTOOL_LINK = @LIB_LINK@ -LIBTOOL_INSTALL = @LIB_INSTALL@ -LIBTOOL_UNINSTALL = @LIB_UNINSTALL@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ - -AWK = @AWK@ -LN_S = @LN_S@ - -CC = @CC@ -CPP = @CPP@ -CFLAGS = @CFLAGS@ - -INCDIR = $(srcdir)/../include -CPPFLAGS = -DHAVE_CONFIG_H -I../tack -I$(srcdir) @CPPFLAGS@ - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) - -CFLAGS_LIBTOOL = $(CCFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ - -CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) - -LD = @LD@ -LINK = @LINK_PROGS@ $(LIBTOOL_LINK) $(CC) -LDFLAGS = @EXTRA_LDFLAGS@ \ - @TINFO_ARGS@ @LDFLAGS@ @LD_MODEL@ @LIBS@ - -LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL) -LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL) -LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG) -LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE) -LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@ - -LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@) - -LINT = @LINT@ -LINT_OPTS = @LINT_OPTS@ -LINT_LIBS = -lncurses@LIB_SUFFIX@ @LIBS@ - -PROGS = tack$x - -# Default library, for linking applications -DEPS_CURSES = ../lib/@LIB_PREFIX@ncurses@DFT_DEP_SUFFIX@ - -################################################################################ -all: $(PROGS) - -sources: - -install: install.tack -uninstall: uninstall.tack - -# this line simplifies the configure-script -libs \ -install.libs \ -uninstall.libs: - -EDITARGS = $(DESTDIR)$(mandir) $(srcdir) $(srcdir)/*.[0-9]* - -install.tack: $(PROGS) \ - $(DESTDIR)$(bindir) \ - $(DESTDIR)$(mandir) - $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tack$x $(DESTDIR)$(bindir)/tack$x - sh ../edit_man.sh normal installing $(EDITARGS) - -uninstall.tack: - -@$(LIBTOOL_UNINSTALL) rm -f $(DESTDIR)$(bindir)/tack$x - -sh ../edit_man.sh normal removing $(EDITARGS) - -$(DESTDIR)$(bindir) \ -$(DESTDIR)$(mandir) : - sh $(srcdir)/../mkinstalldirs $@ - -# -# Rules for building tack -# - -DEPS_TACK = \ - $(MODEL)/ansi$o \ - $(MODEL)/charset$o \ - $(MODEL)/color$o \ - $(MODEL)/control$o \ - $(MODEL)/crum$o \ - $(MODEL)/edit$o \ - $(MODEL)/fun$o \ - $(MODEL)/init$o \ - $(MODEL)/menu$o \ - $(MODEL)/modes$o \ - $(MODEL)/output$o \ - $(MODEL)/pad$o \ - $(MODEL)/scan$o \ - $(MODEL)/sync$o \ - $(MODEL)/sysdep$o \ - $(MODEL)/tack$o - -tack$x: $(DEPS_TACK) $(DEPS_CURSES) - @ECHO_LINK@ $(LINK) $(DEPS_TACK) $(LDFLAGS_DEFAULT) -o $@ - -# -# Utility productions start here -# - -tags: - ctags *.[ch] - -@MAKE_UPPER_TAGS@TAGS: -@MAKE_UPPER_TAGS@ etags *.[ch] - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.atac trace - -clean :: mostlyclean - -sh -c "if test -n '$x' ; then $(MAKE) clean x=''; fi" - -rm -f $(PROGS) - -rm -rf .libs - -distclean :: clean - -rm -f Makefile - -realclean :: distclean - -tack.tar: Makefile.in modules *.[ch] tack.1 HISTORY COPYING - tar -cvf tack.tar Makefile.in modules *.[ch] tack.1 HISTORY COPYING - -# These rules are used to allow "make -n" to work on a clean directory-tree -../include/hashsize.h \ -../include/parametrized.h \ -../include/term.h : - cd ../include; $(MAKE) $(CF_MFLAGS) - -$(DEPS_CURSES) : - cd ../ncurses; $(MAKE) $(CF_MFLAGS) - -lint: - $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/*.c $(LINT_LIBS) - -############################################################################### -# The remainder of this file is automatically generated during configuration -############################################################################### diff --git a/src/libs/ncurses/tack/README b/src/libs/ncurses/tack/README deleted file mode 100644 index 71147042d9..0000000000 --- a/src/libs/ncurses/tack/README +++ /dev/null @@ -1,14 +0,0 @@ --- $Id: README,v 1.2 2000/03/12 02:39:12 Daniel.Weaver Exp $ - -The 'tack' program is a diagnostic that is designed to create and -verify the correctness of terminfo's. This program can be used to -create new terminal descriptions that are not included in the standard -release. Although 'tack' is distributed with ncurses, it is not an -integral part of ncurses. It may be removed from the release without -limiting the usefulness of ncurses on those terminals described in the -terminfo data base. The best way to remove 'tack' from the build is -to delete or rename the 'tack' directory before running the configure -script. - -Unlike most of ncurses the 'tack' program is covered under the GNU -Public License. diff --git a/src/libs/ncurses/tack/ansi.c b/src/libs/ncurses/tack/ansi.c deleted file mode 100644 index bdbd433726..0000000000 --- a/src/libs/ncurses/tack/ansi.c +++ /dev/null @@ -1,854 +0,0 @@ -/* -** Copyright (C) 1991, 1997 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ - -#include - -MODULE_ID("$Id: ansi.c,v 1.10 2005/09/17 19:49:16 tom Exp $") - -/* - * Standalone tests for ANSI terminals. Three entry points: - * test_ansi_graphics(), test_ansi_reports() and test_ansi_sgr(). - */ - -/***************************************************************************** - * - * Test ANSI status reports - * - *****************************************************************************/ - -/* ASCII control characters */ -#define A_DC1 0x11 /* Control Q */ -#define A_DC3 0x13 /* Control S */ -#define A_ESC 0x1b -#define A_DCS 0x90 -#define A_CSI 0x9b -#define A_ST 0x9c - -#define MAX_MODES 256 - -static char default_bank[] = "\033(B\017"; -static int private_use, ape, terminal_class; -static short ansi_value[256]; -static unsigned char ansi_buf[512], pack_buf[512]; - -struct ansi_reports { - int lvl, final; - const char *text; - const char *request; -}; - -static struct ansi_reports report_list[] = { - {0, 'c', "(DA) Primary device attributes", "\033[0c"}, - {1, 0, "(DSR) Terminal status", "\033[5n"}, - {1, 'R', "(DSR) Cursor position", "\033[6n"}, - {62, 0, "(DA) Secondary device attributes", "\033[>0c"}, - {62, 0, "(DSR) Printer status", "\033[?15n"}, - {62, 0, "(DSR) Function key definition", "\033[?25n"}, - {62, 0, "(DSR) Keyboard language", "\033[?26n"}, - {63, 0, "(DECRQSS) Data destination", "\033P$q$}\033\\"}, - {63, 0, "(DECRQSS) Status line type", "\033P$q$~\033\\"}, - {63, 0, "(DECRQSS) Erase attribute", "\033P$q\"q\033\\"}, - {63, 0, "(DECRQSS) Personality", "\033P$q\"p\033\\"}, - {63, 0, "(DECRQSS) Top and bottom margins", "\033P$qr\033\\"}, - {63, 0, "(DECRQSS) Character attributes", "\033P$qm\033\\"}, - {63, 0, "(DECRQSS) Illegal request", "\033P$q@\033\\"}, - {63, 0, "(DECRQUPSS) User pref supplemental set", "\033[&u"}, - {63, 0, "(DECRQPSR) Cursor information", "\033[1$w"}, - {63, 0, "(DECRQPSR) Tab stop information", "\033[2$w"}, - {64, 0, "(DA) Tertiary device attributes", "\033[=0c"}, - {64, 0, "(DSR) Extended cursor position", "\033[?6n"}, - {64, 0, "(DSR) Macro space", "\033[?62n"}, - {64, 0, "(DSR) Memory checksum", "\033[?63n"}, - {64, 0, "(DSR) Data integrity", "\033[?75n"}, - {64, 0, "(DSR) Multiple session status", "\033[?85n"}, - {64, 0, "(DECRQSS) Attribute change extent", "\033P$q*x\033\\"}, - {64, 0, "(DECRQSS) Columns per page", "\033P$q$|\033\\"}, - {64, 0, "(DECRQSS) Lines per page", "\033P$qt\033\\"}, - {64, 0, "(DECRQSS) Lines per screen", "\033P$q*|\033\\"}, - {64, 0, "(DECRQSS) Left and right margins", "\033P$qs\033\\"}, - {64, 0, "(DECRQSS) Local functions", "\033P$q+q\033\\"}, - {64, 0, "(DECRQSS) Local function key control", "\033P$q=}\033\\"}, - {64, 0, "(DECRQSS) Select modifier key reporting", "\033P$q+r\033\\"}, - {64, 0, "(DECRQDE) Window report", "\033[\"v"}, - {0, 0, 0, 0} -}; - -struct request_control { - const char *text; - const char *expect; - const char *request; - const char *set_mode; - const char *reset_mode; -}; - -/* Request control function selection or setting */ -static const struct request_control rqss[] = { - {"Data sent to screen", "0", "$}", "\033[0$}", 0}, - {"Data sent to disabled status line", "0", "$}", 0, 0}, - {"\033[0$~\033[1$}", "\033[0$}", 0, 0, 0}, - {"Data sent to enabled status line", "1", "$}", 0, 0}, - {"\033[2$~\033[1$}", "\033[0$}", 0, 0, 0}, - {"Disable status line", "0", "$~", "\033[0$~", 0}, - {"Top status line", "1", "$~", "\033[1$~", 0}, - {"Bottom status line", "2", "$~", "\033[2$~", 0}, - {"Erasable character", "0", "\"q", "\033[0\"q", 0}, - {"Nonerasable character", "1", "\"q", "\033[1\"q", "\033[0\"q"}, - {"Top and bottom margins", "3;10", "r", "\0337\033[3;10r", 0}, - {"\033[r\0338", 0, 0, 0, 0}, - {"Top and bottom margins", "default", "r", "\0337\033[r", "\0338"}, - {"Character attributes, dim, bold", "1", "m", "\033[2;1m", "\033[m"}, - {"Character attributes, bold, dim", "2", "m", "\033[1;2m", "\033[m"}, - {"Character attributes, under, rev", "4;7", "m", "\033[4;7m", "\033[m"}, - {"Character attributes, color", "35;42", "m", "\033[35;42m", "\033[m"}, - {"All character attributes", "", "m", "\033[1;2;3;4;5;6;7;8;9m", 0}, - {"\033[m", 0, 0, 0, 0}, - {0, 0, 0, 0, 0} -}; - - -/* -** read_ansi() -** -** read an ANSI status report from terminal -*/ -static void -read_ansi(void) -{ - int ch, i, j, last_escape; - - fflush(stdout); - read_key((char *)ansi_buf, sizeof(ansi_buf)); - /* Throw away control characters inside CSI sequences. - Convert two character 7-bit sequences into 8-bit sequences. */ - for (i = j = last_escape = 0; (ch = ansi_buf[i]) != 0; i++) { - if (ch == A_ESC) { - if (last_escape == A_ESC) { - pack_buf[j++] = A_ESC; - } - last_escape = A_ESC; - } else - if (last_escape == A_ESC && ch >= '@' && ch <= '_') { - pack_buf[j++] = last_escape = ch + 0x40; - } else - if (last_escape != A_CSI || (ch > 0x20 && ch != 0x80)) { - if (last_escape == A_ESC) { - pack_buf[j++] = A_ESC; - } - if (ch > 0x80 && ch < 0xa0) { - last_escape = ch; - } - pack_buf[j++] = ch; - } - } - if (last_escape == A_ESC) { - pack_buf[j++] = A_ESC; - } - pack_buf[j] = '\0'; - return; -} - -/* -** valid_mode(expected) -** -** read a terminal mode status report and parse the result -** Return TRUE if we got the expected terminating character. -*/ -static int -valid_mode(int expected) -{ - unsigned char *s; - int ch, terminator; - - read_ansi(); - - ape = 0; - ch = UChar(pack_buf[0]); - ansi_value[0] = 0; - if (ch != A_CSI && ch != A_DCS) - return FALSE; - - s = pack_buf + 1; - private_use = 0; - if ((*s >= '<') & (*s <= '?')) { - private_use = *s++; - } - terminator = 0; - for (; (ch = *s); s++) { - if (ch >= '0' && ch <= '9') - ansi_value[ape] = ansi_value[ape] * 10 + ch - '0'; - else if (ch == ';' || ch == ':') - ansi_value[++ape] = 0; - else if (ch >= '<' && ch <= '?') - private_use = ch; - else if (ch >= ' ') - terminator = (terminator << 8) | ch; - else - break; - } - return terminator == expected; -} - -/* -** read_reports() -** -** read all the reports in the ANSI report structure -*/ -static int -read_reports(void) -{ - int i, j, k, tc, vcr, lc; - char *s; - const char *t; - - lc = 5; - terminal_class = tc = 0; - for (i = 0; report_list[i].text; i++, lc++) { - if (terminal_class < report_list[i].lvl && - tc < report_list[i].lvl) { - put_crlf(); - menu_prompt(); - ptext("/status [q] > "); - j = wait_here(); - if (j != 'n' && j != 'N') - return 0; - tc = report_list[i].lvl; - lc = 1; - } else if (lc + 2 >= lines) { - put_crlf(); - ptext("Hit any key to continue "); - (void) wait_here(); - lc = 1; - } - sprintf(temp, "%s (%s) ", report_list[i].text, - expand_command(report_list[i].request)); - ptext(temp); - for (j = strlen(temp); j < 49; j++) - putchp(' '); - tc_putp(report_list[i].request); - vcr = 0; - if (report_list[i].final == 0) { - read_ansi(); - } else if (valid_mode(report_list[i].final)) - switch (report_list[i].final) { - case 'c': - terminal_class = ansi_value[0]; - break; - case 'R': - vcr = TRUE; - break; - } - j = UChar(pack_buf[0]); - if (j != A_CSI && j != A_DCS) { - put_crlf(); - t = "*** The above request gives illegal response ***"; - ptext(t); - for (j = strlen(t); j < 49; j++) - putchp(' '); - } - s = expand((const char *)ansi_buf); - if (char_count + expand_chars >= columns) { - put_str("\r\n "); - lc++; - } - putln(s); - if (vcr) { /* find out how big the screen is */ - tc_putp(report_list[i].request); - if (!valid_mode('R')) - continue; - j = ansi_value[0]; - k = ansi_value[1]; - tc_putp("\033[255B\033[255C\033[6n"); - if (!valid_mode('R')) - continue; - sprintf(temp, "\033[%d;%dH", j, k); - tc_putp(temp); - ptext("(DSR) Screen size (CSI 6 n)"); - for (j = char_count; j < 50; j++) - putchp(' '); - sprintf(temp, "%d x %d", ansi_value[1], ansi_value[0]); - ptextln(temp); - - } - } - menu_prompt(); - ptext("/status r->repeat test, to continue > "); - return wait_here(); -} - -/* -** request_cfss() -** -** Request Control function selection or settings -*/ -static int -request_cfss(void) -{ - int i, j, k, l, ch; - char *s; - - put_clear(); - ptextln("Request Expected Received"); - put_crlf(); - for (i = 0; rqss[i].text; i++) { - ptext(rqss[i].text); - j = strlen(rqss[i].text) + strlen(rqss[i].expect); - putchp(' '); - for (j++; j < 40; j++) - putchp(' '); - ptext(rqss[i].expect); - putchp(' '); - tc_putp(rqss[i].set_mode); - sprintf(temp, "\033P$q%s\033\\", rqss[i].request); - tc_putp(temp); - read_ansi(); - tc_putp(rqss[i].reset_mode); - putchp(' '); - for (j = 0; ansi_buf[j]; j++) { - if (ansi_buf[j] == 'r') { - for (k = j++; (ch = UChar(ansi_buf[k])) != 0; k++) - if (ch == A_ESC) { - break; - } else if (ch == A_ST) { - break; - } - ansi_buf[k] = '\0'; - s = expand((const char *)&ansi_buf[j]); - if (char_count + expand_chars >= columns) - put_str("\r\n "); - put_str(s); - } - } - put_crlf(); - } - /* calculate the valid attributes */ - ptext("Valid attributes: 0"); - j = 0; - for (i = 1; i < 20; i++) { - sprintf(temp, "\033[0;%dm\033P$qm\033\\", i); - tc_putp(temp); - (void) valid_mode('m'); - if (ape > 0) { - j = i; - sprintf(temp, "\033[0m; %d", i); - tc_putp(temp); - } - } - put_crlf(); - /* calculate how many parameters can be sent */ - ptext("Max number of parameters: "); - sprintf(temp, "%dm\033P$qm\033\\", j); - l = -1; - if (j > 0) - for (l = 1; l < 33; l++) { - tc_putp("\033[0"); - for (ch = 1; ch <= l; ch++) - put_this(';'); - tc_putp(temp); - (void) valid_mode('m'); - if (ape == 0) - break; - } - tc_putp("\033[m"); - if (l >= 0) { - sprintf(temp, "%d", l); - ptext(temp); - } else - ptext("unknown"); - put_crlf(); - return wait_here(); -} - -/* -** mode_display(puc, mode, initial, set, reset) -** -** print the mode display entry -*/ -static void -mode_display(const char *p, int n, int c, char s, char r) -{ - int k; - - sprintf(temp, "%s%d (%c, %c, %c)", p, n, c, s, r); - k = strlen(temp); - if (char_count + k >= columns) - put_crlf(); - for (; k < 14; k++) - putchp(' '); - put_str(temp); -} - -/* -** terminal_state() -** -** test DECRQM status reports -*/ -static void -terminal_state(void) -{ - static const char *puc[] = {"", "<", "=", ">", "?", 0}; - - int i, j, k, l, modes_found; - char *s; - char buf[256], tms[256]; - int mode_puc[MAX_MODES], mode_number[MAX_MODES]; - char set_value[MAX_MODES], reset_value[MAX_MODES]; - char current_value[MAX_MODES]; - - ptext("Testing terminal mode status. (CSI 0 $ p)"); - tc_putp("\033[0$p"); - modes_found = 0; - tms[0] = '\0'; - if (valid_mode(('$' << 8) | 'y')) { - for (i = 0; puc[i]; i++) { - put_crlf(); - if (i) { - sprintf(temp, "Private use: %c", puc[i][0]); - } else { - strcpy(temp, "Standard modes:"); - } - k = strlen(temp); - ptext(temp); - for (j = 0; j < (int) sizeof(buf); buf[j++] = ' ') - ; - for (j = l = 0; j < 255 && j - l < 50; j++) { - sprintf(temp, "\033[%s%d$p", puc[i], j); - tc_putp(temp); - if (!valid_mode(('$' << 8) | 'y')) { - /* not valid, save terminating value */ - s = expand((const char *)ansi_buf); - sprintf(tms, "%s%s%d %s ", tms, - puc[i], j, s); - break; - } - if (private_use != puc[i][0]) - break; - if (ansi_value[0] != j) - break; - if (ansi_value[1]) { - l = j; - if (k > 70) { - buf[k] = '\0'; - put_crlf(); - ptextln(buf); - for (k = 0; k < (int) sizeof(buf);) { - buf[k++] = ' '; - } - k = 0; - } - sprintf(temp, " %d", j); - ptext(temp); - k += strlen(temp); - buf[k - 1] = ansi_value[1] + '0'; - if (modes_found >= MAX_MODES) - continue; - current_value[modes_found] = - ansi_value[1] + '0'; - /* some modes never return */ - if ((i == 0 && j == 13) /* control execution */ - || (puc[i][0] == '?' && j == 2)) /* VT52 */ - set_value[modes_found] = - reset_value[modes_found] = '-'; - else - set_value[modes_found] = - reset_value[modes_found] = ' '; - mode_puc[modes_found] = i; - mode_number[modes_found++] = j; - } - } - buf[k] = '\0'; - if (buf[k - 1] != ' ') { - put_crlf(); - ptext(buf); - } - } - - if ((i = modes_found) != 0) { - put_crlf(); - put_crlf(); - if (tms[0]) { - ptextln(tms); - } - ptext("Hit 'Y' to test mode set/reset states: "); - i = wait_here(); - } - if (i == 'y' || i == 'Y') - while (1) { -#ifdef STATUSFIX - FILE *fp; - -#ifdef TEDANSI - fp = fopen("ted.ansi", "w"); -#else - fp = fopen("/dev/console", "w"); -#endif -#endif - for (i = j = 0; j < modes_found; j = ++i >> 1) { - if (set_value[j] == '-') - continue; - k = (current_value[j] ^ i) & 1; - sprintf(temp, "\033[%s%d%c\033[%s%d$p", - puc[mode_puc[j]], mode_number[j], - k ? 'l' : 'h', - puc[mode_puc[j]], mode_number[j]); -#ifdef STATUSFIX - if (fp) { - fprintf(fp, "%s\n", expand(temp)); - fflush(fp); - } -#endif - tc_putp(temp); - if (!valid_mode(('$' << 8) | 'y')) - continue; - if (k) { - reset_value[j] = ansi_value[1] + '0'; - } else { - set_value[j] = ansi_value[1] + '0'; - } - } - put_str("\033[30l"); /* added for GORT bug - (WY-185) */ -#ifdef STATUSFIX - if (fp) - fclose(fp); -#endif - tty_set(); - /* print the results */ - put_clear(); - putln("mode (initial, set, reset)"); - for (j = 0; j < modes_found; j++) { - mode_display(puc[mode_puc[j]], mode_number[j], - current_value[j], set_value[j], reset_value[j]); - } - ptext("\n\nHit 'R' to repeat test. 'S' to sort results: "); - i = wait_here(); - if (i == 's' || i == 'S') { /* print the same stuff, - sorted by - current_value */ - put_crlf(); - for (i = '1'; i <= '4'; i++) { - for (j = 0; j < modes_found; j++) { - if (current_value[j] == i) - mode_display(puc[mode_puc[j]], - mode_number[j], current_value[j], - set_value[j], reset_value[j]); - } - } - ptext("\n\nHit 'R' to repeat test: "); - i = wait_here(); - } - if (i != 'r' && i != 'R') - break; - tty_raw(1, char_mask); - } - } else { - tty_set(); - } -} - - -/* -** ansi_report_help() -** -** Display the informational data for the ANSI report test. -*/ -static void -ansi_report_help(void) -{ - ptext("Begin ANSI status report testing. "); - ptext(" Parity bit set will be displayed in reverse video. "); - ptext(" If the terminal hangs, hit any alphabetic key. "); - ptextln(" Use n to continue testing. Use q to quit."); - put_crlf(); -} - -/* -** test_ansi_reports() -** -** Test the ANSI status report functions -*/ -void -tools_status( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch) -{ - int i; - - put_clear(); - ansi_report_help(); - tty_raw(1, char_mask); - - do { - i = read_reports(); - if (i != 'r' && i != 'R') { - *ch = i; - return; - } - } while (i); - - if (terminal_class >= 63) { - do { - i = request_cfss(); - } while (i == 'r' || i == 'R'); - *ch = i; - terminal_state(); - } else { - tty_set(); - } -} - - -/* -** display_sgr() -** -** Test a range of ANSI sgr attributes -** puc -> Private Use Character -*/ -static void -display_sgr(int puc) -{ - int k; - - temp[0] = puc; - temp[1] = '\0'; - for (k = 0; k < 80; k++) { - if (char_count + 8 > 80) - put_crlf(); - else if (char_count + 8 > columns) - put_crlf(); - else if (k > 0) - printf(" "); - printf("\033[%s%dmMode %2d\033[0m", temp, k, k); - char_count += 8; - if (puc == '\0') { - if (k == 19) - printf("\033[10m"); - if (k == 39) - printf("\033[37m"); - if (k == 49) - printf("\033[40m"); - } - } - put_crlf(); - if (puc == '<') - printf("\033[<1m"); - else if (puc) - printf("\033[%s0m", temp); - set_attr(0); -} - -/* -** print_sgr20(on, off) -** -** print the sgr line for sgr20() -*/ -static void -print_sgr20(int on, int off) -{ - if (char_count > columns - 13) { - put_crlf(); - } else if (char_count) { - put_str(" "); - } - char_count += 11; - printf("%d/%d \033[%dmon\033[%dm off\033[0m", on, off, on, off); -} - -/* -** sgr20(void) -** -** display the enter/exit attributes 1-9 and 20-29 -*/ -static void -sgr20(void) -{ - int k; - - put_crlf(); - ptextln("Test enter/exit attributes 1-9 and 21-29."); - for (k = 1; k < 10; k++) { - print_sgr20(k, k + 20); - } - print_sgr20(1, 22); /* bold */ - print_sgr20(2, 22); /* dim */ - print_sgr20(8, 22); /* blank */ - printf("\033[0m"); - set_attr(0); -} - -/* -** tools_sgr(testlist, state, ch) -** -** Run the ANSI graphics rendition mode tool -** Return the last character typed. -*/ -void -tools_sgr( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch) -{ - int k; - - put_clear(); - for (k = 0;;) { - display_sgr(k); - put_crlf(); - menu_prompt(); - ptext("/sgr Enter =>] > "); - k = wait_here(); - if ((k == 'r') || (k == 'R')) { - k = 0; - } else if ((k < '<') || (k > '?')) { - break; - } - } - sgr20(); - - put_newlines(2); - *ch = REQUEST_PROMPT; -} - -/***************************************************************************** - * - * Test ANSI graphics - * - *****************************************************************************/ -/* -** select_bank(bank) -** -** select a graphics character set for ANSI terminals -*/ -static void -select_bank(char *bank) -{ - tc_putp(bank); - switch (bank[1] & 3) { - case 0: - putchp('O' & 0x1f); /* control O */ - break; - case 1: - putchp('N' & 0x1f); /* control N */ - tc_putp("\033~"); - break; - case 2: - tc_putp("\033n\033}"); - break; - case 3: - tc_putp("\033o\033|"); - break; - } -} - -/* -** show_characters(bank, bias) -** -** print the ANSI graphics characters -*/ -static void -show_characters(char *bank, int bias) -{ - int i; - - sprintf(temp, "G%d GL ", bank[1] & 3); - ptext(temp); - select_bank(bank); - for (i = ' '; i < 0x80; i++) { - if (char_count >= columns || - (i != ' ' && (i & 31) == 0)) - put_str("\n "); - putchp(i + bias); - } - select_bank(default_bank); - put_str(" DEL <"); - select_bank(bank); - putchp(0x7f + bias); - select_bank(default_bank); - putchp('>'); - put_crlf(); - put_crlf(); -} - - -/* ANSI graphics test - 94 96 character sets - G0 ( , - G1 ) - - G2 * . - G3 + / - -Standard Definitions - A UK - B US ASCII - -Dec extended definitions - 0 Special graphics - - */ - -/* -** tools_charset(testlist, state, ch) -** -** Run the ANSI alt-charset mode tool -*/ -void -tools_charset( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *chp GCC_UNUSED) -{ - int j, ch; - char bank[32]; - - put_clear(); - ptext("Enter the bank ()*+,-./ followed by the character set"); - ptext(" 0123456789:;<=>? for private use, and"); - ptextln(" @A...Z[\\]^_`a...z{|}~ for standard sets."); - strcpy(bank, "\033)0"); - for (; bank[0];) { - put_crlf(); - show_characters(bank, 0); - - /* G0 will not print in GR */ - if (bank[1] & 3) { - show_characters(bank, 0x80); - } - ptext("bank+set> "); - for (j = 1; (ch = getchp(char_mask)); j++) { - if (ch == EOF) - break; - putchp(ch); - if (j == 1 && ch > '/') - j++; - bank[j] = ch; - if (ch < ' ' || ch > '/') - break; - if (j + 1 >= (int) sizeof(bank)) - break; - } - if (j == 1) - break; - if (bank[j] < '0' || bank[j] > '~') - break; - bank[j + 1] = '\0'; - } - put_crlf(); -} diff --git a/src/libs/ncurses/tack/charset.c b/src/libs/ncurses/tack/charset.c deleted file mode 100644 index f1a066e23e..0000000000 --- a/src/libs/ncurses/tack/charset.c +++ /dev/null @@ -1,711 +0,0 @@ -/* -** Copyright (C) 1991, 1997-2000 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ - -#include - -MODULE_ID("$Id: charset.c,v 1.10 2005/09/17 19:49:16 tom Exp $") - -/* - Menu definitions for alternate character set and SGR tests. -*/ - -static void charset_bel(struct test_list *t, int *state, int *ch); -static void charset_flash(struct test_list *t, int *state, int *ch); -static void charset_civis(struct test_list *t, int *state, int *ch); -static void charset_cvvis(struct test_list *t, int *state, int *ch); -static void charset_cnorm(struct test_list *t, int *state, int *ch); -static void charset_hs(struct test_list *t, int *state, int *ch); -static void charset_status(struct test_list *t, int *state, int *ch); -static void charset_dsl(struct test_list *t, int *state, int *ch); -static void charset_enacs(struct test_list *t, int *state, int *ch); -static void charset_smacs(struct test_list *t, int *state, int *ch); -static void charset_attributes(struct test_list *t, int *state, int *ch); -static void charset_sgr(struct test_list *t, int *state, int *ch); - -struct test_list acs_test_list[] = { - {0, 0, 0, 0, "e) edit terminfo", 0, &edit_menu}, - {MENU_NEXT, 3, "bel", 0, 0, charset_bel, 0}, - {MENU_NEXT, 3, "flash", 0, 0, charset_flash, 0}, - {MENU_NEXT, 3, "civis", 0, 0, charset_civis, 0}, - {MENU_NEXT, 3, "cvvis", 0, 0, charset_cvvis, 0}, - {MENU_NEXT, 3, "cnorm", 0, 0, charset_cnorm, 0}, - {MENU_NEXT, 3, "hs", 0, 0, charset_hs, 0}, - {MENU_NEXT, 3, "tsl) (fsl) (wsl", "hs", 0, charset_status, 0}, - {MENU_NEXT, 3, "dsl", "hs", 0, charset_dsl, 0}, - {MENU_NEXT, 0, "acsc) (enacs) (smacs) (rmacs", 0, 0, charset_enacs, 0}, - {MENU_NEXT, 0, "smacs) (rmacs", 0, 0, charset_smacs, 0}, - {MENU_NEXT, 11, 0, 0, 0, charset_attributes, 0}, - {MENU_NEXT, 11, "sgr) (sgr0", "ma", 0, charset_sgr, 0}, - {MENU_LAST, 0, 0, 0, 0, 0, 0} -}; - -const struct mode_list alt_modes[] = { - {"normal", "(sgr0)", "(sgr0)", 1}, - {"standout", "(smso)", "(rmso)", 2}, - {"underline", "(smul)", "(rmul)", 4}, - {"reverse", "(rev)", "(sgr0)", 8}, - {"blink", "(blink)", "(sgr0)", 16}, - {"dim", "(dim)", "(sgr0)", 32}, - {"bold", "(bold)", "(sgr0)", 64}, - {"invis", "(invis)", "(sgr0)", 128}, - {"protect", "(prot)", "(sgr0)", 256}, - {"altcharset", "(smacs)", "(rmacs)", 512} -}; - -/* On many terminals the underline attribute is the last scan line. - This is OK unless the following line is reverse video. - Then the underline attribute does not show up. The following map - will reorder the display so that the underline attribute will - show up. */ -const int mode_map[10] = {0, 1, 3, 4, 5, 6, 7, 8, 9, 2}; - -struct graphics_pair { - unsigned char c; - const char *name; -}; - -static struct graphics_pair glyph[] = { - {'+', "arrow pointing right"}, - {',', "arrow pointing left"}, - {'.', "arrow pointing down"}, - {'0', "solid square block"}, - {'i', "lantern symbol"}, - {'-', "arrow pointing up"}, - {'`', "diamond"}, - {'a', "checker board (stipple)"}, - {'f', "degree symbol"}, - {'g', "plus/minus"}, - {'h', "board of squares"}, - {'j', "lower right corner"}, - {'k', "upper right corner"}, - {'l', "upper left corner"}, - {'m', "lower left corner"}, - {'n', "plus"}, - {'o', "scan line 1"}, - {'p', "scan line 3"}, - {'q', "horizontal line"}, - {'r', "scan line 7"}, - {'s', "scan line 9"}, - {'t', "left tee (|-)"}, - {'u', "right tee (-|)"}, - {'v', "bottom tee(_|_)"}, - {'w', "top tee (T)"}, - {'x', "vertical line"}, - {'y', "less/equal"}, - {'z', "greater/equal"}, - {'{', "Pi"}, - {'|', "not equal"}, - {'}', "UK pound sign"}, - {'~', "bullet"}, - {'\0', "\0"} -}; - -/* -** charset_hs(test_list, status, ch) -** -** (hs) test Has status line -*/ -static void -charset_hs( - struct test_list *t, - int *state, - int *ch) -{ - if (has_status_line != 1) { - ptext("(hs) Has-status line is not defined. "); - generic_done_message(t, state, ch); - } -} - -/* -** charset_status(test_list, status, ch) -** -** (tsl) (fsl) (wsl) test Status line -*/ -static void -charset_status( - struct test_list *t, - int *state, - int *ch) -{ - int i, max; - char *s; - static char m[] = "*** status line *** 123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789."; - - if (has_status_line != 1) { - return; - } - put_clear(); - max = width_status_line == -1 ? columns : width_status_line; - sprintf(temp, "Terminal has status line of %d characters", max); - ptextln(temp); - - put_str("This line s"); - s = tparm(to_status_line, 0); - tc_putp(s); - for (i = 0; i < max; i++) - putchp(m[i]); - tc_putp(from_status_line); - putln("hould not be broken."); - ptextln("If the previous line is not a complete sentence then (tsl) to-status-line, (fsl) from-status-line, or (wsl) width-of-status-line is incorrect." ); - generic_done_message(t, state, ch); -} - -/* -** charset_dsl(test_list, status, ch) -** -** (dsl) test Disable status line -*/ -static void -charset_dsl( - struct test_list *t, - int *state, - int *ch) -{ - if (has_status_line != 1) { - return; - } - if (dis_status_line) { - ptextln("Disable status line (dsl)"); - tc_putp(dis_status_line); - ptext("If you can still see the status line then (dsl) disable-status-line has failed. "); - } else { - ptext("(dsl) Disable-status-line is not defined. "); - } - generic_done_message(t, state, ch); -} - - -void -eat_cookie(void) -{ /* put a blank if this is not a magic cookie - terminal */ - if (magic_cookie_glitch < 1) - putchp(' '); -} - - -void -put_mode(char *s) -{ /* send the attribute string (with or without - % execution) */ - tc_putp(tparm(s)); /* allow % execution */ -} - - -void -set_attr(int a) -{ /* set the attribute from the bits in a */ - int i, b[32]; - - if (magic_cookie_glitch > 0) { - char_count += magic_cookie_glitch; - } - if (a == 0 && exit_attribute_mode) { - put_mode(exit_attribute_mode); - return; - } - for (i = 0; i < 31; i++) { - b[i] = (a >> i) & 1; - } - tc_putp(tparm(set_attributes, b[1], b[2], b[3], b[4], b[5], - b[6], b[7], b[8], b[9])); -} - -/* -** charset_sgr(test_list, status, ch) -** -** (sgr) test Set Graphics Rendition -*/ -static void -charset_sgr( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (!set_attributes) { - ptext("(sgr) Set-graphics-rendition is not defined. "); - generic_done_message(t, state, ch); - return; - } - if (!exit_attribute_mode) { - ptextln("(sgr0) Set-graphics-rendition-zero is not defined."); - /* go ahead and test anyway */ - } - ptext("Test video attributes (sgr)"); - - for (i = 0; i < (int) (sizeof(alt_modes) / sizeof(struct mode_list)); - i++) { - put_crlf(); - sprintf(temp, "%d %-20s", i, alt_modes[i].name); - put_str(temp); - set_attr(alt_modes[i].number); - sprintf(temp, "%s", alt_modes[i].name); - put_str(temp); - set_attr(0); - } - - putln("\n\nDouble mode test"); - for (i = 0; i <= 9; i++) { - sprintf(temp, " %2d ", mode_map[i]); - put_str(temp); - } - for (i = 0; i <= 9; i++) { - put_crlf(); - sprintf(temp, "%d", mode_map[i]); - put_str(temp); - for (j = 0; j <= 9; j++) { - eat_cookie(); - set_attr((1 << mode_map[i]) | (1 << mode_map[j])); - put_str("Aa"); - set_attr(0); - if (j < 9) - eat_cookie(); - } - } - put_crlf(); - -#ifdef max_attributes - if (max_attributes >= 0) { - sprintf(temp, "(ma) Maximum attributes %d ", max_attributes); - ptext(temp); - } -#endif - generic_done_message(t, state, ch); -} - -/* -** test_one_attr(mode-number, begin-string, end-string) -** -** Display one attribute line. -*/ -static void -test_one_attr( - int n, - char *begin_mode, - char *end_mode) -{ - int i; - - sprintf(temp, "%-10s %s ", alt_modes[n].name, alt_modes[n].begin_mode); - ptext(temp); - for (; char_count < 19;) { - putchp(' '); - } - if (begin_mode) { - putchp('.'); - put_mode(begin_mode); - put_str(alt_modes[n].name); - for (i = strlen(alt_modes[n].name); i < 13; i++) { - putchp(' '); - } - if (end_mode) { - put_mode(end_mode); - sprintf(temp, ". %s", alt_modes[n].end_mode); - } else { - set_attr(0); - strcpy(temp, ". (sgr)"); - } - ptextln(temp); - } else { - for (i = 0; i < magic_cookie_glitch; i++) - putchp('*'); - put_str("*** missing ***"); - for (i = 0; i < magic_cookie_glitch; i++) - putchp('*'); - put_crlf(); - } -} - -/* -** charset_attributes(test_list, status, ch) -** -** Test SGR -*/ -static void -charset_attributes( - struct test_list *t, - int *state, - int *ch) -{ - putln("Test video attributes"); - test_one_attr(1, enter_standout_mode, exit_standout_mode); - test_one_attr(2, enter_underline_mode, exit_underline_mode); - test_one_attr(9, enter_alt_charset_mode, exit_alt_charset_mode); - if (!exit_attribute_mode && !set_attributes) { - ptextln("(sgr0) exit attribute mode is not defined."); - generic_done_message(t, state, ch); - return; - } - test_one_attr(3, enter_reverse_mode, exit_attribute_mode); - test_one_attr(4, enter_blink_mode, exit_attribute_mode); - test_one_attr(5, enter_dim_mode, exit_attribute_mode); - test_one_attr(6, enter_bold_mode, exit_attribute_mode); - test_one_attr(7, enter_secure_mode, exit_attribute_mode); - test_one_attr(8, enter_protected_mode, exit_attribute_mode); - generic_done_message(t, state, ch); -} - -#define GLYPHS 256 - -/* -** charset_smacs(test_list, status, ch) -** -** display all possible acs characters -** (smacs) (rmacs) -*/ -static void -charset_smacs( - struct test_list *t, - int *state, - int *ch) -{ - int i, c; - - if (enter_alt_charset_mode) { - put_clear(); - ptextln("The following characters are available. (smacs) (rmacs)"); - for (i = ' '; i <= '`'; i += 32) { - put_crlf(); - put_mode(exit_alt_charset_mode); - for (c = 0; c < 32; c++) { - putchp(c + i); - } - put_crlf(); - put_mode(enter_alt_charset_mode); - for (c = 0; c < 32; c++) { - putchp(c + i); - } - put_mode(exit_alt_charset_mode); - put_crlf(); - } - put_mode(exit_alt_charset_mode); - put_crlf(); - generic_done_message(t, state, ch); - } -} - - -static void -test_acs( - int attr) -{ /* alternate character set */ - int i, j; - char valid_glyph[GLYPHS]; - char acs_table[GLYPHS]; - static unsigned char vt100[] = "`afgjklmnopqrstuvwxyz{|}~"; - - line_count = 0; - for (i = 0; i < GLYPHS; i++) { - valid_glyph[i] = FALSE; - acs_table[i] = i; - } - if (acs_chars) { - sprintf(temp, "Alternate character set map: %s", - expand(acs_chars)); - putln(temp); - for (i = 0; acs_chars[i]; i += 2) { - if (acs_chars[i + 1] == 0) { - break; - } - for (j = 0;; j++) { - if (glyph[j].c == (unsigned char) acs_chars[i]) { - acs_table[glyph[j].c] = acs_chars[i + 1]; - valid_glyph[glyph[j].c] = TRUE; - break; - } - if (glyph[j].name[0] == '\0') { - if (isgraph(UChar(acs_chars[i]))) { - sprintf(temp, " %c", - acs_chars[i]); - } else { - sprintf(temp, " 0x%02x", - UChar(acs_chars[i])); - } - strcpy(&temp[5], " *** has no mapping ***"); - putln(temp); - break; - } - } - } - } else { - ptextln("acs_chars not defined (acsc)"); - /* enable the VT-100 graphics characters (default) */ - for (i = 0; vt100[i]; i++) { - valid_glyph[vt100[i]] = TRUE; - } - } - if (attr) { - set_attr(attr); - } - _nc_init_acs(); /* puts 'ena_acs' and incidentally links acs_map[] */ - for (i = 0; glyph[i].name[0]; i++) { - if (valid_glyph[glyph[i].c]) { - put_mode(enter_alt_charset_mode); - put_this(acs_table[glyph[i].c]); - char_count++; - put_mode(exit_alt_charset_mode); - if (magic_cookie_glitch >= 1) { - sprintf(temp, " %-30.30s", glyph[i].name); - put_str(temp); - if (char_count + 33 >= columns) - put_crlf(); - } else { - sprintf(temp, " %-24.24s", glyph[i].name); - put_str(temp); - if (char_count + 26 >= columns) - put_crlf(); - } - if (line_count >= lines) { - (void) wait_here(); - put_clear(); - } - } - } - if (char_count > 1) { - put_crlf(); - } -#ifdef ACS_ULCORNER - maybe_wait(5); - put_mode(enter_alt_charset_mode); - put_that(ACS_ULCORNER); - put_that(ACS_TTEE); - put_that(ACS_URCORNER); - put_that(ACS_ULCORNER); - put_that(ACS_HLINE); - put_that(ACS_URCORNER); - char_count += 6; - put_mode(exit_alt_charset_mode); - put_crlf(); - put_mode(enter_alt_charset_mode); - put_that(ACS_LTEE); - put_that(ACS_PLUS); - put_that(ACS_RTEE); - put_that(ACS_VLINE); - if (magic_cookie_glitch >= 1) - put_this(' '); - else { - put_mode(exit_alt_charset_mode); - put_this(' '); - put_mode(enter_alt_charset_mode); - } - put_that(ACS_VLINE); - char_count += 6; - put_mode(exit_alt_charset_mode); - put_str(" Here are 2 boxes"); - put_crlf(); - put_mode(enter_alt_charset_mode); - put_that(ACS_LLCORNER); - put_that(ACS_BTEE); - put_that(ACS_LRCORNER); - put_that(ACS_LLCORNER); - put_that(ACS_HLINE); - put_that(ACS_LRCORNER); - char_count += 6; - put_mode(exit_alt_charset_mode); - put_crlf(); -#endif -} - -/* -** charset_bel(test_list, status, ch) -** -** (bel) test Bell -*/ -static void -charset_bel( - struct test_list *t, - int *state, - int *ch) -{ - if (bell) { - ptextln("Testing bell (bel)"); - tc_putp(bell); - ptext("If you did not hear the Bell then (bel) has failed. "); - } else { - ptext("(bel) Bell is not defined. "); - } - generic_done_message(t, state, ch); -} - -/* -** charset_flash(test_list, status, ch) -** -** (flash) test Visual bell -*/ -static void -charset_flash( - struct test_list *t, - int *state, - int *ch) -{ - if (flash_screen) { - ptextln("Testing visual bell (flash)"); - tc_putp(flash_screen); - ptext("If you did not see the screen flash then (flash) has failed. "); - } else { - ptext("(flash) Flash is not defined. "); - } - generic_done_message(t, state, ch); -} - -/* -** charset_civis(test_list, status, ch) -** -** (civis) test Cursor invisible -*/ -static void -charset_civis( - struct test_list *t, - int *state, - int *ch) -{ - if (cursor_normal) { - if (cursor_invisible) { - ptext("(civis) Turn off the cursor. "); - tc_putp(cursor_invisible); - ptext("If you can still see the cursor then (civis) has failed. "); - } else { - ptext("(civis) Cursor-invisible is not defined. "); - } - generic_done_message(t, state, ch); - tc_putp(cursor_normal); - } -} - -/* -** charset_cvvis(test_list, status, ch) -** -** (cvvis) test Cursor very visible -*/ -static void -charset_cvvis( - struct test_list *t, - int *state, - int *ch) -{ - if (cursor_normal) { - if (cursor_visible) { - ptext("(cvvis) Make cursor very visible. "); - tc_putp(cursor_visible); - ptext("If the cursor is not very visible then (cvvis) has failed. "); - } else { - ptext("(cvvis) Cursor-very-visible is not defined. "); - } - generic_done_message(t, state, ch); - tc_putp(cursor_normal); - } -} - -/* -** charset_cnorm(test_list, status, ch) -** -** (cnorm) test Cursor normal -*/ -static void -charset_cnorm( - struct test_list *t, - int *state, - int *ch) -{ - if (cursor_normal) { - ptext("(cnorm) Normal cursor. "); - tc_putp(cursor_normal); - ptext("If the cursor is not normal then (cnorm) has failed. "); - } else { - ptext("(cnorm) Cursor-normal is not defined. "); - } - generic_done_message(t, state, ch); -} - -/* -** charset_enacs(test_list, status, ch) -** -** test Alternate character set mode and alternate characters -** (acsc) (enacs) (smacs) (rmacs) -*/ -static void -charset_enacs( - struct test_list *t, - int *state, - int *ch) -{ - int c, i; - - if (enter_alt_charset_mode || acs_chars) { - c = 0; - while (1) { - put_clear(); - /* - for terminals that use separate fonts for - attributes (such as X windows) the line - drawing characters must be checked for - each font. - */ - if (c >= '0' && c <= '9') { - test_acs(alt_modes[c - '0'].number); - set_attr(0); - } else { - test_acs(0); - } - - while (1) { - ptextln("[r] to repeat, [012345789] to test with attributes on, [?] for a list of attributes, anything else to go to next test. "); - generic_done_message(t, state, ch); - if (*ch != '?') { - break; - } - for (i = 0; i <= 9; i++) { - sprintf(temp, " %d %s %s", i, alt_modes[i].begin_mode, - alt_modes[i].name); - ptextln(temp); - } - } - if (*ch >= '0' && *ch <= '9') { - c = *ch; - } else - if (*ch != 'r') { - break; - } - } - } else { - ptext("(smacs) Enter-alt-char-set-mode and (acsc) Alternate-char-set are not defined. "); - generic_done_message(t, state, ch); - } -} - -/* -** charset_can_test() -** -** Initialize the can_test data base -*/ -void -charset_can_test(void) -{ - int i; - - for (i = 0; i < 9; i++) { - can_test(alt_modes[i].begin_mode, FLAG_CAN_TEST); - can_test(alt_modes[i].end_mode, FLAG_CAN_TEST); - } -} diff --git a/src/libs/ncurses/tack/color.c b/src/libs/ncurses/tack/color.c deleted file mode 100644 index fa2d5d914b..0000000000 --- a/src/libs/ncurses/tack/color.c +++ /dev/null @@ -1,769 +0,0 @@ -/* -** Copyright (C) 1991, 1997 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ - -#include - -MODULE_ID("$Id: color.c,v 1.6 2005/09/17 19:49:16 tom Exp $") - -/* - * Color terminal tests. Has only one entry point: test_color(). - */ - -static void color_check(struct test_list *, int *, int *); -static void color_setf(struct test_list *, int *, int *); -static void color_matrix(struct test_list *, int *, int *); -static void color_ncv(struct test_list *, int *, int *); -static void color_ccc(struct test_list *, int *, int *); -static void color_bce(struct test_list *, int *, int *); - -struct test_list color_test_list[] = { - {0, 0, 0, 0, "e) edit terminfo", 0, &edit_menu}, - {MENU_NEXT, 2, "colors) (pairs", 0, 0, color_check, 0}, - {MENU_NEXT, 12, "setf) (setb) (scp", 0, 0, color_setf, 0}, - {MENU_NEXT, 24, "op", 0, 0, color_matrix, 0}, - {MENU_NEXT, 16, "ncv", 0, 0, color_ncv, 0}, - {MENU_NEXT, 0, "bce", 0, 0, color_bce, 0}, - {MENU_NEXT | MENU_CLEAR, 0, "ccc) (initc) (initp", "hls op oc", 0, color_ccc, 0}, - {MENU_LAST, 0, 0, 0, 0, 0, 0} -}; - -#ifndef COLOR_BLACK -#define COLOR_BLACK 0 -#define COLOR_BLUE 1 -#define COLOR_GREEN 2 -#define COLOR_CYAN 3 -#define COLOR_RED 4 -#define COLOR_MAGENTA 5 -#define COLOR_YELLOW 6 -#define COLOR_WHITE 7 -#endif - -struct color_table { - const char *name; - int index; - int r, g, b; - int h, l, s; -}; - -static struct color_table def_colors[8] = { - {"black ", COLOR_BLACK, 0, 0, 0, 0, 0, 0}, - {"blue ", COLOR_BLUE, 0, 0, 1000, 330, 50, 100}, - {"green ", COLOR_GREEN, 0, 1000, 0, 240, 50, 100}, - {"cyan ", COLOR_CYAN, 0, 1000, 1000, 300, 50, 100}, - {"red ", COLOR_RED, 1000, 0, 0, 120, 50, 100}, - {"magenta", COLOR_MAGENTA, 1000, 0, 1000, 60, 50, 100}, - {"yellow ", COLOR_YELLOW, 1000, 1000, 0, 180, 50, 100}, - {"white ", COLOR_WHITE, 1000, 1000, 1000, 0, 100, 0} -}; - -#define MAX_PAIR 256 -static int fg_color[MAX_PAIR] = {COLOR_BLACK, COLOR_BLUE, COLOR_GREEN, -COLOR_CYAN, COLOR_RED, COLOR_MAGENTA, COLOR_YELLOW, COLOR_WHITE}; -static int bg_color[MAX_PAIR] = {COLOR_BLACK, COLOR_BLACK, COLOR_BLACK, -COLOR_BLACK, COLOR_BLACK, COLOR_BLACK, COLOR_BLACK, COLOR_BLACK}; -static int pairs_used = 8; -static int a_bright_color, bright_value; -static int cookie_monster, color_step, colors_per_line; -static int R, G, B; - -static void reset_colors(void) -{ - tc_putp(orig_colors); - tc_putp(tparm(orig_pair)); -} - -static int -color_trans(int c) -{ /* translate or load the color */ - int i; - - for (i = 0; i < pairs_used; i++) { - if (fg_color[i] == c) { - return i; - } - } - if (!can_change) { - return 0; - } - if (pairs_used > max_colors || pairs_used >= MAX_PAIR) { - pairs_used = 0; - ptextln("Ran out of colors"); - } - fg_color[pairs_used] = c; - bg_color[pairs_used] = c; - if (hue_lightness_saturation) { - tc_putp(tparm(initialize_color, pairs_used, - def_colors[c].h, def_colors[c].l, def_colors[c].s)); - } else { - tc_putp(tparm(initialize_color, pairs_used, - def_colors[c].r, def_colors[c].g, def_colors[c].b)); - } - return pairs_used++; -} - -static void -new_color( - int fg, - int bg, - int hungry) -{ /* change the color to fg and bg. */ - int i; - - if (hungry) { - eat_cookie(); - } - if (set_a_foreground) { - /* set ANSI color (setaf) (setab) */ - tc_putp(tparm(set_a_foreground, fg)); - tc_putp(tparm(set_a_background, bg)); - } else if (set_foreground) { - /* make sure black is zero */ - (void) color_trans(COLOR_BLACK); - tc_putp(tparm(set_foreground, color_trans(fg))); - tc_putp(tparm(set_background, color_trans(bg))); - } else { /* set color pair */ - for (i = 0; i < pairs_used; i++) { - if (fg_color[i] == fg && bg_color[i] == bg) { - tc_putp(tparm(set_color_pair, i)); - if (hungry) { - eat_cookie(); - } - return; - } - } - if (!can_change) { - /* try to set just the foreground */ - for (i = pairs_used - 1; i; i--) { - if (fg_color[i] == fg) - break; - } - tc_putp(tparm(set_color_pair, i)); - if (hungry) { - eat_cookie(); - } - return; - } - if (pairs_used > max_pairs || pairs_used >= MAX_PAIR) { - pairs_used = 0; - ptextln("Ran out of color pairs"); - } - fg_color[pairs_used] = fg; - bg_color[pairs_used] = bg; - if (hue_lightness_saturation) { - tc_putp(tparm(initialize_pair, pairs_used, - def_colors[fg].h, def_colors[fg].l, def_colors[fg].s, - def_colors[bg].h, def_colors[bg].l, def_colors[bg].s)); - } else { - tc_putp(tparm(initialize_pair, pairs_used, - def_colors[fg].r, def_colors[fg].g, def_colors[fg].b, - def_colors[bg].r, def_colors[bg].g, def_colors[bg].b)); - } - tc_putp(tparm(set_color_pair, pairs_used)); - pairs_used++; - } - if (hungry) { - eat_cookie(); - } -} - - -static void -set_color_step(void) -{ /* set the color_step for the (ccc) display */ - int i; - - for (i = 2; i < 1000; i++) { - if ((i * i * i) >= max_colors) { - break; - } - } - color_step = 1000 / (i - 1); -} - - -static void -rgb_2_hls(int r, int g, int b, int *h, int *l, int *s) -{ /* convert RGB to HLS system */ - int min, max, t; - - if ((min = g < r ? g : r) > b) { - min = b; - } - if ((max = g > r ? g : r) < b) { - max = b; - } - - /* calculate lightness */ - *l = (min + max) / 20; - - if (min == max) { /* black, white and all shades of gray */ - *h = 0; - *s = 0; - return; - } - /* calculate saturation */ - if (*l < 50) { - *s = ((max - min) * 100) / (max + min); - } else { - *s = ((max - min) * 100) / (2000 - max - min); - } - - /* calculate hue */ - if (r == max) { - t = 120 + ((g - b) * 60) / (max - min); - } else if (g == max) { - t = 240 + ((b - r) * 60) / (max - min); - } else { - t = 360 + ((r - g) * 60) / (max - min); - } - *h = t % 360; -} - - -static void -send_color(int p, int r, int g, int b) -{ /* send the initialize_color (initc) command */ - int h, l, s; - - if (hue_lightness_saturation) { - rgb_2_hls(r, g, b, &h, &l, &s); - tc_putp(tparm(initialize_color, p, h, l, s)); - } else { - tc_putp(tparm(initialize_color, p, r, g, b)); - } -} - - -static void -send_pair(int p, int fr, int fg, int fb, int br, int bg, int bb) -{ /* send the initialize_pair (initp) command */ - int fh, fl, fs, bh, bl, bs; - - if (hue_lightness_saturation) { - rgb_2_hls(fr, fg, fb, &fh, &fl, &fs); - rgb_2_hls(br, bg, bb, &bh, &bl, &bs); - tc_putp(tparm(initialize_pair, p, fh, fl, fs, bh, bl, bs)); - } else { - tc_putp(tparm(initialize_pair, p, fr, fg, fb, bb, bg, bb)); - } -} - - -static int -load_palette(int n) -{ /* load the color palette */ - int rgb; - - for (;;) { - if (pairs_used >= n) { - return FALSE; - } - if (set_a_foreground || set_foreground) { - if (pairs_used >= max_colors) { - return FALSE; - } - send_color(pairs_used, R, G, B); - rgb = R + G + B; - if (rgb > bright_value) { - bright_value = rgb; - a_bright_color = pairs_used; - } - } else { - if (pairs_used >= max_pairs) { - return FALSE; - } - if (pairs_used == 0) { - send_pair(pairs_used, 1000, 1000, 1000, R, G, B); - } else { - send_pair(pairs_used, R, G, B, R, G, B); - } - } - pairs_used++; - if ((B += color_step) > 1000) { - B = 0; - if ((G += color_step) > 1000) { - G = 0; - if ((R += color_step) > 1000) { - return TRUE; - } - } - } - } -} - - -static int -rainbow(int n) -{ /* print the programmable color display */ - int i, c, d, palette_full, initial_pair; - static const struct { - const char *name; - char ch; - } splat[] = { - {"Bg normal", ' '}, - {"Fg normal", ' '}, - {0, 0} - }; - - if ((set_a_foreground || set_foreground) - ? pairs_used >= max_colors - : pairs_used >= max_pairs) { - ptext("New palette: "); - (void) wait_here(); - initial_pair = pairs_used = 1; - bright_value = 0; - } else if (line_count + 3 >= lines) { - ptext("Go: "); - (void) wait_here(); - put_clear(); - initial_pair = pairs_used = 1; - bright_value = 0; - n++; - } else { - initial_pair = pairs_used; - n += initial_pair; - } - palette_full = load_palette(n); - for (d = 0; splat[d].name; d++) { - c = splat[d].ch; - if (d == 1) { - put_mode(enter_reverse_mode); - } - for (i = initial_pair; i < n; i++) { - if (i >= pairs_used) { - break; - } - if (set_a_foreground) { - if (i >= max_colors) { - break; - } - tc_putp(tparm(set_a_foreground, i)); - tc_putp(tparm(set_a_background, i)); - } else if (set_foreground) { - if (i >= max_colors) { - break; - } - tc_putp(tparm(set_foreground, i)); - tc_putp(tparm(set_background, i)); - } else { - if (i >= max_pairs) { - break; - } - tc_putp(tparm(set_color_pair, i)); - } - putchp(c); - } - if (d == 1) { - put_mode(exit_attribute_mode); - } - if (set_a_foreground) { - tc_putp(tparm(set_a_foreground, a_bright_color)); - tc_putp(tparm(set_a_background, 0)); - } else if (set_foreground) { - tc_putp(tparm(set_foreground, a_bright_color)); - tc_putp(tparm(set_background, 0)); - } else { - tc_putp(tparm(set_color_pair, 0)); - } - put_str(" "); - put_str(splat[d].name); - put_crlf(); - } - return palette_full; -} - - -static void -ncv_display(int m) -{ /* print the no_color_video (ncv) test line */ - putchp('0' + m); - putchp(' '); - eat_cookie(); - set_attr(1 << m); - sprintf(temp, "%-11s", alt_modes[m].name); - put_str(temp); - - new_color(COLOR_BLUE, COLOR_BLACK, TRUE); - put_str("blue"); - - new_color(COLOR_BLACK, COLOR_GREEN, TRUE); - put_str("green"); - - new_color(COLOR_WHITE, COLOR_BLACK, TRUE); - put_str(alt_modes[m].name); - eat_cookie(); - set_attr(0); - reset_colors(); - put_crlf(); -} - - -static void -dump_colors(void) -{ /* display the colors in some esthetic - pattern */ - static int xmap[8] = {0, 3, 4, 7, 1, 2, 5, 6}; - int i, j, k, xi, xj, width, p, cs; - int found_one; - - cs = color_step <= 125 ? 125 : color_step; - width = (1000 / cs) + 1; - for (xi = 0; xi < 16; xi++) { - i = (xi & 8) ? xi ^ 15 : xi; - R = i * cs; - if (R <= 1000) { - found_one = FALSE; - for (xj = 0; xj < 32; xj++) { - j = ((xj & 8) ? xj ^ 15 : xj) & 7; - k = xmap[((xi >> 1) & 4) + (xj >> 3)]; - G = j * cs; - B = k * cs; - if (G <= 1000 && B <= 1000) { - p = (k * width + j) * width + i; - if (set_a_background) { - if (p >= max_colors) { - continue; - } - send_color(p, R, G, B); - tc_putp(tparm(set_a_background, p)); - } else if (set_background) { - if (p >= max_colors) { - continue; - } - send_color(p, R, G, B); - tc_putp(tparm(set_background, p)); - } else { - if (p >= max_pairs) { - continue; - } - send_pair(p, R, G, B, R, G, B); - tc_putp(tparm(set_color_pair, p)); - } - found_one = TRUE; - putchp(' '); - putchp(' '); - } - } - if (found_one) { - put_crlf(); - } - } - } -} - -/* -** color_check(test_list, status, ch) -** -** test (colors) and (pairs) -*/ -static void -color_check( - struct test_list *t, - int *state, - int *ch) -{ - if (max_colors <= 0 && max_pairs <= 0) { - ptext("This is not a color terminal; (colors) and (pairs) are missing. "); - *state |= MENU_STOP; - } else { - sprintf(temp, "This terminal can display %d colors and %d color pairs. (colors) (pairs)", - max_colors, max_pairs); - ptextln(temp); - } - generic_done_message(t, state, ch); -} - -/* -** color_setf(test_list, status, ch) -** -** test (setf) (setb) and (scp) -*/ -static void -color_setf( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (max_colors <= 0 && max_pairs <= 0) { - ptext("This is not a color terminal; (colors) and (pairs) are missing. "); - generic_done_message(t, state, ch); - *state |= MENU_STOP; - return; - } - if ((set_a_foreground == NULL || set_a_background == NULL) - && (set_foreground == NULL || set_background == NULL) - && set_color_pair == NULL) { - ptextln("Both set foreground (setaf/setf) and set color pair (scp) are not present."); - if (!set_a_background || !set_background) { - ptextln("(setab/setb) set background not present"); - } - ptext("These must be defined for color testing. "); - generic_done_message(t, state, ch); - *state |= MENU_STOP; - return; - } - /* initialize the color palette */ - pairs_used = max_colors >= 8 ? 8 : max_colors; - reset_colors(); - new_color(COLOR_WHITE, COLOR_BLACK, FALSE); - - ptextln("(setf) (setb) (scp) The following colors are predefined:"); - ptextln("\n Foreground Background"); - put_crlf(); - j = max_colors > 8 ? 8 : max_colors; - /* - * the black on white test is the same as the white on black test. - */ - for (i = 1; i < j; i++) { - putchp('0' + def_colors[i].index); - putchp(' '); - sprintf(temp, " %s ", def_colors[i].name); - - new_color(def_colors[i].index, COLOR_BLACK, TRUE); - put_str(temp); - - new_color(COLOR_BLACK, COLOR_BLACK, TRUE); - put_str(" "); - - new_color(COLOR_BLACK, def_colors[i].index, TRUE); - put_str(temp); - - new_color(COLOR_WHITE, COLOR_BLACK, FALSE); - put_crlf(); - } - reset_colors(); - put_crlf(); - generic_done_message(t, state, ch); -} - -/* -** color_matrix(test_list, status, ch) -** -** test (pairs) (op) -*/ -static void -color_matrix( - struct test_list *t, - int *state, - int *ch) -{ - int i, j, matrix_size, matrix_area, brightness; - - matrix_size = max_colors > 8 ? 8 : max_colors; - - sprintf(temp, "(pairs) There are %d color pairs.", max_pairs); - ptextln(temp); - - for ( ; matrix_size; matrix_size--) { - if (matrix_size * matrix_size <= max_pairs) { - break; - } - } - matrix_area = matrix_size * matrix_size; - for (brightness = 0; brightness < 2; brightness++) { - put_crlf(); - sprintf(temp, - "%dx%d matrix of foreground/background colors, bright *o%s*", - matrix_size, matrix_size, brightness ? "n" : "ff"); - put_str(temp); - - put_str("\n "); - for (i = 0; i < matrix_size; i++) { - (void) sprintf(temp, "%-8s", def_colors[i].name); - put_str(temp); - } - for (j = 0; j < matrix_area; j++) { - if (j % matrix_size == 0) { - reset_colors(); - put_crlf(); - if (brightness) { - tc_putp(exit_attribute_mode); - } - (void) sprintf(temp, "%-8s", def_colors[j / matrix_size].name); - put_str(temp); - if (brightness) { - put_mode(enter_bold_mode); - } - } - new_color(def_colors[j % matrix_size].index, - def_colors[j / matrix_size].index, - FALSE); - put_str(" Hello "); - } - reset_colors(); - if (brightness) { - tc_putp(exit_attribute_mode); - } - put_crlf(); - } - generic_done_message(t, state, ch); -} - -/* -** color_ncv(test_list, status, ch) -** -** test (ncv) -*/ -static void -color_ncv( - struct test_list *t, - int *state, - int *ch) -{ - int i; - - if (no_color_video == -1) { - /* I have no idea what this means */ - return; - } - sprintf(temp, "According to no_color_video (ncv) which is %d, the following attributes should work correctly with color.", no_color_video); - ptextln(temp); - put_crlf(); - set_attr(0); - ncv_display(0); - for (i = 1; i <= 9; i++) { - if (((no_color_video >> (mode_map[i] - 1)) & 1) == 0) { - ncv_display(mode_map[i]); - } - } - if (no_color_video & 0x3ff) { - ptextln("\nThe following attributes should not work correctly with color. (ncv)\n"); - for (i = 1; i <= 9; i++) { - if ((no_color_video >> (mode_map[i] - 1)) & 1) { - ncv_display(mode_map[i]); - } - } - } - reset_colors(); - put_crlf(); - generic_done_message(t, state, ch); -} - -/* -** color_bce(test_list, status, ch) -** -** test (bce) background color erase -*/ -static void -color_bce( - struct test_list *t, - int *state, - int *ch) -{ - new_color(COLOR_CYAN, COLOR_BLUE, FALSE); - put_clear(); - put_newlines(2); - reset_colors(); - ptextln("If the two lines above are blue then back_color_erase (bce) should be true."); - sprintf(temp, "(bce) is %s in the data base.", back_color_erase ? "true" : "false"); - ptextln(temp); - generic_done_message(t, state, ch); -} - -/* -** color_ccc(test_list, status, ch) -** -** test (ccc) color palette test (oc) (op) (initc) (initp) -*/ -static void -color_ccc( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (!can_change) { - ptextln("Terminal can not change colors (ccc)"); - generic_done_message(t, state, ch); - return; - } - reset_colors(); - pairs_used = 0; - new_color(COLOR_WHITE, COLOR_BLACK, FALSE); - sprintf(temp, "Reloading colors (init%c) using %s method", - set_foreground ? 'c' : 'p', - hue_lightness_saturation ? "HLS" : "RGB"); - ptextln(temp); - put_crlf(); - j = max_colors > 7 ? 7 : max_colors; - /* redisplay the above test with reinitialized colors */ - /* If these colors don't look right to you... */ - for (i = 0; i < j; i++) { - sprintf(temp, " %s ", def_colors[i ^ 7].name); - - new_color(i ^ 7, COLOR_BLACK, TRUE); - put_str(temp); - - new_color(COLOR_BLACK, COLOR_BLACK, TRUE); - put_str(" "); - - new_color(COLOR_BLACK, i ^ 7, TRUE); - put_str(temp); - - new_color(COLOR_WHITE, COLOR_BLACK, FALSE); - put_crlf(); - } - generic_done_message(t, state, ch); - if (*ch != 0 && *ch != 'n') { - reset_colors(); - return; - } - - pairs_used = 0; - cookie_monster = 0; - if (magic_cookie_glitch > 0) { - cookie_monster = - ((set_a_foreground || set_foreground) - ? magic_cookie_glitch : 0) + - ((set_a_background || set_background) - ? magic_cookie_glitch : 0) + - (set_color_pair ? magic_cookie_glitch : 0); - } - set_color_step(); - colors_per_line = max_colors > max_pairs - ? max_pairs : max_colors; - j = (columns - 14) / (cookie_monster + 1); - if (colors_per_line > j) { - colors_per_line = (j / i) * i; - } - sprintf(temp, "RGB color step %d, cookies %d", color_step, - cookie_monster); - ptextln(temp); - - R = G = B = 0; - pairs_used = 0; - for (;;) { - if (rainbow(colors_per_line)) { - break; - } - } - generic_done_message(t, state, ch); - if (*ch != 0 && *ch != 'n') { - reset_colors(); - return; - } - dump_colors(); - reset_colors(); - generic_done_message(t, state, ch); -} diff --git a/src/libs/ncurses/tack/control.c b/src/libs/ncurses/tack/control.c deleted file mode 100644 index 54736d3609..0000000000 --- a/src/libs/ncurses/tack/control.c +++ /dev/null @@ -1,654 +0,0 @@ -/* -** Copyright (C) 1991, 1997 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ - -#include - -#if HAVE_SYS_TIME_H -#include -#endif - -MODULE_ID("$Id: control.c,v 1.8 2005/09/17 19:49:16 tom Exp $") - -/* terminfo test program control subroutines */ - -#if HAVE_GETTIMEOFDAY -#define MY_TIMER struct timeval -#else -#define MY_TIMER time_t -#endif - -/* globals */ -int test_complete; /* counts number of tests completed */ - -char txt_longer_test_time[80]; /* +) use longer time */ -char txt_shorter_test_time[80]; /* -) use shorter time */ -static int pad_test_duration = 1; /* number of seconds for a pad test */ -int auto_pad_mode; /* run the time tests */ -int no_alarm_event; /* TRUE if the alarm has not gone off yet */ -unsigned long usec_run_time; /* length of last test in microseconds */ -static MY_TIMER stop_watch[MAX_TIMERS]; /* Hold the start timers */ - -char txt_longer_augment[80]; /* >) use bigger augment */ -char txt_shorter_augment[80]; /* <) use smaller augment */ - -/* caps under test data base */ -int tt_delay_max; /* max number of milliseconds we can delay */ -int tt_delay_used; /* number of milliseconds consumed in delay */ -const char *tt_cap[TT_MAX]; /* value of string */ -int tt_affected[TT_MAX]; /* lines or columns effected (repetition factor) */ -int tt_count[TT_MAX]; /* Number of times sent */ -int tt_delay[TT_MAX]; /* Number of milliseconds delay */ -int ttp; /* number of entries used */ - -/* Saved value of the above data base */ -const char *tx_cap[TT_MAX]; /* value of string */ -int tx_affected[TT_MAX]; /* lines or columns effected (repetition factor) */ -int tx_count[TT_MAX]; /* Number of times sent */ -int tx_index[TT_MAX]; /* String index */ -int tx_delay[TT_MAX]; /* Number of milliseconds delay */ -int txp; /* number of entries used */ -int tx_characters; /* printing characters sent by test */ -unsigned long tx_cps; /* characters per second */ -static struct test_list *tx_source; /* The test that generated this data */ - -#define RESULT_BLOCK 1024 -static int blocks; /* number of result blocks available */ -static struct test_results *results; /* pointer to next available */ -static struct test_results *pads[STRCOUNT]; /* save pad results here */ - -/* -** event_start(number) -** -** Begin the stopwatch at the current time-of-day. -*/ -void -event_start(int n) -{ -#if HAVE_GETTIMEOFDAY - (void) gettimeofday(&stop_watch[n], (struct timezone *)0); -#else - stop_watch[n] = time((time_t *)0); -#endif -} - -/* -** event_time(number) -** -** Return the number of milliseconds since this stop watch began. -*/ -long -event_time(int n) -{ -#if HAVE_GETTIMEOFDAY - MY_TIMER current_time; - - (void) gettimeofday(¤t_time, (struct timezone *)0); - return ((current_time.tv_sec - stop_watch[n].tv_sec) * 1000000) - + current_time.tv_usec - stop_watch[n].tv_usec; -#else - return (time((time_t *)0) - stop_watch[n]) * 1000; -#endif -} - -/***************************************************************************** - * - * Execution control for string capability tests - * - *****************************************************************************/ - -/* -** get_next_block() -** -** Get a results block for pad test data. -*/ -static struct test_results * -get_next_block(void) -{ - if (blocks <= 0) { - results = (struct test_results *) - malloc(sizeof(struct test_results) * RESULT_BLOCK); - if (!results) { - ptextln("Malloc failed"); - return (struct test_results *) 0; - } - blocks = RESULT_BLOCK; - } - blocks--; - return results++; -} - -/* -** set_augment_txt() -** -** Initialize the augment menu selections -*/ -void -set_augment_txt(void) -{ - sprintf(txt_longer_augment, - ">) Change lines/characters effected to %d", augment << 1); - sprintf(txt_shorter_augment, - "<) Change lines/characters effected to %d", augment >> 1); -} - -void -control_init(void) -{ - sprintf(txt_longer_test_time, "+) Change test time to %d seconds", - pad_test_duration + 1); - sprintf(txt_shorter_test_time, "-) Change test time to %d seconds", - pad_test_duration - 1); - set_augment_txt(); -} - -/* -** msec_cost(cap, affected-count) -** -** Return the number of milliseconds delay needed by the cap. -*/ -int -msec_cost( - const char *const cap, - int affcnt) -{ - int dec, value, total, star, ch; - const char *cp; - - if (!cap) { - return 0; - } - total = 0; - for (cp = cap; *cp; cp++) { - if (*cp == '$' && cp[1] == '<') { - star = 1; - value = dec = 0; - for (cp += 2; (ch = *cp); cp++) { - if (ch >= '0' && ch <= '9') { - value = value * 10 + (ch - '0'); - dec *= 10; - } else - if (ch == '.') { - dec = 1; - } else - if (ch == '*') { - star = affcnt; - } else - if (ch == '>') { - break; - } - } - if (dec > 1) { - total += (value * star) / dec; - } else { - total += (value * star); - } - } - } - return total; -} - -/* -** liberated(cap) -** -** Return the cap without padding -*/ -char * -liberated(char *cap) -{ - static char cb[1024]; - char *ts, *ls; - - cb[0] = '\0'; - ls = NULL; - if (cap) { - for (ts = cb; (*ts = *cap); ++cap) { - if (*cap == '$' && cap[1] == '<') { - ls = ts; - } - ++ts; - if (*cap == '>') { - if (ls) { - ts = ls; - ls = NULL; - } - } - } - } - return cb; -} - -/* -** page_loop() -** -** send CR/LF or go home and bump letter -*/ -void -page_loop(void) -{ - if (line_count + 2 >= lines) { - NEXT_LETTER; - go_home(); - } else { - put_crlf(); - } -} - -/* -** skip_pad_test(test-list-entry, state, ch, text) -** -** Print the start test line. Handle start up commands. -** Return TRUE if a return is requested. -*/ -int -skip_pad_test( - struct test_list *test, - int *state, - int *ch, - const char *text) -{ - char rep_text[16]; - - while(1) { - if (text) { - ptext(text); - } - if ((test->flags & MENU_LC_MASK)) { - sprintf(rep_text, " *%d", augment); - ptext(rep_text); - } - ptext(" [n] > "); - *ch = wait_here(); - if (*ch == 's') { - /* Skip is converted to next */ - *ch = 'n'; - return TRUE; - } - if (*ch == 'q') { - /* Quit is converted to help */ - *ch = '?'; - return TRUE; - } - if (*ch == '\r' || *ch == '\n' || *ch == 'n' || *ch == 'r') { - /* this is the only response that allows the test to run */ - *ch = 0; - } - if (subtest_menu(pad_test_list, state, ch)) { - continue; - } - return (*ch != 0); - } -} - -/* -** pad_done_message(test_list) -** -** Print the Done message and request input. -*/ -void -pad_done_message( - struct test_list *test, - int *state, - int *ch) -{ - int default_action = 0; - char done_message[128]; - char rep_text[16]; - - while (1) { - if ((test->flags & MENU_LC_MASK)) { - sprintf(rep_text, "*%d", augment); - } else { - rep_text[0] = '\0'; - } - if (test->caps_done) { - sprintf(done_message, "(%s)%s Done ", test->caps_done, - rep_text); - ptext(done_message); - } else { - if (rep_text[0]) { - ptext(rep_text); - ptext(" "); - } - ptext("Done "); - } - if (debug_level & 2) { - dump_test_stats(test, state, ch); - } else { - *ch = wait_here(); - } - if (*ch == '\r' || *ch == '\n') { - *ch = default_action; - return; - } - if (*ch == 's' || *ch == 'n') { - *ch = 0; - return; - } - if (strchr(pad_repeat_test, *ch)) { - /* default action is now repeat */ - default_action = 'r'; - } - if (subtest_menu(pad_test_list, state, ch)) { - continue; - } - return; - } -} - -/* -** sliding_scale(dividend, factor, divisor) -** -** Return (dividend * factor) / divisor -*/ -int -sliding_scale( - int dividend, - int factor, - unsigned long divisor) -{ - double d = dividend; - - if (divisor) { - d = (d * (double) factor) / (double) divisor; - return (int) (d + 0.5); - } - return 0; -} - -/* -** pad_test_startup() -** -** Do the stuff needed to begin a test. -*/ -void -pad_test_startup( - int do_clear) -{ - if (do_clear) { - put_clear(); - } - repeats = augment; - raw_characters_sent = 0; - test_complete = ttp = char_count = tt_delay_used = 0; - letter = letters[letter_number = 0]; - if (pad_test_duration <= 0) { - pad_test_duration = 1; - } - tt_delay_max = pad_test_duration * 1000; - set_alarm_clock(pad_test_duration); - event_start(TIME_TEST); -} - -/* -** still_testing() -** -** This function is called to see if the test loop should be terminated. -*/ -int -still_testing(void) -{ - fflush(stdout); - test_complete++; - return EXIT_CONDITION; -} - -/* -** pad_test_shutdown() -** -** Do the stuff needed to end a test. -*/ -void -pad_test_shutdown( - struct test_list *t, - int crlf) -{ - int i; - int counts; /* total counts */ - int ss; /* Save string index */ - int cpo; /* characters per operation */ - int delta; /* difference in characters */ - int bogus; /* Time is inaccurate */ - struct test_results *r; /* Results of current test */ - int ss_index[TT_MAX]; /* String index */ - - if (tty_can_sync == SYNC_TESTED) { - bogus = tty_sync_error(); - } else { - bogus = 1; - } - usec_run_time = event_time(TIME_TEST); - tx_source = t; - tx_characters = raw_characters_sent; - tx_cps = sliding_scale(tx_characters, 1000000, usec_run_time); - - /* save the data base */ - for (txp = ss = counts = 0; txp < ttp; txp++) { - tx_cap[txp] = tt_cap[txp]; - tx_count[txp] = tt_count[txp]; - tx_delay[txp] = tt_delay[txp]; - tx_affected[txp] = tt_affected[txp]; - tx_index[txp] = get_string_cap_byvalue(tt_cap[txp]); - if (tx_index[txp] >= 0) { - if (cap_match(t->caps_done, strnames[tx_index[txp]])) { - ss_index[ss++] = txp; - counts += tx_count[txp]; - } - } - } - - if (crlf) { - put_crlf(); - } - if (counts == 0 || tty_cps == 0 || bogus) { - /* nothing to do */ - return; - } - /* calculate the suggested pad times */ - delta = usec_run_time - sliding_scale(tx_characters, 1000000, tty_cps); - if (delta < 0) { - /* probably should bump tx_characters */ - delta = 0; - } - cpo = delta / counts; - for (i = 0; i < ss; i++) { - if (!(r = get_next_block())) { - return; - } - r->next = pads[tx_index[ss_index[i]]]; - pads[tx_index[ss_index[i]]] = r; - r->test = t; - r->reps = tx_affected[ss_index[i]]; - r->delay = cpo; - } -} - -/* -** show_cap_results(index) -** -** Display the previous results -*/ -static void -show_cap_results( - int x) -{ - struct test_results *r; /* a result */ - int delay; - - if ((r = pads[x])) { - sprintf(temp, "(%s)", strnames[x]); - ptext(temp); - while (r) { - sprintf(temp, "$<%d>", r->delay / 1000); - put_columns(temp, (int) strlen(temp), 10); - r = r->next; - } - r = pads[x]; - while (r) { - if (r->reps > 1) { - delay = r->delay / (r->reps * 100); - sprintf(temp, "$<%d.%d*>", delay / 10, delay % 10); - put_columns(temp, (int) strlen(temp), 10); - } - r = r->next; - } - put_crlf(); - } -} - -/* -** dump_test_stats(test_list, status, ch) -** -** Dump the statistics about the last test -*/ -void -dump_test_stats( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - char tbuf[32]; - int x[32]; - - put_crlf(); - if (tx_source && tx_source->caps_done) { - cap_index(tx_source->caps_done, x); - if (x[0] >= 0) { - sprintf(temp, "Caps summary for (%s)", - tx_source->caps_done); - ptextln(temp); - for (i = 0; x[i] >= 0; i++) { - show_cap_results(x[i]); - } - put_crlf(); - } - } - sprintf(tbuf, "%011lu", usec_run_time); - sprintf(temp, "Test time: %lu.%s, characters per second %lu, characters %d", - usec_run_time / 1000000UL, &tbuf[5], tx_cps, tx_characters); - ptextln(temp); - for (i = 0; i < txp; i++) { - if ((j = get_string_cap_byvalue(tx_cap[i])) >= 0) { - sprintf(tbuf, "(%s)", strnames[j]); - } else { - strcpy(tbuf, "(?)"); - } - sprintf(temp, "%8d %3d $<%3d> %8s %s", - tx_count[i], tx_affected[i], tx_delay[i], - tbuf, expand(tx_cap[i])); - putln(temp); - } - generic_done_message(t, state, ch); -} - -/* -** longer_test_time(test_list, status, ch) -** -** Extend the number of seconds for each test. -*/ -void -longer_test_time( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch) -{ - pad_test_duration += 1; - sprintf(txt_longer_test_time, "+) Change test time to %d seconds", - pad_test_duration + 1); - sprintf(txt_shorter_test_time, "-) Change test time to %d seconds", - pad_test_duration - 1); - sprintf(temp, "Tests will run for %d seconds", pad_test_duration); - ptext(temp); - *ch = REQUEST_PROMPT; -} - -/* -** shorter_test_time(test_list, status, ch) -** -** Shorten the number of seconds for each test. -*/ -void -shorter_test_time( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch) -{ - if (pad_test_duration > 1) { - pad_test_duration -= 1; - sprintf(txt_longer_test_time, "+) Change test time to %d seconds", - pad_test_duration + 1); - sprintf(txt_shorter_test_time, "-) Change test time to %d seconds", - pad_test_duration - 1); - } - sprintf(temp, "Tests will run for %d second%s", pad_test_duration, - pad_test_duration > 1 ? "s" : ""); - ptext(temp); - *ch = REQUEST_PROMPT; -} - -/* -** longer_augment(test_list, status, ch) -** -** Lengthen the number of lines/characters effected -*/ -void -longer_augment( - struct test_list *t, - int *state GCC_UNUSED, - int *ch) -{ - augment <<= 1; - set_augment_txt(); - if (augment_test) { - t = augment_test; - } - sprintf(temp, "The pad tests will effect %d %s.", augment, - ((t->flags & MENU_LC_MASK) == MENU_lines) ? - "lines" : "characters"); - ptextln(temp); - *ch = REQUEST_PROMPT; -} - -/* -** shorter_augment(test_list, status, ch) -** -** Shorten the number of lines/characters effected -*/ -void -shorter_augment( - struct test_list *t, - int *state GCC_UNUSED, - int *ch) -{ - if (augment > 1) { - /* don't let the augment go to zero */ - augment >>= 1; - } - set_augment_txt(); - if (augment_test) { - t = augment_test; - } - sprintf(temp, "The pad tests will effect %d %s.", augment, - ((t->flags & MENU_LC_MASK) == MENU_lines) ? - "lines" : "characters"); - ptextln(temp); - *ch = REQUEST_PROMPT; -} diff --git a/src/libs/ncurses/tack/crum.c b/src/libs/ncurses/tack/crum.c deleted file mode 100644 index 1b72e1eb35..0000000000 --- a/src/libs/ncurses/tack/crum.c +++ /dev/null @@ -1,426 +0,0 @@ -/* -** Copyright (C) 1991, 1997 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ - -#include - -MODULE_ID("$Id: crum.c,v 1.4 2005/09/17 19:49:16 tom Exp $") - -/* - * Test cursor movement. - */ - -static void crum_clear(struct test_list *t, int *state, int *ch); -static void crum_home(struct test_list *t, int *state, int *ch); -static void crum_ll(struct test_list *t, int *state, int *ch); -static void crum_move(struct test_list *t, int *state, int *ch); -static void crum_os(struct test_list *t, int *state, int *ch); - -static char crum_text[5][80]; - -struct test_list crum_test_list[] = { - {0, 0, 0, 0, "e) edit terminfo", 0, &edit_menu}, - {MENU_NEXT, 0, "clear", 0, 0, crum_clear, 0}, - {MENU_NEXT, 0, "home", 0, 0, crum_home, 0}, - {MENU_NEXT, 0, "ll", 0, 0, crum_ll, 0}, - {MENU_NEXT, 0, crum_text[0], "home cuu1", 0, crum_move, 0}, - {MENU_NEXT + 1, 0, crum_text[1], "cub1 cud1 cuf1 cuu1", 0, crum_move, 0}, - {MENU_NEXT + 2, 0, crum_text[2], "cub cud cuf cuu", 0, crum_move, 0}, - {MENU_NEXT + 3, 0, crum_text[3], "vpa hpa", 0, crum_move, 0}, - {MENU_NEXT + 4, 0, crum_text[4], "cup", 0, crum_move, 0}, - {MENU_NEXT, 0, "cup", "os", 0, crum_os, 0}, - {MENU_LAST, 0, 0, 0, 0, 0, 0} -}; - -/* -** move_to(from-row, from-column, to-row, to-column, selection) -** -** move the cursor from (rf, cf) to (rt, ct) using sel -*/ -static void -move_to( - int rf, - int cf, - int rt, - int ct, - int sel) -{ - char *s; - - if (sel & 16) { /* use (cup) */ - s = tparm(cursor_address, rt, ct); - tputs(s, lines, tc_putch); - return; - } - if (sel & 8) { /* use (hpa) (vpa) */ - if (column_address) { - s = tparm(column_address, ct); - tputs(s, 1, tc_putch); - cf = ct; - } - if (row_address) { - s = tparm(row_address, rt); - tputs(s, 1, tc_putch); - rf = rt; - } - } - if (sel & 4) { /* parameterized relative cursor movement */ - if (parm_right_cursor) - if (cf < ct) { - s = tparm(parm_right_cursor, ct - cf); - tputs(s, ct - cf, tc_putch); - cf = ct; - } - if (parm_left_cursor) - if (cf > ct) { - s = tparm(parm_left_cursor, cf - ct); - tputs(s, cf - ct, tc_putch); - cf = ct; - } - if (parm_down_cursor) - if (rf < rt) { - s = tparm(parm_down_cursor, rt - rf); - tputs(s, rt - rf, tc_putch); - rf = rt; - } - if (parm_up_cursor) - if (rf > rt) { - s = tparm(parm_up_cursor, rf - rt); - tputs(s, rf - rt, tc_putch); - rf = rt; - } - } - if (sel & 2) { - if (cursor_left) - while (cf > ct) { - tc_putp(cursor_left); - cf--; - } - /* - do vertical motion next. Just in case cursor_down has a - side effect of changing the column. This could happen if - the tty handler translates NL to CRNL. - */ - if (cursor_down) - while (rf < rt) { - tc_putp(cursor_down); - rf++; - } - if (cursor_up) - while (rf > rt) { - tc_putp(cursor_up); - rf--; - } - if (cursor_right) - while (cf < ct) { - tc_putp(cursor_right); - cf++; - } - } - /* last chance */ - if (rf > rt) { - if (can_go_home) { /* a bit drastic but ... */ - go_home(); - cf = 0; - rf = 0; - } else if (cursor_up) { - while (rf > rt) { - tc_putp(cursor_up); - rf--; - } - } - } - if (ct == 0 && rt > rf) { - put_crlf(); - cf = 0; - rf++; - } - if (ct == 0 && cf != 0) { - put_cr(); - cf = 0; - } - while (rf < rt) { - put_lf(); - rf++; - } - while (cf > ct) { - put_str("\b"); - cf--; - } - if (cursor_right) { - while (cf < ct) { - tc_putp(cursor_right); - cf++; - } - } else { - /* go ahead and trash my display */ - while (cf < ct) { - putchp(' '); - cf++; - } - } -} - -/* -** display_it(selection, text) -** -** print the display using sel -*/ -static void -display_it( - int sel, - char *txt) -{ - int i, done_line; - - put_clear(); - go_home(); - put_newlines(2); - ptextln(" The top line should be alternating <'s and >'s"); - ptextln(" The left side should be alternating A's and V's"); - ptext(" Testing "); - ptext(txt); - put_cr(); - - /* horizontal */ - move_to(done_line = line_count, 0, 0, 2, sel); - for (i = 4; i < columns - 2; i += 2) { - putchp('>'); - move_to(0, i - 1, 0, i, sel); - } - putchp('>'); - i -= 2; - move_to(0, i + 1, 0, i - 1, sel); - for (; i > 2; i -= 2) { - putchp('<'); - move_to(0, i, 0, i - 3, sel); - } - putchp('<'); - - /* vertical */ - move_to(0, 2, 0, 0, sel); - for (i = 2; i < lines - 1; i += 2) { - putchp('V'); - move_to(i - 2, 1, i, 0, sel); - } - putchp('V'); - i -= 2; - move_to(i, 1, i + 1, 0, sel); - for (; i > 0; i -= 2) { - putchp('A'); - move_to(i + 1, 1, i - 1, 0, sel); - } - putchp('A'); - move_to(i + 1, 1, 0, 0, sel); /* go home first */ - move_to(0, 0, done_line + 1, 3, sel); - put_str(txt); - put_str(" Done. "); -} - -/* -** crum_clear(test_list, status, ch) -** -** (clear) test Clear screen -*/ -static void -crum_clear( - struct test_list *t, - int *state, - int *ch) -{ - int i; - - if (clear_screen) { - for (i = lines; i > 1; i--) { - putln("garbage"); - } - put_clear(); - ptextln("This line should start in the home position."); - ptext("The rest of the screen should be clear. "); - } else { - ptextln("(clear) Clear screen is not defined. "); - } - generic_done_message(t, state, ch); -} - -/* -** crum_home(test_list, status, ch) -** -** (home) test Home cursor -*/ -static void -crum_home( - struct test_list *t, - int *state, - int *ch) -{ - if (cursor_home) { - put_clear(); - put_newlines(lines / 2); - go_home(); - put_crlf(); - ptext("The bottom line should have text."); - go_home(); - put_newlines(lines - 1); - ptext("This line is on the bottom."); - go_home(); - ptextln("This line starts in the home position."); - put_crlf(); - } else { - ptextln("(home) Home cursor is not defined. "); - } - generic_done_message(t, state, ch); -} - -/* -** crum_ll(test_list, status, ch) -** -** (ll) test Last line -*/ -static void -crum_ll( - struct test_list *t, - int *state, - int *ch) -{ - /* - (ll) may be simulated with (cup). Don't complain if (cup) is present. - */ - if (cursor_to_ll) { - put_clear(); - put_str("This line could be anywhere."); - tc_putp(cursor_to_ll); - ptext("This line should be on the bottom"); - go_home(); - put_crlf(); - } else - if (cursor_address) { - return; - } else { - ptextln("(ll) Move to last line is not defined. "); - } - generic_done_message(t, state, ch); -} - -/* -** crum_move(test_list, status, ch) -** -** (*) test all cursor move commands -*/ -static void -crum_move( - struct test_list *t, - int *state, - int *ch) -{ - char buf[80]; - int n; - - switch (n = (t->flags & 15)) { - case 0: - sprintf(buf, " (cr) (nel) (cub1)%s", - cursor_home ? " (home)" : (cursor_up ? " (cuu1)" : "")); - break; - case 1: - sprintf(buf, "%s%s%s%s", cursor_left ? " (cub1)" : "", - cursor_down ? " (cud1)" : "", cursor_right ? " (cuf1)" : "", - cursor_up ? " (cuu1)" : ""); - if (buf[0] == '\0') { - ptext(" (cub1) (cud1) (cuf1) (cuu1) not defined."); - } - break; - case 2: - sprintf(buf, "%s%s%s%s", parm_left_cursor ? " (cub)" : "", - parm_down_cursor ? " (cud)" : "", - parm_right_cursor ? " (cuf)" : "", - parm_up_cursor ? " (cuu)" : ""); - if (buf[0] == '\0') { - ptext(" (cub) (cud) (cuf) (cuu) not defined."); - } - break; - case 3: - sprintf(buf, "%s%s", row_address ? " (vpa)" : "", - column_address ? " (hpa)" : ""); - if (buf[0] == '\0') { - ptext(" (vpa) (hpa) not defined."); - } - break; - case 4: - if (!cursor_address) { - ptext(" (cup) not defined. "); - generic_done_message(t, state, ch); - return; - } - strcpy(buf, " (cup)"); - break; - } - if (buf[0] == '\0') { - put_str(" Done. "); - } else { - can_test(buf, FLAG_TESTED); - strcpy(crum_text[n], &buf[2]); - crum_text[n][strlen(buf) - 3] = '\0'; - - display_it(1 << n, buf); - } - *ch = wait_here(); - if (*ch != 'r') { - put_clear(); - } -} - -/* -** crum_os(test_list, status, ch) -** -** (cup) test Cursor position on overstrike terminals -*/ -static void -crum_os( - struct test_list *t, - int *state, - int *ch) -{ - int i; - - if (cursor_address && over_strike) { - put_clear(); - for (i = 0; i < columns - 2; i++) { - tc_putch('|'); - } - for (i = 1; i < lines - 2; i++) { - put_crlf(); - tc_putch('_'); - } - for (i = 0; i < columns - 2; i++) { - tputs(tparm(cursor_address, 0, i), lines, tc_putch); - tc_putch('+'); - } - for (i = 0; i < lines - 2; i++) { - tputs(tparm(cursor_address, i, 0), lines, tc_putch); - tc_putch(']'); - tc_putch('_'); - } - go_home(); - put_newlines(3); - ptext(" All the characters should look the same. "); - generic_done_message(t, state, ch); - put_clear(); - } -} diff --git a/src/libs/ncurses/tack/edit.c b/src/libs/ncurses/tack/edit.c deleted file mode 100644 index 2e0dda2bbe..0000000000 --- a/src/libs/ncurses/tack/edit.c +++ /dev/null @@ -1,975 +0,0 @@ -/* -** Copyright (C) 1997 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ - -#include -#include -#include - -MODULE_ID("$Id: edit.c,v 1.10 2005/09/17 19:49:16 tom Exp $") - -/* - * Terminfo edit features - */ -static void show_info(struct test_list *, int *, int *); -static void show_value(struct test_list *, int *, int *); -static void show_untested(struct test_list *, int *, int *); -static void show_changed(struct test_list *, int *, int *); - -#define SHOW_VALUE 1 -#define SHOW_EDIT 2 -#define SHOW_DELETE 3 - -struct test_list edit_test_list[] = { - {MENU_CLEAR, 0, 0, 0, "i) display current terminfo", show_info, 0}, - {0, 0, 0, 0, "w) write the current terminfo to a file", save_info, 0}, - {SHOW_VALUE, 3, 0, 0, "v) show value of a selected cap", show_value, 0}, - {SHOW_EDIT, 4, 0, 0, "e) edit value of a selected cap", show_value, 0}, - {SHOW_DELETE, 3, 0, 0, "d) delete string", show_value, 0}, - {0, 3, 0, 0, "m) show caps that have been modified", show_changed, 0}, - {MENU_CLEAR + FLAG_CAN_TEST, 0, 0, 0, "c) show caps that can be tested", show_report, 0}, - {MENU_CLEAR + FLAG_TESTED, 0, 0, 0, "t) show caps that have been tested", show_report, 0}, - {MENU_CLEAR + FLAG_FUNCTION_KEY, 0, 0, 0, "f) show a list of function keys", show_report, 0}, - {MENU_CLEAR, 0, 0, 0, "u) show caps defined that can not be tested", show_untested, 0}, - {MENU_LAST, 0, 0, 0, 0, 0, 0} -}; - -static char change_pad_text[MAX_CHANGES][80]; -static struct test_list change_pad_list[MAX_CHANGES] = { - {MENU_LAST, 0, 0, 0, 0, 0, 0} -}; - -static void build_change_menu(struct test_menu *); -static void change_one_entry(struct test_list *, int *, int *); - -struct test_menu change_pad_menu = { - 0, 'q', 0, - "Select cap name", "change", 0, - build_change_menu, change_pad_list, 0, 0, 0 -}; - -static TERMTYPE original_term; /* terminal type description */ - -static char flag_boolean[BOOLCOUNT]; /* flags for booleans */ -static char flag_numerics[NUMCOUNT]; /* flags for numerics */ -static char flag_strings[STRCOUNT]; /* flags for strings */ -static int xon_index; /* Subscript for (xon) */ -static int xon_shadow; - -static int start_display; /* the display has just started */ -static int display_lines; /* number of lines displayed */ - -/* -** send_info_string(str) -** -** Return the terminfo string prefixed by the correct separator -*/ -static void -send_info_string( - const char *str, - int *ch) -{ - int len; - - if (display_lines == -1) { - return; - } - len = strlen(str); - if (len + char_count + 3 >= columns) { - if (start_display == 0) { - put_str(","); - } - put_crlf(); - if (++display_lines > lines) { - ptext("-- more -- "); - *ch = wait_here(); - if (*ch == 'q') { - display_lines = -1; - return; - } - display_lines = 0; - } - if (len >= columns) { - /* if the terminal does not (am) then this loses */ - if (columns) { - display_lines += ((strlen(str) + 3) / columns) + 1; - } - put_str(" "); - put_str(str); - start_display = 0; - return; - } - ptext(" "); - } else - if (start_display == 0) { - ptext(", "); - } else { - ptext(" "); - } - ptext(str); - start_display = 0; -} - -/* -** show_info(test_list, status, ch) -** -** Display the current terminfo -*/ -static void -show_info( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch) -{ - int i; - char buf[1024]; - - display_lines = 1; - start_display = 1; - for (i = 0; i < BOOLCOUNT; i++) { - if ((i == xon_index) ? xon_shadow : CUR Booleans[i]) { - send_info_string(boolnames[i], ch); - } - } - for (i = 0; i < NUMCOUNT; i++) { - if (CUR Numbers[i] >= 0) { - sprintf(buf, "%s#%d", numnames[i], CUR Numbers[i]); - send_info_string(buf, ch); - } - } - for (i = 0; i < STRCOUNT; i++) { - if (CUR Strings[i]) { - sprintf(buf, "%s=%s", strnames[i], - print_expand(CUR Strings[i])); - send_info_string(buf, ch); - } - } - put_newlines(2); - *ch = REQUEST_PROMPT; -} - -/* -** save_info_string(str, fp) -** -** Write the terminfo string prefixed by the correct separator -*/ -static void -save_info_string( - const char *str, - FILE *fp) -{ - int len; - - len = strlen(str); - if (len + display_lines >= 77) { - if (display_lines > 0) { - (void) fprintf(fp, "\n\t"); - } - display_lines = 8; - } else - if (display_lines > 0) { - (void) fprintf(fp, " "); - display_lines++; - } else { - (void) fprintf(fp, "\t"); - display_lines = 8; - } - (void) fprintf(fp, "%s,", str); - display_lines += len + 1; -} - -/* -** save_info(test_list, status, ch) -** -** Write the current terminfo to a file -*/ -void -save_info( - struct test_list *t, - int *state, - int *ch) -{ - int i; - FILE *fp; - time_t now; - char buf[1024]; - - if ((fp = fopen(tty_basename, "w")) == (FILE *) NULL) { - (void) sprintf(temp, "can't open: %s", tty_basename); - ptextln(temp); - generic_done_message(t, state, ch); - return; - } - time(&now); - /* Note: ctime() returns a newline at the end of the string */ - (void) fprintf(fp, "# Terminfo created by TACK for TERM=%s on %s", - tty_basename, ctime(&now)); - (void) fprintf(fp, "%s|%s,\n", tty_basename, longname()); - - display_lines = 0; - for (i = 0; i < BOOLCOUNT; i++) { - if (i == xon_index ? xon_shadow : CUR Booleans[i]) { - save_info_string(boolnames[i], fp); - } - } - for (i = 0; i < NUMCOUNT; i++) { - if (CUR Numbers[i] >= 0) { - sprintf(buf, "%s#%d", numnames[i], CUR Numbers[i]); - save_info_string(buf, fp); - } - } - for (i = 0; i < STRCOUNT; i++) { - if (CUR Strings[i]) { - sprintf(buf, "%s=%s", strnames[i], - _nc_tic_expand(CUR Strings[i], TRUE, TRUE)); - save_info_string(buf, fp); - } - } - (void) fprintf(fp, "\n"); - (void) fclose(fp); - sprintf(temp, "Terminfo saved as file: %s", tty_basename); - ptextln(temp); -} - -/* -** show_value(test_list, status, ch) -** -** Display the value of a selected cap -*/ -static void -show_value( - struct test_list *t, - int *state GCC_UNUSED, - int *ch) -{ - struct name_table_entry const *nt; - char *s; - int n, op, b; - char buf[1024]; - char tmp[1024]; - - ptext("enter name: "); - read_string(buf, 80); - if (buf[0] == '\0' || buf[1] == '\0') { - *ch = buf[0]; - return; - } - if (line_count + 2 >= lines) { - put_clear(); - } - op = t->flags & 255; - if ((nt = _nc_find_entry(buf, _nc_info_hash_table))) { - switch (nt->nte_type) { - case BOOLEAN: - if (op == SHOW_DELETE) { - if (nt->nte_index == xon_index) { - xon_shadow = 0; - } else { - CUR Booleans[nt->nte_index] = 0; - } - return; - } - b = nt->nte_index == xon_index ? xon_shadow : - CUR Booleans[nt->nte_index]; - sprintf(temp, "boolean %s %s", buf, - b ? "True" : "False"); - break; - case STRING: - if (op == SHOW_DELETE) { - CUR Strings[nt->nte_index] = (char *) 0; - return; - } - if (CUR Strings[nt->nte_index]) { - sprintf(temp, "string %s %s", buf, - expand(CUR Strings[nt->nte_index])); - } else { - sprintf(temp, "undefined string %s", buf); - } - break; - case NUMBER: - if (op == SHOW_DELETE) { - CUR Numbers[nt->nte_index] = -1; - return; - } - sprintf(temp, "numeric %s %d", buf, - CUR Numbers[nt->nte_index]); - break; - default: - sprintf(temp, "unknown"); - break; - } - ptextln(temp); - } else { - sprintf(temp, "Cap not found: %s", buf); - ptextln(temp); - return; - } - if (op != SHOW_EDIT) { - return; - } - if (nt->nte_type == BOOLEAN) { - ptextln("Value flipped"); - if (nt->nte_index == xon_index) { - xon_shadow = !xon_shadow; - } else { - CUR Booleans[nt->nte_index] = !CUR Booleans[nt->nte_index]; - } - return; - } - ptextln("Enter new value"); - read_string(buf, sizeof(buf)); - - switch (nt->nte_type) { - case STRING: - _nc_reset_input((FILE *) 0, buf); - _nc_trans_string(tmp, tmp + sizeof(tmp)); - s = (char *)malloc(strlen(tmp) + 1); - strcpy(s, tmp); - CUR Strings[nt->nte_index] = s; - sprintf(temp, "new string value %s", nt->nte_name); - ptextln(temp); - ptextln(expand(CUR Strings[nt->nte_index])); - break; - case NUMBER: - if (sscanf(buf, "%d", &n) == 1) { - CUR Numbers[nt->nte_index] = n; - sprintf(temp, "new numeric value %s %d", - nt->nte_name, n); - ptextln(temp); - } else { - sprintf(temp, "Illegal number: %s", buf); - ptextln(temp); - } - break; - default: - break; - } -} - -/* -** get_string_cap_byname(name, long_name) -** -** Given a cap name, find the value -** Errors are quietly ignored. -*/ -char * -get_string_cap_byname( - const char *name, - const char **long_name) -{ - struct name_table_entry const *nt; - - if ((nt = _nc_find_entry(name, _nc_info_hash_table))) { - if (nt->nte_type == STRING) { - *long_name = strfnames[nt->nte_index]; - return (CUR Strings[nt->nte_index]); - } - } - *long_name = "??"; - return (char *) 0; -} - -/* -** get_string_cap_byvalue(value) -** -** Given a capability string, find its position in the data base. -** Return the index or -1 if not found. -*/ -int -get_string_cap_byvalue( - const char *value) -{ - int i; - - if (value) { - for (i = 0; i < STRCOUNT; i++) { - if (CUR Strings[i] == value) { - return i; - } - } - /* search for translated strings */ - for (i = 0; i < TM_last; i++) { - if (TM_string[i].value == value) { - return TM_string[i].index; - } - } - } - return -1; -} - -/* -** show_changed(test_list, status, ch) -** -** Display a list of caps that have been changed. -*/ -static void -show_changed( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch) -{ - int i, header = 1, v; - const char *a; - const char *b; - static char title[] = " old value cap new value"; - char abuf[1024]; - - for (i = 0; i < BOOLCOUNT; i++) { - v = (i == xon_index) ? xon_shadow : CUR Booleans[i]; - if (original_term.Booleans[i] != v) { - if (header) { - ptextln(title); - header = 0; - } - sprintf(temp, "%30d %6s %d", - original_term.Booleans[i], boolnames[i], v); - ptextln(temp); - } - } - for (i = 0; i < NUMCOUNT; i++) { - if (original_term.Numbers[i] != CUR Numbers[i]) { - if (header) { - ptextln(title); - header = 0; - } - sprintf(temp, "%30d %6s %d", - original_term.Numbers[i], numnames[i], - CUR Numbers[i]); - ptextln(temp); - } - } - for (i = 0; i < STRCOUNT; i++) { - a = original_term.Strings[i] ? original_term.Strings[i] : ""; - b = CUR Strings[i] ? CUR Strings[i] : ""; - if (strcmp(a, b)) { - if (header) { - ptextln(title); - header = 0; - } - strcpy(abuf, _nc_tic_expand(a, TRUE, TRUE)); - sprintf(temp, "%30s %6s %s", abuf, strnames[i], - _nc_tic_expand(b, TRUE, TRUE)); - putln(temp); - } - } - if (header) { - ptextln("No changes"); - } - put_crlf(); - *ch = REQUEST_PROMPT; -} - -/* -** user_modified() -** -** Return TRUE if the user has modified the terminfo -*/ -int -user_modified(void) -{ - const char *a, *b; - int i, v; - - for (i = 0; i < BOOLCOUNT; i++) { - v = (i == xon_index) ? xon_shadow : CUR Booleans[i]; - if (original_term.Booleans[i] != v) { - return TRUE; - } - } - for (i = 0; i < NUMCOUNT; i++) { - if (original_term.Numbers[i] != CUR Numbers[i]) { - return TRUE; - } - } - for (i = 0; i < STRCOUNT; i++) { - a = original_term.Strings[i] ? original_term.Strings[i] : ""; - b = CUR Strings[i] ? CUR Strings[i] : ""; - if (strcmp(a, b)) { - return TRUE; - } - } - return FALSE; -} - -/***************************************************************************** - * - * Maintain the list of capabilities that can be tested - * - *****************************************************************************/ - -/* -** mark_cap(name, flag) -** -** Mark the cap data base with the flag provided. -*/ -static void -mark_cap( - char *name, - int flag) -{ - struct name_table_entry const *nt; - - if ((nt = _nc_find_entry(name, _nc_info_hash_table))) { - switch (nt->nte_type) { - case BOOLEAN: - flag_boolean[nt->nte_index] |= flag; - break; - case STRING: - flag_strings[nt->nte_index] |= flag; - break; - case NUMBER: - flag_numerics[nt->nte_index] |= flag; - break; - default: - sprintf(temp, "unknown cap type (%s)", name); - ptextln(temp); - break; - } - } else { - sprintf(temp, "Cap not found: %s", name); - ptextln(temp); - (void) wait_here(); - } -} - -/* -** can_test(name-list, flags) -** -** Scan the name list and get the names. -** Enter each name into the can-test data base. -** ( and ) may be used as separators. -*/ -void -can_test( - const char *s, - int flags) -{ - int ch, j; - char name[32]; - - if (s) { - for (j = 0; (name[j] = ch = *s); s++) { - if (ch == ' ' || ch == ')' || ch == '(') { - if (j) { - name[j] = '\0'; - mark_cap(name, flags); - } - j = 0; - } else { - j++; - } - } - if (j) { - mark_cap(name, flags); - } - } -} - -/* -** cap_index(name-list, index-list) -** -** Scan the name list and return a list of indexes. -** ( and ) may be used as separators. -** This list is terminated with -1. -*/ -void -cap_index( - const char *s, - int *inx) -{ - struct name_table_entry const *nt; - int ch, j; - char name[32]; - - if (s) { - for (j = 0; ; s++) { - name[j] = ch = *s; - if (ch == ' ' || ch == ')' || ch == '(' || ch == 0) { - if (j) { - name[j] = '\0'; - if ((nt = _nc_find_entry(name, - _nc_info_hash_table)) && - (nt->nte_type == STRING)) { - *inx++ = nt->nte_index; - } - } - if (ch == 0) { - break; - } - j = 0; - } else { - j++; - } - } - } - *inx = -1; -} - -/* -** cap_match(name-list, cap) -** -** Scan the name list and see if the cap is in the list. -** Return TRUE if we find an exact match. -** ( and ) may be used as separators. -*/ -int -cap_match( - const char *names, - const char *cap) -{ - char *s; - int c, l, t; - - if (names) { - l = strlen(cap); - while ((s = strstr(names, cap))) { - c = (names == s) ? 0 : *(s - 1); - t = s[l]; - if ((c == 0 || c == ' ' || c == '(') && - (t == 0 || t == ' ' || t == ')')) { - return TRUE; - } - if (t == 0) { - break; - } - names = s + l; - } - } - return FALSE; -} - -/* -** show_report(test_list, status, ch) -** -** Display a list of caps that can be tested -*/ -void -show_report( - struct test_list *t, - int *state GCC_UNUSED, - int *ch) -{ - int i, j, nc, flag; - const char *s; - const char *nx[BOOLCOUNT + NUMCOUNT + STRCOUNT]; - - flag = t->flags & 255; - nc = 0; - for (i = 0; i < BOOLCOUNT; i++) { - if (flag_boolean[i] & flag) { - nx[nc++] = boolnames[i]; - } - } - for (i = 0; i < NUMCOUNT; i++) { - if (flag_numerics[i] & flag) { - nx[nc++] = numnames[i]; - } - } - for (i = 0; i < STRCOUNT; i++) { - if (flag_strings[i] & flag) { - nx[nc++] = strnames[i]; - } - } - /* sort */ - for (i = 0; i < nc - 1; i++) { - for (j = i + 1; j < nc; j++) { - if (strcmp(nx[i], nx[j]) > 0) { - s = nx[i]; - nx[i] = nx[j]; - nx[j] = s; - } - } - } - if (flag & FLAG_FUNCTION_KEY) { - ptextln("The following function keys can be tested:"); - } else - if (flag & FLAG_CAN_TEST) { - ptextln("The following capabilities can be tested:"); - } else - if (flag & FLAG_TESTED) { - ptextln("The following capabilities have been tested:"); - } - put_crlf(); - for (i = 0; i < nc; i++) { - sprintf(temp, "%s ", nx[i]); - ptext(temp); - } - put_newlines(1); - *ch = REQUEST_PROMPT; -} - -/* -** show_untested(test_list, status, ch) -** -** Display a list of caps that are defined but cannot be tested. -** Don't bother to sort this list. -*/ -static void -show_untested( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch) -{ - int i; - - ptextln("Caps that are defined but cannot be tested:"); - for (i = 0; i < BOOLCOUNT; i++) { - if (flag_boolean[i] == 0 && CUR Booleans[i]) { - sprintf(temp, "%s ", boolnames[i]); - ptext(temp); - } - } - for (i = 0; i < NUMCOUNT; i++) { - if (flag_numerics[i] == 0 && CUR Numbers[i] >= 0) { - sprintf(temp, "%s ", numnames[i]); - ptext(temp); - } - } - for (i = 0; i < STRCOUNT; i++) { - if (flag_strings[i] == 0 && CUR Strings[i]) { - sprintf(temp, "%s ", strnames[i]); - ptext(temp); - } - } - put_newlines(1); - *ch = REQUEST_PROMPT; -} - -/* -** edit_init() -** -** Initialize the function key data base -*/ -void -edit_init(void) -{ - int i, j, lc; - char *lab; - struct name_table_entry const *nt; - int label_strings[STRCOUNT]; - - _nc_copy_termtype(&original_term, &cur_term->type); - for (i = 0; i < BOOLCOUNT; i++) { - original_term.Booleans[i] = CUR Booleans[i]; - } - for (i = 0; i < NUMCOUNT; i++) { - original_term.Numbers[i] = CUR Numbers[i]; - } - /* scan for labels */ - for (i = lc = 0; i < STRCOUNT; i++) { - original_term.Strings[i] = CUR Strings[i]; - if (strncmp(strnames[i], "lf", 2) == 0) { - flag_strings[i] |= FLAG_LABEL; - if (CUR Strings[i]) { - label_strings[lc++] = i; - } - } - } - /* scan for function keys */ - for (i = 0; i < STRCOUNT; i++) { - if ((strnames[i][0] == 'k') && strcmp(strnames[i], "kmous")) { - flag_strings[i] |= FLAG_FUNCTION_KEY; - lab = (char *) 0; - for (j = 0; j < lc; j++) { - if (!strcmp(&strnames[i][1], - &strnames[label_strings[j]][1])) { - lab = CUR Strings[label_strings[j]]; - break; - } - } - enter_key(strnames[i], CUR Strings[i], lab); - } - } - /* Lookup the translated strings */ - for (i = 0; i < TM_last; i++) { - if ((nt = _nc_find_entry(TM_string[i].name, - _nc_info_hash_table)) && (nt->nte_type == STRING)) { - TM_string[i].index = nt->nte_index; - } else { - sprintf(temp, "TM_string lookup failed for: %s", - TM_string[i].name); - ptextln(temp); - } - } - if ((nt = _nc_find_entry("xon", _nc_info_hash_table)) != 0) { - xon_index = nt->nte_index; - } - xon_shadow = xon_xoff; -} - -/* -** change_one_entry(test_list, status, ch) -** -** Change the padding on the selected cap -*/ -static void -change_one_entry( - struct test_list *test, - int *state, - int *chp) -{ - struct name_table_entry const *nt; - int i, j, x, star, slash, v, dot, ch; - const char *s; - char *t, *p; - const char *current_string; - char buf[1024]; - char pad[1024]; - - i = test->flags & 255; - if (i == 255) { - /* read the cap name from the user */ - ptext("enter name: "); - read_string(pad, 32); - if (pad[0] == '\0' || pad[1] == '\0') { - *chp = pad[0]; - return; - } - if ((nt = _nc_find_entry(pad, _nc_info_hash_table)) && - (nt->nte_type == STRING)) { - x = nt->nte_index; - current_string = CUR Strings[x]; - } else { - sprintf(temp, "%s is not a string capability", pad); - ptext(temp); - generic_done_message(test, state, chp); - return; - } - } else { - x = tx_index[i]; - current_string = tx_cap[i]; - strcpy(pad, strnames[x]); - } - if (!current_string) { - ptextln("That string is not currently defined. Please enter a new value, including the padding delay:"); - read_string(buf, sizeof(buf)); - _nc_reset_input((FILE *) 0, buf); - _nc_trans_string(pad, pad + sizeof(pad)); - t = (char *)malloc(strlen(pad) + 1); - strcpy(t, pad); - CUR Strings[x] = t; - sprintf(temp, "new string value %s", strnames[x]); - ptextln(temp); - ptextln(expand(t)); - return; - } - sprintf(buf, "Current value: (%s) %s", pad, _nc_tic_expand(current_string, TRUE, TRUE)); - putln(buf); - ptextln("Enter new pad. 0 for no pad. CR for no change."); - read_string(buf, 32); - if (buf[0] == '\0' || (buf[1] == '\0' && isalpha(UChar(buf[0])))) { - *chp = buf[0]; - return; - } - star = slash = FALSE; - for (j = v = dot = 0; (ch = buf[j]); j++) { - if (ch >= '0' && ch <= '9') { - v = ch - '0' + v * 10; - if (dot) { - dot++; - } - } else if (ch == '*') { - star = TRUE; - } else if (ch == '/') { - slash = TRUE; - } else if (ch == '.') { - dot = 1; - } else { - sprintf(temp, "Illegal character: %c", ch); - ptextln(temp); - ptext("General format: 99.9*/ "); - generic_done_message(test, state, chp); - return; - } - } - while (dot > 2) { - v /= 10; - dot--; - } - if (dot == 2) { - sprintf(pad, "%d.%d%s%s", v / 10, v % 10, - star ? "*" : "", slash ? "/" : ""); - } else { - sprintf(pad, "%d%s%s", - v, star ? "*" : "", slash ? "/" : ""); - } - s = current_string; - t = buf; - for (v = 0; (ch = *t = *s++); t++) { - if (v == '$' && ch == '<') { - while ((ch = *s++) && (ch != '>')); - for (p = pad; (*++t = *p++); ); - *t++ = '>'; - while ((*t++ = *s++)); - pad[0] = '\0'; - break; - } - v = ch; - } - if (pad[0]) { - sprintf(t, "$<%s>", pad); - } - if ((t = (char *)malloc(strlen(buf) + 1))) { - strcpy(t, buf); - CUR Strings[x] = t; - if (i != 255) { - tx_cap[i] = t; - } - } - generic_done_message(test, state, chp); -} - -/* -** build_change_menu(menu_list) -** -** Build the change pad menu list -*/ -static void -build_change_menu( - struct test_menu *m) -{ - int i, j, k; - char *s; - - for (i = j = 0; i < txp; i++) { - if ((k = tx_index[i]) >= 0) { - s = _nc_tic_expand(tx_cap[i], TRUE, TRUE); - s[40] = '\0'; - sprintf(change_pad_text[j], "%c) (%s) %s", - 'a' + j, strnames[k], s); - change_pad_list[j].flags = i; - change_pad_list[j].lines_needed = 4; - change_pad_list[j].menu_entry = change_pad_text[j]; - change_pad_list[j].test_procedure = change_one_entry; - j++; - } - } - strcpy(change_pad_text[j], "z) enter name"); - change_pad_list[j].flags = 255; - change_pad_list[j].lines_needed = 4; - change_pad_list[j].menu_entry = change_pad_text[j]; - change_pad_list[j].test_procedure = change_one_entry; - j++; - change_pad_list[j].flags = MENU_LAST; - if (m->menu_title) { - put_crlf(); - ptextln(m->menu_title); - } -} diff --git a/src/libs/ncurses/tack/fun.c b/src/libs/ncurses/tack/fun.c deleted file mode 100644 index 58f8b254e7..0000000000 --- a/src/libs/ncurses/tack/fun.c +++ /dev/null @@ -1,908 +0,0 @@ -/* -** Copyright (C) 1991, 1997 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ - -#include - -MODULE_ID("$Id: fun.c,v 1.6 2005/09/17 19:49:16 tom Exp $") - -/* - * Test the function keys on the terminal. The code for echo tests - * lives here too. - */ - -static void funkey_keys(struct test_list *, int *, int *); -static void funkey_meta(struct test_list *, int *, int *); -static void funkey_label(struct test_list *, int *, int *); -static void funkey_prog(struct test_list *, int *, int *); -static void funkey_local(struct test_list *, int *, int *); - -struct test_list funkey_test_list[] = { - {0, 0, 0, 0, "e) edit terminfo", 0, &edit_menu}, - {MENU_CLEAR + FLAG_FUNCTION_KEY, 0, 0, 0, "f) show a list of function keys", show_report, 0}, - {MENU_NEXT | MENU_CLEAR, 0, "smkx) (rmkx", 0, - "k) test function keys", funkey_keys, 0}, - {MENU_NEXT, 10, "km", "smm rmm", 0, funkey_meta, 0}, - {MENU_NEXT, 8, "nlab) (smln) (pln) (rmln", "lw lh", 0, funkey_label, 0}, - {MENU_NEXT, 2, "pfx", 0, 0, funkey_prog, 0}, - {MENU_NEXT, 2, "pfloc", 0, 0, funkey_local, 0}, - {MENU_LAST, 0, 0, 0, 0, 0, 0} -}; - -static void printer_on(struct test_list *, int *, int *); -static void printer_mc0(struct test_list *, int *, int *); - -struct test_list printer_test_list[] = { - {0, 0, 0, 0, "e) edit terminfo", 0, &edit_menu}, - {MENU_NEXT | MENU_CLEAR, 0, "mc4) (mc5) (mc5i", 0, 0, printer_on, 0}, - {MENU_NEXT | MENU_CLEAR, 0, "mc0", 0, 0, printer_mc0, 0}, - {MENU_LAST, 0, 0, 0, 0, 0, 0} -}; - -#define MAX_STRINGS STRCOUNT - - -/* local definitions */ -static const char *fk_name[MAX_STRINGS]; -static char *fkval[MAX_STRINGS]; -static char *fk_label[MAX_STRINGS]; /* function key labels (if any) */ -static int fk_tested[MAX_STRINGS]; -static int fkmax = 1; /* length of longest key */ -static int got_labels = 0; /* true if we have some labels */ -static int key_count = 0; -static int end_state; - -/* unknown function keys */ -#define MAX_FK_UNK 50 -static char *fk_unknown[MAX_FK_UNK]; -static int fk_length[MAX_FK_UNK]; -static int funk; - -/* -** keys_tested(first-time, show-help, hex-output) -** -** Display a list of the keys not tested. -*/ -static void -keys_tested( - int first_time, - int show_help, - int hex_output) -{ - int i, l; - char outbuf[256]; - - put_clear(); - tty_set(); - flush_input(); - if (got_labels) { - putln("Function key labels:"); - for (i = 0; i < key_count; ++i) { - if (fk_label[i]) { - sprintf(outbuf, "%s %s", - fk_name[i] ? fk_name[i] : "??", fk_label[i]); - put_columns(outbuf, (int) strlen(outbuf), 16); - } - } - put_newlines(2); - } - if (funk) { - putln("The following keys are not defined:"); - for (i = 0; i < funk; ++i) { - put_columns(fk_unknown[i], fk_length[i], 16); - } - put_mode(exit_attribute_mode); - put_newlines(2); - } - if (first_time) { - putln("The following keys are defined:"); - } else { - putln("The following keys have not been tested:"); - } - if (scan_mode) { - for (i = 0; scan_down[i]; i++) { - if (!scan_tested[i]) { - if (hex_output) { - strcpy(outbuf, hex_expand_to(scan_down[i], 3)); - } else { - strcpy(outbuf, expand(scan_down[i])); - } - l = expand_chars; - if (hex_output) { - strcat(outbuf, hex_expand_to(scan_up[i], 3)); - } else { - strcat(outbuf, expand(scan_up[i])); - } - expand_chars += l; - l = strlen(scan_name[i]); - if (((char_count + 16) & ~15) + - ((expand_chars + 7) & ~7) + l >= columns) { - put_crlf(); - } else - if (char_count + 24 > columns) { - put_crlf(); - } else if (char_count) { - putchp(' '); - } - put_columns(outbuf, expand_chars, 16); - put_columns(scan_name[i], l, 8); - } - } - } else { - for (i = 0; i < key_count; i++) { - if (!fk_tested[i]) { - if (hex_output) { - strcpy(outbuf, hex_expand_to(fkval[i], 3)); - } else { - strcpy(outbuf, expand(fkval[i])); - } - l = strlen(fk_name[i]); - if (((char_count + 16) & ~15) + - ((expand_chars + 7) & ~7) + l >= columns) { - put_crlf(); - } else - if (char_count + 24 > columns) { - put_crlf(); - } else - if (char_count) { - putchp(' '); - } - put_columns(outbuf, expand_chars, 16); - put_columns(fk_name[i], l, 8); - } - } - } - put_newlines(2); - if (show_help) { - ptextln("Hit any function key. Type 'end' to quit. Type ? to update the display."); - put_crlf(); - } -} - -/* -** enter_key(name, value, label) -** -** Enter a function key into the data base -*/ -void -enter_key( - const char *name, - char *value, - char *lab) -{ - int j; - - if (value) { - j = strlen(value); - fkmax = fkmax > j ? fkmax : j; - /* do not permit duplicates */ - for (j = 0; j < key_count; j++) { - if (!strcmp(fk_name[j], name)) { - return; - } - } - fkval[key_count] = value; - fk_tested[key_count] = 0; - fk_label[key_count] = lab; - fk_name[key_count++] = name; - if (lab) { - got_labels = TRUE; - } - } -} - - -static void -fresh_line(void) -{ /* clear the line for a new function key line */ - if (over_strike) { - put_crlf(); - } else { - put_cr(); - if (clr_eol) { - tc_putp(clr_eol); - } else { - put_str(" \r"); - } - } -} - - -static int -end_funky(int ch) -{ /* return true if this is the end */ - switch (ch) { - case 'e': - case 'E': - end_state = 'e'; - break; - case 'n': - case 'N': - if (end_state == 'e') { - end_state = 'n'; - } else { - end_state = 0; - } - break; - case 'd': - case 'D': - if (end_state == 'n') { - end_state = 'd'; - } else { - end_state = 0; - } - break; - case 'l': - case 'L': - if (end_state == 'l') { - end_state = '?'; - } else { - end_state = 'l'; - } - break; - default: - end_state = 0; - break; - } - return end_state == 'd'; -} - - -static int -found_match(char *s, int hx, int cc) -{ /* return true if this string is a match */ - int j, f; - char outbuf[256]; - - if (!*s) { - return 0; - } - if (scan_mode) { - for (j = f = 0; scan_down[j]; j++) { - if (scan_length[j] == 0) { - continue; - } - if (!strncmp(s, scan_down[j], scan_length[j])) { - if (!f) { /* first match */ - put_cr(); - if (hx) { - put_str(hex_expand_to(s, 10)); - } else { - put_str(expand_to(s, 10)); - } - f = 1; - } - (void) end_funky(scan_name[j][0]); - put_str(" "); - put_str(scan_name[j]); - scan_tested[j] = 1; - s += scan_length[j]; - if (strncmp(s, scan_up[j], scan_length[j])) { - put_str(" scan down"); - } else { - s += scan_length[j]; - } - if (!*s) { - break; - } - j = -1; - } - if (!strncmp(s, scan_up[j], scan_length[j])) { - if (!f) { /* first match */ - put_cr(); - if (hx) { - put_str(hex_expand_to(s, 10)); - } else { - put_str(expand_to(s, 10)); - } - f = 1; - } - put_str(" "); - put_str(scan_name[j]); - put_str(" scan up"); - s += scan_length[j]; - if (!*s) { - break; - } - j = -1; - } - } - } else { - for (j = f = 0; j < key_count; j++) { - if (!strcmp(s, fkval[j])) { - if (!f) { /* first match */ - put_cr(); - if (hx) { - put_str(hex_expand_to(s, 10)); - } else { - put_str(expand_to(s, 10)); - } - f = 1; - } - sprintf(outbuf, " (%s)", fk_name[j]); - put_str(outbuf); - if (fk_label[j]) { - sprintf(outbuf, " <%s>", fk_label[j]); - put_str(outbuf); - } - fk_tested[j] = 1; - } - } - } - if (end_state == '?') { - keys_tested(0, 1, hx); - tty_raw(cc, char_mask); - end_state = 0; - } - return f; -} - - -static int -found_exit(char *keybuf, int hx, int cc) -{ /* return true if the user wants to exit */ - int j, k; - char *s; - - - if (scan_mode) { - if (*keybuf == '\0') { - return TRUE; - } - } else { - /* break is a special case */ - if (*keybuf == '\0') { - fresh_line(); - tty_set(); - ptext("Hit X to exit: "); - if (wait_here() == 'X') { - return TRUE; - } - keys_tested(0, 1, hx); - tty_raw(cc, char_mask); - return FALSE; - } - /* is this the end? */ - for (k = 0; (j = (keybuf[k] & STRIP_PARITY)); k++) { - if (end_funky(j)) { - return TRUE; - } - } - - j = TRUE; /* does he need an updated list? */ - for (k = 0; keybuf[k]; k++) { - j &= (keybuf[k] & STRIP_PARITY) == '?'; - } - if (j || end_state == '?') { - keys_tested(0, 1, hx); - tty_raw(cc, char_mask); - end_state = 0; - return FALSE; - } - } - - put_cr(); - if (hx) { - s = hex_expand_to(keybuf, 10); - } else { - s = expand_to(keybuf, 10); - } - sprintf(temp, "%s Unknown", s); - put_str(temp); - for (j = 0; j < MAX_FK_UNK; j++) { - if (j == funk) { - fk_length[funk] = expand_chars; - if ((fk_unknown[funk] = (char *)malloc(strlen(s) + 1))) { - strcpy(fk_unknown[funk++], s); - } - break; - } - if (fk_length[j] == expand_chars) { - if (!strcmp(fk_unknown[j], s)) { - break; - } - } - } - return FALSE; -} - -/* -** funkey_keys(test_list, status, ch) -** -** Test function keys -*/ -static void -funkey_keys( - struct test_list *t, - int *state, - int *ch) -{ - char keybuf[256]; - - if (keypad_xmit) { - tc_putp(keypad_xmit); - } - keys_tested(1, 1, hex_out); /* also clears screen */ - keybuf[0] = '\0'; - end_state = 0; - if (scan_mode) { - fkmax = scan_max; - } - tty_raw(0, char_mask); - while (end_state != 'd') { - read_key(keybuf, sizeof(keybuf)); - fresh_line(); - if (found_match(keybuf, hex_out, 0)) { - continue; - } - if (found_exit(keybuf, hex_out, 0)) { - break; - } - } - if (keypad_local) { - tc_putp(keypad_local); - } - keys_tested(0, 0, hex_out); - ptext("Function key test "); - generic_done_message(t, state, ch); -} - -int -tty_meta_prep(void) -{ /* print a warning before the meta key test */ - if (not_a_tty) { - return 0; - } - if (initial_stty_query(TTY_8_BIT)) { - return 0; - } - ptext("The meta key test must be run with the"); - ptext(" terminal set for 8 data bits. Two stop bits"); - ptext(" may also be needed for correct display. I will"); - ptext(" transmit 8 bit data but if the terminal is set for"); - ptextln(" 7 bit data, garbage may appear on the screen."); - return 1; -} - -/* -** funkey_meta(test_list, status, ch) -** -** Test meta key (km) (smm) (rmm) -*/ -static void -funkey_meta( - struct test_list *t, - int *state, - int *ch) -{ - int i, j, k, len; - char outbuf[256]; - - if (has_meta_key) { - put_crlf(); - if (char_mask != ALLOW_PARITY) { - if (tty_meta_prep()) { - ptext("\nHit any key to continue > "); - (void) wait_here(); - put_crlf(); - } - } - ptext("Begin meta key test. (km) (smm) (rmm) Hit any key"); - ptext(" with the meta key. The character will be"); - ptext(" displayed in hex. If the meta key is working"); - ptext(" then the most significant bit will be set. Type"); - ptextln(" 'end' to exit."); - tty_raw(1, ALLOW_PARITY); - tc_putp(meta_on); - - for (i = j = k = len = 0; i != 'e' || j != 'n' || k != 'd';) { - i = j; - j = k; - k = getchp(ALLOW_PARITY); - if (k == EOF) { - break; - } - if ((len += 3) >= columns) { - put_crlf(); - len = 3; - } - sprintf(outbuf, "%02X ", k); - put_str(outbuf); - k &= STRIP_PARITY; - } - tc_putp(meta_off); - put_crlf(); - tty_set(); - put_crlf(); - } else { - ptext("(km) Has-meta-key is not set. "); - } - generic_done_message(t, state, ch); -} - -/* -** funkey_label(test_list, status, ch) -** -** Test labels (nlab) (smln) (pln) (rmln) (lw) (lh) -*/ -static void -funkey_label( - struct test_list *t, - int *state, - int *ch) -{ - int i; - char outbuf[256]; - - if (num_labels == -1) { - ptextln("Your terminal has no labels. (nlab)"); - } else { - sprintf(temp, "Your terminal has %d labels (nlab) that are %d characters wide (lw) and %d lines high (lh)", - num_labels, label_width, label_height); - ptext(temp); - ptextln(" Testing (smln) (pln) (rmln)"); - if (label_on) { - tc_putp(label_on); - } - if (label_width <= 0) { - label_width = sizeof(outbuf) - 1; - } - for (i = 1; i <= num_labels; i++) { - sprintf(outbuf, "L%d..............................", i); - outbuf[label_width] = '\0'; - tc_putp(tparm(plab_norm, i, outbuf)); - } - if (label_off) { - ptext("Hit any key to remove the labels: "); - (void) wait_here(); - tc_putp(label_off); - } - } - generic_done_message(t, state, ch); -} - -/* -** funkey_prog(test_list, status, ch) -** -** Test program function keys (pfx) -*/ -static void -funkey_prog( - struct test_list *t, - int *state, - int *ch) -{ - int i, fk; - char mm[256]; - - fk = 1; /* use function key 1 for now */ - if (pkey_xmit) { - /* test program function key */ - sprintf(temp, - "(pfx) Set function key %d to transmit abc\\n", fk); - ptextln(temp); - tc_putp(tparm(pkey_xmit, fk, "abc\n")); - sprintf(temp, "Hit function key %d\n", fk); - ptextln(temp); - for (i = 0; i < 4; ++i) - mm[i] = getchp(STRIP_PARITY); - mm[i] = '\0'; - put_crlf(); - if (mm[0] != 'a' || mm[1] != 'b' || mm[2] != 'c') { - sprintf(temp, "Error string received was: %s", expand(mm)); - ptextln(temp); - } else { - putln("Thank you\n"); - } - flush_input(); - if (key_f1) { - tc_putp(tparm(pkey_xmit, fk, key_f1)); - } - } else { - ptextln("Function key transmit (pfx), not present."); - } - generic_done_message(t, state, ch); -} - -/* -** funkey_local(test_list, status, ch) -** -** Test program local function keys (pfloc) -*/ -static void -funkey_local( - struct test_list *t, - int *state, - int *ch) -{ - int fk; - - fk = 1; - if (pkey_local) { - /* test local function key */ - sprintf(temp, - "(pfloc) Set function key %d to execute a clear and print \"Done!\"", fk); - ptextln(temp); - sprintf(temp, "%sDone!", liberated(clear_screen)); - tc_putp(tparm(pkey_local, fk, temp)); - sprintf(temp, "Hit function key %d. Then hit return.", fk); - ptextln(temp); - (void) wait_here(); - flush_input(); - if (key_f1 && pkey_xmit) { - tc_putp(tparm(pkey_xmit, fk, key_f1)); - } - } else { - ptextln("Function key execute local (pfloc), not present."); - } - - generic_done_message(t, state, ch); -} - -/* -** printer_on(test_list, status, ch) -** -** Test printer on/off (mc4) (mc5) (mc5i) -*/ -static void -printer_on( - struct test_list *t, - int *state, - int *ch) -{ - if (!prtr_on || !prtr_off) { - ptextln("Printer on/off missing. (mc5) (mc4)"); - } else if (prtr_silent) { - ptextln("Your printer is silent. (mc5i) is set."); - tc_putp(prtr_on); - ptextln("This line should be on the printer but not your screen. (mc5)"); - tc_putp(prtr_off); - ptextln("This line should be only on the screen. (mc4)"); - } else { - ptextln("Your printer is not silent. (mc5i) is reset."); - tc_putp(prtr_on); - ptextln("This line should be on the printer and the screen. (mc5)"); - tc_putp(prtr_off); - ptextln("This line should only be on the screen. (mc4)"); - } - generic_done_message(t, state, ch); -} - -/* -** printer_mc0(test_list, status, ch) -** -** Test screen print (mc0) -*/ -static void -printer_mc0( - struct test_list *t, - int *state, - int *ch) -{ - if (print_screen) { - ptext("I am going to send the contents of the screen to"); - ptext(" the printer, then wait for a keystroke from you."); - ptext(" All of the text that appears on the screen"); - ptextln(" should be printed. (mc0)"); - tc_putp(print_screen); - } else { - ptext("(mc0) Print-screen is not present. "); - } - generic_done_message(t, state, ch); -} - - -static void -line_pattern(void) -{ /* put up a pattern that will help count the - number of lines */ - int i, j; - - put_clear(); - if (over_strike) { - for (i = 0; i < 100; i++) { - if (i) { - put_crlf(); - } - for (j = i / 10; j; j--) { - put_this(' '); - } - put_this('0' + ((i + 1) % 10)); - } - } else /* I assume it will scroll */ { - for (i = 100; i; i--) { - sprintf(temp, "\r\n%d", i); - put_str(temp); - } - } -} - - -static void -column_pattern(void) -{ /* put up a pattern that will help count the - number of columns */ - int i, j; - - put_clear(); - for (i = 0; i < 20; i++) { - for (j = 1; j < 10; j++) { - put_this('0' + j); - } - put_this('.'); - } -} - -/* -** report_help() -** -** Print the help text for the echo tests -*/ -static void -report_help(int crx) -{ - ptextln("The following commands may also be entered:"); - ptextln(" clear clear screen."); - ptextln(" columns print a test pattern to help count screen width."); - ptextln(" lines print a test pattern to help count screen length."); - ptextln(" end exit."); - ptextln(" echo redisplay last report."); - if (crx) { - ptextln(" hex redisplay last report in hex."); - } else { - ptextln(" hex toggle hex display mode."); - } - ptextln(" help display this list."); - ptextln(" high toggle forced high bit (0x80)."); - ptextln(" scan toggle scan mode."); - ptextln(" one echo one character after or as is. (report mode)"); - ptextln(" two echo two characters after or as is."); - ptextln(" all echo all characters after or as is. (echo mode)"); -} - -/* -** tools_report(testlist, state, ch) -** -** Run the echo tool and report tool -*/ -void -tools_report( - struct test_list *t, - int *state GCC_UNUSED, - int *pch GCC_UNUSED) -{ - int i, j, ch, crp, crx, high_bit, save_scan_mode, hex_display; - char buf[1024]; - char txt[8]; - - hex_display = hex_out; - put_clear(); - if ((crx = (t->flags & 255)) == 1) { - ptext("Characters after a CR or LF will be echoed as"); - ptextln(" is. All other characters will be expanded."); - report_help(crx); - } else { /* echo test */ - ptextln("Begin echo test."); - report_help(crx); - } - txt[sizeof(txt) - 1] = '\0'; - save_scan_mode = scan_mode; - tty_raw(1, char_mask); - for (i = crp = high_bit = 0;;) { - ch = getchp(char_mask); - if (ch == EOF) { - break; - } - if (i >= (int) sizeof(buf) - 1) { - i = 0; - } - buf[i++] = ch; - buf[i] = '\0'; - for (j = 0; j < (int) sizeof(txt) - 1; j++) { - txt[j] = txt[j + 1]; - } - txt[sizeof(txt) - 1] = ch & STRIP_PARITY; - if (crx == 0) { /* echo test */ - if (hex_display) { - ptext(hex_expand_to(&buf[i - 1], 3)); - } else { - tc_putch(ch | high_bit); - } - } else /* status report test */ - if (ch == '\n' || ch == '\r') { - put_crlf(); - crp = 0; - } else if (crp++ < crx) { - tc_putch(ch | high_bit); - } else { - put_str(expand(&buf[i - 1])); - } - if (!strncmp(&txt[sizeof(txt) - 7], "columns", 7)) { - column_pattern(); - buf[i = 0] = '\0'; - crp = 0; - } - if (!strncmp(&txt[sizeof(txt) - 5], "lines", 5)) { - line_pattern(); - buf[i = 0] = '\0'; - crp = 0; - } - if (!strncmp(&txt[sizeof(txt) - 5], "clear", 5)) { - put_clear(); - buf[i = 0] = '\0'; - crp = 0; - } - if (!strncmp(&txt[sizeof(txt) - 4], "high", 4)) { - high_bit ^= 0x80; - if (high_bit) { - ptextln("\nParity bit set"); - } else { - ptextln("\nParity bit reset"); - } - } - if (!strncmp(&txt[sizeof(txt) - 4], "help", 4)) { - put_crlf(); - report_help(crx); - } - if (!strncmp(&txt[sizeof(txt) - 4], "echo", 4)) { - /* display the last status report */ - /* clear bypass condition on Tek terminals */ - put_crlf(); - if (i >= 4) { - buf[i -= 4] = '\0'; - } - put_str(expand(buf)); - } - if (save_scan_mode && - !strncmp(&txt[sizeof(txt) - 4], "scan", 4)) { - /* toggle scan mode */ - scan_mode = !scan_mode; - } - if (!strncmp(&txt[sizeof(txt) - 3], "end", 3)) - break; - if (!strncmp(&txt[sizeof(txt) - 3], "hex", 3)) { - if (crx) { - /* display the last status report in hex */ - /* clear bypass condition on Tek terminals */ - put_crlf(); - if (i >= 3) { - buf[i -= 3] = '\0'; - } - put_str(hex_expand_to(buf, 3)); - } else { - hex_display = !hex_display; - } - } - if (!strncmp(&txt[sizeof(txt) - 3], "two", 3)) - crx = 2; - if (!strncmp(&txt[sizeof(txt) - 3], "one", 3)) - crx = 1; - if (!strncmp(&txt[sizeof(txt) - 3], "all", 3)) - crx = 0; - } - scan_mode = save_scan_mode; - put_crlf(); - tty_set(); - if (crx) { - ptextln("End of status report test."); - } else { - ptextln("End of echo test."); - } -} diff --git a/src/libs/ncurses/tack/init.c b/src/libs/ncurses/tack/init.c deleted file mode 100644 index 4df9d4e2d1..0000000000 --- a/src/libs/ncurses/tack/init.c +++ /dev/null @@ -1,316 +0,0 @@ -/* -** Copyright (C) 1991, 1997 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ -/* initialization and wrapup code */ - -#include - -MODULE_ID("$Id: init.c,v 1.6 2005/09/17 19:49:16 tom Exp $") - -#if NCURSES_VERSION_MAJOR >= 5 || NCURSES_VERSION_PATCH >= 981219 -#define _nc_get_curterm(p) _nc_get_tty_mode(p) -#endif - -FILE *debug_fp; -char temp[1024]; -char tty_basename[64]; - -void -put_name(const char *cap, const char *name) -{ /* send the cap name followed by the cap */ - if (cap) { - ptext(name); - tc_putp(cap); - } -} - -static void -report_cap(const char *tag, const char *s) -{ /* expand the cap or print *** missing *** */ - int i; - - ptext(tag); - for (i = char_count; i < 13; i++) { - putchp(' '); - } - put_str(" = "); - if (s) { - putln(expand(s)); - } else { - putln("*** missing ***"); - } -} - - -void -reset_init(void) -{ /* send the reset and init strings */ - int i; - - ptext("Terminal reset"); - i = char_count; - put_name(reset_1string, " (rs1)"); - put_name(reset_2string, " (rs2)"); - /* run the reset file */ - if (reset_file && reset_file[0]) { - FILE *fp; - int ch; - - can_test("rf", FLAG_TESTED); - if ((fp = fopen(reset_file, "r"))) { /* send the reset file */ - sprintf(temp, " (rf) %s", reset_file); - ptextln(temp); - while (1) { - ch = getc(fp); - if (ch == EOF) - break; - put_this(ch); - } - fclose(fp); - } else { - sprintf(temp, "\nCannot open reset file (rf) %s", reset_file); - ptextln(temp); - } - } - put_name(reset_3string, " (rs3)"); - if (i != char_count) { - put_crlf(); - } - ptext(" init"); - put_name(init_1string, " (is1)"); - put_name(init_2string, " (is2)"); - if (set_tab && clear_all_tabs && init_tabs != 8) { - put_crlf(); - tc_putp(clear_all_tabs); - for (char_count = 0; char_count < columns; char_count++) { - put_this(' '); - if ((char_count & 7) == 7) { - tc_putp(set_tab); - } - } - put_cr(); - } - /* run the initialization file */ - if (init_file && init_file[0]) { - FILE *fp; - int ch; - - can_test("if", FLAG_TESTED); - if ((fp = fopen(init_file, "r"))) { /* send the init file */ - sprintf(temp, " (if) %s", init_file); - ptextln(temp); - while (1) { - ch = getc(fp); - if (ch == EOF) - break; - put_this(ch); - } - fclose(fp); - } else { - sprintf(temp, "\nCannot open init file (if) %s", init_file); - ptextln(temp); - } - } - if (init_prog) { - can_test("iprog", FLAG_TESTED); - (void) system(init_prog); - } - put_name(init_3string, " (is3)"); - - fflush(stdout); -} - -/* -** display_basic() -** -** display the basic terminal definitions -*/ -void -display_basic(void) -{ - put_str("Name: "); - putln(ttytype); - - report_cap("\\r ^M (cr)", carriage_return); - report_cap("\\n ^J (ind)", scroll_forward); - report_cap("\\b ^H (cub1)", cursor_left); - report_cap("\\t ^I (ht)", tab); -/* report_cap("\\f ^L (ff)", form_feed); */ - if (newline) { - /* OK if missing */ - report_cap(" (nel)", newline); - } - report_cap(" (clear)", clear_screen); - if (!cursor_home && cursor_address) { - report_cap("(cup) (home)", tparm(cursor_address, 0, 0)); - } else { - report_cap(" (home)", cursor_home); - } -#ifdef user9 - report_cap("ENQ (u9)", user9); -#endif -#ifdef user8 - report_cap("ACK (u8)", user8); -#endif - - sprintf(temp, "\nTerminal size: %d x %d. Baud rate: %u. Frame size: %d.%d", - columns, lines, - tty_baud_rate, - tty_frame_size >> 1, - (tty_frame_size & 1) * 5); - putln(temp); -} - -/* -** curses_setup(exec_name) -** -** Startup ncurses -*/ -void -curses_setup( - char *exec_name) -{ - int status; - static TERMTYPE term; - char tty_filename[2048]; - - tty_init(); - - /** - See if the terminal is in the terminfo data base. This call has - two useful benefits, 1) it returns the filename of the terminfo entry, - and 2) it searches only terminfo's. This allows us to abort before - ncurses starts scanning the termcap file. - **/ - if ((status = _nc_read_entry(tty_basename, tty_filename, &term)) == 0) { - const TERMTYPE *fallback = _nc_fallback(tty_basename); - - if (fallback) { - term = *fallback; - sprintf(tty_filename, "(fallback)%s", tty_basename); - status = 1; - } else { - fprintf(stderr, "Terminal not found: TERM=%s\n", tty_basename); - show_usage(exec_name); - exit(1); - } - } - if (status == -1) { - fprintf(stderr, "Terminfo database is inaccessible\n"); - exit(1); - } - - /** - This call will load the terminfo data base and set the cur-term - variable. Only terminals that actually exist will get here so its - OK to ignore errors. This is a good thing since ncurses does not - permit (os) or (gn) to be set. - **/ - setupterm(tty_basename, 1, &status); - - /** - Get the current terminal definitions. This must be done before - getting the baudrate. - **/ - _nc_get_curterm(&cur_term->Nttyb); - tty_baud_rate = baudrate(); - tty_cps = (tty_baud_rate << 1) / tty_frame_size; - - /* set up the defaults */ - replace_mode = TRUE; - scan_mode = 0; - char_count = 0; - select_delay_type = debug_level = 0; - char_mask = (meta_on && meta_on[0] == '\0') ? ALLOW_PARITY : STRIP_PARITY; - /* Don't change the XON/XOFF modes yet. */ - select_xon_xoff = initial_stty_query(TTY_XON_XOFF) ? 1 : needs_xon_xoff; - - fflush(stdout); /* flush any output */ - tty_set(); - - go_home(); /* set can_go_home */ - put_clear(); /* set can_clear_screen */ - - if (send_reset_init) { - reset_init(); - } - - /* - I assume that the reset and init strings may not have the correct - pads. (Because that part of the test comes much later.) Because - of this, I allow the terminal some time to catch up. - */ - fflush(stdout); /* waste some time */ - sleep(1); /* waste more time */ - charset_can_test(); - can_test("lines cols cr nxon rf if iprog rmp smcup rmcup", FLAG_CAN_TEST); - edit_init(); /* initialize the edit data base */ - - if (send_reset_init && enter_ca_mode) { - tc_putp(enter_ca_mode); - put_clear(); /* just in case we switched pages */ - } - put_crlf(); - ptext("Using terminfo from: "); - ptextln(tty_filename); - put_crlf(); - - if (tty_can_sync == SYNC_NEEDED) { - verify_time(); - } - - display_basic(); -} - -/* -** bye_kids(exit-condition) -** -** Shutdown the terminal, clear the signals, and exit -*/ -void -bye_kids(int n) -{ /* reset the tty and exit */ - ignoresig(); - if (send_reset_init) { - if (exit_ca_mode) { - tc_putp(exit_ca_mode); - } - if (initial_stty_query(TTY_XON_XOFF)) { - if (enter_xon_mode) { - tc_putp(enter_xon_mode); - } - } else if (exit_xon_mode) { - tc_putp(exit_xon_mode); - } - } - if (debug_fp) { - fclose(debug_fp); - } - if (log_fp) { - fclose(log_fp); - } - tty_reset(); - fclose(stdin); - fclose(stdout); - fclose(stderr); - if (not_a_tty) - sleep(1); - exit(n); -} diff --git a/src/libs/ncurses/tack/menu.c b/src/libs/ncurses/tack/menu.c deleted file mode 100644 index b4c8c050ad..0000000000 --- a/src/libs/ncurses/tack/menu.c +++ /dev/null @@ -1,421 +0,0 @@ -/* -** Copyright (C) 1991, 1997 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ - -#include - -MODULE_ID("$Id: menu.c,v 1.3 2005/09/17 19:49:16 tom Exp $") - -/* - Menu control - */ - -static void test_byname(struct test_menu *, int *, int *); - -struct test_list *augment_test; -char prompt_string[80]; /* menu prompt storage */ - -/* -** menu_prompt() -** -** Print the menu prompt string. -*/ -void -menu_prompt(void) -{ - ptext(&prompt_string[1]); -} - -/* -** menu_test_loop(test-structure, state, control-character) -** -** This function implements the repeat test function. -*/ -static void -menu_test_loop( - struct test_list *test, - int *state, - int *ch) -{ - int nch, p; - - if ((test->flags & MENU_REP_MASK) && (augment_test != test)) { - /* set the augment variable (first time only) */ - p = (test->flags >> 8) & 15; - if ((test->flags & MENU_REP_MASK) == MENU_LM1) { - augment = lines - 1; - } else - if ((test->flags & MENU_ONE_MASK) == MENU_ONE) { - augment = 1; - } else - if ((test->flags & MENU_LC_MASK) == MENU_lines) { - augment = lines * p / 10; - } else - if ((test->flags & MENU_LC_MASK) == MENU_columns) { - augment = columns * p / 10; - } else { - augment = 1; - } - augment_test = test; - set_augment_txt(); - } - do { - if ((test->flags | *state) & MENU_CLEAR) { - put_clear(); - } else - if (line_count + test->lines_needed >= lines) { - put_clear(); - } - nch = 0; - if (test->test_procedure) { - /* The procedure takes precedence so I can pass - the menu entry as an argument. - */ - can_test(test->caps_done, FLAG_TESTED); - can_test(test->caps_tested, FLAG_TESTED); - test->test_procedure(test, state, &nch); - } else - if (test->sub_menu) { - /* nested menu's */ - menu_display(test->sub_menu, &nch); - *state = 0; - if (nch == 'q' || nch == 's') { - /* Quit and skip are killed here */ - nch = '?'; - } - } else { - break; /* cya */ - } - if (nch == '\r' || nch == '\n' || nch == 'n') { - nch = 0; - break; - } - } while (nch == 'r'); - *ch = nch; -} - -/* -** menu_display(menu-structure, flags) -** -** This function implements menu control. -*/ -void -menu_display( - struct test_menu *menu, - int *last_ch) -{ - int test_state = 0, run_standard_tests; - int hot_topic, ch = 0, nch = 0; - struct test_list *mt; - struct test_list *repeat_tests = 0; - int repeat_state = 0; - int prompt_length; - - prompt_length = strlen(prompt_string); - if (menu->ident) { - sprintf(&prompt_string[prompt_length], "/%s", menu->ident); - } - hot_topic = menu->default_action; - run_standard_tests = menu->standard_tests ? - menu->standard_tests[0] : -1; - if (!last_ch) { - last_ch = &ch; - } - while (1) { - if (ch == 0) { - /* Display the menu */ - put_crlf(); - if (menu->menu_function) { - /* - this function may be used to restrict menu - entries. If used it must print the title. - */ - menu->menu_function(menu); - } else - if (menu->menu_title) { - ptextln(menu->menu_title); - } - for (mt = menu->tests; (mt->flags & MENU_LAST) == 0; mt++) { - if (mt->menu_entry) { - ptext(" "); - ptextln(mt->menu_entry); - } - } - if (menu->standard_tests) { - ptext(" "); - ptextln(menu->standard_tests); - ptextln(" r) repeat test"); - ptextln(" s) skip to next test"); - } - ptextln(" q) quit"); - ptextln(" ?) help"); - } - if (ch == 0 || ch == REQUEST_PROMPT) { - put_crlf(); - ptext(&prompt_string[1]); - if (hot_topic) { - ptext(" ["); - putchp(hot_topic); - ptext("]"); - } - ptext(" > "); - /* read a character */ - ch = wait_here(); - } - if (ch == '\r' || ch == '\n') { - ch = hot_topic; - } - if (ch == 'q') { - break; - } - if (ch == '?') { - ch = 0; - continue; - } - nch = ch; - ch = 0; - /* Run one of the standard tests (by request) */ - for (mt = menu->tests; (mt->flags & MENU_LAST) == 0; mt++) { - if (mt->menu_entry && (nch == mt->menu_entry[0])) { - if (mt->flags & MENU_MENU) { - test_byname(menu, &test_state, &nch); - } else { - menu_test_loop(mt, &test_state, &nch); - } - ch = nch; - if ((mt->flags & MENU_COMPLETE) && ch == 0) { - /* top level */ - hot_topic = 'q'; - ch = '?'; - } - } - } - if (menu->standard_tests && nch == 'r') { - menu->resume_tests = repeat_tests; - test_state = repeat_state; - nch = run_standard_tests; - } - if (nch == run_standard_tests) { - if (!(mt = menu->resume_tests)) { - mt = menu->tests; - } - if (mt->flags & MENU_LAST) { - mt = menu->tests; - } - /* Run the standard test suite */ - for ( ; (mt->flags & MENU_LAST) == 0; ) { - if ((mt->flags & MENU_NEXT) == MENU_NEXT) { - repeat_tests = mt; - repeat_state = test_state; - nch = run_standard_tests; - menu_test_loop(mt, &test_state, &nch); - if (nch != 0 && nch != 'n') { - ch = nch; - break; - } - if (test_state & MENU_STOP) { - break; - } - } - mt++; - } - if (ch == 0) { - ch = hot_topic; - } - menu->resume_tests = mt; - menu->resume_state = test_state; - menu->resume_char = ch; - - if (ch == run_standard_tests) { - /* pop up a level */ - break; - } - } - } - *last_ch = ch; - prompt_string[prompt_length] = '\0'; -} - -/* -** generic_done_message(test_list) -** -** Print the Done message and request input. -*/ -void -generic_done_message( - struct test_list *test, - int *state, - int *ch) -{ - char done_message[128]; - - if (test->caps_done) { - sprintf(done_message, "(%s) Done ", test->caps_done); - ptext(done_message); - } else { - ptext("Done "); - } - *ch = wait_here(); - if (*ch == '\r' || *ch == '\n' || *ch == 'n') { - *ch = 0; - } - if (*ch == 's') { - *state |= MENU_STOP; - *ch = 0; - } -} - -/* -** menu_clear_screen(test, state, ch) -** -** Just clear the screen. -*/ -void -menu_clear_screen( - struct test_list *test GCC_UNUSED, - int *state GCC_UNUSED, - int *ch GCC_UNUSED) -{ - put_clear(); -} - -/* -** menu_reset_init(test, state, ch) -** -** Send the reset and init strings. -*/ -void -menu_reset_init( - struct test_list *test GCC_UNUSED, - int *state GCC_UNUSED, - int *ch GCC_UNUSED) -{ - reset_init(); - put_crlf(); -} - -/* -** subtest_menu(test, state, ch) -** -** Scan the menu looking for something to execute -** Return TRUE if we found anything. -*/ -int -subtest_menu( - struct test_list *test, - int *state, - int *ch) -{ - struct test_list *mt; - - if (*ch) { - for (mt = test; (mt->flags & MENU_LAST) == 0; mt++) { - if (mt->menu_entry && (*ch == mt->menu_entry[0])) { - *ch = 0; - menu_test_loop(mt, state, ch); - return TRUE; - } - } - } - return FALSE; -} - -/* -** menu_can_scan(menu-structure) -** -** Recursively scan the menu tree and find which cap names can be tested. -*/ -void -menu_can_scan( - const struct test_menu *menu) -{ - struct test_list *mt; - - for (mt = menu->tests; (mt->flags & MENU_LAST) == 0; mt++) { - can_test(mt->caps_done, FLAG_CAN_TEST); - can_test(mt->caps_tested, FLAG_CAN_TEST); - if (!(mt->test_procedure)) { - if (mt->sub_menu) { - menu_can_scan(mt->sub_menu); - } - } - } -} - -/* -** menu_search(menu-structure, cap) -** -** Recursively search the menu tree and execute any tests that use cap. -*/ -static void -menu_search( - struct test_menu *menu, - int *state, - int *ch, - char *cap) -{ - struct test_list *mt; - int nch; - - for (mt = menu->tests; (mt->flags & MENU_LAST) == 0; mt++) { - nch = 0; - if (cap_match(mt->caps_done, cap) - || cap_match(mt->caps_tested, cap)) { - menu_test_loop(mt, state, &nch); - } - if (!(mt->test_procedure)) { - if (mt->sub_menu) { - menu_search(mt->sub_menu, state, &nch, cap); - } - } - if (*state & MENU_STOP) { - break; - } - if (nch != 0 && nch != 'n') { - *ch = nch; - break; - } - } -} - -/* -** test_byname(menu, state, ch) -** -** Get a cap name then run all tests that use that cap. -*/ -static void -test_byname( - struct test_menu *menu, - int *state GCC_UNUSED, - int *ch) -{ - int test_state = 0; - char cap[32]; - - if (tty_can_sync == SYNC_NOT_TESTED) { - verify_time(); - } - ptext("enter name: "); - read_string(cap, sizeof(cap)); - if (cap[0]) { - menu_search(menu, &test_state, ch, cap); - } - *ch = '?'; -} diff --git a/src/libs/ncurses/tack/modes.c b/src/libs/ncurses/tack/modes.c deleted file mode 100644 index e80d62bfb4..0000000000 --- a/src/libs/ncurses/tack/modes.c +++ /dev/null @@ -1,913 +0,0 @@ -/* -** Copyright (C) 1991, 1997 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ - -#include - -MODULE_ID("$Id: modes.c,v 1.2 2005/09/17 19:49:16 tom Exp $") - -/* - * Tests boolean flags and terminal modes. - */ -static void subtest_os(struct test_list *, int *, int *); -static void subtest_rmam(struct test_list *, int *, int *); -static void subtest_smam(struct test_list *, int *, int *); -static void subtest_am(struct test_list *, int *, int *); -static void subtest_ul(struct test_list *, int *, int *); -static void subtest_uc(struct test_list *, int *, int *); -static void subtest_bw(struct test_list *, int *, int *); -static void subtest_xenl(struct test_list *, int *, int *); -static void subtest_eo(struct test_list *, int *, int *); -static void subtest_xmc(struct test_list *, int *, int *); -static void subtest_xhp(struct test_list *, int *, int *); -static void subtest_mir(struct test_list *, int *, int *); -static void subtest_msgr(struct test_list *, int *, int *); -static void subtest_tbc(struct test_list *, int *, int *); -static void subtest_xt(struct test_list *, int *, int *); -static void subtest_hts(struct test_list *, int *, int *); -static void subtest_cbt(struct test_list *, int *, int *); -static void subtest_in(struct test_list *, int *, int *); -static void subtest_dadb(struct test_list *, int *, int *); - -struct test_list mode_test_list[] = { - {0, 0, 0, 0, "e) edit terminfo", 0, &edit_menu}, - {MENU_NEXT, 3, "os", 0, 0, subtest_os, 0}, - {MENU_NEXT, 1, "rmam", 0, 0, subtest_rmam, 0}, - {MENU_NEXT, 1, "smam", 0, 0, subtest_smam, 0}, - {MENU_NEXT, 1, "am", 0, 0, subtest_am, 0}, - {MENU_NEXT, 3, "ul", 0, 0, subtest_ul, 0}, - {MENU_NEXT, 3, "uc", 0, 0, subtest_uc, 0}, - {MENU_NEXT, 3, "bw", 0, 0, subtest_bw, 0}, - {MENU_NEXT, 4, "xenl", 0, 0, subtest_xenl, 0}, - {MENU_NEXT, 3, "eo", 0, 0, subtest_eo, 0}, - {MENU_NEXT, 3, "xmc", 0, 0, subtest_xmc, 0}, - {MENU_NEXT, 3, "xhp", 0, 0, subtest_xhp, 0}, - {MENU_NEXT, 6, "mir", 0, 0, subtest_mir, 0}, - {MENU_NEXT, 6, "msgr", 0, 0, subtest_msgr, 0}, - {MENU_NEXT | MENU_CLEAR, 0, "tbc", "it", 0, subtest_tbc, 0}, - {MENU_NEXT | MENU_CLEAR, 0, "hts", "it", 0, subtest_hts, 0}, - {MENU_NEXT, 4, "xt", "it", 0, subtest_xt, 0}, - {MENU_NEXT, 1, "cbt", "it", 0, subtest_cbt, 0}, - {MENU_NEXT, 6, "in", 0, 0, subtest_in, 0}, - {MENU_NEXT, 1, "da) (db", 0, 0, subtest_dadb, 0}, - {MENU_LAST, 0, 0, 0, 0, 0, 0} -}; - -/* -** subtest_os(test_list, status, ch) -** -** test over strike mode (os) -*/ -static void -subtest_os( - struct test_list *t, - int *state, - int *ch) -{ - ptext("(os) should be true, not false."); - put_cr(); - ptextln("(os) should be false."); - sprintf(temp, "(os) over-strike is %s in the data base. ", - over_strike ? "true" : "false"); - ptext(temp); - generic_done_message(t, state, ch); -} - -/* -** subtest_rmam(test_list, status, ch) -** -** test exit automatic margins mode (rmam) -*/ -static void -subtest_rmam( - struct test_list *t, - int *state, - int *ch) -{ - int j; - - if (!exit_am_mode) { - ptext("(rmam) not present. "); - } else - if (!can_go_home) { - ptext("(rmam) not tested, no way to home cursor. "); - } else - if (over_strike) { - put_clear(); - go_home(); - tc_putp(exit_am_mode); - ptext("\n(rmam) will reset (am)"); - go_home(); - for (j = 0; j < columns; j++) - put_this(' '); - ptext("(rmam) will not reset (am)"); - go_home(); - put_newlines(2); - } else { - put_clear(); - go_home(); - tc_putp(exit_am_mode); - ptext("\n(rmam) will reset (am)"); - go_home(); - for (j = 0; j < columns; j++) - put_this(' '); - ptext("(rmam) will not reset (am) "); - go_home(); - put_str(" "); - go_home(); - put_newlines(2); - } - ptext("Exit-automatic-margins "); - generic_done_message(t, state, ch); -} - -/* -** subtest_smam(test_list, status, ch) -** -** test enter automatic margins mode (smam) -*/ -static void -subtest_smam( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (!enter_am_mode) { - ptext("(smam) not present. "); - } else - if (!can_go_home) { - ptext("(smam) not tested, no way to home cursor. "); - } else - if (over_strike) { - put_clear(); - go_home(); - tc_putp(enter_am_mode); - ptext("\n(smam) will "); - i = char_count; - ptext("not set (am)"); - go_home(); - for (j = -i; j < columns; j++) - put_this(' '); - put_str("@@@"); - put_newlines(2); - } else { - put_clear(); - go_home(); - tc_putp(enter_am_mode); - ptext("\n(smam) will not set (am)"); - go_home(); - for (j = 0; j < columns; j++) - put_this(' '); - ptext("(smam) will set (am) "); - go_home(); - put_str(" "); - put_newlines(2); - } - ptext("Enter-automatic-margins "); - generic_done_message(t, state, ch); -} - -/* -** subtest_am(test_list, status, ch) -** -** test automatic margins (am) -*/ -static void -subtest_am( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (!can_go_home) { - ptextln("(am) not tested, no way to home cursor. "); - } else - if (over_strike) { - put_clear(); - go_home(); - ptext("\n(am) should "); - i = char_count; - ptext("not be set"); - go_home(); - for (j = -i; j < columns; j++) - put_this(' '); - put_str("@@@"); - go_home(); - put_newlines(2); - sprintf(temp, "(am) is %s in the data base", - auto_right_margin ? "true" : "false"); - ptextln(temp); - } else { - put_clear(); - go_home(); - ptext("\n(am) should not be set"); - go_home(); - for (j = 0; j < columns; j++) - put_this(' '); - ptext("(am) should be set "); - go_home(); - put_str(" \n\n"); - sprintf(temp, "(am) is %s in the data base", - auto_right_margin ? "true" : "false"); - ptextln(temp); - } - ptext("Automatic-right-margin "); - generic_done_message(t, state, ch); -} - -/* Note: uprint() sends underscore back-space character, and - ucprint() sends character back-space underscore. */ - -/* -** uprint(string) -** -** underline string for (ul) test -*/ -static void -uprint(const char *s) -{ - if (s) { - while (*s) { - put_str("_\b"); - putchp(*s++); - } - } -} - -/* -** ucprint(string) -** -** underline string for (uc) test -*/ -static void -ucprint(const char *s) -{ - if (s) { - while (*s) { - putchp(*s++); - putchp('\b'); - tc_putp(underline_char); - } - } -} - -/* -** subtest_ul(test_list, status, ch) -** -** test transparent underline (ul) -*/ -static void -subtest_ul( - struct test_list *t, - int *state, - int *ch) -{ - if (!over_strike) { - /* (ul) is used only if (os) is reset */ - put_crlf(); - sprintf(temp, "This text should %sbe underlined.", - transparent_underline ? "" : "not "); - uprint(temp); - put_crlf(); - ptextln("If the above line is not underlined the (ul) should be false."); - sprintf(temp, "(ul) Transparent-underline is %s in the data base", - transparent_underline ? "true" : "false"); - ptextln(temp); - generic_done_message(t, state, ch); - } -} - -/* -** subtest_uc(test_list, status, ch) -** -** test underline character (uc) -*/ -static void -subtest_uc( - struct test_list *t, - int *state, - int *ch) -{ - if (!over_strike) { - if (underline_char) { - ucprint("This text should be underlined."); - put_crlf(); - ptextln("If the above text is not underlined the (uc) has failed."); - ptext("Underline-character "); - } else { - ptext("(uc) underline-character is not defined. "); - } - generic_done_message(t, state, ch); - } -} - -/* -** subtest_bw(test_list, status, ch) -** -** test auto left margin (bw) -*/ -static void -subtest_bw( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (over_strike) { - /* test (bw) */ - ptext("\n(bw) should "); - i = char_count; - ptextln("not be set."); - for (j = i; j < columns; j++) - put_str("\b"); - put_str("@@@"); - put_crlf(); - sprintf(temp, "(bw) Auto-left-margin is %s in the data base", - auto_left_margin ? "true" : "false"); - ptextln(temp); - } else { - /* test (bw) */ - ptextln("(bw) should not be set."); - for (i = 12; i < columns; i++) - put_str("\b"); - if (delete_character) { - for (i = 0; i < 4; i++) - tc_putp(delete_character); - } else { - put_str(" "); - } - put_crlf(); - sprintf(temp, "(bw) Auto-left-margin is %s in the data base", - auto_left_margin ? "true" : "false"); - ptextln(temp); - } - generic_done_message(t, state, ch); -} - -/* -** subtest_tbc(test_list, status, ch) -** -** test clear tabs (tbc) -*/ -static void -subtest_tbc( - struct test_list *t, - int *state, - int *ch) -{ - int tabat; /* the tab spacing we end up with */ - int i; - - if (clear_all_tabs && !set_tab) { - ptext("(tbc) Clear-all-tabs is defined but (hts) set-tab is not. "); - ptext("Once the tabs are cleared there is no way to set them. "); - } else - if (clear_all_tabs) { - tabat = set_tab ? 8 : init_tabs; - tc_putp(clear_all_tabs); - ptext("Clear tabs (tbc)"); - go_home(); - put_crlf(); - putchp('\t'); - putchp('T'); - go_home(); - put_newlines(2); - for (i = 0; i < columns; i++) { - if (i == tabat) { - putchp('T'); - } else { - putchp('.'); - } - } - go_home(); - ptext("\n\n\nIf the above two lines have T's in the same column then (tbc) has failed. "); - } else { - ptext("(tbc) Clear-all-tabs is not defined. "); - } - generic_done_message(t, state, ch); -} - -/* -** subtest_hts(test_list, status, ch) -** -** (ht) and set tabs with (hts) -*/ -static void -subtest_hts( - struct test_list *t, - int *state, - int *ch) -{ - int tabat; /* the tab spacing we end up with */ - int i; - - tabat = init_tabs; - if (set_tab) { - ptext("Tabs set with (hts)"); - put_crlf(); - for (i = 1; i < columns; i++) { - if (i % 8 == 1) { - tc_putp(set_tab); - } - putchp(' '); - } - tabat = 8; - } else { - sprintf(temp, "(hts) Set-tabs not defined. (it) Initial-tabs at %d", init_tabs); - ptext(temp); - } - go_home(); - put_newlines(2); - if (tabat <= 0) { - tabat = 8; - } - for (i = tabat; i < columns; i += tabat) { - putchp('\t'); - putchp('T'); - } - go_home(); - put_newlines(3); - for (i = 1; i < columns; i++) { - putchp('.'); - } - go_home(); - put_newlines(3); - for (i = tabat; i < columns; i += tabat) { - putchp('\t'); - putchp('T'); - } - go_home(); - put_newlines(4); - putchp('.'); - for (i = 2; i < columns; i++) { - if (i % tabat == 1) { - putchp('T'); - } else { - putchp('.'); - } - } - go_home(); - put_newlines(5); - if (set_tab) { - ptextln("If the last two lines are not the same then (hts) has failed."); - } else - if (init_tabs > 0) { - ptextln("If the last two lines are not the same then (it) is wrong."); - } else { - ptextln("If the last two lines are the same then maybe you do have tabs and (it) should be changed."); - } - generic_done_message(t, state, ch); -} - -/* -** subtest_xt(test_list, status, ch) -** -** (xt) glitch -*/ -static void -subtest_xt( - struct test_list *t, - int *state, - int *ch) -{ - int tabat; /* the tab spacing we end up with */ - int cc; - - tabat = set_tab ? 8 : init_tabs; - if (!over_strike && (tabat > 0)) { - ptext("(xt) should not "); - put_cr(); - ptext("(xt) should"); - cc = char_count; - while (cc < 16) { - putchp('\t'); - cc = ((cc / tabat) + 1) * tabat; - } - putln("be set."); - sprintf(temp, "(xt) Destructive-tab is %s in the data base.", - dest_tabs_magic_smso ? "true" : "false"); - ptextln(temp); - generic_done_message(t, state, ch); - } -} - -/* -** subtest_cbt(test_list, status, ch) -** -** (cbt) back tab -*/ -static void -subtest_cbt( - struct test_list *t, - int *state, - int *ch) -{ - int i; - - if (back_tab) { - put_clear(); - ptext("Back-tab (cbt)"); - go_home(); - put_crlf(); - for (i = 1; i < columns; i++) { - putchp(' '); - } - for (i = 0; i < columns; i += 8) { - tc_putp(back_tab); - putchp('T'); - tc_putp(back_tab); - } - go_home(); - put_newlines(2); - for (i = 1; i < columns; i++) { - if (i % 8 == 1) { - putchp('T'); - } else { - putchp(' '); - } - } - go_home(); - put_newlines(3); - ptextln("The preceding two lines should be the same."); - } else { - ptextln("(cbt) Back-tab not present"); - } - generic_done_message(t, state, ch); -} - -/* -** subtest_xenl(test_list, status, ch) -** -** (xenl) eat newline glitch -*/ -static void -subtest_xenl( - struct test_list *t, - int *state, - int *ch) -{ - int i, j, k; - - if (over_strike) { - /* test (xenl) on overstrike terminals */ - if (!can_go_home || !can_clear_screen) { - ptextln("(xenl) Newline-glitch not tested, can't home cursor and clear."); - generic_done_message(t, state, ch); - return; - } - put_clear(); - /* - this test must be done in raw mode. Otherwise UNIX will - translate CR to CRLF. - */ - if (stty_query(TTY_OUT_TRANS)) - tty_raw(1, char_mask); - ptext("\nreset (xenl). Does "); - i = char_count; - put_str("not ignore CR, does "); - k = char_count; - put_str("not ignore LF"); - go_home(); - for (j = 0; j < columns; j++) - put_this(' '); - put_cr(); - for (j = 0; j < i; j++) - putchp(' '); - put_str("@@@\n@@"); - go_home(); - for (j = 0; j < columns; j++) - put_this(' '); - put_lf(); - for (j = 0; j < k; j++) - putchp(' '); - put_str("@@@\r@@"); - tty_set(); - go_home(); - put_newlines(4); - sprintf(temp, "(xenl) Newline-glitch is %s in the data base", - eat_newline_glitch ? "true" : "false"); - ptextln(temp); - } else { - /* test (xenl) when (os) is reset */ - if (!can_go_home) { - ptextln("(xenl) Newline-glitch not tested, can't home cursor"); - generic_done_message(t, state, ch); - return; - } - /* (xenl) test */ - put_clear(); - /* - this test must be done in raw mode. Otherwise - UNIX will translate CR to CRLF. - */ - if (stty_query(TTY_OUT_TRANS)) - tty_raw(1, char_mask); - for (j = 0; j < columns; j++) - put_this(' '); - put_cr(); - ptext("(xenl) should be set. Does not ignore CR"); - go_home(); - put_crlf(); - for (j = 0; j < columns; j++) - put_this(' '); - put_lf(); /* test (cud1) */ - ptext("(xenl) should be set. Ignores (cud1)"); - go_home(); - put_newlines(3); - if (scroll_forward && cursor_down && - strcmp(scroll_forward, cursor_down)) { - for (j = 0; j < columns; j++) - put_this(' '); - put_ind(); /* test (ind) */ - ptext("(xenl) should be set. Ignores (ind)"); - go_home(); - put_newlines(5); - } - tty_set(); - ptextln("If you don't see text above telling you to set it, (xenl) should be false"); - sprintf(temp, "(xenl) Newline-glitch is %s in the data base", - eat_newline_glitch ? "true" : "false"); - ptextln(temp); - } - generic_done_message(t, state, ch); -} - -/* -** subtest_eo(test_list, status, ch) -** -** (eo) erase overstrike -*/ -static void -subtest_eo( - struct test_list *t, - int *state, - int *ch) -{ - if (transparent_underline || over_strike || underline_char) { - ptext("(eo) should "); - if (underline_char) { - ucprint("not"); - } else { - uprint("not"); - } - put_cr(); - ptextln("(eo) should be set"); - sprintf(temp, "\n(eo) Erase-overstrike is %s in the data base", - erase_overstrike ? "true" : "false"); - ptextln(temp); - generic_done_message(t, state, ch); - } -} - -/* -** subtest_xmc(test_list, status, ch) -** -** (xmc) magic cookie glitch -*/ -static void -subtest_xmc( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (enter_standout_mode) { - sprintf(temp, "\n(xmc) Magic-cookie-glitch is %d in the data base", magic_cookie_glitch); - ptextln(temp); - j = magic_cookie_glitch * 8; - for (i = 0; i < j; i++) { - put_str(" "); - } - ptextln(" These two lines should line up."); - if (j > 0) { - char_count += j; - } - for (i = 0; i < 4; i++) { - put_mode(enter_standout_mode); - putchp(' '); - put_mode(exit_standout_mode); - putchp(' '); - } - ptextln("These two lines should line up."); - ptext("If they don't line up then (xmc) magic-cookie-glitch should be greater than zero. "); - generic_done_message(t, state, ch); - } -} - -/* -** subtest_xhp(test_list, status, ch) -** -** (xhp) erase does not clear standout mode -*/ -static void -subtest_xhp( - struct test_list *t, - int *state, - int *ch) -{ - if (enter_standout_mode) { - put_crlf(); - put_mode(enter_standout_mode); - put_str("Stand out"); - put_mode(exit_standout_mode); - put_cr(); - ptextln("If any part of this line is standout then (xhp) should be set."); - sprintf(temp, "(xhp) Erase-standout-glitch is %s in the data base", - ceol_standout_glitch ? "true" : "false"); - ptextln(temp); - generic_done_message(t, state, ch); - } -} - -/* -** subtest_mir(test_list, status, ch) -** -** (mir) move in insert mode -*/ -static void -subtest_mir( - struct test_list *t, - int *state, - int *ch) -{ - int i; - char *s; - - if (enter_insert_mode && exit_insert_mode && cursor_address) { - put_clear(); - i = line_count; - put_str("\nXXX\nXXX\nXXX\nXXX"); - tc_putp(enter_insert_mode); - s = tparm(cursor_address, i + 1, 0); - tputs(s, lines, tc_putch); - putchp('X'); - s = tparm(cursor_address, i + 2, 1); - tputs(s, lines, tc_putch); - putchp('X'); - s = tparm(cursor_address, i + 3, 2); - tputs(s, lines, tc_putch); - putchp('X'); - s = tparm(cursor_address, i + 4, 3); - tputs(s, lines, tc_putch); - putchp('X'); - tc_putp(exit_insert_mode); - put_newlines(2); - ptextln("If you see a 4 by 4 block of X's then (mir) should be true."); - sprintf(temp, "(mir) Move-in-insert-mode is %s in the data base", - move_insert_mode ? "true" : "false"); - ptextln(temp); - } else { - ptext("(mir) Move-in-insert-mode not tested, "); - if (!enter_insert_mode) { - ptext("(smir) "); - } - if (!exit_insert_mode) { - ptext("(rmir) "); - } - if (!cursor_address) { - ptext("(cup) "); - } - ptext("not present. "); - } - generic_done_message(t, state, ch); -} - -/* -** subtest_msgr(test_list, status, ch) -** -** (msgr) move in sgr mode -*/ -static void -subtest_msgr( - struct test_list *t, - int *state, - int *ch) -{ - int i; - - if (cursor_address && - ((enter_standout_mode && exit_standout_mode) || - (enter_alt_charset_mode && exit_alt_charset_mode))) { - put_crlf(); - i = line_count + 1; - tputs(tparm(cursor_address, i, 0), lines, tc_putch); - put_mode(enter_alt_charset_mode); - put_crlf(); - /* - some versions of the wy-120 can not clear lines or - screen when in alt charset mode. If (el) and (ed) - are defined then I can test them. If they are not - defined then they can not break (msgr) - */ - tc_putp(clr_eos); - tc_putp(clr_eol); - put_mode(exit_alt_charset_mode); - put_mode(enter_standout_mode); - putchp('X'); - tputs(tparm(cursor_address, i + 2, 1), lines, tc_putch); - putchp('X'); - tputs(tparm(cursor_address, i + 3, 2), lines, tc_putch); - putchp('X'); - tputs(tparm(cursor_address, i + 4, 3), lines, tc_putch); - putchp('X'); - put_mode(exit_standout_mode); - put_crlf(); - tc_putp(clr_eos); /* OK if missing */ - put_crlf(); - ptextln("If you see a diagonal line of standout X's then (msgr) should be true. If any of the blanks are standout then (msgr) should be false."); - sprintf(temp, "(msgr) Move-in-SGR-mode is %s in the data base", - move_standout_mode ? "true" : "false"); - ptextln(temp); - } else { - ptextln("(smso) (rmso) (smacs) (rmacs) missing; (msgr) Move-in-SGR-mode not tested."); - } - generic_done_message(t, state, ch); -} - -/* -** subtest_in(test_list, status, ch) -** -** (in) insert null glitch -*/ -static void -subtest_in( - struct test_list *t, - int *state, - int *ch) -{ - if (enter_insert_mode && exit_insert_mode) { - ptextln("\nTesting (in) with (smir) and (rmir)"); - putln("\tIf these two lines line up ..."); - put_str("\tIf these two lines line up ..."); - put_cr(); - tc_putp(enter_insert_mode); - putchp(' '); - tc_putp(exit_insert_mode); - ptext("\nthen (in) should be set. "); - sprintf(temp, - "(in) Insert-null-glitch is %s in the data base.", - insert_null_glitch ? "true" : "false"); - ptextln(temp); - generic_done_message(t, state, ch); - } -} - -/* -** subtest_dadb(test_list, status, ch) -** -** (da) (db) data above, (db) data below -*/ -static void -subtest_dadb( - struct test_list *t, - int *state, - int *ch) -{ - if (can_clear_screen && scroll_reverse && scroll_forward) { - put_clear(); - if (scroll_reverse) - ptext("(da) Data-above should be set\r"); - home_down(); - if (scroll_forward) - ptext("(db) Data-below should be set\r"); - tc_putp(scroll_forward); - go_home(); - tc_putp(scroll_reverse); - tc_putp(scroll_reverse); - home_down(); - tc_putp(scroll_forward); - go_home(); - ptextln("\n\n\n\n\nIf the top line is blank then (da) should be false."); - ptextln("If the bottom line is blank then (db) should be false."); - sprintf(temp, "\n(da) Data-above is %s, and (db) Data-below is %s, in the data base.", - memory_above ? "true" : "false", - memory_below ? "true" : "false"); - ptextln(temp); - line_count = lines; - } else { - ptextln("(da) Data-above, (db) Data-below not tested, scrolls or (clear) is missing."); - } - generic_done_message(t, state, ch); -} diff --git a/src/libs/ncurses/tack/modules b/src/libs/ncurses/tack/modules deleted file mode 100644 index 79c2d2265f..0000000000 --- a/src/libs/ncurses/tack/modules +++ /dev/null @@ -1,18 +0,0 @@ -# $Id: modules,v 1.4 1999/04/18 01:43:32 tom Exp $ -@ base -ansi progs $(srcdir) $(srcdir)/tack.h ../include/term.h -charset progs $(srcdir) $(srcdir)/tack.h ../include/term.h -color progs $(srcdir) $(srcdir)/tack.h ../include/term.h -control progs $(srcdir) $(srcdir)/tack.h ../include/term.h -crum progs $(srcdir) $(srcdir)/tack.h ../include/term.h -edit progs $(srcdir) $(srcdir)/tack.h ../include/term.h $(INCDIR)/tic.h -fun progs $(srcdir) $(srcdir)/tack.h ../include/term.h -init progs $(srcdir) $(srcdir)/tack.h ../include/term.h -menu progs $(srcdir) $(srcdir)/tack.h ../include/term.h -modes progs $(srcdir) $(srcdir)/tack.h ../include/term.h -output progs $(srcdir) $(srcdir)/tack.h ../include/term.h -pad progs $(srcdir) $(srcdir)/tack.h ../include/term.h -scan progs $(srcdir) $(srcdir)/tack.h ../include/term.h -sync progs $(srcdir) $(srcdir)/tack.h ../include/term.h -sysdep progs $(srcdir) $(srcdir)/tack.h ../include/term.h -tack progs $(srcdir) $(srcdir)/tack.h ../include/term.h diff --git a/src/libs/ncurses/tack/output.c b/src/libs/ncurses/tack/output.c deleted file mode 100644 index 71d6b16027..0000000000 --- a/src/libs/ncurses/tack/output.c +++ /dev/null @@ -1,818 +0,0 @@ -/* -** Copyright (C) 1991, 1997 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ -/* screen formatting and I/O utility functions */ - -#include -#include - -MODULE_ID("$Id: output.c,v 1.10 2005/09/17 19:49:16 tom Exp $") - -/* globals */ -long char_sent; /* number of characters sent */ -int char_count; /* counts characters */ -int line_count; /* counts line feeds */ -int expand_chars; /* length of expand() string */ -int replace_mode; /* used to output replace mode padding */ -int can_go_home; /* TRUE if we can fashion a home command */ -int can_clear_screen; /* TRUE if we can somehow clear the screen */ -int raw_characters_sent; /* Total output characters */ -static int log_count; /* Number of characters on a log line */ - -/* translate mode default strings */ -#define TM_carriage_return TM_string[0].value -#define TM_cursor_down TM_string[1].value -#define TM_scroll_forward TM_string[2].value -#define TM_newline TM_string[3].value -#define TM_cursor_left TM_string[4].value -#define TM_bell TM_string[5].value -#define TM_form_feed TM_string[6].value -#define TM_tab TM_string[7].value - -struct default_string_list TM_string[TM_last] = { - {"cr", "\r", 0}, - {"cud1", "\n", 0}, - {"ind", "\n", 0}, - {"nel", "\r\n", 0}, - {"cub1", "\b", 0}, - {"bel", "\007", 0}, - {"ff", "\f", 0}, - {"ht", "\t", 0} -}; - -static const char *c0[32] = { - "NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", - "BEL", "BS", "HT", "LF", "VT", "FF", "CR", "SO", "SI", - "DLE", "DC1", "DC2", "DC3", "DC4", "NAK", "SYN", "ETB", - "CAN", "EM", "SUB", "ESC", "FS", "GS", "RS", "US" -}; - -static const char *c1[32] = { - "", "", "", "", "IND", "NEL", "SSA", "ESA", - "HTS", "HTJ", "VTS", "PLD", "PLU", "RI", "SS2", "SS3", - "DCS", "PU1", "PU2", "STS", "CCH", "MW", "SPA", "EPA", - "", "", "", "CSI", "ST", "OSC", "PM", "APC" -}; - -int -getnext(int mask) -{ /* get the next character without scan mode - conversion */ - int ch; - unsigned char buf; - - tc_putp(req_for_input); - fflush(stdout); - if (nodelay_read) - while (1) { - ch = read(fileno(stdin), &buf, 1); - if (ch == -1) - return EOF; - if (ch == 1) - return buf; - } - ch = getchar(); - if (ch == EOF) - return EOF; - return ch & mask; -} - - -int -getchp(int mask) -{ /* read a character with scan mode conversion */ - if (scan_mode) { - tc_putp(req_for_input); - fflush(stdout); - return scan_key(); - } else - return getnext(mask); -} - -/* -** tc_putch(c) -** -** Output one character -*/ -int -tc_putch(int c) -{ - char_sent++; - raw_characters_sent++; - putchar(c); - if ((raw_characters_sent & 31) == 31) { - fflush(stdout); - } - if (log_fp) { - /* terminal output logging */ - c = UChar(c); - if (c < 32) { - fprintf(log_fp, "<%s>", c0[c]); - log_count += 5; - } else - if (c < 127) { - fprintf(log_fp, "%c", c); - log_count += 1; - } else { - fprintf(log_fp, "<%02x>", c); - log_count += 4; - } - if (c == '\n' || log_count >= 80) { - fprintf(log_fp, "\n"); - log_count = 0; - } - } - return (c); -} - -/* -** tt_tputs(string, reps) -** -** Output a string with tputs() translation. -** Use this function inside timing tests. -*/ -void -tt_tputs(const char *string, int reps) -{ - int i; - - if (string) { - for (i = 0; i < TT_MAX; i++) { - if (i >= ttp) { - tt_cap[i] = string; - tt_affected[i] = reps; - tt_count[i] = 1; - tt_delay[i] = msec_cost(string, reps); - ttp++; - break; - } - if (string == tt_cap[i] && reps == tt_affected[i]) { - tt_count[i]++; - tt_delay_used += tt_delay[i]; - break; - } - } - (void) tputs(string, reps, tc_putch); - } -} - -/* -** tt_putp(string) -** -** Output a string with tputs() translation. -** Use this function inside timing tests. -*/ -void -tt_putp(const char *string) -{ - tt_tputs(string, 1); -} - -/* -** tt_putparm(string, reps, arg1, arg2) -** -** Send tt_tputs(tparm(string, args1, arg2), reps) -** Use this function inside timing tests. -*/ -void -tt_putparm( - NCURSES_CONST char *string, - int reps, - int arg1, - int arg2) -{ - int i; - - if (string) { - for (i = 0; i < TT_MAX; i++) { - if (i >= ttp) { - tt_cap[i] = string; - tt_affected[i] = reps; - tt_count[i] = 1; - tt_delay[i] = msec_cost(string, reps); - ttp++; - break; - } - if (string == tt_cap[i] && reps == tt_affected[i]) { - tt_count[i]++; - tt_delay_used += tt_delay[i]; - break; - } - } - (void) tputs(tparm((NCURSES_CONST char *)string, arg1, arg2), reps, tc_putch); - } -} - -/* -** tc_putp(string) -** -** Output a string with tputs() translation. -** Use this function instead of putp() so we can track -** the actual number of characters sent. -*/ -int -tc_putp(const char *string) -{ - return tputs(string, 1, tc_putch); -} - - -void -put_this(int c) -{ /* output one character (with padding) */ - tc_putch(c); - if (char_padding && replace_mode) - tt_putp(char_padding); -} - - -void -put_cr(void) -{ - if (translate_mode && carriage_return) { - tt_putp(carriage_return); - } else { - tt_putp(TM_carriage_return); - } - char_count = 0; -} - - -void -put_lf(void) -{ /* send a linefeed (only works in RAW or - CBREAK mode) */ - if (translate_mode && cursor_down) { - tt_putp(cursor_down); - } else { - tt_putp(TM_cursor_down); - } - line_count++; -} - - -void -put_ind(void) -{ /* scroll forward (only works in RAW or - CBREAK mode) */ - if (translate_mode && scroll_forward) { - tt_putp(scroll_forward); - } else { - tt_putp(TM_scroll_forward); - } - line_count++; -} - -/* -** put_crlf() -** -** Send (nel) or -*/ -void -put_crlf(void) -{ - if (translate_mode && newline) { - tt_putp(newline); - } else { - tt_putp(TM_newline); - } - char_count = 0; - line_count++; -} - -/* -** put_new_lines(count) -** -** Send a number of newlines. (nel) -*/ -void -put_newlines(int n) -{ - while (n-- > 0) { - put_crlf(); - } -} - -/* -** putchp(character) -** -** Send one character to the terminal. -** This function does translation of control characters. -*/ -void -putchp(int c) -{ - switch (c) { - case '\b': - if (translate_mode && cursor_left) { - tt_putp(cursor_left); - } else { - tt_putp(TM_cursor_left); - } - char_count--; - break; - case 7: - if (translate_mode && bell) { - tt_putp(bell); - } else { - tt_putp(TM_bell); - } - break; - case '\f': - if (translate_mode && form_feed) { - tt_putp(form_feed); - } else { - tt_putp(TM_form_feed); - } - char_count = 0; - line_count++; - break; - case '\n': - put_crlf(); - break; - case '\r': - put_cr(); - break; - case '\t': - if (translate_mode && tab) { - tt_putp(tab); - } else { - tt_putp(TM_tab); - } - char_count = ((char_count / 8) + 1) * 8; - break; - default: - put_this(c); - char_count++; - break; - } -} - - -void -put_str(const char *s) -{ /* send the string to the terminal */ - for (; *s; putchp(*s++)); -} - - -void -putln(const char *s) -{ /* output a string followed by a CR LF */ - for (; *s; putchp(*s++)); - put_crlf(); -} - - -void -put_columns(const char *s, int len, int w) -{ /* put out s in column format */ - int l; - - if (char_count + w > columns) { - put_crlf(); - } - l = char_count % w; - if (l) { - while (l < w) { - putchp(' '); - l++; - } - } - if (char_count && char_count + len >= columns) { - put_crlf(); - } - l = char_count; - put_str(s); - char_count = l + len; -} - - -/* -** ptext(string) -** -** Output a string but do not assume the terminal will wrap to a -** new line. Break the line at a word boundary then send a CR LF. -** This is more esthetic on 40 column terminals. -*/ -void -ptext(const char *s) -{ - const char *t; - - while (*s) { - for (t = s + 1; *t > ' '; t++); - if ((char_count != 0) && ((t - s) + char_count >= columns)) { - put_crlf(); - while (*s == ' ') - s++; - } - while (s < t) { - putchp(*s++); - } - } -} - - -void -put_dec(char *f, int i) -{ /* print a line with a decimal number in it */ - char tm[128]; - - sprintf(tm, f, i / 10, i % 10); - ptext(tm); -} - - -void -three_digit(char *tx, int i) -{ /* convert the decimal number to a string of - at least 3 digits */ - if (i < 1000) - sprintf(tx, "%d.%d", i / 10, i % 10); - else - sprintf(tx, "%d", i / 10); -} - - -void -ptextln(const char *s) -{ /* print the text using ptext() then add a CR - LF */ - ptext(s); - put_crlf(); -} - - -static void -expand_one(int ch, char **v) -{ /* expand one character */ - char *t = *v; - - if (ch & 0x80) { /* dump it in octal (yuck) */ - *t++ = '\\'; - *t++ = '0' + ((ch >> 6) & 3); - *t++ = '0' + ((ch >> 3) & 7); - *t++ = '0' + (ch & 7); - expand_chars += 4; - } else if (ch == 127) { /* DEL */ - *t++ = '^'; - *t++ = '?'; - expand_chars += 2; - } else if (ch >= ' ') { - *t++ = ch; - expand_chars++; - } else { /* control characters */ - *t++ = '^'; - *t++ = ch + '@'; - expand_chars += 2; - } - *v = t; -} - - -char * -expand(const char *s) -{ /* convert the string to printable form */ - static char buf[4096]; - char *t, *v; - int ch; - - if (magic_cookie_glitch <= 0 && exit_attribute_mode) { - v = enter_reverse_mode; - } else { - v = NULL; - } - expand_chars = 0; - t = buf; - if (s) { - for (; (ch = *s); s++) { - if ((ch & 0x80) && v) { /* print it in reverse video - mode */ - strcpy(t, liberated(tparm(v))); - for (; *t; t++); - expand_one(ch & 0x7f, &t); - strcpy(t, liberated(tparm(exit_attribute_mode))); - for (; *t; t++); - } else { - expand_one(ch, &t); - } - } - } - *t = '\0'; - return buf; -} - - -char * -print_expand(char *s) -{ /* convert the string to 7-bit printable form */ - static char buf[4096]; - char *t; - int ch; - - expand_chars = 0; - t = buf; - if (s) { - for (; (ch = *s); s++) { - expand_one(ch, &t); - } - } - *t = '\0'; - return buf; -} - - -char * -expand_to(char *s, int l) -{ /* expand s to length l */ - char *t; - - for (s = t = expand(s); *t; t++); - for (; expand_chars < l; expand_chars++) { - *t++ = ' '; - } - *t = '\0'; - return s; -} - - -char * -hex_expand_to(char *s, int l) -{ /* expand s to length l in hex */ - static char buf[4096]; - char *t; - - for (t = buf; *s; s++) { - sprintf(t, "%02X ", UChar(*s)); - t += 3; - if (t - buf > (int) sizeof(buf) - 4) { - break; - } - } - for (; t - buf < l;) { - *t++ = ' '; - } - *t = '\0'; - expand_chars = t - buf; - return buf; -} - - -char * -expand_command(const char *c) -{ /* expand an ANSI escape sequence */ - static char buf[256]; - int i, j, ch; - char *s; - - s = buf; - for (i = FALSE; (ch = UChar(*c)) != 0; c++) { - if (i) { - *s++ = ' '; - } - i = TRUE; - if (ch < 32) { - j = UChar(c[1]); - if (ch == '\033' && j >= '@' && j <= '_') { - ch = j - '@'; - c++; - for (j = 0; (*s = c1[ch][j++]); s++); - } else - for (j = 0; (*s = c0[ch][j++]); s++); - } else { - *s++ = ch; - j = UChar(c[1]); - if (ch >= '0' && ch <= '9' && - j >= '0' && j <= '9') { - i = FALSE; - } - } - } - *s = '\0'; - return buf; -} - -/* -** go_home() -** -** Move the cursor to the home position -*/ -void -go_home(void) -{ - int i; - - if (cursor_home) - tt_putp(cursor_home); - else if (cursor_address) - tt_putparm(cursor_address, lines, 0, 0); - else if (row_address) { /* use (vpa) */ - put_cr(); - tt_putparm(row_address, 1, 0, 0); - } else if (cursor_up && cursor_to_ll) { - tt_putp(cursor_to_ll); - for (i = 1; i < lines; i++) { - tt_putp(cursor_up); - } - } else { - can_go_home = FALSE; - return; - } - char_count = line_count = 0; - can_go_home = TRUE; -} - - -void -home_down(void) -{ /* move the cursor to the lower left hand - corner */ - int i; - - if (cursor_to_ll) - tt_putp(cursor_to_ll); - else if (cursor_address) - tt_putparm(cursor_address, lines, lines - 1, 0); - else if (row_address) { /* use (vpa) */ - put_cr(); - tt_putparm(row_address, 1, lines - 1, 0); - } else if (cursor_down && cursor_home) { - tt_putp(cursor_home); - for (i = 1; i < lines; i++) - tt_putp(cursor_down); - } else - return; - char_count = 0; - line_count = lines - 1; -} - - -void -put_clear(void) -{ /* clear the screen */ - int i; - - if (clear_screen) - tt_tputs(clear_screen, lines); - else if (clr_eos && can_go_home) { - go_home(); - tt_tputs(clr_eos, lines); - } else if (scroll_forward && !over_strike && (can_go_home || cursor_up)) { - /* clear the screen by scrolling */ - put_cr(); - if (cursor_to_ll) { - tt_putp(cursor_to_ll); - } else if (cursor_address) { - tt_putparm(cursor_address, lines, lines - 1, 0); - } else if (row_address) { - tt_putparm(row_address, 1, lines - 1, 0); - } else { - for (i = 1; i < lines; i++) { - tt_putp(scroll_forward); - } - } - for (i = 1; i < lines; i++) { - tt_putp(scroll_forward); - } - if (can_go_home) { - go_home(); - } else { - for (i = 1; i < lines; i++) { - tt_putp(cursor_up); - } - } - } else { - can_clear_screen = FALSE; - return; - } - char_count = line_count = 0; - can_clear_screen = TRUE; -} - -/* -** wait_here() -** -** read one character from the input stream -** If the terminal is not in RAW mode then this function will -** wait for a or . -*/ -int -wait_here(void) -{ - char ch, cc[64]; - char message[16]; - int i, j; - - for (i = 0; i < (int) sizeof(cc); i++) { - cc[i] = ch = getchp(STRIP_PARITY); - if (ch == '\r' || ch == '\n') { - put_crlf(); - char_sent = 0; - return cc[i ? i - 1 : 0]; - } - if (ch >= ' ') { - if (stty_query(TTY_CHAR_MODE)) { - put_crlf(); - char_sent = 0; - return ch; - } - continue; - } - if (ch == 023) { /* Control S */ - /* ignore control S, but tell me about it */ - while (ch == 023 || ch == 021) { - ch = getchp(STRIP_PARITY); - if (i < (int) sizeof(cc)) - cc[++i] = ch; - } - put_str("\nThe terminal sent a ^S -"); - for (j = 0; j <= i; j++) { - sprintf(message, " %02X", cc[j] & 0xFF); - put_str(message); - } - put_crlf(); - i = -1; - } else if (ch != 021) { /* Not Control Q */ - /* could be abort character */ - spin_flush(); - if (tty_can_sync == SYNC_TESTED) { - (void) tty_sync_error(); - } else { - put_str("\n? "); - } - } - } - return '?'; -} - - -/* -** read_string(buffer, length) -** -** Read a string of characters from the input stream. -*/ -void -read_string( - char *buf, - int length) -{ - int ch, i; - - for (i = 0; i < length - 1; ) { - ch = getchp(STRIP_PARITY); - if (ch == '\r' || ch == '\n') { - break; - } - if (ch == '\b' || ch == 127) { - if (i) { - putchp('\b'); - putchp(' '); - putchp('\b'); - i--; - } - } else { - buf[i++] = ch; - putchp(ch); - } - } - buf[i] = '\0'; - put_crlf(); - char_sent = 0; -} - -/* -** maybe_wait(lines) -** -** wait if near the end of the screen, then clear screen -*/ -void -maybe_wait(int n) -{ - if (line_count + n >= lines) { - if (char_sent != 0) { - ptext("Go? "); - (void) wait_here(); - } - put_clear(); - } else { - put_crlf(); - } -} diff --git a/src/libs/ncurses/tack/pad.c b/src/libs/ncurses/tack/pad.c deleted file mode 100644 index da1e3d7828..0000000000 --- a/src/libs/ncurses/tack/pad.c +++ /dev/null @@ -1,1958 +0,0 @@ -/* -** Copyright (C) 1991, 1997 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ - -#include - -MODULE_ID("$Id: pad.c,v 1.6 2005/09/17 19:49:16 tom Exp $") - -/* test the pad counts on the terminal */ - -static void pad_standard(struct test_list *, int *, int *); -static void init_xon_xoff(struct test_list *, int *, int *); -static void init_cup(struct test_list *, int *, int *); -static void pad_rmxon(struct test_list *, int *, int *); -static void pad_home1(struct test_list *, int *, int *); -static void pad_home2(struct test_list *, int *, int *); -static void pad_clear(struct test_list *, int *, int *); -static void pad_ech(struct test_list *, int *, int *); -static void pad_el1(struct test_list *, int *, int *); -static void pad_el(struct test_list *, int *, int *); -static void pad_smdc(struct test_list *, int *, int *); -static void pad_dch(struct test_list *, int *, int *); -static void pad_dch1(struct test_list *, int *, int *); -static void pad_smir(struct test_list *, int *, int *); -static void pad_ich(struct test_list *, int *, int *); -static void pad_ich1(struct test_list *, int *, int *); -static void pad_xch1(struct test_list *, int *, int *); -static void pad_rep(struct test_list *, int *, int *); -static void pad_cup(struct test_list *, int *, int *); -static void pad_hd(struct test_list *, int *, int *); -static void pad_hu(struct test_list *, int *, int *); -static void pad_rin(struct test_list *, int *, int *); -static void pad_il(struct test_list *, int *, int *); -static void pad_indn(struct test_list *, int *, int *); -static void pad_dl(struct test_list *, int *, int *); -static void pad_xl(struct test_list *, int *, int *); -static void pad_scrc(struct test_list *, int *, int *); -static void pad_csrind(struct test_list *, int *, int *); -static void pad_sccsrrc(struct test_list *, int *, int *); -static void pad_csr_nel(struct test_list *, int *, int *); -static void pad_csr_cup(struct test_list *, int *, int *); -static void pad_ht(struct test_list *, int *, int *); -static void pad_smso(struct test_list *, int *, int *); -static void pad_smacs(struct test_list *, int *, int *); -static void pad_crash(struct test_list *, int *, int *); - -/* - Any command found in this list, executed from a "Done" prompt - will force the default action to repeat rather than next. -*/ -const char *pad_repeat_test = {"ep-+<>"}; - -struct test_list pad_test_list[] = { - {0, 0, 0, 0, "e) edit terminfo", 0, &edit_menu}, - {0, 0, 0, 0, "p) change padding", 0, &change_pad_menu}, - {0, 0, 0, 0, "@) display statistics about the last test", dump_test_stats, 0}, - {0, 0, 0, 0, "c) clear screen", menu_clear_screen, 0}, - {0, 0, 0, 0, "i) send reset and init", menu_reset_init, 0}, - {0, 0, 0, 0, txt_longer_test_time, longer_test_time, 0}, - {0, 0, 0, 0, txt_shorter_test_time, shorter_test_time, 0}, - {0, 0, 0, 0, txt_longer_augment, longer_augment, 0}, - {0, 0, 0, 0, txt_shorter_augment, shorter_augment, 0}, - /*** - Phase 1: Test initialization and reset strings. - - (rs1) (rs2) (rs3) (is1) (is2) (is3) are very difficult to test. - They have no defined output. To make matters worse, the cap - builder could partition (rs1) (rs2) (rs3) by length, leaving the - terminal in some unknown state between (rs1) and (rs2) or between - (r2) and (rs3). Some reset strings clear the screen when done. - - We have no control over this. The only thing we can do for - certain is to test the pad times by checking for overruns. - ***/ - {MENU_NEXT, 3, "rs1", 0, 0, pad_standard, 0}, - {MENU_NEXT, 3, "rs2", 0, 0, pad_standard, 0}, - {MENU_NEXT, 3, "rs3", 0, 0, pad_standard, 0}, - {MENU_NEXT | MENU_INIT, 0, 0, 0, 0, init_xon_xoff, 0}, - {MENU_NEXT, 3, "is1", 0, 0, pad_standard, 0}, - {MENU_NEXT, 3, "is2", 0, 0, pad_standard, 0}, - {MENU_NEXT, 3, "is3", 0, 0, pad_standard, 0}, - {MENU_NEXT, 3, "rmxon", "smxon", 0, pad_rmxon, 0}, - {MENU_NEXT | MENU_INIT, 0, 0, 0, 0, init_cup, 0}, - /* - Phase 2: Test home, screen clears and erases. - */ - {MENU_NEXT, 0, "home", 0, 0, pad_home1, 0}, - {MENU_NEXT, 0, "home) (nel", 0, 0, pad_home2, 0}, - {MENU_NEXT | 1, 0, "clear", 0, 0, pad_clear, 0}, - {MENU_NEXT | MENU_LM1, 0, "ed", 0, 0, pad_clear, 0}, - {MENU_NEXT | MENU_80c, 0, "ech", 0, 0, pad_ech, 0}, - {MENU_NEXT | MENU_80c, 0, "el1", "cub1 nel", 0, pad_el1, 0}, - {MENU_NEXT | MENU_10c, 0, "el", "nel", 0, pad_el, 0}, - /* - Phase 3: Character deletions and insertions - */ - {MENU_NEXT, 0, "smdc) (rmdc", 0, 0, pad_smdc, 0}, - {MENU_NEXT | MENU_80c, 0, "dch", "smdc rmdc", 0, pad_dch, 0}, - {MENU_NEXT | MENU_80c, 0, "dch1", "smdc rmdc", 0, pad_dch1, 0}, - {MENU_NEXT, 0, "smir) (rmir", 0, 0, pad_smir, 0}, - {MENU_NEXT | MENU_90c, 0, "ich) (ip", "smir rmir", 0, pad_ich, 0}, - {MENU_NEXT | MENU_90c, 0, "ich1) (ip", "smir rmir", 0, pad_ich1, 0}, - {MENU_NEXT, 4, "ich1) (dch1", "smir rmir", 0, pad_xch1, 0}, - {MENU_NEXT | MENU_90c, 0, "rep", 0, 0, pad_rep, 0}, - /* - Phase 4: Test cursor addressing pads. - */ - {MENU_NEXT, 0, "cup", 0, 0, pad_cup, 0}, - /* - Phase 5: Test scrolling and cursor save/restore. - */ - {MENU_NEXT, 0, "hd", 0, 0, pad_hd, 0}, - {MENU_NEXT, 0, "hu", 0, 0, pad_hu, 0}, - {MENU_NEXT | MENU_LM1 | 1, 0, "rin", 0, 0, pad_rin, 0}, - {MENU_NEXT, 0, "ri", 0, 0, pad_rin, 0}, - {MENU_NEXT | MENU_LM1 | 1, 0, "il", 0, 0, pad_il, 0}, - {MENU_NEXT, 0, "il1", 0, 0, pad_il, 0}, - {MENU_NEXT | MENU_LM1 | 1, 0, "indn", 0, 0, pad_indn, 0}, - {MENU_NEXT, 0, "ind", 0, 0, pad_indn, 0}, - {MENU_NEXT | MENU_LM1 | 1, 0, "dl", 0, 0, pad_dl, 0}, - {MENU_NEXT, 0, "dl1", 0, 0, pad_dl, 0}, - {MENU_NEXT, 0, "il1) (dl1", 0, 0, pad_xl, 0}, - {MENU_NEXT, 0, "sc) (rc", 0, 0, pad_scrc, 0}, - {MENU_NEXT | MENU_50l, 0, "csr) (ind", 0, 0, pad_csrind, 0}, - {MENU_NEXT, 0, "sc) (csr) (rc", 0, 0, pad_sccsrrc, 0}, - {MENU_NEXT, 0, "csr) (nel", "sc rc", 0, pad_csr_nel, 0}, - {MENU_NEXT, 0, "csr) (cup", 0, 0, pad_csr_cup, 0}, - /* - Phase 6: Test tabs. - */ - {MENU_NEXT, 0, "ht", 0, 0, pad_ht, 0}, - /* - Phase 7: Test character-set-switch pads. - */ - {MENU_NEXT, 0, "smso) (rmso", 0, 0, pad_smso, 0}, - {MENU_NEXT, 0, "smacs) (rmacs", 0, 0, pad_smacs, 0}, - /* - Phase 8: Tests for miscellaneous mode-switch pads. - */ - {MENU_NEXT, 3, "flash", 0, 0, pad_standard, 0}, - {MENU_NEXT, 3, "smkx", 0, 0, pad_standard, 0}, - {MENU_NEXT, 3, "rmkx", 0, 0, pad_standard, 0}, - {MENU_NEXT, 3, "smm", 0, 0, pad_standard, 0}, - {MENU_NEXT, 3, "rmm", 0, 0, pad_standard, 0}, - /* - Phase 9: Test crash-and-burn properties of unpadded (clear). - */ - {0, 0, "clear", "xon", "k) run clear test with no padding", pad_crash, 0}, - {MENU_LAST, 0, 0, 0, 0, 0, 0} -}; - -/* globals */ -static int hzcc; /* horizontal character count */ -char letter; /* current character being displayed */ -int letter_number; /* points into letters[] */ -int augment, repeats; /* number of characters (or lines) effected */ -char letters[] = "AbCdefghiJklmNopQrStuVwXyZ"; - -static char every_line[] = "This text should be on every line."; -static char all_lines[] = "Each char on any line should be the same. "; -static char above_line[] = "The above lines should be all Xs. "; -static char no_visual[] = "This loop test has no visual failure indicator. "; - -/* -** pad_standard(test_list, status, ch) -** -** Run a single cap pad test. -*/ -static void -pad_standard( - struct test_list *t, - int *state, - int *ch) -{ - const char *long_name; - char *cap; - int l = 2, i; - char tbuf[128]; - - if ((cap = get_string_cap_byname(t->caps_done, &long_name))) { - sprintf(tbuf, "(%s) %s, start testing", t->caps_done, - long_name); - if (skip_pad_test(t, state, ch, tbuf)) { - return; - } - i = 1; - pad_test_startup(1); - do { - if (i >= columns) { - page_loop(); - l++; - i = 1; - } - tt_putp(cap); - putchp(letter); - i++; - } while(still_testing()); - pad_test_shutdown(t, 0); - if (l >= lines) { - home_down(); - } else { - put_crlf(); - } - ptextln(no_visual); - } else { - CAP_NOT_FOUND; - /* Note: get_string_cap_byname() always sets long_name */ - sprintf(temp, "(%s) %s, not present. ", t->caps_done, - long_name); - ptext(temp); - } - pad_done_message(t, state, ch); -} - -/* -** init_xon_xoff(test_list, status, ch) -** -** Initialize the xon_xoff values -*/ -static void -init_xon_xoff( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch GCC_UNUSED) -{ - /* the reset strings may dink with the XON/XOFF modes */ - if (select_xon_xoff == 0 && exit_xon_mode) { - tc_putp(exit_xon_mode); - } - if (select_xon_xoff == 1 && enter_xon_mode) { - tc_putp(enter_xon_mode); - } -} - -/* -** pad_rmxon(test_list, status, ch) -** -** Test (rmxon) exit XON/XOFF mode -*/ -static void -pad_rmxon( - struct test_list *t, - int *state, - int *ch) -{ - if (select_xon_xoff == 0 && exit_xon_mode) { - pad_standard(t, state, ch); - } -} - -/* -** init_cup(test_list, status, ch) -** -** Send the initialization strings for XON/XOFF and (smcup) -** Stop pad testing if clear screen is missing. -*/ -static void -init_cup( - struct test_list *t, - int *state, - int *ch) -{ - init_xon_xoff(t, state, ch); - if (enter_ca_mode) { - tc_putp(enter_ca_mode); - } - if (!can_clear_screen) { - ptext("(clear) clear screen not present,"); - ptext(" pad processing terminated. "); - pad_done_message(t, state, ch); - if (*ch == 0 || *ch == 'n' || *ch == 's' || *ch == 'r') { - *ch = '?'; - } - return; - } -} - -/* -** pad_home1(test_list, status, ch) -** -** Test (home) when (am) is set. -*/ -static void -pad_home1( - struct test_list *t, - int *state, - int *ch) -{ - int j, k; - - if (can_go_home && auto_right_margin) { - /* - truly brain damaged terminals will fail this test because - they cannot accept data at full rate - */ - if (skip_pad_test(t, state, ch, "(home) Home start testing")) { - return; - } - pad_test_startup(1); - do { - go_home(); - for (j = 1; j < lines; j++) { - for (k = 0; k < columns; k++) { - if (k & 0xF) { - put_this(letter); - } else { - put_this('.'); - } - } - SLOW_TERMINAL_EXIT; - } - NEXT_LETTER; - } while(still_testing()); - pad_test_shutdown(t, 0); - ptext("All the dots should line up. "); - pad_done_message(t, state, ch); - put_clear(); - } -} - -/* -** pad_home2(test_list, status, ch) -** -** Test (home) and (nel). (am) is reset. -*/ -static void -pad_home2( - struct test_list *t, - int *state, - int *ch) -{ - int j, k; - - if (can_go_home) { - if (skip_pad_test(t, state, ch, - "(home) Home, (nel) newline start testing")) { - return; - } - pad_test_startup(1); - do { - go_home(); - for (j = 1; j < lines; j++) { - for (k = 2; k < columns; k++) { - if (k & 0xF) { - put_this(letter); - } else { - put_this('.'); - } - } - put_crlf(); /* this does the (nel) */ - SLOW_TERMINAL_EXIT; - } - NEXT_LETTER; - } while(still_testing()); - pad_test_shutdown(t, 0); - ptext("All the dots should line up. "); - pad_done_message(t, state, ch); - put_clear(); - } -} - -/* -** pad_clear(test_list, status, ch) -** -** Test (clear) and (ed) -** run the clear screen tests (also clear-to-end-of-screen) -** -** 0) full page -** 1) sparse page -** 2) short lines -** 3) one full line -** 4) one short line -*/ -static void -pad_clear( - struct test_list *t, - int *state, - int *ch) -{ - const char *end_message = 0; - const char *txt; - int j, k, is_clear; - int clear_select; /* select the test number */ - - is_clear = t->flags & 1; - clear_select = auto_right_margin ? 0 : 1; - if (is_clear) { - txt = "(clear) clear-screen start testing"; - } else { - if (!clr_eos) { - CAP_NOT_FOUND; - ptext("(ed) erase-to-end-of-display, not present. "); - pad_done_message(t, state, ch); - return; - } - txt = "(ed) erase-to-end-of-display start testing"; - } - if (skip_pad_test(t, state, ch, txt)) { - return; - } - if (enter_am_mode) { - tc_putp(enter_am_mode); - clear_select = 0; - } - for (; clear_select < 5; clear_select++) { - if (augment > lines || is_clear || !cursor_address) { - augment = lines; - } else { - if (augment <= 1) { - augment = 2; - } - if (augment < lines) { - put_clear(); - tt_putparm(cursor_address, 1, - lines - augment - 1, 0); - ptextln("This line should not be erased (ed)"); - } - } - repeats = augment; - switch (clear_select) { - case 0: - end_message = "Clear full screen. "; - break; - case 1: - end_message = "Clear sparse screen. "; - if (cursor_down) { - break; - } - clear_select++; - /* FALLTHRU */ - case 2: - end_message = "Clear one character per line. "; - if (newline) { - break; - } - clear_select++; - /* FALLTHRU */ - case 3: - end_message = "Clear one full line. "; - break; - case 4: - end_message = "Clear single short line. "; - break; - } - pad_test_startup(0); - do { - switch (clear_select) { - case 0: /* full screen test */ - for (j = 1; j < repeats; j++) { - for (k = 0; k < columns; k++) { - if (k & 0xF) { - put_this(letter); - } else { - put_this('.'); - } - } - SLOW_TERMINAL_EXIT; - } - break; - case 1: /* sparse screen test */ - for (j = columns - repeats; j > 2; j--) { - put_this(letter); - } - for (j = 2; j < repeats; j++) { - tt_putp(cursor_down); - put_this(letter); - } - break; - case 2: /* short lines */ - for (j = 2; j < repeats; j++) { - put_this(letter); - tt_putp(newline); - } - put_this(letter); - break; - case 3: /* one full line */ - for (j = columns - 5; j > 1; j--) { - put_this(letter); - } - break; - case 4: /* one short line */ - put_str("Erase this!"); - break; - } - if (is_clear) { - put_clear(); - } else { - if (augment == lines) { - go_home(); - } else { - tt_putparm(cursor_address, 1, - lines - repeats, 0); - } - tt_tputs(clr_eos, repeats); - } - NEXT_LETTER; - } while(still_testing()); - pad_test_shutdown(t, 1); - ptext(end_message); - - pad_done_message(t, state, ch); - - if (*ch != 0 && *ch != 'n') { - return; - } - } -} - -/* -** pad_ech(test_list, status, ch) -** -** Test (ech) erase characters -*/ -static void -pad_ech( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (!erase_chars) { - CAP_NOT_FOUND; - ptext("(ech) Erase-characters, not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(ech) Erase-characters start testing")) { - return; - } - if (augment > columns - 2) { - augment = columns - 2; - } - pad_test_startup(1); - do { - go_home(); - for (i = 2; i < lines; i++) { - for (j = 0; j <= repeats; j++) { - putchp(letter); - } - put_cr(); - tt_putparm(erase_chars, repeats, repeats, 0); - put_crlf(); - SLOW_TERMINAL_EXIT; - } - for (i = 1; i <= repeats; i++) { - putchp(' '); - } - putchp(letter); - put_crlf(); - NEXT_LETTER; - } while(still_testing()); - pad_test_shutdown(t, 0); - ptext(all_lines); - pad_done_message(t, state, ch); - put_clear(); -} - -/* -** pad_el1(test_list, status, ch) -** -** Test (el1) erase to start of line also (cub1) and (nel) -*/ -static void -pad_el1( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (!clr_bol) { - CAP_NOT_FOUND; - ptext("(el1) Erase-to-beginning-of-line, not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(el1) Erase-to-beginning-of-line start testing")) { - return; - } - if (augment > columns - 2) { - augment = columns - 2; - } - pad_test_startup(1); - do { - go_home(); - for (i = 2; i < lines; i++) { - for (j = 0; j <= repeats; j++) { - putchp(letter); - } - tt_putp(cursor_left); - tt_putp(cursor_left); - tt_tputs(clr_bol, repeats); - put_crlf(); - SLOW_TERMINAL_EXIT; - } - for (i = 1; i <= repeats; i++) { - putchp(' '); - } - putchp(letter); - put_crlf(); - NEXT_LETTER; - } while(still_testing()); - pad_test_shutdown(t, 0); - ptext(all_lines); - pad_done_message(t, state, ch); - put_clear(); -} - -/* -** pad_el(test_list, status, ch) -** -** Test (el) clear to end of line also (nel) -*/ -static void -pad_el( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (!clr_eol) { - CAP_NOT_FOUND; - ptext("(el) Clear-to-end-of-line, not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(el) Clear-to-end-of-line start testing")) { - return; - } - hzcc = columns * 8 / 10; /* horizontal character count */ - if (augment > hzcc) { - augment = hzcc; - } - pad_test_startup(1); - do { - go_home(); - for (i = 2; i < lines; i++) { - for (j = -1; j < augment; j++) { - putchp(letter); - } - put_cr(); - putchp(letter); - tt_putp(clr_eol); - put_crlf(); - SLOW_TERMINAL_EXIT; - } - putchp(letter); - put_crlf(); - NEXT_LETTER; - } while(still_testing()); - pad_test_shutdown(t, 0); - ptext(all_lines); - pad_done_message(t, state, ch); - put_clear(); -} - -/* -** pad_smdc(test_list, status, ch) -** -** Test (smdc) (rmdc) Delete mode -*/ -static void -pad_smdc( - struct test_list *t, - int *state, - int *ch) -{ - int i; - - if (!enter_delete_mode) { - CAP_NOT_FOUND; - ptext("(smdc) Enter-delete-mode"); - if (!exit_delete_mode) { - ptext(", (rmdc) Exit-delete-mode"); - } - ptext(", not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(smdc) (rmdc) Enter/Exit-delete-mode start testing")) { - return; - } - pad_test_startup(1); - do { - page_loop(); - for (i = 1; i < columns; i++) { - tt_putp(enter_delete_mode); - tt_putp(exit_delete_mode); - putchp(letter); - } - } while(still_testing()); - pad_test_shutdown(t, 0); - home_down(); - ptext(no_visual); - pad_done_message(t, state, ch); - put_clear(); -} - -/* -** pad_dch(test_list, status, ch) -** -** Test (smdc) (rmdc) Delete mode and (dch) -*/ -static void -pad_dch( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (!parm_dch) { - CAP_NOT_FOUND; - ptext("(dch) Delete-characters, not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(dch) Delete-characters start testing")) { - return; - } - hzcc = columns * 8 / 10; /* horizontal character count */ - if (augment > hzcc) { - augment = hzcc; - } - pad_test_startup(1); - do { - go_home(); - for (i = 2; i < lines; i++) { - for (j = 0; j <= repeats; j++) { - putchp(letter); - } - put_cr(); - tt_putp(enter_delete_mode); - tt_putparm(parm_dch, repeats, repeats, 0); - tt_putp(exit_delete_mode); - put_crlf(); - SLOW_TERMINAL_EXIT; - } - putchp(letter); - put_crlf(); - NEXT_LETTER; - } while(still_testing()); - pad_test_shutdown(t, 0); - home_down(); - ptext(all_lines); - pad_done_message(t, state, ch); - put_clear(); -} - -/* -** pad_dch1(test_list, status, ch) -** -** Test (smdc) (rmdc) Delete mode and (dch1) -*/ -static void -pad_dch1( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (!delete_character) { - if (parm_dch) { - /* if the other one is defined then its OK */ - return; - } - CAP_NOT_FOUND; - ptext("(dch1) Delete-character, not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(dch1) Delete-character start testing")) { - return; - } - hzcc = columns * 8 / 10; /* horizontal character count */ - if (augment > hzcc) { - augment = hzcc; - } - pad_test_startup(1); - do { - go_home(); - for (i = 2; i < lines; i++) { - for (j = -1; j < augment; j++) { - putchp(letter); - } - put_cr(); - tt_putp(enter_delete_mode); - for (j = 0; j < augment; j++) { - tt_putp(delete_character); - } - tt_putp(exit_delete_mode); - put_crlf(); - SLOW_TERMINAL_EXIT; - } - putchp(letter); - put_crlf(); - NEXT_LETTER; - } while(still_testing()); - pad_test_shutdown(t, 0); - ptext(all_lines); - pad_done_message(t, state, ch); - put_clear(); -} - -/* -** pad_smir(test_list, status, ch) -** -** Test (smir) (rmir) Insert mode -*/ -static void -pad_smir( - struct test_list *t, - int *state, - int *ch) -{ - int i; - - if (!enter_insert_mode) { - CAP_NOT_FOUND; - ptext("(smir) Enter-insert-mode"); - if (!exit_insert_mode) { - ptext(", (rmir) Exit-insert-mode"); - } - ptext(", not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(smir) (rmir) Enter/Exit-insert-mode start testing")) { - return; - } - pad_test_startup(1); - do { - page_loop(); - for (i = 1; i < columns; i++) { - tt_putp(enter_insert_mode); - tt_putp(exit_insert_mode); - putchp(letter); - } - } while(still_testing()); - pad_test_shutdown(t, 0); - home_down(); - ptext(no_visual); - pad_done_message(t, state, ch); - put_clear(); -} - -/* -** pad_ich(test_list, status, ch) -** -** Test (smir) (rmir) Insert mode and (ich) and (ip) -*/ -static void -pad_ich( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (!parm_ich) { - CAP_NOT_FOUND; - ptext("(ich) Insert-characters, not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(ich) Insert-characters, (ip) Insert-padding start testing")) { - return; - } - j = columns * 9 / 10; - if (augment > j) { - augment = j; - } - pad_test_startup(1); - do { - go_home(); - for (i = 2; i < lines; i++) { - putchp(letter); - put_cr(); - tt_putp(enter_insert_mode); - replace_mode = 0; - tt_putparm(parm_ich, repeats, repeats, 0); - tt_putp(exit_insert_mode); - replace_mode = 1; - put_crlf(); - SLOW_TERMINAL_EXIT; - } - for (i = 0; i < repeats; i++) { - putchp(' '); - } - putchp(letter); - NEXT_LETTER; - put_crlf(); - } while(still_testing()); - pad_test_shutdown(t, 0); - ptext(all_lines); - pad_done_message(t, state, ch); - tc_putp(exit_insert_mode); -} - -/* -** pad_ich1(test_list, status, ch) -** -** Test (smir) (rmir) Insert mode and (ich1) and (ip) -*/ -static void -pad_ich1( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (!insert_character) { - CAP_NOT_FOUND; - ptext("(ich1) Insert-character, not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(ich1) Insert-character, (ip) Insert-padding start testing")) { - return; - } - if (augment > columns - 2) { - augment = columns - 2; - } - pad_test_startup(1); - do { - put_clear(); - for (i = 2; i < lines; i++) { - putchp(letter); - put_cr(); - tt_putp(enter_insert_mode); - replace_mode = 0; - if (!insert_padding && !insert_character) { - /* only enter/exit is needed */ - for (j = 0; j < augment; j++) { - putchp('.'); - } - } else { - for (j = 0; j < augment; j++) { - tt_putp(insert_character); - putchp('.'); - tt_putp(insert_padding); - } - } - tt_putp(exit_insert_mode); - replace_mode = 1; - put_crlf(); - SLOW_TERMINAL_EXIT; - } - for (j = 0; j < augment; j++) { - putchp('.'); - } - putchp(letter); - NEXT_LETTER; - put_crlf(); - } while(still_testing()); - pad_test_shutdown(t, 0); - ptext(all_lines); - pad_done_message(t, state, ch); - tc_putp(exit_insert_mode); -} - -/* -** pad_xch1(test_list, status, ch) -** -** Test (ich1) (ip) (dch1) -*/ -static void -pad_xch1( - struct test_list *t, - int *state, - int *ch) -{ - static char xch1[] = - "This line should not be garbled. It should be left justified."; - - if (enter_insert_mode || exit_insert_mode || - enter_delete_mode || exit_delete_mode || - !insert_character || !delete_character) { - /* this test is quietly ignored */ - return; - } - if (skip_pad_test(t, state, ch, - "(ich1) Insert-character, (dch1) Delete-character start testing")) { - return; - } - put_crlf(); - ptext(xch1); - put_cr(); - pad_test_startup(0); - do { - tt_putp(insert_character); - tt_putp(delete_character); - } while(still_testing()); - pad_test_shutdown(t, 1); - ptextln(xch1); - ptext("The preceding two lines should be the same. "); - pad_done_message(t, state, ch); -} - -/* -** pad_rep(test_list, status, ch) -** -** Test (rep) repeat character -*/ -static void -pad_rep( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (!repeat_char) { - CAP_NOT_FOUND; - ptext("(rep) Repeat-character, not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(rep) Repeat-character start testing")) { - return; - } - if (augment > columns - 2) { - augment = columns - 2; - } - if (augment < 2) { - augment = 2; - } - pad_test_startup(1); - do { - go_home(); - for (i = 2; i < lines; i++) { - tt_putparm(repeat_char, repeats, letter, repeats); - put_crlf(); - } - for (j = 0; j < repeats; j++) { - putchp(letter); - } - put_crlf(); - NEXT_LETTER; - } while(still_testing()); - pad_test_shutdown(t, 0); - ptextln(all_lines); - pad_done_message(t, state, ch); -} - -/* -** pad_cup(test_list, status, ch) -** -** Test (cup) Cursor address -*/ -static void -pad_cup( - struct test_list *t, - int *state, - int *ch) -{ - int i, j, l, r, c; - - if (!cursor_address) { - CAP_NOT_FOUND; - ptext("(cup) Cursor-address not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(cup) Cursor-address start testing")) { - return; - } - put_clear(); - ptext("Each line should be filled with the same letter. There should"); - ptext(" be no gaps, or single letters scattered over the screen. "); - if (char_count + 15 > columns) { - put_crlf(); - } - if (((lines - line_count) & 1) == 0) { - /* this removes the gap in the middle of the test when the - number of lines is odd. */ - put_crlf(); - } - r = line_count; - c = char_count; - l = (columns - 4) >> 1; - pad_test_startup(0); - do { - for (i = 1; i + i + r < lines; i++) { - for (j = 0; j <= l; j++) { - tt_putparm(cursor_address, 1, r + i, j); - putchp(letter); - tt_putparm(cursor_address, 1, r + i, l + l + 1 - j); - putchp(letter); - tt_putparm(cursor_address, 1, lines - i, j); - putchp(letter); - tt_putparm(cursor_address, 1, lines - i, l + l + 1 - j); - putchp(letter); - } - SLOW_TERMINAL_EXIT; - } - NEXT_LETTER; - } while(still_testing()); - pad_test_shutdown(t, 0); - tt_putparm(cursor_address, 1, line_count = r, char_count = c); - pad_done_message(t, state, ch); - put_clear(); -} - -/* -** pad_hd(test_list, status, ch) -** -** Test (hd) Half down -*/ -static void -pad_hd( - struct test_list *t, - int *state, - int *ch) -{ - int i, j, k; - - if (!down_half_line) { - CAP_NOT_FOUND; - ptext("(hd) Half-line-down not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(hd) Half-line-down start testing")) { - return; - } - pad_test_startup(1); - do { - for (i = 1; i < columns; i += 2) { - for (j = 1; j < i; ++j) { - putchp(' '); - } - tt_putp(down_half_line); - for (k = lines + lines; k > 4; k--) { - if (j++ >= columns) { - break; - } - tt_putp(down_half_line); - putchp(letter); - } - go_home(); - SLOW_TERMINAL_EXIT; - } - NEXT_LETTER; - } while(still_testing()); - pad_test_shutdown(t, 0); - pad_done_message(t, state, ch); - put_clear(); -} - -/* -** pad_hu(test_list, status, ch) -** -** Test (hu) Half line up -*/ -static void -pad_hu( - struct test_list *t, - int *state, - int *ch) -{ - int i, j, k; - - if (!up_half_line) { - CAP_NOT_FOUND; - ptext("(hu) Half-line-up not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(hu) Half-line-up start testing")) { - return; - } - pad_test_startup(1); - do { - for (i = 1; i < columns; i += 2) { - home_down(); - for (j = 1; j < i; ++j) { - putchp(' '); - } - tt_putp(up_half_line); - for (k = lines + lines; k > 4; k--) { - if (j++ >= columns) { - break; - } - tt_putp(up_half_line); - putchp(letter); - } - SLOW_TERMINAL_EXIT; - } - go_home(); - NEXT_LETTER; - } while(still_testing()); - pad_test_shutdown(t, 0); - pad_done_message(t, state, ch); - put_clear(); -} - -/* -** pad_rin(test_list, status, ch) -** -** Test (rin) and (ri) Reverse index -*/ -static void -pad_rin( - struct test_list *t, - int *state, - int *ch) -{ - int i; - const char *start_message; - - if (t->flags & 1) { - /* rin */ - if (!parm_rindex) { - CAP_NOT_FOUND; - ptext("(rin) Scroll-reverse-n-lines not present. "); - pad_done_message(t, state, ch); - return; - } - start_message = "(rin) Scroll-reverse-n-lines start testing"; - } else { - /* ri */ - if (!scroll_reverse) { - CAP_NOT_FOUND; - ptext("(ri) Scroll-reverse not present. "); - pad_done_message(t, state, ch); - return; - } - start_message = "(ri) Scroll-reverse start testing"; - augment = 1; - } - if (skip_pad_test(t, state, ch, start_message)) { - return; - } - pad_test_startup(1); - do { - sprintf(temp, "%d\r", test_complete); - put_str(temp); - if (scroll_reverse && repeats == 1) { - tt_putp(scroll_reverse); - } else { - tt_putparm(parm_rindex, repeats, repeats, 0); - } - } while(still_testing()); - put_str("This line should be on the bottom.\r"); - if (scroll_reverse && augment == 1) { - for (i = 1; i < lines; i++) { - tt_putp(scroll_reverse); - } - } else { - tt_putparm(parm_rindex, lines - 1, lines - 1, 0); - } - putln("The screen should have text on the bottom line."); - sprintf(temp, "Scroll reverse %d line%s. ", augment, - augment == 1 ? "" : "s"); - put_str(temp); - pad_test_shutdown(t, 0); - pad_done_message(t, state, ch); - put_clear(); -} - -/* -** pad_il(test_list, status, ch) -** -** Test (il) and (il1) Insert line -*/ -static void -pad_il( - struct test_list *t, - int *state, - int *ch) -{ - int i; - const char *start_message; - - if (t->flags & 1) { - /* il */ - if (!parm_insert_line) { - CAP_NOT_FOUND; - ptext("(il) Insert-lines not present. "); - pad_done_message(t, state, ch); - return; - } - start_message = "(il) Insert-lines start testing"; - } else { - /* il1 */ - if (!insert_line) { - CAP_NOT_FOUND; - ptext("(il1) Insert-line not present. "); - pad_done_message(t, state, ch); - return; - } - start_message = "(il1) Insert-line start testing"; - augment = 1; - } - if (skip_pad_test(t, state, ch, start_message)) { - return; - } - pad_test_startup(1); - do { - sprintf(temp, "%d\r", test_complete); - put_str(temp); - if (insert_line && repeats == 1) { - tt_putp(insert_line); - } else { - tt_putparm(parm_insert_line, repeats, repeats, 0); - } - } while(still_testing()); - put_str("This line should be on the bottom.\r"); - if (insert_line && augment == 1) { - for (i = 1; i < lines; i++) { - tt_putp(insert_line); - } - } else { - tt_putparm(parm_insert_line, lines - 1, lines - 1, 0); - } - putln("The screen should have text on the bottom line."); - sprintf(temp, "Insert %d line%s. ", augment, - augment == 1 ? "" : "s"); - put_str(temp); - pad_test_shutdown(t, 0); - pad_done_message(t, state, ch); - put_clear(); -} - -/* -** pad_indn(test_list, status, ch) -** -** Test (indn) and (ind) Scroll forward -*/ -static void -pad_indn( - struct test_list *t, - int *state, - int *ch) -{ - int i; - const char *start_message; - - if (t->flags & 1) { - /* indn */ - if (!parm_index) { - CAP_NOT_FOUND; - ptext("(indn) Scroll-forward-n-lines not present. "); - pad_done_message(t, state, ch); - return; - } - start_message = "(indn) Scroll-forward-n-lines start testing"; - } else { - /* ind */ - if (!scroll_forward) { - CAP_NOT_FOUND; - ptext("(ind) Scroll-forward not present. "); - pad_done_message(t, state, ch); - return; - } - if (over_strike) { - ptext("(ind) Scroll-forward not tested on overstrike terminals. "); - pad_done_message(t, state, ch); - return; - } - start_message = "(ind) Scroll-forward start testing"; - augment = 1; - } - if (skip_pad_test(t, state, ch, start_message)) { - return; - } - pad_test_startup(1); - /* go to the bottom of the screen */ - home_down(); - do { - sprintf(temp, "%d\r", test_complete); - put_str(temp); - if (scroll_forward && repeats == 1) { - put_ind(); - } else { - tt_putparm(parm_index, repeats, repeats, 0); - } - } while(still_testing()); - put_str("This line should be on the top.\r"); - if (scroll_forward && augment == 1) { - for (i = 1; i < lines; i++) { - put_ind(); - } - } else { - tt_putparm(parm_index, lines - 1, lines - 1, 0); - } - go_home(); - sprintf(temp, "\nScroll forward %d line%s. ", augment, - augment == 1 ? "" : "s"); - put_str(temp); - pad_test_shutdown(t, 0); - pad_done_message(t, state, ch); -} - -/* -** pad_dl(test_list, status, ch) -** -** Test (dl) and (dl1) Delete lines -*/ -static void -pad_dl( - struct test_list *t, - int *state, - int *ch) -{ - int i = 0; - const char *start_message; - - if (t->flags & 1) { - /* dl */ - if (!parm_delete_line) { - CAP_NOT_FOUND; - ptext("(dl) Delete-lines not present. "); - pad_done_message(t, state, ch); - return; - } - start_message = "(dl) Delete-lines start testing"; - } else { - /* dl1 */ - if (!delete_line) { - CAP_NOT_FOUND; - ptext("(dl1) Delete-line not present. "); - pad_done_message(t, state, ch); - return; - } - start_message = "(dl1) Delete-line start testing"; - augment = 1; - } - if (skip_pad_test(t, state, ch, start_message)) { - return; - } - pad_test_startup(1); - do { - sprintf(temp, "%d\r", test_complete); - if (augment < lines - 1) { - go_home(); - putln(temp); - } - put_str(temp); - if (delete_line && repeats == 1) { - tt_putp(delete_line); - } else { - tt_putparm(parm_delete_line, repeats, repeats, 0); - } - } while(still_testing()); - home_down(); - put_str("This line should be on the top."); - go_home(); - if (delete_line && augment == 1) { - for (i = 1; i < lines; i++) { - tt_putp(delete_line); - } - } else { - tt_putparm(parm_delete_line, lines - 1, lines - 1, 0); - } - sprintf(temp, "\nDelete %d line%s. ", augment, - augment == 1 ? "" : "s"); - put_str(temp); - pad_test_shutdown(t, 0); - pad_done_message(t, state, ch); -} - -/* -** pad_xl(test_list, status, ch) -** -** Test (il1) Insert and (dl1) Delete lines -*/ -static void -pad_xl( - struct test_list *t, - int *state, - int *ch) -{ - if (!insert_line && !delete_line) { - /* quietly skip this test */ - return; - } - if (skip_pad_test(t, state, ch, - "(il1) Insert-line, (dl1) Delete-line start testing")) { - return; - } - put_clear(); - putln("\rThis text is written on the first line."); - ptext("This sentence begins on the second line. As this"); - ptext(" test runs the bottom part of this paragraph will"); - ptext(" jump up and down. Don't worry, that's normal. When"); - ptext(" the jumping stops, the entire paragraph should"); - ptext(" still be on the screen and in the same place as when"); - ptext(" the test started. If this paragraph has scrolled"); - ptext(" off the top or bottom of the screen then the test"); - ptext(" has failed. Scrolling off the top of the screen"); - ptext(" usually means that the delete line capability is"); - ptext(" working better than the insert line capability. If"); - ptext(" the text scrolls off the bottom then delete line may"); - ptext(" be broken. If parts of the text are missing then"); - ptext(" you should get professional help."); - put_crlf(); - go_home(); - put_newlines(2); - pad_test_startup(0); - do { - tt_putp(insert_line); - put_cr(); - tt_putp(delete_line); - } while(still_testing()); - pad_test_shutdown(t, 0); - home_down(); - ptext("The top of the screen should have a paragraph of text. "); - pad_done_message(t, state, ch); -} - -/* -** pad_scrc(test_list, status, ch) -** -** Test (sc) (rc) Save/restore cursor -*/ -static void -pad_scrc( - struct test_list *t, - int *state, - int *ch) -{ - int i; - - if (!save_cursor || !restore_cursor) { - CAP_NOT_FOUND; - if (save_cursor) { - ptext("(rc) Restore-cursor"); - } else - if (restore_cursor) { - ptext("(sc) Save-cursor"); - } else { - ptext("(sc) Save-cursor, (rc) Restore-cursor"); - } - ptext(" not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(sc) (rc) Save/Restore-cursor start testing")) { - return; - } - pad_test_startup(1); - do { - page_loop(); - for (i = 1; i < columns; i++) { - tt_putp(save_cursor); - putchp(letter); - tt_putp(restore_cursor); - putchp('X'); - } - } while(still_testing()); - pad_test_shutdown(t, 0); - home_down(); - ptext(above_line); - pad_done_message(t, state, ch); -} - -/* -** pad_csrind(test_list, status, ch) -** -** Test (csr) and (ind) Change scroll region and index. -*/ -static void -pad_csrind( - struct test_list *t, - int *state, - int *ch) -{ - int i; - - if (!change_scroll_region) { - CAP_NOT_FOUND; - ptext("(csr) Change-scroll-region not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(csr) Save/Restore-cursor, (ind) index start testing")) { - return; - } - if (augment < 2) { - augment = 2; - } - if (augment > lines - 1) { - augment = lines - 1; - } - put_clear(); - ptext("This text is on the top line."); - tt_putparm(change_scroll_region, 1, lines - augment, lines - 1); - /* go to the bottom of the screen */ - home_down(); - pad_test_startup(0); - do { - sprintf(temp, "%d\r", test_complete); - put_str(temp); - put_ind(); - } while(still_testing()); - ptextln("(csr) is broken."); - for (i = augment; i > 1; i--) { - put_ind(); - } - pad_test_shutdown(t, 0); - ptext("All but top and bottom lines should be blank. "); - pad_done_message(t, state, ch); - tt_putparm(change_scroll_region, 1, 0, lines - 1); - put_clear(); -} - -/* -** pad_sccsrrc(test_list, status, ch) -** -** Test (sc) (csr) and (rc) Save/Change/Restore scroll region -*/ -static void -pad_sccsrrc( - struct test_list *t, - int *state, - int *ch) -{ - int i; - - if (!save_cursor || !change_scroll_region || !restore_cursor) { - /* quietly ignore this test */ - return; - } - if (skip_pad_test(t, state, ch, - "(sc) (csr) (rc) Save/Change/Restore-cursor, start testing")) { - return; - } - pad_test_startup(1); - do { - page_loop(); - for (i = 1; i < columns; i++) { - tt_putp(save_cursor); - putchp(letter); - tt_putparm(change_scroll_region, 1, 0, lines - 1); - tt_putp(restore_cursor); - putchp('X'); - } - } while(still_testing()); - pad_test_shutdown(t, 0); - home_down(); - ptext(above_line); - pad_done_message(t, state, ch); - tt_putparm(change_scroll_region, 1, 0, lines - 1); -} - -/* -** pad_csr_nel(test_list, status, ch) -** -** Test (sc) (csr) (nel) and (rc) Save/Change/Restore scroll region -*/ -static void -pad_csr_nel( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (!save_cursor || !change_scroll_region || !restore_cursor) { - /* quietly ignore this test */ - return; - } - if (skip_pad_test(t, state, ch, - "(csr) Change-scroll-region, (nel) newline start testing")) { - return; - } - pad_test_startup(1); - do { - for (i = 0; i < lines; i++) { - for (j = lines - i; j > 0; j--) { - put_crlf(); - } - tt_putp(save_cursor); - tt_putparm(change_scroll_region, 1, i, lines - 1); - tt_putp(restore_cursor); - put_str(every_line); - } - tt_putp(save_cursor); - tt_putparm(change_scroll_region, 1, 0, lines - 1); - tt_putp(restore_cursor); - } while(still_testing()); - pad_test_shutdown(t, 0); - put_str(" "); - pad_done_message(t, state, ch); - tt_putparm(change_scroll_region, 1, 0, lines - 1); -} - -/* -** pad_csr_cup(test_list, status, ch) -** -** Test (csr) (cup) Change scroll region and cursor address -*/ -static void -pad_csr_cup( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (!change_scroll_region || !cursor_address) { - /* quietly ignore this test */ - return; - } - if (skip_pad_test(t, state, ch, - "(csr) Change-scroll-region, (cup) cursor-address start testing")) { - return; - } - pad_test_startup(1); - do { - for (i = 0; i < lines; i++) { - for (j = lines - i; j > 0; j--) { - put_crlf(); - } - tt_putparm(change_scroll_region, 1, i, lines - 1); - tt_putparm(cursor_address, 1, lines - 1, 0); - put_str(every_line); - } - tt_putparm(change_scroll_region, 1, 0, lines - 1); - tt_putparm(cursor_address, 1, lines - 1, (int) strlen(every_line)); - } while(still_testing()); - pad_test_shutdown(t, 0); - put_str(" "); - pad_done_message(t, state, ch); - tt_putparm(change_scroll_region, 1, 0, lines - 1); -} - -/* -** pad_ht(test_list, status, ch) -** -** Test (ht) Tabs -*/ -static void -pad_ht( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (!set_tab && init_tabs <= 0) { - CAP_NOT_FOUND; - ptext("(ht) Tab not tested. (hts) Set-tabs and (it) initial-tabs not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, "(ht) Tab start testing")) { - return; - } - pad_test_startup(1); - do { - /* - it is not always possible to test tabs with caps - that do not already have padding. The following - test uses a mixed bag of tests in order to avoid - this problem. Note: I do not scroll - */ - if (auto_right_margin && can_go_home) - for (i = 1, go_home(); i < lines - 2; i++) { - for (j = 8; j < columns; j += 8) { - putchp('\t'); - } - put_str("A "); - } - if (cursor_down && can_go_home) - for (i = 1, go_home(); i < lines - 2; i++) { - for (j = 8; j < columns; j += 8) { - putchp('\t'); - } - put_str("D\r"); - tt_putp(cursor_down); - } - if (cursor_address) - for (i = 1; i < lines - 2; i++) { - tt_putparm(cursor_address, 1, i - 1, 0); - for (j = 8; j < columns; j += 8) { - putchp('\t'); - } - put_str("C"); - } - go_home(); - for (i = 1; i < lines - 2; i++) { - for (j = 8; j < columns; j += 8) { - putchp('\t'); - } - putln("N"); - } - } while(still_testing()); - pad_test_shutdown(t, 0); - ptextln("Letters on the screen other than Ns at the right margin indicate failure."); - ptext("A-(am) D-(cud1) C-(cup) N-(nel) "); - pad_done_message(t, state, ch); -} - -/* -** pad_smso(test_list, status, ch) -** -** Test (smso) (rmso) Enter/exit mode -*/ -static void -pad_smso( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - if (!enter_standout_mode || !exit_standout_mode) { - CAP_NOT_FOUND; - ptext("(smso) (rmso) Enter/Exit-standout-mode not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(smso) (rmso) Enter/Exit-standout-mode start testing")) { - return; - } - /* - In terminals that emulate non-hidden attributes with hidden - attributes, the amount of time that it takes to fill the screen - with an attribute is nontrivial. The following test is designed to - catch those delays - */ - pad_test_startup(1); - do { - page_loop(); - j = magic_cookie_glitch > 0 ? magic_cookie_glitch : 0; - for (i = 2 + j + j; i < columns;) { - put_mode(enter_standout_mode); - i += j + j + 2; - putchp('X'); - put_mode(exit_standout_mode); - putchp('X'); - } - } while(still_testing()); - pad_test_shutdown(t, 0); - home_down(); - ptext(above_line); - pad_done_message(t, state, ch); - put_mode(exit_standout_mode); -} - -/* -** pad_smacs(test_list, status, ch) -** -** Test (smacs) (rmacs) Enter/exit altcharset mode -*/ -static void -pad_smacs( - struct test_list *t, - int *state, - int *ch) -{ - int i, j; - - /* test enter even if exit is missing */ - if (!enter_alt_charset_mode) { - CAP_NOT_FOUND; - ptext("(smacs) Enter-altcharset-mode not present. "); - pad_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(smacs) (rmacs) Enter/Exit-altcharset-mode start testing")) { - return; - } - pad_test_startup(1); - do { - page_loop(); - j = magic_cookie_glitch > 0 ? magic_cookie_glitch : 0; - for (i = 2 + j + j; i < columns;) { - put_mode(enter_alt_charset_mode); - i += j + j + 2; - putchp(letter); - put_mode(exit_alt_charset_mode); - putchp(letter); - } - } while(still_testing()); - pad_test_shutdown(t, 0); - home_down(); - ptext("Every other character is from the alternate character set. "); - pad_done_message(t, state, ch); - put_mode(exit_alt_charset_mode); -} - -/* -** pad_crash(test_list, status, ch) -** -** Test (clear) without padding -*/ -static void -pad_crash( - struct test_list *t, - int *state, - int *ch) -{ - int save_xon_xoff; - - if (!clear_screen) { - ptext("(clear) Clear-screen not present. "); - pad_done_message(t, state, ch); - return; - } - ptext("If you would like to see if the terminal will really lock up."); - ptextln(" I will send the clear screen sequence without the pads."); - if (skip_pad_test(t, state, ch, - "(clear) Clear-screen start crash testing")) { - return; - } - save_xon_xoff = xon_xoff; - xon_xoff = 1; - pad_test_startup(0); - do { - put_str("Erase this!"); - tt_putp(clear_screen); - } while(still_testing()); - xon_xoff = save_xon_xoff; - pad_test_shutdown(t, 1); - pad_done_message(t, state, ch); -} diff --git a/src/libs/ncurses/tack/scan.c b/src/libs/ncurses/tack/scan.c deleted file mode 100644 index dbe684bd5c..0000000000 --- a/src/libs/ncurses/tack/scan.c +++ /dev/null @@ -1,264 +0,0 @@ -/* -** Copyright (C) 1991, 1997 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ -/* scan mode keyboard support */ - -#include - -MODULE_ID("$Id: scan.c,v 1.5 2005/09/17 19:49:16 tom Exp $") - -unsigned scan_max; /* length of longest scan code */ -char **scan_up, **scan_down, **scan_name; -unsigned *scan_tested, *scan_length; -static unsigned *scan_value; - -static int shift_state; -static char *str; -static int debug_char_count; - -#define SHIFT_KEY 0x100 -#define CONTROL_KEY 0x200 -#define META_KEY 0x400 -#define CAPS_LOCK 0x800 - -static const struct { - const char *name; - unsigned type; -} scan_special[] = { - {"", SHIFT_KEY}, - {"", SHIFT_KEY}, - {"", SHIFT_KEY}, - {"", CONTROL_KEY}, - {"", CONTROL_KEY}, - {"", CONTROL_KEY}, - {"", META_KEY}, - {"", META_KEY}, - {"", META_KEY}, - {"", CAPS_LOCK}, - {"", '\t'}, - {"", ' '}, - {"", '\r'}, - {"", '\n'}, - {"", '\f'}, - {"", '\b'}, - {0, 0} -}; - -static void -scan_blanks(void) -{ /* scan past the white space */ - while (*str == ' ' || *str == '\t') - str++; -} - -static char * -smash(void) -{ /* convert a string to hex */ - char *s, *t; - int ch, i, j; - - t = s = str; - for (i = 0; (ch = *str); str++) { - if (ch >= '0' && ch <= '9') - j = ch - '0'; - else if (ch >= 'a' && ch <= 'f') - j = 10 - 'a' + ch; - else if (ch >= 'A' && ch <= 'F') - j = 10 - 'A' + ch; - else if (ch == ' ' || ch == '\t') - break; - else - continue; - if (i) { - *s |= j; - s++; - } else - *s = j << 4; - i ^= 1; - } - *s = '\0'; - return t; -} - -void -scan_init(char *fn) -{ /* read the scan mode key definitions */ - char *s, *sl; - FILE *fp; - int ch, i, j; - unsigned len; - char home[512]; - - if ((str = getenv("HOME"))) - strcpy(home, str); - else - home[0] = '\0'; - fp = NULL; - if ((str = getenv("KEYBOARD"))) { - if (!(fp = fopen(str, "r")) && home[0]) { - sprintf(temp, "%s/.scan.%s", home, str); - fp = fopen(temp, "r"); - } - } - if (!fp) { - sprintf(temp, ".scan.%s", fn); - fp = fopen(temp, "r"); - } - if (!fp && home[0]) { - sprintf(temp, "%s/.scan.%s", home, fn); - fp = fopen(temp, "r"); - } - if (!fp) { - ptext("Unable to open scanfile: "); - ptextln(temp); - bye_kids(1); - return; - } - /* - scan file format: - - - - values are in hex. may be any string of characters - - */ - scan_up = (char **) malloc(sizeof(char *) * MAX_SCAN); - scan_down = (char **) malloc(sizeof(char *) * MAX_SCAN); - scan_name = (char **) malloc(sizeof(char *) * MAX_SCAN); - scan_tested = (unsigned *) malloc(sizeof(unsigned *) * MAX_SCAN); - scan_length = (unsigned *) malloc(sizeof(unsigned *) * MAX_SCAN); - scan_value = (unsigned *) malloc(sizeof(unsigned *) * MAX_SCAN); - scan_up[0] = scan_down[0] = scan_name[0] = (char *) 0; - str = (char *) malloc(4096); /* buffer space */ - sl = str + 4000; /* an upper limit */ - scan_max = 1; - for (i = 0;;) { - for (s = str; (ch = getc(fp)) != EOF;) { - if (ch == '\n' || ch == '\r') - break; - *s++ = ch; - } - *s++ = '\0'; - if (ch == EOF) - break; - if (*str == '#' || *str == '\0') - continue; - scan_down[i] = smash(); - scan_blanks(); - scan_up[i] = smash(); - scan_blanks(); - scan_name[i] = str; - - scan_length[i] = strlen(scan_down[i]); - len = strlen(scan_up[i]) + scan_length[i]; - if (len > scan_max) - scan_max = len; - - scan_value[i] = UChar(scan_name[i][0]); - if (scan_name[i][1]) /* multi-character name */ - for (j = 0; scan_special[j].name; j++) { - if (!strcmp(scan_name[i], scan_special[j].name)) { - scan_value[i] = scan_special[j].type; - break; - } - } - - i++; - if (str > sl) { - str = (char *) malloc(4096); - sl = str + 4000; - } else - str = s; - } - fclose(fp); -#ifdef notdef - for (i = 0; scan_down[i]; i++) { - put_str(hex_expand_to(scan_down[i], 3)); - put_str(hex_expand_to(scan_up[i], 3)); - put_str(" "); - put_str(scan_name[i]); - put_crlf(); - } - (void) wait_here(); -#endif -} - -int -scan_key(void) -{ /* read a key and translate scan mode to - ASCII */ - unsigned i; - int j, ch; - char buf[64]; - - for (i = 1;; i++) { - ch = getchar(); - if (ch == EOF) - return EOF; - if (debug_fp) { - fprintf(debug_fp, "%02X ", ch); - debug_char_count += 3; - if (debug_char_count > 72) { - fprintf(debug_fp, "\n"); - debug_char_count = 0; - } - } - buf[i - 1] = ch; - buf[i] = '\0'; - if (buf[0] & 0x80) { /* scan up */ - for (j = 0; scan_up[j]; j++) { - if (i == scan_length[j] && - !strcmp(buf, scan_up[j])) { - i = 0; - shift_state &= ~scan_value[j]; - break; - } - } - continue; - } - for (j = 0; scan_down[j]; j++) { - if (i == scan_length[j] && !strcmp(buf, scan_down[j])) { - i = 0; - shift_state |= scan_value[j]; - ch = scan_value[j]; - if (ch == CAPS_LOCK) - shift_state ^= SHIFT_KEY; - if (ch >= 256) - break; - if (shift_state & SHIFT_KEY) { - if (ch >= 0x60) - ch -= 0x20; - else if (ch >= 0x30 && ch <= 0x3f) - ch -= 0x10; - } - if (shift_state & CONTROL_KEY) { - if ((ch | 0x20) >= 0x60 && - (ch | 0x20) <= 0x7f) - ch = (ch | 0x20) - 0x60; - } - if (shift_state & META_KEY) - ch |= 0x80; - return ch; - } - } - if (i > scan_max) - i = 1; - } -} diff --git a/src/libs/ncurses/tack/sync.c b/src/libs/ncurses/tack/sync.c deleted file mode 100644 index 16366bdba3..0000000000 --- a/src/libs/ncurses/tack/sync.c +++ /dev/null @@ -1,436 +0,0 @@ -/* -** Copyright (C) 1991, 1997 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ - -#include -#include - -MODULE_ID("$Id: sync.c,v 1.8 2005/09/17 19:49:16 tom Exp $") - -/* terminal-synchronization and performance tests */ - -static void sync_home(struct test_list *, int *, int *); -static void sync_lines(struct test_list *, int *, int *); -static void sync_clear(struct test_list *, int *, int *); -static void sync_summary(struct test_list *, int *, int *); - -static struct test_list sync_test_list[] = { - {MENU_NEXT, 0, 0, 0, "b) baud rate test", sync_home, 0}, - {MENU_NEXT, 0, 0, 0, "l) scroll performance", sync_lines, 0}, - {MENU_NEXT, 0, 0, 0, "c) clear screen performance", sync_clear, 0}, - {MENU_NEXT, 0, 0, 0, "p) summary of results", sync_summary, 0}, - {0, 0, 0, 0, txt_longer_test_time, longer_test_time, 0}, - {0, 0, 0, 0, txt_shorter_test_time, shorter_test_time, 0}, - {MENU_LAST, 0, 0, 0, 0, 0, 0} -}; - -struct test_menu sync_menu = { - 0, 'n', 0, - "Performance tests", "perf", "n) run standard tests", - sync_test, sync_test_list, 0, 0, 0 -}; - -int tty_can_sync; /* TRUE if tty_sync_error() returned FALSE */ -static int tty_newline_rate; /* The number of newlines per second */ -static int tty_clear_rate; /* The number of clear-screens per second */ -unsigned long tty_cps; /* The number of characters per second */ - -#define TTY_ACK_SIZE 64 - -static int ACK_terminator; /* terminating ACK character */ -static int ACK_length; /* length of ACK string */ -static const char *tty_ENQ; /* enquire string */ -static char tty_ACK[TTY_ACK_SIZE]; /* ACK response, set by tty_sync_error() */ - -/***************************************************************************** - * - * Terminal synchronization. - * - * These functions handle the messy business of enq-ack handshaking - * for timing purposes. - * - *****************************************************************************/ - -int -tty_sync_error(void) -{ - int ch, trouble, ack; - - trouble = FALSE; - for (;;) { - tt_putp(tty_ENQ); /* send ENQ */ - ch = getnext(STRIP_PARITY); - event_start(TIME_SYNC); /* start the timer */ - - /* - The timer doesn't start until we get the first character. - After that I expect to get the remaining characters of - the acknowledge string in a short period of time. If - that is not true then these characters are coming from - the user and we need to send the ENQ sequence out again. - */ - for (ack = 0; ; ) { - if (ack < TTY_ACK_SIZE - 2) { - tty_ACK[ack] = ch; - tty_ACK[ack + 1] = '\0'; - } - if (ch == ACK_terminator) { - return trouble; - } - if (++ack >= ACK_length) { - return trouble; - } - ch = getnext(STRIP_PARITY); - if (event_time(TIME_SYNC) > 400000) { - break; - } - } - - set_attr(0); /* just in case */ - put_crlf(); - if (trouble) { - /* The terminal won't sync. Life is not good. */ - return TRUE; - } - put_str(" -- sync -- "); - trouble = TRUE; - } -} - -/* -** flush_input() -** -** Throw away any output. -*/ -void -flush_input(void) -{ - if (tty_can_sync == SYNC_TESTED && ACK_terminator >= 0) { - (void) tty_sync_error(); - } else { - spin_flush(); - } -} - -/* -** probe_enq_ok() -** -** does the terminal do enq/ack handshaking? -*/ -static void -probe_enq_ok(void) -{ - int tc, len, ulen; - - put_str("Testing ENQ/ACK, standby..."); - fflush(stdout); - can_test("u8 u9", FLAG_TESTED); - -#ifdef user9 - tty_ENQ = user9 ? user9 : "\005"; -#else - tty_ENQ = "\005"; -#endif - tc_putp(tty_ENQ); - event_start(TIME_SYNC); /* start the timer */ - read_key(tty_ACK, TTY_ACK_SIZE - 1); - - if (event_time(TIME_SYNC) > 400000 || tty_ACK[0] == '\0') { - /* These characters came from the user. Sigh. */ - tty_can_sync = SYNC_FAILED; - ptext("\nThis program expects the ENQ sequence to be"); - ptext(" answered with the ACK character. This will help"); - ptext(" the program reestablish synchronization when"); - ptextln(" the terminal is overrun with data."); - ptext("\nENQ sequence from (u9): "); - putln(expand(tty_ENQ)); - ptext("ACK received: "); - putln(expand(tty_ACK)); -#ifdef user8 - len = user8 ? strlen(user8) : 0; -#else - len = 0; -#endif - sprintf(temp, "Length of ACK %d. Expected length of ACK %d.", - (int) strlen(tty_ACK), len); - ptextln(temp); -#ifdef user8 - if (len) { - temp[0] = user8[len - 1]; - temp[1] = '\0'; - ptext("Terminating character found in (u8): "); - putln(expand(temp)); - } -#endif - return; - } - - tty_can_sync = SYNC_TESTED; - if ((len = strlen(tty_ACK)) == 1) { - /* single character acknowledge string */ - ACK_terminator = tty_ACK[0]; - ACK_length = 4096; - return; - } - tc = tty_ACK[len - 1]; -#ifdef user8 - if (user8) { - ulen = strlen(user8); - if (tc == user8[ulen - 1]) { - /* ANSI style acknowledge string */ - ACK_terminator = tc; - ACK_length = 4096; - return; - } - } -#endif - /* fixed length acknowledge string */ - ACK_length = len; - ACK_terminator = -2; -} - -/* -** verify_time() -** -** verify that the time tests are ready to run. -** If the baud rate is not set then compute it. -*/ -void -verify_time(void) -{ - int status, ch; - - if (tty_can_sync == SYNC_FAILED) { - return; - } - probe_enq_ok(); - put_crlf(); - if (tty_can_sync == SYNC_TESTED) { - put_crlf(); - if (ACK_terminator >= 0) { - ptext("ACK terminating character: "); - temp[0] = ACK_terminator; - temp[1] = '\0'; - ptextln(expand(temp)); - } else { - sprintf(temp, "Fixed length ACK, %d characters", - ACK_length); - ptextln(temp); - } - } - if (tty_baud_rate == 0) { - sync_home(&sync_test_list[0], &status, &ch); - } -} - -/***************************************************************************** - * - * Terminal performance tests - * - * Find out how fast the terminal can: - * 1) accept characters - * 2) scroll the screen - * 3) clear the screen - * - *****************************************************************************/ - -/* -** sync_home(test_list, status, ch) -** -** Baudrate test -*/ -void -sync_home( - struct test_list *t, - int *state, - int *ch) -{ - int j, k; - unsigned long rate; - - if (!cursor_home && !cursor_address && !row_address) { - ptext("Terminal can not home cursor. "); - generic_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(home) Start baudrate search")) { - return; - } - pad_test_startup(1); - do { - go_home(); - for (j = 1; j < lines; j++) { - for (k = 0; k < columns; k++) { - if (k & 0xF) { - put_this(letter); - } else { - put_this('.'); - } - } - SLOW_TERMINAL_EXIT; - } - NEXT_LETTER; - } while(still_testing()); - pad_test_shutdown(t, auto_right_margin == 0); - /* note: tty_frame_size is the real framesize times two. - This takes care of half bits. */ - rate = (tx_cps * tty_frame_size) >> 1; - if (rate > tty_baud_rate) { - tty_baud_rate = rate; - } - if (tx_cps > tty_cps) { - tty_cps = tx_cps; - } - sprintf(temp, "%lu characters per second. Baudrate %d ", tx_cps, j); - ptext(temp); - generic_done_message(t, state, ch); -} - -/* -** sync_lines(test_list, status, ch) -** -** How many newlines/second? -*/ -static void -sync_lines( - struct test_list *t, - int *state, - int *ch) -{ - int j; - - if (skip_pad_test(t, state, ch, - "(nel) Start scroll performance test")) { - return; - } - pad_test_startup(0); - repeats = 100; - do { - sprintf(temp, "%d", test_complete); - put_str(temp); - put_newlines(repeats); - } while(still_testing()); - pad_test_shutdown(t, 0); - j = sliding_scale(tx_count[0], 1000000, usec_run_time); - if (j > tty_newline_rate) { - tty_newline_rate = j; - } - sprintf(temp, "%d linefeeds per second. ", j); - ptext(temp); - generic_done_message(t, state, ch); -} - -/* -** sync_clear(test_list, status, ch) -** -** How many clear-screens/second? -*/ -static void -sync_clear( - struct test_list *t, - int *state, - int *ch) -{ - int j; - - if (!clear_screen) { - ptext("Terminal can not clear-screen. "); - generic_done_message(t, state, ch); - return; - } - if (skip_pad_test(t, state, ch, - "(clear) Start clear-screen performance test")) { - return; - } - pad_test_startup(0); - repeats = 20; - do { - sprintf(temp, "%d", test_complete); - put_str(temp); - for (j = 0; j < repeats; j++) { - put_clear(); - } - } while(still_testing()); - pad_test_shutdown(t, 0); - j = sliding_scale(tx_count[0], 1000000, usec_run_time); - if (j > tty_clear_rate) { - tty_clear_rate = j; - } - sprintf(temp, "%d clear-screens per second. ", j); - ptext(temp); - generic_done_message(t, state, ch); -} - -/* -** sync_summary(test_list, status, ch) -** -** Print out the test results. -*/ -static void -sync_summary( - struct test_list *t, - int *state, - int *ch) -{ - char size[32]; - - put_crlf(); - ptextln("Terminal size characters/sec linefeeds/sec clears/sec"); - sprintf(size, "%dx%d", columns, lines); - sprintf(temp, "%-10s%-11s%11lu %11d %11d", tty_basename, size, - tty_cps, tty_newline_rate, tty_clear_rate); - ptextln(temp); - generic_done_message(t, state, ch); -} - -/* -** sync_test(menu) -** -** Run at the beginning of the pad tests and function key tests -*/ -void -sync_test( - struct test_menu *menu) -{ - control_init(); - if (tty_can_sync == SYNC_NOT_TESTED) { - verify_time(); - } - if (menu->menu_title) { - put_crlf(); - ptextln(menu->menu_title); - } -} - -/* -** sync_handshake(test_list, status, ch) -** -** Test or retest the ENQ/ACK handshake -*/ -void -sync_handshake( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch GCC_UNUSED) -{ - tty_can_sync = SYNC_NOT_TESTED; - verify_time(); -} diff --git a/src/libs/ncurses/tack/sysdep.c b/src/libs/ncurses/tack/sysdep.c deleted file mode 100644 index 413675050b..0000000000 --- a/src/libs/ncurses/tack/sysdep.c +++ /dev/null @@ -1,504 +0,0 @@ -/* -** Copyright (C) 1991, 1997 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ -/* - * Operating system dependent functions. We assume the POSIX API. - * Note: on strict-POSIX systems (including BSD/OS) the select_delay_type - * global has no effect. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include /* include before curses.h to work around glibc bug */ - -#include - -#include -#include - -#if (defined(__BEOS__) || defined(__HAIKU__)) -#undef false -#undef true -#include -#endif - -#if HAVE_SELECT -#if HAVE_SYS_TIME_H && HAVE_SYS_TIME_SELECT -#include -#endif -#if HAVE_SYS_SELECT_H -#include -#endif -#endif - -MODULE_ID("$Id: sysdep.c,v 1.15 2005/09/17 19:49:16 tom Exp $") - -#if DECL_ERRNO -extern int errno; -#endif - -#ifdef TERMIOS -#define PUT_TTY(fd, buf) tcsetattr(fd, TCSAFLUSH, buf) -#else -#define PUT_TTY(fd, buf) stty(fd, buf) -#endif - -/* globals */ -int tty_frame_size; /* asynch frame size times 2 */ -unsigned tty_baud_rate; /* baud rate - bits per second */ -int not_a_tty; /* TRUE if output is not a tty (i.e. pipe) */ -int nodelay_read; /* TRUE if NDELAY is set */ - -#ifdef TERMIOS -#define TTY_IS_NOECHO !(new_modes.c_lflag & ECHO) -#define TTY_IS_OUT_TRANS (new_modes.c_oflag & OPOST) -#define TTY_IS_CHAR_MODE !(new_modes.c_lflag & ICANON) -#define TTY_WAS_CS8 ((old_modes.c_cflag & CSIZE) == CS8) -#define TTY_WAS_XON_XOFF (old_modes.c_iflag & (IXON|IXOFF)) -#else -#define TTY_IS_NOECHO !(new_modes.sg_flags & (ECHO)) -#define TTY_IS_OUT_TRANS (new_modes.sg_flags & (CRMOD)) -#define TTY_IS_CHAR_MODE (new_modes.sg_flags & (RAW|CBREAK)) -#define TTY_WAS_CS8 (old_modes.sg_flags & (PASS8)) -#define TTY_WAS_XON_XOFF (old_modes.sg_flags & (TANDEM|MDMBUF|DECCTQ)) -#endif - -static TTY old_modes, new_modes; - -void catchsig(void); - -/* - * These are a sneaky way of conditionalizing bit unsets so strict-POSIX - * systems won't see them. - */ -#ifndef XCASE -#define XCASE 0 -#endif -#ifndef OLCUC -#define OLCUC 0 -#endif -#ifndef IUCLC -#define IUCLC 0 -#endif -#ifndef TABDLY -#define TABDLY 0 -#endif -#ifndef IXANY -#define IXANY 0 -#endif - -void -tty_raw(int minch GCC_UNUSED, int mask) -{ /* set tty to raw noecho */ - new_modes = old_modes; -#ifdef TERMIOS -#if HAVE_SELECT - new_modes.c_cc[VMIN] = 1; -#else - new_modes.c_cc[VMIN] = minch; -#endif - new_modes.c_cc[VTIME] = 2; - new_modes.c_lflag &= - ~(ISIG | ICANON | XCASE | ECHO | ECHOE | ECHOK | ECHONL); -#ifdef LOBLK - new_modes.c_lflag &= ~LOBLK; -#endif - new_modes.c_oflag &= ~(OPOST | OLCUC | TABDLY); - if (mask == ALLOW_PARITY) { - new_modes.c_cflag &= ~(CSIZE | PARENB | HUPCL); - new_modes.c_cflag |= CS8; - } - new_modes.c_iflag &= - ~(IGNBRK | BRKINT | IGNPAR | PARMRK | INPCK | ISTRIP | INLCR | IGNCR | ICRNL | - IUCLC | IXON | IXANY | IXOFF); -#else - new_modes.sg_flags |= RAW; -#endif - if (not_a_tty) - return; - PUT_TTY(fileno(stdin), &new_modes); -} - -void -tty_set(void) -{ /* set tty to special modes */ - new_modes = old_modes; -#ifdef TERMIOS - new_modes.c_cc[VMIN] = 1; - new_modes.c_cc[VTIME] = 1; - new_modes.c_lflag &= ~(ISIG | ICANON | ECHO | ECHOE | ECHOK | ECHONL); -#if defined(ONLCR) && defined(OCRNL) && defined(ONLRET) && defined(OFILL) - new_modes.c_oflag &= ~(ONLCR | OCRNL | ONLRET | OFILL); -#else - new_modes.c_oflag &= ~(OPOST); -#endif - if (char_mask == ALLOW_PARITY) - new_modes.c_iflag &= ~ISTRIP; - switch (select_xon_xoff) { - case 0: - new_modes.c_iflag &= ~(IXON | IXOFF); - break; - case 1: -#if defined(sequent) && sequent - /* the sequent System V emulation is broken */ - new_modes = old_modes; - new_modes.c_cc[VEOL] = 6; /* control F (ACK) */ -#endif - new_modes.c_iflag |= IXON | IXOFF; - break; - } - switch (select_delay_type) { - case 0: -#ifdef NLDLY - new_modes.c_oflag &= - ~(NLDLY | CRDLY | TABDLY | BSDLY | VTDLY | FFDLY); -#endif /* NLDLY */ - break; - case 1: -#ifdef NLDLY - new_modes.c_oflag &= - ~(NLDLY | CRDLY | TABDLY | BSDLY | VTDLY | FFDLY); -#endif /* NLDLY */ -#ifdef NL1 - new_modes.c_oflag |= NL1 | CR2; -#endif /* NL1 */ - break; - } - if (!(new_modes.c_oflag & (unsigned long) ~OPOST)) - new_modes.c_oflag &= (unsigned long) ~OPOST; -#else - new_modes.sg_flags |= RAW; - if (not_a_tty) - return; -#endif - PUT_TTY(fileno(stdin), &new_modes); -} - - -void -tty_reset(void) -{ /* reset the tty to the original modes */ - fflush(stdout); - if (not_a_tty) - return; - PUT_TTY(fileno(stdin), &old_modes); -} - - -void -tty_init(void) -{ /* ATT terminal init */ -#if defined(F_GETFL) && defined(O_NDELAY) - int flags; - - flags = fcntl(fileno(stdin), F_GETFL, 0); - nodelay_read = flags & O_NDELAY; -#else - nodelay_read = FALSE; -#endif - not_a_tty = FALSE; - if (GET_TTY(fileno(stdin), &old_modes) == -1) { - if (errno == ENOTTY) { - tty_frame_size = 20; - not_a_tty = TRUE; - return; - } - printf("tcgetattr error: %d\n", errno); - exit(1); - } - /* if TAB3 is set then setterm() wipes out tabs (ht) */ - new_modes = old_modes; -#ifdef TERMIOS -#ifdef TABDLY - new_modes.c_oflag &= ~TABDLY; -#endif /* TABDLY */ -#endif - if (PUT_TTY(fileno(stdin), &new_modes) == -1) { - printf("tcsetattr error: %d\n", errno); - exit(1); - } -#ifdef sequent - /* the sequent ATT emulation is broken soooo. */ - old_modes.c_cflag &= ~(CSIZE | CSTOPB); - old_modes.c_cflag |= CS7 | PARENB; -#endif - catchsig(); -#ifdef TERMIOS - switch (old_modes.c_cflag & CSIZE) { -#if defined(CS5) && (CS5 != 0) - case CS5: - tty_frame_size = 10; - break; -#endif -#if defined(CS6) && (CS6 != 0) - case CS6: - tty_frame_size = 12; - break; -#endif -#if defined(CS7) && (CS7 != 0) - case CS7: - tty_frame_size = 14; - break; -#endif -#if defined(CS8) && (CS8 != 0) - case CS8: - tty_frame_size = 16; - break; -#endif - } - tty_frame_size += 2 + - ((old_modes.c_cflag & PARENB) ? 2 : 0) + - ((old_modes.c_cflag & CSTOPB) ? 4 : 2); -#else - tty_frame_size = 6 + - (old_modes.sg_flags & PASS8) ? 16 : 14; -#endif -} - -/* -** stty_query(question) -** -** Does the current driver settings have this property? -*/ -int -stty_query(int q) -{ - switch (q) { - case TTY_NOECHO: - return TTY_IS_NOECHO; - case TTY_OUT_TRANS: - return TTY_IS_OUT_TRANS; - case TTY_CHAR_MODE: - return TTY_IS_CHAR_MODE; - } - return (-1); -} - -/* -** initial_stty_query(question) -** -** Did the initial driver settings have this property? -*/ -int -initial_stty_query(int q) -{ - switch (q) { - case TTY_8_BIT: - return TTY_WAS_CS8; - case TTY_XON_XOFF: - return TTY_WAS_XON_XOFF; - } - return (-1); -} - -#if HAVE_SELECT && defined(FD_ZERO) -static int -char_ready(void) -{ - int n; - fd_set ifds; - struct timeval tv; - - FD_ZERO(&ifds); - FD_SET(fileno(stdin), &ifds); - tv.tv_sec = 0; - tv.tv_usec = 200000; - n = select(fileno(stdin)+1, &ifds, NULL, NULL, &tv); - return (n != 0); -} - -#else -#ifdef FIONREAD -int -char_ready(void) -{ - int i, j; - - /* the following loop has to be tuned for each computer */ - for (j = 0; j < 1000; j++) { - ioctl(fileno(stdin), FIONREAD, &i); - if (i) - return i; - } - return i; -} - -#else -#if (defined(__BEOS__) || defined(__HAIKU__)) -int -char_ready(void) -{ - int n = 0; - int howmany = ioctl(0, 'ichr', &n); - return (howmany >= 0 && n > 0); -} -#else -#define char_ready() 1 -#endif -#endif -#endif - -/* -** spin_flush() -** -** Wait for the input stream to stop. -** Throw away all input characters. -*/ -void -spin_flush(void) -{ - unsigned char buf[64]; - - fflush(stdout); - event_start(TIME_FLUSH); /* start the timer */ - do { - if (char_ready()) { - (void) read(fileno(stdin), &buf, sizeof(buf)); - } - } while (event_time(TIME_FLUSH) < 400000); -} - -/* -** read_key(input-buffer, length-of-buffer) -** -** read one function key from the input stream. -** A null character is converted to 0x80. -*/ -void -read_key(char *buf, int max) -{ - int got, ask, i, l; - char *s; - - *buf = '\0'; - s = buf; - fflush(stdout); - /* ATT unix may return 0 or 1, Berkeley Unix should be 1 */ - while (read(fileno(stdin), s, 1) == 0); - ++s; - --max; - while (max > 0 && (ask = char_ready())) { - if (ask > max) { - ask = max; - } - if ((got = read(fileno(stdin), s, (unsigned) ask))) { - s += got; - } else { - break; - } - max -= got; - } - *s = '\0'; - l = s - buf; - for (s = buf, i = 0; i < l; i++) { - if ((*s & 0x7f) == 0) { - /* convert nulls to 0x80 */ - *(unsigned char *)s = 128; - } else { - /* strip high order bits (if any) */ - *s &= char_mask; - } - } -} - - -void -ignoresig(void) -{ - /* ignore signals */ - signal(SIGINT, SIG_IGN); - signal(SIGHUP, SIG_IGN); - signal(SIGQUIT, SIG_IGN); - signal(SIGTERM, SIG_IGN); - signal(SIGALRM, SIG_IGN); -} - - /* - onintr( ) - - is the interrupt handling routine onintr turns off interrupts while doing - clean-up - - onintr always exits fatally - */ - - -static RETSIGTYPE -onintr(int sig GCC_UNUSED) -{ - ignoresig(); - tty_reset(); - exit(1); -} - - - /* - catchsig( ) - - set up to field interrupts (via function onintr( )) so that if interrupted - we can restore the correct terminal modes - - catchsig simply returns - */ - - -void -catchsig(void) -{ - if ((signal(SIGINT, SIG_IGN)) == SIG_DFL) - signal(SIGINT, onintr); - - if ((signal(SIGHUP, SIG_IGN)) == SIG_DFL) - signal(SIGHUP, onintr); - - if ((signal(SIGQUIT, SIG_IGN)) == SIG_DFL) - signal(SIGQUIT, onintr); - - if ((signal(SIGTERM, SIG_IGN)) == SIG_DFL) - signal(SIGTERM, onintr); - -} - -/* -** alarm_event(sig) -** -** Come here for an alarm event -*/ -static void -alarm_event( - int sig GCC_UNUSED) -{ - no_alarm_event = 0; -} - -/* -** set_alarm_clock(seconds) -** -** Set the alarm clock to fire in -*/ -void -set_alarm_clock( - int seconds) -{ - signal(SIGALRM, alarm_event); - no_alarm_event = 1; - (void) alarm((unsigned) seconds); -} diff --git a/src/libs/ncurses/tack/tack.1 b/src/libs/ncurses/tack/tack.1 deleted file mode 100644 index 9d5ec93c4a..0000000000 --- a/src/libs/ncurses/tack/tack.1 +++ /dev/null @@ -1,311 +0,0 @@ -.TH tack 1M "" -.ds n 5 -.ds d @TERMINFO@ -.SH NAME -\fBtack\fR - \fIterminfo\fR action checker -.SH SYNOPSIS -\fBtack\fR [-itV] [term] -.br -.SH DESCRIPTION -The \fBtack\fR program has three purposes: -(1) to help you build a new terminfo entry describing an unknown terminal, -(2) to test the correctness of an existing entry, and -(3) to develop the correct pad timings needed to ensure that screen updates -don't fall behind the incoming data stream. -.PP -\fBTack\fR presents a series of screen-painting and interactive -tests in ways which are intended to make any mismatches between the -terminfo entry and reality visually obvious. -\fBTack\fR also provides tools that can help in understanding how -the terminal operates. -.SS OPTIONS -.TP -.I "\-i" -Usually \fBtack\fR will send the reset and init strings to the terminal -when the program starts up. The \fI-i\fR option will inhibit the -terminal initialization. -.TP -.I "\-t" -Tell \fBtack\fR to override the terminfo settings for basic terminal -functions. When this option is set \fBtack\fR will translate -(cr) to \\r, (cud1) to \\n, (ind) to \\n, (nel) to \\r\\n, -(cub1) to \\b, (bel) to \\007, (ff) to \\f and (ht) to \\t. -.TP -.I "\-V" -Display the version information and exit. -.TP -.I "term" -Terminfo terminal name to be tested. If not present then the $TERM -environment variable will be used. -.SH OVERVIEW -Since \fBtack\fR is designed to test terminfo's it is not possible -to rely on the correctness of the terminfo data base. Because of this -the menuing system used with \fBtack\fR is vary primitive. When a -menu is printed it will scroll the entire screen. To compensate -for this verbose menu system \fBtack\fR permits menu selection -type ahead. -If you already know what action you would like \fBtack\fR to perform -then you can enter that value immediately and avoid the menu display. -When in doubt the question mark (?) is a good character to type. -A carriage return will execute the default action. These default -actions are designed to run all the standard tests. -.PP -When \fBtack\fR first comes up it will display some basic information -about the terminal. Take some time to verify this information. -If it is wrong many of the subsequent tests will fail. The most -important item is the screen size. If the screen size is wrong there -is no point in proceeding. (home) and (clear) are also critical -to the success of subsequent tests. The values of (cr) (ind) -(cub1) and (ht) may effect the tests if they are defined incorrectly. -If they are undefined \fBtack\fR will set them to reasonable defaults. -The last two entries on the display are the enquire and acknowledge strings. -These strings are taken from the user strings (u9) and (u8). -.PP -By now you must be wondering why the terminfo names are enclosed -in parenthesis. This has no profound meaning other than it makes -them stand out. The \fBtack\fR program uses this convention any time -it displays a terminfo name. Remember \fBtack\fR is designed to -rely on as little of the terminfo entry as possible. -.SH CREATING NEW ENTRIES -\fBTack\fR has a number of tools that are designed to help gather -information about the terminal. Although these functions are not -dependent on terminal type, you may wish to execute \fBtack\fR -with options \fI\-it\fR. This will turn off initialization -and default the standard entries. -.PP -These tools may be reached from the main menu by selecting -the 'tools' entry. -.PP -\fBEcho tool\fR: All data typed from the keyboard will be echoed back -to the terminal. Control characters are not translated to the up arrow format -but are sent as control characters. This allows you to test an escape -sequence and see what it actually does. You may also elect to -\fBenable hex output on echo tool\fR this will echo the characters in -hexadecimal. Once the test is running you may enter the 'lines' -or 'columns' keywords which will display a pattern that will help -you determine your screen size. A complete list of keywords will -be displayed when the test starts. Type 'help' to redisplay -the list of available commands. -.PP -\fBReply tool\fR: This tool acts much like the echo tool, but -control characters that are sent from the terminal more than one character -after a carriage return will be expanded to the up arrow format. For example -on a standard ANSI terminal you may type: - - CR ESC [ c - -and the response will be echoed as something like: - - ^[ [ ? 6 c -.PP -\fBANSI sgr display\fR: This test assumes you have an ANSI terminal. It -goes through attribute numbers 0 to 79, displaying each in turn and using that -SGR number to write the text. This shows you which of the SGR -modes are actually implemented by the terminal. Note: some terminals (such as -Tektronix color) use the private use characters to augment the functionality of -the SGR command. These private use characters may be interjected into the -escape sequence by typing the character ( <, =, >, ? ) after the original -display has been shown. -.PP -\fBANSI status reports\fR: This test queries the terminal in standard -ANSI/VT-100 fashion. The results of this test may help -determine what options are supported by your terminal. -.PP -\fBANSI character sets\fR: This test displays the character sets -available on a ANSI/VT-100 style terminal. -Character sets on a real VT-100 terminal are usually defined -with smacs=\\E(0 and rmacs=\\E(B. The first character after the -escape defines the font bank. The second character defines the -character set. This test allows you to view any of the possible -combinations. Private use character sets are defined by the digits. -Standard character sets are located in the alphabetic range. -.SH VERIFYING AN EXISTING ENTRY -.PP -You can verify the correctness of an entry with the `begin testing' -function. This entry is the default action and will be chosen -if you hit carriage return (or enter). This will bring up a -secondary menu that allows you to select more specific tests. -.PP -The general philosophy of the program is, for each capability, to send an -appropriate test pattern to the terminal then send a description of -what the user should expect. Occasionally (as when checking function-key -capabilities) the program will ask you to enter input for it to check. -.PP -If the test fails then you have the option of dynamically changing -the terminfo entry and re-running the test. This is done with -the 'edit terminfo' menu item. The edit submenu allows you to change -the offending terminfo entry and immediately retest the capability. -The edit menu lets you do other things with the terminfo, such as; -display the entire terminfo entry, -display which caps have been tested and display which caps cannot -be tested. This menu also allows you to write the newly modified -terminfo to disc. If you have made any modifications to the -terminfo \fBtack\fR will ask you if you want to save the file -to disc before it exits. The filename will be the same as the terminal name. -After the program exits you can run the tic(1M) compiler on the -new terminfo to install it in the terminfo data base. -.PP -.SH CORRECTING PAD TIMINGS -.SS Theory of Overruns and Padding -.PP -Some terminals require significant amounts of time (that is, more than one -transmitted-character interval) to do screen updates that change large -portions of the screen, such as screen clears, line insertions, -line deletions, and scrolls (including scrolls triggered by line feeds -or a write to the lowest, right-hand-most cell of the screen). -.PP -If the computer continues to send characters to the terminal while one -of these time-consuming operations is going on, the screen may be garbled. -Since the length of a character transmission time varies inversely with -transmission speed in cps, entries which function at lower speeds may -break at higher speeds. -.PP -Similar problems result if the host machine is simply sending characters at a -sustained rate faster than the terminal can buffer and process them. In either -case, when the terminal cannot process them and can't tell the host to stop -soon enough, it will just drop them. The dropped characters could be text, -escape sequences or the escape character itself, causing some really -strange-looking displays. This kind of glitch is called an \fIoverrun\fR. -.PP -In terminfo entries, you can attach a \fBpad time\fR to each string capability -that is a number of milliseconds to delay after sending it. This will give -the terminal time to catch up and avoid overruns. -.PP -If you are running a software terminal emulator, or you are on an X pseudo-tty, -or your terminal is on an RS-232C line which correctly handles RTS/CTS -hardware flow control, then pads are not strictly necessary. However, some -display packages (such as ncurses(3X)) use the pad counts to calculate -the fastest way to implement certain functions. -For example: scrolling the screen may be faster than deleting the top line. -.PP -One common way to avoid overruns is with XON/XOFF handshaking. -But even this handshake may have problems at high baud rates. -This is a result of the way XON/XOFF works. The terminal tells -the host to stop with an XOFF. When the host gets this character, it stops -sending. However, there is a small amount of time between the stop request and -the actual stop. During this window, the terminal must continue to accept -characters even though it has told the host to stop. If the terminal sends -the stop request too late, then its internal buffer will overflow. If it sends -the stop character too early, then the terminal is not getting the most -efficient use out of its internal buffers. In a real application at high baud -rates, a terminal could get a dozen or more characters before the host gets -around to suspending transmission. Connecting the terminal over a network -will make the problem much worse. -.PP -(RTS/CTS handshaking does not have this problem because the UARTs are -signal-connected and the "stop flow" is done at the lowest level, without -software intervention). -.PP -.SS Timing your terminal -.PP -In order to get accurate timings from your terminal \fBtack\fR -needs to know when the terminal has finished processing all the -characters that were sent. This requires a different type of handshaking -than the XON/XOFF that is supported by most terminals. \fBTack\fR -needs to send a request to the terminal and wait for its reply. -Many terminals will respond with an ACK when they receive an ENQ. -This is the preferred method since the sequence is short. -ANSI/VT-100 style terminals can mimic this handshake with the -escape sequence that requests 'primary device attributes'. - - ESC [ c - -The terminal will respond with a sequence like: - - ESC [ ? 1 ; 0 c - -\fBTack\fR assumes that (u9) is the enquire sequence and that (u8) is the -acknowledge string. A VT-100 style terminal could set u9=\\E[c -and u8=\\E[?1;0c. -Acknowledge strings fall into two categories. -1) Strings with a unique terminating character and, -2) strings of fixed length. -The acknowledge string for the VT-100 is of the first type since -it always ends with the letter 'c'. Some Tektronics terminals -have fixed length acknowledge strings. \fBTack\fR supports both -types of strings by scanning for the terminating character until -the length of the expected acknowledge string has arrived. -(u8) should be set to some typical acknowledge that will be -returned when (u9) is sent. -.PP -\fBTack\fR will test this sequence before running any of the pad -tests or the function key tests. \fBTack\fR will ask you the following: - - Hit lower case g to start testing... - -After it sends this message it will send the enquire string. -It will then read characters from the terminal until it sees the -letter g. -.PP -.SS Testing and Repairing Pad Timings -.PP -The pad timings in distributed terminfo entries are often incorrect. One -major motivation for this program is to make it relatively easy to tune these -timings. -.PP -You can verify and edit the pad timings for a terminal with -the `test string capabilities' -function (this is also part of the `normal test sequence' function). -.PP -The key to determining pad times is to find out the effective baud rate of -the terminal. The effective baud rate determines the number of characters -per second that the terminal can accept without either handshaking or -losing data. This rate is frequently less than the nominal cps rate on the -RS-232 line. -.PP -\fBTack\fR uses the effective baud rate to judge the duration of the test and -how much a particular escape sequence will perturb the terminal. -.PP -Each pad test has two associated variables that can be tweaked to help verify -the correctness of the pad timings. One is the pad test length. The other is -the pad multiplier, which is used if the pad prefix includes `*'. In curses -use, it is often the first parameter of the capability (if there is one). -For a capability like (dch) or (il) this will be the number of character -positions or lines affected, respectively. -.PP -\fBTack\fR will run the pad tests and display the results to the terminal. -On capabilities that have multipliers \fBtack\fR will not tell you -if the pad needs the multiplier or not. You must make this decision -yourself by rerunning the test with a different multiplier. -If the padding changes in proportion to the multiplier than the -multiplier is required. If the multiplier has little or no effect on -the suggested padding then the multiplier is not needed. -Some capabilities will take several runs to get a good feel for -the correct values. You may wish to make the test longer -to get more accurate results. System load will also effect the -results (a heavily loaded system will not stress the -terminal as much, possibly leading to pad timings that are too short). -.PP -.SH NOTE -The tests done at the beginning of the program are assumed to be correct later -in the code. In particular, \fBtack\fR displays the number of lines and -columns indicated in the terminfo entry as part of its initial output. -If these values are wrong a large number of tests will fail or give incorrect -results. -.SH FILES -.TP 12 -tack.log -If logging is enabled then all characters written to the terminal -will also be written to the log file. This gives you the ability -to see how the tests were performed. This feature is disabled by default. -.TP 12 -.I "term" -If you make changes to the terminfo entry \fBtack\fR will save -the new terminfo to a file. The file will have the same name -as the terminal name. -.SH SEE ALSO -\fBterminfo\fR(\*n), \fBncurses\fR(3X), \fBtic\fR(1M), \fBinfocmp\fR(1M). -You should also have the documentation supplied by the terminal -manufacturer. -.SH BUGS -If the screen size is incorrect, many of the tests will fail. -.SH AUTHOR -Concept, design, and original implementation by -Daniel Weaver . Portions of the code and -documentation are by Eric S. Raymond . -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: diff --git a/src/libs/ncurses/tack/tack.c b/src/libs/ncurses/tack/tack.c deleted file mode 100644 index 946a2fbf4e..0000000000 --- a/src/libs/ncurses/tack/tack.c +++ /dev/null @@ -1,603 +0,0 @@ -/* -** Copyright (C) 1991, 1997 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ - -#include - -MODULE_ID("$Id: tack.c,v 1.4 2005/09/17 19:49:16 tom Exp $") - -/* - This program is designed to test terminfo, not curses. Therefore - I have used as little of curses as possible. - - Pads associated with the following capabilities are used to set - delay times in the handler: (cr), (ind), (cub1), (ff), (tab). - - I use the (nxon) capability to set the tty handler with/without - xon/xoff. If (smxon)/(rmxon) is defined I will change the terminal - too. - - (xon) inhibits the sending of delay characters in putp(). - If the terminal is defined with no padding then the (xon) boolean - is a don't care. In this case I recommend that it be reset. - */ - -/***************************************************************************** - * - * Option processing - * - *****************************************************************************/ - -/* options and modes */ -int debug_level; /* debugging level */ -int translate_mode; /* translate tab, bs, cr, lf, ff */ -int scan_mode; /* use scan codes */ -int char_mask; /* either 0xFF else 0x7F, eight bit data mask */ -int select_delay_type; /* set handler delays for */ -int select_xon_xoff; /* TTY driver XON/XOFF mode select */ -int hex_out; /* Display output in hex */ -int send_reset_init; /* Send the reset and initialization strings */ -FILE *log_fp; /* Terminal logfile */ - -/***************************************************************************** - * - * Menu definitions - * - *****************************************************************************/ - -static void tools_hex_echo(struct test_list *, int *, int *); -static void tools_debug(struct test_list *, int *, int *); - -static char hex_echo_menu_entry[80]; - -static struct test_list tools_test_list[] = { - {0, 0, 0, 0, "s) ANSI status reports", tools_status, 0}, - {0, 0, 0, 0, "g) ANSI SGR modes (bold, underline, reverse)", tools_sgr, 0}, - {0, 0, 0, 0, "c) ANSI character sets", tools_charset, 0}, - {0, 0, 0, 0, hex_echo_menu_entry, tools_hex_echo, 0}, - {0, 0, 0, 0, "e) echo tool", tools_report, 0}, - {1, 0, 0, 0, "r) reply tool", tools_report, 0}, - {0, 0, 0, 0, "p) performance testing", 0, &sync_menu}, - {0, 0, 0, 0, "i) send reset and init", menu_reset_init, 0}, - {0, 0, "u8) (u9", 0, "u) test ENQ/ACK handshake", sync_handshake, 0}, - {0, 0, 0, 0, "d) change debug level", tools_debug, 0}, - {MENU_LAST, 0, 0, 0, 0, 0, 0} -}; - -static struct test_menu tools_menu = { - 0, 'q', 0, "Tools Menu", "tools", - 0, 0, tools_test_list, 0, 0, 0 -}; - -static void tty_width(struct test_list *, int *, int *); -static void tty_delay(struct test_list *, int *, int *); -static void tty_xon(struct test_list *, int *, int *); -static void tty_trans(struct test_list *, int *, int *); -static void tty_show_state(struct test_menu *); - -static char tty_width_menu[80]; -static char tty_delay_menu[80]; -static char tty_xon_menu[80]; -static char tty_trans_menu[80]; -static char enable_xon_xoff[] = {"x) enable xon/xoff"}; -static char disable_xon_xoff[] = {"x) disable xon/xoff"}; - -static struct test_list tty_test_list[] = { - {0, 0, 0, 0, tty_width_menu, tty_width, 0}, - {0, 0, 0, 0, tty_delay_menu, tty_delay, 0}, - {0, 0, 0, 0, tty_xon_menu, tty_xon, 0}, - {0, 0, 0, 0, tty_trans_menu, tty_trans, 0}, - {MENU_LAST, 0, 0, 0, 0, 0, 0} -}; - -static struct test_menu tty_menu = { - 0, 'q', 0, "Terminal and driver configuration", - "tty", 0, - tty_show_state, tty_test_list, 0, 0, 0 -}; - -struct test_menu edit_menu = { - 0, 'q', 0, "Edit terminfo menu", - "edit", 0, - 0, edit_test_list, 0, 0, 0 -}; - -static struct test_menu mode_menu = { - 0, 'n', 0, "Test modes and glitches:", - "mode", "n) run standard tests", - 0, mode_test_list, 0, 0, 0 -}; - -static struct test_menu acs_menu = { - 0, 'n', 0, - "Test alternate character set and graphics rendition:", - "acs", "n) run standard tests", - 0, acs_test_list, 0, 0, 0 -}; - -static struct test_menu color_menu = { - 0, 'n', 0, - "Test color:", - "color", "n) run standard tests", - 0, color_test_list, 0, 0, 0 -}; - -static struct test_menu crum_menu = { - 0, 'n', 0, - "Test cursor movement:", - "move", "n) run standard tests", - 0, crum_test_list, 0, 0, 0 -}; - -static struct test_menu funkey_menu = { - 0, 'n', 0, - "Test function keys:", - "fkey", "n) run standard tests", - sync_test, funkey_test_list, 0, 0, 0 -}; - -static struct test_menu printer_menu = { - 0, 'n', 0, - "Test printer:", - "printer", "n) run standard tests", - 0, printer_test_list, 0, 0, 0 -}; - -static void pad_gen(struct test_list *, int *, int *); - -static struct test_menu pad_menu = { - 0, 'n', 0, - "Test padding and string capabilities:", - "pad", "n) run standard tests", - sync_test, pad_test_list, 0, 0, 0 -}; - -static struct test_list normal_test_list[] = { - {0, 0, 0, 0, "e) edit terminfo", 0, &edit_menu}, - {0, 0, 0, 0, "i) send reset and init", menu_reset_init, 0}, - {MENU_NEXT, 0, 0, 0, "x) test modes and glitches", 0, &mode_menu}, - {MENU_NEXT, 0, 0, 0, "a) test alternate character set and graphic rendition", 0, &acs_menu}, - {MENU_NEXT, 0, 0, 0, "c) test color", 0, &color_menu}, - {MENU_NEXT, 0, 0, 0, "m) test cursor movement", 0, &crum_menu}, - {MENU_NEXT, 0, 0, 0, "f) test function keys", 0, &funkey_menu}, - {MENU_NEXT, 0, 0, 0, "p) test padding and string capabilities", 0, &pad_menu}, - {0, 0, 0, 0, "P) test printer", 0, &printer_menu}, - {MENU_MENU, 0, 0, 0, "/) test a specific capability", 0, 0}, - {0, 0, 0, 0, "t) auto generate pad delays", pad_gen, &pad_menu}, - {0, 0, "u8) (u9", 0, 0, sync_handshake, 0}, - {MENU_LAST, 0, 0, 0, 0, 0, 0} -}; - - -static struct test_menu normal_menu = { - 0, 'n', 0, "Main test menu", - "test", "n) run standard tests", - 0, normal_test_list, 0, 0, 0 -}; - -static void start_tools(struct test_list *, int *, int *); -static void start_modes(struct test_list *, int *, int *); -static void start_basic(struct test_list *, int *, int *); -static void start_log(struct test_list *, int *, int *); - -static char logging_menu_entry[80] = "l) start logging"; - -static struct test_list start_test_list[] = { - {0, 0, 0, 0, "b) display basic information", start_basic, 0}, - {0, 0, 0, 0, "m) change modes", start_modes, 0}, - {0, 0, 0, 0, "t) tools", start_tools, 0}, - {MENU_COMPLETE, 0, 0, 0, "n) begin testing", 0, &normal_menu}, - {0, 0, 0, 0, logging_menu_entry, start_log, 0}, - {MENU_LAST, 0, 0, 0, 0, 0, 0} -}; - - -static struct test_menu start_menu = { - 0, 'n', 0, "Main Menu", "tack", 0, - 0, start_test_list, 0, 0, 0 -}; - -static struct test_list write_terminfo_list[] = { - {0, 0, 0, 0, "w) write the current terminfo to a file", save_info, 0}, - {MENU_LAST, 0, 0, 0, 0, 0, 0} -}; - -/***************************************************************************** - * - * Menu command interpretation. - * - *****************************************************************************/ - -/* -** tools_hex_echo(testlist, state, ch) -** -** Flip the hex echo flag. -*/ -static void -tools_hex_echo( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch GCC_UNUSED) -{ - if (hex_out) { - hex_out = FALSE; - strcpy(hex_echo_menu_entry, - "h) enable hex output on echo tool"); - } else { - hex_out = TRUE; - strcpy(hex_echo_menu_entry, - "h) disable hex output on echo tool"); - } -} - -/* -** tools_debug(testlist, state, ch) -** -** Change the debug level. -*/ -static void -tools_debug( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch) -{ - char buf[32]; - - ptext("Enter a new value: "); - read_string(buf, sizeof(buf)); - if (buf[0]) { - sscanf(buf, "%d", &debug_level); - } - sprintf(temp, "Debug level is now %d", debug_level); - ptext(temp); - *ch = REQUEST_PROMPT; -} - -/* -** start_tools(testlist, state, ch) -** -** Run the generic test tools -*/ -static void -start_tools( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch GCC_UNUSED) -{ - if (hex_out) { - strcpy(hex_echo_menu_entry, - "h) disable hex output on echo tool"); - } else { - strcpy(hex_echo_menu_entry, - "h) enable hex output on echo tool"); - } - menu_display(&tools_menu, 0); -} - -/* -** tty_show_state() -** -** Display the current state on the tty driver settings -*/ -static void -tty_show_state( - struct test_menu *menu GCC_UNUSED) -{ - put_crlf(); - (void) sprintf(temp, - "Accepting %d bits, UNIX delays %d, XON/XOFF %sabled, speed %u, translate %s, scan-code mode %s.", - (char_mask == ALLOW_PARITY) ? 8 : 7, - select_delay_type, - select_xon_xoff ? "en" : "dis", - tty_baud_rate, - translate_mode ? "on" : "off", - scan_mode ? "on" : "off"); - ptextln(temp); - put_crlf(); -} - -/* -** tty_width(testlist, state, ch) -** -** Change the character width -*/ -static void -tty_width( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch GCC_UNUSED) -{ - if (char_mask == STRIP_PARITY) { - char_mask = ALLOW_PARITY; - strcpy(tty_width_menu, "7) treat terminal as 7-bit"); - } else { - char_mask = STRIP_PARITY; - strcpy(tty_width_menu, "8) treat terminal as 8-bit"); - } -} - -/* -** tty_delay(testlist, state, ch) -** -** Change the delay for in the TTY driver -*/ -static void -tty_delay( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch GCC_UNUSED) -{ - if (select_delay_type) { - select_delay_type = FALSE; - strcpy(tty_delay_menu, - "d) enable UNIX tty driver delays for "); - } else { - select_delay_type = TRUE; - strcpy(tty_delay_menu, - "d) disable UNIX tty driver delays for "); - } -} - -/* -** tty_xon(testlist, state, ch) -** -** Change the XON/XOFF flags in the TTY driver -*/ -static void -tty_xon( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch GCC_UNUSED) -{ - if (select_xon_xoff) { - if (needs_xon_xoff) { - ptextln("This terminal is marked as needing XON/XOFF protocol with (nxon)"); - } - if (exit_xon_mode) { - tc_putp(exit_xon_mode); - } - xon_xoff = select_xon_xoff = FALSE; - strcpy(tty_xon_menu, enable_xon_xoff); - } else { - if (enter_xon_mode) { - tc_putp(enter_xon_mode); - } - xon_xoff = select_xon_xoff = TRUE; - strcpy(tty_xon_menu, disable_xon_xoff); - } - tty_set(); -} - -/* -** tty_trans(testlist, state, ch) -** -** Change the translation mode for special characters -*/ -static void -tty_trans( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch GCC_UNUSED) -{ - if (translate_mode) { - translate_mode = FALSE; - strcpy(tty_trans_menu, - "t) use terminfo values for \\b\\f\\n\\r\\t"); - } else { - translate_mode = TRUE; - strcpy(tty_trans_menu, - "t) override terminfo values for \\b\\f\\n\\r\\t"); - } -} - -/* -** pad_gen(testlist, state, ch) -** -** Menu function for automatic pad generation -*/ -static void -pad_gen( - struct test_list *t, - int *state GCC_UNUSED, - int *ch) -{ - control_init(); - if (tty_can_sync == SYNC_NOT_TESTED) { - verify_time(); - } - auto_pad_mode = TRUE; - menu_display(t->sub_menu, ch); - auto_pad_mode = FALSE; -} - -/* -** start_modes(testlist, state, ch) -** -** Change the TTY modes -*/ -static void -start_modes( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch GCC_UNUSED) -{ - - if (select_delay_type) { - strcpy(tty_delay_menu, - "d) disable UNIX tty driver delays for "); - } else { - strcpy(tty_delay_menu, - "d) enable UNIX tty driver delays for "); - } - if (char_mask == ALLOW_PARITY) { - strcpy(tty_width_menu, - "7) treat terminal as 7-bit"); - } else { - strcpy(tty_width_menu, - "8) treat terminal as 8-bit"); - } - if (select_xon_xoff) { - strcpy(tty_xon_menu, disable_xon_xoff); - } else { - strcpy(tty_xon_menu, enable_xon_xoff); - } - if (translate_mode) { - strcpy(tty_trans_menu, - "t) override terminfo values for \\b\\f\\n\\r\\t"); - } else { - strcpy(tty_trans_menu, - "t) use terminfo values for \\b\\f\\n\\r\\t"); - } - menu_display(&tty_menu, 0); - tty_set(); -} - -/* -** start_basic(testlist, state, ch) -** -** Display basic terminal information -*/ -static void -start_basic( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch) -{ - display_basic(); - *ch = REQUEST_PROMPT; -} - -/* -** start_log(testlist, state, ch) -** -** Start/stop in logging function -*/ -static void -start_log( - struct test_list *t GCC_UNUSED, - int *state GCC_UNUSED, - int *ch GCC_UNUSED) -{ - if (logging_menu_entry[5] == 'a') { - ptextln("The log file will capture all characters sent to the terminal."); - if ((log_fp = fopen("tack.log", "w"))) { - ptextln("Start logging to file: tack.log"); - strcpy(logging_menu_entry, "l) stop logging"); - } else { - ptextln("File open error: tack.log"); - } - } else { - if (log_fp) { - fclose(log_fp); - log_fp = 0; - } - ptextln("Terminal output logging stopped."); - strcpy(logging_menu_entry, "l) start logging"); - } -} - -/* -** show_usage() -** -** Tell the user how its done. -*/ -void -show_usage( - char *name) -{ - (void) fprintf(stderr, "usage: %s [-itV] [term]\n", name); -} - -/* -** print_version() -** -** Print version and other useful information. -*/ -void -print_version(void) -{ - printf("tack version %d.%02d\n", MAJOR_VERSION, MINOR_VERSION); - printf("Copyright (C) 1997 Free Software Foundation, Inc.\n"); - printf("Tack comes with NO WARRANTY, to the extent permitted by law.\n"); - printf("You may redistribute copies of Tack under the terms of the\n"); - printf("GNU General Public License. For more information about\n"); - printf("these matters, see the file named COPYING.\n"); -} - - -/***************************************************************************** - * - * Main sequence - * - *****************************************************************************/ - -int -main(int argc, char *argv[]) -{ - int i, j; - char *term_variable; - - /* scan the option flags */ - send_reset_init = TRUE; - translate_mode = FALSE; - term_variable = getenv("TERM"); - tty_can_sync = SYNC_NOT_TESTED; - for (i = 1; i < argc; i++) { - if (argv[i][0] == '-') { - for (j = 1; argv[i][j]; j++) { - switch (argv[i][j]) { - case 'V': - print_version(); - return (1); - case 'i': - send_reset_init = FALSE; - break; - case 't': - translate_mode = FALSE; - break; - default: - show_usage(argv[0]); - return (0); - } - } - } else { - term_variable = argv[i]; - } - } - (void) strcpy(tty_basename, term_variable); - - curses_setup(argv[0]); - - menu_can_scan(&normal_menu); /* extract which caps can be tested */ - menu_display(&start_menu, 0); - - if (user_modified()) { - sprintf(temp, "Hit y to save changes to file: %s ? ", - tty_basename); - ptext(temp); - if (wait_here() == 'y') { - save_info(write_terminfo_list, &i, &j); - } - } - - put_str("\nTerminal test complete\n"); - bye_kids(0); - return (0); -} diff --git a/src/libs/ncurses/tack/tack.h b/src/libs/ncurses/tack/tack.h deleted file mode 100644 index da10bb5b25..0000000000 --- a/src/libs/ncurses/tack/tack.h +++ /dev/null @@ -1,423 +0,0 @@ -/* -** Copyright (C) 1991, 1997 Free Software Foundation, Inc. -** -** This file is part of TACK. -** -** TACK is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2, or (at your option) -** any later version. -** -** TACK is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with TACK; see the file COPYING. If not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -** Boston, MA 02110-1301, USA -*/ - -/* $Id: tack.h,v 1.14 2005/09/17 19:49:16 tom Exp $ */ - -#ifndef NCURSES_TACK_H_incl -#define NCURSES_TACK_H_incl 1 - -/* terminfo action checker include file */ - -#define MAJOR_VERSION 1 -#define MINOR_VERSION 1 - -#ifdef HAVE_CONFIG_H -#include -#else -#define RETSIGTYPE void -#define GCC_UNUSED /*nothing*/ -#define HAVE_GETTIMEOFDAY 1 -#define HAVE_SELECT 1 -#define HAVE_SYS_TIME_H 1 -#define HAVE_SYS_TIME_SELECT 1 -#endif - -#include -#include -#include -#include -#include - -#include -#include - -#if USE_RCS_IDS -#define MODULE_ID(id) static const char Ident[] = id; -#else -#define MODULE_ID(id) /*nothing*/ -#endif - -#if !HAVE_STRSTR -extern char *_nc_strstr(const char *, const char *); -#define strstr(h,n) _nc_strstr(h,n) -#endif - -#define UChar(c) ((unsigned char)(c)) - -extern FILE *log_fp; -extern FILE *debug_fp; -extern int debug_level; -extern char temp[]; -extern char tty_basename[]; -extern char tty_shortname[]; - -#define SYNC_FAILED 0 -#define SYNC_TESTED 1 -#define SYNC_NOT_TESTED 2 -#define SYNC_NEEDED 3 - -extern int tty_can_sync; -extern int total_pads_sent; /* count pad characters sent */ -extern int total_caps_sent; /* count caps sent */ -extern int total_printing_characters; /* count printing characters sent */ -extern int no_alarm_event; /* TRUE if the alarm has not gone off yet */ -extern unsigned long usec_run_time; /* length of last test in microseconds */ -extern int raw_characters_sent; /* Total output characters */ - -/* Stopwatch event timers */ -#define TIME_TEST 0 -#define TIME_SYNC 1 -#define TIME_FLUSH 2 -#define MAX_TIMERS 3 - -/* definitions for pad.c */ - -#define EXIT_CONDITION (no_alarm_event && (tt_delay_used < tt_delay_max)) -#define SLOW_TERMINAL_EXIT if (!test_complete && !EXIT_CONDITION) { break; } -#define CAP_NOT_FOUND if (auto_pad_mode) return - -extern char letters[26+1]; -#define NEXT_LETTER letter = letters[letter_number =\ - letters[letter_number + 1] ? letter_number + 1 : 0] - -extern int test_complete; /* counts number of tests completed */ -extern char letter; -extern int letter_number; -extern int augment, repeats; -extern long char_sent; -extern const char *pad_repeat_test; /* commands that force repeat */ - -extern int replace_mode; -extern int char_count, line_count, expand_chars; -extern int can_go_home, can_clear_screen; - -extern int translate_mode, scan_mode; -extern int auto_pad_mode; /* TRUE for auto time tests */ -extern int char_mask; -extern int hex_out; /* Display output in hex */ - -/* Parity bit macros */ -#define STRIP_PARITY 0x7f -#define ALLOW_PARITY 0xff - -/* select_delay_type: 0 -> reset all delays - 1 -> force long delays - 2 -> do not change the delays */ -extern int select_delay_type; - -/* select_xon_xoff: 0 -> reset xon/xoff - 1 -> set xon/xoff - 2 -> do not change xon/xoff */ -extern int select_xon_xoff; - -extern int tty_frame_size; -extern unsigned tty_baud_rate; -extern unsigned long tty_cps; /* The number of characters per second */ -extern int not_a_tty, nodelay_read; -extern int send_reset_init; - -/* definitions for stty_query() and initial_stty_query() */ -#define TTY_CHAR_MODE 0 -#define TTY_NOECHO 1 -#define TTY_OUT_TRANS 2 -#define TTY_8_BIT 3 -#define TTY_XON_XOFF 4 - -/* scan code definitions */ -#define MAX_SCAN 256 - -/* translate mode default strings */ -struct default_string_list { - const char *name; /* terminfo name */ - const char *value; /* value of default string */ - int index; /* index into the strfname[] array */ -}; - -#define TM_last 8 -extern struct default_string_list TM_string[TM_last]; - -/* attribute structure definition */ -struct mode_list { - const char *name; - const char *begin_mode; - const char *end_mode; - int number; -}; - -extern const struct mode_list alt_modes[]; -extern const int mode_map[]; - -/* Test data base */ - -#define FLAG_CAN_TEST 1 -#define FLAG_TESTED 2 -#define FLAG_LABEL 4 -#define FLAG_FUNCTION_KEY 8 - -/* caps under test data base */ - -#define TT_MAX 8 -#define MAX_CHANGES (TT_MAX+2) - -extern int tt_delay_max; /* max number of milliseconds we can delay */ -extern int tt_delay_used; /* number of milliseconds consumed in delay */ -extern const char *tt_cap[TT_MAX]; /* value of string */ -extern int tt_affected[TT_MAX]; /* lines or columns effected (repetition - factor) */ -extern int tt_count[TT_MAX]; /* Number of times sent */ -extern int tt_delay[TT_MAX]; /* Number of milliseconds delay */ -extern int ttp; /* number of entries used */ - -extern const char *tx_cap[TT_MAX]; /* value of string */ -extern int tx_affected[TT_MAX]; /* lines or columns effected (repetition - factor) */ -extern int tx_count[TT_MAX]; /* Number of times sent */ -extern int tx_delay[TT_MAX]; /* Number of milliseconds delay */ -extern int tx_index[TT_MAX]; /* String index */ -extern int txp; /* number of entries used */ -extern int tx_characters; /* printing characters sent by test */ -extern unsigned long tx_cps; /* characters per second */ - -/* - Menu control for tack. -*/ - -struct test_results { - struct test_results *next; /* point to next entry */ - struct test_list *test; /* Test which got these results */ - int reps; /* repeat count */ - int delay; /* delay times 10 */ -}; - -struct test_list { - int flags; /* Test description flags */ - int lines_needed; /* Lines needed for test (0->no action) */ - const char *caps_done; /* Caps shown in Done message */ - const char *caps_tested; /* Other caps also being tested */ - const char *menu_entry; /* Menu entry text (optional) */ - /* Function that does testing */ - void (*test_procedure)(struct test_list *, int *, int *); - struct test_menu *sub_menu; /* Nested sub-menu */ -}; - -struct test_menu { - int flags; /* Menu feature flag */ - int default_action; /* Default command if entered */ - const char *menu_text; /* Describe this test_menu */ - const char *menu_title; /* Title for the menu */ - const char *ident; /* short menu name */ - const char *standard_tests; /* Standard test text */ - /* print current settings (optional) */ - void (*menu_function)(struct test_menu *); - struct test_list *tests; /* Pointer to the menu/function pairs */ - struct test_list *resume_tests; /* Standard test resume point */ - int resume_state; /* resume state of test group */ - int resume_char; /* resume ch of test group */ -}; - - -/* menu flags */ -#define MENU_100c 0x00001a00 /* Augment 100% of columns */ -#define MENU_90c 0x00001900 /* Augment 90% of columns */ -#define MENU_80c 0x00001800 /* Augment 80% of columns */ -#define MENU_70c 0x00001700 /* Augment 70% of columns */ -#define MENU_60c 0x00001600 /* Augment 60% of columns */ -#define MENU_50c 0x00001500 /* Augment 50% of columns */ -#define MENU_40c 0x00001400 /* Augment 40% of columns */ -#define MENU_30c 0x00001300 /* Augment 30% of columns */ -#define MENU_20c 0x00001200 /* Augment 20% of columns */ -#define MENU_10c 0x00001100 /* Augment 10% of columns */ -#define MENU_LM1 0x00002e00 /* Augment lines - 1 */ -#define MENU_100l 0x00002a00 /* Augment 100% of lines */ -#define MENU_90l 0x00002900 /* Augment 90% of lines */ -#define MENU_50l 0x00002500 /* Augment 50% of lines */ -#define MENU_lines 0x00002000 /* Augment of lines */ -#define MENU_columns 0x00001000 /* Augment of columns */ -#define MENU_LC_MASK 0x00003000 /* Augment mask for lines and columns */ -#define MENU_1L 0x00002f00 /* Augment == one */ -#define MENU_1C 0x00001f00 /* Augment == one */ -#define MENU_ONE 0x00000f00 /* Augment == one */ -#define MENU_ONE_MASK 0x00000f00 /* Augment == one mask */ -#define MENU_REP_MASK 0x00003f00 /* Augment mask */ - -#define MENU_CLEAR 0x00010000 /* clear screen */ -#define MENU_INIT 0x00020000 /* Initialization function */ -#define MENU_NEXT 0x00040000 /* Next test in sequence */ -#define MENU_LAST 0x00080000 /* End of menu list */ -#define MENU_STOP 0x00100000 /* Stop testing next-in-sequence */ -#define MENU_COMPLETE 0x00200000 /* Test complete after this */ -#define MENU_MENU 0x00400000 /* Pass the menu name not test name */ - -#define REQUEST_PROMPT 256 - -/* tack.c */ -extern struct test_menu edit_menu; -extern void show_usage(char *); -extern void print_version(void); - -/* output.c */ -extern char *expand(const char *); -extern char *expand_command(const char *); -extern char *expand_to(char *, int); -extern char *hex_expand_to(char *, int); -extern char *print_expand(char *); -extern int getchp(int); -extern int getnext(int); -extern int tc_putch(int); -extern int tc_putp(const char *); -extern int wait_here(void); -extern void go_home(void); -extern void home_down(void); -extern void maybe_wait(int); -extern void ptext(const char *); -extern void ptextln(const char *); -extern void put_clear(void); -extern void put_columns(const char *, int, int); -extern void put_cr(void); -extern void put_crlf(void); -extern void put_dec(char *, int); -extern void put_ind(void); -extern void put_lf(void); -extern void put_newlines(int); -extern void put_str(const char *); -extern void put_this(int); -extern void putchp(int); -extern void putln(const char *); -extern void read_string(char *, int); -extern void three_digit(char *, int); -extern void tt_putp(const char *); -extern void tt_putparm(NCURSES_CONST char *, int, int, int); -extern void tt_tputs(const char *, int); - -#define put_that(n) put_this((int) (n)) - -/* control.c */ -extern struct test_list color_test_list[]; -extern char *liberated(char *); -extern char txt_longer_augment[80]; -extern char txt_longer_test_time[80]; -extern char txt_shorter_augment[80]; -extern char txt_shorter_test_time[80]; -extern int msec_cost(const char *const, int); -extern int skip_pad_test(struct test_list *, int *, int *, const char *); -extern int sliding_scale(int, int, unsigned long); -extern int still_testing(void); -extern long event_time(int); -extern void control_init(void); -extern void dump_test_stats(struct test_list *, int *, int *); -extern void event_start(int); -extern void longer_augment(struct test_list *, int *, int *); -extern void longer_test_time(struct test_list *, int *, int *); -extern void pad_test_shutdown(struct test_list *, int); -extern void pad_test_startup(int); -extern void page_loop(void); -extern void set_augment_txt(void); -extern void shorter_augment(struct test_list *, int *, int *); -extern void shorter_test_time(struct test_list *, int *, int *); - -/* charset.c */ -extern struct test_list acs_test_list[]; -extern void set_attr(int); -extern void eat_cookie(void); -extern void put_mode(char *); - -/* crum.c */ -extern struct test_list crum_test_list[]; - -/* ansi.c */ -extern void tools_status(struct test_list *, int *, int *); -extern void tools_charset(struct test_list *, int *, int *); -extern void tools_sgr(struct test_list *, int *, int *); - -/* edit.c */ -extern struct test_menu change_pad_menu; -extern struct test_list edit_test_list[]; -extern char *get_string_cap_byname(const char *, const char **); -extern int cap_match(const char *names, const char *cap); -extern int get_string_cap_byvalue(const char *); -extern int user_modified(void); -extern void can_test(const char *, int); -extern void cap_index(const char *, int *); -extern void edit_init(void); -extern void save_info(struct test_list *, int *, int *); -extern void show_report(struct test_list *, int *, int *); - -/* fun.c */ -extern struct test_list funkey_test_list[]; -extern struct test_list printer_test_list[]; -extern void enter_key(const char *, char *, char *); -extern int tty_meta_prep(void); -extern void tools_report(struct test_list *, int *, int *); - -/* init.c */ -extern void reset_init(void); -extern void display_basic(void); -extern void put_name(const char *, const char *); -extern void charset_can_test(void); -extern void curses_setup(char *); -extern void bye_kids(int); - -/* scan.c */ -extern char **scan_up, **scan_down, **scan_name; -extern int scan_key(void); -extern unsigned scan_max; /* length of longest scan code */ -extern unsigned *scan_tested, *scan_length; -extern void scan_init(char *fn); - -/* sysdep.c */ -extern int initial_stty_query(int); -extern int stty_query(int); -extern void ignoresig(void); -extern void read_key(char *, int); -extern void set_alarm_clock(int); -extern void spin_flush(void); -extern void tty_init(void); -extern void tty_raw(int, int); -extern void tty_reset(void); -extern void tty_set(void); - -/* menu.c */ -extern char prompt_string[80]; /* menu prompt storage */ -extern int subtest_menu(struct test_list *, int *, int *); -extern struct test_list *augment_test; -extern void generic_done_message(struct test_list *, int *, int *); -extern void menu_can_scan(const struct test_menu *); -extern void menu_clear_screen(struct test_list *, int *, int *); -extern void menu_display(struct test_menu *, int *); -extern void menu_prompt(void); -extern void menu_reset_init(struct test_list *, int *, int *); -extern void pad_done_message(struct test_list *, int *, int *); - -/* modes.c */ -extern struct test_list mode_test_list[]; - -/* pad.c */ -extern struct test_list pad_test_list[]; - -/* sync.c */ -extern struct test_menu sync_menu; -extern int tty_sync_error(void); -extern void flush_input(void); -extern void sync_handshake(struct test_list *, int *, int *); -extern void sync_test(struct test_menu *); -extern void verify_time(void); - -#endif /* NCURSES_TACK_H_incl */ diff --git a/src/libs/ncurses/tar-copy.sh b/src/libs/ncurses/tar-copy.sh deleted file mode 100755 index 3df1bc1116..0000000000 --- a/src/libs/ncurses/tar-copy.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh -# $Id: tar-copy.sh,v 1.5 2003/10/25 14:40:07 tom Exp $ -############################################################################## -# Copyright (c) 1998,2003 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey -# -# Copy a collection of files using 'tar', so that their dates and links are -# preserved -# -# Parameters: -# $1 = files to copy -# $2 = source directory -# $3 = destination directory -# -#DOIT=echo -DOIT=eval - -if test $# != 3 ; then - echo "Usage: $0 files source target" - exit 1 -elif test ! -d "$2" ; then - echo "Source directory not found: $2" - exit 1 -elif test ! -d "$3" ; then - echo "Target directory not found: $3" - exit 1 -fi - -WD=`pwd` - -TMP=$WD/copy$$ - -cd $2 -TEST=`ls -d $1 2>/dev/null` -if test -z "$TEST" -then - echo "... no match for \"$1\" in $2" -else - echo "... installing files matching \"$1\" in $2" - trap "rm -f $TMP" 0 1 2 5 15 - if ( tar cf $TMP $1 ) - then - cd $3 - LIST=`tar tf $TMP 2>&1` - $DOIT rm -rf $LIST 2>/dev/null - $DOIT tar xvf $TMP - else - echo "Cannot create tar of $1 files" - exit 1 - fi -fi diff --git a/src/libs/ncurses/test/Makefile b/src/libs/ncurses/test/Makefile deleted file mode 100644 index c8dde60132..0000000000 --- a/src/libs/ncurses/test/Makefile +++ /dev/null @@ -1,794 +0,0 @@ -# $Id: Makefile.in,v 1.84 2005/09/24 23:05:14 tom Exp $ -############################################################################## -# Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996-2002 -# -# Makefile for ncurses tests. - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh - - - -x = -o = .o - -MODEL = ../objects -srcdir = . -prefix = /usr/local -exec_prefix = ${prefix} -libdir = ${exec_prefix}/lib -includedir = $(prefix)/include/ncurses - -LIBTOOL = -LIBTOOL_CLEAN = -LIBTOOL_COMPILE = -LIBTOOL_LINK = - -CC = gcc -CPP = gcc -E - -CFLAGS = -O2 -CPPFLAGS = -I../test -I$(srcdir) -DHAVE_CONFIG_H -I. -I../include -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=199506L -DNDEBUG -I$(includedir) - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) - -CFLAGS_LIBTOOL = $(CCFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) -g -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) -fPIC - -CFLAGS_DEFAULT = $(CFLAGS_NORMAL) - -REL_VERSION = 5.5 -ABI_VERSION = 5 -LOCAL_LIBS = ../lib/libform.a ../lib/libmenu.a ../lib/libpanel.a ../lib/libncurses.a -MATH_LIB = - -LD = ld -LINK = $(LIBTOOL_LINK) $(CC) $(CFLAGS) - -LDFLAGS = - -LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL) -LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL) -LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG) -LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE) -LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) - -# use these for linking with all of the libraries -LIBS_DEFAULT = -L../lib -lform -lmenu -lpanel -lncurses -LDFLAGS_DEFAULT = $(LDFLAGS_NORMAL) $(LIBS_DEFAULT) - -# use these for linking with the (n)curses library -LIBS_CURSES = `echo "-L../lib -lform -lmenu -lpanel -lncurses " | sed -e 's/-lform.*-lpanel[^ ]*//'` -LDFLAGS_CURSES = $(LDFLAGS_NORMAL) $(LIBS_CURSES) - -# use these for linking with the tinfo library if we have it, or curses library if not -LIBS_TINFO = -L../lib -lncurses -LDFLAGS_TINFO = $(LDFLAGS_NORMAL) $(LIBS_TINFO) - -LINT = -LINT_OPTS = -LINT_LIBS = -lform -lmenu -lpanel -lncurses - -HEADER_DEPS = \ - ../include/curses.h \ - ../include/term.h - -TESTS = \ - background$x \ - blue$x \ - bs$x \ - cardfile$x \ - color_set$x \ - demo_defkey$x \ - demo_forms$x \ - demo_keyok$x \ - demo_menus$x \ - demo_panels$x \ - demo_termcap$x \ - ditto$x \ - dots$x \ - filter$x \ - firework$x \ - firstlast$x \ - gdc$x \ - hanoi$x \ - hashtest$x \ - ins_wide$x \ - inserts$x \ - keynames$x \ - knight$x \ - lrtest$x \ - ncurses$x \ - newdemo$x \ - railroad$x \ - rain$x \ - tclock$x \ - testaddch$x \ - testcurs$x \ - testscanw$x \ - view$x \ - worm$x \ - xmas$x - -all: $(TESTS) - -sources: - -tags: - ctags *.[ch] - -background$x: $(MODEL)/background$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/background$o $(LDFLAGS_CURSES) - -blue$x: $(MODEL)/blue$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/blue$o $(LDFLAGS_CURSES) - -bs$x: $(MODEL)/bs$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/bs$o $(LDFLAGS_CURSES) - -cardfile$x: $(MODEL)/cardfile$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/cardfile$o $(LDFLAGS_DEFAULT) - -color_set$x: $(MODEL)/color_set$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/color_set$o $(LDFLAGS_CURSES) - -demo_defkey$x: $(MODEL)/demo_defkey$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/demo_defkey$o $(LDFLAGS_CURSES) - -demo_forms$x: $(MODEL)/demo_forms$o $(MODEL)/edit_field$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/demo_forms$o $(MODEL)/edit_field$o $(LDFLAGS_DEFAULT) - -demo_keyok$x: $(MODEL)/demo_keyok$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/demo_keyok$o $(LDFLAGS_CURSES) - -demo_menus$x: $(MODEL)/demo_menus$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/demo_menus$o $(LDFLAGS_DEFAULT) - -demo_panels$x: $(MODEL)/demo_panels$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/demo_panels$o $(LDFLAGS_DEFAULT) - -demo_termcap$x: $(MODEL)/demo_termcap$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/demo_termcap$o $(LDFLAGS_TINFO) - -ditto$x: $(MODEL)/ditto$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/ditto$o $(LDFLAGS_CURSES) - -dots$x: $(MODEL)/dots$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/dots$o $(LDFLAGS_TINFO) - -filter$x: $(MODEL)/filter$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/filter$o $(LDFLAGS_CURSES) - -firework$x: $(MODEL)/firework$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/firework$o $(LDFLAGS_CURSES) - -firstlast$x: $(MODEL)/firstlast$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/firstlast$o $(LDFLAGS_DEFAULT) - -gdc$x: $(MODEL)/gdc$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/gdc$o $(LDFLAGS_CURSES) - -hanoi$x: $(MODEL)/hanoi$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/hanoi$o $(LDFLAGS_CURSES) - -hashtest$x: $(MODEL)/hashtest$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/hashtest$o $(LDFLAGS_CURSES) - -inserts$x: $(MODEL)/inserts$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/inserts$o $(LDFLAGS_CURSES) - -ins_wide$x: $(MODEL)/ins_wide$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/ins_wide$o $(LDFLAGS_CURSES) - -keynames$x: $(MODEL)/keynames$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/keynames$o $(LDFLAGS_CURSES) - -knight$x: $(MODEL)/knight$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/knight$o $(LDFLAGS_CURSES) - -lrtest$x: $(MODEL)/lrtest$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/lrtest$o $(LDFLAGS_CURSES) - -ncurses$x: $(MODEL)/ncurses$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/ncurses$o $(LDFLAGS_DEFAULT) - -newdemo$x: $(MODEL)/newdemo$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/newdemo$o $(LDFLAGS_CURSES) - -rain$x: $(MODEL)/rain$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/rain$o $(LDFLAGS_CURSES) - -railroad$x: $(MODEL)/railroad$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/railroad$o $(LDFLAGS_TINFO) - -tclock$x: $(MODEL)/tclock$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/tclock$o $(LDFLAGS_CURSES) $(MATH_LIB) - -testaddch$x: $(MODEL)/testaddch$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/testaddch$o $(LDFLAGS_CURSES) - -testcurs$x: $(MODEL)/testcurs$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/testcurs$o $(LDFLAGS_CURSES) - -testscanw$x: $(MODEL)/testscanw$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/testscanw$o $(LDFLAGS_CURSES) - -view$x: $(MODEL)/view$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/view$o $(LDFLAGS_CURSES) - -worm$x: $(MODEL)/worm$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/worm$o $(LDFLAGS_CURSES) - -xmas$x: $(MODEL)/xmas$o $(LOCAL_LIBS) - $(LINK) -o $@ $(MODEL)/xmas$o $(LDFLAGS_CURSES) - -libs \ -install \ -install.libs \ -install.test: - -uninstall: -uninstall.libs: -uninstall.test: - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace - -clean :: mostlyclean - -sh -c "if test -n '$x' ; then $(MAKE) clean x=''; fi" - -rm -rf *$o screendump *.lis $(TESTS) .libs - -distclean :: clean - -rm -f Makefile ncurses_cfg.h config.* - -realclean :: distclean - -lint: - sh -c 'for N in $(TESTS); do echo LINT:$$N; $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/$$N.c $(LINT_LIBS); done' - -# generated by mk-0th.awk -# libname: test -# subsets: termlib+ext_tinfo+base+ext_funcs - -.SUFFIXES: .c .cc .h .i .ii -.c.i : - $(CPP) $(CPPFLAGS) $< >$@ -.cc.ii : - $(CPP) $(CPPFLAGS) $< >$@ -.h.i : - $(CPP) $(CPPFLAGS) $< >$@ - -C_SRC = \ - $(srcdir)/background.c \ - $(srcdir)/blue.c \ - $(srcdir)/bs.c \ - $(srcdir)/cardfile.c \ - $(srcdir)/color_set.c \ - $(srcdir)/demo_defkey.c \ - $(srcdir)/demo_keyok.c \ - $(srcdir)/demo_forms.c \ - $(srcdir)/demo_menus.c \ - $(srcdir)/demo_panels.c \ - $(srcdir)/demo_termcap.c \ - $(srcdir)/ditto.c \ - $(srcdir)/dots.c \ - $(srcdir)/edit_field.c \ - $(srcdir)/filter.c \ - $(srcdir)/firework.c \ - $(srcdir)/firstlast.c \ - $(srcdir)/gdc.c \ - $(srcdir)/hanoi.c \ - $(srcdir)/hashtest.c \ - $(srcdir)/ins_wide.c \ - $(srcdir)/inserts.c \ - $(srcdir)/keynames.c \ - $(srcdir)/knight.c \ - $(srcdir)/lrtest.c \ - $(srcdir)/ncurses.c \ - $(srcdir)/newdemo.c \ - $(srcdir)/railroad.c \ - $(srcdir)/rain.c \ - $(srcdir)/tclock.c \ - $(srcdir)/testaddch.c \ - $(srcdir)/testcurs.c \ - $(srcdir)/testscanw.c \ - $(srcdir)/view.c \ - $(srcdir)/worm.c \ - $(srcdir)/xmas.c - -lintlib : - @echo no action needed - -# generated by mk-1st.awk (subset=termlib+ext_tinfo+base+ext_funcs) -# name: test -# traces: DEBUG -# MODEL: NORMAL -# model: objects -# prefix: lib -# suffix: .a -# subset: termlib+ext_tinfo+base+ext_funcs -# ShlibVer: auto -# ShlibVerInfix: no -# DoLinks: no -# rmSoLocs: no -# ldconfig: -# overwrite: no -# depend: ../include/ncurses_cfg.h ./test.priv.h -# host: i586-pc-beos - -NORMAL_OBJS = \ - ../objects/background$o \ - ../objects/blue$o \ - ../objects/bs$o \ - ../objects/cardfile$o \ - ../objects/color_set$o \ - ../objects/demo_defkey$o \ - ../objects/demo_keyok$o \ - ../objects/demo_forms$o \ - ../objects/demo_menus$o \ - ../objects/demo_panels$o \ - ../objects/demo_termcap$o \ - ../objects/ditto$o \ - ../objects/dots$o \ - ../objects/edit_field$o \ - ../objects/filter$o \ - ../objects/firework$o \ - ../objects/firstlast$o \ - ../objects/gdc$o \ - ../objects/hanoi$o \ - ../objects/hashtest$o \ - ../objects/ins_wide$o \ - ../objects/inserts$o \ - ../objects/keynames$o \ - ../objects/knight$o \ - ../objects/lrtest$o \ - ../objects/ncurses$o \ - ../objects/newdemo$o \ - ../objects/railroad$o \ - ../objects/rain$o \ - ../objects/tclock$o \ - ../objects/testaddch$o \ - ../objects/testcurs$o \ - ../objects/testscanw$o \ - ../objects/view$o \ - ../objects/worm$o \ - ../objects/xmas$o - -$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./test.priv.h - -mostlyclean:: - -rm -f $(NORMAL_OBJS) - -clean :: - -rm -f $(NORMAL_OBJS) - -# generated by mk-2nd.awk -# model: objects -# MODEL: NORMAL -# echo: yes -# subset: termlib+ext_tinfo+base+ext_funcs -# crenames: yes -# cxxrenames: yes -# traces: DEBUG -# srcdir: . - -../objects/background$o : $(srcdir)/background.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/background.c -o ../objects/background$o - -../objects/blue$o : $(srcdir)/blue.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/blue.c -o ../objects/blue$o - -../objects/bs$o : $(srcdir)/bs.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/bs.c -o ../objects/bs$o - -../objects/cardfile$o : $(srcdir)/cardfile.c \ - $(HEADER_DEPS) \ - ../include/panel.h \ - ../include/form.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/cardfile.c -o ../objects/cardfile$o - -../objects/color_set$o : $(srcdir)/color_set.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/color_set.c -o ../objects/color_set$o - -../objects/demo_defkey$o : $(srcdir)/demo_defkey.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_defkey.c -o ../objects/demo_defkey$o - -../objects/demo_keyok$o : $(srcdir)/demo_keyok.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_keyok.c -o ../objects/demo_keyok$o - -../objects/demo_forms$o : $(srcdir)/demo_forms.c \ - $(HEADER_DEPS) \ - ../include/form.h \ - $(srcdir)/edit_field.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_forms.c -o ../objects/demo_forms$o - -../objects/demo_menus$o : $(srcdir)/demo_menus.c \ - $(HEADER_DEPS) \ - ../include/menu.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_menus.c -o ../objects/demo_menus$o - -../objects/demo_panels$o : $(srcdir)/demo_panels.c \ - $(HEADER_DEPS) \ - ../include/panel.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_panels.c -o ../objects/demo_panels$o - -../objects/demo_termcap$o : $(srcdir)/demo_termcap.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_termcap.c -o ../objects/demo_termcap$o - -../objects/ditto$o : $(srcdir)/ditto.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/ditto.c -o ../objects/ditto$o - -../objects/dots$o : $(srcdir)/dots.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/dots.c -o ../objects/dots$o - -../objects/edit_field$o : $(srcdir)/edit_field.c \ - $(HEADER_DEPS) \ - $(srcdir)/edit_field.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/edit_field.c -o ../objects/edit_field$o - -../objects/filter$o : $(srcdir)/filter.c \ - $(HEADER_DEPS) \ - ../include/form.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/filter.c -o ../objects/filter$o - -../objects/firework$o : $(srcdir)/firework.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/firework.c -o ../objects/firework$o - -../objects/firstlast$o : $(srcdir)/firstlast.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/firstlast.c -o ../objects/firstlast$o - -../objects/gdc$o : $(srcdir)/gdc.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/gdc.c -o ../objects/gdc$o - -../objects/hanoi$o : $(srcdir)/hanoi.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/hanoi.c -o ../objects/hanoi$o - -../objects/hashtest$o : $(srcdir)/hashtest.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/hashtest.c -o ../objects/hashtest$o - -../objects/ins_wide$o : $(srcdir)/ins_wide.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/ins_wide.c -o ../objects/ins_wide$o - -../objects/inserts$o : $(srcdir)/inserts.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/inserts.c -o ../objects/inserts$o - -../objects/keynames$o : $(srcdir)/keynames.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/keynames.c -o ../objects/keynames$o - -../objects/knight$o : $(srcdir)/knight.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/knight.c -o ../objects/knight$o - -../objects/lrtest$o : $(srcdir)/lrtest.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/lrtest.c -o ../objects/lrtest$o - -../objects/ncurses$o : $(srcdir)/ncurses.c \ - $(HEADER_DEPS) \ - ../include/panel.h \ - ../include/menu.h \ - ../include/form.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/ncurses.c -o ../objects/ncurses$o - -../objects/newdemo$o : $(srcdir)/newdemo.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/newdemo.c -o ../objects/newdemo$o - -../objects/railroad$o : $(srcdir)/railroad.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/railroad.c -o ../objects/railroad$o - -../objects/rain$o : $(srcdir)/rain.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/rain.c -o ../objects/rain$o - -../objects/tclock$o : $(srcdir)/tclock.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/tclock.c -o ../objects/tclock$o - -../objects/testaddch$o : $(srcdir)/testaddch.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/testaddch.c -o ../objects/testaddch$o - -../objects/testcurs$o : $(srcdir)/testcurs.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/testcurs.c -o ../objects/testcurs$o - -../objects/testscanw$o : $(srcdir)/testscanw.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/testscanw.c -o ../objects/testscanw$o - -../objects/view$o : $(srcdir)/view.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/view.c -o ../objects/view$o - -../objects/worm$o : $(srcdir)/worm.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/worm.c -o ../objects/worm$o - -../objects/xmas$o : $(srcdir)/xmas.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/xmas.c -o ../objects/xmas$o - - -# generated by mk-1st.awk (subset=termlib+ext_tinfo+base+ext_funcs) -# name: test -# traces: DEBUG -# MODEL: DEBUG -# model: obj_g -# prefix: lib -# suffix: _g.a -# subset: termlib+ext_tinfo+base+ext_funcs -# ShlibVer: auto -# ShlibVerInfix: no -# DoLinks: no -# rmSoLocs: no -# ldconfig: -# overwrite: no -# depend: ../include/ncurses_cfg.h ./test.priv.h -# host: i586-pc-beos - -DEBUG_OBJS = \ - ../obj_g/background$o \ - ../obj_g/blue$o \ - ../obj_g/bs$o \ - ../obj_g/cardfile$o \ - ../obj_g/color_set$o \ - ../obj_g/demo_defkey$o \ - ../obj_g/demo_keyok$o \ - ../obj_g/demo_forms$o \ - ../obj_g/demo_menus$o \ - ../obj_g/demo_panels$o \ - ../obj_g/demo_termcap$o \ - ../obj_g/ditto$o \ - ../obj_g/dots$o \ - ../obj_g/edit_field$o \ - ../obj_g/filter$o \ - ../obj_g/firework$o \ - ../obj_g/firstlast$o \ - ../obj_g/gdc$o \ - ../obj_g/hanoi$o \ - ../obj_g/hashtest$o \ - ../obj_g/ins_wide$o \ - ../obj_g/inserts$o \ - ../obj_g/keynames$o \ - ../obj_g/knight$o \ - ../obj_g/lrtest$o \ - ../obj_g/ncurses$o \ - ../obj_g/newdemo$o \ - ../obj_g/railroad$o \ - ../obj_g/rain$o \ - ../obj_g/tclock$o \ - ../obj_g/testaddch$o \ - ../obj_g/testcurs$o \ - ../obj_g/testscanw$o \ - ../obj_g/view$o \ - ../obj_g/worm$o \ - ../obj_g/xmas$o - -$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./test.priv.h - -mostlyclean:: - -rm -f $(DEBUG_OBJS) - -clean :: - -rm -f $(DEBUG_OBJS) - -# generated by mk-2nd.awk -# model: obj_g -# MODEL: DEBUG -# echo: yes -# subset: termlib+ext_tinfo+base+ext_funcs -# crenames: yes -# cxxrenames: yes -# traces: DEBUG -# srcdir: . - -../obj_g/background$o : $(srcdir)/background.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/background.c -o ../obj_g/background$o - -../obj_g/blue$o : $(srcdir)/blue.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/blue.c -o ../obj_g/blue$o - -../obj_g/bs$o : $(srcdir)/bs.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/bs.c -o ../obj_g/bs$o - -../obj_g/cardfile$o : $(srcdir)/cardfile.c \ - $(HEADER_DEPS) \ - ../include/panel.h \ - ../include/form.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/cardfile.c -o ../obj_g/cardfile$o - -../obj_g/color_set$o : $(srcdir)/color_set.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/color_set.c -o ../obj_g/color_set$o - -../obj_g/demo_defkey$o : $(srcdir)/demo_defkey.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_defkey.c -o ../obj_g/demo_defkey$o - -../obj_g/demo_keyok$o : $(srcdir)/demo_keyok.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_keyok.c -o ../obj_g/demo_keyok$o - -../obj_g/demo_forms$o : $(srcdir)/demo_forms.c \ - $(HEADER_DEPS) \ - ../include/form.h \ - $(srcdir)/edit_field.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_forms.c -o ../obj_g/demo_forms$o - -../obj_g/demo_menus$o : $(srcdir)/demo_menus.c \ - $(HEADER_DEPS) \ - ../include/menu.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_menus.c -o ../obj_g/demo_menus$o - -../obj_g/demo_panels$o : $(srcdir)/demo_panels.c \ - $(HEADER_DEPS) \ - ../include/panel.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_panels.c -o ../obj_g/demo_panels$o - -../obj_g/demo_termcap$o : $(srcdir)/demo_termcap.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_termcap.c -o ../obj_g/demo_termcap$o - -../obj_g/ditto$o : $(srcdir)/ditto.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/ditto.c -o ../obj_g/ditto$o - -../obj_g/dots$o : $(srcdir)/dots.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/dots.c -o ../obj_g/dots$o - -../obj_g/edit_field$o : $(srcdir)/edit_field.c \ - $(HEADER_DEPS) \ - $(srcdir)/edit_field.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/edit_field.c -o ../obj_g/edit_field$o - -../obj_g/filter$o : $(srcdir)/filter.c \ - $(HEADER_DEPS) \ - ../include/form.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/filter.c -o ../obj_g/filter$o - -../obj_g/firework$o : $(srcdir)/firework.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/firework.c -o ../obj_g/firework$o - -../obj_g/firstlast$o : $(srcdir)/firstlast.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/firstlast.c -o ../obj_g/firstlast$o - -../obj_g/gdc$o : $(srcdir)/gdc.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/gdc.c -o ../obj_g/gdc$o - -../obj_g/hanoi$o : $(srcdir)/hanoi.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/hanoi.c -o ../obj_g/hanoi$o - -../obj_g/hashtest$o : $(srcdir)/hashtest.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/hashtest.c -o ../obj_g/hashtest$o - -../obj_g/ins_wide$o : $(srcdir)/ins_wide.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/ins_wide.c -o ../obj_g/ins_wide$o - -../obj_g/inserts$o : $(srcdir)/inserts.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/inserts.c -o ../obj_g/inserts$o - -../obj_g/keynames$o : $(srcdir)/keynames.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/keynames.c -o ../obj_g/keynames$o - -../obj_g/knight$o : $(srcdir)/knight.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/knight.c -o ../obj_g/knight$o - -../obj_g/lrtest$o : $(srcdir)/lrtest.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/lrtest.c -o ../obj_g/lrtest$o - -../obj_g/ncurses$o : $(srcdir)/ncurses.c \ - $(HEADER_DEPS) \ - ../include/panel.h \ - ../include/menu.h \ - ../include/form.h - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/ncurses.c -o ../obj_g/ncurses$o - -../obj_g/newdemo$o : $(srcdir)/newdemo.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/newdemo.c -o ../obj_g/newdemo$o - -../obj_g/railroad$o : $(srcdir)/railroad.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/railroad.c -o ../obj_g/railroad$o - -../obj_g/rain$o : $(srcdir)/rain.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/rain.c -o ../obj_g/rain$o - -../obj_g/tclock$o : $(srcdir)/tclock.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/tclock.c -o ../obj_g/tclock$o - -../obj_g/testaddch$o : $(srcdir)/testaddch.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/testaddch.c -o ../obj_g/testaddch$o - -../obj_g/testcurs$o : $(srcdir)/testcurs.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/testcurs.c -o ../obj_g/testcurs$o - -../obj_g/testscanw$o : $(srcdir)/testscanw.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/testscanw.c -o ../obj_g/testscanw$o - -../obj_g/view$o : $(srcdir)/view.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/view.c -o ../obj_g/view$o - -../obj_g/worm$o : $(srcdir)/worm.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/worm.c -o ../obj_g/worm$o - -../obj_g/xmas$o : $(srcdir)/xmas.c \ - $(HEADER_DEPS) - $(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/xmas.c -o ../obj_g/xmas$o - -depend : $(AUTO_SRC) - makedepend -- $(CPPFLAGS) -- $(C_SRC) - -# DO NOT DELETE THIS LINE -- make depend depends on it. diff --git a/src/libs/ncurses/test/Makefile.in b/src/libs/ncurses/test/Makefile.in deleted file mode 100644 index 0165f4fffb..0000000000 --- a/src/libs/ncurses/test/Makefile.in +++ /dev/null @@ -1,279 +0,0 @@ -# $Id: Makefile.in,v 1.84 2005/09/24 23:05:14 tom Exp $ -############################################################################## -# Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1996-2002 -# -# Makefile for ncurses tests. - -# turn off _all_ suffix rules; we'll generate our own -.SUFFIXES: - -SHELL = /bin/sh - -@SET_MAKE@ - -x = @EXEEXT@ -o = .@OBJEXT@ - -MODEL = ../@DFT_OBJ_SUBDIR@ -srcdir = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ -libdir = @libdir@ -includedir = @includedir@ - -LIBTOOL = @LIBTOOL@ -LIBTOOL_CLEAN = @LIB_CLEAN@ -LIBTOOL_COMPILE = @LIB_COMPILE@ -LIBTOOL_LINK = @LIB_LINK@ - -CC = @CC@ -CPP = @CPP@ - -CFLAGS = @CFLAGS@ -CPPFLAGS = -I../test -I$(srcdir) -DHAVE_CONFIG_H @CPPFLAGS@ - -CCFLAGS = $(CPPFLAGS) $(CFLAGS) - -CFLAGS_LIBTOOL = $(CCFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg -CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ - -CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) - -REL_VERSION = @cf_cv_rel_version@ -ABI_VERSION = @cf_cv_abi_version@ -LOCAL_LIBS = @TEST_DEPS@ -MATH_LIB = @MATH_LIB@ - -LD = @LD@ -LINK = @LINK_TESTS@ $(LIBTOOL_LINK) $(CC) $(CFLAGS) - -LDFLAGS = @LD_MODEL@ @LOCAL_LDFLAGS@ @LDFLAGS@ - -LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL) -LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL) -LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG) -LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE) -LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@ - -# use these for linking with all of the libraries -LIBS_DEFAULT = @TEST_ARGS@ @LIBS@ -LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_DEFAULT) - -# use these for linking with the (n)curses library -LIBS_CURSES = `echo "@TEST_ARGS@ @LIBS@" | sed -e 's/-lform.*-lpanel[^ ]*//'` -LDFLAGS_CURSES = $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_CURSES) - -# use these for linking with the tinfo library if we have it, or curses library if not -LIBS_TINFO = @TINFO_ARGS@ @LIBS@ -LDFLAGS_TINFO = $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_TINFO) - -LINT = @LINT@ -LINT_OPTS = @LINT_OPTS@ -LINT_LIBS = -lform -lmenu -lpanel -lncurses @LIBS@ - -HEADER_DEPS = \ - ../include/curses.h \ - ../include/term.h - -TESTS = \ - background$x \ - blue$x \ - bs$x \ - cardfile$x \ - color_set$x \ - demo_defkey$x \ - demo_forms$x \ - demo_keyok$x \ - demo_menus$x \ - demo_panels$x \ - demo_termcap$x \ - ditto$x \ - dots$x \ - filter$x \ - firework$x \ - firstlast$x \ - gdc$x \ - hanoi$x \ - hashtest$x \ - ins_wide$x \ - inserts$x \ - keynames$x \ - knight$x \ - lrtest$x \ - ncurses$x \ - newdemo$x \ - railroad$x \ - rain$x \ - tclock$x \ - testaddch$x \ - testcurs$x \ - testscanw$x \ - view$x \ - worm$x \ - xmas$x - -all: $(TESTS) - -sources: - -tags: - ctags *.[ch] - -background$x: $(MODEL)/background$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/background$o $(LDFLAGS_CURSES) - -blue$x: $(MODEL)/blue$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/blue$o $(LDFLAGS_CURSES) - -bs$x: $(MODEL)/bs$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/bs$o $(LDFLAGS_CURSES) - -cardfile$x: $(MODEL)/cardfile$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/cardfile$o $(LDFLAGS_DEFAULT) - -color_set$x: $(MODEL)/color_set$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/color_set$o $(LDFLAGS_CURSES) - -demo_defkey$x: $(MODEL)/demo_defkey$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_defkey$o $(LDFLAGS_CURSES) - -demo_forms$x: $(MODEL)/demo_forms$o $(MODEL)/edit_field$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_forms$o $(MODEL)/edit_field$o $(LDFLAGS_DEFAULT) - -demo_keyok$x: $(MODEL)/demo_keyok$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_keyok$o $(LDFLAGS_CURSES) - -demo_menus$x: $(MODEL)/demo_menus$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_menus$o $(LDFLAGS_DEFAULT) - -demo_panels$x: $(MODEL)/demo_panels$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_panels$o $(LDFLAGS_DEFAULT) - -demo_termcap$x: $(MODEL)/demo_termcap$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_termcap$o $(LDFLAGS_TINFO) - -ditto$x: $(MODEL)/ditto$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/ditto$o $(LDFLAGS_CURSES) - -dots$x: $(MODEL)/dots$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/dots$o $(LDFLAGS_TINFO) - -filter$x: $(MODEL)/filter$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/filter$o $(LDFLAGS_CURSES) - -firework$x: $(MODEL)/firework$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/firework$o $(LDFLAGS_CURSES) - -firstlast$x: $(MODEL)/firstlast$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/firstlast$o $(LDFLAGS_DEFAULT) - -gdc$x: $(MODEL)/gdc$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/gdc$o $(LDFLAGS_CURSES) - -hanoi$x: $(MODEL)/hanoi$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/hanoi$o $(LDFLAGS_CURSES) - -hashtest$x: $(MODEL)/hashtest$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/hashtest$o $(LDFLAGS_CURSES) - -inserts$x: $(MODEL)/inserts$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/inserts$o $(LDFLAGS_CURSES) - -ins_wide$x: $(MODEL)/ins_wide$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/ins_wide$o $(LDFLAGS_CURSES) - -keynames$x: $(MODEL)/keynames$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/keynames$o $(LDFLAGS_CURSES) - -knight$x: $(MODEL)/knight$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/knight$o $(LDFLAGS_CURSES) - -lrtest$x: $(MODEL)/lrtest$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/lrtest$o $(LDFLAGS_CURSES) - -ncurses$x: $(MODEL)/ncurses$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/ncurses$o $(LDFLAGS_DEFAULT) - -newdemo$x: $(MODEL)/newdemo$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/newdemo$o $(LDFLAGS_CURSES) - -rain$x: $(MODEL)/rain$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/rain$o $(LDFLAGS_CURSES) - -railroad$x: $(MODEL)/railroad$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/railroad$o $(LDFLAGS_TINFO) - -tclock$x: $(MODEL)/tclock$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/tclock$o $(LDFLAGS_CURSES) $(MATH_LIB) - -testaddch$x: $(MODEL)/testaddch$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/testaddch$o $(LDFLAGS_CURSES) - -testcurs$x: $(MODEL)/testcurs$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/testcurs$o $(LDFLAGS_CURSES) - -testscanw$x: $(MODEL)/testscanw$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/testscanw$o $(LDFLAGS_CURSES) - -view$x: $(MODEL)/view$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/view$o $(LDFLAGS_CURSES) - -worm$x: $(MODEL)/worm$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/worm$o $(LDFLAGS_CURSES) - -xmas$x: $(MODEL)/xmas$o $(LOCAL_LIBS) - @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/xmas$o $(LDFLAGS_CURSES) - -libs \ -install \ -install.libs \ -install.test: - -uninstall: -uninstall.libs: -uninstall.test: - -mostlyclean :: - -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace - -clean :: mostlyclean - -sh -c "if test -n '$x' ; then $(MAKE) clean x=''; fi" - -rm -rf *$o screendump *.lis $(TESTS) .libs - -distclean :: clean - -rm -f Makefile ncurses_cfg.h config.* - -realclean :: distclean - -lint: - sh -c 'for N in $(TESTS); do echo LINT:$$N; $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/$$N.c $(LINT_LIBS); done' diff --git a/src/libs/ncurses/test/README b/src/libs/ncurses/test/README deleted file mode 100644 index 90898e7708..0000000000 --- a/src/libs/ncurses/test/README +++ /dev/null @@ -1,624 +0,0 @@ --- $Id: README,v 1.24 2005/10/01 22:01:07 tom Exp $ -------------------------------------------------------------------------------- - -The programs in this directory are designed to test your newest toy :-) -Check the sources for any further details. - -blue - Blue Moon, a nifty solitaire (uses color) -bs.c - the game of Battleships (uses color) -firework.c - multi-colored fireworks (uses color) -gdc.c - Great Digital Clock (uses color) -hanoi.c - the game of hanoi (uses color essentially) -knight.c - the game of Knight's Tour (uses color) -lrtest.c - test of access to the lower-right corner -ncurses.c - multi-test program (uses color) -newdemo.c - another test from PDCurses (uses color) -rain.c - rain drops keep falling on my head... -tclock.c - analog/digital clock -testcurs.c - a test from the PDCurses people (uses color) -worm.c - worms run all over your screen (uses color) -xmas.c - Xmas greeting card - -The bs and knight games demonstrate processing of mouse events under xterm. -This directory also contains: - -tracemunch - Perl script to crunch trace scripts to make them easier to read - -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- - -These programs provide examples of use, but do not comprise a complete set of -tests. Here is a list of library externals, noting those that are used: - -libform: -------- -TYPE_ALNUM test: demo_forms -TYPE_ALPHA test: demo_forms ncurses -TYPE_ENUM test: demo_forms -TYPE_INTEGER test: demo_forms -TYPE_IPV4 test: demo_forms -TYPE_NUMERIC test: demo_forms -TYPE_REGEXP test: demo_forms -current_field test: demo_forms edit_field ncurses -data_ahead test: demo_forms -data_behind test: demo_forms -dup_field - -dynamic_field_info test: demo_forms -field_arg - -field_back - -field_buffer test: cardfile demo_forms edit_field ncurses -field_count - -field_fore - -field_index test: demo_forms -field_info test: ncurses -field_init - -field_just - -field_opts test: demo_forms ncurses -field_opts_off test: cardfile demo_forms -field_opts_on test: demo_forms -field_pad - -field_status test: demo_forms -field_term - -field_type test: demo_forms -field_userptr test: ncurses -form_driver test: cardfile demo_forms edit_field ncurses -form_fields test: cardfile demo_forms -form_init - -form_opts - -form_opts_off - -form_opts_on - -form_page - -form_request_by_name - -form_request_name test: edit_field -form_sub test: cardfile demo_forms ncurses -form_term - -form_userptr - -form_win test: cardfile demo_forms edit_field ncurses -free_field test: cardfile demo_forms ncurses -free_fieldtype test: ncurses -free_form test: cardfile demo_forms ncurses -link_field - -link_fieldtype - -move_field - -new_field test: cardfile demo_forms ncurses -new_fieldtype test: ncurses -new_form test: cardfile demo_forms ncurses -new_page - -pos_form_cursor - -post_form test: cardfile demo_forms ncurses -scale_form test: demo_forms ncurses -set_current_field test: demo_forms -set_field_back test: cardfile demo_forms edit_field ncurses -set_field_buffer test: cardfile demo_forms edit_field ncurses -set_field_fore test: demo_forms -set_field_init - -set_field_just test: cardfile demo_forms -set_field_opts test: demo_forms ncurses -set_field_pad - -set_field_status test: demo_forms -set_field_term - -set_field_type test: demo_forms ncurses -set_field_userptr test: demo_forms ncurses -set_fieldtype_arg - -set_fieldtype_choice - -set_form_fields - -set_form_init - -set_form_opts - -set_form_page - -set_form_sub test: cardfile demo_forms ncurses -set_form_term - -set_form_userptr - -set_form_win test: cardfile demo_forms ncurses -set_max_field test: demo_forms -set_new_page test: demo_forms -unpost_form test: cardfile demo_forms ncurses - -libmenu: -------- -current_item test: demo_menus ncurses -free_item test: ncurses -free_menu test: demo_menus ncurses -item_count test: demo_menus -item_description - -item_index test: demo_menus ncurses -item_init - -item_name test: ncurses -item_opts - -item_opts_off - -item_opts_on - -item_term - -item_userptr - -item_value test: demo_menus ncurses -item_visible - -menu_back - -menu_driver test: demo_menus ncurses -menu_fore - -menu_format - -menu_grey - -menu_init - -menu_items test: demo_menus ncurses -menu_mark - -menu_opts - -menu_opts_off test: demo_menus ncurses -menu_opts_on test: demo_menus -menu_pad - -menu_pattern - -menu_request_by_name - -menu_request_name - -menu_spacing test: demo_menus -menu_sub - -menu_term - -menu_userptr - -menu_win test: demo_menus ncurses -new_item test: demo_menus ncurses -new_menu test: demo_menus ncurses -pos_menu_cursor lib: menu -post_menu test: demo_menus ncurses -scale_menu test: demo_menus ncurses -set_current_item - -set_item_init - -set_item_opts - -set_item_term - -set_item_userptr - -set_item_value test: demo_menus ncurses -set_menu_back test: demo_menus -set_menu_fore test: demo_menus -set_menu_format test: demo_menus ncurses -set_menu_grey - -set_menu_init - -set_menu_items - -set_menu_mark test: demo_menus -set_menu_opts - -set_menu_pad - -set_menu_pattern - -set_menu_spacing - -set_menu_sub test: demo_menus ncurses -set_menu_term - -set_menu_userptr - -set_menu_win test: demo_menus ncurses -set_top_row - -top_row - -unpost_menu test: ncurses - -libncurses: ----------- -BC - -COLORS test: ncurses xmas -COLOR_PAIR test: background blue bs cardfile demo_forms demo_menus filter firework gdc hanoi ins_wide inserts knight ncurses newdemo rain tclock testaddch testcurs view worm xmas -COLOR_PAIRS test: ncurses newdemo -COLS test: cardfile demo_defkey demo_forms demo_keyok demo_menus edit_field firework hashtest ins_wide inserts lrtest ncurses newdemo rain tclock testcurs view worm -ESCDELAY lib: ncurses -LINES test: cardfile demo_defkey demo_keyok demo_menus edit_field firework hanoi hashtest ins_wide inserts lrtest ncurses newdemo rain tclock testcurs view worm xmas -PAIR_NUMBER test: ncurses -PC lib: ncurses -SP lib: ncurses -TABSIZE lib: menu -UP - -acs_map test: gdc ins_wide inserts knight ncurses newdemo testcurs -add_wch test: ncurses -add_wchnstr test: ncurses -add_wchstr test: view -addch test: blue bs ditto hashtest ncurses testaddch view worm -addchnstr - -addchstr - -addnstr - -addnwstr - -addstr test: blue bs cardfile gdc hanoi lrtest ncurses -addwstr test: ncurses -assume_default_colors test: ncurses -attr_get test: ncurses -attr_off test: ncurses -attr_on test: ncurses -attr_set test: ncurses -attroff test: filter gdc ncurses tclock -attron test: bs filter gdc ncurses -attrset test: bs firework gdc hanoi ncurses rain tclock testaddch testcurs -baudrate lib: ncurses -beep test: blue bs cardfile demo_forms demo_menus edit_field hanoi ins_wide inserts knight ncurses tclock testcurs view xmas -bkgd test: background cardfile demo_forms ncurses tclock view -bkgdset test: background ncurses testaddch -bkgrnd test: ncurses -bkgrndset test: ncurses -boolcodes progs: dump_entry -boolfnames progs: dump_entry -boolnames progs: dump_entry infocmp -border - -border_set - -box test: cardfile demo_forms demo_menus edit_field ins_wide inserts lrtest ncurses newdemo testcurs -box_set test: ncurses -can_change_color test: ncurses -cbreak test: background blue bs cardfile color_set demo_defkey demo_forms demo_keyok demo_menus ditto filter firework gdc hanoi hashtest ins_wide inserts knight lrtest ncurses newdemo tclock testcurs view worm xmas -chgat - -clear test: blue bs gdc ncurses testcurs xmas -clearok test: bs knight -clrtobot test: demo_menus ncurses -clrtoeol test: blue bs hanoi hashtest ncurses view -color_content test: ncurses -color_set test: color_set ncurses -copywin test: testcurs -cur_term test: dots lrtest progs: clear tic tput tset -curs_set test: firework gdc hanoi lrtest newdemo rain tclock testcurs worm xmas -curscr test: edit_field knight lrtest ncurses tclock view -curses_version test: ncurses progs: infocmp tic toe tput tset -def_prog_mode test: bs ncurses -def_shell_mode lib: ncurses -define_key test: demo_defkey -del_curterm lib: ncurses -delay_output - -delch - -deleteln - -delscreen - -delwin test: cardfile demo_forms demo_menus edit_field ins_wide inserts ncurses newdemo testcurs -derwin test: cardfile demo_forms demo_menus ins_wide inserts ncurses -doupdate test: cardfile edit_field ins_wide inserts knight ncurses -dupwin test: edit_field -echo test: bs hanoi ncurses testcurs testscanw -echo_wchar test: ncurses -echochar test: ncurses -endwin test: background blue bs cardfile color_set demo_defkey demo_forms demo_keyok demo_menus ditto filter firework firstlast gdc hanoi hashtest ins_wide inserts keynames knight lrtest ncurses newdemo rain tclock testaddch testcurs testscanw view worm xmas -erase test: cardfile filter firework firstlast hanoi lrtest ncurses tclock testcurs -erasechar lib: ncurses -erasewchar - -filter test: filter -flash test: cardfile lrtest ncurses tclock testcurs -flushinp test: ncurses newdemo testcurs -get_wch - -get_wstr - -getbkgd test: ncurses -getbkgrnd test: ncurses -getcchar test: ncurses view -getch test: background blue bs color_set ditto firework firstlast hanoi hashtest lrtest rain tclock testaddch testcurs view worm xmas -getmouse test: bs knight ncurses -getn_wstr - -getnstr test: filter ncurses -getstr - -getwin test: ncurses -halfdelay test: view -has_colors test: background bs cardfile color_set demo_forms demo_menus filter firework gdc hanoi ins_wide inserts knight ncurses newdemo rain tclock testcurs view worm xmas -has_ic test: lrtest -has_il lib: ncurses -has_key lib: ncurses -hline test: gdc ncurses -hline_set - -idcok - -idlok test: ncurses testscanw view -immedok - -in_wch - -in_wchnstr - -in_wchstr - -inch - -inchnstr - -inchstr - -init_color test: ncurses -init_pair test: background blue bs cardfile color_set demo_forms demo_menus filter firework gdc hanoi ins_wide inserts knight ncurses newdemo rain tclock testaddch testcurs view worm xmas -initscr test: background blue bs cardfile color_set demo_defkey demo_forms demo_keyok demo_menus firework firstlast gdc hanoi hashtest ins_wide inserts knight lrtest ncurses newdemo rain tclock testaddch testcurs testscanw view worm xmas -innstr - -innwstr - -ins_nwstr test: ins_wide -ins_wch test: ins_wide -ins_wstr test: ins_wide -insch test: ins_wide inserts -insdelln - -insertln - -insnstr test: inserts -insstr test: inserts -instr - -intrflush test: demo_forms -inwstr - -is_linetouched lib: form -is_term_resized - -is_wintouched lib: ncurses -isendwin - -key_defined test: demo_defkey -key_name test: ncurses -keybound test: demo_defkey -keyname test: demo_defkey demo_keyok edit_field keynames ncurses testcurs view progs: tic -keyok test: demo_keyok -keypad test: bs cardfile demo_defkey demo_forms demo_keyok demo_menus edit_field filter firework hashtest ins_wide inserts keynames knight lrtest ncurses tclock testcurs testscanw view -killchar lib: ncurses -killwchar - -leaveok test: hanoi -longname test: testcurs progs: tput -mcprint - -meta test: ncurses -mouse_trafo lib: menu -mouseinterval - -mousemask test: bs demo_menus knight ncurses -move test: blue bs cardfile demo_menus gdc hanoi hashtest ins_wide inserts knight lrtest ncurses testscanw view worm xmas -mvadd_wch test: ncurses -mvadd_wchnstr - -mvadd_wchstr - -mvaddch test: bs gdc hanoi lrtest ncurses rain tclock xmas -mvaddchnstr test: gdc -mvaddchstr - -mvaddnstr - -mvaddnwstr - -mvaddstr test: bs demo_forms gdc hanoi knight ncurses rain tclock testcurs xmas -mvaddwstr - -mvchgat - -mvcur lib: ncurses -mvdelch - -mvderwin lib: menu -mvget_wch - -mvget_wstr - -mvgetch - -mvgetn_wstr - -mvgetnstr - -mvgetstr - -mvhline test: ncurses -mvhline_set test: ncurses -mvin_wch - -mvin_wchnstr - -mvin_wchstr - -mvinch - -mvinchnstr test: gdc -mvinchstr - -mvinnstr - -mvinnwstr - -mvins_nwstr test: ins_wide -mvins_wch test: ins_wide -mvins_wstr test: ins_wide -mvinsch test: ins_wide inserts -mvinsnstr test: inserts -mvinsstr test: inserts -mvinstr - -mvinwstr - -mvprintw test: bs demo_menus firework hanoi ncurses tclock view -mvscanw - -mvvline test: ncurses -mvvline_set test: ncurses -mvwadd_wch - -mvwadd_wchnstr lib: form -mvwadd_wchstr - -mvwaddch test: newdemo testcurs xmas -mvwaddchnstr - -mvwaddchstr - -mvwaddnstr test: newdemo testcurs -mvwaddnwstr - -mvwaddstr test: firstlast ins_wide inserts knight ncurses newdemo testcurs xmas -mvwaddwstr - -mvwchgat - -mvwdelch test: ncurses -mvwget_wch - -mvwget_wstr - -mvwgetch - -mvwgetn_wstr - -mvwgetnstr - -mvwgetstr - -mvwhline lib: ncurses -mvwhline_set - -mvwin test: cardfile testcurs xmas -mvwin_wch - -mvwin_wchnstr lib: form -mvwin_wchstr - -mvwinch test: newdemo testcurs -mvwinchnstr - -mvwinchstr - -mvwinnstr test: testcurs -mvwinnwstr - -mvwins_nwstr test: ins_wide -mvwins_wch test: ins_wide -mvwins_wstr test: ins_wide -mvwinsch test: ins_wide inserts -mvwinsnstr test: inserts -mvwinsstr test: inserts testcurs -mvwinstr - -mvwinwstr - -mvwprintw test: ncurses testcurs -mvwscanw test: testcurs -mvwvline test: ins_wide inserts -mvwvline_set - -napms test: dots firework gdc hanoi lrtest ncurses newdemo railroad rain tclock testcurs view worm xmas progs: tset -newpad test: edit_field ncurses testcurs -newscr lib: ncurses -newterm test: ditto filter gdc keynames -newwin test: cardfile demo_defkey demo_forms demo_keyok demo_menus edit_field firstlast ins_wide inserts knight ncurses newdemo testcurs xmas -nl test: demo_forms ncurses rain testcurs -nocbreak test: testcurs -nodelay test: firework gdc lrtest ncurses newdemo rain tclock view xmas -noecho test: background bs cardfile color_set demo_defkey demo_forms demo_keyok demo_menus ditto firework firstlast gdc hanoi hashtest ins_wide inserts knight lrtest ncurses rain tclock testcurs view worm xmas -nonl test: bs demo_forms hashtest ncurses view worm xmas -noqiflush - -noraw test: demo_forms demo_menus ncurses testcurs -notimeout - -numcodes progs: dump_entry -numfnames progs: dump_entry -numnames progs: dump_entry infocmp -ospeed progs: tset -overlay test: testcurs xmas -overwrite test: ncurses -pair_content test: background color_set -pecho_wchar - -pechochar - -pnoutrefresh test: edit_field ncurses -prefresh test: testcurs -printw test: background blue bs color_set demo_defkey demo_keyok filter ncurses testcurs testscanw view -putp progs: tput -putwin test: ncurses -qiflush - -raw test: demo_forms ncurses testcurs -redrawwin - -refresh test: blue bs demo_defkey demo_forms demo_keyok demo_menus ditto filter firstlast gdc hanoi hashtest lrtest ncurses tclock testcurs view worm xmas -reset_prog_mode test: filter ncurses -reset_shell_mode test: bs filter -resetty - -resize_term test: view -resizeterm lib: ncurses -restartterm - -ripoffline test: ncurses -savetty - -scanw test: testcurs testscanw -scr_dump - -scr_init - -scr_restore - -scr_set - -scrl - -scroll test: testcurs -scrollok test: demo_defkey demo_keyok ditto hashtest knight ncurses testcurs testscanw view -set_curterm lib: ncurses -set_term test: ditto -setcchar test: ins_wide ncurses view -setscrreg test: view -setupterm test: dots progs: clear tput tset -slk_attr - -slk_attr_off - -slk_attr_on - -slk_attr_set - -slk_attroff lib: ncurses -slk_attron lib: ncurses -slk_attrset - -slk_clear test: ncurses -slk_color test: ncurses -slk_init test: ncurses -slk_label test: ncurses -slk_noutrefresh test: ncurses -slk_refresh test: ncurses -slk_restore test: ncurses -slk_set test: ncurses -slk_touch test: ncurses -slk_wset test: ncurses -standend test: blue gdc ncurses worm -standout test: blue ncurses -start_color test: background blue bs cardfile color_set demo_forms demo_menus filter firework gdc hanoi ins_wide inserts knight ncurses newdemo rain tclock testaddch testcurs view worm xmas -stdscr test: bs demo_forms ditto filter firework gdc hanoi hashtest ins_wide inserts keynames knight lrtest ncurses rain tclock testcurs testscanw view xmas -strcodes progs: dump_entry -strfnames progs: dump_entry -strnames progs: dump_entry infocmp tic -subpad test: testcurs -subwin test: ncurses newdemo testcurs -syncok - -term_attrs test: ncurses -termattrs test: ncurses testcurs -termname test: testcurs -tgetent test: demo_termcap railroad -tgetflag test: demo_termcap -tgetnum test: demo_termcap railroad -tgetstr test: demo_termcap railroad -tgoto test: railroad -tigetflag progs: tput -tigetnum test: ncurses progs: tput -tigetstr test: blue demo_defkey testcurs progs: tput -timeout test: rain -touchline lib: ncurses -touchwin test: demo_menus edit_field filter firstlast ins_wide inserts ncurses xmas -tparm test: dots progs: tic tput -tputs test: dots railroad progs: clear tset -trace test: demo_menus hanoi hashtest lrtest ncurses testcurs view worm -ttytype lib: ncurses -typeahead test: testcurs -unctrl test: ncurses testcurs -unget_wch - -ungetch test: bs knight -ungetmouse - -untouchwin lib: form -use_default_colors test: filter firework gdc hanoi knight ncurses rain tclock worm xmas -use_env progs: tput -use_extended_names progs: infocmp tic -vid_attr - -vid_puts - -vidattr lib: ncurses -vidputs lib: ncurses -vline test: gdc ncurses -vline_set - -vw_printw - -vw_scanw - -vwprintw lib: ncurses -vwscanw lib: ncurses -wadd_wch lib: ncurses -wadd_wchnstr lib: form -wadd_wchstr - -waddch test: demo_forms firstlast knight ncurses -waddchnstr lib: ncurses -waddchstr - -waddnstr lib: menu -waddnwstr test: ncurses -waddstr test: demo_forms edit_field firstlast ins_wide knight ncurses testcurs -waddwstr test: ins_wide -wattr_get - -wattr_off lib: ncurses -wattr_on lib: ncurses -wattr_set - -wattroff test: demo_forms ncurses testcurs xmas -wattron test: testcurs xmas -wattrset test: demo_forms ncurses newdemo testcurs xmas -wbkgd test: cardfile demo_forms ncurses newdemo testcurs -wbkgdset test: ins_wide inserts ncurses -wbkgrnd lib: ncurses -wbkgrndset lib: ncurses -wborder lib: ncurses -wborder_set lib: ncurses -wchgat test: view -wclear test: ncurses testcurs -wclrtobot test: firstlast ncurses testcurs -wclrtoeol test: demo_defkey demo_keyok firstlast ins_wide inserts knight ncurses testcurs -wcolor_set lib: ncurses -wcursyncup lib: form -wdelch test: ncurses testcurs -wdeleteln test: testcurs -wecho_wchar lib: ncurses -wechochar lib: ncurses -wenclose lib: menu -werase test: cardfile demo_forms edit_field firstlast knight ncurses newdemo testcurs xmas -wget_wch test: ins_wide ncurses -wget_wstr - -wgetch test: cardfile demo_defkey demo_keyok demo_menus edit_field gdc inserts knight ncurses newdemo testcurs -wgetn_wstr test: ncurses -wgetnstr test: ncurses -wgetstr - -whline test: testcurs -whline_set lib: ncurses -win_wch lib: form -win_wchnstr lib: form -win_wchstr - -winch test: knight testcurs -winchnstr lib: ncurses -winchstr - -winnstr test: demo_defkey -winnwstr lib: ncurses -wins_nwstr test: ins_wide -wins_wch test: ins_wide -wins_wstr test: ins_wide -winsch test: ins_wide inserts testcurs -winsdelln lib: ncurses -winsertln test: testcurs -winsnstr test: inserts -winsstr test: inserts -winstr - -winwstr lib: ncurses -wmouse_trafo lib: menu -wmove test: demo_defkey demo_keyok firstlast ins_wide inserts knight ncurses newdemo testcurs -wnoutrefresh test: edit_field ins_wide inserts knight ncurses -wprintw test: demo_defkey demo_forms demo_keyok edit_field ins_wide inserts knight ncurses testcurs -wredrawln lib: ncurses -wrefresh test: demo_forms demo_keyok demo_menus edit_field firstlast knight lrtest ncurses newdemo tclock testcurs view xmas -wresize test: cardfile ncurses -wscanw test: testcurs -wscrl test: ncurses testcurs view -wsetscrreg test: ncurses testcurs -wstandend test: xmas -wstandout test: xmas -wsyncdown lib: ncurses -wsyncup lib: form -wtimeout test: ncurses -wtouchln lib: ncurses -wunctrl - -wvline test: testcurs -wvline_set lib: ncurses - -libpanel: --------- -bottom_panel test: ncurses -del_panel test: ncurses -hide_panel test: ncurses -move_panel test: ncurses -new_panel test: cardfile ncurses -panel_above - -panel_below - -panel_hidden - -panel_userptr test: ncurses -panel_window test: cardfile ncurses -replace_panel - -set_panel_userptr test: ncurses -show_panel test: ncurses -top_panel test: cardfile ncurses -update_panels test: cardfile ncurses diff --git a/src/libs/ncurses/test/aclocal.m4 b/src/libs/ncurses/test/aclocal.m4 deleted file mode 100644 index 2d3d9ed960..0000000000 --- a/src/libs/ncurses/test/aclocal.m4 +++ /dev/null @@ -1,1190 +0,0 @@ -dnl $Id: aclocal.m4,v 1.8 2005/02/27 00:02:01 tom Exp $ -dnl --------------------------------------------------------------------------- -dnl --------------------------------------------------------------------------- -dnl CF_ADD_CFLAGS version: 7 updated: 2004/04/25 17:48:30 -dnl ------------- -dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS -dnl The second parameter if given makes this macro verbose. -dnl -dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS, -dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily -dnl confused by the quotes (which require backslashes to keep them usable). -AC_DEFUN([CF_ADD_CFLAGS], -[ -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $1 -do -case $cf_fix_cppflags in -no) - case $cf_add_cflags in #(vi - -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi - case $cf_add_cflags in - -D*) - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test $cf_fix_cppflags = yes ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - fi - ;; - esac - case "$CPPFLAGS" in - *$cf_add_cflags) #(vi - ;; - *) #(vi - cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" - ;; - esac - ;; - *) - cf_new_cflags="$cf_new_cflags $cf_add_cflags" - ;; - esac - ;; -yes) - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - ifelse($2,,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)]) - CFLAGS="$CFLAGS $cf_new_cflags" -fi - -if test -n "$cf_new_cppflags" ; then - ifelse($2,,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)]) - CPPFLAGS="$cf_new_cppflags $CPPFLAGS" -fi - -if test -n "$cf_new_extra_cppflags" ; then - ifelse($2,,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)]) - EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" -fi - -AC_SUBST(EXTRA_CPPFLAGS) - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ADD_INCDIR version: 4 updated: 2002/12/21 14:25:52 -dnl ------------- -dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's -dnl redundant. We don't normally need to add -I/usr/local/include for gcc, -dnl but old versions (and some misinstalled ones) need that. To make things -dnl worse, gcc 3.x gives error messages if -I/usr/local/include is added to -dnl the include-path). -AC_DEFUN([CF_ADD_INCDIR], -[ -for cf_add_incdir in $1 -do - while true - do - case $cf_add_incdir in - /usr/include) # (vi - ;; - /usr/local/include) # (vi - if test "$GCC" = yes - then - cf_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - AC_TRY_COMPILE([#include ], - [printf("Hello")], - [], - [CPPFLAGS="$cf_save_CPPFLAGS"]) - fi - ;; - *) # (vi - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - ;; - esac - cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - done -done -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34 -dnl ---------------- -dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES' -dnl in the sharutils 4.2 distribution. -AC_DEFUN([CF_ANSI_CC_CHECK], -[ -AC_CACHE_CHECK(for ${CC-cc} option to accept ANSI C, cf_cv_ansi_cc,[ -cf_cv_ansi_cc=no -cf_save_CFLAGS="$CFLAGS" -cf_save_CPPFLAGS="$CPPFLAGS" -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX -Aa -D_HPUX_SOURCE -# SVR4 -Xc -# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes) -for cf_arg in "-DCC_HAS_PROTOS" \ - "" \ - -qlanglvl=ansi \ - -std1 \ - -Ae \ - "-Aa -D_HPUX_SOURCE" \ - -Xc -do - CF_ADD_CFLAGS($cf_arg) - AC_TRY_COMPILE( -[ -#ifndef CC_HAS_PROTOS -#if !defined(__STDC__) || (__STDC__ != 1) -choke me -#endif -#endif -],[ - int test (int i, double x); - struct s1 {int (*f) (int a);}; - struct s2 {int (*f) (double a);};], - [cf_cv_ansi_cc="$cf_arg"; break]) -done -CFLAGS="$cf_save_CFLAGS" -CPPFLAGS="$cf_save_CPPFLAGS" -]) - -if test "$cf_cv_ansi_cc" != "no"; then -if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then - CF_ADD_CFLAGS($cf_cv_ansi_cc) -else - AC_DEFINE(CC_HAS_PROTOS) -fi -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ANSI_CC_REQD version: 3 updated: 1997/09/06 13:40:44 -dnl --------------- -dnl For programs that must use an ANSI compiler, obtain compiler options that -dnl will make it recognize prototypes. We'll do preprocessor checks in other -dnl macros, since tools such as unproto can fake prototypes, but only part of -dnl the preprocessor. -AC_DEFUN([CF_ANSI_CC_REQD], -[AC_REQUIRE([CF_ANSI_CC_CHECK]) -if test "$cf_cv_ansi_cc" = "no"; then - AC_ERROR( -[Your compiler does not appear to recognize prototypes. -You have the following choices: - a. adjust your compiler options - b. get an up-to-date compiler - c. use a wrapper such as unproto]) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CHECK_CACHE version: 10 updated: 2004/05/23 13:03:31 -dnl -------------- -dnl Check if we're accidentally using a cache from a different machine. -dnl Derive the system name, as a check for reusing the autoconf cache. -dnl -dnl If we've packaged config.guess and config.sub, run that (since it does a -dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow -dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM -dnl which is useful in cross-compiles. -dnl -dnl Note: we would use $ac_config_sub, but that is one of the places where -dnl autoconf 2.5x broke compatibility with autoconf 2.13 -AC_DEFUN([CF_CHECK_CACHE], -[ -if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then - ifelse([$1],,[AC_CANONICAL_HOST],[$1]) - system_name="$host_os" -else - system_name="`(uname -s -r) 2>/dev/null`" - if test -z "$system_name" ; then - system_name="`(hostname) 2>/dev/null`" - fi -fi -test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name") -AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"]) - -test -z "$system_name" && system_name="$cf_cv_system_name" -test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name) - -if test ".$system_name" != ".$cf_cv_system_name" ; then - AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)) - AC_ERROR("Please remove config.cache and try again.") -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_ACS_MAP version: 3 updated: 2003/05/17 22:19:02 -dnl ----------------- -dnl Check for likely values of acs_map[]: -AC_DEFUN([CF_CURSES_ACS_MAP], -[ -AC_CACHE_CHECK(for alternate character set array, cf_cv_curses_acs_map,[ -cf_cv_curses_acs_map=unknown -for name in acs_map _acs_map __acs_map _nc_acs_map -do -AC_TRY_LINK([ -#include <${cf_cv_ncurses_header-curses.h}> -],[ -$name['k'] = ACS_PLUS -],[cf_cv_curses_acs_map=$name; break]) -done -]) - -test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map) -]) -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_CHECK_TYPE version: 2 updated: 2003/03/01 23:40:33 -dnl -------------------- -dnl Check if curses.h defines the given type -AC_DEFUN([CF_CURSES_CHECK_TYPE], -[ -AC_MSG_CHECKING(for type $1 in ${cf_cv_ncurses_header-curses.h}) -AC_TRY_COMPILE([ -#ifndef _XOPEN_SOURCE_EXTENDED -#define _XOPEN_SOURCE_EXTENDED -#endif -#include <${cf_cv_ncurses_header-curses.h}>],[ -$1 foo -],cf_result=yes,cf_result=no) -AC_MSG_RESULT($cf_result) -if test $cf_result = yes ; then - CF_UPPER(cf_result,have_type_$1) - AC_DEFINE_UNQUOTED($cf_result) -else - AC_DEFINE_UNQUOTED($1,$2) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_CPPFLAGS version: 7 updated: 2003/06/06 00:48:41 -dnl ------------------ -dnl Look for the curses headers. -AC_DEFUN([CF_CURSES_CPPFLAGS],[ - -AC_CACHE_CHECK(for extra include directories,cf_cv_curses_incdir,[ -cf_cv_curses_incdir=no -case $host_os in #(vi -hpux10.*|hpux11.*) #(vi - test -d /usr/include/curses_colr && \ - cf_cv_curses_incdir="-I/usr/include/curses_colr" - ;; -sunos3*|sunos4*) - test -d /usr/5lib && \ - test -d /usr/5include && \ - cf_cv_curses_incdir="-I/usr/5include" - ;; -esac -]) -test "$cf_cv_curses_incdir" != no && CPPFLAGS="$cf_cv_curses_incdir $CPPFLAGS" - -AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[ -cf_cv_ncurses_header=none -for cf_header in \ - curses.h \ - ncurses.h \ - ncurses/curses.h \ - ncurses/ncurses.h -do -AC_TRY_COMPILE([#include <${cf_header}>], - [initscr(); tgoto("?", 0,0)], - [cf_cv_ncurses_header=$cf_header; break],[]) -done -]) - -if test "$cf_cv_ncurses_header" = none ; then - AC_MSG_ERROR(No curses header-files found) -fi - -# cheat, to get the right #define's for HAVE_NCURSES_H, etc. -AC_CHECK_HEADERS($cf_cv_ncurses_header) - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_LIBS version: 23 updated: 2003/11/06 19:59:57 -dnl -------------- -dnl Look for the curses libraries. Older curses implementations may require -dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first. -AC_DEFUN([CF_CURSES_LIBS],[ - -AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl -AC_MSG_CHECKING(if we have identified curses libraries) -AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], - [initscr(); tgoto("?", 0,0)], - cf_result=yes, - cf_result=no) -AC_MSG_RESULT($cf_result) - -if test "$cf_result" = no ; then -case $host_os in #(vi -freebsd*) #(vi - AC_CHECK_LIB(mytinfo,tgoto,[LIBS="-lmytinfo $LIBS"]) - ;; -hpux10.*|hpux11.*) #(vi - AC_CHECK_LIB(cur_colr,initscr,[ - LIBS="-lcur_colr $LIBS" - ac_cv_func_initscr=yes - ],[ - AC_CHECK_LIB(Hcurses,initscr,[ - # HP's header uses __HP_CURSES, but user claims _HP_CURSES. - LIBS="-lHcurses $LIBS" - CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS" - ac_cv_func_initscr=yes - ])]) - ;; -linux*) # Suse Linux does not follow /usr/lib convention - LIBS="$LIBS -L/lib" - ;; -sunos3*|sunos4*) - test -d /usr/5lib && \ - LIBS="$LIBS -L/usr/5lib -lcurses -ltermcap" - ac_cv_func_initscr=yes - ;; -esac - -if test ".$ac_cv_func_initscr" != .yes ; then - cf_save_LIBS="$LIBS" - cf_term_lib="" - cf_curs_lib="" - - if test ".${cf_cv_ncurses_version-no}" != .no - then - cf_check_list="ncurses curses cursesX" - else - cf_check_list="cursesX curses ncurses" - fi - - # Check for library containing tgoto. Do this before curses library - # because it may be needed to link the test-case for initscr. - AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[ - for cf_term_lib in $cf_check_list termcap termlib unknown - do - AC_CHECK_LIB($cf_term_lib,tgoto,[break]) - done - ]) - - # Check for library containing initscr - test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS" - for cf_curs_lib in $cf_check_list xcurses jcurses unknown - do - AC_CHECK_LIB($cf_curs_lib,initscr,[break]) - done - test $cf_curs_lib = unknown && AC_ERROR(no curses library found) - - LIBS="-l$cf_curs_lib $cf_save_LIBS" - if test "$cf_term_lib" = unknown ; then - AC_MSG_CHECKING(if we can link with $cf_curs_lib library) - AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], - [initscr()], - [cf_result=yes], - [cf_result=no]) - AC_MSG_RESULT($cf_result) - test $cf_result = no && AC_ERROR(Cannot link curses library) - elif test "$cf_curs_lib" = "$cf_term_lib" ; then - : - elif test "$cf_term_lib" != predefined ; then - AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries) - AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], - [initscr(); tgoto((char *)0, 0, 0);], - [cf_result=no], - [ - LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS" - AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], - [initscr()], - [cf_result=yes], - [cf_result=error]) - ]) - AC_MSG_RESULT($cf_result) - fi -fi -fi - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_WACS_MAP version: 3 updated: 2003/05/17 22:19:02 -dnl ------------------ -dnl Check for likely values of wacs_map[]: -AC_DEFUN([CF_CURSES_WACS_MAP], -[ -AC_CACHE_CHECK(for wide alternate character set array, cf_cv_curses_wacs_map,[ - cf_cv_curses_wacs_map=unknown - for name in wacs_map _wacs_map __wacs_map _nc_wacs - do - AC_TRY_LINK([ -#ifndef _XOPEN_SOURCE_EXTENDED -#define _XOPEN_SOURCE_EXTENDED -#endif -#include <${cf_cv_ncurses_header-curses.h}>], - [$name['k'] = *WACS_PLUS], - [cf_cv_curses_wacs_map=$name - break]) - done]) -]) -dnl --------------------------------------------------------------------------- -dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52 -dnl ---------- -dnl "dirname" is not portable, so we fake it with a shell script. -AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl -dnl --------------------------------------------------------------------------- -dnl CF_FIND_LIBRARY version: 8 updated: 2004/11/23 20:14:58 -dnl --------------- -dnl Look for a non-standard library, given parameters for AC_TRY_LINK. We -dnl prefer a standard location, and use -L options only if we do not find the -dnl library in the standard library location(s). -dnl $1 = library name -dnl $2 = library class, usually the same as library name -dnl $3 = includes -dnl $4 = code fragment to compile/link -dnl $5 = corresponding function-name -dnl $6 = flag, nonnull if failure should not cause an error-exit -dnl -dnl Sets the variable "$cf_libdir" as a side-effect, so we can see if we had -dnl to use a -L option. -AC_DEFUN([CF_FIND_LIBRARY], -[ - eval 'cf_cv_have_lib_'$1'=no' - cf_libdir="" - AC_CHECK_FUNC($5, - eval 'cf_cv_have_lib_'$1'=yes',[ - cf_save_LIBS="$LIBS" - AC_MSG_CHECKING(for $5 in -l$1) - LIBS="-l$1 $LIBS" - AC_TRY_LINK([$3],[$4], - [AC_MSG_RESULT(yes) - eval 'cf_cv_have_lib_'$1'=yes' - ], - [AC_MSG_RESULT(no) - CF_LIBRARY_PATH(cf_search,$2) - for cf_libdir in $cf_search - do - AC_MSG_CHECKING(for -l$1 in $cf_libdir) - LIBS="-L$cf_libdir -l$1 $cf_save_LIBS" - AC_TRY_LINK([$3],[$4], - [AC_MSG_RESULT(yes) - eval 'cf_cv_have_lib_'$1'=yes' - break], - [AC_MSG_RESULT(no) - LIBS="$cf_save_LIBS"]) - done - ]) - ]) -eval 'cf_found_library=[$]cf_cv_have_lib_'$1 -ifelse($6,,[ -if test $cf_found_library = no ; then - AC_ERROR(Cannot link $1 library) -fi -]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_FUNC_CURSES_VERSION version: 3 updated: 2003/05/17 22:19:02 -dnl ---------------------- -dnl Solaris has a data item 'curses_version', which confuses AC_CHECK_FUNCS. -dnl It's a character string "SVR4", not documented. -AC_DEFUN([CF_FUNC_CURSES_VERSION], -[ -AC_CACHE_CHECK(for function curses_version, cf_cv_func_curses_version,[ -AC_TRY_RUN([ -#include <${cf_cv_ncurses_header-curses.h}> -int main() -{ - char temp[1024]; - sprintf(temp, "%s\n", curses_version()); - exit(0); -}] -,[cf_cv_func_curses_version=yes] -,[cf_cv_func_curses_version=no] -,[cf_cv_func_curses_version=unknown]) -rm -f core]) -test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION) -]) -dnl --------------------------------------------------------------------------- -dnl CF_GNU_SOURCE version: 4 updated: 2004/12/03 20:43:00 -dnl ------------- -dnl Check if we must define _GNU_SOURCE to get a reasonable value for -dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect -dnl (or misfeature) of glibc2, which breaks portability of many applications, -dnl since it is interwoven with GNU extensions. -dnl -dnl Well, yes we could work around it... -AC_DEFUN([CF_GNU_SOURCE], -[ -AC_REQUIRE([CF_INTEL_COMPILER]) - -if test "$INTEL_COMPILER" = no ; then -AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[ -AC_TRY_COMPILE([#include ],[ -#ifndef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_gnu_source=no], - [cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" - AC_TRY_COMPILE([#include ],[ -#ifdef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_gnu_source=no], - [cf_cv_gnu_source=yes]) - CPPFLAGS="$cf_save" - ]) -]) -test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_HEADER_PATH version: 8 updated: 2002/11/10 14:46:59 -dnl -------------- -dnl Construct a search-list for a nonstandard header-file -AC_DEFUN([CF_HEADER_PATH], -[CF_SUBDIR_PATH($1,$2,include) -test "$includedir" != NONE && \ -test "$includedir" != "/usr/include" && \ -test -d "$includedir" && { - test -d $includedir && $1="[$]$1 $includedir" - test -d $includedir/$2 && $1="[$]$1 $includedir/$2" -} - -test "$oldincludedir" != NONE && \ -test "$oldincludedir" != "/usr/include" && \ -test -d "$oldincludedir" && { - test -d $oldincludedir && $1="[$]$1 $oldincludedir" - test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2" -} - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_INHERIT_SCRIPT version: 2 updated: 2003/03/01 23:50:42 -dnl ----------------- -dnl If we do not have a given script, look for it in the parent directory. -AC_DEFUN([CF_INHERIT_SCRIPT], -[ -test -f $1 || ( test -f ../$1 && cp ../$1 ./ ) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_INTEL_COMPILER version: 1 updated: 2004/12/03 20:27:48 -dnl ----------------- -dnl Check if the given compiler is really the Intel compiler for Linux. -dnl It tries to imitate gcc, but does not return an error when it finds a -dnl mismatch between prototypes, e.g., as exercised by CF_MISSING_CHECK. -dnl -dnl This macro should be run "soon" after AC_PROG_CC, to ensure that it is -dnl not mistaken for gcc. -AC_DEFUN([CF_INTEL_COMPILER],[ -AC_REQUIRE([AC_PROG_CC]) - -INTEL_COMPILER=no - -if test "$GCC" = yes ; then - case $host_os in - linux*|gnu*) - AC_MSG_CHECKING(if this is really Intel compiler) - cf_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -no-gcc" - AC_TRY_COMPILE([],[ -#ifdef __INTEL_COMPILER -#else -make an error -#endif -],[INTEL_COMPILER=yes -cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc" -],[]) - CFLAGS="$cf_save_CFLAGS" - AC_MSG_RESULT($INTEL_COMPILER) - ;; - esac -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_LIBRARY_PATH version: 7 updated: 2002/11/10 14:46:59 -dnl --------------- -dnl Construct a search-list for a nonstandard library-file -AC_DEFUN([CF_LIBRARY_PATH], -[CF_SUBDIR_PATH($1,$2,lib)])dnl -dnl --------------------------------------------------------------------------- -dnl CF_MSG_LOG version: 3 updated: 1997/09/07 14:05:52 -dnl ---------- -dnl Write a debug message to config.log, along with the line number in the -dnl configure script. -AC_DEFUN([CF_MSG_LOG],[ -echo "(line __oline__) testing $* ..." 1>&AC_FD_CC -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_CC_CHECK version: 3 updated: 2003/01/12 18:59:28 -dnl ------------------- -dnl Check if we can compile with ncurses' header file -dnl $1 is the cache variable to set -dnl $2 is the header-file to include -dnl $3 is the root name (ncurses or ncursesw) -AC_DEFUN([CF_NCURSES_CC_CHECK],[ - AC_TRY_COMPILE([ -]ifelse($3,ncursesw,[ -#define _XOPEN_SOURCE_EXTENDED -#undef HAVE_LIBUTF8_H /* in case we used CF_UTF8_LIB */ -#define HAVE_LIBUTF8_H /* to force ncurses' header file to use cchar_t */ -])[ -#include <$2>],[ -#ifdef NCURSES_VERSION -]ifelse($3,ncursesw,[ -#ifndef WACS_BSSB - make an error -#endif -])[ -printf("%s\n", NCURSES_VERSION); -#else -#ifdef __NCURSES_H -printf("old\n"); -#else - make an error -#endif -#endif - ] - ,[$1=$cf_header] - ,[$1=no]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_CPPFLAGS version: 17 updated: 2003/11/06 19:59:57 -dnl ------------------- -dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting -dnl the CPPFLAGS variable so we can include its header. -dnl -dnl The header files may be installed as either curses.h, or ncurses.h (would -dnl be obsolete, except that some packagers prefer this name to distinguish it -dnl from a "native" curses implementation). If not installed for overwrite, -dnl the curses.h file would be in an ncurses subdirectory (e.g., -dnl /usr/include/ncurses), but someone may have installed overwriting the -dnl vendor's curses. Only very old versions (pre-1.9.2d, the first autoconf'd -dnl version) of ncurses don't define either __NCURSES_H or NCURSES_VERSION in -dnl the header. -dnl -dnl If the installer has set $CFLAGS or $CPPFLAGS so that the ncurses header -dnl is already in the include-path, don't even bother with this, since we cannot -dnl easily determine which file it is. In this case, it has to be . -dnl -dnl The optional parameter gives the root name of the library, in case it is -dnl not installed as the default curses library. That is how the -dnl wide-character version of ncurses is installed. -AC_DEFUN([CF_NCURSES_CPPFLAGS], -[AC_REQUIRE([CF_WITH_CURSES_DIR]) - -AC_PROVIDE([CF_CURSES_CPPFLAGS])dnl -cf_ncuhdr_root=ifelse($1,,ncurses,$1) - -test -n "$cf_cv_curses_dir" && \ -test "$cf_cv_curses_dir" != "no" && \ -CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS" - -AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[ - cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h" - ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h" - for cf_header in $cf_header_list - do - CF_NCURSES_CC_CHECK(cf_cv_ncurses_h,$cf_header,$1) - test "$cf_cv_ncurses_h" != no && break - done -]) - -if test "$cf_cv_ncurses_h" != no ; then - cf_cv_ncurses_header=$cf_cv_ncurses_h -else -AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[ - test -n "$verbose" && echo - CF_HEADER_PATH(cf_search,$cf_ncuhdr_root) - test -n "$verbose" && echo search path $cf_search - cf_save2_CPPFLAGS="$CPPFLAGS" - for cf_incdir in $cf_search - do - CF_ADD_INCDIR($cf_incdir) - for cf_header in \ - ncurses.h \ - curses.h - do - CF_NCURSES_CC_CHECK(cf_cv_ncurses_h2,$cf_header,$1) - if test "$cf_cv_ncurses_h2" != no ; then - cf_cv_ncurses_h2=$cf_incdir/$cf_header - test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&AC_FD_MSG - break - fi - test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&AC_FD_MSG - done - CPPFLAGS="$cf_save2_CPPFLAGS" - test "$cf_cv_ncurses_h2" != no && break - done - test "$cf_cv_ncurses_h2" = no && AC_ERROR(not found) - ]) - - CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2) - cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2` - if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then - cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header - fi - CF_ADD_INCDIR($cf_1st_incdir) - -fi - -AC_DEFINE(NCURSES) - -case $cf_cv_ncurses_header in # (vi -*ncurses.h) - AC_DEFINE(HAVE_NCURSES_H) - ;; -esac - -case $cf_cv_ncurses_header in # (vi -ncurses/curses.h|ncurses/ncurses.h) - AC_DEFINE(HAVE_NCURSES_NCURSES_H) - ;; -ncursesw/curses.h|ncursesw/ncurses.h) - AC_DEFINE(HAVE_NCURSESW_NCURSES_H) - ;; -esac - -CF_NCURSES_VERSION -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_LIBS version: 12 updated: 2004/04/27 16:26:05 -dnl --------------- -dnl Look for the ncurses library. This is a little complicated on Linux, -dnl because it may be linked with the gpm (general purpose mouse) library. -dnl Some distributions have gpm linked with (bsd) curses, which makes it -dnl unusable with ncurses. However, we don't want to link with gpm unless -dnl ncurses has a dependency, since gpm is normally set up as a shared library, -dnl and the linker will record a dependency. -dnl -dnl The optional parameter gives the root name of the library, in case it is -dnl not installed as the default curses library. That is how the -dnl wide-character version of ncurses is installed. -AC_DEFUN([CF_NCURSES_LIBS], -[AC_REQUIRE([CF_NCURSES_CPPFLAGS]) - -cf_nculib_root=ifelse($1,,ncurses,$1) - # This works, except for the special case where we find gpm, but - # ncurses is in a nonstandard location via $LIBS, and we really want - # to link gpm. -cf_ncurses_LIBS="" -cf_ncurses_SAVE="$LIBS" -AC_CHECK_LIB(gpm,Gpm_Open, - [AC_CHECK_LIB(gpm,initscr, - [LIBS="$cf_ncurses_SAVE"], - [cf_ncurses_LIBS="-lgpm"])]) - -case $host_os in #(vi -freebsd*) - # This is only necessary if you are linking against an obsolete - # version of ncurses (but it should do no harm, since it's static). - if test "$cf_nculib_root" = ncurses ; then - AC_CHECK_LIB(mytinfo,tgoto,[cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"]) - fi - ;; -esac - -LIBS="$cf_ncurses_LIBS $LIBS" - -if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" ) -then - LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS" -else - CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root, - [#include <${cf_cv_ncurses_header-curses.h}>], - [initscr()], - initscr) -fi - -if test -n "$cf_ncurses_LIBS" ; then - AC_MSG_CHECKING(if we can link $cf_nculib_root without $cf_ncurses_LIBS) - cf_ncurses_SAVE="$LIBS" - for p in $cf_ncurses_LIBS ; do - q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"` - if test "$q" != "$LIBS" ; then - LIBS="$q" - fi - done - AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], - [initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);], - [AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no) - LIBS="$cf_ncurses_SAVE"]) -fi - -CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root) -AC_DEFINE_UNQUOTED($cf_nculib_ROOT) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_VERSION version: 11 updated: 2003/11/06 19:59:57 -dnl ------------------ -dnl Check for the version of ncurses, to aid in reporting bugs, etc. -dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use -dnl AC_REQUIRE since that does not work with the shell's if/then/else/fi. -AC_DEFUN([CF_NCURSES_VERSION], -[ -AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl -AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[ - cf_cv_ncurses_version=no - cf_tempfile=out$$ - rm -f $cf_tempfile - AC_TRY_RUN([ -#include <${cf_cv_ncurses_header-curses.h}> -#include -int main() -{ - FILE *fp = fopen("$cf_tempfile", "w"); -#ifdef NCURSES_VERSION -# ifdef NCURSES_VERSION_PATCH - fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); -# else - fprintf(fp, "%s\n", NCURSES_VERSION); -# endif -#else -# ifdef __NCURSES_H - fprintf(fp, "old\n"); -# else - make an error -# endif -#endif - exit(0); -}],[ - cf_cv_ncurses_version=`cat $cf_tempfile`],,[ - - # This will not work if the preprocessor splits the line after the - # Autoconf token. The 'unproto' program does that. - cat > conftest.$ac_ext < -#undef Autoconf -#ifdef NCURSES_VERSION -Autoconf NCURSES_VERSION -#else -#ifdef __NCURSES_H -Autoconf "old" -#endif -; -#endif -EOF - cf_try="$ac_cpp conftest.$ac_ext 2>&AC_FD_CC | grep '^Autoconf ' >conftest.out" - AC_TRY_EVAL(cf_try) - if test -f conftest.out ; then - cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[[^"]]*"%%' -e 's%".*%%'` - test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" - rm -f conftest.out - fi -]) - rm -f $cf_tempfile -]) -test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PATH_SYNTAX version: 9 updated: 2002/09/17 23:03:38 -dnl -------------- -dnl Check the argument to see that it looks like a pathname. Rewrite it if it -dnl begins with one of the prefix/exec_prefix variables, and then again if the -dnl result begins with 'NONE'. This is necessary to work around autoconf's -dnl delayed evaluation of those symbols. -AC_DEFUN([CF_PATH_SYNTAX],[ -case ".[$]$1" in #(vi -.\[$]\(*\)*|.\'*\'*) #(vi - ;; -..|./*|.\\*) #(vi - ;; -.[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX - ;; -.\[$]{*prefix}*) #(vi - eval $1="[$]$1" - case ".[$]$1" in #(vi - .NONE/*) - $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%` - ;; - esac - ;; #(vi -.NONE/*) - $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%` - ;; -*) - ifelse($2,,[AC_ERROR([expected a pathname, not \"[$]$1\"])],$2) - ;; -esac -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_POSIX_C_SOURCE version: 3 updated: 2005/02/04 06:56:22 -dnl ----------------- -dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed. -dnl -dnl POSIX.1-1990 _POSIX_SOURCE -dnl POSIX.1-1990 and _POSIX_SOURCE and -dnl POSIX.2-1992 C-Language _POSIX_C_SOURCE=2 -dnl Bindings Option -dnl POSIX.1b-1993 _POSIX_C_SOURCE=199309L -dnl POSIX.1c-1996 _POSIX_C_SOURCE=199506L -dnl X/Open 2000 _POSIX_C_SOURCE=200112L -dnl -dnl Parameters: -dnl $1 is the nominal value for _POSIX_C_SOURCE -AC_DEFUN([CF_POSIX_C_SOURCE], -[ -cf_POSIX_C_SOURCE=ifelse($1,,199506L,$1) -AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[ - CF_MSG_LOG(if the symbol is already defined go no further) - AC_TRY_COMPILE([#include ],[ -#ifndef _POSIX_C_SOURCE -make an error -#endif], - [cf_cv_posix_c_source=no], - [cf_want_posix_source=no - case .$cf_POSIX_C_SOURCE in - .[[12]]??*) - cf_cv_posix_c_source="-U_POSIX_C_SOURCE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" - ;; - .2) - cf_cv_posix_c_source="-U_POSIX_C_SOURCE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" - cf_want_posix_source=yes - ;; - .*) - cf_want_posix_source=yes - ;; - esac - if test "$cf_want_posix_source" = yes ; then - AC_TRY_COMPILE([#include ],[ -#ifdef _POSIX_SOURCE -make an error -#endif],[], - cf_cv_posix_c_source="$cf_cv_posix_c_source -U_POSIX_SOURCE -D_POSIX_SOURCE") - fi - CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE) - cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $cf_cv_posix_c_source" - CF_MSG_LOG(if the second compile does not leave our definition intact error) - AC_TRY_COMPILE([#include ],[ -#ifndef _POSIX_C_SOURCE -make an error -#endif],, - [cf_cv_posix_c_source=no]) - CPPFLAGS="$cf_save" - ]) -]) -test "$cf_cv_posix_c_source" != no && CPPFLAGS="$CPPFLAGS $cf_cv_posix_c_source" -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_SUBDIR_PATH version: 3 updated: 2002/12/29 18:30:46 -dnl -------------- -dnl Construct a search-list for a nonstandard header/lib-file -dnl $1 = the variable to return as result -dnl $2 = the package name -dnl $3 = the subdirectory, e.g., bin, include or lib -AC_DEFUN([CF_SUBDIR_PATH], -[$1="" - -test -d [$]HOME && { - test -n "$verbose" && echo " ... testing $3-directories under [$]HOME" - test -d [$]HOME/$3 && $1="[$]$1 [$]HOME/$3" - test -d [$]HOME/$3/$2 && $1="[$]$1 [$]HOME/$3/$2" - test -d [$]HOME/$3/$2/$3 && $1="[$]$1 [$]HOME/$3/$2/$3" -} - -# For other stuff under the home directory, it should be sufficient to put -# a symbolic link for $HOME/$2 to the actual package location: -test -d [$]HOME/$2 && { - test -n "$verbose" && echo " ... testing $3-directories under [$]HOME/$2" - test -d [$]HOME/$2/$3 && $1="[$]$1 [$]HOME/$2/$3" - test -d [$]HOME/$2/$3/$2 && $1="[$]$1 [$]HOME/$2/$3/$2" -} - -test "$prefix" != /usr/local && \ -test -d /usr/local && { - test -n "$verbose" && echo " ... testing $3-directories under /usr/local" - test -d /usr/local/$3 && $1="[$]$1 /usr/local/$3" - test -d /usr/local/$3/$2 && $1="[$]$1 /usr/local/$3/$2" - test -d /usr/local/$3/$2/$3 && $1="[$]$1 /usr/local/$3/$2/$3" - test -d /usr/local/$2/$3 && $1="[$]$1 /usr/local/$2/$3" - test -d /usr/local/$2/$3/$2 && $1="[$]$1 /usr/local/$2/$3/$2" -} - -test "$prefix" != NONE && \ -test -d $prefix && { - test -n "$verbose" && echo " ... testing $3-directories under $prefix" - test -d $prefix/$3 && $1="[$]$1 $prefix/$3" - test -d $prefix/$3/$2 && $1="[$]$1 $prefix/$3/$2" - test -d $prefix/$3/$2/$3 && $1="[$]$1 $prefix/$3/$2/$3" - test -d $prefix/$2/$3 && $1="[$]$1 $prefix/$2/$3" - test -d $prefix/$2/$3/$2 && $1="[$]$1 $prefix/$2/$3/$2" -} - -test "$prefix" != /opt && \ -test -d /opt && { - test -n "$verbose" && echo " ... testing $3-directories under /opt" - test -d /opt/$3 && $1="[$]$1 /opt/$3" - test -d /opt/$3/$2 && $1="[$]$1 /opt/$3/$2" - test -d /opt/$3/$2/$3 && $1="[$]$1 /opt/$3/$2/$3" - test -d /opt/$2/$3 && $1="[$]$1 /opt/$2/$3" - test -d /opt/$2/$3/$2 && $1="[$]$1 /opt/$2/$3/$2" -} - -test "$prefix" != /usr && \ -test -d /usr && { - test -n "$verbose" && echo " ... testing $3-directories under /usr" - test -d /usr/$3 && $1="[$]$1 /usr/$3" - test -d /usr/$3/$2 && $1="[$]$1 /usr/$3/$2" - test -d /usr/$3/$2/$3 && $1="[$]$1 /usr/$3/$2/$3" - test -d /usr/$2/$3 && $1="[$]$1 /usr/$2/$3" -} -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40 -dnl ------------------ -dnl Check if we can include with ; this breaks on -dnl older SCO configurations. -AC_DEFUN([CF_SYS_TIME_SELECT], -[ -AC_MSG_CHECKING(if sys/time.h works with sys/select.h) -AC_CACHE_VAL(cf_cv_sys_time_select,[ -AC_TRY_COMPILE([ -#include -#ifdef HAVE_SYS_TIME_H -#include -#endif -#ifdef HAVE_SYS_SELECT_H -#include -#endif -],[],[cf_cv_sys_time_select=yes], - [cf_cv_sys_time_select=no]) - ]) -AC_MSG_RESULT($cf_cv_sys_time_select) -test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59 -dnl -------- -dnl Make an uppercase version of a variable -dnl $1=uppercase($2) -AC_DEFUN([CF_UPPER], -[ -$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_UTF8_LIB version: 4 updated: 2003/03/01 18:36:42 -dnl ----------- -dnl Check for multibyte support, and if not found, utf8 compatibility library -AC_DEFUN([CF_UTF8_LIB], -[ -AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[ - cf_save_LIBS="$LIBS" - AC_TRY_LINK([ -#include ],[putwc(0,0);], - [cf_cv_utf8_lib=yes], - [LIBS="-lutf8 $LIBS" - AC_TRY_LINK([ -#include ],[putwc(0,0);], - [cf_cv_utf8_lib=add-on], - [cf_cv_utf8_lib=no]) - LIBS="$cf_save_LIBS" -])]) - -# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between -# ncurses/ncursesw: -if test "$cf_cv_utf8_lib" = "add-on" ; then - AC_DEFINE(HAVE_LIBUTF8_H) - LIBS="-lutf8 $LIBS" -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14 -dnl ---------- -dnl Use AC_VERBOSE w/o the warnings -AC_DEFUN([CF_VERBOSE], -[test -n "$verbose" && echo " $1" 1>&AC_FD_MSG -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_CURSES_DIR version: 2 updated: 2002/11/10 14:46:59 -dnl ------------------ -dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses -dnl libraries. -AC_DEFUN([CF_WITH_CURSES_DIR],[ -AC_ARG_WITH(curses-dir, - [ --with-curses-dir=DIR directory in which (n)curses is installed], - [CF_PATH_SYNTAX(withval) - cf_cv_curses_dir=$withval], - [cf_cv_curses_dir=no]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 17 updated: 2005/02/06 12:07:45 -dnl --------------- -dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, -dnl or adapt to the vendor's definitions to get equivalent functionality. -dnl -dnl Parameters: -dnl $1 is the nominal value for _XOPEN_SOURCE -dnl $2 is the nominal value for _POSIX_C_SOURCE -AC_DEFUN([CF_XOPEN_SOURCE],[ - -cf_XOPEN_SOURCE=ifelse($1,,500,$1) -cf_POSIX_C_SOURCE=ifelse($2,,199506L,$2) - -case $host_os in #(vi -aix[[45]]*) #(vi - CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE" - ;; -freebsd*) #(vi - # 5.x headers associate - # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L - # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L - cf_POSIX_C_SOURCE=200112L - cf_XOPEN_SOURCE=600 - CPPFLAGS="$CPPFLAGS -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - ;; -hpux*) #(vi - CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE" - ;; -irix[[56]].*) #(vi - CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE" - ;; -linux*|gnu*) #(vi - CF_GNU_SOURCE - ;; -mirbsd*) #(vi - # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks - ;; -netbsd*) #(vi - # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw - ;; -openbsd*) #(vi - # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw - ;; -osf[[45]]*) #(vi - CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE" - ;; -sco*) #(vi - # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer - ;; -solaris*) #(vi - CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__" - ;; -*) - AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ - AC_TRY_COMPILE([#include ],[ -#ifndef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - AC_TRY_COMPILE([#include ],[ -#ifdef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) - CPPFLAGS="$cf_save" - ]) -]) -test "$cf_cv_xopen_source" != no && CPPFLAGS="$CPPFLAGS -U_XOPEN_SOURCE -D_XOPEN_SOURCE=$cf_cv_xopen_source" - CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) - ;; -esac -]) diff --git a/src/libs/ncurses/test/background.c b/src/libs/ncurses/test/background.c deleted file mode 100644 index 7b1d22746c..0000000000 --- a/src/libs/ncurses/test/background.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - * $Id: background.c,v 1.1 2003/12/07 00:06:33 tom Exp $ - */ - -#include - -int -main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) -{ - short f, b; - - initscr(); - cbreak(); - noecho(); - - if (has_colors()) { - start_color(); - - pair_content(0, &f, &b); - printw("pair 0 contains (%d,%d)\n", f, b); - getch(); - - printw("Initializing pair 1 to red/black\n"); - init_pair(1, COLOR_RED, COLOR_BLACK); - bkgdset(' ' | COLOR_PAIR(1)); - printw("RED/BLACK\n"); - getch(); - - printw("Initializing pair 2 to white/blue\n"); - init_pair(2, COLOR_WHITE, COLOR_BLUE); - bkgdset(' ' | COLOR_PAIR(2)); - printw("WHITE/BLUE\n"); - getch(); - - printw("Resetting colors to pair 0\n"); - bkgdset(' ' | COLOR_PAIR(0)); - printw("Default Colors\n"); - getch(); - - printw("Resetting colors to pair 1\n"); - bkgdset(' ' | COLOR_PAIR(1)); - printw("RED/BLACK\n"); - getch(); - - printw("Setting screen to pair 0\n"); - bkgd(' ' | COLOR_PAIR(0)); - getch(); - - printw("Setting screen to pair 1\n"); - bkgd(' ' | COLOR_PAIR(1)); - getch(); - - printw("Setting screen to pair 2\n"); - bkgd(' ' | COLOR_PAIR(2)); - getch(); - - printw("Setting screen to pair 0\n"); - bkgd(' ' | COLOR_PAIR(0)); - getch(); - - } else { - printw("This demo requires a color terminal"); - getch(); - } - endwin(); - - ExitProgram(EXIT_SUCCESS); -} diff --git a/src/libs/ncurses/test/blue.c b/src/libs/ncurses/test/blue.c deleted file mode 100644 index 9cdb91259c..0000000000 --- a/src/libs/ncurses/test/blue.c +++ /dev/null @@ -1,432 +0,0 @@ -/***************************************************************************** - * * - * B l u e M o o n * - * ================= * - * V2.2 * - * A patience game by T.A.Lister * - * Integral screen support by Eric S. Raymond * - * * - *****************************************************************************/ - -/* - * Compile this with the command `cc -O blue.c -lcurses -o blue'. For best - * results, use the ncurses(3) library. On non-Intel machines, SVr4 curses is - * just as good. - * - * $Id: blue.c,v 1.25 2005/05/28 21:38:03 tom Exp $ - */ - -#include - -#include - -#define NOCARD (-1) - -#define ACE 0 -#define KING 12 -#define SUIT_LENGTH 13 - -#define HEARTS 0 -#define SPADES 1 -#define DIAMONDS 2 -#define CLUBS 3 -#define NSUITS 4 - -#define GRID_WIDTH 14 /* 13+1 */ -#define GRID_LENGTH 56 /* 4*(13+1) */ -#define PACK_SIZE 52 - -#define BASEROW 1 -#define PROMPTROW 11 - -#define RED_ON_WHITE 1 -#define BLACK_ON_WHITE 2 -#define BLUE_ON_WHITE 3 - -static RETSIGTYPE die(int onsig) GCC_NORETURN; - -static int deck_size = PACK_SIZE; /* initial deck */ -static int deck[PACK_SIZE]; - -static int grid[GRID_LENGTH]; /* card layout grid */ -static int freeptr[4]; /* free card space pointers */ - -static int deal_number = 0; - -static chtype ranks[SUIT_LENGTH][2] = -{ - {' ', 'A'}, - {' ', '2'}, - {' ', '3'}, - {' ', '4'}, - {' ', '5'}, - {' ', '6'}, - {' ', '7'}, - {' ', '8'}, - {' ', '9'}, - {'1', '0'}, - {' ', 'J'}, - {' ', 'Q'}, - {' ', 'K'} -}; - -/* Please note, that this is a bad example. - Color values should not be or'ed in. This - only works, because the characters used here - are plain and have no color attribute themselves. */ -#ifdef COLOR_PAIR -#define OR_COLORS(value,pair) ((value) | COLOR_PAIR(pair)) -#else -#define OR_COLORS(value,pair) (value) -#endif - -#define PC_COLORS(value,pair) (OR_COLORS(value,pair) | A_ALTCHARSET) - -static chtype letters[4] = -{ - OR_COLORS('h', RED_ON_WHITE), /* hearts */ - OR_COLORS('s', BLACK_ON_WHITE), /* spades */ - OR_COLORS('d', RED_ON_WHITE), /* diamonds */ - OR_COLORS('c', BLACK_ON_WHITE), /* clubs */ -}; - -#if defined(__i386__) -static chtype glyphs[] = -{ - PC_COLORS('\003', RED_ON_WHITE), /* hearts */ - PC_COLORS('\006', BLACK_ON_WHITE), /* spades */ - PC_COLORS('\004', RED_ON_WHITE), /* diamonds */ - PC_COLORS('\005', BLACK_ON_WHITE), /* clubs */ -}; -#endif /* __i386__ */ - -static chtype *suits = letters; /* this may change to glyphs below */ - -static RETSIGTYPE -die(int onsig) -{ - (void) signal(onsig, SIG_IGN); - endwin(); - ExitProgram(EXIT_SUCCESS); -} - -static void -init_vars(void) -{ - int i; - - deck_size = PACK_SIZE; - for (i = 0; i < PACK_SIZE; i++) - deck[i] = i; - for (i = 0; i < 4; i++) - freeptr[i] = i * GRID_WIDTH; -} - -static void -shuffle(int size) -{ - int i, j, numswaps, swapnum, temp; - - numswaps = size * 10; /* an arbitrary figure */ - - for (swapnum = 0; swapnum < numswaps; swapnum++) { - i = rand() % size; - j = rand() % size; - temp = deck[i]; - deck[i] = deck[j]; - deck[j] = temp; - } -} - -static void -deal_cards(void) -{ - int ptr, card = 0, value, csuit, crank, suit, aces[4]; - - for (suit = HEARTS; suit <= CLUBS; suit++) { - ptr = freeptr[suit]; - grid[ptr++] = NOCARD; /* 1st card space is blank */ - while ((ptr % GRID_WIDTH) != 0) { - value = deck[card++]; - crank = value % SUIT_LENGTH; - csuit = value / SUIT_LENGTH; - if (crank == ACE) - aces[csuit] = ptr; - grid[ptr++] = value; - } - } - - if (deal_number == 1) /* shift the aces down to the 1st column */ - for (suit = HEARTS; suit <= CLUBS; suit++) { - grid[suit * GRID_WIDTH] = suit * SUIT_LENGTH; - grid[aces[suit]] = NOCARD; - freeptr[suit] = aces[suit]; - } -} - -static void -printcard(int value) -{ - (void) addch(' '); - if (value == NOCARD) - (void) addstr(" "); - else { - addch(ranks[value % SUIT_LENGTH][0] | COLOR_PAIR(BLUE_ON_WHITE)); - addch(ranks[value % SUIT_LENGTH][1] | COLOR_PAIR(BLUE_ON_WHITE)); - addch(suits[value / SUIT_LENGTH]); - } - (void) addch(' '); -} - -static void -display_cards(int deal) -{ - int row, card; - - clear(); - (void) printw( - "Blue Moon 2.1 - by Tim Lister & Eric Raymond - Deal %d.\n", - deal); - for (row = HEARTS; row <= CLUBS; row++) { - move(BASEROW + row + row + 2, 1); - for (card = 0; card < GRID_WIDTH; card++) - printcard(grid[row * GRID_WIDTH + card]); - } - - move(PROMPTROW + 2, 0); - refresh(); -#define P(x) (void)printw("%s\n", x) - P(" This 52-card solitaire starts with the entire deck shuffled and dealt"); - P("out in four rows. The aces are then moved to the left end of the layout,"); - P("making 4 initial free spaces. You may move to a space only the card that"); - P("matches the left neighbor in suit, and is one greater in rank. Kings are"); - P("high, so no cards may be placed to their right (they create dead spaces)."); - P(" When no moves can be made, cards still out of sequence are reshuffled"); - P("and dealt face up after the ends of the partial sequences, leaving a card"); - P("space after each sequence, so that each row looks like a partial sequence"); - P("followed by a space, followed by enough cards to make a row of 14. "); - P(" A moment's reflection will show that this game cannot take more than 13"); - P("deals. A good score is 1-3 deals, 4-7 is average, 8 or more is poor. "); -#undef P - refresh(); -} - -static int -find(int card) -{ - int i; - - if ((card < 0) || (card >= PACK_SIZE)) - return (NOCARD); - for (i = 0; i < GRID_LENGTH; i++) - if (grid[i] == card) - return i; - return (NOCARD); -} - -static void -movecard(int src, int dst) -{ - grid[dst] = grid[src]; - grid[src] = NOCARD; - - move(BASEROW + (dst / GRID_WIDTH) * 2 + 2, (dst % GRID_WIDTH) * 5 + 1); - printcard(grid[dst]); - - move(BASEROW + (src / GRID_WIDTH) * 2 + 2, (src % GRID_WIDTH) * 5 + 1); - printcard(grid[src]); - - refresh(); -} - -static void -play_game(void) -{ - int dead = 0, i, j; - char c; - int selection[4], card; - - while (dead < 4) { - dead = 0; - for (i = 0; i < 4; i++) { - card = grid[freeptr[i] - 1]; - - if (((card % SUIT_LENGTH) == KING) - || - (card == NOCARD)) - selection[i] = NOCARD; - else - selection[i] = find(card + 1); - - if (selection[i] == NOCARD) - dead++; - }; - - if (dead < 4) { - char live[NSUITS + 1], *lp = live; - - for (i = 0; i < 4; i++) { - if (selection[i] != NOCARD) { - move(BASEROW + (selection[i] / GRID_WIDTH) * 2 + 3, - (selection[i] % GRID_WIDTH) * 5); - (void) printw(" %c ", *lp++ = 'a' + i); - } - }; - *lp = '\0'; - - if (strlen(live) == 1) { - move(PROMPTROW, 0); - (void) printw( - "Making forced moves... "); - refresh(); - (void) sleep(1); - c = live[0]; - } else { - char buf[BUFSIZ]; - - (void) sprintf(buf, - "Type [%s] to move, r to redraw, q or INTR to quit: ", - live); - - do { - move(PROMPTROW, 0); - (void) addstr(buf); - move(PROMPTROW, (int) strlen(buf)); - clrtoeol(); - (void) addch(' '); - } while - (((c = getch()) < 'a' || c > 'd') && (c != 'r') && (c != 'q')); - } - - for (j = 0; j < 4; j++) - if (selection[j] != NOCARD) { - move(BASEROW + (selection[j] / GRID_WIDTH) * 2 + 3, - (selection[j] % GRID_WIDTH) * 5); - (void) printw(" "); - } - - if (c == 'r') - display_cards(deal_number); - else if (c == 'q') - die(SIGINT); - else { - i = c - 'a'; - if (selection[i] == NOCARD) - beep(); - else { - movecard(selection[i], freeptr[i]); - freeptr[i] = selection[i]; - } - } - } - } - - move(PROMPTROW, 0); - standout(); - (void) printw("Finished deal %d - type any character to continue...", deal_number); - standend(); - (void) getch(); -} - -static int -collect_discards(void) -{ - int row, col, cardno = 0, finish, gridno; - - for (row = HEARTS; row <= CLUBS; row++) { - finish = 0; - for (col = 1; col < GRID_WIDTH; col++) { - gridno = row * GRID_WIDTH + col; - - if ((grid[gridno] != (grid[gridno - 1] + 1)) && (finish == 0)) { - finish = 1; - freeptr[row] = gridno; - }; - - if ((finish != 0) && (grid[gridno] != NOCARD)) - deck[cardno++] = grid[gridno]; - } - } - return cardno; -} - -static void -game_finished(int deal) -{ - clear(); - (void) printw("You finished the game in %d deals. This is ", deal); - standout(); - if (deal < 2) - (void) addstr("excellent"); - else if (deal < 4) - (void) addstr("good"); - else if (deal < 8) - (void) addstr("average"); - else - (void) addstr("poor"); - standend(); - (void) addstr(". "); - refresh(); -} - -int -main(int argc, char *argv[]) -{ - (void) signal(SIGINT, die); - - setlocale(LC_ALL, ""); - - initscr(); - - /* - * We use COLOR_GREEN because COLOR_BLACK is wired to the wrong thing. - */ - start_color(); - init_pair(RED_ON_WHITE, COLOR_RED, COLOR_WHITE); - init_pair(BLUE_ON_WHITE, COLOR_BLUE, COLOR_WHITE); - init_pair(BLACK_ON_WHITE, COLOR_BLACK, COLOR_WHITE); - -#ifndef COLOR_PAIR - letters[0] = OR_COLORS('h', RED_ON_WHITE); /* hearts */ - letters[1] = OR_COLORS('s', BLACK_ON_WHITE); /* spades */ - letters[2] = OR_COLORS('d', RED_ON_WHITE); /* diamonds */ - letters[3] = OR_COLORS('c', BLACK_ON_WHITE); /* clubs */ -#if defined(__i386__) && defined(A_ALTCHARSET) - glyphs[0] = PC_COLORS('\003', RED_ON_WHITE); /* hearts */ - glyphs[1] = PC_COLORS('\006', BLACK_ON_WHITE); /* spades */ - glyphs[2] = PC_COLORS('\004', RED_ON_WHITE); /* diamonds */ - glyphs[3] = PC_COLORS('\005', BLACK_ON_WHITE); /* clubs */ -#endif -#endif - -#if defined(__i386__) && defined(A_ALTCHARSET) - if (tigetstr("smpch")) - suits = glyphs; -#endif /* __i386__ && A_ALTCHARSET */ - - cbreak(); - - if (argc == 2) - srand((unsigned) atoi(argv[1])); - else - srand((unsigned) time((time_t *) 0)); - - init_vars(); - - do { - deal_number++; - shuffle(deck_size); - deal_cards(); - display_cards(deal_number); - play_game(); - } - while - ((deck_size = collect_discards()) != 0); - - game_finished(deal_number); - - die(SIGINT); - /*NOTREACHED */ -} - -/* blue.c ends here */ diff --git a/src/libs/ncurses/test/bs.6 b/src/libs/ncurses/test/bs.6 deleted file mode 100644 index 38cfe82a98..0000000000 --- a/src/libs/ncurses/test/bs.6 +++ /dev/null @@ -1,42 +0,0 @@ -.TH BATTLESHIPS 6 "Aug 23, 1989" -.SH NAME -bs \- battleships game -.SH SYNOPSIS -battle [ -b | -s ] [ -c ] -.SH DESCRIPTION -This program allows you to play the familiar Battleships game against the -computer on a 10x10 board. The interface is visual and largely -self-explanatory; you place your ships and pick your shots by moving the -cursor around the `sea' with the rogue/hack motion keys hjklyubn. -.PP -Note that when selecting a ship to place, you must type the capital letter -(these are, after all, capital ships). During ship placement, the `r' command -may be used to ignore the current position and randomly place your currently -selected ship. The `R' command will place all remaining ships randomly. The ^L -command (form feed, ASCII 12) will force a screen redraw). -.PP -The command-line arguments control game modes. - -.nf - -b selects a `blitz' variant - -s selects a `salvo' variant - -c permits ships to be placed adjacently -.fi - -The `blitz' variant allows a side to shoot for as long as it continues to -score hits. -.PP -The `salvo' game allows a player one shot per turn for each of his/her ships -still afloat. This puts a premium scoring hits early and knocking out some -ships and also makes much harder the situation where you face a superior force -with only your PT-boat. -.PP -Normally, ships must be separated by at least one square of open water. The --c option disables this check and allows them to close-pack. -.PP -The algorithm the computer uses once it has found a ship to sink is provably -optimal. The dispersion criterion for the random-fire algorithm may not be. -.SH AUTHORS -Originally written by one Bruce Holloway in 1986. Salvo mode added by Chuck A. -DeGaul (cbosgd!cad). Visual user interface, `closepack' option, code rewrite -and manual page by Eric S. Raymond August 1989. diff --git a/src/libs/ncurses/test/bs.c b/src/libs/ncurses/test/bs.c deleted file mode 100644 index 5b9f6ecdc4..0000000000 --- a/src/libs/ncurses/test/bs.c +++ /dev/null @@ -1,1226 +0,0 @@ -/* - * bs.c - original author: Bruce Holloway - * salvo option by: Chuck A DeGaul - * with improved user interface, autoconfiguration and code cleanup - * by Eric S. Raymond - * v1.2 with color support and minor portability fixes, November 1990 - * v2.0 featuring strict ANSI/POSIX conformance, November 1993. - * v2.1 with ncurses mouse support, September 1995 - * - * $Id: bs.c,v 1.41 2005/05/28 21:38:24 tom Exp $ - */ - -#include - -#include - -#ifndef SIGIOT -#define SIGIOT SIGABRT -#endif - -static int getcoord(int); - -/* - * Constants for tuning the random-fire algorithm. It prefers moves that - * diagonal-stripe the board with a stripe separation of srchstep. If - * no such preferred moves are found, srchstep is decremented. - */ -#define BEGINSTEP 3 /* initial value of srchstep */ - -/* miscellaneous constants */ -#define SHIPTYPES 5 -#define OTHER (1-turn) -#define PLAYER 0 -#define COMPUTER 1 -#define MARK_HIT 'H' -#define MARK_MISS 'o' -#define CTRLC '\003' /* used as terminate command */ -#define FF '\014' /* used as redraw command */ - -/* coordinate handling */ -#define BWIDTH 10 -#define BDEPTH 10 - -/* display symbols */ -#define SHOWHIT '*' -#define SHOWSPLASH ' ' -#define IS_SHIP(c) (isupper(UChar(c)) ? TRUE : FALSE) - -/* how to position us on player board */ -#define PYBASE 3 -#define PXBASE 3 -#define PY(y) (PYBASE + (y)) -#define PX(x) (PXBASE + (x)*3) -#define pgoto(y, x) (void)move(PY(y), PX(x)) - -/* how to position us on cpu board */ -#define CYBASE 3 -#define CXBASE 48 -#define CY(y) (CYBASE + (y)) -#define CX(x) (CXBASE + (x)*3) -#define CYINV(y) ((y) - CYBASE) -#define CXINV(x) (((x) - CXBASE) / 3) -#define cgoto(y, x) (void)move(CY(y), CX(x)) - -#define ONBOARD(x, y) (x >= 0 && x < BWIDTH && y >= 0 && y < BDEPTH) - -/* other board locations */ -#define COLWIDTH 80 -#define PROMPTLINE 21 /* prompt line */ -#define SYBASE CYBASE + BDEPTH + 3 /* move key diagram */ -#define SXBASE 63 -#define MYBASE SYBASE - 1 /* diagram caption */ -#define MXBASE 64 -#define HYBASE SYBASE - 1 /* help area */ -#define HXBASE 0 - -/* this will need to be changed if BWIDTH changes */ -static char numbers[] = " 0 1 2 3 4 5 6 7 8 9"; - -static char carrier[] = "Aircraft Carrier"; -static char battle[] = "Battleship"; -static char sub[] = "Submarine"; -static char destroy[] = "Destroyer"; -static char ptboat[] = "PT Boat"; - -static char name[40]; -static char dftname[] = "stranger"; - -/* direction constants */ -#define E 0 -#define SE 1 -#define S 2 -#define SW 3 -#define W 4 -#define NW 5 -#define N 6 -#define NE 7 -static int xincr[8] = -{1, 1, 0, -1, -1, -1, 0, 1}; -static int yincr[8] = -{0, 1, 1, 1, 0, -1, -1, -1}; - -/* current ship position and direction */ -static int curx = (BWIDTH / 2); -static int cury = (BDEPTH / 2); - -typedef struct { - char *name; /* name of the ship type */ - int hits; /* how many times has this ship been hit? */ - char symbol; /* symbol for game purposes */ - int length; /* length of ship */ - int x, y; /* coordinates of ship start point */ - int dir; /* direction of `bow' */ - bool placed; /* has it been placed on the board? */ -} ship_t; - -static bool checkplace(int b, ship_t * ss, int vis); - -#define SHIPIT(name, symbol, length) { name, 0, symbol, length, 0,0, 0, FALSE } - -static ship_t plyship[SHIPTYPES] = -{ - SHIPIT(carrier, 'A', 5), - SHIPIT(battle, 'B', 4), - SHIPIT(destroy, 'D', 3), - SHIPIT(sub, 'S', 3), - SHIPIT(ptboat, 'P', 2), -}; - -static ship_t cpuship[SHIPTYPES] = -{ - SHIPIT(carrier, 'A', 5), - SHIPIT(battle, 'B', 4), - SHIPIT(destroy, 'D', 3), - SHIPIT(sub, 'S', 3), - SHIPIT(ptboat, 'P', 2), -}; - -/* "Hits" board, and main board. */ -static char hits[2][BWIDTH][BDEPTH]; -static char board[2][BWIDTH][BDEPTH]; - -static int turn; /* 0=player, 1=computer */ -static int plywon = 0, cpuwon = 0; /* How many games has each won? */ - -static int salvo, blitz, closepack; - -#define PR (void)addstr - -static RETSIGTYPE uninitgame(int sig) GCC_NORETURN; - -static RETSIGTYPE uninitgame(int sig GCC_UNUSED) -/* end the game, either normally or due to signal */ -{ - clear(); - (void) refresh(); - (void) reset_shell_mode(); - (void) echo(); - (void) endwin(); - ExitProgram(sig ? EXIT_FAILURE : EXIT_SUCCESS); -} - -static void -announceopts(void) -/* announce which game options are enabled */ -{ - if (salvo || blitz || closepack) { - (void) printw("Playing optional game ("); - if (salvo) - (void) printw("salvo, "); - else - (void) printw("nosalvo, "); - if (blitz) - (void) printw("blitz "); - else - (void) printw("noblitz, "); - if (closepack) - (void) printw("closepack)"); - else - (void) printw("noclosepack)"); - } else - (void) printw( - "Playing standard game (noblitz, nosalvo, noclosepack)"); -} - -static void -intro(void) -{ - char *tmpname; - - srand((unsigned) (time(0L) + getpid())); /* Kick the random number generator */ - - (void) signal(SIGINT, uninitgame); - (void) signal(SIGINT, uninitgame); - (void) signal(SIGIOT, uninitgame); /* for assert(3) */ - if (signal(SIGQUIT, SIG_IGN) != SIG_IGN) - (void) signal(SIGQUIT, uninitgame); - - if ((tmpname = getlogin()) != 0) { - (void) strcpy(name, tmpname); - name[0] = toupper(name[0]); - } else - (void) strcpy(name, dftname); - - (void) initscr(); - keypad(stdscr, TRUE); - (void) def_prog_mode(); - (void) nonl(); - (void) cbreak(); - (void) noecho(); - -#ifdef PENGUIN - (void) clear(); - (void) mvaddstr(4, 29, "Welcome to Battleship!"); - (void) move(8, 0); - PR(" \\\n"); - PR(" \\ \\ \\\n"); - PR(" \\ \\ \\ \\ \\_____________\n"); - PR(" \\ \\ \\_____________ \\ \\/ |\n"); - PR(" \\ \\/ \\ \\/ |\n"); - PR(" \\/ \\_____/ |__\n"); - PR(" ________________/ |\n"); - PR(" \\ S.S. Penguin |\n"); - PR(" \\ /\n"); - PR(" \\___________________________________________________/\n"); - - (void) mvaddstr(22, 27, "Hit any key to continue..."); - (void) refresh(); - (void) getch(); -#endif /* PENGUIN */ - -#ifdef A_COLOR - start_color(); - - init_pair(COLOR_BLACK, COLOR_BLACK, COLOR_BLACK); - init_pair(COLOR_GREEN, COLOR_GREEN, COLOR_BLACK); - init_pair(COLOR_RED, COLOR_RED, COLOR_BLACK); - init_pair(COLOR_CYAN, COLOR_CYAN, COLOR_BLACK); - init_pair(COLOR_WHITE, COLOR_WHITE, COLOR_BLACK); - init_pair(COLOR_MAGENTA, COLOR_MAGENTA, COLOR_BLACK); - init_pair(COLOR_BLUE, COLOR_BLUE, COLOR_BLACK); - init_pair(COLOR_YELLOW, COLOR_YELLOW, COLOR_BLACK); -#endif /* A_COLOR */ - -#ifdef NCURSES_MOUSE_VERSION - (void) mousemask(BUTTON1_CLICKED, (mmask_t *) NULL); -#endif /* NCURSES_MOUSE_VERSION */ -} - -/* VARARGS1 */ -static void -prompt(int n, NCURSES_CONST char *f, const char *s) -/* print a message at the prompt line */ -{ - (void) move(PROMPTLINE + n, 0); - (void) clrtoeol(); - (void) printw(f, s); - (void) refresh(); -} - -static void -error(NCURSES_CONST char *s) -{ - (void) move(PROMPTLINE + 2, 0); - (void) clrtoeol(); - if (s) { - (void) addstr(s); - (void) beep(); - } -} - -static void -placeship(int b, ship_t * ss, int vis) -{ - int l; - - for (l = 0; l < ss->length; ++l) { - int newx = ss->x + l * xincr[ss->dir]; - int newy = ss->y + l * yincr[ss->dir]; - - board[b][newx][newy] = ss->symbol; - if (vis) { - pgoto(newy, newx); - (void) addch((chtype) ss->symbol); - } - } - ss->hits = 0; -} - -static int -rnd(int n) -{ - return (((rand() & 0x7FFF) % n)); -} - -static void -randomplace(int b, ship_t * ss) -/* generate a valid random ship placement into px,py */ -{ - - do { - ss->dir = rnd(2) ? E : S; - ss->x = rnd(BWIDTH - (ss->dir == E ? ss->length : 0)); - ss->y = rnd(BDEPTH - (ss->dir == S ? ss->length : 0)); - } while - (!checkplace(b, ss, FALSE)); -} - -static void -initgame(void) -{ - int i, j, unplaced; - ship_t *ss; - - (void) clear(); - (void) mvaddstr(0, 35, "BATTLESHIPS"); - (void) move(PROMPTLINE + 2, 0); - announceopts(); - - memset(board, 0, sizeof(char) * BWIDTH * BDEPTH * 2); - memset(hits, 0, sizeof(char) * BWIDTH * BDEPTH * 2); - for (i = 0; i < SHIPTYPES; i++) { - ss = cpuship + i; - - ss->x = - ss->y = - ss->dir = - ss->hits = 0; - ss->placed = FALSE; - - ss = plyship + i; - - ss->x = - ss->y = - ss->dir = - ss->hits = 0; - ss->placed = FALSE; - } - - /* draw empty boards */ - (void) mvaddstr(PYBASE - 2, PXBASE + 5, "Main Board"); - (void) mvaddstr(PYBASE - 1, PXBASE - 3, numbers); - for (i = 0; i < BDEPTH; ++i) { - (void) mvaddch(PYBASE + i, PXBASE - 3, (chtype) (i + 'A')); -#ifdef A_COLOR - if (has_colors()) - attron(COLOR_PAIR(COLOR_BLUE)); -#endif /* A_COLOR */ - (void) addch(' '); - for (j = 0; j < BWIDTH; j++) - (void) addstr(" . "); -#ifdef A_COLOR - attrset(0); -#endif /* A_COLOR */ - (void) addch(' '); - (void) addch((chtype) (i + 'A')); - } - (void) mvaddstr(PYBASE + BDEPTH, PXBASE - 3, numbers); - (void) mvaddstr(CYBASE - 2, CXBASE + 7, "Hit/Miss Board"); - (void) mvaddstr(CYBASE - 1, CXBASE - 3, numbers); - for (i = 0; i < BDEPTH; ++i) { - (void) mvaddch(CYBASE + i, CXBASE - 3, (chtype) (i + 'A')); -#ifdef A_COLOR - if (has_colors()) - attron(COLOR_PAIR(COLOR_BLUE)); -#endif /* A_COLOR */ - (void) addch(' '); - for (j = 0; j < BWIDTH; j++) - (void) addstr(" . "); -#ifdef A_COLOR - attrset(0); -#endif /* A_COLOR */ - (void) addch(' '); - (void) addch((chtype) (i + 'A')); - } - - (void) mvaddstr(CYBASE + BDEPTH, CXBASE - 3, numbers); - - (void) mvprintw(HYBASE, HXBASE, - "To position your ships: move the cursor to a spot, then"); - (void) mvprintw(HYBASE + 1, HXBASE, - "type the first letter of a ship type to select it, then"); - (void) mvprintw(HYBASE + 2, HXBASE, - "type a direction ([hjkl] or [4862]), indicating how the"); - (void) mvprintw(HYBASE + 3, HXBASE, - "ship should be pointed. You may also type a ship letter"); - (void) mvprintw(HYBASE + 4, HXBASE, - "followed by `r' to position it randomly, or type `R' to"); - (void) mvprintw(HYBASE + 5, HXBASE, - "place all remaining ships randomly."); - - (void) mvaddstr(MYBASE, MXBASE, "Aiming keys:"); - (void) mvaddstr(SYBASE, SXBASE, "y k u 7 8 9"); - (void) mvaddstr(SYBASE + 1, SXBASE, " \\|/ \\|/ "); - (void) mvaddstr(SYBASE + 2, SXBASE, "h-+-l 4-+-6"); - (void) mvaddstr(SYBASE + 3, SXBASE, " /|\\ /|\\ "); - (void) mvaddstr(SYBASE + 4, SXBASE, "b j n 1 2 3"); - - /* have the computer place ships */ - for (ss = cpuship; ss < cpuship + SHIPTYPES; ss++) { - randomplace(COMPUTER, ss); - placeship(COMPUTER, ss, FALSE); - } - - ss = (ship_t *) NULL; - do { - char c, docked[SHIPTYPES + 2], *cp = docked; - - /* figure which ships still wait to be placed */ - *cp++ = 'R'; - for (i = 0; i < SHIPTYPES; i++) - if (!plyship[i].placed) - *cp++ = plyship[i].symbol; - *cp = '\0'; - - /* get a command letter */ - prompt(1, "Type one of [%s] to pick a ship.", docked + 1); - do { - c = getcoord(PLAYER); - } while - (!strchr(docked, c)); - - if (c == 'R') - (void) ungetch('R'); - else { - /* map that into the corresponding symbol */ - for (ss = plyship; ss < plyship + SHIPTYPES; ss++) - if (ss->symbol == c) - break; - - prompt(1, "Type one of [hjklrR] to place your %s.", ss->name); - pgoto(cury, curx); - } - - do { - c = getch(); - } while - (!strchr("hjklrR", c) || c == FF); - - if (c == FF) { - (void) clearok(stdscr, TRUE); - (void) refresh(); - } else if (c == 'r') { - prompt(1, "Random-placing your %s", ss->name); - randomplace(PLAYER, ss); - placeship(PLAYER, ss, TRUE); - error((char *) NULL); - ss->placed = TRUE; - } else if (c == 'R') { - prompt(1, "Placing the rest of your fleet at random...", ""); - for (ss = plyship; ss < plyship + SHIPTYPES; ss++) - if (!ss->placed) { - randomplace(PLAYER, ss); - placeship(PLAYER, ss, TRUE); - ss->placed = TRUE; - } - error((char *) NULL); - } else if (strchr("hjkl8462", c)) { - ss->x = curx; - ss->y = cury; - - switch (c) { - case 'k': - case '8': - ss->dir = N; - break; - case 'j': - case '2': - ss->dir = S; - break; - case 'h': - case '4': - ss->dir = W; - break; - case 'l': - case '6': - ss->dir = E; - break; - } - - if (checkplace(PLAYER, ss, TRUE)) { - placeship(PLAYER, ss, TRUE); - error((char *) NULL); - ss->placed = TRUE; - } - } - - for (unplaced = i = 0; i < SHIPTYPES; i++) - unplaced += !plyship[i].placed; - } while - (unplaced); - - turn = rnd(2); - - (void) mvprintw(HYBASE, HXBASE, - "To fire, move the cursor to your chosen aiming point "); - (void) mvprintw(HYBASE + 1, HXBASE, - "and strike any key other than a motion key. "); - (void) mvprintw(HYBASE + 2, HXBASE, - " "); - (void) mvprintw(HYBASE + 3, HXBASE, - " "); - (void) mvprintw(HYBASE + 4, HXBASE, - " "); - (void) mvprintw(HYBASE + 5, HXBASE, - " "); - - (void) prompt(0, "Press any key to start...", ""); - (void) getch(); -} - -static int -getcoord(int atcpu) -{ - int ny, nx, c; - - if (atcpu) - cgoto(cury, curx); - else - pgoto(cury, curx); - (void) refresh(); - for (;;) { - if (atcpu) { - (void) mvprintw(CYBASE + BDEPTH + 1, CXBASE + 11, "(%d, %c)", - curx, 'A' + cury); - cgoto(cury, curx); - } else { - (void) mvprintw(PYBASE + BDEPTH + 1, PXBASE + 11, "(%d, %c)", - curx, 'A' + cury); - pgoto(cury, curx); - } - - switch (c = getch()) { - case 'k': - case '8': - case KEY_UP: - ny = cury + BDEPTH - 1; - nx = curx; - break; - case 'j': - case '2': - case KEY_DOWN: - ny = cury + 1; - nx = curx; - break; - case 'h': - case '4': - case KEY_LEFT: - ny = cury; - nx = curx + BWIDTH - 1; - break; - case 'l': - case '6': - case KEY_RIGHT: - ny = cury; - nx = curx + 1; - break; - case 'y': - case '7': - case KEY_A1: - ny = cury + BDEPTH - 1; - nx = curx + BWIDTH - 1; - break; - case 'b': - case '1': - case KEY_C1: - ny = cury + 1; - nx = curx + BWIDTH - 1; - break; - case 'u': - case '9': - case KEY_A3: - ny = cury + BDEPTH - 1; - nx = curx + 1; - break; - case 'n': - case '3': - case KEY_C3: - ny = cury + 1; - nx = curx + 1; - break; - case FF: - nx = curx; - ny = cury; - (void) clearok(stdscr, TRUE); - (void) refresh(); - break; -#ifdef NCURSES_MOUSE_VERSION - case KEY_MOUSE: - { - MEVENT myevent; - - getmouse(&myevent); - if (atcpu - && myevent.y >= CY(0) && myevent.y <= CY(BDEPTH) - && myevent.x >= CX(0) && myevent.x <= CX(BDEPTH)) { - curx = CXINV(myevent.x); - cury = CYINV(myevent.y); - return (' '); - } else { - beep(); - continue; - } - } - /* no fall through */ -#endif /* NCURSES_MOUSE_VERSION */ - - default: - if (atcpu) - (void) mvaddstr(CYBASE + BDEPTH + 1, CXBASE + 11, " "); - else - (void) mvaddstr(PYBASE + BDEPTH + 1, PXBASE + 11, " "); - return (c); - } - - curx = nx % BWIDTH; - cury = ny % BDEPTH; - } -} - -static bool -collidecheck(int b, int y, int x) -/* is this location on the selected zboard adjacent to a ship? */ -{ - bool collide; - - /* anything on the square */ - if ((collide = IS_SHIP(board[b][x][y])) != FALSE) - return (collide); - - /* anything on the neighbors */ - if (!closepack) { - int i; - - for (i = 0; i < 8; i++) { - int xend, yend; - - yend = y + yincr[i]; - xend = x + xincr[i]; - if (ONBOARD(xend, yend) - && IS_SHIP(board[b][xend][yend])) { - collide = TRUE; - break; - } - } - } - return (collide); -} - -static bool -checkplace(int b, ship_t * ss, int vis) -{ - int l, xend, yend; - - /* first, check for board edges */ - xend = ss->x + (ss->length - 1) * xincr[ss->dir]; - yend = ss->y + (ss->length - 1) * yincr[ss->dir]; - if (!ONBOARD(xend, yend)) { - if (vis) - switch (rnd(3)) { - case 0: - error("Ship is hanging from the edge of the world"); - break; - case 1: - error("Try fitting it on the board"); - break; - case 2: - error("Figure I won't find it if you put it there?"); - break; - } - return (FALSE); - } - - for (l = 0; l < ss->length; ++l) { - if (collidecheck(b, ss->y + l * yincr[ss->dir], ss->x + l * xincr[ss->dir])) { - if (vis) - switch (rnd(3)) { - case 0: - error("There's already a ship there"); - break; - case 1: - error("Collision alert! Aaaaaagh!"); - break; - case 2: - error("Er, Admiral, what about the other ship?"); - break; - } - return (FALSE); - } - } - return (TRUE); -} - -static int -awinna(void) -{ - int i, j; - ship_t *ss; - - for (i = 0; i < 2; ++i) { - ss = (i) ? cpuship : plyship; - for (j = 0; j < SHIPTYPES; ++j, ++ss) - if (ss->length > ss->hits) - break; - if (j == SHIPTYPES) - return (OTHER); - } - return (-1); -} - -static ship_t * -hitship(int x, int y) -/* register a hit on the targeted ship */ -{ - ship_t *sb, *ss; - char sym; - int oldx, oldy; - - getyx(stdscr, oldy, oldx); - sb = (turn) ? plyship : cpuship; - if ((sym = board[OTHER][x][y]) == 0) - return ((ship_t *) NULL); - for (ss = sb; ss < sb + SHIPTYPES; ++ss) - if (ss->symbol == sym) { - if (++ss->hits < ss->length) /* still afloat? */ - return ((ship_t *) NULL); - else { /* sunk! */ - int i, j; - - if (!closepack) - for (j = -1; j <= 1; j++) { - int bx = ss->x + j * xincr[(ss->dir + 2) % 8]; - int by = ss->y + j * yincr[(ss->dir + 2) % 8]; - - for (i = -1; i <= ss->length; ++i) { - int x1, y1; - - x1 = bx + i * xincr[ss->dir]; - y1 = by + i * yincr[ss->dir]; - if (ONBOARD(x1, y1)) { - hits[turn][x1][y1] = MARK_MISS; - if (turn % 2 == PLAYER) { - cgoto(y1, x1); -#ifdef A_COLOR - if (has_colors()) - attron(COLOR_PAIR(COLOR_GREEN)); -#endif /* A_COLOR */ - (void) addch(MARK_MISS); -#ifdef A_COLOR - attrset(0); -#endif /* A_COLOR */ - } else { - pgoto(y1, x1); - (void) addch(SHOWSPLASH); - } - } - } - } - - for (i = 0; i < ss->length; ++i) { - int x1 = ss->x + i * xincr[ss->dir]; - int y1 = ss->y + i * yincr[ss->dir]; - - hits[turn][x1][y1] = ss->symbol; - if (turn % 2 == PLAYER) { - cgoto(y1, x1); - (void) addch((chtype) (ss->symbol)); - } else { - pgoto(y1, x1); -#ifdef A_COLOR - if (has_colors()) - attron(COLOR_PAIR(COLOR_RED)); -#endif /* A_COLOR */ - (void) addch(SHOWHIT); -#ifdef A_COLOR - attrset(0); -#endif /* A_COLOR */ - } - } - - (void) move(oldy, oldx); - return (ss); - } - } - (void) move(oldy, oldx); - return ((ship_t *) NULL); -} - -static bool -plyturn(void) -{ - ship_t *ss; - bool hit; - NCURSES_CONST char *m = NULL; - - prompt(1, "Where do you want to shoot? ", ""); - for (;;) { - (void) getcoord(COMPUTER); - if (hits[PLAYER][curx][cury]) { - prompt(1, "You shelled this spot already! Try again.", ""); - beep(); - } else - break; - } - hit = IS_SHIP(board[COMPUTER][curx][cury]); - hits[PLAYER][curx][cury] = (hit ? MARK_HIT : MARK_MISS); - cgoto(cury, curx); -#ifdef A_COLOR - if (has_colors()) { - if (hit) - attron(COLOR_PAIR(COLOR_RED)); - else - attron(COLOR_PAIR(COLOR_GREEN)); - } -#endif /* A_COLOR */ - (void) addch((chtype) hits[PLAYER][curx][cury]); -#ifdef A_COLOR - attrset(0); -#endif /* A_COLOR */ - - prompt(1, "You %s.", hit ? "scored a hit" : "missed"); - if (hit && (ss = hitship(curx, cury))) { - switch (rnd(5)) { - case 0: - m = " You sank my %s!"; - break; - case 1: - m = " I have this sinking feeling about my %s...."; - break; - case 2: - m = " My %s has gone to Davy Jones's locker!"; - break; - case 3: - m = " Glub, glub -- my %s is headed for the bottom!"; - break; - case 4: - m = " You'll pick up survivors from my %s, I hope...!"; - break; - } - (void) printw(m, ss->name); - (void) beep(); - return (awinna() == -1); - } - return (hit); -} - -static int -sgetc(const char *s) -{ - const char *s1; - int ch; - - (void) refresh(); - for (;;) { - ch = getch(); - if (islower(ch)) - ch = toupper(ch); - if (ch == CTRLC) - uninitgame(0); - for (s1 = s; *s1 && ch != *s1; ++s1) - continue; - if (*s1) { - (void) addch((chtype) ch); - (void) refresh(); - return (ch); - } - } -} - -static void -randomfire(int *px, int *py) -/* random-fire routine -- implements simple diagonal-striping strategy */ -{ - static int turncount = 0; - static int srchstep = BEGINSTEP; - static int huntoffs; /* Offset on search strategy */ - int ypossible[BWIDTH * BDEPTH], xpossible[BWIDTH * BDEPTH], nposs; - int ypreferred[BWIDTH * BDEPTH], xpreferred[BWIDTH * BDEPTH], npref; - int x, y, i; - - if (turncount++ == 0) - huntoffs = rnd(srchstep); - - /* first, list all possible moves */ - nposs = npref = 0; - for (x = 0; x < BWIDTH; x++) - for (y = 0; y < BDEPTH; y++) - if (!hits[COMPUTER][x][y]) { - xpossible[nposs] = x; - ypossible[nposs] = y; - nposs++; - if (((x + huntoffs) % srchstep) != (y % srchstep)) { - xpreferred[npref] = x; - ypreferred[npref] = y; - npref++; - } - } - - if (npref) { - i = rnd(npref); - - *px = xpreferred[i]; - *py = ypreferred[i]; - } else if (nposs) { - i = rnd(nposs); - - *px = xpossible[i]; - *py = ypossible[i]; - - if (srchstep > 1) - --srchstep; - } else { - error("No moves possible?? Help!"); - ExitProgram(EXIT_FAILURE); - /*NOTREACHED */ - } -} - -#define S_MISS 0 -#define S_HIT 1 -#define S_SUNK -1 - -static int -cpufire(int x, int y) -/* fire away at given location */ -{ - bool hit, sunk; - ship_t *ss = NULL; - - hits[COMPUTER][x][y] = (hit = (board[PLAYER][x][y])) ? MARK_HIT : MARK_MISS; - (void) mvprintw(PROMPTLINE, 0, - "I shoot at %c%d. I %s!", y + 'A', x, hit ? "hit" : - "miss"); - if ((sunk = (hit && (ss = hitship(x, y)))) != 0) - (void) printw(" I've sunk your %s", ss->name); - (void) clrtoeol(); - - pgoto(y, x); -#ifdef A_COLOR - if (has_colors()) { - if (hit) - attron(COLOR_PAIR(COLOR_RED)); - else - attron(COLOR_PAIR(COLOR_GREEN)); - } -#endif /* A_COLOR */ - (void) addch((chtype) (hit ? SHOWHIT : SHOWSPLASH)); -#ifdef A_COLOR - attrset(0); -#endif /* A_COLOR */ - - return ((hit ? (sunk ? S_SUNK : S_HIT) : S_MISS) ? TRUE : FALSE); -} - -/* - * This code implements a fairly irregular FSM, so please forgive the rampant - * unstructuredness below. The five labels are states which need to be held - * between computer turns. - */ -static bool -cputurn(void) -{ -#define POSSIBLE(x, y) (ONBOARD(x, y) && !hits[COMPUTER][x][y]) -#define RANDOM_FIRE 0 -#define RANDOM_HIT 1 -#define HUNT_DIRECT 2 -#define FIRST_PASS 3 -#define REVERSE_JUMP 4 -#define SECOND_PASS 5 - static int next = RANDOM_FIRE; - static bool used[4]; - static ship_t ts; - int navail, x, y, d, n; - int hit = S_MISS; - - switch (next) { - case RANDOM_FIRE: /* last shot was random and missed */ - refire: - randomfire(&x, &y); - if (!(hit = cpufire(x, y))) - next = RANDOM_FIRE; - else { - ts.x = x; - ts.y = y; - ts.hits = 1; - next = (hit == S_SUNK) ? RANDOM_FIRE : RANDOM_HIT; - } - break; - - case RANDOM_HIT: /* last shot was random and hit */ - used[E / 2] = used[S / 2] = used[W / 2] = used[N / 2] = FALSE; - /* FALLTHROUGH */ - - case HUNT_DIRECT: /* last shot hit, we're looking for ship's long axis */ - for (d = navail = 0; d < 4; d++) { - x = ts.x + xincr[d * 2]; - y = ts.y + yincr[d * 2]; - if (!used[d] && POSSIBLE(x, y)) - navail++; - else - used[d] = TRUE; - } - if (navail == 0) /* no valid places for shots adjacent... */ - goto refire; /* ...so we must random-fire */ - else { - for (d = 0, n = rnd(navail) + 1; n; n--) - while (used[d]) - d++; - - assert(d <= 4); - - used[d] = FALSE; - x = ts.x + xincr[d * 2]; - y = ts.y + yincr[d * 2]; - - assert(POSSIBLE(x, y)); - - if (!(hit = cpufire(x, y))) - next = HUNT_DIRECT; - else { - ts.x = x; - ts.y = y; - ts.dir = d * 2; - ts.hits++; - next = (hit == S_SUNK) ? RANDOM_FIRE : FIRST_PASS; - } - } - break; - - case FIRST_PASS: /* we have a start and a direction now */ - x = ts.x + xincr[ts.dir]; - y = ts.y + yincr[ts.dir]; - if (POSSIBLE(x, y) && (hit = cpufire(x, y))) { - ts.x = x; - ts.y = y; - ts.hits++; - next = (hit == S_SUNK) ? RANDOM_FIRE : FIRST_PASS; - } else - next = REVERSE_JUMP; - break; - - case REVERSE_JUMP: /* nail down the ship's other end */ - d = ts.dir + 4; - x = ts.x + ts.hits * xincr[d]; - y = ts.y + ts.hits * yincr[d]; - if (POSSIBLE(x, y) && (hit = cpufire(x, y))) { - ts.x = x; - ts.y = y; - ts.dir = d; - ts.hits++; - next = (hit == S_SUNK) ? RANDOM_FIRE : SECOND_PASS; - } else - next = RANDOM_FIRE; - break; - - case SECOND_PASS: /* kill squares not caught on first pass */ - x = ts.x + xincr[ts.dir]; - y = ts.y + yincr[ts.dir]; - if (POSSIBLE(x, y) && (hit = cpufire(x, y))) { - ts.x = x; - ts.y = y; - ts.hits++; - next = (hit == S_SUNK) ? RANDOM_FIRE : SECOND_PASS; - break; - } else - next = RANDOM_FIRE; - break; - } - - /* check for continuation and/or winner */ - if (salvo) { - (void) refresh(); - (void) sleep(1); - } - if (awinna() != -1) - return (FALSE); - -#ifdef DEBUG - (void) mvprintw(PROMPTLINE + 2, 0, - "New state %d, x=%d, y=%d, d=%d", - next, x, y, d); -#endif /* DEBUG */ - return ((hit) ? TRUE : FALSE); -} - -static int -playagain(void) -{ - int j; - ship_t *ss; - - for (ss = cpuship; ss < cpuship + SHIPTYPES; ss++) - for (j = 0; j < ss->length; j++) { - cgoto(ss->y + j * yincr[ss->dir], ss->x + j * xincr[ss->dir]); - (void) addch((chtype) ss->symbol); - } - - if (awinna()) - ++cpuwon; - else - ++plywon; - j = 18 + strlen(name); - if (plywon >= 10) - ++j; - if (cpuwon >= 10) - ++j; - (void) mvprintw(1, (COLWIDTH - j) / 2, - "%s: %d Computer: %d", name, plywon, cpuwon); - - prompt(2, (awinna())? "Want to be humiliated again, %s [yn]? " - : "Going to give me a chance for revenge, %s [yn]? ", name); - return (sgetc("YN") == 'Y'); -} - -static void -do_options(int c, char *op[]) -{ - register int i; - - if (c > 1) { - for (i = 1; i < c; i++) { - switch (op[i][0]) { - default: - case '?': - (void) fprintf(stderr, "Usage: battle [-s | -b] [-c]\n"); - (void) fprintf(stderr, "\tWhere the options are:\n"); - (void) fprintf(stderr, "\t-s : play a salvo game\n"); - (void) fprintf(stderr, "\t-b : play a blitz game\n"); - (void) fprintf(stderr, "\t-c : ships may be adjacent\n"); - ExitProgram(EXIT_FAILURE); - break; - case '-': - switch (op[i][1]) { - case 'b': - blitz = 1; - if (salvo == 1) { - (void) fprintf(stderr, - "Bad Arg: -b and -s are mutually exclusive\n"); - ExitProgram(EXIT_FAILURE); - } - break; - case 's': - salvo = 1; - if (blitz == 1) { - (void) fprintf(stderr, - "Bad Arg: -s and -b are mutually exclusive\n"); - ExitProgram(EXIT_FAILURE); - } - break; - case 'c': - closepack = 1; - break; - default: - (void) fprintf(stderr, - "Bad arg: type \"%s ?\" for usage message\n", - op[0]); - ExitProgram(EXIT_FAILURE); - } - } - } - } -} - -static int -scount(int who) -{ - register int i, shots; - register ship_t *sp; - - if (who) - sp = cpuship; /* count cpu shots */ - else - sp = plyship; /* count player shots */ - - for (i = 0, shots = 0; i < SHIPTYPES; i++, sp++) { - if (sp->hits >= sp->length) - continue; /* dead ship */ - else - shots++; - } - return (shots); -} - -int -main(int argc, char *argv[]) -{ - setlocale(LC_ALL, ""); - - do_options(argc, argv); - - intro(); - do { - initgame(); - while (awinna() == -1) { - if (!blitz) { - if (!salvo) { - if (turn) - (void) cputurn(); - else - (void) plyturn(); - } else { - register int i; - - i = scount(turn); - while (i--) { - if (turn) { - if (cputurn() && awinna() != -1) - i = 0; - } else { - if (plyturn() && awinna() != -1) - i = 0; - } - } - } - } else - while (turn ? cputurn() : plyturn()) - continue; - turn = OTHER; - } - } while - (playagain()); - uninitgame(0); - /*NOTREACHED */ -} - -/* bs.c ends here */ diff --git a/src/libs/ncurses/test/cardfile.c b/src/libs/ncurses/test/cardfile.c deleted file mode 100644 index 318342f078..0000000000 --- a/src/libs/ncurses/test/cardfile.c +++ /dev/null @@ -1,622 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1999-2003,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/* - * Author: Thomas E. Dickey - * - * $Id: cardfile.c,v 1.27 2004/11/06 19:33:39 tom Exp $ - * - * File format: text beginning in column 1 is a title; other text is content. - */ - -#include - -#if USE_LIBFORM && USE_LIBPANEL - -#include -#include - -#define VISIBLE_CARDS 10 -#define OFFSET_CARD 2 -#define pair_1 1 -#define pair_2 2 - -#define isVisible(cardp) ((cardp)->panel != 0) - -enum { - MY_CTRL_x = MAX_FORM_COMMAND - ,MY_CTRL_N - ,MY_CTRL_P - ,MY_CTRL_Q - ,MY_CTRL_W -}; - -typedef struct _card { - struct _card *link; - PANEL *panel; - FORM *form; - char *title; - char *content; -} CARD; - -static CARD *all_cards; -static bool try_color = FALSE; -static char default_name[] = "cardfile.dat"; - -#if !HAVE_STRDUP -#define strdup my_strdup -static char * -strdup(char *s) -{ - char *p = (char *) malloc(strlen(s) + 1); - if (p) - strcpy(p, s); - return (p); -} -#endif /* not HAVE_STRDUP */ - -static const char * -skip(const char *buffer) -{ - while (isspace(UChar(*buffer))) - buffer++; - return buffer; -} - -static void -trim(char *buffer) -{ - unsigned n = strlen(buffer); - while (n-- && isspace(UChar(buffer[n]))) - buffer[n] = 0; -} - -/*******************************************************************************/ - -static CARD * -add_title(const char *title) -{ - CARD *card, *p, *q; - - for (p = all_cards, q = 0; p != 0; q = p, p = p->link) { - int cmp = strcmp(p->title, title); - if (cmp == 0) - return p; - if (cmp > 0) - break; - } - - card = (CARD *) calloc(1, sizeof(CARD)); - card->title = strdup(title); - card->content = strdup(""); - - if (q == 0) { - card->link = all_cards; - all_cards = card; - } else { - card->link = q->link; - q->link = card; - } - - return card; -} - -static void -add_content(CARD * card, const char *content) -{ - unsigned total, offset; - - content = skip(content); - if ((total = strlen(content)) != 0) { - if ((offset = strlen(card->content)) != 0) { - total += 1 + offset; - card->content = (char *) realloc(card->content, total + 1); - strcpy(card->content + offset++, " "); - } else { - if (card->content != 0) - free(card->content); - card->content = (char *) malloc(total + 1); - } - strcpy(card->content + offset, content); - } -} - -static CARD * -new_card(void) -{ - CARD *card = add_title(""); - add_content(card, ""); - return card; -} - -static CARD * -find_card(char *title) -{ - CARD *card; - - for (card = all_cards; card != 0; card = card->link) - if (!strcmp(card->title, title)) - break; - - return card; -} - -static void -read_data(char *fname) -{ - FILE *fp; - CARD *card = 0; - char buffer[BUFSIZ]; - - if ((fp = fopen(fname, "r")) != 0) { - while (fgets(buffer, sizeof(buffer), fp)) { - trim(buffer); - if (isspace(UChar(*buffer))) { - if (card == 0) - card = add_title(""); - add_content(card, buffer); - } else if ((card = find_card(buffer)) == 0) { - card = add_title(buffer); - } - } - fclose(fp); - } -} - -/*******************************************************************************/ - -static void -write_data(const char *fname) -{ - FILE *fp; - CARD *p = 0; - int n; - - if (!strcmp(fname, default_name)) - fname = "cardfile.out"; - - if ((fp = fopen(fname, "w")) != 0) { - for (p = all_cards; p != 0; p = p->link) { - FIELD **f = form_fields(p->form); - for (n = 0; f[n] != 0; n++) { - char *s = field_buffer(f[n], 0); - if (s != 0 - && (s = strdup(s)) != 0) { - trim(s); - fprintf(fp, "%s%s\n", n ? "\t" : "", s); - free(s); - } - } - } - fclose(fp); - } -} - -/*******************************************************************************/ - -/* - * Count the cards - */ -static int -count_cards(void) -{ - CARD *p; - int count = 0; - - for (p = all_cards; p != 0; p = p->link) - count++; - - return count; -} - -/* - * Shuffle the panels to keep them in a natural hierarchy. - */ -static void -order_cards(CARD * first, int depth) -{ - if (first) { - if (depth && first->link) - order_cards(first->link, depth - 1); - if (isVisible(first)) - top_panel(first->panel); - } -} - -/* - * Return the next card in the list - */ -static CARD * -next_card(CARD * now) -{ - if (now->link != 0) { - CARD *tst = now->link; - if (isVisible(tst)) - now = tst; - else - tst = next_card(tst); - } - return now; -} - -/* - * Return the previous card in the list - */ -static CARD * -prev_card(CARD * now) -{ - CARD *p; - for (p = all_cards; p != 0; p = p->link) { - if (p->link == now) { - if (!isVisible(p)) - p = prev_card(p); - return p; - } - } - return now; -} - -/* - * Returns the first card in the list that we will display. - */ -static CARD * -first_card(CARD * now) -{ - if (!isVisible(now)) - now = next_card(now); - return now; -} - -/*******************************************************************************/ - -static int -form_virtualize(WINDOW *w) -{ - int c = wgetch(w); - - switch (c) { - case CTRL('W'): - return (MY_CTRL_W); - case CTRL('N'): - return (MY_CTRL_N); - case CTRL('P'): - return (MY_CTRL_P); - case CTRL('Q'): - case 033: - return (MY_CTRL_Q); - - case KEY_BACKSPACE: - return (REQ_DEL_PREV); - case KEY_DC: - return (REQ_DEL_CHAR); - case KEY_LEFT: - return (REQ_LEFT_CHAR); - case KEY_RIGHT: - return (REQ_RIGHT_CHAR); - - case KEY_DOWN: - case KEY_NEXT: - return (REQ_NEXT_FIELD); - case KEY_UP: - case KEY_PREVIOUS: - return (REQ_PREV_FIELD); - - default: - return (c); - } -} - -static FIELD ** -make_fields(CARD * p, int form_high, int form_wide) -{ - FIELD **f = (FIELD **) calloc(3, sizeof(FIELD *)); - - f[0] = new_field(1, form_wide, 0, 0, 0, 0); - set_field_back(f[0], A_REVERSE); - set_field_buffer(f[0], 0, p->title); - field_opts_off(f[0], O_BLANK); - - f[1] = new_field(form_high - 1, form_wide, 1, 0, 0, 0); - set_field_buffer(f[1], 0, p->content); - set_field_just(f[1], JUSTIFY_LEFT); - field_opts_off(f[1], O_BLANK); - - f[2] = 0; - return f; -} - -static void -show_legend(void) -{ - erase(); - move(LINES - 3, 0); - addstr("^Q/ESC -- exit form ^W -- writes data to file\n"); - addstr("^N -- go to next card ^P -- go to previous card\n"); - addstr("Arrow keys move left/right within a field, up/down between fields"); -} - -#if (defined(KEY_RESIZE) && HAVE_WRESIZE) || NO_LEAKS -static void -free_form_fields(FIELD ** f) -{ - int n; - - for (n = 0; f[n] != 0; ++n) { - free_field(f[n]); - } - free(f); -} -#endif - -/*******************************************************************************/ - -static void -cardfile(char *fname) -{ - WINDOW *win; - CARD *p; - CARD *top_card; - int visible_cards; - int panel_wide; - int panel_high; - int form_wide; - int form_high; - int y; - int x; - int ch = ERR; - int last_ch; - int finished = FALSE; - - show_legend(); - - /* decide how many cards we can display */ - visible_cards = count_cards(); - while ( - (panel_wide = COLS - (visible_cards * OFFSET_CARD)) < 10 || - (panel_high = LINES - (visible_cards * OFFSET_CARD) - 5) < 5) { - --visible_cards; - } - form_wide = panel_wide - 2; - form_high = panel_high - 2; - y = (visible_cards - 1) * OFFSET_CARD; - x = 0; - - /* make a panel for each CARD */ - for (p = all_cards; p != 0; p = p->link) { - - if ((win = newwin(panel_high, panel_wide, y, x)) == 0) - break; - - wbkgd(win, COLOR_PAIR(pair_2)); - keypad(win, TRUE); - p->panel = new_panel(win); - box(win, 0, 0); - - p->form = new_form(make_fields(p, form_high, form_wide)); - set_form_win(p->form, win); - set_form_sub(p->form, derwin(win, form_high, form_wide, 1, 1)); - post_form(p->form); - - y -= OFFSET_CARD; - x += OFFSET_CARD; - } - - top_card = first_card(all_cards); - order_cards(top_card, visible_cards); - - while (!finished) { - update_panels(); - doupdate(); - - last_ch = ch; - ch = form_virtualize(panel_window(top_card->panel)); - switch (form_driver(top_card->form, ch)) { - case E_OK: - break; - case E_UNKNOWN_COMMAND: - switch (ch) { - case MY_CTRL_Q: - finished = TRUE; - break; - case MY_CTRL_P: - top_card = prev_card(top_card); - order_cards(top_card, visible_cards); - break; - case MY_CTRL_N: - top_card = next_card(top_card); - order_cards(top_card, visible_cards); - break; - case MY_CTRL_W: - form_driver(top_card->form, REQ_VALIDATION); - write_data(fname); - break; -#if defined(KEY_RESIZE) && HAVE_WRESIZE - case KEY_RESIZE: - /* resizeterm already did "something" reasonable, but it cannot - * know much about layout. So let's make it nicer. - */ - panel_wide = COLS - (visible_cards * OFFSET_CARD); - panel_high = LINES - (visible_cards * OFFSET_CARD) - 5; - - form_wide = panel_wide - 2; - form_high = panel_high - 2; - - y = (visible_cards - 1) * OFFSET_CARD; - x = 0; - - show_legend(); - for (p = all_cards; p != 0; p = p->link) { - FIELD **oldf = form_fields(p->form); - WINDOW *olds = form_sub(p->form); - - if (!isVisible(p)) - continue; - win = form_win(p->form); - - /* move and resize the card as needed - * FIXME: if the windows are shrunk too much, this won't do - */ - mvwin(win, y, x); - wresize(win, panel_high, panel_wide); - - /* reconstruct each form. Forms are not resizable, and - * there appears to be no good way to reload the text in - * a resized window. - */ - werase(win); - - unpost_form(p->form); - free_form(p->form); - - p->form = new_form(make_fields(p, form_high, form_wide)); - set_form_win(p->form, win); - set_form_sub(p->form, derwin(win, form_high, form_wide, - 1, 1)); - post_form(p->form); - - free_form_fields(oldf); - delwin(olds); - - box(win, 0, 0); - - y -= OFFSET_CARD; - x += OFFSET_CARD; - } - break; -#endif - default: - beep(); - break; - } - break; - default: - flash(); - break; - } - } -#if NO_LEAKS - while (all_cards != 0) { - FIELD **f; - int count; - - p = all_cards; - all_cards = all_cards->link; - - if (isVisible(p)) { - f = form_fields(p->form); - count = field_count(p->form); - - unpost_form(p->form); /* ...so we can free it */ - free_form(p->form); /* this also disconnects the fields */ - - free_form_fields(f); - - del_panel(p->panel); - } - free(p->title); - free(p->content); - free(p); - } -#endif -} - -static void -usage(void) -{ - static const char *msg[] = - { - "Usage: view [options] file" - ,"" - ,"Options:" - ," -c use color if terminal supports it" - }; - size_t n; - for (n = 0; n < SIZEOF(msg); n++) - fprintf(stderr, "%s\n", msg[n]); - ExitProgram(EXIT_FAILURE); -} - -/*******************************************************************************/ - -int -main(int argc, char *argv[]) -{ - int n; - - setlocale(LC_ALL, ""); - - while ((n = getopt(argc, argv, "c")) != EOF) { - switch (n) { - case 'c': - try_color = TRUE; - break; - default: - usage(); - } - } - - initscr(); - cbreak(); - noecho(); - - if (try_color) { - if (has_colors()) { - start_color(); - init_pair(pair_1, COLOR_WHITE, COLOR_BLUE); - init_pair(pair_2, COLOR_WHITE, COLOR_CYAN); - bkgd(COLOR_PAIR(pair_1)); - } else { - try_color = FALSE; - } - } - - if (optind + 1 == argc) { - for (n = 1; n < argc; n++) - read_data(argv[n]); - if (count_cards() == 0) - new_card(); - cardfile(argv[1]); - } else { - read_data(default_name); - if (count_cards() == 0) - new_card(); - cardfile(default_name); - } - - endwin(); - - ExitProgram(EXIT_SUCCESS); -} -#else -int -main(void) -{ - printf("This program requires the curses form and panel libraries\n"); - ExitProgram(EXIT_FAILURE); -} -#endif diff --git a/src/libs/ncurses/test/cardfile.dat b/src/libs/ncurses/test/cardfile.dat deleted file mode 100644 index deb4b76a7d..0000000000 --- a/src/libs/ncurses/test/cardfile.dat +++ /dev/null @@ -1,13 +0,0 @@ -title 1 - Some text for title1 - and some more text -title 2 - The quicker brown fox ran all over the lazy dog. -put a card before the first two - This is an example of a simple cardfile. -show a fourth card - The fourth card - has a large amount of data, - more than the other cards. - At least, that is what I thought it should do, since I want to see how well - the forms package handles justification. diff --git a/src/libs/ncurses/test/color_set.c b/src/libs/ncurses/test/color_set.c deleted file mode 100644 index 4ff6167483..0000000000 --- a/src/libs/ncurses/test/color_set.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - * $Id: color_set.c,v 1.3 2004/04/10 20:10:28 tom Exp $ - */ - -#include - -#ifdef HAVE_COLOR_SET - -#define SHOW(n) ((n) == ERR ? "ERR" : "OK") - -int -main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) -{ - short f, b; - int i; - - initscr(); - cbreak(); - noecho(); - - if (has_colors()) { - start_color(); - - pair_content(0, &f, &b); - printw("pair 0 contains (%d,%d)\n", f, b); - getch(); - - printw("Initializing pair 1 to red/black\n"); - init_pair(1, COLOR_RED, COLOR_BLACK); - i = color_set(1, NULL); - printw("RED/BLACK (%s)\n", SHOW(i)); - getch(); - - printw("Initializing pair 2 to white/blue\n"); - init_pair(2, COLOR_WHITE, COLOR_BLUE); - i = color_set(2, NULL); - printw("WHITE/BLUE (%s)\n", SHOW(i)); - getch(); - - printw("Resetting colors to pair 0\n"); - i = color_set(0, NULL); - printw("Default Colors (%s)\n", SHOW(i)); - getch(); - - printw("Resetting colors to pair 1\n"); - i = color_set(1, NULL); - printw("RED/BLACK (%s)\n", SHOW(i)); - getch(); - - } else { - printw("This demo requires a color terminal"); - getch(); - } - endwin(); - - ExitProgram(EXIT_SUCCESS); -} -#else -int -main(void) -{ - printf("This program requires the curses color_set function\n"); - ExitProgram(EXIT_FAILURE); -} -#endif diff --git a/src/libs/ncurses/test/configure b/src/libs/ncurses/test/configure deleted file mode 100755 index 0eff2626f8..0000000000 --- a/src/libs/ncurses/test/configure +++ /dev/null @@ -1,5008 +0,0 @@ -#! /bin/sh - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.13.20030927 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF -cat <<\EOF ---enable and --with options recognized: - --with-curses-dir=DIR directory in which (n)curses is installed - --with-5lib use SunOS sysv-libraries - --with-ncursesw use wide ncurses-libraries (installed) - --with-ncurses use ncurses-libraries (installed) -EOF - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.13.20030927" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=ncurses.c - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -ac_exeext= -ac_objext=o -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - - - -test -f config.guess || ( test -f ../config.guess && cp ../config.guess ./ ) - - -test -f config.sub || ( test -f ../config.sub && cp ../config.sub ./ ) - -ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - - -if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then - -# Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -fi - -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:565: checking host system type" >&5 - -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac - -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 - - system_name="$host_os" -else - system_name="`(uname -s -r) 2>/dev/null`" - if test -z "$system_name" ; then - system_name="`(hostname) 2>/dev/null`" - fi -fi -test -n "$system_name" && cat >> confdefs.h <&6 -else - cf_cv_system_name="$system_name" -fi - - -test -z "$system_name" && system_name="$cf_cv_system_name" -test -n "$cf_cv_system_name" && echo "$ac_t""Configuring for $cf_cv_system_name" 1>&6 - -if test ".$system_name" != ".$cf_cv_system_name" ; then - echo "$ac_t""Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" 1>&6 - { echo "configure: error: "Please remove config.cache and try again."" 1>&2; exit 1; } -fi - - -echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:613: checking whether ${MAKE-make} sets \${MAKE}" >&5 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftestmake <<\EOF -all: - @echo 'ac_maketemp="${MAKE}"' -EOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftestmake -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$ac_t""yes" 1>&6 - SET_MAKE= -else - echo "$ac_t""no" 1>&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - -# Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:642: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="gcc" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:672: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_prog_rejected=no - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - break - fi - done - IFS="$ac_save_ifs" -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# -gt 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - set dummy "$ac_dir/$ac_word" "$@" - shift - ac_cv_prog_CC="$@" - fi -fi -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - if test -z "$CC"; then - case "`uname -s`" in - *win32* | *WIN32*) - # Extract the first word of "cl", so it can be a program name with args. -set dummy cl; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:723: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="cl" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - ;; - esac - fi - test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } -fi - -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:755: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -cat > conftest.$ac_ext << EOF - -#line 766 "configure" -#include "confdefs.h" - -main(){return(0);} -EOF -if { (eval echo configure:771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - ac_cv_prog_cc_works=yes - # If we can't run a trivial program, we are probably using a cross compiler. - if (./conftest; exit) 2>/dev/null; then - ac_cv_prog_cc_cross=no - else - ac_cv_prog_cc_cross=yes - fi -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_prog_cc_works=no -fi -rm -fr conftest* -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 -if test $ac_cv_prog_cc_works = no; then - { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } -fi -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:797: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 -echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 -cross_compiling=$ac_cv_prog_cc_cross - -echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:802: checking whether we are using GNU C" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then - ac_cv_prog_gcc=yes -else - ac_cv_prog_gcc=no -fi -fi - -echo "$ac_t""$ac_cv_prog_gcc" 1>&6 - -if test $ac_cv_prog_gcc = yes; then - GCC=yes -else - GCC= -fi - -ac_test_CFLAGS="${CFLAGS+set}" -ac_save_CFLAGS="$CFLAGS" -CFLAGS= -echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:830: checking whether ${CC-cc} accepts -g" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - echo 'void f(){}' > conftest.c -if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then - ac_cv_prog_cc_g=yes -else - ac_cv_prog_cc_g=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi - -echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:862: checking how to run the C preprocessor" >&5 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then -if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - # This must be in double quotes, not single quotes, because CPP may get - # substituted into the Makefile and "${CC-cc}" will confuse make. - CPP="${CC-cc} -E" - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:883: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -E -traditional-cpp" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:900: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -nologo -E" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:917: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP=/lib/cpp -fi -rm -f conftest* -fi -rm -f conftest* -fi -rm -f conftest* - ac_cv_prog_CPP="$CPP" -fi - CPP="$ac_cv_prog_CPP" -else - ac_cv_prog_CPP="$CPP" -fi -echo "$ac_t""$CPP" 1>&6 - - -CC_G_OPT="-g" -CC_SHARED_OPTS=unknown -CPPFLAGS="$CPPFLAGS" -DFT_DEP_SUFFIX="" -DFT_OBJ_SUBDIR=`pwd|sed -e's:.*/::'` -DFT_UPR_MODEL="NORMAL" -ECHO_LINK='@ echo linking $@ ... ;' -LD="ld" -LDFLAGS_SHARED="" -LD_MODEL="" -LD_SHARED_OPTS="" -LIBTOOL="" -LIB_CLEAN="" -LIB_COMPILE="" -LIB_LINK="" -LIB_NAME=curses -LIB_PREFIX="-l" -LINK_TESTS="" -LINT=lint -LINT_OPTS="" -LOCAL_LDFLAGS="" -MATH_LIB="-lm" -TEST_ARGS="" -TEST_DEPS="" -TINFO_ARGS='$(LIBS_CURSES)' -cf_cv_abi_version="" -cf_cv_rel_version="" - -cf_cv_screen=curses -cf_cv_libtype= - -echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 -echo "configure:974: checking for Cygwin environment" >&5 -if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_cygwin=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_cygwin=no -fi -rm -f conftest* -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_cygwin" 1>&6 -CYGWIN= -test "$ac_cv_cygwin" = yes && CYGWIN=yes -echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 -echo "configure:1007: checking for mingw32 environment" >&5 -if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_mingw32=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_mingw32=no -fi -rm -f conftest* -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_mingw32" 1>&6 -MINGW32= -test "$ac_cv_mingw32" = yes && MINGW32=yes - - -echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:1038: checking for executable suffix" >&5 -if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$CYGWIN" = yes || test "$MINGW32" = yes; then - ac_cv_exeext=.exe -else - rm -f conftest* - echo 'int main () { return 0; }' > conftest.$ac_ext - ac_cv_exeext= - if { (eval echo configure:1048: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then - for file in conftest.*; do - case $file in - *.c | *.o | *.obj) ;; - *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; - esac - done - else - { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; } - fi - rm -f conftest* - test x"${ac_cv_exeext}" = x && ac_cv_exeext=no -fi -fi - -EXEEXT="" -test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext} -echo "$ac_t""${ac_cv_exeext}" 1>&6 -ac_exeext=$EXEEXT - -echo $ac_n "checking for object suffix""... $ac_c" 1>&6 -echo "configure:1069: checking for object suffix" >&5 -if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - rm -f conftest* -echo 'int i = 1;' > conftest.$ac_ext -if { (eval echo configure:1075: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - for ac_file in conftest.*; do - case $ac_file in - *.c) ;; - *) ac_cv_objext=`echo $ac_file | sed -e s/conftest.//` ;; - esac - done -else - { echo "configure: error: installation or configuration problem; compiler does not work" 1>&2; exit 1; } -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_objext" 1>&6 -OBJEXT=$ac_cv_objext -ac_objext=$ac_cv_objext - - - -echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6 -echo "configure:1095: checking for ${CC-cc} option to accept ANSI C" >&5 -if eval "test \"`echo '$''{'cf_cv_ansi_cc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - -cf_cv_ansi_cc=no -cf_save_CFLAGS="$CFLAGS" -cf_save_CPPFLAGS="$CPPFLAGS" -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX -Aa -D_HPUX_SOURCE -# SVR4 -Xc -# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes) -for cf_arg in "-DCC_HAS_PROTOS" \ - "" \ - -qlanglvl=ansi \ - -std1 \ - -Ae \ - "-Aa -D_HPUX_SOURCE" \ - -Xc -do - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_arg -do -case $cf_fix_cppflags in -no) - case $cf_add_cflags in #(vi - -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi - case $cf_add_cflags in - -D*) - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test $cf_fix_cppflags = yes ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - fi - ;; - esac - case "$CPPFLAGS" in - *$cf_add_cflags) #(vi - ;; - *) #(vi - cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" - ;; - esac - ;; - *) - cf_new_cflags="$cf_new_cflags $cf_add_cflags" - ;; - esac - ;; -yes) - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - CFLAGS="$CFLAGS $cf_new_cflags" -fi - -if test -n "$cf_new_cppflags" ; then - - CPPFLAGS="$cf_new_cppflags $CPPFLAGS" -fi - -if test -n "$cf_new_extra_cppflags" ; then - - EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" -fi - - - - - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_ansi_cc="$cf_arg"; break -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -done -CFLAGS="$cf_save_CFLAGS" -CPPFLAGS="$cf_save_CPPFLAGS" - -fi - -echo "$ac_t""$cf_cv_ansi_cc" 1>&6 - -if test "$cf_cv_ansi_cc" != "no"; then -if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_cv_ansi_cc -do -case $cf_fix_cppflags in -no) - case $cf_add_cflags in #(vi - -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi - case $cf_add_cflags in - -D*) - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test $cf_fix_cppflags = yes ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - fi - ;; - esac - case "$CPPFLAGS" in - *$cf_add_cflags) #(vi - ;; - *) #(vi - cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" - ;; - esac - ;; - *) - cf_new_cflags="$cf_new_cflags $cf_add_cflags" - ;; - esac - ;; -yes) - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - CFLAGS="$CFLAGS $cf_new_cflags" -fi - -if test -n "$cf_new_cppflags" ; then - - CPPFLAGS="$cf_new_cppflags $CPPFLAGS" -fi - -if test -n "$cf_new_extra_cppflags" ; then - - EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" -fi - - - - -else - cat >> confdefs.h <<\EOF -#define CC_HAS_PROTOS 1 -EOF - -fi -fi - - -if test "$cf_cv_ansi_cc" = "no"; then - { echo "configure: error: Your compiler does not appear to recognize prototypes. -You have the following choices: - a. adjust your compiler options - b. get an up-to-date compiler - c. use a wrapper such as unproto" 1>&2; exit 1; } -fi - - - - -INTEL_COMPILER=no - -if test "$GCC" = yes ; then - case $host_os in - linux*|gnu*) - echo $ac_n "checking if this is really Intel compiler""... $ac_c" 1>&6 -echo "configure:1323: checking if this is really Intel compiler" >&5 - cf_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -no-gcc" - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - INTEL_COMPILER=yes -cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc" - -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* - CFLAGS="$cf_save_CFLAGS" - echo "$ac_t""$INTEL_COMPILER" 1>&6 - ;; - esac -fi - - - -cf_XOPEN_SOURCE=500 -cf_POSIX_C_SOURCE=199506L - -case $host_os in #(vi -aix[45]*) #(vi - CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE" - ;; -freebsd*) #(vi - # 5.x headers associate - # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L - # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L - cf_POSIX_C_SOURCE=200112L - cf_XOPEN_SOURCE=600 - CPPFLAGS="$CPPFLAGS -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - ;; -hpux*) #(vi - CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE" - ;; -irix[56].*) #(vi - CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE" - ;; -linux*|gnu*) #(vi - - - -if test "$INTEL_COMPILER" = no ; then -echo $ac_n "checking if we must define _GNU_SOURCE""... $ac_c" 1>&6 -echo "configure:1384: checking if we must define _GNU_SOURCE" >&5 -if eval "test \"`echo '$''{'cf_cv_gnu_source'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - -cat > conftest.$ac_ext < -int main() { - -#ifndef _XOPEN_SOURCE -make an error -#endif -; return 0; } -EOF -if { (eval echo configure:1400: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_gnu_source=no -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" - cat > conftest.$ac_ext < -int main() { - -#ifdef _XOPEN_SOURCE -make an error -#endif -; return 0; } -EOF -if { (eval echo configure:1420: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_gnu_source=no -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_gnu_source=yes -fi -rm -f conftest* - CPPFLAGS="$cf_save" - -fi -rm -f conftest* - -fi - -echo "$ac_t""$cf_cv_gnu_source" 1>&6 -test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" -fi - - ;; -mirbsd*) #(vi - # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks - ;; -netbsd*) #(vi - # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw - ;; -openbsd*) #(vi - # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw - ;; -osf[45]*) #(vi - CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE" - ;; -sco*) #(vi - # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer - ;; -solaris*) #(vi - CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__" - ;; -*) - echo $ac_n "checking if we should define _XOPEN_SOURCE""... $ac_c" 1>&6 -echo "configure:1462: checking if we should define _XOPEN_SOURCE" >&5 -if eval "test \"`echo '$''{'cf_cv_xopen_source'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext < -int main() { - -#ifndef _XOPEN_SOURCE -make an error -#endif -; return 0; } -EOF -if { (eval echo configure:1478: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_xopen_source=no -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - cat > conftest.$ac_ext < -int main() { - -#ifdef _XOPEN_SOURCE -make an error -#endif -; return 0; } -EOF -if { (eval echo configure:1498: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_xopen_source=no -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_xopen_source=$cf_XOPEN_SOURCE -fi -rm -f conftest* - CPPFLAGS="$cf_save" - -fi -rm -f conftest* - -fi - -echo "$ac_t""$cf_cv_xopen_source" 1>&6 -test "$cf_cv_xopen_source" != no && CPPFLAGS="$CPPFLAGS -U_XOPEN_SOURCE -D_XOPEN_SOURCE=$cf_cv_xopen_source" - -cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -echo $ac_n "checking if we should define _POSIX_C_SOURCE""... $ac_c" 1>&6 -echo "configure:1520: checking if we should define _POSIX_C_SOURCE" >&5 -if eval "test \"`echo '$''{'cf_cv_posix_c_source'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - -echo "(line 1526) testing if the symbol is already defined go no further ..." 1>&5 - - cat > conftest.$ac_ext < -int main() { - -#ifndef _POSIX_C_SOURCE -make an error -#endif -; return 0; } -EOF -if { (eval echo configure:1539: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_posix_c_source=no -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_want_posix_source=no - case .$cf_POSIX_C_SOURCE in - .[12]??*) - cf_cv_posix_c_source="-U_POSIX_C_SOURCE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" - ;; - .2) - cf_cv_posix_c_source="-U_POSIX_C_SOURCE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" - cf_want_posix_source=yes - ;; - .*) - cf_want_posix_source=yes - ;; - esac - if test "$cf_want_posix_source" = yes ; then - cat > conftest.$ac_ext < -int main() { - -#ifdef _POSIX_SOURCE -make an error -#endif -; return 0; } -EOF -if { (eval echo configure:1571: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_posix_c_source="$cf_cv_posix_c_source -U_POSIX_SOURCE -D_POSIX_SOURCE" -fi -rm -f conftest* - fi - -echo "(line 1582) testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5 - - cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $cf_cv_posix_c_source" - -echo "(line 1587) testing if the second compile does not leave our definition intact error ..." 1>&5 - - cat > conftest.$ac_ext < -int main() { - -#ifndef _POSIX_C_SOURCE -make an error -#endif -; return 0; } -EOF -if { (eval echo configure:1600: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_posix_c_source=no -fi -rm -f conftest* - CPPFLAGS="$cf_save" - -fi -rm -f conftest* - -fi - -echo "$ac_t""$cf_cv_posix_c_source" 1>&6 -test "$cf_cv_posix_c_source" != no && CPPFLAGS="$CPPFLAGS $cf_cv_posix_c_source" - - ;; -esac - - - - -# Check whether --with-curses-dir or --without-curses-dir was given. -if test "${with_curses_dir+set}" = set; then - withval="$with_curses_dir" - -case ".$withval" in #(vi -.\$\(*\)*|.\'*\'*) #(vi - ;; -..|./*|.\\*) #(vi - ;; -.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX - ;; -.\${*prefix}*) #(vi - eval withval="$withval" - case ".$withval" in #(vi - .NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; - esac - ;; #(vi -.NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; -*) - { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; } - ;; -esac - - cf_cv_curses_dir=$withval -else - cf_cv_curses_dir=no -fi - - - - -# Check whether --with-5lib or --without-5lib was given. -if test "${with_5lib+set}" = set; then - withval="$with_5lib" - LIBS="-L/usr/5lib $LIBS" - CPPFLAGS="$CPPFLAGS -I/usr/5include" -fi - - - -# Check whether --with-ncursesw or --without-ncursesw was given. -if test "${with_ncursesw+set}" = set; then - withval="$with_ncursesw" - cf_cv_screen=ncursesw -fi - - - -# Check whether --with-ncurses or --without-ncurses was given. -if test "${with_ncurses+set}" = set; then - withval="$with_ncurses" - cf_cv_screen=ncurses -fi - - -case $cf_cv_screen in -curses) - - -echo $ac_n "checking for extra include directories""... $ac_c" 1>&6 -echo "configure:1689: checking for extra include directories" >&5 -if eval "test \"`echo '$''{'cf_cv_curses_incdir'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - -cf_cv_curses_incdir=no -case $host_os in #(vi -hpux10.*|hpux11.*) #(vi - test -d /usr/include/curses_colr && \ - cf_cv_curses_incdir="-I/usr/include/curses_colr" - ;; -sunos3*|sunos4*) - test -d /usr/5lib && \ - test -d /usr/5include && \ - cf_cv_curses_incdir="-I/usr/5include" - ;; -esac - -fi - -echo "$ac_t""$cf_cv_curses_incdir" 1>&6 -test "$cf_cv_curses_incdir" != no && CPPFLAGS="$cf_cv_curses_incdir $CPPFLAGS" - -echo $ac_n "checking if we have identified curses headers""... $ac_c" 1>&6 -echo "configure:1713: checking if we have identified curses headers" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_header'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - -cf_cv_ncurses_header=none -for cf_header in \ - curses.h \ - ncurses.h \ - ncurses/curses.h \ - ncurses/ncurses.h -do -cat > conftest.$ac_ext < -int main() { -initscr(); tgoto("?", 0,0) -; return 0; } -EOF -if { (eval echo configure:1733: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_ncurses_header=$cf_header; break -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -done - -fi - -echo "$ac_t""$cf_cv_ncurses_header" 1>&6 - -if test "$cf_cv_ncurses_header" = none ; then - { echo "configure: error: No curses header-files found" 1>&2; exit 1; } -fi - -# cheat, to get the right #define's for HAVE_NCURSES_H, etc. -for ac_hdr in $cf_cv_ncurses_header -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1756: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1766: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - - - - -echo $ac_n "checking for ncurses version""... $ac_c" 1>&6 -echo "configure:1796: checking for ncurses version" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cf_cv_ncurses_version=no - cf_tempfile=out$$ - rm -f $cf_tempfile - if test "$cross_compiling" = yes; then - - - # This will not work if the preprocessor splits the line after the - # Autoconf token. The 'unproto' program does that. - cat > conftest.$ac_ext < -#undef Autoconf -#ifdef NCURSES_VERSION -Autoconf NCURSES_VERSION -#else -#ifdef __NCURSES_H -Autoconf "old" -#endif -; -#endif -EOF - cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out" - { (eval echo configure:1822: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; } - if test -f conftest.out ; then - cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'` - test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" - rm -f conftest.out - fi - -else - cat > conftest.$ac_ext < -#include -int main() -{ - FILE *fp = fopen("$cf_tempfile", "w"); -#ifdef NCURSES_VERSION -# ifdef NCURSES_VERSION_PATCH - fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); -# else - fprintf(fp, "%s\n", NCURSES_VERSION); -# endif -#else -# ifdef __NCURSES_H - fprintf(fp, "old\n"); -# else - make an error -# endif -#endif - exit(0); -} -EOF -if { (eval echo configure:1855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - - cf_cv_ncurses_version=`cat $cf_tempfile` -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -fr conftest* -fi - - rm -f $cf_tempfile - -fi - -echo "$ac_t""$cf_cv_ncurses_version" 1>&6 -test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF -#define NCURSES 1 -EOF - - - - -echo $ac_n "checking if we have identified curses libraries""... $ac_c" 1>&6 -echo "configure:1879: checking if we have identified curses libraries" >&5 -cat > conftest.$ac_ext < -int main() { -initscr(); tgoto("?", 0,0) -; return 0; } -EOF -if { (eval echo configure:1888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_result=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_result=no -fi -rm -f conftest* -echo "$ac_t""$cf_result" 1>&6 - -if test "$cf_result" = no ; then -case $host_os in #(vi -freebsd*) #(vi - echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6 -echo "configure:1904: checking for tgoto in -lmytinfo" >&5 -ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lmytinfo $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="-lmytinfo $LIBS" -else - echo "$ac_t""no" 1>&6 -fi - - ;; -hpux10.*|hpux11.*) #(vi - echo $ac_n "checking for initscr in -lcur_colr""... $ac_c" 1>&6 -echo "configure:1946: checking for initscr in -lcur_colr" >&5 -ac_lib_var=`echo cur_colr'_'initscr | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lcur_colr $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - - LIBS="-lcur_colr $LIBS" - ac_cv_func_initscr=yes - -else - echo "$ac_t""no" 1>&6 - - echo $ac_n "checking for initscr in -lHcurses""... $ac_c" 1>&6 -echo "configure:1988: checking for initscr in -lHcurses" >&5 -ac_lib_var=`echo Hcurses'_'initscr | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lHcurses $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - - # HP's header uses __HP_CURSES, but user claims _HP_CURSES. - LIBS="-lHcurses $LIBS" - CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS" - ac_cv_func_initscr=yes - -else - echo "$ac_t""no" 1>&6 -fi - -fi - - ;; -linux*) # Suse Linux does not follow /usr/lib convention - LIBS="$LIBS -L/lib" - ;; -sunos3*|sunos4*) - test -d /usr/5lib && \ - LIBS="$LIBS -L/usr/5lib -lcurses -ltermcap" - ac_cv_func_initscr=yes - ;; -esac - -if test ".$ac_cv_func_initscr" != .yes ; then - cf_save_LIBS="$LIBS" - cf_term_lib="" - cf_curs_lib="" - - if test ".${cf_cv_ncurses_version-no}" != .no - then - cf_check_list="ncurses curses cursesX" - else - cf_check_list="cursesX curses ncurses" - fi - - # Check for library containing tgoto. Do this before curses library - # because it may be needed to link the test-case for initscr. - echo $ac_n "checking for tgoto""... $ac_c" 1>&6 -echo "configure:2060: checking for tgoto" >&5 -if eval "test \"`echo '$''{'ac_cv_func_tgoto'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char tgoto(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_tgoto) || defined (__stub___tgoto) -choke me -#else -tgoto(); -#endif - -; return 0; } -EOF -if { (eval echo configure:2088: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_tgoto=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_tgoto=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'tgoto`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cf_term_lib=predefined -else - echo "$ac_t""no" 1>&6 - - for cf_term_lib in $cf_check_list termcap termlib unknown - do - echo $ac_n "checking for tgoto in -l$cf_term_lib""... $ac_c" 1>&6 -echo "configure:2109: checking for tgoto in -l$cf_term_lib" >&5 -ac_lib_var=`echo $cf_term_lib'_'tgoto | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-l$cf_term_lib $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - break -else - echo "$ac_t""no" 1>&6 -fi - - done - -fi - - - # Check for library containing initscr - test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS" - for cf_curs_lib in $cf_check_list xcurses jcurses unknown - do - echo $ac_n "checking for initscr in -l$cf_curs_lib""... $ac_c" 1>&6 -echo "configure:2158: checking for initscr in -l$cf_curs_lib" >&5 -ac_lib_var=`echo $cf_curs_lib'_'initscr | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-l$cf_curs_lib $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - break -else - echo "$ac_t""no" 1>&6 -fi - - done - test $cf_curs_lib = unknown && { echo "configure: error: no curses library found" 1>&2; exit 1; } - - LIBS="-l$cf_curs_lib $cf_save_LIBS" - if test "$cf_term_lib" = unknown ; then - echo $ac_n "checking if we can link with $cf_curs_lib library""... $ac_c" 1>&6 -echo "configure:2203: checking if we can link with $cf_curs_lib library" >&5 - cat > conftest.$ac_ext < -int main() { -initscr() -; return 0; } -EOF -if { (eval echo configure:2212: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_result=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_result=no -fi -rm -f conftest* - echo "$ac_t""$cf_result" 1>&6 - test $cf_result = no && { echo "configure: error: Cannot link curses library" 1>&2; exit 1; } - elif test "$cf_curs_lib" = "$cf_term_lib" ; then - : - elif test "$cf_term_lib" != predefined ; then - echo $ac_n "checking if we need both $cf_curs_lib and $cf_term_lib libraries""... $ac_c" 1>&6 -echo "configure:2228: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5 - cat > conftest.$ac_ext < -int main() { -initscr(); tgoto((char *)0, 0, 0); -; return 0; } -EOF -if { (eval echo configure:2237: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_result=no -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - - LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS" - cat > conftest.$ac_ext < -int main() { -initscr() -; return 0; } -EOF -if { (eval echo configure:2254: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_result=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_result=error -fi -rm -f conftest* - -fi -rm -f conftest* - echo "$ac_t""$cf_result" 1>&6 - fi -fi -fi - - - ;; -ncurses) - - -cf_ncuhdr_root=ncurses - -test -n "$cf_cv_curses_dir" && \ -test "$cf_cv_curses_dir" != "no" && \ -CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS" - -echo $ac_n "checking for $cf_ncuhdr_root header in include-path""... $ac_c" 1>&6 -echo "configure:2284: checking for $cf_ncuhdr_root header in include-path" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_h'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h" - ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h" - for cf_header in $cf_header_list - do - - cat > conftest.$ac_ext < -int main() { - -#ifdef NCURSES_VERSION - -printf("%s\n", NCURSES_VERSION); -#else -#ifdef __NCURSES_H -printf("old\n"); -#else - make an error -#endif -#endif - - -; return 0; } -EOF -if { (eval echo configure:2316: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_ncurses_h=$cf_header - -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_ncurses_h=no -fi -rm -f conftest* - - test "$cf_cv_ncurses_h" != no && break - done - -fi - -echo "$ac_t""$cf_cv_ncurses_h" 1>&6 - -if test "$cf_cv_ncurses_h" != no ; then - cf_cv_ncurses_header=$cf_cv_ncurses_h -else -echo $ac_n "checking for $cf_ncuhdr_root include-path""... $ac_c" 1>&6 -echo "configure:2339: checking for $cf_ncuhdr_root include-path" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_h2'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - test -n "$verbose" && echo - cf_search="" - -test -d $HOME && { - test -n "$verbose" && echo " ... testing include-directories under $HOME" - test -d $HOME/include && cf_search="$cf_search $HOME/include" - test -d $HOME/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root" - test -d $HOME/include/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include" -} - -# For other stuff under the home directory, it should be sufficient to put -# a symbolic link for $HOME/$cf_ncuhdr_root to the actual package location: -test -d $HOME/$cf_ncuhdr_root && { - test -n "$verbose" && echo " ... testing include-directories under $HOME/$cf_ncuhdr_root" - test -d $HOME/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include" - test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -test "$prefix" != /usr/local && \ -test -d /usr/local && { - test -n "$verbose" && echo " ... testing include-directories under /usr/local" - test -d /usr/local/include && cf_search="$cf_search /usr/local/include" - test -d /usr/local/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root" - test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include" - test -d /usr/local/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include" - test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -test "$prefix" != NONE && \ -test -d $prefix && { - test -n "$verbose" && echo " ... testing include-directories under $prefix" - test -d $prefix/include && cf_search="$cf_search $prefix/include" - test -d $prefix/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root" - test -d $prefix/include/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include" - test -d $prefix/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include" - test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -test "$prefix" != /opt && \ -test -d /opt && { - test -n "$verbose" && echo " ... testing include-directories under /opt" - test -d /opt/include && cf_search="$cf_search /opt/include" - test -d /opt/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/include/$cf_ncuhdr_root" - test -d /opt/include/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include" - test -d /opt/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/$cf_ncuhdr_root/include" - test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -test "$prefix" != /usr && \ -test -d /usr && { - test -n "$verbose" && echo " ... testing include-directories under /usr" - test -d /usr/include && cf_search="$cf_search /usr/include" - test -d /usr/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/include/$cf_ncuhdr_root" - test -d /usr/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include" - test -d /usr/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/$cf_ncuhdr_root/include" -} - -test "$includedir" != NONE && \ -test "$includedir" != "/usr/include" && \ -test -d "$includedir" && { - test -d $includedir && cf_search="$cf_search $includedir" - test -d $includedir/$cf_ncuhdr_root && cf_search="$cf_search $includedir/$cf_ncuhdr_root" -} - -test "$oldincludedir" != NONE && \ -test "$oldincludedir" != "/usr/include" && \ -test -d "$oldincludedir" && { - test -d $oldincludedir && cf_search="$cf_search $oldincludedir" - test -d $oldincludedir/$cf_ncuhdr_root && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root" -} - - - test -n "$verbose" && echo search path $cf_search - cf_save2_CPPFLAGS="$CPPFLAGS" - for cf_incdir in $cf_search - do - -for cf_add_incdir in $cf_incdir -do - while true - do - case $cf_add_incdir in - /usr/include) # (vi - ;; - /usr/local/include) # (vi - if test "$GCC" = yes - then - cf_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - cat > conftest.$ac_ext < -int main() { -printf("Hello") -; return 0; } -EOF -if { (eval echo configure:2441: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPPFLAGS="$cf_save_CPPFLAGS" -fi -rm -f conftest* - fi - ;; - *) # (vi - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - ;; - esac - cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - done -done - - for cf_header in \ - ncurses.h \ - curses.h - do - - cat > conftest.$ac_ext < -int main() { - -#ifdef NCURSES_VERSION - -printf("%s\n", NCURSES_VERSION); -#else -#ifdef __NCURSES_H -printf("old\n"); -#else - make an error -#endif -#endif - - -; return 0; } -EOF -if { (eval echo configure:2489: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_ncurses_h2=$cf_header - -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_ncurses_h2=no -fi -rm -f conftest* - - if test "$cf_cv_ncurses_h2" != no ; then - cf_cv_ncurses_h2=$cf_incdir/$cf_header - test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&6 - break - fi - test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&6 - done - CPPFLAGS="$cf_save2_CPPFLAGS" - test "$cf_cv_ncurses_h2" != no && break - done - test "$cf_cv_ncurses_h2" = no && { echo "configure: error: not found" 1>&2; exit 1; } - -fi - -echo "$ac_t""$cf_cv_ncurses_h2" 1>&6 - - cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'` - cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2` - if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then - cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header - fi - -for cf_add_incdir in $cf_1st_incdir -do - while true - do - case $cf_add_incdir in - /usr/include) # (vi - ;; - /usr/local/include) # (vi - if test "$GCC" = yes - then - cf_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - cat > conftest.$ac_ext < -int main() { -printf("Hello") -; return 0; } -EOF -if { (eval echo configure:2543: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPPFLAGS="$cf_save_CPPFLAGS" -fi -rm -f conftest* - fi - ;; - *) # (vi - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - ;; - esac - cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - done -done - - -fi - -cat >> confdefs.h <<\EOF -#define NCURSES 1 -EOF - - -case $cf_cv_ncurses_header in # (vi -*ncurses.h) - cat >> confdefs.h <<\EOF -#define HAVE_NCURSES_H 1 -EOF - - ;; -esac - -case $cf_cv_ncurses_header in # (vi -ncurses/curses.h|ncurses/ncurses.h) - cat >> confdefs.h <<\EOF -#define HAVE_NCURSES_NCURSES_H 1 -EOF - - ;; -ncursesw/curses.h|ncursesw/ncurses.h) - cat >> confdefs.h <<\EOF -#define HAVE_NCURSESW_NCURSES_H 1 -EOF - - ;; -esac - - -echo $ac_n "checking for ncurses version""... $ac_c" 1>&6 -echo "configure:2598: checking for ncurses version" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cf_cv_ncurses_version=no - cf_tempfile=out$$ - rm -f $cf_tempfile - if test "$cross_compiling" = yes; then - - - # This will not work if the preprocessor splits the line after the - # Autoconf token. The 'unproto' program does that. - cat > conftest.$ac_ext < -#undef Autoconf -#ifdef NCURSES_VERSION -Autoconf NCURSES_VERSION -#else -#ifdef __NCURSES_H -Autoconf "old" -#endif -; -#endif -EOF - cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out" - { (eval echo configure:2624: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; } - if test -f conftest.out ; then - cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'` - test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" - rm -f conftest.out - fi - -else - cat > conftest.$ac_ext < -#include -int main() -{ - FILE *fp = fopen("$cf_tempfile", "w"); -#ifdef NCURSES_VERSION -# ifdef NCURSES_VERSION_PATCH - fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); -# else - fprintf(fp, "%s\n", NCURSES_VERSION); -# endif -#else -# ifdef __NCURSES_H - fprintf(fp, "old\n"); -# else - make an error -# endif -#endif - exit(0); -} -EOF -if { (eval echo configure:2657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - - cf_cv_ncurses_version=`cat $cf_tempfile` -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -fr conftest* -fi - - rm -f $cf_tempfile - -fi - -echo "$ac_t""$cf_cv_ncurses_version" 1>&6 -test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF -#define NCURSES 1 -EOF - - - - - -cf_nculib_root=ncurses - # This works, except for the special case where we find gpm, but - # ncurses is in a nonstandard location via $LIBS, and we really want - # to link gpm. -cf_ncurses_LIBS="" -cf_ncurses_SAVE="$LIBS" -echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 -echo "configure:2688: checking for Gpm_Open in -lgpm" >&5 -ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lgpm $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for initscr in -lgpm""... $ac_c" 1>&6 -echo "configure:2723: checking for initscr in -lgpm" >&5 -ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lgpm $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="$cf_ncurses_SAVE" -else - echo "$ac_t""no" 1>&6 -cf_ncurses_LIBS="-lgpm" -fi - -else - echo "$ac_t""no" 1>&6 -fi - - -case $host_os in #(vi -freebsd*) - # This is only necessary if you are linking against an obsolete - # version of ncurses (but it should do no harm, since it's static). - if test "$cf_nculib_root" = ncurses ; then - echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6 -echo "configure:2774: checking for tgoto in -lmytinfo" >&5 -ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lmytinfo $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS" -else - echo "$ac_t""no" 1>&6 -fi - - fi - ;; -esac - -LIBS="$cf_ncurses_LIBS $LIBS" - -if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" ) -then - LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS" -else - - eval 'cf_cv_have_lib_'$cf_nculib_root'=no' - cf_libdir="" - echo $ac_n "checking for initscr""... $ac_c" 1>&6 -echo "configure:2827: checking for initscr" >&5 -if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char initscr(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_initscr) || defined (__stub___initscr) -choke me -#else -initscr(); -#endif - -; return 0; } -EOF -if { (eval echo configure:2855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_initscr=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_initscr=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then - echo "$ac_t""yes" 1>&6 - eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' -else - echo "$ac_t""no" 1>&6 - - cf_save_LIBS="$LIBS" - echo $ac_n "checking for initscr in -l$cf_nculib_root""... $ac_c" 1>&6 -echo "configure:2875: checking for initscr in -l$cf_nculib_root" >&5 - LIBS="-l$cf_nculib_root $LIBS" - cat > conftest.$ac_ext < -int main() { -initscr() -; return 0; } -EOF -if { (eval echo configure:2885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - echo "$ac_t""yes" 1>&6 - eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' - -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""no" 1>&6 - cf_search="" - -test -d $HOME && { - test -n "$verbose" && echo " ... testing lib-directories under $HOME" - test -d $HOME/lib && cf_search="$cf_search $HOME/lib" - test -d $HOME/lib/$cf_nculib_root && cf_search="$cf_search $HOME/lib/$cf_nculib_root" - test -d $HOME/lib/$cf_nculib_root/lib && cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib" -} - -# For other stuff under the home directory, it should be sufficient to put -# a symbolic link for $HOME/$cf_nculib_root to the actual package location: -test -d $HOME/$cf_nculib_root && { - test -n "$verbose" && echo " ... testing lib-directories under $HOME/$cf_nculib_root" - test -d $HOME/$cf_nculib_root/lib && cf_search="$cf_search $HOME/$cf_nculib_root/lib" - test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root" -} - -test "$prefix" != /usr/local && \ -test -d /usr/local && { - test -n "$verbose" && echo " ... testing lib-directories under /usr/local" - test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib" - test -d /usr/local/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/lib/$cf_nculib_root" - test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib" - test -d /usr/local/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/$cf_nculib_root/lib" - test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root" -} - -test "$prefix" != NONE && \ -test -d $prefix && { - test -n "$verbose" && echo " ... testing lib-directories under $prefix" - test -d $prefix/lib && cf_search="$cf_search $prefix/lib" - test -d $prefix/lib/$cf_nculib_root && cf_search="$cf_search $prefix/lib/$cf_nculib_root" - test -d $prefix/lib/$cf_nculib_root/lib && cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib" - test -d $prefix/$cf_nculib_root/lib && cf_search="$cf_search $prefix/$cf_nculib_root/lib" - test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root" -} - -test "$prefix" != /opt && \ -test -d /opt && { - test -n "$verbose" && echo " ... testing lib-directories under /opt" - test -d /opt/lib && cf_search="$cf_search /opt/lib" - test -d /opt/lib/$cf_nculib_root && cf_search="$cf_search /opt/lib/$cf_nculib_root" - test -d /opt/lib/$cf_nculib_root/lib && cf_search="$cf_search /opt/lib/$cf_nculib_root/lib" - test -d /opt/$cf_nculib_root/lib && cf_search="$cf_search /opt/$cf_nculib_root/lib" - test -d /opt/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root" -} - -test "$prefix" != /usr && \ -test -d /usr && { - test -n "$verbose" && echo " ... testing lib-directories under /usr" - test -d /usr/lib && cf_search="$cf_search /usr/lib" - test -d /usr/lib/$cf_nculib_root && cf_search="$cf_search /usr/lib/$cf_nculib_root" - test -d /usr/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/lib/$cf_nculib_root/lib" - test -d /usr/$cf_nculib_root/lib && cf_search="$cf_search /usr/$cf_nculib_root/lib" -} - - for cf_libdir in $cf_search - do - echo $ac_n "checking for -l$cf_nculib_root in $cf_libdir""... $ac_c" 1>&6 -echo "configure:2954: checking for -l$cf_nculib_root in $cf_libdir" >&5 - LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS" - cat > conftest.$ac_ext < -int main() { -initscr() -; return 0; } -EOF -if { (eval echo configure:2964: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - echo "$ac_t""yes" 1>&6 - eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' - break -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""no" 1>&6 - LIBS="$cf_save_LIBS" -fi -rm -f conftest* - done - -fi -rm -f conftest* - -fi - -eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root - -if test $cf_found_library = no ; then - { echo "configure: error: Cannot link $cf_nculib_root library" 1>&2; exit 1; } -fi - - -fi - -if test -n "$cf_ncurses_LIBS" ; then - echo $ac_n "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS""... $ac_c" 1>&6 -echo "configure:2995: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5 - cf_ncurses_SAVE="$LIBS" - for p in $cf_ncurses_LIBS ; do - q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"` - if test "$q" != "$LIBS" ; then - LIBS="$q" - fi - done - cat > conftest.$ac_ext < -int main() { -initscr(); mousemask(0,0); tgoto((char *)0, 0, 0); -; return 0; } -EOF -if { (eval echo configure:3011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - echo "$ac_t""yes" 1>&6 -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""no" 1>&6 - LIBS="$cf_ncurses_SAVE" -fi -rm -f conftest* -fi - - -cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - -cat >> confdefs.h <&6 -echo "configure:3038: checking for multibyte character support" >&5 -if eval "test \"`echo '$''{'cf_cv_utf8_lib'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cf_save_LIBS="$LIBS" - cat > conftest.$ac_ext < -int main() { -putwc(0,0); -; return 0; } -EOF -if { (eval echo configure:3053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_cv_utf8_lib=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - LIBS="-lutf8 $LIBS" - cat > conftest.$ac_ext < -int main() { -putwc(0,0); -; return 0; } -EOF -if { (eval echo configure:3070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_cv_utf8_lib=add-on -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_utf8_lib=no -fi -rm -f conftest* - LIBS="$cf_save_LIBS" - -fi -rm -f conftest* -fi - -echo "$ac_t""$cf_cv_utf8_lib" 1>&6 - -# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between -# ncurses/ncursesw: -if test "$cf_cv_utf8_lib" = "add-on" ; then - cat >> confdefs.h <<\EOF -#define HAVE_LIBUTF8_H 1 -EOF - - LIBS="-lutf8 $LIBS" -fi - - - -cf_ncuhdr_root=ncursesw - -test -n "$cf_cv_curses_dir" && \ -test "$cf_cv_curses_dir" != "no" && \ -CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS" - -echo $ac_n "checking for $cf_ncuhdr_root header in include-path""... $ac_c" 1>&6 -echo "configure:3107: checking for $cf_ncuhdr_root header in include-path" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_h'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h" - ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h" - for cf_header in $cf_header_list - do - - cat > conftest.$ac_ext < -int main() { - -#ifdef NCURSES_VERSION - -#ifndef WACS_BSSB - make an error -#endif - -printf("%s\n", NCURSES_VERSION); -#else -#ifdef __NCURSES_H -printf("old\n"); -#else - make an error -#endif -#endif - - -; return 0; } -EOF -if { (eval echo configure:3147: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_ncurses_h=$cf_header - -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_ncurses_h=no -fi -rm -f conftest* - - test "$cf_cv_ncurses_h" != no && break - done - -fi - -echo "$ac_t""$cf_cv_ncurses_h" 1>&6 - -if test "$cf_cv_ncurses_h" != no ; then - cf_cv_ncurses_header=$cf_cv_ncurses_h -else -echo $ac_n "checking for $cf_ncuhdr_root include-path""... $ac_c" 1>&6 -echo "configure:3170: checking for $cf_ncuhdr_root include-path" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_h2'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - test -n "$verbose" && echo - cf_search="" - -test -d $HOME && { - test -n "$verbose" && echo " ... testing include-directories under $HOME" - test -d $HOME/include && cf_search="$cf_search $HOME/include" - test -d $HOME/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root" - test -d $HOME/include/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include" -} - -# For other stuff under the home directory, it should be sufficient to put -# a symbolic link for $HOME/$cf_ncuhdr_root to the actual package location: -test -d $HOME/$cf_ncuhdr_root && { - test -n "$verbose" && echo " ... testing include-directories under $HOME/$cf_ncuhdr_root" - test -d $HOME/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include" - test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -test "$prefix" != /usr/local && \ -test -d /usr/local && { - test -n "$verbose" && echo " ... testing include-directories under /usr/local" - test -d /usr/local/include && cf_search="$cf_search /usr/local/include" - test -d /usr/local/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root" - test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include" - test -d /usr/local/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include" - test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -test "$prefix" != NONE && \ -test -d $prefix && { - test -n "$verbose" && echo " ... testing include-directories under $prefix" - test -d $prefix/include && cf_search="$cf_search $prefix/include" - test -d $prefix/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root" - test -d $prefix/include/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include" - test -d $prefix/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include" - test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -test "$prefix" != /opt && \ -test -d /opt && { - test -n "$verbose" && echo " ... testing include-directories under /opt" - test -d /opt/include && cf_search="$cf_search /opt/include" - test -d /opt/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/include/$cf_ncuhdr_root" - test -d /opt/include/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include" - test -d /opt/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/$cf_ncuhdr_root/include" - test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -test "$prefix" != /usr && \ -test -d /usr && { - test -n "$verbose" && echo " ... testing include-directories under /usr" - test -d /usr/include && cf_search="$cf_search /usr/include" - test -d /usr/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/include/$cf_ncuhdr_root" - test -d /usr/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include" - test -d /usr/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/$cf_ncuhdr_root/include" -} - -test "$includedir" != NONE && \ -test "$includedir" != "/usr/include" && \ -test -d "$includedir" && { - test -d $includedir && cf_search="$cf_search $includedir" - test -d $includedir/$cf_ncuhdr_root && cf_search="$cf_search $includedir/$cf_ncuhdr_root" -} - -test "$oldincludedir" != NONE && \ -test "$oldincludedir" != "/usr/include" && \ -test -d "$oldincludedir" && { - test -d $oldincludedir && cf_search="$cf_search $oldincludedir" - test -d $oldincludedir/$cf_ncuhdr_root && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root" -} - - - test -n "$verbose" && echo search path $cf_search - cf_save2_CPPFLAGS="$CPPFLAGS" - for cf_incdir in $cf_search - do - -for cf_add_incdir in $cf_incdir -do - while true - do - case $cf_add_incdir in - /usr/include) # (vi - ;; - /usr/local/include) # (vi - if test "$GCC" = yes - then - cf_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - cat > conftest.$ac_ext < -int main() { -printf("Hello") -; return 0; } -EOF -if { (eval echo configure:3272: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPPFLAGS="$cf_save_CPPFLAGS" -fi -rm -f conftest* - fi - ;; - *) # (vi - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - ;; - esac - cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - done -done - - for cf_header in \ - ncurses.h \ - curses.h - do - - cat > conftest.$ac_ext < -int main() { - -#ifdef NCURSES_VERSION - -#ifndef WACS_BSSB - make an error -#endif - -printf("%s\n", NCURSES_VERSION); -#else -#ifdef __NCURSES_H -printf("old\n"); -#else - make an error -#endif -#endif - - -; return 0; } -EOF -if { (eval echo configure:3328: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_ncurses_h2=$cf_header - -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_ncurses_h2=no -fi -rm -f conftest* - - if test "$cf_cv_ncurses_h2" != no ; then - cf_cv_ncurses_h2=$cf_incdir/$cf_header - test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&6 - break - fi - test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&6 - done - CPPFLAGS="$cf_save2_CPPFLAGS" - test "$cf_cv_ncurses_h2" != no && break - done - test "$cf_cv_ncurses_h2" = no && { echo "configure: error: not found" 1>&2; exit 1; } - -fi - -echo "$ac_t""$cf_cv_ncurses_h2" 1>&6 - - cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'` - cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2` - if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then - cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header - fi - -for cf_add_incdir in $cf_1st_incdir -do - while true - do - case $cf_add_incdir in - /usr/include) # (vi - ;; - /usr/local/include) # (vi - if test "$GCC" = yes - then - cf_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - cat > conftest.$ac_ext < -int main() { -printf("Hello") -; return 0; } -EOF -if { (eval echo configure:3382: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPPFLAGS="$cf_save_CPPFLAGS" -fi -rm -f conftest* - fi - ;; - *) # (vi - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - ;; - esac - cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - done -done - - -fi - -cat >> confdefs.h <<\EOF -#define NCURSES 1 -EOF - - -case $cf_cv_ncurses_header in # (vi -*ncurses.h) - cat >> confdefs.h <<\EOF -#define HAVE_NCURSES_H 1 -EOF - - ;; -esac - -case $cf_cv_ncurses_header in # (vi -ncurses/curses.h|ncurses/ncurses.h) - cat >> confdefs.h <<\EOF -#define HAVE_NCURSES_NCURSES_H 1 -EOF - - ;; -ncursesw/curses.h|ncursesw/ncurses.h) - cat >> confdefs.h <<\EOF -#define HAVE_NCURSESW_NCURSES_H 1 -EOF - - ;; -esac - - -echo $ac_n "checking for ncurses version""... $ac_c" 1>&6 -echo "configure:3437: checking for ncurses version" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cf_cv_ncurses_version=no - cf_tempfile=out$$ - rm -f $cf_tempfile - if test "$cross_compiling" = yes; then - - - # This will not work if the preprocessor splits the line after the - # Autoconf token. The 'unproto' program does that. - cat > conftest.$ac_ext < -#undef Autoconf -#ifdef NCURSES_VERSION -Autoconf NCURSES_VERSION -#else -#ifdef __NCURSES_H -Autoconf "old" -#endif -; -#endif -EOF - cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out" - { (eval echo configure:3463: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; } - if test -f conftest.out ; then - cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'` - test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" - rm -f conftest.out - fi - -else - cat > conftest.$ac_ext < -#include -int main() -{ - FILE *fp = fopen("$cf_tempfile", "w"); -#ifdef NCURSES_VERSION -# ifdef NCURSES_VERSION_PATCH - fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); -# else - fprintf(fp, "%s\n", NCURSES_VERSION); -# endif -#else -# ifdef __NCURSES_H - fprintf(fp, "old\n"); -# else - make an error -# endif -#endif - exit(0); -} -EOF -if { (eval echo configure:3496: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - - cf_cv_ncurses_version=`cat $cf_tempfile` -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -fr conftest* -fi - - rm -f $cf_tempfile - -fi - -echo "$ac_t""$cf_cv_ncurses_version" 1>&6 -test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF -#define NCURSES 1 -EOF - - - - - -cf_nculib_root=ncursesw - # This works, except for the special case where we find gpm, but - # ncurses is in a nonstandard location via $LIBS, and we really want - # to link gpm. -cf_ncurses_LIBS="" -cf_ncurses_SAVE="$LIBS" -echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 -echo "configure:3527: checking for Gpm_Open in -lgpm" >&5 -ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lgpm $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for initscr in -lgpm""... $ac_c" 1>&6 -echo "configure:3562: checking for initscr in -lgpm" >&5 -ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lgpm $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="$cf_ncurses_SAVE" -else - echo "$ac_t""no" 1>&6 -cf_ncurses_LIBS="-lgpm" -fi - -else - echo "$ac_t""no" 1>&6 -fi - - -case $host_os in #(vi -freebsd*) - # This is only necessary if you are linking against an obsolete - # version of ncurses (but it should do no harm, since it's static). - if test "$cf_nculib_root" = ncurses ; then - echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6 -echo "configure:3613: checking for tgoto in -lmytinfo" >&5 -ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lmytinfo $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS" -else - echo "$ac_t""no" 1>&6 -fi - - fi - ;; -esac - -LIBS="$cf_ncurses_LIBS $LIBS" - -if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" ) -then - LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS" -else - - eval 'cf_cv_have_lib_'$cf_nculib_root'=no' - cf_libdir="" - echo $ac_n "checking for initscr""... $ac_c" 1>&6 -echo "configure:3666: checking for initscr" >&5 -if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char initscr(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_initscr) || defined (__stub___initscr) -choke me -#else -initscr(); -#endif - -; return 0; } -EOF -if { (eval echo configure:3694: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_initscr=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_initscr=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then - echo "$ac_t""yes" 1>&6 - eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' -else - echo "$ac_t""no" 1>&6 - - cf_save_LIBS="$LIBS" - echo $ac_n "checking for initscr in -l$cf_nculib_root""... $ac_c" 1>&6 -echo "configure:3714: checking for initscr in -l$cf_nculib_root" >&5 - LIBS="-l$cf_nculib_root $LIBS" - cat > conftest.$ac_ext < -int main() { -initscr() -; return 0; } -EOF -if { (eval echo configure:3724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - echo "$ac_t""yes" 1>&6 - eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' - -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""no" 1>&6 - cf_search="" - -test -d $HOME && { - test -n "$verbose" && echo " ... testing lib-directories under $HOME" - test -d $HOME/lib && cf_search="$cf_search $HOME/lib" - test -d $HOME/lib/$cf_nculib_root && cf_search="$cf_search $HOME/lib/$cf_nculib_root" - test -d $HOME/lib/$cf_nculib_root/lib && cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib" -} - -# For other stuff under the home directory, it should be sufficient to put -# a symbolic link for $HOME/$cf_nculib_root to the actual package location: -test -d $HOME/$cf_nculib_root && { - test -n "$verbose" && echo " ... testing lib-directories under $HOME/$cf_nculib_root" - test -d $HOME/$cf_nculib_root/lib && cf_search="$cf_search $HOME/$cf_nculib_root/lib" - test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root" -} - -test "$prefix" != /usr/local && \ -test -d /usr/local && { - test -n "$verbose" && echo " ... testing lib-directories under /usr/local" - test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib" - test -d /usr/local/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/lib/$cf_nculib_root" - test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib" - test -d /usr/local/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/$cf_nculib_root/lib" - test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root" -} - -test "$prefix" != NONE && \ -test -d $prefix && { - test -n "$verbose" && echo " ... testing lib-directories under $prefix" - test -d $prefix/lib && cf_search="$cf_search $prefix/lib" - test -d $prefix/lib/$cf_nculib_root && cf_search="$cf_search $prefix/lib/$cf_nculib_root" - test -d $prefix/lib/$cf_nculib_root/lib && cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib" - test -d $prefix/$cf_nculib_root/lib && cf_search="$cf_search $prefix/$cf_nculib_root/lib" - test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root" -} - -test "$prefix" != /opt && \ -test -d /opt && { - test -n "$verbose" && echo " ... testing lib-directories under /opt" - test -d /opt/lib && cf_search="$cf_search /opt/lib" - test -d /opt/lib/$cf_nculib_root && cf_search="$cf_search /opt/lib/$cf_nculib_root" - test -d /opt/lib/$cf_nculib_root/lib && cf_search="$cf_search /opt/lib/$cf_nculib_root/lib" - test -d /opt/$cf_nculib_root/lib && cf_search="$cf_search /opt/$cf_nculib_root/lib" - test -d /opt/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root" -} - -test "$prefix" != /usr && \ -test -d /usr && { - test -n "$verbose" && echo " ... testing lib-directories under /usr" - test -d /usr/lib && cf_search="$cf_search /usr/lib" - test -d /usr/lib/$cf_nculib_root && cf_search="$cf_search /usr/lib/$cf_nculib_root" - test -d /usr/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/lib/$cf_nculib_root/lib" - test -d /usr/$cf_nculib_root/lib && cf_search="$cf_search /usr/$cf_nculib_root/lib" -} - - for cf_libdir in $cf_search - do - echo $ac_n "checking for -l$cf_nculib_root in $cf_libdir""... $ac_c" 1>&6 -echo "configure:3793: checking for -l$cf_nculib_root in $cf_libdir" >&5 - LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS" - cat > conftest.$ac_ext < -int main() { -initscr() -; return 0; } -EOF -if { (eval echo configure:3803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - echo "$ac_t""yes" 1>&6 - eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' - break -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""no" 1>&6 - LIBS="$cf_save_LIBS" -fi -rm -f conftest* - done - -fi -rm -f conftest* - -fi - -eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root - -if test $cf_found_library = no ; then - { echo "configure: error: Cannot link $cf_nculib_root library" 1>&2; exit 1; } -fi - - -fi - -if test -n "$cf_ncurses_LIBS" ; then - echo $ac_n "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS""... $ac_c" 1>&6 -echo "configure:3834: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5 - cf_ncurses_SAVE="$LIBS" - for p in $cf_ncurses_LIBS ; do - q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"` - if test "$q" != "$LIBS" ; then - LIBS="$q" - fi - done - cat > conftest.$ac_ext < -int main() { -initscr(); mousemask(0,0); tgoto((char *)0, 0, 0); -; return 0; } -EOF -if { (eval echo configure:3850: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - echo "$ac_t""yes" 1>&6 -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""no" 1>&6 - LIBS="$cf_ncurses_SAVE" -fi -rm -f conftest* -fi - - -cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - -cat >> confdefs.h <&6 -echo "configure:3878: checking for new_panel in -lpanel$cf_cv_libtype" >&5 -ac_lib_var=`echo panel$cf_cv_libtype'_'new_panel | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lpanel$cf_cv_libtype $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo panel$cf_cv_libtype | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <&6 -fi - -echo $ac_n "checking for menu_driver in -lmenu$cf_cv_libtype""... $ac_c" 1>&6 -echo "configure:3925: checking for menu_driver in -lmenu$cf_cv_libtype" >&5 -ac_lib_var=`echo menu$cf_cv_libtype'_'menu_driver | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lmenu$cf_cv_libtype $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo menu$cf_cv_libtype | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <&6 -fi - -echo $ac_n "checking for form_driver in -lform$cf_cv_libtype""... $ac_c" 1>&6 -echo "configure:3972: checking for form_driver in -lform$cf_cv_libtype" >&5 -ac_lib_var=`echo form$cf_cv_libtype'_'form_driver | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lform$cf_cv_libtype $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo form$cf_cv_libtype | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <&6 -fi - - -echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:4020: checking return type of signal handlers" >&5 -if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -#ifdef signal -#undef signal -#endif -#ifdef __cplusplus -extern "C" void (*signal (int, void (*)(int)))(int); -#else -void (*signal ()) (); -#endif - -int main() { -int i; -; return 0; } -EOF -if { (eval echo configure:4042: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_type_signal=void -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_type_signal=int -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_type_signal" 1>&6 -cat >> confdefs.h <&6 -echo "configure:4062: checking for ANSI C header files" >&5 -if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -#include -#include -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4075: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - ac_cv_header_stdc=yes -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -if test "$cross_compiling" = yes; then - : -else - cat > conftest.$ac_ext < -#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int main () { int i; for (i = 0; i < 256; i++) -if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); -exit (0); } - -EOF -if { (eval echo configure:4142: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_header_stdc=no -fi -rm -fr conftest* -fi - -fi -fi - -echo "$ac_t""$ac_cv_header_stdc" 1>&6 -if test $ac_cv_header_stdc = yes; then - cat >> confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF - -fi - -echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:4166: checking whether time.h and sys/time.h may both be included" >&5 -if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -#include -int main() { -struct tm *tp; -; return 0; } -EOF -if { (eval echo configure:4180: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_header_time=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_time=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_header_time" 1>&6 -if test $ac_cv_header_time = yes; then - cat >> confdefs.h <<\EOF -#define TIME_WITH_SYS_TIME 1 -EOF - -fi - -for ac_hdr in \ -form.h \ -getopt.h \ -locale.h \ -menu.h \ -nc_alloc.h \ -nomacros.h \ -panel.h \ -sys/ioctl.h \ -sys/select.h \ -sys/time.h \ -termios.h \ -unistd.h \ - -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4217: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4227: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - - -for ac_func in \ -color_set \ -getnstr \ -gettimeofday \ -napms \ -resize_term \ -resizeterm \ -slk_color \ -strdup \ -use_default_colors \ -vsscanf \ -wchgat \ -wresize \ - -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4270: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:4298: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - -cat > conftest.$ac_ext < -int main() { - - (void) assume_default_colors (0, 0); - (void) curses_version (); - (void) define_key (0, 0); - (void) is_term_resized (0, 0); - (void) key_defined (0); - (void) keybound (0, 0); - (void) keyok (0, 0); - (void) resize_term (0, 0); - (void) resizeterm (0, 0); - (void) use_default_colors (); - (void) use_extended_names (0); - (void) wresize (0, 0, 0); - -; return 0; } -EOF -if { (eval echo configure:4345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cat >> confdefs.h <<\EOF -#define NCURSES_EXT_FUNCS 1 -EOF - -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* - - -echo $ac_n "checking if sys/time.h works with sys/select.h""... $ac_c" 1>&6 -echo "configure:4359: checking if sys/time.h works with sys/select.h" >&5 -if eval "test \"`echo '$''{'cf_cv_sys_time_select'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - -cat > conftest.$ac_ext < -#ifdef HAVE_SYS_TIME_H -#include -#endif -#ifdef HAVE_SYS_SELECT_H -#include -#endif - -int main() { - -; return 0; } -EOF -if { (eval echo configure:4380: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_sys_time_select=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_sys_time_select=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$cf_cv_sys_time_select" 1>&6 -test "$cf_cv_sys_time_select" = yes && cat >> confdefs.h <<\EOF -#define HAVE_SYS_TIME_SELECT 1 -EOF - - - -echo $ac_n "checking for function curses_version""... $ac_c" 1>&6 -echo "configure:4401: checking for function curses_version" >&5 -if eval "test \"`echo '$''{'cf_cv_func_curses_version'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - -if test "$cross_compiling" = yes; then - cf_cv_func_curses_version=unknown -else - cat > conftest.$ac_ext < -int main() -{ - char temp[1024]; - sprintf(temp, "%s\n", curses_version()); - exit(0); -} - -EOF -if { (eval echo configure:4422: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - cf_cv_func_curses_version=yes - -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - cf_cv_func_curses_version=no - -fi -rm -fr conftest* -fi - -rm -f core -fi - -echo "$ac_t""$cf_cv_func_curses_version" 1>&6 -test "$cf_cv_func_curses_version" = yes && cat >> confdefs.h <<\EOF -#define HAVE_CURSES_VERSION 1 -EOF - - - -echo $ac_n "checking for alternate character set array""... $ac_c" 1>&6 -echo "configure:4447: checking for alternate character set array" >&5 -if eval "test \"`echo '$''{'cf_cv_curses_acs_map'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - -cf_cv_curses_acs_map=unknown -for name in acs_map _acs_map __acs_map _nc_acs_map -do -cat > conftest.$ac_ext < - -int main() { - -$name['k'] = ACS_PLUS - -; return 0; } -EOF -if { (eval echo configure:4467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_cv_curses_acs_map=$name; break -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -done - -fi - -echo "$ac_t""$cf_cv_curses_acs_map" 1>&6 - -test "$cf_cv_curses_acs_map" != unknown && cat >> confdefs.h <&6 -echo "configure:4488: checking for wide alternate character set array" >&5 -if eval "test \"`echo '$''{'cf_cv_curses_wacs_map'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cf_cv_curses_wacs_map=unknown - for name in wacs_map _wacs_map __wacs_map _nc_wacs - do - cat > conftest.$ac_ext < -int main() { -$name['k'] = *WACS_PLUS -; return 0; } -EOF -if { (eval echo configure:4508: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_cv_curses_wacs_map=$name - break -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* - done -fi - -echo "$ac_t""$cf_cv_curses_wacs_map" 1>&6 - - -echo $ac_n "checking for type attr_t in ${cf_cv_ncurses_header-curses.h}""... $ac_c" 1>&6 -echo "configure:4524: checking for type attr_t in ${cf_cv_ncurses_header-curses.h}" >&5 -cat > conftest.$ac_ext < -int main() { - -attr_t foo - -; return 0; } -EOF -if { (eval echo configure:4539: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_result=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_result=no -fi -rm -f conftest* -echo "$ac_t""$cf_result" 1>&6 -if test $cf_result = yes ; then - -cf_result=`echo "have_type_attr_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - cat >> confdefs.h <> confdefs.h <&6 -echo "configure:4567: checking for type mbstate_t in ${cf_cv_ncurses_header-curses.h}" >&5 -cat > conftest.$ac_ext < -int main() { - -mbstate_t foo - -; return 0; } -EOF -if { (eval echo configure:4582: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_result=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_result=no -fi -rm -f conftest* -echo "$ac_t""$cf_result" 1>&6 -if test $cf_result = yes ; then - -cf_result=`echo "have_type_mbstate_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - cat >> confdefs.h <> confdefs.h < confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -DEFS=-DHAVE_CONFIG_H - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS </dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.13.20030927" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir - -trap 'rm -fr `echo "Makefile ncurses_cfg.h:ncurses_tst.hin" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@FFLAGS@%$FFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@host@%$host%g -s%@host_alias@%$host_alias%g -s%@host_cpu@%$host_cpu%g -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@SET_MAKE@%$SET_MAKE%g -s%@CC@%$CC%g -s%@CPP@%$CPP%g -s%@CC_G_OPT@%$CC_G_OPT%g -s%@CC_SHARED_OPTS@%$CC_SHARED_OPTS%g -s%@DFT_DEP_SUFFIX@%$DFT_DEP_SUFFIX%g -s%@DFT_OBJ_SUBDIR@%$DFT_OBJ_SUBDIR%g -s%@DFT_UPR_MODEL@%$DFT_UPR_MODEL%g -s%@ECHO_LINK@%$ECHO_LINK%g -s%@LD@%$LD%g -s%@LDFLAGS_SHARED@%$LDFLAGS_SHARED%g -s%@LD_MODEL@%$LD_MODEL%g -s%@LD_SHARED_OPTS@%$LD_SHARED_OPTS%g -s%@LIBTOOL@%$LIBTOOL%g -s%@LIB_CLEAN@%$LIB_CLEAN%g -s%@LIB_COMPILE@%$LIB_COMPILE%g -s%@LIB_LINK@%$LIB_LINK%g -s%@LIB_NAME@%$LIB_NAME%g -s%@LIB_PREFIX@%$LIB_PREFIX%g -s%@LINK_TESTS@%$LINK_TESTS%g -s%@LINT@%$LINT%g -s%@LINT_OPTS@%$LINT_OPTS%g -s%@LOCAL_LDFLAGS@%$LOCAL_LDFLAGS%g -s%@MATH_LIB@%$MATH_LIB%g -s%@TEST_ARGS@%$TEST_ARGS%g -s%@TEST_DEPS@%$TEST_DEPS%g -s%@TINFO_ARGS@%$TINFO_ARGS%g -s%@cf_cv_abi_version@%$cf_cv_abi_version%g -s%@cf_cv_rel_version@%$cf_cv_rel_version%g -s%@EXEEXT@%$EXEEXT%g -s%@OBJEXT@%$OBJEXT%g -s%@EXTRA_CPPFLAGS@%$EXTRA_CPPFLAGS%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' -ac_dC='\3' -ac_dD='%g' -# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='\([ ]\)%\1#\2define\3' -ac_uC=' ' -ac_uD='\4%g' -# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_eB='$%\1#\2define\3' -ac_eC=' ' -ac_eD='%g' - -if test "${CONFIG_HEADERS+set}" != set; then -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -fi -for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - echo creating $ac_file - - rm -f conftest.frag conftest.in conftest.out - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - cat $ac_file_inputs > conftest.in - -EOF - - -# Transform confdefs.h into a list of #define's. We won't use it as a sed -# script, but as data to insert where we see @DEFS@. We expect AC_SAVE_DEFS to -# be either 'cat' or 'sort'. -sort confdefs.h >conftest.vals - -# Break up conftest.vals because some shells have a limit on -# the size of here documents, and old seds have small limits too. - -rm -f conftest.tail -echo ' rm -f conftest.frag' >> $CONFIG_STATUS -while : -do - ac_lines=`grep -c . conftest.vals` - # grep -c gives empty output for an empty file on some AIX systems. - if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi - # Write chunks of a limited-size here document to conftest.frag. - echo ' cat >> conftest.frag <> $CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS - echo 'CEOF' >> $CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail - rm -f conftest.vals - mv conftest.tail conftest.vals -done -rm -f conftest.vals - -# Run sed to substitute the contents of conftest.frag into conftest.in at the -# marker @DEFS@. -echo ' cat >> conftest.edit < conftest.out -rm -f conftest.in -mv conftest.out conftest.in -rm -f conftest.edit conftest.frag -' >> $CONFIG_STATUS - - -cat >> $CONFIG_STATUS <<\EOF - rm -f conftest.frag conftest.h - echo "/* $ac_file. Generated automatically by configure. */" > conftest.h - cat conftest.in >> conftest.h - rm -f conftest.in - if cmp -s $ac_file conftest.h 2>/dev/null; then - echo "$ac_file is unchanged" - rm -f conftest.h - else - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - fi - rm -f $ac_file - mv conftest.h $ac_file - fi -fi; done - -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -# Extra commands, if any - - cat >>Makefile <>Makefile <], -[ - (void) assume_default_colors (0, 0); - (void) curses_version (); - (void) define_key (0, 0); - (void) is_term_resized (0, 0); - (void) key_defined (0); - (void) keybound (0, 0); - (void) keyok (0, 0); - (void) resize_term (0, 0); - (void) resizeterm (0, 0); - (void) use_default_colors (); - (void) use_extended_names (0); - (void) wresize (0, 0, 0); - ],[AC_DEFINE(NCURSES_EXT_FUNCS)]) - -CF_SYS_TIME_SELECT -CF_FUNC_CURSES_VERSION -CF_CURSES_ACS_MAP -CF_CURSES_WACS_MAP -CF_CURSES_CHECK_TYPE(attr_t,long) -CF_CURSES_CHECK_TYPE(mbstate_t,long) - -TEST_ARGS="$LIBS" -LIBS= - -dnl --------------------------------------------------------------------------- - -AC_OUTPUT(Makefile,[ - cat >>Makefile <>Makefile < - -#if defined(NCURSES_VERSION) && NCURSES_EXT_FUNCS - -#include - -#define MY_LOGFILE "demo_defkey.log" - -/* - * Log the most recently-written line to our logfile - */ -static void -log_last_line(WINDOW *win) -{ - FILE *fp; - int y, x, n; - char temp[256]; - - if ((fp = fopen(MY_LOGFILE, "a")) != 0) { - getyx(win, y, x); - wmove(win, y - 1, 0); - n = winnstr(win, temp, sizeof(temp)); - while (n-- > 0) { - if (isspace(UChar(temp[n]))) - temp[n] = '\0'; - else - break; - } - wmove(win, y, x); - fprintf(fp, "%s\n", temp); - fclose(fp); - } -} - -/* - * Convert a character to visible form. - */ -static char * -visichar(int ch) -{ - static char temp[10]; - - ch = UChar(ch); - if (ch == '\\') { - strcpy(temp, "\\\\"); - } else if (ch == '\033') { - strcpy(temp, "\\E"); - } else if (ch < ' ') { - sprintf(temp, "\\%03o", ch); - } else if (ch >= 127) { - sprintf(temp, "\\%03o", ch); - } else { - sprintf(temp, "%c", ch); - } - return temp; -} - -/* - * Convert a string to visible form. - */ -static char * -visible(const char *string) -{ - char *result = 0; - unsigned need = 1; - int pass; - int n; - - if (string != 0 && *string != '\0') { - for (pass = 0; pass < 2; ++pass) { - for (n = 0; string[n] != '\0'; ++n) { - char temp[80]; - strcpy(temp, visichar(string[n])); - if (pass) - strcat(result, temp); - else - need += strlen(temp); - } - if (!pass) - result = (char *) calloc(need, 1); - } - } else { - result = (char *) calloc(1, 1); - } - return result; -} - -static void -really_define_key(WINDOW *win, const char *new_string, int code) -{ - int rc; - const char *code_name = keyname(code); - char *old_string; - char *vis_string = 0; - char temp[80]; - - if (code_name == 0) { - sprintf(temp, "Keycode %d", code); - code_name = temp; - } - - if ((old_string = keybound(code, 0)) != 0) { - wprintw(win, "%s is %s\n", - code_name, - vis_string = visible(old_string)); - } else { - wprintw(win, "%s is not bound\n", - code_name); - } - log_last_line(win); - if (vis_string != 0) { - free(vis_string); - vis_string = 0; - } - - vis_string = visible(new_string); - if ((rc = key_defined(new_string)) > 0) { - wprintw(win, "%s was bound to %s\n", vis_string, keyname(rc)); - log_last_line(win); - } else if (new_string != 0 && rc < 0) { - wprintw(win, "%s conflicts with longer strings\n", vis_string); - log_last_line(win); - } - rc = define_key(new_string, code); - if (rc == ERR) { - wprintw(win, "%s unchanged\n", code_name); - log_last_line(win); - } else if (new_string != 0) { - wprintw(win, "%s is now bound to %s\n", - vis_string, - code_name); - log_last_line(win); - } else if (old_string != 0) { - wprintw(win, "%s deleted\n", code_name); - log_last_line(win); - } - if (vis_string != 0 && *vis_string != 0) - free(vis_string); - if (old_string != 0) - free(old_string); -} - -static void -duplicate(WINDOW *win, NCURSES_CONST char *name, int code) -{ - char *value = tigetstr(name); - - if (value != 0) { - const char *prefix = 0; - char temp[BUFSIZ]; - - if (!strncmp(value, "\033[", 2)) { - prefix = "\033O"; - } else if (!strncmp(value, "\033O", 2)) { - prefix = "\033["; - } - if (prefix != 0) { - sprintf(temp, "%s%s", prefix, value + 2); - really_define_key(win, temp, code); - } - } -} - -static void -redefine(WINDOW *win, char *string, int code) -{ - really_define_key(win, string, code); -} - -static void -remove_definition(WINDOW *win, int code) -{ - really_define_key(win, 0, code); -} - -int -main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) -{ - char *fkeys[12]; - int n; - int ch; - WINDOW *win; - - unlink(MY_LOGFILE); - - initscr(); - (void) cbreak(); /* take input chars one at a time, no wait for \n */ - (void) noecho(); /* don't echo input */ - - printw("This demo is best on xterm: it reverses the definitions for f1-f12,\n"); - printw("adds duplicate definitions for cursor application and normal modes,\n"); - printw("and removes any definitions for the mini keypad. Type any of those:\n"); - refresh(); - - win = newwin(LINES - 3, COLS, 3, 0); - scrollok(win, TRUE); - keypad(win, TRUE); - wmove(win, 0, 0); - - /* we do the define_key() calls after keypad(), since the first call to - * keypad() initializes the corresponding data. - */ - for (n = 0; n < 12; ++n) { - char name[10]; - sprintf(name, "kf%d", n + 1); - fkeys[n] = tigetstr(name); - } - for (n = 0; n < 12; ++n) { - redefine(win, fkeys[11 - n], KEY_F(n + 1)); - } - - duplicate(win, "kcub1", KEY_LEFT); - duplicate(win, "kcuu1", KEY_UP); - duplicate(win, "kcud1", KEY_DOWN); - duplicate(win, "kcuf1", KEY_RIGHT); - - remove_definition(win, KEY_A1); - remove_definition(win, KEY_A3); - remove_definition(win, KEY_B2); - remove_definition(win, KEY_C1); - remove_definition(win, KEY_C3); - - really_define_key(win, "\033O", 1023); - - while ((ch = wgetch(win)) != ERR) { - const char *name = keyname(ch); - wprintw(win, "Keycode %d, name %s\n", - ch, - name != 0 ? name : ""); - log_last_line(win); - wclrtoeol(win); - } - endwin(); - return EXIT_SUCCESS; -} -#else -int -main(void) -{ - printf("This program requires the ncurses library\n"); - ExitProgram(EXIT_FAILURE); -} -#endif diff --git a/src/libs/ncurses/test/demo_forms.c b/src/libs/ncurses/test/demo_forms.c deleted file mode 100644 index 72401dd965..0000000000 --- a/src/libs/ncurses/test/demo_forms.c +++ /dev/null @@ -1,469 +0,0 @@ -/* - * $Id: demo_forms.c,v 1.18 2005/10/08 21:54:20 tom Exp $ - * - * Demonstrate a variety of functions from the form library. - * Thomas Dickey - 2003/4/26 - */ -/* -TYPE_ALNUM - -TYPE_ENUM - -TYPE_REGEXP - -dup_field - -field_arg - -field_back - -field_count - -field_fore - -field_init - -field_just - -field_pad - -field_term - -field_type - -form_init - -form_opts - -form_opts_off - -form_opts_on - -form_page - -form_request_by_name - -form_term - -form_userptr - -free_fieldtype - -link_field - -link_fieldtype - -move_field - -new_page - -pos_form_cursor - -set_field_init - -set_field_pad - -set_field_term - -set_fieldtype_arg - -set_fieldtype_choice - -set_form_fields - -set_form_init - -set_form_opts - -set_form_page - -set_form_term - -set_form_userptr - -set_max_field - -*/ - -#include - -#if USE_LIBFORM - -#include - -static int d_option = 0; -static int j_value = 0; -static int m_value = 0; -static int o_value = 0; -static char *t_value = 0; - -static FIELD * -make_label(int frow, int fcol, NCURSES_CONST char *label) -{ - FIELD *f = new_field(1, (int) strlen(label), frow, fcol, 0, 0); - - if (f) { - set_field_buffer(f, 0, label); - set_field_opts(f, (int) (field_opts(f) & ~O_ACTIVE)); - } - return (f); -} - -/* - * Define each field with an extra one, for reflecting "actual" text. - */ -static FIELD * -make_field(int frow, int fcol, int rows, int cols) -{ - FIELD *f = new_field(rows, cols, frow, fcol, o_value, 1); - - if (f) { - set_field_back(f, A_UNDERLINE); - /* - * If -j and -d options are combined, -j loses. It is documented in - * "Character User Interface Programming", page 12-15 that setting - * O_STATIC off makes the form library ignore justification. - */ - set_field_just(f, j_value); - set_field_userptr(f, (void *) 0); - if (d_option) { - if (has_colors()) { - set_field_fore(f, COLOR_PAIR(2)); - } else { - set_field_fore(f, A_BOLD); - } - /* - * The field_opts_off() call dumps core with Solaris curses, - * but that is a known bug in Solaris' form library -TD - */ - field_opts_off(f, O_STATIC); - set_max_field(f, m_value); - } - if (t_value) - set_field_buffer(f, 0, t_value); - } - return (f); -} - -static void -display_form(FORM * f) -{ - WINDOW *w; - int rows, cols; - - scale_form(f, &rows, &cols); - - /* - * Put the form at the upper-left corner of the display, with just a box - * around it. - */ - if ((w = newwin(rows + 2, cols + 4, 0, 0)) != (WINDOW *) 0) { - set_form_win(f, w); - set_form_sub(f, derwin(w, rows, cols, 1, 2)); - box(w, 0, 0); - keypad(w, TRUE); - } - - if (post_form(f) != E_OK) - wrefresh(w); -} - -static void -erase_form(FORM * f) -{ - WINDOW *w = form_win(f); - WINDOW *s = form_sub(f); - - unpost_form(f); - werase(w); - wrefresh(w); - delwin(s); - delwin(w); -} - -static void -show_insert_mode(bool insert_mode) -{ - mvaddstr(5, 57, (insert_mode - ? "form_status: insert " - : "form_status: overlay")); -} - -#define O_SELECTABLE (O_ACTIVE | O_VISIBLE) - -static FIELD * -another_field(FORM * form, FIELD * field) -{ - FIELD **f = form_fields(form); - FIELD *result = 0; - int n; - - for (n = 0; f[n] != 0; ++n) { - if (f[n] != field) { - result = f[n]; - field_opts_on(result, O_SELECTABLE); - break; - } - } - return result; -} - -static int -my_form_driver(FORM * form, int c) -{ - static bool insert_mode = TRUE; - FIELD *field; - - switch (c) { - case MY_QUIT: - if (form_driver(form, REQ_VALIDATION) == E_OK) - return (TRUE); - break; - case MY_HELP: - help_edit_field(); - break; - case MY_EDT_MODE: - if ((field = current_field(form)) != 0) { - set_current_field(form, another_field(form, field)); - if (field_opts(field) & O_EDIT) { - field_opts_off(field, O_EDIT); - set_field_status(field, 0); - } else { - field_opts_on(field, O_EDIT); - } - set_current_field(form, field); - } - break; - case MY_INS_MODE: - /* there should be a form_status() function, but there is none */ - if (!insert_mode) { - if (form_driver(form, REQ_INS_MODE) == E_OK) { - insert_mode = TRUE; - } - } else { - if (form_driver(form, REQ_OVL_MODE) == E_OK) { - insert_mode = FALSE; - } - } - show_insert_mode(insert_mode); - refresh(); - break; - default: - beep(); - break; - } - return (FALSE); -} - -static void -show_current_field(WINDOW *win, FORM * form) -{ - FIELD *field; - FIELDTYPE *type; - char *buffer; - int nbuf; - int field_rows, field_cols, field_max; - - if (has_colors()) { - wbkgd(win, COLOR_PAIR(1)); - } - werase(win); - wprintw(win, "Cursor: %d,%d", form->currow, form->curcol); - if (data_ahead(form)) - waddstr(win, " ahead"); - if (data_behind(form)) - waddstr(win, " behind"); - waddch(win, '\n'); - if ((field = current_field(form)) != 0) { - wprintw(win, "Field %d:", field_index(field)); - if ((type = field_type(field)) != 0) { - if (type == TYPE_ALNUM) - waddstr(win, "ALNUM"); - else if (type == TYPE_ALPHA) - waddstr(win, "ALPHA"); - else if (type == TYPE_ENUM) - waddstr(win, "ENUM"); - else if (type == TYPE_INTEGER) - waddstr(win, "INTEGER"); -#ifdef NCURSES_VERSION - else if (type == TYPE_IPV4) - waddstr(win, "IPV4"); -#endif - else if (type == TYPE_NUMERIC) - waddstr(win, "NUMERIC"); - else if (type == TYPE_REGEXP) - waddstr(win, "REGEXP"); - else - waddstr(win, "other"); - } - - if (field_opts(field) & O_EDIT) - waddstr(win, " editable"); - else - waddstr(win, " readonly"); - - if (field_status(field)) - waddstr(win, " modified"); - - if (dynamic_field_info(field, &field_rows, &field_cols, &field_max) - != ERR) { - wprintw(win, " size %dx%d (max %d)", - field_rows, field_cols, field_max); - } - waddstr(win, "\n"); - for (nbuf = 0; nbuf <= 2; ++nbuf) { - if ((buffer = field_buffer(field, nbuf)) != 0) { - wprintw(win, "buffer %d:", nbuf); - wattrset(win, A_REVERSE); - waddstr(win, buffer); - wattroff(win, A_REVERSE); - waddstr(win, "\n"); - } - } - } - wrefresh(win); -} - -static void -demo_forms(void) -{ - WINDOW *w; - FORM *form; - FIELD *f[100]; - int finished = 0, c; - unsigned n = 0; - int pg; - WINDOW *also; - - help_edit_field(); - - mvaddstr(4, 57, "Forms Entry Test"); - show_insert_mode(TRUE); - - refresh(); - - /* describe the form */ - for (pg = 0; pg < 4; ++pg) { - char label[80]; - sprintf(label, "Sample Form Page %d", pg + 1); - f[n++] = make_label(0, 15, label); - set_new_page(f[n - 1], TRUE); - - switch (pg) { - default: - f[n++] = make_label(2, 0, "Last Name"); - f[n++] = make_field(3, 0, 1, 18); - set_field_type(f[n - 1], TYPE_ALPHA, 1); - - f[n++] = make_label(2, 20, "First Name"); - f[n++] = make_field(3, 20, 1, 12); - set_field_type(f[n - 1], TYPE_ALPHA, 1); - - f[n++] = make_label(2, 34, "Middle Name"); - f[n++] = make_field(3, 34, 1, 12); - set_field_type(f[n - 1], TYPE_ALPHA, 1); - break; - case 2: - f[n++] = make_label(2, 0, "Host Name"); - f[n++] = make_field(3, 0, 1, 18); - set_field_type(f[n - 1], TYPE_ALPHA, 1); - -#ifdef NCURSES_VERSION - f[n++] = make_label(2, 20, "IP Address"); - f[n++] = make_field(3, 20, 1, 12); - set_field_type(f[n - 1], TYPE_IPV4, 1); -#endif - - break; - - case 3: - f[n++] = make_label(2, 0, "Four digits"); - f[n++] = make_field(3, 0, 1, 18); - set_field_type(f[n - 1], TYPE_INTEGER, 4, 0, 0); - - f[n++] = make_label(2, 20, "Numeric"); - f[n++] = make_field(3, 20, 1, 12); - set_field_type(f[n - 1], TYPE_NUMERIC, 3, -10000.0, 100000000.0); - - break; - } - - f[n++] = make_label(5, 0, "Comments"); - f[n++] = make_field(6, 0, 4, 46); - } - - f[n++] = (FIELD *) 0; - - form = new_form(f); - - display_form(form); - - w = form_win(form); - also = newwin(getmaxy(stdscr) - getmaxy(w), COLS, getmaxy(w), 0); - show_current_field(also, form); - - while (!finished) { - switch (edit_field(form, &c)) { - case E_OK: - break; - case E_UNKNOWN_COMMAND: - finished = my_form_driver(form, c); - break; - default: - beep(); - break; - } - show_current_field(also, form); - } - - erase_form(form); - - free_form(form); - for (c = 0; f[c] != 0; c++) - free_field(f[c]); - noraw(); - nl(); -} - -static void -usage(void) -{ - static const char *tbl[] = - { - "Usage: demo_forms [options]" - ,"" - ," -d make fields dynamic" - ," -j value justify (1=left, 2=center, 3=right)" - ," -m value set maximum size of dynamic fields" - ," -o value specify number of offscreen rows in new_field()" - ," -t value specify text to fill fields initially" - }; - unsigned int j; - for (j = 0; j < SIZEOF(tbl); ++j) - fprintf(stderr, "%s\n", tbl[j]); - exit(EXIT_FAILURE); -} - -int -main(int argc, char *argv[]) -{ - int ch; - - setlocale(LC_ALL, ""); - - while ((ch = getopt(argc, argv, "dj:m:o:t:")) != EOF) { - switch (ch) { - case 'd': - d_option = TRUE; - break; - case 'j': - j_value = atoi(optarg); - if (j_value < NO_JUSTIFICATION - || j_value > JUSTIFY_RIGHT) - usage(); - break; - case 'm': - m_value = atoi(optarg); - break; - case 'o': - o_value = atoi(optarg); - break; - case 't': - t_value = optarg; - break; - default: - usage(); - - } - } - - initscr(); - cbreak(); - noecho(); - raw(); - nonl(); /* lets us read ^M's */ - intrflush(stdscr, FALSE); - keypad(stdscr, TRUE); - - if (has_colors()) { - start_color(); - init_pair(1, COLOR_WHITE, COLOR_BLUE); - init_pair(2, COLOR_GREEN, COLOR_BLACK); - bkgd(COLOR_PAIR(1)); - refresh(); - } - - demo_forms(); - - endwin(); - ExitProgram(EXIT_SUCCESS); -} -#else -int -main(void) -{ - printf("This program requires the curses form library\n"); - ExitProgram(EXIT_FAILURE); -} -#endif diff --git a/src/libs/ncurses/test/demo_keyok.c b/src/libs/ncurses/test/demo_keyok.c deleted file mode 100644 index 670bd54f26..0000000000 --- a/src/libs/ncurses/test/demo_keyok.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * $Id: demo_keyok.c,v 1.3 2003/05/17 23:18:34 tom Exp $ - * - * Demonstrate the keyok() function. - * Thomas Dickey - 2002/11/23 - */ - -#include - -#if defined(NCURSES_VERSION) && NCURSES_EXT_FUNCS -int -main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) -{ - int lastch = ERR; - int ch; - WINDOW *win; - - initscr(); - (void) cbreak(); /* take input chars one at a time, no wait for \n */ - (void) noecho(); /* don't echo input */ - - printw("Typing any function key will disable it, but typing it twice in\n"); - printw("a row will turn it back on (just for a demo)."); - refresh(); - - win = newwin(LINES - 2, COLS, 2, 0); - scrollok(win, TRUE); - keypad(win, TRUE); - wmove(win, 0, 0); - - while ((ch = wgetch(win)) != ERR) { - const char *name = keyname(ch); - wprintw(win, "Keycode %d, name %s\n", - ch, - name != 0 ? name : ""); - wclrtoeol(win); - wrefresh(win); - if (ch >= KEY_MIN) { - keyok(ch, FALSE); - lastch = ch; - } else if (lastch >= KEY_MIN) { - keyok(lastch, TRUE); - } - } - endwin(); - return EXIT_SUCCESS; -} -#else -int -main(void) -{ - printf("This program requires the ncurses library\n"); - ExitProgram(EXIT_FAILURE); -} -#endif diff --git a/src/libs/ncurses/test/demo_menus.c b/src/libs/ncurses/test/demo_menus.c deleted file mode 100644 index 3e77c48797..0000000000 --- a/src/libs/ncurses/test/demo_menus.c +++ /dev/null @@ -1,696 +0,0 @@ -/* - * $Id: demo_menus.c,v 1.13 2005/10/01 15:54:31 tom Exp $ - * - * Demonstrate a variety of functions from the menu library. - * Thomas Dickey - 2005/4/9 - */ -/* -item_description - -item_init - -item_opts - -item_opts_off - -item_opts_on - -item_term - -item_userptr - -item_visible - -menu_back - -menu_fore - -menu_format - -menu_grey - -menu_init - -menu_mark - -menu_opts - -menu_pad - -menu_pattern - -menu_request_by_name - -menu_request_name - -menu_sub - -menu_term - -menu_userptr - -set_current_item - -set_item_init - -set_item_opts - -set_item_term - -set_item_userptr - -set_menu_grey - -set_menu_init - -set_menu_items - -set_menu_opts - -set_menu_pad - -set_menu_pattern - -set_menu_spacing - -set_menu_term - -set_menu_userptr - -set_top_row - -top_row - -*/ - -#include - -#if USE_LIBMENU - -#include - -#include -#include - -#ifdef NCURSES_VERSION -#ifdef TRACE -static unsigned save_trace = TRACE_ORDINARY | TRACE_CALLS; -extern unsigned _nc_tracing; -static MENU *mpTrace; -#endif -#else -#undef TRACE -#endif - -typedef enum { - eUnknown = -1 - ,eFile = 0 - ,eSelect -#ifdef TRACE - ,eTrace -#endif -} MenuNo; - -#define MENU_Y 1 - -static MENU *mpBanner; -static MENU *mpFile; -static MENU *mpSelect; - -#if !HAVE_STRDUP -#define strdup my_strdup -static char * -strdup(char *s) -{ - char *p = (char *) malloc(strlen(s) + 1); - if (p) - strcpy(p, s); - return (p); -} -#endif /* not HAVE_STRDUP */ - -/* Common function to allow ^T to toggle trace-mode in the middle of a test - * so that trace-files can be made smaller. - */ -static int -wGetchar(WINDOW *win) -{ - int c; -#ifdef TRACE - while ((c = wgetch(win)) == CTRL('T')) { - if (_nc_tracing) { - save_trace = _nc_tracing; - _tracef("TOGGLE-TRACING OFF"); - _nc_tracing = 0; - } else { - _nc_tracing = save_trace; - } - trace(_nc_tracing); - if (_nc_tracing) - _tracef("TOGGLE-TRACING ON"); - } -#else - c = wgetch(win); -#endif - return c; -} -#define Getchar() wGetchar(stdscr) - -static int -menu_virtualize(int c) -{ - int result; - - if (c == '\n' || c == KEY_EXIT) - result = (MAX_COMMAND + 1); - else if (c == 'u') - result = (REQ_SCR_ULINE); - else if (c == 'd') - result = (REQ_SCR_DLINE); - else if (c == 'b' || c == KEY_NPAGE) - result = (REQ_SCR_UPAGE); - else if (c == 'f' || c == KEY_PPAGE) - result = (REQ_SCR_DPAGE); - else if (c == 'l' || c == KEY_LEFT || c == KEY_BTAB) - result = (REQ_LEFT_ITEM); - else if (c == 'n' || c == KEY_DOWN) - result = (REQ_NEXT_ITEM); - else if (c == 'p' || c == KEY_UP) - result = (REQ_PREV_ITEM); - else if (c == 'r' || c == KEY_RIGHT || c == '\t') - result = (REQ_RIGHT_ITEM); - else if (c == ' ') - result = (REQ_TOGGLE_ITEM); - else { - if (c != KEY_MOUSE) - beep(); - result = (c); - } - return result; -} - -static int -menu_getc(MENU * m) -{ - return wGetchar(menu_win(m)); -} - -static int -menu_offset(MenuNo number) -{ - int result = 0; - - if ((int) number >= 0) { - int spc_desc, spc_rows, spc_cols; - -#ifdef NCURSES_VERSION - menu_spacing(mpBanner, &spc_desc, &spc_rows, &spc_cols); -#else - spc_rows = 0; -#endif - - /* FIXME: MENU.itemlen seems the only way to get actual width of items */ - result = number * (mpBanner->itemlen + spc_rows); - } - return result; -} - -static MENU * -menu_create(ITEM ** items, int count, int ncols, MenuNo number) -{ - MENU *result; - WINDOW *menuwin; - int mrows, mcols; - int y = ((int) number >= 0) ? MENU_Y : 0; - int x = menu_offset(number); - int margin = (y == MENU_Y) ? 1 : 0; - int maxcol = (ncols + x) < COLS ? ncols : (COLS - x - 1); - int maxrow = (count + 1) / ncols; - - if ((maxrow + y) >= (LINES - 4)) - maxrow = LINES - 4 - y; - - result = new_menu(items); - - if (has_colors()) { - set_menu_fore(result, COLOR_PAIR(1)); - set_menu_back(result, COLOR_PAIR(2)); - } - - set_menu_format(result, maxrow, maxcol); - scale_menu(result, &mrows, &mcols); - - if (mcols + (2 * margin + x) >= COLS) - mcols = COLS - (2 * margin + x); - -#ifdef TRACE - if (number == eTrace) - menu_opts_off(result, O_ONEVALUE); - else - menu_opts_on(result, O_ONEVALUE); -#endif - - menuwin = newwin(mrows + (2 * margin), mcols + (2 * margin), y, x); - set_menu_win(result, menuwin); - keypad(menuwin, TRUE); - if (margin) - box(menuwin, 0, 0); - - set_menu_sub(result, derwin(menuwin, mrows, mcols, margin, margin)); - - post_menu(result); - - return result; -} - -static void -menu_destroy(MENU * m) -{ - ITEM **ip; - int count; - - if (m != 0) { - delwin(menu_win(m)); - - ip = menu_items(m); - count = item_count(m); - - free_menu(m); -#if 0 - if (count > 0) { - while (*ip) { - _tracef("freeing item %d:%d", ip - menu_items(m), count); - free_item(*ip++); - } - } -#endif - } -} - -/* force the given menu to appear */ -static void -menu_display(MENU * m) -{ - touchwin(menu_win(m)); - wrefresh(menu_win(m)); -} - -/*****************************************************************************/ - -static void -build_file_menu(MenuNo number) -{ - static const char *labels[] = - { - "Exit", - (char *) 0 - }; - static ITEM *items[SIZEOF(labels)]; - - ITEM **ip = items; - const char **ap; - - for (ap = labels; *ap; ap++) - *ip++ = new_item(*ap, ""); - *ip = (ITEM *) 0; - - mpFile = menu_create(items, SIZEOF(labels) - 1, 1, number); -} - -static int -perform_file_menu(int cmd) -{ - return menu_driver(mpFile, cmd); -} - -/*****************************************************************************/ - -static void -build_select_menu(MenuNo number, char *filename) -{ - static const char *labels[] = - { - "Lions", - "Tigers", - "Bears", - "(Oh my!)", - "Newts", - "Platypi", - "Lemurs", - "(Oh really?!)", - "Leopards", - "Panthers", - "Pumas", - "Lions, Tigers, Bears, (Oh my!), Newts, Platypi, Lemurs", - "Lions, Tigers, Bears, (Oh my!), Newts, Platypi, Lemurs, Lions, Tigers, Bears, (Oh my!), Newts, Platypi, Lemurs", - (char *) 0 - }; - static ITEM **items; - - ITEM **ip; - const char **ap = 0; - unsigned count = 0; - - if (filename != 0) { - struct stat sb; - if (stat(filename, &sb) == 0 - && (sb.st_mode & S_IFMT) == S_IFREG - && sb.st_size != 0) { - unsigned size = sb.st_size; - unsigned j, k; - char *blob = malloc(size + 1); - const char **list = (const char **) calloc(sizeof(*list), size + 1); - - items = (ITEM **) calloc(sizeof(ITEM *), size + 1); - if (blob != 0 && list != 0) { - FILE *fp = fopen(filename, "r"); - if (fp != 0) { - if (fread(blob, sizeof(char), size, fp) == size) { - bool mark = TRUE; - for (j = k = 0; j < size; ++j) { - if (mark) { - list[k++] = blob + j; - mark = FALSE; - } - if (blob[j] == '\n') { - blob[j] = '\0'; - if (k > 0 && *list[k - 1] == '\0') - --k; - mark = TRUE; - } else if (blob[j] == '\t') { - blob[j] = ' '; /* menu items are printable */ - } - } - list[k] = 0; - count = k; - ap = list; - } - fclose(fp); - } - } - } - } - if (ap == 0) { - count = SIZEOF(labels) - 1; - items = (ITEM **) calloc(count + 1, sizeof(*items)); - ap = labels; - } - - ip = items; - while (*ap != 0) - *ip++ = new_item(*ap++, ""); - *ip = 0; - - mpSelect = menu_create(items, (int) count, 1, number); -} - -static int -perform_select_menu(int cmd) -{ - return menu_driver(mpSelect, cmd); -} - -/*****************************************************************************/ - -#ifdef TRACE -#define T_TBL(name) { #name, name } -static struct { - const char *name; - unsigned mask; -} t_tbl[] = { - - T_TBL(TRACE_DISABLE), - T_TBL(TRACE_TIMES), - T_TBL(TRACE_TPUTS), - T_TBL(TRACE_UPDATE), - T_TBL(TRACE_MOVE), - T_TBL(TRACE_CHARPUT), - T_TBL(TRACE_ORDINARY), - T_TBL(TRACE_CALLS), - T_TBL(TRACE_VIRTPUT), - T_TBL(TRACE_IEVENT), - T_TBL(TRACE_BITS), - T_TBL(TRACE_ICALLS), - T_TBL(TRACE_CCALLS), - T_TBL(TRACE_DATABASE), - T_TBL(TRACE_ATTRS), - T_TBL(TRACE_MAXIMUM), - { - (char *) 0, 0 - } -}; - -static void -build_trace_menu(MenuNo number) -{ - static ITEM *items[SIZEOF(t_tbl)]; - - ITEM **ip = items; - int n; - - for (n = 0; t_tbl[n].name != 0; n++) - *ip++ = new_item(t_tbl[n].name, ""); - *ip = (ITEM *) 0; - - mpTrace = menu_create(items, SIZEOF(t_tbl) - 1, 2, number); -} - -static char * -tracetrace(unsigned tlevel) -{ - static char *buf; - int n; - - if (buf == 0) { - size_t need = 12; - for (n = 0; t_tbl[n].name != 0; n++) - need += strlen(t_tbl[n].name) + 2; - buf = (char *) malloc(need); - } - sprintf(buf, "0x%02x = {", tlevel); - if (tlevel == 0) { - sprintf(buf + strlen(buf), "%s, ", t_tbl[0].name); - } else { - for (n = 1; t_tbl[n].name != 0; n++) - if ((tlevel & t_tbl[n].mask) == t_tbl[n].mask) { - strcat(buf, t_tbl[n].name); - strcat(buf, ", "); - } - } - if (buf[strlen(buf) - 2] == ',') - buf[strlen(buf) - 2] = '\0'; - return (strcat(buf, "}")); -} - -/* fake a dynamically reconfigurable menu using the 0th entry to deselect - * the others - */ -static bool -update_trace_menu(MENU * m) -{ - ITEM **items; - ITEM *i, **p; - bool changed = FALSE; - - items = menu_items(m); - i = current_item(m); - if (i == items[0]) { - if (item_value(i)) { - for (p = items + 1; *p != 0; p++) - if (item_value(*p)) { - set_item_value(*p, FALSE); - changed = TRUE; - } - } - } - return changed; -} - -static int -perform_trace_menu(int cmd) -/* interactively set the trace level */ -{ - ITEM **ip; - unsigned newtrace; - int result; - - for (ip = menu_items(mpTrace); *ip; ip++) { - unsigned mask = t_tbl[item_index(*ip)].mask; - if (mask == 0) - set_item_value(*ip, _nc_tracing == 0); - else if ((mask & _nc_tracing) == mask) - set_item_value(*ip, TRUE); - } - - result = menu_driver(mpTrace, cmd); - - if (result == E_OK) { - if (update_trace_menu(mpTrace) || cmd == REQ_TOGGLE_ITEM) { - newtrace = 0; - for (ip = menu_items(mpTrace); *ip; ip++) { - if (item_value(*ip)) - newtrace |= t_tbl[item_index(*ip)].mask; - } - trace(newtrace); - _tracef("trace level interactively set to %s", tracetrace(_nc_tracing)); - - (void) mvprintw(LINES - 2, 0, - "Trace level is %s\n", tracetrace(_nc_tracing)); - refresh(); - } - } - return result; -} -#endif /* TRACE */ - -/*****************************************************************************/ - -static int -menu_number(void) -{ - return item_index(current_item(mpBanner)); -} - -static MENU * -current_menu(void) -{ - MENU *result; - - switch (menu_number()) { - case eFile: - result = mpFile; - break; - case eSelect: - result = mpSelect; - break; -#ifdef TRACE - case eTrace: - result = mpTrace; - break; -#endif - default: - result = 0; - break; - } - return result; -} - -static void -build_menus(char *filename) -{ - static const char *labels[] = - { - "File", - "Select", -#ifdef TRACE - "Trace", -#endif - (char *) 0 - }; - static ITEM *items[SIZEOF(labels)]; - - ITEM **ip = items; - const char **ap; - - for (ap = labels; *ap; ap++) - *ip++ = new_item(*ap, ""); - *ip = (ITEM *) 0; - - mpBanner = menu_create(items, SIZEOF(labels) - 1, SIZEOF(labels) - 1, eUnknown); - set_menu_mark(mpBanner, ">"); - - build_file_menu(eFile); - build_select_menu(eSelect, filename); -#ifdef TRACE - build_trace_menu(eTrace); -#endif -} - -static void -perform_menus(void) -{ - MENU *this_menu; - MENU *last_menu = mpFile; - int code = E_UNKNOWN_COMMAND, cmd, ch; - -#ifdef NCURSES_MOUSE_VERSION - mousemask(ALL_MOUSE_EVENTS, (mmask_t *) 0); -#endif - - menu_display(last_menu); - - for (;;) { - ch = menu_getc(mpBanner); - cmd = menu_virtualize(ch); - - switch (cmd) { - /* - * The banner menu acts solely to select one of the other menus. - * Move between its items, wrapping at the left/right limits. - */ - case REQ_LEFT_ITEM: - case REQ_RIGHT_ITEM: - code = menu_driver(mpBanner, cmd); - if (code == E_REQUEST_DENIED) { - if (menu_number() > 0) - code = menu_driver(mpBanner, REQ_FIRST_ITEM); - else - code = menu_driver(mpBanner, REQ_LAST_ITEM); - } - break; - default: - switch (menu_number()) { - case eFile: - code = perform_file_menu(cmd); - break; - case eSelect: - code = perform_select_menu(cmd); - break; -#ifdef TRACE - case eTrace: - code = perform_trace_menu(cmd); - break; -#endif - } - - if ((code == E_REQUEST_DENIED) && (cmd == KEY_MOUSE)) { - code = menu_driver(mpBanner, cmd); - } - - break; - } - - if (code == E_OK) { - this_menu = current_menu(); - if (this_menu != last_menu) { - move(1, 0); - clrtobot(); - box(menu_win(this_menu), 0, 0); - refresh(); - - /* force the current menu to appear */ - menu_display(this_menu); - - last_menu = this_menu; - } - } - wrefresh(menu_win(last_menu)); - if (code == E_UNKNOWN_COMMAND - || code == E_NOT_POSTED) { - if (menu_number() == eFile) - break; - beep(); - } - if (code == E_REQUEST_DENIED) - beep(); - continue; - } - -#ifdef NCURSES_MOUSE_VERSION - mousemask(0, (mmask_t *) 0); -#endif -} - -static void -destroy_menus(void) -{ - menu_destroy(mpFile); - menu_destroy(mpSelect); -#ifdef TRACE - menu_destroy(mpTrace); -#endif - menu_destroy(mpBanner); -} - -int -main(int argc, char *argv[]) -{ - setlocale(LC_ALL, ""); - - initscr(); - noraw(); - cbreak(); - noecho(); - - if (has_colors()) { - start_color(); - init_pair(1, COLOR_RED, COLOR_BLACK); - init_pair(2, COLOR_BLUE, COLOR_WHITE); - } - build_menus(argc > 1 ? argv[1] : 0); - perform_menus(); - destroy_menus(); - - endwin(); - return EXIT_SUCCESS; -} -#else -int -main(void) -{ - printf("This program requires the curses menu library\n"); - ExitProgram(EXIT_FAILURE); -} -#endif diff --git a/src/libs/ncurses/test/demo_panels.c b/src/libs/ncurses/test/demo_panels.c deleted file mode 100644 index 20fd029c82..0000000000 --- a/src/libs/ncurses/test/demo_panels.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * $Id: demo_panels.c,v 1.1 2003/04/26 22:11:23 tom Exp $ - * - * Demonstrate a variety of functions from the panel library. - * Thomas Dickey - 2003/4/26 - */ -/* -panel_above - -panel_below - -panel_hidden - -replace_panel - -*/ - -#include - -#if USE_LIBPANEL - -#include - -int -main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) -{ - printf("Not implemented - demo for panel library\n"); - return EXIT_SUCCESS; -} -#else -int -main(void) -{ - printf("This program requires the curses panel library\n"); - ExitProgram(EXIT_FAILURE); -} -#endif diff --git a/src/libs/ncurses/test/demo_termcap.c b/src/libs/ncurses/test/demo_termcap.c deleted file mode 100644 index 20a38e7e07..0000000000 --- a/src/libs/ncurses/test/demo_termcap.c +++ /dev/null @@ -1,157 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/* - * Author: Thomas E. Dickey - * - * $Id: demo_termcap.c,v 1.2 2005/04/30 14:57:54 tom Exp $ - * - * A simple demo of the termcap interface. - */ -#include - -#define isCapName(c) (isgraph(c) && strchr("^#=:\\", c) == 0) - -static void -dumpit(char *cap) -{ - /* - * One of the limitations of the termcap interface is that the library - * cannot determine the size of the buffer passed via tgetstr(), nor the - * amount of space remaining. This demo simply reuses the whole buffer - * for each call; a normal termcap application would try to use the buffer - * to hold all of the strings extracted from the terminal entry. - */ - char area[1024], *ap = area; - char *str; - int num; - - if ((str = tgetstr(cap, &ap)) != 0) { - /* - * Note that the strings returned are mostly terminfo format, since - * ncurses does not convert except for a handful of special cases. - */ - printf("str %s = ", cap); - while (*str != 0) { - int ch = UChar(*str++); - switch (ch) { - case '\177': - fputs("^?", stdout); - break; - case '\033': - fputs("\\E", stdout); - break; - case '\b': - fputs("\\b", stdout); - break; - case '\f': - fputs("\\f", stdout); - break; - case '\n': - fputs("\\n", stdout); - break; - case '\r': - fputs("\\r", stdout); - break; - case ' ': - fputs("\\s", stdout); - break; - case '\t': - fputs("\\t", stdout); - break; - case '^': - fputs("\\^", stdout); - break; - case ':': - fputs("\\072", stdout); - break; - case '\\': - fputs("\\\\", stdout); - break; - default: - if (isgraph(ch)) - fputc(ch, stdout); - else if (ch < 32) - printf("^%c", ch + '@'); - else - printf("\\%03o", ch); - break; - } - } - printf("\n"); - } else if ((num = tgetnum(cap)) >= 0) { - printf("num %s = %d\n", cap, num); - } else if ((num = tgetflag(cap)) != 0) { - printf("flg %s\n", cap); - } - fflush(stdout); -} - -static void -demo_termcap(char *name) -{ - char buffer[1024]; - - printf("Terminal type %s\n", name); - if (tgetent(buffer, name)) { - char cap[3]; - int c1, c2; - - cap[2] = 0; - for (c1 = 0; c1 < 256; ++c1) { - cap[0] = c1; - if (isCapName(c1)) { - for (c2 = 0; c2 < 256; ++c2) { - cap[1] = c2; - if (isCapName(c2)) { - dumpit(cap); - } - } - } - } - } -} - -int -main(int argc, char *argv[]) -{ - int n; - char *name; - - if (argc > 1) { - for (n = 1; n < argc; ++n) { - demo_termcap(argv[n]); - } - } else if ((name = getenv("TERM")) != 0) { - demo_termcap(name); - } else { - demo_termcap("dumb"); - } - - ExitProgram(EXIT_SUCCESS); -} diff --git a/src/libs/ncurses/test/ditto.c b/src/libs/ncurses/test/ditto.c deleted file mode 100644 index 2a338d8b50..0000000000 --- a/src/libs/ncurses/test/ditto.c +++ /dev/null @@ -1,146 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/* - * Author: Thomas E. Dickey 1998 - * - * $Id: ditto.c,v 1.5 2005/04/16 16:35:49 tom Exp $ - * - * The program illustrates how to set up multiple screens from a single - * program. Invoke the program by specifying another terminal on the same - * machine by specifying its device, e.g., - * ditto /dev/ttyp1 - */ -#include -#include -#include - -typedef struct { - FILE *input; - FILE *output; - SCREEN *screen; -} DITTO; - -static void -failed(const char *s) -{ - perror(s); - ExitProgram(EXIT_FAILURE); -} - -static void -usage(void) -{ - fprintf(stderr, "usage: ditto [terminal1 ...]\n"); - ExitProgram(EXIT_FAILURE); -} - -static FILE * -open_tty(char *path) -{ - FILE *fp; - struct stat sb; - - if (stat(path, &sb) < 0) - failed(path); - if ((sb.st_mode & S_IFMT) != S_IFCHR) { - errno = ENOTTY; - failed(path); - } - fp = fopen(path, "a+"); - if (fp == 0) - failed(path); - printf("opened %s\n", path); - return fp; -} - -int -main(int argc GCC_UNUSED, - char *argv[]GCC_UNUSED) -{ - int j; - int active_tty = 0; - DITTO *data; - - if (argc <= 1) - usage(); - - if ((data = (DITTO *) calloc((unsigned) argc, sizeof(DITTO))) == 0) - failed("calloc data"); - - data[0].input = stdin; - data[0].output = stdout; - for (j = 1; j < argc; j++) { - data[j].input = - data[j].output = open_tty(argv[j]); - } - - /* - * If we got this far, we have open connection(s) to the terminal(s). - * Set up the screens. - */ - for (j = 0; j < argc; j++) { - active_tty++; - data[j].screen = newterm((char *) 0, /* assume $TERM is the same */ - data[j].output, - data[j].input); - if (data[j].screen == 0) - failed("newterm"); - cbreak(); - noecho(); - scrollok(stdscr, TRUE); - } - - /* - * Loop, reading characters from any of the inputs and writing to all - * of the screens. - */ - for (;;) { - int ch; - set_term(data[0].screen); - ch = getch(); - if (ch == ERR) - continue; - if (ch == 4) - break; - for (j = 0; j < argc; j++) { - set_term(data[j].screen); - addch(UChar(ch)); - refresh(); - } - } - - /* - * Cleanup and exit - */ - for (j = argc - 1; j >= 0; j--) { - set_term(data[j].screen); - endwin(); - } - ExitProgram(EXIT_SUCCESS); -} diff --git a/src/libs/ncurses/test/dots.c b/src/libs/ncurses/test/dots.c deleted file mode 100644 index d70ab3e09c..0000000000 --- a/src/libs/ncurses/test/dots.c +++ /dev/null @@ -1,144 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1999-2002,2004 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/* - * Author: Thomas E. Dickey 1999 - * - * $Id: dots.c,v 1.11 2005/05/28 21:38:45 tom Exp $ - * - * A simple demo of the terminfo interface. - */ -#include - -#include - -#define valid(s) ((s != 0) && s != (char *)-1) - -static bool interrupted = FALSE; - -static int -outc(int c) -{ - if (interrupted) { - char tmp = c; - write(STDOUT_FILENO, &tmp, 1); - } else { - putc(c, stdout); - } - return 0; -} - -static bool -outs(char *s) -{ - if (valid(s)) { - tputs(s, 1, outc); - return TRUE; - } - return FALSE; -} - -static void -cleanup(void) -{ - outs(exit_attribute_mode); - if (!outs(orig_colors)) - outs(orig_pair); - outs(clear_screen); - outs(cursor_normal); -} - -static void -onsig(int n GCC_UNUSED) -{ - interrupted = TRUE; - cleanup(); - ExitProgram(EXIT_FAILURE); -} - -static float -ranf(void) -{ - long r = (rand() & 077777); - return ((float) r / 32768.); -} - -int -main( - int argc GCC_UNUSED, - char *argv[]GCC_UNUSED) -{ - int x, y, z, j, p; - float r; - float c; - - for (j = SIGHUP; j <= SIGTERM; j++) - if (signal(j, SIG_IGN) != SIG_IGN) - signal(j, onsig); - - srand((unsigned) time(0)); - setupterm((char *) 0, 1, (int *) 0); - outs(clear_screen); - outs(cursor_invisible); - if (max_colors > 1) { - if (!valid(set_a_foreground) - || !valid(set_a_background) - || (!valid(orig_colors) && !valid(orig_pair))) - max_colors = -1; - } - - r = (float) (lines - 4); - c = (float) (columns - 4); - - for (;;) { - x = (int) (c * ranf()) + 2; - y = (int) (r * ranf()) + 2; - p = (ranf() > 0.9) ? '*' : ' '; - - tputs(tparm3(cursor_address, y, x), 1, outc); - if (max_colors > 0) { - z = (int) (ranf() * max_colors); - if (ranf() > 0.01) { - tputs(tparm2(set_a_foreground, z), 1, outc); - } else { - tputs(tparm2(set_a_background, z), 1, outc); - napms(1); - } - } else if (valid(exit_attribute_mode) - && valid(enter_reverse_mode)) { - if (ranf() <= 0.01) { - outs((ranf() > 0.6) - ? enter_reverse_mode - : exit_attribute_mode); - napms(1); - } - } - outc(p); - fflush(stdout); - } -} diff --git a/src/libs/ncurses/test/edit_field.c b/src/libs/ncurses/test/edit_field.c deleted file mode 100644 index d4fa7f765c..0000000000 --- a/src/libs/ncurses/test/edit_field.c +++ /dev/null @@ -1,428 +0,0 @@ -/* - * $Id: edit_field.c,v 1.11 2005/10/01 16:21:55 tom Exp $ - * - * A wrapper for form_driver() which keeps track of the user's editing changes - * for each field, and makes the result available as a null-terminated string - * in field_buffer(field,1). - * - * Thomas Dickey - 2003/4/26. - */ - -#include - -#if USE_LIBFORM - -#include - -static struct { - int code; - int result; - const char *help; -} commands[] = { - - { - CTRL('A'), REQ_NEXT_CHOICE, "" - }, - { - CTRL('B'), REQ_PREV_WORD, "go to previous word" - }, - { - CTRL('C'), REQ_CLR_EOL, "clear to end of line" - }, - { - CTRL('D'), REQ_DOWN_FIELD, "move downward to field" - }, - { - CTRL('E'), REQ_END_FIELD, "go to end of field" - }, - { - CTRL('F'), REQ_NEXT_PAGE, "go to next page" - }, - { - CTRL('G'), REQ_DEL_WORD, "delete current word" - }, - { - CTRL('H'), REQ_DEL_PREV, "delete previous character" - }, - { - CTRL('I'), REQ_INS_CHAR, "insert character" - }, - { - CTRL('K'), REQ_CLR_EOF, "clear to end of field" - }, - { - CTRL('L'), REQ_LEFT_FIELD, "go to field to left" - }, - { - CTRL('M'), REQ_NEW_LINE, "insert/overlay new line" - }, - { - CTRL('N'), REQ_NEXT_FIELD, "go to next field" - }, - { - CTRL('O'), REQ_INS_LINE, "insert blank line at cursor" - }, - { - CTRL('P'), REQ_PREV_FIELD, "go to previous field" - }, - { - CTRL('Q'), MY_QUIT, "exit form" - }, - { - CTRL('R'), REQ_RIGHT_FIELD, "go to field to right" - }, - { - CTRL('S'), REQ_BEG_FIELD, "go to beginning of field" - }, - { - CTRL('T'), MY_EDT_MODE, "toggle O_EDIT mode, clear field status", - }, - { - CTRL('U'), REQ_UP_FIELD, "move upward to field" - }, - { - CTRL('V'), REQ_DEL_CHAR, "delete character" - }, - { - CTRL('W'), REQ_NEXT_WORD, "go to next word" - }, - { - CTRL('X'), REQ_CLR_FIELD, "clear field" - }, - { - CTRL('Y'), REQ_DEL_LINE, "delete line" - }, - { - CTRL('Z'), REQ_PREV_CHOICE, "" - }, - { - CTRL('['), MY_QUIT, "exit form" - }, - { - CTRL(']'), MY_INS_MODE, "toggle REQ_INS_MODE/REQ_OVL_MODE", - }, - { - KEY_F(1), MY_HELP, "show this screen", - }, - { - KEY_BACKSPACE, REQ_DEL_PREV, "delete previous character" - }, - { - KEY_DOWN, REQ_DOWN_CHAR, "move down 1 character" - }, - { - KEY_END, REQ_LAST_FIELD, "go to last field" - }, - { - KEY_HOME, REQ_FIRST_FIELD, "go to first field" - }, - { - KEY_LEFT, REQ_LEFT_CHAR, "move left 1 character" - }, - { - KEY_LL, REQ_LAST_FIELD, "go to last field" - }, - { - KEY_NEXT, REQ_NEXT_FIELD, "go to next field" - }, - { - KEY_NPAGE, REQ_NEXT_PAGE, "go to next page" - }, - { - KEY_PPAGE, REQ_PREV_PAGE, "go to previous page" - }, - { - KEY_PREVIOUS, REQ_PREV_FIELD, "go to previous field" - }, - { - KEY_RIGHT, REQ_RIGHT_CHAR, "move right 1 character" - }, - { - KEY_UP, REQ_UP_CHAR, "move up 1 character" - } -}; - -static WINDOW *old_window; - -static void -begin_popup(void) -{ - doupdate(); - old_window = dupwin(curscr); -} - -static void -end_popup(void) -{ - touchwin(old_window); - wnoutrefresh(old_window); - doupdate(); - delwin(old_window); -} - -/* - * Display a temporary window listing the keystroke-commands we recognize. - */ -void -help_edit_field(void) -{ - int x0 = 4; - int y0 = 2; - int y1 = 0; - int y2 = 0; - int wide = COLS - ((x0 + 1) * 2); - int high = LINES - ((y0 + 1) * 2); - WINDOW *help = newwin(high, wide, y0, x0); - WINDOW *data = newpad(2 + SIZEOF(commands), wide - 4); - unsigned n; - int ch = ERR; - - begin_popup(); - - keypad(help, TRUE); - keypad(data, TRUE); - waddstr(data, "Defined form edit/traversal keys:\n"); - for (n = 0; n < SIZEOF(commands); ++n) { - const char *name; -#ifdef NCURSES_VERSION - if ((name = form_request_name(commands[n].result)) == 0) -#endif - name = commands[n].help; - wprintw(data, "%s -- %s\n", - keyname(commands[n].code), - name != 0 ? name : commands[n].help); - } - waddstr(data, "Arrow keys move within a field as you would expect."); - y2 = getcury(data); - - do { - switch (ch) { - case KEY_HOME: - y1 = 0; - break; - case KEY_END: - y1 = y2; - break; - case KEY_PREVIOUS: - case KEY_PPAGE: - if (y1 > 0) { - y1 -= high / 2; - if (y1 < 0) - y1 = 0; - } else { - beep(); - } - break; - case KEY_NEXT: - case KEY_NPAGE: - if (y1 < y2) { - y1 += high / 2; - if (y1 >= y2) - y1 = y2; - } else { - beep(); - } - break; - case CTRL('P'): - case KEY_UP: - if (y1 > 0) - --y1; - else - beep(); - break; - case CTRL('N'): - case KEY_DOWN: - if (y1 < y2) - ++y1; - else - beep(); - break; - default: - beep(); - break; - case ERR: - break; - } - werase(help); - box(help, 0, 0); - wnoutrefresh(help); - pnoutrefresh(data, y1, 0, y0 + 1, x0 + 1, high, wide); - doupdate(); - } while ((ch = wgetch(data)) != ERR && ch != QUIT && ch != ESCAPE); - werase(help); - wrefresh(help); - delwin(help); - delwin(data); - - end_popup(); -} - -static int -offset_in_field(FORM * form) -{ - FIELD *field = current_field(form); - return form->curcol + form->currow * field->dcols; -} - -int -edit_field(FORM * form, int *result) -{ - int ch = wgetch(form_win(form)); - int status; - FIELD *before; - FIELD *after; - unsigned n; - char lengths[80]; - int length; - char *buffer; - int before_row = form->currow; - int before_col = form->curcol; - int before_off = offset_in_field(form); - - before = current_field(form); - set_field_back(before, A_NORMAL); - if (ch <= KEY_MAX) { - set_field_back(before, A_REVERSE); - } else if (ch <= MAX_FORM_COMMAND) { - set_field_back(before, A_UNDERLINE); - } - - *result = ch; - for (n = 0; n < SIZEOF(commands); ++n) { - if (commands[n].code == ch) { - *result = commands[n].result; - break; - } - } - - status = form_driver(form, *result); - - if (status == E_OK) { - bool modified = TRUE; - - length = 0; - if ((buffer = field_buffer(before, 1)) != 0) - length = atoi(buffer); - if (length < before_off) - length = before_off; - switch (*result) { - case REQ_CLR_EOF: - length = before_off; - break; - case REQ_CLR_EOL: - if (before_row + 1 == before->rows) - length = before_off; - break; - case REQ_CLR_FIELD: - length = 0; - break; - case REQ_DEL_CHAR: - if (length > before_off) - --length; - break; - case REQ_DEL_PREV: - if (length > 0) { - if (before_col > 0) { - --length; - } else if (before_row > 0) { - length -= before->cols + before_col; - } - } - break; - case REQ_NEW_LINE: - length += before->cols; - break; -#if 0 - /* FIXME: finish these */ - case REQ_DEL_LINE: /* delete line */ - case REQ_DEL_WORD: /* delete word at cursor */ - case REQ_INS_CHAR: /* insert blank char at cursor */ - case REQ_INS_LINE: /* insert blank line at cursor */ - case REQ_INS_MODE: /* begin insert mode */ - case REQ_OVL_MODE: /* begin overlay mode */ -#endif - /* ignore all of the motion commands */ - case REQ_SCR_BCHAR: /* FALLTHRU */ - case REQ_SCR_BHPAGE: /* FALLTHRU */ - case REQ_SCR_BLINE: /* FALLTHRU */ - case REQ_SCR_BPAGE: /* FALLTHRU */ - case REQ_SCR_FCHAR: /* FALLTHRU */ - case REQ_SCR_FHPAGE: /* FALLTHRU */ - case REQ_SCR_FLINE: /* FALLTHRU */ - case REQ_SCR_FPAGE: /* FALLTHRU */ - case REQ_SCR_HBHALF: /* FALLTHRU */ - case REQ_SCR_HBLINE: /* FALLTHRU */ - case REQ_SCR_HFHALF: /* FALLTHRU */ - case REQ_SCR_HFLINE: /* FALLTHRU */ - case REQ_BEG_FIELD: /* FALLTHRU */ - case REQ_BEG_LINE: /* FALLTHRU */ - case REQ_DOWN_CHAR: /* FALLTHRU */ - case REQ_DOWN_FIELD: /* FALLTHRU */ - case REQ_END_FIELD: /* FALLTHRU */ - case REQ_END_LINE: /* FALLTHRU */ - case REQ_FIRST_FIELD: /* FALLTHRU */ - case REQ_FIRST_PAGE: /* FALLTHRU */ - case REQ_LAST_FIELD: /* FALLTHRU */ - case REQ_LAST_PAGE: /* FALLTHRU */ - case REQ_LEFT_CHAR: /* FALLTHRU */ - case REQ_LEFT_FIELD: /* FALLTHRU */ - case REQ_NEXT_CHAR: /* FALLTHRU */ - case REQ_NEXT_CHOICE: /* FALLTHRU */ - case REQ_NEXT_FIELD: /* FALLTHRU */ - case REQ_NEXT_LINE: /* FALLTHRU */ - case REQ_NEXT_PAGE: /* FALLTHRU */ - case REQ_NEXT_WORD: /* FALLTHRU */ - case REQ_PREV_CHAR: /* FALLTHRU */ - case REQ_PREV_CHOICE: /* FALLTHRU */ - case REQ_PREV_FIELD: /* FALLTHRU */ - case REQ_PREV_LINE: /* FALLTHRU */ - case REQ_PREV_PAGE: /* FALLTHRU */ - case REQ_PREV_WORD: /* FALLTHRU */ - case REQ_RIGHT_CHAR: /* FALLTHRU */ - case REQ_RIGHT_FIELD: /* FALLTHRU */ - case REQ_SFIRST_FIELD: /* FALLTHRU */ - case REQ_SLAST_FIELD: /* FALLTHRU */ - case REQ_SNEXT_FIELD: /* FALLTHRU */ - case REQ_SPREV_FIELD: /* FALLTHRU */ - case REQ_UP_CHAR: /* FALLTHRU */ - case REQ_UP_FIELD: /* FALLTHRU */ - case REQ_VALIDATION: /* FALLTHRU */ - modified = FALSE; - break; - - default: - modified = FALSE; - if (ch >= MIN_FORM_COMMAND) { - beep(); - } else if (isprint(ch)) { - modified = TRUE; - } - break; - } - - /* - * If we do not force a re-validation, then field_buffer 0 will - * be lagging by one character. - */ - if (modified && form_driver(form, REQ_VALIDATION) == E_OK && *result - < MIN_FORM_COMMAND) - ++length; - - sprintf(lengths, "%d", length); - set_field_buffer(before, 1, lengths); - } - - if ((after = current_field(form)) != before) - set_field_back(before, A_UNDERLINE); - return status; -} -#else - -extern void no_edit_field(void); - -void -no_edit_field(void) -{ -} - -#endif diff --git a/src/libs/ncurses/test/edit_field.h b/src/libs/ncurses/test/edit_field.h deleted file mode 100644 index c2e38ec09b..0000000000 --- a/src/libs/ncurses/test/edit_field.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * $Id: edit_field.h,v 1.3 2005/09/24 22:59:52 tom Exp $ - * - * Interface of edit_field.c - */ - -#ifndef EDIT_FORM_H_incl -#define EDIT_FORM_H_incl 1 - -#include - -#define EDIT_FIELD(c) (MAX_FORM_COMMAND + c) - -#define MY_HELP EDIT_FIELD('h') -#define MY_QUIT EDIT_FIELD('q') -#define MY_EDT_MODE EDIT_FIELD('e') -#define MY_INS_MODE EDIT_FIELD('t') - -extern void help_edit_field(void); -extern int edit_field(FORM * form, int *result); - -#endif /* EDIT_FORM_H_incl */ diff --git a/src/libs/ncurses/test/filter.c b/src/libs/ncurses/test/filter.c deleted file mode 100644 index 8fbda25e7a..0000000000 --- a/src/libs/ncurses/test/filter.c +++ /dev/null @@ -1,105 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/* - * Author: Thomas E. Dickey 1998 - * - * $Id: filter.c,v 1.8 2004/06/05 21:57:30 tom Exp $ - */ -#include - -/* - * An example of the 'filter()' function in ncurses, this program prompts - * for commands and executes them (like a command shell). It illustrates - * how ncurses can be used to implement programs that are not full-screen. - * - * Ncurses differs slightly from SVr4 curses. The latter does not flush its - * state when exiting program mode, so the attributes on the command lines of - * this program 'bleed' onto the executed commands. Rather than use the - * reset_shell_mode() and reset_prog_mode() functions, we could invoke endwin() - * and refresh(), but that does not work any better. - */ - -static int -new_command(char *buffer, int length, attr_t underline) -{ - int code; - - attron(A_BOLD); - printw("Command: "); - attron(underline); - code = getnstr(buffer, length); - attroff(underline); - attroff(A_BOLD); - printw("\n"); - - return code; -} - -int -main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) -{ - char buffer[80]; - attr_t underline; - - setlocale(LC_ALL, ""); - - filter(); - (void) newterm((char *) 0, stdout, stdin); - cbreak(); - keypad(stdscr, TRUE); - - if (has_colors()) { - int background = COLOR_BLACK; - start_color(); -#if HAVE_USE_DEFAULT_COLORS - if (use_default_colors() != ERR) - background = -1; -#endif - init_pair(1, COLOR_CYAN, background); - underline = COLOR_PAIR(1); - } else { - underline = A_UNDERLINE; - } - - while (new_command(buffer, sizeof(buffer) - 1, underline) != ERR - && strlen(buffer) != 0) { - reset_shell_mode(); - printf("\n"); - fflush(stdout); - system(buffer); - reset_prog_mode(); - touchwin(stdscr); - erase(); - refresh(); - } - printw("done"); - refresh(); - endwin(); - ExitProgram(EXIT_SUCCESS); -} diff --git a/src/libs/ncurses/test/firework.c b/src/libs/ncurses/test/firework.c deleted file mode 100644 index 70099fb892..0000000000 --- a/src/libs/ncurses/test/firework.c +++ /dev/null @@ -1,173 +0,0 @@ -/* - * $Id: firework.c,v 1.21 2005/05/28 21:39:04 tom Exp $ - */ -#include - -#include - -static int my_bg = COLOR_BLACK; - -static void -cleanup(void) -{ - curs_set(1); - endwin(); -} - -static RETSIGTYPE -onsig(int n GCC_UNUSED) -{ - cleanup(); - ExitProgram(EXIT_FAILURE); -} - -static void -showit(void) -{ - int ch; - napms(120); - if ((ch = getch()) != ERR) { -#ifdef KEY_RESIZE - if (ch == KEY_RESIZE) { - erase(); - } else -#endif - if (ch == 'q') { - cleanup(); - ExitProgram(EXIT_SUCCESS); - } else if (ch == 's') { - nodelay(stdscr, FALSE); - } else if (ch == ' ') { - nodelay(stdscr, TRUE); - } - } -} - -static -int -get_colour(chtype * bold) -{ - int attr; - attr = (rand() % 16) + 1; - - *bold = A_NORMAL; - if (attr > 8) { - *bold = A_BOLD; - attr &= 7; - } - return (attr); -} - -static -void -explode(int row, int col) -{ - chtype bold; - erase(); - mvprintw(row, col, "-"); - showit(); - - init_pair(1, get_colour(&bold), my_bg); - attrset(COLOR_PAIR(1) | bold); - mvprintw(row - 1, col - 1, " - "); - mvprintw(row + 0, col - 1, "-+-"); - mvprintw(row + 1, col - 1, " - "); - showit(); - - init_pair(1, get_colour(&bold), my_bg); - attrset(COLOR_PAIR(1) | bold); - mvprintw(row - 2, col - 2, " --- "); - mvprintw(row - 1, col - 2, "-+++-"); - mvprintw(row + 0, col - 2, "-+#+-"); - mvprintw(row + 1, col - 2, "-+++-"); - mvprintw(row + 2, col - 2, " --- "); - showit(); - - init_pair(1, get_colour(&bold), my_bg); - attrset(COLOR_PAIR(1) | bold); - mvprintw(row - 2, col - 2, " +++ "); - mvprintw(row - 1, col - 2, "++#++"); - mvprintw(row + 0, col - 2, "+# #+"); - mvprintw(row + 1, col - 2, "++#++"); - mvprintw(row + 2, col - 2, " +++ "); - showit(); - - init_pair(1, get_colour(&bold), my_bg); - attrset(COLOR_PAIR(1) | bold); - mvprintw(row - 2, col - 2, " # "); - mvprintw(row - 1, col - 2, "## ##"); - mvprintw(row + 0, col - 2, "# #"); - mvprintw(row + 1, col - 2, "## ##"); - mvprintw(row + 2, col - 2, " # "); - showit(); - - init_pair(1, get_colour(&bold), my_bg); - attrset(COLOR_PAIR(1) | bold); - mvprintw(row - 2, col - 2, " # # "); - mvprintw(row - 1, col - 2, "# #"); - mvprintw(row + 0, col - 2, " "); - mvprintw(row + 1, col - 2, "# #"); - mvprintw(row + 2, col - 2, " # # "); - showit(); -} - -int -main( - int argc GCC_UNUSED, - char *argv[]GCC_UNUSED) -{ - int j; - int start, end, row, diff, flag = 0, direction; - unsigned seed; - - for (j = SIGHUP; j <= SIGTERM; j++) - if (signal(j, SIG_IGN) != SIG_IGN) - signal(j, onsig); - - initscr(); - noecho(); - cbreak(); - keypad(stdscr, TRUE); - nodelay(stdscr, TRUE); - - if (has_colors()) { - start_color(); -#if HAVE_USE_DEFAULT_COLORS - if (use_default_colors() == OK) - my_bg = -1; -#endif - } - curs_set(0); - - seed = time((time_t *) 0); - srand(seed); - for (;;) { - do { - start = rand() % (COLS - 3); - end = rand() % (COLS - 3); - start = (start < 2) ? 2 : start; - end = (end < 2) ? 2 : end; - direction = (start > end) ? -1 : 1; - diff = abs(start - end); - } while (diff < 2 || diff >= LINES - 2); - attrset(A_NORMAL); - for (row = 0; row < diff; row++) { - mvprintw(LINES - row, start + (row * direction), - (direction < 0) ? "\\" : "/"); - if (flag++) { - showit(); - erase(); - flag = 0; - } - } - if (flag++) { - showit(); - flag = 0; - } - seed = time((time_t *) 0); - srand(seed); - explode(LINES - row, start + (diff * direction)); - erase(); - showit(); - } -} diff --git a/src/libs/ncurses/test/firstlast.c b/src/libs/ncurses/test/firstlast.c deleted file mode 100644 index 288f848d6b..0000000000 --- a/src/libs/ncurses/test/firstlast.c +++ /dev/null @@ -1,89 +0,0 @@ -/* - * This test was written by Alexander V. Lukyanov to demonstrate difference - * between ncurses 4.1 and SVR4 curses - * - * $Id: firstlast.c,v 1.4 2005/04/16 16:34:05 tom Exp $ - */ - -#include - -static void -fill(WINDOW *w, const char *str) -{ - const char *s; - for (;;) { - for (s = str; *s; s++) { - if (waddch(w, UChar(*s)) == ERR) { - wmove(w, 0, 0); - return; - } - } - } -} - -int -main(int argc GCC_UNUSED, - char *argv[]GCC_UNUSED) -{ - WINDOW *large, *small; - initscr(); - noecho(); - - large = newwin(20, 60, 2, 10); - small = newwin(10, 30, 7, 25); - - /* test 1 - addch */ - fill(large, "LargeWindow"); - - refresh(); - wrefresh(large); - wrefresh(small); - - mvwaddstr(small, 5, 5, " Test String "); - wrefresh(small); - getch(); - - touchwin(large); - wrefresh(large); - - mvwaddstr(small, 5, 5, " Test <***************> String "); - wrefresh(small); - - /* DIFFERENCE! */ - getch(); - - /* test 2: erase */ - erase(); - refresh(); - getch(); - - /* test 3: clrtoeol */ - werase(small); - wrefresh(small); - touchwin(large); - wrefresh(large); - wmove(small, 5, 0); - waddstr(small, " clrtoeol>"); - wclrtoeol(small); - wrefresh(small); - - /* DIFFERENCE! */ ; - getch(); - - /* test 4: clrtobot */ - werase(small); - wrefresh(small); - touchwin(large); - wrefresh(large); - wmove(small, 5, 3); - waddstr(small, " clrtobot>"); - wclrtobot(small); - wrefresh(small); - - /* DIFFERENCE! */ - getch(); - - endwin(); - - ExitProgram(EXIT_SUCCESS); -} diff --git a/src/libs/ncurses/test/gdc.6 b/src/libs/ncurses/test/gdc.6 deleted file mode 100644 index ad381aa4df..0000000000 --- a/src/libs/ncurses/test/gdc.6 +++ /dev/null @@ -1,23 +0,0 @@ -.\" $Id: gdc.6,v 1.2 2003/03/15 20:50:03 tom Exp $ -.TH GDC 6 -.SH NAME -gdc \- grand digital clock (curses) -.SH SYNOPSIS -.B gdc -[-s] [ -.I n -] -.SH DESCRIPTION -.I Gdc -runs a digital clock made of reverse-video blanks on a curses -compatible VDU screen. With an optional numeric argument -.I n -it stops after -.I n -seconds (default never). -The optional -.B -s -flag makes digits scroll as they change. In some curses mode implementations, -the scrolling option has trouble keeping up. -.SH AUTHOR -Amos Shapir, modified for curses by John Lupien. diff --git a/src/libs/ncurses/test/gdc.c b/src/libs/ncurses/test/gdc.c deleted file mode 100644 index 83b3fd55a8..0000000000 --- a/src/libs/ncurses/test/gdc.c +++ /dev/null @@ -1,323 +0,0 @@ -/* - * Grand digital clock for curses compatible terminals - * Usage: gdc [-s] [n] -- run for n seconds (default infinity) - * Flags: -s: scroll - * - * modified 10-18-89 for curses (jrl) - * 10-18-89 added signal handling - * - * $Id: gdc.c,v 1.26 2005/05/28 21:39:39 tom Exp $ - */ - -#include - -#include - -#define YBASE 10 -#define XBASE 10 -#define XLENGTH 54 -#define YDEPTH 5 - -#define PAIR_DIGITS 1 -#define PAIR_OTHERS 2 -#define PAIR_FRAMES 3 - -static short disp[11] = -{ - 075557, 011111, 071747, 071717, 055711, - 074717, 074757, 071111, 075757, 075717, 002020 -}; -static long older[6], next[6], newer[6], mask; - -static int sigtermed = 0; -static bool redirected = FALSE; -static bool hascolor = FALSE; - -static RETSIGTYPE -sighndl(int signo) -{ - signal(signo, sighndl); - sigtermed = signo; - if (redirected) { - endwin(); - ExitProgram(EXIT_FAILURE); - } -} - -static void -drawbox(bool scrolling) -{ - chtype bottom[XLENGTH + 1]; - int n; - - if (hascolor) - attrset(COLOR_PAIR(PAIR_FRAMES)); - - mvaddch(YBASE - 1, XBASE - 1, ACS_ULCORNER); - hline(ACS_HLINE, XLENGTH); - mvaddch(YBASE - 1, XBASE + XLENGTH, ACS_URCORNER); - - mvaddch(YBASE + YDEPTH, XBASE - 1, ACS_LLCORNER); - mvinchnstr(YBASE + YDEPTH, XBASE, bottom, XLENGTH); - for (n = 0; n < XLENGTH; n++) { - if (!scrolling) - bottom[n] &= ~A_COLOR; - bottom[n] = ACS_HLINE | (bottom[n] & (A_ATTRIBUTES | A_COLOR)); - } - mvaddchnstr(YBASE + YDEPTH, XBASE, bottom, XLENGTH); - mvaddch(YBASE + YDEPTH, XBASE + XLENGTH, ACS_LRCORNER); - - move(YBASE, XBASE - 1); - vline(ACS_VLINE, YDEPTH); - - move(YBASE, XBASE + XLENGTH); - vline(ACS_VLINE, YDEPTH); - - if (hascolor) - attrset(COLOR_PAIR(PAIR_OTHERS)); -} - -static void -standt(int on) -{ - if (on) { - if (hascolor) { - attron(COLOR_PAIR(PAIR_DIGITS)); - } else { - attron(A_STANDOUT); - } - } else { - if (hascolor) { - attron(COLOR_PAIR(PAIR_OTHERS)); - } else { - attroff(A_STANDOUT); - } - } -} - -static void -set(int t, int n) -{ - int i, m; - - m = 7 << n; - for (i = 0; i < 5; i++) { - next[i] |= ((disp[t] >> ((4 - i) * 3)) & 07) << n; - mask |= (next[i] ^ older[i]) & m; - } - if (mask & m) - mask |= m; -} - -static void -usage(void) -{ - static const char *msg[] = - { - "Usage: gdc [options] [count]" - ,"" - ,"Options:" - ," -n redirect input to /dev/null" - ," -s scroll each number into place, rather than flipping" - ,"" - ,"If you specify a count, gdc runs for that number of seconds" - }; - unsigned j; - for (j = 0; j < SIZEOF(msg); j++) - fprintf(stderr, "%s\n", msg[j]); - ExitProgram(EXIT_FAILURE); -} - -int -main(int argc, char *argv[]) -{ - time_t now; - struct tm *tm; - long t, a; - int i, j, s, k; - int count = 0; - FILE *ofp = stdout; - FILE *ifp = stdin; - bool scrol = FALSE; - - setlocale(LC_ALL, ""); - - signal(SIGINT, sighndl); - signal(SIGTERM, sighndl); - - while ((k = getopt(argc, argv, "sn")) != EOF) { - switch (k) { - case 's': - scrol = TRUE; - break; - case 'n': - ifp = fopen("/dev/null", "r"); - redirected = TRUE; - break; - default: - usage(); - } - } - if (optind < argc) { - count = atoi(argv[optind++]); - } - if (optind < argc) - usage(); - - if (redirected) { - char *name = getenv("TERM"); - if (name == 0 - || newterm(name, ofp, ifp) == 0) { - fprintf(stderr, "cannot open terminal\n"); - ExitProgram(EXIT_FAILURE); - } - - } else { - initscr(); - } - cbreak(); - noecho(); - nodelay(stdscr, 1); - curs_set(0); - - hascolor = has_colors(); - - if (hascolor) { - int bg = COLOR_BLACK; - start_color(); -#if HAVE_USE_DEFAULT_COLORS - if (use_default_colors() == OK) - bg = -1; -#endif - init_pair(PAIR_DIGITS, COLOR_BLACK, COLOR_RED); - init_pair(PAIR_OTHERS, COLOR_RED, bg); - init_pair(PAIR_FRAMES, COLOR_WHITE, bg); - attrset(COLOR_PAIR(PAIR_OTHERS)); - } - - restart: - for (j = 0; j < 5; j++) - older[j] = newer[j] = next[j] = 0; - - clear(); - drawbox(FALSE); - - do { - char buf[30]; - - time(&now); - tm = localtime(&now); - - mask = 0; - set(tm->tm_sec % 10, 0); - set(tm->tm_sec / 10, 4); - set(tm->tm_min % 10, 10); - set(tm->tm_min / 10, 14); - set(tm->tm_hour % 10, 20); - set(tm->tm_hour / 10, 24); - set(10, 7); - set(10, 17); - - for (k = 0; k < 6; k++) { - if (scrol) { - for (i = 0; i < 5; i++) - newer[i] = (newer[i] & ~mask) | (newer[i + 1] & mask); - newer[5] = (newer[5] & ~mask) | (next[k] & mask); - } else - newer[k] = (newer[k] & ~mask) | (next[k] & mask); - next[k] = 0; - for (s = 1; s >= 0; s--) { - standt(s); - for (i = 0; i < 6; i++) { - if ((a = (newer[i] ^ older[i]) & (s ? newer : older)[i]) - != 0) { - for (j = 0, t = 1 << 26; t; t >>= 1, j++) { - if (a & t) { - if (!(a & (t << 1))) { - move(YBASE + i, XBASE + 2 * j); - } - addstr(" "); - } - } - } - if (!s) { - older[i] = newer[i]; - } - } - if (!s) { - if (scrol) - drawbox(TRUE); - refresh(); - /* - * If we're scrolling, space out the refreshes to fake - * movement. That's 7 frames, or 6 intervals, which would - * be 166 msec if we spread it out over a second. It looks - * better (but will work on a slow terminal, e.g., less - * than 9600bd) to squeeze that into a half-second, and use - * half of 170 msec to ensure that the program doesn't eat - * a lot of time when asking what time it is, at the top of - * this loop -T.Dickey - */ - if (scrol) - napms(85); - } - } - } - - /* this depends on the detailed format of ctime(3) */ - (void) strcpy(buf, ctime(&now)); - (void) strcpy(buf + 10, buf + 19); - mvaddstr(16, 30, buf); - - move(6, 0); - drawbox(FALSE); - refresh(); - - /* - * If we're not scrolling, wait 1000 msec (1 sec). Use napms() rather - * than sleep() because the latter does odd things on some systems, - * e.g., suspending output as well. - */ - if (scrol) - napms(500); - else - napms(1000); - - /* - * This is a safe way to check if we're interrupted - making the signal - * handler set a flag that we can check. Since we're running - * nodelay(), the wgetch() call returns immediately, and in particular - * will return an error if interrupted. This works only if we can - * read from the input, of course. - */ - switch (wgetch(stdscr)) { - case 'q': - count = 1; - break; - case 's': - nodelay(stdscr, FALSE); - break; - case ' ': - nodelay(stdscr, TRUE); - break; -#ifdef KEY_RESIZE - case KEY_RESIZE: -#endif - case '?': - goto restart; - case ERR: - if (sigtermed) { - standend(); - endwin(); - fprintf(stderr, "gdc terminated by signal %d\n", sigtermed); - ExitProgram(EXIT_FAILURE); - } - /* FALLTHRU */ - default: - continue; - } - } while (--count); - standend(); - endwin(); - ExitProgram(EXIT_SUCCESS); -} diff --git a/src/libs/ncurses/test/hanoi.c b/src/libs/ncurses/test/hanoi.c deleted file mode 100644 index 45d6b97d20..0000000000 --- a/src/libs/ncurses/test/hanoi.c +++ /dev/null @@ -1,303 +0,0 @@ -/* - * Name: Towers of Hanoi. - * - * Desc: - * This is a playable copy of towers of hanoi. - * Its sole purpose is to demonstrate my Amiga Curses package. - * This program should compile on any system that has Curses. - * 'hanoi' will give a manual game with 7 playing pieces. - * 'hanoi n' will give a manual game with n playing pieces. - * 'hanoi n a' will give an auto solved game with n playing pieces. - * - * Author: Simon J Raybould (sie@fulcrum.bt.co.uk). - * (This version has been slightly modified by the ncurses maintainers.) - * - * Date: 05.Nov.90 - * - * $Id: hanoi.c,v 1.24 2002/06/29 23:32:18 tom Exp $ - */ - -#include - -#define NPEGS 3 /* This is not configurable !! */ -#define MINTILES 3 -#define MAXTILES 9 -#define DEFAULTTILES 7 -#define TOPLINE 6 -#define BASELINE 16 -#define STATUSLINE (LINES-3) -#define LEFTPEG 19 -#define MIDPEG 39 -#define RIGHTPEG 59 - -#define LENTOIND(x) (((x)-1)/2) -#define OTHER(a,b) (3-((a)+(b))) - -struct Peg { - size_t Length[MAXTILES]; - int Count; -}; - -static struct Peg Pegs[NPEGS]; -static int PegPos[] = -{LEFTPEG, MIDPEG, RIGHTPEG}; -static int TileColour[] = -{ - COLOR_GREEN, /* Length 3 */ - COLOR_MAGENTA, /* Length 5 */ - COLOR_RED, /* Length 7 */ - COLOR_BLUE, /* Length 9 */ - COLOR_CYAN, /* Length 11 */ - COLOR_YELLOW, /* Length 13 */ - COLOR_GREEN, /* Length 15 */ - COLOR_MAGENTA, /* Length 17 */ - COLOR_RED, /* Length 19 */ -}; -static int NMoves = 0; - -static void InitTiles(int NTiles); -static void DisplayTiles(void); -static void MakeMove(int From, int To); -static void AutoMove(int From, int To, int Num); -static void Usage(void); -static int Solved(int NumTiles); -static int GetMove(int *From, int *To); -static int InvalidMove(int From, int To); - -int -main(int argc, char **argv) -{ - int NTiles, FromCol, ToCol; - bool AutoFlag = 0; - - setlocale(LC_ALL, ""); - - switch (argc) { - case 1: - NTiles = DEFAULTTILES; - break; - case 2: - NTiles = atoi(argv[1]); - if (NTiles > MAXTILES || NTiles < MINTILES) { - fprintf(stderr, "Range %d to %d\n", MINTILES, MAXTILES); - ExitProgram(EXIT_FAILURE); - } - break; - case 3: - if (strcmp(argv[2], "a")) { - Usage(); - ExitProgram(EXIT_FAILURE); - } - NTiles = atoi(argv[1]); - if (NTiles > MAXTILES || NTiles < MINTILES) { - fprintf(stderr, "Range %d to %d\n", MINTILES, MAXTILES); - ExitProgram(EXIT_FAILURE); - } - AutoFlag = TRUE; - break; - default: - Usage(); - ExitProgram(EXIT_FAILURE); - } -#ifdef TRACE - trace(TRACE_MAXIMUM); -#endif - initscr(); - if (has_colors()) { - int i; - int bg = COLOR_BLACK; - start_color(); -#if HAVE_USE_DEFAULT_COLORS - if (use_default_colors() == OK) - bg = -1; -#endif - for (i = 0; i < 9; i++) - init_pair(i + 1, bg, TileColour[i]); - } - cbreak(); - if (LINES < 24) { - endwin(); - fprintf(stderr, "Min screen length 24 lines\n"); - ExitProgram(EXIT_FAILURE); - } - if (AutoFlag) { - curs_set(0); - leaveok(stdscr, TRUE); /* Attempt to remove cursor */ - } - InitTiles(NTiles); - DisplayTiles(); - if (AutoFlag) { - do { - noecho(); - AutoMove(0, 2, NTiles); - } while (!Solved(NTiles)); - sleep(2); - } else { - echo(); - for (;;) { - if (GetMove(&FromCol, &ToCol)) - break; - if (InvalidMove(FromCol, ToCol)) { - mvaddstr(STATUSLINE, 0, "Invalid Move !!"); - refresh(); - beep(); - continue; - } - MakeMove(FromCol, ToCol); - if (Solved(NTiles)) { - mvprintw(STATUSLINE, 0, - "Well Done !! You did it in %d moves", NMoves); - refresh(); - sleep(5); - break; - } - } - } - endwin(); - ExitProgram(EXIT_SUCCESS); -} - -static int -InvalidMove(int From, int To) -{ - if (From >= NPEGS) - return TRUE; - if (From < 0) - return TRUE; - if (To >= NPEGS) - return TRUE; - if (To < 0) - return TRUE; - if (From == To) - return TRUE; - if (!Pegs[From].Count) - return TRUE; - if (Pegs[To].Count && - Pegs[From].Length[Pegs[From].Count - 1] > - Pegs[To].Length[Pegs[To].Count - 1]) - return TRUE; - return FALSE; -} - -static void -InitTiles(int NTiles) -{ - int Size, SlotNo; - - for (Size = NTiles * 2 + 1, SlotNo = 0; Size >= 3; Size -= 2) - Pegs[0].Length[SlotNo++] = Size; - - Pegs[0].Count = NTiles; - Pegs[1].Count = 0; - Pegs[2].Count = 0; -} - -static void -DisplayTiles(void) -{ - int Line, peg, SlotNo; - char TileBuf[BUFSIZ]; - - erase(); - mvaddstr(1, 24, "T O W E R S O F H A N O I"); - mvaddstr(3, 34, "SJR 1990"); - mvprintw(19, 5, "Moves : %d", NMoves); - attrset(A_REVERSE); - mvaddstr(BASELINE, 8, - " "); - - for (Line = TOPLINE; Line < BASELINE; Line++) { - mvaddch(Line, LEFTPEG, ' '); - mvaddch(Line, MIDPEG, ' '); - mvaddch(Line, RIGHTPEG, ' '); - } - mvaddch(BASELINE, LEFTPEG, '1'); - mvaddch(BASELINE, MIDPEG, '2'); - mvaddch(BASELINE, RIGHTPEG, '3'); - attrset(A_NORMAL); - - /* Draw tiles */ - for (peg = 0; peg < NPEGS; peg++) { - for (SlotNo = 0; SlotNo < Pegs[peg].Count; SlotNo++) { - memset(TileBuf, ' ', Pegs[peg].Length[SlotNo]); - TileBuf[Pegs[peg].Length[SlotNo]] = '\0'; - if (has_colors()) - attrset(COLOR_PAIR(LENTOIND(Pegs[peg].Length[SlotNo]))); - else - attrset(A_REVERSE); - mvaddstr(BASELINE - (SlotNo + 1), - (int) (PegPos[peg] - Pegs[peg].Length[SlotNo] / 2), - TileBuf); - } - } - attrset(A_NORMAL); - refresh(); -} - -static int -GetMove(int *From, int *To) -{ - mvaddstr(STATUSLINE, 0, "Next move ('q' to quit) from "); - clrtoeol(); - refresh(); - if ((*From = getch()) == 'q') - return TRUE; - *From -= ('0' + 1); - addstr(" to "); - clrtoeol(); - refresh(); - - if ((*To = getch()) == 'q') - return TRUE; - *To -= ('0' + 1); - refresh(); - napms(500); - - move(STATUSLINE, 0); - clrtoeol(); - refresh(); - return FALSE; -} - -static void -MakeMove(int From, int To) -{ - Pegs[From].Count--; - Pegs[To].Length[Pegs[To].Count] = Pegs[From].Length[Pegs[From].Count]; - Pegs[To].Count++; - NMoves++; - DisplayTiles(); -} - -static void -AutoMove(int From, int To, int Num) -{ - if (Num == 1) { - MakeMove(From, To); - napms(500); - return; - } - AutoMove(From, OTHER(From, To), Num - 1); - MakeMove(From, To); - napms(500); - AutoMove(OTHER(From, To), To, Num - 1); -} - -static int -Solved(int NumTiles) -{ - int i; - - for (i = 1; i < NPEGS; i++) - if (Pegs[i].Count == NumTiles) - return TRUE; - return FALSE; -} - -static void -Usage(void) -{ - fprintf(stderr, "Usage: hanoi [] [a]\n"); - fprintf(stderr, - "The 'a' option causes the tower to be solved automatically\n"); -} diff --git a/src/libs/ncurses/test/hashtest.c b/src/libs/ncurses/test/hashtest.c deleted file mode 100644 index fbbcc72557..0000000000 --- a/src/libs/ncurses/test/hashtest.c +++ /dev/null @@ -1,226 +0,0 @@ -/* - * hashtest.c -- test hash mapping - * - * Generate timing statistics for vertical-motion optimization. - * - * $Id: hashtest.c,v 1.24 2005/04/16 16:36:54 tom Exp $ - */ - -#ifdef TRACE -#define Trace(p) _tracef p -#define USE_TRACE 1 -#else -#define Trace(p) /* nothing */ -#define USE_TRACE 0 -#endif - -#include - -#define LO_CHAR ' ' -#define HI_CHAR '~' - -static bool continuous = FALSE; -static bool reverse_loops = FALSE; -static bool single_step = FALSE; -static bool extend_corner = FALSE; -static int foot_lines = 0; -static int head_lines = 0; - -static void -cleanup(void) -{ - move(LINES - 1, 0); - clrtoeol(); - refresh(); - endwin(); -} - -static RETSIGTYPE -finish(int sig GCC_UNUSED) -{ - cleanup(); - ExitProgram(EXIT_FAILURE); -} - -static void -genlines(int base) -{ - int i, j; - -#if USE_TRACE - if (base == 'a') - Trace(("Resetting screen")); - else - Trace(("Painting `%c' screen", base)); -#endif - - /* Do this so writes to lower-right corner don't cause a spurious - * scrolling operation. This _shouldn't_ break the scrolling - * optimization, since that's computed in the refresh() call. - */ - scrollok(stdscr, FALSE); - - move(0, 0); - for (i = 0; i < head_lines; i++) - for (j = 0; j < COLS; j++) - addch(UChar((j % 8 == 0) ? ('A' + j / 8) : '-')); - - move(head_lines, 0); - for (i = head_lines; i < LINES - foot_lines; i++) { - chtype c = (base - LO_CHAR + i) % (HI_CHAR - LO_CHAR + 1) + LO_CHAR; - int hi = (extend_corner || (i < LINES - 1)) ? COLS : COLS - 1; - for (j = 0; j < hi; j++) - addch(c); - } - - for (i = LINES - foot_lines; i < LINES; i++) { - move(i, 0); - for (j = 0; j < (extend_corner ? COLS : COLS - 1); j++) - addch(UChar((j % 8 == 0) ? ('A' + j / 8) : '-')); - } - - scrollok(stdscr, TRUE); - if (single_step) { - move(LINES - 1, 0); - getch(); - } else - refresh(); -} - -static void -one_cycle(int ch) -{ - if (continuous) { - genlines(ch); - } else if (ch != 'a') { - genlines('a'); - genlines(ch); - } -} - -static void -run_test(bool optimized GCC_UNUSED) -{ - char ch; - int lo = continuous ? LO_CHAR : 'a' - LINES; - int hi = continuous ? HI_CHAR : 'a' + LINES; - - if (lo < LO_CHAR) - lo = LO_CHAR; - if (hi > HI_CHAR) - hi = HI_CHAR; - -#if defined(TRACE) || defined(NCURSES_TEST) - if (optimized) { - Trace(("With hash mapping")); - _nc_optimize_enable |= OPTIMIZE_HASHMAP; - } else { - Trace(("Without hash mapping")); - _nc_optimize_enable &= ~OPTIMIZE_HASHMAP; - } -#endif - - if (reverse_loops) - for (ch = hi; ch >= lo; ch--) - one_cycle(ch); - else - for (ch = lo; ch <= hi; ch++) - one_cycle(ch); -} - -static void -usage(void) -{ - static const char *const tbl[] = - { - "Usage: hashtest [options]" - ,"" - ,"Options:" - ," -c continuous (don't reset between refresh's)" - ," -f num leave 'num' lines constant for footer" - ," -h num leave 'num' lines constant for header" - ," -l num repeat test 'num' times" - ," -n test the normal optimizer" - ," -o test the hashed optimizer" - ," -r reverse the loops" - ," -s single-step" - ," -x assume lower-right corner extension" - }; - size_t n; - - for (n = 0; n < SIZEOF(tbl); n++) - fprintf(stderr, "%s\n", tbl[n]); - ExitProgram(EXIT_FAILURE); -} - -int -main(int argc, char *argv[]) -{ - int c; - int test_loops = 1; - int test_normal = FALSE; - int test_optimize = FALSE; - - setlocale(LC_ALL, ""); - - while ((c = getopt(argc, argv, "cf:h:l:norsx")) != EOF) { - switch (c) { - case 'c': - continuous = TRUE; - break; - case 'f': - foot_lines = atoi(optarg); - break; - case 'h': - head_lines = atoi(optarg); - break; - case 'l': - test_loops = atoi(optarg); - break; - case 'n': - test_normal = TRUE; - break; - case 'o': - test_optimize = TRUE; - break; - case 'r': - reverse_loops = TRUE; - break; - case 's': - single_step = TRUE; - break; - case 'x': - extend_corner = TRUE; - break; - default: - usage(); - } - } - if (!test_normal && !test_optimize) { - test_normal = TRUE; - test_optimize = TRUE; - } -#if USE_TRACE - trace(TRACE_TIMES); -#endif - - (void) signal(SIGINT, finish); /* arrange interrupts to terminate */ - - (void) initscr(); /* initialize the curses library */ - keypad(stdscr, TRUE); /* enable keyboard mapping */ - (void) nonl(); /* tell curses not to do NL->CR/NL on output */ - (void) cbreak(); /* take input chars one at a time, no wait for \n */ - (void) noecho(); /* don't echo input */ - scrollok(stdscr, TRUE); - - while (test_loops-- > 0) { - if (test_normal) - run_test(FALSE); - if (test_optimize) - run_test(TRUE); - } - - cleanup(); /* we're done */ - ExitProgram(EXIT_SUCCESS); -} -/* hashtest.c ends here */ diff --git a/src/libs/ncurses/test/ins_wide.c b/src/libs/ncurses/test/ins_wide.c deleted file mode 100644 index 7660c5b7fa..0000000000 --- a/src/libs/ncurses/test/ins_wide.c +++ /dev/null @@ -1,498 +0,0 @@ -/* - * $Id: ins_wide.c,v 1.6 2005/04/16 17:45:17 tom Exp $ - * - * Demonstrate the wins_wstr() and wins_wch functions. - * Thomas Dickey - 2002/11/23 - * - * Note: to provide inputs for *ins_wch(), we use setcchar(). A quirk of the - * X/Open definition for that function is that the string contains no - * characters with negative width. Any control character (such as tab) falls - * into that category. So it follows that *ins_wch() cannot render a tab - * character because there is no legal way to construct a cchar_t containing - * one. X/Open does not document this, and it would be logical to assume that - * *ins_wstr() has the same limitation, but it uses a wchar_t string directly, - * and does not document how tabs are handled. - */ - -#include - -#if USE_WIDEC_SUPPORT - -/* definitions to make it simpler to compare with inserts.c */ -#define InsNStr ins_nwstr -#define InsStr ins_wstr -#define MvInsNStr mvins_nwstr -#define MvInsStr mvins_wstr -#define MvWInsNStr mvwins_nwstr -#define MvWInsStr mvwins_wstr -#define WInsNStr wins_nwstr -#define WInsStr wins_wstr - -#define TABSIZE 8 - -typedef enum { - oDefault = 0, - oMove = 1, - oWindow = 2, - oMoveWindow = 3 -} Options; - -static bool m_opt = FALSE; -static bool w_opt = FALSE; -static int n_opt = -1; - -static void -legend(WINDOW *win, int level, Options state, wchar_t *buffer, int length) -{ - NCURSES_CONST char *showstate; - - switch (state) { - default: - case oDefault: - showstate = ""; - break; - case oMove: - showstate = " (mvXXX)"; - break; - case oWindow: - showstate = " (winXXX)"; - break; - case oMoveWindow: - showstate = " (mvwinXXX)"; - break; - } - - wmove(win, 0, 0); - wprintw(win, - "The Strings/Chars displays should match. Enter any characters, except:\n"); - wprintw(win, - "down-arrow or ^N to repeat on next line, 'w' for inner window, 'q' to exit.\n"); - wclrtoeol(win); - wprintw(win, "Level %d,%s inserted %d characters <", level, - showstate, length); - waddwstr(win, buffer); - waddstr(win, ">"); -} - -static int -ColOf(wchar_t *buffer, int length, int margin) -{ - int n; - int result; - - for (n = 0, result = margin + 1; n < length; ++n) { - int ch = buffer[n]; - switch (ch) { - case '\n': - /* actually newline should clear the remainder of the line - * and move to the next line - but that seems a little awkward - * in this example. - */ - case '\r': - result = 0; - break; - case '\b': - if (result > 0) - --result; - break; - case '\t': - result += (TABSIZE - (result % TABSIZE)); - break; - case '\177': - result += 2; - break; - default: - result += wcwidth(ch); - if (ch < 32) - ++result; - break; - } - } - return result; -} - -static int -ConvertCh(chtype source, cchar_t *target) -{ - wchar_t tmp_wchar[2]; - - tmp_wchar[0] = source; - tmp_wchar[1] = 0; - if (setcchar(target, tmp_wchar, A_NORMAL, 0, (void *) 0) == ERR) { - beep(); - return FALSE; - } - return TRUE; -} - -static int -MvWInsCh(WINDOW *win, int y, int x, chtype ch) -{ - int code; - cchar_t tmp_cchar; - - if (ConvertCh(ch, &tmp_cchar)) { - code = mvwins_wch(win, y, x, &tmp_cchar); - } else { - code = mvwinsch(win, y, x, ch); - } - return code; -} - -static int -MvInsCh(int y, int x, chtype ch) -{ - int code; - cchar_t tmp_cchar; - - if (ConvertCh(ch, &tmp_cchar)) { - code = mvins_wch(y, x, &tmp_cchar); - } else { - code = mvinsch(y, x, ch); - } - return code; -} - -static int -WInsCh(WINDOW *win, chtype ch) -{ - int code; - cchar_t tmp_cchar; - - if (ConvertCh(ch, &tmp_cchar)) { - code = wins_wch(win, &tmp_cchar); - } else { - code = winsch(win, ch); - } - return code; -} - -static int -InsCh(chtype ch) -{ - int code; - cchar_t tmp_cchar; - - if (ConvertCh(ch, &tmp_cchar)) { - code = ins_wch(&tmp_cchar); - } else { - code = insch(ch); - } - return code; -} - -#define LEN(n) ((length - (n) > n_opt) ? n_opt : (length - (n))) -static void -test_inserts(int level) -{ - static bool first = TRUE; - - wint_t ch; - int code; - int limit; - int row = 1; - int col; - int row2, col2; - int length; - wchar_t buffer[BUFSIZ]; - WINDOW *look = 0; - WINDOW *work = 0; - WINDOW *show = 0; - int margin = (2 * TABSIZE) - 1; - Options option = ((m_opt ? oMove : oDefault) - | ((w_opt || (level > 0)) ? oWindow : oDefault)); - - if (first) { - static char cmd[80]; - setlocale(LC_ALL, ""); - - putenv(strcpy(cmd, "TABSIZE=8")); - - initscr(); - (void) cbreak(); /* take input chars one at a time, no wait for \n */ - (void) noecho(); /* don't echo input */ - keypad(stdscr, TRUE); - } - - limit = LINES - 5; - if (level > 0) { - look = newwin(limit, COLS - (2 * (level - 1)), 0, level - 1); - work = newwin(limit - 2, COLS - (2 * level), 1, level); - show = newwin(4, COLS, limit + 1, 0); - box(look, 0, 0); - wnoutrefresh(look); - limit -= 2; - } else { - work = stdscr; - show = derwin(stdscr, 4, COLS, limit + 1, 0); - } - keypad(work, TRUE); - - for (col = margin + 1; col < COLS; col += TABSIZE) - mvwvline(work, row, col, '.', limit - 2); - - mvwvline(work, row, margin, ACS_VLINE, limit - 2); - mvwvline(work, row, margin + 1, ACS_VLINE, limit - 2); - limit /= 2; - - mvwaddstr(work, 1, 2, "String"); - mvwaddstr(work, limit + 1, 2, "Chars"); - wnoutrefresh(work); - - buffer[length = 0] = '\0'; - legend(show, level, option, buffer, length); - wnoutrefresh(show); - - doupdate(); - - /* - * Show the characters inserted in color, to distinguish from those that - * are shifted. - */ - if (has_colors()) { - start_color(); - init_pair(1, COLOR_WHITE, COLOR_BLUE); - wbkgdset(work, COLOR_PAIR(1) | ' '); - } - - while ((code = wget_wch(work, &ch)) != ERR) { - - if (code == KEY_CODE_YES) { - switch (ch) { - case KEY_DOWN: - ch = CTRL('N'); - break; - case KEY_BACKSPACE: - ch = '\b'; - break; - default: - beep(); - continue; - } - } else if (code == ERR) { - beep(); - break; - } - if (ch == 'q') - break; - - wmove(work, row, margin + 1); - switch (ch) { - case 'w': - test_inserts(level + 1); - - touchwin(look); - touchwin(work); - touchwin(show); - - wnoutrefresh(look); - wnoutrefresh(work); - wnoutrefresh(show); - - doupdate(); - break; - case CTRL('N'): - if (row < limit) { - ++row; - /* put the whole string in, all at once */ - col2 = margin + 1; - switch (option) { - case oDefault: - if (n_opt > 1) { - for (col = 0; col < length; col += n_opt) { - col2 = ColOf(buffer, col, margin); - if (move(row, col2) != ERR) { - InsNStr(buffer + col, LEN(col)); - } - } - } else { - if (move(row, col2) != ERR) { - InsStr(buffer); - } - } - break; - case oMove: - if (n_opt > 1) { - for (col = 0; col < length; col += n_opt) { - col2 = ColOf(buffer, col, margin); - MvInsNStr(row, col2, buffer + col, LEN(col)); - } - } else { - MvInsStr(row, col2, buffer); - } - break; - case oWindow: - if (n_opt > 1) { - for (col = 0; col < length; col += n_opt) { - col2 = ColOf(buffer, col, margin); - if (wmove(work, row, col2) != ERR) { - WInsNStr(work, buffer + col, LEN(col)); - } - } - } else { - if (wmove(work, row, col2) != ERR) { - WInsStr(work, buffer); - } - } - break; - case oMoveWindow: - if (n_opt > 1) { - for (col = 0; col < length; col += n_opt) { - col2 = ColOf(buffer, col, margin); - MvWInsNStr(work, row, col2, buffer + col, LEN(col)); - } - } else { - MvWInsStr(work, row, col2, buffer); - } - break; - } - - /* do the corresponding single-character insertion */ - row2 = limit + row; - for (col = 0; col < length; ++col) { - col2 = ColOf(buffer, col, margin); - switch (option) { - case oDefault: - if (move(row2, col2) != ERR) { - InsCh((chtype) buffer[col]); - } - break; - case oMove: - MvInsCh(row2, col2, (chtype) buffer[col]); - break; - case oWindow: - if (wmove(work, row2, col2) != ERR) { - WInsCh(work, (chtype) buffer[col]); - } - break; - case oMoveWindow: - MvWInsCh(work, row2, col2, (chtype) buffer[col]); - break; - } - } - } else { - beep(); - } - break; - case KEY_BACKSPACE: - ch = '\b'; - /* FALLTHRU */ - default: - buffer[length++] = ch; - buffer[length] = '\0'; - - /* put the string in, one character at a time */ - col = ColOf(buffer, length - 1, margin); - switch (option) { - case oDefault: - if (move(row, col) != ERR) { - InsStr(buffer + length - 1); - } - break; - case oMove: - MvInsStr(row, col, buffer + length - 1); - break; - case oWindow: - if (wmove(work, row, col) != ERR) { - WInsStr(work, buffer + length - 1); - } - break; - case oMoveWindow: - MvWInsStr(work, row, col, buffer + length - 1); - break; - } - - /* do the corresponding single-character insertion */ - switch (option) { - case oDefault: - if (move(limit + row, col) != ERR) { - InsCh(ch); - } - break; - case oMove: - MvInsCh(limit + row, col, ch); - break; - case oWindow: - if (wmove(work, limit + row, col) != ERR) { - WInsCh(work, ch); - } - break; - case oMoveWindow: - MvWInsCh(work, limit + row, col, ch); - break; - } - - wnoutrefresh(work); - - legend(show, level, option, buffer, length); - wnoutrefresh(show); - - doupdate(); - break; - } - } - if (level > 0) { - delwin(show); - delwin(work); - delwin(look); - } -} - -static void -usage(void) -{ - static const char *tbl[] = - { - "Usage: inserts [options]" - ,"" - ,"Options:" - ," -n NUM limit string-inserts to NUM bytes on ^N replay" - ," -m perform wmove/move separately from insert-functions" - ," -w use window-parameter even when stdscr would be implied" - }; - unsigned n; - for (n = 0; n < SIZEOF(tbl); ++n) - fprintf(stderr, "%s\n", tbl[n]); - ExitProgram(EXIT_FAILURE); -} - -int -main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) -{ - int ch; - - setlocale(LC_ALL, ""); - - while ((ch = getopt(argc, argv, "mn:w")) != EOF) { - switch (ch) { - case 'm': - m_opt = TRUE; - break; - case 'n': - n_opt = atoi(optarg); - if (n_opt == 0) - n_opt = -1; - break; - case 'w': - w_opt = TRUE; - break; - default: - usage(); - break; - } - } - if (optind < argc) - usage(); - - test_inserts(0); - endwin(); - ExitProgram(EXIT_SUCCESS); -} -#else -int -main(void) -{ - printf("This program requires the wide-ncurses library\n"); - ExitProgram(EXIT_FAILURE); -} -#endif diff --git a/src/libs/ncurses/test/inserts.c b/src/libs/ncurses/test/inserts.c deleted file mode 100644 index b3b4857ed6..0000000000 --- a/src/libs/ncurses/test/inserts.c +++ /dev/null @@ -1,399 +0,0 @@ -/* - * $Id: inserts.c,v 1.13 2005/04/16 15:56:42 tom Exp $ - * - * Demonstrate the winsstr() and winsch functions. - * Thomas Dickey - 2002/10/19 - */ - -#include - -#define InsNStr insnstr -#define InsStr insstr -#define MvInsNStr mvinsnstr -#define MvInsStr mvinsstr -#define MvWInsNStr mvwinsnstr -#define MvWInsStr mvwinsstr -#define WInsNStr winsnstr -#define WInsStr winsstr - -#define InsCh insch -#define MvInsCh mvinsch -#define MvWInsCh mvwinsch -#define WInsCh winsch - -#define TABSIZE 8 - -typedef enum { - oDefault = 0, - oMove = 1, - oWindow = 2, - oMoveWindow = 3 -} Options; - -static bool m_opt = FALSE; -static bool w_opt = FALSE; -static int n_opt = -1; - -static void -legend(WINDOW *win, int level, Options state, char *buffer, int length) -{ - NCURSES_CONST char *showstate; - - switch (state) { - default: - case oDefault: - showstate = ""; - break; - case oMove: - showstate = " (mvXXX)"; - break; - case oWindow: - showstate = " (winXXX)"; - break; - case oMoveWindow: - showstate = " (mvwinXXX)"; - break; - } - - wmove(win, 0, 0); - wprintw(win, - "The Strings/Chars displays should match. Enter any characters, except:\n"); - wprintw(win, - "down-arrow or ^N to repeat on next line, 'w' for inner window, 'q' to exit.\n"); - wclrtoeol(win); - wprintw(win, "Level %d,%s inserted %d characters <%s>", level, - showstate, length, buffer); -} - -static int -ColOf(char *buffer, int length, int margin) -{ - int n; - int result; - - for (n = 0, result = margin + 1; n < length; ++n) { - int ch = UChar(buffer[n]); - switch (ch) { - case '\n': - /* actually newline should clear the remainder of the line - * and move to the next line - but that seems a little awkward - * in this example. - */ - case '\r': - result = 0; - break; - case '\b': - if (result > 0) - --result; - break; - case '\t': - result += (TABSIZE - (result % TABSIZE)); - break; - case '\177': - result += 2; - break; - default: - ++result; - if (ch < 32) - ++result; - break; - } - } - return result; -} - -#define LEN(n) ((length - (n) > n_opt) ? n_opt : (length - (n))) -static void -test_inserts(int level) -{ - static bool first = TRUE; - - int ch; - int limit; - int row = 1; - int col; - int row2, col2; - int length; - char buffer[BUFSIZ]; - WINDOW *look = 0; - WINDOW *work = 0; - WINDOW *show = 0; - int margin = (2 * TABSIZE) - 1; - Options option = ((m_opt ? oMove : oDefault) - | ((w_opt || (level > 0)) ? oWindow : oDefault)); - - if (first) { - static char cmd[80]; - setlocale(LC_ALL, ""); - - putenv(strcpy(cmd, "TABSIZE=8")); - - initscr(); - (void) cbreak(); /* take input chars one at a time, no wait for \n */ - (void) noecho(); /* don't echo input */ - keypad(stdscr, TRUE); - } - - limit = LINES - 5; - if (level > 0) { - look = newwin(limit, COLS - (2 * (level - 1)), 0, level - 1); - work = newwin(limit - 2, COLS - (2 * level), 1, level); - show = newwin(4, COLS, limit + 1, 0); - box(look, 0, 0); - wnoutrefresh(look); - limit -= 2; - } else { - work = stdscr; - show = derwin(stdscr, 4, COLS, limit + 1, 0); - } - keypad(work, TRUE); - - for (col = margin + 1; col < COLS; col += TABSIZE) - mvwvline(work, row, col, '.', limit - 2); - - mvwvline(work, row, margin, ACS_VLINE, limit - 2); - mvwvline(work, row, margin + 1, ACS_VLINE, limit - 2); - limit /= 2; - - mvwaddstr(work, 1, 2, "String"); - mvwaddstr(work, limit + 1, 2, "Chars"); - wnoutrefresh(work); - - buffer[length = 0] = '\0'; - legend(show, level, option, buffer, length); - wnoutrefresh(show); - - doupdate(); - - /* - * Show the characters inserted in color, to distinguish from those that - * are shifted. - */ - if (has_colors()) { - start_color(); - init_pair(1, COLOR_WHITE, COLOR_BLUE); - wbkgdset(work, COLOR_PAIR(1) | ' '); - } - - while ((ch = wgetch(work)) != 'q') { - if (ch == ERR) { - beep(); - break; - } - wmove(work, row, margin + 1); - switch (ch) { - case 'w': - test_inserts(level + 1); - - touchwin(look); - touchwin(work); - touchwin(show); - - wnoutrefresh(look); - wnoutrefresh(work); - wnoutrefresh(show); - - doupdate(); - break; - case CTRL('N'): - case KEY_DOWN: - if (row < limit) { - ++row; - /* put the whole string in, all at once */ - col2 = margin + 1; - switch (option) { - case oDefault: - if (n_opt > 1) { - for (col = 0; col < length; col += n_opt) { - col2 = ColOf(buffer, col, margin); - if (move(row, col2) != ERR) { - InsNStr(buffer + col, LEN(col)); - } - } - } else { - if (move(row, col2) != ERR) { - InsStr(buffer); - } - } - break; - case oMove: - if (n_opt > 1) { - for (col = 0; col < length; col += n_opt) { - col2 = ColOf(buffer, col, margin); - MvInsNStr(row, col2, buffer + col, LEN(col)); - } - } else { - MvInsStr(row, col2, buffer); - } - break; - case oWindow: - if (n_opt > 1) { - for (col = 0; col < length; col += n_opt) { - col2 = ColOf(buffer, col, margin); - if (wmove(work, row, col2) != ERR) { - WInsNStr(work, buffer + col, LEN(col)); - } - } - } else { - if (wmove(work, row, col2) != ERR) { - WInsStr(work, buffer); - } - } - break; - case oMoveWindow: - if (n_opt > 1) { - for (col = 0; col < length; col += n_opt) { - col2 = ColOf(buffer, col, margin); - MvWInsNStr(work, row, col2, buffer + col, LEN(col)); - } - } else { - MvWInsStr(work, row, col2, buffer); - } - break; - } - - /* do the corresponding single-character insertion */ - row2 = limit + row; - for (col = 0; col < length; ++col) { - col2 = ColOf(buffer, col, margin); - switch (option) { - case oDefault: - if (move(row2, col2) != ERR) { - InsCh(UChar(buffer[col])); - } - break; - case oMove: - MvInsCh(row2, col2, UChar(buffer[col])); - break; - case oWindow: - if (wmove(work, row2, col2) != ERR) { - WInsCh(work, UChar(buffer[col])); - } - break; - case oMoveWindow: - MvWInsCh(work, row2, col2, UChar(buffer[col])); - break; - } - } - } else { - beep(); - } - break; - case KEY_BACKSPACE: - ch = '\b'; - /* FALLTHRU */ - default: - if (ch <= 0 || ch > 255) { - beep(); - break; - } - buffer[length++] = ch; - buffer[length] = '\0'; - - /* put the string in, one character at a time */ - col = ColOf(buffer, length - 1, margin); - switch (option) { - case oDefault: - if (move(row, col) != ERR) { - InsStr(buffer + length - 1); - } - break; - case oMove: - MvInsStr(row, col, buffer + length - 1); - break; - case oWindow: - if (wmove(work, row, col) != ERR) { - WInsStr(work, buffer + length - 1); - } - break; - case oMoveWindow: - MvWInsStr(work, row, col, buffer + length - 1); - break; - } - - /* do the corresponding single-character insertion */ - switch (option) { - case oDefault: - if (move(limit + row, col) != ERR) { - InsCh(UChar(ch)); - } - break; - case oMove: - MvInsCh(limit + row, col, UChar(ch)); - break; - case oWindow: - if (wmove(work, limit + row, col) != ERR) { - WInsCh(work, UChar(ch)); - } - break; - case oMoveWindow: - MvWInsCh(work, limit + row, col, UChar(ch)); - break; - } - - wnoutrefresh(work); - - legend(show, level, option, buffer, length); - wnoutrefresh(show); - - doupdate(); - break; - } - } - if (level > 0) { - delwin(show); - delwin(work); - delwin(look); - } -} - -static void -usage(void) -{ - static const char *tbl[] = - { - "Usage: inserts [options]" - ,"" - ,"Options:" - ," -n NUM limit string-inserts to NUM bytes on ^N replay" - ," -m perform wmove/move separately from insert-functions" - ," -w use window-parameter even when stdscr would be implied" - }; - unsigned n; - for (n = 0; n < SIZEOF(tbl); ++n) - fprintf(stderr, "%s\n", tbl[n]); - ExitProgram(EXIT_FAILURE); -} - -int -main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) -{ - int ch; - - setlocale(LC_ALL, ""); - - while ((ch = getopt(argc, argv, "mn:w")) != EOF) { - switch (ch) { - case 'm': - m_opt = TRUE; - break; - case 'n': - n_opt = atoi(optarg); - if (n_opt == 0) - n_opt = -1; - break; - case 'w': - w_opt = TRUE; - break; - default: - usage(); - break; - } - } - if (optind < argc) - usage(); - - test_inserts(0); - endwin(); - ExitProgram(EXIT_SUCCESS); -} diff --git a/src/libs/ncurses/test/keynames.c b/src/libs/ncurses/test/keynames.c deleted file mode 100644 index 7dd944e621..0000000000 --- a/src/libs/ncurses/test/keynames.c +++ /dev/null @@ -1,27 +0,0 @@ -/* - * $Id: keynames.c,v 1.7 2005/04/30 20:13:59 tom Exp $ - */ - -#include - -int -main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) -{ - int n; - - /* - * Get the terminfo entry into memory, and tell ncurses that we want to - * use function keys. That will make it add any user-defined keys that - * appear in the terminfo. - */ - newterm(getenv("TERM"), stderr, stdin); - keypad(stdscr, TRUE); - endwin(); - - for (n = -1; n < KEY_MAX + 512; n++) { - const char *result = keyname(n); - if (result != 0) - printf("%d(%5o):%s\n", n, n, result); - } - ExitProgram(EXIT_SUCCESS); -} diff --git a/src/libs/ncurses/test/knight.c b/src/libs/ncurses/test/knight.c deleted file mode 100644 index 44537d41d6..0000000000 --- a/src/libs/ncurses/test/knight.c +++ /dev/null @@ -1,700 +0,0 @@ -/* - * Knight's Tour - a brain game - * - * The original of this game was anonymous. It had an unbelievably bogus - * interface, you actually had to enter square coordinates! Redesign by - * Eric S. Raymond July 22 1995. Mouse support - * added September 20th 1995. - * - * $Id: knight.c,v 1.26 2002/10/19 22:11:24 tom Exp $ - */ - -#include - -/* board size */ -#define BDEPTH 8 -#define BWIDTH 8 - -/* where to start the instructions */ -#define INSTRY 2 -#define INSTRX 35 - -/* corner of board */ -#define BOARDY 2 -#define BOARDX 0 - -/* notification line */ -#define NOTIFYY 21 - -/* virtual color values */ -#define TRAIL_COLOR 1 -#define PLUS_COLOR 2 -#define MINUS_COLOR 3 - -#define CX(x) (2 + 4 * (x)) -#define CY(y) (1 + 2 * (y)) -#define cellmove(y, x) wmove(boardwin, CY(y), CX(x)) -#define CXINV(x) (((x) - 1) / 4) -#define CYINV(y) (((y) - 2) / 2) - -typedef struct { - short x, y; -} cell; - -static WINDOW *boardwin; /* the board window */ -static WINDOW *helpwin; /* the help window */ -static WINDOW *msgwin; /* the message window */ -static cell history[BDEPTH * BWIDTH + 1]; /* choice history */ -static chtype minus = '-'; /* possible-move character */ -static chtype oldch; -static chtype plus = '+'; /* cursor hot-spot character */ -static chtype trail = '#'; /* trail character */ -static int movecount; /* count of moves so far */ -static int trialcount; /* count of trials so far */ -static short board[BDEPTH][BWIDTH]; /* the squares */ -/* *INDENT-OFF* */ -static const struct { - int y; - int x; -} offsets[] = { - { 2, 1 }, - { 1, 2 }, - { -1, 2 }, - { -2, 1 }, - { -2, -1 }, - { -1, -2 }, - { 1, -2 }, - { 2, -1 }, -}; -/* *INDENT-ON* */ - -static void -init_program(void) -{ - setlocale(LC_ALL, ""); - - srand((unsigned) getpid()); - initscr(); - cbreak(); /* immediate char return */ - noecho(); /* no immediate echo */ - boardwin = newwin(BDEPTH * 2 + 1, BWIDTH * 4 + 1, BOARDY, BOARDX); - helpwin = newwin(0, 0, INSTRY, INSTRX); - msgwin = newwin(1, INSTRX - 1, NOTIFYY, 0); - scrollok(msgwin, TRUE); - keypad(boardwin, TRUE); - - if (has_colors()) { - int bg = COLOR_BLACK; - - start_color(); -#if HAVE_USE_DEFAULT_COLORS - if (use_default_colors() == OK) - bg = -1; -#endif - - (void) init_pair(TRAIL_COLOR, COLOR_CYAN, bg); - (void) init_pair(PLUS_COLOR, COLOR_RED, bg); - (void) init_pair(MINUS_COLOR, COLOR_GREEN, bg); - - trail |= COLOR_PAIR(TRAIL_COLOR); - plus |= COLOR_PAIR(PLUS_COLOR); - minus |= COLOR_PAIR(MINUS_COLOR); - } -#ifdef NCURSES_MOUSE_VERSION - (void) mousemask(BUTTON1_CLICKED, (mmask_t *) NULL); -#endif /* NCURSES_MOUSE_VERSION */ - - oldch = minus; -} - -static void -help1(void) -/* game explanation -- initial help screen */ -{ - (void) waddstr(helpwin, "Knight's move is a solitaire puzzle. Your\n"); - (void) waddstr(helpwin, "objective is to visit each square of the \n"); - (void) waddstr(helpwin, "chessboard exactly once by making knight's\n"); - (void) waddstr(helpwin, "moves (one square right or left followed \n"); - (void) waddstr(helpwin, "by two squares up or down, or two squares \n"); - (void) waddstr(helpwin, "right or left followed by one square up or\n"); - (void) waddstr(helpwin, "down). You may start anywhere.\n\n"); - - (void) waddstr(helpwin, "Use arrow keys to move the cursor around.\n"); - (void) waddstr(helpwin, "When you want to move your knight to the \n"); - (void) waddstr(helpwin, "cursor location, press or Enter.\n"); - (void) waddstr(helpwin, "Illegal moves will be rejected with an \n"); - (void) waddstr(helpwin, "audible beep.\n\n"); - (void) waddstr(helpwin, "The program will detect if you solve the\n"); - (void) waddstr(helpwin, "puzzle; also inform you when you run out\n"); - (void) waddstr(helpwin, "of legal moves.\n\n"); - - (void) mvwaddstr(helpwin, NOTIFYY - INSTRY, 0, - "Press `?' to go to keystroke help."); -} - -static void -help2(void) -/* keystroke help screen */ -{ - (void) waddstr(helpwin, "Possible moves are shown with `-'.\n\n"); - - (void) waddstr(helpwin, "You can move around with the arrow keys or\n"); - (void) waddstr(helpwin, "with the rogue/hack movement keys. Other\n"); - (void) waddstr(helpwin, "commands allow you to undo moves or redraw.\n"); - (void) waddstr(helpwin, "Your mouse may work; try left-button to\n"); - (void) waddstr(helpwin, "move to the square under the pointer.\n\n"); - - (void) waddstr(helpwin, "x,q -- exit y k u 7 8 9\n"); - (void) waddstr(helpwin, "r -- redraw screen \\|/ \\|/ \n"); - (void) waddstr(helpwin, "bksp -- undo move h-+-l 4-+-6\n"); - (void) waddstr(helpwin, "a -- autojump /|\\ /|\\ \n"); - (void) waddstr(helpwin, " b j n 1 2 3\n"); - - (void) waddstr(helpwin, "\nYou can place your knight on the selected\n"); - (void) waddstr(helpwin, "square with spacebar, Enter, or the keypad\n"); - (void) waddstr(helpwin, "center key. Use F/B to review the path.\n"); - - (void) mvwaddstr(helpwin, NOTIFYY - INSTRY, 0, - "Press `?' to go to game explanation"); -} - -static void -show_help(bool * keyhelp) -{ - werase(helpwin); - if (*keyhelp) { - help1(); - *keyhelp = FALSE; - } else { - help2(); - *keyhelp = TRUE; - } - wrefresh(helpwin); -} - -static bool -chksqr(int r1, int c1) -{ - if ((r1 < 0) || (r1 > BDEPTH - 1)) - return (FALSE); - if ((c1 < 0) || (c1 > BWIDTH - 1)) - return (FALSE); - return ((!board[r1][c1]) ? TRUE : FALSE); -} - -static bool -chkmoves(int rw, int col) -/* check to see if valid moves are available */ -{ - unsigned n; - - for (n = 0; n < SIZEOF(offsets); n++) - if (chksqr(rw + offsets[n].y, col + offsets[n].x)) - return (TRUE); - return (FALSE); -} - -static void -dosquares(void) -{ - int i, j; - - mvaddstr(0, 20, "KNIGHT'S MOVE -- a logical solitaire"); - - move(BOARDY, BOARDX); - waddch(boardwin, ACS_ULCORNER); - for (j = 0; j < 7; j++) { - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_TTEE); - } - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_URCORNER); - - for (i = 1; i < BDEPTH; i++) { - move(BOARDY + i * 2 - 1, BOARDX); - waddch(boardwin, ACS_VLINE); - for (j = 0; j < BWIDTH; j++) { - waddch(boardwin, ' '); - waddch(boardwin, ' '); - waddch(boardwin, ' '); - waddch(boardwin, ACS_VLINE); - } - move(BOARDY + i * 2, BOARDX); - waddch(boardwin, ACS_LTEE); - for (j = 0; j < BWIDTH - 1; j++) { - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_PLUS); - } - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_RTEE); - } - - move(BOARDY + i * 2 - 1, BOARDX); - waddch(boardwin, ACS_VLINE); - for (j = 0; j < BWIDTH; j++) { - waddch(boardwin, ' '); - waddch(boardwin, ' '); - waddch(boardwin, ' '); - waddch(boardwin, ACS_VLINE); - } - - move(BOARDY + i * 2, BOARDX); - waddch(boardwin, ACS_LLCORNER); - for (j = 0; j < BWIDTH - 1; j++) { - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_BTEE); - } - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_HLINE); - waddch(boardwin, ACS_LRCORNER); -} - -static void -mark_possibles(int prow, int pcol, chtype mark) -{ - unsigned n; - - for (n = 0; n < SIZEOF(offsets); n++) { - if (chksqr(prow + offsets[n].y, pcol + offsets[n].x)) { - cellmove(prow + offsets[n].y, pcol + offsets[n].x); - waddch(boardwin, mark); - } - } -} - -static void -find_next_move(int *y, int *x) -{ - unsigned j, k; - int found = -1; - int first = -1; - int next = 0; - int oldy, oldx; - int newy, newx; - - if (movecount > 1) { - oldy = history[movecount - 1].y; - oldx = history[movecount - 1].x; - for (j = 0; j < SIZEOF(offsets) * 2; j++) { - k = j % SIZEOF(offsets); - newy = oldy + offsets[k].y; - newx = oldx + offsets[k].x; - if (chksqr(newy, newx)) { - if (first < 0) - first = k; - if (newy == *y - && newx == *x) { - found = k; - } else if (found >= 0) { - next = k; - break; - } - } - } - if (found < 0) - next = first; - if (next >= 0) { - *y = oldy + offsets[next].y; - *x = oldx + offsets[next].x; - } - } else { - beep(); - } -} - -static void -unmarkcell(int row, int column) -{ - cellmove(row, column); - waddch(boardwin, '\b'); - waddch(boardwin, ' '); - waddch(boardwin, minus); - waddch(boardwin, ' '); -} - -static void -markcell(chtype tchar, int row, int column) -{ - cellmove(row, column); - waddch(boardwin, '\b'); - waddch(boardwin, tchar); - waddch(boardwin, tchar); - waddch(boardwin, tchar); -} - -static void -drawmove(chtype tchar, int oldy, int oldx, int row, int column) -/* place the stars, update board & currents */ -{ - if (movecount <= 1) { - int i, j; - - for (i = 0; i < BDEPTH; i++) { - for (j = 0; j < BWIDTH; j++) { - if (movecount == 0) { - unmarkcell(i, j); - } else { - cellmove(i, j); - if (winch(boardwin) == minus) - waddch(boardwin, movecount ? ' ' : minus); - } - } - } - } else { - markcell(tchar, oldy, oldx); - mark_possibles(oldy, oldx, ' '); - } - - if (row != -1 && column != -1) { - markcell(trail, row, column); - mark_possibles(row, column, minus); - board[row][column] = TRUE; - } - - wprintw(msgwin, "\nMove %d", movecount); - if (trialcount != movecount) - wprintw(msgwin, " (%d tries)", trialcount); - wclrtoeol(msgwin); -} - -static int -iabs(int num) -{ - if (num < 0) - return (-num); - else - return (num); -} - -static bool -evalmove(int row, int column) -/* evaluate move */ -{ - if (movecount == 1) - return (TRUE); - else if (board[row][column] == TRUE) { - waddstr(msgwin, "\nYou've already been there."); - return (FALSE); - } else { - int rdif = iabs(row - history[movecount - 1].y); - int cdif = iabs(column - history[movecount - 1].x); - - if (!((rdif == 1) && (cdif == 2)) && !((rdif == 2) && (cdif == 1))) { - waddstr(msgwin, "\nThat's not a legal knight's move."); - return (FALSE); - } - } - - return (TRUE); -} - -static int -completed(void) -{ - int i, j, count = 0; - - for (i = 0; i < BDEPTH; i++) - for (j = 0; j < BWIDTH; j++) - if (board[i][j] != 0) - count += 1; - return (count == (BWIDTH * BDEPTH) ? -1 : count); -} - -static void -no_previous_move(void) -{ - waddstr(msgwin, "\nNo previous move."); - beep(); -} - -static void -play(void) -/* play the game */ -{ - bool keyhelp; /* TRUE if keystroke help is up */ - int i, j, count; - int lastcol = 0; /* last location visited */ - int lastrow = 0; - int ny = 0, nx = 0; - int review = 0; /* review history */ - int rw = 0, col = 0; /* current row and column */ - - do { - /* clear screen and draw board */ - werase(boardwin); - werase(helpwin); - werase(msgwin); - dosquares(); - help1(); - wnoutrefresh(stdscr); - wnoutrefresh(helpwin); - wnoutrefresh(msgwin); - wnoutrefresh(boardwin); - doupdate(); - - movecount = 0; - for (i = 0; i < BDEPTH; i++) { - for (j = 0; j < BWIDTH; j++) { - board[i][j] = FALSE; - unmarkcell(i, j); - } - } - memset(history, 0, sizeof(history)); - history[0].y = history[0].x = -1; - history[1].y = history[1].x = -1; - lastrow = lastcol = -2; - movecount = 1; - trialcount = 1; - keyhelp = FALSE; - show_help(&keyhelp); - - for (;;) { - if (rw != lastrow || col != lastcol) { - if (lastrow >= 0 && lastcol >= 0) { - cellmove(lastrow, lastcol); - if (board[lastrow][lastcol]) - waddch(boardwin, trail); - else - waddch(boardwin, oldch); - } - - cellmove(rw, col); - oldch = winch(boardwin); - - lastrow = rw; - lastcol = col; - } - cellmove(rw, col); - waddch(boardwin, plus); - cellmove(rw, col); - - wrefresh(msgwin); - - switch (wgetch(boardwin)) { - case 'k': - case '8': - case KEY_UP: - ny = rw + BDEPTH - 1; - nx = col; - break; - case 'j': - case '2': - case KEY_DOWN: - ny = rw + 1; - nx = col; - break; - case 'h': - case '4': - case KEY_LEFT: - ny = rw; - nx = col + BWIDTH - 1; - break; - case 'l': - case '6': - case KEY_RIGHT: - ny = rw; - nx = col + 1; - break; - case 'y': - case '7': - case KEY_A1: - ny = rw + BDEPTH - 1; - nx = col + BWIDTH - 1; - break; - case 'b': - case '1': - case KEY_C1: - ny = rw + 1; - nx = col + BWIDTH - 1; - break; - case 'u': - case '9': - case KEY_A3: - ny = rw + BDEPTH - 1; - nx = col + 1; - break; - case 'n': - case '3': - case KEY_C3: - ny = rw + 1; - nx = col + 1; - break; - -#ifdef NCURSES_MOUSE_VERSION - case KEY_MOUSE: - { - MEVENT myevent; - - getmouse(&myevent); - if (myevent.y >= CY(0) && myevent.y <= CY(BDEPTH) - && myevent.x >= CX(0) && myevent.x <= CX(BWIDTH)) { - nx = CXINV(myevent.x); - ny = CYINV(myevent.y); - ungetch('\n'); - break; - } else { - beep(); - continue; - } - } -#endif /* NCURSES_MOUSE_VERSION */ - - case KEY_B2: - case '\n': - case ' ': - review = 0; - if (evalmove(rw, col)) { - drawmove(trail, - history[movecount - 1].y, - history[movecount - 1].x, - rw, col); - history[movecount].y = rw; - history[movecount].x = col; - movecount++; - trialcount++; - - if (!chkmoves(rw, col)) { - if (completed() < 0) { - waddstr(msgwin, "\nYou won."); - } else { - waddstr(msgwin, - "\nNo further moves are possible."); - } - } - } else { - beep(); - } - break; - - case KEY_UNDO: - case KEY_BACKSPACE: - case '\b': - review = 0; - if (movecount <= 0) { - no_previous_move(); - } else if (movecount <= 1) { - ny = history[movecount].y; - nx = history[movecount].x; - if (nx < 0 || ny < 0) { - ny = lastrow; - nx = lastcol; - } - movecount = 0; - board[ny][nx] = FALSE; - oldch = minus; - drawmove(' ', ny, nx, -1, -1); - movecount = 1; - trialcount = 1; - no_previous_move(); - } else { - int oldy = history[movecount - 1].y; - int oldx = history[movecount - 1].x; - - if (!board[rw][col]) { - cellmove(rw, col); - waddch(boardwin, ' '); - } - - board[oldy][oldx] = FALSE; - --movecount; - ny = history[movecount - 1].y; - nx = history[movecount - 1].x; - if (nx < 0 || ny < 0) { - ny = oldy; - nx = oldx; - } - drawmove(' ', oldy, oldx, ny, nx); - - /* avoid problems if we just changed the current cell */ - cellmove(lastrow, lastcol); - oldch = winch(boardwin); - } - break; - - case 'a': - nx = col; - ny = rw; - find_next_move(&ny, &nx); - break; - - case 'F': - if (review > 0) { - review--; - ny = history[movecount - review - 1].y; - nx = history[movecount - review - 1].x; - } else { - beep(); - } - break; - - case 'B': - if (review < movecount - 2) { - review++; - ny = history[movecount - review - 1].y; - nx = history[movecount - review - 1].x; - } else { - beep(); - } - break; - - case KEY_REDO: - case '\f': - case 'r': - clearok(curscr, TRUE); - wnoutrefresh(stdscr); - wnoutrefresh(boardwin); - wnoutrefresh(msgwin); - wnoutrefresh(helpwin); - doupdate(); - break; - - case 'q': - case 'x': - goto dropout; - - case '?': - show_help(&keyhelp); - break; - - default: - beep(); - break; - } - - col = nx % BWIDTH; - rw = ny % BDEPTH; - } - - dropout: - if ((count = completed()) < 0) - wprintw(msgwin, "\nYou won. Care to try again? "); - else - wprintw(msgwin, "\n%d squares filled. Try again? ", count); - wclrtoeol(msgwin); - } while - (tolower(wgetch(msgwin)) == 'y'); -} - -int -main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) -{ - init_program(); - - play(); - - endwin(); - ExitProgram(EXIT_SUCCESS); -} - -/* knight.c ends here */ diff --git a/src/libs/ncurses/test/linux-color.dat b/src/libs/ncurses/test/linux-color.dat deleted file mode 100644 index 55302d4e4a..0000000000 --- a/src/libs/ncurses/test/linux-color.dat +++ /dev/null @@ -1,21 +0,0 @@ -# $Id: linux-color.dat,v 1.1 2004/05/22 23:42:45 tom Exp $ -# These values are derived from linux/drivers/char/vt.c (default_red[], -# default_grn[] and default_blu[]), commented -/* the default colour table, for VGA+ colour systems */ -scale:255 -0: 0 0 0 -1: 170 0 0 -2: 0 170 0 -3: 170 85 0 -4: 0 0 170 -5: 170 0 170 -6: 0 170 170 -7: 170 170 170 -8: 85 85 85 -9: 255 85 85 -10: 85 255 85 -11: 255 255 85 -12: 85 85 255 -13: 255 85 255 -14: 85 255 255 -15: 255 255 255 diff --git a/src/libs/ncurses/test/listused.sh b/src/libs/ncurses/test/listused.sh deleted file mode 100755 index 70352faab7..0000000000 --- a/src/libs/ncurses/test/listused.sh +++ /dev/null @@ -1,155 +0,0 @@ -#!/bin/sh -# $Id: listused.sh,v 1.5 2003/07/05 19:02:41 tom Exp $ -# A very simple script to list entrypoints that are used by either a test -# program, or within the libraries. This relies on the output format of 'nm', -# and assumes that the libraries are configured with TRACE defined, and using -# these options: -# --disable-macros -# --enable-widec -# Static libraries are used, to provide some filtering based on internal usage -# of the different symbols. - -# keep the sorting independent of locale: -if test "${LANGUAGE+set}" = set; then LANGUAGE=C; export LANGUAGE; fi -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi -if test "${LC_COLLATE+set}" = set; then LC_COLLATE=C; export LC_COLLATE; fi - -NM_OPTS= - -if test ! -d ../objects ; then - echo "? need objects to run this script" - exit 1 -elif test ! -d ../lib ; then - echo "? need libraries to run this script" - exit 1 -fi - -PROGS= -for name in `(echo "test:";sort modules; echo "progs:";sort ../progs/modules) |sed -e 's/[ ].*//' -e '/^[#@]/d'` -do - case $name in - *:) - PROGS="$PROGS $name" - ;; - *) - NAME=../objects/${name}.o - if test -f $NAME - then - PROGS="$PROGS $NAME" - fi - ;; - esac -done - -# For each library - -for lib in ../lib/*.a -do - LIB=`basename $lib .a` - case $LIB in - *_*|*+*) - continue - ;; - esac - - tmp=`echo $LIB|sed -e 's/w$//'` - echo - echo "${tmp}:" - echo $tmp |sed -e 's/./-/g' - # Construct a list of public externals provided by the library. - WANT=`nm $NM_OPTS $lib |\ - sed -e 's/^[^ ]*//' \ - -e 's/^ *//' \ - -e '/^[ a-z] /d' \ - -e '/:$/d' \ - -e '/^$/d' \ - -e '/^U /d' \ - -e 's/^[A-Z] //' \ - -e '/^_/d' |\ - sort -u` - # List programs which use that external. - for name in $WANT - do - HAVE= - tags= - last= - for prog in $PROGS - do - case $prog in - *:) - tags=$prog - ;; - *) - TEST=`nm $NM_OPTS $prog |\ - sed -e 's/^[^ ]*//' \ - -e 's/^ *//' \ - -e '/^[ a-z] /d' \ - -e '/:$/d' \ - -e '/^$/d' \ - -e 's/^[A-Z] //' \ - -e '/^_/d' \ - -e 's/^'${name}'$/_/' \ - -e '/^[^_]/d'` - if test -n "$TEST" - then - have=`basename $prog .o` - if test -n "$HAVE" - then - if test "$last" = "$tags" - then - HAVE="$HAVE $have" - else - HAVE="$HAVE $tags $have" - fi - else - HAVE="$tags $have" - fi - last="$tags" - fi - ;; - esac - done - # if we did not find a program using it directly, see if it - # is used within a library. - if test -z "$HAVE" - then - for tmp in ../lib/*.a - do - case $tmp in - *_*|*+*) - continue - ;; - esac - TEST=`nm $NM_OPTS $tmp |\ - sed -e 's/^[^ ]*//' \ - -e 's/^ *//' \ - -e '/^[ a-z] /d' \ - -e '/:$/d' \ - -e '/^$/d' \ - -e '/^[A-TV-Z] /d' \ - -e 's/^[A-Z] //' \ - -e '/^_/d' \ - -e 's/^'${name}'$/_/' \ - -e '/^[^_]/d'` - if test -n "$TEST" - then - tmp=`basename $tmp .a |sed -e 's/w$//'` - HAVE=`echo $tmp | sed -e 's/lib/lib: /'` - break - fi - done - fi - test -z "$HAVE" && HAVE="-" - lenn=`expr 39 - length $name` - lenn=`expr $lenn / 8` - tabs= - while test $lenn != 0 - do - tabs="${tabs} " - lenn=`expr $lenn - 1` - done - echo "${name}${tabs}${HAVE}" - done -done diff --git a/src/libs/ncurses/test/lrtest.c b/src/libs/ncurses/test/lrtest.c deleted file mode 100644 index c47bb4aacb..0000000000 --- a/src/libs/ncurses/test/lrtest.c +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Test lower-right-hand corner access - * - * originally by Eric S. Raymond , written for animation - * and resizing -T.Dickey - * - * This can't be part of the ncurses test-program, because ncurses rips off the - * bottom line to do labels. - * - * $Id: lrtest.c,v 1.20 2004/08/07 16:08:01 tom Exp $ - */ - -#include - -typedef struct { - int y, x, mode, dir, inc; - chtype value; -} MARK; - -/* - * Make a couple of markers go 'round the border to demonstrate that we can - * really write to all positions properly. - */ -static void -show(MARK *m) -{ - mvaddch(m->y, m->x, m->value); - if (m->mode == 0) { /* along the x-direction */ - m->x += m->inc; - if (m->x >= COLS) { - m->x = COLS - 1; - m->inc = -m->dir * m->inc; - m->y += m->inc; - m->mode = 1; - } else if (m->x < 0) { - m->x = 0; - m->inc = -m->dir * m->inc; - m->y += m->inc; - m->mode = 1; - } - } else { /* along the y-direction */ - m->y += m->inc; - if (m->y >= LINES) { - m->y = LINES - 1; - m->inc = m->dir * m->inc; - m->x += m->inc; - m->mode = 0; - } else if (m->y < 0) { - m->y = 0; - m->inc = m->dir * m->inc; - m->x += m->inc; - m->mode = 0; - } - } -} - -int -main( - int argc GCC_UNUSED, - char *argv[]GCC_UNUSED) -{ - static MARK marks[] = - { - {0, 0, 0, -1, 1, '+' | A_BOLD}, - {0, 0, 1, 1, 2, 'X'}, - {0, 0, 1, -1, 3, 'Y'}, - {0, 8, 0, -1, 1, '+' | A_BOLD}, - {0, 9, 0, -1, 1, '+' | A_BOLD}, - {1, 0, 1, 1, 1, '*' | A_REVERSE}, - {2, 0, 1, 1, 1, '*' | A_REVERSE} - }; - - setlocale(LC_ALL, ""); - - initscr(); - noecho(); - cbreak(); - nodelay(stdscr, TRUE); - curs_set(0); - -#ifdef KEY_RESIZE - keypad(stdscr, TRUE); - restart: -#endif - move(LINES / 2 - 1, 4); - if (!(has_ic() - /* see PutCharLR() */ - || auto_right_margin - || (enter_am_mode && exit_am_mode))) { - addstr("Your terminal lacks the capabilities needed to address the\n"); - move(LINES / 2, 4); - addstr("lower-right-hand corner of the screen.\n"); - } else { - addstr("This is a test of access to the lower right corner.\n"); - move(LINES / 2, 4); - addstr("If the top of the box is missing, the test failed.\n"); - move(LINES / 2 + 1, 4); - addstr("Please report this (with a copy of your terminfo entry).\n"); - move(LINES / 2 + 2, 4); - addstr("to the ncurses maintainers, at bug-ncurses@gnu.org.\n"); - } - - for (;;) { - int ch; - unsigned n; - - box(stdscr, 0, 0); - for (n = 0; n < SIZEOF(marks); n++) { - show(&marks[n]); - } - - if ((ch = getch()) > 0) { - if (ch == 'q') - break; - else if (ch == 's') - nodelay(stdscr, FALSE); - else if (ch == ' ') - nodelay(stdscr, TRUE); -#ifdef TRACE - else if (ch == 'T') - trace(0); - else if (ch == 't') - trace(TRACE_CALLS | TRACE_ICALLS | TRACE_UPDATE); -#endif -#ifdef KEY_RESIZE - else if (ch == KEY_RESIZE) { - for (n = 0; n < SIZEOF(marks); n++) { - if (marks[n].mode == 0) { /* moving along x-direction */ - if (marks[n].y) - marks[n].y = LINES - 1; - } else { - if (marks[n].x) - marks[n].x = COLS - 1; - } - } - flash(); - erase(); - wrefresh(curscr); - goto restart; - } -#endif - } - napms(50); - refresh(); - } - - curs_set(1); - endwin(); - ExitProgram(EXIT_SUCCESS); -} - -/* lrtest.c ends here */ diff --git a/src/libs/ncurses/test/modules b/src/libs/ncurses/test/modules deleted file mode 100644 index 16d5ab0975..0000000000 --- a/src/libs/ncurses/test/modules +++ /dev/null @@ -1,70 +0,0 @@ -# Test-Program modules -# $Id: modules,v 1.23 2005/09/25 00:56:17 tom Exp $ -############################################################################## -# Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey 1997-2005 -# - -@ base -background progs $(srcdir) $(HEADER_DEPS) -blue progs $(srcdir) $(HEADER_DEPS) -bs progs $(srcdir) $(HEADER_DEPS) -cardfile progs $(srcdir) $(HEADER_DEPS) ../include/panel.h ../include/form.h -color_set progs $(srcdir) $(HEADER_DEPS) -demo_defkey progs $(srcdir) $(HEADER_DEPS) -demo_keyok progs $(srcdir) $(HEADER_DEPS) -demo_forms progs $(srcdir) $(HEADER_DEPS) ../include/form.h $(srcdir)/edit_field.h -demo_menus progs $(srcdir) $(HEADER_DEPS) ../include/menu.h -demo_panels progs $(srcdir) $(HEADER_DEPS) ../include/panel.h -demo_termcap progs $(srcdir) $(HEADER_DEPS) -ditto progs $(srcdir) $(HEADER_DEPS) -dots progs $(srcdir) $(HEADER_DEPS) -edit_field progs $(srcdir) $(HEADER_DEPS) $(srcdir)/edit_field.h -filter progs $(srcdir) $(HEADER_DEPS) ../include/form.h -firework progs $(srcdir) $(HEADER_DEPS) -firstlast progs $(srcdir) $(HEADER_DEPS) -gdc progs $(srcdir) $(HEADER_DEPS) -hanoi progs $(srcdir) $(HEADER_DEPS) -hashtest progs $(srcdir) $(HEADER_DEPS) -ins_wide progs $(srcdir) $(HEADER_DEPS) -inserts progs $(srcdir) $(HEADER_DEPS) -keynames progs $(srcdir) $(HEADER_DEPS) -knight progs $(srcdir) $(HEADER_DEPS) -lrtest progs $(srcdir) $(HEADER_DEPS) -ncurses progs $(srcdir) $(HEADER_DEPS) ../include/panel.h ../include/menu.h ../include/form.h -newdemo progs $(srcdir) $(HEADER_DEPS) -railroad progs $(srcdir) $(HEADER_DEPS) -rain progs $(srcdir) $(HEADER_DEPS) -tclock progs $(srcdir) $(HEADER_DEPS) -testaddch progs $(srcdir) $(HEADER_DEPS) -testcurs progs $(srcdir) $(HEADER_DEPS) -testscanw progs $(srcdir) $(HEADER_DEPS) -view progs $(srcdir) $(HEADER_DEPS) -worm progs $(srcdir) $(HEADER_DEPS) -xmas progs $(srcdir) $(HEADER_DEPS) diff --git a/src/libs/ncurses/test/ncurses.c b/src/libs/ncurses/test/ncurses.c deleted file mode 100644 index 034bdf81ef..0000000000 --- a/src/libs/ncurses/test/ncurses.c +++ /dev/null @@ -1,5843 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ -/**************************************************************************** - -NAME - ncurses.c --- ncurses library exerciser - -SYNOPSIS - ncurses - -DESCRIPTION - An interactive test module for the ncurses library. - -AUTHOR - Author: Eric S. Raymond 1993 - Thomas E. Dickey (beginning revision 1.27 in 1996). - -$Id: ncurses.c,v 1.253 2005/10/01 16:00:56 tom Exp $ - -***************************************************************************/ - -#include - -#if HAVE_GETTIMEOFDAY -#if HAVE_SYS_TIME_H && HAVE_SYS_TIME_SELECT -#include -#endif -#if HAVE_SYS_SELECT_H -#include -#endif -#endif - -#if USE_LIBPANEL -#include -#endif - -#if USE_LIBMENU -#include -#endif - -#if USE_LIBFORM -#include -#endif - -#ifdef NCURSES_VERSION - -#ifdef TRACE -static unsigned save_trace = TRACE_ORDINARY | TRACE_CALLS; -extern unsigned _nc_tracing; -#endif - -#else - -#define mmask_t chtype /* not specified in XSI */ - -#ifdef CURSES_ACS_ARRAY -#define ACS_S3 (CURSES_ACS_ARRAY['p']) /* scan line 3 */ -#define ACS_S7 (CURSES_ACS_ARRAY['r']) /* scan line 7 */ -#define ACS_LEQUAL (CURSES_ACS_ARRAY['y']) /* less/equal */ -#define ACS_GEQUAL (CURSES_ACS_ARRAY['z']) /* greater/equal */ -#define ACS_PI (CURSES_ACS_ARRAY['{']) /* Pi */ -#define ACS_NEQUAL (CURSES_ACS_ARRAY['|']) /* not equal */ -#define ACS_STERLING (CURSES_ACS_ARRAY['}']) /* UK pound sign */ -#else -#define ACS_S3 (A_ALTCHARSET + 'p') /* scan line 3 */ -#define ACS_S7 (A_ALTCHARSET + 'r') /* scan line 7 */ -#define ACS_LEQUAL (A_ALTCHARSET + 'y') /* less/equal */ -#define ACS_GEQUAL (A_ALTCHARSET + 'z') /* greater/equal */ -#define ACS_PI (A_ALTCHARSET + '{') /* Pi */ -#define ACS_NEQUAL (A_ALTCHARSET + '|') /* not equal */ -#define ACS_STERLING (A_ALTCHARSET + '}') /* UK pound sign */ -#endif - -#ifdef CURSES_WACS_ARRAY -#define WACS_S3 (&(CURSES_WACS_ARRAY['p'])) /* scan line 3 */ -#define WACS_S7 (&(CURSES_WACS_ARRAY['r'])) /* scan line 7 */ -#define WACS_LEQUAL (&(CURSES_WACS_ARRAY['y'])) /* less/equal */ -#define WACS_GEQUAL (&(CURSES_WACS_ARRAY['z'])) /* greater/equal */ -#define WACS_PI (&(CURSES_WACS_ARRAY['{'])) /* Pi */ -#define WACS_NEQUAL (&(CURSES_WACS_ARRAY['|'])) /* not equal */ -#define WACS_STERLING (&(CURSES_WACS_ARRAY['}'])) /* UK pound sign */ -#endif - -#endif - -#define P(string) printw("%s\n", string) - -#define BLANK ' ' /* this is the background character */ - -#undef max_colors -static int max_colors; /* the actual number of colors we'll use */ -static int min_colors; /* the minimum color code */ - -#undef max_pairs -static int max_pairs; /* ...and the number of color pairs */ - -typedef struct { - short red; - short green; - short blue; -} RGB_DATA; - -static RGB_DATA *all_colors; - -static void main_menu(bool); - -/* The behavior of mvhline, mvvline for negative/zero length is unspecified, - * though we can rely on negative x/y values to stop the macro. - */ -static void -do_h_line(int y, int x, chtype c, int to) -{ - if ((to) > (x)) - mvhline(y, x, c, (to) - (x)); -} - -static void -do_v_line(int y, int x, chtype c, int to) -{ - if ((to) > (y)) - mvvline(y, x, c, (to) - (y)); -} - -static void -Repaint(void) -{ - touchwin(stdscr); - touchwin(curscr); - wrefresh(curscr); -} - -/* Common function to allow ^T to toggle trace-mode in the middle of a test - * so that trace-files can be made smaller. - */ -static int -wGetchar(WINDOW *win) -{ - int c; -#ifdef TRACE - while ((c = wgetch(win)) == CTRL('T')) { - if (_nc_tracing) { - save_trace = _nc_tracing; - _tracef("TOGGLE-TRACING OFF"); - _nc_tracing = 0; - } else { - _nc_tracing = save_trace; - } - trace(_nc_tracing); - if (_nc_tracing) - _tracef("TOGGLE-TRACING ON"); - } -#else - c = wgetch(win); -#endif - return c; -} -#define Getchar() wGetchar(stdscr) - -/* replaces wgetnstr(), since we want to be able to edit values */ -static void -wGetstring(WINDOW *win, char *buffer, int limit) -{ - int y0, x0, x, ch; - bool done = FALSE; - - echo(); - getyx(win, y0, x0); - wattrset(win, A_REVERSE); - - x = strlen(buffer); - while (!done) { - if (x > (int) strlen(buffer)) - x = (int) strlen(buffer); - wmove(win, y0, x0); - wprintw(win, "%-*s", limit, buffer); - wmove(win, y0, x0 + x); - switch (ch = wGetchar(win)) { - case '\n': - case KEY_ENTER: - done = TRUE; - break; - case CTRL('U'): - *buffer = '\0'; - break; - case '\b': - case KEY_BACKSPACE: - case KEY_DC: - if (x > 0) { - int j; - for (j = --x; (buffer[j] = buffer[j + 1]) != '\0'; ++j) { - ; - } - } else { - beep(); - } - break; - case KEY_LEFT: - if (x > 0) { - --x; - } else { - flash(); - } - break; - case KEY_RIGHT: - ++x; - break; - default: - if (!isprint(ch) || ch >= KEY_MIN) { - beep(); - } else if ((int) strlen(buffer) < limit) { - int j; - for (j = strlen(buffer) + 1; j > x; --j) { - buffer[j] = buffer[j - 1]; - } - buffer[x++] = ch; - } else { - flash(); - } - } - } - - wattroff(win, A_REVERSE); - wmove(win, y0, x0); - noecho(); -} - -#if USE_WIDEC_SUPPORT -static int -wGet_wchar(WINDOW *win, wint_t *result) -{ - int c; -#ifdef TRACE - while ((c = wget_wch(win, result)) == CTRL('T')) { - if (_nc_tracing) { - save_trace = _nc_tracing; - _tracef("TOGGLE-TRACING OFF"); - _nc_tracing = 0; - } else { - _nc_tracing = save_trace; - } - trace(_nc_tracing); - if (_nc_tracing) - _tracef("TOGGLE-TRACING ON"); - } -#else - c = wget_wch(win, result); -#endif - return c; -} -#define Get_wchar(result) wGet_wchar(stdscr, result) - -/* replaces wgetn_wstr(), since we want to be able to edit values */ -static void -wGet_wstring(WINDOW *win, wchar_t *buffer, int limit) -{ - int y0, x0, x; - wint_t ch; - bool done = FALSE; - bool fkey = FALSE; - - echo(); - getyx(win, y0, x0); - wattrset(win, A_REVERSE); - - x = wcslen(buffer); - while (!done) { - if (x > (int) wcslen(buffer)) - x = (int) wcslen(buffer); - - /* clear the "window' */ - wmove(win, y0, x0); - wprintw(win, "%*s", limit, " "); - - /* write the existing buffer contents */ - wmove(win, y0, x0); - waddnwstr(win, buffer, limit); - - /* positions the cursor past character 'x' */ - wmove(win, y0, x0); - waddnwstr(win, buffer, x); - - switch (wGet_wchar(win, &ch)) { - case KEY_CODE_YES: - fkey = TRUE; - switch (ch) { - case KEY_ENTER: - ch = '\n'; - fkey = FALSE; - break; - case KEY_BACKSPACE: - case KEY_DC: - ch = '\b'; - fkey = FALSE; - break; - case KEY_LEFT: - case KEY_RIGHT: - break; - default: - ch = (wint_t) -1; - break; - } - break; - case OK: - fkey = FALSE; - break; - default: - ch = (wint_t) -1; - fkey = TRUE; - break; - } - - switch (ch) { - case '\n': - done = TRUE; - break; - case CTRL('U'): - *buffer = '\0'; - break; - case '\b': - if (x > 0) { - int j; - for (j = --x; (buffer[j] = buffer[j + 1]) != '\0'; ++j) { - ; - } - } else { - beep(); - } - break; - case KEY_LEFT: - if (x > 0) { - --x; - } else { - beep(); - } - break; - case KEY_RIGHT: - ++x; - break; - default: - if (fkey) { - beep(); - } else if ((int) wcslen(buffer) < limit) { - int j; - for (j = wcslen(buffer) + 1; j > x; --j) { - buffer[j] = buffer[j - 1]; - } - buffer[x++] = ch; - } else { - beep(); - } - } - } - - wattroff(win, A_REVERSE); - wmove(win, y0, x0); - noecho(); -} - -#endif - -static void -Pause(void) -{ - move(LINES - 1, 0); - addstr("Press any key to continue... "); - (void) Getchar(); -} - -static void -Cannot(const char *what) -{ - printw("\nThis %s terminal %s\n\n", getenv("TERM"), what); - Pause(); -} - -static void -ShellOut(bool message) -{ - if (message) - addstr("Shelling out..."); - def_prog_mode(); - endwin(); - system("sh"); - if (message) - addstr("returned from shellout.\n"); - refresh(); -} - -#ifdef NCURSES_MOUSE_VERSION -/* - * This function is the same as _tracemouse(), but we cannot count on that - * being available in the non-debug library. - */ -static const char * -mouse_decode(MEVENT const *ep) -{ - static char buf[80 + (5 * 10) + (32 * 15)]; - - (void) sprintf(buf, "id %2d at (%2d, %2d, %2d) state %4lx = {", - ep->id, ep->x, ep->y, ep->z, (unsigned long) ep->bstate); - -#define SHOW(m, s) if ((ep->bstate & m)==m) {strcat(buf,s); strcat(buf, ", ");} - - SHOW(BUTTON1_RELEASED, "release-1"); - SHOW(BUTTON1_PRESSED, "press-1"); - SHOW(BUTTON1_CLICKED, "click-1"); - SHOW(BUTTON1_DOUBLE_CLICKED, "doubleclick-1"); - SHOW(BUTTON1_TRIPLE_CLICKED, "tripleclick-1"); -#if NCURSES_MOUSE_VERSION == 1 - SHOW(BUTTON1_RESERVED_EVENT, "reserved-1"); -#endif - - SHOW(BUTTON2_RELEASED, "release-2"); - SHOW(BUTTON2_PRESSED, "press-2"); - SHOW(BUTTON2_CLICKED, "click-2"); - SHOW(BUTTON2_DOUBLE_CLICKED, "doubleclick-2"); - SHOW(BUTTON2_TRIPLE_CLICKED, "tripleclick-2"); -#if NCURSES_MOUSE_VERSION == 1 - SHOW(BUTTON2_RESERVED_EVENT, "reserved-2"); -#endif - - SHOW(BUTTON3_RELEASED, "release-3"); - SHOW(BUTTON3_PRESSED, "press-3"); - SHOW(BUTTON3_CLICKED, "click-3"); - SHOW(BUTTON3_DOUBLE_CLICKED, "doubleclick-3"); - SHOW(BUTTON3_TRIPLE_CLICKED, "tripleclick-3"); -#if NCURSES_MOUSE_VERSION == 1 - SHOW(BUTTON3_RESERVED_EVENT, "reserved-3"); -#endif - - SHOW(BUTTON4_RELEASED, "release-4"); - SHOW(BUTTON4_PRESSED, "press-4"); - SHOW(BUTTON4_CLICKED, "click-4"); - SHOW(BUTTON4_DOUBLE_CLICKED, "doubleclick-4"); - SHOW(BUTTON4_TRIPLE_CLICKED, "tripleclick-4"); -#if NCURSES_MOUSE_VERSION == 1 - SHOW(BUTTON4_RESERVED_EVENT, "reserved-4"); -#endif - -#if NCURSES_MOUSE_VERSION == 2 - SHOW(BUTTON5_RELEASED, "release-5"); - SHOW(BUTTON5_PRESSED, "press-5"); - SHOW(BUTTON5_CLICKED, "click-5"); - SHOW(BUTTON5_DOUBLE_CLICKED, "doubleclick-5"); - SHOW(BUTTON5_TRIPLE_CLICKED, "tripleclick-5"); -#endif - - SHOW(BUTTON_CTRL, "ctrl"); - SHOW(BUTTON_SHIFT, "shift"); - SHOW(BUTTON_ALT, "alt"); - SHOW(ALL_MOUSE_EVENTS, "all-events"); - SHOW(REPORT_MOUSE_POSITION, "position"); - -#undef SHOW - - if (buf[strlen(buf) - 1] == ' ') - buf[strlen(buf) - 2] = '\0'; - (void) strcat(buf, "}"); - return (buf); -} -#endif /* NCURSES_MOUSE_VERSION */ - -/**************************************************************************** - * - * Character input test - * - ****************************************************************************/ - -static void -setup_getch(WINDOW *win, bool flags[]) -{ - keypad(win, flags['k']); /* should be redundant, but for testing */ - meta(win, flags['m']); /* force this to a known state */ - if (flags['e']) - echo(); - else - noecho(); -} - -static void -wgetch_help(WINDOW *win, bool flags[]) -{ - static const char *help[] = - { - "e -- toggle echo mode" - ,"g -- triggers a getstr test" - ,"k -- toggle keypad/literal mode" - ,"m -- toggle meta (7-bit/8-bit) mode" - ,"q -- quit (x also exits)" - ,"s -- shell out\n" - ,"w -- create a new window" -#ifdef SIGTSTP - ,"z -- suspend this process" -#endif - }; - int y, x; - unsigned chk = ((SIZEOF(help) + 1) / 2); - unsigned n; - - getyx(win, y, x); - move(0, 0); - printw("Type any key to see its %s value. Also:\n", - flags['k'] ? "keypad" : "literal"); - for (n = 0; n < SIZEOF(help); ++n) { - int row = 1 + (n % chk); - int col = (n >= chk) ? COLS / 2 : 0; - int flg = ((strstr(help[n], "toggle") != 0) - && (flags[UChar(*help[n])] != FALSE)); - if (flg) - standout(); - mvprintw(row, col, "%s", help[n]); - if (col == 0) - clrtoeol(); - if (flg) - standend(); - } - wrefresh(stdscr); - wmove(win, y, x); -} - -static void -wgetch_wrap(WINDOW *win, int first_y) -{ - int last_y = getmaxy(win) - 1; - int y = getcury(win) + 1; - - if (y >= last_y) - y = first_y; - wmove(win, y, 0); - wclrtoeol(win); -} - -#if defined(NCURSES_VERSION) && defined(KEY_RESIZE) && HAVE_WRESIZE -typedef struct { - WINDOW *text; - WINDOW *frame; -} WINSTACK; - -static WINSTACK *winstack = 0; -static unsigned len_winstack = 0; - -static void -remember_boxes(unsigned level, WINDOW *txt_win, WINDOW *box_win) -{ - unsigned need = (level + 1) * 2; - - if (winstack == 0) { - len_winstack = 20; - winstack = (WINSTACK *) malloc(len_winstack * sizeof(WINSTACK)); - } else if (need >= len_winstack) { - len_winstack = need; - winstack = (WINSTACK *) realloc(winstack, len_winstack * sizeof(WINSTACK)); - } - winstack[level].text = txt_win; - winstack[level].frame = box_win; -} - -/* - * For wgetch_test(), we create pairs of windows - one for a box, one for text. - * Resize both and paint the box in the parent. - */ -static void -resize_boxes(unsigned level, WINDOW *win) -{ - unsigned n; - int base = 5; - int high = LINES - base; - int wide = COLS; - - touchwin(stdscr); - wnoutrefresh(stdscr); - - /* FIXME: this chunk should be done in resizeterm() */ - slk_touch(); - slk_clear(); - slk_noutrefresh(); - - for (n = 0; n < level; ++n) { - wresize(winstack[n].frame, high, wide); - wresize(winstack[n].text, high - 2, wide - 2); - high -= 2; - wide -= 2; - werase(winstack[n].text); - box(winstack[n].frame, 0, 0); - wnoutrefresh(winstack[n].frame); - wprintw(winstack[n].text, - "size %dx%d\n", - getmaxy(winstack[n].text), - getmaxx(winstack[n].text)); - wnoutrefresh(winstack[n].text); - if (winstack[n].text == win) - break; - } - doupdate(); -} -#else -#define remember_boxes(level,text,frame) /* nothing */ -#endif - -static void -wgetch_test(unsigned level, WINDOW *win, int delay) -{ - char buf[BUFSIZ]; - int first_y, first_x; - int c; - int incount = 0; - bool flags[256]; - bool blocking = (delay < 0); - - memset(flags, FALSE, sizeof(flags)); - flags[UChar('k')] = (win == stdscr); - - setup_getch(win, flags); - wtimeout(win, delay); - getyx(win, first_y, first_x); - - wgetch_help(win, flags); - wsetscrreg(win, first_y, getmaxy(win) - 1); - scrollok(win, TRUE); - - for (;;) { - while ((c = wGetchar(win)) == ERR) { - incount++; - if (blocking) { - (void) wprintw(win, "%05d: input error", incount); - break; - } else { - (void) wprintw(win, "%05d: input timed out", incount); - } - wgetch_wrap(win, first_y); - } - if (c == ERR && blocking) { - wprintw(win, "ERR"); - wgetch_wrap(win, first_y); - } else if (c == 'x' || c == 'q') { - break; - } else if (c == 'e') { - flags[UChar('e')] = !flags[UChar('e')]; - setup_getch(win, flags); - wgetch_help(win, flags); - } else if (c == 'g') { - waddstr(win, "getstr test: "); - echo(); - wgetnstr(win, buf, sizeof(buf) - 1); - noecho(); - wprintw(win, "I saw %d characters:\n\t`%s'.", (int) strlen(buf), buf); - wclrtoeol(win); - wgetch_wrap(win, first_y); - } else if (c == 'k') { - flags[UChar('k')] = !flags[UChar('k')]; - setup_getch(win, flags); - wgetch_help(win, flags); - } else if (c == 'm') { - flags[UChar('m')] = !flags[UChar('m')]; - setup_getch(win, flags); - wgetch_help(win, flags); - } else if (c == 's') { - ShellOut(TRUE); - } else if (c == 'w') { - int high = getmaxy(win) - 1 - first_y + 1; - int wide = getmaxx(win) - first_x; - int old_y, old_x; - int new_y = first_y + getbegy(win); - int new_x = first_x + getbegx(win); - - getyx(win, old_y, old_x); - if (high > 2 && wide > 2) { - WINDOW *wb = newwin(high, wide, new_y, new_x); - WINDOW *wi = newwin(high - 2, wide - 2, new_y + 1, new_x + 1); - - box(wb, 0, 0); - wrefresh(wb); - wmove(wi, 0, 0); - remember_boxes(level, wi, wb); - wgetch_test(level + 1, wi, delay); - delwin(wi); - delwin(wb); - - wgetch_help(win, flags); - wmove(win, old_y, old_x); - touchwin(win); - wrefresh(win); - doupdate(); - } -#ifdef SIGTSTP - } else if (c == 'z') { - kill(getpid(), SIGTSTP); -#endif - } else { - wprintw(win, "Key pressed: %04o ", c); -#ifdef NCURSES_MOUSE_VERSION - if (c == KEY_MOUSE) { - int y, x; - MEVENT event; - - getmouse(&event); - wprintw(win, "KEY_MOUSE, %s", mouse_decode(&event)); - getyx(win, y, x); - move(event.y, event.x); - addch('*'); - wmove(win, y, x); - } else -#endif /* NCURSES_MOUSE_VERSION */ - if (c >= KEY_MIN) { -#if defined(NCURSES_VERSION) && defined(KEY_RESIZE) && HAVE_WRESIZE - if (c == KEY_RESIZE) { - resize_boxes(level, win); - } -#endif - (void) waddstr(win, keyname(c)); - } else if (c > 0x80) { - unsigned c2 = (c & 0x7f); - if (isprint(c2)) - (void) wprintw(win, "M-%c", UChar(c2)); - else - (void) wprintw(win, "M-%s", unctrl(c2)); - waddstr(win, " (high-half character)"); - } else { - if (isprint(c)) - (void) wprintw(win, "%c (ASCII printable character)", c); - else - (void) wprintw(win, "%s (ASCII control character)", - unctrl(UChar(c))); - } - wgetch_wrap(win, first_y); - } - } - - wtimeout(win, -1); -} - -static int -begin_getch_test(void) -{ - char buf[BUFSIZ]; - int delay; - - refresh(); - -#ifdef NCURSES_MOUSE_VERSION - mousemask(ALL_MOUSE_EVENTS, (mmask_t *) 0); -#endif - - (void) printw("Delay in 10ths of a second ( for blocking input)? "); - echo(); - getnstr(buf, sizeof(buf) - 1); - noecho(); - nonl(); - - if (isdigit(UChar(buf[0]))) { - delay = atoi(buf) * 100; - } else { - delay = -1; - } - raw(); - move(5, 0); - return delay; -} - -static void -finish_getch_test(void) -{ -#ifdef NCURSES_MOUSE_VERSION - mousemask(0, (mmask_t *) 0); -#endif - erase(); - noraw(); - nl(); - endwin(); -} - -static void -getch_test(void) -{ - int delay = begin_getch_test(); - wgetch_test(0, stdscr, delay); - finish_getch_test(); -} - -#if USE_WIDEC_SUPPORT -/* - * For wgetch_test(), we create pairs of windows - one for a box, one for text. - * Resize both and paint the box in the parent. - */ -#ifdef KEY_RESIZE -static void -resize_wide_boxes(unsigned level, WINDOW *win) -{ - unsigned n; - int base = 5; - int high = LINES - base; - int wide = COLS; - - touchwin(stdscr); - wnoutrefresh(stdscr); - - /* FIXME: this chunk should be done in resizeterm() */ - slk_touch(); - slk_clear(); - slk_noutrefresh(); - - for (n = 0; n < level; ++n) { - wresize(winstack[n].frame, high, wide); - wresize(winstack[n].text, high - 2, wide - 2); - high -= 2; - wide -= 2; - werase(winstack[n].text); - box_set(winstack[n].frame, 0, 0); - wnoutrefresh(winstack[n].frame); - wprintw(winstack[n].text, - "size %dx%d\n", - getmaxy(winstack[n].text), - getmaxx(winstack[n].text)); - wnoutrefresh(winstack[n].text); - if (winstack[n].text == win) - break; - } - doupdate(); -} -#endif /* KEY_RESIZE */ - -static char * -wcstos(const wchar_t *src) -{ - int need; - mbstate_t state; - char *result = 0; - const wchar_t *tmp = src; - - memset(&state, 0, sizeof(state)); - if ((need = wcsrtombs(0, &tmp, 0, &state)) > 0) { - unsigned have = need; - result = (char *) calloc(have + 1, 1); - tmp = src; - if (wcsrtombs(result, &tmp, have, &state) != have) { - free(result); - result = 0; - } - } - return result; -} - -static void -wget_wch_test(unsigned level, WINDOW *win, int delay) -{ - wchar_t wchar_buf[BUFSIZ]; - wint_t wint_buf[BUFSIZ]; - int first_y, first_x; - wint_t c; - int incount = 0; - bool flags[256]; - bool blocking = (delay < 0); - int y, x, code; - char *temp; - - memset(flags, FALSE, sizeof(flags)); - flags[UChar('k')] = (win == stdscr); - - setup_getch(win, flags); - wtimeout(win, delay); - getyx(win, first_y, first_x); - - wgetch_help(win, flags); - wsetscrreg(win, first_y, getmaxy(win) - 1); - scrollok(win, TRUE); - - for (;;) { - while ((code = wGet_wchar(win, &c)) == ERR) { - incount++; - if (blocking) { - (void) wprintw(win, "%05d: input error", incount); - break; - } else { - (void) wprintw(win, "%05d: input timed out", incount); - } - wgetch_wrap(win, first_y); - } - if (code == ERR && blocking) { - wprintw(win, "ERR"); - wgetch_wrap(win, first_y); - } else if (c == 'x' || c == 'q') { - break; - } else if (c == 'e') { - flags[UChar('e')] = !flags[UChar('e')]; - setup_getch(win, flags); - wgetch_help(win, flags); - } else if (c == 'g') { - waddstr(win, "getstr test: "); - echo(); - code = wgetn_wstr(win, wint_buf, sizeof(wint_buf) - 1); - noecho(); - if (code == ERR) { - wprintw(win, "wgetn_wstr returns an error."); - } else { - int n; - for (n = 0; (wchar_buf[n] = wint_buf[n]) != 0; ++n) ; - if ((temp = wcstos(wchar_buf)) != 0) { - wprintw(win, "I saw %d characters:\n\t`%s'.", - wcslen(wchar_buf), temp); - free(temp); - } else { - wprintw(win, "I saw %d characters (cannot convert).", - wcslen(wchar_buf)); - } - } - wclrtoeol(win); - wgetch_wrap(win, first_y); - } else if (c == 'k') { - flags[UChar('k')] = !flags[UChar('k')]; - setup_getch(win, flags); - wgetch_help(win, flags); - } else if (c == 'm') { - flags[UChar('m')] = !flags[UChar('m')]; - setup_getch(win, flags); - wgetch_help(win, flags); - } else if (c == 's') { - ShellOut(TRUE); - } else if (c == 'w') { - int high = getmaxy(win) - 1 - first_y + 1; - int wide = getmaxx(win) - first_x; - int old_y, old_x; - int new_y = first_y + getbegy(win); - int new_x = first_x + getbegx(win); - - getyx(win, old_y, old_x); - if (high > 2 && wide > 2) { - WINDOW *wb = newwin(high, wide, new_y, new_x); - WINDOW *wi = newwin(high - 2, wide - 2, new_y + 1, new_x + 1); - - box_set(wb, 0, 0); - wrefresh(wb); - wmove(wi, 0, 0); - remember_boxes(level, wi, wb); - wget_wch_test(level + 1, wi, delay); - delwin(wi); - delwin(wb); - - wgetch_help(win, flags); - wmove(win, old_y, old_x); - touchwin(win); - wrefresh(win); - } -#ifdef SIGTSTP - } else if (c == 'z') { - kill(getpid(), SIGTSTP); -#endif - } else { - wprintw(win, "Key pressed: %04o ", c); -#ifdef NCURSES_MOUSE_VERSION - if (c == KEY_MOUSE) { - MEVENT event; - - getmouse(&event); - wprintw(win, "KEY_MOUSE, %s", mouse_decode(&event)); - getyx(win, y, x); - move(event.y, event.x); - addch('*'); - wmove(win, y, x); - } else -#endif /* NCURSES_MOUSE_VERSION */ - if (code == KEY_CODE_YES) { -#ifdef KEY_RESIZE - if (c == KEY_RESIZE) { - resize_wide_boxes(level, win); - } -#endif - (void) waddstr(win, key_name((wchar_t) c)); - } else { - if (c < 256 && iscntrl(c)) { - (void) wprintw(win, "%s (control character)", unctrl(c)); - } else { - wchar_t c2 = c; - waddnwstr(win, &c2, 1); - (void) wprintw(win, " = %#x (printable character)", c); - } - } - wgetch_wrap(win, first_y); - } - } - - wtimeout(win, -1); -} - -static void -get_wch_test(void) -{ - int delay = begin_getch_test(); - wget_wch_test(0, stdscr, delay); - finish_getch_test(); -} -#endif - -/**************************************************************************** - * - * Character attributes test - * - ****************************************************************************/ - -#define MAX_ATTRSTRING 31 -#define LEN_ATTRSTRING 26 - -static char attr_test_string[MAX_ATTRSTRING + 1]; - -static void -attr_legend(WINDOW *helpwin) -{ - int row = 1; - int col = 1; - - mvwprintw(helpwin, row++, col, - "q or ESC to exit."); - mvwprintw(helpwin, row++, col, - "^L repaints."); - ++row; - mvwprintw(helpwin, row++, col, - "Modify the test strings:"); - mvwprintw(helpwin, row++, col, - " A digit sets gaps on each side of displayed attributes"); - mvwprintw(helpwin, row++, col, - " shifts the text left/right. "); - ++row; - mvwprintw(helpwin, row++, col, - "Toggles:"); - if (has_colors()) { - mvwprintw(helpwin, row++, col, - " f/F/b/F toggle foreground/background background color"); - mvwprintw(helpwin, row++, col, - " t/T toggle text/background color attribute"); - } - mvwprintw(helpwin, row++, col, - " a/A toggle ACS (alternate character set) mapping"); - mvwprintw(helpwin, row++, col, - " v/V toggle video attribute to combine with each line"); -} - -static void -show_color_attr(int fg, int bg, int tx) -{ - if (has_colors()) { - printw(" Colors (fg %d, bg %d", fg, bg); - if (tx >= 0) - printw(", text %d", tx); - printw("),"); - } -} - -static bool -cycle_color_attr(int ch, int *fg, int *bg, int *tx) -{ - bool error = FALSE; - - if (has_colors()) { - switch (ch) { - case 'f': - *fg = (*fg + 1); - break; - case 'F': - *fg = (*fg - 1); - break; - case 'b': - *bg = (*bg + 1); - break; - case 'B': - *bg = (*bg - 1); - break; - case 't': - *tx = (*tx + 1); - break; - case 'T': - *tx = (*tx - 1); - break; - default: - beep(); - error = TRUE; - break; - } - if (*fg >= COLORS) - *fg = min_colors; - if (*fg < min_colors) - *fg = COLORS - 1; - if (*bg >= COLORS) - *bg = min_colors; - if (*bg < min_colors) - *bg = COLORS - 1; - if (*tx >= COLORS) - *tx = -1; - if (*tx < -1) - *tx = COLORS - 1; - } else { - beep(); - error = TRUE; - } - return error; -} - -static void -adjust_attr_string(int adjust) -{ - int first = ((int) UChar(attr_test_string[0])) + adjust; - int last = first + LEN_ATTRSTRING; - - if (first >= ' ' && last <= '~') { /* 32..126 */ - int j, k; - for (j = 0, k = first; j < MAX_ATTRSTRING && k <= last; ++j, ++k) { - attr_test_string[j] = k; - if (((k + 1 - first) % 5) == 0) { - ++j; - if (j < MAX_ATTRSTRING) - attr_test_string[j] = ' '; - } - } - while (j < MAX_ATTRSTRING) - attr_test_string[j++] = ' '; - attr_test_string[j] = '\0'; - } else { - beep(); - } -} - -static void -init_attr_string(void) -{ - attr_test_string[0] = 'a'; - adjust_attr_string(0); -} - -static int -show_attr(int row, int skip, bool arrow, chtype attr, const char *name) -{ - int ncv = tigetnum("ncv"); - chtype test = attr & (chtype) (~A_ALTCHARSET); - - if (arrow) - mvprintw(row, 5, "-->"); - mvprintw(row, 8, "%s mode:", name); - mvprintw(row, 24, "|"); - if (skip) - printw("%*s", skip, " "); - /* - * Just for testing, write text using the alternate character set one - * character at a time (to pass its rendition directly), and use the - * string operation for the other attributes. - */ - if (attr & A_ALTCHARSET) { - const char *s; - chtype ch; - - for (s = attr_test_string; *s != '\0'; ++s) { - ch = UChar(*s); - addch(ch | attr); - } - } else { - attrset(attr); - addstr(attr_test_string); - attroff(attr); - } - if (skip) - printw("%*s", skip, " "); - printw("|"); - if (test != A_NORMAL) { - if (!(termattrs() & test)) { - printw(" (N/A)"); - } else { - if (ncv > 0 && (getbkgd(stdscr) & A_COLOR)) { - static const chtype table[] = - { - A_STANDOUT, - A_UNDERLINE, - A_REVERSE, - A_BLINK, - A_DIM, - A_BOLD, - A_INVIS, - A_PROTECT, - A_ALTCHARSET - }; - unsigned n; - bool found = FALSE; - for (n = 0; n < SIZEOF(table); n++) { - if ((table[n] & attr) != 0 - && ((1 << n) & ncv) != 0) { - found = TRUE; - break; - } - } - if (found) - printw(" (NCV)"); - } - if ((termattrs() & test) != test) - printw(" (Part)"); - } - } - return row + 2; -} -/* *INDENT-OFF* */ -static const struct { - attr_t attr; - NCURSES_CONST char * name; -} attrs_to_test[] = { - { A_STANDOUT, "STANDOUT" }, - { A_REVERSE, "REVERSE" }, - { A_BOLD, "BOLD" }, - { A_UNDERLINE, "UNDERLINE" }, - { A_DIM, "DIM" }, - { A_BLINK, "BLINK" }, - { A_PROTECT, "PROTECT" }, - { A_INVIS, "INVISIBLE" }, - { A_NORMAL, "NORMAL" }, -}; -/* *INDENT-ON* */ - -static bool -attr_getc(int *skip, int *fg, int *bg, int *tx, int *ac, unsigned *kc) -{ - bool result = TRUE; - bool error = FALSE; - WINDOW *helpwin; - - do { - int ch = Getchar(); - - error = FALSE; - if (ch < 256 && isdigit(ch)) { - *skip = (ch - '0'); - } else { - switch (ch) { - case CTRL('L'): - Repaint(); - break; - case '?': - if ((helpwin = newwin(LINES - 1, COLS - 2, 0, 0)) != 0) { - box(helpwin, 0, 0); - attr_legend(helpwin); - wGetchar(helpwin); - delwin(helpwin); - } - break; - case 'a': - *ac = 0; - break; - case 'A': - *ac = A_ALTCHARSET; - break; - case 'v': - if (*kc == 0) - *kc = SIZEOF(attrs_to_test) - 1; - else - *kc -= 1; - break; - case 'V': - *kc += 1; - if (*kc >= SIZEOF(attrs_to_test)) - *kc = 0; - break; - case '<': - adjust_attr_string(-1); - break; - case '>': - adjust_attr_string(1); - break; - case 'q': - case ESCAPE: - result = FALSE; - break; - default: - error = cycle_color_attr(ch, fg, bg, tx); - break; - } - } - } while (error); - return result; -} - -static void -attr_test(void) -/* test text attributes */ -{ - int n; - int skip = tigetnum("xmc"); - int fg = COLOR_BLACK; /* color pair 0 is special */ - int bg = COLOR_BLACK; - int tx = -1; - int ac = 0; - unsigned j, k; - - if (skip < 0) - skip = 0; - - n = skip; /* make it easy */ - k = SIZEOF(attrs_to_test) - 1; - init_attr_string(); - - do { - int row = 2; - chtype normal = A_NORMAL | BLANK; - chtype extras = ac; - - if (has_colors()) { - int pair = (fg != COLOR_BLACK || bg != COLOR_BLACK); - if (pair != 0) { - pair = 1; - if (init_pair(pair, fg, bg) == ERR) { - beep(); - } else { - normal |= COLOR_PAIR(pair); - } - } - if (tx >= 0) { - pair = 2; - if (init_pair(pair, tx, bg) == ERR) { - beep(); - } else { - extras |= COLOR_PAIR(pair); - } - } - } - bkgd(normal); - bkgdset(normal); - erase(); - - box(stdscr, 0, 0); - mvaddstr(0, 20, "Character attribute test display"); - - for (j = 0; j < SIZEOF(attrs_to_test); ++j) { - row = show_attr(row, n, j == k, - extras | - attrs_to_test[j].attr | - attrs_to_test[k].attr, - attrs_to_test[j].name); - } - - mvprintw(row, 8, - "This terminal does %shave the magic-cookie glitch", - tigetnum("xmc") > -1 ? "" : "not "); - mvprintw(row + 1, 8, "Enter '?' for help."); - show_color_attr(fg, bg, tx); - printw(" ACS (%d)", ac != 0); - - refresh(); - } while (attr_getc(&n, &fg, &bg, &tx, &ac, &k)); - - bkgdset(A_NORMAL | BLANK); - erase(); - endwin(); -} - -#if USE_WIDEC_SUPPORT -static wchar_t wide_attr_test_string[MAX_ATTRSTRING + 1]; - -static void -wide_adjust_attr_string(int adjust) -{ - int first = ((int) UChar(wide_attr_test_string[0])) + adjust; - int last = first + LEN_ATTRSTRING; - - if (first >= ' ' && last <= '~') { /* 32..126 */ - int j, k; - for (j = 0, k = first; j < MAX_ATTRSTRING && k <= last; ++j, ++k) { - wide_attr_test_string[j] = k; - if (((k + 1 - first) % 5) == 0) { - ++j; - if (j < MAX_ATTRSTRING) - wide_attr_test_string[j] = ' '; - } - } - while (j < MAX_ATTRSTRING) - wide_attr_test_string[j++] = ' '; - wide_attr_test_string[j] = '\0'; - } else { - beep(); - } -} - -static void -wide_init_attr_string(void) -{ - wide_attr_test_string[0] = 'a'; - wide_adjust_attr_string(0); -} - -static void -set_wide_background(short pair) -{ - cchar_t normal; - wchar_t blank[2]; - - blank[0] = ' '; - blank[1] = 0; - setcchar(&normal, blank, A_NORMAL, pair, 0); - bkgrnd(&normal); - bkgrndset(&normal); -} - -static attr_t -get_wide_background(void) -{ - attr_t result = A_NORMAL; - attr_t attr; - cchar_t ch; - short pair; - wchar_t wch; - - if (getbkgrnd(&ch) != ERR) { - if (getcchar(&ch, &wch, &attr, &pair, 0) != ERR) { - result = attr; - } - } - return result; -} - -static int -wide_show_attr(int row, int skip, bool arrow, chtype attr, short pair, const char *name) -{ - int ncv = tigetnum("ncv"); - chtype test = attr & ~WA_ALTCHARSET; - - if (arrow) - mvprintw(row, 5, "-->"); - mvprintw(row, 8, "%s mode:", name); - mvprintw(row, 24, "|"); - if (skip) - printw("%*s", skip, " "); - - /* - * Just for testing, write text using the alternate character set one - * character at a time (to pass its rendition directly), and use the - * string operation for the other attributes. - */ - if (attr & WA_ALTCHARSET) { - const wchar_t *s; - cchar_t ch; - - for (s = wide_attr_test_string; *s != L'\0'; ++s) { - wchar_t fill[2]; - fill[0] = *s; - fill[1] = L'\0'; - setcchar(&ch, fill, attr, pair, 0); - add_wch(&ch); - } - } else { - attr_t old_attr; - short old_pair; - - attr_get(&old_attr, &old_pair, 0); - attr_set(attr, pair, 0); - addwstr(wide_attr_test_string); - attr_set(old_attr, old_pair, 0); - } - if (skip) - printw("%*s", skip, " "); - printw("|"); - if (test != A_NORMAL) { - if (!(term_attrs() & test)) { - printw(" (N/A)"); - } else { - if (ncv > 0 && (get_wide_background() & A_COLOR)) { - static const attr_t table[] = - { - WA_STANDOUT, - WA_UNDERLINE, - WA_REVERSE, - WA_BLINK, - WA_DIM, - WA_BOLD, - WA_INVIS, - WA_PROTECT, - WA_ALTCHARSET - }; - unsigned n; - bool found = FALSE; - for (n = 0; n < SIZEOF(table); n++) { - if ((table[n] & attr) != 0 - && ((1 << n) & ncv) != 0) { - found = TRUE; - break; - } - } - if (found) - printw(" (NCV)"); - } - if ((term_attrs() & test) != test) - printw(" (Part)"); - } - } - return row + 2; -} - -static bool -wide_attr_getc(int *skip, int *fg, int *bg, int *tx, int *ac, unsigned *kc) -{ - bool result = TRUE; - bool error = FALSE; - WINDOW *helpwin; - - do { - int ch = Getchar(); - - error = FALSE; - if (ch < 256 && isdigit(ch)) { - *skip = (ch - '0'); - } else { - switch (ch) { - case CTRL('L'): - Repaint(); - break; - case '?': - if ((helpwin = newwin(LINES - 1, COLS - 2, 0, 0)) != 0) { - box_set(helpwin, 0, 0); - attr_legend(helpwin); - wGetchar(helpwin); - delwin(helpwin); - } - break; - case 'a': - *ac = 0; - break; - case 'A': - *ac = A_ALTCHARSET; - break; - case 'v': - if (*kc == 0) - *kc = SIZEOF(attrs_to_test) - 1; - else - *kc -= 1; - break; - case 'V': - *kc += 1; - if (*kc >= SIZEOF(attrs_to_test)) - *kc = 0; - break; - case '<': - wide_adjust_attr_string(-1); - break; - case '>': - wide_adjust_attr_string(1); - break; - case 'q': - case ESCAPE: - result = FALSE; - break; - default: - error = cycle_color_attr(ch, fg, bg, tx); - break; - } - } - } while (error); - return result; -} - -static void -wide_attr_test(void) -/* test text attributes using wide-character calls */ -{ - int n; - int skip = tigetnum("xmc"); - int fg = COLOR_BLACK; /* color pair 0 is special */ - int bg = COLOR_BLACK; - int tx = -1; - int ac = 0; - unsigned j, k; - - if (skip < 0) - skip = 0; - - n = skip; /* make it easy */ - k = SIZEOF(attrs_to_test) - 1; - wide_init_attr_string(); - - do { - int row = 2; - short pair = 0; - short extras = 0; - - if (has_colors()) { - pair = (fg != COLOR_BLACK || bg != COLOR_BLACK); - if (pair != 0) { - pair = 1; - if (init_pair(pair, fg, bg) == ERR) { - beep(); - } - } - extras = pair; - if (tx >= 0) { - extras = 2; - if (init_pair(extras, tx, bg) == ERR) { - beep(); - } - } - } - set_wide_background(pair); - erase(); - - box_set(stdscr, 0, 0); - mvaddstr(0, 20, "Character attribute test display"); - - for (j = 0; j < SIZEOF(attrs_to_test); ++j) { - row = wide_show_attr(row, n, j == k, - ac | - attrs_to_test[j].attr | - attrs_to_test[k].attr, - extras, - attrs_to_test[j].name); - } - - mvprintw(row, 8, - "This terminal does %shave the magic-cookie glitch", - tigetnum("xmc") > -1 ? "" : "not "); - mvprintw(row + 1, 8, "Enter '?' for help."); - show_color_attr(fg, bg, tx); - printw(" ACS (%d)", ac != 0); - - refresh(); - } while (wide_attr_getc(&n, &fg, &bg, &tx, &ac, &k)); - - set_wide_background(0); - erase(); - endwin(); -} -#endif - -/**************************************************************************** - * - * Color support tests - * - ****************************************************************************/ - -static NCURSES_CONST char *the_color_names[] = -{ - "black", - "red", - "green", - "yellow", - "blue", - "magenta", - "cyan", - "white", - "BLACK", - "RED", - "GREEN", - "YELLOW", - "BLUE", - "MAGENTA", - "CYAN", - "WHITE" -}; - -static void -show_color_name(int y, int x, int color, bool wide) -{ - if (move(y, x) != ERR) { - char temp[80]; - int width = 8; - - if (wide) { - sprintf(temp, "%02d", color); - width = 4; - } else if (color >= 8) { - sprintf(temp, "[%02d]", color); - } else { - strcpy(temp, the_color_names[color]); - } - printw("%-*.*s", width, width, temp); - } -} - -static void -color_legend(WINDOW *helpwin) -{ - int row = 1; - int col = 1; - - mvwprintw(helpwin, row++, col, - "q or ESC to exit."); - ++row; - mvwprintw(helpwin, row++, col, - "Use up/down arrow to scroll through the display if it is"); - mvwprintw(helpwin, row++, col, - "longer than one screen. Control/N and Control/P can be used"); - mvwprintw(helpwin, row++, col, - "in place up up/down arrow. Use pageup/pagedown to scroll a"); - mvwprintw(helpwin, row++, col, - "full screen; control/B and control/F can be used here."); - ++row; - mvwprintw(helpwin, row++, col, - "Toggles:"); - mvwprintw(helpwin, row++, col, - " b/B toggle bold off/on"); - mvwprintw(helpwin, row++, col, - " n/N toggle text/number on/off"); - mvwprintw(helpwin, row++, col, - " w/W toggle width between 8/16 colors"); -} - -#define set_color_test(name, value) if (name != value) { name = value; base_row = 0; } - -/* generate a color test pattern */ -static void -color_test(void) -{ - int c; - int i; - int top = 0, width; - int base_row = 0; - int grid_top = top + 3; - int page_size = (LINES - grid_top); - int pairs_max = PAIR_NUMBER(A_COLOR) + 1; - int row_limit; - int per_row; - char numbered[80]; - const char *hello; - bool done = FALSE; - bool opt_bold = FALSE; - bool opt_wide = FALSE; - bool opt_nums = FALSE; - WINDOW *helpwin; - - if (pairs_max > COLOR_PAIRS) - pairs_max = COLOR_PAIRS; - - while (!done) { - int shown = 0; - - /* this assumes an 80-column line */ - if (opt_wide) { - width = 4; - hello = "Test"; - per_row = (COLORS > 8) ? 16 : 8; - } else { - width = 8; - hello = "Hello"; - per_row = 8; - } - - row_limit = (pairs_max + per_row - 1) / per_row; - - move(0, 0); - (void) printw("There are %d color pairs and %d colors\n", - pairs_max, COLORS); - - clrtobot(); - (void) mvprintw(top + 1, 0, - "%dx%d matrix of foreground/background colors, bold *%s*\n", - row_limit, - per_row, - opt_bold ? "on" : "off"); - - /* show color names/numbers across the top */ - for (i = 0; i < per_row; i++) - show_color_name(top + 2, (i + 1) * width, i, opt_wide); - - /* show a grid of colors, with color names/ numbers on the left */ - for (i = (base_row * per_row); i < pairs_max; i++) { - int row = grid_top + (i / per_row) - base_row; - int col = (i % per_row + 1) * width; - int pair = i; - - if (row >= 0 && move(row, col) != ERR) { - init_pair(pair, i % COLORS, i / COLORS); - attron((attr_t) COLOR_PAIR(pair)); - if (opt_bold) - attron((attr_t) A_BOLD); - - if (opt_nums) { - sprintf(numbered, "{%02X}", i); - hello = numbered; - } - printw("%-*.*s", width, width, hello); - attrset(A_NORMAL); - - if ((i % per_row) == 0 && (i % COLORS) == 0) { - show_color_name(row, 0, i / COLORS, opt_wide); - } - ++shown; - } else if (shown) { - break; - } - } - - switch (c = wGetchar(stdscr)) { - case 'b': - opt_bold = FALSE; - break; - case 'B': - opt_bold = TRUE; - break; - case 'n': - opt_nums = FALSE; - break; - case 'N': - opt_nums = TRUE; - break; - case ESCAPE: - case 'q': - done = TRUE; - continue; - case 'w': - set_color_test(opt_wide, FALSE); - break; - case 'W': - set_color_test(opt_wide, TRUE); - break; - case CTRL('p'): - case KEY_UP: - if (base_row <= 0) { - beep(); - } else { - base_row -= 1; - } - break; - case CTRL('n'): - case KEY_DOWN: - if (base_row + page_size >= row_limit) { - beep(); - } else { - base_row += 1; - } - break; - case CTRL('b'): - case KEY_PREVIOUS: - case KEY_PPAGE: - if (base_row <= 0) { - beep(); - } else { - base_row -= (page_size - 1); - if (base_row < 0) - base_row = 0; - } - break; - case CTRL('f'): - case KEY_NEXT: - case KEY_NPAGE: - if (base_row + page_size >= row_limit) { - beep(); - } else { - base_row += page_size - 1; - if (base_row + page_size >= row_limit) { - base_row = row_limit - page_size - 1; - } - } - break; - case '?': - if ((helpwin = newwin(LINES - 1, COLS - 2, 0, 0)) != 0) { - box(helpwin, 0, 0); - color_legend(helpwin); - wGetchar(helpwin); - delwin(helpwin); - } - break; - default: - beep(); - continue; - } - } - - erase(); - endwin(); -} - -#if USE_WIDEC_SUPPORT -/* generate a color test pattern */ -static void -wide_color_test(void) -{ - int c; - int i; - int top = 0, width; - int base_row = 0; - int grid_top = top + 3; - int page_size = (LINES - grid_top); - int pairs_max = COLOR_PAIRS; - int row_limit; - int per_row; - char numbered[80]; - const char *hello; - bool done = FALSE; - bool opt_bold = FALSE; - bool opt_wide = FALSE; - bool opt_nums = FALSE; - WINDOW *helpwin; - - while (!done) { - int shown = 0; - - /* this assumes an 80-column line */ - if (opt_wide) { - width = 4; - hello = "Test"; - per_row = (COLORS > 8) ? 16 : 8; - } else { - width = 8; - hello = "Hello"; - per_row = 8; - } - - row_limit = (pairs_max + per_row - 1) / per_row; - - move(0, 0); - (void) printw("There are %d color pairs and %d colors\n", - pairs_max, COLORS); - - clrtobot(); - (void) mvprintw(top + 1, 0, - "%dx%d matrix of foreground/background colors, bold *%s*\n", - row_limit, - per_row, - opt_bold ? "on" : "off"); - - /* show color names/numbers across the top */ - for (i = 0; i < per_row; i++) - show_color_name(top + 2, (i + 1) * width, i, opt_wide); - - /* show a grid of colors, with color names/ numbers on the left */ - for (i = (base_row * per_row); i < pairs_max; i++) { - int row = grid_top + (i / per_row) - base_row; - int col = (i % per_row + 1) * width; - int pair = i; - - if (row >= 0 && move(row, col) != ERR) { - init_pair(pair, i % COLORS, i / COLORS); - color_set(pair, NULL); - if (opt_bold) - attr_on((attr_t) A_BOLD, NULL); - - if (opt_nums) { - sprintf(numbered, "{%02X}", i); - hello = numbered; - } - printw("%-*.*s", width, width, hello); - attr_set(A_NORMAL, 0, NULL); - - if ((i % per_row) == 0 && (i % COLORS) == 0) { - show_color_name(row, 0, i / COLORS, opt_wide); - } - ++shown; - } else if (shown) { - break; - } - } - - switch (c = wGetchar(stdscr)) { - case 'b': - opt_bold = FALSE; - break; - case 'B': - opt_bold = TRUE; - break; - case 'n': - opt_nums = FALSE; - break; - case 'N': - opt_nums = TRUE; - break; - case ESCAPE: - case 'q': - done = TRUE; - continue; - case 'w': - set_color_test(opt_wide, FALSE); - break; - case 'W': - set_color_test(opt_wide, TRUE); - break; - case CTRL('p'): - case KEY_UP: - if (base_row <= 0) { - beep(); - } else { - base_row -= 1; - } - break; - case CTRL('n'): - case KEY_DOWN: - if (base_row + page_size >= row_limit) { - beep(); - } else { - base_row += 1; - } - break; - case CTRL('b'): - case KEY_PREVIOUS: - case KEY_PPAGE: - if (base_row <= 0) { - beep(); - } else { - base_row -= (page_size - 1); - if (base_row < 0) - base_row = 0; - } - break; - case CTRL('f'): - case KEY_NEXT: - case KEY_NPAGE: - if (base_row + page_size >= row_limit) { - beep(); - } else { - base_row += page_size - 1; - if (base_row + page_size >= row_limit) { - base_row = row_limit - page_size - 1; - } - } - break; - case '?': - if ((helpwin = newwin(LINES - 1, COLS - 2, 0, 0)) != 0) { - box(helpwin, 0, 0); - color_legend(helpwin); - wGetchar(helpwin); - delwin(helpwin); - } - break; - default: - beep(); - continue; - } - } - - erase(); - endwin(); -} -#endif /* USE_WIDEC_SUPPORT */ - -static void -change_color(int current, int field, int value, int usebase) -{ - short red, green, blue; - - if (usebase) - color_content(current, &red, &green, &blue); - else - red = green = blue = 0; - - switch (field) { - case 0: - red += value; - break; - case 1: - green += value; - break; - case 2: - blue += value; - break; - } - - if (init_color(current, red, green, blue) == ERR) - beep(); -} - -static void -init_all_colors(void) -{ - int c; - for (c = 0; c < COLORS; ++c) - init_color(c, - all_colors[c].red, - all_colors[c].green, - all_colors[c].blue); -} - -#define scaled_rgb(n) ((255 * (n)) / 1000) - -static void -color_edit(void) -/* display the color test pattern, without trying to edit colors */ -{ - int i, this_c = 0, value = 0, current = 0, field = 0; - int last_c; - int top_color = 0; - int page_size = (LINES - 6); - - init_all_colors(); - refresh(); - - for (i = 0; i < max_colors; i++) - init_pair(i, COLOR_WHITE, i); - - mvprintw(LINES - 2, 0, "Number: %d", value); - - do { - short red, green, blue; - - attron(A_BOLD); - mvaddstr(0, 20, "Color RGB Value Editing"); - attroff(A_BOLD); - - for (i = top_color; - (i - top_color < page_size) - && (i < max_colors); i++) { - char numeric[80]; - sprintf(numeric, "[%d]", i); - mvprintw(2 + i - top_color, 0, "%c %-8s:", - (i == current ? '>' : ' '), - (i < (int) SIZEOF(the_color_names) - ? the_color_names[i] : numeric)); - attrset(COLOR_PAIR(i)); - addstr(" "); - attrset(A_NORMAL); - - color_content(i, &red, &green, &blue); - addstr(" R = "); - if (current == i && field == 0) - attron(A_STANDOUT); - printw("%04d", red); - if (current == i && field == 0) - attrset(A_NORMAL); - addstr(", G = "); - if (current == i && field == 1) - attron(A_STANDOUT); - printw("%04d", green); - if (current == i && field == 1) - attrset(A_NORMAL); - addstr(", B = "); - if (current == i && field == 2) - attron(A_STANDOUT); - printw("%04d", blue); - if (current == i && field == 2) - attrset(A_NORMAL); - attrset(A_NORMAL); - printw(" ( %3d %3d %3d )", - scaled_rgb(red), - scaled_rgb(green), - scaled_rgb(blue)); - } - - mvaddstr(LINES - 3, 0, - "Use up/down to select a color, left/right to change fields."); - mvaddstr(LINES - 2, 0, - "Modify field by typing nnn=, nnn-, or nnn+. ? for help."); - - move(2 + current - top_color, 0); - - last_c = this_c; - this_c = Getchar(); - if (this_c < 256 && isdigit(this_c) && !isdigit(last_c)) - value = 0; - - switch (this_c) { - case CTRL('b'): - case KEY_PPAGE: - if (current > 0) - current -= (page_size - 1); - else - beep(); - break; - - case CTRL('f'): - case KEY_NPAGE: - if (current < (max_colors - 1)) - current += (page_size - 1); - else - beep(); - break; - - case CTRL('p'): - case KEY_UP: - current = (current == 0 ? (max_colors - 1) : current - 1); - break; - - case CTRL('n'): - case KEY_DOWN: - current = (current == (max_colors - 1) ? 0 : current + 1); - break; - - case KEY_RIGHT: - field = (field == 2 ? 0 : field + 1); - break; - - case KEY_LEFT: - field = (field == 0 ? 2 : field - 1); - break; - - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - value = value * 10 + (this_c - '0'); - break; - - case '+': - change_color(current, field, value, 1); - break; - - case '-': - change_color(current, field, -value, 1); - break; - - case '=': - change_color(current, field, value, 0); - break; - - case '?': - erase(); - P(" RGB Value Editing Help"); - P(""); - P("You are in the RGB value editor. Use the arrow keys to select one of"); - P("the fields in one of the RGB triples of the current colors; the one"); - P("currently selected will be reverse-video highlighted."); - P(""); - P("To change a field, enter the digits of the new value; they are echoed"); - P("as entered. Finish by typing `='. The change will take effect instantly."); - P("To increment or decrement a value, use the same procedure, but finish"); - P("with a `+' or `-'."); - P(""); - P("Press 'm' to invoke the top-level menu with the current color settings."); - P("To quit, do `x' or 'q'"); - - Pause(); - erase(); - break; - - case 'm': - endwin(); - main_menu(FALSE); - refresh(); - break; - - case 'x': - case 'q': - break; - - default: - beep(); - break; - } - - if (current < 0) - current = 0; - if (current >= max_colors) - current = max_colors - 1; - if (current < top_color) - top_color = current; - if (current - top_color >= page_size) - top_color = current - (page_size - 1); - - mvprintw(LINES - 1, 0, "Number: %d", value); - clrtoeol(); - } while - (this_c != 'x' && this_c != 'q'); - - erase(); - - /* - * ncurses does not reset each color individually when calling endwin(). - */ - init_all_colors(); - - endwin(); -} - -/**************************************************************************** - * - * Soft-key label test - * - ****************************************************************************/ - -#define SLK_HELP 17 -#define SLK_WORK (SLK_HELP + 3) - -static void -slk_help(void) -{ - static const char *table[] = - { - "Available commands are:" - ,"" - ,"^L -- repaint this message and activate soft keys" - ,"a/d -- activate/disable soft keys" - ,"c -- set centered format for labels" - ,"l -- set left-justified format for labels" - ,"r -- set right-justified format for labels" - ,"[12345678] -- set label; labels are numbered 1 through 8" - ,"e -- erase stdscr (should not erase labels)" - ,"s -- test scrolling of shortened screen" -#if HAVE_SLK_COLOR - ,"F/B -- cycle through foreground/background colors" -#endif - ,"x, q -- return to main menu" - ,"" - ,"Note: if activating the soft keys causes your terminal to scroll up" - ,"one line, your terminal auto-scrolls when anything is written to the" - ,"last screen position. The ncurses code does not yet handle this" - ,"gracefully." - }; - unsigned j; - - move(2, 0); - for (j = 0; j < SIZEOF(table); ++j) { - P(table[j]); - } - refresh(); -} - -static void -slk_test(void) -/* exercise the soft keys */ -{ - int c, fmt = 1; - char buf[9]; - char *s; -#if HAVE_SLK_COLOR - short fg = COLOR_BLACK; - short bg = COLOR_WHITE; - bool new_color = FALSE; -#endif - - c = CTRL('l'); -#if HAVE_SLK_COLOR - if (has_colors()) { - new_color = TRUE; - } -#endif - - do { -#if HAVE_SLK_COLOR - if (new_color) { - init_pair(1, bg, fg); - slk_color(1); - new_color = FALSE; - mvprintw(SLK_WORK, 0, "Colors %d/%d\n", fg, bg); - refresh(); - } -#endif - move(0, 0); - switch (c) { - case CTRL('l'): - erase(); - attron(A_BOLD); - mvaddstr(0, 20, "Soft Key Exerciser"); - attroff(A_BOLD); - - slk_help(); - /* fall through */ - - case 'a': - slk_restore(); - break; - - case 'e': - wclear(stdscr); - break; - - case 's': - mvprintw(SLK_WORK, 0, "Press Q to stop the scrolling-test: "); - while ((c = Getchar()) != 'Q' && (c != ERR)) - addch((chtype) c); - break; - - case 'd': - slk_clear(); - break; - - case 'l': - fmt = 0; - break; - - case 'c': - fmt = 1; - break; - - case 'r': - fmt = 2; - break; - - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - (void) mvaddstr(SLK_WORK, 0, "Please enter the label value: "); - strcpy(buf, ""); - if ((s = slk_label(c - '0')) != 0) { - strncpy(buf, s, 8); - } - wGetstring(stdscr, buf, 8); - slk_set((c - '0'), buf, fmt); - slk_refresh(); - move(SLK_WORK, 0); - clrtobot(); - break; - - case 'x': - case 'q': - goto done; - -#if HAVE_SLK_COLOR - case 'F': - if (has_colors()) { - fg = (fg + 1) % COLORS; - new_color = TRUE; - } - break; - case 'B': - if (has_colors()) { - bg = (bg + 1) % COLORS; - new_color = TRUE; - } - break; -#endif - - default: - beep(); - } - } while - ((c = Getchar()) != EOF); - - done: - erase(); - endwin(); -} - -#if USE_WIDEC_SUPPORT -#define SLKLEN 8 -static void -wide_slk_test(void) -/* exercise the soft keys */ -{ - int c, fmt = 1; - wchar_t buf[SLKLEN + 1]; - char *s; - short fg = COLOR_BLACK; - short bg = COLOR_WHITE; - bool new_color = FALSE; - - c = CTRL('l'); - if (has_colors()) { - new_color = TRUE; - } - do { - if (new_color) { - init_pair(1, bg, fg); - slk_color(1); - new_color = FALSE; - mvprintw(SLK_WORK, 0, "Colors %d/%d\n", fg, bg); - refresh(); - } - move(0, 0); - switch (c) { - case CTRL('l'): - erase(); - attr_on(WA_BOLD, NULL); - mvaddstr(0, 20, "Soft Key Exerciser"); - attr_off(WA_BOLD, NULL); - - slk_help(); - /* fall through */ - - case 'a': - slk_restore(); - break; - - case 'e': - wclear(stdscr); - break; - - case 's': - mvprintw(SLK_WORK, 0, "Press Q to stop the scrolling-test: "); - while ((c = Getchar()) != 'Q' && (c != ERR)) - addch((chtype) c); - break; - - case 'd': - slk_clear(); - break; - - case 'l': - fmt = 0; - break; - - case 'c': - fmt = 1; - break; - - case 'r': - fmt = 2; - break; - - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - (void) mvaddstr(SLK_WORK, 0, "Please enter the label value: "); - *buf = 0; - if ((s = slk_label(c - '0')) != 0) { - char *temp = strdup(s); - size_t used = strlen(temp); - size_t want = SLKLEN; - size_t test; - mbstate_t state; - - buf[0] = L'\0'; - while (want > 0 && used != 0) { - const char *base = s; - memset(&state, 0, sizeof(state)); - test = mbsrtowcs(0, &base, 0, &state); - if (test == (size_t) -1) { - temp[--used] = 0; - } else if (test > want) { - temp[--used] = 0; - } else { - memset(&state, 0, sizeof(state)); - mbsrtowcs(buf, &base, want, &state); - break; - } - } - free(temp); - } - wGet_wstring(stdscr, buf, SLKLEN); - slk_wset((c - '0'), buf, fmt); - slk_refresh(); - move(SLK_WORK, 0); - clrtobot(); - break; - - case 'x': - case 'q': - goto done; - - case 'F': - if (has_colors()) { - fg = (fg + 1) % COLORS; - new_color = TRUE; - } - break; - case 'B': - if (has_colors()) { - bg = (bg + 1) % COLORS; - new_color = TRUE; - } - break; - - default: - beep(); - } - } while - ((c = Getchar()) != EOF); - - done: - erase(); - endwin(); -} -#endif - -/**************************************************************************** - * - * Alternate character-set stuff - * - ****************************************************************************/ - -/* ISO 6429: codes 0x80 to 0x9f may be control characters that cause the - * terminal to perform functions. The remaining codes can be graphic. - */ -static void -show_upper_chars(unsigned first) -{ - bool C1 = (first == 128); - unsigned code; - unsigned last = first + 31; - int reply; - - erase(); - attron(A_BOLD); - mvprintw(0, 20, "Display of %s Character Codes %d to %d", - C1 ? "C1" : "GR", first, last); - attroff(A_BOLD); - refresh(); - - for (code = first; code <= last; code++) { - int row = 4 + ((code - first) % 16); - int col = ((code - first) / 16) * COLS / 2; - char tmp[80]; - sprintf(tmp, "%3u (0x%x)", code, code); - mvprintw(row, col, "%*s: ", COLS / 4, tmp); - if (C1) - nodelay(stdscr, TRUE); - echochar(code); - if (C1) { - /* (yes, this _is_ crude) */ - while ((reply = Getchar()) != ERR) { - addch(UChar(reply)); - napms(10); - } - nodelay(stdscr, FALSE); - } - } -} - -static void -show_box_chars(void) -{ - erase(); - attron(A_BOLD); - mvaddstr(0, 20, "Display of the ACS Line-Drawing Set"); - attroff(A_BOLD); - refresh(); - box(stdscr, 0, 0); - /* *INDENT-OFF* */ - mvhline(LINES / 2, 0, ACS_HLINE, COLS); - mvvline(0, COLS / 2, ACS_VLINE, LINES); - mvaddch(0, COLS / 2, ACS_TTEE); - mvaddch(LINES / 2, COLS / 2, ACS_PLUS); - mvaddch(LINES - 1, COLS / 2, ACS_BTEE); - mvaddch(LINES / 2, 0, ACS_LTEE); - mvaddch(LINES / 2, COLS - 1, ACS_RTEE); - /* *INDENT-ON* */ - -} - -static int -show_1_acs(int n, const char *name, chtype code) -{ - const int height = 16; - int row = 4 + (n % height); - int col = (n / height) * COLS / 2; - mvprintw(row, col, "%*s : ", COLS / 4, name); - addch(code); - return n + 1; -} - -static void -show_acs_chars(void) -/* display the ACS character set */ -{ - int n; - -#define BOTH(name) #name, name - - erase(); - attron(A_BOLD); - mvaddstr(0, 20, "Display of the ACS Character Set"); - attroff(A_BOLD); - refresh(); - - n = show_1_acs(0, BOTH(ACS_ULCORNER)); - n = show_1_acs(n, BOTH(ACS_URCORNER)); - n = show_1_acs(n, BOTH(ACS_LLCORNER)); - n = show_1_acs(n, BOTH(ACS_LRCORNER)); - - n = show_1_acs(n, BOTH(ACS_LTEE)); - n = show_1_acs(n, BOTH(ACS_RTEE)); - n = show_1_acs(n, BOTH(ACS_TTEE)); - n = show_1_acs(n, BOTH(ACS_BTEE)); - - n = show_1_acs(n, BOTH(ACS_HLINE)); - n = show_1_acs(n, BOTH(ACS_VLINE)); - - n = show_1_acs(n, BOTH(ACS_LARROW)); - n = show_1_acs(n, BOTH(ACS_RARROW)); - n = show_1_acs(n, BOTH(ACS_UARROW)); - n = show_1_acs(n, BOTH(ACS_DARROW)); - - n = show_1_acs(n, BOTH(ACS_BLOCK)); - n = show_1_acs(n, BOTH(ACS_BOARD)); - n = show_1_acs(n, BOTH(ACS_LANTERN)); - n = show_1_acs(n, BOTH(ACS_BULLET)); - n = show_1_acs(n, BOTH(ACS_CKBOARD)); - n = show_1_acs(n, BOTH(ACS_DEGREE)); - n = show_1_acs(n, BOTH(ACS_DIAMOND)); - n = show_1_acs(n, BOTH(ACS_PLMINUS)); - n = show_1_acs(n, BOTH(ACS_PLUS)); - - n = show_1_acs(n, BOTH(ACS_GEQUAL)); - n = show_1_acs(n, BOTH(ACS_NEQUAL)); - n = show_1_acs(n, BOTH(ACS_LEQUAL)); - - n = show_1_acs(n, BOTH(ACS_STERLING)); - n = show_1_acs(n, BOTH(ACS_PI)); - n = show_1_acs(n, BOTH(ACS_S1)); - n = show_1_acs(n, BOTH(ACS_S3)); - n = show_1_acs(n, BOTH(ACS_S7)); - n = show_1_acs(n, BOTH(ACS_S9)); -} - -static void -acs_display(void) -{ - int c = 'a'; - - do { - switch (c) { - case CTRL('L'): - Repaint(); - break; - case 'a': - show_acs_chars(); - break; - case 'b': - show_box_chars(); - break; - case '0': - case '1': - case '2': - case '3': - show_upper_chars((unsigned) ((c - '0') * 32 + 128)); - break; - } - mvprintw(LINES - 3, 0, - "Note: ANSI terminals may not display C1 characters."); - mvprintw(LINES - 2, 0, - "Select: a=ACS, b=box, 0=C1, 1,2,3=GR characters, q=quit"); - refresh(); - } while ((c = Getchar()) != 'x' && c != 'q'); - - Pause(); - erase(); - endwin(); -} - -#if USE_WIDEC_SUPPORT -static void -show_upper_widechars(int first, int repeat, int space) -{ - cchar_t temp; - wchar_t code; - int last = first + 31; - - erase(); - attron(A_BOLD); - mvprintw(0, 20, "Display of Character Codes %d to %d", first, last); - attroff(A_BOLD); - - for (code = first; code <= last; code++) { - int row = 4 + ((code - first) % 16); - int col = ((code - first) / 16) * COLS / 2; - wchar_t codes[10]; - attr_t attrs = A_NORMAL; - char tmp[80]; - int count = repeat; - - memset(&codes, 0, sizeof(codes)); - codes[0] = code; - sprintf(tmp, "%3ld (0x%lx)", (long) code, (long) code); - mvprintw(row, col, "%*s: ", COLS / 4, tmp); - setcchar(&temp, codes, attrs, 0, 0); - do { - /* - * Give non-spacing characters something to combine with. If we - * don't, they'll bunch up in a heap on the space after the ":". - * Mark them with reverse-video to make them simpler to find on - * the display. - */ - if (wcwidth(code) == 0) - addch(space | A_REVERSE); - /* - * This could use add_wch(), but is done for comparison with the - * normal 'f' test (and to make a test-case for echo_wchar()). - * The screen will flicker because the erase() at the top of the - * function is met by the builtin refresh() in echo_wchar(). - */ - echo_wchar(&temp); - } while (--count > 0); - } -} - -static int -show_1_wacs(int n, const char *name, const cchar_t *code) -{ - const int height = 16; - int row = 4 + (n % height); - int col = (n / height) * COLS / 2; - mvprintw(row, col, "%*s : ", COLS / 4, name); - add_wchnstr(code, 1); - return n + 1; -} - -static void -show_wacs_chars(void) -/* display the wide-ACS character set */ -{ - int n; - -/*#define BOTH2(name) #name, &(name) */ -#define BOTH2(name) #name, name - - erase(); - attron(A_BOLD); - mvaddstr(0, 20, "Display of the Wide-ACS Character Set"); - attroff(A_BOLD); - refresh(); - - n = show_1_wacs(0, BOTH2(WACS_ULCORNER)); - n = show_1_wacs(n, BOTH2(WACS_URCORNER)); - n = show_1_wacs(n, BOTH2(WACS_LLCORNER)); - n = show_1_wacs(n, BOTH2(WACS_LRCORNER)); - - n = show_1_wacs(n, BOTH2(WACS_LTEE)); - n = show_1_wacs(n, BOTH2(WACS_RTEE)); - n = show_1_wacs(n, BOTH2(WACS_TTEE)); - n = show_1_wacs(n, BOTH2(WACS_BTEE)); - - n = show_1_wacs(n, BOTH2(WACS_HLINE)); - n = show_1_wacs(n, BOTH2(WACS_VLINE)); - - n = show_1_wacs(n, BOTH2(WACS_LARROW)); - n = show_1_wacs(n, BOTH2(WACS_RARROW)); - n = show_1_wacs(n, BOTH2(WACS_UARROW)); - n = show_1_wacs(n, BOTH2(WACS_DARROW)); - - n = show_1_wacs(n, BOTH2(WACS_BLOCK)); - n = show_1_wacs(n, BOTH2(WACS_BOARD)); - n = show_1_wacs(n, BOTH2(WACS_LANTERN)); - n = show_1_wacs(n, BOTH2(WACS_BULLET)); - n = show_1_wacs(n, BOTH2(WACS_CKBOARD)); - n = show_1_wacs(n, BOTH2(WACS_DEGREE)); - n = show_1_wacs(n, BOTH2(WACS_DIAMOND)); - n = show_1_wacs(n, BOTH2(WACS_PLMINUS)); - n = show_1_wacs(n, BOTH2(WACS_PLUS)); - -#ifdef CURSES_WACS_ARRAY - n = show_1_wacs(n, BOTH2(WACS_GEQUAL)); - n = show_1_wacs(n, BOTH2(WACS_NEQUAL)); - n = show_1_wacs(n, BOTH2(WACS_LEQUAL)); - - n = show_1_wacs(n, BOTH2(WACS_STERLING)); - n = show_1_wacs(n, BOTH2(WACS_PI)); - n = show_1_wacs(n, BOTH2(WACS_S1)); - n = show_1_wacs(n, BOTH2(WACS_S3)); - n = show_1_wacs(n, BOTH2(WACS_S7)); - n = show_1_wacs(n, BOTH2(WACS_S9)); -#endif -} - -static void -show_wbox_chars(void) -{ - erase(); - attron(A_BOLD); - mvaddstr(0, 20, "Display of the Wide-ACS Line-Drawing Set"); - attroff(A_BOLD); - refresh(); - box_set(stdscr, 0, 0); - /* *INDENT-OFF* */ - mvhline_set(LINES / 2, 0, WACS_HLINE, COLS); - mvvline_set(0, COLS / 2, WACS_VLINE, LINES); - mvadd_wch(0, COLS / 2, WACS_TTEE); - mvadd_wch(LINES / 2, COLS / 2, WACS_PLUS); - mvadd_wch(LINES - 1, COLS / 2, WACS_BTEE); - mvadd_wch(LINES / 2, 0, WACS_LTEE); - mvadd_wch(LINES / 2, COLS - 1, WACS_RTEE); - /* *INDENT-ON* */ - -} - -static int -show_2_wacs(int n, const char *name, const char *code) -{ - const int height = 16; - int row = 4 + (n % height); - int col = (n / height) * COLS / 2; - char temp[80]; - - mvprintw(row, col, "%*s : ", COLS / 4, name); - addstr(strcpy(temp, code)); - return n + 1; -} - -static void -show_utf8_chars(void) -/* display the wide-ACS character set */ -{ - int n; - - erase(); - attron(A_BOLD); - mvaddstr(0, 20, "Display of the Wide-ACS Character Set"); - attroff(A_BOLD); - refresh(); - /* *INDENT-OFF* */ - n = show_2_wacs(0, "WACS_ULCORNER", "\342\224\214"); - n = show_2_wacs(n, "WACS_URCORNER", "\342\224\220"); - n = show_2_wacs(n, "WACS_LLCORNER", "\342\224\224"); - n = show_2_wacs(n, "WACS_LRCORNER", "\342\224\230"); - - n = show_2_wacs(n, "WACS_LTEE", "\342\224\234"); - n = show_2_wacs(n, "WACS_RTEE", "\342\224\244"); - n = show_2_wacs(n, "WACS_TTEE", "\342\224\254"); - n = show_2_wacs(n, "WACS_BTEE", "\342\224\264"); - - n = show_2_wacs(n, "WACS_HLINE", "\342\224\200"); - n = show_2_wacs(n, "WACS_VLINE", "\342\224\202"); - - n = show_2_wacs(n, "WACS_LARROW", "\342\206\220"); - n = show_2_wacs(n, "WACS_RARROW", "\342\206\222"); - n = show_2_wacs(n, "WACS_UARROW", "\342\206\221"); - n = show_2_wacs(n, "WACS_DARROW", "\342\206\223"); - - n = show_2_wacs(n, "WACS_BLOCK", "\342\226\256"); - n = show_2_wacs(n, "WACS_BOARD", "\342\226\222"); - n = show_2_wacs(n, "WACS_LANTERN", "\342\230\203"); - n = show_2_wacs(n, "WACS_BULLET", "\302\267"); - n = show_2_wacs(n, "WACS_CKBOARD", "\342\226\222"); - n = show_2_wacs(n, "WACS_DEGREE", "\302\260"); - n = show_2_wacs(n, "WACS_DIAMOND", "\342\227\206"); - n = show_2_wacs(n, "WACS_PLMINUS", "\302\261"); - n = show_2_wacs(n, "WACS_PLUS", "\342\224\274"); - n = show_2_wacs(n, "WACS_GEQUAL", "\342\211\245"); - n = show_2_wacs(n, "WACS_NEQUAL", "\342\211\240"); - n = show_2_wacs(n, "WACS_LEQUAL", "\342\211\244"); - - n = show_2_wacs(n, "WACS_STERLING", "\302\243"); - n = show_2_wacs(n, "WACS_PI", "\317\200"); - n = show_2_wacs(n, "WACS_S1", "\342\216\272"); - n = show_2_wacs(n, "WACS_S3", "\342\216\273"); - n = show_2_wacs(n, "WACS_S7", "\342\216\274"); - n = show_2_wacs(n, "WACS_S9", "\342\216\275"); - /* *INDENT-ON* */ - -} - -static void -wide_acs_display(void) -{ - int c = 'a'; - int digit = 0; - int repeat = 0; - int space = ' '; - - do { - switch (c) { - case CTRL('L'): - Repaint(); - break; - case 'a': - show_wacs_chars(); - break; - case 'b': - show_wbox_chars(); - break; - case 'u': - show_utf8_chars(); - break; - default: - if (c < 256 && isdigit(c)) - digit = (c - '0'); - else if (c == '+') - ++digit; - else if (c == '-' && digit > 0) - --digit; - else if (c == '>') - ++repeat; - else if (c == '<' && repeat > 0) - --repeat; - else if (c == '_') - space = (space == ' ') ? '_' : ' '; - else { - beep(); - break; - } - show_upper_widechars(digit * 32 + 128, repeat, space); - break; - } - mvprintw(LINES - 2, 0, - "Select: a WACS, b box, u UTF-8, 0-9,+/- non-ASCII, repeat, q=quit"); - refresh(); - } while ((c = Getchar()) != 'x' && c != 'q'); - - Pause(); - erase(); - endwin(); -} - -#endif - -/* - * Graphic-rendition test (adapted from vttest) - */ -static void -test_sgr_attributes(void) -{ - int pass; - - for (pass = 0; pass < 2; pass++) { - chtype normal = ((pass == 0 ? A_NORMAL : A_REVERSE)) | BLANK; - - /* Use non-default colors if possible to exercise bce a little */ - if (has_colors()) { - init_pair(1, COLOR_WHITE, COLOR_BLUE); - normal |= COLOR_PAIR(1); - } - bkgdset(normal); - erase(); - mvprintw(1, 20, "Graphic rendition test pattern:"); - - mvprintw(4, 1, "vanilla"); - -#define set_sgr(mask) bkgdset((normal^(mask))); - set_sgr(A_BOLD); - mvprintw(4, 40, "bold"); - - set_sgr(A_UNDERLINE); - mvprintw(6, 6, "underline"); - - set_sgr(A_BOLD | A_UNDERLINE); - mvprintw(6, 45, "bold underline"); - - set_sgr(A_BLINK); - mvprintw(8, 1, "blink"); - - set_sgr(A_BLINK | A_BOLD); - mvprintw(8, 40, "bold blink"); - - set_sgr(A_UNDERLINE | A_BLINK); - mvprintw(10, 6, "underline blink"); - - set_sgr(A_BOLD | A_UNDERLINE | A_BLINK); - mvprintw(10, 45, "bold underline blink"); - - set_sgr(A_REVERSE); - mvprintw(12, 1, "negative"); - - set_sgr(A_BOLD | A_REVERSE); - mvprintw(12, 40, "bold negative"); - - set_sgr(A_UNDERLINE | A_REVERSE); - mvprintw(14, 6, "underline negative"); - - set_sgr(A_BOLD | A_UNDERLINE | A_REVERSE); - mvprintw(14, 45, "bold underline negative"); - - set_sgr(A_BLINK | A_REVERSE); - mvprintw(16, 1, "blink negative"); - - set_sgr(A_BOLD | A_BLINK | A_REVERSE); - mvprintw(16, 40, "bold blink negative"); - - set_sgr(A_UNDERLINE | A_BLINK | A_REVERSE); - mvprintw(18, 6, "underline blink negative"); - - set_sgr(A_BOLD | A_UNDERLINE | A_BLINK | A_REVERSE); - mvprintw(18, 45, "bold underline blink negative"); - - bkgdset(normal); - mvprintw(LINES - 2, 1, "%s background. ", pass == 0 ? "Dark" : - "Light"); - clrtoeol(); - Pause(); - } - - bkgdset(A_NORMAL | BLANK); - erase(); - endwin(); -} - -/**************************************************************************** - * - * Windows and scrolling tester. - * - ****************************************************************************/ - -#define BOTLINES 4 /* number of line stolen from screen bottom */ - -typedef struct { - int y, x; -} pair; - -#define FRAME struct frame -FRAME -{ - FRAME *next, *last; - bool do_scroll; - bool do_keypad; - WINDOW *wind; -}; - -#ifdef NCURSES_VERSION -#define keypad_active(win) (win)->_use_keypad -#define scroll_active(win) (win)->_scroll -#else -#define keypad_active(win) FALSE -#define scroll_active(win) FALSE -#endif - -/* We need to know if these flags are actually set, so don't look in FRAME. - * These names are known to work with SVr4 curses as well as ncurses. The - * _use_keypad name does not work with Solaris 8. - */ -static bool -HaveKeypad(FRAME * curp) -{ - WINDOW *win = (curp ? curp->wind : stdscr); - return keypad_active(win); -} - -static bool -HaveScroll(FRAME * curp) -{ - WINDOW *win = (curp ? curp->wind : stdscr); - return scroll_active(win); -} - -static void -newwin_legend(FRAME * curp) -{ - static const struct { - const char *msg; - int code; - } legend[] = { - { - "^C = create window", 0 - }, - { - "^N = next window", 0 - }, - { - "^P = previous window", 0 - }, - { - "^F = scroll forward", 0 - }, - { - "^B = scroll backward", 0 - }, - { - "^K = keypad(%s)", 1 - }, - { - "^S = scrollok(%s)", 2 - }, - { - "^W = save window to file", 0 - }, - { - "^R = restore window", 0 - }, -#if HAVE_WRESIZE - { - "^X = resize", 0 - }, -#endif - { - "^Q%s = exit", 3 - } - }; - size_t n; - int x; - bool do_keypad = HaveKeypad(curp); - bool do_scroll = HaveScroll(curp); - char buf[BUFSIZ]; - - move(LINES - 4, 0); - for (n = 0; n < SIZEOF(legend); n++) { - switch (legend[n].code) { - default: - strcpy(buf, legend[n].msg); - break; - case 1: - sprintf(buf, legend[n].msg, do_keypad ? "yes" : "no"); - break; - case 2: - sprintf(buf, legend[n].msg, do_scroll ? "yes" : "no"); - break; - case 3: - sprintf(buf, legend[n].msg, do_keypad ? "/ESC" : ""); - break; - } - x = getcurx(stdscr); - addstr((COLS < (x + 3 + (int) strlen(buf))) ? "\n" : (n ? ", " : "")); - addstr(buf); - } - clrtoeol(); -} - -static void -transient(FRAME * curp, NCURSES_CONST char *msg) -{ - newwin_legend(curp); - if (msg) { - mvaddstr(LINES - 1, 0, msg); - refresh(); - napms(1000); - } - - move(LINES - 1, 0); - printw("%s characters are echoed, window should %sscroll.", - HaveKeypad(curp) ? "Non-arrow" : "All other", - HaveScroll(curp) ? "" : "not "); - clrtoeol(); -} - -static void -newwin_report(FRAME * curp) -/* report on the cursor's current position, then restore it */ -{ - WINDOW *win = (curp != 0) ? curp->wind : stdscr; - int y, x; - - if (win != stdscr) - transient(curp, (char *) 0); - getyx(win, y, x); - move(LINES - 1, COLS - 17); - printw("Y = %2d X = %2d", y, x); - if (win != stdscr) - refresh(); - else - wmove(win, y, x); -} - -static pair * -selectcell(int uli, int ulj, int lri, int lrj) -/* arrows keys move cursor, return location at current on non-arrow key */ -{ - static pair res; /* result cell */ - int si = lri - uli + 1; /* depth of the select area */ - int sj = lrj - ulj + 1; /* width of the select area */ - int i = 0, j = 0; /* offsets into the select area */ - - res.y = uli; - res.x = ulj; - for (;;) { - move(uli + i, ulj + j); - newwin_report((FRAME *) 0); - - switch (Getchar()) { - case KEY_UP: - i += si - 1; - break; - case KEY_DOWN: - i++; - break; - case KEY_LEFT: - j += sj - 1; - break; - case KEY_RIGHT: - j++; - break; - case QUIT: - case ESCAPE: - return ((pair *) 0); -#ifdef NCURSES_MOUSE_VERSION - case KEY_MOUSE: - { - MEVENT event; - - getmouse(&event); - if (event.y > uli && event.x > ulj) { - i = event.y - uli; - j = event.x - ulj; - } else { - beep(); - break; - } - } - /* FALLTHRU */ -#endif - default: - res.y = uli + i; - res.x = ulj + j; - return (&res); - } - i %= si; - j %= sj; - } -} - -static void -outerbox(pair ul, pair lr, bool onoff) -/* draw or erase a box *outside* the given pair of corners */ -{ - mvaddch(ul.y - 1, lr.x - 1, onoff ? ACS_ULCORNER : ' '); - mvaddch(ul.y - 1, lr.x + 1, onoff ? ACS_URCORNER : ' '); - mvaddch(lr.y + 1, lr.x + 1, onoff ? ACS_LRCORNER : ' '); - mvaddch(lr.y + 1, ul.x - 1, onoff ? ACS_LLCORNER : ' '); - move(ul.y - 1, ul.x); - hline(onoff ? ACS_HLINE : ' ', lr.x - ul.x + 1); - move(ul.y, ul.x - 1); - vline(onoff ? ACS_VLINE : ' ', lr.y - ul.y + 1); - move(lr.y + 1, ul.x); - hline(onoff ? ACS_HLINE : ' ', lr.x - ul.x + 1); - move(ul.y, lr.x + 1); - vline(onoff ? ACS_VLINE : ' ', lr.y - ul.y + 1); -} - -static WINDOW * -getwindow(void) -/* Ask user for a window definition */ -{ - WINDOW *rwindow; - pair ul, lr, *tmp; - - move(0, 0); - clrtoeol(); - addstr("Use arrows to move cursor, anything else to mark corner 1"); - refresh(); - if ((tmp = selectcell(2, 1, LINES - BOTLINES - 2, COLS - 2)) == (pair *) 0) - return ((WINDOW *) 0); - memcpy(&ul, tmp, sizeof(pair)); - mvaddch(ul.y - 1, ul.x - 1, ACS_ULCORNER); - move(0, 0); - clrtoeol(); - addstr("Use arrows to move cursor, anything else to mark corner 2"); - refresh(); - if ((tmp = selectcell(ul.y, ul.x, LINES - BOTLINES - 2, COLS - 2)) == - (pair *) 0) - return ((WINDOW *) 0); - memcpy(&lr, tmp, sizeof(pair)); - - rwindow = subwin(stdscr, lr.y - ul.y + 1, lr.x - ul.x + 1, ul.y, ul.x); - - outerbox(ul, lr, TRUE); - refresh(); - - wrefresh(rwindow); - - move(0, 0); - clrtoeol(); - return (rwindow); -} - -static void -newwin_move(FRAME * curp, int dy, int dx) -{ - WINDOW *win = (curp != 0) ? curp->wind : stdscr; - int cur_y, cur_x; - int max_y, max_x; - - getyx(win, cur_y, cur_x); - getmaxyx(win, max_y, max_x); - if ((cur_x += dx) < 0) - cur_x = 0; - else if (cur_x >= max_x) - cur_x = max_x - 1; - if ((cur_y += dy) < 0) - cur_y = 0; - else if (cur_y >= max_y) - cur_y = max_y - 1; - wmove(win, cur_y, cur_x); -} - -static FRAME * -delete_framed(FRAME * fp, bool showit) -{ - FRAME *np; - - fp->last->next = fp->next; - fp->next->last = fp->last; - - if (showit) { - werase(fp->wind); - wrefresh(fp->wind); - } - delwin(fp->wind); - - np = (fp == fp->next) ? 0 : fp->next; - free(fp); - return np; -} - -static void -acs_and_scroll(void) -/* Demonstrate windows */ -{ - int c, i; - FILE *fp; - FRAME *current = (FRAME *) 0, *neww; - WINDOW *usescr = stdscr; - -#define DUMPFILE "screendump" - -#ifdef NCURSES_MOUSE_VERSION - mousemask(BUTTON1_CLICKED, (mmask_t *) 0); -#endif - c = CTRL('C'); - raw(); - do { - transient((FRAME *) 0, (char *) 0); - switch (c) { - case CTRL('C'): - neww = (FRAME *) calloc(1, sizeof(FRAME)); - if ((neww->wind = getwindow()) == (WINDOW *) 0) - goto breakout; - - if (current == 0) { /* First element, */ - neww->next = neww; /* so point it at itself */ - neww->last = neww; - } else { - neww->next = current->next; - neww->last = current; - neww->last->next = neww; - neww->next->last = neww; - } - current = neww; - /* SVr4 curses sets the keypad on all newly-created windows to - * false. Someone reported that PDCurses makes new windows inherit - * this flag. Remove the following 'keypad()' call to test this - */ - keypad(current->wind, TRUE); - current->do_keypad = HaveKeypad(current); - current->do_scroll = HaveScroll(current); - break; - - case CTRL('N'): /* go to next window */ - if (current) - current = current->next; - break; - - case CTRL('P'): /* go to previous window */ - if (current) - current = current->last; - break; - - case CTRL('F'): /* scroll current window forward */ - if (current) - wscrl(current->wind, 1); - break; - - case CTRL('B'): /* scroll current window backwards */ - if (current) - wscrl(current->wind, -1); - break; - - case CTRL('K'): /* toggle keypad mode for current */ - if (current) { - current->do_keypad = !current->do_keypad; - keypad(current->wind, current->do_keypad); - } - break; - - case CTRL('S'): - if (current) { - current->do_scroll = !current->do_scroll; - scrollok(current->wind, current->do_scroll); - } - break; - - case CTRL('W'): /* save and delete window */ - if (current == current->next) { - transient(current, "Will not save/delete ONLY window"); - break; - } else if ((fp = fopen(DUMPFILE, "w")) == (FILE *) 0) { - transient(current, "Can't open screen dump file"); - } else { - (void) putwin(current->wind, fp); - (void) fclose(fp); - - current = delete_framed(current, TRUE); - } - break; - - case CTRL('R'): /* restore window */ - if ((fp = fopen(DUMPFILE, "r")) == (FILE *) 0) { - transient(current, "Can't open screen dump file"); - } else { - neww = (FRAME *) calloc(1, sizeof(FRAME)); - - neww->next = current->next; - neww->last = current; - neww->last->next = neww; - neww->next->last = neww; - - neww->wind = getwin(fp); - (void) fclose(fp); - - wrefresh(neww->wind); - } - break; - -#if HAVE_WRESIZE - case CTRL('X'): /* resize window */ - if (current) { - pair *tmp, ul, lr; - int mx, my; - - move(0, 0); - clrtoeol(); - addstr("Use arrows to move cursor, anything else to mark new corner"); - refresh(); - - getbegyx(current->wind, ul.y, ul.x); - - tmp = selectcell(ul.y, ul.x, LINES - BOTLINES - 2, COLS - 2); - if (tmp == (pair *) 0) { - beep(); - break; - } - - getmaxyx(current->wind, lr.y, lr.x); - lr.y += (ul.y - 1); - lr.x += (ul.x - 1); - outerbox(ul, lr, FALSE); - wnoutrefresh(stdscr); - - /* strictly cosmetic hack for the test */ - getmaxyx(current->wind, my, mx); - if (my > tmp->y - ul.y) { - getyx(current->wind, lr.y, lr.x); - wmove(current->wind, tmp->y - ul.y + 1, 0); - wclrtobot(current->wind); - wmove(current->wind, lr.y, lr.x); - } - if (mx > tmp->x - ul.x) - for (i = 0; i < my; i++) { - wmove(current->wind, i, tmp->x - ul.x + 1); - wclrtoeol(current->wind); - } - wnoutrefresh(current->wind); - - memcpy(&lr, tmp, sizeof(pair)); - (void) wresize(current->wind, lr.y - ul.y + 0, lr.x - ul.x + 0); - - getbegyx(current->wind, ul.y, ul.x); - getmaxyx(current->wind, lr.y, lr.x); - lr.y += (ul.y - 1); - lr.x += (ul.x - 1); - outerbox(ul, lr, TRUE); - wnoutrefresh(stdscr); - - wnoutrefresh(current->wind); - move(0, 0); - clrtoeol(); - doupdate(); - } - break; -#endif /* HAVE_WRESIZE */ - - case KEY_F(10): /* undocumented --- use this to test area clears */ - selectcell(0, 0, LINES - 1, COLS - 1); - clrtobot(); - refresh(); - break; - - case KEY_UP: - newwin_move(current, -1, 0); - break; - case KEY_DOWN: - newwin_move(current, 1, 0); - break; - case KEY_LEFT: - newwin_move(current, 0, -1); - break; - case KEY_RIGHT: - newwin_move(current, 0, 1); - break; - - case KEY_BACKSPACE: - /* FALLTHROUGH */ - case KEY_DC: - { - int y, x; - getyx(current->wind, y, x); - if (--x < 0) { - if (--y < 0) - break; - x = getmaxx(current->wind) - 1; - } - mvwdelch(current->wind, y, x); - } - break; - - case '\r': - c = '\n'; - /* FALLTHROUGH */ - - default: - if (current) - waddch(current->wind, (chtype) c); - else - beep(); - break; - } - newwin_report(current); - usescr = (current ? current->wind : stdscr); - wrefresh(usescr); - } while - ((c = wGetchar(usescr)) != QUIT - && !((c == ESCAPE) && (keypad_active(usescr))) - && (c != ERR)); - - breakout: - while (current != 0) - current = delete_framed(current, FALSE); - - scrollok(stdscr, TRUE); /* reset to driver's default */ -#ifdef NCURSES_MOUSE_VERSION - mousemask(0, (mmask_t *) 0); -#endif - noraw(); - erase(); - endwin(); -} - -/**************************************************************************** - * - * Panels tester - * - ****************************************************************************/ - -#if USE_LIBPANEL -static int nap_msec = 1; - -static NCURSES_CONST char *mod[] = -{ - "test ", - "TEST ", - "(**) ", - "*()* ", - "<--> ", - "LAST " -}; - -/*+------------------------------------------------------------------------- - wait_a_while(msec) ---------------------------------------------------------------------------*/ -static void -wait_a_while(int msec GCC_UNUSED) -{ -#if HAVE_NAPMS - if (nap_msec == 1) - wGetchar(stdscr); - else - napms(nap_msec); -#else - if (nap_msec == 1) - wGetchar(stdscr); - else if (msec > 1000) - sleep((unsigned) msec / 1000); - else - sleep(1); -#endif -} /* end of wait_a_while */ - -/*+------------------------------------------------------------------------- - saywhat(text) ---------------------------------------------------------------------------*/ -static void -saywhat(NCURSES_CONST char *text) -{ - wmove(stdscr, LINES - 1, 0); - wclrtoeol(stdscr); - waddstr(stdscr, text); -} /* end of saywhat */ - -/*+------------------------------------------------------------------------- - mkpanel(rows,cols,tly,tlx) - alloc a win and panel and associate them ---------------------------------------------------------------------------*/ -static PANEL * -mkpanel(unsigned color, int rows, int cols, int tly, int tlx) -{ - WINDOW *win; - PANEL *pan = 0; - - if ((win = newwin(rows, cols, tly, tlx)) != 0) { - if ((pan = new_panel(win)) == 0) { - delwin(win); - } else if (has_colors()) { - int fg = (color == COLOR_BLUE) ? COLOR_WHITE : COLOR_BLACK; - int bg = color; - init_pair(color, fg, bg); - wbkgdset(win, COLOR_PAIR(color) | ' '); - } else { - wbkgdset(win, A_BOLD | ' '); - } - } - return pan; -} /* end of mkpanel */ - -/*+------------------------------------------------------------------------- - rmpanel(pan) ---------------------------------------------------------------------------*/ -static void -rmpanel(PANEL * pan) -{ - WINDOW *win = panel_window(pan); - del_panel(pan); - delwin(win); -} /* end of rmpanel */ - -/*+------------------------------------------------------------------------- - pflush() ---------------------------------------------------------------------------*/ -static void -pflush(void) -{ - update_panels(); - doupdate(); -} /* end of pflush */ - -/*+------------------------------------------------------------------------- - fill_panel(win) ---------------------------------------------------------------------------*/ -static void -fill_panel(PANEL * pan) -{ - WINDOW *win = panel_window(pan); - int num = ((const char *) panel_userptr(pan))[1]; - int y, x; - - wmove(win, 1, 1); - wprintw(win, "-pan%c-", num); - wclrtoeol(win); - box(win, 0, 0); - for (y = 2; y < getmaxy(win) - 1; y++) { - for (x = 1; x < getmaxx(win) - 1; x++) { - wmove(win, y, x); - waddch(win, UChar(num)); - } - } -} /* end of fill_panel */ - -static void -demo_panels(void) -{ - int itmp; - register int y, x; - - refresh(); - - for (y = 0; y < LINES - 1; y++) { - for (x = 0; x < COLS; x++) - wprintw(stdscr, "%d", (y + x) % 10); - } - for (y = 0; y < 5; y++) { - PANEL *p1; - PANEL *p2; - PANEL *p3; - PANEL *p4; - PANEL *p5; - - p1 = mkpanel(COLOR_RED, - LINES / 2 - 2, - COLS / 8 + 1, - 0, - 0); - set_panel_userptr(p1, (NCURSES_CONST void *) "p1"); - - p2 = mkpanel(COLOR_GREEN, - LINES / 2 + 1, - COLS / 7, - LINES / 4, - COLS / 10); - set_panel_userptr(p2, (NCURSES_CONST void *) "p2"); - - p3 = mkpanel(COLOR_YELLOW, - LINES / 4, - COLS / 10, - LINES / 2, - COLS / 9); - set_panel_userptr(p3, (NCURSES_CONST void *) "p3"); - - p4 = mkpanel(COLOR_BLUE, - LINES / 2 - 2, - COLS / 8, - LINES / 2 - 2, - COLS / 3); - set_panel_userptr(p4, (NCURSES_CONST void *) "p4"); - - p5 = mkpanel(COLOR_MAGENTA, - LINES / 2 - 2, - COLS / 8, - LINES / 2, - COLS / 2 - 2); - set_panel_userptr(p5, (NCURSES_CONST void *) "p5"); - - fill_panel(p1); - fill_panel(p2); - fill_panel(p3); - fill_panel(p4); - fill_panel(p5); - hide_panel(p4); - hide_panel(p5); - pflush(); - saywhat("press any key to continue"); - wait_a_while(nap_msec); - - saywhat("h3 s1 s2 s4 s5; press any key to continue"); - move_panel(p1, 0, 0); - hide_panel(p3); - show_panel(p1); - show_panel(p2); - show_panel(p4); - show_panel(p5); - pflush(); - wait_a_while(nap_msec); - - saywhat("s1; press any key to continue"); - show_panel(p1); - pflush(); - wait_a_while(nap_msec); - - saywhat("s2; press any key to continue"); - show_panel(p2); - pflush(); - wait_a_while(nap_msec); - - saywhat("m2; press any key to continue"); - move_panel(p2, LINES / 3 + 1, COLS / 8); - pflush(); - wait_a_while(nap_msec); - - saywhat("s3;"); - show_panel(p3); - pflush(); - wait_a_while(nap_msec); - - saywhat("m3; press any key to continue"); - move_panel(p3, LINES / 4 + 1, COLS / 15); - pflush(); - wait_a_while(nap_msec); - - saywhat("b3; press any key to continue"); - bottom_panel(p3); - pflush(); - wait_a_while(nap_msec); - - saywhat("s4; press any key to continue"); - show_panel(p4); - pflush(); - wait_a_while(nap_msec); - - saywhat("s5; press any key to continue"); - show_panel(p5); - pflush(); - wait_a_while(nap_msec); - - saywhat("t3; press any key to continue"); - top_panel(p3); - pflush(); - wait_a_while(nap_msec); - - saywhat("t1; press any key to continue"); - top_panel(p1); - pflush(); - wait_a_while(nap_msec); - - saywhat("t2; press any key to continue"); - top_panel(p2); - pflush(); - wait_a_while(nap_msec); - - saywhat("t3; press any key to continue"); - top_panel(p3); - pflush(); - wait_a_while(nap_msec); - - saywhat("t4; press any key to continue"); - top_panel(p4); - pflush(); - wait_a_while(nap_msec); - - for (itmp = 0; itmp < 6; itmp++) { - WINDOW *w4 = panel_window(p4); - WINDOW *w5 = panel_window(p5); - - saywhat("m4; press any key to continue"); - wmove(w4, LINES / 8, 1); - waddstr(w4, mod[itmp]); - move_panel(p4, LINES / 6, itmp * (COLS / 8)); - wmove(w5, LINES / 6, 1); - waddstr(w5, mod[itmp]); - pflush(); - wait_a_while(nap_msec); - - saywhat("m5; press any key to continue"); - wmove(w4, LINES / 6, 1); - waddstr(w4, mod[itmp]); - move_panel(p5, LINES / 3 - 1, (itmp * 10) + 6); - wmove(w5, LINES / 8, 1); - waddstr(w5, mod[itmp]); - pflush(); - wait_a_while(nap_msec); - } - - saywhat("m4; press any key to continue"); - move_panel(p4, LINES / 6, itmp * (COLS / 8)); - pflush(); - wait_a_while(nap_msec); - - saywhat("t5; press any key to continue"); - top_panel(p5); - pflush(); - wait_a_while(nap_msec); - - saywhat("t2; press any key to continue"); - top_panel(p2); - pflush(); - wait_a_while(nap_msec); - - saywhat("t1; press any key to continue"); - top_panel(p1); - pflush(); - wait_a_while(nap_msec); - - saywhat("d2; press any key to continue"); - rmpanel(p2); - pflush(); - wait_a_while(nap_msec); - - saywhat("h3; press any key to continue"); - hide_panel(p3); - pflush(); - wait_a_while(nap_msec); - - saywhat("d1; press any key to continue"); - rmpanel(p1); - pflush(); - wait_a_while(nap_msec); - - saywhat("d4; press any key to continue"); - rmpanel(p4); - pflush(); - wait_a_while(nap_msec); - - saywhat("d5; press any key to continue"); - rmpanel(p5); - pflush(); - - rmpanel(p3); - pflush(); - - wait_a_while(nap_msec); - if (nap_msec == 1) - break; - nap_msec = 100L; - } - - erase(); - endwin(); -} - -/**************************************************************************** - * - * Pad tester - * - ****************************************************************************/ - -#define GRIDSIZE 3 - -static bool pending_pan = FALSE; -static bool show_panner_legend = TRUE; - -static int -panner_legend(int line) -{ - static const char *const legend[] = - { - "Use arrow keys (or U,D,L,R) to pan, q to quit, ! to shell-out.", - "Use +,- (or j,k) to grow/shrink the panner vertically.", - "Use <,> (or h,l) to grow/shrink the panner horizontally.", - "Number repeats. Toggle legend:? filler:a timer:t scrollmark:s." - }; - int n = (SIZEOF(legend) - (LINES - line)); - if (line < LINES && (n >= 0)) { - move(line, 0); - if (show_panner_legend) - printw("%s", legend[n]); - clrtoeol(); - return show_panner_legend; - } - return FALSE; -} - -static void -panner_h_cleanup(int from_y, int from_x, int to_x) -{ - if (!panner_legend(from_y)) - do_h_line(from_y, from_x, ' ', to_x); -} - -static void -panner_v_cleanup(int from_y, int from_x, int to_y) -{ - if (!panner_legend(from_y)) - do_v_line(from_y, from_x, ' ', to_y); -} - -static void -fill_pad(WINDOW *panpad, bool pan_lines) -{ - int y, x; - unsigned gridcount = 0; - - wmove(panpad, 0, 0); - for (y = 0; y < getmaxy(panpad); y++) { - for (x = 0; x < getmaxx(panpad); x++) { - if (y % GRIDSIZE == 0 && x % GRIDSIZE == 0) { - if (y == 0 && x == 0) - waddch(panpad, pan_lines ? ACS_ULCORNER : '+'); - else if (y == 0) - waddch(panpad, pan_lines ? ACS_TTEE : '+'); - else if (y == 0 || x == 0) - waddch(panpad, pan_lines ? ACS_LTEE : '+'); - else - waddch(panpad, (chtype) ((pan_lines ? 'a' : 'A') + - (gridcount++ % 26))); - } else if (y % GRIDSIZE == 0) - waddch(panpad, pan_lines ? ACS_HLINE : '-'); - else if (x % GRIDSIZE == 0) - waddch(panpad, pan_lines ? ACS_VLINE : '|'); - else - waddch(panpad, ' '); - } - } -} - -static void -panner(WINDOW *pad, - int top_x, int top_y, int porty, int portx, - int (*pgetc) (WINDOW *)) -{ -#if HAVE_GETTIMEOFDAY - struct timeval before, after; - bool timing = TRUE; -#endif - bool pan_lines = FALSE; - bool scrollers = TRUE; - int basex = 0; - int basey = 0; - int pxmax, pymax, lowend, highend, c; - - getmaxyx(pad, pymax, pxmax); - scrollok(stdscr, FALSE); /* we don't want stdscr to scroll! */ - - c = KEY_REFRESH; - do { -#ifdef NCURSES_VERSION - /* - * During shell-out, the user may have resized the window. Adjust - * the port size of the pad to accommodate this. Ncurses automatically - * resizes all of the normal windows to fit on the new screen. - */ - if (top_x > COLS) - top_x = COLS; - if (portx > COLS) - portx = COLS; - if (top_y > LINES) - top_y = LINES; - if (porty > LINES) - porty = LINES; -#endif - switch (c) { - case KEY_REFRESH: - erase(); - - /* FALLTHRU */ - case '?': - if (c == '?') - show_panner_legend = !show_panner_legend; - panner_legend(LINES - 4); - panner_legend(LINES - 3); - panner_legend(LINES - 2); - panner_legend(LINES - 1); - break; - case 'a': - pan_lines = !pan_lines; - fill_pad(pad, pan_lines); - pending_pan = FALSE; - break; - -#if HAVE_GETTIMEOFDAY - case 't': - timing = !timing; - if (!timing) - panner_legend(LINES - 1); - break; -#endif - case 's': - scrollers = !scrollers; - break; - - /* Move the top-left corner of the pad, keeping the bottom-right - * corner fixed. - */ - case 'h': /* increase-columns: move left edge to left */ - if (top_x <= 0) - beep(); - else { - panner_v_cleanup(top_y, top_x, porty); - top_x--; - } - break; - - case 'j': /* decrease-lines: move top-edge down */ - if (top_y >= porty) - beep(); - else { - panner_h_cleanup(top_y - 1, top_x - (top_x > 0), portx); - top_y++; - } - break; - - case 'k': /* increase-lines: move top-edge up */ - if (top_y <= 0) - beep(); - else { - top_y--; - panner_h_cleanup(top_y, top_x, portx); - } - break; - - case 'l': /* decrease-columns: move left-edge to right */ - if (top_x >= portx) - beep(); - else { - panner_v_cleanup(top_y - (top_y > 0), top_x - 1, porty); - top_x++; - } - break; - - /* Move the bottom-right corner of the pad, keeping the top-left - * corner fixed. - */ - case KEY_IC: /* increase-columns: move right-edge to right */ - if (portx >= pxmax || portx >= COLS) - beep(); - else { - panner_v_cleanup(top_y - (top_y > 0), portx - 1, porty); - ++portx; - } - break; - - case KEY_IL: /* increase-lines: move bottom-edge down */ - if (porty >= pymax || porty >= LINES) - beep(); - else { - panner_h_cleanup(porty - 1, top_x - (top_x > 0), portx); - ++porty; - } - break; - - case KEY_DC: /* decrease-columns: move bottom edge up */ - if (portx <= top_x) - beep(); - else { - portx--; - panner_v_cleanup(top_y - (top_y > 0), portx, porty); - } - break; - - case KEY_DL: /* decrease-lines */ - if (porty <= top_y) - beep(); - else { - porty--; - panner_h_cleanup(porty, top_x - (top_x > 0), portx); - } - break; - - case KEY_LEFT: /* pan leftwards */ - if (basex > 0) - basex--; - else - beep(); - break; - - case KEY_RIGHT: /* pan rightwards */ - if (basex + portx - (pymax > porty) < pxmax) - basex++; - else - beep(); - break; - - case KEY_UP: /* pan upwards */ - if (basey > 0) - basey--; - else - beep(); - break; - - case KEY_DOWN: /* pan downwards */ - if (basey + porty - (pxmax > portx) < pymax) - basey++; - else - beep(); - break; - - case 'H': - case KEY_HOME: - case KEY_FIND: - basey = 0; - break; - - case 'E': - case KEY_END: - case KEY_SELECT: - basey = pymax - porty; - if (basey < 0) - basey = 0; - break; - - default: - beep(); - break; - } - - mvaddch(top_y - 1, top_x - 1, ACS_ULCORNER); - do_v_line(top_y, top_x - 1, ACS_VLINE, porty); - do_h_line(top_y - 1, top_x, ACS_HLINE, portx); - - if (scrollers && (pxmax > portx - 1)) { - int length = (portx - top_x - 1); - float ratio = ((float) length) / ((float) pxmax); - - lowend = (int) (top_x + (basex * ratio)); - highend = (int) (top_x + ((basex + length) * ratio)); - - do_h_line(porty - 1, top_x, ACS_HLINE, lowend); - if (highend < portx) { - attron(A_REVERSE); - do_h_line(porty - 1, lowend, ' ', highend + 1); - attroff(A_REVERSE); - do_h_line(porty - 1, highend + 1, ACS_HLINE, portx); - } - } else - do_h_line(porty - 1, top_x, ACS_HLINE, portx); - - if (scrollers && (pymax > porty - 1)) { - int length = (porty - top_y - 1); - float ratio = ((float) length) / ((float) pymax); - - lowend = (int) (top_y + (basey * ratio)); - highend = (int) (top_y + ((basey + length) * ratio)); - - do_v_line(top_y, portx - 1, ACS_VLINE, lowend); - if (highend < porty) { - attron(A_REVERSE); - do_v_line(lowend, portx - 1, ' ', highend + 1); - attroff(A_REVERSE); - do_v_line(highend + 1, portx - 1, ACS_VLINE, porty); - } - } else - do_v_line(top_y, portx - 1, ACS_VLINE, porty); - - mvaddch(top_y - 1, portx - 1, ACS_URCORNER); - mvaddch(porty - 1, top_x - 1, ACS_LLCORNER); - mvaddch(porty - 1, portx - 1, ACS_LRCORNER); - - if (!pending_pan) { -#if HAVE_GETTIMEOFDAY - gettimeofday(&before, 0); -#endif - wnoutrefresh(stdscr); - - pnoutrefresh(pad, - basey, basex, - top_y, top_x, - porty - (pxmax > portx) - 1, - portx - (pymax > porty) - 1); - - doupdate(); -#if HAVE_GETTIMEOFDAY - if (timing) { - double elapsed; - gettimeofday(&after, 0); - elapsed = (after.tv_sec + after.tv_usec / 1.0e6) - - (before.tv_sec + before.tv_usec / 1.0e6); - move(LINES - 1, COLS - 12); - printw("Secs: %2.03f", elapsed); - refresh(); - } -#endif - } - - } while - ((c = pgetc(pad)) != KEY_EXIT); - - scrollok(stdscr, TRUE); /* reset to driver's default */ -} - -static int -padgetch(WINDOW *win) -{ - static int count; - static int last; - int c; - - if ((pending_pan = (count > 0)) != FALSE) { - count--; - pending_pan = (count != 0); - } else { - for (;;) { - switch (c = wGetchar(win)) { - case '!': - ShellOut(FALSE); - /* FALLTHRU */ - case CTRL('r'): - endwin(); - refresh(); - c = KEY_REFRESH; - break; - case CTRL('l'): - c = KEY_REFRESH; - break; - case 'U': - c = KEY_UP; - break; - case 'D': - c = KEY_DOWN; - break; - case 'R': - c = KEY_RIGHT; - break; - case 'L': - c = KEY_LEFT; - break; - case '+': - c = KEY_IL; - break; - case '-': - c = KEY_DL; - break; - case '>': - c = KEY_IC; - break; - case '<': - c = KEY_DC; - break; - case ERR: /* FALLTHRU */ - case 'q': - count = 0; - c = KEY_EXIT; - break; - default: - if (c >= '0' && c <= '9') { - count = count * 10 + (c - '0'); - continue; - } - break; - } - last = c; - break; - } - if (count > 0) - count--; - } - return (last); -} - -#define PAD_HIGH 200 -#define PAD_WIDE 200 - -static void -demo_pad(void) -/* Demonstrate pads. */ -{ - WINDOW *panpad = newpad(PAD_HIGH, PAD_WIDE); - - if (panpad == 0) { - Cannot("cannot create requested pad"); - return; - } - - fill_pad(panpad, FALSE); - - panner_legend(LINES - 4); - panner_legend(LINES - 3); - panner_legend(LINES - 2); - panner_legend(LINES - 1); - - keypad(panpad, TRUE); - - /* Make the pad (initially) narrow enough that a trace file won't wrap. - * We'll still be able to widen it during a test, since that's required - * for testing boundaries. - */ - panner(panpad, 2, 2, LINES - 5, COLS - 15, padgetch); - - delwin(panpad); - endwin(); - erase(); -} -#endif /* USE_LIBPANEL */ - -/**************************************************************************** - * - * Tests from John Burnell's PDCurses tester - * - ****************************************************************************/ - -static void -Continue(WINDOW *win) -{ - noecho(); - wmove(win, 10, 1); - mvwaddstr(win, 10, 1, " Press any key to continue"); - wrefresh(win); - wGetchar(win); -} - -static void -flushinp_test(WINDOW *win) -/* Input test, adapted from John Burnell's PDCurses tester */ -{ - int w, h, bx, by, sw, sh, i; - - WINDOW *subWin; - wclear(win); - - getmaxyx(win, h, w); - getbegyx(win, by, bx); - sw = w / 3; - sh = h / 3; - if ((subWin = subwin(win, sh, sw, by + h - sh - 2, bx + w - sw - 2)) == 0) - return; - -#ifdef A_COLOR - if (has_colors()) { - init_pair(2, COLOR_CYAN, COLOR_BLUE); - wbkgd(subWin, COLOR_PAIR(2) | ' '); - } -#endif - wattrset(subWin, A_BOLD); - box(subWin, ACS_VLINE, ACS_HLINE); - mvwaddstr(subWin, 2, 1, "This is a subwindow"); - wrefresh(win); - - /* - * This used to set 'nocbreak()'. However, Alexander Lukyanov says that - * it only happened to "work" on SVr4 because that implementation does not - * emulate nocbreak+noecho mode, whereas ncurses does. To get the desired - * test behavior, we're using 'cbreak()', which will allow a single - * character to return without needing a newline. - T.Dickey 1997/10/11. - */ - cbreak(); - mvwaddstr(win, 0, 1, "This is a test of the flushinp() call."); - - mvwaddstr(win, 2, 1, "Type random keys for 5 seconds."); - mvwaddstr(win, 3, 1, - "These should be discarded (not echoed) after the subwindow goes away."); - wrefresh(win); - - for (i = 0; i < 5; i++) { - mvwprintw(subWin, 1, 1, "Time = %d", i); - wrefresh(subWin); - napms(1000); - flushinp(); - } - - delwin(subWin); - werase(win); - flash(); - wrefresh(win); - napms(1000); - - mvwaddstr(win, 2, 1, - "If you were still typing when the window timer expired,"); - mvwaddstr(win, 3, 1, - "or else you typed nothing at all while it was running,"); - mvwaddstr(win, 4, 1, - "test was invalid. You'll see garbage or nothing at all. "); - mvwaddstr(win, 6, 1, "Press a key"); - wmove(win, 9, 10); - wrefresh(win); - echo(); - wGetchar(win); - flushinp(); - mvwaddstr(win, 12, 0, - "If you see any key other than what you typed, flushinp() is broken."); - Continue(win); - - wmove(win, 9, 10); - wdelch(win); - wrefresh(win); - wmove(win, 12, 0); - clrtoeol(); - waddstr(win, - "What you typed should now have been deleted; if not, wdelch() failed."); - Continue(win); - - cbreak(); -} - -/**************************************************************************** - * - * Menu test - * - ****************************************************************************/ - -#if USE_LIBMENU - -#define MENU_Y 8 -#define MENU_X 8 - -static int -menu_virtualize(int c) -{ - if (c == '\n' || c == KEY_EXIT) - return (MAX_COMMAND + 1); - else if (c == 'u') - return (REQ_SCR_ULINE); - else if (c == 'd') - return (REQ_SCR_DLINE); - else if (c == 'b' || c == KEY_NPAGE) - return (REQ_SCR_UPAGE); - else if (c == 'f' || c == KEY_PPAGE) - return (REQ_SCR_DPAGE); - else if (c == 'n' || c == KEY_DOWN) - return (REQ_NEXT_ITEM); - else if (c == 'p' || c == KEY_UP) - return (REQ_PREV_ITEM); - else if (c == ' ') - return (REQ_TOGGLE_ITEM); - else { - if (c != KEY_MOUSE) - beep(); - return (c); - } -} - -static const char *animals[] = -{ - "Lions", - "Tigers", - "Bears", - "(Oh my!)", - "Newts", - "Platypi", - "Lemurs", - "(Oh really?!)", - "Leopards", - "Panthers", - "Pumas", - "Lions, Tigers, Bears, (Oh my!), Newts, Platypi, Lemurs", - "Lions, Tigers, Bears, (Oh my!), Newts, Platypi, Lemurs, Lions, Tigers, Bears, (Oh my!), Newts, Platypi, Lemurs", - (char *) 0 -}; - -static void -menu_test(void) -{ - MENU *m; - ITEM *items[SIZEOF(animals)]; - ITEM **ip = items; - const char **ap; - int mrows, mcols, c; - WINDOW *menuwin; - -#ifdef NCURSES_MOUSE_VERSION - mousemask(ALL_MOUSE_EVENTS, (mmask_t *) 0); -#endif - mvaddstr(0, 0, "This is the menu test:"); - mvaddstr(2, 0, " Use up and down arrow to move the select bar."); - mvaddstr(3, 0, " 'n' and 'p' act like arrows."); - mvaddstr(4, 0, - " 'b' and 'f' scroll up/down (page), 'u' and 'd' (line)."); - mvaddstr(5, 0, " Press return to exit."); - refresh(); - - for (ap = animals; *ap; ap++) - *ip++ = new_item(*ap, ""); - *ip = (ITEM *) 0; - - m = new_menu(items); - - set_menu_format(m, (SIZEOF(animals) + 1) / 2, 1); - scale_menu(m, &mrows, &mcols); - - menuwin = newwin(mrows + 2, mcols + 2, MENU_Y, MENU_X); - set_menu_win(m, menuwin); - keypad(menuwin, TRUE); - box(menuwin, 0, 0); - - set_menu_sub(m, derwin(menuwin, mrows, mcols, 1, 1)); - - post_menu(m); - - while ((c = menu_driver(m, menu_virtualize(wGetchar(menuwin)))) != E_UNKNOWN_COMMAND) { - if (c == E_NOT_POSTED) - break; - if (c == E_REQUEST_DENIED) - beep(); - continue; - } - - (void) mvprintw(LINES - 2, 0, - "You chose: %s\n", item_name(current_item(m))); - (void) addstr("Press any key to continue..."); - wGetchar(stdscr); - - unpost_menu(m); - delwin(menuwin); - - free_menu(m); - for (ip = items; *ip; ip++) - free_item(*ip); -#ifdef NCURSES_MOUSE_VERSION - mousemask(0, (mmask_t *) 0); -#endif -} - -#ifdef TRACE -#define T_TBL(name) { #name, name } -static struct { - const char *name; - unsigned mask; -} t_tbl[] = { - - T_TBL(TRACE_DISABLE), - T_TBL(TRACE_TIMES), - T_TBL(TRACE_TPUTS), - T_TBL(TRACE_UPDATE), - T_TBL(TRACE_MOVE), - T_TBL(TRACE_CHARPUT), - T_TBL(TRACE_ORDINARY), - T_TBL(TRACE_CALLS), - T_TBL(TRACE_VIRTPUT), - T_TBL(TRACE_IEVENT), - T_TBL(TRACE_BITS), - T_TBL(TRACE_ICALLS), - T_TBL(TRACE_CCALLS), - T_TBL(TRACE_DATABASE), - T_TBL(TRACE_ATTRS), - T_TBL(TRACE_MAXIMUM), - { - (char *) 0, 0 - } -}; - -static char * -tracetrace(unsigned tlevel) -{ - static char *buf; - int n; - - if (buf == 0) { - size_t need = 12; - for (n = 0; t_tbl[n].name != 0; n++) - need += strlen(t_tbl[n].name) + 2; - buf = (char *) malloc(need); - } - sprintf(buf, "0x%02x = {", tlevel); - if (tlevel == 0) { - sprintf(buf + strlen(buf), "%s, ", t_tbl[0].name); - } else { - for (n = 1; t_tbl[n].name != 0; n++) - if ((tlevel & t_tbl[n].mask) == t_tbl[n].mask) { - strcat(buf, t_tbl[n].name); - strcat(buf, ", "); - } - } - if (buf[strlen(buf) - 2] == ',') - buf[strlen(buf) - 2] = '\0'; - return (strcat(buf, "}")); -} - -/* fake a dynamically reconfigurable menu using the 0th entry to deselect - * the others - */ -static int -run_trace_menu(MENU * m) -{ - ITEM **items; - ITEM *i, **p; - - for (;;) { - bool changed = FALSE; - switch (menu_driver(m, menu_virtualize(wGetchar(menu_win(m))))) { - case E_UNKNOWN_COMMAND: - return FALSE; - default: - items = menu_items(m); - i = current_item(m); - if (i == items[0]) { - if (item_value(i)) { - for (p = items + 1; *p != 0; p++) - if (item_value(*p)) { - set_item_value(*p, FALSE); - changed = TRUE; - } - } - } else { - for (p = items + 1; *p != 0; p++) - if (item_value(*p)) { - set_item_value(items[0], FALSE); - changed = TRUE; - break; - } - } - if (!changed) - return TRUE; - } - } -} - -static void -trace_set(void) -/* interactively set the trace level */ -{ - MENU *m; - ITEM *items[SIZEOF(t_tbl)]; - ITEM **ip = items; - int mrows, mcols; - unsigned newtrace; - int n; - WINDOW *menuwin; - - mvaddstr(0, 0, "Interactively set trace level:"); - mvaddstr(2, 0, " Press space bar to toggle a selection."); - mvaddstr(3, 0, " Use up and down arrow to move the select bar."); - mvaddstr(4, 0, " Press return to set the trace level."); - mvprintw(6, 0, "(Current trace level is %s)", tracetrace(_nc_tracing)); - - refresh(); - - for (n = 0; t_tbl[n].name != 0; n++) - *ip++ = new_item(t_tbl[n].name, ""); - *ip = (ITEM *) 0; - - m = new_menu(items); - - set_menu_format(m, 0, 2); - scale_menu(m, &mrows, &mcols); - - menu_opts_off(m, O_ONEVALUE); - menuwin = newwin(mrows + 2, mcols + 2, MENU_Y, MENU_X); - set_menu_win(m, menuwin); - keypad(menuwin, TRUE); - box(menuwin, 0, 0); - - set_menu_sub(m, derwin(menuwin, mrows, mcols, 1, 1)); - - post_menu(m); - - for (ip = menu_items(m); *ip; ip++) { - unsigned mask = t_tbl[item_index(*ip)].mask; - if (mask == 0) - set_item_value(*ip, _nc_tracing == 0); - else if ((mask & _nc_tracing) == mask) - set_item_value(*ip, TRUE); - } - - while (run_trace_menu(m)) - continue; - - newtrace = 0; - for (ip = menu_items(m); *ip; ip++) - if (item_value(*ip)) - newtrace |= t_tbl[item_index(*ip)].mask; - trace(newtrace); - _tracef("trace level interactively set to %s", tracetrace(_nc_tracing)); - - (void) mvprintw(LINES - 2, 0, - "Trace level is %s\n", tracetrace(_nc_tracing)); - (void) addstr("Press any key to continue..."); - wGetchar(stdscr); - - unpost_menu(m); - delwin(menuwin); - - free_menu(m); - for (ip = items; *ip; ip++) - free_item(*ip); -} -#endif /* TRACE */ -#endif /* USE_LIBMENU */ - -/**************************************************************************** - * - * Forms test - * - ****************************************************************************/ -#if USE_LIBFORM -static FIELD * -make_label(int frow, int fcol, NCURSES_CONST char *label) -{ - FIELD *f = new_field(1, (int) strlen(label), frow, fcol, 0, 0); - - if (f) { - set_field_buffer(f, 0, label); - set_field_opts(f, (int) (field_opts(f) & ~O_ACTIVE)); - } - return (f); -} - -static FIELD * -make_field(int frow, int fcol, int rows, int cols, bool secure) -{ - FIELD *f = new_field(rows, cols, frow, fcol, 0, secure ? 1 : 0); - - if (f) { - set_field_back(f, A_UNDERLINE); - set_field_userptr(f, (void *) 0); - } - return (f); -} - -static void -display_form(FORM * f) -{ - WINDOW *w; - int rows, cols; - - scale_form(f, &rows, &cols); - - if ((w = newwin(rows + 2, cols + 4, 0, 0)) != (WINDOW *) 0) { - set_form_win(f, w); - set_form_sub(f, derwin(w, rows, cols, 1, 2)); - box(w, 0, 0); - keypad(w, TRUE); - } - - if (post_form(f) != E_OK) - wrefresh(w); -} - -static void -erase_form(FORM * f) -{ - WINDOW *w = form_win(f); - WINDOW *s = form_sub(f); - - unpost_form(f); - werase(w); - wrefresh(w); - delwin(s); - delwin(w); -} - -static int -edit_secure(FIELD * me, int c) -{ - int rows, cols, frow, fcol, nrow, nbuf; - - if (field_info(me, &rows, &cols, &frow, &fcol, &nrow, &nbuf) == E_OK - && nbuf > 0) { - char temp[80]; - long len; - - strcpy(temp, field_buffer(me, 1)); - len = (long) (char *) field_userptr(me); - if (c <= KEY_MAX) { - if (isgraph(c) && (len + 1) < (int) sizeof(temp)) { - temp[len++] = c; - temp[len] = 0; - set_field_buffer(me, 1, temp); - c = '*'; - } else { - c = 0; - } - } else { - switch (c) { - case REQ_BEG_FIELD: - case REQ_CLR_EOF: - case REQ_CLR_EOL: - case REQ_DEL_LINE: - case REQ_DEL_WORD: - case REQ_DOWN_CHAR: - case REQ_END_FIELD: - case REQ_INS_CHAR: - case REQ_INS_LINE: - case REQ_LEFT_CHAR: - case REQ_NEW_LINE: - case REQ_NEXT_WORD: - case REQ_PREV_WORD: - case REQ_RIGHT_CHAR: - case REQ_UP_CHAR: - c = 0; /* we don't want to do inline editing */ - break; - case REQ_CLR_FIELD: - if (len) { - temp[0] = 0; - set_field_buffer(me, 1, temp); - } - break; - case REQ_DEL_CHAR: - case REQ_DEL_PREV: - if (len) { - temp[--len] = 0; - set_field_buffer(me, 1, temp); - } - break; - } - } - set_field_userptr(me, (void *) len); - } - return c; -} - -static int -form_virtualize(FORM * f, WINDOW *w) -{ - static const struct { - int code; - int result; - } lookup[] = { - { - CTRL('A'), REQ_NEXT_CHOICE - }, - { - CTRL('B'), REQ_PREV_WORD - }, - { - CTRL('C'), REQ_CLR_EOL - }, - { - CTRL('D'), REQ_DOWN_FIELD - }, - { - CTRL('E'), REQ_END_FIELD - }, - { - CTRL('F'), REQ_NEXT_PAGE - }, - { - CTRL('G'), REQ_DEL_WORD - }, - { - CTRL('H'), REQ_DEL_PREV - }, - { - CTRL('I'), REQ_INS_CHAR - }, - { - CTRL('K'), REQ_CLR_EOF - }, - { - CTRL('L'), REQ_LEFT_FIELD - }, - { - CTRL('M'), REQ_NEW_LINE - }, - { - CTRL('N'), REQ_NEXT_FIELD - }, - { - CTRL('O'), REQ_INS_LINE - }, - { - CTRL('P'), REQ_PREV_FIELD - }, - { - CTRL('R'), REQ_RIGHT_FIELD - }, - { - CTRL('S'), REQ_BEG_FIELD - }, - { - CTRL('U'), REQ_UP_FIELD - }, - { - CTRL('V'), REQ_DEL_CHAR - }, - { - CTRL('W'), REQ_NEXT_WORD - }, - { - CTRL('X'), REQ_CLR_FIELD - }, - { - CTRL('Y'), REQ_DEL_LINE - }, - { - CTRL('Z'), REQ_PREV_CHOICE - }, - { - ESCAPE, MAX_FORM_COMMAND + 1 - }, - { - KEY_BACKSPACE, REQ_DEL_PREV - }, - { - KEY_DOWN, REQ_DOWN_CHAR - }, - { - KEY_END, REQ_LAST_FIELD - }, - { - KEY_HOME, REQ_FIRST_FIELD - }, - { - KEY_LEFT, REQ_LEFT_CHAR - }, - { - KEY_LL, REQ_LAST_FIELD - }, - { - KEY_NEXT, REQ_NEXT_FIELD - }, - { - KEY_NPAGE, REQ_NEXT_PAGE - }, - { - KEY_PPAGE, REQ_PREV_PAGE - }, - { - KEY_PREVIOUS, REQ_PREV_FIELD - }, - { - KEY_RIGHT, REQ_RIGHT_CHAR - }, - { - KEY_UP, REQ_UP_CHAR - }, - { - QUIT, MAX_FORM_COMMAND + 1 - } - }; - - static int mode = REQ_INS_MODE; - int c = wGetchar(w); - unsigned n; - FIELD *me = current_field(f); - bool current = TRUE; - - if (c == CTRL(']')) { - if (mode == REQ_INS_MODE) { - mode = REQ_OVL_MODE; - } else { - mode = REQ_INS_MODE; - } - c = mode; - } else { - for (n = 0; n < SIZEOF(lookup); n++) { - if (lookup[n].code == c) { - c = lookup[n].result; - break; - } - } - } - mvprintw(0, COLS - 6, "(%s)", mode == REQ_INS_MODE ? "INS" : "OVL"); - - /* - * Force the field that the user is typing into to be in reverse video, - * while the other fields are shown underlined. - */ - switch (c) { - case REQ_BEG_FIELD: - case REQ_CLR_EOF: - case REQ_CLR_EOL: - case REQ_CLR_FIELD: - case REQ_DEL_CHAR: - case REQ_DEL_LINE: - case REQ_DEL_PREV: - case REQ_DEL_WORD: - case REQ_END_FIELD: - case REQ_INS_CHAR: - case REQ_INS_LINE: - case REQ_LEFT_CHAR: - case REQ_LEFT_FIELD: - case REQ_NEXT_WORD: - case REQ_RIGHT_CHAR: - current = TRUE; - break; - default: - current = (c < KEY_MAX); - break; - } - if (current) { - c = edit_secure(me, c); - set_field_back(me, A_REVERSE); - } else { - c = edit_secure(me, c); - set_field_back(me, A_UNDERLINE); - } - return c; -} - -static int -my_form_driver(FORM * form, int c) -{ - if (c == (MAX_FORM_COMMAND + 1) - && form_driver(form, REQ_VALIDATION) == E_OK) - return (TRUE); - else { - beep(); - return (FALSE); - } -} - -/* - * Allow a middle initial, optionally with a '.' to end it. - */ -static bool -mi_field_check(FIELD * fld, const void *data GCC_UNUSED) -{ - char *s = field_buffer(fld, 0); - int state = 0; - int n; - - for (n = 0; s[n] != '\0'; ++n) { - switch (state) { - case 0: - if (s[n] == '.') { - if (n != 1) - return FALSE; - state = 2; - } else if (isspace(UChar(s[n]))) { - state = 2; - } - break; - case 2: - if (!isspace(UChar(s[n]))) - return FALSE; - break; - } - } - - /* force the form to display a leading capital */ - if (islower(UChar(s[0]))) { - s[0] = toupper(UChar(s[0])); - set_field_buffer(fld, 0, s); - } - return TRUE; -} - -static bool -mi_char_check(int ch, const void *data GCC_UNUSED) -{ - return ((isalpha(ch) || ch == '.') ? TRUE : FALSE); -} - -/* - * Passwords should be at least 6 characters. - */ -static bool -pw_field_check(FIELD * fld, const void *data GCC_UNUSED) -{ - char *s = field_buffer(fld, 0); - int n; - - for (n = 0; s[n] != '\0'; ++n) { - if (isspace(UChar(s[n]))) { - if (n < 6) - return FALSE; - } - } - return TRUE; -} - -static bool -pw_char_check(int ch, const void *data GCC_UNUSED) -{ - return (isgraph(ch) ? TRUE : FALSE); -} - -static void -demo_forms(void) -{ - WINDOW *w; - FORM *form; - FIELD *f[12], *secure; - FIELDTYPE *fty_middle = new_fieldtype(mi_field_check, mi_char_check); - FIELDTYPE *fty_passwd = new_fieldtype(pw_field_check, pw_char_check); - int finished = 0, c; - unsigned n = 0; - - move(18, 0); - addstr("Defined edit/traversal keys: ^Q/ESC- exit form\n"); - addstr("^N -- go to next field ^P -- go to previous field\n"); - addstr("Home -- go to first field End -- go to last field\n"); - addstr("^L -- go to field to left ^R -- go to field to right\n"); - addstr("^U -- move upward to field ^D -- move downward to field\n"); - addstr("^W -- go to next word ^B -- go to previous word\n"); - addstr("^S -- go to start of field ^E -- go to end of field\n"); - addstr("^H -- delete previous char ^Y -- delete line\n"); - addstr("^G -- delete current word ^C -- clear to end of line\n"); - addstr("^K -- clear to end of field ^X -- clear field\n"); - addstr("Arrow keys move within a field as you would expect. ^] toggles overlay mode."); - - mvaddstr(4, 57, "Forms Entry Test"); - - refresh(); - - /* describe the form */ - f[n++] = make_label(0, 15, "Sample Form"); - - f[n++] = make_label(2, 0, "Last Name"); - f[n++] = make_field(3, 0, 1, 18, FALSE); - set_field_type(f[n - 1], TYPE_ALPHA, 1); - - f[n++] = make_label(2, 20, "First Name"); - f[n++] = make_field(3, 20, 1, 12, FALSE); - set_field_type(f[n - 1], TYPE_ALPHA, 1); - - f[n++] = make_label(2, 34, "Middle Name"); - f[n++] = make_field(3, 34, 1, 12, FALSE); - set_field_type(f[n - 1], fty_middle); - - f[n++] = make_label(5, 0, "Comments"); - f[n++] = make_field(6, 0, 4, 46, FALSE); - - f[n++] = make_label(5, 20, "Password:"); - secure = - f[n++] = make_field(5, 30, 1, 9, TRUE); - set_field_type(f[n - 1], fty_passwd); - f[n++] = (FIELD *) 0; - - form = new_form(f); - - display_form(form); - - w = form_win(form); - raw(); - nonl(); /* lets us read ^M's */ - while (!finished) { - switch (form_driver(form, c = form_virtualize(form, w))) { - case E_OK: - mvaddstr(5, 57, field_buffer(secure, 1)); - clrtoeol(); - refresh(); - break; - case E_UNKNOWN_COMMAND: - finished = my_form_driver(form, c); - break; - default: - beep(); - break; - } - } - - erase_form(form); - - free_form(form); - for (c = 0; f[c] != 0; c++) - free_field(f[c]); - free_fieldtype(fty_middle); - free_fieldtype(fty_passwd); - noraw(); - nl(); -} -#endif /* USE_LIBFORM */ - -/**************************************************************************** - * - * Overlap test - * - ****************************************************************************/ - -static void -fillwin(WINDOW *win, char ch) -{ - int y, x; - int y1, x1; - - getmaxyx(win, y1, x1); - for (y = 0; y < y1; y++) { - wmove(win, y, 0); - for (x = 0; x < x1; x++) - waddch(win, UChar(ch)); - } -} - -static void -crosswin(WINDOW *win, char ch) -{ - int y, x; - int y1, x1; - - getmaxyx(win, y1, x1); - for (y = 0; y < y1; y++) { - for (x = 0; x < x1; x++) - if (((x > (x1 - 1) / 3) && (x <= (2 * (x1 - 1)) / 3)) - || (((y > (y1 - 1) / 3) && (y <= (2 * (y1 - 1)) / 3)))) { - wmove(win, y, x); - waddch(win, UChar(ch)); - } - } -} - -static void -overlap_test(void) -/* test effects of overlapping windows */ -{ - int ch; - - WINDOW *win1 = newwin(9, 20, 3, 3); - WINDOW *win2 = newwin(9, 20, 9, 16); - - raw(); - refresh(); - move(0, 0); - printw("This test shows the behavior of wnoutrefresh() with respect to\n"); - printw("the shared region of two overlapping windows A and B. The cross\n"); - printw("pattern in each window does not overlap the other.\n"); - - move(18, 0); - printw("a = refresh A, then B, then doupdate. b = refresh B, then A, then doupdaute\n"); - printw("c = fill window A with letter A. d = fill window B with letter B.\n"); - printw("e = cross pattern in window A. f = cross pattern in window B.\n"); - printw("g = clear window A. h = clear window B.\n"); - printw("i = overwrite A onto B. j = overwrite B onto A.\n"); - printw("^Q/ESC = terminate test."); - - while ((ch = Getchar()) != QUIT && ch != ESCAPE) - switch (ch) { - case 'a': /* refresh window A first, then B */ - wnoutrefresh(win1); - wnoutrefresh(win2); - doupdate(); - break; - - case 'b': /* refresh window B first, then A */ - wnoutrefresh(win2); - wnoutrefresh(win1); - doupdate(); - break; - - case 'c': /* fill window A so it's visible */ - fillwin(win1, 'A'); - break; - - case 'd': /* fill window B so it's visible */ - fillwin(win2, 'B'); - break; - - case 'e': /* cross test pattern in window A */ - crosswin(win1, 'A'); - break; - - case 'f': /* cross test pattern in window A */ - crosswin(win2, 'B'); - break; - - case 'g': /* clear window A */ - wclear(win1); - wmove(win1, 0, 0); - break; - - case 'h': /* clear window B */ - wclear(win2); - wmove(win2, 0, 0); - break; - - case 'i': /* overwrite A onto B */ - overwrite(win1, win2); - break; - - case 'j': /* overwrite B onto A */ - overwrite(win2, win1); - break; - } - - delwin(win2); - delwin(win1); - erase(); - endwin(); -} - -/**************************************************************************** - * - * Main sequence - * - ****************************************************************************/ - -static bool -do_single_test(const char c) -/* perform a single specified test */ -{ - switch (c) { - case 'a': - getch_test(); - break; - -#if USE_WIDEC_SUPPORT - case 'A': - get_wch_test(); - break; -#endif - - case 'b': - attr_test(); - break; - -#if USE_WIDEC_SUPPORT - case 'B': - wide_attr_test(); - break; -#endif - - case 'c': - if (!has_colors()) - Cannot("does not support color."); - else - color_test(); - break; - -#if USE_WIDEC_SUPPORT - case 'C': - if (!has_colors()) - Cannot("does not support color."); - else - wide_color_test(); - break; -#endif - - case 'd': - if (!has_colors()) - Cannot("does not support color."); - else if (!can_change_color()) - Cannot("has hardwired color values."); - else - color_edit(); - break; - - case 'e': - slk_test(); - break; - -#if USE_WIDEC_SUPPORT - case 'E': - wide_slk_test(); - break; -#endif - case 'f': - acs_display(); - break; - -#if USE_WIDEC_SUPPORT - case 'F': - wide_acs_display(); - break; -#endif - -#if USE_LIBPANEL - case 'o': - demo_panels(); - break; -#endif - - case 'g': - acs_and_scroll(); - break; - - case 'i': - flushinp_test(stdscr); - break; - - case 'k': - test_sgr_attributes(); - break; - -#if USE_LIBMENU - case 'm': - menu_test(); - break; -#endif - -#if USE_LIBPANEL - case 'p': - demo_pad(); - break; -#endif - -#if USE_LIBFORM - case 'r': - demo_forms(); - break; -#endif - - case 's': - overlap_test(); - break; - -#if USE_LIBMENU && defined(TRACE) - case 't': - trace_set(); - break; -#endif - - case '?': - break; - - default: - return FALSE; - } - - return TRUE; -} - -static void -usage(void) -{ - static const char *const tbl[] = - { - "Usage: ncurses [options]" - ,"" - ,"Options:" -#ifdef NCURSES_VERSION - ," -a f,b set default-colors (assumed white-on-black)" - ," -d use default-colors if terminal supports them" -#endif - ," -e fmt specify format for soft-keys test (e)" - ," -f rip-off footer line (can repeat)" - ," -h rip-off header line (can repeat)" - ," -p file rgb values to use in 'd' rather than ncurses's builtin" -#if USE_LIBPANEL - ," -s msec specify nominal time for panel-demo (default: 1, to hold)" -#endif -#ifdef TRACE - ," -t mask specify default trace-level (may toggle with ^T)" -#endif - }; - size_t n; - for (n = 0; n < SIZEOF(tbl); n++) - fprintf(stderr, "%s\n", tbl[n]); - ExitProgram(EXIT_FAILURE); -} - -static void -set_terminal_modes(void) -{ - noraw(); - cbreak(); - noecho(); - scrollok(stdscr, TRUE); - idlok(stdscr, TRUE); - keypad(stdscr, TRUE); -} - -#ifdef SIGUSR1 -static RETSIGTYPE -announce_sig(int sig) -{ - (void) fprintf(stderr, "Handled signal %d\r\n", sig); -} -#endif - -static int -rip_footer(WINDOW *win, int cols) -{ - wbkgd(win, A_REVERSE); - werase(win); - wmove(win, 0, 0); - wprintw(win, "footer: %d columns", cols); - wnoutrefresh(win); - return OK; -} - -static int -rip_header(WINDOW *win, int cols) -{ - wbkgd(win, A_REVERSE); - werase(win); - wmove(win, 0, 0); - wprintw(win, "header: %d columns", cols); - wnoutrefresh(win); - return OK; -} - -static void -main_menu(bool top) -{ - int command; - - do { - (void) puts("This is the ncurses main menu"); - (void) puts("a = keyboard and mouse input test"); -#if USE_WIDEC_SUPPORT - (void) puts("A = wide-character keyboard and mouse input test"); -#endif - (void) puts("b = character attribute test"); -#if USE_WIDEC_SUPPORT - (void) puts("B = wide-character attribute test"); -#endif - (void) puts("c = color test pattern"); -#if USE_WIDEC_SUPPORT - (void) puts("C = color test pattern using wide-character calls"); -#endif - if (top) - (void) puts("d = edit RGB color values"); - (void) puts("e = exercise soft keys"); -#if USE_WIDEC_SUPPORT - (void) puts("E = exercise soft keys using wide-characters"); -#endif - (void) puts("f = display ACS characters"); -#if USE_WIDEC_SUPPORT - (void) puts("F = display Wide-ACS characters"); -#endif - (void) puts("g = display windows and scrolling"); - (void) puts("i = test of flushinp()"); - (void) puts("k = display character attributes"); -#if USE_LIBMENU - (void) puts("m = menu code test"); -#endif -#if USE_LIBPANEL - (void) puts("o = exercise panels library"); - (void) puts("p = exercise pad features"); - (void) puts("q = quit"); -#endif -#if USE_LIBFORM - (void) puts("r = exercise forms code"); -#endif - (void) puts("s = overlapping-refresh test"); -#if USE_LIBMENU && defined(TRACE) - (void) puts("t = set trace level"); -#endif - (void) puts("? = repeat this command summary"); - - (void) fputs("> ", stdout); - (void) fflush(stdout); /* necessary under SVr4 curses */ - - /* - * This used to be an 'fgets()' call. However (on Linux, at least) - * mixing stream I/O and 'read()' (used in the library) causes the - * input stream to be flushed when switching between the two. - */ - command = 0; - for (;;) { - char ch; - if (read(fileno(stdin), &ch, 1) <= 0) { - if (command == 0) - command = 'q'; - break; - } else if (command == 0 && !isspace(UChar(ch))) { - command = ch; - } else if (ch == '\n' || ch == '\r') { - if ((command == 'd') && !top) { - (void) fputs("Do not nest test-d\n", stdout); - command = 0; - } - if (command != 0) - break; - (void) fputs("> ", stdout); - (void) fflush(stdout); - } - } - - if (do_single_test(command)) { - /* - * This may be overkill; it's intended to reset everything back - * to the initial terminal modes so that tests don't get in - * each other's way. - */ - flushinp(); - set_terminal_modes(); - reset_prog_mode(); - clear(); - refresh(); - endwin(); - if (command == '?') { - (void) puts("This is the ncurses capability tester."); - (void) - puts("You may select a test from the main menu by typing the"); - (void) - puts("key letter of the choice (the letter to left of the =)"); - (void) - puts("at the > prompt. The commands `x' or `q' will exit."); - } - continue; - } - } while - (command != 'q'); -} - -/*+------------------------------------------------------------------------- - main(argc,argv) ---------------------------------------------------------------------------*/ - -#define okCOLOR(n) ((n) >= 0 && (n) < max_colors) -#define okRGB(n) ((n) >= 0 && (n) <= 1000) - -int -main(int argc, char *argv[]) -{ - int c; - int my_e_param = 1; -#ifdef NCURSES_VERSION - int default_fg = COLOR_WHITE; - int default_bg = COLOR_BLACK; - bool assumed_colors = FALSE; - bool default_colors = FALSE; -#endif - char *palette_file = 0; - - setlocale(LC_ALL, ""); - - while ((c = getopt(argc, argv, "a:de:fhp:s:t:")) != EOF) { - switch (c) { -#ifdef NCURSES_VERSION - case 'a': - assumed_colors = TRUE; - sscanf(optarg, "%d,%d", &default_fg, &default_bg); - break; - case 'd': - default_colors = TRUE; - break; -#endif - case 'e': - my_e_param = atoi(optarg); -#ifdef NCURSES_VERSION - if (my_e_param > 3) /* allow extended layouts */ - usage(); -#else - if (my_e_param > 1) - usage(); -#endif - break; - case 'f': - ripoffline(-1, rip_footer); - break; - case 'h': - ripoffline(1, rip_header); - break; - case 'p': - palette_file = optarg; - break; -#if USE_LIBPANEL - case 's': - nap_msec = atol(optarg); - break; -#endif -#ifdef TRACE - case 't': - save_trace = strtol(optarg, 0, 0); - break; -#endif - default: - usage(); - } - } - - /* - * If there's no menus (unlikely for ncurses!), then we'll have to set - * tracing on initially, just in case the user wants to test something that - * doesn't involve wGetchar. - */ -#ifdef TRACE - /* enable debugging */ -#if !USE_LIBMENU - trace(save_trace); -#else - if (!isatty(fileno(stdin))) - trace(save_trace); -#endif /* USE_LIBMENU */ -#endif /* TRACE */ - - /* tell it we're going to play with soft keys */ - slk_init(my_e_param); - -#ifdef SIGUSR1 - /* set up null signal catcher so we can see what interrupts to getch do */ - signal(SIGUSR1, announce_sig); -#endif - - /* we must initialize the curses data structure only once */ - initscr(); - bkgdset(BLANK); - - /* tests, in general, will want these modes */ - if (has_colors()) { - start_color(); -#ifdef NCURSES_VERSION_PATCH - max_colors = COLORS; /* was > 16 ? 16 : COLORS */ -#if HAVE_USE_DEFAULT_COLORS - if (default_colors) { - use_default_colors(); - min_colors = -1; - } -#if NCURSES_VERSION_PATCH >= 20000708 - else if (assumed_colors) - assume_default_colors(default_fg, default_bg); -#endif -#endif -#else /* normal SVr4 curses */ - max_colors = COLORS; /* was > 8 ? 8 : COLORS */ -#endif - max_pairs = COLOR_PAIRS; /* was > 256 ? 256 : COLOR_PAIRS */ - - if (can_change_color()) { - all_colors = (RGB_DATA *) malloc(max_colors * sizeof(RGB_DATA)); - for (c = 0; c < max_colors; ++c) { - color_content(c, - &all_colors[c].red, - &all_colors[c].green, - &all_colors[c].blue); - } - if (palette_file != 0) { - FILE *fp = fopen(palette_file, "r"); - if (fp != 0) { - char buffer[BUFSIZ]; - int red, green, blue; - int scale = 1000; - while (fgets(buffer, sizeof(buffer), fp) != 0) { - if (sscanf(buffer, "scale:%d", &c) == 1) { - scale = c; - } else if (sscanf(buffer, "%d:%d %d %d", - &c, - &red, - &green, - &blue) == 4 - && okCOLOR(c) - && okRGB(red) - && okRGB(green) - && okRGB(blue)) { - all_colors[c].red = (red * 1000) / scale; - all_colors[c].green = (green * 1000) / scale; - all_colors[c].blue = (blue * 1000) / scale; - } - } - fclose(fp); - } - } - } - } - set_terminal_modes(); - def_prog_mode(); - - /* - * Return to terminal mode, so we're guaranteed of being able to - * select terminal commands even if the capabilities are wrong. - */ - endwin(); - -#if HAVE_CURSES_VERSION - (void) printf("Welcome to %s. Press ? for help.\n", curses_version()); -#elif defined(NCURSES_VERSION_MAJOR) && defined(NCURSES_VERSION_MINOR) && defined(NCURSES_VERSION_PATCH) - (void) printf("Welcome to ncurses %d.%d.%d. Press ? for help.\n", - NCURSES_VERSION_MAJOR, - NCURSES_VERSION_MINOR, - NCURSES_VERSION_PATCH); -#else - (void) puts("Welcome to ncurses. Press ? for help."); -#endif - - main_menu(TRUE); - - ExitProgram(EXIT_SUCCESS); -} - -/* ncurses.c ends here */ diff --git a/src/libs/ncurses/test/ncurses_tst.hin b/src/libs/ncurses/test/ncurses_tst.hin deleted file mode 100644 index 1d77cbd3fe..0000000000 --- a/src/libs/ncurses/test/ncurses_tst.hin +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1998 * - ****************************************************************************/ -/* - * $Id: ncurses_tst.hin,v 1.2 1998/02/11 12:14:05 tom Exp $ - * - * This is a template-file used to generate the "ncurses_cfg.h" file. - * - * Rather than list every definition, the configuration script substitutes - * the definitions that it finds using 'sed'. You need a patch (971222) - * to autoconf 2.12 to do this. - */ -#ifndef NC_CONFIG_H -#define NC_CONFIG_H -@DEFS@ - - /* The C compiler may not treat these properly but C++ has to */ -#ifdef __cplusplus -#undef const -#undef inline -#else -#if defined(lint) || defined(TRACE) -#undef inline -#define inline /* nothing */ -#endif -#endif - -#endif /* NC_CONFIG_H */ diff --git a/src/libs/ncurses/test/newdemo.c b/src/libs/ncurses/test/newdemo.c deleted file mode 100644 index 21a8f64f0b..0000000000 --- a/src/libs/ncurses/test/newdemo.c +++ /dev/null @@ -1,358 +0,0 @@ -/* - * newdemo.c - A demo program using PDCurses. The program illustrate - * the use of colours for text output. - * - * $Id: newdemo.c,v 1.27 2005/05/28 21:40:00 tom Exp $ - */ - -#include - -#include - -#define delay_output(x) napms(x) - -/* - * The Australian map - */ -static const char *AusMap[16] = -{ - " A A ", - " N.T. AAAAA AAAA ", - " AAAAAAAAAAA AAAAAAAA ", - " AAAAAAAAAAAAAAAAAAAAAAAAA Qld.", - "AAAAAAAAAAAAAAAAAAAAAAAAAAAAA ", - "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ", - " AAAAAAAAAAAAAAAAAAAAAAAAAAAA ", - " AAAAAAAAAAAAAAAAAAAAAAAAA N.S.W.", - "W.A. AAAAAAAAA AAAAAA Vic.", - " AAA S.A. AA", - " A Tas.", - "" -}; - -/* - * Funny messages - */ -#define NMESSAGES 6 - -static NCURSES_CONST char *messages[] = -{ - "Hello from the Land Down Under", - "The Land of crocs. and a big Red Rock", - "Where the sunflower runs along the highways", - "the dusty red roads lead one to loneliness", - "Blue sky in the morning and", - "freezing nights and twinkling stars", - "" -}; - -/* - * Trap interrupt - */ -static RETSIGTYPE -trap(int sig GCC_UNUSED) -{ - endwin(); - ExitProgram(EXIT_FAILURE); -} - -/* - * Wait for user - */ -static int -WaitForUser(WINDOW *win) -{ - time_t t; - chtype key; - - nodelay(win, TRUE); - t = time((time_t *) 0); - while (1) { - if ((int) (key = wgetch(win)) != ERR) { - if (key == 'q' || key == 'Q') - return 1; - else - return 0; - } - if (time((time_t *) 0) - t > 5) - return 0; - } -} - -static void -set_colors(WINDOW *win, int pair, int foreground, int background) -{ - if (has_colors()) { - if (pair > COLOR_PAIRS) - pair = COLOR_PAIRS; - init_pair(pair, foreground, background); - wattrset(win, COLOR_PAIR(pair)); - } -} - -static chtype -use_colors(WINDOW *win, int pair, chtype attrs) -{ - if (has_colors()) { - if (pair > COLOR_PAIRS) - pair = COLOR_PAIRS; - attrs |= COLOR_PAIR(pair); - } - wattrset(win, attrs); - return attrs; -} - -/* - * Test sub windows - */ -static int -SubWinTest(WINDOW *win) -{ - int w, h, sw, sh, bx, by; - WINDOW *swin1, *swin2, *swin3; - - getmaxyx(win, h, w); - getbegyx(win, by, bx); - sw = w / 3; - sh = h / 3; - if ((swin1 = subwin(win, sh, sw, by + 3, bx + 5)) == NULL) - return 1; - if ((swin2 = subwin(win, sh, sw, by + 4, bx + 8)) == NULL) - return 1; - if ((swin3 = subwin(win, sh, sw, by + 5, bx + 11)) == NULL) - return 1; - - set_colors(swin1, 8, COLOR_RED, COLOR_BLUE); - werase(swin1); - mvwaddstr(swin1, 0, 3, "Sub-window 1"); - wrefresh(swin1); - - set_colors(swin2, 9, COLOR_CYAN, COLOR_MAGENTA); - werase(swin2); - mvwaddstr(swin2, 0, 3, "Sub-window 2"); - wrefresh(swin2); - - set_colors(swin3, 10, COLOR_YELLOW, COLOR_GREEN); - werase(swin3); - mvwaddstr(swin3, 0, 3, "Sub-window 3"); - wrefresh(swin3); - - delwin(swin1); - delwin(swin2); - delwin(swin3); - WaitForUser(win); - return 0; -} - -static int -bounce(int n, int *dir, int len) -{ - if (*dir > 0) - ++n; - else - --n; - if (n <= 1 || n >= len - 2) - *dir = *dir ? 0 : 1; - return n; -} - -/* - * Bouncing balls - */ -static int -BouncingBalls(WINDOW *win) -{ - int w, h; - int x1, y1, xd1, yd1; - int x2, y2, xd2, yd2; - int x3, y3, xd3, yd3; - - getmaxyx(win, h, w); - - x1 = 2 + rand() % (w - 4); - y1 = 2 + rand() % (h - 4); - x2 = 2 + rand() % (w - 4); - y2 = 2 + rand() % (h - 4); - x3 = 2 + rand() % (w - 4); - y3 = 2 + rand() % (h - 4); - - xd1 = 1; - yd1 = 1; - xd2 = 1; - yd2 = 0; - xd3 = 0; - yd3 = 1; - - nodelay(win, TRUE); - - while (wgetch(win) == ERR) { - x1 = bounce(x1, &xd1, w); - y1 = bounce(y1, &yd1, h); - x2 = bounce(x2, &xd2, w); - y2 = bounce(y2, &yd2, h); - x3 = bounce(x3, &xd3, w); - y3 = bounce(y3, &yd3, h); - - set_colors(win, 11, COLOR_RED, COLOR_BLUE); - mvwaddch(win, y1, x1, 'O'); - - set_colors(win, 12, COLOR_BLUE, COLOR_RED); - mvwaddch(win, y2, x2, '*'); - - set_colors(win, 13, COLOR_YELLOW, COLOR_WHITE); - mvwaddch(win, y3, x3, '@'); - - wmove(win, 0, 0); - wrefresh(win); - delay_output(100); - } - return 0; -} - -/* - * Main driver - */ -int -main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) -{ - WINDOW *win; - int w, x, y, i, j, k; - char buffer[200]; - const char *message; - int width, height; - chtype save[80]; - chtype c; - - setlocale(LC_ALL, ""); - - initscr(); - if (has_colors()) - start_color(); - cbreak(); - curs_set(0); - signal(SIGINT, trap); - width = 48; - height = 14; /* Create a drawing window */ - win = newwin(height, width, (LINES - height) / 2, (COLS - width) / 2); - if (win == NULL) { - endwin(); - ExitProgram(EXIT_FAILURE); - } - - while (1) { - set_colors(win, 1, COLOR_WHITE, COLOR_BLUE); - werase(win); - - set_colors(win, 2, COLOR_RED, COLOR_RED); - box(win, ACS_VLINE, ACS_HLINE); - wrefresh(win); - /* Do ramdom output of a character */ - use_colors(win, 1, A_NORMAL); - c = 'a'; - for (i = 0; i < 5000; ++i) { - x = rand() % (width - 2) + 1; - y = rand() % (height - 2) + 1; - mvwaddch(win, y, x, c); - wrefresh(win); - nodelay(win, TRUE); - if (wgetch(win) != ERR) - break; - if (i == 2000) { - c = 'b'; - set_colors(win, 3, COLOR_CYAN, COLOR_YELLOW); - } - } - - SubWinTest(win); - /* Erase and draw green window */ - set_colors(win, 4, COLOR_YELLOW, COLOR_GREEN); - wbkgd(win, use_colors(win, 4, A_BOLD)); - werase(win); - wrefresh(win); - /* Draw RED bounding box */ - use_colors(win, 2, A_NORMAL); - box(win, ' ', ' '); - wrefresh(win); - /* Display Australia map */ - use_colors(win, 4, A_BOLD); - i = 0; - while (*AusMap[i]) { - mvwaddstr(win, i + 1, 8, AusMap[i]); - wrefresh(win); - delay_output(50); - ++i; - } - - set_colors(win, 5, COLOR_BLUE, COLOR_WHITE); - use_colors(win, 5, A_BLINK); - mvwaddstr(win, height - 2, 6, " PDCurses 2.1 for DOS, OS/2 and Unix"); - wrefresh(win); - - /* Draw running messages */ - set_colors(win, 6, COLOR_YELLOW, COLOR_WHITE); - message = messages[j = 0]; - i = 1; - w = width - 2; - strcpy(buffer, message); - while (j < NMESSAGES) { - while ((int) strlen(buffer) < w) { - strcat(buffer, " ... "); - strcat(buffer, messages[++j % NMESSAGES]); - } - - if (i < w) - mvwaddnstr(win, height / 2, w - i, buffer, i); - else - mvwaddnstr(win, height / 2, 1, buffer, w); - - wrefresh(win); - nodelay(win, TRUE); - if (wgetch(win) != ERR) { - flushinp(); - break; - } - if (i++ >= w) { - for (k = 0; (buffer[k] = buffer[k + 1]) != '\0'; k++) ; - } - delay_output(100); - } - - j = 0; - /* Draw running As across in RED */ - set_colors(win, 7, COLOR_RED, COLOR_GREEN); - for (i = 2; i < width - 4; ++i) { - k = mvwinch(win, 4, i); - if (k == ERR) - break; - save[j++] = c = k; - c &= A_CHARTEXT; - mvwaddch(win, 4, i, c); - } - wrefresh(win); - - /* Put a message up wait for a key */ - i = height - 2; - use_colors(win, 5, A_NORMAL); - mvwaddstr(win, i, 5, " Type a key to continue or 'Q' to quit "); - wrefresh(win); - - if (WaitForUser(win) == 1) - break; - - j = 0; /* Restore the old line */ - for (i = 2; i < width - 4; ++i) - mvwaddch(win, 4, i, save[j++]); - wrefresh(win); - - BouncingBalls(win); - /* Put a message up wait for a key */ - i = height - 2; - use_colors(win, 5, A_NORMAL); - mvwaddstr(win, i, 5, " Type a key to continue or 'Q' to quit "); - wrefresh(win); - if (WaitForUser(win) == 1) - break; - } - endwin(); - ExitProgram(EXIT_SUCCESS); -} diff --git a/src/libs/ncurses/test/railroad.c b/src/libs/ncurses/test/railroad.c deleted file mode 100644 index 91117b918f..0000000000 --- a/src/libs/ncurses/test/railroad.c +++ /dev/null @@ -1,240 +0,0 @@ -/**************************************************************************** - * Copyright (c) 2000-2001,2002 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/* - * Author: Thomas E. Dickey 2000 - * - * $Id: railroad.c,v 1.11 2002/10/19 22:11:24 tom Exp $ - * - * A simple demo of the termcap interface. - */ -#include - -static char *wipeit; -static char *moveit; -static int length; -static int height; - -static char *finisC; -static char *finisS; -static char *finisU; - -static char *startC; -static char *startS; -static char *startU; - -static char *backup; - -static bool interrupted = FALSE; - -static int -outc(int c) -{ - if (interrupted) { - char tmp = c; - write(STDOUT_FILENO, &tmp, 1); - } else { - putc(c, stdout); - } - return 0; -} - -static void -PutChar(int ch) -{ - putchar(ch); - fflush(stdout); - napms(moveit ? 10 : 50); /* not really termcap... */ -} - -static void -Backup(void) -{ - tputs(backup != 0 ? backup : "\b", 1, outc); -} - -static void -ShowCursor(int flag) -{ - if (startC != 0 && finisC != 0) { - tputs(flag ? startC : finisC, 1, outc); - } -} - -static void -StandOut(int flag) -{ - if (startS != 0 && finisS != 0) { - tputs(flag ? startS : finisS, 1, outc); - } -} - -static void -Underline(int flag) -{ - if (startU != 0 && finisU != 0) { - tputs(flag ? startU : finisU, 1, outc); - } -} - -static void -ShowSign(char *string) -{ - char *base = string; - int ch, first, last; - - if (moveit != 0) { - tputs(tgoto(moveit, 0, height - 1), 1, outc); - tputs(wipeit, 1, outc); - } - - while (*string != 0) { - ch = *string; - if (ch != ' ') { - if (moveit != 0) { - for (first = length - 2; first >= (string - base); first--) { - if (first < length - 1) { - tputs(tgoto(moveit, first + 1, height - 1), 1, outc); - PutChar(' '); - } - tputs(tgoto(moveit, first, height - 1), 1, outc); - PutChar(ch); - } - } else { - last = ch; - if (isalpha(ch)) { - first = isupper(ch) ? 'A' : 'a'; - } else if (isdigit(ch)) { - first = '0'; - } else { - first = ch; - } - if (first < last) { - Underline(1); - while (first < last) { - PutChar(first); - Backup(); - first++; - } - Underline(0); - } - } - if (moveit != 0) - Backup(); - } - StandOut(1); - PutChar(ch); - StandOut(0); - fflush(stdout); - string++; - } - if (moveit != 0) - tputs(wipeit, 1, outc); - putchar('\n'); -} - -static void -cleanup(void) -{ - Underline(0); - StandOut(0); - ShowCursor(1); -} - -static void -onsig(int n GCC_UNUSED) -{ - interrupted = TRUE; - cleanup(); - ExitProgram(EXIT_FAILURE); -} - -static void -railroad(char **args) -{ - NCURSES_CONST char *name = getenv("TERM"); - char buffer[1024]; - char area[1024], *ap = area; - int j; - - if (name == 0) - name = "dumb"; - if (tgetent(buffer, name)) { - - wipeit = tgetstr("ce", &ap); - height = tgetnum("li"); - length = tgetnum("co"); - moveit = tgetstr("cm", &ap); - - if (wipeit == 0 - || moveit == 0 - || height <= 0 - || length <= 0) { - wipeit = 0; - moveit = 0; - height = 0; - length = 0; - } - - startS = tgetstr("so", &ap); - finisS = tgetstr("se", &ap); - - startU = tgetstr("us", &ap); - finisU = tgetstr("ue", &ap); - - backup = tgetstr("le", &ap); - - startC = tgetstr("ve", &ap); - finisC = tgetstr("vi", &ap); - - ShowCursor(0); - - for (j = SIGHUP; j <= SIGTERM; j++) - if (signal(j, SIG_IGN) != SIG_IGN) - signal(j, onsig); - - while (*args) { - ShowSign(*args++); - } - ShowCursor(1); - } -} - -int -main(int argc, char *argv[]) -{ - if (argc > 1) { - railroad(argv + 1); - } else { - static char world[] = "Hello World"; - static char *hello[] = - {world, 0}; - railroad(hello); - } - ExitProgram(EXIT_SUCCESS); -} diff --git a/src/libs/ncurses/test/rain.c b/src/libs/ncurses/test/rain.c deleted file mode 100644 index 19e7f9000c..0000000000 --- a/src/libs/ncurses/test/rain.c +++ /dev/null @@ -1,136 +0,0 @@ -/* - * $Id: rain.c,v 1.20 2002/06/29 23:32:18 tom Exp $ - */ -#include - -/* rain 11/3/1980 EPS/CITHEP */ - -static float ranf(void); -static void onsig(int sig); - -static int -next_j(int j) -{ - if (j == 0) - j = 4; - else - --j; - if (has_colors()) { - int z = (int) (3 * ranf()); - chtype color = COLOR_PAIR(z); - if (z) - color |= A_BOLD; - attrset(color); - } - return j; -} - -int -main( - int argc GCC_UNUSED, - char *argv[]GCC_UNUSED) -{ - int x, y, j; - static int xpos[5], ypos[5]; - float r; - float c; - - setlocale(LC_ALL, ""); - - for (j = SIGHUP; j <= SIGTERM; j++) - if (signal(j, SIG_IGN) != SIG_IGN) - signal(j, onsig); - - initscr(); - if (has_colors()) { - int bg = COLOR_BLACK; - start_color(); -#if HAVE_USE_DEFAULT_COLORS - if (use_default_colors() == OK) - bg = -1; -#endif - init_pair(1, COLOR_BLUE, bg); - init_pair(2, COLOR_CYAN, bg); - } - nl(); - noecho(); - curs_set(0); - timeout(0); - - r = (float) (LINES - 4); - c = (float) (COLS - 4); - for (j = 5; --j >= 0;) { - xpos[j] = (int) (c * ranf()) + 2; - ypos[j] = (int) (r * ranf()) + 2; - } - - for (j = 0;;) { - x = (int) (c * ranf()) + 2; - y = (int) (r * ranf()) + 2; - - mvaddch(y, x, '.'); - - mvaddch(ypos[j], xpos[j], 'o'); - - j = next_j(j); - mvaddch(ypos[j], xpos[j], 'O'); - - j = next_j(j); - mvaddch(ypos[j] - 1, xpos[j], '-'); - mvaddstr(ypos[j], xpos[j] - 1, "|.|"); - mvaddch(ypos[j] + 1, xpos[j], '-'); - - j = next_j(j); - mvaddch(ypos[j] - 2, xpos[j], '-'); - mvaddstr(ypos[j] - 1, xpos[j] - 1, "/ \\"); - mvaddstr(ypos[j], xpos[j] - 2, "| O |"); - mvaddstr(ypos[j] + 1, xpos[j] - 1, "\\ /"); - mvaddch(ypos[j] + 2, xpos[j], '-'); - - j = next_j(j); - mvaddch(ypos[j] - 2, xpos[j], ' '); - mvaddstr(ypos[j] - 1, xpos[j] - 1, " "); - mvaddstr(ypos[j], xpos[j] - 2, " "); - mvaddstr(ypos[j] + 1, xpos[j] - 1, " "); - mvaddch(ypos[j] + 2, xpos[j], ' '); - - xpos[j] = x; - ypos[j] = y; - - switch (getch()) { - case ('q'): - case ('Q'): - curs_set(1); - endwin(); - ExitProgram(EXIT_SUCCESS); - case 's': - nodelay(stdscr, FALSE); - break; - case ' ': - nodelay(stdscr, TRUE); - break; -#ifdef KEY_RESIZE - case (KEY_RESIZE): - r = (float) (LINES - 4); - c = (float) (COLS - 4); - break; -#endif - } - napms(50); - } -} - -static void -onsig(int n GCC_UNUSED) -{ - curs_set(1); - endwin(); - ExitProgram(EXIT_FAILURE); -} - -static float -ranf(void) -{ - long r = (rand() & 077777); - return ((float) r / 32768.); -} diff --git a/src/libs/ncurses/test/tclock.c b/src/libs/ncurses/test/tclock.c deleted file mode 100644 index 394ee81385..0000000000 --- a/src/libs/ncurses/test/tclock.c +++ /dev/null @@ -1,258 +0,0 @@ -/* $Id: tclock.c,v 1.25 2005/04/16 16:39:27 tom Exp $ */ - -#include - -#include - -#if TIME_WITH_SYS_TIME -# include -# include -#else -# if HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif - -/* - tclock - analog/digital clock for curses. - If it gives you joy, then - (a) I'm glad - (b) you need to get out more :-) - - This program is copyright Howard Jones, September 1994 - (ha.jones@ic.ac.uk). It may be freely distributed as - long as this copyright message remains intact, and any - modifications are clearly marked as such. [In fact, if - you modify it, I wouldn't mind the modifications back, - especially if they add any nice features. A good one - would be a precalc table for the 60 hand positions, so - that the floating point stuff can be ditched. As I said, - it was a 20 hackup minute job.] - - COMING SOON: tfishtank. Be the envy of your mac-owning - colleagues. -*/ - -/* To compile: cc -o tclock tclock.c -lcurses -lm */ - -#ifndef PI -#define PI 3.141592654 -#endif - -#define sign(_x) (_x<0?-1:1) - -#define ASPECT 2.2 -#define ROUND(value) ((int)((value) + 0.5)) - -#define A2X(angle,radius) ROUND(ASPECT * radius * sin(angle)) -#define A2Y(angle,radius) ROUND(radius * cos(angle)) - -/* Plot a point */ -static void -plot(int x, int y, char col) -{ - mvaddch(y, x, (chtype) col); -} - -/* Draw a diagonal(arbitrary) line using Bresenham's alogrithm. */ -static void -dline(int pair, int from_x, int from_y, int x2, int y2, char ch) -{ - int dx, dy; - int ax, ay; - int sx, sy; - int x, y; - int d; - - if (has_colors()) - attrset(COLOR_PAIR(pair)); - - dx = x2 - from_x; - dy = y2 - from_y; - - ax = abs(dx * 2); - ay = abs(dy * 2); - - sx = sign(dx); - sy = sign(dy); - - x = from_x; - y = from_y; - - if (ax > ay) { - d = ay - (ax / 2); - - while (1) { - plot(x, y, ch); - if (x == x2) - return; - - if (d >= 0) { - y += sy; - d -= ax; - } - x += sx; - d += ay; - } - } else { - d = ax - (ay / 2); - - while (1) { - plot(x, y, ch); - if (y == y2) - return; - - if (d >= 0) { - x += sx; - d -= ay; - } - y += sy; - d += ax; - } - } -} - -int -main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) -{ - int i, cx, cy; - double cr, mradius, hradius, mangle, hangle; - double sangle, sradius, hours; - int hdx, hdy; - int mdx, mdy; - int sdx, sdy; - int ch; - int lastbeep = -1; - bool odd = FALSE; - time_t tim; - struct tm *t; - char szChar[10]; - char *text; - int my_bg = COLOR_BLACK; -#if HAVE_GETTIMEOFDAY - struct timeval current; - double fraction = 0.0; -#endif - - setlocale(LC_ALL, ""); - - initscr(); - noecho(); - cbreak(); - nodelay(stdscr, TRUE); - curs_set(0); - - if (has_colors()) { - start_color(); -#if HAVE_USE_DEFAULT_COLORS - if (use_default_colors() == OK) - my_bg = -1; -#endif - init_pair(1, COLOR_RED, my_bg); - init_pair(2, COLOR_MAGENTA, my_bg); - init_pair(3, COLOR_GREEN, my_bg); - init_pair(4, COLOR_WHITE, COLOR_BLUE); - } -#ifdef KEY_RESIZE - keypad(stdscr, TRUE); - restart: -#endif - cx = (COLS - 1) / 2; /* 39 */ - cy = LINES / 2; /* 12 */ - if (cx / ASPECT < cy) - cr = cx / ASPECT; - else - cr = cy; - sradius = (5 * cr) / 6; /* 10 */ - mradius = (3 * cr) / 4; /* 9 */ - hradius = cr / 2; /* 6 */ - - for (i = 0; i < 12; i++) { - sangle = (i + 1) * (2.0 * PI) / 12.0; - sdx = A2X(sangle, sradius); - sdy = A2Y(sangle, sradius); - sprintf(szChar, "%d", i + 1); - - mvaddstr(cy - sdy, cx + sdx, szChar); - } - - mvaddstr(0, 0, "ASCII Clock by Howard Jones (ha.jones@ic.ac.uk),1994"); - - sradius = (4 * sradius) / 5; - for (;;) { - napms(100); - - tim = time(0); - t = localtime(&tim); - - hours = (t->tm_hour + (t->tm_min / 60.0)); - if (hours > 12.0) - hours -= 12.0; - - mangle = ((t->tm_min + (t->tm_sec / 60.0)) * (2 * PI) / 60.0); - mdx = A2X(mangle, mradius); - mdy = A2Y(mangle, mradius); - - hangle = ((hours) * (2.0 * PI) / 12.0); - hdx = A2X(hangle, hradius); - hdy = A2Y(hangle, hradius); - -#if HAVE_GETTIMEOFDAY - gettimeofday(¤t, 0); - fraction = (current.tv_usec / 1.0e6); -#endif - sangle = ((t->tm_sec + fraction) * (2.0 * PI) / 60.0); - sdx = A2X(sangle, sradius); - sdy = A2Y(sangle, sradius); - - dline(3, cx, cy, cx + mdx, cy - mdy, '#'); - - attrset(A_REVERSE); - dline(2, cx, cy, cx + hdx, cy - hdy, '.'); - attroff(A_REVERSE); - - if (has_colors()) - attrset(COLOR_PAIR(1)); - - dline(1, cx, cy, cx + sdx, cy - sdy, 'O'); - - if (has_colors()) - attrset(COLOR_PAIR(0)); - - text = ctime(&tim); - mvprintw(2, 0, "%.*s", (int) (strlen(text) - 1), text); - refresh(); - if ((t->tm_sec % 5) == 0 - && t->tm_sec != lastbeep) { - lastbeep = t->tm_sec; - if (has_colors()) { - odd = !odd; - bkgd((chtype) (odd ? COLOR_PAIR(4) : COLOR_PAIR(0))); - } - beep(); - } - - if ((ch = getch()) != ERR) { -#ifdef KEY_RESIZE - if (ch == KEY_RESIZE) { - flash(); - erase(); - wrefresh(curscr); - goto restart; - } -#endif - break; - } - - dline(0, cx, cy, cx + hdx, cy - hdy, ' '); - dline(0, cx, cy, cx + mdx, cy - mdy, ' '); - dline(0, cx, cy, cx + sdx, cy - sdy, ' '); - - } - - curs_set(1); - endwin(); - ExitProgram(EXIT_SUCCESS); -} diff --git a/src/libs/ncurses/test/test.priv.h b/src/libs/ncurses/test/test.priv.h deleted file mode 100644 index 85e14a04af..0000000000 --- a/src/libs/ncurses/test/test.priv.h +++ /dev/null @@ -1,298 +0,0 @@ -/**************************************************************************** - * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - ****************************************************************************/ - -/**************************************************************************** - * Author: Thomas E. Dickey 1996 * - ****************************************************************************/ -/* $Id: test.priv.h,v 1.48 2004/04/10 20:11:37 tom Exp $ */ - -#ifndef __TEST_PRIV_H -#define __TEST_PRIV_H 1 - -#include - -/* - * Fix ifdef's that look for the form/menu/panel libraries, if we are building - * with wide-character ncurses. - */ -#ifdef HAVE_LIBFORMW -#define HAVE_LIBFORM 1 -#endif - -#ifdef HAVE_LIBMENUW -#define HAVE_LIBMENU 1 -#endif - -#ifdef HAVE_LIBPANELW -#define HAVE_LIBPANEL 1 -#endif - -/* - * Fallback definitions to accommodate broken compilers - */ -#ifndef HAVE_CURSES_VERSION -#define HAVE_CURSES_VERSION 0 -#endif - -#ifndef HAVE_FORM_H -#define HAVE_FORM_H 0 -#endif - -#ifndef HAVE_LIBFORM -#define HAVE_LIBFORM 0 -#endif - -#ifndef HAVE_LIBMENU -#define HAVE_LIBMENU 0 -#endif - -#ifndef HAVE_LIBPANEL -#define HAVE_LIBPANEL 0 -#endif - -#ifndef HAVE_LOCALE_H -#define HAVE_LOCALE_H 0 -#endif - -#ifndef HAVE_MENU_H -#define HAVE_MENU_H 0 -#endif - -#ifndef HAVE_NAPMS -#define HAVE_NAPMS 1 -#endif - -#ifndef HAVE_NC_ALLOC_H -#define HAVE_NC_ALLOC_H 0 -#endif - -#ifndef HAVE_PANEL_H -#define HAVE_PANEL_H 0 -#endif - -#ifndef HAVE_SLK_COLOR -#define HAVE_SLK_COLOR 0 -#endif - -#ifndef HAVE_WRESIZE -#define HAVE_WRESIZE 0 -#endif - -#ifndef NCURSES_EXT_FUNCS -#define NCURSES_EXT_FUNCS 0 -#endif - -#ifndef NCURSES_NOMACROS -#define NCURSES_NOMACROS 0 -#endif - -#ifndef NEED_PTEM_H -#define NEED_PTEM_H 0 -#endif - -#include -#include -#include - -#if HAVE_UNISTD_H -#include -#endif - -#include /* include before curses.h to work around glibc bug */ - -#if defined(HAVE_NCURSESW_NCURSES_H) -#include -#include -#elif defined(HAVE_NCURSES_NCURSES_H) -#include -#include -#else -#include -#include -#endif - -#ifdef NCURSES_VERSION -#define HAVE_COLOR_SET 1 -#endif - -#if NCURSES_NOMACROS -#include -#endif - -#if HAVE_GETOPT_H -#include -#else -/* 'getopt()' may be prototyped in , but declaring its variables - * doesn't hurt. - */ -extern char *optarg; -extern int optind; -#endif /* HAVE_GETOPT_H */ - -#if HAVE_LOCALE_H -#include -#else -#define setlocale(name,string) /* nothing */ -#endif - -#include -#include - -#ifndef GCC_NORETURN -#define GCC_NORETURN /* nothing */ -#endif -#ifndef GCC_UNUSED -#define GCC_UNUSED /* nothing */ -#endif - -#ifndef HAVE_GETNSTR -#define getnstr(s,n) getstr(s) -#endif - -#ifndef USE_WIDEC_SUPPORT -#if defined(_XOPEN_SOURCE_EXTENDED) && defined(WACS_ULCORNER) -#define USE_WIDEC_SUPPORT 1 -#else -#define USE_WIDEC_SUPPORT 0 -#endif -#endif - -#if HAVE_PANEL_H && HAVE_LIBPANEL -#define USE_LIBPANEL 1 -#else -#define USE_LIBPANEL 0 -#endif - -#if HAVE_MENU_H && HAVE_LIBMENU -#define USE_LIBMENU 1 -#else -#define USE_LIBMENU 0 -#endif - -#if HAVE_FORM_H && HAVE_LIBFORM -#define USE_LIBFORM 1 -#else -#define USE_LIBFORM 0 -#endif - -#ifndef HAVE_TYPE_ATTR_T -#if !USE_WIDEC_SUPPORT -#define attr_t long -#endif -#endif - -#undef NCURSES_CH_T -#if !USE_WIDEC_SUPPORT -#define NCURSES_CH_T chtype -#else -#define NCURSES_CH_T cchar_t -#endif - -#ifndef CCHARW_MAX -#define CCHARW_MAX 5 -#endif - -#ifndef CTRL -#define CTRL(x) ((x) & 0x1f) -#endif - -#define QUIT CTRL('Q') -#define ESCAPE CTRL('[') - -#ifndef KEY_MIN -#define KEY_MIN 256 /* not defined in Solaris 8 */ -#endif - -#ifndef getcurx -#define getcurx(win) ((win)?(win)->_curx:ERR) -#define getcury(win) ((win)?(win)->_cury:ERR) -#endif - -#ifndef getbegx -#define getbegx(win) ((win)?(win)->_begx:ERR) -#define getbegy(win) ((win)?(win)->_begy:ERR) -#endif - -#ifndef getmaxx -#define getmaxx(win) ((win)?((win)->_maxx + 1):ERR) -#define getmaxy(win) ((win)?((win)->_maxy + 1):ERR) -#endif - -/* ncurses implements tparm() with varargs, X/Open with a fixed-parameter list - * (which is incompatible with legacy usage, doesn't solve any problems). - */ -#define tparm3(a,b,c) tparm(a,b,c,0,0,0,0,0,0,0) -#define tparm2(a,b) tparm(a,b,0,0,0,0,0,0,0,0) - -#define UChar(c) ((unsigned char)(c)) - -#define SIZEOF(table) (sizeof(table)/sizeof(table[0])) - -#if defined(NCURSES_VERSION) && HAVE_NC_ALLOC_H -#include -#else -#define typeMalloc(type,n) (type *) malloc((n) * sizeof(type)) -#define typeRealloc(type,n,p) (type *) realloc(p, (n) * sizeof(type)) -#endif - -#ifndef ExitProgram -#define ExitProgram(code) exit(code) -#endif - -#ifndef EXIT_SUCCESS -#define EXIT_SUCCESS 0 -#endif -#ifndef EXIT_FAILURE -#define EXIT_FAILURE 1 -#endif - -/* Use this to quiet gcc's -Wwrite-strings warnings, but accommodate SVr4 - * curses which doesn't have const parameters declared (so far) in the places - * that XSI shows. - */ -#ifndef NCURSES_CONST -#define NCURSES_CONST /* nothing */ -#endif - -/* out-of-band values for representing absent capabilities */ -#define ABSENT_BOOLEAN ((signed char)-1) /* 255 */ -#define ABSENT_NUMERIC (-1) -#define ABSENT_STRING (char *)0 - -/* out-of-band values for representing cancels */ -#define CANCELLED_BOOLEAN ((signed char)-2) /* 254 */ -#define CANCELLED_NUMERIC (-2) -#define CANCELLED_STRING (char *)(-1) - -#define VALID_BOOLEAN(s) ((unsigned char)(s) <= 1) /* reject "-1" */ -#define VALID_NUMERIC(s) ((s) >= 0) -#define VALID_STRING(s) ((s) != CANCELLED_STRING && (s) != ABSENT_STRING) - -#define VT_ACSC "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~" - -#endif /* __TEST_PRIV_H */ diff --git a/src/libs/ncurses/test/testaddch.c b/src/libs/ncurses/test/testaddch.c deleted file mode 100644 index ddc6776f9d..0000000000 --- a/src/libs/ncurses/test/testaddch.c +++ /dev/null @@ -1,61 +0,0 @@ -/* - * This is an example written by Alexander V. Lukyanov , - * to demonstrate an inconsistency between ncurses and SVr4 curses. - * - * $Id: testaddch.c,v 1.5 2002/06/29 23:32:18 tom Exp $ - */ -#include - -static void -attr_addstr(const char *s, chtype a) -{ - while (*s) - addch(((unsigned char) (*s++)) | a); -} - -int -main( - int argc GCC_UNUSED, - char *argv[]GCC_UNUSED) -{ - unsigned i; - chtype back, set, attr; - - setlocale(LC_ALL, ""); - - initscr(); - start_color(); - init_pair(1, COLOR_WHITE, COLOR_BLUE); - init_pair(2, COLOR_WHITE, COLOR_RED); - init_pair(3, COLOR_BLACK, COLOR_MAGENTA); - init_pair(4, COLOR_BLACK, COLOR_GREEN); - init_pair(5, COLOR_BLACK, COLOR_CYAN); - init_pair(6, COLOR_BLACK, COLOR_YELLOW); - init_pair(7, COLOR_BLACK, COLOR_WHITE); - - for (i = 0; i < 8; i++) { - back = (i & 1) ? A_BOLD | 'B' : ' '; - set = (i & 2) ? A_REVERSE : 0; - attr = (i & 4) ? COLOR_PAIR(4) : 0; - - bkgdset(back); - attrset(set); - - attr_addstr("Test string with spaces -> <-\n", attr); - } - addch('\n'); - for (i = 0; i < 8; i++) { - back = (i & 1) ? A_BOLD | 'B' | COLOR_PAIR(1) : ' '; - set = (i & 2) ? A_REVERSE | COLOR_PAIR(2) : 0; - attr = (i & 4) ? COLOR_PAIR(4) : 0; - - bkgdset(back); - attrset(set); - - attr_addstr("Test string with spaces -> <-\n", attr); - } - - getch(); - endwin(); - ExitProgram(EXIT_SUCCESS); -} diff --git a/src/libs/ncurses/test/testcurs.c b/src/libs/ncurses/test/testcurs.c deleted file mode 100644 index 00cf8b6734..0000000000 --- a/src/libs/ncurses/test/testcurs.c +++ /dev/null @@ -1,708 +0,0 @@ -/* - * - * This is a test program for the PDCurses screen package for IBM PC type - * machines. - * - * This program was written by John Burnell (johnb@kea.am.dsir.govt.nz) - * wrs(5/28/93) -- modified to be consistent (perform identically) with either - * PDCurses or under Unix System V, R4 - * - * $Id: testcurs.c,v 1.34 2005/04/16 16:19:12 tom Exp $ - */ - -#include - -#if defined(XCURSES) -char *XCursesProgramName = "testcurs"; -#endif - -static int initTest(WINDOW **); -static void display_menu(int, int); -static void inputTest(WINDOW *); -static void introTest(WINDOW *); -static void outputTest(WINDOW *); -static void padTest(WINDOW *); -static void scrollTest(WINDOW *); -#if defined(PDCURSES) && !defined(XCURSES) -static void resizeTest(WINDOW *); -#endif - -struct commands { - NCURSES_CONST char *text; - void (*function) (WINDOW *); -}; -typedef struct commands COMMAND; - -static const COMMAND command[] = -{ - {"General Test", introTest}, - {"Pad Test", padTest}, -#if defined(PDCURSES) && !defined(XCURSES) - {"Resize Test", resizeTest}, -#endif - {"Scroll Test", scrollTest}, - {"Input Test", inputTest}, - {"Output Test", outputTest} -}; -#define MAX_OPTIONS SIZEOF(command) - -#if !HAVE_STRDUP -#define strdup my_strdup -static char * -strdup(char *s) -{ - char *p = (char *) malloc(strlen(s) + 1); - if (p) - strcpy(p, s); - return (p); -} -#endif /* not HAVE_STRDUP */ - -static int width, height; - -int -main( - int argc GCC_UNUSED, - char *argv[]GCC_UNUSED) -{ - WINDOW *win; - int key; - int old_option = (-1); - int new_option = 0; - bool quit = FALSE; - unsigned n; - - setlocale(LC_ALL, ""); - -#ifdef PDCDEBUG - PDC_debug("testcurs started\n"); -#endif - if (!initTest(&win)) - ExitProgram(EXIT_FAILURE); - - erase(); - display_menu(old_option, new_option); - for (;;) { -#ifdef A_COLOR - if (has_colors()) { - init_pair(1, COLOR_WHITE, COLOR_BLUE); - wbkgd(win, COLOR_PAIR(1)); - } else - wbkgd(win, A_REVERSE); -#else - wbkgd(win, A_REVERSE); -#endif - werase(win); - - noecho(); - keypad(stdscr, TRUE); - raw(); - key = getch(); - if (key < KEY_MIN && key > 0 && isalpha(key)) { - if (islower(key)) - key = toupper(key); - for (n = 0; n < MAX_OPTIONS; ++n) { - if (key == command[n].text[0]) { - display_menu(old_option, new_option = n); - key = ' '; - break; - } - } - } - switch (key) { - case 10: - case 13: - case KEY_ENTER: - erase(); - refresh(); - (*command[new_option].function) (win); - erase(); - display_menu(old_option, new_option); - break; - case KEY_UP: - new_option = (new_option == 0) ? new_option : new_option - 1; - display_menu(old_option, new_option); - break; - case KEY_DOWN: - new_option = (new_option == MAX_OPTIONS - 1) ? new_option : - new_option + 1; - display_menu(old_option, new_option); - break; - case 'Q': - case 'q': - quit = TRUE; - break; - default: - beep(); - break; - case ' ': - break; - } - if (quit == TRUE) - break; - } - - delwin(win); - - endwin(); -#ifdef XCURSES - XCursesExit(); -#endif - ExitProgram(EXIT_SUCCESS); -} - -static void -Continue(WINDOW *win) -{ - int y1 = getmaxy(win); - int x1 = getmaxx(win); - int y0 = y1 < 10 ? y1 : 10; - int x0 = 1; - chtype save; - - save = mvwinch(win, y0, x1 - 1); - - mvwaddstr(win, y0, x0, " Press any key to continue"); - wclrtoeol(win); - getyx(win, y0, x0); - - mvwaddch(win, y0, x1 - 1, save); - - wmove(win, y0, x0); - raw(); - wgetch(win); -} - -static int -initTest(WINDOW **win) -{ -#ifdef PDCDEBUG - PDC_debug("initTest called\n"); -#endif -#ifdef TRACE - trace(TRACE_MAXIMUM); -#endif - initscr(); -#ifdef PDCDEBUG - PDC_debug("after initscr()\n"); -#endif -#ifdef A_COLOR - if (has_colors()) - start_color(); -#endif - width = 60; - height = 13; /* Create a drawing window */ - *win = newwin(height, width, (LINES - height) / 2, (COLS - width) / 2); - if (*win == NULL) { - endwin(); - return 0; - } - return 1; -} - -static void -introTest(WINDOW *win) -{ - wmove(win, height / 2 - 5, width / 2); - wvline(win, ACS_VLINE, 10); - wmove(win, height / 2, width / 2 - 10); - whline(win, ACS_HLINE, 20); - Continue(win); - - beep(); - werase(win); - - box(win, ACS_VLINE, ACS_HLINE); - wrefresh(win); - cbreak(); - mvwaddstr(win, 1, 1, - "You should have rectangle in the middle of the screen"); - mvwaddstr(win, 2, 1, "You should have heard a beep"); - Continue(win); - return; -} - -static void -scrollTest(WINDOW *win) -{ - int i; - int half; - int OldY; - NCURSES_CONST char *Message = "The window will now scroll slowly"; - - wclear(win); - OldY = getmaxy(win); - half = OldY / 2; - mvwprintw(win, OldY - 2, 1, Message); - wrefresh(win); - scrollok(win, TRUE); - for (i = 1; i <= OldY; i++) { - napms(600); - scroll(win); - wrefresh(win); - } - - werase(win); - for (i = 1; i < OldY; i++) { - mvwprintw(win, i, 1, "Line %d", i); - } - mvwprintw(win, OldY - 2, 1, "The top of the window will scroll"); - wmove(win, 1, 1); - wsetscrreg(win, 0, half - 1); - box(win, ACS_VLINE, ACS_HLINE); - wrefresh(win); - for (i = 1; i <= half; i++) { - napms(600); - scroll(win); - box(win, ACS_VLINE, ACS_HLINE); - wrefresh(win); - } - - werase(win); - for (i = 1; i < OldY; i++) { - mvwprintw(win, i, 1, "Line %d", i); - } - mvwprintw(win, 1, 1, "The bottom of the window will scroll"); - wmove(win, OldY - 2, 1); - wsetscrreg(win, half, --OldY); - box(win, ACS_VLINE, ACS_HLINE); - wrefresh(win); - for (i = half; i <= OldY; i++) { - napms(600); - wscrl(win, -1); - box(win, ACS_VLINE, ACS_HLINE); - wrefresh(win); - } - wsetscrreg(win, 0, OldY); -} - -static void -inputTest(WINDOW *win) -{ - int answered; - int repeat; - int w, h, bx, by, sw, sh, i, c, num; - char buffer[80]; - WINDOW *subWin; - wclear(win); - - getmaxyx(win, h, w); - getbegyx(win, by, bx); - sw = w / 3; - sh = h / 3; - if ((subWin = subwin(win, sh, sw, by + h - sh - 2, bx + w - sw - 2)) == NULL) - return; - -#ifdef A_COLOR - if (has_colors()) { - init_pair(2, COLOR_WHITE, COLOR_RED); - wbkgd(subWin, COLOR_PAIR(2) | A_BOLD); - } else - wbkgd(subWin, A_BOLD); -#else - wbkgd(subWin, A_BOLD); -#endif - box(subWin, ACS_VLINE, ACS_HLINE); - wrefresh(win); - - nocbreak(); - mvwaddstr(win, 2, 1, "Press some keys for 5 seconds"); - mvwaddstr(win, 1, 1, "Pressing ^C should do nothing"); - wrefresh(win); - - werase(subWin); - box(subWin, ACS_VLINE, ACS_HLINE); - for (i = 0; i < 5; i++) { - mvwprintw(subWin, 1, 1, "Time = %d", i); - wrefresh(subWin); - napms(1000); - flushinp(); - } - - delwin(subWin); - werase(win); - flash(); - wrefresh(win); - napms(500); - - mvwaddstr(win, 2, 1, "Press a key, followed by ENTER"); - wmove(win, 9, 10); - wrefresh(win); - echo(); - noraw(); - wgetch(win); - flushinp(); - - wmove(win, 9, 10); - wdelch(win); - mvwaddstr(win, 4, 1, "The character should now have been deleted"); - Continue(win); - - wclear(win); - mvwaddstr(win, 1, 1, "Press keys (or mouse buttons) to show their names"); - mvwaddstr(win, 2, 1, "Press spacebar to finish"); - wrefresh(win); - keypad(win, TRUE); - raw(); - noecho(); - typeahead(-1); -#if defined(PDCURSES) - mouse_set(ALL_MOUSE_EVENTS); -#endif - for (;;) { - wmove(win, 3, 5); - c = wgetch(win); - wclrtobot(win); - if (c >= KEY_MIN) - wprintw(win, "Key Pressed: %s", keyname(c)); - else if (isprint(c)) - wprintw(win, "Key Pressed: %c", c); - else - wprintw(win, "Key Pressed: %s", unctrl(UChar(c))); -#if defined(PDCURSES) - if (c == KEY_MOUSE) { - int button = 0; - request_mouse_pos(); - if (BUTTON_CHANGED(1)) - button = 1; - else if (BUTTON_CHANGED(2)) - button = 2; - else if (BUTTON_CHANGED(3)) - button = 3; - else - button = 0; - wmove(win, 4, 18); - wprintw(win, "Button %d: ", button); - if (MOUSE_MOVED) - wprintw(win, "moved: "); - else if ((BUTTON_STATUS(button) & BUTTON_ACTION_MASK) == BUTTON_PRESSED) - wprintw(win, "pressed: "); - else if ((BUTTON_STATUS(button) & BUTTON_ACTION_MASK) == BUTTON_DOUBLE_CLICKED) - wprintw(win, "double: "); - else - wprintw(win, "released: "); - wprintw(win, " Position: Y: %d X: %d", MOUSE_Y_POS, MOUSE_X_POS); - } -#endif - wrefresh(win); - if (c == ' ') - break; - } -#if 0 - nodelay(win, TRUE); - wgetch(win); - nodelay(win, FALSE); -#endif -#if defined(PDCURSES) - mouse_set(0L); -#endif - refresh(); - - repeat = 0; - do { - static const char *fmt[] = - { - "%d %10s", - "%d %[a-zA-Z]s", - "%d %[][a-zA-Z]s", - "%d %[^0-9]" - }; - const char *format = fmt[repeat % SIZEOF(fmt)]; - - wclear(win); - mvwaddstr(win, 3, 2, "The window should have moved"); - mvwaddstr(win, 4, 2, - "This text should have appeared without you pressing a key"); - mvwprintw(win, 6, 2, - "Scanning with format \"%s\"", format); - mvwin(win, 2 + 2 * (repeat % 4), 1 + 2 * (repeat % 4)); - erase(); - refresh(); - wrefresh(win); - echo(); - noraw(); - num = 0; - *buffer = 0; - answered = mvwscanw(win, 7, 6, strdup(format), &num, buffer); - mvwprintw(win, 8, 6, - "String: %s Number: %d (%d values read)", - buffer, num, answered); - Continue(win); - ++repeat; - } while (answered > 0); -} - -static void -outputTest(WINDOW *win) -{ - WINDOW *win1; - char Buffer[80]; - chtype ch; - int by, bx; - - nl(); - wclear(win); - mvwaddstr(win, 1, 1, - "You should now have a screen in the upper left corner, and this text should have wrapped"); - mvwin(win, 2, 1); - waddstr(win, "\nThis text should be down\n"); - waddstr(win, "and broken into two here ^"); - Continue(win); - - wclear(win); - wattron(win, A_BOLD); - mvwaddstr(win, 1, 1, "A new window will appear with this text in it"); - mvwaddstr(win, 8, 1, "Press any key to continue"); - wrefresh(win); - wgetch(win); - - getbegyx(win, by, bx); - - if (LINES < 24 || COLS < 75) { - mvwaddstr(win, 5, 1, - "Some tests have been skipped as they require a"); - mvwaddstr(win, 6, 1, "display of at least 24 LINES by 75 COLUMNS"); - Continue(win); - } else { - win1 = newwin(10, 50, 14, 25); - if (win1 == NULL) { - endwin(); - return; - } -#ifdef A_COLOR - if (has_colors()) { - init_pair(3, COLOR_BLUE, COLOR_WHITE); - wbkgd(win1, COLOR_PAIR(3)); - } else - wbkgd(win1, A_NORMAL); -#else - wbkgd(win1, A_NORMAL); -#endif - wclear(win1); - mvwaddstr(win1, 5, 1, - "This text should appear; using overlay option"); - copywin(win, win1, 0, 0, 0, 0, 9, 49, TRUE); - -#if defined(PDCURSES) && !defined(XCURSES) - box(win1, 0xb3, 0xc4); -#else - box(win1, ACS_VLINE, ACS_HLINE); -#endif - wmove(win1, 8, 26); - wrefresh(win1); - wgetch(win1); - - wclear(win1); - wattron(win1, A_BLINK); - mvwaddstr(win1, 4, 1, - "This blinking text should appear in only the second window"); - wattroff(win1, A_BLINK); - mvwin(win1, by, bx); - overlay(win, win1); - mvwin(win1, 14, 25); - wmove(win1, 8, 26); - wrefresh(win1); - wgetch(win1); - delwin(win1); - } - - clear(); - wclear(win); - wrefresh(win); - mvwaddstr(win, 6, 2, "This line shouldn't appear"); - mvwaddstr(win, 4, 2, "Only half of the next line is visible"); - mvwaddstr(win, 5, 2, "Only half of the next line is visible"); - wmove(win, 6, 1); - wclrtobot(win); - wmove(win, 5, 20); - wclrtoeol(win); - mvwaddstr(win, 8, 2, "This line also shouldn't appear"); - wmove(win, 8, 1); - wdeleteln(win); - Continue(win); - - wmove(win, 5, 9); - ch = winch(win); - - wclear(win); - wmove(win, 6, 2); - waddstr(win, "The next char should be l: "); - winsch(win, ch); - Continue(win); - - mvwinsstr(win, 6, 2, "A1B2C3D4E5"); - Continue(win); - - wmove(win, 5, 1); - winsertln(win); - mvwaddstr(win, 5, 2, "The lines below should have moved down"); - Continue(win); - - wclear(win); - wmove(win, 2, 2); - wprintw(win, "This is a formatted string in a window: %d %s\n", 42, - "is it"); - mvwaddstr(win, 10, 1, "Enter a string: "); - wrefresh(win); - noraw(); - echo(); - *Buffer = 0; - wscanw(win, "%s", Buffer); - - printw("This is a formatted string in stdscr: %d %s\n", 42, "is it"); - mvaddstr(10, 1, "Enter a string: "); - *Buffer = 0; - scanw("%s", Buffer); - - if (tigetstr("cvvis") != 0) { - wclear(win); - curs_set(2); - mvwaddstr(win, 1, 1, "The cursor should appear as a block (visible)"); - Continue(win); - } - - if (tigetstr("civis") != 0) { - wclear(win); - curs_set(0); - mvwaddstr(win, 1, 1, - "The cursor should have disappeared (invisible)"); - Continue(win); - } - - if (tigetstr("cnorm") != 0) { - wclear(win); - curs_set(1); - mvwaddstr(win, 1, 1, "The cursor should be an underline (normal)"); - Continue(win); - } -#ifdef A_COLOR - if (has_colors()) { - wclear(win); - mvwaddstr(win, 1, 1, "Colors should change after you press a key"); - Continue(win); - init_pair(1, COLOR_RED, COLOR_WHITE); - wrefresh(win); - } -#endif - - werase(win); - mvwaddstr(win, 1, 1, "Information About Your Terminal"); - mvwaddstr(win, 3, 1, termname()); - mvwaddstr(win, 4, 1, longname()); - if (termattrs() & A_BLINK) - mvwaddstr(win, 5, 1, "This terminal supports blinking."); - else - mvwaddstr(win, 5, 1, "This terminal does NOT support blinking."); - - mvwaddnstr(win, 7, 5, "Have a nice day!ok", 16); - wrefresh(win); - - mvwinnstr(win, 7, 5, Buffer, 18); - mvaddstr(LINES - 2, 10, Buffer); - refresh(); - Continue(win); -} - -#if defined(PDCURSES) && !defined(XCURSES) -static void -resizeTest(WINDOW *dummy GCC_UNUSED) -{ - WINDOW *win1; - - savetty(); - - clear(); - refresh(); -# if defined(OS2) - resize_term(50, 120); -# else - resize_term(50, 80); -# endif - - win1 = newwin(10, 50, 14, 25); - if (win1 == NULL) { - endwin(); - return; - } -#ifdef A_COLOR - if (has_colors()) { - init_pair(3, COLOR_BLUE, COLOR_WHITE); - wattrset(win1, COLOR_PAIR(3)); - } -#endif - wclear(win1); - - mvwaddstr(win1, 1, 1, "The screen may now have 50 lines"); - Continue(win1); - - wclear(win1); - resetty(); - - mvwaddstr(win1, 1, 1, "The screen should now be reset"); - Continue(win1); - - delwin(win1); - - clear(); - refresh(); - -} -#endif - -static void -padTest(WINDOW *dummy GCC_UNUSED) -{ - WINDOW *pad, *spad; - - pad = newpad(50, 100); - wattron(pad, A_REVERSE); - mvwaddstr(pad, 5, 2, "This is a new pad"); - wattrset(pad, A_NORMAL); - mvwaddstr(pad, 8, 0, - "The end of this line should be truncated here:except now"); - mvwaddstr(pad, 11, 1, "This line should not appear.It will now"); - wmove(pad, 10, 1); - wclrtoeol(pad); - mvwaddstr(pad, 10, 1, " Press any key to continue"); - prefresh(pad, 0, 0, 0, 0, 10, 45); - keypad(pad, TRUE); - raw(); - wgetch(pad); - - spad = subpad(pad, 12, 25, 6, 52); - mvwaddstr(spad, 2, 2, "This is a new subpad"); - box(spad, 0, 0); - prefresh(pad, 0, 0, 0, 0, 15, 75); - keypad(pad, TRUE); - raw(); - wgetch(pad); - - mvwaddstr(pad, 35, 2, "This is displayed at line 35 in the pad"); - mvwaddstr(pad, 40, 1, " Press any key to continue"); - prefresh(pad, 30, 0, 0, 0, 10, 45); - keypad(pad, TRUE); - raw(); - wgetch(pad); - - delwin(pad); -} - -static void -display_menu(int old_option, int new_option) -{ - int i; - - attrset(A_NORMAL); - mvaddstr(3, 20, "PDCurses Test Program"); - - for (i = 0; i < (int) MAX_OPTIONS; i++) - mvaddstr(5 + i, 25, command[i].text); - if (old_option != (-1)) - mvaddstr(5 + old_option, 25, command[old_option].text); - attrset(A_REVERSE); - mvaddstr(5 + new_option, 25, command[new_option].text); - attrset(A_NORMAL); - mvaddstr(13, 3, - "Use Up and Down Arrows to select - Enter to run - Q to quit"); - refresh(); -} diff --git a/src/libs/ncurses/test/testscanw.c b/src/libs/ncurses/test/testscanw.c deleted file mode 100644 index 8fc3908fcf..0000000000 --- a/src/libs/ncurses/test/testscanw.c +++ /dev/null @@ -1,40 +0,0 @@ -/* gleaned from a web-search, shows a bug combining scanw and implicit scroll. - * Date: 1997/03/17 - * From: bayern@morpheus.cis.yale.edu - * - * $Id: testscanw.c,v 1.10 2002/10/19 22:11:24 tom Exp $ - */ -#include - -int -main(int argc, char *argv[]) -{ - long badanswer = 1; - long *response = &badanswer; - - setlocale(LC_ALL, ""); - - initscr(); - scrollok(stdscr, TRUE); - idlok(stdscr, TRUE); - echo(); - -#if 0 - trace(TRACE_UPDATE | TRACE_CALLS); -#endif - while (argc > 1) { - if (isdigit(UChar(*argv[1]))) - move(atoi(argv[1]), 0); - else if (!strcmp(argv[1], "-k")) - keypad(stdscr, TRUE); - argc--, argv++; - } - - while (badanswer) { - printw("Enter a number (0 to quit):\n"); - printw("--> "); - scanw("%20ld", response); /* yes, it's a pointer */ - } - endwin(); - ExitProgram(EXIT_SUCCESS); -} diff --git a/src/libs/ncurses/test/view.c b/src/libs/ncurses/test/view.c deleted file mode 100644 index b484b5f947..0000000000 --- a/src/libs/ncurses/test/view.c +++ /dev/null @@ -1,526 +0,0 @@ -/* - * view.c -- a silly little viewer program - * - * written by Eric S. Raymond December 1994 - * to test the scrolling code in ncurses. - * - * modified by Thomas Dickey July 1995 to demonstrate - * the use of 'resizeterm()', and May 2000 to illustrate wide-character - * handling. - * - * Takes a filename argument. It's a simple file-viewer with various - * scroll-up and scroll-down commands. - * - * n -- scroll one line forward - * p -- scroll one line back - * - * Either command accepts a numeric prefix interpreted as a repeat count. - * Thus, typing `5n' should scroll forward 5 lines in the file. - * - * The way you can tell this is working OK is that, in the trace file, - * there should be one scroll operation plus a small number of line - * updates, as opposed to a whole-page update. This means the physical - * scroll operation worked, and the refresh() code only had to do a - * partial repaint. - * - * $Id: view.c,v 1.62 2005/05/28 21:40:25 tom Exp $ - */ - -#include - -#include - -#undef CTRL /* conflict on AIX 5.2 with */ - -#if HAVE_TERMIOS_H -# include -#else -# include -#endif - -#if !defined(sun) || !HAVE_TERMIOS_H -# if HAVE_SYS_IOCTL_H -# include -# endif -#endif - -#define my_pair 1 - -/* This is needed to compile 'struct winsize' */ -#if NEED_PTEM_H -#include -#include -#endif - -static RETSIGTYPE finish(int sig) GCC_NORETURN; -static void show_all(const char *tag); - -#if defined(SIGWINCH) && defined(TIOCGWINSZ) && HAVE_RESIZE_TERM -#define CAN_RESIZE 1 -#else -#define CAN_RESIZE 0 -#endif - -#if CAN_RESIZE -static RETSIGTYPE adjust(int sig); -static int interrupted; -#endif - -static bool waiting = FALSE; -static int shift = 0; -static bool try_color = FALSE; - -static char *fname; -static NCURSES_CH_T **vec_lines; -static NCURSES_CH_T **lptr; -static int num_lines; - -static void -usage(void) -{ - static const char *msg[] = - { - "Usage: view [options] file" - ,"" - ,"Options:" - ," -c use color if terminal supports it" - ," -i ignore INT, QUIT, TERM signals" - ," -n NUM specify maximum number of lines (default 1000)" -#if defined(KEY_RESIZE) - ," -r use old-style sigwinch handler rather than KEY_RESIZE" -#endif -#ifdef TRACE - ," -t trace screen updates" - ," -T NUM specify trace mask" -#endif - }; - size_t n; - for (n = 0; n < SIZEOF(msg); n++) - fprintf(stderr, "%s\n", msg[n]); - ExitProgram(EXIT_FAILURE); -} - -static int -ch_len(NCURSES_CH_T * src) -{ - int result = 0; -#if USE_WIDEC_SUPPORT -#endif - -#if USE_WIDEC_SUPPORT - while (getcchar(src++, NULL, NULL, NULL, NULL) > 0) - result++; -#else - while (*src++) - result++; -#endif - return result; -} - -/* - * Allocate a string into an array of chtype's. If UTF-8 mode is - * active, translate the string accordingly. - */ -static NCURSES_CH_T * -ch_dup(char *src) -{ - unsigned len = strlen(src); - NCURSES_CH_T *dst = typeMalloc(NCURSES_CH_T, len + 1); - unsigned j, k; -#if USE_WIDEC_SUPPORT - wchar_t wstr[CCHARW_MAX + 1]; - wchar_t wch; - int l = 0; - mbstate_t state; - size_t rc; - int width; -#endif - -#if USE_WIDEC_SUPPORT - memset(&state, 0, sizeof(state)); -#endif - for (j = k = 0; j < len; j++) { -#if USE_WIDEC_SUPPORT - rc = mbrtowc(&wch, src + j, len - j, &state); - if (rc == (size_t) -1 || rc == (size_t) -2) - break; - j += rc - 1; - if ((width = wcwidth(wch)) < 0) - break; - if ((width > 0 && l > 0) || l == CCHARW_MAX) { - wstr[l] = L'\0'; - l = 0; - if (setcchar(dst + k, wstr, 0, 0, NULL) != OK) - break; - ++k; - } - if (width == 0 && l == 0) - wstr[l++] = L' '; - wstr[l++] = wch; -#else - dst[k++] = src[j]; -#endif - } -#if USE_WIDEC_SUPPORT - if (l > 0) { - wstr[l] = L'\0'; - if (setcchar(dst + k, wstr, 0, 0, NULL) == OK) - ++k; - } - wstr[0] = L'\0'; - setcchar(dst + k, wstr, 0, 0, NULL); -#else - dst[k] = 0; -#endif - return dst; -} - -int -main(int argc, char *argv[]) -{ - int MAXLINES = 1000; - FILE *fp; - char buf[BUFSIZ]; - int i; - int my_delay = 0; - NCURSES_CH_T **olptr; - int value = 0; - bool done = FALSE; - bool got_number = FALSE; -#if CAN_RESIZE - bool nonposix_resize = FALSE; -#endif - const char *my_label = "Input"; - - setlocale(LC_ALL, ""); - -#ifndef NCURSES_VERSION - /* - * We know ncurses will catch SIGINT if we don't establish our own handler. - * Other versions of curses may/may not catch it. - */ - (void) signal(SIGINT, finish); /* arrange interrupts to terminate */ -#endif - - while ((i = getopt(argc, argv, "cin:rtT:")) != EOF) { - switch (i) { - case 'c': - try_color = TRUE; - break; - case 'i': - signal(SIGINT, SIG_IGN); - signal(SIGQUIT, SIG_IGN); - signal(SIGTERM, SIG_IGN); - break; - case 'n': - if ((MAXLINES = atoi(optarg)) < 1) - usage(); - break; -#if CAN_RESIZE - case 'r': - nonposix_resize = TRUE; - break; -#endif -#ifdef TRACE - case 'T': - trace((unsigned) atoi(optarg)); - break; - case 't': - trace(TRACE_CALLS); - break; -#endif - default: - usage(); - } - } - if (optind + 1 != argc) - usage(); - - if ((vec_lines = typeMalloc(NCURSES_CH_T *, MAXLINES + 2)) == 0) - usage(); - - fname = argv[optind]; - if ((fp = fopen(fname, "r")) == 0) { - perror(fname); - ExitProgram(EXIT_FAILURE); - } -#if CAN_RESIZE - if (nonposix_resize) - (void) signal(SIGWINCH, adjust); /* arrange interrupts to resize */ -#endif - - /* slurp the file */ - for (lptr = &vec_lines[0]; (lptr - vec_lines) < MAXLINES; lptr++) { - char temp[BUFSIZ], *s, *d; - int col; - - if (fgets(buf, sizeof(buf), fp) == 0) - break; - - /* convert tabs so that shift will work properly */ - for (s = buf, d = temp, col = 0; (*d = *s) != '\0'; s++) { - if (*d == '\n') { - *d = '\0'; - break; - } else if (*d == '\t') { - col = (col | 7) + 1; - while ((d - temp) != col) - *d++ = ' '; - } else -#if USE_WIDEC_SUPPORT - col++, d++; -#else - if (isprint(UChar(*d))) { - col++; - d++; - } else { - sprintf(d, "\\%03o", UChar(*s)); - d += strlen(d); - col = (d - temp); - } -#endif - } - *lptr = ch_dup(temp); - } - (void) fclose(fp); - num_lines = lptr - vec_lines; - - (void) initscr(); /* initialize the curses library */ - keypad(stdscr, TRUE); /* enable keyboard mapping */ - (void) nonl(); /* tell curses not to do NL->CR/NL on output */ - (void) cbreak(); /* take input chars one at a time, no wait for \n */ - (void) noecho(); /* don't echo input */ - nodelay(stdscr, TRUE); - idlok(stdscr, TRUE); /* allow use of insert/delete line */ - - if (try_color) { - if (has_colors()) { - start_color(); - init_pair(my_pair, COLOR_WHITE, COLOR_BLUE); - bkgd(COLOR_PAIR(my_pair)); - } else { - try_color = FALSE; - } - } - - lptr = vec_lines; - while (!done) { - int n, c; - - if (!got_number) - show_all(my_label); - - n = 0; - for (;;) { -#if CAN_RESIZE - if (interrupted) { - adjust(0); - my_label = "interrupt"; - } -#endif - waiting = TRUE; - c = getch(); - waiting = FALSE; - if ((c < 127) && isdigit(c)) { - if (!got_number) { - mvprintw(0, 0, "Count: "); - clrtoeol(); - } - addch(UChar(c)); - value = 10 * value + (c - '0'); - got_number = TRUE; - } else - break; - } - if (got_number && value) { - n = value; - } else { - n = 1; - } - - if (c != ERR) - my_label = keyname(c); - switch (c) { - case KEY_DOWN: - case 'n': - olptr = lptr; - for (i = 0; i < n; i++) - if ((lptr - vec_lines) < (num_lines - LINES + 1)) - lptr++; - else - break; - wscrl(stdscr, lptr - olptr); - break; - - case KEY_UP: - case 'p': - olptr = lptr; - for (i = 0; i < n; i++) - if (lptr > vec_lines) - lptr--; - else - break; - wscrl(stdscr, lptr - olptr); - break; - - case 'h': - case KEY_HOME: - lptr = vec_lines; - break; - - case 'e': - case KEY_END: - if (num_lines > LINES) - lptr = vec_lines + num_lines - LINES + 1; - else - lptr = vec_lines; - break; - - case 'r': - case KEY_RIGHT: - shift += n; - break; - - case 'l': - case KEY_LEFT: - shift -= n; - if (shift < 0) { - shift = 0; - beep(); - } - break; - - case 'q': - done = TRUE; - break; - -#ifdef KEY_RESIZE - case KEY_RESIZE: /* ignore this; ncurses will repaint */ - break; -#endif - case 's': - if (got_number) { - halfdelay(my_delay = n); - } else { - nodelay(stdscr, FALSE); - my_delay = -1; - } - break; - case ' ': - nodelay(stdscr, TRUE); - my_delay = 0; - break; - case ERR: - if (!my_delay) - napms(50); - break; - default: - beep(); - break; - } - if (c >= KEY_MIN || (c > 0 && !isdigit(c))) { - got_number = FALSE; - value = 0; - } - } - - finish(0); /* we're done */ -} - -static RETSIGTYPE -finish(int sig) -{ - endwin(); -#if NO_LEAKS - if (vec_lines != 0) { - int n; - for (n = 0; n < num_lines; ++n) { - free(vec_lines[n]); - } - free(vec_lines); - } -#endif - ExitProgram(sig != 0 ? EXIT_FAILURE : EXIT_SUCCESS); -} - -#if CAN_RESIZE -/* - * This uses functions that are "unsafe", but it seems to work on SunOS and - * Linux. Usually: the "unsafe" refers to the functions that POSIX lists - * which may be called from a signal handler. Those do not include buffered - * I/O, which is used for instance in wrefresh(). To be really portable, you - * should use the KEY_RESIZE return (which relies on ncurses' sigwinch - * handler). - * - * The 'wrefresh(curscr)' is needed to force the refresh to start from the top - * of the screen -- some xterms mangle the bitmap while resizing. - */ -static RETSIGTYPE -adjust(int sig) -{ - if (waiting || sig == 0) { - struct winsize size; - - if (ioctl(fileno(stdout), TIOCGWINSZ, &size) == 0) { - resize_term(size.ws_row, size.ws_col); - wrefresh(curscr); /* Linux needs this */ - show_all(sig ? "SIGWINCH" : "interrupt"); - } - interrupted = FALSE; - } else { - interrupted = TRUE; - } - (void) signal(SIGWINCH, adjust); /* some systems need this */ -} -#endif /* CAN_RESIZE */ - -static void -show_all(const char *tag) -{ - int i; - char temp[BUFSIZ]; - NCURSES_CH_T *s; - time_t this_time; - -#if CAN_RESIZE - sprintf(temp, "%s (%3dx%3d) col %d ", tag, LINES, COLS, shift); - i = strlen(temp); - sprintf(temp + i, "view %.*s", (int) (sizeof(temp) - 7 - i), fname); -#else - sprintf(temp, "view %.*s", (int) sizeof(temp) - 7, fname); -#endif - move(0, 0); - printw("%.*s", COLS, temp); - clrtoeol(); - this_time = time((time_t *) 0); - strcpy(temp, ctime(&this_time)); - if ((i = strlen(temp)) != 0) { - temp[--i] = 0; - if (move(0, COLS - i - 2) != ERR) - printw(" %s", temp); - } - - scrollok(stdscr, FALSE); /* prevent screen from moving */ - for (i = 1; i < LINES; i++) { - move(i, 0); - printw("%3ld:", (long) (lptr + i - vec_lines)); - clrtoeol(); - if ((s = lptr[i - 1]) != 0) { - int len = ch_len(s); - if (len > shift) { -#if USE_WIDEC_SUPPORT - add_wchstr(s + shift); -#else - addchstr(s + shift); -#endif - } -#if defined(NCURSES_VERSION) || defined(HAVE_WCHGAT) - if (try_color) - wchgat(stdscr, -1, A_NORMAL, my_pair, NULL); -#endif - } - } - setscrreg(1, LINES - 1); - scrollok(stdscr, TRUE); - refresh(); -} diff --git a/src/libs/ncurses/test/worm.c b/src/libs/ncurses/test/worm.c deleted file mode 100644 index 3840a36303..0000000000 --- a/src/libs/ncurses/test/worm.c +++ /dev/null @@ -1,427 +0,0 @@ -/* - - @@@ @@@ @@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@ - @@@ @@@ @@@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@@@@@@@@ - @@@ @@@ @@@@ @@@@ @@@@ @@@@ @@@ @@@@ - @@@ @@ @@@ @@@ @@@ @@@ @@@ @@@ @@@ - @@@ @@@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@ - @@@@ @@@@ @@@@ @@@ @@@ @@@ @@@ @@@ @@@ - @@@@@@@@@@@@ @@@@ @@@@ @@@ @@@ @@@ @@@ - @@@@ @@@@ @@@@@@@@@@@@ @@@ @@@ @@@ @@@ - @@ @@ @@@@@@@@@@ @@@ @@@ @@@ @@@ - - Eric P. Scott - Caltech High Energy Physics - October, 1980 - - Hacks to turn this into a test frame for cursor movement: - Eric S. Raymond - January, 1995 - - July 1995 (esr): worms is now in living color! :-) - -Options: - -f fill screen with copies of 'WORM' at start. - -l set worm length - -n set number of worms - -t make worms leave droppings - -T set trace interval - -S set single-stepping during trace interval - -N suppress cursor-movement optimization - - This program makes a good torture-test for the ncurses cursor-optimization - code. You can use -T to set the worm move interval over which movement - traces will be dumped. The program stops and waits for one character of - input at the beginning and end of the interval. - - $Id: worm.c,v 1.39 2005/08/20 20:26:29 tom Exp $ -*/ - -#include - -static chtype flavor[] = -{ - 'O', '*', '#', '$', '%', '0', '@', -}; -static const short xinc[] = -{ - 1, 1, 1, 0, -1, -1, -1, 0 -}, yinc[] = -{ - -1, 0, 1, 1, 1, 0, -1, -1 -}; -static struct worm { - int orientation, head; - short *xpos, *ypos; -} worm[40]; - -static const char *field; -static int length = 16, number = 3; -static chtype trail = ' '; - -#ifdef TRACE -static int generation, trace_start, trace_end, singlestep; -#endif /* TRACE */ -/* *INDENT-OFF* */ -static const struct options { - int nopts; - int opts[3]; -} normal[8]={ - { 3, { 7, 0, 1 } }, - { 3, { 0, 1, 2 } }, - { 3, { 1, 2, 3 } }, - { 3, { 2, 3, 4 } }, - { 3, { 3, 4, 5 } }, - { 3, { 4, 5, 6 } }, - { 3, { 5, 6, 7 } }, - { 3, { 6, 7, 0 } } -}, upper[8]={ - { 1, { 1, 0, 0 } }, - { 2, { 1, 2, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 2, { 4, 5, 0 } }, - { 1, { 5, 0, 0 } }, - { 2, { 1, 5, 0 } } -}, left[8]={ - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 2, { 2, 3, 0 } }, - { 1, { 3, 0, 0 } }, - { 2, { 3, 7, 0 } }, - { 1, { 7, 0, 0 } }, - { 2, { 7, 0, 0 } } -}, right[8]={ - { 1, { 7, 0, 0 } }, - { 2, { 3, 7, 0 } }, - { 1, { 3, 0, 0 } }, - { 2, { 3, 4, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 2, { 6, 7, 0 } } -}, lower[8]={ - { 0, { 0, 0, 0 } }, - { 2, { 0, 1, 0 } }, - { 1, { 1, 0, 0 } }, - { 2, { 1, 5, 0 } }, - { 1, { 5, 0, 0 } }, - { 2, { 5, 6, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } } -}, upleft[8]={ - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 1, { 3, 0, 0 } }, - { 2, { 1, 3, 0 } }, - { 1, { 1, 0, 0 } } -}, upright[8]={ - { 2, { 3, 5, 0 } }, - { 1, { 3, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 1, { 5, 0, 0 } } -}, lowleft[8]={ - { 3, { 7, 0, 1 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 1, { 1, 0, 0 } }, - { 2, { 1, 7, 0 } }, - { 1, { 7, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } } -}, lowright[8]={ - { 0, { 0, 0, 0 } }, - { 1, { 7, 0, 0 } }, - { 2, { 5, 7, 0 } }, - { 1, { 5, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } }, - { 0, { 0, 0, 0 } } -}; -/* *INDENT-ON* */ - -static void -cleanup(void) -{ - standend(); - refresh(); - curs_set(1); - endwin(); -} - -static RETSIGTYPE -onsig(int sig GCC_UNUSED) -{ - cleanup(); - ExitProgram(EXIT_FAILURE); -} - -static float -ranf(void) -{ - long r = (rand() & 077777); - return ((float) r / 32768.); -} - -int -main(int argc, char *argv[]) -{ - short **ref; - int x, y; - int n; - struct worm *w; - const struct options *op; - int h; - short *ip; - int last, bottom; - - setlocale(LC_ALL, ""); - - for (x = 1; x < argc; x++) { - char *p; - p = argv[x]; - if (*p == '-') - p++; - switch (*p) { - case 'f': - field = "WORM"; - break; - case 'l': - if (++x == argc) - goto usage; - if ((length = atoi(argv[x])) < 2 || length > 1024) { - fprintf(stderr, "%s: Invalid length\n", *argv); - ExitProgram(EXIT_FAILURE); - } - break; - case 'n': - if (++x == argc) - goto usage; - if ((number = atoi(argv[x])) < 1 || number > 40) { - fprintf(stderr, "%s: Invalid number of worms\n", *argv); - ExitProgram(EXIT_FAILURE); - } - break; - case 't': - trail = '.'; - break; -#ifdef TRACE - case 'S': - singlestep = TRUE; - break; - case 'T': - trace_start = atoi(argv[++x]); - trace_end = atoi(argv[++x]); - break; - case 'N': - _nc_optimize_enable ^= OPTIMIZE_ALL; /* declared by ncurses */ - break; -#endif /* TRACE */ - default: - usage: - fprintf(stderr, - "usage: %s [-field] [-length #] [-number #] [-trail]\n", *argv); - ExitProgram(EXIT_FAILURE); - } - } - - signal(SIGINT, onsig); - initscr(); - noecho(); - cbreak(); - nonl(); - - curs_set(0); - - bottom = LINES - 1; - last = COLS - 1; - -#ifdef A_COLOR - if (has_colors()) { - int bg = COLOR_BLACK; - start_color(); -#if HAVE_USE_DEFAULT_COLORS - if (use_default_colors() == OK) - bg = -1; -#endif - -#define SET_COLOR(num, fg) \ - init_pair(num+1, fg, bg); \ - flavor[num] |= COLOR_PAIR(num+1) | A_BOLD - - SET_COLOR(0, COLOR_GREEN); - SET_COLOR(1, COLOR_RED); - SET_COLOR(2, COLOR_CYAN); - SET_COLOR(3, COLOR_WHITE); - SET_COLOR(4, COLOR_MAGENTA); - SET_COLOR(5, COLOR_BLUE); - SET_COLOR(6, COLOR_YELLOW); - } -#endif /* A_COLOR */ - - ref = typeMalloc(short *, LINES); - for (y = 0; y < LINES; y++) { - ref[y] = typeMalloc(short, COLS); - for (x = 0; x < COLS; x++) { - ref[y][x] = 0; - } - } - -#ifdef BADCORNER - /* if addressing the lower right corner doesn't work in your curses */ - ref[bottom][last] = 1; -#endif /* BADCORNER */ - - for (n = number, w = &worm[0]; --n >= 0; w++) { - w->orientation = w->head = 0; - if (!(ip = typeMalloc(short, (length + 1)))) { - fprintf(stderr, "%s: out of memory\n", *argv); - ExitProgram(EXIT_FAILURE); - } - w->xpos = ip; - for (x = length; --x >= 0;) - *ip++ = -1; - if (!(ip = typeMalloc(short, (length + 1)))) { - fprintf(stderr, "%s: out of memory\n", *argv); - ExitProgram(EXIT_FAILURE); - } - w->ypos = ip; - for (y = length; --y >= 0;) - *ip++ = -1; - } - if (field) { - const char *p; - p = field; - for (y = bottom; --y >= 0;) { - for (x = COLS; --x >= 0;) { - addch((chtype) (*p++)); - if (!*p) - p = field; - } - } - } - napms(10); - refresh(); -#ifndef TRACE - nodelay(stdscr, TRUE); -#endif - - for (;;) { -#ifdef TRACE - if (trace_start || trace_end) { - if (generation == trace_start) { - trace(TRACE_CALLS); - getch(); - } else if (generation == trace_end) { - trace(0); - getch(); - } - - if (singlestep && generation > trace_start && generation < trace_end) - getch(); - - generation++; - } -#else - int ch; - - if ((ch = getch()) > 0) { -#ifdef KEY_RESIZE - if (ch == KEY_RESIZE) { - if (last != COLS - 1) { - for (y = 0; y <= bottom; y++) { - ref[y] = typeRealloc(short, COLS, ref[y]); - for (x = last + 1; x < COLS; x++) - ref[y][x] = 0; - } - last = COLS - 1; - } - if (bottom != LINES - 1) { - for (y = LINES; y <= bottom; y++) - free(ref[y]); - ref = typeRealloc(short *, LINES, ref); - for (y = bottom + 1; y < LINES; y++) { - ref[y] = typeMalloc(short, COLS); - for (x = 0; x < COLS; x++) - ref[y][x] = 0; - } - bottom = LINES - 1; - } - } -#endif - /* - * Make it simple to put this into single-step mode, or resume - * normal operation -T.Dickey - */ - if (ch == 'q') { - cleanup(); - ExitProgram(EXIT_SUCCESS); - } else if (ch == 's') { - nodelay(stdscr, FALSE); - } else if (ch == ' ') { - nodelay(stdscr, TRUE); - } - } -#endif /* TRACE */ - - for (n = 0, w = &worm[0]; n < number; n++, w++) { - if ((x = w->xpos[h = w->head]) < 0) { - move(y = w->ypos[h] = bottom, x = w->xpos[h] = 0); - addch(flavor[n % SIZEOF(flavor)]); - ref[y][x]++; - } else { - y = w->ypos[h]; - } - if (x > last) - x = last; - if (y > bottom) - y = bottom; - if (++h == length) - h = 0; - if (w->xpos[w->head = h] >= 0) { - int x1, y1; - x1 = w->xpos[h]; - y1 = w->ypos[h]; - if (y1 < LINES - && x1 < COLS - && --ref[y1][x1] == 0) { - move(y1, x1); - addch(trail); - } - } - op = &(x == 0 ? (y == 0 ? upleft : (y == bottom ? lowleft : - left)) : - (x == last ? (y == 0 ? upright : (y == bottom ? lowright : - right)) : - (y == 0 ? upper : (y == bottom ? lower : normal))))[w->orientation]; - switch (op->nopts) { - case 0: - cleanup(); - ExitProgram(EXIT_SUCCESS); - case 1: - w->orientation = op->opts[0]; - break; - default: - w->orientation = op->opts[(int) (ranf() * (float) op->nopts)]; - } - move(y += yinc[w->orientation], x += xinc[w->orientation]); - - if (y < 0) - y = 0; - addch(flavor[n % SIZEOF(flavor)]); - ref[w->ypos[h] = y][w->xpos[h] = x]++; - } - napms(10); - refresh(); - } -} diff --git a/src/libs/ncurses/test/xmas.c b/src/libs/ncurses/test/xmas.c deleted file mode 100644 index 2ea08aef03..0000000000 --- a/src/libs/ncurses/test/xmas.c +++ /dev/null @@ -1,1159 +0,0 @@ -/******************************************************************************/ -/* asciixmas */ -/* December 1989 Larry Bartz Indianapolis, IN */ -/* */ -/* */ -/* I'm dreaming of an ascii character-based monochrome Christmas, */ -/* Just like the one's I used to know! */ -/* Via a full duplex communications channel, */ -/* At 9600 bits per second, */ -/* Even though it's kinda slow. */ -/* */ -/* I'm dreaming of an ascii character-based monochrome Christmas, */ -/* With ev'ry C program I write! */ -/* May your screen be merry and bright! */ -/* And may all your Christmases be amber or green, */ -/* (for reduced eyestrain and improved visibility)! */ -/* */ -/* */ -/* */ -/* */ -/* */ -/* IMPLEMENTATION */ -/* */ -/* Feel free to modify the defined string FROMWHO to reflect you, your */ -/* organization, your site, whatever. */ -/* */ -/* This really looks a lot better if you can turn off your cursor before */ -/* execution. I wanted to do that here but very few termcap entries or */ -/* terminfo definitions have the appropriate string defined. If you know */ -/* the string(s) for the terminal(s) you use or which your site supports, */ -/* you could call asciixmas from within a shell in which you issue the */ -/* string to the terminal. The cursor is distracting but it doesn't really */ -/* ruin the show. */ -/* */ -/* At our site, we invoke this for our users just after login and the */ -/* determination of terminal type. */ -/* */ -/* */ -/* PORTABILITY */ -/* */ -/* I wrote this using only the very simplest curses functions so that it */ -/* might be the most portable. I was personally able to test on five */ -/* different cpu/UNIX combinations. */ -/* */ -/* */ -/* COMPILE */ -/* */ -/* usually this: */ -/* */ -/* cc -O asciixmas.c -lcurses -o asciixmas -s */ -/* */ -/* */ -/* Zilog S8000 models 11, 21, 31, etc with ZEUS variant of SYSTEM III */ -/* maybe other SYSTEM III also: */ -/* */ -/* cc asciixmas.c -lcurses -ltermlib -o asciixmas -s */ -/* */ -/* as above with optional "peephole optimizer" installed: */ -/* */ -/* cc -O asciixmas.c -lcurses -ltermlib -o asciixmas -s */ -/* */ -/* */ -/* Zilog S8000 models 32, 130 with WE32100 chip and SYS V, REL2 */ -/* maybe 3B2 also? */ -/* */ -/* cc -f -O -K sd asciixmas.c -lcurses -o asciixmas -s */ -/* */ -/* */ -/* Pyramid, Sequent, any other "dual universe" types compile and execute */ -/* under either universe. The compile line for the ucb universe (as you */ -/* might expect) is the same as for SYS III UNIX: */ -/* */ -/* cc -O asciixmas.c -lcurses -ltermlib -o asciixmas -s */ -/* */ -/* The above compile will also hold true for other BSD systems. (I hope) */ -/* */ -/* */ -/* */ -/* */ -/* For the Scrooges out there among you who don't want this thing to loop */ -/* forever (or until the user hits a key), insert this into your compile */ -/* line just after "cc" : */ -/* */ -/* -DNOLOOP */ -/* */ -/* like so: */ -/* */ -/* cc -DNOLOOP -O asciixmas.c -lcurses -o asciixmas -s */ -/* */ -/* */ -/* */ -/******************************************************************************/ - -/* - * $Id: xmas.c,v 1.20 2005/04/16 16:34:38 tom Exp $ - */ -#include - -#define FROMWHO "Mark Hessling - (M.Hessling@gu.edu.au)" - -static int my_bg = COLOR_BLACK; -static int y_pos, x_pos; - -static WINDOW *treescrn; -static WINDOW *treescrn2; -static WINDOW *treescrn3; -static WINDOW *treescrn4; -static WINDOW *treescrn5; -static WINDOW *treescrn6; -static WINDOW *treescrn7; -static WINDOW *treescrn8; -static WINDOW *dotdeer0; -static WINDOW *stardeer0; -static WINDOW *lildeer0; -static WINDOW *lildeer1; -static WINDOW *lildeer2; -static WINDOW *lildeer3; -static WINDOW *middeer0; -static WINDOW *middeer1; -static WINDOW *middeer2; -static WINDOW *middeer3; -static WINDOW *bigdeer0; -static WINDOW *bigdeer1; -static WINDOW *bigdeer2; -static WINDOW *bigdeer3; -static WINDOW *bigdeer4; -static WINDOW *lookdeer0; -static WINDOW *lookdeer1; -static WINDOW *lookdeer2; -static WINDOW *lookdeer3; -static WINDOW *lookdeer4; -static WINDOW *w_holiday; -static WINDOW *w_del_msg; - -static int boxit(void); -static int seas(void); -static int greet(void); -static int fromwho(void); -static int tree(void); -static int balls(void); -static int star(void); -static int strng1(void); -static int strng2(void); -static int strng3(void); -static int strng4(void); -static int strng5(void); -static int reindeer(void); -static int blinkit(void); - -static RETSIGTYPE done(int sig) GCC_NORETURN; - -static void -set_color(WINDOW *win, chtype color) -{ - if (has_colors()) { - static bool *pairs; - int n = (color + 1); - if (pairs == 0) - pairs = (bool *) calloc((unsigned) (COLORS + 1), sizeof(bool)); - if (!pairs[n]) { - init_pair(n, color, my_bg); - pairs[n] = TRUE; - } - wattroff(win, A_COLOR); - wattron(win, COLOR_PAIR(n)); - } -} - -static void -unset_color(WINDOW *win) -{ - if (has_colors()) - wattrset(win, COLOR_PAIR(0)); -} - -static void -look_out(int msecs) -{ - napms(msecs); - if (getch() != ERR) { - beep(); - done(0); - } -} - -int -main(int argc GCC_UNUSED, char **argv GCC_UNUSED) -{ - int loopy; - - setlocale(LC_ALL, ""); - - initscr(); - noecho(); - nonl(); - refresh(); - signal(SIGINT, done); - signal(SIGTERM, done); -#if !defined DOS && !defined OS2 - signal(SIGHUP, done); - signal(SIGQUIT, done); -#endif - if (has_colors()) { - start_color(); -#if HAVE_USE_DEFAULT_COLORS - if (use_default_colors() == OK) - my_bg = -1; -#endif - } - curs_set(0); - - treescrn = newwin(16, 27, 3, 53); - treescrn2 = newwin(16, 27, 3, 53); - treescrn3 = newwin(16, 27, 3, 53); - treescrn4 = newwin(16, 27, 3, 53); - treescrn5 = newwin(16, 27, 3, 53); - treescrn6 = newwin(16, 27, 3, 53); - treescrn7 = newwin(16, 27, 3, 53); - treescrn8 = newwin(16, 27, 3, 53); - - dotdeer0 = newwin(3, 71, 0, 8); - - stardeer0 = newwin(4, 56, 0, 8); - - lildeer0 = newwin(7, 53, 0, 8); - lildeer1 = newwin(2, 4, 0, 0); - lildeer2 = newwin(2, 4, 0, 0); - lildeer3 = newwin(2, 4, 0, 0); - - middeer0 = newwin(15, 42, 0, 8); - middeer1 = newwin(3, 7, 0, 0); - middeer2 = newwin(3, 7, 0, 0); - middeer3 = newwin(3, 7, 0, 0); - - bigdeer0 = newwin(10, 23, 0, 0); - bigdeer1 = newwin(10, 23, 0, 0); - bigdeer2 = newwin(10, 23, 0, 0); - bigdeer3 = newwin(10, 23, 0, 0); - bigdeer4 = newwin(10, 23, 0, 0); - - lookdeer0 = newwin(10, 25, 0, 0); - lookdeer1 = newwin(10, 25, 0, 0); - lookdeer2 = newwin(10, 25, 0, 0); - lookdeer3 = newwin(10, 25, 0, 0); - lookdeer4 = newwin(10, 25, 0, 0); - - w_holiday = newwin(1, 26, 3, 27); - - w_del_msg = newwin(1, 19, 23, 60); - - mvwaddstr(w_del_msg, 0, 0, "Hit any key to quit"); - - mvwaddstr(w_holiday, 0, 0, "H A P P Y H O L I D A Y S"); - - /* set up the windows for our various reindeer */ - - /* lildeer1 */ - mvwaddch(lildeer1, 0, 0, (chtype) 'V'); - mvwaddch(lildeer1, 1, 0, (chtype) '@'); - mvwaddch(lildeer1, 1, 1, (chtype) '<'); - mvwaddch(lildeer1, 1, 2, (chtype) '>'); - mvwaddch(lildeer1, 1, 3, (chtype) '~'); - - /* lildeer2 */ - mvwaddch(lildeer2, 0, 0, (chtype) 'V'); - mvwaddch(lildeer2, 1, 0, (chtype) '@'); - mvwaddch(lildeer2, 1, 1, (chtype) '|'); - mvwaddch(lildeer2, 1, 2, (chtype) '|'); - mvwaddch(lildeer2, 1, 3, (chtype) '~'); - - /* lildeer3 */ - mvwaddch(lildeer3, 0, 0, (chtype) 'V'); - mvwaddch(lildeer3, 1, 0, (chtype) '@'); - mvwaddch(lildeer3, 1, 1, (chtype) '>'); - mvwaddch(lildeer3, 1, 2, (chtype) '<'); - mvwaddch(lildeer2, 1, 3, (chtype) '~'); - - /* middeer1 */ - mvwaddch(middeer1, 0, 2, (chtype) 'y'); - mvwaddch(middeer1, 0, 3, (chtype) 'y'); - mvwaddch(middeer1, 1, 2, (chtype) '0'); - mvwaddch(middeer1, 1, 3, (chtype) '('); - mvwaddch(middeer1, 1, 4, (chtype) '='); - mvwaddch(middeer1, 1, 5, (chtype) ')'); - mvwaddch(middeer1, 1, 6, (chtype) '~'); - mvwaddch(middeer1, 2, 3, (chtype) '\\'); - mvwaddch(middeer1, 2, 4, (chtype) '/'); - - /* middeer2 */ - mvwaddch(middeer2, 0, 2, (chtype) 'y'); - mvwaddch(middeer2, 0, 3, (chtype) 'y'); - mvwaddch(middeer2, 1, 2, (chtype) '0'); - mvwaddch(middeer2, 1, 3, (chtype) '('); - mvwaddch(middeer2, 1, 4, (chtype) '='); - mvwaddch(middeer2, 1, 5, (chtype) ')'); - mvwaddch(middeer2, 1, 6, (chtype) '~'); - mvwaddch(middeer2, 2, 3, (chtype) '|'); - mvwaddch(middeer2, 2, 5, (chtype) '|'); - - /* middeer3 */ - mvwaddch(middeer3, 0, 2, (chtype) 'y'); - mvwaddch(middeer3, 0, 3, (chtype) 'y'); - mvwaddch(middeer3, 1, 2, (chtype) '0'); - mvwaddch(middeer3, 1, 3, (chtype) '('); - mvwaddch(middeer3, 1, 4, (chtype) '='); - mvwaddch(middeer3, 1, 5, (chtype) ')'); - mvwaddch(middeer3, 1, 6, (chtype) '~'); - mvwaddch(middeer3, 2, 2, (chtype) '/'); - mvwaddch(middeer3, 2, 6, (chtype) '\\'); - - /* bigdeer1 */ - mvwaddch(bigdeer1, 0, 17, (chtype) '\\'); - mvwaddch(bigdeer1, 0, 18, (chtype) '/'); - mvwaddch(bigdeer1, 0, 20, (chtype) '\\'); - mvwaddch(bigdeer1, 0, 21, (chtype) '/'); - mvwaddch(bigdeer1, 1, 18, (chtype) '\\'); - mvwaddch(bigdeer1, 1, 20, (chtype) '/'); - mvwaddch(bigdeer1, 2, 19, (chtype) '|'); - mvwaddch(bigdeer1, 2, 20, (chtype) '_'); - mvwaddch(bigdeer1, 3, 18, (chtype) '/'); - mvwaddch(bigdeer1, 3, 19, (chtype) '^'); - mvwaddch(bigdeer1, 3, 20, (chtype) '0'); - mvwaddch(bigdeer1, 3, 21, (chtype) '\\'); - mvwaddch(bigdeer1, 4, 17, (chtype) '/'); - mvwaddch(bigdeer1, 4, 18, (chtype) '/'); - mvwaddch(bigdeer1, 4, 19, (chtype) '\\'); - mvwaddch(bigdeer1, 4, 22, (chtype) '\\'); - mvwaddstr(bigdeer1, 5, 7, "^~~~~~~~~// ~~U"); - mvwaddstr(bigdeer1, 6, 7, "( \\_____( /"); - mvwaddstr(bigdeer1, 7, 8, "( ) /"); - mvwaddstr(bigdeer1, 8, 9, "\\\\ /"); - mvwaddstr(bigdeer1, 9, 11, "\\>/>"); - - /* bigdeer2 */ - mvwaddch(bigdeer2, 0, 17, (chtype) '\\'); - mvwaddch(bigdeer2, 0, 18, (chtype) '/'); - mvwaddch(bigdeer2, 0, 20, (chtype) '\\'); - mvwaddch(bigdeer2, 0, 21, (chtype) '/'); - mvwaddch(bigdeer2, 1, 18, (chtype) '\\'); - mvwaddch(bigdeer2, 1, 20, (chtype) '/'); - mvwaddch(bigdeer2, 2, 19, (chtype) '|'); - mvwaddch(bigdeer2, 2, 20, (chtype) '_'); - mvwaddch(bigdeer2, 3, 18, (chtype) '/'); - mvwaddch(bigdeer2, 3, 19, (chtype) '^'); - mvwaddch(bigdeer2, 3, 20, (chtype) '0'); - mvwaddch(bigdeer2, 3, 21, (chtype) '\\'); - mvwaddch(bigdeer2, 4, 17, (chtype) '/'); - mvwaddch(bigdeer2, 4, 18, (chtype) '/'); - mvwaddch(bigdeer2, 4, 19, (chtype) '\\'); - mvwaddch(bigdeer2, 4, 22, (chtype) '\\'); - mvwaddstr(bigdeer2, 5, 7, "^~~~~~~~~// ~~U"); - mvwaddstr(bigdeer2, 6, 7, "(( )____( /"); - mvwaddstr(bigdeer2, 7, 7, "( / |"); - mvwaddstr(bigdeer2, 8, 8, "\\/ |"); - mvwaddstr(bigdeer2, 9, 9, "|> |>"); - - /* bigdeer3 */ - mvwaddch(bigdeer3, 0, 17, (chtype) '\\'); - mvwaddch(bigdeer3, 0, 18, (chtype) '/'); - mvwaddch(bigdeer3, 0, 20, (chtype) '\\'); - mvwaddch(bigdeer3, 0, 21, (chtype) '/'); - mvwaddch(bigdeer3, 1, 18, (chtype) '\\'); - mvwaddch(bigdeer3, 1, 20, (chtype) '/'); - mvwaddch(bigdeer3, 2, 19, (chtype) '|'); - mvwaddch(bigdeer3, 2, 20, (chtype) '_'); - mvwaddch(bigdeer3, 3, 18, (chtype) '/'); - mvwaddch(bigdeer3, 3, 19, (chtype) '^'); - mvwaddch(bigdeer3, 3, 20, (chtype) '0'); - mvwaddch(bigdeer3, 3, 21, (chtype) '\\'); - mvwaddch(bigdeer3, 4, 17, (chtype) '/'); - mvwaddch(bigdeer3, 4, 18, (chtype) '/'); - mvwaddch(bigdeer3, 4, 19, (chtype) '\\'); - mvwaddch(bigdeer3, 4, 22, (chtype) '\\'); - mvwaddstr(bigdeer3, 5, 7, "^~~~~~~~~// ~~U"); - mvwaddstr(bigdeer3, 6, 6, "( ()_____( /"); - mvwaddstr(bigdeer3, 7, 6, "/ / /"); - mvwaddstr(bigdeer3, 8, 5, "|/ \\"); - mvwaddstr(bigdeer3, 9, 5, "/> \\>"); - - /* bigdeer4 */ - mvwaddch(bigdeer4, 0, 17, (chtype) '\\'); - mvwaddch(bigdeer4, 0, 18, (chtype) '/'); - mvwaddch(bigdeer4, 0, 20, (chtype) '\\'); - mvwaddch(bigdeer4, 0, 21, (chtype) '/'); - mvwaddch(bigdeer4, 1, 18, (chtype) '\\'); - mvwaddch(bigdeer4, 1, 20, (chtype) '/'); - mvwaddch(bigdeer4, 2, 19, (chtype) '|'); - mvwaddch(bigdeer4, 2, 20, (chtype) '_'); - mvwaddch(bigdeer4, 3, 18, (chtype) '/'); - mvwaddch(bigdeer4, 3, 19, (chtype) '^'); - mvwaddch(bigdeer4, 3, 20, (chtype) '0'); - mvwaddch(bigdeer4, 3, 21, (chtype) '\\'); - mvwaddch(bigdeer4, 4, 17, (chtype) '/'); - mvwaddch(bigdeer4, 4, 18, (chtype) '/'); - mvwaddch(bigdeer4, 4, 19, (chtype) '\\'); - mvwaddch(bigdeer4, 4, 22, (chtype) '\\'); - mvwaddstr(bigdeer4, 5, 7, "^~~~~~~~~// ~~U"); - mvwaddstr(bigdeer4, 6, 6, "( )______( /"); - mvwaddstr(bigdeer4, 7, 5, "(/ \\"); - mvwaddstr(bigdeer4, 8, 0, "v___= ----^"); - - /* lookdeer1 */ - mvwaddstr(lookdeer1, 0, 16, "\\/ \\/"); - mvwaddstr(lookdeer1, 1, 17, "\\Y/ \\Y/"); - mvwaddstr(lookdeer1, 2, 19, "\\=/"); - mvwaddstr(lookdeer1, 3, 17, "^\\o o/^"); - mvwaddstr(lookdeer1, 4, 17, "//( )"); - mvwaddstr(lookdeer1, 5, 7, "^~~~~~~~~// \\O/"); - mvwaddstr(lookdeer1, 6, 7, "( \\_____( /"); - mvwaddstr(lookdeer1, 7, 8, "( ) /"); - mvwaddstr(lookdeer1, 8, 9, "\\\\ /"); - mvwaddstr(lookdeer1, 9, 11, "\\>/>"); - - /* lookdeer2 */ - mvwaddstr(lookdeer2, 0, 16, "\\/ \\/"); - mvwaddstr(lookdeer2, 1, 17, "\\Y/ \\Y/"); - mvwaddstr(lookdeer2, 2, 19, "\\=/"); - mvwaddstr(lookdeer2, 3, 17, "^\\o o/^"); - mvwaddstr(lookdeer2, 4, 17, "//( )"); - mvwaddstr(lookdeer2, 5, 7, "^~~~~~~~~// \\O/"); - mvwaddstr(lookdeer2, 6, 7, "(( )____( /"); - mvwaddstr(lookdeer2, 7, 7, "( / |"); - mvwaddstr(lookdeer2, 8, 8, "\\/ |"); - mvwaddstr(lookdeer2, 9, 9, "|> |>"); - - /* lookdeer3 */ - mvwaddstr(lookdeer3, 0, 16, "\\/ \\/"); - mvwaddstr(lookdeer3, 1, 17, "\\Y/ \\Y/"); - mvwaddstr(lookdeer3, 2, 19, "\\=/"); - mvwaddstr(lookdeer3, 3, 17, "^\\o o/^"); - mvwaddstr(lookdeer3, 4, 17, "//( )"); - mvwaddstr(lookdeer3, 5, 7, "^~~~~~~~~// \\O/"); - mvwaddstr(lookdeer3, 6, 6, "( ()_____( /"); - mvwaddstr(lookdeer3, 7, 6, "/ / /"); - mvwaddstr(lookdeer3, 8, 5, "|/ \\"); - mvwaddstr(lookdeer3, 9, 5, "/> \\>"); - - /* lookdeer4 */ - mvwaddstr(lookdeer4, 0, 16, "\\/ \\/"); - mvwaddstr(lookdeer4, 1, 17, "\\Y/ \\Y/"); - mvwaddstr(lookdeer4, 2, 19, "\\=/"); - mvwaddstr(lookdeer4, 3, 17, "^\\o o/^"); - mvwaddstr(lookdeer4, 4, 17, "//( )"); - mvwaddstr(lookdeer4, 5, 7, "^~~~~~~~~// \\O/"); - mvwaddstr(lookdeer4, 6, 6, "( )______( /"); - mvwaddstr(lookdeer4, 7, 5, "(/ \\"); - mvwaddstr(lookdeer4, 8, 0, "v___= ----^"); - - /***********************************************/ - cbreak(); - nodelay(stdscr, TRUE); - for (;;) { - clear(); - werase(treescrn); - touchwin(w_del_msg); - touchwin(treescrn); - werase(treescrn2); - touchwin(treescrn2); - werase(treescrn8); - touchwin(treescrn8); - refresh(); - look_out(150); - boxit(); - refresh(); - look_out(150); - seas(); - refresh(); - look_out(150); - greet(); - refresh(); - look_out(150); - fromwho(); - refresh(); - look_out(150); - tree(); - look_out(150); - balls(); - look_out(150); - star(); - look_out(150); - strng1(); - strng2(); - strng3(); - strng4(); - strng5(); - - /* set up the windows for our blinking trees */ - /* **************************************** */ - /* treescrn3 */ - - overlay(treescrn, treescrn3); - - /*balls */ - mvwaddch(treescrn3, 4, 18, ' '); - mvwaddch(treescrn3, 7, 6, ' '); - mvwaddch(treescrn3, 8, 19, ' '); - mvwaddch(treescrn3, 11, 22, ' '); - - /*star */ - mvwaddch(treescrn3, 0, 12, '*'); - - /*strng1 */ - mvwaddch(treescrn3, 3, 11, ' '); - - /*strng2 */ - mvwaddch(treescrn3, 5, 13, ' '); - mvwaddch(treescrn3, 6, 10, ' '); - - /*strng3 */ - mvwaddch(treescrn3, 7, 16, ' '); - mvwaddch(treescrn3, 7, 14, ' '); - - /*strng4 */ - mvwaddch(treescrn3, 10, 13, ' '); - mvwaddch(treescrn3, 10, 10, ' '); - mvwaddch(treescrn3, 11, 8, ' '); - - /*strng5 */ - mvwaddch(treescrn3, 11, 18, ' '); - mvwaddch(treescrn3, 12, 13, ' '); - - /* treescrn4 */ - - overlay(treescrn, treescrn4); - - /*balls */ - mvwaddch(treescrn4, 3, 9, ' '); - mvwaddch(treescrn4, 4, 16, ' '); - mvwaddch(treescrn4, 7, 6, ' '); - mvwaddch(treescrn4, 8, 19, ' '); - mvwaddch(treescrn4, 11, 2, ' '); - mvwaddch(treescrn4, 12, 23, ' '); - - /*star */ - wstandout(treescrn4); - mvwaddch(treescrn4, 0, 12, '*'); - wstandend(treescrn4); - - /*strng1 */ - mvwaddch(treescrn4, 3, 13, ' '); - - /*strng2 */ - - /*strng3 */ - mvwaddch(treescrn4, 7, 15, ' '); - mvwaddch(treescrn4, 8, 11, ' '); - - /*strng4 */ - mvwaddch(treescrn4, 9, 16, ' '); - mvwaddch(treescrn4, 10, 12, ' '); - mvwaddch(treescrn4, 11, 8, ' '); - - /*strng5 */ - mvwaddch(treescrn4, 11, 18, ' '); - mvwaddch(treescrn4, 12, 14, ' '); - - /* treescrn5 */ - - overlay(treescrn, treescrn5); - - /*balls */ - mvwaddch(treescrn5, 3, 15, ' '); - mvwaddch(treescrn5, 10, 20, ' '); - mvwaddch(treescrn5, 12, 1, ' '); - - /*star */ - mvwaddch(treescrn5, 0, 12, '*'); - - /*strng1 */ - mvwaddch(treescrn5, 3, 11, ' '); - - /*strng2 */ - mvwaddch(treescrn5, 5, 12, ' '); - - /*strng3 */ - mvwaddch(treescrn5, 7, 14, ' '); - mvwaddch(treescrn5, 8, 10, ' '); - - /*strng4 */ - mvwaddch(treescrn5, 9, 15, ' '); - mvwaddch(treescrn5, 10, 11, ' '); - mvwaddch(treescrn5, 11, 7, ' '); - - /*strng5 */ - mvwaddch(treescrn5, 11, 17, ' '); - mvwaddch(treescrn5, 12, 13, ' '); - - /* treescrn6 */ - - overlay(treescrn, treescrn6); - - /*balls */ - mvwaddch(treescrn6, 6, 7, ' '); - mvwaddch(treescrn6, 7, 18, ' '); - mvwaddch(treescrn6, 10, 4, ' '); - mvwaddch(treescrn6, 11, 23, ' '); - - /*star */ - wstandout(treescrn6); - mvwaddch(treescrn6, 0, 12, '*'); - wstandend(treescrn6); - - /*strng1 */ - - /*strng2 */ - mvwaddch(treescrn6, 5, 11, ' '); - - /*strng3 */ - mvwaddch(treescrn6, 7, 13, ' '); - mvwaddch(treescrn6, 8, 9, ' '); - - /*strng4 */ - mvwaddch(treescrn6, 9, 14, ' '); - mvwaddch(treescrn6, 10, 10, ' '); - mvwaddch(treescrn6, 11, 6, ' '); - - /*strng5 */ - mvwaddch(treescrn6, 11, 16, ' '); - mvwaddch(treescrn6, 12, 12, ' '); - - /* treescrn7 */ - - overlay(treescrn, treescrn7); - - /*balls */ - mvwaddch(treescrn7, 3, 15, ' '); - mvwaddch(treescrn7, 6, 7, ' '); - mvwaddch(treescrn7, 7, 18, ' '); - mvwaddch(treescrn7, 10, 4, ' '); - mvwaddch(treescrn7, 11, 22, ' '); - - /*star */ - mvwaddch(treescrn7, 0, 12, '*'); - - /*strng1 */ - mvwaddch(treescrn7, 3, 12, ' '); - - /*strng2 */ - mvwaddch(treescrn7, 5, 13, ' '); - mvwaddch(treescrn7, 6, 9, ' '); - - /*strng3 */ - mvwaddch(treescrn7, 7, 15, ' '); - mvwaddch(treescrn7, 8, 11, ' '); - - /*strng4 */ - mvwaddch(treescrn7, 9, 16, ' '); - mvwaddch(treescrn7, 10, 12, ' '); - mvwaddch(treescrn7, 11, 8, ' '); - - /*strng5 */ - mvwaddch(treescrn7, 11, 18, ' '); - mvwaddch(treescrn7, 12, 14, ' '); - - look_out(150); - reindeer(); - - touchwin(w_holiday); - wrefresh(w_holiday); - wrefresh(w_del_msg); - - look_out(500); - for (loopy = 0; loopy < 100; loopy++) { - blinkit(); - } - -#ifdef NOLOOP - done(0); -#endif - } - /*NOTREACHED */ -} - -static int -boxit(void) -{ - int x = 0; - - while (x < 20) { - mvaddch(x, 7, '|'); - ++x; - } - - x = 8; - - while (x < 80) { - mvaddch(19, x, '_'); - ++x; - } - - x = 0; - - while (x < 80) { - mvaddch(22, x, '_'); - ++x; - } - - return (0); -} - -static int -seas(void) -{ - mvaddch(4, 1, 'S'); - mvaddch(6, 1, 'E'); - mvaddch(8, 1, 'A'); - mvaddch(10, 1, 'S'); - mvaddch(12, 1, 'O'); - mvaddch(14, 1, 'N'); - mvaddch(16, 1, '`'); - mvaddch(18, 1, 'S'); - - return (0); -} - -static int -greet(void) -{ - mvaddch(3, 5, 'G'); - mvaddch(5, 5, 'R'); - mvaddch(7, 5, 'E'); - mvaddch(9, 5, 'E'); - mvaddch(11, 5, 'T'); - mvaddch(13, 5, 'I'); - mvaddch(15, 5, 'N'); - mvaddch(17, 5, 'G'); - mvaddch(19, 5, 'S'); - - return (0); -} - -static int -fromwho(void) -{ - mvaddstr(21, 13, FROMWHO); - return (0); -} - -static int -tree(void) -{ - set_color(treescrn, COLOR_GREEN); - mvwaddch(treescrn, 1, 11, (chtype) '/'); - mvwaddch(treescrn, 2, 11, (chtype) '/'); - mvwaddch(treescrn, 3, 10, (chtype) '/'); - mvwaddch(treescrn, 4, 9, (chtype) '/'); - mvwaddch(treescrn, 5, 9, (chtype) '/'); - mvwaddch(treescrn, 6, 8, (chtype) '/'); - mvwaddch(treescrn, 7, 7, (chtype) '/'); - mvwaddch(treescrn, 8, 6, (chtype) '/'); - mvwaddch(treescrn, 9, 6, (chtype) '/'); - mvwaddch(treescrn, 10, 5, (chtype) '/'); - mvwaddch(treescrn, 11, 3, (chtype) '/'); - mvwaddch(treescrn, 12, 2, (chtype) '/'); - - mvwaddch(treescrn, 1, 13, (chtype) '\\'); - mvwaddch(treescrn, 2, 13, (chtype) '\\'); - mvwaddch(treescrn, 3, 14, (chtype) '\\'); - mvwaddch(treescrn, 4, 15, (chtype) '\\'); - mvwaddch(treescrn, 5, 15, (chtype) '\\'); - mvwaddch(treescrn, 6, 16, (chtype) '\\'); - mvwaddch(treescrn, 7, 17, (chtype) '\\'); - mvwaddch(treescrn, 8, 18, (chtype) '\\'); - mvwaddch(treescrn, 9, 18, (chtype) '\\'); - mvwaddch(treescrn, 10, 19, (chtype) '\\'); - mvwaddch(treescrn, 11, 21, (chtype) '\\'); - mvwaddch(treescrn, 12, 22, (chtype) '\\'); - - mvwaddch(treescrn, 4, 10, (chtype) '_'); - mvwaddch(treescrn, 4, 14, (chtype) '_'); - mvwaddch(treescrn, 8, 7, (chtype) '_'); - mvwaddch(treescrn, 8, 17, (chtype) '_'); - - mvwaddstr(treescrn, 13, 0, "//////////// \\\\\\\\\\\\\\\\\\\\\\\\"); - - mvwaddstr(treescrn, 14, 11, "| |"); - mvwaddstr(treescrn, 15, 11, "|_|"); - - unset_color(treescrn); - wrefresh(treescrn); - wrefresh(w_del_msg); - - return (0); -} - -static int -balls(void) -{ - overlay(treescrn, treescrn2); - - set_color(treescrn2, COLOR_BLUE); - mvwaddch(treescrn2, 3, 9, (chtype) '@'); - mvwaddch(treescrn2, 3, 15, (chtype) '@'); - mvwaddch(treescrn2, 4, 8, (chtype) '@'); - mvwaddch(treescrn2, 4, 16, (chtype) '@'); - mvwaddch(treescrn2, 5, 7, (chtype) '@'); - mvwaddch(treescrn2, 5, 17, (chtype) '@'); - mvwaddch(treescrn2, 7, 6, (chtype) '@'); - mvwaddch(treescrn2, 7, 18, (chtype) '@'); - mvwaddch(treescrn2, 8, 5, (chtype) '@'); - mvwaddch(treescrn2, 8, 19, (chtype) '@'); - mvwaddch(treescrn2, 10, 4, (chtype) '@'); - mvwaddch(treescrn2, 10, 20, (chtype) '@'); - mvwaddch(treescrn2, 11, 2, (chtype) '@'); - mvwaddch(treescrn2, 11, 22, (chtype) '@'); - mvwaddch(treescrn2, 12, 1, (chtype) '@'); - mvwaddch(treescrn2, 12, 23, (chtype) '@'); - - unset_color(treescrn2); - wrefresh(treescrn2); - wrefresh(w_del_msg); - return (0); -} - -static int -star(void) -{ - wattrset(treescrn2, A_BOLD | A_BLINK); - set_color(treescrn2, COLOR_YELLOW); - - mvwaddch(treescrn2, 0, 12, (chtype) '*'); - wstandend(treescrn2); - - unset_color(treescrn2); - wrefresh(treescrn2); - wrefresh(w_del_msg); - return (0); -} - -static int -strng1(void) -{ - wattrset(treescrn2, A_BOLD | A_BLINK); - set_color(treescrn2, COLOR_WHITE); - - mvwaddch(treescrn2, 3, 13, (chtype) '\''); - mvwaddch(treescrn2, 3, 12, (chtype) ':'); - mvwaddch(treescrn2, 3, 11, (chtype) '.'); - - wattroff(treescrn2, A_BOLD | A_BLINK); - unset_color(treescrn2); - - wrefresh(treescrn2); - wrefresh(w_del_msg); - return (0); -} - -static int -strng2(void) -{ - wattrset(treescrn2, A_BOLD | A_BLINK); - set_color(treescrn2, COLOR_WHITE); - - mvwaddch(treescrn2, 5, 14, (chtype) '\''); - mvwaddch(treescrn2, 5, 13, (chtype) ':'); - mvwaddch(treescrn2, 5, 12, (chtype) '.'); - mvwaddch(treescrn2, 5, 11, (chtype) ','); - mvwaddch(treescrn2, 6, 10, (chtype) '\''); - mvwaddch(treescrn2, 6, 9, (chtype) ':'); - - wattroff(treescrn2, A_BOLD | A_BLINK); - unset_color(treescrn2); - - wrefresh(treescrn2); - wrefresh(w_del_msg); - return (0); -} - -static int -strng3(void) -{ - wattrset(treescrn2, A_BOLD | A_BLINK); - set_color(treescrn2, COLOR_WHITE); - - mvwaddch(treescrn2, 7, 16, (chtype) '\''); - mvwaddch(treescrn2, 7, 15, (chtype) ':'); - mvwaddch(treescrn2, 7, 14, (chtype) '.'); - mvwaddch(treescrn2, 7, 13, (chtype) ','); - mvwaddch(treescrn2, 8, 12, (chtype) '\''); - mvwaddch(treescrn2, 8, 11, (chtype) ':'); - mvwaddch(treescrn2, 8, 10, (chtype) '.'); - mvwaddch(treescrn2, 8, 9, (chtype) ','); - - wattroff(treescrn2, A_BOLD | A_BLINK); - unset_color(treescrn2); - - wrefresh(treescrn2); - wrefresh(w_del_msg); - return (0); -} - -static int -strng4(void) -{ - wattrset(treescrn2, A_BOLD | A_BLINK); - set_color(treescrn2, COLOR_WHITE); - - mvwaddch(treescrn2, 9, 17, (chtype) '\''); - mvwaddch(treescrn2, 9, 16, (chtype) ':'); - mvwaddch(treescrn2, 9, 15, (chtype) '.'); - mvwaddch(treescrn2, 9, 14, (chtype) ','); - mvwaddch(treescrn2, 10, 13, (chtype) '\''); - mvwaddch(treescrn2, 10, 12, (chtype) ':'); - mvwaddch(treescrn2, 10, 11, (chtype) '.'); - mvwaddch(treescrn2, 10, 10, (chtype) ','); - mvwaddch(treescrn2, 11, 9, (chtype) '\''); - mvwaddch(treescrn2, 11, 8, (chtype) ':'); - mvwaddch(treescrn2, 11, 7, (chtype) '.'); - mvwaddch(treescrn2, 11, 6, (chtype) ','); - mvwaddch(treescrn2, 12, 5, (chtype) '\''); - - wattroff(treescrn2, A_BOLD | A_BLINK); - unset_color(treescrn2); - - wrefresh(treescrn2); - wrefresh(w_del_msg); - return (0); -} - -static int -strng5(void) -{ - wattrset(treescrn2, A_BOLD | A_BLINK); - set_color(treescrn2, COLOR_WHITE); - - mvwaddch(treescrn2, 11, 19, (chtype) '\''); - mvwaddch(treescrn2, 11, 18, (chtype) ':'); - mvwaddch(treescrn2, 11, 17, (chtype) '.'); - mvwaddch(treescrn2, 11, 16, (chtype) ','); - mvwaddch(treescrn2, 12, 15, (chtype) '\''); - mvwaddch(treescrn2, 12, 14, (chtype) ':'); - mvwaddch(treescrn2, 12, 13, (chtype) '.'); - mvwaddch(treescrn2, 12, 12, (chtype) ','); - - wattroff(treescrn2, A_BOLD | A_BLINK); - unset_color(treescrn2); - - /* save a fully lit tree */ - overlay(treescrn2, treescrn); - - wrefresh(treescrn2); - wrefresh(w_del_msg); - return (0); -} - -static int -blinkit(void) -{ - static int cycle; - - if (cycle > 4) { - cycle = 0; - } - - touchwin(treescrn8); - - switch (cycle) { - case 0: - overlay(treescrn3, treescrn8); - wrefresh(treescrn8); - wrefresh(w_del_msg); - break; - case 1: - overlay(treescrn4, treescrn8); - wrefresh(treescrn8); - wrefresh(w_del_msg); - break; - case 2: - overlay(treescrn5, treescrn8); - wrefresh(treescrn8); - wrefresh(w_del_msg); - break; - case 3: - overlay(treescrn6, treescrn8); - wrefresh(treescrn8); - wrefresh(w_del_msg); - break; - case 4: - overlay(treescrn7, treescrn8); - wrefresh(treescrn8); - wrefresh(w_del_msg); - break; - } - touchwin(treescrn8); - - /*ALL ON************************************************** */ - - overlay(treescrn, treescrn8); - wrefresh(treescrn8); - wrefresh(w_del_msg); - - ++cycle; - return (0); -} - -static void -deer_step(WINDOW *win, int y, int x) -{ - mvwin(win, y, x); - wrefresh(win); - wrefresh(w_del_msg); - look_out(5); -} - -static int -reindeer(void) -{ - int looper; - y_pos = 0; - - for (x_pos = 70; x_pos > 62; x_pos--) { - if (x_pos < 62) { - y_pos = 1; - } - for (looper = 0; looper < 4; looper++) { - mvwaddch(dotdeer0, y_pos, x_pos, (chtype) '.'); - wrefresh(dotdeer0); - wrefresh(w_del_msg); - werase(dotdeer0); - wrefresh(dotdeer0); - wrefresh(w_del_msg); - look_out(50); - } - } - - y_pos = 2; - - for (; x_pos > 50; x_pos--) { - for (looper = 0; looper < 4; looper++) { - - if (x_pos < 56) { - y_pos = 3; - - mvwaddch(stardeer0, y_pos, x_pos, (chtype) '*'); - wrefresh(stardeer0); - wrefresh(w_del_msg); - werase(stardeer0); - wrefresh(stardeer0); - wrefresh(w_del_msg); - } else { - mvwaddch(dotdeer0, y_pos, x_pos, (chtype) '*'); - wrefresh(dotdeer0); - wrefresh(w_del_msg); - werase(dotdeer0); - wrefresh(dotdeer0); - wrefresh(w_del_msg); - } - } - } - - x_pos = 58; - - for (y_pos = 2; y_pos < 5; y_pos++) { - - touchwin(lildeer0); - wrefresh(lildeer0); - wrefresh(w_del_msg); - - for (looper = 0; looper < 4; looper++) { - deer_step(lildeer3, y_pos, x_pos); - deer_step(lildeer2, y_pos, x_pos); - deer_step(lildeer1, y_pos, x_pos); - deer_step(lildeer2, y_pos, x_pos); - deer_step(lildeer3, y_pos, x_pos); - - touchwin(lildeer0); - wrefresh(lildeer0); - wrefresh(w_del_msg); - - x_pos -= 2; - } - } - - x_pos = 35; - - for (y_pos = 5; y_pos < 10; y_pos++) { - - touchwin(middeer0); - wrefresh(middeer0); - wrefresh(w_del_msg); - - for (looper = 0; looper < 2; looper++) { - deer_step(middeer3, y_pos, x_pos); - deer_step(middeer2, y_pos, x_pos); - deer_step(middeer1, y_pos, x_pos); - deer_step(middeer2, y_pos, x_pos); - deer_step(middeer3, y_pos, x_pos); - - touchwin(middeer0); - wrefresh(middeer0); - wrefresh(w_del_msg); - - x_pos -= 3; - } - } - - look_out(300); - - y_pos = 1; - - for (x_pos = 8; x_pos < 16; x_pos++) { - deer_step(bigdeer4, y_pos, x_pos); - deer_step(bigdeer3, y_pos, x_pos); - deer_step(bigdeer2, y_pos, x_pos); - deer_step(bigdeer1, y_pos, x_pos); - deer_step(bigdeer2, y_pos, x_pos); - deer_step(bigdeer3, y_pos, x_pos); - deer_step(bigdeer4, y_pos, x_pos); - deer_step(bigdeer0, y_pos, x_pos); - } - - --x_pos; - - for (looper = 0; looper < 6; looper++) { - deer_step(lookdeer4, y_pos, x_pos); - deer_step(lookdeer3, y_pos, x_pos); - deer_step(lookdeer2, y_pos, x_pos); - deer_step(lookdeer1, y_pos, x_pos); - deer_step(lookdeer2, y_pos, x_pos); - deer_step(lookdeer3, y_pos, x_pos); - deer_step(lookdeer4, y_pos, x_pos); - } - - deer_step(lookdeer0, y_pos, x_pos); - - for (; y_pos < 10; y_pos++) { - for (looper = 0; looper < 2; looper++) { - deer_step(bigdeer4, y_pos, x_pos); - deer_step(bigdeer3, y_pos, x_pos); - deer_step(bigdeer2, y_pos, x_pos); - deer_step(bigdeer1, y_pos, x_pos); - deer_step(bigdeer2, y_pos, x_pos); - deer_step(bigdeer3, y_pos, x_pos); - deer_step(bigdeer4, y_pos, x_pos); - } - deer_step(bigdeer0, y_pos, x_pos); - } - - --y_pos; - - deer_step(lookdeer3, y_pos, x_pos); - return (0); -} - -static RETSIGTYPE -done(int sig GCC_UNUSED) -{ - signal(SIGINT, done); - signal(SIGTERM, done); -#if !defined DOS && !defined OS2 - signal(SIGHUP, done); - signal(SIGQUIT, done); -#endif - move(LINES - 1, 0); - refresh(); - endwin(); - curs_set(1); - ExitProgram(EXIT_SUCCESS); -} diff --git a/src/libs/ncurses/test/xterm-16color.dat b/src/libs/ncurses/test/xterm-16color.dat deleted file mode 100644 index 728da92a11..0000000000 --- a/src/libs/ncurses/test/xterm-16color.dat +++ /dev/null @@ -1,26 +0,0 @@ -# $Id: xterm-16color.dat,v 1.1 2004/05/22 23:14:42 tom Exp $ -# This illustrates the predefined colors for XFree86 xterm's "xterm-16color". -# If you set $TERM to "xterm-88color" (and have xterm compiled to support the -# 88-color or 256-color feature), you can use the ncurses 'd' screen to -# manipulate the colors shown in the screen. The 'd' screen is limited to -# the first 16 colors, and xterm happens to use the same first 16 colors in -# the extended color models that support initc. -# -# The colors shown are for xterm patch #189. -scale:255 -0: 0 0 0 black -1: 205 0 0 red3 -2: 0 205 0 green3 -3: 205 205 0 yellow3 -4: 30 144 255 DodgerBlue1 -5: 205 0 205 magenta3 -6: 0 205 205 cyan3 -7: 229 229 229 gray90 -8: 127 127 127 gray50 -9: 255 0 0 red -10: 0 255 0 green -11: 255 255 0 yellow -12: 99 184 255 SteelBlue1 -13: 255 0 255 magenta -14: 0 255 255 cyan -15: 255 255 255 white diff --git a/src/libs/ncurses/test/xterm-88color.dat b/src/libs/ncurses/test/xterm-88color.dat deleted file mode 100644 index 049bc021ae..0000000000 --- a/src/libs/ncurses/test/xterm-88color.dat +++ /dev/null @@ -1,98 +0,0 @@ -# $Id: xterm-88color.dat,v 1.1 2005/01/28 21:11:53 tom Exp $ -# This illustrates the predefined colors for XFree86 xterm's "xterm-16color". -# If you set $TERM to "xterm-88color" (and have xterm compiled to support the -# 88-color or 256-color feature), you can use the ncurses 'd' screen to -# manipulate the colors shown in the screen. The 'd' screen is limited to -# the first 16 colors, and xterm happens to use the same first 16 colors in -# the extended color models that support initc. -# -# The colors shown are for xterm patch #189. -scale:255 -0: 0 0 0 black -1: 205 0 0 red3 -2: 0 205 0 green3 -3: 205 205 0 yellow3 -4: 30 144 255 DodgerBlue1 -5: 205 0 205 magenta3 -6: 0 205 205 cyan3 -7: 229 229 229 gray90 -8: 127 127 127 gray50 -9: 255 0 0 red -10: 0 255 0 green -11: 255 255 0 yellow -12: 99 184 255 SteelBlue1 -13: 255 0 255 magenta -14: 0 255 255 cyan -15: 255 255 255 white -16: 0 0 0 -17: 0 0 139 -18: 0 0 205 -19: 0 0 255 -20: 0 139 0 -21: 0 139 139 -22: 0 139 205 -23: 0 139 255 -24: 0 205 0 -25: 0 205 139 -26: 0 205 205 -27: 0 205 255 -28: 0 255 0 -29: 0 255 139 -30: 0 255 205 -31: 0 255 255 -32: 139 0 0 -33: 139 0 139 -34: 139 0 205 -35: 139 0 255 -36: 139 139 0 -37: 139 139 139 -38: 139 139 205 -39: 139 139 255 -40: 139 205 0 -41: 139 205 139 -42: 139 205 205 -43: 139 205 255 -44: 139 255 0 -45: 139 255 139 -46: 139 255 205 -47: 139 255 255 -48: 205 0 0 -49: 205 0 139 -50: 205 0 205 -51: 205 0 255 -52: 205 139 0 -53: 205 139 139 -54: 205 139 205 -55: 205 139 255 -56: 205 205 0 -57: 205 205 139 -58: 205 205 205 -59: 205 205 255 -60: 205 255 0 -61: 205 255 139 -62: 205 255 205 -63: 205 255 255 -64: 255 0 0 -65: 255 0 139 -66: 255 0 205 -67: 255 0 255 -68: 255 139 0 -69: 255 139 139 -70: 255 139 205 -71: 255 139 255 -72: 255 205 0 -73: 255 205 139 -74: 255 205 205 -75: 255 205 255 -76: 255 255 0 -77: 255 255 139 -78: 255 255 205 -79: 255 255 255 -80: 46 46 46 -81: 92 92 92 -82: 113 113 113 -83: 139 139 139 -84: 162 162 162 -85: 185 185 185 -86: 208 208 208 -87: 231 231 231